@charset "utf-8";
/* ------------------
 グローバル変数
------------------ */
:root {
  /* 色 */
  --main-color: #009441;
  --sub-color: #91B123;

  /* 文字サイズ */
	--headline: 3.2rem;
	--title: 2.4rem;
	
	/* 余白 */
	--contents-padding: 65px 5%;
  --space-65: 65px;
  --space-45: 45px;
  --space-30: 30px;
  --space-20: 20px;
  /* コンテンツ幅 */
  --contents-w: 1024px;
}
@media screen and (max-width: 767px) {
	:root {
		/* 文字サイズ */
		--headline: 2.4rem;
		--title: 2rem;
		
		/* 余白 */
		--contents-padding: 45px 5%;
    --space-65: 45px;
    --space-45: 30px;
    --space-30: 20px;
    --space-20: 10px;
	}
}

/* ------------------
 フォント
------------------ */
body {
	font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
	line-height: 1.8;
	position: relative;
  padding-top: 70px;
  @media screen and (max-width: 1279px) {
    width: 1280px;
  }
  @media screen and (max-width: 767px) {
    width: 100%;
		font-size: 1.4rem;
  }
}

/* ------------------
 各種パーツ
------------------ */
html {
	scroll-padding-top: 70px;
  @media screen and (max-width: 1080px) {
    scroll-padding-top: 60px;
  }
}

/* スマホメニュー非表示 */
.spNav_btn,.spNav_panel {display: none;}

/* スマホ閲覧時のみ表示 */
.sp_block {display: none;}
@media screen and (max-width: 767px) {
  /* スマホのみ表示する要素を表示、PCのみ表示する要素を非表示 */
  .sp_block {display: block;}
  .pc_block {display: none;}
}

/* aタグホバー時の表示 */
a {color: #000;}
a:hover {opacity: 0.8;}

/* 見出し */
.headline {
	font-size: var(--headline);
	font-weight: bold;
	color: var(--main-color);
	text-align: center;
  &.has-shadow {text-shadow: 0 0 10px #FFF;}
}
.green {color: var(--main-color);}
.bold_txt {font-weight: bold;}
.indent_txt {
  text-indent: -1em;
  padding-left: 1em;
}
.center_txt {text-align: center;}
.indent_mark {color: var(--main-color);}
.sentence:not(:last-child) {margin-bottom: 1em;}

/* テキストリンク */
.link_txt {
	text-decoration: underline;
	&:hover {
		text-decoration: none;
	}
  &.has-arrow {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }
  &.has-arrow::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid var(--main-color);
    border-bottom: 2px solid var(--main-color);
    transform: rotate(-45deg);
  }
}
/* 注意書き */
.note_txt {
	color: #f00;
	text-indent: -1em;
	padding-left: 1em;
}

/* レイアウト */
.top_section {
  position: relative;
  max-width: var(--contents-w);
  width: 90%;
  margin-inline: auto;
  padding-block: var(--space-65);
  &.pd-block45 {padding-block: var(--space-45);}
  &::before {
    content: '';
    position: absolute;
    background: linear-gradient(90deg, #FFF 0%, #009441 10%, #B0CC32 90%, #FFF 100%);
    inset: 0 0 auto 0;
    margin: auto;
    width: 100%;
    height: 1px;
  }
  &::after {
    content: '';
    position: absolute;
    background: linear-gradient(90deg, #FFF 0%, #009441 10%, #B0CC32 90%, #FFF 100%);
    inset: auto 0 0 0;
    margin: auto;
    width: 100%;
    height: 1px;
  }
  &#date::before,
  &:has(+ .top_section)::after,
  &:has(+ .situation)::after {display: none;}
  & > *:not(:last-child) {
    margin-bottom: var(--space-30);
  }
  p.indent_txt ~ *:not(p.indent_txt) {padding-left: 1em;}
}
.top_maxcont {
  width: auto;
  max-width: max-content;
  margin-inline: auto;
}
.top_btn {
  & > a,
  & > span {
    max-width: 262px;
    width: 100%;
    margin-inline: auto;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: linear-gradient(270deg, #B0CC32 0%, #00B359 100%);
    color: #fff;
    font-weight: bold;
    line-height: 1.25;
    text-align: center;
  }
}

/* 開催日時 */
.top_held--list {
  display: flex;
  justify-content: center;
  gap: var(--space-20);
  &:has(+ p) {margin-bottom: 1em!important;}
  @media screen and (max-width: 767px) {
    flex-wrap: wrap;
  }
}
.top_held--item {
  width: 100%;
  max-width: 241px;
  height: 241px;
  aspect-ratio: 1 / 1;
  border: 3px solid;
  border-image: linear-gradient(270deg, #B0CC32 0%, #00B359 100%)1;
  padding: var(--space-30);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-20);
  background: #fff;
  @media screen and (max-width: 767px) {
    width: calc(50% - 10px/2);
    height: auto;
    padding-inline: 2.5%;
    justify-content: center;
  }
}
.top_held--date {
  font-size: var(--headline);
  font-weight: 700;
  white-space: nowrap;
  @media screen and (max-width: 767px) {
    font-size: min(2.4rem, 6vw);
  }
}
.top_held--num {
  font-size: 4.8rem;
  color: var(--main-color);
  @media screen and (max-width: 767px) {
    font-size: min(4rem, 9vw);
  }
}
.top_held--faculty {
  font-size: var(--title);
  font-weight: 700;
  min-height: 72px;
  line-height: 1.5;
  display: flex;
  align-items: center;
  @media screen and (max-width: 767px) {
    font-size: min(1.6rem, 4.5vw);
    min-height: initial;
  }
}

/* ------------------
 header
------------------ */
.header {
	width: 100%;
	height: 70px;
	padding: 0 60px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
  @media screen and (max-width: 1080px) {
    height: 60px;
    padding-left: 10px;
  }
}
.header_logo {
  display: flex;
  gap: 20px;
  align-items: center;
}
.header_content {
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 35px;
	top: 15px;
	right: 2.5%;
	z-index: 50;
}
.pcNav_list {
	display: flex;
	align-items: center;
}
.pcNav_btm--item:not(:last-child) {
	border-right: 1px solid var(--main-color);
}
.pcNav_btm--item a {
	padding: 0 15px;
	text-underline-offset: 5px;
	font-weight: bold;
	&:hover {
		text-decoration: underline var(--main-color);
	}
}
.header_sns {
	display: flex;
	align-items: center;
	gap: 20px;
}

/* ------------------
 main
------------------ */
.main {
	margin-inline: auto;
}

/* ------------------
 メインビジュアル
------------------ */
.mv_outer {
  position: relative;
  &::before {
    content: '';
    position: absolute;
    background: linear-gradient(270deg, #B0CC32 0%, #00B359 100%);
    width: 100%;
    height: 980px;
    inset: 300px 0 auto 0;
    margin: auto;
    clip-path: polygon(0 200px, 100% 0, 100% calc(100% - 200px), 0 100%);
  }
  &::after {
    content: '';
    position: absolute;
    background: url(/entrance/event/open/img/info_bg.webp)no-repeat center / cover;
    inset: auto 0 -300px 0;
    inset: 1080px 0 auto 0;
    margin: auto;
    width: 100%;
    height: 671px;
    clip-path: polygon(0 200px, 100% 0, 100% calc(100% - 200px), 0 100%);
    z-index: -1;
  }
  @media screen and (max-width: 1439px) {
    &::before {height: 900px;}
    &::after {top: 980px;}
  }
  @media screen and (max-width: 767px) {
    &::before {
      height: 700px;
      top: 150px;
      clip-path: polygon(0 65px, 100% 0, 100% calc(100% - 65px), 0 100%);
    }
    &::after {
      height: 380px;
      top: 775px;
      clip-path: polygon(0 65px, 100% 0, 100% calc(100% - 65px), 0 100%);
    }
  }
}
.mv_inner {
  position: relative;
  width: 85%;
  margin-inline: auto;
  margin-bottom: var(--space-30);
  @media screen and (max-width: 767px) {
    width: 90%;
  }
}
.mv_ttl {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: -40px;
  @media screen and (max-width: 767px) {
    margin-bottom: -20px;
  }
}
.mv_ttl--txt {
  width: max-content;
  font-size: var(--headline);
  font-weight: 900;
  background: linear-gradient(90deg, #009441 0%, #B0CC32 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  &::before,
  &::after {
    content: '';
    display: block;
    width: 160px;
    height: 3px;
    margin: auto;
  }
  &::before {
    background: linear-gradient(90deg, #FFF 0%, #009441 100%);
    inset: 0 auto 0 0;
  }
  &::after {
    background: linear-gradient(90deg, #B0CC32 0%, #FFF 100%);
    inset: 0 0 0 auto;
  }
  @media screen and (max-width: 767px) {
    width: auto;
    font-size: min(2.4rem, 4.4vw);
    &::before,
    &::after {display: none;}
  }
}
.mv_ttl--main {
  font-family: 'Roboto';
  span {
    font-weight: 700;
    display: block;
    background: linear-gradient(90deg, #009441 0%, #B0CC32 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
.mv_ttl--mainFirst {
  font-size: 10.8rem;
  line-height: 10.8rem;
  @media screen and (max-width: 767px) {
    font-size: min(6rem, 9vw);
    line-height: 1.3;
  }
}
.mv_ttl--mainLast {
  font-size: 9.9rem;
  line-height: 9.9rem;
  @media screen and (max-width: 767px) {
    font-size: min(5.5rem, 8.2vw);
    line-height: 1.3;
  }
}
.mv_img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  max-height: 720px;
  margin-inline: auto;
  overflow: hidden;
  img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  @media screen and (max-width: 767px) {
    width: 100%;
    margin-bottom: 1em;
  }
}
.mv_left {
  position: absolute;
  bottom: 65px;
  left: 0;
  @media screen and (max-width: 767px) {
    position: relative;
    bottom: auto;
    left: auto;
    margin-bottom: 1em;
    p.sp_block {
      color: #fff;
      height: 151px;
      font-size: min(1.4rem, 4vw);
      display: flex;
      align-items: center;
    }
  }
}
.mv_right {
  position: absolute;
  inset: 0 0 0 auto;
  margin: auto;
  height: max-content;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 5px;
  @media screen and (max-width: 1366px) {
    top: 100px;
  }
  @media screen and (max-width: 767px) {
    display: none;
  }
}
.mv_right--txt {
  color: #fff;
  text-shadow: 0 0 10px #000, 0 0 10px #000;
  font-size: 2rem;
  font-weight: 700;
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.mv_schedule {
  position: absolute;
  right: 0;
  bottom: 30px;
  @media screen and (max-width: 767px) {
    position: relative;
    bottom: auto;
    left: auto;
  }
}
.mv_schedule--title {
  background: var(--main-color);
  padding: 0.25em 1.75em;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  @media screen and (max-width: 767px) {
    padding: 10px 5%;
    gap: 15px;
  }
}
.mv_schedule--head {
  background: #fff;
  border-radius: 50%;
  color: var(--main-color);
  min-width: 85px;
  width: 85px;
  height: 85px;
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.25;
  display: flex;
  justify-content: center;
  align-items: center;
  @media screen and (max-width: 767px) {
    font-size: 1.8rem;
  }
}
.mv_schedule--sub {
  span {
    display: block;
    color: #fff;
  }
  .font-20 {
    font-size: 2rem;
    font-weight: 900;
  }
  .font-16 {
    font-size: 1.6rem;
    font-weight: 700;
  }
  @media screen and (max-width: 767px) {
    .font-20 {font-size: min(2rem, 4.8vw);}
    .font-16 {font-size: min(1.6rem, 4vw);}
  }
}
.mv_schedule--txt {
  @media screen and (max-width: 767px) {
    font-size: 3vw;
  }
}

/* ------------------
 お知らせ
------------------ */
.information {
  max-width: var(--contents-w);
  width: 100%;
  margin-inline: auto;
  padding: var(--contents-padding);
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  background: #fff;
  position: relative;
  z-index: 1;
  @media screen and (max-width: 767px) {
    width: 90%;
    padding-block: 30px;
    gap: 15px;
  }
}
.information_box {
	width: 100%;
	display: flex;
	flex-direction: column;
	border-top: 1px solid #ccc;
	position: relative;
	z-index: 1;
}
.information_item {
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-bottom: 1px solid #ccc;
  time {
    min-width: 180px;
    font-size: 1.6rem;
    position: relative;
  }
  h3 {
    font-size: 1.6rem;
    font-weight: normal;
  }
  @media screen and (max-width: 767px) {
    height: auto;
    padding: 10px 0;
    flex-direction: column;
    align-items: flex-start;
    time {
      min-width: 150px;
      font-size: 1.4rem;
    }
    h3 {
      font-size: 1.4rem;
      font-weight: normal;
    }
  }
}
time.new::after {
  content: "NEW";
  width: 90px;
  height: 100%;
  padding-bottom: 2px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-family: "Jost", sans-serif;
  font-size: 1.4rem;
  color: var(--main-color);
  position: absolute;
  right: 0;
  top: 0;
  font-weight: bold;
}
.more_btn {
  max-width: 300px;
  width: 100%;
  margin-inline: auto;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: linear-gradient(270deg, #B0CC32 0%, #00B359 100%);
  color: #fff;
  line-height: 1.2;
  margin-top: 25px;
  &:hover {
    opacity: 0.8;
  }
  &::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg);
  }
}
.information_outer {
  width: 100%;
  height: 180px;
  transition: all 0.5s;
  overflow: hidden;
  @media screen and (max-width: 767px) {
    height: 215px;
  }
}
.information_box:not(:has(.information_item:nth-child(4))) .more_btn {display: none;}
.information_box:not(:has(.information_item:nth-child(4))) .information_outer {height: auto;}


/* ------------------
 開催日時、場所、プログラム
------------------ */
.outline {
  position: relative;
  &::before {
    content: '';
    width: calc(50% + 251px);
    height: 400px;
    background: url(/entrance/event/open/img/bg_02_1.png)no-repeat right center;
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    z-index: 1;
  }
  &::after {
    content: '';
    width: calc(50% + 251px);
    height: 400px;
    background: url(/entrance/event/open/img/img_02_1.png)no-repeat left center;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 60px;
    display: block;
    z-index: 0;
  }
  @media screen and (max-width: 767px) {
    overflow: hidden;
    &::after {
      position: relative;
      top: 0;
    }
  }
}
.out_inner {
  max-width: var(--contents-w);
  width: 90%;
  margin: auto;
  position: relative;
  padding-top: 60px;
  z-index: 2;
  @media screen and (max-width: 767px) {
    padding-top: 25px;
  }
}
.out_block {
  max-width: 562px;
  width: 50%;
  display: flex;
  gap: 60px;
  padding: var(--space-30) 0;
  border-top: 1px solid #ccc;
  &:last-child {
    border-bottom: 1px solid #ccc;
  }
  @media screen and (max-width: 767px) {
    max-width: none;
    width: 90%;
    display: flex;
    border-top: 1px solid #ccc;
    flex-direction: column;
    gap: 5px;
  }
}
.out_link {
  color: var(--main-color);
  font-weight: bold;
  text-decoration: underline;
}

.program {
  position: relative;
  padding-top: 50px;
  margin-top: 156px;
  &::before {
    content: '';
    width: calc(50% + 562px);
    height: 500px;
    background: url(/entrance/event/open/img/bg_02_2.png)no-repeat left center;
    background-size: 100% 100%;
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    z-index: 1;
  }
  &::after {
    content: '';
    width: calc(50% - 10px);
    height: 560px;
    background: url(/entrance/event/open/img/img_02_2.png)no-repeat right center;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 60px;
    display: block;
    z-index: 0;
  }
  @media screen and (max-width: 767px) {
    padding-top: 20px;
    margin-top: 25px;
    &::after {
      position: relative;
      width: 100%;
      height: 260px;
      top: 30px;
    }
  }
}
.pro_inner {
  max-width: var(--contents-w);
  width: 90%;
  margin: auto;
  position: relative;
  z-index: 2;
}
.pro_block {
  max-width: 711px;
  width: 90%;
  display: flex;
  gap: 20px;
  padding: var(--space-30) 0;
  border-top: 1px solid #ccc;
	margin-right: 0;
	margin-left: auto;
  flex-wrap: wrap;
  position: relative;
  &:last-child {
    border-bottom: 1px solid #ccc;
  }
  @media screen and (max-width: 767px) {
    width: 100%;
    gap: 5px;
  }
}
.pro_text {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  @media screen and (max-width: 767px) {
    gap: 5px;
  }
}
.pro_link {
  color: var(--main-color);
  font-weight: bold;
  text-decoration: underline;
}
a.pro_btn {
  position: absolute;
  top: 30px;
  right: 0;
  max-width: 262px;
  height: 50px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url(/entrance/event/open/img/btn_bg.png) no-repeat center;
  background-size: cover;
  color: #fff;
  font-weight: bold;
  line-height: 1.25;
  text-align: center;
  &::after{
    content: '';
    display: block;
    background: url(/entrance/event/open/img/arrow_right.svg) no-repeat center;
    background-size: contain;
    width: 7px;
    height: 12px;
    position: absolute;
    right: 25px;
  }
  small{
    font-size: 1.2rem;
  }
  @media screen and (max-width: 767px) {
    position: static;
  }
}
/* ------------------
 予約方法
------------------ */
.reserve {
  width: 100%;
  padding: var(--contents-padding);
  display: flex;
  justify-content: center;
  gap: 15px 45px;
  background: #F0F0F0;
  @media screen and (max-width: 767px) {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
.reserve_txt {
  max-width: 470px;
  width: 100%;
  @media screen and (max-width: 767px) {
    margin-bottom: 10px;
  }
}
.reserve_list {
  margin: 15px auto 5px;
  li {
    display:flex;
    align-items: center;
    gap: 10px;
  }
  li::before {
    content: "●";
    display: inline-block;
    color: var(--main-color);
  }
  @media screen and (max-width: 767px) {
    margin: 5px auto;
  }
}
.reserve_btn {
  max-width: 328px;
  width: 100%;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
  background: var(--main-color);
  position: relative;
  &::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translateY(-50%) rotate(45deg);
    position: absolute;
    top: 50%;
    right: 8%;
  }
  @media screen and (max-width: 767px) {
    margin: auto;
  }
}

/* ------------------
 ライブ配信?オンデマンド配信?資料公開について
------------------ */
.stream {
  max-width: var(--contents-w);
  width: 90%;
  padding: var(--contents-padding);
  padding-left: 0;
  padding-right: 0;
  margin: 150px auto 0;
  @media screen and (max-width: 767px) {
    margin-top: 60px;
  }
}
.stream_txt {
  margin: 35px auto;
}
.stream_table {
  width: 100%;
  margin: auto;
  border: 1px solid var(--main-color);
  border-collapse: collapse;
  th {
    min-width: 200px;
    height: auto;
    padding: 25px;
    border: 1px solid var(--main-color);
    background: rgba(0, 148, 65, 0.1);
  }
  td {
    width: 100%;
    height: auto;
    padding: 25px;
    border: 1px solid var(--main-color);
  }
  @media screen and (max-width: 767px) {
    tr {
      display: flex;
      flex-wrap: wrap;
    }
    th {
      min-width: 100%;
    }
  }
}
.stream_table .txt_note {color: #000;}
.stream_btn {
  max-width: 350px;
  width: 100%;
  height: 50px;
  padding: 0 5%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #fff;
  background: var(--main-color);
  margin: 25px auto;
  font-weight: bold;
  &::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(45deg);
  }
}

/* ------------------
 昨年度の様子
------------------ */
.situation {
  --swiper-navigation-size: 25px;
  --swiper-theme-color: var(--main-color);
  width: 100%;
  padding: var(--contents-padding);
  padding-top: 160px;
  position: relative;
  &::before {
    content: '';
    position: absolute;
    background: linear-gradient(270deg, #B0CC32 0%, #00B359 100%);
    width: 100%;
    height: 980px;
    inset: -30px 0 auto 0;
    margin: auto;
    clip-path: polygon(0 0, 100% 200px, 100% 100%, 0 calc(100% - 200px));
    z-index: -1;
  }
  .headline {
    position: relative;
    color: #fff;
    margin-bottom: 35px;
  }
  /* @media screen and (max-width: 1639px) {
    &::before {height: 800px;}
  } */
  @media screen and (max-width: 767px) {
    padding-top: 80px;
    &::before {
      top: 0;
      bottom: auto;
      clip-path: polygon(0 0, 100% 65px, 100% 100%, 0 calc(100% - 65px));
      height: 650px;
    }
  }
}

/* ------------------
 大学紹介
------------------ */
.introduction {
  width: 100%;
  padding-block: var(--space-65) 20px;
  position: relative;
  &::before {
    content: '';
    position: absolute;
    background: url(/entrance/event/open/img/intro_bg.webp) no-repeat center / cover;
    inset: -280px 0 auto 0;
    margin: auto;
    width: 100%;
    height: 800px;
    clip-path: polygon(0 0, 100% 200px, 100% 100%, 0 calc(100% - 200px));
    z-index: -1;
  }
  @media screen and (max-width: 1920px) {
    &::before {top: -100px;}
  }
  @media screen and (max-width: 767px) {
    &::before {
      clip-path: polygon(0 0, 100% 65px, 100% 100%, 0 calc(100% - 65px));
      top: -30px;
      height: 350px;
    }
  }
}
.intro_inner {
  max-width: var(--contents-w);
  width: 90%;
  margin-inline: auto;
  padding: var(--space-65) var(--space-30) var(--space-45);
  background: #fff;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 35px;
  @media screen and (max-width: 767px) {
    flex-wrap: wrap;
    justify-content: flex-start;
    padding-inline: 5%;
    figure {
      width: 110px;
    }
  }
}
.intro_list {
  max-width: 850px;
  width: 100%;
  display: flex;
  display: flex;
  flex-wrap: wrap;
  gap: 35px 20px;
  position: relative;
  &::after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #ccc;
    position: absolute;
    top: 50%;
    left: 0;
  }
  @media screen and (max-width: 767px) {
    &::after {display: none;}
  }
}
.intro_item {
  max-width: 415px;
  width: 100%;
  display: flex;
  gap: 10px 15px;
  div {
    max-width: 240px;
  }
  @media screen and (max-width: 767px) {
    position: relative;
    max-width: 100%;
    gap: 10px;
    &:not(:last-child)::after {
      content: '';
      background: #ccc;
      width: 100%;
      height: 1px;
      position: absolute;
      inset: auto 0 -17.5px 0;
      margin: auto;
    }
    div {
      max-width: 100%;
      width: calc(100% - 120px);
    }
  }
}
h3.intro_title {
  display: flex;
  line-height: 1.25;
  gap: 5px;
  padding: 10px 0;
  @media screen and (max-width: 767px) {
    padding-top: 0;
    .green {transform: translateY(2px);}
  }
}
.intro_name {
  font-size: 2rem;
  font-weight: bold;
  @media screen and (max-width: 767px) {
    font-size: 1.8rem;
  }
}
/* ------------------
 その他
------------------ */

.other {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 15px 75px;
  background: #fff;
  padding:60px 0;
  @media screen and (max-width: 767px) {
    justify-content: flex-start;
  }
}
.oth_inner {
  max-width: 875px;
  width: 90%;
  margin:auto;	
}
p.oth_head {
  font-weight: bold;
  font-size: 2rem;
  margin: 20px 0;
}
p.oth_link a {
  color: var(--main-color);
  text-decoration: underline;
  font-weight: bold;
}
.oth_caution {
  color: #f00;
}
@media screen and (max-width: 767px) {
  .other_txt {
    gap: 10px;
  }
}
/* ------------------
 footer
------------------ */
.footer_top {
  width: 100%;
  padding: var(--contents-padding);
  background: url("/entrance/event/open/img/bg_cont.png") no-repeat center center;
  background-size: cover;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 35px;
  @media screen and (max-width: 767px) {
    gap: 20px;
  }
}
.footer_contents {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 25px 100px;
}
.footer_box {
	width: 415px;
	text-align: center;
  @media screen and (max-width: 767px) {
    max-width: 415px;
		width: 100%;
  }
}
.footer_title {
	width: 100%;
	text-align: center;
	font-size: 2rem;
	padding-bottom: 8px;
	border-bottom: 1px solid #CCC;
	margin-bottom: var(--space-30);
  @media screen and (max-width: 767px) {
    font-size: 1.6rem;
  }
}
.contact_item {
	width: 225px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto 25px;
  @media screen and (max-width: 767px) {
    width: 200px;
		margin-bottom: 15px;
  }
}
.footer_bottom {
  padding: var(--space-45) 5%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px 100px;
  background: linear-gradient(270deg, #B0CC32 0%, #00B359 100%);
  color: #fff;
  line-height: 1.75;
  font-size: 1.2rem;
  @media screen and (max-width: 767px) {
    align-items: flex-start;
    flex-direction: column-reverse;
    line-height: 1.8;
    padding-bottom: 140px;
  }
}
@media screen and (max-width: 767px) {
  .footer_txt > p:not(.copyright) {
    height: 88px;
    display: flex;
    align-items: center;
    font-size: min(1.4rem, 3.5vw);
  }
}
.copyright {
  small {font-size: 1.2rem;}
  @media screen and (max-width: 767px) {
    margin-top: 15px;
  }
}

/* ------------------
Backtop
------------------ */
#backtop {
  position: fixed;
  display: block;
  right: 3%;
  bottom: 50px;
  border-radius: 50%;
  background: rgba(50,50,50,0.9);
  opacity: 0;
  visibility: hidden;
  transition: 0.5s;
  z-index: -10;
  &::after {
    content: "";
    position: absolute;
    width: 12px;
    height: 12px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-25%) rotate(-45deg);
    top: 50%;
    left: 0;
    right: 0;
    margin: auto;
  }
  &.active {
    opacity: 1;
    visibility: visible;
    z-index: 50;
  }
  @media screen and (max-width: 767px) {
    bottom: 30px;
  }
}

/* ------------------
Swiper
------------------ */
/**
 * Swiper 9.1.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 28, 2023
 */
@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, 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');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper,swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide,swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-cube-shadow,.swiper-3d .swiper-slide,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{transform-style:preserve-3d}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-3d .swiper-slide-shadow{background:rgba(0,0,0,.15)}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-horizontal.swiper-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-vertical.swiper-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-centered>.swiper-wrapper::before{content:'';flex-shrink:0;order:9999}.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-horizontal>.swiper-wrapper::before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-centered.swiper-vertical>.swiper-wrapper::before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,swiper-container:not(.swiper-watch-progress) .swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.swiper-virtual .swiper-slide{-webkit-backface-visibility:hidden;transform:translateZ(0)}.swiper-virtual.swiper-css-mode .swiper-wrapper::after{content:'';position:absolute;left:0;top:0;pointer-events:none}.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after{height:1px;width:var(--swiper-virtual-size)}.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after{width:1px;height:var(--swiper-virtual-size)}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:var(--swiper-navigation-top-offset,50%);width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next.swiper-button-hidden,.swiper-button-prev.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled .swiper-button-next,.swiper-navigation-disabled .swiper-button-prev{display:none!important}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-rtl .swiper-button-next{left:var(--swiper-navigation-sides-offset,10px);right:auto}.swiper-button-prev:after,.swiper-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-rtl .swiper-button-prev{right:var(--swiper-navigation-sides-offset,10px);left:auto}.swiper-button-next:after,.swiper-rtl .swiper-button-prev:after{content:'next'}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled{display:none!important}.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:var(--swiper-pagination-bottom,8px);top:var(--swiper-pagination-top,auto);left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:var(--swiper-pagination-bullet-width,var(--swiper-pagination-bullet-size,8px));height:var(--swiper-pagination-bullet-height,var(--swiper-pagination-bullet-size,8px));display:inline-block;border-radius:50%;background:var(--swiper-pagination-bullet-inactive-color,#000);opacity:var(--swiper-pagination-bullet-inactive-opacity, .2)}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:var(--swiper-pagination-bullet-opacity, 1);background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-pagination-vertical.swiper-pagination-bullets,.swiper-vertical>.swiper-pagination-bullets{right:var(--swiper-pagination-right,8px);left:var(--swiper-pagination-left,auto);top:50%;transform:translate3d(0px,-50%,0)}.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:var(--swiper-pagination-bullet-vertical-gap,6px) 0;display:block}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 var(--swiper-pagination-bullet-horizontal-gap,4px)}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,:host(.swiper-horizontal.swiper-rtl) .swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-fraction{color:var(--swiper-pagination-fraction-color,inherit)}.swiper-pagination-progressbar{background:var(--swiper-pagination-progressbar-bg-color,rgba(0,0,0,.25));position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:var(--swiper-pagination-progressbar-size,4px);left:0;top:0}.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-vertical>.swiper-pagination-progressbar{width:var(--swiper-pagination-progressbar-size,4px);height:100%;left:0;top:0}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:var(--swiper-scrollbar-border-radius,10px);position:relative;-ms-touch-action:none;background:var(--swiper-scrollbar-bg-color,rgba(0,0,0,.1))}.swiper-scrollbar-disabled>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-disabled{display:none!important}.swiper-horizontal>.swiper-scrollbar,.swiper-scrollbar.swiper-scrollbar-horizontal{position:absolute;left:var(--swiper-scrollbar-sides-offset,1%);bottom:var(--swiper-scrollbar-bottom,4px);top:var(--swiper-scrollbar-top,auto);z-index:50;height:var(--swiper-scrollbar-size,4px);width:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar.swiper-scrollbar-vertical,.swiper-vertical>.swiper-scrollbar{position:absolute;left:var(--swiper-scrollbar-left,auto);right:var(--swiper-scrollbar-right,4px);top:var(--swiper-scrollbar-sides-offset,1%);z-index:50;width:var(--swiper-scrollbar-size,4px);height:calc(100% - 2 * var(--swiper-scrollbar-sides-offset,1%))}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:var(--swiper-scrollbar-drag-bg-color,rgba(0,0,0,.5));border-radius:var(--swiper-scrollbar-border-radius,10px);left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move;touch-action:none}.swiper .swiper-notification,swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-grid>.swiper-wrapper{flex-wrap:wrap}.swiper-grid-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-fade.swiper-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube{overflow:visible}.swiper-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-cube.swiper-rtl .swiper-slide{transform-origin:100% 0}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-cube .swiper-slide-active,.swiper-cube .swiper-slide-next,.swiper-cube .swiper-slide-next+.swiper-slide,.swiper-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-cube .swiper-slide-shadow-bottom,.swiper-cube .swiper-slide-shadow-left,.swiper-cube .swiper-slide-shadow-right,.swiper-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-flip{overflow:visible}.swiper-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-flip .swiper-slide-active,.swiper-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-flip .swiper-slide-shadow-bottom,.swiper-flip .swiper-slide-shadow-left,.swiper-flip .swiper-slide-shadow-right,.swiper-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-creative .swiper-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;transition-property:transform,opacity,height}.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:center bottom;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden}
.swiper {
  margin: 0 -5%;
  padding-bottom: 6%;
}
.swiper-slide {
  transform: scale(.8);
  transition: .7s;
  img {
    height: auto;
    width: 100%;
  }
}
.swiper-slide-active {
  transform: scale(1.2);
  z-index: 1;
}
.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #fff;
  opacity: 0.8;
}
.swiper-pagination-bullet-active {
  background: transparent;
  border: 2px solid #fff;
}
.swiper-button-prev {
  left: 1.5%;
  &::after {
    font-weight: bold;
    color: #fff;
  }
}
.swiper-button-next {
  right: 1.5%;
  &::after {
    font-weight: bold;
    color: #fff;
  }
}

@media screen and (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

@media screen and (max-width: 1080px) {
  .pcNav,.header_sns {display: none;}
  /* ------------------
  header
  ------------------ */
  .header_inner {
    padding: 0 10px;
    height: 60px;
  }
  .header_logo a {
    max-width: 40vw;
  }
  /* ------------------
  スマホメニュー
  ------------------ */
  /* ボタン */
  .spNav_btn {
    padding-top: 3px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    position: fixed;
    width: 50px;
    height: 50px;
    background: var(--main-color);
    top: 5px;
    right: 10px;
    transition: all 0.5s;
    z-index: 102;
    color:var(--main-color);
    font-size: 1rem;
    color: #fff;
    
    span {position: absolute;display: block;height: 2px;background: #fff;margin: auto;}
    
    /* 閉じた状態 */
    &[aria-pressed="false"] span {width: 24px;transition: all 0.5s;}
    &[aria-pressed="false"] span:nth-child(1) {top: 50%;left: 0;right: 0; transform: translateY(-5px)}
    &[aria-pressed="false"] span:nth-child(2) {top: 50%;left: 0;right: 0; transform: translateY(0px);}
    &[aria-pressed="false"] span:nth-child(3) {top: 50%;left: 0;right: 0; transform: translateY(5px);}
    
    /* 開いた状態 */
    &[aria-pressed="true"] {background: transparent;}
    &[aria-pressed="true"] span {width: 24px;transition: all 0.5s;background: #fff;}
    &[aria-pressed="true"] span:nth-child(1) {top: 40%;transform: translateY(10px) rotate(45deg);}
    &[aria-pressed="true"] span:nth-child(2) {display: none;}
    &[aria-pressed="true"] span:nth-child(3) {top: 40%;transform: translateY(10px) rotate(-45deg);}
  }

  /* メニューパネル */
  .spNav_panel {
    display: block;
    height: 100vh;
    width: 260px;
    position: fixed;
    top: 0;
    right: 0;
    transition: all 0.5s;
    background: var(--main-color);
    box-shadow: -8px 0px 8px -1px rgba(0, 0, 0, 0.2);
    z-index: 101;
    
    /* パネルが閉じている状態 */
    &[aria-hidden="true"] {
      visibility: hidden;
      pointer-events: none;
      transform: translateX(100%);
    }

    /* パネルが開いている状態 */
    &[aria-hidden="false"] {
      visibility: visible;
      transform: translateX(0);
    }
  }
  /* メニューパネル内の項目 */
  .spNav_list {
    width: 100%;
    padding: 70px 0 0;
    font-size: 1.5rem;
  }
  .spNav_list--item {
    border-bottom: 1px solid #fff;
    a {
      display: block;
      padding: 12px 20px;
      color: #fff;
    }
  }
  .spNav_accordion--title {
    width: 100%;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
    &::after {
      display: inline-flex;
      justify-content: center;
      align-items: center;
    }
    /* アコーディオン開閉時の状態表示 */
    &[aria-expanded="false"]::after {content: "+";}
    &[aria-expanded="true"]::after {content: "-";}

    /* アコーディオン内の項目 */
    &[aria-expanded="false"] + .spNav_accordion {
      max-height: 0;
      height: auto;
    }
    &[aria-expanded="true"] + .spNav_accordion {
      max-height: 1000px;
    }
  }
  .spNav_accordion {
    overflow: hidden;
    background: #fff;
    transition: all 0.5s;
    a {
      padding-left: 15%;
      color: #1c7da3;
      border-bottom: 1px dashed #ccc;
    }
  }
  .spPanel_sns {
    width: 90%;
    margin: var(--space-30) auto;
    display: flex;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  /* ------------------
  Swiper
  ------------------ */
  .swiper {
    margin: auto;
    padding-bottom: 40px;
  }
  .swiper-slide {
    transform: scale(1);
    transition: initial;
    img {
      height: auto;
      width: 100%;
    }
  }
  .swiper-slide-active {
    transform: scale(1);
    z-index: 1;
  }
  .swiper-button-prev {
    left: 0.5%;
    top: calc(50% + 40px);
  }
  .swiper-button-next {
    right: 0.5%;
    top: calc(50% + 40px);
  }
}

/* 印刷用設定 */
@media print {
  body {
    width:1280px!important;
    zoom: 0.68;
    -webkit-print-color-adjust: exact;
  }
  .header, .header_logo, .header_content,.header_inner {
		position: absolute;
	}
	#backtop, #backtop.active {
		display: none,
	}
}
@page {
  size: A4;margin: 5px;
}