@charset "UTF-8";

html {
	scroll-behavior: smooth;
}
:root {
  --header-offset: 0px;
}
img {
  max-width: 100%;
  height: auto;
	display: block;
}
.anchor-btn {
  display: flex;
  position: sticky;
  top: var(--header-offset);
	z-index:1000;
}
.anchor-btn.is-fixed {
  position: fixed;
  top: var(--header-offset);
  left: 50%;
  right: auto;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  transform: translateX(-50%);
}
@media (width <= 768px){
	.anchor-btn.is-fixed {
		padding: 0 15px;
	}
}
.anchor-btn-placeholder {
  display: none;
}

.content-inner {
	background: #efd6da;
	padding: clamp(1.25rem, -0.227rem + 6.06vw, 2.5rem) clamp(0.625rem, -0.114rem + 3.03vw, 1.25rem) clamp(0.625rem, -0.114rem + 3.03vw, 1.25rem);
}
.content-inner.mask {
	background: #e2e8f2;
}

.ttl {
	margin-top: clamp(2.5rem, -0.455rem + 12.12vw, 5rem);
}
.content-inner h2, .content-inner h3 {
	text-align: center;
	font-family: inherit;
	font-size: clamp(1.375rem, -0.25rem + 6.67vw, 2.75rem);
	color: #c7152d;
	line-height: 1;
}
.content-inner.mask h2, .content-inner.mask h3 {
	color: #263976;
}
.content-inner h3 {
	font-size: clamp(1.188rem, -0.216rem + 5.76vw, 2.375rem);
	margin-bottom: clamp(0.625rem, -0.114rem + 3.03vw, 1.25rem);
}
.content-inner .item {
	background: #fff;
	padding: 0 20px 20px;
}
.content-inner .item p {
	text-align: center;
	font-size: clamp(1.188rem, -0.216rem + 5.76vw, 2.375rem);
	color: #c7152d;
	line-height: 1.4;
	margin: 0;
	padding-top: clamp(2.5rem, -0.455rem + 12.12vw, 5rem);
}
.content-inner.mask .item p {
	color: #263976;
}
.content-inner .item-inner {
	border: 2px solid #efd6da;
	margin-top: clamp(1.25rem, -0.227rem + 6.06vw, 2.5rem);
}
.content-inner.mask .item-inner {
	border: 2px solid #e2e8f2;
}
.content-inner .item-inner a img,
.acc__body a img,
.present a img {
	width: 100%;
	padding: 0 clamp(1.25rem, -0.227rem + 6.06vw, 2.5rem) clamp(1.25rem, -0.227rem + 6.06vw, 2.5rem);
	background: #fff;
}
p.note {
  font-size: clamp(0.688rem, 0.54rem + 0.61vw, 0.813rem) !important;
  color: inherit !important;
  margin: 0 !important;
  padding: 0 clamp(1.25rem, -0.227rem + 6.06vw, 2.5rem) 20px !important;
  text-align: left !important;
  font-weight: 400;
}
.mask p.note {
  padding: 20px 0 !important;
  text-align: right !important;
}

/* アコーディオン */
.acc {
	padding: clamp(1.25rem, -0.227rem + 6.06vw, 2.5rem) 20px 20px;
	background: #fff;
}
.acc__head {
	list-style: none;
	cursor: pointer;
}
.acc__head::-webkit-details-marker {
	display: none;
}
.acc__icon {
	display: inline-block;
	width: 100%;
}
.acc__icon--open {
	display: none;
}
.acc[open] .acc__icon--closed {
	display: none;
}
.acc[open] .acc__icon--open {
	display: block;
}
.acc__body {
	border: 2px solid #efd6da;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease, opacity 0.2s ease;
  opacity: 0;
}
.acc__body > * {
  overflow: hidden;
}
.acc[open] .acc__body {
  grid-template-rows: 1fr;
  opacity: 1;
}

.bnr {
	padding-top: clamp(2.5rem, -0.455rem + 12.12vw, 5rem);
	background: #fff;
}