/*! Writen  by SCSS */
footer .bukken_bnners {
  display: block; }

.caming {
  pointer-events: none; }

.slide_main_wrap img {
  width: 100%; }
.slide_main_wrap .cap.left {
  right: auto;
  left: 0; }

/* ------------------------
brightness effect
---------------------------*/
.brightness {
  animation-name: brightnessAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards; }

@keyframes brightnessAnime {
  from {
    filter: brightness(5.5);
    transform: scale(1.02);
    opacity: 0; }
  to {
    filter: brightness(1);
    transform: scale(1);
    opacity: 1; } }
.bg_wrap {
  position: relative; }
  .bg_wrap::before {
    content: "";
    display: block;
    position: fixed;
    inset: 0;
    z-index: -1;
    background-image: url("../images/top/bg.png");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat; }

.sec02 {
  padding-top: clamp(40px, 5%, 60px);
  padding-bottom: clamp(40px, 5%, 60px); }

.plans {
  padding-top: clamp(40px, 5%, 60px); }

.sec01 .bg_wrap1 {
  padding-bottom: clamp(40px, 5%, 60px);
  background-image: url("../images/top/bg.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
.sec01 .txt_box {
  text-align: center;
  background: linear-gradient(to right, #186888, #4199bd, #186888);
  color: #fff;
  font-size: clamp(32px, 4.286vw, 60px);
  margin-bottom: clamp(40px, 5%, 60px);
  display: flex;
  justify-content: center;
  align-items: center;
  grid-gap: 0 0.8em;
  padding: 1em 0;
  position: relative; }
  @media screen and (max-width: 768px) {
    .sec01 .txt_box {
      padding: 0.8em 0;
      flex-direction: column;
      grid-gap: 0.2em 0;
      font-size: clamp(28px, 5.295vw, 36px); } }
  .sec01 .txt_box .txt2 {
    line-height: 1;
    letter-spacing: 0.09em; }
    @media screen and (max-width: 480px) {
      .sec01 .txt_box .txt2 {
        line-height: 1.2; } }
    .sec01 .txt_box .txt2 .red {
      color: #900; }
    .sec01 .txt_box .txt2 .sat {
      font-size: 0.8em;
      font-size: 0.6em; }
  .sec01 .txt_box .txt3 {
    margin-top: 1em;
    font-size: clamp(16px, 1.825vw, 25px);
    line-height: 1; }
.sec01 .price_obi {
  margin-bottom: clamp(40px, 5%, 60px); }
  .sec01 .price_obi a {
    display: flex;
    justify-content: center;
    align-items: baseline;
    grid-gap: 0 15px; }
    @media screen and (max-width: 480px) {
      .sec01 .price_obi a {
        grid-gap: 0 10px; } }
    @media (hover: hover) {
      .sec01 .price_obi a:hover {
        opacity: 0.7; } }
  .sec01 .price_obi p {
    line-height: 1;
    letter-spacing: 0.1em;
    position: relative;
    font-size: clamp(28px, 5.883vw, 40px); }
    @media screen and (max-width: 480px) {
      .sec01 .price_obi p {
        font-size: calc(24vw / 3.9); } }
    .sec01 .price_obi p .lg {
      font-size: 140%;
      display: inline-block;
      line-height: 0.8;
      letter-spacing: 0; }
    .sec01 .price_obi p .min {
      font-size: clamp(8px, 1.765vw, 12px);
      position: absolute;
      right: 0;
      top: -0.5em;
      line-height: 1;
      display: inline-block;
      letter-spacing: 0; }
  .sec01 .price_obi .border_box {
    border: 1px solid #333;
    padding: 0.2em;
    font-size: clamp(14px, 2.942vw, 20px);
    letter-spacing: 0.1em;
    position: relative;
    top: -0.2em; }
    @media screen and (max-width: 480px) {
      .sec01 .price_obi .border_box {
        font-size: calc(12vw / 3.9); } }
.sec01 .info_box {
  padding-top: clamp(25px, 2.5%, 30px);
  padding-bottom: clamp(25px, 3.34%, 40px);
  text-align: center;
  background: #cd7e33;
  max-width: 800px;
  width: calc(100% - 40px);
  margin: 0 auto;
  margin-bottom: clamp(25px, 3.34%, 40px);
  position: relative; }
  .sec01 .info_box::after {
    content: "";
    position: absolute;
    inset: 5px;
    margin: auto;
    border: 3px solid #fff;
    z-index: 1;
    pointer-events: none;
    display: block; }
  .sec01 .info_box p {
    line-height: 1;
    color: #fff; }
  .sec01 .info_box .txt1 {
    font-size: clamp(18px, 3.285vw, 45px);
    line-height: 1.42;
    letter-spacing: 0.1em;
    font-weight: 600; }
    .sec01 .info_box .txt1 + .txt1 {
      margin-bottom: 0.5em; }
    .sec01 .info_box .txt1 .text_color {
      color: #f6ff85; }
  .sec01 .info_box .txt2 {
    font-size: clamp(12px, 1.168vw, 16px);
    line-height: 1; }
    @media screen and (max-width: 480px) {
      .sec01 .info_box .txt2 {
        line-height: 1.4; } }
.sec01 .txt1 {
  background: #a64f4e;
  background: linear-gradient(to right, #1c989c, #51b2b5, #1c989c);
  padding: 30px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center; }
  @media screen and (max-width: 480px) {
    .sec01 .txt1 {
      padding: 20px; } }
.sec01 .item01 {
  max-width: 1100px;
  width: calc(100% - 40px);
  margin: 0 auto;
  font-feature-settings: "palt";
  display: flex;
  justify-content: center;
  padding-top: clamp(40px, 5%, 60px);
  padding-bottom: clamp(40px, 5%, 60px); }
  @media screen and (max-width: 768px) {
    .sec01 .item01 {
      padding: 20px 0;
      justify-content: space-between;
      max-width: 700px;
      margin: 0 auto; } }
  @media screen and (max-width: 480px) {
    .sec01 .item01 {
      grid-gap: 20px 0; } }
  .sec01 .item01 .item {
    width: calc(508%/11);
    margin: 0;
    letter-spacing: 0.01em; }
    @media screen and (min-width: 769px) {
      .sec01 .item01 .item:not(:last-child) {
        margin-right: calc(22.5%/12); } }
    @media screen and (max-width: 768px) {
      .sec01 .item01 .item {
        width: 48%; } }
    @media screen and (max-width: 768px) {
      .sec01 .item01 .item.sp_wide {
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: space-between; }
        .sec01 .item01 .item.sp_wide .imgs {
          width: 60%; }
        .sec01 .item01 .item.sp_wide .cap_l {
          width: 35%; } }
    .sec01 .item01 .item .imgs {
      position: relative;
      margin-bottom: 5px; }
      .sec01 .item01 .item .imgs::before {
        content: "";
        position: absolute;
        inset: 0;
        margin: auto;
        z-index: 1;
        display: block;
        background: linear-gradient(rgba(255, 255, 255, 0) 0, rgba(0, 0, 0, 0.7) 95%); }
      .sec01 .item01 .item .imgs.illust_box::before {
        content: none; }
      .sec01 .item01 .item .imgs .cap_txt {
        line-height: 1;
        position: absolute;
        right: 0;
        left: 0;
        bottom: 0;
        padding: 10px;
        z-index: 2;
        color: #fff;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        font-size: clamp(18px, 2.584vw, 31px); }
        @media screen and (max-width: 480px) {
          .sec01 .item01 .item .imgs .cap_txt {
            font-size: 13px;
            flex-wrap: wrap;
            padding: 5px; } }
        .sec01 .item01 .item .imgs .cap_txt .time {
          line-height: 1; }
          .sec01 .item01 .item .imgs .cap_txt .time .big {
            font-size: 240%;
            color: #ECFC94;
            line-height: 0.9;
            display: inline-block; }
            @media screen and (max-width: 480px) {
              .sec01 .item01 .item .imgs .cap_txt .time .big {
                font-size: 200%; } }
        .sec01 .item01 .item .imgs .cap_txt .txt {
          display: flex;
          flex-direction: column;
          line-height: 1;
          font-size: clamp(18px, 2vw, 24px);
          letter-spacing: 0.05em; }
          @media screen and (max-width: 480px) {
            .sec01 .item01 .item .imgs .cap_txt .txt {
              font-size: 13px; } }
          .sec01 .item01 .item .imgs .cap_txt .txt .flex {
            align-items: flex-end; }
          .sec01 .item01 .item .imgs .cap_txt .txt .text_name {
            font-size: 140%;
            letter-spacing: 0; }
            @media screen and (max-width: 768px) {
              .sec01 .item01 .item .imgs .cap_txt .txt .text_name {
                font-size: 110%; } }
          .sec01 .item01 .item .imgs .cap_txt .txt .text_min {
            font-size: 0.7em; }
            @media screen and (max-width: 480px) {
              .sec01 .item01 .item .imgs .cap_txt .txt .text_min {
                font-size: 0.8em; } }
            .sec01 .item01 .item .imgs .cap_txt .txt .text_min:not(.first) {
              margin-left: 0.3em; }
            .sec01 .item01 .item .imgs .cap_txt .txt .text_min.first {
              margin-bottom: 0.2em; }
              @media screen and (max-width: 480px) {
                .sec01 .item01 .item .imgs .cap_txt .txt .text_min.first {
                  margin-bottom: 0.4em; } }
        .sec01 .item01 .item .imgs .cap_txt .time {
          margin-left: auto; }
.sec01 .obi1 .obi01_content {
  background-color: #EEEBE9;
  padding: 100px 0 0;
  text-align: center; }
  @media screen and (max-width: 1024px) {
    .sec01 .obi1 .obi01_content {
      padding: 40px 20px 0; } }
.sec01 .obi1 .obi01_item {
  position: inherit;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-bottom: 40px;
  cursor: pointer; }
  .sec01 .obi1 .obi01_item::after {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    border-right: 2px solid;
    border-bottom: 2px solid;
    transform: rotate(45deg); }
    @media screen and (max-width: 480px) {
      .sec01 .obi1 .obi01_item::after {
        width: 15px;
        height: 15px; } }
.sec01 .obi1 .obi01_catch {
  position: inherit;
  margin-bottom: 25px;
  transform: translate(0, 0); }
  .sec01 .obi1 .obi01_catch img {
    width: 182px; }
.sec01 .obi1 .obi01_head {
  margin-bottom: 15px;
  font-size: 28px; }
  @media screen and (max-width: 768px) {
    .sec01 .obi1 .obi01_head {
      margin-bottom: 10px; } }
  .sec01 .obi1 .obi01_head span {
    font-size: 38px; }
.sec01 .obi1 .obi01_inner {
  display: none;
  padding-bottom: 70px; }
  .sec01 .obi1 .obi01_inner .obi01_lead {
    margin-bottom: 25px;
    font-size: 16px; }
.sec01 .obi1 .obi01_wrap {
  display: flex;
  justify-content: center;
  max-width: 1000px;
  margin: 0 auto 56px; }
  @media screen and (max-width: 768px) {
    .sec01 .obi1 .obi01_wrap {
      flex-direction: column;
      max-width: 253px; } }
.sec01 .obi1 .obi01_image {
  width: calc(100% / 4); }
  @media screen and (max-width: 768px) {
    .sec01 .obi1 .obi01_image {
      width: 100%; } }
  .sec01 .obi1 .obi01_image .obi01_text_inner {
    padding: 15px; }
    .sec01 .obi1 .obi01_image .obi01_text_inner .obi01_head {
      font-size: clamp(14px, 1.73vw, 18px);
      line-height: 1.4;
      margin-bottom: 0; }
    .sec01 .obi1 .obi01_image .obi01_text_inner .obi01_text {
      text-align: left;
      margin-top: 0.8em;
      font-size: clamp(11px, 1.34vw, 14px);
      line-height: 1.6; }
.sec01 .obi1 .obi01_bnr {
  max-width: 1000px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .sec01 .obi1 .obi01_bnr {
      max-width: 328px; } }
  .sec01 .obi1 .obi01_bnr img {
    box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.4); }
.sec01 .obi2 {
  background: #d0a77a; }
  .sec01 .obi2 .txts {
    display: flex;
    justify-content: center;
    align-items: stretch;
    color: #fff;
    font-size: clamp(14px, 1.825vw, 25px);
    padding: 30px 10px; }
    @media screen and (max-width: 680px) {
      .sec01 .obi2 .txts {
        flex-direction: column;
        padding: 20px 10px; } }
    .sec01 .obi2 .txts li {
      text-align: center;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      line-height: 1.28;
      letter-spacing: 0.04em;
      padding: 0 0.8em; }
      @media screen and (min-width: 680px) {
        .sec01 .obi2 .txts li {
          border-left: 1px solid #fff; } }
      @media screen and (min-width: 680px) {
        .sec01 .obi2 .txts li:last-child {
          border-right: 1px solid #fff; } }
      @media screen and (max-width: 680px) {
        .sec01 .obi2 .txts li {
          font-size: clamp(12px, 4.584vw, 22px);
          padding: 0.5em;
          border-bottom: 1px solid #fff;
          letter-spacing: 0.08em; }
          .sec01 .obi2 .txts li br:not(.ex) {
            display: none; } }
      .sec01 .obi2 .txts li.min {
        line-height: 1.35;
        font-size: clamp(14px, 1.46vw, 20px); }
        @media screen and (min-width: 680px) {
          .sec01 .obi2 .txts li.min {
            border-right: 1px solid #fff; } }
        @media screen and (max-width: 680px) {
          .sec01 .obi2 .txts li.min {
            border-bottom: 0;
            font-size: clamp(12px, 4.584vw, 22px); } }

@media screen and (max-width: 680px) {
  .vpc680 {
    display: none; } }

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

.sec02 {
  background-image: url("../images/top/bg02.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }
  .sec02 .inner {
    max-width: 814px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    grid-gap: 15px 0; }
    .sec02 .inner a {
      display: block;
      width: calc(400%/8.14); }
      @media screen and (max-width: 680px) {
        .sec02 .inner a {
          width: 100%; } }
      .sec02 .inner a.coming {
        pointer-events: none; }
    .sec02 .inner figure {
      position: relative; }
      .sec02 .inner figure .cap {
        z-index: 4; }
      .sec02 .inner figure img {
        position: relative;
        z-index: 3; }
      .sec02 .inner figure .txt_box {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        position: absolute;
        inset: 0;
        margin: auto;
        z-index: 3; }
        .sec02 .inner figure .txt_box .txt {
          text-align: center;
          color: #fff;
          font-size: clamp(16px, 2.949vw, 24px);
          line-height: 1.58;
          margin-bottom: 1.15em; }
        .sec02 .inner figure .txt_box .cnt_ttl {
          line-height: 0; }
          .sec02 .inner figure .txt_box .cnt_ttl.con {
            width: calc(133%/4); }
          .sec02 .inner figure .txt_box .cnt_ttl.acc {
            width: calc(100%/4); }
          .sec02 .inner figure .txt_box .cnt_ttl.loc {
            width: calc(146%/4); }
          .sec02 .inner figure .txt_box .cnt_ttl.des {
            width: calc(104%/4); }
          .sec02 .inner figure .txt_box .cnt_ttl.pla {
            width: calc(68%/4); }
    .sec02 .inner .btn_txt {
      display: flex;
      justify-content: space-between;
      border-bottom: 1px solid #1c989c;
      line-height: 0;
      padding: 10px 0; }

.plans {
  margin-bottom: clamp(60px, 8.34%, 100px); }
  .plans .plan_ttl {
    text-align: center;
    margin-bottom: clamp(30px, 4.17%, 50px); }
    .plans .plan_ttl figure {
      position: relative;
      padding-bottom: 20px;
      margin-bottom: 25px; }
      .plans .plan_ttl figure::before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        width: 29px;
        height: 2px;
        background: #000; }
    .plans .plan_ttl .sec_txt {
      font-size: clamp(14px, 3.75vw, 18px); }
  .plans .plan_btns {
    display: flex;
    justify-content: center;
    grid-gap: 0 30px;
    max-width: 1000px;
    margin: 0 auto; }
    @media screen and (max-width: 680px) {
      .plans .plan_btns {
        flex-direction: column;
        grid-gap: 30px 0; } }
    .plans .plan_btns li {
      width: calc(440%/10); }
      @media screen and (max-width: 680px) {
        .plans .plan_btns li {
          width: 70%;
          margin: 0 auto; } }
      .plans .plan_btns li a {
        display: block;
        padding: 20px calc(40%/4.4);
        transition: opacity 0.3s ease-in-out;
        background: linear-gradient(to top, #51b2b5, #1c989c); }
        @media screen and (max-width: 680px) {
          .plans .plan_btns li a {
            padding: 15px; } }
        @media (hover: hover) {
          .plans .plan_btns li a:hover {
            opacity: 0.7; } }
      .plans .plan_btns li .txt_box {
        text-align: center;
        color: #fff;
        font-size: clamp(18px, 2vw, 24px);
        margin-bottom: 1em; }
        .plans .plan_btns li .txt_box .name {
          line-height: 1; }
          .plans .plan_btns li .txt_box .name .lg {
            font-size: 200%;
            display: inline-block;
            line-height: 0.9; }
        .plans .plan_btns li .txt_box .ldk {
          font-size: clamp(16px, 1.667vw, 20px); }
        .plans .plan_btns li .txt_box .spec {
          font-size: clamp(14px, 1.5vw, 18px); }
      .plans .plan_btns li .p_btn {
        width: 100%;
        text-align: center;
        color: #1c989c;
        background: #fff;
        font-size: clamp(14px, 1.5vw, 18px);
        padding: 0.6em 10px;
        margin-top: 1em; }
  .plans .plan_btn {
    font-size: clamp(14px, 1.5vw, 18px);
    max-width: 400px;
    display: block;
    margin: 0 auto;
    margin-top: clamp(25px, 3.34%, 40px);
    text-align: center;
    letter-spacing: 0.05em; }
    .plans .plan_btn a {
      padding: 0.5em 0.3em;
      display: block;
      transition: opacity 0.3s ease-in-out;
      background: linear-gradient(to right, #1c989c, #51b2b5, #1c989c);
      color: #fff; }
      @media (hover: hover) {
        .plans .plan_btn a:hover {
          opacity: 0.7; } }

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