@charset "utf-8";
/* base*/
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
body {
	background: url("img/body_back.webp");
	font-size: 1.6rem;
	font-family: "Noto Serif JP", serif;
	line-height: 2.2;
	letter-spacing: 0.08em;
	padding: 125px 0 0 0;
	margin: 0;
}
a, a img {
	transition: 0.3s ease-in-out;
}
a img:hover {
	opacity: 0.5;
}
.pc {
	display: inline-block;
	}
.sp {
	display: none;
	}
header {
	margin: 0 0 125px 0;
	padding: 0;
}
footer {
	background: rgba(200,200,200,0.2);
	padding: 80px 0;
	margin: 0;
}
#goTop {
	position: fixed;
	right:30px;
	bottom:30px;
	width: 50px;
	height:auto;
	z-index: 100;
  opacity: 0;
  visibility: hidden;
}
#goTop.is-stopped {
	position: absolute;
  bottom: auto;
}
#goTop img {width: 100%;}
#goTop.show-btn {
  opacity: 1;
  visibility: visible;
}

.wrapper {
	margin: 0 auto;
	max-width: 1140px;
	padding: 0 40px;
	text-align: center;
}
.wrapper p {
	margin-bottom:2em;
}
.lead {
	font-size: 1.25em;
}
.lead p {
	margin-bottom:1.4em;
}
.lead_img {
	margin: 44px auto;
	max-width: 600px;
}
.lead_img img {
	display: block;
	height: auto;
	width:100%;
}

h1 {
	font-size: 1.6rem;
	margin: 0;
	padding: 0;
}

h1 img {
	display: block;
	margin: 0 auto;
	width: 180px;
}
h2 {
	font-size: 200%;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.to_insta {
	border-top:solid 1px #000;
	border-bottom:solid 1px #000;
	margin:100px auto 125px auto;
	padding: 20px 0;
	width: 250px;
	transition: 0.2s ease-in-out;
}
.to_insta:hover {
	opacity: 0.5;
}
.to_insta img {
	display: block;
	margin: 0 auto;
	width:232px;
}

footer .content {
	font-size: 1.2rem;
	margin: 0 auto;
	text-align: center;
	width: 620px;
}
footer img {
	display: block;
}
footer img.logo {
	margin:0 auto 24px auto;
	width: 100px;
	height: auto;
}
footer p {
	margin: 0;
}
footer ul.banner {
	display: flex;
	flex: 1;
	justify-content: space-around;
	list-style: none;
	margin: 50px auto;
	padding: 0;
}
footer ul.banner li {
	display: block;
	list-style: none;
	text-align: center;
	width: 250px;
}
footer p.copy {
    font-size: 90%;
}

/* 要素が表示領域にはいったらフェードインする */
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(30px); /* 下に30pxずらす */
  }
  100% {
    opacity: 1;
    transform: translateY(0);    /* 元の位置に戻る */
  }
}

.fade-up,
.wrapper p {
  animation: fadeUp 1s ease forwards;
  animation-timeline: view(); /* 画面内に入ったタイミングで発火 */
  animation-range: entry 0% cover 50%; /* 画面の下端に入った時に開始 */
}



@media screen and (max-width:768px) {
body {
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: 0.04em;
	padding: 64px 0 0 0;
}
.pc {
		display: none;
	}
.sp {
	display: inline-block;
	}
header {
	margin: 0 0 64px 0;
	padding: 0;
}
footer {
	box-sizing: border-box;
	width: 100%;
	padding: 60px 0;
}
footer .content {
	margin: 0 auto;
	padding: 0;
	width: 85%;
}
footer ul.banner {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	justify-content:flex-start;
	gap:20px;
	list-style: none;
	margin: 50px auto;
	padding: 0;
	width: 250px;
}
footer ul.banner li {
	display: block;
	list-style: none;
	text-align: center;
	width: 250px;
}
	footer ul.banner li img {
		width: 100%;
	}
#goTop {
	right:10px;
	width: 40px;
}
h1 {
	font-size: 1.4rem;
}

h1 img {
	display: block;
	margin: 0 auto;
	width: 140px;
}
h2 {
	font-size: 170%;
	}
.wrapper {
	padding: 0;
	width: 90%;
}
.lead {
	font-size: 118%;
}
.to_insta {
	margin:72px auto 88px auto;
}
	
	
}

