@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:400italic,400,700);
@import url(fonts.css);

html, body {
	height: 100%;
	min-height: 100%;
	padding: 0;
	margin: 0;
	font-size: 16px;
	font-family: 'Roboto Condensed', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic proN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
	color: #1d1d1d;
	position: relative;
}

a, .dl-faq dt {
	-moz-transition: all 0.2s ease-in-out;
	-webkit-transition: all 0.2s ease-in-out;
	-o-transition: all 0.2s ease-in-out;
	-ms-transition: all 0.2s ease-in-out;
	transition: all 0.2s ease-in-out;
}

p {
/*	line-height: 1.8em;
	margin-bottom: 1em;*/
}

section {
	position: relative;
}

header {
	position: fixed;
	top: 0;
	z-index: 2000;
	background: #fff;
	width: 100%;
}

header a {
	margin: 20px 20px 20px 0;
}

header ul, header .container > span {
	position: relative;
	top: 30px;
}

header ul a {
	padding: 20px;
}

nav {
	background: #f1f1f1;
	text-align: center;
	height: auto;
	width: 100%;
}

nav.navbar {
	border-radius: 0;
	margin-bottom: 0;
	position: fixed;
	top: 85px;
	z-index: 3000;
	border-bottom: 1px solid #ddd;
}

nav ul {
	display: block;
	margin: 0;
	padding: 0;
}

nav li, header ul li {
	display: inline-block;
	text-decoration: none;
	position: relative;
}

nav li a {
	color: #5c5c5c;
	padding: 15px;
	position: relative;
	top: 12px;
}

nav li a:hover, nav li a:active {
	color: #1d1d1d;
}

#xsMenu {
	display: none;
}

#catch {
	position: relative;
	height: auto;
	margin-top: 130px;
}

#catch .container {
	text-shadow: 0px 0px 1px black;
	position: relative;
	z-index: 2;
}

.bg-img {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	position: absolute;
}

#catch .bg-img {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

#main {
	padding-bottom: 60px;
}

#main h1 {
	margin-top: 2em;
	margin-bottom: 1em;
}

#main h2 {
	width: 100%;
	padding-top: 1em;
	border-top: 1px dotted;
}

#main h2.no-deco {
	padding-top: 0;
	border-top: none;
}

#main .well h2, #main .panel-heading h2, #main .h2-no-border h2 {
	padding-top: 0;
	border-top: 0;
}

.h2-no-border h2 {
	line-height: 1.5;
}

#main ul li {
	line-height: 2em;
}

#main .dl-faq ul li {
	line-height: 1.5em;
}

.alert h3 {
	margin-top: 0;
}

.thin {
	font-weight: 400;
}

.flag {
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 1em;
	width: 1.5em;
}

.flag-uk {
	background-image: url(../images/uk.png);
}

.flag-au {
	background-image: url(../images/Australia.png);
}

.flag-ca {
	background-image: url(../images/Canada.png);
}

.flag-cn {
	background-image: url(../images/China.png);
}

.flag-de {
	background-image: url(../images/germany.png);
}

.flag-eu {
	background-image: url(../images/European-Union.png);
}

.flag-fr {
	background-image: url(../images/france.png);
}

.flag-jp {
	background-image: url(../images/Japan.png);
	border: 1px solid #ccc;
}

.flag-nz {
	background-image: url(../images/New-Zealand.png);
}

.flag-us {
	background-image: url(../images/United-States.png);
}

.flag-lg {
	width: 32px;
	height: 22px;
	font-size: 24px;
}

.icon {
	display: inline-block;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	height: 1.5rem;
	width: 1.5rem;
}

.icon-instagram {
	background-image: url(../images/instagram-logo.png);
}

.card {
	border: 1px solid #e0e0e0;
	border-radius: .3rem;
	overflow: hidden;
}

.card-img {
	width: 100%;
}

.card-body {
	padding: 1rem;
}

.card-body p:last-child {
	margin-bottom: 0;
}

select.form-control {
	padding: 0.375rem 1.75rem 0.375rem 0.75rem;
	vertical-align: middle;
	background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
	background-size: 8px 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.btn {
	border-radius: 3px;
}

.menuBtn {
	display: none;
}

#input-file {
	display: inline-block;
}

.deleteFileBtn {
	display: none;
	border: none;
	background: transparent;
}

.deleteFileBtn.show {
	display: inline-block !important;
	color: #ff0000;
	font-weight: bold;
	font-size: 1.5rem;
}

.btn-special {
	border: 1px solid #fff;
/*	border-radius: 0;*/
	background: rgba(0,0,0,.1);
	color: #fff;
}

.btn-special:hover, .btn-special:active {
	background: rgba(0,0,0,.2);
	color: #fff;
}

.bg-white {
	background-color: #fff;
}

.bg-grey {
	background-color: #f5f5f5;
}

.m-0 {
	margin: 0;
}

.m-b-15 {
	margin-bottom: 15px;
}

.m-b-40 {
	margin-bottom: 40px;
}

.m-b-60 {
	margin-bottom: 60px;
}

.m-b--5 {
	margin-bottom: -5px;
}

.m-l-1em {
	margin-left: 1em;
}

.m-r-10 {
	margin-right: 10px;
}

.m-r-40 {
	margin-right: 40px;
}

.m-t-0 {
	margin-top: 0 !important;
}

.m-t-15 {
	margin-top: 15px;
}

.m-t-20 {
	margin-top: 20px;
}

.m-t-30 {
	margin-top: 30px;
}

.m-t-40 {
	margin-top: 40px;
}

.m-t-60 {
	margin-top: 60px;
}

.mb-2 {
	margin-bottom: .5rem;
}

.my-3 {
	margin-top: 1rem;
	margin-bottom: 1rem;
}

.p-b-10 {
	padding-bottom: 10px;
}

.p-t-10 {
	padding-top: 10px;
}

.p-t-20 {
	padding-top: 20px;
}

.p-0 {
	padding: 0;
}

.p-10 {
	padding: 10px;
}

.p-15 {
	padding: 15px;
}

.nw {
	white-space: nowrap;
}

.row {
	position: relative;
}

.middle {
	position: absolute;
	top: 50%;
	right: 0;
}

.bottom {
	position: absolute;
	bottom: 0;
	right: 0;
}

div.right {
	position: absolute;
	left: 50%;
	top: 0;
}

.bg-color .bg-img {
	width: 50%;
	height: 100%;
	z-index: 10;
	background-size: cover;
}

.flex-images {
	display: block;
/*	height: auto;*/
	height: 100%;
	overflow: hidden;
}

.flex-images img {
	width: 100%;
	height: auto;
	margin-bottom: 15px;
}

#otherInfo {
	text-align: center;
}

#otherInfo .col-sm-4, section.bg-color {
	padding-top: 40px;
	padding-bottom: 40px;
}

#otherInfo .col-sm-4:nth-child(3) {
	padding-top: 60px;
	padding-bottom: 60px;
}

#footer {
	background: #1d1d1d;
	color: #fff;
	text-align: center;
	font-size: 0.8em;
	padding: 40px 0;
}

#footer ul {
	display: block;
	margin: 0;
	padding: 0;
}

#footer ul li {
	text-decoration: none;
	display: inline-block;
}

#footer ul li a {
	padding: 3px 17px 3px 15px;
	border-right: 1px solid #999;
	color: #28a8f8;
}

#footer ul li:last-child a {
	border-right: 0;
}

#accordion-menu {
	display: none;
}

#main h2.panel-title {
	font-size: 1.3em;
	margin-top: .5em;
	margin-bottom: .5em;
}

ol > li {
	margin-top: 10px;
}

.dl-faq dt {
	background: #eee;
	padding: 10px;
	border: 1px solid #ddd;
	margin: 2px 0;
	cursor: pointer;
}

.dl-faq dt:hover {
	background: #fafafa;
}

.dl-faq dd {
	color: #c90000;
	margin-left: 47px;
	margin-bottom: 1em;
}

.table.table-cm th, .table.table-cm td {
	text-align: center;
	vertical-align: middle;
}

.divided .table-long-term, .divided .table-short-term {
	font-size: .8em;
}

.dl-horizontal dt, .dl-horizontal dd {
	line-height: 1.8em;
}

.list-nodeco {
	padding-left: 0;
}

.list-nodeco li {
	list-style: none;
	line-height: 1.8em;
}

.mgen-logo {
	display: inline-block;
	background: url(../images/logo-mgen.gif) no-repeat center center;
	background-size: 100%;
	width: 150px;
	height: 150px;
}

.pub {
	position: relative;
	display: inline-block;
	width: 100%;
	text-align: center;
	z-index: 0;
	margin-top: -0.1em;
	margin-bottom: 20px;
	font-size: 2em;
}

.pub .text-danger, .pub .text-success {
	color: #8dee8d !important;
}

.bs-callout {
	-moz-border-bottom-colors: none;
	-moz-border-left-colors: none;
	-moz-border-right-colors: none;
	-moz-border-top-colors: none;
	border-color: #eee;
	border-image: none;
	border-radius: 3px;
	border-style: solid;
	border-width: 1px 1px 1px 5px;
	margin: 20px 0;
	padding: 20px;
}

.bs-callout-danger {
	border-left-color: #ce4844;
}

.bs-callout h3 {
	margin-bottom: 5px;
	margin-top: 0;
}

.bs-callout-danger h3 {
	color: #ce4844;
}

#catch .media {
	color: #fff;
}

.fs-40 {
	font-size: 48px;
}

#catch .media-left {
	padding-top: 4px;
}

.input-file-preview {
	display: block;
	width: 100%;
	height: auto;
	min-height: 70px;
	margin-top: 10px;
}

.input-file-preview .thumb {
	width: 100%;
	height: auto;
}

#loading {
	display: none;
}

#loading.active {
	display: block;
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0;
	left: 0;
	background-color: rgba(255, 255, 255, .85);
	z-index: 5000;
}

#loading.active .message {
	display: block;
	width: 100%;
	color: #999;
	font-size: 1.5rem;
	text-align: center;
	margin-top: -1.5rem;
	position: absolute;
	left: 0;
	top: 50%;
}

.modal-backdrop.in {
	z-index: 3050;
}

.modal.in {
	z-index: 3100;
}

.border-x-0 {
	border-left: none !important;
	border-right: none !important;
}

@-webkit-keyframes spin {
	0% {-webkit-transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);}
}

@keyframes spin {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}

.spin {
	-webkit-animation: spin 2s linear infinite;
	animation: spin 2s linear infinite;
}

#toTop {
	display: inline-block;
	padding: 7px 12px;
	font-size: 28px;
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
	border-radius: 2px;
	position: fixed;
	bottom: 15px;
	right: 15px;
	z-index: 1000;
}

@media screen and (max-width: 991px) {
	header ul {
		position: absolute;
		top: 0;
		right: 0;
	}
}

@media screen and (max-width: 810px)
{
	nav {
		font-size: 14px;
	}
}
/*@media screen and (max-width: 767px) {	 -sm- */
@media screen and (max-width: 991px) {	/* -sm- */
	.bottom, .middle {
		position: relative;
		margin-top: 15px;
	}
	
	.bg-color .bg-img.right {
		display: block;
		width: 100%;
		height: 400px;
		position: relative;
		left: 0;
		top: 40px;
	}
	
	#main {
		padding-bottom: 0;
	}
	
	#otherInfo ul {
		padding: 0;
	}
	
	#otherInfo ul li {
		list-style: none;
	}
	
	nav {
		font-size: 16px;
		line-height: 1.2em;
	}
	
	.etc {
		display: none;
	}
	
	#xsMenu {
		display: block;
		margin: 0;
	}
	
	#xsMenu div {
		padding: 0;
		margin: 0;
		text-align: center;
		border-left: 1px solid #eee;
	}
	
	#xsMenu div:first-child {
		border-left: 0;
	}
	
	#xsMenu div:nth-child(3){
/*		font-size: 12px;*/
	}
	
	#xsMenu a {
		display: block;
		width: 100%;
		height: 100%;
		background: #fff;
		padding-top: 15px;
		padding-bottom: 15px;
	}
	
	#xsMenu div:nth-child(3) a {
		padding-top: 16px;
		padding-bottom: 16px;
	}
	
	#xsMenu a:hover, #xsMenu a:active {
		background: #ddd;
	}
	
	.navbar {
		text-align: left;
		position: relative;
	}
	
	.navbar > ul {
		display: none;
	}
	
	#accordion-menu {
		display: block;
	}
	
	#accordion-menu ul {
		position: absolute;
		left: 0;
		top: 50px;
		z-index: 1000;
		width: 100%;
		padding: 0;
	}
	
	#accordion-menu li {
		display: block;
		padding: 0;
	}
	
	#accordion-menu li a {
		display: block;
		background: rgba(0,0,0,.7);
		color: #f1f1f1;
		border-bottom: 1px solid rgba(0,0,0,.8);
		padding: 15px;
		margin: 0;
		width: 100%;
		top: 0;
	}
	
	#accordion-menu li a:hover, #accordion-menu li a:active {
		background: rgba(0,0,0,.9);
		color: #fff;
	}
}

@media screen and (min-width: 768px) {
	#otherInfo .col-sm-4:first-child {
		text-align: left;
	}
}

@media screen and (max-width: 696px) {
	h1 {
		font-size: 28px;
	}
}

@media screen and (max-width: 650px) {
	nav, p, ul {
		font-size: 14px;
	}
	
	h2 {
		font-size: 24px;
	}
}

@media screen and (max-width: 590px) {
	#footer ul li {
		display: block;
	}

	#footer ul li a {
		border: 0;
	}
	
	.pub {
		font-size: 1.2em;
	}
}

@media screen and (max-width: 551px) {
	h1 {
		font-size: 24px;
	}
}

@media screen and (max-width: 462px) {
	header .container > span {
		display: block;
		clear: left;
		top: -20px;
		padding-bottom: 20px;
	}
	
	nav.navbar {
		top: 100px;
	}
}

@media screen and (max-width: 390px) {	
	.small-xs {
		font-size: .85em;
	}
}

@media screen and (max-width: 350px) {
	.table {
		font-size: .7em;
	}
}
