#firstview {
  height: 100vh;
  position: relative; }
  #firstview .base {
    position: relative;
    overflow: hidden; }
    #firstview .base::after {
      content: "";
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1; }
    #firstview .base .bg {
      position: absolute;
      top: 0;
      left: 26.3888888889%;
      right: 0;
      bottom: 0;
      border-bottom-left-radius: 3.125em;
      overflow: hidden; }
      #firstview .base .bg .s_item {
        position: relative; }
        #firstview .base .bg .s_item .photo {
          background-position: center;
          background-repeat: no-repeat;
          background-size: cover;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%; }
      #firstview .base .bg .swiper-pagination {
        width: auto;
        left: auto;
        right: 1.125em;
        bottom: 1.125em; }
    #firstview .base .overlay {
      position: absolute;
      z-index: 2;
      left: 26.3888888889%;
      top: 59.2592592593%;
      transform: translate(-66.5887850467%, -50%);
      line-height: 0;
      font-size: 10px; }
      @media print, screen and (min-width: 1440px) {
        #firstview .base .overlay {
          font-size: 0.6944444444vw; } }
      #firstview .base .overlay img {
        width: 42.773em; }
    #firstview .base .scrollto {
      position: absolute;
      z-index: 6;
      left: 1.25em;
      bottom: 2.5em;
      padding: 0.625em;
      transform: translateY(50%);
      display: flex;
      align-items: center;
      -webkit-transition: oapcity 0.5s, visibility 0.5s;
      -moz-transition: oapcity 0.5s, visibility 0.5s;
      transition: oapcity 0.5s, visibility 0.5s; }
      #firstview .base .scrollto span {
        font-size: 0.8125em; }
      #firstview .base .scrollto .txt {
        margin-left: 0.8461538462em; }
  #firstview .oshirase {
    position: absolute;
    z-index: 5;
    left: 0;
    bottom: 6em;
    color: #FFF;
    background-color: rgba(173, 122, 74, 0.8);
    padding: 1.0625em 2.5em;
    box-sizing: border-box;
    max-width: 100%; }
  body.scrolled #firstview .scrollto {
    opacity: 0;
    visibility: hidden; }
  @media screen and (max-width: 767px) {
    #firstview {
      height: auto; }
      #firstview .base {
        display: flex;
        flex-direction: column; }
        #firstview .base::after {
          display: none; }
        #firstview .base .bg {
          position: relative;
          top: auto;
          bottom: auto;
          left: auto;
          right: auto;
          margin-left: auto;
          margin-top: 5.6em;
          width: 28em;
          height: calc( 100% - 23.48em );
          border-bottom-left-radius: 1.92em; }
        #firstview .base .overlay {
          position: static;
          transform: none;
          font-size: inherit;
          padding-left: 2.8em;
          margin: auto 0;
          padding-bottom: 1.6em; }
          #firstview .base .overlay img {
            width: 19.7584em; }
        #firstview .base .scrollto {
          left: 2em;
          bottom: 1.84em; }
          #firstview .base .scrollto span {
            font-size: 0.88em; }
      #firstview .oshirase {
        position: static;
        margin-right: 2.4em; } }

#message {
  position: relative;
  height: 112.5vw;
  margin-top: 13.75em; }
  #message .txtarea {
    position: absolute;
    top: 0;
    right: 24.6527777778%;
    transform: translateX(50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 41.875em;
    height: 56.5432098765%; }
    #message .txtarea .txt01 {
      margin-bottom: 4.5625em; }
      #message .txtarea .txt01 .en {
        font-size: 0.875em;
        letter-spacing: 0.020em;
        color: #bbab9e;
        margin-bottom: 3.9285714286em; }
      #message .txtarea .txt01 .jp {
        position: relative;
        line-height: 0; }
        #message .txtarea .txt01 .jp .txt {
          width: 35.8536375em; }
        #message .txtarea .txt01 .jp .yume {
          position: absolute;
          width: 3.12em;
          left: 9.4132708292%;
          bottom: 19.4566170026%;
          transform: translate(-50%, 50%);
          -webkit-transition-duration: 1.5s;
          -moz-transition-duration: 1.5s;
          transition-duration: 1.5s;
          -webkit-transition-delay: 0.5s;
          -moz-transition-delay: 0.5s;
          transition-delay: 0.5s; }
    #message .txtarea .txt02 {
      width: 32.335625em;
      margin-bottom: 2.1875em; }
    #message .txtarea .txt03 {
      font-size: 1.25em;
      line-height: 2em; }
    #message .txtarea .more {
      margin-top: 3em; }
  #message .photo {
    position: absolute;
    font-size: 10px;
    transform: translate(-50%, -50%);
    line-height: 0; }
    #message .photo img {
      width: 100%;
      border-radius: 1.56em; }
    @media print, screen and (min-width: 1440px) {
      #message .photo {
        font-size: 0.6944444444vw; } }
    #message .photo._p01 {
      top: 0;
      left: 0;
      width: 41.6666666667%;
      transform: none;
      z-index: 6; }
      #message .photo._p01 img {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
    @media print, screen and (min-width: 768px) {
      #message .photo._p02 {
        top: 45.9713703704%;
        left: 38.8194444444%;
        width: 18.75%; }
      #message .photo._p03 {
        top: 56.6598518519%;
        left: 13.0555555556%;
        width: 19.4444444444%; }
      #message .photo._p04 {
        top: 77.4369444444%;
        left: 46.7361111111%;
        width: 29.8611111111%;
        z-index: 5; }
      #message .photo._p05 {
        top: 68.0027283951%;
        left: 80.5555555556%;
        width: 29.5833333333%;
        z-index: 4; } }
  @media screen and (max-width: 767px) {
    #message {
      height: auto;
      margin-top: 3.2em;
      margin-bottom: 6em;
      display: flex;
      flex-wrap: wrap; }
      #message .txtarea {
        position: static;
        transform: none;
        width: 100%;
        height: auto;
        align-items: center; }
        #message .txtarea .txt01 {
          margin-bottom: 4em;
          text-align: center; }
          #message .txtarea .txt01 .en {
            font-size: 0.896em;
            margin-bottom: 3.5714285714em; }
          #message .txtarea .txt01 .jp {
            font-size: 0.8em; }
            #message .txtarea .txt01 .jp .txt {
              width: 25.502596em; }
            #message .txtarea .txt01 .jp .yume {
              width: 3.215704em;
              left: 39%;
              bottom: 37%;
              transform: translate(-50%, 50%); }
        #message .txtarea .txt02 {
          width: 16.6575em;
          margin-bottom: 3.2em; }
        #message .txtarea .txt03 {
          text-align: center;
          font-size: 1.28em; }
        #message .txtarea .more {
          margin-top: 3.6em;
          margin-bottom: 4em; }
      #message .photo {
        position: relative;
        font-size: inherit;
        transform: none; }
        #message .photo img {
          border-radius: 0.48em; }
        #message .photo._p01 {
          width: 26em;
          margin-bottom: 3.6em; }
          #message .photo._p01 img {
            border-top-left-radius: 0;
            border-bottom-left-radius: 0; }
        #message .photo._p02 {
          order: 4;
          width: 11.522308em;
          margin-right: 1.8em; }
        #message .photo._p03 {
          order: 3;
          width: 11.949064em;
          margin-left: 1.8em;
          margin-right: auto;
          padding-top: 4.24em;
          padding-bottom: 5.8em; }
        #message .photo._p04 {
          order: 5;
          width: 12.905788em;
          margin-left: 1.2em;
          margin-right: auto; }
        #message .photo._p05 {
          order: 6;
          width: 12.767024em;
          margin-right: 1.8em;
          margin-top: -8.48em; } }
  @media print {
    #message {
      height: 100vh;
      font-size: 0.8em; } }

#whats {
  text-align: center; }
  #whats .head {
    position: relative;
    height: 37.5625em;
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat;
    background-image: url("../img/top/top_whats_head_bg.png");
    background-size: cover;
    background-position: 50% 38%;
    margin-bottom: 3.5em; }
    #whats .head .txt {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) translate3d(0, 0, 0);
      width: 28.4375em;
      color: #FFF;
      padding: 1.375em 0; }
      #whats .head .txt .en {
        margin-bottom: 1.875em; }
      #whats .head .txt .jp {
        width: 24.5646375em;
        margin: 0 auto; }
      #whats .head .txt .line {
        position: absolute;
        height: 30.8457711443%;
        width: 17.4931208791%; }
        #whats .head .txt .line::before, #whats .head .txt .line::after {
          content: "";
          display: block;
          background: darkorange;
          position: absolute;
          -webkit-transition: -webkit-transform 2s;
          -moz-transition: -moz-transform 2s;
          transition: transform 2s; }
        #whats .head .txt .line::before {
          width: 2px;
          height: 100%; }
        #whats .head .txt .line::after {
          width: 100%;
          height: 2px; }
        #whats .head .txt .line._l01 {
          top: 0;
          left: 0; }
          #whats .head .txt .line._l01::before {
            transform: translate(-50%, 50%); }
          #whats .head .txt .line._l01::after {
            transform: translate(50%, -50%); }
          #whats .head .txt .line._l01::before, #whats .head .txt .line._l01::after {
            top: 0;
            left: 0;
            background: linear-gradient(142deg, darkorange 0%, #ae6c00 79.7%); }
        #whats .head .txt .line._l02 {
          bottom: 0;
          right: 0; }
          #whats .head .txt .line._l02::before {
            transform: translate(-50%, -50%); }
          #whats .head .txt .line._l02::after {
            transform: translate(-50%, -50%); }
          #whats .head .txt .line._l02::before, #whats .head .txt .line._l02::after {
            bottom: 0;
            right: 0;
            background: linear-gradient(-37deg, darkorange 0%, #ae6c00 79.7%); }
      #whats .head .txt._do_anim ._l01::before {
        transform: translate(-50%, -28.0229032258%); }
      #whats .head .txt._do_anim ._l01::after {
        transform: translate(-29.1357230535%, -50%); }
      #whats .head .txt._do_anim ._l02::before {
        transform: translate(-50%, 28.0229032258%); }
      #whats .head .txt._do_anim ._l02::after {
        transform: translate(29.1357230535%, -50%); }
  #whats .txt01 {
    line-height: 2.4632125em;
    margin-bottom: 4.5em; }
  #whats .more a {
    letter-spacing: 0.060em; }
    #whats .more a:nth-child(1) {
      margin-right: 4.6875em; }
  #whats .support {
    margin-top: 6.25em;
    margin-bottom: 10.625em; }
    #whats .support > h3 {
      text-align: center;
      color: #471f05;
      margin-bottom: 3.125em; }
      #whats .support > h3 span {
        padding: 0 0.5em;
        font-size: 1.375em;
        padding-bottom: 0.1818181818em; }
  #whats .report {
    margin-bottom: 6.25em; }
    #whats .report > h3 {
      text-align: center;
      color: #471f05;
      margin-bottom: 3.375em; }
      #whats .report > h3 .en {
        display: block;
        margin-bottom: 1em; }
      #whats .report > h3 .jp {
        display: inline-block;
        line-height: 0;
        background: linear-gradient(transparent 50%, #FFF 50%);
        padding: 0 0.5em;
        padding-bottom: 0.5em; }
        #whats .report > h3 .jp img {
          width: 18.75em; }
    #whats .report .reportlist {
      margin-bottom: 1.875em; }
  @media screen and (max-width: 767px) {
    #whats .head {
      height: 20em;
      background-image: url("../img/top/top_whats_head_bg_sp.jpg");
      margin-bottom: 2.72em; }
      #whats .head .txt {
        width: 25.2em; }
        #whats .head .txt .jp {
          width: 19.652104em; }
    #whats .txt01 {
      line-height: 2.4em;
      margin-bottom: 3.52em; }
    #whats .more {
      display: flex;
      flex-direction: column;
      align-items: center; }
      #whats .more a:nth-child(1) {
        margin-right: 0;
        margin-bottom: 1.76em; }
    #whats .support {
      margin-top: 5em;
      margin-bottom: 6em; }
      #whats .support > h3 {
        margin-bottom: 3.4em; }
        #whats .support > h3 span {
          font-size: 1.4em; }
    #whats .report {
      margin-bottom: 7.2em; }
      #whats .report .reportlist {
        width: 28em;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 1.875em; } }

#members {
  line-height: 0;
  margin-bottom: 5.75em; }
  #members img {
    width: 100%; }
  @media screen and (max-width: 767px) {
    #members {
      margin-bottom: 4em; } }

#news .base {
  display: flex;
  margin-bottom: 7.375em; }
  #news .base .head {
    display: flex;
    flex-direction: column;
    width: 15.3125em; }
    #news .base .head h3 {
      font-size: 1.875em;
      margin-bottom: 1em; }
    #news .base .head .more {
      margin-top: auto; }
  #news .base .newslist {
    flex-grow: 1;
    width: 0; }
#news .banner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5.25em; }
  #news .banner .b_item {
    border-radius: 1em;
    overflow: hidden;
    z-index: 1;
    position: relative;
    width: 48.3333333333%; }
    #news .banner .b_item::before {
      content: "";
      display: block;
      z-index: 1;
      background-color: rgba(0, 0, 0, 0.6);
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      -webkit-transition: background-color 0.3s;
      -moz-transition: background-color 0.3s;
      transition: background-color 0.3s; }
    #news .banner .b_item .bg {
      display: block;
      width: 100%;
      -webkit-transition: -webkit-transform 0.3s;
      -moz-transition: -moz-transform 0.3s;
      transition: transform 0.3s; }
    #news .banner .b_item .txt {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) translate3d(0, 0, 0);
      z-index: 5;
      text-align: center;
      color: #FFF; }
      #news .banner .b_item .txt .en {
        margin-bottom: 0.6em; }
    #news .banner .b_item:active::before, #news .banner .b_item:hover::before {
      background-color: rgba(0, 0, 0, 0.8); }
    #news .banner .b_item:active .bg, #news .banner .b_item:hover .bg {
      transform: scale(1.04); }
    #news .banner .b_item.b01 .jp img {
      width: 4.83148125em; }
    #news .banner .b_item.b02 .jp img {
      width: 5.58514375em; }
@media screen and (max-width: 767px) {
  #news .base {
    display: block;
    margin-bottom: 6em; }
    #news .base .head {
      flex-direction: row;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      margin-bottom: 2.24em; }
      #news .base .head h3 {
        font-size: 1.92em;
        margin-bottom: 0; }
      #news .base .head .more {
        margin-top: 0; }
    #news .base .newslist {
      width: 100%; }
  #news .banner {
    flex-direction: column;
    margin-bottom: 8em; }
    #news .banner .b_item {
      border-radius: 0.72em;
      width: 100%; }
      #news .banner .b_item:not(:last-child) {
        margin-bottom: 2em; }
      #news .banner .b_item .txt {
        font-size: 1em; } }