@charset "UTF-8";
/************************************************************
 * reset
 ************************************************************/
*, *::before, *::after{
  box-sizing: border-box;
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video{
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}
a{
	margin: 0;
	padding: 0;
	font-size: 100%;
	text-decoration: none;
	vertical-align: baseline;
	background: transparent;
	word-break: break-all;
	color: #32312E;
}
a, img{
	border: none;
	vertical-align: top;
}
table{
	border-collapse: collapse;
	border-spacing: 0;
}
body{
	line-height: 1.2;
	-webkit-text-size-adjust: none;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{
	display: block;
}
li{
	list-style: none;
}
ul, ol, li{
	list-style-position: outside;
	vertical-align: bottom;
}
/* clearfix */
/************************************************************
 * common style
 ************************************************************/
html{
	font-size: 62.5%;
}
html, body{
	overflow-x: hidden;
}
img{
	width:100%;
}
.pc{ display: none !important; }
.sp{ display: block !important; }

@media (min-width: 751px){
  .pc{ display: block !important; }
  .sp{ display: none !important; }
}
/************************************************************
 * base style
 ************************************************************/
body{
	width: 100%;
	background: #fff;
	font-family: "Inter", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
	font-weight: 400!important;
	color: #333333;
	font-size: 1.6rem;
	line-height: 1.6;
	box-sizing: border-box;
	position: relative;
}
@media (max-width: 750px){
	body{
		font-size: 1.6rem;
		line-height: 1.6;
	}
}
.f-small{
	font-size: 80%!important;
}
.f-large{
	font-size: 120%!important;
}
.alignleft{
	text-align: left;
}
.alignright{
	text-align: right;
}
.aligncenter{
	text-align: center;
}
.bold{
	font-weight: 600;
}
.c-gr{
	color: #45a6af;
}
/* flex */
@media (min-width: 751px){
	.dispflex{
		display: flex;
	}
	.dispflex.rev{
		-webkit-flex-direction: row-reverse;
		    -ms-flex-direction: row-reverse;
		        flex-direction: row-reverse;
	}
}
.dispinblock{
	display: inline-block;
}
/* layout */
.inner{
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
/* hover */
@media (min-width: 1059px){
	.inner{
		width: 100%;
		max-width: 1060px;
	}
}
/* hover */
@media (min-width: 751px){
	.hov{
		-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
		-webkit-transition: .3s ease-in;
		-moz-transition: .3s ease-in;
		-ms-transition: .3s ease-in;
		transition: .3s ease-in;
		opacity: 1;
		filter: alpha(opacity=100);
	}
	.hov:hover{
		filter: alpha(opacity=70);
		opacity: .7;
		text-decoration: none;
		cursor: pointer!important;
	}
	.hov:hover a{
		text-decoration: none;
	}
	#global-nav .btn-area{
		gap: 15px;
	}
	#global-nav .btn-area a{
		margin-bottom: 0;
		width: 300px;
	}
}
/* margin */
.mb1{
	margin-bottom: 1rem;
}
.mb2{
	margin-bottom: 2rem;
}
.mb3{
	margin-bottom: 4rem;
}
/*PC*/
@media (min-width: 751px){
	.mb1{
		margin-bottom: 1.5rem;
	}
	.mb2{
		margin-bottom: 3rem;
	}
	.mb3{
		margin-bottom: 5rem;
	}
}

/* fade-anime */
.fade{
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 1.5s, transform 1s;
}
.fade.active{
	opacity: 1;
	transform: translateY(0px);
}
/*********************************	header *********************************/

header{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	padding: 2rem 0;
	z-index: 2;
}
header .logo{
	width: calc(216 / 750 * 100vw);
	max-width: 162px;
	height: auto;
}

/* pc */
@media screen and (min-width: 768px) {
	header{
		position: absolute;
	}
}

/*********************************	navigation *********************************/

#global-nav {
	position: fixed;
	top: 0;
	left: 0;
	opacity: 0;
	visibility: hidden;
	background: url(../img/sp-menu-bg.jpg) no-repeat 50% 50%;
	background-size: cover;
	width: 100%;
	height: 100%;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	z-index: 999999;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 10%;
}
header #global-nav .logo{
	width: calc(270 / 750 * 100vw);
	height: auto;
	margin-bottom: 3rem;
}
#global-nav ul li {
	margin: 2rem 0;
}
#global-nav ul li a{
	color: #FFF;
	font-size: 3.2rem;
	font-weight: 400;
	letter-spacing: .05em;
}
/*********************************	nav-toggle *********************************/
#nav-toggle {
	display: block;
	position: fixed;
	right: 5%;
	top: 3%;
	width: 36px;
	height: 36px;
	cursor: pointer;
	z-index: 9999999;
}
#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 1px;
	width: 100%;
	background: #222;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 11px;
}
#nav-toggle span:nth-child(3) {
	top: 22px;
}
.open #nav-toggle span:nth-child(1) {
	top: 11px;
	-webkit-transform: rotate(315deg);
	-moz-transform: rotate(315deg);
	transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3) {
	top: 11px;
	-webkit-transform: rotate(-315deg);
	-moz-transform: rotate(-315deg);
	transform: rotate(-315deg);
}
.open #global-nav {
	width: 100%;
	-webkit-transition: all .5s;
	transition: all .5s;
	visibility: visible;
	opacity: 1;
}
.open #nav-toggle span{
	background-color: #fff;
}
body.fixed{
	position: fixed;
	overflow: hidden;
}
/* pc */
@media screen and (min-width: 768px) {
	header{
		padding: 3rem;
	}
	header .dispflex{
		align-items: center;
		justify-content: space-between;
	}
	header .logo{
		width: 250px;
		height: auto;
	}
	#nav-toggle {
		display: none;
	}
	#navArea{
		width: calc( 100% - 250px);
	}
	#global-nav {
		position: static;
		opacity: 1;
		visibility: visible;
		background: none;
		transition: none;
		display: flex;
		flex-direction: row;
		justify-content: flex-end;
		align-items: center;
		text-align: right;
		padding: 0;
	}
	#global-nav ul{
		display: flex;
		-webkit-align-items: center;
		        align-items: center;
		gap: 0 4rem;
	}
	#global-nav ul li a {
		color: #fff;
		font-weight: 500;
		position: relative;
		display: block;
		font-size: 2rem;
		transition: .2s ease-in;
		line-height: 1.2;
		text-align: center;
	}
	#global-nav ul li a::after {
		background: #fff;
		position: absolute;
		bottom: -2rem;
		left: 0;
		content: '';
		width: 100%;
		height: 2px;
		transform: scale(0, 1);
		transform-origin: left top;
		transition: .2s cubic-bezier(0.45, 0, 0.55, 1);
		display: block;
	}
	#global-nav ul li a:hover{
		color: #fff;
		transition: .2s ease-in;
	}
	#global-nav ul li a:hover::after {
	  transform: scale(1, 1);
	}
	header.fixed,
	body.page header.fixed{
		position: fixed;
		padding: 1rem;
		background: rgba(255,255,255,0.9);
		-webkit-transition: all .1s;
		transition: all .1s;
		z-index: 999;
	}
	header.fixed #global-nav ul li a::after {
		bottom: -2.7rem;
	}
}


/* ===============================================
# title
=============================================== */
.title {
	--_duration: 1.5s;
	--_delay: 0.5s;
}
.title__en {
	font-size: calc(110 / 750 * 100vw);
	font-weight: 600;
	line-height: 1.2;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	background-position: 100% 50%;
	transition: background-position var(--_duration) ease;
	background-size: 400% 100%;
	background-image: linear-gradient(110deg, var(--theme-main-text) 0%, var(--theme-main-text) 25%, #3fa3ae 35%, #72bcb8, #b9dfc6 65%, transparent 75%);
	color: transparent;
}
.title--grad .title__en {
	background-image: linear-gradient(90deg, #b9dfc6 0%, #3fa3ae 25%, #b9dfc6 35%, #72bcb8, #3fa3ae 65%, transparent 75%);
}
.title--white .title__en {
	background-image: linear-gradient(90deg, #fff 0%, #fff 25%, #b9dfc6 35%, #72bcb8, #3fa3ae 65%, transparent 75%);
}
/* animation */
.title.is-visible .title__en {
	background-position: 0% 50%;
}
@media screen and (min-width: 768px) {
	.title__en {
		font-size: 10rem;
	}
}

/* bnr-area
========================= */
#bnr-area{
	position: inherit;
	z-index: -1;
}
#bnr-area .bnr-rec{
	margin-bottom: 2rem;
}

/*PC*/
@media (min-width: 751px){
	#bnr-area.inner{
		max-width: 90%;
		gap: 20px;
	}
	#bnr-area .bnr-rec{
		margin-bottom: 2rem;
	}
}

/* foot
========================= */
footer{
	padding: 5rem 0;
}
footer .logo{
	width: 108px;
	margin-left: auto;
	margin-right: auto;
}
.foot-nav{
	text-align: center;
}
.foot-nav li{
	display: inline-block;
	margin: 0 1rem;
	font-size: 1.4rem;
}
footer .copy{
	text-align: center;
	opacity: 0.75;
	font-size: 1.2rem;
}
@media (min-width: 751px){
	footer{
		padding: 6rem 0;
	}
	footer .dispflex{
		-webkit-justify-content: space-between;
		        justify-content: space-between;
		-webkit-align-items: flex-end;
		        align-items: flex-end;
	}
	footer .left{
		text-align: left;
		margin-bottom: 0;
	}
	footer .right{
		text-align: right;
	}
	footer .logo{
		width: 162px;
		margin-left: 0;
	}
	.foot-nav li{
		display: inline-block;
		margin-left: 0;
		margin-right: 1.5rem;
		font-size: 2rem;
	}
}
