@charset "UTF-8";
/*header*/
html {
  font-size: 62.5%; }

body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #333;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  height: 100%; }

header h1 {
  position: fixed;
  left: 10px;
  bottom: 5px;
  line-height: 1;
  color: #ccc;
  font-size: 1rem; }
  @media screen and (max-width: 979px) {
    header h1 {
      display: none; } }

.tit_common01 {
  font-size: 2rem;
  font-family: Futura, Geneva, Arial, sans-serif, "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
  margin-bottom: 20px;
  line-height: 1; }
  @media screen and (max-width: 979px) {
    .tit_common01 {
      margin-bottom: 10px; } }

.txt_tr {
  text-align: right;
  padding-top: 10px; }

main .sec_common {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 60px 0px; }
  main .sec_common .sec_in {
    width: 50%;
    margin: 0px auto; }
    @media screen and (max-width: 979px) {
      main .sec_common .sec_in {
        width: 80%; } }
    main .sec_common .sec_in dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      margin-bottom: 10px; }
      @media screen and (max-width: 767px) {
        main .sec_common .sec_in dl {
          display: block; } }
      main .sec_common .sec_in dl dt {
        width: 20%; }
        @media screen and (max-width: 767px) {
          main .sec_common .sec_in dl dt {
            width: 100%;
            -webkit-box-sizing: border-box;
            box-sizing: border-box; } }
      main .sec_common .sec_in dl dd {
        width: 78%; }
        @media screen and (max-width: 767px) {
          main .sec_common .sec_in dl dd {
            width: 100%;
            -webkit-box-sizing: border-box;
            box-sizing: border-box; } }
        main .sec_common .sec_in dl dd a {
          display: inline;
          text-decoration: underline; }
        main .sec_common .sec_in dl dd ol {
          list-style-type: decimal;
          margin-left: 15px; }
        main .sec_common .sec_in dl dd span {
          vertical-align: top;
          font-size: 1.2rem;
          color: #acacac; }
      main .sec_common .sec_in dl .flex {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        main .sec_common .sec_in dl .flex p {
          margin-bottom: 5px; }

main .sec_common:nth-child(2n) {
  background-color: #111; }
  main .sec_common:nth-child(2n) .tit_common01 {
    color: #fff; }
  main .sec_common:nth-child(2n) p {
    color: #eee; }
  main .sec_common:nth-child(2n) dt {
    color: #acacac; }
  main .sec_common:nth-child(2n) dd {
    color: #eee; }
    main .sec_common:nth-child(2n) dd a {
      color: #fff; }

main .cap {
  font-size: 1rem;
  padding-top: 10px; }

main .scroll {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  position: absolute;
  left: 0px;
  bottom: 30px;
  opacity: 0;
  -webkit-transform: translate(0px, -40px);
  -ms-transform: translate(0px, -40px);
  transform: translate(0px, -40px);
  -webkit-transition: all 3.0s;
  transition: all 3.0s; }
  main .scroll img {
    width: 40px;
    height: auto; }
  @media screen and (max-width: 979px) {
    main .scroll {
      bottom: 15px; }
      main .scroll img {
        width: 30px;
        height: auto; } }

main .sec01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 70%;
  height: calc(100vh - 30px);
  margin: 0px auto;
  position: relative; }
  @media screen and (max-width: 979px) {
    main .sec01 {
      width: 90%; } }
  @media screen and (max-width: 767px) {
    main .sec01 {
      width: 80%;
      display: block;
      height: calc(100vh - 50px); } }

main .txt_area {
  width: 40%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 10px;
  opacity: 0;
  -webkit-transform: translate(40px, 0px);
  -ms-transform: translate(40px, 0px);
  transform: translate(40px, 0px);
  -webkit-transition: all 3.0s;
  transition: all 3.0s; }
  @media screen and (max-width: 767px) {
    main .txt_area {
      width: 100%;
      position: absolute;
      left: 0%;
      bottom: 30px; } }

main .tit_h2 {
  -webkit-transition: all 2.0s;
  transition: all 2.0s;
  width: 40%;
  margin: 0px auto;
  position: relative; }
  @media screen and (max-width: 767px) {
    main .tit_h2 {
      width: 60%;
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
      height: 300px; } }
  main .tit_h2 svg {
    width: 100%;
    height: auto;
    position: absolute;
    left: 0px;
    top: 0px; }
  main .tit_h2 img {
    width: 100%;
    height: auto; }
  main .tit_h2 .st0 {
    stroke: #000;
    stroke-width: 1px;
    fill: #fff;
    stroke-dasharray: 1425px;
    stroke-dashoffset: 1425px;
    -webkit-animation: anim 3s ease-in 0s forwards;
    animation: anim 3s ease-in 0s forwards;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    box-sizing: border-box; }
  @media all and (-ms-high-contrast: none) {
    main .tit_h2 *::-ms-backdrop, main .tit_h2 .st0 {
      fill: #000; } }
  main .tit_h2 .st1 {
    stroke: #00A0E9;
    stroke-width: 0.3px;
    fill: #fff;
    stroke-dasharray: 1425px;
    stroke-dashoffset: 1425px;
    -webkit-animation: anim2 3s ease-in 0s forwards;
    animation: anim2 3s ease-in 0s forwards; }

.sec04 {
  /*dt{
    color: #000 !important;
  }
  dd{
    color: #000 !important;
    a{
      color: #000 !important;
    }
  }*/ }
  @media screen and (max-width: 767px) {
    .sec04 {
      display: block;
      height: auto !important;
      padding: 30px 0px; } }

.db {
  display: block; }

footer {
  position: fixed;
  right: 10px;
  bottom: 5px; }
  @media screen and (max-width: 979px) {
    footer {
      position: static;
      background-color: #111;
      text-align: right;
      padding: 10px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }
  footer small {
    font-size: 1rem;
    color: #aaa; }

.mb50 {
  margin-bottom: 50px; }

.map {
  width: 100%;
  height: 400px;
  margin-top: 5px; }
  @media screen and (max-width: 767px) {
    .map {
      height: 250px; } }

/*animation
------------------------------------------------------------------------------------------------*/
@-webkit-keyframes anim {
  0% {
    stroke-dashoffset: 1425px; }
  30% {
    fill: transparent; }
  60% {
    stroke-dashoffset: 0; }
  100% {
    stroke-dashoffset: 0;
    fill: #000; } }
@keyframes anim {
  0% {
    stroke-dashoffset: 1425px; }
  30% {
    fill: transparent; }
  60% {
    stroke-dashoffset: 0; }
  100% {
    stroke-dashoffset: 0;
    fill: #000; } }

@-webkit-keyframes anim2 {
  0% { }
  30% {
    stroke-dashoffset: 0; }
  60% { }
  100% {
    opacity: 0;
    stroke-dasharray: 1425px;
    stroke-dashoffset: 1425px; } }

@keyframes anim2 {
  0% { }
  30% {
    stroke-dashoffset: 0; }
  60% { }
  100% {
    opacity: 0;
    stroke-dasharray: 1425px;
    stroke-dashoffset: 1425px; } }

.cur_on {
  opacity: 1 !important;
  -webkit-transform: translate(0px, 0px) !important;
  -ms-transform: translate(0px, 0px) !important;
  transform: translate(0px, 0px) !important; }

p {
  word-break: break-all; }

a {
  -webkit-transition: all 1.0s;
  transition: all 1.0s; }

a:hover {
  opacity: 0.7; }

.pc {
  display: block; }

.pc_inline {
  display: inline-block; }

.sp {
  display: none; }

@media screen and (max-width: 767px) {
  .pc {
    display: none; }
  .pc_inline {
    display: none; }
  .sp {
    display: block; } }
