@charset "utf-8";

/*共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体
---------------------------------------------------------------------------*/
body {
	margin: 0;
	padding: 0;
	font: 16px "游ゴシック Medium",YuGothic,YuGothicM,"游ゴシック体","游ゴシック","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	line-height: 2;
	color: #000;
	background: #fff;
	-webkit-text-size-adjust: none;
}
/*リセット
---------------------------------------------------------------------------*/
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form,select,textarea,input {
	margin: 0;
	padding: 0;
	font-size: 100%;
	font-weight: normal;
}
ul {
	list-style-type: none;
}
img {
	border: none;
	width: 100%;
	height: auto;
	vertical-align: top;
}
table {
	border-collapse:collapse;
	font-size: 100%;
	border-spacing: 0;
	margin: 0;
}
video {
	max-width: 100%;
}
iframe {
	width: 100%;
}

/*リンク
---------------------------------------------------------------------------*/
a {
	color: #0074ca;
}
a:hover {
	color: #05acff;
}
a:hover img {
	opacity: 0.6;
	filter: alpha(opacity=60);
	transition: 0.6s;
}

/*ヘッダー
---------------------------------------------------------------------------*/
header {
	position: fixed;
	z-index: 1;
	top: 0;
	left: 0;
	width: 100%;
	background: #333;
	height: 60px;
}
/*ロゴ画像*/
header #logo {
	position: absolute;
	top: 0;	
	left: 0;
	float: left;
}
header #logo img {
	width: auto;
	height: 60px;
	background: #00a968;
}

/*PC用メニュー
---------------------------------------------------------------------------*/
#menu ul{
	height: 60px;	
	font-size: 15px;
	margin-left: 300px;
	width: 100%;
}
#menu ul li{
	display: inline;
	letter-spacing: 0.1em;
}
#menu ul li:first-child {
	margin-left: 20px;
}
#menu ul li:last-child {
	margin-right: 1%;
}
#menu ul li a{
	line-height: 62px;
	color: #fff;
	text-decoration: none;
	padding: 21px 25px 20px;
}
#menu ul li a:hover{
	background: #666 !important;
	transition: 0.7s;
}

/*SPメニュー非表示*/
#menu_sp {
	display: none;
}
/*ハンバーガーボタン非表示*/
.toggle_btn, .toggle_txt {
	display: none;
}
.bg-slider {
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-position:center center;
	background-size: cover;
}

/*タイトル
---------------------------------------------------------------------------*/
h1{
	width:100%;
	font: 80px 'Noto Serif JP', serif;
	font-weight: 600;
	text-align: center;
	position: absolute;
	left: 50%;
	top: 40%;
	-webkit-transform: translate(-50%,-45%);
	-moz-transform: translate(-50%,-45%);
	-ms-transform: translate(-50%,-45%);
	-o-transform: translate(-50%,-45%);
	transform: translate(-50%,-45%);
	color:#fff;
	text-shadow:5px 2px 5px #000;
	-webkit-animation-name: fadeIn;
	-webkit-animation-duration:8s;
	-moz-animation-name:fadeIn;
	-moz-animation-duration:8s;
	-ms-animation-name:fadeIn;
	-ms-animation-duration:8s;
}

@-webkit-keyframes fadeIn{
	0%{
		filter: alpha(opacity=0);
		-moz-opacity:0;
		opacity:0;
	}
	100%{
		filter: alpha(opacity=100);
		-moz-opacity:1;
		opacity:1;
	}
}
@-moz-keyframes fadeIn{
	0%{
		filter: alpha(opacity=0);
		-moz-opacity:0;
		opacity:0;
	}
	100%{
		filter: alpha(opacity=100);
		-moz-opacity:1;
		opacity:1;
	}
}
@-ms-keyframes fadeIn{
	0%{
		filter: alpha(opacity=0);
		-moz-opacity:0;
		opacity:0;
	}
	100%{
		filter: alpha(opacity=100);
		-moz-opacity:1;
		opacity:1;
	}
}

/*スクロールボタン
---------------------------------------------------------------------------*/
div#scroll_btn{
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translate(-50%,0);
	-moz-transform: translate(-50%,0);
	-ms-transform: translate(-50%,0);
	-o-transform: translate(-50%,0);
	transform: translate(-50%,0);
	width:110px;
	height: 64px;
	background-color:#121212;
	opacity: 0.8;
	filter: alpha(opacity=80);
	-webkit-box-shadow: 0px -1px 10px #333;
	box-shadow: 0px -1px 10px #333;
}
div#scroll_btn a{
	font-size: 18px;
	color: #fff;
	font-family: "Palatino Linotype", Verdana, Cambria, "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
div#scroll_btn a span#text{
	margin:0 auto;
	position: absolute;
	right: 32px;
	bottom: 24px;
}

a span#arrow{
	position: absolute;
	left: 50%;
	bottom: 16px;
	width: 25px;
	height: 25px;
	margin-left: -12px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-animation: sdb 2s infinite;
	animation: sdb 2s infinite;
	opacity: 0;
	box-sizing: border-box;
}
@-webkit-keyframes sdb{
	0%{
		opacity: 0;
	}
	50%{
		opacity: 1;
	}
	100%{
		opacity: 0;
	}
}
@keyframes sdb{
	0% {
		opacity: 0;
	}
	50%{
		opacity: 1;
	}
	100%{
		opacity: 0;
	}
}

/*コンテンツ
---------------------------------------------------------------------------*/
#contents {
	margin-top: 0;
	padding: 3%;
}
#contents h2 {
	clear: both;
	margin-bottom: 20px;
	font-size: 120%;
	font-weight: 500;
	background: #00a968;
	color: #fff;
	line-height: 50px;
	padding-left: 25px;
}
#contents h2::first-letter {
	border-left: 3px solid #fff;
	padding-left: 15px;
}
#contents p {
	padding: 0 20px 20px;
}
/*他。微調整。*/
#contents p + p {
	margin-top: -5px;
}
#contents h3 + p {
	margin-top: -10px;
}
#contents section + section {
	margin-top: 30px;
}

/*フッター
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;
	margin: 0 auto;
	color: #fff;
	background: #00a968;
	font-family: -apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"游ゴシック体","游ゴシック","Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
	font-weight: 500;
}
footer a {
	color: #fff;
	text-decoration: underline;
}
footer a:hover {
	color: #fff;
}
/*フットメニュー*/
#footmenu {
	display: block;
	padding: 10px 10px 5px;
}
#footmenu ul {
	margin: 0 auto;
	line-height: 2;
}
#footmenu ul li:first-child {
	font-size: 18px;
}
#footmenu ul li a {
	text-decoration: none;
}
#footmenu ul li a:hover {
	text-decoration: underline;
}
#footlist {
	overflow: hidden;
	padding: 20px 3%;
	font-size: 95%;
}
#footlist .lbl {
	float: left;
	width: 47%;
	padding-right: 3%;
	text-align: left;
}
#footlist .rbl {
	float: right;
	width: 47%;
	padding-left: 3%;
	text-align: left;
}
/*コピーライト*/
#copyright {
	clear: both;
	text-align: center;
	padding:4px 0 15px;
	font-size: 90%;
}
#copyright a img {
	height: 40px;
	width: auto;
}

/*PageTopボタン
---------------------------------------------------------------------------*/
#pagetop{
	display: none;
	position: fixed;
	right: 3%;
	bottom: 30px;
}
#pagetop a{
	display: block;
	font-size: 0;
	width: 50px;
	height: 50px;
	text-align: center;
	background: #333;
	background: rgba(0,0,0,0.6);
	line-height: 50px;
	border: 1px solid #fff;
	z-index: 10;
}
#pagetop a i{
	font-size: 20px;
	color:#fff;
	line-height: 50px;
}
/*マウスオン時*/
#pagetop a:hover {
	background: #666;
}

/*臨時調整、その他
---------------------------------------------------------------------------*/
.look {background: #222;padding: 5px 10px;border-radius: 4px;border: 1px solid #333;color: #fff;}
.mb15,.mb1em {
	margin-bottom: 15px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.clear {clear: both;}
.color1, .color1 a {
	color: #0074ea !important;
}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.tc {text-align: center;}
.tr {text-align: right;}
.tl {text-align: left;}
.fl {float: left;}
.fr {float: right;}
.big1 {font-size: 40px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.fw500 {
	font-weight: 500;
}
.fw600 {
	font-weight: 600;
}
.dn {display: none;}
.sh {display: none;}
.notice {
	background: #c4e6f8;
}
.bgc1 {
	background: #dedede;
}
.bgc2 {
	background: #cfefef;
}


/*幅1160px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1160px){
/*タイトル
---------------------------------------------------------------------------*/
h1{
	font-size: 70px;
}
}

/*幅1024px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1024px){
h1{
	font-size: 55px;
	top: 14%;
}
/*スマホメニュー
---------------------------------------------------------------------------*/
body {
	position: relative;
}
/*メニューブロック*/
#menu_sp {
	overflow: auto;
	text-align: left;
	position: absolute;
	z-index: 100;
	top: 0;
	width: 100%;
	background: rgba(0,0,0,0.8);
	border-top: 1px solid #fff;
	animation-name: opa1;
	animation-duration: 0.5s;
	animation-fill-mode: both;
	font-size: 16px;
	margin-top: 70px;
}
#menu_sp ul li.current {
	display: block;
	padding: 14px 20px;
	border-bottom: 1px solid #fff;
	color: #ffd700;
}
#menu_sp ul li a {
	display: block;
	text-decoration: none;
	padding: 14px 20px;
	border-bottom: 1px solid #fff;
	color: #fff;
}
#menu_sp ul li a:hover {
	background: #333;
}
/*PC用メニュー非表示*/
header {
	display: none !important;
}
/*ハンバーガーアイコン*/
.toggle_btn {
	display: inline-block;
	width: 44px;
	height: 44px;
	background: url(../images/open.png) no-repeat center/44px;
	border: 2px solid #fff;	
	position: absolute;
	top: 10px;
	left: 46%;
	cursor: pointer;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
.toggle_btn.selected {
	background: url(../images/close.png) no-repeat center/44px;
}
.toggle_txt {
	display: none;
}
div#scroll_btn{
	display: none;
}
.bg-slider {
	height: 50vh;
}
/*コンテンツ
---------------------------------------------------------------------------*/
#contents h2 {
	margin-bottom: 10px !important;
	font-weight: 600 !important;
}
}
/*幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){
h1{
	font-size: 40px;
	top: 14%;
}
}

/*幅599px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:599px){

/*全体
---------------------------------------------------------------------------*/
body {
	line-height: 1.8;
}
/*メニューナビ
---------------------------------------------------------------------------*/
#menu_sp ul li a, #menu_sp ul li.current {
	padding: 13px 15px;
}
h1{
	font-size: 35px;
	top: 12%;
}

/*コンテンツ
---------------------------------------------------------------------------*/
#contents {
	padding: 3%;	
}
/*h2タグ*/
#contents h2 {
	margin-top: 10px;
	line-height: inherit;
	padding-left: 12px;
}
/*h3タグ*/
#contents h3 {
	background: url(../images/mark.png) 8px 10px / 16px 16px no-repeat;
	padding-left: 30px;
}
/*段落タグ設定*/
#contents p {
	padding: 0px 10px 20px;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
#footlist {
	padding: 3%;
}
#footlist .lbl, #footlist .rbl {
	display: block;
	width: 98%;
	padding: 2% 1%;
}
}

/*幅520px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:520px){
h1{
	font-size: 30px;
	top: 12%;
}
}
/*幅450px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:450px){
h1{
	font-size: 25px;
	top: 12%;
}
}
/*幅380px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:380px){
h1{
	font-size: 20px;
}
}