@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500&display=swap");
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
header {
  width: 100%;
  height: 100px;
  background: #fff;
  position: fixed;
  border-bottom: #eeeeee 1px solid !important;
  top: 0;
  left: 0;
  z-index: 50; }
  header * {
    font-family: "Noto Sans Japanese" !important;
    line-height: 1.5; }
  @media screen and (max-width: 960px) {
    header {
      height: auto;
      text-align: left; } }
  header .logo {
    position: absolute;
    left: 0px;
    z-index: 100;
    top: 0px;
    height: 100%;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s; }
    @media screen and (max-width: 960px) {
      header .logo {
        position: static;
        height: 65px;
        width: auto; } }
    header .logo img {
      height: 100%; }
  header > .inner {
    width: 100%;
    height: 100%;
    padding: 20px 50px 0 190px;
    position: relative;
    -js-display: flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: -webkit- column;
    flex-direction: column; }
    @media screen and (max-width: 960px) {
      header > .inner {
        display: none;
        padding: 0px 0 30px;
        position: absolute;
        top: 100%;
        height: auto;
        left: 0;
        background: #fff;
        overflow-y: scroll !important; } }
    header > .inner ul.sns {
      -js-display: flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-justify-content: flex-end;
      justify-content: -webkit- flex-end;
      justify-content: flex-end;
      margin-bottom: 25px; }
      @media screen and (max-width: 768px) {
        header > .inner ul.sns {
          margin: 30px 0 0;
          -webkit-justify-content: center;
          justify-content: -webkit- center;
          justify-content: center; } }
      header > .inner ul.sns li:nth-child(2) {
        margin: 0 30px; }
        @media screen and (max-width: 768px) {
          header > .inner ul.sns li:nth-child(2) {
            margin: 0 20px; } }
      header > .inner ul.sns li a {
        display: block;
        -moz-transition: all 0.3s;
        -webkit-transition: all 0.3s;
        -o-transition: all 0.3s;
        -ms-transition: all 0.3s;
        transition: all 0.3s; }
        header > .inner ul.sns li a:hover {
          opacity: 0.7; }
        header > .inner ul.sns li a img {
          width: 25px; }
    header > .inner nav {
      -webkit-box-ordinal-group: 2;
      -ms-flex-order: 2;
      -webkit-order: 2;
      order: 2; }
      header > .inner nav > ul {
        -js-display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-end;
        justify-content: -webkit- flex-end;
        justify-content: flex-end; }
        @media screen and (max-width: 768px) {
          header > .inner nav > ul {
            display: block; } }
        header > .inner nav > ul > li {
          line-height: 1; }
          header > .inner nav > ul > li:hover > a {
            color: #E61920; }
            header > .inner nav > ul > li:hover > a:after {
              width: 100%; }
          @media screen and (min-width: 960px) {
            header > .inner nav > ul > li:not(:last-child) {
              margin-right: 40px; } }
          @media screen and (max-width: 960px) {
            header > .inner nav > ul > li {
              border-bottom: 1px solid  #f2f2f2;
              padding: 0; }
              header > .inner nav > ul > li.pulldown {
                position: relative; }
                header > .inner nav > ul > li.pulldown.on:before {
                  transform: rotate(180deg); }
                header > .inner nav > ul > li.pulldown:before {
                  content: "";
                  position: absolute;
                  right: 25px;
                  top: 21px;
                  width: 15px;
                  height: 2px;
                  transform: rotate(90deg);
                  background: #ec2828;
                  transition: all .3s ease-in-out; }
                header > .inner nav > ul > li.pulldown:after {
                  content: "";
                  position: absolute;
                  right: 25px;
                  top: 21px;
                  display: block;
                  width: 15px;
                  height: 2px;
                  background: #ec2828;
                  transition: all .2s ease-in-out; } }
          header > .inner nav > ul > li > a {
            line-height: 1;
            font-size: 16px;
            text-decoration: none;
            position: relative;
            display: block;
            padding-bottom: 15px; }
            @media screen and (min-width: 960px) {
              header > .inner nav > ul > li > a:after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 50%;
                transform: translate(-50%, 0);
                width: 0%;
                height: 2px;
                background: #ec2828;
                -moz-transition: all 0.3s;
                -webkit-transition: all 0.3s;
                -o-transition: all 0.3s;
                -ms-transition: all 0.3s;
                transition: all 0.3s; } }
            @media screen and (max-width: 960px) {
              header > .inner nav > ul > li > a {
                display: block;
                padding: 15px 4%;
                font-size: 14px; } }
          header > .inner nav > ul > li .detail {
            background: #f7f7f7;
            position: absolute;
            top: 100%;
            left: 0;
            width: 100%;
            padding: 30px 0;
            display: none; }
            @media screen and (max-width: 960px) {
              header > .inner nav > ul > li .detail {
                position: static;
                padding: 0; } }
            header > .inner nav > ul > li .detail > .inner {
              width: 100%;
              max-width: 1000px;
              margin: 0 auto;
              -js-display: flex;
              display: -webkit-box;
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex; }
              @media screen and (max-width: 1000px) {
                header > .inner nav > ul > li .detail > .inner {
                  display: block; } }
              header > .inner nav > ul > li .detail > .inner .detail_ttl {
                width: 210px;
                -js-display: flex;
                display: -webkit-box;
                display: -ms-flexbox;
                display: -webkit-flex;
                display: flex;
                -webkit-justify-content: center;
                justify-content: -webkit- center;
                justify-content: center;
                -webkit-align-items: center;
                align-items: -webkit- center;
                align-items: center;
                text-align: center;
                padding: 20px 0;
                border-right: 1px solid #ec2828; }
                @media screen and (max-width: 1000px) {
                  header > .inner nav > ul > li .detail > .inner .detail_ttl {
                    display: none; } }
                header > .inner nav > ul > li .detail > .inner .detail_ttl p {
                  font-size: 30px;
                  font-weight: bold;
                  color: #ec2828;
                  font-family: "Montserrat";
                  line-height: 1; }
                  header > .inner nav > ul > li .detail > .inner .detail_ttl p span {
                    display: block;
                    font-size: 14px;
                    margin-top: 10px;
                    font-weight: bold; }
              header > .inner nav > ul > li .detail > .inner .detail_list {
                width: calc(100% - 210px);
                padding-left: 65px;
                -js-display: flex;
                display: -webkit-box;
                display: -ms-flexbox;
                display: -webkit-flex;
                display: flex;
                -webkit-align-items: center;
                align-items: -webkit- center;
                align-items: center; }
                @media screen and (max-width: 960px) {
                  header > .inner nav > ul > li .detail > .inner .detail_list {
                    width: 100%;
                    padding: 0;
                    display: block; } }
                header > .inner nav > ul > li .detail > .inner .detail_list ul {
                  -js-display: flex;
                  display: -webkit-box;
                  display: -ms-flexbox;
                  display: -webkit-flex;
                  display: flex;
                  -webkit-flex-wrap: wrap;
                  flex-wrap: wrap;
                  align-content: space-around;
                  height: 80%; }
                  @media screen and (max-width: 960px) {
                    header > .inner nav > ul > li .detail > .inner .detail_list ul {
                      width: 100%;
                      height: auto;
                      display: block; } }
                  header > .inner nav > ul > li .detail > .inner .detail_list ul li {
                    margin-right: 35px; }
                    @media screen and (max-width: 960px) {
                      header > .inner nav > ul > li .detail > .inner .detail_list ul li {
                        margin: 0;
                        border-bottom: 1px solid  #fff; } }
                    header > .inner nav > ul > li .detail > .inner .detail_list ul li a {
                      display: inline-block;
                      font-size: 16px;
                      background: url(/common_re/img/link_arrow.png) right center no-repeat;
                      padding-right: 25px; }
                      @media screen and (max-width: 768px) {
                        header > .inner nav > ul > li .detail > .inner .detail_list ul li a {
                          -js-display: flex;
                          display: -webkit-box;
                          display: -ms-flexbox;
                          display: -webkit-flex;
                          display: flex;
                          -webkit-align-items: center;
                          align-items: -webkit- center;
                          align-items: center;
                          padding: 15px 4%;
                          background: none;
                          font-size: 14px;
                          position: relative; }
                          header > .inner nav > ul > li .detail > .inner .detail_list ul li a:before {
                            content: "";
                            display: block;
                            width: 10px;
                            height: 2px;
                            background: #ec2828;
                            margin-right: 10px; } }

#wrapper {
  width: 100%;
  max-width: 100% !important;
  text-align: center;
  margin: 0 auto; }
  #wrapper:after {
    display: none !important; }
  @media screen and (max-width: 768px) {
    #wrapper {
      min-width: 0; } }
  #wrapper footer {
    border-top: 1px solid #e60012;
    width: 100%;
    padding-top: 50px; }
    #wrapper footer * {
      font-family: "Noto Sans Japanese" !important; }
    @media screen and (max-width: 768px) {
      #wrapper footer {
        padding-top: 30px; } }
    #wrapper footer > .inner {
      width: 100%;
      max-width: 1000px;
      margin: 0 auto 75px; }
      @media screen and (max-width: 768px) {
        #wrapper footer > .inner {
          margin-bottom: 30px;
          padding: 0 4%; } }
      #wrapper footer > .inner .ft_links {
        width: 100%;
        -js-display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        text-align: left;
        padding-bottom: 40px;
        margin-bottom: 40px;
        border-bottom: 1px solid  #f2f2f2; }
        @media screen and (max-width: 768px) {
          #wrapper footer > .inner .ft_links {
            display: none; } }
        #wrapper footer > .inner .ft_links .col_links {
          border-right: 1px solid  #f2f2f2; }
          #wrapper footer > .inner .ft_links .col_links.activity {
            width: 47%; }
            #wrapper footer > .inner .ft_links .col_links.activity .col_2 {
              width: 100%;
              -js-display: flex;
              display: -webkit-box;
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex; }
              #wrapper footer > .inner .ft_links .col_links.activity .col_2 .col_2_in {
                width: 50%;
                padding-right: 10px; }
                #wrapper footer > .inner .ft_links .col_links.activity .col_2 .col_2_in ul li:first-child a {
                  font-weight: bold; }
          #wrapper footer > .inner .ft_links .col_links.about {
            width: 18.8%;
            padding-left: 40px; }
          #wrapper footer > .inner .ft_links .col_links.member {
            width: 16.8%;
            padding-left: 40px; }
          #wrapper footer > .inner .ft_links .col_links.other {
            width: 17.4%;
            padding-left: 40px;
            border-right: none; }
          #wrapper footer > .inner .ft_links .col_links p.ttl {
            margin-bottom: 20px; }
            #wrapper footer > .inner .ft_links .col_links p.ttl a, #wrapper footer > .inner .ft_links .col_links p.ttl span {
              font-weight: bold;
              font-size: 14px; }
          #wrapper footer > .inner .ft_links .col_links ul:not(:first-child) {
            margin-top: 20px; }
          #wrapper footer > .inner .ft_links .col_links ul li {
            line-height: 1; }
            #wrapper footer > .inner .ft_links .col_links ul li:not(:first-child) {
              margin-top: 10px; }
            #wrapper footer > .inner .ft_links .col_links ul li a {
              font-size: 14px;
              line-height: 1.5; }
      #wrapper footer > .inner .ft_info {
        width: 100%;
        -js-display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-align-items: flex-end;
        align-items: -webkit- flex-end;
        align-items: flex-end; }
        @media screen and (max-width: 768px) {
          #wrapper footer > .inner .ft_info {
            display: block; } }
        #wrapper footer > .inner .ft_info .logo {
          width: 289px; }
          @media screen and (max-width: 768px) {
            #wrapper footer > .inner .ft_info .logo {
              width: 100%;
              text-align: center;
              margin-bottom: 20px; }
              #wrapper footer > .inner .ft_info .logo img {
                width: 250px; } }
        #wrapper footer > .inner .ft_info p.address {
          margin-left: 25px;
          font-size: 14px;
          text-align: left;
          line-height: 1.6; }
          @media screen and (max-width: 768px) {
            #wrapper footer > .inner .ft_info p.address {
              font-size: 12px;
              margin: 0 0 20px;
              text-align: center; } }
        #wrapper footer > .inner .ft_info ul.sns {
          -js-display: flex;
          display: -webkit-box;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          margin-left: auto; }
          @media screen and (max-width: 768px) {
            #wrapper footer > .inner .ft_info ul.sns {
              -webkit-justify-content: center;
              justify-content: -webkit- center;
              justify-content: center; } }
          #wrapper footer > .inner .ft_info ul.sns li a {
            display: block;
            -moz-transition: all 0.3s;
            -webkit-transition: all 0.3s;
            -o-transition: all 0.3s;
            -ms-transition: all 0.3s;
            transition: all 0.3s; }
            #wrapper footer > .inner .ft_info ul.sns li a:hover {
              opacity: 0.7; }
            #wrapper footer > .inner .ft_info ul.sns li a img {
              width: 25px; }
          #wrapper footer > .inner .ft_info ul.sns li:nth-child(2) {
            margin: 0 40px; }
            @media screen and (max-width: 768px) {
              #wrapper footer > .inner .ft_info ul.sns li:nth-child(2) {
                margin: 0 20px; } }
    #wrapper footer .copy {
      background: #333;
      padding: 10px 0; }
      #wrapper footer .copy p {
        line-height: 1;
        text-align: center; }
        #wrapper footer .copy p small {
          color: #fff;
          font-family: "Montserrat";
          font-size: 10px; }

.icon-animation {
  width: 30px;
  height: 30px;
  display: block;
  position: fixed;
  top: 18px;
  right: 3%;
  z-index: 30;
  display: none; }
  @media screen and (max-width: 960px) {
    .icon-animation {
      display: block; } }
  .icon-animation.is-open .top {
    transform: translateY(0px) scale(0); }
  .icon-animation.is-open .bottom {
    transform: translateY(0px) scale(0); }
  .icon-animation.is-open .middle:before {
    transform: rotate(45deg); }
  .icon-animation.is-open .middle:after {
    transform: rotate(-45deg); }
  .icon-animation span {
    transition: all 0.3s;
    width: 30px;
    height: 3px;
    display: block;
    background: #000;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -15px; }
  .icon-animation .top {
    transform: translateY(-10px) scale(1); }
  .icon-animation .bottom {
    transform: translateY(10px) scale(1); }
  .icon-animation .middle {
    background: none;
    position: relative; }
    .icon-animation .middle:before {
      transition: all 0.3s;
      content: "";
      width: 30px;
      height: 3px;
      background: #000;
      display: block;
      transform: rotate(0deg);
      position: absolute; }
    .icon-animation .middle:after {
      transition: all 0.3s;
      content: "";
      width: 30px;
      height: 3px;
      background: #000;
      display: block;
      transform: rotate(0deg);
      position: absolute; }
  .icon-animation:after {
    display: none;
    content: "MENU";
    font-size: 10px;
    color: #000;
    position: absolute;
    left: 1px;
    bottom: -15px;
    white-space: nowrap; }
