* {
    margin: 0;
    padding: 0;
}

html {
	height: 100%;
}

@font-face {
	font-family: "Hyogo";
	src: url('fonts/hyogo-regular-webfont.woff2');
}

@font-face {
	font-family: "Helvetica";
	src: url('fonts/HelveticaNeueLTPro-LtEx.otf');
}

@font-face {
	font-family: "OpenSansReg";
	src: url('fonts/OpenSans-Regular.ttf');
}

@font-face {
	font-family: "OpenSansBold";
	src: url('fonts/OpenSans-Bold.ttf');
}

body {
	height: 100%;
	font-size: 16px;
	font-family: "Hyogo";
	color: #395275;
	background-color: #ffffff;
}

p, h1 {
	margin: 0px;
	font-size: 16px;
	color:#000000;
	font-family: "OpenSansReg";
	line-height: 1.5;
}

main p {
	margin-top: 10px;
}

h2 {
	color:#000000;
	text-transform: uppercase;
	font-weight: 200;
	padding: 10px;
	background-color: #F5F5F5;
	display: inline-block;
	margin-top: 20px;
}

nav {
	height: 90px;
	min-width: 360px;
	background-color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
}

nav ul {
	margin:0;
	list-style: none;
}

nav li {
	margin: 15px 20px;
	display: inline;
	font-size: 1.5em;
	text-transform: uppercase;
}

nav a {
	text-decoration: none;
	color: #395275;
}

nav ul a:hover {
	border-bottom-style: solid;
	border-bottom-color: #e0d9c6;
	border-bottom-width: 3px;
}

nav img {
	margin: 0px 20px;
}

label.navi {
	display: none;
	cursor: pointer;
 }
 
input#navi {
	display: none;
}

.navLogoTitle {
	height: 50px;
	padding-right: 40px;
}

.flex {
	display: flex;
	align-items: center;
}

header {
	min-width: 360px;
	display: flex;
	flex-direction: column;
	
	justify-content : center;
	-ms-flex-pack : center;
	
	align-content : center;
	-ms-flex-line-pack : center;
	
	align-items : stretch;
	-ms-flex-align : stretch;
	
  	flex-wrap : wrap;
	-ms-flex-wrap : wrap;	

	text-transform: uppercase;
	
	height: calc(100% - 90px);
	background: url(images/header.jpg); 
	background-repeat: no-repeat;
	background-position: center center;
	background-attachment: scroll;
  
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

header p {
	font-family: "Hyogo";
	color: #ffffff;
	padding: 20px;
	font-weight: 600;
	font-size: 10vw;
	letter-spacing: 3px;
	line-height: 1.5em;
	text-align: center;
	text-shadow: 3px 3px #000000;;
}

main {
	margin: auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.content {
	margin-bottom: 40px;
	margin-top: 40px;
	max-width: 1000px;
	width: 90%;
}

.contentWideTitle {
	max-width: 1000px;
	width: 90%;
}

.contentWideContentService {
	background-color: #e0d9c6;
	width: 100%;
	display: flex;
	justify-content: center;
}

#service {
	display: flex;
	align-items: center;
	flex-flow: row wrap;
	justify-content: space-between;
	align-content: space-between;
	gap: 30px 30px;
}

.service {
	min-width: 430px;
	display: flex;
	flex-direction: row;
	align-items: center;
}

.service p {
	margin: 0px;
	padding-left: 5px;
}

#aboutUs {
	margin-top: 40px;
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-flow: row wrap;
	gap: 50px 30px;
}

.aboutUs {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.aboutUsName {
	font-family: "Hyogo";
	padding-top: 20px;
	font-weight: 600;
	font-size: 22px;
}

.contentWideContentFaq {
	background-color: #979CB4;
	width: 100%;
	display: flex;
	justify-content: center;
}

#faqMain {
	display: flex;
	align-items: center;
	flex-flow: row wrap;
	justify-content: space-between;
	align-content: space-between;
	gap: 30px 30px;
}

details {
	color: #ffffff;
	padding: 10px;
	font-family: "Hyogo";
	font-size: 20px;
}

details p {
	color: #ffffff;
	font-family: "OpenSansReg";
	font-size: 16px;
}

summary::marker {
	font-size: 1em;
	font-family: 'Courier New', Courier, monospace;
	font-weight: 600;
}

summary {
	list-style-type: '+ ';
	cursor: pointer;
}

details a {
	color:#ffffff;
}

details[open] > summary {
	list-style-type: '- ';
}

.pictures {
	margin-bottom: 0px;
}

.gallery {
	margin-top: 5px;
    display: grid;
    grid-gap: 5px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    grid-auto-rows: 200px;
}

.gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#partnerMain {
	margin-top: 50px;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
	align-content: space-between;
	gap: 30px 30px;	
}

footer {
	background-color: #395275;
	margin: auto;
	display: flex;
	flex-direction: column;
	width: 100%;
}

footer h1 {
	color: #ffffff;
	font-weight: normal;
}

#footer {
	max-width: 1000px;
	margin: 50px auto;
	display: flex;
	justify-content: center;
	gap: 50px 100px;	
}

.footer {
	min-width: 180px;
	padding: 0px 20px;
}

footer h2 {
	color: #ffffff;
	text-transform: uppercase;
	font-weight: 200;
	background-color: initial;
	display: initial;
	margin: 0px;
	padding: 0px;
	line-height: 50px;
	text-decoration: underline;
}

footer p {
	color: #ffffff;
}

.bold {
	font-family: "OpenSansBold";
}

footer a {
	text-decoration: underline;
	color: #ffffff;
}

#footerBg {
	background-color:#f5f5f5;
	width: 100%;
}

#footerBottom {
	font-size: 12px;
	max-width: 1000px;
	width: 90%;
	margin: auto;
	padding: 30px 0px;
}

#footerBottom p {
	font-size: 12px;
	color: #395275;
	line-height: 24px;
}

#footerBottom a {
	text-decoration: underline;
	color: #395275;
}

#footerBottom img {
	display: inline-block;
	position: relative;
	top: 4px;	
	height: 20px;
}

@media screen and (max-width: 1300px) {
	.navLogoTitle {
		display: block;
		height: 35px;
		margin: 0px;
		padding: 0;
	}

	nav {
		justify-content: space-between;
	}

	nav ul {
		top: 90px;
		position: absolute;
		background-color: #ffffff;
		width: 100%;
		height: calc(100% - 100px);
		left: -100%;
		line-height: 60px;
		list-style-type:none;
		padding: 5px 0px;
	 
		-webkit-transition: all 0.7s ease;
		-moz-transition: all 0.7s ease;
		-o-transition: all 0.7s ease;
		transition: all 0.7s ease;
	}

	nav li {
		display: block;
		text-align: left;
		padding-left: 5px;
	}

	label.navi {
		display: block;
		width: 90px; 
		height: 50px; 
		position: relative; 
	 }

	.line { 
		position: absolute; 
		left: 20px;
		height: 3px; width: 50px; 
		background: #395275;;
		display: block; 
		transition: 0.5s; 
		transform-origin: center; 
	 }

	.line:nth-child(1) { top: 12px; }
	.line:nth-child(2) { top: 24px; }
	.line:nth-child(3) { top: 36px; }
	
	#navi:checked ~ ul {
		left: 0%;
	}

	#navi:checked + .navi .line:nth-child(1) {
		transform: translateY(12px) rotate(-45deg);
	}
	 
	#navi:checked + .navi .line:nth-child(2) {
		opacity:0;
	}
	 
	#navi:checked + .navi .line:nth-child(3) {
		transform: translateY(-12px) rotate(45deg);
	}
}

@media screen and (max-width: 1000px) {	
	#partnerUnitron{
		height: 47px;
	}

	#partnerMain {
		margin-top: 50px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		align-content: center;
	}
}
	
@media screen and (max-width: 920px) {	
	#footer {
		flex-direction: column;
	}
}
	
@media screen and (max-width: 500px) {	
	.service {
		min-width: 340px;
		display: flex;
		flex-direction: row;
		align-items: center;
	}
}

#flex {
	padding: 30px 0px;
	display: flex;
	flex-direction: column;
	margin: auto;
	max-width: 1000px;
	min-width: 360px;
}

#flex p {
	font-size: 12px;
	color:#000000;
	padding: 10px;
}

#flex h1 {
	font-size: 2em;
	color:#000000;
	text-transform: uppercase;
	font-weight: 200;
	padding: 10px;
	background-color: #F5F5F5;
	display: inline-block;
	margin-top: 20px;
}

#flex h3 {
	font-size: 1.3em;
	color:#000000;
	text-transform: uppercase;
	font-weight: 200;
	padding: 10px;
	background-color: #F5F5F5;
	display: inline-block;
	margin-top: 20px;
}

#flex h4 {
	font-size: 1em;
	color:#000000;
	text-transform: uppercase;
	font-weight: 200;
	padding: 10px;
	background-color: #F5F5F5;
	display: inline-block;
	margin-top: 20px;
}

#flex a {
	color:#000000;
	word-break: break-all;
}

#flex li {
	color:#000000;
	font-family: "OpenSansReg";
	font-size: 12px;
	padding: 0px 10px 0px 10px;
}

#flex ul {
   	list-style-type: square;
	list-style-position: inside;
}