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

body {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #707070;
  -webkit-text-size-adjust: none;
  display: none; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 14px; } }
  body img {
    max-width: 100%;
    height: auto; }

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

a:hover {
  opacity: 0.8; }

header {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: fixed;
  min-height: 90px;
  background-color: white;
  z-index: 101; }
  @media screen and (max-width: 768px) {
    header {
      min-height: 50px;
      height: 50px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; } }
  header .header_in {
    width: 100%;
    margin: 0px auto;
    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-left: 10%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media screen and (max-width: 768px) {
      header .header_in {
        padding: 0px; } }
    header .header_in h1 {
      width: 16.73%; }
      @media screen and (max-width: 768px) {
        header .header_in h1 {
          width: 25.06%;
          max-width: 94px;
          padding: 0px 0px 0px 20px; }
          header .header_in h1 img {
            display: block; } }
    header .header_in .sp_btn_area {
      display: none; }
      @media screen and (max-width: 768px) {
        header .header_in .sp_btn_area {
          display: block;
          width: 30.93%;
          margin-right: 64px; }
          header .header_in .sp_btn_area ul {
            width: 100%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
            header .header_in .sp_btn_area ul li:nth-child(1) {
              width: 100%; }
              header .header_in .sp_btn_area ul li:nth-child(1) a {
                font-size: 14px;
                color: #fff;
                background-color: #c3c3c3;
                font-family: "Lexend Deca", sans-serif;
                text-align: center;
                height: 50px;
                line-height: 50px; }
            header .header_in .sp_btn_area ul li:nth-child(2) {
              width: 64px;
              position: fixed;
              right: 0px;
              top: 0px;
              z-index: 202; }
              header .header_in .sp_btn_area ul li:nth-child(2) a {
                width: 100%;
                display: block;
                height: 50px;
                position: relative;
                overflow: hidden; }
                header .header_in .sp_btn_area ul li:nth-child(2) a::before, header .header_in .sp_btn_area ul li:nth-child(2) a::after, header .header_in .sp_btn_area ul li:nth-child(2) a span {
                  display: block;
                  width: 30px;
                  height: 2px;
                  background-color: #707070;
                  position: absolute;
                  left: calc(50% - 15px);
                  -webkit-transition: all 0.2s;
                  transition: all 0.2s; }
                header .header_in .sp_btn_area ul li:nth-child(2) a span {
                  top: calc(50%); }
                header .header_in .sp_btn_area ul li:nth-child(2) a::before, header .header_in .sp_btn_area ul li:nth-child(2) a::after {
                  content: ""; }
                header .header_in .sp_btn_area ul li:nth-child(2) a::before {
                  top: calc(50% - 8px); }
                header .header_in .sp_btn_area ul li:nth-child(2) a::after {
                  top: calc(50% + 8px); }
              header .header_in .sp_btn_area ul li:nth-child(2) .sp_menu_on::before, header .header_in .sp_btn_area ul li:nth-child(2) .sp_menu_on::after, header .header_in .sp_btn_area ul li:nth-child(2) .sp_menu_on span {
                background-color: #fff; }
              header .header_in .sp_btn_area ul li:nth-child(2) .sp_menu_on span {
                opacity: 0; }
              header .header_in .sp_btn_area ul li:nth-child(2) .sp_menu_on::before {
                top: calc(50% - 1px);
                -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                transform: rotate(45deg); }
              header .header_in .sp_btn_area ul li:nth-child(2) .sp_menu_on::after {
                top: calc(50% - 1px);
                -webkit-transform: rotate(-45deg);
                -ms-transform: rotate(-45deg);
                transform: rotate(-45deg); } }
    header .header_in nav {
      width: 83.26%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      @media screen and (max-width: 768px) {
        header .header_in nav {
          display: none;
          position: fixed;
          left: 0px;
          top: 0px;
          width: 100%;
          background-color: rgba(0, 0, 0, 0.8);
          padding: 50px 0px; } }
      header .header_in nav .main_ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end; }
        @media screen and (max-width: 768px) {
          header .header_in nav .main_ul {
            display: block;
            width: 100%; } }
      header .header_in nav .main_li {
        padding: 0px 20px;
        position: relative;
        overflow: hidden; }
        @media screen and (max-width: 768px) {
          header .header_in nav .main_li {
            padding: 0px 0px;
            overflow: visible; } }
        header .header_in nav .main_li a {
          font-size: 18px;
          color: #707070;
          font-weight: bold;
          padding: 35px 0px;
          position: relative;
          font-family: "Lexend Deca", sans-serif; }
          @media screen and (max-width: 768px) {
            header .header_in nav .main_li a {
              text-align: center;
              padding: 15px 0px;
              color: #fff; } }
          header .header_in nav .main_li a::after {
            -webkit-transition: all 0.2s;
            transition: all 0.2s;
            position: absolute;
            left: 0px;
            bottom: 25px;
            width: 0%;
            height: 2px;
            content: "";
            background-color: #454545; }
            @media screen and (max-width: 768px) {
              header .header_in nav .main_li a::after {
                background-color: #fff;
                left: 35%;
                bottom: 0px; } }
        header .header_in nav .main_li a:hover {
          color: #454545; }
          @media screen and (max-width: 768px) {
            header .header_in nav .main_li a:hover {
              color: #efefef; } }
          header .header_in nav .main_li a:hover::after {
            width: 100%; }
            @media screen and (max-width: 768px) {
              header .header_in nav .main_li a:hover::after {
                width: 30%;
                left: 35%;
                bottom: 0px; } }
        header .header_in nav .main_li ul {
          position: absolute;
          left: -20px;
          top: 80px;
          background-color: #fff;
          padding-bottom: 10px;
          -webkit-transition: all 0.3s;
          transition: all 0.3s;
          -webkit-transform: translate(0px, -10px);
          -ms-transform: translate(0px, -10px);
          transform: translate(0px, -10px);
          opacity: 0;
          display: block;
          width: calc(100% + 40px); }
          @media screen and (max-width: 768px) {
            header .header_in nav .main_li ul {
              position: static;
              -webkit-transform: translate(0px, 0px);
              -ms-transform: translate(0px, 0px);
              transform: translate(0px, 0px);
              opacity: 1;
              background-color: transparent;
              width: 100%; } }
          header .header_in nav .main_li ul li a {
            padding: 10px 20px;
            text-align: center; }
            @media screen and (max-width: 768px) {
              header .header_in nav .main_li ul li a {
                padding: 15px 0px; } }
            header .header_in nav .main_li ul li a:hover::after {
              display: none; }
              @media screen and (max-width: 768px) {
                header .header_in nav .main_li ul li a:hover::after {
                  display: block; } }
      header .header_in nav .main_li:hover {
        overflow: visible; }
        header .header_in nav .main_li:hover ul {
          -webkit-transform: translate(0px, 0px);
          -ms-transform: translate(0px, 0px);
          transform: translate(0px, 0px);
          opacity: 1; }
      header .header_in nav .main_li:nth-last-child(1) {
        padding: 0px 0px 0px 20px; }
        @media screen and (max-width: 768px) {
          header .header_in nav .main_li:nth-last-child(1) {
            padding: 0px 0px 0px 0px; } }
        header .header_in nav .main_li:nth-last-child(1) .main_a {
          display: block;
          background-color: #707070;
          color: #fff;
          padding: 35px; }
          @media screen and (max-width: 768px) {
            header .header_in nav .main_li:nth-last-child(1) .main_a {
              background-color: transparent;
              padding: 0px 0px 0px; } }
          header .header_in nav .main_li:nth-last-child(1) .main_a:hover::after {
            display: none; }
          header .header_in nav .main_li:nth-last-child(1) .main_a::before {
            display: none; }
            @media screen and (max-width: 768px) {
              header .header_in nav .main_li:nth-last-child(1) .main_a::before {
                content: "";
                width: 40px;
                margin: 35px auto;
                height: 1px;
                display: block;
                background-color: #fff; } }

.btn_top {
  position: fixed;
  right: 40px;
  bottom: 40px;
  z-index: 100;
  width: 60px;
  height: auto; }
  @media screen and (max-width: 768px) {
    .btn_top {
      width: 40px;
      right: 20px;
      bottom: 20px; } }

footer {
  width: 100%;
  background-color: #3c3939;
  padding: 50px 0px; }
  @media screen and (max-width: 768px) {
    footer {
      padding: 20px 0px; } }
  footer small {
    text-align: center;
    color: #fff;
    font-size: 16px; }
    @media screen and (max-width: 768px) {
      footer small {
        font-size: 12px; } }

/* 改行位置調整 */
.pc {
  display: block; }
  @media screen and (max-width: 1024px) {
    .pc {
      display: none; } }

.pc_inline {
  display: inline-block; }
  @media screen and (max-width: 1024px) {
    .pc_inline {
      display: none; } }

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

.sp_inline {
  display: none; }
  @media screen and (max-width: 1024px) {
    .sp_inline {
      display: inline-block; } }

/* デバイス対応 */
.tab {
  display: none; }
  @media screen and (max-width: 1024px) {
    .tab {
      display: block; } }
  @media screen and (max-width: 768px) {
    .tab {
      display: none; } }

.tabsp_inline {
  display: none; }
  @media screen and (max-width: 1024px) {
    .tabsp_inline {
      display: inline-block; } }

@keyframes DASH {
  0% {
    stroke-dashoffset: 5000; }
  100% {
    stroke-dashoffset: 0; } }

@-webkit-keyframes DASH {
  0% {
    stroke-dashoffset: 5000; }
  100% {
    stroke-dashoffset: 0; } }

@keyframes DASH2 {
  0% {
    stroke-dashoffset: 3000; }
  100% {
    stroke-dashoffset: 0; } }

@-webkit-keyframes DASH2 {
  0% {
    stroke-dashoffset: 3000; }
  100% {
    stroke-dashoffset: 0; } }

@keyframes star {
  0% {
    fill-opacity: 0; }
  100% {
    fill-opacity: 1; } }

@-webkit-keyframes star {
  0% {
    fill-opacity: 0; }
  100% {
    fill-opacity: 1; } }
