@charset "UTF-8";
.sec_title {
  font-size: 4rem;
  text-align: center;
  font-weight: 900; }
  @media (max-width: 768px) {
    .sec_title {
      font-size: 3.5rem; } }

.sec_title_sub {
  font-size: 0.9rem;
  color: #604c3f;
  text-align: center;
  letter-spacing: 0.2em;
  margin-top: 5px; }

/*---------------------------
mv
---------------------------*/
.mv {
  position: relative;
  height: calc( 100vh - 70px );
  overflow: hidden; }
  .mv video {
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0; }
  .mv .mv_copy {
    position: absolute;
    left: 10%;
    right: auto;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 25%;
    max-width: 350px;
    height: auto;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center; }
    .mv .mv_copy img {
      width: 100%; }
    @media (max-width: 768px) {
      .mv .mv_copy {
        top: 7%;
        left: 7%;
        width: 65%;
        bottom: auto; } }
    .mv .mv_copy .copy {
      margin-top: 0.5em;
      background-color: #fff;
      opacity: 0.7;
      width: 100%;
      text-align: center;
      padding: 0.5em 0;
      letter-spacing: 0.2em;
      color: #604c3f;
      font-size: 1.2rem; }
      @media (max-width: 768px) {
        .mv .mv_copy .copy {
          font-size: 0.9rem; } }
@keyframes top_anime1 {
  0% {
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1; } }
.header {
  font-family: 'Oswald', sans-serif; }

/*---------------------------
sec01
---------------------------*/
.sec01 {
  margin-top: 120px;
  padding-bottom: 120px;
  position: relative; }
  .sec01 .img {
    width: 46.3%;
    height: auto;
    position: absolute;
    top: 0;
    right: 0; }
    @media (max-width: 768px) {
      .sec01 .img {
        position: static;
        width: 100%; } }
  .sec01 .sec01_in {
    max-width: 70vw; }
    @media (max-width: 768px) {
      .sec01 .sec01_in {
        width: 100%;
        max-width: 100%; } }
    .sec01 .sec01_in .subject {
      font-size: 1.5rem;
      font-family: 'Oswald', sans-serif;
      color: #604c3f; }
      @media (max-width: 768px) {
        .sec01 .sec01_in .subject {
          font-size: 1rem;
          padding-left: 2%; } }
    .sec01 .sec01_in .copy {
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: bold;
      color: #231815;
      position: relative;
      font-size: 5vw; }
      @media (max-width: 768px) {
        .sec01 .sec01_in .copy {
          font-size: 12.5vw;
          margin-bottom: -1em;
          padding-left: 2%; } }
      .sec01 .sec01_in .copy span {
        color: #fff; }
    .sec01 .sec01_in .text {
      margin-top: 30px;
      line-height: 1.7; }
      @media (max-width: 768px) {
        .sec01 .sec01_in .text {
          font-size: 4vw;
          text-align: center;
          width: 95%;
          margin: 30px auto 0; } }

/*---------------------------
sec02
---------------------------*/
.sec02 {
  margin-top: 80px; }
  .sec02 .cts {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap; }
    @media (max-width: 768px) {
      .sec02 .cts {
        justify-content: center;
        margin-top: 30px; } }
    .sec02 .cts .box {
      width: 30%;
      text-align: center; }
      @media (max-width: 768px) {
        .sec02 .cts .box {
          width: 48%; }
          .sec02 .cts .box:first-child {
            margin-right: 3%; }
          .sec02 .cts .box:nth-child(n+3) {
            margin-top: 25px; } }
      .sec02 .cts .box img {
        width: 100%;
        height: auto; }
      .sec02 .cts .box .subject {
        color: #604c3f;
        font-weight: bold;
        font-size: 1.2rem;
        letter-spacing: 0.2em;
        margin: 10px 0; }
      .sec02 .cts .box .text {
        font-size: 0.9rem;
        letter-spacing: 0.1em; }

/*---------------------------
sec03
---------------------------*/
.sec03 {
  margin-top: 120px; }
  .sec03 .top_cts {
    margin-top: 2em; }
    @media (max-width: 768px) {
      .sec03 .top_cts {
        margin-top: 3.5em; } }
    .sec03 .top_cts .text {
      text-align: center;
      font-size: 1rem; }
      @media (max-width: 768px) {
        .sec03 .top_cts .text {
          font-size: 4vw; } }
  .sec03 .cts {
    margin-top: 60px;
    display: flex;
    justify-content: space-between;
    align-items: stretch; }
    @media (max-width: 768px) {
      .sec03 .cts {
        display: block;
        margin-top: 40px; } }
    .sec03 .cts .box {
      width: 49%;
      border: 3px solid #8a786b;
      padding-bottom: 20px; }
      @media (max-width: 768px) {
        .sec03 .cts .box {
          width: 95%;
          margin: auto; } }
      .sec03 .cts .box.box02 {
        border-color: #604c3f; }
        @media (max-width: 768px) {
          .sec03 .cts .box.box02 {
            margin-top: 30px; } }
      .sec03 .cts .box .title {
        background-color: #8a786b;
        color: #fff;
        padding: 0.5em 0;
        font-weight: bold;
        text-align: center; }
        .sec03 .cts .box .title.title02 {
          background-color: #604c3f; }
      .sec03 .cts .box .block {
        padding: 0 3%; }
        .sec03 .cts .box .block .price {
          margin: 20px 0;
          text-align: center;
          font-size: 3.5rem;
          font-weight: bold; }
          .sec03 .cts .box .block .price span {
            font-size: 40%; }
        .sec03 .cts .box .block .recommend {
          font-size: 0.8rem;
          color: #8a786b; }
          .sec03 .cts .box .block .recommend.recommend02 {
            color: #604c3f; }
        .sec03 .cts .box .block ul {
          margin-top: 0.5em;
          text-align: left; }
          .sec03 .cts .box .block ul.list_top {
            min-height: 7em; }
            @media (max-width: 768px) {
              .sec03 .cts .box .block ul.list_top {
                min-height: auto; } }
          .sec03 .cts .box .block ul li {
            position: relative;
            list-style: none;
            padding-left: 1em;
            font-size: 0.7rem;
            line-height: 1.5; }
            @media (max-width: 768px) {
              .sec03 .cts .box .block ul li {
                font-size: 2.5vw; } }
            .sec03 .cts .box .block ul li:nth-child(n+2) {
              margin-top: 0.7em; }
            .sec03 .cts .box .block ul li:before {
              position: absolute;
              content: '■';
              font-size: 0.6rem;
              left: 0;
              top: 0;
              color: #8a786b; }
            .sec03 .cts .box .block ul li.list02:before {
              color: #604c3f; }
        .sec03 .cts .box .block .case {
          text-align: center; }
          @media (max-width: 768px) {
            .sec03 .cts .box .block .case {
              margin-top: 20px; } }
          .sec03 .cts .box .block .case span {
            display: inline-block;
            text-align: center;
            border-bottom: 4px solid #fff100;
            padding-bottom: 0.3em;
            font-weight: bold; }
        .sec03 .cts .box .block .request {
          font-size: 0.9rem;
          text-align: center;
          margin-top: 20px; }
        .sec03 .cts .box .block .request_sub {
          font-size: 0.8rem;
          text-align: center;
          margin-top: 0.3em; }
        .sec03 .cts .box .block .img_block {
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin: 15px auto 0; }
          .sec03 .cts .box .block .img_block.img_block01 {
            width: 70%;
            margin: 15px auto 0; }
          .sec03 .cts .box .block .img_block.img_block02 {
            width: 80%;
            margin: 15px auto 0; }
          .sec03 .cts .box .block .img_block img {
            width: 60%;
            height: auto; }
  .sec03 .cts02 {
    margin-top: 120px;
    text-align: center; }
    @media (max-width: 768px) {
      .sec03 .cts02 {
        margin-top: 60px; } }
    .sec03 .cts02 .table_img {
      width: 80%; }
      @media (max-width: 768px) {
        .sec03 .cts02 .table_img {
          width: 100%; } }

/*---------------------------
sec04
---------------------------*/
.sec04 {
  margin-top: 120px; }
  .sec04 .cts {
    width: 55%;
    margin: 60px auto 0;
    margin-top: 60px; }
    @media (max-width: 768px) {
      .sec04 .cts {
        width: 95%; } }
    .sec04 .cts dl {
      display: flex;
      justify-content: flex-start;
      align-items: flex-start;
      line-height: 1.5; }
      .sec04 .cts dl:nth-child(n+2) {
        margin-top: 1em; }
      .sec04 .cts dl dt {
        width: 20%;
        font-size: 1rem;
        letter-spacing: 0.1em; }
        @media (max-width: 768px) {
          .sec04 .cts dl dt {
            width: 22%;
            letter-spacing: 0;
            font-size: 3.2vw; } }
      .sec04 .cts dl dd {
        width: 75%;
        font-size: 1.1rem;
        letter-spacing: 0.1em; }
        @media (max-width: 768px) {
          .sec04 .cts dl dd {
            letter-spacing: 0;
            font-size: 3.5vw; } }
        .sec04 .cts dl dd .small {
          font-size: 85%; }
        .sec04 .cts dl dd .block {
          padding-left: 1em; }
  .sec04 .cts02 {
    margin-top: 100px; }
    @media (max-width: 768px) {
      .sec04 .cts02 {
        margin-top: 60px; } }
    .sec04 .cts02 .box {
      position: relative;
      display: flex;
      justify-content: space-between;
      align-items: flex-end; }
      .sec04 .cts02 .box .title {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        margin: auto;
        font-size: 9rem;
        font-weight: bold;
        text-align: center;
        color: #898989;
        opacity: 0.5; }
        @media (max-width: 768px) {
          .sec04 .cts02 .box .title {
            font-size: 15.4vw; } }
      .sec04 .cts02 .box img {
        width: 48%;
        height: auto; }
        @media (max-width: 768px) {
          .sec04 .cts02 .box img {
            width: 45%; } }
      .sec04 .cts02 .box .textbox {
        width: 49%; }
        @media (max-width: 768px) {
          .sec04 .cts02 .box .textbox {
            width: 52%; } }
        .sec04 .cts02 .box .textbox .text {
          font-size: 1.2rem;
          line-height: 2; }
          @media (max-width: 768px) {
            .sec04 .cts02 .box .textbox .text {
              font-size: 2.2vw;
              line-height: 1.4; } }
        .sec04 .cts02 .box .textbox .namebox {
          text-align: right;
          margin-top: 2em; }
          @media (max-width: 768px) {
            .sec04 .cts02 .box .textbox .namebox {
              margin-top: 1em; } }
          .sec04 .cts02 .box .textbox .namebox .position {
            font-size: 0.8rem;
            letter-spacing: 0.1em; }
            @media (max-width: 768px) {
              .sec04 .cts02 .box .textbox .namebox .position {
                font-size: 2.2vw; } }
          .sec04 .cts02 .box .textbox .namebox .name_jp {
            font-size: 1.6rem;
            margin: 0.4em 0;
            letter-spacing: 0.3em; }
            @media (max-width: 768px) {
              .sec04 .cts02 .box .textbox .namebox .name_jp {
                font-size: 3.5vw; } }
          .sec04 .cts02 .box .textbox .namebox .name_en {
            font-size: 0.8rem;
            letter-spacing: 0.1em; }
            @media (max-width: 768px) {
              .sec04 .cts02 .box .textbox .namebox .name_en {
                font-size: 2.4vw; } }

/*---------------------------
sec05
---------------------------*/
.sec05 {
  margin-top: 120px; }
  .sec05 .cts .desc {
    text-align: center;
    font-size: 1.3rem;
    line-height: 1.7;
    margin-top: 60px;
    letter-spacing: 0.1em; }
    @media (max-width: 768px) {
      .sec05 .cts .desc {
        margin-top: 40px;
        font-size: 1.1rem; } }
  .sec05 .cts .calender_wrap {
    margin-top: 60px; }
    .sec05 .cts .calender_wrap #booking-package #booking-package_inputFormPanel {
      padding: 2% 4%; }
    .sec05 .cts .calender_wrap #booking-package input[type="text"] {
      border-radius: 5px;
      height: 3em; }
    @media (max-width: 768px) {
      .sec05 .cts .calender_wrap {
        margin-top: 40px; } }
  .sec05 .cts .contactbox {
    margin-top: 60px;
    text-align: center; }
    .sec05 .cts .contactbox .box {
      text-align: left;
      width: 30%;
      margin: 40px auto 0; }
      @media (max-width: 768px) {
        .sec05 .cts .contactbox .box {
          width: 57%;
          margin: 20px auto 0; } }
      .sec05 .cts .contactbox .box a {
        display: flex;
        align-items: center;
        font-size: 1.3rem; }
        @media (max-width: 768px) {
          .sec05 .cts .contactbox .box a {
            font-size: 1rem; } }
        .sec05 .cts .contactbox .box a:last-child {
          margin-top: 0.5em; }
        .sec05 .cts .contactbox .box a .icon {
          width: 10%;
          height: auto;
          margin-right: 0.5em; }
          @media (max-width: 768px) {
            .sec05 .cts .contactbox .box a .icon {
              width: 8%; } }

/*---------------------------
sec06
---------------------------*/
.sec06 {
  margin-top: 120px; }
  .sec06 .cts {
    width: 60%;
    margin: 60px auto 0;
    margin-top: 60px; }
    @media (max-width: 768px) {
      .sec06 .cts {
        width: 100%; } }
    .sec06 .cts dl {
      line-height: 1.3; }
      .sec06 .cts dl dt {
        font-size: 1.2rem;
        letter-spacing: 0.1em;
        font-weight: bold; }
        @media (max-width: 768px) {
          .sec06 .cts dl dt {
            font-size: 1rem; } }
        .sec06 .cts dl dt:nth-child(n+2) {
          margin-top: 1em; }
      .sec06 .cts dl dd {
        font-size: 1.2rem;
        padding-left: 1em;
        letter-spacing: 0.1em; }
        @media (max-width: 768px) {
          .sec06 .cts dl dd {
            font-size: 0.8rem; } }
        .sec06 .cts dl dd ol {
          list-style: none; }
          .sec06 .cts dl dd ol .parent {
            margin-top: 1.2em; }
            .sec06 .cts dl dd ol .parent:first-child {
              margin-top: 0.5em; }
        .sec06 .cts dl dd ul {
          list-style-type: circle;
          padding-left: 2em; }
          @media (max-width: 768px) {
            .sec06 .cts dl dd ul {
              padding-left: 3em; } }
          .sec06 .cts dl dd ul li {
            margin-top: 0.7em; }
            .sec06 .cts dl dd ul li span {
              font-size: 85%; }
  .sec06 .btn_box {
    text-align: center;
    margin-top: 80px; }
