@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200&display=block);
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
sub,
sup,
var,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal;
}

body {
  line-height: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul,
li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

input,
button,
textarea,
select {
  font-size: inherit;
  font-family: inherit;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}

img {
  vertical-align: middle;
}

button {
  cursor: pointer;
}

sup {
  font-size: 75.5%;
  vertical-align: top;
  position: relative;
  top: -0.1em;
}

main {
  display: block;
}

html {
  font-size: clamp(12px, 4vw, 18px);
}

body {
  background: #fff;
  -webkit-text-size-adjust: 100%;
  color: #000;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

a {
  color: #000;
  transition-property: color;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.21, 1.11, 0.7, 0.99);
  text-decoration: none;
}
a:link, a:visited {
  color: #000;
}
a.underline {
  text-decoration: underline;
}
a:hover {
  color: #5CB531;
  text-decoration: underline;
}

p,
h1,
h2,
h3,
h4,
h5,
dt,
dd {
  line-height: 1.6;
}

img {
  max-width: 100%;
}

strong {
  font-weight: bold;
}

.strong {
  font-size: large;
  font-weight: bold;
}

@-webkit-keyframes blink {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

@keyframes blink {
  0% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
@media only screen and (max-width: 560px) {
  .js-ac .js-ac-target {
    display: none;
  }
  .js-ac.is-active .js-ac-trigger:before {
    content: normal;
  }
  .js-ac.is-active .js-ac-target {
    display: block;
  }
}

.c-buttons-cover {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 50px;
}
@media only screen and (max-width: 560px) {
  .c-buttons-cover {
    flex-direction: column;
    gap: 1em;
  }
}

.c-btn > * {
  font-size: 0.88em;
  border-radius: 500px;
  padding: 1em 1.5em 1em 1.5em;
  line-height: 1.3;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #000;
  text-decoration: none;
  font-weight: normal;
  transition: all 0.3s ease;
  position: relative;
}
.c-btn > * span.material-symbols-outlined {
  font-size: 1.11em;
}

.c-btn-c > * {
  border: 1px solid #333;
  background: #fff;
}
.c-btn-c > *:link, .c-btn-c > *:visited {
  color: #000;
}
.hasHover .c-btn-c > *:hover {
  background: #5CB531;
  text-decoration: none;
  border: 1px solid #5CB531;
  color: #fff;
}
.c-btn-c--bg > * {
  border: 1px solid #fff;
}
.hasHover .c-btn-c--bg > *:hover {
  border: 1px solid #fff;
}
.c-btn-c--bg-blue > * {
  border: 1px solid #eef2f4;
}
.hasHover .c-btn-c--bg-blue > *:hover {
  border: 1px solid #5CB531;
  background: #fff;
}

.c-btn-f > * {
  border: 1px solid #5CB531;
  background: #5CB531;
  color: #fff;
}
.c-btn-f > *:link, .c-btn-f > *:visited {
  color: #fff;
}
.hasHover .c-btn-f > *:hover {
  background: #fff;
  color: #5CB531;
  border: 1px solid #5CB531;
  text-decoration: none;
  font-weight: bold;
}
.c-btn-f--bg > * {
  border: 1px solid #fff;
}
.c-btn-f--orange > * {
  border: 1px solid #F25D41;
  background: #F25D41;
  color: #fff;
  transition: background 0.3s ease;
}
.hasHover .c-btn-f--orange > *:hover {
  background: #f82a2a;
  color: #fff;
  border: 1px solid #f82a2a;
}

.c-btn--thin > * {
  padding: 0.5em 1em;
}
.c-btn.-size-s > * {
  font-size: 0.77em;
}
.c-btn.-size-s > * span.material-symbols-outlined {
  font-size: 1em;
}
.c-btn.-size-m > * {
  font-size: 1em;
}
.c-btn.-size-m > * span.material-symbols-outlined {
  font-size: 1.22em;
}
.c-btn.-size-l > * {
  font-size: 1.11em;
}
.c-btn.-size-l > * span.material-symbols-outlined {
  font-size: 1.33em;
}
.c-btn.-size-xl > * {
  font-size: 1.33em;
}
.c-btn--block-s {
  margin-bottom: 1em;
}
@media only screen and (max-width: 560px) {
  .c-btn--block-s {
    margin-bottom: 0;
  }
}
.c-btn--block-s > * {
  max-width: 100%;
  width: 200px;
}
@media only screen and (max-width: 560px) {
  .c-btn--block-s > * {
    margin-left: auto;
    margin-right: auto;
  }
}
.c-btn--block-m {
  max-width: 100%;
}
.c-btn--block-m > * {
  max-width: 100%;
  width: 300px;
}
@media only screen and (max-width: 560px) {
  .c-btn--block-m > * {
    margin-left: auto;
    margin-right: auto;
  }
}
.c-btn--block-l {
  max-width: 100%;
}
.c-btn--block-l > * {
  max-width: 100%;
  width: 440px;
}
@media only screen and (max-width: 560px) {
  .c-btn--block-l > * {
    margin-left: auto;
    margin-right: auto;
  }
}
.c-btn--block-full {
  max-width: 100%;
}
.c-btn--block-full > * {
  max-width: 100%;
  width: 500px;
}
@media only screen and (max-width: 560px) {
  .c-btn--block-full > * {
    margin-left: auto;
    margin-right: auto;
  }
}

.c-column {
  display: flex;
  gap: 46px;
}
@media only screen and (max-width: 1200px) {
  .c-column {
    gap: 38px;
  }
}
@media only screen and (max-width: 960px) {
  .c-column {
    gap: 23px;
  }
}
@media only screen and (max-width: 560px) {
  .c-column {
    flex-direction: column;
  }
}
.c-column__main {
  width: 100%;
}
.c-column__sub {
  flex: none;
  width: 260px;
}
@media only screen and (max-width: 960px) {
  .c-column__sub {
    width: 200px;
  }
}
@media only screen and (max-width: 560px) {
  .c-column__sub {
    width: 100%;
  }
}

.c-column-mypage {
  display: flex;
  gap: 20px;
}
@media only screen and (max-width: 560px) {
  .c-column-mypage {
    flex-direction: column;
  }
}
.c-column-mypage__navi {
  flex: none;
  width: 170px;
}
@media only screen and (max-width: 560px) {
  .c-column-mypage__navi {
    width: 100%;
  }
}
.c-column-mypage__main {
  width: 100%;
}
.c-column-mypage__sub {
  flex: none;
  width: 260px;
}
@media only screen and (max-width: 960px) {
  .c-column-mypage__sub {
    width: 200px;
  }
}
@media only screen and (max-width: 560px) {
  .c-column-mypage__sub {
    width: 100%;
  }
}

.c-container {
  width: 100%;
  position: relative;
  overflow: hidden;
}
.c-container--bg-w {
  background-color: #fff;
}
.c-container--gutter-bottom {
  margin-bottom: 80px;
}
@media only screen and (max-width: 560px) {
  .c-container--gutter-bottom {
    margin-bottom: 40px;
  }
}

.c-crumb {
  width: 100%;
  padding: 0.5em 0;
  background-color: #CFD8DC;
}
@media only screen and (max-width: 1200px) {
  .c-crumb {
    padding: 0.5em;
  }
}
@media only screen and (max-width: 560px) {
  .c-crumb {
    display: none;
  }
}
.c-crumb__inner {
  width: 1200px;
  max-width: 100%;
  margin: 0px auto 0px;
  display: flex;
  flex-wrap: wrap;
}
.c-crumb__container {
  font-size: 0.66em;
}
.c-crumb__container i {
  margin-right: 10px;
}
.c-crumb__container a {
  display: inline-block;
  margin-right: 10px;
  color: #333;
  transition: color 0.3s ease;
}
.c-crumb__container a:hover {
  color: #5CB531;
}
.c-crumb__container ~ .c-crumb__container {
  position: relative;
  padding-left: 1.25em;
}
.c-crumb__container ~ .c-crumb__container::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 0.5em;
  height: 0.5em;
  margin: -0.25em 0 0 0;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media only screen and (max-width: 960px) {
  .c-crumb__container ~ .c-crumb__container::after {
    margin: -0.35em 0 0 0;
  }
}

.p-faq-item ~ .p-faq-item {
  margin-top: 30px;
}
.p-faq-item__ttl {
  background-color: #FAF5E7;
  color: #5CB531;
  position: relative;
  font-size: 20px;
  font-size: 2rem;
  padding: 1em 1em 1em 60px;
  border-radius: 10px;
}
@media only screen and (max-width: 560px) {
  .p-faq-item__ttl {
    font-size: 15px;
    font-size: 4vw;
  }
}
.p-faq-item__ttl::before {
  font-size: 30px;
  font-size: 3rem;
  line-height: 1;
  content: "Q.";
  position: absolute;
  left: 20px;
  top: 45%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 560px) {
  .p-faq-item__ttl::before {
    font-size: 21px;
    font-size: 5.6vw;
  }
}
.p-faq-item__body {
  position: relative;
  padding: 1em 1em 1em 40px;
  margin-left: 60px;
  margin-top: 1em;
}
.p-faq-item__body p ~ p {
  margin-top: 1em;
}
@media only screen and (max-width: 560px) {
  .p-faq-item__body {
    margin-left: 20px;
  }
}
.p-faq-item__body::before {
  font-size: 1.33em;
  line-height: 1;
  content: "A.";
  position: absolute;
  left: 0;
  top: 0.75em;
}

.c-footer {
  position: relative;
  padding-top: 24px;
  padding-bottom: 0;
  background-color: #fff;
  border-top: 3px solid #5CB531;
}
.c-footer__wrap {
  width: 1200px;
  max-width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 1200px) {
  .c-footer__wrap {
    padding-left: 1.75em;
    padding-right: 1.75em;
  }
}
@media only screen and (max-width: 560px) {
  .c-footer__wrap {
    width: 100%;
    padding: 0 5.3333333333vw;
  }
}
.c-footer__logo {
  text-align: center;
}
.c-footer__cr {
  font-size: 0.66em;
  text-align: center;
  margin-top: 24px;
  background-color: #263238;
  color: #fff;
  padding: 1em 1em;
}
.c-footer-logo {
  display: inline-block;
}

.c-footer-main {
  padding: 1.5em 0 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1em 1.5em;
}
@media only screen and (max-width: 560px) {
  .c-footer-main {
    gap: 1em;
  }
}
.c-footer-main__items::after {
  content: "|";
}
@media only screen and (max-width: 560px) {
  .c-footer-main__items::after {
    content: none;
  }
}
.c-footer-main__items:last-child::after {
  content: none;
}
.c-footer-main__items a {
  font-size: 0.77em;
  text-decoration: underline;
  display: inline-block;
  margin-right: 1.5em;
}

.c-footer-sub {
  padding: 30px 0 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2.8em;
  justify-content: center;
}
@media only screen and (max-width: 560px) {
  .c-footer-sub {
    gap: 2em 2em;
  }
}
.c-footer-sub__items a {
  position: relative;
  display: inline-block;
}
.c-footer-sub__items a::after {
  content: "|";
  position: absolute;
  right: -1.4em;
  top: 0;
}
@media only screen and (max-width: 560px) {
  .c-footer-sub__items a::after {
    content: none;
  }
}
.c-footer-sub__items:first-of-type a::before {
  content: "|";
  position: absolute;
  left: -1.4em;
  top: 0;
}
@media only screen and (max-width: 560px) {
  .c-footer-sub__items:first-of-type a::before {
    content: none;
  }
}

input::-webkit-input-placeholder {
  color: #cccccc;
}

input::-moz-placeholder {
  color: #cccccc;
  opacity: 1;
}

input:-ms-input-placeholder {
  color: #cccccc;
}

input:placeholder-shown {
  color: #cccccc;
}

input:-ms-input-placeholder {
  color: #cccccc !important;
}

input[type=radio],
input[type=checkbox] {
  width: 0;
  height: 0;
  float: left;
}

.c-input, .c-textarea {
  max-width: 100%;
  border: 1px solid #333;
  transition: border-color 0.6s cubic-bezier(0.21, 1.11, 0.7, 0.99);
  padding: 0.85em;
  border-radius: 0.35em;
  color: #000;
  background-color: #fff;
  transition-property: box-shadow;
  transition-duration: 0.6s;
  transition-timing-function: cubic-bezier(0.11, 0.7, 0.4, 0.98);
}
@media only screen and (max-width: 560px) {
  .c-input, .c-textarea {
    padding: 0.5em 1em;
  }
}
.c-input:focus, .c-textarea:focus {
  box-shadow: 0 0 4px rgba(88, 152, 202, 0.8);
}
.c-input.is-error, .is-error.c-textarea {
  border: 1px solid #f82a2a;
  background: #fef0f0;
}
.c-input.-size-full, .-size-full.c-textarea {
  width: 100%;
}
.c-input.-size-l, .-size-l.c-textarea {
  width: 600px;
}
@media only screen and (max-width: 1200px) {
  .c-input.-size-l, .-size-l.c-textarea {
    width: 100%;
  }
}
.c-input.-size-m, .-size-m.c-textarea {
  width: 240px;
}
.c-input.-size-s, .-size-s.c-textarea {
  width: 120px;
}

.c-textarea {
  resize: vertical;
  width: 100%;
  min-height: 10em;
  transition: background 0.3s cubic-bezier(0.21, 1.11, 0.7, 0.99);
  display: block;
  max-width: none;
}
.c-textarea:disabled {
  background: #CFD8DC;
  color: #838383;
}

.c-select-wrap {
  position: relative;
  display: block;
}
.c-select-wrap:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: solid transparent;
  border-width: 5px 5px 0 5px;
  border-top-color: #5CB531;
  position: absolute;
  right: 1em;
  top: 50%;
  margin-top: -2px;
  pointer-events: none;
}
@media only screen and (max-width: 960px) {
  .c-select-wrap:after {
    border-width: 4px 4px 0 4px;
  }
}
.c-select-wrap.-size-full {
  max-width: none;
  width: 100%;
}
.c-select-wrap.-size-m {
  max-width: none;
  width: 240px;
}
@media only screen and (max-width: 560px) {
  .c-select-wrap.-size-m {
    width: 100%;
  }
}
.c-select-wrap.-size-s {
  max-width: none;
  width: 120px;
  max-width: 100%;
}

.c-select {
  color: #000;
  width: 100%;
  height: 100%;
  position: relative;
  border: 1px solid #e4e4e9;
  border-radius: 0.35em;
  padding: 0.85em 2em 0.85em 0.85em;
  transition: border-color 0.6s ease-out;
  cursor: pointer;
  background: #fff;
}
.c-select:focus {
  border-color: #214968;
}
.c-select::-ms-expand {
  display: none;
}
.c-select.is-error {
  border: 1px solid #f82a2a;
  background: #fef0f0;
}

.c-formYmd {
  display: flex;
}
.c-formYmd > * {
  padding-right: 20px;
  min-width: 20%;
}
.c-formYmd > *:first-child {
  min-width: 30%;
}
@media only screen and (max-width: 560px) {
  .c-formYmd > * {
    width: 100%;
    padding-right: 4vw;
  }
  .c-formYmd > *:last-child {
    padding-right: 0;
  }
}
.c-formYmd .c-select-wrap {
  display: block;
}
@media only screen and (max-width: 560px) {
  .c-formYmd .c-select-wrap {
    display: block;
  }
}

.c-radio,
.c-checkbox {
  box-sizing: border-box;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  margin: 0 0 0 0;
  padding: 0 0 0 2.75em;
  line-height: 1.3;
  vertical-align: middle;
  cursor: pointer;
}
.c-radio:hover:after,
.c-checkbox:hover:after {
  border-color: #F25D41;
}
.c-radio:after,
.c-checkbox:after {
  transition: border-color 0.2s linear;
  position: absolute;
  top: 0;
  left: 5px;
  left: 0.3125em;
  display: block;
  width: 1.5em;
  height: 1.5em;
  border: 1px solid #333;
  content: "";
  border-radius: 0.35em;
  background-color: #fff;
}

.c-radio:after {
  border-radius: 50%;
}
.c-radio:before {
  transition: opacity 0.2s linear;
  position: absolute;
  top: 0.85em;
  left: 0.625em;
  display: block;
  margin-top: -0.5em;
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  z-index: 1;
  background-color: #F25D41;
  content: "";
  opacity: 0;
}
input[type=radio]:checked + .c-radio:before {
  opacity: 1;
}
@media only screen and (max-width: 560px) {
  .c-radio:before {
    margin-top: -0.45em;
  }
}

.c-checkbox:after {
  width: 1.8em;
  height: 1.8em;
  border: 1px solid #333;
  top: -0.2em;
}
.c-checkbox:before {
  transition: opacity 0.2s linear;
  position: absolute;
  top: 0.35em;
  left: 1.05em;
  display: block;
  width: 0.35em;
  height: 0.55em;
  border-right: 1px solid #F25D41;
  border-bottom: 1px solid #F25D41;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  z-index: 1;
}
input[type=checkbox]:checked + .c-checkbox:before {
  opacity: 1;
}

.c-checkbox-note {
  padding-left: 2.75em;
}

.c-button {
  background: #eef2f4;
  border: 1px solid #ccc;
  cursor: pointer;
}

.c-form-check-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: -0.75em;
}
.c-form-check-list > li {
  margin-top: 0.75em;
}
.c-form-check-list--row3 > li {
  width: calc(33% - 0.75em);
  margin-right: 1.125em;
}
.c-form-check-list--row3 > li:nth-child(3n) {
  margin-right: 0;
}
@media only screen and (max-width: 960px) {
  .c-form-check-list--row3 > li {
    width: calc(50% - 0.5em);
    margin-right: 1em;
  }
  .c-form-check-list--row3 > li:nth-child(3n) {
    margin-right: 1em;
  }
  .c-form-check-list--row3 > li:nth-child(2n) {
    margin-right: 0;
  }
}

.c-form-name {
  display: flex;
}
@media only screen and (max-width: 960px) {
  .c-form-name__block {
    flex: 1;
  }
}
.c-form-name__block ~ .c-form-name__block {
  margin-left: 37px;
}
@media only screen and (max-width: 560px) {
  .c-form-name__block ~ .c-form-name__block {
    margin-left: 5vw;
  }
}
.c-form-name input {
  width: 12em;
}
@media only screen and (max-width: 960px) {
  .c-form-name input {
    width: 100%;
  }
}

.c-form-tel {
  display: flex;
  gap: 24px;
}
.c-form-tel__block {
  position: relative;
}
.c-form-tel__block:after {
  content: "-";
  font-weight: bold;
  position: absolute;
  right: -16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-form-tel__block:last-child:after {
  content: none;
}
.c-form-tel__block > .c-input, .c-form-tel__block > .c-textarea {
  max-width: 8em;
}
@media only screen and (max-width: 960px) {
  .c-form-tel__block > .c-input, .c-form-tel__block > .c-textarea {
    max-width: 5em;
  }
}
@media only screen and (max-width: 560px) {
  .c-form-tel__block > .c-input, .c-form-tel__block > .c-textarea {
    max-width: 20vw;
  }
}

.c-form-zip {
  display: flex;
  gap: 20px;
}
.c-form-zip__block {
  position: relative;
}
.c-form-zip__block:first-child::after {
  content: "-";
  font-weight: bold;
  position: absolute;
  right: -14px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-form-zip__block:nth-child(1) input {
  width: 5em;
}
.c-form-zip__block:nth-child(2) input {
  width: 6em;
}
.c-form-zip__btn {
  height: 100%;
  align-items: center;
  padding-top: 0;
  padding-bottom: 0;
  border-radius: 0.5em;
}

.c-formBox {
  display: flex;
  align-items: stretch;
  border-bottom: none;
}
@media only screen and (max-width: 560px) {
  .c-formBox {
    flex-wrap: wrap;
    font-size: 13px;
    font-size: 1.3rem;
  }
}
.c-formBox ~ .c-formBox {
  margin-top: 0px;
  padding-top: 0px;
}
.c-formBox__ttl {
  flex: none;
  width: 230px;
  padding: 1.35em 1em 1.35em 0;
  align-self: stretch;
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  line-height: 1.5;
  align-items: baseline;
}
@media only screen and (max-width: 560px) {
  .c-formBox__ttl {
    font-weight: bold;
  }
}
.c-formBox__ttl.-top {
  border-top: 1px dotted #afafaf;
}
.c-formBox__ttl--short {
  width: 180px;
}
@media only screen and (max-width: 960px) {
  .c-formBox__ttl {
    width: 160px;
  }
}
@media only screen and (max-width: 560px) {
  .c-formBox__ttl {
    width: 100%;
    margin-right: 0;
    padding: 1em 0;
  }
}
.c-formBox__ttl--req:after {
  content: "必須";
  display: block;
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
  background: #F25D41;
  padding: 0.4em 0.8em;
  border-radius: 50px;
  flex: none;
  line-height: 1;
}
@media only screen and (max-width: 560px) {
  .c-formBox__ttl--req:after {
    font-size: 10px;
    font-size: 2.6666666667vw;
  }
}
.c-formBox__ttl--free:after {
  content: "任意";
  display: block;
  font-size: 12px;
  font-size: 1.2rem;
  color: #5CB531;
  border: 1px solid #5CB531;
  background: #fff;
  padding: 0.4em 0.8em;
  border-radius: 3px;
  flex: none;
  line-height: 1;
}
@media only screen and (max-width: 560px) {
  .c-formBox__ttl--free:after {
    font-size: 10px;
    font-size: 2.6666666667vw;
  }
}
.c-formBox__body {
  flex: 1;
  padding: 0.5em 1em;
  line-height: 1.5;
  align-self: stretch;
}
.c-formBox__body.-top {
  border-top: 1px dotted #afafaf;
}
@media only screen and (max-width: 560px) {
  .c-formBox__body.-top {
    border-top: none;
  }
}
@media only screen and (max-width: 960px) {
  .c-formBox__body {
    width: 100%;
  }
}
@media only screen and (max-width: 560px) {
  .c-formBox__body {
    width: 100%;
    flex: 1 0 auto;
    padding-right: 0;
    padding-left: 0;
    padding-top: 0;
  }
}

.c-formName {
  display: flex;
  align-items: center;
  gap: 10px;
}
.c-formName__sub {
  min-width: 2em;
}
.c-formName_first > input {
  width: 10em;
}
.c-formName_last > input {
  width: 10em;
}
@media only screen and (max-width: 560px) {
  .c-formName_first, .c-formName_last {
    flex: 1;
  }
  .c-formName_first > input, .c-formName_last > input {
    width: 100%;
  }
}

.c-formErrorMessage {
  color: #f82a2a;
  margin-top: 0.5em;
  background: rgba(248, 42, 42, 0.1);
  padding: 1em 1.25em;
  margin-bottom: 1em;
}

.c-form-row {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}

.c-gnavi {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  height: 100%;
  margin: 0 auto 0;
  max-width: 100%;
  position: relative;
  z-index: 1;
  flex-wrap: wrap;
}
@media only screen and (max-width: 560px) {
  .c-gnavi {
    position: fixed;
    z-index: 4;
    top: 0;
    left: 0;
    padding: 22.6666666667vw 5.3333333333vw;
    margin: 0;
    flex-direction: column-reverse;
    height: auto;
    overflow-y: auto;
    width: 100%;
    -webkit-transform: scaleY(0);
            transform: scaleY(0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
    transition: opacity 0.6s cubic-bezier(0.24, 1, 0.32, 1), -webkit-transform 0.6s cubic-bezier(0.24, 1, 0.32, 1);
    transition: transform 0.6s cubic-bezier(0.24, 1, 0.32, 1), opacity 0.6s cubic-bezier(0.24, 1, 0.32, 1);
    transition: transform 0.6s cubic-bezier(0.24, 1, 0.32, 1), opacity 0.6s cubic-bezier(0.24, 1, 0.32, 1), -webkit-transform 0.6s cubic-bezier(0.24, 1, 0.32, 1);
    opacity: 0;
  }
}
@media only screen and (max-width: 560px) and (max-width: 560px) {
  .c-gnavi::before {
    content: "";
    background: #fff;
    width: 100%;
    height: 14.6666666667vw;
    position: absolute;
    top: 0;
    left: 0;
  }
}
@media only screen and (max-width: 560px) {
  .c-gnavi.is-open {
    -webkit-transform: scaleY(1);
            transform: scaleY(1);
    opacity: 1;
    background: #eef2f4;
  }
  .c-gnavi.is-open .p-navi__body {
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
    transition: opacity 0.6s cubic-bezier(0.24, 1, 0.32, 1), -webkit-transform 0.6s cubic-bezier(0.24, 1, 0.32, 1);
    transition: opacity 0.6s cubic-bezier(0.24, 1, 0.32, 1), transform 0.6s cubic-bezier(0.24, 1, 0.32, 1);
    transition: opacity 0.6s cubic-bezier(0.24, 1, 0.32, 1), transform 0.6s cubic-bezier(0.24, 1, 0.32, 1), -webkit-transform 0.6s cubic-bezier(0.24, 1, 0.32, 1);
    transition-delay: 0.3s;
  }
}
.c-gnavi .-disp-large {
  display: flex;
}
@media only screen and (max-width: 560px) {
  .c-gnavi .-disp-large {
    display: none;
  }
}
.c-gnavi .-disp-sp {
  display: none;
}
@media only screen and (max-width: 560px) {
  .c-gnavi .-disp-sp {
    display: block;
  }
}
.c-gnavi__sub {
  display: flex;
  justify-content: flex-end;
  gap: 2em;
}
@media only screen and (max-width: 960px) {
  .c-gnavi__sub {
    gap: 16px;
  }
}
@media only screen and (max-width: 560px) {
  .c-gnavi__sub {
    width: 100%;
    gap: 12px;
    flex-direction: column;
    justify-content: flex-start;
    margin-top: 30px;
  }
}
.c-gnavi__sub-item {
  display: flex;
  gap: 3px;
  padding-left: 1.5em;
}
.c-gnavi__sub-item::before {
  font-family: "Material Symbols Outlined";
  content: "\e15b";
  font-size: 1.33em;
  font-weight: bold;
  color: #5CB531;
}
@media only screen and (max-width: 560px) {
  .c-gnavi__sub-item::before {
    font-size: 0.88em;
  }
}
.c-gnavi__sub-item a > span {
  font-weight: bold;
}
@media only screen and (max-width: 560px) {
  .c-gnavi__sub-item a {
    padding-left: 0.5em;
    font-size: 1.22em;
  }
}
.c-gnavi__main {
  display: flex;
  justify-content: flex-end;
}
@media only screen and (max-width: 560px) {
  .c-gnavi__main {
    width: 100%;
    gap: 0px;
    flex-direction: column;
    justify-content: flex-start;
  }
}
.c-gnavi__main-item > a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 20px;
  line-height: 1.2;
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  position: relative;
  text-align: center;
  width: 100%;
  overflow: hidden;
}
.c-gnavi__main-item > a > span {
  font-weight: bold;
}
.c-gnavi__main-item > a:hover {
  color: #5CB531;
}
@media only screen and (max-width: 1200px) {
  .c-gnavi__main-item > a {
    text-align: left;
  }
}
@media only screen and (max-width: 960px) {
  .c-gnavi__main-item > a {
    padding-left: 1em;
  }
}
@media only screen and (max-width: 560px) {
  .c-gnavi__main-item > a {
    justify-content: flex-start;
    width: 100%;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 1.22em;
  }
}

@media only screen and (max-width: 560px) {
  img.-navi-logo {
    width: 100px;
    height: auto;
  }
}

.c-sp-navi-trigger {
  position: relative;
  display: none;
  transition: all 0.4s;
}
@media only screen and (max-width: 560px) {
  .c-sp-navi-trigger {
    display: block;
    z-index: 5;
    width: 6.6666666667vw;
    height: 5.3333333333vw;
    margin-right: 5.3333333333vw;
  }
}
.c-sp-navi-trigger span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 5px;
  width: 100%;
  height: 2px;
  background: #5CB531;
  border-radius: 10px;
}
.c-sp-navi-trigger span:nth-of-type(1) {
  top: 0;
}
.c-sp-navi-trigger span:nth-of-type(2) {
  top: 50%;
}
.c-sp-navi-trigger span:nth-of-type(3) {
  top: 100%;
}
.c-sp-navi-trigger.is-active span:nth-of-type(1) {
  -webkit-transform: translateY(2.6666666667vw) rotate(-45deg);
          transform: translateY(2.6666666667vw) rotate(-45deg);
}
.c-sp-navi-trigger.is-active span:nth-of-type(2) {
  opacity: 0;
}
.c-sp-navi-trigger.is-active span:nth-of-type(3) {
  -webkit-transform: translateY(-2.6666666667vw) rotate(45deg);
          transform: translateY(-2.6666666667vw) rotate(45deg);
}

.c-overlay {
  content: "";
  display: none;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 0.5s;
}
@media only screen and (max-width: 560px) {
  .c-overlay {
    display: block;
  }
}
.c-overlay.is-open {
  width: 100vw;
  height: 100vh;
  opacity: 1;
}

.is-scroll-prevent {
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100%;
  top: 0;
  /*追記*/
  right: 0;
  /*追記*/
}

.c-header-gutter {
  height: 88px;
}
@media only screen and (max-width: 560px) {
  .c-header-gutter {
    height: 14.6666666667vw;
  }
}

.c-header {
  position: fixed;
  z-index: 10;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  margin: 0 auto 0;
  width: 98%;
  max-width: 1200px;
  display: flex;
  align-items: center;
  height: 88px;
  transition: all 0.3s ease;
  font-size: 0.88em;
}
.c-header.is-round {
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.15);
}
@media only screen and (min-width: 561px) {
  .c-header.is-round {
    background-color: #fff;
    border-radius: 500px;
    height: 60px;
    padding-left: 1.5em;
    padding-right: 1.5em;
    top: 10px;
  }
}
@media only screen and (max-width: 960px) {
  .c-header {
    margin: 0;
  }
}
@media only screen and (max-width: 560px) {
  .c-header {
    width: 100%;
    margin: 0;
    background-color: #fff;
    height: 14.6666666667vw;
    border-bottom: 1px solid #ddd;
  }
}
.c-header a:hover {
  text-decoration: underline;
}
.c-header__logo {
  z-index: 5;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 1200px) {
  .c-header__logo {
    flex-basis: 30%;
    max-width: 30%;
  }
}
@media only screen and (max-width: 560px) {
  .c-header__logo {
    gap: 4vw;
    flex-basis: 80vw;
    max-width: 80vw;
  }
}
.c-header__logo .-link {
  display: block;
  padding-left: 10px;
}
@media only screen and (max-width: 960px) {
  .c-header__logo .-link {
    width: 110px;
  }
}
@media only screen and (max-width: 560px) {
  .c-header__logo .-link {
    width: 24vw;
  }
}
.c-header__logo .-link img {
  margin-left: 0;
  height: auto;
  aspect-ratio: 128/47;
}
@media only screen and (max-width: 560px) {
  .c-header__logo .-link img {
    width: 100%;
  }
}
.c-header__right {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
.c-header__action {
  display: flex;
  align-items: flex-end;
}
@media only screen and (max-width: 560px) {
  .c-header__action {
    display: none;
  }
}
.c-header__navi {
  position: relative;
  margin-top: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 20px;
}
@media only screen and (max-width: 960px) {
  .c-header__navi {
    gap: 14px;
  }
}
@media only screen and (max-width: 560px) {
  .c-header__navi {
    margin-top: 0;
  }
}

.material-symbols-outlined {
  width: 1em;
  height: 1em;
  overflow: hidden;
  display: inline-block;
  line-height: 1;
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}
.material-symbols-outlined.-deg45 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.c-link-line {
  text-decoration: underline;
}

.c-link-arrow {
  display: flex;
  gap: 3px;
}
.c-link-arrow--center {
  justify-content: center;
}
.c-link-arrow::before {
  font-family: "Material Symbols Outlined";
  content: "\e5cc";
  font-size: 1.15em;
  font-weight: bold;
}

.c-list li {
  line-height: 1.6;
  list-style-position: outside;
}
.c-list--height-wide li {
  line-height: 1.85;
}
.c-list--decimal {
  margin-left: 1.5em;
}
.c-list--decimal > li {
  list-style-type: decimal;
}
.c-list--disc {
  margin-left: 1.5em;
}
.c-list--disc > li {
  list-style-type: disc;
}
.c-list--circle {
  margin-left: 1.5em;
}
.c-list--circle > li {
  list-style-type: circle;
}
.c-list--roman {
  margin-left: 1.5em;
}
.c-list--roman > li {
  list-style-type: lower-roman;
}
.c-list--notice > li {
  margin-left: 1em;
  text-indent: -1em;
}
.c-list--notice > li::before {
  content: "※";
}
.c-list--check > li {
  margin-left: 1.25em;
  text-indent: -1.25em;
}
.c-list--check > li::before {
  content: "";
  display: block;
  position: relative;
  top: 0.85em;
  left: -1em;
  width: 0.75em;
  height: 0.35em;
  border-left: 2px solid #5CB531;
  border-bottom: 2px solid #5CB531;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.m-modal {
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  z-index: 5;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 1000px;
  opacity: 0;
  -webkit-transform: scale(0.5);
          transform: scale(0.5);
  transition: opacity 0.4s cubic-bezier(0.65, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.65, -0.55, 0.265, 1.55);
  transition: transform 0.4s cubic-bezier(0.65, -0.55, 0.265, 1.55), opacity 0.4s cubic-bezier(0.65, -0.55, 0.265, 1.55);
  transition: transform 0.4s cubic-bezier(0.65, -0.55, 0.265, 1.55), opacity 0.4s cubic-bezier(0.65, -0.55, 0.265, 1.55), -webkit-transform 0.4s cubic-bezier(0.65, -0.55, 0.265, 1.55);
  pointer-events: none;
}
@media only screen and (max-width: 1200px) {
  .m-modal {
    min-width: 100%;
  }
}
.m-modal .m-modal_inner {
  background: #fff;
  position: relative;
  padding: 50px 32px 30px;
  border-radius: 4px;
  box-shadow: 0 0 80px rgba(0, 0, 0, 0.4);
  overflow: hidden;
  max-height: 90%;
  overflow: auto;
}
.m-modal .m-modal_ttl {
  margin: -50px -32px 20px;
  padding: 20px 60px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}
.m-modal .m-modal_lead {
  text-align: center;
  margin-bottom: 20px;
}
.m-modal .m-modal_btns {
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-modal .m-modal_btns > * ~ * {
  margin-left: 30px;
}
.m-modal .m-modal_btns > *.-align_right {
  flex: none;
  margin: 0 0 0 auto;
}
.m-modal .m-modal_btns.m-modal_btns--center {
  justify-content: center;
}
.m-modal .m-modal_close {
  font-size: 2.4rem;
  position: absolute;
  right: 15px;
  top: 15px;
  cursor: pointer;
  transition: color 0.3s cubic-bezier(0.24, 1, 0.32, 1);
}
.m-modal .m-modal_close:hover {
  color: #8893a8;
}
.m-modal.is-opened {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
  pointer-events: inherit;
}

.p-login-modal {
  width: 520px;
  max-width: 90%;
  min-height: 220px;
}

.p-mini-modal {
  width: 480px;
  max-width: 90%;
  min-height: 220px;
}

.p-search-modal {
  width: 920px;
  max-width: 90%;
  min-height: 220px;
}

.p-login-reset-compbox {
  padding-top: 3em;
  padding-bottom: 3em;
}

.p-modal-datalist {
  display: flex;
  font-size: 13px;
  font-size: 1.3rem;
}
.p-modal-datalist__head {
  width: 60%;
  padding: 0.1em;
}
.p-modal-datalist__body {
  width: 40%;
  padding: 0.1em;
}

.p-modal-flex {
  display: flex;
  min-width: 380px;
}
.p-modal-flex__item {
  margin-left: 1%;
  flex: 1;
}
.p-modal-flex__item.-long {
  max-width: 300px;
  flex: 0 0 300px;
}
.p-modal-flex__item:first-child {
  margin-left: 0;
}

.p-modal-service-row {
  display: flex;
  gap: 30px;
}
@media only screen and (max-width: 560px) {
  .p-modal-service-row {
    flex-direction: column;
  }
}
.p-modal-service-row ~ .p-modal-service-row {
  margin-top: 1.5em;
}
.p-modal-service-row__item {
  flex: 1;
}

.p-modal-search-tbl {
  display: flex;
  gap: 20px;
}
@media only screen and (max-width: 560px) {
  .p-modal-search-tbl {
    flex-direction: column;
  }
}
.p-modal-search-tbl__ttl {
  width: 40%;
  font-weight: bold;
}
.p-modal-search-tbl__ttl.-single {
  width: 25%;
}
@media only screen and (max-width: 560px) {
  .p-modal-search-tbl__ttl.-single {
    width: 100%;
  }
}
.p-modal-search-tbl__ttl .c-checkbox {
  font-weight: bold;
}
.p-modal-search-tbl__content {
  width: 60%;
  flex: 1;
}
@media only screen and (max-width: 560px) {
  .p-modal-search-tbl__content {
    width: 100%;
  }
}
.p-modal-search-tbl__content > p {
  margin-top: 10px;
  line-height: 1;
}
.p-modal-search-tbl__content > p:first-of-type {
  margin-top: 0;
}
.p-modal-search-tbl__content.-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media only screen and (max-width: 560px) {
  .p-modal-search-tbl__content.-row {
    gap: 7px;
  }
}
.p-modal-search-tbl__content.-row > p {
  margin-top: 0;
  margin-bottom: 8px;
}
.p-modal-search-tbl__content.-row > * {
  width: 9rem;
}
@media only screen and (max-width: 560px) {
  .p-modal-search-tbl__content.-row > * {
    width: 8rem;
  }
}

.c-pager {
  display: flex;
  justify-content: center;
  gap: 3px;
}
.c-pager--single {
  width: 100%;
}
.c-pager__arrow {
  font-size: 22px;
  font-size: 2.2rem;
}
.c-pager__arrow > p {
  color: #afafaf;
  pointer-events: none;
  width: 3.8rem;
  height: 3.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transform: scale(1.5, 1);
          transform: scale(1.5, 1);
}
.c-pager__arrow > a {
  color: #000;
  width: 3.8rem;
  height: 3.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: color 0.3s cubic-bezier(0.24, 1, 0.32, 1);
  -webkit-transform: scale(1.5, 1);
          transform: scale(1.5, 1);
}
.c-pager__arrow > a:hover {
  color: #5CB531;
  text-decoration: none;
}
.c-pager__item {
  font-size: 12px;
  font-size: 1.2rem;
}
.c-pager__item > p {
  background: #fff;
  pointer-events: none;
  width: 3.8rem;
  height: 3.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-pager__item > a {
  background: #CFD8DC;
  width: 3.8rem;
  height: 3.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: background 0.3s cubic-bezier(0.24, 1, 0.32, 1);
  color: #99999b;
}
.c-pager__item > a:hover {
  background: #5CB531;
  color: #fff;
  text-decoration: none;
}
.c-pager__item.is-current > a {
  background: #5CB531;
  border-color: #5CB531;
  pointer-events: none;
  color: #fff;
}

.c-row {
  display: flex;
  gap: 10px 10px;
}
@media only screen and (max-width: 560px) {
  .c-row {
    flex-direction: column;
  }
}
.c-row--gap4 {
  gap: 20px 40px;
}
.c-steps {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-bottom: 2em;
}
.c-steps > * {
  position: relative;
  width: 33%;
  text-align: center;
  position: relative;
  align-items: center;
  justify-content: center;
  padding: 13px 0;
  line-height: 1.5;
  background: #FAF7EF;
  color: #999999;
}
@media only screen and (max-width: 560px) {
  .c-steps > * {
    font-size: 11px;
    font-size: 2.9333333333vw;
    line-height: 1.4;
    padding: 10px 0;
  }
}
.c-steps > * span {
  font-weight: bold;
  font-size: 13px;
  font-size: 1.3rem;
}
@media only screen and (max-width: 560px) {
  .c-steps > * span {
    font-size: 11px;
    font-size: 2.9333333333vw;
  }
}
.c-steps > *:not(:last-child)::before, .c-steps > *:not(:last-child)::after {
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 100%;
  content: "";
  border: 25px solid transparent;
  border-left: 20px solid #FAF7EF;
  margin: auto;
}
@media only screen and (max-width: 560px) {
  .c-steps > *:not(:last-child)::before, .c-steps > *:not(:last-child)::after {
    border-width: 18px;
    border-left-width: 12px;
  }
}
.c-steps > *:not(:last-child)::before {
  margin-left: 1px;
  border-left-color: #FFF;
}
.c-steps > *.is-active {
  z-index: 1;
  background: #5CB531;
  color: #FFF;
}
.c-steps > *.is-active:not(:last-child)::after {
  border-left-color: #5CB531;
}
.c-steps > *.is-active:not(:last-child)::before {
  border-left: none;
}

.c-table {
  width: 100%;
  border-top: 1px solid #333;
}
.c-table.-border-none {
  border-top: none;
}
.c-table ~ .c-table {
  margin-top: 30px;
}
@media only screen and (max-width: 560px) {
  .c-table ~ .c-table {
    margin-top: 15px;
  }
}
.c-table tr {
  border-bottom: 1px solid #333;
}
.c-table th,
.c-table td {
  line-height: 1.5;
  padding: 1.5em 1em;
  vertical-align: top;
}
@media only screen and (max-width: 560px) {
  .c-table th,
.c-table td {
    padding: 1.5em 1em;
  }
}
.c-table th.-vertical-btm,
.c-table td.-vertical-btm {
  vertical-align: bottom;
}
.c-table th.-vertical-center,
.c-table td.-vertical-center {
  vertical-align: middle;
}
.c-table th {
  font-weight: normal;
  vertical-align: top;
  text-align: left;
  color: #99999b;
  padding: 1.5em 0;
}
@media only screen and (max-width: 560px) {
  .c-table th {
    padding: 1.5em 0;
  }
}
.c-table__ttl {
  font-weight: bold;
  margin-bottom: 5px;
}
.c-table--left td {
  text-align: left;
}
@media only screen and (max-width: 560px) {
  .c-table--sp-table {
    display: table;
  }
}
@media only screen and (max-width: 560px) {
  .c-table--sp-table th,
.c-table--sp-table td {
    width: auto;
    display: table-cell;
  }
}

a[href^="tel:"] {
  pointer-events: none;
}
@media only screen and (max-width: 960px) {
  a[href^="tel:"] {
    pointer-events: fill;
  }
}

.c-toTop {
  width: 64px;
  height: 64px;
  position: fixed;
  right: 30px;
  bottom: 80px;
  display: none;
  z-index: 100;
}
@media only screen and (max-width: 960px) {
  .c-toTop {
    bottom: 40px;
  }
}
@media only screen and (max-width: 560px) {
  .c-toTop {
    width: 8vw;
    height: 8vw;
    bottom: 9.6vw;
    right: 0px;
  }
}
.c-toTop a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  background-color: #C5DF95;
  color: #3A4B1D;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.35);
  transition: background-color 0.3s ease;
}
.c-toTop a span.material-symbols-outlined {
  font-size: 2em;
}
.c-toTop a:hover {
  background-color: #daebbc;
}

.c-video {
  position: relative;
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding-top: 56.25%;
  box-shadow: 0 0 8px rgba(104, 104, 104, 0.8);
  border-radius: 1em;
  overflow: hidden;
}
.c-video--flat {
  box-shadow: none;
  border-radius: 0;
}
@media only screen and (max-width: 560px) {
  .c-video {
    padding-top: 56.25%;
  }
}
.c-video iframe,
.c-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
  border: 0;
  z-index: 1;
}
.c-video--middle {
  width: 1100px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
.c-video--small {
  width: 750px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-top: 38.5%;
}
@media only screen and (max-width: 960px) {
  .c-video--small {
    padding-top: 45%;
  }
}
@media only screen and (max-width: 560px) {
  .c-video--small {
    padding-top: 60%;
  }
}

.c-wrapper {
  width: 1200px;
  max-width: calc(100% - 60px);
  margin: auto;
  overflow: hidden;
}
@media only screen and (max-width: 960px) {
  .c-wrapper {
    max-width: 100%;
  }
}
.c-wrapper--wide {
  width: 1270px;
}
.c-wrapper--short {
  width: 990px;
}
.c-wrapper--top {
  margin-top: 50px;
}
@media only screen and (max-width: 560px) {
  .c-wrapper--top {
    margin-top: 4vw;
  }
}
@media only screen and (max-width: 960px) {
  .c-wrapper--inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}
@media only screen and (max-width: 560px) {
  .c-wrapper--inner {
    padding-left: 6.6666666667vw;
    padding-right: 6.6666666667vw;
  }
}

.c-wrapper-wide {
  width: 1600px;
  max-width: 100%;
  margin: auto;
}
@media only screen and (max-width: 960px) {
  .c-wrapper-wide {
    max-width: 100%;
  }
}
.p-about-index-chara img {
  height: 48px;
  width: auto;
}
@media only screen and (max-width: 960px) {
  .p-about-index-chara img {
    height: 38px;
  }
}
@media only screen and (max-width: 560px) {
  .p-about-index-chara img {
    height: 24px;
  }
}

.p-about-index-column {
  display: flex;
  margin-top: 1.33em;
}
@media only screen and (max-width: 560px) {
  .p-about-index-column {
    flex-direction: column;
    gap: 2em;
  }
}
.p-about-index-column__left {
  flex: 1;
  height: 100%;
  background-image: url(../image/about/fig-arrow-green.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  aspect-ratio: 120/13;
}
.p-about-index-column__right {
  flex: 1;
}
.p-about-index-column__right .-inner {
  width: 50vw;
  max-width: 600px;
  margin-right: auto;
  padding-left: 1.66em;
}
@media only screen and (max-width: 1200px) {
  .p-about-index-column__right .-inner {
    width: 60vw;
    margin-right: 1.66em;
  }
}
@media only screen and (max-width: 560px) {
  .p-about-index-column__right .-inner {
    width: 100%;
    max-width: 100%;
    padding-left: 6.6666666667vw;
    padding-right: 6.6666666667vw;
  }
}

.p-aboutrerec-row {
  display: flex;
}
@media only screen and (max-width: 560px) {
  .p-aboutrerec-row {
    flex-direction: column;
    gap: 1.5em;
  }
}
.p-aboutrerec-row__content {
  width: 55%;
  flex-shrink: 0;
}
@media only screen and (max-width: 560px) {
  .p-aboutrerec-row__content {
    width: 100%;
  }
}
.p-aboutrerec-row__fig {
  flex: 1;
  padding-left: 2rem;
}
@media only screen and (max-width: 560px) {
  .p-aboutrerec-row__fig {
    padding-left: 0;
  }
}
.p-aboutrerec-row__heading {
  font-size: 2.22em;
  font-weight: bold;
  line-height: 1.25;
}
@media only screen and (max-width: 1200px) {
  .p-aboutrerec-row__heading {
    font-size: 1.99em;
  }
}
@media only screen and (max-width: 960px) {
  .p-aboutrerec-row__heading {
    font-size: 1.77em;
  }
}
@media only screen and (max-width: 560px) {
  .p-aboutrerec-row__heading {
    font-size: 1.44rem;
  }
}

.p-about-point-header {
  display: flex;
  gap: 1em;
}
.p-about-point-header .-icon {
  flex-shrink: 0;
  width: 120px;
  aspect-ratio: 1/1;
}
@media only screen and (max-width: 560px) {
  .p-about-point-header .-icon {
    width: 80px;
  }
}
.p-about-point-header .-icon img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-about-point-header .-content {
  flex: 1;
}
.p-about-point-header .-ttl {
  font-size: 1.33em;
  font-weight: bold;
  color: #2C4A0A;
}
.p-about-point-header .-note {
  margin-top: 0.5em;
}

.p-about-point-table {
  margin-top: 0.88em;
}
.p-about-point-table ~ .p-about-point-table {
  margin-top: 1.11em;
}
.p-about-point-table dt {
  background-color: #D9F5A6;
  color: #2C4A0A;
  border-top: 1px solid #3A4B1D;
  border-bottom: 1px solid #3A4B1D;
  font-weight: bold;
  text-align: center;
  padding: 0.5em;
  line-height: 1;
}
.p-about-point-table dd {
  padding: 0.5em;
}
.p-about-point-table dd .-list {
  display: flex;
  gap: 1em;
  flex-wrap: wrap;
}
.p-about-point-table dd .-list span {
  color: #5CB531;
}
.p-about-point-table--brown dt {
  background-color: #F5F1E9;
  color: #795548;
  border-top: 1px solid #795548;
  border-bottom: 1px solid #795548;
}
.p-about-point-table--brown dd .-list span {
  color: #795548;
}

.p-about-link-list {
  margin-top: 3.33em;
  display: flex;
  color: #000;
  padding: 0px;
  gap: 30px 18px;
  flex-wrap: wrap;
}
@media only screen and (max-width: 560px) {
  .p-about-link-list {
    flex-direction: column;
    margin-top: 30px;
    gap: 20px 5%;
  }
}
.p-about-link-list > li {
  padding: 1em 1em;
  text-align: center;
  width: calc(25% - 13.5px);
  background-color: #fff;
  border-radius: 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 560px) {
  .p-about-link-list > li {
    width: 100%;
    padding: 1.5em 1.5em;
  }
}
.p-about-link-list__copy {
  font-size: 1.22em;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 0.75em;
  min-height: 2.6em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 960px) {
  .p-about-link-list__copy {
    min-height: 3em;
    line-height: 1.65;
  }
}
@media only screen and (max-width: 560px) {
  .p-about-link-list__copy {
    min-height: auto;
  }
}
.p-about-link-list__copy .-small {
  font-size: 1.11em;
}
.p-about-link-list__txt {
  margin-top: 0.5em;
  padding: 0 0.5em 1em;
  text-align: left;
}
@media only screen and (max-width: 560px) {
  .p-about-link-list__txt {
    margin-top: 0;
    padding: 0 1em;
    margin-bottom: 1em;
  }
}
.p-about-link-list__icon {
  width: 120px;
  height: 120px;
}
@media only screen and (max-width: 1200px) {
  .p-about-link-list__icon {
    width: 100px;
    height: 100px;
  }
}
@media only screen and (max-width: 960px) {
  .p-about-link-list__icon {
    width: 80px;
    height: 80px;
  }
}
@media only screen and (max-width: 560px) {
  .p-about-link-list__icon {
    width: 70px;
    height: 70px;
  }
}
.p-about-link-list__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-about-link-list__btn {
  margin-top: auto;
  width: 100%;
  padding: 0 1em;
}
.p-about-link-list__btn > * {
  width: 100%;
  padding: 0.5em 1em;
}

.p-about-heading-primary {
  font-size: 2.22em;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 0.25em;
}
@media only screen and (max-width: 1200px) {
  .p-about-heading-primary {
    font-size: 1.99em;
  }
}
@media only screen and (max-width: 960px) {
  .p-about-heading-primary {
    font-size: 1.77em;
  }
}
@media only screen and (max-width: 560px) {
  .p-about-heading-primary {
    font-size: 1.44rem;
    line-height: 1.5;
  }
}

.p-about-heading-page {
  font-size: 1.77em;
  font-weight: bold;
  margin-bottom: 0.25em;
}
@media only screen and (max-width: 560px) {
  .p-about-heading-page {
    font-size: 1.44rem;
  }
}

.p-about-heading-large {
  font-size: 1.55em;
  font-weight: bold;
  margin-bottom: 0.5em;
  color: #2C4A0A;
}
@media only screen and (max-width: 560px) {
  .p-about-heading-large {
    font-size: 1.22rem;
  }
}

.p-about-bg-arrow {
  background: #fff url(../image/about/bg-arrow.webp) no-repeat;
  background-size: contain;
  background-position: left bottom;
  padding-bottom: 40px;
}

.p-about-bg-index {
  position: relative;
  padding-bottom: 40px;
}
@media only screen and (max-width: 560px) {
  .p-about-bg-index {
    background-color: #DBDAD6;
  }
}
.p-about-bg-index::after {
  z-index: -1;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../image/about/bg-warehouse.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 560px) {
  .p-about-bg-index::after {
    z-index: 0;
    background-repeat: no-repeat;
    height: 40%;
  }
}

.p-about-bg-grey {
  background: #CFD8DC;
}

img.-ratio {
  height: auto;
}

.p-about-row {
  display: flex;
  gap: 30px;
  align-items: flex-start;
}
@media only screen and (max-width: 560px) {
  .p-about-row {
    flex-direction: column;
    gap: 15px;
  }
}
.p-about-row__content {
  flex-basis: 57%;
  flex-shrink: 0;
}
.p-about-row__content .-short-block {
  width: 85%;
}
@media only screen and (max-width: 960px) {
  .p-about-row__content .-short-block {
    width: 100%;
  }
}
.p-about-row__content-fig {
  flex-basis: 43%;
}
.p-about-row__content-fig.-fig-lc1 {
  padding-top: 120px;
}
@media only screen and (max-width: 560px) {
  .p-about-row__content-fig.-fig-lc1 {
    padding-top: 0;
  }
}
.p-about-row__content-fig .-r-lc1 {
  height: auto;
  width: 364px;
}
.p-about-row__content-seismic {
  flex-basis: 570px;
  flex-shrink: 0;
}
@media only screen and (max-width: 960px) {
  .p-about-row__content-seismic {
    flex-basis: 54%;
  }
}
.p-about-row__content-fig-seismic {
  max-width: 610px;
  text-align: center;
}
@media only screen and (max-width: 560px) {
  .p-about-row__content-fig-seismic {
    margin-top: 20px;
  }
}
.p-about-row__content-fig-seismic .-r-sei1 {
  aspect-ratio: 486/457;
  height: auto;
  width: 90%;
}
.p-about-row__content-master {
  flex-shrink: 0;
  flex-grow: 1;
}
@media only screen and (max-width: 960px) {
  .p-about-row__content-master {
    flex-basis: 54%;
  }
}
.p-about-row__content-fig-master {
  max-width: 440px;
  text-align: center;
}
.p-about-row--center {
  align-items: center;
}

.p-about-card {
  display: flex;
  gap: 30px;
}
.p-about-card--gap8 {
  gap: 2.66em 4.44em;
}
@media only screen and (max-width: 560px) {
  .p-about-card {
    flex-direction: column;
    gap: 15px;
  }
}
.p-about-card__item {
  flex: 1;
}
@media only screen and (max-width: 560px) {
  .p-about-card__item.-sp-order1 {
    order: 1;
  }
}
@media only screen and (max-width: 560px) {
  .p-about-card__item.-sp-order2 {
    order: 2;
  }
}

.p-about-card-gap {
  display: flex;
  flex-wrap: wrap;
  gap: 2.66em 4.44em;
}
@media only screen and (max-width: 560px) {
  .p-about-card-gap {
    flex-direction: column;
    gap: 2em;
  }
}
.p-about-card-gap__item {
  width: calc(50% - 2.22em);
}
@media only screen and (max-width: 560px) {
  .p-about-card-gap__item {
    width: 100%;
  }
}

.p-about-clowd {
  border: 1px solid #555;
  background-color: #fff;
  border-radius: 20px;
  text-align: center;
  padding: 1.33em;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.15);
  margin-right: 3px;
  margin-bottom: 3px;
}
.p-about-clowd--seismic {
  border: 2px solid #B3E5FC;
  width: 840px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.p-about-clowd .-ttl {
  font-weight: bold;
  margin-bottom: 10px;
}

@media only screen and (max-width: 960px) {
  .p-record-table {
    position: relative;
    width: 100%;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
  }
}
@media only screen and (max-width: 960px) {
  .p-record-table .-sp-hide {
    display: none;
  }
}
.p-record-table__body {
  table-layout: fixed;
  width: 100%;
  background: #fff;
}
@media only screen and (max-width: 960px) {
  .p-record-table__body {
    min-width: 880px;
    margin: auto;
    border-left: 0;
  }
}
.p-record-table th,
.p-record-table td {
  line-height: 1.5;
  padding: 0.35em 0.5em;
  vertical-align: middle;
  text-align: center;
  font-size: 0.77em;
}
@media only screen and (max-width: 960px) {
  .p-record-table th,
.p-record-table td {
    padding: 0.8em 0.5em;
  }
}
.p-record-table th.-vertical-btm,
.p-record-table td.-vertical-btm {
  vertical-align: bottom;
}
.p-record-table th.-vertical-center,
.p-record-table td.-vertical-center {
  vertical-align: middle;
}
.p-record-table thead tr {
  background-color: #5CB531;
  color: #fff;
}
.p-record-table thead th {
  text-align: center;
  line-height: 1.4;
  padding: 0.35em 0.5em;
  font-weight: bold;
}
.p-record-table tbody tr {
  background-color: #fff;
  border-bottom: #ccc 1px solid;
}
.p-record-table tbody tr.-border-black {
  border-bottom: #333 1px solid;
}
.p-record-table tbody th {
  background-color: #E2EFDA;
  font-weight: bold;
}
.p-record-table tbody td {
  padding: 0.35em 0.5em;
  line-height: 1.5;
  font-weight: normal;
  text-align: right;
  border-right: #ccc 1px solid;
}
@media only screen and (max-width: 960px) {
  .p-record-table tbody td {
    padding: 0.6em 0.75em;
    line-height: 1.5;
  }
}
.p-record-table tbody td.-separate {
  background-color: #546E7A;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 0.3em 1em;
}
@media only screen and (max-width: 960px) {
  .p-record-table__sticky {
    position: sticky;
    left: 0;
    z-index: 1;
    background-color: #5CB531;
    width: 14%;
  }
}
.p-record-table__w0 {
  width: 10%;
}
.p-record-table__w1 {
  width: 8%;
}

.p-about-trim {
  aspect-ratio: 53/34;
  height: auto;
}
.p-about-trim--r2 {
  aspect-ratio: 63/29;
  height: auto;
}
.p-about-trim--bcp {
  aspect-ratio: 28/17;
  height: auto;
}
.p-about-trim img {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}

img.-monitor {
  aspect-ratio: 1322/299;
  height: auto;
}
img.-data1 {
  aspect-ratio: 682/342;
  height: auto;
}
img.-contour1 {
  aspect-ratio: 487/329;
  height: auto;
}
img.-contour2 {
  aspect-ratio: 419/329;
  height: auto;
}
img.-data2 {
  aspect-ratio: 487/329;
  height: auto;
}
img.-mf1 {
  aspect-ratio: 873/478;
  height: auto;
}
img.-mf2 {
  aspect-ratio: 445/173;
  height: auto;
}
img.-mf3 {
  aspect-ratio: 800/731;
  height: auto;
}
img.-mf4 {
  aspect-ratio: 501/184;
  height: auto;
}

.p-about-box-line {
  padding: 1.25em;
  background-color: #fff;
  border: 1px solid #000;
}

.p-about-flow-box__item {
  position: relative;
  margin-bottom: 1.33em;
}
.p-about-flow-box__item:last-child {
  margin-bottom: 25px;
}

.p-about-flow {
  display: flex;
  overflow: hidden;
  background-color: #FFF;
  min-height: 100px;
  border-top: 2px solid #B3E5FC;
  border-bottom: 2px solid #B3E5FC;
}
@media only screen and (max-width: 560px) {
  .p-about-flow {
    flex-direction: column;
  }
}
.p-about-flow__head {
  background-color: #B3E5FC;
  flex-shrink: 0;
  width: 25%;
  display: flex;
  gap: 1em;
  padding-left: 1em;
  padding-right: 1em;
  align-items: center;
}
@media only screen and (max-width: 560px) {
  .p-about-flow__head {
    width: 100%;
    padding: 0.5em;
  }
}
.p-about-flow__num {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media only screen and (max-width: 560px) {
  .p-about-flow__num {
    width: 20%;
  }
}
.p-about-flow__num .step {
  font-size: 0.88em;
  line-height: 1;
  font-weight: bold;
}
.p-about-flow__num .num {
  font-size: 1.77em;
  line-height: 1;
  font-weight: bold;
}
@media only screen and (max-width: 960px) {
  .p-about-flow__num .num {
    font-size: 1.44rem;
  }
}
.p-about-flow__body {
  padding: 20px;
}
@media only screen and (max-width: 560px) {
  .p-about-flow__body {
    flex-direction: column;
    padding: 1em 0 1em 0.5em;
  }
}
.p-about-flow__ttl {
  font-weight: bold;
  font-size: 1.33em;
  line-height: 1;
}
@media only screen and (max-width: 560px) {
  .p-about-flow__ttl {
    font-size: 1.11rem;
    text-align: center;
  }
}
.p-about-flow__lead {
  font-weight: bold;
  font-size: 1.33em;
  line-height: 1;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 560px) {
  .p-about-flow__lead {
    font-size: 1.11rem;
    line-height: 1.5;
  }
}

.p-accordion {
  display: none;
}
@media only screen and (max-width: 560px) {
  .p-accordion {
    display: block;
    width: 100%;
  }
}
.p-accordion__trigger {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 53px;
  background-color: #1c2857;
  color: #fff;
  border-radius: 0.5em;
}
.p-accordion__trigger::after {
  position: absolute;
  content: "";
  font-family: "Material Symbols Outlined";
  content: "\e5cf";
  font-size: 1.33em;
  font-weight: normal;
  color: #5CB531;
  position: absolute;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-accordion__target {
  display: none;
}
.p-accordion.is-active .p-accordion__trigger {
  border-radius: 0.5em 0.5em 0 0;
}
.p-accordion.is-active .p-accordion__trigger::after {
  content: "\e5ce";
}
.p-accordion.is-active .p-accordion__target {
  display: block;
  border: 1px solid #e4e4e9;
  border-top: none;
  padding: 15px;
  border-radius: 0 0 0.5em 0.5em;
}

.p-aclist-qa__trigger {
  border: 1px solid #e4e4e9;
  border-radius: 0.5em;
  background: #fff;
  display: flex;
  padding: 1em 3.5em 1em 1.5em;
  margin-top: 5px;
  transition: all 0.3s ease;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 560px) {
  .p-aclist-qa__trigger {
    padding: 1em 3.5em 1em 1.5em;
  }
}
.p-aclist-qa__trigger::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 2px #1FB9EE;
  border-right: solid 2px #1FB9EE;
  position: absolute;
  right: 1.5em;
  top: 1.5em;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  transition: all 0.3s ease;
}
.p-aclist-qa__trigger.is-active {
  border-radius: 0.5em 0.5em 0 0;
  border-bottom: 1px solid #fff;
}
.p-aclist-qa__trigger.is-active::after {
  top: 1.75em;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.p-aclist-qa__icon-q {
  font-weight: bold;
  font-size: 1.33em;
  line-height: 1.2;
  margin-right: 0.5em;
  color: #1FB9EE;
}
.p-aclist-qa__body {
  display: none;
  background: #FEF7F5;
  border: 1px solid #e4e4e9;
  border-top: none;
  padding: 1.5em 3.5em 1.5em 4.8em;
  line-height: 1.6;
  border-radius: 0 0 0.5em 0.5em;
}
@media only screen and (max-width: 560px) {
  .p-aclist-qa__body {
    padding: 1em 3.5em 1em 1.5em;
  }
}
.p-aclist-qa__body-inner {
  display: flex;
}
.p-aclist-qa__title {
  font-size: 18px;
  font-size: 1.8rem;
}
@media only screen and (max-width: 560px) {
  .p-aclist-qa__title {
    font-size: 15px;
    font-size: 1.5rem;
  }
}
.p-aclist-qa__icon-a {
  font-weight: bold;
  font-size: 1.33em;
  line-height: 1.3;
  margin-right: 0.75em;
  color: #f25d41;
}
.p-aclist-qa__answer {
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 560px) {
  .p-aclist-qa__answer {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.p-aclist-qa__answer p ~ p {
  margin-top: 1em;
}

.p-box-yellow {
  background-color: #FDF8E9;
  padding: 1.25em;
  border-radius: 0.5em;
}

.p-box-common {
  width: 100%;
  padding: 1.66em 2.22em;
  border-radius: 0.5em;
  background-color: #fff;
}
@media only screen and (max-width: 560px) {
  .p-box-common {
    padding: 1.66em;
  }
}
.p-box-common--gutter {
  padding: 1.66em;
}

.p-btn-gnav {
  width: 80px;
  height: 70px;
}
@media only screen and (max-width: 560px) {
  .p-btn-gnav {
    width: 90%;
    margin: 20px auto 0;
    height: auto;
  }
}
@media only screen and (max-width: 560px) {
  .p-btn-gnav ~ .p-btn-gnav {
    margin: 16px auto 0;
  }
}
.p-btn-gnav--gradient > a {
  background: linear-gradient(90deg, #1fb9ee, #00b2f0, #00abf1, #00a4f2, #009cf2, #0094f2, #008cf1, #2283ee);
}
.p-btn-gnav--gradient > a:hover {
  text-decoration: none;
}
.p-btn-gnav--blue > a {
  background: #1c2857;
}
.p-btn-gnav--blue > a:hover {
  text-decoration: none;
  color: #fff;
}
.p-btn-gnav > a {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #fff;
}
@media only screen and (max-width: 560px) {
  .p-btn-gnav > a {
    flex-direction: row;
    padding-top: 1em;
    padding-bottom: 1em;
    border-radius: 1000px;
  }
}
.p-btn-gnav--col {
  width: 160px;
}
.p-btn-gnav--col > a {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.p-btn-gnav--col > a .-name {
  font-size: 11px;
  font-size: 1.1rem;
}
.p-btn-gnav--col > a .-icon {
  display: flex;
  align-items: center;
}
.p-btn-gnav .-icon-txt {
  font-size: 13px;
  font-size: 1.3rem;
  white-space: nowrap;
}
.p-btn-gnav .-icon-gnav {
  font-size: 19px;
  font-size: 1.9rem;
}

.p-buttons-cover-big-icon > * {
  align-items: stretch;
  width: calc(50% - 20px);
  margin-left: 40px;
}
@media only screen and (max-width: 560px) {
  .p-buttons-cover-big-icon > * {
    width: 100%;
    margin-left: 0px;
  }
}
.p-buttons-cover-big-icon > *:first-child {
  margin-right: 0px;
}

.p-btn-big-icon > * {
  display: flex;
  font-size: 28px;
  font-size: 2.8rem;
  line-height: 1;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 4em;
  padding-left: 100px;
}
@media only screen and (max-width: 560px) {
  .p-btn-big-icon > * {
    font-size: 17px;
    font-size: 4.5333333333vw;
    padding-left: 18.6666666667vw;
    justify-content: left;
  }
}
.p-btn-big-icon > *.-no-hover:hover {
  background: linear-gradient(90deg, #1fb9ee, #00b2f0, #00abf1, #00a4f2, #009cf2, #0094f2, #008cf1, #2283ee);
  color: #000;
}
.p-btn-big-icon__icon {
  position: absolute;
  top: 50%;
  left: 30px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #fff;
  border-radius: 500px;
  width: 62px;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #000;
}
@media only screen and (max-width: 560px) {
  .p-btn-big-icon__icon {
    width: 9.8666666667vw;
    height: 9.8666666667vw;
    left: 5.3333333333vw;
  }
}
.p-btn-big-icon__text {
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 560px) {
  .p-btn-big-icon__text {
    align-items: flex-start;
  }
}
.p-btn-big-icon__text span + span {
  margin-top: 0.5em;
}
.p-btn-big-icon__text .-double {
  line-height: 1;
}
.p-btn-big-icon__text .-small {
  font-size: 18px;
  font-size: 1.8rem;
}
@media only screen and (max-width: 560px) {
  .p-btn-big-icon__text .-small {
    text-align: left;
    font-size: 13px;
    font-size: 3.4666666667vw;
    padding-right: 0;
  }
}

.p-btn-trainer-reserve {
  margin-top: 100px;
  padding-bottom: 30px;
}
.p-btn-trainer-reserve > * {
  width: 600px;
  min-height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  border-radius: 0;
  padding: 1em;
  border: 1px solid #eef2f4;
  background: #eef2f4;
  transition: border 0.3s ease;
  border-radius: 14px;
}
.p-btn-trainer-reserve > *:hover {
  border: 1px solid #5CB531;
}
@media only screen and (max-width: 560px) {
  .p-btn-trainer-reserve > * {
    padding: 8vw 10.6666666667vw;
    min-height: auto;
  }
}

.p-btn-round-black > * {
  border: 1px solid #000;
  border-radius: 400px;
  position: relative;
  display: block;
  color: #000;
  transition: color 0.3s ease, border 0.3s ease;
  max-width: 100%;
  padding: 0.7em 1em 0.7em 1em;
  background: #fff;
}
.p-btn-round-black > *::after {
  display: block;
  content: ">";
  font-size: 20px;
  font-size: 2rem;
  position: absolute;
  color: #000;
  top: 0.65em;
  right: 20px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  line-height: 1;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 560px) {
  .p-btn-round-black > *::after {
    top: 0.5em;
    font-size: 18px;
    font-size: 1.8rem;
  }
}
.p-btn-round-black > * span {
  padding-right: 1em;
  display: inline-block;
}
.p-btn-round-black > *:hover {
  background: #fdfefe;
  color: #5CB531;
}
.p-btn-round-black > *:hover::after {
  color: #5CB531;
  top: 0.75em;
}
@media only screen and (max-width: 560px) {
  .p-btn-round-black > *:hover::after {
    top: 0.5em;
  }
}

.p-check-label {
  cursor: pointer;
}
.p-check-label span {
  font-size: 0.77rem;
  border-radius: 0.5em;
  padding: 0.25em 1.11em;
  color: #616161;
  border: 1px solid #F5F1E9;
  background-color: #F5F1E9;
  white-space: nowrap;
}
.p-check-label input:checked + span {
  color: #795548;
  border: 1px solid #795548;
}
.p-check-label.-c1 input:checked + span {
  color: #3A4B1D;
  border: 1px solid #3A4B1D;
  background-color: #D9F5A6;
}
.p-check-label.-c2 input:checked + span {
  color: #795548;
  border: 1px solid #795548;
}
.p-check-label.-c3 input:checked + span {
  color: #546E7A;
  border: 1px solid #546E7A;
  background-color: #EAEFF0;
}

.p-heading-primary {
  font-size: 1.33em;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 0;
  color: #1c2857;
  margin-bottom: 0.25em;
  line-height: 1.3;
}

.p-heading-secondary {
  font-size: 22px;
  font-size: 2.2rem;
  font-weight: bold;
  color: #1c2857;
}
@media only screen and (max-width: 960px) {
  .p-heading-secondary {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
@media only screen and (max-width: 560px) {
  .p-heading-secondary {
    font-size: 15px;
    font-size: 4vw;
  }
}

.p-heading-tertiary {
  font-size: 20px;
  font-size: 2rem;
  color: #1c2857;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 960px) {
  .p-heading-tertiary {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 560px) {
  .p-heading-tertiary {
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}

.p-heading-strong {
  font-size: 22px;
  font-size: 2.2rem;
  color: #1c2857;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 960px) {
  .p-heading-strong {
    font-size: 19px;
    font-size: 1.9rem;
  }
}
@media only screen and (max-width: 560px) {
  .p-heading-strong {
    font-size: 15px;
    font-size: 4vw;
  }
}

.p-heading-large {
  font-size: 1.142em;
  color: #1c2857;
  letter-spacing: 0.05em;
  font-weight: bold;
}
@media only screen and (max-width: 560px) {
  .p-heading-large {
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}

.p-heading-large-color {
  font-size: 1.33em;
  color: #5CB531;
  letter-spacing: 0.05em;
  font-weight: 600;
}

.p-heading-bold {
  font-size: 15px;
  font-size: 1.5rem;
  color: #1c2857;
  font-weight: bold;
}
@media only screen and (max-width: 560px) {
  .p-heading-bold {
    font-size: 13px;
    font-size: 3.4666666667vw;
  }
}

.p-heading-side {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 560px) {
  .p-heading-side {
    font-size: 14px;
    font-size: 3.7333333333vw;
  }
}

.p-map {
  position: relative;
  width: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding-top: 58%;
}
.p-map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  border: 0;
}

.p-list-news {
  margin-top: 0.5em;
}
@media only screen and (max-width: 560px) {
  .p-list-news {
    margin-top: 0em;
  }
}
.p-list-news--toppage {
  margin-top: 4.5em;
}
@media only screen and (max-width: 960px) {
  .p-list-news--toppage {
    margin-top: 2.5em;
  }
}
@media only screen and (max-width: 560px) {
  .p-list-news--toppage {
    margin-top: 13.3333333333vw;
  }
}
.p-list-news__item {
  border-bottom: 1px solid #333;
}
.p-list-news__item > * {
  display: flex;
  padding: 1em;
}
@media only screen and (max-width: 960px) {
  .p-list-news__item > * {
    padding: 1em;
  }
}
@media only screen and (max-width: 560px) {
  .p-list-news__item > * {
    display: block;
    padding: 4.8vw 2.1333333333vw;
  }
}
.p-list-news__item > a:hover {
  text-decoration: none;
}
.p-list-news__item > a:hover .p-list-news__title {
  text-decoration: underline;
}
.p-list-news__date {
  margin-right: 2em;
  flex-shrink: 0;
  width: 220px;
}
.p-list-news__date .-date {
  margin-right: 1.5em;
  color: #838383;
}
.p-list-news__date .-cate {
  display: inline-block;
  color: #fff;
  text-align: center;
  border-radius: 400px;
  width: 8em;
  font-size: 12px;
  font-size: 1.2rem;
}
@media only screen and (max-width: 560px) {
  .p-list-news__date .-cate {
    font-size: 11px;
    font-size: 2.9333333333vw;
  }
}
.p-list-news__date .-cate.-c1 {
  color: #1c2857;
  border: #1c2857 1px solid;
}
.p-list-news__date .-cate.-c2 {
  color: #F25D41;
  border: #F25D41 1px solid;
}
.p-list-news__date .-cate.-c3 {
  color: #5CB531;
  border: #5CB531 1px solid;
}
.p-list-news__title {
  flex: 1;
  margin-right: 0;
}
@media only screen and (max-width: 560px) {
  .p-list-news__title {
    margin-top: 0.5em;
  }
}

.p-news-search-wrap {
  padding: 10px 0;
  display: flex;
  gap: 20px;
}
@media only screen and (max-width: 560px) {
  .p-news-search-wrap {
    padding: 0;
    gap: 10px;
    flex-direction: column;
  }
}

.p-news-search {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media only screen and (max-width: 560px) {
  .p-news-search {
    flex-direction: column;
    gap: 10px;
  }
}
.p-news-search__ttl {
  flex: none;
  min-width: 4em;
  font-weight: bold;
}
@media only screen and (max-width: 560px) {
  .p-news-search__ttl {
    width: 100%;
  }
}
.p-news-search__body {
  flex-grow: 1;
}
@media only screen and (max-width: 560px) {
  .p-news-search__body {
    width: 100%;
  }
}
@media only screen and (max-width: 560px) {
  .p-news-search--nowrap {
    flex-direction: row;
    gap: 20px;
  }
}
@media only screen and (max-width: 560px) {
  .p-news-search--nowrap .p-news-search__ttl {
    width: 6em;
  }
}
@media only screen and (max-width: 560px) {
  .p-news-article {
    padding-top: 5.3333333333vw;
  }
}
.p-news-article img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-top: 3em;
  padding-bottom: 0.5em;
}
.p-news-article img.-large {
  width: 1000px;
  max-width: 100%;
  height: auto;
}
.p-news-article img.-middle {
  width: 600px;
  max-width: 70%;
  height: auto;
}
@media only screen and (max-width: 560px) {
  .p-news-article img.-middle {
    max-width: 100%;
  }
}
.p-news-article img.-small {
  width: 300px;
  max-width: 50%;
  height: auto;
}
@media only screen and (max-width: 560px) {
  .p-news-article img.-small {
    max-width: 100%;
  }
}
.p-news-article__header {
  margin-bottom: 2em;
}
.p-news-article__title {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  font-size: 2em;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.p-news-article__date {
  display: flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
  margin-top: 10px;
}
.p-news-article__date span {
  color: #afafaf;
  font-size: 18px;
  font-size: 1.8rem;
}
@media only screen and (max-width: 560px) {
  .p-news-article__date {
    font-size: 12px;
    font-size: 3.2vw;
  }
}
.p-news-article__data {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1em;
}
.p-news-article__cate {
  display: inline-block;
  color: #fff;
  text-align: center;
  border-radius: 400px;
  width: 8em;
  font-size: 12px;
  font-size: 1.2rem;
}
@media only screen and (max-width: 560px) {
  .p-news-article__cate {
    font-size: 11px;
    font-size: 2.9333333333vw;
  }
}
.p-news-article__cate.-c1 {
  color: #1c2857;
  border: #1c2857 1px solid;
}
.p-news-article__cate.-c2 {
  color: #F25D41;
  border: #F25D41 1px solid;
}
.p-news-article__cate.-c3 {
  color: #5CB531;
  border: #5CB531 1px solid;
}
.p-news-article__body > *:first-child {
  padding-top: 0;
}
.p-news-article__body ~ .p-news-article__body {
  margin-top: 24px;
}
@media only screen and (max-width: 560px) {
  .p-news-article__body ~ .p-news-article__body {
    margin-top: 12px;
  }
}
.p-news-article__body > * ~ * {
  margin-top: 1em;
  min-height: 1px;
}

.p-page-header {
  background-color: #5CB531;
  color: #FFF;
  width: 100%;
}
.p-page-header--left {
  aspect-ratio: 160/31;
  height: 310px;
}
@media only screen and (max-width: 960px) {
  .p-page-header--left {
    height: 280px;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header--left {
    height: 42.6666666667vw;
  }
}
.p-page-header--row {
  background-color: #FFF;
  display: flex;
  height: 290px;
  margin-bottom: 3.33em;
  position: relative;
}
@media only screen and (max-width: 960px) {
  .p-page-header--row {
    height: 210px;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header--row {
    flex-wrap: wrap;
    height: 49.3333333333vw;
  }
}
.p-page-header__inner {
  text-align: center;
  display: flex;
  padding-top: 60px;
  flex-direction: column;
  gap: 10px;
  max-width: calc(100% - 30px);
  flex-shrink: 0;
  width: 620px;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  background-color: #5CB531;
}
@media only screen and (max-width: 960px) {
  .p-page-header__inner {
    width: 60%;
    padding-top: 0;
    justify-content: center;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__inner {
    order: 3;
    width: 76%;
    height: auto;
    padding-top: 1.5em;
    padding-bottom: 1.5em;
    gap: 0.25em;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.p-page-header__photo-l {
  flex: 1;
}
@media only screen and (max-width: 560px) {
  .p-page-header__photo-l {
    flex: auto;
    width: 50%;
    order: 1;
  }
}
.p-page-header__photo-l img {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 960px) {
  .p-page-header__photo-l img {
    height: 180px;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__photo-l img {
    height: 34.6666666667vw;
  }
}
.p-page-header__photo-r {
  flex: 1;
}
@media only screen and (max-width: 560px) {
  .p-page-header__photo-r {
    flex: auto;
    width: 50%;
    order: 2;
  }
}
.p-page-header__photo-r img {
  width: 100%;
  height: 250px;
  -o-object-fit: cover;
     object-fit: cover;
  object-fit: cover;
}
@media only screen and (max-width: 960px) {
  .p-page-header__photo-r img {
    height: 180px;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__photo-r img {
    height: 34.6666666667vw;
  }
}
.p-page-header--row-works {
  background-color: #FFF;
  display: flex;
  height: 310px;
  margin-bottom: 0;
  position: relative;
}
@media only screen and (max-width: 960px) {
  .p-page-header--row-works {
    height: 240px;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header--row-works {
    height: 48vw;
  }
}
.p-page-header--row-works::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 90px;
  bottom: -90px;
  left: 0;
  background-color: #616161;
}
@media only screen and (max-width: 560px) {
  .p-page-header--row-works::after {
    height: 6.6666666667vw;
    bottom: -6.6666666667vw;
  }
}
.p-page-header__inner-works {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: calc(100% - 30px);
  flex-shrink: 0;
  width: 480px;
  padding-top: 70px;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  background-color: #5CB531;
}
@media only screen and (max-width: 960px) {
  .p-page-header__inner-works {
    width: 60%;
    padding-top: 40px;
    justify-content: center;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__inner-works {
    width: 50%;
    height: 100%;
    padding-top: 0;
    margin-top: -1em;
    justify-content: center;
  }
}
.p-page-header__photo-l-works {
  flex: 1;
}
.p-page-header__photo-l-works img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-page-header__photo-r-works {
  flex: 1;
}
.p-page-header__photo-r-works img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  object-fit: cover;
}
.p-page-header__left-inner {
  max-width: 100%;
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
  height: 100%;
  display: flex;
  align-items: stretch;
}
.p-page-header__left-copy {
  width: 400px;
  background-color: #5CB531;
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
}
@media only screen and (max-width: 1200px) {
  .p-page-header__left-copy {
    padding-left: 1.5em;
  }
}
@media only screen and (max-width: 960px) {
  .p-page-header__left-copy {
    width: 50%;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__left-copy {
    width: 50%;
  }
}
.p-page-header#about-rerec {
  background: #5CB531 url(../image/about/mv-about-rerec.webp) no-repeat;
  background-size: auto 100%;
  background-position: right center;
}
@media only screen and (max-width: 560px) {
  .p-page-header#about-rerec .p-page-header__title {
    color: #fff;
  }
}
.p-page-header__title {
  font-size: 2.66em;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 0;
  line-height: 1.3;
}
@media only screen and (max-width: 1200px) {
  .p-page-header__title {
    letter-spacing: 0;
    font-size: 2.44em;
  }
}
@media only screen and (max-width: 960px) {
  .p-page-header__title {
    font-size: 2.22em;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__title {
    font-size: 1.66em;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__title.-sp-smaller {
    font-size: 1.55em;
  }
}
.p-page-header__sub {
  font-size: 1.11em;
  font-weight: bold;
}
@media only screen and (max-width: 560px) {
  .p-page-header__sub {
    color: #fff;
    line-height: 1;
  }
}
.p-page-header__interview-num {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 0.5em;
}
@media only screen and (max-width: 960px) {
  .p-page-header__interview-num {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__interview-num {
    margin-top: 0;
    font-size: 10px;
    font-size: 2.6666666667vw;
    color: #fff;
  }
}
.p-page-header__interview-name {
  font-size: 32px;
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  padding: 0;
  line-height: 1.3;
}
@media only screen and (max-width: 1200px) {
  .p-page-header__interview-name {
    font-size: 28px;
    font-size: 2.8rem;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 960px) {
  .p-page-header__interview-name {
    font-size: 26px;
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__interview-name {
    color: #fff;
    font-size: 20px;
    font-size: 5.3333333333vw;
  }
}
.p-page-header__interview-com {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
}
@media only screen and (max-width: 960px) {
  .p-page-header__interview-com {
    font-size: 23px;
    font-size: 2.3rem;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-header__interview-com {
    font-size: 17px;
    font-size: 4.5333333333vw;
    color: #fff;
  }
}
.p-page-header__usertype {
  color: #fff;
  padding: 0.4em 0.6em;
  font-size: 14px;
  font-size: 1.4rem;
  display: inline-block;
  white-space: nowrap;
  border-radius: 3px;
  background-color: #5CB531;
  border: 1px solid #5CB531;
  min-width: 5.5em;
  text-align: center;
  line-height: 1;
  margin-top: 1em;
}
@media only screen and (max-width: 560px) {
  .p-page-header__usertype {
    margin-top: 0;
    font-size: 10px;
    font-size: 2.6666666667vw;
  }
}
.p-page-header__username {
  font-size: 32px;
  font-size: 3.2rem;
}
@media only screen and (max-width: 560px) {
  .p-page-header__username {
    font-size: 16px;
    font-size: 4.2666666667vw;
  }
}

.p-page-section {
  margin-top: 0;
  overflow: hidden;
}
.p-page-section.-top-m {
  margin-top: 1.5em;
}
@media only screen and (max-width: 960px) {
  .p-page-section.-top-m {
    margin-top: 1em;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-section.-top-m {
    margin-top: 8vw;
  }
}
.p-page-section.-top-d {
  margin-top: 2.5em;
}
@media only screen and (max-width: 960px) {
  .p-page-section.-top-d {
    margin-top: 1.5em;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-section.-top-d {
    margin-top: 10.6666666667vw;
  }
}
.p-page-section.-top-l {
  margin-top: 3.5em;
}
@media only screen and (max-width: 960px) {
  .p-page-section.-top-l {
    margin-top: 2.5em;
  }
}
@media only screen and (max-width: 560px) {
  .p-page-section.-top-l {
    margin-top: 13.3333333333vw;
  }
}
.p-page-section__header {
  margin-bottom: 2em;
}
.p-page-section__body {
  margin-top: 2em;
}
.p-page-section__body.-nm {
  margin-top: 0;
}
.p-page-section__body.-top-m {
  margin-top: 3.33em;
}

.p-page-section-footer-back {
  background-color: #5CB531;
  padding: 1em;
}

.p-search-result {
  display: flex;
  gap: 30px;
  justify-content: space-between;
}
.p-search-result--bottom {
  justify-content: center;
  margin-top: 30px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 960px) {
  .p-search-result {
    gap: 16px 20px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
@media only screen and (max-width: 560px) {
  .p-search-result {
    margin-top: 20px;
    margin-bottom: 20px;
    gap: 1em;
  }
}
.p-search-result__number {
  color: #1c2857;
  font-weight: bold;
}
@media only screen and (max-width: 960px) {
  .p-search-result__number {
    width: 100%;
  }
}
@media only screen and (max-width: 560px) {
  .p-search-result__number {
    width: auto;
    order: 1;
  }
}
.p-search-result__number span {
  font-size: 1.33em;
  font-weight: bold;
  color: #F25D41;
}
.p-search-result__select {
  display: flex;
  gap: 5px;
}
@media only screen and (max-width: 560px) {
  .p-search-result__select {
    order: 2;
    flex-direction: column-reverse;
  }
}
@media only screen and (max-width: 560px) {
  .p-search-result__pager {
    order: 3;
    flex: none;
    width: 100%;
  }
}

.p-section {
  margin-top: 0px;
  overflow: hidden;
}
.p-section ~ .p-section {
  margin-top: 30px;
}
@media only screen and (max-width: 560px) {
  .p-section ~ .p-section {
    margin-top: 5.3333333333vw;
  }
}
.p-section ~ .p-section.-nm {
  margin-top: 0;
}
.p-section--top {
  padding-top: 60px;
}
@media only screen and (max-width: 960px) {
  .p-section--top {
    padding-top: 40px;
  }
}
@media only screen and (max-width: 560px) {
  .p-section--top {
    padding-top: 10.6666666667vw;
  }
}
.p-section--bottom-m {
  padding-bottom: 60px;
}
@media only screen and (max-width: 960px) {
  .p-section--bottom-m {
    padding-bottom: 40px;
  }
}
@media only screen and (max-width: 560px) {
  .p-section--bottom-m {
    padding-bottom: 10.6666666667vw;
  }
}
.p-section--bottom {
  padding-bottom: 80px;
}
@media only screen and (max-width: 960px) {
  .p-section--bottom {
    padding-bottom: 60px;
  }
}
@media only screen and (max-width: 560px) {
  .p-section--bottom {
    padding-bottom: 13.3333333333vw;
  }
}

.p-seller-wrap {
  width: 950px;
  max-width: 100%;
  margin: auto;
}

.p-seller-row {
  display: flex;
  gap: 42px;
}
@media only screen and (max-width: 560px) {
  .p-seller-row {
    gap: 9px;
    margin-bottom: 2em;
  }
}
.p-seller-row__item {
  width: calc(33.3% - 28px);
}
@media only screen and (max-width: 560px) {
  .p-seller-row__item {
    width: calc(33.3% - 6px);
  }
}

.p-seller-bubble {
  position: relative;
  text-align: center;
  font-weight: bold;
  border-radius: 2em;
  padding: 1.5em;
  margin-bottom: 2em;
}
@media only screen and (max-width: 560px) {
  .p-seller-bubble {
    padding: 0.75em 0.5em;
    margin-bottom: 1em;
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 12px;
    font-size: 3.2vw;
  }
}
.p-seller-bubble:after, .p-seller-bubble:before {
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  pointer-events: none;
  position: absolute;
  top: 100%;
  left: 50%;
}
.p-seller-bubble:after {
  border-color: rgba(0, 0, 255, 0);
  border-top-width: 0.75em;
  border-bottom-width: 0.75em;
  border-left-width: 0.5em;
  border-right-width: 0.5em;
  margin-left: -0.75em;
}
.p-seller-bubble:before {
  border-color: rgba(0, 0, 255, 0);
  border-top-width: 1em;
  border-bottom-width: 1em;
  border-left-width: 0.75em;
  border-right-width: 0.75em;
  margin-left: -0.75em;
  margin-top: 5px;
}
.p-seller-bubble.-blue {
  background: #E9F4F8;
  border: 5px solid #E9F4F8;
  color: #218cee;
}
.p-seller-bubble.-blue::before, .p-seller-bubble.-blue::after {
  left: 70%;
}
.p-seller-bubble.-blue::after {
  border-top-color: #E9F4F8;
}
.p-seller-bubble.-blue::before {
  border-top-color: #E9F4F8;
}
.p-seller-bubble.-orange {
  background: #FAEDE9;
  border: 5px solid #FAEDE9;
  color: #f25d41;
}
.p-seller-bubble.-orange::after {
  border-top-color: #FAEDE9;
}
.p-seller-bubble.-orange::before {
  border-top-color: #FAEDE9;
}
.p-seller-bubble.-green {
  background: #E1F6EA;
  border: 5px solid #E1F6EA;
  color: #1ca37b;
}
.p-seller-bubble.-green::before, .p-seller-bubble.-green::after {
  left: 30%;
}
.p-seller-bubble.-green::after {
  border-top-color: #E1F6EA;
}
.p-seller-bubble.-green::before {
  border-top-color: #E1F6EA;
}

.p-seller-lead {
  font-size: 18px;
  font-size: 1.8rem;
  text-align: center;
  margin-top: 1em;
}
@media only screen and (max-width: 560px) {
  .p-seller-lead {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.p-seller-picture {
  margin: 30px 0 50px;
}
@media only screen and (max-width: 560px) {
  .p-seller-picture {
    margin: 15px 0 30px;
  }
}
.p-seller-picture img {
  aspect-ratio: 950/524;
  height: auto;
}
@media only screen and (max-width: 560px) {
  .p-seller-picture img {
    aspect-ratio: 1/1;
  }
}

.p-about-picture {
  margin: 30px 0 50px;
}
@media only screen and (max-width: 560px) {
  .p-about-picture {
    margin: 15px 0 30px;
  }
}
.p-about-picture img {
  aspect-ratio: 950/578;
  height: auto;
}
@media only screen and (max-width: 560px) {
  .p-about-picture img {
    aspect-ratio: 1/1;
  }
}

.p-seller-row-point {
  display: flex;
  gap: 24px;
}
@media only screen and (max-width: 560px) {
  .p-seller-row-point {
    flex-direction: column;
    gap: 10px;
  }
}
.p-seller-row-point__item {
  width: calc(33.3% - 16px);
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 560px) {
  .p-seller-row-point__item {
    width: 100%;
  }
}

.p-seller-point {
  position: relative;
  padding: 1.5em;
  background-color: #FAEDE9;
  border-radius: 0.5em;
  margin-top: 30px;
  flex-grow: 1;
}
.p-seller-point__num {
  width: 70px;
  height: 70px;
  border-radius: 100px;
  background-color: #FAEDE9;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f6aea3;
  font-weight: bold;
  top: -35px;
  line-height: 1;
  font-size: 20px;
  font-size: 2rem;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (max-width: 560px) {
  .p-seller-point__num {
    top: -20px;
    width: 50px;
    height: 50px;
    font-size: 17px;
    font-size: 1.7rem;
  }
}
.p-seller-point__ttl {
  position: relative;
  font-weight: bold;
  color: #f25d41;
  font-size: 18px;
  font-size: 1.8rem;
  text-align: center;
}
@media only screen and (max-width: 560px) {
  .p-seller-point__ttl {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.p-seller-point__text {
  position: relative;
  margin-top: 0.75em;
}

.p-seller-flow-box__item {
  position: relative;
  margin-bottom: 56px;
}
@media only screen and (max-width: 560px) {
  .p-seller-flow-box__item {
    margin-bottom: 40px;
  }
}
.p-seller-flow-box__item::after {
  font-family: "Material Symbols Outlined";
  content: "\f1e3";
  position: absolute;
  bottom: -45px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #5CB531;
  font-size: 2em;
  font-weight: bold;
}
@media only screen and (max-width: 560px) {
  .p-seller-flow-box__item::after {
    bottom: -34px;
  }
}
.p-seller-flow-box__item:last-child {
  margin-bottom: 25px;
}
.p-seller-flow-box__item:last-child::after {
  content: none;
}

.p-seller-flow {
  display: flex;
  border-radius: 0.5em;
  overflow: hidden;
  background-color: #e9f4f8;
  min-height: 100px;
}
@media only screen and (max-width: 560px) {
  .p-seller-flow {
    flex-direction: column;
  }
}
.p-seller-flow__num {
  background-color: #5CB531;
  display: flex;
  flex: none;
  width: 90px;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
}
@media only screen and (max-width: 560px) {
  .p-seller-flow__num {
    width: 100%;
  }
}
.p-seller-flow__body {
  display: flex;
  align-items: center;
  padding: 20px;
}
@media only screen and (max-width: 560px) {
  .p-seller-flow__body {
    flex-direction: column;
    padding: 0.5em 1em 1em;
  }
}
.p-seller-flow__ttl {
  color: #5CB531;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
  flex: none;
  width: 200px;
}
@media only screen and (max-width: 560px) {
  .p-seller-flow__ttl {
    font-size: 16px;
    font-size: 1.6rem;
    width: 100%;
    text-align: center;
  }
}
.p-seller-section-contact {
  background-color: #F4F9FB;
  padding-top: 60px;
  padding-bottom: 60px;
  margin-top: 60px;
}
@media only screen and (max-width: 560px) {
  .p-seller-section-contact {
    padding-top: 40px;
    padding-bottom: 40px;
    margin-top: 40px;
    padding-right: 6.6666666667vw;
    padding-left: 6.6666666667vw;
  }
}

.p-send {
  max-width: 700px;
  width: 100%;
  margin: 30px auto 0;
  display: flex;
  gap: 30px;
}
@media only screen and (max-width: 560px) {
  .p-send {
    margin: 20px auto 0;
    gap: 20px;
  }
}
.p-send__icon {
  flex: none;
  width: 80px;
  text-align: right;
}
.p-send__icon span {
  font-size: 62px;
  font-size: 6.2rem;
  color: #1A75DB;
}
@media only screen and (max-width: 560px) {
  .p-send__icon span {
    font-size: 52px;
    font-size: 5.2rem;
  }
}
@media only screen and (max-width: 560px) {
  .p-send__icon {
    width: 60px;
  }
}
.p-send__single {
  width: 560px;
  max-width: 100%;
  margin: auto;
}

.p-send-msg {
  border-radius: 0.5em;
  padding: 20px 30px;
  margin-top: 30px;
  margin-bottom: 10px;
  background-color: #f4f8fa;
}

.p-sitemap {
  display: flex;
  gap: 20px 10px;
  flex-wrap: wrap;
  margin-top: 20px;
}
@media only screen and (max-width: 560px) {
  .p-sitemap {
    gap: 10px 14px;
  }
}
.p-sitemap__item {
  width: calc(25% - 16px);
  line-height: 1.45;
}
@media only screen and (max-width: 560px) {
  .p-sitemap__item {
    width: calc(50% - 8px);
  }
}

.p-sitemap-row {
  display: flex;
  gap: 20px 20px;
  flex-wrap: wrap;
}
.p-sitemap-row > * {
  width: calc(25% - 15px);
}
@media only screen and (max-width: 560px) {
  .p-sitemap-row > * {
    width: calc(50% - 20px);
  }
}

.p-sitemap-linklist {
  margin-top: 10px;
}
.p-sitemap-linklist li {
  line-height: 1.45;
  margin-bottom: 10px;
}

@-webkit-keyframes tabAnim {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes tabAnim {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-tabgroup {
  width: 100%;
  margin: 0 auto;
}
.p-tab {
  position: relative;
}
.p-tab__area {
  margin: 0;
  position: relative;
  z-index: 1;
}
.p-tab__area::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #e4e4e9;
  position: absolute;
  left: 0;
  bottom: 7px;
}
.p-tab__area-wrapper {
  width: 100%;
  margin: auto;
  display: flex;
  gap: 6px;
  position: relative;
  z-index: 2;
}
.p-tab__area-wrapper > li {
  width: calc(50% - 3px);
  margin: 0;
  border-radius: 10px 10px 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px 0 23px;
  color: #1c2857;
  background: #ECECF0;
  text-align: center;
  border: 1px solid #e4e4e9;
  border-bottom: none;
  transition: ease 0.1s background;
  cursor: pointer;
}
.p-tab__area-wrapper > li label {
  font-weight: bold;
}
.p-tab__area-wrapper > li:hover {
  background: #f7f7f9;
}
.p-tab__area-wrapper > li.is-active {
  background: #fff;
  color: #1c2857;
  position: relative;
}
.p-tab__area-wrapper > li.is-active::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 0;
  bottom: 7px;
}
.p-tab__area-wrapper label {
  line-height: 1.3;
  cursor: pointer;
}
.p-tab__input {
  display: none;
}
.p-tab__content {
  margin-top: -7px;
  position: relative;
  z-index: 2;
}
.p-tab__panel {
  width: 100%;
  padding: 0;
  display: none;
}
.p-tab__panel.is-active {
  display: block;
  -webkit-animation: tabAnim ease 0.6s forwards;
          animation: tabAnim ease 0.6s forwards;
}

.p-table {
  display: flex;
  gap: 20px;
  width: 700px;
  max-width: 100%;
  margin: auto;
  border-bottom: 1px #e4e4e9 dashed;
  padding-bottom: 10px;
  margin-top: 5px;
}
.p-table ~ .p-table {
  margin-top: 10px;
}
@media only screen and (max-width: 560px) {
  .p-table {
    display: block;
    margin-bottom: 0;
  }
}
.p-table__ttl {
  flex: none;
  width: 180px;
  font-weight: bold;
  display: flex;
  align-items: flex-start;
  padding: 0;
  position: relative;
  line-height: 1.4;
  color: #838383;
}
@media only screen and (max-width: 560px) {
  .p-table__ttl {
    padding-bottom: 5px;
  }
}
.p-table__body {
  flex: 1;
  padding: 0;
  line-height: 1.4;
}

.p-top-mv {
  height: 680px;
  position: relative;
}
@media only screen and (max-width: 1200px) {
  .p-top-mv {
    aspect-ratio: 144/67;
    height: auto;
  }
}
.p-top-mv__bg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  position: absolute;
  top: 0;
  left: 0;
}

.p-top-visual__inner {
  position: relative;
  width: 1200px;
  max-width: 100%;
  height: 100%;
  margin: 0 auto;
  z-index: 3;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 1200px) {
  .p-top-visual__inner {
    padding-left: 50px;
    padding-right: 50px;
  }
}
@media only screen and (max-width: 960px) {
  .p-top-visual__inner {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (max-width: 560px) {
  .p-top-visual__inner {
    padding: 2.6666666667vw;
  }
}
.p-top-visual__content {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 100%;
  text-align: center;
  color: #fff;
  position: relative;
  display: flex;
  flex-direction: column;
  padding-top: 30px;
}
@media only screen and (max-width: 560px) {
  .p-top-visual__content {
    display: block;
    padding-top: 0px;
  }
}
.p-top-visual__main {
  margin-bottom: 0.35em;
}
@media only screen and (max-width: 560px) {
  .p-top-visual__main {
    margin-top: 1.8666666667vw;
    margin-bottom: 0;
  }
}
@media only screen and (max-width: 960px) {
  .p-top-visual__main img {
    width: 260px;
  }
}
@media only screen and (max-width: 560px) {
  .p-top-visual__main img {
    width: 40vw;
  }
}
@media only screen and (max-width: 1200px) {
  .p-top-visual__catch {
    width: 40vw;
  }
}
@media only screen and (max-width: 560px) {
  .p-top-visual__catch {
    width: 77vw;
  }
}
.p-top-visual__btn {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}
@media only screen and (max-width: 560px) {
  .p-top-visual__btn {
    margin-top: 3.2vw;
  }
}
.p-top-visual__btn > * {
  width: 320px;
  font-size: 18px;
  font-size: 1.8rem;
  position: relative;
  justify-content: center;
  padding: 0.75em 2.25em 0.75em 1em;
}
.p-top-visual__btn > * span {
  font-weight: bold;
}
@media only screen and (max-width: 560px) {
  .p-top-visual__btn > * {
    width: 61.3333333333vw;
    font-size: 13px;
    font-size: 3.4666666667vw;
  }
}
.p-top-visual__btn > *::after {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  right: 1.75em;
  width: 0.7em;
  height: 0.7em;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg) translateY(-50%);
          transform: rotate(45deg) translateY(-50%);
  transition: right 0.3s ease;
}
.p-top-visual__btn > *:hover::after {
  right: 1.55em;
}

.p-top-bg-color {
  background: #5CB531;
  color: #fff;
}

.p-top-bg-arrow {
  background: #fff url(../image/about/bg-arrow.webp) no-repeat;
  background-size: contain;
  background-position: left bottom;
  padding-bottom: 4.44em;
}
@media only screen and (max-width: 560px) {
  .p-top-bg-arrow {
    background: #fff;
    padding-bottom: 13.3333333333vw;
  }
}

.p-top-row {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
}
@media only screen and (max-width: 560px) {
  .p-top-row {
    flex-direction: column;
  }
}
.p-top-row__content {
  flex: 1;
  padding-right: 1.5em;
}
@media only screen and (max-width: 560px) {
  .p-top-row__content {
    padding-right: 0;
  }
}
.p-top-row__fig {
  flex: 1;
}

.p-top-bfaf {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  margin-top: 30px;
}
@media only screen and (max-width: 560px) {
  .p-top-bfaf {
    gap: 16px;
  }
}
.p-top-bfaf__photo {
  flex: 1;
}
@media only screen and (max-width: 560px) {
  .p-top-bfaf__photo.-before {
    flex: auto;
    order: 1;
    width: 100%;
    background-image: url(../image/about/bg-arrow.webp);
    background-repeat: no-repeat;
    background-size: auto 120%;
    background-position: 140% top;
  }
}
@media only screen and (max-width: 560px) {
  .p-top-bfaf__photo.-before img {
    width: calc(50% - 8px);
  }
}
@media only screen and (max-width: 560px) {
  .p-top-bfaf__photo.-after {
    order: 2;
    flex: auto;
    width: 100%;
  }
}
.p-top-bfaf__text {
  width: 38%;
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
}
@media only screen and (max-width: 560px) {
  .p-top-bfaf__text {
    order: 3;
    width: 100%;
  }
}

.p-top-rerec-list {
  margin-top: 3.33em;
  display: flex;
  color: #000;
  padding: 0px;
  gap: 30px 36px;
  flex-wrap: wrap;
}
@media only screen and (max-width: 560px) {
  .p-top-rerec-list {
    flex-direction: column;
    margin-top: 30px;
    gap: 20px 5%;
  }
}
.p-top-rerec-list > li {
  padding: 1em 1em;
  text-align: center;
  width: calc(33.3% - 24px);
  background-color: #fff;
  border-radius: 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media only screen and (max-width: 560px) {
  .p-top-rerec-list > li {
    width: 100%;
    padding: 1.5em 1.5em;
  }
}
.p-top-rerec-list__copy {
  line-height: 1.25;
  margin-top: 0.75em;
  min-height: 2.6em;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-top-rerec-list__copy .-sub {
  font-size: 1.33em;
  font-weight: bold;
}
@media only screen and (max-width: 960px) {
  .p-top-rerec-list__copy {
    min-height: 3em;
    line-height: 1.65;
  }
}
@media only screen and (max-width: 560px) {
  .p-top-rerec-list__copy {
    min-height: auto;
  }
}
.p-top-rerec-list__txt {
  margin-top: 0.5em;
  padding: 0 1em 1em;
  text-align: left;
}
@media only screen and (max-width: 560px) {
  .p-top-rerec-list__txt {
    margin-top: 0;
    padding: 0 1em;
    margin-bottom: 1em;
  }
}
.p-top-rerec-list__icon {
  width: 100px;
  height: 100px;
}
@media only screen and (max-width: 1200px) {
  .p-top-rerec-list__icon {
    width: 100px;
    height: 100px;
  }
}
@media only screen and (max-width: 960px) {
  .p-top-rerec-list__icon {
    width: 80px;
    height: 80px;
  }
}
@media only screen and (max-width: 560px) {
  .p-top-rerec-list__icon {
    width: 70px;
    height: 70px;
  }
}
.p-top-rerec-list__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-top-category-col {
  display: flex;
  gap: 30px 16px;
  flex-wrap: wrap;
}
.p-top-category-col__item {
  width: calc(25% - 12px);
}
@media only screen and (max-width: 960px) {
  .p-top-category-col__item {
    width: calc(50% - 8px);
  }
}
@media only screen and (max-width: 560px) {
  .p-top-category-col__item {
    width: calc(50% - 8px);
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
}

.p-top-cate-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.p-top-cate-row__fig {
  flex: none;
  width: 100px;
}
@media only screen and (max-width: 560px) {
  .p-top-cate-row__fig {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 8px;
  }
}
.p-top-cate-row__fig img {
  aspect-ratio: 3/2;
  height: auto;
}
@media only screen and (max-width: 560px) {
  .p-top-cate-row__fig img {
    width: 20vw;
  }
}
.p-top-cate-row__content {
  flex: 1;
}
.p-top-cate-row__ttl {
  font-weight: bold;
  color: #1c2857;
  margin-bottom: 5px;
}
@media only screen and (max-width: 560px) {
  .p-top-cate-row__ttl {
    display: none;
  }
}
.p-top-cate-row__ttl.-sp {
  display: none;
}
@media only screen and (max-width: 560px) {
  .p-top-cate-row__ttl.-sp {
    display: block;
    flex: 1;
  }
}
.p-top-cate-row ul {
  line-height: 1.35;
}
.p-top-cate-row ul li ~ li {
  margin-top: 3px;
}
.p-top-cate-row ul li {
  display: flex;
  gap: 3px;
  font-size: 14px;
  font-size: 1.4rem;
}
.p-top-cate-row ul li::before {
  font-family: "Material Symbols Outlined";
  content: "\e5cc";
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
}

.p-top-section {
  position: relative;
}
.p-top-section__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px;
}
@media only screen and (min-width: 561px) {
  .p-top-section__header {
    padding: 5px 14px 14px;
  }
}
.p-top-section__heading {
  font-size: 2.22em;
  font-weight: bold;
  line-height: 1.25;
}
@media only screen and (max-width: 1200px) {
  .p-top-section__heading {
    font-size: 1.99em;
  }
}
@media only screen and (max-width: 960px) {
  .p-top-section__heading {
    font-size: 1.77em;
  }
}
@media only screen and (max-width: 560px) {
  .p-top-section__heading {
    font-size: 1.44rem;
    line-height: 1.5;
    text-align: center;
  }
}
.p-top-section__btn {
  margin-top: 3em;
}
.p-top-section__btn > * {
  width: 380px;
  max-width: 100%;
  padding: 1.5em 1.5em 1.5em 1.5em;
}
@media only screen and (max-width: 560px) {
  .p-top-section__btn {
    margin-top: 2em;
    font-size: 12px;
    font-size: 3.2vw;
  }
}

.p-top-section-shadow-space {
  padding-left: 8px;
  padding-right: 8px;
}
@media only screen and (min-width: 561px) {
  .p-top-section-shadow-space {
    padding: 5px 14px 14px;
  }
}

.p-top-section-shadow {
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.15);
  border-radius: 10px;
  padding: 30px;
  background-color: #fff;
}
@media only screen and (max-width: 560px) {
  .p-top-section-shadow {
    margin: 10px -5px 10px;
    width: calc(100% + 10px);
  }
}

.p-tag-labels {
  display: flex;
  gap: 8px 10px;
  align-items: flex-start;
  flex-wrap: wrap;
}
.p-tag-labels > * {
  color: #fff;
  background-color: #5CB531;
  font-size: 0.66em;
  padding: 0.5em 0.75em;
  line-height: 1;
  white-space: nowrap;
  border-radius: 1em;
  min-width: 4.5em;
  text-align: center;
}
.p-tag-labels--c1 > * {
  background-color: #D9F5A6;
  color: #3A4B1D;
}
.p-tag-labels--c2 > * {
  background-color: #F5F1E9;
  color: #795548;
}
.p-tag-labels--c3 > * {
  background-color: #EAEFF0;
  color: #546E7A;
}

.p-works-search {
  border-radius: 1em;
  border: 1px solid #3A4B1D;
  padding: 1.5em;
  width: 800px;
  max-width: calc(100% - 30px);
  margin: -50px auto 0px;
  position: relative;
  background-color: #fff;
}
.p-works-search__ttl {
  font-weight: bold;
  text-align: center;
  margin-bottom: 1em;
}
.p-works-search__table {
  display: flex;
  gap: 0.5em 1em;
}
@media only screen and (max-width: 560px) {
  .p-works-search__table {
    flex-direction: column;
  }
}
.p-works-search__table ~ .p-works-search__table {
  margin-top: 1em;
}
.p-works-search__table dt {
  width: 8em;
  flex-shrink: 0;
  font-size: 0.88em;
}
.p-works-search__table dd {
  flex: 1;
  display: flex;
  gap: 0.5em;
  flex-wrap: wrap;
}
.p-works-search__btn {
  margin-top: 1.5em;
}
.p-works-search__btn > * {
  font-size: 0.88em;
  width: 100%;
  padding: 0.45em 1.5em;
  border-radius: 0.3em;
  background-color: #3A4B1D;
  border-color: #3A4B1D;
}

.p-works-search-table {
  display: flex;
  gap: 1em;
}
@media only screen and (max-width: 560px) {
  .p-works-search-table.-sp-wrap {
    flex-direction: column;
  }
}
.p-works-search-table__ttl {
  width: 10em;
  flex-shrink: 0;
  font-weight: bold;
  font-size: 0.77em;
}
.p-works-search-table__body {
  flex: 1;
}
.p-works-search-table__body dl {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}
@media only screen and (max-width: 560px) {
  .p-works-search-table__body dl dt {
    min-width: 6em;
    flex-shrink: 0;
  }
}
@media only screen and (max-width: 560px) {
  .p-works-search-table__body dl dd {
    flex: 1;
  }
}
.p-works-search-table__body .-small {
  font-size: 0.66rem;
}
.p-works-search-table__body .-smaller {
  font-size: 0.77rem;
}

.p-works-list {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 12px;
}
@media only screen and (max-width: 560px) {
  .p-works-list {
    flex-direction: column;
  }
}
.p-works-list__item {
  width: calc(33.3% - 8px);
  border-radius: 1em;
  overflow: hidden;
  background-color: #FDF7E8;
}
@media only screen and (max-width: 560px) {
  .p-works-list__item {
    width: 100%;
  }
}

.p-works-card {
  display: flex;
  flex-direction: column;
}
.hasHover .p-works-card:hover {
  text-decoration: none;
}
.hasHover .p-works-card:hover img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.p-works-card__fig {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.p-works-card__fig img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: -webkit-transform 0.6s ease;
  transition: transform 0.6s ease;
  transition: transform 0.6s ease, -webkit-transform 0.6s ease;
}
.p-works-card__body {
  padding: 1em;
}
.p-works-card__body .-ttl {
  margin-top: 0.5em;
  color: #000;
  overflow: hidden;
}
.p-works-card__body .-ttl > * {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 4em;
}
.p-works-card__body .-sub {
  margin-top: 0.25em;
}
.p-works-card__body .-sub > * {
  font-size: 0.88em;
  color: #3A4B1D;
}

.p-bfaf-list {
  display: flex;
  align-items: center;
  gap: 16px 24px;
}
@media only screen and (max-width: 560px) {
  .p-bfaf-list {
    flex-direction: column;
  }
}
.p-bfaf-list__item {
  flex: 1;
}
@media only screen and (max-width: 560px) {
  .p-bfaf-list__item {
    width: 100%;
  }
}
.p-bfaf-list__item .-trim {
  aspect-ratio: 3/2;
  background-color: #eee;
}
.p-bfaf-list__item .-trim img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.p-bfaf-list__item .-info {
  font-weight: bold;
  margin-top: 0.5em;
  text-align: center;
}
.p-bfaf-list__arrow {
  flex-shrink: 0;
  width: 80px;
}
@media only screen and (max-width: 560px) {
  .p-bfaf-list__arrow {
    display: none;
  }
}

.p-works-header {
  margin-top: 2.66em;
  margin-bottom: 1.11em;
  display: flex;
  flex-direction: column;
}
@media only screen and (max-width: 560px) {
  .p-works-header {
    margin-top: 1.11em;
  }
}
@media only screen and (max-width: 560px) {
  .p-works-header__logo img {
    height: 40px;
    width: auto;
  }
}
.p-works-header__tag {
  margin-top: 1em;
}
.p-works-header__tag > * {
  font-size: 0.88rem;
  font-weight: normal;
}
.p-works-header__main {
  margin-top: 8px;
  font-size: 1.77em;
  line-height: 1.4;
  font-weight: bold;
}
@media only screen and (max-width: 560px) {
  .p-works-header__main {
    font-size: 1.44rem;
  }
}
.p-works-header__name {
  margin-top: 8px;
  font-size: 1.27em;
  font-weight: bold;
  color: #3A4B1D;
}
@media only screen and (max-width: 560px) {
  .p-works-header__name {
    font-size: 1.11rem;
  }
}

.p-works-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  padding-top: 1.66rem;
  padding-bottom: 1.66rem;
}
@media only screen and (max-width: 560px) {
  .p-works-gallery {
    gap: 20px;
  }
}
.p-works-gallery__item {
  width: calc(20% - 24px);
  aspect-ratio: 3/2;
  overflow: hidden;
}
.p-works-gallery__item img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
@media only screen and (max-width: 560px) {
  .p-works-gallery__item {
    width: calc(50% - 10px);
  }
}

.mySwiper .swiper-lazy-preloader,
.mySwiper2 .swiper-lazy-preloader {
  border: 4px solid #5CB531;
  border-top-color: transparent;
}

@media only screen and (max-width: 640px) {
  .swiper-button-next,
.swiper-button-prev {
    display: none !important;
  }
}

.p-work-slider-main .swiper-slide {
  aspect-ratio: 3/2;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ddd;
}
.p-work-slider-main .swiper-slide img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}

.p-work-slider-thumb {
  margin-top: 30px;
}
@media only screen and (max-width: 560px) {
  .p-work-slider-thumb {
    margin-top: 20px;
  }
}
.p-work-slider-thumb .swiper-slide {
  aspect-ratio: 3/2;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ddd;
  position: relative;
}
.hasHover .p-work-slider-thumb .swiper-slide:hover {
  cursor: pointer;
}
.p-work-slider-thumb .swiper-slide img {
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
}
.p-work-slider-thumb .swiper-slide.swiper-slide-thumb-active::after {
  content: "";
  width: 100%;
  height: 100%;
  border: 3px solid #5CB531;
  position: absolute;
  top: 0%;
  left: 0%;
}

.p-works-detail {
  width: 100%;
  position: relative;
}
.p-works-detail .-bg {
  background-color: #F0EDED;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: calc((100vw - min(1200px, 100vw)) / 2 + min(1200px, 100vw) * 0.6);
  z-index: 0;
}
@media only screen and (max-width: 560px) {
  .p-works-detail .-bg {
    width: 100%;
  }
}
@media only screen and (max-width: 560px) {
  .p-works-detail {
    flex-direction: column;
  }
}
.p-works-detail__innerwrap {
  display: flex;
  width: 1200px;
  max-width: calc(100% - 60px);
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 560px) {
  .p-works-detail__innerwrap {
    flex-direction: column;
  }
}
.p-works-detail__left {
  flex: 0 0 60%;
  position: relative;
}
.p-works-detail__left .-bg-inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  width: 100%;
  margin-left: auto;
  padding: 1.5em 1.5em 1.5em 0;
}
@media only screen and (max-width: 560px) {
  .p-works-detail__left .-bg-inner {
    padding: 1.5em 0;
  }
}
.p-works-detail__left .-inner-tag {
  position: relative;
  width: 100%;
  padding: 1.5em 1em 1.5em 0;
}
@media only screen and (max-width: 560px) {
  .p-works-detail__left .-inner-tag {
    width: 100%;
    max-width: 100%;
    padding: 1.5em 0;
  }
}
.p-works-detail__left .-ttl {
  font-weight: bold;
  margin-bottom: 1em;
}
.p-works-detail__right {
  flex: 0 0 40%;
}
.p-works-detail__right .-inner {
  padding-left: 2em;
}
@media only screen and (max-width: 960px) {
  .p-works-detail__right .-inner {
    padding-left: 1em;
  }
}
@media only screen and (max-width: 560px) {
  .p-works-detail__right .-inner {
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
}

.p-works-data-table {
  display: flex;
  align-items: center;
  padding: 0px;
  width: 100%;
  border-bottom: 0.5px solid #2C4A0A;
  font-size: 0.88em;
}
.p-works-data-table.-top {
  border-top: 0.5px solid #2C4A0A;
}
.p-works-data-table dt {
  flex: none;
  width: 25%;
  align-self: stretch;
  flex-grow: 0;
  background-color: #F5F9EE;
  color: #2C4A0A;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.65rem 0.5rem;
}
@media only screen and (max-width: 560px) {
  .p-works-data-table dt {
    width: 33%;
  }
}
.p-works-data-table dd {
  flex: 1;
  padding: 0.65rem 0.5rem;
}

.p-works-detail-tag-table {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
}
.p-works-detail-tag-table .-small {
  font-size: 0.88em;
}
.p-works-detail-tag-table dt {
  min-width: 6em;
}
@media only screen and (max-width: 560px) {
  .p-works-detail-tag-table dt {
    min-width: 6em;
    flex-shrink: 0;
  }
}
@media only screen and (max-width: 560px) {
  .p-works-detail-tag-table dd {
    flex: 1;
  }
}

.p-works-heading-page {
  font-size: 1.77em;
  text-align: center;
  font-weight: bold;
}
@media only screen and (max-width: 560px) {
  .p-works-heading-page {
    font-size: 1.44rem;
  }
}

.p-bfaf-heading {
  text-align: center;
  position: relative;
  margin-bottom: 1.5em;
}
.p-bfaf-heading::before {
  content: "";
  z-index: -1;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
  width: 60%;
  max-width: 560px;
  height: 2px;
  background-color: #5CB531;
}
@media only screen and (max-width: 560px) {
  .p-bfaf-heading::before {
    width: 90%;
  }
}
.p-bfaf-heading span {
  display: inline-block;
  background-color: #fff;
  font-size: 1.11em;
  text-align: center;
  padding-left: 1em;
  padding-right: 1em;
}

.p-works-bg-gallery {
  background-color: #616161;
}

.u-left {
  text-align: left !important;
}

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

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

@media only screen and (max-width: 560px) {
  .u-center-sp {
    text-align: center;
  }
}

.hasHover .u-blink:hover {
  -webkit-animation: blink 0.3s linear;
          animation: blink 0.3s linear;
}

.u-br-sp {
  display: none;
}
@media only screen and (max-width: 560px) {
  .u-br-sp {
    display: inline-block;
  }
}

.u-br-tab {
  display: none;
}
@media only screen and (max-width: 960px) {
  .u-br-tab {
    display: inline-block;
  }
}
@media only screen and (max-width: 560px) {
  .u-br-tab--only {
    display: none;
  }
}
.u-br-tab--up {
  display: inline-block;
}
@media only screen and (max-width: 560px) {
  .u-br-tab--up {
    display: none;
  }
}

@media only screen and (max-width: 960px) {
  .u-br-pc {
    display: none;
  }
}

.u-inblock {
  display: inline-block;
}

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

.u-large {
  font-size: 1.142em;
}

.u-strong {
  font-size: 1.28em;
  font-weight: bold;
}

.u-small {
  font-size: 0.875em;
}

.u-theme {
  color: #5CB531;
}

.u-red {
  color: #f82a2a;
}

.u-bold-red {
  color: #f82a2a;
  font-weight: bold;
}

.u-nowrap {
  white-space: nowrap;
}

@media only screen and (max-width: 560px) {
  .u-hide-sm {
    display: none !important;
  }
}

@media only screen and (max-width: 960px) {
  .u-hide-md {
    display: none !important;
  }
}

@media screen and (min-width: 960px) {
  .u-hide-pc {
    display: none !important;
  }
}
@media screen and (min-width: 560px) {
  .u-hide-pc-md {
    display: none !important;
  }
}
.u-nm {
  margin: 0 !important;
}

.u-mt0 {
  margin-top: 0 !important;
}

.u-mtem {
  margin-top: 1em !important;
}

.u-mt5 {
  margin-top: 5px !important;
}
@media only screen and (max-width: 560px) {
  .u-mt5 {
    margin-top: 1.3333333333vw !important;
  }
}

.u-mt10 {
  margin-top: 10px !important;
}
@media only screen and (max-width: 560px) {
  .u-mt10 {
    margin-top: 2.6666666667vw !important;
  }
}

.u-mt20 {
  margin-top: 20px !important;
}
@media only screen and (max-width: 560px) {
  .u-mt20 {
    margin-top: 5.3333333333vw !important;
  }
}

.u-mt30 {
  margin-top: 30px !important;
}
@media only screen and (max-width: 560px) {
  .u-mt30 {
    margin-top: 8vw !important;
  }
}

.u-mt40 {
  margin-top: 40px !important;
}
@media only screen and (max-width: 560px) {
  .u-mt40 {
    margin-top: 10.6666666667vw !important;
  }
}

.u-mt50 {
  margin-top: 50px !important;
}
@media only screen and (max-width: 560px) {
  .u-mt50 {
    margin-top: 13.3333333333vw !important;
  }
}

.u-mtb10 {
  margin: 10px 0 !important;
}
@media only screen and (max-width: 560px) {
  .u-mtb10 {
    margin: 2.6666666667vw 0 !important;
  }
}

.u-mtb20 {
  margin: 20px 0 !important;
}
@media only screen and (max-width: 560px) {
  .u-mtb20 {
    margin: 5.3333333333vw 0 !important;
  }
}

.u-mtb30 {
  margin: 30px 0 !important;
}
@media only screen and (max-width: 560px) {
  .u-mtb30 {
    margin: 8vw 0 !important;
  }
}

.u-mbem {
  margin-bottom: 1em !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}
@media only screen and (max-width: 560px) {
  .u-mb5 {
    margin-bottom: 1.3333333333vw !important;
  }
}

.u-mb15 {
  margin-bottom: 15px !important;
}
@media only screen and (max-width: 560px) {
  .u-mb15 {
    margin-bottom: 4vw !important;
  }
}

.u-mt15 {
  margin-top: 15px !important;
}
@media only screen and (max-width: 560px) {
  .u-mt15 {
    margin-top: 4vw !important;
  }
}

.u-mb20 {
  margin-bottom: 20px !important;
}
@media only screen and (max-width: 560px) {
  .u-mb20 {
    margin-bottom: 5.3333333333vw !important;
  }
}

.u-mb25 {
  margin-bottom: 25px !important;
}
@media only screen and (max-width: 560px) {
  .u-mb25 {
    margin-bottom: 6.6666666667vw !important;
  }
}

.u-mt25 {
  margin-top: 25px !important;
}
@media only screen and (max-width: 560px) {
  .u-mt25 {
    margin-top: 6.6666666667vw !important;
  }
}

.u-mb30 {
  margin-bottom: 30px !important;
}
@media only screen and (max-width: 560px) {
  .u-mb30 {
    margin-bottom: 8vw !important;
  }
}

.u-mb35 {
  margin-bottom: 35px !important;
}
@media only screen and (max-width: 560px) {
  .u-mb35 {
    margin-bottom: 9.3333333333vw !important;
  }
}

.u-mb40 {
  margin-bottom: 40px !important;
}
@media only screen and (max-width: 560px) {
  .u-mb40 {
    margin-bottom: 10.6666666667vw !important;
  }
}

.u-mb50 {
  margin-bottom: 50px !important;
}
@media only screen and (max-width: 560px) {
  .u-mb50 {
    margin-bottom: 13.3333333333vw !important;
  }
}

.u-mb60 {
  margin-bottom: 60px !important;
}
@media only screen and (max-width: 560px) {
  .u-mb60 {
    margin-bottom: 16vw !important;
  }
}

.u-ml15 {
  margin-left: 15px !important;
}
@media only screen and (max-width: 560px) {
  .u-ml15 {
    margin-left: 4vw !important;
  }
}

@media only screen and (max-width: 560px) {
  .u-mb15-sm {
    margin-bottom: 4vw !important;
  }
}

@media only screen and (max-width: 560px) {
  .u-mb30-sm {
    margin-bottom: 8vw !important;
  }
}

@media only screen and (max-width: 560px) {
  .u-mt30-sm {
    margin-top: 8vw !important;
  }
}

.u-width5 {
  width: 5% !important;
}

.u-width10 {
  width: 10% !important;
}

.u-width13 {
  width: 13% !important;
}

.u-width15 {
  width: 15% !important;
}

.u-width20 {
  width: 20% !important;
}

.u-width25 {
  width: 25% !important;
}

.u-width30 {
  width: 30% !important;
}

.u-width35 {
  width: 35% !important;
}

.u-width33 {
  width: 33% !important;
}

.u-width40 {
  width: 40% !important;
}

.u-width45 {
  width: 45% !important;
}

.u-width50 {
  width: 50% !important;
}

.u-width55 {
  width: 55% !important;
}

.u-width60 {
  width: 60% !important;
}

.u-width65 {
  width: 65% !important;
}

.u-width70 {
  width: 70% !important;
}

.u-width75 {
  width: 75% !important;
}

.u-width80 {
  width: 80% !important;
}

.u-width85 {
  width: 85% !important;
}

.u-width90 {
  width: 90% !important;
}

.u-width95 {
  width: 95% !important;
}

.u-width100 {
  width: 100% !important;
}
/*# sourceMappingURL=style.css.map */