@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Google+Sans:ital,opsz,wght@0,17..18,400..700;1,17..18,400..700&display=swap");
@-webkit-keyframes fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade_out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade_out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes load {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes arr {
  0% {
    background-position: -100% 50%;
  }
  100% {
    background-position: 50% 50%;
  }
}
@keyframes arr {
  0% {
    background-position: -100% 50%;
  }
  100% {
    background-position: 50% 50%;
  }
}
@-webkit-keyframes nav_open {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}
@keyframes nav_open {
  0% {
    -webkit-clip-path: inset(0 0 100% 0);
    clip-path: inset(0 0 100% 0);
  }
  100% {
    -webkit-clip-path: inset(0 0 0 0);
    clip-path: inset(0 0 0 0);
  }
}
html {
  background: #fff;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  -webkit-font-variant-ligatures: none;
  font-variant-ligatures: none;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  font-size: 62.5%;
}
@media screen and (max-width: 374px) {
  html {
    font-size: 56.3%;
  }
}

body {
  min-width: 1200px;
  background: #fff;
  color: #434343;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W3", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1;
  text-align: center;
  -webkit-text-size-adjust: 100% !important;
}

@media screen and (max-width: 480px) {
  body {
    min-width: 320px;
  }
}
body,
header,
main,
div,
ol, ul, li,
hgroup,
h1, h2, h3, h4, h5, h6,
form, input, textarea, button,
p,
blockquote,
figure,
picture,
img,
tabl, th, td {
  margin: 0;
  padding: 0;
}

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

audio, canvas, progress, video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

template, [hidden] {
  display: none;
}

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
}

dfn {
  font-style: italic;
}

progress {
  vertical-align: baseline;
}

address {
  font-style: normal;
}

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

img {
  border: 0;
  vertical-align: top;
}

strong {
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
}

ol li,
ul li {
  list-style: none;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

input,
textarea,
select,
button {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input,
textarea {
  font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Meryo, "メイリオ", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  letter-spacing: 0.02em;
}

input,
textarea,
select,
button {
  *font-size: 100%;
}

button,
select {
  cursor: pointer;
}

button {
  border: none;
  outline: none !important;
}

sup {
  font-size: 10px;
}

hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #dedede;
}

a {
  cursor: pointer;
  text-decoration: underline;
  color: #00a2ff;
}
@media (any-hover: hover) and (min-width: 481px) {
  a:hover {
    text-decoration: none;
  }
}

br.pc {
  display: inline;
}
@media screen and (max-width: 480px) {
  br.pc {
    display: none;
  }
}
br.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  br.sp {
    display: inline;
  }
}

@-webkit-keyframes circle {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes circle {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
#loader {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  background-color: #fff;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
#loader div {
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
}
#loader .logo {
  opacity: 0;
  -webkit-transition: opacity 75ms;
  transition: opacity 75ms;
  width: 120px;
  aspect-ratio: 190/90;
  background: url("../img/loader_bg.png") no-repeat 0 0/100%;
}
@media screen and (max-width: 480px) {
  #loader .logo {
    width: 26.67vw;
  }
}
#loader #loader_spiral {
  width: 100%;
  height: 100%;
  visibility: hidden;
}
#loader #loader_spiral path {
  fill: none;
  stroke: #fff;
}
#loader #loader_spiral .a {
  stroke-width: 20px;
}
#loader #loader_spiral .b {
  stroke-width: 8px;
}
#loader #loader_spiral .c {
  stroke-width: 26px;
}
#loader #loader_spiral .d {
  stroke-width: 20px;
}
#loader .circle {
  position: relative;
  width: 40px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #009944;
  background: -webkit-linear-gradient(45deg, #009944 0%, #fff100 100%);
  background: linear-gradient(45deg, #009944 0%, #fff100 100%);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0.5;
  -webkit-animation: circle 1s linear infinite;
  animation: circle 1s linear infinite;
}
@media screen and (max-width: 480px) {
  #loader .circle {
    width: 30px;
  }
}
#loader .circle::before {
  position: absolute;
  content: "";
  display: block;
  inset: 5%;
  border-radius: 50%;
  background-color: #fff;
}
#loader.start .logo {
  opacity: 1;
}
#loader.start #loader_spiral {
  visibility: visible;
}
#loader.done {
  opacity: 0;
}
#loader.done div {
  opacity: 0;
}

.p_wrap {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.p_wrap::before {
  content: "";
  display: block;
  position: absolute;
  inset: 300px 0 0 0;
  background: url("../img/bg.jpg") repeat center top/3px;
}
@media screen and (max-width: 480px) {
  .p_wrap::before {
    inset: 0;
  }
}

header {
  position: relative;
  z-index: 10;
}
header .logo {
  position: absolute;
  inset: 26px auto auto 30px;
}
@media screen and (max-width: 480px) {
  header .logo {
    inset: 3.47vw auto auto 3.47vw;
  }
  header .logo img {
    width: 28.27vw;
    height: auto;
  }
}
header nav {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto auto;
}

#ham {
  position: relative;
  z-index: 1;
  width: 95px;
  aspect-ratio: 1;
  background-color: #00478b;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-decoration: none;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
@media (any-hover: hover) and (min-width: 481px) {
  #ham:hover {
    background-color: #002a53;
  }
}
@media screen and (max-width: 480px) {
  #ham {
    width: 13.33vw;
  }
}
#ham .line {
  width: 35px;
  height: 1px;
  background-color: white;
  position: relative;
  -webkit-transition: background-color 0.5s;
  transition: background-color 0.5s;
}
@media screen and (max-width: 480px) {
  #ham .line {
    width: 4.93vw;
  }
}
#ham .line::before, #ham .line::after {
  content: "";
  position: absolute;
  background-color: #fff;
  inset: 0;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
#ham .line::before {
  -webkit-transform: translateY(-11px);
  transform: translateY(-11px);
}
@media screen and (max-width: 480px) {
  #ham .line::before {
    -webkit-transform: translateY(-1.6vw);
    transform: translateY(-1.6vw);
  }
}
#ham .line::after {
  -webkit-transform: translateY(11px);
  transform: translateY(11px);
}
@media screen and (max-width: 480px) {
  #ham .line::after {
    -webkit-transform: translateY(1.6vw);
    transform: translateY(1.6vw);
  }
}

body.menu_open #ham {
  background-color: #002a53;
}
body.menu_open #ham .line {
  background-color: rgba(255, 255, 255, 0);
}
body.menu_open #ham .line::before {
  -webkit-transform: translateY(0) rotate(30deg);
  transform: translateY(0) rotate(30deg);
}
body.menu_open #ham .line::after {
  -webkit-transform: translateY(0) rotate(-30deg);
  transform: translateY(0) rotate(-30deg);
}

#menu_all {
  position: fixed;
  inset: 0 0 auto auto;
  opacity: 0;
  width: 10px;
  height: 10px;
  overflow: hidden;
}
#menu_all .layer {
  position: absolute;
  inset: 0;
  background-color: rgba(255, 255, 255, 0.9);
}
#menu_all .box {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #00478b;
  color: #fff;
  padding: 75px 0 100px;
  width: 100%;
}
@media screen and (max-width: 1200px) {
  #menu_all .box {
    inset: 0;
  }
}
@media screen and (max-width: 480px) {
  #menu_all .box {
    padding: 18.67vw 0;
  }
}
#menu_all .box .inr {
  width: clamp(1028px, 85.7%, 1200px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 110px clamp(51px, 4.29%, 60px);
  text-align: left;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: clamp(1.6rem, 1.5vw, 2.1rem);
}
@media screen and (max-width: 1200px) {
  #menu_all .box .inr {
    width: 85.3%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    font-size: clamp(1.6rem, 4.27vw, 2.1rem);
  }
}
@media screen and (max-width: 480px) {
  #menu_all .box .inr {
    gap: 13.33vw;
  }
}
#menu_all .box a {
  display: inline-block;
  vertical-align: top;
  position: relative;
  color: #fff;
  text-decoration: none;
  padding-left: 30px;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) and (min-width: 481px) {
  #menu_all .box a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 480px) {
  #menu_all .box a {
    display: block;
    padding-left: 6.67vw;
  }
}
#menu_all .box a::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 19px;
  aspect-ratio: 1;
  background: url("../img/arr1_wh.svg") no-repeat center center/contain;
}
@media screen and (max-width: 480px) {
  #menu_all .box a::after {
    width: 4vw;
  }
}
#menu_all .box a .sub {
  font-size: clamp(1.2rem, 1vw, 1.4rem);
  padding-right: 1em;
}
@media screen and (max-width: 480px) {
  #menu_all .box a .sub {
    font-size: clamp(1.2rem, 3.2vw, 1.4rem);
  }
}
#menu_all .box img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 480px) {
  #menu_all .box img {
    width: auto;
    height: 4vw;
  }
}
#menu_all .box .top {
  grid-column: 1/4;
  grid-row: 1/2;
}
#menu_all .box .event {
  grid-column: 1/2;
  grid-row: 2/3;
}
#menu_all .box .program {
  grid-column: 2/3;
  grid-row: 2/3;
}
#menu_all .box .photo {
  grid-column: 3/4;
  grid-row: 2/3;
}
#menu_all .box ul {
  margin-top: 25px;
  border-top: 1px solid #fff;
}
@media screen and (max-width: 480px) {
  #menu_all .box ul {
    margin-top: 5.33vw;
  }
}
#menu_all .box ul li {
  border-bottom: 1px solid #fff;
  padding: 25px 0;
}
#menu_all .box ul li:nth-child(1) a::before {
  background: url("../img/num1_wh.svg") no-repeat left center/contain;
}
#menu_all .box ul li:nth-child(2) a::before {
  background: url("../img/num2_wh.svg") no-repeat left center/contain;
}
#menu_all .box ul li:nth-child(3) a::before {
  background: url("../img/num3_wh.svg") no-repeat left center/contain;
}
@media screen and (max-width: 480px) {
  #menu_all .box ul li {
    padding: 5.33vw 0;
  }
}
#menu_all .box ul a {
  padding-left: 78px;
}
@media screen and (max-width: 480px) {
  #menu_all .box ul a {
    padding-left: 17.33vw;
  }
}
#menu_all .box ul a::before {
  content: "";
  display: block;
  position: absolute;
  left: 30px;
  top: calc(0.5em - 10px);
  width: 35px;
  height: 20px;
}
@media screen and (max-width: 480px) {
  #menu_all .box ul a::before {
    left: 6.67vw;
    top: calc(0.5em - 2.13vw);
    width: 8vw;
    height: 4.27vw;
  }
}
#menu_all .box ul a::after {
  top: calc(0.5em - 9.5px);
}
@media screen and (max-width: 480px) {
  #menu_all .box ul a::after {
    top: calc(0.5em - 2vw);
  }
}

@media screen and (max-width: 1200px) {
  body.menu_open {
    overflow: hidden;
  }
}
body.menu_open #menu_all {
  inset: 0;
  opacity: 1;
  width: 100%;
  height: 100%;
}
body.menu_open #menu_all .box {
  -webkit-animation: 0.5s forwards nav_open;
  animation: 0.5s forwards nav_open;
}
@media screen and (max-width: 1200px) {
  body.menu_open #menu_all .box {
    position: fixed;
    overflow-y: auto;
  }
}

main {
  position: relative;
}

#s_top {
  padding-top: 70px;
}
@media screen and (max-width: 480px) {
  #s_top {
    padding-top: 26.13vw;
  }
}

.p_ttl {
  position: absolute;
  z-index: 5;
  top: 35px;
  right: 120px;
  border: 1px solid #00478b;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  height: 26px;
  font-size: 1.6rem;
  padding: 0.06em 0.5em 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
@media screen and (max-width: 480px) {
  .p_ttl {
    top: 4.13vw;
    right: 18.93vw;
    height: 4.93vw;
    font-size: clamp(1.1rem, 2.93vw, 1.6rem);
  }
}

.p_subttl {
  margin: 0 auto;
  position: relative;
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
  width: 270px;
  color: #00478b;
  text-align: left;
  opacity: 0;
  -webkit-transform: translateY(5%);
  transform: translateY(5%);
  -webkit-transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, transform 1s;
  transition: opacity 1s, transform 1s, -webkit-transform 1s;
}
@media screen and (max-width: 480px) {
  .p_subttl {
    width: 57.6vw;
  }
  .p_subttl img {
    width: 34.53vw;
    max-width: 158px;
    height: auto;
  }
}
.p_subttl .en {
  display: block;
  position: absolute;
  left: 83px;
  top: 0;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: left top;
  transform-origin: left top;
  white-space: nowrap;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.09em;
  line-height: 2;
}
@media screen and (max-width: 480px) {
  .p_subttl .en {
    left: 18.13vw;
    font-size: clamp(12px, 3.27vw, 15px);
  }
}

#s_top.done .p_subttl {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.p_logo {
  margin: 50px auto 0;
  width: 313px;
  position: relative;
  z-index: 5;
}
@media screen and (max-width: 480px) {
  .p_logo {
    margin: 7.47vw auto 0;
    width: 40.8vw;
  }
}
.p_logo img {
  width: 100%;
  height: auto;
}

#mv {
  position: absolute;
  inset: 0 calc(50% - 700px) auto calc(50% - 700px);
  width: 1400px;
  aspect-ratio: 1400/825;
  opacity: 0;
  -webkit-transition: opacity 3s;
  transition: opacity 3s;
}
@media screen and (max-width: 480px) {
  #mv {
    width: 139.73vw;
    inset: 62.13vw -19.87vw auto -19.87vw;
  }
  #mv .swiper-slide img {
    width: 139.73vw;
    height: auto;
  }
}

#s_top.done #mv {
  opacity: 1;
}

.mv_photo img {
  position: absolute;
  z-index: 5;
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
}
.mv_photo img:nth-child(1) {
  -webkit-transition: opacity 1s 250ms, -webkit-transform 1s 250ms;
  transition: opacity 1s 250ms, -webkit-transform 1s 250ms;
  transition: opacity 1s 250ms, transform 1s 250ms;
  transition: opacity 1s 250ms, transform 1s 250ms, -webkit-transform 1s 250ms;
}
.mv_photo img:nth-child(2) {
  -webkit-transition: opacity 1s 400ms, -webkit-transform 1s 400ms;
  transition: opacity 1s 400ms, -webkit-transform 1s 400ms;
  transition: opacity 1s 400ms, transform 1s 400ms;
  transition: opacity 1s 400ms, transform 1s 400ms, -webkit-transform 1s 400ms;
}
.mv_photo img:nth-child(3) {
  -webkit-transition: opacity 1s 550ms, -webkit-transform 1s 550ms;
  transition: opacity 1s 550ms, -webkit-transform 1s 550ms;
  transition: opacity 1s 550ms, transform 1s 550ms;
  transition: opacity 1s 550ms, transform 1s 550ms, -webkit-transform 1s 550ms;
}
.mv_photo img:nth-child(4) {
  -webkit-transition: opacity 1s 700ms, -webkit-transform 1s 700ms;
  transition: opacity 1s 700ms, -webkit-transform 1s 700ms;
  transition: opacity 1s 700ms, transform 1s 700ms;
  transition: opacity 1s 700ms, transform 1s 700ms, -webkit-transform 1s 700ms;
}
.mv_photo img:nth-child(5) {
  -webkit-transition: opacity 1s 850ms, -webkit-transform 1s 850ms;
  transition: opacity 1s 850ms, -webkit-transform 1s 850ms;
  transition: opacity 1s 850ms, transform 1s 850ms;
  transition: opacity 1s 850ms, transform 1s 850ms, -webkit-transform 1s 850ms;
}
.mv_photo img:nth-child(6) {
  -webkit-transition: opacity 1s 1000ms, -webkit-transform 1s 1000ms;
  transition: opacity 1s 1000ms, -webkit-transform 1s 1000ms;
  transition: opacity 1s 1000ms, transform 1s 1000ms;
  transition: opacity 1s 1000ms, transform 1s 1000ms, -webkit-transform 1s 1000ms;
}
.mv_photo img:nth-child(7) {
  -webkit-transition: opacity 1s 1150ms, -webkit-transform 1s 1150ms;
  transition: opacity 1s 1150ms, -webkit-transform 1s 1150ms;
  transition: opacity 1s 1150ms, transform 1s 1150ms;
  transition: opacity 1s 1150ms, transform 1s 1150ms, -webkit-transform 1s 1150ms;
}
.mv_photo img:nth-child(8) {
  -webkit-transition: opacity 1s 1300ms, -webkit-transform 1s 1300ms;
  transition: opacity 1s 1300ms, -webkit-transform 1s 1300ms;
  transition: opacity 1s 1300ms, transform 1s 1300ms;
  transition: opacity 1s 1300ms, transform 1s 1300ms, -webkit-transform 1s 1300ms;
}
.mv_photo img:nth-child(9) {
  -webkit-transition: opacity 1s 1450ms, -webkit-transform 1s 1450ms;
  transition: opacity 1s 1450ms, -webkit-transform 1s 1450ms;
  transition: opacity 1s 1450ms, transform 1s 1450ms;
  transition: opacity 1s 1450ms, transform 1s 1450ms, -webkit-transform 1s 1450ms;
}
.mv_photo img:nth-child(10) {
  -webkit-transition: opacity 1s 1600ms, -webkit-transform 1s 1600ms;
  transition: opacity 1s 1600ms, -webkit-transform 1s 1600ms;
  transition: opacity 1s 1600ms, transform 1s 1600ms;
  transition: opacity 1s 1600ms, transform 1s 1600ms, -webkit-transform 1s 1600ms;
}
.mv_photo img:nth-child(11) {
  -webkit-transition: opacity 1s 1750ms, -webkit-transform 1s 1750ms;
  transition: opacity 1s 1750ms, -webkit-transform 1s 1750ms;
  transition: opacity 1s 1750ms, transform 1s 1750ms;
  transition: opacity 1s 1750ms, transform 1s 1750ms, -webkit-transform 1s 1750ms;
}
.mv_photo img:nth-child(12) {
  -webkit-transition: opacity 1s 1900ms, -webkit-transform 1s 1900ms;
  transition: opacity 1s 1900ms, -webkit-transform 1s 1900ms;
  transition: opacity 1s 1900ms, transform 1s 1900ms;
  transition: opacity 1s 1900ms, transform 1s 1900ms, -webkit-transform 1s 1900ms;
}
@media screen and (max-width: 480px) {
  .mv_photo img {
    height: auto;
  }
}
.mv_photo img:nth-child(1) {
  top: 142px;
  left: calc(50% + 412px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(1) {
    top: 21.33vw;
    left: 85.6vw;
    width: 9.47vw;
  }
}
.mv_photo img:nth-child(2) {
  top: 101px;
  left: calc(50% - 356px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(2) {
    top: 71.73vw;
    left: -1.33vw;
    width: 17.33vw;
  }
}
.mv_photo img:nth-child(3) {
  top: 307px;
  left: calc(50% + 253px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(3) {
    top: 78.93vw;
    left: 84.4vw;
    width: 18.4vw;
  }
}
.mv_photo img:nth-child(4) {
  top: 569px;
  left: calc(50% - 514px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(4) {
    top: 114.13vw;
    left: 5.33vw;
    width: 21.6vw;
  }
}
.mv_photo img:nth-child(5) {
  top: 791px;
  left: calc(50% + 425px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(5) {
    top: 226.67vw;
    left: 79.73vw;
    width: 20.93vw;
  }
}
.mv_photo img:nth-child(6) {
  top: 746px;
  left: calc(50% - 705px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(6) {
    top: 161.33vw;
    left: 4.4vw;
    width: 16.13vw;
  }
}
.mv_photo img:nth-child(7) {
  top: 972px;
  left: calc(50% + 230px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(7) {
    top: 146.93vw;
    left: 84vw;
    width: 16.13vw;
  }
}
.mv_photo img:nth-child(8) {
  top: 970px;
  left: calc(50% - 534px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(8) {
    top: 209.07vw;
    left: 77.6vw;
    width: 11.33vw;
  }
}
.mv_photo img:nth-child(9) {
  top: 1131px;
  left: calc(50% + 528px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(9) {
    top: 122.93vw;
    left: 75.6vw;
    width: 13.2vw;
  }
}
.mv_photo img:nth-child(10) {
  top: 1490px;
  left: calc(50% - 703px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(10) {
    top: 192.93vw;
    left: 11.2vw;
    width: 21.6vw;
  }
}
.mv_photo img:nth-child(11) {
  top: 1709px;
  left: calc(50% + 407px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(11) {
    top: 225.87vw;
    left: 8vw;
    width: 16.53vw;
  }
}
.mv_photo img:nth-child(12) {
  top: 1782px;
  left: calc(50% - 505px);
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(12) {
    top: 245.2vw;
    left: 54.13vw;
    width: 18.8vw;
  }
}
.mv_photo img:nth-child(13) {
  display: none;
}
@media screen and (max-width: 480px) {
  .mv_photo img:nth-child(13) {
    display: block;
    top: 53.73vw;
    left: 8.8vw;
    width: 9.87vw;
    -webkit-transition: opacity 1s 550ms, -webkit-transform 1s 550ms;
    transition: opacity 1s 550ms, -webkit-transform 1s 550ms;
    transition: opacity 1s 550ms, transform 1s 550ms;
    transition: opacity 1s 550ms, transform 1s 550ms, -webkit-transform 1s 550ms;
  }
}

#s_top.done .mv_photo img {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.mv_bnr {
  position: absolute;
  z-index: 6;
  top: 570px;
  left: calc(50% + 227px);
}
@media screen and (max-width: 480px) {
  .mv_bnr {
    top: 184.67vw;
    left: 48.53vw;
  }
}
.mv_bnr a {
  display: block;
  -webkit-clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  text-decoration: none;
  opacity: 0;
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}
.mv_bnr a:nth-child(1) {
  -webkit-transition: background-color 0.5s, opacity 0.75s 750ms, -webkit-transform 0.75s 750ms;
  transition: background-color 0.5s, opacity 0.75s 750ms, -webkit-transform 0.75s 750ms;
  transition: background-color 0.5s, opacity 0.75s 750ms, transform 0.75s 750ms;
  transition: background-color 0.5s, opacity 0.75s 750ms, transform 0.75s 750ms, -webkit-transform 0.75s 750ms;
}
.mv_bnr a:nth-child(2) {
  -webkit-transition: background-color 0.5s, opacity 0.75s 1250ms, -webkit-transform 0.75s 1250ms;
  transition: background-color 0.5s, opacity 0.75s 1250ms, -webkit-transform 0.75s 1250ms;
  transition: background-color 0.5s, opacity 0.75s 1250ms, transform 0.75s 1250ms;
  transition: background-color 0.5s, opacity 0.75s 1250ms, transform 0.75s 1250ms, -webkit-transform 0.75s 1250ms;
}
.mv_bnr a:nth-child(3) {
  -webkit-transition: background-color 0.5s, opacity 0.75s 1750ms, -webkit-transform 0.75s 1750ms;
  transition: background-color 0.5s, opacity 0.75s 1750ms, -webkit-transform 0.75s 1750ms;
  transition: background-color 0.5s, opacity 0.75s 1750ms, transform 0.75s 1750ms;
  transition: background-color 0.5s, opacity 0.75s 1750ms, transform 0.75s 1750ms, -webkit-transform 0.75s 1750ms;
}
@media screen and (max-width: 480px) {
  .mv_bnr a {
    width: 29.6vw;
  }
  .mv_bnr a img {
    width: 100%;
    height: auto;
  }
}
.mv_bnr a:nth-child(2) {
  position: absolute;
  left: calc(75% + 6.92px);
  top: calc(-50% - 4px);
}
@media screen and (max-width: 480px) {
  .mv_bnr a:nth-child(2) {
    left: calc(75% + 3.46px);
    top: calc(-50% - 2px);
  }
}
.mv_bnr a:nth-child(3) {
  position: absolute;
  left: calc(75% + 6.92px);
  top: calc(50% + 4px);
}
@media screen and (max-width: 480px) {
  .mv_bnr a:nth-child(3) {
    left: calc(75% + 3.46px);
    top: calc(50% + 2px);
  }
}
.mv_bnr .orange {
  background-color: #f06000;
}
@media (any-hover: hover) and (min-width: 481px) {
  .mv_bnr .orange:hover {
    background-color: #d75600;
  }
}
.mv_bnr .blue {
  background-color: #00478b;
}
@media (any-hover: hover) and (min-width: 481px) {
  .mv_bnr .blue:hover {
    background-color: #002a53;
  }
}
.mv_bnr .green {
  background-color: #009944;
}
@media (any-hover: hover) and (min-width: 481px) {
  .mv_bnr .green:hover {
    background-color: #008039;
  }
}

#s_top.done .mv_bnr a {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

.p_intro {
  padding-top: 150px;
}
@media screen and (max-width: 480px) {
  .p_intro {
    padding-top: 54vw;
  }
  .p_intro .ttl img {
    width: 30.77vw;
    height: auto;
  }
}
.p_intro .img {
  width: 840px;
  position: relative;
  margin: 110px auto 0;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .p_intro .img {
    width: 93.3%;
    margin: 17.33vw auto 0;
  }
}
.p_intro .img > img {
  opacity: 0;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  -webkit-transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, -webkit-transform 1s;
  transition: opacity 1s, transform 1s;
  transition: opacity 1s, transform 1s, -webkit-transform 1s;
  position: relative;
}
@media screen and (max-width: 480px) {
  .p_intro .img > img {
    margin-top: -4.27vw;
    width: 100%;
    height: auto;
    -webkit-transition: opacity 1s 0.25s, -webkit-transform 1s 0.25s;
    transition: opacity 1s 0.25s, -webkit-transform 1s 0.25s;
    transition: opacity 1s 0.25s, transform 1s 0.25s;
    transition: opacity 1s 0.25s, transform 1s 0.25s, -webkit-transform 1s 0.25s;
  }
}
.p_intro .img.done > img {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
.p_intro .img.done .subttl {
  opacity: 1;
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}
.p_intro .subttl {
  position: absolute;
  z-index: 1;
  top: 120px;
  left: 496px;
  opacity: 0;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  -webkit-transition: opacity 0.5s 0.25s, -webkit-clip-path 0.5s 0.25s;
  transition: opacity 0.5s 0.25s, -webkit-clip-path 0.5s 0.25s;
  transition: opacity 0.5s 0.25s, clip-path 0.5s 0.25s;
  transition: opacity 0.5s 0.25s, clip-path 0.5s 0.25s, -webkit-clip-path 0.5s 0.25s;
}
@media screen and (max-width: 480px) {
  .p_intro .subttl {
    position: relative;
    z-index: 1;
    top: 0;
    left: 0;
    width: 86.67vw;
    -webkit-transition: opacity 0.5s, -webkit-clip-path 0.5s;
    transition: opacity 0.5s, -webkit-clip-path 0.5s;
    transition: opacity 0.5s, clip-path 0.5s;
    transition: opacity 0.5s, clip-path 0.5s, -webkit-clip-path 0.5s;
  }
  .p_intro .subttl img {
    width: 100%;
    height: auto;
  }
}
.p_intro .txt {
  width: 540px;
  margin: 95px auto 0;
  text-align: left;
  color: #000;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 2;
}
@media screen and (max-width: 480px) {
  .p_intro .txt {
    width: 86.7%;
    margin: 6.67vw auto 0;
    font-size: clamp(1.5rem, 4vw, 1.8rem);
  }
}
.p_intro .txt p + p {
  margin-top: 2em;
}

.p_anc {
  padding: 120px 0 85px;
}
@media screen and (max-width: 480px) {
  .p_anc {
    padding: 6.67vw 0 14vw;
  }
  .p_anc > .ttl img {
    width: 53.6vw;
    height: auto;
  }
}
.p_anc > .ttl:not(:first-child) {
  margin-top: 90px;
}
@media screen and (max-width: 480px) {
  .p_anc > .ttl:not(:first-child) {
    margin-top: 16vw;
  }
}
.p_anc .anc_list {
  width: 960px;
  margin: 35px auto 0;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .p_anc .anc_list {
    width: 85.3%;
    margin: 2.67vw auto 0;
  }
}
.p_anc .anc_list li {
  border-bottom: 1px solid #00478b;
}
.p_anc .anc_list li:nth-child(1) a::before {
  background: url("../img/num1.svg") no-repeat left center/contain;
}
.p_anc .anc_list li:nth-child(2) a::before {
  background: url("../img/num2.svg") no-repeat left center/contain;
}
.p_anc .anc_list li:nth-child(3) a::before {
  background: url("../img/num3.svg") no-repeat left center/contain;
}
.p_anc .anc_list a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 20px;
  width: 100%;
  padding: 22px 0 22px 65px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-decoration: none;
  color: inherit;
  position: relative;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) and (min-width: 481px) {
  .p_anc .anc_list a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 480px) {
  .p_anc .anc_list a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1.33vw;
    padding: 20px 9.33vw 20px 10.67vw;
  }
}
.p_anc .anc_list a::before, .p_anc .anc_list a::after {
  content: "";
  display: block;
  position: absolute;
}
.p_anc .anc_list a::before {
  left: 0;
  top: calc(50% - 12px);
  width: 40px;
  height: 24px;
}
@media screen and (max-width: 480px) {
  .p_anc .anc_list a::before {
    top: 20px;
    width: 10.67vw;
    height: 5.33vw;
  }
}
.p_anc .anc_list a::after {
  background: url("../img/arr1_anc.svg") no-repeat center center/contain;
  width: 18px;
  right: 0;
  top: 0;
  bottom: 0;
}
@media screen and (max-width: 480px) {
  .p_anc .anc_list a::after {
    width: 8vw;
    background: url("../img/arr1_anc.svg") no-repeat right center/4vw;
    top: 20px;
    bottom: 20px;
    border-left: 1px solid #00478b;
  }
}
.p_anc .anc_list .ttl {
  width: 295px;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 2.4rem;
}
@media screen and (max-width: 480px) {
  .p_anc .anc_list .ttl {
    width: auto;
    font-size: clamp(2rem, 5.33vw, 2.4rem);
  }
}
.p_anc .anc_list .ttl .sub {
  font-size: 1.6rem;
  padding-right: 0.8em;
}
@media screen and (max-width: 480px) {
  .p_anc .anc_list .ttl .sub {
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
}
.p_anc .anc_list .desc,
.p_anc .anc_list .date,
.p_anc .anc_list .place {
  color: #434343;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 2rem;
}
@media screen and (max-width: 480px) {
  .p_anc .anc_list .desc,
  .p_anc .anc_list .date,
  .p_anc .anc_list .place {
    font-size: clamp(1.2rem, 3.2vw, 1.6rem);
    line-height: 1.5;
  }
}
.p_anc .anc_list .date,
.p_anc .anc_list .place {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}
@media screen and (max-width: 480px) {
  .p_anc .anc_list .date,
  .p_anc .anc_list .place {
    line-height: 1.46;
  }
}
.p_anc .anc_list .date .label,
.p_anc .anc_list .place .label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.05em 0.4em 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 2rem;
  font-size: 0.875em;
  background-color: #00478b;
  color: #fff;
  border-radius: 2px;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  .p_anc .anc_list .date .label,
  .p_anc .anc_list .place .label {
    height: 1.59em;
    font-size: 0.916em;
  }
}
@media screen and (max-width: 375px) {
  .p_anc .anc_list .date .label,
  .p_anc .anc_list .place .label {
    padding: 2px 0.4em 0;
  }
}

.s_event {
  padding-top: 90px;
}
@media screen and (max-width: 480px) {
  .s_event {
    padding-top: 17.33vw;
  }
}
.s_event .box {
  width: 93.3%;
  max-width: 1200px;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  padding: 80px;
  background-color: #fff;
  border-radius: 5px;
  -webkit-box-shadow: 1.5px 1.2px 2.4px 0.1px rgba(0, 0, 0, 0.1);
  box-shadow: 1.5px 1.2px 2.4px 0.1px rgba(0, 0, 0, 0.1);
  text-align: left;
  display: grid;
  grid-template-columns: auto 380px;
  grid-template-rows: auto 1fr;
  grid-template-areas: "ttl img" "txt img";
  gap: 25px 45px;
}
@media screen and (max-width: 480px) {
  .s_event .box {
    padding: 14vw 8vw 12vw;
    display: block;
    text-align: center;
  }
}
.s_event .num {
  position: absolute;
  left: 0;
  right: 0;
  top: -58px;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .s_event .num {
    top: -9.6vw;
  }
  .s_event .num img {
    width: auto;
    height: 12vw;
  }
}
.s_event .num::before {
  content: "";
  display: block;
  height: 12px;
  margin: 0 0 16px;
  background: url("../img/event_label.svg") no-repeat center center/contain;
}
@media screen and (max-width: 480px) {
  .s_event .num::before {
    height: 2.4vw;
    margin: 0 0 2.4vw;
  }
}
.s_event .ttl {
  grid-area: ttl;
}
.s_event .en img {
  max-width: 100%;
  height: auto;
}
@media screen and (max-width: 480px) {
  .s_event .en img {
    width: 76.92vw;
  }
}
.s_event .en::before {
  content: "";
  display: block;
  height: 19px;
  background: url("../img/event_subttl.png") no-repeat left top/contain;
  margin-bottom: 18px;
}
@media screen and (max-width: 480px) {
  .s_event .en::before {
    height: 2.93vw;
    margin-bottom: 3.73vw;
    background: url("../img/event_subttl.png") no-repeat center top/contain;
  }
}
.s_event .s_ttl {
  margin-top: 20px;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
}
@media screen and (max-width: 480px) {
  .s_event .s_ttl {
    margin-top: 3.33vw;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
}
.s_event .subset {
  margin-top: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 2rem;
  gap: 0.5em 1em;
}
@media screen and (max-width: 480px) {
  .s_event .subset {
    margin-top: 4.67vw;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: clamp(1.2rem, 3.2vw, 1.6rem);
    line-height: 1.46;
  }
}
.s_event .subset p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.5em;
}
.s_event .subset .label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.05em 0.4em 0;
  height: 2rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 0.875em;
  background-color: #00478b;
  color: #fff;
  border-radius: 2px;
}
@media screen and (max-width: 480px) {
  .s_event .subset .label {
    height: 1.59em;
    font-size: 0.916em;
  }
}
@media screen and (max-width: 375px) {
  .s_event .subset .label {
    padding: 2px 0.4em 0;
  }
}
.s_event .img {
  grid-area: img;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .s_event .img {
    display: block;
    margin-top: 6.67vw;
  }
}
.s_event .swiper-slide {
  border-radius: 5px;
  overflow: hidden;
}
.s_event .swiper-slide img {
  width: 100%;
  height: auto;
  border-radius: 5px;
}
.s_event .swiper-pagination {
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 5px;
}
.s_event .swiper-pagination span {
  display: block;
  width: 8px;
  aspect-ratio: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 50%;
  background-color: #afafaf;
}
.s_event .swiper-pagination span.swiper-pagination-bullet-active {
  background: #009944;
}
.s_event .swiper-pagination span:not(.swiper-pagination-bullet-active) {
  cursor: pointer;
}
.s_event .coming {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: #009944;
  background: -webkit-linear-gradient(45deg, rgba(0, 153, 68, 0.8) 0%, rgba(255, 241, 0, 0.8) 100%);
  background: linear-gradient(45deg, rgba(0, 153, 68, 0.8) 0%, rgba(255, 241, 0, 0.8) 100%);
  border-radius: 5px;
  color: #fff;
}
@media screen and (max-width: 480px) {
  .s_event .coming img {
    width: 100%;
    height: auto;
  }
}
.s_event .txt {
  grid-area: txt;
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 480px) {
  .s_event .txt {
    margin-top: 5.33vw;
    text-align: left;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
}
.s_event .txt > a {
  margin-top: 1em;
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) and (min-width: 481px) {
  .s_event .txt > a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 480px) {
  .s_event .txt > a {
    display: block;
    text-align: center;
  }
}

@-webkit-keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }
  75% {
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
  }
}

@keyframes fuwafuwa {
  0%, 100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  25% {
    -webkit-transform: translateY(-10%);
    transform: translateY(-10%);
  }
  75% {
    -webkit-transform: translateY(10%);
    transform: translateY(10%);
  }
}
#s_people {
  padding: 150px 0 130px;
}
@media screen and (max-width: 480px) {
  #s_people {
    padding: 14vw 0 12vw;
  }
}
#s_people .hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 480px) {
  #s_people .hd {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}
#s_people .hd1 {
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 9px;
}
@media screen and (max-width: 480px) {
  #s_people .hd1 {
    width: 71.2%;
    padding-left: 0;
  }
}
#s_people .hd1 .en {
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media screen and (max-width: 480px) {
  #s_people .hd1 .en img {
    width: 48.53vw;
    height: auto;
  }
}
#s_people .hd1 .en.done {
  opacity: 1;
}
#s_people .hd1 .img {
  margin-top: 72px;
  aspect-ratio: 1180/1116;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 480px) {
  #s_people .hd1 .img {
    margin-top: 10.67vw;
  }
}
#s_people .hd1 .img > img {
  position: absolute;
  z-index: 1;
  border-radius: 50%;
  width: 12.55%;
  max-width: 74px;
  height: auto;
  opacity: 0;
}
#s_people .hd1 .img > img:nth-child(1) {
  -webkit-transition: opacity 0.5s 250ms;
  transition: opacity 0.5s 250ms;
  -webkit-animation: fuwafuwa 4s linear infinite 250ms;
  animation: fuwafuwa 4s linear infinite 250ms;
}
#s_people .hd1 .img > img:nth-child(2) {
  -webkit-transition: opacity 0.5s 400ms;
  transition: opacity 0.5s 400ms;
  -webkit-animation: fuwafuwa 4s linear infinite 400ms;
  animation: fuwafuwa 4s linear infinite 400ms;
}
#s_people .hd1 .img > img:nth-child(3) {
  -webkit-transition: opacity 0.5s 550ms;
  transition: opacity 0.5s 550ms;
  -webkit-animation: fuwafuwa 4s linear infinite 550ms;
  animation: fuwafuwa 4s linear infinite 550ms;
}
#s_people .hd1 .img > img:nth-child(4) {
  -webkit-transition: opacity 0.5s 700ms;
  transition: opacity 0.5s 700ms;
  -webkit-animation: fuwafuwa 4s linear infinite 700ms;
  animation: fuwafuwa 4s linear infinite 700ms;
}
#s_people .hd1 .img > img:nth-child(5) {
  -webkit-transition: opacity 0.5s 850ms;
  transition: opacity 0.5s 850ms;
  -webkit-animation: fuwafuwa 4s linear infinite 850ms;
  animation: fuwafuwa 4s linear infinite 850ms;
}
#s_people .hd1 .img > img:nth-child(6) {
  -webkit-transition: opacity 0.5s 1000ms;
  transition: opacity 0.5s 1000ms;
  -webkit-animation: fuwafuwa 4s linear infinite 1000ms;
  animation: fuwafuwa 4s linear infinite 1000ms;
}
#s_people .hd1 .img > img:nth-child(7) {
  -webkit-transition: opacity 0.5s 1150ms;
  transition: opacity 0.5s 1150ms;
  -webkit-animation: fuwafuwa 4s linear infinite 1150ms;
  animation: fuwafuwa 4s linear infinite 1150ms;
}
#s_people .hd1 .img > img:nth-child(8) {
  -webkit-transition: opacity 0.5s 1300ms;
  transition: opacity 0.5s 1300ms;
  -webkit-animation: fuwafuwa 4s linear infinite 1300ms;
  animation: fuwafuwa 4s linear infinite 1300ms;
}
#s_people .hd1 .img > img:nth-child(9) {
  -webkit-transition: opacity 0.5s 1450ms;
  transition: opacity 0.5s 1450ms;
  -webkit-animation: fuwafuwa 4s linear infinite 1450ms;
  animation: fuwafuwa 4s linear infinite 1450ms;
}
#s_people .hd1 .img > img:nth-child(10) {
  -webkit-transition: opacity 0.5s 1600ms;
  transition: opacity 0.5s 1600ms;
  -webkit-animation: fuwafuwa 4s linear infinite 1600ms;
  animation: fuwafuwa 4s linear infinite 1600ms;
}
#s_people .hd1 .img > img:nth-child(11) {
  -webkit-transition: opacity 0.5s 1750ms;
  transition: opacity 0.5s 1750ms;
  -webkit-animation: fuwafuwa 4s linear infinite 1750ms;
  animation: fuwafuwa 4s linear infinite 1750ms;
}
#s_people .hd1 .img > img:nth-child(12) {
  -webkit-transition: opacity 0.5s 1900ms;
  transition: opacity 0.5s 1900ms;
  -webkit-animation: fuwafuwa 4s linear infinite 1900ms;
  animation: fuwafuwa 4s linear infinite 1900ms;
}
#s_people .hd1 .img > img:nth-child(1) {
  left: 94.5762711864%;
  top: 59.8566308244%;
}
#s_people .hd1 .img > img:nth-child(2) {
  left: 76.2711864407%;
  top: 84.9462365591%;
}
#s_people .hd1 .img > img:nth-child(3) {
  left: 45.4237288136%;
  top: 78.9426523297%;
}
#s_people .hd1 .img > img:nth-child(4) {
  left: 18.9830508475%;
  top: 92.5627240143%;
}
#s_people .hd1 .img > img:nth-child(5) {
  left: -6.5254237288%;
  top: 77.688172043%;
}
#s_people .hd1 .img > img:nth-child(6) {
  left: 27.9661016949%;
  top: 21.146953405%;
}
#s_people .hd1 .img > img:nth-child(7) {
  left: 75.2542372881%;
  top: 8.5125448029%;
}
#s_people .hd1 .img > img:nth-child(8) {
  left: 83.8983050847%;
  top: 33.3333333333%;
}
#s_people .hd1 .img > img:nth-child(9) {
  left: 49.7457627119%;
  top: 53.0465949821%;
}
#s_people .hd1 .img > img:nth-child(10) {
  left: 12.4576271186%;
  top: 51.9713261649%;
}
#s_people .hd1 .img > img:nth-child(11) {
  left: -0.593220339%;
  top: 9.6774193548%;
}
#s_people .hd1 .img > img:nth-child(12) {
  left: 47.2033898305%;
  top: -5.5555555556%;
}
#s_people .hd1 .img.done > img {
  opacity: 1;
}
#s_people .hd1 .img .spiral_wrap {
  position: absolute;
  inset: -6% -23.39% -1.97% -25.59%;
}
#s_people .hd1 .img #spiral {
  width: 100%;
  height: 100%;
  opacity: 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
#s_people .hd1 .img #spiral path {
  fill: none;
  stroke: #fff;
}
#s_people .hd1 .img #spiral .a {
  stroke-width: 70px;
}
#s_people .hd1 .img #spiral .b {
  stroke-width: 27px;
}
#s_people .hd1 .img #spiral .c {
  stroke-width: 64px;
}
#s_people .hd1 .img.done #spiral {
  opacity: 1;
}
#s_people .hd2 {
  width: 520px;
  margin-left: auto;
  position: relative;
  padding-bottom: 100px;
}
@media screen and (max-width: 480px) {
  #s_people .hd2 {
    margin-top: 14.93vw;
    width: 100%;
    padding-bottom: 0;
  }
  #s_people .hd2::after {
    content: "";
    display: block;
    position: absolute;
    inset: 80% 0 -40% 0;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), color-stop(20%, white));
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0) 0%, white 20%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, white 20%);
    opacity: 0;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
  }
  #s_people .hd2.done::after {
    opacity: 1;
  }
}
#s_people .hd2::before {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 1;
  width: 766px;
  top: 76px;
  left: -125px;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, transform 0.5s;
  transition: opacity 0.5s, transform 0.5s, -webkit-transform 0.5s;
}
@media screen and (max-width: 480px) {
  #s_people .hd2::before {
    width: 124.4%;
    aspect-ratio: auto;
    top: 12.27vw;
    left: -12.2%;
    bottom: 0;
    border-radius: 62.2vw 62.2vw 0 0;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 0)), color-stop(20%, white));
    background: -webkit-linear-gradient(bottom, rgba(255, 255, 255, 0) 0%, white 20%);
    background: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, white 20%);
    background: #fff;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
#s_people .hd2.done::before {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
#s_people .hd2 > * {
  position: relative;
  z-index: 1;
  opacity: 0;
  -webkit-transition: opacity 0.5s 0.5s;
  transition: opacity 0.5s 0.5s;
}
#s_people .hd2.done > * {
  opacity: 1;
}
#s_people .hd2 .num {
  margin-top: 75px;
}
@media screen and (max-width: 480px) {
  #s_people .hd2 .num {
    margin-top: 6.93vw;
  }
  #s_people .hd2 .num img {
    width: 15.33vw;
    height: auto;
  }
}
#s_people .hd2 .num::before {
  content: "";
  display: block;
  height: 12px;
  margin: 0 0 16px;
  background: url("../img/program_label.svg") no-repeat center center/contain;
}
@media screen and (max-width: 480px) {
  #s_people .hd2 .num::before {
    height: 2.4vw;
    margin: 0 0 2.4vw;
  }
}
#s_people .hd2 .txt1 {
  width: 430px;
  margin: 20px auto 0;
  text-align: left;
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 480px) {
  #s_people .hd2 .txt1 {
    width: 80vw;
    margin: 4.67vw auto 0;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
}
#s_people .hd2 .txt2 {
  margin-top: 20px;
}
@media screen and (max-width: 480px) {
  #s_people .hd2 .txt2 {
    margin-top: 5.33vw;
  }
  #s_people .hd2 .txt2 img {
    width: 71.2vw;
    height: auto;
  }
}
#s_people .hd2 .note {
  margin-top: 30px;
  font-size: 1.2rem;
}
@media screen and (max-width: 480px) {
  #s_people .hd2 .note {
    margin-top: 5.07vw;
    font-size: clamp(1rem, 2.67vw, 1.2rem);
  }
}
#s_people .s_ttl {
  position: relative;
}
@media screen and (max-width: 480px) {
  #s_people .s_ttl img:not(.bal) {
    width: 81.47vw;
    height: auto;
  }
}
#s_people .s_ttl .bal {
  position: absolute;
  top: -52px;
  right: -36px;
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
  -webkit-transition: opacity 0.5s 0.75s, -webkit-transform 0.5s 0.75s;
  transition: opacity 0.5s 0.75s, -webkit-transform 0.5s 0.75s;
  transition: opacity 0.5s 0.75s, transform 0.5s 0.75s;
  transition: opacity 0.5s 0.75s, transform 0.5s 0.75s, -webkit-transform 0.5s 0.75s;
}
@media screen and (max-width: 480px) {
  #s_people .s_ttl .bal {
    top: -8.53vw;
    right: 3.33vw;
    width: 29.07vw;
    height: auto;
  }
}
#s_people .hd2.done .s_ttl .bal {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}
#s_people .s_lead {
  margin-top: 45px;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 2rem;
  line-height: 1.75;
}
@media screen and (max-width: 480px) {
  #s_people .s_lead {
    margin-top: 6.93vw;
    font-size: clamp(1.6rem, 4.27vw, 2rem);
  }
}

.tags a {
  display: block;
  text-decoration: none;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) and (min-width: 481px) {
  .tags a:hover {
    opacity: 0.7;
  }
}

#s_people .search {
  width: 960px;
  margin: 0 auto;
  position: relative;
  padding-top: 55px;
}
@media screen and (max-width: 480px) {
  #s_people .search {
    width: 93.3%;
    padding-top: 16vw;
  }
}
#s_people .search .ttl {
  width: 300px;
  margin: 0 auto;
}
@media screen and (max-width: 480px) {
  #s_people .search .ttl {
    width: 36vw;
  }
}
#s_people .search .ttl a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 25px;
  border: 1px solid #00478b;
  background-color: #fff;
  text-decoration: none;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  border-radius: 10px;
  position: relative;
}
@media screen and (max-width: 480px) {
  #s_people .search .ttl a {
    height: 10.93vw;
    border-radius: 8px;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
    padding: 0 2.67vw;
  }
}
#s_people .search .ttl a::after {
  content: "";
  display: block;
  position: absolute;
  right: 25px;
  top: calc(50% - 9px);
  width: 18px;
  aspect-ratio: 1;
  background: url("../img/arr1.svg") no-repeat center center/contain;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
@media screen and (max-width: 480px) {
  #s_people .search .ttl a::after {
    width: 4vw;
    right: 4vw;
    top: calc(50% - 2vw);
  }
}
@media (any-hover: hover) and (min-width: 481px) {
  #s_people .search .ttl a:hover {
    background-color: #00478b;
    color: #fff;
  }
  #s_people .search .ttl a:hover::after {
    background: url("../img/arr1_wh.svg") no-repeat center center/contain;
  }
}
#s_people .search.on .ttl a {
  border-radius: 10px 10px 0 0;
}
@media screen and (max-width: 480px) {
  #s_people .search.on .ttl a {
    border-radius: 8px 8px 0 0;
  }
}
#s_people .search.on .ttl a::after {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}
#s_people .search .box {
  margin-top: -1px;
  border: 1px solid #00478b;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 30px 50px 40px;
  border-radius: 10px;
  background-color: #fff;
  display: none;
}
@media screen and (max-width: 480px) {
  #s_people .search .box {
    padding: 5.33vw;
    border-radius: 8px;
  }
}
#s_people .search.on .box {
  display: block;
}
#s_people .search .tag_list {
  text-align: left;
}
#s_people .search .tag_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0;
  border-bottom: 1px solid #dedede;
}
@media screen and (max-width: 480px) {
  #s_people .search .tag_list li {
    display: block;
    padding: 0 0 5.33vw;
  }
  #s_people .search .tag_list li + li {
    margin-top: 5.33vw;
  }
}
#s_people .search .tag_list .type {
  width: 100px;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
}
@media screen and (max-width: 480px) {
  #s_people .search .tag_list .type {
    width: auto;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
}
#s_people .search .tag_list .list {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  gap: 1em 1.5em;
  font-size: 1.4rem;
  line-height: 1.14;
}
@media screen and (max-width: 480px) {
  #s_people .search .tag_list .list {
    margin-top: 1em;
    font-size: clamp(1.2rem, 3.2vw, 1.4rem);
  }
}
#s_people .search .tag_list a {
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  padding-left: 1.5em;
}
#s_people .search .tag_list a::before, #s_people .search .tag_list a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 1.14em;
  aspect-ratio: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 50%;
}
#s_people .search .tag_list a::before {
  background-color: #dedede;
}
#s_people .search .tag_list a::after {
  background-color: #00a2ff;
  opacity: 0;
  -webkit-transform: scale(0.55);
  transform: scale(0.55);
}
#s_people .search .tag_list a.active::after {
  opacity: 1;
}
#s_people .search .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none;
  margin: 25px auto 0;
  width: 150px;
  height: 30px;
  border: 1px solid #00478b;
  border-radius: 9999px;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
}
@media screen and (max-width: 480px) {
  #s_people .search .btn {
    margin: 4vw auto 0;
    width: 40vw;
    height: 6.67vw;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
}
@media (any-hover: hover) and (min-width: 481px) {
  #s_people .search .btn:hover {
    background-color: #00478b;
    color: #fff;
  }
}

#peopleList {
  margin: 100px auto 0;
  width: 1150px;
  display: grid;
  grid-template-columns: repeat(4, 230px);
  gap: 70px 75px;
  position: relative;
  opacity: 1;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media screen and (max-width: 480px) {
  #peopleList {
    margin: 9.33vw auto 0;
    width: 92vw;
    grid-template-columns: repeat(2, 43.47vw);
    gap: 10.67vw 5.07vw;
  }
}
#peopleList.fade {
  opacity: 0;
}
#peopleList .none {
  grid-column: 1/5;
  grid-row: 1/2;
  text-align: center;
  padding-bottom: 50px;
  font-size: 1.6rem;
}
@media screen and (max-width: 480px) {
  #peopleList .none {
    grid-column: 1/3;
    padding: 2vw 0 0;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
}
#peopleList .none a {
  display: inline-block;
  vertical-align: top;
  margin-top: 1em;
}
#peopleList .num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
}
@media screen and (max-width: 480px) {
  #peopleList .num {
    font-size: clamp(1.2rem, 3.2vw, 1.6rem);
  }
}
#peopleList .num span {
  padding: 0.12em 0.5em 0.08em;
  background-color: #00478b;
}
#peopleList .num .label {
  background-color: #f06000;
}
#peopleList .img {
  position: relative;
  margin: 50px auto 0;
  width: 228px;
  aspect-ratio: 1;
}
@media (any-hover: hover) and (min-width: 481px) {
  #peopleList .img a:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}
@media screen and (max-width: 480px) {
  #peopleList .img {
    margin-top: 6.67vw;
    width: 100%;
  }
}
#peopleList .img a {
  display: block;
  text-decoration: none;
  position: relative;
  border: 1px solid #00478b;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: hidden;
}
#peopleList .img img {
  width: 100%;
  height: auto;
  border-radius: 50%;
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
#peopleList .en {
  aspect-ratio: 1;
  position: absolute;
  left: -10px;
  right: -10px;
  top: -10px;
}
@media screen and (max-width: 480px) {
  #peopleList .en {
    left: -2vw;
    right: -2vw;
    top: -2vw;
  }
}
#peopleList .en svg {
  overflow: visible;
  width: 100%;
}
#peopleList .en path {
  fill: none;
}
#peopleList .en text {
  text-anchor: middle;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.15em;
  fill: #00478b;
}
@media screen and (max-width: 480px) {
  #peopleList .en text {
    font-size: 13px;
  }
}
#peopleList .name {
  margin-top: 1em;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 2.1rem;
}
@media screen and (max-width: 480px) {
  #peopleList .name {
    font-size: clamp(1.6rem, 4.27vw, 2.1rem);
  }
}
#peopleList .name span {
  font-size: 1.2rem;
}
@media screen and (max-width: 480px) {
  #peopleList .name span {
    font-size: clamp(1rem, 2.67vw, 1.2rem);
  }
}
#peopleList .position {
  margin-top: 0.75em;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.71;
}
@media screen and (max-width: 480px) {
  #peopleList .position {
    font-size: clamp(1.1rem, 2.93vw, 1.4rem);
  }
}
#peopleList .tags {
  width: 170px;
  margin: 0.75em auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.5em 1em;
  font-size: 1.2rem;
}
@media screen and (max-width: 480px) {
  #peopleList .tags {
    width: 90%;
    font-size: clamp(1rem, 2.67vw, 1.2rem);
  }
}
#peopleList .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 20px auto 0;
  width: 104px;
  height: 25px;
  background-color: #fff;
  border-radius: 9999px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #00478b;
  padding: 0.05em 1em 0;
  color: #00478b;
  text-decoration: none;
  position: relative;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.2rem;
}
@media screen and (max-width: 480px) {
  #peopleList .btn {
    margin: 2.67vw auto 0;
    width: 21.33vw;
    height: 5.6vw;
    font-size: clamp(1.1rem, 2.93vw, 1.2rem);
    letter-spacing: 0;
    padding: 0.05em 2.13vw 0;
  }
}
#peopleList .btn::after {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  aspect-ratio: 5/8;
  background: url("../img/arr2.svg") no-repeat center center/contain;
  position: absolute;
  top: calc(50% - 4px);
  right: 10px;
}
@media screen and (max-width: 480px) {
  #peopleList .btn::after {
    right: 2.13vw;
  }
}
@media (any-hover: hover) and (min-width: 481px) {
  #peopleList .btn:hover {
    background-color: #00478b;
    color: #fff;
  }
  #peopleList .btn:hover::after {
    background: url("../img/arr2_wh.svg") no-repeat center center/contain;
  }
}
#peopleList + .btn {
  display: none;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin: 100px auto 0;
  width: 200px;
  height: 60px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 25px;
  border: 1px solid #00478b;
  background-color: #fff;
  text-decoration: none;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  border-radius: 10px;
  position: relative;
}
@media screen and (max-width: 480px) {
  #peopleList + .btn {
    margin: 13.33vw auto 0;
    width: 36vw;
    height: 10.93vw;
    border-radius: 8px;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
    padding: 0 2.67vw;
  }
}
#peopleList + .btn::after {
  content: "";
  display: block;
  position: absolute;
  right: 25px;
  top: calc(50% - 9px);
  width: 18px;
  aspect-ratio: 1;
  background: url("../img/arr1.svg") no-repeat center center/contain;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
}
@media screen and (max-width: 480px) {
  #peopleList + .btn::after {
    width: 4vw;
    right: 4vw;
    top: calc(50% - 2vw);
  }
}
@media (any-hover: hover) and (min-width: 481px) {
  #peopleList + .btn:hover {
    background-color: #00478b;
    color: #fff;
  }
  #peopleList + .btn:hover::after {
    background: url("../img/arr1_wh.svg") no-repeat center center/contain;
  }
}

.short #peopleList > div:nth-child(n+17) {
  display: none;
}
.short #peopleList + .btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

#s_people .ft {
  margin-top: 50px;
}
@media screen and (max-width: 480px) {
  #s_people .ft {
    margin-top: 11.33vw;
  }
}
#s_people .ft p:not(.note) {
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 480px) {
  #s_people .ft p:not(.note) {
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
    line-height: 1.75;
  }
}
#s_people .ft p.note {
  margin-top: 1em;
  font-size: 1.2rem;
}
@media screen and (max-width: 480px) {
  #s_people .ft p.note {
    font-size: clamp(1rem, 2.67vw, 1.2rem);
    line-height: 1.8;
  }
}

#modal {
  display: none;
  position: fixed;
  z-index: 200;
  inset: 0;
  overflow-y: auto;
}
#modal .layer {
  position: fixed;
  inset: 0;
  background: #009944;
  background: -webkit-linear-gradient(45deg, rgba(0, 153, 68, 0.8) 0%, rgba(255, 241, 0, 0.8) 100%);
  background: linear-gradient(45deg, rgba(0, 153, 68, 0.8) 0%, rgba(255, 241, 0, 0.8) 100%);
}
#modal .box {
  position: relative;
  background-color: #fff;
  width: 93.3%;
  max-width: 1200px;
  margin: 50px auto;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 85px 0 100px;
}
@media screen and (max-width: 480px) {
  #modal .box {
    border-radius: 8px;
    margin: 14.93vw auto;
    padding: 12vw 0 13.33vw;
  }
}
#modal .content {
  width: 670px;
  margin: 0 auto;
  text-align: left;
}
@media screen and (max-width: 480px) {
  #modal .content {
    width: 82.67vw;
  }
}
#modal .content::before {
  content: "";
  display: block;
  aspect-ratio: 253/153;
  background: url("../img/people_ttl.png") no-repeat center center/contain;
  width: 200px;
  margin: 0 auto 25px;
}
@media screen and (max-width: 480px) {
  #modal .content::before {
    width: 38.93vw;
    margin: 0 auto 3.73vw;
  }
}
#modal .num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 2.4rem;
}
@media screen and (max-width: 480px) {
  #modal .num {
    font-size: clamp(1.4rem, 3.73vw, 2.4rem);
  }
}
#modal .num span {
  padding: 0.12em 0.5em 0.08em;
  background-color: #00478b;
}
#modal .num .label {
  background-color: #f06000;
}
#modal .profile {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 480px) {
  #modal .profile {
    margin-top: 9.33vw;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    gap: 5.33vw;
    text-align: center;
  }
}
#modal .profile .img {
  width: 230px;
  aspect-ratio: 1;
  border: 1px solid #00478b;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 50%;
}
@media screen and (max-width: 480px) {
  #modal .profile .img {
    width: 53.33vw;
  }
}
#modal .profile .img img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}
#modal .profile .name {
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 4rem;
}
@media screen and (max-width: 480px) {
  #modal .profile .name {
    font-size: clamp(2.5rem, 6.67vw, 4rem);
  }
}
#modal .profile .name span {
  font-size: 2rem;
}
@media screen and (max-width: 480px) {
  #modal .profile .name span {
    font-size: clamp(1.6rem, 4.27vw, 2rem);
  }
}
#modal .profile .en {
  margin-top: 1em;
  color: #00478b;
  font-size: 1.4rem;
}
@media screen and (max-width: 480px) {
  #modal .profile .en {
    font-size: clamp(1.2rem, 3.2vw, 1.4rem);
  }
}
#modal .profile .position {
  margin-top: 1em;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
}
@media screen and (max-width: 480px) {
  #modal .profile .position {
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
}
#modal .profile .position a {
  text-decoration: none;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) and (min-width: 481px) {
  #modal .profile .position a:hover {
    opacity: 0.7;
  }
}
#modal .profile .position .slash {
  padding: 0 0.2em;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W3", sans-serif;
  font-weight: 400;
}
#modal .profile .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
  flex-flow: wrap;
  gap: 0.5em 1em;
  font-size: 1.4rem;
  margin-top: 0.8em;
}
@media screen and (max-width: 480px) {
  #modal .profile .tags {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: clamp(1.2rem, 2.67vw, 1.4rem);
  }
}
#modal .faq {
  margin-top: 70px;
  padding: 70px 0 75px;
  border-top: 1px solid #00478b;
  border-bottom: 1px solid #00478b;
}
@media screen and (max-width: 480px) {
  #modal .faq {
    margin-top: 13.33vw;
    padding: 10.67vw 0;
  }
}
#modal .faq h4 {
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 2.1rem;
  line-height: 1.67;
}
@media screen and (max-width: 480px) {
  #modal .faq h4 {
    font-size: clamp(1.8rem, 4.8vw, 2.1rem);
  }
}
#modal .faq h4:not(:first-child) {
  margin-top: 2em;
}
#modal .faq p {
  margin-top: 1em;
  font-size: 1.6rem;
  line-height: 2;
}
#modal .close {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 9.4em;
  max-width: 150px;
  height: 2.5em;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #00478b;
  border-radius: 9999px;
  padding: 0.05em 1.25em 0;
  background-color: #fff;
  color: #00478b;
  text-decoration: none;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  position: relative;
}
@media screen and (max-width: 480px) {
  #modal .close {
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
}
#modal .close.hd {
  position: absolute;
  inset: 25px 25px 0 auto;
}
@media screen and (max-width: 480px) {
  #modal .close.hd {
    inset: auto 0 calc(100% + 2.67vw) auto;
    width: 26.67vw;
  }
}
#modal .close.ft {
  margin: 50px auto 0;
}
@media screen and (max-width: 480px) {
  #modal .close.ft {
    margin: 10.67vw auto 0;
  }
}
#modal .close::after {
  content: "";
  display: block;
  position: absolute;
  aspect-ratio: 9/10;
  width: 9px;
  background: url("../img/ico_close.svg") no-repeat center center/contain;
  right: 1.25em;
  top: calc(50% - 5px);
}
@media (any-hover: hover) and (min-width: 481px) {
  #modal .close:hover {
    background-color: #00478b;
    color: #fff;
  }
  #modal .close:hover::after {
    background: url("../img/ico_close_wh.svg") no-repeat center center/contain;
  }
}

body.modal_open {
  overflow: hidden;
}
body.modal_open #modal {
  display: block;
}

#s_tsunakan .hd {
  padding: 130px 0 165px;
  color: #fff;
  position: relative;
  background: url("../img/tsunakan_bg.webp") no-repeat center center/cover;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .hd {
    padding: 13.33vw 0 30vw;
  }
}
#s_tsunakan .hd::before {
  content: "";
  inset: 0;
  position: absolute;
  background: #009944;
  background: -webkit-linear-gradient(45deg, rgba(0, 153, 68, 0.8) 0%, rgba(255, 241, 0, 0.8) 100%);
  background: linear-gradient(45deg, rgba(0, 153, 68, 0.8) 0%, rgba(255, 241, 0, 0.8) 100%);
}
#s_tsunakan .hd > * {
  position: relative;
}
#s_tsunakan .hd .num::before {
  content: "";
  display: block;
  height: 12px;
  margin: 0 0 16px;
  background: url("../img/program_label_wh.svg") no-repeat center center/contain;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .hd .num::before {
    height: 2.4vw;
    margin: 0 0 2.4vw;
  }
}
@media screen and (max-width: 480px) {
  #s_tsunakan .hd .num img {
    width: 18.93vw;
    height: auto;
  }
}
#s_tsunakan .s_ttl {
  margin-top: 80px;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .s_ttl {
    margin-top: 11.2vw;
  }
}
#s_tsunakan .s_ttl span {
  display: block;
  opacity: 0;
}
#s_tsunakan .s_ttl .en {
  position: relative;
  z-index: 1;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .s_ttl .en img {
    width: 64vw;
    height: auto;
  }
}
#s_tsunakan .s_ttl .bal {
  position: absolute;
  top: 50px;
  left: calc(50% + 205px);
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
  -webkit-transition: opacity 0.75s 0.5s, -webkit-transform 0.75s 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: opacity 0.75s 0.5s, -webkit-transform 0.75s 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: opacity 0.75s 0.5s, transform 0.75s 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
  transition: opacity 0.75s 0.5s, transform 0.75s 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), -webkit-transform 0.75s 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@media screen and (max-width: 480px) {
  #s_tsunakan .s_ttl .bal {
    top: -20.27vw;
    left: 71.33vw;
  }
  #s_tsunakan .s_ttl .bal img {
    width: 22.4vw;
    height: auto;
  }
}
#s_tsunakan .s_ttl .logo {
  margin-top: 36px;
  position: relative;
  z-index: 1;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .s_ttl .logo {
    margin-top: 6vw;
  }
  #s_tsunakan .s_ttl .logo img {
    width: 53.33vw;
    height: auto;
  }
}
#s_tsunakan .s_ttl.done span {
  opacity: 1;
}
#s_tsunakan .s_ttl.done .bal {
  -webkit-transform: scale(1);
  transform: scale(1);
}
#s_tsunakan .s_lead {
  margin-top: 35px;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 2.1rem;
  line-height: 1.71;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .s_lead {
    margin-top: 9.33vw;
    font-size: clamp(1.6rem, 4.27vw, 2.1rem);
  }
}
#s_tsunakan .box {
  position: relative;
  width: 900px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #00478b;
  background-color: #fff;
  border-radius: 10px;
  margin: -80px auto 0;
  padding: 60px 120px;
  text-align: left;
  display: grid;
  gap: 0 30px;
  grid-template-columns: 132px auto;
  grid-template-areas: "img ttl" "img txt";
}
@media screen and (max-width: 480px) {
  #s_tsunakan .box {
    width: 93.3%;
    border-radius: 8px;
    margin: -18vw auto 0;
    padding: 10.67vw 6vw 8.67vw;
    gap: 5.33vw 4vw;
    grid-template-areas: "ttl ttl" "img txt";
    grid-template-columns: 25.33vw auto;
  }
}
#s_tsunakan .box .ttl {
  background-color: #00478b;
  color: #fff;
  width: 150px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius: 9999px;
  position: absolute;
  left: calc(50% - 75px);
  top: -20px;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 2rem;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .box .ttl {
    left: calc(50% - 15vw);
    width: 30vw;
    height: 8vw;
    font-size: clamp(1.6rem, 4.27vw, 2rem);
    top: -4.27vw;
  }
}
#s_tsunakan .box .subttl {
  grid-area: ttl;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 2rem;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .box .subttl {
    text-align: center;
    font-size: clamp(1.6rem, 4.27vw, 2rem);
  }
}
#s_tsunakan .box .img {
  position: relative;
  grid-area: img;
}
#s_tsunakan .box .img img {
  border: 1px solid #dedede;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  height: auto;
}
#s_tsunakan .box .txt {
  grid-area: txt;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .box .txt {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}
#s_tsunakan .box .txt p {
  font-size: 1.6rem;
  line-height: 2;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .box .txt p {
    margin-top: -0.5em;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
  }
  #s_tsunakan .box .txt p br {
    display: none;
  }
}
#s_tsunakan .box .btn {
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 250px;
  height: 55px;
  border: 1px solid #00478b;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 10px;
  color: #00478b;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.6rem;
  padding: 0 25px;
  position: relative;
}
@media screen and (max-width: 480px) {
  #s_tsunakan .box .btn {
    margin-top: 2.4vw;
    width: 50.67vw;
    max-width: 100%;
    height: 10.93vw;
    border-radius: 8px;
    font-size: clamp(1.4rem, 3.73vw, 1.6rem);
    padding: 0 2.67vw;
  }
}
#s_tsunakan .box .btn::after {
  content: "";
  display: block;
  aspect-ratio: 1;
  position: absolute;
  background: url("../img/arr1.svg") no-repeat center center/contain;
  width: 18px;
  right: 25px;
  top: calc(50% - 9px);
}
@media screen and (max-width: 480px) {
  #s_tsunakan .box .btn::after {
    width: 4vw;
    right: 4vw;
    top: calc(50% - 2vw);
  }
}
@media (any-hover: hover) and (min-width: 481px) {
  #s_tsunakan .box .btn:hover {
    background-color: #00478b;
    color: #fff;
  }
  #s_tsunakan .box .btn:hover::after {
    background: url("../img/arr1_wh.svg") no-repeat center center/contain;
  }
}

#s_photo {
  padding-top: 110px;
}
@media screen and (max-width: 480px) {
  #s_photo {
    padding-top: 16vw;
  }
  #s_photo .s_ttl img {
    width: 53.07vw;
    height: auto;
  }
}

#gallery {
  margin-top: 55px;
  width: 100%;
  position: relative;
}
@media screen and (max-width: 480px) {
  #gallery {
    margin-top: 6.93vw;
  }
}
#gallery .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 42.68%;
}
@media screen and (max-width: 480px) {
  #gallery .swiper-slide {
    width: 85%;
  }
}
#gallery .swiper-slide img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
@media screen and (max-width: 480px) {
  #gallery .swiper-slide img {
    border-radius: 8px;
  }
}
#gallery .swiper-slide p {
  margin-top: 1em;
  text-align: left;
  font-family: "Google Sans", "MFW-HiraginoUDSansStdN-W6", sans-serif;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1.75;
}
@media screen and (max-width: 480px) {
  #gallery .swiper-slide p {
    font-size: clamp(1.2rem, 3.2vw, 1.4rem);
  }
}
#gallery .swiper-button-prev,
#gallery .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 16.005vw;
  aspect-ratio: 1;
  width: 36px;
  margin-top: -18px;
  background: url("../img/arr1.svg") no-repeat center center/contain;
  cursor: pointer;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) and (min-width: 481px) {
  #gallery .swiper-button-prev:hover,
  #gallery .swiper-button-next:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1200px) {
  #gallery .swiper-button-prev,
  #gallery .swiper-button-next {
    top: 192px;
  }
}
@media screen and (max-width: 480px) {
  #gallery .swiper-button-prev,
  #gallery .swiper-button-next {
    top: 31.875vw;
    width: 5.6vw;
    margin-top: -2.8vw;
  }
}
#gallery .swiper-button-prev {
  left: calc(28.66% - 32.5px - 18px);
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}
@media screen and (max-width: 480px) {
  #gallery .swiper-button-prev {
    left: calc(7.5% - 4vw);
  }
}
#gallery .swiper-button-next {
  right: calc(28.66% - 32.5px - 18px);
}
@media screen and (max-width: 480px) {
  #gallery .swiper-button-next {
    right: calc(7.5% - 4vw);
  }
}

footer {
  position: relative;
  padding: 130px 0 50px;
}
@media screen and (max-width: 480px) {
  footer {
    padding: 14vw 0 9.33vw;
  }
  footer .logo {
    width: 23.6vw;
    height: auto;
  }
}
footer .copyright {
  margin-top: 65px;
  color: #000;
  font-size: 1.4rem;
}
footer .copyright span {
  font-family: "MFW-HiraginoUDSansStdN-W3", sans-serif;
}
@media screen and (max-width: 480px) {
  footer .copyright {
    margin-top: 7.33vw;
    font-size: clamp(1.1rem, 2.93vw, 1.4rem);
  }
}

.is-windows .p_anc .anc_list .date .label,
.is-windows .p_anc .anc_list .place .label {
  margin-top: -0.1em;
  padding: 0 0.4em;
}
.is-windows .s_event .subset .label {
  margin-top: -0.1em;
}

@supports (-webkit-hyphens: none) {
  .p_anc .anc_list .date .label,
  .p_anc .anc_list .place .label {
    margin-top: -0.1em;
  }
  .s_event .subset .label {
    margin-top: -0.1em;
  }
}