@charset "utf-8";

/*------------------------------------------------------------
	Reset
------------------------------------------------------------*/
* {
	box-sizing: border-box
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
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,
figure {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 1em;
	box-sizing: border-box;
	font-family: sans-serif;
}

html {
	font-size: 62.5%;
}

body {
	color: #333;
	background-image: linear-gradient(#51b4ff, #001a67);
}

ol,
ul {
	list-style: none;
}

img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
/* 
a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
} */

input[type=text],
input[type=email],
input[type=tel],
textarea {
	border: 1px solid #ccc;
	padding: 12px;
	border-radius: 4px;
	width: 100%;
	outline: none;
	font-size: 1.6rem;

}

/*------------------------------------------------------------
	Stracture
------------------------------------------------------------*/
main {}

.inner {
	width: 1100px;
	padding: 30px 0;
	margin: 0 auto;

}

.inner2 {
	width: 1100px;
	padding: 3rem 6rem;
	margin: 0 auto;
	background: #FFF;
	border-radius: 10px;

	box-shadow: 3px 3px 0 #eee;
}

.inner3 {
	width: 1100px;

	box-shadow: 3px 3px 0 #eee;
	padding: 3rem 6rem;
	margin: 0 auto;
	background: #FFF;
	border-radius: 10px;
	overflow: hidden
}

.swiper {
	width: 1100px;
	height: auto;
}

.swiper p {
	font-size: 12px;
	padding-top: 5px;
	text-align: center
}

.swiper-slide {
	padding-bottom: 40px;
}

/*------------------------------------------------------------
	Header
------------------------------------------------------------*/
header {
	z-index: 1;
	position: absolute;
	width: 100%;
	height: 70px;

	left: 0;
	top: 0;
}

#confirm header,
#thanks header {

	height: 80px;
}

#confirm main,
#thanks main {
	background: #FFF;
	border-top: 1px solid #ccc;
}

#hdr_logo {
	position: absolute;
	width: 210px;
	top: 10px;
	left: 15px;
}

#hdr_logo img {
	width: 100%;
	height: auto
}

#hdr_description {
	position: absolute;
	width: 445px;
	top: 24px;
	left: 245px;
	font-size: 1.7rem;
	font-weight: bold;
	color: #000;
}

#hdr_tel {
	position: absolute;
	display: block;
	width: 220px;
	top: 15px;
	right: 210px;
	font-size: 2.2rem;
	font-weight: bold;
	padding-left: 27px;
	line-height: 1;
	text-decoration: none;
	color: #000;

}

#hdr_tel img {
	display: block;
	width: 20px;
	height: auto;
	position: absolute;
	top: 4px;
	left: 0px;
}

#hdr_tel span {
	font-size: 1.3rem;
	font-weight: bold;
	display: block;
	padding-top: 3px;
}

#hdr_entry {
	display: block;
	position: fixed;
	width: 180px;
	height: 70px;

	background: #B0161C;
	color: #FFF;
	font-size: 2.0rem;
	line-height: 1;
	text-decoration: none;
	padding-left: 0px;
	right: 10px;
	top: 10px;
	font-weight: bold;
	padding-top: 24px;
	text-align: center
}

#hdr_entry img {
	vertical-align: middle;
	width: 27px;
	height: auto;
	margin-right: 3px
}

#hdr_entry:hover {
	opacity: 0.95;
}

#confirm #hdr_entry,
#thanks #hdr_entry {
	display: none
}

.box0 {}

.box0 p {
	font-size: 16px;
	line-height: 200%;
}

/*------------------------------------------------------------
	MV
------------------------------------------------------------*/
#mv {

	z-index: 0;
	position: relative;
	width: 100%;
	padding: 0px 0 0px 0;
	text-align: center;
}

#mv img {

	width: 100%;
	height: auto
}

/*------------------------------------------------------------
	Footer
------------------------------------------------------------*/
#contact {
	text-align: center;

	padding: 40px 0;
}

#contact .inner2 {
	overflow: hidden;

}

#contact .item {
	width: 50%;
	padding: 50px 0;

}

#contact .item h2 {
	font-size: 3rem;
	padding-bottom: 5px;
}

#contact .item h2 div {
	font-size: 1.5rem;
	display: block;
	padding-bottom: 5px;
}

#contact .item:first-child {
	float: left;
	border-right: 3px solid #eee;
}

#contact .item:first-child p {
	padding-top: 12px
}

#contact .item:last-child {
	float: right;
}

#contact .item p {
	font-size: 1.6rem;
	margin-bottom: 20px
}

#contact .bdr {
	width: 80px;
}

.btn_contact {}

footer {
	text-align: center;
	font-size: 1.6rem;
	padding: 30px 0;

}

#ftr_logo {
	width: 270px;
	margin: 0 auto;
	font-size: 2.7rem;
	color: #FFF;
	font-weight: bold;
}

#ftr_logo img {
	width: 100%;
	height: auto;
}

#ftr_address {
	padding-top: 10px;
	color: #FFF;
}

#copyright {
	padding-top: 10px;
	color: #FFF;
}


/*------------------------------------------------------------
	Common
------------------------------------------------------------*/

.btn1 {
	display: inline-block;
	border: none;
	border-radius: 7px;
	background: #B0161C;
	color: #FFF;
	text-decoration: none;
	line-height: 1;
	text-align: center;
	width: 265px;
	padding: 21px 10px 18px 10px;
	font-size: 1.8rem;
	position: relative;
	font-weight: bold
}

.btn1:hover {
	opacity: 0.9;
}

.btn1 span,
.btn2 span {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: block;
	width: 8px;
	height: 20px;
	position: absolute;
	top: 18px;
	right: 15px;
	background-image: url("../img/arrow_wh.png");
	background-repeat: no-repeat;
	background-size: 100% auto;
}

.bdr {
	display: block;
	width: 200px;
	height: 3px;
	background: #252B38;
	margin: 15px auto 0 auto
}

.h1 {
	font-size: 3rem;
	text-align: center;
	padding: 20px;
	margin-bottom: 30px
}

.h2 {
	font-size: 2rem;
	text-align: center;
	border: 2px solid #0C9E91;
	color: #0C9E91;
	border-radius: 4px;
	padding: 10px;
	margin-bottom: 10px
}

.h1 span {
	font-size: 4.3rem;

}

.ta1 {
	width: 100%;
	margin-bottom: 20px;
}

.ta1 td,
.ta1 th {
	font-size: 1.6rem;
	padding: 10px;
	border-bottom: 1px solid #ccc;
}

.ta1 th {
	background: #eeee;
	width: 25%
}

.ta1 td {
	background: #FFF;

}

.box1 {
	display: flex;
	justify-content: space-between
}

.box1 .item:first-child {
	width: 55%;
	font-size: 1.7rem;
	line-height: 220%;

}

.box1 .item:last-child {
	width: 43%
}

.img1 {
	width: 100%;
	display: block;
	margin: 0;
	padding: 0 0 0 0%;
}

.w100 {
	width: 100%;
	height: auto
}

.edit_btn {
	font-size: 1.6rem;
}

.center {
	text-align: center
}

.txt1 {
	font-size: 1.6rem
}

.sp {
	display: none;
}

.pc {
	display: block;
}

.mb50 {
	margin-bottom: 50px;
}

.mb40 {
	margin-bottom: 40px;
}

.mb30 {
	margin-bottom: 30px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb10 {
	margin-bottom: 10px;
}

.mb5 {
	margin-bottom: 5px;
}

.error {
	color: red;
}

.dummy {
	background: #eee;
	text-align: center;
	padding: 20rem 0;
	font-size: 2rem;
}

#about {
	background-size: auto 100%;
	background-position: bottom;
	padding-bottom: 20px;
}

#about h1 {
	font-size: 3.2rem;
	font-weight: bold;
	color: #FFF;
	margin-bottom: 10px;
}

#about h1 span {
	background: #FFF;
}

#about p {
	color: #FFF;
}

/*------------------------------------------------------------
	FAQ
------------------------------------------------------------*/
#faq {

	padding: 3rem 0 0 0;
}

.faq_list .item {
	padding-bottom: 25px;
	margin-bottom: 25px;
	border-bottom: 2px dashed #ccc;
	font-size: 1.6rem;
}

.faq_list .item:last-child {
	border: none;
}

.faq_list h2 {
	font-size: 2.3rem;
	margin-bottom: 15px;
}

.qbox,
.abox {
	padding-left: 46px;
	position: relative;
}

.qbox {
	padding-top: 3px;
}

.abox {
	padding-top: 6px;
}

.q,
.a {
	font-size: 20px;
	font-family: Arial, Helvetica, "sans-serif";
	color: #FFF;
	border-radius: 100px;
	background: #252B38;
	display: inline-block;
	font-weight: bold;
	padding: 8px 0 0 0;
	width: 3.5rem;
	height: 3.5rem;
	text-align: center;
	line-height: 1;
	position: absolute;
	top: 0px;
	left: 0px;
}

.q {
	background: #252B38;
}

.a {
	background: #86A4D4;
}

.ceo_name {
	text-align: right;
	font-size: 1.7rem;
	padding-top: 10px;
}

/*------------------------------------------------------------
	Form
------------------------------------------------------------*/
#form {


	padding-bottom: 50px;
}

#privacy {
	font-size: 1.4rem;
	height: 300px;
	overflow-y: auto;
	width: 100%;
	padding: 15px;
	border: 1px solid #ccc;
	margin-bottom: 30px
}

#privacy p {
	padding-bottom: 15px;
}


/*------------------------------------------------------------
	Work
------------------------------------------------------------*/
#work {
	background-image: url("../img/bg2.png");
	background-size: cover
}

#work .inner {
	padding-bottom: 0;

}

.box_about {
	display: flex;
	width: 100%;
	padding: 0;
	margin: 0;
	color: #FFF;

}

.box_about .item:first-child {
	width: 30%;
	position: relative;
	bottom: 0;

}

.box_about .item:first-child img {
	position: absolute;
	bottom: 0;
	right: 5rem;
	width: 90%;
	height: auto
}

.box_about .item:last-child {
	width: 70%;
	padding: 2rem 0 2rem 0;
}

.box_about h1 {
	font-size: 2.7rem;
	border-bottom: 1px solid #FFF;
	margin-bottom: 15px;
	padding-bottom: 5px;

}

.box_about p {
	font-size: 1.6rem;
	line-height: 170%;
	color: #FFF;
}

.work_detail {
	background: #FFF;
	padding: 15px;
	margin-bottom: 35px;
	margin-top: 14px;
}

.work_detail p,
.work_detail h2 {
	color: #333
}

.work_detail h2 {
	font-size: 1.8rem;
	margin-bottom: 0.5rem;
}

.box_about ul {
	padding: 15px 0 10px 0;
	display: flex;
}

.box_about li {
	width: 100%;
	padding: 0 3px;
}

.dummy {
	text-align: center;
	background: #eee;
	padding: 200px 0;
}

/*------------------------------------------------------------
	Access
------------------------------------------------------------*/
#access {}

#boshu {

	padding: 4rem 0;
}

/*------------------------------------------------------------
	Movie
------------------------------------------------------------*/
#movie {
	background: #002253;
	padding: 20px;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

/*------------------------------------------------------------
	point
------------------------------------------------------------*/

#point {
	padding-top: 30px;
}

#point li {
	border-bottom: 1px solid #ccc;
	overflow: hidden;
	padding-bottom: 25px;
	margin-bottom: 25px;
}

#point li:last-child {
	border: none;
	margin-bottom: 0;
}

#point h3 {
	font-size: 2.6rem;
	margin: 0 0 1rem 0;

}

#point p {
	font-size: 1.7rem;
	line-height: 200%;

}

#point figure {
	display: block;
	float: left;
	width: 48%;
}

.pint_txt {
	float: right;
	width: 48%;
}

.pint_txt div {
	margin: 1rem 0 2rem 0;
}

.pint_txt div img {
	width: 100px;
	height: auto
}

/*------------------------------------------------------------
	Manga
------------------------------------------------------------*/
#manga {

	text-align: center
}

#manga img {
	width: 90%;
	height: auto
}

#manga h1 p {

	font-size: 2.2rem;
	line-height: 1
}

@media screen and (max-width: 768px) {

	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	/*------------------------------------------------------------
	Stracture
------------------------------------------------------------*/
	.inner {
		width: 90%;
		padding: 1rem;
		margin: 0 auto;
	}

	.inner2 {
		width: 90%;
		padding: 1rem;
		margin: 0 auto;
	}

	.inner3 {
		width: 90%;
		padding: 1rem;
		margin: 0 auto;
	}

	.swiper {
		width: 90%;
		height: auto;
	}

	/*------------------------------------------------------------
	Header
------------------------------------------------------------*/
	header {
		min-width: 100%;
		height: 50px;

	}

	#hdr-inner {
		width: 100%;
	}

	#mv {
		margin: 0px;
		overflow: hidden;
		z-index: 0;

		padding: 0px 0px 0px 0;
	}

	#mv img {
		width: 100%;
		height: auto
	}

	.box_about h1 {
		font-size: 1.6rem;
	}

	#confirm header,
	#thanks header {

		height: 55px;
	}

	#hdr_logo {
		position: relative;
		width: 160px;
		left: 7px;
		top: 7px
	}

	#hdr_logo img {
		width: 100%;
		height: auto
	}

	#hdr_description,
	#hdr_tel {
		display: none
	}

	#hdr_entry {
		width: 115px;
		height: 50px;
		font-size: 1.6rem;
		right: 10px;
		top: 10px;
		padding-top: 13px;
		text-align: center
	}

	#hdr_entry img {
		vertical-align: middle;
		width: 25px;
		height: auto;
		margin-right: 3px
	}

	/*------------------------------------------------------------
	Footer
------------------------------------------------------------*/

	#contact .inner3 {
		padding-top: 3rem;
	}

	#contact .item {
		width: 100%;
		padding: 10px 0;
	}

	#contact .item:first-child {
		padding: 0px 0 0px 0;
		border: none
	}

	#contact .item:last-child {
		padding: 0px 0 15px 0;
	}

	#contact .item h2 {
		font-size: 2.3rem;
		padding-bottom: 5px;
	}


	/*------------------------------------------------------------
	Common
------------------------------------------------------------*/
	.h1 {
		font-size: 2.2rem;
		text-align: center;
		padding: 15px;
		margin-bottom: 10px
	}

	.box1 {
		flex-wrap: wrap;
	}

	.box1 .item:first-child {
		width: 100%;
		font-size: 1.7rem;
		line-height: 220%;

	}

	.box1 .item:last-child {
		width: 100%;
		padding-top: 15px;

	}

	.img1 {
		padding: 0;
	}

	/*------------------------------------------------------------
	About
------------------------------------------------------------*/
	#about h1 {

		font-size: 2.5rem;
		line-height: 130%;
		padding-bottom: 1rem;
		text-align: center
	}

	.box_about {
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		padding: 20px 0 0 0;
		margin: 0;

	}

	.box_about h1 {
		text-align: center
	}

	.box_about .item:first-child {
		order: 2;
		width: 100%;
		height: auto;
		text-align: center;
		display: none
	}

	.box_about .item:last-child {
		width: 100%;
		order: 1;
		height: auto;
		padding: 0;


	}

	.box_about .item:first-child img {
		display: inline-block;
		position: relative;
		left: 0;
		right: auto;
		top: 0;
		width: 70%;
		height: auto
	}

	.box_about ul {
		display: block
	}

	.box_about {
		width: 100%;
	}

	/*------------------------------------------------------------
	FAQ
------------------------------------------------------------*/

	.faq_list h2 {
		font-size: 1.8rem;
		margin-bottom: 15px;
	}

	ul.list2 {
		overflow: hidden;
		margin-bottom: 0px;
		padding: 15px
	}

	ul.list2 li {
		float: left;
		width: 100%;
		padding: 0 0 20px 0;
	}

	ul.list2 h3 {
		font-size: 2.1rem;
		margin-bottom: 6px;
	}

	ul.list2 figure img {
		width: 100%;
		height: auto
	}

	.h_m {
		text-align: center;
		font-size: 2rem;
		line-height: 120%;
	}

	.h_m div {
		font-size: 1.5rem
	}

	/*------------------------------------------------------------
	point
------------------------------------------------------------*/
	#point {
		padding-top: 2rem;
	}

	#point ul {
		padding: 0 5px;
	}

	#point li {
		border-bottom: 1px solid #ccc;
		overflow: hidden;
		padding-bottom: 25px;
		margin-bottom: 25px;
	}

	#point h3 {
		font-size: 2.0rem;
		margin: 0 0 0.7rem 0;
	}

	#point p {
		font-size: 1.7rem;
		line-height: 200%;

	}

	#point figure {
		display: block;
		width: 100%;
		margin-bottom: 1rem
	}

	.pint_txt {
		float: none;
		width: 100%;
	}

	.pint_txt div {
		margin-bottom: 8px;
	}

	.pint_txt div img {
		width: 100px;
		height: auto
	}

	.h2 {
		font-size: 2.2rem;
		line-height: 130%;
		padding-bottom: 1rem !important;

	}

	.h2 span {
		font-size: 3.8rem;

	}

	/*------------------------------------------------------------
	Manga
------------------------------------------------------------*/
	#manga {

		text-align: center
	}

	#manga img {
		width: 100%;
		height: auto
	}

	#manga h1 {

		font-size: 2.8rem;

	}

	#manga h1 p {

		font-size: 2rem;
		line-height: 1
	}

	.ta1 td,
	.ta1 th {
		width: 100%;
		display: block
	}
}