@charset "utf-8";

/* ========BASIC======== */
html {
	font-size: 62.5%;
}

body {
	background-image: url(images/bg.gif);
	background-attachment: fixed;
	font-family: "Garamond", "Times New Roman", "FOT-筑紫明朝 Pro", "A-OTF 秀英明朝 Pro", "A-OTF リュウミン Pro", "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", serif;
	line-height: 3.2rem;
}

*, *::before, *::after {
	box-sizing: border-box;
}

h1 {
	color: #333333;
	line-height: 15.0rem;
	font-size: 4.8rem;
	font-variant-ligatures: normal;
}

h2 {
	color: #333333;
	font-size: 1.8rem;
	letter-spacing: 0.25rem;
	border-left: 1.3rem solid #00cccc;
	margin: 2.0rem 0;
	padding: 0.2rem 0 0.2rem 1.0rem;
}

h3 {
	color: #333333;
	margin: 1.6rem 0 0.2rem;
	font-weight: semibold;
	font-size: 1.6rem;
	letter-spacing: 0.15rem;
}

h3:before {
	content: '■';
	font-size: 2.4rem;
	color: #99cccc;
	margin-right: 0.6rem;
	vertical-align: -0.1rem;
}

h4 {
	color: #333333;
	margin: 1.6rem 0 0.2rem;
	padding: 0;
	font-weight: semibold;
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	line-height: 2.6rem;
}

p {
	color: #333333;
	padding: 0;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	line-height: 3.2rem;
	text-align: justify;
	hanging-punctuation: allow-end;
	text-indent: 1.15em;
	overflow-wrap: break-word;
	word-wrap: break-word;
	hyphens: auto;
}

p.small_1 {
	font-size: 1.4rem;
	line-height: 2.4rem;
}

p.small_1_kome {
	font-size: 1.4rem;
	line-height: 2.4rem;
	margin-top: 1.8rem;
	margin-left: 1.15em;
	text-indent: -1.15em;
}

.indentno {
	text-indent: 0;
}

br {
	letter-spacing: normal;
}

img {
	width: auto;
	height: auto;
	border: 0;
}

a {
	font-weight: bold;
	color: #669999;
	text-decoration: none;
}

a:link, a:visited {
	color: #669999;
}

a:hover {
	color: #FFAA33;
}

a:hover img {
	opacity: 0.4;
	transition-duration: 0.1s;
}

ul, li {
	list-style: none;
}

dl, ol {
	list-style: none;
}

time[datetime] {
	font-size: 1.4rem;
	color: #333333;
}

blockquote {
	background-color: #eeeedd;
	letter-spacing: 0.1rem;
	font-size: 1.6rem;
	line-height: 3.2rem;
	text-align: justify;
	hanging-punctuation: allow-end;
	border-radius: 0 10px;
	margin: 2.4rem 0 3.2rem 0;
	padding: 20px;
}

blockquote cite {
	font-style: normal;
	font-size: 1.4rem;
	line-height: 2.0rem;
	color: #666666;
}

/* ========WRAPPER and MAIN======== */
.wrapper {
	max-width: 940px;
	margin: 30px auto;
	padding: 5px 50px;
	border: 1px solid #00cccc;
	border-radius: 0 18px;
	background: #ffffff;
	animation: fadeIn 2.5s ease 0s 1 normal;
	-webkit-animation: fadeIn 2.5s ease 0s 1 normal;
}

@keyframes fadeIn {
	0% {
		opacity: 0
	}

	100% {
		opacity: 1
	}
}

main {
	height: 500px;
	clear: both;
	padding: 10px 15px 10px 0px;
	overflow: auto;
	scrollbar-width: thin;
}

/* ========MAIN INDEX PAGE======== */
.main_index {
	display: flex;
	height: 460px;
	justify-content: center;
	align-items: center;
	opacity: 0.6;
}

/* ========HEADER======== */
.title a:link {
	color: #333333;
}

.title a:visited {
	color: #333333;
}

.lead {
	font-size: 1.6rem;
	letter-spacing: 0.15rem;
	font-weight: bold;
	color: #333333;
	text-indent: 0;
	margin: 0 0 20px;
}

.lead br {
	display: none;
}

.lead span {
	display: block;
}

.lead span br {
	display: block;
}

/* ========GLOBAL NAVIGATION======== */
.global-nav {
	display: block;
}

.global-nav ul {
	width: 100%;
	height: 35px;
}

.nav_pc {
	display: block;
}

.nav_mobile {
	display: none;
}

.global-nav li {
	position: relative; /*これを入れるとサブメニューが下の要素に潜り込まない！*/
	float: left;
	width: calc(100% / 6);
	height: 35px;
	transition: 0.5s;
}

.global-nav li a {
	display: block;
	line-height: 35px;
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	font-weight: bold;
	color: #ffffff;
	background: #99cccc;
}

.global-nav li a:hover {
	background-color: #00cccc;
}

.global-nav .on {
	background-color: #666666;
	color: #ffffff;
}

.global-nav .on_works {
	background-color: #999999;
}

/* ========SUBMENU======== */
.global-nav li li {
	background-color: #00cccc;
	width: 100%;
	height: 0;
	overflow: hidden;
}

.global-nav li:hover>ul>li {
	color: #ffffff;
	background-color: #99cccc;
	height: 35px;
	overflow: visible;
}

/* ========GLOBAL NAVIGATION INDEX PAGE======== */
.global-nav {
	display: block;
}

.global-nav_index ul {
	width: 100%;
	height: 35px;
}

.global-nav_index li {
	float: left;
	width: calc(100% / 6);
	height: 35px;
	transition: 0.5s;
}

.global-nav_index li a {
	display: block;
	line-height: 35px;
	text-align: center;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	font-weight: bold;
	color: #666666;
}

.global-nav_index li a:hover {
	color: #ffffff;
	background-color: #00cccc;
}

/* ========MAIN======== */
/*
main p:first-child {
	margin-top: 1.6rem;
}
*/

.container {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}

li.contents {
	color: #333333;
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
	line-height: 3.2rem;
	text-align: justify;
	hanging-punctuation: allow-end;
	overflow-wrap: break-word;
	word-wrap: break-word;
	hyphens: auto;
}

li.contents:before {
	content: '●';
	color: #00cccc;
	margin-left: 0.2rem;
	margin-right: 0.6rem;
	vertical-align: 0.1rem;
}

/* ========POLA======== */
.pola {
	width: 250px;
	margin: 5px 5px 15px 13px;
	padding: 20px 15px 10px 15px;
	border: 1px solid #eeeeee;
	border-radius: 0 12px;
	box-shadow: 3px 3px 3px 2px #eeeeee;
}

.pola h4 {
	color: #333333;
	margin: 0;
	padding: 0;
	font-weight: semibold;
	font-size: 1.4rem;
	letter-spacing: 0.05rem;
}

.pola img {
	display: block;
	margin: 0 auto 10px;
	width: 220px;
}

figcaption {
	color: #333333;
	margin: 0;
	padding: 0;
	font-size: 1.4rem;
	letter-spacing: 0.05rem;
	line-height: 2.6rem;
	text-align: justify;
	text-justify: distribute;
	overflow-wrap: break-word;
	word-wrap: break-word;
	hyphens: auto;
}

/* ========FOOTER======== */
address {
	color: #333333;
	line-height: 8.0rem;
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	font-style: normal;
	border-top: 1px solid #00cccc;
	font-family: "Garamond", "Times New Roman", serif;
	font-weight: bold;
}

address br{
	display: none;
}

.address_index {
	color: #666666;
	text-align: center;
	font-size: 1.4rem;
	letter-spacing: 0.1rem;
	font-style: normal;
	padding: 0 auto 10px;
	border-top: 1px solid #ffffff;
	font-family: "Garamond", "Times New Roman", serif;
	font-weight: bold;
}

.address_index br{
	display: none;
}

/* ========MEDIA QUERIES======== */
@media screen and (max-width: 767px) {
	html {
		font-size: 50%;
	}
	
	body {
		background: #ffffff;
		-webkit-touch-callout: none; /* Safari */
		user-select: none;
	}

	/*文字サイズ・行送り調整*/
	h1 {
		padding: 90px 0 0;
		line-height: 10.0rem;
		text-align: center;
		font-weight: normal;
		font-size: 3.6rem;
		font-variant-ligatures: normal;
	}
	
	h4 {
		line-height: calc(2.4rem * 0.8);
	}

	p {
		line-height: calc(3.2rem * 0.8);
	}

	p.small_1 {
		line-height: calc(2.4rem * 0.8);
	}

	p.small_1_kome {
		line-height: calc(2.4rem * 0.8);
	}
	
	blockquote {
	line-height: calc(3.2rem * 0.8);
}

	blockquote cite {
	line-height: calc(2.4rem * 0.8);
	}
	
	li.contents {
	line-height: calc(3.2rem * 0.8);
	}
	
	figcaption {
	line-height: calc(3.2rem * 0.8);
	}

	/*レイアウト調整*/
	.wrapper {
		width: 100%;
		margin: 0;
		padding: 0 20px;
		border: none;
		animation: fadeIn 0s ease 0s 1 normal;
		-webkit-animation: fadeIn 0s ease 0s 1 normal;
	}

	main {
		display: block;
		height: 100%;
		padding: 0;
		overflow: scroll;
	}

	.lead {
		text-align: center;
	}

	.lead br {
		display: block;
	}
	
	.lead span {
		display: none;
	}
	
	.pola {
		width: 100%;
		margin: 10px auto;
		box-shadow: none;
	}
	
	address {
		line-height: 2.0rem;
		font-size: 1.2rem;
		font-weight: normal;
		margin-top: 10px;
		padding: 10px;
	}

	address br{
		display: block;
	}

	/*GLOBAL NAVI*/
	.nav_pc {
		display: none;
	}

	.nav_mobile {
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
	}
	
	.global-nav ul {
		height: 90px;
	}

	.global-nav>li {
		width: calc(100% / 3);
		height: 45px;
	}

	.global-nav li {
		width: calc(100% / 3);
		height: 45px;
	}
	
	.global-nav li a {
		line-height: 45px;
		font-size: 1.4rem;
		font-weight: normal;
	}

	.global-nav li ul li {
		width: inherit;
	}
	
	.on_mobile {
		display: block;
	}
	
	.global-nav li:hover>ul>li {
		height: 45px;
	}
	
	/*INDEX PAGE関連*/
	.main_index {
		height: 300px;
		margin: 40px 0 20px;
	}
	
	.main_index img {
		width: 250px;
	}
	
	.global-nav_index ul {
		height: 90px;
	}

	.global-nav_index li {
		width: calc(100% / 3);
		height: 45px;
	}
	
	.global-nav_index li a {
		line-height: 45px;
		font-size: 1.4rem;
		font-weight: normal;
	}

	.address_index {
		line-height: 2.0rem;
		font-size: 1.2rem;
		font-weight: normal;
		margin-top: 100px;
		padding: 10px 0;
	}

	.address_index br {
		display: block;
	}

}