@charset "utf-8";
@import url('reset.css');
@import url('general.css');
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url(https://fonts.googleapis.com/icon?family=Material+Icons);
@import url(https://fonts.googleapis.com/icon?family=Material+Icons+Outlined);

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
body {
	width:100%;
	font-size: 10px;
	font-size: 1.0rem;
	line-height: 1.8;
	color:#333;
	font-family:Arial, "Noto Sans JP", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif, "游ゴシック", "ヒラギノ角ゴ ProN W3", "メイリオ";
	-webkit-text-size-adjust:100%;
	overflow:hidden;
}

h1,h2,h3,h4 {
	margin:0;
}
p {
	font-size:180%;
}
ul, ol {
	padding-left:1.5em;
}
img {
	display:block;
	max-width:100%;
	height:auto;
	margin:0;
	padding:0;
}
strong {
	font-weight:bold;
}

a,a:visited,a:hover,button,button:hover {
	color:#333;
	text-decoration:none;
	transition-property: all;
	transition: 0.1s linear;
}
a:hover,button:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity: 0.7;
	-khtml-opacity: 0.7;
}

.btn,.btn:visited,.btn:hover {
	display:inline-block;
	text-align:center;
	font-size:160%;
	font-weight:600;
	text-decoration:none;
	color:#fff;
	border:none;
	-webkit-border-radius:3px;
	-moz-border-radius:3px;
	border-radius:3px;
	background-color:#4c4c97;
	padding:5px 1em;
	cursor:pointer;
}

.sp {
	display:none;
}

.material-icons,
.material-icons-outlined {
	vertical-align:middle;
	margin-top:-5px;
}

h1 {
	font-weight:600;
}

/*nav*/
.navWrapper {
	width:100%;
	background-color:#4c4c97;
	box-shadow:0 5px 0px #f3f3f3;
	padding:15px 0;
}
.navWrapper > a:first-child,
.navWrapper > a:first-child:visited,
.navWrapper > a:first-child:hover {
	float:left;
	color:#fff;
	font-size:240%;
}
.navWrapper > a:first-child img {
	display:inline;
	vertical-align:middle;
	max-width:160px;
	background-color:#4c4c97;
	padding-right:10px;
}
header nav ul {
	float:right;
	text-align:right;
}
header nav li {
	display:inline-block;
	vertical-align:top;
}
header nav a,
header nav a:visited,
header nav a:hover {
	display:block;
	font-size:140%;
	color:#fff;
	padding:10px 18px 10px 0;
}
header .material-icons,
header .material-icons-outlined {
	margin-right:2px;
}
.catNavi ul {
	display:flex;
	justify-content:left;
	flex-wrap:wrap;
	width:100%;
	list-style:none;
	padding:0 0 1%;
}
.catNavi li {
	width:9%;
	margin:1% 1% 0;
}
.catNavi li:nth-child(1),
.detail-type.type-1 {
	background-color:#468fcb;
}
.catNavi li:nth-child(2),
.detail-type.type-2 {
	background-color:#305ea2;
}
.catNavi li:nth-child(3),
.detail-type.type-3 {
	background-color:#1f2a68;
}
.catNavi li:nth-child(4),
.detail-type.type-4 {
	background-color:#801b75;
}
.catNavi li:nth-child(5),
.detail-type.type-5 {
	background-color:#c61a70;
}
.catNavi li:nth-child(6),
.detail-type.type-6 {
	background-color:#ca1e46;
}
.catNavi li:nth-child(7),
#type-7.typeWrap h3 span,
.detail-type.type-7 {
	background-color:#db8c11;
}
.catNavi li:nth-child(8),
.detail-type.type-8 {
	background-color:#82b128;
}
.catNavi li:nth-child(9),
.detail-type.type-9 {
	background-color:#238e40;
}
.catNavi li:nth-child(10),
.detail-type.type-10 {
	background-color:#9ed0cd;
}
.catNavi li:nth-child(11),
.detail-type.type-11 {
	background-color:#9dd2ed;
}
.catNavi li:nth-child(12),
.detail-type.type-12 {
	background-color:#a1b7da;
}
.catNavi li:nth-child(13),
.detail-type.type-13 {
	background-color:#a195c3;
}
.catNavi li:nth-child(14),
.detail-type.type-14 {
	background-color:#c9a3c6;
}
.catNavi li:nth-child(15),
.detail-type.type-15 {
	background-color:#eeb2cc;
}
.catNavi li:nth-child(16),
.detail-type.type-16 {
	background-color:#eeac8c;
}
.catNavi li:nth-child(17),
.detail-type.type-17 {
	background-color:#e6df00;
}
.catNavi li:nth-child(18),
.detail-type.type-18 {
	background-color:#a0cda8;
}
.catNavi img {
	max-width:90%;	
	margin:0 auto 5px;
}
.catNavi a,
.catNavi a:visited,
.catNavi a:hover {
	display:block;
	text-align:center;
	color:#fff;
	line-height:1.2;
	padding:5%;
}
.catNavi ul p {
	font-size:120%;
}
@media only screen and (max-width:900px) {
	.navWrapper {
		padding:5px 0;
	}
	.catNavi li {
		width:13%;
		margin:.5% .5% 0;
	}
}
@media only screen and (max-width:600px) {
	.navWrapper > a:first-child img {
		max-width:110px;
	}
	.catNavi li {
		width:24%;
	}
}

.wrapper {
	background-color:#c5d9f1;
}
.container {
	max-width:1200px;
	padding:5% 0;
	margin:0 auto;
}

h2 {
	font-size:260%;
	font-weight:600;
	text-align:center;
	margin-bottom:5%;
}
h3 {
	font-size:180%;
	font-weight:600;
}

.p_lead {
text-align: center;
display: block;
width: 100%;
margin: 0 0 4em 0;
}
.p_lead span {
display: inline-block;
text-align: center;
font-size: 1.4em;
font-weight: 600;
line-height: 1.5;
}

@media only screen and (max-width:900px) {
.p_lead span {
text-align: left;
}
}

label {
	font-size:160%;
}
.inputButton {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.inputButton label {
	width:16em;
}
input[type="text"],
textarea {
	width:100%;
	font-size:160%;
	font-family:Arial, "Noto Sans JP", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif, "游ゴシック", "ヒラギノ角ゴ ProN W3", "メイリオ";
	padding:5px;
}

.searchWrap,
.searchResult {
	background-color:#fff;
	border:1px solid #4c4c97;
	padding:3%;
}
.searchCat {
	margin-bottom:3%;
}
.searchResult {
	margin-top:5%;
}
.searchResult h3 {
	font-size:200%;
	color:#4c4c97;
}
.searchResult h4 {
	text-align:center;
	font-size:180%;
	font-weight:600;
	color:#4c4c97;
	margin-top:1em;
}
ul.result {
	text-align:center;
	font-size:160%;
	padding:0;
}
.result li {
	display:inline-block;
	font-weight:600;
}
.result li:not(:first-child):before {
	content:'または';
	font-weight:400;
	margin:0 1em;
}

#type {
	background-color:#e9e9f3;
}
#type h3 {
	text-align:center;
}
#type .searchWrap h3 {
	text-align:left;
}
#type h3 span {
	display:inline-block;
	padding:10px;
}
.typeBox {
	max-width:1200px;
	margin:0 auto;
}
.typeBox h3 {
	font-size:200%;
	color:#4c4c97;
	margin-top:5%;
}
.typeBox ul {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	list-style:none;
	padding:0;
	margin-top:3%;
}
.typeBox li {
	width:49%;
	border:1px solid #4c4c97;
	background-color:#fff;
	padding:1%;
	margin-bottom:2%;
}
.typeBox li a,
.typeBox li a:visited,
.typeBox li a:hover {
	display:block;
}
.typeBox h4 {
	font-size:180%;
	font-weight:600;
	color:#4c4c97;
	line-height:1.3;
	text-decoration:underline;
}
.typeBox li span {
	display:inline-block;
	font-size:160%;
}
.typeBox li span:not(:last-child) {
	margin-right:.5em;
}

#detail:not(.bgw) {
	background-color:#e9e9f3;
}
#detail .detail-type,
#detail .detail-area {
	display:inline-block;
	font-size:140%;
	color:#fff;
	padding:0 .3em;
	margin-bottom:10px;
}
#detail .detail-type {
	margin-right:5px;
}
#detail .detail-type img {
	display:inline-block;
	vertical-align:middle;
	width:auto;
	height:20px;
}
#detail .detail-area {
	background-color:#4c4c97;
}
#detail .outline {
	display:flex;
	flex-wrap:wrap;
}
#detail .outline > div:not(:last-child) {
	margin-right:1%;
}
#detail .logo {
	display:flex;
	align-items:center;
	width:120px;
	height:120px;
	text-align:center;
	background-color:#fff;
	padding:5px;
	margin-bottom:10px;
}
#detail .logo2{
	display: inline-block;
	background-color: #fff;
	background-position: center center;
	background-repeat: no-repeat;
	padding:0px;
	width: 110px;
	height: 110px;
	background-size: contain;
}
#detail .logo img{
	display:inline;
	vertical-align:middle;
	max-width:100%;
	height:auto;
	max-height:110px;
	margin:0 auto;
}
#detail .logo>* {
	min-width: 100%;
}
#detail .photo img {
	display:inline;
	vertical-align:middle;
/*	width:auto;
	max-height:100%;*/

    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;

  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
#detail .cmpname {
	max-width:48%;
	line-height:1.3;
	margin-bottom:10px;
}
#detail .cmpname h2 {
	text-align:left;
	margin-bottom:10px;
}
#detail .cmpname p span:first-child {
	margin-right:1em;
}
#detail .cmpname p span {
	display:inline-block;
}
#detail .contact .btn {
	margin-bottom:10px;
}
#detail .outline .material-icons,
#detail .outline .material-icons-outlined,
#detail+.container .material-icons {
	font-size:140%;
	margin-top:-2px;
}
#detail h3 {
	font-size:260%;
	margin-bottom:10px;
}
#detail ul.forte {
	list-style:none;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	margin-bottom:2em;
}
#detail .forte li {
	font-size:160%;
	text-align:center;
	border:1px solid #4c4c97;
	margin-bottom:10px;
}
#detail .forte li:first-child {
	color:#fff;
	font-weight:600;
	background-color:#4c4c97;
	padding:0 2em;
}
#detail .forte li:not(:first-child) {
	min-width:15em;
	color:#4c4c97;
	background-color:#fff;
}
#detail .forte li:not(:last-child) {
	margin-right:5px;
}
#detail ul.works {
	list-style:none;
	padding:0;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	margin-bottom:5%;
}
#detail .works li {
	width:48%;
}
#detail .works h4 {
	font-size:180%;
	font-weight:600;
	text-align:center;
	margin-bottom:1em;
}
#detail .works p {
	line-height:1.5;
}
#detail .photo {
 	display:-webkit-box;
  	display:-ms-flexbox;
	display:flex;
	flex-wrap:wrap;
}
#detail .photo .photo-wrap {
	width:32%;
}
#detail .photo .photo-wrap div {
	position:  relative;
	height:24vw;
	text-align:center;
	margin-bottom:1em;
}
#detail .photo div p {
	line-height:1.5;
}
#detail .photo .photo-wrap:not(:last-child) {
	margin-right:2%;
}
#detail+.container .btn {
	padding:5px 3em;
}
@media only screen and (max-width:600px) {
	#detail .outline {
		display:block;
	}
	#detail .outline > div:not(:last-child),
	#detail .forte li:not(:last-child),
	#detail .photo .photo-wrap:not(:last-child) {
		margin-right:0;
	}
	#detail .logo,
	#detail .forte li:not(:first-child),
	#detail .works li,
	#detail .photo .photo-wrap {
		width:100%;
	}
	#detail .logo2{
		width: 95%;
	}
	#detail .cmpname {
		max-width:100%;
	}
	#detail .photo img {
		position:  static;
	}
	#detail .photo .photo-wrap div {
		position:  static;
		height:auto;
	}
	#detail .photo .photo-wrap:not(:last-child) {
		margin-bottom:10px;
	}
}

#contact {
	background-color:#e9e9f3;
}
#contact table {
	width:100%;
	margin-bottom:5%;
}
#contact th,
#contact td {
	vertical-align:middle;
	border:1px solid #f3f3f3;
	padding:1%;
}
#contact th {
	font-size:160%;
	color:#fff;
	white-space:nowrap;
	background-color:#4c4c97;
}
#contact td {
	background-color:#fff;
}
#contact td span {
	display:inline-block;
	font-size:160%;
	margin-bottom:10px;
}
#contact input[type=text] {
	margin-bottom:10px;
}
#contact input[type=text].w30,
#contact input[type=text].w40 {
	width:30%;
}
#contact input[type=text].w80 {
	width:80%;
}
#contact table+.tac .btn {
	padding:5px 3em;
	margin:0 5px;
}
@media only screen and (max-width:600px) {
	#contact th,
	#contact td {
		float:left;
		width:100%;
	}
	#contact td span:not(span.at) {
		display:block;
		margin-left:0 !important;
		margin-bottom:0;
	}
	#contact input[type=text].w30,
	#contact input[type=text].w80 {
		width:100%;
	}
	#contact input[type=text].w40 {
		width:42%;
	}
}

footer {
	text-align:center;
	background-color:#4c4c97;
	padding:5%;
}
footer img {
	margin:0 auto 1%;
}
footer p {
	color:#fff;
}
footer p span {
	padding:0 .5em;
}
footer .copy {
	font-size:140%;
	margin-top:1em;
}
footer ul {
	list-style:none;
	text-align:right;
	padding:0;
}
footer li {
	display:inline-block;
	margin:0 1%;
}
footer a,
footer a:visited,
footer a:hover {
	font-size:140%;
	color:#fff;
}
footer .material-icons,
footer .material-icons-outlined {
	margin-right:2px;
}
@media only screen and (max-width:600px) {
	footer p span {
		display:block;
		padding:0;
	}
	footer ul {
		text-align:center;
		margin-top:1em;
	}
}

.pagetop {
	position:fixed;
	bottom:2%;
	right:2%;
	z-index:9999;
}
.pagetop a {
	display:block;
	text-indent:-9999px;
	width:50px;
	height:50px;
	background-color:#fff;
	border:1px solid #191970;
	-webkit-border-radius:25px;
	-moz-border-radius:25px;
	border-radius:5px;
	position:relative;
}
.pagetop a:before,
.pagetop a:after {
	content:'';
	border:10px solid transparent;
	position:absolute;
	left:50%;
	margin-left:-10px;
}
.pagetop a:before {
	border-bottom:10px solid #191970;
	top:8px;
}
.pagetop a:after {
	border-bottom:10px solid #fff;
	top:10px;
}
.large {
	font-size:167%;
}
.small {
	font-size:78.5%;
}

.img-fit {
	overflow:hidden;
	position:relative;
}
.img-fit img {
	width:100%;
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	-moz-transform:translate(-50%,-50%);
	transform :translate(-50%,-50%);
}


@media only screen and (min-width: 901px) {
	.is-fixed {
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1;
		width: 100%;
	}
}
@media only screen and (max-width: 1200px) {
	html {
		font-size:50%;
	}
	.container {
		padding:10% 5%;
	}
}
@media only screen and (max-width: 980px) {
}
@media only screen and (max-width: 900px) {
	.pc {
		display:none;
	}
	.sp {
		display:block;
	}
	body::before {
		content: "";
		background-repeat:no-repeat;
		background-position:center;
		background-size: cover;
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		z-index: -1;
		transform: translateZ(0);
	}
	a:hover {
		text-decoration:none;
		opacity: 1;
		filter: alpha(opacity=100);
		-ms-filter: "alpha(opacity=100)";
		-moz-opacity: 1;
		-khtml-opacity: 1;
	}
}
@media only screen and (max-width: 600px) {
}