/*-------------------------------------------------------------

default.css

-------------------------------------------------------------*/
html{
	font-size:1px;
	height:100%;
}
body {
	letter-spacing:-0.001em;
	text-size-adjust:none;
	-webkit-text-size-adjust:none;
	-webkit-font-smoothing:antialiased;
	margin:0px;
	padding:0px;
	text-decoration:none;
	text-align:center;
	font-size:14rem;
	line-height:1.005;
	background-color: #fff;
	color:#333;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	height:100%;
}
.wrap{
	min-width: 1200px;
	height:100%;
}
/*-----834以下-----*/
@media screen and (max-width: 834px) {
	.wrap{
		min-width:0;
	}
}

img{
	border:none;
	vertical-align:top;
}

a         {color: #099; text-decoration:none}
a:hover   {color: #c39; text-decoration:none}

/*--Reset--*/
*{
	margin:0;
	padding:0;
}

a{
	text-decoration:none;
	overflow:hidden;
	outline:none;
}

ul,ol{
	list-style:none;
}

/*submit・button*/
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"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*-----clear-----*/
.clearfix {zoom:1;}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.floatClear{
	clear:both;
	height:1px;
	font-size:1px;
	color:#fff;
	overflow:hidden;
	padding:0;
	margin:0;
}

/*-----BR・BLOCK 表示設定-----*/
.mbr{display:none;}
.mbr2{display:none;}
.mdisp{display:none;}
.mdisp2{display:none;}
.mdispblock{display:none;}
.mdispblock2{display:none;}

/*-----1119以下-----*/
@media (max-width: 1119px) {
	.mnobr{display:none;}
	.mbr{display:inline;}
	.mnodisp{display:none;}
	.mdisp{display:inline;}
	.mnodispblock{display:none;}
	.mdispblock{display:block;}
}

/*-----834以下-----*/
@media screen and (max-width: 834px) {
	.mnobr2{display:none;}
	.mbr2{display:inline;}
	.mnodisp2{display:none;}
	.mdisp2{display:inline;}
	.mnodispblock2{display:none;}
	.mdispblock2{display:block;}
}

/*-----------------------------------------------------------
print
-------------------------------------------------------------*/
@media print{
	html{
		zoom:85%;
	}
	*{
		-webkit-print-color-adjust: exact;
		color-adjust: exact;
	}
}

/*------------------------------------------------------------
明兆・ゴシック
------------------------------------------------------------*/
.mincho{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Noto Serif JP", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif!important;
}
.gothic{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif!important;
}

/*------------------------------------------------------------
GLOBAL
------------------------------------------------------------*/
.commJust,
.commJust p,
.commJust li{
	text-align: justify!important;
	text-justify: inter-ideograph!important;
	hanging-punctuation: allow-end!important;
}

.noBackgroundImage{
	background-image:none;
}


/*------------------------------------------------------------
HEAD
------------------------------------------------------------*/
header{
	z-index: 100;
	background-color: #549d44;
}

.headTop{
	background-color:#fff;
}
.headTopInner{
	width:1200px;
	margin:0 auto;
	display: flex;
	align-items:center;
	height:60px;
	box-sizing: border-box;
	padding:0 20px;
}
.headTop .headTopCom{
	width:65%;
}
.headTop .headTopCom p{
	font-size:24rem;
	color:#398;
	text-align:left;
}
.headTop .headTopKensaku{
	width:35%;
	text-align:right;
}
.headTop .headTopKensaku .headTopKensakuInner{
	display: inline-block;
	//display:none;
}
.headTop .headTopKensaku .headTopKensakuInner span{
	display: block;
	float: left;
	border:solid 1px #ccc;
	box-sizing: border-box;
	padding: 4px;
	background-color: #fff;
}
.headTop .headTopKensaku .headTopKensakuInner input{
	border:none;
	font-size: 16rem;
	width:261px;
}
.headTop .headTopKensaku .headTopKensakuInner a{
	display: block;
	float: left;
	background-color: #246b5f;
	color:#fff;
	margin-left:10px;
	font-size: 14rem;
	padding: 7px 1.5em;
}

.headMain{
	width:1200px;
	margin:0 auto;
}
.headMainInner{
	padding:25px 20px;
}

.headMain01{
	margin-bottom: 35px;
}
.headMain01 h1,
.headMain01 .headTitle{
	font-size: 62rem;
	color:#fff;
	font-weight: normal;
	float:left;
}
.headMain01 .headMainSubMenu{
	float:right;
	padding-top: 12px;
}
.headMain01 .headMainSubMenu ul{
	display: flex;
}
.headMain01 .headMainSubMenu li a{
	display: block;
	color:#246b5f;
	font-size: 14rem;
	padding:0.6em 1.3em 0.4em 1.3em;
	margin-right:0.65em;
	background-color: rgba(255,255,255,0.8);
	transition: 0.2s;
}
.headMain01 .headMainSubMenu li:last-of-type a{
	margin-right:0;
}
.headMain01 .headMainSubMenu li a:hover{
	background-color: rgba(255,255,255,0.95);
}

.headMainMenu{

}
.headMainMenu ul{
	display: flex;
	align-items: stretch;
}
.headMainMenu li{
	display: flex;
	flex-grow: 1;
	align-items: stretch;
}
.headMainMenu li:first-of-type{

}
.headMainMenu li a{
	width:95%;
	color:#fff;
	font-size: 17rem;
	line-height:1.5;
	display: flex;
	align-items: center;
	margin:0 auto;
	padding-bottom:13px;
	border-bottom:solid 3px rgba(255,255,255,0.8);
	transition: 0.2s;
	white-space:nowrap;
}
.headMainMenu li a span{
	display: block;
	width:100%;
}
.headMainMenu li a:hover{
	color:rgba(255,255,192,1);
	border-bottom:solid 3px rgba(255,255,64,1);
}

/*トップ以外*/
header.content .headTop{
	background-color:rgba(0,0,0,0);
}
header.content .headTopInner{
	height:auto;
	padding:10px 20px 0 20px;
}
header.content .headTop .headTopCom{
	width:70%;
}
header.content .headTop .headTopCom p{
	font-size:16rem;
	color:#fff;
}

header.content .headMainInner{
	padding:5px 20px 15px 20px;
}

header.content .headMain01{
	margin-bottom: 15px;
}
header.content .headMain01 h1,
header.content .headMain01 .headTitle{
	font-size: 42rem;
}
header.content .headMain01 .headMainSubMenu{
	padding-top: 12px;
}

header.content2 .headMainInner{
	padding-top:15px;
}
header.content2 .headMain01{
	margin-bottom: 0;
}

/*-----print-----*/
@media print{
	header.contents{
		position: relative;
	}
}

/*-----834以下-----*/
@media screen and (max-width: 834px) {

	.headTop{
		background-color:rgba(0,0,0,0);
	}
	.headTopInner{
		width:auto;
		display: block;
		height:auto;
		padding:10px 2%;
	}
	.headTop .headTopCom{
		width:auto;
	}
	.headTop .headTopCom p{
		font-size: 3.1vw;
		color:#fff;
		line-height:1.4;
		text-align: center;
	}
	.headTop .headTopCom p span{
		display: inline-block;
	}

	.headMain{
		width:auto;
	}
	.headMainInner{
		padding:0;
	}

	.headMain01{
		margin-bottom:0;
		padding:0 0 10px 0;
	}
	.headMain01 h1,
	.headMain01 .headTitle{
		font-size: 7vw;
		float:none;
	}

	.headTop .headTopKensaku,
	.headMain01 .headMainSubMenu,
	.headMainMenu{
		display:none;
	}

	/*トップ以外*/
	header.content .headTopInner{
		height:auto;
		padding:0;
	}
	header.content .headTop .headTopCom{
		width:auto;
		padding:10px 2%;
	}
	header.content .headTop .headTopCom p{
		font-size: 3.1vw;
		color:#fff;
		line-height:1.4;
		text-align: center;
	}

	header.content .headMainInner{
		padding:0;
	}

	header.content .headMain01{
		margin-bottom: 0;
	}
	header.content .headMain01 h1,
	header.content .headMain01 .headTitle{
		font-size: 7vw;
	}

	header.content2 .headMainInner{
		padding-top:15px;
	}


}

/*------------------------------------------------------------
FOOT
------------------------------------------------------------*/
footer{
	background-color:#3c8452;
	color:#fff;
	padding:50px 0;
}
footer .footInner{
	width:1200px;
	margin:0 auto;
}

footer .footMainBox{
	display: flex;
	padding: 0 100px;
	margin-bottom: 50px;
}
footer .footMainBox nav{
	width:40%;
}
footer .footMainBox div{
	width:20%;
}

footer .footMainBox nav li{
	margin-bottom: 20px;
	text-align: left;
}
footer .footMainBox nav li:last-of-type{
	margin-bottom: 0;
}
footer .footMainBox nav li a{
	color:#fff;
	font-size: 16rem;
	transition: 0.2s;
}
footer .footMainBox nav li a:hover{
	color:rgba(255,255,128,1);
}

footer .footMainBox .footBanner li{
	margin-bottom: 30px;
}
footer .footMainBox .footBanner li:last-of-type{
	margin-bottom: 0;
}
footer .footMainBox .footBanner li a{
	transition: 0.2s;
}
footer .footMainBox .footBanner li a:hover{
	opacity: 0.7;
}

footer .footCopy{
	border-top: solid 1px rgba(255,255,255,0.5);
	font-size:14rem;
	padding-top: 50px;
}
footer.footer2 .footCopy{
	border-top: none;
	padding-top: 0;
}

.toTheTop{
	display:block;
	position:fixed;
	z-index:2000;
	bottom:-360px;
	right:10px;
	cursor:pointer;}
.toTheTop a{
	display:block;
	width:60px;
	height:60px;
	padding:0;
	background:url(../image_gl/gl_foot_page_top.png?3) center center no-repeat;
	background-size:cover;}

.toTheHome{
	display:block;
	position:fixed;
	z-index:2000;
	bottom:-360px;
	right:90px;
	cursor:pointer;}
.toTheHome a{
	display:block;
	width:60px;
	height:60px;
	padding:0;
	background:url(../image_gl/gl_foot_home.png?3) center center no-repeat;
	background-size:cover;}

.openMenu{
	display:none;
}

/*-----print-----*/
@media print{
	.toTheTop,.toTheHome,.openMenu{
		display:none;
	}
}

/*-----834以下-----*/
@media screen and (max-width: 834px) {

	footer{
		padding:0 0 90px 0;
	}
	footer .footInner{
		width:auto;
	}
	footer.footer2{
		padding:0 0 60px 0;
	}

	footer .footMainBox{
		display: block;
		padding: 0;
		margin-bottom: 20px;
	}
	footer .footMainBox nav{
		width:auto;
	}
	footer .footMainBox div{
		width:auto;
		margin-top: 20px;
	}

	footer .footMainBox nav li{
		margin-bottom: 0;
	}
	footer .footMainBox nav li a{
		display: block;
		position: relative;
		font-size: 16rem;
		padding:0.75em 4%;
		border-bottom: solid 1px rgba(255,255,255,0.5);
	}
	footer .footMainBox nav li a::after{
		content: "";
		display: block;
		position: absolute;
		border-top: solid 1px #fff;
		border-right: solid 1px rgba(255,255,255,0.5);
		width:16px;
		height:16px;
		transform: rotate(45deg);
		right:4%;
		top:50%;
		margin-top: -9px;
	}

	footer .footMainBox .footBanner li{
		margin-bottom: 20px;
	}
	footer .footMainBox .footBanner li:last-of-type{
		margin-bottom: 0;
	}

	footer .footCopy{
		font-size:14rem;
		padding-top: 20px;
	}
	footer.footer2 .footCopy{
		padding-top: 60px;
	}

	.toTheTop{
		bottom:10px!important;
	}
	.toTheTop a{
		width:50px;
		height:50px;
	}

	.toTheHome{
		display:none;
	}

	.openMenu{
		display:block;
		position:fixed;
		z-index:2000;
		bottom:10px;
		left:10px;
		cursor:pointer;
	}
	.openMenu a{
		display:block;
		width:50px;
		height:50px;
		padding:0;
		background:url(../image_gl/gl_foot_menu.png?3) center center no-repeat;
		background-size:cover;
	}

}

/*-----ポップアップメニュー----*/
.popupBox{
	display: none;
	background-color: rgba(255,255,255,0.95);
	position: fixed;
	z-index: 1900;
	top:0;
	left:0;
	height:100%;
	width:100%;
}
.popupBoxInner{
	padding:0 4%;
	height:100%;
	box-sizing: border-box;
	overflow: scroll;
}
.popupBoxInner::-webkit-scrollbar {
  background: #eee;
  width: 3px;
  height: 0;
}
.popupBoxInner::-webkit-scrollbar-thumb {
  background-color: #ccc;
}
.popupClose{

}
.popupClose a{
	display: block;
	background-color: #549d44;
	color:#fff;
	margin:20px 70px;
	font-size: 14rem;
	padding:0.75em 0;
}

.popupKensaku{
	margin-bottom: 20px;
}
.popupKensaku .popupKensakuInner{
	//display:none;
}
.popupKensaku span{
	display: block;
	float: left;
	border:solid 1px #ccc;
	box-sizing: border-box;
	padding: 4px;
	background-color: #fff;
	width:70%;
}
.popupKensaku input{
	border:none;
	font-size: 16rem;
	width:100%;
}
.popupKensaku a{
	display: block;
	float: left;
	background-color: #246b5f;
	color:#fff;
	margin-left:2%;
	font-size: 14rem;
	padding: 7px 1.5em;
	box-sizing: border-box;
	width:28%;
}

.popupBox ul{
	border-top: dashed 1px rgba(0,0,0,0.25);
}
.popupBox li a{
	display: block;
	position: relative;
	font-size: 14rem;
	padding:1em 1.2em 1em 0;
	border-bottom: dashed 1px rgba(0,0,0,0.25);
	text-align: left;
	color:#333;
}
.popupBox li a::after{
	content: "";
	display: block;
	position: absolute;
	border-top: solid 1px #666;
	border-right: solid 1px #ccc;
	width:16px;
	height:16px;
	transform: rotate(45deg);
	right:4%;
	top:50%;
	margin-top: -9px;
}

/*------------------------------------------------------------
CONTENTS
------------------------------------------------------------*/

.contentsBox{
	position: relative;
	overflow: hidden;
	min-height:600px;
}

.mainBox{
	width:1200px;
	margin: 0 auto;
}
.mainBoxInner{
	padding:50px;
}

.mainBox h1{
	text-align: left;
	color:#099;
	font-weight: normal;
	font-size: 40rem;
	padding-bottom:0.25em;
	border-bottom: solid 5px #099;
	margin-bottom:1em;
}

.pankuzu{
	text-align:left;
}
.pankuzu ul{
	padding: 10px 0 10px 10px;
	background-color: #eee;
}
.pankuzu li{
	display:inline-block;
	font-size: 13rem;
}
.pankuzu li::before{
	content:"＞";
	padding:0 5px;
}
.pankuzu li:first-child::before{
	content:"";
	padding:0;
}
.pankuzu li a{
	color:#595757;
}
.pankuzu li a:hover{
	color:#099;
}

.mainBox{

}

.mainBox sub{
	font-size:75%;
	vertical-align: baseline;
}


/*-----print-----*/
@media print {
	.mainBoxInner{
		padding:50px 0;
	}
}

/*-----834以下-----*/
@media screen and (max-width: 834px) {

	.contentsBox{
		min-height:0px;
	}

	.mainBox{
		width:auto;
	}
	.mainBoxInner{
		padding:20px 0;
	}

	.mainBox h1{
		font-size: 22rem;
		line-height:1.4;
		border-bottom: solid 3px #099;
		padding:0 2% 0.25em 2%;
		font-weight: bold;
	}

	.pankuzu ul{
		padding: 6px 2%;
		background-color: #eee;
	}
	.pankuzu li{
		font-size: 12rem;
	}

	.mainBox{

	}

}


/*-----414以下-----*/
@media (max-width: 414px) {
	.defTable table th,
	.defTable table td{
		font-size: 12rem;
	}
}


/*--moveBox--*/

.moveBox{
	margin:50px 0;
}
.moveBox ul{
}
.moveBox li{
	display: inline-block;
}
.moveBox li a{
	display: block;
	font-size:14rem;
	transition:ease-out 0.2s;
	min-width:40px;
	padding:10px 0;
	border-radius: 1px;
	background-color: #099;
	color:#fff;
	margin:0 5px;
}
.moveBox li:first-child a,
.moveBox li:last-child a{
	min-width:100px;
}
.moveBox li a:hover{
	background-color:#c39
}
.moveBox li a.now,
.moveBox li.now a{
	background-color:#9cc;
	color:#5d493e;
}
.moveBox li a.hidden{
	background-color:#ddd;
	color:#666;
}
.moveBox li a.hidden:hover{
	background-color:#ddd;
	color:#666;
}

/*-----834以下-----*/
@media screen and (max-width: 834px) {

	/*--moveBox--*/

	.moveBox{
		margin:15% 0;
		font-size:14rem;
	}
	.moveBox ul{
	}
	.moveBox li{
		display: inline-block;
	}
	.moveBox li a{
		display: block;
		transition:ease-out 0s;
		font-size:3vw;
		min-width:3em;
		padding:0.6em 0;
		border-radius: 5px;
		background-color: #099;
		color:#fff;
		margin:0 0.2em 0.6em 0.2em;
	}
	.moveBox li:first-child a,
	.moveBox li:last-child a{
		min-width:0;
		padding-right:0.5em;
		padding-left:0.5em;
	}
}

/*------------------------------------------------------------
ログインメニュー
------------------------------------------------------------*/

.loginMenu{
	background-color: #364;
	display: flex;
	padding:5px;
}
.loginMenu .loginMenuUserName{
	color:#fff;
	padding:8px 0;
	font-size: 14rem;
	text-align: left;
}
.loginMenu ul{
	display: inline-block;
	color:#fff;
	flex: auto;

	text-align: right;
}
.loginMenu li{
	display: inline-block;
	color:#fff;
	margin-right: 5px;
}
.loginMenu li:last-of-type{
	margin-right: 0;
}
.loginMenu li a{
	display: block;
	color:#fff;
	padding:8px 10px;
	box-sizing: border-box;
	font-size: 14rem;
	background-color: rgba(255,255,255,0.9);
	color:#066;
}

/*-----834以下-----*/
@media screen and (max-width: 834px) {

	.loginMenu{
		display: block;
		padding:5px;
	}
	.loginMenu .loginMenuUserName{
		padding:4px 0 10px 0;
		font-size: 12rem;
	}
	.loginMenu ul{
		text-align: center;
	}
	.loginMenu li a{
		padding:6px 8px;
		font-size: 12rem;
	}

}


/*------------------------------------------------------------
マイページ
------------------------------------------------------------*/
.maypage_wrap{
	display: flex;
}

.maypage_wrap nav{
	width:20%;
}
.mypageMain{
	width:80%;
}
.mypageMainInner{
	margin-left: 50px;
}

.maypage_wrap nav .mypageSideTitle{
	font-size: 20rem;
	color:#099;
	margin-bottom: 10px;
	text-align: left;
}
.maypage_wrap nav li{
	margin-bottom: 2px;
	text-align: left;
}
.maypage_wrap nav li a{
	display: block;
	font-size: 14rem;
	line-height: 1.5;
	padding:11px 2px 11px 10px;
	background-color: #099;
	color:#fff;
	transition: 0.2s;
}
.maypage_wrap nav li a:hover{
	background-color: #6aa;
}

/*-----834以下-----*/
@media screen and (max-width: 834px) {

	.maypage_wrap{
		display: flex;
		flex-flow: column-reverse
	}
	
	.maypage_wrap nav{
		width:auto;
	}
	.mypageMain{
		width:auto;
		margin-bottom:40px;
	}
	.mypageMainInner{
		margin-left: 0;
		padding:0 2%;
	}
	
	.maypage_wrap nav .mypageSideTitle{
		font-size: 16rem;
	}
	.maypage_wrap nav li{
		margin-bottom: 0;
	}
	.maypage_wrap nav li a{
		display: block;
		position: relative;
		font-size: 14rem;
		padding:0.75em 4%;
		border-bottom: solid 1px rgba(255,255,255,0.5);
	}
	.maypage_wrap nav li a::after{
		content: "";
		display: block;
		position: absolute;
		border-top: solid 1px #fff;
		border-right: solid 1px rgba(255,255,255,0.5);
		width:16px;
		height:16px;
		transform: rotate(45deg);
		right:4%;
		top:50%;
		margin-top: -9px;
	}

}


/*------------------------------------------------------------
ログイン
------------------------------------------------------------*/
.myLoginComm{
	font-size:16rem;
	line-height:1.6;
	margin-bottom:40px;
}
.myLogin{
	box-sizing:border-box;
	background-color: #f3f5f4;
	padding:25px 40px;
	margin:0 auto;
	text-align: left;
	width:50%;
}
.myLoginForm{
	margin-bottom:30px;
}
.myLoginForm li{
	display: flex;
	align-items: flex-end;
	margin-bottom:30px;
	padding-bottom: 8px;
	border-bottom: solid 1px #ccc;
}
.myLoginForm li span:nth-child(1){
	width:23%;
}
.myLoginForm li span:nth-child(2){
	width:77%;
}
.myLoginForm li span:nth-child(2)::before{
	content: "：";
}
.myLoginForm li input{
	font-size: 16rem;
	padding:0;
	border: none;
	background-color: rgba(0,0,0,0);
	width:90%;
}

.myLoginBtn{
	margin-bottom:30px;
}
.myLoginBtn a{
	display: block;
	font-size:20rem;
	border: solid 1px #000;
	padding:15px 0 13px 0;
	text-align: center;
	transition: 0.2s;
}
.myLoginBtn li.toroku a{
	color:#c69;
	border-color: #c69;
	margin-right:8px;
}
.myLoginBtn li.myLogin a{
	color:#099;
	border-color: #099;
	margin-left:8px;
}
.myLoginBtn li a:hover{
	background-color: rgba(255,255,255,0.9);
}

.myLoginLink li a{
	display: block;
	position: relative;
	color: #666;
	font-size: 14rem;
	padding-left:14px;
	transition: 0.2s;
}
.myLoginLink li a::before{
	content: "";
	position: absolute;
	left:0;
	top:50%;
	margin-top: -4px;
	border-left: solid 6px #099;
	border-top: solid 4px rgba(0,0,0,0);
	border-bottom: solid 4px rgba(0,0,0,0);
	transition: 0.2s;
}
.myLoginLink li a:hover{
	color: #099;
}
.myLoginLink li a:hover::before{
	left:5px;
}


.myLoginCompComm,
.myLoginWarningComm{
	font-size:16rem;
	line-height:1.6;
}



/*-----834以下-----*/
@media screen and (max-width: 834px) {

	.myLoginComm{
		font-size:14rem;
		margin-bottom:20px;
	}
	.myLogin{
		margin:0;
		padding:30px 4%;
		margin-bottom: 30px;
		width:auto;
	}
	.myLoginForm li span:nth-child(1){
		width:30%;
	}
	.myLoginForm li span:nth-child(2){
		width:70%;
	}

	.myLoginBtn li a{
		font-size:16rem;
	}

	.myLoginCompComm,
	.myLoginWarningComm{
		font-size:14rem;
	}

}


/*------------------------------------------------------------
準備中
------------------------------------------------------------*/

.junbichu{

}
.junbichu .junbichuImage{
	margin-bottom: 30px;
}
.junbichu h2{
	font-size:34rem;
	margin-bottom: 0.6em;
	font-weight: normal;
}
.junbichu p{
	font-size:16rem;
	line-height: 1.8;
}

/*-----834以下-----*/
@media screen and (max-width: 834px) {

}
