@charset "utf-8";

/*----------------------------------------------------------
   normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css
----------------------------------------------------------*/
/* Document */
html { line-height: 1.15; -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%;}

/* Sections */
body { margin: 0;}
article,aside,footer,header,nav,section { display: block;}
h1 { font-size: 2em; margin: 0.67em 0;}

/* Grouping content */
figcaption,figure,main { display: block;}
figure { margin: 1em 40px;}
hr { box-sizing: content-box; height: 0; overflow: visible;}
pre { font-family: monospace,monospace; font-size: 1em;}

/* Text-level semantics */
a { background-color: transparent; -webkit-text-decoration-skip: objects;}
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted;}
b,strong { font-weight: inherit;}
code,kbd,samp { font-family: monospace,monospace; font-size: 1em;}
dfn { font-style: italic;}
mark { background-color: #ff0; color: #000;}
small { font-size: 80%;}
sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub { bottom: -0.25em;}
sup { top: -0.5em;}

/* Embedded content */
audio,video { display: inline-block;}
audio:not([controls]) { display: none; height: 0;}
img { border-style: none;}
svg:not(:root) { overflow: hidden;}

/* Forms */
button,input,optgroup,select,textarea { font-family: sans-serif; font-size: 100%; line-height: 1.15; margin: 0;}
button,input { overflow: visible;}
button,select { text-transform: none;}
button,html[type="button"],[type="reset"],[type="submit"] { -webkit-appearance: button;}
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner { border-style: none; padding: 0;}
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring { outline: 1px dotted ButtonText;}
fieldset { padding: 0.35em 0.75em 0.625em;}
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal;}
progress { display: inline-block; vertical-align: baseline;}
textarea { overflow: auto;}
[type="checkbox"],[type="radio"] { box-sizing: border-box; padding: 0;}
[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button { height: auto;}
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit;}

/* Interactive */
details,menu { display: block;}
summary { display: list-item;}

/* Scripting */
canvas { display: inline-block;}
template { display: none;}

/* Hidden */
[hidden] { display: none;}

/* reset
----------------------------------------------------------*/
h1, h2, h3, dl, dt, dd, ul, ol, li, p, table, th, td { margin: 0; padding: 0; font-size: 100%;}
h1, h2, h3, h4, h5, h6 { font-weight: 700;}
li { list-style: none;}
figure { margin: 0;}
img { vertical-align: top;}
table { border-collapse: collapse; border-spacing: 0;}
button { margin: 0; padding: 0; border: 0; outline: none; background: transparent; box-shadow: 0 0 0 0 transparent; cursor: pointer;}
::-moz-selection,
::selection { background: black; color: #fff;}

/*----------------------------------------------------------
   base
----------------------------------------------------------*/
html {
	position: relative;
	font-family: "Noto Sans JP", Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Roboto, "Droid Sans", "Yu Gothic", YuGothic, "\30E1\30A4\30EA\30AA", Meiryo, "\30D2\30E9\30AE\30CE\89D2\30B4 ProN W3", "Hiragino Kaku Gothic ProN", "\FF2D\FF33 \FF30\30B4\30B7\30C3\30AF", sans-serif;
	-webkit-font-smoothing: antialiased;
}
body {
	position: relative;
	background-color: #fff;
	color: #000;
	font-size: 16px;
	line-height: 2;
	text-align: center;
	-webkit-tap-highlight-color: transparent;
}
input,
select {
	font-size: 16px;
}
a {
	display: inline-block;
	color: inherit;
	text-decoration: none;
	outline: none;
	opacity: 1;
	transition: all .3s;
	backface-visibility: hidden;
}
a::after,
a::before {
	transition: all .3s;
}
a.is-touch { opacity: .8;}
a img {
	vertical-align: top;
	background-color: rgba(255, 255, 255, .01);
}
#sp-flg {
	display: block;
	width: 0;
	height: 0;
	font-size: 0;
	line-height: 0;
}
.sp-show { display: block;}
.pc-show { display: none;}
.noscript-text { padding: 1em;}

@media screen and (max-width: 374px) {
	body { font-size: 4.267vw;}
}
@media screen and (min-width: 768px) {
	#sp-flg { display: none;}
	.sp-show { display: none;}
	.pc-show { display: block;}
}

/* loading
----------------------------------------------------------*/
#loading { z-index: 9999; position: fixed; top: 0; right: 0; bottom: 0; left: 0; height: 100%; background-color: #fff; visibility: visible; opacity: 1; transition: visibility 1s linear, opacity 1s cubic-bezier(.4, 0, .2, 1);}
#loading #loadingSpinner { position: relative; top: 50%; left: 50%; margin: -10px 0 0 -10px;}
.is-loaded #loading { visibility: hidden; opacity: 0;}
.is-loaded #loading #loadingSpinner { display: none;}

/* spinner */
.spinner { position: relative; width: 20px; height: 20px;}
.spinner .spinner_blade { position: absolute; top: 37%; left: 44.5%; width: 10%; height: 25%; background-color: #8c8c8c; border-radius: 50% / 20%; -webkit-animation: spinner_blade__fade 1s linear infinite; animation: spinner_blade__fade 1s linear infinite; -webkit-animation-play-state: running; animation-play-state: running;}
.spinner .spinner_blade:nth-child(1) { -webkit-transform: rotate(30deg) translate(0, -150%); transform: rotate(30deg) translate(0, -150%); -webkit-animation-delay: -1.66667s; animation-delay: -1.66667s;}
.spinner .spinner_blade:nth-child(2) { -webkit-transform: rotate(60deg) translate(0, -150%); transform: rotate(60deg) translate(0, -150%); -webkit-animation-delay: -1.58333s; animation-delay: -1.58333s;}
.spinner .spinner_blade:nth-child(3) { -webkit-transform: rotate(90deg) translate(0, -150%); transform: rotate(90deg) translate(0, -150%); -webkit-animation-delay: -1.5s; animation-delay: -1.5s;}
.spinner .spinner_blade:nth-child(4) { -webkit-transform: rotate(120deg) translate(0, -150%); transform: rotate(120deg) translate(0, -150%); -webkit-animation-delay: -1.41667s; animation-delay: -1.41667s;}
.spinner .spinner_blade:nth-child(5) { -webkit-transform: rotate(150deg) translate(0, -150%); transform: rotate(150deg) translate(0, -150%); -webkit-animation-delay: -1.33333s; animation-delay: -1.33333s;}
.spinner .spinner_blade:nth-child(6) { -webkit-transform: rotate(180deg) translate(0, -150%); transform: rotate(180deg) translate(0, -150%); -webkit-animation-delay: -1.25s; animation-delay: -1.25s;}
.spinner .spinner_blade:nth-child(7) { -webkit-transform: rotate(210deg) translate(0, -150%); transform: rotate(210deg) translate(0, -150%); -webkit-animation-delay: -1.16667s; animation-delay: -1.16667s;}
.spinner .spinner_blade:nth-child(8) { -webkit-transform: rotate(240deg) translate(0, -150%); transform: rotate(240deg) translate(0, -150%); -webkit-animation-delay: -1.08333s; animation-delay: -1.08333s;}
.spinner .spinner_blade:nth-child(9) { -webkit-transform: rotate(270deg) translate(0, -150%); transform: rotate(270deg) translate(0, -150%); -webkit-animation-delay: -1s; animation-delay: -1s;}
.spinner .spinner_blade:nth-child(10) { -webkit-transform: rotate(300deg) translate(0, -150%); transform: rotate(300deg) translate(0, -150%); -webkit-animation-delay: -.91667s; animation-delay: -.91667s;}
.spinner .spinner_blade:nth-child(11) { -webkit-transform: rotate(330deg) translate(0, -150%); transform: rotate(330deg) translate(0, -150%); -webkit-animation-delay: -.83333s; animation-delay: -.83333s;}
.spinner .spinner_blade:nth-child(12) { -webkit-transform: rotate(360deg) translate(0, -150%); transform: rotate(360deg) translate(0, -150%); -webkit-animation-delay: -.75s; animation-delay: -.75s;}

/*----------------------------------------------------------
   module
----------------------------------------------------------*/
img { width: 100%; height: auto;}

.skip { position: absolute; left: -9999px;}
.left { float: left;}
.right { float: right;}
.clear { clear: both;}
.cf::after { clear: both; content: ''; display: block;}
.txtr { text-align: right;}
.txtc { text-align: center;}

.sp01 { margin-top: .5em;}
.sp02 { margin-top: 1em;}
.sp03 { margin-top: 1.5em;}
.sp04 { margin-top: 2em;}
.sp05 { margin-top: 2.5em;}

/* block
----------------------------------------------------------*/
.grid {
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-ms-flex-align: stretch;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
	align-items: stretch;
}
.grid.col2>li,
.grid.col3>li {
	width: 100%;
}

@media screen and (min-width: 768px) {
	.inrB .grid.col2>li {
		width: 48.589%;
	}
	.inrB .grid.col3>li {
		width: 48.589%;
	}
	.grid.col3::after {
		display: block;
		content: "";
		width: 48.589%;
	}
}
@media screen and (min-width: 959px) {
	.inrB .grid.col2>li {
		width: 48.589%;
	}
	.inrB .grid.col3>li {
		width: 31.452%;
	}
	.grid.col3::after {
		display: block;
		content: "";
		width: 31.452%;
	}
}

/* title
----------------------------------------------------------*/
.title {
	padding-top: 32px;
	color: #30b6c0;
	font-size: 162.5%;
	line-height: 1.8;
	font-weight: bold;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.title {
		padding-top: 68px;
		font-size: 212.5%;
	}
}

/* link
----------------------------------------------------------*/
a.link_txt,
a .link_txt {
	position: relative;
	display: inline-block;
}
a.link_txt::after,
a .link_txt::after {
	content: '';
	position: absolute;
	bottom: .3em;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
	opacity: 1;
}
a.link_txt.is-touch::after,
a.is-touch .link_txt::after {
	opacity: 0;
}

/* etc
----------------------------------------------------------*/
.action_block .grid {
	-ms-flex-direction: row-reverse;
	-webkit-box-direction: reverse;
	-webkit-box-orient: horizontal;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.action_block li {
	width: 100%;
}
.action_block li+li {
	margin-top: 28px;
}
.action_block li a {
	width: 100%;
	height: 68px;
	border-radius: 10px;
	color: #fff;
	line-height: 68px;
	font-weight: bold;
	text-align: center;
}
.action_block .register a {
	background-color: #f23d73;
}
.action_block .login a {
	background-color: #30b6c0;
}

@media screen and (min-width: 768px) {
	.action_block ul {
		max-width: 748px;
		margin: 0 auto;
	}
	.action_block li {
		width: 48.128%;
	}
	.action_block li+li {
		margin-top: 0;
	}
}

/*----------------------------------------------------------
   common layout
----------------------------------------------------------*/
#l-wrap {
	overflow: hidden;
}
.section {
	display: block;
}
.section::after {
	clear: both;
	content: '';
	display: block;
}
.inner {
	position: relative;
	max-width: 1100px;
	width: calc(100% - 56px);
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
	text-align: left;
}
.inner.inrA {
	max-width: none;
	width: 100%;
}
.inner * {
	box-sizing: border-box;
}

@media screen and (min-width: 768px) {
	.inner {
		width: calc(100% - 8.333%);
	}
	.inner.inrB {
		max-width: 990px;
		width: calc(100% - 17.5%);
	}
}

/*----------------------------------------------------------
   header
----------------------------------------------------------*/
#hdWrap {
	z-index: 50;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	background-color: #fff;
}
#hdLogo {
	transition: all .3s;
}
#hdLogo img {
	width: 104px;
	height: 25px;
}
#hdPersol {
	position: absolute;
	top: 11px;
	right: 3px;
	transition: all .3s;
}
#hdPersol img {
	width: 35px;
	height: 39px;
}
#hdAction {
	z-index: 600;
	position: absolute;
	top: 14px;
	right: 0;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}
#hdAction.is-active {
	visibility: visible;
	opacity: 1;
	transition: all .3s;
}
#hdAction li {
	float: right;
	margin-left: 20px;
	font-weight: bold;
}
#hdAction li a {
	height: 32px;
	line-height: 32px;
}
#hdAction li.register a {
	background-color: #f23d73;
	color: #fff;
	text-align: center;
}
#hdAction li a span {
	display: none;
}
#hdWrap.is-active #hdLogo,
#hdWrap.is-active #hdPersol {
	visibility: hidden;
	opacity: 0;
}
#hdWrap.is-active #hdAction {
	visibility: visible;
	opacity: 1;
}

@media screen and (min-width: 480px) {
	#hdWrap.is-active #hdLogo {
		visibility: visible;
		opacity: 1;
	}
}
@media screen and (max-width: 958px) {
	#hdWrap .inner {
		width: calc(100% - 28px);
	}
	#hdLogo {
		padding: 18px 0 0 56px;
	}
	#hdBtn {
		z-index: 550;
		position: absolute;
		top: 15px;
		left: 3px;
		width: 30px;
		height: 30px;
		cursor: pointer;
	}
	#hdBtn::before,
	#hdBtn::after,
	#hdBtn span {
		position: absolute;
		top: calc(50% - 1px);
		right: 0;
		display: block;
		width: 30px;
		height: 2px;
		border-radius: 1px;
		background-color: #444;
	}
	#hdBtn::before {
		content: '';
		margin-top: -10px;
	}
	#hdBtn::after {
		content: '';
		margin-top: 10px;
	}
	#hdBtn span {
		overflow: hidden;
		text-indent: 100%;
	}
	#hdBtn.is-active::before {
		background-color: #fff;
		transform: translate(0, 10px) rotate(45deg);
	}
	#hdBtn.is-active::after {
		background-color: #fff;
		transform: translate(0, -9px) rotate(-45deg);
	}
	#hdBtn.is-active span {
		display: none;
	}
	#hdMenu {
		z-index: 2;
		overflow-y: auto;
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: #30B6C0;
		color: #fff;
		visibility: hidden;
		opacity: 0;
		transition: visibility .3s linear 0s, opacity .3s cubic-bezier(.4, 0, .2, 1);
		transform: translate3d(0, 0, 0);
		-webkit-overflow-scrolling: touch;
	}
	#hdMenu.is-active {
		z-index: 502;
		visibility: visible;
		opacity: 1;
		transition-delay: 0s;
	}
	#hdMenu ul {
		margin-top: calc(50vh - 60px);
		transform: translateY(-50%);
	}
	#hdMenu ul li {
		font-size: 162.5%;
		font-weight: bold;
		text-align: center;
	}
	#hdAction li {
		margin-left: 20px;
	}
	#hdAction li.register a {
		width: 123px;
		border-radius: 6px;
	}
	#hdAction.is-active li.login a {
		color: #fff;
	}
}
@media screen and (min-width: 959px) {
	#hdLogo {
		padding: 18px 0 0;
	}
	#hdMenu {
		position: absolute;
		top: 18px;
		left: 126px;
		width: 600px;
	}
	#hdMenu li {
		float: left;
		margin-right: 23px;
		font-weight: bold;
	}
	#hdAction li {
		margin-left: 20px;
	}
	#hdAction li.register a {
		width: 123px;
		border-radius: 10px;
	}
	#hdAction li.login a {
		padding-top: .5em;
		line-height: 1.5;
	}
}
@media screen and (min-width: 1200px) {
	#hdAction li a span {
		display: inline;
	}
	#hdAction li.register a {
		width: 180px;
	}
}

/*----------------------------------------------------------
   main
----------------------------------------------------------*/
main {
	z-index: 1;
	position: relative;
	padding-top: 60px;
}

/* voice
----------------------------------------------------------*/
#voice {
	padding-bottom: 8px;
}
#voice .block {
	margin: 30px 3px 0;
}
#voice li {
	position: relative;
	margin-bottom: 35px;
	border-radius: 6px;
	box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);
	background-color: #fff;
}
#voice li .image {
	overflow: hidden;
	border-radius: 6px 6px 0 0;
}
#voice li .text {
	padding: 1.25em 28px 60px;
}
#voice li .text p.user {
	margin-top: 1em;
	font-size: 87.5%;
	line-height: 1.86;
}
#voice li .text p.link_txt {
	position: absolute;
	right: 28px;
	bottom: 18px;
	font-weight: bold;
}
a.text_link {
	color: #30B6C0;
	text-decoration-line : underline;
	display: inline;
}

@media screen and (min-width: 768px) {
	#voice {
		padding-bottom: 58px;
	}
	#voice .block {
		margin: 68px 0 0;
	}
	#voice li {
		margin-bottom: 28px;
	}
	#voice li .image {
		position: relative;
		height: 180px;
	}
	#voice li .image img {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	#voice li .text {
		padding-bottom: 75px;
	}
	#voice li .text p.link_txt {
		bottom: 25px;
	}
}
#media li .text p.user {
	margin-top: 1em;
	font-size: 87.5%;
	line-height: 1.86;
	margin-bottom: 28px;
}
#media li .text p.link_txt {
	position: absolute;
	right: 28px;
	bottom: 18px;
	font-weight: bold;
}

/*----------------------------------------------------------
   footer
----------------------------------------------------------*/
#ftContact {
	padding: 37px 0 37px 0;
}
#ftContact_case {
	padding: 37px 0 37px 0;
}
#ftContact .logo img {
	display: block;
	margin: 0 auto;
	width: 220px;
}
#ftContact_case .logo img {
	display: block;
	margin: 0 auto;
	width: 220px;
}
#ftContact p.catch {
	margin-top: 32px;
	font-weight: bold;
	text-align: center;
}
#ftContact_case p.catch {
	margin-top: 32px;
	font-weight: bold;
	text-align: center;
}
#ftContact .action_block {
	margin-top: 35px;
}
#ftContact_case .action_block {
	margin-top: 35px;
}
#ftContact .contact {
	margin-top: 1.25em;
	font-weight: bold;
	text-align: center;
}
#ftContact_case .contact {
	margin-top: 1.25em;
	font-weight: bold;
	text-align: center;
}

#ftMenu {
	padding-bottom: 38px;
	border-top: 1px solid #d3d3d3;
	color: #666;
}
#ftMenu ul {
	padding: 11px 0 13px;
	letter-spacing: -.36em;
	text-align: center;
}
#ftMenu li {
	position: relative;
	display: inline-block;
	font-size: 81.3%;
	letter-spacing: 0;
}
#ftMenu li + li {
	margin-left: 1em;
	padding-left: 1em;
}
#ftMenu li + li::before {
	position: absolute;
	top: 50%;
	left: 0;
	content: '';
	display: block;
	width: 1px;
	height: 1em;
	margin-top: -.5em;
	background-color: #666;
}
#ftMenu #ftPrivacy {
	margin: 0 22px;
	color: #666;
	font-size: 71.4%;
	line-height: 2.2;
	text-align: center;
}
#ftMenu #ftPersol {
	margin-top: 21px;
	line-height: 1;
	text-align: center;
}
#ftMenu #ftPersol img {
	width: 55px;
	height: 61px;
}

#ftCopyright {
	padding: 15px 0 80px;
	background-color: #99999a;
	color: #fff;
	font-size: 71.4%;
	line-height: 2;
}

#ftContainer {
	background-color: #99999a;
	height: 231px;
	width: 100vw;
}

#ftLogo {
	width: 100vw;
	margin-top: 180px;
	position: absolute;
	z-index: 1000;
}

#ftLinks {
	color: #fff;
	font-size: 78%;
	margin: 0px 24px;
	padding-top: 20px;
}

#totop {
	z-index: 30;
	position: fixed;
	right: 20px;
	padding-right: 13px;
	bottom: 20px;
}
#totop a {
	display: block;
	text-indent: -9999px;
	width: 5.33vw;
	height: 5.33vw;
	min-width: 40px;
	min-height: 40px;
	max-width: 64px;
	max-height: 64px;
	background: url('../images/ico_totop.svg') no-repeat 50% 50%;
	background-size: 100% auto;
	opacity: .8;
}
#totop a.is-touch {
	opacity: .65;
}
@media screen and (min-width: 480px) and (max-width: 767px) {
	#totop {
		right: 4.16vw;
	}
}
@media screen and (min-width: 768px) {
	#ftContact {
		padding: 78px 0 78px 0;
	}
	#ftContact_case {
		padding: 78px 0 78px 0;
		background-color: #f0f3f5;
	}
	#ftContact .logo img {
		width: 360px;
	}
	#ftContact_case .logo img {
		width: 360px;
	}
	#ftContact .contact {
		margin-top: 20px;
	}
	#ftContact_case .contact {
		margin-top: 20px;
	}

	#ftMenu {
		padding-bottom: 16px;
	}
	#ftMenu ul {
		padding: 17px 0 3px;
	}
	#ftMenu li {
		font-size: 100%;
	}
	#ftMenu #ftPrivacy {
		font-size: 75%;
	}
	#ftMenu #ftPrivacy a {
		display: inline-block;
		width: 60px;
		margin: 0 28px 0 0;
		vertical-align: middle;
	}
	#ftMenu #ftPersol {
		position: absolute;
		top: 38px;
		right: -5px;
		margin-top: 0;
	}
	#ftMenu #ftPersol img {
		width: 58px;
		height: 65px;
		margin-right: 10px;
	}
	#ftCopyright {
		padding: 15px 0 62px;
		font-size: 87.5%;
	}
	#ftCopyright span {
		padding-left: 1.5em;
		font-size: 85.7%;
	}
	#ftContainer {
		background-color: #99999a;
		height: 104px;
		width: 100vw;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	#ftLogo {
		left: 0px;
		width: fit-content;
		margin: 33px 133px;
		position: absolute;
		z-index: 1000;
	}
	
	#ftLinks {
		color: #fff;
		font-size: 100%;
		line-height: 2;
		margin-top: -10px;
		padding: 10px;
		text-align: center;
		margin: 0px 56px;
	}
	
	#totop {
		padding-right: 0;
		bottom: 20px;
	}
}
@media screen and (min-width: 768px) and (max-width: 959px) {
	#ftContact h3 {
		font-size: 2.91vw;
	}
	#ftContact_case h3 {
		font-size: 2.91vw;
	}
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
	#ftContainer {
		background-color: #99999a;
		height: 231px;
		width: 100vw;
	}

	#ftLogo {
		width: 100vw;
		margin: 0px 0px;
		margin-top: 180px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	#ftLinks {
		color: #fff;
		margin: 0px 24px 170px 24px;
		padding-top: 20px;
	}
}

/*----------------------------------------------------------
   js
----------------------------------------------------------*/
/* modal_video
----------------------------------------------------------*/
#modal_overlay {
	z-index: 999;
	position: fixed;
	display: none;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.8);
}
.modal_video {
	z-index: 1000;
	position: fixed;
	display: none;
	top: 50%;
	left: 50%;
	max-width: 940px;
	width: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.modal_video .movie {
	position: relative;
}
.modal_video .movie iframe {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.modal_video .movie::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.modal_video .btn_close {
	position: absolute;
	text-indent: -9999px;
	display: block;
	top: -35px;
	right: 0;
	width: 35px;
	height: 35px;
	transition: all .3s;
}
.modal_video .btn_close:before,
.modal_video .btn_close:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	height: 2px;
	background: #fff;
	border-radius: 5px;
}
.modal_video .btn_close:before {
	transform: rotate(45deg);
}
.modal_video .btn_close:after {
	transform: rotate(-45deg);
}
.modal_video .btn_close:hover {
	opacity: .8;
}

/* fade
----------------------------------------------------------*/
.js-fade {
	opacity: 0;
	transform: translateY(50px);
	transition: all .8s;
}
.js-fade.is-active {
	opacity: 1;
	transform: translateY(0);
}

/* setBgImg
----------------------------------------------------------*/
.js-setBgImg {
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
}
.js-setBgImg>img {
	display: none;
}

/*----------------------------------------------------------
   keyframes
----------------------------------------------------------*/
@-webkit-keyframes spinner_blade__fade {
	0% { opacity: .85;}
	50% { opacity: .25;}
	100% { opacity: .25;}
}
@keyframes spinner_blade__fade {
	0% { opacity: .85;}
	50% { opacity: .25;}
	100% { opacity: .25;}
}
@-webkit-keyframes show {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
@keyframes show {
	0% { opacity: 0;}
	100% { opacity: 1;}
}
@-webkit-keyframes hide {
	0% { opacity: 1;}
	100% { opacity: 0;}
}
@keyframes hide {
	0% { opacity: 1;}
	100% { opacity: 0;}
}
