@charset "UTF-8";
.u-desktop {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-desktop {
    display: none;
  }
}

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

body {
  font-family: "Noto Sans JP", sans-serif;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 16px;
  font-size: 1rem;
  line-height: 1.8 !important;
}

body.is-fixed {
  height: 100%;
  overflow: hidden !important;
}

main {
  overflow: hidden;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* 初期状態: 非表示で下に少し移動 */
.fadeup {
  opacity: 0;
  -webkit-transform: translateY(20px);
          transform: translateY(20px);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease;
  transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
}

/* 表示状態: フェードアップ完了 */
.fadeup.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* リキッドレイアウト対応 */
html {
  font-size: 16px;
}
@media (max-width: 1200px) {
  html {
    font-size: 1.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 16px;
  }
}
@media (max-width: 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
a:hover {
  opacity: 0.7;
}

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

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core root defaults */
html {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

body.home {
  background-color: #3999d5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

fieldset,
legend,
button {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

input[type=date],
input[type=datetime-local],
input[type=month],
input[type=time] {
  margin: 0;
  padding: 4px;
  border: 1px solid #ccc;
  outline: none;
  font-size: 16px;
}

input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=url],
input[type=search],
input[type=number],
input[type=datetime],
input[type=week],
textarea,
select {
  margin-right: 0;
  margin-left: 0;
  padding: 4px;
  border: 1px solid #ccc;
  border-radius: 0;
  outline: none;
  background: none;
  font-size: 16px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  width: 100%;
  height: 100px;
  overflow: auto;
}

select {
  padding-right: 30px;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALJJREFUeNrslssNgCAQRCmB0ijBEuyEEijBEijBEizBEnAPy0UBWVj8JDvJJB5w3gsXVUoikXwsBrpAPdRCNcOmxi2P2yZ3cIKGU9dOCY0b590pdXhPHOyRyMEDsi4JhVIlSvBYTRGgSNTAQ+pFyyBRC7e5AdchUQt3d1fYIsEGb5Fgh1MktlFwisQwOIeE4/pGuDfhLRLscIrEMHiNxHB4SeIxeMyMPxkenyUSyT9zCDAAj5btZ4c3zaUAAAAASUVORK5CYII=");
  background-repeat: no-repeat;
  background-size: 12px 12px;
  background-position: right 8px center;
}

.select {
  display: inline-block;
  position: relative;
  overflow: hidden;
  background: #fff;
}

.select select {
  width: 100%;
  padding-right: 24px;
  border: 1px solid #ccc;
  background: none;
  text-overflow: "";
  cursor: pointer;
}

.select::before {
  position: absolute;
  top: 13px;
  right: 8px;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #666;
  pointer-events: none;
}

/* radio & checkbox */
input[type=radio],
input[type=checkbox] {
  display: none;
}

input[type=radio] + span,
input[type=checkbox] + span {
  display: inline-block;
  position: relative;
  margin-left: 8px;
  padding: 10px 20px;
  color: #555;
  font-size: 22.4px;
  font-size: 1.4rem;
  text-align: center;
  line-height: 1;
  cursor: pointer;
}

input[type=radio] + span::before,
input[type=checkbox] + span::before {
  position: absolute;
  top: 50%;
  left: -8px;
  width: 16px;
  height: 16px;
  content: "";
  margin-top: -8px;
  border: 1px solid #ccc;
  background: #fff;
}

/* fieldset */
fieldset {
  padding: 8px 16px;
  border: 1px solid #ccc;
}

legend {
  padding: 0 8px;
}

/* button */
input[type=submit],
input[type=reset],
input[type=button] {
  display: inline-block;
  margin: 0;
  padding: 10px 30px;
  border: 1px solid #999;
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  background: #efefef;
  color: #000;
  font-size: 20px;
  cursor: pointer;
}

/* ブラウザ対策
---------------------------------------------------------------------------- */
/* Firefox */
/* IE */
select::-ms-expand {
  display: none;
}

/* webkit */
/* iOS */
input[type=submit]::-webkit-search-decoration,
input[type=reset]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration,
input[type=search]::-webkit-search-decoration {
  display: none;
}

::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

input[type=search]::-webkit-search-decoration {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  -moz-appearance: none;
  -webkit-appearance: textfield;
  -webkit-box-sizing: border-box;
  -webkit-appearance: none;
          appearance: none;
  background: none;
  outline: none;
  font-size: 16px;
}

/* 挙動
---------------------------------------------------------------------------- */
/* hover */
input:hover,
textarea:hover,
select:hover {
  border-color: #666;
}

input[type=radio] + span:hover,
input[type=checkbox] + span:hover {
  color: #000;
}

input[type=radio] + span:hover::before,
input[type=checkbox] + span:hover::before {
  border-color: #000;
}

input[type=radio] + span:hover::after,
input[type=checkbox] + span:hover::after {
  position: absolute;
  content: "";
  top: 50%;
  left: -4px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  background: #ccc;
}

/* checked */
input[type=radio]:checked + span,
input[type=checkbox]:checked + span {
  color: #3498db;
}

input[type=radio]:checked + span::before,
input[type=checkbox]:checked + span::before {
  border-color: #3498db;
}

input[type=radio]:checked + span::after,
input[type=checkbox]:checked + span::after {
  position: absolute;
  content: "";
  top: 50%;
  left: -4px;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  background: #3498db;
}

/* radio */
input[type=radio] + span::before,
input[type=radio] + span:hover::after,
input[type=radio]:checked + span::after {
  border-radius: 50%;
}

/* button */
input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover {
  border-color: #3498db;
  background: #3498db;
  color: #fff;
}

/* focus */
input:focus,
textarea:focus {
  border-color: #3498db;
}

input[type=submit]:focus,
input[type=reset]:focus,
input[type=button]:focus,
input[type=search]:focus {
  outline-offset: -2px;
}

/* disabled */
input:disabled,
input:disabled:hover,
textarea:disabled,
textarea:disabled:hover {
  border-color: #ccc;
  background: #eee;
  cursor: not-allowed;
}

input[type=radio]:disabled + span,
input[type=checkbox]:disabled + span {
  color: #ccc;
  cursor: not-allowed;
}

input[type=radio]:disabled + span::before,
input[type=checkbox]:disabled + span::before {
  border-color: #ccc;
  cursor: not-allowed;
}

/* バリデーション */
/* placeholder */
/* 丸矢印のリンクボタン
------------------------------------------------ */
.c-anchorBtn {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 18px;
  font-size: 1.125rem;
  color: #0097d7;
}
@media screen and (max-width: 767px) {
  .c-anchorBtn {
    font-size: 1rem;
  }
}

.c-anchorBtn a {
  position: relative;
}

.c-anchorBtn a span {
  display: grid;
  place-items: center;
  position: absolute;
  top: 50%;
  right: -80px;
  right: -5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  vertical-align: middle;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid #0087d2;
  border-radius: 50%;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .c-anchorBtn a span {
    width: 1.875rem;
    height: 1.875rem;
    right: -2.5rem;
  }
}

.c-anchorBtn a:hover span {
  right: -90px;
  right: -5.625rem;
}

.c-anchorBtn.--drawer {
  font-size: 20px;
  font-size: 1.25rem;
  color: #0097d7;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .c-anchorBtn.--drawer {
    font-size: 1rem;
  }
}

.c-anchorBtn.--drawer a {
  display: block;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #0a0f29;
}
@media screen and (max-width: 767px) {
  .c-anchorBtn.--drawer a {
    padding-bottom: 1rem;
  }
}

.c-anchorBtn.--drawer a span {
  right: 20px;
  right: 1.25rem;
  top: 35%;
  width: 30px;
  width: 1.875rem;
  height: 30px;
  height: 1.875rem;
  background-image: none;
}

.c-anchorBtn.--drawer a:hover span {
  right: 10px;
  right: 0.625rem;
}

/* アニメーション イラスト
------------------------------------------------ */
/* 回転するアニメーション */
@-webkit-keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  30% {
    -webkit-transform: translate(20px, -20px);
            transform: translate(20px, -20px);
  }
  65% {
    -webkit-transform: translate(-30px, -40px);
            transform: translate(-30px, -40px);
  }
}
@keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  30% {
    -webkit-transform: translate(20px, -20px);
            transform: translate(20px, -20px);
  }
  65% {
    -webkit-transform: translate(-30px, -40px);
            transform: translate(-30px, -40px);
  }
}
/* このクラスをつけると回転を無限に繰り返します */
.c-bgIllust {
  -webkit-animation: 16s fuwafuwa infinite linear;
          animation: 16s fuwafuwa infinite linear;
}

.c-bgsymbol {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 500px;
  width: 31.25rem;
  height: 300px;
  height: 18.75rem;
  opacity: 0.1;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .c-bgsymbol {
    width: 12.5rem;
    height: 7.5rem;
  }
}

.c-bgsymbol.--disp {
  display: block;
}

/* 青ボタン（ノーマルタイプ）
------------------------------------------------ */
.c-btn a {
  display: inline-block;
  width: 100%;
  max-width: 194px;
  max-width: 12.125rem;
  padding: 12px 5px;
  padding: 0.75rem 0.3125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 14px;
  font-size: 0.875rem;
  color: #ff8d01;
  text-align: center;
  background-color: #fff;
  border-radius: 2rem;
  border: 1px solid #308459;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c-btn a:hover {
  background-color: #308459;
  color: #fff;
}

/* ハンバーガーボタン
------------------------------------------------ */
.c-hamburger {
  width: 56px;
  width: 3.5rem;
  height: 56px;
  height: 3.5rem;
  border-radius: 50%;
  z-index: 10;
  padding: 0 0;
}
@media screen and (max-width: 767px) {
  .c-hamburger {
    width: 2.5rem;
    height: 2.5rem;
  }
}

.c-hamburger.open {
  background-color: #fff;
}

.c-hamburger span {
  position: relative;
  display: block;
  height: 2px;
  height: 0.125rem;
  width: 100%;
  background-color: #0097d7;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out;
  /*box-shadow: rem(1) rem(1) rem(1) rem(1) rgb(0 0 0 / 20%);*/
}
.c-hamburger--black span {
  background-color: #3A67B1;
}

.c-hamburger.open span {
  width: 80%;
  margin-left: auto;
  margin-right: auto;
  background-color: #3A67B1;
  -webkit-box-shadow: inherit;
          box-shadow: inherit;
}

.c-hamburger span:nth-child(1) {
  top: 0;
}

.c-hamburger span:nth-child(2) {
  margin: 10px 0;
  margin: 0.625rem 0;
}
@media screen and (max-width: 767px) {
  .c-hamburger span:nth-child(2) {
    margin: 0.375rem 0;
  }
}

.c-hamburger span:nth-child(3) {
  top: 0;
}

.c-hamburger.open span:nth-child(1) {
  top: 12px;
  top: 0.75rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .c-hamburger.open span:nth-child(1) {
    top: 0.5rem;
  }
}

.c-hamburger.open span:nth-child(2) {
  background-color: transparent;
}

.c-hamburger.open span:nth-child(3) {
  top: -12px;
  top: -0.75rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .c-hamburger.open span:nth-child(3) {
    top: -0.5rem;
  }
}

/* アイコン付きのボタン
------------------------------------------------ */
.c-iconBtn {
  text-align: center;
}

.c-iconBtn a {
  padding: 10px 30px;
  padding: 0.625rem 1.875rem;
  border: 1px solid #fff;
  border-radius: 1.5625rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .c-iconBtn a {
    padding: 0.625rem 1rem;
  }
}

.c-iconBtn a span {
  position: relative;
  top: 2px;
  top: 0.125rem;
  display: inline-block;
  margin-right: 10px;
  margin-right: 0.625rem;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.c-iconBtn a span[data-type=member] {
  width: 12px;
  width: 0.75rem;
  height: 16px;
  height: 1rem;
  -webkit-mask: url(../images/common/icon-lock.png) no-repeat center bottom/contain;
          mask: url(../images/common/icon-lock.png) no-repeat center bottom/contain;
  background-color: #fff;
}

.c-iconBtn a span[data-type=en] {
  width: 17px;
  width: 1.0625rem;
  height: 17px;
  height: 1.0625rem;
  -webkit-mask: url(../images/common/icon-earth.png) no-repeat center bottom/contain;
          mask: url(../images/common/icon-earth.png) no-repeat center bottom/contain;
  background-color: #fff;
}

.c-iconBtn a:hover {
  color: #0a0f29;
  background-color: #fff;
}

.c-iconBtn a:hover span[data-type=member] {
  background-color: #0a0f29;
}

.c-iconBtn a:hover span[data-type=en] {
  background-color: #0a0f29;
}

.c-iconBtn.--drawer {
  color: #0090d5;
  font-weight: 100;
}

.c-iconBtn.--drawer a {
  padding: 6px 20px;
  padding: 0.375rem 1.25rem;
  border: 1px solid #0090d5;
  border-radius: 1.25rem;
}

.c-iconBtn.--drawer a span[data-type=member] {
  background-color: #0090d5;
}

.c-iconBtn.--drawer a span[data-type=en] {
  background-color: #0090d5;
}

.c-iconBtn.--drawer a:hover {
  color: #fff;
  background-color: #0090d5;
}

.c-iconBtn.--drawer a:hover span[data-type=member] {
  background-color: #fff;
}

.c-iconBtn.--drawer a:hover span[data-type=en] {
  background-color: #fff;
}

/* 更新情報の日付
------------------------------------------------ */
.c-infoText {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #111;
}
@media screen and (max-width: 767px) {
  .c-infoText {
    font-size: 0.875rem;
  }
}

time.c-infoText {
  color: #787878;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  time.c-infoText {
    font-size: 0.75rem;
  }
}

time.c-infoText.--blue {
  color: #0097d7;
}

.c-infoText.--bg {
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .c-infoText.--bg {
    font-size: 0.9375rem;
  }
}

.c-sectionHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* 大サイズ セクションタイトル
------------------------------------------------ */
.c-sectTitle {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #00449b;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-sectTitle {
    font-size: 1.3125rem;
  }
}

.c-sectTitle span {
  display: block;
  margin-bottom: 18px;
  margin-bottom: 1.125rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1;
  color: #333;
  text-transform: capitalize;
  letter-spacing: 0.48px;
  letter-spacing: 0.03rem;
}
@media screen and (max-width: 767px) {
  .c-sectTitle span {
    font-size: 1rem;
  }
}

.c-sectTitle.--left {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-sectTitle.--left {
    text-align: center;
  }
}

span.c-sectTitle__bg-head {
  top: -80px;
  top: -5rem;
  left: -10px;
  left: -0.625rem;
  -webkit-transform: inherit;
          transform: inherit;
}
@media screen and (max-width: 767px) {
  span.c-sectTitle__bg-head {
    top: -3.75rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.c-sectTitle.--left:after {
  left: 0;
  -webkit-transform: inherit;
          transform: inherit;
}
@media screen and (max-width: 767px) {
  .c-sectTitle.--left:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.c-sectTitle.--interview {
  color: #fff;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .c-sectTitle.--interview {
    text-align: center;
  }
}

.c-sectTitle.--interview span {
  color: #fff;
  left: 0;
  -webkit-transform: inherit;
          transform: inherit;
}
.c-sectTitle.--interview:after {
  left: 0;
  -webkit-transform: inherit;
          transform: inherit;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .c-sectTitle.--interview:after {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.c-sectTitle.--project {
  z-index: 1;
  text-align: left;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-sectTitle.--project {
    color: #111;
  }
}

.c-sectTitle.c-sectTitle.--project span {
  top: -210px;
  top: -13.125rem;
  left: -10px;
  left: -0.625rem;
  -webkit-transform: inherit;
          transform: inherit;
  font-size: 100px;
  font-size: 6.25rem;
}
@media screen and (max-width: 767px) {
  .c-sectTitle.c-sectTitle.--project span {
    top: -10.625rem;
    font-size: 5rem;
  }
}

/* 小サイズ セクションタイトル
------------------------------------------------ */
.c-sm-sectTitle {
  position: relative;
  padding-top: 50px;
  padding-top: 3.125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  color: #111;
}
@media screen and (max-width: 767px) {
  .c-sm-sectTitle {
    font-size: 1.125rem;
  }
}

.c-sm-sectTitle:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  width: 3.75rem;
  height: 1px;
  height: 0.0625rem;
  background-color: #00449b;
}

.c-sm-sectTitle span {
  display: block;
  margin-top: 18px;
  margin-top: 1.125rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  color: #00449b;
  text-transform: capitalize;
}
@media screen and (max-width: 767px) {
  .c-sm-sectTitle span {
    font-size: 0.875rem;
  }
}

/* -----------------------------------------------------------------
  2021年CSS
----------------------------------------------------------------- */
/* コンテンツ
------------------------------------------------ */
div#contents {
  padding: 80px 15px 0;
  padding: 5rem 0.9375rem 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  div#contents .l-inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.topatt {
  margin: 60px auto 40px auto;
  margin: 3.75rem auto 2.5rem auto;
  padding: 0 15px;
  padding: 0 0.9375rem;
  text-align: center;
}

/* ぱんくずリスト
------------------------------------------------ */
.pan {
  margin: 0 auto;
  font-size: 12px;
  font-size: 0.75rem;
}

.pan .inr {
  padding: 20px 0;
  padding: 1.25rem 0;
}

@media only screen and (max-width: 768px) {
  .pan .inr {
    padding: 1.25rem 0.9375rem;
  }
}
/* メイン
------------------------------------------------ */
.l_page_main_inr {
  max-width: 1000px;
  margin: 0 auto;
}

.mainpad {
  padding: 0 0 0;
  margin: 0 auto;
}

.mainpad p {
  margin: 1.3em 0;
  line-height: 1.8;
}

.mainpad.single figure {
  margin: 1.3em 0;
}

.mainpad.single {
  padding: 0 0 5em;
  margin: 0 auto;
  max-width: 1000px;
  max-width: 62.5rem;
}

.mainpad.single p {
  margin: 1em 0;
  font-size: 15px;
  font-size: 0.9375rem;
}

.singledate {
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .singledate {
    font-size: 0.875rem;
  }
}

.singlecat {
  padding: 2px 3px;
  margin-left: 10px;
  color: #ccc;
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .singlecat {
    font-size: 0.875rem;
  }
}

@media screen and (min-width: 1500px) {
  .l_page_main_inr {
    max-width: 81.25rem;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 768px) {
  .main .inr {
    overflow: hidden;
  }

  .mainpad {
    padding: 0 0 1.25rem;
    margin: 0 auto;
  }
}
/* フッター
------------------------------------------------ */
div#footer {
  padding: 50px 0 0;
  padding: 3.125rem 0 0;
  background: #fffbee;
}

div.footerinr {
  position: relative;
  margin: 0 auto;
  max-width: 1080px;
}

ul.fmenulist li {
  display: inline;
}

ul.fmenulist li a {
  padding: 5px 10px;
}

.link1, .link2, .link3, .link4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.link1 .ttl, .link1 .link1pad ul.fmenulist li a {
  color: #ffc852;
}

.link2 .ttl, .link2 .link2pad ul.fmenulist li a {
  color: #40c8ee;
}

.link3 .ttl, .link3 .link3pad ul.fmenulist li a {
  color: #fba8a8;
}

.link4 .ttl, .link4 .link4pad ul.fmenulist li a {
  color: #b7aa00;
}

.link1 .ttl, .link1 .link1pad ul.fmenulist li {
  color: #ffc852;
}

.link2 .ttl, .link2 .link2pad ul.fmenulist li {
  color: #40c8ee;
}

.link3 .ttl, .link3 .link3pad ul.fmenulist li {
  color: #fba8a8;
}

.link4 .ttl, .link4 .link4pad ul.fmenulist li {
  color: #b7aa00;
}

.link1 .ttl, .link2 .ttl, .link3 .ttl, .link4 .ttl {
  width: 20%;
}

.link1pad, .link2pad, .link3pad, .link4pad {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 80%;
}

.fmenu .ttl {
  font-weight: bold;
  font-size: 15px;
  font-size: 0.9375rem;
  margin: 0 0 1em;
}

.farchive {
  font-size: 13px;
  font-size: 0.8125rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  border-top: 1px solid #000;
  padding: 30px 0;
  padding: 1.875rem 0;
  margin: 60px 0 0;
  margin: 3.75rem 0 0;
}

.farchive .ttl {
  font-weight: bold;
  width: 30%;
  padding: 3px 6px;
}

.farchive .list {
  width: 70%;
}

.farchive .list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
}

.farchive .list ul li a {
  padding: 3px 6px;
  display: block;
}

.fbottom {
  padding: 30px 0;
  padding: 1.875rem 0;
  background: #fff;
}

.fbottom .inr {
  position: relative;
  margin: 0 auto;
  max-width: 1080px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.fbottom .add {
  margin-top: auto;
  padding-left: 30px;
  padding-left: 1.875rem;
  width: 50%;
  font-size: 12px;
  font-size: 0.75rem;
}

.ftottom-inr2 {
  margin-top: auto;
  width: 15%;
}

.fbottom-inr3 {
  margin-top: auto;
  width: 35%;
}

.add-inr {
  padding-top: 5%;
}

.fbottom .copy {
  font-size: 12px;
  font-size: 0.75rem;
  font-family: "Raleway", sans-serif;
  padding-top: 5%;
}

.fbottom .add img {
  width: 330px;
  width: 20.625rem;
}

.fbottom .add div {
  padding: 10px 0s;
}

.fcontact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 50px 20px;
  padding: 3.125rem 1.25rem;
  background: #ffbc2e;
}

.fcontactinr {
  position: relative;
  margin: 0 auto;
  max-width: 1080px;
}

.fcontactinr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.fcontactinr .inr {
  width: 50%;
}

.fcontactinr .inr2 {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.fcontact .inr .ttl {
  color: white;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: bold;
}

.fcontact .inr .ttl2 {
  color: white;
  font-size: 17px;
  font-size: 1.0625rem;
}

.fcontact .inr .tel {
  color: white;
  font-size: 40px;
  font-size: 2.5rem;
}

.fcontact-btn {
  text-align: center;
  width: 200px;
  width: 12.5rem;
  margin: 0 10px;
  margin-top: auto;
  padding: 15px 0;
  padding: 0.9375rem 0;
  background-color: white;
  color: #ffbc2e;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: bold;
  display: inline-block;
  text-decoration: none;
}

.fcontact-btn p {
  padding: 10% 20%;
}

@media only screen and (max-width: 1024px) {
  .fmenu {
    display: block;
  }

  div.footerinr {
    padding: 0 2.5rem;
  }

  .fbottom .inr {
    display: block;
    text-align: center;
  }

  .fbottom .add {
    width: 100%;
    font-size: 0.75rem;
    margin: 10px 0;
  }

  .fbottom .copy {
    width: 100%;
    font-size: 0.75rem;
    padding: 3% 0;
  }

  .fbottom .add img {
    max-width: 17.5rem;
    margin: 10px 0;
  }

  .farchive {
    font-size: 0.8125rem;
    display: block;
  }

  .farchive .ttl {
    width: 100%;
    text-align: center;
    margin: 0 0 10px;
  }

  .farchive .list {
    width: 100%;
  }

  .farchive .list ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .farchive .list ul li {
    width: 20%;
    text-align: center;
  }

  .fmenu .ttl {
    margin: 0;
  }

  .fcontact .inr .ttl2 {
    font-size: 0.9375rem;
  }

  .link1, .link2, .link3, .link4 {
    display: block;
  }

  .link2 {
    margin: 1.875rem auto;
    width: 100%;
  }

  .link4 {
    margin-top: 1.875rem;
  }

  .link1 .ttl, .link2 .ttl, .link3 .ttl, .link4 .ttl {
    width: 100%;
  }

  .link1pad, .link2pad, .link3pad, .link4pad {
    width: 100%;
  }

  .fbottom .add {
    padding: 0;
  }

  .ftottom-inr2 {
    width: 100%;
  }

  .fbottom-inr3 {
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  div.footerinr {
    padding: 0 1.25rem;
  }

  ul.fmenulist li {
    font-size: 0.75rem;
    letter-spacing: 0;
  }

  .farchive .ttl {
    padding: 3px 0;
  }

  .fbottom .add img {
    width: 15.625rem;
  }

  .fbottom .add {
    font-size: 0.6875rem;
  }

  .fcontactinr {
    display: block;
  }

  .fcontactinr .inr {
    width: 100%;
    margin-bottom: 1.25rem;
  }

  .fcontactinr .inr2 {
    width: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
/* トップ
------------------------------------------------ */
.top-img {
  width: 90%;
  margin: auto;
  margin-bottom: 20px;
  margin-bottom: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.banner1, .banner2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 50%;
}

.ttl-details {
  padding: 15px 0;
  padding: 0.9375rem 0;
}

/*INFOMATION*/
.projectinfo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 50px 0;
  padding: 3.125rem 0;
}

.infottl {
  width: 30%;
  text-align: center;
}

.list {
  width: 70%;
}

.infolist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

ul.infolist {
  padding: 3px 0;
}

.infolist li {
  font-size: 15px;
  font-size: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 33.3333333333%;
}

.infolist li:before {
  border-top: 1px solid;
  content: "";
  width: 2em;
  /* 線の長さ */
}

.infolist li a {
  padding-left: 15px;
  padding-left: 0.9375rem;
}

/*MAIN PROJECT*/
.topproject {
  background: url(images/t_project_bg.jpg) no-repeat center top;
  background-size: cover;
}

.topproject-ttl {
  text-align: center;
  padding-top: 100px;
  padding-top: 6.25rem;
}

.topproject-slider {
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}

.facebookttl {
  padding-bottom: 16px;
  padding-bottom: 1rem;
}

.topttlB span {
  color: #ffbc2e;
  font-size: 40px;
  font-size: 2.5rem;
}

/*ACTIVITY REPORT news*/
.topnews1 {
  background: url(images/top_back1.png) no-repeat;
  padding-bottom: 60px;
  padding-bottom: 3.75rem;
}

.top-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 90%;
  padding: 100px 100px 0 100px;
  padding: 6.25rem 6.25rem 0 6.25rem;
  margin-left: auto;
}

.top-inr {
  width: 90%;
  margin-left: auto;
}

.top-inr p {
  padding-bottom: 15px;
  padding-bottom: 0.9375rem;
}

.moreA {
  margin-left: auto;
  position: relative;
  padding: 20px;
  padding: 1.25rem;
  min-width: 125px;
  text-align: center;
  color: #000;
  font-size: 15px;
  font-size: 0.9375rem;
}

.moreA a:after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 20px;
  right: 1.25rem;
  top: 50%;
  width: 32px;
  width: 2rem;
  height: 14px;
  height: 0.875rem;
  margin-top: -7px;
  margin-top: -0.4375rem;
  background: url(images/arw_blk.svg) no-repeat center center;
  background-size: contain;
}

.icon-more {
  font-size: 17px;
  font-size: 1.0625rem;
}

.topnewslist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 90%;
  margin: auto;
  margin-top: 70px;
  margin-top: 4.375rem;
}

/*ABOUT*/
.topnews2 {
  background: url(images/top_back2.png) no-repeat;
  background-position: top 50px right -27px;
  background-position: top 3.125rem right -1.6875rem;
}

.topabout {
  background-position: top 50px right -27px;
  background-position: top 3.125rem right -1.6875rem;
}

.about1, .about2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.about-inr1, .about-inr2 {
  width: 50%;
}

.about-inr3, .about-inr4 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.about-inr1 img, .about-inr2 img {
  width: 1000px;
}

.about_img {
  margin-bottom: 35px;
  margin-bottom: 2.1875rem;
}

/*MEDIA*/
.media {
  width: 90%;
  margin-left: auto;
}

.media-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 90%;
  margin-left: auto;
}

.media-inr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
}

.media-inr2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 5px;
}

.media-time {
  color: #ffbc2e;
}

.media-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-left: 50px;
  padding-left: 3.125rem;
}

.tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tab li {
  color: #333;
  border: 1px solid #ffbc2e;
  cursor: pointer;
  list-style: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  width: 15%;
  margin: 0 1%;
  text-align: center;
  padding: 5px 0;
}

.media-category {
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  padding-right: 25px;
  padding-right: 1.5625rem;
}

.media-category ul li:nth-child(6n+1) {
  margin: 0 1% 0 0;
}

.media-category ul li:nth-child(6n) {
  margin: 0 0 0 1%;
}

.tab li.active {
  color: #fff;
  background: #ffbc2e;
  cursor: auto;
}

.area {
  padding-right: 25px;
  padding-right: 1.5625rem;
}

.area ul {
  display: none;
}

.area ul.show {
  display: block;
}

.area ul.show li {
  border-bottom: solid 1px #d8d8d8;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
}

.media-category-sub {
  background: #ffdb8e;
  margin-right: 5px;
  padding: 0 10px;
}

/*SNS*/
.topsns-ttl {
  width: 50%;
}

.topsns-ttl h2.topttlB {
  padding-left: 50px;
  padding-left: 3.125rem;
}

/*NEWS*/
.topnews .inr {
  max-width: 1180px;
  margin: 0 auto;
  padding: 80px;
  padding: 5rem;
}

.topnewslist li {
  width: 31%;
  margin-bottom: 3%;
}

.topnewslist li a {
  color: #000;
  display: block;
}

.t_newsdate {
  color: #ffbc2e;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
}

.t_newspad {
  padding: 20px 0;
  padding: 1.25rem 0;
  background-color: #fffbee;
}

.t_newspad_archive {
  padding: 20px 0;
  padding: 1.25rem 0;
  background-color: #ffffff;
}

.t_newspic {
  position: relative;
  -webkit-box-shadow: 0 0 0.9375rem #93aba3;
          box-shadow: 0 0 0.9375rem #93aba3;
}

.t_newspic img {
  margin: 0 auto;
  display: block;
}

.newslist {
  margin: 70px auto 40px;
  margin: 4.375rem auto 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.newslist li {
  width: 29.33%;
  margin: 0 2% 3%;
  background: #fff;
}

.newslist li a {
  display: block;
}

.report {
  position: absolute;
  bottom: -25px;
  bottom: -1.5625rem;
  right: 10px;
  right: 0.625rem;
  border-radius: 100% 100%;
  background: #00b7ee;
  padding: 25px 10px;
  padding: 1.5625rem 0.625rem;
  color: #fff;
  font-size: 13px;
  font-size: 0.8125rem;
  z-index: 1;
}

.info {
  position: absolute;
  bottom: -25px;
  bottom: -1.5625rem;
  right: 10px;
  right: 0.625rem;
  border-radius: 100% 100%;
  background: #ffbc2e;
  padding: 25px 10px;
  padding: 1.5625rem 0.625rem;
  color: #fff;
  font-size: 13px;
  font-size: 0.8125rem;
  z-index: 1;
}

.cat3 {
  position: absolute;
  bottom: -25px;
  bottom: -1.5625rem;
  right: 10px;
  right: 0.625rem;
  border-radius: 100% 100%;
  background: #fd9243;
  padding: 25px 10px;
  padding: 1.5625rem 0.625rem;
  color: #fff;
  font-size: 13px;
  font-size: 0.8125rem;
  z-index: 1;
}

.ar-nav {
  margin: 50px auto 0 auto;
  text-align: center;
}

@media only screen and (max-width: 960px) {
  .topnews h2 {
    width: auto;
    margin: 0 !important;
  }

  .topnewslist {
    margin: 2.5rem auto;
    display: block;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  .topnewslist li {
    width: 94%;
    margin: 3%;
    background: #fff;
    max-width: 720px;
  }
}
@media only screen and (max-width: 768px) {
  .topnews {
    margin-top: 9.375rem;
    min-height: 6.25rem;
    background-size: cover;
  }

  .topnews .inr {
    padding: 5rem 1.25rem;
  }

  .newslist {
    margin: 4.375rem auto 2.5rem;
    display: block;
  }

  .newslist li {
    width: 95%;
    margin: 0 0 1.25rem;
    background: #fff;
  }

  .report {
    position: absolute;
    bottom: -1.5625rem;
    right: 0.625rem;
    border-radius: 100% 100%;
    background: #00b7ee;
    padding: 1.3125rem 0.3125rem;
    color: #fff;
    font-size: 0.6875rem;
    z-index: 1;
  }

  .info {
    position: absolute;
    bottom: -1.5625rem;
    right: 0.625rem;
    border-radius: 100% 100%;
    background: #ffbc2e;
    padding: 1.3125rem 0.3125rem;
    color: #fff;
    font-size: 0.6875rem;
    z-index: 1;
  }

  .cat3 {
    position: absolute;
    bottom: -1.5625rem;
    right: 0.625rem;
    border-radius: 100% 100%;
    background: #fd9243;
    padding: 1.3125rem 0.3125rem;
    color: #fff;
    font-size: 0.6875rem;
    z-index: 1;
  }
}
/*PROJECT*/
.topproject .inr {
  max-width: 1600px;
  margin: 0 auto;
  padding: 80px;
  padding: 5rem;
}

.slideproject {
  margin: 40px auto 80px;
  margin: 2.5rem auto 5rem;
}

.slider {
  margin: 20px 0 !important;
  margin: 1.25rem 0 !important;
}

.topproject .inr h2 {
  max-width: 1180px;
  margin: 0 auto;
}

.slider li div {
  margin: 0 10px;
  margin: 0 0.625rem;
  -webkit-box-shadow: 0 0 0.9375rem #93aba3;
          box-shadow: 0 0 0.9375rem #93aba3;
}

.block {
  overflow: hidden;
  margin: 100px auto 0;
  margin: 6.25rem auto 0;
}

.projectinfo h2 span {
  font-size: 18px;
  font-size: 1.125rem;
  margin-left: 20px;
  margin-left: 1.25rem;
}

@media only screen and (max-width: 1024px) {
  .projectinfo {
    max-width: 800px;
    margin: 2.5rem auto;
  }

  .infolist {
    display: block;
  }

  .projectinfo li {
    width: 100%;
  }

  .projectinfo li a {
    display: block;
    padding: 0.9375rem 2.5rem 0.9375rem 0;
  }

  img.slide-arrow.prev-arrow {
    left: -3%;
  }

  img.slide-arrow.next-arrow {
    right: -3%;
  }
}
@media only screen and (max-width: 768px) {
  .slider {
    margin: 1.875rem 0 !important;
  }

  .topproject .inr {
    padding: 3.75rem 1.875rem 2.5rem 1.875rem;
  }

  .infolist {
    margin: 0.9375rem 0 0;
  }

  .topproject {
    margin-top: 3.75rem;
    margin-bottom: 5rem;
    background-size: cover;
  }
}
/*ABOUT*/
.topabout {
  width: 100%;
}

.topabout .inr {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  z-index: 1;
}

.taboutwrap {
  margin: 10% 0 0;
}

.taboutlist {
  margin: 40px 0 60px;
  margin: 2.5rem 0 3.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.taboutlist li {
  width: 23%;
}

.taboutlist li a {
  position: relative;
  padding: 20px;
  padding: 1.25rem;
  color: #000;
  font-size: 15px;
  font-size: 0.9375rem;
  border: 1px solid #000;
  display: block;
  background: #fff;
  text-align: center;
}

.taboutlist li a:after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 20px;
  right: 1.25rem;
  top: 50%;
  width: 24px;
  width: 1.5rem;
  height: 14px;
  height: 0.875rem;
  margin-top: -7px;
  margin-top: -0.4375rem;
  background: url(images/arw_blk.svg) no-repeat center center;
  background-size: contain;
}

.topaboutp {
  line-height: 1.8;
  font-size: 16px;
  font-size: 1rem;
}

.topaboutp span {
  display: block;
}

.taboutcont {
  margin: 60px 0 0;
  margin: 3.75rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.taboutcont li {
  width: 47%;
  -webkit-box-shadow: 0 0 0.9375rem #ccc;
          box-shadow: 0 0 0.9375rem #ccc;
}

.taboutcont li h4 {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
}

.taboutcont li h4 span {
  font-size: 16px;
  font-size: 1rem;
}

.taboutcont li .txt {
  background: #ffbc2e;
  padding: 30px;
  padding: 1.875rem;
  color: #fff;
}

@media only screen and (max-width: 960px) {
  .taboutcont {
    margin: 2.5rem 0 0;
    display: block;
  }

  .taboutcont li {
    width: 94%;
    margin: 3%;
    max-width: 720px;
    background: #fff;
  }

  .topabout:after {
    top: 5%;
    width: 90%;
    min-height: 1200px;
  }

  .topabout .inr {
    padding: 5rem;
  }

  .taboutlist {
    margin: 2.5rem 0 3.75rem;
    display: block;
  }

  .taboutlist li {
    width: 100%;
    margin: 10px 0;
  }
}
@media only screen and (max-width: 768px) {
  .topabout .inr {
    padding: 0 3.75rem 0 1.875rem;
  }

  .taboutwrap h3 {
    font-size: 1.1875rem !important;
  }

  .topaboutp span {
    display: inline;
  }

  .topaboutp {
    line-height: 1.6;
    font-size: 0.875rem;
    text-align: left !important;
  }

  .taboutlist li a {
    padding: 0.9375rem;
  }

  .taboutcont li {
    width: 100%;
    margin: 0 0 3%;
    max-width: 720px;
    background: #fff;
  }

  .taboutcont li .txt {
    padding: 0.9375rem;
  }

  .taboutcont li h4 {
    font-size: 1.1875rem;
  }

  .topabout:after {
    min-height: 980px;
  }
}
/*CHANNEL*/
.topchannel {
  width: 100%;
  padding: 150px 0;
  padding: 9.375rem 0;
  position: relative;
}

.topchannel .inr {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  z-index: 1;
}

.topchannellist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.topchannellist li {
  width: 29%;
  margin: 2%;
}

.topchannel .topttlA {
  font-size: 70px;
  font-size: 4.375rem;
  font-weight: bold;
  position: relative;
  display: block;
}

.topchannel .topttlA span {
  font-size: 18px;
  font-size: 1.125rem;
  position: absolute;
  left: 43%;
  top: 20px;
  top: 1.25rem;
  line-height: 1.3;
}

.topchannel .topttlA span.disp {
  display: block;
  position: relative;
  left: 0;
  top: 0;
}

.topchannel h2 {
  position: relative;
  display: block;
  padding: 9px 20px;
  padding: 0.5625rem 1.25rem;
}

.topchannel h2::before {
  display: inline-block;
  margin-right: 10px;
  content: "";
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  background: url(images/channnel_icn.png) no-repeat center center;
  background-size: cover;
}

@media only screen and (max-width: 960px) {
  .topchannel {
    padding: 5rem 0 6.25rem;
  }

  .topchannel .topttlA {
    font-size: 2.5rem;
    text-align: center;
  }

  .topchannel .topttlA span {
    font-size: 0.9375rem;
    position: static;
    display: block;
    margin: 10px 0;
    line-height: 1;
  }

  .topchannel h2::before {
    width: 1.875rem;
    height: 1.875rem;
  }

  .topchannellist {
    display: block;
    padding: 0 5rem;
  }

  .topchannellist li {
    width: 100%;
    margin: 0 0 2%;
  }
}
@media only screen and (max-width: 768px) {
  .topchannel .topttlA span.disp {
    display: inline;
    line-height: 1.6;
    font-size: 0.875rem;
  }

  .topchannellist {
    display: block;
    padding: 0 1.875rem;
  }
}
/*SOCIAL*/
.topsns {
  padding: 32% 0 0;
  margin: 0 0 100px;
  margin: 0 0 6.25rem;
  background: url(images/top_sns_bg.jpg) no-repeat center top;
}

.topsns h2 {
  color: #fff;
  text-align: center;
  font-size: 15px !important;
  font-size: 0.9375rem !important;
  margin: -230px auto 0 !important;
  margin: -14.375rem auto 0 !important;
}

.topsns .inr {
  position: relative;
  max-width: 1180px;
  margin: 0 auto 0 auto;
  z-index: 1;
  background: #fff;
  padding: 80px;
  padding: 5rem;
}

.topsnslist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.topsnslist li {
  width: 47%;
}

.topsnslist .ttl {
  text-align: center;
  font-size: 26px;
  font-size: 1.625rem;
  font-weight: bold;
  margin: 0 0 30px;
  margin: 0 0 1.875rem;
}

.topsnslist .ttl img {
  width: 40px;
  width: 2.5rem;
  margin-right: 15px;
  margin-right: 0.9375rem;
}

@media only screen and (max-width: 960px) {
  .topsns {
    padding: 32% 5rem 0;
  }

  .topsns h2 {
    font-size: 4.375rem !important;
    margin: 0 auto !important;
  }

  .topsnslist {
    display: block;
  }

  .topsnslist li {
    width: 100%;
  }

  .topsns .inr {
    padding: 2.5rem;
  }
}
@media only screen and (max-width: 768px) {
  .topsns {
    padding: 32% 1.25rem 0;
  }

  .topsns .inr {
    padding: 2.5rem 1.25rem;
  }
}
/*BOTTOM CONTACT*/
.tabout a:after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 4%;
  top: 50%;
  width: 50px;
  width: 3.125rem;
  height: 20px;
  height: 1.25rem;
  margin-top: -10px;
  margin-top: -0.625rem;
  background: url(images/arw_blk.svg) no-repeat center center;
  background-size: contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.tabout a:hover:after {
  background: url(images/arw_wh.svg) no-repeat center center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform: translate(10px, 0) rotate(0);
  transform: translate(10px, 0) rotate(0);
}

.tabout a {
  color: #333;
  text-align: center;
  background: rgba(255, 255, 255, .7);
  position: relative;
  z-index: 1;
  overflow: hidden;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  max-width: 1080px;
  margin: 0 auto;
}

.tabout a:hover {
  opacity: 1;
  color: #fff;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background: #57cfcc;
}

.tabout a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  content: "";
  background: #ffbc2e;
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.tabout a:hover::before {
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

@media only screen and (max-width: 960px) {
  .fcontact {
    padding: 2.5rem;
  }

  .fcontact a .inr {
    position: relative;
    display: block;
  }

  .fcontact .inr .ttl {
    width: 100%;
    font-size: 2.25rem;
  }

  .fcontact .inr .tel {
    width: 100%;
    font-size: 2.375rem;
  }
}
@media only screen and (max-width: 768px) {
  .fcontact {
    padding: 1.25rem;
  }

  .fcontact .inr .ttl {
    width: 100%;
    font-size: 1.5rem;
  }

  .fcontact .inr .tel {
    width: 100%;
    font-size: 1.5rem;
  }

  .fcontact a .inr {
    position: relative;
    max-width: 1080px;
    margin: 0 auto;
    z-index: 1;
    padding: 1.5625rem 3.75rem 1.5625rem 1.5625rem;
  }

  .fcontact a .inr {
    position: relative;
    display: block;
  }

  .fcontact .inr .tel span {
    font-size: 0.875rem;
    display: block;
    text-align: center;
  }

  .fcontact a:after {
    right: 4%;
    top: 50%;
    width: 1.875rem;
    height: 1.25rem;
    margin-top: -0.625rem;
  }
}
/* ================================================
   見出し
================================================ */
h2.topttlA span.tblock {
  display: block;
}

h2.topttlA .jptxt {
  position: absolute;
  font-size: 18px;
  font-size: 1.125rem;
  left: 240px;
  left: 15rem;
  top: 30px;
  top: 1.875rem;
}

h3.topttlA {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: bold;
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
  line-height: 1;
  color: #ffbc2e;
  text-align: center;
}

h2.ttlA {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 30px;
  font-size: 1.875rem;
  position: relative;
  line-height: 1;
  margin-bottom: 2em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  h2.ttlA {
    font-size: 1.375rem;
  }
}

h2.ttlA:before {
  content: "・";
  display: block;
  font-size: 35px;
  font-size: 2.1875rem;
  color: #3999d5;
}

h2.ttlB {
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: bold;
  margin: 80px 0 40px 0;
  margin: 5rem 0 2.5rem 0;
  position: relative;
  line-height: 1;
}

h2.ttlC {
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: bold;
  margin: 40px 0;
  margin: 2.5rem 0;
  position: relative;
  line-height: 1;
  color: #ffbc2e;
}

h2.ttlD {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: bold;
  margin: 40px 0;
  margin: 2.5rem 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  h2.ttlD {
    font-size: 1.125rem;
  }
}

@media only screen and (max-width: 768px) {
  h2.ttlA {
    font-weight: bold;
    margin: 0 0 2.5rem;
    position: relative;
    line-height: 1;
  }
}
h2.ttlA span.tblock {
  display: block;
}

h2.ttlA .jptxt {
  font-size: 18px;
  font-size: 1.125rem;
  display: block;
  margin: 15px 0 0;
  margin: 0.9375rem 0 0;
}

h3.ttlA {
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
  line-height: 1;
}

@media only screen and (max-width: 768px) {
  h3.ttlA {
    font-size: 1.125rem;
  }
}
h3.ttlB {
  font-size: 21px;
  font-size: 1.3125rem;
  font-weight: bold;
  margin: 20px 0;
  margin: 1.25rem 0;
}

h4.ttlA {
  font-size: 16px;
  font-size: 1rem;
  margin: 30px 0;
  margin: 1.875rem 0;
  font-weight: bold;
}

h4.ttlB {
  font-size: 16px;
  font-size: 1rem;
  margin: 2em 0 1em;
  font-weight: bold;
}

h3.ttlC {
  font-size: 21px;
  font-size: 1.3125rem;
  font-weight: bold;
  text-align: center;
  margin: 40px 0 30px;
  margin: 2.5rem 0 1.875rem;
}

/* BUTTON
------------------------------------------------ */
.btnB {
  margin: 0 auto;
  text-align: center;
}

.btnB a {
  position: relative;
  padding: 15px 80px 15px 30px;
  padding: 0.9375rem 5rem 0.9375rem 1.875rem;
  color: #000;
  font-size: 15px;
  font-size: 0.9375rem;
  border: 1px solid #000;
  display: inline-block;
  background: #fff;
}

.btnB a:after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 20px;
  right: 1.25rem;
  top: 50%;
  width: 24px;
  width: 1.5rem;
  height: 14px;
  height: 0.875rem;
  margin-top: -7px;
  margin-top: -0.4375rem;
  background: url(images/arw_blk.svg) no-repeat center center;
  background-size: contain;
}

.btnC {
  margin: 0 auto 20px auto;
  margin: 0 auto 1.25rem auto;
  text-align: center;
}

.btnC a {
  position: relative;
  padding: 30px 70px 30px 20px;
  padding: 1.875rem 4.375rem 1.875rem 1.25rem;
  min-width: 240px;
  text-align: center;
  color: #000;
  background: rgba(255, 188, 46, 0.50196);
  background-size: 1.25rem;
  -webkit-box-shadow: 0 0 0.9375rem #93aba3;
          box-shadow: 0 0 0.9375rem #93aba3;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: bold;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.btnC a:after {
  content: "";
  display: inline-block;
  position: absolute;
  right: 20px;
  right: 1.25rem;
  top: 50%;
  width: 32px;
  width: 2rem;
  height: 14px;
  height: 0.875rem;
  margin-top: -7px;
  margin-top: -0.4375rem;
  background: url(images/arw_blk.svg) no-repeat center center;
  background-size: contain;
}

/* 下層
------------------------------------------------ */
.chead {
  width: 100%;
  min-height: 140px;
  min-height: 8.75rem;
  position: relative;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
}

.chead .inr {
  width: 100%;
  min-height: 140px;
  min-height: 8.75rem;
}

.chead h2.ttl {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: normal;
  color: #59493f;
  max-width: 1300px;
  margin: auto;
  padding: 15px;
  padding: 0.9375rem;
}

.chead h2.ttl span.en {
  font-size: 50px;
  font-size: 3.125rem;
  font-weight: bold;
  color: #ffbc2e;
  text-transform: uppercase;
}

@media only screen and (max-width: 768px) {
  .chead .inr h2.ttl {
    position: absolute;
    bottom: -1.5625rem;
    left: 3%;
    font-size: 1.4375rem;
    font-weight: bold;
    display: inline-block;
    margin: 0.9375rem 0 0;
    color: #fff;
  }

  .chead:after {
    min-height: 180px;
  }
}
@media only screen and (max-width: 640px) {
  .chead .inr h2.ttl {
    position: absolute;
    bottom: -1.5625rem;
    left: 3%;
    font-size: 1.25rem;
    font-weight: bold;
    display: inline-block;
    margin: 0.9375rem 0 0;
    color: #fff;
  }
}
/* ================================================
   SDGS
================================================ */
.sdgslist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 700px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 auto 40px;
  margin: 0 auto 2.5rem;
}

.sdgslist li {
  width: 48%;
}

.sdgslist li a {
  background: #ffbc2e;
  padding: 20px;
  padding: 1.25rem;
  text-align: center;
  display: block;
  color: #fff;
}

/* ================================================
   committee
================================================ */
.com_member {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 30px 0;
  margin: 1.875rem 0;
}

.com_member .pic {
  width: 47%;
}

.com_member .member {
  width: 47%;
}

.com_pad {
  margin: 0 0 120px;
  margin: 0 0 7.5rem;
}

.com_pad:last-of-type {
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  .com_member {
    display: block;
  }

  .com_member .pic {
    width: 100%;
  }

  .com_member .member {
    width: 100%;
  }
}
/* ================================================
   ABOUT
================================================ */
.aboutpad {
  padding: 0 0 8em;
  margin: 0 auto;
}

.aboutpad:last-of-type {
  padding-bottom: 0;
}

.aboutpad p {
  margin: 0 0 1em;
  line-height: 1.8;
}

.about-contact {
  text-align: center;
  border-bottom: #ff8d07 3px solid;
  display: inline-block;
  margin-left: auto;
  margin-right: auto;
  font-size: 24px;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .about-contact {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 600px) {
  .about-contact {
    width: 100%;
  }
}

.about-contact br {
  display: none;
}
@media screen and (max-width: 600px) {
  .about-contact br {
    display: block;
  }
}

.mes3 {
  font-size: 24px;
  font-size: 1.5rem;
}

.aboutmes {
  width: 85%;
  margin: 60px auto;
  margin: 3.75rem auto;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
}

.aboutmes span {
  color: #8e1728;
  font-size: 30px;
  font-size: 1.875rem;
}

.aboutmenu {
  margin: 0 0 7em;
}

.aboutmenu ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 5px;
  gap: 0.3125rem;
  margin-left: -20px;
  margin-left: -1.25rem;
}

.aboutmenu ul li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.aboutmenu ul li a {
  position: relative;
  background-color: #e5f0f7;
  border-radius: 5px;
}

.aboutmenu ul li a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  right: 1.25rem;
  width: 12px;
  width: 0.75rem;
  height: 15px;
  height: 0.9375rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-mask: url(../images/common/tryangle.png) no-repeat center center/contain;
          mask: url(../images/common/tryangle.png) no-repeat center center/contain;
  background-color: #3999d5;
}

.aboutmenu ul li a.current {
  background: #3999d5;
  color: #fff;
}

.aboutmenu ul li a.current:after {
  background-color: #fff;
}

.aboutmenu ul li a {
  display: block;
  text-align: center;
  padding: 20px 0;
  padding: 1.25rem 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.aboutmenu ul li a:hover {
  background: #e5f0f7;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.aboutmenu ul li a.current:hover {
  background: #3999d5;
}

.about_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.about-l {
  width: 48%;
}

.about-r {
  width: 45%;
  max-width: 500px;
  max-width: 31.25rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .about-r {
    margin-left: auto;
    margin-right: auto;
  }
}

.aboutjc3 ul li {
  font-size: 24px !important;
  font-size: 1.5rem !important;
  padding: 20px 0;
  padding: 1.25rem 0;
  border-bottom: #3999d5 solid 1px;
  letter-spacing: 5px;
}

.aboutjc3 ul li span {
  color: #3999d5;
}

@media only screen and (max-width: 1023px) {
  .about_col {
    display: block;
  }

  .about-l {
    width: auto;
  }

  .about-r {
    width: auto;
    text-align: center;
    margin-top: 3em;
  }
}
@media only screen and (max-width: 768px) {
  .aboutpad {
    padding: 0 0 4em;
  }

  .aboutmenu {
    margin-bottom: 3.125rem;
  }

  .aboutmenu ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -webkit-column-gap: 0.3125rem;
       -moz-column-gap: 0.3125rem;
            column-gap: 0.3125rem;
    row-gap: 0.5rem;
    margin-left: 0;
  }

  .aboutmenu ul li {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    margin-left: 0;
    font-size: 0.875rem;
  }

  .aboutmenu ul li a {
    padding: 0.9375rem 0;
  }

  .about-l {
    width: 100%;
    float: none;
  }

  .about-r {
    width: 100%;
    float: none;
    text-align: center;
  }

  .aboutmenu ul li a:after {
    top: inherit;
    left: 50%;
    bottom: 0.125rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 0.5rem;
  }
}
/* ================================================
   基本方針
================================================ */
.policylist {
  margin: 0 0 4em;
  padding: 20px;
  padding: 1.25rem;
  background: #f5f5f5;
}

.policylist li {
  padding: 2px 0;
}

/* ================================================
   入会案内
================================================ */
.infomessong {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.infomessong div {
  width: 45%;
}

@media only screen and (max-width: 768px) {
  .infomessong {
    display: block;
  }

  .infomessong div {
    width: 100%;
  }
}
/* ================================================
   ご挨拶
================================================ */
.greetingmes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.greetingmes div.txt {
  width: 50%;
}

.greetingmes div.txt p {
  line-height: 2;
}

.greetingmes div.pic {
  width: 45%;
}

.greetingmes div.pic div {
  width: 60%;
  text-align: center;
  margin: 0 auto;
}

.greetingmes_pdf {
  margin: 6em auto 0 auto;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .greetingmes {
    display: block;
    width: 95%;
    margin: 0.9375rem auto;
  }

  .greetingmes div.txt {
    width: 100%;
  }

  .greetingmes div.pic {
    width: 100%;
  }
}
/* ================================================
   メンバー専用ページ
=============================================== */
@-webkit-keyframes tabAnim {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes tabAnim {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.tab_wrap {
  width: 100%;
  margin: 0 auto 0 auto;
}

.tab_wrap input[type=radio] {
  display: none;
}

.tab_area {
  font-size: 0;
  margin: 0 auto;
  text-align: center;
}

.tab_area label {
  width: 31.33%;
  margin: 0 5px;
  display: inline-block;
  padding: 20px 0;
  padding: 1.25rem 0;
  color: #000;
  background: #e5f0f7;
  text-align: center;
  font-size: 15px;
  font-size: 0.9375rem;
  cursor: pointer;
  -webkit-transition: ease 0.2s opacity;
  transition: ease 0.2s opacity;
}

.tab_area label:hover {
  background: #3999d5;
  color: #fff;
  -webkit-animation: tabAnim ease 0.6s forwards;
          animation: tabAnim ease 0.6s forwards;
  -ms-animation: tabAnim ease 0.6s forwards;
}

.tab_panel {
  width: 100%;
  opacity: 0;
  padding: 50px 0 0 0;
  display: none;
}

.tab_panel p {
  font-size: 15px;
  font-size: 0.9375rem;
  letter-spacing: 1px;
}

.panel_area {
  background: #fff;
}

#tab1:checked ~ .tab_area .tab1_label {
  background: #3999d5;
  color: #fff;
  font-weight: bold;
}

#tab1:checked ~ .panel_area #panel1 {
  display: block;
  -webkit-animation: tabAnim ease 0.6s forwards;
          animation: tabAnim ease 0.6s forwards;
  -ms-animation: tabAnim ease 0.6s forwards;
}

#tab2:checked ~ .tab_area .tab2_label {
  background: #3999d5;
  color: #fff;
  font-weight: bold;
}

#tab2:checked ~ .panel_area #panel2 {
  display: block;
  -webkit-animation: tabAnim ease 0.6s forwards;
          animation: tabAnim ease 0.6s forwards;
  -ms-animation: tabAnim ease 0.6s forwards;
}

#tab3:checked ~ .tab_area .tab3_label {
  background: #3999d5;
  color: #fff;
  font-weight: bold;
}

#tab3:checked ~ .panel_area #panel3 {
  display: block;
  -webkit-animation: tabAnim ease 0.6s forwards;
          animation: tabAnim ease 0.6s forwards;
  -ms-animation: tabAnim ease 0.6s forwards;
}

.panel_area {
  border-top: 2px solid #3999d5;
}

.memberpagelist {
  margin: 40px 0 0 0;
  margin: 2.5rem 0 0 0;
  border-top: 1px solid #efefef;
}

.memberpagelist li {
  border-bottom: 1px solid #efefef;
}

.memberpagelist li a {
  display: block;
  padding: 20px 3px;
  padding: 1.25rem 3px;
}

.memberpagelist li a span {
  color: #ffbc2e;
  display: inline-block;
  margin: 0 20px 0 0;
  margin: 0 1.25rem 0 0;
  vertical-align: middle;
}

@media only screen and (max-width: 768px) {
  .tab_area label {
    width: 100%;
    border-bottom: 1px solid #fff;
  }
}
.p-webalbum_list hr {
  border-color: #0090d5;
  border: 0 none;
  height: 2px;
  background-color: #0090d5 !important;
}

.p-webalbum_list p {
  margin: auto;
}

.p-webalbum_list p a {
  padding: 16px 0;
  padding: 1rem 0;
  color: #3999d5;
}

.p-webalbum_list {
  margin-top: 48px;
  margin-top: 3rem;
}

@media only screen and (max-width: 480px) {
  .tab_area label {
    width: 97%;
    padding: 5px 0;
    margin: 0 0 1px 0;
  }

  .memberpagelist span {
    display: block !important;
  }

  .memberpagelist li a {
    display: block;
    padding: 10px 3px;
  }
}
/* ================================================
    TABLE
================================================ */
.tablePC {
  display: block;
}

.tableSP {
  display: none;
}

table.table1 {
  width: 100%;
  margin: auto;
  border-collapse: collapse;
  table-layout: fixed;
}

table.table1 th {
  width: 20%;
  background: #f4f4f4;
  border: 1px solid #ccc;
  text-align: center;
  vertical-align: middle;
  padding: 15px;
  padding: 0.9375rem;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
}

table.table1 th span {
  font-weight: normal;
  font-size: 10px;
  font-size: 0.625rem;
}

table.table1 td {
  width: 30%;
  border: 1px solid #ccc;
  vertical-align: middle;
  padding: 15px;
  padding: 0.9375rem;
  background: #fff;
}

.about-contents-inr h4 {
  font-size: 24px;
  font-size: 1.5rem;
  color: #0090d5;
  font-weight: bold;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
  margin: 60px auto 20px;
  margin: 3.75rem auto 1.25rem;
  width: 900px;
  width: 56.25rem;
}

table.table2 {
  width: 100%;
  margin: auto;
  border-collapse: collapse;
}

table.table2 th {
  background: #f4f4f4;
  border: 1px solid #ccc;
  text-align: center;
  vertical-align: middle;
  padding: 10px;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
}

table.table2 td {
  border: 1px solid #ccc;
  vertical-align: middle;
  padding: 10px 10px 10px 5px;
  padding: 0.625rem 0.625rem 0.625rem 0.3125rem;
  background: #fff;
}

table.table2 th span, table.table2 td span {
  display: block;
}

td.sideline-off {
  border: none !important;
}

table.table3 {
  width: 100%;
  margin: auto;
  white-space: nowrap;
  border-collapse: collapse;
}

table.table3 th {
  padding: 10px;
  background: #f4f4f4;
  border: 1px solid #ccc;
  vertical-align: middle;
  text-align: center;
  font-size: 15px;
  font-size: 0.9375rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: bold;
}

table.table3 td {
  text-align: center;
  width: 20%;
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  padding: 10px;
  background: #fff;
}

table.table4 {
  width: 100%;
  margin: auto;
  border-collapse: collapse;
}

table.table4 th {
  padding: 10px;
  background: #f4f4f4;
  border: 1px solid #ccc;
  vertical-align: middle;
  text-align: center;
  font-size: 15px;
  font-size: 0.9375rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: bold;
}

table.table4 td {
  width: 80%;
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  padding: 15px;
  padding: 0.9375rem;
  background: #fff;
}

.membercompany-contents ul li {
  float: left;
  width: 20%;
  border-bottom: 1px solid #d2d2d2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-left: 1px solid #d2d2d2;
  text-align: center;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
}

.membercompany-contents ul li:nth-child(1), .membercompany-contents ul li:nth-child(2), .membercompany-contents ul li:nth-child(3), .membercompany-contents ul li:nth-child(4), .membercompany-contents ul li:nth-child(5) {
  border-top: 1px solid #d2d2d2;
}

.membercompany-contents ul li:nth-child(5), .membercompany-contents ul li:nth-child(9) {
  border-right: 1px solid #d2d2d2;
}

.membercompany-contents ul li:last-child {
  width: 181px;
  width: 11.3125rem;
}

.membercompany-contents ul li a {
  display: block;
  padding: 15px;
  padding: 0.9375rem;
}

table.table5 {
  width: 100%;
  margin: auto;
  border-collapse: collapse;
}

table.table5 th {
  padding: 10px;
  background: #f4f4f4;
  border: 1px solid #ccc;
  vertical-align: middle;
  text-align: center;
  font-size: 15px;
  font-size: 0.9375rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: bold;
}

table.table5 td {
  text-align: center;
  width: 50%;
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  padding: 15px 10px;
  padding: 0.9375rem 10px;
  background: #fff;
}

.membercompanytable td a {
  color: #0090d5;
}

.membercompanymenu {
  border-top: 1px solid #d2d2d2;
  border-right: 1px solid #d2d2d2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-collapse: collapse;
}

.membercompanymenu li {
  float: left;
  width: 11.111111111%;
  border-bottom: 1px solid #d2d2d2;
  border-left: 1px solid #d2d2d2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-align: center;
  font-size: 16px;
  font-size: 1rem;
  font-weight: bold;
  border-collapse: collapse;
  box-sizing: border-box;
  display: table;
  /* or inline-table */
  border-collapse: collapse;
}

.membercompanymenu li a {
  display: block;
  padding: 15px 10px;
  padding: 0.9375rem 0.625rem;
  text-align: center;
}

table.table6 {
  width: 100%;
  margin: auto;
  border-collapse: collapse;
}

table.table6 span.red {
  display: inline-block;
}

table.table6 th {
  padding: 20px 10px;
  padding: 1.25rem 10px;
  background: #f4f4f4;
  border: 1px solid #ccc;
  vertical-align: middle;
  text-align: center;
  font-size: 15px;
  font-size: 0.9375rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: bold;
}

table.table6 td {
  width: 70%;
  border: 1px solid #ccc;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  vertical-align: middle;
  padding: 20px 20px 30px;
  padding: 1.25rem 1.25rem 1.875rem;
}

.contactbox input[type=submit] {
  width: 40%;
  padding: 10px 0;
}

.contactbox input[type=text], .contactbox input[type=email], .contactbox textarea {
  width: 90%;
}

.contactbox input[type=radio] {
  margin: 0 4px 3px 0 !important;
}

.contactbox input[type=checkbox] {
  font-size: x-large;
  padding: 10px !important;
  height: 30px;
  height: 1.875rem;
  width: 30px;
  width: 1.875rem;
}

.contactbox button, .contactbox input, .contactbox textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

.contactbox select {
  font-size: 16px !important;
  font-size: 1rem !important;
}

input[type=text], input[type=email], textarea {
  width: 90%;
  padding: 0.8em;
  outline: none;
  border: 1px solid #DDD;
  border-radius: 3px;
  font-size: 16px;
  font-size: 1rem;
  -webkit-appearance: none;
}

.mwform-checkbox-field input, .mwform-radio-field input {
  margin-right: 5px;
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
}

input.submit_button {
  padding: 12px 40px;
  padding: 0.75rem 2.5rem;
  font-size: 15px;
  font-size: 0.9375rem;
  background-color: #000;
  color: #fff;
  border-style: none;
  margin: 0 auto;
  text-align: center;
  -webkit-appearance: none;
}

input.submit_button:hover {
  opacity: 0.7;
}

.mwform-checkbox-field input, .mwform-radio-field input {
  margin-right: 5px;
}

input[type=checkbox] {
  margin-right: 10px;
  -webkit-transform: scale(1.5, 1.5);
  transform: scale(1.5, 1.5);
}

input.submit_button,
button.submit_button {
  padding: 12px 40px;
  padding: 0.75rem 2.5rem;
  font-size: 15px;
  font-size: 0.9375rem;
  background-color: #000;
  color: #fff;
  border-style: none;
  margin: 0 auto;
  text-align: center;
  -webkit-appearance: none;
}

.formbtn li {
  display: inline-block;
  padding: 0 6px;
}

.formbtn {
  display: block;
  margin: 0 auto;
  text-align: center;
}

span.mwform-radio-field.horizontal-item {
  margin-right: 20px;
  margin-right: 1.25rem;
}

@media only screen and (max-width: 768px) {
  .tablePC {
    display: none;
  }

  .tableSP {
    display: block;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }

  table.table1 {
    border-bottom: 1px solid #ccc;
  }

  table.table1 th {
    width: auto;
    display: block;
    border-bottom: none;
  }

  table.table1 td {
    width: auto;
    display: block;
    border-bottom: none;
  }

  .table-wrap {
    white-space: nowrap;
    overflow-y: scroll;
    position: relative;
    padding-top: 2.1875rem;
  }

  .table-wrap:after {
    content: "▶にスクロールできます";
    font-size: 0.6875rem;
    position: absolute;
    top: 10px;
    left: 0;
    color: #0090d5;
  }

  .membercompanymenu li {
    float: left;
    width: 33.33%;
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 480px) {
  span.mwform-radio-field.horizontal-item {
    margin-right: 0;
    display: block;
    margin-left: 0;
  }

  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0 !important;
  }

  table.table6 th {
    padding: 5%;
    background: #f4f4f4;
    border: 1px solid #ccc;
    vertical-align: middle;
    text-align: center;
    font-size: 0.875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-weight: bold;
    width: 100%;
    display: block;
  }

  table.table6 td {
    width: 100%;
    border: 1px solid #ccc;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    vertical-align: middle;
    padding: 5%;
    display: block;
  }

  table.table4 th {
    padding: 10px;
    background: #f4f4f4;
    border: 1px solid #ccc;
    vertical-align: middle;
    text-align: center;
    font-size: 0.875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-weight: bold;
  }

  table.table4 td {
    text-align: left;
    width: 80%;
    border: 1px solid #ccc;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    vertical-align: middle;
    padding: 10px;
  }

  .membercompanymenu li {
    float: left;
    width: 33.33%;
    font-size: 0.875rem;
  }

  .membercompanymenu li a {
    display: block;
    padding: 10px;
    text-align: center;
  }

  table.table5 th {
    padding: 10px;
  }

  table.table5 td {
    padding: 10px;
  }

  table.table6 {
    border-bottom: 1px solid #ccc;
  }

  table.table6 th {
    padding: 10px;
    background: #f4f4f4;
    border: 1px solid #ccc;
    border-bottom: none;
    vertical-align: middle;
    text-align: center;
    font-size: 0.9375rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-weight: bold;
  }

  table.table6 td {
    width: auto;
    border: 1px solid #ccc;
    border-bottom: none;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    vertical-align: middle;
    padding: 10px;
  }
}
/* 一覧
------------------------------------------------ */
/* 記事
------------------------------------------------ */
/* ADD
------------------------------------------------ */
.b {
  font-weight: bold;
}

.center {
  text-align: center;
}

.clear {
  clear: both;
}

.flo-l {
  float: left;
}

.flo-r {
  float: right;
}

.f11 {
  font-size: 11px !important;
  font-size: 0.6875rem !important;
}

.f12 {
  font-size: 12px !important;
  font-size: 0.75rem !important;
}

.f15 {
  font-size: 15px !important;
  font-size: 0.9375rem !important;
}

.f16 {
  font-size: 16px !important;
  font-size: 1rem !important;
}

.f18 {
  font-size: 18px !important;
  font-size: 1.125rem !important;
}

.f21 {
  font-size: 21px !important;
  font-size: 1.3125rem !important;
}

.f24 {
  font-size: 24px !important;
  font-size: 1.5rem !important;
}

.red {
  color: #cc0000 !important;
}

.txt-r {
  text-align: right;
}

.bg-gray1 {
  padding: 20px;
  padding: 1.25rem;
  background: #efefef;
}

/* Clearfix
------------------------------------------------ */
.cfx:after {
  content: "";
  display: block;
  clear: both;
}

/*YOUTUBE*/
.movie-wrap {
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}

.movie-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*PAGENAVI*/
.wp-pagenavi a:hover, .wp-pagenavi span.current {
  border-color: none !important;
}

.wp-pagenavi span.current {
  font-weight: bold;
  background: #ffbc2e !important;
}

.wp-pagenavi a, .wp-pagenavi span {
  text-decoration: none;
  border: none !important;
  padding: 5px 10px !important;
  margin: 2px !important;
  background: #909090 !important;
  color: #fff !important;
}

.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignright {
  float: right;
}

.alignleft {
  float: left;
}

.fadein_text,
.fadein_text span {
  opacity: 0;
}

.cursor,
.follower {
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.cursor {
  width: 8px;
  height: 8px;
  background-color: #000;
  z-index: 1001;
}

.follower {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  background-color: rgba(253, 254, 0, .5);
  z-index: 1000;
  -webkit-transition: -webkit-transform ease 0.1s;
  transition: -webkit-transform ease 0.1s;
  transition: transform ease 0.1s;
  transition: transform ease 0.1s, -webkit-transform ease 0.1s;
  text-align: center;
}

.follower span {
  display: inline-block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  -webkit-transform: scale(0);
  transform: scale(0);
}

.follower.is-active {
  -webkit-transform: scale(3);
  transform: scale(3);
}

.soshikizu img {
  width: 70%;
}

.soshihyo {
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

table.table2 td span {
  font-size: 10px;
  font-size: 0.625rem;
}

.img_top_logo img {
  position: absolute;
  top: 15px;
  top: 0.9375rem;
  left: 15px;
  left: 0.9375rem;
  z-index: 2;
}

.img_top1 img {
  position: absolute;
  bottom: 0;
  z-index: 2;
}

.img_top2 img {
  position: absolute;
  right: 28px;
  right: 1.75rem;
  z-index: 3;
}

.fadeInDown {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  visibility: visible !important;
}

@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.sns {
  padding: 250px 0;
  background: url(images/top_back3.png) no-repeat center center;
}

.top-head1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 90%;
  padding: 0 100px;
  padding: 0 6.25rem;
  margin-left: auto;
}

.topnews2 {
  background: url(images/top_back4.png) no-repeat bottom;
  margin-bottom: 50px;
  margin-bottom: 3.125rem;
}

.t_text {
  word-wrap: break-word;
}

img.arrow {
  position: absolute;
  left: 100px;
  left: 6.25rem;
  top: -80px;
  top: -5rem;
}

.img_top4 img {
  position: absolute;
  top: 0px;
  right: 0px;
  z-index: 2;
}

.thumbnail img {
  width: 100vw;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}

.facebook-wrapper {
  max-width: 500px;
  /* Facebook Page Plugin の最大幅 */
  margin: 0 auto;
}

.facebook-wrapper > .fb-page {
  width: 100%;
}

.facebook-wrapper > .fb-page > span,
.facebook-wrapper iframe {
  width: 100% !important;
}

.facebook-blogo {
  text-align: center;
  padding-top: 10px;
}

.h-nav-fg {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.h-navli {
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.white a {
  color: white;
}

.hidden {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .cursor, .follower {
    display: none;
  }

  /**トップスライド**/
  .img_top1 img {
    width: 50%;
  }

  .img_top2 img {
    position: absolute;
    right: 0rem;
    z-index: 3;
    width: 50%;
  }

  .img_top4 img {
    width: 50%;
  }

  /**トップタイトル**/
  .top-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding: 100px 0 0 0;
  }

  .top-head1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    padding: 0;
  }

  h2.topttlB {
    text-align: center;
  }

  .topttlB span {
    display: block;
    width: 100%;
  }

  .topnews {
    margin: 0;
  }

  /**トップバナー**/
  .banner1, .banner2 {
    display: block;
    width: 100%;
  }

  /**トップメインプロジェクト**/
  .topproject {
    margin-bottom: 0;
  }

  .projectinfo {
    display: block;
    padding: 10px 0;
  }

  .infottl {
    width: 100%;
    text-align: left;
  }

  .topnews {
    margin-top: 0;
  }

  .top-head {
    display: block;
  }

  .moreA {
    text-align: right;
  }

  .moreA a {
    padding-right: 2.1875rem;
  }

  .list {
    width: 100%;
  }

  .topabout {
    padding: 0 0 6.25rem 0;
  }

  .about2 {
    padding-top: 16px;
  }

  .sns {
    padding: 0;
    padding-top: 6.25rem;
  }

  .chead h2.ttl span.en {
    font-size: 10vmin;
    display: block;
  }
}
.information__logo {
  max-width: 300px;
  max-width: 18.75rem;
  margin-left: auto;
  margin-right: auto;
}

.information__mdtitle {
  margin-top: 60px;
  margin-top: 3.75rem;
  font-size: 22px;
  font-size: 1.375rem;
}

.information__text {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.information__merit {
  margin-top: 60px;
  margin-top: 3.75rem;
}

.information__merit-inner {
  position: relative;
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  padding-left: 30px;
  padding-left: 1.875rem;
}
@media screen and (max-width: 767px) {
  .information__merit-inner {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.information__merit-inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e5f0f7;
  border-radius: 0.9375rem;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .information__merit__container {
    display: contents;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .information__merit__sectTitle {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.information__merit__items {
  margin-top: 60px;
  margin-top: 3.75rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .information__merit__items {
    font-size: 0.875rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.information__merit__item {
  padding: 30px 20px;
  padding: 1.875rem 1.25rem;
  background-color: #fff;
  border-radius: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .information__merit__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.25rem 1.125rem;
    row-gap: 1.25rem;
  }
}

.information__merit__item + .information__merit__item {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .information__merit__item + .information__merit__item {
    margin-top: 2.5rem;
  }
}

.information__merit__head {
  width: 30%;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .information__merit__head {
    width: 100%;
    font-size: 1rem;
  }
}

.information__merit__head span {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.8;
  font-size: 20px;
  font-size: 1.25rem;
  color: #0097d7;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .information__merit__head span {
    font-size: 1.25rem;
  }
}

.information__merit__text {
  width: 70%;
  font-size: 14px;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .information__merit__text {
    width: 100%;
  }
}

/* ================================================
   ENGLISH
================================================ */
.egree_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.egree-l {
  width: 65%;
}

.egree-r {
  width: 30%;
}

@media only screen and (max-width: 1023px) {
  .egree_col {
    display: block;
  }

  .egree-l {
    width: auto;
  }

  .egree-r {
    width: 50%;
    margin: 0 auto;
  }
}
.post-password-form #pwbox-22 {
  padding: 0px 4px;
  padding: 0rem 0.25rem;
  font-size: 14px;
  font-size: 0.875rem;
}

.post-password-form input:last-of-type {
  margin-left: 16px;
  margin-left: 1rem;
  font-size: 14px;
  font-size: 0.875rem;
  padding: 1px 10px;
  padding: 0.0625rem 0.625rem;
}

/* -----------------------------------------------------------------
  2022年CSS
----------------------------------------------------------------- */
.topttlA {
  font-size: 17px;
  font-size: 1.0625rem;
}

.topttlA span {
  font-size: 17px;
  font-size: 1.0625rem;
  color: #ffbc2e;
}

/* レイアウト
------------------------------------------------ */
/* .page{
  padding: 165px 0 0;
  box-sizing: border-box;
} */
.l_wrap1200 {
  max-width: 1200px;
  margin: auto;
  padding: 0 15px;
  padding: 0 0.9375rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.l_wrap1100 {
  max-width: 1100px;
  margin: auto;
  padding: 0 15px;
  padding: 0 0.9375rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.l_flexA {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.l_flexB {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.l_flexB::after {
  content: "";
  display: block;
  width: 30.33%;
  height: 0;
}

.l_flexB a {
  display: block;
}

.l_flex_start {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.l_flex_end {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.l_flex_f {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.f_block_l {
  width: 65%;
}

.f_block_r {
  width: 32%;
}

.l_blockA {
  width: 45%;
}

.l_block30 {
  width: 30%;
}

.l_block30 a {
  width: 100%;
}

.l_right {
  width: 100%;
  text-align: right;
}

.l_relative_w {
  width: 100%;
  position: relative;
}

.l_relative {
  position: relative;
}

/* SPMENU
----------------------------------------------------------------- */
.l_spmenu {
  background: #fff;
  width: 100%;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
}

.l_spmenu_inner {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 60px 20px;
  padding: 3.75rem 1.25rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  /*color:#00537e;*/
  color: #000000;
}

.sp_menu_mainlogo {
  max-width: 150px;
  margin: 0 0 20px;
  margin: 0 0 1.25rem;
}

.l_spmenu_l {
  width: 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l_spmenu_l_l {
  width: 80%;
}

.l_spmenu_l_r {
  margin-left: 3vw;
}

.l_spmenu_r {
  width: 58%;
  font-size: 15px;
  font-size: 0.9375rem;
}

.l_spmenu_image {
  width: 100%;
  padding: 38% 0;
  background: url(images/sp_menu_image.jpg) no-repeat center center;
  background-size: cover;
}

.l_spmenu_list li {
  margin: 1% auto;
}

.l_spmenu_list li a {
  font-size: 18px;
  font-size: 1.125rem;
  padding: 5px 0;
  position: relative;
  color: #000000;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.l_spmenu_list li a:hover {
  opacity: 0.6;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

/*.l_spmenu_list li a:hover {
opacity:1;
}
.l_spmenu_list li a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #000000;
bottom: -1px;
transform: scale(0, 1);
transform-origin: right top;
transition: transform 0.4s;
}
.l_spmenu_list li a:hover::after {
transform: scale(1, 1); 
transform-origin: left top;
}
*/
.l_spmenu_insta_title {
  font-size: 15px;
  font-size: 0.9375rem;
  position: relative;
  margin: 0 0 1em;
}

.l_spmenu_instagram {
  margin-bottom: 7vw;
}

.l_spmenu_instagram_btn a {
  border-radius: 3px 3px;
  background: #00537e;
  color: #fff;
  font-size: 12px;
  font-size: 0.75rem;
  text-align: center;
  display: inline-block;
  padding: 5px 0;
}

.l_spmenu_instagram_head {
  margin-bottom: 2em;
}

.l_spmenu_sns_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
}

.l_spmenu_sns_list li {
  margin-right: 15px;
  margin-right: 0.9375rem;
}

.l_spmenu_sns_list li a {
  position: relative;
  padding-left: 25px;
  padding-left: 1.5625rem;
}

.l_spmenu_sns_list li a:before {
  content: "";
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  display: inline-block;
}

.l_spmenu_sns_list li.sp_fb a:before {
  background: url(images/f_icon_fb.png) no-repeat center center;
  background-size: cover;
}

.l_spmenu_sns_list li.sp_yt a:before {
  background: url(images/f_icon_yt.png) no-repeat center center;
  background-size: cover;
}

.l_spmenu_sns_list li.sp_insta a:before {
  background: url(images/f_icon_insta.png) no-repeat center center;
  background-size: cover;
}

.l_spmenu_tel {
  margin: 0 0 12px;
  margin: 0 0 0.75rem;
}

.l_spmenu_wrap {
  margin: 30px 0 30px;
  margin: 1.875rem 0 1.875rem;
}

.l_spmenu_wrap .c_btn_A {
  max-width: 100%;
}

.l_spmenu_list .c_btn_A {
  max-width: 100%;
}

/*menu*/
.scroll_lock {
  overflow-y: hidden;
}

.english {
  height: 25px;
  height: 1.5625rem;
  position: fixed;
  right: 130px;
  right: 8.125rem;
  top: 7%;
  width: 35px;
  width: 2.1875rem;
  z-index: 99;
  cursor: pointer;
}

.menu {
  height: 25px;
  height: 1.5625rem;
  position: fixed;
  right: 30px;
  right: 1.875rem;
  top: 7.5%;
  width: 73px;
  width: 4.5625rem;
  z-index: 99;
  cursor: pointer;
}

.menu:hover {
  opacity: 1;
}

.menu__line {
  right: 0;
  background: #000;
  display: block;
  height: 2px;
  position: absolute;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  width: 100%;
  opacity: 1;
}

.menu__line--top {
  width: 73px;
  width: 4.5625rem;
}

.menu__line--center {
  width: 50px;
  width: 3.125rem;
  top: 11px;
  top: 0.6875rem;
}

.menu__line--bottom {
  width: 37px;
  width: 2.3125rem;
  bottom: 0;
}

.menu__line--top.active {
  width: 50%;
  top: 11px;
  top: 0.6875rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  background: #000;
}

.menu__line--center.active {
  width: 50%;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  background: #000;
}

.menu__line--bottom.active {
  width: 50%;
  bottom: 11px;
  bottom: 0.6875rem;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  background: #000;
}

.spmenu.head_bk .menu__line {
  background: #000;
}

/*gnav*/
.gnav {
  background: #fff;
  display: none;
  height: 100%;
  position: fixed;
  width: 100%;
  z-index: 98;
  overflow-y: scroll;
}

.gnav__wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  width: 100%;
}

@media screen and (max-width: 1023px) {
  .english {
    top: 1.5625rem;
    right: 6.875rem;
  }

  .menu {
    right: 1.25rem;
    top: 1.5625rem;
  }

  .l_flex_f {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .sp_menu_mainlogo {
    max-width: 120px;
    margin: 0 0 1.25rem;
  }

  .l_spmenu_inner {
    padding: 80px 0;
    display: block;
    max-width: 70%;
    width: calc(100% - 40px);
  }

  .l_spmenu_l {
    width: auto;
    margin: 0 0 1.5625rem;
    display: block;
  }

  .l_spmenu_l_l {
    width: 100%;
  }

  .l_spmenu_r {
    width: auto;
  }

  .l_spmenu_image {
    width: 70%;
    padding: 25% 0;
    margin: 0 auto;
  }

  .l_spmenu_list li a {
    font-size: 1rem;
  }

  .p_instagram {
    margin-bottom: 12vw;
  }

  .l_spmenu_instagram_head {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 1vw;
  }

  .l_spmenu_instagram_btn a {
    font-size: 0.6875rem;
  }

  .l_spmenu_insta_title:before {
    width: 1.0625rem;
    height: 1.0625rem;
  }

  .l_spmenu_insta_title {
    font-size: 0.875rem;
    padding-left: 1.5rem;
  }

  .l_spmenu_instagram_list {
    margin: 0 10px;
  }

  .l_spmenu_instagram_btn {
    margin: 10px 0 0;
  }

  .l_blockA {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  .sp_menu_mainlogo {
    max-width: 100px;
    margin: 0 0 1.25rem;
  }

  .l_spmenu_image {
    width: 70%;
    padding: 32% 0;
    margin: 0 auto;
  }

  .l_flexB {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .l_spmenu_list li {
    margin: 8px auto;
  }

  .l_spmenu_list li a {
    font-size: 0.9375rem;
    padding: 2px 0;
  }

  .l_spmenu_inner {
    max-width: 100%;
  }

  .l_spmenu_sns_list li a {
    font-size: 0.75rem;
    padding-left: 1.5625rem;
    letter-spacing: 1px;
  }
}
.l_spmenu_tel a {
  display: inline-block;
}

.l_spmenu_link {
  margin: 20px 0 0;
  margin: 1.25rem 0 0;
}

.l_spmenu_link a {
  /*color:#00537e;*/
}

.l_spmenu_logo {
  max-width: 240px;
  margin: 30px auto 0 auto;
  margin: 1.875rem auto 0 auto;
}

/* Component
----------------------------------------------------------------- */
/* Title */
.p_ttlA {
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: bold;
  margin-bottom: 0.5em;
}

.p_ttlA_sub {
  font-size: 18px;
  font-size: 1.125rem;
  margin-bottom: 50px;
  margin-bottom: 3.125rem;
}

.p_ttlB {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: bold;
  margin-bottom: 25px;
}

.p_ttlB_sub {
  font-size: 18px;
  font-size: 1.125rem;
}

.p_ttl_tel {
  font-weight: bold;
  font-size: 32px;
  font-size: 2rem;
  margin-bottom: 10px;
  text-align: center;
}

/* Button */
.c_btnA {
  position: absolute;
  right: 0;
  display: inline-block;
}

.c_btnB {
  position: absolute;
  right: 0;
  display: inline-block;
}

.c_btnC {
  position: absolute;
  left: 0;
  display: inline-block;
}

.c_btnF1 {
  position: absolute;
  left: 0;
  display: inline-block;
}

.c_btnF2 {
  position: absolute;
  right: 0;
  display: inline-block;
}

.c_linkA {
  position: relative;
  display: inline-block;
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.5;
  pointer-events: all;
  z-index: 0;
}

.hide .c_linkA {
  pointer-events: none;
}

.c_linkA:before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  -webkit-transform-origin: 100% 50%;
  transform-origin: 100% 50%;
  -webkit-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.36, 0.14, 0, 1);
  transition: -webkit-transform 0.6s cubic-bezier(0.36, 0.14, 0, 1);
  transition: transform 0.6s cubic-bezier(0.36, 0.14, 0, 1);
  transition: transform 0.6s cubic-bezier(0.36, 0.14, 0, 1), -webkit-transform 0.6s cubic-bezier(0.36, 0.14, 0, 1);
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #000;
}

.c_linkA:hover:before {
  -webkit-transform-origin: 0% 50%;
  transform-origin: 0% 50%;
  -webkit-transform: scale(1, 1);
  transform: scale(1, 1);
}

/* image */
.c_image_square {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 0;
  padding-bottom: 50%;
  padding-top: 50%;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

.c_image_rectangleA {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 0;
  padding-bottom: 66.6666666667%;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

.c_image_rectangleB {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 0;
  padding-bottom: 75%;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

.c_image_rectangleC {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 0;
  padding-top: 66%;
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

.c_image_square:hover, .c_image_rectangleA:hover, .c_image_rectangleB:hover, .c_image_rectangleC:hover {
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  opacity: 0.8;
}

.c_zoom {
  overflow: hidden;
}

/* トップページ
----------------------------------------------------------------- */
.fv_main {
  width: calc(100% - 230px);
  margin-left: auto;
  position: relative;
  height: 100vh;
  max-width: 1500px;
}

.fv_imgA {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -60%);
  -webkit-transform: translate(-50%, -60%);
  -ms-transform: translate(-50%, -60%);
}

.fv_imgB {
  position: absolute;
  top: 12.5%;
  right: 8%;
  z-index: 1;
  width: 240px;
  width: 15rem;
}

.fv_imgB img {
  max-height: 200px;
}

.fv_text {
  position: absolute;
  right: 0;
  bottom: 50px;
  bottom: 3.125rem;
  text-align: right;
  line-height: 1;
  z-index: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.fv_text h2 {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}

.fv_text h2 span {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  display: block;
}

.fv_text h2 span.fv_ttlA {
  font-size: 108px;
  font-size: 6.75rem;
}

.fv_text h2 span.fv_ttlB {
  font-size: 61px;
  font-size: 3.8125rem;
}

.fv_text h2 span.fv_ttlC {
  font-size: 61px;
  font-size: 3.8125rem;
  color: #2695d0;
}

.fv_text h2 span.fv_ttlD {
  font-size: 61px;
  font-size: 3.8125rem;
  color: #ee740a;
}

.fv_text h2 span.fv_ttlE {
  margin-top: 30px;
  margin-top: 1.875rem;
  font-size: 22px;
  font-size: 1.375rem;
}

@media screen and (max-width: 1200px) {
  .fv_imgB {
    position: absolute;
    top: unset;
    bottom: 10%;
    left: 16%;
    width: 15rem;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }

  .fv_imgB img {
    max-height: auto;
  }
}
@media screen and (max-width: 1023px) {
  .fv_main {
    width: 100%;
    margin: auto;
    position: relative;
    height: 100vh;
    max-width: 1500px;
  }

  .fv_text {
    -webkit-transform: scale(0.7);
            transform: scale(0.7);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    right: 0;
    bottom: 0;
  }

  .fv_text h2 {
    -webkit-transform: scale(1);
            transform: scale(1);
  }

  .fv_imgB {
    left: 12%;
  }
}
@media screen and (max-width: 768px) {
  .fv_imgB {
    left: 12%;
    width: 12.5rem;
    bottom: 21%;
  }
}
@media screen and (max-width: 600px) {
  .fv_imgB {
    left: 6%;
    width: 8.75rem;
    bottom: 18%;
  }

  .fv_text {
    right: -23%;
    bottom: -11%;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
@media screen and (max-width: 480px) {
  .fv_text {
    right: -30%;
    bottom: -14%;
  }
}
.top_contents_pad {
  padding: 0 0 9em;
}

.top_contents {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  padding: 5% 17vw 0 17vw;
}

.top_contents::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background-color: #E9E9E9;
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: -1;
}

.contentsinr {
  padding: 0 15% 0 15%;
  position: relative;
  overflow: hidden;
}

.contentsinr::before {
  display: block;
  width: 1px;
  height: calc(100% - 130px);
  background-color: #E9E9E9;
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: -1;
}

.p-machi_link {
  width: 100%;
}

.t_machi_imgA {
  width: 50%;
  padding-bottom: 41.25%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 0;
}

.t_machi_text {
  width: 35%;
  padding: 5%;
}

.t_machi_text h3 {
  font-size: 21px;
  font-size: 1.3125rem;
  font-weight: bold;
  margin-bottom: 10px;
  margin-bottom: 0.625rem;
}

.t_machi_text p {
  line-height: 1.8;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.s_blockA {
  width: 45%;
  margin-bottom: 55px;
  margin-bottom: 3.4375rem;
}

.s_blockB {
  width: 31.33%;
  margin-bottom: 55px;
  margin-bottom: 3.4375rem;
}

.s_blockC {
  width: 100%;
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
}

.s_blockA h3 {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: bold;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
}

.s_blockA p {
  font-size: 15px;
  font-size: 0.9375rem;
  color: #a9a9a9;
}

.s_blockB h3 {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: bold;
  margin: 15px 0 10px;
  margin: 0.9375rem 0 0.625rem;
}

.s_blockB p {
  font-size: 15px;
  font-size: 0.9375rem;
  color: #a9a9a9;
}

.s_blockC h3 {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: bold;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
}

.s_blockC p {
  font-size: 15px;
  font-size: 0.9375rem;
  color: #a9a9a9;
}

.img_greeting {
  background-image: url(./images/t_greeting.jpg);
}

.img_about {
  background-image: url(./images/t_about.jpg);
}

.img_member {
  background-image: url(./images/t_member.jpg);
}

.img_com {
  background-image: url(./images/t_com.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 0;
  padding-bottom: 66.6666666667%;
  margin-bottom: 55px;
  margin-bottom: 3.4375rem;
}

.t_banner_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 8em;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.t_banner_block a {
  width: 30%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

/*member*/
.top_member_pic {
  margin: 0 auto;
}

.p_facebook {
  padding-bottom: 15px;
  padding-bottom: 0.9375rem;
  text-align: center;
}

.c_img_sns {
  position: absolute;
  display: inline-block;
  top: -100px;
  top: -6.25rem;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.sp_insta {
  display: none;
}

.f_contact {
  max-width: 1200px;
  margin: 0 auto;
}

.contact_block {
  padding: 70px 0;
  padding: 4.375rem 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-top: solid 1px #000000;
  border-bottom: solid 1px #000000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.contact_block_l {
  width: 38%;
}

.contact_block_r {
  width: 55%;
}

@media only screen and (max-width: 768px) {
  .contact_block_l {
    width: auto;
  }

  .contact_block_r {
    width: auto;
  }
}
.c_btn_A {
  display: block;
  margin: 0 auto;
  max-width: 250px;
}

.c_btn_A a {
  padding: 10px 0;
  min-width: 150px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.c_btn_A_circle_arrow {
  position: relative;
  display: block;
}

.c_btn_A:hover {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.c_btn_A:hover .c_btn_A_line:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

/*
.c_btn_A_line:after {
position: absolute;
bottom: -4px;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #333;
transform: scale(0, 1);
transform-origin: left top;
transition: transform .3s;
}
*/
.c_btn_A_circle_arrow {
  width: 25px;
  width: 1.5625rem;
  height: 25px;
  height: 1.5625rem;
  border-radius: 50%;
  background: #3999d5;
  position: relative;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  margin-left: 15px;
  margin-left: 0.9375rem;
}

.c_btn_A_circle_arrow:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  width: 8px;
  height: 8px;
  top: 0;
  bottom: 0;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c_btn_A:hover .c_btn_A_circle_arrow:after {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  left: 7px;
}

.l_blockA_col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.l_blockA_col .c_btn_A {
  display: block;
  margin: 0 10px;
}

.c_btn_A.btn_h a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.c_btn_A.btn_h a:hover {
  opacity: 0.6;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

@media screen and (min-width: 1500px) {
  .top_contents {
    max-width: 1000px;
  }

  .contact_block {
    max-width: 1000px;
  }
}
@media screen and (max-width: 768px) {
  .c_img_sns {
    top: -6.25rem;
  }

  .p_facebook {
    margin-bottom: 9.375rem;
  }

  .l_blockA_col {
    margin-top: 1.25rem;
  }

  .l_blockA_col .c_btn_A {
    display: block;
    margin: 0 auto;
    max-width: 300px;
  }
}
@media screen and (max-width: 600px) {
  .sp_insta {
    display: block;
  }

  .pc_insta {
    display: none;
  }
}
.f_main li {
  font-weight: bold;
  margin-bottom: 35px;
  margin-bottom: 2.1875rem;
}

.f_main li a {
  display: inline-block;
  position: relative;
}

.f_main li a span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}

.f_main li a span:before {
  content: "";
  margin-right: 10px;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  display: block;
  background-color: #ffffff;
  border-radius: 50%;
}

.f_main li a span::after {
  content: "";
  width: 4px;
  height: 4px;
  border-top: solid 2px #000000;
  border-right: solid 2px #000000;
  position: absolute;
  left: 6px;
  top: 9px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.f_main li a span:hover::after {
  left: 9px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.f_main li div {
  display: inline-block;
}

.f_main li div span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}

.f_main li div span::before {
  content: "";
  margin-right: 10px;
  width: 20px;
  width: 1.25rem;
  height: 20px;
  height: 1.25rem;
  display: block;
  background-color: #ffffff;
  border-radius: 50%;
}

.f_main li div span::after {
  content: "";
  width: 4px;
  height: 4px;
  border-top: solid 2px #000000;
  border-right: solid 2px #000000;
  position: absolute;
  left: 6px;
  top: 9px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.f_main li div span:hover::after {
  left: 9px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.f_main li a:after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.f_main li a:hover:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.f_sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.f_sub li {
  margin-top: 15px;
  margin-top: 0.9375rem;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: normal;
  margin-bottom: 0;
  margin-right: 15px;
  margin-right: 0.9375rem;
}

.f_sub li:last-of-type {
  margin-right: 0;
}

.f_bottom {
  margin-top: 80px;
  margin-top: 5rem;
  margin-bottom: 100px;
  margin-bottom: 6.25rem;
}

.f_bottom p {
  font-size: 12px;
  font-size: 0.75rem;
}

.f_bottom_icon li {
  margin-right: 20px;
  margin-right: 1.25rem;
}

.f_sub li:last-of-type {
  margin-right: 0;
}

.f_bottom_icon li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 20px;
  width: 1.25rem;
}

.f_block_r_inrA {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 40px;
  margin-bottom: 2.5rem;
}

.f_block_r_inrA a {
  margin-right: 30px;
  margin-right: 1.875rem;
  position: relative;
}

.f_block_r_inrA a:after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background: #fff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left top;
          transform-origin: left top;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.f_block_r_inrA a:hover:after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.f_block_r_inrB {
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
}

.f_block_r_inrC {
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.f_block_r_inrC ul li {
  margin-bottom: 10px;
}

@media screen and (min-width: 1500px) {
  .top_contents {
    max-width: 100%;
    margin: auto;
    padding: 0 17vw;
  }

  .contact_block {
    max-width: 1200px;
    margin: 0 auto;
  }

  .top_contents::before {
    left: 50%;
  }

  .contentsinr {
    padding: 0 15% 0 15%;
  }

  .contentsinr::before {
    left: 50%;
  }

  .page {
    /*padding: 14vw 0 10vw 0;*/
  }
}
@media screen and (max-width: 1023px) {
  .p_ttlB {
    font-size: 1.5rem;
    margin-bottom: 0.9375rem;
  }

  .contentsinr {
    padding: 0 5% 0 5%;
  }

  .top_contents {
    padding: 0 0.9375rem;
  }

  .f_contact {
    margin: 0 auto;
  }

  .contact_block_l {
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .l_blockA_col {
    display: block;
  }

  .top_member_pad {
    margin: 9em 0 0;
  }

  .top_contents::before {
    left: 50%;
  }

  .contentsinr {
    padding: 0 0.9375rem;
  }

  .contact_block {
    display: block;
    text-align: center;
    padding: 1.875rem 0;
  }

  .contentsinr::before {
    left: 50%;
  }

  .t_machi_imgA {
    width: 100%;
    padding-bottom: 75%;
  }

  .t_machi_text {
    width: auto;
  }

  .c_btnA {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  .c_btnF1 {
    position: static;
    left: unset;
    display: block;
  }

  .c_btnF2 {
    position: static;
    right: unset;
    display: block;
  }
}
@media screen and (max-width: 600px) {
  .s_blockA {
    width: auto;
    margin-bottom: 3em;
  }
}
@media screen and (max-width: 480px) {
  .p_ttlA {
    font-size: 1.5rem;
    margin-bottom: 0.5em;
  }

  .p_ttlA_sub {
    font-size: 1rem;
    margin-bottom: 2em;
  }

  .p_ttlB {
    font-size: 1.375rem;
    margin-bottom: 0.5em;
  }

  .p_ttl_tel {
    font-size: 1.5rem;
    margin-bottom: 0.5em;
  }

  .p_ttlB_sub {
    font-size: 0.9375rem;
  }

  .contact_block .p_ttlB_sub {
    margin-bottom: 1em;
  }

  .s_blockB {
    width: 45%;
  }

  .s_blockA {
    width: 100%;
    margin-bottom: 2.1875rem;
  }

  .t_about {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    overflow-x: scroll;
    overflow-y: hidden;
  }

  .t_about .l_block30 {
    width: 100%;
    margin-right: 2.5rem;
  }

  .t_about .l_block30 a {
    width: 13.75rem;
  }

  /*.t_banner_block{
    display: block;
  }*/
  .t_banner_block a {
    width: 48%;
    margin-bottom: 2.1875rem;
  }

  .contact_block {
    text-align: center;
    padding: 3.125rem 0;
    display: block;
    margin: 0 0.9375rem 2em;
  }

  .t_contact_btn .c_btnA {
    margin-bottom: 0.9375rem;
    width: 100%;
  }

  .t_contact_btn .c_btnA a:after {
    margin-left: auto;
  }

  .f_block_l, .f_block_r {
    width: 100%;
  }
}
/* アーカイブ
------------------------------------------------ */
.archive_head {
  margin-bottom: 60px;
  margin-bottom: 3.75rem;
}

.archive_head h2 {
  font-size: 36px;
  font-size: 2.25rem;
  font-weight: bold;
  margin-bottom: 30px;
  margin-bottom: 1.875rem;
}

.archive_inr ul li {
  width: 31.33%;
  margin-bottom: 70px;
  margin-bottom: 4.375rem;
}

.archive_inr ul li a {
  width: 100%;
}

.archive_ttl {
  margin-top: 25px;
  margin-top: 1.5625rem;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: bold;
}

.archive_date {
  margin-top: 20px;
  margin-top: 1.25rem;
  color: #8c8c8c;
}

.archive_inr {
  margin: 0 0 3em;
}

.p_pager {
  margin: 5em auto 0;
  text-align: center;
}

.wp-pagenavi span.current {
  background: #000 !important;
}

@media screen and (max-width: 768px) {
  .archive_inr ul li {
    width: 100%;
    margin-bottom: 4.375rem;
  }
}
/* webアルバム
------------------------------------------------ */
.tab_panel a {
  display: block;
}

/* 投稿
------------------------------------------------ */
.single_image {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 100%;
  height: 0;
  padding-bottom: 66.6666666667%;
  margin-bottom: 50px;
  margin-bottom: 3.125rem;
}

/* 組織図
------------------------------------------------ */
.inline-block {
  display: inline-block !important;
}

/* ADD
------------------------------------------------ */
.ma0 {
  margin: 0;
}

.mt10 {
  margin-top: 10px !important;
  margin-top: 0.625rem !important;
}

.mt20 {
  margin-top: 20px !important;
  margin-top: 1.25rem !important;
}

.mt25 {
  margin-top: 25px !important;
  margin-top: 1.5625rem !important;
}

.mt40 {
  margin-top: 40px !important;
  margin-top: 2.5rem !important;
}

.mt55 {
  margin-top: 55px !important;
  margin-top: 3.4375rem !important;
}

.mt60 {
  margin-top: 60px !important;
  margin-top: 3.75rem !important;
}

.mt80 {
  margin-top: 80px !important;
  margin-top: 5rem !important;
}

.mt120 {
  margin-top: 120px !important;
  margin-top: 7.5rem !important;
}

.mb25 {
  margin-bottom: 25px;
  margin-bottom: 1.5625rem;
}

.mb45 {
  margin-bottom: 45px;
  margin-bottom: 2.8125rem;
}

.mb50 {
  margin-bottom: 50px;
  margin-bottom: 3.125rem;
}

.mb55 {
  margin-bottom: 55px;
  margin-bottom: 3.4375rem;
}

.mb60 {
  margin-bottom: 60px;
  margin-bottom: 3.75rem;
}

.mb70 {
  margin-bottom: 70px;
  margin-bottom: 4.375rem;
}

.mb90 {
  margin-bottom: 90px;
  margin-bottom: 5.625rem;
}

.mb110 {
  margin-bottom: 110px;
  margin-bottom: 6.875rem;
}

.mb120 {
  margin-bottom: 120px;
  margin-bottom: 7.5rem;
}

.mb130 {
  margin-bottom: 130px;
  margin-bottom: 8.125rem;
}

.mb160 {
  margin-bottom: 160px;
  margin-bottom: 10rem;
}

.mb170 {
  margin-bottom: 170px;
  margin-bottom: 10.625rem;
}

.mb180 {
  margin-bottom: 170px;
  margin-bottom: 10.625rem;
}

.mb190 {
  margin-bottom: 170px;
  margin-bottom: 10.625rem;
}

.mb200 {
  margin-bottom: 200px;
  margin-bottom: 12.5rem;
}

.mb240 {
  margin-bottom: 240px;
  margin-bottom: 15rem;
}

.mb260 {
  margin-bottom: 260px;
  margin-bottom: 16.25rem;
}

.pb15 {
  padding-bottom: 15px;
  padding-bottom: 0.9375rem;
}

/* facebook埋め込み　レスポンシブ
------------------------------------------------ */
.facebook-wrapper {
  max-width: 500px;
  /* Facebook Page Plugin の最大幅 */
  margin: 0 auto;
}

.facebook-wrapper > .fb-page {
  width: 100%;
}

.facebook-wrapper > .fb-page > span,
.facebook-wrapper iframe {
  width: 100% !important;
}

/* アニメーション
------------------------------------------------ */
.hide {
  opacity: 0;
  -webkit-transition: 0.8s;
  transition: 0.8s;
}

.link_button_line {
  position: relative;
  top: -15px;
  top: -0.9375rem;
  display: inline-block;
  height: 1px;
  width: 100%;
  background-color: #000000;
}

/* パンくず
------------------------------------------------ */
.pan {
  margin: 0 auto 4em;
  font-size: 12px;
  font-size: 0.75rem;
}

.breadcrumbs {
  color: #8d8d8d;
}

.pan a {
  color: #8d8d8d;
}

.breadcrumbs span.current-item {
  color: #000;
}

.slider1 {
  width: 100%;
  margin: 0;
  padding-top: 15% !important;
}

.slider1 .swiper-slide {
  opacity: 0.2;
  overflow: hidden;
  -webkit-transition: 0.7s;
  transition: 0.7s;
}

.slider1 .swiper-slide-active {
  opacity: 1;
  z-index: 0;
  text-align: left;
}

@media screen and (min-width: 1500px) {
  .pan {
    max-width: 1300px;
    margin: 0 auto 4em;
    /*padding: 0 15% 0 15%;*/
  }
}
@media only screen and (max-width: 768px) {
  .pan {
    max-width: 1000px;
    margin: 0 auto 4em;
  }
}
/* FADE
------------------------------------------------ */
.fade {
  -webkit-transition: all 1000ms;
  transition: all 1000ms;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translate(0px, 30px);
          transform: translate(0px, 30px);
}

.fadein {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
}

.fb-page {
  display: block !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* ================================================
   2026 CSS
================================================ */
.swiper {
  overflow: visible;
}

.l-top-information {
  background: #fff;
  margin-right: 25px;
  margin-left: 25px;
}

.p-bgTopinfo .p-bgWrap__inner:before {
  background: #e5f0f7 !important;
}

/* Swiper標準の矢印（青）を完全に消す */
.swiper-button-prev svg,
.swiper-button-next svg {
  display: none !important;
  z-index: -100;
}

/* 自作矢印 */
.swiper-button-prev::before,
.swiper-button-next::before {
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-size: contain;
  width: 80px;
  height: 80px;
  border: 2px solid #fff;
  border-radius: 50% 50%;
}
@media screen and (max-width: 767px) {
  .swiper-button-prev::before,
.swiper-button-next::before {
    width: 40px;
    height: 40px;
  }
}

.swiper-button-prev {
  position: absolute;
  left: 80px !important;
  left: 5rem !important;
  right: auto !important;
}

.swiper-button-prev::before {
  background-image: url(../images/mv_arw_prev.png);
}
@media screen and (max-width: 767px) {
  .swiper-button-prev::before {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@media screen and (max-width: 768px) {
  .swiper-button-prev {
    position: absolute;
    left: 1rem !important;
    right: auto !important;
  }
}
.swiper-button-next {
  position: absolute;
  right: 80px !important;
  right: 5rem !important;
  left: auto !important;
}

.swiper-button-next::before {
  background-image: url(../images/mv_arw_next.png);
}
@media screen and (max-width: 767px) {
  .swiper-button-next::before {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@media screen and (max-width: 768px) {
  .swiper-button-next {
    position: absolute;
    right: 1rem !important;
    left: auto !important;
  }
}
/* 画像サイズ調整 */
.swiper-slide img {
  height: auto;
  width: 100%;
}

.l-activity {
  margin-bottom: 100px;
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .l-activity {
    margin-bottom: 5rem;
  }
}

.l-contact {
  margin-top: 120px;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-contact {
    margin-top: 3.125rem;
  }
}

/* コンテンツ間の余白（共通設定）
------------------------------------------------ */
.l-contents {
  margin-top: 120px;
  margin-top: 7.5rem;
}
@media screen and (max-width: 767px) {
  .l-contents {
    margin-top: 5rem;
  }
}

.l-footer {
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .l-footer {
    margin-top: 3.75rem;
  }
}

.l-inner {
  width: 100%;
  max-width: 1250px;
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.l-linksArea {
  margin-top: 195px;
  margin-top: 12.1875rem;
}
@media screen and (max-width: 767px) {
  .l-linksArea {
    margin-top: 7.3125rem;
  }
}

.l-point {
  margin-top: 200px;
  margin-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .l-point {
    margin-top: 11.25rem;
  }
}

.l-snsLinks {
  margin-top: 90px;
  margin-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .l-snsLinks {
    margin-top: 3.375rem;
  }
}

/* -----------------------------------------------------------------
  トップ - アバウト
----------------------------------------------------------------- */
.p-about {
  position: relative;
}
.p-about__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 4.6875rem;
     -moz-column-gap: 4.6875rem;
          column-gap: 4.6875rem;
}
@media screen and (max-width: 767px) {
  .p-about__wrap {
    display: block;
    max-width: 31.25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-about__caption {
  position: absolute;
  top: -200px;
  top: -12.5rem;
  left: 0;
  color: #ff8d07;
  font-size: 115px;
  font-size: 7.1875rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  line-height: 1;
  letter-spacing: 0.05em;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-about__caption {
    top: -15.625rem;
    font-size: 2.6875rem;
  }
}

.p-about__container {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .p-about__container {
    width: 100%;
  }
}

.p-about__text {
  margin-top: 40px;
  margin-top: 2.5rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 17px;
  font-size: 1.0625rem;
}
@media screen and (max-width: 767px) {
  .p-about__text {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    font-size: 0.9375rem;
  }
}

.p-about__slider {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-about__slider {
    margin-top: 2.5rem;
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }
}

.p-about__slider-item {
  position: relative;
  width: 100%;
}

.p-about__slider-item:before {
  content: "";
  display: block;
  padding-top: 110%;
}

.p-about__slider-item img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 10px;
}

.p-about__btn-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-about__btn-wrap {
    display: block;
    width: 100%;
  }
}

.p-about__btn {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 18px;
  font-size: 1.125rem;
  color: #000;
}
@media screen and (max-width: 767px) {
  .p-about__btn {
    margin-left: auto;
    width: auto;
    font-size: 1rem;
  }
}

.p-about__btn a {
  position: relative;
  display: block;
  padding-top: 30px;
  padding-top: 1.875rem;
  padding-bottom: 30px;
  padding-bottom: 1.875rem;
  border-bottom: 1px solid #000;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-about__btn a {
    padding-top: 1.5625rem;
    padding-bottom: 1.5625rem;
  }
}

.p-about__btn:last-of-type a {
  border-bottom: 0;
}

.p-about__btn a span {
  position: absolute;
  top: 50%;
  right: 10px;
  right: 0.625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 40px;
  width: 2.5rem;
  height: 40px;
  height: 2.5rem;
  -webkit-mask: url(../images/common/sercleAnker.png) no-repeat center center/contain;
          mask: url(../images/common/sercleAnker.png) no-repeat center center/contain;
  background-color: #000;
  vertical-align: middle;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .p-about__btn a span {
    width: 1.875rem;
    height: 1.875rem;
  }
}

.p-about__btn a:hover span {
  right: 0px;
  right: 0rem;
}

/* -----------------------------------------------------------------
  事業報告
----------------------------------------------------------------- */
.p-activity {
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
  position: relative;
}
.p-activity__inner {
  border-bottom: 1px solid #4199d5;
  padding-bottom: 100px;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-activity__inner {
    padding-bottom: 5rem;
  }
}

.p-activity__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-column-gap: 2.1875rem;
     -moz-column-gap: 2.1875rem;
          column-gap: 2.1875rem;
  margin-top: 90px;
  margin-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-activity__items {
    display: block;
    margin-top: 1.875rem;
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width: 767px) {
  .p-activity__item + .p-activity__item {
    margin-top: 1.875rem;
  }
}

.p-activity__body {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-activity__title {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.p-activity__date {
  display: block;
}

.p-activity__btn {
  text-align: center;
  margin-right: 80px;
  margin-right: 5rem;
}
@media screen and (max-width: 767px) {
  .p-activity__btn {
    margin-right: 2.5rem;
  }
}

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

.p-activity__image:before {
  content: "";
  display: block;
  padding-top: 70%;
}
@media screen and (max-width: 767px) {
  .p-activity__image:before {
    padding-top: 75%;
  }
}

.p-activity__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 0.625rem;
}

.l-single_margin {
  margin-top: 128px;
  margin-top: 8rem;
}

.p-bgWrap {
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-bgWrap {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.p-bgWrap__inner {
  position: relative;
  padding-top: 120px;
  padding-top: 7.5rem;
  padding-bottom: 120px;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 767px) {
  .p-bgWrap__inner {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }
}

.p-bgWrap__inner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #e5f0f7;
  border-radius: 0.9375rem;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  .l-contents.p-bgTopinfo {
    margin-top: 3rem;
  }
}
/* -----------------------------------------------------------------
  下層の下部のコンタクトエリア
----------------------------------------------------------------- */
.p-bottomContact {
  position: relative;
  overflow: hidden;
  padding-bottom: 100px;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-bottomContact {
    padding-bottom: 3.75rem;
  }
}

/* -----------------------------------------------------------------
  下層コンテンツのふわふわアニメーション ポジション設定
----------------------------------------------------------------- */
.p-contents-bgAnimation {
  position: absolute;
  top: -200px;
  top: -12.5rem;
  right: -400px;
  right: -25rem;
  width: 800px;
  width: 50rem;
  height: auto;
  z-index: -1;
}

.p-contents-bgAnimation.--left {
  right: inherit;
  left: -600px;
  left: -37.5rem;
}

.p-contents-bgAnimation.--middle {
  top: 50%;
  left: -600px;
  left: -37.5rem;
}

.p-contents-bgAnimation.--bottom {
  top: inherit;
  bottom: -200px;
  bottom: -12.5rem;
  right: -500px;
  right: -31.25rem;
}

/* -----------------------------------------------------------------
  ドロワーメニュー
----------------------------------------------------------------- */
.p-drawer {
  overflow-y: scroll;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  z-index: 4;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  background-color: #fff;
}
.p-drawer__logo {
  position: absolute;
  top: 18px;
  top: 1.125rem;
  left: 25px;
  width: 135px;
  width: 8.4375rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__logo {
    width: 6.25rem;
  }
}

.p-drawer__inner {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 900px;
  max-width: 56.25rem;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-drawer__inner {
    display: block;
    padding-top: 6.25rem;
    padding-bottom: 9.375rem;
    padding-right: 20px;
    padding-left: 20px;
    height: auto;
  }
}

.p-drawer__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 6.25rem;
     -moz-column-gap: 6.25rem;
          column-gap: 6.25rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-drawer__wrap {
    display: block;
    width: 70%;
    max-width: 25rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 600px) {
  .p-drawer__wrap {
    width: 100%;
  }
}

.p-drawer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 6.25rem;
     -moz-column-gap: 6.25rem;
          column-gap: 6.25rem;
}
@media screen and (max-width: 600px) {
  .p-drawer__nav {
    -webkit-column-gap: 1.875rem;
       -moz-column-gap: 1.875rem;
            column-gap: 1.875rem;
  }
}

.p-drawer__navigation-item {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 20px;
  font-size: 1.25rem;
  color: #3999d5;
}
@media screen and (max-width: 767px) {
  .p-drawer__navigation-item {
    font-size: 1rem;
  }
}

.p-drawer__navigation-item + .p-drawer__navigation-item {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-drawer__navigation-subItems {
  margin-top: 23px;
  margin-top: 1.4375rem;
}

.p-drawer__navigation-subItem {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  color: #787878;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__navigation-subItem {
    font-size: 0.875rem;
  }
}

.p-drawer__navigation-subItem + .p-drawer__navigation-subItem {
  margin-top: 15px;
  margin-top: 0.9375rem;
}

.p-drawer__container {
  width: 33.3333333333%;
}
@media screen and (max-width: 767px) {
  .p-drawer__container {
    width: 100%;
    margin-top: 2.5rem;
  }
}

.p-drawer__anchorBtn + .p-drawer__anchorBtn {
  margin-top: 18px;
  margin-top: 1.125rem;
}

.p-drawer__menuLogo {
  margin-top: 50px;
  margin-top: 3.125rem;
}

.p-drawer__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.9375rem;
     -moz-column-gap: 0.9375rem;
          column-gap: 0.9375rem;
  margin-top: 45px;
  margin-top: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__btns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-drawer__meta,
.p-drawer__contact {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 14px;
  font-size: 0.875rem;
  color: #3e3e3e;
  text-align: right;
}

.p-drawer__meta {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-drawer__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  margin-top: 45px;
  margin-top: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-drawer__row {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-drawer__snsIcons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.3125rem;
     -moz-column-gap: 1.3125rem;
          column-gap: 1.3125rem;
}

.p-drawer__snsIcon {
  width: 23px;
  width: 1.4375rem;
  height: auto;
}

.p-drawer__privacy {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 14px;
  font-size: 0.875rem;
  color: #111;
  text-decoration: underline;
}

.p-drawer.open {
  visibility: visible;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .p-drawer.open {
    right: 0;
  }
}

.p-drawer.open .p-drawer__inner {
  visibility: visible;
  opacity: 1;
}

.c-bgPurple {
  position: relative;
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 180px;
  padding-bottom: 11.25rem;
  background: #842488;
  background: -webkit-gradient(linear, left top, left bottom, from(#842488), to(#3d0963));
  background: linear-gradient(180deg, #842488 0%, #3d0963 100%);
}

.c-bgPurple::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-image: url(../images/event/bg-about.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 600px;
  height: 37.5rem;
}

.c-bgBeige {
  padding-top: 180px;
  padding-top: 11.25rem;
  padding-bottom: 180px;
  padding-bottom: 11.25rem;
  background-image: url(../images/event/bg-beige.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .c-bgBeige {
    padding-top: 5rem;
    padding-bottom: 6.25rem;
  }
}

.c-bgOrange {
  padding-top: 180px;
  padding-top: 11.25rem;
  padding-bottom: 180px;
  padding-bottom: 11.25rem;
  background-image: url(../images/event/bg-orange.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .c-bgOrange {
    padding-top: 5rem;
    padding-bottom: 6.25rem;
  }
}

.p-eventMv__image {
  background-image: url(../images/event/mv01.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.p-eventMeta {
  color: #fff;
}

.p-eventMeta__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-eventMeta__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.875rem;
  }
}

.p-eventMeta__container {
  width: 65%;
}
@media screen and (max-width: 767px) {
  .p-eventMeta__container {
    width: 100%;
  }
}

.p-eventMeta__list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 3.125rem;
     -moz-column-gap: 3.125rem;
          column-gap: 3.125rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-eventMeta__list-item {
    -webkit-column-gap: 1.5625rem;
       -moz-column-gap: 1.5625rem;
            column-gap: 1.5625rem;
  }
}

.p-eventMeta__list-item + .p-eventMeta__list-item {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.p-eventMeta__title {
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  max-width: 200px;
  max-width: 12.5rem;
  padding: 5px;
  padding: 0.3125rem;
  text-align: center;
  border: 1px solid #fff;
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-eventMeta__title {
    font-size: 1rem;
    width: 20%;
  }
}

.p-eventMeta__date {
  font-size: 48px;
  font-size: 3rem;
  font-weight: 700;
  font-family: "Outfit", sans-serif;
}
@media screen and (max-width: 767px) {
  .p-eventMeta__date {
    font-size: 1.5rem;
  }
}

.p-eventMeta__date span {
  display: block;
  font-size: 20px;
  font-size: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-eventMeta__date span {
    font-size: 1rem;
  }
}

.p-eventMeta__place {
  font-size: 26px;
  font-size: 1.625rem;
}
@media screen and (max-width: 767px) {
  .p-eventMeta__place {
    font-size: 1.125rem;
  }
}

.p-eventMeta__sponsor {
  width: 35%;
  padding-left: 50px;
  padding-left: 3.125rem;
  border-left: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .p-eventMeta__sponsor {
    width: 100%;
    padding-top: 1.875rem;
    border-top: 1px solid #fff;
    border-left: 0px;
    padding-left: 0;
  }
}

.p-eventMenu {
  margin-top: 100px;
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-eventMenu {
    margin-top: 3.75rem;
  }
}

.p-eventMenu__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-eventMenu__wrap {
    grid-template-columns: 1fr;
    row-gap: 2.5rem;
  }
}

.p-eventMenu__link a {
  display: block;
  position: relative;
  height: 100%;
  padding: 20px 0;
  padding: 1.25rem 0;
  text-align: center;
  background-color: #fff;
  border-radius: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 500;
  color: #842488;
}
@media screen and (max-width: 767px) {
  .p-eventMenu__link a {
    padding: 0.625rem 0 1.25rem;
    font-size: 1.125rem;
  }
}

.p-eventMenu__link a:before {
  content: "";
  position: absolute;
  bottom: -15px;
  bottom: -0.9375rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  width: 30px;
  width: 1.875rem;
  height: 30px;
  height: 1.875rem;
  background-image: url(../images/event/icon-eventlink.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-eventMenu__link a:before {
    bottom: -1.25rem;
  }
}

.p-eventMenu__link a span {
  display: block;
  width: 80%;
  margin-top: 10px;
  margin-top: 0.625rem;
  margin-left: auto;
  margin-right: auto;
  border-top: 1px solid #842488;
  padding-top: 10px;
  padding-top: 0.625rem;
}

.p-eventMenu__link a span img {
  max-width: 100px;
  max-width: 6.25rem;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.p-eventMenu__link.--stage a span img {
  max-width: 60px;
  max-width: 3.75rem;
}

.p-eventAbout {
  margin-top: 100px;
  margin-top: 6.25rem;
  padding: 60px 30px 100px;
  padding: 3.75rem 1.875rem 6.25rem;
  border: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .p-eventAbout {
    padding: 3.75rem 1.25rem 6.25rem;
  }
}

.p-eventAbout__title img {
  max-width: 120px;
  max-width: 7.5rem;
  margin-left: auto;
  margin-right: auto;
}

.p-eventAbout__caption {
  margin-top: 20px;
  margin-top: 1.25rem;
  color: #f6e80d;
  font-weight: 700;
  font-size: 42px;
  font-size: 2.625rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eventAbout__caption {
    font-size: 0.875rem;
  }
}

.p-eventAbout__text {
  font-size: 18px;
  font-size: 1.125rem;
  color: #fff;
  max-width: 850px;
  max-width: 53.125rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-eventAbout__text {
    font-size: 0.875rem;
  }
}

.p-eventList {
  position: relative;
  margin-top: 140px;
  margin-top: 8.75rem;
  padding: 120px 30px 100px;
  padding: 7.5rem 1.875rem 6.25rem;
  background-color: #fff;
  border-radius: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-eventList {
    margin-top: 6.25rem;
    padding: 5rem 1.25rem 6.25rem;
  }
}

.p-eventList:before,
.p-eventList:after {
  content: "";
  position: absolute;
  top: -20px;
  top: -1.25rem;
  width: 300px;
  width: 18.75rem;
  height: 150px;
  height: 9.375rem;
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-eventList:before,
.p-eventList:after {
    width: 7.5rem;
    height: 4.6875rem;
  }
}

.p-eventList:before {
  left: -50px;
  left: -3.125rem;
  background-image: url(../images/event/flag-left.png);
}

.p-eventList:after {
  right: -50px;
  right: -3.125rem;
  background-image: url(../images/event/flag-right.png);
}

.p-eventList__deco {
  position: absolute;
  top: -90px;
  top: -5.625rem;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .p-eventList__deco {
    top: -2.1875rem;
  }
}

.p-eventList__deco img {
  max-width: 400px;
  max-width: 25rem;
  margin-left: auto;
  margin-right: auto;
}

.p-eventList__title img {
  max-width: 210px;
  max-width: 13.125rem;
  margin-left: auto;
  margin-right: auto;
}

.p-eventList__title-jp {
  font-size: 24px;
  font-size: 1.5rem;
  color: #f47315;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-eventList__title-jp {
    font-size: 1.125rem;
  }
}

.p-eventList__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  margin-top: 80px;
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-eventList__items {
    grid-template-columns: 1fr;
    row-gap: 3.125rem;
  }
}

.p-eventList__item {
  padding: 30px;
  padding: 1.875rem;
  background-color: #f9ebf9;
  border-radius: 0.9375rem;
}
@media screen and (max-width: 767px) {
  .p-eventList__item {
    padding: 1.25rem;
  }
}

.p-eventList__image {
  margin-top: -60px;
  margin-top: -3.75rem;
  max-width: 180px;
  max-width: 11.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-eventList__image {
    max-width: 6.25rem;
  }
}

.p-eventList__item-title {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-eventList__item-title {
    font-size: 1.25rem;
  }
}

.p-eventList__item-text {
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-eventList__item-text {
    font-size: 0.875rem;
  }
}

.p-stage__title img {
  max-width: 210px;
  max-width: 13.125rem;
  margin-left: auto;
  margin-right: auto;
}

.p-stage__title-jp {
  font-size: 24px;
  font-size: 1.5rem;
  color: #f47315;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-stage__title-jp {
    font-size: 1.125rem;
  }
}

.p-stage__wrap {
  margin-top: 140px;
  margin-top: 8.75rem;
  background-color: #fff;
  border-radius: 1.25rem;
  border: 8px solid #842488;
  padding: 200px 80px 100px;
  padding: 12.5rem 5rem 6.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-stage__wrap {
    padding: 6.25rem 1.25rem 6.25rem;
  }
}

.p-stage__wrap:before {
  content: "";
  position: absolute;
  top: -220px;
  top: -13.75rem;
  left: -160px;
  left: -10rem;
  width: 500px;
  width: 31.25rem;
  height: 300px;
  height: 18.75rem;
  background-image: url(../images/event/stage-majo.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-stage__wrap:before {
    top: -8.75rem;
    left: -10rem;
    width: 15.625rem;
    height: 11.25rem;
  }
}

.p-stage__wrap:after {
  content: "";
  position: absolute;
  top: -220px;
  top: -13.75rem;
  right: -160px;
  right: -10rem;
  width: 400px;
  width: 25rem;
  height: 220px;
  height: 13.75rem;
  background-image: url(../images/event/stage-bat.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-stage__wrap:after {
    top: -8.75rem;
    right: -10rem;
    width: 15.625rem;
    height: 11.25rem;
  }
}

.p-stage__md-title {
  position: absolute;
  top: -60px;
  top: -3.75rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 40px;
  font-size: 2.5rem;
  color: #fff;
  padding: 20px 60px;
  padding: 1.25rem 3.75rem;
  background-color: #842488;
  border-radius: 3.75rem;
  max-width: 600px;
  max-width: 37.5rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-stage__md-title {
    font-size: 1.25rem;
    padding: 0.625rem 0.625rem;
    width: 100%;
    max-width: 15rem;
    top: -1.875rem;
  }
}

.p-stage__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 5rem;
     -moz-column-gap: 5rem;
          column-gap: 5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-stage__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2.5rem;
  }
}

.p-stage__container + .p-stage__container {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-top: 50px;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-stage__container + .p-stage__container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2.5rem;
  }
}

.p-stage__image {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-stage__image {
    width: 100%;
  }
}

.p-stage__image img {
  border-radius: 0.9375rem;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.p-stage__contents {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .p-stage__contents {
    width: 100%;
  }
}

.p-stage__name {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-stage__name {
    font-size: 1.125rem;
  }
}

.p-stage__text {
  font-size: 18px;
  font-size: 1.125rem;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-stage__text {
    font-size: 0.875rem;
  }
}

.p-stage__items {
  margin-top: 100px;
  margin-top: 6.25rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 30px;
  gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-stage__items {
    margin-top: 3.125rem;
    grid-template-columns: 1fr 1fr;
  }
}

.p-stage__items .p-stage__name {
  margin-top: 20px;
  margin-top: 1.25rem;
  font-size: 21px;
  font-size: 1.3125rem;
}
@media screen and (max-width: 767px) {
  .p-stage__items .p-stage__name {
    font-size: 1rem;
  }
}

.p-marche__title-jp {
  font-size: 24px;
  font-size: 1.5rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-marche__title-jp {
    font-size: 1.125rem;
  }
}

.p-marche__wrap {
  margin-top: 140px;
  margin-top: 8.75rem;
  background-color: #fff;
  border-radius: 1.25rem;
  border: 8px solid #842488;
  padding: 200px 80px 100px;
  padding: 12.5rem 5rem 6.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-marche__wrap {
    padding: 6.25rem 1.25rem 6.25rem;
  }
}

.p-marche__wrap:before {
  content: "";
  position: absolute;
  top: -180px;
  top: -11.25rem;
  left: -130px;
  left: -8.125rem;
  width: 400px;
  width: 25rem;
  height: 200px;
  height: 12.5rem;
  background-image: url(../images/event/marche-cat.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-marche__wrap:before {
    top: -6.875rem;
    left: -5rem;
    width: 12.5rem;
    height: 6.25rem;
  }
}

.p-marche__wrap:after {
  content: "";
  position: absolute;
  top: -220px;
  top: -13.75rem;
  right: -160px;
  right: -10rem;
  width: 400px;
  width: 25rem;
  height: 220px;
  height: 13.75rem;
  background-image: url(../images/event/marche-ghost.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-marche__wrap:after {
    top: -7.5rem;
    right: -5rem;
    width: 12.5rem;
    height: 6.25rem;
  }
}

.p-marche__md-title {
  position: absolute;
  top: -60px;
  top: -3.75rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-size: 40px;
  font-size: 2.5rem;
  color: #fff;
  padding: 20px 150px;
  padding: 1.25rem 9.375rem;
  background-color: #842488;
  border-radius: 3.75rem;
  max-width: 500px;
  max-width: 31.25rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-marche__md-title {
    font-size: 1.25rem;
    padding: 0.625rem 0.625rem;
    width: 100%;
    max-width: 15rem;
    top: -1.875rem;
  }
}

.p-marche__bosyu a {
  color: #0000ff;
  font-size: 18px;
  font-size: 1.125rem;
  padding-bottom: 3px;
  padding-bottom: 0.1875rem;
  border-bottom: 1px solid #0000ff;
}

.p-marche__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.p-marche__head:not(:first-of-type) {
  margin-top: 50px;
  margin-top: 3.125rem;
}

.p-marche__icon img {
  max-width: 100px;
  max-width: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-marche__icon img {
    max-width: 5rem;
  }
}

.p-marche__sm-title {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  color: #842488;
}
@media screen and (max-width: 767px) {
  .p-marche__sm-title {
    font-size: 1.5rem;
  }
}

.p-marche__lists {
  margin-top: 30px;
  margin-top: 1.875rem;
  padding: 30px 50px;
  padding: 1.875rem 3.125rem;
  background-color: #f4f7f0;
  border-radius: 0.9375rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px 50px;
  gap: 1.25rem 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-marche__lists {
    grid-template-columns: 1fr 1fr;
    font-size: 0.875rem;
    padding: 1.875rem 1.25rem;
    margin-top: 1.25rem;
  }
}

.p-parade {
  margin-top: 200px;
  margin-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  .p-parade {
    margin-top: 7.5rem;
  }
}

.p-parade__window {
  max-width: 900px;
  max-width: 56.25rem;
  margin-left: auto;
  margin-right: auto;
}

.p-parade__title {
  margin-top: 80px;
  margin-top: 5rem;
  font-size: 50px;
  font-size: 3.125rem;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-parade__title {
    font-size: 1.5rem;
    margin-top: 3.125rem;
  }
}

.p-parade__title img {
  max-width: 900px;
  max-width: 56.25rem;
  margin-left: auto;
  margin-right: auto;
}

.p-parade__title-jp {
  color: #fff;
  text-align: center;
  margin-top: 20px;
  margin-top: 1.25rem;
  font-weight: 700;
  font-size: 36px;
  font-size: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-parade__title-jp {
    font-size: 1.5rem;
  }
}

.p-parade__text {
  max-width: 900px;
  max-width: 56.25rem;
  margin-left: auto;
  margin-right: auto;
  font-weight: 700;
  margin-top: 40px;
  margin-top: 2.5rem;
  font-size: 21px;
  font-size: 1.3125rem;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-parade__text {
    font-size: 1.125rem;
  }
}

.p-parade__bottom {
  margin-top: 50px;
  margin-top: 3.125rem;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-parade__bottom {
    width: 100%;
  }
}

.p-time__title img {
  max-width: 210px;
  max-width: 13.125rem;
  margin-left: auto;
  margin-right: auto;
}

.p-time__title-jp {
  font-size: 24px;
  font-size: 1.5rem;
  color: #f47315;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-time__title-jp {
    font-size: 1.125rem;
  }
}

.p-time__wrap {
  margin-top: 140px;
  margin-top: 8.75rem;
  background-color: #fff;
  border-radius: 1.25rem;
  border: 8px solid #842488;
  padding: 150px 80px 100px;
  padding: 9.375rem 5rem 6.25rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-time__wrap {
    padding: 3.75rem 1.25rem 5rem;
  }
}

.p-time__wrap:before {
  content: "";
  position: absolute;
  top: -180px;
  top: -11.25rem;
  left: -130px;
  left: -8.125rem;
  width: 400px;
  width: 25rem;
  height: 200px;
  height: 12.5rem;
  background-image: url(../images/event/time-ghost.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-time__wrap:before {
    top: -6.25rem;
    left: -3.75rem;
    width: 12.5rem;
    height: 6.25rem;
  }
}

.p-time__wrap:after {
  content: "";
  position: absolute;
  top: -220px;
  top: -13.75rem;
  right: -160px;
  right: -10rem;
  width: 400px;
  width: 25rem;
  height: 220px;
  height: 13.75rem;
  background-image: url(../images/event/time-bat.png);
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .p-time__wrap:after {
    top: -6.875rem;
    right: -5rem;
    width: 12.5rem;
    height: 6.25rem;
  }
}

p.p-time__text {
  display: block;
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  p.p-time__text {
    font-size: 1.125rem;
    text-align: left;
  }
}

.p-time__table {
  max-width: 800px;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 40px;
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-time__table {
    overflow-X: scroll;
  }
}

@media screen and (max-width: 767px) {
  .p-time__table img {
    min-width: 37.5rem;
  }
}

.p-access {
  margin-top: 150px;
  margin-top: 9.375rem;
}

.p-access__title img {
  max-width: 210px;
  max-width: 13.125rem;
  margin-left: auto;
  margin-right: auto;
}

.p-access__title-jp {
  font-size: 24px;
  font-size: 1.5rem;
  color: #f47315;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-access__title-jp {
    font-size: 1.125rem;
  }
}

.p-access__map {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-access__map {
    padding-bottom: 76.25%;
  }
}

.p-access__map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

.p-access__place {
  margin-top: 40px;
  margin-top: 2.5rem;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-access__place {
    font-size: 1.25rem;
  }
}

.p-access__text {
  margin-top: 30px;
  margin-top: 1.875rem;
  font-size: 24px;
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-access__text {
    margin-top: 1.25rem;
    font-size: 1.125rem;
  }
}

.p-sponsor {
  margin-top: 150px;
  margin-top: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-sponsor {
    margin-top: 6.25rem;
  }
}

.p-sponsor__title img {
  max-width: 210px;
  max-width: 13.125rem;
  margin-left: auto;
  margin-right: auto;
}

.p-sponsor__title-jp {
  font-size: 24px;
  font-size: 1.5rem;
  color: #f47315;
  font-weight: 700;
  text-align: center;
  margin-top: 10px;
  margin-top: 0.625rem;
}
@media screen and (max-width: 767px) {
  .p-sponsor__title-jp {
    font-size: 1.125rem;
  }
}

.p-sponsor__text {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-sponsor__text {
    font-size: 1rem;
  }
}

.p-sponsor__wrap {
  margin-top: 100px;
  margin-top: 6.25rem;
  border-radius: 1.25rem;
  border: 8px solid #842488;
  padding: 150px 80px 100px;
  padding: 9.375rem 5rem 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-sponsor__wrap {
    margin-top: 3.125rem;
    padding: 5rem 1.875rem 6.25rem;
  }
}

.p-sponsor__items {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px 80px;
  gap: 3.75rem 5rem;
}
@media screen and (max-width: 767px) {
  .p-sponsor__items {
    grid-template-columns: 1fr;
    gap: 3.75rem 0rem;
  }
}

.p-sponsor__items.--top {
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .p-sponsor__items.--top {
    grid-template-columns: 1fr;
  }
}

.p-sponsor__items.--bottom {
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .p-sponsor__items.--bottom {
    grid-template-columns: 1fr;
  }
}

.p-sponsor__items + .p-sponsor__items {
  margin-top: 80px;
  margin-top: 5rem;
  gap: 20px 80px;
  gap: 1.25rem 5rem;
  max-width: 900px;
  max-width: 56.25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-sponsor__items + .p-sponsor__items {
    margin-top: 3.125rem;
    gap: 1.25rem 0rem;
  }
}

@media screen and (max-width: 767px) {
  .p-sponsor__item-image img {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-sponsor__name {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-sponsor__name {
    font-size: 0.875rem;
    margin-top: 0.625rem;
  }
}

.p-sponsor__items.--bottom .p-sponsor__name {
  font-weight: 500;
  text-align: left;
}

.p-sponsor__items a .p-sponsor__name {
  color: #3A67B1;
}

.p-eventFooter {
  margin-top: 150px;
  margin-top: 9.375rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-eventFooter {
    margin-top: 6.25rem;
  }
}

.p-eventFooter__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media screen and (max-width: 767px) {
  .p-eventFooter__wrap {
    grid-template-columns: 1fr;
  }
}

.p-eventFooter__left {
  background-color: #842488;
  text-align: center;
  padding: 80px;
  padding: 5rem;
}
@media screen and (max-width: 767px) {
  .p-eventFooter__left {
    padding: 1.875rem 1.25rem;
  }
}

.p-eventFooter__right {
  background-color: #0a0f2a;
  text-align: center;
  padding: 80px;
  padding: 5rem;
}
@media screen and (max-width: 767px) {
  .p-eventFooter__right {
    padding: 1.875rem 1.25rem;
  }
}

.p-eventFooter__title {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-eventFooter__title {
    font-size: 1.125rem;
  }
}

.p-eventFooter__title.--bd {
  margin-top: 50px;
  margin-top: 3.125rem;
  padding-top: 50px;
  padding-top: 3.125rem;
  border-top: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  .p-eventFooter__title.--bd {
    margin-top: 1.875rem;
    padding-top: 1.875rem;
  }
}

.p-eventFooter__text {
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 400;
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-eventFooter__text {
    font-size: 0.875rem;
  }
}

.p-eventFooter__text + .p-eventFooter__text {
  margin-top: 10px;
  margin-top: 0.625rem;
}

.p-eventFooter__logo {
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-eventFooter__logo {
    margin-top: 1.25rem;
  }
}

.p-eventFooter__logo img {
  max-width: 400px;
  max-width: 25rem;
  margin-left: auto;
  margin-right: auto;
}

.p-eventFooter .p-footer__snsIcons {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-eventFooter__meta {
  margin-top: 20px;
  margin-top: 1.25rem;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-eventFooter__meta {
    font-size: 0.8125rem;
  }
}

@media screen and (max-width: 767px) {
  .p-eventFooter__bottom {
    height: 18.75rem;
    background-image: url(../images/event/footer-bottom.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
}

@media screen and (max-width: 767px) {
  .p-eventFooter__bottom img {
    display: none;
  }
}

/* -----------------------------------------------------------------
  フッター
----------------------------------------------------------------- */
.p-footer {
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
  background-color: #3999d5;
}
.p-footer__inner {
  padding-top: 100px;
  padding-top: 6.25rem;
  padding-bottom: 110px;
  padding-bottom: 6.875rem;
}
@media screen and (max-width: 767px) {
  .p-footer__inner {
    padding-top: 5rem;
    padding-bottom: 5.625rem;
  }
}

.p-footer__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-footer__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 3.125rem;
  }
}

.p-footer__logo a span {
  font-size: 12px;
  font-size: 0.75rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .p-footer__logo a span {
    font-size: 0.625rem;
  }
}

.p-footer__logo a {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-footer__logo a {
    font-size: 1.125rem;
  }
}

.p-footer__left {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .p-footer__left {
    width: 100%;
  }
}

.p-footer__right {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-footer__right {
    width: 100%;
  }
}

.p-footer__meta {
  width: 70%;
  max-width: 400px;
  max-width: 25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 14px;
  font-size: 0.875rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-footer__meta {
    width: 100%;
    font-size: 0.8125rem;
  }
}

.p-footer__address.--head {
  margin-top: 36px;
  margin-top: 2.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer__address.--head {
    margin-top: 1.5rem;
  }
}

.p-footer__privacy {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .p-footer__privacy {
    margin-top: 1.875rem;
  }
}

.p-footer__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.9375rem;
     -moz-column-gap: 0.9375rem;
          column-gap: 0.9375rem;
  margin-top: 60px;
  margin-top: 3.75rem;
}

.p-footer__snsIcons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.3125rem;
     -moz-column-gap: 1.3125rem;
          column-gap: 1.3125rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 45px;
  margin-top: 2.8125rem;
}
@media screen and (max-width: 767px) {
  .p-footer__snsIcons {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.p-footer__snsIcon {
  width: 30px;
  width: 1.875rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-footer__snsIcon {
    width: 1.25rem;
  }
}

.p-footer__nav-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  row-gap: 30px;
  row-gap: 1.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 100;
  color: rgba(255, 255, 255, .8);
}
@media screen and (max-width: 767px) {
  .p-footer__nav-items {
    font-size: 0.875rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
    row-gap: 1.875rem;
  }
}

.p-footer__nav-item {
  padding: 5px 0;
  padding: 0.3125rem 0;
  color: #fff;
  font-weight: 400;
}

.p-footer__links {
  margin-top: 100px;
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-footer__links {
    margin-top: 3.125rem;
  }
}

.p-footer__links dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 6.25rem;
     -moz-column-gap: 6.25rem;
          column-gap: 6.25rem;
  padding-top: 40px;
  padding-top: 2.5rem;
  padding-bottom: 40px;
  padding-bottom: 2.5rem;
  border-top: 1px solid rgba(220, 220, 220, .8);
}
@media screen and (max-width: 767px) {
  .p-footer__links dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.25rem;
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }
}

.p-footer__links dl dt {
  width: 20%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 15px;
  font-size: 0.9375rem;
  color: #fff;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .p-footer__links dl dt {
    width: 100%;
    font-size: 1rem;
  }
}

.p-footer__links dl dd {
  width: 80%;
}
@media screen and (max-width: 767px) {
  .p-footer__links dl dd {
    width: 100%;
  }
}

.p-footer__nav-items.--links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
  row-gap: 16px;
  row-gap: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.p-footer__nav-items.--links.--backnumber {
  font-size: 12px;
  font-size: 0.75rem;
  -webkit-column-gap: 0.875rem;
     -moz-column-gap: 0.875rem;
          column-gap: 0.875rem;
}

.p-footer__nav-items.--links .p-footer__nav-item {
  font-size: 14px;
  font-size: 0.875rem;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .p-footer__nav-items.--links .p-footer__nav-item {
    font-weight: 400;
  }
}

.p-footer__bottom {
  background: #fff;
  padding: 60px 50px;
  padding: 3.75rem 3.125rem;
  border-radius: 2rem 2rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-footer__bottom {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.875rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.p-footer__bottom-logo {
  max-width: 250px;
  max-width: 15.625rem;
}

.p-footer__copyright {
  font-family: "Plus Jakarta Sans", sans-serif;
  text-align: right;
  font-size: 14px;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .p-footer__copyright {
    font-size: 0.75rem;
  }
}

.p-form input[type=radio], .p-form input[type=checkbox] {
  display: block;
  opacity: 0;
  position: absolute;
  z-index: -100;
  -webkit-appearance: auto;
     -moz-appearance: auto;
          appearance: auto;
}
.p-form input[type=radio] + span,
.p-form input[type=checkbox] + span {
  padding: 20px 20px 20px 20px;
  padding: 1.25rem 1.25rem 1.25rem 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.075em;
  line-height: 1.6;
  color: #111;
  text-align: left;
  width: 100%;
}
.p-form input[type=radio] + span {
  padding: 10px 10px 10px 18px;
  padding: 0.625rem 0.625rem 0.625rem 1.125rem;
}
.p-form input[type=checkbox] + span {
  width: auto;
}
@media screen and (max-width: 767px) {
  .p-form input[type=checkbox] + span {
    padding-right: 0;
  }
}
.p-form input[type=radio]:checked + span,
.p-form input[type=checkbox]:checked + span {
  color: #111;
}
.p-form input[type=radio] + span:before,
.p-form input[type=checkbox] + span::before {
  border: 1px solid #707070;
}
.p-form input[type=radio]:checked + span:before,
.p-form input[type=checkbox]:checked + span::before {
  border: 1px solid #707070;
}
.p-form input[type=radio]:checked + span:after {
  background: #0097d7;
}
.p-form input[type=text], .p-form input[type=password], .p-form input[type=email], .p-form input[type=tel], .p-form input[type=url], .p-form input[type=search], .p-form input[type=number], .p-form input[type=datetime], .p-form input[type=week], .p-form select {
  width: 100%;
}
.p-form textarea {
  margin-top: 10px;
  margin-top: 0.625rem;
  padding: 10px 10px;
  padding: 0.625rem 0.625rem;
  width: 100%;
}
.p-form input[type=checkbox]:checked + span:after {
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -10px;
  -webkit-mask: url(../images/common/icon-check.png) no-repeat center center/contain;
          mask: url(../images/common/icon-check.png) no-repeat center center/contain;
  background-color: #0097d7;
  width: 20px;
  height: 20px;
}
.p-form input[type=checkbox] + span:hover::after {
  background-color: #0097d7;
}
.p-form input[type=text],
.p-form input[type=email] {
  width: 100%;
}

.p-form__btn {
  text-align: center;
  margin-top: 50px;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-form__btn {
    margin-top: 1.875rem;
  }
}

.p-form__required:after {
  content: "※";
  display: inline-block;
  margin-left: 10px;
  margin-left: 0.625rem;
  font-size: 10px;
  font-size: 0.625rem;
  color: red;
}

@media screen and (max-width: 767px) {
  .submit_button + .submit_button {
    margin-top: 1.25rem;
  }
}

.p-form__error-wrap {
  margin-top: 30px;
  margin-top: 1.875rem;
  max-width: 400px;
  max-width: 25rem;
  text-align: left;
}

/* -----------------------------------------------------------------
  トップ - ガイダンス
----------------------------------------------------------------- */
.p-guidance__wrap_top_bnr {
  aspect-ratio: 40/10 !important;
}

.p-top-guidance {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-top-guidance {
    margin-top: 3rem;
  }
}

.p-top-guidance_en {
  position: absolute;
  left: -32px;
  left: -2rem;
  top: -64px;
  top: -4rem;
  width: 160px;
  width: 10rem;
}
@media screen and (max-width: 767px) {
  .p-top-guidance_en {
    top: -3rem;
    width: 7rem;
  }
}

.p-top-guidance_ttl {
  color: #fff;
  font-weight: bold;
  font-size: 32px;
  font-size: 2rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-guidance_ttl {
    font-size: 1.215rem;
  }
}

.p-top-guidance_ttl span {
  color: #fff;
  color: #fff100;
  font-size: 24px;
  font-size: 1.5rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .p-top-guidance_ttl span {
    font-size: 1rem;
    margin-bottom: 0.5rem;
  }
}

.p-guidance__arw {
  position: absolute;
  right: 48px;
  right: 3rem;
  top: 0;
  bottom: 0;
  margin: auto;
  display: block;
  width: 48px;
  width: 3rem;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .p-guidance__arw {
    right: 1rem;
    width: 2rem;
  }
}

.p-guidance__arw span {
  width: 48px;
  width: 3rem;
  height: 48px;
  height: 3rem;
}

.p-guidance__arw span img {
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}

.p-guidance {
  margin: 112px 0;
  margin: 7rem 0;
}

.p-guidance__sectTitle {
  color: #fff;
  text-align: center;
}

.p-guidance__sectTitle span {
  color: #fff100;
  margin-top: 8px;
  margin-top: 0.5rem;
}

.p-guidance__copy {
  color: #fff;
  font-weight: bold;
  font-size: 20px;
  font-size: 1.25rem;
  padding: 0px 20px;
  padding: 0rem 1.25rem;
  display: inline-block;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-guidance__copy {
    font-size: 1.125rem;
  }
}

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

.p-guidance__wrap {
  position: relative;
  display: grid;
  place-items: center;
  margin-top: 60px;
  margin-top: 3.75rem;
  padding: 20px;
  padding: 1.25rem;
  border-radius: 0.9375rem;
  background-image: url(../images/bg-guidance.jpg);
  background-color: #004498;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 40/13;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .p-guidance__wrap {
    margin-top: 1rem;
    padding: 2.5rem 1.25rem;
  }
}

@media screen and (max-width: 640px) {
  .p-guidance__wrap {
    width: 90%;
  }
}
.p-guidance__wrap::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: 100%;
  bottom: 0px;
  bottom: 0rem;
  height: 100%;
  background-color: #fff;
  border-radius: 10px 10px;
  -webkit-transform: rotate(3deg);
          transform: rotate(3deg);
}

.p-guidance__bnr {
  text-align: center;
  margin-top: 32px;
  margin-top: 2rem;
}

.p-guidance__bnr a {
  position: relative;
  display: inline-block;
  width: 100%;
  max-width: 300px;
  max-width: 18.75rem;
  padding: 12px 5px;
  padding: 0.75rem 0.3125rem;
  font-weight: bold;
  font-size: 16px;
  font-size: 1rem;
  color: #004498;
  text-align: center;
  background-color: #fff;
  border-radius: 2rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-guidance__bnr a:hover {
  color: #fff;
  background-color: #3999d5;
  opacity: 1;
}

.p-guidance__bnr a span {
  position: absolute;
  top: 50%;
  right: 20px;
  right: 1.25rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 400;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-guidance__bnr a:hover span {
  right: 15px;
  right: 0.9375rem;
  color: #fff;
}

.p-guidanceLink {
  width: 100%;
  max-width: 1000px;
  max-width: 62.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-guidanceLink {
    max-width: 25rem;
  }
}

.p-guidanceLink a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 50px 50px;
  padding: 3.125rem 3.125rem;
  background-color: rgba(255, 141, 7, .85);
  border-radius: 6px;
}
@media screen and (max-width: 767px) {
  .p-guidanceLink a {
    display: block;
    padding-top: 3.75rem;
  }
}

.p-guidanceLink a:before {
  content: "FUKUYAMA JCI GUIDANCE";
  display: block;
  position: absolute;
  top: -60px;
  top: -3.75rem;
  left: 0;
  width: 100%;
  font-family: "Plus Jakarta Sans", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.8;
  font-size: 60px;
  font-size: 3.75rem;
  text-align: center;
  font-weight: 400;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-guidanceLink a:before {
    top: -1.875rem;
    font-size: 1.875rem;
    font-weight: 300;
    line-height: 1.4;
  }
}

.p-guidanceLink a:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 45%;
  right: 40px;
  right: 2.5rem;
  -webkit-mask: url(../images/common/icon-anker.png) no-repeat center center/contain;
          mask: url(../images/common/icon-anker.png) no-repeat center center/contain;
  background-color: #fff;
  width: 26px;
  width: 1.625rem;
  height: 20px;
  height: 1.25rem;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .p-guidanceLink a:after {
    top: inherit;
    bottom: 1.25rem;
    right: 1.25rem;
  }
}

.p-guidanceLink a:hover:after {
  right: 30px;
  right: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-guidanceLink a:hover:after {
    right: 0.625rem;
  }
}

.p-guidanceLink__title {
  padding-right: 45px;
  padding-right: 2.8125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 30px;
  font-size: 1.875rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-guidanceLink__title {
    padding-right: 0;
    text-align: center;
    font-size: 1.5rem;
  }
}

.p-guidanceLink__copy {
  position: relative;
  padding-left: 45px;
  padding-left: 2.8125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 18px;
  font-size: 1.125rem;
  color: #fff;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .p-guidanceLink__copy {
    margin-top: 1.875rem;
    padding-top: 1.875rem;
    padding-left: 0;
    font-size: 1rem;
  }
}

.p-guidanceLink__copy:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 2px;
  height: 35px;
  height: 2.1875rem;
  background-color: #fff;
  -webkit-transform: rotate(30deg) translateY(-50%);
          transform: rotate(30deg) translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-guidanceLink__copy:before {
    top: 0;
    width: 100%;
    height: 2px;
    -webkit-transform: inherit;
            transform: inherit;
  }
}

/* -----------------------------------------------------------------
  ヘッダー
----------------------------------------------------------------- */
.p-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
  background-color: #fff;
  height: 100px;
  height: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-header {
    height: 3.75rem;
  }
}

.p-header__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-left: 25px;
  padding-right: 25px;
  padding-top: 5px;
  padding-top: 0.3125rem;
  padding-bottom: 5px;
  padding-bottom: 0.3125rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-header__container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.p-header__logo {
  width: 280px;
  width: 17.5rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-header__logo {
    width: 11.25rem;
  }
}

.p-header__nav {
  height: 100%;
  margin-right: calc(6.875rem - 25px);
}
@media screen and (max-width: 767px) {
  .p-header__nav {
    margin-right: calc(6.875rem - 20px);
    margin-right: 3.125rem;
  }
}

.p-header__nav-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.4375rem;
     -moz-column-gap: 1.4375rem;
          column-gap: 1.4375rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .p-header__nav-items {
    display: none;
  }
}

.p-header__nav-item:not(.p-header__nav-item.--icon) a {
  display: inline-block;
  padding-top: 20px;
  padding-top: 1.25rem;
  padding-bottom: 20px;
  padding-bottom: 1.25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.025em;
  line-height: 1;
  color: #111;
}

.p-header__nav-item.--icon {
  width: 35px;
  width: 2.1875rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-header__nav-item.--icon {
    width: 1.5625rem;
  }
}

.p-header__hamburger {
  position: fixed;
  top: 22px;
  top: 1.375rem;
  right: 25px;
}
@media screen and (max-width: 767px) {
  .p-header__hamburger {
    top: 0.625rem;
    right: 20px;
  }
}

/* -----------------------------------------------------------------
  メインビジュアル インフォバー
----------------------------------------------------------------- */
.p-infoWidget {
  position: relative;
  width: 100%;
  max-width: 500px;
  max-width: 31.25rem;
  margin-left: 0;
  margin-right: auto;
  border-radius: 0 1.25rem 0 0;
  background-color: #fff;
}
.p-infoWidget__left-deco,
.p-infoWidget__right-deco {
  display: block;
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  position: absolute;
  background-image: url(../images/common/info_right.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}

.p-infoWidget__right-deco {
  right: -47px;
  right: -2.9375rem;
  bottom: 3px;
  bottom: 0.1875rem;
}

.p-infoWidget__left-deco {
  left: 1px;
  left: 0.0625rem;
  top: -48px;
  top: -3rem;
}

.p-infoWidget a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 60px 30px 10px;
  padding: 1.875rem 3.75rem 1.875rem 0.625rem;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .p-infoWidget a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1rem 2.5rem 0rem 1.25rem;
    row-gap: 1rem;
  }
}

.p-infoWidget a:after {
  content: "";
  display: inline-block;
  width: 16px;
  width: 1rem;
  height: 16px;
  height: 1rem;
  position: absolute;
  top: 50%;
  right: 30px;
  right: 1.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-mask: url(../images/common/icon-anker.png) no-repeat center center/contain;
          mask: url(../images/common/icon-anker.png) no-repeat center center/contain;
  background-color: #308459;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-infoWidget a:hover:after {
  right: 25px;
  right: 1.5625rem;
}

.p-infoWidget__head {
  color: #0097d7;
  text-transform: capitalize;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-infoWidget__head {
    font-size: 0.875rem;
  }
}

.p-infoWidget__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.25rem;
     -moz-column-gap: 1.25rem;
          column-gap: 1.25rem;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .p-infoWidget__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .p-infoWidget__title {
    margin-top: 0.5rem;
    font-size: 0.8125rem;
  }
}

.p-interview {
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}

.p-interview__inner {
  position: relative;
  padding-top: 100px;
  padding-top: 6.25rem;
  padding-bottom: 125px;
  padding-bottom: 7.8125rem;
}

.p-interview__inner:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #026fb4;
  border-radius: 0.9375rem;
}

.p-interview__caption {
  max-width: 1000px;
  max-width: 62.5rem;
  margin-right: auto;
  margin-left: auto;
  margin-top: 80px;
  margin-top: 5rem;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 12px;
  font-size: 0.75rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-interview__caption {
    font-size: 0.8125rem;
  }
}

.p-interview__items {
  margin-top: 30px;
  margin-top: 1.875rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 60px 45px;
  gap: 3.75rem 2.8125rem;
  max-width: 1000px;
  max-width: 62.5rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-interview__items {
    margin-top: 4rem;
    grid-template-columns: 1fr 1fr;
    gap: 3.75rem 1.25rem;
  }
}

.p-interview__item {
  position: relative;
  padding-left: 30px;
  padding-left: 1.875rem;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .p-interview__item {
    padding-left: 0;
  }
}

.p-interview__item:hover .p-interview__image img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.p-interview__image {
  position: relative;
  width: 100%;
  overflow: hidden;
  border-radius: 0.5rem;
}

.p-interview__image:before {
  content: "";
  display: block;
  padding-top: 130%;
}

.p-interview__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 0.5rem;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  transition: transform 0.4s ease;
  transition: transform 0.4s ease, -webkit-transform 0.4s ease;
}

.p-interview__contents {
  margin-top: 20px;
  margin-top: 1.25rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-interview__contents {
    text-align: left;
  }
}

.p-interview__company {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 15px;
  font-size: 0.9375rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .p-interview__company {
    font-size: 0.8125rem;
  }
}

.p-interview__name {
  margin-top: 5px;
  margin-top: 0.3125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 18px;
  font-size: 1.125rem;
  color: #fff;
}

.p-interview__bgAnimation {
  position: absolute;
  top: -130px;
  top: -8.125rem;
  right: -500px;
  right: -31.25rem;
  width: 800px;
  width: 50rem;
  height: auto;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-interview__bgAnimation {
    top: -9.375rem;
    right: -25rem;
    width: 37.5rem;
  }
}

.p-interview__hash {
  position: absolute;
  top: 0;
  left: 30px;
  left: 1.875rem;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  color: #fff;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 700;
  font-size: 16px;
  font-size: 1rem;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
@media screen and (max-width: 767px) {
  .p-interview__hash {
    font-size: 0.75rem;
    left: 0;
    top: -1.875rem;
    -webkit-transform: inherit;
            transform: inherit;
  }
}

.p-interview__hash span {
  color: #fff100;
}

.p-introduction {
  padding-top: 150px;
  padding-top: 9.375rem;
  padding-bottom: 150px;
  padding-bottom: 9.375rem;
}
@media screen and (max-width: 767px) {
  .p-introduction {
    padding-top: 5.625rem;
    padding-bottom: 5.625rem;
  }
}

.p-introduction__items {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-column-gap: 2.1875rem;
     -moz-column-gap: 2.1875rem;
          column-gap: 2.1875rem;
  margin-top: 90px;
  margin-top: 5.625rem;
}
@media screen and (max-width: 767px) {
  .p-introduction__items {
    display: block;
    margin-top: 3.75rem;
    max-width: 25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-introduction__item {
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .p-introduction__item + .p-introduction__item {
    margin-top: 1.875rem;
  }
}

.p-introduction__body {
  padding-top: 20px;
  padding-top: 1.25rem;
  padding-left: 10px;
  padding-left: 0.625rem;
  padding-right: 10px;
  padding-right: 0.625rem;
  padding-bottom: 30px;
  padding-bottom: 1.875rem;
}

.p-introduction__date {
  display: block;
  margin-top: 15px;
  margin-top: 0.9375rem;
}

.p-introduction__btn {
  margin-top: 60px;
  margin-top: 3.75rem;
  text-align: center;
}

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

.p-introduction__image:before {
  content: "";
  display: block;
  padding-top: 70%;
}
@media screen and (max-width: 767px) {
  .p-introduction__image:before {
    padding-top: 75%;
  }
}

.p-introduction__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

/* -----------------------------------------------------------------
  トップ - 外部リンク アイコン
----------------------------------------------------------------- */
.p-linksArea__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
}

/* -----------------------------------------------------------------
  ローディング
----------------------------------------------------------------- */
.p-loading {
  width: 100vw;
  height: 100vh;
  background-color: #e5f0f7;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: none;
}

.p-loading__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
}

.p-loading__img {
  width: 280px;
  width: 17.5rem;
  height: 280px;
  height: 17.5rem;
  margin: auto;
  -webkit-animation: fade 1s ease-in;
          animation: fade 1s ease-in;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-loading__img {
    max-width: 12.5rem;
  }
}

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

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-loading__imgMain {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-mainVisual:not(.p-mainVisual.--sub) {
  position: relative;
  width: auto;
  margin-top: 100px;
  margin-top: 6.25rem;
  margin-left: auto;
  margin-right: auto;
}
.p-mainVisual .swiper {
  width: 100%;
  height: 100%;
  padding-top: 64px;
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-mainVisual .swiper {
    padding-top: 0;
  }
}

.swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 15px 15px;
}

.p-mainVisual.--sub {
  position: relative;
  margin-top: 80px;
  margin-top: 5rem;
  height: 30vh;
  display: grid;
  place-items: center;
  background-color: #e5f0f7;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-mainVisual.--sub {
    margin-top: 3.75rem;
    height: 24vh;
  }
}

.p-mainVisual.--sub:before {
  content: "";
  display: grid;
  place-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -45%);
          transform: translate(-50%, -45%);
  width: 30%;
  height: 150%;
  background-image: url(../images/image-greeting.png);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  z-index: 0;
  opacity: 0.07;
}
@media screen and (max-width: 767px) {
  .p-mainVisual.--sub:before {
    width: 70%;
    height: 150%;
    background-position: center;
  }
}

.p-mainVisual__container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  height: 100%;
  padding-left: 30px;
  padding-left: 1.875rem;
  padding-right: 30px;
  padding-right: 1.875rem;
  z-index: 1;
}
.p-mainVisual__copy {
  position: absolute;
  left: 30px;
  left: 1.875rem;
  bottom: 25%;
  width: 100%;
  max-width: 400px;
  max-width: 25rem;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 120px;
  font-size: 7.5rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  line-height: 1;
  color: #fff;
  text-shadow: 3px 2px 3px rgba(0, 0, 0, .3);
}
@media screen and (max-width: 767px) {
  .p-mainVisual__copy {
    font-size: 3.75rem;
    bottom: inherit;
    top: 5%;
    max-width: 12.5rem;
  }
}

.p-mainVisual__copy span {
  display: block;
  margin-top: 40px;
  margin-top: 2.5rem;
  font-size: 34px;
  font-size: 2.125rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-mainVisual__copy span {
    margin-top: 1.25rem;
    font-size: 1rem;
  }
}

.p-mainVisual__info-wrap {
  position: absolute;
  left: -5px;
  left: -0.3125rem;
  bottom: -5px;
  bottom: -0.3125rem;
  z-index: 5;
}
@media screen and (max-width: 767px) {
  .p-mainVisual__info-wrap {
    margin-top: 2.5rem;
    width: 100%;
    max-width: 18.75rem;
  }
}

.p-mainVisual__sub-title {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 35px;
  font-size: 2.1875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  color: #111;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-mainVisual__sub-title {
    font-size: 1.5rem;
  }
}

.p-mainVisual__sub-title span {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 28px;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.025em;
  line-height: 1;
  color: #ff8d07;
  text-transform: capitalize;
  color: #3999d5;
}
@media screen and (max-width: 767px) {
  .p-mainVisual__sub-title span {
    font-size: 1.125rem;
  }
}

/* -----------------------------------------------------------------
  インタビュー モーダル
----------------------------------------------------------------- */
.p-modalInterview {
  position: fixed;
  width: 100%;
  max-width: 400px;
  max-width: 25rem;
  margin-left: auto;
  margin-right: auto;
  top: 55%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: none;
  z-index: 20;
}
@media screen and (max-width: 767px) {
  .p-modalInterview {
    width: 80%;
  }
}

.p-modalInterview__bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  display: none;
  background-color: rgba(17, 17, 17, .8);
  z-index: 10;
}

.p-modalInterview__wrap {
  position: relative;
  background: #fff;
  border-radius: 1rem;
  padding: 20px;
  padding: 1.25rem;
}

.p-modalInterview__container {
  max-height: 70vh;
  /*ここのheightで高さ固定して中身をスクロールしたいときはいれる */
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .p-modalInterview__container {
    height: 70vh;
  }
}

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

.p-modalInterview__image:before {
  content: "";
  display: block;
  padding-top: 75%;
}
.p-modalInterview__image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 1rem;
}

.p-modalInterview__contents {
  margin-top: 20px;
  margin-top: 1.25rem;
}

.p-modalInterview__comment {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 16px;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  .p-modalInterview__comment {
    font-size: 0.875rem;
  }
}

.p-modalInterview__company {
  margin-top: 20px;
  margin-top: 1.25rem;
  padding-top: 10px;
  padding-top: 0.625rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 15px;
  font-size: 0.9375rem;
  border-top: 1px solid #308459;
}

.p-modalInterview__name {
  margin-top: 5px;
  margin-top: 0.3125rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 18px;
  font-size: 1.125rem;
}

.p-modalInterview__closeBtn {
  position: absolute;
  top: -25px;
  top: -1.5625rem;
  right: -15px;
  right: -0.9375rem;
  width: 50px;
  width: 3.125rem;
  height: 50px;
  height: 3.125rem;
  background-color: #afafaf;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .p-modalInterview__closeBtn {
    width: 1.875rem;
    height: 1.875rem;
    top: -0.625rem;
  }
}

.p-modalInterview__closeBtn span {
  position: relative;
  left: 7px;
  left: 0.4375rem;
  display: block;
  height: 2px;
  height: 0.125rem;
  width: 70%;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .p-modalInterview__closeBtn span {
    left: 0.3125rem;
  }
}

.p-modalInterview__closeBtn span:nth-child(1) {
  top: 1px;
  top: 0.0625rem;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-modalInterview__closeBtn span:nth-child(1) {
    top: 0rem;
  }
}

.p-modalInterview__closeBtn span:nth-child(2) {
  top: -1px;
  top: -0.0625rem;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .p-modalInterview__closeBtn span:nth-child(2) {
    top: -0.125rem;
  }
}

/* -----------------------------------------------------------------
  トップ - 学創伝
----------------------------------------------------------------- */
.p-philosophy {
  position: relative;
}

.p-philosophy__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 5rem;
     -moz-column-gap: 5rem;
          column-gap: 5rem;
  width: 100%;
  margin-top: 100px;
  margin-top: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-philosophy__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 3.75rem;
    margin-top: 3.75rem;
  }
}

.p-philosophy__left {
  width: 35%;
}
@media screen and (max-width: 767px) {
  .p-philosophy__left {
    width: 100%;
  }
}

.p-philosophy__greetingImage {
  margin-top: 50px;
  margin-top: 3.125rem;
}
@media screen and (max-width: 767px) {
  .p-philosophy__greetingImage {
    position: relative;
    width: 70%;
    margin-top: 1.875rem;
    margin-left: auto;
    margin-right: auto;
    right: inherit;
    bottom: inherit;
  }
}

.p-philosophy__greetingImage img {
  aspect-ratio: 4/5;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  border-radius: 10px;
}

.p-philosophy__container {
  width: 65%;
}
@media screen and (max-width: 767px) {
  .p-philosophy__container {
    width: 100%;
  }
}

.p-philosophy__image {
  width: 100%;
  max-width: 400px;
  max-width: 25rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-philosophy__image {
    width: 80%;
  }
}

.p-philosophy__text {
  margin-top: 55px;
  margin-top: 3.4375rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 17px;
  font-size: 1.0625rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-philosophy__text {
    margin-left: auto;
    margin-right: auto;
    font-size: 0.9375rem;
  }
}

.p-philosophy__sign {
  margin-top: 40px;
  margin-top: 2.5rem;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-philosophy__sign {
    margin-left: auto;
    margin-right: auto;
    font-size: 1rem;
  }
}

/* -----------------------------------------------------------------
  トップ - 入会する魅力
----------------------------------------------------------------- */
.p-point {
  position: relative;
}

.p-point__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-column-gap: 3.75rem;
     -moz-column-gap: 3.75rem;
          column-gap: 3.75rem;
}
@media screen and (max-width: 767px) {
  .p-point__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 31.25rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-point__container {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-point__container {
    display: contents;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-point__sectTitle {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}

.p-point__items {
  margin-top: 60px;
  margin-top: 3.75rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 18px;
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .p-point__items {
    font-size: 0.875rem;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.p-point__item {
  padding: 30px 20px;
  padding: 1.875rem 1.25rem;
  background-color: #fff;
  border-radius: 0.9375rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.875rem;
     -moz-column-gap: 1.875rem;
          column-gap: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-point__item {
    padding: 1.25rem 0.625rem;
    -webkit-column-gap: 1.375rem;
       -moz-column-gap: 1.375rem;
            column-gap: 1.375rem;
  }
}

.p-point__item + .p-point__item {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-point__item + .p-point__item {
    margin-top: 1.25rem;
  }
}

.p-point__head {
  width: 30%;
  text-align: center;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-point__head {
    font-size: 0.875rem;
  }
}

.p-point__head span {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.8;
  font-size: 20px;
  font-size: 1.25rem;
  color: #0097d7;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .p-point__head span {
    font-size: 1rem;
  }
}

.p-point__text {
  width: 70%;
  font-size: 14px;
  font-size: 0.875rem;
}

.p-point__image {
  width: 45%;
}
@media screen and (max-width: 767px) {
  .p-point__image {
    margin-top: 3.75rem;
    width: 100%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

/* -----------------------------------------------------------------
  トップ - 事業
----------------------------------------------------------------- */
.p-project {
  position: relative;
}
.p-project .p-bgWrap__inner::before {
  background-color: #fff;
}

.p-project__sectTitle {
  margin-left: 20px;
  margin-left: 1.25rem;
}

.p-project__sectTitle--en {
  font-size: 30px;
  font-size: 1.875rem;
}

.p-project__wrap {
  max-width: 1200px;
  max-width: 75rem;
  margin-top: 80px;
  margin-top: 5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-project__wrap {
    margin-top: 3.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-project__wrap + .p-project__wrap {
  margin-top: 20px;
  margin-top: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-project__wrap + .p-project__wrap {
    margin-top: 3.125rem;
  }
}

.p-project__wrap:nth-child(odd) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .p-project__wrap:nth-child(odd) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.p-project__image {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-project__image {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
    margin-top: 1rem;
  }
}

.p-project__image img {
  aspect-ratio: 40/17;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  border-radius: 0.625rem;
}

.p-project__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 6.25rem;
     -moz-column-gap: 6.25rem;
          column-gap: 6.25rem;
  margin-top: 30px;
  margin-top: 1.875rem;
}
@media screen and (max-width: 767px) {
  .p-project__container {
    display: contents;
    width: 100%;
  }
}

.p-project__pjTitle {
  width: 30%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
  font-size: 28px;
  font-size: 1.75rem;
  color: #111;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-project__pjTitle {
    width: 100%;
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: left;
    font-size: 1.5rem;
  }
}

.p-project__pjTitle span {
  display: block;
  font-family: "Plus Jakarta Sans", sans-serif;
  letter-spacing: 0.02em;
  line-height: 1.8;
  font-size: 16px;
  font-size: 1rem;
  color: #00449b;
}
.p-project__pjText {
  width: 70%;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.8;
  color: #111;
}
@media screen and (max-width: 767px) {
  .p-project__pjText {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    width: 100%;
    margin-top: 1.875rem;
    font-size: 0.875rem;
  }
}

/* -----------------------------------------------------------------
  トップ - SNSエリア
----------------------------------------------------------------- */
.p-sns__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  max-width: 1000px;
  max-width: 62.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-sns__wrap {
    display: block;
    max-width: 25rem;
  }
}

.p-sns__container {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-sns__container {
    width: 100%;
    margin-top: 1.5625rem;
  }
}

.p-sns__box + .p-sns__box {
  margin-top: 22px;
  margin-top: 1.375rem;
}
@media screen and (max-width: 767px) {
  .p-sns__box + .p-sns__box {
    margin-top: 1.5625rem;
  }
}

.p-sns__facebook {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-sns__facebook {
    width: 100%;
    text-align: center;
  }
}

.p-sns__facebook iframe {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-sns__facebook iframe {
    width: auto !important;
  }
}

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style] {
  width: 100% !important;
}

.facebook-wrapper {
  max-width: 500px;
  margin: 0 auto;
}

.facebook-wrapper > .fb-page {
  width: 100%;
}

.facebook-wrapper > .fb-page > span,
.facebook-wrapper iframe {
  width: 100% !important;
}

/* -----------------------------------------------------------------
  SNSリンクボックス
----------------------------------------------------------------- */
.p-snsBox {
  width: 100%;
}

.p-snsLinks__inner {
  background: #e5f0f7;
  border-radius: 1rem 1rem;
}

.p-snsBox.--instagram {
  border: 3px solid #c21500;
  -o-border-image: linear-gradient(210deg, #c2019a, #f0353f 40%, #feba1c);
     border-image: linear-gradient(210deg, #c2019a, #f0353f 40%, #feba1c);
  border-image-slice: 1;
}

.p-snsBox.--line {
  border: 3px solid #06c755;
}

.p-snsBox.--facebook {
  border: 3px solid #1877f2;
}

.p-snsBox a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 86.4px 25px;
  padding: 5.4rem 1.5625rem;
  background: #fff;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  min-height: 280px;
}
@media screen and (max-width: 767px) {
  .p-snsBox a {
    padding: 2rem 1.5625rem;
    min-height: auto;
  }
}

@media screen and (max-width: 1200px) {
  .p-snsBox a {
    padding: 8.5vw 1.5625rem;
  }
}
.p-snsLinks__item.p-snsBox a {
  min-height: auto;
}

.p-snsBox.--bottom a {
  padding: 20px 20px;
  padding: 1.25rem 1.25rem;
}

.p-snsBox__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.5rem;
     -moz-column-gap: 1.5rem;
          column-gap: 1.5rem;
}

.p-snsBox__icon {
  width: 57px;
  width: 3.5625rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  .p-snsBox__icon {
    width: 2.8125rem;
  }
}

.p-snsBox__icon.--bottom {
  width: 45px;
  width: 2.8125rem;
}

.p-snsBox__jciLogo {
  width: 300px;
  width: 18.75rem;
}
@media screen and (max-width: 767px) {
  .p-snsBox__jciLogo {
    width: 12.5rem;
    text-align: center;
    margin: auto;
  }
}

.p-snsBox__jciLogo.--bottom {
  width: 240px;
  width: 15rem;
}

.p-snsBox__snsName {
  margin-top: 5px;
  margin-top: 0.3125rem;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  line-height: 1;
  color: #111;
  text-transform: uppercase;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-snsBox__snsName {
    font-size: 0.9375rem;
  }
}

.p-snsBox__snsName.--bottom {
  font-size: 15px;
  font-size: 0.9375rem;
}

/* -----------------------------------------------------------------
  トップ - SNSリンク 下部
----------------------------------------------------------------- */
.p-snsLinks {
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}

.p-snsLinks__inner {
  position: relative;
  padding-top: 80px;
  padding-top: 5rem;
  padding-bottom: 80px;
  padding-bottom: 5rem;
}

.p-snsLinks__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 1.5625rem;
     -moz-column-gap: 1.5625rem;
          column-gap: 1.5625rem;
}
@media screen and (max-width: 767px) {
  .p-snsLinks__items {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .p-snsLinks__item + .p-snsLinks__item {
    margin-top: 1.25rem;
  }
}

/* -----------------------------------------------------------------
  トップ - トピックス
----------------------------------------------------------------- */
.p-topics {
  padding-right: 25px;
  padding-left: 25px;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .p-topics {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.p-topics__inner {
  border-bottom: 1px solid #4199d5;
  padding-bottom: 100px;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 767px) {
  .p-topics__inner {
    padding-bottom: 5rem;
    padding-right: 0;
    padding-left: 0;
  }
}

.p-topics__wrap {
  margin-top: 50px;
  margin-top: 3.125rem;
  padding-top: 50px;
  padding-top: 3.125rem;
  padding-bottom: 50px;
  padding-bottom: 3.125rem;
  padding-left: 60px;
  padding-left: 3.75rem;
  padding-right: 60px;
  padding-right: 3.75rem;
  background-color: #fff;
  border-radius: 1.25rem;
}
@media screen and (max-width: 767px) {
  .p-topics__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-top: 1.875rem;
    padding-bottom: 3.125rem;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

.p-topics__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 25%;
}
@media screen and (max-width: 767px) {
  .p-topics__container {
    display: block;
    position: relative;
    width: 100%;
  }
}

.p-topics__image {
  margin-top: 120px;
  margin-top: 7.5rem;
  width: 70%;
  max-width: 180px;
  max-width: 11.25rem;
}
@media screen and (max-width: 767px) {
  .p-topics__image {
    position: absolute;
    top: -1.875rem;
    right: -2.5rem;
    margin-top: 0;
  }
}

.p-topics__btn {
  margin-right: 80px;
  margin-right: 5rem;
}
@media screen and (max-width: 767px) {
  .p-topics__btn {
    margin-right: 2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .p-topics__lists-wrap {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .p-topics__lists {
    width: 100%;
  }
}

.p-topics__list-item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 2.5rem;
     -moz-column-gap: 2.5rem;
          column-gap: 2.5rem;
  padding: 30px 10px;
  padding: 1.875rem 0.625rem;
  border-bottom: 1px solid #dcdcdc;
}
@media screen and (max-width: 767px) {
  .p-topics__list-item a {
    display: block;
    padding: 1.25rem 0.625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-topics__title {
    margin-top: 0.625rem;
  }
}

.p-topics__list-item:first-of-type a {
  padding-top: 0;
}

.p-topics__bgAnimation {
  position: absolute;
  top: -200px;
  top: -12.5rem;
  right: -400px;
  right: -25rem;
  width: 800px;
  width: 50rem;
  height: auto;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-topics__bgAnimation {
    width: 30rem;
    top: -4.375rem;
    right: -20.625rem;
  }
}

.p-topics__date {
  color: #ff8d01;
}
/*# sourceMappingURL=style.css.map */
