@charset "UTF-8";
/* === 元の swing クラス群（25deg）=== */
.swing-slow {
  animation: swing25 3000ms steps(2, end) infinite;
}

.swing {
  animation: swing25 2400ms steps(2, end) infinite;
}

.swing-fast {
  animation: swing25 1200ms steps(2, end) infinite;
}

/* === 5度の揺れ === */
.swing-5 {
  animation: swing5 2000ms steps(2, end) infinite;
}

@keyframes swing5 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(5deg);
  }
}
/* === 15度の揺れ === */
.swing-15 {
  animation: swing15 2000ms steps(2, end) infinite;
}

@keyframes swing15 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(15deg);
  }
}
/* === 25度（元） === */
@keyframes swing25 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(25deg);
  }
}
/* === 35度の揺れ === */
.swing-35 {
  animation: swing35 2000ms steps(2, end) infinite;
}

@keyframes swing35 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(-35deg);
  }
}
/* === 45度の揺れ === */
.swing-45 {
  animation: swing45 1500ms steps(2, end) infinite;
}

@keyframes swing45 {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(45deg);
  }
}
.nod-slow {
  animation: decoNod 2000ms steps(2, end) infinite;
}

.nod {
  animation: decoNod 1200ms steps(2, end) infinite;
}

.nod-fast {
  animation: decoNod 600ms steps(2, end) infinite;
}

@keyframes decoNod {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(8px);
  }
}
.pop-slow {
  animation: decoPop 1600ms steps(2, end) infinite;
}

.pop {
  animation: decoPop 1000ms steps(2, end) infinite;
}

.pop-fast {
  animation: decoPop 500ms steps(2, end) infinite;
}

@keyframes decoPop {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.2);
  }
}
.txt_center {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

/*
=================
ざぶとん
=================
*/
.txt_emphasis {
  padding: 0.1em 0.3em 0.1em 0.3em;
  margin: 0 0.3em;
}

/*
=================
改行
=================
*/
.br-min1024 {
  display: block;
}
@media (min-width: 1024px) {
  .br-min1024 {
    display: none;
  }
}

.br-min768 {
  display: block;
}
@media (min-width: 768px) {
  .br-min768 {
    display: none;
  }
}

.br-min500 {
  display: block;
}
@media (min-width: 500px) {
  .br-min500 {
    display: none;
  }
}

.br-max500 {
  display: block;
}
@media (max-width: 500px) {
  .br-max500 {
    display: none;
  }
}

/*
=================
リスト
=================
*/
ol {
  counter-reset: listnum;
  list-style: none;
  font-variant-numeric: tabular-nums;
  padding-left: calc(var(--font-size_m) * 2);
  text-indent: calc(var(--font-size_m) * 2 * -1);
}

ol li {
  margin-top: calc(var(--font-size_m) * 0.3);
  font-weight: 600;
}

ol li::before {
  padding: 0 calc(var(--font-size_m) * 0.3);
  margin-right: calc(var(--font-size_m) * 0.65);
  counter-increment: listnum;
  content: counter(listnum);
  background-color: var(--color-green);
  color: #fff;
}

/*
=================
段落のアキ
=================
*/
.txt_m-top {
  padding-top: var(--space_ms);
}

.img_title + * {
  margin-top: var(--space_l) !important;
}

/*
=================
co2
=================
*/
.co2 {
  font-size: calc(var(--font-size_m) * 0.7);
  font-weight: 600;
}

/*
=================
強調文字
=================
*/
.txt_red {
  color: var(--color-red);
  font-size: calc(var(--font-size_m) * 1.2);
  padding: 0 calc(var(--font-size_m) * 0.1);
  font-weight: 600;
}

/*
=================
センター揃え
=================
*/
.txt_center {
  text-align: center;
}

/*
===============
grid
===============
*/
.two-grid.next-illust {
  grid-template-columns: 1fr;
  grid-auto-flow: row;
}
@media (min-width: 1024px) {
  .two-grid.next-illust {
    grid-template-columns: min(60%, 650px) min(40%, 400px);
  }
}

.two-grid.next-illust .text-box {
  width: min(100%, 687px);
  margin: 0 auto;
}

.two-grid.next-illust .text-box p {
  margin-top: 0.5em;
}

.two-grid.next-illust img {
  display: block;
  width: min(90%, 400px);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .two-grid.next-illust img {
    width: min(100%, 400px);
  }
}

.two-grid.next-illust .txt_title-l img {
  width: min(90%, 400px);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .two-grid.next-illust .txt_title-l img {
    width: min(100%, 400px);
    margin: 0;
  }
}

.two-grid.reverse.next-illust {
  grid-template-columns: 1fr;
  grid-auto-flow: row;
  gap: 0;
}
@media (min-width: 1024px) {
  .two-grid.reverse.next-illust {
    grid-template-columns: min(50%, 600px) min(50%, 700px);
  }
}

.two-grid.reverse.next-illust img {
  display: block;
  width: min(100%, 600px);
  margin: 0 auto;
}
@media (min-width: 1024px) {
  .two-grid.reverse.next-illust img {
    margin-left: -2vw;
  }
}

.ly_sec-inner.two-grid.reverse {
  display: flex;
  flex-direction: column-reverse;
}
@media (min-width: 1024px) {
  .ly_sec-inner.two-grid.reverse {
    display: grid;
  }
}

.home_firstview, .ly_sec {
  width: 100%;
}

/*
===============
背景画像
===============
*/
.bg-wrapper {
  position: relative;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  overflow: hidden;
}

.bg-wrapper .bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: bottom;
     object-position: bottom;
  z-index: 0;
}

.bg-wrapper .content {
  position: relative;
  z-index: 1;
}

.bg-wrapper .content .txt_title-l {
  text-align: center;
}

/*
===============
イベント情報
===============
*/
.event_container .bg-wrapper {
  padding: 24px 24px 12vw 24px;
}
@media (min-width: 500px) {
  .event_container .bg-wrapper {
    padding: 0;
    padding-bottom: clamp(42px, 10vw, 100px);
  }
}

.event_container .bg-wrapper .txt_box {
  width: 100%;
  background-color: var(--color-bg_white);
  margin: 0 auto;
  padding: var(--space_l) 0;
  border-radius: var(--border-radius_ll);
  position: relative;
}
@media (min-width: 500px) {
  .event_container .bg-wrapper .txt_box {
    width: -moz-fit-content;
    width: fit-content;
    padding: var(--space_l) var(--space_ll);
    border-radius: 0 0 var(--border-radius_ll) var(--border-radius_ll);
  }
}

.event_container .bg-wrapper .txt_box p {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  line-height: 1.4;
  margin-top: 0.3em;
}

.event_container .item_bdr {
  display: none;
}
@media (min-width: 500px) {
  .event_container .item_bdr {
    display: block;
    position: absolute;
    width: var(--border-radius_lll);
    height: var(--border-radius_lll);
    top: 0;
    left: calc(var(--border-radius_lll) * -0.99);
  }
}

.event_container .item_bdr-right {
  display: none;
}
@media (min-width: 500px) {
  .event_container .item_bdr-right {
    display: block;
    position: absolute;
    width: var(--border-radius_lll);
    height: var(--border-radius_lll);
    top: 0;
    right: calc(var(--border-radius_lll) * -0.99);
    transform: scale(-1, 1);
  }
}

.l_event {
  margin-top: calc(min(8.7vw, 56px) * -1);
}
@media (min-width: 500px) {
  .l_event {
    margin-top: calc(min(7vw, 56px) * -1);
  }
}

.p-banner {
  max-width: 1420px;
  width: 90%;
  margin: 0 auto;
  margin-top: var(--space_llll);
  padding-bottom: max(180px, 13vw);
}

.p-p-banner__list {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 1em;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .p-p-banner__list {
    grid-template-columns: repeat(3, auto);
  }
}
@media (min-width: 1024px) {
  .p-p-banner__list {
    grid-template-columns: repeat(5, auto);
    gap: 2em;
  }
}

.p-p-banner__list li {
  height: min(10vw, 100px);
  transition: var(--transition);
}
@media (min-width: 768px) {
  .p-p-banner__list li {
    height: min(7vw, 100px);
  }
}
@media (min-width: 1024px) {
  .p-p-banner__list li {
    height: min(4vw, 100px);
  }
}

.p-p-banner__list li img {
  width: auto;
  height: 100%;
  box-shadow: var(--box-shadow);
}

@media (hover: hover) and (pointer: fine) {
  .p-p-banner__list li:hover {
    transform: translate(0, -6px);
  }
}
.home_newswrapper {
  padding: 0 1em;
}

.p-home_newsbox {
  position: relative;
  z-index: 5;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 70%;
  margin: 0 auto;
  border: 2px solid var(--color-green);
  background-color: #fff;
  margin-top: var(--space_m);
  padding: var(--space_m) var(--font-size_s);
  color: inherit; /* 文字色を親に合わせる */
  text-decoration: none;
  cursor: pointer;
  transition: 0.3s;
  border-radius: var(--border-radius_ms);
  font-weight: 600;
}
@media (min-width: 768px) {
  .p-home_newsbox {
    border-radius: calc(infinity * 1px);
    width: min(100%, 768px);
    margin-top: var(--space_lll);
    padding: var(--space_ss) var(--font-size_lll);
    min-width: 50%;
  }
}

@media (any-hover: hover) {
  .p-home_newsbox:hover {
    background-color: var(--color-green);
    color: #fff;
  }
  .p-home_newsbox:hover .day {
    color: var(--color-yellow);
    border-color: #fff;
    letter-spacing: 0.04em;
  }
  .p-home_newsbox:hover h3 {
    border-color: #fff;
  }
}
.p-home_newsbox .ly_inner {
  display: flex;
  justify-items: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  flex-direction: column;
  gap: 0;
}
@media (min-width: 768px) {
  .p-home_newsbox .ly_inner {
    flex-direction: row;
    gap: var(--space_l);
  }
}

.p-home_newsbox .ly_inner h3, .p-home_newsbox .ly_inner .day {
  text-wrap: nowrap;
}

.p-home_newsbox .ly_inner article {
  display: flex;
  align-items: center;
  margin-top: var(--space_ss);
  flex-direction: column;
  gap: 0;
  padding: 0 var(--space_m);
}
@media (min-width: 768px) {
  .p-home_newsbox .ly_inner article {
    flex-direction: row;
    gap: var(--space_m);
    margin-top: 0;
    padding: 0;
  }
}

.p-home_newsbox .day {
  display: block;
  font-size: var(--font-size_s);
  color: var(--color-green);
  border-left: none;
  transition: 0.3s;
}
@media (min-width: 768px) {
  .p-home_newsbox .day {
    border-left: 1px dashed var(--color-black-50);
    padding-left: var(--space_l);
  }
}

.p-home_newsbox h3 {
  font-size: var(--font-size_l);
  border-bottom: 1px dashed var(--color-black-50);
  transition: 0.3s;
}
@media (min-width: 768px) {
  .p-home_newsbox h3 {
    border: none;
  }
}

.p-home_newsbox__text {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: var(--font-size_ms);
  line-height: 1.3;
}

.read_box {
  position: relative;
  z-index: 2;
  width: 85vw;
  margin: 0 auto;
  padding: var(--space_llll) 0;
}
@media (min-width: 550px) {
  .read_box {
    width: min(70vw, 600px);
  }
}
@media (min-width: 1280px) {
  .read_box {
    width: min(60vw, 1024px);
  }
}
.read_box .title {
  width: 70%;
  max-width: 350px;
  height: auto;
  aspect-ratio: 321/113;
  margin: 0 auto;
  padding-left: 3%;
}
@media (min-width: 550px) {
  .read_box .title {
    width: 100%;
    max-width: 620px;
    aspect-ratio: 620/60;
  }
}
@media (min-width: 1280px) {
  .read_box .title {
    max-width: 1024px;
  }
}
.read_box .subtitle {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 20px;
  color: var(--color-green);
  margin: 0 auto;
  margin-top: 0.7em;
  letter-spacing: 0.1em;
  font-weight: 600;
  line-height: 1.4;
}
@media (min-width: 400px) {
  .read_box .subtitle {
    margin-top: var(--space_s);
  }
}
@media (min-width: 1024px) {
  .read_box .subtitle {
    font-size: var(--font-size_ll);
  }
}
.read_box .text_top {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--font-size_m);
  margin: 0 auto;
  margin-top: var(--space_ms);
  font-weight: 600;
}
@media (min-width: 768px) {
  .read_box .text_top {
    margin-top: var(--space_s);
  }
}
.read_box .text_btm {
  font-size: var(--font-size_s);
  line-height: 1.5;
  max-width: 867px;
  margin: 0 auto;
  border-top: 2px solid var(--color-green);
  border-bottom: 2px solid var(--color-green);
  padding: var(--space_ms) 0;
  margin-top: var(--space_m);
  font-weight: 600;
}

.il_top {
  position: absolute;
  top: 0;
  right: 0;
  display: none;
}
@media (min-width: 768px) {
  .il_top {
    display: block;
  }
}
@media (min-width: 1024px) {
  .il_top {
    top: 100px;
  }
}
.il_top img {
  display: block;
  width: 100%;
}
@media (min-width: 1024px) {
  .il_top img {
    width: min(20vw, 205px);
  }
}

.il_top-sp-left {
  left: 0;
}

.il_top-sp-right {
  right: 0;
}

.il_btm-left, .il_btm-right {
  position: absolute;
}
.il_btm-left img, .il_btm-right img {
  display: block;
  width: min(20vw, 80px);
}
@media (min-width: 768px) {
  .il_btm-left img, .il_btm-right img {
    width: min(20vw, 320px);
  }
}
@media (min-width: 1280px) {
  .il_btm-left, .il_btm-right {
    margin-top: -5vh;
  }
}

.il_btm-left {
  left: 0;
}

.il_btm-right {
  right: 0;
}

.read_container .bg_box {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  position: relative;
  top: 0;
}
@media (min-width: 768px) {
  .read_container .bg_box {
    top: 10vh;
  }
}
.read_container .bg_box .bg_left {
  position: absolute;
  left: 0;
  top: 13vh;
  width: min(42vw, 490px);
}
@media (min-width: 768px) {
  .read_container .bg_box .bg_left {
    width: min(35vw, 490px);
    top: 0;
  }
}
.read_container .bg_box .bg_right {
  position: absolute;
  width: min(58vw, 590px);
  right: 0;
  top: 25vh;
}
@media (min-width: 768px) {
  .read_container .bg_box .bg_right {
    width: min(45vw, 590px);
    top: 50px;
  }
}

[class*=swiper]:focus {
  outline: none;
}

.swiper img {
  display: block;
  width: 100%;
  height: 100%;
}

.swiper {
  width: 100%;
  overflow: hidden;
}

.swiper-wrapper {
  display: flex;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
}

.home_main-slide {
  width: 100%;
  overflow: hidden;
  padding-top: 24px;
}
@media (min-width: 1024px) {
  .home_main-slide {
    margin-top: -120px;
  }
}

.home_main-slide .swiper-wrapper {
  min-height: 100% !important;
}

.home_main-slide .swiper-slide {
  height: auto;
  display: flex;
  align-items: stretch;
}

.home_main-slide .l-inner {
  width: min(90vw, 768px);
  margin: 0 auto;
}
@media (min-width: 768px) {
  .home_main-slide .l-inner {
    width: min(60vw, 1280px);
  }
}

.home_main-slide .swiper {
  overflow: visible;
}

.home_main-slide .slide {
  overflow: hidden;
  transition: var(--transition), opacity 1s;
  border-radius: var(--border-radius_ms);
  box-shadow: var(--box-shadow);
  aspect-ratio: 768/527;
  border: 2px solid #fff;
}

.home_main-slide .swiper-button-prev::before, .home_main-slide .swiper-button-next::before {
  transition: var(--transition);
}
.home_main-slide .swiper-button-prev, .home_main-slide .swiper-button-next {
  display: grid;
  place-content: center;
  width: clamp(30px, 6.25vw, 80px);
  height: clamp(30px, 6.25vw, 80px);
  cursor: pointer;
  transition: var(--transition);
}
@media (any-hover: hover) {
  .home_main-slide .swiper-button-prev:hover, .home_main-slide .swiper-button-next:hover {
    transform: scale(1.2);
    box-shadow: var(--box-shadow);
  }
}
.home_main-slide .swiper-button-disabled {
  pointer-events: none;
  opacity: 0;
}
.home_main-slide .swiper-button-prev, .home_main-slide .swiper-button-next {
  position: absolute;
  z-index: 1;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #fff;
  box-shadow: var(--box-shadow-dark);
  border-radius: 50%;
}
.home_main-slide .swiper-button-prev {
  right: calc(100% - clamp(14px, 1.56vw, 20px));
}
.home_main-slide .swiper-button-next {
  left: calc(100% - clamp(14px, 1.56vw, 20px));
}
.home_main-slide .swiper-button-prev::before, .home_main-slide .swiper-button-next::before, .home_main-slide .swiper-button-prev::after, .home_main-slide .swiper-button-next::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: clamp(8px, 1.56vw, 20px);
  height: 2px;
  border-radius: 100vmax;
  background-color: var(--color-green);
  transform-origin: calc(100% - 1px) 50%;
}
.home_main-slide .swiper-button-next::before {
  margin-right: calc(clamp(30px, 6.25vw, 80px) * 0.4);
  transform: rotate(45deg);
}
.home_main-slide .swiper-button-next::after {
  margin-right: calc(clamp(30px, 6.25vw, 80px) * 0.4);
  transform: rotate(-45deg);
}
.home_main-slide .swiper-button-prev::before {
  margin-right: calc(clamp(30px, 6.25vw, 80px) * 0.6);
  transform: rotate(135deg);
}
.home_main-slide .swiper-button-prev::after {
  margin-right: calc(clamp(30px, 6.25vw, 80px) * 0.6);
  transform: rotate(-135deg);
}

.home_main-slide .swiper {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.home_main-slide .swiper-slide {
  transform: scale(0.8);
  pointer-events: none;
  transition: var(--transition);
}
.home_main-slide .swiper-slide-active {
  transform: scale(1);
  pointer-events: all;
}

.home_main-slide .slide img {
  transition: var(--transition);
}

@media (any-hover: hover) {
  .home_main-slide .slide:hover {
    transform: translateY(-16px);
  }
  .home_main-slide .slide:hover img {
    transform: translateY(0);
  }
}
/* ページネーションの基本スタイル */
.swiper-pagination {
  display: flex;
  justify-content: center;
  height: min(2vw, 12px);
  gap: min(2vw, 12px);
  margin-top: min(2vw, 12px);
}

.swiper-pagination-bullet {
  display: block;
  background-color: #b2c4b4;
  height: min(2vw, 12px);
  width: min(2vw, 12px);
  border-radius: 50%;
  transition: var(--transition);
}

/* 選択されているページネーション */
.swiper-pagination-bullet-active {
  background-color: var(--color-green);
  height: min(2vw, 12px);
  width: min(2vw, 12px);
}

.home_blog-slider {
  position: relative;
  box-sizing: content-box;
  width: 100%;
  margin: 0 auto;
}

.home_blog-slider .swiper {
  overflow: hidden;
  padding-top: clamp(16px, 4vw, 32px);
}

.home_blog-slider .swiper-wrapper {
  transition-timing-function: linear !important;
}

.home_blog-slider .swiper-slide {
  width: -moz-max-content;
  width: max-content;
}

.home_blog-slider .slide {
  overflow: hidden;
  width: 75vw;
  border-radius: 4px;
}
@media (min-width: 500px) {
  .home_blog-slider .slide {
    width: 40vw;
  }
}
@media (min-width: 768px) {
  .home_blog-slider .slide {
    width: 28.5vw;
  }
}
@media (min-width: 1280px) {
  .home_blog-slider .slide {
    width: 22vw;
  }
}

.home_blog-slider .swiper-slide.is-even {
  padding-top: clamp(16px, 4vw, 32px);
}

.home_blog-slider .slide {
  transition: var(--transition);
}

.home_blog-slider .slide img {
  transition: var(--transition);
}

.home_blog-slider .swiper-slide {
  display: flex !important;
  padding-right: 16px !important;
  box-sizing: border-box;
  margin-right: 0 !important;
}

.home_blog-slider .swiper-slide .image {
  display: block;
  border-radius: var(--border-radius_m);
  overflow: hidden;
  aspect-ratio: 3/2;
}
@media (min-width: 768px) {
  .home_blog-slider .swiper-slide .image {
    aspect-ratio: 3/2.5;
  }
}

.home_blog-slider .swiper-slide .image img {
  -o-object-fit: cover;
     object-fit: cover;
}

.home_blog-slider .day {
  display: block;
  width: calc(var(--font-size_ss) + 8px);
  writing-mode: vertical-rl;
  margin-top: var(--space_ms);
  color: var(--color-green);
  font-size: var(--font-size_ss);
  line-height: 1.5;
  font-weight: 600;
}

.home_blog-slider .swiper-slide .text {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  margin-top: var(--space_s);
  line-height: 1.3;
  font-size: var(--font-size_ss);
}

@media (any-hover: hover) {
  .home_blog-slider .slide:hover {
    transform: translateY(-16px);
    box-shadow: var(--box-shadow-hover);
  }
  .home_blog-slider .slide:hover img {
    transform: translateY(0);
  }
  .home_blog-slider .swiper:hover .slide:not(:hover) {
    opacity: 0.3;
  }
}/*# sourceMappingURL=index.css.map */