/* FACILITIES
*****************************************************************/
/* mixin
********************************************************************/
/* color */
/* media query */
#contents {
  background-image: url("../images/bg_hanabishi.svg");
  background-position: center 20px;
  background-size: 105% auto;
  background-repeat: no-repeat;
  position: relative; }
  @media all and (max-width: 899px) {
    #contents {
      background-position: center 0px;
      background-size: 130% auto; } }

.area_map {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px; }
  .area_map img {
    width: 100%;
    height: auto; }

.area_three {
  padding: 0 20px; }
  .area_three .block_three {
    padding: 80px 0 0;
    max-width: 1200px;
    margin: 0 auto; }
    @media all and (max-width: 899px) {
      .area_three .block_three {
        padding: 40px 0 0; } }
    .area_three .block_three ul {
      margin: 0 -20px;
      display: flex;
      flex-wrap: wrap; }
      @media all and (max-width: 899px) {
        .area_three .block_three ul {
          margin: 0 -5px; } }
      .area_three .block_three ul li {
        padding: 20px;
        box-sizing: border-box;
        width: 33.3333%; }
        @media all and (max-width: 899px) {
          .area_three .block_three ul li {
            padding: 10px 5px;
            width: 50%; } }
        @media all and (max-width: 480px) {
          .area_three .block_three ul li {
            width: 100%; } }
        .area_three .block_three ul li .box_img {
          line-height: 0em; }
          .area_three .block_three ul li .box_img img {
            width: 100%;
            height: auto; }
        .area_three .block_three ul li .box_txt h3 {
          text-align: center;
          font-size: 2.2rem;
          line-height: 1.1em;
          padding: 10px 0;
          border-bottom: #666 dotted 1px; }
          .area_three .block_three ul li .box_txt h3 span {
            font-size: 0.7em;
            padding: 0 16px 0 0; }
        .area_three .block_three ul li .box_txt p {
          font-size: 1.4rem;
          line-height: 1.8em;
          padding: 10px 0; }
        .area_three .block_three ul li .box_txt .btn_link {
          width: 200px;
          margin: 0 auto; }

.area_single {
  padding: 0 20px 80px;
  border-bottom: #666 dotted 1px; }
  @media all and (max-width: 899px) {
    .area_single {
      padding: 0 20px 40px; } }
  .area_single .block_single {
    max-width: 1200px;
    margin: 0 auto; }
    .area_single .block_single ul {
      padding: 30px 0 50px; }
      .area_single .block_single ul li {
        padding: 20px 0; }
        .area_single .block_single ul li.bg01 {
          background-image: url("../../common/images/fluid04.svg");
          background-position: right 50px;
          background-repeat: no-repeat;
          background-size: 53% auto; }
        .area_single .block_single ul li .box_fac {
          display: flex;
          flex-wrap: wrap;
          margin: 0 -20px; }
          @media all and (max-width: 899px) {
            .area_single .block_single ul li .box_fac {
              margin: 0 -5px; } }
          .area_single .block_single ul li .box_fac .side_img_large {
            width: 50%;
            padding: 20px;
            box-sizing: border-box;
            line-height: 0em; }
            @media all and (max-width: 899px) {
              .area_single .block_single ul li .box_fac .side_img_large {
                padding: 10px 5px; } }
            @media all and (max-width: 480px) {
              .area_single .block_single ul li .box_fac .side_img_large {
                width: 100%; } }
            .area_single .block_single ul li .box_fac .side_img_large img {
              width: 100%;
              height: auto; }
          .area_single .block_single ul li .box_fac .side_txt {
            width: 50%;
            padding: 20px;
            box-sizing: border-box; }
            @media all and (max-width: 899px) {
              .area_single .block_single ul li .box_fac .side_txt {
                padding: 0px 5px 10px; } }
            @media all and (max-width: 480px) {
              .area_single .block_single ul li .box_fac .side_txt {
                width: 100%; } }
            .area_single .block_single ul li .box_fac .side_txt h3 {
              font-size: 3rem;
              line-height: 1.2em;
              padding: 0 0 10px;
              border-bottom: #666 dotted 1px;
              display: flex; }
              @media all and (max-width: 480px) {
                .area_single .block_single ul li .box_fac .side_txt h3 {
                  display: block; } }
              .area_single .block_single ul li .box_fac .side_txt h3 span {
                font-size: 0.8em; }
              .area_single .block_single ul li .box_fac .side_txt h3 p {
                font-size: 3rem;
                line-height: 1.2em; }
                .area_single .block_single ul li .box_fac .side_txt h3 p span {
                  font-size: 0.8em; }
            .area_single .block_single ul li .box_fac .side_txt h4 {
              font-size: 2rem;
              line-height: 1.5em;
              padding: 12px 0 0; }
            .area_single .block_single ul li .box_fac .side_txt p {
              font-size: 1.4rem;
              line-height: 1.8em;
              padding: 12px 0 0; }
        .area_single .block_single ul li .box_sub {
          margin: 0 -20px;
          display: flex;
          flex-wrap: wrap; }
          @media all and (max-width: 899px) {
            .area_single .block_single ul li .box_sub {
              margin: 0 -5px; } }
          .area_single .block_single ul li .box_sub > div {
            padding: 20px;
            box-sizing: border-box;
            width: 33.3333%;
            line-height: 0em; }
            @media all and (max-width: 899px) {
              .area_single .block_single ul li .box_sub > div {
                padding: 10px 5px; } }
            @media all and (max-width: 480px) {
              .area_single .block_single ul li .box_sub > div {
                width: 100%; } }
            .area_single .block_single ul li .box_sub > div img {
              width: 100%;
              height: auto; }
        .area_single .block_single ul li:nth-child(even) .box_fac {
          flex-direction: row-reverse; }
  .area_single .block_about {
    border-top: #666 dotted 1px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 70px 0; }
    @media all and (max-width: 899px) {
      .area_single .block_about {
        padding: 30px 0; } }
    .area_single .block_about h2 {
      font-size: 3rem;
      line-height: 1.1em;
      text-align: center; }
    .area_single .block_about .box_about {
      padding: 20px 0 0;
      margin: 0 -20px;
      display: flex;
      flex-wrap: wrap; }
      @media all and (max-width: 899px) {
        .area_single .block_about .box_about {
          padding: 0px 0 0; } }
      .area_single .block_about .box_about .side_about {
        padding: 20px;
        box-sizing: border-box;
        width: 50%; }
        @media all and (max-width: 899px) {
          .area_single .block_about .box_about .side_about {
            width: 100%; } }
        .area_single .block_about .box_about .side_about dl {
          display: flex;
          font-size: 1.4rem;
          line-height: 2em;
          padding: 10px 0; }
          .area_single .block_about .box_about .side_about dl dt {
            width: 5em; }
          .area_single .block_about .box_about .side_about dl dd {
            width: calc(100% - 5em); }
