@charset "UTF-8";

/* ---------------------------
	Index
	1. Utilities
		- Container
		- Clearfix
		- Transition
		- Display
		- PIE
	2. Typography
	3. Button
	4. Form
	4. Module
		- Breadcrumb
		- Table
	5. Block
		- Block Visual
		- Block Button Back
		- Block Search
	6. Form
--------------------------- */





/* ---------------------------
	Utilities
--------------------------- */

/*	Container
-----------------------------*/
.container {
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	width: 1120px;
}
.container_narrow {
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
	width: 1040px;	
}


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


/*	Transition
-----------------------------*/
.trans {
	-webkit-transition: opacity 0.2s ease-in-out;
	-moz-transition: opacity 0.2s ease-in-out;
	-o-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
}
.trans:hover {
	-ms-filter: "alpha(opacity=60)"; /* for IE8 */
	opacity: 0.6;
}


/*	PIE
-----------------------------*/
.pie {
	position: relative;
}





/* ---------------------------
	Typography
--------------------------- */

/*	Heading
-----------------------------*/
.heading {
	background: url("/common/img/common/ttl-bg.gif") repeat;
	text-align: center;
	line-height: 40px;
	letter-spacing: 3px;
	font-size: 18px;
	color: #000;
}




/*	Heading Bordered
-----------------------------*/
.heading_bordered {
	padding-bottom: 18px;
	border-bottom: 1px dotted #abacad;
	line-height: 1.25;
}
.heading_bordered span {
	display: inline-block;
	letter-spacing: 3px;
	font-size: 22px;
	font-weight: bold;
	position: relative;
}
.heading_bordered span:before {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	background-color: #abacad;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -19px;
}
.heading_bordered small {
	margin-left: 15px;
	font-size: 12px;
	color: #666;
}



/*	Heading Bordered Small
-----------------------------*/
.heading_bordered_small {
	padding-bottom: 12px;
	border-bottom: 1px dotted #abacad;
	line-height: 1.25;
}
.heading_bordered_small span {
	display: inline-block;
	letter-spacing: 3px;
	font-size: 18px;
	font-weight: bold;
	position: relative;
}
.heading_bordered_small span:before {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	background-color: #abacad;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -13px;
}
.heading_bordered_small small {
	margin-left: 15px;
	font-size: 12px;
	color: #666;
}


/*	Heading Bordered
-----------------------------*/
.heading_centered {
    text-align: center;
    line-height: 1.25;
    letter-spacing: 3px;
    font-weight: bold;
    font-size: 24px;
}


/*	Leading
-----------------------------*/
.leading {
    margin: 35px 0;
    text-align: center;
}


/*	見出し
-----------------------------*/
.c-ttl2{
	border-bottom: 1px solid #7b7b7b;
	padding-bottom: 15px;
	margin-bottom: 35px;
	
}
.c-ttl2 strong{
	letter-spacing: 0.15em;	
	font-size: 18px;
	display: inline-block;
	padding-right: 15px;
	font-weight: bold;
}
.c-ttl2-jp{
	display: inline-block;
	font-size: 11px;
	color: #666;
}

.c-ttl2-txt{
	display: inline-block;
	font-size: 12px;
	padding-left: 20px;
	color: #777;
}

/* ---------------------------
	Button
--------------------------- */
.btn {
	display: inline-block;
	padding: 15px 0;
	width: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #7b7b7b;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	line-height: 1.25;
	text-align: center;
    font-weight: bold;
    font-size: 12px;
    color: #fff;
    -webkit-transition: background-color 0.2s ease;
    -moz-transition: background-color 0.2s ease;
    -ms-transition: background-color 0.2s ease;
    transition: background-color 0.2s ease;
}
.btn:hover {
	background-color: #afafaf;
}


/*	Font Size
-----------------------------*/
.btn.btn_large {
	padding: 14px 0;
	font-size: 14px;
}


/*	Background Color
-----------------------------*/
.btn.btn_alternative { background-color: #b9b9b9; }
.btn.btn_alternative:hover { background-color: #d5d5d5; }




/* ---------------------------
	Form
--------------------------- */

/*	Controls
-----------------------------*/
input[type="text"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	margin: 0;
	padding: 3px 10px;
	width: 100%;
	background: #fff;
	border: 1px solid #b9b9b9;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	outline: none;
	line-height: 1.25;
	font-family: "Lato", Arial, Helvetica, "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo", sans-serif;
	font-size: 14px;
	color: #3a3a3a;
}


/* ---------------------------
	Module
--------------------------- */

/*	Breadcrumb
-----------------------------*/
.breadcrumb {
	font-size: 0;
	padding: 10px 0 20px 0;
}
.breadcrumb li {
	display: inline-block;
	line-height: 30px;
	font-size: 12px;
}
.breadcrumb li:before {
	content: "＞";
	display: inline-block;
	margin: 0 5px;
}
.breadcrumb li:first-child:before {
	display: none;
}
.breadcrumb a:hover {
	text-decoration: underline;
}


/*	Table
-----------------------------*/
.table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	border: 2px solid #b9b9b9;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.table th,
.table td {
	padding: 10px 15px;
	border-top: 1px solid #b9b9b9;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	vertical-align: top;
}
.table th {
	padding: 10px 12px;
	width: 135px;
	background-color: #e6e6e6;	
}


/*	Table Thick
-----------------------------*/
.table_thick {
	border-width: 5px;
}
.table_thick th,
.table_thick td {
	padding: 10px 30px;
	border-width: 2px;
	border-left: 2px solid #b9b9b9;
}
.table_thick tr:first-child td {
	border-top: 0;
}


/*	Table Patterns
-----------------------------*/
.table .centered {
	text-align: center;
}
.table .middled {
	vertical-align: middle;
}
.table .bold {
	font-weight: bold;
}





/* ---------------------------
	Block
--------------------------- */

/*	Block Visual
-----------------------------*/
.block_visual {
	display: table;
	margin-bottom: 60px;
	width: 100%;
	height: 460px;
	background-repeat: no-repeat;
	background-position: top center;
	text-align: center;
	font-weight: bold;
	color: #fff;
	position: relative;
}
.block_visual dl {
	display: table-cell;
	vertical-align: middle;
	text-shadow: 0 0 50px #000;
}
.block_visual dt {
	margin-bottom: 30px;
	letter-spacing: 5px;
	line-height: 1.25;
	font-size: 36px;
}
.block_visual dd {
	letter-spacing: 2px;
	line-height: 2;
	font-size: 17px;
}


/*	Block Button Back
-----------------------------*/
.block_btn_back {
	padding: 15px 0;
	text-align: right;
}
.block_btn_back .btn_back {
	display: inline-block;
	padding-left: 18px;
	line-height: 30px;
	letter-spacing: 2px;
	vertical-align: top;
	font-size: 12px;
	font-weight: bold;
	color: #666;
	position: relative;
}
.block_btn_back .btn_back:hover {
	text-decoration: underline;
}
.block_btn_back .btn_back:before {
	content: "";
	display: block;
	width: 9px;
	height: 11px;
	background: url("../img/common/icon_arrow_left.png") no-repeat center;
	text-decoration: none;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -6px;
}


/*	Block Search Form
-----------------------------*/
.block_search {
	position: relative;
}
.block_search span {
	display: block;
}
.block_search_text input {
	padding-left: 28px;
}
.block_search_submit {
	width: 28px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
}
.block_search_submit input {
	padding: 25px 0 0;
	height: 0;
	border: 0;
	overflow: hidden;
	background: url("../img/sitemap/icon_search_form.png") no-repeat center;
	cursor: pointer;
}