@charset "utf-8";
body{
	background-color: #fff;
	color: #1c1c1c;
	font-size: 16px;
	font-family: "メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS P Gothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Arial","Helvetica","Verdana","sans-serif";
}

@media screen and (max-width: 768px) {
	body{
		font-size: 14px;
	}
}

p{
	line-height: 1.8em;
}

span{
	display: inline-block;
}

img.img-center{
	margin: 0 auto !important;
}

img[src$=".svg"]{
	width: 100%;
}

@-ms-viewport {
	width: auto;
}

.txt11{font-size: 0.688em;}/*11px*/
.txt13{font-size: 0.813em;}/*13px*/
.txt14{font-size: 0.875em;}/*14px*/
.txt20{font-size: 1.250em;}/*20px*/
.txt24{font-size: 1.5em;}/*24px*/
.txt30{font-size: 1.875em;}/*30px*/
.txt40{font-size: 2.5em;}/*40px*/
.txt60{font-size: 3.750em;}/*60px*/


/* header
------------------------------------------------------------ */
header#headerTopPC{
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	position: fixed;
}

header#headerTopPC.scrl{
	background: rgba(0,0,0,0.5);
}

header#headerContentPC{
	background: #fff;
	border-bottom: 7px #7CBD51 solid;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
}

header#headerContentPC.scrl{
	position: fixed;
	background: rgba(255,255,255,0.8);
}

header h1{
	margin-top: 15px;
}

header h1 small.targetUser01{
	color: #7CBD51;
	margin: 0 2.0em;
	padding: 0.25em;
	border-top: 1px  #7CBD51 dotted;
	border-bottom: 1px  #7CBD51 dotted;
}

header #topLogin{
	margin: 20px 0 0 0;
	text-align: center;
	color: #fff;
}
header #topLogin div div div{
	border-radius: 3px;
}

header #topLogin p{
	margin: 0;
	height: 2.0em;
	overflow: hidden;
}

header #topLogin div.login-p{
	border: 3px #7CBD51 solid;
	background-color: #7CBD51;
}

header #topLogin div.login-c{
	border: 3px #64C4F2 solid;
	background-color: #64C4F2;
}

header #topLogin div p.login{
	background: #f4f4f4;
	font-weight: bold;
	border-radius: 0 0 3px 3px;
	color: #000;
	padding-top: 3px;
}

header #topLogin div a:hover{
	text-decoration: none;
}

header #topLogin a{color: #fff;}
header #topLogin a:hover{color: #FAE868;}

header #topLogin button{
	padding: 0;
	border: 0;
	background: #f4f4f4;
	font-weight: bold;
	border-radius: 0 0 3px 3px;
	color: #000;
	height: 2.0em;
	overflow: hidden;
	font-size: 1em;
}

header#headerTopSP h1,
header#headerContentSP h1{
	max-width: 90%;
	margin: 0;
	padding: 10px;
}

header#headerContentSP{
	background: #fff;
	border-bottom: 7px #7CBD51 solid;
}



/* Tags
------------------------------------------------------------ */
#sideTag{
	position: fixed;
	z-index: 999;
	top: 150px;
	right: 0;
}

#sideTag img{
	display: block;
	margin-bottom: 20px;
}

#bottomTag{
	width: 100%;
	position: fixed;
	z-index: 999;
	bottom: 0;
}

#bottomTag div{
	height: 3.0em;
	font-weight: bold;
}

#bottomTag div.kojin{
	background: #7CBD51;
}

#bottomTag div.kojinTop{
	background-color: #f0ad4e;
}

#bottomTag div.kigyo{
	background: #64C4F2;
}

#bottomTag p{
	padding: 0.5em 0 0 0;
}

#bottomTag p.txt11{
	padding: 1.25em 0 0 0;
}


#bottomTag p a{color: #fff;}
#bottomTag p a:hover{text-decoration: none;}



/* contentOffice
------------------------------------------------------------ */
#contentOffice{
	border-bottom: 10px #FAE868 solid;
}

#contentOffice section{
	padding: 50px 0;
	background: #fff;
}

#contentOffice h2{
	border: 0;
	margin: 0 0 20px 0;
}

#contentOffice h2 img{
	max-width: 90%;
}

#contentOffice div.office{
	margin-bottom: 20px;
}

#contentOffice div.office h3{
	border-bottom: 1px #ccc solid;
	padding: 0 0 0.25em 0.25em;
	margin-bottom: 0.75em;
	color: #4C302C;
	font-weight: bold;
}

#contentOffice div.office h3 i{
	padding-right: 0.5em;
}

#contentOffice div.office h3 i.fa-bookmark{
	color: #FAE868;
}

#contentOffice div.office h3 small{
	padding-left: 1.0em;
}

#contentOffice div.office img{
	float: left;
	margin: 0 14px 0 0;
}

@media screen and (max-width: 768px) {
	#contentOffice h2 img{
		max-width: 80%;
	}
	#contentOffice div.office img{
		max-width: 40%;
	}
}

#contentOffice div.office p{
	margin: 0;
}

#contentOffice div.office a.btn{
	margin-top: 20px;
}



/* footer
------------------------------------------------------------ */
footer section{
	padding: 50px 0;
	background: url(../img/bg_footer.png) top right;
}

footer h3{
	color: #7cbd51;
	border-bottom: 3px #ccc double;
	padding: 0 0 0.25em 0;
	font-weight: bold;
	line-height: 0.8em;
}

footer h3 span{
	color: #4C302C;
}

footer h3 small{
	padding-left: 2.75em;
	color: #999;
	letter-spacing: 0.1em;
	font-size: 0.5em;
}

footer div.footerInfo{
	margin-bottom: 60px;
}

footer div.footerInfo dl{
	margin-top: 20px;
}

footer div.footerInfo dl dt{
	font-weight: normal;
	color: #777;
	border-left: 3px #FAE868 solid;
	padding-left: 1.0em;
}

footer div.footerInfo dl dd{
	margin-bottom: 1.0em;
	border-left: 3px #ccc solid;
	padding-left: 1.0em;
	font-weight: bold;
}

footer div.footerInfo p{
	margin: 0;
}

footer div#footerLinks div div:nth-child(even){
	border-left: 1px #ccc solid;
	border-right: 1px #ccc solid;
}

@media screen and (max-width: 768px) {
	footer{
		padding: 0 0 70px 0;
	}
	footer section{
		padding: 20px 0;
	}
	footer h3{
		line-height: 1.25em;
	}
	footer h3 i.fa{
		display: none;
	}
	footer h3 small{
		padding: 0;
	}

	footer div#footerLinks div+div{
		border-bottom: 1px #ccc solid;
	}

	footer div#footerLinks div div{
		padding:1.0em 0 1.0em 1.0em;
		text-align: left;
	}

	footer div#footerLinks div div:nth-child(even){
		border: 0;
	}

	footer div#footerLinks div div{
		border-top: 1px #ccc solid !important;
	}

	footer div#footerLinks div div a{
		display: block;
	}

	footer div#footerLinks div div a:hover{
		text-decoration: none;
	}
}



/* pageTop
------------------------------------------------------------ */
#pageTop {
	cursor: pointer;
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 9999;
}
#pageTop img {
	max-width: 100%;
	opacity: 0.9;
	right: 0;
}

@media screen and (max-width: 767px) {
	#pageTop {
		bottom: 50px;
		height: 50px;
		right: 5px;
		width: 50px;
	}
}



/* ==========================================================================
 * エラーメッセージ表示用調整　2022/06/15 追加
 * ========================================================================== */
 #uidata-registbox dl dd div
{
 	margin-bottom: 1em;
}
.form-inline .radio-extention
{
	line-height: 1.8em;
}
/* cakeで作成されたtextareaのdivの余白を削除 */
div.nomarginB dl dd div.text,
div.nomarginB dl dd div.textarea,
div.nomarginB dl dd div.select {
	margin-bottom: 0px !important;
}
.form-inline input[type=radio],
.form-inline input[type=checkbox],
.form-inline input[type=text] {
	margin-right: 5px;
	margin-bottom: 5px;
}
/* テキスト、セレクトボックスをインライン表示 */
.form-inline dd .select,
.form-inline dd .text,
.form-inline dd .number
{
   display: inline-block;
}

/* バリデーションエラーのエラーメッセージ表示部分 ここから */
.message {
    padding: 15px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 4px;
}

.error {
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;
}
.error:before
{
    font-family: "FontAwesome";
    content: '\f071';
    font-weight: 800;
    padding-right: 5px;
}
.error-message,
.error-messages
{
    color: #a94442;
    background-color: #f2dede;
    border-color: #ebccd1;

    padding: 5px 10px;
    margin: 10px auto;
    border: 1px solid transparent;
    border-radius: 4px;
    font-size: 0.9em;
}
.error-message:before,
.error-messages li:before
{
    font-family: "FontAwesome";
    content: '\f071';
    font-weight: 800;
    padding-right: 5px;
}

/* 複数エラーが出た場合 */
ul.error-messages
{
	margin: 10 auto !important;
}
.error-messages li
{
    list-style: none;
}

/* バリデーションエラーのエラーメッセージ表示部分 ここまで */

/* reCAPTCHA v3 バッジ表示位置調整 ここから */
.grecaptcha-badge{
	margin-bottom: 120px;
}
/* reCAPTCHA v3 バッジ表示位置調整 ここまで */