@charset "UTF-8";
/*! 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] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  -moz-appearance: none;
       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;
}

:root {
  --main: #00469b;
  --base: #F1F8FA;
  --accent: #009e41;
  --sub: #ffe900;
  --sub2: #f7931e;
  --sub3: #df0011;
  --sub4: #b09035;
  --main-bg: #F1F8FA;
  --base-bg: #f5f5f5;
  --accent-bg: #dedddd;
  --sub-bg: #595757;
  --text: #333333;
  --sub-text: #595757;
  --line: #e6e6e6;
  --sub-line: #c6e5ff;
  --line-bg: #595757;
  --ruled-line: #595757;
  --link: #00469b;
  --textlink: #00469b;
  --black: black;
  --black-rgb: 0, 0, 0;
  --white: white;
  --white-rgb: 255, 255, 255;
  --main-rgb: 0, 70, 155;
  --accent-rgb: 0, 158, 65;
  --caution: #c1272d;
  --sns-facebook: #1877F2;
  --sns-line: #06C755;
  --grad: #82d9f4 30%, #c2e5af 100%;
  --en-font: 'LeagueSpartan', sans-serif;
  --box-bg: #f2f6fa;
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff"), url("../fonts/NotoSansJP-Regular.eot") format("eot");
}
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: bold;
  src: url("../fonts/NotoSansJP-SemiBold.woff2") format("woff"), url("../fonts/NotoSansJP-SemiBold.eot") format("eot");
}
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff2") format("woff"), url("../fonts/NotoSansJP-Bold.eot") format("eot");
}
@font-face {
  font-family: "LeagueSpartan";
  font-style: normal;
  font-weight: 300;
  src: url("../fonts/LeagueSpartan-Light.woff2") format("woff"), url("../fonts/LeagueSpartan-Light.eot") format("eot");
}
@font-face {
  font-family: "LeagueSpartan";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/LeagueSpartan-Regular.woff2") format("woff"), url("../fonts/LeagueSpartan-Regular.eot") format("eot");
}
@font-face {
  font-family: "LeagueSpartan";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/LeagueSpartan-Bold.woff2") format("woff"), url("../fonts/LeagueSpartan-Bold.eot") format("eot");
}
.regular, body {
  font-family: "NotoSansJP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", "YuGothic", "YuGothic M", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
}

@counter-style list-dot {
  system: cyclic;
  symbols: ・;
  suffix: " ";
  fallback: disc;
}
html {
  font-size: 10px !important;
  scroll-padding-top: 7rem;
}
@media screen and (min-width: 768px) {
  html {
    scroll-padding-top: 12.6rem;
  }
}

body {
  font-size: 1.6rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
  color: var(--text);
}
@media screen and (min-width: 768px) {
  body {
    min-width: 1240px;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.l-inner {
  width: 100%;
  max-width: 1240px;
  padding-left: 2rem;
  padding-right: 2rem;
  margin: 0 auto;
}
.l-inner__narrow {
  max-width: calc(1240px - 17.6rem);
}
.l-inner__wide {
  max-width: 100%;
}

img {
  max-width: 100%;
}

.grecaptcha-badge {
  visibility: hidden;
}

.l-header {
  position: relative;
}
.l-header__inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  background-color: rgba(var(--white-rgb), 0.8);
  transition: top 0.8s ease;
}
@media screen and (min-width: 768px) {
  .l-header__inner.is-fixed {
    position: fixed;
    top: -100%;
    left: 0;
    z-index: 999;
    box-shadow: 0 2px 8px rgba(var(--black-rgb), 0.1);
    backdrop-filter: blur(12px);
  }
}
@media screen and (min-width: 768px) {
  .l-header__inner.is-show {
    top: 0;
  }
}
@media screen and (min-width: 768px) {
  .l-header__inner.is-open {
    height: 100%;
  }
}
.l-header__logo {
  height: 6rem;
  display: flex;
  align-items: center;
  margin-left: 2rem;
}
@media screen and (min-width: 768px) {
  .l-header__logo {
    height: 11rem;
  }
}
@media screen and (min-width: 1240px) {
  .l-header__logo {
    margin-left: 4%;
  }
}
.l-header__title {
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .l-header__title {
    width: 100%;
    max-width: 36rem;
  }
}
.l-header__logoLink {
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 2/1;
  background: url("../img/common/logo-sp.svg") no-repeat center/contain;
  display: block;
}
@media screen and (min-width: 768px) {
  .l-header__logoLink {
    aspect-ratio: 7/1;
    background: url("../img/common/logo.svg") no-repeat center/contain;
  }
}
.l-header__main {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-left: auto;
}
.l-header__util {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
.l-header__utilNav {
  height: 6rem;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 2rem;
  margin: 1rem 2rem 0 0;
}
@media screen and (max-width: 1200px) {
  .l-header__utilNav {
    visibility: hidden;
  }
}
@media screen and (max-width: 767px) {
  .l-header__utilNav {
    display: none;
  }
}
.l-header__utilNav li a {
  font-size: 1.3rem;
  transition: 0.3s;
  font-feature-settings: "palt";
}
.l-header__utilNav li a:hover {
  color: var(--main);
}
.l-header__navBg {
  opacity: 0;
  transition: 0.5s;
}
.l-header__lang {
  margin: 1rem 9rem 0 0;
  visibility: hidden;
}
.l-header__primaryNav {
  margin-top: 1rem;
}
@media screen and (max-width: 1200px) {
  .l-header__primaryNav {
    visibility: hidden;
  }
}
@media screen and (max-width: 767px) {
  .l-header__primaryNav {
    display: none;
  }
}
.l-header__toggle {
  width: 6rem;
  height: 6rem;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 101;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .l-header__toggle {
    border-radius: 100vh;
    top: 1rem;
    right: 17.5rem;
  }
}
.l-header__toggle div {
  width: 2.8rem;
  height: 2.3rem;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
}
.l-header__toggle div::before, .l-header__toggle div::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0.3rem;
  background-color: var(--main);
  transition: all 0.2s;
}
.l-header__toggle div::after {
  top: initial;
  bottom: 0;
}
.l-header__toggle div span {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.3rem;
  margin: auto;
  background-color: var(--main);
  transition: all 0.2s;
}
.l-header__gnav {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  padding-bottom: 5rem;
  z-index: 100;
  background-color: var(--main-bg);
  overflow-y: scroll;
  visibility: hidden;
  opacity: 0;
  display: none;
  transition: 0.5s cubic-bezier(0.11, 0.24, 0.64, 1);
}
@media screen and (min-width: 768px) {
  .l-header__gnav {
    height: auto;
    margin: auto;
    border-radius: 30px;
    border-top-right-radius: 0;
    padding: 12rem 8rem 8rem;
    background-color: var(--white);
    overflow: initial;
    position: relative;
  }
}
.l-header__gnavLogo {
  width: 26rem;
  padding: 1.5rem 0 1.5rem 2rem;
}
@media screen and (min-width: 768px) {
  .l-header__gnavLogo {
    width: 36rem;
    padding: 0;
    position: absolute;
    bottom: 8rem;
    left: 8rem;
  }
}
.l-header__gnavMenu {
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .l-header__gnavMenu {
    padding: 0;
  }
}
@media screen and (min-width: 768px) {
  .l-header__gnavList {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-flow: dense;
    gap: 2rem 5rem;
  }
}
.l-header__gnavList > li {
  position: relative;
  z-index: 1;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .l-header__gnavList > li:nth-child(1) {
    grid-row: span 1;
  }
  .l-header__gnavList > li:nth-child(2) {
    grid-row: span 3;
  }
  .l-header__gnavList > li:nth-child(3) {
    grid-row: span 2;
  }
  .l-header__gnavList > li:nth-child(4) {
    grid-row: span 1;
  }
  .l-header__gnavList > li:nth-child(5) {
    grid-row: span 1;
  }
  .l-header__gnavList > li:nth-child(6) {
    grid-row: span 1;
  }
  .l-header__gnavList > li:nth-child(7) {
    grid-row: span 1;
  }
  .l-header__gnavList > li:nth-child(8) {
    grid-row: span 1;
  }
}
.l-header__gnavList > li > a {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--main);
  padding: 1.5rem 3.5rem 1.5rem 2rem;
  display: block;
  background-color: var(--white);
  border-radius: 5px;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .l-header__gnavList > li > a {
    padding: 1.5rem 0;
  }
  .l-header__gnavList > li > a:hover {
    transform: translateX(0.5rem);
  }
}
@media screen and (max-width: 767px) {
  .l-header__gnavList > li.has_child::before {
    content: "";
    width: 1rem;
    height: 1rem;
    position: absolute;
    top: 2.2rem;
    right: 2rem;
    border-top: 2px solid var(--main);
    border-right: 2px solid var(--main);
    transform: rotate(135deg);
    transition: all 0.3s;
  }
  .l-header__gnavList > li.has_child.active::before {
    transform: rotate(-45deg);
  }
  .l-header__gnavList > li.has_child.active > a {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
}
.l-header__gnavList > li.has_child ul {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  background-color: var(--white);
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
  padding: 0 2rem 2rem;
  visibility: visible;
  opacity: 1;
  display: none;
}
@media screen and (min-width: 768px) {
  .l-header__gnavList > li.has_child ul {
    padding: 0;
    display: block;
    opacity: 1;
  }
}
.l-header__gnavList > li.has_child ul li {
  border-bottom: 1px dotted var(--line);
}
.l-header__gnavList > li.has_child ul li:nth-child(1) {
  border-top: 1px solid var(--line);
}
.l-header__gnavList > li.has_child ul li a {
  font-size: 1.4rem;
  color: var(--text);
  padding: 1rem 0;
  display: block;
  transition: 0.3s;
}
.l-header__gnavList > li.has_child ul li a:hover, .l-header__gnavList > li.has_child ul li a:active {
  color: var(--main);
  transform: translateX(0.5rem);
}
.l-header__gnavList > li.other ul li {
  padding: 1rem 0;
}
.l-header__gnavList > li.other ul li a {
  font-size: 1.5rem;
  padding: 0 2rem;
  display: block;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .l-header__gnavList > li.other ul li a {
    padding: 0;
  }
  .l-header__gnavList > li.other ul li a:hover {
    color: var(--main);
    transform: translateX(0.5rem);
  }
}
@media screen and (max-width: 767px) {
  .l-header__gnavList li:hover > ul,
  .l-header__gnavList li:active > ul {
    visibility: visible;
    opacity: 1;
  }
}
.l-header__gnavMatool {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .l-header__gnavMatool {
    margin-top: 5rem;
    margin-left: 38rem;
    display: flex;
    justify-content: flex-end;
  }
}
.l-header__donate {
  width: 9rem;
  height: 6rem;
  margin-right: 6rem;
}
@media screen and (min-width: 768px) {
  .l-header__donate {
    width: 16.5rem;
    height: 11rem;
    margin-right: 0;
    transition: 0.5s;
  }
  .l-header__donate:hover {
    height: 12rem;
    opacity: 0.7;
  }
}
.l-header__donateLink {
  width: 100%;
  height: 100%;
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  color: var(--sub);
  background-color: var(--main);
  border-bottom-left-radius: 10px;
  padding-top: 1rem;
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .l-header__donateLink {
    font-size: 1.8rem;
    border-bottom-left-radius: 30px;
    padding-top: 1.5rem;
    transition: 0.5s;
  }
  .l-header__donateLink:hover {
    padding-top: 2.5rem;
  }
}
.l-header__donateLink::after {
  content: "";
  width: 100%;
  aspect-ratio: 165/110;
  background: url("../img/common/donation-btn-bg.svg") no-repeat bottom center/contain;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .body.is-nav {
    overflow: hidden;
  }
}
.body.is-nav .l-header {
  position: initial;
}
@media screen and (min-width: 768px) {
  .body.is-nav .l-header__nav {
    overflow-y: auto;
    width: 100%;
    min-width: 124rem;
    position: absolute;
    padding: 3rem;
  }
}
@media screen and (min-width: 1200px) {
  .body.is-nav .l-header__nav {
    height: 100%;
  }
}
@media screen and (min-width: 768px) {
  .body.is-nav .l-header__navBg {
    width: 100%;
    height: 100%;
    background: rgba(var(--black-rgb), 0.6);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    cursor: pointer;
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .body.is-nav .l-header__toggle {
    position: fixed;
  }
}
@media screen and (min-width: 768px) {
  .body.is-nav .l-header__toggle {
    top: 5rem;
    right: 21.5rem;
  }
}
.body.is-nav .l-header__toggle div::before, .body.is-nav .l-header__toggle div::after {
  transform: translateY(10px) rotate(-45deg);
}
.body.is-nav .l-header__toggle div::after {
  transform: translateY(-10px) rotate(45deg);
}
.body.is-nav .l-header__toggle div span {
  display: none;
}
.body.is-nav .l-header__gnav {
  opacity: 1;
  display: block;
  visibility: visible;
  transition: 0.3s cubic-bezier(0.11, 0.24, 0.64, 1);
}
@media screen and (min-width: 768px) {
  .body.is-nav .l-header__donate {
    position: absolute;
    top: 3rem;
    right: 3rem;
    z-index: 100;
  }
}

.l-header__nav {
  transition: top 0.8s ease;
}
@media screen and (max-width: 767px) {
  .l-header__nav.is-fixed {
    position: fixed;
    right: 0;
    top: -100%;
    z-index: 1000;
  }
}
@media screen and (max-width: 767px) {
  .l-header__nav.is-show {
    top: 0;
  }
}

.l-header-form__logo {
  max-width: 36rem;
  margin: 2rem auto 0;
  padding: 0 5rem;
  box-sizing: content-box;
}
.l-header-form__title {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .l-header-form__title {
    font-size: 3.4rem;
    margin-top: 10rem;
  }
}

.l-footer__inner {
  padding: 0 2rem;
}
@media screen and (min-width: 768px) {
  .l-footer__inner {
    padding: 0 9rem;
    max-width: 140rem;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px) {
  .l-footer__main {
    display: flex;
    justify-content: space-between;
  }
}
.l-footer__logo {
  max-width: 30rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .l-footer__logo {
    margin: 0;
  }
}
.l-footer__address {
  margin-top: 1.5rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .l-footer__address {
    display: flex;
    align-items: end;
    gap: 2rem;
  }
}
.l-footer__addressMap {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .l-footer__addressMap {
    text-align: center;
  }
}
.l-footer__addressLink {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-footer__addressLink {
    margin: 0;
  }
}
.l-footer__addressLink a {
  width: -moz-fit-content;
  width: fit-content;
  font-family: var(--en-font);
  font-size: 1.3rem;
  line-height: none;
  border: 1px solid var(--main);
  border-radius: 3px;
  color: var(--main);
  padding: 0.1rem 1.5rem;
  display: flex;
  align-items: center;
  transition: 0.3s;
}
.l-footer__addressLink a svg {
  width: 1.6rem;
  aspect-ratio: 10/15;
}
.l-footer__addressLink a:hover {
  color: var(--white);
  background-color: var(--main);
}
.l-footer__matool {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .l-footer__matool {
    margin-top: 4rem;
  }
}
.l-footer__nav {
  margin-top: 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-footer__nav {
    text-align: left;
  }
}
.l-footer__nav li {
  padding: 0.5rem 0;
}
@media screen and (min-width: 768px) {
  .l-footer__nav li {
    display: inline-block;
    padding: 0 1rem 0 0;
  }
  .l-footer__nav li + li::before {
    content: "";
    width: 0.1rem;
    height: 1rem;
    background-color: var(--text);
    display: inline-block;
    margin-right: 1rem;
  }
}
.l-footer__nav li a {
  font-size: 1.5rem;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .l-footer__nav li a {
    font-size: 1.4rem;
  }
}
.l-footer__nav li a:hover {
  color: var(--main);
}
.l-footer__lang {
  visibility: hidden;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .l-footer__lang {
    margin: 2rem 0 0;
  }
}
.l-footer__donate {
  width: 25rem;
  margin: 5rem auto 0;
}
@media screen and (min-width: 768px) {
  .l-footer__donate {
    margin: 0 0 0 3rem;
  }
}
.l-footer__donate a {
  font-size: 1.5rem;
}
.l-footer__bottom {
  margin: 6rem 2rem 0;
  color: var(--white);
  background-color: var(--main);
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  padding: 2rem;
  text-align: center;
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .l-footer__bottom {
    height: 7.5rem;
    text-align: left;
    margin: 6rem 3% 0;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    flex-direction: initial;
    justify-content: space-between;
    align-items: center;
  }
}
.l-footer__copyright {
  font-size: 1.1rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .l-footer__copyright {
    margin-top: 0;
  }
}
.l-footer__policyLinks {
  font-size: 1.2rem;
}
.l-footer__policyLinks li {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .l-footer__policyLinks li {
    display: inline-block;
    margin: 0 0 0 2rem;
  }
}
.l-footer__policyLinks li a:hover {
  text-decoration: underline;
}

.l-footer-form {
  padding: 2rem 0;
}
@media screen and (min-width: 768px) {
  .l-footer-form {
    padding: 3rem 0;
  }
}
.l-footer-form__copyright {
  font-size: 1.1rem;
  text-align: center;
}

.l-main {
  margin-bottom: 10rem;
}
@media screen and (min-width: 768px) {
  .l-main {
    margin-bottom: 15rem;
  }
}

.l-section {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .l-section {
    margin-top: 12rem;
  }
}

.l-floating {
  position: fixed;
  right: 0;
  bottom: 5rem;
  z-index: 10;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.l-floating.is-closed {
  transform: translateX(85%);
}
@media screen and (min-width: 768px) {
  .l-floating.is-closed {
    transform: translateX(30rem);
  }
}

.c-logo {
  white-space: nowrap;
  text-indent: 100%;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 7/1;
  background: url("../img/common/logo.svg") no-repeat center/contain;
  display: block;
}

.c-topTitle {
  padding-left: 3rem;
  margin-top: 3rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-topTitle {
    padding-left: 4rem;
    margin-top: 4rem;
  }
}
.c-topTitle::before {
  content: "";
  width: 6rem;
  height: 0.2rem;
  background-color: var(--main);
  display: block;
  transform: rotate(120deg);
  position: absolute;
  top: 0;
  left: -1rem;
}
@media screen and (min-width: 768px) {
  .c-topTitle::before {
    width: 9rem;
    left: -2rem;
  }
}
.c-topTitle span {
  display: block;
}
.c-topTitle__en {
  font-family: var(--en-font);
  font-size: 3rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .c-topTitle__en {
    font-size: 4.6rem;
  }
}
.c-topTitle__ja {
  font-size: 1rem;
  font-weight: 400;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .c-topTitle__ja {
    font-size: 1.6rem;
  }
}

.c-heading {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-heading {
    font-size: 3rem;
  }
}
.c-heading::after {
  content: "";
  width: 0.1rem;
  height: 4rem;
  margin: 1rem auto 0;
  background-color: var(--main);
  display: block;
}
@media screen and (min-width: 768px) {
  .c-heading::after {
    height: 6rem;
    margin-top: 2rem;
  }
}
.c-heading__white {
  color: var(--white);
}
.c-heading__white::after {
  background-color: var(--white);
}

.c-btn {
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}
.c-btn:hover {
  color: var(--main);
}
.c-btn:hover span {
  transform: translateX(1rem);
}
.c-btn span {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 100vh;
  background-color: var(--main);
  display: inline-block;
  margin-left: 1rem;
  position: relative;
  transition: 0.3s;
}
.c-btn span::before {
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  right: 1.5rem;
  top: 1.3rem;
  border-top: 0.1rem solid var(--white);
  border-right: 0.1rem solid var(--white);
  transform: rotate(45deg);
  transition: all 0.3s;
}
.c-btn__white {
  color: var(--white);
}
.c-btn__white:hover {
  color: var(--white);
  opacity: 0.7;
}
.c-btn__white span {
  background-color: var(--white);
}
.c-btn__white span::before {
  border-top: 0.1rem solid var(--main);
  border-right: 0.1rem solid var(--main);
}

.c-oval-btn {
  width: 100%;
  min-height: 6rem;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  color: var(--white);
  background-color: var(--main);
  border-radius: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 1rem 3rem 1rem 4rem;
  transition: 0.3s;
}
.c-oval-btn span {
  min-width: 3.5rem;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 100vh;
  background-color: var(--white);
  display: inline-block;
  margin-left: 1rem;
  position: relative;
  transition: 0.3s;
}
.c-oval-btn span::before {
  content: "";
  width: 1rem;
  height: 1rem;
  position: absolute;
  right: 1.5rem;
  top: 1.3rem;
  border-top: 0.1rem solid var(--main);
  border-right: 0.1rem solid var(--main);
  transform: rotate(45deg);
  transition: all 0.3s;
}
.c-oval-btn__side {
  display: grid;
  grid-template-columns: 1fr 4.5rem;
  padding: 1rem 3rem;
}
.c-oval-btn__line {
  border: 0.1rem solid var(--main);
  color: var(--main);
  background-color: var(--white);
}
.c-oval-btn__line span {
  background-color: var(--main);
}
.c-oval-btn__line span::before {
  border-color: var(--white);
}
.c-oval-btn__green {
  background-color: var(--accent);
}
.c-oval-btn__green span::before {
  border-color: var(--accent);
}
.c-oval-btn__red {
  background-color: var(--sub3);
}
.c-oval-btn__red span::before {
  border-color: var(--sub3);
}
.c-oval-btn__white {
  color: var(--main);
  background-color: var(--white);
}
.c-oval-btn__white span {
  background-color: var(--main);
}
.c-oval-btn__white span::before {
  border-color: var(--white);
}
.c-oval-btn:hover {
  opacity: 0.8;
}
.c-oval-btn:hover span {
  transform: translateX(1rem);
}

.c-btn-wrap {
  max-width: 32rem;
  margin: 5rem auto 0;
}
@media screen and (min-width: 768px) {
  .c-btn-wrap {
    margin-top: 6rem;
  }
}

.c-slick-btn {
  width: -moz-min-content;
  width: min-content;
  display: flex;
  gap: 2rem;
}
.c-slick-btn__arrow {
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 100vh;
  border: 0.1rem solid var(--main);
  display: block;
  position: relative;
  cursor: pointer;
  transition: 0.3s;
}
.c-slick-btn__arrow:hover {
  opacity: 0.7;
}
.c-slick-btn__arrow::before {
  content: "";
  width: 1.3rem;
  height: 1.3rem;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1.8rem;
  margin: auto 0;
  border-top: 0.1rem solid var(--main);
  border-right: 0.1rem solid var(--main);
  transform: rotate(45deg);
  transition: all 0.3s;
}
.c-slick-btn__prev::before {
  transform: rotate(-135deg);
  right: 1.2rem;
}

.c-breadcrumb__list {
  margin-top: 1rem;
}
.c-breadcrumb__item {
  font-size: 1rem;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .c-breadcrumb__item {
    font-size: 1.2rem;
  }
}
.c-breadcrumb__item + .c-breadcrumb__item {
  padding-left: 0.2rem;
}
.c-breadcrumb__item + .c-breadcrumb__item::before {
  content: "";
  width: 1rem;
  height: 0.1rem;
  background-color: var(--sub-text);
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.5rem;
}
.c-breadcrumb__item a {
  color: var(--main);
}

.c-blue {
  color: var(--main);
}
.c-blue__bold {
  font-weight: bold;
}

.c-green {
  color: var(--accent);
}

.c-yellow {
  color: var(--sub);
}

.c-red {
  color: var(--sub3);
}

.c-textlink {
  color: var(--main);
  text-decoration: underline;
}
.c-textlink:hover {
  text-decoration: none;
}

.c-head-modal {
  width: 100%;
  height: 100%;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background-color: rgba(var(--black-rgb), 0.7);
  transition: 0.5s;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.c-head-modal.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.c-head-modal__inner {
  width: 80%;
  background-color: var(--white);
  border-radius: 1rem;
  padding: 6rem 8rem 4rem;
  margin: 10% auto;
}
.c-head-modal__title {
  font-size: 2.8rem;
  font-weight: bold;
  color: var(--main);
}
.c-head-modal__lead {
  margin-top: 1.5rem;
}
.c-head-modal__list {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 6rem;
}
.c-head-modal__list li {
  border-bottom: 0.1rem solid var(--line);
}
.c-head-modal__list li a {
  font-weight: bold;
  padding: 1rem 0;
  display: block;
  position: relative;
  transition: 0.3s;
}
.c-head-modal__list li a:hover {
  color: var(--main);
}
.c-head-modal__list li a::before {
  content: "";
  width: 1rem;
  height: 1rem;
  border: 0;
  border-top: 0.2rem solid var(--ruled-line);
  border-right: 0.2rem solid var(--ruled-line);
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 1rem;
  bottom: 0;
  margin: auto;
}
.c-head-modal__close {
  width: 20rem;
  line-height: 5rem;
  text-align: center;
  border-radius: 100vh;
  color: var(--white);
  background-color: var(--sub-bg);
  margin: 6rem auto 0;
  padding-left: 3rem;
  display: block;
  transition: 0.3s;
  position: relative;
}
.c-head-modal__close:hover {
  background-color: var(--main);
}
.c-head-modal__close::before, .c-head-modal__close::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -7rem;
  right: 0;
  bottom: 0;
  margin: auto;
  background-color: var(--white);
  transform: rotate(45deg);
}
.c-head-modal__close::before {
  width: 0.3rem;
  height: 2.5rem;
}
.c-head-modal__close::after {
  width: 2.5rem;
  height: 0.3rem;
}

.c-cta {
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-cta {
    display: grid;
    grid-template-columns: 54% 1fr;
    gap: 6rem;
    align-items: center;
  }
}
.c-cta::after {
  content: "";
  width: calc(100% + 2rem);
  height: 85%;
  background-color: var(--main-bg);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  border-top-right-radius: 3rem;
  margin-left: -2rem;
}
@media screen and (min-width: 768px) {
  .c-cta::after {
    width: calc(100% - 20rem);
    height: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .c-cta::after {
    width: calc(50vw + 40rem);
    margin-left: calc(50% - 50vw);
  }
}
.c-cta__block {
  padding: 4rem 3rem;
}
@media screen and (min-width: 768px) {
  .c-cta__block {
    padding: 8rem 0;
  }
}
.c-cta__heading {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-cta__heading {
    font-size: 3rem;
  }
}
.c-cta__lead {
  font-size: 2rem;
  font-weight: bold;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .c-cta__lead {
    font-size: 2.4rem;
    margin-top: 2rem;
  }
}
.c-cta__text {
  margin-top: 1rem;
}
.c-cta__btn {
  margin-top: 3rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .c-cta__btn {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .c-cta__btn a {
    letter-spacing: normal;
  }
}
.c-cta__img {
  width: 80%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .c-cta__img {
    width: 100%;
  }
}
.c-cta__img img {
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .c-cta__img img {
    border-radius: 2rem;
  }
}

.c-contact-cta__title {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-contact-cta__title {
    font-size: 3rem;
  }
}
.c-contact-cta__text {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-contact-cta__text {
    text-align: center;
  }
}
.c-contact-cta__btn {
  max-width: 35rem;
  margin: 3rem auto 0;
}
@media screen and (min-width: 768px) {
  .c-contact-cta__btn {
    margin-top: 5rem;
  }
}

.c-donate {
  overflow: hidden;
  padding-bottom: 1rem;
}
.c-donate__headwrap {
  padding: 8rem 0 6rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-donate__headwrap {
    padding: 8rem 0;
  }
}
.c-donate__headwrap::before {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: var(--main);
  margin: 0 calc(50% - 50vw);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.c-donate__heading {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  color: var(--white);
}
@media screen and (min-width: 768px) {
  .c-donate__heading {
    font-size: 3.6rem;
  }
}
.c-donate__lead {
  color: var(--white);
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-donate__lead {
    font-size: 1.8rem;
    text-align: center;
    margin-top: 3rem;
  }
}
.c-donate__list {
  display: grid;
  gap: 2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-donate__list {
    display: flex;
    justify-content: space-around;
    gap: 6rem;
  }
}
.c-donate__list::before {
  content: "";
  width: 100vw;
  height: 30%;
  background-color: var(--main);
  margin: 0 calc(50% - 50vw);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .c-donate__list::before {
    height: 35rem;
  }
}
.c-donate__item {
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  padding: 2.5rem 2.5rem 3.5rem;
}
@media screen and (min-width: 768px) {
  .c-donate__item {
    width: 48rem;
    padding: 4.5rem 4.5rem 6rem;
    display: flex;
    flex-direction: column;
  }
}
.c-donate__img img {
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .c-donate__img img {
    border-radius: 10px;
  }
}
.c-donate__title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-donate__title {
    font-size: 2.4rem;
    margin-top: 1.5rem;
    letter-spacing: normal;
  }
}
.c-donate__text {
  margin-top: 1rem;
}
.c-donate__btn {
  max-width: 35rem;
  margin: 3rem auto 0;
}
@media screen and (min-width: 768px) {
  .c-donate__btn {
    width: 100%;
    margin-top: auto;
    padding-top: 5rem;
  }
}
.c-donate__link {
  margin-top: 5rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .c-donate__link {
    margin-top: 6rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5rem;
  }
}
.c-donate__link li {
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .c-donate__link li {
    width: 38rem;
    display: flex;
    flex-direction: column;
  }
}
.c-donate__link--column {
  flex-direction: column;
  align-items: center;
}
.c-donate__linkLead {
  font-weight: bold;
  text-align: center;
  padding-bottom: 0.5rem;
  margin-bottom: auto;
}

.c-activity-nav {
  padding: 2.5rem 2.5rem 3.5rem;
  border-radius: 1rem;
  background-color: var(--base-bg);
}
@media screen and (min-width: 768px) {
  .c-activity-nav {
    padding: 3rem 4rem 3rem 0;
    display: grid;
    grid-template-columns: 18rem 1fr;
    align-items: center;
  }
}
.c-activity-nav__title {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-activity-nav__title {
    font-size: 2rem;
  }
}
.c-activity-nav__list {
  margin-top: 1.5rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .c-activity-nav__list {
    grid-template-columns: repeat(4, 1fr);
  }
}
.c-activity-nav__list li a {
  width: 100%;
  font-size: 1.5rem;
  padding: 0.7rem 1.5rem;
  border-radius: 0.5rem;
  background-color: var(--white);
  display: block;
}
@media screen and (min-width: 768px) {
  .c-activity-nav__list li a {
    font-size: 1.6rem;
    padding: 1rem 1.5rem;
    transition: 0.3s;
  }
  .c-activity-nav__list li a:hover {
    color: var(--white);
    background-color: var(--main);
  }
}

.c-floating {
  width: 26rem;
  padding: 1rem;
  border-top-left-radius: 0.5rem;
  border-bottom-left-radius: 0.5rem;
  background-color: var(--base-bg);
  display: flex;
  box-shadow: 0 0 1rem 0.2rem rgba(var(--black-rgb), 0.1);
}
@media screen and (min-width: 768px) {
  .c-floating {
    width: 37rem;
    border-top-left-radius: 1rem;
    border-bottom-left-radius: 1rem;
  }
}
.c-floating__head {
  width: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-right: 1rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-floating__head {
    width: 6rem;
    padding-right: 1rem;
  }
}
.c-floating__headline {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: normal;
  letter-spacing: normal;
  writing-mode: vertical-rl;
  color: var(--main);
  display: flex;
  align-items: center;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .c-floating__headline {
    font-size: 1.6rem;
  }
}
.c-floating__headline::before {
  content: "";
  width: 1.5rem;
  aspect-ratio: 16/15;
  background: url("../img/common/icon-bell.svg") no-repeat center/contain;
  display: inline-block;
  margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-floating__headline::before {
    width: 2rem;
  }
}
.c-floating__toggle {
  width: 100%;
  height: 100%;
  font-family: var(--en-font);
  font-size: 1.2rem;
  text-align: center;
  color: var(--sub-text);
  position: absolute;
  display: flex;
  align-items: end;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .c-floating__toggle {
    font-size: 1.6rem;
  }
}
.c-floating__desc {
  width: calc(100% - 3rem);
  border-radius: 0.5rem;
  overflow: hidden;
  background-color: var(--white);
}
@media screen and (min-width: 768px) {
  .c-floating__desc {
    width: 30rem;
    border-radius: 1rem;
  }
}
.c-floating__link {
  transition: 0.3s;
}
.c-floating__link:hover {
  opacity: 0.7;
}
.c-floating__title {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  text-shadow: 0 0 0.3rem var(--accent-bg);
  color: var(--white);
  background: linear-gradient(45deg, var(--grad));
  padding: 1rem;
}
@media screen and (min-width: 768px) {
  .c-floating__title {
    font-size: 2.2rem;
    padding: 2rem;
  }
}
.c-floating__lead {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.5;
  color: var(--main);
  padding: 0.5rem 1rem;
}
@media screen and (min-width: 768px) {
  .c-floating__lead {
    font-size: 1.8rem;
    padding: 1rem 2rem;
  }
}
.c-floating__btn {
  font-size: 1rem;
  font-weight: bold;
  margin-right: 1rem;
  margin-bottom: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-floating__btn {
    font-size: 1.3rem;
    margin-right: 2rem;
    margin-bottom: 1.5rem;
  }
}
.c-floating__btn span {
  width: 1.8rem;
  height: 1.8rem;
  background-color: var(--main);
  border-radius: 100vh;
  display: inline-block;
  margin-left: 0.5rem;
  position: relative;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-floating__btn span {
    width: 2.3rem;
    height: 2.3rem;
    margin-left: 1rem;
  }
}
.c-floating__btn span::before {
  border-right: 0.1rem solid var(--white);
  border-top: 0.1rem solid var(--white);
  content: "";
  height: 0.5rem;
  position: absolute;
  right: 0.8rem;
  top: 0.6rem;
  transform: rotate(45deg);
  transition: all 0.3s;
  width: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-floating__btn span::before {
    right: 1rem;
    top: 0.9rem;
  }
}

.c-img3-2 {
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.c-img3-2 img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
  transition: all 0.4s;
}

.c-donate-block {
  --radius-padding: 1rem;
  --radius-inner-size: 0.5rem;
  padding: var(--radius-padding);
  border-radius: calc(var(--radius-inner-size) + var(--radius-padding));
  background-color: var(--white);
  box-shadow: 0 0 1.5rem -0.5rem rgba(var(--black-rgb), 0.1);
  position: relative;
}
.c-donate-block::before {
  content: "";
  width: 8rem;
  aspect-ratio: 241/150;
  background: url("../img/common/supporter.svg") no-repeat center/contain;
  display: block;
  position: absolute;
  top: -1.5rem;
  right: -1.2rem;
}
.c-donate-block__inner {
  background-color: var(--main-bg);
  border-radius: var(--radius-inner-size);
  padding: 2rem;
}
.c-donate-block__lead {
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: normal;
  color: var(--main);
}
.c-donate-block__message {
  font-size: 1.2rem;
  line-height: 1.3;
  margin-top: 0.5rem;
}
.c-donate-block__link {
  margin: 2rem auto 0;
}

.c-langSwitch {
  position: relative;
  height: -moz-fit-content;
  height: fit-content;
}
.c-langSwitch__current {
  width: 6rem;
  height: 6rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  border-radius: 100vh;
  color: var(--main);
  background-color: var(--main-bg);
  padding: 1rem;
  transition: 0.3s;
}
.c-langSwitch__current:hover {
  opacity: 0.7;
}
.c-langSwitch__current svg {
  aspect-ratio: 1/1;
}
.c-langSwitch__menu {
  position: absolute;
  top: 100%;
  left: -50%;
  min-width: 12rem;
  background: var(--white);
  border: 0.1rem solid var(--line);
  border-radius: 0.2rem;
  box-shadow: 0 0.2rem 1rem rgba(var(--black-rgb) 0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-0.8rem);
  transition: all 0.2s ease;
  z-index: 100;
}
.is-open .c-langSwitch__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0.3rem);
}
.c-langSwitch__menu a {
  font-size: 1.5rem;
  display: block;
  padding: 1rem 1.5rem;
  color: var(--text);
  text-decoration: none;
}
.c-langSwitch__menu a:hover {
  background: var(--accent-bg);
}

.c-langLinks {
  font-size: 1.4rem;
  display: flex;
  flex-wrap: wrap;
  border: 0.1rem solid var(--line);
}
.c-langLinks li:first-child {
  border-right: 0.1rem solid var(--line);
}
.c-langLinks li a {
  padding: 1rem 3rem;
  transition: 0.3s;
}
.c-langLinks li a:hover {
  color: var(--main);
}

.c-meganav {
  display: flex;
  justify-content: flex-end;
  gap: 2rem;
  margin-right: 2rem;
}
.c-meganav__item::after {
  content: "";
  width: 100%;
  height: 0.2rem;
  margin-top: 1.5rem;
  background-color: var(--main);
  display: block;
  transform: scale(0, 1);
  transition: 0.5s;
}
.c-meganav__item:hover::after {
  transform: scale(1, 1);
}
.c-meganav__item > a {
  font-size: clamp(1.4rem, 1.1666vw, 1.6rem);
  font-weight: bold;
  color: var(--main);
  letter-spacing: 0.03em;
}
.c-meganav__item:hover > .c-meganav__panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.c-meganav__link {
  padding: 2rem;
  font-weight: bold;
}
.c-meganav__panel {
  position: absolute;
  top: 100%;
  left: 0;
  transform: translateY(2rem);
  width: 100%;
  background: var(--white);
  box-shadow: 0 2rem 1.5rem rgba(var(--black-rgb), 0.05);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 1000;
  pointer-events: none;
}
.c-meganav__panelInner {
  max-width: 98rem;
  padding: 6rem 3rem;
  margin: auto;
}
.c-meganav__panelMain a {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--white);
  background-color: var(--main);
  border-radius: 0.5rem;
  padding: 1rem 2rem;
  display: flex;
  align-items: center;
  transition: 0.3s;
}
.c-meganav__panelMain a:hover {
  opacity: 0.7;
}
.c-meganav__panelMain a::before {
  content: "";
  width: 0.6rem;
  height: 0.1rem;
  background-color: var(--white);
  display: inline-block;
  margin-right: 1rem;
}
.c-meganav__panelList {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 5rem;
  align-content: baseline;
}
.c-meganav__panelList li {
  border-bottom: 0.1rem dotted var(--line);
}
.c-meganav__panelList li:not(:has(a)) {
  border: none;
}
.c-meganav__panelList li a {
  font-size: 1.5rem;
  padding: 0.8rem 0;
  display: flex;
  align-items: center;
  transition: 0.3s;
}
.c-meganav__panelList li a:hover {
  color: var(--main);
}
.c-meganav__panelList li a::before {
  content: "";
  width: 0.6rem;
  height: 0.1rem;
  background-color: var(--main);
  display: inline-block;
  margin-right: 1rem;
}

.activity-nav__main {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
.activity-nav__panel {
  display: grid;
  grid-template-columns: 0.45fr 0.45fr 1fr;
  gap: 3rem;
}
.activity-nav__cat1 {
  grid-template-columns: repeat(1, 1fr);
}
.activity-nav__cat1::before {
  content: "取り組み";
  font-size: 1.3rem;
  color: var(--main);
  display: block;
}
.activity-nav__cat2 {
  grid-template-columns: repeat(1, 1fr);
}
.activity-nav__cat2::before {
  content: "課題";
  font-size: 1.3rem;
  color: var(--main);
  display: block;
}
.activity-nav__cat3 {
  grid-template-columns: repeat(2, 1fr);
}
.activity-nav__cat3::before {
  content: "活動地";
  font-size: 1.3rem;
  color: var(--main);
  display: block;
  grid-column: span 2;
}

.c-matool {
  max-width: 26rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3rem 4rem;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .c-matool {
    max-width: initial;
    justify-content: left;
    margin: 0;
    gap: 2.5rem;
  }
}
.c-matool li {
  height: 3.6rem;
}
@media screen and (max-width: 767px) {
  .c-matool li:first-child {
    width: 100%;
    text-align: center;
  }
}
.c-matool li a {
  transition: 0.3s;
}
.c-matool li a:hover {
  opacity: 0.7;
}

@media screen and (min-width: 768px) {
  .c-message {
    display: grid;
    grid-template-columns: 22rem 1fr;
  }
}
.c-message__intro {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-message__intro {
    transform: translateY(6rem);
  }
}
.c-message__intro img {
  width: 60%;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .c-message__intro img {
    width: 100%;
  }
}
.c-message__name {
  font-size: 1.5rem;
  margin-top: 1rem;
  font-weight: bold;
}
.c-message__name span {
  font-size: 1.3rem;
}
.c-message__block {
  padding: 14rem 3rem 4rem;
  margin-top: -10rem;
  border-radius: 10px;
  background-color: var(--white);
}
@media screen and (min-width: 768px) {
  .c-message__block {
    padding: 5rem 5rem 5rem 13rem;
    margin: 0 0 0 -7rem;
    border-radius: 20px;
  }
}
.c-message__block--blue {
  background-color: var(--main-bg);
}
.c-message__title {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-message__title {
    font-size: 2.8rem;
  }
}
.c-message__text {
  margin-top: 1rem;
}

.c-slide-listCard {
  width: 70vw;
  margin-right: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-slide-listCard {
    width: 33rem;
    margin-right: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .c-slide-listCard__img:hover img {
    opacity: 0.8;
    transform: scale(1.2);
  }
}
.c-slide-listCard__block {
  margin-top: 1rem;
}
.c-slide-listCard__title {
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .c-slide-listCard__title {
    font-size: 1.5rem;
    transition: 0.3s;
  }
  a:hover .c-slide-listCard__title {
    opacity: 0.7;
  }
}
.c-slide-listCard__date {
  font-size: 1.1rem;
  display: inline-block;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-slide-listCard__date {
    font-size: 1.3rem;
    margin-top: 3rem;
    transition: 0.3s;
  }
  a:hover .c-slide-listCard__date {
    opacity: 0.7;
  }
}
.c-slide-listCard__tags {
  margin-top: 1rem;
}
.c-slide-listCard__tags li {
  display: inline-block;
  margin-right: 1rem;
}
.c-slide-listCard__tags li a {
  font-size: 1.2rem;
  text-decoration: underline;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .c-slide-listCard__tags li a {
    font-size: 1.4rem;
  }
  .c-slide-listCard__tags li a:hover {
    text-decoration: none;
  }
}

.c-page-nav {
  padding: 2rem;
  border-radius: 1rem;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .c-page-nav {
    border-radius: 100vh;
  }
}
@media screen and (min-width: 768px) {
  .c-page-nav__list {
    display: flex;
    justify-content: center;
    gap: 2rem;
  }
}
.c-page-nav__list li + li {
  padding-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-page-nav__list li + li {
    padding-top: 0;
  }
  .c-page-nav__list li + li::before {
    content: "";
    width: 0.1rem;
    height: 1rem;
    background-color: var(--sub-text);
    display: inline-block;
    margin-right: 2rem;
  }
}
.c-page-nav__list li a {
  font-size: 1.1rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-page-nav__list li a {
    font-size: 1.4rem;
    display: inline-block;
    transition: 0.3s;
  }
  .c-page-nav__list li a:hover {
    color: var(--textlink);
  }
}
.c-page-nav__list li a::before {
  content: "";
  min-width: 0.7rem;
  width: 0.7rem;
  height: 0.7rem;
  border-top: 0.1rem solid var(--main);
  border-right: 0.1rem solid var(--main);
  transform: rotate(135deg);
  transition: all 0.3s;
  display: inline-block;
  margin-right: 1rem;
}
@media screen and (min-width: 768px) {
  .c-page-nav__list li a::before {
    margin-bottom: 0.3rem;
  }
}

.c-side-nav {
  position: absolute;
  top: 22rem;
  right: 0;
  z-index: 10;
}
.c-side-nav__list {
  width: 10rem;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 2.5rem;
}
.c-side-nav__list li {
  width: 3.8rem;
  text-align: center;
}
.c-side-nav__list li:last-child {
  background-color: rgba(var(--white-rgb), 0.7);
  border-radius: 5px;
}
.c-side-nav__list li a {
  transition: 0.3s;
}
.c-side-nav__list li a:hover {
  opacity: 0.7;
}

.c-article-list li:nth-child(odd) a {
  background-color: var(--main-bg);
}
.c-article-list li a {
  padding: 1.5rem 2rem;
  border-radius: 5px;
  display: block;
}
@media screen and (min-width: 768px) {
  .c-article-list li a {
    padding: 1.5rem 3rem;
    display: grid;
    grid-template-columns: 11rem 1fr;
    align-items: center;
    transition: 0.3s;
  }
  .c-article-list li a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 768px) {
  .c-article-list__event li a {
    grid-template-columns: minmax(34rem, auto) 1fr;
  }
}
.c-article-list__date {
  font-family: var(--en-font);
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .c-article-list__date {
    font-size: 1.4rem;
    padding-top: 0.4rem;
  }
}
.c-article-list__item {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--main);
}
.c-article-list__item span {
  font-size: 1.3rem;
}
.c-article-list__schedule {
  letter-spacing: normal;
}
.c-article-list__title {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-article-list__title {
    font-size: 1.6rem;
  }
}

.c-article-list-photo {
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .c-article-list-photo {
    grid-template-columns: repeat(4, 1fr);
    gap: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .c-article-list-photo__three {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .c-article-list-photo__second {
    grid-template-columns: repeat(2, 1fr);
  }
}
.c-article-list-photo__img {
  width: 100%;
  aspect-ratio: 3/2;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .c-article-list-photo__img a:hover img {
    transform: scale(1.2);
  }
}
.c-article-list-photo__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.c-article-list-photo__title {
  font-size: 1.5rem;
  font-weight: bold;
  margin-top: 1.5rem;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-article-list-photo__three .c-article-list-photo__title {
    font-size: 1.8rem;
  }
  .c-article-list-photo__title:hover {
    color: var(--main);
  }
}
.c-article-list-photo__box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.5rem;
}
.c-article-list-photo__date {
  font-family: var(--en-font);
  font-size: 1.2rem;
  color: var(--sub-text);
  display: inline-block;
}
.c-article-list-photo__nice {
  font-family: var(--en-font);
  font-size: 1.2rem;
  padding: 0.5rem 1.5rem;
  border-radius: 100vh;
  background-color: var(--base-bg);
}
.c-article-list-photo__nice--white {
  background-color: var(--white);
}
.c-article-list-photo__nice .wpulike {
  line-height: 0;
  padding: 0;
}
.c-article-list-photo__nice .wpulike span {
  font-size: 1.3rem;
  padding: 0 0.5rem 0 1rem;
}
.c-article-list-photo__nice button.wp_ulike_btn {
  transform: scale(0.8);
}
.c-article-list-photo__cat {
  margin-top: 1rem;
}
.c-article-list-photo__cat li {
  display: inline-block;
  margin-right: 1rem;
}
.c-article-list-photo__cat li a {
  font-size: 1.2rem;
  color: var(--sub-text);
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-article-list-photo__cat li a:hover {
    color: var(--main);
  }
}
.c-article-list-photo__cat li a::before {
  content: "#";
  font-size: 1.2rem;
  color: var(--main);
  display: inline-block;
}
.c-article-list-photo__nodata {
  text-align: center;
  padding: 5rem 0;
}

.c-voice-list {
  display: grid;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .c-voice-list li {
    display: grid;
    grid-template-columns: 20rem 1fr;
    gap: 4rem;
    align-items: center;
  }
}
.c-voice-list__plofile {
  text-align: center;
}
.c-voice-list__img {
  width: 60%;
  aspect-ratio: 1/1;
  border-radius: 100vh;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-voice-list__img {
    width: 20rem;
  }
}
.c-voice-list__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.c-voice-list__name {
  margin-top: 1rem;
}
.c-voice-list__text {
  padding: 2.5rem;
  background-color: var(--main-bg);
  border-radius: 1rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-voice-list__text {
    padding: 3rem;
    border-radius: 1.5rem;
    margin-top: 0;
  }
}

.c-voice-column {
  display: grid;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .c-voice-column {
    margin-top: 5rem;
    grid-template-columns: 1fr 1fr;
  }
}
.c-voice-column dd {
  padding: 2.5rem;
  border-radius: 1rem;
  background-color: var(--main-bg);
  margin-top: 3rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-voice-column dd {
    padding: 3rem;
    margin-top: 0;
  }
}
.c-voice-column dd::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background-color: var(--main-bg);
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  display: block;
  position: absolute;
  top: -1.5rem;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .c-voice-column dd::before {
    clip-path: polygon(0 50%, 100% 0, 100% 100%);
    top: 6rem;
    left: -1.5rem;
    right: initial;
  }
}
@media screen and (min-width: 768px) {
  .c-voice-column__item {
    display: grid;
    grid-template-columns: 11rem 1fr;
    gap: 2rem;
  }
}
.c-voice-column__img {
  width: 50%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .c-voice-column__img {
    width: 10rem;
    margin-top: 1.5rem;
  }
}
.c-voice-column__name {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 1rem;
}

.c-faq__title {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .c-faq__title {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
}
.c-faq__title:not(:first-of-type) {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .c-faq__title:not(:first-of-type) {
    margin-top: 8rem;
  }
}
.c-faq__list dt {
  padding: 1.5rem 2.5rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-faq__list dt {
    padding: 1.5rem 3rem;
  }
}
.c-faq__list dt::before {
  content: "Q";
  font-family: var(--en-font);
  font-size: 3.6rem;
  font-weight: 400;
  line-height: normal;
  color: var(--main);
  display: inline-block;
  margin-right: 1rem;
}
@media screen and (min-width: 768px) {
  .c-faq__list dt::before {
    font-size: 4rem;
  }
}
.c-faq__list dd {
  padding: 1.5rem 2.5rem;
  background-color: var(--white);
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .c-faq__list dd {
    padding: 2rem 3rem;
  }
}
.c-faq__list dd ~ dt {
  margin-top: 1rem;
}

.c-faq-acc {
  overflow: hidden;
}
.c-faq-acc__summary {
  font-weight: bold;
  padding: 1.5rem 2.5rem;
  border-bottom: 0.1rem solid var(--white);
  display: grid;
  grid-template-columns: 3rem 1fr 2rem;
  gap: 1rem;
  align-items: center;
  cursor: pointer;
}
.c-faq-acc__summary::-webkit-details-marker {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-faq-acc__summary {
    padding: 1.5rem 3rem;
  }
}
.c-faq-acc__summary::before {
  content: "Q";
  font-family: var(--en-font);
  font-size: 3.6rem;
  font-weight: 400;
  line-height: normal;
  color: var(--main);
  display: inline-block;
  margin-right: 1rem;
}
@media screen and (min-width: 768px) {
  .c-faq-acc__summary::before {
    font-size: 4rem;
  }
}
.c-faq-acc__plus {
  width: 2rem;
  height: 0.2rem;
  background-color: var(--main);
  display: inline-block;
  position: relative;
}
.c-faq-acc__plus::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: inherit;
  transform: rotate(90deg);
  transition: 0.5s;
}
.c-faq-acc:open .c-faq-acc__plus::after {
  transform: rotate(360deg);
}
.c-faq-acc__answer {
  overflow: hidden;
}
.c-faq-acc__content {
  padding: 1.5rem 2.5rem;
  background-color: var(--white);
  border-bottom-left-radius: 1rem;
  border-bottom-right-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .c-faq-acc__content {
    padding: 2rem 3rem;
  }
}
.c-faq-acc__content a {
  color: var(--main);
  text-decoration: underline;
}
.c-faq-acc__content a:hover {
  text-decoration: none;
}
.c-faq-acc__content a.c-btn {
  width: -moz-fit-content;
  width: fit-content;
  color: var(--text);
  text-decoration: none;
}
.c-faq-acc__content a.c-btn:hover {
  color: var(--main);
}
.c-faq-acc__content .mt20 {
  margin-top: 2rem;
}
.c-faq-acc__content .mt30 {
  margin-top: 3rem;
}

.c-form-head__flow {
  width: calc(100% - 0.8rem);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-form-head__flow {
    width: calc(100% - 1.6rem);
  }
}
.c-form-head__flow::after {
  content: "";
  width: 9rem;
  height: 100%;
  display: block;
  clip-path: polygon(100% 50%, 90% 0, 90% 100%);
  background-color: var(--white);
  position: absolute;
  top: 0;
  right: -0.8rem;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .c-form-head__flow::after {
    width: 15.5rem;
    right: -1.55rem;
  }
}
.c-form-head__flow li {
  height: 4.5rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  color: rgba(var(--black-rgb), 0.4);
  background-color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-form-head__flow li {
    font-size: 1.2rem;
    letter-spacing: normal;
  }
}
@media screen and (min-width: 768px) {
  .c-form-head__flow li {
    height: 5.5rem;
  }
}
.c-form-head__flow li + li::before {
  content: "";
  width: 1rem;
  height: 100%;
  background-color: var(--main-bg);
  clip-path: polygon(15% 0%, 100% 50%, 15% 100%, 0% 100%, 85% 50%, 0% 0%);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .c-form-head__flow li + li::before {
    width: 1.9rem;
  }
}
.c-form-head__flow li.current {
  color: var(--white);
  background-color: var(--main);
}
.c-form-head__flow li.current::after {
  content: "";
  width: 9rem;
  height: 100%;
  display: block;
  clip-path: polygon(100% 50%, 90% 0, 90% 100%);
  background-color: var(--main);
  position: absolute;
  top: 0;
  right: -0.8rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-form-head__flow li.current::after {
    width: 16.5rem;
    right: -1.6rem;
  }
}
.c-form-head__lead {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-form-head__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.c-form-head__btn {
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .c-form-head__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 3rem;
  }
}

.c-form__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem 0;
}
@media screen and (min-width: 768px) {
  .c-form__list {
    gap: 3rem 0;
  }
}
.c-form__list dt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.c-form__list dd {
  margin-top: 0.5rem;
}
.c-form__list dd [type=text], .c-form__list dd [type=your-zip], .c-form__list dd [type=tel], .c-form__list dd [type=number], .c-form__list dd [type=email], .c-form__list dd select,
.c-form__list dd textarea {
  width: 100%;
  height: 4.5rem;
  font-size: 1.6rem;
  background-color: var(--white);
  border: 1px solid var(--line);
  border-radius: 5px;
  padding: 0 1rem;
}
@media screen and (min-width: 768px) {
  .c-form__list dd [type=text], .c-form__list dd [type=your-zip], .c-form__list dd [type=tel], .c-form__list dd [type=number], .c-form__list dd [type=email], .c-form__list dd select,
  .c-form__list dd textarea {
    height: 6rem;
    padding: 0 2rem;
  }
}
.c-form__list dd textarea {
  height: 10rem;
  padding: 1rem;
}
@media screen and (min-width: 768px) {
  .c-form__list dd textarea {
    height: 18rem;
    padding: 1rem 2rem;
  }
}
.c-form__list dd input::-moz-placeholder {
  color: rgba(var(--black-rgb), 0.3);
}
.c-form__list dd input::placeholder {
  color: rgba(var(--black-rgb), 0.3);
}
.c-form__conf dd {
  padding: 0.5rem 0;
}
.c-form__item {
  width: 100%;
  transition: 0.5s;
  opacity: 1;
}
.c-form__item--other {
  max-height: 0;
  transform: translateY(-3rem);
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  transition: 0.5s;
}
.c-form__item.is-active {
  max-height: -moz-fit-content;
  max-height: fit-content;
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
@media screen and (min-width: 768px) {
  .c-form__column {
    width: 47%;
  }
}
@media screen and (min-width: 768px) {
  .c-form__narrow {
    max-width: 26rem;
  }
}
.c-form__readonly[type=text][readonly] {
  background-color: initial;
  border: initial;
  padding-left: 0;
}
.c-form__select {
  position: relative;
}
.c-form__select:after {
  content: "";
  position: absolute;
  pointer-events: none;
  top: 50%;
  right: 2rem;
  width: 1.3rem;
  aspect-ratio: 1.4/1;
  clip-path: polygon(50% 100%, 100% 0, 0 0);
  background-color: var(--main);
}
.c-form__select select {
  cursor: pointer;
}
.c-form__select select:invalid {
  color: rgba(var(--black-rgb), 0.3);
}
.c-form__checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  .c-form__checkbox {
    flex-direction: column;
  }
}
.c-form__checkbox label {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .c-form__checkbox label {
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .c-form__checkbox label span {
    width: 100%;
    white-space: nowrap;
    display: flex;
    align-items: center;
  }
}
.c-form__checkbox--icon {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  border: 1px solid var(--line);
  background-color: var(--white);
  margin-right: 0.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-form__checkbox--icon {
    margin-right: 1rem;
  }
}
.c-form__checkbox--icon::after {
  content: "";
  width: 0.8rem;
  height: 1.5rem;
  border-right: 3px solid var(--main);
  border-bottom: 3px solid var(--main);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0.3rem;
  left: 0;
  right: 0;
  margin: auto;
  transform: rotate(45deg) scale(1.5);
  opacity: 0;
  transition: 0.5s;
}
.c-form__checkbox--icon:checked::after {
  opacity: 1;
  transform: rotate(45deg) scale(1);
}
@media screen and (min-width: 768px) {
  .c-form__checkbox--other {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .c-form__checkbox--other span input {
    margin-top: 1rem;
  }
}
.c-form__radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  padding: 1rem 0;
}
@media screen and (max-width: 767px) {
  .c-form__radio {
    flex-direction: column;
  }
}
.c-form__radio label {
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .c-form__radio label {
    display: flex;
    align-items: center;
  }
}
.c-form__radio--icon {
  width: 2rem;
  height: 2rem;
  border: 1px solid var(--line);
  background-color: var(--white);
  border-radius: 100vh;
  margin-right: 0.5rem;
  position: relative;
}
.c-form__radio--icon::after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  background-color: var(--main);
  border-radius: 100vh;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  opacity: 0;
  transition: 0.5s;
  transform: scale(1.5);
}
.c-form__radio--icon:checked::after {
  opacity: 1;
  transform: scale(1);
}
@media screen and (min-width: 768px) {
  .c-form__radio--other {
    width: 100%;
    display: flex;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .c-form__radio--other span {
    width: 100%;
    white-space: nowrap;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .c-form__radio--other span input {
    margin-top: 1rem;
  }
}
.c-form__file {
  font-size: 1.3rem;
  color: var(--main);
  background-color: var(--white);
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .c-form__file {
    width: 60%;
    font-size: 1.6rem;
  }
}
.c-form__file::file-selector-button {
  background-color: var(--main);
  padding: 1rem;
  margin-right: 1rem;
  border: none;
  color: var(--white);
  height: 100%;
  cursor: pointer;
}
.c-form__required {
  font-size: 1.2rem;
  line-height: 2rem;
  text-align: center;
  color: var(--white);
  background-color: var(--caution);
  border-radius: 3px;
  padding: 0 1rem;
  display: inline-block;
  margin-left: 1rem;
}
.c-form__note {
  font-size: 1.2rem;
  color: var(--main);
  padding-left: 1rem;
}
.c-form__text {
  width: 100%;
  font-size: 1.4rem;
  font-weight: normal;
  padding: 0.5rem 0;
}
.c-form__consent {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}
.c-form__consent label {
  position: relative;
  cursor: pointer;
}
.c-form__consent label::before {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  display: block;
  position: absolute;
  border: 1px solid var(--text);
  top: 0;
  bottom: 0;
  margin: auto;
  transition: 0.3s;
}
.c-form__consent label::after {
  content: "";
  width: 1.2rem;
  height: 2rem;
  display: block;
  transition: 0.3s;
  transform: rotate(45deg);
  border-bottom: 3px solid var(--white);
  border-right: 3px solid var(--white);
  position: absolute;
  top: -0.1rem;
  left: 0.6rem;
  opacity: 0;
}
.c-form__consent label span {
  font-weight: bold;
  padding-left: 3rem;
}
.c-form__consent:has([type=checkbox]:checked) label:before {
  background-color: var(--main);
  border-color: var(--main);
}
.c-form__consent:has([type=checkbox]:checked) label:after {
  opacity: 1;
}
.c-form__consent .checkbox {
  font-size: 1.6rem;
  padding-left: 3rem;
}
.c-form__privacy {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-form__privacy {
    text-align: center;
    margin-top: 4rem;
  }
}
.c-form__privacy a {
  text-decoration: underline;
  color: var(--main);
  transition: 0.3s;
}
.c-form__privacy a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.c-form__button {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .c-form__button {
    margin-top: 8rem;
    flex-direction: row-reverse;
    justify-content: center;
  }
}
.c-form__confirm {
  width: 100%;
  max-width: 35rem;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 6rem;
  text-align: center;
  border-radius: 100vh;
  color: var(--white);
  background-color: var(--main);
  display: block;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-form__confirm {
    font-size: 1.8rem;
    line-height: 7rem;
  }
}
.c-form__confirm:hover {
  opacity: 0.7;
}
.c-form__confirm--accept {
  pointer-events: none;
  background-color: var(--sub-bg);
}
.c-form__confirm--return {
  line-height: 5.6rem;
  color: var(--main);
  background-color: var(--white);
  border: 2px solid var(--main);
}
@media screen and (min-width: 768px) {
  .c-form__confirm--return {
    line-height: 6.6rem;
  }
}
.c-form:has(.c-form__consent input[type=checkbox]:checked) .c-form__confirm--accept {
  background-color: var(--main);
  pointer-events: all;
}
.c-form__recaptcha {
  font-size: 1.2rem;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .c-form__recaptcha {
    text-align: center;
    margin-top: 10rem;
  }
}
.c-form__recaptcha a {
  text-decoration: underline;
  color: var(--main);
  transition: 0.3s;
}
.c-form__recaptcha a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.c-form .wpcf7-spinner {
  display: none;
}
.c-form .wpcf7 form.invalid .wpcf7-response-output {
  text-align: center;
  border: none;
  color: var(--caution);
}

@media screen and (min-width: 768px) {
  .c-two-column {
    display: grid;
    grid-template-columns: 69rem 1fr;
    gap: 5rem;
  }
}
.c-two-column__reverse {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .c-two-column__reverse {
    display: grid;
    grid-template-columns: 1fr 69rem;
  }
}
.c-two-column__title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-two-column__title {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
}
.c-two-column__img {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-two-column__img {
    margin-top: 0;
  }
}
.c-two-column__img img {
  border-radius: 1rem;
}
.c-two-column__btn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-two-column__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .c-two-column75 {
    display: grid;
    grid-template-columns: 75rem 1fr;
    gap: 5rem;
    align-items: center;
  }
}
.c-two-column75__title {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--main);
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-two-column75__title {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
}
.c-two-column75__img {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-two-column75__img {
    margin-top: 0;
  }
}
.c-two-column75__img img {
  border-radius: 1rem;
}
.c-two-column75__img a {
  transition: 0.3s;
}
.c-two-column75__img a:hover {
  opacity: 0.7;
}
.c-two-column75__note {
  font-size: 1.4rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-two-column75__note {
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .c-two-column60 {
    display: grid;
    grid-template-columns: 62rem 1fr;
    gap: 4rem;
  }
}
.c-two-column60__reverse {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .c-two-column60__reverse {
    display: grid;
    grid-template-columns: 1fr 62rem;
  }
}
.c-two-column60__title {
  font-size: 2.8rem;
  font-weight: bold;
  margin-bottom: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-two-column60__title {
    font-size: 3.4rem;
    letter-spacing: 0.01em;
    margin-bottom: 3rem;
  }
}
.c-two-column60__img {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-two-column60__img {
    margin-top: 0;
  }
}
.c-two-column60__img img {
  border-radius: 1rem;
}
.c-two-column60__img a {
  transition: 0.3s;
}
.c-two-column60__img a:hover {
  opacity: 0.7;
}

.c-experiences {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-experiences {
    display: grid;
    grid-template-columns: 35rem 1fr;
    margin-top: 5rem;
  }
}
@media screen and (max-width: 767px) {
  .c-experiences:has(.c-experiences__name) {
    margin-top: -4rem;
  }
  .c-experiences:has(.c-experiences__name) .c-experiences__img {
    transform: translateY(8rem);
  }
  .c-experiences:has(.c-experiences__name) .c-experiences__textarea {
    padding-top: 11rem;
  }
}
.c-experiences__img {
  width: calc(100% - 5rem);
  transform: translateY(3rem);
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .c-experiences__img {
    width: 100%;
    transform: translateY(0);
    z-index: 1;
  }
}
.c-experiences__img img {
  border-radius: 1rem;
}
.c-experiences__name {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-experiences__name {
    font-size: 1.5rem;
  }
}
.c-experiences__textarea {
  padding: 5rem 2.5rem 2.5rem;
  border-radius: 0.5rem;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .c-experiences__textarea {
    padding: 4rem 4rem 4rem 14rem;
    border-radius: 1rem;
    margin-left: -10rem;
    margin-top: 10rem;
    position: relative;
  }
}
.c-experiences__textarea--white {
  background-color: var(--white);
}
.c-experiences__story {
  font-family: var(--en-font);
  font-size: 3.2rem;
  font-weight: 400;
  text-align: center;
  color: var(--main);
  display: block;
}
@media screen and (min-width: 768px) {
  .c-experiences__story {
    width: -moz-fit-content;
    width: fit-content;
    font-size: 3.6rem;
    position: absolute;
    top: -3.5rem;
    left: 14rem;
  }
}
.c-experiences__story::before {
  content: "";
  width: 3rem;
  aspect-ratio: 199/150;
  background: url("../img/common/story-icon.svg") no-repeat center/contain;
  display: inline-block;
  margin-right: 1rem;
}
@media screen and (min-width: 768px) {
  .c-experiences__story::before {
    width: 3.5rem;
  }
}
.c-experiences__voice {
  font-family: var(--en-font);
  font-size: 3.2rem;
  font-weight: 400;
  text-align: center;
  color: var(--accent);
  display: block;
}
@media screen and (min-width: 768px) {
  .c-experiences__voice {
    width: -moz-fit-content;
    width: fit-content;
    font-size: 3.6rem;
    position: absolute;
    top: -3.5rem;
    left: 14rem;
  }
}
.c-experiences__voice::before {
  content: "";
  width: 3rem;
  aspect-ratio: 91/75;
  background: url("../img/common/voice-icon.svg") no-repeat center/contain;
  display: inline-block;
  margin-right: 1rem;
}
@media screen and (min-width: 768px) {
  .c-experiences__voice::before {
    width: 3.8rem;
  }
}
.c-experiences__title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 1rem;
}
@media screen and (min-width: 768px) {
  .c-experiences__title {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
}

.c-cat-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.c-cat-list li a {
  min-width: 10rem;
  font-size: 1.5rem;
  text-align: center;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  background-color: var(--white);
  padding: 0.5rem 1.5rem;
  border-radius: 100vh;
  display: block;
  transition: 0.3s;
}
.c-cat-list li a:hover {
  color: var(--white);
  background-color: var(--main);
}
.c-cat-list li a.is-active {
  color: var(--white);
  background-color: var(--main);
}

.c-tag-list li {
  display: inline-block;
  margin-right: 1.5rem;
}
.c-tag-list li a {
  font-size: 1.4rem;
  color: var(--sub-text);
  transition: 0.3s;
}
.c-tag-list li a:hover {
  color: var(--main);
}
.c-tag-list li a::before {
  content: "#";
  font-size: 1.4rem;
  color: var(--main);
  display: inline-block;
}

.c-toc {
  padding: 2rem;
  border: 0.1rem solid var(--line);
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .c-toc {
    display: grid;
    grid-template-columns: 8rem 1fr;
  }
}
.c-toc__title {
  font-family: var(--en-font);
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: normal;
  color: var(--main);
  background-color: var(--main-bg);
  border-radius: 0.5rem;
  padding: 1.5rem 1.5rem 1rem;
}
@media screen and (min-width: 768px) {
  .c-toc__title {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
}
.c-toc__list {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-toc__list {
    margin-top: 0;
  }
}
.c-toc__list li {
  margin-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-toc__list li {
    margin-left: 2rem;
  }
}
.c-toc__list li a {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .c-toc__list li a {
    font-size: 1.4rem;
  }
}
.c-toc__list li a::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-top: 0.1rem solid var(--main);
  border-right: 0.1rem solid var(--main);
  transform: rotate(135deg);
  transition: all 0.3s;
  margin-right: 1rem;
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  .c-toc__list li a::before {
    margin-bottom: 0.3rem;
  }
}

.c-post-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-post-nav {
    margin-top: 5rem;
  }
}
.c-post-nav .current {
  font-family: var(--en-font);
  min-width: 3.2rem;
  line-height: 3rem;
  font-size: 1.5rem;
  text-align: center;
  display: block;
  color: var(--white);
  border-radius: 100vh;
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .c-post-nav .current {
    min-width: 4.2rem;
    line-height: 4rem;
  }
}
.c-post-nav a {
  font-family: var(--en-font);
  min-width: 3.2rem;
  display: block;
  line-height: 3rem;
  font-size: 1.5rem;
  text-align: center;
  letter-spacing: initial;
  color: var(--sub-text);
  background-color: var(--base-bg);
  border-radius: 100vh;
  margin: 0.8rem;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-post-nav a {
    min-width: 4.2rem;
    line-height: 4rem;
  }
  .c-post-nav a:hover {
    color: var(--white);
    border-color: var(--main);
    background-color: var(--main);
  }
  .c-post-nav a:hover.prev::before, .c-post-nav a.next:hover::before {
    border-color: var(--white);
  }
}
.c-post-nav a.prev, .c-post-nav a.next {
  height: 3.2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-post-nav a.prev, .c-post-nav a.next {
    height: 4.2rem;
  }
}
.c-post-nav a.prev::before, .c-post-nav a.next::before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-left: 0.1rem solid var(--sub-text);
  border-bottom: 0.1rem solid var(--sub-text);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-25%, -50%) rotate(45deg);
}
.c-post-nav a.next::before {
  transform: translate(-75%, -50%) rotate(-135deg);
}
.c-post-nav .no_link {
  display: none;
}

@media screen and (min-width: 768px) {
  .c-share {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
.c-share__title {
  font-family: var(--en-font);
  font-weight: 400;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-share__title {
    font-size: 1.8rem;
  }
}
.c-share__list {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-share__list {
    margin-top: 0;
    margin-left: 4rem;
    gap: 3rem;
  }
}
.c-share__list li + li {
  border-left: 0.1rem solid var(--line);
  padding-left: 2rem;
}
@media screen and (min-width: 768px) {
  .c-share__list li + li {
    padding-left: 3rem;
  }
}
.c-share__list li a {
  width: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}
.c-share__list li a:hover {
  transform: scale(1.1);
}
.c-share__list li svg {
  width: 100%;
  aspect-ratio: 1/1;
}
.c-share__facebook svg {
  color: var(--sns-facebook);
}
.c-share__x svg {
  color: var(--black);
}
.c-share__line svg {
  color: var(--sns-line);
}

.c-future {
  padding: 8rem 0;
  color: var(--white);
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .c-future {
    padding: 10rem 0;
  }
}
.c-future__wrap {
  display: grid;
  gap: 2rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-future__wrap:has(.c-future__btn) {
    padding-bottom: 16rem;
  }
}
@media screen and (min-width: 768px) {
  .c-future__wrap {
    grid-template-columns: 1fr 48rem;
    gap: 5rem;
    align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .c-future__wrap--awareness {
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) {
  .c-future__wrap--awareness .c-future__text {
    font-size: 1.6rem;
  }
}
.c-future__wrap--awareness .c-future__img {
  width: 60%;
  margin: 0 auto;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-future__wrap--awareness .c-future__img {
    width: 28rem;
  }
}
.c-future__heading {
  font-size: 2.8rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .c-future__heading {
    font-size: 3.2rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
}
.c-future__icon {
  width: 10.5rem;
  display: block;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .c-future__icon {
    display: inline-block;
    margin: 0 1rem 0 0;
  }
}
.c-future__lead {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--sub);
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-future__lead {
    font-size: 2rem;
    margin-top: 3rem;
  }
}
.c-future__text {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-future__text {
    font-size: 1.8rem;
    margin-top: 2rem;
  }
}
.c-future__btn {
  width: 100%;
  display: grid;
  gap: 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .c-future__btn {
    position: initial;
    display: flex;
    gap: 2rem;
    margin-top: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .c-future__btn li {
    width: 30rem;
  }
}

.c-products-list {
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .c-products-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 6rem;
  }
}
.c-products-list li {
  padding: 0 2.5rem 3rem;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .c-products-list li {
    padding: 0 2.5rem 4rem;
    display: flex;
    flex-direction: column;
  }
}
.c-products-list li::after {
  content: "";
  width: 100%;
  height: calc(100% - 41vw);
  background-color: var(--main-bg);
  display: block;
  border-radius: 0 0 1rem 1rem;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .c-products-list li::after {
    height: calc(100% - 18rem);
  }
}
.c-products-list__white li::after {
  background-color: var(--white);
}
.c-products-list__img {
  width: 100%;
  aspect-ratio: 62/41;
  overflow: hidden;
  border-top-left-radius: 1rem;
  border-top-right-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .c-products-list__img {
    border-top-left-radius: 2rem;
    border-top-right-radius: 2rem;
  }
  .c-products-list__img img {
    transition: 0.5s;
  }
  .c-products-list__img img:hover {
    transform: scale(1.2);
  }
}
.c-products-list__title {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-products-list__title {
    font-size: 2rem;
  }
}
.c-products-list__text {
  font-size: 1.5rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-products-list__text {
    margin-bottom: 6rem;
  }
}
.c-products-list__btn {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .c-products-list__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: auto auto 0;
  }
}

.c-credit {
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
  z-index: 0;
}
.c-credit__sign {
  font-size: 1rem;
  color: var(--white);
  position: absolute;
  bottom: 0.5rem;
  right: 1rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .c-credit__sign {
    font-size: 1.1rem;
    bottom: 1rem;
    right: 1.5rem;
  }
}

.c-member-list {
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .c-member-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 4rem;
  }
}
.c-member-list__img {
  width: 100%;
  aspect-ratio: 3/2;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.c-member-list__img img {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  top: 0;
  left: 0;
}
.c-member-list__name {
  text-align: center;
  margin-top: 0.5rem;
}
.c-member-list__name span {
  font-size: 1.4rem;
  display: block;
  text-align: center;
}

.p-top-visual {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-visual {
    margin-top: 3.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-visual__inner {
    padding-right: 10rem;
  }
}
.p-top-visual__slider {
  border-top-right-radius: 3rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-visual__slider {
    border-top-right-radius: 6rem;
  }
}
.p-top-event-activity {
  position: relative;
}
.p-top-event-activity::after {
  content: "";
  width: 100%;
  height: -webkit-fill-available;
  background-color: var(--main-bg);
  border-top-right-radius: 3rem;
  margin-top: 7rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-top-event-activity::after {
    width: calc((100% - 1200px) / 2 + 510px);
    margin-top: 15rem;
  }
}
.p-top-event {
  margin-top: 8rem;
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .p-top-event {
    overflow: hidden;
  }
}
@media screen and (min-width: 768px) {
  .p-top-event__inner {
    position: relative;
  }
}
.p-top-event__main {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-top-event__main {
    display: flex;
    margin-top: 6rem;
  }
}
.p-top-event__tag {
  font-size: 1.1rem;
  text-align: center;
  color: var(--white);
  background-color: var(--accent);
  padding: 0.5rem 1.5rem;
  border-radius: 0.3rem;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-event__pickup {
    margin-right: 8rem;
  }
}
.p-top-event__pickupTag {
  font-size: 1.4rem;
  font-weight: bold;
  color: var(--accent);
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-top-event__pickupTag {
    width: 46rem;
    font-size: 1.6rem;
  }
}
.p-top-event__pickupTag::before {
  content: "";
  width: 2rem;
  aspect-ratio: 157/150;
  background: url("../img/top/tag-flag.svg") no-repeat center/contain;
  display: inline-block;
  margin-right: 0.5rem;
}
.p-top-event__campaign {
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-top-event__campaign:hover {
    opacity: 0.8;
  }
  .p-top-event__campaign:hover img {
    transform: scale(1.2);
  }
}
.p-top-event__campaignTitle {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  color: var(--main);
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-event__campaignTitle {
    font-size: 2.6rem;
  }
}
.p-top-event__campaignImg {
  margin-top: 1rem;
}
.p-top-event__slider {
  margin-top: 3rem;
  position: relative;
}
.p-top-event__sliderList {
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-event__sliderList {
    display: flex;
  }
}
.p-top-event__card {
  padding: 1.5rem;
  border-radius: 1.5rem;
  background-color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-top-event__card {
    width: 36rem;
  }
  .p-top-event__main:not(:has(.p-top-event__pickup)) .p-top-event__card {
    margin-right: 3rem;
  }
}
.p-top-event__card a {
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-top-event__card a:hover {
    opacity: 0.8;
  }
  .p-top-event__card a:hover img {
    transform: scale(1.2);
  }
}
.p-top-event__title {
  font-size: 1.4rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-event__title {
    font-size: 1.5rem;
  }
}
.p-top-event__date {
  font-weight: bold;
  margin-top: 2rem;
  display: inline-block;
}
.p-top-event__btn {
  margin: 2rem 0 0 1.5rem;
}
.p-top-event__more {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-event__more {
    position: absolute;
    top: 5rem;
    right: 2rem;
    margin-top: 0;
  }
}
.p-top-activity {
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-activity {
    background-color: var(--white);
  }
}
@media screen and (min-width: 768px) {
  .p-top-activity {
    padding-top: 1rem;
    padding-bottom: 6rem;
    overflow: hidden;
  }
}
@media screen and (min-width: 768px) {
  .p-top-activity__inner {
    position: relative;
  }
}
.p-top-activity__main {
  margin-top: 2rem;
  margin-right: -2rem;
}
@media screen and (min-width: 1200px) {
  .p-top-activity__main {
    margin-right: calc(50% - 50vw);
  }
}
.p-top-activity__btn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-activity__btn {
    margin-top: 5rem;
  }
}
.p-top-activity__more {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-top-activity__more {
    position: absolute;
    top: 3rem;
    right: 2rem;
    margin-top: 0;
  }
}
.p-top-news {
  overflow: hidden;
  margin-top: 10rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__inner {
    position: relative;
  }
}
.p-top-news__tab {
  padding: 3rem 2rem;
  margin-top: 2rem;
  border-radius: 1rem;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-top-news__tab {
    padding: 6rem 4.5rem;
    border-radius: 3rem;
  }
}
.p-top-news__tab:has(#tabAll:checked) #paneAll, .p-top-news__tab:has(#tabInfo:checked) #paneInfo, .p-top-news__tab:has(#tabCampaign:checked) #paneCampaign, .p-top-news__tab:has(#tabMedia:checked) #paneMedia, .p-top-news__tab:has(#tabPress:checked) #panePress {
  display: block;
}
.p-top-news__nav {
  display: flex;
  overflow-x: auto;
  white-space: nowrap;
  margin-right: calc(50% - 50vw);
  border-radius: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__nav {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    overflow-x: initial;
    margin-right: 0;
    border-radius: 0.8rem;
    overflow: hidden;
  }
}
.p-top-news__input {
  display: none;
}
.p-top-news__input:checked + .p-top-news__label {
  color: var(--white);
  background-color: var(--main);
}
.p-top-news__label {
  display: block;
  padding: 1rem 2rem;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
  background-color: var(--white);
  cursor: pointer;
  transition: all 0.25s ease;
}
@media screen and (min-width: 768px) {
  .p-top-news__label {
    font-size: 1.8rem;
    line-height: 5.5rem;
    padding: 0;
  }
}
.p-top-news__panels {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__panels {
    margin-top: 5rem;
  }
}
.p-top-news__main {
  display: none;
  animation: tabfadeIn 0.4s ease-out;
}
@keyframes tabfadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.p-top-news__wrap {
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__wrap {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-news__card {
    display: flex;
  }
}
@media screen and (min-width: 768px) {
  .p-top-news__img {
    width: 25rem;
  }
  .p-top-news__img a:hover img {
    opacity: 0.8;
    transform: scale(1.2);
  }
}
.p-top-news__block {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__block {
    width: calc(100% - 25rem);
    padding-left: 2rem;
    margin-top: 0;
  }
}
.p-top-news__title {
  font-size: 1.3rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__title {
    font-size: 1.5rem;
  }
  .p-top-news__title a {
    transition: 0.3s;
  }
  .p-top-news__title a:hover {
    opacity: 0.7;
  }
}
.p-top-news__date {
  font-size: 1.1rem;
  display: inline-block;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__date {
    font-size: 1.3rem;
  }
}
.p-top-news__tags {
  margin-top: 1rem;
}
.p-top-news__tags li {
  display: inline-block;
}
.p-top-news__tags li a {
  font-size: 1.2rem;
  color: var(--accent);
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  .p-top-news__tags li a {
    font-size: 1.4rem;
  }
  .p-top-news__tags li a :hover {
    text-decoration: none;
  }
}
.p-top-news__more {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-top-news__more {
    position: absolute;
    top: 3rem;
    right: 2rem;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-order {
    display: grid;
  }
  .p-top-order .p-top-message {
    order: 2;
  }
  .p-top-order .p-top-approach {
    order: 3;
  }
  .p-top-order .p-top-numbers {
    order: 4;
  }
  .p-top-order .p-top-support {
    order: 1;
  }
}
.p-top-message {
  margin-top: 8rem;
  padding-bottom: 48rem;
  position: relative;
  background: url("../img/top/message-bg.webp") no-repeat bottom center/200%, linear-gradient(0deg, rgb(245, 250, 253) 50%, rgb(255, 255, 255) 100%);
}
@media screen and (min-width: 768px) {
  .p-top-message {
    margin-top: 12rem;
    padding-bottom: 10rem;
    background: url("../img/top/message-bg.webp") no-repeat bottom left/60%, linear-gradient(0deg, rgb(245, 250, 253) 70%, rgb(255, 255, 255) 100%);
  }
}
@media screen and (min-width: 1460px) {
  .p-top-message {
    background-size: 85rem;
  }
}
.p-top-message__main {
  padding-top: 20rem;
}
@media screen and (min-width: 768px) {
  .p-top-message__main {
    width: 40%;
    margin-left: auto;
    padding-top: 0;
    padding-right: 3rem;
  }
}
.p-top-message__head {
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
}
.p-top-message__title {
  font-size: 3.6rem;
  font-weight: bold;
  writing-mode: vertical-rl;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-top-message__title {
    font-size: 4rem;
  }
}
.p-top-message__lead {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 2.2;
  writing-mode: vertical-rl;
  color: var(--accent);
  padding-right: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-message__lead {
    font-size: 1.8rem;
  }
}
.p-top-message__text {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-message__text {
    margin-top: 4rem;
  }
}
.p-top-message__link {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-top-message__link {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-top-message__img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-top-message__img {
    width: 60%;
  }
}
.p-top-message__img div {
  aspect-ratio: 1;
  position: absolute;
  display: block;
}
.p-top-message__img div:nth-child(1) {
  width: 30%;
  top: 4rem;
  left: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-message__img div:nth-child(1) {
    left: 8%;
  }
}
.p-top-message__img div:nth-child(2) {
  width: 18%;
  top: 0;
  right: 25%;
}
.p-top-message__img div:nth-child(3) {
  width: 25%;
  top: 10rem;
  right: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-message__img div:nth-child(3) {
    top: 17rem;
    right: 5%;
  }
}
.p-top-approach {
  overflow: hidden;
  position: relative;
  transform: translateY(-9rem);
}
.p-top-approach::before {
  content: "";
  width: 130%;
  height: 28rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-top-approach::before {
    width: 50rem;
    height: 42rem;
    left: calc((100% - 1200px) / 2);
    transform: translateX(0);
  }
}
@media screen and (min-width: 768px) {
  .p-top-approach__wrap {
    display: flex;
    justify-content: center;
  }
}
.p-top-approach__head {
  display: flex;
  justify-content: center;
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .p-top-approach__head {
    margin-left: 7rem;
  }
}
.p-top-approach__title {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: 2.2;
  writing-mode: vertical-rl;
  text-orientation: upright;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-top-approach__title {
    font-size: 4rem;
  }
}
.p-top-approach__title span {
  border-right: 0.4rem solid var(--sub-line);
  padding-right: 0.5rem;
}
.p-top-approach__list {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-top-approach__list {
    margin-top: 16rem;
    margin-left: 7rem;
  }
}
.p-top-approach__list > li + li {
  margin-top: 3rem;
}
.p-top-approach__subtitle {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-top-approach__subtitle {
    font-size: 2.4rem;
  }
}
.p-top-approach__subtitle span {
  font-family: var(--en-font);
  font-size: 5.2rem;
  font-weight: normal;
  color: var(--sub);
  padding-right: 0.5rem;
}
.p-top-approach__desc {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-approach__desc {
    margin-left: 5rem;
  }
}
.p-top-approach__desc li {
  font-size: 1.5rem;
  text-indent: -2rem;
  margin-left: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-approach__desc li {
    font-size: 1.6rem;
  }
}
.p-top-approach__desc li + li {
  margin-top: 0.5rem;
}
.p-top-approach__desc li::before {
  content: "";
  width: 1.5rem;
  aspect-ratio: 23/25;
  background: url("../img/common/icon-check.svg") no-repeat center/contain;
  display: inline-block;
  margin-right: 0.5rem;
  vertical-align: middle;
}
.p-top-numbers {
  padding-top: 22rem;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-numbers {
    padding-top: 0;
    margin-top: 15rem;
  }
}
@media screen and (min-width: 768px) {
  .p-top-numbers__head {
    margin-left: 7.5rem;
    position: relative;
    z-index: 2;
  }
}
.p-top-numbers__title {
  font-size: 3rem;
  font-weight: bold;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-top-numbers__title {
    font-size: 4rem;
  }
}
.p-top-numbers__lead {
  font-size: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__lead {
    font-size: 1.6rem;
    margin-top: 2rem;
  }
}
.p-top-numbers__img {
  width: 85%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__img {
    width: 64rem;
    top: 5rem;
    left: 50%;
    margin: 0;
    z-index: 1;
  }
}
.p-top-numbers__list {
  margin-top: 2rem;
  padding: 2rem 2rem 2rem 0;
  position: relative;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__list {
    padding: 3rem 7.5rem 8rem;
    gap: 2rem 3rem;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
  }
}
.p-top-numbers__list::after {
  content: "";
  width: calc(100% + 2rem);
  height: 100%;
  background-color: var(--main-bg);
  border-top-right-radius: 1rem;
  margin-left: -2rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .p-top-numbers__list::after {
    width: 150%;
    top: 11.5rem;
    left: initial;
    right: 0;
  }
}
.p-top-numbers__block {
  text-align: center;
  border-radius: 1rem;
  background-color: var(--white);
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__block:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .p-top-numbers__block:nth-child(2) {
    grid-area: 2/1/3/2;
  }
  .p-top-numbers__block:nth-child(3) {
    grid-area: 2/2/3/3;
  }
  .p-top-numbers__block:nth-child(4) {
    grid-area: 3/1/4/2;
  }
  .p-top-numbers__block:nth-child(5) {
    grid-area: 3/2/4/3;
  }
}
.p-top-numbers__block:first-child {
  background: url("../img/top/numbers-map.webp") no-repeat center/contain, linear-gradient(45deg, var(--grad));
}
.p-top-numbers__block:first-child p {
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-top-numbers__block:first-child p {
    margin-top: 2rem;
  }
}
.p-top-numbers__block img {
  height: 5rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__block img {
    height: 6rem;
  }
}
.p-top-numbers__subtitle {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-top-numbers__subtitle {
    font-size: 2.4rem;
  }
}
.p-top-numbers__num {
  font-family: var(--en-font);
  font-size: 2.8rem;
  font-weight: bold;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-top-numbers__num {
    font-size: 4.5rem;
  }
}
.p-top-numbers__num span {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__num span {
    font-size: 1.5rem;
  }
}
.p-top-numbers__numList {
  font-family: var(--en-font);
  font-size: 2.8rem;
  font-weight: bold;
  color: var(--accent);
  background: url("../img/top/numbers-list-img03.svg") no-repeat bottom right/21rem;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__numList {
    font-size: 4.5rem;
    background-size: 28rem;
    background-position: 83% bottom;
  }
}
.p-top-numbers__numList li {
  line-height: 1.2;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__numList li {
    line-height: 1;
  }
}
.p-top-numbers__numList li:nth-child(1) {
  margin-left: 40%;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__numList li:nth-child(1) {
    margin-left: 43%;
  }
}
.p-top-numbers__numList li:nth-child(2) {
  margin-left: 20%;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__numList li:nth-child(2) {
    margin-left: 25%;
  }
}
@media screen and (min-width: 768px) {
  .p-top-numbers__numList li:nth-child(3) {
    margin-left: 10%;
  }
}
.p-top-numbers__numList li span {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-numbers__numList li span {
    font-size: 1.5rem;
  }
}
.p-top-support {
  margin-top: 10rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-top-support {
    margin-top: 8rem;
  }
}
.p-top-support__wrap {
  margin-top: 3rem;
  padding: 3rem 0 3rem 2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-top-support__wrap {
    padding: 7.5rem 0 13rem 7.5rem;
  }
}
.p-top-support__wrap::after {
  content: "";
  width: calc(100% + 2rem);
  height: 100%;
  background-color: var(--main-bg);
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
  margin-right: -2rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .p-top-support__wrap::after {
    width: 150%;
    margin-right: calc(50% - 50vw);
    border-top-left-radius: 3rem;
    border-bottom-left-radius: 3rem;
  }
}
.p-top-support__lead {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-top-support__lead {
    font-size: 2.4rem;
  }
}
.p-top-support__box {
  margin-top: -1rem;
}
@media screen and (min-width: 768px) {
  .p-top-support__box {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 1rem;
  }
}
.p-top-support__block {
  padding: 3rem 2rem;
  background-color: var(--white);
  border-radius: 1rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-support__block {
    padding: 4rem 3rem;
    border-radius: 2rem;
  }
}
.p-top-support__block:first-child {
  position: relative;
  margin-bottom: 17rem;
}
@media screen and (min-width: 768px) {
  .p-top-support__block:first-child {
    margin-bottom: 0;
  }
}
.p-top-support__kinds {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-top-support__kinds {
    font-size: 2.3rem;
  }
}
.p-top-support__kinds span {
  border-bottom: 0.1rem solid var(--text);
  padding-bottom: 0.5rem;
}
.p-top-support__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-support__list {
    display: flex;
    gap: 3rem;
    margin-top: 4rem;
  }
}
.p-top-support__list li + li {
  border-top: 0.1rem solid var(--line);
  padding-top: 3rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-support__list li + li {
    border-top: none;
    padding-top: 0rem;
    margin-top: 0rem;
  }
}
.p-top-support__corp {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-top-support__corp {
    margin-top: 4rem;
  }
}
.p-top-support__img {
  height: 9rem;
  margin: auto;
  display: block;
}
.p-top-support__subtitle {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-support__subtitle {
    height: 5.6rem;
  }
}
li:nth-child(1) .p-top-support__subtitle {
  color: var(--main);
}
li:nth-child(2) .p-top-support__subtitle {
  color: var(--accent);
}
li:nth-child(3) .p-top-support__subtitle {
  color: var(--sub2);
}
.p-top-support__corp .p-top-support__subtitle {
  color: var(--sub3);
}
.p-top-support__text {
  font-size: 1.5rem;
  margin-top: 1rem;
}
.p-top-support__link {
  margin-top: 2rem;
}
li:nth-child(2) .p-top-support__link a:hover {
  color: var(--accent);
}
li:nth-child(2) .p-top-support__link a span {
  background-color: var(--accent);
}
li:nth-child(3) .p-top-support__link a:hover {
  color: var(--sub2);
}
li:nth-child(3) .p-top-support__link a span {
  background-color: var(--sub2);
}
.p-top-support__corp .p-top-support__link a:hover {
  color: var(--sub3);
}
.p-top-support__corp .p-top-support__link a span {
  background-color: var(--sub3);
}
.p-top-support__once {
  width: 100%;
  font-size: 1.5rem;
  text-align: center;
  position: absolute;
  bottom: -11rem;
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-top-support__once {
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: -7rem;
  }
}
.p-top-support__once a {
  font-size: 1.6rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-top-support__once a {
    margin: 0 0 0 2rem;
  }
}

.p-page-head {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-page-head {
    margin-top: 8rem;
    overflow: hidden;
  }
}
.p-page-head__title {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .p-page-head__title {
    font-size: 3.4rem;
    margin-bottom: 5rem;
  }
}
.p-page-head__titleEn {
  font-family: var(--en-font);
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: normal;
  color: var(--main);
  display: block;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-page-head__titleEn {
    font-size: 2rem;
  }
}
.p-page-head__img {
  aspect-ratio: 260/163;
  margin-left: -2rem;
  border-top-right-radius: 3rem;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-page-head__img {
    height: 46rem;
    width: calc(100vw - 11rem);
    min-width: 114rem;
    border-top-right-radius: 6rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-page-head__img {
    margin-left: calc(50% - 50vw);
  }
}
.p-page-head__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}

.p-page-nav {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-page-nav {
    margin-top: 8rem;
  }
}
.p-page-nav__lead {
  font-size: 2.2rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-page-nav__lead {
    font-size: 2.8rem;
    text-align: center;
  }
}
.p-page-nav__lead--bigger {
  font-size: 2.8rem;
}
@media screen and (min-width: 768px) {
  .p-page-nav__lead--bigger {
    font-size: 3.2rem;
  }
}
.p-page-nav__text {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-nav__text {
    margin-top: 3rem;
    text-align: center;
  }
}
.p-page-nav__btn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-page-nav__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 3rem auto 0;
  }
}
.p-page-nav__anchor {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-page-nav__anchor {
    margin-top: 8rem;
  }
}

.p-page-cta {
  margin-top: 12rem;
}
@media screen and (min-width: 768px) {
  .p-page-cta {
    margin-top: 15rem;
  }
}

.p-about-vision__wrap {
  margin-top: 3rem;
  padding-top: calc(100vw - 23rem);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-about-vision__wrap {
    padding-top: 0;
    display: grid;
    grid-template-columns: 49rem 1fr;
    gap: 4rem;
    margin-top: 9rem;
  }
}
.p-about-vision__dl {
  position: relative;
  padding: 5rem 2rem 8rem;
  margin-left: -2rem;
}
@media screen and (min-width: 768px) {
  .p-about-vision__dl {
    position: initial;
    padding: 8rem 0 0;
    margin-left: 0;
  }
}
.p-about-vision__dl::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: var(--main-bg);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-about-vision__dl::after {
    width: calc(100% - 50rem);
    height: 62rem;
    margin-left: -2rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-about-vision__dl::after {
    width: calc(50vw + 10rem);
    margin-left: calc(50% - 50vw);
  }
}
.p-about-vision__dl dt {
  border-left: 0.2rem solid var(--main);
  padding-left: 1.5rem;
  padding-top: 0.5rem;
  display: block;
}
.p-about-vision__dl dd {
  font-size: 1.5rem;
  padding-left: 1.7rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-about-vision__dl dd {
    margin-top: 3rem;
  }
}
.p-about-vision__item + .p-about-vision__item {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-about-vision__item + .p-about-vision__item {
    margin-top: 7rem;
  }
}
.p-about-vision__item span {
  display: block;
  line-height: normal;
}
.p-about-vision__item:first-child dd {
  font-size: 2rem;
}
.p-about-vision__en {
  font-family: var(--en-font);
  font-size: 2rem;
  font-weight: 400;
  letter-spacing: normal;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-about-vision__en {
    font-size: 2.6rem;
  }
}
.p-about-vision__ja {
  font-size: 3rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-about-vision__ja {
    font-size: 3.2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-about-vision__img {
    position: relative;
  }
}
@media screen and (min-width: 1200px) {
  .p-about-vision__img {
    margin-right: calc(50% - 20vw);
  }
}
.p-about-vision__imgHead {
  width: 100%;
  height: calc(100vw - 20rem);
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-about-vision__imgHead {
    width: 90%;
    height: 34rem;
    position: relative;
    margin: -3rem auto 0;
  }
}
.p-about-vision__imgHead div {
  border-radius: 1rem;
  overflow: hidden;
}
.p-about-vision__imgHead div:nth-child(1) {
  width: 56%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-about-vision__imgHead div:nth-child(2) {
  width: 40%;
  position: absolute;
  bottom: 0;
  right: 0;
}
.p-about-vision__imgBottom {
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
  overflow: hidden;
  margin: -4rem -2rem 0 0;
}
@media screen and (min-width: 768px) {
  .p-about-vision__imgBottom {
    border-radius: 2rem;
    margin-top: 5rem;
  }
}
.p-about-vision__philosophy {
  margin-top: 3rem;
  padding: 3rem 2rem;
  border-radius: 1rem;
  color: var(--white);
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-about-vision__philosophy {
    display: grid;
    grid-template-columns: 22rem 1fr;
    padding: 4rem 2rem 4rem 1rem;
    margin-top: 6rem;
  }
}
.p-about-vision__title {
  font-size: 3rem;
  font-weight: bold;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-about-vision__title {
    font-size: 3.2rem;
    align-items: center;
  }
}
.p-about-vision__list {
  border-top: 0.1rem solid var(--line);
  padding-top: 2rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-about-vision__list {
    border-top: none;
    border-left: 0.1rem solid var(--line);
    padding: 0 0 0 5rem;
    margin-top: 0;
  }
}
.p-about-vision__list li {
  text-indent: -2.8em;
  margin-left: 2.8em;
}
@media screen and (min-width: 768px) {
  .p-about-vision__list li + li {
    margin-top: 1rem;
  }
}
.p-about-credo__lead {
  font-size: 1.8rem;
  text-align: center;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-about-credo__lead {
    font-size: 2rem;
    margin-top: 3rem;
  }
}
.p-about-credo__list {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-about-credo__list {
    margin-top: 5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.5rem;
  }
}
.p-about-credo__list li {
  text-align: center;
  background-color: var(--white);
  border-radius: 1rem;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  padding: 2.5rem 2.5rem 3.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-credo__list li {
    border-radius: 2rem;
  }
}
.p-about-credo__list li img {
  width: 40%;
}
@media screen and (min-width: 768px) {
  .p-about-credo__list li img {
    max-width: 15rem;
  }
}
.p-about-credo__title {
  font-family: var(--en-font);
  font-size: 2.6rem;
  font-weight: 400;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-about-credo__title {
    font-size: 3rem;
  }
}
.p-about-credo__text {
  font-size: 1.5rem;
}
.p-about-tagline__main {
  display: grid;
  grid-template-columns: 1fr 3fr;
  gap: 2rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-about-tagline__main {
    gap: 6rem;
    margin-top: 5rem;
  }
}
.p-about-tagline__head {
  position: relative;
  padding: 4rem 0 0 2rem;
  margin-left: -2rem;
}
@media screen and (min-width: 768px) {
  .p-about-tagline__head {
    display: flex;
    justify-content: center;
    padding-top: 6rem;
  }
}
.p-about-tagline__title {
  writing-mode: vertical-rl;
  color: var(--main);
  display: flex;
  flex-direction: column;
}
.p-about-tagline__title::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background-color: var(--main-bg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  border-top-right-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-about-tagline__title::after {
    width: 300%;
    left: initial;
    right: 0;
    border-top-right-radius: 3rem;
  }
}
.p-about-tagline__en {
  font-family: var(--en-font);
  font-size: 2rem;
  font-weight: 400;
  line-height: normal;
  padding-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-about-tagline__en {
    font-size: 2.6rem;
  }
}
.p-about-tagline__ja {
  font-size: 3.6rem;
  font-weight: bold;
  line-height: normal;
}
@media screen and (min-width: 768px) {
  .p-about-tagline__ja {
    font-size: 4.2rem;
  }
}
.p-about-tagline__dl {
  margin-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .p-about-tagline__dl {
    margin-top: 0;
    margin-bottom: 8rem;
  }
}
.p-about-tagline__dl dt {
  font-size: 2.8rem;
  font-weight: bold;
  color: var(--sub-text);
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-about-tagline__dl dt {
    font-size: 3.2rem;
    margin-top: 5rem;
    margin-left: -1.5rem;
  }
}
.p-about-tagline__dl dt span {
  font-size: 1.6rem;
  color: var(--accent);
  display: block;
}
@media screen and (min-width: 768px) {
  .p-about-tagline__dl dt span {
    font-size: 1.8rem;
    display: inline-block;
  }
}
.p-about-tagline__dl dd {
  font-size: 1.5rem;
  margin-top: 1rem;
}
.p-about-name {
  color: var(--white);
  background-color: var(--main);
  padding: 8rem 0;
}
.p-about-name__main {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-about-name__main {
    margin-top: 5rem;
    display: grid;
    grid-template-columns: 1fr 37rem;
    gap: 4rem;
    align-items: center;
  }
}
.p-about-name__title {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-about-name__title {
    font-size: 2.8rem;
  }
}
.p-about-name__title span {
  color: var(--sub);
}
.p-about-name__text {
  margin-top: 3rem;
}
.p-about-name__logo {
  width: 70%;
  aspect-ratio: 1/1;
  margin: 3rem auto 0;
  padding: 1rem 4rem 4rem;
  background-color: var(--white);
  border-radius: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-about-name__logo {
    width: 100%;
    margin: 0;
    padding: 2rem 6rem 6rem;
  }
}
.p-about-message {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-about-message {
    padding: 12rem 0;
  }
}
.p-about-message__main {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-about-message__main {
    margin-top: 5rem;
  }
}

.p-vision-about__column {
  display: grid;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-vision-about__column {
    gap: 15rem;
  }
}
@media screen and (min-width: 768px) {
  .p-vision-about__item {
    display: grid;
    grid-template-columns: 60rem 1fr;
    gap: 6rem;
  }
}
.p-vision-about__reverse {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .p-vision-about__reverse {
    display: grid;
    grid-template-columns: 1fr 60rem;
    gap: 6rem;
  }
}
.p-vision-about__title {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-vision-about__title {
    font-size: 2.8rem;
    letter-spacing: 0.01em;
  }
}
.p-vision-about__lead {
  font-size: 2rem;
  font-weight: bold;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-vision-about__lead {
    font-size: 2.4rem;
    margin-top: 1rem;
  }
}
.p-vision-about__text {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-vision-about__text {
    margin-top: 3rem;
  }
}
.p-vision-about__img {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-vision-about__img {
    margin-top: 0;
  }
}
.p-vision-about__img img {
  border-radius: 1rem;
}
.p-vision-about__img a {
  transition: 0.3s;
}
.p-vision-about__img a:hover {
  opacity: 0.7;
}
.p-vision-approach {
  background-color: var(--main-bg);
  padding: 6rem 0 3rem;
}
@media screen and (min-width: 768px) {
  .p-vision-approach {
    padding: 10rem 0 5rem;
  }
}
.p-vision-approach__list {
  margin-top: 3rem;
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-vision-approach__list {
    margin-top: 6rem;
    grid-template-columns: repeat(4, 1fr);
    gap: 5rem;
  }
}
.p-vision-approach__list li {
  display: grid;
}
.p-vision-approach__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-vision-approach__title {
    font-size: 2.4rem;
  }
}
.p-vision-approach__text {
  margin: 1rem 0;
}
@media screen and (min-width: 768px) {
  .p-vision-approach__text {
    margin: 2rem 0;
  }
}
.p-vision-approach__img {
  margin: auto 0 0;
}
.p-vision-cycle {
  background-color: var(--main-bg);
  padding: 6rem 0;
}
@media screen and (min-width: 768px) {
  .p-vision-cycle {
    padding: 10rem 0;
  }
}
.p-vision-cycle__lead {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-vision-cycle__lead {
    font-size: 1.8rem;
    text-align: center;
    margin-top: 5rem;
  }
}
.p-vision-cycle__list {
  margin-top: -1rem;
  counter-reset: number 0;
}
.p-vision-cycle__list li {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-vision-cycle__list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5rem;
  }
  .p-vision-cycle__list li:nth-child(odd) {
    flex-direction: row-reverse;
  }
}
.p-vision-cycle__title {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.4;
  color: var(--main);
  padding-left: 8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-vision-cycle__title {
    font-size: 2.8rem;
    padding-left: 9.5rem;
  }
}
.p-vision-cycle__title::before {
  content: counter(number, decimal-leading-zero) " ";
  counter-increment: number 1;
  font-family: var(--en-font);
  font-size: 6.5rem;
  font-weight: 400;
  color: transparent;
  -webkit-text-stroke: 0.1rem var(--main);
  text-stroke: 0.1rem var(--main);
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p-vision-cycle__title::before {
    font-size: 7.8rem;
    top: -0.5rem;
  }
}
.p-vision-cycle__title span {
  color: var(--accent);
}
.p-vision-cycle__text {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-vision-cycle__text {
    letter-spacing: normal;
  }
}
.p-vision-cycle__img {
  max-width: 34rem;
  width: 80%;
  margin: 3rem auto 0;
}
.p-vision-cycle__details {
  margin-top: 2rem;
}
.p-vision-cycle__dl dt {
  font-family: 2rem;
  font-weight: bold;
  color: var(--accent);
}
.p-vision-cycle__dl--type1 {
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-vision-cycle__dl--type1 {
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
  }
}
.p-vision-cycle__dl--type1 div {
  padding: 2rem;
  border-radius: 1rem;
  background-color: var(--white);
  overflow: hidden;
}
.p-vision-cycle__dl--type1 dt {
  font-size: 2.4rem;
  text-align: center;
}
.p-vision-cycle__dl--type1 dd {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  border-top: 0.1rem solid var(--accent);
  padding-top: 1rem;
  margin-top: 1rem;
}
.p-vision-cycle__dl--type2 div {
  padding: 2rem;
  border-radius: 1rem;
  background-color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-vision-cycle__dl--type2 div {
    display: grid;
    grid-template-columns: 11.5rem 1fr;
    align-items: center;
  }
}
.p-vision-cycle__dl--type2 div:nth-child(even) {
  background-color: initial;
}
.p-vision-cycle__dl--type2 dt {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .p-vision-cycle__dl--type2 dd {
    font-size: 1.4rem;
    letter-spacing: normal;
  }
}
.p-vision-cta {
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.p-vision-cta::after {
  content: "";
  width: 100%;
  height: 22%;
  background-color: var(--main);
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-vision-cta::after {
    height: 37rem;
  }
}
.p-vision-cta__heading {
  font-size: 2.6rem;
  font-weight: bold;
  color: var(--main);
  text-align: center;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-vision-cta__heading {
    font-size: 3rem;
    margin-top: 5rem;
  }
}
.p-vision-cta__lead {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-vision-cta__lead {
    font-size: 1.8rem;
    text-align: center;
    line-height: 2;
    margin-top: 4rem;
  }
}
.p-vision-cta__list {
  margin-top: 4rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-vision-cta__list {
    margin-top: 8rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.5rem;
  }
}
.p-vision-cta__list li {
  background-color: var(--white);
  border-radius: 1rem;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  padding: 2.5rem 2.5rem 3.5rem;
}
@media screen and (min-width: 768px) {
  .p-vision-cta__list li {
    border-radius: 2rem;
    padding: 3.5rem 3.5rem 4.5rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: space-between;
  }
}
.p-vision-cta__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-vision-cta__title {
    font-size: 2.6rem;
  }
}
.p-vision-cta__text {
  margin-top: 1.5rem;
}
.p-vision-cta__btn {
  min-width: 26rem;
  margin-top: 2rem;
}
.p-vision-cta__message {
  font-size: 2rem;
  font-weight: bold;
  color: var(--white);
  padding: 5rem 0;
}
@media screen and (min-width: 768px) {
  .p-vision-cta__message {
    font-size: 2.2rem;
    text-align: center;
    padding: 6rem 0;
  }
}

.p-profile-overview__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-profile-overview__list {
    margin-top: 5rem;
    display: grid;
    grid-template-columns: 28rem 1fr;
  }
}
.p-profile-overview__list dt {
  padding: 2rem 0 0.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-profile-overview__list dt {
    color: var(--main);
  }
}
@media screen and (min-width: 768px) {
  .p-profile-overview__list dt {
    border-bottom: 0.1rem solid var(--main);
    padding: 3rem 0;
  }
}
.p-profile-overview__list dd {
  border-bottom: 0.1rem solid var(--line);
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .p-profile-overview__list dd {
    padding: 3rem 0;
  }
}
.p-profile-overview__board {
  text-indent: -4.3em;
  margin-left: 4.3em;
}
.p-profile-overview__board + p {
  margin-top: 1rem;
}
.p-profile-overview__pdf {
  color: var(--main);
  text-decoration: underline;
  transition: 0.3s;
}
.p-profile-overview__pdf:hover {
  text-decoration: none;
  opacity: 0.7;
}
.p-profile-overview__pdf::after {
  content: "";
  width: 2.5rem;
  aspect-ratio: 9/10;
  background: url("../img/common/icon-pdf.svg") no-repeat center/contain;
  margin-left: 1rem;
  display: inline-block;
  vertical-align: middle;
}
.p-profile-access__map {
  height: 35rem;
  margin-top: 3rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-profile-access__map {
    height: 45rem;
    margin-top: 5rem;
  }
}
.p-profile-access__map iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-profile-access__info {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-profile-access__info {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}
.p-profile-access__btn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-profile-access__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 0;
  }
}
.p-profile-awards__dl {
  margin-top: 3rem;
  display: grid;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-profile-awards__dl {
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 5rem;
  }
}
.p-profile-awards__dl dt {
  max-width: 32rem;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: var(--sub4);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-profile-awards__dl dt::before, .p-profile-awards__dl dt::after {
  content: "";
  width: 3.5rem;
  aspect-ratio: 3/10;
  background: url("../img/profile/award-slot.svg") no-repeat center/contain;
  display: block;
}
.p-profile-awards__dl dt::after {
  transform: scale(-1, 1);
}
.p-profile-awards__list {
  margin-top: 2rem;
}
.p-profile-awards__list li {
  line-height: 1.5;
  padding: 1rem 0;
  border-bottom: 0.1rem solid var(--line);
  display: grid;
  grid-template-columns: 3rem 1fr;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-profile-awards__list li {
    padding: 1.5rem 0;
  }
}
.p-profile-awards__list li::before {
  content: "";
  width: 2rem;
  aspect-ratio: 31/30;
  background: url("../img/profile/icon-cup.svg") no-repeat center/contain;
  display: inline-block;
}

.p-message-founder {
  margin-top: 5rem;
  padding-top: 5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-message-founder {
    margin-top: 8rem;
    padding-top: 8rem;
  }
}
.p-message-founder::after {
  content: "";
  width: calc(100% - 2rem);
  height: 80%;
  background-color: var(--base);
  border-top-right-radius: 2rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-message-founder::after {
    width: 80%;
    height: 67rem;
    border-top-right-radius: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-message-founder__main {
    display: grid;
    grid-template-columns: 35rem 1fr;
    gap: 5rem;
  }
}
.p-message-founder__img {
  width: 70%;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-message-founder__img {
    width: 35rem;
  }
}
.p-message-founder__img img {
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .p-message-founder__textarea {
    margin-top: 2rem;
    margin-right: 2rem;
  }
}
.p-message-founder__title {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-message-founder__title {
    font-size: 2.4rem;
  }
}
.p-message-founder__title span {
  font-size: 1.5rem;
}
.p-message-founder__lead {
  color: var(--main);
  margin-top: 1rem;
}
.p-message-founder__subtitle {
  font-size: 2rem;
  font-weight: bold;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-message-founder__subtitle {
    font-size: 2.2rem;
  }
}
.p-message-founder__text {
  margin-top: 1rem;
}
.p-message-founder__movie {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-message-founder__movie {
    margin-top: 10rem;
  }
}
.p-message-founder__youtube {
  padding: 0.2rem;
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-message-founder__youtube {
    width: 72rem;
    padding: 3rem;
    border-radius: 1.5rem;
    margin: 0 auto;
    box-sizing: content-box;
  }
}
.p-message-founder__movietitle {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-message-founder__movietitle {
    font-size: 2.4rem;
  }
}
.p-message-profile__wrap {
  padding: 5rem 2.5rem 3.5rem;
  margin-top: -1.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-message-profile__wrap {
    padding: 8rem 5rem 5rem;
    display: grid;
    grid-template-columns: 1fr 24rem;
    gap: 4rem;
  }
}
.p-message-profile__wrap::after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 1rem;
  background-color: var(--base);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-message-profile__text {
    line-height: 2;
  }
}
.p-message-profile__img {
  min-width: 24rem;
  width: 70%;
  aspect-ratio: 1;
  border-radius: 100vh;
  overflow: hidden;
  margin: 2rem auto 0;
}
.p-message-profile__link {
  margin-top: 3rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-message-profile__link {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
  }
}
.p-message-profile__link li a {
  min-width: 10rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
  background-color: var(--white);
  padding: 0.5rem 2rem;
  border-radius: 100vh;
  display: inline-block;
  transition: 0.3s;
}
.p-message-profile__link li a:hover {
  color: var(--white);
  background-color: var(--main);
}
.p-message-event__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-message-event__list {
    margin-top: 5rem;
  }
}
.p-message-event__btn {
  margin-top: 6rem;
}
.p-message-note__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-message-note__list {
    margin-top: 5rem;
  }
}
.p-message-note__btn {
  margin-top: 6rem;
}

.p-annual-report-latest__lead {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .p-annual-report-latest__lead {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 8rem;
  }
}
.p-annual-report-latest__wrap {
  margin-top: 6rem;
  display: grid;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-annual-report-latest__wrap {
    margin-top: 10rem;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
}
.p-annual-report-latest__item {
  padding: 4rem 2.5rem 3rem;
  background-color: var(--main-bg);
  border-top-left-radius: 2rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-annual-report-latest__item {
    padding: 6rem 6rem 5rem;
    border-top-left-radius: 4rem;
    display: grid;
    grid-template-columns: 23.5rem 1fr;
    gap: 3.5rem;
  }
}
.p-annual-report-latest__year {
  font-family: var(--en-font);
  font-size: 3.6rem;
  font-weight: 700;
  color: var(--main);
  position: absolute;
  top: -3.5rem;
  left: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-annual-report-latest__year {
    font-size: 4rem;
    left: 6rem;
  }
}
.p-annual-report-latest__year span {
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .p-annual-report-latest__year span {
    font-size: 2rem;
  }
}
.p-annual-report-latest__img {
  width: 100%;
  aspect-ratio: 47/66;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  position: relative;
}
.p-annual-report-latest__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-annual-report-latest__pdf {
  margin-top: 2rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-annual-report-latest__pdf {
    margin-top: 0;
    align-content: space-between;
  }
}
.p-annual-report-latest__pdf li a {
  width: 100%;
  font-size: 1.5rem;
  text-align: center;
  padding: 0.8rem 2rem;
  border-radius: 0.5rem;
  background-color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  .p-annual-report-latest__pdf li a {
    padding: 1.5rem 2rem;
    flex-direction: column;
  }
  .p-annual-report-latest__pdf li a:hover {
    color: var(--white);
    background-color: var(--main);
  }
}
.p-annual-report-latest__pdf li a::after {
  content: "";
  width: 1.8rem;
  aspect-ratio: 9/10;
  background: url("../img/common/icon-pdf.svg") no-repeat center/contain;
  margin-left: 1rem;
  margin-bottom: 0.4rem;
  display: inline-block;
  vertical-align: middle;
}
@media screen and (min-width: 768px) {
  .p-annual-report-latest__pdf li a::after {
    margin: 0.5rem 0 0;
  }
}
.p-annual-report-latest__pdf li:first-child a {
  color: var(--white);
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-annual-report-latest__pdf li:first-child a:hover {
    font-weight: bold;
    color: var(--main);
    background-color: var(--white);
  }
}
.p-annual-report-old__list {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem 2rem;
}
@media screen and (min-width: 768px) {
  .p-annual-report-old__list {
    margin-top: 8rem;
    grid-template-columns: repeat(5, 1fr);
    gap: 7.5rem;
  }
}
.p-annual-report-old__year {
  font-family: var(--en-font);
  font-size: 2.4rem;
  font-weight: 700;
  text-align: center;
  color: var(--main);
}
.p-annual-report-old__year span {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-annual-report-old__year span {
    font-size: 1.2rem;
  }
}
.p-annual-report-old__img {
  width: 100%;
  aspect-ratio: 47/66;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  position: relative;
  margin: 0.5rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-annual-report-old__img {
    width: 100%;
  }
}
.p-annual-report-old__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-annual-report-old__pdf {
  display: grid;
  gap: 0.5rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-annual-report-old__pdf {
    align-content: space-between;
    gap: 1rem;
  }
}
.p-annual-report-old__pdf li a {
  width: 100%;
  font-size: 1.1rem;
  text-align: center;
  padding: 0.8rem 1rem;
  border-radius: 0.5rem;
  background-color: var(--main-bg);
  display: block;
  transition: 0.4s;
}
@media screen and (min-width: 768px) {
  .p-annual-report-old__pdf li a {
    font-size: 1.3rem;
    padding: 0.5rem 2rem;
    flex-direction: column;
  }
  .p-annual-report-old__pdf li a:hover {
    color: var(--white);
    background-color: var(--main);
  }
}
.p-annual-report-old__pdf li:first-child a {
  color: var(--white);
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-annual-report-old__pdf li:first-child a:hover {
    font-weight: bold;
    color: var(--main);
    background-color: var(--main-bg);
  }
}
.p-annual-report-business__list {
  margin-top: 3rem;
  padding: 2.5rem;
  border-radius: 1rem;
  background-color: var(--main-bg);
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-annual-report-business__list {
    width: 80rem;
    margin: 5rem auto 0;
    padding: 4rem 5rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem 5rem;
  }
}
.p-annual-report-business__list li a {
  transition: 0.3s;
}
.p-annual-report-business__list li a:hover {
  color: var(--main);
}

.p-history-visual {
  padding-bottom: 23rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-history-visual {
    padding-bottom: 8rem;
  }
}
.p-history-visual::after {
  content: "";
  width: 100%;
  height: 26%;
  background: linear-gradient(0deg, rgba(var(--white-rgb), 0) 5%, rgba(var(--white-rgb), 1) 100%), url(../img/history/visual-bg.jpg) no-repeat bottom center/contain;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-history-visual::after {
    width: 55%;
    min-width: 78rem;
    max-width: 95rem;
    height: auto;
    aspect-ratio: 4/3;
    background: linear-gradient(90deg, rgba(var(--white-rgb), 1) 5%, rgba(var(--white-rgb), 0) 70%), url(../img/history/visual-bg.jpg) no-repeat bottom right/contain;
    left: initial;
    right: 0;
  }
}
.p-history-visual__heading {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-history-visual__heading {
    font-size: 3.4rem;
  }
}
.p-history-visual__lead {
  font-weight: bold;
  color: var(--main);
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-history-visual__lead {
    margin-top: 1.5rem;
  }
}
.p-history-visual__text {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-history-visual__text {
    line-height: 2.1;
    margin-top: 6rem;
  }
}
.p-history-visual__btn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-history-visual__btn {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-history-main__lead {
  font-weight: bold;
  color: var(--main);
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-history-main__lead {
    font-size: 1.8rem;
    text-align: center;
    margin-top: 5rem;
  }
}
.p-history-main__list {
  margin-top: 3rem;
}
.p-history-main__list > li {
  margin-top: -2rem;
}
.p-history-main__list > li::after {
  content: "";
  width: 0.1rem;
  height: 6rem;
  background-color: var(--sub-text);
  display: block;
  margin: 0 auto;
  transform: translateY(-2rem);
}
@media screen and (min-width: 768px) {
  .p-history-main__block {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  li:nth-child(even) .p-history-main__block {
    flex-direction: row-reverse;
  }
}
.p-history-main__year {
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
  color: var(--sub-text);
  transform: translateY(2rem);
}
@media screen and (min-width: 768px) {
  .p-history-main__year {
    width: 100%;
    font-size: 3.6rem;
  }
}
.p-history-main__year::after {
  content: "年";
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--sub-text);
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-history-main__year::after {
    font-size: 2rem;
  }
}
.p-history-main__yearLead {
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--main);
  display: block;
}
@media screen and (min-width: 768px) {
  .p-history-main__yearLead {
    font-size: 1.8rem;
  }
}
.p-history-main__desc {
  font-size: 1.5rem;
  padding: 1rem 2.5rem 4rem;
  background-color: var(--main-bg);
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-history-main__desc {
    width: calc(100% - 29rem);
    padding: 1rem 4rem 5rem;
  }
  .p-history-main__block:has(.p-history-main__img) .p-history-main__desc {
    min-height: 25rem;
  }
}
.p-history-main__desc a {
  text-decoration: underline;
  color: var(--main);
  transition: 0.3s;
}
.p-history-main__desc a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.p-history-main__text {
  margin-top: 3rem;
}
.p-history-main__item {
  margin-top: 3rem;
}
.p-history-main__item li {
  list-style: middle-dot;
  margin: 1rem 0 0 1.5em;
}
.p-history-main__dl {
  margin-top: 3rem;
}
.p-history-main__yearlist {
  margin-top: -0.5rem;
}
.p-history-main__yearlist li {
  list-style: middle-dot;
  margin: 1rem 0 0 1.5em;
}
.p-history-main__img {
  max-width: 31rem;
  width: 80%;
  margin: -2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-history-main__img {
    margin: 0 0 0 -2rem;
    position: relative;
  }
  li:nth-child(even) .p-history-main__img {
    margin: 0 -2rem 0 0;
  }
}
.p-history-main__img img {
  border-radius: 1rem;
}
.p-history-main__end {
  max-width: 90rem;
  padding: 4rem 3rem;
  border: 0.1rem solid var(--line);
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-history-main__end {
    padding: 6rem 3rem 5rem;
    margin: 2rem auto 0;
  }
}
.p-history-main__endTitle {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: var(--sub-text);
}
@media screen and (min-width: 768px) {
  .p-history-main__endTitle {
    font-size: 2.8rem;
  }
}
.p-history-main__endTitle span {
  font-size: 1.8rem;
}
.p-history-main__endBtn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-history-main__endBtn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 5rem auto 0;
  }
}

.p-people-slider {
  margin-top: 3rem;
}
.p-people-slider__list img {
  height: 23rem;
}
@media screen and (min-width: 768px) {
  .p-people-slider__list img {
    height: 37rem;
  }
}
.p-people-main__cat {
  padding: 2rem;
  background-color: var(--main-bg);
  border-radius: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
}
@media screen and (min-width: 768px) {
  .p-people-main__cat {
    padding: 2.5rem 4rem;
  }
}
.p-people-main__cat li {
  display: flex;
  align-items: center;
}
.p-people-main__cat li:not(:last-child):after {
  content: "";
  width: 0.1rem;
  height: 1rem;
  background-color: var(--sub-text);
  display: inline-block;
  margin: 0 1rem;
}
@media screen and (min-width: 768px) {
  .p-people-main__cat li:not(:last-child):after {
    margin: 0 1.5rem;
  }
}
.p-people-main__cat li a {
  font-size: 1.4rem;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-people-main__cat li a {
    font-size: 1.5rem;
    transition: 0.3s;
  }
  .p-people-main__cat li a:hover {
    opacity: 0.7;
  }
}
.p-people-main__member {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-people-main__member {
    margin-top: 9rem;
  }
}
.p-people-main__heading {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--main);
  padding-bottom: 1rem;
  border-bottom: 0.1rem solid var(--main);
}
@media screen and (min-width: 768px) {
  .p-people-main__heading {
    font-size: 2.8rem;
  }
}
.p-people-main__list {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5rem 2em;
}
@media screen and (min-width: 768px) {
  .p-people-main__list {
    margin-top: 5rem;
    grid-template-columns: repeat(5, 1fr);
  }
}
.p-people-main__img {
  width: 80%;
  aspect-ratio: 1/1;
  border-radius: 100vh;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}
.p-people-main__img img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
a:hover .p-people-main__img img {
  transform: scale(1.2);
}
.p-people-main__role {
  font-size: 1.2rem;
  line-height: 1.5;
  text-align: center;
  color: var(--sub-text);
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-people-main__role {
    font-size: 1.3rem;
  }
}
.p-people-main__name {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-people-main__name {
    font-size: 1.8rem;
    transition: 0.3s;
  }
  a:hover .p-people-main__name {
    color: var(--main);
  }
}

@media screen and (min-width: 768px) {
  .p-peopleStaff-main__wrap {
    display: grid;
    grid-template-columns: 25rem 1fr;
    gap: 7.5rem;
  }
}
.p-peopleStaff-main__img {
  width: 80%;
  aspect-ratio: 1/1;
  border-radius: 2rem;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-peopleStaff-main__img {
    width: 25rem;
  }
}
.p-peopleStaff-main__img img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.3s;
}
a:hover .p-peopleStaff-main__img img {
  transform: scale(1.2);
}
@media screen and (min-width: 768px) {
  .p-peopleStaff-main__block {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media screen and (max-width: 767px) {
  .p-peopleStaff-main__plofile {
    text-align: center;
    margin-top: 2rem;
  }
}
.p-peopleStaff-main__role {
  font-size: 1.3rem;
  color: var(--sub-text);
}
.p-peopleStaff-main__name {
  font-size: 2.6rem;
  font-weight: bold;
  margin-top: 0.5rem;
}
.p-peopleStaff-main__cat {
  font-weight: bold;
  text-align: center;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-peopleStaff-main__cat {
    font-size: 1.6rem;
    text-align: right;
  }
}
.p-peopleStaff-main__message {
  min-width: 100%;
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 0.1rem solid var(--line);
}
.p-peopleStaff-main__link {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.p-peopleStaff-main__link li a {
  font-weight: bold;
  color: var(--white);
  background-color: var(--main);
  padding: 1rem 3rem;
  border-radius: 100vh;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-peopleStaff-main__link li a {
    transition: 0.3s;
  }
  .p-peopleStaff-main__link li a:hover {
    opacity: 0.7;
  }
}
.p-peopleStaff-main__add {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .p-peopleStaff-main__add {
    margin-top: 10rem;
  }
}
.p-peopleStaff-main__title {
  font-size: 2.4rem;
  font-weight: bold;
  padding-bottom: 1rem;
  border-bottom: 0.1rem solid var(--line);
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-peopleStaff-main__title {
    font-size: 2.8rem;
  }
}
.p-peopleStaff-main__title::after {
  content: "";
  width: 5rem;
  height: 0.1rem;
  background-color: var(--main);
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-peopleStaff-main__detail {
  margin-top: 3rem;
}
.p-peopleStaff-article {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-peopleStaff-article {
    margin-top: 10rem;
  }
}
.p-peopleStaff-article__heading {
  font-size: 2.4rem;
  font-weight: bold;
}
.p-peopleStaff-article__heading span {
  font-size: 1.6rem;
}
.p-peopleStaff-article__list {
  margin-top: 2rem;
}
.p-peopleStaff-article__btn {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .p-peopleStaff-article__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 10rem auto 0;
  }
}

@media screen and (min-width: 768px) {
  .p-invite-us .p-page-head__img img {
    height: auto;
    top: -7rem;
  }
}
@media screen and (min-width: 768px) {
  .p-invite-us-message__wrap {
    display: grid;
    grid-template-columns: 65rem 1fr;
    gap: 4rem;
  }
}
.p-invite-us-message__heading {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-invite-us-message__heading {
    font-size: 2.8rem;
  }
}
.p-invite-us-message__text {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-message__text {
    margin-top: 5rem;
  }
}
.p-invite-us-message__img {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-invite-us-message__img {
    margin-top: 0;
  }
}
.p-invite-us-message__img img {
  width: 85%;
  border-radius: 1rem;
}
.p-invite-us-message__img img:nth-child(2) {
  width: 60%;
  margin: 1rem 0 0 auto;
}
@media screen and (min-width: 768px) {
  .p-invite-us-message__img img:nth-child(2) {
    width: 40%;
    margin-top: 1.5rem;
  }
}
.p-invite-us-message__btn {
  max-width: 32rem;
  margin: 5rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-invite-us-message__btn {
    margin-top: 8rem;
  }
}
.p-invite-us-lecturer__theme {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-lecturer__theme {
    margin-top: 5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3rem;
  }
}
.p-invite-us-lecturer__themeTitle {
  font-weight: bold;
  text-align: center;
}
.p-invite-us-lecturer__themeList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-lecturer__themeList {
    margin-top: 0;
  }
}
.p-invite-us-lecturer__themeList li button {
  font-size: 1.4rem;
  background-color: var(--main-bg);
  border-radius: 100vh;
  padding: 0.5rem 1.5rem;
  display: block;
  transition: 0.3s;
}
.p-invite-us-lecturer__themeList li button.is-active {
  color: var(--white);
  background-color: var(--main);
}
.p-invite-us-lecturer__list {
  margin-top: 4rem;
  display: grid;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-lecturer__list {
    margin-top: 8rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 5rem 8rem;
  }
}
.p-invite-us-lecturer__list > div {
  border-bottom: 0.3rem solid var(--main);
}
@media screen and (min-width: 768px) {
  .p-invite-us-lecturer__list dt {
    display: flex;
    align-items: center;
  }
}
.p-invite-us-lecturer__list dd {
  margin-top: 3rem;
  padding-bottom: 4rem;
}
.p-invite-us-lecturer__item {
  opacity: 1;
  transform: translateY(0);
  transition: all 0.5s ease-out;
}
@starting-style {
  .p-invite-us-lecturer__item {
    opacity: 0;
  }
}
.p-invite-us-lecturer__item.is-hidden {
  display: none;
  transform: translateY(20px);
  height: 0;
  margin: 0;
  padding: 0;
  overflow: hidden;
  pointer-events: none;
}
.p-invite-us-lecturer__img {
  width: 60%;
  max-width: 20rem;
  aspect-ratio: 1/1;
  border-radius: 100vh;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-invite-us-lecturer__img {
    margin: 0 3rem 0 0;
  }
}
.p-invite-us-lecturer__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-invite-us-lecturer__head {
  text-align: center;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-lecturer__head {
    margin-top: 0;
    text-align: left;
  }
}
.p-invite-us-lecturer__name {
  font-size: 1.8rem;
  font-weight: bold;
}
.p-invite-us-lecturer__name span {
  font-size: 1.3rem;
}
@media screen and (max-width: 767px) {
  .p-invite-us-lecturer__name span {
    display: block;
  }
}
.p-invite-us-lecturer__role {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--sub-text);
  margin-top: 1rem;
}
.p-invite-us-lecturer__tag {
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
  padding: 1rem;
  border-radius: 0.2rem;
  background-color: var(--main-bg);
}
@media screen and (max-width: 767px) {
  .p-invite-us-lecturer__tag {
    justify-content: center;
  }
}
.p-invite-us-lecturer__tag li {
  font-size: 1.3rem;
  line-height: 1;
}
.p-invite-us-lecturer__tag li + li {
  border-left: 0.1rem solid var(--line);
  padding-left: 1rem;
  margin-left: 1rem;
}
.p-invite-us-lecturer__detail li {
  margin-top: 2rem;
}
.p-invite-us-lecturer__title {
  font-weight: bold;
  color: var(--main);
}
.p-invite-us-lecturer__textarea {
  font-size: 1.5rem;
  margin-top: 1rem;
}
.p-invite-us-lecturer__plofileTitle {
  font-weight: bold;
  color: var(--main);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-invite-us-lecturer__plofileBlock {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
  transition: all 0.4s;
  position: relative;
}
.p-invite-us-lecturer__plofileBlock::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  background: linear-gradient(0deg, rgba(var(--white-rgb), 1) 10%, rgba(var(--white-rgb), 0) 80%);
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  transition: 0.8s;
  transition-delay: 0.1s;
}
.p-invite-us-lecturer__plofile:has(:checked) > div {
  display: block;
  overflow: initial;
}
.p-invite-us-lecturer__plofile:has(:checked) > div::before {
  opacity: 0;
}
.p-invite-us-lecturer__plofile:has(:checked) label::before {
  transform: rotate(180deg);
}
.p-invite-us-lecturer__plofileYoutube {
  margin-top: 3rem;
}
.p-invite-us-lecturer__more {
  font-size: 1.4rem;
  line-height: normal;
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer;
  transition: 0.3s;
}
.p-invite-us-lecturer__more:hover {
  opacity: 0.7;
}
.p-invite-us-lecturer__more::before, .p-invite-us-lecturer__more::after {
  content: "";
  display: inline-block;
  width: 1.3rem;
  height: 0.1rem;
  background-color: var(--main);
}
.p-invite-us-lecturer__more::after {
  margin-left: 0.5rem;
}
.p-invite-us-lecturer__more::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  transform: rotate(90deg);
  margin: auto 0;
  transition: 0.3s;
}
.p-invite-us-lecturer__note {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-lecturer__note {
    width: -moz-fit-content;
    width: fit-content;
    margin: 8rem auto 0;
  }
}
.p-invite-us-lecturer__note li {
  text-indent: -1em;
  margin-left: 1em;
}
.p-invite-us-lecturer__staff {
  margin-top: 4rem;
  text-align: center;
}
.p-invite-us-lecturer__staffBtn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-lecturer__staffBtn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 3rem auto 0;
  }
}
.p-invite-us-lecturer__btn {
  max-width: 32rem;
  margin: 5rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-invite-us-lecturer__btn {
    margin-top: 8rem;
  }
}
.p-invite-us-schedule__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-schedule__list {
    margin-top: 5rem;
  }
}
.p-invite-us-schedule__btn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-schedule__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 5rem auto 0;
  }
}
.p-invite-us-achievement:has(#tab01:checked) #pane01, .p-invite-us-achievement:has(#tab02:checked) #pane02, .p-invite-us-achievement:has(#tab03:checked) #pane03 {
  display: block;
}
.p-invite-us-achievement__lead {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-achievement__lead {
    text-align: center;
    margin-top: 5rem;
  }
}
.p-invite-us-achievement__nav {
  display: flex;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0.5rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-achievement__nav {
    gap: 1.5rem;
    margin-top: 5rem;
  }
}
.p-invite-us-achievement__input {
  display: none;
}
.p-invite-us-achievement__input:checked + .p-invite-us-achievement__label {
  color: var(--white);
  background-color: var(--main);
}
.p-invite-us-achievement__label {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  padding: 1rem 0.5rem;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
  background-color: var(--main-bg);
  cursor: pointer;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  transition: all 0.25s ease;
}
@media screen and (min-width: 768px) {
  .p-invite-us-achievement__label {
    font-size: 1.8rem;
    line-height: 6.5rem;
    padding: 0;
  }
}
.p-invite-us-achievement__label span {
  font-size: 1rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-achievement__label span {
    font-size: 1.3rem;
  }
}
.p-invite-us-achievement__panels {
  border: 0.1rem solid var(--main);
}
.p-invite-us-achievement__main {
  font-size: 1.4rem;
  padding: 2.5rem;
  display: none;
  animation: tabfadeIn 0.4s ease-out;
}
@media screen and (min-width: 768px) {
  .p-invite-us-achievement__main {
    font-size: 1.5rem;
    line-height: 2;
    padding: 4rem 3.5rem;
  }
}
@keyframes tabfadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.p-invite-us-achievement__logolist {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-achievement__logolist {
    grid-template-columns: repeat(5, 1fr);
    gap: 3rem;
  }
}
.p-invite-us-achievement__logolist li {
  max-height: 8rem;
}
.p-invite-us-achievement__logolist li img {
  width: 100%;
  height: 8rem;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-invite-us-achievement__list dt {
  font-weight: bold;
}
.p-invite-us-achievement__list dd ~ dt {
  margin-top: 2rem;
}
.p-invite-us-voice {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-invite-us-voice {
    padding: 10rem 0;
  }
}
.p-invite-us-voice__list {
  margin-top: 3rem;
  display: grid;
  gap: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-voice__list {
    margin-top: 5rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 5rem;
  }
}
.p-invite-us-voice__list li {
  padding: 2.5rem;
  background-color: var(--white);
  border-radius: 1rem;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
}
.p-invite-us-testimonials__main {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-testimonials__main {
    margin-top: 5rem;
  }
}
.p-invite-us-faq {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-invite-us-faq {
    padding: 10rem 0;
  }
}
.p-invite-us-faq__main {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-faq__main {
    margin-top: 5rem;
  }
}

.p-invite-us-contact-main__wrap {
  padding: 5rem 2.5rem;
  border-radius: 1rem;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-invite-us-contact-main__wrap {
    padding: 10rem 11rem;
    border-radius: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-invite-us-contact-main__lead {
    text-align: center;
  }
}
.p-invite-us-contact-main__form {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-invite-us-contact-main__form {
    margin-top: 8rem;
  }
}

.p-activity__list {
  display: grid;
  gap: 3rem;
}
.p-activity__list li {
  padding: 2.5rem;
  border-radius: 1rem;
  background-color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-activity__list li {
    padding: 4rem;
    display: grid;
    grid-template-columns: 34.5rem 1fr;
    gap: 3.5rem;
  }
}
.p-activity__list--bg li {
  background-color: var(--main-bg);
}
.p-activity__img {
  border-radius: 1rem;
  overflow: hidden;
}
.p-activity__img img {
  transition: 0.5s;
}
.p-activity__img img:hover {
  transform: scale(1.2);
}
.p-activity__desc {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-activity__desc {
    margin-top: 0;
  }
}
.p-activity__title {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-activity__title {
    font-size: 2.6rem;
    text-align: left;
  }
}
.p-activity__text {
  margin-top: 1rem;
}
.p-activity__btn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-activity__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
  }
}
.p-activity-vision__wrap {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-vision__wrap {
    margin-top: 5rem;
    grid-template-columns: 47.7rem 1fr;
    gap: 8rem;
    align-items: center;
  }
}
.p-activity-vision__text {
  font-size: 1.8rem;
  line-height: 2.4;
}
.p-activity-initiative {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-activity-initiative {
    padding: 10rem 0;
  }
}
.p-activity-initiative__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-initiative__list {
    margin-top: 5rem;
  }
}
.p-activity-issues__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-issues__list {
    margin-top: 5rem;
  }
}
.p-activity-areas {
  padding-bottom: 8rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-activity-areas {
    padding-bottom: 12rem;
  }
}
.p-activity-areas::after {
  content: "";
  width: 100%;
  height: calc(100% - 23rem);
  background-color: var(--main);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-activity-areas::after {
    height: calc(100% - 50rem);
  }
}
.p-activity-areas__map {
  margin: 3rem -1rem 0;
  border: 0.1rem solid var(--line);
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-activity-areas__map {
    margin: 5rem 0 0;
    border-radius: 2rem;
  }
}
.p-activity-areas__list {
  margin-top: 3rem;
  display: grid;
  gap: 3rem 2rem;
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (min-width: 768px) {
  .p-activity-areas__list {
    margin-top: 8rem;
    gap: 4rem;
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (min-width: 768px) {
  .p-activity-areas__list li a:hover img {
    opacity: 1;
  }
}
@media screen and (min-width: 768px) {
  .p-activity-areas__list li a img {
    opacity: 0.75;
    transition: 0.3s;
  }
}
.p-activity-areas__img {
  width: 100%;
  aspect-ratio: 27/20;
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-activity-areas__img {
    border-radius: 1rem;
  }
}
.p-activity-areas__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-activity-areas__name {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
  color: var(--white);
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-areas__name {
    font-size: 2rem;
  }
}

.p-philosophy-about__vision {
  margin-top: 5rem;
  border: 0.1rem solid var(--main);
  border-radius: 1rem;
  padding: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-about__vision {
    margin-top: 10rem;
    padding: 4rem 5rem 4rem 2rem;
    display: grid;
    grid-template-columns: 20rem 1fr;
    gap: 0 2rem;
    align-items: center;
  }
}
.p-philosophy-about__title {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-philosophy-about__title {
    font-size: 2.6rem;
    grid-column: 1/span 1;
    grid-row: 1/span 2;
  }
}
.p-philosophy-about__subtitle {
  font-size: 2rem;
  font-weight: bold;
  color: var(--main);
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-about__subtitle {
    font-size: 2.4rem;
    margin-top: 0;
    grid-column: 2/span 1;
  }
}
.p-philosophy-about__text {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-about__text {
    grid-column: 2/span 1;
  }
}
.p-philosophy-reason__wrap {
  display: grid;
  grid-template-columns: 8rem 1fr;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-philosophy-reason__wrap {
    grid-template-columns: 15rem 1fr;
    gap: 2rem;
  }
}
.p-philosophy-reason__heading {
  height: -moz-fit-content;
  height: fit-content;
  font-size: 3.6rem;
  font-weight: bold;
  writing-mode: vertical-rl;
  margin-right: auto;
  position: sticky;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p-philosophy-reason__heading {
    font-size: 4rem;
    margin: 0 auto;
  }
}
.p-philosophy-reason__head {
  margin-top: 1rem;
}
.p-philosophy-reason__headTitle {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .p-philosophy-reason__headTitle {
    font-size: 2.6rem;
  }
}
.p-philosophy-reason__headLead {
  margin-top: 1rem;
}
.p-philosophy-reason__list {
  margin-top: 3rem;
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-reason__list {
    gap: 3rem;
  }
}
.p-philosophy-reason__list li {
  overflow: hidden;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-reason__list li {
    padding: 3rem 0 3rem 3rem;
    display: grid;
    grid-template-columns: 1fr 25rem;
    gap: 3rem;
  }
  .p-philosophy-reason__list li:nth-child(odd) {
    background-color: var(--main-bg);
  }
}
.p-philosophy-reason__title {
  font-size: 2rem;
  font-weight: bold;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-philosophy-reason__title {
    font-size: 2.2rem;
  }
}
.p-philosophy-reason__text {
  margin-top: 1rem;
}
.p-philosophy-reason__img {
  width: 100%;
  aspect-ratio: 47/35;
  margin-top: 1rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-philosophy-reason__img {
    height: calc(100% + 6rem);
    margin: -3rem 0;
  }
}
.p-philosophy-reason__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-philosophy-cycle {
  position: relative;
  padding-bottom: 6rem;
}
.p-philosophy-cycle__wrap {
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-cycle__wrap {
    grid-template-columns: 1fr 43.5rem;
    gap: 5rem;
  }
}
.p-philosophy-cycle__heading {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-philosophy-cycle__heading {
    font-size: 2.6rem;
    text-align: left;
    display: grid;
    grid-template-columns: 7rem 1fr;
    gap: 0 3rem;
    align-items: center;
  }
}
.p-philosophy-cycle__heading::before {
  content: "";
  width: 6rem;
  aspect-ratio: 16/15;
  background: url("../img/philosophy/cycle-icon.svg") no-repeat center/contain;
  display: block;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-philosophy-cycle__heading::before {
    grid-row: span 2/span 2;
    margin-left: 1rem;
  }
}
.p-philosophy-cycle__heading span {
  color: var(--text);
  display: block;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-cycle__heading span {
    margin-top: 0;
    grid-column-start: 2;
  }
}
.p-philosophy-cycle__text {
  margin-top: 2rem;
}
.p-philosophy-cycle__btn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-philosophy-cycle__btn {
    width: -moz-fit-content;
    width: fit-content;
    position: initial;
    margin: 3rem 0 0 0;
  }
}
.p-philosophy-cycle__img {
  margin-top: 1rem;
}
.p-philosophy-cycle__img img {
  border-radius: 1rem;
}
.p-philosophy-support {
  padding-top: 8rem;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-philosophy-support {
    padding-top: 12rem;
  }
}
.p-philosophy-support__heading {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-philosophy-support__heading {
    font-size: 2.6rem;
  }
}
.p-philosophy-support__heading span {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-philosophy-support__heading span {
    margin-bottom: 1rem;
  }
}
.p-philosophy-support__lead {
  border-top: 0.1rem solid var(--ruled-line);
  border-bottom: 0.1rem solid var(--ruled-line);
  padding: 1rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-support__lead {
    width: -moz-fit-content;
    width: fit-content;
    font-size: 1.8rem;
    padding: 1.5rem;
    margin: 3rem auto 0;
  }
}
.p-philosophy-support__wrap {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-support__wrap {
    margin-top: 8rem;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
  }
}
.p-philosophy-support__item {
  padding: 3.5rem 2.5rem;
  border-radius: 1rem;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  background-color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-philosophy-support__item {
    padding: 4rem;
  }
}
.p-philosophy-support__item img {
  max-width: 9.2rem;
  margin: 2rem auto 0;
  display: block;
}
.p-philosophy-support__selection {
  font-weight: bold;
  text-align: center;
  color: var(--main);
  display: block;
}
@media screen and (min-width: 768px) {
  .p-philosophy-support__selection {
    font-size: 1.8rem;
  }
}
.p-philosophy-support__title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: var(--accent);
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-support__title {
    font-size: 2.4rem;
  }
}
.p-philosophy-support__text {
  margin-top: 3rem;
}
.p-philosophy-belief {
  padding: 17rem 0 5rem;
  margin-top: -12rem;
  color: var(--white);
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-philosophy-belief {
    padding: 25rem 0 10rem;
    margin-top: -15rem;
  }
}
.p-philosophy-belief__heading {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-philosophy-belief__heading {
    font-size: 2.6rem;
  }
}
.p-philosophy-belief__title {
  font-size: 2.6rem;
  font-weight: bold;
  color: var(--sub);
  text-align: center;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-belief__title {
    font-size: 3rem;
    margin-top: 2rem;
  }
}
.p-philosophy-belief__lead {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-philosophy-belief__lead {
    margin-top: 4rem;
    text-align: center;
  }
}

.p-peace-reason__wrap {
  display: grid;
  grid-template-columns: 8rem 1fr;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-peace-reason__wrap {
    grid-template-columns: 15rem 1fr;
    gap: 2rem;
  }
}
.p-peace-reason__heading {
  height: -moz-fit-content;
  height: fit-content;
  font-size: 3.6rem;
  font-weight: bold;
  writing-mode: vertical-rl;
  margin-right: auto;
  position: sticky;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p-peace-reason__heading {
    font-size: 4rem;
    margin: 0 auto;
  }
}
.p-peace-reason__content {
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-peace-reason__content {
    gap: 6rem;
  }
}
@media screen and (min-width: 768px) {
  .p-peace-reason__item {
    display: grid;
    grid-template-columns: 62rem 1fr;
    gap: 5rem;
  }
}
.p-peace-reason__title {
  font-size: 2rem;
  font-weight: bold;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-peace-reason__title {
    font-size: 2.4rem;
  }
}
.p-peace-reason__text {
  margin-top: 1rem;
}
.p-peace-reason__img {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-peace-reason__img {
    margin-top: 0;
  }
}
.p-peace-solution {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-peace-solution {
    padding: 12rem 0;
  }
}
.p-peace-solution__heading {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-peace-solution__heading {
    font-size: 3.2rem;
  }
}
.p-peace-solution__headlead {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-peace-solution__headlead {
    font-size: 1.8rem;
    text-align: center;
  }
}
.p-peace-solution__wrap {
  margin-top: 4rem;
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-peace-solution__wrap {
    margin-top: 7rem;
    grid-template-columns: 1fr 1fr;
    gap: 7rem;
  }
}
.p-peace-solution__title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-peace-solution__title {
    font-size: 2.4rem;
  }
}
.p-peace-solution__lead {
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-peace-solution__lead {
    font-size: 1.5rem;
  }
}
.p-peace-solution__img {
  margin-top: 2rem;
}
.p-peace-solution__img img {
  border-radius: 1rem;
}
.p-peace-solution__text {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-peace-solution__text {
    margin-top: 2rem;
  }
}
.p-peace-solution__summary {
  padding: 3.5rem 2.5rem;
  border-radius: 1rem;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  background-color: var(--white);
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-peace-solution__summary {
    width: 102.4rem;
    padding: 5rem 5rem 6rem;
    margin: 6rem auto 0;
  }
}
.p-peace-solution__summary .p-peace-solution__text {
  margin-top: 3rem;
}
.p-peace-report__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-peace-report__list {
    margin-top: 5rem;
  }
}
.p-peace-report__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-peace-report__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 8rem auto 0;
  }
}

.p-awareness-reason__wrap {
  display: grid;
  grid-template-columns: 8rem 1fr;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__wrap {
    grid-template-columns: 15rem 1fr;
    gap: 2rem;
  }
}
.p-awareness-reason__heading {
  height: -moz-fit-content;
  height: fit-content;
  font-size: 3.6rem;
  font-weight: bold;
  writing-mode: vertical-rl;
  margin-right: auto;
  position: sticky;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__heading {
    font-size: 4rem;
    margin: 0 auto;
  }
}
.p-awareness-reason__content {
  display: grid;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__content {
    gap: 6rem;
  }
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__item {
    display: grid;
    grid-template-columns: 13.5rem 1fr;
    gap: 2rem;
  }
}
.p-awareness-reason__icon {
  width: 100%;
  background-color: var(--main-bg);
  padding: 1rem;
  border-radius: 0.5rem;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__icon {
    padding: 0;
  }
}
.p-awareness-reason__icon img {
  width: 10rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__icon img {
    width: 13.5rem;
  }
}
.p-awareness-reason__title {
  font-size: 2rem;
  font-weight: bold;
  color: var(--accent);
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__title {
    font-size: 2.4rem;
    margin-top: 0;
  }
}
.p-awareness-reason__text {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__text:nth-of-type(2) {
    margin-top: 3rem;
  }
}
.p-awareness-reason__img {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__img {
    margin-top: 0;
  }
}
.p-awareness-reason__dl {
  font-weight: bold;
  color: var(--main);
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-reason__dl {
    margin-top: 2rem;
  }
}
.p-awareness-reason__dl dd {
  text-indent: -1.3em;
  margin-left: 1.3em;
  padding-top: 0.5rem;
}
.p-awareness-solution {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-awareness-solution {
    padding: 12rem 0;
  }
}
.p-awareness-solution__heading {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__heading {
    font-size: 3.2rem;
  }
}
.p-awareness-solution__item {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__item {
    margin-top: 8rem;
  }
}
.p-awareness-solution__title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__title {
    font-size: 2.4rem;
  }
}
.p-awareness-solution__lead {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__lead {
    font-size: 2rem;
  }
}
.p-awareness-solution__list {
  margin-top: 2rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
    margin-top: 3rem;
  }
}
.p-awareness-solution__list li {
  padding: 3rem 2.5rem;
  border-radius: 1rem;
  background-color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__list li {
    padding: 4rem;
    display: flex;
    flex-direction: column;
  }
}
.p-awareness-solution__listTitle {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__listTitle {
    font-size: 2.4rem;
  }
}
.p-awareness-solution__listText {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__listText {
    margin-bottom: 5rem;
  }
}
.p-awareness-solution__listBtn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__listBtn {
    width: -moz-fit-content;
    width: fit-content;
    margin: auto auto 0;
  }
}
.p-awareness-solution__block {
  padding: 3rem 2.5rem;
  border-radius: 1rem;
  background-color: var(--white);
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__block {
    padding: 4rem;
    margin-top: 3rem;
  }
}
.p-awareness-solution__btn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-solution__btn {
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-awareness-report__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-report__list {
    margin-top: 5rem;
  }
}
.p-awareness-report__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-awareness-report__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 8rem auto 0;
  }
}

.p-independence-about__process {
  margin-top: 3rem;
  border: 0.1rem solid var(--main);
  border-radius: 1rem;
  padding: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-independence-about__process {
    margin-top: 8rem;
    padding: 3.5rem;
    display: grid;
    grid-template-columns: 30rem 1fr;
    align-items: center;
  }
}
.p-independence-about__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-independence-about__title {
    font-size: 2.4rem;
    text-align: left;
  }
}
.p-independence-about__text {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-independence-about__text {
    margin-top: 0;
  }
}
.p-independence-reason__wrap {
  display: grid;
  grid-template-columns: 8rem 1fr;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-independence-reason__wrap {
    grid-template-columns: 15rem 1fr;
    gap: 2rem;
  }
}
.p-independence-reason__heading {
  height: -moz-fit-content;
  height: fit-content;
  font-size: 3.6rem;
  font-weight: bold;
  writing-mode: vertical-rl;
  margin-right: auto;
  position: sticky;
  top: 0;
}
@media screen and (min-width: 768px) {
  .p-independence-reason__heading {
    font-size: 4rem;
    margin: 0 auto;
  }
}
.p-independence-reason__head {
  margin-top: 1rem;
}
.p-independence-reason__headTitle {
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .p-independence-reason__headTitle {
    font-size: 2.6rem;
  }
}
.p-independence-reason__headLead {
  margin-top: 1rem;
}
.p-independence-reason__list {
  margin-top: 3rem;
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-independence-reason__list {
    gap: 3rem;
  }
}
.p-independence-reason__list li {
  overflow: hidden;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-independence-reason__list li {
    padding: 3rem 0 3rem 3rem;
    display: grid;
    grid-template-columns: 1fr 29rem;
    gap: 3rem;
  }
  .p-independence-reason__list li:nth-child(odd) {
    background-color: var(--main-bg);
  }
}
.p-independence-reason__title {
  font-size: 2rem;
  font-weight: bold;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-independence-reason__title {
    font-size: 2.2rem;
  }
}
.p-independence-reason__text {
  margin-top: 1rem;
}
.p-independence-reason__img {
  width: 100%;
  aspect-ratio: 58/43;
  margin-top: 1rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-independence-reason__img {
    height: calc(100% + 6rem);
    margin: -3rem 0;
  }
}
.p-independence-reason__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-independence-approach {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-independence-approach {
    padding: 12rem 0;
  }
}
.p-independence-approach__heading {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-independence-approach__heading {
    font-size: 3.2rem;
  }
}
.p-independence-approach__headlead {
  margin-top: 2rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-independence-approach__headlead {
    font-size: 1.8rem;
  }
}
.p-independence-approach__headtext {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-independence-approach__headtext {
    text-align: center;
    margin-top: 5rem;
  }
}
.p-independence-approach__list {
  margin-top: 6rem;
  display: grid;
  gap: 6rem;
  counter-reset: number 0;
}
@media screen and (min-width: 768px) {
  .p-independence-approach__list {
    margin-top: 10rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem;
  }
}
.p-independence-approach__list li {
  position: relative;
}
.p-independence-approach__no {
  font-family: var(--en-font);
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--sub);
  display: inline-block;
  position: absolute;
  top: -2.5rem;
  left: 0;
  transform: rotate(-15deg);
}
@media screen and (min-width: 768px) {
  .p-independence-approach__no {
    font-size: 2rem;
    top: -3.5rem;
  }
}
.p-independence-approach__no::after {
  counter-increment: number 1;
  content: "." counter(number);
  font-family: var(--en-font);
  font-size: 2.6rem;
  font-weight: 400;
  color: var(--sub);
}
@media screen and (min-width: 768px) {
  .p-independence-approach__no::after {
    font-size: 3rem;
  }
}
.p-independence-approach__title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-independence-approach__title {
    font-size: 2.4rem;
  }
}
.p-independence-approach__subtitle {
  font-weight: bold;
  text-align: center;
  display: block;
}
.p-independence-approach__lead {
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-independence-approach__lead {
    font-size: 1.5rem;
  }
}
.p-independence-approach__img {
  margin-top: 2rem;
}
.p-independence-approach__img img {
  border-radius: 1rem;
}
.p-independence-approach__text {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-independence-approach__text {
    margin-top: 2rem;
  }
}
.p-independence-report__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-independence-report__list {
    margin-top: 5rem;
  }
}
.p-independence-report__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-independence-report__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 8rem auto 0;
  }
}

@media screen and (min-width: 768px) {
  .p-challenges__landmine img {
    height: auto;
    top: initial;
    bottom: 0;
  }
}
.p-challenges-about__explanation {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__explanation {
    margin-top: 5rem;
  }
}
.p-challenges-about__wrap {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__wrap {
    margin-top: 10rem;
  }
}
.p-challenges-about__subtitle {
  font-size: 2rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (max-width: 767px) {
  .p-challenges-about__subtitle {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .p-challenges-about__subtitle {
    grid-column: span 2/span 2;
  }
}
.p-challenges-about__circle {
  margin-top: 4rem;
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__circle {
    margin-top: 8rem;
    grid-template-columns: 64.5rem 1fr;
    gap: 4rem;
    align-items: center;
  }
}
.p-challenges-about__circleText {
  padding: 2.5rem;
  border-radius: 10px;
  background-color: var(--main-bg);
}
.p-challenges-about__number {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__number {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}
.p-challenges-about__number:nth-of-type(2) {
  border-top: 1px solid var(--main);
  padding-top: 3rem;
}
.p-challenges-about__number li {
  height: 11rem;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__number li {
    height: 18rem;
  }
}
.p-challenges-about__number li + li {
  border-top: 1px solid var(--main);
  padding-top: 2rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__number li + li {
    border-top: 0;
    border-left: 1px solid var(--main);
    padding-top: 0;
    margin-top: 0;
  }
}
.p-challenges-about__number li img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-challenges-about__map {
  margin-top: 1.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__map {
    margin-top: 2rem;
  }
}
.p-challenges-about__map::before {
  content: "";
  width: 100%;
  height: 100%;
  border: 1px solid var(--main);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.p-challenges-about__block {
  margin-top: 4rem;
}
.p-challenges-about__list {
  margin-top: 2rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__list {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 5rem;
  }
}
.p-challenges-about__item {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--white);
  background-color: var(--main);
  padding: 1rem;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__item {
    font-size: 2rem;
  }
}
li:first-child .p-challenges-about__item {
  color: var(--main);
  background-color: var(--sub);
}
.p-challenges-about__itemlist {
  display: grid;
  grid-template-columns: 65% 1fr;
  gap: 1rem;
  margin-top: 1.5rem;
}
.p-challenges-about__itemlist dd {
  font-size: 2rem;
  font-weight: bold;
  text-align: right;
  line-height: normal;
}
.p-challenges-about__itemlist dd::after {
  content: "人";
  font-size: 1.4rem;
  display: inline-block;
}
.p-challenges-about__source {
  font-size: 1.1rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-about__source {
    font-size: 1.2rem;
    text-align: right;
    margin-top: 5rem;
  }
}
.p-challenges-factors {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-challenges-factors {
    padding: 10rem 0;
  }
}
.p-challenges-factors__headLead {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__headLead {
    text-align: center;
    margin-top: 5rem;
  }
}
.p-challenges-factors__wrap {
  padding: 3rem 2.5rem;
  border-radius: 10px;
  margin-top: 3rem;
  background-color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__wrap {
    padding: 5rem 4rem;
    margin-top: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__head {
    display: grid;
    grid-template-columns: 38rem 1fr;
    gap: 3rem;
  }
  .p-challenges-factors__head--center {
    align-items: center;
  }
}
.p-challenges-factors__head:not(:first-of-type) {
  margin-top: 4rem;
  padding-top: 4rem;
  border-top: 1px solid var(--line);
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__head:not(:first-of-type) {
    margin-top: 6rem;
    padding-top: 6rem;
  }
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__img {
    max-height: 25rem;
    margin: 0 auto;
  }
}
.p-challenges-factors__img img {
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__img img {
    height: 100%;
  }
}
.p-challenges-factors__block {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__block {
    margin-top: 0;
  }
}
.p-challenges-factors__area {
  font-weight: bold;
  color: var(--white);
  background-color: var(--main);
  padding: 0.2rem 1.5rem;
  border-radius: 5px;
  margin-bottom: 0.5rem;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__area {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}
.p-challenges-factors__title {
  font-size: 2.2rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__title {
    font-size: 2.4rem;
  }
}
.p-challenges-factors__lead {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__lead {
    margin-top: 2rem;
  }
}
.p-challenges-factors__dl {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__dl {
    margin-top: 4rem;
    display: grid;
    grid-template-columns: 23rem 1fr;
    gap: 2rem;
    align-items: center;
  }
}
.p-challenges-factors__dl dt {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  padding: 1rem;
  color: var(--main);
  background-color: var(--main-bg);
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__dl dt {
    padding: 3rem 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-challenges-factors__dl dd {
    margin-top: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .p-challenges-factors__dl dd ~ dt {
    margin-top: 3rem;
  }
}
.p-challenges-factors__message {
  font-weight: bold;
  color: var(--main);
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__message {
    font-size: 1.8rem;
    text-align: center;
    margin-top: 5rem;
  }
}
.p-challenges-factors__source {
  font-size: 1.1rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-factors__source {
    font-size: 1.2rem;
    text-align: center;
    margin-top: 5rem;
  }
}
.p-challenges-factors__voice {
  margin-top: 5rem;
}
.p-challenges-approach__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-approach__title {
    font-size: 2.6rem;
    margin-top: 5rem;
  }
}
.p-challenges-approach__lead {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-approach__lead {
    text-align: center;
  }
}
.p-challenges-approach__list {
  margin-top: 5rem;
  display: grid;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-approach__list {
    margin-top: 8rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 768px) {
  .p-challenges-approach__list--four {
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 4rem;
  }
}
.p-challenges-approach__subtitle {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-challenges-approach__subtitle {
    font-size: 2.4rem;
  }
}
.p-challenges-approach__subtitle span {
  font-size: 1.5rem;
  color: var(--text);
  display: block;
}
.p-challenges-approach__illust {
  max-width: 24rem;
  margin: 2rem auto 0;
}
.p-challenges-approach__text {
  margin-top: 1rem;
}
.p-challenges-approach__voice {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-approach__voice {
    margin-top: 10rem;
  }
}
.p-challenges-better {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-challenges-better {
    padding: 10rem 0;
  }
}
.p-challenges-better__explanation {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-better__explanation {
    margin-top: 5rem;
  }
}
.p-challenges-activity__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-activity__list {
    margin-top: 5rem;
  }
}
.p-challenges-activity__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-activity__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 6rem auto 0;
  }
}
.p-challenges-server {
  padding: 5rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-challenges-server {
    padding: 10rem 0;
  }
}
.p-challenges-server__column {
  display: grid;
  gap: 3rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-server__column {
    grid-template-columns: 60rem 1fr;
    gap: 6rem;
    margin-top: 5rem;
  }
}
.p-challenges-server__title {
  font-size: 2.6rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-challenges-server__title {
    font-size: 2.8rem;
  }
}
.p-challenges-server__text {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-challenges-server__text {
    margin-bottom: 3rem;
  }
}
.p-challenges-server__text a {
  color: var(--main);
  text-decoration: underline;
}
.p-challenges-server__text a:hover {
  text-decoration: none;
}
.p-challenges-server__img {
  margin-top: 3rem;
  border: 5px solid var(--white);
}
@media screen and (min-width: 768px) {
  .p-challenges-server__img {
    margin-top: 0;
    border: 10px solid var(--white);
  }
}

.p-activity-area-info__wrap {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-info__wrap {
    margin-top: 5rem;
    display: grid;
    grid-template-columns: 40rem 1fr;
    gap: 0 5rem;
  }
  .p-activity-area-info__wrap:not(:has(.p-activity-area-info__map)) {
    display: flex;
    justify-content: center;
  }
}
.p-activity-area-info__dl {
  margin-top: 2rem;
  border-bottom: 1px solid var(--line);
}
@media screen and (min-width: 768px) {
  .p-activity-area-info__dl {
    height: -moz-fit-content;
    height: fit-content;
    margin-top: 0;
    display: grid;
    grid-template-columns: 14rem 1fr;
  }
}
.p-activity-area-info__dl dt {
  text-align: center;
  padding: 1rem 1rem;
  background-color: var(--base-bg);
}
@media screen and (min-width: 768px) {
  .p-activity-area-info__dl dt {
    display: flex;
    align-items: center;
    justify-content: center;
    border-top: 1px solid var(--line);
  }
}
.p-activity-area-info__dl dd {
  padding: 1.5rem 0;
}
@media screen and (min-width: 768px) {
  .p-activity-area-info__dl dd {
    border-top: 1px solid var(--line);
    padding: 1.5rem;
  }
}
.p-activity-area-info__dl dd a {
  color: var(--main);
  text-decoration: underline;
}
.p-activity-area-info__dl dd a:hover {
  text-decoration: none;
}
.p-activity-area-info__source {
  text-align: right;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-info__source {
    grid-row: 2;
    grid-column: 2;
  }
}
.p-activity-area-info__source a {
  font-size: 1.5rem;
  color: var(--main);
}
.p-activity-area-info__source a:hover {
  text-decoration: underline;
}
.p-activity-area-issue__columns {
  display: grid;
  gap: 5rem;
}
.p-activity-area-issue__explanation {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-issue__explanation {
    margin-top: 5rem;
  }
}
.p-activity-area-issue__cambodia {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-issue__cambodia {
    margin-top: 10rem;
  }
}
.p-activity-area-issue__cambodiaTitle {
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-activity-area-issue__cambodiaTitle {
    font-size: 2.6rem;
    text-align: center;
  }
}
.p-activity-area-issue__cambodiaSource {
  font-size: 1rem;
  margin-top: 1rem;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-activity-area-issue__cambodiaSource {
    font-size: 1.1rem;
    text-align: center;
  }
}
.p-activity-area-issue__cambodiaIllst {
  max-width: 38rem;
  margin: 2rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-activity-area-issue__cambodiaIllst {
    margin-top: 4rem;
  }
}
.p-activity-area-issue__cambodiaText {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-issue__cambodiaText {
    text-align: center;
    line-height: 2.2;
    margin-top: 8rem;
  }
}
.p-activity-area-issue__congoLead {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-issue__congoLead {
    font-size: 1.8rem;
    text-align: center;
    line-height: 2;
    margin-top: 8rem;
  }
}
.p-activity-area-approach {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach {
    padding: 10rem 0;
  }
}
.p-activity-area-approach__wrap {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__wrap {
    margin-top: 6rem;
    display: grid;
    grid-template-columns: 55rem 1fr;
    gap: 5rem;
    align-items: center;
  }
}
.p-activity-area-approach__img {
  position: relative;
}
.p-activity-area-approach__img img {
  border-radius: 10px;
}
.p-activity-area-approach__name {
  width: 15rem;
  position: absolute;
  top: -2rem;
  left: -1.5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__name {
    width: 22rem;
    top: -3rem;
  }
}
.p-activity-area-approach__block {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__block {
    margin-top: 0;
  }
}
.p-activity-area-approach__lead {
  font-weight: bold;
  line-height: 1.5;
  color: var(--white);
  background-color: var(--main);
  padding: 0.3rem 1rem;
  border-radius: 3px;
  margin-bottom: 1rem;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__lead {
    font-size: 1.8rem;
    margin-bottom: 1.5rem;
  }
}
.p-activity-area-approach__title {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__title {
    font-size: 2.8rem;
  }
}
.p-activity-area-approach__text {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__text {
    margin-top: 2rem;
  }
}
.p-activity-area-approach__content {
  padding: 3.5rem 2.5rem;
  border-radius: 10px;
  background-color: var(--white);
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__content {
    padding: 6rem 4rem 8rem;
    margin-top: 6rem;
  }
}
.p-activity-area-approach__head {
  text-align: center;
}
.p-activity-area-approach__item {
  font-size: 1.8rem;
  font-weight: bold;
  background-color: var(--sub);
  border-radius: 5px;
  padding: 0 1.5rem;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__item {
    font-size: 2rem;
  }
}
.p-activity-area-approach__heading {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__heading {
    font-size: 3rem;
    margin-top: 2rem;
  }
}
.p-activity-area-approach__headlead {
  width: -moz-fit-content;
  width: fit-content;
  font-weight: bold;
  text-align: left;
  padding: 1rem 1.5rem;
  border-radius: 5px;
  color: var(--white);
  background-color: var(--main);
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__headlead {
    font-size: 1.8rem;
    padding: 0.5rem 1.5rem;
    margin: 4rem auto 0;
  }
}
.p-activity-area-approach__comment {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-activity-area-approach__comment {
    font-size: 1.5rem;
    text-align: left;
    margin-top: 1rem;
  }
}
.p-activity-area-approach__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__list {
    margin-top: 6rem;
  }
}
.p-activity-area-approach__list--irregular {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__list--irregular {
    margin-top: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__list li {
    display: grid;
    grid-template-columns: 38rem 1fr;
    gap: 0 4rem;
  }
}
.p-activity-area-approach__list li + li {
  border-top: 1px solid var(--line);
  padding-top: 4rem;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__list li + li {
    padding-top: 7rem;
    margin-top: 7rem;
  }
}
.p-activity-area-approach__listImg img {
  border-radius: 10px;
}
.p-activity-area-approach__listBlock {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__listBlock {
    margin-top: 0;
  }
}
.p-activity-area-approach__listUrgent {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--sub3);
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__listUrgent {
    font-size: 2rem;
  }
}
.p-activity-area-approach__listTitle {
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__listTitle {
    font-size: 2.4rem;
  }
}
.p-activity-area-approach__listTitle span {
  font-size: 1.6rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__listTitle span {
    font-size: 1.8rem;
  }
}
.p-activity-area-approach__listText {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__listText {
    margin-top: 2rem;
  }
}
.p-activity-area-approach__listDl dt {
  font-size: 1.8rem;
  font-weight: bold;
  color: var(--accent);
  margin-top: 2rem;
}
.p-activity-area-approach__listBtn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-approach__listBtn {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 3rem;
    margin-left: auto;
  }
}
.p-activity-area-project__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-project__list {
    margin-top: 5rem;
  }
}
.p-activity-area-project__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-project__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 6rem auto 0;
  }
}
.p-activity-area-activity {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-activity-area-activity {
    padding: 10rem 0;
  }
}
.p-activity-area-activity--bg {
  background-color: var(--white);
  padding: 0;
}
.p-activity-area-activity__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-activity__list {
    margin-top: 5rem;
  }
}
.p-activity-area-activity__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-activity__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 6rem auto 0;
  }
}
.p-activity-area-thesis__wrap {
  padding: 2.5rem;
  border-radius: 10px;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
}
@media screen and (min-width: 768px) {
  .p-activity-area-thesis__wrap {
    padding: 6rem 8rem;
  }
}
.p-activity-area-thesis__heading {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.p-activity-area-thesis__list {
  border-top: 1px solid var(--line);
  padding-top: 2rem;
  margin-top: 2rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-area-thesis__list {
    padding-top: 3rem;
    margin-top: 3rem;
    gap: 3.5rem;
  }
}
.p-activity-area-thesis dl dt {
  margin-top: 1rem;
}
.p-activity-area-thesis dl dd {
  text-indent: -1em;
  margin-left: 2em;
}
.p-activity-area-thesis dl dd::before {
  content: "・";
  font-size: 1.6rem;
  margin-right: 1rem;
  display: inline-block;
}
.p-activity-area-thesis dl dd a {
  width: -moz-fit-content;
  width: fit-content;
  color: var(--main);
}
.p-activity-area-thesis dl dd a:hover {
  text-decoration: underline;
}
.p-activity-area-thesis__title {
  font-weight: bold;
}

.p-support-donation {
  position: relative;
  overflow: hidden;
  padding-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  .p-support-donation {
    padding-bottom: 4rem;
  }
}
.p-support-donation::after {
  content: "";
  width: 100%;
  height: 30%;
  background-color: var(--main);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-support-donation::after {
    height: 31rem;
  }
}
.p-support-donation__list {
  margin-top: 4rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-support-donation__list {
    margin-top: 5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.5rem;
  }
}
.p-support-donation__list li {
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  border-radius: 1rem;
  padding: 4rem 3.5rem;
  background-color: var(--white);
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-support-donation__list li {
    padding: 5rem 4rem;
    display: flex;
    flex-direction: column;
  }
}
.p-support-donation__list li::after {
  content: "";
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border-radius: 0.5rem;
  background-color: var(--main-bg);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
}
.p-support-donation__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-support-donation__title {
    font-size: 2.6rem;
  }
}
.p-support-donation__lead {
  text-align: center;
  margin-top: 1.5rem;
}
.p-support-donation__text {
  margin-top: 1.5rem;
  margin-bottom: 3rem;
}
.p-support-donation__btn {
  width: 100%;
  max-width: 25rem;
  margin: auto auto 0;
}
.p-support-donation__deduction {
  margin-top: 3rem;
  border: 0.1rem solid var(--white);
  border-radius: 1rem;
  padding: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-support-donation__deduction {
    width: 100rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3rem 5rem;
    margin: 4rem auto 0;
  }
}
.p-support-donation__deductionText {
  color: var(--white);
}
.p-support-donation__deductionBtn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-support-donation__deductionBtn {
    margin-top: 0;
  }
}
.p-support-service__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-support-service__list {
    margin-top: 5rem;
  }
}
.p-support-learn {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-support-learn {
    padding: 10rem 0;
  }
}
.p-support-learn__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-support-learn__list {
    margin-top: 5rem;
  }
}
.p-support-bequest__wrap {
  width: 100%;
  border-radius: 1rem;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-support-bequest__wrap a {
    display: grid;
    grid-template-columns: 1fr 56rem;
    transition: 0.3s;
  }
  .p-support-bequest__wrap a:hover {
    opacity: 0.8;
  }
}
.p-support-bequest__block {
  padding: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-support-bequest__block {
    padding: 4rem 3rem 4rem 4rem;
    display: flex;
    flex-direction: column;
  }
}
.p-support-bequest__title {
  font-size: 3rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-support-bequest__title {
    font-size: 3.4rem;
  }
}
.p-support-bequest__text {
  font-size: 1.5rem;
  margin-top: 1rem;
}
.p-support-bequest__item {
  margin-top: 2rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-support-bequest__item {
    width: 30rem;
    margin-top: auto;
  }
}
.p-support-bequest__item li {
  line-height: 4rem;
  text-align: center;
  border-radius: 100vh;
  color: var(--white);
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-support-bequest__item li {
    font-size: 1.8rem;
    line-height: 4.5rem;
  }
}
.p-support-bequest__item li span {
  color: var(--sub);
}

.p-donation-donation {
  position: relative;
  overflow: hidden;
  padding-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  .p-donation-donation {
    padding-bottom: 4rem;
  }
}
.p-donation-donation::after {
  content: "";
  width: 100%;
  height: 15%;
  background-color: var(--main);
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-donation-donation::after {
    height: 31rem;
  }
}
.p-donation-donation__list {
  margin-top: 4rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-donation__list {
    margin-top: 5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.5rem;
  }
}
.p-donation-donation__list li {
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  border-radius: 10px;
  padding: 4rem 3.5rem;
  background-color: var(--white);
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-donation-donation__list li {
    padding: 5rem 4rem;
    display: flex;
    flex-direction: column;
  }
}
.p-donation-donation__list li::after {
  content: "";
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border-radius: 5px;
  background-color: var(--main-bg);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
}
.p-donation-donation__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-donation-donation__title {
    font-size: 2.6rem;
  }
}
.p-donation-donation__lead {
  text-align: center;
  margin-top: 1.5rem;
}
.p-donation-donation__text {
  margin-top: 1.5rem;
  margin-bottom: 3rem;
}
.p-donation-donation__btn {
  width: 100%;
  max-width: 25rem;
  margin: auto auto 0;
}
.p-donation-donation__case {
  margin-top: 6rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-donation__case {
    margin-top: 10rem;
    gap: 4rem;
  }
}
.p-donation-donation__caseLead {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-donation-donation__caseLead {
    font-size: 1.8rem;
    text-align: center;
  }
}
.p-donation-donation__caseItem {
  padding: 2.5rem;
  border-radius: 10px;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-donation-donation__caseItem {
    width: 102.4rem;
    padding: 6rem 5rem;
    margin: 0 auto;
  }
}
.p-donation-donation__caseTitle {
  font-size: 2.2rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-donation-donation__caseTitle {
    font-size: 2.4rem;
    text-align: center;
  }
}
.p-donation-donation__case picture {
  max-width: 80rem;
  margin: 2rem auto 0;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-donation-donation__case picture {
    margin-top: 4rem;
  }
}
.p-donation-deduction {
  margin-top: 4rem;
  border: 1px solid var(--white);
  border-radius: 10px;
  padding: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-donation-deduction {
    width: 102.4rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 3rem 5rem;
    margin: 4rem auto 0;
  }
}
.p-donation-deduction__text {
  color: var(--white);
}
.p-donation-deduction__btn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-deduction__btn {
    margin-top: 0;
  }
}
.p-donation-about__peace {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-donation-about__peace {
    text-align: center;
    margin-top: 10rem;
  }
}
.p-donation-about__peaceTitle {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-donation-about__peaceTitle {
    font-size: 2.8rem;
  }
}
.p-donation-about__peaceLead {
  margin-top: 2rem;
}
.p-donation-support__list {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-support__list {
    margin-top: 5rem;
    gap: 5rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.p-donation-support__list li {
  padding: 2.5rem 0;
  border-radius: 10px;
  background-color: var(--white);
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
}
@media screen and (min-width: 768px) {
  .p-donation-support__list li {
    padding: 3rem 0;
  }
}
.p-donation-support__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-donation-support__title {
    font-size: 2.4rem;
  }
}
.p-donation-support__img {
  width: 100%;
  aspect-ratio: 37/26;
  margin-top: 1.5rem;
  position: relative;
}
.p-donation-support__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-donation-support__subtitle {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  border-radius: 3px;
  padding: 0.3rem 1rem;
  background-color: var(--sub);
  margin: 0 auto;
  transform: translateY(-2rem);
}
.p-donation-support__subtitle span {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .p-donation-support__subtitle span {
    font-size: 2.2rem;
  }
}
.p-donation-support__text {
  font-size: 1.5rem;
  padding: 0 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-donation-support__text {
    padding: 0 3rem;
  }
}
.p-donation-voice__lead {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--main);
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-voice__lead {
    font-size: 2rem;
    margin-top: 5rem;
  }
}
.p-donation-voice__dl {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-voice__dl {
    margin-top: 6rem;
  }
}
.p-donation-message {
  background-color: var(--main-bg);
  padding: 6rem 1rem;
  border-radius: 20px;
}
@media screen and (min-width: 768px) {
  .p-donation-message {
    max-width: 120rem;
    padding: 10rem 0;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-donation-message__wrap {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-message__wrap {
    margin-top: 5rem;
    grid-template-columns: 1fr 46.5rem;
    gap: 5rem;
  }
}
.p-donation-message__title {
  font-size: 2.2rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-donation-message__title {
    font-size: 2.6rem;
  }
}
.p-donation-message__text {
  margin-top: 2rem;
}
.p-donation-message__photo img {
  border-radius: 10px;
}
.p-donation-message__name {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 1rem;
}
.p-donation-fanclab__wrap {
  margin-top: 3rem;
  display: grid;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .p-donation-fanclab__wrap {
    margin-top: 5rem;
    grid-template-columns: 1fr 1fr;
    gap: 10.4rem;
  }
}
.p-donation-fanclab__img {
  border-radius: 10px;
  overflow: hidden;
}
.p-donation-fanclab__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-donation-fanclab__title {
    font-size: 2.4rem;
    margin-top: 2.4rem;
  }
}
.p-donation-fanclab__text {
  margin-top: 1rem;
}
.p-donation-faq {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-donation-faq {
    padding: 12rem 0;
  }
}
.p-donation-faq__main {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-faq__main {
    margin-top: 5rem;
  }
}
.p-donation-cta {
  padding: 6rem 0;
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-donation-cta {
    padding: 8rem 0;
  }
}
.p-donation-cta__heading {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-donation-cta__heading {
    font-size: 3rem;
  }
}
.p-donation-cta__lead {
  font-size: 2rem;
  font-weight: bold;
  color: var(--sub);
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-cta__lead {
    font-size: 2.4rem;
    text-align: center;
    margin-top: 4rem;
  }
}
.p-donation-cta__text {
  margin-top: 2rem;
  color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-donation-cta__text {
    text-align: center;
    margin-top: 3rem;
  }
}
.p-donation-cta__btn {
  margin: 1.5rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-donation-cta__btn {
    max-width: 32rem;
    margin-top: 2rem;
  }
}
.p-donation-apply {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-donation-apply {
    margin-top: 8rem;
  }
}
.p-donation-apply__wrap {
  padding: 3.5rem 2.5rem;
  border-radius: 10px;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-donation-apply__wrap {
    padding: 5rem;
  }
}
.p-donation-apply__title {
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-donation-apply__title {
    font-size: 2.4rem;
    text-align: center;
  }
}
.p-donation-apply__lead {
  font-size: 1.4rem;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-donation-apply__lead {
    text-align: center;
    margin-top: 3rem;
  }
}
.p-donation-apply__btn {
  max-width: 32rem;
  margin: 1rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-donation-apply__btn {
    margin-top: 2rem;
  }
}

.p-one-donation-donation__heading {
  font-size: 1.8rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-one-donation-donation__heading {
    font-size: 2rem;
    text-align: center;
  }
}
.p-one-donation-donation__list {
  margin-top: 4rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-one-donation-donation__list {
    margin-top: 5rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 4.5rem;
  }
}
.p-one-donation-donation__list li {
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  border-radius: 1rem;
  padding: 4rem 3.5rem;
  background-color: var(--white);
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .p-one-donation-donation__list li {
    padding: 5rem 4rem;
    display: flex;
    flex-direction: column;
  }
}
.p-one-donation-donation__list li::after {
  content: "";
  width: calc(100% - 2rem);
  height: calc(100% - 2rem);
  border-radius: 0.5rem;
  background-color: var(--main-bg);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
}
.p-one-donation-donation__list li img {
  max-width: 24rem;
  margin: auto auto 3rem;
  display: block;
}
@media screen and (min-width: 768px) {
  .p-one-donation-donation__list li:first-child h3 {
    line-height: 2;
  }
}
.p-one-donation-donation__block {
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .p-one-donation-donation__block {
    min-height: 15rem;
    margin-bottom: 1rem;
  }
}
.p-one-donation-donation__title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-one-donation-donation__title {
    font-size: 2.4rem;
    line-height: normal;
  }
}
.p-one-donation-donation__note {
  font-size: 1.3rem;
  text-align: center;
  margin-top: 1rem;
}
.p-one-donation-donation__text {
  margin-top: 1.5rem;
  text-align: center;
}
.p-one-donation-donation__btn {
  width: 100%;
  max-width: 25rem;
  margin: auto auto 0;
}
.p-one-donation-support__catch {
  font-size: 2.4rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__catch {
    font-size: 2.8rem;
    text-align: center;
  }
}
.p-one-donation-support__lead {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__lead {
    text-align: center;
  }
}
.p-one-donation-support__heading {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__heading {
    margin-top: 8rem;
  }
}
.p-one-donation-support__list {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__list {
    margin-top: 5rem;
    gap: 5rem;
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.p-one-donation-support__list li {
  padding: 2.5rem 0;
  border-radius: 1rem;
  background-color: var(--white);
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__list li {
    padding: 3rem 0;
  }
}
.p-one-donation-support__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__title {
    font-size: 2.4rem;
  }
}
.p-one-donation-support__img {
  width: 100%;
  aspect-ratio: 37/26;
  margin-top: 1.5rem;
  position: relative;
}
.p-one-donation-support__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-one-donation-support__subtitle {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  border-radius: 0.3rem;
  padding: 0.3rem 1rem;
  background-color: var(--sub);
  margin: 0 auto;
  transform: translateY(-2rem);
}
.p-one-donation-support__subtitle span {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__subtitle span {
    font-size: 2.2rem;
  }
}
.p-one-donation-support__text {
  font-size: 1.5rem;
  padding: 0 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__text {
    padding: 0 3rem;
  }
}
.p-one-donation-support__info {
  border: 0.1rem solid var(--line);
  border-radius: 1rem;
  padding: 2.5rem;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__info {
    padding: 8rem;
    margin-top: 10rem;
  }
}
.p-one-donation-support__item {
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-one-donation-support__item {
    gap: 4rem;
  }
}
.p-one-donation-support__item li {
  text-indent: -1em;
  margin-left: 1em;
}

.p-books-main__title {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-books-main__title {
    font-size: 2.8rem;
    text-align: center;
  }
}
.p-books-main__lead {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-books-main__lead {
    text-align: center;
  }
}
.p-books-main__list {
  margin-top: 5rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-books-main__list {
    margin-top: 8rem;
    grid-template-columns: repeat(4, 1fr);
  }
}
.p-books-main__list li {
  padding: 3rem;
  background-color: var(--white);
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-books-main__list li {
    padding-bottom: 10rem;
    position: relative;
  }
}
.p-books-main__img {
  width: 70%;
  aspect-ratio: 23/25;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-books-main__img {
    width: 23rem;
  }
}
.p-books-main__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-books-main__img img:hover {
    transform: scale(1.2);
  }
}
.p-books-main__text {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 1.5rem;
}
.p-books-main__btn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-books-main__btn {
    position: absolute;
    bottom: 3.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}

.p-meguru-main__lead {
  font-weight: bold;
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
  .p-meguru-main__lead {
    line-height: 2;
    text-align: center;
    margin-bottom: 8rem;
  }
}
.p-meguru-main__desc {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-meguru-main__desc {
    margin-top: 10rem;
  }
}
.p-meguru-main__list {
  margin-top: 8rem;
  display: grid;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-meguru-main__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 8rem 5rem;
  }
}
.p-meguru-main__list li {
  padding: 0 3.5rem 3.5rem;
  background-color: var(--white);
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-meguru-main__list li {
    padding: 0 4rem 10rem;
    position: relative;
  }
}
.p-meguru-main__title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  line-height: 4rem;
  color: var(--white);
  background-color: var(--accent);
  border-radius: 100vh;
  transform: translateY(-2rem);
}
.p-meguru-main__text {
  font-size: 1.4rem;
  text-align: center;
  margin-top: 2rem;
}
.p-meguru-main__img {
  text-align: center;
}
.p-meguru-main__img img {
  max-width: 25rem;
  transition: 0.5s;
}
.p-meguru-main__img img:hover {
  transform: scale(1.1);
}
.p-meguru-main__btn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-meguru-main__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    position: absolute;
    bottom: 4rem;
    left: 0;
    right: 0;
  }
}
.p-meguru-monodone__desc {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-meguru-monodone__desc {
    margin-top: 10rem;
  }
}

.p-studytour-main {
  overflow: hidden;
}
.p-studytour-main__leadText {
  font-size: 2.6rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-studytour-main__leadText {
    font-size: 3rem;
    text-align: center;
  }
}
.p-studytour-main__desc {
  margin-top: 2rem;
  margin-bottom: 8rem;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__desc {
    text-align: center;
    line-height: 2.3;
    margin-bottom: 10rem;
  }
}
.p-studytour-main__about {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__about {
    margin-top: 5rem;
  }
}
.p-studytour-main__title {
  font-size: 2.6rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__title {
    font-size: 3rem;
  }
}
.p-studytour-main__tours {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__tours {
    margin-top: 10rem;
  }
}
.p-studytour-main__list {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__list {
    margin-top: 3rem;
  }
}
.p-studytour-main__requirements {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__requirements {
    margin-top: 10rem;
  }
}
.p-studytour-main__dl {
  margin-top: 2rem;
  border-bottom: 1px solid var(--line);
}
@media screen and (min-width: 768px) {
  .p-studytour-main__dl {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: 14rem 1fr;
  }
}
.p-studytour-main__dl dt {
  padding: 1rem 2rem;
  background-color: var(--base-bg);
}
@media screen and (min-width: 768px) {
  .p-studytour-main__dl dt {
    display: flex;
    align-items: center;
    padding: 2rem;
    border-top: 1px solid var(--line);
  }
}
.p-studytour-main__dl dd {
  padding: 1.5rem 2rem;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__dl dd {
    border-top: 1px solid var(--line);
    padding: 2rem;
  }
}
.p-studytour-main__schedule {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__schedule {
    margin-top: 10rem;
  }
}
.p-studytour-main__table {
  width: 100%;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__table {
    margin-top: 3rem;
  }
}
.p-studytour-main__table tr th, .p-studytour-main__table tr td {
  border-bottom: 1px solid var(--line);
  padding: 0.8rem 2rem;
}
@media screen and (max-width: 767px) {
  .p-studytour-main__table tr th, .p-studytour-main__table tr td {
    width: 100%;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .p-studytour-main__table tr th, .p-studytour-main__table tr td {
    border: 1px solid var(--line);
    padding: 2rem;
  }
}
.p-studytour-main__table tr th {
  text-align: center;
  color: var(--white);
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-studytour-main__table tr th {
    width: 14rem;
    vertical-align: middle;
  }
}
@media screen and (max-width: 767px) {
  .p-studytour-main__table tr td:empty {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-studytour-main__table tr td:nth-of-type(2) {
    max-width: 20rem;
  }
}
.p-studytour-main__gallery {
  margin: 10rem calc(50% - 50vw) 0;
}
@media screen and (min-width: 768px) {
  .p-studytour-main__gallery {
    margin-top: 20rem;
  }
}
.p-studytour-main__sliderItem img {
  height: 30rem;
}
.p-studytour-voice__dl {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-studytour-voice__dl {
    margin-top: 5rem;
  }
}
.p-studytour-faq {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-studytour-faq {
    padding: 10rem 0;
  }
}

.p-activity-news__heading {
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-activity-news__heading {
    font-size: 2.6rem;
  }
}
.p-activity-news-report {
  padding-top: 5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-activity-news-report {
    padding-top: 8rem;
    margin-top: 8rem;
  }
}
.p-activity-news-report::before {
  content: "";
  width: 100%;
  height: 25%;
  display: block;
  background-color: var(--main-bg);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-activity-news-report::before {
    height: 55%;
  }
}
.p-activity-news-report__cat {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-activity-news-report__cat {
    justify-content: center;
  }
}
.p-activity-news-report__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-news-report__list {
    margin-top: 5rem;
  }
}
.p-activity-news-report__btn {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-activity-news-report__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 6rem auto 0;
  }
}
.p-activity-news__wrap {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-activity-news__wrap > div {
    display: grid;
    grid-template-columns: 38rem 1fr;
    gap: 5.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-activity-news-event {
    padding-top: 5rem;
    position: relative;
  }
}
@media screen and (min-width: 768px) {
  .p-activity-news-event__heading {
    text-align: left;
  }
}
.p-activity-news-event__article {
  margin-top: 3rem;
}
.p-activity-news-event__img {
  width: 100%;
  aspect-ratio: 3/2;
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-activity-news-event__img a:hover img {
    transform: scale(1.2);
  }
}
.p-activity-news-event__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.p-activity-news-event__title {
  font-size: 1.5rem;
  font-weight: bold;
  margin-top: 1.5rem;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-activity-news-event__title:hover {
    color: var(--main);
  }
}
.p-activity-news-event__date {
  font-family: var(--en-font);
  font-size: 3rem;
  font-weight: 400;
  text-align: center;
  color: var(--main);
  margin-top: 2rem;
}
.p-activity-news-event__date span {
  font-size: 2rem;
}
.p-activity-news-event__time {
  font-family: var(--en-font);
  font-size: 2rem;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  color: var(--main);
}
.p-activity-news-event__address {
  font-size: 1.3rem;
  text-align: center;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: var(--main-bg);
  margin-top: 1rem;
}
.p-activity-news-event__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-news-event__btn {
    position: absolute;
    top: 0.5rem;
    right: 0;
  }
}
.p-activity-news-campaign {
  padding: 5rem 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-activity-news-campaign {
    padding-left: 5.5rem;
  }
}
.p-activity-news-campaign::before {
  content: "";
  width: 100vw;
  height: 100%;
  background-color: var(--main-bg);
  display: block;
  border-top-left-radius: 4rem;
  position: absolute;
  top: 0;
  left: -2rem;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-activity-news-campaign::before {
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-activity-news-campaign__heading {
    text-align: left;
  }
}
.p-activity-news-campaign__list {
  margin-top: 3rem;
}
.p-activity-news-campaign__cat {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-news-campaign__cat > ul {
    justify-content: center;
  }
}
.p-activity-news-campaign__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-news-campaign__btn {
    position: absolute;
    top: 0.5rem;
    right: 0;
  }
}
.p-activity-news-letter__wrap {
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-activity-news-letter__wrap {
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
  }
}
.p-activity-news-letter__banner {
  border-radius: 1rem;
  overflow: hidden;
}
.p-activity-news-letter__banner:nth-child(1) a {
  background: url("../img/activity-news/mail-maga-img.webp") no-repeat center/cover;
}
.p-activity-news-letter__banner:nth-child(1) a::after {
  content: "";
  background-color: rgba(var(--main-rgb), 0.75);
}
.p-activity-news-letter__banner:nth-child(2) a {
  background: url("../img/activity-news/newsletter-img.webp") no-repeat center/cover;
}
.p-activity-news-letter__banner:nth-child(2) a::after {
  content: "";
  background-color: rgba(var(--accent-rgb), 0.75);
}
.p-activity-news-letter__banner:nth-child(2) svg {
  aspect-ratio: 3/2.3;
}
.p-activity-news-letter__banner a {
  width: 100%;
  height: 100%;
  padding: 3rem;
  display: block;
  position: relative;
  z-index: 0;
  transition: 0.3s;
}
.p-activity-news-letter__banner a:hover {
  opacity: 0.7;
}
.p-activity-news-letter__banner a::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  .p-activity-news-letter__banner a {
    text-align: center;
  }
}
.p-activity-news-letter__title {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  color: var(--white);
}
.p-activity-news-letter__title svg {
  width: 3.5rem;
  aspect-ratio: 3/2;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .p-activity-news-letter__title svg {
    width: 4rem;
  }
}
.p-activity-news-letter__text {
  font-size: 1.4rem;
  color: var(--white);
  margin-top: 1rem;
}
.p-activity-news-staff__list {
  margin-top: 3rem;
}
.p-activity-news-staff__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-activity-news-staff__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 6rem auto 0;
  }
}

.p-post-list-main__heading {
  font-size: 2rem;
  font-weight: bold;
}
.p-post-list-main__lead {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .p-post-list-main__lead {
    margin-bottom: 6rem;
  }
}
.p-post-list-main__cat {
  margin-top: 2rem;
}
.p-post-list-main__archivetitle {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-post-list-main__archivetitle {
    font-size: 2.6rem;
    margin: 5rem 0 2rem;
  }
}
.p-post-list-main__archivetitle span {
  font-size: 1.5rem;
}

.p-post-main {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-post-main {
    margin-top: 6rem;
  }
}
.p-post-main__article {
  max-width: 90rem;
  margin: 0 auto;
}
.p-post-main__meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-post-main__date {
  font-size: 1.4rem;
  color: var(--sub-text);
}
.p-post-main__likes {
  font-family: var(--en-font);
  font-size: 1.2rem;
  padding: 0.5rem 1.5rem;
  border-radius: 100vh;
  background-color: var(--base-bg);
}
.p-post-main__likes .wpulike {
  line-height: 0;
  padding: 0;
}
.p-post-main__likes .wpulike span {
  font-size: 1.3rem;
  padding: 0 0.5rem 0 1rem;
}
.p-post-main__likes button.wp_ulike_btn {
  transform: scale(0.8);
}
.p-post-main__end {
  text-align: center;
  color: var(--white);
  background-color: var(--sub-bg);
  border-radius: 0.5rem;
  padding: 0.5rem 1rem;
}
.p-post-main__title {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__title {
    font-size: 2.6rem;
  }
}
.p-post-main__desc {
  margin-top: 2rem;
}
.p-post-main__startdate {
  font-family: var(--en-font);
  font-size: 3rem;
  font-weight: 400;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-post-main__startdate {
    font-size: 3.6rem;
    padding-left: 2rem;
  }
}
.p-post-main__startdate span {
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__startdate span {
    font-size: 2rem;
  }
}
.p-post-main__address {
  font-size: 1.4rem;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-post-main__address {
    font-size: 1.5rem;
    padding: 1rem 2rem;
  }
}
.p-post-main__info {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__info {
    margin-top: 3rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 3rem;
  }
}
.p-post-main__location {
  font-size: 1.4rem;
}
.p-post-main__location a {
  color: var(--sub-text);
  transition: 0.3s;
}
.p-post-main__location a:hover {
  color: var(--main);
}
.p-post-main__content {
  padding: 3rem 2.5rem 4rem;
  border-radius: 2rem;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  margin: 3rem -2rem 0;
}
@media screen and (min-width: 768px) {
  .p-post-main__content {
    padding: 7rem;
    margin: 3rem 0;
  }
}
.p-post-main__thumbnail {
  max-height: 65rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-post-main__thumbnail {
    min-width: 60rem;
  }
}
.p-post-main__thumbnail img {
  height: auto;
}
.p-post-main__toc {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__toc {
    margin-top: 4rem;
  }
}
.p-post-main__editable {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__editable {
    margin-top: 6rem;
  }
}
.p-post-main__editable h2:is(:not([class]), .wp-block-heading) {
  font-size: 2.2rem;
  font-weight: bold;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__editable h2:is(:not([class]), .wp-block-heading) {
    font-size: 2.4rem;
    margin-top: 3rem;
  }
}
.p-post-main__editable h2:is(:not([class]), .wp-block-heading)::after {
  content: "";
  width: 4rem;
  height: 0.1rem;
  background-color: var(--main);
  display: block;
  margin-top: 1rem;
}
.p-post-main__editable h3:is(:not([class]), .wp-block-heading) {
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__editable h3:is(:not([class]), .wp-block-heading) {
    font-size: 2rem;
    margin-top: 3rem;
  }
}
.p-post-main__editable h4:is(:not([class]), .wp-block-heading) {
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: 2rem;
}
.p-post-main__editable p:is(:not([class])) {
  margin-top: 2rem;
}
.p-post-main__editable figure:is(:not([class]), .wp-block-table:not(.c-pattern-table)) table th,
.p-post-main__editable figure:is(:not([class]), .wp-block-table:not(.c-pattern-table)) table td {
  border: 0.1rem solid var(--line);
}
.p-post-main__editable ul:is(:not([class]),
.wp-block-list:not(.c-pattern-checkbox__list, .c-pattern-check__list)) {
  display: grid;
  gap: 0.5rem;
  list-style: list-dot;
  padding-left: 1em;
}
@media screen and (min-width: 768px) {
  .p-post-main__editable ul:is(:not([class]),
  .wp-block-list:not(.c-pattern-checkbox__list, .c-pattern-check__list)) {
    gap: 0.8rem;
  }
}
.p-post-main__editable ol:is(:not([class]), .wp-block-list) {
  display: grid;
  counter-reset: list-num;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__editable ol:is(:not([class]), .wp-block-list) {
    gap: 0.8rem;
  }
}
.p-post-main__editable ol:is(:not([class]), .wp-block-list) li {
  counter-increment: list-num;
}
.p-post-main__editable ol:is(:not([class]), .wp-block-list) li::before {
  content: counter(list-num);
  font-family: var(--en-font);
  width: 1.6rem;
  font-size: 1.8rem;
  line-height: normal;
  font-weight: normal;
  display: inline-block;
}
.p-post-main__editable a:is(:not([class])) {
  color: var(--main);
  text-decoration: underline;
}
.p-post-main__editable a:is(:not([class])):hover {
  text-decoration: none;
}
.p-post-main__share {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__share {
    margin-top: 15rem;
  }
}
.p-post-main__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-post-main__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 8rem auto 0;
  }
}
.p-post-related {
  margin-top: 15rem;
}
@media screen and (min-width: 768px) {
  .p-post-related {
    margin-top: 20rem;
  }
}
.p-post-related__heading {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-post-related__heading {
    font-size: 2.4rem;
  }
}
.p-post-related__list {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-post-related__list {
    margin-top: 4rem;
  }
}

#ez-toc-container {
  padding: 2rem;
  border: 0.1rem solid var(--line);
  border-radius: 1rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  #ez-toc-container {
    display: grid;
    grid-template-columns: 8rem 1fr;
    margin-bottom: 3rem;
  }
}
#ez-toc-container .ez-toc-title {
  font-family: var(--en-font);
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: normal;
  color: var(--main);
  background-color: var(--main-bg);
  border-radius: 0.5rem;
  padding: 1.5rem 1.5rem 1rem;
}
@media screen and (min-width: 768px) {
  #ez-toc-container .ez-toc-title {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
  }
}
#ez-toc-container .ez-toc-list {
  margin-top: 1.5rem;
  display: grid;
  gap: 0.5rem;
}
@media screen and (min-width: 768px) {
  #ez-toc-container .ez-toc-list {
    margin-top: 0;
  }
}
#ez-toc-container .ez-toc-list li {
  margin-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  #ez-toc-container .ez-toc-list li {
    margin-left: 2rem;
  }
}
#ez-toc-container .ez-toc-list li a {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #ez-toc-container .ez-toc-list li a {
    font-size: 1.4rem;
    transition: 0.3s;
  }
  #ez-toc-container .ez-toc-list li a:hover {
    color: var(--main);
  }
}
#ez-toc-container .ez-toc-list li a::before {
  content: "";
  width: 0.7rem;
  height: 0.7rem;
  border-top: 0.1rem solid var(--main);
  border-right: 0.1rem solid var(--main);
  transform: rotate(135deg);
  transition: all 0.3s;
  margin-right: 1rem;
  margin-bottom: 0.4rem;
}
@media screen and (min-width: 768px) {
  #ez-toc-container .ez-toc-list li a::before {
    margin-bottom: 0.3rem;
  }
}

.p-event-list-main__lead {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 4rem;
}
@media screen and (min-width: 768px) {
  .p-event-list-main__lead {
    font-size: 2.4rem;
    margin-bottom: 6rem;
  }
}
.p-event-list-main__list {
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-event-list-main__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
.p-event-list-main__list li {
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-event-list-main__list li {
    display: flex;
    flex-direction: column;
  }
}
.p-event-list-main__img {
  width: 100%;
  aspect-ratio: 3/2;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-event-list-main__img a:hover img {
    transform: scale(1.2);
  }
}
.p-event-list-main__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.p-event-list-main__img--end {
  width: 100%;
  height: 100%;
  font-size: 1.8rem;
  color: var(--white);
  position: relative;
  display: grid;
  z-index: 0;
  place-content: center;
}
@media screen and (min-width: 768px) {
  .p-event-list-main__img--end {
    font-size: 2rem;
  }
}
.p-event-list-main__img--end::after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(var(--black-rgb), 0.7);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
.p-event-list-main__title {
  font-size: 1.5rem;
  font-weight: bold;
  padding: 2rem 2rem 0;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-event-list-main__title {
    padding: 2rem 2.5rem 0;
  }
  .p-event-list-main__title:hover {
    color: var(--main);
  }
}
.p-event-list-main__block {
  padding: 2rem;
}
@media screen and (min-width: 768px) {
  .p-event-list-main__block {
    padding: 2.5rem;
    margin-top: auto;
  }
}
.p-event-list-main__date {
  font-family: var(--en-font);
  font-size: 3rem;
  font-weight: 400;
  text-align: center;
  color: var(--main);
}
.p-event-list-main__date span {
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .p-event-list-main__date span {
    font-size: 2rem;
  }
}
.p-event-list-main__time {
  font-family: var(--en-font);
  font-size: 2rem;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  color: var(--main);
}
.p-event-list-main__address {
  font-size: 1.3rem;
  text-align: center;
  padding: 1rem;
  border-radius: 0.5rem;
  background-color: var(--main-bg);
  margin-top: 1rem;
}

.p-newsletter-about__latest {
  padding: 2.5rem;
  background-color: var(--main-bg);
  border-radius: 1rem;
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__latest {
    width: 102.4rem;
    padding: 10rem 9rem 8rem;
    margin: 8rem auto 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0 5rem;
  }
}
.p-newsletter-about__book {
  width: 100%;
  aspect-ratio: 1;
  position: relative;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__book {
    max-width: 30rem;
    margin-top: 0;
  }
}
.p-newsletter-about__book img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-newsletter-about__book::before {
  content: "New";
  width: 10rem;
  height: 3rem;
  font-family: var(--en-font);
  font-size: 1.8rem;
  text-align: center;
  line-height: 3.5rem;
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
  background-color: var(--sub);
  display: block;
  position: absolute;
  top: -3rem;
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__book::before {
    font-size: 2rem;
  }
}
.p-newsletter-about__desc {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__desc {
    max-width: 39rem;
    margin-top: 0;
    display: grid;
  }
}
.p-newsletter-about__lead span {
  font-weight: bold;
  color: var(--accent);
  display: block;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__lead span {
    font-size: 1.8rem;
    padding-bottom: 0.5rem;
  }
}
.p-newsletter-about__pdf {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__pdf {
    margin-top: auto;
  }
}
.p-newsletter-about__pdf a {
  font-weight: bold;
  color: var(--white);
  padding: 1rem 2rem;
  border-radius: 0.5rem;
  color: var(--white);
  background-color: var(--main);
  display: block;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__pdf a {
    text-align: center;
    padding: 2rem;
    transition: 0.3s;
  }
  .p-newsletter-about__pdf a:hover {
    color: var(--main);
    background-color: var(--accent-bg);
  }
}
.p-newsletter-about__pdf a::after {
  content: "";
  width: 1.8rem;
  aspect-ratio: 9/10;
  background: url("../img/common/icon-pdf.svg") no-repeat center/contain;
  margin-left: 1rem;
  margin-bottom: 0.4rem;
  display: inline-block;
  vertical-align: middle;
}
.p-newsletter-about__note {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__note {
    margin-top: 6rem;
  }
}
.p-newsletter-about__login {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__login {
    margin-top: 10rem;
  }
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__loginLead {
    text-align: center;
  }
}
.p-newsletter-about__loginForm {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
}
.p-newsletter-about__loginPost {
  width: 70%;
  max-width: 50rem;
  height: 5rem;
  border: 0.1rem solid var(--line);
  padding: 0 1rem;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__loginPost {
    height: 5.5rem;
  }
}
.p-newsletter-about__loginPost::-moz-placeholder {
  font-size: 1.4rem;
  color: rgba(var(--black-rgb), 0.3);
}
.p-newsletter-about__loginPost::placeholder {
  font-size: 1.4rem;
  color: rgba(var(--black-rgb), 0.3);
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__loginPost::-moz-placeholder {
    font-size: 1.6rem;
  }
  .p-newsletter-about__loginPost::placeholder {
    font-size: 1.6rem;
  }
}
.p-newsletter-about__loginSubmit {
  width: 30%;
  max-width: 20rem;
  height: 5rem;
  font-weight: bold;
  text-align: center;
  color: var(--white);
  background-color: var(--main);
  display: block;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-newsletter-about__loginSubmit {
    height: 5.5rem;
  }
  .p-newsletter-about__loginSubmit:hover {
    color: var(--main);
    background-color: var(--accent-bg);
  }
}
.p-newsletter-backnumber__list {
  margin-top: 3rem;
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-newsletter-backnumber__list {
    margin-top: 5rem;
    grid-template-columns: repeat(6, 1fr);
    gap: 4.2rem;
  }
}
.p-newsletter-backnumber__img {
  width: 60%;
  aspect-ratio: 1;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-newsletter-backnumber__img {
    width: 100%;
    overflow: hidden;
  }
  .p-newsletter-backnumber__img a:hover img {
    transform: scale(1.2);
  }
}
.p-newsletter-backnumber__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s;
}
.p-newsletter-backnumber__title {
  font-size: 1.5rem;
  text-align: center;
  color: var(--main);
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-newsletter-backnumber__title a:hover {
    text-decoration: underline;
  }
}

.p-field-visits-info__text {
  line-height: 2;
}
.p-field-visits-project__group {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-field-visits-project__group {
    margin-top: 5rem;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 5rem;
  }
}
.p-field-visits-project__block {
  padding: 2.5rem;
  border-radius: 1rem;
  background-color: var(--white);
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
}
@media screen and (min-width: 768px) {
  .p-field-visits-project__block {
    padding: 3.5rem;
  }
}
.p-field-visits-project__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-field-visits-project__title {
    font-size: 2.4rem;
  }
}
.p-field-visits-project__text {
  margin-top: 1rem;
}
.p-field-visits-project__wrap {
  margin-top: 5rem;
  padding: 2.5rem;
  border-radius: 1rem;
  border: 0.1rem solid var(--main);
}
@media screen and (min-width: 768px) {
  .p-field-visits-project__wrap {
    padding: 5rem 8rem;
  }
}
.p-field-visits-project__subtitle {
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-field-visits-project__subtitle {
    font-size: 2.4rem;
  }
}
.p-field-visits-project__lead {
  margin-top: 1rem;
}
.p-field-visits-project__list {
  margin-top: 3rem;
  display: grid;
  gap: 2rem;
  list-style: list-dot;
  padding-left: 1em;
}
.p-field-visits-project__btn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-field-visits-project__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 5rem auto 0;
  }
}
.p-field-visits-event__lead {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-field-visits-event__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-field-visits-event__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-field-visits-event__list {
    margin-top: 5rem;
  }
}
.p-field-visits-event__btn {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-field-visits-event__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 8rem auto 0;
  }
}

.p-postcards-info__text {
  line-height: 2;
  text-align: justify;
}
.p-postcards-info__dl {
  margin-top: 6rem;
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 0;
}
.p-postcards-info__dl dt {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--white);
  width: 100%;
  height: 6.5rem;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
.p-postcards-info__dl dt:first-child {
  border-radius: 1rem 1rem 0 0;
}
.p-postcards-info__dl dt.target {
  background-color: var(--main);
}
.p-postcards-info__dl dt.no-target {
  background-color: var(--sub-bg);
}
.p-postcards-info__dl dd {
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  border-left: 1px solid var(--main);
  padding: 2.2rem 1.8rem 2.2rem;
}
.p-postcards-info__dl dd:last-child {
  border-radius: 0 0 1rem 1rem;
}
.p-postcards-info__dl dd ul {
  padding-bottom: 2.4rem;
}
.p-postcards-info__dl dd ul li {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.8rem;
  padding-left: 1em;
  position: relative;
  letter-spacing: 0.05em;
}
.p-postcards-info__dl dd ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.p-postcards-info__dl dd ul + p {
  border-top: 1px solid var(--line);
}
.p-postcards-info__dl dd p {
  padding-top: 2.2rem;
  font-size: 1.5rem;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-postcards-info__dl {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 7.2rem;
    width: 100%;
  }
  .p-postcards-info__dl dt {
    grid-row: 1;
    font-size: 2.6rem;
    border-radius: 0 1rem 0 0;
  }
  .p-postcards-info__dl dt:first-child {
    border-radius: 1rem 0 0 0;
  }
  .p-postcards-info__dl dd {
    grid-row: 2;
    border-radius: 0 0 0 1rem;
    padding: 3rem 5rem;
  }
  .p-postcards-info__dl dd:last-child {
    border-radius: 0 0 1rem 0;
    border-left: 0;
  }
  .p-postcards-info__dl dd ul li {
    font-size: 2rem;
    line-height: 3.6rem;
  }
  .p-postcards-info__dl dd ul p {
    font-size: 1.5rem;
    line-height: 3.2rem;
  }
}
.p-postcards-info__caution {
  margin-top: 3rem;
}
.p-postcards-info__caution li {
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  padding-left: 1em;
  position: relative;
}
.p-postcards-info__caution li:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}
@media screen and (min-width: 768px) {
  .p-postcards-info__caution li {
    line-height: 3.4rem;
  }
}
.p-postcards-support__group {
  margin-top: 3rem;
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-postcards-support__group {
    margin-top: 5rem;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 4.5rem;
  }
}
.p-postcards-support__img {
  width: 100%;
  position: relative;
}
.p-postcards-support__img:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 67.5675675676%;
}
.p-postcards-support__img img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1rem;
  width: 100%;
  height: 100%;
}
.p-postcards-support__title {
  margin-top: 2rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--accent);
}
.p-postcards-support__title span {
  font-size: 1.5rem;
}
.p-postcards-support__text {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-postcards-support__text {
    line-height: 3.4rem;
  }
}
.p-postcards-support__wrap {
  margin-top: 12rem;
  border-radius: 1rem;
  background-color: #f2f6fa;
  position: relative;
  padding: 7.5rem 2rem 4rem;
}
@media screen and (min-width: 768px) {
  .p-postcards-support__wrap {
    margin-top: 12.6rem;
    padding: 4.5rem 4rem 3.5rem;
  }
}
.p-postcards-support__subtitle {
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--main);
  line-height: 3.2rem;
  position: absolute;
  top: -1.6rem;
  left: 0;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-postcards-support__subtitle {
    font-size: 2.4rem;
  }
}
.p-postcards-support__lead {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  color: var(--main);
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-postcards-support__lead {
    line-height: 3.4rem;
  }
}
.p-postcards-method__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-postcards-method__lead {
    margin-top: 5rem;
  }
}
.p-postcards-method__dl {
  margin-top: 3rem;
}
.p-postcards-method__dl dt {
  background-color: var(--main);
  color: var(--white);
  width: 100%;
  height: 8rem;
  font-size: 18px;
  letter-spacing: 0.05em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  border-radius: 1rem 1rem 0 0;
}
.p-postcards-method__dl dd {
  border: 1px solid var(--main);
  width: 100%;
  padding: 1.2rem 2rem 2rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  color: var(--main);
  border-radius: 0 0 1rem 1rem;
}
@media screen and (min-width: 768px) {
  .p-postcards-method__dl {
    margin-top: 4rem;
    display: flex;
  }
  .p-postcards-method__dl dt {
    width: 22rem;
    height: auto;
    border-radius: 1rem 0 0 1rem;
  }
  .p-postcards-method__dl dd {
    width: calc(100% - 22rem);
    border-radius: 0 1rem 1rem 0;
    border: 1px solid var(--main);
    padding: 2.5rem 4rem;
    font-size: 1.6rem;
    line-height: 3.4rem;
  }
}
.p-postcards-about__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-postcards-about__lead {
    margin-top: 5rem;
  }
}

.p-phones-info__sub-title {
  color: var(--main);
  font-size: 1.6rem;
  line-height: 3.2rem;
  margin-bottom: 3rem;
  font-weight: 700;
}
.p-phones-info__text {
  line-height: 2;
  text-align: justify;
}
.p-phones-info__img img {
  border-radius: 0;
}
.p-phones-flow__lead {
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0.05em;
  text-align: justify;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-phones-flow__lead {
    text-align: center;
    letter-spacing: 0.03em;
    margin-top: 5rem;
  }
}
.p-phones-flow__flow {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
}
.p-phones-flow__flow li {
  width: 100%;
  position: relative;
}
.p-phones-flow__flow li:after {
  content: "";
  position: relative;
  top: 100%;
  left: 0;
  display: block;
  width: 100%;
  padding-top: 13.57%;
  background-image: url(../img/phones/phones-flow-down.svg);
  background-size: 100% 100%;
  background-position: top center;
  background-repeat: no-repeat;
}
.p-phones-flow__flow li:last-child:after {
  content: none;
}
.p-phones-flow__flow li:last-child .box {
  border-radius: 1.2rem;
  padding-bottom: 3rem;
}
.p-phones-flow__flow li .box {
  background-color: var(--accent);
  border-radius: 1.2rem 1.2rem 0 0;
  padding: 3rem 2rem 2rem;
  color: var(--white);
}
.p-phones-flow__flow li .box h3 {
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 2rem;
}
.p-phones-flow__flow li .box p {
  font-size: 1.5rem;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-phones-flow__flow {
    margin-top: 4rem;
    flex-direction: row;
    gap: 2.8rem;
    width: 100%;
    justify-content: space-between;
  }
  .p-phones-flow__flow li {
    width: 286px;
    height: 209px;
    position: relative;
    padding-right: 38px;
  }
  .p-phones-flow__flow li:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    width: 38px;
    height: 100%;
    padding-top: 0;
    background-image: url(../img/phones/phones-flow-right.svg);
    background-size: 100% 100%;
    background-position: left center;
    background-repeat: no-repeat;
  }
  .p-phones-flow__flow li:last-child {
    width: 255px;
    padding-right: 0;
  }
  .p-phones-flow__flow li:last-child:after {
    content: none;
  }
  .p-phones-flow__flow li:last-child .box {
    border-radius: 0.8rem;
    padding-right: 2rem;
  }
  .p-phones-flow__flow li .box {
    background-color: var(--accent);
    border-radius: 0.8rem 0 0 0.8rem;
    padding: 3rem 1.4rem 3rem 2rem;
    height: 100%;
  }
}
.p-phones-flow__message {
  font-size: 2rem;
  line-height: 3.4rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: justify;
  color: var(--accent);
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-phones-flow__message {
    text-align: center;
    margin-top: 7rem;
  }
}
.p-phones-flow__company {
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0.05em;
  text-align: justify;
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-phones-flow__company {
    text-align: center;
  }
}
.p-phones-flow__company a {
  text-decoration: underline;
  color: var(--main);
}
.p-phones-flow__companyLogo {
  width: 20rem;
  margin: 3rem auto 1rem;
}
.p-phones-flow__companyLogo img {
  width: 100%;
}
.p-phones-flow__companyLink {
  text-align: center;
}
.p-phones-support__group {
  margin-top: 3rem;
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-phones-support__group {
    margin-top: 5rem;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 4.5rem;
  }
}
.p-phones-support__img {
  width: 100%;
  position: relative;
}
.p-phones-support__img:before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 67.5675675676%;
}
.p-phones-support__img img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 1rem;
  width: 100%;
  height: 100%;
}
.p-phones-support__title {
  margin-top: 2rem;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--accent);
}
.p-phones-support__title span {
  font-size: 1.5rem;
}
.p-phones-support__text {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-phones-support__text {
    line-height: 3.4rem;
  }
}
.p-phones-method__box {
  background-color: var(--box-bg);
  border-radius: 1.6rem;
  padding: 3rem 2rem 5.6rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-phones-method__box {
    padding: 4rem 10rem 9rem;
    margin-top: 5rem;
  }
}
.p-phones-method__box + .p-phones-method__box {
  margin-top: 4.2rem;
}
@media screen and (min-width: 768px) {
  .p-phones-method__box + .p-phones-method__box {
    margin-top: 4.4rem;
  }
}
.p-phones-method__box h3 {
  font-size: 2.6rem;
  text-align: center;
  font-weight: 700;
  line-height: 7.5rem;
  color: var(--main);
  border-bottom: 1px solid var(--main);
}
.p-phones-method__box-lead {
  margin-top: 3.5rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-phones-method__box-lead {
    text-align: center;
  }
}
.p-phones-method__box-lead + .p-phones-method__box-buttons {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .p-phones-method__box-lead + .p-phones-method__box-buttons {
    margin-top: 6rem;
  }
}
.p-phones-method__box-link {
  width: -moz-fit-content;
  width: fit-content;
  margin: 3rem auto;
}
.p-phones-method__box-message {
  font-size: 1.8rem;
  line-height: 3.8rem;
  letter-spacing: 0.05em;
  text-align: justify;
  margin-top: 7rem;
}
@media screen and (min-width: 768px) {
  .p-phones-method__box-message {
    font-size: 2rem;
    line-height: 3.8rem;
    text-align: center;
  }
}
.p-phones-method__box-images {
  margin-top: 4.3rem;
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
@media screen and (min-width: 768px) {
  .p-phones-method__box-images {
    flex-direction: row;
    gap: 10.7rem;
  }
}
@media screen and (min-width: 768px) {
  .p-phones-method__box-images li {
    width: 27rem;
  }
}
.p-phones-method__box-images li img {
  width: 100%;
  height: auto;
}
.p-phones-method__box-images li .caption {
  margin-top: 2rem;
  font-size: 1.8rem;
  line-height: 3rem;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-phones-method__box-images li .caption-size {
  margin-top: 1rem;
  font-size: 1.3rem;
  line-height: 2.4rem;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-phones-method__box-buttons {
  margin-top: 6.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-phones-method__box-buttons {
    margin-top: 9rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-phones-method__box-buttons li {
    width: 35rem;
  }
}
.p-phones-method__box-buttons li .sup {
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
  text-align: center;
}
.p-phones-method__box-buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
}
.p-phones-method__box-buttons li .button.button-blue {
  background-color: var(--main);
}
.p-phones-method__box-buttons li .button.button-green {
  background-color: var(--accent);
}
.p-phones-method__box-buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-phones-method__box-buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-phones-method__box-dl {
  margin-top: 7.2rem;
}
.p-phones-method__box-dl dt {
  background-color: var(--main);
  color: var(--white);
  width: 100%;
  height: 8rem;
  font-size: 18px;
  letter-spacing: 0.05em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  border-radius: 1rem 1rem 0 0;
}
.p-phones-method__box-dl dd {
  border: 1px solid var(--main);
  width: 100%;
  padding: 1.2rem 2rem 2rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  color: var(--main);
  border-radius: 0 0 1rem 1rem;
}
@media screen and (min-width: 768px) {
  .p-phones-method__box-dl {
    margin-top: 6rem;
    display: flex;
  }
  .p-phones-method__box-dl dt {
    width: 22rem;
    height: auto;
    border-radius: 1rem 0 0 1rem;
  }
  .p-phones-method__box-dl dd {
    width: calc(100% - 22rem);
    border-radius: 0 1rem 1rem 0;
    border: 1px solid var(--main);
    padding: 2.5rem 4rem;
    font-size: 1.6rem;
    line-height: 3.4rem;
  }
}
.p-phones-method__box2 {
  margin-top: 7rem;
  background-color: var(--box-bg);
  border-radius: 1rem;
  padding: 4rem 2rem 4.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-phones-method__box2 {
    padding: 4.5rem 10rem 3.5rem;
  }
}
.p-phones-method__box2 h3 {
  color: var(--main);
  font-size: 2.6rem;
  line-height: 3.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
  position: absolute;
  top: 0;
  left: 50%;
  white-space: nowrap;
  transform: translate(-50%, -50%);
}
.p-phones-method__box2 p {
  text-align: center;
}
.p-phones-method__box2 p a {
  color: var(--main);
  text-decoration: underline;
}
.p-phones-method__box2List {
  display: grid;
  gap: 0.5rem;
}
.p-phones-method__box2List li {
  text-indent: -1em;
  margin-left: 1em;
}
.p-phones-method__box2Logo {
  width: 20rem;
  margin: 3rem auto 1rem;
}
.p-phones-method__box2Logo img {
  width: 100%;
}
.p-phones-method__message {
  font-size: 2rem;
  line-height: 3.5rem;
  text-align: justify;
  font-weight: 700;
  color: var(--accent);
  margin-top: 3.6rem;
}
@media screen and (min-width: 768px) {
  .p-phones-method__message {
    text-align: center;
    margin-top: 10rem;
  }
}
.p-phones-about__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-phones-about__lead {
    margin-top: 5rem;
  }
}

.p-memory-info__sub-title {
  color: var(--main);
  font-size: 2.4rem;
  line-height: 4.2rem;
  margin-bottom: 3rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-memory-info__sub-title {
    text-align: center;
  }
}
.p-memory-info__lead {
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-memory-info__lead {
    text-align: center;
  }
}
.p-memory-info__nav {
  margin-top: 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 3.5rem;
}
@media screen and (min-width: 768px) {
  .p-memory-info__nav {
    margin-top: 5rem;
    flex-direction: row;
    gap: 0;
  }
}
.p-memory-info__nav li {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-memory-info__nav li {
    width: 33.33%;
  }
}
.p-memory-info__nav li a {
  display: block;
  transition: 0.3s;
}
.p-memory-info__nav li a:hover {
  opacity: 0.7;
}
.p-memory-info__nav li a img {
  width: 100%;
  height: auto;
}
.p-memory-info__nav li a h3 {
  font-size: 1.9rem;
  line-height: 3.2rem;
  font-weight: 700;
  text-align: center;
  color: var(--main);
  border-top: 2px solid var(--main);
  width: calc(100% - 2.8rem);
  margin: 3.2rem auto 1rem;
  padding-top: 22px;
}
.p-memory-info__nav li a p {
  font-size: 1.5rem;
  line-height: 3rem;
  text-align: center;
  padding-bottom: 2.2rem;
  position: relative;
}
.p-memory-info__nav li a p:after {
  content: "";
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0) rotate(45deg);
}
@media screen and (min-width: 768px) {
  .p-memory-info__nav li a p:after {
    width: 1rem;
    height: 1rem;
    border-right: 1.6px solid var(--main);
    border-bottom: 1.6px solid var(--main);
  }
}
.p-memory-description__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-memory-description__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-memory-flow .c-heading {
  margin-bottom: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-memory-flow .c-heading {
    margin-bottom: 4rem;
  }
}
.p-memory-flow .c-heading:after {
  content: none;
}
.p-memory-flow__flow {
  display: flex;
  flex-wrap: wrap;
}
.p-memory-flow__flow dt {
  background-color: var(--box-bg);
  border-radius: 8px 8px 0 0;
  padding: 2rem 2rem 0;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  position: relative;
  width: 100%;
  margin-top: 2.2rem;
}
.p-memory-flow__flow dt:before {
  content: "";
  display: block;
  border-top: 18px solid var(--sub);
  border-right: 18px solid transparent;
  border-left: 18px solid transparent;
  position: absolute;
  top: -2.7rem;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-memory-flow__flow dt {
    border-radius: 8px 0 0 8px;
    display: flex;
    padding: 2rem;
    justify-content: center;
    align-items: center;
    width: 23.8rem;
    min-height: 9.8rem;
    line-height: 3.15rem;
  }
}
.p-memory-flow__flow dt:nth-of-type(1) {
  margin-top: 0;
}
.p-memory-flow__flow dt:nth-of-type(1):before {
  content: none;
}
.p-memory-flow__flow dd {
  background-color: var(--box-bg);
  border-radius: 0 0 8px 8px;
  padding: 1.5rem 2rem 3.5rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  text-align: justify;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-memory-flow__flow dd {
    border-radius: 0 8px 8px 0;
    padding: 2rem 2rem 2rem 1.2rem;
    display: flex;
    align-items: center;
    width: calc(100% - 23.8rem);
    margin-top: 2.2rem;
    min-height: 9.8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-memory-flow__flow dd:nth-of-type(1) {
    margin-top: 0;
  }
}
.p-memory-flow__text {
  margin-top: 6.5rem;
  font-weight: bold;
  text-align: center;
  font-size: 1.6rem;
  line-height: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-memory-flow__text {
    margin-top: 9rem;
  }
}
.p-memory-flow__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-memory-flow__buttons {
    margin-top: 5.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-memory-flow__buttons li {
    width: 35rem;
  }
}
.p-memory-flow__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-memory-flow__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-memory-flow__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-memory-flow__deduction {
  font-size: 1.4rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-memory-flow__deduction {
    text-align: center;
    margin-top: 2.5rem;
  }
}
.p-memory-qa {
  background-color: var(--box-bg);
  padding: 6rem 0 5.2rem;
}
@media screen and (min-width: 768px) {
  .p-memory-qa {
    padding: 7.5rem 0 12.5rem;
  }
}
.p-memory-qa__dl {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-memory-qa__dl {
    margin-top: 8rem;
  }
}
.p-memory-qa__dl dt {
  line-height: 1.8rem;
  padding: 1.6rem 2rem 1.6rem 6rem;
  margin-top: 5rem;
  font-weight: 700;
  position: relative;
  min-height: 6.8rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-memory-qa__dl dt {
    line-height: 3.4rem;
    padding: 2rem 3rem 2rem 8rem;
    margin-top: 2rem;
  }
}
.p-memory-qa__dl dt:before {
  content: "Q";
  display: block;
  position: absolute;
  top: 0rem;
  left: 2rem;
  font-size: 3.6rem;
  line-height: 6.8rem;
  font-family: var(--en-font);
  font-weight: 400;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-memory-qa__dl dt:before {
    left: 3rem;
    font-size: 4rem;
    line-height: 7.4rem;
  }
}
.p-memory-qa__dl dt:nth-of-type(1) {
  margin-top: 0;
}
.p-memory-qa__dl dd {
  background-color: var(--white);
  border-radius: 8px;
  padding: 2rem 2rem 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-memory-qa__dl dd {
    padding: 2.5rem 3rem 2.5rem;
  }
}
.p-memory-message__main {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-memory-message__main {
    margin-top: 5rem;
  }
}
.p-memory-message__btn {
  margin: 3rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-memory-message__btn {
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 5rem;
  }
}
.p-memory-partner__wrap {
  background-color: var(--white);
  border-radius: 10px;
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  padding: 2.5rem;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-memory-partner__wrap {
    padding: 7rem calc(50% - 43rem);
  }
}
@media screen and (min-width: 768px) {
  .p-memory-partner__lead {
    text-align: center;
  }
}
.p-memory-partner__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10rem, 12rem));
  gap: 2rem;
  justify-content: center;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-memory-partner__list {
    grid-template-columns: repeat(auto-fit, minmax(17rem, 17rem));
    gap: 6rem;
    margin-top: 5rem;
  }
}
.p-memory-caution__box {
  border: 1px solid var(--main);
  border-radius: 8px;
  padding: 6.4rem 2rem 6rem;
}
@media screen and (min-width: 768px) {
  .p-memory-caution__box {
    padding: 6rem 2.8rem 6rem;
  }
}
.p-memory-caution__box + .p-memory-caution__box {
  margin-top: 6.5rem;
}
@media screen and (min-width: 768px) {
  .p-memory-caution__box + .p-memory-caution__box {
    margin-top: 7rem;
  }
}
.p-memory-caution__box h2 {
  font-size: 2.4rem;
  line-height: 4.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-memory-caution__box h2 {
    font-size: 2.6rem;
    line-height: 4.55rem;
  }
}
.p-memory-caution__box ul {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-memory-caution__box ul {
    margin-top: 3rem;
  }
}
.p-memory-caution__box ul li {
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  padding-left: 1em;
  position: relative;
}
.p-memory-caution__box ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.p-memory-caution__box ul li + li {
  margin-top: 3.4rem;
}
.p-memory-caution__box p {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-memory-caution__box p {
    margin-top: 3rem;
  }
}
.p-memory-caution__box p {
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
}

.p-products-info__sub-title {
  color: var(--main);
  font-size: 2.4rem;
  line-height: 4.2rem;
  margin-bottom: 3rem;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-products-info__sub-title {
    text-align: center;
  }
}
.p-products-info__lead {
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-products-info__lead {
    text-align: center;
  }
}
.p-products-list__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-products-list__list {
    margin-top: 6rem;
  }
}
.p-products-services {
  background-color: var(--box-bg);
  padding: 5.5rem 0 7.5rem;
}
@media screen and (min-width: 768px) {
  .p-products-services {
    padding: 10rem 0 12rem;
  }
}
.p-products-services__list {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-products-services__list {
    margin-top: 6rem;
  }
}
.p-products-services__list li .c-products-list__img {
  border: 1px solid var(--line);
}

.p-iposh-info .p-iposh-info__column {
  grid-template-columns: 60.8rem 1fr;
}
@media screen and (min-width: 768px) {
  .p-iposh-info .c-two-column__title {
    font-size: 3rem;
  }
}
.p-iposh-info .c-two-column__title b {
  color: var(--accent);
}
.p-iposh-info .c-two-column__title span {
  font-size: 2rem;
}
.p-iposh-info__text {
  line-height: 2;
  text-align: justify;
  letter-spacing: 0;
  margin-top: 4rem;
}
.p-iposh-info .c-two-column__img img {
  border-radius: 2rem;
}
.p-iposh-structure__box {
  margin-top: 3rem;
  background-color: var(--box-bg);
  padding: 3.8rem 2rem 5rem;
  border-radius: 2rem;
}
@media screen and (min-width: 768px) {
  .p-iposh-structure__box {
    margin-top: 5rem;
    padding: 8rem 10rem 9rem;
  }
}
.p-iposh-structure__box .wrapper {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-iposh-structure__box .wrapper {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-iposh-structure__box .wrapper .image-block {
    width: 41.2rem;
  }
}
.p-iposh-structure__box .wrapper .image-block img {
  width: 100%;
  height: auto;
  border-radius: 1.1rem;
}
@media screen and (min-width: 768px) {
  .p-iposh-structure__box .wrapper .text-block {
    width: 55.8rem;
  }
}
.p-iposh-structure__box .wrapper .text-block h3 {
  font-size: 2.4rem;
  line-height: 4.2rem;
  font-weight: 700;
  color: var(--main);
  text-align: justify;
  letter-spacing: 0;
}
.p-iposh-structure__box .wrapper .text-block p {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0;
}
.p-iposh-structure__box h4 {
  margin-top: 7rem;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}
.p-iposh-structure__box ul {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-iposh-structure__box ul {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-iposh-structure__box ul li {
    width: 31.8rem;
  }
}
.p-iposh-structure__box ul li img {
  width: 100%;
  height: auto;
  border-radius: 1.5rem;
}
.p-iposh-product__two-column {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-iposh-product__two-column {
    margin-top: 5rem;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-iposh-product__two-column-image {
    width: 51rem;
  }
}
.p-iposh-product__two-column-image img {
  border-radius: 2rem;
}
.p-iposh-product__two-column-image .caution {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.1em;
  text-align: justify;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 768px) {
  .p-iposh-product__two-column-content {
    width: 65rem;
  }
}
.p-iposh-product__two-column-content ul li + li {
  margin-top: 7.5rem;
}
.p-iposh-product__two-column-content ul li h3 img {
  width: 12.7rem;
  height: auto;
}
.p-iposh-product__two-column-content ul li h3 span {
  margin-top: 1rem;
  display: block;
  font-size: 1.7rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-weight: 400;
  font-feature-settings: "palt";
}
.p-iposh-product__two-column-content ul li h4 {
  margin-top: 3rem;
  font-size: 2rem;
  line-height: 3rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: var(--main);
  text-align: justify;
}
.p-iposh-product__two-column-content ul li p {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.1em;
  text-align: justify;
}
.p-iposh-partner__two-column {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-iposh-partner__two-column {
    margin-top: 5rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
  }
}
.p-iposh-partner__two-column-image {
  width: 17.3rem;
}
@media screen and (min-width: 768px) {
  .p-iposh-partner__two-column-image {
    width: 17.3rem;
  }
}
.p-iposh-partner__two-column-image img {
  width: 100%;
  height: auto;
}
.p-iposh-partner__two-column-content {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-iposh-partner__two-column-content {
    width: 91.6rem;
  }
}
.p-iposh-partner__two-column-content p {
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0;
  text-align: justify;
}
.p-iposh-partner__two-column-content .site-link {
  width: -moz-fit-content;
  width: fit-content;
  margin: 3rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-iposh-partner__two-column-content .site-link {
    margin: 5rem 0 0 auto;
  }
}
.p-iposh-contact p {
  margin-top: 3rem;
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: 700;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-iposh-contact p {
    margin-top: 3.5rem;
    text-align: center;
  }
}
.p-iposh-contact__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-iposh-contact__buttons {
    margin-top: 5.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-iposh-contact__buttons li {
    width: 35rem;
  }
}
.p-iposh-contact__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-iposh-contact__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-iposh-contact__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}

.p-sumitch-info .p-sumitch-info__column {
  grid-template-columns: 60.8rem 1fr;
}
@media screen and (min-width: 768px) {
  .p-sumitch-info .c-two-column__title {
    font-size: 3rem;
  }
}
.p-sumitch-info .c-two-column__title b {
  color: var(--accent);
}
.p-sumitch-info .c-two-column__title span {
  font-size: 2rem;
}
.p-sumitch-info__text {
  line-height: 2;
  text-align: justify;
  letter-spacing: 0;
  margin-top: 4rem;
}
.p-sumitch-info .c-two-column__img img {
  border-radius: 2rem;
}
.p-sumitch-structure__box {
  margin-top: 3rem;
  background-color: var(--box-bg);
  padding: 3.8rem 2rem 5rem;
  border-radius: 2rem;
}
@media screen and (min-width: 768px) {
  .p-sumitch-structure__box {
    margin-top: 5rem;
    padding: 8rem 10rem 9rem;
  }
}
.p-sumitch-structure__box .wrapper {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-sumitch-structure__box .wrapper {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-sumitch-structure__box .wrapper .image-block {
    width: 41.2rem;
  }
}
.p-sumitch-structure__box .wrapper .image-block img {
  width: 100%;
  height: auto;
  border-radius: 1.1rem;
}
@media screen and (min-width: 768px) {
  .p-sumitch-structure__box .wrapper .text-block {
    width: 55.8rem;
  }
}
.p-sumitch-structure__box .wrapper .text-block h3 {
  font-size: 2.4rem;
  line-height: 4.2rem;
  font-weight: 700;
  color: var(--main);
  text-align: justify;
  letter-spacing: 0;
}
.p-sumitch-structure__box .wrapper .text-block p {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0;
}
.p-sumitch-structure__box h4 {
  margin-top: 7rem;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}
.p-sumitch-structure__box ul {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-sumitch-structure__box ul {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-sumitch-structure__box ul li {
    width: 31.8rem;
  }
}
.p-sumitch-structure__box ul li img {
  width: 100%;
  height: auto;
  border-radius: 1.5rem;
}
.p-sumitch-product__two-column {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-sumitch-product__two-column {
    margin-top: 5rem;
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-sumitch-product__two-column-image {
    width: 51rem;
  }
}
.p-sumitch-product__two-column-image img {
  border-radius: 2rem;
}
.p-sumitch-product__two-column-image .caution {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.1em;
  text-align: justify;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 768px) {
  .p-sumitch-product__two-column-content {
    width: 65rem;
  }
}
.p-sumitch-product__two-column-content p {
  font-size: 1.6rem;
  line-height: 2.8rem;
}
.p-sumitch-product__two-column-content dl {
  margin-top: 4rem;
  border-top: 1px solid var(--line);
}
@media screen and (min-width: 768px) {
  .p-sumitch-product__two-column-content dl {
    margin-top: 4.5rem;
    display: flex;
    flex-wrap: wrap;
  }
}
.p-sumitch-product__two-column-content dl dt {
  border-bottom: 1px solid var(--line);
  background-color: var(--base-bg);
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: 0;
  text-align: center;
  padding: 1.3rem 2rem;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .p-sumitch-product__two-column-content dl dt {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 14rem;
  }
}
.p-sumitch-product__two-column-content dl dd {
  border-bottom: 1px solid var(--line);
  font-size: 1.4rem;
  line-height: 2.4rem;
  letter-spacing: 0;
  padding: 1.3rem 2rem;
}
@media screen and (min-width: 768px) {
  .p-sumitch-product__two-column-content dl dd {
    display: flex;
    align-items: center;
    min-height: 5.5rem;
    width: calc(100% - 14rem);
  }
}
.p-sumitch-product__text {
  margin-top: 6rem;
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-sumitch-product__text {
    margin-top: 7rem;
  }
}
.p-sumitch-product__text b {
  color: var(--main);
}
.p-sumitch-product__buttons {
  margin-top: 2em;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-sumitch-product__buttons {
    margin-top: 2.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-sumitch-product__buttons li {
    width: 35rem;
  }
}
.p-sumitch-product__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-sumitch-product__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-sumitch-product__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-sumitch-partner__two-column {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-sumitch-partner__two-column {
    margin-top: 5rem;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
  }
}
.p-sumitch-partner__two-column-image {
  width: 24.3rem;
}
@media screen and (min-width: 768px) {
  .p-sumitch-partner__two-column-image {
    width: 24.3rem;
  }
}
.p-sumitch-partner__two-column-image img {
  width: 100%;
  height: auto;
}
.p-sumitch-partner__two-column-content {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-sumitch-partner__two-column-content {
    width: 91.6rem;
  }
}
.p-sumitch-partner__two-column-content p {
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  text-align: justify;
}
.p-sumitch-partner__two-column-content .site-link {
  width: -moz-fit-content;
  width: fit-content;
  margin: 3rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-sumitch-partner__two-column-content .site-link {
    margin: 5rem 0 0 auto;
  }
}
.p-sumitch-contact p {
  margin-top: 3rem;
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: 700;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-sumitch-contact p {
    margin-top: 3.5rem;
    text-align: center;
  }
}
.p-sumitch-contact__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-sumitch-contact__buttons {
    margin-top: 5.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-sumitch-contact__buttons li {
    width: 35rem;
  }
}
.p-sumitch-contact__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-sumitch-contact__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-sumitch-contact__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}

.p-benefits-main__title {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-benefits-main__title {
    font-size: 2.8rem;
    text-align: center;
  }
}
.p-benefits-main__lead {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-main__lead {
    text-align: center;
  }
}
.p-benefits-main__box {
  margin-top: 8rem;
  background-color: var(--box-bg);
  padding: 4rem 2rem 4rem;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-main__box {
    margin-top: 7rem;
    padding: 4rem 0;
    display: flex;
  }
}
.p-benefits-main__box-title {
  font-size: 2.2rem;
  line-height: 3.85rem;
  font-weight: 700;
  text-align: center;
  padding-bottom: 2rem;
  color: var(--main);
  border-bottom: 1px solid var(--main);
}
@media screen and (min-width: 768px) {
  .p-benefits-main__box-title {
    font-size: 2.4rem;
    padding-bottom: 0;
    border-bottom: 0;
    border-right: 1px solid var(--main);
    width: 34.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.p-benefits-main__box-content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-main__box-content {
    margin-top: 0;
    width: calc(100% - 34.2rem);
    padding-left: 4.5rem;
  }
}
.p-benefits-main__box-content ul li {
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: justify;
  position: relative;
  padding-left: 1em;
}
@media screen and (min-width: 768px) {
  .p-benefits-main__box-content ul li {
    line-height: 3.4rem;
  }
}
.p-benefits-main__box-content ul li:before {
  content: "・";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-benefits-main__box-content p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-benefits-main__box-content p {
    line-height: 3.4rem;
  }
}
.p-benefits-about__lead {
  margin-top: 1rem;
  font-size: 2.2rem;
  line-height: 3.85rem;
  font-weight: 700;
  text-align: justify;
  letter-spacing: 0;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-benefits-about__lead {
    margin-top: 4.5rem;
    font-size: 2.4rem;
    line-height: 4.2rem;
    text-align: center;
  }
}
.p-benefits-about__formula {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-about__formula {
    margin: 3rem auto 0;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.p-benefits-about__formula li {
  font-size: 1.6rem;
  line-height: 2.8rem;
  text-align: justify;
  padding-left: 3rem;
  position: relative;
  counter-increment: number;
  font-feature-settings: "palt";
}
.p-benefits-about__formula li:before {
  content: "（" counter(number) "）";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-benefits-about__box {
  border: 1px solid var(--main);
  border-radius: 1.2rem;
  margin-top: 4rem;
  padding: 2.5rem 2rem 3rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-about__box {
    margin-top: 3rem;
    padding: 5rem 10rem 5rem;
  }
}
.p-benefits-about__box h3 {
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: 700;
  color: var(--main);
  text-align: justify;
  letter-spacing: 0;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-benefits-about__box h3 {
    text-align: center;
  }
}
.p-benefits-about__box .wrapper {
  margin-top: 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-about__box .wrapper {
    flex-direction: row;
    gap: 0;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-benefits-about__box .wrapper .fig-block {
    width: 30rem;
  }
}
.p-benefits-about__box .wrapper .fig-block ul li {
  border-radius: 0.6rem;
  background-color: var(--box-bg);
  font-size: 1.6rem;
  line-height: 2.2rem;
  text-align: center;
  padding: 1.2rem 0.5rem;
  position: relative;
}
.p-benefits-about__box .wrapper .fig-block ul li + li {
  margin-top: 2.7rem;
}
.p-benefits-about__box .wrapper .fig-block ul li + li:before {
  content: "";
  display: block;
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translate(-50%, 0);
  border-top: 1.3rem solid var(--main);
  border-right: 1.5rem solid transparent;
  border-left: 1.5rem solid transparent;
}
.p-benefits-about__box .wrapper .fig-block ul li .text {
  line-height: 2.6rem;
}
.p-benefits-about__box .wrapper .fig-block ul li .price {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 2.6rem;
  color: var(--main);
}
.p-benefits-about__box .wrapper .fig-block ul li .price .value {
  font-size: 2.2rem;
  font-weight: 700;
}
.p-benefits-about__box .wrapper .fig-block ul li .price .value .unit {
  font-size: 1.8rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-about__box .wrapper .text-block {
    width: 63.8rem;
  }
}
.p-benefits-about__box .wrapper .text-block ol li {
  counter-increment: caution-number;
  padding-left: 3rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  position: relative;
}
.p-benefits-about__box .wrapper .text-block ol li + li {
  margin-top: 3rem;
}
.p-benefits-about__box .wrapper .text-block ol li:before {
  content: "※" counter(caution-number);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-benefits-about__caution {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-about__caution {
    margin-top: 4rem;
  }
}
.p-benefits-about__caution li {
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0;
  padding-left: 1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-benefits-about__caution li {
    padding-left: 3rem;
    line-height: 3.4rem;
  }
}
.p-benefits-about__caution li:before {
  content: "※";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-benefits-about__caution li b {
  color: var(--accent);
  font-weight: 700;
}
.p-benefits-flow__flow {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  width: 100%;
}
.p-benefits-flow__flow li {
  border-radius: 0.8rem;
  background-color: var(--box-bg);
  font-size: 1.6rem;
  line-height: 2.8rem;
  padding: 3rem 2rem;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-benefits-flow__flow li {
    height: 9.8rem;
    padding: 0 4.5rem;
  }
}
.p-benefits-flow__flow li:first-child:before {
  content: none;
}
.p-benefits-flow__flow li:before {
  content: "";
  display: block;
  border-top: 1.8rem solid var(--sub);
  border-right: 1.8rem solid transparent;
  border-left: 1.8rem solid transparent;
  position: absolute;
  top: -2.7rem;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-benefits-flow__flow li:before {
    left: 12rem;
  }
}
.p-benefits-flow__flow li p {
  padding-left: 1em;
  text-indent: -1em;
}
.p-benefits-flow__caution {
  margin-top: 4.5rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-flow__caution {
    margin-top: 3rem;
  }
}
.p-benefits-flow__caution li {
  color: var(--accent);
  font-size: 1.6rem;
  letter-spacing: 2.8rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding-left: 1em;
  text-indent: -1em;
}
.p-benefits-company__lead {
  margin-top: 3rem;
  font-size: 1.8rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-benefits-company__lead {
    margin-top: 3.5rem;
    text-align: center;
  }
}
.p-benefits-company__lead b {
  font-weight: 700;
  color: var(--accent);
}
.p-benefits-company__box {
  margin-top: 6rem;
  border-radius: 1rem;
  border: 1px solid var(--main);
  padding: 2.5rem 2rem 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-company__box {
    margin-top: 6rem;
    padding: 5rem 10rem 5.5rem;
  }
}
.p-benefits-company__box h3 {
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: 700;
  text-align: justify;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-benefits-company__box h3 {
    font-size: 2.4rem;
    line-height: 1;
    text-align: center;
  }
}
.p-benefits-company__box p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: justify;
  margin-top: 2rem;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-benefits-company__box p {
    margin-top: 3rem;
    line-height: 3.4rem;
  }
}
.p-benefits-company__box p + h3 {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-company__box p + h3 {
    margin-top: 6.5rem;
  }
}
.p-benefits-company__box ol {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-company__box ol {
    width: -moz-fit-content;
    width: fit-content;
    margin: 2rem auto 0;
  }
}
.p-benefits-company__box ol li {
  counter-increment: company-number;
  font-size: 1.8rem;
  line-height: 3.4rem;
  padding-left: 3rem;
  letter-spacing: 0;
  position: relative;
}
.p-benefits-company__box ol li:before {
  content: "（" counter(company-number) "）";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  font-feature-settings: "palt";
}
.p-benefits-receipt__lead {
  font-size: 1.6rem;
  line-height: 3.4rem;
  margin-top: 3rem;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-benefits-receipt__lead {
    margin-top: 5.5rem;
    text-align: center;
  }
}
.p-benefits-receipt__list {
  margin-top: 6rem;
}
.p-benefits-receipt__list dt {
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  color: var(--main);
  letter-spacing: 0;
}
.p-benefits-receipt__list dd {
  font-size: 1.6rem;
  line-height: 2.8rem;
  text-align: justify;
  margin-top: 1.5rem;
  letter-spacing: 0;
}
.p-benefits-receipt__list dd + dt {
  margin-top: 4.5rem;
}
.p-benefits-receipt__caution {
  font-size: 1.6rem;
  line-height: 3.2rem;
  font-weight: 700;
  text-align: justify;
  color: var(--accent);
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-benefits-receipt__caution {
    margin-top: 5.5rem;
  }
}

.p-furusato-tax-main__title {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-main__title {
    font-size: 2.8rem;
    text-align: center;
  }
}
.p-furusato-tax-main__title span {
  color: var(--main);
}
.p-furusato-tax-main__title b {
  color: var(--accent);
}
.p-furusato-tax-main__lead {
  margin-top: 2rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-main__lead {
    text-align: center;
  }
}
.p-furusato-tax-main__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-main__buttons {
    margin-top: 5.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-main__buttons li {
    width: 35rem;
  }
}
.p-furusato-tax-main__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-furusato-tax-main__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-furusato-tax-main__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-furusato-tax-point__wrap {
  margin: 3rem 0 6rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-point__wrap {
    margin: 5rem 0 12rem;
    grid-template-columns: 1fr 50rem;
    gap: 5rem;
    align-items: center;
  }
}
.p-furusato-tax-point__title {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-point__title {
    font-size: 2.8rem;
  }
}
.p-furusato-tax-point__title b {
  color: var(--accent);
}
.p-furusato-tax-point__lead {
  margin-top: 2rem;
}
.p-furusato-tax-point__ul {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-point__ul {
    margin-top: 3.5rem;
    flex-direction: row;
  }
}
.p-furusato-tax-point__ul li {
  border: 1px solid var(--main);
  border-radius: 10px;
  padding: 2rem 2rem 3rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-point__ul li {
    flex: 1;
    padding: 3rem 4rem 4rem;
  }
}
.p-furusato-tax-point__ul li h4 {
  font-size: 1.9rem;
  line-height: 3.3rem;
  letter-spacing: 0;
  font-weight: 700;
  text-align: center;
  border-bottom: 1px solid var(--main);
  padding-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-point__ul li h4 {
    font-size: 2.2rem;
    line-height: 3.8rem;
    padding-bottom: 2.2rem;
  }
}
.p-furusato-tax-point__ul li h4 span {
  color: var(--main);
}
.p-furusato-tax-point__ul li p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0;
  margin-top: 2rem;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-point__ul li p {
    line-height: 3.4rem;
    margin-top: 2.5rem;
  }
}
.p-furusato-tax-case {
  background-color: var(--box-bg);
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case {
    padding-top: 9rem;
    padding-bottom: 13rem;
  }
}
.p-furusato-tax-case__subtitle {
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: center;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case__subtitle {
    margin-top: 5rem;
  }
}
.p-furusato-tax-case__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-furusato-tax-case__ul {
  margin-top: 3.8rem;
  display: flex;
  flex-direction: column;
  gap: 3.6rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case__ul {
    flex-direction: row;
    gap: 4.5rem;
  }
}
.p-furusato-tax-case__ul li {
  border-radius: 18px;
  background-color: var(--white);
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.08);
  padding: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case__ul li {
    padding: 3.5rem;
    flex: 1;
  }
}
.p-furusato-tax-case__ul-title {
  font-size: 1.8rem;
  line-height: 3.2rem;
  font-weight: 700;
  letter-spacing: 0;
  font-feature-settings: "palt";
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case__ul-title {
    font-size: 2.3rem;
    line-height: 4.2rem;
  }
}
.p-furusato-tax-case__ul-title b {
  color: var(--accent);
}
.p-furusato-tax-case__ul-img {
  margin: 1.5rem -2.5rem 0;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case__ul-img {
    margin: 2rem -3.5rem 0;
  }
}
.p-furusato-tax-case__ul-amount {
  font-size: 1.5rem;
  line-height: 3.5rem;
  text-align: center;
  width: 20rem;
  font-weight: 700;
  letter-spacing: 0;
  background-color: var(--sub);
  border-radius: 4px;
  margin-top: -2rem;
}
.p-furusato-tax-case__ul-amount span {
  font-size: 2.2rem;
}
.p-furusato-tax-case__ul-text {
  font-size: 1.5rem;
  line-height: 2.3rem;
  letter-spacing: 0;
  text-align: justify;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case__ul-text {
    margin-top: 2.5rem;
  }
}
.p-furusato-tax-case__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case__buttons {
    margin-top: 5.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-case__buttons li {
    width: 35rem;
  }
}
.p-furusato-tax-case__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-furusato-tax-case__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-furusato-tax-case__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-furusato-tax-flow__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-flow__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-furusato-tax-flow__flow {
  margin-top: 3.5rem;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-flow__flow {
    margin-top: 6rem;
  }
}
.p-furusato-tax-flow__flow dt {
  background-color: var(--box-bg);
  border-radius: 8px 8px 0 0;
  padding: 2rem 2rem 0;
  font-size: 1.8rem;
  line-height: 3.2rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  width: 100%;
  margin-top: 2.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-furusato-tax-flow__flow dt:before {
  content: "";
  display: block;
  border-top: 18px solid var(--sub);
  border-right: 18px solid transparent;
  border-left: 18px solid transparent;
  position: absolute;
  top: -2.7rem;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-flow__flow dt {
    border-radius: 8px 0 0 8px;
    padding: 2rem;
    flex-direction: row;
    gap: 0.9rem;
    width: 37rem;
    min-height: 9.8rem;
    line-height: 3.15rem;
  }
}
.p-furusato-tax-flow__flow dt:nth-of-type(1) {
  margin-top: 0;
}
.p-furusato-tax-flow__flow dt:nth-of-type(1):before {
  content: none;
}
.p-furusato-tax-flow__flow dt span {
  color: var(--main);
}
.p-furusato-tax-flow__flow dd {
  background-color: var(--box-bg);
  border-radius: 0 0 8px 8px;
  padding: 1.5rem 2rem 3.5rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  text-align: justify;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-flow__flow dd {
    border-radius: 0 8px 8px 0;
    padding: 2rem 2rem 2rem 1.2rem;
    display: flex;
    align-items: center;
    width: calc(100% - 37rem);
    margin-top: 2.2rem;
    min-height: 9.8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-flow__flow dd:nth-of-type(1) {
    margin-top: 0;
  }
}
.p-furusato-tax-flow__box {
  margin-top: 5.2rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 4rem 2rem 4rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-flow__box {
    padding: 5rem 10rem 5.5rem;
    margin-top: 6.7rem;
  }
}
.p-furusato-tax-flow__box-title {
  font-size: 2rem;
  line-height: 3.3rem;
  color: var(--sub3);
  font-weight: 700;
  text-align: justify;
  letter-spacing: 0;
  padding-left: 1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-flow__box-title {
    font-size: 2rem;
    line-height: 3.2rem;
  }
}
.p-furusato-tax-flow__box-title:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.p-furusato-tax-flow__box-caution {
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0.1em;
  text-align: justify;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-flow__box-caution {
    margin-top: 1rem;
  }
}
.p-furusato-tax-flow__box-headline {
  font-size: 1.8rem;
  line-height: 3.2rem;
  font-weight: 700;
  margin-top: 3rem;
}
.p-furusato-tax-flow__box-text {
  margin-top: 1.8rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: justify;
}
.p-furusato-tax-reason__text {
  font-size: 1.6rem;
  line-height: 3.3rem;
  text-align: justify;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-reason__text {
    margin-top: 6rem;
  }
}
.p-furusato-tax-voice__lead {
  margin-top: 3rem;
  font-size: 2.4rem;
  line-height: 4.2rem;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__lead {
    margin-top: 5rem;
    font-size: 2.5rem;
    line-height: 4.3rem;
  }
}
.p-furusato-tax-voice__ul {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__ul {
    margin-top: 3rem;
    gap: 5.7rem;
  }
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__ul li {
    display: flex;
    flex-direction: row;
    gap: 5rem;
  }
  .p-furusato-tax-voice__ul li:nth-child(even) {
    flex-direction: row-reverse;
  }
  .p-furusato-tax-voice__ul li:nth-child(even) .p-furusato-tax-voice__ul-text-block:before {
    border-top: 8px solid transparent;
    border-right: 0;
    border-bottom: 8px solid transparent;
    border-left: 14px solid var(--box-bg);
    top: 6.5rem;
    right: -1.4rem;
    left: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__ul-image-block {
    width: 20rem;
  }
}
.p-furusato-tax-voice__ul-image-block img {
  display: block;
  margin: 0 auto;
  width: 71.4285714286%;
  height: auto;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__ul-image-block img {
    width: 100%;
  }
}
.p-furusato-tax-voice__ul-image-block p {
  margin-top: 1.3rem;
  font-size: 1.3rem;
  line-height: 2.4rem;
  text-align: center;
}
.p-furusato-tax-voice__ul-text-block {
  margin-top: 3rem;
  background-color: var(--box-bg);
  border-radius: 8px;
  padding: 2.5rem 2rem 3.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__ul-text-block {
    margin-top: 0;
    width: calc(100% - 25rem);
    padding: 3.4rem 4rem 3.8rem;
  }
}
.p-furusato-tax-voice__ul-text-block:before {
  content: "";
  display: block;
  border-right: 8px solid transparent;
  border-bottom: 14px solid var(--box-bg);
  border-left: 8px solid transparent;
  position: absolute;
  top: -1.4rem;
  left: calc(50% - 0.8rem);
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__ul-text-block:before {
    border-top: 8px solid transparent;
    border-right: 14px solid var(--box-bg);
    border-bottom: 8px solid transparent;
    border-left: 0;
    top: 6.5rem;
    left: -1.4rem;
  }
}
.p-furusato-tax-voice__ul-text-block h3 {
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: justify;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__ul-text-block h3 {
    font-size: 2.3rem;
    line-height: 4rem;
  }
}
.p-furusato-tax-voice__ul-text-block p {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
  font-feature-settings: "palt";
}
.p-furusato-tax-voice__button-headline {
  margin-top: 6.5rem;
  font-size: 2.6rem;
  line-height: 4.5rem;
  letter-spacing: 0;
  font-weight: 700;
  color: var(--main);
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__button-headline {
    text-align: center;
  }
}
.p-furusato-tax-voice__button-text {
  margin-top: 2.5rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__button-text {
    text-align: center;
  }
}
.p-furusato-tax-voice__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__buttons {
    margin-top: 5.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-voice__buttons li {
    width: 35rem;
  }
}
.p-furusato-tax-voice__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-furusato-tax-voice__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-furusato-tax-voice__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-furusato-tax-qa {
  background-color: var(--box-bg);
  padding: 6rem 0 5.2rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-qa {
    padding: 7.5rem 0 12.5rem;
  }
}
.p-furusato-tax-qa__dl {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-qa__dl {
    margin-top: 8rem;
  }
}
.p-furusato-tax-qa__dl dt {
  line-height: 1.8rem;
  padding: 1.6rem 2rem 1.6rem 6rem;
  margin-top: 5rem;
  font-weight: 700;
  position: relative;
  min-height: 6.8rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-qa__dl dt {
    line-height: 3.4rem;
    padding: 2rem 3rem 2rem 8rem;
    margin-top: 2rem;
  }
}
.p-furusato-tax-qa__dl dt:before {
  content: "Q";
  display: block;
  position: absolute;
  top: 0rem;
  left: 2rem;
  font-size: 3.6rem;
  line-height: 6.8rem;
  font-family: var(--en-font);
  font-weight: 400;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-qa__dl dt:before {
    left: 3rem;
    font-size: 4rem;
    line-height: 7.4rem;
  }
}
.p-furusato-tax-qa__dl dt:nth-of-type(1) {
  margin-top: 0;
}
.p-furusato-tax-qa__dl dd {
  background-color: var(--white);
  border-radius: 8px;
  padding: 2rem 2rem 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-furusato-tax-qa__dl dd {
    padding: 2.5rem 3rem 2.5rem;
  }
}

.p-careers-main__title {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-careers-main__title {
    font-size: 2.8rem;
    text-align: center;
  }
}
.p-careers-main__title span {
  color: var(--main);
}
.p-careers-main__title b {
  color: var(--accent);
}
.p-careers-main__lead {
  margin-top: 2rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .p-careers-main__lead {
    text-align: center;
  }
}
.p-careers-nav {
  margin-top: 4.5rem;
}
@media screen and (min-width: 768px) {
  .p-careers-nav {
    margin-top: 9.6rem;
  }
}
.p-careers-nav ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background-color: var(--box-bg);
  border-radius: 10px;
  padding: 1.5rem 2.8rem 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-careers-nav ul {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    height: 6rem;
    padding: 23px 0;
  }
}
@media screen and (min-width: 768px) {
  .p-careers-nav ul li {
    padding: 0 3rem;
  }
  .p-careers-nav ul li + li {
    border-left: 1px solid var(--text);
  }
}
.p-careers-nav ul li a {
  font-size: 1.1rem;
  line-height: 2.4rem;
  padding-left: 1.8rem;
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-careers-nav ul li a {
    font-size: 1.4rem;
    line-height: 1;
    padding-right: 1.4rem;
    padding-left: 0;
    transition: 0.3s;
  }
  .p-careers-nav ul li a:hover {
    opacity: 0.5;
  }
}
.p-careers-nav ul li a:before {
  content: "";
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 0.4rem);
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-careers-nav ul li a:before {
    right: 0;
    left: auto;
  }
}
.p-careers-values__subtitle {
  margin-top: 5.4rem;
  font-size: 3.8rem;
  line-height: 1;
  text-align: center;
  color: var(--main);
  font-family: var(--en-font);
}
.p-careers-values__lead {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0.1em;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-careers-values__lead {
    text-align: center;
  }
}
.p-careers-values__ul {
  margin-top: 3.6rem;
  display: flex;
  flex-direction: column;
  gap: 2.6rem;
}
@media screen and (min-width: 768px) {
  .p-careers-values__ul {
    margin-top: 5rem;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 3.6rem 4rem;
  }
}
.p-careers-values__ul li {
  border: 1px solid var(--main);
  border-radius: 10px;
  padding: 2.5rem 2rem 2rem;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-careers-values__ul li {
    width: calc((100% - 4rem) / 2);
    padding: 2.5rem 4rem 4.5rem;
  }
}
.p-careers-values__ul li img {
  width: 20.2rem;
  height: 9.9rem;
}
.p-careers-values__ul li h4 {
  margin-top: 2rem;
  font-size: 2rem;
  line-height: 2.7rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  color: var(--accent);
}
@media screen and (min-width: 768px) {
  .p-careers-values__ul li h4 {
    margin-top: 1.5rem;
    font-size: 2.6rem;
    line-height: 3.3rem;
  }
}
.p-careers-values__ul li p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0;
  margin-top: 1.6rem;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-careers-values__ul li p {
    margin-top: 1.8rem;
    line-height: 3.4rem;
  }
}
.p-careers-environments__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-careers-environments__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-careers-environments__ul {
  margin-top: 5.5rem;
  display: flex;
  flex-direction: column;
  gap: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-careers-environments__ul {
    flex-direction: row;
    gap: 4.5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-careers-environments__ul > li {
    width: calc((100% - 8rem) / 3);
  }
}
.p-careers-environments__ul-title {
  border-radius: 10px;
  background-color: var(--sub);
  display: block;
  font-size: 2rem;
  line-height: 5.5rem;
  letter-spacing: 0;
  font-weight: 700;
  text-align: center;
  color: var(--main);
  font-feature-settings: "palt";
}
.p-careers-environments__ul ul {
  margin-top: 1.6rem;
  padding-left: 1rem;
}
.p-careers-environments__ul ul li {
  font-size: 1.8rem;
  line-height: 3.6rem;
  letter-spacing: 0;
}
.p-careers-environments__ul ul li:before {
  content: "・";
}
.p-careers-interviews {
  background-color: var(--box-bg);
  padding: 6rem 0 5.2rem;
}
@media screen and (min-width: 768px) {
  .p-careers-interviews {
    padding: 7.5rem 0 12.5rem;
  }
}
.p-careers-interviews__subtitle {
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-top: 4.5rem;
}
.p-careers-interviews__ul {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}
@media screen and (min-width: 768px) {
  .p-careers-interviews__ul {
    margin-top: 3rem;
    gap: 5.7rem;
  }
}
@media screen and (min-width: 768px) {
  .p-careers-interviews__ul li {
    display: flex;
    flex-direction: row;
    gap: 5rem;
  }
  .p-careers-interviews__ul li:nth-child(even) {
    flex-direction: row-reverse;
  }
  .p-careers-interviews__ul li:nth-child(even) .p-careers-interviews__ul-text-block:before {
    border-top: 8px solid transparent;
    border-right: 0;
    border-bottom: 8px solid transparent;
    border-left: 14px solid var(--white);
    top: 6.5rem;
    right: -1.4rem;
    left: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-careers-interviews__ul-image-block {
    width: 20rem;
  }
}
.p-careers-interviews__ul-image-block img {
  display: block;
  margin: 0 auto;
  width: 71.4285714286%;
  height: auto;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .p-careers-interviews__ul-image-block img {
    width: 100%;
  }
}
.p-careers-interviews__ul-image-block p {
  margin-top: 1.3rem;
  font-size: 1.3rem;
  line-height: 2.4rem;
  text-align: center;
}
.p-careers-interviews__ul-text-block {
  margin-top: 3rem;
  background-color: var(--white);
  border-radius: 8px;
  padding: 2.5rem 2rem 3.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-careers-interviews__ul-text-block {
    margin-top: 0;
    width: calc(100% - 25rem);
    padding: 3.4rem 4rem 3.8rem;
  }
}
.p-careers-interviews__ul-text-block:before {
  content: "";
  display: block;
  border-right: 8px solid transparent;
  border-bottom: 14px solid var(--white);
  border-left: 8px solid transparent;
  position: absolute;
  top: -1.4rem;
  left: calc(50% - 0.8rem);
}
@media screen and (min-width: 768px) {
  .p-careers-interviews__ul-text-block:before {
    border-top: 8px solid transparent;
    border-right: 14px solid var(--white);
    border-bottom: 8px solid transparent;
    border-left: 0;
    top: 6.5rem;
    left: -1.4rem;
  }
}
.p-careers-interviews__ul-text-block h3 {
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: justify;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-careers-interviews__ul-text-block h3 {
    font-size: 2.3rem;
    line-height: 4rem;
  }
}
.p-careers-interviews__ul-text-block p {
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
  font-feature-settings: "palt";
}
.p-careers-position__lead {
  font-size: 1.8rem;
  line-height: 3.3rem;
  letter-spacing: 0;
  font-weight: 700;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-careers-position__lead {
    margin-top: 6rem;
    text-align: center;
  }
}
.p-careers-position__ul {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 3.2rem;
}
@media screen and (min-width: 768px) {
  .p-careers-position__ul {
    margin-top: 5.4rem;
    flex-direction: row;
    gap: 6rem;
  }
}
@media screen and (min-width: 768px) {
  .p-careers-position__ul > li {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
}
.p-careers-position__ul-title {
  border-radius: 10px 10px 0 0;
  font-size: 2rem;
  line-height: 5.8rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-careers-position__ul-title {
    font-size: 2.4rem;
  }
}
.p-careers-position__ul-title-career {
  background-color: var(--main);
}
.p-careers-position__ul-title-intern {
  background-color: var(--accent);
}
.p-careers-position__ul-ul {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  border-left: 1px solid var(--line);
  padding: 0 2rem;
}
@media screen and (min-width: 768px) {
  .p-careers-position__ul-ul {
    padding: 0 3.6rem;
    height: 100%;
  }
}
.p-careers-position__ul-ul > li + li {
  border-top: 1px solid var(--line);
}
.p-careers-position__ul-ul > li a {
  display: block;
  font-size: 1.6rem;
  line-height: 2.8rem;
  padding: 2rem 2rem 2rem 0;
  text-align: justify;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-careers-position__ul-ul > li a {
    padding: 3.1rem 2.4rem 3.1rem 0;
    transition: 0.3s;
  }
  .p-careers-position__ul-ul > li a:hover {
    opacity: 0.5;
  }
}
.p-careers-position__ul-ul > li a:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  position: absolute;
  top: 50%;
  right: 0;
  transform: rotate(-45deg) translate(0, -50%);
}
.p-careers-position__ul-no {
  padding: 2rem 2rem 2rem 0;
}
@media screen and (min-width: 768px) {
  .p-careers-position__ul-no {
    padding: 3.1rem 2.4rem 3.1rem 0;
  }
}
.p-careers-flow__subtitle {
  margin-top: 3rem;
  font-size: 2.2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-careers-flow__subtitle {
    margin-top: 5rem;
    font-size: 2.6rem;
  }
}
.p-careers-flow__flow {
  margin-top: 3.5rem;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-careers-flow__flow {
    margin-top: 3.5rem;
  }
}
.p-careers-flow__flow + .p-careers-flow__subtitle {
  margin-top: 9.6rem;
}
@media screen and (min-width: 768px) {
  .p-careers-flow__flow + .p-careers-flow__subtitle {
    margin-top: 6.9rem;
  }
}
.p-careers-flow__flow dt {
  background-color: var(--box-bg);
  border-radius: 8px 8px 0 0;
  padding: 2rem 2rem 0;
  font-size: 1.8rem;
  line-height: 3.2rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  width: 100%;
  margin-top: 2.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-careers-flow__flow dt:before {
  content: "";
  display: block;
  border-top: 18px solid var(--sub);
  border-right: 18px solid transparent;
  border-left: 18px solid transparent;
  position: absolute;
  top: -2.7rem;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-careers-flow__flow dt {
    border-radius: 8px 0 0 8px;
    padding: 2rem;
    flex-direction: row;
    gap: 0.9rem;
    width: 37rem;
    min-height: 9.8rem;
    line-height: 3.15rem;
  }
}
.p-careers-flow__flow dt:nth-of-type(1) {
  margin-top: 0;
}
.p-careers-flow__flow dt:nth-of-type(1):before {
  content: none;
}
.p-careers-flow__flow dt span {
  color: var(--main);
}
.p-careers-flow__flow dd {
  background-color: var(--box-bg);
  border-radius: 0 0 8px 8px;
  padding: 1.5rem 2rem 3.5rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  text-align: justify;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-careers-flow__flow dd {
    border-radius: 0 8px 8px 0;
    padding: 2rem 2rem 2rem 1.2rem;
    display: flex;
    align-items: center;
    width: calc(100% - 37rem);
    margin-top: 2.2rem;
    min-height: 9.8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-careers-flow__flow dd:nth-of-type(1) {
    margin-top: 0;
  }
}
.p-careers-flow__box {
  margin-top: 5.2rem;
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 4rem 2rem 4rem;
}
@media screen and (min-width: 768px) {
  .p-careers-flow__box {
    padding: 5rem 10rem 5.5rem;
    margin-top: 6.7rem;
  }
}
.p-careers-flow__box-title {
  font-size: 2rem;
  line-height: 3.3rem;
  color: var(--sub3);
  font-weight: 700;
  text-align: justify;
  letter-spacing: 0;
  padding-left: 1em;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-careers-flow__box-title {
    font-size: 2rem;
    line-height: 3.2rem;
  }
}
.p-careers-flow__box-title:before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}
.p-careers-flow__box-caution {
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0.1em;
  text-align: justify;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-careers-flow__box-caution {
    margin-top: 1rem;
  }
}
.p-careers-flow__box-headline {
  font-size: 1.8rem;
  line-height: 3.2rem;
  font-weight: 700;
  margin-top: 3rem;
}
.p-careers-flow__box-text {
  margin-top: 1.8rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: justify;
}
.p-careers-reason__text {
  font-size: 1.6rem;
  line-height: 3.3rem;
  text-align: justify;
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-careers-reason__text {
    margin-top: 6rem;
  }
}
.p-careers-qa {
  background-color: var(--box-bg);
  padding: 6rem 0 5.2rem;
}
@media screen and (min-width: 768px) {
  .p-careers-qa {
    padding: 7.5rem 0 12.5rem;
  }
}
.p-careers-qa__dl {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-careers-qa__dl {
    margin-top: 8rem;
  }
}
.p-careers-qa__dl dt {
  line-height: 1.8rem;
  padding: 1.6rem 2rem 1.6rem 6rem;
  margin-top: 5rem;
  font-weight: 700;
  position: relative;
  min-height: 6.8rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-careers-qa__dl dt {
    line-height: 3.4rem;
    padding: 2rem 3rem 2rem 8rem;
    margin-top: 2rem;
  }
}
.p-careers-qa__dl dt:before {
  content: "Q";
  display: block;
  position: absolute;
  top: 0rem;
  left: 2rem;
  font-size: 3.6rem;
  line-height: 6.8rem;
  font-family: var(--en-font);
  font-weight: 400;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-careers-qa__dl dt:before {
    left: 3rem;
    font-size: 4rem;
    line-height: 7.4rem;
  }
}
.p-careers-qa__dl dt:nth-of-type(1) {
  margin-top: 0;
}
.p-careers-qa__dl dd {
  background-color: var(--white);
  border-radius: 8px;
  padding: 2rem 2rem 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-careers-qa__dl dd {
    padding: 2.5rem 3rem 2.5rem;
  }
}

.p-for-company-partnership__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-for-company-partnership__ul {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 2.3rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership__ul {
    margin-top: 7.5rem;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 5.8rem 4.7rem;
  }
}
.p-for-company-partnership__ul li {
  padding-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership__ul li {
    width: calc((100% - 9.4rem) / 3);
  }
}
.p-for-company-partnership__ul-box {
  background-color: var(--main);
  color: var(--white);
  width: 100%;
  height: 12rem;
  border-radius: 0.8rem;
  position: relative;
}
.p-for-company-partnership__ul-box-number {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 6rem;
  font-weight: 400;
  line-height: 1;
  position: absolute;
  top: -3.3rem;
  left: 50%;
  transform: translate(-50%, 0);
  color: var(--sub);
  font-family: var(--en-font);
  pointer-events: none;
}
.p-for-company-partnership__ul-box a {
  font-size: 2rem;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  border-radius: 0.8rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership__ul-box a {
    transition: 0.3s;
  }
  .p-for-company-partnership__ul-box a:hover {
    opacity: 0.5;
  }
}
.p-for-company-partnership__title {
  font-size: 2.6rem;
  line-height: 4.7rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership__title {
    font-size: 2.8rem;
  }
}
.p-for-company-partnership__title-number {
  font-family: var(--en-font);
  color: var(--sub);
  font-size: 6.5rem;
  line-height: 1;
  letter-spacing: 0;
  font-weight: 400;
  display: block;
}
.p-for-company-partnership-01__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-01__lead {
    margin-top: 5rem;
  }
}
.p-for-company-partnership-01__button-text {
  margin-top: 7.5rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-01__button-text {
    margin-top: 7rem;
  }
}
.p-for-company-partnership-01__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-01__buttons {
    margin-top: 2rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-01__buttons li {
    width: 35rem;
  }
}
.p-for-company-partnership-01__buttons li .button {
  display: block;
  border-radius: 10rem;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-for-company-partnership-01__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-for-company-partnership-01__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-for-company-partnership-02 {
  position: relative;
  padding-top: 9rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02 {
    padding-top: 12rem;
  }
}
.p-for-company-partnership-02:before {
  content: "";
  display: block;
  width: calc(100% - 4rem);
  border-top: 1px solid var(--line);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02:before {
    max-width: 120rem;
  }
}
.p-for-company-partnership-02__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  font-weight: 700;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-for-company-partnership-02__ul {
  margin-top: 6.5rem;
  display: flex;
  flex-direction: column;
  gap: 4.7rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__ul {
    margin-top: 3.5rem;
    flex-direction: row;
    gap: 4.5rem;
  }
}
.p-for-company-partnership-02__ul li {
  width: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 1rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.08);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__ul li {
    width: calc((100% - 9rem) / 3);
  }
}
.p-for-company-partnership-02__ul li h3 {
  height: 12rem;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: var(--white);
  background-color: var(--main);
  font-size: 2rem;
  line-height: 3.6rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  border-radius: 1rem 1rem 0 0;
  padding: 0 2rem;
}
.p-for-company-partnership-02__ul li p {
  padding: 2.5rem 2rem 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
  border-radius: 0 0 1rem 1rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__ul li p {
    flex: 1;
  }
}
.p-for-company-partnership-02__box1 {
  margin-top: 10rem;
  border: 1px solid var(--line);
  border-radius: 1em;
  padding: 3.5rem 2rem 3.5rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__box1 {
    margin-top: 6.8rem;
  }
}
.p-for-company-partnership-02__box1 h3 {
  font-size: 2rem;
  line-height: 3.5rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: justify;
  color: var(--accent);
}
@media screen and (max-width: 767px) {
  .p-for-company-partnership-02__box1 h3 span {
    display: none;
  }
}
.p-for-company-partnership-02__box1 p {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
}
.p-for-company-partnership-02__voice-title {
  margin-top: 12rem;
  font-size: 2.4rem;
  line-height: 4.7rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__voice-title {
    margin-top: 16rem;
    font-size: 2.6rem;
  }
}
.p-for-company-partnership-02__voice-ul {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__voice-ul {
    margin-top: 7.5rem;
    gap: 5.7rem;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__voice-ul li {
    display: flex;
    flex-direction: row;
    gap: 5rem;
  }
  .p-for-company-partnership-02__voice-ul li:nth-child(even) {
    flex-direction: row-reverse;
  }
  .p-for-company-partnership-02__voice-ul li:nth-child(even) .p-for-company-partnership-02__voice-ul-text-block:before {
    border-top: 0.8rem solid transparent;
    border-right: 0;
    border-bottom: 0.8rem solid transparent;
    border-left: 1.4rem solid var(--box-bg);
    top: 6.5rem;
    right: -1.4rem;
    left: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__voice-ul-image-block {
    width: 20rem;
  }
}
.p-for-company-partnership-02__voice-ul-image-block img {
  display: block;
  margin: 0 auto;
  width: 71.4285714286%;
  height: auto;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__voice-ul-image-block img {
    width: 100%;
  }
}
.p-for-company-partnership-02__voice-ul-image-block p {
  margin-top: 1.3rem;
  font-size: 1.3rem;
  line-height: 2.4rem;
  text-align: center;
  letter-spacing: 0;
}
.p-for-company-partnership-02__voice-ul-text-block {
  margin-top: 3rem;
  background-color: var(--box-bg);
  border-radius: 0.8rem;
  padding: 2.5rem 2rem 3.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__voice-ul-text-block {
    margin-top: 0;
    width: calc(100% - 25rem);
    padding: 3.4rem 4rem 3.8rem;
  }
}
.p-for-company-partnership-02__voice-ul-text-block:before {
  content: "";
  display: block;
  border-right: 0.8rem solid transparent;
  border-bottom: 1.4rem solid var(--box-bg);
  border-left: 0.8rem solid transparent;
  position: absolute;
  top: -1.4rem;
  left: calc(50% - 0.8rem);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__voice-ul-text-block:before {
    border-top: 0.8rem solid transparent;
    border-right: 1.4rem solid var(--box-bg);
    border-bottom: 0.8rem solid transparent;
    border-left: 0;
    top: 6.5rem;
    left: -1.4rem;
  }
}
.p-for-company-partnership-02__voice-ul-text-block h3 {
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: justify;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__voice-ul-text-block h3 {
    font-size: 2.3rem;
    line-height: 4rem;
  }
}
.p-for-company-partnership-02__voice-ul-text-block p {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
  font-feature-settings: "palt";
}
.p-for-company-partnership-02__box2 {
  margin-top: 6rem;
  border: 1px solid var(--main);
  border-radius: 1em;
  padding: 2.5rem 2rem 3rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__box2 {
    padding: 4rem 4.5rem 5rem;
  }
}
.p-for-company-partnership-02__box2 h3 {
  font-size: 2.2rem;
  line-height: 3.8rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: justify;
  color: var(--main);
}
.p-for-company-partnership-02__box2 p {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
}
.p-for-company-partnership-02__buttons {
  margin-top: 6.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__buttons {
    margin-top: 9rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-02__buttons li {
    width: 35rem;
  }
}
.p-for-company-partnership-02__buttons li .sup {
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-bottom: 1.5rem;
  text-align: center;
}
.p-for-company-partnership-02__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
}
.p-for-company-partnership-02__buttons li .button.button-blue {
  background-color: var(--main);
}
.p-for-company-partnership-02__buttons li .button.button-green {
  background-color: var(--accent);
}
.p-for-company-partnership-02__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-for-company-partnership-02__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-for-company-partnership-03 {
  position: relative;
  padding-top: 9rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03 {
    padding-top: 12rem;
  }
}
.p-for-company-partnership-03:before {
  content: "";
  display: block;
  width: calc(100% - 4rem);
  border-top: 1px solid var(--line);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03:before {
    max-width: 120rem;
  }
}
.p-for-company-partnership-03__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__lead {
    margin-top: 5rem;
  }
}
.p-for-company-partnership-03__button-text {
  margin-top: 10rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__button-text {
    margin-top: 5rem;
  }
}
.p-for-company-partnership-03__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__buttons {
    margin-top: 2rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__buttons li {
    width: 35rem;
  }
}
.p-for-company-partnership-03__buttons li .button {
  display: block;
  border-radius: 10rem;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-for-company-partnership-03__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-for-company-partnership-03__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-for-company-partnership-03__voice-title {
  margin-top: 12rem;
  font-size: 2.4rem;
  line-height: 4.7rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__voice-title {
    margin-top: 16rem;
    font-size: 2.6rem;
  }
}
.p-for-company-partnership-03__voice-ul {
  margin-top: 4rem;
  display: flex;
  flex-direction: column;
  gap: 6.4rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__voice-ul {
    margin-top: 7.5rem;
    gap: 5.7rem;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__voice-ul li {
    display: flex;
    flex-direction: row;
    gap: 5rem;
  }
  .p-for-company-partnership-03__voice-ul li:nth-child(even) {
    flex-direction: row-reverse;
  }
  .p-for-company-partnership-03__voice-ul li:nth-child(even) .p-for-company-partnership-03__voice-ul-text-block:before {
    border-top: 0.8rem solid transparent;
    border-right: 0;
    border-bottom: 0.8rem solid transparent;
    border-left: 1.4rem solid var(--box-bg);
    top: 6.5rem;
    right: -1.4rem;
    left: auto;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__voice-ul-image-block {
    width: 20rem;
  }
}
.p-for-company-partnership-03__voice-ul-image-block img {
  display: block;
  margin: 0 auto;
  width: 71.4285714286%;
  height: auto;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__voice-ul-image-block img {
    width: 100%;
  }
}
.p-for-company-partnership-03__voice-ul-image-block p {
  margin-top: 1.3rem;
  font-size: 1.3rem;
  line-height: 2.4rem;
  text-align: center;
  letter-spacing: 0;
}
.p-for-company-partnership-03__voice-ul-text-block {
  margin-top: 3rem;
  background-color: var(--box-bg);
  border-radius: 0.8rem;
  padding: 2.5rem 2rem 3.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__voice-ul-text-block {
    margin-top: 0;
    width: calc(100% - 25rem);
    padding: 3.4rem 4rem 3.8rem;
  }
}
.p-for-company-partnership-03__voice-ul-text-block:before {
  content: "";
  display: block;
  border-right: 0.8rem solid transparent;
  border-bottom: 1.4rem solid var(--box-bg);
  border-left: 0.8rem solid transparent;
  position: absolute;
  top: -1.4rem;
  left: calc(50% - 0.8rem);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__voice-ul-text-block:before {
    border-top: 0.8rem solid transparent;
    border-right: 1.4rem solid var(--box-bg);
    border-bottom: 0.8rem solid transparent;
    border-left: 0;
    top: 6.5rem;
    left: -1.4rem;
  }
}
.p-for-company-partnership-03__voice-ul-text-block h3 {
  font-size: 2rem;
  line-height: 3.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: justify;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-03__voice-ul-text-block h3 {
    font-size: 2.3rem;
    line-height: 4rem;
  }
}
.p-for-company-partnership-03__voice-ul-text-block p {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
  font-feature-settings: "palt";
}
.p-for-company-partnership-04 {
  position: relative;
  padding-top: 9rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04 {
    padding-top: 12rem;
  }
}
.p-for-company-partnership-04:before {
  content: "";
  display: block;
  width: calc(100% - 4rem);
  border-top: 1px solid var(--line);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04:before {
    max-width: 120rem;
  }
}
.p-for-company-partnership-04__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-for-company-partnership-04__subtitle {
  margin-top: 5.5rem;
  font-size: 2rem;
  line-height: 4.7rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__subtitle {
    margin-top: 11rem;
    font-size: 2.4rem;
  }
}
.p-for-company-partnership-04__text {
  margin-top: 3.5rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__text {
    margin-top: 2.5rem;
  }
}
.p-for-company-partnership-04__services-title {
  margin-top: 10rem;
  font-size: 1.8rem;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__services-title {
    font-size: 2rem;
    line-height: 4.7rem;
    margin-top: 11rem;
  }
}
@media screen and (max-width: 767px) {
  .p-for-company-partnership-04__services-title span {
    display: none;
  }
}
.p-for-company-partnership-04__ul {
  margin-top: 3.5rem;
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__ul {
    margin-top: 4.5rem;
    flex-direction: row;
    gap: 4.5rem;
  }
}
.p-for-company-partnership-04__ul li {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__ul li {
    width: calc((100% - 9rem) / 3);
  }
}
.p-for-company-partnership-04__ul li img {
  width: 100%;
  height: auto;
  border-radius: 0.8rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__ul li img {
    border-radius: 1rem;
  }
}
.p-for-company-partnership-04__ul li p {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__ul li p {
    margin-top: 2.2rem;
  }
}
.p-for-company-partnership-04__button-text {
  margin-top: 10rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__button-text {
    margin-top: 5rem;
  }
}
.p-for-company-partnership-04__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__buttons {
    margin-top: 2rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-04__buttons li {
    width: 36rem;
  }
}
.p-for-company-partnership-04__buttons li .button {
  display: block;
  border-radius: 10rem;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-for-company-partnership-04__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-for-company-partnership-04__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-for-company-partnership-05 {
  position: relative;
  padding-top: 9rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-05 {
    padding-top: 12rem;
  }
}
.p-for-company-partnership-05:before {
  content: "";
  display: block;
  width: calc(100% - 4rem);
  border-top: 1px solid var(--line);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-05:before {
    max-width: 120rem;
  }
}
.p-for-company-partnership-05__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-05__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-for-company-partnership-05__subtitle {
  margin-top: 5.5rem;
  font-size: 2rem;
  line-height: 4.7rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-05__subtitle {
    margin-top: 11rem;
    font-size: 2.4rem;
  }
}
.p-for-company-partnership-05__text {
  margin-top: 3.5rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-05__text {
    margin-top: 2.5rem;
  }
}
.p-for-company-partnership-05__box {
  margin: 7rem auto 0;
  background-color: var(--base-bg);
  border-radius: 1rem;
  padding: 3.5rem 2rem 5.5rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-05__box {
    margin-top: 10rem;
    width: 57rem;
    padding: 2rem 2rem;
  }
}
.p-for-company-partnership-05__box p {
  font-size: 2rem;
  line-height: 4.7rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
.p-for-company-partnership-05__button-text {
  margin-top: 4.5rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-05__button-text {
    margin-top: 14rem;
  }
}
.p-for-company-partnership-05__buttons {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-05__buttons {
    margin-top: 2rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-05__buttons li {
    width: 35rem;
  }
}
.p-for-company-partnership-05__buttons li .button {
  display: block;
  border-radius: 10rem;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--accent);
}
.p-for-company-partnership-05__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-for-company-partnership-05__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-for-company-partnership-06 {
  position: relative;
  padding-top: 9rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-06 {
    padding-top: 12rem;
  }
}
.p-for-company-partnership-06:before {
  content: "";
  display: block;
  width: calc(100% - 4rem);
  border-top: 1px solid var(--line);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-06:before {
    max-width: 120rem;
  }
}
.p-for-company-partnership-06__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-06__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-for-company-partnership-06__button-text {
  margin-top: 4.5rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-06__button-text {
    margin-top: 14rem;
  }
}
.p-for-company-partnership-06__buttons {
  margin-top: 2rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-06__buttons {
    margin-top: 2rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-for-company-partnership-06__buttons li {
    width: 35rem;
  }
}
.p-for-company-partnership-06__buttons li .button {
  display: block;
  border-radius: 10rem;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-for-company-partnership-06__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-for-company-partnership-06__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}

.p-supporters-info__heading {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-supporters-info__heading {
    font-size: 2.8rem;
    text-align: center;
  }
}
.p-supporters-info__lead {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-info__lead {
    margin-top: 3rem;
    text-align: center;
  }
}
.p-supporters-info__link {
  margin-top: 5rem;
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-info__link {
    margin-top: 8rem;
    display: flex;
    justify-content: center;
    gap: 6rem;
  }
}
.p-supporters-info__link li {
  width: 100%;
  max-width: 35rem;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-supporters-info__link li {
    margin: 0;
  }
}
.p-supporters-case__lead {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-case__lead {
    text-align: center;
    margin-top: 5rem;
  }
}
.p-supporters-case__list {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-case__list {
    margin-top: 5rem;
    display: flex;
    gap: 4.5rem;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.p-supporters-case__list li {
  padding-bottom: 2.5rem;
  border-radius: 10px;
  background-color: var(--white);
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-supporters-case__list li {
    width: 37rem;
    padding-bottom: 3rem;
  }
}
.p-supporters-case__img {
  width: 100%;
  aspect-ratio: 37/26;
  position: relative;
}
.p-supporters-case__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.p-supporters-case__subtitle {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  border-radius: 3px;
  padding: 0.3rem 1rem;
  background-color: var(--sub);
  margin: 0 auto;
  transform: translateY(-2rem);
}
.p-supporters-case__subtitle span {
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-case__subtitle span {
    font-size: 2.2rem;
  }
}
.p-supporters-case__text {
  font-size: 1.5rem;
  padding: 0 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-case__text {
    padding: 0 3rem;
  }
}
.p-supporters-strength__dl {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-strength__dl {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-supporters-strength__dl div {
    display: grid;
    grid-template-columns: 40rem 1fr;
    align-items: center;
    padding: 3rem 2.5rem;
    border-radius: 5px;
  }
  .p-supporters-strength__dl div:nth-child(odd) {
    background-color: var(--main-bg);
  }
}
.p-supporters-strength__dl dt {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: bold;
  color: var(--main);
  background-color: var(--main-bg);
  padding: 2rem;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .p-supporters-strength__dl dt {
    padding: 0;
    background-color: initial;
  }
}
.p-supporters-strength__dl dd {
  padding: 1rem 2rem 3rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-strength__dl dd {
    padding: 0;
  }
}
.p-supporters-initiatives {
  padding: 6rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-supporters-initiatives {
    padding: 12rem 0;
  }
}
.p-supporters-initiatives__list {
  margin-top: 3rem;
  display: grid;
  gap: 2rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-initiatives__list {
    margin-top: 5rem;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }
}
.p-supporters-initiatives__list li {
  padding: 2.5rem;
  border-radius: 10px;
  background-color: var(--white);
}
@media screen and (min-width: 768px) {
  .p-supporters-initiatives__list li {
    padding: 3rem;
  }
  .p-supporters-initiatives__list li:nth-child(1) {
    grid-area: 1/1/2/2;
  }
  .p-supporters-initiatives__list li:nth-child(2) {
    grid-area: 1/2/2/3;
  }
  .p-supporters-initiatives__list li:nth-child(3) {
    grid-area: 2/1/3/2;
  }
  .p-supporters-initiatives__list li:nth-child(4) {
    grid-area: 2/2/3/3;
  }
  .p-supporters-initiatives__list li:nth-child(5) {
    grid-area: 1/3/3/5;
    display: flex;
    flex-direction: column;
  }
}
.p-supporters-initiatives__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  color: var(--accent);
}
.p-supporters-initiatives__text {
  margin-top: 1.5rem;
}
.p-supporters-initiatives__detail {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-initiatives__detail {
    display: grid;
    grid-template-columns: 25rem 1fr;
    gap: 2rem;
    margin: auto 0;
  }
}
.p-supporters-initiatives__detail img {
  width: 100%;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-initiatives__detail img {
    margin-top: 0;
  }
}
.p-supporters-initiatives__dl {
  letter-spacing: normal;
}
.p-supporters-initiatives__dl dd {
  text-indent: -1.4em;
  margin-left: 1.4em;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-initiatives__dl dd {
    font-size: 1.4rem;
  }
}
.p-supporters-initiatives__dl dd:nth-child(2)::first-letter {
  color: var(--main);
}
.p-supporters-initiatives__dl dd:nth-child(3)::first-letter {
  color: #29abe2;
}
.p-supporters-initiatives__dl dd:nth-child(4)::first-letter {
  color: var(--sub2);
}
.p-supporters-initiatives__dl dd:nth-child(5)::first-letter {
  color: var(--sub);
}
.p-supporters-initiatives__dl dd:nth-child(6)::first-letter, .p-supporters-initiatives__dl dd:nth-child(7)::first-letter {
  color: var(--accent);
}
.p-supporters-support__wrap {
  margin-top: 3rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__wrap {
    margin-top: 5rem;
    display: flex;
    justify-content: center;
    gap: 5rem;
  }
}
.p-supporters-support__item {
  padding: 3.5rem 2.5rem;
  border-radius: 10px;
  background-color: var(--white);
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
}
@media screen and (min-width: 768px) {
  .p-supporters-support__item {
    width: 50%;
    padding: 5rem;
    display: flex;
    flex-direction: column;
  }
}
.p-supporters-support__title {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__title {
    font-size: 2.6rem;
  }
}
.p-supporters-support__lead {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__lead {
    text-align: center;
    margin-top: 2rem;
  }
}
.p-supporters-support__text {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__text {
    margin-top: 2rem;
  }
}
.p-supporters-support__info {
  padding: 2rem;
  background-color: var(--main-bg);
  margin-top: 2rem;
  border-radius: 5px;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__info {
    padding: 2.5rem;
    margin-top: 3rem;
  }
}
.p-supporters-support__info h4 {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__info h4 {
    font-size: 2rem;
  }
}
.p-supporters-support__info p {
  margin-top: 1rem;
  letter-spacing: normal;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__info p {
    text-align: center;
  }
}
.p-supporters-support__btn {
  width: 100%;
  max-width: 35rem;
  margin: 0 auto;
  padding-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__btn {
    margin-top: auto;
    padding-top: 5rem;
  }
}
.p-supporters-support__community {
  margin-top: 8rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__community {
    margin-top: 12rem;
  }
}
.p-supporters-support__communityTitle {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__communityTitle {
    font-size: 2.6rem;
  }
}
.p-supporters-support__communityLead {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__communityLead {
    text-align: center;
    margin-top: 3rem;
  }
}
.p-supporters-support__communityBtn {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-support__communityBtn {
    width: -moz-fit-content;
    width: fit-content;
    margin: 6rem auto 0;
  }
}
.p-supporters-faq {
  background-color: var(--main-bg);
  padding: 6rem 0;
}
@media screen and (min-width: 768px) {
  .p-supporters-faq {
    padding: 12rem 0;
  }
}
.p-supporters-faq__main {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-faq__main {
    margin-top: 5rem;
  }
}
.p-supporters-list dl {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-list dl {
    margin-top: 7rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem 3rem;
  }
}
.p-supporters-list dl dt {
  min-height: 5.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  letter-spacing: 0;
  text-align: center;
  font-weight: 700;
  background-color: var(--main-bg);
  border-radius: 0.8rem;
}
@media screen and (min-width: 768px) {
  .p-supporters-list dl dt {
    width: 15rem;
  }
}
.p-supporters-list dl dd {
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0;
  padding: 1.2rem 2rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-supporters-list dl dd {
    line-height: 3.4rem;
    width: calc(100% - 18rem);
    padding: 1.2rem 0;
  }
}
.p-supporters-list__caution {
  margin-top: 4.5rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-supporters-list__caution {
    margin-top: 5rem;
  }
}

.p-tsc-info__box {
  margin-top: 6rem;
  border: 1px solid var(--line);
  padding: 9.5rem 2rem 3rem;
  position: relative;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-info__box {
    margin-top: 10rem;
    padding: 7.5rem 10rem 5rem;
  }
}
.p-tsc-info__box-title-jp {
  font-size: 2.6rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-tsc-info__box-title-jp {
    font-size: 2.8rem;
  }
}
.p-tsc-info__box-title-en {
  position: absolute;
  top: 4rem;
  left: 1.5rem;
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  font-weight: 400;
  color: var(--accent);
  font-family: var(--en-font);
  transform: rotate(-12deg);
}
@media screen and (min-width: 768px) {
  .p-tsc-info__box-title-en {
    top: 2.8rem;
    left: 3rem;
  }
}
.p-tsc-info__box p {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-tsc-info__box p {
    margin-top: 2.5rem;
    line-height: 3.4rem;
  }
}
.p-tsc-info__btn {
  max-width: 35rem;
  margin: 5rem auto 0;
}
.p-tsc-info__lead {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-info__lead {
    text-align: center;
    margin-top: 3rem;
  }
}
.p-tsc-activity__list {
  margin-top: 3rem;
  display: grid;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-activity__list {
    margin-top: 5rem;
    grid-template-columns: 1fr 1fr;
    gap: 3rem 6rem;
  }
}
.p-tsc-activity__head {
  padding: 2rem;
  border-radius: 10px;
  background-color: var(--main-bg);
  transform: translateY(2.5rem);
}
@media screen and (min-width: 768px) {
  .p-tsc-activity__head {
    padding: 2rem 3rem;
    margin-right: 5rem;
    transform: translateY(3.5rem);
  }
}
.p-tsc-activity__title {
  font-size: 2.2rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-tsc-activity__title {
    font-size: 2.6rem;
  }
}
.p-tsc-activity__lead {
  margin-top: 1rem;
}
.p-tsc-activity__img {
  margin: 0 -2rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-activity__img {
    margin: 0 0 0 6rem;
  }
}
.p-tsc-activity__img img {
  border-radius: 5px;
}
.p-tsc-subscription {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-subscription {
    margin-top: 13.7rem;
  }
}
.p-tsc-subscription dt {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.2rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 700;
  color: var(--white);
  background-color: var(--main);
  padding: 1.5rem 0;
  border-radius: 1rem 1rem 0 0;
}
.p-tsc-subscription dd {
  background-color: var(--main-bg);
  border-radius: 0 0 1rem 1rem;
  padding: 2.5rem 2.5rem 4rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-subscription dd {
    padding: 3rem 3rem 4rem;
  }
}
.p-tsc-subscription__lead {
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-tsc-subscription__buttons {
  max-width: 35rem;
  margin: 3rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-tsc-subscription__buttons {
    margin-top: 2rem;
  }
}
.p-tsc-subscription__text {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-tsc-subscription__text {
    text-align: center;
  }
}
.p-tsc-flow__flow {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-tsc-flow__flow {
    margin-top: 5rem;
  }
}
.p-tsc-flow__flow dt {
  background-color: var(--box-bg);
  border-radius: 0.8rem 0.8rem 0 0;
  padding: 2rem 2rem 0;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  position: relative;
  width: 100%;
  margin-top: 2.2rem;
}
.p-tsc-flow__flow dt:before {
  content: "";
  display: block;
  border-top: 1.8rem solid var(--sub);
  border-right: 1.8rem solid transparent;
  border-left: 1.8rem solid transparent;
  position: absolute;
  top: -2.7rem;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-tsc-flow__flow dt {
    border-radius: 0.8rem 0 0 0.8rem;
    display: flex;
    padding: 2rem;
    justify-content: center;
    align-items: center;
    width: 23.8rem;
    min-height: 9.8rem;
    line-height: 3.15rem;
  }
}
.p-tsc-flow__flow dt:nth-of-type(1) {
  margin-top: 0;
}
.p-tsc-flow__flow dt:nth-of-type(1):before {
  content: none;
}
.p-tsc-flow__flow dd {
  background-color: var(--box-bg);
  border-radius: 0 0 0.8rem 0.8rem;
  padding: 1.5rem 2rem 3.5rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  text-align: justify;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-tsc-flow__flow dd {
    border-radius: 0 0.8rem 0.8rem 0;
    padding: 2rem 2rem 2rem 1.2rem;
    display: flex;
    align-items: center;
    width: calc(100% - 23.8rem);
    margin-top: 2.2rem;
    min-height: 9.8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-tsc-flow__flow dd:nth-of-type(1) {
    margin-top: 0;
  }
}
.p-tsc-flow__lead {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-flow__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-tsc-organization {
  padding: 6rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-tsc-organization {
    padding: 12rem 0;
  }
}
.p-tsc-organization__list {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-organization__list {
    margin-top: 5rem;
  }
}
.p-tsc-organization__member {
  margin-top: 5rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-organization__member {
    margin-top: 6rem;
  }
}
.p-tsc-organization__memberTitle {
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-tsc-organization__memberTitle {
    font-size: 2.6rem;
  }
}
.p-tsc-organization__memberWrap {
  margin-top: 2rem;
  display: grid;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-tsc-organization__memberWrap {
    margin-top: 4rem;
    grid-template-columns: repeat(3, 1fr);
    gap: 4rem;
  }
}
.p-tsc-organization__memberItem {
  padding: 2.5rem;
  border-radius: 10px;
  background-color: var(--white);
  box-shadow: 0 0 1rem 0.1rem rgba(var(--main-rgb), 0.1);
}
@media screen and (min-width: 768px) {
  .p-tsc-organization__memberItem {
    padding: 3.5rem;
  }
}

.p-corporate-furusato-tax-info .c-two-column__title span {
  color: var(--main);
}
.p-corporate-furusato-tax-info .c-two-column__title b {
  color: var(--accent);
}
.p-corporate-furusato-tax-pbl__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-pbl__lead {
    margin-top: 5rem;
  }
}
.p-corporate-furusato-tax-pbl__fig {
  margin-top: 4.5rem;
  width: 100%;
  height: auto;
}
.p-corporate-furusato-tax-pbl__ul {
  margin-top: 10rem;
  display: flex;
  flex-direction: column;
  gap: 7rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-pbl__ul {
    margin-top: 12.6rem;
    flex-direction: row;
    gap: 6rem;
  }
}
.p-corporate-furusato-tax-pbl__ul li {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-pbl__ul li {
    flex: 1;
  }
}
.p-corporate-furusato-tax-pbl__year {
  background-color: var(--sub);
  color: var(--main);
  font-size: 1.6rem;
  line-height: 3.3rem;
  letter-spacing: 0;
  font-weight: 700;
  padding: 0 1.5rem;
  border-radius: 0.4rem;
}
.p-corporate-furusato-tax-pbl__text {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-pbl__text {
    flex-grow: 1;
  }
}
.p-corporate-furusato-tax-pbl__img {
  margin-top: 4rem;
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
.p-corporate-furusato-tax-pbl__caption {
  margin-top: 1.5rem;
  font-size: 1.5rem;
  line-height: 2.4rem;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-pbl__caption {
    text-align: center;
    width: 100%;
  }
}
.p-corporate-furusato-tax-pbl__box {
  margin-top: 8em;
  border: 1px solid var(--line);
  padding: 9.5rem 2rem 3rem;
  position: relative;
  border-radius: 1rem;
  padding: 3rem 2rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-pbl__box {
    margin-top: 12rem;
    padding: 3rem 4.5rem;
  }
}
.p-corporate-furusato-tax-pbl__box p {
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
}
.p-corporate-furusato-tax-value__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-value__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-corporate-furusato-tax-value__dl {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-value__dl {
    margin-top: 4rem;
    display: flex;
    flex-wrap: wrap;
  }
}
.p-corporate-furusato-tax-value__dl dt {
  font-size: 1.8rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: center;
  border-radius: 0.8rem 0.8rem 0 0;
  padding: 2rem 2rem 1.5rem;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-value__dl dt {
    width: 25rem;
    padding: 0 0 0 3.2rem;
    display: flex;
    align-items: center;
    height: 11.4rem;
    border-radius: 0.8rem 0 0 0.8rem;
  }
}
.p-corporate-furusato-tax-value__dl dt:nth-of-type(odd) {
  background-color: var(--box-bg);
}
.p-corporate-furusato-tax-value__dl dd {
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0;
  text-align: justify;
  border-radius: 0 0 0.8rem 0.8rem;
  padding: 0 2rem 3.5rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-value__dl dd {
    width: calc(100% - 25rem);
    display: flex;
    align-items: center;
    height: 11.4rem;
    padding: 0 3.2rem 0 0;
    border-radius: 0 0.8rem 0.8rem 0;
  }
}
.p-corporate-furusato-tax-value__dl dd:nth-of-type(odd) {
  background-color: var(--box-bg);
}
.p-corporate-furusato-tax-value__message {
  margin-top: 3.5rem;
  font-size: 1.8rem;
  line-height: 3.5rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
.p-corporate-furusato-tax-value__banner {
  margin-top: 2rem;
  width: 100%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-value__banner {
    width: 46.2rem;
    margin: 2rem auto 0;
    display: block;
  }
}
.p-corporate-furusato-tax-value__link {
  margin: 3rem auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
.p-corporate-furusato-tax-impact__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-impact__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-corporate-furusato-tax-impact table {
  margin-top: 4rem;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-impact table {
    margin-top: 6rem;
    display: flex;
  }
}
@media screen and (max-width: 767px) {
  .p-corporate-furusato-tax-impact table thead {
    display: none;
  }
}
.p-corporate-furusato-tax-impact table thead tr th.column-header {
  background-color: var(--white);
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-impact table tbody {
    display: flex;
  }
}
.p-corporate-furusato-tax-impact table tr {
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-impact table tr {
    width: 30rem;
  }
}
.p-corporate-furusato-tax-impact table tr th {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background-color: var(--main);
  color: var(--white);
  width: 100%;
  text-align: center;
  font-size: 1.6rem;
  line-height: 5.8rem;
  height: 6rem;
  font-weight: 400;
}
.p-corporate-furusato-tax-impact table tr td {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  width: 100%;
  text-align: center;
  font-size: 1.6rem;
  line-height: 5.8rem;
  height: 6rem;
}
.p-corporate-furusato-tax-impact ul {
  margin-top: 5rem;
}
.p-corporate-furusato-tax-impact ul li {
  font-size: 1.6rem;
  line-height: 4.8rem;
  padding-left: 3.4rem;
  letter-spacing: 0;
  position: relative;
}
.p-corporate-furusato-tax-impact ul li:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 4.8rem;
  width: 2.3rem;
  background-image: url(../images/corporate-furusato-tax/icon-check.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.p-corporate-furusato-tax-caution__column {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-caution__column {
    margin-top: 5rem;
    grid-template-columns: 50rem 1fr;
    gap: 5rem;
  }
}
.p-corporate-furusato-tax-caution__box {
  margin-top: 8em;
  border: 1px solid var(--line);
  padding: 9.5rem 2rem 3rem;
  position: relative;
  border-radius: 1rem;
  padding: 3rem 2rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-caution__box {
    margin-top: 12rem;
    padding: 3rem 4.5rem;
  }
}
.p-corporate-furusato-tax-caution__box h3 {
  font-size: 2rem;
  line-height: 3.5rem;
  letter-spacing: 0.05em;
  font-weight: 700;
  margin-bottom: 2.5rem;
}
.p-corporate-furusato-tax-caution__box p {
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
}
.p-corporate-furusato-tax-caution__box ul li {
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  padding-left: 2rem;
  position: relative;
}
.p-corporate-furusato-tax-caution__box ul li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.p-corporate-furusato-tax-message {
  background-color: var(--box-bg);
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-message {
    padding-top: 9.5rem;
    padding-bottom: 9.5rem;
  }
}
.p-corporate-furusato-tax-message__box {
  margin-top: 3rem;
  background-color: var(--white);
  border-radius: 1rem;
  padding: 3.5rem 2rem 3.5rem;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-message__box {
    margin-top: 5rem;
    margin-left: 15rem;
    padding: 5rem 5.5rem 5rem 14rem;
    border-radius: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-message__image-block {
    width: 22rem;
    position: absolute;
    top: 4.8rem;
    left: -15rem;
  }
}
.p-corporate-furusato-tax-message__image-block img {
  width: 100%;
  height: auto;
  border-radius: 1.35rem;
}
.p-corporate-furusato-tax-message__image-block p {
  margin-top: 1rem;
  font-size: 1.3rem;
  line-height: 2.4rem;
  text-align: center;
  letter-spacing: 0;
}
.p-corporate-furusato-tax-message__text-block {
  margin-top: 5.5rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-message__text-block {
    margin: 0;
  }
}
.p-corporate-furusato-tax-message__text-block h3 {
  font-size: 2.3rem;
  line-height: 4rem;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-message__text-block h3 {
    font-size: 2.6rem;
    line-height: 1;
    text-align: left;
  }
}
.p-corporate-furusato-tax-message__text-block p {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  letter-spacing: 0;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-message__text-block p {
    margin-top: 2rem;
  }
}
.p-corporate-furusato-tax-contact__subscription {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-contact__subscription {
    margin-top: 13.7rem;
  }
}
.p-corporate-furusato-tax-contact__subscription dt {
  height: 9.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.2rem;
  line-height: 3.4rem;
  text-align: center;
  font-weight: 700;
  color: var(--white);
  background-color: var(--main);
  border-radius: 1rem 1rem 0 0;
}
.p-corporate-furusato-tax-contact__subscription dd {
  background-color: var(--base-bg);
  border-radius: 0 0 1rem 1rem;
  padding: 2.5rem 2rem 4rem;
}
.p-corporate-furusato-tax-contact__subscription-text1 {
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-corporate-furusato-tax-contact__subscription-buttons {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-contact__subscription-buttons {
    margin-top: 2rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-contact__subscription-buttons li {
    width: 35rem;
  }
}
.p-corporate-furusato-tax-contact__subscription-buttons li .button {
  display: block;
  border-radius: 10rem;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-corporate-furusato-tax-contact__subscription-buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-corporate-furusato-tax-contact__subscription-buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-corporate-furusato-tax-contact__subscription-text2 {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-corporate-furusato-tax-contact__subscription-text2 {
    text-align: center;
  }
}

.p-donation-box-info .c-two-column__title span {
  color: var(--main);
}
.p-donation-box-info .c-two-column__title b {
  color: var(--accent);
}
.p-donation-box-info__subtitle {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: var(--accent);
  font-weight: 700;
  margin-top: 6.5rem;
  margin-bottom: 2rem;
}
.p-donation-box-purpose__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-donation-box-purpose__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-donation-box-purpose ol {
  margin: 2.5rem auto;
}
@media screen and (min-width: 768px) {
  .p-donation-box-purpose ol {
    width: 56.3rem;
  }
}
.p-donation-box-purpose ol li {
  font-size: 2rem;
  line-height: 3.5rem;
  letter-spacing: 0;
  font-weight: 700;
  padding-left: 4.5rem;
  position: relative;
  counter-increment: count;
}
.p-donation-box-purpose ol li:before {
  content: counter(count);
  position: absolute;
  top: 0.2rem;
  left: 0;
  width: 3.1rem;
  height: 3.1rem;
  border-radius: 2rem;
  background-color: var(--sub);
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-donation-box-purpose__dl {
  margin-top: 3rem;
}
.p-donation-box-purpose__dl dt {
  background-color: var(--main);
  color: var(--white);
  width: 100%;
  height: 8rem;
  font-size: 18px;
  letter-spacing: 0.05em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  border-radius: 1rem 1rem 0 0;
}
.p-donation-box-purpose__dl dd {
  border: 1px solid var(--main);
  width: 100%;
  padding: 1.2rem 2rem 2rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0.05em;
  color: var(--main);
  border-radius: 0 0 1rem 1rem;
}
@media screen and (min-width: 768px) {
  .p-donation-box-purpose__dl {
    margin-top: 4rem;
    display: flex;
  }
  .p-donation-box-purpose__dl dt {
    width: 22rem;
    height: auto;
    border-radius: 1rem 0 0 1rem;
  }
  .p-donation-box-purpose__dl dd {
    width: calc(100% - 22rem);
    border-radius: 0 1rem 1rem 0;
    border: 1px solid var(--main);
    padding: 2.5rem 4rem;
    font-size: 1.6rem;
    line-height: 3.4rem;
  }
}
.p-donation-box-flow__flow {
  margin-top: 3rem;
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-donation-box-flow__flow {
    margin-top: 5rem;
  }
}
.p-donation-box-flow__flow dt {
  background-color: var(--box-bg);
  border-radius: 0.8rem 0.8rem 0 0;
  padding: 2rem 2rem 0;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
  position: relative;
  width: 100%;
  margin-top: 2.2rem;
}
.p-donation-box-flow__flow dt:before {
  content: "";
  display: block;
  border-top: 1.8rem solid var(--sub);
  border-right: 1.8rem solid transparent;
  border-left: 1.8rem solid transparent;
  position: absolute;
  top: -2.7rem;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (min-width: 768px) {
  .p-donation-box-flow__flow dt {
    border-radius: 0.8rem 0 0 0.8rem;
    display: flex;
    padding: 2rem;
    justify-content: center;
    align-items: center;
    width: 23.8rem;
    min-height: 9.8rem;
    line-height: 3.15rem;
  }
}
.p-donation-box-flow__flow dt:nth-of-type(1) {
  margin-top: 0;
}
.p-donation-box-flow__flow dt:nth-of-type(1):before {
  content: none;
}
.p-donation-box-flow__flow dd {
  background-color: var(--box-bg);
  border-radius: 0 0 0.8rem 0.8rem;
  padding: 1.5rem 2rem 3.5rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  text-align: justify;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-donation-box-flow__flow dd {
    border-radius: 0 0.8rem 0.8rem 0;
    padding: 2rem 2rem 2rem 1.2rem;
    display: flex;
    align-items: center;
    width: calc(100% - 23.8rem);
    margin-top: 2.2rem;
    min-height: 9.8rem;
  }
}
@media screen and (min-width: 768px) {
  .p-donation-box-flow__flow dd:nth-of-type(1) {
    margin-top: 0;
  }
}
.p-donation-box-flow__text {
  margin-top: 6.5rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-donation-box-flow__text {
    margin-top: 9rem;
  }
}
.p-donation-box-flow__text a {
  text-decoration: underline;
  color: var(--main);
}
.p-donation-box-flow__text a:hover {
  text-decoration: none;
}
.p-donation-box-flow__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-donation-box-flow__buttons {
    margin-top: 5.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-donation-box-flow__buttons li {
    width: 35rem;
  }
}
.p-donation-box-flow__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-donation-box-flow__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-donation-box-flow__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-donation-box-voice__column {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-box-voice__column {
    margin-top: 5rem;
    grid-template-columns: 52rem 1fr;
    gap: 4rem;
  }
}
.p-donation-box-voice__client-name {
  margin-top: 2.5rem;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 700;
  text-align: center;
}
.p-donation-box-voice__web-site {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-donation-box-voice__web-site a {
  text-decoration: underline;
  color: var(--main);
}
.p-donation-box-voice__web-site a:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p-donation-box-voice dl {
    margin-top: 6rem;
  }
}
.p-donation-box-voice dl dt {
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0;
  padding-left: 2.5rem;
  position: relative;
  font-weight: 400;
}
.p-donation-box-voice dl dt:before {
  content: "Q.";
  position: absolute;
  top: 0;
  left: 0;
  font-size: 2rem;
  line-height: 3.2rem;
  color: var(--accent);
  font-family: var(--en-font);
  font-weight: 400;
}
.p-donation-box-voice dl dd {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0;
}
.p-donation-box-voice dl dd + dt {
  margin-top: 4.5rem;
}
.p-donation-box-voice__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-donation-box-voice__buttons {
    margin-top: 5.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-donation-box-voice__buttons li {
    width: 35rem;
  }
}
.p-donation-box-voice__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-donation-box-voice__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-donation-box-voice__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-donation-box-method__column {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-donation-box-method__column {
    margin-top: 5rem;
    grid-template-columns: 66.6rem 1fr;
    gap: 8rem;
  }
}
.p-donation-box-method table {
  width: 100%;
}
.p-donation-box-method table tr {
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-donation-box-method table tr {
    flex-direction: row;
  }
}
.p-donation-box-method table tr th {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  width: 100%;
  background-color: var(--base-bg);
  font-weight: 400;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-donation-box-method table tr th {
    width: 14rem;
    justify-content: flex-start;
    padding: 0 1.4rem;
  }
}
.p-donation-box-method table tr td {
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  width: 100%;
  font-size: 1.6rem;
  line-height: 2.8rem;
  padding: 1.3rem 2rem;
}
@media screen and (min-width: 768px) {
  .p-donation-box-method table tr td {
    width: calc(100% - 14rem);
  }
}
.p-donation-box-method__caution {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
}
.p-donation-box-method__subtitle {
  margin-top: 6rem;
  font-size: 2.2rem;
  line-height: 1;
  font-weight: 700;
}
.p-donation-box-method ul {
  margin-top: 3rem;
}
.p-donation-box-method ul li {
  font-size: 1.6rem;
  line-height: 3.4rem;
  color: var(--main);
}
.p-donation-box-method__text {
  margin-top: 6.5rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 3.4rem;
}
@media screen and (min-width: 768px) {
  .p-donation-box-method__text {
    margin-top: 9rem;
  }
}
.p-donation-box-method__text a {
  text-decoration: underline;
  color: var(--main);
}
.p-donation-box-method__text a:hover {
  text-decoration: none;
}
.p-donation-box-method__buttons {
  margin-top: 4.5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-donation-box-method__buttons {
    margin-top: 5.5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-donation-box-method__buttons li {
    width: 35rem;
  }
}
.p-donation-box-method__buttons li .button {
  display: block;
  border-radius: 100px;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-donation-box-method__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-donation-box-method__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}

.p-inquiries-info__box {
  border: 1px solid var(--main);
  border-radius: 1rem;
  padding: 4rem 2rem 4rem;
  margin-top: 10rem;
}
@media screen and (min-width: 768px) {
  .p-inquiries-info__box {
    padding: 5.5rem 8rem 6rem;
  }
}
.p-inquiries-info__box h3 {
  font-size: 2.2rem;
  line-height: 3.8rem;
  letter-spacing: 0.05em;
  text-align: justify;
  font-weight: 700;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-inquiries-info__box h3 {
    font-size: 2.4rem;
  }
}
.p-inquiries-info__box p {
  margin-top: 3.5rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: justify;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-inquiries-info__box p {
    margin-top: 2.5rem;
  }
}
.p-inquiries-download {
  background-color: var(--box-bg);
  padding-top: 6rem;
  padding-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  .p-inquiries-download {
    padding-top: 9.5rem;
    padding-bottom: 9.5rem;
  }
}
.p-inquiries-download__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-inquiries-download__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-inquiries-download ul {
  margin-top: 6.5rem;
  display: flex;
  flex-direction: column;
  gap: 5.5rem;
}
@media screen and (min-width: 768px) {
  .p-inquiries-download ul {
    margin-top: 4.5rem;
    flex-direction: row;
    gap: 7rem;
  }
}
.p-inquiries-download ul li {
  background-color: var(--white);
  border-radius: 1rem;
  padding: 4rem 2rem 4.6rem;
  box-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-inquiries-download ul li {
    flex: 1;
    padding: 5rem 2rem 4rem;
  }
}
.p-inquiries-download ul li h3 {
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  font-weight: 700;
}
.p-inquiries-download ul li p {
  margin-top: 3.2rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
}
@media screen and (min-width: 768px) {
  .p-inquiries-download ul li p {
    text-align: center;
  }
}
.p-inquiries-download__button {
  margin-top: 3.3rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  letter-spacing: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
  height: 5.5rem;
  border-radius: 5rem;
  background-color: var(--base-bg);
}
@media screen and (min-width: 768px) {
  .p-inquiries-download__button {
    width: 25rem;
    transition: 0.3s;
  }
  .p-inquiries-download__button:hover {
    background-color: var(--accent-bg);
  }
}
.p-inquiries-download__button:after {
  content: "";
  display: block;
  width: 1.8rem;
  height: 2rem;
  background-image: url(../images/inquiries/icon-download.svg);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}
.p-inquiries-theme__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-inquiries-theme__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-inquiries-theme dl {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-inquiries-theme dl {
    margin-top: 7rem;
    display: flex;
    flex-wrap: wrap;
    gap: 2.8rem 4rem;
  }
}
.p-inquiries-theme dl dt {
  min-height: 5.9rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  letter-spacing: 0;
  text-align: center;
  font-weight: 700;
  background-color: var(--box-bg);
  border-radius: 0.8rem;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-inquiries-theme dl dt {
    width: 26rem;
  }
}
.p-inquiries-theme dl dd {
  font-size: 1.6rem;
  line-height: 3.2rem;
  letter-spacing: 0;
  padding: 1.2rem 2rem;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-inquiries-theme dl dd {
    line-height: 3.4rem;
    width: calc(100% - 30rem);
    padding: 1.2rem 0;
  }
}
.p-inquiries-media__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-inquiries-media__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-inquiries-media ul {
  margin-top: 7.5rem;
}
@media screen and (min-width: 768px) {
  .p-inquiries-media ul {
    margin-top: 4rem;
  }
}
.p-inquiries-media ul {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .p-inquiries-media ul {
    gap: 0 4rem;
  }
}
.p-inquiries-media ul li {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-inquiries-media ul li:nth-child(2n+1) a {
    background-color: var(--box-bg);
  }
}
@media screen and (min-width: 768px) {
  .p-inquiries-media ul li {
    width: calc((100% - 4rem) / 2);
  }
  .p-inquiries-media ul li:nth-child(4n+1) a, .p-inquiries-media ul li:nth-child(4n+2) a {
    background-color: var(--box-bg);
  }
}
.p-inquiries-media ul li a {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 2.5rem 2rem;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-inquiries-media ul li a {
    flex-direction: row;
    align-items: center;
    padding: 2rem 4rem;
    min-height: 6.2rem;
  }
}
.p-inquiries-media__date {
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0;
  font-family: var(--en-font);
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .p-inquiries-media__date {
    width: 11rem;
  }
}
.p-inquiries-media__subject {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .p-inquiries-media__subject {
    flex: 1;
    margin: 0;
  }
}
.p-inquiries-media__link {
  margin: 6rem auto 0;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-inquiries-media__link {
    margin-top: 8rem;
  }
}
.p-inquiries-contact__lead {
  margin-top: 3rem;
  font-size: 1.6rem;
  line-height: 3.4rem;
  text-align: justify;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .p-inquiries-contact__lead {
    margin-top: 5rem;
    text-align: center;
  }
}
.p-inquiries-contact__buttons {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .p-inquiries-contact__buttons {
    margin-top: 5rem;
    flex-direction: row;
    gap: 7.5rem;
    justify-content: center;
    align-items: flex-end;
  }
}
@media screen and (min-width: 768px) {
  .p-inquiries-contact__buttons li {
    width: 35rem;
  }
}
.p-inquiries-contact__buttons li .button {
  display: block;
  border-radius: 10rem;
  color: var(--white);
  font-size: 1.6rem;
  line-height: 7rem;
  font-weight: 700;
  padding-right: 4.9rem;
  text-align: center;
  position: relative;
  background-color: var(--main);
}
.p-inquiries-contact__buttons li .button:before {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background-color: var(--white);
  position: absolute;
  top: 50%;
  right: 3.05rem;
  transform: translate(50%, -50%);
}
.p-inquiries-contact__buttons li .button:after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 0.9rem;
  border-right: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  transform: translate(25%, -50%) rotate(-45deg);
  position: absolute;
  top: 50%;
  right: 3.05rem;
}
.p-inquiries-contact__box {
  margin-top: 10rem;
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: 2.5rem 2rem 4rem;
}
@media screen and (min-width: 768px) {
  .p-inquiries-contact__box {
    margin: 5.6rem auto 0;
    width: 60rem;
    padding: 2rem 6.6rem 5rem;
  }
}
.p-inquiries-contact__box dt {
  line-height: 6.7rem;
  font-size: 2rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0;
}
.p-inquiries-contact__box dd {
  font-size: 1.5rem;
  line-height: 3.4rem;
  text-align: center;
  letter-spacing: 0;
  padding-top: 2.5rem;
  border-top: 1px solid var(--line);
}
.p-contact-main {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-contact-main {
    margin-top: 6rem;
  }
}
.p-contact-main__lead {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .p-contact-main__lead {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 5rem;
  }
}
.p-contact-main__wrap {
  padding: 5rem 2.5rem;
  border-radius: 1rem;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-contact-main__wrap {
    padding: 10rem 11rem;
    border-radius: 2rem;
  }
}
.p-contact-main__form {
  margin-top: 4rem;
}
@media screen and (min-width: 768px) {
  .p-contact-main__form {
    margin-top: 8rem;
  }
}
.p-contact-main__title {
  font-size: 2rem;
  font-weight: bold;
  border-bottom: 0.1rem solid var(--ruled-line);
  padding-bottom: 1rem;
  margin-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .p-contact-main__title {
    font-size: 2.4rem;
  }
}
.p-contact-main__title:not(:first-child) {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-contact-main__title:not(:first-child) {
    margin-top: 10rem;
  }
}
.p-contact-main__btn {
  max-width: 35rem;
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-contact-main__btn {
    margin: 8rem auto 0;
  }
}

.p-faq-nav__heading {
  font-size: 1.8rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-faq-nav__heading {
    font-size: 2rem;
    text-align: center;
  }
}
.p-faq-nav__list {
  margin-top: 2rem;
  padding: 2.5rem;
  border-radius: 1rem;
  border: 0.1rem solid var(--line);
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-faq-nav__list {
    margin-top: 4rem;
    padding: 5rem;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem 5rem;
  }
}
.p-faq-nav__list li a {
  font-size: 1.4rem;
  font-weight: bold;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .p-faq-nav__list li a {
    font-size: 1.5rem;
    display: inline-block;
    transition: 0.3s;
  }
  .p-faq-nav__list li a:hover {
    color: var(--textlink);
  }
}
.p-faq-nav__list li a::before {
  content: "";
  min-width: 0.7rem;
  width: 0.7rem;
  height: 0.7rem;
  border-top: 0.1rem solid var(--main);
  border-right: 0.1rem solid var(--main);
  transform: rotate(135deg);
  transition: all 0.3s;
  display: inline-block;
  margin-right: 1rem;
}
@media screen and (min-width: 768px) {
  .p-faq-nav__list li a::before {
    margin-bottom: 0.3rem;
  }
}
.p-faq-main {
  padding: 8rem 0;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .p-faq-main {
    padding: 10rem 0;
  }
}
.p-faq-main__list {
  margin-top: 3rem;
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .p-faq-main__list {
    margin-top: 5rem;
    gap: 2rem;
  }
}

.p-privacy-main__dl {
  margin-top: 5rem;
  display: grid;
  gap: 5rem;
}
@media screen and (min-width: 768px) {
  .p-privacy-main__dl {
    margin-top: 8rem;
    gap: 6rem;
  }
}
.p-privacy-main__dl dt {
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-privacy-main__dl dt {
    font-size: 2.4rem;
  }
}
.p-privacy-main__dl dd {
  margin-top: 1rem;
}
.p-privacy-main__ol {
  display: grid;
  gap: 0.5rem;
  margin-top: 1rem;
}
.p-privacy-main__ol li {
  text-indent: -1em;
  margin-left: 1em;
}
.p-privacy-main__row {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-privacy-main__row {
    margin-top: 3rem;
  }
}
.p-privacy-main__credit {
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .p-privacy-main__credit {
    margin-top: 10rem;
    text-align: right;
  }
}

.p-social__item {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-social__item {
    margin-top: 6rem;
  }
}
.p-social__title {
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .p-social__title {
    font-size: 2.4rem;
  }
}
.p-social__text {
  margin-top: 1rem;
}
.p-social__text a {
  text-decoration: underline;
  color: var(--main);
}
.p-social__text a:hover {
  text-decoration: none;
}
.p-social-policy__lead {
  margin-bottom: 6rem;
}
@media screen and (min-width: 768px) {
  .p-social-policy__lead {
    text-align: center;
    margin-bottom: 12rem;
  }
}

.p-law-main__dl {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-law-main__dl {
    margin-top: 5rem;
    display: grid;
    grid-template-columns: 35rem 1fr;
  }
}
.p-law-main__dl dt {
  padding: 2rem 0 0.5rem 0;
}
@media screen and (max-width: 767px) {
  .p-law-main__dl dt {
    color: var(--main);
  }
}
@media screen and (min-width: 768px) {
  .p-law-main__dl dt {
    border-bottom: 0.1rem solid var(--main);
    padding: 3rem 0;
  }
}
.p-law-main__dl dd {
  border-bottom: 0.1rem solid var(--line);
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .p-law-main__dl dd {
    padding: 3rem 0;
  }
}
.p-law-main__mail {
  text-decoration: underline;
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .p-error-main__lead {
    text-align: center;
  }
}
.p-error-main__top {
  max-width: 35rem;
  margin: 3rem auto 0;
}
.p-error-main__img {
  margin: 10rem -2rem 0;
}
@media screen and (min-width: 768px) {
  .p-error-main__img {
    margin: 15rem auto 0;
  }
}
.p-error-main__report {
  max-width: 35rem;
  margin: 3rem auto 0;
}
@media screen and (min-width: 768px) {
  .p-error-main__report {
    margin-top: 5rem;
  }
}

.c-author {
  padding: 2rem;
  background-color: var(--base-bg);
  border-radius: 0.5rem;
  margin-top: 6rem;
}
@media screen and (min-width: 768px) {
  .c-author {
    margin-top: 10rem;
  }
}
@media screen and (min-width: 768px) {
  .c-author > div {
    display: flex;
    gap: 3rem;
  }
}
.c-author__label {
  font-family: var(--en-font);
  font-weight: 400;
  text-align: center;
  color: var(--sub-text);
  letter-spacing: normal;
  border-bottom: 0.1rem solid var(--line);
  padding-bottom: 1rem;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .c-author__label {
    width: 8rem;
    font-size: 1.8rem;
    border-bottom: none;
    border-right: 0.1rem solid var(--line);
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 0;
    padding-right: 1rem;
  }
}
.c-author__img {
  width: 10rem;
  height: 10rem;
  margin: 1rem auto 0;
  border-radius: 100vh;
  position: relative;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-author__img {
    min-width: 10rem;
    margin: 0;
  }
}
.c-author__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.c-author__name {
  font-size: 1.5rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-author__name {
    font-size: 1.6rem;
    margin: auto 0;
  }
}

@media screen and (min-width: 768px) {
  .c-pattern-profile > div {
    display: grid;
    grid-template-columns: 20rem 1fr;
    gap: 3rem;
  }
}
.c-pattern-profile__photo {
  width: 15rem;
  aspect-ratio: 1;
  border-radius: 100vh;
  overflow: hidden;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-pattern-profile__photo {
    width: 20rem;
  }
}
.c-pattern-profile__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.c-pattern-profile__detail {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-pattern-profile__detail {
    margin-top: 0;
  }
}
.c-pattern-profile__name {
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-pattern-profile__name {
    font-size: 1.8rem;
    text-align: left;
  }
}
.c-pattern-profile__text {
  margin-top: 1rem;
}

.c-pattern-dl {
  border-bottom: 0.1rem solid var(--line);
}
@media screen and (min-width: 768px) {
  .c-pattern-dl {
    margin-top: 3rem;
    display: grid;
    grid-template-columns: 15rem 1fr;
  }
}
.c-pattern-dl dt {
  padding: 1rem 2rem;
  background-color: var(--base-bg);
}
@media screen and (min-width: 768px) {
  .c-pattern-dl dt {
    display: flex;
    align-items: center;
    padding: 2rem;
    border-top: 0.1rem solid var(--line);
  }
}
.c-pattern-dl dd {
  padding: 1.5rem 2rem;
}
@media screen and (min-width: 768px) {
  .c-pattern-dl dd {
    border-top: 0.1rem solid var(--line);
    padding: 2rem;
  }
}

.c-pattern-checkbox__title {
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .c-pattern-checkbox__title {
    font-size: 1.8rem;
  }
}
.c-pattern-checkbox__list {
  margin-top: 2rem;
}
.c-pattern-checkbox__list li {
  margin-top: 1rem;
  position: relative;
  padding-left: 2.8rem;
}
.c-pattern-checkbox__list li + li {
  margin-top: 1rem;
}
.c-pattern-checkbox__list li::before {
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  background-color: var(--white);
  border: 0.1rem solid var(--line);
  display: block;
  position: absolute;
  top: 0.8rem;
  left: 0;
}
.c-pattern-checkbox__list li::after {
  content: "";
  width: 1.6rem;
  height: 0.8rem;
  border-left: 0.2rem solid var(--main);
  border-bottom: 0.2rem solid var(--main);
  transform: rotate(-45deg);
  display: block;
  position: absolute;
  top: 0.8rem;
  left: 0.3rem;
}

.c-pattern-check__title {
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--main);
}
@media screen and (min-width: 768px) {
  .c-pattern-check__title {
    font-size: 1.8rem;
  }
}
.c-pattern-check__list {
  margin-top: 1rem;
  border-radius: 0.5rem;
  padding: 2.5rem;
  background-color: var(--main-bg);
}
@media screen and (min-width: 768px) {
  .c-pattern-check__list {
    padding: 3.5rem;
    margin-top: 2rem;
  }
}
.c-pattern-check__list li {
  color: var(--main);
  display: grid;
  grid-template-columns: 2.2rem 1fr;
}
.c-pattern-check__list li + li {
  margin-top: 1rem;
}
.c-pattern-check__list li::before {
  content: "";
  width: 1.2rem;
  height: 0.6rem;
  border-left: 0.2rem solid var(--main);
  border-bottom: 0.2rem solid var(--main);
  transform: rotate(-45deg);
  vertical-align: super;
  display: block;
  margin-top: 1rem;
  opacity: 0.5;
}

.c-pattern-table {
  width: 100%;
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-pattern-table {
    margin-top: 3rem;
  }
}
.c-pattern-table tr th, .c-pattern-table tr td {
  border: none;
  border-bottom: 1px solid var(--line);
  padding: 0.8rem 2rem;
}
@media screen and (max-width: 767px) {
  .c-pattern-table tr th, .c-pattern-table tr td {
    width: 100%;
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .c-pattern-table tr th, .c-pattern-table tr td {
    border: 1px solid var(--line);
    padding: 2rem;
  }
}
.c-pattern-table tr th {
  text-align: center;
  color: var(--white);
  background-color: var(--main);
}
@media screen and (min-width: 768px) {
  .c-pattern-table tr th {
    width: 14rem;
    vertical-align: middle;
    padding: 2rem 1rem;
  }
}
@media screen and (max-width: 767px) {
  .c-pattern-table tr td:empty {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .c-pattern-table tr td:nth-of-type(2) {
    width: 18rem;
  }
}