@charset "UTF-8";
body {
  background-color: #fff;
  color: #000;
  font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  -webkit-font-smoothing: antialiased;
}

* {
  box-sizing: border-box;
}

img {
  vertical-align: middle;
  max-width: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

body,
html {
  height: auto;
}

figure {
  margin: 0;
  padding: 0;
}

body {
  background: url(../images/common/bg.png);
  line-height: 1.6;
  position: relative;
  width: 100%;
}

.header__images {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 1em;
}

.header__main {
  display: block;
  position: relative;
  text-align: center;
}

.header__desc {
  font-size: 1.1em;
  line-height: 1.8;
  padding: 2em 0 2.5em;
}

.header__logo {
  display: block;
  padding: 1.5em 0;
}

.header__item1 {
  position: absolute;
  top: -30px;
  right: -7%;
}

.header__item2 {
  position: absolute;
  bottom: 1%;
  left: -11%;
}

.wrapper {
  overflow: hidden;
}

.wrapper__container {
  margin: 0 auto;
  padding: 60px 50px 0;
  max-width: 1100px;
}

.container {
  padding-bottom: 5em;
}

.container__flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding: 0 40px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.container__flex > div {
  width: 48%;
}

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

.container__title1 {
  background: #00adbf;
  padding: .5em 0;
  text-align: center;
}

.container__title1 img {
  display: block;
  margin: 0 auto;
}

.container__title2 {
  background: #65a0c9;
  padding: .5em 0;
  text-align: center;
}

.container__title2 img {
  display: block;
  margin: 0 auto;
}

.container__image {
  display: block;
  padding: 2em 0;
}

.container__image .-note {
  padding-top: 1em;
}

.container__image img {
  display: block;
  margin: 0 auto;
}

.container__image-i2 {
  margin: 0 auto;
}

.container__spec {
  font-size: .9em;
  padding-top: 2em;
}

.container__spec dt {
  color: #00adbf;
  font-weight: bold;
  padding-top: 1em;
}

.container__spec dl {
  padding-bottom: 1em;
}

.special {
  background: #fff;
  color: #00adbf;
  font-weight: bold;
  margin-top: 2em;
  padding: 15px 40px 40px;
}

.special__title {
  border-bottom: 2px solid #00adbf;
  display: block;
  font-size: 1.2em;
  padding: .5em 0;
  text-align: center;
}

.special__sp {
  background: #bfe9ed;
  padding: .5em 1em;
}

.special__list {
  line-height: 1.4;
  padding: 1em 0;
}

.special__list li {
  font-size: .9em;
}

.special__list li:before {
  content: '■ ';
}

.special__list li + li {
  padding-top: .2em;
}

.special .-note {
  font-size: .7em;
  font-weight: normal;
  padding-top: 1em;
  text-align: right;
}

.special .-note::before {
  content: '';
}

.special2 {
  margin-top: 3em;
  text-align: center;
}

.special2__title {
  display: block;
  margin-bottom: 2em;
}

.special2__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 1em;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.special2__list li {
  padding-bottom: .7%;
  text-align: center;
  width: 33.33333%;
}

.special2__list li img {
  display: block;
  margin: 0 auto;
}

.special2__list li.-left {
  text-align: left;
}

.special2__list li.-left img {
  margin-right: auto;
}

.special2__list li.-right {
  margin-left: auto;
  text-align: right;
}

.-note {
  display: block;
  font-size: 10px;
  text-align: center;
}

.-note2 {
  display: block;
  font-size: 12px;
  text-align: center;
}

.-note2 span {
  font-weight: bold;
}

.-notes {
  font-size: 10px;
}

.-copyright {
  display: block;
  font-size: 10px;
  text-align: center;
}

footer {
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  display: block;
  margin-top: 1.5em;
  padding: .6em;
}

.-sp {
  display: none;
}

.-pc {
  display: block;
}

.video {
  margin: 1em 10% 0;
}

.video__inner {
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
}

.video__inner video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 750px) {
  .wrapper__container {
    padding: 0;
  }
  .header__images {
    display: block;
  }
  .header__main {
    padding: 10vw 5vw 24vw;
  }
  .header__desc {
    font-size: 3.6vw;
    padding: .2em 0;
    text-align: left;
  }
  .header__logo {
    margin: 0 auto;
    padding: 0 0 0vw;
    width: 75vw;
  }
  .header__item1 {
    top: auto;
    right: 2vw;
    bottom: 2vw;
    width: 26.8vw;
  }
  .header__item2 {
    bottom: 2vw;
    left: 3vw;
    width: 26.8vw;
  }
  .container__flex {
    display: block;
    padding: 0 5vw;
  }
  .container__flex > div {
    width: 100%;
  }
  .container__flex > div + div {
    padding-top: 10vw;
  }
  .container__title1 img {
    height: 5vw;
  }
  .container__title2 img {
    height: 5vw;
  }
  .container__spec {
    font-size: 3.2vw;
    padding-top: 4vw;
  }
  .container__spec dt {
    padding-top: 2vw;
  }
  .container__spec dl {
    padding-bottom: 2vw;
  }
  .container__image-i1 {
    padding-top: 0;
  }
  .container__image-i2 img {
    width: 45vw;
  }
  .container__image-i3 img {
    width: 70vw;
  }
  .container__text-t1 h3 img {
    height: 18.66667vw;
  }
  .container__text-t2 h3 img {
    height: 18.66667vw;
  }
  .container__text-t3 h3 img {
    height: 16vw;
  }
  .special {
    font-size: 3.6vw;
    margin: 10vw 5vw 0;
    padding: 2vw 5vw 5vw;
  }
  .special2__title {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 2vw;
    height: 5vw;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  .special2__title img {
    max-width: none;
    height: 100%;
  }
  .special2__list {
    padding: 2vw 2vw 5vw;
  }
  .special2__list li {
    padding: 2vw;
    width: 50%;
  }
  .special2 .-note2 {
    padding: 0 5vw;
  }
  .-sp {
    display: block;
  }
  .-pc {
    display: none;
  }
  .video {
    margin: 2vw 0 5vw;
  }
  .video__inner {
    padding-bottom: 56.25%;
    position: relative;
    width: 100%;
  }
  .video__inner video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}
