@charset "utf-8";

/*------------------------------------------------------------
--------------------------------------------------------------


--------------------------------------------------------------
--------------------------------------------------------------*/

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

共通

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.inner {
	overflow: hidden;
}

.list_dots li {
	position: relative;
	padding-left: 1.6em;
}

.list_dots li:before {
	position: absolute;
	top: 7px;
	left: 10px;
	content: '';
	display: block;
	width: 4px;
	height: 4px;
	background: #2C639F;
	border-radius: 50%;
}

.underline {
	background: -webkit-linear-gradient(top, transparent 0%, transparent 70%, #ffd999 70%);
	background: linear-gradient(to bottom, transparent 0%, transparent 70%, #ffd999 70%);
}

#wrapper {
	overflow: hidden;
}

h1 a:hover img {
	opacity: 1;
}

.mt_hosoku {
	margin-top: 20px;
	display: block;
}

/*------------------------------------------------------------
h2
------------------------------------------------------------*/

.h2box {
	text-align: center;
}

h2 {
	position: relative;
	color: #2C639F;
	font-weight: 700;
	padding: 0 10px;
	letter-spacing: 2px;
	display: inline-block;
	border-bottom: 2px solid #2C639F;
}

h2 span {
	display: block;
	position: absolute;
	width: 100%;
	bottom: -30px;
	left: 0;
	text-align: center;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: 400;
}

#under .h2box {
	background: #2C639F;
}

#under .h2box h2 {
	color: #fff;
	border-bottom: 2px solid #fff;
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

header

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	overflow: hidden;
	border-bottom: 2px solid #2C639F;
	z-index: 1000;
	background: #fff;
}

header h1 {
	float: left;
	width: 13%;
}

header li a span:first-of-type {
	position: relative;
	padding-left: 6px;
	color: #2C639F;
	font-weight: bold;
	display: inline-block;
}

header li a span:first-of-type:before {
	content: "";
	display: block;
	position: absolute;
	top: 6px;
	left: -2px;
	width: 6px;
	height: 6px;
	border: 2px solid #2C639F;
	border-radius: 50%;
}

/*------------------------------------------------------------
■ nav
------------------------------------------------------------*/
.slicknav_menu {
	display:none;
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

mv

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#mv {
	position: relative;
	background: url(../images/mv.jpg) center center no-repeat;
	background-size: cover;
	overflow: hidden;
}

#mv .blur {
	position: relative;
	left: auto;
	top: auto;
	animation: dash-skew 6s ease-in-out;
	z-index: 9;
}

#mv .blur:before {
	content: '';
	position: absolute;
	top: 0;
	left: -5%;
	display: block;
	width: 110%;
	height: 100%;
	background: rgba(255,255,255,0.7);
	z-index: 10;
	animation: dash 6s cubic-bezier(0.64, -0.36, 0.1, 1);
	-webkit-box-shadow: 0px 0px 20px 20px rgba(255,255,255,0.7);
	-moz-box-shadow: 0px 0px 20px 20px rgba(255,255,255,0.7);
	box-shadow: 0px 0px 20px 20px rgba(255,255,255,0.7);
	z-index: 10;
}

@keyframes dash {
	0%, 10% {
		opacity: 0;
		transform: translateX(-100%) skewX(0deg);
	}
	10%, 15% {
		transform: translateX(-100%) skewX(0deg);
		opacity: 1
	}

	85%, 90% {
		transform: translateX(0%) skewX(20deg);
		opacity: 1
	}
	100% {
		transform: translateX(0%) skewX(0deg);
		opacity: 1
	}
}

/*このアニメーションを消すとshadowに変な線が入るため消さない！！*/
@keyframes dash-skew {
	from {transform: none;}
	to {transform: none;}
}

#mv .catch {
	position: relative;
	padding: 40px 0;
	z-index: 100;
	animation: appear 2s 5s both ease;
}

@keyframes appear {
	from{ opacity: 0;}
	to{opacity: 1;}
}

#mv .catch p {
	text-align: center;
}

#mv .catch .en {
	font-weight: bold;
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

service

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#service {
	position: relative;
	overflow: hidden;
	background: #d7e5f5 url(../images/service_bg.svg) center bottom 21px repeat-x;
	background-size: 900px 71px;
	padding: 60px 0 90px;
}

#service .inner {
	position: relative;
	z-index: 10;
}

#myCanvas {
	position: absolute;
	top: 0;
	left: 50%;
	width: 100%;
	width: 2200px;
	z-index: 9;
	max-width: 2200px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

#service .content_box div {
	border: 1px solid #2C639F;
	background: rgba(255,255,255,0.41);
}

#service .content_box {
	display: flex;
}

#service .content_box div {
	border: 1px solid #2C639F;
}

#service .other h3:after {
	content: '';
	position: absolute;
	display: block;
	top: 50%;
	left: 10px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	background: #fff;
}

#service .content_box h3 {
	color: #fff;
	background: #E0961B;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	width: 100%;
}

#service .other h3 {
	position: relative;
	padding: 6px 0 6px 22px;
	background: #2C639F;
	color: #fff;
	text-align: center;
}

/*for ie*/

:root #service .content_box { overflow: hidden\0; }
@media all and (-ms-high-contrast:none){
:root #service .content_box { overflow: hidden\0; }
}

:root #service .main_service { float: left\0; }
@media all and (-ms-high-contrast:none){
:root #service .main_service { float: left\0; }
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

concept

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#concept {
	position: relative;
	background: url(../images/concept_bg.png) right top no-repeat;
	background-size: contain;
	overflow: hidden;

}

#concept .textbox p {
	text-align: center;
}

#concept .textbox span {
	display: block;
}


#concept img {
	max-width: 520px;
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

character

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#character {
	position: relative;
	background: #e5ebef url(../images/character_bg.png) center center repeat;
}

#character strong {
	font-weight: 500;
}

#character:before {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
	z-index: 10;
}

#character:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #e0961b ;
	z-index: 11;
}

/*character下部 水色の三角形*/
#character .wrap:before {
	display: none;
/*	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent #b3e5ff transparent;
	z-index: 10;*/
}

#character .wrap:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent #e0961b transparent transparent;
	z-index: 11;
}

#character .bg {
	background: #ffe4b7;
}

#character .inner {
	position: relative;
}

#character .inner .catch {
	font-weight: bold;
}

#character .catch {
	text-align: center;
}

#character .character_box p {
	text-align: center;
	width: 100%;
}

#character .character_box .hosoku {
	display: block;
	text-align: right;
	font-size: 1rem;
	font-size: 10px;
	margin-top: 5px;
}

#character .character_box div {
	background: #ffeed2;
	border: 2px solid #fff;
	-webkit-box-shadow: 6px 6px 0px -2px rgba(44,99,159,1);
	-moz-box-shadow: 6px 6px 0px -2px rgba(44,99,159,1);
	box-shadow: 6px 6px 0px -2px rgba(44,99,159,1);
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

outline

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#outline {
	overflow: hidden;
	position: relative;
	background: #b3e5ff url(../images/outline_bg.png) center top no-repeat;
	background-size: cover;
}

#outline table {
	position: relative;
}

#outline th {
	padding: 12px 0 8px;
	text-align: center;
	border-bottom: 1px solid #2c639f;
	font-weight: 500;
}

#outline td {
	padding: 12px 10px 8px 30px;
	border-bottom: 1px solid #fff;
}

#outline .inner {
	position: relative;
}

/*______________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
lightbox
________________________________________
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
*/

#outline .outline_btn {
	position: relative;
	background: #2c639f;
	cursor: pointer;
	border-radius: 4px;
	color: #fff;
	padding: 5px 5px 5px 20px;
	text-align: center;
	transition: 0.5s opacity;
}

#outline .outline_btn:before {
	content: "";
	position: absolute;
	border-top:1px solid #fff;
	border-right:1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#outline .outline_btn:hover {
	opacity: 0.7;
}

.js_display_none {
	display: none;
}

body .featherlight .featherlight-content {
	overflow: inherit;
	background: transparent;
	border: 1px solid #fff;
	padding: 45px;
}
/*背景オーバーレイ*/
body .featherlight {
	background: rgba(44, 99, 159, 0.92) !important;
}

#detail_content li {
	position: relative;
	color: #fff;
	padding-left: 1em;
	font-weight: 100;

}

#detail_content li:not(:last-of-type) {
	margin-bottom: 5px;
}

#detail_content li:before {
	content: "";
	width: 4px;
	height: 4px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 7px;
	left: 0;
}

body .featherlight .featherlight-close-icon {
	top: -25px;
	right: -1px;
	border-top-left-radius: 6px;
	-webkit-border-top-left-radius: 6px;
	-moz-border-radius-topleft: 6px;
	border-top-right-radius: 6px;
	-webkit-border-top-right-radius: 6px;
	-moz-border-radius-topright: 6px;
	color: rgba(44, 99, 159, 0.85);
	background: rgba(255, 255, 255, 0.67);
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

gmap

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
.gmap {
	position: relative;
}

#map_canvas {
	width: 100%;
	height: 500px;
	box-shadow:0px 0px 13px 0px #bdbdbd;
	-moz-box-shadow:0px 0px 13px 0px #bdbdbd;
	-webkit-box-shadow:0px 0px 13px 0px #bdbdbd;
	z-index: 11;
}

#map_canvas2 {
	position: absolute;
	top: 0;
	left: 0;
	width: 500px !important;
	height: 500px  !important;
	z-index: 10;
	display: inline-block;
}

#gmap_link {
	text-align: right;
}

#gmap_link a {
	display: inline-block;
	margin-right: 10px;
	text-decoration: underline;
}

#gmap_link a:hover {
	opacity: .7;
}

/*google map デフォルトの表示を消す*/
#map_canvas2 img.gm-fullscreen-control,
#map_canvas img.gm-fullscreen-control,
#map_canvas2 .gm-style-cc,
#map_canvas .gm-style-cc,
#map_canvas2 .gm-style-mtc,
#map_canvas .gm-style-mtc {
	display: none;
}

#map_canvas2 .g_box a,
#map_canvas .g_box a {
	position: relative;
	display: block;
	background: rgba(44, 99, 159, 0.7);
	border-radius: 4px;
	padding: 5px 1em 5px 2em;
	margin-top: 15px;
	color: #fff;
}

#map_canvas2 .g_box a:before,
#map_canvas .g_box a:before {
	content: "";
	position: absolute;
	top: 11px;
	left: 12px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

privacy

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#privacy p,
#privacy li {
	line-height: 1.9;
}

#privacy .button_frame {
	position: relative;
	display: block;
	width: 300px;
	padding: 10px;
	border: 1px solid #2c639f;
	margin: 0 auto;
	text-align: center;
	color: #2c639f;
	-webkit-transition: 0.7s;
	transition: 0.7s;
}

#privacy .button_frame:before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-top:1px solid #2c639f;
	border-right:1px solid #2c639f;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	right: 10px;
	top: 16px;
	-webkit-transition: 0.7s;
	transition: 0.7s;
}

#privacy .button_frame:hover {
	background: #2c639f;
	color: #fff;
	opacity: 1;
}

#privacy .button_frame:hover:before {
	border-top:1px solid #fff;
	border-right:1px solid #fff;
}

#privacy .block {
	margin-bottom: 20px;
}

#privacy .block:last-of-type {
	margin-bottom: 0;
}

#privacy h3 {
	color: #2c639f;
	font-weight: 500;
	letter-spacing: 2px;
}

#privacy .title_num {
	text-align: center;
	display: inline-block;
	position: relative;
	background: #2c639f;
	color: #fff;
}

#privacy .title_num:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #2c649f;
	position: absolute;

}

#privacy p+ul,
#privacy p+ol {
	margin-top: 20px;
}

#privacy ol {
	counter-reset: li;
	padding-left: 0;
}

#privacy ul li,
#privacy ol li {
	position: relative;
}

#privacy ol li:before {
	content: counter(li);
	counter-increment: li;
	position: absolute;
	top: 0px;
	left: 3px;
	width: 1.5em;
	text-align: left;
}

#privacy .block > ol > li:before {
	color: #2c639f;
	font-weight: bold;
}

#privacy .block > ol > li:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #2c649f;
}

#privacy .has_parent {
	padding: 10px 10px 10px 0;
}

#privacy .has_parent.first {
	border: 1px #2c639f solid;
	padding: 12px 20px 12px 0;
}

#privacy .has_parent.first > li {
	padding-left: 40px;
}

#privacy li p {
	margin-bottom: 5px;
}

#privacy .has_parent.first > li p {
	padding-left: 20px;
}

#privacy .has_parent.first > li:last-of-type {
	padding-left: 20px;
}

#privacy .has_parent.first > li:before {
	content: counter(li) ")";
	letter-spacing: 2px;
	left: 20px;
}

#privacy ul li:before {
	content: "";
	position: absolute;
	border-radius: 50%;
	background: #2c639f;
	width: 4px;
	height: 4px;
}

#privacy .has_parent .has_parent {
	background: #deebfa;
	padding: 15px 10px 10px 0;
}

#privacy .has_parent {
	margin-top: 0;
}

#privacy .info {
	border: 1px solid #2c639f;
	padding: 10px;
	margin-top: 10px;
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

footer

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

footer {
	background: #2c639f;
	text-align: left;
	padding: 20px;
}

footer small,
footer a {
	color: #fff;
}

footer small {
	letter-spacing: 1px;
	margin-right: 20px;
	margin-bottom: 10px;
}

footer .mail {
	position: relative;
	background-size: 15px auto;
	padding-left: 20px;
	display: inline-block;
	font-weight: 100;
}

footer .mail:before,
footer .mail:after {
	content: "";
	position: absolute;
}

footer .mail:before {
	top: 4px;
	left: 0;
	background: #fff;
	width: 15px;
	height: 10px;
	border-radius: 2px;
}

footer .mail:after {
	top: -1px;
	left: 2px;
	width: 11px;
	height: 11px;
	border-right: 1px solid #2c639f;
	border-bottom: 1px solid #2c639f;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

top_button

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

#top_button {
	position: fixed;
	bottom: 10px;
	right: 10px;
	overflow: hidden;
	z-index: 100;
	pointer-events: none;
}

#top_button a {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	background: rgba(224, 150, 27, 0.7);
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 11;
	pointer-events: auto;
}

#top_button a:before,
#top_button a:after {
	content: "";
	position: absolute;
	width: 15px;
	height: 3px;
	background: #fff;
}

#top_button a:before{
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#top_button a:after {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

animation

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

.animation {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 10;
	-webkit-transform: rotate(-10deg);
	transform: rotate(-10deg);
}
.animation img {
	width: 4800px;
	animation: fly_anime 4.8s steps(24) infinite;
}

@keyframes fly_anime {
	to {
		transform: translateX(-100%);
	}
}


/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

リッチスニペット

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#privacy .rich span,
#privacy .rich p,
#privacy .rich {
	line-height: 1.9;
	letter-spacing: 1px;
	font-size: 13px;
}

#privacy .rich p {
	display: inline-block;
}