@charset "utf-8";

body {
	min-width: 360px;
}

section {
	padding: 2em 0;
}

.videoWrap {
	overflow: visible;
	background: url("../images/top/poster.jpg") no-repeat top center;
	background-size: cover;
}
.flexImg {
	width: 100%;
	height: auto;
}
.pcOnly {
	display: none;
}
.spOnly {
	display: block;
}
	
.InnerWrap {
	width: 100%;
	padding: 0 2em;
	overflow: hidden;
}

.gNav {
	display: none;
}

.flexWrap.spCancel {
	display: block;
}

dl.listBase {
	padding: 1em;
	margin: 2em 0;
}
#privacy dl.listBase {
	padding-right: 1em;
}
.flexWrap.split2 > div {
	margin-bottom: 1em;
}
.ttlBase {
	margin-bottom: .3em;
}
.otherService {
	margin: .5em 0 1em 2em;
}

/*#############################################*/
/* spNav */
header {
	z-index: 5;
}
.spMenuSw {
	position: absolute;
	right: 10px;
	top: 16px;
	z-index: 5;
	cursor: pointer;
}
#nav-open {
	display: inline-block;
	width: 30px;
	height: 22px;
	vertical-align: middle;
}
.spMenuSw span,
.spMenuSw span:before,
.spMenuSw span:after {
	position: absolute;
	height: 3px;
	width: 25px;
	background: #fff;
	content: '';
	cursor: pointer;
	transition: all 0.3s ease-out;
}
.spMenuSw span:before {
	bottom: -8px;
}
.spMenuSw span:after {
	bottom: -16px;
}
.spMenuSw.open span {
	height: 0;
}
.spMenuSw.open span:before {
	transform: rotate(-45deg);
	bottom: -12px;
}
.spMenuSw.open span:after{
	transform: rotate(45deg);
	bottom: -12px;
}
.spNav {
	padding: 0px  1em 0;
	box-sizing: border-box;
	position: absolute;
	top: 50px;
	background: #fff;
	width: 100%;
	display: none;
	z-index: 3;
	box-shadow: #00000069 3px 3px 10px;
}
.spnavHead {
	text-align: center;
	font-size: 3.0rem;
	color: #215c7e;
	margin: 1em 0;
}
.spnav01 li {
	width: 70%;
	margin: 0 auto 1.1em;
}
.spnav01 li a {
	font-size: 2.2rem;
	font-weight: 500;
	background: #dbdbdb;
	display: block;
	width: 100%;
	text-align: center;
	color: #000;
	padding: .5em 0;
}
.spnav02 {
	border-top: 1px dotted #ccc;
	display: flex;
	flex-wrap: wrap;
	margin-top: 2em;
	padding-top: 2em;
}
.spnav02 li {
	flex-basis: 50%;
	margin-bottom: 1.5em;
}
.spnav02 li a {
	font-size: 1.8rem;
	background: #333;
	color: #fff;
	display: block;
	text-align: center;
	width: 80%;
	margin: 0 auto;
	padding: .5em 0;
	border: 1px solid;
}
.markup {
	text-align: center;
	margin: 2em 0 1.5em;
}

/*#############################################*/
.topOver {
	width: 100%;
	font-size: 2.0rem;
}
.videoDot {
	display: none;
}
.downBox {
	bottom: 8.5%;
}
.spSlide img {
	width: 100%;
	height: 100vh;
}
.serviceImg .zoomImg {
	width: 100%;
	margin-bottom: 1em;
	height: 150px;
}
.serviceImg .zoomImg a {
	background-position: center!important;
}
section#company {
	overflow: hidden;
	background-position: top center;
}
#company dl {
	margin-top: 2em;
	font-size: 1.25rem;
}
#company dt {
	width: 7em;
}
#company dd {
	float: none;
	margin-left: 7em;
}
section#link {
	padding: 3em 0;
}
.serviceImg .zoomImg a:before {
	width: 100%;
}


/* contact */
dl.contact.listBase dt {
	float: none;
	font-size: 1.2rem;
	background: none;
	color: #000;
	padding-left: 10px;
}
dl.contact.listBase dd {
	margin-left: 0;
}
input[type="submit"], input[type="button"] {
	padding: 1em 2em;
}
dl.contact.listBase {
	padding-right: 1em;
}
.formTable th {
	font-size: .7em;
	width: auto;
}

/* service */
section.serviceRecord {
	max-height: unset;
}
section.serviceRecord .InnerWrap {
}
.pageHeader h2 {
	margin: 1em 0;
}
.serviceRecord h3 {
	margin-bottom: 1em;	
}
.recordEtc {
	margin-top: 6em;
	margin-left: 0;
}
.bgceircle .child:before, .bgsquare .child:before {
	border-width: 150px 150px 0 0;
}
.bgceircle .child, .bgsquare .child {
	width: 150px;
	height: 150px;
}
.bgceircle .child p, .bgsquare .child p {
	margin-top: 1.5em;
	font-size: 1.6rem;
}
.bgceircle .child:first-child, .bgsquare .child:first-child {
	z-index: 2;
}
.bgceircle {
	width: 260px;
	height: 260px;
}

.animeBox {
	height: 410px;
	width: 320px;
}

#movie.serviceImg {
	height: 620px;
}

section.serviceImg {
	height: 630px;
}
.bgsquare {
	width: 260px;
	height: 260px;
}
#graphic .bgceircle {
	width: 380px;
	height: 380px;
}
#graphic .bgceircle .sector {
	width: 190px;
	height: 190px;
	transform-origin: 190px 190px;
}
#graphic .sector p {
	font-size: 1.6rem;
}
#graphic .sector p span {
	font-size: 1.3rem;
}
#graphic .sector02 p {
	margin-top: 1.5em;
}
#graphic .sector04 p {
	margin-bottom: -3.5em;
	margin-left: 2.1em;
}
.slideBase > div {
	width: 100%;
}
.slideTxt {
	font-size: .9em;
	margin-top: 2em;
}
.frameWrap {
	width: 100%;
	height: 306px;
	position: relative;
	/*
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	margin-bottom: 20px;
	*/
}
.frameWrap > iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.slideTxt {
	top: 180px;
	position: absolute;
}
.bx-wrapper .bx-pager {
	bottom: -40px;
}

/*news*/
.newsDetail dd a {
	right: 0;
}
.newsDetail dd p {
	padding-right: 2em;
}

.newsDetail {
	display: block;
}
.newsDetail dt {
	text-align: left;
}
/* rec */
dl.listBase dt {
	width: 90px;
}
dl.listBase dd {
	margin-left: 90px;
}
dl.privacy.listBase dt {
	width: 100%;
}
dl.privacy.listBase dd {
	margin-left: 0;
	font-size: .9em;
}
/*footer */
.fNav {
	margin-bottom: 2.5em;
}
.flexWrap.fNav {
	justify-content: flex-start;
}
.copyTxt {
	line-height: 1.5;
}

/* access */
#mapWrap {
	overflow-x: scroll;
}
#mapWrap::-webkit-scrollbar {
	height: 4px;
}
#mapWrap::-webkit-scrollbar-track {
	background:#dddddd;
}
#mapWrap::-webkit-scrollbar-thumb {
	background: #a3a3a3;
}
#mapWrap img {
	width: auto;
	height: 400px;
}
