@charset 'UTF-8';
/**
 *
 * common.css
 *
 *
 */
/* -----------------------------------------------------------
 base
----------------------------------------------------------- */
*,
*::before,
*::after{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

img{
	max-width: 100%;
	vertical-align: bottom;
}

body{
	font-family: "FOT-筑紫A丸ゴシック Std R";
	font-feature-settings: 'palt' 1;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-rendering: geometricPrecision;
	text-decoration-thickness: 1px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0.2);
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: none;
}

body *{
	line-height: 1.8;
	letter-spacing: 0.1em;
}


/* -----------------------------------------------------------
 home-main
----------------------------------------------------------- */
.home-main{
	position: relative;
	display: flex;
	flex-direction: column;
	align-content: center;
	justify-content: center;
	gap: 20px;
	height: max(700px,var(--wh));
	text-align: center;
	padding: 20px 20px 100px;
	font-size: 16px;
}

.home-main h1{
	font-family: "FOT-筑紫A丸ゴシック Std D";
	font-size: 300%;
	letter-spacing: 0.2em;
}

.home-main h2{
	color: #333333;
	font-family: "FOT-筑紫A丸ゴシック Std D";
	font-size: 150%;
	letter-spacing: 0.2em;
}

.home-main p{
	color: #333333;
	font-size: 100%;
}

.u-ib{
	display: inline-block;
}

.home-main ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	list-style-type: none;
}

.home-main ul a{
	position: relative;
	z-index: 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	border-radius: 100px;
	text-decoration: none;
	color: #ffffff;
	padding: 0.5em 2em;
}

.home-main ul a:hover::before{
	opacity: 1;
}
.home-main ul a:hover .material-symbols-outlined{
	transform: translateX(0.2em);
}

.home-main ul a::before{
	content:  '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	background-color: rgba(0,0,0,.15);
	opacity: 0;
	transition: opacity 300ms ease;
}

a[href*="facebook"]{
	background-color: #1d6fbf;
}

a[href*="mailto"]{
	background-color: #14aebf;
}

.material-symbols-outlined{
	margin-left: 0.2em;
	font-weight: 200;
	transition: transform 300ms ease;
}


@media screen and ( max-width: 768px ){
	.home-main{
		height: max(500px,var(--wh));
		font-size: 13px;
	}
}
@media screen and ( max-width: 320px ){
	.home-main{
		font-size: 11px;
	}
}




/* -----------------------------------------------------------
 home-illust
----------------------------------------------------------- */
.home-illust{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	overflow: hidden;
	padding-top: 100px;
}

.home-illust div{
	width: 200px;
	transform: translate3d(-100%,0,0);
	animation: illust-move 20000ms linear infinite;
	animation-delay: -30000ms;
}

.home-illust img{
	transform-origin: 0 100%;
	animation: illust-bowing 1000ms steps(1) infinite;
}

@keyframes illust-move{
	0% { transform: translate3d(-100%,0,0); }
	100% { transform: translate3d( 100vw ,0,0); }
}
@keyframes illust-bowing{
	0%,100% { transform: rotate(-1deg) }
	50% { transform: rotate(0deg) }
}

@media screen and ( max-width: 768px ){
	.home-illust div{
		width: 140px;
		animation: illust-move 10000ms linear infinite;
	animation-delay: -3000ms;
	}
}
@media screen and ( max-width: 320px ){
	.home-illust div{
		width: 100px;
	}
}









