@charset "UTF-8";
/*******　特別区とは　*******/
.about {
  width: 100%;
  overflow-x: hidden; }
  .about .keyvisual {
    width: 100vw;
    aspect-ratio: 390 / 400;
    background-image: url("../../about/img/about_kv_sp.jpg");
    background-position: top center;
    background-size: 100% auto;
    background-repeat: no-repeat; }
    @media only screen and (min-width: 769px) {
      .about .keyvisual {
        width: 100%;
        aspect-ratio: 1920 / 998;
        background-image: url("../../about/img/about_kv_pc.jpg"); } }
  .about .keyvisual-inner {
    width: 100vw;
    padding-top: calc(115 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .about .keyvisual-inner {
        width: 100%;
        padding-top: calc(375 / 1920 * 100vw); } }
  .about .keyvisual-inner-logo {
    width: calc(330 / 390 * 100vw);
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .about .keyvisual-inner-logo {
        width: calc(858 / 1920 * 100vw); } }
  .about .keyvisual-inner-lead {
    width: calc(370 / 390 * 100vw);
    margin: calc(35 / 390 * 100vw) auto 0;
    font-size: calc(14 / 390 * 100vw);
    font-weight: 600;
    line-height: 1.7;
    text-align: center; }
    @media only screen and (min-width: 769px) {
      .about .keyvisual-inner-lead {
        width: calc(858 / 1920 * 100vw);
        margin: calc(95 / 1920 * 100vw) auto 0;
        font-size: calc(35 / 1920 * 100vw);
        line-height: 1.65; } }
  .about .outline {
    width: 100%;
    position: relative;
    padding: calc(47 / 390 * 100vw) 0 calc(80 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .about .outline {
        margin: calc(0 / 1080 * 100vw) auto 0;
        padding: calc(125 / 1080 * 100vw) 0 calc(188 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .about .outline {
        margin: 0px auto 0;
        padding: 125px 0 188px; } }
    @media only screen and (min-width: 1981px) {
      .about .outline {
        margin: 0px auto 0; } }
  .about .page-title {
    position: absolute;
    background: #FFF;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    width: calc(340 / 390 * 100vw);
    height: calc(62 / 390 * 100vw);
    margin: auto;
    top: calc(-60 / 390 * 100vw);
    left: 0;
    right: 0; }
    @media only screen and (min-width: 769px) {
      .about .page-title {
        width: calc(960 / 1080 * 100vw);
        height: calc(110 / 1080 * 100vw);
        top: calc(-60 /1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .about .page-title {
        width: 960px;
        height: 110px;
        top: -60px; } }
  .about .outline-inner {
    width: calc(300 / 390 * 100vw);
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .about .outline-inner {
        width: calc(730 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .about .outline-inner {
        width: 730px; } }
  .about .outline-inner-text {
    margin: 0 auto 0; }
    @media only screen and (min-width: 769px) {
      .about .outline-inner-text {
        margin: 0 auto 0; } }
    @media only screen and (min-width: 1080px) {
      .about .outline-inner-text {
        margin: 0 auto 0; } }
  .about .block01 {
    width: 100vw;
    background-color: #fcf0f3;
    margin: calc(0 / 390 * 100vw) auto 0; }
    @media only screen and (min-width: 769px) {
      .about .block01 {
        width: 100%;
        margin: calc(0 / 1080 * 100vw) auto 0; } }
    @media only screen and (min-width: 1080px) {
      .about .block01 {
        margin: 0px auto 0; } }
  .about .block01-inner {
    position: relative;
    padding: calc(65 / 390 * 100vw) 0 calc(35 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .about .block01-inner {
        width: 100%;
        padding: calc(145 / 1080 * 100vw) 0 calc(123 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .about .block01-inner {
        padding: 145px 0 123px; } }
  .about .block01-inner-fig01 {
    position: absolute;
    top: calc(-35 / 390 * 100vw);
    left: 50%;
    transform: translateX(-50%);
    width: calc(355 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .about .block01-inner-fig01 {
        top: calc(-72 / 1080 * 100vw);
        width: calc(680 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .about .block01-inner-fig01 {
        top: -72px;
        width: 680px; } }
  .about .block01-inner-table {
    width: calc(355 / 390 * 100vw);
    margin: 0 auto; }
    @media only screen and (min-width: 769px) {
      .about .block01-inner-table {
        width: calc(960 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .about .block01-inner-table {
        width: 960px; } }
  .about .block02 {
    width: 100vw;
    margin: 0 auto 0;
    padding: calc(105 / 390 * 100vw) 0 calc(105 / 390 * 100vw); }
    @media only screen and (min-width: 769px) {
      .about .block02 {
        width: 100%;
        margin: 0 auto 0;
        padding: calc(75 / 1080 * 100vw) 0 calc(75 / 1080 * 100vw); } }
    @media only screen and (min-width: 1080px) {
      .about .block02 {
        margin: 0 auto 0;
        padding: 75px 0 75px; } }
    .about .block02 .block02-inner {
      width: 100vw; }
      @media only screen and (min-width: 769px) {
        .about .block02 .block02-inner {
          width: 100%; } }
      @media only screen and (min-width: 1080px) {
        .about .block02 .block02-inner {
          width: 100%; } }
    .about .block02 .stage_wrap {
      margin: 0 auto; }
      @media only screen and (min-width: 769px) {
        .about .block02 .stage_wrap {
          display: flex;
          justify-content: space-between;
          width: calc(846 / 1080 * 100vw); } }
      @media only screen and (min-width: 1080px) {
        .about .block02 .stage_wrap {
          width: 846px; } }
      .about .block02 .stage_wrap .stage_ill {
        width: calc(246 / 390 * 100vw);
        margin: calc(30 / 390 * 100vw) auto 0; }
        @media only screen and (min-width: 769px) {
          .about .block02 .stage_wrap .stage_ill {
            width: calc(246 / 1080 * 100vw);
            margin: 0; } }
        @media only screen and (min-width: 1080px) {
          .about .block02 .stage_wrap .stage_ill {
            width: 246px;
            margin: 0; } }
      .about .block02 .stage_wrap .stage_text {
        width: 100%;
        margin: calc(30 / 390 * 100vw) auto 0; }
        @media only screen and (min-width: 769px) {
          .about .block02 .stage_wrap .stage_text {
            width: calc(540 / 1080 * 100vw);
            margin: 0; } }
        @media only screen and (min-width: 1080px) {
          .about .block02 .stage_wrap .stage_text {
            width: 540px;
            margin: 0; } }
        @media only screen and (min-width: 769px) {
          .about .block02 .stage_wrap .stage_text .block-title {
            width: 100%;
            margin: calc(65 / 1080 * 100vw) auto 0 0;
            text-align: left; } }
        @media only screen and (min-width: 1080px) {
          .about .block02 .stage_wrap .stage_text .block-title {
            margin: 65px auto 0 0; } }
    .about .block02 .block02-inner-text {
      width: calc(340 / 390 * 100vw);
      margin: calc(30 / 390 * 100vw) auto 0; }
      @media only screen and (min-width: 769px) {
        .about .block02 .block02-inner-text {
          width: calc(550 / 1080 * 100vw);
          margin: calc(60 / 1080 * 100vw) auto 0 0; } }
      @media only screen and (min-width: 1080px) {
        .about .block02 .block02-inner-text {
          width: 550px;
          margin: 60px auto 0 0; } }
    .about .block02 .block02-inner-btn {
      margin: calc(57 / 390 * 100vw) auto 0; }
      @media only screen and (min-width: 769px) {
        .about .block02 .block02-inner-btn {
          margin: calc(50 / 1080 * 100vw) auto 0 0; } }
      @media only screen and (min-width: 1080px) {
        .about .block02 .block02-inner-btn {
          margin: 50px auto 0 0; } }
