@charset "utf-8";
/* CSS Document */
/****************************************************************************/
/**							共通項目用CSS									*/
/****************************************************************************/
/* ----------------------------------------------------
					初期化
---------------------------------------------------- */
html, body, div, span, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote,
a, abbr, acronym, address, cite,
del, dfn, img, ins, kbd, q, samp,
strong, sub, sup, var, area,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
}
html {
	font-size: 62.5%;
}
body {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #ffffff;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1;
}
h1, h2, h3, h4, h5, h6 {
	/*font-size: 16px;*/
	font-size: 1.6rem;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
a:focus {
	outline: 0;
}

ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

a{
	color: #ffffff;
	/* text-decoration: none; */
}

img {
	vertical-align: bottom;
}

label{
	white-space:nowrap;
}

address {
	font-style: normal;
}

button {
	cursor: pointer;
}

a:hover, button:hover {
	opacity:0.7;
}


/* ----------------------------------------------------
					段組
---------------------------------------------------- */
#wrapper{
	min-width: 960px;
	background-color: #272727;
}

.container {
	width: 960px;
	margin: 0 auto;
	position: relative;
	box-sizing: border-box;
}

.container::after{
	content: "";
	display: block;
	clear: both;
	visibility: hidden;
}


/* ----------------------------------------------------
		ヘッダー
---------------------------------------------------- */
#lower_head {
	background-color: #efefec;
	padding: 15px 0 20px;
	box-sizing: border-box;
}

#logo {
	float: left;
}

#sp_menu_btn {
	width: 50px;
	height: 50px;
	background-color: #000000;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
	display: none;
	z-index: 9999;
}

#sp_menu_btn span {
	background-color: #ffffff;
	display: block;
	height: 2px;
	position: absolute;
	top: 20px;
	left: 14px;
	width: 22px;
	transition: all 0.3s ease-out 0s;
}

#sp_menu_btn span:nth-of-type(2) {
	top: 25px;
}

#sp_menu_btn span:nth-of-type(3) {
	top: 30px;
}

#sp_menu_btn.close span:nth-of-type(1) {
	top: 25px;
	transform: rotate(45deg);
}

#sp_menu_btn.close span:nth-of-type(2) {
	display: none;
}

#sp_menu_btn.close span:nth-of-type(3) {
	top: 25px;
	transform: rotate(-45deg);
}

@media screen and (min-width:640px){
	#menu {
		display: block !important;
	}
}

#lower_head nav {
	float: left;
}

#lower_head nav li {
	float: left;
	margin: 20px 0 0 45px;
}

#lower_head nav li:first-child {
	margin-left: 90px;
}

#lower_head nav li a:hover, #lower_head nav li a.active {
	border-bottom: 2px solid #1a1a1a;
}

#head_sns {
	position: absolute;
	top: 20px;
	right: 0;
}

#head_sns  li {
	float: left;
	margin-left: 10px;
}


/* ----------------------------------------------------
		フッター
---------------------------------------------------- */
footer {
	background-color: #000000;
	padding: 40px 0;
	text-align: center;
	margin-top: 100px;
}

#foot_sns {
	margin: 30px 0 15px;
}

#foot_sns li {
	display: inline-block;
}

#foot_sns li:first-child {
	margin-right: 10px;
}

#to_top {
	position: absolute;
	top: -63px;
	left: 0;
	right: 0;
	margin: auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 75px 23px 75px;
	border-color: transparent transparent #000000 transparent;
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
	cursor: pointer;
}


/* ----------------------------------------------------
		ブロック要素
---------------------------------------------------- */
.f_left {
	float: left !important;
}

.f_right {
	float: right !important;
}

.table_box {
	display: table;
}

.table_box_cell {
	display: table-cell;
	vertical-align: top;
}

.content2_1 {
	width: 48%;
	float: left;
}

.content2_2 {
	width: 48%;
	float: right;
}

.content3_1 , .content3_2 , .content3_3 , .content3_2_1 , .content3_3_1{
	width: 32%;
	float: left;
}

.content3_2 {
	margin-right: 2%;
	margin-left: 2%;
}

.content3_2_1 {
	margin-right: 2%;
	margin-left: 2%;
	margin-top:70px;
}

.content3_3_1 {
	margin-top:70px;
}

.content4_1 , .content4_2 , .content4_3 , .content4_4 {
	width: 22%;
	float: left;
}

.content4_2 {
	margin-left: 4%;
	margin-right: 4%;
}

.content4_3 {
	margin-right: 4%;
}

.two_col_list:after, .three_col_list:after, .three_col_list:after, .four_col_list:after, .five_col_list:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.two_col_list li {
	float: left;
	width: 49%;
	margin-top: 2%;
}

.two_col_list li:nth-child(2n) {
	margin-left: 2%;
}

.three_col_list li {
	float: left;
	width: 32%;
	margin-right: 2%;
}

.four_col_list li {
	float: left;
	width: 23.5%;
	margin-right: 2%;
}

.five_col_list li {
	float: left;
	width: 18.5%;
	margin-right: 1.5%;
}

.three_col_list li:nth-child(3n), .four_col_list li:nth-child(4n), .four_col_list li:nth-child(5n) {
	margin-right: 0;
}

.clearfix {
	min-height: 1px;
}

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}

.box_center {
	margin-left: auto;
	margin-right: auto;
}

.width_max {
	width: 100% !important;
}

.box_hide {
	display: none;
}

.hide {
	opacity: 0;
}

.sp_br {
	display: none;
}


/* ----------------------------------------------------
		余白
---------------------------------------------------- */
.no_margin {
	margin: 0 !important;
}

.top_margin_5 {
	margin-top: 5px !important;
}

.top_margin_10 {
	margin-top: 10px !important;
}

.top_margin_15 {
	margin-top: 15px !important;
}

.top_margin_20 {
	margin-top: 20px !important;
}

.top_margin_30 {
	margin-top: 30px !important;
}

.top_margin_40 {
	margin-top: 40px !important;
}

.top_margin_50 {
	margin-top: 50px !important;
}

.left_margin_5 {
	margin-left: 5px !important;
}

.left_margin_10 {
	margin-left: 10px !important;
}

.left_margin_20 {
	margin-left: 20px !important;
}

.left_margin_30 {
	margin-left: 30px !important;
}

.right_margin_5 {
	margin-right: 5px !important;
}

.right_margin_10 {
	margin-right: 10px !important;
}

.right_margin_20 {
	margin-right: 20px !important;
}

.right_margin_30 {
	margin-right: 30px !important;
}

.left_padding_10 {
	padding-left: 10px !important;
}

.left_padding_20 {
	padding-left: 20px !important;
}

.left_padding_30 {
	padding-left: 30px !important;
}

.right_padding_10 {
	padding-right: 10px !important;
}

.right_padding_20 {
	padding-right: 20px !important;
}

.right_padding_30 {
	padding-right: 30px !important;
}


/* ----------------------------------------------------
		文字列・インライン要素
---------------------------------------------------- */
.txt_font_s {
	font-size: 1.2rem !important;
}

.txt_font_l {
	font-size: 1.8rem !important;
}

.txt_font_2l {
	font-size: 2.0rem !important;
}

.font_bold {
	font-weight: bold !important;
}

.txt {
	line-height: 1.42 !important;
}

.txt_s {
	line-height: 1.28 !important;
}

.txt_l {
	line-height: 1.62 !important;
}

.txt_center {
	text-align: center !important;
}

.txt_right {
	text-align: right !important;
}

.txt_left {
	text-align: left !important;
}

.inline_block {
	display: inline-block;
}

.vertical_top {
	vertical-align: top !important;
}

.vertical_middle {
	vertical-align: middle !important;
}

.link_underline {
	text-decoration: underline;
}

.txt_hide {
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}

.nowrap {
	white-space: nowrap;
}

.round_img {
	border-radius: 10px;
}

.pointer {
	cursor: pointer;
}


/* ----------------------------------------------------
		タイトル
---------------------------------------------------- */
.headline {
	margin-top: 90px;
	text-align: center;
}

.subheading {
	margin: 120px 0 50px;
	text-align: center;
}


/* ----------------------------------------------------
		アイコン
---------------------------------------------------- */
.ico_pdf {
	background: url(../img/common/ico_pdf.png) no-repeat;
	display: inline-block;
	width: 27px;
	height: 27px;
	margin-right: 5px;
	vertical-align: middle;
}
