﻿@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";
@import"https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap";
@import"https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap";
@font-face{
  font-family:"xYuGothic";
  font-weight:400;font-style:normal;src:local("YuGothic-Medium"),local("Yu Gothic Medium"),local("YuGo-Medium"),local("YuGothic Medium")local("YuGothic-Regular"),local("Yu Gothic")
}
@font-face{
  font-family:"xYuGothic";font-weight:700;
  font-style:normal;src:local("YuGothic-Bold"),local("Yu Gothic Bold"),local("YuGo-Bold"),local("YuGothic Bold"),local("Yu Gothic")
}
@font-face{
  font-family:"xYuMincho";font-weight:400;font-style:normal;src:local("YuMincho-Regular"),local("Yu Mincho Regular"),local("YuMin-Medium"),local("YuMincho Medium"),local("Yu Mincho")
}
@font-face{
  font-family:"xYuMincho";
  font-weight:600;
  font-style:normal;
  src:local("YuMincho-Demibold"),local("Yu Mincho Demibold"),local("YuMin-Demibold"),local("YuMincho Demibold"),local("Yu Mincho")}:root{--iconfont: "icon";--icon-null: "\e000";--icon-up: "\e001";--icon-left: "\e002";--icon-down: "\e003";--icon-right: "\e004"}@font-face{font-family:"icon";font-style:normal;font-weight:normal;src:url("data:font/woff2;base64,d09GMgABAAAAAAOYAAsAAAAACRwAAANJAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIEsBmAAhRwKgiSCIQE2AiQDUAsqAAQgBYQWB4EBGykIyK4wbuGRRjS1yizHjT9IAIADHhhKCf/8r9Hu+zLmi6glk2xidciWVhqijZI4lLZaIcLpUu/SiRZayIr4hFFou9FY6OfZ73jKfz8CaCkqAUWkBOTuZzuBO3eG7IhKXsrSSFmJalwDBHz9D4QEVFw04Fjyl0WB5H3wO0UlReUiUnRAUSk00NnAZjqkhWQYu7zIzyCQ2GAnU26f3+CkFuzhmqNvF6J6Va0KOOYiHAcvjsgxByrzrLDN/mKFFQxFSqVjGHHQazmJVNa50imUgoTeG5lao60IegFm5Sr/gj7YC4d9A2rv23cILIThI/oLDt03NfxSN6cHqddbGQLN3jragjXAQX915jORijhWUpq8AFTGWy24zYqSztDcD9dYXsIZEsMgTyqzCPMIC4KQH4Viw/5axPyFmHVmQiUxh/Xve6hHPzAf0qatIRJMs1CQPwHVZgD+wVwLrlnIwXUk4AZScBMNuIUW3EYN7iECDxCAhyjAI8TgCSrwDBl4jhC8FJaYAAgTwGACWEwAh4kr8AA6ACuWU3UIcBamLhE2ZIwVslxq3ilpOPZx8f75M23n9sGGX03fNfLAjiGDJ3XbPXmuircPnYQKLIcqbB9ZDRVY2ViB7cO9nmyeFcVwNrh973w5TI/K0XS0yaPBFsieLGfhscr5mszyT9wbeulLOQCHNwIYkvwNBMLg2r8TF8vN/5EeMPXnx2PPSV+UjRg0VuIhzoj7Zu0qRrQmxawV6DSTKxx9YiyBHyJc+b0Eq/7ZWjBCUQQrUhIcZTq81HwEIquQWG3T1anWeXuUYqTyCMAo9LAq7wiO8h7eND8RqPxC4oS/XVLLum5Xwcs+fiHV2SJpGo/7QanVcbFctyH9ljvylAqmWpQ70fZqxSyFTMGJ24qnkbVBxBS2VPGsYY7r+fobRRfMquBAqwSedH6avSBKxyokNGJS9gNJWnrnwkbrbGhAuDP6RtIFRuq7XLEjPNVTVp5hEh11QxI4wsFupcSygmJ8VHzQFqmwmVsdUtHaemOmG02Ns+nN7qHMjXf95bs6WTl5BQoVKVaiVJlyFSpVaVbWolUb7u2snXRx35Lk/ToM/iBp1TB67NBiREKJjDUGHDChRoUNAAA=")}.Icon{--icon: none;display:inline-block;font-family:var(--iconfont);font-style:normal;
  font-weight:normal;
  font-variant:normal;
  line-height:1;
  text-transform:none;
  vertical-align:middle;
  speak:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:relative;top:-0.1em
}
.Icon::before {
	content: var(--icon);
	display: block;
	font-family: inherit;
	font-style: inherit;
	font-weight: inherit;
	font-variant: inherit;
	line-height: inherit;
	text-transform: inherit;
	vertical-align: inherit
}
.Icon.-null {
	--icon: var(--icon-null)
}
.Icon.-up {
	--icon: var(--icon-up)
}
.Icon.-left {
	--icon: var(--icon-left)
}
.Icon.-down {
	--icon: var(--icon-down)
}
.Icon.-right {
	--icon: var(--icon-right)
}
@media(min-width: 941px) {
	_ {
		_: 0
	}
}
@media(min-width: 681px) {
	_ {
		_: 0
	}
}
@media(max-width: 940px)and (min-width: 681px) {
	_ {
		_: 0
	}
}
@media(max-width: 940px) {
	_ {
		_: 0
	}
}
@media(max-width: 680px) {
	_ {
		_: 0
	}
}
@media(-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2), (min-resolution: 192dpi), (min-resolution: 2dppx) {
	_ {
		_: 0
	}
}
:root {
	--font-serif: Noto Sans JP, Noto Sans, Source Han Sans JP, Noto Sans Japanese, Noto Sans CJK JP, Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, xYuGothic, Meiryo, sans-serif;
	--font-sans: Noto Serif JP, HiraMinProN-W3, Hiragino Mincho Pro, HG正楷書体-PRO, ＤＦ中楷書体, ＭＳ 明朝, xYuMincho, MS Mincho, serif
}
html {
	height: 100%;
	font-family: "Noto Sans JP", "Noto Sans", "Source Han Sans JP", "Noto Sans Japanese", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "xYuGothic", Meiryo, sans-serif;
	font-feature-settings: "palt" on;
	line-height: 1.6;
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility
}
@media(-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
	html {
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale
	}
}
body {
	margin: 0
}
button, input, optgroup, select, textarea {
	margin: 0;
	font: inherit;
	font-size: 100%;
	color: inherit
}
[type=search] {
	outline-offset: -2px;
	-webkit-appearance: textfield
}
[type=email], [type=number], [type=password], [type=search], [type=tel], [type=text], [type=url] {
	background-image: linear-gradient(#fff, #fff)
}
sub, sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline
}
sub {
	bottom: -0.25em
}
sup {
	top: -0.25em
}
.-onlyLargeScreen {
	display: none !important
}
@media(min-width: 941px) {
	.-onlyLargeScreen {
		display: block !important
	}
	br.-onlyLargeScreen {
		display: inline !important
	}
}
.-onlySmallScreen {
	display: none !important
}
@media(max-width: 680px) {
	.-onlySmallScreen {
		display: block !important
	}
	br.-onlySmallScreen {
		display: inline !important
	}
}
@media(max-width: 680px) {
	.-ignoreSmallScreen {
		display: none !important
	}
}
@media(max-width: 940px)and (min-width: 681px) {
	.-ignoreMiddleScreen {
		display: none !important
	}
}
@media(min-width: 941px) {
	.-ignoreLargeScreen {
		display: none !important
	}
}
.-textCenter {
	text-align: center !important
}
html {
	background: #1e1f1f
}
.Splash {
	--splash-out-delay: 1.2s;
	position: fixed;
	z-index: 500;
	inset: 0;
	background: #1e1f1f;
	pointer-events: none;
	animation: uhrvlq7 .6s .6s 1 both
}
@keyframes uhrvlq7 {
	0% {
		clip-path: inset(0 0 0 0)
	}
	100% {
		clip-path: inset(0 0 0 100%)
	}
}
.Splash:where(.-splashPlaying) {
	pointer-events: all
}
.Splash::before {
	content: "";
	position: absolute;
	inset: 0;
	display: block;
	background: #c03;
	animation: uhrvlqx .6s .1s 1 both
}
@keyframes uhrvlqx {
	0% {
		transform: translateX(-100%)
	}
	100% {
		transform: none
	}
}
.Hero {
	position: relative
}
@media(min-width: 681px) {
	.Hero::before {
		content: "";
		position: absolute;
		z-index: -1;
		inset: 0;
		background: url("../img/hero/bg_001.svg") 50% 100%/100% auto
	}
}
.Hero .Hero__Logo {
	position: absolute;
	z-index: 1;
	inset: 16px 16px auto auto
}
@media(max-width: 680px) {
	.Hero .Hero__Logo {
		inset: 10px 10px auto auto;
		width: 102px
	}
}
.Hero .Hero__Logo img {
	display: block;
	max-width: 100%;
	height: auto
}
.Hero .Hero__Main {
	overflow: hidden
}
@media(max-width: 680px) {
	.Hero .Hero__Main {
		padding-bottom: 500px;
		margin-bottom: -500px
	}
}
.Hero .Hero__MainInner {
	position: relative;
	max-width: 1000px;
	aspect-ratio: 1000/680;
	margin: 0 auto
}
@media(max-width: 680px) {
	.Hero .Hero__MainInner {
		aspect-ratio: 375/436
	}
}
.Hero .Hero__Image {
	display: flex;
	justify-content: center
}
.Hero .Hero__Image picture {
	display: contents
}
.Hero .Hero__Image img {
	display: block;
	width: 156%;
	height: auto
}
@media(max-width: 680px) {
	.Hero .Hero__Image img {
		width: 100%
	}
}
.Hero .Hero__Image img:where(.-splashPlaying *) {
	opacity: 0;
	transform: translateX(10%)
}
.Hero .Hero__Image img:where(:not(.-splashPlaying *)), .Hero .Hero__Image img:where(.-splashEnding *) {
	animation: uhrvlr0 .8s .6s 1 both
}
@keyframes uhrvlr0 {
	0% {
		opacity: 0;
		transform: translateX(10%)
	}
	100% {
		opacity: 1;
		transform: none
	}
}
.Hero .Hero__Text1 {
	position: absolute;
	z-index: 2;
	top: 8.5294117647%;
	left: 17.6%;
	margin: 0
}
@media(max-width: 680px) {
	.Hero .Hero__Text1 {
		top: 6.880733945%;
		left: 10.6666666667%;
		width: 6.3%
	}
}
.Hero .Hero__Text1 img {
	display: block;
	max-width: 100%;
	height: auto
}
.Hero .Hero__Text1 img:where(.-splashPlaying *) {
	opacity: 0;
	transform: translateX(100%)
}
.Hero .Hero__Text1 img:where(:not(.-splashPlaying *)), .Hero .Hero__Text1 img:where(.-splashEnding *) {
	animation: uhrvlre .8s .8s 1 both
}
@keyframes uhrvlre {
	0% {
		opacity: 0;
		transform: translateY(5%)
	}
	100% {
		opacity: 1;
		transform: none
	}
}
.Hero .Hero__Text2 {
	margin: 0
}
.Hero .Hero__Text2 svg {
	display: block;
	position: absolute;
	inset: auto 0 11.7647058824%;
	width: 70%;
	height: auto;
	aspect-ratio: 750/320;
	margin: 0 auto
}
@media(max-width: 940px)and (min-width: 681px) {
	.Hero .Hero__Text2 svg {
		width: 60%;
		bottom: 17.6470588235%
	}
}
@media(max-width: 680px) {
	.Hero .Hero__Text2 svg {
		width: 100%;
		bottom: 2.2935779817%
	}
}
.Hero .Hero__Text3 {
	position: absolute;
	z-index: 2;
	inset: 70.5882352941% 0 auto;
	margin: 0
}
@media(max-width: 680px) {
	.Hero .Hero__Text3 {
		top: 105.504587156%
	}
}
.Hero .Hero__Text3:where(.-splashPlaying *) {
	opacity: 0;
	transform: translateY(50%)
}
.Hero .Hero__Text3:where(:not(.-splashPlaying *)), .Hero .Hero__Text3:where(.-splashEnding *) {
	animation: uhrvlrn .8s .6s 1 both
}
@keyframes uhrvlrn {
	0% {
		opacity: 0;
		transform: translateX(10%)
	}
	100% {
		opacity: 1;
		transform: none
	}
}
.Hero .Hero__Text3 img {
	display: block;
	width: 100%;
	height: auto
}
.Hero .Hero__Text {
	position: relative;
	z-index: 1
}
.Hero .Hero__Text::before {
	content: "";
	display: block;
	position: absolute;
	inset: min(-30%, -125px) 0 0;
	transform: skewY(-13deg);
	background: #c03
}
@media(max-width: 680px) {
	.Hero .Hero__Text::before {
		top: -5.3333333333%
	}
}
.Hero .Hero__Text:where(.-splashPlaying *)::before {
	clip-path: inset(0 0 0 100%)
}
.Hero .Hero__Text:where(:not(.-splashPlaying *))::before, .Hero .Hero__Text:where(.-splashEnding *)::before {
	animation: uhrvlsn .8s .5s 1 both
}
@keyframes uhrvlsn {
	0% {
		clip-path: inset(0 0 0 100%)
	}
	100% {
		clip-path: inset(0 0 0 0)
	}
}
.Hero .Hero__TextInner {
	position: relative;
	box-sizing: border-box;
	max-width: 1000px;
	padding: 20px 220px 0 40px;
	margin: 0 auto;
	min-height: 320px;
	font-weight: 500;
	font-size: 18px;
	line-height: 2.2222222222;
	color: #fff
}
@media(max-width: 680px) {
	.Hero .Hero__TextInner {
		padding: 60% 0 min(70px, 18.6666666667%) 15px;
		font-size: 14px;
		line-height: 2.2857142857
	}
}
.Hero .Hero__TextInner:where(.-splashPlaying *) {
	opacity: 0
}
.Hero .Hero__TextInner:where(:not(.-splashPlaying *)), .Hero .Hero__TextInner:where(.-splashEnding *) {
	animation: uhrvlsv .6s .8s 1 both
}
@keyframes uhrvlsv {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
.Hero .Hero__TextInner p {
	margin: 0
}
.Hero .Hero__Badge {
	top: 0px;
	right: 20px;
	position: absolute
}
@media(max-width: 680px) {
	.Hero .Hero__Badge {
		top: -12.8vw;
		right: 15px;
		width: 32%
	}
}
.Hero .Hero__Badge img {
	display: block;
	max-width: 100%
}
.Promotion {
	color: #fff;
	margin-bottom: 120px
}
@media(max-width: 680px) {
	.Promotion {
		margin-bottom: 66px
	}
}
.Promotion .Promotion__Primary {
	position: relative;
	max-width: 700px;
	margin: 0 auto;
	padding: 100px 0 40px 46px
}
@media(max-width: 680px) {
	.Promotion .Promotion__Primary {
		padding: 50px 15px 28px 26px
	}
}
.Promotion .Promotion__Primary::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	display: block;
	width: 11px;
	background: #d70834
}
@media(max-width: 680px) {
	.Promotion .Promotion__Primary::before {
		width: 14px
	}
}
.Promotion .Promotion__Title {
	position: relative;
	box-sizing: border-box;
	width: fit-content;
	max-width: 100%;
	padding-right: 106px;
	margin: 0;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.15
}
@media(max-width: 680px) {
	.Promotion .Promotion__Title {
		padding-right: 80px;
		font-size: 24px;
		line-height: 1.4
	}
}
.Promotion .Promotion__Title em {
	display: block;
	font-weight: 700;
	font-style: normal;
	font-size: 40px;
	line-height: 1.15
}
@media(max-width: 680px) {
	.Promotion .Promotion__Title em {
		font-size: 30px;
		line-height: 1.12
	}
}
.Promotion .Promotion__Badge {
	position: absolute;
	top: 0;
	right: -30px
}
@media(max-width: 680px) {
	.Promotion .Promotion__Badge {
		width: 82px;
		right: -5px
	}
}
.Promotion .Promotion__Badge.-outView {
	opacity: 0;
	transform: scale(0.5)
}
.Promotion .Promotion__Badge.-inView {
	transition: opacity .5s, transform .5s cubic-bezier(0.175, 0.885, 0.32, 1.275)
}
.Promotion .Promotion__Badge img {
	display: block;
	max-width: 100%
}
.Promotion .Promotion__Offers {
	padding: 0;
	margin: 40px 0 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px
}
@media(max-width: 680px) {
	.Promotion .Promotion__Offers {
		margin-top: 30px
	}
}
.Promotion .Promotion__Offers li {
	display: flex;
	align-items: start
}
@media(max-width: 767px) {
	.Promotion .Promotion__Offers li {
		display: grid;
		grid-template: "num . text" "img img img"/46px 16px 1fr
	}
}
.Promotion .Promotion__OfferNumber {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width: 64px;
	height: 64px;
	border: 3px solid currentColor;
	border-radius: 50%;
	font-size: 15px;
	line-height: 1
}
@media(max-width: 767px) {
	.Promotion .Promotion__OfferNumber {
		grid-area: num;
		width: 46px;
		height: 46px;
		border-width: 1px;
		font-size: 10.78125px;
		margin-top: -6px
	}
}
.Promotion .Promotion__OfferNumber em {
	font-family: "Oswald", sans-serif;
	font-style: normal;
	font-size: 30px
}
@media(max-width: 767px) {
	.Promotion .Promotion__OfferNumber em {
		font-size: 21.5625px
	}
}
.Promotion .Promotion__OfferText {
	padding-top: 12px;
	padding-left: 18px
}
@media(max-width: 767px) {
	.Promotion .Promotion__OfferText {
		grid-area: text;
		padding: 0
	}
}
.Promotion .Promotion__OfferText p {
	margin: .5em 0 0
}
.Promotion .Promotion__OfferTitle {
	margin: 0;
	font-size: 32px;
	line-height: 1.3125;
	font-weight: 700
}
@media(max-width: 767px) {
	.Promotion .Promotion__OfferTitle {
		font-size: 22px;
		line-height: 1.3363636364
	}
}
.Promotion .Promotion__OfferTitlePre {
	display: block;
	font-size: 18px;
	font-weight: 400;
	line-height: 2
}
@media(max-width: 767px) {
	.Promotion .Promotion__OfferTitlePre {
		font-size: 13px
	}
}
.Promotion .Promotion__OfferTitlePre em {
	font-weight: 700;
	font-style: normal;
	font-size: 26px;
	line-height: 1.5769230769
}
@media(max-width: 767px) {
	.Promotion .Promotion__OfferTitlePre em {
		font-size: 18px;
		line-height: 1.5944444444
	}
}
.Promotion .Promotion__OfferCount {
	font-family: "Oswald", sans-serif;
	font-style: normal;
	font-size: 46px;
	line-height: 1
}
@media(max-width: 767px) {
	.Promotion .Promotion__OfferCount {
		font-size: 32px
	}
}
.Promotion .Promotion__OfferNotice {
	font-size: 12px;
	margin: 0 0 .5em
}
.Promotion .Promotion__OfferImage {
	margin: 0 auto;
	flex-shrink: 0;
	width: 190px
}
.Promotion .Promotion__Offers li:nth-of-type(2) .Promotion__OfferImage {
  width: 290px
}
@media(max-width: 767px) {
	.Promotion .Promotion__OfferImage {
		grid-area: img;
		width: auto;
		margin: 20px 0 0
	}
  .Promotion .Promotion__Offers li:nth-of-type(2) .Promotion__OfferImage {
    width: auto
  }
}

.Promotion .Promotion__OfferImage img {
	display: block;
	max-width: 100%
}
@media(max-width: 767px) {
	.Promotion .Promotion__OfferImage img {
		zoom: .4;
		margin: 0 auto
	}
  .Promotion .Promotion__Offers li:nth-of-type(2) .Promotion__OfferImage img {
    zoom: .9;
  }
}
.Promotion .Promotion__Video {
	margin: 130px auto 0
}
@media(max-width: 680px) {
	.Promotion .Promotion__Video {
		padding: 0 25px;
		margin: 64px 0 0
	}
}
.Promotion .Promotion__VideoTitle {
	margin: 0 0 24px;
	font-weight: 700;
	font-size: 32px;
	line-height: 1.579375;
	text-align: center
}
@media(max-width: 680px) {
	.Promotion .Promotion__VideoTitle {
		margin-bottom: 18px;
		font-size: 20px;
		line-height: 1.419
	}
}
.Promotion .Promotion__VideoMedia {
	max-width: 554px;
	margin: 24px auto 0
}
@media(max-width: 680px) {
	.Promotion .Promotion__VideoMedia {
		margin-top: 18px
	}
}
.Promotion .Promotion__VideoMedia img {
	display: block;
	width: 100%;
}
.ButtonContainer {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 150px
}
@media(max-width: 680px) {
	.ButtonContainer {
		margin-top: 60px
	}
}
.ButtonContainer .ButtonContainer__Notice {
	width: 100%;
	margin: 0 0 32px;
	font-size: 20px;
	text-align: center
}
@media(max-width: 680px) {
	.ButtonContainer .ButtonContainer__Notice {
		margin-bottom: 14px;
		font-size: 14px
	}
}
.CTAButton {
	position: relative;
	display: block;
	width: fit-content;
	max-width: 100%;
	margin: 0 auto;
	border-radius: 999px;
	font-size: 20px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	text-align: center;
	background: linear-gradient(90deg, #8d9197 0%, #92969c 6%, #a3a6ab 13%, #bec0c4 22%, #dbdcde 29%, #c5c7ca 51%, #dbdcde 73%, #b2b5b9 85%, #979aa0 94%, #8d9197 100%)
}
.CTA_btm{
  position: fixed;
  bottom: 0;
  background: #fff;
  width: 100%;
  padding: 10px 0;
  z-index: 999;
}
.CTA_btm #btm_btn {
	position: relative;
	display: block;
	width:95%;
	max-width: 100%;
	margin: 0 auto;
	border-radius: 999px;
	font-size: 14px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	text-align: center;
  background: linear-gradient(90deg, #ff7c00 0%, #ffac41 50%, #ff7c00 100%);
}
.CTA_btm #btm_btn .CTAButton__Inner::before{
	background: linear-gradient(90deg, #ff7c00 0%, #ffac41 50%, #ff7c00 100%);
}

.sp_view{
  display: none;
}
@media(max-width: 680px) {
	.CTAButton {
		font-size: 14px
	}
  #fv_btn{
  width: 98%;
  line-height: 1.4;
  margin: 0 0 20px;
}
  .sp_view{
  display: block;
}
}
.CTAButton::after {
	content: var(--icon-right);
	display: inline-block;
	font-family: var(--iconfont);
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1;
	text-transform: none;
	vertical-align: middle;
	speak: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 26px;
	line-height: 0
}
@media(max-width: 680px) {
	.CTAButton::after {
		right: 10px
	}
}
.CTAButton:hover {
	color: #505050;
	transition: color .3s
}
.CTAButton .CTAButton__Inner {
	position: relative;
	z-index: 1;
	display: block;
	padding: 24px 90px 24px 56px
}
@media(max-width: 680px) {
	.CTAButton .CTAButton__Inner {
		padding: 10px 30px 10px 14px
	}
}
.CTAButton .CTAButton__Inner::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	display: block;
	border-radius: 999px;
	transition: opacity .3s;
	background: linear-gradient(90deg, #665749 0%, #7f6d5f 9%, #b69f91 29%, #a49082 36%, #938274 44%, #8d7d6f 51%, #978678 61%, #b39e91 77%, #766758 100%)
}
.CTAButton:hover .CTAButton__Inner::before {
	opacity: 0
}
.About {
	color: #000;
	background: #c3c3c3;
	padding-bottom: 144px
}
@media(max-width: 680px) {
	.About {
		padding-top: 29.3333333333%;
		padding-bottom: 82px;
		background: #c3c3c3 url("../img/about/bg_001s.webp") no-repeat 50% 0/100% auto
	}
}
.About .About__Header {
	position: relative;
	box-sizing: border-box;
	min-height: 700px;
	padding-top: 320px;
	color: #fff;
	background: url("../img/about/bg_001.webp") 50% 0/cover
}
@media(max-width: 680px) {
	.About .About__Header {
		padding-top: 0;
		min-height: auto;
		background: rgba(0, 0, 0, 0);
		padding: 0 15px
	}
}
.About .About__Header::before {
	content: "";
	position: absolute;
	inset: auto 0 0;
	display: block;
	height: 200px;
	background: linear-gradient(transparent, #c3c3c3) 0 100%/100% 100%
}
@media(max-width: 680px) {
	.About .About__Header::before {
		content: none
	}
}
.About .About__Title {
	margin: 0;
	line-height: 1.6875;
	font-size: 32px;
	font-weight: 500;
	text-align: center
}
@media(max-width: 680px) {
	.About .About__Title {
		font-size: 20px
	}
}
.About .About__Summary {
	margin: 34px 0 0;
	font-size: 16px;
	line-height: 1.75;
	text-align: center
}
@media(max-width: 680px) {
	.About .About__Summary {
		color: #000;
		font-size: 14px
	}
}
.About .About__Heading {
	width: fit-content;
	max-width: 100%;
	padding: 0 16px;
	margin: 40px auto 48px;
	font-family: "Oswald", sans-serif;
	font-weight: 400;
	letter-spacing: .05em;
	font-size: 32px;
	line-height: 1.53125;
	text-align: center
}
@media(max-width: 680px) {
	.About .About__Heading {
		margin-top: 38px;
		margin-bottom: 30px;
		font-size: 22px
	}
}
.About .About__Heading::after {
	content: "";
	display: block;
	height: 6px;
	margin: 2px -16px 0;
	background: #d70834
}
@media(max-width: 680px) {
	.About .About__Heading::after {
		height: 4px
	}
}
.About .About__Heading.-outView::after {
	transform: scaleX(0)
}
.About .About__Heading.-inView::after {
	transition: transform .6s
}
.Slider {
	position: relative;
	z-index: 1;
	padding: 0;
	margin: 0 auto;
	overflow: hidden;
	list-style: none;
	margin-bottom: 150px
}
@media(max-width: 680px) {
	.Slider {
		padding: 0 42px;
		margin-bottom: 70px
	}
}
.Slider .Slider__Prev, .Slider .Slider__Next {
	position: absolute;
	z-index: 2;
	top: 0;
	padding: 0;
	border: 0;
	width: 100px;
	height: 350px;
	background: no-repeat 50% 50%/26px 60px;
	cursor: pointer
}
@media(min-width: 1920px) {
	.Slider .Slider__Prev, .Slider .Slider__Next {
		width: 5.2083333333vw;
		height: 18.2291666667vw
	}
}
@media(max-width: 680px) {
	.Slider .Slider__Prev, .Slider .Slider__Next {
		width: 42px;
		height: 46.4vw;
		background-size: 12px 28px
	}
}
.Slider .Slider__Prev {
	left: calc(50% - 300px - 100px);
	background-image: url("../img/slider/bg_001.svg")
}
@media(min-width: 1920px) {
	.Slider .Slider__Prev {
		left: calc(50% - 20.8333333333vw)
	}
}
@media(max-width: 680px) {
	.Slider .Slider__Prev {
		left: 0
	}
}
.Slider .Slider__Next {
	right: calc(50% - 300px - 100px);
	background-image: url("../img/slider/bg_002.svg")
}
@media(min-width: 1920px) {
	.Slider .Slider__Next {
		right: calc(50% - 20.8333333333vw)
	}
}
@media(max-width: 680px) {
	.Slider .Slider__Next {
		right: 0
	}
}
.Slider .Slider__Wrapper {
	position: relative;
	z-index: 1;
	box-sizing: content-box;
	display: flex;
	width: 100%;
	height: 100%;
	transform: translate3d(0px, 0, 0);
	transition-property: transform;
	padding: 0;
	margin: 0;
	list-style: none
}
.Slider .Slider__Item {
	position: relative;
	flex-shrink: 0;
	width: 100%;
	height: 100%;
	transition-property: transform;
	width: 600px;
	font-size: 14px
}
.Slider .Slider__Item img {
	display: block;
	width: 100%;
	height: auto;
	margin-bottom: 16px
}
.Slider .Slider__Item p {
	margin: 0
}
.Slider .Slider__ItemTitle {
	margin: 24px 0 0;
	font-size: 16px;
	font-weight: 500;
	text-align: center
}
@media(max-width: 680px) {
	.Slider .Slider__ItemTitle {
		font-size: 14px
	}
}
.Slider .Slider__ItemTitle small {
	font-weight: 400;
	font-size: 12px
}
.Slider .Slider__Footnote {
	margin: 24px 0 0;
	font-size: 12px;
	line-height: 2;
	text-align: center
}
.Slider .Slider__Pagination {
	margin: 70px auto 0;
	display: flex;
	justify-content: center;
	gap: 40px
}
.Slider .Slider__Pagination:where(.Slider__Footnote+*) {
	margin-top: 28px
}
@media(max-width: 680px) {
	.Slider .Slider__Pagination {
		gap: 28px;
		margin-top: 36px
	}
}
.Slider .Slider__Pagination button {
	width: 18px;
	height: 18px;
	overflow: hidden;
	padding: 0;
	border-radius: 50%;
	border: 0;
	background: #fff;
	transition: background .3s;
	color: rgba(0, 0, 0, 0);
	cursor: pointer
}
@media(max-width: 680px) {
	.Slider .Slider__Pagination button {
		width: 13px;
		height: 13px
	}
}
.Slider .Slider__Pagination button.-active {
	background: #333
}
.Slider .Slider__Pagination button:hover {
	background: #333
}
.Courses {
	padding: 250px 0 146px;
	color: #fff;
	background: #b96468 url("../img/courses/bg_001.webp") no-repeat 50% 0/100% auto
}
@media(max-width: 1920px)and (min-width: 681px) {
	.Courses {
		background-size: auto 700px
	}
}
@media(max-width: 680px) {
	.Courses {
		padding-top: 140px;
		padding-bottom: 77px;
		background-image: url("../img/courses/bg_001s.webp")
	}
}
.Courses .Courses__Inner {
	box-sizing: border-box;
	max-width: 1000px;
	padding: 0 35px;
	margin: 0 auto
}
@media(max-width: 680px) {
	.Courses .Courses__Inner {
		padding: 0
	}
}
.Courses .Courses__Title {
	margin: 0 0 40px;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.6875;
	text-align: center
}
@media(max-width: 680px) {
	.Courses .Courses__Title {
		font-size: 20px;
		margin-bottom: 28px;
		padding: 0 15px
	}
}
.Courses .Courses__Lead {
	margin: 0 0 100px;
	font-size: 16px;
	line-height: 1.75;
	text-align: center
}
@media(max-width: 680px) {
	.Courses .Courses__Lead {
		margin-bottom: 36px;
		font-size: 14px;
		line-height: 1.7142857143
	}
}
.Course__banner {
	margin: 0 0 30px 0;
}
.Course__banner .banner_pc {
    width: 100%;
    height: auto;
}
.Course__banner .banner_sp {
    display: none;
}
@media(max-width: 680px) {
    .Course__banner {
        max-width: 320px;
        padding: 0 15px;
        margin: 0 auto 30px;
    }
    .Course__banner .banner_pc {
        display: none;
    }
    .Course__banner .banner_sp {
        display: block;
        width: 100%;
        height: auto;
    }
}

.CourseList {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 80px;
	padding: 0;
	margin: 0;
	color: #000;
	list-style: none
}
@media(max-width: 940px)and (min-width: 681px) {
	.CourseList {
		gap: 80px 20px
	}
}
@media(max-width: 680px) {
	.CourseList {
		grid-template-columns: 1fr;
		gap: 26px;
		max-width: 320px;
		padding: 0 15px;
		margin: 0 auto
	}
}
.CourseList .CourseList__Item {
	background: #fff;
	padding: 20px 30px
}
@media(max-width: 680px) {
	.CourseList .CourseList__Item {
		padding: 16px 20px
	}
}
.CourseList .CourseList__Item.-outView {
	opacity: 0;
	transform: translateX(-20%)
}
.CourseList .CourseList__Item.-inView {
	transition: opacity .5s, transform .5s cubic-bezier(0.39, 0.575, 0.565, 1)
}
@media(min-width: 681px) {
	.CourseList .CourseList__Item:nth-child(2n+2) {
		transition-delay: .1s
	}
}
.CourseList .CourseList__ItemImage {
	margin: -20px -30px 20px
}
@media(max-width: 680px) {
	.CourseList .CourseList__ItemImage {
		margin: -16px -20px 16px
	}
}
.CourseList .CourseList__ItemImage img {
	display: block;
	width: 100%;
	height: auto
}
.CourseList .CourseList__ItemLead {
	margin: 0 0 10px;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.5555555556
}
@media(max-width: 680px) {
	.CourseList .CourseList__ItemLead {
		margin-bottom: 4px;
		font-size: 14px;
		line-height: 1.5714285714
	}
}
.CourseList .CourseList__ItemTitle {
	margin: 0;
	font-weight: 700;
	font-size: 32px;
	line-height: 1;
	color: #a00834
}
@media(max-width: 680px) {
	.CourseList .CourseList__ItemTitle {
		font-size: 24px
	}
}
.CourseList .CourseList__ItemPointsLabel {
	width: fit-content;
	max-width: 100%;
	padding: 2px 20px;
	border-radius: 999px;
	font-weight: 700;
	font-size: 14px;
	line-height: 2.1428571429;
	color: #000;
	background: #d2d9dd
}
@media(max-width: 680px) {
	.CourseList .CourseList__ItemPointsLabel {
		font-size: 12px;
		line-height: 1.4;
		padding: 4px 10px;
		margin: 16px 0 8px
	}
}
.CourseList .CourseList__ItemPoints {
	padding: 0;
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 2;
	list-style: none
}
@media(max-width: 680px) {
	.CourseList .CourseList__ItemPoints {
		font-size: 12px
	}
}
.CourseList .CourseList__ItemPoints li {
	display: flex;
	gap: .25em
}
.CourseList .CourseList__ItemPoints li::before {
	content: "●"
}
.Features {
	padding: 280px 0 186px;
	color: #fff;
	background: #6a6a6a url("../img/features/bg_001.webp") no-repeat 50% 0/100% auto
}
@media(max-width: 1920px)and (min-width: 681px) {
	.Features {
		background-size: auto 700px
	}
}
@media(max-width: 680px) {
	.Features {
		padding-top: 120px;
		padding-bottom: 97px;
		background-image: url("../img/features/bg_001s.webp")
	}
}
.Features .Features__Title {
	margin: 0 0 100px;
	font-weight: 700;
	text-align: center;
	font-size: 45.89px;
	line-height: 1.5001089562
}
@media(max-width: 680px) {
	.Features .Features__Title {
		padding: 0 15px;
		margin-bottom: 64px;
		font-size: 26.28px
	}
}
.Features .Features__Title em {
	font-style: normal;
	font-size: 75px
}
@media(max-width: 680px) {
	.Features .Features__Title em {
		font-size: 42.95px
	}
}
.Features .Features__TitlePre {
	display: block;
	font-size: 36px;
	line-height: 1.5
}
@media(max-width: 680px) {
	.Features .Features__TitlePre {
		font-size: 20px
	}
}
.FeatureList {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 64px 90px;
	max-width: 880px;
	padding: 0 60px;
	margin: 0 auto;
	list-style: none
}
@media(max-width: 680px) {
	.FeatureList {
		grid-template-columns: 1fr;
		gap: 38px;
		padding: 0 32px
	}
}
.FeatureList .FeatureList__Item {
	position: relative
}
.FeatureList .FeatureList__Item.-outView {
	opacity: 0;
	transform: translateX(-20%)
}
.FeatureList .FeatureList__Item.-inView {
	transition: opacity .5s, transform .5s cubic-bezier(0.39, 0.575, 0.565, 1)
}
@media(min-width: 681px) {
	.FeatureList .FeatureList__Item:nth-child(2n+2) {
		transition-delay: .1s
	}
}
.FeatureList .FeatureList__ItemNumber {
	position: absolute;
	top: 0;
	left: -10px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	padding: 0;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-family: "Oswald", sans-serif;
	font-size: 36px;
	line-height: 1;
	color: #fff
}
@media(max-width: 680px) {
	.FeatureList .FeatureList__ItemNumber {
		zoom: .8;
		left: 0
	}
}
.FeatureList .FeatureList__ItemTitle {
	min-height: 120px;
	padding-left: 84px;
	margin: 0 0 10px;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.48
}
@media(max-width: 940px)and (min-width: 681px) {
	.FeatureList .FeatureList__ItemTitle br {
		display: none
	}
}
@media(max-width: 680px) {
	.FeatureList .FeatureList__ItemTitle {
		box-sizing: border-box;
		min-height: 64px;
		padding-top: 4px;
		padding-left: 78px;
		margin-bottom: 20px;
		font-size: 20px
	}
}
.VideoThumb {
	position: relative;
	display: block;
	aspect-ratio: 16/9;
	overflow: hidden
}
.VideoThumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(101%)
}
.VideoThumb::before {
	content: "";
	position: absolute;
	z-index: 1;
	inset: 0;
	display: block;
	width: 68px;
	height: 48px;
	margin: auto;
	background: url("../img/video-thumb/bg_001.svg") 0 0/100% 100%
}
.Location {
	color: #fff;
	padding: 150px 0 60px;
	background: #333
}
@media(max-width: 680px) {
	.Location {
		padding: 64px 0
	}
}
.Location .Location__Lead {
	margin: 0 0 40px;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.6875;
	text-align: center
}
@media(max-width: 680px) {
	.Location .Location__Lead {
		padding: 0 28px;
		font-size: 20px;
		margin-bottom: 38px
	}
}
.Location .Location__Title {
	margin: 0;
	font-weight: 700;
	font-size: 36px;
	line-height: 1.4;
	text-align: center
}
@media(max-width: 680px) {
	.Location .Location__Title {
		padding: 0 28px;
		font-size: 24px
	}
}
.Location .Location__Title em {
	font-style: normal;
	font-weight: inherit;
	font-size: 56px
}
@media(max-width: 680px) {
	.Location .Location__Title em {
		font-size: 40px
	}
}
.Location .Location__Image {
	margin: 32px auto 0;
	max-width: 610px
}
@media(max-width: 680px) {
	.Location .Location__Image {
		margin-top: 24px;
		padding: 0 28px
	}
}
.Location .Location__Image img {
	display: block;
	width: 100%;
	height: auto
}
.Location .Location__ImageCaption {
	margin: 20px 0 0;
	font-size: 16px;
	line-height: 1.75
}
@media(max-width: 680px) {
	.Location .Location__ImageCaption {
		margin-top: 14px;
		font-size: 14px
	}
}
.Location .Location__Access {
	margin: 100px 0 130px;
	padding: 0 28px
}
@media(max-width: 680px) {
	.Location .Location__Access {
		margin: 54px 0;
		padding: 0 28px
	}
}
.Location .Location__AccessTitle {
	margin: 0;
	font-weight: 500;
	font-size: 21px;
	line-height: 2.5714285714;
	text-align: center
}
@media(max-width: 680px) {
	.Location .Location__AccessTitle {
		font-size: 16px;
		margin-bottom: 16px
	}
}
.Location .Location__AccessNote {
	margin: 10px 0 40px;
	font-size: 12px;
	text-align: center
}
@media(max-width: 680px) {
  .Location .Location__AccessNote {
    margin-bottom: 26px;
  }
}
.Access {
	display: grid;
	grid-template-columns: 47.8723404255% 1fr;
	gap: 30px 50px;
	max-width: 940px;
	margin: 0 auto;
	font-family: var(--font-serif);
	font-size: 14px;
	line-height: 1.8;
	color: #fff
}
@media(max-width: 940px) {
	.Access {
		grid-template-columns: 1fr;
		font-size: 12px
	}
}
.Access .Access__Map iframe {
	display: block;
	width: 100%;
	height: 400px;
	border: 0;
	filter: grayscale(1)
}
@media(max-width: 680px) {
	.Access .Access__Map iframe {
		height: 200px
	}
}
.Access .Access__Info::before {
	content: "";
	display: table;
	width: 100%;
	height: 0;
	margin-bottom: -0.4em
}
.Access .Access__Info p {
	margin: 0
}
.Access .Access__Heading {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 30px 0 0;
	font-weight: 400;
	font-size: 16px;
	color: #cbc88c
}
.Access .Access__Heading:first-child {
	margin-top: 0
}
.Access .Access__Heading::after {
	content: "";
	display: block;
	height: 1px;
	flex-grow: 1;
	background: currentColor
}
.Access .Access__Schedule {
	column-count: 2;
	column-gap: 8px;
	padding: 0;
	margin: 0;
	list-style: none
}
.Access .Access__Schedule li {
	display: flex;
	gap: 25px;
	padding: 3px 0;
	border-bottom: 1px dashed #fff
}
@media(max-width: 680px) {
	.Access .Access__Schedule li {
		gap: 10px
	}
}
.Access .Access__ScheduleDay {
	padding: 0 15px
}
@media(max-width: 940px) {
	.Access .Access__ScheduleDay {
		padding: 0
	}
}
.PhoneCall {
	margin: 64px 0 0;
	text-align: center
}
@media(max-width: 680px) {
	.PhoneCall {
		margin-top: 38px
	}
}
.PhoneCall .PhoneCall__Title {
	margin: 0 0 12px;
	font-weight: 500;
	font-size: 20px
}
@media(max-width: 680px) {
	.PhoneCall .PhoneCall__Title {
		margin-bottom: 8px;
		font-size: 16px
	}
}
.PhoneCall .PhoneCall__Number {
	display: block;
	width: fit-content;
	margin: 0 auto;
	font-family: "Oswald", sans-serif;
	font-size: 48px;
	letter-spacing: .05em;
	line-height: 1;
	text-decoration: none;
	color: #d7c4a0
}
@media(max-width: 680px) {
	.PhoneCall .PhoneCall__Number {
		font-size: 36px
	}
}
.PageFooter {
	border-image-source: linear-gradient(#fff, #fff);
	border-image-slice: 0 fill;
	border-image-width: 1;
	border-image-outset: 0 100vw;
	border-image-repeat: stretch;
	background: #fff;
	display: grid;
	grid-template: ". logo button" ". logo copyright"/1fr 264px 1fr;
	align-items: center;
	box-sizing: border-box;
	padding: 18px 16px;
	max-width: 1000px;
	margin: 0 auto
}
@media(max-width: 680px) {
	.PageFooter {
		grid-template: ". logo button" ". copyright button"/1fr 170px 1fr;
		align-items: start;
		padding: 20px 16px 100px;
	}
}
.PageFooter .PageFooter__Logo {
	grid-area: logo
}
.PageFooter .PageFooter__Logo img {
	display: block;
	max-width: 100%;
	height: auto
}
.PageFooter .PageFooter__ToPageTop {
	grid-area: button;
	display: block;
	width: 58px;
	aspect-ratio: 1;
	padding: 0;
	margin: 0 0 0 auto;
	border: 0;
	background: url("../img/page-footer/bg_001.svg") 0 0/100% 100%;
	cursor: pointer
}
@media(max-width: 680px) {
	.PageFooter .PageFooter__ToPageTop {
		width: 44px
	}
}
.PageFooter .PageFooter__Copyright {
	grid-area: copyright;
	margin: 8px 0 0;
	text-align: right;
	font-size: 12px;
	line-height: 1
}
@media(max-width: 680px) {
	.PageFooter .PageFooter__Copyright {
		margin-top: 12px;
		text-align: center;
		font-size: 10px
	}
}
.YoutubeModal {
	display: none;
	position: fixed;
	inset: 0;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	padding: 60px;
	background: rgba(0, 0, 0, .5);
	z-index: 500
}
@media(max-width: 680px) {
	.YoutubeModal {
		padding: 60px 20px
	}
}
.YoutubeModal[open] {
	display: flex;
	animation: uhrvlt8 .5s 0s 1 both
}
@keyframes uhrvlt8 {
	0% {
		opacity: 0
	}
	100% {
		opacity: 1
	}
}
.YoutubeModal .YoutubeModal__Inner {
	position: relative;
	height: 100%;
	max-height: 500px;
	aspect-ratio: 16/9;
	animation: uhrvltc .5s 0s 1 both
}
@keyframes uhrvltc {
	0% {
		transform: translateY(20%)
	}
	100% {
		transform: none
	}
}
@media(max-aspect-ratio: 16/9) {
	.YoutubeModal .YoutubeModal__Inner {
		height: auto;
		width: 100%;
		max-width: 890px
	}
}
.YoutubeModal .YoutubeModal__Close {
	position: absolute;
	top: 0;
	right: -46px;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	cursor: pointer;
	background: url("../img/youtube-modal/bg_001.svg") 0 0/100% 100%
}
@media(max-width: 680px) {
	.YoutubeModal .YoutubeModal__Close {
		top: -46px;
		right: 0
	}
}
.YoutubeModal .YoutubeModal__Video {
	aspect-ratio: 16/9
}
.YoutubeModal .YoutubeModal__Video iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0
}

/* 0828追記 */
@media(max-width: 320px) {
	.CTAButton__Inner .-onlySmallScreen {
		display: none !important;
	}
}