@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@900&family=Zen+Kaku+Gothic+Antique:wght@400;500;700;900&display=swap');

/* reset */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light}@supports not (min-block-size:100dvb){:where(html){block-size:100%}}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:1.8;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input:disabled)){cursor:not-allowed}:where(button){border-style:solid}:where(a){text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word;font-weight: 400;}:where(h1,h2,h3){line-height:calc(1em + 1rem)}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(:focus-visible){outline:2px solid var(--focus-color,Highlight);outline-offset:2px}:where(.visually-hidden:not(:focus,:active,:focus-within,.not-visually-hidden)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important}

/* --------------------
   COMMON
-------------------- */
* { transition: .25s all;}
:where(html){ color-scheme: #fff;}
:root {
  --main-gray:#F5F7F5;
  --main-black:#100F10;
  --main-green:#00CC18;
  --main-blue:#00B4CC;
  --main-pink:#E66F89;}
html{
  background: #fff;
  scroll-behavior: smooth;
  font-size: 100%;
  overflow-x: hidden;}
body{
  margin: 0;
  padding: 0;
  font-family: "Zen Kaku Gothic Antique", sans-serif;
  font-weight: 500;
  color: #000;
  background: #F5F7F5;
  font-size: 100%;
  letter-spacing: 0.05em;
  -webkit-font-smoothing: antialiased;}
a {
  color: #00CC18;
  display: block;
  text-decoration: none;}

/* weight */
.txw-r { font-weight: 400;}
.txw-m { font-weight: 500;}
.txw-b { font-weight: 700;}
.txw-l { font-weight: 900;}

.l-1 { line-height: 1;}
.l-12 { line-height: 1.2;}
.l-15 { line-height: 1.5;}
.l-16 { line-height: 1.6;}
.l-18 { line-height: 1.8;}
.l-2 { line-height: 2;}

.center { text-align: center;}
.right { text-align: right;}

.pc-center { text-align: center;}
.pc-right { text-align: right;}

.txs-12 { font-size: 0.75rem; }
.txs-13 { font-size: 0.8125rem; }
.txs-14 { font-size: 0.875rem; }
.txs-15 { font-size: 0.9375rem; }
.txs-16 { font-size: 1rem; }
.txs-18 { font-size: 1.125rem; }
.txs-20 { font-size: 1.25rem; }
.txs-22 { font-size: 1.375rem; }
.txs-24 { font-size: 1.5rem; }
.txs-26 { font-size: 1.625rem; }
.txs-28 { font-size: 1.75rem; }
.txs-30 { font-size: 1.875rem; }
.txs-32 { font-size: 2rem; }
.txs-41 { font-size: 2.5625rem; }
.txs-44 { font-size: 2.75rem; }
.txs-50 { font-size: 3.125rem; }
.txs-62 { font-size: 3.875rem; }
.txs-64 { font-size: 4rem; }
.txs-67 { font-size: 4.1875rem; }
.txs-120 { font-size: 7.5rem; }

@media screen and (max-width: 1080px){
  .txs-64 { font-size: 3.875rem; }
  .txs-67 { font-size: 3.75rem; }
  .txs-120 { font-size: 6.5rem; }}

@media screen and (max-width: 768px){
  .txs-12, .txs-13, .txs-14, .txs-15 { font-size: 0.8rem;}
  .txs-18, .txs-20, .txs-22 { font-size: 1.125rem;}
  .txs-24, .txs-26, .txs-28, .txs-30 { font-size: 1.25rem;}
  .txs-32, .txs-41, .txs-44 { font-size: 1.4rem;}
  .txs-50 { font-size: 1.6rem;}
  .txs-62 { font-size: 1.75rem;}
  .txs-64 { font-size: 1.4rem;}
  .txs-67 { font-size: 1.5rem;}
  .txs-120 { font-size: 2rem;}
  .pc-center { text-align: left;}
  .pc-right { text-align: left;}}

p { font-size: 1rem; font-weight: 500;}

.en {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-style: normal;}

.clr1 { color: var(--main-black);}
.clr2 { color: var(--main-green);}
.clr3 { color: var(--main-blue);}
.clr4 { color: var(--main-pink);}

.grada {
  background: linear-gradient(90deg, #0099F5 0%, #00F50C 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;}

/* --------------------
   ANIMATION
-------------------- */
.fade {
	opacity: 0;
	transition-duration: 1s;
	transition-property: opacity, transform;
	transform: translate(0, 50px);}
.is-scrollIn {
  opacity: 1;
	transform: translate(0, 0);}

/* --------------------
   ALL PARTS
-------------------- */
.wrap {
  padding: 0;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;}
.content {
  margin: 0 auto;
  padding: 0;
  width: 100%;
  max-width: 1080px;}

.pc { display: block;}
.pcd { display: block;}
.pd { display: none;}
.pdsp { display: none;}
.sp { display: none;}

@media screen and (max-width: 1080px){
  body { width: 100%; overflow: hidden;}
  .wrap { padding: 0 4vw;}
  .content { padding: 0 4vw;}}

@media screen and (max-width: 768px){
  .pc { display: none;}
  .pcd { display: block;}
  .pd { display: block;}
  .pdsp { display: block;}
  .sp { display: none;}}

@media screen and (max-width: 480px){
  .pc { display: none;}
  .pcd { display: none;}
  .pd { display: none;}
  .pdsp { display: block;}
  .sp { display: block;}}

a.more {
  margin: 0 auto;
  max-width:480px;
  height: 80px;
  border-radius: 40px;
  color: #fff;
  line-height: 80px;
  text-align: center;
  background: linear-gradient(90deg, #0099F5 0%, #00F50C 100%);}

/* --------------------
   NAVI
-------------------- */
#header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  justify-content: space-between;
  z-index: 24;}
#header h1 { padding: 50px 0 0 60px;}
#main-nav .btn_area a {
  font-size: 14px;
  padding-top: 52px;
  text-align: center;
  background: #100F10;
  width: 160px;
  height: 90px;}
#main-nav .btn_area a.tour {
  background: url("../images/common/icon-header-1.png") no-repeat center top 18px #100F10;
  background-size: 32px auto;}
#main-nav .btn_area a.entry {
  background: url("../images/common/icon-header-2.png") no-repeat center top 18px #00CC18;
  background-size: 34px auto;}
@media screen and (min-width: 1080px){
	#main-nav a {
		font-size: 12px;
		font-weight: 700;
		color: #fff;}
	#main-nav .inner { display: flex;}
	#main-nav .inner ul {
		padding-top: 50px;
		padding-right: 40px;
		gap:30px;
		display: flex;}
	#main-nav .btn_area { display: flex;}
	.menu-button { display: none;}}
@media screen and (max-width: 1080px){
	.menu-button {
		padding-top: 10px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		background: #F5F7F5;
		width: 80px;
		height: 80px;
		border-radius: 0 0 0 10px;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 1001;}
	.menu-button span {
		display: block;
		width: 30px;
		height: 3px;
		background-color: #333;
		margin: 2px 0;
		border-radius: 2px;
		transition: 0.3s ease;}
	.menu-button p {
		font-size: 12px;
		font-weight: bold;
		color: #333;
		letter-spacing: 1px;}
	.menu-button.active span:nth-child(1) { transform: translateY(7px) rotate(45deg);}
	.menu-button.active span:nth-child(2) { opacity: 0;}
	.menu-button.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg);}
	#main-nav {
		position: fixed;
		box-shadow: 0 0 10px rgba(0,0,0,0.1);
		top: 0;
		right: -100%;
		height: 100%;
		background: #F5F7F5;
		overflow-y: scroll;
		transition: right 0.3s ease;
		z-index: 1000;}
	#main-nav.active { right: 0;}
	#main-nav .inner { padding: 120px 8vw;}
	#main-nav a {
		margin-bottom: 10px;
		color: #100F10;
		text-align: center;}
	#main-nav .btn_area { padding-top: 20px;}
	#main-nav .btn_area a {
		border-radius: 5px;
		width: 100%; min-width: 160px;}
	#main-nav .btn_area a.tour { color: #00CC18;}
	#main-nav .btn_area a.entry { color: #fff;}}
@media screen and (max-width: 768px){
	#header h1 { padding: 30px 0 0 20px;}}

/* --------------------
   LAST LINK
-------------------- */
.lastlink .flex {
	margin-top: 70px;
	padding: 20px;
	gap:20px;
	display: flex;}
.lastlink .flex a {
	color: #fff;
	width: 100%;}
.lastlink .item {
	padding: 74px 60px 0;
	border-radius: 20px;
	height: 280px;}
.lastlink .tour { background: url("../images/common/last-back.jpg") repeat center center;}
.lastlink .ent {
	background: url("../images/common/last-back2.jpg") no-repeat right top #00CC18;
	background-size: 222px auto;}
.lastlink h2 { margin-bottom: 15px;}
.lastlink .ent h2 span { color: #F5FF00;}
.lastlink p span {
	display: inline-block;
	background: #fff;
	line-height: 30px;
	padding: 0 20px;
	margin-right: 5px;
	border-radius: 15px;}
@media screen and (max-width: 1080px){
	.lastlink p span { margin-bottom: 5px;}
	.lastlink .flex { flex-wrap: wrap;padding: 0;}}
@media screen and (max-width: 768px){
  .lastlink .flex { margin-top: 40px;}
	.lastlink .item {
    padding:30px;
    height: auto;}
  .lastlink .item h2 { font-size: 20px;line-height: 1.5;}
  .lastlink .ent { background-size: 160px auto;padding: 50px 30px 30px;}}

/* --------------------
   FOOTER
-------------------- */
#footer {
	padding-bottom: 40px;
	border-radius: 60px 60px 0 0;
	background: #333333;}
.top {
	height: 80px;
	position: relative;}
.top .dli-arrow-up::before {
  content: '';
  width: 18px;
  height: 18px;
  border: 2px solid #00CC18;
  border-left: 0;
  border-bottom: 0;
  transform: rotate(-45deg);
  transform-origin: top right;
  position: absolute;
  top: 45px;
	right: 50%;}
#footer .lastlink .flex { margin-top:0;}
#ftnav { padding: 40px 60px;}
#ftnav .flex {
	padding: 20px 10px;
	display: flex;
	justify-content: space-between;
	border-top:1px solid #464646;
	border-bottom:1px solid #464646;}
#ftnav .flex a { color: #fff;}
#ftnav .flex ul {
	display: flex;
	gap:10px 30px;}
#ftinfo { padding: 0 60px;}
#ftinfo p { color: #fff;}
#ftinfo .flex {
	display: flex;
	align-items: baseline;
	justify-content: space-between;}
#ftinfo .left {
	align-items: flex-end;
	display: flex;}
#ftinfo .left p {
	margin-left: 40px;
	padding-left: 40px;
	border-left: 1px solid #464646;
	line-height: 1.2;}
@media screen and (max-width: 1080px){
	#ftnav .flex ul { flex-wrap: wrap; justify-content: center;}}
@media screen and (max-width: 768px){
	#footer { border-radius: 30px 30px 0 0;}
	.top .dli-arrow-up::before { top: 35px;}
	#ftnav { padding: 8vw;}
	#ftinfo { padding: 0 8vw;}
	#ftinfo .left { display: block;align-items:center;}
	#ftinfo .left img {margin: 0 auto 20px;}
	#ftinfo .left p { padding: 0;margin: 0;border: none;text-align: center;}
	#ftnav .flex { display: block;}
	#ftnav .flex .en { padding-top: 10px; text-align: center;}
	#ftinfo .flex { flex-wrap: wrap; justify-content: center;gap:30px;}}
