@charset "UTF-8";
html{color:#000;background:#FFF}
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td,figure,figcaption{margin:0;padding:0}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
caption,th{text-align:left}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section { display: block }
caption { text-align: left; }
img { vertical-align: top; }
html {font-size: 100%;-webkit-text-size-adjust: 100%;-ms-text-size-adjust: 100%;}
main {display: block;/* for IE */}
abbr,acronym{border:0;font-variant:normal}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}
input,textarea,select{font-size:100%}
input,button,textarea,select {font-size: 100%;font-family: inherit;color: inherit;}
input[type="checkbox"],input[type="radio"] {box-sizing: border-box;padding: 0;}
input[type="button"],input[type="submit"] {border-radius: 0;-webkit-appearance: none;}
textarea {overflow: auto;vertical-align: top;}
li { list-style: none; }


/* en-fotnt
font-family: 'Montserrat', sans-serif;
font-weight: 100;
font-weight: 400;
font-weight: 700;
*/

/*==================================================
Body_Bace
==================================================*/
html { overflow:auto; -webkit-overflow-scrolling: touch;}
body {
	width: 100%;
	font-size: 14px;
	color: #010101;
	letter-spacing: 0.04em;
	background: #fff;
	font-family: 'Noto Sans',"ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, sans-serif;
	word-wrap: break-word;
	-webkit-overflow-scrolling: touch;
}
#wapper { position: relative; overflow: hidden;}
img { border: none; outline: none;}
.viewSp { display: none; }
.viewPc { display: inline-block; }

#main a {
	color: #000;
}
#main a.btn-cosplayers span,
#main a.btn-contact span,
#main a.btn-moreinfo span,
#main .btn-list a span {
	color: #fff;
}
#main a.btn-cosplayers:hover span,
#main a.btn-contact:hover span,
#main a.btn-moreinfo:hover span,
#main .btn-list a:hover span {
	color: #000;
}
/* link
---------------------------------*/
.header a,
#footer a {
	text-decoration: none;
	transition: all .3s;
}

@media screen and (max-width: 768px) {
	body {
		min-width: 0; -webkit-text-size-adjust: none; overflow-x: hidden;
	}
	img {
		max-width: 100%; width : auto; height: auto;
	}
	.viewSp {display: block; }
	.viewPc { display: none; }
}
@media screen and (max-width: 640px) {
	body {
		font-size: 13px;
	}
}
@media screen and (max-width: 480px) {
	body {
		font-size: 12px;
	}
}
@media screen and (max-width: 415px) {
	body {
		font-size: 11px;
	}
}

/*==================================================
#Header
==================================================*/
#header {
	overflow: hidden;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 112px;
	padding: 25px 0;
	z-index: 2000;
	box-sizing: border-box;
	opacity:0;
}
.header h1 {
	display:block;
	float: left;
	padding: 10px 0 0 30px;
	vertical-align: middle;
}
.header h1 a {
	overflow: hidden;
	display:block;
	width: 268px;
	height: 41px;
	white-space: nowrap;
	text-indent: 100%;
	background: url(../img/logo.png) no-repeat;
	background-size: contain;
}
.header h1.color_wt a {
	background: url(../img/logo_wt.png) no-repeat;
	background-size: contain;
}
#header.fixed h1.color_wt a {
	background: url(../img/logo.png) no-repeat;
	background-size: contain;
}
.header h1 a:hover {
	opacity: 0.7;
}
	@media screen and (max-width: 1050px) {
		#header {
			height: 70px;
			padding: 15px 0;
		}
		.header {
			width: 100%;
			height: 100%;
			text-align: center;
		}
		#header h1 {
			display: inline-block;
			width: auto;
			float: none;
			padding: 3px 0 0;
		}
		#header h1 a {
			display: block;
			width: 240px;
			height: 37px;
			background: url(../img/logo_sp.png) no-repeat;
			background-size: contain;
			transition: all .3s;
		}
		#header h1.color_wt a {
			background: url(../img/logo_wt_sp.png) no-repeat;
			background-size: contain;
		}
		#wapper #header.fixed h1.color_wt a {
			background: url(../img/logo_sp.png) no-repeat;
			background-size: contain;
		}
		#wapper #header.menuHeader h1 a {
			background: url(../img/logo_wt_sp.png) no-repeat !important;
			background-size: contain !important;
		}
		#header h1 a img {
			height: 100%;
		}
	}
	@media screen and (max-width: 1050px) {
		#header h1 {
			padding-left: 30px;
		}
	}
	
/*gnav
---------------------------------------------------- */
#gnav {
	padding: 25px 95px 0 0;
	float: right;
	text-align: right;
}
.gnav li {
	float: left;
	padding: 0 0 0 35px;
}
.gnav li a {
	position: relative;
	display: block;
	color: #000;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: 0.17em;
}
.gnav li a::after {
	position: absolute;
	bottom: -10px;
	left: 50%;
	content: '';
	width: 0;
	height: 1px;
	background: #000;
	transition: .3s;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.gnav li a:hover::after,
.gnav li a.current::after {
	width: 100%;
}
	@media screen and (max-width: 1050px) {
		#gnav {
			display: none;
		}
	}

.gnav.color_wt li a {
	color: #fff;
}
.gnav.color_wt li a::after {
	background: #fff;
}

	
/*fixed
---------------------------------------------------- */
#header.fixed {
	background: #fff;
	box-shadow: 0px 5px 22px rgba(0,0,0,0.2);
	-webkit-box-shadow: 0px 5px 22px rgba(0,0,0,0.2);
	-moz-box-shadow: 0px 5px 22px rgba(0,0,0,0.2);
}
#header.fixed .gnav li a {
	color: #010101;
}
#header.fixed .gnav li a::after {
	background: #010101;
}


/*==================================================
#main
==================================================*/
.kv,
#main {
	position: relative;
	padding-top: 112px;
}

	@media screen and (max-width: 768px) {
		.kv {
			padding-top: 70px;
		}
		#main {
			padding-top: 110px;
		}
	}


/*==================================================
#foot-contact
==================================================*/
#foot-contact {
	width: 100%;
	height: 303px;
	margin-top: 105px;
	text-align: center;
	background: url(../img/bg_footcontact.jpg) no-repeat 50% 50%;
	background-size: cover; 
}
#foot-contact h2 {
	padding: 95px 0 35px;
	color: #fff;
	font-size: 30px;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: 0.1em;
}
#foot-contact h2 span {
	position: relative;
	padding: 0 0 0 40px;
}
#foot-contact h2 span:before {
	position: absolute;
	top: 50%;
	left: 0;
	width: 26px;
	height: 20px;
	content: "";
	background: url(../img/icn_mail.png) no-repeat 0 0;
	background-size: contain;
	-webkit-transform: translate(0, -50%);
   transform: translate(0, -50%);
}
#foot-contact .btn {
	display: block;
	width: 350px;
	height: 80px;
	margin: 0 auto;
	line-height: 80px;
	color: #fff;
	text-decoration: none;
	border: 1px solid #fff;
	transition: all 1s;
}
#foot-contact .btn span {
	position: relative;
	padding: 0 60px 0 0;
}
#foot-contact .btn span:before {
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	width: 48px;
	height: 14px;
	content: "";
	background: url(../img/icn_footcontact_arrow.png) no-repeat 0 0;
	background-size: contain;
	-webkit-transform: translate(0, -80%);
   transform: translate(0, -80%);
  	transition: all 1s;
}
#foot-contact .btn:hover {
	color: #000;
	font-weight: 700;
	background: #fff;
}
#foot-contact .btn:hover span:before {
	background: url(../img/icn_footcontact_arrow_hover.png) no-repeat 0 0;
	background-size: contain;
}

	@media screen and (max-width: 1350px) {
		#foot-contact {
			margin-top: 60px;
		}
	}
	@media screen and (max-width: 768px) {
		#foot-contact {
			margin-top: 0;
		}
	}
	@media screen and (max-width: 640px) {
		#foot-contact {
			background-position: 60% 50%;
		}
	}
	@media screen and (max-width: 480px) {
		#foot-contact {
			height: auto;
			padding: 0 0 15.625%;
		}
		#foot-contact h2 {
			padding: 16.4% 0 6.25%;
			font-size: 26px;
		}
		#foot-contact .btn {
			width: 78.13%;
			height: 60px;
			line-height: 60px;
			margin: 0 auto;
		}
	}

/*==================================================
#pagetop
==================================================*/
#pagetop {
	position: fixed;
	bottom: 20px;
	right: 30px;
	display:none;
	opacity:0;
	z-index: 1000;
}
#pagetop a {
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 0.1em;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-decoration: none;
}
#pagetop a span {
	position: relative;
	padding: 114px 0 0;
}
#pagetop a span:after {
	position: absolute;
	top: 0;
	left: -6px;
	width: 14px;
	height: 104px;
	content: "";
	background: url(../img/icn_pagetop.png) no-repeat 0 0;
	background-size: contain;
}

#pagetop.black a {
	color: #000;
}

#pagetop.black a span:after {
	background: url(../img/icn_pagetop_black.png) no-repeat 0 0;
}

	@media screen and (max-width: 768px) {
		#pagetop {
			display:none;
			/*right: 4.6875%;*/
			    left: 91.640%;
		}
	}

/* foopagetop */
#footpagetop {
	padding: 55px 0 25px;
}
#footpagetop a {
	display: block;
	max-width: 114px;
	width: 17.8%;
	margin: 0 auto;
}
	@media screen and (max-width: 640px) {
		#footpagetop {
			padding: 8.6% 0 3.9%;
		}
	}


/*==================================================
#side-nav
==================================================*/
#side-nav {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 1000;
	-webkit-transform: translate(0, -50%);
   transform: translate(0, -50%);
opacity:0;
}
#side-nav ul {
	position: relative;
	width: 70px;
	height: 210px;
	box-sizing: border-box;
}
#side-nav li span:first-child {
	position: relative;
	display: block;
	width: 100%;
	height: 24px;
} 
#side-nav li span:first-child:before {
	position: absolute;
	top: 0;
	left: 50%;
	width: 10px;
	height: 1px;
	-webkit-transform: translate(-50%, 0);
   transform: translate(-50%, 0);
   content: "";
   background: #000;
   transition: all .3s;
} 
#side-nav li.current span:first-child:before {
	width: 100%;
}

#side-nav li.white span:first-child:before {
   background: #ffffff;
}
#side-nav li.white span {
	color:#ffffff;
}


#side-nav li .txt {
	display: none;
	position: absolute;
	top: 125px;
	left: 30px;
	text-align: right;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 0.1em;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-decoration: none;
}
#side-nav li.current .txt {
	display: block;
}
	@media screen and (max-width: 768px) {
		#side-nav {
			display: none;
		}
	}


/*==================================================
#footer
==================================================*/
#footer {
	padding: 80px 95px 70px 30px;
	background: #000;
}
#footer a:hover {
	opacity: 0.7;
	transition: all 1s;
}
#footer:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
#footer .logo {
	display: block;
	float: left;
}
#footer .logo a {
	overflow: hidden;
	display:block;
	width: 176px;
	height: 131px;
	white-space: nowrap;
	text-indent: 200%;
	background: url(../img/logo_footer.png) no-repeat;
	background-size: contain;
}
.footer {
	padding: 90px 0 0;
	float: right;
	text-align: right;
}
.footer .logo-company {
	padding: 0 0 12px;
}
.footer .logo-company a {
	overflow: hidden;
	display:inline-block;
	width: 144px;
	height: 26px;
	white-space: nowrap;
	text-indent: 200%;
	background: url(../img/logo_dwango.png) no-repeat;
	background-size: contain;
}

.footer .txt {
	float: left;
	height: 13px;
	line-height: 13px;
}
.footer .txt a {
	font-size: 10px;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: 0.2em;
}
#copy {
	float: right;
	padding: 0 0 0 50px;
	color: #fff;
	font-size: 11px;
	letter-spacing: 0.15em;
	height: 13px;
	line-height: 13px;
}
	@media screen and (max-width: 1050px) {
		#footer .logo {
			width: 150px;
		}
		#footer .logo img {
			width: 100%;
		}
		#copy {
			padding: 0 0 0 30px;
		}
	}
	@media screen and (max-width: 768px) {
		#footer {
			padding: 100px 5% 60px;
		}
		#footer .logo {
			max-width: 150px;
			width: 32.8%;
			float: none;
			margin: 0 auto;
		}
		#footer .logo a {
			overflow: hidden;
			display:block;
			width: 100%;
			height: auto;
			padding:62% 0 0;
			white-space: nowrap;
			text-indent: 200%;
			background: url(../img/logo_footer_sp.png) no-repeat;
			background-size: contain;
		}
		#footer .logo img {
			width: 100%;
		}
		.footer {
			padding: 60px 0 0;
			float: none;
		}
		.footer .logo-company {
			width: 100px;
			margin: 0 auto;
		}
		.footer .logo-company a {
			width: 100%;
			height: auto;
			background: url(../img/logo_dwango_sp.png) no-repeat;
			background-size: contain;
		}
		.footer .txt {
			padding: 0 0 40px;
			float: none;
			text-align: center;
		}
		#copy {
			float: none;
			padding: 0;
			text-align: center;
			line-height: 120%;
		}
	}
	@media screen and (max-width: 480px) {
		#footer {
			padding: 21% 5% 12%;
		}
		.footer {
			padding: 13.6% 0 0;
		}
		.footer .logo-company {
			padding: 0 0 2%;
		}
		.footer .txt {
			padding: 0 0 12.5%;
		}
	}


/*==================================================
menu
==================================================*/
/*btn-menu
---------------------------------------------------- */
.header .btn-menu {
	display: none;
}
	@media screen and (max-width: 1050px) {
		.header .btn-menu {
			display: block;
		}
	}
#header.menuHeader{
	position:fixed;
	background-color:#000000;
	z-index:9000;
	
}
.header .btn-menu,
.menuHeader .btn_close {
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 0;
	width: 55px;
	height: 14px;
	margin-top: -2px;
	white-space: nowrap;
	text-indent: 100%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.header .btn-menu p,
.menuHeader .btn_close p {
	position: relative;
	-webkit-transition: all .4s;
	transition: all .4s;
	box-sizing: border-box;
	width: 55px;
	height: 14px;
}
.header .btn-menu span,
.menuHeader .btn_close span {
	display: block;
	-webkit-transition: all .4s;
	transition: all .4s;
	box-sizing: border-box;
	position: absolute;
	right: 17px;
	width: 20px;
	height: 2px;
	background-color: #000;
}
.header .btn-menu.color-wt span {
	background-color: #fff;
}

#header.menuHeader .header .btn-menu.current span,
#header.fixed.menuHeader .header .btn-menu.current span {
	background-color: #fff;
}
#header.fixed .header .btn-menu span {
	background-color: #000;
}

.header .btn-menu span:nth-of-type(2) {
	width: 15px;
	right: 21px;
}
.header .btn-menu span:nth-of-type(3) {
	width: 11px;
	right: 25px;
}
.header .btn-menu.current span:nth-of-type(3) {
	right: 17px;
	width: 20px;
}

.header .btn-menu span:nth-of-type(1),
.menuHeader .btn_close span:nth-of-type(1) { top: 0px; }
.header .btn-menu span:nth-of-type(2),
.menuHeader .btn_close span:nth-of-type(2) { top: 6px; }
.header .btn-menu span:nth-of-type(3),
.menuHeader .btn_close span:nth-of-type(3) { bottom: 0px; }

.header .btn-menu.current span:nth-of-type(1),
.menuHeader .btn_close span:nth-of-type(1) {
	-webkit-transform: translateY(6px) rotate(-315deg);
	transform: translateY(6px) rotate(-315deg);
}
.header .btn-menu.current span:nth-of-type(2),
.menuHeader .btn_close span:nth-of-type(2) {
	opacity: 0;
}
.header .btn-menu.current span:nth-of-type(3),
.menuHeader .btn_close span:nth-of-type(3) {
	-webkit-transform: translateY(-6px) rotate(315deg);
	transform: translateY(-6px) rotate(315deg);
}

#menu {
	display: none;
	overflow-y: auto;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background: #000;
	box-sizing: border-box;
	z-index: 1999;
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;
	height: 100%;
}
#menu a {
	text-decoration: none;
}

/* menuHeader */
.menuHeader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	padding: 10px 0;
	text-align: center;
	box-sizing: border-box;
	background: #000;
	z-index: 9999;
	box-sizing: border-box;
}
.menuHeader .logo {
	display: inline-block;
	height: 40px;
}
.menuHeader .logo a {
	display: block;
	height: 40px;
	transition: all .3s;
}
.menuHeader .logo a img {
	height: 100%;
}
.menuHeader .logo a:hover,
.menuHeader .btn_close:hover {
	opacity: 0.7;
}

/* menuCont */
.menuCont {
	width: 100%;
	height: 100%;
}
.menuContinner {
	width: 400px;
	margin: 0 auto;
	text-align: center;
}
.menunav {
	padding: 160px 0 80px;
}
.menunav li {
	padding: 20px 0;
}
.menunav li a {
	display: block;
	color: #fff;
	font-size: 16px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: 0.15em;
}

#menu .logo-company {
	padding: 0 0 25px;
}
#menu .logo-company a {
	overflow: hidden;
	display:inline-block;
	width: 144px;
	height: 26px;
	white-space: nowrap;
	text-indent: 200%;
	background: url(../img/logo_dwango.png) no-repeat;
	background-size: contain;
}
#menu .txt {
	padding: 0 0 40px;
}
#menu .txt a {
	color: #fff;
}
#manu-copy {
	padding: 0 0 70px;
	font-size: 10px;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	letter-spacing: 0.15em;
}

	@media screen and (max-width: 768px) {
		.menunav {
			padding: 100px 0 60px;
		}
		.menunav li a {
			font-size: 14px;
		}
		#menu .txt {
			font-size: 13px;
		}
	}
	@media screen and (max-width: 480px) {
		.menuContinner {
			width: 94%;
		}
		.menunav li {
			padding: 17px 0;
		}
		.menunav li a {
			font-size: 13px;
		}
		#menu .logo-company {
			width: 100px;
			margin: 0 auto;
			padding: 0 0 2%;
		}
		#menu .logo-company a {
			width: 100%;
			height: auto;
			background: url(../img/logo_dwango_sp.png) no-repeat;
			background-size: contain;
		}
		#menu .txt {
			font-size: 12px;
		}
		#manu-copy {
			padding: 0 0 50px;
		}
	}


/*==================================================
Slider
==================================================*/
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}
.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}
.slick-list:focus {
	outline: none;
}
.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
}
.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}
.slick-track:after {
	clear: both;
}
.slick-loading .slick-track {
	visibility: hidden;
}
.slick-slide {
	display: none;
	float: left;
	height: 100%;
	min-height: 1px;
}
[dir='rtl'] .slick-slide {
	float: right;
}
.slick-slide.slick-loading img {
	display: none;
}
.slick-slide.dragging img {
	pointer-events: none;
}
.slick-initialized .slick-slide {
	display: block;
}
.slick-loading .slick-slide {
	visibility: hidden;
}
.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
	display: none;
}

/* dots */
.slick-dots {
	position: absolute;
	bottom: -25px;
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
	z-index: 100;
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: 20px;
	height: 20px;
	margin: 0 5px;
	padding: 0;
	cursor: pointer;
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	display: block;
	width: 20px;
	height: 20px;
	padding: 5px;
	cursor: pointer;
	color: transparent;
	border: 0;
	outline: none;
	background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus {
	outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
	opacity: 1;
}
.slick-dots li button:before {
	font-family: 'slick';
	font-size: 6px;
	line-height: 20px;
	position: absolute;
	top: 0;
	left: 0;
	width: 20px;
	height: 20px;
	content: '•';
	text-align: center;
	opacity: .25;
	color: black;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
	opacity: .75;
	color: black;
}

/* home*/
.slick-dots li {
	width: 45px;
	height: 5px;
	margin: 0;
}
.slick-dots li button {
	width: 45px;
	height: 5px;
	padding: 0;
	background: #dcdcdc;
}
.slick-dots li.slick-active button {
	background: #5eb445;
}
.home .slick-dots li button:before {
	content: "";
	width: 45px;
	height: 5px;
}


/*==================================================
Clearfix
==================================================*/
.clearfix:after {
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}



/*==================================================
page_add 上書き修正
==================================================*/

/* page-common
---------------------------------------------------------------------------------------*/
.btn-link .btn-contact:hover span::before {
	background: url(../img/icn_mail_bk.png) no-repeat left center;
    background-size: contain;
}
	@media screen and (max-width: 768px) {
		.page .btn-link a {
			height: 100px;
			line-height: 100px;
			margin: 0 auto 4%;
		}
		.page .btn-link a:hover:after {
			background: url(../img/icn_btnlink_bk_sp.png) no-repeat 0 0;
			background-size: contain; 
		}
	}
	@media screen and (max-width: 415px) {
		.page .btn-link a {
			height: 80px;
			line-height: 80px;
			font-size: 13px;
		}
	}


/* about
---------------------------------------------------------------------------------------*/
.page.about .btn-list a:hover span:before {
	background: url(../img/icn_corporate_bk.png) no-repeat 0 0;
	 background-size: contain;
}
.page.about .btn-list a:hover:after {
	background: url(../img/icn_blank_bk.png) no-repeat 0 0;
	background-size: contain;
}
.about .section-business:after {
	display: block;
	position: absolute;
	top: 47.5%;
	left: 50%;
	width: 2205px;
	height: 142px;
	content: "";
	margin-left: -360px;
	background: url(../img/bg_about_txt.png) no-repeat 0 0;
	background-size: contain;
}
	@media screen and (max-width: 1200px) {
		.about .section-business p {
			padding-right: 0;
			}
	}
	@media screen and (max-width: 768px) {
		.about .section-business:after {
			display: none;
		}
		#main.page .ttl-wrap01::before {
			width: 19%;
		}
	}
	@media screen and (max-width: 640px) {
		#main.about p {
			font-size: 15px;
		}
	}
	@media screen and (max-width: 480px) {
		#main.about p {
			font-size: 14px;
		}
	}
	@media screen and (max-width: 375px) {
		#main.about p {
			font-size: 12px;
		}
	}


/* service
---------------------------------------------------------------------------------------*/
	@media screen and (max-width: 640px) {
		.page.service .service-flow {
			margin: 0 0 25%;
		}
		.page.service .service-flow ol div {
			height: auto;
			line-height: 100%;
			padding: 9.52% 0;
		}
	}


/*modal
---------------------------------------------------------*/

/*==================================================
loader
==================================================*/
#loader-wrap{
 	display: block;
	position: fixed;
	width: 100%;
	background: #fff;
	z-index: 9900;
	top:0px;
	left:0px;
	height:100%;
}
#loader-wrap .loader {
	width: 125px;
	height: 137px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index:9900;
}
#loader-wrap .loader .loader-logo {
	width: 125px;
	height: 137px;
	position: relative;
}
#loader-wrap .loader .loader-hover {
	width: 125px;
	height: 137px;
	position: absolute;
	z-index:9990;
	top:0px;
	left:0px;
	display:none;
}
#loader-wrap .loader .loader-sp {
	display: none;
}
	@media screen and (max-width: 768px) {
		#loader-wrap .loader .loader-pc {
			display: none;
		}
		#loader-wrap .loader .loader-sp {
			display: block;
		}
		#loader-wrap .loader {
			width: 19.6%;
			height: 21.3%;
		}
		#loader-wrap .loader .loader-logo {
			width: 100%;
			height: 100%;
		}
	}