/* 画面全体レイアウト
----------------------------------*/
@font-face {
	font-family: "ipaexg";
	src: url("/uketuke/javax.faces.resource/fonts/ipaexg.ttf.xhtml");
	font-weight: normal;
	font-style: normal;
}

root {
	font-family: "ipaexg" !important;
}

.main-content {
  width: 850px;
  margin: 0 auto;
  border-radius: 5px;
  padding: 30px;
  font-family: "ipaexg" !important;
 -webkit-text-size-adjust: none;
 -moz-text-size-adjust: none;
 text-size-adjust: none;
}
@media screen and (max-width: 768px) {
  .main-content {
	width: 778px;
    margin: 0 auto;
    padding: 15px;
  }
}
@media screen and (max-width: 425px) {
  .main-content {
    width: 100%;
    margin: 0;
    padding: 0;
  }
}

.ui-panelgrid {
    margin-top: 1em !important;
}
/* INDEXエリアレイアウト
----------------------------------*/
.index-content {
	width: 100%;
	margin: 0 auto;
	margin: 0;
	padding: 0;
	background-color:#EBF3FB;
}

/* メイン画面 レスポンシブ設定
----------------------------------*/
main,main:befor,main:after {
	box-sizing:border-box;
}

/* インデックス レスポンシブ設定
----------------------------------*/
.index-fream {
	width:100%;
	display:flex;
	display:-ms-flexbox; /*IE10*/
	flex-wrap:wrap;
	-ms-flex-wrap:wrap; /*IE10*/
 	align-items:stretch;
	padding-top:10px;
 	padding-left:10px;
 	padding-bottom:10px;

}
.index-fream > div {
	width:18.5%;
	display:flex;
	align-items:stretch;
	margin:5px;
	padding:10px;
	border:1px solid #d8d8d8;
	background-color:#FFF;
}
.index-fream > div > div {
	margin:0 auto;
	text-align:center;
}

@media screen and (max-width: 768px){
	.index-fream {
	 	padding-left:10px;
	}
	.index-fream > div {
		margin:3px;
	}
	.index-fream > div > div {
		margin:0 auto;
		text-align:center;
	}
}

@media screen and (max-width: 425px) {
	.index-fream {
		padding-top:9px;
	 	padding-left:9px;
	 	padding-bottom:9px;
	}
	 .index-fream > div {
		width:31%;
		margin:2px;
		padding:3px;
		border:1px solid #d8d8d8;
		background-color:#FFF;
	}
	.index-fream > div > div {
		margin:0 auto;
		text-align:center;
	}
}

/* タイトル デザイン設定
----------------------------------*/
.title-fream {
	position:relative;
	margin:2.5em 0;
	padding:1em 0 1em 1.5em;
	border:4px solid #EBF3FB;
	width:100%;
}
@media screen and (max-width: 425px) {
	.title-fream {
		padding:1em 0.25em;
	}
}
.title-box {
	position:absolute;
	padding:0.35em;
	left:10px;
	top:-24px;
	font-weight:bold;
	font-size:1.2em;
	background-color:#FFF;
	color:#424242;
}
@media screen and (max-width: 425px) {
	.title-box {
		left:5px;
		top:-20px;
		font-size:1em;
	}
}

/*  メニュー　1列　レスポンシブ設定
----------------------------------*/
.menyu-fream-col1 {
	width:100%;
	display:flex;
	display:-ms-flexbox; /*IE10*/
	flex-wrap:wrap;
	-ms-flex-wrap:wrap; /*IE10*/
}
.menyu-fream-col1 > div {
	width:95.9%;
	margin:5px;
	padding:10px;
	border:1px solid #d8d8d8;
	background-color:#FFF;
}
.menyu-fream-col1 > div > div {
	margin:0 auto;
	text-align:center;
}

/*  メニュー　2列　レスポンシブ設定
----------------------------------*/
.menyu-fream-col2 {
	width:100%;
	display:flex;
	display:-ms-flexbox; /*IE10*/
	flex-wrap:wrap;
	-ms-flex-wrap:wrap; /*IE10*/
}
.menyu-fream-col2 > div {
	width:47%;
	margin:5px;
	padding:10px;
	border:1px solid #d8d8d8;
	background-color:#FFF;
}
.menyu-fream-col2 > div > div {
	margin:0 auto;
	text-align:center;
}
@media screen and (max-width: 425px) {
	 .menyu-fream-col2 > div {
		width:46.6%;
		margin:5px;
		padding:5px;

	}
	.menyu-fream-col2 > div > div {
		margin:0 auto;
		text-align:center;
	}
}

/*  メニュー　3列　レスポンシブ設定
----------------------------------*/
.menyu-fream-col3 {
	width:100%;
	display:flex;
	display:-ms-flexbox; /*IE10*/
	flex-wrap:wrap;
	-ms-flex-wrap:wrap; /*IE10*/
}

.menyu-fream-col3 > div {
	width:31.1%;
	margin:5px;
	padding:10px;
	border:1px solid #d8d8d8;
	background-color:#FFF;
}
.menyu-fream-col3 > div > div {
	margin:0 auto;
	text-align:center;
}
@media screen and (max-width: 425px) {
	 .menyu-fream-col3 > div {
		width:30%;
		margin:5px;
		padding:5px;
	}
	.menyu-fream-col3 > div > div {
		margin:0 auto;
		text-align:center;
	}
}

/* 区切り線 レスポンシブ設定
----------------------------------*/
.line{
	width:100%;
	align-items:center;
	display:flex;
	box-sizing:border-box;
	border-bottom:0.5px solid #d8d8d8;
	margin-bottom:1rem;
}

/* 区切り線 （確認画面用）
----------------------------------*/
hr {
	margin-bottom:2em;
}
.sec_line{
	background-color:#eee;
	border:none;
	height:3px;
}

/* フッター レイアウト
----------------------------------*/
footer{
	height:20px;
	margin-top:auto;
	margin-bottom:0;
	background-color:#EBF3FB;
}


/* カードエリア レスポンシブ設定
----------------------------------*/
.card-rsp {
  word-wrap:break-word;
  padding: 0 100px;
}
@media screen and (max-width: 768px) {
  .card-rsp {
    word-wrap:break-word;
    padding: 0 30px;
  }
}
@media screen and (max-width: 425px) {
  .card-rsp {
    word-wrap:break-word;
    padding: 0;
  }
}


/* テキストエリア レスポンシブ設定
----------------------------------*/
.text-rsp {
	width: 100%;
	margin:0.5rem 0;
}
@media screen and (max-width: 768px) {
  .text-rsp {
    width: 100%;
    margin:0.35rem 0;
  }
}
@media screen and (max-width: 425px) {
  .text-rsp {
    width: 100%;
    margin:0.25rem 0;
  }
}

/* 枠（同一チェックボックス用） レスポンシブ設定
----------------------------------*/
.fream {
	width: 100%;
	margin:0.5rem 0;
	border:1px solid #d8d8d8;
	background-color:#f8f8f8;
	height:45px;
	display:flex;
	align-items:center;
    padding-left:15px;
}

/* 枠（はい・いいえ用） 設定
----------------------------------*/
.sml-fream {
	width: 70%;
	margin:0.5rem 0;
	border:0.5px solid #d8d8d8;
	height:40px;
	display:flex;
	align-items:center;
    padding-left:15px;
}
@media screen and (max-width: 425px) {
  .sml-fream {
    width: 100%;
 	padding-left:10px;
  }
}

/* 枠（三択用） 設定
----------------------------------*/
.mdl-fream {
	width: 100%;
	margin:0.5rem 0;
	border:0.5px solid #d8d8d8;
	height:40px;
	display:flex;
	align-items:center;
    padding-left:15px;
}
@media screen and (max-width: 425px) {
  .mdl-fream {
    width: 100%;
 	height:80px;
 	padding-left:5px;
  }
}

/* 画像 レスポンシブ設定
----------------------------------*/
.image-rsp {
	width: 100%;
	margin:0.5rem 0;
	display:flex;
	align-items:center;
    justify-content:center;
}
/* 枠（WEB申込み不可トップ画面へ用） レスポンシブ設定
----------------------------------*/
.big-fream {
	width: 100%;
	margin:0.5rem 0;
	border:1px solid #d8d8d8;
	height:8em;
	display:flex;
	align-items:center;
    justify-content:center;
    padding:0.5rem;
}

/* 枠（WEB申込み不可トップ画面へ用） レスポンシブ設定
----------------------------------*/
.large-fream {
	width: 100%;
	border:1px solid #d8d8d8;
	display:flex;
	align-items:center;
    justify-content:center;
    padding:0.5rem;
    margin:0.5rem 0;
}

/* aタグボタン
----------------------------------*/
.a-button a {
	background: #25A4D4;
	color: #f8fafc;
	border: 1px solid #25A4D4;
	outline: 0 none;
	border-radius: 4px;
	align-items:center;
    justify-content:center;
    padding:7px 15px;
    margin-top:0.5rem;
	margin-bottom:0.5rem;

}
.a-button a:hover {
  	background: #1B81B6;
  	border-color: #1B81B6;
  	color: #f8fafc;
}

/* hタグボタン
----------------------------------*/
.h-button {
	background: #25A4D4;
	color: #ffffff;
	border: 1px solid #25A4D4;
	outline: 0 none;
	border-radius: 4px;
	align-items:center;
    justify-content:center;
    padding:7px 15px;
    margin-top:0.5rem;
	margin-bottom:0.5rem;
}
.h-button a:hover {
  	background: #1B81B6;
  	border-color: #1B81B6;
  	color: #f8fafc;
}
.h-button-dsbld {
	background: #25A4D4;
	color: #ffffff;
	border: 1px solid #25A4D4;
	outline: 0 none;
	border-radius: 4px;
	align-items:center;
    justify-content:center;
    padding:7px 15px;
    margin-top:0.5rem;
	margin-bottom:0.5rem;
	opacity: 0.6;
}
/* カラー指定
----------------------------------*/
.main-color {
	color: #25A4D4;
}
.main-back-color {
	background-color: #25A4D4;
}
.second-color {
	color: #0072CE;
}
.back-color-rightBlue {
  background-color: #EBF3FB;
}
.title-color {
	color: #424242;
}

.okiden-red {
	color: #FF0000;
}

.okiden-blue {
	color: #0072CE;
}

.okiden-green {
	color: #28A745;
}

.okiden-orange {
	color: #FD7E14;
}

.okiden-pink {
	color: #E83E8C;
}
.p-one {
	text-indent: 2rem;
}

/* 見出し１
----------------------------------*/
.heading {
  line-height: 1;
  margin-bottom: 1em;
  border-bottom: solid 1px #BAE0FF;
  background-color: #EBF3FB;
}

/* 中見出し２
----------------------------------*/
.sec_heading {
  line-height: 1;
  margin-top: 2em !important;
  margin-bottom: 1em !important;
  border-bottom: solid 1.5px #0072CE;
}

/* 中見出し３（確認画面用）
----------------------------------*/
.trd_heading {
  line-height: 1;
  margin-top: 1em !important;
  border-bottom: solid 1px #0072CE;
}

/* 中見出し４
----------------------------------*/
.four_heading {
  line-height: 1;
  margin-top: 1.5em;
  margin-bottom: 1em;
  border-bottom: solid 1.5px #72c4e2;
}

/* 必須ラベル
----------------------------------*/
label.required:after {
  margin-left: 0.5rem;
  padding: 1px 2px;
  border-radius: 3px;
  font-size: 11px;
  color: #fff;
  background-color: #DC3545;
  content: '必須';
}

/* 任意ラベル
----------------------------------*/
label.non-required:after {
  margin-left: 0.5rem;
  padding: 1px 2px;
  border-radius: 3px;
  font-size: 11px;
  color: #fff;
  background-color: #149EC7;
  content: '任意';
}

/* 太文字指定
----------------------------------*/
.font-b{
	font-weight: bold;
}



/* 見出し文字 （管理画面用）
----------------------------------*/
.h01 {
	margin: 10px 0;
	font-size: 4em;
	font-weight: bold;
	color: #2b69a2;
}

/* エラーエリア
----------------------------------*/
.error {
  	color: #9b0000;
  	background-color: #ffff95;
}

/* 項目ラベル_1 （上・白文字）
----------------------------------*/
.label-top-wht {

	text-align:center;
  	color: #ffffff;
  	background-color: #2E72B0;
}

/* 項目ラベル_2 （横・細文字）
----------------------------------*/
.label-left {

	text-align:left;
  	color: #000000;
  	background-color: #BCE0F2;
}

/* 項目ラベル_2 （横・太文字）
----------------------------------*/
.label-left-font-b {

	text-align:left;
	font-weight: bold;
  	color: #000000;
  	background-color: #BCE0F2;
}

/* アクションボタン_1
----------------------------------*/
.button_1 {
  background: #ff8080 !important;
  color: #ffffff!important;
  border: 1px solid #ff8080 !important;
  margin:10px 0  !important;
  outline: 0 none !important;
  border-radius: 4px !important;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s !important;
}
.button_1.ui-state-hover {
  background: #ff5b5b!important;
  border-color: #ffffff!important;
  color: #ffffff !important;
}
.button_1.ui-state-focus {
  outline: 0 none !important;
  outline-offset: 0 !important;
  box-shadow: 0 0 0 0.2em #ffbbbb!important;
}
.button_1.ui-state-active, .button_1.ui-state-down {
  background: #b00000!important;
  border-color: #b00000 !important;
  color: #ffffff !important;
}
/* アップロード画面
----------------------------------*/
.ui-fileupload-content .ui-progressbar {
	width: 0px;
	height: 0px;
	margin: 0px;
}
/* リンクボタン(よくあるご質問)
----------------------------------*/
.ui-linkbutton{
	text-indent: 1rem;
}
/* ※(注釈)
----------------------------------*/
.note-mark {
	font-size: 0.6em;
	vertical-align: super;
}