@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-Light.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-Light.woff) format('woff'),
       url(//fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-Light.otf) format('opentype');
}
@font-face {
   font-family: 'Noto Sans Japanese';
   font-style: normal;
   font-weight: 300;
   src: url(//fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-DemiLight.woff2) format('woff2'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-DemiLight.woff) format('woff'),
        url(//fonts.gstatic.com/ea/notosansjapanese/v5/NotoSansJP-DemiLight.otf) format('opentype');
}

html {
	position: relative;
	min-height: 100%;
}

body {
	margin: 0 0 63px;
	padding: 0;
	-webkit-text-size-adjust: 100%;
	font-family: "Roboto", "Noto Sans Japanese", sans-serif;
	font-weight: 300;
	color: #1d1d1d;
}

h1, h2, h3, h4, .h1, .h2, .h3, .h4 {
	font-weight: 300;
}

h1 {
	line-height: 1.5em;
}

h1, h2 {
	margin-bottom: 1em;
	text-align: center;
}

h2, .h2 {
	font-size: 24px;
	color: #666;
}

h3, .h3 {
	font-size: 18px;
}

h3.bg-color {
	display: inline-block;
	padding: 0.5em 13px;
	margin-left: -13px;
}

a, .btn, .card.link, .card .bg-filter {
	-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;
}

a {
	color: #1d2f79;
}

a:hover, a:focus {
	color: #1d2f79;
}

label {
	font-weight: 300;
}

.btn-primary {
	background-color: #1d2f79;
	border-color: #1d2f79;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary[disabled]:hover, .btn-primary[disabled]:focus {
	background-color: #02186c;
}

.slider-pro .btn-link {
	display: block;
	width: 100%;
	border-radius: 0;
	color: #fff;
	position: absolute;
	bottom: 6px;
	left: 0;
}

.container.wide {
	width: 100%;
	max-width: 1350px !important;
	padding: 0;
}

.bg-slider {
	display: block;
	position: relative;
	width: auto;
	max-width: 1350px;
	height: 100%;
	padding: 0;
	margin-top: 50px;
}

.bg-slider .slider-screen {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	content: " ";
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.bg-controller {
	height: 0;
	font-size: 0;
}

.navbar-fixed-top {
	height: 50px;
	background-color: #fff;
	box-shadow: 0px 0px 7px rgba(0, 0, 0, .1);
}

.navbar-fixed-top .navbar-toggle {
    border-color: #1d2f79;
}

.navbar-fixed-top .navbar-toggle .icon-bar {
    background-color: #1d2f79;
}

#header .nav > li.active > a {
	background-color: #1d2f79;
	color: #fff;
}

#header .nav > li:first-child > a {
	padding-top: 12px;
	padding-bottom: 10px;
}

.bg-top {
	width: 100%;
	margin: 0;
	padding: 0;
	background-color: #fafafa;
}

.home .bg-top {
	height: 600px;
}

.bg-top .bg-filter {
	display: block;
	width: 560px;
	position: absolute;
	top: 30px;
	left: 30px;
	z-index: 100;
}

.bg-top .bg-filter h1 {
	font-size: 32px;
	margin: 1em;
}

.bg-top h2 {
	line-height: 1.5em;
}

.band {
	padding-top: 50px;
	padding-bottom: 60px;
}

.relative {
	position: relative;
}

.logo {
	max-width: 216px;
	max-height: 50px;
	position: relative;
	z-index: 1500;
}

.navbar-brand {
	padding: 8px 0;
}

.logo object {
	width: 100%;
	height: 100%;
	pointer-events: none;
	color: #1d2f79;
}

.bg-indigo800 {
	background-color: #283593;
	color: #fafafa;
}

.bg-bordeaux {
	background-color: #650101;
	color: #fafafa;
}

.bg-bordeaux a, .bg-indigo800 a {
	color: #fafafa;
}

.bg-bordeaux a:hover, .bg-bordeaux a:focus, .bg-indigo800 a:hover, .bg-indigo800 a:focus {
	color: #fff;
}

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

.bg-grey200 {
	background-color: #eee;
}

.bg-indigo300 {
	background-color: #7986CB;
	color: #fff;
}

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

.bg-filter-white {
	background-color: rgba(255, 255, 255, 0.9);
}

.bg-filter {
	background-color: rgba(0, 0, 0, .4);
	color: #fff;
}

.bg-filter .text-danger {
	color: #ff958b;
}

.bg-panel {
	background-image: url(../images/bg-panel.jpg);
	background-position: center center;
	background-repeat: repeat;
	background-size: auto;
}

.bg-paris {
	background-image: url(../images/paris_silhouette.svg);
	background-repeat: repeat-x;
	background-position: center bottom;
	background-size: auto 70%;
}

.bg-paris.h-max {
	height: 200px;
	background-size: auto 150%;
}

.bg-paris2 {
	background-image: url(../images/bg-202987414.jpg);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
}

.border-white {
	border-color: #fff;
}

.border-wide {
	border-width: 15px;
	border-style: solid;
}

.load-img {
	display: block;
	content: " ";
	background-color: #fff;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
}

.load-img#image1 {
	width: 75%;
	top: 0;
	right: 0;
}

.load-img#image2 {
	width: 60%;
	bottom: 30px;
	left: 0;
	box-shadow: 0px 0px 12px 3px rgba(0, 0, 0, 0.2);
}

.load-img#image3 {
	width: 40%;
	bottom: 0;
	right: 40px;
	box-shadow: 0px 0px 16px 3px rgba(0, 0, 0, 0.2);
}

.footer {
	width: 100%;
	position: absolute;
	bottom: 63px;
	left: 0;
}

#footer {
	width: 100%;
	background-color: #1A237E;
	color: #fff;
	position: absolute;
	bottom: 0;
	min-height: 63px;
	padding: 18px 0;
	z-index: 1;
}

#footer p {
	line-height: 28px;
}

#footer a {
	color: #f5f5f5;
	padding: 15px;
}

#footer a:hover, footer a:focus {
	color: #fff;
}

#footer .social .fa {
	font-size: 28px;
}

.center-middle {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -0.5em;
	margin-left: -0.5em;
}

.dl-horizontal dd ul {
	padding-left: 15px;
}

.list-m-b-10 li {
	margin-bottom: 10px;
}

.m-b {
	margin-bottom: 1em;
}

.m-t {
	margin-top: 1.8em;
}

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

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

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

.p-t-60 {
	padding-top: 60px !important;
}

.w-100pc {
	width: 100%;
}

.text-grey {
	color: #9e9e9e;
}

.text-grey300 {
	color: #E0E0E0;
}

.text-indigo300 {
	color: #7986CB;
}

.text-red100 {
	color: #FF8A80;
}

.text-clear {
	color: transparent;
}

.no-deco {
	list-style: none;
}

.btn-circle {
	color: #1d2f79;
	border: 1px solid #1d2f79;
	width: 2.5em;
	height: 2.5em;
	border-radius: 50%;
}

.btn-circle:hover, .btn-circle:hover, .card:hover .btn-circle, .card:focus .btn-circle {
	color: #fff;
	background-color: #1d2f79;
}

.form-control-feedback {
	margin-top: 10px;
}

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

.modal #MessageVal {
	line-height: 1.5em;
}

.sp-image-container {
	margin-left: 0;
	margin-right: 0;
}

.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail::before,
.sp-bottom-thumbnails.sp-has-pointer .sp-selected-thumbnail::after {
    border-bottom-color: #C62828;
}

.sp-mask {
	/*box-sizing: content-box;*/
}

.sp-slide .h3 {
	display: block;
	width: 100%;
	padding-top: 0.5em;
	padding-bottom: 0.5em;
	margin-bottom: 0;
	background-color: rgba(255, 255, 255, 0.5);
	text-align: center;
	position: absolute;
	bottom: 0;
	left: 0;
}

.sp-slide:hover .h3, .sp-slide:focus .h3 {
	opacity: 0;
}

#check-accept-google-analytics {
	display: block;
	width: 100%;
	background-color: rgba(0,0,0, .8);
	color: #f5f5f5;
	line-height: 1.5;
	margin: 0;
	padding: 2rem;
	opacity: 0;
	transition: all .8s ease;
	position: fixed;
	bottom: -500px;
	left: 0;
	
	a {
		color: rgba(103, 136, 255, 1);
	}
	
	.btn {
		margin-top: 1rem;
		
		&:first-child {
			margin-right: 1rem;
		}
	}
	
	.btn-special {
		background-color: #283593;
		color: #fff;
		
		&:hover, &:focus {
			background-color: #4352c9;
			color: #fff;
		}
	}
	
	.btn-link {
		color: #ccc;
		
		&:hover, &:focus {
			color: #fff;
		}
	}
	
	&.show {
		opacity: 1;
		bottom: 0;
		z-index: 1000;
	}
}

@media screen and (min-width: 768px) {
	.text-sm-center {
		text-align: center;
	}
	
	#footer .social {
		margin-bottom: 2rem;
	}
	
	#footer p {
		margin-bottom: 0;
	}
}

@media screen and (max-width: 767px) {
	.text-xs-right {
		text-align: right;
	}
}

/*** .card ***/
.card {
  position: relative;
  display: block;
  margin-top: 0.75rem;
  margin-bottom: .75rem;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  border-radius: .25rem;
}

.card.link:hover, .card.link:focus {
	box-shadow: 0px 0px 7px rgba(0, 0, 0, .1);
	cursor: pointer;
}

.card .bg-filter, .sp-slide .bg-filter {
	display: block;
	width: 100%;
	content: " ";
	color: #fff;
	text-align: center;
	font-size: 1.5rem;
	line-height: 2em;
	padding: 4rem;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 0.25rem 0.25rem 0 0;
	z-index: -1;
}

.sp-slide .bg-filter {
	height: 100%;
}

.card:hover .bg-filter, .card:focus .bg-filter, .sp-slide:hover .bg-filter, .sp-slide:focus .bg-filter {
	background-color: rgba(0, 0, 0, .4);
	z-index: 100;
}

.card .bg-filter .fa-4x, .sp-slide .bg-filter .fa-4x {
	display: block;
	margin-bottom: 4rem;
}

.card-block {
  padding: 1.25rem;
}

.card-title {
	margin-top: 0.75rem;
  margin-bottom: .75rem;
}

.card-title.m-b {
	margin-bottom: 1.8rem;
}

.card-subtitle {
  margin-top: -.375rem;
  margin-bottom: 0;
}

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

.card-link:hover, .card-link:focus {
  text-decoration: none;
}

.card-link + .card-link {
  margin-left: 1.25rem;
}

.card > .list-group:first-child .list-group-item:first-child {
  border-radius: .25rem .25rem 0 0;
}

.card > .list-group:last-child .list-group-item:last-child {
  border-radius: 0 0 .25rem .25rem;
}

.card-header {
  padding: .75rem 1.25rem;
  background-color: #f5f5f5;
  border-bottom: 1px solid #e5e5e5;
}

.card-header:first-child {
  border-radius: .25rem .25rem 0 0;
}

.card-footer {
  padding: .75rem 1.25rem;
  background-color: #f5f5f5;
  border-top: 1px solid #e5e5e5;
}

.card-footer:last-child {
  border-radius: 0 0 .25rem .25rem;
}

.card-primary {
  background-color: #0275d8;
  border-color: #0275d8;
}

.card-success {
  background-color: #5cb85c;
  border-color: #5cb85c;
}

.card-info {
  background-color: #5bc0de;
  border-color: #5bc0de;
}

.card-warning {
  background-color: #f0ad4e;
  border-color: #f0ad4e;
}

.card-danger {
  background-color: #d9534f;
  border-color: #d9534f;
}

.card-primary-outline {
  background-color: transparent;
  border-color: #0275d8;
}

.card-secondary-outline {
  background-color: transparent;
  border-color: #ccc;
}

.card-info-outline {
  background-color: transparent;
  border-color: #5bc0de;
}

.card-success-outline {
  background-color: transparent;
  border-color: #5cb85c;
}

.card-warning-outline {
  background-color: transparent;
  border-color: #f0ad4e;
}

.card-danger-outline {
  background-color: transparent;
  border-color: #d9534f;
}

.card-inverse .card-header,
.card-inverse .card-footer {
  border-bottom: 1px solid rgba(255, 255, 255, .2);
}

.card-inverse .card-header,
.card-inverse .card-footer,
.card-inverse .card-title,
.card-inverse .card-blockquote {
  color: #fff;
}

.card-inverse .card-link,
.card-inverse .card-text,
.card-inverse .card-blockquote > footer {
  color: rgba(255, 255, 255, .65);
}

.card-inverse .card-link:focus, .card-inverse .card-link:hover {
  color: #fff;
}

.card-blockquote {
  padding: 0;
  margin-bottom: 0;
  border-left: 0;
}

.card-img {
  border-radius: .25rem;
}

.card-img-overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 1.25rem;
}

.card-img-top {
  border-radius: .25rem .25rem 0 0;
  width: 100%;
}

.card-img-bottom {
  border-radius: 0 0 .25rem .25rem;
}

.notice {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.notice-body {
	display: block;
	margin: 2rem;
	padding: 1rem 2rem 2rem;
	background: rgba(255, 255, 255, .75);
	border-radius: .5rem;
	position: relative;
}

.notice-body .close {
	position: absolute;
	top: 1rem;
	right: 1rem;
}

@media (min-width: 992px) and (max-width: 1199px) {
	.col-md-4 .card .bg-filter, .sp-slide .bg-filter {
		padding: 2rem;
	}
	
	.col-md-4 .card .bg-filter .fa, .sp-slide .bg-filter .fa-4x {
		margin-bottom: 2rem;
		font-size: 3rem;
	}
}

@media (max-width: 1024px) {
	.bg-top .bg-filter {
	/*	width: 70%;
		left: 15%;*/
	}
}

@media (max-width: 991px) {
	.bg-top .bg-filter {
		/*width: 430px;*/
		width: calc(100% - 6rem);
	}
	
	.card.m-b-plus {
		margin-bottom: 1.5rem;
	}
}

@media (max-width: 878px) {
	.bg-top .bg-filter {
	/*	width: 80%;
		left: 10%;*/
	}
}

@media (max-width: 767px) {
	.bg-top .bg-filter {
		width: 100%;
		margin: 0;
		top: auto;
		bottom: 0;
		left: 0;
	}
	
	.navbar-collapse {
		background-color: #fafafa;
	}

	h1, .bg-top .bg-filter h1 {
		font-size: 24px;
	}
	
	h2 {
		font-size: 20px;
	}
	
	.border-wide {
		border-width: 8px;
	}
}

@media (min-width: 544px) {
  .card-deck {
    display: table;
    table-layout: fixed;
    border-spacing: 1.25rem 0;
  }
  .card-deck .card {
    display: table-cell;
    width: 1%;
    vertical-align: top;
  }
  .card-deck-wrapper {
    margin-right: -1.25rem;
    margin-left: -1.25rem;
  }
}

@media (min-width: 544px) {
  .card-group {
    display: table;
    width: 100%;
    table-layout: fixed;
  }
  .card-group .card {
    display: table-cell;
    vertical-align: top;
  }
  .card-group .card + .card {
    margin-left: 0;
    border-left: 0;
  }
  .card-group .card:first-child {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .card-group .card:first-child .card-img-top {
    border-top-right-radius: 0;
  }
  .card-group .card:first-child .card-img-bottom {
    border-bottom-right-radius: 0;
  }
  .card-group .card:last-child {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .card-group .card:last-child .card-img-top {
    border-top-left-radius: 0;
  }
  .card-group .card:last-child .card-img-bottom {
    border-bottom-left-radius: 0;
  }
  .card-group .card:not(:first-child):not(:last-child) {
    border-radius: 0;
  }
  .card-group .card:not(:first-child):not(:last-child) .card-img-top,
  .card-group .card:not(:first-child):not(:last-child) .card-img-bottom {
    border-radius: 0;
  }
}

@media (min-width: 544px) {
  .card-columns {
    -webkit-column-count: 3;
       -moz-column-count: 3;
            column-count: 3;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
  }
  .card-columns .card {
    display: inline-block;
    width: 100%;
  }
}

@media (min-width: 768px) {
	.notice {
		align-items: end;
		text-align: center;
	}
	
	.notice .title {
		font-size: 32px;
	}
}

@media (min-width: 992px) {
	.notice {
		align-items: center;
	}
}

@media (min-width: 1200px) {
	.col-md-4 .card .bg-filter .fa, .sp-slide .bg-filter .fa-4x {
		margin-bottom: 1.8rem;
	}
	
	.dl-horizontal.m-l-lg dt {
		width: 200px;
	}
	
	.dl-horizontal.m-l-lg dd {
		margin-left: 220px;
	}
}

@media (max-width: 543px) {
	.sp-slide .bg-filter {
		padding: 2rem;
	}
	
	.sp-slide .bg-filter .fa-4x {
		display: none;
	}
}

@media (max-width: 514px) {
	.bg-top .bg-filter {
		width: 100%;
		margin-top: auto;
		top: auto;
		bottom: 0;
		left: 0;
	}
}

@media (max-width: 400px) {
	.col-md-4 .card .bg-filter {
		padding: 2rem;
	}
	
	.col-md-4 .card .bg-filter .fa {
		margin-bottom: 2rem;
		font-size: 3rem;
	}
}

@media (max-width: 374px) {
	.card .bg-filter, .sp-slide .bg-filter {
		font-size: 1rem;
	}
}
