@charset "UTF-8";

/*@import url('https://fonts.googleapis.com/css?family=Prompt:300,400&display=swap');*/
@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p|Prompt:200,400&display=swap&subset=vietnamese');

/* clearfix
------------------------------------------------------------------------------*/
.block-wrapper::after,
.clearfix:after {
content:'';
display:block;
clear:both;
}


/*
==================================================
共通
==================================================
*/

body {
/*font-family: "Prompt","メイリオ","Meiryo","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Arial","Verdana","sans-serif";*/
/*  font-family: "Prompt","M PLUS 1p", "sans-serif";*/
font-family: vdl-logona, sans-serif;

font-weight: 400;

font-style: normal;
  letter-spacing: -0.01em;
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

a, a:link, a:visited, a:hover, a:active {
  text-decoration: none;
}

h1, h2, h3, h4 {
  margin: 0;
  padding: 0;
  font-weight: normal;
}
img {
  max-width: 100%;
  height: auto;
}
strong {
  font-weight: bold;
}
.center {
  text-align: center;
}
.e-scroll {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.7s;
}
.e-scroll.fadein {
  opacity: 1;
  transform: translate(0, 0);
}

.txt,
.images {
  margin-bottom: 30px;
}

#pattern {
  position: fixed;
  width:100%;
  height:100%;
  z-index: 100;
}
/*
==================================================
共通2
==================================================
*/
.red {
  color: #ff0030;
}
.blue {
	color: #0000ff;
}
.black {
	color: #000;
}
.bold {
	font-weight: bold; 
}
.normal {
	font-weight: normal !important;
}
.bgy {
	background-color: #fff100;
}
.ul {
	text-decoration: underline;
}

.p0 { padding: 0 !important;}
.p5 {padding: 5% 0 !important;}
.p7 {padding: 7% 0 !important;}
.p10 {padding: 10% 0 !important;}

.pb0 { padding-bottom: 0 !important;}
.pb3 { padding-bottom: 3% !important;}
.pb10 { padding-bottom: 10% !important;}
.pb5 { padding-bottom: 5% !important;}

.pt0 { padding-top: 0 !important;}
.pt3 { padding-top: 3% !important;}
.pt5 { padding-top: 5% !important;}
.pt10 { padding-top: 10% !important;}

.mb0 { margin-bottom: 0 !important;}
.mb3 { margin-bottom: 3% !important;}
.mb5 { margin-bottom: 5% !important;}
.mb10 { margin-bottom: 10% !important;}

.mt5 { margin-top: 5% !important;}

/* font */
.f10 { font-size: 50% !important;}
.f12 { font-size: 60% !important;}
.f14 { font-size: 70% !important;}
.f16 { font-size: 80% !important;}
.f18 { font-size: 90% !important;}
.f20 { font-size: 100% !important;}
.f22 { font-size: 110% !important;}
.f24 { font-size: 120% !important;}
.f26 { font-size: 130% !important;}
.f28 { font-size: 140% !important;}
.f30 { font-size: 150% !important;}
.f32 { font-size: 160% !important;}
.f34 { font-size: 170% !important;}
.f36 { font-size: 180% !important;}
.f38 { font-size: 190% !important;}
.f40 { font-size: 200% !important;}
.f42 { font-size: 210% !important;}
.f44 { font-size: 220% !important;}
.f45 { font-size: 225% !important;}
.f48 { font-size: 240% !important;}
.f50 { font-size: 250% !important;}
.f54 { font-size: 270% !important;}
.f58 { font-size: 290% !important;}
.f60 { font-size: 300% !important;}
.f64 { font-size: 320% !important;}
.f68 { font-size: 340% !important;}
.f70 { font-size: 350% !important;}
.f72 { font-size: 360% !important;}

/* header */
.logo a {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}
.logo a::before {
	content:"";
	position: absolute;
	top: 0px;
	left: -160%;
	height: 100%;
	width: 140%;
	background : rgba(255,255,255,0.1);
	transition: all 0.4s;
  transform: skewX(20deg);
}
.logo a:hover::before {
	left:-20%;
}
#sub {
	position: fixed;
  float: left;
  width: 180px;
  height: 100%;
}
nav {
  height: calc(100% - 180px);
  background-color: #111;
}
nav li a {
  overflow: hidden;
  position: relative;
  display: block;
  width: 100%;
  padding: 6px 10px;
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
}
nav li:first-child a {
  padding-top: 20px;
}
nav li:last-child a {
  background-color: #ff0030;
}
nav li span {
  display: table-cell;
  vertical-align: middle;
}
nav li span.icon {
  width: 36px;
}
nav li span.txt {
  padding-left: 10px;
}
nav li span.txt span {
    font-size: 10px;
    font-size: 1rem;
}
nav li a::before {
	content:"";
	display: block;
	position: absolute;
	top: 0px;
	left: -140%;
	height: 100%;
	width: 120%;
	background : rgba(255,255,255,0.2);
	transition: all 0.4s;
  transform: skewX(20deg);
}
nav li a:hover::before {
	left:-10%;
}
/* share */
#share {
  position: absolute;
  top: 20px;
  right: 5%;
  width: 100%;
  z-index: 9999;
}
#share ul {
  font-size: 0;
  text-align: right;
}
#share ul li {
  display: inline-block;
  font-size: 16px;
  font-size: 1.6rem;
  margin-right: 20px;
}
#share ul li:last-child {
  margin-right: 0;
}
#share ul li a {
  display: block;
}
#share ul li img {
  width: auto;
  height: 25px;
}
/* main */
ul#path {
	width: 90%;
	max-width: 960px;
	margin: 0 auto 20px;
	text-align: right;
}
ul#path li {
	display: inline-block;
	font-size: 12px;
	font-size: 1.2rem;
	color: #aaa;
}
ul#path li a {
	color: #aaa;
	text-decoration: underline;
}
ul#path li::before {
	content: '>';
	font-size: 10px;
	margin-right: 5px;
}
ul#path li:first-child::before {
	display: none;
}
.effect > .e-scroll:nth-of-type(2) {
  -moz-transition-delay:100ms;
  -webkit-transition-delay:100ms;
  -o-transition-delay:100ms;
  -ms-transition-delay:100ms;
}
.effect > .e-scroll:nth-of-type(3) {
  -moz-transition-delay:200ms;
  -webkit-transition-delay:200ms;
  -o-transition-delay:200ms;
  -ms-transition-delay:200ms;
}
.effect > .e-scroll:nth-of-type(3) {
  -moz-transition-delay:300ms;
  -webkit-transition-delay:300ms;
  -o-transition-delay:300ms;
  -ms-transition-delay:300ms;
}
.effect > .e-scroll:nth-of-type(4) {
  -moz-transition-delay:400ms;
  -webkit-transition-delay:400ms;
  -o-transition-delay:400ms;
  -ms-transition-delay:400ms;
}
.effect > .e-scroll:nth-of-type(5) {
  -moz-transition-delay:500ms;
  -webkit-transition-delay:500ms;
  -o-transition-delay:500ms;
  -ms-transition-delay:500ms;
}

main {
  position: relative;
  min-height: calc(100vh - 129px);
  padding: 60px 5% 40px;
  background: url("../images/common/bg_main.png") no-repeat fixed center center/cover;
}
.pure-pusher {
	height: 100vh;
}
#main {
  float: right;
  width: calc(100% - 180px);
  height: 100%;
}
article {
  width: 100%;
  max-width: 960px;
  padding: 20px 0 40px;
  margin: 0 auto;
  background-color: rgba(255,255,255,1);
}
article,
footer {
  position: relative;
  z-index: 2000;
}
section {
  margin-bottom: 50px;
}
section:last-child {
  margin-bottom: 0;
}
.inner {
  width: 90%;
  max-width: 960px;
  margin: 0 auto;
}
h2 {
  position: absolute;
  left: 0;
  top: -42px;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
  color: #fff;
  font-weight: bold;
}
h3, h4 {
  padding: 10px;
  margin-bottom: 20px;
  background-color: #111;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
  color: #fff;
  font-weight: bold;
}
/* footer */
footer {
  display: table;
  table-layout: fixed;
  padding: 25px 0 20px;
  width: 100%;
  font-size: 12px;
  font-size: 1.2rem;
  color: #fff;
  background-color: rgba(0,0,0,0.9);
}
footer .block {
  display: table-cell;
  width: 59%;
  vertical-align: top;
  padding-left: 7%;
}
footer .block:first-child {
  width: 41%;
  min-width: 330px;
  max-width: 400px;
  padding-left: 0;
}
footer .block .txt {
  margin-bottom: 15px;
}
footer #f-logo {
  margin-bottom: 10px;
}
footer #copyright {
  font-size: 10px;
  color: #777;
}
.sp {
	display: none;
}
article .txt br,
.pc {
	display: block;
}

@media screen and (max-width:768px){
	.sp {
		display: block;
	}
	article .txt br,
	.pc {
		display: none;
	}
	article {
		padding: 25px 0;
	}
	.inner {
		width: 95%;
	}
  #sub {
    position: static;
		float: unset;
		width: 100%;
  }
	header {
		position: absolute;
		left: 15px;
		top: 15px;
		z-index: 100;
	}
	header .logo {
		max-width: 100px;
	}
	nav {
		height: auto;
	}
  #main {
    width: 100%;
  }
	main {
		padding: 170px 10px 40px;
	}
	#share {
		top: 60px;
	}
	h3, h4 {
		margin-bottom: 10px;
		font-size: 16px;
		font-size: 1.6rem;
	}
	footer {
		display: block;
		font-size: 10px;
		font-size: 1rem;
	}
	footer .block,
	footer .block:first-child {
		display: block;
		width: 100%;
		min-width: auto;
		padding: 0;
	}
	footer .block:first-child {
		margin-bottom: 20px;
	}
}
@media screen and (max-width:480px){
	.txt,
	.images {
		margin-bottom: 15px;
	}
	#share ul li {
		margin-right: 10px;
	}
	#share ul li img {
		height: 20px;
	}
}
