﻿@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;800&display=swap');

 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
general
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

@media screen and (min-width:751px){
	.sp { display: none !important; }
}
@media screen and (max-width:750px){
	.pc { display: none !important; }
}

 /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
common
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
html, body {
	padding: 0;
	height: 100%;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: 0.03em;
	font-family: 'Noto Sans JP', sans-serif;
}
body { -webkit-text-size-adjust: 100%; }
a {
	color: #000;
	text-decoration	:none;
}
a:hover,
a:hover > img {
	opacity: .6;
}

#wrapper {
	font-family: "Noto Sans JP", sans-serif;
	font-style: normal;
	font-weight: 400;
	background: url(images/main_bg.jpg) no-repeat center top #fff;
	letter-spacing: 0;
}
#wrapper .fw-m { font-weight: 500; }
#wrapper .fw-b { font-weight: 700; }
.fp-inner {
	margin: 0 auto;
	padding: 0 30px;
	max-width: 1000px;
}
#mainText .fp-inner > .text {
	color: #006933;
	font-weight: 500;
}
#mainText .fp-inner > .text h1 {
	font-weight: 800;
}
@media screen and (min-width:751px){
	#wrapper {
		padding-top: 0;
		background-size: auto 700px;
	}
	#logo_hokuren {
		padding: 30px;
	}
	#logo_hokuren img {
		height: 30px;
	}
	#mainText {
		margin-top: 270px;
	}
	#logo_green {
		width: 170px;
	}
	#mainText .fp-inner > .text {
		font-size: 18px;
		line-height: 32px;
	}
	#mainText .fp-inner > .text h1 {
		font-size: 48px;
		line-height: 64px;
		margin-top: 50px;
		margin-bottom: 52px;
	}
	#mainText .fp-inner > .text > * + * {
		margin-top: 32px;
	}
}
@media screen and (min-width:2400px){
	#wrapper {
		background-size: 100% auto;
	}
}
@media screen and (max-width:750px){
	a:hover,
	a:hover > img {
		opacity: 1;
	}
	#wrapper {
		background-size: auto 490px;
	}
	#logo_hokuren {
		padding: 10px;
	}
	#logo_hokuren img {
		height: 20px;
	}
	#mainText {
		margin-top: 200px;
	}
	#logo_green {
		width: 100px;
	}
	#mainText .fp-inner > .text {
		line-height: 28px;
	}
	#mainText .fp-inner > .text h1 {
		font-size: 32px;
		line-height: 42px;
		margin-top: 30px;
	}
	#mainText .fp-inner > .text > * + * {
		margin-top: 28px;
	}
}

#morisaki {
	border-top: 1px solid #dcdcdc;
	border-bottom: 1px solid #dcdcdc;
}
#morisaki .title,
#morisaki .m-link a {
	color: #006933;
}
#morisaki .m-link a {
	display: flex;
	overflow: hidden;
	align-items: flex-end;
	justify-content: space-between;
}
#morisaki .m-link a::after {
	content: "＞";
	display: block;
}
#morisaki .text {
	color: #505050;
}
#morisaki .m-title::before {
	content: "";
	width: 35px;
	height: 25px;
	margin-right: 10px;
	margin-top: -2px;
	display: inline-block;
	vertical-align: middle;
	background: url(images/icon_youtube.svg) no-repeat center center;
	background-size: 100% 100%;
}
#morisaki figure img {
	max-width: 100%;
}
@media screen and (min-width:751px){
	#morisaki {
		display: flex;
		padding: 40px 0;
		margin-top: 145px;
	}
	#morisaki .title {
		font-size: 20px;
		margin-top: -0.3em;
	}
	#morisaki .text {
		margin-top: 8px;
		line-height: 28px;
	}
	#morisaki .movie {
		font-size: 16px;
		margin-top: 25px;
	}
	#morisaki .m-link {
		margin-top: 15px;
		display: inline-block;
	}
	#morisaki .m-link a::after {
		margin-left: 0.5em;
	}
	#morisaki figure {
		min-width: 400px;
		margin-right: 40px;
	}
}
@media screen and (max-width:750px){
	#morisaki {
		padding: 40px 0;
		margin-top: 100px;
	}
	#morisaki .title {
		font-size: 20px;
		margin-top: 20px;
	}
	#morisaki .text {
		line-height: 28px;
		margin-top: 5px;
	}
	#morisaki .movie {
		font-size: 16px;
		line-height: 28px;
	}
	#morisaki .m-title {
		margin-top: 25px;
	}
	#morisaki .m-link {
		margin-top: 15px;
	}
	#morisaki figure img {
		object-fit: cover;
		aspect-ratio: 21 / 15;
	}
}

#pickup {
	background: #fafaf5;
}
#pickup .block {
	border-bottom: 1px solid #00a33e;
}
#pickup .block:first-child {
	border-top: 1px solid #00a33e;
}
#pickup .block .title,
#pickup .block .subtitle {
	color: #006933;
}
#pickup .block .text {
	word-break: break-all;
}
#pickup .block .text,
#pickup .block figcaption {
	color: #00a33e;
}
#pickup .block.new figure {
	position: relative;
}
#pickup .block.new figure::before {
	content: "NEW";
	color: #fff;
	display: block;
	font-weight: 600;
	position: absolute;
	background: #006933;
	top: -10px;
	left: -10px;
	width: 50px;
	height: 50px;
	font-size: 12px;
	line-height: 50px;
	text-align: center;
	border-radius: 15px;
}
#pickup .block figure img {
	box-sizing: border-box;
}
#pickup .block figure.g_border > img {
	border: 1px solid #00a33e;
}
#pickup .link li {
	margin-top: 10px;
}
#pickup .link a {
	color: #fff;
	background: #6ec88c;
	display: flex;
	overflow: hidden;
	align-items: flex-end;
	justify-content: space-between;
	border-radius: 5px;
	padding: 6.5px 20px;
}
#pickup .link a::after {
	content: "＞";
}
@media screen and (min-width:751px){
	#pickup {
		margin-top: 150px;
		padding-top: 100px;
		padding-bottom: 200px;
	}
	#pickup .block {
		display: flex;
		padding: 45px 0;
	}
	#pickup .block .title {
		font-size: 20px;
		margin-top: -3px;
	}
	#pickup .block .subtitle {
		font-size: 16px;
		margin-top: 5px;
	}
	#pickup .block .text {
		margin-top: 20px;
		line-height: 28px;
	}
	#pickup .block figure {
		min-width: 400px;
		margin-right: 40px;
	}
	#pickup .block figcaption {
		margin-top: 15px;
		line-height: 24px;
	}
	#pickup .link {
		display: inline-block;
	}
	#pickup .link a:hover {
		opacity: 1;
		background: #006933;
	}
	#pickup .link a::after {
		margin-left: 0.5em;
	}
}
@media screen and (max-width:750px){
	#pickup {
		margin-top: 100px;
		padding-top: 100px;
		padding-bottom: 100px;
	}
	#pickup .block {
		padding: 50px 0;
	}
	#pickup .block .title {
		font-size: 20px;
		margin-top: 30px;
	}
	#pickup .block .subtitle {
		font-size: 16px;
		margin-top: 5px;
	}
	#pickup .block .text {
		line-height: 28px;
		margin-top: 20px;
	}
	#pickup .block figcaption {
		line-height: 24px;
		margin-top: 15px;
	}
	#pickup .link {
		margin-top: 25px;
	}
}

#fp_footer {
	padding: 50px;
	text-align: center;
	background: #006933;
}
#fp_footer img {
	vertical-align: top;
}
@media screen and (min-width:751px){
	#fp_footer img {
		width: 120px;
	}
}
@media screen and (max-width:750px){
	#fp_footer img {
		width: 150px;
	}
}