body {
  -webkit-text-size-adjust: 100%;
  line-height: 1.6em;
}

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

a[href^="tel:"] {
  pointer-events: auto;
}

.pc-only {
  display: none;
}

.sp-only {
  display: inline;
}

/* color============================================ */
/* bgWrap============================================ */
.bgWrap {
  /*background: linear-gradient( #E8FCFF, #2A71B4), url("../img/bg.png") no-repeat center top 55px;*/
  background: none;
  background-attachment: fixed;
  background-size: cover;
  -webkit-background-size: cover;
}
.bgWrap:before {
  background: url("../img/bg_sp.jpg") no-repeat center top 16px;
  /*test*/
  background-size: auto 100vh;
  -webkit-background-size: auto 100vh;
  content: "";
  padding: 20% 0 0;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -2;
  -webkit-animation: fade-in ease 1.25s;
  animation: fade-in ease 1.25s;
}

/* allWrap============================================ */
.allWrap {
  padding: 20% 0 0;
}

.allWrap_bg {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  background: url("../img/bg_sp.jpg") no-repeat center top 16px;
  background-size: auto 100vh;
  -webkit-background-size: auto 100vh;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  -webkit-animation: fade-in ease 1.25s;
  animation: fade-in ease 1.25s;
}

/* header============================================ */
.header {
  width: 100%;
  min-width: auto;
  padding: 0 2% 2%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.header > div {
  width: 33%;
}
.header > div .lang {
  bottom: -5px;
  width: 105px;
}
.header > div .lang .acc-label::after {
  right: -2%;
}
.header .logo02 {
  width: 46%;
  margin: 4% 0;
}
.header .logo {
  width: auto;
}

/* contentsWrap============================================ */
.contentsWrap01 {
  padding: 0;
}

/* l_main============================================ */
.l_main {
  padding: 5% 0 0;
}
.l_main h1 {
  background: rgba(0, 31, 116, 0.7);
  border-radius: 55px;
  margin: 0 auto 0;
  font-size: 1em;
  line-height: 1.6em;
  padding: 2% 5%;
}
.l_main h1 .l_main_text01, .l_main h1 .l_main_text02 {
  font-size: 1em;
}
.l_main h1 .l_main_text03 {
  font-size: 1.1em;
}
.l_main .l_main_text04 {
  margin: 13px 0 0;
  text-align: right;
}
.l_main .l_main_text04 img {
  width: min(90%, 934px);;
}
.l_main .l_main_text04 .btn_mv_link_hydrogen {
  font-size: 4.8vw;
  padding: 0.2em 0.5em;
  top: 30vw;
  left: 7.55vw;
}
.l_main .l_main_text05 {
  font-size: 1.35em;
  line-height: 1.6em;
  margin: 15px 0 0;
}
.l_main .mvicon {
  position: fixed;
  top: 30%;
  right: 3%;
  width: 60px;
  height: 60px;
  font-size: 0.8em;
  z-index: 10;
}
.l_main .mvicon p {
  z-index: 1;
  margin: -8px 0 0;
}
.l_main .mvicon:before {
  content: "";
  background: url("../img/arrow.png") no-repeat;
  background-size: 10px;
  width: 10px;
  height: 10px;
  position: absolute;
  bottom: 6px;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}
.l_main .mvicon:after {
  content: "";
  width: 50px;
  height: 50px;
}

/* section============================================ */
section {
  max-width: none;
  min-width: auto;
  margin: 10% auto 0;
  padding: 10% 0 0;
  width: 90%;
}
section h2 {
  max-width: none;
  min-width: auto;
  font-size: 2.5em;
}

/* sec01============================================ */
.l_sec01 {
  margin: 10% auto 0;
  padding: 0;
  width: 100%;
}
.l_sec01 p {
  font-size: 0.9em;
  line-height: 1.6em;
}
.l_sec01 .inner {
  display: block;
}
.l_sec01 .l_sec01_box01 {
  margin: 0 0 0 5%;
}
.l_sec01 .l_sec01_box01 .inner {
  padding: 5% 16% 8% 20%;
}
.l_sec01 .l_sec01_box01 .inner h2 {
  font-size: 2.6em;
  margin: 0;
  padding: 0;
  text-align: left;
}
.l_sec01 .l_sec01_box01 .inner h2 .l_sec01_text01 {
  font-size: 3em;
}
.l_sec01 .l_sec01_box01 .inner h2 .l_sec01_text02 {
  font-size: 0.5em;
}
.l_sec01 .l_sec01_box01 .inner p {
  color: #fff;
  margin: 0;
  text-align: left;
  font-size: 2.5em;
  line-height: 1.2em;
}
.l_sec01 .l_sec01_box02 {
  margin: 10% 5% 0 0;
}
.l_sec01 .l_sec01_box02 .inner {
  padding: 8% 7% 3% 17%;
  text-align: center;
}
.l_sec01 .l_sec01_box02 .inner > div {
  margin: 0;
}
.l_sec01 .l_sec01_box02 .inner h2 {
  font-size: 27px;
  padding: 0;
}
.l_sec01 .l_sec01_box02 .inner p {
  margin: 5% 0 0;
  color: #001F74;
}
.l_sec01 .l_sec01_box02 .inner img {
  width: 70%;
}

/* sec02=========================================== */
.l_sec02 .inner {
  margin: 10% auto 0;
}
.l_sec02 .inner h3 {
  font-size: 1.5em;
}
.l_sec02 .inner > div {
  height: 250px;
  width: 100%;
}
.l_sec02 .inner > div:after {
  width: 80%;
}
.l_sec02 .inner .l_sec02_box01 {
  padding: 8% 0 0%;
}
.l_sec02 .inner .l_sec02_box01 p {
  font-size: 3em;
}
.l_sec02 .inner .l_sec02_box01 p span {
  font-size: 20px;
  margin: 1% 0 0;
}
.l_sec02 .inner .l_sec02_box02 {
  float: none;
  margin: 10% 0 0;
  padding: 7% 0 7%;
}
.l_sec02 .inner .l_sec02_box02 p {
  font-size: 2em;
  line-height: 1.4em;
}
.l_sec02 .inner .l_sec02_box03 {
  float: none;
  margin: 10% 0 0;
  padding: 7% 0 2%;
}
.l_sec02 .inner .l_sec02_box03 p {
  font-size: 2.1em;
  line-height: 1.4em;
}
.l_sec02 .inner .l_sec02_box04 {
  float: right;
  margin: 10% 0 0;
  padding: 8% 0 6%;
}
.l_sec02 .inner .l_sec02_box04 h3 {
  line-height: 1.3em;
}
.l_sec02 .inner .l_sec02_box04 p {
  font-size: 1.25em;
  line-height: 2em;
}
.l_sec02 .inner .l_sec02_box04 p span {
  font-size: 1.8em;
}

/* l_sec03=========================================== */
.l_sec03 p {
  margin: 5% auto 0;
}
.l_sec03 .img_003_sp-1,
.l_sec03 .img_003_sp-2 {
  display: block;
  margin-top: 30px;
  position: relative;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
.l_sec03 .img_003_sp-1 a,
.l_sec03 .img_003_sp-2 a {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  margin: auto;
  overflow: hidden;
  text-indent: -30em;
  height: 100%;
  display: block;
  z-index: 5;
}
.l_sec03 .img_003_sp-1 a:hover,
.l_sec03 .img_003_sp-2 a:hover {
  background: rgba(0, 49, 160, 0.2);
}

/* l_sec04============================================ */
.l_sec04 {
  padding: 10% 0 10%;
}
.l_sec04 h2 {
  line-height: 1.3em;
  font-weight: normal;
  font-size: 2.3em;
}
.l_sec04 .l_sec04_text01 {
  font-size: 1em;
  margin: 5% 0 0;
}
.l_sec04 .l_sec04_text02 {
  font-size: 1.7em;
  margin: 6% 0 0;
}
.l_sec04 .img_004_sp-1,
.l_sec04 .img_004_sp-2 {
  display: block;
  margin-top: 30px;
  position: relative;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
}
.l_sec04 .img_004_sp-1 a,
.l_sec04 .img_004_sp-2 a {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: absolute;
  margin: auto;
  overflow: hidden;
  text-indent: -30em;
  height: 100%;
  display: block;
  z-index: 5;
}
.l_sec04 .img_004_sp-1 a:hover,
.l_sec04 .img_004_sp-2 a:hover {
  background: rgba(0, 49, 160, 0.2);
}
.l_sec04 .img_004_sp-1 a {
  left: auto;
  right: 0;
  top: 0;
  bottom: 0;
  width: 38%;
}

/* l_sec05============================================ */
.l_sec05 {
  margin: 0 0 0;
  padding: 10% 0 0;
  margin: auto;
}
.l_sec05 .info {
  width: min(100%, 900px);;
  margin: 20px auto 0;
}
.l_sec05 .info iframe {
  height: 1330px;
}

.slide-left.is-show.l_sec01_box01:before, .slide-right.is-show.l_sec01_box02:before {
  width: 100%;
}

/* cookie_alert============================================ */
#cookie_alert {
  padding: 15px;
}

#cookie_alert > div {
  display: block;
}

#cookie_alert > div > .tx {
  width: auto;
}

#cookie_alert > div > .tx .title {
  font-size: 18px;
  font-size: 0.9rem;
  line-height: 19.8px;
  line-height: 0.99rem;
}

#cookie_alert > div > .tx * + p {
  font-size: 14px;
  font-size: 0.7rem;
  line-height: 25.2px;
  line-height: 1.26rem;
}

#cookie_alert > div > .btn {
  width: auto;
  margin-top: 20px;
}

#cookie_alert > div > .btn br {
  display: none;
}

#cookie_alert .button {
  width: 100%;
}
#cookie_alert .button.column {
  width: auto;
}

/* footer============================================ */
.footer {
  padding: 5%;
  margin-top: 0;
  min-width: auto;
  text-align: center;
}

#pagetop {
  bottom: 40px;
}
#pagetop img {
  width: 26px;
}/*# sourceMappingURL=sp.css.map */