@charset "UTF-8";
body {
  background-color: #fff;
  overflow-x: hidden;
  color: #000;
  line-height: 1.4em;
  letter-spacing: 0.1em;
  font-family: "Lato", "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
body a {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  color: #2fd8e9;
  text-decoration: none;
}
body a:hover {
  color: #24afbd;
}
body a img {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
body h2 {
  margin-bottom: 2em;
}
body h3 {
  font-size: 150%;
  margin-bottom: 1em;
}
body h3 span {
  color: #ff00c0;
  font-size: 50%;
}
body .leadtxt {
  font-size: 80%;
  line-height: 1.6em;
}
body h4 {
  font-size: 110%;
  margin-top: 2em;
  margin-bottom: 1em;
}
body h4 span {
  display: block;
  color: #ff00c0;
  font-size: 60%;
}
body .mb_s {
  margin-bottom: 1em !important;
}
body .mb_m {
  margin-bottom: 3em !important;
}
body .mb_l {
  margin-bottom: 5em !important;
}
body .mt_s {
  margin-top: 1em !important;
}
body .mt_m {
  margin-top: 3em !important;
}
body .mt_l {
  margin-top: 5em !important;
}
body .fonts1 {
  font-size: 50% !important;
}
body .bo01 .box ul.btn {
  margin-bottom: 1em;
}
body .bo01 .box ul.btn li {
  display: inline-block;
  list-style: none;
}
body .bo01 .box .caption {
  margin-bottom: 1em;
}
body .deco01 {
  padding: 1em;
  background-color: #efefef;
}

body .bo01 {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: left;
  -webkit-box-pack: strech;
      -ms-flex-pack: strech;
          justify-content: strech;
  margin: 0 auto;
  width: calc(1400px * 1);
}
@media screen and (max-width: 640px) {
  body .bo01 {
    margin: 0 auto;
  }
}
@media screen and (max-width: 1500px) {
  body .bo01 {
    width: calc(1200px * 1);
  }
}
@media screen and (max-width: 1300px) {
  body .bo01 {
    width: calc(100% * 1);
  }
}
@media screen and (max-width: 640px) {
  body .bo01 {
    -webkit-box-pack: strech;
        -ms-flex-pack: strech;
            justify-content: strech;
    width: calc(100% * 1);
    margin-left: auto;
  }
}
body .bo01 .box {
  background-color: transparent;
  color: #000;
  vertical-align: top;
  text-align: left;
  width: calc((99% - 40px * (2 - 1)) / 2);
  margin-right: 40px;
  margin-bottom: 0px;
}
@media screen and (max-width: 640px) {
  body .bo01 .box {
    margin-right: 0px;
    margin-bottom: 0px;
    width: 100%;
  }
}
body .bo01 .box p {
  text-align: left;
  font-size: 80%;
  line-height: 1.8em;
  padding: 0 0px 0px 0px;
}
@media screen and (max-width: 640px) {
  body .bo01 .box p {
    padding: 0 0px 0px 0px;
  }
}
body .bo01 .box p img {
  width: 100%;
  border-style: solid;
  border-width: 0px;
  border-color: transeparent;
}
body .bo01 .box p:nth-child(1) {
  padding: 0;
  margin-bottom: 0px;
}
@media screen and (max-width: 640px) {
  body .bo01 .box p:nth-child(1) {
    margin-bottom: 0px;
  }
}
body .bo01 .box p a {
  color: #2fd8e9;
}
body .bo01 .box p a:hover {
  color: #24afbd;
}
body .bo01 .box p a img:hover {
  opacity: 0.9;
}
body .bo01 .box:nth-child(2n) {
  margin-right: 0;
}
@media screen and (max-width: 640px) {
  body .bo01 .box:nth-child(2n) {
    margin-right: 0px;
  }
}
@media screen and (max-width: 640px) {
  body .bo01 .box:nth-child(1n) {
    margin-right: 0;
  }
}

body .bo02 {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  text-align: left;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  width: 100%;
}
@media screen and (max-width: 640px) {
  body .bo02 {
    margin: 0 auto;
  }
}
body .bo02 .box {
  background-color: transparent;
  color: #000;
  vertical-align: top;
  text-align: left;
  margin-bottom: 0px;
  line-height: 0;
}
@media screen and (max-width: 640px) {
  body .bo02 .box {
    margin-right: 10px;
    margin-bottom: 0px;
    text-align: left;
  }
}
body .bo02 .box p {
  font-size: 80%;
  line-height: 1.6em;
  padding: 0 0px 0px 0px;
}
@media screen and (max-width: 640px) {
  body .bo02 .box p {
    padding: 0 0px 0px 0px;
  }
}
body .bo02 .box p img {
  width: 100%;
  border-style: solid;
  border-width: 0px;
  border-color: #666;
}
body .bo02 .box p:nth-child(1) {
  padding: 0;
  margin-bottom: 0px;
}
@media screen and (max-width: 640px) {
  body .bo02 .box p:nth-child(1) {
    margin-bottom: 0px;
  }
}
body .bo02 .box p a {
  color: #2fd8e9;
}
body .bo02 .box p a:hover {
  color: #24afbd;
}
body .bo02 .box p a img:hover {
  opacity: 0.9;
}
body .bo02 .box:nth-child(1) {
  width: calc(70 * 100% / 100 - 15px);
  margin-right: 15px;
}
body .bo02 .box:nth-child(1) * {
  text-align: left;
}
body .bo02 .box:nth-child(1n+2) {
  width: calc(70 * 100% / 100 - 15px);
  margin-right: 15px;
}
body .bo02 .box:nth-child(1n+2) * {
  text-align: left;
}
body .bo02 .box:nth-child(2) {
  width: calc(30 * 100% / 100);
  margin-right: auto;
}
body .bo02 .box:nth-child(2) * {
  text-align: left;
}
body .bo02 .box:nth-child(2n+2) {
  width: calc(30 * 100% / 100);
  margin-right: auto;
}
body .bo02 .box:nth-child(2n+2) * {
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .bo02 .box:nth-child(1) {
    width: calc(100 * 100% / 100);
    margin-right: auto;
  }
  body .bo02 .box:nth-child(1) * {
    text-align: center;
  }
  body .bo02 .box:nth-child(1n+1) {
    width: calc(100 * 100% / 100);
    margin-right: auto;
  }
  body .bo02 .box:nth-child(1n+1) * {
    text-align: center;
  }
}

body .bt01_sample1 a {
  border: 1px solid #fff;
  text-align: center !important;
  display: inline-block;
  font-size: 85%;
  font-weight: normal;
  background-color: #ccc;
  padding: 0.5em 2em;
  color: #000 !important;
  opacity: 0.7;
}
body .bt01_sample1 a:hover {
  background-color: #eee;
  color: #000 !important;
  opacity: 1;
  border: 1px solid #fff;
}
@media screen and (max-width: 640px) {
  body .bt01_sample1 a {
    font-size: 85%;
    padding: 0.5em 2em;
  }
}

body .bt_download a {
  border-radius: 50%;
  border: 0 solid #fff;
  text-indent: -10000px;
  display: inline-block;
  background-color: #000;
  background-image: url("../images/icon_download.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40%;
  opacity: 0.9;
  width: 50px;
  height: 50px;
}
body .bt_download a:hover {
  background-color: #2fd8e9;
  opacity: 1;
}
@media screen and (max-width: 640px) {
  body .bt_download a {
    background-image: url("../images/icon_download.svg");
    background-size: 40%;
    width: 50px;
    height: 50px;
  }
}

body .bt_sample a {
  border-radius: 50%;
  border: 0 solid #fff;
  text-indent: -10000px;
  display: inline-block;
  background-color: #000;
  background-image: url("../images/icon_link.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 40%;
  opacity: 0.9;
  width: 50px;
  height: 50px;
}
body .bt_sample a:hover {
  background-color: #2fd8e9;
  opacity: 1;
}
@media screen and (max-width: 640px) {
  body .bt_sample a {
    background-image: url("../images/icon_link.svg");
    background-size: 40%;
    width: 50px;
    height: 50px;
  }
}

body .bt a {
  border: 0px solid #fff;
  text-align: center !important;
  display: inline-block;
  font-size: 85%;
  font-weight: bold;
  background-color: #000;
  padding: 0.5em 2em;
  color: #000 !important;
  opacity: 0.7;
}
body .bt a:hover {
  background-color: #fff;
  color: #000 !important;
  opacity: 1;
  border: 0px solid #fff;
}
@media screen and (max-width: 640px) {
  body .bt a {
    font-size: 85%;
    padding: 0.5em 2em;
  }
}

body .bt01_sample1 a {
  border: 1px solid #fff;
  text-align: center !important;
  display: inline-block;
  font-size: 85%;
  font-weight: normal;
  background-color: #ccc;
  padding: 0.5em 2em;
  color: #000 !important;
  opacity: 0.7;
}
body .bt01_sample1 a:hover {
  background-color: #eee;
  color: #000 !important;
  opacity: 1;
  border: 1px solid #fff;
}
@media screen and (max-width: 640px) {
  body .bt01_sample1 a {
    font-size: 85%;
    padding: 0.5em 2em;
  }
}

body .bt01_sample2 a {
  border: 1px solid transparent;
  text-align: center !important;
  display: inline-block;
  font-size: 85%;
  font-weight: normal;
  background-color: #000;
  padding: 0.2em 1em;
  color: #fff !important;
  opacity: 0.8;
}
body .bt01_sample2 a:hover {
  background-color: red;
  color: #fff !important;
  opacity: 1;
  border: 1px solid transparent;
}
@media screen and (max-width: 640px) {
  body .bt01_sample2 a {
    font-size: 85%;
    padding: 0.2em 1em;
  }
}

body .bt01_sample3 a {
  border: 1px solid #ccc;
  text-align: center !important;
  display: inline-block;
  font-size: 85%;
  font-weight: normal;
  background-color: transparent;
  padding: 0.5em 2em;
  color: #000 !important;
  opacity: 1;
}
body .bt01_sample3 a:hover {
  background-color: transparent;
  color: red !important;
  opacity: 1;
  border: 1px solid red;
}
@media screen and (max-width: 640px) {
  body .bt01_sample3 a {
    font-size: 85%;
    padding: 0.5em 2em;
  }
}

body .bt02_sample1 a {
  border-radius: 0%;
  border: 0 solid #fff;
  text-indent: -10000px;
  display: inline-block;
  background-color: #999;
  background-image: url("../images/ico_menu_1.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50%;
  opacity: 0.9;
  width: 50px;
  height: 50px;
}
body .bt02_sample1 a:hover {
  background-color: #999;
  opacity: 1;
}
@media screen and (max-width: 640px) {
  body .bt02_sample1 a {
    background-image: url("../images/ico_menu_1.svg");
    background-size: 50%;
    width: 50px;
    height: 50px;
  }
}

body .bt02_sample2 a {
  border-radius: 10%;
  border: 0 solid #fff;
  text-indent: -10000px;
  display: inline-block;
  background-color: rgb(47, 216, 233);
  background-image: url("../images/ico_menu_2.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50%;
  opacity: 0.9;
  width: 50px;
  height: 50px;
}
body .bt02_sample2 a:hover {
  background-color: rgb(47, 216, 233);
  opacity: 1;
}
@media screen and (max-width: 640px) {
  body .bt02_sample2 a {
    background-image: url("../images/ico_menu_2.svg");
    background-size: 50%;
    width: 50px;
    height: 50px;
  }
}

body .bt02_sample3 a {
  border-radius: 50%;
  border: 0 solid #fff;
  text-indent: -10000px;
  display: inline-block;
  background-color: #f89174;
  background-image: url("../images/ico_menu_3.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50%;
  opacity: 0.9;
  width: 50px;
  height: 50px;
}
body .bt02_sample3 a:hover {
  background-color: rgb(47, 216, 233);
  opacity: 1;
}
@media screen and (max-width: 640px) {
  body .bt02_sample3 a {
    background-image: url("../images/ico_menu_3.svg");
    background-size: 50%;
    width: 50px;
    height: 50px;
  }
}

body .co {
  padding: 5em 0;
  background-color: transeparent;
  background-size: 100%;
  background-position: center bottom;
  background-repeat: repeat;
  background-image: url("");
}
@media screen and (max-width: 640px) {
  body .co {
    background-image: url("");
    background-position: center bottom;
    padding: 5em 0;
  }
}
body .co .co_inner {
  margin: 0 auto;
  display: table;
  background-color: transparent;
  width: 1400px;
}
@media all and (-ms-high-contrast: none\0 ) {
  body .co .co_inner {
    display: block;
  }
}
@media screen and (max-width: 1500px) {
  body .co .co_inner {
    width: 1200px;
  }
}
@media screen and (max-width: 1300px) {
  body .co .co_inner {
    width: 90%;
  }
}
@media screen and (max-width: 1024px) {
  body .co .co_inner {
    width: 90%;
  }
}
@media screen and (max-width: 960px) {
  body .co .co_inner {
    width: 90%;
  }
}
@media screen and (max-width: 640px) {
  body .co .co_inner {
    width: 90%;
  }
}
@media screen and (max-width: 560px) {
  body .co .co_inner {
    width: 90%;
  }
}
@media screen and (max-width: 320px) {
  body .co .co_inner {
    width: 90%;
  }
}

body #footer {
  height: 70px;
  background-color: #fff;
}
@media screen and (max-width: 640px) {
  body #footer {
    height: 70px;
  }
}
body #footer #footer_inner {
  text-align: center;
}
body #footer #footer_inner p {
  padding: 1.7em 1em 0 1em;
  line-height: 1.2em;
  color: #000;
  font-size: 70%;
}
@media screen and (max-width: 640px) {
  body #footer #footer_inner p {
    padding: 1.2em 1em 0 1em;
    font-size: 70%;
  }
}

body #main {
  padding-top: 70px;
}
@media screen and (max-width: 640px) {
  body #main {
    padding-top: 70px;
  }
}
body #header {
  position: fixed;
  height: 70px;
  background-color: #000;
  width: 100vw;
  z-index: 10000;
  top: 0;
}
@media screen and (max-width: 640px) {
  body #header {
    height: 70px;
  }
}
body #header p#logo {
  display: inline-block;
  float: left;
}
body #header p#logo a {
  display: block;
  text-indent: -10000px;
  background-image: url("../images/logo.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 60%;
  width: 70px;
  height: 70px;
}
@media screen and (max-width: 640px) {
  body #header p#logo a {
    width: 70px;
    height: 70px;
    background-image: url("../images/logo.svg");
    background-size: 60%;
  }
}
body #header p#logo a:hover {
  opacity: 0.8;
}
body #header h1 {
  text-indent: -10000px;
  margin-left: calc(70px + 10px);
  height: 70px;
}
@media screen and (max-width: 640px) {
  body #header h1 {
    margin-left: calc(70px + 10px);
    height: 70px;
  }
}
body #header h1 a {
  display: block;
  width: calc(180px + 1em);
  height: 70px;
  background-image: url("../images/sitettl.svg");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 180px;
}
@media screen and (max-width: 640px) {
  body #header h1 a {
    width: calc(180px + 1em);
    height: 70px;
    background-size: 180px;
  }
}
body #header h1 a:hover {
  opacity: 0.8;
}

body #header02 {
  position: static;
  height: 70px;
  background-color: rgba(0, 0, 0, 0.6);
  background-filter: blur(5px);
  -webkit-background-filter: blur(5px);
}
@media screen and (max-width: 640px) {
  body #header02 {
    height: 70px;
  }
}
body #header02 p#logo {
  display: inline-block;
  float: left;
}
body #header02 p#logo a {
  display: block;
  text-indent: -10000px;
  background-image: url("../images/logo.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 60%;
  width: 70px;
  height: 70px;
}
@media screen and (max-width: 640px) {
  body #header02 p#logo a {
    width: 70px;
    height: 70px;
    background-image: url("../images/logo.svg");
    background-size: 60%;
  }
}
body #header02 p#logo a:hover {
  opacity: 0.8;
}
body #header02 h1 {
  text-indent: -10000px;
  margin-left: calc(70px + 10px);
  height: 70px;
  background-image: url("../images/sitettl.svg");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 180px;
}
@media screen and (max-width: 640px) {
  body #header02 h1 {
    margin-left: calc(70px + 10px);
    height: 70px;
    background-size: 180px;
  }
}
body #header02 #nav {
  position: fixed;
  top: 0;
  right: 0;
}
body #header02 #nav ul {
  margin-top: 5em;
}
body #header02 #nav ul li {
  text-align: right;
}
body #header02 #nav ul li a {
  font-size: 0.8rem;
  line-height: 2em;
  padding-right: 1em;
}
body #header02 .icon_menu {
  position: absolute;
  pointer-events: none;
  display: inline;
  width: 50px;
  height: 50px;
  border: 1px solid blue;
  margin-right: 20px;
  margin-top: 10px;
}
body #header02 .icon_menu span {
  display: block;
  border: 1px solid red;
}

body .im01 {
  margin: 0 auto 2em auto;
  width: 100%;
  text-align: center;
  font-size: 0;
  line-height: 0;
  padding: 0;
}
@media screen and (max-width: 640px) {
  body .im01 {
    margin: 0 auto 2em auto;
  }
}
@media screen and (max-width: 1024px) {
  body .im01 {
    text-align: center;
  }
}
@media screen and (max-width: 640px) {
  body .im01 {
    text-align: center;
  }
}
body .im01 img {
  width: 22%;
  max-width: 100% !important;
  border-style: solid;
  border-width: 0px;
  border-color: #666;
  margin: 0px;
}
@media screen and (max-width: 1024px) {
  body .im01 img {
    width: 28%;
    margin: 0px;
  }
}
@media screen and (max-width: 640px) {
  body .im01 img {
    width: 54%;
    margin: 0px;
  }
}
body .im01 a {
  opacity: 1;
}
body .im01 a img:hover {
  opacity: 0.9;
}

body .im01_1 {
  margin: 0 auto 2em auto;
  width: 100%;
  text-align: center;
  font-size: 0;
  line-height: 0;
  padding: 0;
}
@media screen and (max-width: 640px) {
  body .im01_1 {
    margin: 0 auto 2em auto;
  }
}
@media screen and (max-width: 1024px) {
  body .im01_1 {
    text-align: center;
  }
}
@media screen and (max-width: 640px) {
  body .im01_1 {
    text-align: center;
  }
}
body .im01_1 img {
  width: 80%;
  max-width: 100% !important;
  border-style: solid;
  border-width: 0px;
  border-color: #666;
  margin: 0px;
}
@media screen and (max-width: 1024px) {
  body .im01_1 img {
    width: 80%;
    margin: 0px;
  }
}
@media screen and (max-width: 640px) {
  body .im01_1 img {
    width: 80%;
    margin: 0px;
  }
}
body .im01_1 a {
  opacity: 1;
}
body .im01_1 a img:hover {
  opacity: 0.9;
}

body .im01_2 {
  margin: 0 auto 2em auto;
  width: 100%;
  text-align: left;
  font-size: 0;
  line-height: 0;
  padding: 0;
}
@media screen and (max-width: 640px) {
  body .im01_2 {
    margin: 0 auto 2em auto;
  }
}
@media screen and (max-width: 1024px) {
  body .im01_2 {
    text-align: left;
  }
}
@media screen and (max-width: 640px) {
  body .im01_2 {
    text-align: left;
  }
}
body .im01_2 img {
  width: 32%;
  max-width: 100% !important;
  border-style: solid;
  border-width: 0px;
  border-color: #666;
  margin: 5px;
}
@media screen and (max-width: 1024px) {
  body .im01_2 img {
    width: 32%;
    margin: 5px;
  }
}
@media screen and (max-width: 640px) {
  body .im01_2 img {
    width: 32%;
    margin: 5px;
  }
}
body .im01_2 a {
  opacity: 1;
}
body .im01_2 a img:hover {
  opacity: 0.9;
}

body .im02_sample1 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  background-image: url("../images/img_9.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-color: transparent;
  text-indent: -10000px;
  padding-top: calc(900 / 1600 * 100%) !important;
  height: 0;
}
@media screen and (max-width: 640px) {
  body .im02_sample1 {
    background-image: url("../images/img_9_sp.jpg");
    padding-top: calc(900 / 900 * 100%) !important;
  }
}

body .im02_sample2 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  background-image: url("../images/img_3.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  background-color: transparent;
  text-indent: -10000px;
  padding-top: calc(900 / 1600 * 100%) !important;
  height: 0;
}
@media screen and (max-width: 640px) {
  body .im02_sample2 {
    background-image: url("../images/img_3_sp.jpg");
    padding-top: calc(900 / 900 * 100%) !important;
  }
}

body .im03 {
  position: relative;
  background-image: url("../images/img_9.jpg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100%;
  background-color: #222;
  text-indent: -10000px;
  padding-top: calc(900 / 1600 * 100%) !important;
  height: 0;
}
@media screen and (max-width: 640px) {
  body .im03 {
    background-image: url("../images/img_9_sp.jpg");
    background-position: center center;
    padding-top: calc(900 / 900 * 100%) !important;
    background-size: 100%;
  }
}
body .im03 a {
  display: block;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}
body .im03::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/icon_play.png");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 10%;
}
@media screen and (max-width: 640px) {
  body .im03::before {
    background-image: url("../images/icon_play.png");
    background-position: center center;
    background-size: 10%;
  }
}

body .ta01 {
  margin: 3em auto;
}
@media screen and (max-width: 640px) {
  body .ta01 {
    overflow-x: auto;
  }
}
body .ta01 table {
  border-collapse: collapse;
  width: 100%;
}
@media screen and (max-width: 640px) {
  body .ta01 table {
    width: 200%;
  }
}
body .ta01 table a {
  color: #2fd8e9;
}
body .ta01 table a:hover {
  color: #24afbd;
}
body .ta01 table tr th, body .ta01 table tr td {
  line-height: inhelit;
  font-size: 90%;
  border-color: transparent;
  word-break: break-all;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th, body .ta01 table tr td {
    line-height: inhelit;
    font-size: 90%;
  }
}
body .ta01 table tr th {
  color: #fff;
  font-weight: normal;
  background-color: #444;
  padding: 1em 1em;
  border-left: 0px solid transparent;
  border-top: 0px solid transparent;
  border-right: 0px solid transparent;
  border-bottom: 1px solid transparent;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th {
    padding: 1em 1em;
  }
}
body .ta01 table tr th:nth-child(1) {
  width: 15%;
  white-space: nowrap;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th:nth-child(1) {
    width: 15%;
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr th:nth-child(2) {
  width: 20%;
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th:nth-child(2) {
    width: 30%;
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr th:nth-child(3) {
  width: 30%;
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th:nth-child(3) {
    width: 20%;
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr th:nth-child(4) {
  width: 35%;
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th:nth-child(4) {
    width: 35%;
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr th:nth-child(5) {
  width: 0%;
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th:nth-child(5) {
    width: 0%;
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr th:nth-child(6) {
  width: 0%;
  white-space: nowrap;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th:nth-child(6) {
    width: 0%;
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr th:nth-child(7) {
  width: 0%;
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th:nth-child(7) {
    width: 0%;
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr th:nth-child(8) {
  width: 0%;
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th:nth-child(8) {
    width: 0%;
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr th:nth-child(9) {
  width: 0%;
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr th:nth-child(9) {
    width: 0%;
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr td {
  color: #000;
  background-color: transeparent;
  font-weight: normal;
  padding: 0.5em 1em;
  border-left: 0px solid #ccc;
  border-top: 0px solid #ccc;
  border-right: 0px solid #ccc;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td {
    padding: 0.3em 1em;
  }
}
body .ta01 table tr td:nth-child(1) {
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td:nth-child(1) {
    white-space: normal;
    text-align: left;
  }
}
body .ta01 table tr td:nth-child(2) {
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td:nth-child(2) {
    white-space: normal;
    text-align: left;
  }
}
body .ta01 table tr td:nth-child(3) {
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td:nth-child(3) {
    white-space: normal;
    text-align: left;
  }
}
body .ta01 table tr td:nth-child(4) {
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td:nth-child(4) {
    white-space: normal;
    text-align: left;
  }
}
body .ta01 table tr td:nth-child(5) {
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td:nth-child(5) {
    white-space: normal;
    text-align: left;
  }
}
body .ta01 table tr td:nth-child(6) {
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td:nth-child(6) {
    white-space: normal;
    text-align: left;
  }
}
body .ta01 table tr td:nth-child(7) {
  white-space: nowrap;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td:nth-child(7) {
    white-space: nowrap;
    text-align: left;
  }
}
body .ta01 table tr td:nth-child(8) {
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td:nth-child(8) {
    white-space: normal;
    text-align: left;
  }
}
body .ta01 table tr td:nth-child(9) {
  white-space: normal;
  text-align: left;
}
@media screen and (max-width: 640px) {
  body .ta01 table tr td:nth-child(9) {
    white-space: normal;
    text-align: left;
  }
}

body .ta01_2 {
  margin: 5em auto 3em auto;
}
@media screen and (max-width: 640px) {
  body .ta01_2 {
    overflow-x: auto;
  }
}
body .ta01_2 table {
  border-collapse: collapse;
  width: 100%;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table {
    width: 200%;
  }
}
body .ta01_2 table a {
  color: #2fd8e9;
}
body .ta01_2 table a:hover {
  color: #24afbd;
}
body .ta01_2 table tr th, body .ta01_2 table tr td {
  line-height: inhelit;
  font-size: 90%;
  border-color: transparent;
  word-break: break-all;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th, body .ta01_2 table tr td {
    line-height: inhelit;
    font-size: 90%;
  }
}
body .ta01_2 table tr th {
  color: #000;
  font-weight: bold;
  background-color: #999;
  padding: 1em 1em;
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th {
    padding: 1em 1em;
  }
}
body .ta01_2 table tr th:nth-child(1) {
  width: 25%;
  white-space: nowrap;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th:nth-child(1) {
    width: 15%;
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr th:nth-child(2) {
  width: 25%;
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th:nth-child(2) {
    width: 30%;
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr th:nth-child(3) {
  width: 25%;
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th:nth-child(3) {
    width: 20%;
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr th:nth-child(4) {
  width: 25%;
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th:nth-child(4) {
    width: 35%;
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr th:nth-child(5) {
  width: 0%;
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th:nth-child(5) {
    width: 0%;
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr th:nth-child(6) {
  width: 0%;
  white-space: nowrap;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th:nth-child(6) {
    width: 0%;
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr th:nth-child(7) {
  width: 0%;
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th:nth-child(7) {
    width: 0%;
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr th:nth-child(8) {
  width: 0%;
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th:nth-child(8) {
    width: 0%;
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr th:nth-child(9) {
  width: 0%;
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr th:nth-child(9) {
    width: 0%;
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr td {
  color: #000;
  background-color: transeparent;
  font-weight: normal;
  padding: 0.5em 1em;
  border-left: 1px solid #ccc;
  border-top: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td {
    padding: 0.3em 1em;
  }
}
body .ta01_2 table tr td:nth-child(1) {
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td:nth-child(1) {
    white-space: normal;
    text-align: center;
  }
}
body .ta01_2 table tr td:nth-child(2) {
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td:nth-child(2) {
    white-space: normal;
    text-align: center;
  }
}
body .ta01_2 table tr td:nth-child(3) {
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td:nth-child(3) {
    white-space: normal;
    text-align: center;
  }
}
body .ta01_2 table tr td:nth-child(4) {
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td:nth-child(4) {
    white-space: normal;
    text-align: center;
  }
}
body .ta01_2 table tr td:nth-child(5) {
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td:nth-child(5) {
    white-space: normal;
    text-align: center;
  }
}
body .ta01_2 table tr td:nth-child(6) {
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td:nth-child(6) {
    white-space: normal;
    text-align: center;
  }
}
body .ta01_2 table tr td:nth-child(7) {
  white-space: nowrap;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td:nth-child(7) {
    white-space: nowrap;
    text-align: center;
  }
}
body .ta01_2 table tr td:nth-child(8) {
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td:nth-child(8) {
    white-space: normal;
    text-align: center;
  }
}
body .ta01_2 table tr td:nth-child(9) {
  white-space: normal;
  text-align: center;
}
@media screen and (max-width: 640px) {
  body .ta01_2 table tr td:nth-child(9) {
    white-space: normal;
    text-align: center;
  }
}

body .tt01 {
  height: 2em;
  background-image: url("");
  background-repeat: repeat-y;
  background-position: center center;
  background-color: transparent;
}
@media screen and (max-width: 1024px) {
  body .tt01 {
    height: 2em;
    background-image: url("");
    background-repeat: repeat-y;
    background-position: center center;
  }
}
@media screen and (max-width: 640px) {
  body .tt01 {
    background-image: url("");
    background-size: 100%;
    height: 2em;
    background-position: center center;
  }
}
body .tt01 h2, body .tt01 h3, body .tt01 h4 {
  width: 100% !important;
  height: inherit;
  margin-left: 0 !important;
  text-indent: -10000px;
  background-image: url("../images/conttl_pc.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center left;
}
@media screen and (max-width: 1024px) {
  body .tt01 h2, body .tt01 h3, body .tt01 h4 {
    width: 100% !important;
    margin-left: 0 !important;
    background-image: url("../images/conttl_tab.svg");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center left;
  }
}
@media screen and (max-width: 640px) {
  body .tt01 h2, body .tt01 h3, body .tt01 h4 {
    width: 100%;
    margin-left: 0 !important;
    background-color: transparent;
    background-image: url("../images/conttl_sp.svg");
    background-position: center left;
  }
}

body #pagetop {
  position: fixed;
  right: 0;
  bottom: 10px;
}
@media screen and (max-width: 640px) {
  body #pagetop {
    bottom: 10px;
  }
}
body #pagetop a {
  width: 70px;
  height: 70px;
  display: inline-block;
  text-indent: -10000px;
  background-color: rgba(0, 0, 0, 0);
  background-repeat: no-repeat;
  background-size: 70%;
  background-position: center;
  background-image: url("../images/icon_pagetop_b.svg");
}
@media screen and (max-width: 640px) {
  body #pagetop a {
    width: 70px;
    height: 70px;
    background-image: url("../images/icon_pagetop_b.svg");
    background-size: 70%;
  }
}
body #pagetop a:hover {
  background-color: rgba(0, 0, 0, 0);
}

body.im04_body {
  background-color: #555;
  padding: 0;
  margin: 0;
  overflow-y: hidden;
}
body.im04_body #main {
  padding-top: 0;
  text-align: center;
}
body .im04 {
  margin: 0 auto;
  text-indent: -10000px;
  position: relative;
  height: 100vh;
  width: 100vw;
  background-image: url("../images/img_9.jpg");
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center center;
}
@media screen and (max-width: 640px) {
  body .im04 {
    background-image: url("../images/img_9_sp.jpg");
  }
}
body .im04::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../images/logo.svg");
  background-position: center center;
  background-size: 10%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 640px) {
  body .im04::before {
    background-image: url("../images/logo.svg");
    background-position: center center;
    background-size: 20%;
  }
}