@charset "UTF-8";
/* 1.html5doctor.com Reset Stylesheet
-----------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* 1.5 リストマーカー無
-----------------------------------------*/
ol, ul {
  list-style: none; }

/* 2．スクロールバーを常に表示
-----------------------------------------*/
html {
  overflow-y: scroll;
  scroll-behavior: smooth; }

/* 【カラー設定】 */
/* 3．フォント関連半角英数字折り返しする
-----------------------------------------*/
body {
  word-break: break-all;
  /* 常に行末で改行 */
  word-wrap: break-word;
  /* 英数半角の改行 */
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",'Oswald','Helvetica Neue','Helvetica','Arial','Noto Sans JP','Hiragino Sans','ヒラギノ角ゴシック','メイリオ', Meiryo,'ＭＳ Ｐゴシック','MS PGothic','ＭＳ ゴシック',sans-serif;
  text-align: justify;
  /*テキストを両端揃え*/
  text-justify: inter-ideograph;
  /*テキストを両端揃えIE用*/
  font-weight: 300; }

/* 6．画像余白を消す
-----------------------------------------*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
  max-width: 100%; }

body {
  color: #333;
  line-height: 1.8;
  font-size: 16px;
  background-color: #fff; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 3.7vw; } }

.pc-none {
  display: none; }

.sp-none {
  display: block; }

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

  .sp-none {
    display: none; } }
.txt__center {
  text-align: center; }

#close_btn {
  height: 50px;
  width: 50px;
  z-index: 102;
  top: 28px;
  right: 33px;
  position: fixed;
  display: none; }
  @media screen and (max-width: 768px) {
    #close_btn {
      margin: 4vw 0 4vw auto;
      top: -2vw;
      right: 6vw; } }

#sm_menu {
  display: block;
  position: fixed;
  right: 30px;
  top: 25px;
  padding: 0 0 0 15px;
  z-index: 100;
  width: 45px;
  height: 60px;
  text-align: right;
  cursor: pointer;
  mix-blend-mode: exclusion; }
  @media screen and (max-width: 768px) {
    #sm_menu {
      right: 4vw;
      top: 4vw;
      bottom: auto;
      width: 12vw;
      height: 12vw;
      padding: 0; } }
  #sm_menu .menu_btn, #sm_menu .menu_btn:before {
    display: block;
    font-size: 10px;
    width: 28px;
    height: 2px;
    background: #333;
    position: absolute;
    top: 30px;
    margin: auto;
    transition: all .5s ease; }
    @media screen and (max-width: 768px) {
      #sm_menu .menu_btn, #sm_menu .menu_btn:before {
        top: 6vw;
        right: 3vw; } }
    #sm_menu .menu_btn:before {
      content: ""; }
      @media screen and (max-width: 768px) {
        #sm_menu .menu_btn:before {
          right: 0; } }
    #sm_menu .menu_btn:before {
      top: -8px; }
    #sm_menu .menu_btn.close, #sm_menu .close.menu_btn:before {
      background-color: #DF0522;
      transform: rotate(45deg);
      transition: all 1s ease; }
      #sm_menu .close.menu_btn:before {
        top: 0;
        transform: rotate(-90deg); }

.flexbox {
  display: flex;
  justify-content: space-between; }
  @media screen and (max-width: 768px) {
    .flexbox {
      display: block; } }

#page-top, #page-top-w {
  opacity: 0;
  position: fixed;
  bottom: -50px;
  right: 50px;
  font-size: 77%;
  z-index: 100;
  transition: all .5s ease;
  width: 27px; }
  #page-top a.top-word, #page-top-w a.top-word {
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    font-family: 'Oswald',serif;
    display: block;
    text-align: center;
    font-weight: bold; }
  @media screen and (max-width: 768px) {
    #page-top, #page-top-w {
      right: 4vw; } }
  #page-top.disp, #page-top-w.disp {
    bottom: 50px;
    opacity: 1;
    transition: all .5s ease; }
    @media screen and (max-width: 768px) {
      #page-top.disp, #page-top-w.disp {
        bottom: 10vw; } }

#page-top-w.disp {
  bottom: 25px;
  mix-blend-mode: exclusion; }
  @media screen and (max-width: 768px) {
    #page-top-w.disp {
      bottom: 4vw; } }

.logo-area {
  position: absolute;
  top: 20px;
  left: 20px;
  height: 650px; }
  @media screen and (max-width: 768px) {
    .logo-area {
      top: 4vw;
      left: 4vw;
      width: 92vw; } }
  .logo-area .logo {
    position: relative;
    z-index: 9999;
    background-color: #fff; }
    @media screen and (max-width: 768px) {
      .logo-area .logo {
        width: 100%; } }
  .logo-area img {
    max-height: 100%; }

.mv {
  margin: 50px auto 0;
  max-width: 1400px;
  position: relative;
  z-index: 1; }
  @media screen and (max-width: 768px) {
    .mv {
      margin-top: 42vw; } }
  .mv .kifugaku {
    width: 250px;
    position: absolute;
    bottom: -50px;
    right: 20px; }
    @media screen and (max-width: 768px) {
      .mv .kifugaku {
        width: 45vw;
        right: 4vw;
        bottom: -35vw; } }
    .mv .kifugaku img {
      max-width: 100%; }
  @media screen and (max-width: 768px) {
    .mv .ttl {
      overflow: hidden;
      width: 100%; }
      .mv .ttl img {
        width: 250vw;
        margin-left: -75vw;
        max-width: none; } }

.scroll {
  width: 64px;
  margin: 50px auto; }
  .scroll .scroll-img {
    position: relative;
    top: 3px; }
  .scroll .arrow-img {
    animation: fadeInAnime 0.5s linear 1s infinite alternate;
    top: 0; }
@keyframes fadeInAnime {
  0% {
    transform: translateY(-3px); }
  100% {
    transform: translateY(3px); } }
  @media screen and (max-width: 768px) {
    .scroll {
      margin-top: 40vw; } }

header {
  overflow-x: hidden;
  width: 100%;
  position: relative; }
  header nav {
    position: fixed;
    z-index: 99;
    top: 0;
    right: -100%;
    width: 375px;
    background: #000;
    color: #fff;
    height: 100vh; }
    header nav .nav-inner {
      padding: 100px 50px; }
      header nav .nav-inner .link {
        font-size: 34px;
        font-family: 'Oswald',"游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",sans-serif;
        font-weight: bold;
        line-height: .8;
        margin-bottom: 50px; }
        header nav .nav-inner .link a {
          color: #fff;
          text-decoration: none; }
          header nav .nav-inner .link a:hover {
            color: #DF0522;
            transition: all 0.5s ease 0s; }
          header nav .nav-inner .link a span.small {
            font-size: 14px; }
          header nav .nav-inner .link a span.smaller {
            font-size: 22px; }
          header nav .nav-inner .link a span.kakeru {
            display: inline-block;
            position: relative;
            width: 15px; }
            header nav .nav-inner .link a span.kakeru::before, header nav .nav-inner .link a span.kakeru::after {
              content: "";
              display: block;
              position: absolute;
              height: 3px;
              width: 13px;
              background: #fff;
              bottom: 11px;
              left: 0;
              transform: rotate(45deg); }
            header nav .nav-inner .link a span.kakeru::after {
              transform: rotate(135deg); }
        header nav .nav-inner .link .place {
          font-size: 14px;
          margin-left: 35px;
          line-height: 1.5;
          position: relative; }
          header nav .nav-inner .link .place.top {
            margin-top: 15px; }
          header nav .nav-inner .link .place::before {
            content: "";
            display: block;
            position: absolute;
            height: 1px;
            width: 20px;
            background: #fff;
            bottom: 9px;
            left: -35px; }

.info, .footer-info {
  width: 650px;
  margin: 70px auto 50px; }
  @media screen and (max-width: 768px) {
    .info, .footer-info {
      width: 90vw;
      margin: 15vw auto 10vw; } }
  .info .place, .footer-info .place {
    font-size: 18px;
    font-weight: bold;
    margin-top: 25px; }
    @media screen and (max-width: 768px) {
      .info .place, .footer-info .place {
        line-height: 1.2;
        margin-bottom: 3vw;
        margin-top: 10vw;
        font-weight: normal; } }
  .info .day, .footer-info .day {
    font-size: 38px;
    font-weight: bold;
    font-family: 'Oswald', sans-serif;
    line-height: 1; }
    .info .day .small, .info .day .time, .footer-info .day .small, .footer-info .day .time {
      font-size: 24px; }
    .info .day .x-small, .footer-info .day .x-small {
      font-size: 14px;
      font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif; }
  .info .price, .footer-info .price {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    margin-top: 30px;
    letter-spacing: .3em; }

.content {
  background: url(../img/back-black.jpg) repeat-x left top/1400px transparent;
  padding-bottom: 300px;
  overflow-x: hidden; }
  @media screen and (max-width: 768px) {
    .content {
      background-image: url(../img/back-black_smt.png);
      background-size: contain;
      padding-bottom: 150px; } }

#first-content .inner {
  width: 760px;
  margin: auto;
  padding: 110px 0 300px;
  position: relative; }
  @media screen and (max-width: 768px) {
    #first-content .inner {
      width: 92vw;
      margin: auto;
      padding-top: 10vw;
      padding-bottom: 98vw; } }
  #first-content .inner p {
    font-weight: bold;
    line-height: 2.5;
    position: relative;
    z-index: 10; }
    @media screen and (max-width: 768px) {
      #first-content .inner p {
        line-height: 2; } }
  #first-content .inner .hrat {
    position: absolute;
    z-index: 1;
    right: -180px;
    bottom: 50px;
    width: 325px;
    transition: all 1s ease 0s; }
    @media screen and (max-width: 768px) {
      #first-content .inner .hrat {
        right: 12vw;
        bottom: 15vw;
        width: 66vw; } }

#features {
  color: #fff;
  text-align: center;
  overflow: hidden; }
  @media screen and (max-width: 768px) {
    #features {
      overflow: visible; } }
  #features h2 {
    font-size: 56px;
    font-family: 'Oswald', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",sans-serif;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      #features h2 {
        font-size: 10vw; } }
    #features h2 span.small {
      display: block;
      font-size: 16px; }
      @media screen and (max-width: 768px) {
        #features h2 span.small {
          font-size: 4vw; } }
  #features .heading {
    font-size: 30px;
    font-weight: bold;
    margin: 80px auto 50px;
    letter-spacing: 0.2em; }
    @media screen and (max-width: 768px) {
      #features .heading {
        font-size: 6vw;
        margin: 12vw auto 10vw;
        text-align: left;
        width: 54vw; } }
  #features p.introduction {
    line-height: 2.8; }
    @media screen and (max-width: 768px) {
      #features p.introduction {
        line-height: 2;
        width: 92vw;
        text-align: left;
        margin: auto; } }
  #features .features-inner {
    text-align: left; }
    #features .features-inner h3 span.japanese {
      letter-spacing: .1em;
      display: block;
      position: relative; }
    #features .features-inner p {
      line-height: 2.3;
      font-size: 14px;
      text-align: left; }
      @media screen and (max-width: 768px) {
        #features .features-inner p {
          line-height: 1.8;
          font-size: 3.7vw; } }
    #features .features-inner .picture {
      font-family: 'Oswald', sans-serif;
      font-size: 14px; }
    #features .features-inner.first {
      margin-top: 80px;
      width: 760px;
      margin: 100px auto;
      position: relative; }
      @media screen and (max-width: 768px) {
        #features .features-inner.first {
          width: 92vw;
          margin: 10vw auto; } }
      #features .features-inner.first h3 {
        padding: 0 30px;
        position: relative;
        z-index: 2;
        height: 134px; }
        @media screen and (max-width: 768px) {
          #features .features-inner.first h3 {
            padding: 0; } }
        #features .features-inner.first h3 span.japanese {
          font-size: 20px;
          top: calc(50% + 20px);
          left: 350px; }
          @media screen and (max-width: 768px) {
            #features .features-inner.first h3 span.japanese {
              left: 25vw;
              top: 30vw;
              font-size: 5.5vw; } }
          #features .features-inner.first h3 span.japanese::before {
            content: "";
            display: block;
            position: absolute;
            height: 1px;
            width: 70px;
            background: #fff;
            top: 50%;
            left: -100px; }
            @media screen and (max-width: 768px) {
              #features .features-inner.first h3 span.japanese::before {
                width: 17vw;
                left: -25vw; } }
        #features .features-inner.first h3 img {
          width: 223px;
          position: absolute;
          left: 0;
          top: 0; }
          @media screen and (max-width: 768px) {
            #features .features-inner.first h3 img {
              width: 45vw; } }
      #features .features-inner.first p {
        margin: 80px auto 0 90px;
        max-width: 480px;
        position: relative;
        z-index: 3; }
        @media screen and (max-width: 768px) {
          #features .features-inner.first p {
            margin: 10vw auto 0;
            width: 92vw; } }
      #features .features-inner.first .picture .picture1 {
        position: absolute;
        top: 1200px;
        left: -240px;
        width: 286px;
        z-index: 1;
        text-align: right; }
        #features .features-inner.first .picture .picture1 img {
          max-width: 100%; }
        @media screen and (max-width: 768px) {
          #features .features-inner.first .picture .picture1 {
            width: 40vw;
            left: 1vw;
            right: auto;
            top: 180vw; } }
      #features .features-inner.first .picture .picture2 {
        position: absolute;
        z-index: 1;
        width: 514px;
        left: auto;
        top: 1000px;
        right: -300px;
        text-align: left; }
        @media screen and (max-width: 768px) {
          #features .features-inner.first .picture .picture2 {
            width: 75vw;
            left: auto;
            right: -5vw;
            top: 112vw; } }
        #features .features-inner.first .picture .picture2 img {
          max-width: 100%; }
    #features .features-inner.second {
      width: 1000px;
      position: relative;
      margin: 200px auto 0; }
      @media screen and (max-width: 768px) {
        #features .features-inner.second {
          width: 92vw;
          margin-top: 145vw; } }
      #features .features-inner.second h3, #features .features-inner.second p {
        width: 500px;
        margin: 0 0 0 auto; }
        @media screen and (max-width: 768px) {
          #features .features-inner.second h3, #features .features-inner.second p {
            width: 100%; } }
      #features .features-inner.second h3 span.japanese {
        text-align: right;
        font-size: 20px;
        margin-top: 20px; }
        @media screen and (max-width: 768px) {
          #features .features-inner.second h3 span.japanese {
            font-size: 5.5vw;
            text-align-last: left;
            margin-top: 4vw;
            padding-left: 21vw; } }
        #features .features-inner.second h3 span.japanese::before {
          content: "";
          display: block;
          position: absolute;
          height: 1px;
          width: 70px;
          background: #fff;
          top: 50%;
          left: 160px; }
          @media screen and (max-width: 768px) {
            #features .features-inner.second h3 span.japanese::before {
              left: 0;
              width: 15vw; } }
      #features .features-inner.second p {
        margin-top: 50px; }
        @media screen and (max-width: 768px) {
          #features .features-inner.second p {
            margin-top: 6vw; } }
      #features .features-inner.second .picture3 {
        width: 700px;
        position: absolute;
        top: 1400px;
        left: -250px;
        text-align: right; }
        @media screen and (max-width: 768px) {
          #features .features-inner.second .picture3 {
            left: 0;
            top: 115vw;
            width: 100%; } }
    #features .features-inner.third {
      width: 1000px;
      position: relative;
      margin: 200px auto 0; }
      @media screen and (max-width: 768px) {
        #features .features-inner.third {
          width: 92vw; } }
      #features .features-inner.third h3, #features .features-inner.third p {
        width: 500px;
        margin: 0 auto 0 0; }
        @media screen and (max-width: 768px) {
          #features .features-inner.third h3, #features .features-inner.third p {
            width: 100%;
            margin: auto; } }
      #features .features-inner.third h3 {
        width: 462px; }
        @media screen and (max-width: 768px) {
          #features .features-inner.third h3 {
            width: 86vw;
            margin-left: 0; } }
        #features .features-inner.third h3 span.japanese {
          font-size: 20px;
          margin-top: 20px;
          margin-left: 100px; }
          @media screen and (max-width: 768px) {
            #features .features-inner.third h3 span.japanese {
              font-size: 5.5vw;
              text-align-last: left;
              margin-top: 4vw;
              margin-left: 0;
              padding-left: 21vw; } }
          #features .features-inner.third h3 span.japanese::before {
            content: "";
            display: block;
            position: absolute;
            height: 1px;
            width: 70px;
            background: #fff;
            top: 50%;
            left: -100px; }
            @media screen and (max-width: 768px) {
              #features .features-inner.third h3 span.japanese::before {
                left: 0;
                width: 15vw; } }
      #features .features-inner.third p {
        margin-top: 50px; }
        @media screen and (max-width: 768px) {
          #features .features-inner.third p {
            margin-top: 6vw; } }
      #features .features-inner.third .picture4 {
        width: 270px;
        position: absolute;
        top: 1420px;
        right: 180px; }
        @media screen and (max-width: 768px) {
          #features .features-inner.third .picture4 {
            top: 106vw;
            right: auto;
            left: -5vw;
            width: 42vw; }
            #features .features-inner.third .picture4 figcaption {
              text-align: right; } }
      #features .features-inner.third .picture5 {
        width: 420px;
        position: absolute;
        top: 1580px;
        right: -260px; }
        @media screen and (max-width: 768px) {
          #features .features-inner.third .picture5 {
            top: 114vw;
            right: -9vw;
            width: 59vw; }
            #features .features-inner.third .picture5 figcaption {
              text-align: left; } }
    #features .features-inner.fourth {
      width: 1000px;
      position: relative;
      margin: 200px auto 0;
      padding-bottom: 30px; }
      @media screen and (max-width: 768px) {
        #features .features-inner.fourth {
          width: 92vw;
          margin-top: 90vw; } }
      #features .features-inner.fourth h3, #features .features-inner.fourth h4, #features .features-inner.fourth p {
        width: 500px;
        margin: 0 0 0 auto; }
        @media screen and (max-width: 768px) {
          #features .features-inner.fourth h3, #features .features-inner.fourth h4, #features .features-inner.fourth p {
            width: 100%;
            margin: 0 auto 0 0; } }
      #features .features-inner.fourth h3 {
        width: 600px;
        position: relative;
        z-index: 2; }
        @media screen and (max-width: 768px) {
          #features .features-inner.fourth h3 img {
            width: 60vw; } }
        #features .features-inner.fourth h3 span.japanese {
          text-align: right;
          font-size: 20px;
          margin-top: 20px; }
          @media screen and (max-width: 768px) {
            #features .features-inner.fourth h3 span.japanese {
              font-size: 5.5vw;
              text-align-last: left;
              margin-top: 4vw;
              margin-left: 0;
              padding-left: 21vw; } }
          #features .features-inner.fourth h3 span.japanese::before {
            content: "";
            display: block;
            position: absolute;
            height: 1px;
            width: 70px;
            background: #fff;
            top: 50%;
            left: 300px; }
            @media screen and (max-width: 768px) {
              #features .features-inner.fourth h3 span.japanese::before {
                left: 0;
                width: 15vw; } }
      #features .features-inner.fourth h4 {
        margin: 40px 0 30px auto;
        font-family: 'Oswald', sans-serif;
        font-size: 38px;
        line-height: .8; }
        @media screen and (max-width: 768px) {
          #features .features-inner.fourth h4 {
            margin-top: 88vw;
            font-size: 8vw;
            margin-bottom: 6vw; } }
        #features .features-inner.fourth h4 .small {
          font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",sans-serif;
          font-size: 16px; }
          @media screen and (max-width: 768px) {
            #features .features-inner.fourth h4 .small {
              font-size: 4vw; } }
      #features .features-inner.fourth p {
        margin-top: 30px; }
        @media screen and (max-width: 768px) {
          #features .features-inner.fourth p {
            margin-top: 6vw; } }
      #features .features-inner.fourth .dbox {
        position: absolute;
        bottom: 0;
        right: -100px;
        width: 263px; }
        @media screen and (max-width: 768px) {
          #features .features-inner.fourth .dbox {
            right: 0;
            width: 40vw;
            bottom: auto; } }
      #features .features-inner.fourth .picture6 {
        width: 452px;
        position: absolute;
        top: 1900px;
        left: -10px;
        text-align: right;
        z-index: 1; }
        @media screen and (max-width: 768px) {
          #features .features-inner.fourth .picture6 {
            top: 113vw;
            left: auto;
            right: 0;
            width: 62vw; } }

#outline {
  /*タブ実装*/ }
  #outline h2 {
    margin-top: -150px; }
    @media screen and (max-width: 768px) {
      #outline h2 {
        margin-top: -20vw; } }
  #outline .tab_box {
    margin-top: 30px; }
    #outline .tab_box .btn_area {
      display: flex;
      justify-content: center; }
    #outline .tab_box .tab_btn {
      width: 150px;
      padding: 15px 0;
      color: #000;
      font-size: 18px;
      text-align: center;
      cursor: pointer;
      font-weight: bold;
      position: relative;
      letter-spacing: .1em; }
      @media screen and (max-width: 768px) {
        #outline .tab_box .tab_btn {
          padding: 10px 0;
          font-size: 4vw;
          width: 27vw;
          font-weight: bold; } }
      #outline .tab_box .tab_btn::after {
        opacity: 0;
        content: "";
        display: block;
        position: absolute;
        height: 1px;
        width: 36px;
        background: #DF0522;
        bottom: 8px;
        left: calc(50% - 18px); }
      #outline .tab_box .tab_btn:hover {
        color: #DF0522; }
        #outline .tab_box .tab_btn:hover::after {
          transition: all 0.2s ease 0s;
          opacity: 1; }
      #outline .tab_box .tab_btn.active {
        color: #DF0522; }
        #outline .tab_box .tab_btn.active::after {
          transition: all 0.2s ease 0s;
          opacity: 1; }
    #outline .tab_box .panel_area {
      background: #fff;
      padding: 20px 0;
      overflow: hidden;
      height: 450px; }
      @media screen and (max-width: 768px) {
        #outline .tab_box .panel_area {
          padding: 0;
          height: 255vw; }
          #outline .tab_box .panel_area a.viewall {
            margin-bottom: 8vw; } }
      #outline .tab_box .panel_area a.viewall {
        margin: 20px 0 0 0; }
    #outline .tab_box .tab_panel {
      opacity: 0;
      position: absolute;
      display: flex;
      justify-content: space-between;
      width: 100%; }
      @media screen and (max-width: 768px) {
        #outline .tab_box .tab_panel {
          display: block;
          width: 92vw;
          position: absolute;
          left: 4vw;
          margin: 5vw auto; } }
      #outline .tab_box .tab_panel.active {
        transition: all 1.8s ease 0s;
        opacity: 1; }
      #outline .tab_box .tab_panel .text-inner {
        width: 480px;
        margin: 0 0 0 auto; }
        @media screen and (max-width: 768px) {
          #outline .tab_box .tab_panel .text-inner {
            width: 100%; } }
      #outline .tab_box .tab_panel dl {
        border-top: 1px solid #999;
        display: flex;
        justify-items: left;
        padding: 15px 0;
        font-size: 14px;
        font-weight: bold; }
        #outline .tab_box .tab_panel dl dt {
          width: 130px; }
          @media screen and (max-width: 768px) {
            #outline .tab_box .tab_panel dl dt {
              width: 28vw; } }
        @media screen and (max-width: 768px) {
          #outline .tab_box .tab_panel dl dd {
            width: 64vw; } }
      #outline .tab_box .tab_panel p {
        font-size: 14px;
        border-top: 1px solid #999;
        padding-top: 15px; }
      #outline .tab_box .tab_panel .text, #outline .tab_box .tab_panel .map {
        width: calc(50% - 15px); }
        @media screen and (max-width: 768px) {
          #outline .tab_box .tab_panel .text, #outline .tab_box .tab_panel .map {
            width: 100%; } }
        #outline .tab_box .tab_panel .text iframe, #outline .tab_box .tab_panel .map iframe {
          width: 100%;
          height: 100%; }
      @media screen and (max-width: 768px) {
        #outline .tab_box .tab_panel .map {
          width: 100vw;
          height: 100vw;
          margin-left: -4vw;
          margin-top: 5vw; } }

#charity, #donation {
  margin-top: 100px; }
  @media screen and (max-width: 768px) {
    #charity, #donation {
      margin-top: 10vw; } }
  #charity .heading, #donation .heading {
    text-align: center;
    font-size: 20px;
    margin-top: 50px;
    font-weight: bold;
    letter-spacing: .1em; }
    @media screen and (max-width: 768px) {
      #charity .heading, #donation .heading {
        font-size: 5.5vw;
        width: 92vw;
        margin: 7vw auto 0;
        text-align: left; } }
  #charity p, #donation p {
    font-size: 14px;
    max-width: 760px;
    margin: 20px auto;
    line-height: 2; }
    @media screen and (max-width: 768px) {
      #charity p, #donation p {
        font-size: 3.8vw;
        margin: 4vw auto;
        width: 92vw; } }
    #charity p.center, #donation p.center {
      text-align: center; }
      @media screen and (max-width: 768px) {
        #charity p.center, #donation p.center {
          text-align: left; } }

footer {
  margin-top: 100px; }
  @media screen and (max-width: 768px) {
    footer {
      margin-top: 10vw; } }
  footer nav {
    background: #000;
    padding: 15px 0; }
    footer nav ul {
      max-width: 1000px;
      margin: auto;
      display: flex;
      justify-content: space-between; }
      @media screen and (max-width: 768px) {
        footer nav ul {
          display: block;
          padding: 0 4vw; } }
      footer nav ul li {
        font-size: 24px;
        font-family: 'Oswald',sans-serif;
        font-weight: bold; }
        footer nav ul li a {
          color: #fff;
          text-decoration: none;
          transition: all 0.5s ease 0s; }
          footer nav ul li a span.small {
            font-size: 12px;
            font-weight: normal;
            display: inline-block;
            line-height: 24px;
            bottom: 5px;
            position: relative;
            margin-left: 10px;
            font-weight: bold; }
          footer nav ul li a span.smaller {
            display: inline-block;
            font-size: 18px;
            margin-right: 4px; }
          footer nav ul li a span.kakeru {
            display: inline-block;
            position: relative;
            width: 15px; }
            footer nav ul li a span.kakeru::before, footer nav ul li a span.kakeru::after {
              content: "";
              display: block;
              position: absolute;
              height: 3px;
              width: 13px;
              background: #fff;
              bottom: 8px;
              left: 0;
              transform: rotate(45deg);
              transition: all 0.5s ease 0s; }
            footer nav ul li a span.kakeru::after {
              transform: rotate(135deg); }
          footer nav ul li a:hover {
            color: #DF0522;
            transition: all 0.5s ease 0s; }
            footer nav ul li a:hover span.kakeru::before, footer nav ul li a:hover span.kakeru::after {
              background: #DF0522;
              transition: all 0.5s ease 0s; }
  footer .wrapper {
    max-width: 650px;
    margin: 50px auto; }
    @media screen and (max-width: 768px) {
      footer .wrapper {
        margin-top: 0;
        width: 92vw; } }
    footer .wrapper .footer-logo {
      max-width: 558px;
      margin: auto; }
    footer .wrapper .footer-info {
      margin-top: 0; }
      @media screen and (max-width: 768px) {
        footer .wrapper .footer-info {
          transform: scale(0.8); }
          footer .wrapper .footer-info .place.sp-mt0 {
            margin-top: 0; } }
  footer .cc {
    text-align: right;
    font-size: 14px;
    margin: 0 6vw 20px; }
  footer .shusai {
    width: 300px;
    float: right;
    font-size: 14px;
    margin-right: 80px;
    margin-bottom: 30px;
    margin-top: 50px; }
    @media screen and (max-width: 768px) {
      footer .shusai {
        float: none;
        margin: 10vw auto; } }

#outline h2, #charity h2, #donation h2 {
  font-size: 56px;
  font-family: 'Oswald', "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic",sans-serif;
  line-height: 1.5;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #outline h2, #charity h2, #donation h2 {
      font-size: 10vw; } }
  #outline h2 span.small, #charity h2 span.small, #donation h2 span.small {
    display: block;
    font-size: 16px; }
    @media screen and (max-width: 768px) {
      #outline h2 span.small, #charity h2 span.small, #donation h2 span.small {
        font-size: 4vw; } }

#charity h2 span.kakeru {
  display: inline-block;
  position: relative;
  width: 30px; }
  @media screen and (max-width: 768px) {
    #charity h2 span.kakeru {
      width: 6vw; } }
  #charity h2 span.kakeru::before, #charity h2 span.kakeru::after {
    content: "";
    display: block;
    position: absolute;
    height: 5px;
    width: 28px;
    background: #000;
    bottom: 20px;
    left: 0;
    transform: rotate(45deg); }
    @media screen and (max-width: 768px) {
      #charity h2 span.kakeru::before, #charity h2 span.kakeru::after {
        height: 1vw;
        width: 5vw;
        bottom: 3.4vw;
        left: .5vw; } }
  #charity h2 span.kakeru::after {
    transform: rotate(135deg); }

#donation h2 .smaller {
  font-size: 32px; }

/*# sourceMappingURL=style.css.map */
