@charset "utf-8";
/* CSS Document */
/*
@import "/site/css/print.css";
*/
/* ------------------------------- */
/* Initialize */
/* ------------------------------- */

html{color:#333;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;*font-size:100%}legend{color:#000}#yui3-css-stamp.cssreset{display:none}

.error {
 font-weight: bold;
 color: #F00;
}

.text-bold {
 font-weight: bold;
}

.text-red {
 color: #F00;
}


/* ------------------------------- */
/* Common */
/* ------------------------------- */

a {
 color: #333;
}

a:link,
a:hover,
a:visited,
a:active {
 color: #333;
}

a:hover img {
 opacity: 0.7;
 filter: alpha(opacity=70);
 -ms-filter: "alpha(opacity=70)";
}

img {
 -webkit-backface-visibility: hidden;
}


/* ------------------------------- */
/* Fonts */
/* ------------------------------- */

body {
 font-family: 'Noto Serif JP', serif;
 /*font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;*/
}

/* Edge Hack Web Fonts */
@supports (-ms-ime-align: auto) {
 body {
  transform: rotate(0.001deg);
 }
}

/* Firefox Hack Web Fonts */
@-moz-document url-prefix() {
 body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 }
}

/* IE Hack Web Fonts */
@media all and (-ms-high-contrast:none) {
 body {
  font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
 }
}

.font-sans {
 font-family: "Open Sans", "Helvetica Neue", Helvetica, "Arial", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.font-serif {
 font-family: Georgia, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, メイリオ, Meiryo,serif;
}


/* ------------------------------- */
/* Site Width */
/* ------------------------------- */
/*
@media (min-width: 1200px) {
 .container {
  max-width: 1030px;
 }
}
*/

/* ------------------------------- */
/* Equal Height Columns */
/* ------------------------------- */

.row-eq-height {
 display: flex;
 flex-wrap: wrap;
}

/* Flexbox Safari bug */
.row-eq-height.container:before,
.row-eq-height.container:after,
.row-eq-height.row:before,
.row-eq-height.row:after {
 content: normal;
}


/* ------------------------------- */
/* Button */
/* ------------------------------- */

.btn.btn-primary {
 color: #FFF;
 background-color: #005292 !important;
}


/* ------------------------------- */
/* Main */
/* ------------------------------- */

main {
 background-color: #000;
 scroll-behavior: smooth;
}


/* ------------------------------- */
/* Background */
/* ------------------------------- */

.bg {
 margin: 60px 0;
 padding: 80px 0;
}

.bg.white {
 background-color: #FFF;
}

.bg.texture {
 background: url('/img/index/bg_texture.jpg') repeat;
}

@media (max-width: 991px) {
 .bg {
  padding: 80px 0 40px;
 }
}


/* ------------------------------- */
/* Eyecatch
/* ------------------------------- */

#eyecatch {
 height: calc(100vh);
 background: url(/img/index/bg_eyecatch.jpg) no-repeat center top;
 background-size: cover;
}

/* Nav */

#eyecatch nav {
 padding: 0 20px;
 background-color: rgba(0,0,0,0.5);
}

#eyecatch nav h1 a {
 color: #FFF;
 font-size: 1.6rem;
 font-weight: bold;
}

#eyecatch nav h1 a span {
 margin-right: 10px;
 font-size: 1.2rem;
}

#eyecatch nav ul {
 display: flex;
 justify-content: space-between;
 align-items: center;
}

#eyecatch nav ul li {
 margin-left: 40px;
 text-align: center;
}

#eyecatch nav ul li a {
 display: block;
 padding: 4px 0;
 color: #FFF;
 font-weight: 400;
}

#eyecatch nav ul li a:hover,
#eyecatch nav ul li a.active {
 margin-bottom: 2px;
 padding-bottom: 0;
 text-decoration: none;
 border-bottom: 2px solid #FFF;
}

/* Menu-Btn */

#eyecatch nav .menu-btn {
 overflow: hidden;
 display: block;
 position: relative;
 z-index: 0;
 width: 40px;
 height: 40px;
 cursor: pointer;
}

#eyecatch nav .menu-btn span,
#eyecatch nav .menu-btn::before,
#eyecatch nav .menu-btn::after {
 display: block;
 position: absolute;
 top: 0;
 bottom: 0;
 left:0;
 right: 0;
 width: 30px;
 height: 2px;
 margin: auto;
 background: #FFF;
}

#eyecatch nav .menu-btn span {
 overflow: hidden;
 z-index: 1;
 color: #FFF;
}

#eyecatch nav .menu-btn::before {
 z-index: 2;
 transform: translate(0, -10px);
 content: "";
}

#eyecatch nav .menu-btn::after {
 z-index: 2;
 transform: translate(0, 10px);
 content: "";
}

@media (max-width: 1199px) {
 #eyecatch nav ul li {
  margin-left: 20px;
 }
}

@media (max-width: 991px) {
 #eyecatch nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 7px 20px;
  z-index: 999;
  background: #000;
 }

 #eyecatch nav .header-sp {
  display: flex;
  justify-content: space-between;
  align-items: center;
 }

 #eyecatch nav .header-sp h1 a {
  color: #FFF;
  font-size: 1.1rem;
  font-weight: bold;
 }

 #eyecatch nav .header-sp h1 a  span {
  font-size: 1rem;
 }
}

/* Pushy */

.pushy {
 width: 170px;
 background: #FFF;
}

.pushy a:link,
.pushy a:hover,
.pushy a:visited,
.pushy a:active {
 color: #333;
}

#eyecatch .message {
 display: flex;
 justify-content: center;
 align-items: center;
 height: calc(100vh - 83px);
}

#eyecatch .message h3 {
 color: #FFF;
 font-size: 2.6rem;
 font-weight: bold;
 text-shadow: 1px 2px 3px #333;
 line-height: 1.6;
 -ms-writing-mode: tb-rl;
 writing-mode: vertical-rl;
 letter-spacing: 5px;
}

@media (max-width: 767px) {
 #eyecatch .message h3 {
  font-size: 2rem;
 }
}


/* ------------------------------- */
/* Footer
/* ------------------------------- */
footer {
 padding-top: 30px;
 color: #FFF;
 background-color: #000;
}

footer a {
 color: #FFF !important;
}

/* Nav */

footer nav {
 display: flex;
 justify-content: center;
}

footer nav ul {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 align-items: center;
}

footer nav ul li {
 margin: 0 15px;
 text-align: center;
}

footer nav ul li a {
 display: block;
 padding: 4px 0;
 font-weight: 400;
}

footer nav ul li a:hover {
 margin-bottom: 2px;
 padding-bottom: 0;
 text-decoration: none;
 border-bottom: 2px solid #FFF;
}

/* Address */

footer .address {
 display: flex;
 justify-content: center;
 align-items: flex-end;
 margin-top: 30px;
 margin-bottom: 40px;
}

footer .address h1 {
 margin-right: 40px;
 font-size: 1.6rem;
}

footer .address h1 span {
 margin-right: 10px;
 font-size: 1.2rem;
}

footer .address p {
 text-align: left;
}

@media (max-width: 767px) {
 footer nav ul {
  justify-content: center;
 }

 footer nav ul li {
  margin: 0 10px 20px;
 }

 footer .address {
  display: block;
  margin-top: 0px;
  text-align: center;
 }

 footer .address h1 {
  margin-right: 0;
  margin-bottom: 20px;
 }

  footer .address p {
   text-align: center;
  }
}


/* ------------------------------- */
/* Copyright */
/* ------------------------------- */

#copyright {
 margin-top: 10px;
 padding: 10px 30px;
 background-color: #FFF;
 color: #333;
 text-align: center;
}


/* ------------------------------- */
/* MailFormPro */
/* ------------------------------- */

#mfp_loading,
#mfp_loading_screen,
#mfp_overlay_background,
#mfp_overlay {
 display: none;
}

div#mfp_hidden {
 overflow: hidden;
 width: 1px;
 height: 1px;
 padding: 0;
 margin: 0;
}

.mfp_err {
 color: red;
}