@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"); }

* {
  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;
  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%;
  transition: 0.3s; }

a {
  color: #fff;
  text-decoration: none;
  transition: 0.3s; }
  a img {
    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;
  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: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: pointer; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-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;
  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;
  box-shadow: none;
  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%;
  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;
  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; }

@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;
    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: flex;
  flex-wrap: wrap;
  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;
  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: flex; }

.jcfs {
  justify-content: flex-start; }

.jcsb {
  justify-content: space-between; }

.jcsa {
  justify-content: space-around; }

.jcc {
  justify-content: center; }

.jcfe {
  justify-content: flex-end; }

.fxww {
  flex-wrap: wrap; }

.fxdrr {
  flex-direction: row-reverse; }

.aic {
  align-items: center; }

.aife {
  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: flex;
    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;
  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 {
  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 {
    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;
  transform: skewX(-30deg); }
  .para-orange-ttl span {
    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: -moz-linear-gradient(top, #fef7f0 0%, rgba(229, 229, 229, 0) 100%);
  background: -webkit-linear-gradient(top, #fef7f0 0%, rgba(229, 229, 229, 0) 100%);
  background: linear-gradient(to bottom, #fef7f0 0%, rgba(229, 229, 229, 0) 100%);
  color: #4a4a4d;
  transform: skewX(-30deg); }
  .para-grad-ttl span {
    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;
    transform: skewX(-30deg);
    position: absolute;
    top: 4px;
    left: calc(-4vw - (100vw - 1000px) / 2); }
  .heading-before-para::after {
    content: "";
    display: block;
    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; }
  @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: flex;
  align-items: center;
  width: 40%; }
  @media screen and (max-width: 1024px) {
    .head_top_left {
      width: 60%;
      justify-content: flex-start; } }
  @media screen and (max-width: 767px) {
    .head_top_left {
      width: 100%;
      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 {
  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;
    transform: skewX(-30deg); }
    @media screen and (max-width: 1024px) {
      .gnav a {
        padding: 0;
        transform: skewX(0deg); } }
    .gnav a:hover {
      background: #215787;
      color: #fff; }
    .gnav a span {
      transform: skewX(30deg);
      display: inline-block; }
      @media screen and (max-width: 1024px) {
        .gnav a span {
          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 {
      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 {
      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%;
    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;
    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: box-shadow 0.2s linear, 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;
  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;
  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: 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;
  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);
      -ms-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);
        -ms-transform: skew(30deg);
        transform: skew(30deg); }

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

@media screen and (max-width: 640px) {
  .area {
    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);
  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 {
        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;
  object-fit: cover;
  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;
  transition: 1s;
  -webkit-transform: translate(0, 30px);
  transform: translate(0, 30px); }

.fadein-block {
  opacity: 0;
  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;
  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: flex;
  align-items: center;
  margin-left: 6rem;
  width: calc(48% - 6rem); }
  .shadow-box.blue {
    box-shadow: 10px 10px 0 rgba(33, 87, 135, 0.9); }
  .shadow-box.orange {
    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; }
  @media screen and (max-width: 767px) {
    .tank-block {
      padding: 2rem; }
      .tank-block figure img {
        width: 100%; }
      .tank-block .top-minus {
        position: static;
        width: 100%; } }

.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 {
  transform: skewX(-30deg);
  display: inline-block;
  background: #fff;
  padding: 1rem 2rem; }
  .parallelogram-shadow span {
    transform: skewx(30deg);
    display: inline-block; }
  .parallelogram-shadow.orange {
    color: #e98219;
    box-shadow: 5px 5px 0 #e45f06; }
    .parallelogram-shadow.orange:hover {
      background: #e45f06;
      color: #fff;
      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;
    transition: all 0.3s ease-in-out;
    transform: scale(0.8); }
  .mfp-zoom-in.mfp-bg {
    opacity: 0;
    transition: all 0.3s ease-out; }
  .mfp-zoom-in.mfp-ready .mfp-with-anim {
    opacity: 1;
    transform: scale(1); }
  .mfp-zoom-in.mfp-ready.mfp-bg {
    opacity: 0.8; }
  .mfp-zoom-in.mfp-removing .mfp-with-anim {
    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;
    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;
  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 {
  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 {
    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; } }
