@charset "utf-8";

/* **************************************************

Name: karuta.css

***************************************************** */

:root{
	--wide: 1275px;
	--wh: #fff;
	--lgray: #F2F2F2;
	--gray: #D9D9D9;
	--dgray: #B8C1C7;
	--lblue: #ECF2F5;
	--lgreen: #C7EEAE;
	--mgreen: #50AE34;
	--green: #358339;
	--greengrad: linear-gradient(180deg, #358339 30%, #50AE34 100%);
	--dgreen: #176300;
	--yellow:#FFF133;
	--text: #4D4D4D;
	--bk: #000;
	--shadow:  0 4px 20px 0 rgba(0, 0, 0, 0.25);

}
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {

    border-radius: 10px;
	background: rgba(0,0,0,.2);
}

::-webkit-scrollbar-thumb {
    border-radius: 10px;
	background: rgba(0,0,0,.5);
}
/*----------------------------------
4Grid OverFlow Control
||e.g.
	<div class="Section"><!--BrowserWidth-->
		<div class="Inner"><!--MaxWidth:1275px-->
------------------------------------- */
html {
	overflow-x: hidden;
	scroll-behavior: smooth;
}
#Contents {
	padding-bottom: 0;
}
#Contents * {
		font-family: 'Noto Sans JP','メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ Ｐゴシック',Arial,Helvetica,sans-serif;
	box-sizing: border-box;
	color: var(--text);
}
sup {
	font-size: .6em;
}
div#Contents,
.GridSet,
.Grid4 {
	width: 100%;
	margin: auto;
}
div.Section {
	width: 100vw;
	overflow: hidden;
}
div.Section.Gray {
	background: var(--gray);
}
.Section>.Inner {
	width: var(--wide);
	margin: auto;
	padding: 1em 0;
	word-break: break-word;
}.Section .TextStyle1 {
	color: var(--text);
}
#Contents h3 {
	background: transparent;
	border: none;
}
#Contents h4 {
	margin: 0;
	font-size: 1.05em;
}
#Contents h4::before {
	content: none;
}
.PageTitleStyle3 {
	background: var(--green);
	margin: 0 auto;
	width: 100vw;
}
.PageTitleStyle3 .Inner {
	max-width: var(--wide);
	min-height: 80vh;
	height: 795px;
	margin: 0 auto;
	display: flex;
}
.PageTitleStyle3 .Plate {
	background: var(--wh);
	display: flex;
	align-items: center;
	border-radius: 32px;
	margin: auto;
	padding: 1.6em;
}
.PageTitleStyle3 .TitleInner {
	border: 4px solid var(--green);
	border-radius: 20px;
}
.PageTitleStyle3 .Inner {
	position: relative;
}
.ObjWrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	max-width: var(--wide);
	height: 100%;
}
.ObjWrapper span[class^=Obj] {
	width: max-content;
	position: absolute;
}
.ObjWrapper .Obj01 {	top: 10%; left: -5%;}
.ObjWrapper .Obj02 {	top: 3%; left: 10%;}
.ObjWrapper .Obj03 {	top: 0%; left: 20%;}
.ObjWrapper .Obj04 {	top: 0%; left: 40%;}
.ObjWrapper .Obj05 {	top: 0%; left: 55%;}
.ObjWrapper .Obj06 {	top: 10%; left: 80%;}
.ObjWrapper .Obj07 {	bottom: 0%; left: -12%;}
.ObjWrapper .Obj08 {	bottom: 0%; left: 20%;}
.ObjWrapper .Obj09 {	bottom: -4%; left: 40%;}
.ObjWrapper .Obj10 {	bottom: 0%; right: -5%;}
@keyframes SlideUp {
	0% { transform: translateY(10em); opacity: 0;}
	100% { transform: translateY(0); opacity: 1;}
}

.ObjWrapper .Ani01,
.ObjWrapper .Ani02,
.ObjWrapper .Ani03 {
	opacity: 0;
	z-index: 1;
}
.PageTitleStyle3 .Plate {
	opacity: 0;
	z-index: 0;
}
.PageTitleStyle3 .Plate {
		animation: SlideUp .5s .3s ease forwards;
		animation-fill-mode: forwards;

}
.ObjWrapper .Ani01 {
	animation: SlideUp .5s .5s ease forwards;
	animation-fill-mode: forwards;
}
.ObjWrapper .Ani02 {
	animation: SlideUp 1s .9s ease forwards;
  animation-fill-mode: forwards;
}
.ObjWrapper .Ani03 {
	animation: SlideUp 1s 1.2s ease forwards;
  animation-fill-mode: forwards;
}
#Contents h1 {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	font-weight: bold;
	font-size: 5.5em;
	line-height: 1;
	gap: 30px;
	color: var(--green);
	padding: .6em;
}
#Contents h1 span {
	display: block;
	font-size: 1.4em;
	color: var(--green);
}
#Contents .PageTitleStyle3 .Title {
	text-align: center;
	font-weight: bold;
	color: var(--green);
	font-size: 2.15em;
	padding: .6em;
	line-height: 1;
	border-bottom: 4px solid var(--green);
}
div[id^=Sec]::after {
	content: "";
	margin: 0;
	padding: 0;
	display: block;
	min-height: 200px;
	height: auto;
	width: 100vw;
}
div.Section#Sec01 {
	background: var(--greengrad);
	padding: 7.5em 0 0;
	position: relative;
	overflow: clip;
}
div.Section#Sec01::after {
	background: url(/-/media/sp/karuta/image/bg_secline01.svg) no-repeat top center / cover;
}
#Sec01 h2 {
	font-size: 2.8em;
	text-align: center;
	font-weight: bold;
	color: var(--yellow);
	position: relative;
	width: max-content;
	margin: auto;
}
#Sec01 h2::before {
	content: "";
	display: block;
	position: absolute;
	top: -30px;
	left: -10%;
	width: 50px;
	height: 52px;
	background: url(/-/media/sp/karuta/image/h2_before.svg) no-repeat center;
}
#Sec01 h2::after {
	content: "";
	display: block;
	position: absolute;
	top: -30px;
	right: -10%;
	width: 50px;
	height: 52px;
	background: url(/-/media/sp/karuta/image/h2_after.svg) no-repeat center;
}
#Sec01 h2 u {
	color: var(--yellow);
	text-underline-position: under;
}
#Sec01 h3 {
	color: var(--yellow);
	text-align: center;
	font-size: 2.2em;
}
#Contents .LinkButton a:link,
#Contents .LinkButton a:visited {
	color: var(--wh);
	text-decoration: none;
	font-size: 1.4em;
	padding: .5em 1.5em;
	margin: 3em auto;
	border: 3px solid var(--wh);
	display: flex;
	align-items: center;
	gap: 1em;
	width: max-content;
	border-radius: 72px;
}
#Contents .LinkButton a::after {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	background: url(/-/media/sp/karuta/image/icon_arrow_wh.svg) no-repeat center;
}
#Contents .LinkButton a.Soon {
	cursor: default;
	opacity: .9;
}
.Info {
	/*osition: absolute;*/
	width: max-content;
	font-size: 1em;
	font-weight: bold;
	background: var(--wh);
	border-radius: 50px 56px 56px 0;
	padding: 1.5em 2em;
	margin: 0 0 0 auto;
}
.Section .Plate {
	background: var(--wh);
	display: flex;
	flex-direction: column;
	align-items: center;
	border-radius: 32px;
	margin: auto auto 4em;
	padding: 4em;
	max-width: 768px;
}
.KarutaBox {
	margin: auto auto 4em;
}
.Section .Plate .TextStyle1 {
	font-size: 1.45em;
	font-weight: bold;
	text-align: center;
}
.Section .Plate .TextStyle2 {
	font-size: 1em;
	margin: 0;
}
@keyframes slide-in-bottom {
  from {
    transform: translateY(5em);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
#Sec01 .Plate {
  animation-fill-mode: forwards;
	animation: SlideUp .8s ease-in both;
	animation-timeline:view(50% 20%);
  animation-range: entry 5% cover 30%;
	opacity: 0;
}
.Inner .KarutaBox,.Inner .Plate .Txt,
.Purpose li,.Why li {
	animation-fill-mode: forwards;
	animation: SlideUp .9s ease-in-out both;
	animation-timeline:view();
	animation-range: entry 0% cover 25%;
}
.Inner.Karuta {
	position: relative;
	height: 100vh;
	animation: SlideUp 1s ease-in-out both;
	animation-timeline:view();
  animation-range: entry 20% cover 40%;
	view-timeline-inset: 100px;
}
.Karuta span[class^=Karuta] {
	display: block;
	width: 180px;
	box-shadow: var(--shadow);
	position: absolute;
	z-index: 1;
}
.Karuta01 { top: 48%;left: -15%; transform: rotate(-10deg);}
.Karuta02 { top: 19%;left: 8%; transform: rotate(10deg);z-index: 1;}
.Karuta03 { top: 58%;left: 3%; transform: rotate(30deg);}
.Karuta04 { top: 10%;right: 5%;transform: rotate(-20deg); z-index: 1;}
.Karuta05 { top: 30%;right: -10%;transform: rotate(20deg);}
.Karuta06 { top: 66%;right: 5%;transform: rotate(-10deg);}
div.Section#Sec02 {
	background: var(--gray);
	padding: 0 ;
	position: relative;
}
div.Section#Sec02::after {
	background: var(--lgray) url(/-/media/sp/karuta/image/bg_secline02.svg) no-repeat bottom center / cover;
}
#Sec02 h2 {
	width: auto;
	height: max-content;
	line-height: .8;
	letter-spacing: .05em;
	color: var(--green);
	font-size: 10.5em;
	font-weight: bold;
	text-align: left;
	margin: 0 ;
	padding: 0 .5em 0 0;
	transform-origin: left top;
	transform: rotate(90deg) translate(0,-1.6em);
	background: var(--gray);
	word-break: keep-all;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}
#Sec02 h3 {
	font-size: 1.9em;
	display: flex;
	background: var(--green);
	border-radius: 20px;
	padding: .5em;
}
#Sec02 h3 span {
	color: var(--wh);
	border: 3px solid var(--wh);
	border-radius: 15px;
	padding: .5em 1em;
}
#Sec02 .Inner {
	display: flex;
	justify-self: start;
	align-items: start;
	width: 100%;
	padding: 1em;
	margin: 0 0 0 auto;
	overflow-y: hidden;
	overflow-x: visible;
	scrollbar-width: thin;
}
.Grid4.Fuda {
	background: var(--gray);
}
.Grid4.Fuda div.Section {
	padding: 7.5em 0 10em;
	background: transparent;
	overflow: clip;
}
.Grid4.Fuda .Info {
	margin: 0 0 2em auto;
}
.Grid4.Fuda .Select {
	display: flex;
	gap: 1em;
	margin: auto auto -1em;
	width: max-content;
	height: max-content;
}
#Contents .Grid4.Fuda .LinkButton {
	color: var(--green);
	text-decoration: none;
	font-size: 1.4em;
	padding: .5em 1.5em;
	margin: auto;
	border: 3px solid var(--green);
	display: flex;
	align-items: center;
	gap: 1em;
	width: max-content;
	border-radius: 72px;
	cursor: pointer;
	opacity: 1;
	transform: scale(1);
	transition: transform .1s ease-in-out;
}
#Contents .Grid4.Fuda .LinkButton.active {
	background: var(--wh);
	border: 3px solid var(--wh);
}
#Contents .Grid4.Fuda .LinkButton:hover {
	opacity: .8;
	transform: scale(1.1);
}
/*FlipCard*/
.Fuda .CardContainer {
	display: flex;
	gap: 1.5em;
	flex-wrap: wrap;
}
.Fuda .Card {
	display: block;
	perspective: 1000px;
	cursor: pointer;
}
.Fuda .CardInner {
	display: block;
	position: relative;
	width: 190px;
	height: auto;
	min-height: 253px;
	transition: transform 0.6s;
	transform-style: preserve-3d;
}
.Fuda .Card.is-flipped .CardInner {
  transform: rotateY(180deg);
}
.Fuda .Card p {
	display: block;
	width: 190px;
	height: auto;
	margin: auto;
}
.Fuda .Card p img {
	box-shadow: var(--shadow);
}
.Fuda .CardFront,
.Fuda .CardBack {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	top: 0;
	left: 0;
}
.Fuda .CardBack {
  transform: rotateY(180deg);
}
		.Fuda .Card {
			animation: SlideUp .5s ease-in-out both;
			animation-duration: auto;
			animation-timeline:view();
			animation-range: entry 5% cover 25%;
	}
/*}*/
@media screen and (min-width: 1304px) {
	#Sec02 .Inner {
		margin: 0;
		padding: 1em 1em 1em 16em;
		max-width: fit-content;
	}
}
#Sec02 .Inner::-webkit-scrollbar {
	appearance: none;
}
#Sec02 .Inner::-webkit-scrollbar-track {
	border-radius: 5px;
	background: rgba(0,0,0,.2);
}
@supports (animation-timeline: view()) {
	/*
	#Sec02 .Inner .ScrollArea {
		height: 500vh;
		overflow: visible;
		view-timeline-name: --section-pin-tl;
		view-timeline-axis: block;
	}
	#Sec02 .Inner .ScrollArea .Track {
		height: 100vh;
		position: sticky;
		top: 0;
		width: 100vw;
		overflow-x: hidden;
	}
	#Sec02 .Inner .ScrollArea .Track .TrackInner {
		height: max-content;
		width: 250vmax;
		will-change: transform;
		animation: linear move forwards;
		animation-timeline: --section-pin-tl;
		animation-range: contain 0% contain 100%;
		animation-play-state: paused;
	}*/
}
#Sec02 .Inner .ScrollArea {
/*	height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	padding-bottom: 150vh;
	scroll-timeline: --yScroll block;*/
	height: max-content;
}
.Track {
	position: relative;
	min-height: 600px;
	height: 100%;
}
.Track::-webkit-scrollbar {

}
#Sec02 .Inner::-webkit-scrollbar {
    display: none;
}
.TrackInner {
	width: max-content;
	height: max-content;
	display: flex;
	gap: 2.5em;
	padding: 0 3em;
/* スクロール連動アニメーション */
/*
  animation-name: moveX;
  animation-duration: 1s;
  animation-timing-function: linear;
  animation-fill-mode: both;
  animation-timeline: --yScroll;
  animation-range: 0% 100%;
*/
  /* 初期状態では止める */
  /*animation-play-state: paused;*/
}
.TrackInner:hover {
	/*animation-play-state: running;*/
}
@keyframes moveX {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200vw);
  }
}
.TrackInner li {
	height: auto;
}
#Sec02 .Plate {
	margin: 0;
	min-width: 854px;
	height: 100%;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.TrackInner li:nth-of-type(even) .Plate {
	background: var(--lgreen);
}
.TrackInner li .Plate::before {
	position: absolute;
	content: "";
	left: 0;
	color: var(--mgreen);
	font-size: 3em;
	line-height: 1.4;
	padding: 0 0 0 1em;
	border-bottom: 3px solid var(--mgreen);
}
.TrackInner li:nth-of-type(1) .Plate::before {
	content: "1/4";
}
.TrackInner li:nth-of-type(2) .Plate::before {
	content: "2/4";
}
.TrackInner li:nth-of-type(3) .Plate::before {
	content: "3/4";
}
.TrackInner li:nth-of-type(4) .Plate::before {
	content: "4/4";
}
#Slide01,
.Slides {
	display: block;
	width: 100%;
	max-width: 600px;
	min-height: 400px;
	overflow: hidden;
	margin: auto auto 1em;
	z-index: 1;
}
#Sec02 .Plate .Groups {
	position: relative;
	margin: 0 1em;
	padding: 0 1em;
}
#Sec02 .Plate .Group {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	gap: 2em;
	align-items: center;
	width: max-content;
	cursor: pointer;
}
#Sec02 .Plate .Group img {
	box-shadow: var(--shadow);
}
#Sec03.Section {
	background: var(--lgray);
	overflow: visible;
}
#Sec03.Section .Inner {
	padding: 6em 0;
}
#Sec03 .Sticky {
	display: flex;
	align-items: flex-start;
	justify-content: space-around;
	gap: 3em;
	margin: 0 auto;
	width: max-content;
}
#Sec03 .Sticky .Navi {
	position: sticky;
	top: 0px;
	flex: 0;
	align-self: start;
}
#Sec03 .Sticky .Navi a.active {
	font-weight: bold;
}
#Sec03 .Sticky .Contents {
	flex: auto;
}
#Sec03 h2 {
	color: var(--green);
	font-size: 2.5em;
	font-weight: bold;
	width: max-content;
}
#Sec03 .List li {
	list-style-type: disc;
	list-style-position: inside;
	font-weight: bold;
}
#Sec03 .Sticky .Navi .List li {
	color: var(--green);
}
#Sec03 .Sticky .Navi .Steps {
	display: flex;
	align-items: center;
	gap: 1em;
}
#Sec03 .Sticky .Navi .Steps li {
	display: flex;
	align-items: center;
}
#Sec03 .Sticky .Navi .Steps a:link,
#Sec03 .Sticky .Navi .Steps a:visited {
	font-size: 1.5em;
	font-weight: bold;
	color: var(--green);
	border: 2px solid var(--green);
	border-radius: 40px;
	padding: .25em 1em;
	line-height: 1;
	transition: .08s ease;
}
#Sec03 .Sticky .Navi .Steps a:hover {
	text-decoration: none;
}
#Sec03 .Sticky .Navi .Steps .active a {
	background: var(--green);
	color: var(--wh);
}
#Sec03 .Sticky .SubSec {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
	width: 560px;
}
#Sec03 .Sticky .SubSec li {
	border: 8px solid var(--green);
	border-radius: 160px 200px 200px 4px;
	padding: 2.5em 0em 2.5em 3.5em;
	overflow: visible;
}
#Sec03 .Sticky .SubSec li:nth-of-type(even) {
	border-radius: 200px 160px 4px 200px;
}
#Sec03 h3 {
	color: var(--green);
	font-size: 2.5em;
	text-align: center;
	padding: 0;
	line-height: 1;
}
#Sec03 h3 span {
	color: var(--green);
	display: block;
	font-size: .5em;
}
#Sec03 .Sticky .SubSec .ImgTxt {
	display: flex;
	flex: 1;
	gap: 2.5em;
	align-items: center;
	width: max-content;
}
#Sec03 .Sticky .SubSec .ImgTxt li {
	border: none;
	padding: inherit;
	flex: 1 0 auto;
}
#Sec03.Section .TextStyle1 {
	font-size: 1.5em;
	font-weight: bold;
	margin: 0;
}
#Sec04.Section {
	background: var(--dgray);
}
#Sec03.Section::after,
#Sec04.Section::after {
	content: none;
}
.Gragh {
	width: 100%;
	border: 16px solid var(--green);
	border-radius: 60px;
	padding: 4em;
	margin: 6em auto 0;
	background: url(/-/media/sp/karuta/image/bg_graph.png) top center;
}
.Purpose {
	display: flex;
	gap: 2.5em;
}

#Sec03 .Purpose .List li,
#Sec03 .Purpose h3,
#Sec03 .Why h3,
#Sec03 .Desc {
	color: var(--bk);
	text-align: left;
}
#Sec03 .Purpose h3,
#Sec03 .Why h3 {
	margin: 1em 0;
}
.PurposeList {
	display: flex;
	flex-direction: column;
	gap: 1.5em;
}
.PurposeList li {
	display: flex;
	align-items: center;
	gap: 2em;
}
#Contents .PurposeList li span {
	color: var(--green);
	font-size: 1.2em;
	font-weight: bold;
}
#Contents .PurposeList li p,
#Contents .PanelList p {
	color: var(--wh);
	font-size: 1.8em;
	font-weight: bold;
	background: var(--green);
	padding: 0 .5em;
	width: max-content;
}
#Sec03 .Desc {
	font-size: 1.25em;
	font-weight: bold;
}
#Sec03 .FlexBet {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#Sec03 .Why {
	transform: translateY(-4em);
}
#Sec03 .Why .Info {
	border: 3px solid var(--text);
	text-align: center;
}
#Sec03 .Why .Fig {
	position: relative;
}
#Sec03 .Why .Fig img {
	margin: 0 5em 1em;
}
.PanelList {
	display: flex;
	gap: 3em;
}
.PanelList li {
	display: flex;
	flex: auto;
	width: auto;
	flex-direction: column;
	border-radius: 20px;
	border: 1px solid var(--text);
	background: var(--wh);
	padding: 2em;
	gap: 2em;
}
.PanelList li .List li {
	display: list-item;
	border: none;
	background: transparent;
	padding: inherit;
	width: max-content;
}
#Sec04 .ImgOnlyStyle img {
	margin: 0;
}
#Sec04 .Inner h2.Links {
	width: max-content;
	font-size: 1em;
	font-weight: bold;
	color: var(--bk);
	border-radius: 50px;
	padding: 0 1em;
	border: 1px solid var(--bk);
}
#Sec04 .Flex li {
	background: var(--wh);
	padding: 1em;
	display: flex;
	gap: 1em;
	flex: 1;
}
#Sec04 .ImgOnlyStyle {
	margin: 0;
}
#Sec04 h3 {
	margin: 0;
}
#Sec04 h3 a:link, #Sec04 h3 a:visited {
	background: transparent;
	border: none;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
#Sec04 .Flex h3 a::after {
	content: "";
	display: block;
	min-width: 24px;
	width: 24px;
	height: 24px;
	background: url(/-/media/company/image/wide/icon_link_arrow.svg) no-repeat center;
}
/*Slide*/
.SlideArea {
	position: relative;
	width: 100vw;
	min-height: 500px;
	margin: auto auto 4em;
}
#slider {
	min-height: 300px;
	opacity: 0;
	transition: opacity .3s linear;
}
#slider.slick-initialized {
	opacity: 1;
}
.slick-list {
	min-height: max-content;
	overflow: visible;
}
#slider .slick-slide img {
	box-shadow: 0 5px 25px 0 rgba(0, 0, 0, 0.25);
}
/*FlipCard*/
#slider .Card {
	perspective: 1000px; /* 奥行き */
	cursor: pointer;
}
#slider .CardInner {
	position: relative;
	width: 250px!important;
	height: 100%;
	transition: transform 0.6s;
	transform-style: preserve-3d;
}
#slider .Card.is-flipped .CardInner {
  transform: rotateY(180deg);
}
#slider .slick-slide div p {
	width: 250px !important;
	margin: auto;
}
#slider .slick-slide div .CardFront,
#slider .slick-slide div .CardBack {
	position: absolute;
	width: 100%;
	height: 100%;
	backface-visibility: hidden;
	top: 0;
	left: 0;
}
#slider .CardBack {
  transform: rotateY(180deg);
}

#slider .slick-slide,
#slider .slick-current,
#slider .slick-active {
	transform-origin: center bottom 0;
	transition: transform .8s ease-in-out,opacity .3s ease-in;
}
#slider .slick-slide {
	opacity: 0;
}
#slider .slick-current,
#slider .slick-active {
	opacity: 1;
	display: flex;
	justify-content: center;
}
#slider .slick-current {
	/*transform: rotate(-22deg) translate(-22px, 110px);*/
	transform: rotate(-20deg) translate(-144px, 83px);
}
#slider .slick-current+.slick-active {
	/*transform: rotate(-10deg) translate(0,28px);*/
	transform: rotate(-10deg) translate(-60px, 22px);
}
#slider .slick-current+.slick-active+.slick-active+.slick-active {
	/*transform: rotate(10deg) translate(0,28px);*/
	transform: rotate(10deg) translate(60px, 22px);
}
#slider .slick-current+.slick-active+.slick-active+.slick-active+.slick-active {
	/*transform: rotate(22deg) translate(22px, 110px);*/
	transform: rotate(20deg) translate(144px, 83px);
}
/*OverflowArea*/
#slider .slick-slide:not(#slider .slick-active) {
		transform: rotate(-30deg) translate(-24px, 140px);
}
#slider .slick-current+.slick-active+.slick-active+.slick-active+.slick-active+.slick-slide {
	transform: rotate(30deg) translate(24px, 140px);
}
#Sec02 .Groups .slick-slide {
	position: absolute;
	opacity: 0!important;
	height: max-content;
}
.Groups .slick-slide.slick-active {
	z-index: 1;
	transform: translate(0,0);
	transition: transform .1s ease;
	opacity: 1!important;
}
.Groups .slick-slide.slick-active+.slick-slide {
	transform: translate(1em,1em);
	opacity: 1!important;
}
.Slides .slick-slide {
		min-height: 333px;
}
.slideControlsWh {
	display: flex;
	justify-content: center;
	margin: 8em auto;
	min-height: 1em;
	gap: 1em;
}
[class^=slideControlsSub] {
	position: absolute;
	height: 100%;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 3em;
	z-index: 0;
}
.slideThumbnail,
[class^=slideThumbnailSub] {
	display: flex;
	align-items: center;
	z-index: 2;
}
.slideThumbnail .slick-dots,
[class^=slideThumbnailSub] .slick-dots {
	display: flex;
	align-items: center;
	gap: .5em;
}
.slideThumbnail .slick-dots li button {
	background: var(--dgreen);
	transition: .08s ease-in;
}
[class^=slideThumbnailSub] .slick-dots li button {
	background: var(--gray);
	transition: .08s ease-in;
}
.slideThumbnail .slick-dots li,
.slideThumbnail .slick-dots li button ,
[class^=slideThumbnailSub] .slick-dots li,
[class^=slideThumbnailSub] .slick-dots li button {
	width: 15px;
	height: 15px;
	border-radius: 50%;
	font-size: 0;
	appearance: none;
	outline: none;
	border: none;
	cursor: pointer;
}
.slideThumbnail .slick-dots li.slick-active button {
	background: var(--wh);
}
[class^=slideThumbnailSub] .slick-dots li.slick-active button {
	background: var(--green);
}
.slick-arrow {
	appearance: none;
	width: 52px;
	height: 52px;
	outline: none;
	border: none;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	transition: transform .08s ease-in,opacity .08s ease-in;
	opacity: 1;
	transform: scale(1);	
}
.slick-arrow:hover {
	opacity: .8;
	transform: scale(1.1);
}
.slick-arrow img {
	width: 52px;
	height: 52px;
}

.TrackInner .Plate span.No {
	display: none;
}
.RWD {
	display: none;
}
/*Common*/
br.PC {
	display: block;
}
br.RWD {
	display: none;
}
.MT {
	margin: auto 0 0 0;
}
.MR {
	margin: 0 auto 0 0;
}
.MB {
	margin: 0 0 auto 0;
}
.ML {
	margin: 0 0 0 auto;
}
.Flex {
	width: 100%;
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	gap: 1.5em;
	margin: 2em 0;
	flex-wrap: wrap;
}
.Flex li {
	flex: 0 1 auto;
}
.Flex.Four li {
	width: calc((100% / 4) - 1.2em);
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	background: var(--wh);
}
.Flex.Col {
	flex-direction: column;
}
.Flex.Bet {
	justify-content: space-between;
}
.Flex.NwpPC {
	flex-wrap: nowrap;
}
.Flex.Start {
	align-items: flex-start;
}
@media screen and (max-width: 994px) {
	.JS #Contents,
	.JS .GridSet,
	.JS .Grid4 {
		padding:0;
		margin: 0;
		width: auto;
	}
	.JS .GridSet {
		max-width: inherit;
	}

	.JS .Inner {
		padding: 1em;
		width: auto;
	}
	.JS #Contents h1 {
		font-size: 4.5em;
	}
	.JS .ObjWrapper .Obj01 {top: 0%;left: -4%;max-width: 200px;}
	.JS .ObjWrapper .Obj02 {top: 44%;right: -2%; left: auto;max-width: 180px;}
	.JS .ObjWrapper .Obj03 {top: 1%;right: 1%; left: auto;max-width: 100px;}
	.JS .ObjWrapper .Obj04 {top: 2%;left: 40%;max-width: 140px;}
	.JS .ObjWrapper .Obj05 {top: 3%;left: 55%;max-width: 180px; z-index: 0;}
	.JS .ObjWrapper .Obj06,.JS .ObjWrapper .Obj07 {display: none;}
	.JS .ObjWrapper .Obj08 {bottom:5%;left: 0%;max-width: 180px;}
	.JS .ObjWrapper .Obj09 {bottom: -4%;left: 20%;max-width: 180px;}
	.JS .ObjWrapper .Obj10 {bottom: 0%;top:auto; right: 1%; left: auto;max-width: 240px;}
	.JS #slider .slick-current {
		transform: rotate(-15deg) translate(-144px, 15px);
	}
	.JS #slider .slick-current+.slick-active {
		transform: rotate(0deg) translate(0px, 0px);
	}
	.JS #slider .slick-current+.slick-active+.slick-active {
		transform: rotate(15deg) translate(144px, 15px);
	}
	.JS .Karuta span[class^=Karuta] {
		display: none;
	}
	.JS #Sec02 .Inner {
		flex-direction: column;
		padding: 0 0 1em;
	}
	.JS #Sec02 h2 {
		position: sticky;
		transform: rotate(0deg) translate(0,0);
		font-size: 12vw;
		padding: 0 0 .25em;
		text-align: center;
	}
	.JS #Sec02 h2 br {
		display: none;
	}
	.JS .TrackInner {
		justify-content: space-between;
	}
	.JS .TrackInner li {
		width: calc((100% / 4) - 3em);
		max-width: 100vw;
	}
	.JS #Sec02 .Plate {
		min-width: inherit;
		/*max-width: 90vw;*/
		padding: 2em 1em;
	}
	.JS .TrackInner {
		gap: 1em;
	}
	.JS .TrackInner li .Plate::before {
		content: none;
	}
	#Contents .TrackInner .Plate span.No {
		display: block;
		font-weight: bold;
		color: var(--green);
		border-bottom: 2px solid var(--green);
	}
	.JS [class^=slideControlsSub] {
		bottom: 0;
		height: auto;
		padding: 3em 3em 4.5em;
	}
	.JS [class^=slideThumbnailSub] {
		margin: 0 auto 2em;
	}
	.JS .Group li {
		width: calc((100% / 2) - 2em);
		max-width: inherit;
	}
	.JS #Sec03 .Sticky {
		flex-direction: column;
		padding: 1em;
	}
	.JS .Sticky .Navi {
		display: flex;
		background: var(--lgray);
	}
	.JS #Sec03 .Sticky .Contents {
		margin: auto;
	}
	.JS .PanelList {
		flex-direction: column;
	}
	.JS #Sec04 .ImgOnlyStyle img {
		height: auto;
		width: 100%;
	}
	.JS #Sec04 .Flex li {
		flex-direction: column;
	}
}

@media screen and (max-width: 767px) {
	.JS br.PC {
		display: none;
	}
	.JS br.RWD,
	.JS .RWD {
		display: block;
	}
	.JS body {
		overflow-x: hidden;
	}
	.JS #Contents h1 {
		font-size: 6vw;
	}
	.JS #Contents h1 span {
		font-size: 2em;
	}
	.JS #Sec03 .Sticky .Navi .Steps {
		display: none;
	}
	.JS .Section .Plate {
		padding: 3em;
	}
	.JS #Sec02 .Plate .Group {
			max-width: -webkit-fill-available;
	}
	.JS #Slide01,#Slide02,#Slide03,#Slide04 {
		min-height: 300px;
	}
	.JS .Slides .slick-slide {
		min-height: 280px;
	}
	.JS .KarutaBox {
		margin: 0 0 2em;
	}
	.JS #Sec03.Section .TextStyle1,
	.JS .Section .Plate .TextStyle1 {
		text-align: left;
	}
	.JS .Section .Plate .TextStyle1 br {
		display: none;
	}
	.JS #Sec03 .Sticky {
		width: 100%;
	}
	.JS #Sec03 .Sticky .SubSec {
		width: auto;
	}
	.JS #Sec03 .Sticky .SubSec li {
		padding: 2em;
	}
	.JS #Sec03 .Sticky .SubSec .ImgTxt {
		flex-direction: column;
		align-items: center;
		width: 100%;
		gap: 1em;
	}
	.JS #Sec03 .Sticky .SubSec:nth-of-type(odd) .ImgTxt {
		flex-direction: column-reverse;
	}
	.JS #Sec03 .Sticky .SubSec .ImgTxt li {
		padding: 1em;
		text-align: center;
	} 
	.JS #Sec03 .Sticky .SubSec .ImgTxt li .TextStyle1 br {
		/*display: none;*/
	}
	.JS .PanelList {
		flex-direction: column;
	}
	.JS .Gragh {
		margin: 1em;
		padding: 1em;
		width: auto;
	}
	.JS .Gragh .Purpose {
		flex-direction: column;
	}
	.JS .PurposeList li {
		gap: 1em;
	}
	.JS #Sec03 .Why {
		transform: translateY(0);
	}
	.JS .FlexBet .Fig {
		display: none;
	}
	.JS .Flex.Two {
		flex-direction: column;
	}
	.JS #Contents .PurposeList li span {
		word-break: keep-all;
	}
	.JS #Sec03 h3 {
		font-size: 2em;
	}
	.JS #Sec03 .List {
		margin: 0 0 0 1em;
	}
	.JS #Sec03 .List li {
		word-break: break-all;
		width: fit-content;
		list-style-position: outside;
	}
		.JS #Sec04 .ImgOnlyStyle img {
		height: auto;
		width: 100%;
	}
	.JS #Sec04 .Flex li {
		flex-direction: row;
	}
	.JS .CardContainer {
		gap: .5em;
	}
	.JS .Fuda .Card {
		width: calc((100% / 3) - .5em);
	}
	.JS .Fuda .CardInner,
	.JS .Fuda .Card p {
		width: 100%;
		min-height: 237px;
	}
}
@media screen and (max-width: 579px) {
	.JS .PageTitleStyle3 {
		background-color: var(--green);
	}
	.JS .PageTitleStyle3 .Inner {
		min-height: 78vh;
		height: auto;
	}
	.JS #Contents h1 {
		gap: .2em;
		margin: 0;
	}
	.JS #Sec01 h2 {
		font-size: 7vw;
	}
	.JS #Sec01 h3,
	.JS #Sec02 h3 {
		font-size: 6vw;
	}
	.JS .ObjWrapper .Obj02 {
		right: -15%;
	}
	.JS .ObjWrapper .Obj03 {
		top: -1%;
		right: -6%;
	}
	.JS .ObjWrapper .Obj10 {
		bottom: -5%;
		right: -6%;
	}
	.JS .ObjWrapper .Obj08 {
		bottom: 6%;
		left: -7%;
	}
		.JS .ObjWrapper .Obj09 {
		bottom: -8%;
		left: 20%;
		max-width: 150px;
	}

	.JS #Sec03 h2 {
		width: inherit;
	}
	.JS #Sec04 .ImgOnlyStyle img {
		height: auto;
		width: 100%;
	}
	.JS #Sec04 .Flex li {
		flex-direction: column;
	}
	.JS .Grid4.Fuda div.Section {
		padding: 4em 0;
	}
	.JS .Grid4.Fuda .Select {
		margin: auto auto 4em;
	}
	.JS #Contents .Grid4.Fuda .Select .LinkButton {
		font-size: 1.2em;
	}
	.JS .Fuda .CardInner {
		min-height: 150px;
	}
	.JS .Grid4.Fuda .Info {
	display: none;
	}
}
