@charset "UTF-8";
/* CSS Document */
/* ----------------------------------------
 	reset
 ---------------------------------------- */
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, a, img, dl, dt, dd, ol, ul, li, strong, sub, sup, i, small, address, time, fieldset, form, label, legend, hr, table, caption, tbody, tfoot, thead, tr, th, td, header, footer, nav, section, article, aside, figure, figcaption, canvas, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-size: 100%;
}
article, aside, figure, figcaption, footer, header, nav, section {
	display: block;
}
html {
	scroll-behavior: smooth;
}
html, body {
	width: 100%;
	font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
}
ul, ol, li {
	list-style: none;
}
body {
background:
	radial-gradient(circle at bottom, #fff, transparent 70%),
	linear-gradient(to top, dodgerblue 0%, transparent 50%),
	linear-gradient(to bottom, transparent, rgba(#fff, 0.3) 70%), #dbe4ee;
	animation: bg 30s infinite;
}

@keyframes bg {
	0%, 100% { background-color: #dbe4ee; }
	25% { background-color: #e6f1e7; }
	50% { background-color: #eae9de; }
	75% { background-color: #ebe0e6; }
}

/* ----------------------------------------
   common
 ---------------------------------------- */
.contantsframe-middle {
	width:800px;
	margin:auto;
	padding:0;
}
.pc-flex {
	display:flex;
}
@media only screen and (max-width: 768px) {
	.contantsframe-middle {
		width:100vw;
		padding:0;
	}
	.pc-flex {
		display:block;
	}
}
@media screen and (max-width: 768px) {
img {
    max-width: 100%;
}
}
.pc {
    display: block !important;
}
.sp {
    display: none !important;
}
@media only screen and (max-width: 768px) {
.pc {
    display: none !important;
}
.sp {
    display: block !important;
}
}
@media screen and (min-width: 768px) {
.br-pc {
	display: block;
}
.br-sp {
	display: none;
}
}
@media screen and (max-width: 768px) {
.br-pc {
	display: none;
}
.br-sp {
	display: block;
}
}
hr.hr-small {
	border:none;
	margin-top:16px;
	padding:0;
}
hr.hr-middle {
	border:none;
	margin-top:80px;
	padding:0;
}
hr.hr-large {
	border:none;
	margin-top:160px;
	padding:0;
}
@media only screen and (max-width: 768px) {
	hr.hr-small {
		border:none;
		margin-top:20px;
		padding:0;
	}
	hr.hr-middle {
		border:none;
		margin-top:64px;
		padding:0;
	}
	hr.hr-large {
		border:none;
		margin-top:80px;
		padding:0;
	}
}
/**
 * --------------------------------------------------
 * header
 * --------------------------------------------------
 */
header {
	width:100%;
	margin:auto;
	padding:0;
	text-align:center;
}
header img {
	width:560px;
	margin:32px auto 0 auto;
}
@media only screen and (max-width: 768px) {
header {
	width:100vw;
}
header img {
	width:72vw;
	margin:2vw auto 0 auto;
}
}
/**
 * --------------------------------------------------
 * MainVisual
 * --------------------------------------------------
 */
#main-visual {
	width: 100%;
	position:relative;
	padding:48px 0 0 0;
}
#main-visual h1,p {
	text-align:center;
}
#main-visual h1 {
	margin:0;
	padding:0;
}
#main-visual h1 img {
	width:800px;
}
#main-visual p {
	color:#1b4332;
	padding:0.5em 2em;
	margin:2em 0 0 0;
}
@media only screen and (max-width: 768px) {
	#main-visual {
		width: 100vw;
		padding:24px 0 0 0;
	}
	#main-visual h1 img {
		width:100vw;
	}
}
/**
 * --------------------------------------------------
 * Basic Style
 * --------------------------------------------------
 */
h1 {
	display:block;
	color:#1b4332;
	font-size:52px;
	line-height:1.4em;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 700;
	font-style: normal;
}
h1 span {
	display:block;
	color:#1b4332;
	font-weight: 500;
	font-size:18px;
	line-height:1.4em;
	margin-top:2em;
}
h2 {
	display:block;
	color:#1b4332;
	font-size:40px;
	line-height:1.1em;
	font-family: "Crimson Pro", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
	text-align:center;
}
h2 span {
	display:block;
	color:#575b60;
	font-size:14px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 300;
	font-style: normal;
}
h3 {
	color:#1b4332;
	font-size:24px;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}
p, ul, li, dl {
	font-size:16px;
	line-height:1.86em;
	color:#575b60;
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
}
@media only screen and (max-width: 768px) {
	h1 {
		font-size:8.4vw;
	}
	h1 span {
		font-size:4vw;
	}
	h2 {
		font-size:8vw;
	}
	h2 span {
		font-size:4vw;
	}
	h3 {
		font-size:5vw;
	}
	p, ul, li, dl {
		font-size:14px;
	}
}
/**
 * --------------------------------------------------
 * message
 * --------------------------------------------------
 */
.member-content {
	padding:40px 0;
}
.member-item {
	display:flex;
	align-items: flex-start;
	padding:0 0 48px 0;
	text-align:left;
}
.member-item img {
	width:200px;
	padding:0 24px 0 0;
	margin:0 auto;
}
.member-item ul {
	margin:1em 0 0 1em;
	text-align:left;
}
.member-item li {
	list-style:disc;
}
@media only screen and (max-width: 768px) {
	.member-content {
		padding:0;
	}
	.member-item {
		display:block;
		width:88vw;
		margin:8vw auto 0 auto;
		padding:6vw 0;
		text-align:center;
	}
	.member-item img {
		width:120px;
		padding:0 0 4vw 0;
	}
}
/**
 * --------------------------------------------------
 * company
 * --------------------------------------------------
 */
#company h2 {
}
#company dl {
	display: flex;
	flex-wrap: wrap;
	margin:40px auto 32px auto;
}
#company dt {
	width:20%;
	padding:1.5em 0 0.3em 0;
	border-bottom:dotted 1px #ccc;
}
#company dd {
	width:80%;
	padding:1.5em 0 0.3em 0;
	border-bottom:dotted 1px #ccc;
}
#company .company-map {
	width:100%;
	height:396px;
	margin:0 auto 40px auto;
}
@media only screen and (max-width: 768px) {
	#company dl {
		margin:6vw 6vw 3vw 6vw;
	}
	#company dt {
		width:22%;
	}
	#company dd {
		width:78%;
	}
	#company .company-map {
		width:88vw;
		height:64vw;
		margin:0 auto 6vw auto;
	}
}
/**
 * --------------------------------------------------
 * page top
 * --------------------------------------------------
 */
.pagetop {
	position:fixed;
	bottom:16px;
	right:16px;
	background:#1b4332;
	width:64px;
	height:64px;
	border-radius:3px;
	box-shadow: 0px 2px 8px 2px rgba(0, 0, 0, 0.16);
	transition: .3s;
}
.pagetop img {
	width:16px;
	padding:21px 24px;
}
.pagetop:hover {
	transform: translateY(-6px);
	background:#555;
}
@media only screen and (max-width: 768px) {
	.pagetop {
		bottom:1vw;
		right:1vw;
		width:32px;
		height:32px;
		border-radius:2px;
	}
	.pagetop img {
		width:8px;
		padding:10px 12px;
	}
}
/**
 * --------------------------------------------------
 * footer
 * --------------------------------------------------
 */
footer {
	width:100%;
	text-align:center;
}
footer .footer-contents {
	margin:0 ;
}
footer p {
	font-size:12px;
	line-height:1.6em;
	padding:0;
}
@media only screen and (max-width: 768px) {
	footer{
		width:100vw;
	}
	footer p {
		font-size:10px;
		padding:6vw 0 6vw 6vw;
	}
}
