@charset "UTF-8";
/********************************************************

setting

********************************************************/
:root {
  --margin-block: 200px; }

@media (min-width: 1101px) and (max-width: 1280px) {
  :root {
    --margin-block: 120px; } }
@media (min-width: 641px) and (max-width: 1100px) {
  :root {
    --margin-block: 90px; } }
@media (max-width: 640px) {
  :root {
    --margin-block: 70px; } }
/********************************************************

common

********************************************************/
article.contents {
  background: #FFF; }
  article.contents img {
    max-width: 100%;
    vertical-align: bottom; }

.page-lifestyle {
  color: #0b1d19; }

.page-lifestyle .bg_green {
  background: linear-gradient(to bottom, #e1e8e2 85%, #ffffff 100%); }

.scroll-text {
  width: 100%;
  overflow: hidden; }

.scroll-text_track {
  display: flex;
  width: max-content;
  animation: scroll-text 50s linear infinite; }

.scroll-text_group {
  display: inline-flex;
  align-items: center;
  gap: 0 20px;
  flex-shrink: 0; }

.scroll-text_item {
  flex: 0 0 auto;
  font-family: "Forum", serif;
  font-size: 60px;
  line-height: 1; }
  @media screen and (min-width: 750px) {
    .scroll-text_item {
      font-size: calc(60px + 0.0341880342 * (100vw - 750px)); } }
  @media screen and (min-width: 1920px) {
    .scroll-text_item {
      font-size: 100px; } }
  .scroll-text_item:nth-of-type(odd) {
    color: #FFF; }
  .scroll-text_item:nth-of-type(even) {
    color: #bbcabd; }

@keyframes scroll-text {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-50%); } }
/********************************************************

block_kv

********************************************************/
.block_kv::before {
  border-radius: 0; }
.block_kv .wrap_h2 {
  width: 90%;
  top: 40%; }
  @media screen and (max-width: 1170px) {
    .block_kv .wrap_h2 {
      top: 35%; } }
  .block_kv .wrap_h2 h2 {
    font-size: 20px;
    font-family: "Forum", serif;
    letter-spacing: 0.05em; }
    @media screen and (min-width: 750px) {
      .block_kv .wrap_h2 h2 {
        font-size: calc(20px + 0.0085470085 * (100vw - 750px)); } }
    @media screen and (min-width: 1920px) {
      .block_kv .wrap_h2 h2 {
        font-size: 30px; } }
    @media screen and (max-width: 1400px) {
      .block_kv .wrap_h2 h2 {
        width: 50%;
        margin: 0 auto; } }
    @media screen and (max-width: 970px) {
      .block_kv .wrap_h2 h2 {
        font-size: 1.4rem;
        width: 85%; } }
.block_kv .slider-wrapper {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden; }
  .block_kv .slider-wrapper .slider {
    animation: scroll-left 50s infinite linear .5s both;
    display: flex; }
    @media screen and (min-width: 1921px) {
      .block_kv .slider-wrapper .slider {
        width: 150%; } }
  .block_kv .slider-wrapper .slide {
    width: 100vw; }
    @media screen and (max-width: 970px) {
      .block_kv .slider-wrapper .slide {
        width: 150vw; } }
@keyframes scroll-left {
  from {
    transform: translateX(0); }
  to {
    transform: translateX(-100%); } }
/********************************************************

intro

********************************************************/
.block_intro .img_wrap {
  width: 95%;
  max-width: 1882px;
  display: flex;
  gap: 11px;
  margin: 20px auto 0; }
  .block_intro .img_wrap .img_item {
    flex: 1 1 calc((100% - 22px) / 3);
    /* 3つ並べる場合、gap2つ分(11px*2=22px)を引いた幅を3分割 */ }
.block_intro .intro_copy {
  padding: var(--margin-block) 0;
  width: 100%;
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 750px) {
    .block_intro .intro_copy {
      width: 90%;
      margin: 0 auto; } }
  .block_intro .intro_copy .vertical-group {
    display: flex;
    gap: 40px;
    flex-direction: row-reverse; }
    @media screen and (max-width: 750px) {
      .block_intro .intro_copy .vertical-group {
        display: block; } }
  .block_intro .intro_copy .main,
  .block_intro .intro_copy .sub {
    writing-mode: vertical-rl;
    text-orientation: upright; }
    @media screen and (max-width: 750px) {
      .block_intro .intro_copy .main,
      .block_intro .intro_copy .sub {
        writing-mode: horizontal-tb;
        text-orientation: initial; } }
  .block_intro .intro_copy .main {
    font-size: 18px;
    line-height: 2.0; }
    @media screen and (min-width: 750px) {
      .block_intro .intro_copy .main {
        font-size: calc(18px + 0.0085470085 * (100vw - 750px)); } }
    @media screen and (min-width: 1920px) {
      .block_intro .intro_copy .main {
        font-size: 28px; } }
    @media screen and (max-width: 750px) {
      .block_intro .intro_copy .main {
        margin-bottom: 20px; } }
  .block_intro .intro_copy .sub p {
    font-size: 14px;
    line-height: 2.4;
    margin-right: 4rem; }
    @media screen and (min-width: 750px) {
      .block_intro .intro_copy .sub p {
        font-size: calc(14px + 0.0051282051 * (100vw - 750px)); } }
    @media screen and (min-width: 1920px) {
      .block_intro .intro_copy .sub p {
        font-size: 20px; } }
    @media screen and (max-width: 750px) {
      .block_intro .intro_copy .sub p {
        margin-right: 0;
        font-size: 13px;
        line-height: 2.0; } }

/********************************************************

Recommend Plan

********************************************************/
.block_recommend-plan {
  width: min(90%, 1200px);
  margin: 0 auto;
  padding: var(--margin-block) 0; }

.block_recommend-plan .recommend-plan_title {
  text-align: center;
  margin-bottom: calc( var(--margin-block) / 2.1);
  line-height: 1.6; }
  .block_recommend-plan .recommend-plan_title .en-title {
    font-family: "Forum", serif;
    font-size: 40px;
    color: #0b4134; }
    @media screen and (min-width: 750px) {
      .block_recommend-plan .recommend-plan_title .en-title {
        font-size: calc(40px + 0.0341880342 * (100vw - 750px)); } }
    @media screen and (min-width: 1920px) {
      .block_recommend-plan .recommend-plan_title .en-title {
        font-size: 80px; } }
  .block_recommend-plan .recommend-plan_title .jp-title {
    font-size: 14px;
    margin-top: 30px; }
    @media screen and (min-width: 750px) {
      .block_recommend-plan .recommend-plan_title .jp-title {
        font-size: calc(14px + 0.0051282051 * (100vw - 750px)); } }
    @media screen and (min-width: 1920px) {
      .block_recommend-plan .recommend-plan_title .jp-title {
        font-size: 20px; } }
    @media screen and (max-width: 600px) {
      .block_recommend-plan .recommend-plan_title .jp-title {
        margin-top: 15px; } }

.block_recommend-plan .plan-tabs {
  position: sticky;
  top: 100px;
  z-index: 100;
  display: flex;
  justify-content: space-around;
  align-items: flex-end;
  padding: 10px 0;
  margin-bottom: calc( var(--margin-block) / 2.5 ); }
  @media screen and (max-width: 1200px) {
    .block_recommend-plan .plan-tabs {
      top: 50px; } }
  @media screen and (max-width: 750px) {
    .block_recommend-plan .plan-tabs {
      flex-wrap: wrap; } }

.block_recommend-plan .plan-tabs .tab-btn {
  background-repeat: no-repeat;
  background-position: center; }
  .block_recommend-plan .plan-tabs .tab-btn.tab-btn__family, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__single, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__senior, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__family.active, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__single.active, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__senior.active {
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    width: 380px; }
    @media screen and (max-width: 1400px) {
      .block_recommend-plan .plan-tabs .tab-btn.tab-btn__family, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__single, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__senior, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__family.active, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__single.active, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__senior.active {
        width: 32%; } }
    @media screen and (max-width: 750px) {
      .block_recommend-plan .plan-tabs .tab-btn.tab-btn__family, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__single, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__senior, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__family.active, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__single.active, .block_recommend-plan .plan-tabs .tab-btn.tab-btn__senior.active {
        width: 49%;
        background-size: contain; } }

.block_recommend-plan .plan-tabs .tab-btn__family {
  background: url("../lifestyle/images/btn_familiy.png");
  height: 119px; }
  @media screen and (max-width: 750px) {
    .block_recommend-plan .plan-tabs .tab-btn__family {
      height: 59px; } }
  .block_recommend-plan .plan-tabs .tab-btn__family.active {
    background: url("../lifestyle/images/btn_family_on.png");
    height: 119px; }
    @media screen and (max-width: 750px) {
      .block_recommend-plan .plan-tabs .tab-btn__family.active {
        height: 59px; } }

.block_recommend-plan .plan-tabs .tab-btn__single {
  background: url("../lifestyle/images/btn_single.png");
  height: 119px; }
  @media screen and (max-width: 750px) {
    .block_recommend-plan .plan-tabs .tab-btn__single {
      height: 59px; } }
  .block_recommend-plan .plan-tabs .tab-btn__single.active {
    background: url("../lifestyle/images/btn_single_on.png");
    height: 119px; }
    @media screen and (max-width: 750px) {
      .block_recommend-plan .plan-tabs .tab-btn__single.active {
        height: 59px; } }

.block_recommend-plan .plan-tabs .tab-btn__senior {
  background: url("../lifestyle/images/btn_senior.png");
  height: 116px; }
  @media screen and (max-width: 750px) {
    .block_recommend-plan .plan-tabs .tab-btn__senior {
      height: 59px; } }
  .block_recommend-plan .plan-tabs .tab-btn__senior.active {
    background: url("../lifestyle/images/btn_senior_on.png");
    height: 116px; }
    @media screen and (max-width: 750px) {
      .block_recommend-plan .plan-tabs .tab-btn__senior.active {
        height: 59px; } }

.block_recommend-plan .plan-contents .tab-content {
  opacity: 0;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  transition: opacity 0.6s ease, visibility 0.6s ease, height 0.6s ease; }

.block_recommend-plan .plan-contents .tab-content.active {
  opacity: 1;
  visibility: visible;
  height: auto;
  overflow: visible; }

.block_recommend-plan .plan-detail_spec {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  margin: calc( var(--margin-block) / 2) auto calc( var(--margin-block) / 3); }
  .block_recommend-plan .plan-detail_spec .plan-type {
    font-size: 20px;
    font-family: "Forum", serif;
    margin-right: 20px;
    line-height: 0.5; }
    @media screen and (min-width: 750px) {
      .block_recommend-plan .plan-detail_spec .plan-type {
        font-size: calc(20px + 0.0170940171 * (100vw - 750px)); } }
    @media screen and (min-width: 1920px) {
      .block_recommend-plan .plan-detail_spec .plan-type {
        font-size: 40px; } }
    .block_recommend-plan .plan-detail_spec .plan-type .strong {
      font-size: 125%; }
  .block_recommend-plan .plan-detail_spec .plan-ldk {
    font-family: "Forum", serif;
    font-size: 35px;
    margin-right: 50px;
    line-height: 0.5; }
    @media screen and (min-width: 750px) {
      .block_recommend-plan .plan-detail_spec .plan-ldk {
        font-size: calc(35px + 0.0299145299 * (100vw - 750px)); } }
    @media screen and (min-width: 1920px) {
      .block_recommend-plan .plan-detail_spec .plan-ldk {
        font-size: 70px; } }
    .block_recommend-plan .plan-detail_spec .plan-ldk .strong {
      font-size: 143%; }
  .block_recommend-plan .plan-detail_spec .plan-area_group {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end; }
    @media screen and (max-width: 750px) {
      .block_recommend-plan .plan-detail_spec .plan-area_group {
        width: 100%;
        margin-top: 20px; } }
  .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main {
    display: flex;
    align-items: flex-end; }
    .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .sub-text {
      font-size: 12px; }
      @media screen and (min-width: 750px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .sub-text {
          font-size: calc(12px + 0.0034188034 * (100vw - 750px)); } }
      @media screen and (min-width: 1920px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .sub-text {
          font-size: 16px; } }
    .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .strong,
    .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .middle {
      font-family: "Forum", serif;
      line-height: 0; }
      @media screen and (max-width: 750px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .strong,
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .middle {
          line-height: 0.5; } }
    .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .strong {
      font-size: 40px; }
      @media screen and (min-width: 750px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .strong {
          font-size: calc(40px + 0.0341880342 * (100vw - 750px)); } }
      @media screen and (min-width: 1920px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .strong {
          font-size: 80px; } }
    .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .middle {
      font-size: 30px; }
      @media screen and (min-width: 750px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .middle {
          font-size: calc(30px + 0.0256410256 * (100vw - 750px)); } }
      @media screen and (min-width: 1920px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .middle {
          font-size: 60px; } }
    .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .sub-text {
      font-size: 12px; }
      @media screen and (min-width: 750px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .sub-text {
          font-size: calc(12px + 0.0034188034 * (100vw - 750px)); } }
      @media screen and (min-width: 1920px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_main .main-text .sub-text {
          font-size: 16px; } }
  .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_sub {
    padding-left: 2rem;
    margin-left: 2rem;
    border-left: 1px solid #0b4134; }
    @media screen and (max-width: 750px) {
      .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_sub {
        margin-left: 0;
        width: 100%;
        margin-top: 20px; } }
    .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_sub p {
      font-size: 12px;
      line-height: 1.4; }
      @media screen and (min-width: 750px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_sub p {
          font-size: calc(12px + 0.0017094017 * (100vw - 750px)); } }
      @media screen and (min-width: 1920px) {
        .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_sub p {
          font-size: 14px; } }
      .block_recommend-plan .plan-detail_spec .plan-area_group .plan-area_sub p .strong {
        font-size: 110%; }

.block_recommend-plan .plan-detail_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .block_recommend-plan .plan-detail_wrapper .plan-detail_point {
    width: 47.5%; }
    @media screen and (max-width: 970px) {
      .block_recommend-plan .plan-detail_wrapper .plan-detail_point {
        width: 100%; } }
    .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item {
      background: #FFF;
      border-radius: 5px;
      padding: 3.5% 4.5% 4.5%;
      margin-bottom: 3%; }
      .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_title {
        display: flex;
        align-items: center;
        padding-bottom: 10px;
        margin-bottom: 10px;
        border-bottom: 1px solid #dedede; }
        .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_title .number {
          font-size: 20px;
          width: 36px;
          height: 36px;
          border-radius: 50%;
          background-color: #0b4134;
          color: #FFF;
          display: flex;
          align-items: center;
          justify-content: center;
          margin-right: 10px;
          font-family: "Forum", serif;
          align-self: flex-start;
          flex-shrink: 0; }
          @media screen and (max-width: 970px) {
            .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_title .number {
              font-size: 16px; } }
        .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_title .text {
          font-size: 16px;
          line-height: 1.4; }
          @media screen and (min-width: 750px) {
            .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_title .text {
              font-size: calc(16px + 0.0051282051 * (100vw - 750px)); } }
          @media screen and (min-width: 1920px) {
            .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_title .text {
              font-size: 22px; } }
          .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_title .text .marker {
            background: #e7e3d9; }
      .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_text {
        font-size: 13px;
        line-height: 1.4; }
        @media screen and (min-width: 750px) {
          .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_text {
            font-size: calc(13px + 0.0025641026 * (100vw - 750px)); } }
        @media screen and (min-width: 1920px) {
          .block_recommend-plan .plan-detail_wrapper .plan-detail_point .point_item .point_text {
            font-size: 16px; } }
  .block_recommend-plan .plan-detail_wrapper .plan-detail_plan {
    width: 570px; }
    @media screen and (max-width: 1400px) {
      .block_recommend-plan .plan-detail_wrapper .plan-detail_plan {
        width: 47.5%; } }
    @media screen and (max-width: 970px) {
      .block_recommend-plan .plan-detail_wrapper .plan-detail_plan {
        width: 100%; } }

.block_recommend-plan .voice {
  margin-top: calc( var(--margin-block) / 4.5); }

.block_recommend-plan .voice .voice_title {
  font-size: 16px;
  display: flex;
  align-items: center;
  text-align: center;
  color: #0b4134;
  margin-bottom: calc( var(--margin-block) / 4); }
  @media screen and (min-width: 750px) {
    .block_recommend-plan .voice .voice_title {
      font-size: calc(16px + 0.0170940171 * (100vw - 750px)); } }
  @media screen and (min-width: 1920px) {
    .block_recommend-plan .voice .voice_title {
      font-size: 36px; } }
  .block_recommend-plan .voice .voice_title::before, .block_recommend-plan .voice .voice_title::after {
    content: "";
    flex: 1;
    border-bottom: 1px solid #0b4134; }
  .block_recommend-plan .voice .voice_title::before {
    margin-right: 10px; }
  .block_recommend-plan .voice .voice_title::after {
    margin-left: 10px; }

.block_recommend-plan .voice .voice_group {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .block_recommend-plan .voice .voice_group .voice_item {
    width: 380px; }
    @media screen and (max-width: 1400px) {
      .block_recommend-plan .voice .voice_group .voice_item {
        width: 32.5%; } }
    @media screen and (max-width: 600px) {
      .block_recommend-plan .voice .voice_group .voice_item {
        width: 100%;
        margin-bottom: 20px; } }

.block_recommend-plan .btn-link {
  width: min(90%, 460px);
  margin: calc( var(--margin-block) / 2) auto 0; }

/********************************************************

近居

********************************************************/
.block_kinkyo {
  background: url("../lifestyle/images/bg_kinkyo.jpg") center top;
  padding-top: var(--margin-block);
  padding-bottom: calc( var(--margin-block) / 1.3 ); }

.block_kinkyo .kinkyo_title {
  font-size: 20px;
  text-align: center;
  line-height: 1.8;
  color: #0b4134;
  margin-bottom: calc( var(--margin-block) / 2); }
  @media screen and (min-width: 750px) {
    .block_kinkyo .kinkyo_title {
      font-size: calc(20px + 0.0170940171 * (100vw - 750px)); } }
  @media screen and (min-width: 1920px) {
    .block_kinkyo .kinkyo_title {
      font-size: 40px; } }

.block_kinkyo .kinkyo_intro {
  display: flex;
  flex-wrap: wrap;
  width: min(90%, 1200px);
  margin: 0 auto calc( var(--margin-block) / 2);
  justify-content: space-between; }
  .block_kinkyo .kinkyo_intro .intro_text {
    width: 47.5%; }
    @media screen and (max-width: 750px) {
      .block_kinkyo .kinkyo_intro .intro_text {
        width: 100%;
        margin-bottom: 20px; } }
    .block_kinkyo .kinkyo_intro .intro_text__title {
      font-size: 18px;
      line-height: 1.4;
      color: #0b4134;
      margin-bottom: calc( var(--margin-block) / 4); }
      @media screen and (min-width: 750px) {
        .block_kinkyo .kinkyo_intro .intro_text__title {
          font-size: calc(18px + 0.0153846154 * (100vw - 750px)); } }
      @media screen and (min-width: 1920px) {
        .block_kinkyo .kinkyo_intro .intro_text__title {
          font-size: 36px; } }
    .block_kinkyo .kinkyo_intro .intro_text__copy {
      font-size: 14px;
      line-height: 2.2; }
      @media screen and (min-width: 750px) {
        .block_kinkyo .kinkyo_intro .intro_text__copy {
          font-size: calc(14px + 0.0051282051 * (100vw - 750px)); } }
      @media screen and (min-width: 1920px) {
        .block_kinkyo .kinkyo_intro .intro_text__copy {
          font-size: 20px; } }
    @media screen and (max-width: 750px) {
      .block_kinkyo .kinkyo_intro .intro_text .pc {
        display: none !important; } }
  .block_kinkyo .kinkyo_intro .intro_img {
    width: min(47.5%, 570px); }
    @media screen and (max-width: 750px) {
      .block_kinkyo .kinkyo_intro .intro_img {
        width: 100%; } }
    .block_kinkyo .kinkyo_intro .intro_img .img {
      position: relative; }
      .block_kinkyo .kinkyo_intro .intro_img .img .deco-text {
        position: absolute;
        top: -50px;
        left: -30px;
        z-index: 1; }
        @media screen and (max-width: 750px) {
          .block_kinkyo .kinkyo_intro .intro_img .img .deco-text {
            width: 60%;
            left: 0;
            top: -5px; } }

.block_kinkyo .kinkyo_point-wrap {
  width: min(90%, 1200px);
  margin: 0 auto; }

.block_kinkyo .kinkyo_point {
  width: min(90%, 960px);
  background: #e7e3d9;
  border-radius: 20px;
  border: 2px solid #FFF;
  position: relative;
  padding: 5.21%;
  margin-bottom: calc( var(--margin-block) / 4 ); }
  @media screen and (max-width: 1170px) {
    .block_kinkyo .kinkyo_point {
      width: 100%;
      border-radius: 10px;
      margin-bottom: 30px; } }
  .block_kinkyo .kinkyo_point__single {
    margin-left: auto; }
    @media screen and (max-width: 1170px) {
      .block_kinkyo .kinkyo_point__single {
        margin-left: inherit; } }
  .block_kinkyo .kinkyo_point .pict {
    position: absolute;
    z-index: 1; }
    .block_kinkyo .kinkyo_point .pict_family {
      width: min(13.3%, 128px);
      top: -50px; }
      @media screen and (max-width: 600px) {
        .block_kinkyo .kinkyo_point .pict_family {
          width: 20%; } }
    .block_kinkyo .kinkyo_point .pict_single {
      width: min(6.87%, 66px);
      top: -40px; }
      @media screen and (max-width: 600px) {
        .block_kinkyo .kinkyo_point .pict_single {
          width: 10%; } }
    .block_kinkyo .kinkyo_point .pict_senior {
      width: min(13.2%, 130px);
      top: -50px; }
      @media screen and (max-width: 600px) {
        .block_kinkyo .kinkyo_point .pict_senior {
          width: 20%; } }

.block_kinkyo .kinkyo_point .text-img_group {
  display: flex;
  align-items: center;
  flex-wrap: wrap; }
  .block_kinkyo .kinkyo_point .text-img_group .text_item {
    width: 65.5%;
    margin-right: 20px; }
    @media screen and (max-width: 750px) {
      .block_kinkyo .kinkyo_point .text-img_group .text_item {
        width: 100%;
        margin-right: 0; } }
    .block_kinkyo .kinkyo_point .text-img_group .text_item__title {
      color: #0b4134;
      font-size: 20px;
      line-height: 1.7;
      margin-bottom: 15px;
      padding-bottom: 15px;
      border-bottom: 1px solid #bdb7aa; }
      @media screen and (min-width: 750px) {
        .block_kinkyo .kinkyo_point .text-img_group .text_item__title {
          font-size: calc(20px + 0.0068376068 * (100vw - 750px)); } }
      @media screen and (min-width: 1920px) {
        .block_kinkyo .kinkyo_point .text-img_group .text_item__title {
          font-size: 28px; } }
      .block_kinkyo .kinkyo_point .text-img_group .text_item__title .marker {
        color: #FFF;
        background: #456d60; }
    .block_kinkyo .kinkyo_point .text-img_group .text_item__text {
      font-size: 14px;
      line-height: 2.2; }
      @media screen and (min-width: 750px) {
        .block_kinkyo .kinkyo_point .text-img_group .text_item__text {
          font-size: calc(14px + 0.0034188034 * (100vw - 750px)); } }
      @media screen and (min-width: 1920px) {
        .block_kinkyo .kinkyo_point .text-img_group .text_item__text {
          font-size: 18px; } }
      @media screen and (max-width: 750px) {
        .block_kinkyo .kinkyo_point .text-img_group .text_item__text {
          line-height: 1.8; } }
  .block_kinkyo .kinkyo_point .text-img_group .img_item {
    width: 265px; }
    @media screen and (max-width: 750px) {
      .block_kinkyo .kinkyo_point .text-img_group .img_item {
        margin: 20px auto 0; } }

/********************************************************

CV

********************************************************/
.block_cv {
  background: #293f38;
  padding: var(--margin-block) 0;
  margin-top: -15.625%;
  text-align: center; }

.block_cv .cv_title {
  text-align: center;
  color: #FFF;
  font-size: 20px; }
  @media screen and (min-width: 750px) {
    .block_cv .cv_title {
      font-size: calc(20px + 0.0085470085 * (100vw - 750px)); } }
  @media screen and (min-width: 1920px) {
    .block_cv .cv_title {
      font-size: 30px; } }
  @media screen and (max-width: 1170px) {
    .block_cv .cv_title {
      width: 90%;
      margin: 0 auto;
      font-size: 16px; } }
  .block_cv .cv_title .strong {
    font-size: 150%;
    color: #efe1bf;
    line-height: 1.6; }
    @media screen and (max-width: 1170px) {
      .block_cv .cv_title .strong {
        font-size: 130%; } }

.block_cv .encourage {
  font-size: 13px;
  color: #FFF;
  position: relative;
  display: inline-block;
  text-align: center;
  margin: 30px auto; }
  @media screen and (min-width: 750px) {
    .block_cv .encourage {
      font-size: calc(13px + 0.0025641026 * (100vw - 750px)); } }
  @media screen and (min-width: 1920px) {
    .block_cv .encourage {
      font-size: 16px; } }
  .block_cv .encourage::after {
    content: "";
    display: block;
    width: 1px;
    height: 60px;
    background-color: #FFF;
    margin: 8px auto 0;
    animation: scrollDown 1.5s infinite; }
@keyframes scrollDown {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0; }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0; }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%; }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%; } }
.block_cv .btn-res {
  width: 58%;
  max-width: 530px;
  margin: 0 auto;
  font-size: 18px; }
  @media screen and (min-width: 400px) {
    .block_cv .btn-res {
      font-size: calc(18px + 0.0026315789 * (100vw - 400px)); } }
  @media screen and (min-width: 1920px) {
    .block_cv .btn-res {
      font-size: 22px; } }
  @media screen and (max-width: 1200px) {
    .block_cv .btn-res {
      width: 100%;
      margin-bottom: 2rem; } }
  @media screen and (max-width: 600px) {
    .block_cv .btn-res {
      font-size: 1.6rem;
      width: 90%; } }
  .block_cv .btn-res a {
    padding: clamp(2.2rem, 1.2rem + 1.58vw, 4rem);
    border-radius: 80px;
    background-position: 1% 50%;
    background-size: 200% auto;
    transition: all 0.3s ease-out;
    width: 100%; }
    .block_cv .btn-res a:hover {
      background-position: 99% 50%; }
  .block_cv .btn-res .btn-txt {
    font-size: 16px;
    line-height: 1; }
    @media screen and (min-width: 400px) {
      .block_cv .btn-res .btn-txt {
        font-size: calc(16px + 0.0059210526 * (100vw - 400px)); } }
    @media screen and (min-width: 1920px) {
      .block_cv .btn-res .btn-txt {
        font-size: 25px; } }
    @media screen and (max-width: 600px) {
      .block_cv .btn-res .btn-txt {
        font-size: 1.4rem; } }
  .block_cv .btn-res .btn-sub-txt {
    font-size: 13px;
    margin-top: 10px; }
    @media screen and (min-width: 400px) {
      .block_cv .btn-res .btn-sub-txt {
        font-size: calc(13px + 0.0019736842 * (100vw - 400px)); } }
    @media screen and (min-width: 1920px) {
      .block_cv .btn-res .btn-sub-txt {
        font-size: 16px; } }

/********************************************************

banner-area

********************************************************/
.block_banner {
  padding: var(--margin-block) 0; }

.block_banner .banner_title {
  color: #0b4134;
  text-align: center;
  line-height: 1.6;
  font-size: 20px; }
  @media screen and (min-width: 400px) {
    .block_banner .banner_title {
      font-size: calc(20px + 0.0065789474 * (100vw - 400px)); } }
  @media screen and (min-width: 1920px) {
    .block_banner .banner_title {
      font-size: 30px; } }
  @media screen and (max-width: 1170px) {
    .block_banner .banner_title {
      width: 90%;
      margin: 0 auto;
      font-size: 16px; } }
  .block_banner .banner_title p {
    font-size: 16px;
    margin-top: 20px; }
    @media screen and (min-width: 400px) {
      .block_banner .banner_title p {
        font-size: calc(16px + 0.0026315789 * (100vw - 400px)); } }
    @media screen and (min-width: 1920px) {
      .block_banner .banner_title p {
        font-size: 20px; } }
    @media screen and (max-width: 1170px) {
      .block_banner .banner_title p {
        font-size: 13px; } }

.block_banner .banner {
  width: min(90%, 1200px);
  margin: 50px auto 0; }
  .block_banner .banner img {
    filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.3)); }
