/*! Writen  by SCSS */
.fadeup {
  transform: translateY(0);
  opacity: 0;
  transition: opacity 1.2s cubic-bezier(0.5, 1, 0.89, 1);
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.5, 1, 0.89, 1);
  will-change: auto; }
  .fadeup.p-view {
    opacity: 1;
    transform: translateY(0px); }

div.wrap {
  padding-top: 0 !important; }

div.header {
  border-bottom: solid 1px rgba(255, 255, 255, 0.4); }
  div.header .bk {
    opacity: 0; }
  div.header .wh {
    opacity: 1; }
  @media screen and (max-width: 768px) {
    div.header .logo {
      border-right: solid 1px rgba(255, 255, 255, 0.4); } }
  div.header ul.headnavi {
    border-right: solid 1px rgba(255, 255, 255, 0.4);
    border-left: solid 1px rgba(255, 255, 255, 0.4); }
    div.header ul.headnavi li:not(:last-child) {
      border-bottom: solid 1px rgba(255, 255, 255, 0.4); }
    div.header ul.headnavi li a {
      color: #fff; }
  div.header .gnavi_head .gnavi_h > li a,
  div.header .gnavi_head .gnavi_h > li .nav_bus_text {
    color: #fff; }
  div.header .gnavi_head .gnavi_h > li.nav_bus .nav_list li a {
    color: #fff;
    background: rgba(0, 0, 0, 0.4); }
  div.header .nav_btn hr {
    background: #fff; }

.breadlist {
  display: none; }

.sec_box {
  min-height: calc(100vh + 300px);
  position: relative;
  z-index: 2;
  /*&.fix_on {
  	.bg {
  		position: fixed;
  		top:0;
  		bottom:auto;
  	}
  }
  &.fix_off {
  	.bg {
  		position: absolute;
  	}
  }*/ }
  @media screen and (max-width: 480px) {
    .sec_box {
      min-height: calc(100lvh + 100px); } }
  .sec_box .bg {
    clip-path: inset(0 0 0 0);
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0; }
    .sec_box .bg::before {
      content: "";
      display: block;
      position: fixed;
      z-index: -1;
      top: 0;
      left: 0;
      width: 100%;
      height: 100lvh;
      background-repeat: no-repeat;
      background-size: cover;
      background-position: center; }
  .sec_box .inner {
    position: relative;
    z-index: 5; }
  .sec_box.sec00 .bg::before {
    background-image: url("../images/planning/sec00_bg.jpg"); }
  .sec_box.sec00 .inner {
    max-width: 1200px;
    padding: calc((160% / 16) + 100px) 20px calc(180% / 16); }
    @media screen and (max-width: 480px) {
      .sec_box.sec00 .inner {
        height: fit-content;
        padding: calc((190% / 4.8) + 60px) 0 calc(140% / 4.8); } }
    .sec_box.sec00 .inner .txt01 {
      font-size: clamp(22px, 4.033vw, 50px);
      letter-spacing: 0.18em;
      font-weight: 700;
      line-height: 1;
      margin-bottom: 0.8em;
      color: transparent;
      -webkit-text-stroke: 1px #fff;
      text-stroke: 1px #fff;
      opacity: 0; }
      .sec_box.sec00 .inner .txt01.p-view {
        opacity: 0.45; }
    .sec_box.sec00 .inner .txt02 {
      font-size: clamp(26px, 5vw, 62px);
      letter-spacing: 0.05em;
      font-weight: 700;
      line-height: 1; }
      .sec_box.sec00 .inner .txt02 span {
        background: linear-gradient(0deg, #e8e6e2, #c8ba9c);
        background: -webkit-linear-gradient(90deg, #e8e6e2, #c8ba9c);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        opacity: 0.7; }
    .sec_box.sec00 .inner .txt03 {
      font-size: clamp(18px, 2.05vw, 25px);
      letter-spacing: 0.1em;
      font-weight: 700;
      line-height: 1;
      color: #fff;
      margin: -0.5em 0 2em; }
    .sec_box.sec00 .inner .txt04 {
      font-size: clamp(16px, 2.05vw, 25px);
      letter-spacing: 0;
      font-weight: 700;
      line-height: 2;
      color: #fff;
      margin-bottom: 1em; }
      @media screen and (max-width: 480px) {
        .sec_box.sec00 .inner .txt04 {
          margin-right: -20px; } }
    .sec_box.sec00 .inner .txt05 {
      font-size: clamp(13px, 1.394vw, 17px);
      letter-spacing: 0.1em;
      font-weight: 700;
      line-height: 3;
      color: #fff; }
      @media screen and (max-width: 480px) {
        .sec_box.sec00 .inner .txt05 {
          line-height: 2.4; } }
  .sec_box.sec01 .bg::before {
    background-image: url("../images/planning/sec01_bg.jpg"); }
    @media screen and (max-width: 480px) {
      .sec_box.sec01 .bg::before {
        background-position: 80% center; } }
  .sec_box.sec01 .inner {
    max-width: 1200px;
    padding: calc((180% / 16) + 100px) 20px calc(180% / 16); }
    @media screen and (max-width: 480px) {
      .sec_box.sec01 .inner {
        height: fit-content;
        padding: calc((140% / 4.8) + 60px) 0 calc(140% / 4.8); } }
    .sec_box.sec01 .inner .txt06 {
      font-size: clamp(13px, 1.394vw, 17px);
      letter-spacing: 0.1em;
      font-weight: 700;
      line-height: 3;
      color: #fff;
      text-shadow: 0px 0px 0px rgba(0, 0, 0, 0.8), 0px 0px 1px rgba(0, 0, 0, 0.8), 0px 0px 2px rgba(0, 0, 0, 0.8), 0px 0px 3px rgba(0, 0, 0, 0.8), 0px 0px 4px rgba(0, 0, 0, 0.8), 0px 0px 5px rgba(0, 0, 0, 0.8), 0px 0px 6px rgba(0, 0, 0, 0.8), 0px 0px 7px rgba(0, 0, 0, 0.8), 0px 0px 8px rgba(0, 0, 0, 0.8); }
      @media screen and (max-width: 480px) {
        .sec_box.sec01 .inner .txt06 {
          line-height: 2.4; } }

.sec02 {
  padding-bottom: 0;
  background: #f0efeb;
  position: relative;
  /*.inner {
  	padding-bottom: 100px;
  	@include mq($br_sp){
  		padding-bottom: 40px;
  	}
  }*/ }
  @media screen and (max-width: 480px) {
    .sec02 {
      padding-bottom: 0; } }
  .sec02 .txt06 {
    letter-spacing: 0.1em;
    font-weight: 500;
    line-height: 2;
    color: #666;
    margin-bottom: 2.8em;
    font-size: clamp(16px, 2.05vw, 25px);
    color: #555;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 480px) {
      .sec02 .txt06 {
        letter-spacing: 0.05em;
        margin-bottom: 1.5em; } }
  .sec02 .txt07 {
    font-size: clamp(14px, 1.722vw, 21px);
    letter-spacing: 0.1em;
    font-weight: 700;
    line-height: 1;
    color: #796c5e;
    position: relative; }
    @media screen and (max-width: 480px) {
      .sec02 .txt07 {
        text-align: left;
        letter-spacing: 0.05em; } }
    .sec02 .txt07 .toggle {
      display: block;
      width: 70px;
      height: 70px;
      position: absolute;
      inset: 0;
      left: auto;
      margin: auto; }
      .sec02 .txt07 .toggle::before {
        position: absolute;
        top: 50%;
        right: 0;
        width: 70px;
        height: 1px;
        background: #c4c7cf;
        content: "";
        transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
        transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); }
        @media screen and (max-width: 1040px) {
          .sec02 .txt07 .toggle::before {
            width: 48px; } }
      .sec02 .txt07 .toggle::after {
        position: absolute;
        top: 50%;
        right: 17.5px;
        width: 35px;
        height: 1px;
        transform: rotate(90deg);
        transform-origin: center center;
        background: #c4c7cf;
        content: "";
        transition: all 0.2s cubic-bezier(0.165, 0.84, 0.44, 1);
        transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1); }
        @media screen and (max-width: 1040px) {
          .sec02 .txt07 .toggle::after {
            right: 12px;
            width: 24px; } }
      .sec02 .txt07 .toggle.on::after {
        right: 0;
        width: 70px;
        transform: rotate(180deg); }
        @media screen and (max-width: 1040px) {
          .sec02 .txt07 .toggle.on::after {
            width: 48px; } }
  .sec02 .txt08 {
    font-size: clamp(12px, 1.23vw, 15px);
    letter-spacing: 0.1em;
    font-weight: 400;
    line-height: 2.7;
    color: #333; }
    @media screen and (max-width: 480px) {
      .sec02 .txt08 {
        line-height: 2; } }
  .sec02 .item_wrap {
    display: flex;
    flex-direction: column;
    grid-gap: 30px 0;
    max-width: 1040px;
    margin: 0 auto; }
    .sec02 .item_wrap .item {
      border: 1px solid #d7d7d7;
      padding: 70px calc(70%/10.4); }
      @media screen and (max-width: 1040px) {
        .sec02 .item_wrap .item {
          padding: 50px; } }
      @media screen and (max-width: 480px) {
        .sec02 .item_wrap .item {
          padding: 20px 10px; } }
    .sec02 .item_wrap .slide_wrap {
      display: none;
      padding: calc(60%/8.2) calc(60%/8.2) 0;
      max-width: 820px;
      margin: 0 auto; }
      @media screen and (max-width: 480px) {
        .sec02 .item_wrap .slide_wrap {
          padding: 20px 0 0; } }
      .sec02 .item_wrap .slide_wrap.on {
        display: block; }
    .sec02 .item_wrap .item_img {
      margin-bottom: calc(40%/8.2); }

.sec03 {
  background: url("../images/common/article_bg.jpg") center center/cover;
  height: calc(450vw / 16);
  padding: calc(50% / 16) 0; }
  @media screen and (max-width: 480px) {
    .sec03 {
      background: url("../images/common/article_bg_sp.jpg") top center/100% auto no-repeat;
      height: auto;
      padding: 60vw 0 30px;
      padding: 50vw 0 30px;
      background-position: center top 40%; } }
  .sec03 .inn {
    padding: 0 40px;
    text-align: right;
    height: 100%; }
    @media screen and (max-width: 480px) {
      .sec03 .inn {
        padding: 0 20px;
        text-align: left; } }
    .sec03 .inn > div {
      text-align: left;
      height: 100%;
      display: flex;
      flex-direction: column;
      align-items: flex-end;
      justify-content: center; }
      @media screen and (max-width: 480px) {
        .sec03 .inn > div {
          display: block; } }
      .sec03 .inn > div .sec_ttl_wrap {
        width: 36em; }
        @media screen and (max-width: 768px) {
          .sec03 .inn > div .sec_ttl_wrap {
            width: auto; } }
      .sec03 .inn > div .sec_ttl {
        font-size: clamp(12px, 1.476vw, 18px);
        color: #555;
        letter-spacing: 0;
        font-weight: 600;
        line-height: 1.4;
        margin-bottom: 1.4em; }
        @media screen and (max-width: 480px) {
          .sec03 .inn > div .sec_ttl {
            margin-right: -20px; } }
      .sec03 .inn > div .d_btn {
        display: flex;
        align-items: center;
        color: #111;
        cursor: pointer;
        font-size: clamp(12px, 1.23vw, 15px); }
        .sec03 .inn > div .d_btn .icon {
          display: block;
          width: 2em;
          height: 2em;
          margin-left: 0.8em;
          border: solid 1px #555555;
          border-radius: 50%;
          display: flex;
          justify-content: center;
          align-items: center;
          transition: all 0.3s ease-in-out 0s; }
          .sec03 .inn > div .d_btn .icon > span {
            display: inline-block;
            line-height: 0;
            font-size: 0;
            margin: 0;
            padding: 0;
            position: relative; }
            .sec03 .inn > div .d_btn .icon > span .off {
              position: relative;
              opacity: 1;
              transition: all 0.3s ease-in-out 0s; }
            .sec03 .inn > div .d_btn .icon > span .on {
              position: absolute;
              inset: 0;
              opacity: 0;
              transition: all 0.3s ease-in-out 0s; }
        .sec03 .inn > div .d_btn:hover .icon {
          background: #555555; }
          .sec03 .inn > div .d_btn:hover .icon > span .off {
            opacity: 0; }
          .sec03 .inn > div .d_btn:hover .icon > span .on {
            opacity: 1; }

.architecture {
  padding-top: 170px;
  padding-bottom: calc(420% / 16);
  padding-bottom: calc(380% / 16);
  background: url("../images/planning/sec02_bg.jpg") bottom center/100% auto no-repeat;
  text-align: center; }
  @media screen and (max-width: 480px) {
    .architecture {
      padding-top: 80px;
      padding-bottom: calc(460% / 8);
      padding-bottom: calc(350% / 8);
      background: url("../images/planning/sec02_bg_sp.jpg") bottom center/100% auto no-repeat; } }
  .architecture .a1 {
    font-size: clamp(26px, 5vw, 62px);
    letter-spacing: 0.05em;
    font-weight: 700;
    line-height: 1; }
    .architecture .a1 span {
      background: linear-gradient(0deg, rgba(232, 230, 226, 0.7), rgba(200, 186, 156, 0.7));
      background: -webkit-linear-gradient(90deg, rgba(232, 230, 226, 0.7), rgba(200, 186, 156, 0.7));
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      opacity: 0.7; }
  .architecture .a2 {
    font-size: clamp(18px, 2.017vw, 25px);
    color: #555;
    letter-spacing: 0.1em;
    font-weight: 500;
    line-height: 1;
    margin: -0.7em auto 2em;
    text-shadow: 0px 0px 0px white, 0px 0px 1px white, 0px 0px 2px white, 0px 0px 3px white, 0px 0px 4px white, 0px 0px 5px white, 0px 0px 6px white, 0px 0px 7px white; }
  .architecture .a3 {
    font-size: clamp(16px, 2.05vw, 25px);
    color: #555;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-bottom: 1.4em;
    text-shadow: 0px 0px 0px white, 0px 0px 1px white, 0px 0px 2px white, 0px 0px 3px white, 0px 0px 4px white, 0px 0px 5px white, 0px 0px 6px white, 0px 0px 7px white; }
    @media screen and (max-width: 480px) {
      .architecture .a3 {
        letter-spacing: 0.05em; } }
  .architecture .a4 {
    font-size: clamp(13px, 1.371vw, 17px);
    color: #796c5e;
    color: #555;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 3;
    text-shadow: 0px 0px 0px white, 0px 0px 1px white, 0px 0px 2px white, 0px 0px 3px white, 0px 0px 4px white, 0px 0px 5px white, 0px 0px 6px white, 0px 0px 7px white; }
    @media screen and (max-width: 480px) {
      .architecture .a4 {
        letter-spacing: normal;
        line-height: 2.4; } }

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