@charset "utf-8";

* {
	margin:0;
	padding:0;
}
img {
	border:none;
}
			@media screen and (max-width: 480px) {
			img {
				width:100%;
				height:100%;
			}
			}
a {
	text-decoration:underline;
}
a:link {
	color: #005BAC;
}
a:visited {
	color: #800080;
}
a:hover {
	color: #CF121B;
}
a:active {
	color: #800080;
}
a:hover img {
	opacity: 1;
	-webkit-animation: flash 1.5s;
	animation: flash 1.5s;
}
.clearfix:after {
	display:block;
	clear:both;
	height:0;
	visibility:hidden;
	content:".";
	zoom:1;
}
html {
	margin:0;
	padding:0;
	font-size:62.5%;
	height:100%;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,"ＭＳ Ｐゴシック","Helvetica Neue",Helvetica,Arial,Roboto,"Droid Sans",sans-serif;
	font-size: 1.0rem; /*10px*/
	color:#403F41;
	line-height:2.1em;
	width:100%;
	height:100%;
	margin:0;
	padding:0;
	background-color: #FFF;
}
#mainbox {
	max-width:960px;
	height:100%;
	margin:0 auto;
	padding:0 2%;
}
footer {
	width:100%;
}
footer p.copyright {
	text-align:center;
	padding:10px 0;
	font-size:1.2rem;
	color:#4A71C1;
}
.topimages-bg {
	background-image: url("../images/top.jpg");
	position: relative;
    min-height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 1;
}
.p-topimages {
	position:absolute;
	top:50%;
	left:50%;
	bottom:auto;
	right:auto;
	width:90%;
	transform: translateX(-50%) translateY(-50%);
	text-align:center;
	color:#FFF;
	font-size:4.0rem;
	line-height:1.3;
	font-weight:bold;
	letter-spacing:3px;
}
			@media screen and (max-width: 768px) {
			.p-topimages {
				font-size:3.0rem;
			}
			}
h2 {
	font-size:3rem;
	padding:20% 0 10px 0;
	margin:0 10px 20px 10px;
	border-bottom:1px solid #4A71C1;
	color:#4A71C1;
	clear:both;
}
			@media screen and (max-width: 768px) {
			h2 {
				line-height:1.2;
				padding-bottom:5px;
			}
			}
h3 {
	font-size:2rem;
	padding:5% 0 10px 0;
	margin:0 0 20px 0;
	border-bottom:1px solid #4A71C1;
	color:#4A71C1;
}
main {
	min-height:100%;
	height:100%;
}
section {
	min-height:100%;
	height:auto;
}


/* ページトップに戻る */
.pagetop {
	display: none;
	position: fixed;
	bottom: 20px;
	right: 20px;
}
.pagetop a {
	display: block;
	background-color: #000099;
	text-align: center;
	color: #FFF;
	font-size: 30px;
	font-weight:bold;
	text-decoration: none;
	padding: 19px 15px;
	border:2px solid #FFF;
	border-radius:50%;
}
.pagetop a:hover {
	background-color: #3333AD;
}
#about,
#service,
#company,
#contact,
.animegif {
	min-height:100%;
	clear:both;
	/*height:auto;*/
}
#about2,
#service2,
#company2,
#contact2,
.animegif2 {
	margin:0 auto;
	width:80%;
}
			@media screen and (max-width:768px){
			#about2,
			#service2 {
				width:90%;
			}
			#company2,
			#contact2 {
				width:90%;
			}
			}
#about p,
#service p,
#company p,
#contact p,
.animegif p {
	font-size:1.6rem;
	line-height:2;
	margin:0 0 10px 0;
}
			@media screen and (max-width: 768px) {
			#about p,
			#service p,
			#company p,
			#contact p {
				font-size:1.6rem;
				margin:0 0 10px 0;
			}
			}
.p-center {
	text-align:center;
}
#about p.p-right {
	text-align:right;
}

#company dl,
#contact dl {
	line-height:1.5;
	margin-bottom:5px;
	zoom:1;
	font-size:1.6rem;
}
#company dl:after,
#contact dl:after {
	content:"";
	display:block;
	clear:both;
}
#company dl dt,
#contact dl dt {
	float:left;
	width:130px;
}
#company dl dd,
#contact dl dd {
	float:left;
}
			@media screen and (max-width:768px){
			#company dl dt,
			#contact dl dt {
				width:25%;
			}
			#company dl dd,
			#contact dl dd {
				width:75%;
			}
			}
/*ナビゲーションメニュー*/
.inner {
	width: 100%;
	margin: 0 auto;
}
.inner:after {
	content: "";
	clear: both;
	display: block;
}
/* header */
			@media screen and (max-width: 480px) {
			h1 a img {
				width:70%;
				height:70%;
			}
			}
#top-head {
	background-color:#FFF;
	top: -100px;
	position: absolute;
	width: 100%;
	margin: 100px auto 0;
	padding: 20px 0 15px 0;
	line-height: 1;
	z-index: 999;
	border-bottom: 1px solid #3333AD;
}
#top-head a,
#top-head {
	color: #000;
	text-decoration: none;
}
#top-head .inner {
	position: relative;
}
#top-head .logo {
	/*float: left;*/
	font-size: 2.0rem;
	margin:0 0 0 5%;
}
#global-nav ul {
	list-style: none;
	position: absolute;
	right: 4%;
	bottom: 4px;
	font-size: 1.4rem;
}
#global-nav ul li {
	float: left;
}
#global-nav ul li a {
	padding: 0 20px;
	font-weight:bold;
	letter-spacing:1px;
}
/* Fixed */
#top-head.fixed {
	margin-top: 0;
	top: 0;
	position: fixed;
	padding: 20px 0 0 0;
	height: 60px;
	background: #fff;
	/*background: rgba(255,255,255,.7);*/
	transition: top 0.65s ease-in;
	-webkit-transition: top 0.65s ease-in;
	-moz-transition: top 0.65s ease-in;
	border-bottom:1px solid #3333AD;

}
#top-head.fixed .logo a {
	font-size: 2.0rem;
	color: #333;
}
#top-head.fixed #global-nav ul li a {
	color: #333;
	padding: 0 20px;
}
/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 20px;
	top: 20px;
	width: 20px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}
#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 3px;
	width: 100%;
	background: #3333AD;
	left: 0;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 8px;
}
#nav-toggle span:nth-child(3) {
	top: 16px;
}
/*ナビゲーションメニュー*/
/*ナビゲーションメニュー960px以下*/
			@media screen and (max-width: 960px) {
			#top-head,
			.inner {
				width: 100%;
			}
			#top-head {
				top: 0;
				position: fixed;
				margin-top: 0;
				padding:0;
			}
			/* Fixed reset */
			#top-head.fixed {
				padding-top: 0;
				background: transparent;
				border-bottom:none;
			}
			#mobile-head {
				background: #fff;
				width: 100%;
				height: 56px;
				z-index: 999;
				position: relative;
				border-bottom:1px solid #3333AD;
			}
			#top-head.fixed .logo,
			#top-head .logo {
				position: absolute;
				left: 13px;
				top: 6px;
				color: #333;
				font-size: 1.6rem;
				margin:0;
			}
			#top-head.fixed .logo {
				color: #333;
			}
			#top-head a,
			#top-head {
				color: #333;
			}
			#top-head.fixed .logo a {
				font-size: 1.6rem;
			}
			#global-nav {
				position: absolute;
				/* 開いてないときは画面外に配置 */
				top: -500px;
				background: #3333AD;
				width: 100%;
				text-align: center;
				padding: 10px 0;
				-webkit-transition: .5s ease-in-out;
				-moz-transition: .5s ease-in-out;
				transition: .5s ease-in-out;
			}
			#global-nav ul {
				list-style: none;
				position: static;
				right: 0;
				bottom: 0;
				font-size: 14px;
			}
			#global-nav ul li {
				float: none;
				position: static;
			}
			#top-head #global-nav ul li a,
			#top-head.fixed #global-nav ul li a {
				width: 100%;
				display: block;
				color: #fff;
				padding: 18px 0;
			}
			#nav-toggle {
				display: block;
			}
			/* #nav-toggle 切り替えアニメーション */
			.open #nav-toggle span:nth-child(1) {
				top: 8px;
				-webkit-transform: rotate(315deg);
				-moz-transform: rotate(315deg);
				transform: rotate(315deg);
			}
			.open #nav-toggle span:nth-child(2) {
				width: 0;
				left: 50%;
			}
			.open #nav-toggle span:nth-child(3) {
				top: 8px;
				-webkit-transform: rotate(-315deg);
				-moz-transform: rotate(-315deg);
				transform: rotate(-315deg);
			}
			/* #global-nav スライドアニメーション */
			.open #global-nav {
			/* #global-nav top + #mobile-head height */
				-moz-transform: translateY(556px);
				-webkit-transform: translateY(556px);
				transform: translateY(556px);
			}
			}
/*ナビゲーションメニュー960px以下*/
			@media screen and (max-width: 480px) {
/*ナビゲーションメニュー480px以下*/
			#top-head.fixed .logo,
			#top-head .logo {
				top: 14px;
			}
			}
/*ナビゲーションメニュー480px以下*/


#service2 ul,
#company2 ul {
	font-size:1.6rem;
	padding:0 0 0 16px;
	line-height:1.5;
}
#service2 ul li,
#company2 ul li {
	margin:0 0 5px 0;
}
.google-map {
    position: relative;
    width: 100%;    /* 左右に余白が必要なら値を変更してもOK */
    height: 0;
    padding-bottom: 56.25%;    /* padding-topでもOK */
    overflow: hidden;
}
.google-map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;    /* 必要であれば!importantを付けてください */
    height: 100%;    /* 必要であれば!importantを付けてください */
}
#service3,
#service4 {
	clear:both;
	width:90%;
	margin:0 auto;
}
.col_4 {
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
}
.col_4 > div {
	width: 25%;
	padding: 10px;
	box-sizing: border-box;
}
@media screen and (max-width: 960px) {
	.col_4 > div {
		width: 33.33333%;
	}
}
@media screen and (max-width: 480px) {
	.col_4 > div {
		width: 50%;
	}
}

/*********** アニメ版HTML ***********/
.animegif{}
.animegif2{}

.p-animegif {
	text-align:center;
}
.p-back {
	margin:0 0 60px 0!important;
	padding:20px 0 0 0;
	text-align:center;
}
.p-back button {
	padding:5px 20px;
	padding:5px 20px;
}
@media screen and (max-width: 960px) {
			button[type="button"] {
				-webkit-appearance: none;
				border-radius: 0;
				font-size:1.4rem;
				background-color:#F0F0F0;
			}
			.p-back {
				margin:0!important;
			}
			.animegif2 h3 {
				padding:80px 0 0 0;
			}
			.p-animegif img {
				width:100%;
				height:100%;
			}
}








/*********** アニメ版HTML ***********/
