.place .sec_mv .cont_ttl {
  margin-left: 20px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .place .sec_mv .cont_ttl {
      margin-left: 15px; } }
  .place .sec_mv .cont_ttl .en {
    font-size: 12rem;
    font-family: "Albert Sans", "Noto Sans JP", sans-serif;
    font-weight: 500;
    line-height: 1; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_mv .cont_ttl .en {
        font-size: 4.8rem; } }
  .place .sec_mv .cont_ttl .jp {
    font-size: 2.4rem;
    font-weight: 500;
    width: 250px;
    height: 45px;
    background-color: #000;
    color: #fff;
    text-align: center;
    margin-left: -20px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_mv .cont_ttl .jp {
        font-size: 1.6rem;
        width: 160px;
        height: 32px; } }
.place .sec_mv .mv {
  background-color: #C0C8D3;
  height: 700px;
  width: 100%;
  position: relative;
  margin-top: -110px;
  z-index: -1; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .place .sec_mv .mv {
      flex-direction: column;
      height: auto;
      padding: 70px 0 150px;
      margin-top: -55px; } }
  .place .sec_mv .mv::before {
    content: "";
    width: 100%;
    height: 100%;
    background: url("../img/home/bg_slash.jpg") repeat-y top center/120% auto;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 9;
    mix-blend-mode: color-burn; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_mv .mv::before {
        width: 260%;
        height: 2000px;
        left: -80%;
        top: 0;
        background-size: 300% auto; } }
  .place .sec_mv .mv_panel {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%; }
    .place .sec_mv .mv_panel .p_01 {
      position: absolute;
      left: -200px;
      top: 0px;
      transition-delay: 0.3s; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_mv .mv_panel .p_01 {
          left: 0px; } }
    .place .sec_mv .mv_panel .p_02 {
      position: absolute;
      right: 0px;
      top: 0px;
      transition-delay: 0.1s; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_mv .mv_panel .p_02 {
          top: 240px; } }
    .place .sec_mv .mv_panel .p_03 {
      position: absolute;
      right: 0px;
      bottom: 75px;
      transition-delay: 0.4s; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_mv .mv_panel .p_03 {
          bottom: 30px; } }
    .place .sec_mv .mv_panel .p_04 {
      position: absolute;
      right: 150px;
      bottom: 0px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_mv .mv_panel .p_04 {
          right: 60px; } }
  .place .sec_mv .mv_img {
    display: flex;
    flex-direction: row;
    width: 1400px;
    position: absolute;
    left: calc(50vw - 700px);
    top: 75px;
    z-index: 1; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_mv .mv_img {
        width: 100%;
        flex-direction: column;
        left: 0;
        top: 100px;
        position: static; } }
    .place .sec_mv .mv_img figure {
      width: 700px;
      height: 400px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_mv .mv_img figure {
          width: calc(100% - 60px);
          height: auto; } }
      .place .sec_mv .mv_img figure:nth-child(1) {
        margin-top: 150px; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          .place .sec_mv .mv_img figure:nth-child(1) {
            margin-top: 0;
            margin-left: 60px; } }
    .place .sec_mv .mv_img h1 {
      width: calc(50vw - 240px);
      height: 75px;
      display: flex;
      align-items: center;
      padding: 0 0.5em 0.1em 1em;
      color: #fff;
      font-size: 4rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      position: absolute;
      left: 50%;
      bottom: 0;
      z-index: 100;
      white-space: nowrap; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_mv .mv_img h1 {
          width: calc(100% - 100px);
          height: 60px;
          font-size: 2.4rem;
          left: 60px;
          bottom: 90px;
          padding: 0 0.8em 0.1em 1.2em; } }
      .place .sec_mv .mv_img h1::before {
        content: "";
        width: calc(100% + 20px);
        height: 100%;
        background-color: #E60012;
        transform: skewX(-30deg);
        position: absolute;
        left: 0px;
        top: 0;
        z-index: -1; }
    .place .sec_mv .mv_img .p_05 {
      position: absolute;
      left: 0px;
      bottom: 0px;
      transition-delay: 0.2s; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_mv .mv_img .p_05 {
          left: 30px;
          bottom: 90px; } }
    .place .sec_mv .mv_img .p_06 {
      position: absolute;
      left: -75px;
      bottom: -75px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_mv .mv_img .p_06 {
          left: 0px;
          bottom: 60px; } }
  .place .sec_mv .mv_txt {
    padding: 30px 60px;
    width: calc(50vw - 50px); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_mv .mv_txt {
        width: 100%;
        padding: 15px;
        margin-top: -90px; } }
.place .sec_ttl {
  position: relative;
  display: inline-block;
  height: 54px;
  z-index: 1;
  font-size: 12rem;
  font-weight: 500;
  font-family: "Albert Sans", "Noto Sans JP", sans-serif;
  line-height: 1;
  margin-bottom: 1em; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .place .sec_ttl {
      font-size: 13.5vw; } }
  .place .sec_ttl span {
    color: #000; }
  .place .sec_ttl::before {
    content: "";
    display: block;
    background-color: #000;
    opacity: 0.1;
    width: 0;
    height: 20px;
    position: absolute;
    left: calc(-50vw + 500px);
    top: 0.7em;
    z-index: -1;
    transition: 1s; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_ttl::before {
        left: -15px; } }
  .place .sec_ttl.active::before {
    width: calc(50vw - 480px + 100%); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_ttl.active::before {
        width: 100%; } }
.place .sec_box {
  display: flex; }
  .place .sec_box__txt {
    width: 540px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_box__txt {
        width: 100%; } }
    .place .sec_box__txt .traffic {
      display: flex;
      width: 100%;
      align-items: center;
      gap: 15px;
      margin: 0.8em 0; }
      .place .sec_box__txt .traffic figure {
        width: 50px; }
      .place .sec_box__txt .traffic p {
        flex: 1;
        line-height: 1.6; }
  .place .sec_box__img {
    position: relative;
    flex: 1; }
    .place .sec_box__img figure {
      width: calc(50vw - 100px);
      position: absolute;
      left: 100px;
      top: 0; }
      .place .sec_box__img figure img {
        display: block;
        margin-bottom: 10px; }
.place .sec_1 {
  padding: 5em 0 5em; }
  .place .sec_1 .sec_ttl {
    color: #3FB97B; }
    .place .sec_1 .sec_ttl::before {
      background-color: #3FB97B; }
  .place .sec_1 .sec_box__img {
    height: calc((50vw - 100px)/3*2); }
  .place .sec_1 .box_topics {
    background-color: #3FB97B;
    padding: 40px;
    margin-top: 4em; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_1 .box_topics {
        padding: 30px 20px 20px; } }
    .place .sec_1 .box_topics h3 {
      display: flex;
      gap: 2px;
      margin-left: -28px;
      margin-top: -10px;
      transform: skewX(-30deg); }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_1 .box_topics h3 {
          margin-left: -18px;
          margin-top: 0; } }
      .place .sec_1 .box_topics h3 span {
        font-size: 2.4rem;
        width: 32px;
        height: 32px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: #fff;
        color: #3FB97B;
        font-family: "Albert Sans", "Noto Sans JP", sans-serif; }
    .place .sec_1 .box_topics h4 {
      color: #fff;
      margin: 1em 0 0.6em; }
    .place .sec_1 .box_topics p {
      color: #fff; }
.place .sec_2 {
  background-color: rgba(73, 97, 136, 0.1);
  padding: 5em 0 5em; }
  .place .sec_2 .sec_ttl {
    color: #496188; }
    .place .sec_2 .sec_ttl::before {
      background-color: #496188; }
  .place .sec_2 .sec_box__img {
    height: calc((50vw - 100px)/3*4 - 140px); }
    .place .sec_2 .sec_box__img figure {
      top: -150px; }
.place .sec_3 {
  padding: 5em 0 5em; }
  .place .sec_3 .sec_ttl {
    color: #967597; }
    .place .sec_3 .sec_ttl::before {
      background-color: #967597; }
  .place .sec_3 .box_life {
    display: flex;
    gap: 40px 15px;
    width: 100%;
    margin-top: 3em;
    flex-wrap: wrap; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_3 .box_life {
        gap: 20px 0px; } }
    .place .sec_3 .box_life__img {
      width: calc((100% - 30px)/3); }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_3 .box_life__img {
          width: calc(100%/2);
          line-height: 1.5;
          padding: 0 0.5em; } }
      .place .sec_3 .box_life__img p {
        text-align: center;
        margin-top: 0.4em; }
        @media only screen and (max-width: 768px), print and (min-width: 2cm) {
          .place .sec_3 .box_life__img p {
            font-size: 1.2rem; } }
.place .sec_4 {
  background-color: #f6f6f6;
  padding: 7em 0 6.5em; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    .place .sec_4 {
      padding: 6em 0 4.5em; } }
  .place .sec_4 .box_comment {
    padding: 60px 35px 40px;
    border: solid 1px #000;
    position: relative;
    width: 760px;
    margin: 0 auto;
    background-color: #fff; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      .place .sec_4 .box_comment {
        width: 100%;
        padding: 40px 20px 25px; } }
    .place .sec_4 .box_comment h2 {
      width: 330px;
      height: 50px;
      padding-bottom: 0.1em;
      color: #fff;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 2.4rem;
      font-weight: 500;
      letter-spacing: 0.1em;
      position: absolute;
      left: 50%;
      top: -25px;
      transform: translateX(-50%); }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        .place .sec_4 .box_comment h2 {
          font-size: 1.8rem;
          width: 240px;
          height: 40px;
          top: -20px; } }
      .place .sec_4 .box_comment h2::before {
        content: "";
        width: calc(100% + 20px);
        height: 100%;
        background-color: #E60012;
        transform: skewX(-30deg);
        position: absolute;
        left: -10px;
        top: 0;
        z-index: -1; }

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