
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap");

html {
  font-size : calc(100vw / 19.20);
  margin : 0;
  padding : 0;
}
body {
  font-size : .16rem;
  font-family : "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho","Noto Serif JP", serif;
  margin : 0;
  padding : 0;
}
b,
strong,
.bold {
  font-family : "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho","Noto Serif JP", serif;
  font-weight : 600;
}

a:hover {
  opacity : .5;
}
a {
  text-decoration : none;
  color : inherit;
}
body.test {
  /*min-height : 30rem;*/
  /* background-image : url(../img/all@2x.png); */
  background-position : 0 0;
  background-repeat : no-repeat;
  background-size : 100%;
}
#loader-bg {
  display : block;
  position : fixed;
  width : 100%;
  height : 100%;
  top : 0;
  left : 0;
  background : #ffffff;
  z-index : 100;
}
#loader {
  display : none;
  position : fixed;
  top : 50%;
  left : 50%;
  width : 2rem;
  height : 2rem;
  margin-top : -1rem;
  margin-left : -1rem;
  text-align : center;
  color : #0000b1;
  z-index : 101;
}
#loader img {
  width : 1.8rem;
}

.wpcf7 {
  padding : .4rem 1.2rem;
  text-align : center;
  padding : 0 4.2rem 0 1rem;
  width : 100%;
  box-sizing : border-box;
  margin : 0 auto;
  font-size : .2rem;
}

.wpcf7 .th {
  width : 36.6%;
  display : inline-block;
  vertical-align : top;
  font-weight : bod;
}

.wpcf7 .td {
  width : 60%;
  display : inline-block;
}
.wpcf7 .tr {
  padding : 0 0 .3rem;
  text-align : left;
}
.wpcf7 .tr.last {
  border-bottom : 0;
}
.wpcf7 .td input {
  width : 100%;
  padding : .2rem;
  border : 1px solid #555555;
  box-sizing : border-box;
}

.wpcf7 .th {
  font-weight : bold;
  letter-spacing : .08em;
  font-size : .18rem;
  height : 100%;
  line-height : 3.2;
}

.wpcf7 span.must {
  display : inline-block;
  background-color : #b3272d;
  line-height : 1.7;
  color : #ffffff;
  padding : 0 1.1em;
  font-size : .16rem;
  vertical-align : text-top;
}

.wpcf7 .td textarea {
  border : 1px solid #555555;
  width : 100%;
  padding : 2vw;
  box-sizing : border-box;
}

input.wpcf7-submit,
input.wpcf7-confirm,
input.wpcf7-back {
  display : inline-block;
  border-radius : 0;
  font-size : .19rem;
  font-weight : bold;
  text-align : center;
  letter-spacing : .1em;
  cursor : pointer;
  padding : .4em 5em;
  background : #999999;
  color : #ffffff;
  line-height : 1em;
  transition : .3s;
  box-shadow : none;
  border : none;
  margin : 1em 1em;
}
input.wpcf7-submit:hover,
input.wpcf7-confirm:hover,
input.wpcf7-back:hover {
  box-shadow : none;
  color : #ffffff;
  background : #000000;
}

.wpcf7 .th {
  width : 100%;
}

.wpcf7 .td {
  width : 100%;
}

div#header_logo img {
  width : 1.985rem;
}

div#header_logo {
  padding : .4rem 1rem;
}
div#header_logo img.logo_w {
  display : none;
}
div#header_logo img.logo_b {
  display : inline;
}
.home div#header_logo img.logo_w,
.home-2 div#header_logo img.logo_w {
  display : inline;
}
.home div#header_logo img.logo_b,
.home-2 div#header_logo img.logo_b {
  display : none;
}
.home.middlemenu div#header_logo img.logo_w,
.home-2.middlemenu div#header_logo img.logo_w {
  display : none;
}
.home.middlemenu div#header_logo img.logo_b,
.home-2.middlemenu div#header_logo img.logo_b {
  display : inline;
}

nav#header_menu {
  position : absolute;
  right : .75rem;
  top : .24rem;
  Z-INDEX : 100;
}

nav#header_menu ul {
  list-style : none;
  margin : 0;
  padding : 0;
  display : flex;
  align-items : center;
}

nav#header_menu ul li {
  display : block;
  /* overflow-x: hidden; */
  /* overflow-y: hidden; */
  white-space : nowrap;
  background-position : center;
  background-repeat : no-repeat;
  text-align : center;
  /* padding : .1rem .2rem; */
  font-weight : normal;
  text-indent : -9999px;
  position : relative;
}
nav#header_menu ul li a,
nav#header_menu ul li span {
  width : 100%;
  display : block;
  height : 100%;
  text-decoration : none;
  font-size : .18rem;
  color : #2f2725;
  letter-spacing : .03rem;
  font-feature-settings : "palt";
  height : .5rem;
  /* text-indent: 0; */
}
nav#header_menu ul li.menu_home {
  width : 1.18rem;
  background-size : .5444rem auto;
  background-image : url(../img/menu_b_home.svg);
}
nav#header_menu ul li.menu_news {
  width : 1.137rem;
  background-size : .509rem auto;
  background-image : url(../img/menu_b_news.svg);
}
nav#header_menu ul li.menu_project {
  width : 1.6rem;
  background-size : .88rem auto;
  background-image : url(../img/menu_b_projects.svg);
}
nav#header_menu ul li.menu_about {
  width : 1.319rem;
  background-size : .655rem auto;
  background-image : url(../img/menu_b_about.svg);
}
nav#header_menu ul li.menu_support {
  width : 1.549rem;
  background-size : .839rem auto;
  background-image : url(../img/menu_b_support.svg);
}
nav#header_menu ul li.menu_contact {
  width : 1.586rem;
  background-size : .868rem auto;
  background-image : url(../img/menu_b_contact.svg);
}


.home nav#header_menu ul li.menu_home {
  background-image : url(../img/menu_home.svg);
}
.home nav#header_menu ul li.menu_news {
  background-image : url(../img/menu_news.svg);
}
.home nav#header_menu ul li.menu_project {
  background-image : url(../img/menu_projects.svg);
}
.home nav#header_menu ul li.menu_about {
  background-image : url(../img/menu_about.svg);
}
.home nav#header_menu ul li.menu_support {
  background-image : url(../img/menu_support.svg);
}
.home nav#header_menu ul li.menu_contact {
  background-image : url(../img/menu_contact.svg);
}

.middlemenu nav#header_menu {
  position : fixed;
  left : 0;
  right : initial;
  top : 0;
  width : 100%;
  height : 1.2rem;
  background-color : rgba(255,255,255,.9);
}

.middlemenu nav#header_menu ul li.menu_home {
  background-image : url(../img/menu_b_home.svg);
}
.middlemenu nav#header_menu ul li.menu_news {
  background-image : url(../img/menu_b_news.svg);
}
.middlemenu nav#header_menu ul li.menu_project {
  background-image : url(../img/menu_b_projects.svg);
}
.middlemenu nav#header_menu ul li.menu_about {
  background-image : url(../img/menu_b_about.svg);
}
.middlemenu nav#header_menu ul li.menu_support {
  background-image : url(../img/menu_b_support.svg);
}
.middlemenu nav#header_menu ul li.menu_contact {
  background-image : url(../img/menu_b_contact.svg);
}
.middlemenu nav#header_menu ul {
  position : absolute;
  right : .75rem;
  top : .25rem;
}

.middlemenu nav#header_menu img.img_sm {
  display : block;
  height : 100%;
  padding : .2rem 1rem;
  box-sizing : border-box;
}
nav#header_menu ul li.nav_insta {
  padding : .1rem 0 .1rem .4rem;
}
nav#header_menu ul li.nav_facebook {
  padding : .1rem 0 .1rem .4rem;
}
nav#header_menu ul li.nav_insta img {
  width : .328rem;
}
nav#header_menu ul li.nav_facebook img {
  width : .3rem;
}

body.home header#header,
body.home-2 header#header {
  background-image : url(../img/slider1.jpg);
  background-size : cover;
  background-repeat : no-repeat;
  background-position : center;
  width : 100%;
  /*height : 10.2rem;*/
  height : 100vh;
}
body.home-2 header#header {
  background-size : cover;
  background-repeat : no-repeat;
  background-position : center;
  width : 100%;
  height : 100vh;
}

.header_content {
  display : flex;
  flex-flow : row;
  margin : -1.5rem 0 0 0;
}

h2.slogan img {
  width : 3.055rem;
}

.slogan_image img {
  width : 12.82rem;
}

h2.slogan {
  margin : 0 0 0 0;
  padding : 1.8rem 1.1rem 0;
  display : none;
  text-align : right;
  width : 100%;
}
h2.slogan.sl_0 img {
  width : 3.338rem;
}
h2.slogan.sl_1 img {
  width : 3.85rem;
}

@keyframes show {
  from {
    opacity : 0;
  }
  to {
    opacity : 1;
  }
}

.bg_0 h2.slogan.sl_0 {
  display : block;
  animation : show 3s linear 0s;
}
.bg_1 h2.slogan.sl_1 {
  display : block;
  animation : show 3s linear 0s;
}
.bg_2 h2.slogan.sl_1 {
  /*display : block;*/
  animation : show 3s linear 0s;
}

header#header {
  min-height : 2rem;
  position : relative;
}

main {
  min-height : calc(100vh - 4.28rem);
}

section#message_body {
  padding : .55rem 1rem 1rem;
  font-size : .19rem;
}

section#message_body p {
  font-size : .19rem;
}
section#message_body p:first-of-type {
  margin-top : .05rem;
}
section#message {
  padding : 0;
}
section#message h2 {
  font-size : .38rem;
  /* margin-bottom : 1.3rem; */
  border-bottom : 1px solid #000000;
  padding : 1rem 0 1rem 1rem;
  margin : 0;
}

.sign {
  font-size : .19rem;
  margin : .5rem 0;
}

.sign span {
  letter-spacing : .1rem;
  margin-left : .2rem;
}

.profile {
  font-size : .19rem;
  line-height : 1.6;
  padding-top : 2rem;
}

nav#header_menu ul li .menu_sub {
  display : none;
}
nav#header_menu ul li.menu_about:hover .menu_sub,
.message nav#header_menu ul li.menu_about .menu_sub,
.overview nav#header_menu ul li.menu_about .menu_sub {
  position : absolute;
  left : .35rem;
  top : .4rem;
  display : block;
}
nav#header_menu ul li.menu_project .menu_sub:before {
  content : "";
  display : block;
  height : .2rem;
  border : 1px solid #000000;
  border-top : 0;
  border-right : 0;
  width : 100%;
  margin-bottom : .03rem;
}
nav#header_menu ul li.menu_project .menu_sub {
  position : absolute;
  left : .35rem;
  top : .4rem;
  display : block;
  width : 1.6rem;
  font-size : .18rem;
  text-align : left;
  overflow : hidden;
  text-overflow : ellipsis;
  white-space : nowrap;
}

nav#header_menu ul li.menu_about .menu_sub a {
  text-indent : 0;
  width : auto;
  letter-spacing : 0;
  margin-right : .2rem;
  line-height : 1.6;
}

nav#header_menu ul li.menu_about .menu_sub:before {
  content : "";
  display : block;
  height : .2rem;
  border : 1px solid #000000;
  border-top : 0;
  border-right : 0;
  width : 100%;
}
.home nav#header_menu ul li .menu_sub a,
.home-2 nav#header_menu ul li .menu_sub a {
  color : #ffffff;
}
.home nav#header_menu ul li .menu_sub:before,
.home-2 nav#header_menu ul li .menu_sub:before {
  border-color : #ffffff;
}
.home.middlemenu nav#header_menu ul li .menu_sub a,
.home-2.middlemenu nav#header_menu ul li .menu_sub a {
  color : #000000;
}
.home.middlemenu nav#header_menu ul li .menu_sub:before,
.home-2.middlemenu nav#header_menu ul li .menu_sub:before {
  border-color : #000000;
}
nav#header_menu ul li .menu_sub a,
nav#header_menu ul li .menu_sub {
  font-size : .14rem;
  font-size : .18rem;
}
.oneline {
  display : flex;
  justify-content : start;
  margin-top : .03rem;
}

nav#header_menu ul li.menu_about .oneline {
  width : 2.85rem;
}
.message nav#header_menu ul li.menu_about .oneline a:nth-of-type(1),
.overview nav#header_menu ul li.menu_about .oneline a:nth-of-type(2) {
  opacity : 1;
}
.message nav#header_menu ul li.menu_about .oneline a:nth-of-type(2),
.overview nav#header_menu ul li.menu_about .oneline a:nth-of-type(1) {
  opacity : .5;
}



section#overview {
  /* padding: 0 1rem; */
  /* border-top: 1px solid #000; */
  font-size : .2rem;
  line-height : 1.6;
}

section#overview dl {
  display : flex;
  padding : .05rem 0 .5rem;
  margin : 0;
  border-bottom : 1px solid #000000;
  align-items : flex-start;
}

section#overview h2 {
  padding : 1rem;
  font-size : .35rem;
  border-bottom : 1px solid #000000;
  margin : 0;
  font-weight : 400;
}

section#overview .content {
  padding : 0 3.55rem 0 1rem;
  box-sizing : border-box;
}
.support section#overview .content {
  padding : 0 4.1rem 0 1rem;
}
.support section#overview .content p:first-child {
  margin-top : .05rem;
}
section#overview dl dt {
  width : 20%;
}

section#overview dl dd {
  width : 80%;
  margin : 0;
}
section#overview dl dd ol {
  margin-top : 0;
  padding-left : .3rem;
}
section#overview dl dd span {
  letter-spacing : .1rem;
}


.gmap {
  position : relative;
  width : 100%;
  margin : .3rem 0;
  padding-bottom : 56.25%;
}

.gmap iframe {
  position : absolute;
  width : 100%;
  height : 100%;
}
.gmap iframe,
.gmap object,
.gmap embed {
  -webkit-filter : grayscale(100%);
     -moz-filter : grayscale(100%);
      -ms-filter : grayscale(100%);
       -o-filter : grayscale(100%);
          filter : grayscale(100%);
  -webkit-transition : all .7s ease;
     -moz-transition : all .7s ease;
       -o-transition : all .7s ease;
          transition : all  .7s ease;
}

.gmap iframe:hover,
.gmap object:hover,
.gmap embed:hover {
  -webkit-filter : grayscale(0%);
     -moz-filter : grayscale(0%);
      -ms-filter : grayscale(0%);
       -o-filter : grayscale(0%);
          filter : grayscale(0%);
}


section#archive {
  /* padding: 1rem; */
}

section#archive h2 {
  padding : 1rem;
  font-size : .35rem;
  border-bottom : 1px solid #000000;
  margin : 0;
  font-weight : 400;
}

section.not-found {
  padding : 1rem;
}

section#archive dl {
  padding : .1rem 1rem;
  display : flex;
  font-size : .2rem;
}

section#archive dl dt {
  width : 1.6rem;
}

section#archive dl dd {
  margin : 0;
}

section#content h2 {
  padding : 1rem;
  font-size : .35rem;
  border-bottom : 1px solid #000000;
  margin : 0;
  font-weight : 400;
}

article.category-news .article_body {
  padding : 0 7.1rem 0 1rem;
}

article.category-news .article_body h3.article_title {
  font-size : .23rem;
}

article.category-news .article_body .article_eyecatch img {
  width : 100%;
  height : auto;
}

.article_body p {
  font-size : .19rem;
}

figure.wp-block-image {
  margin : 0;
  display : block !important;
}

figure.wp-block-image img {
  width : 100%;
  height : auto;
}

.article_body dl {
  display : flex;
  justify-content : flex-start;
  align-items : flex-start;
  font-size : .19rem;
  padding : .1rem;
}

.article_body dl dt {
  width : 1.4rem;
}

.article_body dl dd {
}

.article_body h4.dl_title {
  /* padding : 0 1rem; */
  font-size : .2rem;
  border-top : 1px solid #000000;
  padding : .1rem;
}


.d_list {
  padding : 1rem 12rem 0 1rem;
}


.category-projects .article_body p {
  font-size : .19rem;
  padding : .1rem 1rem .5rem;
  line-height : 1.8;
}

.rc_photo {
  width : 25%;
  position : relative;
  background-size : cover;
  float : left;
  box-sizing : border-box;
  border : 1px solid #ffffff;
  border-right : none;
  border-bottom : none;
}

.rc_photo:before {
  content : "";
  display : block;
  padding-top : 100%;
}

.rc_title {
  position : absolute;
  /* height : 1rem; */
  line-height : 1.5;
  margin : 0 auto;
  width : 100%;
  text-align : left;
  top : 0;
  padding : .2rem .25rem;
  /* bottom : 0; */
  color : #ffffff;
  /* background-color : rgba(0,0,0,.7); */
  font-size : .18rem;
  box-sizing : border-box;
  height : 100%;
}
.gallery-cell {
  width : 100%;
  /* background-color: #000; */
}

.rc_gallery {
  margin : 0 0 8.7rem 0;
}
.gallery-cell a:hover {
  opacity : 1;
}
.gallery-cell a:hover .rc_title {
  background-color : rgba(0,0,0,.5);
}

section#contact h2 {
  padding : 1rem;
  font-size : .35rem;
  border-bottom : 1px solid #000000;
  margin : 0;
  font-weight : 400;
}

section#contact dl {
  display : flex;
  align-items : flex-start;
  justify-content : flex-start;
  padding : .1rem 0 .1rem;
  margin-top : 0;
}

section#contact dl dt {
  width : 3.6rem;
  text-align : left;
}

section#contact dl dd {
  margin : 0;
  text-align : left;
}
section#contact dl:first-child {
  padding-top : .05rem;
}

section#contact dl dd input:first-child {
  margin-left : 0;
  margin-right : 0;
}
section#contact dl dd p {
  margin : 0;
  text-align : center;
}
section#contact textarea {
  width : 10rem;
}

section#contact .content {
  padding : 0 1rem;
  font-size : .2rem;
}
.wpcf7 form {
  border-top : 1px solid #000000;
}

.wpcf7 input[type=text],
.wpcf7 input[type=tel],
.wpcf7 input[type=email],
.wpcf7 select {
  width : 4rem;
}



section#top_consept {
  display : flex;
  margin : .5rem 0;
  background-color : #dce8f6;
  justify-content : center;
  padding : 1.1rem 0 .3rem;
  align-items : center;
  background-image : url(../img/back_consept@2x.png);
  background-size : 19.2rem;
  background-repeat : no-repeat;
  min-height : 10.8rem;
  box-sizing : border-box;
}
section#top_consept img {
  width : 4.77rem;
}

div#consept_body {
  width : 7.1rem;
  padding : 0 1rem .4rem;
  box-sizing : border-box;
  text-align : center;
}

div#consept_body p {
  font-size : .16rem;
  line-height : 2.16;
}

div#consept_body h2 img {
  width : 2.95rem;
}

div#consept_body h3 img {
  width : 3.847rem;
}

div#consept_body h3 {
  margin : 1.1rem 0 1rem;
}

section#top_service h2 {
  text-align : center;
  margin-bottom : .9rem;
}

section#top_service h2 img {
  width : 2.666rem;
}

section#top_service {
  margin : .95rem;
  width : 17.05rem;
}
section.section_column {
  margin : .95rem;
  width : 17.05rem;
}

.columnbox {
  display : flex;
  box-sizing : border-box;
  margin-bottom : 2.65rem;
}

.columnbox img:first-child {
  width : 8.525rem;
  object-fit : cover;
}

.columnbox_body {
  padding : .3rem .62rem;
  position : relative;
  box-sizing : border-box;
}

.columnbox_body h3 {
  margin : .2rem 0 .7rem;
}

.columnbox_body p {
  font-size : .16rem;
  line-height : 2.1;
  font-feature-settings : "palt";
  text-align : left;
}

.columnbox.column_exteria {
  flex-direction : row-reverse;
}

.columnbox.column_exteria .columnbox_body {
  background-color : #537070;
  text-align : center;
  padding : .62rem 1.2rem 2.9rem 1.2rem;
}
.columnbox.column_exteria .columnbox_body p {
  color : #ffffff;
}
.columnbox.column_exteria h3 img {
  width : 5.95rem;
}
.columnbox img.listimage {
  width : 6.13rem;
  position : absolute;
  bottom : .62rem;
  right : 0;
  left : 0;
  margin : auto;
}
.columnbox.column_rittai h3 img {
  width : 2.466rem;
}

.columnbox.column_rittai .columnbox_body {
  background-color : #af856d;
  padding : .62rem 1.2rem 2.9rem 1.2rem;
}
.columnbox.column_rittai .columnbox_body p {
  color : #ffffff;
}

.columnbox.column_other {
  flex-direction : row-reverse;
}

.columnbox.column_other h3 img {
  width : 5.383rem;
}

.columnbox.column_other .columnbox_body {
  background-color : #616d88;
  padding : .62rem 1.2rem 2.9rem 1.2rem;
}
.columnbox.column_other .columnbox_body p {
  color : #ffffff;
}

section#flow {
  margin-top : -.4rem;
  padding : .9rem 0 1.35rem;
  text-align : center;
  background-color : #dce8f6;
}

section#flow h2 {
  text-align : center;
}

section#flow h2 img {
  width : 1.735rem;
}

section#flow h2 p {
  font-size : .26rem;
}

.flow_chart img {
  width : 1.869rem;
}

.flow_chart {
  display : flex;
  margin : .5rem auto 1.21rem;
  justify-content : space-between;
  width : 12.6rem;
  align-items : flex-start;
}

a.button {
  text-decoration : none;
  font-size : .3rem;
  color : #2f2725;
  border : .02rem solid #2f2725;
  padding : .2rem 0;
  width : 4.4rem;
  display : inline-block;
}

section#instagram {
  padding : 2.03rem 0 1rem;
}

section#instagram h2 {
  text-align : left;
  margin-bottom : 1.9rem;
  width : 100%;
  margin : 0 auto;
  padding : 0 1rem;
  box-sizing : border-box;
  font-size : .35rem;
  font-weight : 400;
}

section#instagram h2 img {
  width : 2.639rem;
}

section#instagram h2 p {
  font-size : .28rem;
}

.instagram_slide {
  /*height : 5rem;*/
  width : 100%;
  margin : 1rem auto;
  max-width : 100%;
}

footer#footer {
  margin-top : 0;
  /* background-color: #fff; */
  padding-top : 1rem;
  padding-bottom : 1rem;
  /* width: 13rem; */
  /* margin: 0 auto; */
  position : relative;
  clear : both;
  overflow : hidden;
}

section#contact {
  color : #000000;
  text-align : left;
}


a.button.white {
  color : #ffffff;
  border-color : #ffffff;
}
.phone {
  width : 50%;
}

.info {
  display : flex;
  margin : .92rem auto .55rem;
  width : 14.12rem;
  align-items : center;
}

.mail {
  width : 50%;
  box-sizing : border-box;
  padding : .25rem 0 .25rem .7rem;
  border-left : .02rem solid #ffffff;
}

.phone img {
  width : 3.692rem;
}

.mail img {
  width : 5.122rem;
}
nav#header_menu ul {
  list-style : none;
  margin : 0;
  padding : 0;
  display : flex;
  align-items : center;
}

nav#footer_menu ul li {
  display : block;
  overflow : hidden;
  white-space : nowrap;
  background-position : center;
  background-repeat : no-repeat;
  text-align : center;
  padding : .1rem .2rem;
}
nav#footer_menu ul li a {
  width : 100%;
  display : block;
  height : 100%;
  text-decoration : none;
  font-size : .18rem;
  color : #ffffff;
  letter-spacing : .03rem;
  font-feature-settings : "palt";
}
nav#footer_menu ul li.nav_insta {
  padding : .1rem 0 .1rem .4rem;
}
nav#footer_menu ul li.nav_facebook {
  padding : .1rem 0 .1rem .4rem;
}
nav#footer_menu ul li.nav_insta img {
  width : .328rem;
}
nav#footer_menu ul li.nav_facebook img {
  width : .3rem;
}
nav#footer_menu ul {
  display : flex;
  color : #ffffff;
  justify-content : center;
  padding : 0;
  align-items : center;
}

.address {
  width : 14.12rem;
  margin : 0 auto;
  padding : 1.1rem 0 .5rem;
  box-sizing : border-box;
  border-top : .02rem solid #ffffff;
  background-size : 5.135rem;
  background-repeat : no-repeat;
  background-position : 4.5rem 1.1rem;
  display : flex;
  justify-content : center;
}

.address img {
  width : 2.4rem;
}
.rightad {
  font-size : .12rem;
  display : flex;
  padding : 0 0 0 .6rem;
  flex-direction : column;
}

.rightad p {
  margin : 0;
  line-height : 1.5;
  text-align : left;
}

.rightad p span.th {
  width : 1rem;
  display : inline-block;
}

.leftlogo {
  display : flex;
  align-items : center;
  justify-content : center;
}
nav#footer_menu {
  width : 14.12rem;
  margin : 0 auto;
}
.copyright {
  text-align : left;
  font-size : .2rem;
  width : 100%;
  margin : 0 auto;
  padding : 0 1rem;
  box-sizing : border-box;
}
.copyright img {
  width : 6rem;
}

body.exterior h2.slogan img {
  width : 2.94rem;
  margin : 0 0 -.04rem 0;
}

body.exterior h2.slogan p {
  width : 8.525rem;
  background-color : #253a3b;
  display : flex;
  text-align : center;
  height : 2.43rem;
  justify-content : center;
  align-items : center;
  margin : 0;
}


body.exterior .header_content {
  display : block;
  width : 17.05rem;
  margin : -1.5rem auto 0;
  position : relative;
  padding : 0 0 .5rem 0;
}

body.exterior h2.slogan {
  position : absolute;
  padding : 0;
  bottom : 0;
}

body.exterior .slogan_image {
  text-align : right;
}
.columnbox h3 img.point {
  width : 1.44rem !important;
  margin-bottom : .5rem;
}
.columnbox:nth-child(2n) {
  flex-direction : row-reverse;
}

.columnbox img {
  max-width : 100%;
}
.columnbox.exterior1 h3 img {
  width : 6.99rem;
  display : block;
}
.columnbox.exterior2 h3 img {
  width : 6.178rem;
  display : block;
}
.columnbox.exterior3 h3 img {
  width : 6.032rem;
  display : block;
}
section#exterior_quality h2 {
  text-align : center;
  margin-bottom : .9rem;
}

section#exterior_quality h2 img {
  width : 2.847rem;
}
body.exterior h2.slogan p img {
  width : 5.954rem;
  margin : 0;
}


body.other h2.slogan img {
  width : 2.94rem;
  margin : 0 0 -.04rem 0;
}

body.other h2.slogan p {
  width : 8.525rem;
  background-color : #586480;
  display : flex;
  text-align : center;
  height : 2.43rem;
  justify-content : center;
  align-items : center;
  margin : 0;
}


body.other .header_content {
  display : block;
  width : 17.05rem;
  margin : -1.5rem auto 0;
  position : relative;
  padding : 0 0 .5rem 0;
}

body.other h2.slogan {
  position : absolute;
  padding : 0;
  bottom : 0;
}

body.other .slogan_image {
  text-align : right;
}
.columnbox.other1 h3 img {
  width : 6.814rem;
  display : block;
}
.columnbox.other2 h3 img {
  width : 6.306rem;
  display : block;
}
.columnbox.other3 h3 img {
  width : 5.149rem;
  display : block;
}
section#other_quality h2 {
  text-align : center;
  margin-bottom : .9rem;
}

section#other_quality h2 img {
  width : 2.847rem;
}
body.other h2.slogan p img {
  width : 5.383rem;
  margin : 0;
}




body.three-d h2.slogan img {
  width : 2.172rem;
  margin : 0 0 -.04rem 0;
}

body.three-d h2.slogan p {
  width : 8.525rem;
  background-color : #a88c6f;
  display : flex;
  text-align : center;
  height : 2.43rem;
  justify-content : center;
  align-items : center;
  margin : 0;
}


body.three-d .header_content {
  display : block;
  width : 17.05rem;
  margin : -1.5rem auto 0;
  position : relative;
  padding : 0 0 .5rem 0;
}

body.three-d h2.slogan {
  position : absolute;
  padding : 0;
  bottom : 0;
}

body.three-d .slogan_image {
  text-align : right;
}
.columnbox.three-d1 h3 img {
  width : 6.565rem;
  display : block;
}
.columnbox.three-d2 h3 img {
  width : 6.574rem;
  display : block;
}
.columnbox.three-d3 h3 img {
  width : 4.201rem;
  display : block;
}
section#three-d_quality h2 {
  text-align : center;
  margin-bottom : .9rem;
}

section#three-d_quality h2 img {
  width : 2.847rem;
}
body.three-d h2.slogan p img {
  width : 2.466rem;
  margin : 0;
}


section#contactform {
  background-color : #dce8f6;
  padding : 1rem 0;
  text-align : center;
  margin-top : -.5rem;
}

section#contactform h2 {
}

section#contactform h2 img {
  width : 3.125rem;
}

section#contactform p {
  line-height : 2;
  margin : .5rem 0;
}

section#flow_detail {
  background-color : #dce8f6;
  padding : .5rem;
  display : none;
}

section#flow_detail dl {
  display : flex;
  width : 17.05rem;
  margin : .3rem auto 1rem;
  background-color : #ffffff;
  align-items : center;
  position : relative;
}

section#flow_detail dt {
}

section#flow_detail dd {
  font-size : .18rem;
  line-height : .34rem;
}

section#flow_detail dt img {
  width : 5.71rem;
}
section#flow_detail dl:after {
  content : "";
  display : block;
  width : 0;
  height : 0;
  border-style : solid;
  border-width : .34rem .34rem 0 .34rem;
  border-color : #ffffff transparent transparent transparent;
  position : absolute;
  right : 0;
  left : 0;
  margin : auto;
  bottom : -.7rem;
}

section#flow_detail dl:last-child:after {
  display : none;
}

.dli-arrow-up {
  display : inline-block;
  vertical-align : middle;
  color : #333333;
  line-height : 1;
  position : relative;
  width : .1em;
  height : 1em;
  background : currentColor;
}

.dli-arrow-up::before {
  content : "";
  width : .65em;
  height : .65em;
  border : .1em solid currentColor;
  border-left : 0;
  border-bottom : 0;
  box-sizing : border-box;
  transform : rotate(-45deg);
  position : absolute;
  top : 0;
  left : -.275em;
  margin : auto;
}

.toplink {
  position : absolute;
  bottom : -.8rem;
  right : 0;
  display : block;
  padding : 0 1rem;
  transition : .5s;
}

.toplink:hover {
  bottom : 0;
  opacity : 1;
}
.toplink img {
  width : .28rem;
}
@media only screen and (max-width: 768px) {
  body.test {
    background-size : 100% auto;
    background-repeat : no-repeat;
  }
  html {
    font-size : calc(100vw / 7.45);
  }
  body {
    overflow-x : hidden;
  }
  .img_pc {
    display : none;
  }
  .img_sm {
    display : inline;
  }
  .drawer-hidden {
    display : none;
  }
  .drawer-open {
    display : flex;
    height : .7rem;
    width : 1.2rem;
    justify-content : center;
    align-items : center;
    position : absolute;
    z-index : 100;
    cursor : pointer;
    top : .4rem;
    right : .4rem;
  }
  .drawer-open span,
  .drawer-open span:before,
  .drawer-open span:after {
    content : "";
    display : block;
    height : .02rem;
    width : .79rem;
    border-radius : 0;
    background : #000000;
    transition : .5s;
    position : absolute;
  }
  .drawer-open span:before {
    bottom : .14rem;
  }
  .drawer-open span:after {
    top : .14rem;
  }
  #drawer-check:checked ~.drawer-open span {
    background : rgba(255, 255, 255, 0);
  }
  #drawer-check:checked ~.drawer-open span::before {
    bottom : 0;
    transform : rotate(45deg);
  }

  #drawer-check:checked ~.drawer-open span::after {
    top : 0;
    transform : rotate(-45deg);
  }
  nav#header_menu {
    width : 100%;
    height : 100%;
    position : fixed;
    top : 0;
    left : 100%;
    z-index : 99;
    background : #ffffff;
    transition : .5s;
    padding : .4rem 0;
    box-sizing : border-box;
    text-align : center;
  }
  nav#header_menu img {
    width : 1.185rem;
    display : none;
  }
  #drawer-check:checked ~#header_menu {
    left : 0;
  }
  #drawer-check:checked ~.drawer-open {
    position : fixed;
  }
  nav#header_menu ul {
    flex-flow : column;
    align-items : center;
    /* border-top : .02rem solid #999999; */
    margin-top : .5rem;
  }
  nav#header_menu ul li {
    text-indent : .9rem;
    font-family : "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", "Noto Serif JP",serif;
    font-size : .3rem;
    height : auto;
    width : 100% !important;
    /* border-bottom : 2px solid #999999; */
    box-sizing : border-box;
    background-image : none !important;
  }
  nav#header_menu ul li:before {
    content : "";
    display : block;
    position : absolute;
    width : .4rem;
    height : 1rem;
    border-top : 1px solid #000000;
    top : .39rem;
  }
  nav#header_menu ul li a,
  nav#header_menu ul li span {
    text-decoration : none;
    font-weight : bold;
    color : #2f2725;
    text-transform : uppercase;
    font-size : .3rem;
    letter-spacing : .13rem;
    padding : .2rem;
    height : auto;
    text-align : left;
  }
  .middlemenu nav#header_menu {
    position : fixed;
    left : 100%;
    right : initial;
    top : 0;
    width : 100%;
    height : 100%;
    background-color : #ffffff;
  }
  .middlemenu nav#header_menu ul {
    right : 0;
    top : 0;
    left : 0;
    bottom : 0;
  }
  .wpcf7 .th {
    width : 100%;
    font-size : .18rem;
  }
  .wpcf7 span.must {
    font-size : .16rem;
  }
  .wpcf7 .td {
    width : 100%;
  }
  input.wpcf7-submit,
  input.wpcf7-confirm,
  input.wpcf7-back {
    font-size : 3vw;
  }
  .slogan_image img {
    width : 3.79rem;
  }

  h2.slogan img {
    width : .702rem;
  }

  h2.slogan {
    padding : .8rem 1.9rem;
    /* display: inline-block; */
    width : auto;
  }
  div#header_logo {
    padding : .35rem .4rem;
  }

  div#header_logo img {
  }

  .header_content {
    margin : 0;
  }

  body.home header#header,
  body.home-2 header#header {
    background-size : 100%;
    background-position : center;
    background-size : cover;
  }

  .header_content {
    height : 6.4rem;
    display : block;
    position : relative;
    max-width : 100%;
  }

  .slogan_image {
    position : absolute;
    right : .6rem;
    bottom : .3rem;
  }

  div#consept_body h2 img {
    width : 2.12rem;
  }

  div#consept_body {
    width : 100%;
    padding : 0;
  }

  section#top_consept {
    background-color : #dce8f6;
    background-image : url(../img/back_concept_s@2x.png);
    background-size : 6.161rem;
    background-position : .6rem 1rem;
    padding : .69rem 0 0;
    display : block;
    min-height : 10.1rem;
  }

  div#consept_body p {
    font-size : .18rem;
    line-height : 1.7;
    font-feature-settings : "palt";
  }
  section#top_service {
    margin : 0;
    width : 100%;
  }

  section#top_service h2 {
    margin-top : .7rem;
    margin-bottom : .7rem;
  }

  section#top_service h2 img {
    width : 1.916rem;
  }

  .columnbox.column_exteria {
    flex-direction : column;
  }

  .columnbox img:first-child {
    width : 100%;
  }

  .columnbox.column_exteria h3 img {
    width : 5.12rem;
  }

  .columnbox img.listimage {
    width : 5.34rem;
    position : relative;
    bottom : initial;
    margin : 0 auto;
  }

  .columnbox_body {
    padding : .62rem 1rem .62rem;
  }

  .columnbox_body h3 {
    text-align : left;
  }

  .columnbox_body p {
    text-align : left;
    margin-bottom : .6rem;
  }

  .columnbox.column_rittai {
    flex-direction : column;
  }

  .columnbox {
    flex-direction : column;
    margin-bottom : .7rem;
  }

  .columnbox.column_other {
    flex-direction : column;
  }
  section#flow h2 img {
    width : 1.245rem;
  }
  .flow_chart img {
    width : 1.435rem;
    margin : .3rem 0;
  }

  .flow_chart {
    flex-wrap : wrap;
    width : 4.73rem;
    margin-bottom : .5rem;
  }
  section#instagram h2 img {
    width : 2.758rem;
  }

  section#contact h2 img {
    width : 2.145rem;
  }

  section#contact h2 p {
    font-size : .2rem;
  }

  .info {
    flex-direction : column;
    width : 100%;
  }

  .phone {
    width : 6.25rem;
    padding : 1rem 0;
  }

  .mail {
    width : 6.25rem;
    padding : 1rem 0;
    border : none;
    border-top : .02rem solid #ffffff;
  }

  .address {
    width : 6.25rem;
    margin-bottom : 1rem;
  }

  nav#footer_menu {
    display : none;
  }

  .instagram_slide {
    /* height : 2rem; */
  }

  .instagram_slide h4 {
    text-align : center;
    font-size : .35rem;
  }
  nav#header_menu ul li.nav_insta,
  nav#header_menu ul li.nav_facebook {
    display : none;
  }

  section.section_column {
    width : 100%;
    margin : 0;
  }
  .columnbox h3 img.point {
    padding : 0 !important;
  }

  .columnbox:nth-child(2n) {
    flex-direction : column-reverse;
  }

  body.exterior h2.slogan p {
    width : 4.436rem;
    height : 1.264rem;
    margin : auto;
  }

  body.exterior h2.slogan img {
    width : 1.53rem;
  }



  body.exterior h2.slogan {
    text-align : center;
    z-index : 2;
    top : 0;
    left : 0;
    right : 0;
    bottom : initial;
    width : 100%;
  }

  body.exterior .slogan_image img {
    width : 100%;
  }

  body.exterior h2.slogan p img {
    width : 3.13rem;
  }

  body.exterior .slogan_image {
    right : 0;
    bottom : 0;
  }

  body.exterior .columnbox img:first-child {
    padding : 0 1rem;
    box-sizing : border-box;
  }


  body.exterior .columnbox {
    flex-direction : column-reverse;
  }

  section#exterior_quality h2 {
    display : none;
  }

  body.exterior .columnbox_body p {
    margin-bottom : 0;
  }

  .columnbox.exterior1 h3 img {
    width : 6.122rem;
  }

  .columnbox.exterior2 h3 img {
    width : 5rem;
  }

  .columnbox.exterior3 h3 img {
    width : 4.86rem;
  }




  body.other h2.slogan p {
    width : 4.436rem;
    height : 1.264rem;
    margin : auto;
  }

  body.other h2.slogan img {
    width : 1.582rem;
  }



  body.other h2.slogan {
    text-align : center;
    z-index : 2;
    top : 0;
    left : 0;
    right : 0;
    bottom : initial;
    width : 100%;
  }

  body.other .slogan_image img {
    width : 100%;
  }

  body.other h2.slogan p img {
    width : 3.13rem;
  }

  body.other .slogan_image {
    right : 0;
    bottom : 0;
  }

  body.other .columnbox img:first-child {
    padding : 0 1rem;
    box-sizing : border-box;
  }


  body.other .columnbox {
    flex-direction : column-reverse;
  }

  section#other_quality h2 {
    display : none;
  }

  body.other .columnbox_body p {
    margin-bottom : 0;
  }

  .columnbox.other1 h3 img {
    width : 5.429rem;
  }

  .columnbox.other2 h3 img {
    width : 5.012rem;
  }

  .columnbox.other3 h3 img {
    width : 4.096rem;
  }



  body.three-d h2.slogan p {
    width : 4.436rem;
    height : 1.264rem;
    margin : auto;
  }

  body.three-d h2.slogan img {
    width : 1.17rem;
  }



  body.three-d h2.slogan {
    text-align : center;
    z-index : 2;
    top : 0;
    left : 0;
    right : 0;
    bottom : initial;
    width : 100%;
  }

  body.three-d .slogan_image img {
    width : 100%;
  }

  body.three-d h2.slogan p img {
    width : 1.291rem;
  }

  body.three-d .slogan_image {
    right : 0;
    bottom : 0;
  }

  body.three-d .columnbox img:first-child {
    padding : 0 1rem;
    box-sizing : border-box;
  }


  body.three-d .columnbox {
    flex-direction : column-reverse;
  }

  section#three-d_quality h2 {
    display : none;
  }

  body.three-d .columnbox_body p {
    margin-bottom : 0;
  }

  .columnbox.three-d1 h3 img {
    width : 5.247rem;
  }

  .columnbox.three-d2 h3 img {
    width : 5.256rem;
  }

  .columnbox.three-d3 h3 img {
    width : 3.37rem;
  }
  section#flow_detail dl {
    width : 100%;
    flex-direction : column;
    align-items : flex-start;
  }

  section#flow_detail dd {
    margin : 0;
    padding : 0 .4rem .5rem;
  }
  article.category-news .article_body {
    padding : 0;
  }
  article.category-news .article_body h3.article_title {
    padding : 0 .5rem;
  }
  .article_body p {
    padding : 0 .5rem;
  }
  .rc_photo {
    width : 50%;
    position : relative;
    background-size : cover;
    float : left;
  }
  .d_list {
    padding : 0 .5rem;
  }
  .support section#overview .content {
    padding : 0 .5rem;
  }
  section#overview dl {
    flex-direction : column;
  }
  section#overview dl dd {
    width : 100%;
    padding : 0 .5rem;
    box-sizing : border-box;
  }
  section#overview dl dd ol {
    margin : 0;
    padding : .3rem 0 0 .2rem;
  }
  section#overview dl dt {
    width : 100%;
    font-weight : bold;
  }
  section#contact .content {
    padding : 0 .5rem;
  }
  section#contact dl {
    flex-direction : column;
  }
  .wpcf7 {
    padding : 0 .5rem;
  }
  section#contact textarea {
    width : 100%;
  }
  .toplink {
    display : none;
  }
  section#message {
    padding : .5rem 0 0 0;
  }
  section#message_body {
    padding : 0 .5rem .5rem;
  }
  section#message h2 {
    padding : 1rem 0 1rem .5rem;
  }
  nav#header_menu ul li .menu_sub {
    display : block !important;
    position : static !important;
  }
  nav#header_menu ul li .menu_sub:before {
    content : none !important;
  }
  nav#header_menu ul li.menu_about .oneline {
    width : 100%;
    justify-content : flex-end;
  }
  nav#header_menu ul li.menu_about .oneline a {
    width : 36%;
    color : #000000;
  }
  section#overview .content {
    padding : 0 .5rem;
  }
  nav#header_menu ul li.menu_project .menu_sub {
    display : none !important;
  }
}
@media(min-width: 769px) {
  a[href^="tel:"] {
    pointer-events : none;
  }
  .line a {
    pointer-events : none;
  }
  .drawer-hidden {
    display : none;
  }
  .img_pc {
    display : inline;
  }
  .img_sm {
    display : none;
  }
}
@media(min-width: 1940px) {
  html {
    /*font-size : 100px;*/
    font-size : calc(100vw / 19.20);
  }
  body {
    /*
    width : 1920px;*/
    width : 100%;
    margin : 0 auto;
  }
  body.home-2 {
    width : 100%;
  }
  html.testmode {
    font-size : calc(100vw / 19.20);
  }
}
