@charset "UTF-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, 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;
}

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

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;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: top;
}

img[usemap] {
  border-width: 0;
}

a img {
  border-width: 0;
  text-decoration: none;
}

ul, li {
  list-style: none;
}

button {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

@keyframes hoverButtonB--underline {
  0% {
    transform: scaleX(1);
    transform-origin: right center;
  }
  50% {
    transform: scaleX(0);
    transform-origin: right center;
  }
  70% {
    transform: scaleX(0);
    transform-origin: left center;
  }
  100% {
    transform: scaleX(1);
    transform-origin: left center;
  }
}

@keyframes hoverButtonB--arrow {
  0% {
    transform: rotate3d(1, 0, 0, 0);
    transform-origin: center center;
  }
  100% {
    transform: rotate3d(1, 0, 0, 360deg);
    transform-origin: center center;
  }
}

@keyframes scrollMV {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(25%);
  }
  100% {
    transform: translateY(0);
  }
}

* {
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

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

body {
  margin: 0;
  padding: 0;
  background-color: #fffcf5;
  color: #323232;
  font-family: "Noto Sans JP", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  line-height: 1;
  -webkit-text-size-adjust: none;
}

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

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

main {
  display: block;
  width: 100%;
}

a {
  text-decoration: none;
}

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

button, select, input, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  box-shadow: none;
  background-color: transparent;
  cursor: pointer;
}

.l-contentArea {
  margin: 0 auto;
  padding: 0 30px;
}

@media screen and (min-width: 640px) {
  .l-contentArea {
    max-width: 1260px;
  }
}

.l-contentArea--large {
  max-width: 1460px;
}

.l-inner {
  margin: 0 auto;
  padding: 0 38px;
}

@media screen and (min-width: 640px) {
  .l-inner {
    max-width: 1116px;
  }
}

.l-box {
  margin: 40px 0 60px;
}

@media screen and (min-width: 640px) {
  .l-box {
    margin: 68px 0 112px;
  }
}

.l-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.l-flex--row-reverse {
  flex-direction: row-reverse;
}

.l-centering {
  margin: 0 auto;
  text-align: center;
}

/* パンくず
/*+---------------------------------*/
.c-topicPath {
  display: none;
}

@media screen and (min-width: 960px) {
  .c-topicPath {
    display: block;
    margin: 122px 0 74px;
  }
}

.c-topicPath__item {
  display: inline-block;
  font-size: 0.75rem;
}

.c-topicPath__item:not(:last-of-type):after {
  display: inline;
  content: '＞';
  margin: 0 0 0 5px;
}

.c-topicPath__item a {
  color: #323232;
  transition: color .3s ease;
}

.c-topicPath__item a:hover {
  color: #ff9400;
  text-decoration: underline;
}

/* header
/*+---------------------------------*/
.c-contentHeader {
  margin: 110px 0 40px;
  text-align: center;
}

@media screen and (min-width: 960px) {
  .c-contentHeader {
    margin: 0 0 104px;
  }
}

.c-contentHeader--underlayer {
  text-align: left;
}

@media screen and (min-width: 960px) {
  .c-contentHeader--underlayer {
    margin: 0 0 60px;
  }
}

.c-contentHeader--aside {
  margin: 120px 0 40px;
}

@media screen and (min-width: 960px) {
  .c-contentHeader--aside {
    margin: 56px 0;
  }
}

/* 見出し
/*+---------------------------------*/
/* --- 見出しA --- */
.c-headingA {
  margin-bottom: 30px;
}

@media screen and (min-width: 960px) {
  .c-headingA {
    margin-bottom: 28px;
  }
}

.c-headingA--underlayer2 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}

.c-headingA--underlayer3 {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: baseline;
  justify-content: center;
}

.c-headingA__chewy {
  display: block;
  font-family: "chewy", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 4.375rem;
  line-height: 1.33;
  margin-inline: -30px;
}

.c-headingA__chewy .-color-orange {
  color: #ff9400;
}

.c-headingA__chewy .-size-small {
  font-size: 1.625rem;
}

.c-headingA--underlayer2 .c-headingA__chewy {
  font-size: 3.25rem;
  margin-inline: 0;
}

.c-headingA--underlayer2 .c-headingA__chewy + .c-headingA__ruby {
  margin-left: 4px;
  transform: translateY(-5px);
}

.c-headingA--underlayer3 .c-headingA__chewy {
  font-size: 3.5rem;
  margin-inline: 0;
}

@media screen and (min-width: 960px) {
  .c-headingA__chewy {
    font-size: 8.75rem;
    margin-inline: 0;
  }
  .c-headingA__chewy .-size-small {
    font-size: 2.25rem;
  }
  .c-headingA__chewy + .c-headingA__ruby {
    margin-top: 5px;
  }
  .c-headingA--underlayer2 .c-headingA__chewy {
    font-size: 6.5rem;
  }
  .c-headingA--underlayer2 .c-headingA__chewy + .c-headingA__ruby {
    margin-left: 12px;
    transform: translateY(-5px);
  }
  .c-headingA--underlayer3 .c-headingA__chewy {
    font-size: 4.75rem;
  }
  .c-headingA--underlayer3 .c-headingA__chewy + .c-headingA__ruby {
    transform: translateY(-8px);
  }
}

.c-headingA__ruby {
  display: inline-block;
  border-radius: 10px;
  margin: 5px 0 0;
  padding: 4px 14px;
  background-color: #323232;
  color: #fff;
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: .2em;
  vertical-align: bottom;
}

@media screen and (min-width: 960px) {
  .c-headingA__ruby {
    margin: 20px 0 0;
    border-radius: 13px;
    padding: 4px 18px 6px;
    font-size: 1rem;
    vertical-align: bottom;
  }
}

/* --- 見出しB --- */
.c-headingB {
  margin: 0 0 10px;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
}

@media screen and (min-width: 960px) {
  .c-headingB {
    margin: 0 0 40px;
    font-size: 2.25rem;
    line-height: 1.33;
  }
}

.c-headingB--underline strong {
  display: inline-block;
  margin: 0 0 7px;
  padding: 0 0 3px;
  background-color: #ffc600;
  line-height: 1;
}

/* --- 見出しC --- */
.c-headingC, .c-article h3:not([class]) {
  font-weight: 700;
  line-height: 1.33;
}

@media screen and (min-width: 960px) {
  .c-headingC, .c-article h3:not([class]) {
    margin: 0 0 44px;
    font-size: 1.5rem;
  }
}

.c-headingC.-align-left, .c-article h3.-align-left:not([class]) {
  text-align: left;
}

.c-headingC.-align-center, .c-article h3.-align-center:not([class]) {
  text-align: center;
}

.c-headingC--underline {
  display: inline-block;
  margin: 0 0 24px;
  border-bottom: 2px solid #ff9400;
  padding: 0 0 6px;
}

/* --- 検索ボックス用見出し --- */
.c-headingSearch {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: baseline;
}

* + .c-headingSearch {
  margin-top: 32px;
}

.c-searchArea__areaClose .c-headingSearch {
  margin-top: 10px;
}

@media screen and (min-width: 640px) {
  .c-headingSearch {
    gap: 14px;
  }
  .c-searchArea__areaClose .c-headingSearch {
    margin-top: 0;
  }
  * + .c-headingSearch {
    margin-top: 40px;
  }
}

.c-headingSearch__chewy {
  font-family: "chewy", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
}

.c-headingSearch__chewy .-color-orange {
  color: #ff9400;
}

@media screen and (min-width: 640px) {
  .c-headingSearch__chewy {
    font-size: 3rem;
  }
}

.c-headingSearch__ruby {
  font-size: 0.75rem;
  font-weight: bold;
  letter-spacing: 3px;
}

@media screen and (min-width: 640px) {
  .c-headingSearch__ruby {
    font-size: 1rem;
  }
}

/* --- テキスト画像 --- */
/* プロジェクト */
.c-headingText--project-index {
  display: block;
  margin: 0 auto;
}

@media screen and (min-width: 960px) {
  .c-headingText--project-index {
    width: 397px;
  }
}

.c-headingText--project-top {
  display: inline-block;
  margin: 0 7px 0 0;
}

@media screen and (min-width: 960px) {
  .c-headingText--project-top {
    margin: 0 14px 0 0;
    width: 298px;
  }
}

.c-headingText--relatedProject {
  display: block;
  margin: 0 auto 10px;
}

@media screen and (min-width: 960px) {
  .c-headingText--relatedProject {
    display: inline-block;
    margin: 0 20px 0 0;
    width: 321px;
  }
}

.c-headingText--relatedNews {
  display: block;
  margin: 0 auto 24px;
}

@media screen and (min-width: 960px) {
  .c-headingText--relatedNews {
    display: inline-block;
    margin: 0 20px 0 0;
    width: 268px;
  }
}

.c-headingText--contact {
  margin: 0 10px 0 0;
}

@media screen and (min-width: 960px) {
  .c-headingText--contact {
    margin: 0 20px 0 0;
    width: 318px;
  }
}

.c-headingText--news-index {
  display: block;
  margin: 0 auto 8px;
}

@media screen and (min-width: 960px) {
  .c-headingText--news-index {
    margin: 0 auto 28px;
    width: 293px;
  }
}

.c-headingText--news {
  margin: 0 16px 0 0;
}

@media screen and (min-width: 960px) {
  .c-headingText--news {
    width: 219px;
  }
}

.c-headingText--about {
  margin: 0 18px 0 0;
}

@media screen and (min-width: 960px) {
  .c-headingText--about {
    width: 368px;
  }
}

/* ナビゲーション
/*+---------------------------------*/
.c-categoryNavigation {
  margin: 0 auto 60px;
  border-radius: 10px;
  padding: 24px 30px 8px;
  background-color: #fff;
}

@media screen and (min-width: 960px) {
  .c-categoryNavigation {
    margin: 0 auto 120px;
    padding: 42px 30px 26px;
    max-width: 1200px;
  }
}

.c-categoryNavigation__list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
}

@media screen and (min-width: 960px) {
  .c-categoryNavigation__list {
    justify-content: center;
  }
}

.c-categoryNavigation__listItem {
  margin: 0 16px 16px 0;
  width: auto;
}

@media screen and (min-width: 960px) {
  .c-categoryNavigation__listItem {
    margin: 0 0 16px;
  }
}

.c-categoryNavigation__link {
  display: block;
  color: #323232;
  transition: color .3s ease;
}

.c-categoryNavigation__link[aria-current="true"] {
  border-bottom: 2px solid #ff9400;
  color: #ff9400;
}

.c-categoryNavigation__link:hover {
  color: #ff9400;
}

@media screen and (min-width: 960px) {
  .c-categoryNavigation__link {
    margin: 0 16px;
    padding: 2px 6px;
    font-size: 1.125rem;
    font-weight: 700;
  }
}

/* テキスト
/*+---------------------------------*/
.c-text {
  font-size: 0.8125rem;
  line-height: 2;
}

.c-text strong {
  font-size: 1.125em;
}

@media screen and (min-width: 640px) {
  .c-text {
    font-size: 0.875rem;
  }
}

.c-text--large {
  font-size: 0.8125rem;
  line-height: 2.3;
}

@media screen and (min-width: 640px) {
  .c-text--large {
    font-size: 1rem;
  }
}

.c-lead {
  margin: 0 0 32px;
  font-weight: 700;
  line-height: 1.6;
}

@media screen and (min-width: 640px) {
  .c-lead {
    margin: 0 0 40px;
    font-size: 1.5rem;
  }
}

/* 画像
/*+---------------------------------*/
.c-figure {
  border-radius: 20px;
}

/* リスト
/*+---------------------------------*/
/* --- 通常リスト --- */
.c-list {
  font-size: 0.75rem;
  line-height: 1.7;
}

@media screen and (min-width: 640px) {
  .c-list {
    font-size: 0.875rem;
  }
}

/* 順序リスト */
.c-list--order {
  counter-reset: listCounter;
}

.c-list--order > li {
  position: relative;
  padding: 0 0 0 20px;
}

.c-list--order > li:before {
  counter-increment: listCounter;
  content: counters(listCounter, ".") ".";
  position: absolute;
  top: 0;
  left: 0;
}

.c-list--order > li:not(:last-child) {
  margin: 0 0 8px;
}

@media screen and (min-width: 640px) {
  .c-list--order > li {
    padding: 0 0 0 28px;
    font-size: 0.875rem;
  }
}

/* --- ボタンリスト --- */
.c-buttonList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 787px;
}

.c-buttonList > li {
  margin: 0 0 20px;
  width: 100%;
}

@media screen and (min-width: 960px) {
  .c-buttonList > li {
    margin: 0 0 40px;
    width: 45.10801%;
  }
}

/* ボタン
/*+---------------------------------*/
/* --- 楕円のボタン --- */
.c-buttonA, .c-article .wp-block-button__link {
  display: block;
  position: relative;
  z-index: 0;
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
  margin: 0 auto;
  border-radius: 32px;
  padding: 19px 30px;
  width: 100%;
  max-width: 355px;
  background-color: #323232;
  color: #fff;
  font-family: "Noto Sans JP", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  font-weight: bold\0;
  text-align: center;
  transition: box-shadow .3s ease, background-color .3s ease, transform .3s ease;
}

.c-buttonA:after, .c-article .wp-block-button__link:after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 7px);
  right: 14px;
  width: 9px;
  height: 14px;
  background-image: url(../img/common/arrow-right-orange.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

.c-buttonA:hover, .c-article .wp-block-button__link:hover {
  box-shadow: 0 0 0 0;
  background-color: #ff9400;
  transform: translateY(10%);
}

.c-buttonA:hover:after, .c-article .wp-block-button__link:hover:after {
  background-image: url(../img/common/arrow-right-white.svg);
}

@media screen and (min-width: 640px) {
  .c-buttonA, .c-article .wp-block-button__link {
    min-width: 240px;
  }
}

@media screen and (min-width: 1440px) {
  .c-buttonA, .c-article .wp-block-button__link {
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.3);
    border-radius: 32px;
    padding: 24px 40px;
    font-size: 1.125rem;
  }
}

@media screen and (min-width: 960px) {
  .c-buttonA--textLarge {
    padding: 20px 40px;
    font-size: 1.125rem;
  }
}

.c-buttonA--back {
  padding: 17px 30px 20px;
}

.c-buttonA--back:after {
  right: initial;
  left: 14px;
  background-image: url(../img/common/arrow-left-orange.svg);
}

.c-buttonA--back:hover:after {
  background-image: url(../img/common/arrow-left-white.svg);
}

@media screen and (min-width: 1440px) {
  .c-buttonA--back {
    padding: 21px 40px 25px;
  }
}

/* --- 下線タイプのボタン --- */
.c-buttonB {
  display: inline-block;
  position: relative;
  z-index: 0;
  padding: 0 47px 14px 0;
  color: #323232;
  font-size: 0.625rem;
  letter-spacing: .1em;
}

.c-buttonB:before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background-color: #323232;
}

.c-buttonB:after {
  content: '';
  display: block;
  position: absolute;
  top: 2px;
  right: 0;
  width: 15px;
  height: 5px;
  background-image: url(../img/common/arrow2-right-black.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

.c-buttonB:hover:before {
  animation: hoverButtonB--underline .4s ease;
}

.c-buttonB:hover:after {
  animation: hoverButtonB--arrow .4s ease;
}

@media screen and (min-width: 960px) {
  .c-buttonB {
    font-size: 0.875rem;
  }
  .c-buttonB:before {
    height: 3px;
  }
  .c-buttonB:after {
    width: 20px;
    height: 7px;
  }
}

/* --- 丸ボタン --- */
.c-buttonCircle {
  display: block;
  position: relative;
  z-index: 0;
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  width: 48px;
  height: 48px;
  background-color: #323232;
  color: #fff;
  overflow: hidden;
  text-align: center;
  text-indent: 100%;
  transition: box-shadow .3s ease, background-color .3s ease, transform .3s ease;
  white-space: nowrap;
}

.c-buttonCircle:after {
  content: '';
  display: block;
  position: absolute;
  top: calc(50% - 3px);
  right: calc(50% - 7px);
  width: 14px;
  height: 9px;
  background-image: url(../img/common/arrow-bottom-orange.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

.c-buttonCircle:hover,
.c-buttonCircle__wrapper:hover .c-buttonCircle {
  background-color: #ff9400;
}

.c-buttonCircle:hover:after,
.c-buttonCircle__wrapper:hover .c-buttonCircle:after {
  background-image: url(../img/common/arrow-bottom-white.svg);
}

@media screen and (min-width: 1440px) {
  .c-buttonCircle {
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.3);
    font-size: 1.125rem;
  }
}

/* 画像
/*+---------------------------------*/
.c-figure {
  border-radius: 20px;
}

/* リンク
/*+---------------------------------*/
.c-link {
  color: #fd9800;
}

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

.c-banner {
  display: block;
}

.c-banner img {
  width: 100%;
}

.c-iconLink {
  display: block;
  transition: opacity .3s ease, transform .3s ease;
}

.c-iconLink:hover {
  opacity: .6;
  transform: rotateY(360deg);
}

/* ボックス
/*+---------------------------------*/
/* --- 線のボックス --- */
.c-borderBox {
  border: 1px solid #cccccc;
  border-radius: 20px;
  padding: 20px 16px;
}

@media screen and (min-width: 960px) {
  .c-borderBox {
    padding: 30px 48px;
  }
}

/* --- カード型レイアウト --- */
.c-card {
  display: block;
  color: #323232;
}

.c-card.c-card--new {
  position: relative;
}

.c-card.c-card--new:after {
  display: block;
  content: '';
  position: absolute;
  z-index: 0;
  top: -20px;
  left: -20px;
  width: 82px;
  height: 60px;
  background-image: url(../img/common/icon-new.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

@media screen and (min-width: 960px) {
  .c-card.c-card--new:after {
    width: 109px;
    height: 80px;
  }
}

.c-card__image {
  margin: 0 0 23px;
  box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.3);
  border-radius: 20px;
  padding-top: 100%;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transition: box-shadow .3s ease, transform .3s ease;
}

.c-card:hover .c-card__image {
  box-shadow: none;
  transform: translateY(10px);
}

@media screen and (min-width: 960px) {
  .c-card__image {
    margin: 0 0 36px;
  }
}

.c-card__heading {
  position: relative;
  margin-bottom: 14px;
  padding: 0 0 12px;
  font-size: 0.9375rem;
  font-weight: 700;
  font-weight: bold\0;
  line-height: 1.33;
  transition: color .3s ease;
}

.c-card__heading:before {
  display: block;
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #323232;
}

.c-card__heading:after {
  display: block;
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ff9400;
  transform: scaleX(0);
  transform-origin: center left;
  transition: transform .3s ease;
}

.c-card:hover .c-card__heading {
  color: #ff9400;
}

.c-card:hover .c-card__heading:after {
  transform: scaleX(1);
}

@media screen and (min-width: 960px) {
  .c-card__heading {
    padding: 0 0 22px;
    font-size: 1.125rem;
  }
}

.c-card__heading2 {
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.33;
  transition: color .3s ease;
}

.c-card:hover .c-card__heading2 {
  color: #ff9400;
}

@media screen and (min-width: 960px) {
  .c-card__heading2 {
    font-size: 1.125rem;
  }
}

.c-newsDate {
  display: block;
  margin: 0 0 10px;
  font-size: 0.9375rem;
  font-family: "Lato", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  transition: color .3s ease;
}

.c-card:hover .c-newsDate {
  color: #ff9400;
}

@media screen and (min-width: 960px) {
  .c-newsDate {
    font-size: 1rem;
  }
}

.c-newsDate--article {
  margin: 0 0 0 18px;
}

.c-card__text {
  font-size: 0.8125rem;
  line-height: 1.6;
  transition: color .3s ease;
  margin-bottom: 12px;
}

.c-card:hover .c-card__text {
  color: #ff9400;
}

@media screen and (min-width: 960px) {
  .c-card__text {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.c-card__category-wrap {
  display: flex;
  gap: 8px 12px;
  flex-wrap: wrap;
}

.c-newsCategory {
  color: #ff9400;
  font-size: 0.8125rem;
  font-weight: 700;
  font-weight: bold\0;
}

@media screen and (min-width: 960px) {
  .c-newsCategory {
    font-size: 0.875rem;
    line-height: 1.5;
  }
}

.c-newsCategory + .c-newsCategory {
  margin-left: 8px;
}

/* --- 幅広カード型レイアウト --- */
.c-wideCard {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  color: #323232;
  padding-inline: 10px;
}

.c-wideCard.c-wideCard--new {
  position: relative;
}

.c-wideCard.c-wideCard--new:after {
  display: block;
  content: '';
  position: absolute;
  z-index: 0;
  top: -20px;
  left: -20px;
  width: 82px;
  height: 60px;
  background-image: url(../img/common/icon-new.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

@media screen and (min-width: 960px) {
  .c-wideCard.c-wideCard--new:after {
    width: 109px;
    height: 80px;
  }
}

@media screen and (min-width: 640px) {
  .c-wideCard {
    flex-direction: row;
    padding-inline: 0;
  }
}

.c-wideCard__image {
  box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.2);
  border-radius: 20px;
  width: 100%;
  overflow: hidden;
  transition: box-shadow .3s ease, transform .3s ease;
}

.c-wideCard__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 1 /1;
}

.c-wideCard:hover .c-wideCard__image {
  box-shadow: none;
  transform: translateY(10px);
}

@media screen and (min-width: 640px) {
  .c-wideCard__image {
    width: calc(50% - 20px);
  }
}

.c-wideCard__caption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding-inline: 20px;
  width: 100%;
}

@media screen and (min-width: 640px) {
  .c-wideCard__caption {
    gap: 24px;
    padding-inline: 0;
    width: calc(50% - 20px);
  }
}

.c-wideCard__name {
  font-size: 1.5rem;
  font-weight: 700;
  transition: color .3s ease;
}

.c-wideCard:hover .c-wideCard__name {
  color: #ff9400;
}

@media screen and (min-width: 640px) {
  .c-wideCard__name {
    font-size: 1.5rem;
  }
}

.c-wideCard__area-list {
  padding-top: 6px;
}

.c-wideCard__area {
  background-color: #323232;
  border-radius: 14px;
  color: #ffffff;
  display: inline-block;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.6;
  margin-right: 8px;
  margin-bottom: 6px;
  padding-inline: 16px;
  transition: background-color .3s ease;
}

.c-wideCard:hover .c-wideCard__area {
  background-color: #ff9400;
}

@media screen and (min-width: 640px) {
  .c-wideCard__area {
    font-size: 1rem;
    line-height: 1.56;
  }
}

.c-wideCard__text {
  font-size: 0.8125rem;
  line-height: 1.6;
  transition: color .3s ease;
}

.c-wideCard:hover .c-wideCard__text {
  color: #ff9400;
}

@media screen and (min-width: 640px) {
  .c-wideCard__text {
    font-size: 1rem;
    line-height: 1.6;
  }
}

/* リスト
/*+---------------------------------*/
.c-cardList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 40px;
}

@media screen and (min-width: 480px) {
  .c-cardList {
    max-width: 494px;
  }
}

@media screen and (min-width: 960px) {
  .c-cardList {
    margin-bottom: 0;
    max-width: 1400px;
  }
}

.c-cardList__item {
  margin: 0 0 54px;
  width: 100%;
}

@media screen and (max-width: 959px) {
  .c-cardList__item:last-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 960px) {
  .c-cardList__item {
    margin: 0 2.78571% 56px 0;
    width: 22.85714%;
  }
  .c-cardList__item:nth-child(4n) {
    margin-right: 0;
  }
}

.c-wideCardList {
  display: flex;
  flex-wrap: wrap;
  gap: 64px 40px;
  margin: 0 auto 40px;
}

@media screen and (min-width: 960px) {
  .c-wideCardList {
    margin-bottom: 0;
    max-width: 1400px;
  }
}

.c-wideCardList__item {
  width: 100%;
}

@media screen and (min-width: 960px) {
  .c-wideCardList__item {
    width: calc(50% - 20px);
  }
}

.c-bannerList {
  display: flex;
  flex-wrap: wrap;
}

.c-bannerList__item {
  margin: 0 3.80952% 13px 0;
  width: 47.93651%;
}

@media screen and (max-width: 479px) {
  .c-bannerList__item:nth-child(2n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 480px) {
  .c-bannerList__item {
    margin: 0 19px 20px 0;
    width: calc((100% - (20px * 2)) / 3);
  }
}

@media screen and (min-width: 480px) and (max-width: 959px) {
  .c-bannerList__item:nth-child(3n) {
    margin-right: 0;
  }
}

@media screen and (min-width: 960px) {
  .c-bannerList__item {
    margin: 0 1.72727% 20px 0;
    width: 23.63636%;
  }
  .c-bannerList__item:nth-child(4n) {
    margin-right: 0;
  }
}

/* ページャー
/*+---------------------------------*/
.c-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 60px 0 0;
}

@media screen and (min-width: 960px) {
  .c-pager {
    margin: 120px 0 0;
  }
}

ul.page-numbers {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

ul.page-numbers > li:not(:last-child) {
  margin-right: 28px;
}

ul.page-numbers > li:first-child, ul.page-numbers > li:nth-last-child(2) {
  margin-right: 32px;
}

@media screen and (min-width: 960px) {
  ul.page-numbers > li:not(:last-child) {
    margin-right: 40px;
  }
  ul.page-numbers > li:first-child, ul.page-numbers > li:nth-last-child(2) {
    margin-right: 48px;
  }
}

a.page-numbers, span.page-numbers {
  display: block;
  color: #808080;
  font-size: 1.5rem;
  font-weight: 700;
  transition: color .3s ease;
}

a.page-numbers path, span.page-numbers path {
  fill: #323232;
  fill-rule: evenodd;
  transition: fill .3s ease;
}

a.page-numbers.current, span.page-numbers.current {
  color: #ff9400;
  cursor: default;
  pointer-events: none;
}

a.page-numbers:hover, span.page-numbers:hover {
  color: #ff9400;
}

a.page-numbers:hover path, span.page-numbers:hover path {
  fill: #ff9400;
}

/* SNSシェア
/*+---------------------------------*/
.c-sns {
  margin: 60px 0 0;
}

@media screen and (min-width: 960px) {
  .c-sns {
    margin: 120px 0 0;
  }
}

.c-sns__heading {
  margin: 0 0 30px;
  width: 100%;
  text-align: center;
}

.c-sns__list {
  display: flex;
  justify-content: center;
}

.c-sns__listItem:not(:last-child) {
  margin: 0 32px 0 0;
}

/* アイコン
/*+---------------------------------*/
.c-icon--blank {
  margin: 0 5px 0 3px;
}

/* フォームパーツ
/*+---------------------------------*/
.c-input {
  display: block;
  border-radius: 20px;
  border: 1px solid #cccccc;
  padding: 12px 16px;
  width: 100%;
  color: #323232;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.c-input::-moz-placeholder {
  color: #cccccc;
}

.c-input::placeholder {
  color: #cccccc;
}

@media screen and (min-width: 960px) {
  .c-input {
    padding: 22px 30px;
    font-size: 1.5rem;
  }
}

/* --- ラジオボタン --- */
.c-radio {
  margin: 12px 0;
}

@media screen and (min-width: 960px) {
  .c-radio {
    margin: 14px 0 28px 18px;
  }
  #js-contactForm.is-confirmation .c-radio {
    margin: 14px 0 28px 0;
  }
}

.c-radio__item {
  position: relative;
  z-index: 0;
}

.c-radio__input {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.c-radio__label {
  display: block;
  position: relative;
  z-index: 0;
  padding: 0 0 0 28px;
  color: #323232;
  cursor: pointer;
  font-family: "Noto Sans JP", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1rem;
  line-height: 1.33;
}

.c-radio__label:before {
  display: block;
  content: '';
  position: absolute;
  top: 3px;
  left: 0;
  border: 1px solid #cccccc;
  border-radius: 100%;
  width: 16px;
  height: 16px;
  background-color: #fff;
}

.c-radio__label:after {
  display: none;
  content: '';
  position: absolute;
  top: 6px;
  left: 3px;
  border-radius: 100%;
  width: 12px;
  height: 12px;
  background-color: #ffc600;
}

.c-radio__input:checked + .c-radio__label:after {
  display: block;
}

.c-radio__input:disabled + .c-radio__label {
  opacity: .35;
  cursor: default;
}

@media screen and (min-width: 960px) {
  .c-radio__label {
    padding: 0 0 0 36px;
    font-size: 1.5rem;
  }
  .c-radio__label:before {
    top: 7px;
    width: 20px;
    height: 20px;
  }
  .c-radio__label:after {
    top: 11px;
    left: 4px;
    width: 14px;
    height: 14px;
  }
}

/* --- テキストエリア --- */
.c-textarea {
  display: block;
  border: 1px solid #cccccc;
  border-radius: 20px;
  padding: 12px 16px;
  width: 100%;
  min-height: 200px;
  background-color: transparent;
  color: #323232;
  font-family: "Noto Sans JP", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.125rem;
  line-height: 1.33;
}

.c-textarea::-moz-placeholder {
  color: #cccccc;
}

.c-textarea::placeholder {
  color: #cccccc;
}

@media screen and (min-width: 960px) {
  .c-textarea {
    padding: 22px 30px;
    min-height: 300px;
    font-size: 1.5rem;
  }
}

/* 詳細記事
/*+---------------------------------*/
/* 記事header */
.c-article__header {
  margin: 0 0 32px;
}

@media screen and (min-width: 960px) {
  .c-article__header {
    margin: 0 0 40px;
  }
}

.c-article__data {
  display: flex;
  align-items: center;
  margin: 0 0 17px;
}

@media screen and (max-width: 959px) {
  .c-article__heading {
    margin: 0 0 30px;
  }
}

/* 記事MV */
.c-article__mainVisual {
  margin: 0 0 30px;
  text-align: center;
}

.c-article__mainVisual img {
  border-radius: 20px;
}

@media screen and (min-width: 960px) {
  .c-article__mainVisual {
    margin: 0 0 40px;
  }
}

.c-article__lead p {
  font-size: 0.9375rem;
  line-height: 2;
}

@media screen and (min-width: 640px) {
  .c-article__lead p {
    font-size: 0.875rem;
  }
}

.c-article__subheading, .c-article h3:not([class]) {
  margin: 20px 0;
  line-height: 1.4;
  font-size: 1.125rem;
}

@media screen and (min-width: 959px) {
  .c-article__subheading, .c-article h3:not([class]) {
    margin: 28px 0;
    font-size: 1.5rem;
    line-height: 2;
  }
}

.c-article__category {
  display: block;
  margin: 0 0 16px;
  border-radius: 32px;
  padding: 8px;
  min-width: 144px;
  background-color: #ffc600;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  font-size: 1.125rem;
  text-align: center;
  line-height: 1.25;
}

@media screen and (min-width: 640px) {
  .c-article__category {
    display: inline-block;
    margin: 0 16px 0 0;
    padding: 12px;
    min-width: 190px;
  }
}

@media screen and (min-width: 960px) {
  .c-article__category {
    font-size: 1.5rem;
  }
}

.c-article__row {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  margin: 0 0 60px;
}

@media screen and (min-width: 960px) {
  .c-article__row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 70px;
  }
}

@media screen and (min-width: 960px) {
  .c-article__row--reverse {
    flex-direction: row-reverse;
  }
}

.c-article__column {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  margin: 0 0 60px;
}

@media screen and (min-width: 960px) {
  .c-article__column {
    margin: 0 0 70px;
  }
}

.c-article__column--reverse {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  margin: 0 0 60px;
}

@media screen and (min-width: 960px) {
  .c-article__column--reverse {
    margin: 0 0 70px;
  }
}

.c-article__column2 {
  margin-block: 32px 40px;
}

.c-article__column2,
.c-article__column2 > .lazyblock-inner-blocks {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: start;
  gap: 16px;
  width: 100%;
}

.c-article__column2 > *:not(.lazyblock-inner-blocks),
.c-article__column2 > .lazyblock-inner-blocks > * {
  width: calc(100%);
}

@media screen and (min-width: 960px) {
  .c-article__column2,
  .c-article__column2 > .lazyblock-inner-blocks {
    flex-direction: row;
    gap: 40px;
  }
  .c-article__column2 > *:not(.lazyblock-inner-blocks),
  .c-article__column2 > .lazyblock-inner-blocks > * {
    width: calc(50% - 20px);
  }
}

.c-article__column3 {
  margin-block: 32px 40px;
}

.c-article__column3,
.c-article__column3 > .lazyblock-inner-blocks {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: start;
  gap: 16px;
  width: 100%;
}

.c-article__column3 > *:not(.lazyblock-inner-blocks),
.c-article__column3 > .lazyblock-inner-blocks > * {
  width: calc(100%);
}

@media screen and (min-width: 960px) {
  .c-article__column3,
  .c-article__column3 > .lazyblock-inner-blocks {
    flex-direction: row;
    gap: 40px;
  }
  .c-article__column3 > *:not(.lazyblock-inner-blocks),
  .c-article__column3 > .lazyblock-inner-blocks > * {
    width: calc((100% - 80px) / 3);
  }
}

.c-article__linkbox *,
.c-article__linkbox a {
  color: #323232;
  transition: color ease .3s;
}

.c-article__linkbox img {
  box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.3);
  transition: box-shadow .3s ease, transform .3s ease;
}

.c-article__linkbox:hover *,
.c-article__linkbox:hover a {
  color: #ff9400;
}

.c-article__linkbox:hover img {
  box-shadow: none;
  transform: translateY(10px);
}

.c-article__caption {
  width: 100%;
}

.c-article__caption p {
  font-size: 0.875rem;
  line-height: 2;
}

.c-article__caption.-align-center {
  text-align: center;
}

@media screen and (min-width: 959px) {
  .c-article__caption p {
    font-size: 0.9375rem;
  }
}

@media screen and (min-width: 960px) {
  .c-article__caption--w560 {
    width: 46.66667%;
  }
}

.c-article__figure {
  margin: 0 0 34px;
  height: 100%;
  text-align: center;
}

.c-article__caption + .c-article__figure {
  margin-top: 34px;
}

@media screen and (min-width: 960px) {
  .c-article__figure {
    margin: 0 0 40px;
  }
  .c-article__caption + .c-article__figure {
    margin-top: 40px;
  }
}

@media screen and (min-width: 960px) {
  .c-article__figure--w600 {
    margin: 0;
    width: 50%;
  }
}

.c-article__figcaption {
  background-color: #f6f2e9;
  border-radius: 20px;
  display: block;
  margin-inline: auto;
}

.c-article__figcaption img {
  display: block;
  margin-inline: auto;
}

.c-article__figcaption figcaption {
  padding: 10px;
  font-size: 0.875rem;
  font-weight: bold;
  line-height: 1.6;
  text-align: center;
  max-width: 100%;
}

@media screen and (min-width: 640px) {
  .c-article__figcaption figcaption {
    padding: 12px 20px 16px;
  }
}

.c-article__aside {
  margin: 0 0 60px;
}

@media screen and (min-width: 960px) {
  .c-article__aside {
    margin: 120px 0 56px;
  }
}

@media screen and (min-width: 960px) {
  .c-article__asideItem {
    margin: 0 0 60px 0;
    width: 30.76923%;
  }
  .c-article__asideItem:not(:nth-child(3n)) {
    margin: 0 3.84615% 60px 0;
  }
}

.c-article__footerButton {
  margin: 60px 0 0;
}

@media screen and (min-width: 640px) {
  .c-article__footerButton {
    margin: 120px 0 0;
  }
  .c-article__aside + .c-article__footerButton {
    margin: 60px 0 0;
  }
}

/* ブロックエディタのスタイル */
.c-article h4:not([class]) {
  margin: 1em 0;
  border-left: 8px solid #ffc600;
  padding: 1em;
  background-color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

@media screen and (min-width: 640px) {
  .c-article h4:not([class]) {
    font-size: 1.25rem;
  }
}

.c-article h5:not([class]) {
  position: relative;
  margin: 1em 0 1.25em;
  padding-bottom: 1em;
  border-bottom: 2px solid #ffc600;
  font-size: 1rem;
  line-height: 1.4;
}

.c-article h5:not([class]):before {
  position: absolute;
  bottom: -14px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #ffc600 transparent transparent transparent;
}

.c-article h5:not([class]):after {
  position: absolute;
  bottom: -10px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: #fffcf5 transparent transparent transparent;
}

@media screen and (min-width: 640px) {
  .c-article h5:not([class]) {
    font-size: 1.125rem;
  }
}

.c-article h6:not([class]) {
  display: inline-block;
  margin: 1em 0;
  border-bottom: 4px dotted #ffc600;
  padding: 0 0 .5em .5em;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
}

.c-article .wp-block-buttons {
  justify-content: center;
  margin: 20px 0 80px;
}

@media screen and (min-width: 640px) {
  .c-article .wp-block-buttons {
    margin: 40px 0 80px;
  }
}

.c-article p {
  font-size: 0.875rem;
  line-height: 2;
}

.c-article p strong {
  display: inline-block;
  margin: 1em 0;
  border-bottom: 4px dotted #ffc600;
  padding: 0 0 .5em;
  font-size: 1.2em;
  line-height: 1.4;
}

.c-article p + p {
  margin-top: 2em;
}

.c-article p + h4:not([class]) {
  margin-top: 3em;
}

@media screen and (min-width: 640px) {
  .c-article p {
    font-size: 0.9375rem;
  }
}

.c-article strong, .c-article b, .c-article em {
  font-weight: 700;
}

.c-article a:not([class]) {
  margin: 1em 0;
  color: #ff9400;
  line-height: 1.5;
}

.c-article a:not([class]):hover {
  text-decoration: underline;
}

.c-article a:not([class])[target="_blank"]:after {
  content: '';
  display: inline-block;
  margin: 0 5px 0 3px;
  width: 12px;
  height: 12px;
  background-image: url(../img/common/icon-blank.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

.c-article .wp-block-lazyblock-article-header,
.c-article .wp-block-lazyblock-article-header--no-lead {
  margin: 0 0 60px;
}

@media screen and (min-width: 640px) {
  .c-article .wp-block-lazyblock-article-header,
  .c-article .wp-block-lazyblock-article-header--no-lead {
    margin: 0 0 70px;
  }
}

.c-article .wp-block-lazyblock-article-section--right-photo,
.c-article .wp-block-lazyblock-article-section--left-photo,
.c-article .wp-block-lazyblock-article-section--center-photo,
.c-article .wp-block-lazyblock-article-section--right-photo--no-heading,
.c-article .wp-block-lazyblock-article-section--left-photo--no-heading,
.c-article .wp-block-lazyblock-article-section--center-photo--no-heading {
  margin: 28px 0;
}

.c-article .wp-block-lazyblock-article-section--right-photo .c-article__row, .c-article .wp-block-lazyblock-article-section--right-photo .c-article__column,
.c-article .wp-block-lazyblock-article-section--left-photo .c-article__row,
.c-article .wp-block-lazyblock-article-section--left-photo .c-article__column,
.c-article .wp-block-lazyblock-article-section--center-photo .c-article__row,
.c-article .wp-block-lazyblock-article-section--center-photo .c-article__column,
.c-article .wp-block-lazyblock-article-section--right-photo--no-heading .c-article__row,
.c-article .wp-block-lazyblock-article-section--right-photo--no-heading .c-article__column,
.c-article .wp-block-lazyblock-article-section--left-photo--no-heading .c-article__row,
.c-article .wp-block-lazyblock-article-section--left-photo--no-heading .c-article__column,
.c-article .wp-block-lazyblock-article-section--center-photo--no-heading .c-article__row,
.c-article .wp-block-lazyblock-article-section--center-photo--no-heading .c-article__column {
  margin: 0;
}

@media screen and (min-width: 640px) {
  .c-article .wp-block-lazyblock-article-section--right-photo,
  .c-article .wp-block-lazyblock-article-section--left-photo,
  .c-article .wp-block-lazyblock-article-section--center-photo,
  .c-article .wp-block-lazyblock-article-section--right-photo--no-heading,
  .c-article .wp-block-lazyblock-article-section--left-photo--no-heading,
  .c-article .wp-block-lazyblock-article-section--center-photo--no-heading {
    margin: 60px 0;
  }
}

.c-article .wp-block-lazyblock-article-subheading,
.c-article .wp-block-lazyblock-article-subheading--has-category {
  margin-top: 35px;
}

@media screen and (min-width: 640px) {
  .c-article .wp-block-lazyblock-article-subheading,
  .c-article .wp-block-lazyblock-article-subheading--has-category {
    margin-top: 70px;
  }
}

.c-article iframe:not([class]) {
  margin: 28px 0;
  width: 100% !important;
}

/* 検索ボックス
/*+---------------------------------*/
.c-searchArea {
  background: #ffffff;
  border-radius: 40px;
  box-shadow: 0 10px 20px 0 rgba(71, 58, 28, 0.15);
  margin-inline: -16px;
  padding: 40px 20px;
}

.c-searchArea + * {
  margin-top: 64px;
}

* + .c-searchArea {
  margin-top: 40px;
}

@media screen and (min-width: 960px) {
  .c-searchArea {
    border-radius: 50px;
    box-shadow: 0 20px 40px 0 rgba(71, 58, 28, 0.15);
    padding: 80px 60px;
  }
  .c-searchArea + * {
    margin-top: 120px;
  }
  * + .c-searchArea {
    margin-top: 115px;
  }
  .c-searchArea + .c-wideCardList {
    margin-top: 64px;
  }
}

@media screen and (min-width: 1560px) {
  .c-searchArea {
    margin-inline: -60px;
  }
}

.c-searchArea.-open .c-searchArea__areaClose {
  max-height: 0;
  opacity: 0;
  padding-bottom: 0;
  z-index: -1;
}

.c-searchArea.-open .c-searchArea__areaOpen {
  max-height: 10000px;
  opacity: 1;
  z-index: 1;
}

.c-searchArea .c-searchArea__areaClose {
  max-height: 10000px;
  opacity: 1;
  transition: all 0.5s;
  position: relative;
  z-index: 1;
  display: flex;
  gap: 6px;
  justify-content: center;
}

.c-searchArea .c-searchArea__areaClose > * {
  cursor: pointer;
}

@media screen and (min-width: 960px) {
  .c-searchArea .c-searchArea__areaClose {
    gap: 24px;
  }
}

.c-searchArea .c-searchArea__areaOpen {
  max-height: 0;
  opacity: 0;
  position: relative;
  transition: all 0.5s;
  z-index: -1;
}

.c-searchArea__topicsSearchLayout {
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.c-searchArea__topicsSearchLayout > * {
  width: 100%;
}

@media screen and (min-width: 960px) {
  .c-searchArea__topicsSearchLayout {
    flex-direction: row-reverse;
    gap: 40px;
  }
  .c-searchArea__topicsSearchLayout > *:nth-child(1) {
    width: 400px;
  }
  .c-searchArea__topicsSearchLayout > *:nth-child(2) {
    width: calc(100% - 436px);
  }
}

.c-searchMap {
  display: block;
  margin-inline: auto;
  text-align: center;
  max-width: 400px;
}

.c-searchFieldset {
  display: flex;
  flex-wrap: wrap;
  gap: 26px 12px;
}

* + .c-searchFieldset {
  margin-top: 20px;
}

@media screen and (min-width: 640px) {
  .c-searchFieldset {
    gap: 24px 36px;
  }
  * + .c-searchFieldset {
    margin-top: 24px;
  }
}

.c-searchInputCheck {
  display: inline-flex;
  justify-content: start;
  align-items: start;
  gap: 8px;
  cursor: pointer;
  width: auto;
}

.c-searchInputCheck input[type=checkbox] {
  display: inline-block;
  width: 24px;
  height: 24px;
  background-color: #f6f2e9;
  border: 1px solid #323232;
  border-radius: 4px;
  margin: 0;
}

.c-searchInputCheck input[type=checkbox]:checked {
  background: url(/community/ensen/assets/img/common/icon-check-black.svg) 5px 7px no-repeat #ff9400;
  border-color: #ff9400;
}

.c-searchInputCheck span {
  margin-top: 2px;
  max-width: calc(100% - 32px);
  line-height: 1.4;
  font-size: 0.875rem;
}

@media screen and (min-width: 640px) {
  .c-searchInputCheck {
    display: inline-flex;
    justify-content: start;
    align-items: center;
    gap: 8px;
    cursor: pointer;
  }
  .c-searchInputCheck input[type=checkbox] {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: #f6f2e9;
    border: 1px solid #323232;
    border-radius: 4px;
  }
  .c-searchInputCheck input[type=checkbox]:checked {
    background: url(/community/ensen/assets/img/common/icon-check-black.svg) 5px 7px no-repeat #ff9400;
    border-color: #ff9400;
  }
  .c-searchInputCheck span {
    margin-top: 0;
    font-size: 1rem;
  }
}

.c-searchInputText {
  display: block;
}

.c-searchInputText input[type=text] {
  width: 100%;
  background-color: #f6f2e9;
  border: 1px solid #323232;
  border-radius: 8px;
  font-size: 0.875rem;
  height: 46px;
  line-height: 46px;
  padding-inline: 16px;
}

* + .c-searchInputText {
  margin-top: 24px;
}

@media screen and (min-width: 640px) {
  .c-searchInputText input[type=text] {
    font-size: 1rem;
  }
  * + .c-searchInputText {
    margin-top: 28px;
  }
}

.c-searchButtonList {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 40px;
  justify-content: center;
}

@media screen and (min-width: 960px) {
  .c-searchButtonList {
    flex-direction: row;
    gap: 24px;
    margin-top: 64px;
  }
}

.c-searchButton {
  background: url(/community/ensen/assets/img/common/icon-search-orange.png) 16px 54% no-repeat #323232;
  background-size: 16px auto;
  border: 1px solid #323232;
  border-radius: 9999px;
  font-size: 0.875rem;
  padding: 12px 30px 14px;
  width: 268px;
}

.c-searchButton.-reset {
  background: url(/community/ensen/assets/img/common/icon-reset-orange.png) 16px 50% no-repeat #ffffff;
  background-size: 16px auto;
  color: #323232;
}

.c-searchButton::after {
  display: none;
}

@media screen and (min-width: 640px) {
  .c-searchButton {
    background-position: 22px 54%;
    background-size: 21px auto;
    border-width: 2px;
    font-size: 1.125rem;
    padding: 16px 30px 18px;
    width: 355px;
  }
  .c-searchButton:hover {
    background-color: #ff9400;
    background-image: url(/community/ensen/assets/img/common/icon-search-white.png);
    border-color: transparent;
  }
  .c-searchButton.-reset {
    background-position: 22px 50%;
    background-size: 22px auto;
  }
  .c-searchButton.-reset:hover {
    background-image: url(/community/ensen/assets/img/common/icon-reset-white.png);
    color: #ffffff;
  }
}

.c-searchAreaClose {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
  font-size: 0.875rem;
  font-weight: bold;
  margin: 16px auto;
  transition: color ease .3s;
}

.c-searchAreaClose:hover {
  color: #ff9400;
}

.c-searchAreaClose::before {
  content: "";
  display: block;
  width: 17px;
  height: 10px;
  background: url(/community/ensen/assets/img/common/arrow-top-orange.svg) 0 0 no-repeat;
  background-size: contain;
}

@media screen and (min-width: 640px) {
  .c-searchAreaClose {
    font-size: 1.125rem;
    gap: 14px;
    margin-top: 40px;
  }
  .c-searchAreaClose::before {
    width: 14px;
    height: 7px;
  }
}

.c-slider {
  position: relative;
}

.c-slider .swiper {
  overflow: visible;
}

.c-slider .swiper-slide {
  opacity: .6;
  transition: opacity ease .3s;
}

.c-slider .swiper-slide.swiper-slide-active {
  opacity: 1;
}

@media screen and (min-width: 640px) {
  .c-slider .swiper {
    overflow: hidden;
  }
  .c-slider .swiper-slide {
    opacity: 1;
  }
}

.c-slider .swiper-controller {
  margin-top: 24px;
  display: grid;
  grid-template-columns: 1fr 48px 48px 48px 1fr;
  grid-template-rows: 8px 48px;
  gap: 24px 8px;
}

.c-slider .swiper-pagination {
  grid-area: 1 / 1 / 2 / 6;
}

.c-slider .swiper-button-prev {
  grid-area: 2 / 2 / 3 / 3;
}

.c-slider .swiper-button-play-wrapper {
  grid-area: 2 / 3 / 3 / 4;
}

.c-slider .swiper-button-next {
  grid-area: 2 / 4 / 3 / 5;
}

@media screen and (min-width: 640px) {
  .c-slider .swiper-controller {
    margin-top: 54px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
  }
}

.c-slider .swiper-pagination {
  position: relative;
  width: auto;
  top: auto;
  bottom: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.c-slider .swiper-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 50%;
  background: #323232;
  opacity: 1;
  margin-inline: 0;
}

.c-slider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #ff9400;
  opacity: 1;
}

@media screen and (min-width: 960px) {
  .c-slider .swiper-pagination {
    height: 48px;
    gap: 24px;
  }
  .c-slider .swiper-pagination .swiper-pagination-bullet {
    width: 16px;
    height: 16px;
  }
}

.c-slider .swiper-button-next,
.c-slider .swiper-button-prev,
.c-slider .swiper-button-pause,
.c-slider .swiper-button-play {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  width: 48px;
  height: 48px;
  background: #323232 no-repeat;
  background-size: 10px auto;
  color: #ff9400;
  cursor: pointer;
  border: none;
  border-radius: 100%;
  margin-block: 0px;
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
  transition: box-shadow .3s ease, background-color .3s ease, transform .3s ease;
  white-space: nowrap;
}

.c-slider .swiper-button-next:hover,
.c-slider .swiper-button-prev:hover,
.c-slider .swiper-button-pause:hover,
.c-slider .swiper-button-play:hover {
  background-color: #ff9400;
}

.c-slider .swiper-button-next:focus,
.c-slider .swiper-button-prev:focus,
.c-slider .swiper-button-pause:focus,
.c-slider .swiper-button-play:focus {
  outline: 1px solid #101010;
}

.c-slider .swiper-button-prev {
  background-image: url(/community/ensen/assets/img/common/arrow-left-orange.svg);
  background-position: 50% 50%;
}

.c-slider .swiper-button-prev:hover {
  background-image: url(/community/ensen/assets/img/common/arrow-left-white.svg);
}

.c-slider .swiper-button-prev::after {
  content: "";
}

.c-slider .swiper-button-next {
  background-image: url(/community/ensen/assets/img/common/arrow-right-orange.svg);
  background-position: 50% 50%;
}

.c-slider .swiper-button-next:hover {
  background-image: url(/community/ensen/assets/img/common/arrow-right-white.svg);
}

.c-slider .swiper-button-next::after {
  content: "";
}

@media screen and (min-width: 640px) {
  .c-slider .swiper-button-prev,
  .c-slider .swiper-button-next {
    position: absolute;
    top: calc((100vw - 152px) / 4 - 24px);
    background-size: 10px auto;
  }
  .c-slider .swiper-button-prev {
    left: -18px;
  }
  .c-slider .swiper-button-next {
    right: -18px;
  }
  .c-slider .swiper-button-pause {
    margin-left: 0;
  }
}

@media screen and (min-width: 960px) {
  .c-slider .swiper-button-prev,
  .c-slider .swiper-button-next {
    position: absolute;
    top: calc((100vw - 248px) / 8 - 32px);
    width: 64px;
    height: 64px;
  }
  .c-slider .swiper-button-prev {
    left: 10px;
  }
  .c-slider .swiper-button-next {
    right: 10px;
  }
  .c-slider .swiper-button-pause {
    margin-left: 0;
  }
}

@media screen and (min-width: 1560px) {
  .c-slider .swiper-button-prev {
    left: -64px;
  }
  .c-slider .swiper-button-next {
    right: -64px;
  }
  .c-slider .swiper-button-prev,
  .c-slider .swiper-button-next {
    top: 128px;
  }
}

.c-slider .swiper-button-play-wrapper {
  display: flex;
  align-items: center;
}

.c-slider .swiper-button-play {
  background-color: url(/community/ensen/assets/img/top/icon_slider_play_blue.svg);
  background-position: 50% 50%;
}

.c-slider .swiper-button-play:hover {
  background-image: url(/community/ensen/assets/img/top/icon_slider_play_white.svg);
}

.c-slider .swiper-button-play::after {
  content: "";
}

.c-slider .swiper-button-play:disabled {
  display: none;
}

.c-slider .swiper-button-pause {
  background-image: url(/community/ensen/assets/img/common/icon-pause-orange.png);
  background-position: 50% 50%;
  background-size: 12px auto;
}

.c-slider .swiper-button-pause:hover {
  background-image: url(/community/ensen/assets/img/common/icon-pause-white.png);
}

.c-slider .swiper-button-pause::after {
  content: "";
}

.c-slider .swiper-button-pause:disabled {
  display: none;
}

@media screen and (min-width: 960px) {
  .c-slider .swiper-button-play,
  .c-slider .swiper-button-pause {
    width: 48px;
    height: 48px;
    background-size: 10px auto;
  }
}

/* ヘッダー
/*+---------------------------------*/
.p-header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  transform: translateY(0);
  transform-origin: bottom center;
  transition: transform .6s ease;
}

.p-header.is-hide {
  transform: translateY(-100%);
}

.p-header.is-open {
  overflow-x: hidden;
  overflow-y: scroll;
  height: 100%;
}

/* レイアウト */
.p-header__header {
  width: 100%;
  height: 50px;
  transition: background-color .3s ease;
}

.p-header.is-fixed .p-header__header, .p-header.is-open .p-header__header {
  position: relative;
  z-index: 1;
  box-shadow: 0 10px 20px 0 rgba(71, 58, 28, 0.15);
  background-color: #fffcf5;
}

@media screen and (min-width: 640px) {
  .p-header__header {
    height: 75px;
  }
}

@media screen and (min-width: 960px) {
  .p-header__header {
    height: 110px;
  }
}

.p-header__navigation {
  display: none;
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  padding: 50px 0 0;
  width: 100%;
  height: 100%;
  background-color: #ff9400;
}

@media screen and (min-width: 640px) {
  .p-header__navigation {
    padding: 75px 0 0;
  }
}

@media screen and (min-width: 1260px) {
  .p-header__navigation {
    display: block;
    z-index: 1;
    top: 0;
    left: 320px;
    padding: 0;
    width: calc(100% - 320px);
    background-color: transparent;
  }
}

@media screen and (min-width: 1440px) {
  .p-header__navigation {
    left: 463px;
    width: calc(100% - 463px);
  }
}

/* ロゴ */
.p-header-logo {
  display: flex;
  align-items: center;
  position: fixed;
  z-index: 10;
  top: 25px;
  left: 13px;
  transform: translateY(-50%);
}

.p-header-logo a {
  display: block;
  transition: opacity .3s ease;
}

.p-header-logo a:hover {
  opacity: .7;
}

@media screen and (min-width: 640px) {
  .p-header-logo {
    top: 35px;
  }
}

@media screen and (min-width: 960px) {
  .p-header-logo {
    top: 50px;
    left: 22px;
  }
}

.p-header-logo--nankai {
  display: block;
  margin: 0 1em 0 0;
}

.p-header-logo--nankai img {
  width: 39px;
}

@media screen and (min-width: 960px) {
  .p-header-logo--nankai img {
    width: 58px;
  }
}

@media screen and (min-width: 1440px) {
  .p-header-logo--nankai img {
    width: 78px;
  }
}

.p-header-logo--project {
  display: none;
}

.p-header-logo--project img {
  width: 174px;
}

@media screen and (min-width: 960px) {
  .p-header-logo--project img {
    width: 217px;
  }
}

@media screen and (min-width: 1440px) {
  .p-header-logo--project img {
    width: 349px;
  }
}

/* --- グローバルナビゲーション --- */
.p-globalNavigation {
  display: none;
  padding: 40px 0 80px;
}

.p-header.is-open .p-globalNavigation {
  display: block;
}

@media screen and (min-width: 1260px) {
  .p-globalNavigation {
    display: block;
    padding: 0;
  }
}

/* リスト */
@media screen and (min-width: 1260px) {
  .p-globalNavigation__list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-right: 10px;
    height: 110px;
  }
}

/* リンク */
.p-globalNavigation__link {
  display: block;
  padding: 24px 10px;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  font-weight: bold\0;
  text-align: center;
}

@media screen and (min-width: 1260px) {
  .p-globalNavigation__link {
    position: relative;
    z-index: 0;
    padding: 30px 15px 30px;
    color: #323232;
    font-size: 0.875rem;
    transition: color .3s ease;
  }
  .p-globalNavigation__link:after {
    content: '';
    display: block;
    position: absolute;
    top: calc(50% - 4px);
    right: 0;
    width: 2px;
    height: 8px;
    background-color: #dedcd6;
  }
  .p-globalNavigation__listItem:last-child .p-globalNavigation__link:after {
    content: none;
  }
  .p-globalNavigation__link:hover {
    color: #ff9400;
  }
}

@media screen and (min-width: 1440px) {
  .p-globalNavigation__link {
    padding: 30px 22px 30px 20px;
  }
}

#logo-note .logo-note__icon {
  fill-rule: evenodd;
  fill: #41c9b4;
}

#logo-note .logo-note__text {
  fill-rule: evenodd;
  fill: #fff;
}

@media screen and (min-width: 960px) {
  #logo-note .logo-note__text {
    fill: #323232;
    transition: fill .3s ease;
  }
  .p-globalNavigation__link:hover #logo-note .logo-note__text {
    fill: #ff9400;
  }
}

/* トリガー */
.p-globalNavigation-trigger {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 50px;
}

@media screen and (min-width: 640px) {
  .p-globalNavigation-trigger {
    width: 75px;
    height: 75px;
  }
}

@media screen and (min-width: 1260px) {
  .p-globalNavigation-trigger {
    display: none;
  }
}

.p-globalNavigation-trigger__icon {
  display: block;
  position: relative;
  z-index: 0;
  margin: 7px auto 5px;
  width: 18px;
  height: 1px;
  background-color: #323232;
}

.p-globalNavigation-trigger__icon:before {
  content: '';
  display: block;
  position: absolute;
  top: 5px;
  width: 100%;
  height: 1px;
  background-color: #323232;
  transition: transform .3s ease;
}

.p-globalNavigation-trigger__icon:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 5px;
  width: 100%;
  height: 1px;
  background-color: #323232;
  transition: transform .3s ease;
}

.p-header.is-open .p-globalNavigation-trigger__icon {
  background-color: transparent;
}

.p-header.is-open .p-globalNavigation-trigger__icon:before {
  top: 0;
  transform: rotate(135deg);
}

.p-header.is-open .p-globalNavigation-trigger__icon:after {
  bottom: 0;
  transform: rotate(-135deg);
}

@media screen and (min-width: 640px) {
  .p-globalNavigation-trigger__icon {
    margin: 10px auto 12px;
  }
  .p-globalNavigation-trigger__icon:before {
    top: 7px;
  }
  .p-globalNavigation-trigger__icon:after {
    bottom: 7px;
  }
}

.p-globalNavigation-trigger__label {
  font-family: "Lato", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  font-weight: bold\0;
}

@media screen and (min-width: 480px) {
  .p-globalNavigation-trigger__label {
    font-size: 0.75rem;
  }
}

/* フッターのwrap
/*+---------------------------------*/
.p-footer {
  display: flex;
  flex-direction: column-reverse;
  margin: 60px auto 0;
  padding: 0 18px;
  max-width: 1123px;
}

/* コピーライト
/*+---------------------------------*/
.s-copylight {
  display: block;
  padding: 21px 0 42px;
  width: 100%;
  font-size: 0.875rem;
  line-height: 1.45;
  text-align: center;
}

@media screen and (min-width: 960px) {
  .s-copylight {
    padding: 40px 0 60px;
    font-size: 1.1875rem;
  }
}

/* 画像
/*+---------------------------------*/
.p-footer__image {
  display: block;
  width: 100%;
  height: 100%;
}

/*　コンテンツの背景
/*+---------------------------------*/
.p-top-contents {
  overflow: hidden;
  position: relative;
  z-index: 0;
  background-color: #fffcf5;
  background-image: url(../img/top/bg-contents-sp.svg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}

.p-top-contents:before {
  display: block;
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fffcf5;
  width: 100%;
  height: 100%;
  transform: scaleY(0);
  transform-origin: bottom center;
  transition: transform 4.8s ease;
}

.p-top-contents:after {
  display: block;
  content: '';
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40vw;
  max-height: 720px;
  background-color: transparent;
  background-image: linear-gradient(0deg, #fffcf5 5%, rgba(255, 255, 255, 0) 70%);
}

.p-top-contents.is-hide:before {
  transform: scaleY(1);
}

@media screen and (min-width: 960px) {
  .p-top-contents {
    background-image: url(../img/top/bg-contents-pc.svg);
  }
  .p-top-contents:after {
    height: 45vw;
    max-height: 720px;
  }
}

/*　メインビジュアル
/*+---------------------------------*/
.p-top-mainVisual {
  position: relative;
  z-index: 0;
  margin: 50px auto 230px;
  padding: 0 15px;
  max-width: 1390px;
}

@media screen and (min-width: 480px) {
  .p-top-mainVisual {
    margin-bottom: 16.66667vw;
  }
}

@media screen and (min-width: 960px) {
  .p-top-mainVisual {
    margin: 112px auto 5.83333vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-mainVisual {
    margin-bottom: 56px;
  }
}

.p-top-mainvisual__inner {
  position: relative;
  z-index: 0;
}

/* --- ロゴ --- */
.p-top-mainVisual__logo {
  position: absolute;
  z-index: 1;
  top: 52%;
  left: 50%;
  width: 69.86667%;
  max-width: 526px;
  transform: translate(-50%, -50%);
}

@media screen and (min-width: 640px) {
  .p-top-mainVisual__logo {
    width: 48.45588%;
    max-width: 659px;
  }
}

/* --- 画像 --- */
.p-top-mainVisual__image {
  margin-bottom: 15px;
}

.p-top-mainVisual__image svg {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 1600px) {
  .p-top-mainVisual__image {
    margin-bottom: 50px;
    width: 100%;
    max-width: 1360px;
    height: 54.41176vw;
    max-height: 740px;
  }
}

.p-top-mainVisual__largeImage {
  display: none;
}

@media screen and (min-width: 640px) {
  .p-top-mainVisual__largeImage {
    display: block;
  }
}

.p-top-mainVisual__smallImage {
  display: block;
}

@media screen and (min-width: 640px) {
  .p-top-mainVisual__smallImage {
    display: none;
  }
}

.p-top-decoration--adultAndChild {
  top: 110.13333vw;
  right: 4.8vw;
  width: 218px;
}

@media screen and (min-width: 480px) {
  .p-top-decoration--adultAndChild {
    right: 0;
  }
}

@media screen and (min-width: 640px) {
  .p-top-decoration--adultAndChild {
    top: 45vw;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--adultAndChild {
    top: 41.66667vw;
    right: 3.125vw;
    width: 272px;
  }
}

@media screen and (min-width: 1440px) {
  .p-top-decoration--adultAndChild {
    width: 340px;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--adultAndChild {
    top: 660px;
    right: 60px;
    width: 399px;
  }
}

/* --- スクロールボタン --- */
.p-top-mainVisual__scroll {
  font-size: 0.625rem;
  font-family: "Lato", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 700;
  font-weight: bold\0;
  text-align: center;
  animation: scrollMV 1.4s ease-in-out infinite;
}

.p-top-mainVisual__scroll img {
  display: block;
  margin: 5px auto 0;
  width: 9px;
  height: 5px;
}

@media screen and (min-width: 640px) {
  .p-top-mainVisual__scroll {
    font-size: 1.3125rem;
  }
  .p-top-mainVisual__scroll img {
    margin-top: 10px;
    width: 15px;
    height: 9px;
  }
}

/*　見出し
/*+---------------------------------*/
.p-top-header {
  position: relative;
}

.p-top-header--philosophy {
  display: block;
  margin-bottom: 30px;
}

.p-top-header--news {
  text-align: center;
}

.p-top-header--project {
  margin: 0 0 24px;
  padding: 275px 0 0;
}

@media screen and (min-width: 640px) {
  .p-top-header--project {
    margin: 0 34px 32px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-header--project {
    margin-inline: auto;
    padding-top: 285px;
    padding-left: 144px;
    max-width: 1400px;
  }
}

.p-top-header--keypersons {
  margin-bottom: 36px;
}

@media screen and (min-width: 1260px) {
  .p-top-header--keypersons {
    margin-bottom: 56px;
    padding-top: 145px;
  }
}

.p-top-header--note {
  padding: 308px 0 0;
}

@media screen and (min-width: 640px) {
  .p-top-header--note {
    margin: 0 auto;
    max-width: 830px;
    text-align: center;
  }
}

@media screen and (min-width: 960px) {
  .p-top-header--note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 36px;
    margin: 0 0 56px;
    max-width: 100%;
    text-align: left;
  }
}

@media screen and (min-width: 1260px) {
  .p-top-header--note {
    padding-top: 160px;
  }
}

.p-top-header--contact {
  padding-top: 330px;
}

@media screen and (min-width: 640px) {
  .p-top-header--contact {
    padding-top: 200px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-header--contact {
    padding-top: 104px;
  }
}

.p-top-subtitle {
  margin-bottom: 30px;
  font-size: 2.25rem;
  font-family: "M PLUS Rounded 1c", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.25;
}

.p-top-subtitle strong {
  font-weight: 500;
}

@media screen and (min-width: 960px) {
  .p-top-subtitle {
    margin-bottom: 20px;
    font-size: 3rem;
  }
}

/* --- 見出し --- */
.p-top-heading {
  margin-bottom: 30px;
}

@media screen and (min-width: 960px) {
  .p-top-heading {
    margin-bottom: 28px;
  }
}

.p-top-heading__chewy {
  display: inline-block;
  font-family: "chewy", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3.4375rem;
  line-height: 1.33;
}

.p-top-heading__chewy .-color-orange {
  color: #ff9400;
}

.p-top-heading__chewy + .p-top-heading__ruby {
  vertical-align: middle;
  margin-left: 8px;
  margin-bottom: 12px;
}

@media screen and (min-width: 960px) {
  .p-top-heading__chewy + .p-top-heading__ruby {
    margin-left: 16px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-heading__chewy {
    font-size: 4.5rem;
  }
}

.p-top-heading__ruby {
  display: inline-block;
  border-radius: 10px;
  padding: 4px 14px;
  background-color: #323232;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  font-weight: bold\0;
  letter-spacing: .2em;
  vertical-align: bottom;
}

@media screen and (min-width: 960px) {
  .p-top-heading__ruby {
    margin: 0 0 0 20px;
    border-radius: 13px;
    padding: 4px 18px 6px;
    font-size: 1rem;
    vertical-align: bottom;
  }
}

/*　テキスト
/*+---------------------------------*/
.p-top-lead {
  font-size: 0.9375rem;
  line-height: 2.4;
}

/*　ボックス
/*+---------------------------------*/
.p-top-inner {
  padding: 0 30px;
}

.p-top-inner--philosophy {
  position: relative;
  z-index: 1;
}

@media screen and (min-width: 960px) {
  .p-top-inner--philosophy {
    margin: 0 auto;
    max-width: 1420px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-inner--project {
    padding: 0;
  }
}

/*　ページ内のイラスト
/*+---------------------------------*/
.p-top-decoration {
  position: absolute;
  z-index: 10;
  max-width: inherit;
}

/*　理念
/*+---------------------------------*/
.p-top-philosophy {
  margin: 0 auto 80px;
}

@media screen and (min-width: 640px) {
  .p-top-philosophy {
    margin: 0 auto 120px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-philosophy {
    margin: 0;
  }
}

.p-top-philosophy__heading {
  margin-bottom: 25px;
}

.p-top-philosophy__headingText {
  display: block;
  margin: 0 0 10px;
  width: 189px;
}

@media screen and (min-width: 960px) {
  .p-top-philosophy__headingText {
    display: inline;
    width: 252px;
  }
}

.p-top-philosophy__text {
  margin: 0 auto;
  max-width: 1040px;
}

@media screen and (min-width: 960px) {
  .p-top-philosophy__text {
    margin: 0 0 0 6.77083vw;
    padding: 0;
    width: 80%;
    max-width: 672px;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-philosophy__text {
    margin-left: 130px;
  }
}

.p-top-lead--philosophy {
  margin: 0 0 60px;
}

@media screen and (min-width: 1600px) {
  .p-top-lead--philosophy {
    margin-bottom: 78px;
    font-size: 1rem;
    line-height: 2.625;
  }
}

.p-top-philosophy__image {
  position: relative;
  z-index: 0;
  margin: 0 auto;
  max-width: 375px;
  height: 781px;
}

@media screen and (min-width: 640px) {
  .p-top-philosophy__image {
    margin: 40px auto 0;
    transform: scale(1.2);
  }
}

@media screen and (min-width: 960px) {
  .p-top-philosophy__image {
    top: -4.16667vw;
    left: -10px;
    margin: 0 auto;
    padding: 0;
    max-width: 1444px;
    height: 57.1875vw;
    transform: scale(1);
  }
}

@media screen and (min-width: 1600px) {
  .p-top-philosophy__image {
    top: -64px;
    height: 915px;
  }
}

/* --- 写真 --- */
.p-top-philosophy__photo {
  display: block;
  position: absolute;
  max-width: inherit;
}

.p-top-philosophy__photo--1 {
  top: 61px;
  z-index: 6;
  width: 326px;
}

@media screen and (min-width: 960px) {
  .p-top-philosophy__photo--1 {
    top: 0;
    right: 13.5vw;
    width: 40.75vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-philosophy__photo--1 {
    right: 216px;
    width: 652px;
  }
}

.p-top-decoration--bg-philosophy-1 {
  z-index: 5;
  top: 123px;
  width: 220px;
}

@media screen and (max-width: 959px) {
  .p-top-decoration--bg-philosophy-1 {
    left: 116px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--bg-philosophy-1 {
    top: 7.8125vw;
    right: 11.625vw;
    width: 22vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--bg-philosophy-1 {
    top: 125px;
    right: 186px;
    width: 440px;
  }
}

.p-top-philosophy__photo--2 {
  top: 233px;
  right: -71px;
  z-index: 4;
  width: 407px;
}

@media screen and (min-width: 960px) {
  .p-top-philosophy__photo--2 {
    top: 14.1875vw;
    left: 4.75vw;
    width: 50.875vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-philosophy__photo--2 {
    top: 227px;
    left: 76px;
    width: 814px;
  }
}

.p-top-decoration--bg-philosophy-2 {
  z-index: 3;
  top: 261px;
  right: 14px;
  width: 330px;
}

@media screen and (min-width: 960px) {
  .p-top-decoration--bg-philosophy-2 {
    top: 17.75vw;
    left: 3.75vw;
    width: 41.25vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--bg-philosophy-2 {
    top: 284px;
    left: 60px;
    width: 660px;
  }
}

.p-top-philosophy__photo--3 {
  z-index: 2;
  top: 524px;
  right: 61px;
  width: 252px;
}

@media screen and (min-width: 960px) {
  .p-top-philosophy__photo--3 {
    top: 27.125vw;
    right: 4.1875vw;
    width: 31.5vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-philosophy__photo--3 {
    top: 434px;
    right: 67px;
    width: 504px;
  }
}

.p-top-decoration--bg-philosophy-3 {
  z-index: 1;
  top: 521px;
  right: 40px;
  width: 205px;
}

@media screen and (min-width: 960px) {
  .p-top-decoration--bg-philosophy-3 {
    top: 26.75vw;
    right: 2.6875vw;
    width: 25.625vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--bg-philosophy-3 {
    top: 428px;
    right: 43px;
    width: 410px;
  }
}

/* --- 画像 --- */
.p-top-decoration--mikan {
  z-index: 0;
  top: 42px;
  left: 235px;
  width: 95px;
  transition: opacity .8s ease;
}

.p-top-decoration--mikan[aria-hidden="true"] {
  opacity: 0;
}

.p-top-decoration--mikan[aria-hidden="false"] {
  opacity: 1;
}

@media screen and (min-width: 480px) {
  .p-top-decoration--mikan {
    top: 100px;
    left: 300px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--mikan {
    top: 108px;
    left: 400px;
    width: 119px;
  }
}

@media screen and (min-width: 1440px) {
  .p-top-decoration--mikan {
    top: 30px;
    left: 474px;
    width: 190px;
  }
}

.p-top-decoration--officeWorker {
  top: 5px;
  right: -6px;
  width: 123px;
}

@media screen and (min-width: 960px) {
  .p-top-decoration--officeWorker {
    top: 2.1875vw;
    right: 8.5vw;
    width: 13.5625vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--officeWorker {
    top: 35px;
    right: 136px;
    width: 217px;
  }
}

.p-top-decoration--cat {
  top: 200px;
  left: 60px;
  width: 121px;
}

@media screen and (min-width: 960px) {
  .p-top-decoration--cat {
    top: 6.625vw;
    left: 27.6875vw;
    width: 13.375vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--cat {
    top: 106px;
    left: 443px;
    width: 214px;
  }
}

.p-top-decoration--student {
  left: -51px;
  width: 239px;
}

@media screen and (max-width: 959px) {
  .p-top-decoration--student {
    top: 352px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--student {
    left: 0;
    bottom: 0;
    width: 26.4375vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--student {
    left: 0;
    bottom: 0;
    width: 423px;
  }
}

.p-top-decoration--lady {
  top: 492px;
  right: 14px;
  width: 112px;
}

@media screen and (min-width: 960px) {
  .p-top-decoration--lady {
    top: 20.625vw;
    right: 31.875vw;
    width: 12.375vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--lady {
    top: 330px;
    right: 510px;
    width: 198px;
  }
}

.p-top-decoration--octopus {
  width: 123px;
}

@media screen and (max-width: 959px) {
  .p-top-decoration--octopus {
    top: 639px;
    left: 8px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--octopus {
    bottom: 1.25vw;
    right: 0;
    width: 13.6875vw;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--octopus {
    bottom: 20px;
    right: 0;
    width: 219px;
  }
}

/*　お知らせ
/*+---------------------------------*/
.p-top-news {
  margin: 0 0 75px;
  padding: 0 48px;
}

.p-top-news__heading {
  display: block;
  margin: 0 0 24px;
  text-align: center;
}

@media screen and (min-width: 1600px) {
  .p-top-news__heading {
    margin-bottom: 44px;
  }
}

.p-top-news__headingText {
  margin: 0 12px 0 0;
  width: 112px;
}

@media screen and (min-width: 960px) {
  .p-top-news__headingText {
    width: 152px;
  }
}

.p-top-news__listCaption {
  padding: 0 18px;
}

.p-top-news__button {
  width: calc(100% - (6px * 2));
}

/*　プロジェクト事例紹介
/*+---------------------------------*/
.p-top-project {
  margin-bottom: 80px;
}

.p-top-project__heading {
  text-align: center;
}

@media screen and (min-width: 640px) {
  .p-top-project__heading {
    text-align: left;
  }
}

.p-top-project__headingText {
  display: block;
  margin: 0 auto 10px;
  width: 255px;
}

@media screen and (min-width: 640px) {
  .p-top-project__headingText {
    display: inline-block;
    margin: 0 10px 0 0;
  }
}

@media screen and (min-width: 960px) {
  .p-top-project__headingText {
    margin: 0;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-project__headingText {
    width: 396px;
  }
}

@media screen and (min-width: 640px) {
  .p-top-project__headingRuby {
    position: relative;
    top: -24px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-project__headingRuby {
    position: relative;
    top: -34px;
  }
}

.p-top-project__amount {
  font-family: "chewy", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  line-height: 1.33;
  text-align: center;
  margin-bottom: 16px;
}

.p-top-project__amount .-amount {
  color: #ff9400;
  font-size: 3rem;
}

@media screen and (min-width: 640px) {
  .p-top-project__amount {
    font-size: 2.5rem;
    margin-bottom: 16px;
  }
  .p-top-project__amount .-amount {
    font-size: 4rem;
  }
}

.p-top-project__content {
  position: relative;
  padding-bottom: 40px;
  display: flex;
  flex-direction: column;
  gap: 36px;
}

.p-top-project__content::before {
  content: "";
  display: block;
  background-color: #ffffff;
  box-shadow: 0 0 20px 10px #e8e4da;
  box-shadow: 0 10px 20px 0 rgba(71, 58, 28, 0.15);
  border-radius: 40px;
  position: absolute;
  top: 60px;
  left: -14px;
  right: -14px;
  bottom: 0;
}

@media screen and (min-width: 960px) {
  .p-top-project__content {
    padding-bottom: 120px;
  }
  .p-top-project__content::before {
    border-radius: 0 60px 60px 0;
    top: 84px;
    left: 0;
    right: 24px;
    bottom: 0;
  }
}

@media screen and (min-width: 1560px) {
  .p-top-project__content::before {
    right: calc(50vw - 764px);
  }
}

.p-top-project__slider {
  width: 100%;
  max-width: 1400px;
  margin-inline: auto;
  padding-inline: 38px;
}

@media screen and (min-width: 960px) {
  .p-top-project__slider {
    padding-inline: 88px;
  }
}

@media screen and (min-width: 1560px) {
  .p-top-project__slider {
    padding-inline: 24px;
  }
}

.p-top-decoration--train {
  top: 141px;
  left: -28px;
  width: 140px;
}

@media screen and (max-width: 375px) {
  .p-top-decoration--train {
    left: -7.46vw;
    width: 37.3vw;
  }
}

@media screen and (min-width: 640px) {
  .p-top-decoration--train {
    top: inherit;
    bottom: 145px;
    left: 4.58vw;
    width: 21.8vw;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--train {
    top: 35px;
    bottom: inherit;
    left: 170px;
    width: 19vw;
  }
}

@media screen and (min-width: 1260px) {
  .p-top-decoration--train {
    top: 35px;
    left: 238px;
    width: 245px;
  }
}

.p-top-decoration--fish {
  top: -33px;
  right: -45px;
  width: 74px;
}

@media screen and (max-width: 375px) {
  .p-top-decoration--fish {
    right: -12vw;
    width: 19.7vw;
  }
}

@media screen and (min-width: 640px) {
  .p-top-decoration--fish {
    top: -55px;
    right: -4.68vw;
    width: 12.7vw;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--fish {
    top: -75px;
    right: 10vw;
    width: 12.7vw;
  }
}

@media screen and (min-width: 1260px) {
  .p-top-decoration--fish {
    top: -75px;
    right: 100px;
    width: 160px;
  }
}

.p-top-decoration--engineer {
  top: -20px;
  right: 25px;
  width: 185px;
}

@media screen and (max-width: 375px) {
  .p-top-decoration--engineer {
    right: 6.6vw;
    width: 49.3vw;
  }
}

@media screen and (min-width: 640px) {
  .p-top-decoration--engineer {
    top: 35px;
    right: 9.375vw;
    width: 28.9vw;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--engineer {
    top: 5px;
    right: 21vw;
    width: 26.8vw;
  }
}

@media screen and (min-width: 1260px) {
  .p-top-decoration--engineer {
    top: 5px;
    right: 266px;
    width: 338px;
  }
}

/*　キーパーソン
/*+---------------------------------*/
.p-top-keypersons {
  max-width: 1200px;
  margin-inline: auto;
  margin-bottom: 80px;
}

.p-top-keypersons__heading {
  text-align: center;
  position: relative;
  z-index: 10;
}

@media screen and (min-width: 960px) {
  .p-top-keypersons__heading {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: end;
    gap: 12px;
  }
}

.p-top-keypersons__chewy {
  display: block;
  font-family: "chewy", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 5.625rem;
  line-height: 1;
}

.p-top-keypersons__chewy .-color-orange {
  color: #ff9400;
}

@media screen and (min-width: 960px) {
  .p-top-keypersons__chewy {
    font-size: 8.75rem;
    margin-inline: 0;
  }
  .p-top-keypersons__chewy + .c-headingA__ruby {
    margin-top: 5px;
  }
}

.p-top-keypersons__ruby {
  display: inline-block;
  border-radius: 10px;
  margin: 5px 0 0;
  padding: 4px 14px;
  background-color: #323232;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: .2em;
  vertical-align: bottom;
}

@media screen and (min-width: 960px) {
  .p-top-keypersons__ruby {
    margin: 20px 0 0;
    border-radius: 13px;
    padding: 4px 18px 6px;
    font-size: 1rem;
    vertical-align: bottom;
  }
}

.p-top-keypersons__headingText {
  display: block;
  margin: 0 auto 18px;
  width: 164px;
}

@media screen and (min-width: 960px) {
  .p-top-keypersons__headingText {
    display: inline;
    margin-bottom: 0;
    width: 219px;
  }
}

.p-top-keypersons__content {
  position: relative;
  margin: 0 30px;
  box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.15);
  border-radius: 40px;
  padding: 24px 24px 40px;
  background-color: #fff;
}

@media screen and (min-width: 960px) {
  .p-top-keypersons__content {
    padding: 60px 30px 80px;
  }
}

@media screen and (min-width: 1260px) {
  .p-top-keypersons__content {
    margin: 0;
  }
}

.p-top-keypersons__text {
  margin: 0 auto 24px;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 1px;
  max-width: 728px;
  padding-inline: 12px;
}

@media screen and (min-width: 960px) {
  .p-top-keypersons__text {
    margin-bottom: 56px;
    font-size: 1.125rem;
    line-height: 2.33;
    padding-inline: 0;
  }
}

.p-top-decoration--pair {
  position: inherit;
  width: 230px;
  display: block;
  margin-inline: auto;
  margin-bottom: 16px;
}

@media screen and (min-width: 640px) {
  .p-top-decoration--pair {
    width: 35.9vw;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--pair {
    width: 385px;
  }
}

@media screen and (min-width: 1260px) {
  .p-top-decoration--pair {
    margin: 0;
    position: absolute;
    bottom: -12px;
    left: -120px;
  }
}

/*　note
/*+---------------------------------*/
.p-top-note {
  max-width: 1200px;
  margin-inline: auto;
  margin-bottom: 80px;
  position: relative;
  z-index: 2;
}

.p-top-note__heading {
  margin-bottom: 20px;
}

@media screen and (min-width: 960px) {
  .p-top-note__heading {
    margin: 0;
  }
}

.p-top-note__headingText {
  width: 168px;
}

@media screen and (min-width: 1600px) {
  .p-top-note__headingText {
    width: 264px;
  }
}

.c-top-note__lead {
  margin-bottom: 40px;
  font-size: 0.9375rem;
  font-weight: 700;
  font-weight: bold\0;
  line-height: 2;
  text-align: left;
}

@media screen and (min-width: 960px) {
  .c-top-note__lead {
    margin: 0;
    max-width: 530px;
    font-size: 1.125rem;
    line-height: 2.3;
  }
}

.p-top-note__itemList {
  margin: 0 auto 40px;
  max-width: 494px;
}

@media screen and (min-width: 960px) {
  .p-top-note__itemList {
    display: flex;
    flex-wrap: wrap;
    max-width: 1200px;
  }
}

.p-top-note__item {
  margin: 0 0 18px;
  box-shadow: 0 15px 30px 0 rgba(71, 58, 28, 0.15);
  border-radius: 20px;
  background-color: #fff;
}

@media screen and (max-width: 959px) {
  .p-top-note__item:last-child {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 960px) {
  .p-top-note__item {
    margin: 0 2% 24px 0;
    width: 32%;
  }
  .p-top-note__item:nth-child(3n) {
    margin-right: 0;
  }
}

.note-embed {
  margin: 0 !important;
  border-radius: 20px;
  max-width: 100% !important;
}

.p-top-decoration--farmer {
  bottom: 138px;
  right: -50px;
  width: 274px;
}

@media screen and (max-width: 375px) {
  .p-top-decoration--farmer {
    bottom: 168px;
    right: -13.3vw;
    width: 73vw;
  }
}

@media screen and (min-width: 640px) {
  .p-top-decoration--farmer {
    bottom: 98px;
    right: -7.8vw;
    width: 42.8vw;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--farmer {
    bottom: 58px;
    right: -56px;
    width: 31.6vw;
  }
}

@media screen and (min-width: 1260px) {
  .p-top-decoration--farmer {
    display: block;
    bottom: 40px;
    left: -140px;
    width: 411px;
  }
}

.p-top-decoration--bakery {
  top: 0;
  left: -14px;
  width: 157px;
}

@media screen and (max-width: 375px) {
  .p-top-decoration--bakery {
    left: -3.73vw;
    width: 41.8vw;
  }
}

@media screen and (min-width: 640px) {
  .p-top-decoration--bakery {
    right: -2.18vw;
    width: 24.5vw;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--bakery {
    top: inherit;
    bottom: 40px;
    right: inherit;
    left: -14px;
    width: 18.2vw;
  }
}

@media screen and (min-width: 1260px) {
  .p-top-decoration--bakery {
    bottom: 0;
    left: auto;
    right: -102px;
    width: 248px;
  }
}

/*　お問い合わせ
/*+---------------------------------*/
.p-top-contact {
  position: relative;
  z-index: 0;
  margin: 0 auto 62px;
  padding-bottom: 495px;
  max-width: 1200px;
}

@media screen and (min-width: 480px) {
  .p-top-contact {
    padding-bottom: 435px;
  }
}

@media screen and (min-width: 640px) {
  .p-top-contact {
    padding-bottom: 290px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-contact {
    margin-bottom: 288px;
    padding-bottom: 0;
  }
}

@media screen and (min-width: 1440px) {
  .p-top-contact {
    margin-bottom: 196px;
  }
}

.p-top-contact__heading {
  margin: 0 0 30px;
  text-align: center;
}

@media screen and (min-width: 960px) {
  .p-top-contact__heading {
    margin-bottom: 56px;
  }
}

.p-top-contact__headingText {
  display: block;
  margin: 0 auto 18px;
  width: 164px;
}

@media screen and (min-width: 960px) {
  .p-top-contact__headingText {
    display: inline;
    margin-bottom: 0;
    width: 219px;
  }
}

.p-top-contact__content {
  position: relative;
  margin: 0 30px;
  box-shadow: 0 0 20px 10px rgba(0, 0, 0, 0.15);
  border-radius: 40px;
  padding: 30px 30px 125px;
  background-color: #fff;
}

@media screen and (min-width: 960px) {
  .p-top-contact__content {
    padding: 60px 30px 125px;
  }
}

@media screen and (min-width: 1260px) {
  .p-top-contact__content {
    margin: 0;
  }
}

.p-top-contact__text {
  margin: 0 auto 28px;
  font-size: 0.9375rem;
  font-weight: 700;
  font-weight: bold\0;
  line-height: 2;
  max-width: 728px;
}

@media screen and (min-width: 960px) {
  .p-top-contact__text {
    margin-bottom: 60px;
    font-size: 1.125rem;
    line-height: 2.3;
  }
}

/* --- 画像 --- */
.p-top-contact__photo {
  display: block;
  position: absolute;
  z-index: -1;
  max-width: inherit;
}

.p-top-decoration--dogAndHuman {
  top: -335px;
  left: 0;
  width: 159px;
}

@media screen and (max-width: 375px) {
  .p-top-decoration--dogAndHuman {
    width: 42.4vw;
  }
}

@media screen and (min-width: 640px) {
  .p-top-decoration--dogAndHuman {
    top: -260px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--dogAndHuman {
    width: 190px;
  }
}

@media screen and (min-width: 1440px) {
  .p-top-decoration--dogAndHuman {
    top: -320px;
    left: -40px;
    width: 237px;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--dogAndHuman {
    top: -358px;
    left: -89px;
    width: 248px;
  }
}

.p-top-contact__photo--1 {
  top: 0;
  right: -106px;
  width: 378px;
}

@media screen and (min-width: 640px) {
  .p-top-contact__photo--1 {
    top: -100px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-contact__photo--1 {
    top: -302px;
    right: -293px;
    width: 472px;
  }
}

.p-top-decoration--bg-contact-1 {
  z-index: -2;
  top: 147px;
  right: -107px;
  width: 202px;
}

@media screen and (min-width: 640px) {
  .p-top-decoration--bg-contact-1 {
    top: 47px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--bg-contact-1 {
    top: -90px;
    right: -200px;
    width: 252px;
  }
}

@media screen and (min-width: 1440px) {
  .p-top-decoration--bg-contact-1 {
    top: -107px;
    right: -330px;
    width: 270px;
  }
}

.p-top-decoration--manju {
  bottom: -42px;
  left: 20px;
  width: 104px;
}

@media screen and (min-width: 960px) {
  .p-top-decoration--manju {
    left: 76px;
    width: 130px;
  }
}

@media screen and (min-width: 1440px) {
  .p-top-decoration--manju {
    bottom: -54px;
    width: 163px;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--manju {
    bottom: -107px;
    left: 153px;
    width: 206px;
  }
}

.p-top-decoration--people {
  bottom: -320px;
  right: -40px;
  width: 278px;
}

@media screen and (min-width: 640px) {
  .p-top-decoration--people {
    bottom: -330px;
    width: 300px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--people {
    bottom: -240px;
    width: 343px;
  }
}

@media screen and (min-width: 1440px) {
  .p-top-decoration--people {
    bottom: inherit;
    top: -42px;
    right: -120px;
    width: 437px;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--people {
    bottom: inherit;
    top: -42px;
    right: -140px;
  }
}

.p-top-contact__photo--2 {
  z-index: -1;
  top: 600px;
  left: -380px;
  width: 610px;
}

@media screen and (min-width: 480px) {
  .p-top-contact__photo--2 {
    top: 480px;
  }
}

@media screen and (min-width: 640px) {
  .p-top-contact__photo--2 {
    top: 200px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-contact__photo--2 {
    top: -165px;
    left: -428px;
    width: 762px;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-contact__photo--2 {
    top: -207px;
    left: -535px;
    width: 814px;
  }
}

.p-top-decoration--bg-contact-2 {
  z-index: -2;
  top: 590px;
  left: -473px;
  width: 646px;
}

@media screen and (min-width: 480px) {
  .p-top-decoration--bg-contact-2 {
    top: 470px;
  }
}

@media screen and (min-width: 640px) {
  .p-top-decoration--bg-contact-2 {
    top: 190px;
  }
}

@media screen and (min-width: 960px) {
  .p-top-decoration--bg-contact-2 {
    top: -200px;
    left: -520px;
    width: 807px;
  }
}

@media screen and (min-width: 1600px) {
  .p-top-decoration--bg-contact-2 {
    top: -220px;
    left: -661px;
    width: 861px;
  }
}

/*　バナーエリア
/*+---------------------------------*/
.p-top-bannerArea {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  max-width: 1160px;
}

/*　見出しのバリエーション
/*+---------------------------------*/
.p-project-heading__ruby--top {
  position: relative;
  top: -12px;
  margin: 0;
}

@media screen and (min-width: 960px) {
  .p-project-heading__ruby--top {
    top: -24px;
  }
}

@media screen and (min-width: 960px) {
  .p-project-heading__ruby--relatedProject {
    position: relative;
    top: -18px;
    margin: 0;
  }
}

/*　お知らせ
/*+---------------------------------*/
/* --- ボックス --- */
.p-news-box {
  position: relative;
}

.p-news-box--new:after {
  display: block;
  content: '';
  position: absolute;
  z-index: 0;
  top: -20px;
  left: -20px;
  width: 82px;
  height: 60px;
  background-image: url(../img/common/icon-new.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

@media screen and (min-width: 960px) {
  .p-news-box--new:after {
    width: 109px;
    height: 80px;
  }
}

/*　プロジェクト
/*+---------------------------------*/
/* --- 一覧 --- */
.p-project-list {
  margin: 0 auto;
  max-width: 494px;
}

@media screen and (min-width: 960px) {
  .p-project-list {
    max-width: 100%;
  }
}

.p-project-box {
  display: block;
  margin: 0 18px 60px;
  transition: transform .3s ease;
}

.p-project-box:hover {
  transform: translateY(10px);
}

@media screen and (min-width: 960px) {
  .p-project-box {
    margin: 0 auto 60px;
  }
  .p-project-box:hover {
    transform: translateY(2.5%);
  }
}

.p-project-box__content {
  display: flex;
  flex-direction: column-reverse;
  flex-wrap: wrap;
  align-items: flex-start;
}

@media screen and (min-width: 960px) {
  .p-project-box__content {
    flex-direction: row-reverse;
  }
}

.p-project-box__text {
  padding: 0 18px;
  color: #323232;
  transition: color .3s ease;
}

.p-project-box:hover .p-project-box__text {
  color: #ff9400;
}

@media screen and (min-width: 960px) {
  .p-project-box__text {
    padding: 0;
    width: 49.16667%;
  }
}

.p-project-box__image {
  position: relative;
  margin: 0 0 36px;
  box-shadow: 0 15px 30px 0 rgba(71, 58, 28, 0.3);
  border-radius: 20px;
  padding: 100% 0 0;
  width: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transition: box-shadow .15s ease;
}

.p-project-box:hover .p-project-box__image {
  box-shadow: 0 0 3px 0 rgba(71, 58, 28, 0.3);
}

@media screen and (min-width: 960px) {
  .p-project-box__image {
    margin: 0 4.16667% 0 0;
    padding: 35% 0 0;
    width: 46.66667%;
  }
}

.p-project-box--new .p-project-box__image:after {
  display: block;
  content: '';
  position: absolute;
  z-index: 0;
  top: -20px;
  left: -20px;
  width: 82px;
  height: 60px;
  background-image: url(../img/common/icon-new.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

@media screen and (min-width: 960px) {
  .p-project-box--new .p-project-box__image:after {
    width: 109px;
    height: 80px;
  }
}

.p-project-box__button {
  margin: 24px -18px 0;
  width: calc(100% + 18px * 2);
}

.p-project-box__button:hover {
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
  background-color: #323232;
  transform: none;
}

.p-project-box__button:hover:after {
  background-image: url(../img/common/arrow-right-orange.svg);
}

.p-project-box:hover .p-project-box__button {
  box-shadow: 0 0 0 0;
  background-color: #ff9400;
}

.p-project-box:hover .p-project-box__button:after {
  background-image: url(../img/common/arrow-right-white.svg);
}

@media screen and (min-width: 960px) {
  .p-project-box__button {
    margin: 50px 0 0;
  }
  .p-project-box__button:hover {
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.3);
  }
}

/*　沿線価値向上プロジェクトとは
/*+---------------------------------*/
@media screen and (min-width: 960px) {
  .p-about-header {
    margin: 0 0 80px;
  }
}

.p-about-heading {
  margin: 0 0 10px;
}

.p-about-boxA {
  margin: 0 0 56px;
}

@media screen and (min-width: 960px) {
  .p-about-boxA {
    margin: 0 0 90px;
  }
}

.p-about-boxB {
  margin: 0 0 24px;
}

@media screen and (min-width: 960px) {
  .p-about-boxB {
    margin: 0 0 48px;
  }
}

.p-about-topCaption {
  animation: aboutCaptionAnimation 1.2s ease;
}

@keyframes aboutCaptionAnimation {
  0% {
    opacity: 0;
  }
  60% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* --- 南海沿線ってどんなところ？ --- */
.p-about-map__figure {
  position: relative;
  text-align: center;
  margin: 16px 0 0;
  animation: aboutCaptionAnimation 1.2s ease;
}

@media screen and (min-width: 640px) {
  .p-about-map__figure {
    margin: 48px 0 0;
  }
}

@media screen and (min-width: 960px) {
  .p-about-map__figure {
    margin: 110px 0 0;
    padding: 0 0 0 70px;
  }
}

.p-about-map__figure--airplane {
  position: absolute;
  z-index: 2;
  top: 4vw;
  left: 9.25%;
  width: 25.66667%;
  transform-origin: bottom left;
}

.p-about-map__figure--airplane[aria-hidden="true"] {
  transform: translate(-40px, 40px);
}

.p-about-map__figure--airplane[aria-hidden="false"] {
  transform: translate(0, 0);
}

.p-about-map__figure--banker {
  position: absolute;
  z-index: 2;
  top: 13.5vw;
  right: 2.16667%;
  width: 18.08333%;
  transform-origin: center right;
}

.p-about-map__figure--banker[aria-hidden="true"] {
  transform: translateX(40px);
}

.p-about-map__figure--banker[aria-hidden="false"] {
  transform: translateX(0);
}

.p-about-map__figure--tourist {
  position: absolute;
  z-index: 2;
  bottom: 2vw;
  left: 0;
  width: 30%;
  transform-origin: center left;
}

.p-about-map__figure--tourist[aria-hidden="true"] {
  transform: translateX(-40px);
}

.p-about-map__figure--tourist[aria-hidden="false"] {
  transform: translateX(0);
}

.p-about-map__figure--nanba {
  position: absolute;
  z-index: 1;
  top: 0.25vw;
  right: 1.58333%;
  width: 21.41667%;
}

.p-about-map__figure--nanba--bg {
  position: absolute;
  z-index: -1;
  top: -0.25vw;
  right: -1.33333%;
}

.p-about-map__figure--wakayama {
  position: absolute;
  z-index: 1;
  bottom: 0.4375vw;
  right: 41.16667%;
  width: 16.66667%;
}

.p-about-map__figure--wakayama--bg {
  position: absolute;
  z-index: -1;
  bottom: 0;
  right: 0;
}

/* --- 沿線価値向上プロジェクトに取り組むきっかけ --- */
.p-about-impetus__caption {
  margin: 0 0 24px;
  width: 100%;
}

@media screen and (min-width: 960px) {
  .p-about-impetus__caption {
    margin: 0;
    width: 49.16667%;
  }
}

.p-about-impetus__figure {
  position: relative;
  width: 100%;
}

@media screen and (min-width: 960px) {
  .p-about-impetus__figure {
    width: 45%;
  }
}

.p-about-impetus__figure--writer {
  position: absolute;
  z-index: 2;
  top: 0.625vw;
  right: 0;
  width: 30.55556%;
  max-width: 165px;
  transform-origin: center right;
}

.p-about-impetus__figure--writer[aria-hidden="true"] {
  transform: translateX(20px);
}

.p-about-impetus__figure--writer[aria-hidden="false"] {
  transform: translateX(0);
}

.p-about-impetus__figure--cameraman {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 5.37037%;
  width: 42.03704%;
  max-width: 227px;
  transform-origin: center left;
}

.p-about-impetus__figure--cameraman[aria-hidden="true"] {
  transform: translateX(-20px);
}

.p-about-impetus__figure--cameraman[aria-hidden="false"] {
  transform: translateX(0);
}

.p-about-impetus__figure--photo1 {
  position: relative;
  margin: 0 0 30px;
  padding: 0 0 0 20px;
}

@media screen and (min-width: 640px) {
  .p-about-impetus__figure--photo1 {
    padding: 0 0 0 40px;
  }
}

.p-about-impetus__figure--photo1--bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 92.4569%;
  max-width: 429px;
}

@media screen and (min-width: 640px) {
  .p-about-impetus__figure--photo1--bg {
    top: 24px;
  }
}

.p-about-impetus__figure--photo2 {
  float: right;
  position: relative;
  margin: 0 0 32px;
  padding: 0 0 6px;
  width: 60.92593%;
  max-width: 329px;
}

@media screen and (min-width: 640px) {
  .p-about-impetus__figure--photo2 {
    margin: 0 0 68px;
    padding: 0 16px 12px 0;
  }
}

.p-about-impetus__figure--photo2--bg {
  position: absolute;
  z-index: -1;
  top: 8.53333vw;
  right: 2.73556%;
  width: 81.45897%;
  max-width: 268px;
}

@media screen and (min-width: 640px) {
  .p-about-impetus__figure--photo2--bg {
    top: 52px;
  }
}

/* --- 沿線価値向上プロジェクトの方針 --- */
.p-about-flow__figure {
  margin: 32px 0;
}

@media screen and (min-width: 960px) {
  .p-about-flow__figure {
    margin: 64px 0;
  }
}

/*　お問い合わせ
/*+---------------------------------*/
/* --- ヘッダー --- */
@media screen and (min-width: 960px) {
  .p-contact-header {
    margin: 0 0 80px;
  }
}

/* --- ボックス --- */
.p-contact-box {
  margin: 0 0 24px;
}

#js-contactForm.is-confirmation .p-contact-box {
  margin: 0 0 24px;
  font-size: 1rem;
  line-height: 1.7;
}

@media screen and (min-width: 960px) {
  .p-contact-box {
    margin: 0 0 34px;
  }
  #js-contactForm.is-confirmation .p-contact-box {
    margin: 0 0 34px;
    font-size: 1.5rem;
  }
}

/* --- 見出し --- */
.p-contact-heading {
  display: block;
  margin: 0 0 10px;
}

@media screen and (min-width: 960px) {
  .p-contact-heading {
    margin: 0 0 18px 18px;
  }
  #js-contactForm.is-confirmation .p-contact-heading {
    margin: 0 0 18px;
  }
}

.p-contact-label {
  display: inline-block;
  margin: 0 0 0 10px;
  padding: 3px 0;
  width: 40px;
  background-image: url(../img/contact/bg-label.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  text-align: center;
  vertical-align: bottom;
  font-size: 0.75rem;
}

@media screen and (min-width: 960px) {
  .p-contact-label {
    margin: 0 0 0 18px;
    width: 59px;
    height: 26px;
    font-size: 0.875rem;
  }
}

/* --- 注意事項 --- */
.p-contact-attention {
  margin: 0 0 48px;
}

@media screen and (min-width: 960px) {
  .p-contact-attention {
    margin: 0 0 120px;
  }
}

.p-contact-attention__heading {
  margin: 0 0 12px;
}

@media screen and (min-width: 960px) {
  .p-contact-attention__heading {
    margin: 0 0 20px;
  }
}

/* --- ボタン --- */
@media screen and (min-width: 960px) {
  .p-contact-button {
    min-width: 320px;
  }
}

/* --- ボタンリスト --- */
.p-contact-buttonList {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: row-reverse;
}

.p-contact-buttonList > li {
  margin: 0 12px 24px;
  width: 100%;
}

@media screen and (min-width: 960px) {
  .p-contact-buttonList > li {
    margin: 0 12px 24px;
    width: auto;
  }
}

/* --- エラー --- */
.p-contact-error {
  display: none;
  margin: 1em 0 0;
  color: #bf2424;
  font-size: 0.75rem;
}

#js-contactForm.is-error .p-contact-error {
  display: block;
}

@media screen and (min-width: 960px) {
  .p-contact-error {
    font-size: 0.875rem;
  }
}

/*　404
/*+---------------------------------*/
.p-404-button {
  margin: 40px 0 0;
}

@media screen and (min-width: 640px) {
  .p-404-button {
    margin: 80px 0 0;
  }
}

/*　キーパーソン
/*+---------------------------------*/
.p-keypersons-lead {
  margin-inline: -16px;
}

.p-keypersons-lead > * {
  font-size: 0.875rem;
  line-height: 2;
}

@media screen and (min-width: 640px) {
  .p-keypersons-lead {
    margin-inline: auto;
    max-width: 1200px;
    width: 100%;
  }
  .p-keypersons-lead > * {
    font-size: 1rem;
    line-height: 2.6;
  }
}

.p-keypersons-card__button {
  width: 266px;
  margin-top: -12px;
}

@media screen and (min-width: 640px) {
  .p-keypersons-card__button {
    display: none;
  }
}

.p-keypersons-data {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  color: #323232;
  padding-inline: 10px;
  background: #ffffff;
  border-radius: 40px;
  box-shadow: 0 10px 20px 0 rgba(71, 58, 28, 0.15);
  padding: 40px 24px;
  margin-inline: -14px;
  margin-bottom: 68px;
}

@media screen and (min-width: 640px) {
  .p-keypersons-data {
    gap: 40px;
    margin-bottom: 120px;
  }
}

@media screen and (min-width: 960px) {
  .p-keypersons-data {
    box-shadow: 0 20px 40px 0 rgba(71, 58, 28, 0.15);
    border-radius: 50px;
    flex-direction: row;
    padding: 80px 24px;
  }
}

@media screen and (min-width: 1520px) {
  .p-keypersons-data {
    margin-inline: -160px;
    padding: 80px 160px;
  }
}

.p-keypersons-data__image {
  box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.2);
  border-radius: 20px;
  width: 100%;
  max-width: 494px;
  overflow: hidden;
  transition: box-shadow .3s ease, transform .3s ease;
}

.p-keypersons-data__image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  aspect-ratio: 1 /1;
}

@media screen and (min-width: 960px) {
  .p-keypersons-data__image {
    width: 372px;
  }
}

.p-keypersons-data__caption {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}

@media screen and (min-width: 960px) {
  .p-keypersons-data__caption {
    width: calc(100% - 412px);
  }
}

.p-keypersons-data__first-area {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  align-items: center;
}

.p-keypersons-data__name {
  font-size: 1.5rem;
  font-weight: 700;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 4px;
}

.p-keypersons-data__name span {
  font-size: 0.75rem;
  font-weight: 700;
  text-align: center;
}

@media screen and (min-width: 640px) {
  .p-keypersons-data__name {
    font-size: 2.25rem;
    gap: 8px;
  }
  .p-keypersons-data__name span {
    font-size: 1rem;
    font-weight: 700;
  }
}

.p-keypersons-data__area-list {
  padding-top: 6px;
}

.p-keypersons-data__area {
  background-color: #323232;
  border-radius: 14px;
  color: #ffffff;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
  margin-right: 8px;
  margin-bottom: 6px;
  padding-inline: 16px;
}

@media screen and (min-width: 640px) {
  .p-keypersons-data__area {
    font-size: 1rem;
    line-height: 1.56;
  }
}

p.p-keypersons-data__text {
  font-size: 1rem;
  line-height: 1.6;
  margin-top: 20px;
}

@media screen and (min-width: 640px) {
  p.p-keypersons-data__text {
    font-size: 1.125rem;
  }
}

.p-keypersons-data__sns-area {
  display: flex;
  flex-direction: column;
  margin-top: 10px;
}

.p-keypersons-data__sns-area dt {
  background-image: linear-gradient(90deg, #000 2px, transparent 2px);
  background-size: 4px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  padding-bottom: 8px;
  margin-bottom: 10px;
}

.p-keypersons-data__sns-area dt .-heading {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.6;
}

@media screen and (min-width: 640px) {
  .p-keypersons-data__sns-area {
    flex-direction: row;
    align-items: center;
    margin-top: 28px;
  }
  .p-keypersons-data__sns-area dt {
    display: flex;
    align-items: center;
    background-image: linear-gradient(#000 2px, transparent 2px);
    background-size: 2px 4px;
    background-repeat: repeat-y;
    background-position: right top;
    padding-right: 16px;
    padding-bottom: 0;
    margin-right: 24px;
    margin-bottom: 0;
    min-height: 80px;
  }
  .p-keypersons-data__sns-area dt .-heading {
    font-size: 1rem;
  }
}

.p-keypersons-data__site-link {
  color: #ff9400;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 1px;
}

.p-keypersons-data__site-link:hover {
  text-decoration: underline;
}

.p-keypersons-data__sns-list {
  display: flex;
  gap: 8px;
  margin-top: 16px;
}

@media screen and (min-width: 640px) {
  .p-keypersons-data__sns-list {
    gap: 16px;
  }
}

.p-keypersons-data__sns-button {
  display: block;
  position: relative;
  z-index: 0;
  background: 50% 50% no-repeat;
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  width: 48px;
  height: 48px;
  background-color: #323232;
  color: #fff;
  overflow: hidden;
  text-align: center;
  text-indent: 100%;
  transition: box-shadow .3s ease, background-color .3s ease, transform .3s ease;
  white-space: nowrap;
}

.p-keypersons-data__sns-button.-is-in {
  background-image: url(/community/ensen/assets/img/common/icon-in-white.png);
  background-size: 28px auto;
}

.p-keypersons-data__sns-button.-is-x {
  background-image: url(/community/ensen/assets/img/common/icon-x-white.png);
  background-size: 24px auto;
}

.p-keypersons-data__sns-button.-is-fb {
  background-image: url(/community/ensen/assets/img/common/icon-fb-white.png);
  background-size: 30px auto;
}

.p-keypersons-data__sns-button.-is-yt {
  background-image: url(/community/ensen/assets/img/common/icon-yt-white.png);
  background-size: 30px auto;
}

.p-keypersons-data__sns-button.-is-lin {
  background-image: url(/community/ensen/assets/img/common/icon-lin-white.png);
  background-size: 28px auto;
  background-position: 58% 50%;
}

.p-keypersons-data__comment {
  background-color: #f6f2e9;
  border-radius: 16px;
  margin-top: 36px;
  padding: 0 16px 14px;
}

.p-keypersons-data__comment .-heading {
  font-size: 1rem;
  font-weight: 700;
  margin-top: -13px;
}

.p-keypersons-data__comment > *,
.p-keypersons-data__comment > p {
  font-size: 0.875rem;
  line-height: 1.6;
}

.p-keypersons-data__comment > * + * {
  margin-top: 8px;
}

@media screen and (min-width: 640px) {
  .p-keypersons-data__comment {
    margin-top: 44px;
    padding: 0 24px 18px;
  }
  .p-keypersons-data__comment > *,
  .p-keypersons-data__comment > p {
    font-size: 1rem;
  }
  .p-keypersons-data__comment > * + * {
    margin-top: 12px;
  }
}

/* アコーディオン
/*+---------------------------------*/
.js-accordion {
  display: none;
}

@media screen and (max-width: 960px) {
  .js-accordion--sp-only {
    display: none;
  }
}

/* アンカーリンクの遷移先
/*+---------------------------------*/
.js-anchor-target {
  margin-top: -88px;
  padding-top: 88px;
}

@media screen and (max-width: 960px) {
  .js-anchor-target {
    margin-top: -64px;
    padding-top: 64px;
  }
}

/* トップページのアニメーション
/*+---------------------------------*/
.js-fadein-mvItem {
  transform-origin: center center;
  transition: opacity .8s ease;
}

.js-fadein-mvItem[aria-hidden="false"] {
  opacity: 1;
}

.js-fadein-mvItem[aria-hidden="true"] {
  opacity: 0;
}

.js-fadeinItem {
  transform-origin: center center;
  transition: opacity .8s ease, transform .8s ease;
}

.js-fadeinItem[aria-hidden="false"] {
  opacity: 1;
  transform: translateY(0);
}

.js-fadeinItem[aria-hidden="true"] {
  opacity: 0;
  transform: translateY(-50px);
}

.js-fadeinItem[aria-hidden="true"].is-notSlideIn {
  transform: translateY(0);
}

/* メガメニュー
/*+---------------------------------*/
.js-megamenu {
  display: none;
}

/* 電話番号リンク
/*+---------------------------------*/
.js-tel-link {
  color: #323232;
  cursor: default;
}

.js-tel-link.is-active {
  text-decoration: underline;
}

/* SP時に一部コンテンツが隠れる
/*+---------------------------------*/
.js-spHiddenItemList.is-close {
  margin: 0 auto;
}

.js-showMoreItemButton {
  display: block;
  margin: 0 auto;
  border: 1px solid #323232;
  border-radius: 100%;
  width: 43px;
  height: 43px;
  color: #323232;
  font-size: 0.625rem;
  font-family: "Lato", "Lucida Grande", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo UI", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  text-align: center;
}

.js-showMoreItemButton:after {
  display: block;
  content: '';
  margin: 5px auto 0;
  width: 8px;
  height: 5px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% auto;
}

.js-showMoreItemButton[aria-expanded="false"]:after {
  background-image: url(../img/common/arrow-showMore-more.svg);
}

.js-showMoreItemButton[aria-expanded="true"]:after {
  background-image: url(../img/common/arrow-showMore-close.svg);
}

@media screen and (min-width: 960px) {
  .js-showMoreItemButton {
    display: none;
  }
}

/* お問い合わせフォーム
/*+---------------------------------*/
/* --- 送信ボタン --- */
#js-submitButton:disabled {
  box-shadow: none;
  background-color: #cccccc;
  cursor: default;
}

#js-submitButton:disabled:after {
  background-image: url(../img/common/arrow-right-white.svg);
}

#js-submitButton:disabled:hover {
  background-color: #cccccc;
  transform: none;
}

/* 沿線価値向上プロジェクトとは
/*+---------------------------------*/
.js-about-animationWrap {
  transition: opacity .8s ease;
}

.js-about-animationWrap[aria-hidden="true"] {
  opacity: 0;
}

.js-about-animationWrap[aria-hidden="false"] {
  opacity: 1;
}

.js-about-animationWrap__item {
  transition: opacity .8s ease, transform .4s ease;
}

.js-about-animationWrap__item[aria-hidden="true"] {
  opacity: 0;
}

.js-about-animationWrap__item[aria-hidden="false"] {
  opacity: 1;
}

/* 余白
/*+---------------------------------*/
.u-mt0 {
  margin-top: 0 !important;
}

.u-mb0 {
  margin-bottom: 0 !important;
}

/* 表示
/*+---------------------------------*/
.u-overflow-hidden {
  overflow: hidden;
}

/* 改行
/*+---------------------------------*/
.u-deviceS-only {
  display: block;
}

@media screen and (min-width: 480px) {
  .u-deviceS-only {
    display: none !important;
  }
}

.u-deviceM-only {
  display: none;
}

@media screen and (min-width: 480px) {
  .u-deviceM-only {
    display: block !important;
  }
}

.u-deviceL-only {
  display: none;
}

@media screen and (min-width: 960px) {
  .u-deviceL-only {
    display: block !important;
  }
}

/* レイアウト
/*+---------------------------------*/
.u-align--left {
  text-align: left !important;
}

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

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

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

@media screen and (max-width: 480px) {
  .u-align--pc-center {
    text-align: left !important;
  }
}
