@charset "UTF-8";
/* CSS Document */

h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, figure {
  margin: 0;
  padding: 0;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

h1, h2, h3, h4, h5, h6, th {
	font-weight: 600;
}

ol, ul { list-style: none; }

strong {
	font-weight: normal;
}

body {
  color: #333;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
	font-weight: 400;
  line-height: 1.5;
	letter-spacing: 0;
}

a {
  color: #0018FF;
  transition: opacity 0.3s;
}

a:hover { opacity: 0.7; }

img { vertical-align: bottom; }

*, *:before, *:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*:focus { outline: none; }

::selection {
	background: #0018FF;
	color: #fff;
}
/* for Firefox */
::-moz-selection{
	background: #0018FF;
	color: #fff;
}

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

.ib { display: inline-block;}

@media screen and (max-width:500px) {
	.sp-none { display: none; }
}
@media screen and (min-width:501px) {
	.pc-none { display: none; }
}

.en {
  font-family: "Roboto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-variation-settings: "wdth" 100;
}

/* # header
   -------------------------------------------------------------------------- */
.l-header {
	position: relative;
	overflow: hidden;
	margin-bottom: -100px;
	padding: 20px 40px;
	z-index: 1000;
}

.header-logo {
	width: 192px;
  padding: 18px 0;
	float: left;
	margin-right: 25px;
	line-height: 1;
	font-size: 0;
}
.header-logo a {
	display: block;
}

.headet-name {
	float: left;
	padding: 24px 0;
	color: #fff;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.2em;
}

.header-btn {
	display: none;
}

.header-nav {
	float: right;
}

.header-nav ul {
	overflow: hidden;
}
.header-nav ul li {
	float: left;
}
.header-nav ul li + li {
	margin-left: 40px;
}

.header-nav ul li a {
	display: block;
	padding: 22px 0;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.2em;
	text-decoration: none;
}

@media screen and (max-width:1000px) {
	
	.l-header {
		margin-bottom: -88px;
	}
	.header-logo {
		width: 160px;
    padding: 8px 0;
	}
	.headet-name {
		padding: 14px 0;
	}
	
	/* # header-menu
		 ------------------------------------- */
	/* header-btn */
	.header-btn {
		position: relative;
		float: right;
		display: block;
		width: 30px;
		height: 48px;
		font-size: 0;
		text-align: center;
		vertical-align: middle;
		z-index: 1001;
	}

	.header-btn-ico,
	.header-btn-ico:before,
	.header-btn-ico:after {
		content: "";
		position: absolute;
		width: 30px;
		height: 1px;
		background-color: #fff;
		transition: 0.3s;
	}

	.header-btn-ico {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translateX(-50%) translateY(-50%);
	}

	.header-btn-ico:before {
		top: -8px;
		left: 0;
	}
	.header-btn-ico:after {
		bottom: -8px;
		left: 0;
	}

	.header-btn.btn-active .header-btn-ico { background-color: transparent; }
	.header-btn.btn-active .header-btn-ico:before {
		top: 0;
		transform: rotate(45deg);
	}

	.header-btn.btn-active .header-btn-ico:after {
		bottom: 0;
		transform: rotate(-45deg);
	}

	/* heqder-nav */
	.header-nav {
		overflow: hidden;
		position: fixed;
		top: 0;
		right: 0;
		display: block;
		width: 100%;
		bottom: 0;
		background: url("../../images/bg_menu.jpg") no-repeat;
		background-size: cover;
		background-position: center center;
		transform: translateY(100%);
		transition: 0.3s;
		z-index: 1000;
	}
	.header-nav.menu-active {
		transform: translateY(0%);
	}

	.header-nav nav {
		overflow: scroll;
		width: 100%;
		height: 100%;
		padding: 120px 0;
	}

	.header-nav ul {
		
	}

	.header-nav ul li {
		float: none;
	}
	.header-nav ul li + li {
		margin-left: 0;
	}

	.header-nav ul li a {
		padding: 40px 80px;
		font-size: 40px;
	}
	
}

@media screen and (max-width:500px) {
	.l-header {
		margin-bottom: -70px;
		padding: 15px;
	}
  
  .header-logo {
    margin-right: 10px;
  }
  
  .headet-name {
    padding: 2px 0;
    line-height: 1.25;
  }
  
	.header-btn {
		width: 30px;
		height: 36px;
	}
	.header-nav ul li a {
		padding: 40px;
	}
}

/* # cta
   -------------------------------------------------------------------------- */
.l-cta {
	padding: 40px 15px;
	background: #1B232D;
}

.cta-inner {
	display: table;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	background-color: #fff;
	border-radius: 20px;
}

.cta-img {
	display: table-cell;
	width: 47.4%;
	padding: 40px;
	vertical-align: middle;
}

.cta-info {
	display: table-cell;
	padding: 40px 40px 40px 0;
	vertical-align: middle;
}

.cta-info-sub {
	margin-bottom: 20px;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.2em;
}

.cta-info-main {
	margin-bottom: 30px;
	width: 100%;
	max-width: 340px;
}

.cta-info-link {
	display: inline-block;
	padding: 12px 32px;
	color: #fff;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.2em;
	text-decoration: none;
	background-color: #0018FF;
	border-radius: 4px;
}

@media screen and (max-width:720px) {
	.cta-inner {
		display: block;
	}
	.cta-img {
		display: block;
		width: 100%;
		text-align: center;
	}
	.cta-info {
		display: block;
		padding: 0 40px 60px;
	}
}


/* # footer
   -------------------------------------------------------------------------- */
.l-footer {
	padding: 60px 15px 20px;
	background-color: #32393E;
}

.footer-logo {
	width: 160px;
	margin: 0 auto 15px;
}
.footer-logo a {
	display: block;
}

.footer-name {
	display: block;
	margin-bottom: 40px;
	color: #fff;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.2em;
	text-align: center;
}

.footer-list {
	margin-bottom: 10px;
	text-align: center;
}
.footer-list li {
	display: inline-block;
	margin: 0 20px 20px;
}
.footer-list li a {
	display: block;
	color: #fff;
	font-size: 16px;
	line-height: 1;
	letter-spacing: 0.2em;
	text-decoration: none;
}

.footer-list-sub {
	margin-bottom: 20px;
	text-align: center;
}
.footer-list-sub li {
	display: inline-block;
	margin: 0 10px 20px;
}
.footer-list-sub li a {
	display: block;
	color: #A6B0B6;
	font-size: 14px;
	line-height: 1;
	letter-spacing: 0.2em;
}

.footer-copyright small {
	display: block;
	color: #61686D;
	font-size: 12px;
	line-height: 1;
	letter-spacing: 0.2em;
	text-align: center;
}

/* # 凡庸クラス
   -------------------------------------------------------------------------- */
.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}
.clearfix:after { clear: both; }
.clearfix { zoom: 1; } /* For IE 6/7 */

.tr { text-align: right!important; }
.tl { text-align: left!important; }
.tc { text-align: center!important; }

.m0 { margin: 0!important; }
.mt0 { margin-top: 0!important; }
.mb0 { margin-bottom: 0!important; }
.ml0 { margin-left: 0!important; }
.mr0 { margin-right: 0!important; }

.p0 { padding: 0!important; }
.pt0 { padding-top: 0!important; }
.pb0 { padding-bottom: 0!important; }
.pl0 { padding-left: 0!important; }
.pr0 { padding-right: 0!important; }

.ib { display: inline-block!important; }