@charset "UTF-8";
body {
  position: relative; }

a {
  text-decoration: none;
  transform: 0.5;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }

a {
  opacity: 1; }

a:hover {
  opacity: 0.8; }

a,
p,
span,
li,
dt, dd,
th, td {
  font-family: source-han-sans-japanese, sans-serif;
  color: #000;
  font-weight: 400;
  letter-spacing: 0.2em; }

h1, h2, h3, h4, h5 {
  font-family: source-han-sans-japanese, sans-serif;
  color: #000;
  font-weight: 400; }

.flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.tbbr,
.pcbr,
.pc,
.start_pc {
  display: none; }

.sp_header {
  width: 100%;
  height: 80px;
  position: fixed;
  top: 0;
  z-index: 999; }

.header_flex {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding: 0; }
  .header_flex a.logo {
    display: block;
    width: auto;
    width: 40%;
    max-width: 385px;
    height: auto;
    object-fit: contain;
    margin: 10px 0 0 3%; }
    .header_flex a.logo img {
      width: 100%;
      height: auto;
      object-fit: contain; }

.drawer {
  flex-direction: row; }

/*ここからナビゲーション*/
.navbar_toggle {
  z-index: 9999;
  padding: 13px 8px;
  background: #68C3C5;
  width: 46px;
  height: 46px; }

.navbar_toggle_icon {
  position: relative;
  display: block;
  height: 3px;
  width: 25px;
  background: #FFF;
  -webkit-transition: ease .5s;
  transition: ease .5s; }

.navbar_toggle_icon:nth-child(1) {
  top: 0;
  margin-left: auto;
  margin-right: auto; }

.navbar_toggle_icon:nth-child(2) {
  margin: 5px auto; }

.navbar_toggle_icon:nth-child(3) {
  top: 0;
  margin-left: auto;
  margin-right: auto; }

/*OPEN時の動き*/
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
  top: 7px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg); }

.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  opacity: 0; }

.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
  top: -9px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/*メニュー中身*/
.sp_menu.open, .dwr_main_menu:checked + .dwr_sub_menu {
  position: fixed;
  overflow-y: scroll;
  overflow-x: hidden;
  overflow-scrolling: touch;
  height: 100%;
  width: 100%;
  top: 0; }

.sp_menu {
  padding: 0 0 100px 0;
  display: block;
  background: #FFF;
  -webkit-transform: translateX(-150%);
  transform: translateX(-150%);
  -webkit-transition: ease .9s;
  transition: ease .9s;
  z-index: 1000; }
  .sp_menu ul {
    width: 90%;
    margin: 20px auto; }
    .sp_menu ul li {
      width: 100%;
      padding: 20px 0;
      text-align: center;
      border-bottom: 1px dashed #000;
      margin: 0 auto;
      text-align: left; }
      .sp_menu ul li a,
      .sp_menu ul li label {
        display: block;
        width: 100%;
        font-size: clamp(20px, 1.1vw, 22px);
        color: #68C3C5;
        font-family: futura-pt, sans-serif;
        padding: 0;
        font-weight: 600;
        line-height: 1em; }
        .sp_menu ul li a span,
        .sp_menu ul li label span {
          display: block;
          color: #6B6B6B;
          font-size: clamp(14px, 0.9vw, 18px); }

.sp_menu.open {
  display: block;
  -webkit-transform: translateX(0);
  transform: translateX(0); }

.dwr_main_menu:checked + .dwr_main-btn + .dwr_sub_menu {
  height: auto;
  opacity: 1;
  padding: 10px 0;
  visibility: visible; }

.dwr_box input {
  display: none; }

.container {
  overflow: hidden; }

.container {
  overflow: hidden; }

/*
.wrap{
    width: 95%;
    max-width: 1000px;
    margin: 0 auto;
    text-align: center;
    position: relative;
    z-index: 999;
}
*/
/*ここからスライドショー(背景)*/
.main_img {
  display: none; }

.main_img_sp {
  width: 100%;
  aspect-ratio: 25 / 24;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: top; }

/*********************************
ここから全ページ共通
*********************************/
p.txt_l {
  font-size: clamp(14px, 0.9vw, 18px);
  text-align: left; }

p.txt_c {
  font-size: clamp(14px, 0.9vw, 18px);
  text-align: center; }

p.txt_r {
  font-size: clamp(14px, 0.9vw, 18px);
  text-align: right; }

div.flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap; }

footer div.contact {
  width: 100%;
  background-image: url("../../img/contact_bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 30px 0; }
  footer div.contact div.flex {
    width: 90%;
    max-width: 717px;
    margin: 0 auto;
    flex-flow: column;
    grid-row-gap: 20px;
    text-align: center; }
    footer div.contact div.flex div.right p {
      font-size: clamp(14px, 0.9vw, 18px);
      font-weight: 500;
      color: #FFFFFF; }
    footer div.contact div.flex div.right a {
      font-family: futura-pt, sans-serif;
      font-weight: 700;
      font-size: clamp(23px, 1.45vw, 28px);
      color: #FFFFFF; }
    footer div.contact div.flex a.contact {
      display: block;
      width: 70%;
      text-align: center;
      padding: 10px 0;
      background: #FFFFFF;
      color: #68C3C5;
      font-family: futura-pt, sans-serif;
      font-size: clamp(16px, 1.1vw, 20px);
      font-weight: 500; }

footer ul.f_menu {
  width: 90%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  justify-content: flex-start; }
  footer ul.f_menu li {
    text-align: left; }
    footer ul.f_menu li a {
      font-size: clamp(16px, 1.1vw, 20px);
      color: #FFFFFF;
      text-decoration: none; }
footer p.copy {
  width: 100%;
  padding: 10px 0;
  text-align: center;
  background: #58B0B2;
  color: #FFFFFF;
  font-family: futura-pt, sans-serif;
  font-size: clamp(10px, 0.72vw, 14px);
  text-align: center; }

div.info {
  width: 100%;
  padding: 50px 0;
  text-align: center;
  background: #68C3C5; }
  div.info a.logo {
    display: block;
    width: 80%;
    margin: 0 auto 13px auto; }
  div.info p.txt_c {
    text-align: center;
    font-size: clamp(14px, 0.83vw, 16px);
    color: #FFFFFF;
    margin-bottom: 50px; }

a.totop {
  display: block;
  width: 60px;
  position: fixed;
  bottom: 10px;
  right: 2%; }
  a.totop img {
    object-fit: contain; }

/*********************************
ここからTOP
*********************************/
div.start {
  background: #FFFFFF;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 9000; }

div.start_img {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 8000;
  background: url("../../img/start_sp.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; }

div.top_cts {
  width: 100%; }
  div.top_cts h2 {
    font-family: futura-pt, sans-serif;
    font-size: clamp(27px, 1.56vw, 30px);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #6B6B6B;
    text-align: center;
    margin-bottom: 50px; }
    div.top_cts h2 span {
      display: block;
      font-size: clamp(16px, 0.9vw, 18px);
      font-weight: 500;
      color: #68C3C5; }

div.top_philosophy {
  width: 100%;
  padding: 70px 0;
  text-align: center; }
  div.top_philosophy p.txt_c {
    width: 90%;
    max-width: 840px;
    margin: 0 auto;
    letter-spacing: 0;
    text-align: left; }

div.top_service {
  width: 100%;
  background: #F3F3F3;
  padding: 70px 0; }
  div.top_service div.flex {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    grid-row-gap: 40px; }

div.top_service div.each {
  display: block;
  width: 100%; }
  div.top_service div.each img {
    width: 100%;
    height: auto;
    object-fit: contain; }
  div.top_service div.each div {
    width: 100%;
    background: #FFFFFF;
    padding: 25px 4%; }
    div.top_service div.each div span {
      font-family: futura-pt, sans-serif;
      font-weight: 400;
      font-size: clamp(14px, 0.83vw, 16px);
      letter-spacing: 0.1em;
      color: #6B6B6B;
      margin-bottom: 5px; }
    div.top_service div.each div h3 {
      font-size: clamp(20px, 1.1vw, 22px);
      font-weight: 700;
      margin-bottom: 10px; }
    div.top_service div.each div p.txt_l {
      font-size: clamp(14px, 0.83vw, 16px);
      margin-bottom: 20px; }
    div.top_service div.each div a.viewmore {
      display: inline-block;
      padding: 10px 10%;
      border-radius: 40px;
      color: #FFFFFF;
      font-family: futura-pt, sans-serif;
      font-size: clamp(14px, 0.83vw, 16px);
      letter-spacing: 0.1em; }
  div.top_service div.each:nth-child(1) h3 {
    color: #68C3C5; }
  div.top_service div.each:nth-child(1) a.viewmore {
    background: #68C3C5; }
  div.top_service div.each:nth-child(2) h3 {
    color: #E19859; }
  div.top_service div.each:nth-child(2) a.viewmore {
    background: #E19859; }
  div.top_service div.each:nth-child(3) h3 {
    color: #FEB6DC; }
  div.top_service div.each:nth-child(3) a.viewmore {
    background: #FEB6DC; }
  div.top_service div.each:nth-child(4) h3 {
    color: #9B9EC7; }
  div.top_service div.each:nth-child(4) a.viewmore {
    background: #9B9EC7; }

div.top_news {
  width: 100%;
  padding: 70px 0; }
  div.top_news div.flex {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    flex-flow: column;
    grid-row-gap: 20px; }
    div.top_news div.flex div {
      width: 100%;
      text-align: center; }
      div.top_news div.flex div h2 {
        margin-bottom: 0; }
    div.top_news div.flex ul {
      width: 100%; }
      div.top_news div.flex ul li {
        border-bottom: 1px dashed #6B6B6B;
        padding: 20px 0;
        display: flex;
        flex-flow: column;
        text-align: left; }
        div.top_news div.flex ul li p {
          font-family: futura-pt, sans-serif;
          color: #6B6B6B;
          font-size: clamp(14px, 0.83vw, 16px);
          letter-spacing: 0.1em; }
        div.top_news div.flex ul li a {
          color: #68C3C5;
          font-size: clamp(14px, 0.83vw, 16px);
          font-weight: 500; }

div.top_company {
  width: 100%;
  padding: 70px 0;
  background: #F3F3F3; }
  div.top_company div.companyflex {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    flex-flow: column;
    grid-row-gap: 20px; }
    div.top_company div.companyflex iframe {
      width: 100%;
      height: 200px;
      order: 2; }
    div.top_company div.companyflex div.whtbox {
      width: 100%;
      background: #FFFFFF;
      padding: 40px 3%;
      order: 1; }
      div.top_company div.companyflex div.whtbox span {
        display: inline-block;
        padding: 10px 5%;
        border-radius: 40px;
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 700;
        color: #FFFFFF;
        margin-bottom: 16px;
        letter-spacing: 0.1em; }
      div.top_company div.companyflex div.whtbox span.blu {
        background: #68C3C5; }
      div.top_company div.companyflex div.whtbox span.org {
        background: #E19859; }
      div.top_company div.companyflex div.whtbox p.txt_l {
        font-size: clamp(14px, 0.83vw, 16px);
        color: #6B6B6B;
        line-height: 2em; }
      div.top_company div.companyflex div.whtbox p.margin {
        margin: 70px 0 10px 0; }

/************************
下層共通
************************/
div.pagetitle {
  width: 90%;
  position: relative;
  margin: 70px auto 0 auto; }
  div.pagetitle img {
    width: 100%;
    height: auto;
    object-fit: contain; }
  div.pagetitle h1 {
    display: inline-block;
    padding: 10px 5%;
    background: #FFFFFF;
    font-family: futura-pt, sans-serif;
    font-size: clamp(20px, 1.25vw, 24px);
    font-weight: 600;
    letter-spacing: 0.2em;
    white-space: nowrap;
    color: #68C3C5;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }

div.page_cts {
  width: 100%;
  padding: 70px 0; }
  div.page_cts div.inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto; }
  div.page_cts h2 {
    font-family: futura-pt, sans-serif;
    font-size: clamp(27px, 1.56vw, 30px);
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #6B6B6B;
    text-align: center;
    margin-bottom: 50px; }
    div.page_cts h2 span {
      display: block;
      font-size: clamp(16px, 0.9vw, 18px);
      font-weight: 500;
      color: #68C3C5; }

div.pagenavi {
  width: 100%;
  display: block;
  text-align: center; }
  div.pagenavi .wp-pagenavi {
    width: 100%;
    margin: 20px 0; }
  div.pagenavi .wp-pagenavi a {
    /* フォント色 */
    background: #FFFFFF;
    color: #68C3C5;
    border: 1px solid #68C3C5; }
  div.pagenavi .pages {
    /* 左の表記 */
    margin-right: 20px; }
  div.pagenavi .wp-pagenavi .current,
  div.pagenavi .wp-pagenavi a.page {
    /* ボタン */
    margin: 0 6px 6px 0;
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    border-radius: 5px; }
  div.pagenavi .wp-pagenavi .current {
    /* カレント数字 */
    background: #68C3C5;
    color: #FFFFFF;
    border: 1px solid #68C3C5; }
  div.pagenavi .wp-pagenavi a.page:hover {
    /* マウスオーバー */
    background: #68C3C5;
    color: #FFFFFF; }
  div.pagenavi .wp-pagenavi .first,
  div.pagenavi .wp-pagenavi .extend {
    /* ... */
    margin-right: 10px; }
  div.pagenavi .wp-pagenavi .previouspostslink,
  div.pagenavi .wp-pagenavi .nextpostslink {
    /* 記号の削除 */
    margin: 0 6px 6px 0;
    display: inline-block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    border-radius: 5px; }

/************************
ソーシャルニード
************************/
div.social_service {
  width: 100%;
  margin-bottom: 100px; }
  div.social_service div.flex {
    align-items: inherit;
    flex-flow: column;
    grid-row-gap: 30px; }
    div.social_service div.flex div {
      width: 100%;
      border-radius: 20px;
      box-shadow: 0px 3px 6px #00000029;
      display: flex;
      flex-flow: column; }
      div.social_service div.flex div img {
        width: 100%;
        height: auto;
        object-fit: contain;
        border-radius: 20px 20px 0 0; }
      div.social_service div.flex div h3 {
        width: 100%;
        padding: 12px 0;
        color: #FFFFFF;
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 700;
        text-align: center; }
      div.social_service div.flex div:nth-child(1) h3 {
        background: #E19859; }
      div.social_service div.flex div:nth-child(2) h3 {
        background: #FEB6DC; }
      div.social_service div.flex div:nth-child(3) h3 {
        background: #68C3C5; }
      div.social_service div.flex div p.txt_l {
        background: #FFFFFF;
        padding: 20px 5%;
        font-size: clamp(14px, 0.83vw, 16px);
        border-radius: 0 0 20px 20px;
        flex-grow: 1; }

div.social_flow {
  width: 100%;
  margin-bottom: 100px; }
  div.social_flow div.flex {
    flex-flow: column;
    align-items: inherit;
    grid-row-gap: 30px; }
    div.social_flow div.flex::after {
      content: '';
      display: block;
      width: 32%;
      height: 0; }
    div.social_flow div.flex div {
      width: 100%;
      display: flex;
      flex-flow: column; }
      div.social_flow div.flex div h3 {
        position: relative;
        padding: 12px 0;
        text-align: center;
        background: #9B9EC7;
        border-radius: 20px;
        color: #FFFFFF;
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 700; }
        div.social_flow div.flex div h3::after {
          position: absolute;
          bottom: -10px;
          left: 50%;
          transform: translateX(-50%);
          -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
          width: 0;
          height: 0;
          content: '';
          border-width: 10px 10px 0 10px;
          border-style: solid;
          border-color: #9B9EC7 transparent transparent transparent; }
      div.social_flow div.flex div div.shadow {
        width: 100%;
        border-radius: 20px;
        box-shadow: 0px 3px 6px #00000029;
        margin-top: 20px;
        flex-grow: 1; }
      div.social_flow div.flex div img {
        width: 100%;
        object-fit: contain;
        border-radius: 20px 20px 0 0; }
      div.social_flow div.flex div div.whtbox {
        width: 100%;
        background: #FFFFFF;
        padding: 20px 5%;
        border-radius: 0 0 20px 20px; }
        div.social_flow div.flex div div.whtbox h4 {
          text-align: center;
          font-size: clamp(20px, 1.25vw, 24px);
          font-weight: 700;
          color: #68C3C5;
          margin-bottom: 10px; }
        div.social_flow div.flex div div.whtbox p.txt_l {
          font-size: clamp(14px, 0.83vw, 16px); }

div.social_works {
  width: 100%; }
  div.social_works div.flex {
    align-items: inherit;
    grid-row-gap: 30px; }
    div.social_works div.flex div {
      width: 100%; }
      div.social_works div.flex div div.layer {
        width: 100%;
        position: relative; }
      div.social_works div.flex div img {
        display: block;
        width: 100%;
        border-radius: 20px;
        aspect-ratio: 385 / 251;
        object-fit: cover; }
      div.social_works div.flex div h3 {
        width: 76%;
        background: #68C3C5;
        border-radius: 80px;
        padding: 10px 0;
        color: #FFFFFF;
        font-size: clamp(14px, 0.83vw, 16px);
        font-weight: 700;
        text-align: center;
        position: absolute;
        bottom: -20px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%); }
      div.social_works div.flex div p {
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 700;
        color: #6B6B6B;
        text-align: center;
        margin-top: 25px; }

/************************
介護事業
************************/
div.care_facilities {
  width: 100%;
  margin-bottom: 100px; }
  div.care_facilities table {
    width: 100%; }
    div.care_facilities table tr {
      border-bottom: 1px dashed #6B6B6B; }
    div.care_facilities table th, div.care_facilities table td {
      display: block;
      width: 100%;
      vertical-align: middle; }
    div.care_facilities table th {
      text-align: center;
      font-size: clamp(16px, 1.1vw, 20px);
      font-weight: 700;
      background: #FFE9F5;
      padding: 10px 0; }
    div.care_facilities table td {
      padding: 15px 3%;
      font-size: clamp(14px, 0.9vw, 18px);
      font-weight: 500; }

div.care_service, div.Slider {
  width: 100%;
  margin-bottom: 100px; }
  div.care_service div.flex, div.Slider div.flex {
    grid-row-gap: 20px; }
    div.care_service div.flex div, div.Slider div.flex div {
      width: 100%; }
      div.care_service div.flex div h3, div.Slider div.flex div h3 {
        width: 100%;
        border-radius: 20px 20px 0 0;
        padding: 12px 0;
        text-align: center;
        color: #FFFFFF;
        font-weight: 700;
        font-size: clamp(16px, 1.1vw, 22px); }
      div.care_service div.flex div:nth-child(1) h3, div.care_service div.flex div:nth-child(4) h3, div.Slider div.flex div:nth-child(1) h3, div.Slider div.flex div:nth-child(4) h3 {
        background: #D97398; }
      div.care_service div.flex div:nth-child(2) h3, div.Slider div.flex div:nth-child(2) h3 {
        background: #FEB6DC; }
      div.care_service div.flex div:nth-child(3) h3, div.Slider div.flex div:nth-child(3) h3 {
        background: #D98FAA; }
      div.care_service div.flex div img, div.Slider div.flex div img {
        width: 100%;
        height: auto;
        object-fit: contain;
        border-radius: 0 0 20px 20px; }

div.care_area {
  margin-bottom: 100px; }
  div.care_area div.flex {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    grid-row-gap: 20px; }
    div.care_area div.flex::after {
      content: '';
      display: block;
      width: 32%;
      height: 0; }
    div.care_area div.flex p {
      width: 48%;
      background: #FFFFFF;
      padding: 10px 0;
      text-align: center;
      border: 2px solid #D97398;
      border-radius: 80px;
      font-size: clamp(16px, 1.1vw, 20px); }

div.care_contact {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  background: #EEB9CC;
  padding: 30px 5%;
  text-align: center;
  border-radius: 10px;
  box-shadow: 0px 10px 0px #D97398; }
  div.care_contact p {
    font-size: clamp(16px, 1.1vw, 20px);
    color: #FFFFFF;
    font-weight: 700;
    margin-bottom: 20px;
    letter-spacing: 0; }
  div.care_contact a {
    display: flex;
    justify-content: center;
    grid-column-gap: 3%;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    background: #FFFFFF;
    padding: 15px 0;
    text-align: center;
    color: #D97398;
    font-family: futura-pt, sans-serif;
    font-size: clamp(20px, 1.1vw, 22px);
    font-weight: 700;
    border-radius: 10px;
    box-shadow: inset 0px 3px 6px #00000029; }
    div.care_contact a img {
      display: block;
      width: 25px; }

/************************
建設事業
************************/
div.construction {
  width: 90%;
  max-width: 839px;
  margin: 0 auto 70px auto; }
  div.construction p.txt_c {
    font-size: clamp(16px, 1.1vw, 20px);
    letter-spacing: 0;
    text-align: left; }

div.renovate {
  width: 100%;
  margin-bottom: 100px; }
  div.renovate img {
    display: block;
    width: 100%;
    margin-bottom: 20px; }
  div.renovate p.txt_c {
    width: 100%;
    text-align: left; }

div.construction_service {
  width: 100%;
  margin-bottom: 100px; }
  div.construction_service div.flex {
    grid-row-gap: 20px; }
    div.construction_service div.flex div {
      width: 100%; }
      div.construction_service div.flex div img {
        width: 100%;
        border-radius: 20px 20px 0 0; }
      div.construction_service div.flex div h3 {
        width: 100%;
        background: #68C57E;
        padding: 12px 0;
        text-align: center;
        border-radius: 0 0 20px 20px;
        color: #FFFFFF;
        font-size: clamp(16px, 1.1vw, 22px);
        font-weight: 700; }

div.construction_works {
  width: 100%;
  margin-bottom: 100px; }
  div.construction_works div.flex {
    align-items: inherit;
    grid-row-gap: 30px; }
    div.construction_works div.flex div {
      width: 100%; }
      div.construction_works div.flex div div.layer {
        width: 100%;
        position: relative; }
      div.construction_works div.flex div img {
        width: 100%;
        border-radius: 20px; }
      div.construction_works div.flex div h3 {
        width: 76%;
        background: #68C3C5;
        border-radius: 80px;
        padding: 10px 0;
        color: #FFFFFF;
        font-size: clamp(14px, 0.83vw, 16px);
        font-weight: 700;
        text-align: center;
        position: absolute;
        bottom: -20px;
        left: 50%;
        transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%); }
      div.construction_works div.flex div p {
        font-size: clamp(16px, 1.1vw, 20px);
        font-weight: 700;
        color: #6B6B6B;
        text-align: center;
        margin-top: 25px; }

div.construction_contace {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  background: #AEB0C6;
  padding: 30px 5%;
  text-align: center;
  border-radius: 10px;
  box-shadow: 0px 10px 0px #9B9EC7; }
  div.construction_contace p {
    font-size: clamp(16px, 1.1vw, 20px);
    color: #FFFFFF;
    font-weight: 700;
    margin-bottom: 20px; }
  div.construction_contace a {
    display: flex;
    justify-content: center;
    grid-column-gap: 3%;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    background: #FFFFFF;
    padding: 15px 0;
    text-align: center;
    color: #9B9EC7;
    font-family: futura-pt, sans-serif;
    font-size: clamp(20px, 1.1vw, 22px);
    font-weight: 700;
    border-radius: 10px;
    box-shadow: inset 0px 3px 6px #00000029; }
    div.construction_contace a img {
      display: block;
      width: 25px; }

/************************
会社概要
************************/
div.company_social,
div.company_pitin {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto 100px auto; }
  div.company_social table,
  div.company_pitin table {
    width: 100%;
    margin-bottom: 30px; }
    div.company_social table tr,
    div.company_pitin table tr {
      border-bottom: 1px dashed #707070; }
    div.company_social table th, div.company_social table td,
    div.company_pitin table th,
    div.company_pitin table td {
      vertical-align: middle;
      text-align: left;
      display: block;
      width: 100%; }
    div.company_social table th,
    div.company_pitin table th {
      font-size: clamp(16px, 1.1vw, 20px);
      font-weight: 700;
      color: #68C3C5;
      padding: 10px 0 5px 0; }
    div.company_social table td,
    div.company_pitin table td {
      padding: 5px 0 10px 0;
      font-size: clamp(14px, 0.9vw, 18px);
      color: #6B6B6B; }
  div.company_social iframe,
  div.company_pitin iframe {
    width: 100%;
    height: 300px; }
  div.company_social a.orgbtn,
  div.company_pitin a.orgbtn {
    display: block;
    width: 230px;
    background: #E19859;
    padding: 10px 0;
    text-align: center;
    border-radius: 80px;
    color: #FFFFFF;
    font-family: futura-pt, sans-serif;
    font-size: clamp(14px, 0.83vw, 16px);
    margin: 30px auto 0 auto; }

div.company_pitin {
  margin-bottom: 0; }

/************************
お問い合わせ
************************/
.co_form {
  width: 100%;
  max-width: 1000px;
  margin: 0px auto 50px auto;
  border-collapse: collapse; }

.co_form dl {
  width: 100%;
  display: flex;
  flex-flow: column;
  text-align: left;
  border-bottom: 1px dashed #707070; }

.co_form dt {
  width: 100%;
  position: relative;
  margin-bottom: 0px;
  padding: 20px 2% 5px 2%;
  display: flex;
  align-items: center; }

.co_form label {
  font-size: clamp(16px, 1.1vw, 20px);
  font-family: source-han-sans-japanese, sans-serif;
  font-weight: 400;
  color: #6B6B6B; }

.co_form dt > label > span {
  display: inline-block;
  background: #68C3C5;
  padding: 5px 3%;
  font-size: clamp(14px, 0.83vw, 16px);
  color: #FFF;
  border-radius: 5px;
  position: absolute;
  bottom: 5px;
  right: 2%;
  font-weight: 700; }

.co_form dd {
  width: 100%;
  padding: 5px 2% 20px 2%; }

input[type="text"], [type="tel"], [type="email"] {
  width: 100%;
  font-size: clamp(16px, 1.1vw, 20px);
  padding: 15px 3%;
  color: #000;
  background: #DBE9E9; }

input[name="zipcode"] {
  width: 70%; }

dd.contact_select {
  position: relative; }
  dd.contact_select::before {
    font-family: "Font Awesome 5 Free";
    content: '\f078';
    font-weight: 600;
    font-size: clamp(16px, 1.1vw, 20px);
    color: #6B6B6B;
    display: block;
    position: absolute;
    top: 50%;
    right: 7%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%); }
  dd.contact_select div.contact_select_p {
    margin: 0; }
  dd.contact_select .contact_select_ber {
    width: 100%;
    background: #DBE9E9;
    padding: 15px 3%;
    font-family: source-han-sans-japanese, sans-serif;
    font-size: clamp(14px, 0.83vw, 16px);
    color: #6B6B6B; }
    dd.contact_select .contact_select_ber option {
      font-size: clamp(14px, 0.83vw, 16px);
      font-family: source-han-sans-japanese, sans-serif;
      color: #6B6B6B; }

form p.txt_c {
  color: #4E4E4E;
  font-size: clamp(14px, 0.9vw, 18px); }

div.submit {
  width: 100%;
  display: flex;
  justify-content: space-between;
  margin-top: 30px; }

.sent {
  width: 48%;
  display: block;
  background: #68C3C5;
  border: 2px solid #68C3C5;
  padding: 10px 0px;
  border-radius: 10px;
  font-size: clamp(16px, 1.1vw, 20px);
  text-align: center;
  color: #FFFFFF;
  ffont-family: source-han-sans-japanese, sans-serif;
  -webkit-transition: .3s ease-in-out;
  transition: .2s ease-in-out; }
  .sent:hover {
    background: #FFFFFF;
    color: #68C3C5; }

.reset {
  width: 48%;
  display: block;
  background: #FFFFFF;
  border: 2px solid #68C3C5;
  color: #68C3C5;
  padding: 10px 0px;
  border-radius: 10px;
  font-size: clamp(16px, 1.1vw, 20px);
  text-align: center;
  ffont-family: source-han-sans-japanese, sans-serif;
  -webkit-transition: .3s ease-in-out;
  transition: .2s ease-in-out; }
  .reset:hover {
    background: #68C3C5;
    color: #FFFFFF; }

div.complete {
  width: 100%;
  text-align: center; }
  div.complete h2 {
    font-size: clamp(40px, 2.6vw, 50px);
    color: #68C3C5;
    margin-bottom: 30px; }
  div.complete p.txt_c {
    font-size: clamp(14px, 0.9vw, 18px);
    margin-bottom: 30px; }
  div.complete a.back {
    display: block;
    width: 170px;
    background: #68C3C5;
    border-radius: 80px;
    text-align: center;
    padding: 10px 0;
    color: #FFFFFF;
    font-family: futura-pt, sans-serif;
    font-size: clamp(14px, 0.83vw, 16px);
    margin: 0 auto; }

/************************
お知らせ
************************/
ul.news {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto; }
  ul.news li {
    border-bottom: 1px dashed #6B6B6B;
    padding: 20px 0;
    display: flex;
    flex-flow: column; }
    ul.news li p {
      font-family: futura-pt, sans-serif;
      color: #6B6B6B;
      font-size: clamp(14px, 0.83vw, 16px);
      letter-spacing: 0.1em; }
    ul.news li a {
      color: #68C3C5;
      font-size: clamp(14px, 0.83vw, 16px);
      font-weight: 500;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap; }

div.post {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto; }
  div.post p.date {
    font-size: clamp(14px, 0.83vw, 16px);
    color: #6B6B6B;
    margin-bottom: 10px;
    font-family: futura-pt, sans-serif; }
  div.post h2 {
    font-size: clamp(16px, 1.1vw, 20px);
    font-weight: 700;
    color: #68C3C5;
    margin-bottom: 30px;
    text-align: left; }
  div.post div.contents {
    width: 100%;
    margin-bottom: 100px; }
    div.post div.contents p {
      font-size: clamp(14px, 0.83vw, 16px);
      color: #6B6B6B; }
  div.post a.back {
    display: block;
    width: 170px;
    background: #68C3C5;
    border-radius: 80px;
    text-align: center;
    padding: 10px 0;
    color: #FFFFFF;
    font-family: futura-pt, sans-serif;
    font-size: clamp(14px, 0.83vw, 16px);
    margin: 0 auto; }

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