@charset "UTF-8";

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Reset
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

@media screen and (max-width: 20000px) {
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}
address,em {
	font-style: normal;
}
strong,th {
	font-weight: normal;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr,legend {
	display: none;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}
img,fieldset {
	border: 0;
}
li {
	list-style-type: none;
}
html {
    -webkit-font-smoothing: antialiased;
}
a {
	color: #2292d2;
	text-decoration: none;
}
a,a:hover {
    transition: 0.2s;
	outline: none;
	text-decoration: none;
}
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"] {
border-radius: 0 !important;
}

}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Base
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

@media screen and (max-width: 20000px) {
html {
  	font-size: 62.5%;
}
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: normal;
	position: relative;
	background: #FFFFFF;
	color: #333;
	font-size: 1.4em;
}
#container {
	width:100%;
	height: auto;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
section {
	width: 100%;
	margin: 0;
	padding: 0;
}
.content {
	width: 1040px;
	height: auto;
	margin: 0 auto;
	padding: 0;
}
}
@media screen and (max-width: 768px) {
	#container {
		overflow: hidden;
	}
	.content {
		width: 100%;
		height: auto;
		margin: 0 auto;
		left: 0;
		padding: 0 1rem;
		box-sizing: border-box;
	}
	.normalSection {
		padding: 0;
		float: left;
	}
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Item
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

@media screen and (max-width: 20000px) {
.logoFont {
	font-family: 'Squada One', cursive;
	font-size: 1.35em;
	padding: 0 0.15em 0 0;
	letter-spacing: 0;
}
.logoFont b {
	color: #2292d2;
	font-weight: inherit;
}
.logoColor {
	color: #2292d2;
}
.sectionTitle {
	width: 100%;
	height: auto;
	font-size: 280%;
	letter-spacing: 0.8rem;
	text-align: center;
	line-height: 1;
	display: block;
	margin-right: 0;
	text-indent: 0.8rem;
}
.sectionTitle span {
	font-size: 50%;
	font-weight: 700;
	display: block;
	margin: 15px 0 0 0;
}
}
@media screen and (max-width: 768px) {
	.sectionTitle {
		width: 100%;
		height: auto;
		margin: 0 auto;
		color: #262e33;
		font-size: 200%;
		text-align: center;
		line-height: 1;
	}
	.sectionTitle span {
		font-size: 50%;
		text-align: center;
		margin: 1rem 0 0 0;
	}
}
@keyframes loadingImg {
	0% {opacity: 0;}
	30% {opacity: 1;}
	70% {opacity: 1;}
	100% {opacity: 0;}
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 Contents common
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */

/*------------ Other ------------*/

.clearboth {
	content: '';
	clear: both;
}
.pchidden {
	display: none;
}
.fadeUp {
 	transition: all .5s ease-in 0s;
}
.loading {
	width: 100%;
	height: 100vh;
	background: rgba(255,255,255,1.0);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20000;
	display: flex;
	justify-content: center;
 	align-items: center;
}
.loading h1 {
	font-size: 70px;
	animation: loadingImg 3s ease-in 0.5s both;
}
@media screen and (max-width: 768px) {
	.sphidden {
		display: none;
	}
	.pchidden {
		display: inherit;
	}
	.loading h1 {
		font-size: 30px;
	}
}

/*------------ Accordion ------------*/

.acButton {
	display: none;
}
@media screen and (max-width: 768px) {
	.acButton {
		width: 50%;
		display: block;
		margin: 1rem auto 0;
		font-size: 90%;
		text-align: center;
		transform: rotate(0deg);
		transition: .2s;
		padding: 0.75rem;
		box-sizing: border-box;
		background: #2292d2;
		color: #fff;
	}
	.acButton span {
		font-weight: 500;
	}
	.acRotate i {
		font-size: 100%;
		transform: rotate(-180deg);
		transition: .2s;
	}
	.close {
		display: none;
	}
	.acRotate .close {
		display: inline;
	}
	.acRotate .open {
		display: none;
	}
	.acHidden {
		display: none;
	}
}

/*------------ Contact ------------*/

@media screen and (max-width: 20000px) {
.linkBtn {
	width: 512px;
	height: 60px;
	line-height: 58px;
	background: #2292d2;
	color: #fff;
	text-align: center;
	margin: 0 auto;
	display: block;
	clear: both;
	text-decoration: none;
	border-radius: 5px;
	font-weight: 700;
}
.linkBtn:hover {
	background: #000000;
	transition: all .2s ease-in;
}
.linkBtn i {
	float: right;
	margin: 0 1rem 0 0;
	line-height: 60px;
}
#contact {
	background: none;
	padding: 0;
	margin-top: -55px;
	margin-bottom: 55px;
	float: left;
}
#topPage #contact {
	background: #F4F4F4;
	padding: 40px 0 50px;
	margin: 0;
}
#topPage #contact .sectionTitle {
	width: 100%;
	height: auto;
	font-size: 280%;
	letter-spacing: 0.8rem;
	text-align: center;
	line-height: 1;
	display: block;
	margin-right: 0;
	text-indent: 0.8rem;
}
#topPage #contact p {
	margin: 30px 0 0 0;
}
#contact .subSection h1 {
	padding: 0;
}
#contact p {
	padding: 0 0 10px;
	text-align: center;
	font-weight: 500;
}
#contact a.call {
	font-size: 238%;
	text-align: center;
	padding: 12px 0 20px;
	display: block;
}
#contact .linkBtn {
	width: 25%;
}
#contact .sectionTitle {
	letter-spacing: 0;
	text-indent: 0;
}
}
@media screen and (max-width: 768px) {
	.linkBtn {
		width: 75%;
		height: auto;
		line-height: 1;
		background: #2292d2;
		color: #FFFFFF;
		text-align: center;
		margin: 0 auto;
		display: block;
		text-decoration: none;
		border-radius: 2px;
		font-weight: 700;
		padding: 1rem 0;
		font-size: 90%;
	}
	.linkBtn:hover {
		background: #000;
		transition: all .2s ease-in;
	}
	#contact {
		width: 100%;
		background: none;
		padding: 0.5rem 0 2.5rem;
		float: left;
		margin: 0 auto;
	}
	#topPage #contact {
		padding: 2rem 0 2.5rem;
	}
	#topPage #contact .sectionTitle {
		width: 100%;
		height: auto;
		font-size: 200%;
		letter-spacing: 0.8rem;
		text-align: center;
		line-height: 1;
		display: inherit;
		margin: 0 auto;
		color: #262e33;
	}
	#topPage #contact p {
		margin: 0 0 0 0;
	}
	#contact p {
		padding: 1rem 0 0;
		text-align: center;
		font-weight: 500;
		font-size: 90%;
	}
	#contact a.call {
		font-size: 140%;
		text-align: center;
		padding: 0.7rem 0 1.2rem;
		display: block;
	}
	#contact .linkBtn {
		width: 70%;
	}
}
