@charset "utf-8";
:root {
	--main-bg-color: white;
	--key-color: #efb333;
	--main-text-color: #3a546b;
	--square-color: rgba(255, 255, 255, 0);
	--bg2-color: white;
	--base-color: #cfe8e8;
}
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
/* reset*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}	
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ここから */
h2, h3, h4, p, a{
		color: var(--main-text-color);
		font-family: "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}
h2.title-sub {
	margin-bottom: 10px;
	letter-spacing: 0.1em;
}
p{
	line-height: 2;
}
.fas{
	font-size: small;
}
.line_height_normal{
	line-height: normal;
}
.header_wrap .logo{
	width: 30%;
	max-width: 410px;
	min-width: 120px;
	margin: 5px 30px 5px 10px;
}
.header_wrap .logo h1{
	display:block;
	position: relative;
	width: 100%;
	height: 0%;
	padding-bottom: 36.5%;
}
.header_wrap .logo h1 a{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: url("../img/logo1.png") no-repeat;
	background-size:cover;
	text-indent: -9999px;
	transition: .5s;
}
.logo a:hover{
	opacity: .9;
}
header{
	position: fixed;
	width: 100%;
	height: 150px;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, .9);
	border-bottom: 2px solid rgba(58, 84, 107, .5);
}
header span{
	font-size: 12px;
}
.header1{
		padding:20px 20px 10px;
    display:flex;
		justify-content: space-between;
		align-items: center;
}
.logomessage{
    display:flex;
		align-items: center;
}
.logomessage .message{
	align-self: center;
	transition: .5s;
} 
.mail{
    padding: 5px 15px;
    text-decoration: none;
    border-radius: 15px;
		background: var(--base-color);
		color: var(--main-text-color);
		transition: 3s;
}
.mail:hover{
	opacity: .8;
}
/* footer */
footer{
	background: var(--base-color);
	border-top: 2px solid var(--main-text-color);
}
footer span{
	font-size: 12px;
}
.contact{
	margin: 0 auto 0;
	padding-top: 80px;
	padding-bottom: 40px;
	max-width: 1080px;
	width: 85%;
	display: flex;
	justify-content: space-between;
}
.contact .contact_title img{
	margin-bottom: 30px;
	height: 36px;
}
footer .mail{
	display: block;
	margin-top: 5px;
	color: white;
	background: var(--key-color);
	border-bottom: 2px solid #c48c13;
}
footer .mail:active{
	margin-top: 2px;
	border-bottom: 0px solid #c48c13;
}
.footer_logo_wrap{
	margin: 0 auto;
	max-width: 120px;
	min-width: 70px;
	width: 15%;
}
.sns_banner{
	text-align: right;
	align-self: flex-end;
	max-width: 320px;
}
footer .sns_button{
	padding: 10px;
	width: 50px;
}
footer .sns_button:hover{
	opacity: .8;
}
footer .sns_button img{
	width: 100%;
}
.footer_logo_wrap:hover{
	opacity: .8;
}
.footer_logo_wrap img{
	width: 100%;
}
.sns{
	display: flex;
	justify-content: flex-end;
}
footer .c{
	text-align: center;
}
/* header move */
.site-header{
	position: fixed;
	transition: .2s;
}
.site-header.transform{
	height: 80px;
}
.site-header.transform .header1{
	padding: 12px 20px 17px;
}
.flex{
	display: flex;
}
header .remove{
	display: none;
}
/* TOP */
#page_top{
	width: 45px;
	height: 45px;
	position: fixed;
	right: 10px;
	bottom: 10px;
	background: var(--base-color); /*ボタンの色*/
	border: 2px solid white;
	opacity: 0.9;
	border-radius: 50px;
	text-align: center;
	z-index: 10;
	}
	#page_top a{
	position: relative;
	display: block;
	width: 45px;
	height: 45px;
	text-decoration: none;
	}
	#page_top .fas{
		padding-top: 2px;
		font-size: 21px;
		color: white;
	}
	#page_top a::after{
	position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
	font-weight: 900;
	content: 'TOP'; 
	font-size: 14px;
	color: #fff; /*アイコンの色*/
	position: absolute;
	height: 25px;
	margin: auto;
	text-align: center;
	}
@media screen and (max-width: 768px) {
	header{	
		position: relative;
		height: 110px;
	}
	.header1{
		margin: 0 auto;
	}
	header .logo{
		margin: 0;
	}
	header .message p{
			display: none;
	}
	.header1{
		padding: 10px;
		flex-direction: column;
	}
	.header1 .mail{
		margin-top: 15px;
		transition: .5s;
	}
	.header1 a{
		font-size: 12px;
	}
	header .remove.mail{
		margin-top: -30px;
		transition: .2s;
		opacity: .0;
	}
	/* footer */
	.contact{
		margin:0 auto;
		padding: 80px 0 40px;
		flex-direction: column;
		text-align: center;
	}
	.contact_text{
		margin-bottom: 40px;
	}
	footer .mail{
		margin: 0 auto;
		width: 275px;
	}
	.sns_banner{
		align-self: center;
	}
	.sns_text{
		text-align: center;
		display: none;
	}
	.sns{
		justify-content: center;
	}
}/*768*/
@media screen and (max-width: 480px) {
	footer .mail {
		width: auto;
		max-width: 200px;
	}
	.contact_text a{
    font-size: 12px;
	}
	footer .sns_button {
	padding: 10px;
	width: 42px;
	}
}/*480*/