<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/* ====================
Layout
 ==================== */
@media screen and (min-width: 961px) {
  .l-header__brand {
    width: 18rem;
    max-width: 180px;
    margin-right: 1.6rem;
  }
}
@media screen and (min-width: 961px) and (max-width: 1200px) {
  .l-header__brand {
    width: 19rem;
    margin-right: 0;
  }
}
@media screen and (max-width: 960px) {
  .l-header__brand {
    width: 19rem;
    top: 3.6rem;
  }
}

@media screen and (max-width: 960px) {
  .l-footer {
    margin-top: 6rem;
  }
}

.l-footer_official__chara-item.-chara1 {
  display: none;
}
.l-footer_official__chara-item.-chara2 {
  display: none;
}
.l-footer_official__chara-item.-chara3 {
  display: block;
}

.l-top {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.l-top__container {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.l-top__header {
  width: 100%;
  position: relative;
  margin: 0 auto 11rem;
}
@media screen and (max-width: 960px) {
  .l-top__header {
    margin-bottom: 6.6rem;
  }
}
.l-top__inner {
  width: 100%;
  max-width: 144rem;
  position: relative;
  margin: 0 auto;
}

/* ====================
Project
 ==================== */
.p-balloon {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  z-index: 5;
}
@media screen and (max-width: 960px) {
  .p-balloon {
    right: 1rem;
    bottom: 1rem;
  }
}
.p-balloon__list {
  display: block;
  position: relative;
}
.p-balloon__list-item {
  display: block;
  position: relative;
}
.p-balloon__list-item + .p-balloon__list-item {
  margin-top: 1.2rem;
}
@media screen and (max-width: 960px) {
  .p-balloon__list-item + .p-balloon__list-item {
    margin-top: 1rem;
  }
}
.p-balloon__link {
  width: 15rem;
  display: block;
  position: relative;
  opacity: 1;
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-balloon__link {
    width: 9rem;
  }
}
.p-balloon__link:hover, .p-balloon__link:focus-visible {
  opacity: 0.8;
}

.p-hero {
  width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 6.5rem 0 0;
}
@media screen and (max-width: 960px) {
  .p-hero {
    padding: 10rem 0 0;
  }
}
.p-hero__bg {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
.p-hero__container {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 5.5rem 0;
}
@media screen and (max-width: 960px) {
  .p-hero__container {
    max-width: 56rem;
    padding: 3rem 0;
  }
}
.p-hero__chara {
  width: 11rem;
  position: absolute;
  left: 0;
  bottom: -1rem;
  transform: translate(-12%, 0);
}
@media screen and (max-width: 960px) {
  .p-hero__chara {
    display: none;
  }
}
.p-hero__chara-img {
  display: block;
  position: relative;
  transform-origin: 0 300%;
  transform: rotate(-10deg);
}
.is-load .p-hero__chara-img {
  animation: hero-chara 40s linear infinite;
}
@keyframes hero-chara {
  0% {
    transform: rotate(-10deg);
  }
  1% {
    transform: rotate(0);
  }
  50% {
    transform: rotate(0);
  }
  51% {
    transform: rotate(-10deg);
  }
  69% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(0);
  }
  99% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-10deg);
  }
}
.p-hero__chara-img img {
  display: block;
  position: relative;
}
.is-load .p-hero__chara-img img {
  animation: hero-chara-pyoko 8s linear infinite 3s;
}
@keyframes hero-chara-pyoko {
  0% {
    transform: translateY(0);
  }
  2% {
    transform: translateY(-1rem);
  }
  4% {
    transform: translateY(0);
  }
  6% {
    transform: translateY(-1rem);
  }
  8% {
    transform: translateY(0);
  }
  60% {
    transform: translateY(0);
  }
  62% {
    transform: translateY(-1rem);
  }
  64% {
    transform: translateY(0);
  }
  66% {
    transform: translateY(-1rem);
  }
  68% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(0);
  }
}
.p-hero__header {
  display: block;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-hero__header {
    width: 90.6666666667%;
    margin: 0 auto;
  }
}
.p-hero__inner {
  width: 30.1388888889%;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-hero__inner {
    max-width: 43.4rem;
    padding-top: 17rem;
  }
}
@media screen and (min-width: 961px) and (max-width: 1200px) {
  .p-hero__inner {
    padding-top: 10rem;
  }
}
@media screen and (max-width: 960px) {
  .p-hero__inner {
    width: 90.6666666667%;
    margin: 0 auto;
  }
}
.p-hero__footer {
  display: block;
  position: relative;
  margin-right: 2.4rem;
}
@media screen and (min-width: 961px) {
  .p-hero__footer {
    flex: 1 1 0;
    min-width: 0;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 960px) {
  .p-hero__footer {
    width: 90.6666666667%;
    margin: 1.5rem auto 0;
  }
}
.p-hero__pager {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.p-hero__pager-in {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.p-hero__pager-text {
  display: block;
  position: relative;
  font-family: "sirenne-text-mvb", "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
  text-align: center;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  .p-hero__pager-text {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 961px) {
  .p-hero__pager-text + .p-hero__pager-text {
    margin-left: 3.2rem;
  }
}
@media screen and (max-width: 960px) {
  .p-hero__pager-text + .p-hero__pager-text {
    margin-left: 3.6rem;
  }
}
.p-hero__pager-bar {
  width: 2rem;
  height: 1px;
  display: block;
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: var(--color-gray-pearl);
}
@media screen and (max-width: 960px) {
  .p-hero__pager-bar {
    width: 2.5rem;
    height: 1px;
  }
}
.p-hero__pager-bar::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-black);
}
@media screen and (min-width: 961px) {
  .p-hero__pager-bar::after {
    width: 100%;
    height: 100%;
    transform: scaleX(0);
    transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  }
}
@media screen and (max-width: 960px) {
  .p-hero__pager-bar::after {
    width: 100%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.65, 0, 0.35, 1);
  }
}
.is-slide-init .p-hero__pager-bar::after {
  transform: scaleX(1);
  transition: transform 1.9s linear;
  transform-origin: left;
}
.is-slide-change .p-hero__pager-bar::after {
  width: 100% !important;
  transform: scaleX(0);
  transform-origin: right;
  top: auto;
  bottom: 0;
  transition: transform 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}

.p-hero_visual {
  width: 100%;
  position: relative;
}
.p-hero_visual__container {
  width: 100%;
  max-width: 152rem;
  display: block;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .p-hero_visual__container {
    overflow: hidden;
  }
}
.p-hero_visual__inner {
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-hero_visual__inner {
    width: 65rem;
    max-width: 650px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 960px) {
  .p-hero_visual__inner {
    width: 100%;
  }
}
.p-hero_visual__list {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  font-size: 0;
  letter-spacing: -0.4em;
  white-space: nowrap;
}
.p-hero_visual__list-item {
  width: 100%;
  display: inline-block;
  position: relative;
  vertical-align: top;
  font-size: 1rem;
  letter-spacing: normal;
  white-space: normal;
  transform: scale(0.8);
}
.is-slide-init .p-hero_visual__list-item {
  transition: transform 2s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-hero_visual__list-item.is-current {
  transform: scale(1);
}
.p-hero_visual__list-item-inner {
  display: block;
}
.p-hero_visual__list-item a {
  display: block;
  transition: color 0.4s var(--ease_out);
}
@media (hover: hover) and (pointer: fine) {
  .p-hero_visual__list-item:hover a, .p-hero_visual__list-item:focus-visible a {
    color: var(--color-blue-dark);
  }
  .p-hero_visual__list-item:hover .p-hero_img__thumb::before, .p-hero_visual__list-item:focus-visible .p-hero_img__thumb::before {
    opacity: 0.15;
  }
  .p-hero_visual__list-item:hover .p-hero_img__thumb-img, .p-hero_visual__list-item:focus-visible .p-hero_img__thumb-img {
    transform: scale(1.1);
  }
}
.p-hero_visual__nav {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 128%;
  padding-top: 75%;
  pointer-events: none;
}
@media screen and (max-width: 960px) {
  .p-hero_visual__nav {
    width: 105%;
  }
}
.p-hero_visual__nav-btn {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 5.2rem;
  height: 5.2rem;
  max-width: 52px;
  max-height: 52px;
  background-color: var(--color-blue-dark);
  pointer-events: all;
  border-radius: 50%;
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-hero_visual__nav-btn {
    width: 3.5rem;
    height: 3.5rem;
  }
}
.p-hero_visual__nav-btn.is-slide-disable {
  display: none;
}
.p-hero_visual__nav-btn::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/frame/share_frame_pc.png) no-repeat center center;
  background-size: 102%;
}
@media screen and (max-width: 960px) {
  .p-hero_visual__nav-btn::before {
    background: url(../img/common/frame/share_frame_sp.png) no-repeat center center;
    background-size: 100%;
  }
}
.p-hero_visual__nav-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30%;
  height: 30%;
  -webkit-mask: url(../img/common/arrow.svg) no-repeat center center;
  mask: url(../img/common/arrow.svg) no-repeat center center;
  -webkit-mask-size: contain;
  mask-size: contain;
  background-color: var(--color-white);
}
.p-hero_visual__nav-btn.-prev {
  left: 0;
}
.p-hero_visual__nav-btn.-prev::after {
  transform: translate(-50%, -50%) scaleX(-1);
  left: 48%;
}
.p-hero_visual__nav-btn.-next {
  right: 0;
}
.p-hero_visual__nav-btn:hover, .p-hero_visual__nav-btn:focus-visible {
  opacity: 0.7;
}

.p-hero_img {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  .p-hero_img {
    max-width: 65rem;
    margin: 0 auto;
    transition: opacity 0.6s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-current:not(.is-clone) .p-hero_img, .is-next:not(.is-clone) .p-hero_img {
    opacity: 1;
    transition: opacity 0s;
  }
  .is-prev .p-hero_img {
    transition: opacity 0.6s cubic-bezier(0.5, 1, 0.89, 1);
  }
}
.p-hero_img__thumb {
  width: 100%;
  position: relative;
  margin: 0 auto;
  border-radius: 2rem;
  overflow: hidden;
}
.p-hero_img__thumb::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/top/slide_frame.png") no-repeat center;
  background-size: contain;
  pointer-events: none;
}
.p-hero_img__thumb::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-blue);
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1);
  z-index: 1;
}
.p-hero_img__thumb-img {
  width: 100%;
  position: relative;
  transition: transform 0.8s cubic-bezier(0.5, 1, 0.89, 1);
}

.p-hero_outline {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.p-hero_outline__container {
  width: 100%;
  position: relative;
}
.p-hero_outline__inner {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.p-hero_outline__list {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
  font-size: 0;
  letter-spacing: -0.4em;
  white-space: nowrap;
}
.p-hero_outline__list-item {
  display: inline-block;
  position: relative;
  vertical-align: top;
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: 1px;
  white-space: normal;
  pointer-events: none;
  z-index: -1;
}
.p-hero_outline__list-item.is-current {
  pointer-events: auto;
  z-index: 1;
}
.p-hero_outline__list-item.is-clone {
  opacity: 1 !important;
  pointer-events: auto;
  z-index: 0;
}

.p-hero_data {
  width: 100%;
  position: relative;
  margin: 0 auto;
  margin-top: 2rem;
}
@media screen and (min-width: 961px) {
  .p-hero_data {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .is-current:not(.is-clone) .p-hero_data {
    opacity: 1;
  }
}
.p-hero_data__title {
  width: 100%;
  position: relative;
  margin-bottom: 0.9rem;
  font-size: 2.2rem;
  line-height: 1.4;
  letter-spacing: 0.35rem;
}
@media screen and (max-width: 960px) {
  .p-hero_data__title {
    font-size: 2rem;
    line-height: 1.5;
    margin-bottom: 0.8rem;
  }
}
.p-hero_data__text {
  width: 100%;
  position: relative;
  margin: 0 auto;
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 960px) {
  .p-hero_data__text {
    font-size: 1.3rem;
    line-height: 1.8;
  }
}
.p-hero_data__btn {
  width: 11.6rem;
  display: block;
  position: relative;
  margin-top: 3rem;
}
@media screen and (max-width: 960px) {
  .p-hero_data__btn {
    width: 9.6rem;
    margin-top: 2.2rem;
  }
}
.p-hero_data__btn-text {
  display: block;
  position: relative;
  padding: 1rem 1rem 1.4rem;
  text-align: center;
  letter-spacing: 0.02rem;
  font-family: "sirenne-text-mvb", "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
  transition: color 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-hero_data__btn-text {
    padding: 0.8rem 0 1.5rem;
    font-size: 1.4rem;
  }
}
.p-hero_data__btn:hover .p-hero_data__btn-text, .p-hero_data__btn:focus-visible .p-hero_data__btn-text {
  color: var(--color-blue-dark);
}
.p-hero_data__btn-text::before {
  content: "";
  width: 3rem;
  height: 3rem;
  display: block;
  position: absolute;
  top: 65%;
  right: -1rem;
  transform: translate(0, -50%);
  background: var(--color-blue);
  border-radius: 50%;
  opacity: 0;
  transition: opacity 1.4s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-hero_data__btn:hover .p-hero_data__btn-text::before, .p-hero_data__btn:focus-visible .p-hero_data__btn-text::before {
  opacity: 0.1;
}
.p-hero_data__btn-arrow {
  width: 100%;
  height: 2rem;
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  pointer-events: none;
}
.p-hero_data__btn-path {
  fill: var(--color-black);
  fill-rule: evenodd;
  transition: fill 1.4s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-hero_data__btn:hover .p-hero_data__btn-path, .p-hero_data__btn:focus-visible .p-hero_data__btn-path {
  fill: var(--color-blue-dark);
}

.p-topic {
  width: 66.6666666667%;
  max-width: 96rem;
  position: relative;
  margin: 2.7rem auto 0;
  z-index: 0;
}
@media screen and (max-width: 960px) {
  .p-topic {
    width: 34rem;
    max-width: 52rem;
    margin-top: 2.5rem;
  }
}
.p-topic__chara {
  width: 15.8rem;
  position: absolute;
  top: 70%;
  right: 2rem;
  transform: translate(100%, -50%);
  z-index: 1;
}
@media screen and (max-width: 960px) {
  .p-topic__chara {
    width: 8.2rem;
    top: 0;
    right: -0.8rem;
    transform: translate(0, -50%);
  }
}
.p-topic__chara-img {
  display: block;
  position: relative;
}
.is-load .p-topic__chara-img {
  animation: topic-chara-pyoko 10s linear infinite;
}
@keyframes topic-chara-pyoko {
  0% {
    transform: translateX(0);
  }
  2% {
    transform: translateX(-1rem);
  }
  4% {
    transform: translateX(0);
  }
  6% {
    transform: translateX(-1rem);
  }
  8% {
    transform: translateX(0);
  }
  60% {
    transform: translateX(0);
  }
  62% {
    transform: translateX(-1rem);
  }
  64% {
    transform: translateX(0);
  }
  66% {
    transform: translateX(-1rem);
  }
  68% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(0);
  }
}
.p-topic__in {
  width: 100%;
  position: relative;
  padding: 4rem 0;
  height: 12rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 960px) {
  .p-topic__in {
    height: 8rem;
    padding: 4rem 0;
  }
}
.p-topic__in::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/top/info/info_frame_head_pc.png") no-repeat center top;
  background-size: 100% 3.5rem;
  pointer-events: none;
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .p-topic__in::before {
    background: url("../img/top/info/info_frame_head_sp.png") no-repeat center top;
    background-size: 100% 2rem;
  }
}
.p-topic__in::after {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url("../img/top/info/info_frame_bottom_pc.png") no-repeat center bottom;
  background-size: 100% 3.5rem;
  pointer-events: none;
  z-index: -1;
}
@media screen and (max-width: 960px) {
  .p-topic__in::after {
    background: url("../img/top/info/info_frame_bottom_sp.png") no-repeat center bottom;
    background-size: 100% 2rem;
  }
}
.p-topic__container {
  width: 100%;
  min-height: 5rem;
  flex-grow: 1;
  position: relative;
  margin: 0 auto;
  padding: 0 4.7rem;
  background: url("../img/top/info/info_frame_repeat_pc.png") repeat-y center bottom;
  background-size: 100% auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 960px) {
  .p-topic__container {
    min-height: 4rem;
    position: static;
    padding: 0 1.9rem;
    background: url("../img/top/info/info_frame_repeat_sp.png") repeat-y center bottom;
    background-size: 100% auto;
  }
}
.p-topic__header {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-topic__header {
    padding-right: 6rem;
    margin-right: 2.3rem;
  }
}
@media screen and (max-width: 960px) {
  .p-topic__header {
    position: absolute;
    top: 0;
    left: 6.8%;
    transform: translate(0, -50%);
    padding-left: 3rem;
  }
}
.p-topic__header::before {
  content: "";
  width: 4.5rem;
  height: 4.5rem;
  display: block;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  background: url("../img/top/info/info_illust.png") no-repeat center;
  background-size: contain;
}
@media screen and (min-width: 961px) {
  .p-topic__header::before {
    right: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-topic__header::before {
    width: 2.5rem;
    height: 2.5rem;
    left: 0;
  }
}
.p-topic__title {
  display: block;
  position: relative;
  font-size: 1.9rem;
  font-family: "hiragino-mincho-pron", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
}
@media screen and (max-width: 960px) {
  .p-topic__title {
    font-size: 1.3rem;
  }
}
.p-topic__inner {
  flex: 1 1 0;
  min-width: 0;
  display: block;
  position: relative;
  padding-right: 3.5rem;
  transition: opacity 0.4s var(--ease_out);
}
@media screen and (max-width: 960px) {
  .p-topic__inner {
    padding: 0 2rem;
  }
}
.p-topic__list {
  width: 100%;
  position: relative;
  margin: 0 auto;
  font-size: 0;
  overflow: hidden;
  white-space: nowrap;
  z-index: 0;
}
.p-topic__list-item {
  width: 100% !important;
  position: relative;
  margin: 0 auto;
  display: inline-block;
  position: relative;
  vertical-align: top;
  font-size: 1rem;
  letter-spacing: normal;
  white-space: normal;
  overflow: hidden;
  pointer-events: none;
  z-index: 0;
}
.p-topic__list-item.is-current is-clone {
  opacity: 0 !important;
}
.p-topic__list-item.is-current {
  pointer-events: auto;
  z-index: 1;
}
.p-topic__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 6rem;
  pointer-events: none;
}
@media screen and (max-width: 960px) {
  .p-topic__nav {
    align-items: center;
    width: 100%;
    flex-direction: row;
    height: 100%;
  }
}
.p-topic__nav-btn {
  width: 10px;
  height: 100%;
  cursor: pointer;
  pointer-events: all;
  text-align: center;
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 961px) {
  .p-topic__nav-btn.-prev {
    transform: rotate(-90deg);
  }
}
@media screen and (max-width: 960px) {
  .p-topic__nav-btn.-prev {
    transform: scaleX(-1);
  }
}
@media screen and (min-width: 961px) {
  .p-topic__nav-btn.-next {
    transform: rotate(90deg);
  }
}
@media screen and (max-width: 960px) {
  .p-topic__nav-btn {
    width: 0.6rem;
  }
}
.p-topic__nav-btn svg {
  width: 100%;
  transition: fill 0.4s var(--ease_out);
}
@media (hover: hover) and (pointer: fine) {
  .p-topic__nav-btn:hover svg, .p-topic__nav-btn:focus-visible svg {
    fill: var(--color-blue-dark);
  }
}

.p-topic_data {
  width: 100%;
  position: relative;
  margin: 0 auto;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: var(--color-black);
}
@media (hover: hover) and (pointer: fine) {
  .p-topic_data {
    transition: color 0.4s cubic-bezier(0.5, 1, 0.89, 1);
  }
  .p-topic_data[href]:hover, .p-topic_data[href]:focus-visible {
    color: var(--color-blue);
  }
}
.p-topic_data__text {
  display: block;
  position: relative;
  font-size: 1.4rem;
  line-height: 1.8;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 960px) {
  .p-topic_data__text {
    font-size: 1.1rem;
  }
}

.p-news {
  width: 100%;
  position: relative;
  margin: 0 auto 7.3rem;
}
@media screen and (max-width: 960px) {
  .p-news {
    margin: 0 auto 2.8rem;
  }
}
.p-news__container {
  width: 81.9444444444%;
  max-width: 118rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-news__container {
    width: 90.6666666667%;
    max-width: 56rem;
  }
}
.p-news__header {
  width: 100%;
  position: relative;
  margin: 0 auto 6rem;
}
@media screen and (max-width: 960px) {
  .p-news__header {
    margin-bottom: 2.7rem;
  }
}
.p-news__title {
  width: 41rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-news__title {
    width: 25rem;
  }
}
.p-news__tab {
  margin-bottom: 5rem;
}
@media screen and (max-width: 960px) {
  .p-news__tab {
    padding: 0 1%;
    margin-bottom: 2.8rem;
  }
}
.p-news__tab-list {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 960px) {
  .p-news__tab-list {
    justify-content: space-between;
  }
}
.p-news__tab-list-item {
  display: block;
  position: relative;
  padding: 1px 58px;
}
@media screen and (max-width: 960px) {
  .p-news__tab-list-item {
    padding: 1px 6% 1px 0;
  }
  .p-news__tab-list-item:last-of-type {
    padding-right: 0;
  }
}
.p-news__tab-list-item::before {
  content: "";
  width: 5px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background: url(../img/common/line_categpry.png) no-repeat center center;
  background-size: contain;
}
@media screen and (max-width: 960px) {
  .p-news__tab-list-item::before {
    width: 2px;
  }
}
.p-news__tab-list-item:last-of-type::before {
  content: none;
}
.p-news__tab-link {
  display: block;
  position: relative;
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
  white-space: nowrap;
  font-family: "hiragino-mincho-pron", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
  transition: color 0.4s var(--ease_out);
}
@media screen and (max-width: 960px) {
  .p-news__tab-link {
    font-size: 1.1rem;
    letter-spacing: 0.1rem;
  }
}
.p-news__tab-link.is-news-current {
  pointer-events: none;
  color: var(--color-blue-dark);
}
@media (hover: hover) and (pointer: fine) {
  .p-news__tab-link:hover, .p-news__tab-link:focus-visible {
    color: var(--color-blue-dark);
  }
}
.p-news__content {
  display: block;
  position: relative;
  z-index: 0;
}
.p-news__content-item {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  display: none;
  content-visibility: hidden;
  visibility: hidden;
  transition: opacity 0.3s var(--ease_out);
  z-index: 0;
}
.p-news__content-item.is-news-show {
  display: block;
  visibility: visible;
  content-visibility: visible;
}
.p-news__content-item.is-news-current {
  opacity: 1;
  position: relative;
  animation: show 0.8s var(--ease_out);
  z-index: 1;
}
@keyframes show {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.p-news__list {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: -5.6rem;
}
@media screen and (max-width: 960px) {
  .p-news__list {
    margin-bottom: -2rem;
  }
}
.p-news__list-item {
  width: 30%;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-news__list-item {
    margin: 0 5% 5.6rem 0;
  }
  .p-news__list-item:nth-child(3n) {
    margin-right: 0;
  }
  .p-news__list-item:nth-child(n+4) {
    display: none;
    visibility: hidden;
    content-visibility: hidden;
  }
}
@media screen and (max-width: 960px) {
  .p-news__list-item {
    width: 47.5%;
    margin: 0 5% 2.5rem 0;
  }
  .p-news__list-item:nth-child(2n) {
    margin-right: 0;
  }
  .p-news__list-item:nth-child(n+5) {
    display: none;
    visibility: hidden;
    content-visibility: hidden;
  }
}
.p-news__list-item:not(:first-child):last-child::before {
  content: "";
  width: 8rem;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 1.2rem;
  background: url("../img/top/news/news_chara02.png") no-repeat left top;
  background-size: 100% auto;
  transform: translate(0, -3%);
  pointer-events: none;
  transition: transform 0.3s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-news__list-item:not(:first-child):last-child::before {
    width: 3.7rem;
    right: 0rem;
    transform: translate(0, -0.5rem);
  }
}
@media screen and (min-width: 961px) {
  .p-news__list-item:not(:first-child):last-child:hover::before,
  .p-news__list-item:not(:first-child):last-child:focus-visible::before {
    transform: translate(0, -25%);
  }
}
@media screen and (max-width: 960px) {
  .is-load .p-news__list-item:not(:first-child):last-child::before {
    animation: mews-chara-2 30s linear infinite 5s;
  }
}
@keyframes mews-chara-2 {
  0% {
    transform: translate(0, -0.5rem);
  }
  20% {
    transform: translate(0, -0.5rem);
  }
  22% {
    transform: translate(0, -4rem);
  }
  68% {
    transform: translate(0, -4rem);
  }
  70% {
    transform: translate(0, -0.5rem);
  }
  100% {
    transform: translate(0, -0.5rem);
  }
}
.p-news__footer {
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-news__footer {
    position: absolute;
    right: 0;
    top: 0;
    padding-top: 4rem;
  }
}
@media screen and (max-width: 960px) {
  .p-news__footer {
    width: 100%;
    margin-top: 2rem;
    text-align: center;
  }
}
.p-news__more {
  display: inline-block;
  position: relative;
}

.p-news_data {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-news_data__header {
  width: 100%;
  position: relative;
  margin: 0 auto 2.8rem;
}
@media screen and (max-width: 960px) {
  .p-news_data__header {
    margin-bottom: 0.6rem;
  }
}
.p-news_data__thumb {
  width: 100%;
  padding-top: 55.5555555556%;
  position: relative;
  margin: 0 auto;
  background: url("../img/common/bg_ptn_dark.jpg") repeat left top;
  background-size: 20rem auto;
}
.p-news_data__thumb::before {
  content: "";
  width: 100%;
  height: 0.2rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/thumb_line_off.png") repeat-x left top;
  background-size: auto 0.2rem;
  z-index: 1;
}
.p-news_data__thumb::after {
  content: "";
  width: 100%;
  height: 0.2rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/thumb_line_on.png") repeat-x left top;
  background-size: auto 0.2rem;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-news_data:hover .p-news_data__thumb::after, .p-news_data:focus-visible .p-news_data__thumb::after {
  opacity: 1;
}
.p-news_data__thumb-img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-news_data__thumb-img::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-blue);
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-news_data:hover .p-news_data__thumb-img::before, .p-news_data:focus-visible .p-news_data__thumb-img::before {
  opacity: 0.15;
}
.p-news_data__inner {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.p-news_data__title {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-news_data__title {
    font-size: 1.1rem;
    line-height: 1.3;
  }
}
.p-news_data:hover .p-news_data__title, .p-news_data:focus-visible .p-news_data__title {
  color: var(--color-blue-dark);
}
.p-news_data__date {
  display: block;
  position: relative;
  font-size: 1.6rem;
  letter-spacing: 0rem;
  font-family: "sirenne-text-mvb", "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
  line-height: 1;
  color: var(--color-blue-dark);
}
@media screen and (max-width: 960px) {
  .p-news_data__date {
    font-size: 1.2rem;
  }
}
.p-news_data__foot {
  display: flex;
  align-items: center;
  margin-top: 1.1rem;
}
@media screen and (max-width: 960px) {
  .p-news_data__foot {
    margin-top: 0.6rem;
  }
}
.p-news_data__category {
  font-size: 1rem;
  color: var(--color-blue-dark);
  border: 1px solid var(--color-blue-dark);
  padding: 3px 5px 3px;
  line-height: 1;
  border-radius: 3px;
  margin-left: 9px;
  min-width: 55px;
  text-align: center;
  font-family: "hiragino-mincho-pron", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
}
@media screen and (max-width: 960px) {
  .p-news_data__category {
    font-size: 0.9rem;
    padding: 0.3rem 0.3rem 0.3rem;
    margin-left: 0.7rem;
    min-width: 4.6rem;
    border-radius: 2px;
  }
}

.p-column {
  width: 100%;
  position: relative;
  margin: 0 auto 7rem;
}
@media screen and (max-width: 960px) {
  .p-column {
    margin: 0 auto 3.2rem;
  }
}
.p-column__container {
  width: 81.9444444444%;
  max-width: 118rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-column__container {
    width: 90.6666666667%;
    max-width: 56rem;
  }
}
.p-column__header {
  width: 100%;
  position: relative;
  margin: 0 auto 0.6rem;
}
@media screen and (max-width: 960px) {
  .p-column__header {
    margin-bottom: 0;
  }
}
.p-column__title {
  width: 44rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-column__title {
    width: 24rem;
  }
}
.p-column__list {
  display: flex;
  flex-wrap: wrap;
  position: relative;
  margin-bottom: -5.6rem;
}
@media screen and (max-width: 960px) {
  .p-column__list {
    display: block;
    margin-top: -0.7rem;
  }
}
.p-column__list-item {
  width: 48%;
  display: block;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-column__list-item {
    margin: 0 3% 5.6rem 0;
  }
  .p-column__list-item:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 960px) {
  .p-column__list-item {
    width: 100%;
    margin: 0 0 2.8rem 0;
  }
  .p-column__list-item:nth-child(2n) {
    margin-right: 0;
  }
}
.p-column__list-item:first-child::before {
  content: "";
  width: 13rem;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 2.2rem;
  background: url("../img/top/news/news_chara01.png") no-repeat left top;
  background-size: 100% auto;
  transform: translate(0, -4%);
  transition: transform 0.5s cubic-bezier(0.5, 1, 0.89, 1);
  pointer-events: none;
}
@media screen and (max-width: 960px) {
  .p-column__list-item:first-child::before {
    width: 7.2rem;
    left: 0.2rem;
    transform: translate(0, -0.5rem);
  }
}
@media screen and (min-width: 961px) {
  .p-column__list-item:first-child:hover::before,
  .p-column__list-item:first-child:focus-visible::before {
    transform: translate(0, -37%);
  }
}
@media screen and (max-width: 960px) {
  .is-load .p-column__list-item:first-child::before {
    animation: mews-chara-1 30s linear infinite;
  }
}
@keyframes mews-chara-1 {
  0% {
    transform: translate(0, -0.5rem);
  }
  10% {
    transform: translate(0, -0.5rem);
  }
  12% {
    transform: translate(0, -6.2rem);
  }
  78% {
    transform: translate(0, -6.2rem);
  }
  80% {
    transform: translate(0, -0.5rem);
  }
  100% {
    transform: translate(0, -0.5rem);
  }
}
@media screen and (min-width: 961px) {
  .p-column__footer {
    position: absolute;
    right: 0;
    top: 0;
    padding-top: 10rem;
  }
}
@media screen and (max-width: 960px) {
  .p-column__footer {
    width: 100%;
    position: relative;
    margin-top: 4.4rem;
    text-align: center;
  }
}
.p-column__more {
  display: inline-block;
  position: relative;
}

.p-column_data {
  width: 100%;
  display: block;
  position: relative;
  margin: 0 auto;
}
.p-column_data__header {
  width: 100%;
  position: relative;
  margin: 0 auto 21px;
}
@media screen and (max-width: 960px) {
  .p-column_data__header {
    margin-bottom: 1.6rem;
  }
}
.p-column_data__thumb {
  width: 100%;
  padding-top: 55.5555555556%;
  position: relative;
  margin: 0 auto;
  background: url("../img/common/bg_ptn_dark.jpg") repeat left top;
  background-size: 20rem auto;
}
.p-column_data__thumb::before {
  content: "";
  width: 100%;
  height: 0.2rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/thumb_line_off.png") repeat-x left top;
  background-size: auto 0.2rem;
  z-index: 1;
}
.p-column_data__thumb::after {
  content: "";
  width: 100%;
  height: 0.2rem;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: url("../img/common/thumb_line_on.png") repeat-x left top;
  background-size: auto 0.2rem;
  z-index: 1;
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-column_data:hover .p-column_data__thumb::after, .p-column_data:focus-visible .p-column_data__thumb::after {
  opacity: 1;
}
.p-column_data__thumb-img {
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.p-column_data__thumb-img::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: var(--color-blue);
  opacity: 0;
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
.p-column_data:hover .p-column_data__thumb-img::before, .p-column_data:focus-visible .p-column_data__thumb-img::before {
  opacity: 0.15;
}
.p-column_data__inner {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.p-column_data__title {
  display: block;
  position: relative;
  font-size: 1.6rem;
  line-height: 1.6;
  letter-spacing: 0.2rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  transition: color 0.4s cubic-bezier(0.5, 1, 0.89, 1);
}
@media screen and (max-width: 960px) {
  .p-column_data__title {
    font-size: 1.2rem;
  }
}
.p-column_data:hover .p-column_data__title, .p-column_data:focus-visible .p-column_data__title {
  color: var(--color-blue-dark);
}
.p-column_data__date {
  display: block;
  position: relative;
  font-size: 1.6rem;
  font-family: "sirenne-text-mvb", "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
  letter-spacing: 0rem;
  line-height: 1;
  color: var(--color-blue-dark);
}
@media screen and (max-width: 960px) {
  .p-column_data__date {
    font-size: 1.3rem;
  }
}
.p-column_data__foot {
  display: flex;
  align-items: center;
  margin-top: 1.2rem;
}
@media screen and (max-width: 960px) {
  .p-column_data__foot {
    margin-top: 0.7rem;
  }
}

.p-calendar {
  width: 100%;
  position: relative;
  margin: 0 auto 8rem;
}
@media screen and (max-width: 960px) {
  .p-calendar {
    margin: 0 auto 4rem;
  }
}
.p-calendar__container {
  width: 81.9444444444%;
  max-width: 118rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-calendar__container {
    width: 90.6666666667%;
    max-width: 56rem;
  }
}
.p-calendar__header {
  width: 100%;
  position: relative;
  margin: 0 auto 0.6rem;
}
@media screen and (max-width: 960px) {
  .p-calendar__header {
    margin-bottom: 0;
  }
}
.p-calendar__title {
  width: 43rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-calendar__title {
    width: 25rem;
  }
}
@media screen and (min-width: 961px) {
  .p-calendar__footer {
    position: absolute;
    right: 0;
    top: 0;
    padding-top: 10rem;
  }
}
@media screen and (max-width: 960px) {
  .p-calendar__footer {
    width: 100%;
    position: relative;
    margin-top: 2.7rem;
    text-align: center;
  }
}
.p-calendar__more {
  display: inline-block;
  position: relative;
}
.p-calendar__schedule {
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule {
    margin-top: -1.1rem;
  }
}
.p-calendar__schedule-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule-head {
    display: block;
  }
}
.p-calendar__schedule-head-date {
  font-family: "sirenne-text-mvb", "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
  font-size: 36px;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule-head-date {
    text-align: center;
  }
}
.p-calendar__schedule-foot {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 40px;
}
.p-calendar__schedule-list-item {
  display: flex;
  position: relative;
}
.p-calendar__schedule-list-item::before {
  content: "";
  width: 100%;
  height: 0.6rem;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/common/line_double.png) repeat-x left center;
  background-size: 9rem;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule-list-item::before {
    height: 0.3rem;
    background-size: 7rem;
  }
}
.p-calendar__schedule-list-item:last-of-type::after {
  content: "";
  width: 100%;
  height: 0.6rem;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(../img/common/line_double.png) repeat-x left center;
  background-size: 9rem;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule-list-item:last-of-type::after {
    height: 0.3rem;
    background-size: 7rem;
  }
}
.p-calendar__schedule-date {
  font-family: "sirenne-text-mvb", "Noto Serif JP", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
  flex-shrink: 0;
  margin-right: 3.3%;
  padding: 31px 0;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule-date {
    padding: 2.4rem 0;
    margin-right: 5.3%;
  }
}
.p-calendar__schedule-date-box {
  width: 5.3rem;
  height: 5.3rem;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule-date-box {
    width: 5rem;
    height: 5rem;
  }
}
.p-calendar__schedule-date-box::before {
  content: "";
  width: 75%;
  height: 1px;
  position: absolute;
  top: 38%;
  left: 41%;
  transform: translate(-50%, -50%) rotate(-43deg);
  background-color: var(--color-black);
}
.p-calendar__schedule-date-box .p-in_month {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.9rem;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule-date-box .p-in_month {
    font-size: 1.7rem;
    letter-spacing: 0.1rem;
  }
}
.p-calendar__schedule-date-box .p-in_day {
  position: absolute;
  bottom: 0;
  right: 0;
  font-size: 3.1rem;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule-date-box .p-in_day {
    font-size: 2.8rem;
    letter-spacing: 0.1rem;
  }
}
.p-calendar__schedule-week {
  text-align: center;
  font-size: 1.1rem;
  margin-top: -0.6rem;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedule-week {
    letter-spacing: 0;
    font-size: 1rem;
    margin-top: -0.4rem;
  }
}
.p-calendar__schedule-detail {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-calendar__schedulein-item {
  position: relative;
}
.p-calendar__schedulein-item::before {
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(../img/common/line_single.png) repeat-x left center;
  background-size: 90px;
}
.p-calendar__schedulein-item:first-of-type .p-calendar__schedulein-inner {
  padding-top: 4.6rem;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedulein-item:first-of-type .p-calendar__schedulein-inner {
    padding-top: 2.7rem;
  }
}
.p-calendar__schedulein-item:last-of-type::before {
  content: none;
}
.p-calendar__schedulein-inner {
  display: flex;
  align-items: flex-start;
  padding: 3.9rem 10% 3.7rem 0;
  position: relative;
  transition: color 0.4s var(--ease_out);
}
@media screen and (max-width: 960px) {
  .p-calendar__schedulein-inner {
    padding: 2.3rem 10% 2.4rem 0;
    display: block;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-calendar__schedulein-inner:hover, .p-calendar__schedulein-inner:focus-visible {
    color: var(--color-blue-dark);
  }
  .p-calendar__schedulein-inner:hover::after, .p-calendar__schedulein-inner:focus-visible::after {
    background-color: var(--color-blue-dark);
  }
}
.p-calendar__schedulein-inner.is-link-href::after {
  -webkit-mask: url(../img/common/arrow02.svg) no-repeat center center;
  mask: url(../img/common/arrow02.svg) no-repeat center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.p-calendar__schedulein-inner.is-link-blank::after {
  width: 1.5rem;
  height: 1.5rem;
  -webkit-mask: url(../img/common/icon_link.svg) no-repeat center center;
  mask: url(../img/common/icon_link.svg) no-repeat center center;
  -webkit-mask-size: contain;
  mask-size: contain;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedulein-inner.is-link-blank::after {
    width: 1rem;
    height: 1rem;
  }
}
.p-calendar__schedulein-inner.is-link-none::after {
  content: none;
}
.p-calendar__schedulein-inner::after {
  content: "";
  width: 2.2rem;
  height: 2.2rem;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background-color: var(--color-black);
  transition: background-color 0.4s var(--ease_out);
}
@media screen and (max-width: 960px) {
  .p-calendar__schedulein-inner::after {
    width: 1.7rem;
    height: 1.7rem;
  }
}
.p-calendar__schedulein-category {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  position: relative;
}
@media screen and (min-width: 961px) {
  .p-calendar__schedulein-category {
    margin-right: 22px;
  }
}
@media screen and (max-width: 960px) {
  .p-calendar__schedulein-category {
    margin-bottom: 0.6rem;
  }
}
.p-calendar__schedulein-category-text {
  flex-shrink: 0;
  color: var(--color-blue-dark);
  border: 1px solid var(--color-blue-dark);
  border-radius: 3px;
  line-height: 1;
  font-size: 11px;
  padding: 3px 6px;
  min-width: 54px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  position: relative;
  text-align: center;
  height: 100%;
  font-family: "hiragino-mincho-pron", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ 明朝", "ＭＳ Ｐ明朝", "Noto Serif JP", serif;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedulein-category-text {
    font-size: 0.9rem;
    padding: 0.2rem 0.3rem;
    min-width: 4.5rem;
    border-radius: 2px;
  }
}
.p-calendar__schedulein-ttl {
  line-height: 1.7;
  margin-top: -6px;
}
@media screen and (max-width: 960px) {
  .p-calendar__schedulein-ttl {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-top: 0;
  }
}

.p-insta {
  width: 100%;
  position: relative;
  margin: 0 auto;
}
.p-insta__container {
  width: 81.9444444444%;
  max-width: 118rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-insta__container {
    width: 90.6666666667%;
    max-width: 56rem;
  }
}
.p-insta__header {
  width: 100%;
  position: relative;
  margin: 0 auto 0.6rem;
}
@media screen and (max-width: 960px) {
  .p-insta__header {
    margin-bottom: 0;
  }
}
.p-insta__title {
  width: 47rem;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  .p-insta__title {
    width: 26rem;
  }
}
.p-insta__widget {
  width: 100%;
  position: relative;
}
@media screen and (max-width: 960px) {
  .p-insta__widget {
    margin-top: -0.7rem;
  }
}
@media screen and (min-width: 961px) {
  .p-insta__footer {
    position: absolute;
    right: 0;
    top: 0;
    padding-top: 9.7rem;
  }
}
@media screen and (max-width: 960px) {
  .p-insta__footer {
    width: 100%;
    position: relative;
    margin-top: 2.5rem;
    text-align: center;
  }
}
.p-insta__more {
  display: inline-block;
  position: relative;
}

/* ====================
COMPONENT
 ==================== */
.p-balloon2 {
  position: fixed;
  left: 2rem;
  bottom: 2rem;
  z-index: 6;
}

.p-balloon2__list {
  display: block;
  position: relative;
}

.p-balloon2__list-item {
  display: block;
  position: relative;
}

.p-balloon2__list-item + .p-balloon2__list-item {
  margin-top: 1.2rem;
}

.p-balloon2__link {
  display: block;
  position: relative;
  opacity: 1;
  transition: opacity 0.4s cubic-bezier(0.5, 1, 0.89, 1);
  width: 15rem;
}

.p-balloon2__link:hover, .p-balloon2__link:focus-visible {
  opacity: 0.8;
}

@media screen and (max-width: 960px) {
  .p-balloon2 {
    left: 1rem;
    bottom: 1rem;
  }
  .p-balloon2__list-item + .p-balloon2__list-item {
    margin-top: 1rem;
  }
  .p-balloon2__link {
    width: 9rem;
  }
}</pre></body></html>