@charset "utf-8";

/* ----------------------------------------------
	共通
---------------------------------------------- */
html{
	height:100%;
	font-size:10px;	/* 1rem = 10px */
}
body{
	height:100%;
	font-size:1.6rem;
	color:#000;
}

a{
	color:#000;
	text-decoration:underline;
}
a:hover{
	color:#000;
	text-decoration:none;
	opacity: 0.8;
}
.hover_item:hover {
	cursor: pointer;
	opacity: 0.8;
}
.rollover:hover {
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha( opacity=80 );
	opacity: 0.8;
}

button,input,textarea,
body{
	font-family:"Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}

i{
	display:inline-block;
	font-family:FontAwesome;
	font-style:normal;
	font-weight:normal;
}

/* -------------------------------------
	form初期設定
---------------------------------------- */
input[type="checkbox"],
input[type="radio"]{
	display:inline-block;
	margin:0 3px 0 0;
	vertical-align:middle;
}
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="search"],
input[type="email"],
input[type="password"]{
	border:1px solid #ccc;
	line-height:1.5;
	margin:0 0 3px 0;
	padding:5px 8px;
	max-width:100%;
}

textarea,
select{
	border:1px solid #ccc;
	line-height:1.5;
	margin:0 0 3px 0;
	padding:5px 8px;
}

textarea{
	resize:vertical;
}

label{
	display:inline-block;
	margin:0 0 0 0.2em;
	vertical-align:middle;
}

em,
strong{
	font-weight:bold;
}

del{
	text-decoration:line-through;
}

img {
	max-width: 100%;
}

b {
	font-weight: normal;
}

/* -------------------------------------
	汎用パーツ
---------------------------------------- */
.pc{
	 display:block!important;
}
.pc_inline{
	display:inline!important;
}
.pc_inline_block{
	display:inline-block!important;
}
.sp{
	display:none!important;
}
.sp_inline{
	display:none!important;
}

.sp_inline_block{
	display:none!important;
}

.tal {
	text-align:left;
}
.tar {
	text-align:right;
}
.tac {
	text-align:center;
}

.fl {
	float:left;
}

.fr {
	float:right;
}

.res_fl {
	float:left;
}

.res_fr {
	float:right;
}

.bold {
	font-weight: bold;
}

.clear {
	clear:both;
}

.underline {
	text-decoration: underline;
}

.fc_red {
	color:;
}

.inline_label label {
	margin-right:20px;
}

.attention {
	color:#da0000 ;
}

.caution {
	background:#ffd1d1;
}
.note {
	font-size:1.2rem;
}
.hide {
	display:none;
}
.show {
	display:block;
}

.fc_red {
	color:#da0000;
}

.fc_blue {
	color:#004fa9;
}

.fc_yellow {
	color:#fff100;
}

.fc_aqua{
	color:#00a5de;
}

.bggray {
	background:#f4f4f4;
}

.bgblue {
	background:#dbe9f6;
}

.bgyellow {
	background:#ffedd1;
}

.bgred {
	background:#fcecec;
}



/* -------------------------------------
	item
---------------------------------------- */
.base_table {
	width:100%;
}


.base_table .required {
	float : right;
	padding : 3px;
	color : #0000ff;
}

.base_table th {
	width:250px;
	background:#eeeeee;
	vertical-align: middle;
	padding:15px;
	border-right:solid 2px #fff;
	border-bottom:solid 2px #fff;

}

.base_table td {
	background:#f4f4f4;
	padding:15px;
	border-right:solid 2px #fff;
	border-bottom:solid 2px #fff;
}


.base_table input[type=text],
.base_table input[type=password]{
	width:570px;
	margin-right:5px;
}

.base_table input[type=text].half {
	width:290px;
}


.base_btn {
	color:#fff;
	border-radius:4px;
	width:100%;
	background:transparent;
	display:block;
	font-weight: bold;
	font-size:2.1rem;
	cursor:pointer;
	line-height:70px;
	position: relative;
	text-decoration:none;
	text-align: center;
	margin:0;
}

.base_btn:visited , .base_btn:link {
	color:#fff;
	text-decoration: none;
}

.base_btn:after {
	content: "\f0a9";
	font-family:"FontAwesome";
	display:inline-block;
	letter-spacing:normal;
	vertical-align:top;
	margin:0 10px 0;
	color:#fff;
	position: absolute;
	right:3%;
	font-size:2.1rem;
	vertical-align: middle;
}

.base_btn:hover {
	-ms-filter: "alpha( opacity=80 )";
	filter: alpha( opacity=80 );
	opacity: 0.8;
	color:#fff;
}


.base_btn.inline {
	display:inline-block;
	width:auto;
	margin:0px;
	padding:0px 10px;
	font-size:1.4rem;
	line-height: 1.8;
}

.base_btn.inline:after {
	display:none;
}

.base_btn i {
	font-size:2.1rem;
	vertical-align: middle;
	font-weight: normal;
}




.col_block {
	overflow: hidden;
	letter-spacing: -1em;
	font-size:0;
}

.col_block .item {
	display: inline-block;
	text-align: center;
	letter-spacing: normal;
	font-size:1.4rem;
	vertical-align: top;
	margin-bottom:20px;
}


.col_block .item .caption {
	text-align: center;
}

.col02 {
	margin-left:-4%;
}

.col03 {
	margin-left:-2%;
}

.col02 .item {
	width:46%;
	margin-left:4%;
}

.col03 .item {
	width:31.3333333333%;
	margin-left:2%;
}



/* -------------------------------------
	必須マーク
---------------------------------------- */

.required_mark {
	display: inline-block;
	background:#fff;
	color:#da0000;
	border:solid 1px #da0000;
	font-size:1.0rem;
	padding:2px 5px ;
	text-align: center;
	border-radius: 4px;
	vertical-align: middle;
}

.required_cell ,
.required_cell {
	position: relative;
	padding-right:50px;
}

.required_cell .required_mark {
	position:absolute;
	right:8px;
	top:calc(50% - 10px);
}


/* -------------------------------------
	エラー文言
---------------------------------------- */

.error_area {
	background:#fcecec;
	border:solid 1px #da0000;
	padding:15px;
	color:#da0000;
	margin:20px 0;
}

.error_area .pre_message {
	font-size:1.6rem;
	font-weight: bold;
	margin:0 0 10px 0;
}

.error_area ul {
	margin:0 0 0 1em;
}

.error_area li {
	list-style: disc;
	line-height:1.4;
}

.inner_error {
	margin:5px 0 10px 0;
	color:#da0000;
	font-size:1.2rem;
}

.content_error {
	margin:10px 0 10px 1.5em;
}

.content_error li{
	color:#da0000;
	text-indent: 1em;
	font-weight: normal;
	font-size:1.4rem;
}

.content_error li:before{
	content:"\f071";
	font-family:FontAwesome;
	display: inline-block;
	margin:0 0.5em 0 -3.5em;
}


.message_block {
	background:#fffdec ;
	margin:20px 0;
	padding:20px ;
}
.message_block li {
	margin:0 0 10px 0 ;
}

.message_block li:first-child {
	margin:0  ;
}



/* -------------------------------------
	レイアウト初期設定
---------------------------------------- */
.container{
	min-height:100%;
	position:relative;
}

.content_inner {
}

/* -------------------------------------
	header
---------------------------------------- */
.header{
}

/* -------------------------------------
	footer
---------------------------------------- */
.footer{
	background:#3d7080;
	width:100%;
}

/* -------------------------------------
	content
---------------------------------------- */
.content{
}

.one_column{
}

.one_column .main{
}

.two_column{
}

.two_column .main{
	float:left;
	width:750px;
}

.two_column .side{
	float:right;
	width:190px;
}

/* -------------------------------------
	header_sub
---------------------------------------- */

.header_sub_area {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 30px;
}

/* -------------------------------------
	翻訳ツール
---------------------------------------- */

.translate_block {
	float: right;
	margin: 0 0 10px 10px;
}

/* -------------------------------------
	パンくず
---------------------------------------- */
.breadcrumb{
	float: left;
}
.breadcrumb .inner{
	position:relative;
	width:960px;
	margin:0 auto;
}
.breadcrumb ol{
}
.breadcrumb ol li{
	float:left;
	font-size: 1.3rem;
	line-height:1.4;
}
.breadcrumb ol li:before{
	font-family:FontAwesome , sans-serif;
	content:"\f105";
	margin:0 10px ;
}
.breadcrumb ol li:first-child:before{
	content:"";
	margin:0;
}
.breadcrumb ol li a{
	text-decoration: none;
}
.breadcrumb ol li a:hover {
	text-decoration: underline;
}
.breadcrumb ol li.single_bread {
	display: none;
}

/* -------------------------------------
	ページトップ
---------------------------------------- */
.pagetop{
	display:none;
	position:fixed;
	right:50px;
	bottom:50px;
	z-index:5;
}
.pagetop a{
	background:#3d7080;
	border: 1px solid #fff;
	border-radius:50%;
	color:#fff;
	display:block;
	font-size:1rem;
	height:50px;
	text-align:center;
	text-decoration:none;
	width:50px;
}
.pagetop a:before {
	display: block;
	content: url(../images/icon_pagetop.png);
	height: 28px;
	padding: 4px 0 0 0;
}


/* -------------------------------------
	visual
---------------------------------------- */
.visual_area{
}
.visual{
	margin:0 auto;
	width:100%;
}

/* -------------------------------------
	ellipsis
---------------------------------------- */
.ellipsis {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* -------------------------------------
	Jquery
---------------------------------------- */
.hidden_area{
	display:none;
}



/* -------------------------------------
	モーダルボックス
---------------------------------------- */

.modalBoxContents {
	font-size:1.4rem;
	color:#333;
	text-align: left;
}

.modalBoxContents a {
	color:#da0000;
	text-decoration: underline;
}

.modalBoxContents .img_box {
	margin:0 20px 30px 0;
	float:left;
}

.modalBoxContents .img_box {
	overflow: hidden;
}

.popup_close_box {
	text-align: center;
	margin:30px 0 ;
}

.overLayer {
	 display:none;
	 background:#000;
	 opacity:0.7;
	 width:100%;
	 height:100%;
	 z-index:999;
	 position:fixed;
	 top:0;
	 left:0;
}

.modalBox {
	 background:#fff;
	 padding:30px;
	 width:920px;
	 height:80%;
	 border:solid 5px #004fa9;
	 border:solid 5px #999;
	 overflow:scroll;
	 z-index:2000;
	 position:fixed;
	 text-align: center;
}

.modalBox .close {
	 background:#2f2f2f;
	 width:30px;
	 height:30px;
	 line-height:30px;
	 color:#fff;
	 cursor:pointer;
	 text-align:center;
	 font-size:200%;
	 position:absolute;
	 top:0px;
	 right:0px;
}




.popup_close_btn.inline {
	background:#000;
	min-width:200px;
	line-height:40px;
}



/* -------------------------------------
	clearfix
---------------------------------------- */
.clearfix {
	zoom: 1;
}
.clearfix:after {
	display: block;
	content: "";
	clear: both;
	visibility: hidden;
}