@charset "UTF-8";
/* -------------------


  ！！！！！注意！！！！！

  index.cssはSassから生成されていますので、
  直接編集しないようご注意ください

  ！！！！！注意！！！！！



--------------------*/
/* -------------------
  VARIABLES
--------------------*/
.font-a {
  font-family: "Zen Maru Gothic", sans-serif;
}

.font-b {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
}

.zen-maru-gothic {
  font-family: "Zen Maru Gothic", sans-serif;
  font-style: normal;
}

/* 
.example {
  @include mq() {
    width: 100%;
  }
}
*/
/* -------------------
  COMMON
--------------------*/
html,
body {
  overflow-x: clip;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Zen Maru Gothic", sans-serif;
  color: #5a3c00;
  font-size: 16px;
  line-height: 2;
  font-weight: 700;
  position: relative;
  background-image: url(../images/common/body-bg-4.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 4.2666666667vw;
    background-image: url(../images/common/body-bg-4-sp.png);
  }
}
body.index-body {
  background-image: url(../images/common/body-bg-1.png);
}
@media screen and (max-width: 767px) {
  body.index-body {
    font-size: 4.2666666667vw;
    background-image: url(../images/common/body-bg-4-sp.png);
  }
}
body.noscroll {
  overflow: hidden;
  overscroll-behavior: none;
}
body.noscroll:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
body.dark:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  background: rgba(0, 0, 0, 0.3);
  left: 0;
  top: 0;
  z-index: 1;
}
body.is-loading {
  overflow: hidden;
  height: 100vh;
}
body.archive-blog-body {
  background-color: #fff8d9;
}

section,
article,
header,
footer,
time {
  display: block;
}

p,
ul,
table {
  margin-bottom: 2em;
}
p:last-child,
ul:last-child,
table:last-child {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.6;
  margin-bottom: 0.8em;
  font-weight: bold;
}
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child {
  margin-bottom: 0;
}

a {
  transition: all 0.3s ease 0s;
  cursor: pointer;
}
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}
a:hover {
  opacity: 0.5;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
}
img.pc-only {
  display: inline;
}
@media screen and (max-width: 767px) {
  img.pc-only {
    display: none;
  }
}
img.sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  img.sp-only {
    display: inline;
  }
}

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

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

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

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

.adj-10:before {
  content: "";
  display: block;
  height: 10px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -10px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-15:before {
  content: "";
  display: block;
  height: 15px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -15px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-20:before {
  content: "";
  display: block;
  height: 20px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -20px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-25:before {
  content: "";
  display: block;
  height: 25px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -25px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-30:before {
  content: "";
  display: block;
  height: 30px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -30px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-35:before {
  content: "";
  display: block;
  height: 35px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -35px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-40:before {
  content: "";
  display: block;
  height: 40px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -40px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-45:before {
  content: "";
  display: block;
  height: 45px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -45px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-50:before {
  content: "";
  display: block;
  height: 50px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -50px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-55:before {
  content: "";
  display: block;
  height: 55px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -55px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-60:before {
  content: "";
  display: block;
  height: 60px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -60px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-65:before {
  content: "";
  display: block;
  height: 65px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -65px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-70:before {
  content: "";
  display: block;
  height: 70px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -70px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-75:before {
  content: "";
  display: block;
  height: 75px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -75px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-80:before {
  content: "";
  display: block;
  height: 80px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -80px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-85:before {
  content: "";
  display: block;
  height: 85px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -85px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-90:before {
  content: "";
  display: block;
  height: 90px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -90px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-95:before {
  content: "";
  display: block;
  height: 95px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -95px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-100:before {
  content: "";
  display: block;
  height: 100px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -100px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-105:before {
  content: "";
  display: block;
  height: 105px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -105px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-110:before {
  content: "";
  display: block;
  height: 110px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -110px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-115:before {
  content: "";
  display: block;
  height: 115px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -115px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-120:before {
  content: "";
  display: block;
  height: 120px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -120px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-125:before {
  content: "";
  display: block;
  height: 125px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -125px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-130:before {
  content: "";
  display: block;
  height: 130px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -130px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-135:before {
  content: "";
  display: block;
  height: 135px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -135px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-140:before {
  content: "";
  display: block;
  height: 140px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -140px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-145:before {
  content: "";
  display: block;
  height: 145px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -145px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-150:before {
  content: "";
  display: block;
  height: 150px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -150px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-155:before {
  content: "";
  display: block;
  height: 155px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -155px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-160:before {
  content: "";
  display: block;
  height: 160px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -160px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-165:before {
  content: "";
  display: block;
  height: 165px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -165px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-170:before {
  content: "";
  display: block;
  height: 170px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -170px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-175:before {
  content: "";
  display: block;
  height: 175px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -175px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-180:before {
  content: "";
  display: block;
  height: 180px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -180px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-185:before {
  content: "";
  display: block;
  height: 185px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -185px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-190:before {
  content: "";
  display: block;
  height: 190px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -190px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-195:before {
  content: "";
  display: block;
  height: 195px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -195px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-200:before {
  content: "";
  display: block;
  height: 200px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -200px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-205:before {
  content: "";
  display: block;
  height: 205px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -205px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-210:before {
  content: "";
  display: block;
  height: 210px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -210px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-215:before {
  content: "";
  display: block;
  height: 215px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -215px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-220:before {
  content: "";
  display: block;
  height: 220px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -220px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-225:before {
  content: "";
  display: block;
  height: 225px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -225px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-230:before {
  content: "";
  display: block;
  height: 230px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -230px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-235:before {
  content: "";
  display: block;
  height: 235px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -235px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-240:before {
  content: "";
  display: block;
  height: 240px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -240px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-245:before {
  content: "";
  display: block;
  height: 245px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -245px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-250:before {
  content: "";
  display: block;
  height: 250px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -250px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-255:before {
  content: "";
  display: block;
  height: 255px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -255px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-260:before {
  content: "";
  display: block;
  height: 260px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -260px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-265:before {
  content: "";
  display: block;
  height: 265px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -265px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-270:before {
  content: "";
  display: block;
  height: 270px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -270px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-275:before {
  content: "";
  display: block;
  height: 275px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -275px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-280:before {
  content: "";
  display: block;
  height: 280px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -280px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-285:before {
  content: "";
  display: block;
  height: 285px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -285px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-290:before {
  content: "";
  display: block;
  height: 290px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -290px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.adj-295:before {
  content: "";
  display: block;
  height: 295px; /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -295px; /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

.c-width {
  max-width: 1170px !important;
  margin: 0 auto;
}

.c-width-700 {
  max-width: 700px !important;
  margin: 0 auto;
}

.c-width-710 {
  max-width: 710px !important;
  margin: 0 auto;
}

.c-width-720 {
  max-width: 720px !important;
  margin: 0 auto;
}

.c-width-730 {
  max-width: 730px !important;
  margin: 0 auto;
}

.c-width-740 {
  max-width: 740px !important;
  margin: 0 auto;
}

.c-width-750 {
  max-width: 750px !important;
  margin: 0 auto;
}

.c-width-760 {
  max-width: 760px !important;
  margin: 0 auto;
}

.c-width-770 {
  max-width: 770px !important;
  margin: 0 auto;
}

.c-width-780 {
  max-width: 780px !important;
  margin: 0 auto;
}

.c-width-790 {
  max-width: 790px !important;
  margin: 0 auto;
}

.c-width-800 {
  max-width: 800px !important;
  margin: 0 auto;
}

.c-width-810 {
  max-width: 810px !important;
  margin: 0 auto;
}

.c-width-820 {
  max-width: 820px !important;
  margin: 0 auto;
}

.c-width-830 {
  max-width: 830px !important;
  margin: 0 auto;
}

.c-width-840 {
  max-width: 840px !important;
  margin: 0 auto;
}

.c-width-850 {
  max-width: 850px !important;
  margin: 0 auto;
}

.c-width-860 {
  max-width: 860px !important;
  margin: 0 auto;
}

.c-width-870 {
  max-width: 870px !important;
  margin: 0 auto;
}

.c-width-880 {
  max-width: 880px !important;
  margin: 0 auto;
}

.c-width-890 {
  max-width: 890px !important;
  margin: 0 auto;
}

.c-width-900 {
  max-width: 900px !important;
  margin: 0 auto;
}

.c-width-910 {
  max-width: 910px !important;
  margin: 0 auto;
}

.c-width-920 {
  max-width: 920px !important;
  margin: 0 auto;
}

.c-width-930 {
  max-width: 930px !important;
  margin: 0 auto;
}

.c-width-940 {
  max-width: 940px !important;
  margin: 0 auto;
}

.c-width-950 {
  max-width: 950px !important;
  margin: 0 auto;
}

.c-width-960 {
  max-width: 960px !important;
  margin: 0 auto;
}

.c-width-970 {
  max-width: 970px !important;
  margin: 0 auto;
}

.c-width-980 {
  max-width: 980px !important;
  margin: 0 auto;
}

.c-width-990 {
  max-width: 990px !important;
  margin: 0 auto;
}

.c-width-1000 {
  max-width: 1000px !important;
  margin: 0 auto;
}

.c-width-1010 {
  max-width: 1010px !important;
  margin: 0 auto;
}

.c-width-1020 {
  max-width: 1020px !important;
  margin: 0 auto;
}

.c-width-1030 {
  max-width: 1030px !important;
  margin: 0 auto;
}

.c-width-1040 {
  max-width: 1040px !important;
  margin: 0 auto;
}

.c-width-1050 {
  max-width: 1050px !important;
  margin: 0 auto;
}

.c-width-1060 {
  max-width: 1060px !important;
  margin: 0 auto;
}

.c-width-1070 {
  max-width: 1070px !important;
  margin: 0 auto;
}

.c-width-1080 {
  max-width: 1080px !important;
  margin: 0 auto;
}

.c-width-1090 {
  max-width: 1090px !important;
  margin: 0 auto;
}

.c-width-1100 {
  max-width: 1100px !important;
  margin: 0 auto;
}

.c-width-1110 {
  max-width: 1110px !important;
  margin: 0 auto;
}

.c-width-1120 {
  max-width: 1120px !important;
  margin: 0 auto;
}

.c-width-1130 {
  max-width: 1130px !important;
  margin: 0 auto;
}

.c-width-1140 {
  max-width: 1140px !important;
  margin: 0 auto;
}

.c-width-1150 {
  max-width: 1150px !important;
  margin: 0 auto;
}

.c-width-1160 {
  max-width: 1160px !important;
  margin: 0 auto;
}

.c-width-1170 {
  max-width: 1170px !important;
  margin: 0 auto;
}

.c-width-1180 {
  max-width: 1180px !important;
  margin: 0 auto;
}

.c-width-1190 {
  max-width: 1190px !important;
  margin: 0 auto;
}

.c-width-1200 {
  max-width: 1200px !important;
  margin: 0 auto;
}

.c-width-1210 {
  max-width: 1210px !important;
  margin: 0 auto;
}

.c-width-1220 {
  max-width: 1220px !important;
  margin: 0 auto;
}

.c-width-1230 {
  max-width: 1230px !important;
  margin: 0 auto;
}

.c-width-1240 {
  max-width: 1240px !important;
  margin: 0 auto;
}

.c-width-1250 {
  max-width: 1250px !important;
  margin: 0 auto;
}

.c-width-1260 {
  max-width: 1260px !important;
  margin: 0 auto;
}

.c-width-1270 {
  max-width: 1270px !important;
  margin: 0 auto;
}

.c-width-1280 {
  max-width: 1280px !important;
  margin: 0 auto;
}

.c-width-1290 {
  max-width: 1290px !important;
  margin: 0 auto;
}

.c-width-1300 {
  max-width: 1300px !important;
  margin: 0 auto;
}

.breadcrumbs {
  font-size: 12px;
  position: absolute;
  z-index: 3;
  padding: 20px 3.6603221083vw;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    right: auto;
    bottom: auto;
    padding: 15px 2vw;
  }
}
.breadcrumbs ul {
  display: flex;
}
@media screen and (max-width: 767px) {
  .breadcrumbs ul {
    flex-wrap: wrap;
  }
}
.breadcrumbs ul li {
  color: #8e8e8e;
}
@media screen and (max-width: 767px) {
  .breadcrumbs ul li {
    line-height: 1.5;
  }
}
.breadcrumbs ul li a {
  color: #8e8e8e;
}
.breadcrumbs ul li .arrow {
  margin: 0 0.5em;
}
.breadcrumbs ul li.home {
  display: flex;
}
.breadcrumbs ul li.home a {
  display: flex;
  align-items: center;
}
.breadcrumbs.white {
  background: none;
}
.breadcrumbs--white ul li {
  color: #fff;
}
.breadcrumbs--white ul li a {
  color: #fff;
}

.flowing-ttl {
  display: flex;
  width: 100%;
  overflow: hidden;
}
.flowing-ttl__item {
  flex-shrink: 0;
  white-space: nowrap;
  padding: 0 15px;
}
.flowing-ttl__item:nth-child(odd) {
  animation: MoveLeft 40s -20s infinite linear;
}
.flowing-ttl__item:nth-child(even) {
  animation: MoveLeft2 40s infinite linear;
}
.flowing-ttl.reverse .flowing-ttl__item:nth-child(odd) {
  animation: MoveLeft 40s -20s infinite linear reverse;
}
.flowing-ttl.reverse .flowing-ttl__item:nth-child(even) {
  animation: MoveLeft2 40s infinite linear reverse;
}

@keyframes MoveLeft {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes MoveLeft2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
section > .sect-inner {
  max-width: 1170px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  section > .sect-inner {
    padding: 0px;
  }
}

.c-title {
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .c-title {
    margin-bottom: 8vw;
  }
}
.c-title img {
  height: 66px;
  width: auto;
}
@media screen and (max-width: 767px) {
  .c-title img {
    height: 13.7737333333vw;
  }
}
.c-title.tall img {
  height: 77px;
}
@media screen and (max-width: 767px) {
  .c-title.tall img {
    height: 16.1066666667vw;
  }
}

.c-btn {
  margin-top: 50px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-btn {
    margin-top: 9.3333333333vw;
  }
}
.c-btn a {
  background: #ff783c;
  color: #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border-radius: 100vh;
  gap: 10px;
  width: 370px;
  height: 60px;
  font-size: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-btn a {
    width: 100%;
    height: auto;
    min-height: 13.3333333333vw;
    font-size: 4.8vw;
  }
}
.c-btn a span {
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-btn a span.arrow {
  width: 14px;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
  width: 18px;
}

.page-fv {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .page-fv {
    margin-bottom: 40px;
  }
}
.page-fv .sect-inner {
  position: relative;
  padding-left: 297px;
}
@media screen and (max-width: 767px) {
  .page-fv .sect-inner {
    padding-left: 0;
    padding: 0 5vw 24vw;
  }
}
.page-fv .sect-inner::before {
  content: "";
  display: block;
  width: 142.8875px;
  height: 128.6642px;
  background: url(../images/common/orn-2.svg) no-repeat center/contain;
  position: absolute;
  left: -36px;
  bottom: 0px;
}
@media screen and (max-width: 767px) {
  .page-fv .sect-inner::before {
    width: 20.9333333333vw;
    height: 18.8vw;
    left: 6vw;
    bottom: -6vw;
  }
}
@media screen and (max-width: 767px) {
  .page-fv__img {
    width: 100%;
    height: auto;
    aspect-ratio: 670/400;
    border-radius: 20px;
    overflow: hidden;
  }
  .page-fv__img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}
.page-fv__text {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
  background: url(../images/pagefv/title-bg.png) no-repeat center/contain;
  width: 570.5px;
  height: 330.5px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 20px 0 0 0;
}
@media screen and (max-width: 767px) {
  .page-fv__text {
    left: 50%;
    top: auto;
    bottom: 0;
    transform: translate(-50%, 0);
    width: 76.032vw;
    height: 44.032vw;
    padding: 1vw 0 0 0;
  }
}
@media screen and (max-width: 767px) {
  .page-fv__title {
    margin-bottom: 10px;
  }
}
.page-fv__title img.w-291 {
  width: 291px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-291 {
    width: 145.5px;
  }
}
.page-fv__title img.w-489 {
  width: 489px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-489 {
    width: 244.5px;
  }
}
.page-fv__title img.w-238 {
  width: 238px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-238 {
    width: 119px;
  }
}
.page-fv__title img.w-183 {
  width: 183px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-183 {
    width: 91.5px;
  }
}
.page-fv__title img.w-230 {
  width: 230px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-230 {
    width: 115px;
  }
}
.page-fv__title img.w-290 {
  width: 290px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-290 {
    width: 145px;
  }
}
.page-fv__title img.w-188 {
  width: 188px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-188 {
    width: 94px;
  }
}
.page-fv__title img.w-340 {
  width: 340px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-340 {
    width: 170px;
  }
}
.page-fv__title img.w-440 {
  width: 440px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-440 {
    width: 220px;
  }
}
.page-fv__title img.w-188 {
  width: 188px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-188 {
    width: 94px;
  }
}
.page-fv__title img.w-126 {
  width: 126px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-126 {
    width: 63px;
  }
}
.page-fv__title img.w-382 {
  width: 382px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-382 {
    width: 191px;
  }
}
.page-fv__title img.w-282 {
  width: 282px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-282 {
    width: 141px;
  }
}
.page-fv__title img.w-283 {
  width: 283px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-283 {
    width: 141.5px;
  }
}
.page-fv__title img.w-478 {
  width: 478px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-478 {
    width: 239px;
  }
}
.page-fv__title img.w-243 {
  width: 243px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-243 {
    width: 121.5px;
  }
}
.page-fv__title img.w-190 {
  width: 190px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-190 {
    width: 95px;
  }
}
.page-fv__title img.w-390 {
  width: 390px;
}
@media screen and (max-width: 767px) {
  .page-fv__title img.w-390 {
    width: 195px;
  }
}
.page-fv__body {
  font-size: 24px;
  line-height: 1.67;
}
@media screen and (max-width: 767px) {
  .page-fv__body {
    font-size: 3.7333333333vw;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
  margin-bottom: 0 !important;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slick-dots {
  display: flex;
  justify-content: center;
  bottom: 35px;
}
.slick-dots li {
  opacity: 0.5;
}
.slick-dots li:last-child {
  margin-right: 0;
}
.slick-dots li button {
  position: relative;
  display: inline-block;
  width: 10px;
  height: 10px;
  font-size: 0;
  background-color: #fff;
  border-radius: 50%;
}
.slick-dots li button:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #EEEEEE;
  border-radius: 50%;
  content: "";
}
.slick-dots li.slick-active {
  opacity: 1;
}
.slick-dots li.slick-active button {
  border: none;
}
.slick-dots li.slick-active button:before {
  background-color: #ffcc00;
}

.slick-prev,
.slick-next {
  position: absolute;
  top: calc(50% - 20px);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #6B9FE8;
  z-index: 1;
  transition: all 0.3s;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: 0;
}
.slick-prev:hover,
.slick-next:hover {
  background-color: #2f5baf;
}
.slick-prev span,
.slick-next span {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.slick-prev span:before,
.slick-next span:before {
  position: absolute;
  top: 15px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 4px;
  content: "";
}

.slick-prev {
  left: 0;
}
@media screen and (max-width: 1050px) {
  .slick-prev {
    left: 10px;
  }
}
.slick-prev span:before {
  left: 17px;
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.slick-next {
  right: 0;
}
@media screen and (max-width: 1050px) {
  .slick-next {
    right: 10px;
  }
}
.slick-next span:before {
  left: 20px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg) translate(-50%, -50%);
}
@media all and (-ms-high-contrast: none) {
  .slick-next {
    /* IE10 */
  }
  .slick-next span:before {
    left: 15px;
  }
  .slick-next *::-ms-backdrop:before,
  .slick-next span:before {
    left: 15px;
  }
  .slick-next {
    /* IE11 */
  }
}

.ui-datepicker {
  background-color: #fff;
  padding: 0.8em 0.5em 0.3em;
}

.ui-datepicker .ui-datepicker-title {
  font-size: 0.875rem;
  text-align: center;
}

.ui-widget.ui-widget-content {
  border-radius: 5px;
}

.ui-widget-header {
  border: none;
  background: inherit;
  color: #474F5F;
  font-weight: bold;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {
  border: none;
  background: #ECF0F4;
  font-weight: bold;
  color: #3B93D2;
  text-align: center;
  padding: 7px 9px;
  font-size: 0.6875rem;
}

.ui-datepicker th {
  padding: 0.7em 0.3em;
  text-align: center;
  font-weight: bold;
  border: 0;
  color: #AFB4BC;
  font-size: 0.6875rem;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  left: 10px;
  cursor: pointer;
  font-size: 0.75rem;
}
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
  border: none;
  background-color: #fff;
}

.ui-datepicker .ui-datepicker-next {
  right: 10px;
  left: auto;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  margin-top: -6px;
}

.ui-icon {
  width: 10px;
  height: 10px;
}

.ui-widget-content .ui-state-default:hover {
  border: 0px;
  text-align: center;
  background: #000;
  color: #fff;
}

.ui-widget-content .ui-state-active {
  border: 0px;
  background: #000;
  color: #fff;
}

.ui-datepicker td {
  padding: 1px;
}

a.ui-state-default {
  width: 100%;
  display: block;
}

/* Fade up */
.fadeup {
  opacity: 0;
  transform: translate(0, 30px);
  transition: opacity 1s ease 0s, transform 1s ease 0s;
}
.fadeup.in {
  opacity: 1;
  transform: translate(0, 0);
}

.fadeup2 {
  transform: translate(0, 80px);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}
.fadeup2.in {
  transform: translate(0, 0);
}

.eachCharaFU {
  overflow: hidden;
}
.eachCharaFU .chara {
  opacity: 0;
  display: inline-block;
  animation: eachCharaFU 0.8s forwards;
}

@keyframes eachCharaFU {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Fade up */
.matrix-inner {
  display: block;
  overflow: hidden;
  opacity: 0;
}
.matrix-inner-2 {
  display: block;
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.matrix.in .matrix-inner {
  opacity: 1;
}
.matrix.in .matrix-inner-2 {
  opacity: 1;
  transform: matrix(1, 0, 0, 1, 0, 0);
}

/* Fade in */
.fadein {
  opacity: 0;
  transition: opacity 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transform: scale(0.9);
}
.fadein.in {
  opacity: 1;
  transform: scale(1);
}

/* Fade up */
.fadeleft {
  opacity: 0;
  transform: translate(-80px, 0);
  transition: opacity 0.4s ease 0s, transform 0.4s ease 0s;
}
.fadeleft.in {
  opacity: 1;
  transform: translate(0, 0);
}

.fadeleft2 {
  transform: translate(-80px, 0);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}
.fadeleft2.in {
  transform: translate(0, 0);
}

/* Fade up */
.faderight {
  opacity: 0;
  transform: translate(80px, 0);
  transition: opacity 0.4s ease 0s, transform 0.4s ease 0s;
}
.faderight.in {
  opacity: 1;
  transform: translate(0, 0);
}

.faderight2 {
  transform: translate(80px, 0);
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}
.faderight2.in {
  transform: translate(0, 0);
}

.fuwafuwa {
  animation: fuwafuwa 2.5s infinite;
}

.fuwafuwa-t {
  animation: fuwafuwa-t 3.5s infinite;
}

@keyframes fuwafuwa {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-20%);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes fuwafuwa-t {
  0% {
    transform: translateY(0px);
  }
  40% {
    opacity: 1;
  }
  100% {
    transform: translateY(-180%);
    opacity: 0;
  }
}
/* Nina */
.button--ninaWrap {
  display: inline-block;
  text-align: center;
  min-width: 154px;
  max-width: 100%;
  background: #fff;
  border-radius: 72px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .button--ninaWrap {
    width: 100%;
  }
}

.button--nina {
  position: relative;
  display: inline-block;
  height: 55px;
  line-height: 56px;
  color: #474F5F;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  vertical-align: middle;
  font-size: 0.75rem;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 500;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
}
.button--nina span {
  vertical-align: middle;
}

.button--nina > span {
  display: inline-block;
  opacity: 0;
  color: #fff;
  -webkit-transform: translate3d(0, -10px, 0);
  transform: translate3d(0, -10px, 0);
  -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--nina::before {
  content: attr(data-text);
  position: absolute;
  top: -12px;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 1em 0;
  -webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
  transition: transform 0.3s, opacity 0.3s;
  -webkit-transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
  transition-timing-function: cubic-bezier(0.75, 0, 0.125, 1);
}

.button--ninaWrap:hover {
  background-color: #474F5F;
  letter-spacing: -1.5px;
}

.button--ninaWrap:hover .button--nina {
  letter-spacing: -1.5px;
}

.button--ninaWrap:hover .button--nina::before {
  opacity: 0;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
}

.button--ninaWrap:hover .button--nina > span {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.button--ninaWrap:hover .button--nina > span:nth-child(1) {
  -webkit-transition-delay: 0.045s;
  transition-delay: 0.045s;
}

.button--ninaWrap:hover .button--nina > span:nth-child(2) {
  -webkit-transition-delay: 0.09s;
  transition-delay: 0.09s;
}

.button--ninaWrap:hover .button--nina > span:nth-child(3) {
  -webkit-transition-delay: 0.135s;
  transition-delay: 0.135s;
}

.button--ninaWrap:hover .button--nina > span:nth-child(4) {
  -webkit-transition-delay: 0.18s;
  transition-delay: 0.18s;
}

.button--ninaWrap:hover .button--nina > span:nth-child(5) {
  -webkit-transition-delay: 0.225s;
  transition-delay: 0.225s;
}

.button--ninaWrap:hover .button--nina > span:nth-child(6) {
  -webkit-transition-delay: 0.27s;
  transition-delay: 0.27s;
}

.button--ninaWrap:hover .button--nina > span:nth-child(7) {
  -webkit-transition-delay: 0.315s;
  transition-delay: 0.315s;
}

.button--ninaWrap:hover .button--nina > span:nth-child(8) {
  -webkit-transition-delay: 0.36s;
  transition-delay: 0.36s;
}

.button--ninaWrap:hover .button--nina > span:nth-child(9) {
  -webkit-transition-delay: 0.405s;
  transition-delay: 0.405s;
}

.button--ninaWrap:hover .button--nina > span:nth-child(10) {
  -webkit-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.button--nina:after {
  position: absolute;
  right: -2px;
  top: calc(50% - 4px);
  display: inline-block;
  width: 5px;
  height: 9px;
  background: url(../images/common/icon-arrow-right.svg) no-repeat;
  transition: all 0.3s;
  content: "";
  z-index: 1;
}

.button--ninaWrap:hover .button--nina:after {
  top: calc(50% - 3px);
  display: inline-block;
  transform: translateX(18px);
  background-image: url(../images/common/icon-arrow-right-white.svg);
}

.button--ninaWrap--blue {
  background: #4AABB8;
}
.button--ninaWrap--blue .button--nina {
  color: #fff;
}
.button--ninaWrap--blue .button--nina span {
  color: #4AABB8;
}
.button--ninaWrap--blue .button--nina::after {
  background: url(../images/common/icon-arrow-right-white.svg) no-repeat;
}
.button--ninaWrap--blue:hover {
  background-color: #fff;
  letter-spacing: -1.5px;
}
.button--ninaWrap--blue:hover .button--nina {
  color: #4AABB8;
}
.button--ninaWrap--blue:hover .button--nina::after {
  background: url(../images/common/icon-arrow-right-blue.svg) no-repeat;
}

.smoothupwrap {
  overflow: hidden;
  display: block;
}

.smoothup {
  display: block;
  transition: transform 0.8s ease-in-out;
  transform: translate3d(0, 100%, 0) skewY(12deg);
  transform-origin: left;
}

.in .smoothup {
  transform: translate3d(0, 0, 0) skewY(0);
}

.delay-1 {
  transition-delay: 0.1s;
}

.delay-2 {
  transition-delay: 0.2s;
}

.delay-3 {
  transition-delay: 0.3s;
}

.delay-4 {
  transition-delay: 0.4s;
}

.delay-5 {
  transition-delay: 0.5s;
}

.delay-6 {
  transition-delay: 0.6s;
}

.delay-7 {
  transition-delay: 0.7s;
}

.delay-8 {
  transition-delay: 0.8s;
}

.delay-9 {
  transition-delay: 0.9s;
}

.delay-10 {
  transition-delay: 1s;
}

.delay-11 {
  transition-delay: 1.1s;
}

.delay-12 {
  transition-delay: 1.2s;
}

.delay-13 {
  transition-delay: 1.3s;
}

.delay-14 {
  transition-delay: 1.4s;
}

.delay-15 {
  transition-delay: 1.5s;
}

.delay-16 {
  transition-delay: 1.6s;
}

.delay-17 {
  transition-delay: 1.7s;
}

.delay-18 {
  transition-delay: 1.8s;
}

.delay-19 {
  transition-delay: 1.9s;
}

.delay-20 {
  transition-delay: 2s;
}

.delay-21 {
  transition-delay: 2.1s;
}

.delay-22 {
  transition-delay: 2.2s;
}

.delay-23 {
  transition-delay: 2.3s;
}

.delay-24 {
  transition-delay: 2.4s;
}

.ani-delay-1 {
  animation-delay: 0.1s;
}

.ani-delay-2 {
  animation-delay: 0.2s;
}

.ani-delay-3 {
  animation-delay: 0.3s;
}

.ani-delay-4 {
  animation-delay: 0.4s;
}

.ani-delay-5 {
  animation-delay: 0.5s;
}

.ani-delay-6 {
  animation-delay: 0.6s;
}

.ani-delay-7 {
  animation-delay: 0.7s;
}

.ani-delay-8 {
  animation-delay: 0.8s;
}

.ani-delay-9 {
  animation-delay: 0.9s;
}

.ani-delay-10 {
  animation-delay: 1s;
}

.ani-delay-11 {
  animation-delay: 1.1s;
}

.ani-delay-12 {
  animation-delay: 1.2s;
}

.ani-delay-13 {
  animation-delay: 1.3s;
}

.ani-delay-14 {
  animation-delay: 1.4s;
}

.ani-delay-15 {
  animation-delay: 1.5s;
}

.ani-delay-16 {
  animation-delay: 1.6s;
}

.ani-delay-17 {
  animation-delay: 1.7s;
}

.ani-delay-18 {
  animation-delay: 1.8s;
}

.ani-delay-19 {
  animation-delay: 1.9s;
}

.ani-delay-20 {
  animation-delay: 2s;
}

.ani-delay-21 {
  animation-delay: 2.1s;
}

.ani-delay-22 {
  animation-delay: 2.2s;
}

.ani-delay-23 {
  animation-delay: 2.3s;
}

.ani-delay-24 {
  animation-delay: 2.4s;
}

/* -------------------
  PARTS
--------------------*/
.mgt-0 {
  margin-top: 0;
}

.mgt-5 {
  margin-top: 5px;
}

.mgt-10 {
  margin-top: 10px;
}

.mgt-15 {
  margin-top: 15px;
}

.mgt-20 {
  margin-top: 20px;
}

.mgt-25 {
  margin-top: 25px;
}

.mgt-30 {
  margin-top: 30px;
}

.mgt-35 {
  margin-top: 35px;
}

.mgt-40 {
  margin-top: 40px;
}

.mgt-45 {
  margin-top: 45px;
}

.mgt-50 {
  margin-top: 50px;
}

.mgt-55 {
  margin-top: 55px;
}

.mgt-60 {
  margin-top: 60px;
}

.mgt-65 {
  margin-top: 65px;
}

.mgt-70 {
  margin-top: 70px;
}

.mgt-75 {
  margin-top: 75px;
}

.mgt-80 {
  margin-top: 80px;
}

.mgt-85 {
  margin-top: 85px;
}

.mgt-90 {
  margin-top: 90px;
}

.mgt-95 {
  margin-top: 95px;
}

.mgt-100 {
  margin-top: 100px;
}

.mgb-0 {
  margin-bottom: 0 !important;
}

.mgb-5 {
  margin-bottom: 5px;
}

.mgb-10 {
  margin-bottom: 10px;
}

.mgb-15 {
  margin-bottom: 15px;
}

.mgb-20 {
  margin-bottom: 20px;
}

.mgb-25 {
  margin-bottom: 25px;
}

.mgb-30 {
  margin-bottom: 30px;
}

.mgb-35 {
  margin-bottom: 35px;
}

.mgb-40 {
  margin-bottom: 40px;
}

.mgb-45 {
  margin-bottom: 45px;
}

.mgb-50 {
  margin-bottom: 50px;
}

.mgb-55 {
  margin-bottom: 55px;
}

.mgb-60 {
  margin-bottom: 60px;
}

.mgb-65 {
  margin-bottom: 65px;
}

.mgb-70 {
  margin-bottom: 70px;
}

.mgb-75 {
  margin-bottom: 75px;
}

.mgb-80 {
  margin-bottom: 80px;
}

.mgb-85 {
  margin-bottom: 85px;
}

.mgb-90 {
  margin-bottom: 90px;
}

.mgb-95 {
  margin-bottom: 95px;
}

.mgb-100 {
  margin-bottom: 100px;
}

.mgl-0 {
  margin-left: 0;
}

.mgl-1 {
  margin-left: 1px;
}

.mgl-2 {
  margin-left: 2px;
}

.mgl-3 {
  margin-left: 3px;
}

.mgl-4 {
  margin-left: 4px;
}

.mgl-5 {
  margin-left: 5px;
}

.mgl-6 {
  margin-left: 6px;
}

.mgl-7 {
  margin-left: 7px;
}

.mgl-8 {
  margin-left: 8px;
}

.mgl-9 {
  margin-left: 9px;
}

.mgl-10 {
  margin-left: 10px;
}

.mgr-0 {
  margin-right: 0;
}

.mgr-1 {
  margin-right: 1px;
}

.mgr-2 {
  margin-right: 2px;
}

.mgr-3 {
  margin-right: 3px;
}

.mgr-4 {
  margin-right: 4px;
}

.mgr-5 {
  margin-right: 5px;
}

.mgr-6 {
  margin-right: 6px;
}

.mgr-7 {
  margin-right: 7px;
}

.mgr-8 {
  margin-right: 8px;
}

.mgr-9 {
  margin-right: 9px;
}

.mgr-10 {
  margin-right: 10px;
}

.mgr-20 {
  margin-right: 20px;
}
@media screen and (max-width: 767px) {
  .mgr-20 {
    margin-right: 10px;
  }
}

.pdt-10 {
  padding-top: 10px !important;
}

.pdt-20 {
  padding-top: 20px !important;
}

.pdt-30 {
  padding-top: 30px !important;
}

.pdt-40 {
  padding-top: 40px !important;
}

.pdt-50 {
  padding-top: 50px !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.m-center {
  margin: 0 auto;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.mb-15 {
  margin-bottom: 15px !important;
}

.mt-15 {
  margin-top: 15px !important;
}

.mr-15 {
  margin-right: 15px !important;
}

.ml-15 {
  margin-left: 15px !important;
}

.pb-15 {
  padding-bottom: 15px !important;
}

.pt-15 {
  padding-top: 15px !important;
}

.pr-15 {
  padding-right: 15px !important;
}

.pl-15 {
  padding-left: 15px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.mb-25 {
  margin-bottom: 25px !important;
}

.mt-25 {
  margin-top: 25px !important;
}

.mr-25 {
  margin-right: 25px !important;
}

.ml-25 {
  margin-left: 25px !important;
}

.pb-25 {
  padding-bottom: 25px !important;
}

.pt-25 {
  padding-top: 25px !important;
}

.pr-25 {
  padding-right: 25px !important;
}

.pl-25 {
  padding-left: 25px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.mb-35 {
  margin-bottom: 35px !important;
}

.mt-35 {
  margin-top: 35px !important;
}

.mr-35 {
  margin-right: 35px !important;
}

.ml-35 {
  margin-left: 35px !important;
}

.pb-35 {
  padding-bottom: 35px !important;
}

.pt-35 {
  padding-top: 35px !important;
}

.pr-35 {
  padding-right: 35px !important;
}

.pl-35 {
  padding-left: 35px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.mb-45 {
  margin-bottom: 45px !important;
}

.mt-45 {
  margin-top: 45px !important;
}

.mr-45 {
  margin-right: 45px !important;
}

.ml-45 {
  margin-left: 45px !important;
}

.pb-45 {
  padding-bottom: 45px !important;
}

.pt-45 {
  padding-top: 45px !important;
}

.pr-45 {
  padding-right: 45px !important;
}

.pl-45 {
  padding-left: 45px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.mb-55 {
  margin-bottom: 55px !important;
}

.mt-55 {
  margin-top: 55px !important;
}

.mr-55 {
  margin-right: 55px !important;
}

.ml-55 {
  margin-left: 55px !important;
}

.pb-55 {
  padding-bottom: 55px !important;
}

.pt-55 {
  padding-top: 55px !important;
}

.pr-55 {
  padding-right: 55px !important;
}

.pl-55 {
  padding-left: 55px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.mb-65 {
  margin-bottom: 65px !important;
}

.mt-65 {
  margin-top: 65px !important;
}

.mr-65 {
  margin-right: 65px !important;
}

.ml-65 {
  margin-left: 65px !important;
}

.pb-65 {
  padding-bottom: 65px !important;
}

.pt-65 {
  padding-top: 65px !important;
}

.pr-65 {
  padding-right: 65px !important;
}

.pl-65 {
  padding-left: 65px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mr-70 {
  margin-right: 70px !important;
}

.ml-70 {
  margin-left: 70px !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pr-70 {
  padding-right: 70px !important;
}

.pl-70 {
  padding-left: 70px !important;
}

.mb-75 {
  margin-bottom: 75px !important;
}

.mt-75 {
  margin-top: 75px !important;
}

.mr-75 {
  margin-right: 75px !important;
}

.ml-75 {
  margin-left: 75px !important;
}

.pb-75 {
  padding-bottom: 75px !important;
}

.pt-75 {
  padding-top: 75px !important;
}

.pr-75 {
  padding-right: 75px !important;
}

.pl-75 {
  padding-left: 75px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.ml-80 {
  margin-left: 80px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.mb-85 {
  margin-bottom: 85px !important;
}

.mt-85 {
  margin-top: 85px !important;
}

.mr-85 {
  margin-right: 85px !important;
}

.ml-85 {
  margin-left: 85px !important;
}

.pb-85 {
  padding-bottom: 85px !important;
}

.pt-85 {
  padding-top: 85px !important;
}

.pr-85 {
  padding-right: 85px !important;
}

.pl-85 {
  padding-left: 85px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mr-90 {
  margin-right: 90px !important;
}

.ml-90 {
  margin-left: 90px !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pr-90 {
  padding-right: 90px !important;
}

.pl-90 {
  padding-left: 90px !important;
}

.mb-95 {
  margin-bottom: 95px !important;
}

.mt-95 {
  margin-top: 95px !important;
}

.mr-95 {
  margin-right: 95px !important;
}

.ml-95 {
  margin-left: 95px !important;
}

.pb-95 {
  padding-bottom: 95px !important;
}

.pt-95 {
  padding-top: 95px !important;
}

.pr-95 {
  padding-right: 95px !important;
}

.pl-95 {
  padding-left: 95px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

.mr-100 {
  margin-right: 100px !important;
}

.ml-100 {
  margin-left: 100px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

.pr-100 {
  padding-right: 100px !important;
}

.pl-100 {
  padding-left: 100px !important;
}

.mb-105 {
  margin-bottom: 105px !important;
}

.mt-105 {
  margin-top: 105px !important;
}

.mr-105 {
  margin-right: 105px !important;
}

.ml-105 {
  margin-left: 105px !important;
}

.pb-105 {
  padding-bottom: 105px !important;
}

.pt-105 {
  padding-top: 105px !important;
}

.pr-105 {
  padding-right: 105px !important;
}

.pl-105 {
  padding-left: 105px !important;
}

.mb-110 {
  margin-bottom: 110px !important;
}

.mt-110 {
  margin-top: 110px !important;
}

.mr-110 {
  margin-right: 110px !important;
}

.ml-110 {
  margin-left: 110px !important;
}

.pb-110 {
  padding-bottom: 110px !important;
}

.pt-110 {
  padding-top: 110px !important;
}

.pr-110 {
  padding-right: 110px !important;
}

.pl-110 {
  padding-left: 110px !important;
}

.mb-115 {
  margin-bottom: 115px !important;
}

.mt-115 {
  margin-top: 115px !important;
}

.mr-115 {
  margin-right: 115px !important;
}

.ml-115 {
  margin-left: 115px !important;
}

.pb-115 {
  padding-bottom: 115px !important;
}

.pt-115 {
  padding-top: 115px !important;
}

.pr-115 {
  padding-right: 115px !important;
}

.pl-115 {
  padding-left: 115px !important;
}

.mb-120 {
  margin-bottom: 120px !important;
}

.mt-120 {
  margin-top: 120px !important;
}

.mr-120 {
  margin-right: 120px !important;
}

.ml-120 {
  margin-left: 120px !important;
}

.pb-120 {
  padding-bottom: 120px !important;
}

.pt-120 {
  padding-top: 120px !important;
}

.pr-120 {
  padding-right: 120px !important;
}

.pl-120 {
  padding-left: 120px !important;
}

.mb-125 {
  margin-bottom: 125px !important;
}

.mt-125 {
  margin-top: 125px !important;
}

.mr-125 {
  margin-right: 125px !important;
}

.ml-125 {
  margin-left: 125px !important;
}

.pb-125 {
  padding-bottom: 125px !important;
}

.pt-125 {
  padding-top: 125px !important;
}

.pr-125 {
  padding-right: 125px !important;
}

.pl-125 {
  padding-left: 125px !important;
}

.mb-130 {
  margin-bottom: 130px !important;
}

.mt-130 {
  margin-top: 130px !important;
}

.mr-130 {
  margin-right: 130px !important;
}

.ml-130 {
  margin-left: 130px !important;
}

.pb-130 {
  padding-bottom: 130px !important;
}

.pt-130 {
  padding-top: 130px !important;
}

.pr-130 {
  padding-right: 130px !important;
}

.pl-130 {
  padding-left: 130px !important;
}

.mb-135 {
  margin-bottom: 135px !important;
}

.mt-135 {
  margin-top: 135px !important;
}

.mr-135 {
  margin-right: 135px !important;
}

.ml-135 {
  margin-left: 135px !important;
}

.pb-135 {
  padding-bottom: 135px !important;
}

.pt-135 {
  padding-top: 135px !important;
}

.pr-135 {
  padding-right: 135px !important;
}

.pl-135 {
  padding-left: 135px !important;
}

.mb-140 {
  margin-bottom: 140px !important;
}

.mt-140 {
  margin-top: 140px !important;
}

.mr-140 {
  margin-right: 140px !important;
}

.ml-140 {
  margin-left: 140px !important;
}

.pb-140 {
  padding-bottom: 140px !important;
}

.pt-140 {
  padding-top: 140px !important;
}

.pr-140 {
  padding-right: 140px !important;
}

.pl-140 {
  padding-left: 140px !important;
}

.mb-145 {
  margin-bottom: 145px !important;
}

.mt-145 {
  margin-top: 145px !important;
}

.mr-145 {
  margin-right: 145px !important;
}

.ml-145 {
  margin-left: 145px !important;
}

.pb-145 {
  padding-bottom: 145px !important;
}

.pt-145 {
  padding-top: 145px !important;
}

.pr-145 {
  padding-right: 145px !important;
}

.pl-145 {
  padding-left: 145px !important;
}

.mb-150 {
  margin-bottom: 150px !important;
}

.mt-150 {
  margin-top: 150px !important;
}

.mr-150 {
  margin-right: 150px !important;
}

.ml-150 {
  margin-left: 150px !important;
}

.pb-150 {
  padding-bottom: 150px !important;
}

.pt-150 {
  padding-top: 150px !important;
}

.pr-150 {
  padding-right: 150px !important;
}

.pl-150 {
  padding-left: 150px !important;
}

.mb-155 {
  margin-bottom: 155px !important;
}

.mt-155 {
  margin-top: 155px !important;
}

.mr-155 {
  margin-right: 155px !important;
}

.ml-155 {
  margin-left: 155px !important;
}

.pb-155 {
  padding-bottom: 155px !important;
}

.pt-155 {
  padding-top: 155px !important;
}

.pr-155 {
  padding-right: 155px !important;
}

.pl-155 {
  padding-left: 155px !important;
}

.mb-160 {
  margin-bottom: 160px !important;
}

.mt-160 {
  margin-top: 160px !important;
}

.mr-160 {
  margin-right: 160px !important;
}

.ml-160 {
  margin-left: 160px !important;
}

.pb-160 {
  padding-bottom: 160px !important;
}

.pt-160 {
  padding-top: 160px !important;
}

.pr-160 {
  padding-right: 160px !important;
}

.pl-160 {
  padding-left: 160px !important;
}

.mb-165 {
  margin-bottom: 165px !important;
}

.mt-165 {
  margin-top: 165px !important;
}

.mr-165 {
  margin-right: 165px !important;
}

.ml-165 {
  margin-left: 165px !important;
}

.pb-165 {
  padding-bottom: 165px !important;
}

.pt-165 {
  padding-top: 165px !important;
}

.pr-165 {
  padding-right: 165px !important;
}

.pl-165 {
  padding-left: 165px !important;
}

.mb-170 {
  margin-bottom: 170px !important;
}

.mt-170 {
  margin-top: 170px !important;
}

.mr-170 {
  margin-right: 170px !important;
}

.ml-170 {
  margin-left: 170px !important;
}

.pb-170 {
  padding-bottom: 170px !important;
}

.pt-170 {
  padding-top: 170px !important;
}

.pr-170 {
  padding-right: 170px !important;
}

.pl-170 {
  padding-left: 170px !important;
}

.mb-175 {
  margin-bottom: 175px !important;
}

.mt-175 {
  margin-top: 175px !important;
}

.mr-175 {
  margin-right: 175px !important;
}

.ml-175 {
  margin-left: 175px !important;
}

.pb-175 {
  padding-bottom: 175px !important;
}

.pt-175 {
  padding-top: 175px !important;
}

.pr-175 {
  padding-right: 175px !important;
}

.pl-175 {
  padding-left: 175px !important;
}

.mb-180 {
  margin-bottom: 180px !important;
}

.mt-180 {
  margin-top: 180px !important;
}

.mr-180 {
  margin-right: 180px !important;
}

.ml-180 {
  margin-left: 180px !important;
}

.pb-180 {
  padding-bottom: 180px !important;
}

.pt-180 {
  padding-top: 180px !important;
}

.pr-180 {
  padding-right: 180px !important;
}

.pl-180 {
  padding-left: 180px !important;
}

.mb-185 {
  margin-bottom: 185px !important;
}

.mt-185 {
  margin-top: 185px !important;
}

.mr-185 {
  margin-right: 185px !important;
}

.ml-185 {
  margin-left: 185px !important;
}

.pb-185 {
  padding-bottom: 185px !important;
}

.pt-185 {
  padding-top: 185px !important;
}

.pr-185 {
  padding-right: 185px !important;
}

.pl-185 {
  padding-left: 185px !important;
}

.mb-190 {
  margin-bottom: 190px !important;
}

.mt-190 {
  margin-top: 190px !important;
}

.mr-190 {
  margin-right: 190px !important;
}

.ml-190 {
  margin-left: 190px !important;
}

.pb-190 {
  padding-bottom: 190px !important;
}

.pt-190 {
  padding-top: 190px !important;
}

.pr-190 {
  padding-right: 190px !important;
}

.pl-190 {
  padding-left: 190px !important;
}

.mb-195 {
  margin-bottom: 195px !important;
}

.mt-195 {
  margin-top: 195px !important;
}

.mr-195 {
  margin-right: 195px !important;
}

.ml-195 {
  margin-left: 195px !important;
}

.pb-195 {
  padding-bottom: 195px !important;
}

.pt-195 {
  padding-top: 195px !important;
}

.pr-195 {
  padding-right: 195px !important;
}

.pl-195 {
  padding-left: 195px !important;
}

.mb-200 {
  margin-bottom: 200px !important;
}

.mt-200 {
  margin-top: 200px !important;
}

.mr-200 {
  margin-right: 200px !important;
}

.ml-200 {
  margin-left: 200px !important;
}

.pb-200 {
  padding-bottom: 200px !important;
}

.pt-200 {
  padding-top: 200px !important;
}

.pr-200 {
  padding-right: 200px !important;
}

.pl-200 {
  padding-left: 200px !important;
}

.mb-205 {
  margin-bottom: 205px !important;
}

.mt-205 {
  margin-top: 205px !important;
}

.mr-205 {
  margin-right: 205px !important;
}

.ml-205 {
  margin-left: 205px !important;
}

.pb-205 {
  padding-bottom: 205px !important;
}

.pt-205 {
  padding-top: 205px !important;
}

.pr-205 {
  padding-right: 205px !important;
}

.pl-205 {
  padding-left: 205px !important;
}

.mb-210 {
  margin-bottom: 210px !important;
}

.mt-210 {
  margin-top: 210px !important;
}

.mr-210 {
  margin-right: 210px !important;
}

.ml-210 {
  margin-left: 210px !important;
}

.pb-210 {
  padding-bottom: 210px !important;
}

.pt-210 {
  padding-top: 210px !important;
}

.pr-210 {
  padding-right: 210px !important;
}

.pl-210 {
  padding-left: 210px !important;
}

.mb-215 {
  margin-bottom: 215px !important;
}

.mt-215 {
  margin-top: 215px !important;
}

.mr-215 {
  margin-right: 215px !important;
}

.ml-215 {
  margin-left: 215px !important;
}

.pb-215 {
  padding-bottom: 215px !important;
}

.pt-215 {
  padding-top: 215px !important;
}

.pr-215 {
  padding-right: 215px !important;
}

.pl-215 {
  padding-left: 215px !important;
}

.mb-220 {
  margin-bottom: 220px !important;
}

.mt-220 {
  margin-top: 220px !important;
}

.mr-220 {
  margin-right: 220px !important;
}

.ml-220 {
  margin-left: 220px !important;
}

.pb-220 {
  padding-bottom: 220px !important;
}

.pt-220 {
  padding-top: 220px !important;
}

.pr-220 {
  padding-right: 220px !important;
}

.pl-220 {
  padding-left: 220px !important;
}

.mb-225 {
  margin-bottom: 225px !important;
}

.mt-225 {
  margin-top: 225px !important;
}

.mr-225 {
  margin-right: 225px !important;
}

.ml-225 {
  margin-left: 225px !important;
}

.pb-225 {
  padding-bottom: 225px !important;
}

.pt-225 {
  padding-top: 225px !important;
}

.pr-225 {
  padding-right: 225px !important;
}

.pl-225 {
  padding-left: 225px !important;
}

.mb-230 {
  margin-bottom: 230px !important;
}

.mt-230 {
  margin-top: 230px !important;
}

.mr-230 {
  margin-right: 230px !important;
}

.ml-230 {
  margin-left: 230px !important;
}

.pb-230 {
  padding-bottom: 230px !important;
}

.pt-230 {
  padding-top: 230px !important;
}

.pr-230 {
  padding-right: 230px !important;
}

.pl-230 {
  padding-left: 230px !important;
}

.mb-235 {
  margin-bottom: 235px !important;
}

.mt-235 {
  margin-top: 235px !important;
}

.mr-235 {
  margin-right: 235px !important;
}

.ml-235 {
  margin-left: 235px !important;
}

.pb-235 {
  padding-bottom: 235px !important;
}

.pt-235 {
  padding-top: 235px !important;
}

.pr-235 {
  padding-right: 235px !important;
}

.pl-235 {
  padding-left: 235px !important;
}

.mb-240 {
  margin-bottom: 240px !important;
}

.mt-240 {
  margin-top: 240px !important;
}

.mr-240 {
  margin-right: 240px !important;
}

.ml-240 {
  margin-left: 240px !important;
}

.pb-240 {
  padding-bottom: 240px !important;
}

.pt-240 {
  padding-top: 240px !important;
}

.pr-240 {
  padding-right: 240px !important;
}

.pl-240 {
  padding-left: 240px !important;
}

.mb-245 {
  margin-bottom: 245px !important;
}

.mt-245 {
  margin-top: 245px !important;
}

.mr-245 {
  margin-right: 245px !important;
}

.ml-245 {
  margin-left: 245px !important;
}

.pb-245 {
  padding-bottom: 245px !important;
}

.pt-245 {
  padding-top: 245px !important;
}

.pr-245 {
  padding-right: 245px !important;
}

.pl-245 {
  padding-left: 245px !important;
}

.mb-250 {
  margin-bottom: 250px !important;
}

.mt-250 {
  margin-top: 250px !important;
}

.mr-250 {
  margin-right: 250px !important;
}

.ml-250 {
  margin-left: 250px !important;
}

.pb-250 {
  padding-bottom: 250px !important;
}

.pt-250 {
  padding-top: 250px !important;
}

.pr-250 {
  padding-right: 250px !important;
}

.pl-250 {
  padding-left: 250px !important;
}

.mb-255 {
  margin-bottom: 255px !important;
}

.mt-255 {
  margin-top: 255px !important;
}

.mr-255 {
  margin-right: 255px !important;
}

.ml-255 {
  margin-left: 255px !important;
}

.pb-255 {
  padding-bottom: 255px !important;
}

.pt-255 {
  padding-top: 255px !important;
}

.pr-255 {
  padding-right: 255px !important;
}

.pl-255 {
  padding-left: 255px !important;
}

.mb-260 {
  margin-bottom: 260px !important;
}

.mt-260 {
  margin-top: 260px !important;
}

.mr-260 {
  margin-right: 260px !important;
}

.ml-260 {
  margin-left: 260px !important;
}

.pb-260 {
  padding-bottom: 260px !important;
}

.pt-260 {
  padding-top: 260px !important;
}

.pr-260 {
  padding-right: 260px !important;
}

.pl-260 {
  padding-left: 260px !important;
}

.mb-265 {
  margin-bottom: 265px !important;
}

.mt-265 {
  margin-top: 265px !important;
}

.mr-265 {
  margin-right: 265px !important;
}

.ml-265 {
  margin-left: 265px !important;
}

.pb-265 {
  padding-bottom: 265px !important;
}

.pt-265 {
  padding-top: 265px !important;
}

.pr-265 {
  padding-right: 265px !important;
}

.pl-265 {
  padding-left: 265px !important;
}

.mb-270 {
  margin-bottom: 270px !important;
}

.mt-270 {
  margin-top: 270px !important;
}

.mr-270 {
  margin-right: 270px !important;
}

.ml-270 {
  margin-left: 270px !important;
}

.pb-270 {
  padding-bottom: 270px !important;
}

.pt-270 {
  padding-top: 270px !important;
}

.pr-270 {
  padding-right: 270px !important;
}

.pl-270 {
  padding-left: 270px !important;
}

.mb-275 {
  margin-bottom: 275px !important;
}

.mt-275 {
  margin-top: 275px !important;
}

.mr-275 {
  margin-right: 275px !important;
}

.ml-275 {
  margin-left: 275px !important;
}

.pb-275 {
  padding-bottom: 275px !important;
}

.pt-275 {
  padding-top: 275px !important;
}

.pr-275 {
  padding-right: 275px !important;
}

.pl-275 {
  padding-left: 275px !important;
}

.mb-280 {
  margin-bottom: 280px !important;
}

.mt-280 {
  margin-top: 280px !important;
}

.mr-280 {
  margin-right: 280px !important;
}

.ml-280 {
  margin-left: 280px !important;
}

.pb-280 {
  padding-bottom: 280px !important;
}

.pt-280 {
  padding-top: 280px !important;
}

.pr-280 {
  padding-right: 280px !important;
}

.pl-280 {
  padding-left: 280px !important;
}

.mb-285 {
  margin-bottom: 285px !important;
}

.mt-285 {
  margin-top: 285px !important;
}

.mr-285 {
  margin-right: 285px !important;
}

.ml-285 {
  margin-left: 285px !important;
}

.pb-285 {
  padding-bottom: 285px !important;
}

.pt-285 {
  padding-top: 285px !important;
}

.pr-285 {
  padding-right: 285px !important;
}

.pl-285 {
  padding-left: 285px !important;
}

.mb-290 {
  margin-bottom: 290px !important;
}

.mt-290 {
  margin-top: 290px !important;
}

.mr-290 {
  margin-right: 290px !important;
}

.ml-290 {
  margin-left: 290px !important;
}

.pb-290 {
  padding-bottom: 290px !important;
}

.pt-290 {
  padding-top: 290px !important;
}

.pr-290 {
  padding-right: 290px !important;
}

.pl-290 {
  padding-left: 290px !important;
}

.mb-295 {
  margin-bottom: 295px !important;
}

.mt-295 {
  margin-top: 295px !important;
}

.mr-295 {
  margin-right: 295px !important;
}

.ml-295 {
  margin-left: 295px !important;
}

.pb-295 {
  padding-bottom: 295px !important;
}

.pt-295 {
  padding-top: 295px !important;
}

.pr-295 {
  padding-right: 295px !important;
}

.pl-295 {
  padding-left: 295px !important;
}

/* -------------------
  Date, time, phone
--------------------*/
select {
  background: #fff;
  background-image: url(../images/common/select-down.svg);
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 9px auto;
  border: 1px solid #000;
  padding: 11px 16px;
  padding-right: 35px;
  width: 340px;
}
@media screen and (max-width: 767px) {
  select {
    width: 100%;
    padding: 15px 28px;
    padding-right: 35px;
  }
}

.ui-datepicker select {
  padding: 0;
  background-size: 10px auto;
}

/* Datepicker 全体のサイズを調整 */
.ui-datepicker {
  width: 280px !important;
  font-size: 14px !important;
}

/* 日付セルのサイズを調整 */
.ui-datepicker td span,
.ui-datepicker td a {
  width: 32px !important;
  height: 32px !important;
  line-height: 32px !important;
  font-size: 14px !important;
  display: inline-block;
  padding: 0 !important;
}

/* 月・年のタイトル部分 */
.ui-datepicker-title {
  font-size: 16px !important;
}

/* 前月・次月ボタン */
.ui-datepicker-prev,
.ui-datepicker-next {
  top: 5px !important;
}

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

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

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

.align-top {
  align-items: flex-start !important;
}

.cc {
  display: flex;
  justify-content: center;
  align-items: center;
}

.d_flex {
  display: flex;
}
.d_flex.between {
  justify-content: space-between;
}
.d_flex.center {
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .d_flex {
    display: block;
  }
}

.d_flex2 {
  display: flex;
  align-items: center;
}

.d_flex3 {
  display: flex;
  justify-content: center;
}

.col2-75 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .col2-75 {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .col2-75--left {
    width: 100%;
    margin-bottom: 20px;
  }
}
.col2-75--right {
  width: 25%;
  margin-left: 20px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .col2-75--right {
    width: 100%;
    margin-left: 0;
  }
}

.col2-25 {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .col2-25 {
    display: block;
  }
}
.col2-25--left {
  width: 25%;
  margin-right: 20px;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .col2-25--left {
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .col2-25--right {
    width: 100%;
    margin-bottom: 20px;
  }
}

.col2 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media screen and (max-width: 767px) {
  .col2 {
    display: block;
    margin: 0;
  }
}
.col2-item {
  width: 50%;
  padding: 0 10px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .col2-item {
    width: 100%;
    padding: 0;
  }
}
.col2-item--inner {
  display: block;
}

.col3 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media screen and (max-width: 767px) {
  .col3 {
    display: block;
    margin: 0;
  }
}
.col3-item {
  width: 33.33%;
  padding: 0 10px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .col3-item {
    width: 100%;
    padding: 0;
  }
}
.col3-item--inner {
  display: block;
}

.col4 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media screen and (max-width: 767px) {
  .col4 {
    display: block;
    margin: 0;
  }
}
.col4-item {
  width: 25%;
  padding: 0 10px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .col4-item {
    width: 100%;
    padding: 0;
  }
}
.col4-item--inner {
  display: block;
}

.col5 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media screen and (max-width: 767px) {
  .col5 {
    display: block;
    margin: 0;
  }
}
.col5-item {
  width: 20%;
  padding: 0 10px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .col5-item {
    width: 100%;
    padding: 0;
  }
}
.col5-item--inner {
  display: block;
}

.pagination {
  line-height: 1;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .pagination {
    font-size: 20px;
  }
}
.pagination .wp-pagenavi {
  padding-top: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .pagination .wp-pagenavi {
    padding-top: 40px;
  }
}
.pagination .wp-pagenavi .page,
.pagination .wp-pagenavi .current {
  width: 20px;
  height: 20px;
  line-height: 1;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 4px;
}
.pagination .wp-pagenavi .current {
  background: #46c864;
  color: #fff;
}
.pagination .wp-pagenavi .extend {
  position: relative;
  color: #8e8e8e;
}
.pagination .wp-pagenavi .extend::before {
  content: "…";
  display: block;
  width: 100%;
  height: 100%;
}
.pagination .wp-pagenavi .nextpostslink,
.pagination .wp-pagenavi .last,
.pagination .wp-pagenavi .previouspostslink,
.pagination .wp-pagenavi .first {
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  display: block;
  padding-bottom: 3px;
}
@media screen and (max-width: 767px) {
  .pagination .wp-pagenavi .nextpostslink,
  .pagination .wp-pagenavi .last,
  .pagination .wp-pagenavi .previouspostslink,
  .pagination .wp-pagenavi .first {
    width: 24px;
    height: 24px;
  }
}
.pagination .wp-pagenavi .nextpostslink:before,
.pagination .wp-pagenavi .last:before,
.pagination .wp-pagenavi .previouspostslink:before,
.pagination .wp-pagenavi .first:before {
  font-size: 11px;
  position: relative;
  width: 100%;
  height: 100%;
}
.pagination .wp-pagenavi .nextpostslink {
  margin-left: 2em;
  position: relative;
  padding-right: 12px;
}
.pagination .wp-pagenavi .nextpostslink::before {
  content: "";
  background: url(../images/blog/arrow-right.svg) no-repeat center/contain;
  width: 6px;
  height: 10px;
  position: absolute;
  right: 0;
  top: 2px;
}
.pagination .wp-pagenavi .last:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/pagination/right2.svg) no-repeat center/contain;
}
.pagination .wp-pagenavi .previouspostslink {
  margin-right: 2em;
  position: relative;
  padding-left: 12px;
}
.pagination .wp-pagenavi .previouspostslink::before {
  content: "";
  background: url(../images/blog/arrow-left.svg) no-repeat center/contain;
  width: 6px;
  height: 10px;
  position: absolute;
  left: 0;
  top: 2px;
}
.pagination .wp-pagenavi .first:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/pagination/left2.svg) no-repeat center/contain;
}
.pagination .wp-pagenavi .disabled {
  opacity: 0.4 !important;
  pointer-events: none;
  cursor: default;
}

/* -------------------
	BREADCRUMB
--------------------*/
.breadcrumb {
  margin-top: 22px;
  padding: 0 30px;
}
@media screen and (max-width: 1050px) {
  .breadcrumb {
    white-space: nowrap;
    overflow-x: auto;
    margin-top: 5px;
    margin-bottom: 12px;
  }
}
@media screen and (max-width: 1050px) {
  .breadcrumb {
    padding: 0 8px;
  }
}
.breadcrumb-wrapper {
  padding-top: 15px;
}
@media screen and (max-width: 1050px) {
  .breadcrumb-wrapper {
    padding: 0 0 5px 0;
  }
}
.breadcrumb ul li {
  display: inline-block;
  font-size: 0.75rem;
  position: relative;
  padding-right: 20px;
  color: #000;
}
.breadcrumb ul li a {
  display: inline-block;
  color: #68A0FA;
  transition: all 0.3s;
}
.breadcrumb ul li a:hover {
  opacity: 0.8;
}
.breadcrumb ul li:last-child {
  padding-right: 0;
}
.breadcrumb ul li:last-child:before {
  display: none;
}
.breadcrumb ul li:before {
  display: inline-block;
  position: absolute;
  top: 7px;
  right: 4px;
  width: 4px;
  height: 5px;
  background: url(../images/common/icon-breadcrumb.svg) center center/100% 100% no-repeat;
  content: "";
}
@media screen and (max-width: 1050px) {
  .breadcrumb ul li {
    margin-bottom: 8px;
  }
}
.breadcrumb ul li a {
  transition: all 0.3s;
}
.breadcrumb ul li a:hover {
  opacity: 0.7;
}

/* -------------------
  THUMBNAIL, IMAGE
--------------------*/
.thumb-ttl {
  margin-top: 10px;
}

/* -------------------
  PAGE TOP
--------------------*/
/* -------------------
  ACCORDION
--------------------*/
.accordion-label {
  background: #F2F5F7;
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  font-weight: 700;
  height: 65px;
  align-items: center;
  padding: 25px 70px 25px 20px;
  position: relative;
  transition: all 0.6s;
}
.accordion-label:after {
  position: absolute;
  right: 20px;
  top: 50%;
  display: inline-block;
  border: solid #939393;
  border-width: 0 0 2px 2px;
  display: inline-block;
  padding: 2px;
  transform: translateY(-50%) rotate(-45deg);
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transition: all 0.25s;
  content: "";
}
.accordion-label.active:after {
  transform: translateY(-50%) rotate(135deg);
  -webkit-transform: translateY(-50%) rotate(135deg);
}
.accordion-cnt {
  display: none;
  padding: 25px 70px 25px 20px;
}

/* -------------------
  TABS
--------------------*/
@media screen and (max-width: 1050px) {
  .tabs-navWrapper {
    white-space: nowrap;
    overflow-x: auto;
  }
}
.tabs-nav {
  display: flex;
  width: 100%;
}
.tabs-item {
  width: 220px;
  max-width: 100%;
  font-size: 1.125rem;
  color: #818181;
  background-color: #EBEBEB;
  margin-right: 8px;
  padding: 17px 15px;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .tabs-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 33.33%;
    margin-right: 0;
    font-size: 0.875rem;
  }
}
.tabs-item:last-child {
  margin-right: 0;
}
.tabs-item.active, .tabs-item:hover {
  color: #5DC1CF;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .tabs-item.type2 {
    width: 50%;
  }
}
.tabs-item.type3 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 126px;
  max-width: 20%;
  font-size: 0.875rem;
  font-weight: bold;
  padding: 17px 3px;
  margin-right: 0;
}
@media screen and (max-width: 767px) {
  .tabs-item.type3 {
    max-width: 100%;
    width: 100%;
    font-size: 0.75rem;
  }
}
.tabs-cnt {
  background-color: #fff;
  padding: 30px 20px 0;
}
.tabs-cnt.type2 {
  padding-bottom: 40px;
}
.tabs-cnt.type3 {
  padding-left: 0;
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .tabs-cnt.type4 {
    padding-left: 0;
    padding-right: 0;
  }
}

@media screen and (max-width: 1050px) {
  .tabs2-navWrapper {
    white-space: nowrap;
    overflow-x: auto;
  }
}
.tabs2-nav {
  margin: 0 auto;
  padding: 0 2vw;
}
.tabs2-item {
  padding: 20px 15px;
  color: #474F5F;
  font-size: 1.5rem;
  font-weight: bold;
  background: none;
  cursor: pointer;
  text-align: center;
  transition: all 0.3s;
}
@media screen and (max-width: 1050px) {
  .tabs2-item {
    font-size: 1.25rem;
  }
}
.tabs2-item span {
  padding-top: 42px;
  background: url(../images/common/icon-fac-black.svg) top center no-repeat;
}
@media screen and (min-width: 1051px) {
  .tabs2-item {
    cursor: auto;
  }
}
.tabs2-title {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 170px;
  background: url(../images/top/bg-tabItem-blue.svg) no-repeat;
  background-size: 100% 100%;
  margin: 0 0 7px;
}
.tabs2-title-type2 {
  background-image: url(../images/top/bg-tabItem-pink.svg);
}
.tabs2-title-type2 span {
  background: url(../images/common/icon-doc-black.svg) top center no-repeat;
}
@media screen and (max-width: 1050px) {
  .tabs2-title {
    height: 39vw;
  }
}
.tabs2-cnt {
  display: flex;
  background-color: #fff;
  margin: 7px 0 0;
}
.tabs2-panel {
  width: 50%;
  padding: 0 15px;
}
.tabs2-menu .thumb {
  position: relative;
  background: url(../images/top/bg-card-blue.png);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
  height: 139px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 20px;
}
@media screen and (max-width: 767px) {
  .tabs2-menu .thumb {
    height: 29vw;
  }
}
.tabs2-menu .thumb figcaption {
  font-size: 0.9375rem;
  font-weight: 700;
  position: absolute;
  bottom: 15px;
  display: block;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 1050px) {
  .tabs2-menu .thumb figcaption {
    font-size: 0.8125rem;
    bottom: 12px;
  }
}
@media screen and (max-width: 1050px) {
  .tabs2-menu .thumb img {
    max-width: 65%;
    max-height: 65%;
  }
}
.tabs2-menu-type2 .thumb {
  background-image: url(../images/top/bg-card-green.png);
}
@media screen and (max-width: 1050px) {
  .tabs2-menu {
    display: flex;
    flex-flow: row wrap;
  }
}
.tabs2-menu li {
  width: 32%;
  margin: 0 2% 10px 0;
}
.tabs2-menu li:nth-of-type(3n) {
  margin: 0 0 10px 0;
}

.modal-complete {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  width: 180px;
  height: 180px;
  padding: 0;
  margin: 0;
  color: #ffffff;
  background: #191b1d;
  opacity: 0.8;
  border-radius: 3px;
  z-index: 8000;
}
.modal-complete--cnt {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.modal-complete--cnt-icon {
  text-align: center;
}
.modal-complete--cnt-icon img {
  width: 46px;
}
.modal-complete--cnt-msg {
  margin-top: 20px;
  font-size: 0.875rem;
  line-height: 1.25rem;
  text-align: center;
}

.btn-close {
  background: #818181 url(../images/common/icon-x.svg) center center no-repeat;
  opacity: 1;
  border-radius: 50%;
}

.modal-dialog.type2 {
  max-width: 600px;
}

.modal-confirm {
  width: 335px;
  max-width: 100%;
  padding: 5px 20px 25px;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal-confirm {
    padding-bottom: 35px;
  }
}
.modal-confirm .modal-header {
  margin-bottom: 30px;
  border-bottom: none;
  padding-right: 0;
}
.modal-confirm .btn-white {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .modal-confirm .btn-white {
    margin-bottom: 20px;
  }
}
.modal-confirm .btn-blue {
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .modal-confirm .btn-blue {
    margin-bottom: 25px;
  }
}
.modal-confirm .btn-white,
.modal-confirm .btn-blue {
  display: block;
  width: 100%;
  height: 52px;
  line-height: 52px;
  padding: 0;
}
.modal-confirm--ttl {
  color: #474f5f;
  font-weight: bold;
  margin-bottom: 15px;
}
.modal-confirm--msg {
  margin-bottom: 30px;
  font-size: 0.875rem;
}
.modal-confirm--close {
  color: #68a0fa;
  font-size: 0.75rem;
  cursor: pointer;
}

.modal-backdrop.show {
  opacity: 0.8;
}

.modal-colection {
  width: 600px;
  max-width: 95%;
  margin: 0 auto;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .modal-colection {
    padding-bottom: 35px;
  }
}
.modal-colection .btn-close {
  margin-right: 0;
  padding: 0;
  background: url(../images/common/icon-x.svg) center center no-repeat;
}
.modal-colection .modal-header {
  padding: 15px 20px;
  margin-bottom: 30px;
  border-bottom: none;
  background-color: #5dc1cf;
}
.modal-colection .modal-header--ttl {
  font-size: 1rem;
  line-height: 1;
  font-weight: bold;
  color: #fff;
}
.modal-colection--close {
  color: #68a0fa;
  font-size: 0.75rem;
  cursor: pointer;
}
.modal-colection--list {
  padding: 10px 30px 20px;
}
.modal-colection--list-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
.modal-colection--list-row-item {
  width: 33.33%;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .modal-colection--list-row-item {
    width: 100%;
  }
}
.modal-colection--list-row-item a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 60px;
  padding-bottom: 20px;
  font-size: 1rem;
  font-family: "Zen Maru Gothic", sans-serif;
  color: #474f5f;
  border: solid 1px #5dc1cf;
  background-color: #f4f4f4;
  border-radius: 2px;
  transition: all 0.25s;
}
@media screen and (max-width: 767px) {
  .modal-colection--list-row-item a {
    padding: 0 15px 0 45px;
  }
}
.modal-colection--list-row-item a:hover {
  opacity: 0.7;
}
.modal-colection--list-row-item a:after {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: solid 1px #5dc1cf;
  content: "";
}
@media screen and (max-width: 767px) {
  .modal-colection--list-row-item a:after {
    left: 25px;
    top: 50%;
    transform: translate(0, -50%);
  }
}
.modal-colection--list-row-item.disable a {
  color: #c7c7c7;
  border-color: #ebebeb;
  background-color: #ebebeb;
}
.modal-colection--list-row-item.disable a:after {
  width: 6px;
  height: 2px;
  bottom: 16px;
  background-color: #c7c7c7;
  border: none;
}
.modal-colection--list-row-item.cancel a {
  color: #c7c7c7;
  border-color: #ebebeb;
  background-color: #f4f4f4;
}
.modal-colection--list-row-item.cancel a:after {
  width: auto;
  height: auto;
  bottom: 5px;
  font-size: 1.25rem;
  background: none;
  border: none;
  color: #5dc1cf;
  font-weight: normal;
  content: "×";
}

.modal-find {
  max-width: 1000px;
}
.modal-find .modal-header {
  border-bottom: none;
}
.modal-find .checkboxWrap label {
  width: 100%;
  padding-left: 28px;
  color: #818181;
  font-size: 0.875rem;
}
.modal-find .checkboxWrap-outer {
  position: relative;
  display: block;
  text-align: left;
  padding-right: 28px;
  padding: 15px 28px 15px 15px;
  margin-right: 0;
  width: 100%;
  background-color: #fff;
}
.modal-find .checkboxWrap-outer:hover {
  background-color: #effdf9;
}
.modal-find .checkboxWrap-outer:hover .checkboxWrap label {
  color: #5dc1cf;
}
.modal-find .checkboxWrap-outer:after {
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  display: block;
  width: 5px;
  height: 10px;
  background: url(../images/common/icon-arrow-right-blue.svg) no-repeat;
  background-size: contain;
  content: "";
}
.modal-find .tabs {
  display: flex;
  padding: 0 40px 40px;
}
.modal-find .tabs-navWrapper {
  display: flex;
  flex-wrap: wrap;
  width: 30%;
  min-width: 200px;
  flex-shrink: 0;
  border-right: solid 1px #ebebeb;
}
.modal-find .tabs-nav {
  display: flex;
  flex-wrap: wrap;
  flex-flow: column;
}
.modal-find .tabs-cnt {
  padding: 0;
  width: 100%;
}
.modal-find .tabs-cnt--list {
  display: flex;
  flex-wrap: wrap;
  height: 550px;
  overflow-y: auto;
}
.modal-find .tabs-cnt--item {
  width: 50%;
  background-color: #fafafa;
}
.modal-find .tabs-cnt--item:nth-child(2n+1) {
  border-right: solid 1px #ebebeb;
}
.modal-find--foot {
  text-align: center;
  padding-bottom: 30px;
}
.modal-find--foot-direct {
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .modal-form .container6 {
    padding: 0 20px;
  }
}
.modal-form .form-search {
  margin-bottom: 10px;
}
.modal-form .form-search .input.hasBtn {
  font-size: 0.875rem;
}
.modal-form .form-search02--inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 20px 0 30px;
}
@media screen and (max-width: 767px) {
  .modal-form .form-search02--inner {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .modal-form .form-search02--label {
    text-align: left;
    margin-bottom: 8px;
  }
}
.modal-form .form-search02--cnt .form-input {
  display: flex;
  align-items: center;
}
.modal-form .form-search02--cnt .form-input .input._date {
  width: 170px;
  margin-left: 30px;
}
/* -------------------
  SLICK SLIDER
--------------------*/
body .slick-prev,
body .slick-next {
  width: 40px;
  height: 40px;
  top: 166px;
  bottom: auto;
  border-radius: 0;
  transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  body .slick-prev,
  body .slick-next {
    width: 30px;
    height: 30px;
  }
}
body .slick-prev:before, body .slick-prev:after,
body .slick-next:before,
body .slick-next:after {
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  content: "";
  display: block;
  opacity: 1;
  width: 100%;
  height: 100%;
}
body .slick-prev {
  left: -10px;
}
@media screen and (max-width: 767px) {
  body .slick-prev {
    left: 5px;
  }
}
body .slick-prev:before {
  background-image: url(../images/slick/left.png);
}
body .slick-next {
  right: -10px;
}
@media screen and (max-width: 767px) {
  body .slick-next {
    right: 5px;
  }
}
body .slick-next:before {
  background-image: url(../images/slick/right.png);
}
body .slick-dots {
  bottom: -40px;
  left: 50%;
  transform: translate(-50%, 0);
  display: flex;
}
body .slick-dots li {
  bottom: 0 !important;
  width: 10px;
  height: 10px;
  margin: 0 4px;
  padding: 0;
  opacity: 1;
  cursor: pointer;
}
body .slick-dots li button {
  font-size: 0;
  line-height: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
}
body .slick-dots li button:before {
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0, 0);
  width: 100%;
  height: 100%;
  border-radius: 100vh;
  content: "" !important;
  display: block;
  background-color: #8e8e8e;
  text-align: center;
  opacity: 1;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
body .slick-dots li.slick-active button:before {
  background-color: #ff783c;
  opacity: 1;
}

.l-header {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .l-header {
    margin-bottom: 10px;
  }
}
.l-header__upper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0;
}
@media screen and (max-width: 767px) {
  .l-header__upper {
    padding: 10px;
    padding-right: calc(10.6666666667vw + 12px);
  }
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    margin: 0;
    display: flex;
    align-items: center;
    padding-bottom: 3px;
  }
}
.l-header__logo img {
  width: 308px;
}
@media screen and (max-width: 767px) {
  .l-header__logo img {
    width: 39.7333333333vw;
  }
}
.l-header__btns {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .l-header__btns {
    gap: 6px;
  }
}
.l-header__btn a {
  background: #000;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 100vh;
  gap: 10px;
  width: 200px;
  height: 44px;
}
.l-header__btn a span {
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-header__btn a span.icon {
  width: 20px;
}
.l-header__btn a span.arrow {
  width: 14px;
}
.l-header__btn.orange a {
  background: #ff783c;
}
@media screen and (max-width: 767px) {
  .l-header__btn.orange a {
    font-size: 3.2vw;
    width: 26.6666666667vw;
    height: 10.6666666667vw;
    border-radius: 100vh;
  }
  .l-header__btn.orange a .icon,
  .l-header__btn.orange a .arrow {
    display: none;
  }
}
.l-header__btn.green a {
  background: #46c864;
}
@media screen and (max-width: 767px) {
  .l-header__btn.green a {
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    border-radius: 50%;
  }
  .l-header__btn.green a .label,
  .l-header__btn.green a .arrow {
    display: none;
  }
}

.gnav__list {
  display: flex;
  justify-content: space-between;
  border-left: 1px dotted #5a3c00;
}
@media screen and (max-width: 767px) {
  .gnav__list {
    flex-direction: column;
    border-left: none;
    gap: 18px;
  }
}
.gnav__item {
  font-size: 15px;
  line-height: 1.33;
  border-right: 1px dotted #5a3c00;
  flex: 1 1 auto;
}
@media screen and (max-width: 767px) {
  .gnav__item {
    border-right: none;
  }
}
.gnav__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .gnav__item a {
    text-align: left;
    display: block;
  }
}

@media screen and (max-width: 767px) {
  #hamburger {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    z-index: 35;
    top: 10px;
    right: 2vw;
    width: 10.6666666667vw;
    height: 10.6666666667vw;
    border-radius: 50%;
    cursor: pointer;
    transition: 1s;
    background: #5a3c00;
    padding: 3.4666666667vw 2.9333333333vw;
  }
  #hamburger.active {
    background: #fff;
  }
  #hamburger .inner {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
  }
  #hamburger .inner .inner_line {
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    transition: 0.4s;
    background: #fff;
  }
  #hamburger .inner .inner_line#line1 {
    top: 0;
  }
  #hamburger .inner .inner_line#line1.active {
    transform: translateY(6px) rotate(-45deg);
    background: #5a3c00;
  }
  #hamburger .inner .inner_line#line2 {
    top: 50%;
  }
  #hamburger .inner .inner_line#line2.active {
    opacity: 0;
  }
  #hamburger .inner .inner_line#line3 {
    bottom: 0px;
  }
  #hamburger .inner .inner_line#line3.active {
    transform: translateY(-7px) rotate(45deg);
    background: #5a3c00;
  }
  #hamburger.active {
    border-color: #272424;
  }
  #hamburger-menu {
    position: fixed;
    inset: 0;
    z-index: 11;
    width: 67vw;
    pointer-events: none;
    left: auto;
    right: 0;
    background: rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(20px) saturate(140%);
    -webkit-backdrop-filter: blur(16px) saturate(140%);
    box-shadow: inset 0 0 80px rgba(255, 255, 255, 0.25);
    transform: translateX(67vw);
    transition: transform 0.9s ease;
  }
  #hamburger-menu.active {
    pointer-events: auto;
    transform: translateX(0);
  }
  #hamburger-menu .hamburger-menu-inner {
    overflow-y: auto;
    overflow-x: hidden;
    height: 100%;
    position: relative;
    padding: 70px 6.6666666667vw 30px;
  }
}
@keyframes fadeIn {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
.footer-telcontact {
  background: url(../images/common/body-bg-3.png) no-repeat center top/cover;
  margin-top: -3vw;
  padding: 7vw 20px 100px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer-telcontact {
    background: url(../images/common/body-bg-2-sp.png) no-repeat center top/cover;
    margin-top: -6vw;
    padding-top: 16vw;
  }
}
.footer-telcontact__lead {
  text-align: center;
  margin-bottom: 60px;
}
.footer-telcontact__box {
  background: #fff;
  border-radius: 30px;
  padding: 64px 70px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer-telcontact__box {
    padding: 60px 5vw 40px;
    padding-left: 10vw;
    border-radius: 20px;
  }
}
.footer-telcontact__box::before {
  content: "";
  display: block;
  width: 124.9718px;
  height: 77.6757px;
  background: url(../images/common/orn-flag-left.svg) no-repeat center/contain;
  position: absolute;
  left: -10px;
  top: -10px;
}
@media screen and (max-width: 767px) {
  .footer-telcontact__box::before {
    width: 20vw;
    height: 12.4vw;
    left: 0px;
    top: 0px;
  }
}
.footer-telcontact__box::after {
  content: "";
  display: block;
  width: 124.9718px;
  height: 77.6757px;
  background: url(../images/common/orn-flag-right.svg) no-repeat center/contain;
  position: absolute;
  right: -10px;
  top: -10px;
}
@media screen and (max-width: 767px) {
  .footer-telcontact__box::after {
    width: 20vw;
    height: 12.4vw;
    right: 0px;
    top: 0px;
  }
}
.footer-telcontact__box .bottom {
  position: relative;
  background: url(../images/aoba/life-title-line.svg) repeat-x left top/660px auto;
  padding-top: 32px;
  padding-left: 530px;
  min-height: 270px;
}
@media screen and (max-width: 767px) {
  .footer-telcontact__box .bottom {
    padding: 60px 0 0;
  }
}
.footer-telcontact__box .bottom .illust {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .footer-telcontact__box .bottom .illust {
    position: relative;
    width: 28vw;
  }
}
.footer-telcontact__box .bottom .illust img {
  width: 165px;
}
.footer-telcontact__box .bottom .fukidashi {
  position: absolute;
  left: 126px;
  bottom: 30px;
}
@media screen and (max-width: 767px) {
  .footer-telcontact__box .bottom .fukidashi {
    width: 60.8vw;
    left: auto;
    bottom: auto;
    right: -6vw;
    top: 7vw;
  }
}
.footer-telcontact__box .bottom .fukidashi img {
  width: 370px;
}
.footer-telcontact__box .bottom .text {
  font-size: 18px;
  text-align: center;
  position: absolute;
  left: 162px;
  bottom: 82px;
}
@media screen and (max-width: 767px) {
  .footer-telcontact__box .bottom .text {
    font-size: 4.2666666667vw;
    line-height: 1.56;
    left: auto;
    bottom: auto;
    right: 2vw;
    top: 14vw;
  }
}
.footer-telcontact__box .bottom .contact-set {
  text-align: center;
  max-width: 470px;
  padding-top: 10px;
}
.footer-telcontact__box .bottom .contact-set .name {
  font-weight: bold;
  margin-bottom: 12px;
}
.footer-telcontact__box .bottom .contact-set .name span {
  font-size: 24px;
}
.footer-telcontact__box .bottom .contact-set .btn a {
  display: block;
}
.footer-telcontact__box .bottom .contact-set .time {
  font-size: 20px;
  margin-top: 12px;
}
.footer-telcontact__list {
  display: flex;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .footer-telcontact__list {
    flex-direction: column;
    gap: 20px;
  }
}
.footer-telcontact__item {
  width: calc((100% - 70px) / 3);
  background: #ecf9ef;
  border-radius: 30px;
  text-align: center;
  padding: 35px 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .footer-telcontact__item {
    width: 100%;
    border-radius: 20px;
    text-align: left;
    padding: 20px;
    padding-left: 40px;
  }
}
.footer-telcontact__item .check {
  position: absolute;
  left: 50%;
  top: -18px;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .footer-telcontact__item .check {
    left: -20px;
    top: 50%;
    transform: translate(0, -50%);
  }
}
.footer-telcontact__item .check img {
  width: 36px;
}
.footer-telcontact__item p {
  font-size: 18px;
  line-height: 1.67;
}

/* =========================== */
.l-footer {
  background: #ff783c;
  color: #fff;
}
.l-footer-inner {
  padding: 64px 0;
}
@media screen and (max-width: 767px) {
  .l-footer-inner {
    padding: 20px 5vw 10px;
  }
}
.l-footer__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .l-footer__grid {
    display: flex;
    flex-direction: column;
  }
}
.l-footer__logo {
  order: 1;
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    text-align: center;
    margin-bottom: 10px;
  }
}
.l-footer__logo img {
  width: 308px;
}
@media screen and (max-width: 767px) {
  .l-footer__logo img {
    width: 45.0666666667vw;
  }
}
.l-footer__info {
  order: 3;
  grid-area: 2/1/3/3;
}
@media screen and (max-width: 767px) {
  .l-footer__info {
    order: 2;
    text-align: center;
    font-size: 3.6vw;
    margin-bottom: 10px;
  }
}
.l-footer__info .icon {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.l-footer__info .icon img {
  width: 12.5684px;
}
.l-footer__bnr {
  order: 2;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .l-footer__bnr {
    order: 3;
    text-align: center;
    margin-bottom: 10px;
  }
}
.l-footer__bnr ul {
  display: flex;
  justify-content: flex-end;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .l-footer__bnr ul {
    justify-content: center;
  }
}
.l-footer__bnr ul li img {
  width: 210px;
}
@media screen and (max-width: 767px) {
  .l-footer__bnr ul li img {
    width: 28vw;
  }
}
.l-footer__copy {
  text-align: right;
  font-size: 12px;
  align-self: flex-end;
  margin-top: -30px;
}
@media screen and (max-width: 767px) {
  .l-footer__copy {
    text-align: center;
    align-self: center;
    margin-top: 0px;
  }
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.sidebar-search {
  padding: 20px 0 40px;
  background-color: #fff;
}
.sidebar-search--head {
  padding: 0 10px 20px;
}
.sidebar-search--img {
  margin-bottom: 18px;
  text-align: center;
}
.sidebar-search--ttl {
  margin-bottom: 10px;
}
.sidebar-search--ratingWrap {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.sidebar-search--rating {
  display: flex;
  align-items: center;
}
.sidebar-search--rating-stars {
  display: flex;
  align-items: center;
}
.sidebar-search--rating-stars img {
  display: inline-block;
  margin-right: 3px;
}
.sidebar-search--rating-number {
  line-height: 1;
}
.sidebar-search--rating-cmt {
  position: relative;
  display: block;
  padding-left: 22px;
}
.sidebar-search--rating-cmt:before {
  position: absolute;
  top: 5px;
  left: 0;
  width: 17px;
  height: 15px;
  display: block;
  background: url(../images/search/icon-msg.svg) no-repeat;
  background-size: 100% 100%;
  content: "";
}
.sidebar-search .form {
  border-top: solid 1px #EBEBEB;
}
.sidebar-search .form-row {
  display: flex;
  padding: 12px 15px;
  border-bottom: solid 1px #EBEBEB;
}
.sidebar-search .form-row:last-child {
  border-bottom: none;
}
.sidebar-search .form-row--cnt {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sidebar-search .form-row--cnt .label-box {
    flex-wrap: wrap;
    flex-flow: column;
  }
  .sidebar-search .form-row--cnt .label-box .link-blue {
    display: block;
  }
}
.sidebar-search .form-label {
  width: 72px;
  margin-right: 12px;
  flex-shrink: 0;
  margin-bottom: 0;
}
@media screen and (max-width: 767px) {
  .sidebar-search .form-label {
    margin-right: 20px;
  }
}
.sidebar-search--map {
  margin: 30px 0 35px;
}

.index-fv {
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .index-fv {
    margin-bottom: 50px;
  }
}
.index-fv__list {
  background: url(../images/common/orn-2.svg) no-repeat left calc(50% - 578px) top 40px/156.9493px auto;
}
@media screen and (max-width: 767px) {
  .index-fv__list {
    position: relative;
  }
  .index-fv__list::before {
    content: "";
    display: block;
    width: 20.9333333333vw;
    height: 18.8vw;
    background: url(../images/common/orn-2.svg) no-repeat center/contain;
    position: absolute;
    left: 0;
    bottom: -8vw;
  }
}
.index-fv__item img {
  width: calc(100% - 80px);
  max-width: 1170px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .index-fv__item img {
    width: calc(100% - 40px);
  }
}

/* =========================== */
.index-about {
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-about {
    text-align: left;
  }
}
.index-about .sect-inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-about .sect-inner {
    padding: 0 5vw;
  }
}
.index-about__lead {
  font-size: 24px;
  font-weight: bold;
  display: inline-block;
  position: relative;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .index-about__lead {
    font-size: 5.3333333333vw;
    padding-left: 9.3333333333vw;
    margin-bottom: 30px;
  }
}
.index-about__lead::before, .index-about__lead::after {
  content: "";
  display: block;
  width: 100px;
  height: 170px;
  position: absolute;
  top: -20px;
}
.index-about__lead::before {
  background: url(../images/top/about-lead-left.svg) no-repeat center/contain;
  left: -100px;
}
@media screen and (max-width: 767px) {
  .index-about__lead::before {
    left: -2vw;
    top: -11vw;
    transform: rotate(40deg);
    width: 20vw;
    height: 26.6666666667vw;
  }
}
.index-about__lead::after {
  background: url(../images/top/about-lead-right.svg) no-repeat center/contain;
  right: -100px;
}
@media screen and (max-width: 767px) {
  .index-about__lead::after {
    display: none;
  }
}
.index-about__orn {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .index-about__orn {
    display: none;
  }
}
.index-about__orn-1 {
  left: -70px;
  top: 0;
}
@media screen and (max-width: 767px) {
  .index-about__orn-1 {
    display: block;
    left: auto;
    right: -6vw;
    top: 27vw;
  }
}
.index-about__orn-1 img {
  width: 300.5px;
}
@media screen and (max-width: 767px) {
  .index-about__orn-1 img {
    width: 44.6666666667vw;
  }
}
.index-about__orn-2 {
  right: 0;
  top: 0;
}
.index-about__orn-2 img {
  width: 156.5px;
}
.index-about__orn-3 {
  left: 40px;
  bottom: 20px;
}
.index-about__orn-3 img {
  width: 131px;
}
.index-about__orn-4 {
  right: -80px;
  bottom: -10px;
}
.index-about__orn-4 img {
  width: 328px;
}
.index-about__list-wrap {
  /*
  background: url(../images/top/about-fac-bg.svg) no-repeat center bottom / 100% auto;
  min-height: 42vw;
  */
  padding-bottom: 140px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-about__list-wrap {
    padding-bottom: 70px;
  }
}
.index-about__list-wrap::before {
  content: "";
  display: block;
  width: 100%;
  height: 500px;
  background: #fff8d9;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .index-about__list-wrap::before {
    height: 100%;
  }
}
.index-about__list-wrap::after {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  bottom: 500px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .index-about__list-wrap::after {
    bottom: auto;
    top: -4vw;
    width: 100%;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.index-about__list {
  display: flex;
  gap: 30px;
  margin-top: 96px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-about__list {
    flex-direction: column;
    gap: 12vw;
    padding: 40px 5vw 0;
    margin-top: 70px;
  }
}
.index-about__list::before {
  content: "";
  display: block;
  width: 143px;
  height: 100px;
  background: url(../images/common/orn-1.svg) no-repeat center/contain;
  position: absolute;
  left: -60px;
  bottom: -190px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .index-about__list::before {
    display: none;
  }
}
.index-about__item {
  width: calc((100% - 60px) / 3);
}
@media screen and (max-width: 767px) {
  .index-about__item {
    width: 100%;
  }
}
.index-about__item .img {
  margin-bottom: 24px;
}
.index-about__item .text .name {
  font-size: 30px;
  margin-bottom: 16px;
  color: #ff783c;
}
@media screen and (max-width: 767px) {
  .index-about__item .text .name {
    font-size: 6.4vw;
    text-align: center;
  }
}
.index-about__item .c-btn {
  margin-top: 32px;
}
.index-about__item.aoba .name {
  color: #46c864;
}
.index-about__item.aoba .c-btn a {
  background: #46c864;
}
.index-about__item.wakaba .name {
  color: #00c8c8;
}
.index-about__item.wakaba .c-btn a {
  background: #00c8c8;
}

/* =========================== */
.index-blog {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-blog {
    padding-bottom: 70px;
  }
}
.index-blog::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .index-blog::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
@media screen and (max-width: 767px) {
  .index-blog .sect-inner {
    position: relative;
  }
  .index-blog .sect-inner::before {
    content: "";
    display: block;
    width: 26.6666666667vw;
    height: 14.4vw;
    background: url(../images/common/orn-14.svg) no-repeat center/contain;
    position: absolute;
    transform: scaleX(-1);
    right: 5vw;
    top: -29vw;
  }
}
.index-blog__list .slick-track {
  display: flex;
}
.index-blog__list .slick-slide {
  height: auto !important;
}
.index-blog__item {
  margin: 0 15px;
}
@media screen and (max-width: 767px) {
  .index-blog__item {
    margin: 0 10px;
  }
}
.index-blog__item a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.index-blog__item a .img {
  width: 100%;
  height: auto;
  aspect-ratio: 54/34;
}
.index-blog__item a .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 30px 30px 0 0;
}
@media screen and (max-width: 767px) {
  .index-blog__item a .img img {
    border-radius: 20px 20px 0 0;
  }
}
.index-blog__item a .text {
  background: #fff1eb;
  padding: 19px 26px 24px;
  border-radius: 0 0 30px 30px;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .index-blog__item a .text {
    border-radius: 0 0 20px 20px;
  }
}
.index-blog__item a .text .date {
  color: #ff783c;
}
.index-blog__item a .text .title {
  font-size: 18px;
}
.index-blog__item a .text p {
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .index-blog .c-btn {
    margin-top: 70px;
    padding: 0 5vw;
  }
}

/* =========================== */
.index-link {
  background: #ecf9ef;
  position: relative;
  padding: 80px 0 130px;
}
@media screen and (max-width: 767px) {
  .index-link {
    padding: 60px 5vw;
  }
}
.index-link::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/green-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .index-link::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/green-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.index-link .sect-inner {
  position: relative;
}
.index-link .sect-inner::before {
  content: "";
  display: block;
  width: 142.8875px;
  height: 128.6642px;
  background: url(../images/common/orn-3.svg) no-repeat center/contain;
  position: absolute;
  right: -50px;
  top: -156px;
}
@media screen and (max-width: 767px) {
  .index-link .sect-inner::before {
    width: 21.3333333333vw;
    height: 19.2vw;
    right: auto;
    left: 0;
    top: -25vw;
  }
}
.index-link .sect-inner::after {
  content: "";
  display: block;
  width: 122px;
  height: 100px;
  background: url(../images/common/orn-4.svg) no-repeat center/contain;
  position: absolute;
  left: -70px;
  top: 24px;
}
@media screen and (max-width: 767px) {
  .index-link .sect-inner::after {
    display: none;
  }
}
.index-link__lead {
  text-align: center;
  font-size: 20px;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .index-link__lead {
    text-align: left;
    font-size: 4.2666666667vw;
  }
}
.index-link__list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .index-link__list {
    gap: 20px;
  }
}
.index-link__item {
  width: calc((100% - 30px) / 2);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .index-link__item {
    width: 100%;
  }
}
.index-link__item a {
  display: flex;
  position: relative;
  border-radius: 30px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .index-link__item a {
    border-radius: 20px;
  }
}
.index-link__item a .img,
.index-link__item a .text {
  width: 50%;
}
.index-link__item a .img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.index-link__item a .text {
  background: #ff783c;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .index-link__item a .text {
    padding: 20px 0 30px;
  }
}
.index-link__item a .text .icon {
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .index-link__item a .text .icon {
    margin-bottom: 10px;
  }
}
.index-link__item a .text .icon img {
  width: 54px;
}
@media screen and (max-width: 767px) {
  .index-link__item a .text .icon img {
    width: 12.1333333333vw;
  }
}
.index-link__item a .text .title {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .index-link__item a .text .title {
    font-size: 5.3333333333vw;
    line-height: 1.35;
    margin-bottom: 8px;
  }
}
.index-link__item a .text p {
  margin: 0;
  line-height: 1.75;
}
@media screen and (max-width: 767px) {
  .index-link__item a .text p {
    font-size: 3.0666666667vw;
  }
}
.index-link__item a .text .arrow {
  width: 14px;
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 18px;
}
@media screen and (max-width: 767px) {
  .index-link__item a .text .arrow {
    right: 10px;
    bottom: 10px;
  }
}
.index-link__item.orange a .text {
  background: #ff783c;
}
.index-link__item.green a .text {
  background: #46c864;
}
.index-link__item.green a .icon img {
  width: 50px;
}
@media screen and (max-width: 767px) {
  .index-link__item.green a .icon img {
    width: 9.3333333333vw;
  }
}
.index-link__item.green2 a .text {
  background: #00c8c8;
}
.index-link__item.green2 a .icon img {
  width: 64px;
}
@media screen and (max-width: 767px) {
  .index-link__item.green2 a .icon img {
    width: 11.8666666667vw;
  }
}
.index-link__item.yellow a .text {
  background: #ffd200;
}
@media screen and (max-width: 767px) {
  .index-link__item.yellow a .icon img {
    width: 9.3333333333vw;
  }
}

/* =========================== */
.index-wrap-1 {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .index-wrap-1 {
    padding: 50px 5vw 18.6666666667vw;
  }
}
.index-wrap-1::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .index-wrap-1::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.index-wrap-1__grid {
  display: grid;
  grid-template-columns: 65% 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-wrap-1__grid {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
}
.index-wrap-1__grid::before {
  content: "";
  display: block;
  width: 175.7242px;
  height: 94.8937px;
  background: url(../images/common/orn-5.svg) no-repeat center/contain;
  position: absolute;
  right: -60px;
  top: -140px;
}
@media screen and (max-width: 767px) {
  .index-wrap-1__grid::before {
    width: 24vw;
    height: 13.0666666667vw;
    right: -1vw;
    top: -18vw;
  }
}

/* =========================== */
.index-info {
  background: #fff;
  border-radius: 30px;
  padding: 70px;
  grid-area: 1/1/3/2;
}
@media screen and (max-width: 767px) {
  .index-info {
    padding: 30px 5vw 40px;
    border-radius: 20px;
  }
}
@media screen and (max-width: 767px) {
  .index-info .c-title {
    margin-bottom: 10px;
  }
}
.index-info__item {
  border-bottom: 1px dotted #5a3c00;
}
.index-info__item a {
  position: relative;
  display: block;
  padding: 14px 0;
}
.index-info__item a .date {
  font-size: 14px;
  margin-bottom: 8px;
}
.index-info__item a .new {
  font-size: 12px;
  background: #ff783c;
  color: #fff;
  border-radius: 100vh;
  position: absolute;
  left: 72px;
  top: 20px;
  width: 70px;
  height: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
/* =========================== */
.index-aobanews {
  background: #fff;
  border-radius: 30px;
  padding: 30px 40px;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .index-aobanews {
    padding: 30px 5vw;
    border-radius: 20px;
  }
}
.index-aobanews .sect-inner {
  display: grid;
  grid-template-columns: 1fr 52%;
  grid-template-rows: 1fr auto;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .index-aobanews .sect-inner {
    display: block;
  }
}
.index-aobanews .c-title {
  align-self: center;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .index-aobanews .c-title {
    padding: 0 20px;
  }
}
.index-aobanews .c-title img {
  height: 99px;
}
@media screen and (max-width: 767px) {
  .index-aobanews__img {
    padding: 0 20px;
  }
}
.index-aobanews .c-btn {
  grid-area: 2/1/3/3;
  margin-top: 17px;
}
.index-aobanews .c-btn a {
  width: 100%;
  height: 50px;
  max-width: 250px;
  font-size: 18px;
  background: #46c864;
}
@media screen and (max-width: 767px) {
  .index-aobanews .c-btn a {
    max-width: 100%;
  }
}

/* =========================== */
.index-satooyanews {
  background: #fff;
  border-radius: 30px;
  padding: 30px 40px;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .index-satooyanews {
    padding: 30px 5vw;
    border-radius: 20px;
  }
}
.index-satooyanews .sect-inner {
  display: grid;
  grid-template-columns: 1fr 52%;
  grid-template-rows: 1fr auto;
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .index-satooyanews .sect-inner {
    display: block;
  }
}
.index-satooyanews .c-title {
  align-self: center;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .index-satooyanews .c-title {
    padding: 0 20px;
  }
}
.index-satooyanews .c-title img {
  height: 99px;
}
@media screen and (max-width: 767px) {
  .index-satooyanews__img {
    padding: 0 20px;
  }
}
.index-satooyanews .c-btn {
  grid-area: 2/1/3/3;
  margin-top: 17px;
}
.index-satooyanews .c-btn a {
  width: 100%;
  height: 50px;
  max-width: 250px;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .index-satooyanews .c-btn a {
    max-width: 100%;
  }
}

/* =========================== */
.index-foodpantry {
  background: url(../images/common/body-bg-2.png) no-repeat center top/cover;
  margin-top: -3vw;
  padding: 7vw;
  position: relative;
}
@media screen and (max-width: 767px) {
  .index-foodpantry {
    background: url(../images/common/body-bg-2-sp.png) no-repeat center top/cover;
    margin-top: -6vw;
    padding-top: 16vw;
  }
}
.index-foodpantry .sect-inner {
  position: relative;
}
.index-foodpantry .sect-inner::before {
  content: "";
  display: block;
  width: 77.2695px;
  height: 54.8364px;
  background: url(../images/common/orn-6.svg) no-repeat center/contain;
  position: absolute;
  left: -40px;
  top: -16px;
}
.index-foodpantry .sect-inner::after {
  content: "";
  display: block;
  width: 125.3299px;
  height: 113.3392px;
  background: url(../images/common/orn-7.svg) no-repeat center/contain;
  position: absolute;
  right: -60px;
  top: 104px;
}
.index-foodpantry__title-2 {
  font-size: 24px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__title-2 {
    font-size: 5.3333333333vw;
  }
}
.index-foodpantry__body {
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__body {
    text-align: left;
  }
}
.index-foodpantry__list {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__list {
    flex-wrap: wrap;
    gap: 15px;
  }
}
.index-foodpantry__item {
  width: calc((100% - 90px) / 4);
  background: #fff;
  border-radius: 30px;
  padding: 30px 10px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__item {
    width: calc((100% - 15px) / 2);
    padding: 30px 0;
    border-radius: 20px;
  }
}
.index-foodpantry__item .icon {
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__item .icon {
    height: 13.3333333333vw;
    margin-bottom: 10px;
  }
}
.index-foodpantry__item .icon img {
  width: 78px;
}
.index-foodpantry__item .title {
  font-size: 24px;
  margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__item .title {
    font-size: 5.3333333333vw;
    line-height: 1.5;
  }
}
@media screen and (max-width: 767px) {
  .index-foodpantry__item p {
    font-size: 3.2vw;
    line-height: 1.54;
  }
}
.index-foodpantry__item.green .icon img {
  width: 78px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__item.green .icon img {
    width: 54.6px;
  }
}
.index-foodpantry__item.green .title {
  color: #46c864;
}
.index-foodpantry__item.green2 .icon img {
  width: 80px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__item.green2 .icon img {
    width: 56px;
  }
}
.index-foodpantry__item.green2 .title {
  color: #00c8c8;
}
.index-foodpantry__item.yellow .icon img {
  width: 83px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__item.yellow .icon img {
    width: 58.1px;
  }
}
.index-foodpantry__item.yellow .title {
  color: #ffd200;
}
.index-foodpantry__item.orange .icon img {
  width: 81px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__item.orange .icon img {
    width: 56.7px;
  }
}
.index-foodpantry__item.orange .title {
  color: #ff783c;
}
.index-foodpantry__info {
  background: #fff url(../images/top/foodpantry-info-bg.png) no-repeat left top/auto 100%;
  border-radius: 30px;
  position: relative;
  display: grid;
  grid-template-columns: 300px 1fr;
  grid-template-rows: 1fr auto;
  gap: 30px 0;
  padding: 65px 100px 55px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info {
    background: #fff url(../images/top/foodpantry-info-bg-sp.png) no-repeat left top/100% auto;
    display: block;
    padding: 20px 20px 40px;
    padding-top: 37vw;
    border-radius: 20px;
  }
}
.index-foodpantry__info::before {
  content: "";
  display: block;
  width: 125.3388px;
  height: 78.5348px;
  background: url(../images/common/orn-flag-right.svg) no-repeat center/contain;
  position: absolute;
  right: 0;
  top: 0;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .title {
    text-align: center;
  }
}
.index-foodpantry__info .title img {
  width: 300px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .title img {
    width: 90%;
  }
}
.index-foodpantry__info .dl-wrap {
  padding-left: 68px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .dl-wrap {
    padding-left: 0;
    margin-bottom: 30px;
  }
}
.index-foodpantry__info .dl-wrap dl {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  border-bottom: 1px dotted #5a3c00;
  padding: 14px 0;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .dl-wrap dl {
    align-items: stretch;
    gap: 10px;
  }
}
.index-foodpantry__info .dl-wrap dl dt {
  background: #46c864;
  color: #fff;
  border-radius: 100vh;
  flex: 0 0 114px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .dl-wrap dl dt {
    border-radius: 8px;
    flex: 0 0 29vw;
  }
}
.index-foodpantry__info .dl-wrap dl dd {
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .dl-wrap dl dd {
    line-height: 1.625;
    font-size: 3.7333333333vw;
  }
}
.index-foodpantry__info .contact {
  grid-area: 2/1/3/3;
  display: flex;
  align-items: center;
  gap: 60px;
  background: #fff6cc;
  border-radius: 30px;
  position: relative;
  padding: 35px 50px 35px 180px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .contact {
    display: block;
    padding: 25px 20px;
    border-radius: 20px;
  }
}
.index-foodpantry__info .contact .illust {
  position: absolute;
  left: 12px;
  bottom: -1px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .contact .illust {
    transform: scaleX(-1);
    left: auto;
    bottom: auto;
    right: 1vw;
    top: 9vw;
  }
}
.index-foodpantry__info .contact .illust img {
  width: 156px;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .contact .illust img {
    width: 30.6666666667vw;
  }
}
.index-foodpantry__info .contact .body {
  font-size: 20px;
  line-height: 1.8;
  color: #ff783c;
}
@media screen and (max-width: 767px) {
  .index-foodpantry__info .contact .body {
    font-size: 4.2666666667vw;
    line-height: 1.68;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
  }
}
.index-foodpantry__info .contact .body-2 {
  margin: 0;
}
.index-foodpantry__info .contact .body-2 .title {
  border: 1px solid #5a3c00;
  display: block;
  text-align: center;
  margin-bottom: 10px;
}
.index-foodpantry__info .contact .body-2 .tel {
  display: flex;
  font-size: 24px;
  gap: 7px;
  align-items: center;
}
.index-foodpantry__info .contact .body-2 .tel .icon {
  line-height: 1;
}
.index-foodpantry__info .contact .body-2 .tel .icon img {
  width: 20px;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.aoba-intro {
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .aoba-intro {
    padding-bottom: 70px;
  }
}
.aoba-intro .sect-inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .aoba-intro .sect-inner {
    padding: 0 5vw;
  }
}
.aoba-intro .sect-inner::before {
  content: "";
  display: block;
  width: 156.2234px;
  height: 84.8733px;
  background: url(../images/common/orn-14.svg) no-repeat center/contain;
  position: absolute;
  left: -36px;
  bottom: 17px;
}
@media screen and (max-width: 767px) {
  .aoba-intro .sect-inner::before {
    display: none;
  }
}
.aoba-intro .sect-inner::after {
  content: "";
  display: block;
  width: 152.8047px;
  height: 50.0116px;
  background: url(../images/common/orn-15.svg) no-repeat center/contain;
  position: absolute;
  right: 0px;
  top: 195px;
}
@media screen and (max-width: 767px) {
  .aoba-intro .sect-inner::after {
    display: none;
  }
}
.aoba-intro__body {
  max-width: 762px;
  margin: 0 auto 70px;
}
.aoba-intro__figure {
  text-align: center;
}
.aoba-intro__figure img {
  max-width: 970px;
}

/* =========================== */
.aoba-life {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .aoba-life {
    padding: 60px 5vw;
  }
}
.aoba-life::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .aoba-life::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.aoba-life .sect-inner {
  position: relative;
}
.aoba-life .sect-inner::before {
  content: "";
  display: block;
  width: 125.3809px;
  height: 111.858px;
  background: url(../images/common/orn-2.svg) no-repeat center/contain;
  position: absolute;
  left: -70px;
  top: 40px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .aoba-life .sect-inner::before {
    display: none;
  }
}
.aoba-life .sect-inner::after {
  content: "";
  display: block;
  width: 150px;
  height: 105.1991px;
  background: url(../images/common/orn-1.svg) no-repeat center/contain;
  position: absolute;
  right: -80px;
  top: -164px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .aoba-life .sect-inner::after {
    width: 22.6666666667vw;
    height: 12.2666666667vw;
    background: url(../images/common/orn-14.svg) no-repeat center/contain;
    right: -1vw;
    top: -25vw;
  }
}
.aoba-life__body {
  max-width: 762px;
  margin: 0 auto 70px;
}
@media screen and (max-width: 767px) {
  .aoba-life__body {
    margin: 0 auto 30px;
  }
}
.aoba-life__list {
  display: flex;
  gap: 30px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .aoba-life__list {
    flex-wrap: wrap;
    gap: 20px;
  }
}
.aoba-life__item {
  width: calc((100% - 90px) / 4);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .aoba-life__item {
    width: calc((100% - 20px) / 2);
  }
}
.aoba-life__item .img img {
  border-radius: 30px 30px 0 0;
}
@media screen and (max-width: 767px) {
  .aoba-life__item .img img {
    border-radius: 20px 20px 0 0;
  }
}
.aoba-life__item .text {
  background: #fff;
  border-radius: 0 0 30px 30px;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .aoba-life__item .text {
    border-radius: 0 0 20px 20px;
  }
}
.aoba-life__item .text .title {
  font-size: 24px;
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .aoba-life__item .text .title {
    font-size: 5.3333333333vw;
  }
}
.aoba-life__item .text .title.yellow {
  color: #ffaa00;
}
.aoba-life__item .text .title.orange {
  color: #ff783c;
}
.aoba-life__item .text .title.green2 {
  color: #00c8c8;
}
.aoba-life__item .text .title.green {
  color: #46c864;
}
@media screen and (max-width: 767px) {
  .aoba-life__item .text p {
    font-size: 3.7333333333vw;
  }
}
.aoba-life__unit-wrap {
  display: grid;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .aoba-life__unit-wrap {
    gap: 50px;
  }
}
.aoba-life__unit {
  display: flex;
  align-items: center;
  padding: 50px 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .aoba-life__unit {
    flex-direction: column;
    padding: 0;
  }
}
.aoba-life__unit::before {
  content: "";
  display: block;
  width: calc(100% - 200px);
  height: 100%;
  background: #fff;
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .aoba-life__unit::before {
    border-radius: 0 0 20px 20px;
    width: 100%;
    height: calc(100% - 80px);
    right: auto;
    left: 0;
    top: auto;
    bottom: 0;
    border-radius: 20px;
  }
}
.aoba-life__unit .img,
.aoba-life__unit .text {
  position: relative;
}
.aoba-life__unit .img {
  width: 43%;
}
.aoba-life__unit .img img {
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .aoba-life__unit .img {
    width: 100%;
    text-align: center;
    margin-bottom: 24px;
  }
  .aoba-life__unit .img img {
    width: 80%;
    border-radius: 20px;
  }
}
.aoba-life__unit .text {
  width: 57%;
  padding-left: 96px;
  padding-right: 64px;
}
@media screen and (max-width: 767px) {
  .aoba-life__unit .text {
    width: 100%;
    padding: 0 26px 31px;
  }
}
.aoba-life__unit .title {
  font-size: 24px;
  color: #46c864;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  padding-bottom: 14px;
  margin-bottom: 25px;
}
@media screen and (max-width: 767px) {
  .aoba-life__unit .title {
    font-size: 5.2vw;
    text-align: center;
  }
}
.aoba-life__unit:nth-child(2n) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .aoba-life__unit:nth-child(2n) {
    flex-direction: column;
  }
}
.aoba-life__unit:nth-child(2n)::before {
  right: auto;
  left: 0;
}
.aoba-life__unit:nth-child(2n) .text {
  padding-right: 96px;
  padding-left: 64px;
}
@media screen and (max-width: 767px) {
  .aoba-life__unit:nth-child(2n) .text {
    width: 100%;
    padding: 0 26px 31px;
  }
}

/* =========================== */
.aoba-initiative {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .aoba-initiative {
    padding: 70px 5vw;
  }
}
.aoba-initiative::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .aoba-initiative::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.aoba-initiative .sect-inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .aoba-initiative .sect-inner {
    padding-top: 34.6666666667vw;
  }
}
.aoba-initiative .sect-inner::before {
  content: "";
  display: block;
  width: 143px;
  height: 100px;
  background: url(../images/common/orn-8.svg) no-repeat center/contain;
  position: absolute;
  left: -130px;
  top: -151px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .aoba-initiative .sect-inner::before {
    width: 22.6666666667vw;
    height: 12.3143866667vw;
    background: url(../images/common/orn-14.svg) no-repeat center/contain;
    left: auto;
    right: 1vw;
    top: -1vw;
  }
}
@media screen and (max-width: 767px) {
  .aoba-initiative .sect-inner::after {
    content: "";
    display: block;
    width: 24.0397466667vw;
    height: 18.41128vw;
    background: url(../images/common/orn-9.svg) no-repeat center/contain;
    position: absolute;
    left: 1vw;
    bottom: -1vw;
  }
}
@media screen and (max-width: 767px) {
  .aoba-initiative .c-title img {
    height: 25.4666666667vw;
  }
}
.aoba-initiative__body {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .aoba-initiative__body {
    text-align: left;
  }
}
.aoba-initiative__img {
  position: absolute;
}
.aoba-initiative__img-1 {
  width: 300.5px;
  left: -100px;
  top: -60px;
}
@media screen and (max-width: 767px) {
  .aoba-initiative__img-1 {
    width: 171.7142857143px;
    left: 0px;
    top: -50px;
  }
}
.aoba-initiative__img-2 {
  width: 328.5px;
  right: -80px;
  bottom: -20px;
}
@media screen and (max-width: 767px) {
  .aoba-initiative__img-2 {
    position: static;
    width: 187.7142857143px;
    margin: 20px 0 0 auto;
  }
}

/* =========================== */
.aoba-mitsuba {
  background: #ecf9ef;
  position: relative;
  padding: 80px 0 130px;
}
@media screen and (max-width: 767px) {
  .aoba-mitsuba {
    padding: 70px 5vw;
  }
}
.aoba-mitsuba::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/green-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .aoba-mitsuba::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/green-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
@media screen and (max-width: 767px) {
  .aoba-mitsuba .c-title img {
    height: 25.4666666667vw;
  }
}
.aoba-mitsuba__lead {
  max-width: 762px;
  margin: 0 auto 70px;
}
.aoba-mitsuba__home ul {
  display: flex;
  gap: 30px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .aoba-mitsuba__home ul {
    flex-direction: column;
    gap: 20px;
  }
}
.aoba-mitsuba__home ul li {
  width: calc((100% - 30px) / 2);
  border-radius: 30px;
  display: flex;
  background: #fff;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .aoba-mitsuba__home ul li {
    width: 100%;
    border-radius: 20px;
  }
}
.aoba-mitsuba__home ul li .img {
  width: 50%;
}
.aoba-mitsuba__home ul li .text {
  width: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.aoba-mitsuba__home ul li .text .title {
  font-size: 24px;
  margin-bottom: 8px;
}
@media screen and (max-width: 767px) {
  .aoba-mitsuba__home ul li .text .title {
    font-size: 5.3333333333vw;
    margin-bottom: 5px;
  }
}
.aoba-mitsuba__home ul li .text .title.orange {
  color: #ff783c;
}
.aoba-mitsuba__home ul li .text .title.green2 {
  color: #00c8c8;
}
@media screen and (max-width: 767px) {
  .aoba-mitsuba__home ul li .text p {
    font-size: 3.7333333333vw;
    line-height: 1.64;
  }
}

/* =========================== */
.aoba-professional {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .aoba-professional {
    padding: 70px 5vw;
  }
}
.aoba-professional::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .aoba-professional::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.aoba-professional .sect-inner {
  position: relative;
}
.aoba-professional .sect-inner::before {
  content: "";
  display: block;
  width: 117.1529px;
  height: 89.7237px;
  background: url(../images/common/orn-9.svg) no-repeat center/contain;
  position: absolute;
  left: -70px;
  top: -145px;
}
@media screen and (max-width: 767px) {
  .aoba-professional .sect-inner::before {
    display: none;
  }
}
.aoba-professional__list {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .aoba-professional__list {
    flex-wrap: wrap;
    gap: 35px 20px;
  }
}
.aoba-professional__item {
  width: calc((100% - 90px) / 4);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .aoba-professional__item {
    width: calc((100% - 20px) / 2);
  }
}
.aoba-professional__item .img {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .aoba-professional__item .img {
    margin-bottom: 5px;
  }
}
.aoba-professional__item .text {
  font-size: 20px;
  display: inline-block;
  border-bottom: 2px dashed #5a3c00;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .aoba-professional__item .text {
    border-bottom: 1px dashed #5a3c00;
  }
}

/* =========================== */
.aoba-socialcare {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .aoba-socialcare {
    padding: 70px 5vw;
  }
}
.aoba-socialcare::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .aoba-socialcare::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.aoba-socialcare .sect-inner {
  position: relative;
}
.aoba-socialcare .sect-inner::before {
  content: "";
  display: block;
  width: 165.7964px;
  height: 141.3674px;
  background: url(../images/common/orn-10.svg) no-repeat center/contain;
  position: absolute;
  right: -110px;
  top: -195px;
}
@media screen and (max-width: 767px) {
  .aoba-socialcare .sect-inner::before {
    display: none;
  }
}
.aoba-socialcare .sect-inner::after {
  content: "";
  display: block;
  width: 111.0473px;
  height: 90.4617px;
  background: url(../images/common/orn-11.svg) no-repeat center/contain;
  position: absolute;
  left: -70px;
  top: -5px;
}
@media screen and (max-width: 767px) {
  .aoba-socialcare .sect-inner::after {
    width: 20vw;
    height: 16.2924666667vw;
    left: -1vw;
    top: -25vw;
  }
}
.aoba-socialcare__unit-wrap {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .aoba-socialcare__unit-wrap {
    flex-direction: column;
  }
}
.aoba-socialcare__unit {
  flex: 1;
  background: #fff;
  border-radius: 30px;
  padding: 48px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .aoba-socialcare__unit {
    border-radius: 20px;
    padding: 48px 20px;
  }
}
.aoba-socialcare__unit .title {
  font-size: 24px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  padding: 0 20px;
  padding-bottom: 12px;
  margin-bottom: 10px;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .aoba-socialcare__unit .title {
    font-size: 5.3333333333vw;
    display: block;
    max-width: 90%;
    display: block;
    margin: 0 auto 10px;
  }
}
.aoba-socialcare__unit .title.green {
  color: #46c864;
}
.aoba-socialcare__unit .title.orange {
  color: #ff783c;
}
.aoba-socialcare__unit .period {
  font-size: 18px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .aoba-socialcare__unit .period {
    margin-bottom: 12px;
  }
}
.aoba-socialcare__unit .body {
  text-align: left;
}
.aoba-socialcare__unit .body ol li {
  margin-bottom: 16px;
}
.aoba-socialcare__unit .body ol li:last-child {
  margin-bottom: 0;
}
.aoba-socialcare__unit .body ol li .list__title {
  color: #ff783c;
  font-size: 20px;
  position: relative;
  padding-left: 45px;
}
.aoba-socialcare__unit .body ol li .list__title .num {
  display: block;
  width: 32px;
  height: 32px;
  border-radius: 100vh;
  background: #ff783c;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 4px;
}
.aoba-socialcare__unit .body ol li p {
  padding-left: 45px;
}

/* =========================== */
/* Aoba director introduction section. */
.aoba-director {
  box-sizing: border-box;
  position: relative;
  background: #ecf9ef;
  color: #5b400c;
  padding: 72px 5vw 90px;
  font-family: "Zen Maru Gothic", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.9;
}

.aoba-director * {
  box-sizing: border-box;
}

.aoba-director:before {
  content: "";
  position: absolute;
  left: 0;
  top: -30px;
  width: 100%;
  height: 31px;
  background: url("../images/aoba/green-wave-top.svg") repeat-x center top/auto 30px;
  pointer-events: none;
}

.aoba-director:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 31px;
  background: url("../images/aoba/white-wave-top.svg") repeat-x center bottom/auto 30px;
  pointer-events: none;
}

.aoba-director__inner {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
}

.aoba-director__inner:before,
.aoba-director__inner:after {
  content: "";
  position: absolute;
  pointer-events: none;
  width: 110px;
  height: 90px;
}

.aoba-director__inner:before {
  background: url("../images/aoba/orn-12.svg") center/contain no-repeat;
  top: -18px;
  left: -70px;
}

.aoba-director__inner:after {
  background: url("../images/aoba/orn-14.svg") center/contain no-repeat;
  top: 60px;
  right: -60px;
}

.aoba-director__heading {
  margin: 0 0 44px;
  padding: 0 0 22px;
  text-align: center;
  background: url("../images/aoba/heading-line.svg") center bottom/280px auto no-repeat;
  line-height: 1;
}

.aoba-director__heading img {
  display: block;
  width: 300px;
  max-width: 100%;
  height: auto;
  margin: auto;
}

.aoba-director__card-wrap {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.aoba-director__card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 56px;
  max-width: 100%;
  padding: 38px 50px;
  background: #fff;
  border-radius: 30px;
}

.aoba-director__photo {
  flex: 0 0 194px;
  margin: 0;
}

.aoba-director__photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
}

.aoba-director__text {
  min-width: 0;
}

.aoba-director__role {
  margin: 0 0 14px;
  color: #657b49;
  font-size: 17px;
  font-weight: 700;
}

.aoba-director__name {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .aoba-director {
    padding: 48px 5vw 64px;
  }
  .aoba-director:before {
    top: -20px;
    height: 21px;
    background-size: auto 20px;
  }
  .aoba-director:after {
    height: 21px;
    background-size: auto 20px;
  }
  .aoba-director__heading {
    margin-bottom: 30px;
    background-size: 220px auto;
  }
  .aoba-director__heading img {
    width: 240px;
  }
  .aoba-director__inner:before {
    width: 48px;
    height: 42px;
    left: 0;
    top: -25px;
  }
  .aoba-director__inner:after {
    width: 60px;
    height: 40px;
    right: 0;
    top: 47px;
  }
  .aoba-director__card-wrap {
    gap: 20px;
  }
  .aoba-director__card {
    flex-direction: column;
    gap: 25px;
    padding: 32px 24px;
    border-radius: 25px;
    text-align: center;
  }
  .aoba-director__photo {
    flex: auto;
    width: 147px;
  }
  .aoba-director__role {
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 10px;
  }
  .aoba-director__name {
    font-size: 27px;
  }
}
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.wakaba-intro {
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .wakaba-intro {
    padding-bottom: 70px;
  }
}
.wakaba-intro .sect-inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .wakaba-intro .sect-inner {
    padding: 0 5vw;
  }
}
.wakaba-intro .sect-inner::before {
  content: "";
  display: block;
  width: 156.2234px;
  height: 84.8733px;
  background: url(../images/common/orn-14.svg) no-repeat center/contain;
  position: absolute;
  left: -130px;
  top: -5px;
}
@media screen and (max-width: 767px) {
  .wakaba-intro .sect-inner::before {
    display: none;
  }
}
.wakaba-intro .sect-inner::after {
  content: "";
  display: block;
  width: 152.8047px;
  height: 50.0116px;
  background: url(../images/common/orn-15.svg) no-repeat center/contain;
  position: absolute;
  right: -50px;
  top: 415px;
}
@media screen and (max-width: 767px) {
  .wakaba-intro .sect-inner::after {
    display: none;
  }
}
.wakaba-intro__flex {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .wakaba-intro__flex {
    flex-direction: column;
  }
}
.wakaba-intro__figure {
  width: 37%;
}
@media screen and (max-width: 767px) {
  .wakaba-intro__figure {
    width: 100%;
  }
}
.wakaba-intro__body {
  flex: 1;
  padding-left: 110px;
}
@media screen and (max-width: 767px) {
  .wakaba-intro__body {
    padding: 0;
  }
}
.wakaba-intro .flowing-ttl {
  margin-top: 70px;
}
.wakaba-intro .flowing-ttl__item {
  width: 1790px;
  padding: 0 5px;
}
.wakaba-intro .flowing-ttl__item:nth-child(odd) {
  animation: MoveLeft 50s -25s infinite linear;
}
.wakaba-intro .flowing-ttl__item:nth-child(even) {
  animation: MoveLeft2 50s infinite linear;
}

/* =========================== */
.wakaba-life .sect-inner {
  position: relative;
}
.wakaba-life .sect-inner::before {
  content: "";
  display: block;
  width: 125.3809px;
  height: 111.858px;
  background: url(../images/common/orn-2.svg) no-repeat center/contain;
  position: absolute;
  left: -70px;
  top: -10px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .wakaba-life .sect-inner::before {
    display: none;
  }
}
.wakaba-life .sect-inner::after {
  content: "";
  display: block;
  width: 150px;
  height: 105.1991px;
  background: url(../images/common/orn-1.svg) no-repeat center/contain;
  position: absolute;
  right: -70px;
  top: 110px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .wakaba-life .sect-inner::after {
    display: none;
  }
}
.wakaba-life__list {
  display: flex;
  gap: 30px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .wakaba-life__list {
    flex-direction: column;
    gap: 20px;
  }
}
.wakaba-life__item {
  width: calc((100% - 30px) / 2);
  text-align: center;
  border-radius: 30px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .wakaba-life__item {
    width: 100%;
    border-radius: 20px;
  }
}
.wakaba-life__item .text {
  background: #fff;
  border-radius: 0 0 30px 30px;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .wakaba-life__item .text {
    padding: 20px;
  }
}
.wakaba-life__item .text .title {
  font-size: 24px;
  margin-bottom: 6px;
}
.wakaba-life__item .text .title.yellow {
  color: #ffaa00;
}
.wakaba-life__item .text .title.orange {
  color: #ff783c;
}
.wakaba-life__item .text .title.green2 {
  color: #00c8c8;
}
.wakaba-life__item .text .title.green {
  color: #46c864;
}

/* =========================== */
@media screen and (max-width: 767px) {
  .wakaba-education .c-title img {
    height: 13.7737333333vw;
  }
}

/* =========================== */
.wakaba-nursing .sect-inner {
  position: relative;
}
.wakaba-nursing .sect-inner::after {
  content: "";
  display: block;
  width: 111.0473px;
  height: 90.4617px;
  background: url(../images/common/orn-11.svg) no-repeat center/contain;
  position: absolute;
  left: -70px;
  top: -5px;
}
@media screen and (max-width: 767px) {
  .wakaba-nursing .sect-inner::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .wakaba-nursing .c-title img {
    height: 13.7737333333vw;
  }
}

/* =========================== */
.wakaba-environment {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .wakaba-environment {
    padding: 70px 5vw;
  }
}
.wakaba-environment::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .wakaba-environment::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.wakaba-environment .sect-inner {
  position: relative;
}
.wakaba-environment .sect-inner::after {
  content: "";
  display: block;
  width: 200px;
  height: 170.5313px;
  background: url(../images/common/orn-12.svg) no-repeat center/contain;
  position: absolute;
  right: -120px;
  top: -195px;
}
@media screen and (max-width: 767px) {
  .wakaba-environment .sect-inner::after {
    display: none;
  }
}
.wakaba-environment__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .wakaba-environment__list {
    flex-direction: column;
  }
}
.wakaba-environment__item {
  width: calc((100% - 60px) / 3);
  position: relative;
}
@media screen and (max-width: 767px) {
  .wakaba-environment__item {
    width: 100%;
  }
}
.wakaba-environment__item::before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 130px);
  background: #fff1eb;
  position: absolute;
  left: 0;
  bottom: 0;
  border-radius: 30px;
}
.wakaba-environment__item.orange::before {
  background: #fff1eb;
}
.wakaba-environment__item.yellow::before {
  background: #fffae5;
}
.wakaba-environment__item.green2::before {
  background: #e5f9f9;
}
.wakaba-environment__item.green::before {
  background: #ecf9ef;
}
.wakaba-environment__item.brown::before {
  background: #eeebe5;
}
.wakaba-environment__item .img {
  text-align: center;
  position: relative;
}
.wakaba-environment__item .img img {
  width: 250.5px;
}
.wakaba-environment__item .text {
  position: relative;
  padding: 30px 30px 40px;
}
.wakaba-environment__item .text .title {
  text-align: center;
  font-size: 20px;
  border-bottom: 2px dashed #5a3c00;
  padding-bottom: 5px;
  max-width: 200px;
  margin: 0 auto 20px;
}
/* =========================== */
.wakaba-club {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .wakaba-club {
    padding: 70px 5vw;
  }
}
.wakaba-club::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .wakaba-club::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.wakaba-club .sect-inner {
  position: relative;
}
.wakaba-club .sect-inner::after {
  content: "";
  display: block;
  width: 150px;
  height: 114.8803px;
  background: url(../images/common/orn-13.svg) no-repeat center/contain;
  position: absolute;
  left: -80px;
  top: -165px;
}
@media screen and (max-width: 767px) {
  .wakaba-club .sect-inner::after {
    display: none;
  }
}
.wakaba-club__list {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .wakaba-club__list {
    flex-direction: column;
  }
}
.wakaba-club__item {
  width: calc((100% - 30px) / 3);
  background: #fff;
  border-radius: 30px;
  padding: 40px 30px;
}
@media screen and (max-width: 767px) {
  .wakaba-club__item {
    width: 100%;
  }
}
.wakaba-club__item .img {
  height: 132px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 15px;
}
.wakaba-club__item .img img.w-250 {
  width: 250px;
}
.wakaba-club__item .img img.w-310 {
  width: 310px;
}
.wakaba-club__item .img img.w-129 {
  width: 129px;
}
.wakaba-club__item .title {
  font-size: 24px;
  color: #46c864;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  padding-bottom: 14px;
  max-width: 200px;
  margin: 0 auto;
  margin-bottom: 25px;
  text-align: center;
}
.wakaba-club__item .title.green2 {
  color: #00c8c8;
}
.wakaba-club__item .title.orange {
  color: #ff783c;
}
.wakaba-club__item .title.green {
  color: #46c864;
}
.wakaba-club__item ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 200px;
  margin: 0 auto;
  margin-bottom: 18px;
}
.wakaba-club__item ul li {
  font-size: 18px;
  color: #5a3c00;
  border: 1px solid #5a3c00;
  border-radius: 100vh;
  text-align: center;
}

/* =========================== */
/* Add after the wakaba life section and before school education. */
.wakaba-director {
  box-sizing: border-box;
  position: relative;
  background: #ecf9ef;
  color: #5b400c;
  padding: 72px 5vw 90px;
  font-family: "Zen Maru Gothic", "Yu Gothic", Meiryo, sans-serif;
  line-height: 1.9;
}

.wakaba-director * {
  box-sizing: border-box;
}

.wakaba-director:before {
  content: "";
  position: absolute;
  left: 0;
  top: -30px;
  width: 100%;
  height: 31px;
  background: url("../images/wakaba/green-wave-top.svg") repeat-x center top/auto 30px;
  pointer-events: none;
}

.wakaba-director:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 31px;
  background: url("../images/wakaba/white-wave-top.svg") repeat-x center bottom/auto 30px;
  pointer-events: none;
}

.wakaba-director__inner {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
}

.wakaba-director__inner:before,
.wakaba-director__inner:after {
  content: "";
  position: absolute;
  pointer-events: none;
  width: 110px;
  height: 90px;
}

.wakaba-director__inner:before {
  background: url("../images/wakaba/orn-12.svg") center/contain no-repeat;
  top: -18px;
  left: -70px;
}

.wakaba-director__inner:after {
  background: url("../images/wakaba/orn-14.svg") center/contain no-repeat;
  top: 60px;
  right: -60px;
}

.wakaba-director__heading {
  margin: 0 0 44px;
  padding: 0 0 22px;
  text-align: center;
  background: url("../images/wakaba/heading-line.svg") center bottom/280px auto no-repeat;
  line-height: 1;
}

.wakaba-director__heading img {
  display: block;
  width: 300px;
  max-width: 100%;
  height: auto;
  margin: auto;
}

.wakaba-director__card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 56px;
  max-width: 100%;
  padding: 38px 50px;
  background: #fff;
  border-radius: 30px;
}

.wakaba-director__photo {
  flex: 0 0 194px;
  margin: 0;
}

.wakaba-director__photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
}

.wakaba-director__text {
  min-width: 0;
}

.wakaba-director__role {
  margin: 0 0 14px;
  color: #657b49;
  font-size: 17px;
  font-weight: 700;
}

.wakaba-director__name {
  margin: 0;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.6;
}

@media (max-width: 767px) {
  .wakaba-director {
    padding: 48px 5vw 64px;
    margin-top: 20px;
  }
  .wakaba-director:before {
    top: -20px;
    height: 21px;
    background-size: auto 20px;
  }
  .wakaba-director:after {
    height: 21px;
    background-size: auto 20px;
  }
  .wakaba-director__heading {
    margin-bottom: 30px;
    background-size: 220px auto;
  }
  .wakaba-director__heading img {
    width: 240px;
  }
  .wakaba-director__inner:before {
    width: 48px;
    height: 42px;
    left: 0;
    top: -25px;
  }
  .wakaba-director__inner:after {
    width: 60px;
    height: 40px;
    right: 0;
    top: 47px;
  }
  .wakaba-director__card {
    flex-direction: column;
    gap: 25px;
    padding: 32px 24px;
    border-radius: 25px;
    text-align: center;
  }
  .wakaba-director__photo {
    flex: auto;
    width: 147px;
  }
  .wakaba-director__role {
    font-size: 15px;
    line-height: 1.9;
    margin-bottom: 10px;
  }
  .wakaba-director__name {
    font-size: 27px;
  }
}
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.training-accept {
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .training-accept {
    padding-bottom: 70px;
  }
}
.training-accept .sect-inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .training-accept .sect-inner {
    padding: 0 5vw;
  }
}
.training-accept .sect-inner::before {
  content: "";
  display: block;
  width: 156.2234px;
  height: 84.8733px;
  background: url(../images/common/orn-14.svg) no-repeat center/contain;
  position: absolute;
  left: -50px;
  bottom: 5px;
}
@media screen and (max-width: 767px) {
  .training-accept .sect-inner::before {
    display: none;
  }
}
.training-accept .sect-inner::after {
  content: "";
  display: block;
  width: 152.8047px;
  height: 50.0116px;
  background: url(../images/common/orn-15.svg) no-repeat center/contain;
  position: absolute;
  right: -50px;
  top: -5px;
}
@media screen and (max-width: 767px) {
  .training-accept .sect-inner::after {
    display: none;
  }
}
.training-accept__body {
  max-width: 764px;
  margin: 0 auto;
}

/* =========================== */
.training-nerai {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .training-nerai {
    padding: 60px 5vw;
  }
}
.training-nerai::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .training-nerai::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.training-nerai .sect-inner {
  max-width: 780px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .training-nerai .sect-inner {
    display: flex;
    flex-direction: column;
  }
  .training-nerai .sect-inner::before {
    content: "";
    display: block;
    width: 22.6666666667vw;
    height: 12.3143866667vw;
    background: url(../images/common/orn-14.svg) no-repeat center/contain;
    position: absolute;
    right: 5vw;
    top: 33vw;
    z-index: 1;
  }
  .training-nerai .sect-inner::after {
    content: "";
    display: block;
    width: 24.0397466667vw;
    height: 18.41128vw;
    background: url(../images/common/orn-9.svg) no-repeat center/contain;
    position: absolute;
    left: 5vw;
    bottom: 14vw;
  }
}
@media screen and (max-width: 767px) {
  .training-nerai .c-title {
    order: 1;
  }
}
@media screen and (max-width: 767px) {
  .training-nerai__list {
    order: 3;
  }
}
.training-nerai__item {
  background: #fff;
  border-radius: 100vh;
  font-size: 18px;
  position: relative;
  padding: 12px;
  padding-left: 70px;
  border-radius: 100vh;
  margin-bottom: 14px;
}
@media screen and (max-width: 767px) {
  .training-nerai__item {
    font-size: 4vw;
    border-radius: 20px;
    padding: 10px;
    padding-left: 47px;
  }
}
.training-nerai__item::before {
  content: "";
  display: block;
  width: 36px;
  height: 36px;
  background: url(../images/common/icon-check-orange.svg) no-repeat center/contain;
  position: absolute;
  left: 12px;
  top: 12px;
}
@media screen and (max-width: 767px) {
  .training-nerai__item::before {
    width: 25px;
    height: 25px;
  }
}
.training-nerai__img {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .training-nerai__img {
    position: static;
  }
}
.training-nerai__img-1 {
  width: 300.5px;
  left: -340px;
  top: -57px;
}
@media screen and (max-width: 767px) {
  .training-nerai__img-1 {
    width: 171.7142857143px;
    order: 2;
    margin-bottom: 20px;
  }
}
.training-nerai__img-2 {
  width: 328.5px;
  right: -280px;
  bottom: -70px;
}
@media screen and (max-width: 767px) {
  .training-nerai__img-2 {
    width: 187.7142857143px;
    order: 4;
    margin-left: auto;
  }
}

/* =========================== */
.training-flow {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .training-flow {
    padding: 60px 5vw;
  }
}
.training-flow::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .training-flow::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.training-flow__list {
  display: flex;
  gap: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .training-flow__list {
    flex-direction: column;
  }
}
.training-flow__list::before {
  content: "";
  display: block;
  width: calc(100% - 300px);
  height: 4px;
  background: url(../images/training/flow-dotline.svg) repeat-x center top/contain;
  position: absolute;
  left: 50%;
  top: 33px;
  transform: translate(-50%, 0);
}
.training-flow__item {
  width: calc((100% - 60px) / 3);
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .training-flow__item {
    width: 100%;
  }
}
.training-flow__item .num {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  margin: 0 auto 50px;
  padding: 0 0 6px;
  background: #00c8c8;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 50px;
  line-height: 1;
  position: relative;
}
@media screen and (max-width: 767px) {
  .training-flow__item .num {
    width: 50px;
    height: 50px;
    font-size: 35px;
    margin: 0 auto 30px;
  }
}
.training-flow__item .fukidashi {
  background: #e5f9f9;
  border-radius: 30px;
  padding: 50px 30px;
  position: relative;
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .training-flow__item .fukidashi {
    border-radius: 20px;
    padding: 40px 20px;
  }
}
.training-flow__item .fukidashi::before {
  content: "";
  display: block;
  width: 60px;
  height: 55px;
  background: url(../images/training/flow-triangle.svg) no-repeat center/contain;
  position: absolute;
  left: 50%;
  top: -30px;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .training-flow__item .fukidashi::before {
    top: -20px;
  }
}
.training-flow__item .fukidashi .title {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 14px;
  height: 82px;
}
@media screen and (max-width: 767px) {
  .training-flow__item .fukidashi .title {
    height: auto;
  }
}
.training-flow__item .fukidashi .title span {
  background: #00c8c8;
  color: #fff;
  font-size: 24px;
  padding: 0 10px;
  display: block;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .training-flow__item .fukidashi .title span {
    font-size: 6vw;
  }
}
.training-flow__item .fukidashi .body {
  height: 180px;
}
@media screen and (max-width: 767px) {
  .training-flow__item .fukidashi .body {
    height: auto;
  }
}
.training-flow__item .fukidashi .body-2 {
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .training-flow__item .fukidashi .body-2 {
    margin-top: 15px;
  }
}

/* =========================== */
.training-log {
  background: #ecf9ef;
  position: relative;
  padding: 80px 0 130px;
}
@media screen and (max-width: 767px) {
  .training-log {
    padding: 60px 5vw;
  }
}
.training-log::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/green-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .training-log::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/green-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.training-log .sect-inner {
  max-width: 970px;
  position: relative;
}
.training-log .sect-inner::before {
  content: "";
  display: block;
  width: 117.1529px;
  height: 89.7237px;
  background: url(../images/common/orn-13.svg) no-repeat center/contain;
  position: absolute;
  left: -130px;
  top: -5px;
}
@media screen and (max-width: 767px) {
  .training-log .sect-inner::before {
    display: none;
  }
}
.training-log .sect-inner::after {
  content: "";
  display: block;
  width: 200px;
  height: 170.5313px;
  background: url(../images/common/orn-12.svg) no-repeat center/contain;
  position: absolute;
  right: -100px;
  bottom: -80px;
}
@media screen and (max-width: 767px) {
  .training-log .sect-inner::after {
    display: none;
  }
}
.training-log__list-wrap {
  background: #fff;
  padding: 0 100px;
  position: relative;
  height: 666px;
  display: flex;
  align-items: center;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .training-log__list-wrap {
    height: auto;
    padding: 20px 20px;
  }
}
.training-log__list-wrap::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../images/training/log-bg.svg) no-repeat left top/auto 100%;
  position: absolute;
  left: -20px;
  top: 0;
}
@media screen and (max-width: 767px) {
  .training-log__list-wrap::before {
    left: 0;
  }
}
.training-log__item {
  font-size: 18px;
  position: relative;
  padding-left: 70px;
  border-bottom: 1px dotted #5a3c00;
  min-height: 95px;
  display: flex;
  align-items: center;
  line-height: 1.78;
}
@media screen and (max-width: 767px) {
  .training-log__item {
    padding: 15px 0;
    padding-left: 37px;
    font-size: 15px;
    display: block;
    min-height: 1px;
  }
}
.training-log__item::before {
  content: "";
  display: block;
  width: 30px;
  height: 30px;
  background: url(../images/common/icon-check.svg) no-repeat center/contain;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .training-log__item::before {
    width: 25px;
    height: 25px;
    top: 15px;
    transform: translate(0, 0);
  }
}

/* =========================== */
.training-guideline {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .training-guideline {
    padding: 60px 5vw;
  }
}
.training-guideline::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .training-guideline::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.training-guideline .sect-inner {
  max-width: 970px;
}
.training-guideline__lead {
  text-align: center;
  margin-bottom: 32px;
}
.training-guideline__item {
  position: relative;
  padding: 20px;
  padding-left: 100px;
  background: #fff1eb;
  line-height: 1.78;
  border-radius: 30px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .training-guideline__item {
    border-radius: 20px;
    padding-left: 70px;
  }
}
.training-guideline__item::before {
  content: "";
  display: block;
  width: 36px;
  height: 36px;
  background: url(../images/common/icon-check-white-orange.svg) no-repeat center/contain;
  position: absolute;
  left: 30px;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .training-guideline__item::before {
    left: 20px;
    width: 26px;
    height: 26px;
  }
}
.training-guideline__item:nth-child(2n) {
  background: #fff6cc;
}
.training-guideline__item .title {
  color: #ff783c;
  font-size: 20px;
  margin: 0;
}
.training-guideline__note {
  border: 1px solid #ff783c;
  border-radius: 30px;
  max-width: 800px;
  margin: 60px auto 0;
  padding: 30px;
  position: relative;
}
.training-guideline__note .title {
  background: #ff783c;
  color: #fff;
  border-radius: 100vh;
  position: absolute;
  left: 30px;
  top: -20px;
  padding: 0 20px 2px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.training-guideline__note .body p {
  margin-bottom: 10px;
}
.training-guideline__note .body p:last-child {
  margin-bottom: 0;
}
.training-guideline__note .body span {
  color: #ff783c;
}
.training-guideline__note .body .small {
  font-size: 13px;
}

/* =========================== */
.training-condition {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .training-condition {
    padding: 60px 5vw;
  }
}
.training-condition::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .training-condition::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.training-condition .c-title {
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .training-condition .c-title {
    margin-bottom: 60px;
  }
}
.training-condition .sect-inner {
  max-width: 970px;
  position: relative;
}
.training-condition .sect-inner::before {
  content: "";
  display: block;
  width: 156.2234px;
  height: 84.8733px;
  background: url(../images/common/orn-14-2.svg) no-repeat center/contain;
  position: absolute;
  left: -190px;
  bottom: -65px;
}
.training-condition .sect-inner::after {
  content: "";
  display: block;
  width: 152.8047px;
  height: 50.0116px;
  background: url(../images/common/orn-15-2.svg) no-repeat center/contain;
  position: absolute;
  right: -140px;
  top: 5px;
}
@media screen and (max-width: 767px) {
  .training-condition .sect-inner::after {
    display: none;
  }
}
.training-condition__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr;
  gap: 70px 30px;
}
@media screen and (max-width: 767px) {
  .training-condition__grid {
    display: flex;
    flex-direction: column;
    gap: 50px;
  }
}
.training-condition__unit {
  background: #fff;
  border-radius: 30px;
  padding: 70px 65px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .training-condition__unit {
    border-radius: 20px;
  }
}
.training-condition__unit .icon {
  width: 100px;
  height: 100px;
  position: absolute;
  left: 50%;
  top: -50px;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .training-condition__unit .icon {
    width: 60px;
    height: 60px;
    top: -30px;
  }
}
.training-condition__unit .title {
  font-size: 24px;
  color: #46c864;
  padding-bottom: 12px;
  margin-bottom: 24px;
  text-align: center;
  position: relative;
}
.training-condition__unit .title::before {
  content: "";
  display: block;
  width: 170px;
  height: 4px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.training-condition__unit-1 {
  grid-area: 1/1/2/3;
  padding: 70px 95px;
}
@media screen and (max-width: 767px) {
  .training-condition__unit-1 {
    padding: 50px 30px;
  }
}
.training-condition__unit-1 table {
  width: 100%;
  margin-bottom: 20px;
}
.training-condition__unit-1 table th,
.training-condition__unit-1 table td {
  padding: 8px 0;
}
.training-condition__unit-1 table th {
  border-bottom: 2px solid #5a3c00;
}
.training-condition__unit-1 table td {
  border-bottom: 1px dotted #5a3c00;
}
.training-condition__unit-1 .title {
  color: #ff783c;
}
.training-condition__unit-1 .table-note {
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .training-condition__unit-2 {
    padding: 50px 30px;
  }
}
.training-condition__unit-2 .title {
  color: #00c8c8;
}
.training-condition__unit-2 .note {
  background: #e5f9f9;
  border-radius: 20px;
  padding: 12px 25px;
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.7;
}
.training-condition__unit-2 .note small {
  font-size: 13px;
  display: block;
}
@media screen and (max-width: 767px) {
  .training-condition__unit-3 {
    padding: 50px 30px;
  }
}
.training-condition__unit-3 table {
  width: 100%;
  margin-bottom: 20px;
}
.training-condition__unit-3 table th,
.training-condition__unit-3 table td {
  padding: 8px 0;
}
.training-condition__unit-3 table td {
  border-bottom: 1px dotted #5a3c00;
}
.training-condition__unit-3 table td.price {
  text-align: right;
}
.training-condition__unit-3 .table-note {
  font-size: 13px;
}

/* =========================== */
.training-item {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .training-item {
    padding: 60px 5vw;
  }
}
.training-item::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .training-item::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.training-item .sect-inner {
  max-width: 970px;
}
.training-item__unit-wrap {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .training-item__unit-wrap {
    flex-direction: column;
    gap: 20px;
  }
}
.training-item__unit {
  width: calc((100% - 30px) / 2);
  background: #fff1eb;
  border-radius: 30px;
  padding: 50px;
}
@media screen and (max-width: 767px) {
  .training-item__unit {
    width: 100%;
    border-radius: 20px;
    padding: 30px;
  }
}
.training-item__unit .title {
  font-size: 24px;
  color: #ff783c;
  padding-bottom: 12px;
  margin-bottom: 24px;
  text-align: center;
  position: relative;
}
.training-item__unit .title::before {
  content: "";
  display: block;
  width: 170px;
  height: 4px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.training-item__unit ul li {
  position: relative;
  padding-left: 24px;
}
.training-item__unit ul li::before {
  content: "";
  display: block;
  width: 14px;
  height: 14px;
  border-radius: 3px;
  border: 1px solid #5a3c00;
  position: absolute;
  left: 0;
  top: 10px;
}
.training-item__unit-2 {
  background: #e5f9f9;
}
.training-item__unit-2 .title {
  color: #00c8c8;
}

/* =========================== */
.training-last {
  background: #ecf9ef;
  position: relative;
  padding: 80px 0 130px;
}
@media screen and (max-width: 767px) {
  .training-last {
    padding: 60px 5vw;
  }
}
.training-last::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/green-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .training-last::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/green-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.training-last .sect-inner {
  max-width: 970px;
  position: relative;
}
.training-last .sect-inner::before {
  content: "";
  display: block;
  width: 117.1529px;
  height: 89.7237px;
  background: url(../images/common/orn-13.svg) no-repeat center/contain;
  position: absolute;
  right: -30px;
  top: 107px;
  transform: t;
  transform: scaleX(-1);
}
@media screen and (max-width: 767px) {
  .training-last .sect-inner::before {
    display: none;
  }
}
.training-last .sect-inner::after {
  content: "";
  display: block;
  width: 200px;
  height: 170.5313px;
  background: url(../images/common/orn-12.svg) no-repeat center/contain;
  position: absolute;
  left: -100px;
  bottom: -40px;
  transform: scaleX(-1);
}
@media screen and (max-width: 767px) {
  .training-last .sect-inner::after {
    display: none;
  }
}
.training-last__fukidashi {
  font-size: 13px;
  text-align: center;
  background: url(../images/training/last-fukidashi.svg) no-repeat center/contain;
  width: 970px;
  height: 310px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .training-last__fukidashi {
    width: 100%;
    height: auto;
    background: #fff;
    border-radius: 20px;
    padding: 30px;
    text-align: left;
  }
}
.training-last__fukidashi p.green {
  font-size: 16px;
  color: #46c864;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.greeting-sect {
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .greeting-sect {
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.greeting-sect .sect-inner {
  max-width: 970px;
}
.greeting-sect__flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .greeting-sect__flex {
    flex-direction: column;
    gap: 15px;
  }
}
.greeting-sect__img {
  text-align: center;
  width: 31%;
}
@media screen and (max-width: 767px) {
  .greeting-sect__img {
    width: 100%;
    display: flex;
    gap: 15px;
    text-align: left;
    align-items: center;
  }
}
.greeting-sect__img .photo {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .greeting-sect__img .photo {
    flex: 0 0 45%;
    margin-bottom: 0px;
  }
}
.greeting-sect__img .photo img {
  width: 300px;
}
@media screen and (max-width: 767px) {
  .greeting-sect__img .photo img {
    width: 100%;
  }
}
.greeting-sect__img .name-set {
  line-height: 1.7;
}
.greeting-sect__img .name-set .dev {
  font-size: 14px;
}
.greeting-sect__img .name-set .name {
  font-size: 20px;
  font-weight: bold;
}
.greeting-sect__text {
  width: 69%;
  max-width: 580px;
}
@media screen and (max-width: 767px) {
  .greeting-sect__text {
    width: 100%;
    max-width: 100%;
  }
}
.greeting-sect__text .title {
  font-size: 24px;
  color: #ff783c;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  padding-bottom: 14px;
  margin-bottom: 25px;
}

.greeting-sect-2 {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .greeting-sect-2 {
    padding: 70px 5vw;
  }
}
.greeting-sect-2::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .greeting-sect-2::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.greeting-sect-2 .sect-inner {
  position: relative;
}
.greeting-sect-2 .sect-inner::before {
  content: "";
  display: block;
  width: 156.2234px;
  height: 84.8733px;
  background: url(../images/common/orn-14.svg) no-repeat center/contain;
  position: absolute;
  right: -140px;
  top: -150px;
}
@media screen and (max-width: 767px) {
  .greeting-sect-2 .sect-inner::before {
    width: 22.6666666667vw;
    height: 12.3143866667vw;
    right: 1vw;
    top: -25vw;
  }
}
.greeting-sect-2 .greeting-sect__text .title {
  color: #46c864;
}

.greeting-sect-3 {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .greeting-sect-3 {
    padding: 70px 5vw;
  }
}
.greeting-sect-3::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .greeting-sect-3::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.greeting-sect-3 .sect-inner {
  position: relative;
}
.greeting-sect-3 .sect-inner::after {
  content: "";
  display: block;
  width: 152.8047px;
  height: 50.0116px;
  background: url(../images/common/orn-15.svg) no-repeat center/contain;
  position: absolute;
  left: -50px;
  top: -113px;
}
@media screen and (max-width: 767px) {
  .greeting-sect-3 .sect-inner::after {
    width: 22.6666666667vw;
    height: 12.3143866667vw;
    left: 1vw;
    top: -25vw;
  }
}
.greeting-sect-3 .greeting-sect__text .title {
  color: #00c8c8;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.office-sect {
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .office-sect {
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.office-sect .sect-inner {
  max-width: 970px;
}
.office-sect__title {
  text-align: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .office-sect__title {
    margin-bottom: 0px;
  }
}
.office-sect__title span {
  font-size: 30px;
  color: #46c864;
  padding-bottom: 20px;
  margin-bottom: 25px;
  text-align: center;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .office-sect__title span {
    font-size: 5.3333333333vw;
  }
}
.office-sect__title span::before {
  content: "";
  display: block;
  width: 281px;
  height: 5px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.office-sect__lead {
  text-align: center;
  font-size: 20px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .office-sect__lead {
    font-size: 4.8vw;
  }
}
.office-sect__list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .office-sect__list {
    gap: 0;
  }
}
.office-sect__item {
  width: calc((100% - 30px) / 2);
  border-bottom: 1px dotted #5a3c00;
  display: flex;
  gap: 10px;
  padding: 14px 10px;
}
@media screen and (max-width: 767px) {
  .office-sect__item {
    width: 100%;
    flex-wrap: wrap;
  }
}
.office-sect__item .icon-pdf img {
  width: 29px;
}
.office-sect__item > .btn {
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .office-sect__item > .btn {
    width: 100%;
  }
}
.office-sect__item > .btn a {
  background: #00c8c8;
  color: #fff;
  border-radius: 100vh;
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 0 20px;
}
@media screen and (max-width: 767px) {
  .office-sect__item > .btn a {
    width: 100%;
    justify-content: center;
  }
}
.office-sect__item > .btn a .icon-download {
  display: flex;
  align-items: center;
}
.office-sect__item > .btn a .icon-download img {
  width: 15px;
}
.office-sect .c-btn a {
  width: 430px;
}
@media screen and (max-width: 767px) {
  .office-sect .c-btn a {
    width: 100%;
  }
}
.office-sect .c-btn a span.arrow {
  width: 7px;
}
.office-sect__tel {
  border: 2px solid #5a3c00;
  border-radius: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 759px;
  margin: 0 auto 60px;
  padding: 25px 35px;
  padding-left: 55px;
}
@media screen and (max-width: 767px) {
  .office-sect__tel {
    flex-direction: column;
    align-items: stretch;
    padding: 30px 25px;
    border-radius: 20px;
    margin: 0 auto 40px;
  }
}
@media screen and (max-width: 767px) {
  .office-sect__tel .text {
    margin-bottom: 20px;
  }
}
.office-sect__tel .btn a {
  background: #ff783c;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  font-size: 30px;
  border-radius: 100vh;
  width: 350px;
  height: 70px;
}
@media screen and (max-width: 767px) {
  .office-sect__tel .btn a {
    width: 100%;
    height: 60px;
    font-size: 26px;
  }
}
.office-sect__tel .btn a .icon {
  display: flex;
  align-items: center;
}
.office-sect__tel .btn a .icon img {
  width: 24px;
}

/* =========================== */
.office-sect-3 .office-sect__lead {
  font-size: 16px;
  max-width: 760px;
  margin: 0 auto;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .office-sect-3 .office-sect__lead {
    text-align: left;
    margin-bottom: 30px;
  }
}

/* =========================== */
.office-sect-8 {
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .office-sect-8 {
    padding-bottom: 100px;
  }
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.recruit-intro {
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .recruit-intro {
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.recruit-intro .sect-inner {
  max-width: 970px;
  position: relative;
}
.recruit-intro .sect-inner::before {
  content: "";
  display: block;
  width: 156.2234px;
  height: 84.8733px;
  background: url(../images/common/orn-14.svg) no-repeat center/contain;
  position: absolute;
  right: -130px;
  top: -5px;
}
@media screen and (max-width: 767px) {
  .recruit-intro .sect-inner::before {
    display: none;
  }
}
.recruit-intro .sect-inner::after {
  content: "";
  display: block;
  width: 152.8047px;
  height: 50.0116px;
  background: url(../images/common/orn-15.svg) no-repeat center/contain;
  position: absolute;
  left: -100px;
  top: 275px;
}
@media screen and (max-width: 767px) {
  .recruit-intro .sect-inner::after {
    display: none;
  }
}
.recruit-intro .c-title img {
  height: 134.5714px;
}
@media screen and (max-width: 767px) {
  .recruit-intro .c-title img {
    height: 25.4666666667vw;
  }
}
.recruit-intro__lead {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 72px;
}
@media screen and (max-width: 767px) {
  .recruit-intro__lead {
    font-size: 4.2666666667vw;
    text-align: left;
    margin-bottom: 30px;
  }
}
.recruit-intro table {
  width: 100%;
}
.recruit-intro table th,
.recruit-intro table td {
  padding: 15px 30px;
  border: 1px solid #46c864;
}
@media screen and (max-width: 767px) {
  .recruit-intro table th,
  .recruit-intro table td {
    padding: 12px;
    font-size: 4vw;
  }
}
.recruit-intro table th {
  background: #ecf9ef;
  font-weight: bold;
}

/* =========================== */
.recruit-exam {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .recruit-exam {
    padding: 70px 5vw;
  }
}
.recruit-exam::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .recruit-exam::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.recruit-exam .sect-inner {
  max-width: 970px;
}
.recruit-exam__lead {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .recruit-exam__lead {
    font-size: 4.8vw;
    margin-bottom: 38px;
  }
}
.recruit-exam__unit-wrap {
  display: flex;
  gap: 30px;
}
.recruit-exam__unit {
  width: calc((100% - 30px) / 2);
  border-radius: 30px;
}
.recruit-exam__unit:nth-child(2n+1) {
  position: relative;
}
.recruit-exam__unit:nth-child(2n+1)::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 15px solid #5a3c00;
  border-right: 0;
  position: absolute;
  right: -24px;
  top: 50%;
  transform: translate(0, -50%);
}
.recruit-exam__unit .header {
  background: #ff783c;
  color: #fff;
  text-align: center;
  font-size: 24px;
  padding: 10px;
  border-radius: 30px 30px 0 0;
}
@media screen and (max-width: 767px) {
  .recruit-exam__unit .header {
    font-size: 5.3333333333vw;
    border-radius: 20px 20px 0 0;
  }
}
.recruit-exam__unit .header.green {
  background: #46c864;
}
.recruit-exam__unit .cont {
  text-align: center;
  background: #fff;
  font-size: 20px;
  padding: 30px 10px;
  border-radius: 0 0 30px 30px;
}
@media screen and (max-width: 767px) {
  .recruit-exam__unit .cont {
    font-size: 3.7333333333vw;
    line-height: 1.6;
    border-radius: 0 0 20px 20px;
    padding: 20px 5px;
  }
}

/* =========================== */
.recruit-info {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .recruit-info {
    padding: 70px 5vw;
  }
}
.recruit-info::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .recruit-info::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.recruit-info .sect-inner {
  max-width: 970px;
}
.recruit-info__lead {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .recruit-info__lead {
    font-size: 4.8vw;
    margin-bottom: 38px;
  }
}
.recruit-info__box {
  border: 1px solid #46c864;
  border-radius: 30px;
  overflow: hidden;
  display: flex;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .recruit-info__box {
    flex-direction: column;
    border-radius: 20px;
    margin-bottom: 20px;
  }
}
.recruit-info__box .header {
  background: #46c864;
  color: #fff;
  width: 27%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .recruit-info__box .header {
    width: 100%;
    padding: 10px;
  }
}
.recruit-info__box .cont {
  width: 73%;
  padding: 16px 40px;
}
@media screen and (max-width: 767px) {
  .recruit-info__box .cont {
    width: 100%;
    padding: 16px 20px;
  }
}
.recruit-info__text {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .recruit-info__text {
    margin-bottom: 20px;
  }
}
.recruit-info__deadline {
  text-align: center;
  background: #ffd200;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100vh;
  max-width: 770px;
  margin: 0 auto;
  margin-bottom: 24px;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .recruit-info__deadline {
    flex-direction: column;
    line-height: 1.7;
    padding: 15px 10px;
    margin-bottom: 16px;
  }
}
.recruit-info__deadline .term {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .recruit-info__deadline .term {
    font-size: 4.8vw;
  }
}
.recruit-info__deadline .desc {
  font-size: 30px;
}
@media screen and (max-width: 767px) {
  .recruit-info__deadline .desc {
    font-size: 5.3333333333vw;
  }
}
.recruit-info__note {
  text-align: center;
}

/* =========================== */
.recruit-apply {
  background: #ecf9ef;
  position: relative;
  padding: 80px 0 130px;
}
@media screen and (max-width: 767px) {
  .recruit-apply {
    padding: 70px 5vw;
  }
}
.recruit-apply::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/green-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .recruit-apply::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/green-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.recruit-apply .sect-inner {
  max-width: 770px;
}
.recruit-apply__lead {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .recruit-apply__lead {
    font-size: 4.8vw;
    margin-bottom: 20px;
  }
}
.recruit-apply__tel {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .recruit-apply__tel {
    flex-direction: column;
    align-items: stretch;
  }
}
.recruit-apply__tel .unit a {
  background: #fff;
  color: #ff783c;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 30px;
  border-radius: 100vh;
  width: 350px;
  height: 70px;
}
@media screen and (max-width: 767px) {
  .recruit-apply__tel .unit a {
    width: 100%;
    height: 60px;
    font-size: 6.6666666667vw;
  }
}
.recruit-apply__tel .unit a .icon {
  display: flex;
  align-items: center;
}
.recruit-apply__tel .unit a .icon img {
  width: 24px;
}
@media screen and (max-width: 767px) {
  .recruit-apply__tel .text {
    text-align: center;
  }
}
.recruit-apply__text-1 {
  text-align: center;
  margin-bottom: 30px;
}
.recruit-apply__text-2 {
  text-align: center;
  font-weight: bold;
}
.recruit-apply__text-2 span {
  border-bottom: 1px dotted #5a3c00;
  display: inline-block;
  padding: 0 5px 8px;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.intern-intro {
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .intern-intro {
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.intern-intro .sect-inner {
  max-width: 970px;
  position: relative;
}
.intern-intro .sect-inner::before {
  content: "";
  display: block;
  width: 156.2234px;
  height: 84.8733px;
  background: url(../images/common/orn-14.svg) no-repeat center/contain;
  position: absolute;
  right: -130px;
  top: -5px;
}
@media screen and (max-width: 767px) {
  .intern-intro .sect-inner::before {
    display: none;
  }
}
.intern-intro .sect-inner::after {
  content: "";
  display: block;
  width: 152.8047px;
  height: 50.0116px;
  background: url(../images/common/orn-15.svg) no-repeat center/contain;
  position: absolute;
  left: -100px;
  top: 275px;
}
@media screen and (max-width: 767px) {
  .intern-intro .sect-inner::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .intern-intro .c-title {
    margin-bottom: 5.3333333333vw;
  }
}
.intern-intro .c-title img {
  height: 134.5714px;
}
@media screen and (max-width: 767px) {
  .intern-intro .c-title img {
    width: 100%;
    height: auto;
  }
}
.intern-intro__lead {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 72px;
}
@media screen and (max-width: 767px) {
  .intern-intro__lead {
    font-size: 4.6666666667vw;
  }
}
.intern-intro__flex {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .intern-intro__flex {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
  }
}
.intern-intro__img {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .intern-intro__img {
    width: 100%;
  }
}
.intern-intro__text {
  width: 52%;
  padding-left: 80px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .intern-intro__text {
    width: 100%;
    padding-left: 0;
  }
}
.intern-intro__text::after {
  content: "";
  display: block;
  width: 200px;
  height: 170.5313px;
  background: url(../images/common/orn-16.svg) no-repeat center/contain;
  position: absolute;
  right: -50px;
  bottom: -110px;
}
@media screen and (max-width: 767px) {
  .intern-intro__text::after {
    display: none;
  }
}

/* =========================== */
.aoba-intern-guide {
  padding: 80px 24px 85px;
  background: #fff;
  color: #5a3c00;
  font-family: "Zen Maru Gothic", "Yu Gothic", Meiryo, sans-serif;
  font-size: 17px;
  line-height: 2;
}

.aoba-intern-guide * {
  box-sizing: border-box;
}

.aoba-intern-guide__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.aoba-intern-guide__heading {
  margin: 0 0 45px;
  padding-bottom: 26px;
  text-align: center;
  background: url("intern-guide-assets/heading-line.svg") center bottom/340px auto no-repeat;
}

.aoba-intern-guide__heading img {
  display: block;
  width: 540px;
  max-width: 100%;
  height: auto;
  margin: auto;
}

.aoba-intern-guide__body {
  background: white;
  border-radius: 30px;
  padding: 42px 50px;
}

.aoba-intern-guide__body h3 {
  font-size: 24px;
  line-height: 1.6;
  margin: 0 0 22px;
  color: #5a3c00;
}

.aoba-intern-guide__body p {
  margin: 0 0 20px;
}

.aoba-intern-guide__body p:last-of-type {
  margin-bottom: 0;
}

.aoba-intern-guide__action {
  text-align: center;
  margin-top: 32px;
}

.aoba-intern-guide__pdf {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 15px 35px;
  min-width: 300px;
  max-width: 100%;
  background: #ed7e46;
  border-radius: 60px;
  color: white !important;
  text-decoration: none;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}

.aoba-intern-guide__pdf:hover {
  background: #d66b37;
}

.aoba-intern-guide__pdf:focus-visible {
  outline: 3px solid #5a3c00;
  outline-offset: 5px;
}

.aoba-intern-guide__pdf svg {
  width: 32px;
  height: 38px;
  flex-shrink: 0;
}

.aoba-intern-guide__note {
  display: block;
  font-size: 13px;
  margin-top: 10px;
}

.aoba-intern-guide__arrow {
  font-size: 24px;
}

@media (max-width: 767px) {
  .aoba-intern-guide {
    padding: 50px 20px 55px;
    font-size: 16px;
  }
  .aoba-intern-guide__heading {
    margin-bottom: 28px;
    padding-bottom: 22px;
    background-size: 240px auto;
  }
  .aoba-intern-guide__heading img {
    width: 100%;
    max-width: 410px;
  }
  .aoba-intern-guide__body {
    padding: 28px 22px;
    border-radius: 22px;
  }
  .aoba-intern-guide__body h3 {
    font-size: 21px;
  }
  .aoba-intern-guide__pdf {
    min-width: 0;
    width: 100%;
    max-width: 350px;
    padding: 15px 24px;
    font-size: 18px;
    gap: 14px;
  }
}
.aoba-intern-guide__inner {
  max-width: 1200px;
}

.aoba-intern-guide__body {
  padding: 8px 0 0;
  border-radius: 0;
  background: transparent;
}

.aoba-intern-guide__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46%;
  gap: 65px;
  align-items: center;
}

.aoba-intern-guide__photo {
  margin: 0;
  position: relative;
}

.aoba-intern-guide__photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 48% 50% 24% 30%/48% 55% 27% 30%;
}

.aoba-intern-guide__photo:before {
  content: "";
  position: absolute;
  left: -15px;
  top: -32px;
  width: 96px;
  height: 54px;
  background: radial-gradient(ellipse at bottom, #d5f2f2 65%, transparent 68%) 0 0/32px 24px repeat-x;
  z-index: 0;
}

.aoba-intern-guide__text {
  position: relative;
}

.aoba-intern-guide__text h3 {
  margin-bottom: 18px;
}

.aoba-intern-guide__text p {
  font-size: 16px;
  line-height: 2;
}

.aoba-intern-guide__action {
  margin-top: 44px;
}

.aoba-intern-guide__photo img {
  position: relative;
  z-index: 1;
}

@media (max-width: 767px) {
  .aoba-intern-guide__row {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .aoba-intern-guide__photo {
    max-width: 520px;
    margin: 8px auto 0;
    width: 100%;
  }
  .aoba-intern-guide__body {
    padding: 8px 0 0;
  }
  .aoba-intern-guide__photo:before {
    left: 0;
    top: -22px;
  }
  .aoba-intern-guide__action {
    margin-top: 28px;
  }
}
@media (min-width: 768px) {
  .aoba-intern-guide__text {
    grid-column: 1;
    grid-row: 1;
  }
  .aoba-intern-guide__photo {
    grid-column: 2;
    grid-row: 1;
  }
  .aoba-intern-guide__photo:before {
    left: auto;
    right: -15px;
  }
}
/* =========================== */
.intern-event {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .intern-event {
    padding: 70px 5vw;
  }
}
.intern-event::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .intern-event::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.intern-event .sect-inner {
  max-width: 970px;
}
.intern-event__slider {
  background: #fff;
  border-radius: 30px;
  padding: 60px 20px 30px;
  margin-bottom: 90px;
}
@media screen and (max-width: 767px) {
  .intern-event__slider {
    border-radius: 20px;
    padding: 30px 10px 20px;
  }
}
.intern-event__slider__list {
  max-width: 800px;
  margin: 0 auto;
}
.intern-event__slider__list .slick-prev,
.intern-event__slider__list .slick-next {
  top: 45%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 767px) {
  .intern-event__slider__list .slick-prev,
  .intern-event__slider__list .slick-next {
    top: 41%;
  }
}
.intern-event__slider__list .slick-prev {
  left: -100px;
}
@media screen and (max-width: 767px) {
  .intern-event__slider__list .slick-prev {
    left: -12px;
  }
}
.intern-event__slider__list .slick-prev:before {
  background-image: url(../images/slick/left2.svg);
}
.intern-event__slider__list .slick-next {
  right: -100px;
}
@media screen and (max-width: 767px) {
  .intern-event__slider__list .slick-next {
    right: -12px;
  }
}
.intern-event__slider__list .slick-next:before {
  background-image: url(../images/slick/right2.svg);
}
.intern-event__slider__list .slick-dots {
  bottom: -70px;
}
.intern-event__slider__list .slick-dots li button::before {
  background-color: #cdc4b2;
}
.intern-event__slider__list .slick-dots li.slick-active button:before {
  background-color: #ff783c;
}
.intern-event__slider__item .img img {
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .intern-event__slider__item .img img {
    border-radius: 20px;
  }
}
.intern-event__slider__item .text {
  text-align: center;
  font-size: 20px;
  padding: 15px 0 0;
}
.intern-event__slider__item .text .orange {
  color: #ff783c;
}
.intern-event__season__list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .intern-event__season__list {
    gap: 20px;
  }
}
.intern-event__season__item {
  width: calc((100% - 30px) / 2);
  background: #fff;
  border-radius: 30px;
  display: flex;
  align-items: center;
  padding: 30px;
  padding-left: 45px;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .intern-event__season__item {
    border-radius: 20px;
    width: 100%;
    padding: 20px;
    gap: 20px;
  }
}
.intern-event__season__item .badge {
  flex: 0 0 100px;
}
@media screen and (max-width: 767px) {
  .intern-event__season__item .badge {
    flex: 0 0 70px;
  }
}
.intern-event__season__item ul li {
  position: relative;
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .intern-event__season__item ul li {
    font-size: 4vw;
  }
}
.intern-event__season__item ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

/* =========================== */
.intern-volunteer {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .intern-volunteer {
    padding: 70px 5vw;
  }
}
.intern-volunteer::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .intern-volunteer::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.intern-volunteer__list {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__list {
    flex-direction: column;
    gap: 20px;
  }
}
.intern-volunteer__item {
  width: calc((100% - 60px) / 3);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__item {
    width: 100%;
  }
}
.intern-volunteer__item .img {
  border-radius: 30px 30px 0 0;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__item .img {
    border-radius: 20px 20px 0 0;
  }
}
.intern-volunteer__item .text {
  background: #e5f9f9;
  font-size: 20px;
  padding: 40px 20px;
  border-radius: 0 0 30px 30px;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__item .text {
    border-radius: 0 0 20px 20px;
    padding: 20px;
    font-size: 4.6666666667vw;
  }
}
.intern-volunteer__item .text.green {
  background: #ecf9ef;
}
.intern-volunteer__item .text.orange {
  background: #fff1eb;
}
.intern-volunteer__flex {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__flex {
    flex-direction: column;
    gap: 20px;
  }
}
.intern-volunteer__org {
  background: #46c864;
  color: #fff;
  text-align: center;
  border-radius: 30px;
  padding: 40px 30px;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__org {
    padding: 30px;
    border-radius: 20px;
  }
}
.intern-volunteer__org .title {
  font-size: 20px;
}
.intern-volunteer__org .badge img {
  width: 250px;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__org .badge img {
    width: 53.3333333333vw;
  }
}
.intern-volunteer__org .c-btn {
  margin-top: 30px;
}
.intern-volunteer__org .c-btn a {
  border: 1px solid #fff;
  background: none;
}
.intern-volunteer__org .c-btn a span.arrow {
  width: 6.5098px;
}
.intern-volunteer__contact {
  background: #ffebe2;
  border-radius: 30px;
  padding: 80px 30px 40px;
  margin-top: 90px;
  flex: 1;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__contact {
    padding: 30px 20px;
    border-radius: 20px;
    margin-top: 0px;
  }
}
.intern-volunteer__contact .title {
  font-size: 20px;
  background: #ff783c;
  color: #fff;
  text-align: center;
  border-radius: 20px;
  font-size: 24px;
  position: absolute;
  left: 50%;
  top: -40px;
  transform: translate(-50%, 0);
  width: 570px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__contact .title {
    font-size: 4.8vw;
    position: static;
    width: 100%;
    height: auto;
    transform: translate(0, 0);
    padding: 10px;
    margin-bottom: 20px;
  }
}
.intern-volunteer__contact .title::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 20px solid #ff783c;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .intern-volunteer__contact .title::before {
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 10px solid #ff783c;
    bottom: -10px;
  }
}
.intern-volunteer__contact .time {
  margin-bottom: 20px;
}
.intern-volunteer__contact .tel .list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.intern-volunteer__contact .tel .list .item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__contact .tel .list .item {
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
  }
}
.intern-volunteer__contact .tel .list .item .text {
  line-height: 1.56;
  min-width: 180px;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__contact .tel .list .item .text {
    font-size: 4vw;
  }
}
.intern-volunteer__contact .tel .list .item .btn a {
  background: #fff;
  color: #ff783c;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0px;
  font-size: 30px;
  border-radius: 100vh;
  width: 350px;
  height: 60px;
}
@media screen and (max-width: 767px) {
  .intern-volunteer__contact .tel .list .item .btn a {
    width: 100%;
    height: 60px;
    font-size: 26px;
  }
}
.intern-volunteer__contact .tel .list .item .btn a .icon {
  display: flex;
  align-items: center;
}
.intern-volunteer__contact .tel .list .item .btn a .icon img {
  width: 24px;
}

/* =========================== */
.intern-faq {
  background: #ecf9ef;
  position: relative;
  padding: 80px 0 130px;
}
@media screen and (max-width: 767px) {
  .intern-faq {
    padding: 70px 5vw;
  }
}
.intern-faq::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/green-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .intern-faq::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/green-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.intern-faq .sect-inner {
  max-width: 970px;
}
.intern-faq__item {
  background: #fff;
  margin-bottom: 15px;
  border-radius: 35px;
}
@media screen and (max-width: 767px) {
  .intern-faq__item {
    border-radius: 20px;
  }
}
.intern-faq__item .question,
.intern-faq__item .answer {
  display: flex;
  align-items: flex-start;
  position: relative;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .question,
  .intern-faq__item .answer {
    gap: 10px;
  }
}
.intern-faq__item .question .icon,
.intern-faq__item .answer .icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  background: #efefef;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .question .icon,
  .intern-faq__item .answer .icon {
    width: 30px;
    height: 30px;
    font-size: 3.6vw;
  }
}
.intern-faq__item .question .cont,
.intern-faq__item .answer .cont {
  flex-grow: 1;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .question .cont,
  .intern-faq__item .answer .cont {
    font-size: 2vw;
    line-height: 1.87;
  }
}
.intern-faq__item .question .status,
.intern-faq__item .answer .status {
  position: absolute;
  top: 28px;
  right: 35px;
  width: 15px;
  height: 15px;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .question .status,
  .intern-faq__item .answer .status {
    top: 22px;
    right: 12px;
    width: 14px;
    height: 14px;
  }
}
.intern-faq__item .question .status-inner,
.intern-faq__item .answer .status-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.intern-faq__item .question .status .line-1,
.intern-faq__item .question .status .line-2,
.intern-faq__item .answer .status .line-1,
.intern-faq__item .answer .status .line-2 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 2px;
  background: #46c864;
  transition: transform 0.3s ease;
}
.intern-faq__item .question .status .line-1,
.intern-faq__item .answer .status .line-1 {
  transform: translate(-50%, -50%);
}
.intern-faq__item .question .status .line-2,
.intern-faq__item .answer .status .line-2 {
  transform: translate(-50%, -50%) rotate(90deg);
}
.intern-faq__item .question.open .status .line-2,
.intern-faq__item .answer.open .status .line-2 {
  transform: translate(-50%, -50%) rotate(360deg);
}
.intern-faq__item .question {
  cursor: pointer;
  padding: 17px 35px;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .question {
    padding: 15px;
    padding-right: 34px;
  }
}
.intern-faq__item .question .icon {
  background: #46c864;
  color: #fff;
}
.intern-faq__item .question .cont {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .question .cont {
    font-size: 4vw;
    line-height: 1.7;
  }
}
.intern-faq__item .anwer-wrap {
  display: none;
}
.intern-faq__item .answer {
  padding: 17px 35px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .answer {
    padding: 15px;
    padding-right: 34px;
  }
}
.intern-faq__item .answer::before {
  content: "";
  display: block;
  width: calc(100% - 70px);
  height: 1px;
  border-top: 1px dashed #5a3c00;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .intern-faq__item .answer::before {
    width: calc(100% - 40px);
  }
}
.intern-faq__item .answer .icon {
  background: #ff783c;
  color: #fff;
}
.intern-faq__item .answer .cont {
  padding-top: 5px;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .answer .cont {
    font-size: 3.7333333333vw;
    line-height: 1.7;
  }
}
.intern-faq__item .answer .status {
  position: absolute;
  top: 49px;
  right: 23px;
  width: 23px;
  height: 23px;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .answer .status {
    top: 22px;
    width: 14px;
    height: 14px;
  }
}
.intern-faq__item .answer .status-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.intern-faq__item .answer .status .line-1,
.intern-faq__item .answer .status .line-2 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 4px;
  background: #272424;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 767px) {
  .intern-faq__item .answer .status .line-1,
  .intern-faq__item .answer .status .line-2 {
    width: 14px;
  }
}
.intern-faq__item .answer .status .line-1 {
  transform: translate(-50%, -50%);
}
.intern-faq__item .answer .status .line-2 {
  transform: translate(-50%, -50%) rotate(90deg);
}
.intern-faq__item .answer.open .status .line-2 {
  transform: translate(-50%, -50%) rotate(360deg);
}
.intern-faq__text {
  text-align: center;
  padding-top: 15px;
}
@media screen and (max-width: 767px) {
  .intern-faq__text {
    padding-top: 5px;
    font-size: 4vw;
  }
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.access-sect {
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .access-sect {
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.access-sect .sect-inner {
  max-width: 970px;
}
.access-sect .access-route {
  color: #654500;
  margin-bottom: 100px;
}
.access-sect .access-route__row {
  display: grid;
  grid-template-columns: 270px 80px 270px 150px 200px;
  align-items: center;
}
.access-sect .access-route__row:not(:first-child) {
  margin-top: 40px;
}
.access-sect .access-route__box {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  padding: 10px 15px;
  border: 2px solid #654500;
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
  text-align: center;
}
.access-sect .access-route__box p {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.65;
}
.access-sect .access-route__box i {
  margin-right: 6px;
  font-size: 18px;
}
.access-sect .access-route__box span {
  white-space: nowrap;
}
.access-sect .access-route__line {
  height: 2px;
  background: #654500;
}
.access-sect .access-route__walk {
  position: relative;
  height: 70px;
}
.access-sect .access-route__walk p {
  position: absolute;
  left: 22px;
  bottom: -1px;
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}
.access-sect .access-route__walk i {
  margin-right: 5px;
  font-size: 18px;
}
.access-sect .access-route__arrow {
  position: absolute;
  top: 50%;
  left: 0;
  width: calc(100% - 12px);
  height: 2px;
  background: #654500;
  transform: translateY(-50%);
}
.access-sect .access-route__arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 11px;
  height: 11px;
  border-top: 2px solid #654500;
  border-right: 2px solid #654500;
  transform: translateY(-50%) rotate(45deg);
}
.access-sect .access-route__goal {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  padding: 10px;
  border-radius: 10px;
  background: #654500;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  box-sizing: border-box;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .access-sect .access-route {
    margin-bottom: 50px;
  }
  .access-sect .access-route__row {
    display: flex;
    flex-direction: column;
  }
  .access-sect .access-route__row + .access-sect .access-route__row {
    margin-top: 50px;
  }
  .access-sect .access-route__box, .access-sect .access-route__goal {
    width: 100%;
    min-height: 65px;
  }
  .access-sect .access-route__line {
    width: 2px;
    height: 25px;
    background: #654500;
  }
  .access-sect .access-route__walk {
    width: 100%;
    height: 75px;
  }
  .access-sect .access-route__walk::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 2px;
    height: 28px;
    background: #654500;
    transform: translateX(-50%);
  }
  .access-sect .access-route__walk p {
    left: 50%;
    bottom: 6px;
    transform: translateX(-50%);
  }
  .access-sect .access-route__arrow {
    top: 24px;
    left: 50%;
    width: 2px;
    height: 18px;
    transform: translateX(-50%);
    background: #654500;
  }
  .access-sect .access-route__arrow::after {
    top: auto;
    right: auto;
    bottom: -1px;
    left: 50%;
    width: 8px;
    height: 8px;
    transform: translateX(-50%) rotate(135deg);
  }
}
.access-sect__map iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 970/674;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.hotline-sect {
  padding-bottom: 112px;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .hotline-sect {
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.hotline-sect::before {
  content: "";
  display: block;
  width: 100%;
  height: 800px;
  background: #fff8d9;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .hotline-sect::before {
    height: 300vw;
  }
}
.hotline-sect::after {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  bottom: 800px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .hotline-sect::after {
    bottom: 300vw;
    width: 100%;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.hotline-sect .sect-inner {
  position: relative;
}
.hotline-sect .sect-inner::before {
  content: "";
  display: block;
  width: 110.538px;
  height: 128.6642px;
  background: url(../images/common/orn-17.svg) no-repeat center/contain;
  position: absolute;
  right: -50px;
  bottom: 415px;
}
@media screen and (max-width: 767px) {
  .hotline-sect .sect-inner::before {
    display: none;
  }
}
.hotline-sect .sect-inner::after {
  content: "";
  display: block;
  width: 99.7026px;
  height: 99.7025px;
  background: url(../images/common/orn-18.svg) no-repeat center/contain;
  position: absolute;
  left: -40px;
  bottom: -30px;
}
@media screen and (max-width: 767px) {
  .hotline-sect .sect-inner::after {
    display: none;
  }
}
.hotline-sect__list {
  display: flex;
  gap: 30px;
  margin-bottom: 120px;
}
@media screen and (max-width: 767px) {
  .hotline-sect__list {
    flex-direction: column;
    padding: 0 5vw;
    gap: 20px;
    margin-bottom: 40px;
  }
}
.hotline-sect__item {
  flex: 1;
}
.hotline-sect__box {
  background: #fff;
  border-radius: 30px;
  padding: 110px 70px 50px;
  position: relative;
  max-width: 970px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .hotline-sect__box {
    padding: 60px 5vw 40px;
    border-radius: 20px;
  }
}
.hotline-sect__box::before {
  content: "";
  display: block;
  width: 124.9718px;
  height: 77.6757px;
  background: url(../images/common/orn-flag-left.svg) no-repeat center/contain;
  position: absolute;
  left: -10px;
  top: -10px;
}
@media screen and (max-width: 767px) {
  .hotline-sect__box::before {
    width: 20vw;
    height: 12.4vw;
    left: 0px;
    top: 0px;
  }
}
.hotline-sect__box::after {
  content: "";
  display: block;
  width: 124.9718px;
  height: 77.6757px;
  background: url(../images/common/orn-flag-right.svg) no-repeat center/contain;
  position: absolute;
  right: -10px;
  top: -10px;
}
@media screen and (max-width: 767px) {
  .hotline-sect__box::after {
    width: 20vw;
    height: 12.4vw;
    right: 0px;
    top: 0px;
  }
}
.hotline-sect__box .title {
  font-size: 20px;
  background: #46c864;
  color: #fff;
  text-align: center;
  border-radius: 20px;
  font-size: 24px;
  position: absolute;
  left: 50%;
  top: -60px;
  transform: translate(-50%, 0);
  width: 630px;
  height: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .hotline-sect__box .title {
    font-size: 4vw;
    position: static;
    width: 100%;
    height: auto;
    transform: translate(0, 0);
    padding: 10px;
    margin-bottom: 20px;
  }
}
.hotline-sect__box .title::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 25px solid transparent;
  border-right: 25px solid transparent;
  border-top: 20px solid #46c864;
  border-bottom: 0;
  position: absolute;
  left: 50%;
  bottom: -20px;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  .hotline-sect__box .title::before {
    border-left: 13px solid transparent;
    border-right: 13px solid transparent;
    border-top: 10px solid #46c864;
    bottom: -10px;
  }
}
.hotline-sect__box .flex {
  position: relative;
}
.hotline-sect__box .illust {
  position: absolute;
  left: -18px;
  top: 0;
}
@media screen and (max-width: 767px) {
  .hotline-sect__box .illust {
    left: 0;
    width: 28vw;
  }
}
.hotline-sect__box .illust img {
  width: 165px;
}
.hotline-sect__box .text .title-2 {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .hotline-sect__box .text .title-2 {
    font-size: 4vw;
    padding-top: 3vw;
    padding-left: 31vw;
    margin: 0 0 3vw;
  }
}
.hotline-sect__box .contact-set {
  text-align: center;
  max-width: 470px;
  padding-top: 10px;
  margin: 0 auto;
}
.hotline-sect__box .contact-set .name {
  font-weight: bold;
  margin-bottom: 12px;
}
.hotline-sect__box .contact-set .name span {
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .hotline-sect__box .contact-set .name span {
    display: block;
  }
}
.hotline-sect__box .contact-set .btn a {
  display: block;
}
.hotline-sect__box .contact-set .time {
  font-size: 20px;
  margin-top: 12px;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.about-intro {
  text-align: center;
  position: relative;
  padding-top: 50px;
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .about-intro {
    text-align: left;
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.about-intro .sect-inner {
  position: relative;
}
.about-intro .sect-inner::before {
  content: "";
  display: block;
  width: 156.2234px;
  height: 84.8733px;
  background: url(../images/common/orn-14.svg) no-repeat center/contain;
  position: absolute;
  left: 80px;
  top: 325px;
}
@media screen and (max-width: 767px) {
  .about-intro .sect-inner::before {
    display: none;
  }
}
.about-intro .sect-inner::after {
  content: "";
  display: block;
  width: 152.8047px;
  height: 50.0116px;
  background: url(../images/common/orn-15.svg) no-repeat center/contain;
  position: absolute;
  left: -120px;
  top: -15px;
}
@media screen and (max-width: 767px) {
  .about-intro .sect-inner::after {
    display: none;
  }
}
.about-intro__lead {
  font-size: 24px;
  font-weight: bold;
  display: inline-block;
  position: relative;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .about-intro__lead {
    font-size: 5.3333333333vw;
    padding-left: 9.3333333333vw;
    margin-bottom: 30px;
  }
}
.about-intro__lead::before, .about-intro__lead::after {
  content: "";
  display: block;
  width: 100px;
  height: 170px;
  position: absolute;
  top: -20px;
}
.about-intro__lead::before {
  background: url(../images/top/about-lead-left.svg) no-repeat center/contain;
  left: -100px;
}
@media screen and (max-width: 767px) {
  .about-intro__lead::before {
    left: -2vw;
    top: -11vw;
    transform: rotate(40deg);
    width: 20vw;
    height: 26.6666666667vw;
  }
}
.about-intro__lead::after {
  background: url(../images/top/about-lead-right.svg) no-repeat center/contain;
  right: -100px;
}
@media screen and (max-width: 767px) {
  .about-intro__lead::after {
    display: none;
  }
}
.about-intro__body {
  text-align: left;
  max-width: 570px;
  margin: 0 auto;
  padding-top: 40px;
  position: relative;
}
.about-intro__body::before {
  content: "";
  display: block;
  width: 142.8875px;
  height: 128.6642px;
  background: url(../images/common/orn-3.svg) no-repeat center/contain;
  position: absolute;
  right: -180px;
  top: -16px;
}
@media screen and (max-width: 767px) {
  .about-intro__body::before {
    width: 21.3333333333vw;
    height: 19.2vw;
    right: auto;
    left: 0;
    top: -25vw;
  }
}
.about-intro__img {
  position: absolute;
}
@media screen and (max-width: 767px) {
  .about-intro__img {
    display: none;
  }
}
.about-intro__img-1 {
  left: -100px;
  top: 60px;
}
@media screen and (max-width: 767px) {
  .about-intro__img-1 {
    display: block;
    left: auto;
    right: -6vw;
    top: 27vw;
  }
}
.about-intro__img-1 img {
  width: 340px;
}
@media screen and (max-width: 767px) {
  .about-intro__img-1 img {
    width: 44.6666666667vw;
  }
}
.about-intro__img-2 {
  right: -60px;
  bottom: 30px;
}
.about-intro__img-2 img {
  width: 279px;
}

/* =========================== */
/* Scoped addition for the about page. */
.aoba-philosophy {
  --ap-green: #74c568;
  --ap-orange: #ef7e47;
  --ap-ink: #5b400c;
  box-sizing: border-box;
  background: #fff;
  color: var(--ap-ink);
  padding: 76px 24px 86px;
  font-family: "Zen Maru Gothic", "Yu Gothic", Meiryo, sans-serif;
  font-size: 17px;
  line-height: 2;
  position: relative;
  isolation: isolate;
}

.aoba-philosophy * {
  box-sizing: border-box;
}

.aoba-philosophy__inner {
  max-width: 1100px;
  margin: 0 auto;
}

.aoba-philosophy__title {
  margin: 0 auto 50px;
  padding: 0 0 23px;
  text-align: center;
  background: url("../images/about/heading-line.svg") center bottom/290px auto no-repeat;
  line-height: 1;
}

.aoba-philosophy__title img {
  width: 330px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.aoba-philosophy__idea {
  display: flex;
  gap: 56px;
  align-items: center;
  justify-content: center;
  background: #fcf8df;
  border-radius: 46% 48% 42% 44%/24% 28% 26% 27%;
  padding: 36px 48px 42px;
  min-height: 244px;
  margin: 0 0 54px;
}

.aoba-philosophy__symbol {
  flex: none;
  text-align: center;
}

.aoba-philosophy__symbol h3 {
  margin: 0 0 2px;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.aoba-philosophy__symbol img {
  display: block;
  width: 104px;
  height: auto;
  margin: auto;
}

.aoba-philosophy__idea p {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 2.2;
  letter-spacing: 0.035em;
}

.aoba-philosophy__subheading {
  margin: 0 0 26px;
  font-size: 19px;
  text-align: center;
  letter-spacing: 0.16em;
  color: var(--ap-ink);
  font-weight: 700;
}

.aoba-philosophy__policies {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.aoba-philosophy__policies li {
  margin: 0;
  padding: 30px 30px 30px 26px;
  border-radius: 26px;
  background: #eef8ef;
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.aoba-philosophy__policies li:nth-child(4n+2),
.aoba-philosophy__policies li:nth-child(4n+3) {
  background: #fcf2ec;
}

.aoba-philosophy__number {
  flex: none;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  color: #639d56;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  margin-top: 3px;
}

.aoba-philosophy__policies li:nth-child(4n+2) .aoba-philosophy__number,
.aoba-philosophy__policies li:nth-child(4n+3) .aoba-philosophy__number {
  color: #d77640;
}

.aoba-philosophy__policies p {
  margin: 0;
  font-size: 16px;
  line-height: 2;
  font-weight: 500;
}

@media (max-width: 767px) {
  .aoba-philosophy {
    padding: 48px 20px 56px;
  }
  .aoba-philosophy__title {
    margin-bottom: 30px;
    background-size: 230px auto;
  }
  .aoba-philosophy__title img {
    width: 270px;
  }
  .aoba-philosophy__idea {
    flex-direction: column;
    gap: 14px;
    padding: 28px 22px 32px;
    border-radius: 36px;
    margin-bottom: 36px;
  }
  .aoba-philosophy__symbol img {
    width: 76px;
  }
  .aoba-philosophy__idea p {
    font-size: 17px;
    text-align: center;
    line-height: 2;
  }
  .aoba-philosophy__desktop-break {
    display: none;
  }
  .aoba-philosophy__policies {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .aoba-philosophy__policies li {
    padding: 24px 20px;
    gap: 14px;
    border-radius: 22px;
  }
  .aoba-philosophy__number {
    width: 36px;
    height: 36px;
    font-size: 16px;
  }
  .aoba-philosophy__policies p {
    font-size: 16px;
  }
}
/* Match the existing about-intro -> about-point transition. */
.aoba-philosophy {
  background: #ecf9ef;
  padding: 80px 5vw 55px;
  margin-top: 30px;
  isolation: auto;
}

.aoba-philosophy:before {
  content: "";
  position: absolute;
  top: -30px;
  left: 0;
  width: 100%;
  height: 31px;
  background: url("../images/about/green-wave-top.svg") repeat-x center top/auto 30px;
  pointer-events: none;
}

.aoba-philosophy__inner {
  position: relative;
  max-width: 1200px;
}

.aoba-philosophy__inner:before,
.aoba-philosophy__inner:after {
  content: "";
  position: absolute;
  background: url("../images/about/orn-1.svg") center/contain no-repeat;
  width: 112px;
  height: 80px;
  pointer-events: none;
}

.aoba-philosophy__inner:before {
  top: 5px;
  left: 12px;
  transform: rotate(-8deg);
}

.aoba-philosophy__inner:after {
  right: -10px;
  bottom: -27px;
  transform: rotate(155deg);
  width: 85px;
  height: 60px;
}

.aoba-philosophy__title {
  margin-bottom: 48px;
}

.aoba-philosophy__idea {
  max-width: 1040px;
  margin: 0 auto 58px;
  padding: 38px 54px;
  gap: 56px;
  background: #fff;
  min-height: 245px;
  border-radius: 47% 43% 46% 42%/25% 28% 26% 30%;
}

.aoba-philosophy__idea p {
  font-size: 20px;
  line-height: 2.2;
}

.aoba-philosophy__subheading {
  margin-bottom: 30px;
}

.aoba-philosophy__policies {
  gap: 30px;
}

.aoba-philosophy__policies li,
.aoba-philosophy__policies li:nth-child(4n+2),
.aoba-philosophy__policies li:nth-child(4n+3) {
  background: #fff;
  border-radius: 30px;
  padding: 30px;
  gap: 22px;
}

.aoba-philosophy__number,
.aoba-philosophy__policies li:nth-child(4n+2) .aoba-philosophy__number,
.aoba-philosophy__policies li:nth-child(4n+3) .aoba-philosophy__number {
  background: #ecf9ef;
  color: #669f54;
  width: 48px;
  height: 48px;
}

.aoba-philosophy__policies p {
  font-size: 18px;
  line-height: 2;
  font-weight: 500;
}

/* The following existing green area continues without a second wave. */
.aoba-philosophy + .about-point {
  padding-top: 35px;
}

.aoba-philosophy + .about-point:before {
  display: none;
}

@media (max-width: 767px) {
  .aoba-philosophy {
    padding: 48px 5vw 40px;
    margin-top: 20px;
  }
  .aoba-philosophy:before {
    top: -20px;
    height: 21px;
    background-size: auto 20px;
  }
  .aoba-philosophy__inner:before {
    width: 48px;
    height: 34px;
    left: 0;
    top: -25px;
  }
  .aoba-philosophy__inner:after {
    width: 48px;
    height: 34px;
    right: 0;
    bottom: -30px;
  }
  .aoba-philosophy__title {
    margin-bottom: 30px;
  }
  .aoba-philosophy__idea {
    padding: 30px 24px;
    gap: 16px;
    border-radius: 40px 48px 38px 45px;
    margin-bottom: 36px;
    min-height: 0;
  }
  .aoba-philosophy__idea p {
    font-size: 17px;
    line-height: 2;
  }
  .aoba-philosophy__policies {
    gap: 20px;
  }
  .aoba-philosophy__policies li,
  .aoba-philosophy__policies li:nth-child(4n+2),
  .aoba-philosophy__policies li:nth-child(4n+3) {
    padding: 25px 20px;
    gap: 14px;
    border-radius: 25px;
  }
  .aoba-philosophy__number,
  .aoba-philosophy__policies li:nth-child(4n+2) .aoba-philosophy__number,
  .aoba-philosophy__policies li:nth-child(4n+3) .aoba-philosophy__number {
    width: 36px;
    height: 36px;
  }
  .aoba-philosophy__policies p {
    font-size: 16px;
  }
  .aoba-philosophy + .about-point {
    padding-top: 30px;
  }
}
/* =========================== */
.about-point {
  background: #ecf9ef;
  position: relative;
  padding: 80px 0 130px;
}
@media screen and (max-width: 767px) {
  .about-point {
    padding: 60px 5vw;
  }
}
.about-point::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/green-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .about-point::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/green-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.about-point__list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
.about-point__item {
  background: #fff;
  border-radius: 30px;
  padding: 30px;
  width: calc((100% - 30px) / 2);
  display: flex;
  align-items: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .about-point__item {
    width: 100%;
    flex-direction: column;
    gap: 10px;
  }
}
.about-point__item .badge {
  flex: 0 0 200px;
}
@media screen and (max-width: 767px) {
  .about-point__item .badge {
    width: 200px;
  }
}
.about-point__item .text .title {
  font-size: 30px;
  margin: 0;
}
@media screen and (max-width: 767px) {
  .about-point__item .text .title {
    font-size: 6.6666666667vw;
  }
}
.about-point__item .text p {
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .about-point__item .text p {
    font-size: 4.6666666667vw;
  }
}
.about-point__item-2 .text p {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .about-point__item-2 .text p {
    font-size: 4vw;
  }
}

/* =========================== */
.about-facility {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-facility {
    padding: 70px 5vw;
  }
}
.about-facility::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .about-facility::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.about-facility .sect-inner {
  position: relative;
}
.about-facility .sect-inner::before {
  content: "";
  display: block;
  width: 150px;
  height: 105.1991px;
  background: url(../images/common/orn-1.svg) no-repeat center/contain;
  position: absolute;
  right: -90px;
  top: -140px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .about-facility .sect-inner::before {
    display: none;
  }
}
.about-facility__unit-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
  gap: 60px 30px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .about-facility__unit-wrap {
    display: flex;
    flex-direction: column;
    gap: 40px;
  }
}
.about-facility__unit {
  text-align: center;
}
.about-facility__unit .img img {
  border-radius: 30px;
}
.about-facility__unit .text {
  padding-top: 15px;
  font-size: 20px;
  font-weight: bold;
  color: #000;
}
@media screen and (max-width: 767px) {
  .about-facility__unit .text {
    font-size: 4vw;
  }
}
.about-facility__unit-1 {
  grid-area: 1/1/2/3;
}
.about-facility table {
  width: 100%;
  max-width: 970px;
  margin: 0 auto;
}
.about-facility table th,
.about-facility table td {
  border: 1px solid #46c864;
  text-align: center;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .about-facility table th,
  .about-facility table td {
    line-height: 1.5;
    vertical-align: middle;
  }
}
.about-facility table th {
  background: #ecf9ef;
}

/* =========================== */
.about-staff {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .about-staff {
    padding: 70px 5vw;
  }
}
.about-staff::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .about-staff::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.about-staff .sect-inner {
  position: relative;
}
.about-staff .sect-inner::before {
  content: "";
  display: block;
  width: 150px;
  height: 105.1991px;
  background: url(../images/common/orn-8.svg) no-repeat center/contain;
  position: absolute;
  left: -100px;
  top: -155px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .about-staff .sect-inner::before {
    display: none;
  }
}
.about-staff .sect-inner::after {
  /*
  content: "";
  display: block;
  width: 111.0473px;
  height: 90.4617px;
  background: url(../images/common/orn-19.svg) no-repeat center / contain;
  position: absolute;
  right: 170px;
  bottom: 55px;
  */
}
@media screen and (max-width: 767px) {
  .about-staff .sect-inner::after {
    display: none;
  }
}
.about-staff .c-title {
  margin-bottom: 70px;
  text-align: center;
}
.about-staff .c-title img {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .about-staff .c-title {
    margin-bottom: 45px;
  }
}
.about-staff__summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .about-staff__summary {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.about-staff__summary-item {
  display: flex;
  overflow: hidden;
  flex-direction: column;
  width: 100%;
  min-width: 0;
  border-radius: 26px;
  background: #fff;
}
.about-staff__summary-item h3 {
  display: flex;
  flex: 0 0 86px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  box-sizing: border-box;
  margin: 0;
  padding: 14px 20px;
  background: #61c36a;
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.about-staff__summary-item h3 span {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 500;
}
.about-staff__summary-item dl {
  display: flex;
  flex: 1;
  flex-direction: column;
  margin: 0;
}
.about-staff__summary-item dl > div {
  display: grid;
  flex: 1;
  grid-template-columns: 38% 62%;
  align-items: center;
  box-sizing: border-box;
  min-height: 68px;
  padding: 13px 24px;
}
.about-staff__summary-item dl > div:nth-child(even) {
  background: #edf7ef;
}
.about-staff__summary-item dl dt {
  color: #60c36a;
  font-weight: 700;
  line-height: 1.5;
}
.about-staff__summary-item dl dd {
  margin: 0;
  font-weight: 600;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .about-staff__summary-item {
    border-radius: 16px;
  }
  .about-staff__summary-item h3 {
    flex-basis: auto;
    min-height: 70px;
    font-size: 18px;
  }
  .about-staff__summary-item h3 span {
    font-size: 12px;
  }
  .about-staff__summary-item dl > div {
    grid-template-columns: 110px 1fr;
    min-height: auto;
    padding: 14px 16px;
  }
}
.about-staff__block {
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .about-staff__block {
    margin-top: 70px;
  }
}
.about-staff__heading {
  margin-bottom: 35px;
  text-align: center;
}
.about-staff__heading h3 {
  text-align: center;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .about-staff__heading h3 {
    margin-bottom: 0px;
  }
}
.about-staff__heading h3 span {
  font-size: 24px;
  color: #46c864;
  padding-bottom: 15px;
  text-align: center;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .about-staff__heading h3 span {
    font-size: 6.6666666667vw;
  }
}
.about-staff__heading h3 span::before {
  content: "";
  display: block;
  width: 281px;
  height: 5px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.about-staff__heading p {
  margin: 15px 0 0;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .about-staff__heading h3 {
    font-size: 20px;
  }
}
.about-staff__table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
.about-staff__table th,
.about-staff__table td {
  box-sizing: border-box;
  padding: 14px 12px;
  border: 1px solid #dbe8d9;
  vertical-align: middle;
}
.about-staff__table th {
  font-weight: 700;
}
.about-staff__table tbody tr:nth-child(even) {
  background: #f1f6f1;
}
.about-staff__table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.about-staff__children {
  width: 100%;
}
.about-staff__table--children {
  width: 100%;
  min-width: 1100px;
  border-collapse: collapse;
  table-layout: fixed;
  background: transparent;
  color: #5a3a00;
  font-weight: 700;
  text-align: center;
}
.about-staff__table--children th,
.about-staff__table--children td {
  box-sizing: border-box;
  padding: 8px 5px;
  border: 1px solid #a5dfae;
  background: #fff;
  vertical-align: middle;
  text-align: center;
}
.about-staff__table--children th.tar,
.about-staff__table--children td.tar {
  text-align: right;
  padding-right: 15px;
}
.about-staff__table--children {
  /*
  	1列目：施設名
  	2列目：学年 / 男 / 女 / 計 / 館計
  */
}
.about-staff__table--children .facility,
.about-staff__table--children .facility-empty {
  width: 100px;
  text-align: center;
}
.about-staff__table--children .label {
  width: 55px;
  text-align: center;
}
.about-staff__table--children thead th {
  height: 50px;
  border-color: #fff9dc;
  background: #5a3a00;
  color: #fff;
  font-size: 15px;
  text-align: center;
}
.about-staff__table--children thead .blank {
  border: 0;
  background: transparent;
  width: 100px;
}
.about-staff__table--children .aoba th,
.about-staff__table--children .aoba td {
  border-color: #a7dfae;
}
.about-staff__table--children .aoba .label {
  background: #fff;
  color: #39c95e;
}
.about-staff__table--children .aoba:first-of-type th:not(.facility),
.about-staff__table--children .aoba:first-of-type td {
  background: #eff9f0;
}
.about-staff__table--children .aoba .facility {
  background: #45c967;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
}
.about-staff__table--children .aoba-total th,
.about-staff__table--children .aoba-total td {
  background: #fff;
  font-weight: 700;
}
.about-staff__table--children .wakaba th,
.about-staff__table--children .wakaba td {
  border-color: #6fd6df;
}
.about-staff__table--children .wakaba .label {
  background: #fff;
  color: #00bec8;
}
.about-staff__table--children .wakaba:nth-of-type(6) th:not(.facility),
.about-staff__table--children .wakaba:nth-of-type(6) td {
  background: #e6f8fa;
}
.about-staff__table--children .wakaba .facility {
  background: #0bc1c9;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
}
.about-staff__table--children .wakaba-total th,
.about-staff__table--children .wakaba-total td {
  background: #fff;
  font-weight: 700;
}
.about-staff__table--children .both-total .facility-empty {
  border: 0;
  background: transparent;
}
.about-staff__table--children .both-total th,
.about-staff__table--children .both-total td {
  border-color: #f3b69e;
  background: #fff0e9;
  font-weight: 700;
}
.about-staff__table--children .both-total .label {
  color: #f17455;
}
@media screen and (max-width: 767px) {
  .about-staff__table--children {
    min-width: 1000px;
  }
}
.about-staff__bottom {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 30px;
  width: 100%;
  align-items: start;
}
@media screen and (max-width: 767px) {
  .about-staff__bottom {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.about-staff__bottom .about-staff__table th,
.about-staff__bottom .about-staff__table td {
  padding: 9px 12px;
}
.about-staff__bottom > .about-staff__block {
  width: 100%;
  min-width: 0;
}
.about-staff__composition .about-staff__table {
  width: 100%;
}
.about-staff__composition .about-staff__table thead th {
  text-align: center;
}
.about-staff__composition .about-staff__table thead th:first-child {
  width: 54%;
  background: #594000;
  color: #fff;
}
.about-staff__composition .about-staff__table thead th:nth-child(2) {
  width: 23%;
  background: #61c36a;
  color: #fff;
}
.about-staff__composition .about-staff__table thead th:nth-child(3) {
  width: 23%;
  background: #50bec6;
  color: #fff;
}
.about-staff__composition .about-staff__table tbody th,
.about-staff__composition .about-staff__table tbody td {
  height: 50px;
  border-color: #fff8d9;
}
.about-staff__composition .about-staff__table tbody th {
  text-align: left;
}
.about-staff__composition .about-staff__table tbody td {
  text-align: center;
}
.about-staff__composition .about-staff__table tbody tr:nth-child(even) th {
  background: #f7f5f2;
}
.about-staff__composition .about-staff__table tbody tr:nth-child(even) td:nth-child(2) {
  background: #ecf9ef;
}
.about-staff__composition .about-staff__table tbody tr:nth-child(even) td:nth-child(3) {
  background: #e5f9f9;
}
.about-staff__composition .about-staff__table tfoot th,
.about-staff__composition .about-staff__table tfoot td {
  background: #fff;
  font-weight: 700;
  border-color: #fff8d9;
}
.about-staff__composition .about-staff__table tfoot td {
  text-align: center;
}
.about-staff__consultation {
  width: 100%;
}
.about-staff__consultation-tables {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .about-staff__consultation-tables {
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
.about-staff__table--aoba, .about-staff__table--wakaba {
  width: 100%;
  margin: 0;
}
.about-staff__table--aoba thead, .about-staff__table--wakaba thead {
  color: #fff;
}
.about-staff__table--aoba thead th, .about-staff__table--wakaba thead th {
  text-align: center;
}
.about-staff__table--aoba thead th:first-child, .about-staff__table--wakaba thead th:first-child {
  width: 75%;
}
.about-staff__table--aoba thead th:last-child, .about-staff__table--wakaba thead th:last-child {
  width: 25%;
}
.about-staff__table--aoba tbody th,
.about-staff__table--aoba tbody td, .about-staff__table--wakaba tbody th,
.about-staff__table--wakaba tbody td {
  height: 50px;
}
.about-staff__table--aoba tbody th, .about-staff__table--wakaba tbody th {
  text-align: left;
}
.about-staff__table--aoba tbody td, .about-staff__table--wakaba tbody td {
  text-align: center;
}
.about-staff__table--aoba tfoot td, .about-staff__table--wakaba tfoot td {
  background: #fff;
  font-weight: 700;
  text-align: right;
}
.about-staff__table--aoba thead {
  background: #61c36a;
}
.about-staff__table--aoba th,
.about-staff__table--aoba td {
  border-color: #cbe4cb;
}
.about-staff__table--aoba tbody tr:nth-child(even) {
  background: #ecf9ef;
}
.about-staff__table--aoba tbody th,
.about-staff__table--aoba tbody td {
  border-color: #fff;
}
.about-staff__table--aoba tfoot th,
.about-staff__table--aoba tfoot td {
  border-color: #fff;
}
.about-staff__table--wakaba thead {
  background: #50bec6;
}
.about-staff__table--wakaba th,
.about-staff__table--wakaba td {
  border-color: #b6e2e6;
}
.about-staff__table--wakaba tbody tr:nth-child(even) {
  background: #e5f9f9;
}
.about-staff__table--wakaba tbody th,
.about-staff__table--wakaba tbody td {
  border-color: #fff;
}
.about-staff__table--wakaba tfoot th,
.about-staff__table--wakaba tfoot td {
  border-color: #fff;
}

/* =========================== */
.about-history {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .about-history {
    padding: 70px 5vw;
  }
}
.about-history::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .about-history::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.about-history .sect-inner {
  position: relative;
  max-width: 970px;
}
.about-history .sect-inner::after {
  content: "";
  display: block;
  width: 200px;
  height: 170.5313px;
  background: url(../images/common/orn-20.svg) no-repeat center/contain;
  position: absolute;
  right: -130px;
  top: -180px;
}
@media screen and (max-width: 767px) {
  .about-history .sect-inner::after {
    display: none;
  }
}
.about-history__list {
  position: relative;
}
.about-history__list::before {
  position: absolute;
  top: 31px;
  bottom: 35px;
  left: 250px;
  width: 2px;
  background: #f47b48;
  content: "";
}
.about-history__item {
  position: relative;
  display: grid;
  grid-template-columns: 280px 1fr;
}
.about-history__item::before {
  position: absolute;
  z-index: 2;
  top: 31px;
  left: 251px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  transform: translateX(-50%);
  background: #f47b48;
  content: "";
}
.about-history__year {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding: 22px 0;
  padding-right: 30px;
  border-bottom: 1px dotted #9b7a4c;
}
.about-history__year-western {
  color: #f47b48;
  font-size: 30px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
}
.about-history__year-japanese {
  padding-top: 2px;
  color: #f47b48;
  font-weight: 700;
  white-space: nowrap;
}
.about-history__events {
  min-width: 0;
}
.about-history__event {
  display: grid;
  grid-template-columns: 75px 1fr;
  border-bottom: 1px dotted #9b7a4c;
}
.about-history__month {
  padding: 25px 0;
  padding-right: 10px;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
.about-history__text {
  padding: 25px 0;
  font-weight: 600;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .about-history__list {
    padding-left: 20px;
  }
  .about-history__list::before {
    top: 25px;
    bottom: 20px;
    left: 5px;
  }
  .about-history__item {
    display: block;
  }
  .about-history__item::before {
    top: 23px;
    left: -14px;
    width: 12px;
    height: 12px;
  }
  .about-history__year {
    gap: 15px;
    padding: 15px 0 0;
    padding-left: 15px;
    border-bottom: 0;
  }
  .about-history__year-western {
    font-size: 24px;
  }
  .about-history__year-japanese {
    padding-top: 4px;
    font-size: 12px;
  }
  .about-history__events {
    padding-left: 15px;
  }
  .about-history__event {
    grid-template-columns: 48px 1fr;
    min-height: 0;
  }
  .about-history__month {
    padding: 13px 8px 13px 0;
    font-size: 12px;
    text-align: left;
  }
  .about-history__text {
    padding: 13px 0;
    font-size: 12px;
    line-height: 1.8;
  }
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.an-intro {
  text-align: center;
  position: relative;
  padding-top: 50px;
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .an-intro {
    text-align: left;
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.an-intro .sect-inner {
  position: relative;
}
.an-intro .sect-inner::before {
  content: "";
  display: block;
  width: 156.2234px;
  height: 84.8733px;
  background: url(../images/common/orn-14.svg) no-repeat center/contain;
  position: absolute;
  right: 50px;
  top: -20px;
}
@media screen and (max-width: 767px) {
  .an-intro .sect-inner::before {
    display: none;
  }
}
.an-intro .sect-inner::after {
  content: "";
  display: block;
  width: 152.8047px;
  height: 50.0116px;
  background: url(../images/common/orn-15.svg) no-repeat center/contain;
  position: absolute;
  left: -20px;
  bottom: -15px;
}
@media screen and (max-width: 767px) {
  .an-intro .sect-inner::after {
    display: none;
  }
}
.an-intro__body {
  position: relative;
}

/* =========================== */
.an-latest {
  background: #fff8d9;
  position: relative;
  padding: 96px 0;
  padding-bottom: calc(3vw + 100px);
}
@media screen and (max-width: 767px) {
  .an-latest {
    padding: 50px 5vw 70px;
  }
}
.an-latest::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/yellow-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .an-latest::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/yellow-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.an-latest .sect-inner {
  position: relative;
  max-width: 970px;
}
.an-latest .sect-inner::before {
  content: "";
  display: block;
  width: 150px;
  height: 105.1991px;
  background: url(../images/common/orn-1.svg) no-repeat center/contain;
  position: absolute;
  right: -150px;
  top: -150px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .an-latest .sect-inner::before {
    display: none;
  }
}
.an-latest__title {
  font-size: 30px;
  color: #46c864;
  padding-bottom: 12px;
  margin-bottom: 60px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .an-latest__title {
    margin-bottom: 30px;
  }
}
.an-latest__title::before {
  content: "";
  display: block;
  width: 281px;
  height: 4px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.an-latest__img ul {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .an-latest__img ul {
    flex-direction: column;
    gap: 20px;
    padding: 0 5vw;
  }
}
.an-latest__img ul li {
  flex: 1;
}
.an-latest .link__btn {
  width: 370px;
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .an-latest .link__btn {
    width: 100%;
    padding: 0 5vw;
    margin-top: 30px;
  }
}

/* =========================== */
.link__btn a {
  display: flex;
  border-bottom: 1px dashed #5a3c00;
  align-items: center;
  padding: 12px 0;
  gap: 10px;
}
.link__btn a span.icon {
  line-height: 1;
}
.link__btn a span.icon.pdf img {
  width: 29px;
}
.link__btn a span.icon.link {
  margin-left: auto;
}
.link__btn a span.icon.link img {
  width: 16px;
}

/* =========================== */
.an-archive {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .an-archive {
    padding: 50px 5vw 70px;
  }
}
.an-archive::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .an-archive::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.an-archive .sect-inner {
  position: relative;
  max-width: 970px;
}
.an-archive .sect-inner::before {
  content: "";
  display: block;
  width: 150px;
  height: 105.1991px;
  background: url(../images/common/orn-8.svg) no-repeat center/contain;
  position: absolute;
  left: -150px;
  top: -150px;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .an-archive .sect-inner::before {
    display: none;
  }
}
.an-archive__btn > ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 30px;
}
.an-archive__btn > ul > li {
  width: calc((100% - 60px) / 3);
}
@media screen and (max-width: 767px) {
  .an-archive__btn > ul > li {
    width: 100%;
  }
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.link-sect {
  text-align: center;
  position: relative;
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .link-sect {
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.link-sect__list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .link-sect__list {
    gap: 20px;
  }
}
.link-sect__item {
  width: calc((100% - 60px) / 3);
}
@media screen and (max-width: 767px) {
  .link-sect__item {
    width: 100%;
  }
}
.link-sect__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  border: 1px solid #ac9d80;
  border-radius: 30px;
  height: 100px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .link-sect__item a {
    border-radius: 20px;
    background: #fff;
  }
}
.link-sect__item a .arrow {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
  line-height: 1;
  display: flex;
  align-items: center;
}
.link-sect__item a .arrow img {
  width: 7px;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.archive-blog {
  padding-bottom: 112px;
}
@media screen and (max-width: 767px) {
  .archive-blog {
    padding: 0 5vw;
    padding-bottom: 70px;
  }
}
.archive-blog__filter {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .archive-blog__filter {
    flex-direction: column;
    align-items: stretch;
    gap: 20px;
    margin-bottom: 40px;
  }
}
.archive-blog__filter .archive {
  display: flex;
  align-items: center;
  gap: 10px;
}
.archive-blog__filter .archive select {
  width: 200px;
  height: 40px;
  border-radius: 10px;
  padding: 0 15px;
}
.archive-blog__filter .category {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .archive-blog__filter .category {
    flex-direction: column;
    align-items: stretch;
  }
}
.archive-blog__filter .category .title {
  color: #46c864;
}
.archive-blog__filter .category ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .archive-blog__filter .category ul {
    gap: 5px;
  }
}
.archive-blog__filter .category ul li a {
  border: 1px solid #46c864;
  background: #fff;
  border-radius: 100vh;
  color: #46c864;
  display: block;
  padding: 2px 20px;
}
@media screen and (max-width: 767px) {
  .archive-blog__filter .category ul li a {
    font-size: 3.7333333333vw;
  }
}
.archive-blog__list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .archive-blog__list {
    gap: 20px;
  }
}
.archive-blog__item {
  width: calc((100% - 60px) / 3);
}
@media screen and (max-width: 767px) {
  .archive-blog__item {
    width: 100%;
  }
}
.archive-blog__item a {
  background: #fff;
  border-radius: 30px;
  padding: 20px;
  padding-bottom: 40px;
  display: block;
}
.archive-blog__item a .img {
  margin-bottom: 20px;
  width: 100%;
  height: auto;
  aspect-ratio: 330/200;
}
.archive-blog__item a .img img {
  border-radius: 20px;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.archive-blog__item a .flex {
  display: flex;
  gap: 20px;
}
.archive-blog__item a .flex .date {
  font-size: 13px;
}
.archive-blog__item a .flex .category ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.archive-blog__item a .flex .category ul li {
  border: 1px solid #46c864;
  background: #fff;
  border-radius: 100vh;
  color: #46c864;
  display: block;
  padding: 2px 10px;
  font-size: 12px;
  line-height: 1.5;
}

/* =========================== */
.single-blog {
  padding: 60px 5vw;
}
@media screen and (max-width: 767px) {
  .single-blog {
    padding: 0 5vw 30px;
  }
}
.single-blog .sect-inner {
  background: #fff;
  border-radius: 40px;
  padding: 80px 20px 100px;
}
@media screen and (max-width: 767px) {
  .single-blog .sect-inner {
    border-radius: 20px;
    padding: 30px 5vw 40px;
  }
}
.single-blog-inner {
  max-width: 770px;
  margin: 0 auto;
}
.single-blog__header {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 30px;
}
@media screen and (max-width: 767px) {
  .single-blog__header {
    gap: 10px;
  }
}
.single-blog__header .date {
  padding-top: 5px;
}
@media screen and (max-width: 767px) {
  .single-blog__header .date {
    padding-top: 0px;
  }
}
@media screen and (max-width: 767px) {
  .single-blog__header .category {
    padding-top: 3px;
  }
}
.single-blog__header .category ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.single-blog__header .category ul li {
  border: 1px solid #46c864;
  background: #fff;
  border-radius: 100vh;
  color: #46c864;
  display: block;
  padding: 8px 27px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .single-blog__header .category ul li {
    font-size: 3.3333333333vw;
    padding: 3px 10px;
  }
}
.single-blog__header .title {
  width: 100%;
  color: #46c864;
  font-size: 30px;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .single-blog__header .title {
    font-size: 5.3333333333vw;
    margin-bottom: 20px;
    margin-top: 10px;
  }
}
.single-blog__cont figure img {
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .single-blog__cont figure img {
    border-radius: 20px;
  }
}
.single-blog__cont h2 {
  color: #46c864;
  font-size: 24px;
  border-bottom: 1px dashed #46c864;
  padding-bottom: 10px;
  margin-top: 3em;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .single-blog__cont h2 {
    font-size: 4.8vw;
  }
}
.single-blog__cont h3 {
  font-size: 20px;
  margin-top: 3em;
  margin-bottom: 30px;
  padding-left: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .single-blog__cont h3 {
    font-size: 4.2666666667vw;
  }
}
.single-blog__cont h3::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 8.5px solid transparent;
  border-bottom: 8.5px solid transparent;
  border-left: 9px solid #46c864;
  position: absolute;
  left: 0;
  top: 8px;
}
@media screen and (max-width: 767px) {
  .single-blog__cont h3::before {
    top: 4px;
  }
}
.single-blog__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .single-blog__nav {
    flex-wrap: wrap;
    gap: 10px 20px;
    margin-top: 70px;
  }
}
@media screen and (max-width: 767px) {
  .single-blog__nav .back {
    order: 3;
    width: 100%;
  }
}
.single-blog__nav .back a {
  background: #46c864;
  color: #fff;
  border-radius: 100vh;
  display: block;
  padding: 3px 30px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .single-blog__nav .back a {
    width: 80%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .single-blog__nav .prev,
  .single-blog__nav .next {
    width: calc((100% - 20px) / 2);
  }
}
.single-blog__nav .prev a,
.single-blog__nav .next a {
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .single-blog__nav .prev {
    order: 1;
    text-align: right;
  }
}
.single-blog__nav .prev a {
  position: relative;
  padding-left: 12px;
}
.single-blog__nav .prev a::before {
  content: "";
  background: url(../images/blog/arrow-left.svg) no-repeat center/contain;
  width: 6px;
  height: 10px;
  position: absolute;
  left: 0;
  top: 5px;
}
@media screen and (max-width: 767px) {
  .single-blog__nav .next {
    order: 2;
  }
}
.single-blog__nav .next a {
  position: relative;
  padding-right: 12px;
}
.single-blog__nav .next a::before {
  content: "";
  background: url(../images/blog/arrow-right.svg) no-repeat center/contain;
  width: 6px;
  height: 10px;
  position: absolute;
  right: 0;
  top: 5px;
}
.single-blog__filter {
  max-width: 1170px;
  margin: 0 auto;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .single-blog__filter {
    margin-top: 30px;
  }
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.faq-sect {
  padding: 0 0 100px;
}
@media screen and (max-width: 767px) {
  .faq-sect {
    padding: 0px 5vw 20px;
  }
}
.faq-sect__lead {
  text-align: center;
  margin-bottom: 40px;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .faq-sect__lead {
    font-size: 4vw;
    margin-bottom: 25px;
  }
}
.faq-sect__nav {
  margin-bottom: 30px;
}
.faq-sect__nav ul {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .faq-sect__nav ul {
    flex-direction: column;
    gap: 10px;
  }
}
.faq-sect__nav ul > li {
  width: calc((100% - 60px) / 4);
}
@media screen and (max-width: 767px) {
  .faq-sect__nav ul > li {
    width: 100%;
  }
}
.faq-sect__nav ul > li a {
  border: 1px solid #46c864;
  color: #46c864;
  border-radius: 30px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
  padding-right: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .faq-sect__nav ul > li a {
    padding: 10px;
  }
}
.faq-sect__nav ul > li a::before {
  content: "";
  display: block;
  width: 14px;
  height: 9px;
  background: url(../images/common/arrow-down-green.svg) no-repeat center/contain;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translate(0, -50%);
}
.faq-sect__unit-wrap {
  max-width: 1040px;
  margin: 0 auto;
}
.faq-sect__unit {
  margin: 100px 0;
}
@media screen and (max-width: 767px) {
  .faq-sect__unit {
    margin: 70px 0;
  }
}
.faq-sect__unit .title {
  font-size: 24px;
  color: #46c864;
  padding-bottom: 12px;
  margin-bottom: 24px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .faq-sect__unit .title {
    font-size: 5.8666666667vw;
  }
}
.faq-sect__unit .title::before {
  content: "";
  display: block;
  width: 170px;
  height: 4px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}

/* =========================== */
.faq-contact {
  padding-top: 80px;
  padding-bottom: 120px;
  background: #fff;
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .faq-contact {
    padding: 60px 5vw;
  }
}
.faq-contact::before {
  content: "";
  display: block;
  width: 100%;
  height: 30px;
  background: url(../images/common/white-wave-top.svg) repeat-x center top/auto 100%;
  position: absolute;
  left: 0;
  top: -30px;
}
@media screen and (max-width: 767px) {
  .faq-contact::before {
    top: -4vw;
    height: 4vw;
    background: url(../images/common/white-wave-top-sp.svg) repeat-x center top/auto 100%;
  }
}
.faq-contact__title {
  font-size: 30px;
  color: #46c864;
  padding-bottom: 20px;
  margin-bottom: 24px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .faq-contact__title {
    font-size: 6.1333333333vw;
  }
}
.faq-contact__title::before {
  content: "";
  display: block;
  width: 170px;
  height: 4px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.faq-contact .l-header__btn {
  display: flex;
  justify-content: center;
}
.faq-contact .l-header__btn a {
  width: 470px;
  height: 70px;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .faq-contact .l-header__btn a {
    width: 100%;
    height: 60px;
    border-radius: 100vh;
    font-size: 5.3333333333vw;
  }
}
.faq-contact .l-header__btn a span {
  display: flex;
  justify-content: center;
  align-items: center;
}
.faq-contact .l-header__btn a span.icon {
  width: 26px;
}
@media screen and (max-width: 767px) {
  .faq-contact .l-header__btn a span.label {
    display: block;
  }
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.contact-lead {
  padding: 0 0 100px;
}
@media screen and (max-width: 767px) {
  .contact-lead {
    padding: 0px 5vw 70px;
  }
}
.contact-lead .sect-inner {
  max-width: 970px;
}
.contact-lead__lead {
  text-align: center;
  margin-bottom: 40px;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .contact-lead__lead {
    font-size: 4vw;
    margin-bottom: 25px;
  }
}
.contact-lead__title {
  font-size: 30px;
  color: #46c864;
  padding-bottom: 24px;
  margin-bottom: 40px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact-lead__title {
    font-size: 5.8666666667vw;
  }
}
.contact-lead__title::before {
  content: "";
  display: block;
  width: 170px;
  height: 4px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.contact-lead__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .contact-lead__grid {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
}
.contact-lead__box {
  border: 2px solid #5a3c00;
  border-radius: 30px;
  padding: 30px 40px;
  background: #fff8d9;
}
@media screen and (max-width: 767px) {
  .contact-lead__box {
    padding: 30px;
    border-radius: 20px;
  }
}
.contact-lead__box.aobagakuen {
  grid-area: 1/1/2/3;
}
.contact-lead__box.houjin {
  grid-area: 3/1/4/3;
}
.contact-lead__box .name {
  font-size: 28px;
  line-height: 1.5;
  margin-bottom: 6px;
}
@media screen and (max-width: 767px) {
  .contact-lead__box .name {
    font-size: 6.6666666667vw;
  }
}
.contact-lead__box .address,
.contact-lead__box .tel,
.contact-lead__box .fax {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .contact-lead__box .address,
  .contact-lead__box .tel,
  .contact-lead__box .fax {
    font-size: 4.2666666667vw;
  }
}
.contact-lead__box .tel {
  font-size: 18px;
}
.contact-lead__box .tel a {
  background: #ff783c;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100vh;
  gap: 10px;
  margin: 10px 0;
}
.contact-lead__box .tel a .icon {
  width: 30px;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .contact-lead__box .tel a .icon {
    width: 20px;
  }
}
.contact-lead__box .tel a .icon img {
  width: 100%;
}
.contact-lead__box .tel a .label {
  font-size: 34px;
}
@media screen and (max-width: 767px) {
  .contact-lead__box .tel a .label {
    font-size: 6.6666666667vw;
  }
}

/* =========================== */
.contact-form {
  padding: 0 0 100px;
}
@media screen and (max-width: 767px) {
  .contact-form {
    padding: 0px 5vw 70px;
  }
}
.contact-form .sect-inner {
  max-width: 970px;
}
.contact-form__lead {
  text-align: center;
  margin-bottom: 60px;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  .contact-form__lead {
    font-size: 4vw;
    margin-bottom: 25px;
  }
}
.contact-form__title {
  font-size: 30px;
  color: #46c864;
  padding-bottom: 24px;
  margin-bottom: 0px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact-form__title {
    font-size: 5.8666666667vw;
  }
}
.contact-form__title::before {
  content: "";
  display: block;
  width: 170px;
  height: 4px;
  background: url(../images/aoba/life-title-line.svg) repeat-x left bottom/500px auto;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.contact-form form {
  line-height: 1.8;
}
.contact-form form table {
  width: 100%;
  display: block;
  margin-bottom: 0;
}
.contact-form form table tbody,
.contact-form form table thead,
.contact-form form table tr,
.contact-form form table th,
.contact-form form table td {
  display: block;
  width: 100%;
}
.contact-form form table th,
.contact-form form table td {
  text-align: left;
}
.contact-form form p {
  margin: 0;
}
.contact-form form .form-item {
  display: flex;
}
@media screen and (max-width: 767px) {
  .contact-form form .form-item {
    flex-direction: column;
  }
}
.contact-form form th,
.contact-form form .form-item-label {
  font-weight: normal;
  position: relative;
  padding-top: 17px;
  font-weight: bold;
  flex: 0 0 260px;
}
@media screen and (max-width: 767px) {
  .contact-form form th,
  .contact-form form .form-item-label {
    padding-top: 0;
    padding-bottom: 15px;
    padding-left: 0;
    flex: auto;
  }
}
.contact-form form th .required,
.contact-form form th .option,
.contact-form form .form-item-label .required,
.contact-form form .form-item-label .option {
  color: #fff;
  background: #ff783c;
  font-size: 13px;
  padding: 1px 8px 2px;
  margin-right: 10px;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .contact-form form th .required,
  .contact-form form th .option,
  .contact-form form .form-item-label .required,
  .contact-form form .form-item-label .option {
    position: static;
  }
}
.contact-form form th .option,
.contact-form form .form-item-label .option {
  background: #919191;
}
.contact-form form th .note,
.contact-form form .form-item-label .note {
  font-size: 14px;
  font-weight: 400;
}
.contact-form form td,
.contact-form form .form-item-input {
  padding-bottom: 40px;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .contact-form form td,
  .contact-form form .form-item-input {
    padding-bottom: 30px;
  }
}
.contact-form form td input[type=text],
.contact-form form td input[type=email],
.contact-form form td input[type=tel],
.contact-form form td input[type=date],
.contact-form form td textarea,
.contact-form form td select,
.contact-form form .form-item-input input[type=text],
.contact-form form .form-item-input input[type=email],
.contact-form form .form-item-input input[type=tel],
.contact-form form .form-item-input input[type=date],
.contact-form form .form-item-input textarea,
.contact-form form .form-item-input select {
  background-color: #fff;
  border: 1px solid #ccc;
  width: 100%;
  padding: 17px;
  border-radius: 10px;
}
.contact-form form td select,
.contact-form form .form-item-input select {
  background-image: url(../images/common/select-down-2.svg);
  background-size: 18px auto;
}
.contact-form form td input[type=file],
.contact-form form .form-item-input input[type=file] {
  color: #5d5d5d;
}
.contact-form form td input.hasDatepicker,
.contact-form form td input[type=date],
.contact-form form .form-item-input input.hasDatepicker,
.contact-form form .form-item-input input[type=date] {
  width: auto;
  min-width: 403px;
  max-width: 100%;
  background-color: #fff;
  background-image: url(../images/form/calendar.svg);
  background-repeat: no-repeat;
  background-position: right 15px center;
  background-size: 19px auto;
}
@media screen and (max-width: 767px) {
  .contact-form form td input.hasDatepicker,
  .contact-form form td input[type=date],
  .contact-form form .form-item-input input.hasDatepicker,
  .contact-form form .form-item-input input[type=date] {
    min-width: 100%;
  }
}
.contact-form form td input.hasDatepicker::-webkit-calendar-picker-indicator,
.contact-form form td input[type=date]::-webkit-calendar-picker-indicator,
.contact-form form .form-item-input input.hasDatepicker::-webkit-calendar-picker-indicator,
.contact-form form .form-item-input input[type=date]::-webkit-calendar-picker-indicator {
  opacity: 0;
  cursor: pointer;
}
.contact-form form td ::-webkit-input-placeholder,
.contact-form form .form-item-input ::-webkit-input-placeholder {
  color: #ccc;
}
.contact-form form td :-ms-input-placeholder,
.contact-form form .form-item-input :-ms-input-placeholder {
  color: #ccc !important;
}
.contact-form form td ::-moz-placeholder,
.contact-form form .form-item-input ::-moz-placeholder {
  color: #ccc;
  opacity: 1;
}
.contact-form form td ::placeholder,
.contact-form form .form-item-input ::placeholder {
  color: #ccc;
  opacity: 1;
}
.contact-form form td input[type=radio],
.contact-form form .form-item-input input[type=radio] {
  display: none;
}
.contact-form form td input[type=radio] + .mwform-radio-field-text,
.contact-form form .form-item-input input[type=radio] + .mwform-radio-field-text {
  position: relative;
  padding-left: 34px;
}
.contact-form form td input[type=radio] + .mwform-radio-field-text::before,
.contact-form form .form-item-input input[type=radio] + .mwform-radio-field-text::before {
  position: absolute;
  content: "";
  display: block;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #5a3c00;
  left: 0;
  top: 0;
}
.contact-form form td input[type=radio] + .mwform-radio-field-text::after,
.contact-form form .form-item-input input[type=radio] + .mwform-radio-field-text::after {
  position: absolute;
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #000;
  left: 6px;
  top: 6px;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.contact-form form td input[type=radio]:checked + .mwform-radio-field-text::after,
.contact-form form .form-item-input input[type=radio]:checked + .mwform-radio-field-text::after {
  opacity: 1;
}
.contact-form form td textarea,
.contact-form form .form-item-input textarea {
  height: 250px;
}
.contact-form form td .zip-wrap,
.contact-form form td .zip-btn,
.contact-form form .form-item-input .zip-wrap,
.contact-form form .form-item-input .zip-btn {
  width: calc(50% - 10px);
  border-radius: 0;
}
@media screen and (max-width: 767px) {
  .contact-form form td .zip-wrap,
  .contact-form form td .zip-btn,
  .contact-form form .form-item-input .zip-wrap,
  .contact-form form .form-item-input .zip-btn {
    width: calc(50% - 4px);
  }
}
@media screen and (max-width: 767px) {
  .contact-form form td .zip-wrap,
  .contact-form form .form-item-input .zip-wrap {
    width: 40%;
  }
}
.contact-form form td .zip-btn,
.contact-form form .form-item-input .zip-btn {
  background: #46c864;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 5px;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 767px) {
  .contact-form form td .zip-btn,
  .contact-form form .form-item-input .zip-btn {
    font-size: 12px;
    width: calc(60% - 10px);
  }
}
@media screen and (max-width: 767px) {
  .contact-form form td .zip-btn input,
  .contact-form form .form-item-input .zip-btn input {
    width: 100%;
  }
}
.contact-form form td .zip-btn:hover,
.contact-form form .form-item-input .zip-btn:hover {
  opacity: 0.5;
}
.contact-form form td .zip,
.contact-form form td .addr1,
.contact-form form .form-item-input .zip,
.contact-form form .form-item-input .addr1 {
  margin-bottom: 10px;
}
.contact-form form td .zip #zip,
.contact-form form .form-item-input .zip #zip {
  max-width: 200px;
  margin-left: 10px;
}
.contact-form form td .upload_file-wrap,
.contact-form form .form-item-input .upload_file-wrap {
  width: 100%;
  padding: 15px;
  background: #fff;
  border: 1px solid #646464;
}
.contact-form form td .upload_file__note,
.contact-form form .form-item-input .upload_file__note {
  padding-top: 10px;
  font-size: 14px;
}
.contact-form form td .td-ttl,
.contact-form form .form-item-input .td-ttl {
  font-weight: 700;
  padding: 0 0 5px;
}
.contact-form form td .flex-birth + .td-ttl,
.contact-form form .form-item-input .flex-birth + .td-ttl {
  padding-top: 20px;
}
.contact-form form td .flex-birth,
.contact-form form .form-item-input .flex-birth {
  display: flex;
  gap: 20px;
}
.contact-form form td .flex-birth .birth-year-wrap,
.contact-form form td .flex-birth .birth-month-wrap,
.contact-form form td .flex-birth .birth-day-wrap,
.contact-form form .form-item-input .flex-birth .birth-year-wrap,
.contact-form form .form-item-input .flex-birth .birth-month-wrap,
.contact-form form .form-item-input .flex-birth .birth-day-wrap {
  display: flex;
  align-items: flex-end;
  position: relative;
}
.contact-form form td .flex-birth .birth-year-wrap.slash:after,
.contact-form form td .flex-birth .birth-month-wrap.slash:after,
.contact-form form td .flex-birth .birth-day-wrap.slash:after,
.contact-form form .form-item-input .flex-birth .birth-year-wrap.slash:after,
.contact-form form .form-item-input .flex-birth .birth-month-wrap.slash:after,
.contact-form form .form-item-input .flex-birth .birth-day-wrap.slash:after {
  content: "";
  display: block;
  height: 80%;
  width: 1px;
  background: #999;
  position: absolute;
  right: 0px;
  top: 50%;
  transform: translate(0, -50%) rotate(30deg);
}
.contact-form form td .flex-birth .birth-year-wrap .input-wrap,
.contact-form form td .flex-birth .birth-month-wrap .input-wrap,
.contact-form form td .flex-birth .birth-day-wrap .input-wrap,
.contact-form form .form-item-input .flex-birth .birth-year-wrap .input-wrap,
.contact-form form .form-item-input .flex-birth .birth-month-wrap .input-wrap,
.contact-form form .form-item-input .flex-birth .birth-day-wrap .input-wrap {
  width: 100%;
}
.contact-form form td .flex-birth .birth-year-wrap select,
.contact-form form td .flex-birth .birth-month-wrap select,
.contact-form form td .flex-birth .birth-day-wrap select,
.contact-form form .form-item-input .flex-birth .birth-year-wrap select,
.contact-form form .form-item-input .flex-birth .birth-month-wrap select,
.contact-form form .form-item-input .flex-birth .birth-day-wrap select {
  background-position: right 5px center;
  width: calc(100% - 22px);
}
.contact-form form td .flex-birth .birth-year-wrap,
.contact-form form .form-item-input .flex-birth .birth-year-wrap {
  width: 13.3235724744vw;
}
@media screen and (max-width: 767px) {
  .contact-form form td .flex-birth .birth-year-wrap,
  .contact-form form .form-item-input .flex-birth .birth-year-wrap {
    width: 24.2666666667vw;
  }
}
.contact-form form td .flex-birth .birth-month-wrap,
.contact-form form td .flex-birth .birth-day-wrap,
.contact-form form .form-item-input .flex-birth .birth-month-wrap,
.contact-form form .form-item-input .flex-birth .birth-day-wrap {
  width: 7.906295754vw;
}
@media screen and (max-width: 767px) {
  .contact-form form td .flex-birth .birth-month-wrap,
  .contact-form form td .flex-birth .birth-day-wrap,
  .contact-form form .form-item-input .flex-birth .birth-month-wrap,
  .contact-form form .form-item-input .flex-birth .birth-day-wrap {
    width: 14.4vw;
  }
}
.contact-form form td .char-remaining,
.contact-form form .form-item-input .char-remaining {
  padding-top: 10px;
}
.contact-form form .gender-tr td .mwform-radio-field,
.contact-form form .gender td .mwform-radio-field {
  display: inline-block;
  margin: 0 15px 0 0;
}
@media screen and (max-width: 767px) {
  .contact-form form .gender-tr td .mwform-radio-field,
  .contact-form form .gender td .mwform-radio-field {
    margin-right: 5px;
  }
}
.contact-form form .gender-tr .wpcf7-list-item,
.contact-form form .gender .wpcf7-list-item {
  margin: 0;
}
.contact-form form .gender-tr label,
.contact-form form .gender label {
  display: block;
  overflow: hidden;
  width: 129px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .contact-form form .gender-tr label,
  .contact-form form .gender label {
    width: 14vw;
  }
}
.contact-form form .gender-tr label input[type=radio],
.contact-form form .gender label input[type=radio] {
  display: none;
}
.contact-form form .gender-tr label input[type=radio] + .mwform-radio-field-text,
.contact-form form .gender-tr label input[type=radio] + .wpcf7-list-item-label,
.contact-form form .gender label input[type=radio] + .mwform-radio-field-text,
.contact-form form .gender label input[type=radio] + .wpcf7-list-item-label {
  position: relative;
  padding-left: 0;
  padding: 14px 20px;
  display: block;
  border: 1px solid #646464;
  background: #fff;
  color: #999999;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .contact-form form .gender-tr label input[type=radio] + .mwform-radio-field-text,
  .contact-form form .gender-tr label input[type=radio] + .wpcf7-list-item-label,
  .contact-form form .gender label input[type=radio] + .mwform-radio-field-text,
  .contact-form form .gender label input[type=radio] + .wpcf7-list-item-label {
    padding: 14px 2vw;
  }
}
.contact-form form .gender-tr label input[type=radio] + .mwform-radio-field-text::before,
.contact-form form .gender-tr label input[type=radio] + .wpcf7-list-item-label::before,
.contact-form form .gender label input[type=radio] + .mwform-radio-field-text::before,
.contact-form form .gender label input[type=radio] + .wpcf7-list-item-label::before {
  display: none;
}
.contact-form form .gender-tr label input[type=radio] + .mwform-radio-field-text::after,
.contact-form form .gender-tr label input[type=radio] + .wpcf7-list-item-label::after,
.contact-form form .gender label input[type=radio] + .mwform-radio-field-text::after,
.contact-form form .gender label input[type=radio] + .wpcf7-list-item-label::after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  background: #46c864;
  left: 0;
  top: 0;
  opacity: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: -1;
}
.contact-form form .gender-tr label input[type=radio]:checked + .mwform-radio-field-text,
.contact-form form .gender-tr label input[type=radio]:checked + .wpcf7-list-item-label,
.contact-form form .gender label input[type=radio]:checked + .mwform-radio-field-text,
.contact-form form .gender label input[type=radio]:checked + .wpcf7-list-item-label {
  color: #fff;
  border: 1px solid #46c864;
}
.contact-form form .gender-tr label input[type=radio]:checked + .mwform-radio-field-text::after,
.contact-form form .gender-tr label input[type=radio]:checked + .wpcf7-list-item-label::after,
.contact-form form .gender label input[type=radio]:checked + .mwform-radio-field-text::after,
.contact-form form .gender label input[type=radio]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
.contact-form form .gender-tr .wpcf7-radio,
.contact-form form .gender .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.contact-form form .c2 td {
  display: flex;
  justify-content: space-between;
}
.contact-form form .c2 td .input-wrap {
  width: calc(50% - 10px);
}
.contact-form form .input-wrap {
  position: relative;
}
.contact-form form .input-wrap .error {
  white-space: nowrap;
}
.contact-form form .agree {
  margin: 30px 0;
  display: flex;
  justify-content: center;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .contact-form form .agree {
    margin: 0;
  }
}
.contact-form form .agree .input-wrap .error {
  position: absolute;
  left: 0;
  bottom: -30px;
}
.contact-form form .agree input[type=checkbox] {
  width: 16px;
  height: 16px;
  margin-right: 6px;
  position: relative;
  top: -2px;
}
.contact-form form .agree .wpcf7-list-item-label {
  display: none;
}
.contact-form form .agree .wpcf7-not-valid-tip {
  position: absolute;
  min-width: 170px;
  text-align: left;
  bottom: -40px;
}
.contact-form form .agree a {
  font-weight: bold;
  border-bottom: 1px solid #46c864;
  padding-bottom: 5px;
  color: #46c864;
}
.contact-form form .agree a:hover {
  border-bottom: none;
}
.contact-form form .agree .agree-check {
  margin: 0 8px 5px 0;
  transform: scale(1.3);
}
.contact-form form .agree .agree-check + .mwform-checkbox-field-text {
  display: none;
}
.contact-form form .button-wrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 40px 0 40px;
}
.contact-form form .submit,
.contact-form form .back {
  margin-top: 15px;
  text-align: center;
}
.contact-form form .submit .input-btn,
.contact-form form .submit .confirm_button,
.contact-form form .submit input[type=submit],
.contact-form form .back .input-btn,
.contact-form form .back .confirm_button,
.contact-form form .back input[type=submit] {
  background-color: #46c864;
  background-image: url(../images/form/submit.jpg);
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  color: #fff;
  position: relative;
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 400px;
  height: 78px;
  transition: all 0.3s ease 0s;
  font-size: 20px;
  cursor: pointer;
  border-radius: 100vh;
}
@media screen and (max-width: 767px) {
  .contact-form form .submit .input-btn,
  .contact-form form .submit .confirm_button,
  .contact-form form .submit input[type=submit],
  .contact-form form .back .input-btn,
  .contact-form form .back .confirm_button,
  .contact-form form .back input[type=submit] {
    width: 100%;
    height: 65px;
    font-size: 4vw;
  }
}
.contact-form form .submit .input-btn:hover,
.contact-form form .submit .confirm_button:hover,
.contact-form form .submit input[type=submit]:hover,
.contact-form form .back .input-btn:hover,
.contact-form form .back .confirm_button:hover,
.contact-form form .back input[type=submit]:hover {
  opacity: 0.5;
}
.contact-form form .submit .btn-back,
.contact-form form .back .btn-back {
  margin-top: 10px;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: left center;
  color: #5a3c00;
  width: auto;
  height: auto;
  font-size: 17px;
  color: #6a6a6a;
  text-decoration: underline;
}
.contact-form form .submit .btn-back:hover,
.contact-form form .back .btn-back:hover {
  opacity: 0.5;
}
.contact-form form .submit .wpcf7-spinner,
.contact-form form .back .wpcf7-spinner {
  display: none;
}
.contact-form form .error {
  font-size: 12px;
  line-height: 1.4;
  margin-top: 5px;
}
.contact-form .input-area.confirm {
  padding-top: 80px;
}
@media screen and (max-width: 767px) {
  .contact-form .input-area.confirm {
    padding-top: 50px;
  }
}
.contact-form .input-area.confirm .entry-form-inner {
  max-width: 720px;
}
.contact-form .input-area.confirm .form-item-label {
  color: #5a3c00;
  font-weight: bold;
  padding-bottom: 6px;
  padding-top: 0;
  margin-bottom: 11px;
  flex: 0 0 190px;
}
.contact-form .input-area.confirm .form-item-input {
  min-height: 69px;
}
.contact-form .input-area.confirm .form-item-input .upload_file-wrap {
  padding: 0;
  border: none;
}
.contact-form .input-area.confirm .upload_file-wrap {
  background: none;
}
.contact-form .input-area.confirm .address-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.contact-form .input-area.confirm .address-wrap .form-item-input {
  padding-bottom: 0px;
}
.contact-form .input-area.confirm .address-wrap .form-item-input:last-child {
  padding-bottom: 30px;
}

.mw_wp_form .error {
  color: #db0000 !important;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.pp-sect {
  padding: 0 0 100px;
}
@media screen and (max-width: 767px) {
  .pp-sect {
    padding: 0px 5vw 70px;
  }
}
.pp-sect .sect-inner {
  max-width: 970px;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
.nanoha-main .site-top {
  background: #fff9ec url("../images/nanoha/body-bg-4.png") center top/100% auto no-repeat;
  padding: 24px max(24px, 6.5vw) 70px;
}
.nanoha-main .site-header {
  max-width: 1760px;
  margin: auto;
}
.nanoha-main .header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.nanoha-main .brand img {
  display: block;
  width: clamp(240px, 25vw, 465px);
  height: auto;
}
.nanoha-main .header-actions {
  display: flex;
  gap: 24px;
}
.nanoha-main .pill {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  padding: 15px 26px;
  border-radius: 99px;
  background: #73c66b;
  color: #fff !important;
  text-decoration: none;
  font-size: 18px;
  font-weight: 800;
  white-space: nowrap;
}
.nanoha-main .pill-recruit {
  background: #ed7e46;
}
.nanoha-main .pill img {
  width: 26px;
  height: 26px;
}
.nanoha-main .pill img.arrow {
  width: 20px;
  height: 20px;
  margin-left: 6px;
}
.nanoha-main .global-nav {
  display: flex;
  margin: 36px 0 30px;
  padding: 0;
  list-style: none;
  align-items: stretch;
}
.nanoha-main .global-nav li {
  flex: 1;
  border-left: 1px dotted #8e764b;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.nanoha-main .global-nav li:last-child {
  border-right: 1px dotted #8e764b;
}
.nanoha-main .global-nav a {
  color: #5a3c00;
  text-decoration: none;
  font-size: clamp(13px, 1.15vw, 21px);
  font-weight: 700;
  line-height: 1.5;
  padding: 4px 10px;
  display: block;
}
.nanoha-main .global-nav a:hover {
  color: #288e42;
}
.nanoha-main .mobile-nav {
  display: none;
}
.nanoha-main .contact-hero {
  position: relative;
  max-width: 1760px;
  margin: auto;
  min-height: clamp(330px, 29vw, 565px);
  display: flex;
  align-items: center;
}
.nanoha-main .contact-hero-photo {
  position: absolute;
  right: 0;
  top: 0;
  width: 75%;
  height: 100%;
  border-radius: 38px;
  object-fit: cover;
  object-position: 65% center;
}
.nanoha-main .contact-hero-title {
  position: relative;
  z-index: 1;
  background: url("../images/nanoha/title-bg.png") center/100% 100% no-repeat;
  width: 49%;
  min-height: clamp(300px, 26vw, 510px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}
.nanoha-main .contact-hero-title img {
  width: 69%;
  height: auto;
  margin-left: 3%;
}
.nanoha-main .aoba-contact {
  font-family: inherit;
  padding-top: 55px;
}
.nanoha-main .aoba-contact .ac-heading {
  margin-bottom: 44px;
}
.nanoha-main .aoba-contact .ac-heading p {
  margin-top: 0;
}
.nanoha-main .aoba-contact .ac-image-heading {
  border: 0;
  padding: 0;
  text-align: center;
  margin: 0 0 32px;
}
.nanoha-main .ac-image-heading img {
  max-width: 100%;
  width: 380px;
  height: auto;
}
.nanoha-main .aoba-contact h2 {
  color: #5a3c00;
}
.nanoha-main .site-footer {
  border-top: 1px solid #e2eadc;
  padding: 48px 24px 24px;
  text-align: center;
  background: #f7faf2;
  color: #5a3c00;
  font-size: 14px;
  line-height: 1.9;
}
.nanoha-main .site-footer img {
  width: 270px;
  max-width: 80%;
  margin-bottom: 16px;
}
.nanoha-main .site-footer p {
  margin: 6px 0;
}
.nanoha-main .site-footer small {
  display: block;
  margin-top: 25px;
  font-size: 12px;
}
.nanoha-main .site-skip {
  position: absolute;
  top: -100px;
  left: 15px;
  z-index: 10;
  background: white;
  padding: 10px;
}
.nanoha-main .site-skip:focus {
  top: 10px;
}
@media (max-width: 1000px) {
  .nanoha-main .site-top {
    padding: 20px 24px 40px;
    background-size: auto 750px;
  }
  .nanoha-main .header-actions {
    gap: 10px;
  }
  .nanoha-main .pill {
    font-size: 14px;
    padding: 12px 17px;
    gap: 8px;
  }
  .nanoha-main .pill img {
    width: 21px;
    height: 21px;
  }
  .nanoha-main .brand img {
    width: 270px;
  }
  .nanoha-main .global-nav a {
    font-size: 13px;
    padding: 4px 7px;
  }
  .nanoha-main .contact-hero-title {
    width: 52%;
  }
  .nanoha-main .contact-hero-photo {
    width: 78%;
  }
}
@media (max-width: 700px) {
  .nanoha-main .site-top {
    padding: 20px 18px 32px;
    background-size: auto 650px;
  }
  .nanoha-main .header-row {
    display: block;
  }
  .nanoha-main .brand img {
    width: 250px;
    max-width: 90%;
    margin: 0 auto;
  }
  .nanoha-main .header-actions {
    justify-content: center;
    margin-top: 20px;
  }
  .nanoha-main .pill {
    font-size: 14px;
    padding: 11px 16px;
  }
  .nanoha-main .pill img.arrow {
    display: none;
  }
  .nanoha-main .global-nav {
    display: none;
  }
  .nanoha-main .mobile-nav {
    display: block;
    margin: 20px 0;
    color: #5a3c00;
  }
  .nanoha-main .mobile-nav summary {
    cursor: pointer;
    font-weight: 700;
    border-top: 1px dotted #b4a380;
    border-bottom: 1px dotted #b4a380;
    padding: 10px 4px;
  }
  .nanoha-main .mobile-nav ul {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 10px 0;
    margin: 0;
  }
  .nanoha-main .mobile-nav a {
    display: block;
    padding: 10px 8px;
    color: #5a3c00;
    font-size: 14px;
    text-decoration: none;
  }
  .nanoha-main .contact-hero {
    min-height: 310px;
    align-items: flex-end;
  }
  .nanoha-main .contact-hero-photo {
    height: 230px;
    width: 90%;
    border-radius: 24px;
    object-position: 65% center;
  }
  .nanoha-main .contact-hero-title {
    width: 76%;
    min-height: 180px;
    margin-left: -6px;
    margin-bottom: 0;
  }
  .nanoha-main .contact-hero-title img {
    width: 72%;
  }
  .nanoha-main .aoba-contact {
    padding-top: 24px;
  }
  .nanoha-main .site-footer {
    padding: 32px 20px 24px;
  }
}
.nanoha-main .global-nav a[aria-current=page] {
  color: #288e42;
}
.nanoha-main .aoba-faq {
  max-width: 1040px;
  padding: 32px 24px 80px;
  margin: auto;
  color: #5a3c00;
  font-size: 16px;
  line-height: 1.9;
}
.nanoha-main .aoba-faq * {
  box-sizing: border-box;
}
.nanoha-main .aoba-faq a:not(.pill) {
  color: #286d39;
  text-underline-offset: 4px;
}
.nanoha-main .faq-intro {
  text-align: center;
  margin: 0 0 36px;
}
.nanoha-main .faq-categories {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 64px;
}
.nanoha-main .faq-categories a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.6;
  border: 1px solid #d3e3cb;
  border-radius: 12px;
  padding: 18px 16px;
  background: #f4f9ef;
}
.nanoha-main .faq-categories a:hover {
  background: #e6f3df;
}
.nanoha-main .faq-group {
  scroll-margin-top: 24px;
  margin: 0 0 60px;
}
.nanoha-main .faq-group h2 {
  text-align: center;
  margin: 0 0 28px;
}
.nanoha-main .faq-group h2 img {
  display: block;
  width: auto;
  max-width: min(100%, 520px);
  height: 47px;
  margin: auto;
}
.nanoha-main .faq-item {
  border-bottom: 1px solid #dce6da;
}
.nanoha-main .faq-item:first-of-type {
  border-top: 1px solid #dce6da;
}
.nanoha-main .faq-item summary {
  display: flex;
  align-items: center;
  gap: 18px;
  list-style: none;
  cursor: pointer;
  padding: 25px 12px;
  font-weight: 700;
  line-height: 1.7;
}
.nanoha-main .faq-item summary::-webkit-details-marker {
  display: none;
}
.nanoha-main .faq-item summary:hover {
  background: #f7faf4;
}
.nanoha-main .faq-item summary:focus-visible,
.nanoha-main .aoba-faq a:focus-visible {
  outline: 3px solid #286d39;
  outline-offset: 3px;
}
.nanoha-main .faq-q,
.nanoha-main .faq-a {
  font-family: Georgia, serif;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.1;
  flex: 0 0 30px;
}
.nanoha-main .faq-q {
  color: #338e46;
}
.nanoha-main .faq-a {
  color: #c8602e;
}
.nanoha-main .faq-toggle {
  margin-left: auto;
  position: relative;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}
.nanoha-main .faq-toggle::before,
.nanoha-main .faq-toggle::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 11px;
  width: 14px;
  height: 2px;
  background: #338e46;
}
.nanoha-main .faq-toggle::after {
  transform: rotate(90deg);
}
.nanoha-main .faq-item[open] .faq-toggle::after {
  display: none;
}
.nanoha-main .faq-answer {
  display: flex;
  gap: 18px;
  padding: 4px 54px 27px 12px;
}
.nanoha-main .faq-answer p {
  margin: 0;
}
.nanoha-main .faq-answer .faq-related {
  margin-top: 12px;
  font-size: 14px;
}
.nanoha-main .faq-contact {
  padding: 36px 24px;
  border-radius: 24px;
  background: #f4f9ef;
  text-align: center;
}
.nanoha-main .faq-contact h2 {
  font-size: 23px;
  margin: 0 0 12px;
  line-height: 1.6;
}
.nanoha-main .faq-contact p {
  margin: 0 0 24px;
}
.nanoha-main .faq-contact .pill {
  max-width: 300px;
  margin: auto;
  background: #286d39;
}
.nanoha-main .contact-hero-title img {
  width: 72%;
}
@media (max-width: 700px) {
  .nanoha-main .aoba-faq {
    padding: 24px 20px 56px;
  }
  .nanoha-main .faq-categories {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 42px;
  }
  .nanoha-main .faq-categories a {
    padding: 14px 12px;
    font-size: 14px;
  }
  .nanoha-main .faq-group {
    margin-bottom: 42px;
  }
  .nanoha-main .faq-group h2 img {
    height: auto;
    max-height: 40px;
    max-width: 100%;
  }
  .nanoha-main .faq-item summary {
    padding: 21px 0;
    gap: 12px;
  }
  .nanoha-main .faq-q,
  .nanoha-main .faq-a {
    font-size: 26px;
    flex-basis: 25px;
  }
  .nanoha-main .faq-answer {
    gap: 12px;
    padding: 0 20px 24px 0;
  }
  .nanoha-main .faq-contact h2 {
    font-size: 20px;
  }
}
@media print {
  .nanoha-main .faq-item::details-content {
    content-visibility: visible;
  }
  .nanoha-main .faq-categories,
  .nanoha-main .mobile-nav {
    display: none;
  }
}
.nanoha-main .contact-hero-title {
  flex-direction: column;
  text-align: center;
  gap: 8px;
  color: #5a3c00;
}
.nanoha-main .contact-hero-title img {
  width: 43%;
  margin: 0;
}
.nanoha-main .nanoha-hero-label {
  font-size: clamp(17px, 1.5vw, 25px);
  letter-spacing: 0.1em;
}
.nanoha-main .nanoha-hero-copy {
  font-size: clamp(16px, 1.4vw, 23px);
  line-height: 1.6;
}
.nanoha-main .nanoha-main {
  max-width: 1160px;
  margin: auto;
  padding: 25px 28px 80px;
  font-size: 16px;
  line-height: 1.95;
}
.nanoha-main .nanoha-main * {
  box-sizing: border-box;
}
.nanoha-main .nanoha-main p {
  margin: 0 0 16px;
}
.nanoha-main .nanoha-main a {
  color: #286d39;
  text-underline-offset: 4px;
}
.nanoha-main .nanoha-main h3 {
  font-size: 23px;
  line-height: 1.6;
  margin: 0 0 12px;
}
.nanoha-main .nanoha-intro {
  text-align: center;
  margin: 0 auto 38px;
  max-width: 920px;
}
.nanoha-main .nanoha-lead {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.7;
}
.nanoha-main .nanoha-jump {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 65px;
}
.nanoha-main .nanoha-jump a {
  display: flex;
  gap: 18px;
  align-items: center;
  background: #f2f8ec;
  border-radius: 99px;
  padding: 10px 20px;
  text-decoration: none;
  font-weight: 700;
  font-size: 14px;
}
.nanoha-main .nanoha-jump a:hover {
  background: #dfefce;
}
.nanoha-main .nanoha-section {
  margin-bottom: 80px;
  scroll-margin-top: 24px;
}
.nanoha-main .nanoha-heading {
  text-align: center;
  margin: 0 0 28px;
}
.nanoha-main .nanoha-heading img {
  width: auto;
  height: 58px;
  max-width: 100%;
}
.nanoha-main .section-intro {
  text-align: center;
  margin-bottom: 30px !important;
}
.nanoha-main .grid {
  display: grid;
  gap: 24px;
}
.nanoha-main .two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.nanoha-main .three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.nanoha-main .asset-slot {
  overflow: hidden;
  background: #f3f2eb;
  border: 1px solid #bcbca9;
  color: #716e5e;
  border-radius: 22px;
}
.nanoha-main .asset-slot small {
  font-size: 13px;
}
.nanoha-main .asset-slot.video {
  aspect-ratio: 16/9;
  background: #edf3e8;
}
.nanoha-main .movie-card h3 {
  font-size: 18px;
  margin-top: 14px;
}
.nanoha-main .reference-movies,
.nanoha-main .source-details {
  border-top: 1px solid #dce6da;
  border-bottom: 1px solid #dce6da;
  padding: 18px 0;
  margin-top: 24px;
}
.nanoha-main .reference-movies summary,
.nanoha-main .source-details summary {
  cursor: pointer;
  font-weight: 700;
}
.nanoha-main .reference-movies .grid {
  margin-top: 20px;
}
.nanoha-main .reference-movies h3 {
  font-size: 16px;
}
.nanoha-main .video-frame {
  aspect-ratio: 16/9;
  background: #f5f5f5;
}
.nanoha-main .video-frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.nanoha-main .type-card {
  padding: 28px 30px;
  border-radius: 24px;
  background: #faf8ef;
  position: relative;
}
.nanoha-main .number {
  display: block;
  color: #e98048;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 6px;
}
.nanoha-main .type-card p {
  margin: 0;
}
.nanoha-main .support-card {
  text-align: center;
  background: #fff3e9;
  border-radius: 24px;
  padding: 28px;
}
.nanoha-main .support-card h3 {
  color: #b65c2c;
}
.nanoha-main .amount {
  font-weight: 700;
  color: #b65c2c;
}
.nanoha-main .amount span {
  font-size: 43px;
  letter-spacing: 0.015em;
}
.nanoha-main .note {
  font-size: 14px;
  color: #716856;
  margin-top: 18px !important;
}
.nanoha-main .support-services {
  margin-top: 32px;
}
.nanoha-main .support-services article {
  border-top: 3px solid #77bf6a;
  padding-top: 18px;
}
.nanoha-main .support-services h3 {
  font-size: 20px;
}
.nanoha-main .subheading {
  margin: 32px 0 16px !important;
}
.nanoha-main .requirements-list {
  background: #f2f8ec;
  padding: 24px 28px 24px 48px;
  border-radius: 20px;
}
.nanoha-main .requirements-list li {
  margin: 10px 0;
}
.nanoha-main .steps {
  list-style: none;
  padding: 0;
  display: grid;
  gap: 12px;
}
.nanoha-main .steps li {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  border: 1px solid #dce6da;
  border-radius: 15px;
  padding: 20px 25px;
}
.nanoha-main .steps li > span {
  color: #559646;
  font-size: 26px;
  font-weight: 700;
}
.nanoha-main .steps h4 {
  font-size: 19px;
  margin: 0 0 6px;
}
.nanoha-main .steps p {
  margin: 0;
}
.nanoha-main .director-card {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 38px;
  align-items: center;
  background: #faf8ef;
  padding: 32px;
  border-radius: 26px;
}
.nanoha-main .eyebrow {
  font-size: 14px;
  color: #5b7950;
  margin-bottom: 8px !important;
}
.nanoha-main .activity-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 30px;
}
.nanoha-main .activity-card {
  grid-column: span 2;
}
.nanoha-main .activity-card:nth-child(4) {
  grid-column: 2/span 2;
}
.nanoha-main .activity-card > .asset-slot {
  margin-bottom: 20px;
}
.nanoha-main .activity-card h3 {
  font-size: 22px;
}
.nanoha-main .activity-card .number {
  font-size: 17px;
}
.nanoha-main .link-grid a,
.nanoha-main .link-grid .nolink {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid #cdddbe;
  border-radius: 20px;
  padding: 30px 14px;
  text-decoration: none;
  gap: 8px;
  background: #f6faef;
}
.nanoha-main .link-grid span {
  font-size: 25px;
  font-weight: 700;
}
.nanoha-main .link-grid small {
  font-size: 14px;
}
.nanoha-main .nanoha-main a:focus-visible,
.nanoha-main .nanoha-main summary:focus-visible {
  outline: 3px solid #286d39;
  outline-offset: 4px;
}
@media (max-width: 700px) {
  .nanoha-main .nanoha-main {
    padding: 20px 20px 40px;
  }
  .nanoha-main .nanoha-lead {
    font-size: 23px;
  }
  .nanoha-main .wide-only {
    display: none;
  }
  .nanoha-main .nanoha-jump {
    margin-bottom: 44px;
    gap: 8px;
  }
  .nanoha-main .nanoha-jump a {
    padding: 8px 12px;
    font-size: 13px;
  }
  .nanoha-main .nanoha-section {
    margin-bottom: 50px;
  }
  .nanoha-main .nanoha-heading img {
    height: auto;
    max-height: 44px;
    max-width: 100%;
  }
  .nanoha-main .two,
  .nanoha-main .three {
    grid-template-columns: 1fr;
  }
  .nanoha-main .grid {
    gap: 18px;
  }
  .nanoha-main .nanoha-main h3 {
    font-size: 21px;
  }
  .nanoha-main .director-card {
    grid-template-columns: 1fr;
    padding: 24px;
    gap: 24px;
  }
  .nanoha-main .director-card .asset-slot {
    width: 200px;
    max-width: 100%;
    margin: auto;
  }
  .nanoha-main .activity-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .nanoha-main .activity-card,
  .nanoha-main .activity-card:nth-child(4) {
    grid-column: auto;
  }
  .nanoha-main .activity-card .asset-slot {
    aspect-ratio: 16/8;
  }
  .nanoha-main .contact-hero-title {
    min-height: 210px;
    gap: 3px;
  }
  .nanoha-main .contact-hero-title img {
    width: 40%;
  }
  .nanoha-main .nanoha-hero-label {
    font-size: 14px;
  }
  .nanoha-main .nanoha-hero-copy {
    font-size: 14px;
  }
  .nanoha-main .steps li {
    padding: 16px;
    gap: 16px;
  }
  .nanoha-main .amount span {
    font-size: 37px;
  }
}
.nanoha-main {
  /* Revision: reuse original theme textures, waves and ornaments. */
}
.nanoha-main .nanoha-main {
  max-width: none;
  padding: 25px 0 0;
  overflow: hidden;
  color: #5a3c00;
}
.nanoha-main .nanoha-intro,
.nanoha-main .nanoha-jump {
  padding-left: 24px;
  padding-right: 24px;
}
.nanoha-main .nanoha-section {
  margin: 0;
  padding: 90px 28px 110px;
  position: relative;
  background: #fff;
}
.nanoha-main .nanoha-inner {
  max-width: 1160px;
  margin: auto;
  position: relative;
}
.nanoha-main .nanoha-inner > * {
  position: relative;
  z-index: 1;
}
.nanoha-main .nanoha-section::before {
  content: "";
  position: absolute;
  top: -29px;
  left: 0;
  width: 100%;
  height: 30px;
  background: url(../images/nanoha/white-wave-top.svg) repeat-x center top/auto 100%;
}
.nanoha-main .nanoha-section#types,
.nanoha-main .nanoha-section#requirements {
  background: #fff8d9;
}
.nanoha-main .nanoha-section#types::before,
.nanoha-main .nanoha-section#requirements::before {
  background-image: url(../images/nanoha/yellow-wave-top.svg);
}
.nanoha-main .nanoha-section#director,
.nanoha-main .nanoha-section#links {
  background: #ecf9ef;
}
.nanoha-main .nanoha-section#director::before,
.nanoha-main .nanoha-section#links::before {
  background-image: url(../images/nanoha/green-wave-top.svg);
}
.nanoha-main .nanoha-inner::before,
.nanoha-main .nanoha-inner::after {
  content: "";
  position: absolute;
  width: 110px;
  height: 110px;
  pointer-events: none;
  background: url(../images/nanoha/orn-2.svg) center/contain no-repeat;
  top: -35px;
  left: -115px;
}
.nanoha-main .nanoha-inner::after {
  left: auto;
  right: -105px;
  top: 40px;
  background-image: url(../images/nanoha/orn-14.svg);
}
.nanoha-main #director .nanoha-inner::before,
.nanoha-main #links .nanoha-inner::before {
  background-image: url(../images/nanoha/orn-13.svg);
}
.nanoha-main #activities .nanoha-inner::after {
  background-image: url(../images/nanoha/orn-12.svg);
}
.nanoha-main .nanoha-heading {
  margin-bottom: 48px;
}
.nanoha-main .nanoha-heading::after {
  content: "";
  display: block;
  width: 280px;
  max-width: 80%;
  height: 9px;
  margin: 10px auto 0;
  background: linear-gradient(135deg, #77bd65 25%, transparent 25%) -7px 0/14px 14px, linear-gradient(225deg, #96d275 25%, transparent 25%) -7px 0/14px 14px;
}
.nanoha-main #movie .nanoha-heading::after {
  display: none;
}
.nanoha-main #movie .nanoha-heading img {
  height: 66px;
  max-width: 100%;
}
.nanoha-main .video-frame {
  max-width: 850px;
  margin: 35px auto 0;
  overflow: hidden;
  border-radius: 24px;
}
.nanoha-main .center {
  text-align: center;
}
.nanoha-main .foster-types {
  gap: 45px 65px;
}
.nanoha-main .foster-type h3 {
  text-align: center;
}
.nanoha-main .foster-type h3 img {
  width: 265px;
  max-width: 85%;
  height: auto;
  mix-blend-mode: multiply;
}
.nanoha-main .foster-type p {
  margin-top: 24px;
}
.nanoha-main .support-message {
  text-align: center;
  font-size: 21px;
  font-weight: 700;
  margin-top: 36px !important;
}
.nanoha-main .support-card {
  background: #fff1eb;
}
.nanoha-main .common-requirements article {
  background: white;
  border-radius: 24px;
  padding: 28px;
}
.nanoha-main .req-label {
  display: block;
  color: #e97c45;
  font-weight: 700;
  font-size: 22px;
  margin-bottom: 15px;
  text-align: center;
}
.nanoha-main .disqualifications {
  background: rgba(255, 255, 255, 0.6588235294);
  padding: 24px 30px;
  border-radius: 20px;
  margin-top: 24px;
  font-size: 14px;
}
.nanoha-main .nanoha-main ul {
  padding-left: 1.4em;
}
.nanoha-main .nanoha-main h4 {
  font-size: 21px;
  margin: 0 0 14px;
}
.nanoha-main .plus {
  text-align: center;
  font-size: 48px;
  color: #ed7e46;
  padding: 20px;
}
.nanoha-main .individual-requirements {
  background: white;
  border-radius: 28px;
  padding: 14px 36px;
}
.nanoha-main .individual-requirements article {
  padding: 24px 0;
  border-bottom: 1px dashed #c5d9aa;
}
.nanoha-main .individual-requirements article:last-child {
  border: 0;
}
.nanoha-main .individual-requirements h4 {
  color: #d96d37;
}
.nanoha-main .registration-result {
  margin-top: 30px;
  text-align: center;
}
.nanoha-main .registration-result p {
  background: white;
  border: 2px solid #a9ce8d;
  border-radius: 18px;
  padding: 18px;
  font-weight: 700;
  margin: 0;
}
.nanoha-main .registration-result small {
  display: block;
  font-size: 13px;
}
.nanoha-main .flow-arrow {
  color: #77b966;
  text-align: center;
  font-size: 32px;
  line-height: 1.4;
  margin: 10px;
}
.nanoha-main .flow-title {
  margin-top: 70px !important;
}
.nanoha-main .registration-flow {
  list-style: none;
  padding: 0;
  max-width: 940px;
  margin: 28px auto;
}
.nanoha-main .registration-flow > li {
  background: #fff;
  border: 2px solid #b5d59e;
  border-radius: 22px;
  padding: 24px 32px;
  margin-bottom: 48px;
  position: relative;
}
.nanoha-main .registration-flow > li:not(:last-child)::after {
  content: "↓";
  position: absolute;
  bottom: -44px;
  left: calc(50% - 16px);
  font-size: 30px;
  color: #79b968;
}
.nanoha-main .registration-flow h4 {
  text-align: center;
  margin: 0;
}
.nanoha-main .registration-flow .grid {
  margin-top: 22px;
}
.nanoha-main .nanoha-main h5 {
  font-size: 18px;
  color: #fff;
  background: #78b96c;
  border-radius: 9px;
  padding: 7px 14px;
  margin: 0 0 12px;
  text-align: center;
}
.nanoha-main .flow-aside {
  font-size: 14px;
  background: #f0f8e9;
  border-radius: 10px;
  padding: 12px 16px;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}
.nanoha-main .after-placement article {
  background: white;
  border-radius: 24px;
  padding: 28px;
  display: flex;
  flex-direction: column;
}
.nanoha-main .after-placement h4 {
  text-align: center;
}
.nanoha-main .flow-end {
  text-align: center;
  background: #78b96c;
  color: white;
  font-size: 21px;
  font-weight: 700;
  padding: 10px;
  border-radius: 10px;
  margin-top: auto !important;
}
.nanoha-main .activity-card {
  position: relative;
  padding: 0 0 20px;
}
.nanoha-main .activity-card:before {
  content: "";
  position: absolute;
  inset: 130px 0 0;
  background: #fff1eb;
  border-radius: 30px;
}
.nanoha-main .activity-card:nth-child(2):before {
  background: #fffae5;
}
.nanoha-main .activity-card:nth-child(3):before {
  background: #e5f9f9;
}
.nanoha-main .activity-card:nth-child(4):before {
  background: #ecf9ef;
}
.nanoha-main .activity-card:nth-child(5):before {
  background: #eeebe5;
}
.nanoha-main .activity-photo {
  width: 250.5px;
  max-width: 85%;
  display: block;
  margin: auto;
  position: relative;
}
.nanoha-main .activity-card > div {
  position: relative;
  padding: 30px;
}
.nanoha-main .activity-card h3 {
  text-align: center;
  border-bottom: 2px dashed #5a3c00;
  padding-bottom: 5px;
  max-width: 200px;
  margin: 0 auto 20px;
}
.nanoha-main .link-grid a,
.nanoha-main .link-grid .nolink {
  background: #fff;
  padding: 30px 20px;
  border: 0;
  border-radius: 28px;
  box-shadow: 0 5px 0 #d2e6c9;
  transition: transform 0.2s, box-shadow 0.2s;
}
.nanoha-main .link-grid a:hover {
  transform: translateY(-4px);
  box-shadow: 0 9px 0 #d2e6c9;
}
.nanoha-main .social-icon {
  width: 48px;
  height: 48px;
  object-fit: contain;
  margin-bottom: 10px;
}
.nanoha-main .info-icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #78bb6b;
  color: #fff;
  font: 700 32px Georgia;
  margin-bottom: 10px;
}
.nanoha-main .director-card {
  background: rgba(255, 255, 255, 0.7882352941);
}
@media (max-width: 767px) {
  .nanoha-main .nanoha-section {
    padding: 55px 22px 75px;
  }
  .nanoha-main .nanoha-section::before {
    background-size: auto 100%;
    height: 20px;
    top: -19px;
  }
  .nanoha-main .nanoha-inner::before,
  .nanoha-main .nanoha-inner::after {
    display: none;
  }
  .nanoha-main .nanoha-heading {
    margin-bottom: 30px;
  }
  .nanoha-main .nanoha-heading img,
  .nanoha-main #movie .nanoha-heading img {
    height: auto;
    max-height: 52px;
    width: auto;
    max-width: 100%;
  }
  .nanoha-main .nanoha-heading::after {
    width: 220px;
  }
  .nanoha-main .common-requirements,
  .nanoha-main .after-placement {
    grid-template-columns: 1fr;
  }
  .nanoha-main .foster-types {
    gap: 32px;
  }
  .nanoha-main .individual-requirements {
    padding: 8px 22px;
  }
  .nanoha-main .disqualifications {
    padding: 20px;
  }
  .nanoha-main .registration-flow > li {
    padding: 22px 18px;
  }
  .nanoha-main .nanoha-main h4 {
    font-size: 19px;
  }
  .nanoha-main .support-message {
    font-size: 18px;
  }
  .nanoha-main .activity-grid {
    gap: 34px;
  }
  .nanoha-main .activity-card .activity-photo {
    width: 250.5px;
  }
  .nanoha-main .activity-card > div {
    padding: 26px;
  }
  .nanoha-main .flow-title {
    margin-top: 45px !important;
  }
  .nanoha-main .video-frame {
    border-radius: 14px;
  }
}
.nanoha-main .nanoha-heading::after {
  background: url(../images/nanoha/heading-line.svg) no-repeat center/100% 100%;
  height: 10px;
}
.nanoha-main .foster-type h3 img {
  width: 360px;
  max-width: 100%;
  mix-blend-mode: normal;
  border-radius: 28px;
}
.nanoha-main .designed-diagrams {
  max-width: 1000px;
  margin: 35px auto 0;
  display: grid;
  gap: 60px;
}
.nanoha-main .designed-diagrams a {
  display: block;
}
.nanoha-main .designed-diagrams img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 22px;
}
.nanoha-main .diagram-readable {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@media (max-width: 767px) {
  .nanoha-main .designed-diagrams {
    gap: 36px;
    margin-left: -12px;
    margin-right: -12px;
  }
  .nanoha-main .designed-diagrams img {
    border-radius: 14px;
  }
}
.nanoha-main {
  /* Diagram accordions: closed by default; responsive images remain inside. */
}
.nanoha-main .designed-diagrams {
  gap: 30px;
}
.nanoha-main .diagram-title {
  text-align: center;
  margin: 0 0 16px !important;
  color: #5a3c00;
}
.nanoha-main .diagram-accordion {
  border: 1px solid #d7e5bf;
  border-radius: 22px;
  background: #fffdf5;
  overflow: hidden;
}
.nanoha-main .diagram-accordion summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 20px 24px;
  color: #5a3c00;
  font-weight: 700;
  font-size: 18px;
  background: #eff7e6;
  min-height: 64px;
}
.nanoha-main .diagram-accordion summary::-webkit-details-marker {
  display: none;
}
.nanoha-main .diagram-accordion summary:hover {
  background: #e3efd5;
}
.nanoha-main .diagram-accordion summary:focus-visible {
  outline: 3px solid #478c43;
  outline-offset: -5px;
}
.nanoha-main .accordion-mark {
  position: relative;
  width: 18px;
  height: 18px;
}
.nanoha-main .accordion-mark:before,
.nanoha-main .accordion-mark:after {
  content: "";
  position: absolute;
  background: #649f53;
  border-radius: 2px;
  left: 0;
  top: 8px;
  width: 18px;
  height: 2px;
}
.nanoha-main .accordion-mark:after {
  transform: rotate(90deg);
}
.nanoha-main .diagram-accordion[open] .accordion-mark:after {
  transform: none;
}
.nanoha-main .diagram-accordion .when-open {
  display: none;
}
.nanoha-main .diagram-accordion[open] .when-open {
  display: inline;
}
.nanoha-main .diagram-accordion[open] .when-closed {
  display: none;
}
.nanoha-main .diagram-panel {
  padding: 18px;
}
.nanoha-main .diagram-panel picture {
  display: block;
}
.nanoha-main .diagram-panel img {
  display: block;
  width: 100%;
  height: auto;
}
.nanoha-main .diagram-accordion[open] summary {
  border-bottom: 1px solid #d7e5bf;
}
@media (max-width: 767px) {
  .nanoha-main .designed-diagrams {
    margin-left: 0;
    margin-right: 0;
    gap: 26px;
  }
  .nanoha-main .diagram-accordion {
    border-radius: 16px;
  }
  .nanoha-main .diagram-accordion summary {
    font-size: 17px;
    padding: 18px;
  }
  .nanoha-main .diagram-panel {
    padding: 0;
  }
  .nanoha-main .diagram-panel img {
    border-radius: 0;
  }
  .nanoha-main .diagram-title {
    font-size: 20px !important;
  }
}
.nanoha-main {
  /* Illustrated mobile diagrams, version 2. */
}
.nanoha-main .diagram-mobile {
  display: none;
}
.nanoha-main .diagram-desktop {
  display: block;
}
@media (max-width: 767px) {
  .nanoha-main .diagram-desktop {
    display: none;
  }
  .nanoha-main .diagram-mobile {
    display: grid;
    gap: 18px;
    background: #fff9e9;
  }
  .nanoha-main .diagram-mobile img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
  }
  .nanoha-main .diagram-panel {
    padding: 0;
  }
}
.nanoha-main .activity-photo-new {
  aspect-ratio: 1;
  object-fit: cover;
  height: auto;
  border-radius: 47% 53% 43% 57%/53% 43% 57% 47%;
}
.nanoha-main .activity-card:nth-child(2) .activity-photo-new {
  border-radius: 44% 56% 53% 47%/55% 46% 54% 45%;
}
.nanoha-main .activity-card:nth-child(3) .activity-photo-new {
  border-radius: 53% 47% 45% 55%/46% 54% 46% 54%;
}
.nanoha-main .foster-type h3 img {
  width: 280px;
  max-width: 85%;
  border-radius: 0;
}
.nanoha-main .diagram-mobile {
  background: white;
}
.nanoha-main .diagram-panel img {
  border-radius: 0;
}
.nanoha-main .foster-type h3 img {
  background: transparent;
  object-fit: contain;
  overflow: visible;
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
#community-content .site-top {
  background: #fff9ec url("community-assets/common/body-bg-4.png") center top/100% auto no-repeat;
  padding: 24px max(24px, 6.5vw) 70px;
}
#community-content .site-header {
  max-width: 1760px;
  margin: auto;
}
#community-content .header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
#community-content .brand img {
  display: block;
  width: clamp(240px, 25vw, 465px);
  height: auto;
}
#community-content .header-actions {
  display: flex;
  gap: 24px;
}
#community-content .pill {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  padding: 15px 26px;
  border-radius: 99px;
  background: #73c66b;
  color: #fff !important;
  text-decoration: none;
  font-size: 18px;
  font-weight: 800;
  white-space: nowrap;
}
#community-content .pill-recruit {
  background: #ed7e46;
}
#community-content .pill img {
  width: 26px;
  height: 26px;
}
#community-content .pill img.arrow {
  width: 20px;
  height: 20px;
  margin-left: 6px;
}
#community-content .global-nav {
  display: flex;
  margin: 36px 0 30px;
  padding: 0;
  list-style: none;
  align-items: stretch;
}
#community-content .global-nav li {
  flex: 1;
  border-left: 1px dotted #8e764b;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
#community-content .global-nav li:last-child {
  border-right: 1px dotted #8e764b;
}
#community-content .global-nav a {
  color: #5a3c00;
  text-decoration: none;
  font-size: clamp(13px, 1.15vw, 21px);
  font-weight: 700;
  line-height: 1.5;
  padding: 4px 10px;
  display: block;
}
#community-content .global-nav a:hover {
  color: #288e42;
}
#community-content .mobile-nav {
  display: none;
}
#community-content .contact-hero {
  position: relative;
  max-width: 1760px;
  margin: auto;
  min-height: clamp(330px, 29vw, 565px);
  display: flex;
  align-items: center;
}
#community-content .contact-hero-photo {
  position: absolute;
  right: 0;
  top: 0;
  width: 75%;
  height: 100%;
  border-radius: 38px;
  object-fit: cover;
  object-position: 65% center;
}
#community-content .contact-hero-title {
  position: relative;
  z-index: 1;
  background: url("community-assets/common/title-bg.png") center/100% 100% no-repeat;
  width: 49%;
  min-height: clamp(300px, 26vw, 510px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}
#community-content .contact-hero-title img {
  width: 69%;
  height: auto;
  margin-left: 3%;
}
#community-content .aoba-contact {
  font-family: inherit;
  padding-top: 55px;
}
#community-content .aoba-contact .ac-heading {
  margin-bottom: 44px;
}
#community-content .aoba-contact .ac-heading p {
  margin-top: 0;
}
#community-content .aoba-contact .ac-image-heading {
  border: 0;
  padding: 0;
  text-align: center;
  margin: 0 0 32px;
}
#community-content .ac-image-heading img {
  max-width: 100%;
  width: 380px;
  height: auto;
}
#community-content .aoba-contact h2 {
  color: #5a3c00;
}
#community-content .site-footer {
  border-top: 1px solid #e2eadc;
  padding: 48px 24px 24px;
  text-align: center;
  background: #f7faf2;
  color: #5a3c00;
  font-size: 14px;
  line-height: 1.9;
}
#community-content .site-footer img {
  width: 270px;
  max-width: 80%;
  margin-bottom: 16px;
}
#community-content .site-footer p {
  margin: 6px 0;
}
#community-content .site-footer small {
  display: block;
  margin-top: 25px;
  font-size: 12px;
}
#community-content .site-skip {
  position: absolute;
  top: -100px;
  left: 15px;
  z-index: 10;
  background: white;
  padding: 10px;
}
#community-content .site-skip:focus {
  top: 10px;
}
@media (max-width: 1000px) {
  #community-content .site-top {
    padding: 20px 24px 40px;
    background-size: auto 750px;
  }
  #community-content .header-actions {
    gap: 10px;
  }
  #community-content .pill {
    font-size: 14px;
    padding: 12px 17px;
    gap: 8px;
  }
  #community-content .pill img {
    width: 21px;
    height: 21px;
  }
  #community-content .brand img {
    width: 270px;
  }
  #community-content .global-nav a {
    font-size: 13px;
    padding: 4px 7px;
  }
  #community-content .contact-hero-title {
    width: 52%;
  }
  #community-content .contact-hero-photo {
    width: 78%;
  }
}
@media (max-width: 700px) {
  #community-content .site-top {
    padding: 20px 18px 32px;
    background-size: auto 650px;
  }
  #community-content .header-row {
    display: block;
  }
  #community-content .brand img {
    width: 250px;
    max-width: 90%;
    margin: 0 auto;
  }
  #community-content .header-actions {
    justify-content: center;
    margin-top: 20px;
  }
  #community-content .pill {
    font-size: 14px;
    padding: 11px 16px;
  }
  #community-content .pill img.arrow {
    display: none;
  }
  #community-content .global-nav {
    display: none;
  }
  #community-content .mobile-nav {
    display: block;
    margin: 20px 0;
    color: #5a3c00;
  }
  #community-content .mobile-nav summary {
    cursor: pointer;
    font-weight: 700;
    border-top: 1px dotted #b4a380;
    border-bottom: 1px dotted #b4a380;
    padding: 10px 4px;
  }
  #community-content .mobile-nav ul {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 10px 0;
    margin: 0;
  }
  #community-content .mobile-nav a {
    display: block;
    padding: 10px 8px;
    color: #5a3c00;
    font-size: 14px;
    text-decoration: none;
  }
  #community-content .contact-hero {
    min-height: 310px;
    align-items: flex-end;
  }
  #community-content .contact-hero-photo {
    height: 230px;
    width: 90%;
    border-radius: 24px;
    object-position: 65% center;
  }
  #community-content .contact-hero-title {
    width: 76%;
    min-height: 180px;
    margin-left: -6px;
    margin-bottom: 0;
  }
  #community-content .contact-hero-title img {
    width: 72%;
  }
  #community-content .aoba-contact {
    padding-top: 24px;
  }
  #community-content .site-footer {
    padding: 32px 20px 24px;
  }
}
#community-content .community-hero .contact-hero-title {
  flex-direction: column;
  gap: 14px;
}
#community-content .community-hero .contact-hero-title img {
  width: 72%;
  margin: 0;
}
#community-content .community {
  color: #5a3c00;
  font-size: 17px;
  line-height: 1.95;
}
#community-content .community * {
  box-sizing: border-box;
}
#community-content .community p {
  margin: 0 0 20px;
}
#community-content .community h3 {
  font-size: 23px;
  line-height: 1.6;
  margin: 0 0 14px;
}
#community-content .community-intro {
  max-width: 1040px;
  margin: auto;
  padding: 50px 24px 85px;
  text-align: center;
}
#community-content .community-jump {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 32px auto 0;
  max-width: 780px;
}
#community-content .community-jump a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  padding: 22px 30px;
  background: #eff8ef;
  border: 1px solid #b7d6ab;
  border-radius: 22px;
  text-decoration: none;
  color: #5a3c00;
  font-size: 23px;
  font-weight: 700;
}
#community-content .community-jump a:nth-child(2) {
  background: #fcf8dd;
  border-color: #e7d89b;
}
#community-content .community-jump small {
  display: block;
  font-size: 15px;
}
#community-content .community-band {
  position: relative;
  padding: 85px 28px 105px;
  scroll-margin-top: 28px;
}
#community-content .community-band:before {
  content: "";
  position: absolute;
  top: -29px;
  left: 0;
  right: 0;
  height: 30px;
  background: center/100% 100% no-repeat;
}
#community-content .mint {
  background: #eff8ef;
}
#community-content .mint:before {
  background-image: url("community-assets/wave-green.svg");
}
#community-content .cream {
  background: #fcf8dd;
}
#community-content .cream:before {
  background-image: url("community-assets/wave-yellow.svg");
}
#community-content .donation {
  background: #fff;
}
#community-content .donation:before {
  background-image: url("community-assets/wave-white.svg");
}
#community-content .community-inner {
  max-width: 1180px;
  margin: auto;
}
#community-content .community-heading {
  text-align: center;
  margin: 0 0 35px;
  padding-bottom: 28px;
  background: url("community-assets/common/heading-line.svg") center bottom/310px auto no-repeat;
}
#community-content .community-heading img {
  height: 48px;
  max-width: 100%;
  width: auto;
}
#community-content .lead {
  text-align: center;
  font-size: 25px;
  font-weight: 700;
}
#community-content .center {
  text-align: center;
}
#community-content .worry-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
  margin: 45px 0;
}
#community-content .worry-grid > div {
  position: relative;
  background: white;
  padding: 38px 18px 24px;
  border-radius: 30px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
}
#community-content .worry-grid p {
  margin: 0;
}
#community-content .worry-grid span {
  position: absolute;
  top: -19px;
  left: calc(50% - 22px);
  border-radius: 50%;
  width: 44px;
  height: 44px;
  background: #73c66b;
  color: white;
  font-size: 30px;
  line-height: 44px;
}
#community-content .consult-call {
  background: white;
  border-radius: 30px;
  padding: 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  align-items: center;
}
#community-content .consult-call p {
  margin-bottom: 10px;
}
#community-content .call-detail {
  text-align: center;
}
#community-content .contact-label {
  font-size: 16px;
  font-weight: 700;
}
#community-content .phone {
  display: block;
  background: #ed7e46;
  color: #fff;
  text-decoration: none;
  border-radius: 70px;
  padding: 16px 20px;
  font-size: clamp(23px, 2.7vw, 37px);
  font-weight: 900;
  line-height: 1.5;
  white-space: nowrap;
  text-align: center;
}
#community-content .phone:hover {
  background: #d76936;
}
#community-content .hours {
  font-size: 16px;
  margin: 12px 0 0 !important;
}
#community-content .pantry-guide {
  display: grid;
  grid-template-columns: 42% 1fr;
  background: white;
  border-radius: 32px;
  overflow: hidden;
  margin: 40px 0 0;
}
#community-content .pantry-photo {
  position: relative;
  min-height: 380px;
}
#community-content .pantry-photo img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: 78% center;
}
#community-content .pantry-photo span {
  position: absolute;
  bottom: 22px;
  left: 24px;
  background: rgba(255, 255, 255, 0.9294117647);
  padding: 17px 25px;
  border-radius: 25px;
  color: #397b3c;
  font-size: 23px;
  font-weight: 700;
}
#community-content .guide-text {
  padding: 35px;
}
#community-content .guide-text h3 {
  color: #397b3c;
}
#community-content .guide-text dl {
  margin: 0;
}
#community-content .guide-text dl > div {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 17px;
  padding: 17px 0;
  border-bottom: 1px dotted #cfc6aa;
}
#community-content .guide-text dl > div:last-child {
  border: 0;
}
#community-content .guide-text dt {
  font-weight: 700;
  color: #397b3c;
}
#community-content .guide-text dd {
  margin: 0;
}
#community-content .pantry-call {
  background: #fff;
  padding: 30px;
  text-align: center;
  border-top: 1px dashed #ded4a5;
  border-radius: 0 0 32px 32px;
  margin: -22px 0 45px;
  position: relative;
}
#community-content .contact-tag {
  display: inline-block;
  color: #397b3c;
  font-weight: 700;
  margin-bottom: 12px;
}
#community-content .pantry-call h3 {
  margin: 0;
}
#community-content .pantry-call p {
  margin: 4px 0 20px;
}
#community-content .pantry-call .phone {
  max-width: 520px;
  margin: auto;
}
#community-content .phone small {
  display: block;
  font-size: 16px;
}
#community-content .phone strong {
  font-weight: 900;
}
#community-content .process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}
#community-content .process-grid article {
  background: #fff;
  padding: 28px;
  border-radius: 27px;
}
#community-content .step {
  font-size: 34px;
  color: #73b96a;
  font-weight: 900;
}
#community-content .process-grid article:nth-child(2) .step {
  color: #64bec4;
}
#community-content .process-grid article:nth-child(3) .step {
  color: #ed7e46;
}
#community-content .process-grid h3 {
  font-size: 21px;
  margin: 5px 0 12px;
}
#community-content .process-grid p {
  margin: 0;
}
#community-content .donation-box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 25px;
  padding: 35px;
  background: #fcf8dd;
  border-radius: 30px;
  margin-top: 32px;
}
#community-content .donation-box p {
  margin: 0;
}
#community-content .donation-link {
  display: block;
  text-decoration: none;
  color: white;
  background: #ed7e46;
  padding: 20px;
  border-radius: 50px;
  text-align: center;
  font-weight: 700;
  font-size: 16px;
}
#community-content .donation-link span {
  display: block;
  font-size: 26px;
}
#community-content .community a:focus-visible {
  outline: 3px solid #5a3c00;
  outline-offset: 5px;
}
@media (max-width: 767px) {
  #community-content .community {
    font-size: 16px;
  }
  #community-content .community-intro {
    padding: 30px 20px 65px;
  }
  #community-content .community-jump {
    gap: 12px;
  }
  #community-content .community-jump a {
    padding: 17px 14px;
    font-size: 18px;
    border-radius: 18px;
  }
  #community-content .community-jump small {
    font-size: 12px;
  }
  #community-content .community-band {
    padding: 55px 20px 75px;
  }
  #community-content .community-heading img {
    height: auto;
    max-height: 38px;
    max-width: 95%;
  }
  #community-content .community-heading {
    background-size: 230px auto;
    padding-bottom: 22px;
    margin-bottom: 25px;
  }
  #community-content .lead {
    font-size: 21px;
  }
  #community-content .center br {
    display: none;
  }
  #community-content .worry-grid,
  #community-content .consult-call,
  #community-content .pantry-guide,
  #community-content .process-grid,
  #community-content .donation-box {
    grid-template-columns: 1fr;
  }
  #community-content .worry-grid {
    gap: 30px;
    margin: 38px 0 28px;
  }
  #community-content .worry-grid > div {
    font-size: 18px;
  }
  #community-content .consult-call {
    padding: 27px 20px;
    gap: 16px;
  }
  #community-content .community h3 {
    font-size: 20px;
  }
  #community-content .phone {
    font-size: clamp(22px, 6vw, 34px);
    padding: 16px 12px;
  }
  #community-content .hours {
    font-size: 14px;
  }
  #community-content .pantry-photo {
    min-height: 260px;
  }
  #community-content .guide-text {
    padding: 25px 20px 35px;
  }
  #community-content .guide-text dl > div {
    grid-template-columns: 75px 1fr;
    gap: 12px;
  }
  #community-content .pantry-call {
    padding: 27px 18px;
  }
  #community-content .process-grid {
    gap: 16px;
  }
  #community-content .process-grid article {
    padding: 22px;
  }
  #community-content .donation-box {
    padding: 25px 20px;
  }
  #community-content .donation-link {
    font-size: 14px;
  }
  #community-content .donation-link span {
    font-size: 24px;
  }
  #community-content .community-hero .contact-hero-title {
    gap: 9px;
  }
  #community-content .community-hero .contact-hero-title img {
    width: 76%;
  }
}
@media (prefers-reduced-motion: reduce) {
  #community-content html {
    scroll-behavior: auto;
  }
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
#voices-content .site-top {
  background: #fff9ec url("../images/voice/common/body-bg-4.png") center top/100% auto no-repeat;
  padding: 24px max(24px, 6.5vw) 70px;
}
#voices-content .site-header {
  max-width: 1760px;
  margin: auto;
}
#voices-content .header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
#voices-content .brand img {
  display: block;
  width: clamp(240px, 25vw, 465px);
  height: auto;
}
#voices-content .header-actions {
  display: flex;
  gap: 24px;
}
#voices-content .pill {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  padding: 15px 26px;
  border-radius: 99px;
  background: #73c66b;
  color: #fff !important;
  text-decoration: none;
  font-size: 18px;
  font-weight: 800;
  white-space: nowrap;
}
#voices-content .pill-recruit {
  background: #ed7e46;
}
#voices-content .pill img {
  width: 26px;
  height: 26px;
}
#voices-content .pill img.arrow {
  width: 20px;
  height: 20px;
  margin-left: 6px;
}
#voices-content .global-nav {
  display: flex;
  margin: 36px 0 30px;
  padding: 0;
  list-style: none;
  align-items: stretch;
}
#voices-content .global-nav li {
  flex: 1;
  border-left: 1px dotted #8e764b;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
#voices-content .global-nav li:last-child {
  border-right: 1px dotted #8e764b;
}
#voices-content .global-nav a {
  color: #5a3c00;
  text-decoration: none;
  font-size: clamp(13px, 1.15vw, 21px);
  font-weight: 700;
  line-height: 1.5;
  padding: 4px 10px;
  display: block;
}
#voices-content .global-nav a:hover {
  color: #288e42;
}
#voices-content .mobile-nav {
  display: none;
}
#voices-content .contact-hero {
  position: relative;
  max-width: 1760px;
  margin: auto;
  min-height: clamp(330px, 29vw, 565px);
  display: flex;
  align-items: center;
}
#voices-content .contact-hero-photo {
  position: absolute;
  right: 0;
  top: 0;
  width: 75%;
  height: 100%;
  border-radius: 38px;
  object-fit: cover;
  object-position: 65% center;
}
#voices-content .contact-hero-title {
  position: relative;
  z-index: 1;
  background: url("../images/voice/common/title-bg.png") center/100% 100% no-repeat;
  width: 49%;
  min-height: clamp(300px, 26vw, 510px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}
#voices-content .contact-hero-title img {
  width: 69%;
  height: auto;
  margin-left: 3%;
}
#voices-content .aoba-contact {
  font-family: inherit;
  padding-top: 55px;
}
#voices-content .aoba-contact .ac-heading {
  margin-bottom: 44px;
}
#voices-content .aoba-contact .ac-heading p {
  margin-top: 0;
}
#voices-content .aoba-contact .ac-image-heading {
  border: 0;
  padding: 0;
  text-align: center;
  margin: 0 0 32px;
}
#voices-content .ac-image-heading img {
  max-width: 100%;
  width: 380px;
  height: auto;
}
#voices-content .aoba-contact h2 {
  color: #5a3c00;
}
#voices-content .site-footer {
  border-top: 1px solid #e2eadc;
  padding: 48px 24px 24px;
  text-align: center;
  background: #f7faf2;
  color: #5a3c00;
  font-size: 14px;
  line-height: 1.9;
}
#voices-content .site-footer img {
  width: 270px;
  max-width: 80%;
  margin-bottom: 16px;
}
#voices-content .site-footer p {
  margin: 6px 0;
}
#voices-content .site-footer small {
  display: block;
  margin-top: 25px;
  font-size: 12px;
}
#voices-content .site-skip {
  position: absolute;
  top: -100px;
  left: 15px;
  z-index: 10;
  background: white;
  padding: 10px;
}
#voices-content .site-skip:focus {
  top: 10px;
}
@media (max-width: 1000px) {
  #voices-content .site-top {
    padding: 20px 24px 40px;
    background-size: auto 750px;
  }
  #voices-content .header-actions {
    gap: 10px;
  }
  #voices-content .pill {
    font-size: 14px;
    padding: 12px 17px;
    gap: 8px;
  }
  #voices-content .pill img {
    width: 21px;
    height: 21px;
  }
  #voices-content .brand img {
    width: 270px;
  }
  #voices-content .global-nav a {
    font-size: 13px;
    padding: 4px 7px;
  }
  #voices-content .contact-hero-title {
    width: 52%;
  }
  #voices-content .contact-hero-photo {
    width: 78%;
  }
}
@media (max-width: 700px) {
  #voices-content .site-top {
    padding: 20px 18px 32px;
    background-size: auto 650px;
  }
  #voices-content .header-row {
    display: block;
  }
  #voices-content .brand img {
    width: 250px;
    max-width: 90%;
    margin: 0 auto;
  }
  #voices-content .header-actions {
    justify-content: center;
    margin-top: 20px;
  }
  #voices-content .pill {
    font-size: 14px;
    padding: 11px 16px;
  }
  #voices-content .pill img.arrow {
    display: none;
  }
  #voices-content .global-nav {
    display: none;
  }
  #voices-content .mobile-nav {
    display: block;
    margin: 20px 0;
    color: #5a3c00;
  }
  #voices-content .mobile-nav summary {
    cursor: pointer;
    font-weight: 700;
    border-top: 1px dotted #b4a380;
    border-bottom: 1px dotted #b4a380;
    padding: 10px 4px;
  }
  #voices-content .mobile-nav ul {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 10px 0;
    margin: 0;
  }
  #voices-content .mobile-nav a {
    display: block;
    padding: 10px 8px;
    color: #5a3c00;
    font-size: 14px;
    text-decoration: none;
  }
  #voices-content .contact-hero {
    min-height: 310px;
    align-items: flex-end;
  }
  #voices-content .contact-hero-photo {
    height: 230px;
    width: 90%;
    border-radius: 24px;
    object-position: 65% center;
  }
  #voices-content .contact-hero-title {
    width: 76%;
    min-height: 180px;
    margin-left: -6px;
    margin-bottom: 0;
  }
  #voices-content .contact-hero-title img {
    width: 72%;
  }
  #voices-content .aoba-contact {
    padding-top: 24px;
  }
  #voices-content .site-footer {
    padding: 32px 20px 24px;
  }
}
#voices-content {
  /* 職員の声 専用スタイル */
}
#voices-content * {
  box-sizing: border-box;
}
#voices-content .voices-hero-photos {
  position: absolute;
  right: 0;
  top: 0;
  width: 75%;
  height: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  overflow: hidden;
  border-radius: 38px;
  gap: 5px;
  background: #fff;
}
#voices-content .voices-hero-photos img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#voices-content .voices-hero-photos img:first-child {
  object-position: 38% center;
}
#voices-content .voices-hero-photos img:nth-child(2) {
  object-position: 45% center;
}
#voices-content .voices-hero-photos img:last-child {
  object-position: 67% center;
}
#voices-content .voices-hero .contact-hero-title img {
  width: 72%;
  margin: 0;
}
#voices-content .voices-welcome {
  max-width: 1100px;
  margin: 0 auto;
  padding: 55px 24px 65px;
  text-align: center;
}
#voices-content .voices-welcome p {
  margin: 0 0 30px;
}
#voices-content .voices-welcome nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
}
#voices-content .voices-welcome a {
  border: 1px solid #c6dbbf;
  border-radius: 99px;
  padding: 8px 24px;
  background: #f4faee;
  color: inherit;
  text-decoration: none;
  font-weight: 700;
  display: flex;
  gap: 24px;
  align-items: center;
}
#voices-content .voices-welcome a:hover {
  background: #e1f0d8;
}
#voices-content .voice-band {
  padding: 95px 28px 110px;
  position: relative;
  scroll-margin-top: 25px;
}
#voices-content .voice-band:before {
  content: "";
  position: absolute;
  top: -29px;
  left: 0;
  right: 0;
  height: 30px;
  background: url("../images/voice/wave-yellow.svg") bottom/100% 100% no-repeat;
}
#voices-content .band-1,
#voices-content .band-3,
#voices-content .band-5 {
  background: #fcf8dd;
}
#voices-content .band-2,
#voices-content .band-4 {
  background: #eff8ef;
}
#voices-content .band-2:before,
#voices-content .band-4:before {
  background-image: url("../images/voice/wave-green.svg");
}
#voices-content .voice-inner {
  max-width: 1180px;
  margin: auto;
  position: relative;
}
#voices-content .voice-inner:before {
  content: "";
  position: absolute;
  right: -36px;
  top: -40px;
  width: 88px;
  height: 88px;
  background: url("../images/common/orn-1.svg") center/contain no-repeat;
  pointer-events: none;
}
#voices-content .voice-overview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 70px;
}
#voices-content .voice-photo {
  margin: 0;
  position: relative;
  align-self: center;
}
#voices-content .voice-photo img {
  width: 100%;
  height: auto;
  max-height: 560px;
  object-fit: contain;
  display: block;
  border-radius: 38px 65px 38px 65px;
}
#voices-content .voice-intro {
  padding: 10px 0;
}
#voices-content .voice-number {
  color: #cf6636;
  letter-spacing: 0.16em;
  font-size: 15px;
  font-weight: 900;
  display: block;
}
#voices-content .voice-intro h2 {
  font-size: 38px;
  letter-spacing: 0.1em;
  margin: 12px 0 22px;
  line-height: 1.4;
}
#voices-content .voice-intro h2 small {
  font-size: 18px;
  margin-left: 10px;
}
#voices-content .voice-intro blockquote {
  font-size: 24px;
  line-height: 1.85;
  font-weight: 700;
  margin: 0 0 26px;
  overflow-wrap: anywhere;
}
#voices-content .voice-anchor {
  display: inline-flex;
  gap: 25px;
  align-items: center;
  color: #327b38;
  text-decoration: none;
  border-bottom: 2px dotted #78bd6a;
  padding: 5px 0;
  font-size: 15px;
  font-weight: 700;
}
#voices-content .band-2 .voice-photo,
#voices-content .band-4 .voice-photo {
  grid-column: 2;
  grid-row: 1;
}
#voices-content .band-2 .voice-intro,
#voices-content .band-4 .voice-intro {
  grid-column: 1;
  grid-row: 1;
}
#voices-content .voice-details {
  margin-top: 40px;
  scroll-margin-top: 24px;
}
#voices-content .voice-details > summary {
  list-style: none;
  cursor: pointer;
  text-align: center;
  border: 1px solid #8caf75;
  background: #fff;
  border-radius: 99px;
  color: #39743a;
  font-size: 17px;
  font-weight: 700;
  padding: 15px 25px;
  width: min(100%, 310px);
  margin: 0 auto;
}
#voices-content .voice-details > summary::-webkit-details-marker {
  display: none;
}
#voices-content .voice-details > summary:hover {
  background: #e7f2dd;
}
#voices-content .read-less {
  display: none;
}
#voices-content .voice-details[open] .read-less {
  display: inline;
}
#voices-content .voice-details[open] .read-more {
  display: none;
}
#voices-content .voice-body {
  padding: 25px 55px 45px;
  margin-top: 35px;
  border-radius: 30px;
  background: #fff;
}
#voices-content .voice-answer {
  padding: 30px 0;
  border-bottom: 1px dashed #d4dcc8;
}
#voices-content .voice-answer:last-child {
  border: 0;
  padding-bottom: 0;
}
#voices-content .voice-answer h3 {
  margin: 0 0 20px;
  font-size: 21px;
  line-height: 1.8;
  color: #86542c;
  display: flex;
  align-items: baseline;
  gap: 18px;
}
#voices-content .voice-answer h3 span {
  flex-shrink: 0;
  color: #ed7e46;
  font-size: 20px;
  font-weight: 900;
}
#voices-content .voice-answer p {
  margin: 0 0 15px;
}
#voices-content .voice-answer p:last-child {
  margin: 0;
}
#voices-content .voices-recruit {
  padding: 55px 24px 75px;
  text-align: center;
}
#voices-content .voices-recruit p {
  margin: 0 0 22px;
}
#voices-content .voices-recruit .pill {
  max-width: 345px;
  margin: auto;
}
#voices-content .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
#voices-content a:focus-visible,
#voices-content .voice-details summary:focus-visible {
  outline: 3px solid #286d39;
  outline-offset: 5px;
}
@media (max-width: 1000px) {
  #voices-content .voice-overview {
    gap: 35px;
  }
  #voices-content .voice-intro blockquote {
    font-size: 21px;
  }
  #voices-content .voice-inner:before {
    right: 0;
    width: 60px;
    height: 60px;
  }
}
@media (max-width: 767px) {
  #voices-content .voices-hero-photos {
    height: 230px;
    width: 95%;
    border-radius: 24px;
    grid-template-columns: 1fr 1fr;
  }
  #voices-content .voices-hero-photos img:last-child {
    display: none;
  }
  #voices-content .voices-hero .contact-hero-title {
    width: 76%;
  }
  #voices-content .voices-welcome {
    padding: 28px 20px 55px;
  }
  #voices-content .voices-welcome nav {
    gap: 8px;
  }
  #voices-content .voices-welcome a {
    font-size: 14px;
    padding: 7px 15px;
    gap: 12px;
  }
  #voices-content .voice-band {
    padding: 58px 22px 80px;
  }
  #voices-content .voice-overview {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
  #voices-content .band-2 .voice-photo,
  #voices-content .band-4 .voice-photo,
  #voices-content .band-2 .voice-intro,
  #voices-content .band-4 .voice-intro {
    grid-column: auto;
    grid-row: auto;
  }
  #voices-content .voice-photo {
    max-width: 520px;
    width: 100%;
    margin: auto;
  }
  #voices-content .voice-photo img {
    max-height: 440px;
    border-radius: 25px 42px 25px 42px;
  }
  #voices-content .voice-intro {
    padding: 0;
  }
  #voices-content .voice-intro h2 {
    font-size: 30px;
    margin: 8px 0 16px;
  }
  #voices-content .voice-intro blockquote {
    font-size: 21px;
    line-height: 1.85;
    margin-bottom: 15px;
  }
  #voices-content .voice-number {
    font-size: 13px;
  }
  #voices-content .voice-inner:before {
    right: 0;
    top: -40px;
    width: 45px;
    height: 45px;
  }
  #voices-content .voice-details {
    margin-top: 26px;
  }
  #voices-content .voice-body {
    padding: 8px 20px 28px;
    margin-top: 25px;
    border-radius: 20px;
  }
  #voices-content .voice-answer {
    padding: 25px 0;
  }
  #voices-content .voice-answer h3 {
    font-size: 18px;
    gap: 10px;
    margin-bottom: 16px;
  }
  #voices-content .voice-answer h3 span {
    font-size: 17px;
  }
  #voices-content .voice-band:before {
    background-size: 100% 100%;
  }
  #voices-content .voices-recruit {
    padding: 40px 22px 55px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #voices-content html {
    scroll-behavior: auto;
  }
}
@media print {
  #voices-content .voice-details::details-content {
    content-visibility: visible;
  }
  #voices-content .voice-details summary,
  #voices-content .voice-anchor,
  #voices-content .header-actions,
  #voices-content .global-nav,
  #voices-content .mobile-nav,
  #voices-content .voices-welcome nav {
    display: none;
  }
  #voices-content .voice-band {
    break-inside: auto;
    padding: 30px;
  }
  #voices-content .voice-body {
    padding: 0;
  }
  #voices-content .voice-photo img {
    max-height: 240px;
  }
}
#voices-content {
  /* Uniform staff photographs on desktop and mobile. */
}
#voices-content .voice-photo {
  width: 100%;
  max-width: none;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 38px 65px 38px 65px;
  margin: 0;
}
#voices-content .voice-photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  border-radius: 0;
}
#voices-content #suzuki .voice-photo img {
  object-position: 60% 40%;
}
#voices-content #okumura .voice-photo img {
  object-position: 50% 40%;
}
#voices-content #kumagai .voice-photo img {
  object-position: 45% 40%;
}
#voices-content #tate .voice-photo img {
  object-position: 50% 12%;
}
#voices-content #tabata .voice-photo img {
  object-position: 65% 50%;
}
@media (max-width: 767px) {
  #voices-content .voice-photo {
    max-width: 520px;
    margin: 0 auto;
    aspect-ratio: 4/3;
    border-radius: 25px 42px 25px 42px;
  }
}

/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
/* =========================== */
@-moz-document url-prefix() {}
/* -------------------
  OBJECT FIT FOR IE
--------------------*/
.cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
/*# sourceMappingURL=../maps/index.css.map */
