@charset "UTF-8";
@media screen and (max-width: 750px) {
  html, body {
    -webkit-font-feature-settings: "pwid", "palt";
    font-feature-settings: "pwid", "palt"; }

  .pc {
    display: none !important; }

  .inner {
    box-sizing: border-box;
    width: 94.8%;
    margin: 0 auto; }

  #container.lock {
    position: fixed; }

  /*----------------------------------------------------------------
    Layout
    ------------------------------------------------------------------*/
  .columnLayout.col03 {
    display: block;
    text-align: center; }

  .columnLayout.col03 .columnItem {
    margin-left: auto;
    margin-right: auto;
    width: 76%;
    margin-bottom: 10px; }

  .columnLayout.col04 .columnItem {
    width: 48.6%; }

  /*----------------------------------------------------------------
    Modules
    ------------------------------------------------------------------*/
  /*---------------ボタン系モジュール----------------*/
  .btnGeneral {
    border-radius: 3px;
    font-size: 14px;
    letter-spacing: 1.6px;
    width: 76%;
    margin-top: 40px;
    padding-top: 18px;
    padding-bottom: 18px; }

  .btnContact {
    height: 50px;
    margin-bottom: 8px; }

  .btnContact:last-of-type {
    margin-bottom: 0; }

  .btnContact:after, .btnContact:before {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }

  .btnContact:before {
    left: 24px; }

  .btnContact:after {
    width: 8px;
    height: 8px;
    margin-left: 0;
    right: 22px;
    -webkit-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg); }

  .btnContact.event::before {
    width: 18px;
    height: 23px;
    margin-right: 0; }

  .btnContact.docs::before {
    background-image: url(../img/icon/icon_note2_sp.png);
    width: 17px;
    height: 24px;
    margin-right: 20px; }

  .btnContact .txt {
    font-size: 14px;
    letter-spacing: 0.8px; }

  .btnContact .txtSmall {
    font-size: 13px;
    letter-spacing: 0;
    padding-top: 4px; }

  .btnContactWrapper {
    width: 100%;
    display: block; }

  /*--------------------------------------------リスト系のモジュール------------------------*/
  .menuList .mainItem {
    border-top: 1px solid #bfbfbf; }

  .menuList .mainItem > a {
    padding: 0 !important; }

  .menuList .parent {
    padding-top: 18px;
    padding-bottom: 17px;
    position: relative;
    border-bottom: 1px solid #c1c1c1;
    font-weight: bold; }

  .menuList .parent.direct {
    padding: 0 !important; }

  .menuList .parent:before, .menuList .parent:after {
    content: "";
    display: block;
    width: 13px;
    height: 2px;
    background-color: #959595;
    position: absolute;
    top: 50%;
    right: 0; }

  .menuList .parent.voice:before, .menuList .parent.voice:after {
    content: none; }

  .menuList .parent:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s; }

  .menuList .parent.open:after {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg); }

  .menuList .parent.direct:before {
    content: none; }

  .menuList .parent.direct:after {
    width: 8px;
    height: 8px;
    border-top: 2px solid #cfbd39;
    border-right: 2px solid #cfbd39;
    background-color: transparent;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -5px;
    right: 3px; }

  .menuList .children {
    display: none;
    padding-left: 5%;
    border-bottom: 1px solid #c1c1c1; }

  .menuList .children li {
    border-top: 1px solid #c1c1c1;
    position: relative; }

  .menuList .children li.children {
    margin-top: 0;
    display: block;
    border-bottom: none; }

  .menuList .children li:after {
    content: "";
    display: block;
    position: absolute;
    width: 8px;
    height: 8px;
    border-top: 2px solid #cfbd39;
    border-right: 2px solid #cfbd39;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -5px;
    top: 50%;
    right: 3px; }

  .menuList .children .childParent {
    padding-top: 0;
    padding-bottom: 0; }

  .menuList .children .childParent:after {
    content: none; }

  .menuList .children .childParent p {
    padding-top: 17px;
    padding-bottom: 17px; }

  .menuList .grandchildren {
    padding-left: 30px; }

  /*----------------------------------------------------
    HEADER
    -----------------------------------------------------*/
  #header {
    position: relative; }

  .headerTopbar {
    background-color: #fff;
    padding-top: 5px;
    padding-bottom: 4px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999; }

  .headerTopbar .logoArea {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }

  .headerTopbar .logo img {
    width: 192px;
    height: auto; }

  .headerTopbar > .inner {
    display: block; }

  .headerBtnMenu {
    width: 50px;
    height: 50px;
    background-color: #ffe500;
    position: fixed;
    top: 28px;
    right: 0;
    z-index: 999; }

  .headerBtnMenu span, .headerBtnMenu:before, .headerBtnMenu:after {
    display: block;
    width: 15px;
    height: 2px;
    background-color: #000;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto; }

  .headerBtnMenu span {
    top: 0;
    bottom: 0; }

  .headerBtnMenu:before, .headerBtnMenu:after {
    content: "";
    transition: -webkit-transform .3s;
    transition: transform .3s;
    transition: transform .3s, -webkit-transform .3s; }

  .headerBtnMenu:before {
    top: 18px; }

  .headerBtnMenu:after {
    bottom: 18px; }

  .headerBtnMenu.active span {
    display: none; }

  .headerBtnMenu.active:before {
    -webkit-transform: translateY(6px) rotate(-45deg);
    transform: translateY(6px) rotate(-45deg); }

  .headerBtnMenu.active:after {
    -webkit-transform: translateY(-6px) rotate(45deg);
    transform: translateY(-6px) rotate(45deg); }

  .headerTopNav {
    display: none; }

  .spHeaderMenu {
    display: none;
    position: fixed;
    top: 28px;
    left: 0;
    right: 0;
    z-index: 101;
    background-color: #333;
    color: #fff;
    height: 100vh;
    overflow-y: scroll !important;
    -webkit-overflow-scrolling: touch; }

  .spHeaderMenu .inner {
    padding-top: 18px;
    padding-bottom: 130px; }

  .spHeaderMenu .logo {
    display: block;
    text-align: center;
    margin-bottom: 16px; }

  .spHeaderMenu .menuList {
    border-bottom: 1px solid #bfbfbf; }

  .spHeaderMenu .menuList a {
    color: #fff !important;
    padding: 17px 0;
    display: block; }

  .spHeaderMenu .menuList .parent {
    padding-left: 52px;
    border-bottom: none;
    background-repeat: no-repeat;
    background-color: transparent;
    background-position: center left;
    background-size: 33px 33px; }

  .spHeaderMenu .menuList .parent.reason {
    background-image: url(../img/icon/icon_home_s_sp.png); }

  .spHeaderMenu .menuList .parent.case {
    background-image: url(../img/icon/icon_pen_s_sp.png); }

  .spHeaderMenu .menuList .parent.flow {
    background-image: url(../img/icon/icon_note_s_sp.png); }

  .spHeaderMenu .menuList .parent.cost {
    background-image: url(../img/icon/icon_money_s_sp.png); }

  .spHeaderMenu .menuList .parent.solution {
    background-image: url(../img/icon/icon_book_s_sp.png); }

  .spHeaderMenu .menuList .parent.voice {
    background-image: url(../img/icon/icon_person_s_sp.png); }

  .spHeaderMenu .menuList .parent.renovation {
    padding-left: 0; }

  .spHeaderMenu .menuList .children {
    border-bottom: none;
    padding-left: 52px; }

  .spHeaderMenu .menuList .children li {
    border-top-color: rgba(191, 191, 191, 0.3); }

  .spHeaderMenu .btnContactWrapper {
    background-color: #525252;
    padding: 15px 20px;
    margin-top: 32px; }

  .spHeaderMenu .btnContact {
    width: 100%; }

  .spSubMenu {
    padding-top: 25px; }

  .spSubMenu li {
    position: relative;
    padding-left: 24px;
    padding-top: 10px;
    padding-bottom: 10px; }

  .spSubMenu li:before {
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #cfbd39;
    border-right: 2px solid #cfbd39;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -7px; }

  .spSubMenu a {
    color: #fff !important; }

  .spMenuClose {
    width: 53.5%;
    border: 1px solid #fff;
    border-radius: 6px;
    margin: 20px auto 0;
    padding: 9px 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 30px;
    font-size: 19px; }

  .spMenuClose:before {
    font-weight: bold;
    content: "×";
    font-size: 30px;
    line-height: 30px;
    margin-top: -2px;
    margin-right: 8px; }

  /*--------------------------------------------------------------------
    page topボタン
    -------------------------------------------------------------------*/
  #PageTop {
    width: 36px;
    height: 36px;
    bottom: 80px;
    right: 20px; }

  #PageTop span {
    width: 10px;
    height: 10px;
    -webkit-transform: translateY(2px) rotate(-45deg);
    transform: translateY(2px) rotate(-45deg); }

  /*-----------------------------------------------------
    FOOTER SP
    --------------------------------------------------------*/
  .footerContact {
    padding-top: 0;
    padding-bottom: 0; }

  .footerContact .inner {
    display: block;
    width: 100%; }

  .footerContact .footerContactList {
    padding: 11px 2.6%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-bottom: 1px solid rgba(249, 248, 243, 0.2);
    background-color: #333; }

  .footerContact .footerContactList.fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100; }

  .footerContact .footerContactList li {
    width: 48.7%; }

  .footerContact .footerContactList li img {
    max-width: 100%;
    height: auto; }

  .footerContact .footerContactList .plaintxt {
    font-size: 11px;
    padding-top: 6px;
    line-height: 1.4;
    letter-spacing: 0; }

  .footerContact .btnContact {
    height: auto; }

  .footerContact .btnContact:before, .footerContact .btnContact:after {
    content: none; }

  .footerContact .btnContactWrapper {
    width: 100%;
    display: block; }

  .footerContact .contactDetail {
    padding-top: 20px;
    padding-bottom: 9px;
    text-align: center; }

  .footerContact .contactDetail .txt {
    font-size: 13px; }

  .footerContact .contactDetail .telnumber {
    margin: 10px 0; }

  .footerSitemapArea {
    padding-top: 0;
    padding-bottom: 20px; }

  .footerSitemapArea section {
    padding-top: 26px; }

  .footerSitemapArea .sitemapTitle {
    font-size: 14px;
    margin-bottom: 0;
    border-left-width: 3px;
    padding-top: 8px;
    padding-bottom: 8px; }

  .footerSitemapArea .sitemapRow {
    display: block; }

  .footerSitemapArea .sitemapCol {
    width: 100%;
    padding-right: 0; }

  .footerSitemapArea .sitemapParent {
    margin-bottom: 0; }

  .footerSitemapArea .sitemapParent a:before {
    top: 18px; }

  .footerSitemapArea .sitemapChild {
    padding-bottom: 0;
    margin-bottom: 0; }

  .footerSitemapArea .sitemapChild li {
    padding: 0; }

  .footerSitemapArea .sitemapChild li:first-of-type {
    border-top: none; }

  .footerSitemapArea .sitemapChild li a {
    padding: 15px 0;
    display: block; }

  .footerLinkArea {
    padding-top: 32px;
    padding-bottom: 35px; }

  .footerLinkArea .ttl {
    margin-bottom: 16px; }

  .footerLinkArea .columnLayout {
    display: block; }

  .footerRelatedSites {
    width: 100%;
    padding-bottom: 20px; }

  .footerRelatedSites li {
    font-size: 12px;
    margin: 3px 8px 3px 0; }

  .footerRelatedSites a {
    padding-right: 8px; }

  .footerBnrArea {
    width: 100%; }

  .footerBnrArea a {
    display: block; }

  .footerBnrArea a img {
    width: 100%;
    height: auto; }

  .footerBnrArea a:first-of-type {
    margin-bottom: 10px; }

  .footerBottom {
    text-align: center;
    padding: 23px 0; }

  .footerBottom .inner {
    position: relative;
    display: block; }

  .footerBottom ul {
    display: block;
    margin-top: 24px;
    width: 80%;
    margin-left: auto;
    margin-right: auto; }

  .footerBottom li {
    display: inline-block;
    position: relative;
    padding-top: 0.4em;
    padding-bottom: 0.4em;
    padding-left: 16px;
    margin-left: 16px; }

  .footerBottom li:before {
    content: "|";
    border: none; }

  .footerBottom li:first-of-type, .footerBottom li:nth-of-type(3) {
    margin-left: 0;
    padding-left: 0; }

  .footerBottom li:first-of-type:before, .footerBottom li:nth-of-type(3):before {
    content: none; }

  .footerBottom .copyright {
    display: block;
    position: static;
    -webkit-transform: scale(0.7);
    transform: scale(0.7);
    margin-top: 20px; }

  /* ナビ
  ------------------------------------------- */
  nav {
    display: none; }

  /* 下層ページ
  ------------------------------------------- */
  .sub {
    padding-top: 28px; }
    .sub .mainContent {
      padding: 30px 0 60px;
      background: #fff; }
      .sub .mainContent p, .sub .mainContent li, .sub .mainContent dt, .sub .mainContent dd, .sub .mainContent th, .sub .mainContent td {
        line-height: 1.6; }
      .sub .mainContent img {
        width: 100%;
        height: auto; }

  /* 見出し
  ------------------------------------------- */
  .sub h1 {
    background-size: cover;
    background-position: center;
    font-size: 25px;
    color: #fff;
    font-weight: normal; }
    .sub h1 span {
      display: table-cell;
      height: 210px;
      text-align: center;
      vertical-align: middle;
      width: 1000px;
      padding-bottom: 42px;
      line-height: 1.3; }
      .sub h1 span b {
        text-shadow: 0 0 7px #888; }
        .sub h1 span b span.style01 {
          width: 90px;
          font-size: 14px;
          background: #ffe100;
          text-shadow: 0 0 0;
          color: #000;
          border-radius: 50px;
          padding: 2px 0 1px;
          margin-bottom: 15px;
          display: block;
          height: auto;
          margin: 0 auto 7px; }

  .sub.strength h1 {
    background-image: url(../../strength/img/bg_mv_sp.jpg); }

  .sub.flow h1 {
    background-image: url(../../flow/img/bg_mv_sp.jpg); }

  .sub.cost h1 {
    background-image: url(../../cost/img/bg_mv_sp.jpg); }

  .sub.solution h1 {
    background-image: url(../../solution/img/bg_mv_sp.jpg); }

  .sub .ttl01 {
    font-size: 25px;
    font-weight: normal;
    line-height: 1.3;
    margin-bottom: 35px;
    position: relative;
    text-align: center; }
    .sub .ttl01 span {
      font-size: 18px;
      display: block; }
    .sub .ttl01:after {
      content: "";
      width: 50px;
      height: 2px;
      background: #ffe100;
      position: absolute;
      left: 50%;
      bottom: -16px;
      margin-left: -25px; }

  .sub .ttl02 {
    font-size: 18px;
    background: url(../img/icon/icon_circle01.png) left 7px no-repeat;
    background-size: 10px;
    padding-left: 17px;
    margin-bottom: 22px;
    line-height: 1.4; }
    .sub .ttl02 span {
      display: block;
      font-weight: normal;
      font-size: 16px; }

  .sub .ttl03 {
    font-size: 17px;
    text-align: center;
    margin: 0 0 25px;
    position: relative; }
    .sub .ttl03:after {
      content: "";
      background-size: 100%;
      position: absolute;
      width: 60px;
      height: 60px;
      left: 50%;
      top: -76px;
      margin-left: -30px; }

  .sub .ttlList {
    font-size: 20px;
    padding: 10px 0 10px 55px;
    margin-bottom: 10px;
    line-height: 1.2;
    position: relative; }
    .sub .ttlList:before {
      content: "";
      width: 40px;
      height: 40px;
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      background-repeat: no-repeat;
      background-position: left center;
      background-size: 40px; }
    .sub .ttlList.ttlList01:before {
      background-image: url(../img/icon/icon_1.png); }
    .sub .ttlList.ttlList02:before {
      background-image: url(../img/icon/icon_2.png); }
    .sub .ttlList.ttlList03:before {
      background-image: url(../img/icon/icon_3.png); }
    .sub .ttlList.ttlList04:before {
      background-image: url(../img/icon/icon_4.png); }

  .sub .ttlList.ttlList02-01, .sub .ttlList.ttlList02-02, .sub .ttlList.ttlList02-03, .sub .ttlList.ttlList02-04 {
    padding: 3px 0 3px 35px; }

  .sub .ttlList.ttlList02-01:before, .sub .ttlList.ttlList02-02:before, .sub .ttlList.ttlList02-03:before, .sub .ttlList.ttlList02-04:before {
    width: 26px;
    height: 26px;
    background-size: 26px; }

  .sub .ttlList.ttlList02-01:before {
    background-image: url(../img/icon/icon2_1_sp.png); }

  .sub .ttlList.ttlList02-02:before {
    background-image: url(../img/icon/icon2_2_sp.png); }

  .sub .ttlList.ttlList02-03:before {
    background-image: url(../img/icon/icon2_3_sp.png); }

  .sub .ttlList.ttlList02-04:before {
    background-image: url(../img/icon/icon2_4_sp.png); }

  /* パンクズ
  ------------------------------------------- */
  #breadCrumb {
    background: rgba(0, 0, 0, 0.7);
    margin-top: -50px;
    height: 50px;
    position: relative; }
    #breadCrumb ul {
      padding: 0 10px;
      width: 100%;
      overflow: hidden;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      #breadCrumb ul li {
        display: inline;
        color: #fff;
        font-size: 12px;
        background: url(/kodate2/common_re/img/icon/icon_crumb.png) left center no-repeat;
        padding: 0 5px 0 12px;
        vertical-align: middle; }
        #breadCrumb ul li:first-child {
          padding-left: 0;
          background: none; }
        #breadCrumb ul li a {
          color: #fff;
          text-decoration: underline; }

  /* leader
  ------------------------------------------- */
  .sub .leader {
    padding: 80px 0 35px;
    position: relative;
    font-size: 15px; }
    .sub .leader:after {
      content: "";
      position: absolute;
      width: 60px;
      height: 60px;
      top: 0;
      left: 50%;
      margin-left: -30px;
      background-size: 100%; }

  /* anchor
  ------------------------------------------- */
  .anchor {
    text-align: center;
    background: #fff;
    padding: 0 0 25px; }
    .anchor ul li {
      display: inline-block;
      margin: 0 0.5% 10px;
      width: 47.5%;
      line-height: 1.3 !important; }
      .anchor ul li a {
        width: 100%;
        min-height: 60px;
        padding: 12px 0;
        margin: 0;
        font-size: 15px; }
        .anchor ul li a:after {
          -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
          top: initial;
          left: 50%;
          bottom: 13px; }

  /* リスト表示
  ------------------------------------------- */
  .categorylist > div {
    padding: 45px 0 50px; }
    .categorylist > div h3 {
      font-size: 17px;
      text-align: center;
      margin: 0 0 25px;
      position: relative; }
      .categorylist > div h3:after {
        content: "";
        background: url(../common_re/img/icon/icon_money_sp.png);
        background-size: 100%;
        width: 66px;
        height: 66px;
        position: absolute;
        left: 50%;
        top: -80px;
        margin-left: -33px; }
    .categorylist > div ul li {
      float: left;
      width: 48.5%; }
      .categorylist > div ul li img {
        width: 100%; }
      .categorylist > div ul li:nth-child(even) {
        float: right; }
      .categorylist > div ul li:nth-child(n+3) {
        margin-top: 3%; }
      .categorylist > div ul li a {
        display: block;
        position: relative;
        color: #fff;
        font-size: 13px;
        font-weight: bold; }
        .categorylist > div ul li a figure figcaption {
          position: absolute;
          bottom: 0;
          height: 55px;
          background: rgba(0, 0, 0, 0.5);
          width: 100%;
          text-align: center;
          line-height: 1.3; }
          .categorylist > div ul li a figure figcaption span {
            height: 55px;
            width: 295px;
            display: table-cell;
            vertical-align: middle; }
            .categorylist > div ul li a figure figcaption span:after {
              content: "";
              display: block;
              width: 6px;
              height: 6px;
              border-top: 1px solid #fff;
              border-right: 1px solid #fff;
              -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
              position: absolute;
              top: 50%;
              right: 12px;
              margin-top: -4px; }
            .categorylist > div ul li a figure figcaption span b {
              display: block;
              font-size: 14px;
              margin-bottom: 4px; } }
@media screen and (max-width: 320px) {
  .categorylist > div ul li a {
    font-size: 11px; } }
/* ----------------------------------------------------------------

既存ページ SP

---------------------------------------------------------------- */
@media screen and (max-width: 750px) {
  .default {
    background-color: #fff; }
    .default #breadCrumb {
      background: none;
      font-size: 12px;
      height: auto;
      margin: 0;
      padding: 12px 65px 0 10px; }
      .default #breadCrumb li {
        display: inline;
        background: url(../img/icon/icon_crumb.png) left center no-repeat;
        padding: 0 5px 0 12px;
        line-height: 1.5; }
        .default #breadCrumb li:first-child {
          background: none;
          padding-left: 0; }
        .default #breadCrumb li a {
          text-decoration: underline; }
    .default.urban #breadCrumb {
      padding-bottom: 18px;
      padding-top: 14px; }
    .default #area-container {
      font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
      font-size: 14px;
      line-height: 1.4; }
      .default #area-container .h1, .default #area-container h1 {
        color: #333; }
      .default #area-container .headline {
        color: #333; }
      .default #area-container .parts-bt a {
        color: #fff; }
    .default #Contact .inner,
    .default .BnrArea .inner {
      width: auto; }
    .default .pika-imgnav .next {
      right: -43px; }
    .default .pika-imgnav .previous {
      left: -43px; } }
