* {
	margin: 0;
	padding: 0;
}

body {
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
	line-height: 2;
	color: #333333;
	font-family: "游ゴシック", "メイリオ", "ＭＳ ゴシック", "Osaka－等幅";
}

html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}

h1 {
	font-size: 36px;
	/* IE8以下とAndroid4.3以下用フォールバック */
	font-size: calc(2.4rem + ((1vw - 0.64rem) * 2.1429));
	/* 24px~36pxで可変*/
	line-height: 1.3;
}

h2 {
	font-size: 24px;
	/* IE8以下とAndroid4.3以下用フォールバック */
	font-size: calc(2rem + ((1vw - 0.64rem) * 0.7143));
	/* 20px~24pxで可変*/
	line-height: 1.3;
}

a {
	text-decoration: none;
}

ul {
	list-style-type: none;
}

img {
	vertical-align: middle;
	margin: 0;
	padding: 0;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	max-width: 100%;
	height: auto;
}

a:link {
	COLOR: #ffffff;
	text-decoration: none;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	margin: 0;
	padding: 0;
}

a:visited {
	COLOR: #ffffff;
	text-decoration: none;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	margin: 0;
	padding: 0;
}

a:hover {
	COLOR: #333333;
	text-decoration: none;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	margin: 0;
	padding: 0;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
	display: none;
}

.mb {
	display: none;
}

/*------------------------------
ヘッダー
------------------------------*/
#head {
	width: 100%;
	max-width: 1400px;
	margin: auto;
	position: relative;
}

#headlogo {
	width: 30%;
	margin: auto;
	float: left;
	padding-top: 10px;
}

#headlogo a {
	line-height: 1;
	font-size: 22px;
	font-weight: bold;
	display: flex;
	align-items: end;
}

#headlogo a img {
	max-width: 150px;
	width: 100%;
	margin: 0 10px 0 0;
}

#headlogo a .header-com {
	font-size: 20px;
	line-height: 1.2;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}

#headcatch {
	width: 98%;
	margin: auto;
	clear: both;
	padding: 130px 0 330px 2%;
	font-size: 6rem;
	line-height: 1.4;
	color: #FFFFFF;
	text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}

#headcatch .small {
	font-size: 3rem;
}

#headcatch .red {
	color: red;
}

#headnavi {
	width: 70%;
	margin: auto;
	float: right;
	padding-top: 50px;
	overflow: hidden;
}

#headnavi .bt {
	width: 16.6%;
	margin: auto;
	float: left;
	text-align: center;
	font-size: 20px;
}

/*------------------------------
フッター
------------------------------*/
#foot {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

#footlogo {
	width: 80%;
	margin: 0 auto;
	text-align: center;
	padding: 50px 0 0;
}

#footlogo img {
	margin: 0 0 20px;
}

#footlogo .footerlogo-com {
	font-size: 20px;
	line-height: 1.2;
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-weight: bold;
	color: #fff;
	margin: 0 0 20px;
}

#footinfo {
	width: 96%;
	margin: 0 auto 30px;
	line-height: 2.4;
	text-align: center;
	color: #000;
}

#copy {
	width: 96%;
	text-align: center;
	margin: 0 auto;
	padding-bottom: 10px;
	font-size: 1.2rem;
}

#foot .group {
	text-align: center;
	margin: 0 0 50px;
}

#foot .group p {
	line-height: 1;
}

#foot .group-name {
	margin: 0 0 15px;
}

#foot .group-name span {
	padding: 0 10px;
	border-bottom: solid 1px #1e73be;
}

#foot .group-link {
	font-size: 20px;
	font-weight: bold;
	margin: 0 0 20px;
}

#foot .group-link a {
	transition: all .3s;
}

#foot .group-link a:hover {
	color: #1e73be;
}

#footmail .linkf {
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	display: inline-block;
	width: 100%;
	font-size: 2rem;
	border: 1px solid #006600;
	background: #ececec;
	box-shadow: 4px 4px 4px #006600;
	transition: all .3s;
	color: #333333;
}

#footmail .linkf:hover {
	COLOR: #fff;
	text-decoration: none;
	border: 1px solid #006600;
	background-color: #006600;
	box-shadow: 0 0 0 #006600;
}

#footmail {
	text-align: center;
	width: 30%;
	margin: 0 auto 60px;
}

#foot .group #footmail .linkf {
	border: 1px solid #1e73be;
	box-shadow: 4px 4px 4px #1e73be;
}

#foot .group #footmail .linkf:hover {
	COLOR: #fff;
	text-decoration: none;
	border: 1px solid #1e73be;
	background-color: #1e73be;
	box-shadow: 0 0 0 #1e73be;
}


/*  ---------------------------------------------------------- */
/*　画面サイズが960pxから1280pxまではここを読み込む　*/
@media screen and (max-width:1280px) {
	.mb {
		display: none;
	}

	#headcatch .small {
		font-size: 3rem;
	}

	#footmail {
		text-align: center;
		width: 30%;
		margin: 0 auto 60px;
	}
}

@media screen and (max-width:1050px) {
	#headnavi .bt {
		font-size: 18px;
	}
}

/*  ---------------------------------------------------------- */
/*　画面サイズが640pxから960pxまではここを読み込む　*/
@media screen and (max-width:960px) {
	.pc {
		display: none;
	}

	#headlogo {
		width: 98%;
		padding: 0 0 0 2%;
	}

	#headnavi {
		width: 100%;
		background-color: #006600;
	}

	#headnavi .bt {
		width: 98%;
		border-bottom-width: 1px;
		border-bottom-style: dashed;
		border-bottom-color: #FFFFFF;
		padding: 7px 0;
	}

	#nav-drawer {
		position: relative;
	}

	/*アイコンのスペース*/
	#nav-open {
		display: inline-block;
		width: 30px;
		height: 22px;
		vertical-align: middle;
	}

	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span,
	#nav-open span:before,
	#nav-open span:after {
		position: absolute;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background: #555;
		display: block;
		content: '';
		cursor: pointer;
		right: 0;
	}

	#nav-open span:before {
		bottom: -8px;
	}

	#nav-open span:after {
		bottom: -16px;
	}

	/*閉じる用の薄黒カバー*/
	#nav-close {
		display: none;
		position: fixed;
		z-index: 99;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: black;
		opacity: 0;
		transition: .3s ease-in-out;
	}

	/*中身*/
	#nav-content {
		overflow: auto;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		width: 90%;
		max-width: 330px;
		height: 100%;
		background: #fff;
		transition: .3s ease-in-out;
		-webkit-transform: translateX(-105%);
		transform: translateX(-105%);
	}

	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked~#nav-close {
		display: block;
		opacity: .5;
	}

	#nav-input:checked~#nav-content {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
	}

	#headcatch {
		margin: 58% 0 0;
		padding: 20px 0 20px 2%;
		background-color: #1D2C6F;
		font-size: 2.4rem;
		text-align: center;
	}

	#headcatch .small {
		font-size: 1.8rem;
	}

	#footmail {
		text-align: center;
		width: 50%;
		margin: 0 auto 60px;
	}
}


/*  ---------------------------------------------------------- */
/*　画面サイズが480pxから640pxまではここを読み込む　*/
@media screen and (max-width:640px) {
	.pc {
		display: none;
	}

	#headlogo {
		width: 98%;
		padding: 30px 0 0 2%;
	}

	#nav-drawer {
		position: relative;
	}

	/*アイコンのスペース*/
	#nav-open {
		display: inline-block;
		width: 30px;
		height: 22px;
		vertical-align: middle;
	}

	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span,
	#nav-open span:before,
	#nav-open span:after {
		position: absolute;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background: #555;
		display: block;
		content: '';
		cursor: pointer;
		right: 0;
	}

	#nav-open span:before {
		bottom: -8px;
	}

	#nav-open span:after {
		bottom: -16px;
	}

	/*閉じる用の薄黒カバー*/
	#nav-close {
		display: none;
		position: fixed;
		z-index: 99;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: black;
		opacity: 0;
		transition: .3s ease-in-out;
	}

	/*中身*/
	#nav-content {
		overflow: auto;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		width: 90%;
		max-width: 330px;
		height: 100%;
		background: #fff;
		transition: .3s ease-in-out;
		-webkit-transform: translateX(-105%);
		transform: translateX(-105%);
	}

	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked~#nav-close {
		display: block;
		opacity: .5;
	}

	#nav-input:checked~#nav-content {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
	}

	#headcatch {
		margin: 52% 0 0;
	}

	#headcatch .small {
		font-size: 1.8rem;
	}

	#footmail {
		text-align: center;
		width: 50%;
		margin: 0 auto 60px;
	}
}


/*  -----------------------------------------------------------------------------------------------------------  */
/*  画面サイズが480pxまで  */
@media screen and (max-width:480px) {
	.pc {
		display: none;
	}

	body {
		line-height: 2;
	}

	h1 {
		font-size: 2.4rem;
	}

	h2 {
		font-size: 2rem;
	}

	#headlogo {
		width: 98%;
		padding: 30px 0 0 2%;
	}

	#headlogo a {
		font-size: 16px;
	}

	#headlogo a img {
		width: 150px;
	}

	#nav-drawer {
		position: relative;
	}

	/*アイコンのスペース*/
	#nav-open {
		display: inline-block;
		width: 30px;
		height: 22px;
		vertical-align: middle;
	}

	/*ハンバーガーアイコンをCSSだけで表現*/
	#nav-open span,
	#nav-open span:before,
	#nav-open span:after {
		position: absolute;
		height: 3px;
		width: 25px;
		border-radius: 3px;
		background: #555;
		display: block;
		content: '';
		cursor: pointer;
		right: 0;
	}

	#nav-open span:before {
		bottom: -8px;
	}

	#nav-open span:after {
		bottom: -16px;
	}

	#nav-close {
		display: none;
		position: fixed;
		z-index: 99;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: black;
		opacity: 0;
		transition: .3s ease-in-out;
	}

	/*中身*/
	#nav-content {
		overflow: auto;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
		width: 90%;
		max-width: 330px;
		height: 100%;
		background: #fff;
		transition: .3s ease-in-out;
		-webkit-transform: translateX(-105%);
		transform: translateX(-105%);
	}

	/*チェックが入ったらもろもろ表示*/
	#nav-input:checked~#nav-close {
		display: block;
		opacity: .5;
	}

	#nav-input:checked~#nav-content {
		-webkit-transform: translateX(0%);
		transform: translateX(0%);
		box-shadow: 6px 0 25px rgba(0, 0, 0, .15);
	}

	#headcatch {
		font-size: 2rem;
	}

	#headcatch .small {
		font-size: 1.4rem;
	}

	#footmail {
		text-align: center;
		width: 70%;
		margin: 0 auto 60px;
	}

}

/*  -----------------------------------------------------------------------------------------------------------  */