@charset "UTF-8";
/* Reset css */
/* ============================================ */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border-style: solid;
  border-width: 0;
  min-width: 0;
}

html {
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  font-family: system-ui, -apple-system, sans-serif;
}
img {
  max-width: 100%;
  display: block;
}

a {
  text-decoration: none;
  color: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}
ul,
ol {
  list-style: none;
}

dt {
  font-weight: var(--font-bold);
}

b,
strong {
  font-weight: var(--font-bold);
}

table {
  border-color: inherit;
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
}

th {
  text-align: left;
  font-weight: var(--font-bold);
}

/* Break point */
/* ============================================ */

.pc {
	display:block;
}
.sp {
	display:none;
}
@media (max-width: 768px) {
	.pc {
		display:none;
	}
	.sp {
		display:block;
	}
}


/* Main css */
/* ============================================ */

body {
	background-color:#FFF;
  font-family: "Shin Go Regular", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size:16px;
}
@media (max-width: 768px) {
	body {
		font-size:14px;
	}
}
.container {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
}

header {
	width:100%;
	padding:1em;
	color:#fff;
	text-align:center;
}
header h1 img {
	display:inline-block;
	vertical-align:middle;
	height:1.8em;
	margin:1em;
}
@media (max-width: 768px) {
	header h1 {
		font-size:1.1em;
		line-height:1.2;
	}
	header h1 img {
		display:block;
		margin:1em auto 0.5em;
	}
}

footer {
	width:100%;
	background:#4a543c;
	padding:2em 2em 1em;
	color:#fff;
	text-align:right;
}
footer .copy {
	font-size:0.8em;
}
@media (max-width: 768px) {
	footer .copy {
		font-size:0.65em;
	}
}
main {
	width:100%;
	margin:0 auto 0;
}
@media (max-width: 768px) {
	main {
		padding: 0;
	}
}

main section {

}
main section h2 {
	font-family:"A1 Mincho",serif;
	font-size:2.4em;
	text-align:center;
}

main section#title {
	/*
	background:url(../images/bg.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position:center;
	*/
	display:table;
	width:100%;
	position:relative;
	height:40vh;
	min-height:15em;
	vertical-align: middle;
	margin:auto;
	border-bottom:#4a543c 4px solid;
}
main section#title #lottie {
	position:absolute;
	top:0;
	width:100%;
	height:100%
}
main section#title #lottie svg {
	    object-fit: cover;
}
main section#title h2 {
	position:relative;
	width:100%;
	height:auto;
	vertical-align:middle;
	padding:5em 0;
}
main section#title h2 span {
	color:#4a543c;
}
@media (max-width: 768px) {
	main section#title h2 {
		line-height:1.2;
		padding:3em 0;
	}
}
main section#about {
	margin:auto;
	min-height:50vh;
	padding-bottom:2.4em;
}
main section#about h2 {
	color:#4a543c;
	padding:0.5em 0;
	border-bottom:#ddd 2px solid;
}
main section#about p {
	text-align:center;
	margin:2.4em auto;
}
main section#contact {
	background:#4a543c;
	color:#fff;
	margin:auto;
	min-height:50vh;
	padding-bottom:2.4em;
}
main section#contact h2 {
	color:#fff;
	padding:0.5em 0;
	border-bottom:#ddd 2px solid;
}
main section#contact dl {
	margin:2.4em auto 0;
	width:30%;
	min-width:28em;
	text-align:left;
	display: flex;
  flex-wrap: wrap;
}
main section#contact dl dt {
	width:30%;
	margin-bottom:1em;
}
main section#contact dl dd {
	width:70%;
	margin-bottom:1em;
}
@media (max-width: 768px) {
	main section#contact dl {
		display: block;
	  flex-wrap: initial;
	}
	main section#contact dl dt {
		width:100%;
		margin-bottom:0;
	}
	main section#contact dl dd {
		width:100%;
		margin-bottom:1em;
	}
}