@charset "utf-8";
/*===============================================================
	
	2016/6/6
	
===============================================================*/

/* 初期化
----------------------------------------------------------------*/
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:#333;
	background:#efefef;
	text-align:left;
	font-size:14px;
	line-height:25px;
	-webkit-text-size-adjust:none; /* 縦横文字サイズ同じ */
	-webkit-font-smoothing: antialiased;
}
a {
	color:#36C;
	-webkit-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	-ms-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;  
	-moz-transition: background-color 0.1s linear, color 0.1s linear, border-color 0.1s linear, border-width 0.1s linear, opacity 0.1s linear;
	-o-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
	
===============================================================*/
.bnr img,
.fitimg img, 
.photo img {
	width:100%;
	height:auto;
}

.fig {
	border:solid 1px #ddd;
}
.content .fig {
	margin-top:30px;
}
.borderimg {
	border:solid 1px #ddd;
}
/* タブレット以下 */
@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%;
}
}	/* for tablet max-width: 960px */

/* タブレット以下 */
@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_wrp {
	width:100%;
	height: 190px;
	overflow: hidden;
	background: #fff;
}
.header_wrp img {
	width:100%;height:auto;
}

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

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

/*-------------------------------------------------------------
	header_top	
-------------------------------------------------------------*/
.header_top {
	width:100%;
	height:50px;
	position:relative;
	background: #ff0;
}
.header_top .logo {
	position:absolute;
	width:206px;
	height:32px;
	top:9px;
	left:20px;
}
.header_top .snslist {
	position:absolute;
	width:300px;
	height:32px;
	top:9px;
	right:20px;
}
.header_top .snslist .sns_icons {
	float:right;
}
.header_top .snslist .sns_icons li {
	float:left;
	margin-left:10px;
	width: 32px;
	height: 32px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.header_top {
	height:40px;
}
.header_top .logo {
	width:206px;
	height:32px;
	top:3px;
	left:10px;
}
.header_top .snslist {
	position:absolute;
	width:300px;
	height:25px;
	top:7px;
	right:10px;
}
.header_top .snslist .sns_icons li {
	width: 25px;
	height: 25px;
}
}/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.header_top .logo {
	width:120px;
	height:auto;
	top:10px;
	left:5px;
}
.header_top .snslist {
	top:7px;
}
.header_top .snslist .sns_icons li {
	width: 25px;
	height: 25px;
	margin-left:2px;
}

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


/*-------------------------------------------------------------
	header_bottom	
-------------------------------------------------------------*/
.header_bottom {
	position: relative;
	width: 100%;
	height: 140px;
	background: #fff;
}
.header_bottom .gallery_logo {
	position: absolute;
	width: 224px;
	height: 100px;
	top: 10px; left: 0; right: 0;
	margin: auto;
	z-index: 12;
	transition: all 0.2s;
}
.header_bottom .gallery_logo img {
}
.header_bottom .gallery_logo::before {
	width: 320px;
	height: 320px;
	position: absolute;
	content: "";
	top: -30px; left: -48px; 
	background: #fff;
	z-index: -1;
	border-radius: 50%;
}
.header_bottom .cap {
  width: 100%;
  position: absolute;
  bottom: 15px;
  right: 0;
  left: 0;
  margin: auto;
  background: #fff;
}
.header_bottom .cap p {
  font-size: 12px;
/*  width: 90%;*/
  margin: 0 auto;
  text-align: right;
  padding: 0 20px;
}
.header_spcap {
  display: none;
  width: 100%;
  text-align: right;
  background: #fff;
}
@media screen and (max-width: 1600px) {
.header_bottom .cap {
/*  width: 90%;*/
}
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.header_bottom {
	position: relative;
	width: 100%;
	height: 60px;
}
.header_bottom .gallery_logo {
	position: absolute;
	width: 164px;
	height: 70px;
	
	width: 120px;
	height: 51px;
	top: -8px;
}
.header_bottom .gallery_logo::before {
	top: -10px; left: -75px; 
	left: -100px;
}
.header_bottom .cap {
  display: none;
/*
  width: 100%;
  position: fixed;
  top: 100px;
  background: #fff;
  height: 20px;
  margin: 0;
*/
}
.header_spcap {
  display: block;
}
.header_spcap p {
  font-size: 12px;
  padding: 0 20px 5px;
}

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.header_spcap {
  display: none;
}
.header_spcap p {
  font-size: 2.5vw;
/*  text-align: center;*/
  padding: 0 10px 5px;
}
}/* for SP max-width: 736px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 320px) {
.header_bottom .gallery_logo {
	width: 100px;
	height: 43px;
	top: -0;
}
.header_bottom .gallery_logo::before {
	top: -10px;
	left: -110px;
}
}/* for SP max-width: 736px */


/*===============================================================
	
	onscroll
	
===============================================================*/
.onscroll .header_bottom {
	position: fixed;
	top: 0;
	left: 0;
	height: 50px;
	z-index: 10000;
}
.onscroll .header_bottom .gallery_logo {
	width: 90px;
	height: 40px;
	top: 3px; left: 0; right: 0;
}
.onscroll .header_bottom .gallery_logo::before {
	width: 10px;
	height: 10px;
	top: -500px;
}
.onscroll .header_bottom .cap p {
  padding: 0 70px;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.onscroll .header_bottom .cap {
  display: block;
  top: 50px;
  bottom: auto;
}
.onscroll .header_bottom .cap p {
  width: auto;
  padding: 5px 20px;
}
.detail_page .onscroll .header_spcap {
  display: none;
}
}/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.onscroll .header_bottom .cap p {
  display: none;
/*  text-align: center;*/
  font-size: 2.5vw;
  padding: 5px 10px;
}

}/* 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;
	/*
	background-image:url(../images/asset/txtlink_arw.png);
	background-repeat:no-repeat;
	background-position:left center;
	*/
	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;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	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_wrp {	
}
.detail_page .footer_wrp {
	border-top: solid 1px #ddd;
}
.detail_page .footer_cap {
  display: none;
}


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

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.detail_page .footer_cap {
  display: block;
  background: #fafafa;
}
.detail_page .footer_cap p {
  font-size: 12px;
  padding: 5px 20px;
  text-align: center;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.footer_sitemap
-------------------------------------------------------------*/
.footer_wrp .bnrs {
	padding: 30px 0;
	background: #fff;
}
.footer_wrp .bnr {
	width: 48.5%;
}
.footer_wrp .bnr a {
  display: block;
}
.footer_wrp .bnr a img {
  pointer-events: none;
	-webkit-touch-callout: none;
}

/* タブレット以下 */
@media screen and (max-width: 1000px) {
.footer_wrp .bnrs {
	padding: 20px;
}
.footer_wrp .bnrs .content_width {
	width: 100%;
}
}	/* for tablet max-width: 960px */

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

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

/*-------------------------------------------------------------
	footer_copy_wrp	
-------------------------------------------------------------*/
.footer_copy_wrp {
	width:100%;
	background:#efefef;
	text-align:center;
	padding:15px 0;
}
.footer_copy_wrp .copyright {
	color:#999;
	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
	
===============================================================*/
.menu_icon {
	position:absolute;
	top: 0; bottom: 0; right: 20px;
	margin: auto;
	z-index:300;
	height: 22px;
}
.menu_icon.menunone {
	display: none;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

.menu_bg {
	background:#222;
	position:absolute;
	z-index:300;
	top:0;
	left:0;
}
.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;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	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 .clearbtn ,
.menu .closebtn {
	border-top:solid 1px rgba(255,255,255,0.1);
	padding:30px 0;
}
.menu .clearbtn a ,
.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 {
	-webkit-transition:all .1s linear; 
	-moz-transition:all .1s linear; 
	-ms-transition:all .1s linear; 
	transition:all .1s linear; 
	-webkit-transform:rotate(90deg); 
	-moz-transform:rotate(90deg); 
	-ms-transform:rotate(90deg); 
	transform:rotate(90deg);
}	
.menu .navlist li.head.active > a:after {
	-webkit-transform:rotate(0deg); 
	-moz-transform:rotate(0deg); 
	-ms-transform:rotate(0deg); 
	transform:rotate(0deg); 
}		
}	/* for tablet max-width: 960px */


/*-------------------------------------------------------------
	menu-trigger
-------------------------------------------------------------*/
.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;
}
.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);
}
/* タブレット以下 */
@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 */


/*===============================================================
	
	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 */

/*===============================================================
	
	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;
	position:absolute;
	right:-300px; top:0;
	width:50px; height:50px;
	color:#ff0;
	background-color:#ff0;
	text-indent:100%;
	overflow:hidden;
	white-space:nowrap;
	z-index:9999;
	position:fixed;
}
#btn_pagetop a:hover {
	opacity: 0.7;
}
#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 #000;
	border-left:solid 2px #000;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	border-radius:2px;
}

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
#btn_pagetop a {
	width:40px;
	height:40px;
	background-size:40px 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;
	-webkit-box-shadow:rgba(0, 0, 0, 0.2) 0px 2px 0px 0px;
	-moz-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;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	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;
	background-size:18px 30px;
}
}	/* 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 {
	background: url(../images/asset/bg_slash.gif) repeat;
}
.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;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}
.txtlink.arw_prev a {
}
.txtlink.arw_prev a:after {
	top:7px; bottom:auto; left:3px; right:auto;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	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;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	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;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	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;
}


/*===============================================================
	
	modal 2016/10/11
		
===============================================================*/
.modal_bg {
	position:absolute;
	top:0;
	left:0;
	background:#000;
	display:none;
	z-index:9998;
}
.modal {
	position:absolute;
	top:0;
	left:0;
	width:800px;
	display:none;
	z-index:9999;
	
	transition:top 0.2s linear,left 0.1s linear;
	-moz-transition:top 0.2s linear,left 0.1s linear;
	-ms-transition:top 0.2s linear,left 0.1s linear;
	-o-transition:top 0.2s linear,left 0.1s linear;
	-webkit-transition:top 0.2s linear,left 0.1s linear;
}
.modal .close {
	position:absolute;
	width:30px; height:30px;
	top:0; right:0;
	text-indent:100%;
	overflow:hidden;
	white-space:nowrap;
	cursor:pointer;
	z-index:9999;
}
.modal .close:before {
	content:" ";
	position:absolute;
	width:30px; height:2px;
	background:#fff;
	top:10px; right:0;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.modal .close:after {
	content:" ";
	position:absolute;
	width:30px; height:2px;
	background:#fff;
	top:10px; right:0;
	-webkit-transform: rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.modal .close:hover {
	opacity:0.7;
}
.modal .modal_container {
	padding:0;
	position:relative;
}
.modal .modal_contents_wrp {
	position: relative;
	padding:40px;
	width: 100%;
	height: 100%;
	box-sizing:border-box;
}
.modal .modal_inner {
	padding:30px;
}
.modal .modal_contents_wrp::-webkit-scrollbar {
  display: none;
}

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

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.modal {
	width:100%;
}
.modal .modal_container {
}
.modal .close {
	top:5px; right:0px;
}

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

/*-------------------------------------------------------------
	.modal .modal_pager
-------------------------------------------------------------*/
.modal .modal_pager li a {
	position:absolute;
	top:0; bottom:0;
	margin:auto;
	display:block;
	width:30px;
	height:30px;
	white-space:nowrap;
	text-indent:100%;
	overflow:hidden;
}
.modal .modal_pager li a:after {
	position:absolute;
	content:" ";
	width:15px; height:15px;
	top:6px; left:0;
	border-top:solid 2px #fff;
	border-left:solid 2px #fff;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}
.modal .modal_pager li.prev a {
	left:0;
	-webkit-transform: rotate(-180deg);
	-moz-transform: rotate(-180deg);
	-ms-transform: rotate(-180deg);
	transform: rotate(-180deg);
}
.modal .modal_pager li.next a {
	right: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 */


/*-------------------------------------------------------------
	.modal_container
-------------------------------------------------------------*/
.modal .modal_container .modal_header {
}
.modal .modal_container .modal_header h3 {
	font-size:25px;
	line-height:50px;
	text-align:center;
	font-weight:bold;
	text-shadow:none;
}
.modal .modal_container .modal_header p {
	font-size:14px;
	line-height:20px;
	text-align:center;
	font-weight:bold;
}
.modal .btn {
	width:560px;
	margin:0 auto;
	margin-top:40px;
}

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

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

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

.modal .modal_container .modal_header h3 {
	font-size:20px;
	line-height:25px;
	padding-top:5px;
}
.modal .btn {
	width:100%;
	margin:0 auto;
	margin-top:40px;
}
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.modal_container .btn
-------------------------------------------------------------*/
.modal_container .btn {
	width:450px;
	margin:0 auto;
	margin-top:30px;
}
.modal_container .btn a {
	position:relative;
	display:block;
	background-color:#e63412;
	text-align:center;
	color:#fff;
	font-size:18px;
	line-height:20px;
	font-weight:bold;
	padding:20px 0;
	border-radius:5px;
	box-shadow:rgba(0, 0, 0, 0.2) 0px 3px 0px 0px;
	-webkit-box-shadow:rgba(0, 0, 0, 0.2) 0px 3px 0px 0px;
	-moz-box-shadow:rgba(0, 0, 0, 0.2) 0px 3px 0px 0px;
	text-decoration:none;
}
.modal_container .btn a:hover {
	text-decoration:none;
	background-color:#ff6600;
}
.modal_container .btn a:after {
	position:absolute;
	content:" ";
	width:13px; height:13px;
	top:0; left:auto; bottom:0; right:10px;
	margin:auto;
	border-top:solid 2px #fff;
	border-left:solid 2px #fff;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.modal_container .btn {
	width:100%;
	margin:0 auto;
	margin-top:15px;
}
.modal_container .btn a {
	font-size:16px;
}
}	/* for SP max-width: 736px */
/*-------------------------------------------------------------
	nodata	
-------------------------------------------------------------*/
.modal .nodata {
	padding:50px 15px;
	text-align:center;
}
.modal .nodata h3 {
	font-size:16px;
	color:#fff;
}
.modal .closebtn a {
	display:block;
	width:120px;
	margin:0 auto;
	line-height:30px;
	border:solid 1px #fff;
	text-align:center;
	margin-top:20px;
	color:#fff;
}
.modal_gamedetail .closebtn a:hover {
	color:#000;
	background:#fff;
	text-decoration:none;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {

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

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

/*-------------------------------------------------------------
	モーダル制作時の確認用
-------------------------------------------------------------*/
.modal {
	/*display:block;*/
}
.modal_demo1 .modal_inner,
.modal_demo2 .modal_inner {
	color:#fff;
	background:#333;
	padding:30px;
}

/*===============================================================
	
	メールフォーム
	
===============================================================*/
/*-------------------------------------------------------------
	form_section	
-------------------------------------------------------------*/
.form_section {
	width:800px;
	margin:0 auto;
	padding:100px 0;
}

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

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

/*-------------------------------------------------------------
	.txt 	
-------------------------------------------------------------*/
.form_section .txt {
	margin-top:30px;
}
.form_section .txt p {
	font-size:14px;
	line-height:1.6;
	text-align:center;
}

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.form_section .txt {
	margin-top:15px;
}
.form_section .txt p {
	font-size:12px;
	text-align:left;
}
	
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	form	
-------------------------------------------------------------*/
.form_content {
	border-top:solid 1px #ddd;
	border-bottom:solid 1px #fff;
	text-align:left;
	margin-top:30px;
	font-size:16px;
}

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

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


/*-------------------------------------------------------------
	form dl	
-------------------------------------------------------------*/
.form_content dl {
	border-top:solid 1px #fff;
	border-bottom:solid 1px #ddd;
	margin:0;
}
.form_content dt {
	padding: 20px 0 10px;
	/* float: left; */
	/* width: 25%; */
	margin-right: 2%;
	font-size: 16px;
	line-height: 20px;
	font-weight: bold;
}
.form_content dt span {
	padding-left:3px;
}
.form_content dd {
	padding: 0px 0 20px;
	float: right;
	width: 100%;
	font-size: 14px;
	line-height: 30px;
}
.form_content .red {
	font-size:11px;
	color:#FF6283;
	font-weight:normal;
}

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.form_content dt {
	padding:10px 0 0 0;
	float:none;
	width:100%;
	font-size:12px;
	line-height:1.6;
}
.form_content dd {
	padding:5px 0 10px 0;
	float:left;
	width:100%;
	font-size:12px;
	line-height:1.6;
}

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


/*-------------------------------------------------------------
	.form_content input	
-------------------------------------------------------------*/
.form_content input.txtinput {
	width:100%;
	box-sizing: border-box;
	border:0;
	padding:10px;
	font-size:14px;
	line-height:1.6;
	border:solid 1px #ccc;
	margin:0;
	border-radius:5px;
	-webkit-appearance:none;
	outline:0;
	-webkit-transition:all 0.1s linear;
	-moz-transition:all 0.1s linear;
	-ms-transition:all 0.1s linear;
	transition:all 0.1s linear;
}
.form_content input.txtinput_postal {
	width:150px;
	border:0;
	padding:10px;
	font-size:14px;
	line-height:1.6;
	border:solid 1px #ccc;
	margin:0;
	border-radius:5px;
	-webkit-appearance:none;
	outline:0;
	-webkit-transition:all 0.1s linear;
	-moz-transition:all 0.1s linear;
	-ms-transition:all 0.1s linear;
	transition:all 0.1s linear;
}
.form_content textarea {
	width:100%;
	box-sizing: border-box;
	border:0;
	padding:10px;
	font-size:14px;
	line-height:1.6;
	border:solid 1px #ccc;
	margin:0;
	vertical-align:middle; 
	border-radius:5px;
	-webkit-appearance:none;
	outline:0;
	-webkit-transition:all 0.1s linear;
	-moz-transition:all 0.1s linear;
	-ms-transition:all 0.1s linear;
	transition:all 0.1s linear;
}
.form_content input.txtinput:focus,
.form_content input.txtinput_postal:focus,
.form_content textarea:focus {
	border-color:#333;
}
.form_content .sample {
	font-size:90%;
	line-height:1;
	margin-top:10px;
	color:#999;
}
.form_content .sample a {
	color:#999;
	text-decoration:none;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
}	/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.form_content input.txtinput,
.form_content textarea,
.form_content input ,
.form_content textarea {
	/* width: 100%; */
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 12px;
}
.form_content input.txtinput_postal {
	box-sizing:border-box;
	font-size:12px;
}	
.form_content .sample {
	margin-top:5px;
}		

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

/*-------------------------------------------------------------
	.form_content .radio
-------------------------------------------------------------*/
.form_content .radio li input {
	width:auto;
  display:none;
  border:0;
  margin:0;
}
.form_content .radio li {
	padding:0;
}
.form_content .radio li + li {
	margin-top:10px;
}
/*　ラジオボタンの装飾　*/
.form_content .radio li label {
	display:inline-block;
	vertical-align:middle; 
	position:relative;
	padding-left:24px;
	cursor:pointer; 
	font-size:14px;
	line-height:20px;
}
.form_content .radio li label:before {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
	border-radius:50%;
	width:16px;
	height:16px;
	background:#fff;
	border:1px solid #333;
	box-sizing:border-box;
}
.form_content .radio li label:after {
  content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:4px;
	margin:auto;
	border-radius:50%;
	width:8px;
	height:8px;
	background:#333;
	-webkit-transition:all 0.1s linear;
	-moz-transition:all 0.1s linear;
	-ms-transition:all 0.1s linear;
	transition:all 0.1s linear;
	-webkit-transform:scale(0);
	-moz-transform:scale(0);
	-ms-transform:scale(0);
	transform:scale(0);
}
.form_content .radio li input:checked + label:after {
	-webkit-transform:scale(1);
	-moz-transform:scale(1);
	-ms-transform:scale(1);
	transform:scale(1);
}

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.form_content .radio li label {
	font-size:12px;
	line-height:20px;
}
	
}	/* for SP max-width: 736px */

/*-------------------------------------------------------------
	.form_content checkbox 
-------------------------------------------------------------*/
.form_content .checkbox li {
	float:left;
	width:33.3333%;
	padding:0;
}
.form_content .checkbox li:nth-child(4),
.form_content .checkbox li:nth-child(5),
.form_content .checkbox li:nth-child(6) {
	margin-top:10px;
}
.form_content .agreebox {
	padding-top:20px;
	font-size:14px; 
	line-height:20px;
	text-align:center;
}
.form_content .checkbox li input,
.form_content .agreebox input {
	width:auto;
	display:none;
  border:0;
  margin:0;
}
/*　チェックボックスの装飾　*/
.form_content .checkbox li label,
.form_content .agreebox label {
	display:inline-block;
	vertical-align:middle; 
	position:relative;
	padding-left:24px;
	cursor:pointer;
	font-size:14px; 
	line-height:20px;
}
.form_content .checkbox li label:before,
.form_content .agreebox label:before {
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
	border-radius:10%;
	width:16px;
	height:16px;
	background:#fff;
	border:1px solid #333;
	box-sizing:border-box;
}
.form_content .checkbox li label:after,
.form_content .agreebox label:after {
  content:"";
	position:absolute;
	top:-4px;
  left:5px;
	margin:auto;
  width:6px;
  height:14px;
  border-right:2px solid transparent;
  border-bottom:2px solid transparent;
	-webkit-transform:rotate(40deg);
  -moz-transform:rotate(40deg);
  -ms-transform:rotate(40deg);
  transform:rotate(40deg);
	-webkit-transition:border-bottom-color,border-right-color .2s linear;
	-moz-transition:border-bottom-color,border-right-color .2s linear;
	-ms-transition:border-bottom-color,border-right-color .2s linear;
	transition:border-bottom-color,border-right-color .2s linear;
}
.form_content .checkbox li input:checked + label:after,
.form_content .agreebox input:checked + label:after {
	border-color:#333;
}

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

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.form_content .checkbox li {
	width:100%;
}	
.form_content .checkbox li + li {
	margin-top:10px;
}
.form_content .checkbox li label,
.form_content .agreebox label {
	font-size:12px;
}	
.form_content .agreebox {
	padding-top:10px;
	font-size:12px; 
	text-align:left;
}
}	/* for SP max-width: 736px */


/*-------------------------------------------------------------
	.form_content select 
-------------------------------------------------------------*/
.form_content select {
	background:#fff;
	/*background:url(../images/space1x1.gif) no-repeat;*/
}
.form_content select option {
	background:#fff;
	color:#333;
}
.form_content optgroup.area {
	color:#333;
	background:#eee;
}
/*	 セレクタの装飾 */
.select_wrap {
	position:relative;
	overflow:hidden;
	display:inline-block;
	min-width:30em;
	background-color:#ffffff;
	background-image:-webkit-linear-gradient(top, #ffffff 0%, #eee 100%);
	background-image:linear-gradient(top, #ffffff 0%, #eee 100%);
	border:1px solid #ddd;
	border-radius:3px;
	color:#333;
	/*padding:0 5px;*/
	box-sizing:border-box;
	-webkit-transition:all 0.1s linear;
	-moz-transition:all 0.1s linear;
	-ms-transition:all 0.1s linear;
	transition:all 0.1s linear;
}
.select_wrap:hover {
	border:1px solid #333;
}
.select_wrap2 {
	min-width:20em;
}
.select_wrap3 {
	min-width:10em;
	margin-right:5px;
}
.select_wrap select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	position: relative;
	z-index: 2;
	display: block;
	width: 200%;
	/* fallback non calc support */
	width:-webkit-calc(100% + 5em);
	width:100%;
	margin:0;
	padding:5px 20px 5px 10px;
	background:transparent;
	border:0;
	outline:none;
	font-size:16px;
	line-height:1.6;
	cursor:pointer; 
}
.select_wrap:after {
	content:'';
	position:absolute;
	bottom:5px;
	right:10px;
	width:5px;
	height:5px;
	border-top:4px solid rgba(0,0,0,0.5);
	border-right:4px solid transparent;
	border-bottom:4px solid transparent;
	border-left:4px solid transparent;
	box-sizing:border-box;
}
.select_wrap:before {
	content:'';
	position:absolute;
	top:5px;
	right:10px;
	width:5px;
	height:5px;
	border-top:4px solid transparent;
    border-right:4px solid transparent;
    border-bottom:4px solid rgba(0,0,0,0.5);
    border-left:4px solid transparent;
	box-sizing:border-box;
}

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
/*	 セレクタの装飾 */
.select_wrap {
	min-width:auto;
	width:100%;
	padding:0;
	margin:0;
}
.select_wrap + .select_wrap {
	margin-top:10px;
}	
.select_wrap select {
	padding:10px;
	padding-right: 25px;
}
.select_wrap:after {
	content:'';
	position:absolute;
	bottom:12px;
	right:10px;
	width:5px;
	height:5px;
	border-top:4px solid rgba(0,0,0,0.5);
	border-right:4px solid transparent;
	border-bottom:4px solid transparent;
	border-left:4px solid transparent;
	box-sizing:border-box;
}
.select_wrap:before {
	content:'';
	position:absolute;
	top:12px;
	right:10px;
	width:5px;
	height:5px;
	border-top:4px solid transparent;
	border-right:4px solid transparent;
	border-bottom:4px solid rgba(0,0,0,0.5);
	border-left:4px solid transparent;
	box-sizing:border-box;
}
}	/* for SP max-width: 736px */


/*-------------------------------------------------------------
	.form_content .submit
-------------------------------------------------------------*/
.form_content .submit {
	padding:40px 0;
	margin:0;
}
.form_content .submit input {
	width:200px;
	margin:0 auto;
	padding:15px 0;
	display:block;
	color:#eee;
	font-size:18px;
	line-height:20px;
	font-weight:bold;
	text-decoration:none;
	text-shadow:0px 1px 2px rgba(0,0,0,0.8);
	border:0;
	border-radius:5px;
	background:#333;
	box-shadow:0 2px 0 0 rgba(0,0,0,0.2);
	-moz-box-shadow:0 2px 0 0 rgba(0,0,0,0.2);
	-webkit-box-shadow:0 2px 0 0 rgba(0,0,0,0.2);
	-webkit-transition:all 0.1s linear;
	-ms-transition:all 0.1s linear;
	-moz-transition:all 0.1s linear;
	transition:all 0.1s linear;
	cursor:pointer;
	-webkit-appearance:none;
}
.form_content .submit input:hover {
	background:#D4145A;
}
.form_content .submit .cap {
	color:#666;
	font-size:12px;
	line-height:1.6;
	margin-top:40px;
}

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

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.form_content .submit {
	padding:15px 0;
}	
.form_content .submit input {
	width:100%;
	padding:10px 0;
	font-size:14px;
}
.form_content .submit .cap {
	margin-top:15px;
}	

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

/*-------------------------------------------------------------
	.form_content .two_submit
-------------------------------------------------------------*/
.form_content .submit_two {
	width:440px;
	margin:0 auto;
}
.form_content .submit_two .flol ,
.form_content .submit_two .flor {
	width:50%;
}

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

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

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

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

/*-------------------------------------------------------------	
	jquery mailform バリデート
-------------------------------------------------------------*/
.validate {
	margin-bottom:10px;
}
.validate p {
	background:#fee;
	padding:5px;
	color:#c00;
	font-size:14px;
	line-height:1.2;
}
.validate_submit {
	margin:0 auto;
	text-align:center;
	padding-bottom:20px;
}
.validate_submit p {
	padding:10px;
}

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

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.validate {
	margin-bottom:5px;
}
.validate p {
	font-size:12px;
	padding:7px;
}	
.validate_submit {
	margin:0 auto;
	text-align:left;
}

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






/*===============================================================
	
	基本のレイアウト
	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 */



/*===============================================================
	
	sort_btns
	
===============================================================*/
.sort_btns {
	background: #fafafa;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	display: none;
	position: absolute;
	width: 100%;
	top: 190px;
	z-index: 999;
	box-shadow: 0 20px 20px 0 rgba(0,0,0,0.3);
}
.sort_btns {
	text-align: left;
	padding: 40px 40px;
	padding-bottom: 50px;
	box-sizing: border-box;
}
.sort_btns .block {
	/*border-top: solid 1px #000;*/
}
.sort_btns .block:last-child {
	/*border-bottom: solid 1px #000;*/
}

.sort_btns .block_project {
	display:none;
}

.sort_btns .title {
	border-top: solid 1px #000;
	padding: 20px 0;
	font-size: 16px;
	width: 170px;
	float: left;
	font-size: 16px;
}
.sort_btns ul {
	/*display: inline-block;*/
	padding: 20px 0;
	padding-left: 190px;
	border-top: solid 1px #ccc;
	font-size: 14px;
}
.sort_btns ul + ul {
	border-top: dotted 1px #ccc;
}
.sort_btns .block:last-child ul:last-child {
	border-bottom: solid 1px #ccc;
}
.sort_btns .subject {
	font-weight: bold;
	margin-bottom: 5px;
}

.sort_btns .type {
	display: inline-block;
	margin: 0px 1px 5px 1px;
	
}
.sort_btns .type a {
	padding: 5px 18px;
	font-size: 14px;
	line-height: 1;
	display: block;
	text-decoration: none;
	background: #000;
	color: #fff;
	position: relative;
}
.sort_btns .type_check a::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 5px;
	margin: auto;
	width: 8px;
	height: 8px;
	background: none;
	border: 1px solid #666;
	border-radius: 50%;
}
.sort_btns .type a span {
	font-size: 10px;
}
.sort_btns .type a:hover {
	text-decoration: none;
	background: #000;
}
.sort_btns .type a:hover::after {
	content: "";
	position: absolute;
	top: 5px;
	left: 8px;
	margin: auto;
	width: 3px;
	height: 7px;
	background: none;
	border-right: 2px solid #fc0;
	border-bottom: 2px solid #fc0;
	transform: rotate(40deg);
	transition: border-bottom-color,border-right-color .2s linear;
}
.sort_btns .type_check a:hover::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 5px;
	margin: auto;
	width: 8px;
	height: 8px;
	background: none;
	border: 1px solid #fc0;
	transform: rotate(0deg);
	border-radius: 50%;
	
}
.sort_btns .type_check a:hover::after {
	content: "";
	position: absolute;
	top: 9px;
	left: 8px;
	margin: auto;
	width: 1px;
	height: 1px;
	background: none;
	border: 2px solid #fc0;
	transform: rotate(0deg);
	border-radius: 50%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.sort_btns .type a.active {
	background: #ff0;
	color: #000;
}
.sort_btns .type a.active::after {
	content: "";
	position: absolute;
	top: 5px;
	left: 8px;
	margin: auto;
	width: 3px;
	height: 7px;
	background: none;
	border-right: 2px solid #000;
	border-bottom: 2px solid #000;
	transform: rotate(40deg);
	transition: border-bottom-color,border-right-color .2s linear;
}

.sort_btns .type_check a.active::before {
	content: "";
	position: absolute;
	top: 6px;
	left: 5px;
	margin: auto;
	width: 8px;
	height: 8px;
	background: none;
	border: 1px solid #000;
	transform: rotate(0deg);
	border-radius: 50%;
}
.sort_btns .type_check a.active::after {
	content: "";
	position: absolute;
	top: 9px;
	left: 8px;
	margin: auto;
	width: 1px;
	height: 1px;
	background: none;
	border: 2px solid #000;
	transform: rotate(0deg);
	border-radius: 50%;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}


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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.sort_btns {
	top: 100px;
}
.sort_btns .title {
	width: 100%;
	float: none;
	font-size: 14px;
	padding: 10px 0;
}
.sort_btns ul {
	/*display: inline-block;*/
	padding: 10px 0;
	padding-left: 0px;
	font-size: 14px;
}
}/* for SP max-width: 736px */


/*-------------------------------------------------------------
	sort_btns .btn_detail	
-------------------------------------------------------------*/
.sort_btns .btns {
	text-align: center;
	border-top: solid 1px #ccc;
	padding-top: 20px;
}
.sort_btns .btns .btn {
	display: inline-block;
	padding: 0 10px;
}
.sort_btns .btns .btn a {
	width: 100px;
	padding: 10px 20px;
	font-size: 16px;
	line-height: 1.5;
	font-weight: bold;
	display: block;
	background: #000;
	color: #fff;
	text-decoration: none;
	margin: 0 auto;
	text-align: center;
	border: solid 1px #000;
}
.sort_btns .btns .btn a:hover {
	text-decoration: none;
	background: #ff0;
	color: #000;
}
.sort_btns .btns .clearbtn a ,
.sort_btns .btns .closebtn a {
	background: #fff;
	color: #000;
}
.sort_btns .btns .clearbtn a:hover  ,
.sort_btns .btns .closebtn a:hover {
	background: #ddd;
	color: #000;
}

/* タブレット以下 */
@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 */


/*===============================================================
	
	section_tiles
	
===============================================================*/
.section_tiles {
	text-align: center;
	border: 0;
	min-height: 500px;
}
.section_tiles .section_inner {
	padding:0;
}
.section_tiles .tiles {
	width:100%;
	/*
	padding:0 2.5px;
	margin-top:-5px;
	*/
	box-sizing:border-box;
}
.section_tiles .tiles .item {
	width: 200px;
	margin-top: 20px;
	height: auto;
	cursor:pointer;
	position: relative;
	overflow: visible;
	box-shadow: 5px 5px 0 0 rgba(0,0,0,0.1);
	/*transition: transform 0.3s;*/
	z-index: 500;
display: none;
}
.section_tiles .tiles .item:hover {
	z-index: 510;
}
.section_tiles .tiles .item a {
	color: #000;
	text-decoration: none;
	transition: all 0.3s;
	display: block;
	box-shadow: 0 0 0 0 rgba(0,0,0,0.0);
  background: #fff;
}
.section_tiles .tiles .item a:hover {
	color: #000;
	text-decoration: none;
	transform: rotateY(0deg) scale(1.05,1.05);
	box-shadow: 20px 20px 20px 0  rgba(0,0,0,0.3);
}

.masonry_wrp {
	width:100%;
	margin:0 auto;
	position:relative;
	padding-bottom:20px;
	transition:all .3s;
}

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

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.section_tiles {
	overflow-x: hidden;
}
.section_tiles .section_inner {
	padding:20px;
	padding-top: 0;
}
.section_tiles .tiles .item {
	width:100%;
}
.masonry_wrp {
	width:100%;
}

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

/*-------------------------------------------------------------
	.section_tiles .tiles .item img	
-------------------------------------------------------------*/
.section_tiles .tiles .item img {
	width: 100%;
	height: auto;
	box-sizing: border-box;
  pointer-events: none;
	-webkit-touch-callout: none;
}

/* タブレット以下 */
@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 */

/*-------------------------------------------------------------
	.section_tiles .tiles .item .txt
-------------------------------------------------------------*/
.section_tiles .tiles .item .txt {
	width:100%;
	margin: auto;
	box-sizing: border-box;
	transition: all 0.3s;
	background: #fff;
	color: #000;
}
/*
.section_tiles .tiles .item:hover .txt {
	transform: rotateY(0deg) scale(1,1);
	opacity: 1;
}
*/
.section_tiles .tiles .item .txt .txt_inner {
	width: 100%;
	text-align: left;
	padding: 10px;
	box-sizing: border-box;
}

.section_tiles .tiles .item .txt .title {
	font-size: 12px;
	line-height: 1.2;
}
.section_tiles .tiles .item .txt .title span {
	display: block;
	font-size: 16px;
}


/* タブレット以下 */
@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 */


/*===============================================================
	
	tags
	
===============================================================*/
.tags {
	background: #ff0;
	text-align: left;
	line-height: 15px;
	margin: 0;
	padding: 0;
	width: 100%;
	overflow: hidden;
}
.tags li {
	color: #fff;
	padding: 3px 5px;
	font-size: 12px;
	line-height: 1;
	display: inline-block;
	text-align: left;
	vertical-align: top;
	margin: 0;
	float: left;
}
/*
.tag_comic {	background: #8FC31F}
.tag_game {	background: #5292CF}
.tag_animation_cg_image {	background: #30AFAC}
.tag_novel {	background: #87DAAE}
.tag_illust {	background: #F4CE47}
.tag_design {	background: #F4CE47}
.tag_product_interior {	background: #D75992}
.tag_industrial_master {	background: #F293A6}
*/

.tag_comic {	background: #ef93ba}
.tag_game {	background: #d5dc20}
.tag_animation_cg_image {	background: #89cac2}
.tag_novel {	background: #ef93ba}
.tag_illust {	background: #fabf13}
.tag_design {	background: #fabf13}
.tag_product_interior {	background: #fabf13}
.tag_industrial_master {	background: #e60012}



.tag_goldegg {	background: #B29300}
.tag_graduation {	background: #325A8C}
.tag_independent {	background: #727171}
.tag_companyproject {	background: #666666}

.tag_other {	background: #666666}
.tag_project {	background: #222222}
.tag_company {	background: #555555}

/* タブレット以下 */
@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 */


/*-------------------------------------------------------------
	section_detail	
-------------------------------------------------------------*/
.section_detail .tags li {
	color: #fff;
/*	padding: 8px 10px;*/
  padding: 0;
	font-size: 14px;
	line-height: 1.2;
	display: inline-block;
	text-align: left;
	vertical-align: top;
	margin: 0;
	float: left;
  transition: all 0.3s;
}
.section_detail .tags li a {
  color: #fff;
	display: inline-block;
	padding: 8px 10px;
  text-decoration: none;
}
.section_detail .tags li:hover ,
.section_detail .tags li a:hover {
  opacity: .7;
}
.section_detail .download {
	margin-top: 20px;
}
.section_detail .download a {
	display: block;
	position: relative;
	border: solid 2px #000;
	background: #ee87b4;
	padding: 10px;
	padding-right: 15px;
	text-align: left;
	text-decoration: none;
	font-size: 16px;
	line-height: 1.2;
	font-weight: bold;
	border-radius: 3px;
	color: #fff;
}


/* タブレット以下 */
@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 */

/*===============================================================
	
	nodata
	
===============================================================*/
.section_tiles .nodata {
	padding: 30px 0;
	display: none;
}
.section_tiles .nodata p {
	font-size: 16px;
}
.section_tiles .nodata .btn {
	margin: 0 auto;
	margin-top: 10px;/* background: #ddd; */
}
.section_tiles .nodata .btn a {
	display:inline-block;
	border: solid 1px rgba(0,0,0,0.5);
	color: #000;
	padding: 10px 15px;
	font-size: 14px;
	line-height: 1;/* background: #ddd; */
}
.section_tiles .nodata .btn a:hover {
	text-decoration: none;
	background: #fff;
	color: #000;
	border: solid 1px rgba(255,255,255,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 */



/*===============================================================
	
	back_to_list
	
===============================================================*/
.back_to_list {
	background: #000;
	width: 100%;
	height: 40px;
	/*position: fixed;
	top: 190px;
	left: 0;*/
	z-index: 3;
}
.back_to_list .btn a {
	display:inline-block;
	font-size: 14px;
	line-height: 20px;
	color: #fff;
	background: #000;
	text-decoration: none;
	padding: 10px 20px 10px 30px;
	position: relative;
}
.back_to_list .btn a:hover {
	text-decoration: none;
	background: #242527;
}
.back_to_list .btn a::after {
	content:'';
	position:absolute;
	top: 0; bottom: 0; left: 10px;
	margin: auto;
	border:solid 1px #fff;
	width:6px;
	height:6px;
	border-top:none;
	border-left:none;
	-webkit-transform: rotate(135deg) translate(-1px,-1px);
	-moz-transform: rotate(135deg) translate(-1px,-1px);
	-ms-transform: rotate(135deg) translate(-1px,-1px);
	transform: rotate(135deg) translate(-1px,-1px);
	transition: all 0.3s;
}
/* タブレット以下 */
@media screen and (max-width: 960px) {
.back_to_list {
	height: 30px;
	top: 50px;
}
.back_to_list .btn a {
	display:block;
	font-size: 12px;
	line-height: 20px;
	color: #fff;
	background: #38393b;
	text-decoration: none;
	padding: 5px 20px 5px 30px;
	position: relative;
	text-align: center;
}
}/* for tablet max-width: 960px */

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

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



/*===============================================================
	
	section_detail
	
===============================================================*/
.section_detail {
	background: #fff;
}
.detail_width {
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	box-sizing:border-box;
}
.fig_container {
	width: 60%;
	float: left;
	padding-top: 0;
}
.page_img img {
	width: 100%;
	height: auto;
  pointer-events: none;
	-webkit-touch-callout: none;
}
.fig_container .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.fig_container .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.page_img {
	transition: all 0.3s;
}
.page_img:hover {
	/*cursor: pointer;*/
	/*transform: scale(1.05,1.05);*/
}
.page_img {
	position: relative;
}
/*
.fig_container .page_img::after {
	position: absolute;
	content: "";
	width: 50px;
	height: 50px;
	bottom: 10px;
	right: 10px;
	background: url(../images/icon_plus.png) no-repeat 0 0;
	background-size: cover;
}
*/
.txt_container {
	width: 28%;
	margin-left: 62%;
	position: fixed;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	margin-top: 240px;
	padding-top: 50px;
}
.txt_container.fixed {
	position: fixed;
	top: 0;
	margin-top: 0;
	padding-top: 50px;
}

.txt_absolute {
	/*position: relative;*/
}
.txt_absolute .txt_container {
	position: absolute;
	/*top: auto;
	bottom: 100px;*/
}

/* タブレット以下 */
@media screen and (max-width: 1600px) {
.detail_width {
	width: 90%;
}
.txt_container {
	width: 33%;
}
}/* for tablet max-width: 960px */


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

/* タブレット以下 */
@media screen and (max-width: 960px) {
.detail_width {
	width: 100%;
	padding:0;
}
.txt_container {
	margin-top: 130px;
	width: 34%;
}
.fig_container {
	padding-top: 0;
}
}/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.catarog_width {
	padding:20px 20px 50px 20px;
}
.fig_container {
	width: 100%;
	float: none;
	padding-top: 20px;
}
.txt_container,
.txt_absolute .txt_container{
	width: 100%;
	margin-left: 0%;
	position: static;
	margin-top: 0px;
	padding: 0;
}
.txt_container .page_img {
	margin-top: 15px;
}

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


/*===============================================================
	
	txt_container
	
===============================================================*/
.txt_container {
}
.txt_container .content {
	padding-bottom: 100px;
	padding-bottom: 40px;
}
.txt_container .title {
	font-size: 30px;
	line-height: 1.2;
	margin-top: 30px;
}
.txt_container .title span {
	display: block;
	font-size: 20px;
}
.txt_container .spec {
	margin-top: 30px;
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
	padding: 5px 0 15px 0;
}
.txt_container .spec + .spec {
	margin-top: 0;
	border-top: solid 0px #000;
}
.txt_container .spec dt,
.txt_container .spec dd {
	font-size: 14px;
	line-height: 1.4;
	padding-top: 10px;
}
.txt_container .spec dt {
	float: left;
	width: 120px;
	font-weight: bold;
}
.txt_container .spec dd {
	padding-left: 140px;
}
.txt_container .txt {
	margin-top: 20px;
}


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

.txt_container .title {
	font-size: 30px;
}
.txt_container .title span {
	font-size: 30px;
}

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.txt_container .content {
	border-top: solid 0px #000;
}
.txt_container .content {
	padding: 0;
}

.txt_container .title {
	font-size: 25px;
	line-height: 1.2;
	margin-top: 15px;
}
.txt_container .spec {
	margin-top: 20px;
	padding: 10px 0 15px 0;
}
.txt_container .spec dt,
.txt_container .spec dd {
	font-size: 14px;
	line-height: 20px;
	padding-top: 5px;
}

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

/*-------------------------------------------------------------
	course_offer	
-------------------------------------------------------------*/
.course_offer {
	margin-top: 50px;
}
.course_offer .title {
	font-size: 25px;
	font-weight: bold;
}
.course_offer ul li a {
	display: block;
	margin-top: 10px;
	border: solid 2px #000;
	background: #ff0;
	padding: 10px;
	padding-right: 15px;
	text-align: left;
	text-decoration: none;
	font-size: 16px;
	line-height: 1.2;
	font-weight: bold;
	position: relative;
	border-radius: 3px;
	color: #000;
}
.course_offer ul li a:hover {
	background: #ff0;
}
.course_offer ul li a::after{
	content:'';
	position:absolute;
	top: 0; bottom: 0; right: 5px;
	margin: auto;
	border:solid 2px #000;
	width:6px;
	height:6px;
	border-top:none;
	border-left:none;
	transform: rotate(-45deg) translate(-1px,-1px);
	transition: all 0.3s;
}

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

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.course_offer {
	margin-top: 30px;
}
.course_offer .title {
	font-size: 20px;
}
.course_offer ul li a {
	display: block;
	margin-top: 8px;
	font-size: 14px;
}


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


/*===============================================================
	
	.fig_container 
	
===============================================================*/

.fig_container .page_img + .page_img {
	margin-top: 50px;
}

.fig_container .page_img p {
	margin-top: 15px;
	font-size: 16px;
	line-height: 1.4;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
.fig_container .page_img + .page_img {
	margin-top: 30px;
}
}/* for tablet max-width: 960px */

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
.fig_container .page_img + .page_img {
	margin-top: 20px;
}
	
.fig_container .page_img p {
	margin-top: 10px;
	font-size: 14px;
}
}/* for SP max-width: 736px */


/*-------------------------------------------------------------
	.txt_container 	.snsbtns
-------------------------------------------------------------*/
.txt_container .snsbtns {
	margin-top:30px;
	letter-spacing:-.4em;
}
.txt_container .snsbtns li {
	display:inline-block;
	padding:0 10px 0 2px;
	box-sizing:border-box;
	letter-spacing:normal;
}
.txt_container .snsbtns li a {
	display:block;
	width:40px;
	height:40px;
	fill: #ccc;
	transition:all .5s;
}
.txt_container .snsbtns li a:hover {
	fill: #222;
}

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

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

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


/*===============================================================
	
	ビジュアルエディタ部分（フロントおよび入力欄共通）
	
===============================================================*/

html .mceContentBody {
	text-align:left;
	color:#333;
}
/* タブレット以下 */
@media screen and (max-width: 1000px) {
html .mceContentBody {
}
}	/* for tablet max-width: 1000px */

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


/*-------------------------------------------------------------
見出し
-------------------------------------------------------------*/
html .mceContentBody h3 {
	margin-top:40px;
	padding-bottom:10px;
	font-size:25px;
	line-height:1.2;
}
html .mceContentBody h4 {
	margin-top:20px;
	padding-bottom:0px;
	font-size:20px;
	line-height:1.333;
}
html .mceContentBody p {
	margin-top:20px;
	font-size: 16px;
	line-height: 1.8;
}

/* タブレット以下 */
@media screen and (max-width: 960px) {
html .mceContentBody h3 {
	margin-top:30px;
	padding-bottom:0;
	font-size:22px;
	line-height:1.2;
}

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

/* SP向けレイアウトの指定：～736px */
@media only screen and (max-width: 736px) {
html .mceContentBody h3 {
	font-size:20px;
	margin-top:30px;
}
html .mceContentBody h4 {
	font-size:16px;
}
}	/* for SP max-width: 736px */


/*-------------------------------------------------------------
リンク
-------------------------------------------------------------*/
html .mceContentBody a {
	color: #900;
}

html .mceContentBody a:hover {
	color: #f00;
	border-bottom-width: 1px;
}

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

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

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

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


/*-------------------------------------------------------------
テキスト
-------------------------------------------------------------*/

html .mceContentBody strong {
}

html .mceContentBody em {
	font-style:italic;
}

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

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

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

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


/*-------------------------------------------------------------
画像
-------------------------------------------------------------*/
html .mceContentBody img {
	width:auto;
	margin:0 auto;
}
.aligncenter {
	clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

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

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

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


/*-------------------------------------------------------------
引用
-------------------------------------------------------------*/
html .mceContentBody blockquote {
	background-color: #eee;
	padding: 1em;
	margin-top: 1em;
}

html .mceContentBody blockquote p {
	margin-top: 0;
}

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

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

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

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


/*-------------------------------------------------------------
その他
-------------------------------------------------------------*/
html .mceContentBody .kbd {
	margin: 0 0.3em 0 0.3em;
	padding: 1px 7px 1px 5px;
	border: solid #ABABAB;
	border-width: 1px 2px 2px 1px;
	/*border: 3px outset #dddddd;*/
	background: #ffffff url(../img/common/kbd.png) no-repeat 100% 100%;
	font-style: normal;
	font-weight: normal;
}

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

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

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

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



/*-------------------------------------------------------------
リスト
-------------------------------------------------------------*/

html .mceContentBody ul,ol {
	margin-top: 1em;
}

html .mceContentBody ul li {
	list-style-type: disc;
	line-height: 1.2;
	margin-bottom: 0.7em;
	margin-left: 1.5em;
}

html .mceContentBody ol li {
	list-style-type: decimal-leading-zero;
	margin-left: 2.3em;
	line-height: 1.2;
	margin-bottom: 0.7em;
}

html .mceContentBody dl {
	margin-bottom: 1em;
	line-height: 1.2;
}

html .mceContentBody dl dt {
	font-weight: bold;
	font-size: 1.1em;
}

html .mceContentBody dl dd {
	margin-bottom: 0.7em;
	padding-left: 2em;
}

html .mceContentBody table {
	width: 100%;
}

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

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

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

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



/*-------------------------------------------------------------
テーブル
	
-------------------------------------------------------------*/
html .mceContentBody table{
	margin-top:1em;
	
  border-collapse:collapse;
  border:none;
  border-spacing:0;
}

html .mceContentBody table th,
html .mceContentBody table td {
	padding: 4px;
	font-size: 1em;
	
	 vertical-align:top;
  border:solid 1px #000;
  font-weight:normal;
  text-align:left;
}

html .mceContentBody table th {
	border: 1px solid #ddd;
	font-weight: bold;
}

html .mceContentBody table td {
	border: 1px solid #ddd;
	color: #666;
}

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

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

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

html .mceContentBody table th,
html .mceContentBody table td {
	display:block;
	padding: 4px 3%;
	margin:0;
	width:auto;
	box-sizing:border-box;
}
html .mceContentBody table th,
html .mceContentBody table td {
	border-top:0;
}

html .mceContentBody table tr:first-child th {
	border-top:1px solid #ddd;
}

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




/*===============================================================
	
	sidenav
	
===============================================================*/
.sidenav_wrp {
	position:fixed;
	top:1000px;
	right:-180px;
	width:205px;
	z-index:9999;
}
.sidenav {
	position:relative;
	top:0;
	right:0;
	width:205px;
}
.sidenav .tab {
	width:25px;
	height:30px;
	position:absolute;
	top:0;
	left:0;
	background-color:#ff0;
	border-radius:5px 0 0 5px;
	white-space:nowrap;
	text-indent:100%;
	overflow:hidden;
	
	box-shadow:rgba(0, 0, 0, 0.2) 0px 0px 5px 3px;
}
.sidenav .tab a {
	width:25px;
	height:30px;
	display:block;
	position:relative;
}
.sidenav .tab a:before,
.sidenav .tab a:after {
	content:'';
	position:absolute;
	margin:auto;
	top:0; bottom:0; left:0; right:0; margin:auto;
	background:#000;
	transform: rotate(405deg) translate(2px,3px);
	transition: all .3s;
	width:10px;
	height:1px;
}
.sidenav .tab a:before {
	transform: rotate(-405deg) translate(2px,-3px);
}
.active .sidenav .tab a:before,
.active .sidenav .tab a:after {
	content:'';
	position:absolute;
	margin:auto;
	top:0; bottom:0; left:0; right:0; margin:auto;
	background:#000;
	transform: rotate(45deg) translate(0px,0px);
	transition: all .3s;
	width:15px;
	height:1px;
}
.active .sidenav .tab a:before {
	transform: rotate(-45deg) translate(0px,0px);
}

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

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

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

/*-------------------------------------------------------------
	.sidenav .body
-------------------------------------------------------------*/
.sidenav .body {
	width:180px;
	position:absolute;
	top:0;
	left:25px;
	background-color:#ff0;
	border-radius:0 0 0 5px;
	
	box-shadow:rgba(0, 0, 0, 0.2) 0px 0px 5px 3px;
}
.sidenav .body .inner {
	padding:10px;
}
.sidenav .body .bnrs {
	width:160px;
}
.sidenav .body .bnrs li + li {
	margin-top: 5px;
}
.sidenav .body .bnrs li img {
	width:100%; height: auto;
}

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

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

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

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

/*===============================================================
	
	link_move
	
===============================================================*/
.link_move {
 
}
.link_move a:hover {
	animation:link_move .2s linear;
	cursor:pointer;
	display: block;
}
@keyframes link_move {
	0% {
		transform:scale(1.0);
		opacity:1;
	}
	50% {
		transform:scale(1.02);
		opacity:0.8;
	}
	100% {
		transform:scale(1.0);
		opacity: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 */


/*===============================================================
	
	bannerの非表示部分
	
===============================================================*/
.hidden_banner {
	display: none;
}

/* タブレット以下 */
@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 */



/*===============================================================
	
	2024.4.17 検索の卒業年の絞り込みを非表示
  投稿に卒業年が指定されておらず絞り込みの役割を果たせてないため非表示とした
	
===============================================================*/
.graduation_year {
  display: none;
}
