


html {
	text-align: center;
}
body {
	margin: 0;
}
body.loaded {
	opacity: 1;
}

* {
	outline: none;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}
a {
	color: #1242a8;
}
i {
}
i.material-icons {
	font-size: inherit;
	vertical-align: middle;
	transform: translateY(-0.1em);
}


html {
	font-family: "Helvetica Neue", "Helvetica", "Noto Sans JP", sans-serif;
	font-weight: 400;
	line-height: 1.5;
	-webkit-font-feature-settings: "palt";
	font-feature-settings: "palt";
}
h2 {
	font-weight: 600;
}
h3, h4, h5, h6 {
	font-weight: 500;
}
strong {
	font-weight: 600;
}


.autoBreak span {
	display: inline-block;
}

.baseColor.yellow {
	background-color: #FFDD00;
}
.baseColor.orange {
	background-color: #DD592D;
}
.baseColor.blue {
	background-color: #48b5db;
}
.baseColor.green {
	background-color: #50b748;
}


footer {
	margin-top: 3rem;
	color: white;
}

body[data-path^="/sendmail"] footer {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}

footer::before {
	content: '';
	display: block;
	width: 100%;
	height: 2em;
	background: white url(../images/common/footer_back.png) repeat-x center top;
	background-size: auto 103%;
}

footer .foot_nav {
	margin-top: 2rem;
}

footer .foot_nav a {
	color: #fff;
	padding: 0 2rem;
	text-decoration: none;
}

footer address {
	padding: 1.75rem 0;
	font-style: normal;
		font-size: 0.9em;
}

@media (max-width: 567px) {
	footer address img {
		display: block;
		margin: 0.25em auto 0;
	}
}

@media (min-width: 568px) {
	footer address {
		position: relative;
		margin: 0 1rem;
	}
	footer address img {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
}


header.contents {
	background: no-repeat left top;
	background-size: cover;
	text-align: left;
}

@media (max-width: 567px) {
	header.contents {
		padding: 1em;
		background-image: url(../images/common/contents_header_back_sp.jpg);
	}
}
@media (min-width: 568px) {
	header.contents {
		padding: 1em;
		background-image: url(../images/common/contents_header_back_pc.jpg);
	}
}


body:not(.loaded) {
	opacity: 0;
}
body.loaded {
	opacity: 1;
	transition: opacity 400ms ease;
}


.ToContact {
	position: fixed;
	z-index: 2;
	right: 0.5rem;
	top: 0;
}
.ToContact button {
	vertical-align: top;
	border: none;
	margin: 0 0 0 0.25rem;
	padding: 0;
	background: none;
	cursor: pointer;
}

@media (max-width: 567px) {
	.ToContact button img {
		width: 8rem;
	}
}

@media (min-width: 568px) and (max-width: 1154px) {
	.ToContact button img {
		font-size: 0.9rem;
	}
}
