/*Importing Font*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');

/* ....................................
Default CSS
.......................................*/
body {
 font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
 font-weight: normal;
 font-style: normal;
 font-size: 1rem;
 color: #333;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 /*letter-spacing: .4px*/
 letter-spacing: .2px
}
body, html {
 width: 100%;
 overflow-x: hidden;
}
body.modal-open {
 position: fixed;
}
*:focus {
 outline: 0;
}
.img, img {
 max-width: 100%;
 -webkit-transition: all 0.3s ease-out 0s;
 -moz-transition: all 0.3s ease-out 0s;
 -ms-transition: all 0.3s ease-out 0s;
 -o-transition: all 0.3s ease-out 0s;
 transition: all 0.3s ease-out 0s;
}
.f-left {
 float: left
}
.f-right {
 float: right
}
.fix {
 overflow: hidden
}
a, .button {
 color: #003395;
 -webkit-transition: all 0.4s ease-out 0s;
 -moz-transition: all 0.4s ease-out 0s;
 -ms-transition: all 0.4s ease-out 0s;
 -o-transition: all 0.4s ease-out 0s;
 transition: all 0.4s ease-out 0s;
}
a:focus, .button:focus {
 text-decoration: none;
 outline: none;
 -webkit-transition: all 0.4s ease-out 0s;
 -moz-transition: all 0.4s ease-out 0s;
 -ms-transition: all 0.4s ease-out 0s;
 -o-transition: all 0.4s ease-out 0s;
 transition: all 0.4s ease-out 0s;
}
a:focus, a:hover {
 color: #007bff;
 text-decoration: none;
 -webkit-transition: all 0.4s ease-out 0s;
 -moz-transition: all 0.4s ease-out 0s;
 -ms-transition: all 0.4s ease-out 0s;
 -o-transition: all 0.4s ease-out 0s;
 transition: all 0.4s ease-out 0s;
}
a, button {
 outline: medium none;
}
a {
 text-decoration: underline;
}
button {
 cursor: pointer;
 -webkit-transition: all .3s;
 transition: .3s;
}
button:focus, input:focus, input:focus, textarea, textarea:focus {
 outline: 0;
 -webkit-box-shadow: none;
 box-shadow: none;
}
.form-control:focus {
 -webkit-box-shadow: none;
 box-shadow: none;
}
.uppercase {
 text-transform: uppercase;
}
.capitalize {
 text-transform: capitalize;
}
h1, h2, h3, h4, h5, h6 {
 margin-top: 0px;
 margin-bottom: 0px;
 line-height: 1.3;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
 color: inherit;
 line-height: 1.3;
}
h1 {
 text-align: center;
}
h2 {
 font-size: 2.5rem;
 text-align: center;
 font-weight: 700;
 margin: 30px auto;
}
h3 {
 font-size: 1.75rem;
 font-weight: 700;
 margin: 0 auto .3em auto;
}
h4 {
 font-size: 1.5rem;
 font-weight: bold;
}
h5 {
 font-size: 1.25rem;
}
h6 {
 font-size: 1rem;
}
@media screen and (max-width:991px) {
 h1, h2, h3, h4, h5, h6 {
  font-family: -apple-system-body, BlinkMacSystemFont, Arial, Helvetica, "sans-serif";
  font-weight: bold;
 }
}
ul {
 margin: 0px;
 padding: 0px;
 font-size: 15px;
 font-weight: 500;
 line-height: 26px;
}
li {
 list-style: none
}
p {
 font-size: 1rem;
 font-weight: normal;
 line-height: 1.6;
 margin-bottom: 1em;
}
label {
 cursor: pointer;
 font-size: 1rem;
 font-weight: 400;
}
/*Buttons*/
.btn.focus, .btn:focus {
 -webkit-box-shadow: none;
 box-shadow: none;
}
.btn {
 font-size: 1rem;
 font-weight: bold;
 display: inline-block;
 padding: 1rem 33px;
 border-radius: 8px;
 transition: all .4s;
 text-transform: uppercase;
}

/* ....................................
Header
.......................................*/
header {
 height: 120px;
 padding: 30px;
 border-bottom: #333 5px solid;
}
header .header-nav {
 width: 85%;
 display: flex;
 align-items: flex-end;
 justify-content: space-between;
 margin: auto;
}
header .header-nav .logo {
 width: 200px;
 margin: 0 10px 0 -15px;
}
header .header-nav .logo2 {
 width: 166px;
 margin: 0 -15px 0 10px;
}
header .header-nav ul li {
 display: inline;
 margin: 0 1em;
}
header ul li a {
 text-decoration: none;
}
@media screen and (max-width:991px) {
 header .header-nav {
  width: 100%;
 }
 header .header-nav nav ul li.top {
  display: none;
 }
 header .header-nav .logo {
  width: 150px;
 }
}
@media screen and (max-width:767px) {
 header {
  height: 140px;
 }
 header .header-nav {
  display: block;
 }
 header .header-nav .logo {
  min-width: 150px;
  display: block;
 }
 header .header-nav .logo2 {
  display: none;
 }
 header .header-nav nav ul {
  margin-top: 30px;
  margin-left: -15px;
  margin-right: -15px;
  padding-left: 0;
  display: flex;
  justify-content: space-between;
 }
 header .header-nav nav ul li {
  margin: auto 0;
 }
}

/* ....................................
Footer
.......................................*/
footer {
 background-color: #003395;
 padding: 50px 0;
 color: #fff;
 margin-top: 100px;
}
footer p {
 font-size: 0.875rem;
}

/* ....................................
TOP
.......................................*/
.banner-content {
 text-align: center;
 width: 100%;
 height: 590px;
 position: relative;
}
.banner-content h1 {
 position: absolute;
 font-size: 58px;
 font-weight: 700;
 color: #000;
 text-shadow:
  1px 0 0 #fff, 1px 1px 0 #fff, 0 1px 0 #fff, -1px 1px 0 #fff, -1px 0 0 #fff, -1px -1px 0 #fff, 0 -1px 0 #fff, 1px -1px 0 #fff;
 width: 85%;
 top: 50%;
 left: 50%;
 transform: translateY(-50%) translateX(-50%);
}
.banner-content h1 span {
 font-family: 'Anton', sans-serif;
 font-size: 6rem;
 color: #003395;
 letter-spacing: 6px;
 display: block;
 margin-top: 20px;
}
.banner-content .banner-line {
 display: inline-block;
 height: 56px;
 width: 2px;
}
.banner-bgs {
 background-image: url('../../img/banner/keyvisual.jpg');
 background-size: cover;
 background-position: left center;
 background-repeat: no-repeat;
}
section {
 padding-bottom: 30px;
}
section.fblead {
 background-color: #003395;
 color: #fff;
}
section.fblead h2 {
 font-size: 28px;
}
section.fblead p {
 text-align: center;
 margin-top: 1em;
 font-weight: bold;
}
section.features {
 background-color: #E2E9F7;
}
section.features p {
 margin-bottom: 3em;
}
section.features .phleft {
 padding-right: 7px;
 padding-top: 15px;
}
section.features .phright {
 padding-left: 7px;
 padding-top: 15px;
}
section.spec h2.h2sub {
 font-size: 30px;
}
section.spec figure img {
 width: 80%;
 margin-bottom: 15px;
}
section.spec figure, section.spec figcaption {
 text-align: center;
 font-weight: bold;
}
section.spec h3 {
 text-align: center;
 margin: 60px auto 30px;
}
section.spec table.table th,
section.spec table.table td {
 border-color: #999;
}
section.features table.table th {
 background-color: #cad8f3;
}
section.spec button a {
 font-size: 1.4rem;
 color: #fff;
 margin: auto 2em;
 text-decoration: none;
}
section.spec p, section.contact p {
 text-align: center;
}
section.contact .logo2 {
 display: none;
}
@media screen and (max-width:1024px) {
 .banner-content h1 {
  font-size: 52px;
 }
}
@media screen and (max-width:991px) {
 section.fblead h2, section.fblead p {
  text-align: left;
 }
 p br, figcaption br {
  display: none;
 }
}
@media screen and (max-width:767px) {
 .banner-bgs {
  background-image: url('../../img/banner/keyvisualsp.jpg');
  background-position: left 160px;
  min-height: 800px;
 }
 .banner-content h1 {
  font-size: 24px;
  top: 7%;
  transform: translateY(-7%) translateX(-50%);
 }
 .banner-content h1 span {
  font-size: 3.5rem;
  margin-top: 0px;
 }
 section.fblead h2 {
  font-size: 24px;
 }
 section.fblead .col-sm-12 img {
  width: 50%;
  float: left;
  margin-bottom: 20px;
  margin-right: 10px;
 }
 section.fblead .col-sm-12 p {
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
 }
 section.fblead .col-sm-12 p::after {
  content: "";
  clear: both;
  display: block;
 }
 section.features h3 {
  font-size: 1.5rem;
 }
 section.features h3:first-child {
  margin-top: 30px;
 }
 section.spec button a {
  font-size: 1.25rem;
  margin: auto 0;
 }
 section.contact .logo2 {
  display: block;
  width: 200px;
  margin: 30px auto;
 }
}

/* ....................................
Others
.......................................*/
.scrol-tp {
 background: #E2E9F7;
 border: 1px #fff solid;
}
.scrol-tp {
 width: 60px;
 height: 60px;
 position: fixed;
 right: 40px;
 bottom: 30px;
 border-radius: 10%;
 line-height: 36px;
 font-size: 12px;
 z-index: 50;
}
.scrol-tp:hover {
 background: #007bff;
 color: #fff;
}
.scrol-tp i {
 margin-top: 10px;
 font-size: 28px;
}
a[target="_blank"]:after {
 font-family: 'FontAwesome';
 content: " \f08e";
}

/* ....................................
Opacity
.......................................*/
.opacity-0 {
 opacity: 0.0;
}
.opacity-10 {
 opacity: 1.0;
}