@charset "UTF-8";
@font-face {
  font-weight: 400;
  font-style: normal;
  font-family: "Lato";
  src: local("Lato-Regular.ttf"), url(../font/Lato-Regular.ttf) format("truetype");
}

@font-face {
  font-weight: 700;
  font-style: normal;
  font-family: "Lato";
  src: local("Lato-Bold.ttf"), url(../font/Lato-Bold.ttf) format("truetype");
}

@font-face {
  font-weight: 900;
  font-style: normal;
  font-family: "Lato";
  src: local("Lato-Black.ttf"), url(../font/Lato-Black.ttf) format("truetype");
}

@font-face {
  font-family: "ClanWeb-Bold";
  src: url(../font/ClanWeb-Bold.woff) format("woff");
}

@font-face {
  font-family: "ClanWeb-Medium";
  src: url(../font/ClanWeb-Medium.woff) format("woff");
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
  outline: 0;
  border: 0;
  word-wrap: break-word;
  word-break: normal;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

article,
aside,
figure,
footer,
header,
main,
menu,
nav,
section {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

img {
  vertical-align: bottom;
}

input,
select,
textarea {
  vertical-align: middle;
  font-size: 100%;
}

ol,
ul {
  list-style-type: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
strong {
  letter-spacing: 0.04em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

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

html {
  font-size: 10px;
}

@media screen and (max-width: 767px) {
  html {
    font-size: 9px;
  }
}

body {
  color: #666;
  letter-spacing: 0.05em;
  font-weight: 400;
  font-size: 1.4rem;
  font-family: "Lato", sans-serif;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a {
  color: #fff;
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

a:hover {
  color: #215787;
}

a:hover img {
  opacity: 0.5;
}

.lato {
  font-family: "Lato", sans-serif;
}

.serif {
  font-family: "Hiragino Mincho ProN", YuMincho, serif;
}

img {
  max-width: 100%;
  height: auto;
}

img.valign-middle {
  vertical-align: middle;
}

.contents p {
  margin-bottom: 1.7em;
}

.contents figure {
  margin-bottom: 1.7em;
}

.contents figcaption {
  margin-top: 0.5em;
  font-size: 1.4rem;
}

.contents figure img {
  width: 100%;
  height: auto;
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 10045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -webkit-zoom-out;
  cursor: pointer;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
      user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 10044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 10046;
  -webkit-box-shadow: none;
          box-shadow: none;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}


/*banner*/

#banner_hmd{
	position:absolute;
	width:340px;
	top:75px; 
	left:1240px;
	display:block; 
	z-index:5;
}

#banner_hmd img{
	width:100%;
}

@media screen and (max-width: 1366px) {
	
	#banner_hmd{
		position:absolute;
		top:320px; 
		left:600;
		display:block; 
		z-index:5;
	}
	
}


@media screen and (max-width: 1024px) {
	
	#banner_hmd{
		position:absolute;
		top:40px; 
		left:auto;
		right:20px;
		display:block; 
		z-index:5;
	}
	
}


@media screen and (max-width: 768px) {
	
	#banner_hmd{
		position:absolute;
		width:230px;
		top:20px;
		left:auto;
		right:20px;
		display:block; 
		z-index:5;
	}
	
}

@media screen and (max-width: 414px) {
	
	#banner_hmd{
		position:relative;
		width:230px;
		top:-30px;
		left:auto;
		right:auto;
		margin:0 auto 0 160px;
		display:block; 
		z-index:5;
	}
	
}

@media screen and (max-width: 375px) {
	
	#banner_hmd{
		position:relative;
		width:230px;
		top:-30px;
		left:auto;
		right:auto;
		margin:0 auto 0 120px;
		display:block; 
		z-index:5;
	}
	
}


/*banner*/

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}

.l-wrapper {
  padding-top: 50px;
}

@media screen and (max-width: 1024px) {
  .l-wrapper {
    padding-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .l-wrapper {
    padding-top: 40px;
  }
}

.l-container {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 20px;
}

@media screen and (max-width: 1024px) {
  .l-container {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .l-container {
    padding: 0 20px;
  }
}

.l-container:after {
  display: block;
  clear: both;
  content: "";
}

.m-container {
  margin: 0 auto;
  max-width: 1000px;
}

@media screen and (max-width: 1024px) {
  .m-container {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .m-container {
    padding: 0 20px;
  }
}

.m-container:after {
  display: block;
  clear: both;
  content: "";
}

.l-container-left {
  float: left;
  width: 70%;
}

@media screen and (max-width: 1024px) {
  .l-container-left {
    float: none;
    width: 100%;
  }
}

.l-container-right {
  float: right;
  width: 25%;
}

@media screen and (max-width: 1024px) {
  .l-container-right {
    float: none;
    width: 100%;
  }
}

.l-section {
  padding: 70px 0;
}

@media screen and (max-width: 767px) {
  .l-section {
    padding: 40px 0;
  }
}

.l-section section {
  margin-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .l-section section {
    margin-bottom: 40px;
  }
}

.l-section section > section {
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .l-section section > section {
    margin-bottom: 20px;
  }
}

.l-section-anchor {
  padding: 110px 0 70px;
}

@media screen and (max-width: 767px) {
  .l-section-anchor {
    padding: 40px 0;
  }
}

.l-section-top-anchor {
  padding-top: 70px;
}

@media screen and (max-width: 767px) {
  .l-section-top-anchor {
    padding-top: 40px;
  }
}

.m-section {
  padding: 50px 0;
}

@media screen and (max-width: 767px) {
  .m-section {
    padding: 30px 0;
  }
}

.m-section section {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .m-section section {
    margin-bottom: 30px;
  }
}

.m-section section > section {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .m-section section > section {
    margin-bottom: 10px;
  }
}

.l-wrap-90p {
  margin: 0 auto;
  width: 90%;
}

@media screen and (max-width: 767px) {
  .l-wrap-90p {
    width: 100%;
  }
}

.l-wrap-80p {
  margin: 0 auto;
  width: 80%;
}

@media screen and (max-width: 767px) {
  .l-wrap-80p {
    width: 100%;
  }
}

.l-wrap-70p {
  margin: 0 auto;
  width: 70%;
}

@media screen and (max-width: 767px) {
  .l-wrap-70p {
    width: 100%;
  }
}

.l-wrap-916 {
  margin: 0 auto;
  width: 75%;
  max-width: 916px;
}

@media screen and (max-width: 767px) {
  .l-wrap-916 {
    width: 100%;
  }
}

.l-wrap-60p {
  margin: 0 auto;
  width: 60%;
}

@media screen and (max-width: 767px) {
  .l-wrap-60p {
    width: 100%;
  }
}

.l-wrap-50p {
  margin: 0 auto;
  width: 50%;
}

@media screen and (max-width: 1024px) {
  .l-wrap-50p {
    width: 70%;
  }
}

@media screen and (max-width: 767px) {
  .l-wrap-50p {
    width: 100%;
  }
}

.l-wrap-40p {
  margin: 0 auto;
  width: 40%;
  padding: 0 1rem;
}

@media screen and (max-width: 767px) {
  .l-wrap-40p {
    width: 100%;
    padding: 0;
  }
  .l-wrap-40p figure {
    width: 20%;
  }
  .l-wrap-40p .heading-bold-md {
    font-size: 1.6rem;
  }
  .l-wrap-40p .heading-lg {
    line-height: 1.5;
  }
}

.l-flex-wrap {
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.l-flex-col-2 {
  margin-bottom: 3rem;
  width: 48%;
}

@media screen and (max-width: 767px) {
  .l-flex-col-2 {
    margin-bottom: 2rem;
    width: 100%;
  }
}

.l-flex-parent-3:after {
  display: block;
  width: 33%;
  content: "";
}

.l-flex-col-3 {
  margin-bottom: 3rem;
  width: 33%;
}

@media screen and (max-width: 767px) {
  .l-flex-col-3 {
    margin-bottom: 2rem;
    width: 100%;
  }
}

.l-flex-parent-4:before {
  display: block;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  width: 23%;
  content: "";
}

.l-flex-parent-4:after {
  display: block;
  width: 23%;
  content: "";
}

.l-flex-col-4 {
  margin-bottom: 6rem;
  width: 25%;
}

@media screen and (max-width: 767px) {
  .l-flex-col-4 {
    margin-bottom: 3rem;
    width: 100%;
  }
}

.bg-dark-gray {
  background: #4a4a4d;
}

.bg-white-gray {
  background: #fafafa;
}

.bg-white {
  background: #fff;
}

.bg-black {
  background: #000;
}

.bg-gray {
  background: #ccc;
}

.bg-gray2 {
  background: #4c4948;
}

.bg-gray3 {
  background: #bbb;
}

.bg-gray4 {
  background: #333;
}

.bg-light-gray {
  background: #e4e4e4;
}

.color-gray2 {
  color: #4c4948;
}

.color-gray {
  color: #444;
}

.img_fr {
  float: right;
  margin-left: 30px;
}

@media screen and (max-width: 767px) {
  .img_fr {
    float: none;
    margin-left: 0;
  }
}

.img_fr figure {
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .img_fr figure {
    margin-bottom: 20px;
  }
}

.mb0 {
  margin-bottom: 0rem !important;
}

.mb5 {
  margin-bottom: 0.5rem !important;
}

.mb10 {
  margin-bottom: 1rem !important;
}

.mb20 {
  margin-bottom: 2rem !important;
}

.mb30 {
  margin-bottom: 3rem !important;
}

.mb40 {
  margin-bottom: 4rem !important;
}

.mb50 {
  margin-bottom: 5rem !important;
}

.mb60 {
  margin-bottom: 6rem !important;
}

.mb70 {
  margin-bottom: 7rem !important;
}

.mb80 {
  margin-bottom: 8rem !important;
}

.mb90 {
  margin-bottom: 9rem !important;
}

.mb100 {
  margin-bottom: 10rem !important;
}

.mt110 {
  margin-top: 11rem !important;
}

.mt5 {
  margin-top: 0.5rem !important;
}

.mt10 {
  margin-top: 1rem !important;
}

.mt20 {
  margin-top: 2rem !important;
}

.mt30 {
  margin-top: 3rem !important;
}

.mt40 {
  margin-top: 4rem !important;
}

.mt50 {
  margin-top: 5rem !important;
}

.mt60 {
  margin-top: 6rem !important;
}

.ml0 {
  margin-left: 0rem !important;
}

.ml5 {
  margin-left: 0.5rem !important;
}

.ml10 {
  margin-left: 1rem !important;
}

.ml20 {
  margin-left: 2rem !important;
}

.ml30 {
  margin-left: 3rem !important;
}

.ml40 {
  margin-left: 4rem !important;
}

.ml50 {
  margin-left: 5rem !important;
}

.ml60 {
  margin-left: 6rem !important;
}

.ml70 {
  margin-left: 7rem !important;
}

.mr0 {
  margin-right: 0rem !important;
}

.mr5 {
  margin-right: 0.5rem !important;
}

.mr10 {
  margin-right: 1rem !important;
}

.mr20 {
  margin-right: 2rem !important;
}

.mr30 {
  margin-right: 3rem !important;
}

.mr40 {
  margin-right: 4rem !important;
}

.mr50 {
  margin-right: 5rem !important;
}

.mr60 {
  margin-right: 6rem !important;
}

.mt9vw {
  margin-top: 9vw !important;
}

.ml4p {
  margin-left: 4% !important;
}

.ma {
  margin: auto !important;
}

.pb0 {
  padding-bottom: 0rem !important;
}

.pb5 {
  padding-bottom: 0.5rem !important;
}

.pb10 {
  padding-bottom: 1rem !important;
}

.pb20 {
  padding-bottom: 2rem !important;
}

.pb30 {
  padding-bottom: 3rem !important;
}

.pb40 {
  padding-bottom: 4rem !important;
}

.pb50 {
  padding-bottom: 5rem !important;
}

.pb60 {
  padding-bottom: 6rem !important;
}

.pt0 {
  padding-top: 0rem !important;
}

.pt5 {
  padding-top: 0.5rem !important;
}

.pt10 {
  padding-top: 1rem !important;
}

.pt20 {
  padding-top: 2rem !important;
}

.pt30 {
  padding-top: 3rem !important;
}

.pt40 {
  padding-top: 4rem !important;
}

.pt50 {
  padding-top: 5rem !important;
}

.pt60 {
  padding-top: 6rem !important;
}

.pl0 {
  padding-left: 0rem !important;
}

.pl5 {
  padding-left: 0.5rem !important;
}

.pl10 {
  padding-left: 1rem !important;
}

.pl20 {
  padding-left: 2rem !important;
}

.pl30 {
  padding-left: 3rem !important;
}

.pl40 {
  padding-left: 4rem !important;
}

.pl50 {
  padding-left: 5rem !important;
}

.pl60 {
  padding-left: 6rem !important;
}

.pl70 {
  padding-left: 7rem !important;
}

.pr0 {
  padding-right: 0rem !important;
}

.pr5 {
  padding-right: 0.5rem !important;
}

.pr10 {
  padding-right: 1rem !important;
}

.pr20 {
  padding-right: 2rem !important;
}

.pr30 {
  padding-right: 3rem !important;
}

.pr40 {
  padding-right: 4rem !important;
}

.pr50 {
  padding-right: 5rem !important;
}

.pr60 {
  padding-right: 6rem !important;
}

.p0 {
  padding: 0rem !important;
}

@media screen and (max-width: 767px) {
  .sp-pb20 {
    padding-bottom: 2rem !important;
  }
  .sp-pl0 {
    padding-left: 0rem !important;
  }
}

.w100p {
  width: 100%;
}

.w90p {
  width: 90%;
}

.w80p {
  width: 80%;
}

.w70p {
  width: 70%;
}

.w60p {
  width: 60%;
}

.w50p {
  width: 50%;
}

.w40p {
  width: 40%;
}

.w30p {
  width: 30%;
}

.w20p {
  width: 20%;
}

.w10p {
  width: 10%;
}

.fz12 {
  font-size: 1.2rem;
}

.fz14 {
  font-size: 1.4rem;
}

.fz16 {
  font-size: 1.6rem;
}

.fz18 {
  font-size: 1.8rem;
}

.fz20 {
  font-size: 2rem;
}

.lh2 {
  line-height: 2;
}

.lh2-5 {
  line-height: 2.5;
}

.lh3 {
  line-height: 3;
}

.font-normal {
  font-weight: normal;
}

.cf:after {
  display: block;
  clear: both;
  content: "";
}

@media screen and (max-width: 568px) {
  .sp-sm-only {
    display: block;
  }
}

@media screen and (min-width: 569px) {
  .sp-sm-only {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .pc-only {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

@media screen and (min-width: 1025px) {
  .tb-over {
    display: block;
  }
}

@media screen and (max-width: 1024px) {
  .tb-over {
    display: none;
  }
}

@media screen and (min-width: 1025px) {
  .tb-under {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .tb-under {
    display: block;
  }
}

@media screen and (max-width: 1024px) {
  .tb-none {
    display: none;
  }
}

.tac {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .sp-tac {
    text-align: center !important;
  }
}

.tal {
  text-align: left;
}

@media screen and (max-width: 767px) {
  .sp-tal {
    text-align: left !important;
  }
}

.tar {
  text-align: right;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.flex {
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.jcfs {
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.jcsb {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.jcsa {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
}

.jcc {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.jcfe {
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.fxww {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}

.fxdrr {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.aic {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}

.aife {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.underline {
  text-decoration: underline;
}

.dib {
  display: inline-block;
}

.txt-shadow-blue {
  text-shadow: 0px 0px 10px #46628b;
}

.side-nav {
  position: fixed;
  top: calc(50vh - 263px);
  right: 0;
  z-index: 2000;
}

@media screen and (max-width: 767px) {
  .side-nav {
    display: none;
  }
}

.side-nav-btn {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: relative;
}

.side-nav-btn li {
  position: absolute;
  right: 0;
}

.side-nav-btn li a {
  display: block;
  width: 50px;
  height: 170px;
  margin-bottom: 5px;
  font-size: 1.2rem;
  padding: 0.6rem 1.5rem;
  text-align: center;
  line-height: 1.2;
}

.side-nav-btn li:nth-child(1) {
  top: 0;
}

.side-nav-btn li:nth-child(1) a {
  background: #215787;
  border: 2px solid #215787;
}

.side-nav-btn li:nth-child(1) a:hover {
  background: #fff;
  color: #215787;
}

.side-nav-btn li:nth-child(2) {
  top: 172px;
}

.side-nav-btn li:nth-child(2) a {
  background: #45b035;
  border: 2px solid #45b035;
}

.side-nav-btn li:nth-child(2) a:hover {
  background: #fff;
  color: #45b035;
}

.side-nav-btn li:nth-child(3) {
  top: 344px;
}

.side-nav-btn li:nth-child(3) a {
  background: #ee7800;
  border: 2px solid #ee7800;
}

.side-nav-btn li:nth-child(3) a:hover {
  background: #fff;
  color: #ee7800;
}

.footer-nav {
  display: none;
}

@media screen and (max-width: 767px) {
  .footer-nav {
    display: block;
    position: fixed;
    bottom: 0;
    width: 100%;
    height: 4rem;
    z-index: 3000;
  }
  .footer-nav-btn {
    display: -webkit-flex;
    display: -ms-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background: #fff;
  }
  .footer-nav-btn li {
    width: 33%;
  }
  .footer-nav-btn li a {
    color: #fff;
    display: block;
    font-size: 1.2rem;
    font-weight: bold;
    padding: 1rem;
    text-align: center;
    line-height: 1.2;
    height: 4rem;
  }
  .footer-nav-btn li:nth-child(1) a {
    background: #215787;
    border: 2px solid #215787;
  }
  .footer-nav-btn li:nth-child(1) a:hover {
    background: #fff;
    color: #215787;
  }
  .footer-nav-btn li:nth-child(2) a {
    background: #45b035;
    border: 2px solid #45b035;
    padding: 0.4rem 0.6rem;
  }
  .footer-nav-btn li:nth-child(2) a:hover {
    background: #fff;
    color: #45b035;
  }
  .footer-nav-btn li:nth-child(3) a {
    background: #ee7800;
    border: 2px solid #ee7800;
  }
  .footer-nav-btn li:nth-child(3) a:hover {
    background: #fff;
    color: #ee7800;
  }
}

.link_btn {
  border: 3px solid #000;
  padding: 13px 0px;
  text-align: center;
  display: block;
  width: 260px;
  margin: 0 auto;
  font-size: 1.8rem;
}

.link_btn:hover {
  text-decoration: none;
  opacity: 0.6;
  color: #000;
}

.link_btn_dib {
  border: 3px solid #000;
  padding: 13px 0px;
  text-align: center;
  display: inline-block;
  width: 260px;
  margin: 0 auto;
  font-size: 1.8rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.link_btn_dib img {
  -webkit-filter: grayscale(100%) brightness(0.4);
  -moz-filter: grayscale(100%) brightness(0.4);
  -o-filter: grayscale(100%) brightness(0.4);
  -ms-filter: grayscale(100%) brightness(0.4);
  filter: grayscale(100%) brightness(0.4);
}

.link_btn_dib:hover {
  text-decoration: none;
  opacity: 0.6;
  color: #000;
}

.btn-pagetop {
  position: fixed;
  bottom: 4rem;
  right: 2rem;
  border: 1px solid #727272;
  z-index: 9999;
}

@media screen and (max-width: 767px) {
  .btn-pagetop {
    width: 4.1rem;
    height: 4rem;
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  .top-pagetop {
    bottom: 8rem;
  }
}

@media screen and (max-width: 640px) {
  .top-pagetop {
    bottom: 4rem;
  }
}

@media screen and (max-width: 640px) {
  .sub-pagetop {
    bottom: 8rem;
  }
}

@media screen and (max-width: 767px) {
  .btn-stories {
    text-align: center;
  }
}

.stage-line {
  margin: 0 auto 10rem;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .stage-line {
    margin: 1rem auto 5rem;
  }
}

.arrow_bottom {
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .arrow_bottom {
    margin: 0 auto 2rem;
    width: 43px;
  }
}

.line-block {
  position: relative;
}

.line-block:after, .line-block:before {
  content: "";
  border-bottom: 1px solid #e4e4e4;
  position: absolute;
  top: 50%;
  width: calc(50% - 102px);
  z-index: -1;
}

.line-block:before {
  left: 0;
}

.line-block:after {
  right: 0;
}

@media screen and (max-width: 767px) {
  .line-block img {
    margin: 0 auto;
    width: 122px;
  }
  .line-block:after, .line-block:before {
    width: calc(50% - 61px);
  }
}

.heading-main {
  font-size: 5rem;
  line-height: 1.5;
  color: #000;
  font-weight: normal;
  margin-bottom: 3rem;
  position: relative;
  z-index: 1000;
}

.heading-main em {
  font-size: 6.8rem;
  letter-spacing: 0.03em;
}

.heading-main span {
  display: block;
  font-size: 2rem;
  font-weight: 900;
}

@media screen and (max-width: 767px) {
  .heading-main {
    font-size: 3rem;
    text-shadow: 0 0 20px #fff, 0 0 10px #fff, 0 0 5px #fff;
  }
  .heading-main em {
    font-size: 3.6rem;
    line-height: 1.3;
  }
  .heading-main span {
    font-size: 1.5rem;
  }
}

.heading-size-various {
  font-size: 2.4rem;
  margin-bottom: 1rem;
}

.heading-size-various em {
  font-size: 3.8rem;
  line-height: 1.3;
}

.heading-size-various span {
  font-size: 3rem;
}

.heading-size-various.txt-blue {
  color: #215787;
}

@media screen and (max-width: 1024px) {
  .heading-size-various {
    font-size: 2rem;
  }
  .heading-size-various em {
    font-size: 2.7rem;
  }
  .heading-size-various span {
    font-size: 2.3rem;
  }
}

@media screen and (max-width: 767px) {
  .heading-size-various {
    font-size: 2rem;
  }
  .heading-size-various em {
    font-size: 2.7rem;
  }
  .heading-size-various span {
    font-size: 2.3rem;
  }
}

.heading-bold {
  font-weight: bold;
  font-size: 2.2rem;
  color: #000;
}

@media screen and (max-width: 1024px) {
  .heading-bold {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .heading-bold {
    font-size: 1.7rem;
  }
}

.heading-bold-lg {
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.5;
  margin-bottom: 3rem;
  text-align: center;
}

.heading-bold-lg.orange {
  color: #ee7800;
}

.heading-bold-lg sup {
  font-size: 1.6rem;
  font-weight: normal;
}

@media screen and (max-width: 1024px) {
  .heading-bold-lg {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 767px) {
  .heading-bold-lg {
    font-size: 2rem;
  }
}

.heading-bold-md {
  font-weight: bold;
  font-size: 2rem;
  color: #000;
  margin-bottom: 2rem;
}

.heading-bold-md.orange {
  color: #ee7800;
}

@media screen and (max-width: 1024px) {
  .heading-bold-md {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}

@media screen and (max-width: 767px) {
  .heading-bold-md {
    font-size: 1.7rem;
  }
}

.heading-bold-sml {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 2rem;
  color: #000;
}

@media screen and (max-width: 767px) {
  .heading-bold-sml {
    font-size: 1.4rem;
  }
}

.heading-bold-sml.white {
  color: #fff;
}

.heading-bold-white {
  font-weight: bold;
  font-size: 2.8rem;
  color: #fff;
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .heading-bold-white {
    font-size: 2.2rem;
  }
}

.heading-lg {
  font-weight: normal;
  font-size: 3.8rem;
  margin-bottom: 4rem;
  color: #000;
  position: relative;
  z-index: 1000;
}

.heading-lg.green {
  color: #69be28;
}

@media screen and (max-width: 1024px) {
  .heading-lg {
    font-size: 2.8rem;
    margin-bottom: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .heading-lg {
    font-size: 2.2rem;
    margin-bottom: 2rem;
  }
}

.heading-md {
  font-size: 2rem;
  margin-bottom: 2rem;
  color: #000;
}

.heading-md.orange {
  color: #ee7800;
}

.heading-md.green {
  color: #69be28;
}

@media screen and (max-width: 767px) {
  .heading-md {
    font-size: 1.6rem;
  }
}

.heading-normal {
  font-size: 2.6rem;
  line-height: 1.8;
  font-weight: normal;
  color: #000;
}

.heading-normal span {
  font-size: 2.6rem;
  line-height: 1.8;
  font-weight: normal;
  color: #000;
  margin-left: 13.5rem;
  display: inline-block;
}

@media screen and (max-width: 1024px) {
  .heading-normal span {
    font-size: 2.1rem;
    margin-left: 10.9rem;
  }
}

@media screen and (max-width: 767px) {
  .heading-normal span {
    margin-left: 9.4rem;
    font-size: 2rem;
  }
}

@media screen and (max-width: 1024px) {
  .heading-normal {
    font-size: 2.1rem;
  }
}

@media screen and (max-width: 767px) {
  .heading-normal {
    font-size: 2rem;
  }
}

.heading-parallelogram {
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
  font-size: 2.2rem;
  padding: 1rem 2rem;
  display: block;
  margin: auto;
  text-align: center;
  width: 28rem;
  margin-bottom: 6rem;
  line-height: 1.4;
}

.heading-parallelogram span {
  -webkit-transform: skewX(30deg);
          transform: skewX(30deg);
  display: inline-block;
}

.heading-parallelogram em {
  font-size: 3rem;
}

.heading-parallelogram.green {
  color: #69be28;
  border: 3px solid #69be28;
}

.heading-parallelogram.blue {
  color: #215787;
  border: 3px solid #215787;
}

@media screen and (max-width: 767px) {
  .heading-parallelogram {
    font-size: 1.8rem;
  }
  .heading-parallelogram em {
    font-size: 2rem;
  }
}

.heading-para-area {
  position: relative;
  margin-top: 6rem;
  min-height: 22rem;
}

@media screen and (max-width: 767px) {
  .heading-para-area {
    margin-top: 3rem;
    min-height: 16rem;
  }
}

.para-orange-ttl {
  position: absolute;
  top: 0;
  left: -3rem;
  width: 47%;
  padding: 2.6rem;
  z-index: 10;
  font-weight: bold;
  background: #ee7800;
  color: #fff;
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
}

.para-orange-ttl span {
  -webkit-transform: skewX(30deg);
          transform: skewX(30deg);
  display: inline-block;
  padding-left: calc(100% - 364px);
  padding-left: calc(100% - 404px);
}

@media screen and (max-width: 1200px) {
  .para-orange-ttl {
    width: 57%;
  }
}

@media screen and (max-width: 1024px) {
  .para-orange-ttl {
    width: 70%;
  }
}

@media screen and (max-width: 767px) {
  .para-orange-ttl {
    width: 90%;
    padding: 0.7rem 1.6rem 1.7rem;
  }
  .para-orange-ttl span {
    padding-left: calc(100% - 227px);
  }
}

.para-grad-ttl {
  position: absolute;
  top: 0;
  left: -8rem;
  width: 64%;
  padding: 5rem 4vw 7rem 0rem;
  font-size: 3.8rem;
  margin-top: 3.5rem;
  font-weight: normal;
  background: -webkit-linear-gradient(top, #fef7f0 0%, rgba(229, 229, 229, 0) 100%);
  background: -webkit-gradient(linear, left top, left bottom, from(#fef7f0), to(rgba(229, 229, 229, 0)));
  background: linear-gradient(to bottom, #fef7f0 0%, rgba(229, 229, 229, 0) 100%);
  color: #4a4a4d;
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
}

.para-grad-ttl span {
  -webkit-transform: skewX(30deg);
          transform: skewX(30deg);
  display: inline-block;
  padding-left: calc(100% - 594px);
}

@media screen and (max-width: 1200px) {
  .para-grad-ttl {
    width: 74%;
  }
}

@media screen and (max-width: 1024px) {
  .para-grad-ttl {
    width: 90%;
    font-size: 3.5rem;
    padding-left: 3em;
  }
}

@media screen and (max-width: 767px) {
  .para-grad-ttl {
    width: 90%;
    font-size: 1.8rem;
    left: -3rem;
    padding: 3rem 0rem 3rem 5rem;
  }
}

.heading-before-para {
  font-size: 4rem;
  color: #000;
  font-weight: normal;
  position: relative;
  line-height: 1;
  padding-left: 2rem;
  margin-bottom: 6rem;
}

.heading-before-para::before {
  content: "";
  display: block;
  width: 8px;
  border-left: solid #215787 calc((100vw - 1000px) / 2);
  border-right: 4px solid #215787;
  margin-right: auto;
  height: 38px;
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
  position: absolute;
  top: 4px;
  left: calc(-4vw - (100vw - 1000px) / 2);
}

.heading-before-para::after {
  content: "";
  display: block;
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
  position: absolute;
  top: 4px;
  height: 38px;
  width: 12px;
  padding-left: calc((100vw - 1000px) / 2);
  border-right: 4px solid #215787;
  left: calc(-4vw + 8px - (100vw - 1000px) / 2);
}

@media screen and (max-width: 1024px) {
  .heading-before-para {
    font-size: 3rem;
  }
  .heading-before-para::before {
    width: 8px;
    border-left: solid #215787 30px;
    height: 28px;
    top: 3px;
    left: -44px;
  }
  .heading-before-para::after {
    top: 3px;
    height: 28px;
    width: 12px;
    padding-left: 30px;
    border-right: 4px solid #215787;
    left: -36px;
  }
}

@media screen and (max-width: 767px) {
  .heading-before-para {
    font-size: 2.7rem;
    margin-bottom: 2.5rem;
    padding-left: 7rem;
  }
  .heading-before-para::before {
    width: 8px;
    border-left: solid #215787 60px;
    height: 24px;
    top: 1px;
    left: -34px;
  }
  .heading-before-para::after {
    top: 1px;
    height: 24px;
    border-right: 4px solid #215787;
    left: 4px;
  }
}

.heading-his {
  text-align: center;
  margin-bottom: 10rem;
}

@media screen and (max-width: 1024px) {
  .heading-his {
    margin-bottom: 7vw;
  }
}

.heading-his img {
  margin-bottom: 3rem;
}

@media screen and (max-width: 1024px) {
  .heading-his img {
    width: 70vw;
    height: auto;
    margin-bottom: 1.5rem;
  }
}

.heading-his em {
  font-size: 5.9rem;
  font-weight: normal;
  display: block;
  color: #333;
  letter-spacing: 0.03em;
}

@media screen and (max-width: 1024px) {
  .heading-his em {
    font-size: 5vw;
  }
}

/****************************
ヘッダー
****************************/
.l-header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 9999;
  background-color: #4c4948;
}

/*@media screen and (max-width: 1024px) {
  .l-header {
    background-color: #4c4948;
  }
}*/

@media screen and (max-width: 767px) {
  .l-header .l-container {
    padding: 0;
  }
}

.head_top {
  max-width: 1200px;
}

.head_top_left {
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 40%;
}

@media screen and (max-width: 1024px) {
  .head_top_left {
    width: 60%;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

@media screen and (max-width: 767px) {
  .head_top_left {
    width: 100%;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 0px;
    margin-left: -1.2rem;
  }
}

.icon-en a {
  display: none;
}

@media screen and (max-width: 1024px) {
  .icon-en a {
    display: block;
    padding: 7px 15px 8px;
    position: absolute;
    top: 0;
    right: 4.2rem;
  }
  .icon-en a img {
    vertical-align: middle;
  }
}

.logo_type {
  font-family: "Lato", sans-serif;
  font-weight: bold;
  line-height: 1.2;
}

.logo_type a:hover {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .logo_type {
    font-size: 1.1rem;
  }
  .logo_type span {
    display: block;
    font-size: 1rem;
  }
}

/*.logo_type .font-clan {
  font-size: 17px;
}

.logo_type .font-clan span {
  margin-left: 7px;
  font-family: "ClanWeb-Bold";
  letter-spacing: 0.12em;
}

.logo_type_tab_only {
  display: none;
}

@media screen and (max-width: 1024px) {
  .logo_type_tab_only {
    display: block;
  }
}*/

.logo a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.logo a:hover {
  text-decoration: none;
}

.logo a:hover img {
  opacity: 1;
}

/*.logo img {
  height: 50px;
}*/

@media screen and (max-width: 1024px) {
  .logo {
    min-width: 15rem;
  }
  .logo img {
    height: 40px;
  }
}

/*.logo-kawasaki img {
  height: 50px;
}

.logo-hydro img {
  height: 52px;
}

@media screen and (max-width: 1024px) {
  .logo-hydro img {
    height: 40px;
  }
}*/

.head_top_right {
  width: 60%;
}

@media screen and (max-width: 767px) {
  .head_top_right {
    top: 12px;
  }
}

.fwb {
  font-weight: bold;
}

/****************************
スマホナビゲーション
****************************/
.gnav {
  width: 100%;
  font-size: 1.3rem;
  font-weight: bold;
}

@media screen and (max-width: 1024px) {
  .gnav {
    width: 100%;
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .gnav {
    font-size: 1.6rem;
  }
}

.gnav a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  padding: 13px 15px 14px;
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
}

@media screen and (max-width: 1024px) {
  .gnav a {
    padding: 0;
    -webkit-transform: skewX(0deg);
            transform: skewX(0deg);
  }
}

.gnav a:hover {
  background: #215787;
  color: #fff;
}

.gnav a span {
  -webkit-transform: skewX(30deg);
          transform: skewX(30deg);
  display: inline-block;
}

@media screen and (max-width: 1024px) {
  .gnav a span {
    -webkit-transform: skewX(0deg);
            transform: skewX(0deg);
  }
}

/*.gnav a.gnav-hydro-link {
  padding: 13px 15px 16px;
}

@media screen and (max-width: 1024px) {
  .gnav a.gnav-hydro-link {
    padding: 0;
  }
}

.gnav a.stories-link-gray {
  font-family: "ClanWeb-Medium";
  font-weight: 400;
  letter-spacing: 2px;
  padding: 13px 10px 14px;
}

.gnav a.stories-link-gray:hover {
  background-color: #4c4948;
  opacity: 1;
}

.gnav a.stories-link-gray:hover span {
  opacity: 0.6;
}

.gnav a.stories-link-gray img {
  -webkit-transition: none;
  transition: none;
}*/

/****************************
2019.12 更新時追記 storiesヘッダー
****************************/
/*.is-no-scroll {
  overflow: hidden;
}

.head-hydro {
  background-color: #575656;
}

@media screen and (max-width: 1024px) {
  .head-hydro {
    background-color: #4c4948;
  }
}

.head-hydro-left {
  width: 21%;
}

@media screen and (max-width: 1024px) {
  .head-hydro-left {
    width: 60%;
  }
}

@media screen and (max-width: 767px) {
  .head-hydro-left {
    width: 100%;
  }
}

.head-hydro-right {
  width: 79%;
}

.head_top_story {
  background-color: #4c4948;
}

@media screen and (max-width: 1024px) {
  .head_top_story {
    display: none;
  }
}

.head_top_story.is-close {
  display: none;
}

.head_top_left_story {
  width: 30%;
  margin-left: 2.5%;
}

.head_top_right_story {
  width: 67.5%;
}

#mobile_menu .gnav-stories {
  background-color: #27324b;
  font-family: "ClanWeb-Bold";
  font-size: 1.45rem;
}

@media screen and (min-width: 1024px) {
  #mobile_menu .gnav-stories {
    display: none;
  }
}

#mobile_menu .gnav-stories li a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
  padding: 1.5rem 2rem 1.5rem 3rem;
  letter-spacing: 2px;
  position: relative;
  z-index: 10;
}

#mobile_menu .gnav-stories li a:hover {
  background-color: #27324b;
}

#mobile_menu .gnav-stories li a:hover span {
  -webkit-transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
  transition: opacity 0.2s cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

#mobile_menu .gnav-stories-indent {
  text-indent: 0.3em;
}

#mobile_menu .gnav-stories-white-line {
  position: relative;
}

#mobile_menu .gnav-stories .top-white-line {
  position: absolute;
  top: 10px;
  left: 50.5%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

#mobile_menu .gnav-stories-ttl {
  display: block;
  color: #fff;
  padding: 1.5rem 2rem 1.5rem 3rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.5);
}*/

.fixed_logo {
  display: none;
}

#mobile_menu > input {
  display: none;
}

@media screen and (max-width: 1024px) {
  #mobile_menu {
    display: inline-block;
    position: absolute;
    z-index: 9999;
    top: 0;
    right: 0;
    width: 100%;
  }
  #mobile_menu > input {
    display: none;
  }
  #mobile_menu label.burger-btn {
    display: block;
    position: absolute;
    cursor: pointer;
    right: -10px;
    top: 0px;
    width: 50px;
    height: 40px;
    z-index: 9600;
    padding: 15px;
    -webkit-transform: skewX(-30deg);
            transform: skewX(-30deg);
    background: #215787;
  }
  #mobile_menu label.burger-btn:before {
    -webkit-box-shadow: #fff 0 5px 0;
    box-shadow: #fff 0 5px 0;
  }
  #mobile_menu label.burger-btn:after {
    bottom: 12px;
  }
  #mobile_menu label.burger-btn:before,
  #mobile_menu label.burger-btn:after {
    display: block;
    position: absolute;
    content: "";
    width: 16px;
    height: 3px;
    background: #fff;
    -webkit-transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
    transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
    transition: box-shadow 0.2s linear, transform 0.2s 0.2s;
    transition: box-shadow 0.2s linear, transform 0.2s 0.2s, -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
  }
  #mobile_menu > a {
    display: block;
    position: absolute;
    color: #fff;
    font-size: calc(4vw + 4px);
    font-weight: bold;
    text-align: center;
    right: 13vw;
    top: 2vw;
    width: 10vw;
    height: 9vw;
    padding: calc(3vw - 5px) 0 0;
    background: rgba(81, 81, 81, 0.9);
  }
  #mobile_menu .gnav-wrap {
    display: block;
    position: absolute;
    overflow: hidden;
    left: 0;
    top: -1200px;
    width: 100%;
    background: rgba(81, 81, 81, 0.9);
    opacity: 0;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    z-index: 4;
  }
  #mobile_menu input:checked ~ label.burger-btn {
    position: fixed;
  }
  #mobile_menu input:checked ~ label.burger-btn:before {
    -webkit-box-shadow: transparent 10px 10px 0;
    box-shadow: transparent 10px 10px 0;
    -webkit-transform: rotate(32deg) translate(-3px, 6.2px);
    transform: rotate(32deg) translate(-3px, 6.2px);
    background: #fff;
    height: 2px;
    width: 20px;
  }
  #mobile_menu input:checked ~ label.burger-btn:after {
    -webkit-transform: rotate(-63deg) translate(5.1px, -5px);
    transform: rotate(-63deg) translate(5.1px, -5px);
    background: #fff;
    width: 11.5px;
    height: 3.4px;
  }
  #mobile_menu input:checked ~ .gnav-wrap {
    position: fixed;
    overflow: auto;
    top: 40px;
    bottom: 0;
    overflow: scroll;
    opacity: 1;
  }
  #mobile_menu ul li li a::before {
    content: "└ ";
    display: inline-block;
  }
  #mobile_menu ul a {
    display: block;
    color: #fff;
    padding: 1.5rem 2rem 1.5rem 3rem;
    border-bottom: 1px solid #aaa;
  }
  #mobile_menu ul ul a {
    padding: 1.2rem 2rem 1.2rem 3rem;
    font-size: 1.4rem;
  }
  #mobile_menu ul li:last-child a {
    border-bottom: none;
  }
  #mobile_menu ul ul li:last-child a {
    border-bottom: 1px solid #aaa;
  }
}

/****************************
scope
****************************/
.scope {
  position: relative;
  z-index: 5;
  padding: 60px 0 0;
  background-color: #f8f8f8;
}

.scope__inner {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  border: 2px solid #c13932;
}

@media screen and (max-width: 960px) {
  .scope__inner {
    width: 80%;
  }
}

.scope__inner:hover,
.scope__inner:active {
  text-decoration: none;
  opacity: 1;
}

.scope__inner > dl {
  margin: 0;
}

.scope__title {
  padding: 14px 20px;
  font-family: "Clan-med";
  font-weight: bold;
  font-size: 86.66667%;
  text-align: center;
  color: #181818;
  border-bottom: 1px solid #c13932;
}

.scope__title:after {
  content: "";
  display: inline-block;
  position: relative;
  top: -1px;
  width: 16px;
  height: 14px;
  margin-left: 13px;
  vertical-align: middle;
  background-image: url("../img/icon_banner.png");
  background-position: 0 0;
  background-size: 100% 200%;
}

.scope__title > span {
  margin-right: 15px;
  font-size: 169.23077%;
  color: #c13932;
}

.scope__description {
  margin: 0;
  padding: 12px 20px;
  font-size: 93.33333%;
  text-align: center;
  color: #666;
}

@media screen and (min-width: 641px) {
  .footer--stories__sp-copyright {
    display: none;
  }
  .scope__inner:hover .scope__title {
    background-color: #c13932;
  }
  .scope__inner:hover .scope__title > span {
    color: #fff;
  }
  .scope__inner:hover .scope__title:after {
    background-position: 0 100%;
    background-size: 100% 200%;
  }
  .scope__inner:hover .scope__description {
    color: #c13932;
  }
}

@media screen and (max-width: 640px) {
  .scope {
    padding: 30px 20px;
  }
  .scope__inner {
    width: auto;
  }
  .scope__title:after {
    width: 14px;
    height: 12px;
    margin-left: 6px;
  }
  .scope__title {
    font-size: 80%;
  }
  .scope__title > span {
    display: block;
    font-size: 166.66667%;
  }
  .scope__description {
    font-size: 80%;
    text-align: left;
  }
}

/****************************
the stories
****************************/
.area {
  position: relative;
  width: 100%;
  padding: 40px 0;
  background-color: #f8f8f8;
}

.area__inner {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  padding: 0 20px;
}

@media screen and (max-width: 980px) {
  .area__inner {
    width: 80%;
  }
}

.area__divid {
  padding: 60px 0 20px;
  border-top: 1px solid #ddd;
}

.area__banner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  min-width: 960px;
  max-width: 1260px;
  margin: 0 auto;
  padding: 0 10px;
}

.area__banner > li {
  padding: 0 20px;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 590px;
  -webkit-flex: 1 1 590px;
          flex: 1 1 590px;
}

.area-nav {
  padding: 20px 0 0;
}

.area-nav h2 {
  margin-bottom: 30px;
  text-align: center;
}

.area-nav p {
  margin-top: 30px;
  padding-bottom: 30px;
  text-align: center;
}

.area-nav p a {
  display: block;
  position: relative;
  overflow: hidden;
  width: 123px;
  height: 30px;
  margin: 0 auto;
  text-decoration: none;
  background: #000;
  -webkit-transform: skew(-30deg);
  transform: skew(-30deg);
}

.area-nav p a span {
  display: block;
  padding: 7px 18px 0;
  font-family: "Clan-med";
  font-weight: bold;
  font-size: 73.33333%;
  text-align: center;
  letter-spacing: 1px;
  color: #fff;
  -webkit-transform: skew(30deg);
  transform: skew(30deg);
}

@media screen and (max-width: 1020px) {
  .area {
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .area {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    min-width: 100%;
    padding: 6.25% 0;
  }
  .area-nav {
    padding-top: 0;
  }
  .area-nav h2 {
    width: 35%;
    margin: 0 auto 20px;
  }
  .area-nav p {
    margin-top: 0;
    padding-bottom: 20px;
  }
  .area-nav p a {
    width: 110px;
    height: 20px;
    text-align: center;
  }
  .area-nav p a span {
    padding: 3px 0 0;
    font-size: 66.66667%;
  }
  .area__inner {
    width: 100%;
    padding: 0 20px;
  }
  .area__divid {
    padding: 0;
    border-top: 0;
  }
  .area__banner {
    display: block;
    min-width: 0;
    padding: 0;
  }
  .area__banner > li:not(:last-child) {
    margin-bottom: 20px;
  }
}

/****************************
localFooter(コピーライト、youtube、SNS)
****************************/
@media screen and (max-width: 767px) {
  .footer-stories {
    padding-bottom: 40px;
  }
}

.localFooter__inner:after,
.localFooter__share:after,
.localFooter ul:after {
  content: "";
  display: table;
  clear: both;
}

.localFooter {
  position: relative;
  background: #fff;
  -webkit-transform: translate3d(0, 0, 0);
}

.localFooter__inner {
  width: auto;
  width: 100%;
  margin: 0 auto;
  padding-left: 30px;
}

.localFooter .fook-footer {
  float: left;
  padding-top: 13px;
  font-family: ClanWeb-Medium;
  font-size: 66.66667%;
  letter-spacing: 1px;
  color: #999;
}

.localFooter__youtube {
  float: right;
  width: 180px;
  margin-right: 5px;
  padding-top: 12px;
  font-size: 66.66667%;
  text-align: right;
}

.localFooter__youtube a {
  font-family: ClanWeb-Medium;
  font-style: italic;
  text-decoration: none !important;
  letter-spacing: 1px;
  color: #999;
}

.localFooter__youtube img {
  position: relative;
  top: -1px;
  width: 20px !important;
  margin-right: 8px;
  vertical-align: middle;
}

.localFooter__share {
  float: right;
  margin: 0 0 0 10px;
  font-family: "Clan-med";
  font-weight: bold;
  font-size: 66.66667%;
  font-style: italic;
  color: #999;
  background: #efefef url("../img/iv_foot.png") left top no-repeat;
}

.localFooter__share > dt {
  float: left;
  padding-top: 13px;
  padding-right: 6px;
  padding-left: 32px;
  letter-spacing: 1px;
}

.localFooter__share > dd {
  float: left;
  overflow: hidden;
  margin: 0;
}

.localFooter ul {
  padding: 10px 10px;
}

.localFooter ul li {
  float: left;
  margin-left: 10px;
}

.localFooter ul li:first-child {
  margin-left: 0;
}

.localFooter ul li a {
  display: block;
  width: 20px;
}

.localFooter ul li a img {
  display: block;
  width: 20px !important;
  height: auto;
}

.footer--stories__sp-copyright p {
  height: 40px;
  font-family: ClanWeb-Medium;
  font-size: 10px;
  line-height: 40px;
  text-align: center;
  letter-spacing: 1px;
  letter-spacing: 0;
  color: #999;
  border-top: 1px #eee solid;
}

@media screen and (max-width: 640px) {
  .localFooter__inner {
    width: 100%;
    min-width: 0;
    padding: 0;
  }
  .localFooter .fook-footer {
    display: none;
  }
  .localFooter__youtube {
    float: left;
    width: auto;
    margin-right: 0;
    padding-left: 4%;
  }
  .localFooter__youtube a {
    letter-spacing: 0;
  }
  .localFooter__share > dt {
    letter-spacing: 0;
  }
  .localFooter ul {
    padding-right: 20px;
  }
}

@media screen and (min-width: 641px) {
  .footer--stories__sp-copyright {
    display: none;
  }
}

.footer {
  background: #4a4a4d;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .footer {
    padding: 5px 0;
  }
}

@media screen and (max-width: 767px) {
  .top-footer {
    margin-bottom: 4rem;
  }
}

.footer-left {
  width: calc(100% - 210px);
  -webkit-box-pack: start;
  -webkit-justify-content: flex-start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

@media screen and (max-width: 767px) {
  .footer-left {
    width: 100%;
  }
}

.foot_link {
  font-size: 1.1rem;
  width: 322px;
  font-weight: bold;
  margin-right: 2rem;
}

.foot_link a:hover {
  color: #fff;
}

.foot_link li {
  padding: 0;
}

@media screen and (max-width: 767px) {
  .foot_link {
    width: 100%;
    margin-right: 0;
  }
  .foot_link ul {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .foot_link li {
    padding-right: 1rem;
  }
}

.copy {
  width: 400px;
}

@media screen and (max-width: 767px) {
  .copy {
    width: 100%;
  }
}

.copy small {
  font-size: 1.1rem;
  color: #bbb;
}

@media screen and (max-width: 767px) {
  .copy small {
    font-size: 1rem;
    width: 100%;
  }
}

.main-visual img.main-visual-bg {
  width: 100%;
  height: 120vh;
  max-height: 1000px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 0% 100%;
     object-position: 0% 100%;
  position: absolute;
  z-index: -1;
  top: 0;
}

@media screen and (max-width: 1024px) {
  .main-visual img.main-visual-bg {
    max-height: 780px;
  }
}

@media screen and (max-width: 767px) {
  .main-visual img.main-visual-bg {
    max-height: 740px;
  }
}

.main-visual {
  padding: 110px 0 80px;
  color: #fff;
}

.main-visual.parallax {
  position: relative;
  height: 120vh;
  max-height: 1000px;
}

@media screen and (max-width: 1024px) {
  .main-visual.parallax {
    max-height: 780px;
    padding: 60px 0 80px;
  }
}

@media screen and (max-width: 767px) {
  .main-visual.parallax {
    height: 100vh;
  }
}

@media screen and (max-width: 413px) {
  .main-visual.parallax {
    max-height: 770px;
    height: 120vh;
  }
}

@media screen and (max-width: 374px) {
  .main-visual.parallax {
    max-height: 800px;
    height: 150vh;
  }
}

.main-visual p {
  text-shadow: 0px 0px 8px #001c44, 0px 0px 8px #001c44, 0px 0px 50px #001c44;
  line-height: 2;
  margin-bottom: 2rem;
}

@media screen and (max-width: 767px) {
  .main-visual p {
    margin-bottom: 1rem;
  }
}

.main-visual h2 {
  text-shadow: 0px 0px 8px #001c44, 0px 0px 50px #001c44;
  font-weight: bold;
  margin-bottom: 3rem;
  font-size: 3.4rem;
}

@media screen and (max-width: 767px) {
  .main-visual h2 {
    font-size: 2.4rem;
    margin-bottom: 1rem;
  }
}

.main-visual-catch {
  margin-bottom: 10rem;
  margin-left: 6vw;
}

.main-visual-catch p {
  font-size: 2.4rem;
}

@media screen and (max-width: 1024px) {
  .main-visual-catch {
    margin-left: 0;
    margin-bottom: 8rem;
  }
  .main-visual-catch p {
    font-size: 1.5rem;
  }
}

.main-visual-logo {
  margin-left: -3rem;
}

@media screen and (max-width: 1024px) {
  .main-visual-logo {
    margin-left: -2.5rem;
  }
}

@media screen and (max-width: 767px) {
  .main-visual-logo {
    margin-left: -1rem;
  }
}

.main-visual-subcatch {
  width: 70%;
  margin-left: 30%;
}

.main-visual-subcatch p {
  font-size: 1.6rem;
  letter-spacing: 0;
}

@media screen and (max-width: 1024px) {
  .main-visual-subcatch {
    width: 100%;
    margin-left: 0%;
  }
  .main-visual-subcatch p {
    font-size: 1.4rem;
    letter-spacing: 0;
    line-height: 1.6;
  }
}

.main-visual-subcatch-con {
  opacity: 0;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: translate(0, 30px);
  transform: translate(0, 30px);
}

.fadein-block {
  opacity: 0;
  -webkit-transition: 1s;
  transition: 1s;
  -webkit-transform: translate(0, 30px);
  transform: translate(0, 30px);
}

.fadein {
  opacity: 1.0;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.lead-block p {
  line-height: 2.2;
  margin-bottom: 2rem;
}

.society-block {
  background: url(../img/society_bg01.jpg) 0 0 no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

.society-box {
  padding: 5rem 12rem 6rem;
}

@media screen and (max-width: 1024px) {
  .society-box {
    padding: 4rem;
  }
}

@media screen and (max-width: 767px) {
  .society-box {
    padding: 4rem 3rem;
  }
}

.society-box h2 {
  margin-bottom: 3rem;
}

@media screen and (max-width: 767px) {
  .society-box h2 {
    width: 90%;
    margin: 0 auto 3rem;
  }
}

.society-box p {
  width: 90%;
  margin: 0 auto 3rem;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .society-box p {
    width: 100%;
  }
}

.bg-op-white {
  background: rgba(255, 255, 255, 0.8);
}

.hr-ttl-block {
  background: url(../img/hr_bg01.jpg) 0 0 no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

.hr-ttl-block h2 {
  margin-bottom: 4rem;
}

.hr-ttl-block figure {
  margin-bottom: 4rem;
}

@media screen and (max-width: 767px) {
  .hr-ttl-block h2 {
    width: 100%;
    margin: 0 auto 2rem;
  }
  .hr-ttl-block figure {
    width: 60%;
    margin: 0 auto 2rem;
  }
}

.parallelogram {
  width: 56px;
  height: 614px;
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
}

.parallelogram.bg-op-blue {
  background: rgba(33, 87, 135, 0.65);
  z-index: -100;
}

.parallelogram.bg-op-green {
  background: rgba(105, 190, 40, 0.7);
  z-index: 100;
}

.parallelogram.bg-op-orange {
  background: rgba(231, 116, 0, 0.5);
  z-index: -100;
}

@media screen and (max-width: 1024px) {
  .parallelogram {
    width: 35px;
    height: 400px;
  }
}

@media screen and (max-width: 767px) {
  .parallelogram {
    width: 20px;
    height: 210px;
  }
}

.back01 {
  top: 30px;
  left: 200px;
}

@media screen and (max-width: 1024px) {
  .back01 {
    top: -8px;
    left: 80px;
  }
}

@media screen and (max-width: 767px) {
  .back01 {
    top: -8px;
    left: 30px;
  }
}

.back02 {
  top: 120px;
  left: 42px;
}

@media screen and (max-width: 1024px) {
  .back02 {
    top: 67px;
    left: -28px;
  }
}

@media screen and (max-width: 767px) {
  .back02 {
    top: 27px;
    left: -28px;
  }
}

.shadow-box {
  min-height: 26rem;
  padding: 2rem;
  background: rgba(255, 255, 255, 0.9);
  display: -webkit-flex;
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: 6rem;
  width: calc(48% - 6rem);
}

.shadow-box.blue {
  -webkit-box-shadow: 10px 10px 0 rgba(33, 87, 135, 0.9);
          box-shadow: 10px 10px 0 rgba(33, 87, 135, 0.9);
}

.shadow-box.orange {
  -webkit-box-shadow: 10px 10px 0 rgba(238, 120, 0, 0.9);
          box-shadow: 10px 10px 0 rgba(238, 120, 0, 0.9);
  width: 37rem;
  padding: 2rem 1rem 2rem 3rem;
  margin-left: 10rem;
}

@media screen and (max-width: 1024px) {
  .shadow-box.orange {
    margin-left: 0;
    width: 48%;
  }
}

@media screen and (max-width: 767px) {
  .shadow-box.orange {
    width: calc(100% - 10px);
  }
}

@media screen and (max-width: 1024px) {
  .shadow-box {
    margin-left: 0;
    width: 48%;
  }
}

@media screen and (max-width: 767px) {
  .shadow-box {
    width: 100%;
    margin-left: 0;
    min-height: 160px;
    margin-bottom: 4rem;
    padding: 1.1rem;
  }
  .shadow-box div {
    width: 270px;
    margin: auto;
  }
}

.border-box {
  padding: 4rem 5rem;
  background: #fff;
}

.border-box.blue {
  border: 3px solid #215787;
}

.border-box.green {
  border: 3px solid #45b035;
}

.border-box.orange {
  border: 3px solid #ee7800;
}

@media screen and (max-width: 767px) {
  .border-box {
    padding: 2rem 1.5rem;
  }
}

.bg-production01 {
  background: url(../img/hr_bg02.jpg) 50% 50% no-repeat;
  background-size: cover;
  min-height: 56rem;
  margin-top: -6rem;
  z-index: -10;
  margin-bottom: 8rem;
}

@media screen and (max-width: 1024px) {
  .bg-production01 {
    min-height: 46rem;
  }
}

@media screen and (max-width: 767px) {
  .bg-production01 {
    margin-top: 0;
    min-height: 22rem;
    margin-bottom: calc(60rem - 40vw);
  }
}

.bg-production01 .absolute {
  bottom: 5rem;
  right: calc(50% - 500px);
  width: 43rem;
  z-index: 10;
  padding: 2rem;
}

@media screen and (max-width: 1024px) {
  .bg-production01 .absolute {
    right: 20px;
  }
}

@media screen and (max-width: 767px) {
  .bg-production01 .absolute {
    top: 24rem;
    right: 20px;
    width: calc(100% - 40px);
    bottom: auto;
  }
}

.bg-production02 {
  background: url(../img/hr_bg03.jpg) 50% 50% no-repeat;
  background-size: cover;
  min-height: 56rem;
  margin-top: -6rem;
  margin-bottom: 4rem;
  z-index: -10;
  padding: 10rem 0;
}

@media screen and (max-width: 1024px) {
  .bg-production02 {
    padding: 8rem 20px;
    min-height: 36rem;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .bg-production02 {
    padding: 20px;
    margin-top: 0;
    min-height: 22rem;
  }
}

.triangle-bottom-right::after {
  position: absolute;
  bottom: 0;
  right: 0;
  content: "";
  width: 19.9rem;
  height: 37.6rem;
  background-size: contain;
}

@media screen and (max-width: 767px) {
  .triangle-bottom-right::after {
    width: 5rem;
    height: 9.4rem;
    background-size: contain;
  }
}

.triangle-bottom-right.blue::after {
  background: url(../img/triangle-blue.png) 0 0 no-repeat;
  background-size: contain;
}

.triangle-bottom-right.green::after {
  background: url(../img/triangle-green.png) 0 0 no-repeat;
  z-index: 300;
  background-size: contain;
}

.triangle-bottom-right.orange::after {
  background: url(../img/triangle-orange.png) 0 0 no-repeat;
  background-size: contain;
}

.triangle-top-left::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 16vw;
  height: 27vw;
  background-size: contain;
}

@media screen and (max-width: 1024px) {
  .triangle-top-left::after {
    width: 9vw;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  .triangle-top-left::after {
    width: 5rem;
    height: 9.4rem;
    background-size: contain;
  }
}

.triangle-top-left.green::after {
  background: url(../img/triangle-green-reverse.png) 0 0 no-repeat;
  z-index: -100;
  background-size: contain;
}

.txt-blue-bold {
  font-weight: bold;
  color: #215787;
  margin-bottom: 2rem;
}

.txt-white {
  color: #fff;
  letter-spacing: 0;
  line-height: 2;
}

.txt-shadow {
  text-shadow: 0px 0px 5px #000, 0px 0px 20px #000;
}

.bg-light-green {
  background: #e5f6d7;
  padding: 9rem 0;
}

@media screen and (max-width: 767px) {
  .bg-light-green {
    padding: 3rem 0;
  }
}

.bg-trans-storage01 {
  background: url(../img/hr_bg04.jpg) 50% 50% no-repeat;
  background-size: cover;
  min-height: 56rem;
  z-index: 200;
  padding: 20rem 0 4rem;
  margin-bottom: 5rem;
}

@media screen and (max-width: 767px) {
  .bg-trans-storage01 {
    padding: 3rem 0;
  }
}

.bg-trans-storage01 .l-wrap-left {
  width: calc(100% - 255px);
}

@media screen and (max-width: 767px) {
  .bg-trans-storage01 .l-wrap-left {
    width: 100%;
  }
}

.bg-trans-storage01 figure {
  margin-top: 4rem;
}

@media screen and (max-width: 767px) {
  .bg-trans-storage01 figure {
    margin-top: 0;
    width: 100%;
    text-align: center;
  }
  .bg-trans-storage01 figure img {
    width: 150px;
  }
}

.trans-storage-block .width-other {
  width: 27.6%;
}

@media screen and (max-width: 767px) {
  .trans-storage-block .width-other {
    width: 100%;
  }
}

.bg-transpotaion01 {
  background: url(../img/hr_bg05.jpg) 50% 50% no-repeat;
  background-size: cover;
  min-height: 70rem;
  margin-top: -9rem;
  z-index: -10;
  padding: 16rem 0;
}

@media screen and (max-width: 1024px) {
  .bg-transpotaion01 {
    min-height: 46rem;
  }
}

@media screen and (max-width: 767px) {
  .bg-transpotaion01 {
    padding: 3rem 0;
    background: url(../img/hr_bg05_lt.png) left top no-repeat, #e5f6d7 url(../img/hr_bg05_rb.png) right bottom no-repeat;
    background-size: 85px 156px, 99px 166px;
    margin-top: 0;
    min-height: 22rem;
  }
}

.bg-transpotaion01 .border-box {
  padding: 4rem 5rem;
}

@media screen and (max-width: 767px) {
  .bg-transpotaion01 .border-box {
    padding: 2rem 1.5rem;
  }
}

.w100p {
  width: 100%;
}

.box-borderless {
  padding: 20px;
}

.box-borderless .heading-md {
  text-shadow: 0px 0px 8px #fff, 0px 0px 50px #fff;
}

.big-ship-block {
  background: url(../img/hr_img10.png) right bottom no-repeat;
  min-height: 44vw;
  padding: 8vw 0;
  background-size: 70vw;
}

@media screen and (max-width: 767px) {
  .big-ship-block {
    background: url(../img/hr_img10_sp.png) right bottom no-repeat;
    min-height: calc(44rem + 30vw);
    padding: 3rem 0;
    background-size: 90vw;
  }
}

@media screen and (max-width: 374px) {
  .big-ship-block {
    min-height: calc(50rem + 30vw);
  }
}

@media screen and (max-width: 767px) {
  .transpotaion02 {
    padding-bottom: 0;
  }
}

.transpotaion02-block {
  position: relative;
  padding: 9rem 0 7rem;
}

.transpotaion02-block .border-box {
  position: absolute;
  width: 48%;
  padding: 4rem 5rem;
  z-index: 100;
}

.transpotaion02-block .border-box.top-right {
  top: 20px;
  right: 0;
}

.transpotaion02-block .border-box.top-left {
  top: 20px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .transpotaion02-block .border-box {
    position: static;
    width: 100%;
    padding: 2rem 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .transpotaion02-block {
    padding: 0 0 5rem;
  }
  .transpotaion02-block figure img {
    width: 100%;
  }
}

.bg-storage01 {
  background: url(../img/hr_bg06.jpg) 50% bottom no-repeat;
  background-size: cover;
  min-height: 50rem;
}

@media screen and (max-width: 767px) {
  .bg-storage01 {
    min-height: 19rem;
    margin-top: -5rem;
  }
}

@media screen and (max-width: 767px) {
  .utilization-block .ml4p {
    margin-left: 0;
  }
}

.tank-block {
  position: relative;
  padding: 12rem 2rem;
}

.tank-block .top-minus {
  position: absolute;
  top: -8rem;
  width: 48%;
}

.tank-block .border-box {
  margin-bottom: 3rem;
}

.tank-block .tar.second {
  margin: 7rem 0 0 0;
}

.tank-block .middle-minus {
  position: absolute;
  top: 35rem;
  left: 25rem;
  width: 48%;
  z-index: 100;
}

.tank-block .tal {
  margin: 27rem 0 0 0;
}

@media screen and (max-width: 767px) {
  .tank-block {
    padding: 2rem;
  }
  .tank-block figure img {
    width: 100%;
  }
  .tank-block .top-minus {
    position: static;
    width: 100%;
  }
  .tank-block .middle-minus {
    position: static;
    width: 100%;
  }
  .tank-block .tal {
    margin: 0 0 0 0;
  }
}

.gas_turbines-block {
  position: relative;
  padding: 10rem 0;
  height: 107rem;
}

.gas_turbines-block .border-box {
  position: absolute;
  top: 10rem;
  right: 2rem;
  width: 49rem;
  z-index: 30;
}

.gas_turbines-block figure {
  position: absolute;
}

.gas_turbines-block figure:nth-of-type(1) {
  left: 0;
  top: 28rem;
  z-index: 20;
}

.gas_turbines-block figure:nth-of-type(2) {
  right: 0;
  bottom: 10rem;
  z-index: 10;
}

@media screen and (max-width: 1024px) {
  .gas_turbines-block {
    padding: 3rem 20px;
    height: 93rem;
  }
  .gas_turbines-block .border-box {
    width: 60%;
    top: 3rem;
    right: 20px;
  }
  .gas_turbines-block figure {
    width: 60%;
  }
  .gas_turbines-block figure:nth-of-type(1) {
    left: 20px;
    top: 28rem;
  }
  .gas_turbines-block figure:nth-of-type(2) {
    right: 20px;
    bottom: 10rem;
  }
}

@media screen and (max-width: 767px) {
  .gas_turbines-block {
    padding: 3rem 20px;
    height: auto;
  }
  .gas_turbines-block .border-box {
    position: static;
    width: 100%;
  }
  .gas_turbines-block figure {
    position: static;
    width: 100%;
  }
  .gas_turbines-block figure img {
    width: 100%;
  }
}

.bg-cgs {
  background: url(../img/hr_bg07.jpg) 50% 50% no-repeat;
  background-size: cover;
  padding: 5rem 0;
}

.border-op-box {
  padding: 6rem 7rem 3rem;
  background: rgba(255, 255, 255, 0.9);
  position: relative;
  z-index: 200;
}

.border-op-box.orange {
  border: 3px solid #ee7800;
}

@media screen and (max-width: 1024px) {
  .border-op-box {
    padding: 4rem 5rem 2rem;
  }
}

@media screen and (max-width: 767px) {
  .border-op-box {
    padding: 2rem 2rem 1rem;
  }
  .border-op-box img {
    width: 90px;
  }
}

.bg-orange-block {
  background: #e98219;
  padding: 1rem;
  color: #fff;
}

.bg-orange-block p {
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0 3rem 0 1rem;
}

@media screen and (max-width: 767px) {
  .bg-orange-block p {
    padding: 0 0 1rem;
  }
}

.supplement-block {
  font-size: 1.2rem;
  line-height: 1.5;
  padding-left: 6%;
}

@media screen and (max-width: 767px) {
  .supplement-block {
    padding-left: 0;
  }
}

.supplement-block .l-flex-col-3 {
  padding: 0 1rem;
}

@media screen and (max-width: 767px) {
  .supplement-block .l-flex-col-3 {
    padding: 0;
  }
}

.parallelogram-shadow {
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
  display: inline-block;
  background: #fff;
  padding: 1rem 2rem;
}

.parallelogram-shadow span {
  -webkit-transform: skewx(30deg);
          transform: skewx(30deg);
  display: inline-block;
}

.parallelogram-shadow.orange {
  color: #e98219;
  -webkit-box-shadow: 5px 5px 0 #e45f06;
          box-shadow: 5px 5px 0 #e45f06;
}

.parallelogram-shadow.orange:hover {
  background: #e45f06;
  color: #fff;
  -webkit-box-shadow: 5px 5px 0 #ee7800;
          box-shadow: 5px 5px 0 #ee7800;
}

@media screen and (max-width: 767px) {
  .parallelogram-shadow {
    display: block;
    margin: 0 calc((100% - 150px) / 2);
    width: 150px;
  }
}

.bg-black-block {
  background: #000;
  color: #fff;
}

.wet-burner-block {
  min-height: 106rem;
  position: relative;
  padding-top: 40rem;
}

.wet-burner-block .relative {
  position: relative;
  z-index: 1000;
}

.wet-burner-block .relative div {
  padding: 2rem;
  background: rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 1200px) {
  .wet-burner-block {
    padding-top: 36vw;
  }
}

@media screen and (max-width: 767px) {
  .wet-burner-block {
    padding-top: 0;
  }
}

.wet-burner-img01 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}

@media screen and (max-width: 1200px) {
  .wet-burner-img01 img {
    width: 80vw;
  }
}

@media screen and (max-width: 767px) {
  .wet-burner-img01 {
    position: static;
  }
  .wet-burner-img01 img {
    width: 98%;
  }
}

.wet-burner-img02 {
  position: absolute;
  top: 8rem;
  right: 5%;
}

@media screen and (max-width: 1200px) {
  .wet-burner-img02 {
    top: 15rem;
    right: 1%;
  }
}

@media screen and (max-width: 767px) {
  .wet-burner-img02 {
    position: static;
  }
}

.wet-burner-img03 {
  position: absolute;
  bottom: 0;
  right: 10%;
}

@media screen and (max-width: 767px) {
  .wet-burner-img03 {
    position: static;
  }
}

.gas_turbines-img {
  padding: 14rem 0  5rem;
}

@media screen and (max-width: 767px) {
  .gas_turbines-img {
    padding: 2rem 0;
  }
}

.gas_turbines-caption {
  padding-left: 4vw;
  padding-right: 6vw;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  .gas_turbines-caption {
    padding: 2rem 0;
  }
}

.link-out {
  vertical-align: baseline;
}

@media screen and (max-width: 767px) {
  .link-out {
    width: 16px !important;
    height: 16px !important;
    display: inline-block !important;
  }
}

a:hover .link-out {
  opacity: 1;
}

/*
====== Zoom effect ======
*/
.mfp-zoom-in {
  /* start state */
  /* animate in */
  /* animate out */
}

.mfp-zoom-in .mfp-with-anim {
  opacity: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
}

.mfp-zoom-in.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.mfp-zoom-in.mfp-ready .mfp-with-anim {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}

.mfp-zoom-in.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-zoom-in.mfp-removing .mfp-with-anim {
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  opacity: 0;
}

.mfp-zoom-in.mfp-removing.mfp-bg {
  opacity: 0;
}

.heading-news {
  width: 29rem;
  float: left;
}

@media screen and (max-width: 1024px) {
  .heading-news {
    width: 19rem;
  }
}

@media screen and (max-width: 767px) {
  .heading-news {
    width: 100%;
    float: none;
  }
}

.news-list {
  width: calc(100% - 29rem);
}

.news-list dt {
  float: left;
  width: 7em;
}

.news-list dd {
  padding-left: 7em;
  margin-bottom: 1rem;
}

.news-list a {
  color: #666;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.news-list a:hover {
  text-decoration: underline;
  opacity: 0.8;
}

@media screen and (max-width: 1024px) {
  .news-list {
    width: calc(100% - 19rem);
  }
}

@media screen and (max-width: 767px) {
  .news-list {
    width: 100%;
  }
}

.mass-media-block .heading-parallelogram {
  width: 30rem;
}

.list a {
  color: #666;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.list a:hover {
  text-decoration: underline;
}

.list img {
  margin-bottom: 1rem;
}

.list time {
  display: block;
}

.list li {
  margin-bottom: 6rem;
}

@media screen and (max-width: 767px) {
  .list .l-flex-col-3 {
    width: 48%;
  }
}

@media screen and (max-width: 414px) {
  .list .l-flex-col-3 {
    width: 314px;
    margin-left: auto;
    margin-right: auto;
  }
}

.link-list a {
  color: #666;
}

.link-list a:hover {
  text-decoration: underline;
}

.link-list .link-hydro {
  display: block;
}

.link-list .link-hydro:after {
  content: "\f35d";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 1rem;
}

.link-list div {
  height: 6.2rem;
  width: 100%;
  margin-bottom: 2rem;
}

.link-list li {
  padding: 2rem;
}

.link-list li:not(:last-child) {
  border-right: 1px solid #215787;
}

@media screen and (max-width: 767px) {
  .link-list li:not(:last-child) {
    border-right: 0;
    border-bottom: 1px solid #215787;
  }
}

@media screen and (min-width: 767px) {
  .link-list .nedo img {
    width: 100%;
  }
}

.his-ttl-block {
  padding-top: 10rem;
  padding-bottom: 3rem;
  min-height: 69rem;
  background: url(../img/bg_50years.png) 50% bottom no-repeat;
}

@media screen and (max-width: 1024px) {
  .his-ttl-block {
    padding: 4rem 2rem 1rem;
    background-size: contain;
    min-height: auto;
  }
}

@media screen and (max-width: 568px) {
  .his-ttl-block {
    padding: 4rem 1rem 1rem;
  }
}

.tag-list {
  margin-bottom: 15rem;
}

@media screen and (max-width: 1024px) {
  .tag-list {
    margin-bottom: 3vw;
  }
}

.tag-parallelogram {
  -webkit-transform: skewX(-30deg);
          transform: skewX(-30deg);
  width: 20.5rem;
  padding: 7px 10px;
  text-align: center;
  margin: 0 0.3rem;
  line-height: 1.5;
  color: #fff;
}

@media screen and (max-width: 1024px) {
  .tag-parallelogram {
    font-size: 2vw;
    width: 22vw;
  }
}

.tag-parallelogram span {
  -webkit-transform: skewX(30deg);
          transform: skewX(30deg);
  display: inline-block;
}

.tag-parallelogram.blue {
  background: #215787;
}

@media screen and (max-width: 568px) {
  .tag-parallelogram.blue {
    margin-bottom: 1.5rem;
  }
}

.tag-parallelogram.green {
  background: #45b035;
}

@media screen and (max-width: 568px) {
  .tag-parallelogram.green {
    margin-bottom: 1.5rem;
  }
}

.tag-parallelogram.orange {
  background: #ee7800;
}

.tag-parallelogram.light-blue {
  background: #72a1c7;
}

@media screen and (max-width: 568px) {
  .sp-width {
    width: 43vw;
    font-size: 4vw;
  }
}

.bg-history {
  background: #333 url(../img/bg_history.png) 50% top no-repeat;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .bg-history {
    background: #333 url(../img/bg_history_sp.png) 50% top repeat-y;
    background-size: 100%;
  }
}

@media screen and (max-width: 1024px) {
  .his_arrow_bottom img {
    width: 7%;
  }
}

.history-block {
  position: relative;
}

.history-block:before {
  content: "";
  display: block;
  position: absolute;
  width: 3px;
  height: 100%;
  top: 0;
  left: calc(160px + (100vw - 1000px) / 2);
  background: #e60012;
  z-index: 1000;
}

@media screen and (max-width: 1024px) {
  .history-block:before {
    left: calc(12vw + 21px);
  }
}

.point-red {
  position: relative;
}

.point-red:before {
  content: "";
  display: block;
  position: absolute;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  top: 0;
  left: calc(149px + (100vw - 1000px) / 2);
  background: #e60012;
  z-index: 1000;
}

@media screen and (max-width: 1024px) {
  .point-red:before {
    left: calc(12vw + 15px);
    width: 14px;
    height: 14px;
  }
}

.his-block-1970 {
  background: url(../img/bg_1970s.png) right 230px no-repeat;
}

.his-block-1980 {
  background: url(../img/bg_1980s.png) right 230px no-repeat;
}

.his-block-1990 {
  background: url(../img/bg_1990s.png) right 0 no-repeat;
}

.his-block-2000 {
  background: url(../img/bg_2000s.png) right 0 no-repeat;
}

.his-block-2010 {
  background: url(../img/bg_2010s.png) right 230px no-repeat;
  padding-bottom: 25rem;
}

@media screen and (max-width: 767px) {
  .his-block-2010 {
    padding-bottom: 0;
  }
}

@media screen and (max-width: 1024px) {
  .his-block-bg {
    background-size: 90%;
    background-position: right;
  }
}

@media screen and (max-width: 767px) {
  .his-block-bg {
    background: none;
  }
}

.year-img {
  width: 15rem;
  margin-top: -1rem;
}

@media screen and (max-width: 1024px) {
  .year-img {
    width: 10vw;
    margin-top: -0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .year-img {
    margin-top: -1rem;
    margin-left: -0.7rem;
  }
}

.history-list {
  width: calc(100% - 15rem);
  padding-left: 8rem;
}

.history-list li {
  margin-bottom: 10rem;
}

@media screen and (max-width: 1024px) {
  .history-list {
    width: calc(100% - 10vw);
    padding-left: 5vw;
  }
}

@media screen and (max-width: 767px) {
  .history-list {
    padding-left: 8vw;
  }
  .history-list li {
    display: block;
    margin-bottom: 5rem;
  }
}

.his-tag {
  width: 28%;
}

@media screen and (max-width: 767px) {
  .his-tag {
    width: 100%;
    padding-left: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .his-tag .tag-parallelogram {
    font-size: 1.4rem;
    width: 22rem;
    margin-bottom: 1rem;
  }
}

.his-con {
  color: #fff;
  width: 38%;
  padding: 0 3rem;
}

@media screen and (max-width: 767px) {
  .his-con {
    width: 100%;
    padding: 0;
    margin-bottom: 1rem;
  }
}

.his-img {
  width: 34%;
}

@media screen and (max-width: 767px) {
  .his-img {
    width: 100%;
    margin-bottom: 1rem;
  }
}
/*# sourceMappingURL=style.css.map */