@charset "utf-8";
/*===============================================================
	
	2019/2/14
	
===============================================================*/

/* 初期化
----------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
	outline: none;
}
blockquote, q {	quotes: none;	}
blockquote:before, blockquote:after,
q:before, q:after {	content: '';	content: none;}
input, textarea { margin: 0;	padding: 0;}
table{	border-collapse: collapse; border-spacing:0;	}
body { font-family:'Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック',Osaka,sans-serif; }
h1,h2,h3,h4,h5,h6,p,li,th,td,dt,dd { font-size:14px; line-height:22px; }
caption,th,td { text-align:left; vertical-align:top; }
img { vertical-align:top; border:0; }
ul,li { list-style:none; }
option { padding-right:1em; }
address,caption { font-style:normal; font-weight:normal; }
a {	outline:none;	text-decoration:underline; }
a:focus {	outline:none;	}
ul a ,li a {	zoom:1;	}
strong{ font-weight: bold; }
em{ font-style: italic; }

/* HTML5
----------------------------------------------------------------*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

/* 文字サイズ、装飾
----------------------------------------------------------------*/
.bold	{	font-weight:bold; }
.cap {
	font-size:12px;
	line-height:15px;
	}		
.red	{	color:#943023;		}
.yellow	{	color:#cbb847;		}
.blue	{	color:#0047a2;		}
.lightblue { color:#00afd7; }
.green	{	color:#5b9000;	}
.brown	{	color:#633;		}
.pink	{	color:#f3c;		}
.gray	{	color:#eaeeed;		}
.deepgray { color:#92999f ;}
.align_center	{	text-align:center;		}
.align_right	{	text-align:right;		}
.replace {	overflow:hidden;	white-space:nowrap;	text-indent:100%;	}

/* フロート関係
----------------------------------------------------------------*/
.clear {
	width:100%;
	overflow:hidden;
}
.clearboth {
	clear:both;
}
.cf:before,
.cf:after {
    content: " ";
    display: table;
}
.cf:after {
    clear: both;
}
.cf {
  *zoom: 1;
}
.flol {
	float:left;
}
.flor {
	float:right;
}
/* マージン
----------------------------------------------------------------*/
.mt0	{	margin-top:0px !important; }
.mt05	{	margin-top:5px;		}
.mt10	{	margin-top:10px;	}
.mt15	{	margin-top:15px;	}
.mt20	{	margin-top:20px;	}
.mt25	{	margin-top:25px;	}
.mt30	{	margin-top:30px;	}
.mt40	{	margin-top:40px;	}
.mt50	{	margin-top:50px;	}
.mt60	{	margin-top:60px;	}
.mt70	{	margin-top:70px;	}
.mt80	{	margin-top:80px;	}
.mt90	{	margin-top:90px;	}
.mt100	{	margin-top:100px;	}

.mb05	{	margin-bottom:5px;	}
.mb10	{	margin-bottom:10px;	}
.mb15	{	margin-bottom:15px;	}
.mb20	{	margin-bottom:20px;	}
.mb25	{	margin-bottom:25px;	}
.mb30	{	margin-bottom:30px;	}
.mb40	{	margin-bottom:40px;	}
.mb50	{	margin-bottom:50px;	}

/* html/body設定
----------------------------------------------------------------*/
html {
}
body {
	width: 100%;
	color:#fff;
	background: #050d15;
	text-align:left;
	font-size:14px;
	line-height:25px;
	-webkit-text-size-adjust:none; /* 縦横文字サイズ同じ */
	-webkit-font-smoothing: antialiased;
}
a {
	color:#36C;
	transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
}
a:hover { color:#39F }

.boxshadow {
	box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.20);
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～640px */
@media only screen and (max-width: 736px) {
}	/* for SP max-width: 736px */

/*===============================================================
	
	基本文字サイズ
	
===============================================================*/
h2 {
	/*font-size:172%;	/* 24px */
	font-weight:bold;
}
h3 {
	/*font-size:172%;	/* 24px */
	font-weight:bold;
}
h4 {
	/*font-size:115%;	/* 16px */
	line-height:1.4;
	font-weight:bold;
}
p {
	/*font-size:100%;	/* 14px */
	line-height:1.8;
}
sup {
	margin:0;
	padding:0;
	font-size:11px;
	line-height:15px;
}
/*===============================================================
	
	PC/SP/TABLET
	
===============================================================*/
.sp {
	display:none;
}
.pc {
}
.tablet {
	display:none;
}
.sp {
	display:none;
}
.sp_tablet {
	display:none;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
.pc {
	display:none;
}
.tablet,
.pc_tablet,
.sp_tablet {
	display:block;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.sp {
	display:block;
}
.pc_tablet,
.tablet {
	display:none;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	img fig
	
===============================================================*/
.fitimg img, 
.photo img {
	width:100%;
	height:auto;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.content .fig {
	margin-top:15px;
}
}	/* for SP max-width: 736px */


/*===============================================================
	
	レイアウト
	
===============================================================*/
.wrapper {
}
.wide_width {
	width:1200px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
}
.content_width {
	width:960px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
}
.narrow_width {
	width:700px;
	margin-left:auto;
	margin-right:auto;
	box-sizing:border-box;
}

/* タブレット以下 */
@media screen and (max-width: 1300px) {
.wide_width {
	width:100%;
	padding: 0 50px;
}
}	/* for tablet max-width: 1400px */

/* タブレット以下 */
@media screen and (max-width: 960px) {
.wide_width {
	width:100%;
	padding: 0 0;
}
}	/* for tablet max-width: 1400px */


/* タブレット以下 */
@media screen and (max-width: 960px) {

.content_width {
	width:100%;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.narrow_width {
	width:100%;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	ヘッダ
	
===============================================================*/

.header {
	width:100%;
	height:60px;
	position:relative;
	background: #000;
	position: fixed;
	z-index: 2000;
}
.header .logo {
	position:absolute;
	width:40px;
	height:40px;
	top:10px;
	left:10px;
}
.header .logo img {
	width:100%;height:auto;
}
.header .info a{
	position:absolute;

	margin: auto;
	right:20px;
	width: 8em;
	font-size: 16px;
	line-height: 60px;
	text-align: right;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
}
.header .info a:hover{
	opacity: 0.7;
}
.header .news {
	position: absolute;
	top: 0; bottom: 0; left: 70px;
	margin: auto;
	font-size: 14px;
	line-height: 20px;
	height: 20px;
}
.header .news a {
	color: #fff;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.header {
	width:100%;
	height:40px;
}
.header .logo {
	position:absolute;
	width:30px;
	height:30px;
	top:5px;
	left:10px;
}
.header .info a{
	position:absolute;

	right:10px;
	width: 8em;
	font-size: 4vw;
	line-height: 40px;
}
.header .info a:hover{
	opacity: 0.7;
}
.header .news {
	position: absolute;
	top: 0; bottom: 0; left: 50px;
	margin: auto;
	font-size: 3vw;
	line-height: 1.2;
	height: 20px;
	width: calc(100% - 12em);
}
}	/* for SP max-width: 736px */


/*===============================================================
	
	navigation
	
===============================================================*/
.navigation_outer {
	width:100%;
	height:40px;
}
.navigation_wrp {
	width:100%;
	position:relative;
	background:#fff;
	z-index:999;
	box-shadow:0 5px 3px -3px rgba(0, 0, 0, 0.1);
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.navigation_outer {
	width:100%;
	height:0;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	navigation	
-------------------------------------------------------------*/
.navigation {
	position:relative;
}
.navigation ul {
	width:100%;
	overflow:hidden;
}
.navigation ul li {
	width:14.2857%;
	float:left;
}
.navigation ul li a {
	display:block;
	text-align:center;
	font-size:15px;
	line-height:40px;
	text-decoration:none;
	color:#000;
	border-bottom:solid 3px #fff;
}
.navigation ul li a:hover {
	border-bottom:solid 3px #f4e228;
}
.navigation ul li.current a {
	border-bottom:solid 3px #1d50a2;
}
.navigation ul li.active a {
	border-bottom:solid 3px #f4e228;
}
.navigation ul li .subnav {
	display:none;
	position:absolute;
	top:43px;
	left:0;
	width:100%;
	padding:30px;
	background:#fff;
	border:solid 1px #ddd;
	box-sizing:border-box;
}
.navigation ul li .subnav li {
	width:33%;
	float:left;
}
.navigation ul li .subnav li a {
	position:relative;
	text-align:left;
	padding-left:13px;
	font-size:14px;
	line-height:40px;
	border:0;
	color:#000;
}
.navigation ul li .subnav li a:hover {
	border:0;
	color:#6d6886;
}
.navigation ul li .subnav li a:after {
	position:absolute;
	content:" ";
	width:5px; height:5px;
	top:0; bottom:0; left:0; right:auto;
	margin:auto;
	border-top:solid 1px #c00;
	border-left:solid 1px #c00;
	transform: rotate(135deg);
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
.navigation_wrp .navigation {
	display:none;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */
/*-------------------------------------------------------------
	subnav	
-------------------------------------------------------------*/
.subnav .icon {
	margin-left:5px;
	font-weight:bold;
}
.navigation_wrp .subnav .icon {
	color:#6d6886;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */


/*===============================================================
	
	フッタ
	
===============================================================*/
.footer {
	background: #000;
	text-align: center;
	padding: 10px 0;
}
.copyright {
	margin: auto;
	color: #555;
	text-align: center;
	font-size: 12px;
	line-height: 1;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*===============================================================
	
	MENU
	
===============================================================*/

/* タブレット以下 */
@media screen and (max-width: 960px) {
.menu_bg {
	background:#222;
	position:absolute;
	z-index:300;
	top:0;
	left:0;
}
.menu_icon {
	position:absolute;
	position:fixed;
	top:10px;
	right:10px;
	z-index:300;
}
.menu .menu_nav {
	background:#222;
	position:absolute;
	top:40px;
	width:100%;
	z-index:300;
}
.menu .navlist {
	width:100%;
	overflow:hidden;
}
.menu .navlist li a {
	position:relative;
	width:100%;
	font-weight:bold;
	display:block;
	border-top:solid 1px rgba(255,255,255,0.1);
	border-bottom:solid 1px rgba(0,0,0,0.2);
	font-size:18px;
	line-height:50px;
	text-decoration:none;
	padding:0 20px;
	box-sizing:border-box;
	color:#fff;
}
.menu .navlist li a:after {
	position:absolute;
	content:" ";
	width:12px; height:12px;
	top:0; bottom:0; left:auto; right:18px;
	margin:auto;
	border-top:solid 2px #fff;
	border-left:solid 2px #fff;
	transform: rotate(135deg);
}
.menu .navlist li .subnav li a {
	font-weight:normal;
	font-size:14px;
	line-height:40px;
	padding:0 20px 0 40px;
	color:#6d6886;
	background:#fff;
	border-bottom:solid 1px rgba(0,0,0,0.1);
}
.menu .navlist li .subnav li a:after {
	width:10px; height:10px;
	top:0; bottom:0; left:auto; right:20px;
	margin:auto;
	border-top:solid 1px #999;
	border-left:solid 1px #999;
}
.menu .closebtn {
	border-top:solid 1px rgba(255,255,255,0.1);
	padding:30px 0;
}
.menu .closebtn a {
	display:block;
	border:solid 1px rgba(255,255,255,0.5);
	border-radius:5px;
	width:100px;
	box-sizing:border-box;
	color:#fff;
	text-align:center;
	margin:0 auto;
	text-decoration:none;
	line-height:40px;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */


/*-------------------------------------------------------------
	サブナビ開閉バージョン
-------------------------------------------------------------*/
/* タブレット以下 */
@media screen and (max-width: 960px) {	
.menu .navlist li.head > a:before,
.menu .navlist li.head > a:after {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	right:15px;
	margin:auto;
	width:25px;
	height:2px;
	background:#e0e2e7;
	border:none;
}	
.menu .navlist li.head > a:after {
	transition:all .1s linear; 
	transform:rotate(90deg);
}	
.menu .navlist li.head.active > a:after {
	transform:rotate(0deg); 
}		
}	/* for tablet max-width: 960px */


/*-------------------------------------------------------------
	menu-trigger
-------------------------------------------------------------*/
/* タブレット以下 */
@media screen and (max-width: 960px) {
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .3s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 30px;
	height: 20px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
	border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 10px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
/* animation */
.menu-trigger.active span:nth-of-type(1) {
	transform: translateY(10px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
	transform: translateY(0) rotate(45deg);
}
.menu-trigger.active span:nth-of-type(3) {
	transform: translateY(-10px) rotate(45deg);
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */


/*===============================================================
	
	grid
	
===============================================================*/
.gridconatiner {
	margin-top:-50px;
}
.gridconatiner .grid {
	float:left;
}
.grid {
	margin-top:50px;
}
/*	gridSize :445 gutterSize :50 column :2 */
.gridwrp_2 { width:105.319%;}
.gridwrp_2 .grid_2 { width:94.949%; margin-right:5.051%; }
.gridwrp_2 .grid_1 { width:44.949%; margin-right:5.051%; }
.gridwrp_2 .grid:nth-child(2n+1) {
	clear:both;
}

/*	gridSize :280 gutterSize :50 column :3 */
.gridwrp_3 { width:105.319%;}
.gridwrp_3 .grid_3 { width:94.949%; margin-right:5.051%; }
.gridwrp_3 .grid_2 { width:61.616%; margin-right:5.051%; }
.gridwrp_3 .grid_1 { width:28.283%; margin-right:5.051%; }
.gridwrp_3 .grid:nth-child(3n+1) {
	clear:both;
}

/*	gridSize :210 gutterSize :40 column :4 */
.gridwrp_4 { width:104.167%;}
.gridwrp_4 .grid_4 { width:96.000%; margin-right:4.000%; }
.gridwrp_4 .grid_3 { width:71.000%; margin-right:4.000%; }
.gridwrp_4 .grid_2 { width:46.000%; margin-right:4.000%; }
.gridwrp_4 .grid_1 { width:21.000%; margin-right:4.000%; }
.gridwrp_4 .grid:nth-child(4n+1) {
	clear:both;
}

.column + .gridconatiner {
	margin-top:-20px;
} 

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.gridconatiner {
	margin-top:-20px;
}
.gridwrp_3,
.gridwrp_3 .grid_1,
.gridwrp_2,
.gridwrp_2 .grid_1 {
	width:100%; margin-right:0;
}
.gridwrp_4 { width:105.000%;}
.gridwrp_4 .grid_1 { width:45.238%; margin-right:4.762%; }

.grid {
	margin-top:20px;
}
.grid:first-child {
	/*margin-top:0px;*/
}
.gridwrp_4 .grid:nth-child(2) {
	/*margin-top:0;*/
}

.sp_gridwrp2 .gridwrp_3 { width:105.319%;}
.sp_gridwrp2 .gridwrp_3 .grid_2 { width:94.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_3 .grid_1 { width:44.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_3 .grid:nth-child(2n+1) {
	clear:both;
}
.sp_gridwrp2 .gridwrp_3 .grid:nth-child(3n+1) {
	clear:none;
}
.sp_gridwrp2 .gridwrp_2 { width:105.319%;}
.sp_gridwrp2 .gridwrp_2 .grid_2 { width:94.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_2 .grid_1 { width:44.949%; margin-right:5.051%; }
.sp_gridwrp2 .gridwrp_2 .grid:nth-child(2n+1) {
	clear:both;
}
.sp_gridwrp2 .gridwrp_2 .grid:nth-child(3n+1) {
	clear:none;
}
.sp_gridwrp2 .linkarea p {
	padding: 0;
}
.column + .gridconatiner {
	margin-top:0;
} 
}	/* for SP max-width: 736px */

/*===============================================================
	
	flex_container
	
===============================================================*/
.flex_container {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.flex_container .item {
	flex-basis:auto;
	margin-top:20px;
	background:#ddd;
}
.flex_container .item .txt {
	padding:15px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*----------------------------------------------------------------
アイテム比率
----------------------------------------------------------------*/
.flex_container .item_2_1 {
	width:48%;
	margin-right:4%;
}
.flex_container .item_3_1 {
	width:31%;
	margin-right:3.5%;
}
.flex_container .item_4_1 {
	width:23%;
	margin-right:2.6666%;
}
.flex_container .item_5_1 {
	width:18.75%;
	margin-right:1.5625%;
}
.flex_container .item_2_1:nth-child(2n),
.flex_container .item_3_1:nth-child(3n),
.flex_container .item_4_1:nth-child(4n),
.flex_container .item_5_1:nth-child(5n) {
	margin-right:0;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
/*4→3カラム*/	
.flex_container .item_4_1,
.flex_container .item_4_1:nth-child(4n) {	
	width:31%;
	margin-right:3.5%;
}
/*5→4カラム*/		
.flex_container .item_5_1,
.flex_container .item_5_1:nth-child(5n) {	
	width:23%;
	margin-right:2.6666%;
}
.flex_container .item_4_1:nth-child(3n),
.flex_container .item_5_1:nth-child(4n) {
	margin-right:0;
}

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
/*2→1カラム*/	
/*3→1カラム*/	
.flex_container .item_2_1,
.flex_container .item_3_1 {
	width:100%;
	margin-right:0;
}
/*4→2カラム*/	
/*5→2カラム*/		
.flex_container .item_4_1,
.flex_container .item_4_1:nth-child(3n),
.flex_container .item_4_1:nth-child(4n),
.flex_container .item_5_1,
.flex_container .item_5_1:nth-child(4n),
.flex_container .item_5_1:nth-child(5n) {	
	width:48%;
	margin-right:4%;
}	
.flex_container .item_4_1:nth-child(2n),
.flex_container .item_5_1:nth-child(2n) {
	margin-right:0;
}	

}	/* for SP max-width: 736px */




/*===============================================================
	
	fixed
	
===============================================================*/
.fixed {
	position: fixed;
	top: 0;
}
.bg_fixed {
	background-attachment: fixed;
}
/* タブレット以下 */
@media screen and (max-width: 940px) {
.fixed {
	position: fixed;
	top: 0;
}
}	/* for tablet max-width: 940px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */


/*===============================================================
	
	PAGETOP
	
===============================================================*/
#btn_pagetop {
	width:100%;
	overflow:hidden;
}
#btn_pagetop a {
	display:block;
	right:-300px; top:0;
	width:50px; height:50px;
	color:#fff;
	background-color:#d2191a;
	text-indent:100%;
	overflow:hidden;
	white-space:nowrap;
	z-index:101;
	position:fixed;
	border-radius:30px;
}
#btn_pagetop a:hover {
	background-color:#c00;
}
#btn_pagetop a:after {
	position:absolute;
	content:" ";
	width:14px; height:14px;
	top:20px; left:0; right:0; bottom:auto;
	margin:auto;
	border-top:solid 2px #fff;
	border-left:solid 2px #fff;
	transform: rotate(45deg);
	border-radius:2px;
}

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
#btn_pagetop a {
	width:40px;
	height:40px;
}
#btn_pagetop a:after {
	width:12px; height:12px;
	top:17px; left:0; right:0; bottom:auto;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	テーブル
	
===============================================================*/
table {
	width:100%;
	text-align:left;
	font-size:14px;
	line-height:20px;
	border-collapse: separate;
    border-spacing: 0;
	border-bottom:solid 1px #ddd;
}
table th {
	padding:10px;
	font-weight:bold;
	border:solid 1px #ddd;
	border-right:0;
	border-bottom:0;
	background:rgba(0,0,0,0.05);
	color:#000;
	box-sizing:border-box;
}
table td {
	padding:10px;
	border:solid 1px #ddd;
	border-bottom:0;
	color:#000;
	box-sizing:border-box;
}
table td + td {
	border-left:0;
}
table tr:nth-child(odd) {
	background:#fff;
}
table tr:nth-child(even) {
	background:rgba(0,0,0,0.05);
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px){
table {
	padding:0;
	margin-top:0px;
}
table th {
	display: list-item;
	list-style:none;
	width:100%;
	padding:10px;
	font-size:16px;
}
table td {
	display: list-item;
	list-style:none;
	width:100%;
	padding:10px;
	font-size:14px;
	line-height:1.6;
}
table tr:nth-child(odd) ,
table tr:nth-child(even) {
	background:#fff;
}
}	/* for SP max-width: 736px */


/*===============================================================
	
	フォーム
	
===============================================================*/
.form {
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*===============================================================
	
	btn_detail
	
===============================================================*/
.btn_detail {
	width:400px;
	margin:0 auto;
	margin-top:40px;
}
.btn_detail a {
	position:relative;
	text-decoration:none;
	display:block;
	background-color:#1d50a2;
	text-align:center;
	color:#fff;
	font-size:20px;
	line-height:20px;
	font-weight:bold;
	padding:20px 0;
	border-radius:5px;
	box-shadow:rgba(0, 0, 0, 0.2) 0px 2px 0px 0px;
}
.btn_detail a:after {
	position:absolute;
	content:" ";
	width:13px; height:13px;
	top:0; left:auto; bottom:0; right:10px;
	margin:auto;
	border-top:solid 1px #fff;
	border-left:solid 1px #fff;
	transform: rotate(135deg);
}
.btn_detail a:hover {
	text-decoration:none;
	background-color:#2b6bec;
}
.btn_detail_red a {
	background-color:#c91b36;
}
.btn_detail_red a:hover {
	background-color:#e31838;
}
.btn_detail_black a {
	background-color:#000;
}
.btn_detail_black a:hover {
	background-color:#222;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
.btn_detail {
	width:100%;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.btn_detail {
	width:100%;
	margin:0 auto;
	margin-top:20px;
}
.btn_detail a {
	font-size:16px;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	btn_white	
-------------------------------------------------------------*/
.btn_white {
	width:300px;
	margin:0 auto;
	margin-top:30px;
}
.btn_white a {
	text-decoration:none;
	display:block;
	background-color:#fff;
	text-align:center;
	color:#1d50a2;
	font-size:18px;
	line-height:20px;
	font-weight:bold;
	padding:15px 0;
	border:solid 1px #1d50a2;
}
.btn_white a:hover {
	text-decoration:none;
	color:#fff;
	background-color:#1d50a2;
}
.btn_white a:after {
	border-top:solid 1px #1d50a2;
	border-left:solid 1px #1d50a2;
}
.btn_white a:hover:after {
	border-top:solid 2px #fff;
	border-left:solid 2px #fff;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.btn_white {
	width:80%;
	margin:0 auto;
	margin-top:20px;
}
.btn_white a {
	font-size:14px;
	line-height:20px;
	padding:10px 0;
}
}	/* for SP max-width: 736px */

/*===============================================================
	
	headline
	見だし
	
===============================================================*/
.headline {
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */
/*===============================================================
	
	subhead
	小見出し
	
===============================================================*/
.subhead {
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */
/*===============================================================
	
	背景
	
===============================================================*/
.bg_graytile {
	background-image:url(../images/asset/bg_graytile.jpg);
	background-position:top center;
	background-repeat:repeat;
}

/*===============================================================
	
	seciton
	headlineとcontentなど、複数の要素、機能を取りまとめるコンテナ的な親要素。
	幅はsection_innerに記述する
	
===============================================================*/
.section_wrp {
}
.section {
	width:100%;
	border-top:solid 1px #ddd;
}
.section_inner {
	margin:0 auto;
	padding-top: 50px;
	padding-bottom: 100px;
	padding-left: 0;
	padding-right: 0;
	box-sizing: border-box;
}
/* タブレット以下 */
@media screen and (max-width: 1300px) {
.section_inner {
	margin:0 auto;
	padding-top: 50px;
	padding-bottom: 100px;
	padding-left: 50px;
	padding-right: 50px;
}
}	/* for tablet max-width: 960px */

/* タブレット以下 */
@media screen and (max-width: 960px) {
.section_inner {
	margin:0 auto;
	padding-top: 50px;
	padding-bottom: 50px;
	padding-left: 50px;
	padding-right: 50px;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.section_inner {
	margin:0 auto;
	padding-top: 20px;
	padding-bottom: 30px;
	padding-left: 20px;
	padding-right: 20px;
}
}	/* for SP max-width: 736px */


/*===============================================================
	
	content 
	個別のコンテンツ
	
===============================================================*/
.content {
}
.headline + .content {
	margin-top:30px;
}
.content + .content {
	margin-top:80px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.content {
	width:100%;
	margin:0 auto;
	box-sizing:border-box;
}
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.content {
	width:100%;
	margin:0 auto;
}
.headline + .content {
	margin-top:20px;
}
.content + .content {
	margin-top:30px;
}
}	/* for SP max-width: 736px */


/*===============================================================
	
	column
	囲み、メモなどサブ的な括り。
	
===============================================================*/
.column {
	width:700px;
	margin:0 auto;
}
.column h3 {
	font-size:20px;
	font-weight:bold;
	text-align:center;
	margin-top:30px;
}
.column h4 {
	font-size:18px;
	font-weight:bold;
	text-align:center;
	margin-top:30px;
}
.column p {
	margin-top:30px;
	font-size:16px;
}
.column * + p {
	margin-top:20px;
	font-size:16px;
}
.column p.caution {
	font-size:12px;
}
.column .bbottom {
	border-bottom:1px solid #000;
	padding-bottom:10px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.column {
	width:100%;
	margin:0 auto;
}
.column h3 {
	font-size:18px;
	margin-top:15px;
}
.column h4 {
	font-size:16px;
	margin-top:15px;
}
.column p {
	margin-top:10px;
	font-size:14px;
	line-height:1.6;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.notes	
-------------------------------------------------------------*/
.notes {
	background:#eee;
	padding:20px;
	margin-top:20px;
}
.notes p {
	font-size:12px;
	line-height:20px;
}
.notes > p {
	margin-top:0;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */
/*===============================================================
	
	txtlink 2016/11/16
	
===============================================================*/
.txtlink a {
	padding-left:15px;
	color:#000;
	text-decoration:none;
	position:relative;
	display:inline-block;
}
.txtlink a:hover {
	color:#c00;
}
.txtlink a:after {
	position:absolute;
	content:" ";
	width:6px; height:6px;
	top:7px; bottom:auto; left:0; right:auto;
	margin:auto;
	border-top:solid 2px #c00;
	border-left:solid 2px #c00;
	transform: rotate(135deg);
}
.txtlink.arw_prev a {
}
.txtlink.arw_prev a:after {
	top:7px; bottom:auto; left:3px; right:auto;
	transform: rotate(-45deg);
}
.txtlink.arw_after a {
	padding-left:0;
	padding-right:10px;
}
.txtlink.arw_after a:after {
	left:auto; right:0;
}
.txtlink.arw_down a:after {
	top:7px; bottom:auto; left:2px; right:auto;
	transform: rotate(-135deg);
}
.txtlink.arw_after_down a {
	padding-left:0;
	padding-right:10px;
}
.txtlink.arw_after_down a:after {
	top:7px; bottom:auto; left:auto; right:0;
	transform: rotate(-135deg);
}
/*	arw_box */
.txtlink.arw_box a {
	padding-left:25px;
}
.txtlink.arw_box a:before {
	content:' ';
	width:20px;
	height:20px;
	background:#000;
	position:absolute;
	top:2px; bottom:auto; left:0; right:auto; margin:auto;
}
.txtlink.arw_box a:after {
	border-top:solid 1px #fff;
	border-left:solid 1px #fff;
	top:8px; bottom:auto; left:5px; right:auto;
}




/*===============================================================
	
	基本のレイアウト
	section_contents
	
===============================================================*/
.section_contents {
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	headline	
-------------------------------------------------------------*/
.section_contents .headline {
	text-align:center;
}
.section_contents .headline .title {
	font-size:35px;
	line-height:1.5;
}
.section_contents .headline .read {
	font-size:22px;
	line-height:1.5;
	font-weight:bold;
	margin-top:5px;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	visual	
-------------------------------------------------------------*/
.section_contents .visual {
	margin-top:30px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {

}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	content	
-------------------------------------------------------------*/
.section_contents .headline + .content, 
.section_contents .visual + .content {
	margin-top:30px;
}
.section_contents .content + .content {
	margin-top:80px;
}
/*	h3	*/
.section_contents .content h3 {
	font-size:25px;
	line-height:1.8;
}
/*	h4	*/
.section_contents .content h4 {
	font-size:18px;
	line-height:1.8;
}
/*	p	*/
.section_contents .content p {
	font-size:16px;
	line-height:2;
}
/*	margin	*/	
.section_contents .content * + h3,
.section_contents .content * + h4,
.section_contents .content * + p {
	margin-top:2em;
}
.section_contents .content h3 + p,
.section_contents .content h3 + h4,
.section_contents .content h4 + p {
	margin-top:0;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {

}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.section_contents .headline + .content, 
.section_contents .visual + .content {
	margin-top:15px;
}
.section_contents .content + .content {
	margin-top:30px;
}
/*	h3	*/
.section_contents .content h3 {
	font-size:20px;
}
/*	h4	*/
.section_contents .content h4 {
	font-size:16px;
}
/*	p	*/
.section_contents .content p {
	font-size:14px;
}
/*	margin	*/	
.section_contents .content * + h3,
.section_contents .content * + h4,
.section_contents .content * + p {
	margin-top:1em;
}


}	/* for SP max-width: 736px */




/*===============================================================
	
	top_content
	
===============================================================*/

.top_content h1 {
	position: fixed;
	z-index: 2;
	top: 0; bottom: 0; left: 0; right: 0;
	margin: auto;
	font-size: 4.5vw;
	line-height: 1.2;
	width: 80vw;
	height: 30vw;
	font-weight: bold;
	text-align: justify;
	mix-blend-mode: difference; 
	pointer-events: none;
}
/* タブレット以下 */
@media screen and (max-width: 1400px) {

}/* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.wrapper {
	height: auto;
}
.top_content h1 {
	font-size: 10vw;
	line-height: 1.2;
	width: 90vw;
	height: 156vw;
	font-weight: bold;
	padding-top: 0;
	top: 60px;
	bottom: auto;
	mix-blend-mode:normal;
	box-sizing: border-box;
}

	
}/* for SP max-width: 736px */


/*===============================================================
	
	scroll_slider
	
===============================================================*/
.scroll_slider {
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-overflow-scrolling: touch;

}
.scroll_slider + .scroll_slider {

}
.scroll_slider .scroll_slider_inner {
	display:flex;
	flex-direction:row;
	transform: translateX(0px);
	will-change: transform;
}
.scroll_slider .fig img {
	width: auto;
	height: 50px;
	/*height: calc(100vh / 15);*/
	opacity: 1;
	transition: all 0.3s;
}
.scroll_slider .fig:hover {
	opacity: 0.7;
	background: #ff0;
}
.scroll_slider .fig:hover img {
	mix-blend-mode: difference;
}
.scroll_slider .txt_num {
	width: 180px;
	height: 180px;
	background: #000;
	color: #fff;
	font-size: 40px;
	line-height: 180px;
	text-align: center;
}
/**/
.scroll_slider .txt_num1 {
	background: #000;
}
.scroll_slider .txt_num2 {
	background: #333;
}
.scroll_slider .txt_num3 {
	background: #666;
}
.scroll_slider .txt_num4 {
	background: #999;
}
.scroll_slider .fig:nth-child(8n+1) .txt_num{
	background: #f00;
}
/**/
/* タブレット以下 */
@media screen and (max-width: 1030px) {

}	/* for tablet max-width: 1030px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.scroll_slider {
	-webkit-font-smoothing: subpixel-antialiased;
	-webkit-overflow-scrolling: touch;
}

.scroll_slider .fig img {
	width: auto;
	height: 25px;
}
.scroll_slider .txt_num {
	width: 100px;
	height: 100px;
	font-size: 60px;
	line-height: 100px;
}
}	/* for SP max-width: 736px */

