@charset "UTF-8";
/*-- 
	variable

====================================================== --*/
/*--
	body Elements

====================================================== --*/

@keyframes fadein {
    0% {
        opacity: 0
    }
    100% {
        opacity: 1
    }
}
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	vertical-align:baseline;
	background:transparent;
    font-style: normal;
    font-weight: 400;
}
html {
	height: 100%;
    font-size: 10px;
}
body {
    font-size: 10px;
    text-align: center;
	line-height:1;
}
ul,ol,li {
	list-style-type:none;
}
img {
    vertical-align: top;
}
table {
	border-collapse: separate;
	border-spacing: 0px;
}
svg {
    pointer-events: none;
}
figure,
nav {
    display: block;
}
.anchor {
	font-size: 0px;
	line-height: 0px;
	display: block;
	overflow: hidden;
	height: 0px;
}
.clear {
  clear: both;
  font-size: 0px;
  line-height: 0px;
  height: 0px;
 }


/*--
	Web Fonts

====================================================== --*/
@import url('https://fonts.googleapis.com/css?family=Noto+Serif');
 
body {
     font-family: 'Noto Serif', serif;
}

/*--
	Link Elements

====================================================== --*/
a {
	color: #ffffff;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}


/*--
	contents

====================================================== --*/

body {
	text-align: center;
	-webkit-text-size-adjust: 100%;
}
header {
	width: 100%;
	min-width: 1260px;
	height: 600px;
	background: url("../../studio/img/visual.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
}
header h1 {
	width: 340px;
	height: 140px;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	z-index: 30;
}
header .ic {
	width: 100%;
	position: absolute;
	top: 40px;
	right: 50%;
	z-index: 10;
	border-bottom: 1px solid #ffffff;
	text-align: right;
	margin-right: 564px;
	padding-bottom: 16px;
}
header .ic img {
	margin-right: -62px;
}
header .backbtn {
	width: 100%;
	min-width: 1260px;
}
header .backbtn a {
	width: 214px;
	height: 50px;
	display: block;
	position: absolute;
	top: 40px;
	left: 50%;
	margin-left: 420px;
	border: 1px solid #ffffff;
	border-radius: 25px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: bold;
	line-height: 50px;
	letter-spacing: 1px;
	text-align: center;
	text-decoration: none;
	transition: 250ms;
}
header .backbtn a:hover {
	background-color: #ffffff;
	color: #79a3dc;
}
nav {
	width: 1000px;
	padding: 60px 0 160px;
	margin: 0 auto;
}
nav ul {
	width: 1000px;
	display: flex;
	justify-content: space-between;
}
nav li {
	width: 304px;
	border-top: 2px solid #e1e1e1;
	border-bottom: 2px solid #e1e1e1;
}
nav li a {
	display: block;
	position: relative;
	transition: 250ms;
}
@media screen and (max-width:768px) {
	header {
		width: 100%;
		min-width: 100%;
		height: 240px;
	}
	header h1 {
		width: 170px;
		height: 70px;
		top: 40px;
	}
	header h1 img {
		width: 100%;
	}
	header .ic {
		width: 60px;
		top: 20px;
		left: 0;
		right: auto;
		border-bottom: 1px solid #ffffff;
		margin-right: 0;
		padding-bottom: 8px;
	}
	header .ic img {
		width: 60px;
		margin-right: -30px;
	}
	header .backbtn {
		min-width: 100%;
	}
	header .backbtn a {
		width: 118px;
		height: 26px;
		top: 20px;
		left: auto;
		right: 10px;
		margin-left: 0;
		border-radius: 15px;
		font-size: 10px;
		letter-spacing: 0;
		line-height: 25px;
	}
	nav {
		width: 100%;
		padding: 30px 0 80px;
		margin: 0 auto;
	}
	nav ul {
		width: 96%;
		margin: 0 auto;
	}
	nav li {
		width: 32%;
	}
	nav li a {
		width: 100%;
	}
	nav li a img {
		width: 100%;
	}
}

.purpose > ul {
	width: 1260px;
	padding-bottom: 110px;
	margin: 0 auto;
}
.purpose > ul > li {
	width: 1260px;
	box-sizing: border-box;
	text-align: left;
	margin-bottom: 90px;
}
.purpose > ul > li:before,
.purpose > ul > li:after {
	content:"";
	display:table;
}
.purpose > ul > li:after {
	clear:both;
}
.purpose > ul > li:nth-child(1),
.purpose > ul > li:nth-child(3) {
	padding-right: 130px;
}
.purpose > ul > li:nth-child(2) {
	padding-left: 130px;
}
.purpose > ul > li > div {
	box-sizing: border-box;
}
.purpose > ul > li:nth-child(1) div:nth-child(1),
.purpose > ul > li:nth-child(3) div:nth-child(1) {
	width: 505px;
	float: left;
}
.purpose > ul > li:nth-child(2) div:nth-child(1) {
	width: 505px;
	float: right;
}
.purpose > ul > li:nth-child(1) div:nth-child(2),
.purpose > ul > li:nth-child(3) div:nth-child(2) {
	width: 625px;
	float: right;
	padding: 25px 0 0 40px;
}
.purpose > ul > li:nth-child(2) div:nth-child(2) {
	width: 625px;
	float: left;
	padding: 25px 40px 0 0;
}
.purpose li p {
	font-size: 15px;
	line-height: 1.8em;
	margin-bottom: 30px;
}
.purpose li p strong {
	font-size: 22px;
	font-weight: bold;
	display: block;
	padding-bottom: 20px;
}
.purpose li li {
	font-size: 15px;
	line-height: 1.8em;
	padding-left: 15px;
}
.purpose li li:before {
	content: "・";
	margin-left: -15px;
}
.purpose li dt {
	width: 90px;
	background-color: #76a3db;
	display: inline-block;
	color: #ffffff;
	font-size: 15px;
	line-height: 1.8em;
	text-align: center;
	margin-bottom: 4px;
}
.purpose li dd {
	font-size: 15px;
	line-height: 1.8em;
	margin-bottom: 10px;
}
@media screen and (max-width:768px) {
	.purpose > ul {
		width: 100%;
		padding-bottom: 60px;
	}
	.purpose > ul > li {
		width: 100%;
		margin-bottom: 45px;
	}
	.purpose > ul > li:nth-child(1),
	.purpose > ul > li:nth-child(2),
	.purpose > ul > li:nth-child(3) {
		padding-right: 20px;
		padding-left: 20px;
	}
	.purpose > ul > li:nth-child(1) div:nth-child(1),
	.purpose > ul > li:nth-child(2) div:nth-child(1),
	.purpose > ul > li:nth-child(3) div:nth-child(1) {
		width: 100%;
		float: none;
	}
	.purpose > ul > li:nth-child(1) div:nth-child(1) img,
	.purpose > ul > li:nth-child(2) div:nth-child(1) img,
	.purpose > ul > li:nth-child(3) div:nth-child(1) img {
		width: 100%;
	}
	.purpose > ul > li:nth-child(1) div:nth-child(2),
	.purpose > ul > li:nth-child(2) div:nth-child(2),
	.purpose > ul > li:nth-child(3) div:nth-child(2) {
		width: 100%;
		float: none;
		padding: 15px 0 0;
	}
	.purpose li p {
		font-size: 12px;
		margin-bottom: 15px;
	}
	.purpose li p strong {
		font-size: 15px;
		padding-bottom: 10px;
	}
	.purpose li li {
		font-size: 12px;
		padding-left: 12px;
	}
	.purpose li li:before {
		margin-left: -12px;
	}
	.purpose li dt {
		width: 70px;
		font-size: 12px;
		text-align: center;
		margin-bottom: 4px;
	}
	.purpose li dd {
		font-size: 12px;
		margin-bottom: 10px;
	}
}

.facility h2 {
	width: 100%;
	min-width: 1260px;
	height: 360px;
	background: url("../../studio/img/bg-facility.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
}
.facility h2 img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.facility h2 + p {
	width: 1000px;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 2em;
	text-align: center;
	padding: 54px 0 86px;
	margin: 0 auto;
}
.floor {
	width: 1000px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
}
.floor li {
	width: 490px;
	padding-bottom: 20px;
}
.map {
	width: 850px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}
.map li {
	width: 370px;
	padding: 60px 0;
}
.map + p {
	width: 1000px;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 2em;
	text-align: center;
	margin: 0 auto 75px;
}
@media screen and (max-width:768px) {
	.facility h2 {
		width: 100%;
		min-width: 100%;
		height: 180px;
	}
	.facility h2 img {
		width: 78px;
		height: 35px;
	}
	.facility h2 + p {
		width: 100%;
		font-size: 12px;
		padding: 27px 20px 43px;
	}	
	.floor {
		width: 100%;
		padding: 0 20px;
	}
	.floor li {
		width: 48%;
		padding-bottom: 10px;
	}
	.floor li img {
		width: 100%;
	}
	.map {
		width: 100%;
		display: block;
		padding: 0 20px;
	}
	.map li {
		width: 242px;
		padding: 40px 0 0;
		margin: 0 auto;
	}
	.map li img {
		width: 100%;
	}
	.map + p {
		width: 100%;
		font-size: 12px;
		line-height: 1em;
		padding: 0 20px;
		margin: 40px auto;
	}
	.map + p span {
		display: block;
		visibility: hidden;
	}
}
.facility h3 {
	width: 1000px;
	border-top: 2px solid #e1e1e1;
	font-size: 18px;
	font-weight: bold;
	padding: 60px 0 50px;
	margin:  0 auto;
}
.pc,
.equipment {
	width: 770px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin: 0 auto;
}
.pc li {
	width: 50%;
	box-sizing: border-box;
	font-size: 13px;
	line-height: 1.8em;
	text-align: left;
}
.equipment li {
	width: 50%;
	font-size: 16px;
	line-height: 2.2em;
	box-sizing: border-box;
	text-align: left;
	padding: 30px 0 50px;
}
.pc li:nth-child(2n),
.equipment li:nth-child(2n) {
	padding-left: 50px;
}
.pc li:nth-child(2n-1),
.equipment li:nth-child(2n-1) {
	padding-right: 50px;
}
.pc li h4 {
	font-size: 13px;
	display: block;
	padding-bottom: 15px;
}
.pc li h4 strong {
	font-size: 16px;
	padding-right: 5px;
}
.equipment li span {
	font-size: 13px;
	padding-left: 5px;
}
.software {
	width: 1000px;
	border-bottom: 2px solid #e1e1e1;
	padding-bottom: 50px;
	margin: 0 auto 200px;
}
.software li {
	width: 600px;
	font-size: 16px;
	line-height: 1.8em;
	box-sizing: border-box;
	text-align: left;
	padding-bottom: 12px;
	margin: 0 auto;
}
@media screen and (max-width:768px) {
	.facility h3 {
		width: auto;
		font-size: 15px;
		padding: 30px 0 25px;
		margin: 0 20px;
	}
	.pc,
	.equipment {
		width: 100%;
	}
	.pc li {
		width: 100%;
		font-size: 12px;
		padding-top: 15px;
		padding-bottom: 25px;
	}
	.equipment {
		padding: 15px 0 25px;
	}
	.equipment li {
		width: 100%;
		font-size: 12px;
		line-height: 2.2em;
		padding-top: 0px;
		padding-bottom: 20px;
	}
	.pc li:nth-child(2n),
	.pc li:nth-child(2n-1) {
		padding-left: 35px;
		padding-right: 35px;
	}
	.equipment li:nth-child(2n),
	.equipment li:nth-child(2n-1) {
		padding-left: 30px;
		padding-right: 30px;
	}
	.pc li h4 {
		font-size: 12px;
		padding-bottom: 8px;
		margin: 0 -5px;
	}
	.pc li h4 strong {
		font-size: 13px;
	}
	.equipment li span {
		font-size: 11px;
		padding-left: 5px;
	}
	.software {
		width: auto;
		padding-bottom: 25px;
		margin: 0 20px 100px;
	}
	.software li {
		width: 100%;
		font-size: 12px;
		padding: 0 10px 6px;
	}
}

.price h2 {
	width: 100%;
	min-width: 1260px;
	height: 360px;
	background: url("../../studio/img/bg-price.jpg") no-repeat center center;
	background-size: cover;
	position: relative;
}
.price h2 img {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.price h2 + p {
	width: 1000px;
	box-sizing: border-box;
	font-size: 16px;
	line-height: 2em;
	text-align: center;
	padding: 54px 0 86px;
	margin: 0 auto;
}
.price ul {
	width: 1000px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	margin: 0 auto 170px;
}
.price ul li {
	width: 490px;
}
.price ul li div {
	border-top: 2px solid #e1e1e1;
	border-bottom: 2px solid #e1e1e1;
	font-size: 17px;
	line-height: 1.8em;
	font-weight: bold;
	text-align: center;
	padding: 40px 0;
}
.price ul li span {
	display: block;
	font-size: 13px;
	font-weight: normal;
}
.price ul li strong {
	display: block;
	font-size: 24px;
	font-weight: bold;
	letter-spacing: 1px;
	padding-top: 30px;
}
.price ul li div + p {
	font-size: 11px;
	line-height: 1.6em;
	text-align: left;
	padding-top: 6px;
}
@media screen and (max-width:768px) {
	.price h2 {
		width: 100%;
		min-width: 100%;
		height: 180px;
	}
	.price h2 img {
		width: 49px;
		height: 35px;
	}
	.price h2 + p {
		width: 100%;
		font-size: 12px;
		padding: 27px 20px 43px;
	}
	.price ul {
		width: 100%;
		display: block;
		padding: 0 20px;
		margin: 0 auto 85px;
	}
	.price ul li {
		width: 100%;
	}
	.price ul li div {
		border-bottom: none;
		font-size: 14px;
		padding: 20px 0;
	}
	.price ul li span {
		font-size: 11px;
	}
	.price ul li strong {
		font-size: 18px;
		padding-top: 15px;
	}
	.price ul li div + p {
		border-top: 2px solid #e1e1e1;
		font-size: 10px;
		padding-top: 6px;
	}
}

footer {
	width: 100%;
	min-width: 1260px;
	background: #f4f4f4;
}
footer > div {
	width: 1000px;
	box-sizing: border-box;
	text-align: center;
	padding: 82px 0 64px;
	margin: 0 auto;
}
address {
	font-size: 16px;
	line-height: 1.8em;
}
address > div {
	padding-bottom: 20px;
	margin:  0 auto;
}
address > p {
	font-size: 12px;
	padding: 75px 0 10px;
}
@media screen and (max-width:768px) {
	footer {
		min-width: 100%;
	}
	footer > div {
		width: 100%;
		padding: 41px 20px 32px;
	}
	footer > div img {
		width: 185px;
		height: 37px;
	}
	address {
		font-size: 12px;
	}
	address > div {
		padding-bottom: 10px;
	}
	address > div img {
		width: 108px;
		height: 42px;
	}
	address > p {
		font-size: 10px;
		padding: 38px 0 15px;
	}
}
.pagetop {
	width: 120px;
	height: 120px;
	position: fixed;
	right: 0px;
	bottom: -120px;
}
.only-sp {
	display: none;
}
@media screen and (max-width:768px) {
	.pagetop {
		display: none;
	}
	.only-pc {
		display: none;
	}
	.only-sp {
		display: block;
	}
}
a[href^="tel:"] { cursor: default; }