@charset "utf-8";
/*! sanitize.css v4.1.0 | CC0 License | github.com/jonathantneal/sanitize.css */
article, aside, details, figcaption, figure, footer, header, main, menu, nav, section, summary {
  display: block;
}
main {
  overflow: hidden;
}
audio, canvas, progress, video {
  display: inline-block;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
template, [hidden] {
  display: none;
}
*, ::before, ::after {
  background-repeat: no-repeat;
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}
::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit;
}
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: default;
  font-family: sans-serif;
  line-height: 1.5;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
h1 {
  font-size: 2em;
  margin: .67em 0;
}
code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
hr {
  height: 0;
  overflow: visible;
}
nav ol, nav ul {
  list-style: none;
}
abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none;
}
b, strong {
  font-weight: inherit;
}
b, strong {
  font-weight: bolder;
}
dfn {
  font-style: italic;
}
mark {
  background-color: #ff0;
  color: #000;
}
progress {
  vertical-align: baseline;
}
small {
  font-size: 83.3333%;
}
sub, sup {
  font-size: 83.3333%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -.25em;
}
sup {
  top: -.5em;
}
::-moz-selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}
::selection {
  background-color: #b3d4fc;
  color: #000;
  text-shadow: none;
}
audio, canvas, iframe, img, svg, video {
  vertical-align: middle;
}
img {
  border-style: none;
}
svg {
  fill: currentColor;
}
svg:not(:root) {
  overflow: hidden;
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}
a:hover {
 -webkit-transition: all 0.3s ease;
 -moz-transition: all 0.3s ease;
 -o-transition: all 0.3s ease;
 transition: all 0.3s ease; }
@media screen and (min-width: 480px) {
 a:hover {
  filter: alpha(opacity=90);
  -moz-opacity: 0.9;
  opacity: 0.9; } 
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
button, input, select, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
  font-size: 1em;
  margin: 0;
}
button, input {
  overflow: visible;
}
button, select {
  text-transform: none;
}
button, html [type='button'], [type='reset'], [type='submit'] {
  -webkit-appearance: button;
}
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}
:-moz-focusring {
  outline: 1px dotted ButtonText;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: .35em .625em .75em;
}
legend {
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}
textarea {
  overflow: auto;
  resize: vertical;
}
[type='checkbox'], [type='radio'] {
  padding: 0;
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
  height: auto;
}
[type='search'] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
::-webkit-search-cancel-button, ::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-input-placeholder {
  color: inherit;
  opacity: .54;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
[aria-busy='true'] {
  cursor: progress;
}
[aria-controls] {
  cursor: pointer;
}
[aria-disabled] {
  cursor: default;
}
a, area, button, input, label, select, textarea, [tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}
[hidden][aria-hidden='false'] {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute;
}
[hidden][aria-hidden='false']:focus {
  clip: auto;
}
html {
  font-size: 100%;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 100%;
}
h1, h2, h3, h4, h5, h6, p, ul, ol, dl {
  margin: 0;
}
ul, ol {
  padding-left: 0;
}
li {
  list-style-type: none;
}
dd {
  margin-left: 0;
}
figure {
  margin: 0;
  padding: 0;
}
img {
  max-width: 100%;
  vertical-align: middle; /* background: #000; */
}
table {
  border-collapse: collapse;
}
input, button {
  padding: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
/*------------------------------------------ */
body {
  color: #000000;
  font-size: 18px;
  text-align: center;
  line-height: 1;
  letter-spacing: 1px;
  -webkit-text-size-adjust: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  background: #ffffff;
}
img {
  width: 100%;
}
a {
  text-decoration: none;
  transition: all .3s;
}
.pc_br {
  display: block;
}
.tab_br {
  display: none;
}
.sp_br {
  display: none;
}
.pc_img {
  display: block;
}
.tab_img {
  display: none;
}
.sp_img {
  display: none;
}
.object-fit {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  font-family: 'object-fit: cover; object-position: center;';
}
@media screen and (max-width: 1240px) {
  .pc_br {
    display: none;
  }
}
@media screen and (max-width: 812px) {
  body {
    min-width: 100%;
  }
  .pc_br {
    display: none;
  }
  .tab_br {
    display: block;
  }
  .sp_br {
    display: none;
  }
  .pc_img {
    display: none;
  }
  .sp_img {
    display: block;
  }
}
@media screen and (max-width: 480px) {
  .pc_img {
    display: none;
  }
  .tab_img {
    display: block;
  }
  .sp_img {
    display: block;
  }
  .sp_br {
    display: block;
  }
  .tab_br {
    display: none
  }
  .pc_br {
    display: none;
  }
}
/*------------------------------------------
 レイアウトのためのCSS 
------------------------------------------*/
body {
  background: #ffffff;
  font-family: 'Noto Sans JP', sans-serif;
  color: #333;
  font-size: 18px;
  line-height: 1;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
}
body.appear {
  background: #ffffff;
}
* {
  box-sizing: border-box;
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
a {
  color: #333;
  text-decoration: none;
  outline: none;
}
img {
  width: 100%;
  height: auto;
}
/* area */
#container {
  overflow-x: hidden;
  /*以下、IE11用*/
  z-index: 1;
  position: relative;
}
/*------------------------------------------
FV 
------------------------------------------*/
div.vegas-slide:nth-child(2) {
  background-position: 0 0;
}
#lead {
  padding: 100px 0 0 0;
  z-index: 99;
}
#slider-area {
  width: 68%;
  height: 63vh;
  position: relative;
  top: 0;
  left: 32%;
}
#slider-area #slider {
  width: 100%;
  height: 63vh;
  border-radius: 20px 0 0 20px;
}
#lead .lead {
  position: absolute;
  top: 200px;
  right: 4%;
  font-size: 22px;
  letter-spacing: 0.1em;
  line-height: 1.6;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
}
#lead .img_sdgs {
  position: absolute;
  right: 0;
  width: 52%;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 5vw;
  font-weight: normal;
  color: #00a4e5;
  /* animation-delay: 0.3s; */
}
#lead .img_sdgs .pc-img {
  display: block;
}
#lead .img_sdgs .sp-img {
  display: none;
}
/*------   h1タグ ------*/
#title {
  position: absolute;
  top: 1.2%;
  width: 29.5vw;
  z-index: 2;
  margin: 0 0 0 3.81vw;
}
#title h1 {
  position: relative;
  font-size: 3.9vw;
  text-align: left;
  line-height: 1.6;
  margin: 0 0 30px 0;
}
@media screen and (max-width:1200px) {
  #slider-area {
    width: 80%;
    left: 20%;
  }
  #title {
    width: 100%;
  }
  #title h1 {
    font-size: max(4.9vw, 50px);
  }
}
@media screen and (max-width: 812px) {
  #slider-area {
    margin: 0 auto;
    left: 0;
    height: 70vh;
  }
  #slider-area #slider {
    border-radius: 20px;
  }
  #lead {
    height: 100vh;
    position: relative;
  }
  #lead .img_sdgs {
    width: 100%;
    bottom: 0;
  }
  #lead .img_sdgs .pc-img {
    display: none;
  }
  #lead .img_sdgs .sp-img {
    display: block;
  }
  #title {
    padding: 20px;
    top: 65vh;
  }
  #title h1 {
    font-size: 9.05vw;
  }
}
@media screen and (max-width:480px) {
  #slider-area #slider {
    height: 100%;
  }
  #lead {
    padding: 70px 0 0 0;
  }
  #title h1 {
    font-size: 11.1vw;
    line-height: 1.3;
  }
}