@charset "utf-8";

/* apps
----------------------------------------------- */

#apps .loading {
	display: none;
	position: relative;
	margin: 50px 0 0;
	min-height: 500px;
}
#apps .loading.on {
	display: block;
}
#apps .loading .bar {
	display: none;
	position: absolute;
	top: 50px;
	left: 50%;
	margin: 0 0 0 -135px;
	width: 270px;
	height: 1px;
	background: #f7f4f0;
}
#apps .loading .bar.on {
	display: block;
}
#apps .loading .progress {
	width: 0%;
	height: 1px;
	background: #453a3a;
}
#apps .loading .icon {
	position: absolute;
	top: 50px;
	left: 50%;
	margin: 0 0 0 -5px;
	width: 11px;
	height: 11px;
	background: url(/service/images/icon_loading.gif) no-repeat;
	-webkit-background-size: 11px 11px;
	-moz-background-size: 11px 11px;
	-ms-background-size: 11px 11px;
	background-size: 11px 11px;
}

/* pc
----------------------------------------------- */

@media print, screen and (min-width:741px) {
	
	/* about
	----------------------------------------------- */
	
	#about {
		margin: auto;
		padding: 45px 0;
		max-width: 1280px;
		text-align: center;
	}
	#about article {
		float: left;
		width: 50%;
	}
	#about article .article_inner {
		position: relative;
		margin: 0 40px;
		padding: 60px 0 55px;
		border-top: 1px solid #e0e0e0;
	}
	#about .articles:first-child article .article_inner {
		border-top: 0;
	}

	#about article h2 {
		margin: 40px 0 0;
		font-size: 1.45em;
		font-weight: 500;
		line-height: 1.75em;
	}
	#about article .summary {
		margin: 15px 0 0;
		color: #4d4d4d;
		font-size: 1.15em;
		text-align: justify;
		line-height: 1.85em;
	}
	#about article .link {
		margin: 20px 0 0;
		font-size: 1.15em;
		font-weight: 500;
		text-align: left;
	}
	#about article .no {
		position: absolute;
		top: 60px;
		left: 0;
	}
	#about article figure img {
		max-width: 100%;
		width: 400px;
		height: auto;
	}

	/* apps
	----------------------------------------------- */
	
	#apps {
		padding: 55px 0 120px;
	}
	#apps .copy {
		margin: auto;
		max-width: 690px;
	}
	#apps .copy p {
		margin: 0 25px;
		font-size: 1.25em;
		text-align: center;
		line-height: 1.85em;
	}
	
	#apps .search {
		margin: 55px auto 0;
		max-width: 690px;
		vertical-align: top;
		-webkit-user-select: none;
		-moz-user-select: none;
		-ms-user-select: none;
		user-select: none;
		-webkit-user-drag: none;
		-moz-user-drag: none;
		-ms-user-drag: none;
		user-drag: none;
	}
	#apps .search_inner {
		margin: 0 25px;
	}
	#apps .search .activeinput {
		float: left;
		width: 71.25%;
	}
	#apps .search .activeinput input {
		-webkit-user-select: auto;
		user-select: auto;
	}
	#apps .search .buttons {
		float: right;
		width: 27.5%;
	}
	#apps .search .activeinput p {
		padding-left: 40px;
		background: url(/service/images/icon_search.png) no-repeat 8px 3px;
		-webkit-background-size: 24px 24px;
		-moz-background-size: 24px 24px;
		-ms-background-size: 24px 24px;
		background-size: 24px 24px;
	}
	#apps .search .activeinput.load p {
		background: url(/service/images/icon_loading.gif) no-repeat 15px 9px;
		-webkit-background-size: 11px 11px;
		-moz-background-size: 11px 11px;
		-ms-background-size: 11px 11px;
		background-size: 11px 11px;
	}
	#apps .search .activeinput input:disabled {
		background: transparent;
	}
	
	#apps .search .buttons li {
		float: left;
		width: 50%;
		font-size: 0.95em;
	}
	#apps .search .buttons li a {
		margin: 0 0 0 8px;
		height: 40px;
		line-height: 41px;
	}
	
	/* request */
	
	#apps .request {
		margin: 70px auto 0;
		max-width: 1250px;
	}
	#apps .request_inner {
		position: relative;
		margin: 0 25px;
		padding: 45px 0;
		background: #f7f4f0;
	}
	#apps .request .summary {
		position: relative;
		margin: 0 380px 0 50px;
	}
	#apps .request .summary:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		margin: -24px 0 0;
		width: 48px;
		height: 48px;
		background: url(/service/images/app_request_image.png) no-repeat;
		-webkit-background-size: 48px 48px;
		-moz-background-size: 48px 48px;
		-ms-background-size: 48px 48px;
		background-size: 48px 48px;
	}
	#apps .request .summary p {
		padding: 0 0 0 100px;
		color: #78282a;
		font-size: 1.25em;
		font-weight: bold;
		line-height: 2em;
	}
	#apps .request .buttons p {
		position: absolute;
		top: 50%;
		right: 40px;
		margin: -24px 0 0;
		width: 300px;
	}
	#apps .request .buttons p a {
		height: 48px;
		font-size: 1.1em;
		font-weight: 500;
		line-height: 49px;
	}
	
	/* list */
	
	#apps .list {
		display: none;
		margin: auto;
		max-width: 1250px;
	}
	#apps .list.on {
		display: block;
	}
	#apps .list ul {
		position: relative;
		margin: 55px 25px 0;
	}
	#apps .list ul:before {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: #e0e0e0;
	}
	#apps .list li {
		float: left;
		width: 16.66%;
		text-align: center;
		border-bottom: 1px solid #e0e0e0;
	}
	#apps .list li a {
		display: block;
		position: relative;
		margin: 1px 0 0;
		padding: 25px 0 5px;
		color: #808080;
	}
	#apps .list li a:hover {
		color: #4970bf;
		text-decoration: none;
	}
	#apps .list li a:after {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(245,245,245,0);
		-webkit-transform: scale(0.9);
		-moz-transform: scale(0.9);
		-ms-transform: scale(0.9);
		transform: scale(0.9);
		-webkit-transition: all 0.25s ease;
		-moz-transition: all 0.25s ease;
		-ms-transition: all 0.25s ease;
		transition: all 0.25s ease;
	}
	#apps .list li a:hover:after {
		background: rgba(245,245,245,1);
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
		-ms-transform: scale(1);
		transform: scale(1);
	}
	#apps .list li span {
		display: block;
		position: relative;
		margin: 15px 0 0;
		height: 2.5em;
		font-size: 0.85em;
		line-height: 1.25em;
		z-index: 1;
	}
	#apps .list li figure {
		position: relative;
		margin: auto;
		width: 100px;
		height: 100px;
		z-index: 1;
	}
	#apps .list li figure img {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: auto;
		-webkit-transform: translate(-50%,-50%);
		-moz-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}
	
	/* more */
	
	#apps .more {
		display: none;
		margin: auto;
		max-width: 1250px;
	}
	#apps .more.on {
		display: block;
	}
	#apps .more p {
		position: relative;
		margin: 0 25px;
		padding: 25px 0 0;
		color: #808080;
		font-size: 1.4em;
		text-align: center;
		cursor: pointer;
	}
	#apps .more p:before,
	#apps .more p:after {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		background: #e0e0e0;
	}
	#apps .more p:before {
		top: 3px;
	}
	#apps .more p:after {
		top: 7px;
	}
	#apps .more p:hover {
		color: #4970bf;
	}

	/* result */
	
	#apps .result {
		display: none;
		position: relative;
		margin: 35px auto 0;
		max-width: 1250px;
	}
	#apps .result.on {
		display: block;
	}
	#apps .result:after {
		display: block;
		content: "";
		position: absolute;
		top: -13px;
		left: 50%;
		width: 16px;
		height: 14px;
		background: url(/service/images/app_result_arrow.png) no-repeat;
		-webkit-background-size: 16px 14px;
		-moz-background-size: 16px 14px;
		-ms-background-size: 16px 14px;
		background-size: 16px 14px;
	}
	#apps .result_inner {
		margin: 0 25px;
		border: 1px solid #e0e0e0;
	}
	#apps .result .label {
		padding: 18px 0;
		font-size: 1.15em;
		text-align: center;
		border-bottom: 1px solid #e0e0e0;
		background: #fafafa;
	}
	#apps .result ul {
		padding: 15px 0 20px;
	}
	#apps .result li {
		float: left;
		width: 16.66%;
		text-align: center;
	}
	#apps .result li a {
		display: block;
		position: relative;
		padding: 25px 0 0;
		color: #808080;
	}
	#apps .result li a:hover {
		color: #4970bf;
		text-decoration: none;
	}
	#apps .result li span {
		display: block;
		position: relative;
		margin: 15px 0 0;
		height: 2.5em;
		font-size: 0.85em;
		line-height: 1.25em;
		z-index: 1;
	}
	#apps .result li figure {
		position: relative;
		margin: auto;
		width: 100px;
		height: 100px;
		z-index: 1;
	}
	#apps .result li figure img {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: auto;
		-webkit-transform: translate(-50%,-50%);
		-moz-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}
	
	/* notfound */
	
	#apps .notfound {
		display: none;
		margin: 35px auto 0;
		max-width: 1250px;
	}
	#apps .notfound.on {
		display: block;
	}
	#apps .notfound p {
		position: relative;
		margin: 0 25px;
		padding: 18px 0;
		color: #e65649;
		font-size: 1.15em;
		text-align: center;
		border: 1px solid #e65649;
		background: #fceeec;
	}
	#apps .notfound p:after {
		display: block;
		content: "";
		position: absolute;
		top: -13px;
		left: 50%;
		width: 16px;
		height: 14px;
		background: url(/service/images/app_notfound_arrow.png) no-repeat;
		-webkit-background-size: 16px 14px;
		-moz-background-size: 16px 14px;
		-ms-background-size: 16px 14px;
		background-size: 16px 14px;
	}

}

@media screen and (min-width:741px) and (max-width: 1023px) {

	/* about
	----------------------------------------------- */
	
	#about .articles {
		margin: 0 15px;
	}
	#about article .article_inner {
		margin: 0 10px;
	}
	#about article .summary {
		margin: 15px 10px 0;
	}
	#about article .link {
		margin: 20px 10px 0;
	}
	#about article .no img {
		width: 60px;
		height: auto;
	}

	/* apps
	----------------------------------------------- */

	/* request */
	
	#apps .request .summary {
		margin: auto;
		width: 640px;
	}
	#apps .request .buttons p {
		position: static;
		margin: 30px auto 0;
		width: 300px;
	}

	/* list */
	
	#apps .list li {
		width: 20%;
	}

	/* result */
	
	#apps .result li {
		width: 20%;
	}

}

/* mobile
----------------------------------------------- */

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

	/* about
	----------------------------------------------- */
	
	#about {
		margin: 0 20px;
		padding: 0 0 20px;
	}

	#about article {
		position: relative;
		padding: 45px 0 45px;
		border-top: 1px solid #e0e0e0;
	}
	#about .articles:first-child article:first-child {
		border-top: 0;
	}

	#about article h1 {
		margin: 20px 10px 0;
		font-size: 1.15em;
		font-weight: 500;
		text-align: center;
		line-height: 1.5em;
	}
	#about article .summary {
		margin: 15px 10px 0;
		color: #4d4d4d;
		font-size: 0.95em;
		text-align: justify;
		line-height: 1.75em;
	}
	#about article .summary br {
		display: none;
	}
	#about article .link {
		margin: 15px 10px 0;
		font-size: 0.95em;
	}
	#about article .link img {
		width: auto;
		height: 27px;
	}
	#about article .no {
		position: absolute;
		top: 45px;
		left: 0;
	}
	#about article .no img {
		width: 55px;
		height: auto;
	}
	#about article figure img {
		width: 100%;
		height: auto;
	}

	/* apps
	----------------------------------------------- */
	
	#apps {
		padding: 30px 0 70px;
	}
	#apps .copy {
		margin: 0 20px;
	}
	#apps .copy p {
		font-size: 1em;
		line-height: 1.75em;
	}

	#apps .search {
		margin: 50px 20px 0;
	}
	#apps .search .activeinput {
		float: left;
		width: 54.62%;
	}
	#apps .search .activeinput input {
		-webkit-user-select: auto;
		user-select: auto;
	}
	#apps .search .buttons {
		float: right;
		width: 42.38%;
	}
	#apps .search .activeinput p {
		padding-left: 30px;
		background: url(/service/images/icon_search.png) no-repeat 5px 6px;
		-webkit-background-size: 17px 17px;
		-moz-background-size: 17px 17px;
		-ms-background-size: 17px 17px;
		background-size: 17px 17px;
	}
	#apps .search .activeinput.load p {
		background: url(/service/images/icon_loading.gif) no-repeat 15px 9px;
		-webkit-background-size: 11px 11px;
		-moz-background-size: 11px 11px;
		-ms-background-size: 11px 11px;
		background-size: 11px 11px;
	}
	#apps .search .buttons li {
		float: left;
		width: 50%;
		font-size: 0.8em;
	}
	#apps .search .buttons li a {
		margin: 0 0 0 11px;
		height: 40px;
		line-height: 41px;
	}

	/* request */
	
	#apps .request {
		margin: 30px 20px 0;
		padding: 25px 0 30px;
		background: #f7f4f0;
	}
	#apps .request .summary {
		position: relative;
		margin: 0 20px;
		padding: 60px 0 0;
	}
	#apps .request .summary:after {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		margin: 0 0 0 -20px;
		width: 40px;
		height: 40px;
		background: url(/service/images/app_request_image.png) no-repeat;
		-webkit-background-size: 40px 40px;
		-moz-background-size: 40px 40px;
		-ms-background-size: 40px 40px;
		background-size: 40px 40px;
	}
	#apps .request .summary p {
		color: #78282a;
		font-size: 0.95em;
		font-weight: bold;
		line-height: 1.75em;
	}
	#apps .request .buttons p {
		margin: 20px 20px 0;
	}
	#apps .request .buttons p a {
		height: 40px;
		font-size: 0.85em;
		line-height: 41px;
	}

	/* list */
	
	#apps .list {
		display: none;
		margin: 0 20px;
	}
	#apps .list.on {
		display: block;
	}
	#apps .list ul {
		position: relative;
		margin: 20px 0 0;
	}
	#apps .list ul:before {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 1px;
		background: #e0e0e0;
	}
	#apps .list li {
		float: left;
		width: 33.33%;
		text-align: center;
		border-bottom: 1px solid #e0e0e0;
	}
	#apps .list li a {
		display: block;
		padding: 20px 0 10px;
		position: relative;
		color: #808080;
	}
	#apps .list li span {
		display: block;
		margin: 5px auto 0;
		max-width: 80px;
		height: 2.5em;
		font-size: 0.7em;
		line-height: 1.25em;
	}
	#apps .list li figure {
		position: relative;
		margin: auto;
		width: 70px;
		height: 70px;
	}
	#apps .list li figure img {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: auto;
		-webkit-transform: translate(-50%,-50%);
		-moz-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}

	/* more */
	
	#apps .more {
		display: none;
		position: relative;
		margin: 0 20px;
	}
	#apps .more.on {
		display: block;
	}
	#apps .more p {
		position: relative;
		padding: 30px 0 0;
		color: #808080;
		font-size: 1em;
		text-align: center;
		cursor: pointer;
	}
	#apps .more p:before,
	#apps .more p:after {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		background: #e0e0e0;
	}
	#apps .more p:before {
		top: 4px;
	}
	#apps .more p:after {
		top: 9px;
	}

	/* result */
	
	#apps .result {
		display: none;
		position: relative;
		margin: 20px 20px 0;
	}
	#apps .result.on {
		display: block;
	}
	#apps .result:after {
		display: block;
		content: "";
		position: absolute;
		top: -8px;
		left: 9px;
		width: 10px;
		height: 9px;
		background: url(/service/images/app_result_arrow.png) no-repeat;
		-webkit-background-size: 10px 9px;
		-moz-background-size: 10px 9px;
		-ms-background-size: 10px 9px;
		background-size: 10px 9px;
	}
	#apps .result_inner {
		border: 1px solid #e0e0e0;
	}
	#apps .result .label {
		padding: 15px;
		font-size: 0.85em;
		line-height: 1.5em;
		border-bottom: 1px solid #e0e0e0;
		background: #fafafa;
	}

	#apps .result ul {
		padding: 5px 0 20px;
	}
	#apps .result li {
		float: left;
		width: 33.33%;
		text-align: center;
	}
	#apps .result li a {
		display: block;
		padding: 20px 0 0;
		position: relative;
		color: #808080;
	}
	#apps .result li span {
		display: block;
		margin: 5px auto 0;
		max-width: 80px;
		height: 2.5em;
		font-size: 0.7em;
		line-height: 1.25em;
	}
	#apps .result li figure {
		position: relative;
		margin: auto;
		width: 70px;
		height: 70px;
	}
	#apps .result li figure img {
		position: absolute;
		top: 50%;
		left: 50%;
		width: 100%;
		height: auto;
		-webkit-transform: translate(-50%,-50%);
		-moz-transform: translate(-50%,-50%);
		-ms-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
	}

	/* notfound */

	#apps .notfound {
		display: none;
		position: relative;
		margin: 20px 20px 0;
	}
	#apps .notfound.on {
		display: block;
	}
	#apps .notfound p {
		position: relative;
		padding: 15px;
		color: #e65649;
		font-size: 0.85em;
		line-height: 1.5em;
		border: 1px solid #e65649;
		background: #fceeec;
	}
	#apps .notfound p:after {
		display: block;
		content: "";
		position: absolute;
		top: -9px;
		left: 9px;
		width: 10px;
		height: 9px;
		background: url(/service/images/app_notfound_arrow.png) no-repeat;
		-webkit-background-size: 10px 9px;
		-moz-background-size: 10px 9px;
		-ms-background-size: 10px 9px;
		background-size: 10px 9px;
	}

}
