@charset "UTF-8";
body {
  background-color: #005725; }

.photo img {
  border-radius: 10px; }
  @media (min-width: 1024px) {
    .photo img {
      border-radius: 15px; } }

u {
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 10%, #FFFF00 10%, #FFFF00 90%, rgba(0, 0, 0, 0) 90%, rgba(0, 0, 0, 0) 100%);
  font-weight: bold;
  text-decoration: none; }

/*
---------------------------------------------------------------------------------------------------------------------
スペシャルコンテンツヘッダー
---------------------------------------------------------------------------------------------------------------------
*/
#special-header {
  position: relative;
  max-width: 1600px;
  margin: auto;
  width: 94%; }
  @media (min-width: 768px) {
    #special-header {
      width: 96%; } }
  #special-header .special-title {
    position: relative; }
    #special-header .special-title .special-title-in {
      margin-top: 10px; }
      @media (min-width: 768px) {
        #special-header .special-title .special-title-in {
          display: flex;
          align-items: center;
          margin-top: 20px; } }
      #special-header .special-title .special-title-in .special-logo {
        width: 60px; }
        @media (min-width: 768px) {
          #special-header .special-title .special-title-in .special-logo {
            width: 100px; } }
        @media (min-width: 1200px) {
          #special-header .special-title .special-title-in .special-logo {
            width: 150px; } }
      #special-header .special-title .special-title-in p {
        margin: 14px 0 0 0;
        width: calc(100% - 80px);
        color: #fff; }
        @media (min-width: 768px) {
          #special-header .special-title .special-title-in p {
            width: 30%;
            margin: 0 0 0 15px; } }
        @media (min-width: 1200px) {
          #special-header .special-title .special-title-in p {
            margin: 0 0 0 30px;
            width: 25%; } }
    #special-header .special-title ul.copy {
      position: absolute;
      top: 0;
      right: 0;
      z-index: 10;
      width: 100%; }
      @media (min-width: 768px) {
        #special-header .special-title ul.copy {
          width: 70%; } }
      #special-header .special-title ul.copy li:first-child {
        width: 70%;
        position: absolute;
        top: 0;
        right: 0; }
        @media (min-width: 768px) {
          #special-header .special-title ul.copy li:first-child {
            top: -8px; } }
      #special-header .special-title ul.copy li:last-child {
        width: 15%;
        position: absolute;
        right: 0; }
  #special-header .movie-wrap {
    position: relative;
    margin-top: 10px; }
    @media (min-width: 768px) {
      #special-header .movie-wrap {
        margin-top: 20px; } }
    #special-header .movie-wrap .movie-play {
      position: relative;
      max-width: 1200px;
      margin: auto;
      width: 100%; }
      #special-header .movie-wrap .movie-play video {
        border-radius: 15px; }
        @media (min-width: 768px) {
          #special-header .movie-wrap .movie-play video {
            border-radius: 20px; } }

/*
---------------------------------------------------------------------------------------------------------------------
コンテンツ枠
---------------------------------------------------------------------------------------------------------------------
*/
#special-contents {
  background-color: #fff;
  max-width: 960px;
  margin: 0 auto 60px;
  width: 90%;
  border-bottom-left-radius: 20px;
  border-bottom-right-radius: 20px;
  padding-bottom: 30px; }
  @media (min-width: 1024px) {
    #special-contents {
      padding-bottom: 60px;
      margin: 0 auto 80px; } }
  @media (min-width: 1200px) {
    #special-contents {
      margin: 0 auto 120px; } }
  #special-contents .special-contents-in {
    max-width: 760px;
    margin: auto;
    width: 92%; }
    @media (min-width: 768px) {
      #special-contents .special-contents-in {
        width: 90%; } }

.title-area {
  padding-top: 40px; }
  @media (min-width: 1200px) {
    .title-area {
      padding-top: 80px; } }
  .title-area .number {
    display: flex;
    align-items: center;
    justify-content: center; }
    .title-area .number .no {
      position: relative;
      width: 60px; }
      @media (min-width: 768px) {
        .title-area .number .no {
          width: 80px; } }
      @media (min-width: 1200px) {
        .title-area .number .no {
          width: 120px; } }
      .title-area .number .no h6 {
        position: absolute;
        top: -5px;
        bottom: 0;
        left: 0;
        right: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-family: 'Montserrat', sans-serif;
        font-size: 1.25em;
        line-height: 1.0em;
        color: #005725; }
        @media (min-width: 768px) {
          .title-area .number .no h6 {
            font-size: 1.75em; } }
        @media (min-width: 1200px) {
          .title-area .number .no h6 {
            font-size: 2.25em; } }
    .title-area .number ul {
      margin-left: 5px; }
      @media (min-width: 768px) {
        .title-area .number ul {
          margin-left: 10px; } }
      @media (min-width: 1200px) {
        .title-area .number ul {
          margin-left: 20px; } }
      .title-area .number ul li {
        margin-bottom: 5px; }
        .title-area .number ul li:last-child {
          margin-bottom: 0; }
        .title-area .number ul li h3 {
          display: inline-block;
          background-color: #005725;
          font-size: 1.125em;
          line-height: 1.2em;
          font-feature-settings: "palt";
          letter-spacing: 0.04em;
          color: #fff; }
          @media (min-width: 768px) {
            .title-area .number ul li h3 {
              font-size: 1.35em; } }
          @media (min-width: 1200px) {
            .title-area .number ul li h3 {
              font-size: 1.75em; } }
  .title-area .title {
    text-align: center;
    margin-top: 15px; }
    @media (min-width: 1200px) {
      .title-area .title {
        padding-top: 30px; } }
    .title-area .title h2 {
      font-size: 0.9em;
      line-height: 1.6em;
      font-feature-settings: "palt";
      letter-spacing: 0.04em;
      color: #005725; }
      @media (min-width: 768px) {
        .title-area .title h2 {
          font-size: 1.75em; } }
      @media (min-width: 1200px) {
        .title-area .title h2 {
          font-size: 2.25em; } }

.introduction {
  margin-top: 60px; }
  @media (min-width: 1200px) {
    .introduction {
      margin-top: 120px; } }
  .introduction h3 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.55em;
    font-weight: bold;
    text-align: center;
    line-height: 1.0em;
    color: #7D7775; }
    @media (min-width: 768px) {
      .introduction h3 {
        font-size: 2.00em; } }
    @media (min-width: 1200px) {
      .introduction h3 {
        font-size: 2.75em; } }
  .introduction p {
    font-size: 0.9em;
    line-height: 1.8em;
    text-align: justify;
    margin-top: 20px; }
    @media (min-width: 768px) {
      .introduction p {
        font-size: 1.0em; } }
    @media (min-width: 1200px) {
      .introduction p {
        font-size: 1.125em;
        margin-top: 40px; } }
  .introduction .photo {
    margin-top: 30px; }
    @media (min-width: 1200px) {
      .introduction .photo {
        padding-top: 60px; } }

.feriendorf {
  margin-top: 60px;
  padding: 30px 0;
  border-top: 1px solid #C6C6C6;
  border-bottom: 1px solid #C6C6C6; }
  @media (min-width: 768px) {
    .feriendorf {
      display: flex; } }
  @media (min-width: 1200px) {
    .feriendorf {
      margin-top: 120px;
      padding: 60px 0; } }
  .feriendorf .txt-area {
    margin-top: 20px; }
    @media (min-width: 768px) {
      .feriendorf .txt-area {
        width: 60%;
        padding-right: 5%;
        display: flex;
        align-items: center;
        margin-top: 0; } }
    .feriendorf .txt-area .txt-area-in h6 {
      font-size: 0.9em;
      line-height: 1.2em;
      margin: 0 0 5px 0; }
      @media (min-width: 768px) {
        .feriendorf .txt-area .txt-area-in h6 {
          font-size: 1.0em; } }
      @media (min-width: 1200px) {
        .feriendorf .txt-area .txt-area-in h6 {
          font-size: 1.125em; } }
    .feriendorf .txt-area .txt-area-in h2 {
      font-size: 1.125em;
      font-weight: 900;
      line-height: 1.2em; }
      @media (min-width: 768px) {
        .feriendorf .txt-area .txt-area-in h2 {
          font-size: 1.35em; } }
      @media (min-width: 1200px) {
        .feriendorf .txt-area .txt-area-in h2 {
          font-size: 1.75em; } }
    .feriendorf .txt-area .txt-area-in p {
      font-size: 0.8em;
      line-height: 1.8em;
      text-align: justify;
      margin: 20px 0 0 0; }
      @media (min-width: 768px) {
        .feriendorf .txt-area .txt-area-in p {
          font-size: 0.9em; } }
      @media (min-width: 1200px) {
        .feriendorf .txt-area .txt-area-in p {
          font-size: 1.0em;
          margin: 40px 0 0 0; } }
    .feriendorf .txt-area .txt-area-in .map {
      margin-top: 10px; }
      @media (min-width: 1200px) {
        .feriendorf .txt-area .txt-area-in .map {
          padding-top: 20px; } }
      .feriendorf .txt-area .txt-area-in .map a:hover h5::after {
        transform-origin: left top;
        transform: scale(1, 1); }
      .feriendorf .txt-area .txt-area-in .map a h5 {
        position: relative;
        display: inline-block;
        font-size: 0.8em;
        font-weight: 400;
        color: #707070;
        margin-left: 20px; }
        @media (min-width: 768px) {
          .feriendorf .txt-area .txt-area-in .map a h5 {
            font-size: 0.9em; } }
        @media (min-width: 1200px) {
          .feriendorf .txt-area .txt-area-in .map a h5 {
            font-size: 1.0em; } }
        .feriendorf .txt-area .txt-area-in .map a h5::after {
          position: absolute;
          bottom: 0;
          left: 0;
          content: '';
          width: 100%;
          height: 1px;
          background: #707070;
          transform: scale(0, 1);
          transform-origin: right top;
          transition: transform .3s; }
        .feriendorf .txt-area .txt-area-in .map a h5::before {
          content: "";
          position: absolute;
          top: -3px;
          left: -20px;
          width: 15px;
          height: 22px;
          background: url("../../img/parts/map.svg") no-repeat center/contain; }
  @media (min-width: 768px) {
    .feriendorf .photo {
      width: 40%; } }

.member-list {
  margin-top: 60px; }
  @media (min-width: 1200px) {
    .member-list {
      margin-top: 120px; } }
  .member-list ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 25px 20px; }
    @media (min-width: 768px) {
      .member-list ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 20px; } }
    @media (min-width: 1024px) {
      .member-list ul {
        gap: 30px 20px; } }
    .member-list ul li {
      display: block; }
      .member-list ul li .profile {
        display: flex;
        align-items: center;
        gap: 18px;
        margin: 0 0 15px 0; }
        @media (min-width: 768px) {
          .member-list ul li .profile {
            gap: 22px;
            margin: 0 0 26px 0; } }
        @media (min-width: 1024px) {
          .member-list ul li .profile {
            gap: 26px; } }
        .member-list ul li .profile .photo {
          width: 60px; }
          @media (min-width: 768px) {
            .member-list ul li .profile .photo {
              width: 80px; } }
          @media (min-width: 1024px) {
            .member-list ul li .profile .photo {
              width: 100px; } }
          .member-list ul li .profile .photo img {
            border-radius: 50%; }
        .member-list ul li .profile .name-area .name {
          display: flex;
          align-items: center; }
          .member-list ul li .profile .name-area .name h3 {
            font-size: 1.0em;
            font-weight: bold;
            line-height: 1.2em; }
            @media (min-width: 768px) {
              .member-list ul li .profile .name-area .name h3 {
                font-size: 1.125em; } }
            @media (min-width: 1200px) {
              .member-list ul li .profile .name-area .name h3 {
                font-size: 1.25em; } }
          .member-list ul li .profile .name-area .name h4 {
            font-size: 0.7em;
            font-feature-settings: "palt";
            letter-spacing: 0.04em;
            line-height: 1.2em;
            margin: 0 0 0 5px; }
            @media (min-width: 1200px) {
              .member-list ul li .profile .name-area .name h4 {
                font-size: 0.8em; } }
        .member-list ul li .profile .name-area p {
          font-size: 0.8em;
          line-height: 1.2em;
          color: #707070;
          margin: 10px 0 0 0; }
          @media (min-width: 768px) {
            .member-list ul li .profile .name-area p {
              font-size: 0.9em; } }
          @media (min-width: 1200px) {
            .member-list ul li .profile .name-area p {
              font-size: 1.0em; } }
      .member-list ul li .comment {
        position: relative;
        background-color: #006d2c;
        border-radius: 10px;
        padding: 10px 20px; }
        @media (min-width: 768px) {
          .member-list ul li .comment {
            border-radius: 15px;
            padding: 20px 25px; } }
        @media (min-width: 1024px) {
          .member-list ul li .comment {
            padding: 20px 25px; } }
        .member-list ul li .comment::before {
          content: "";
          position: absolute;
          top: -14px;
          left: 26px;
          width: 10px;
          height: 28px;
          background-color: #006d2c;
          border-radius: 20px;
          transform: rotate(38deg); }
          @media (min-width: 768px) {
            .member-list ul li .comment::before {
              left: 30px; } }
        .member-list ul li .comment p {
          font-size: 0.8em;
          line-height: 1.6em;
          text-align: justify;
          color: #fff; }
          @media (min-width: 1200px) {
            .member-list ul li .comment p {
              font-size: 0.9em; } }

.mokuji {
  margin: 60px auto 0; }
  @media (min-width: 1024px) {
    .mokuji {
      margin: 120px auto 0; } }
  .mokuji ul {
    background-color: #F4F2F2;
    border-radius: 10px;
    padding: 30px 20px 30px; }
    @media (min-width: 768px) {
      .mokuji ul {
        border-radius: 20px;
        padding: 40px 60px 40px; } }
    .mokuji ul li {
      position: relative;
      border-bottom: 1px solid #C6C6C6;
      padding-right: 30px; }
      .mokuji ul li:last-child {
        border-bottom: none; }
      .mokuji ul li a {
        color: #000; }
        .mokuji ul li a h6 {
          font-size: 0.8em;
          font-weight: normal;
          line-height: 1.3em;
          width: 100%;
          color: #747474;
          padding: 15px 0 15px 0; }
          @media (min-width: 768px) {
            .mokuji ul li a h6 {
              padding: 20px 30px 20px 0; } }
          @media (min-width: 1024px) {
            .mokuji ul li a h6 {
              font-size: 1.0em; } }
          .mokuji ul li a h6.vert {
            color: #005725;
            font-weight: bold; }
        .mokuji ul li a::after {
          position: absolute;
          top: 50%;
          right: 10px;
          content: '';
          margin-top: -5px;
          width: 8px;
          height: 8px;
          border: 0px;
          border-top: solid 1px #000;
          border-right: solid 1px #000;
          -ms-transform: rotate(135deg);
          -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
          transition: .5s; }
        .mokuji ul li a:hover::after {
          top: 54%; }

.talk-contents {
  margin-top: 20px; }
  @media (min-width: 1200px) {
    .talk-contents {
      margin-top: 40px; } }
  .talk-contents .talk-box {
    padding-top: 60px; }
    @media (min-width: 1200px) {
      .talk-contents .talk-box {
        padding-top: 100px; } }
    .talk-contents .talk-box:last-child {
      margin-bottom: 0; }
    .talk-contents .talk-box .title {
      margin-bottom: 40px; }
      @media (min-width: 1200px) {
        .talk-contents .talk-box .title {
          margin-bottom: 80px; } }
      .talk-contents .talk-box .title .part-num {
        border-bottom: 2px solid #005725;
        margin-bottom: 10px; }
        @media (min-width: 1200px) {
          .talk-contents .talk-box .title .part-num {
            margin-bottom: 20px; } }
        .talk-contents .talk-box .title .part-num h6 {
          font-size: 0.9em;
          line-height: 1.2em;
          background-color: #005725;
          color: #fff;
          display: inline-block;
          padding: 4px 10px; }
          @media (min-width: 768px) {
            .talk-contents .talk-box .title .part-num h6 {
              font-size: 1.0em; } }
          @media (min-width: 1200px) {
            .talk-contents .talk-box .title .part-num h6 {
              font-size: 1.125em; } }
      .talk-contents .talk-box .title h2 {
        font-size: 1.25em;
        line-height: 1.2em;
        color: #005725;
        margin-bottom: 20px; }
        @media (min-width: 768px) {
          .talk-contents .talk-box .title h2 {
            font-size: 1.75em; } }
        @media (min-width: 1200px) {
          .talk-contents .talk-box .title h2 {
            font-size: 2.25em;
            margin-bottom: 40px; } }
      .talk-contents .talk-box .title p {
        font-size: 0.9em;
        line-height: 1.6em;
        text-align: justify; }
        @media (min-width: 768px) {
          .talk-contents .talk-box .title p {
            font-size: 1.0em; } }
        @media (min-width: 1200px) {
          .talk-contents .talk-box .title p {
            font-size: 1.125em; } }
    .talk-contents .talk-box .talk-part {
      padding-top: 60px; }
      @media (min-width: 1200px) {
        .talk-contents .talk-box .talk-part {
          padding-top: 100px; } }
      .talk-contents .talk-box .talk-part.extra {
        padding: 0; }
      .talk-contents .talk-box .talk-part h3 {
        position: relative;
        font-size: 1.125em;
        font-weight: bold;
        line-height: 1.4em;
        font-feature-settings: "palt";
        letter-spacing: 0.04em;
        margin-bottom: 30px;
        padding-left: 16px; }
        @media (min-width: 768px) {
          .talk-contents .talk-box .talk-part h3 {
            font-size: 1.35em; } }
        @media (min-width: 1024px) {
          .talk-contents .talk-box .talk-part h3 {
            margin-bottom: 60px; } }
        @media (min-width: 1200px) {
          .talk-contents .talk-box .talk-part h3 {
            font-size: 1.75em; } }
        .talk-contents .talk-box .talk-part h3::before {
          content: "";
          position: absolute;
          left: 0;
          top: 0;
          bottom: 0;
          display: flex;
          margin: auto;
          width: 5px;
          height: 40px;
          background-color: #005725;
          transition: .5s; }
      .talk-contents .talk-box .talk-part ul {
        margin-bottom: 30px; }
        @media (min-width: 1024px) {
          .talk-contents .talk-box .talk-part ul {
            margin-bottom: 60px; } }
        .talk-contents .talk-box .talk-part ul li {
          margin-bottom: 30px; }
          @media (min-width: 1024px) {
            .talk-contents .talk-box .talk-part ul li {
              margin-bottom: 60px; } }
          .talk-contents .talk-box .talk-part ul li:last-child {
            margin-bottom: 0; }
          .talk-contents .talk-box .talk-part ul li .question {
            margin-bottom: 15px; }
            @media (min-width: 1024px) {
              .talk-contents .talk-box .talk-part ul li .question {
                margin-bottom: 30px; } }
            .talk-contents .talk-box .talk-part ul li .question h4 {
              font-size: 1.0em;
              font-weight: 700;
              line-height: 1.4em; }
              @media (min-width: 768px) {
                .talk-contents .talk-box .talk-part ul li .question h4 {
                  font-size: 1.125em; } }
              @media (min-width: 1200px) {
                .talk-contents .talk-box .talk-part ul li .question h4 {
                  font-size: 1.375em; } }
              .talk-contents .talk-box .talk-part ul li .question h4.heading {
                align-items: center;
                display: flex; }
                .talk-contents .talk-box .talk-part ul li .question h4.heading::before {
                  background-color: #000;
                  content: "";
                  height: 1px;
                  width: 36px;
                  margin-right: 10px; }
          .talk-contents .talk-box .talk-part ul li .answer {
            display: flex;
            margin-bottom: 20px; }
            @media (min-width: 768px) {
              .talk-contents .talk-box .talk-part ul li .answer {
                margin-bottom: 40px; } }
            .talk-contents .talk-box .talk-part ul li .answer:last-child {
              margin-bottom: 0; }
            .talk-contents .talk-box .talk-part ul li .answer .name {
              width: 45px;
              text-align: center; }
              @media (min-width: 768px) {
                .talk-contents .talk-box .talk-part ul li .answer .name {
                  width: 60px; } }
              .talk-contents .talk-box .talk-part ul li .answer .name img {
                border-radius: 50%; }
              .talk-contents .talk-box .talk-part ul li .answer .name h4 {
                font-size: 0.7em;
                font-weight: bold;
                line-height: 1.2em;
                margin: 10px 0 0 0; }
                @media (min-width: 768px) {
                  .talk-contents .talk-box .talk-part ul li .answer .name h4 {
                    font-size: 0.8em; } }
                @media (min-width: 1200px) {
                  .talk-contents .talk-box .talk-part ul li .answer .name h4 {
                    font-size: 0.9em; } }
            .talk-contents .talk-box .talk-part ul li .answer p {
              width: calc(100% - 45px);
              font-size: 0.9em;
              text-align: justify;
              line-height: 1.8em;
              padding-left: 10px; }
              @media (min-width: 768px) {
                .talk-contents .talk-box .talk-part ul li .answer p {
                  width: calc(100% - 60px);
                  font-size: 1.0em; } }
              @media (min-width: 1200px) {
                .talk-contents .talk-box .talk-part ul li .answer p {
                  font-size: 1.125em;
                  padding-left: 20px; } }
          .talk-contents .talk-box .talk-part ul li .talk-txt {
            margin-top: -20px; }
            @media (min-width: 1200px) {
              .talk-contents .talk-box .talk-part ul li .talk-txt {
                margin-top: -40px; } }
            .talk-contents .talk-box .talk-part ul li .talk-txt p {
              font-size: 0.9em;
              text-align: justify;
              line-height: 1.8em; }
              @media (min-width: 768px) {
                .talk-contents .talk-box .talk-part ul li .talk-txt p {
                  font-size: 1.0em; } }
              @media (min-width: 1200px) {
                .talk-contents .talk-box .talk-part ul li .talk-txt p {
                  font-size: 1.125em; } }
