@charset "utf-8";
/* CSS Document */
/*全体設定*/
html {
  font-size: 90%;
    overflow-x: hidden;
}
/*PC用ヘッダー*/
.sp_head {
  display: none;
}
.ca_pc_header {
  height: auto;
    margin-top: 2rem;
  margin-bottom: 0.5rem;
}
.ca_pc_header_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 80px;
}
h1.pc_title {
  margin: 0;
  padding: 0;
  text-align: center;
  max-height: 60px;
  height: auto;
}
h1.pc_title img {
  max-height: 60px;
}
ul.ca_gloval_nav {
  padding: 0rem;
  margin: 0;
  list-style: none;
  display: flex;
  justify-content: center;
  align-items: center;
}
li.ca_gloval_nav_logo {}
li.ca_gloval_nav_logo a {
  color: #333;
  display: block;
  text-align: center;
  padding: 0rem 0.75rem 0.3rem;
  border-bottom: #FFF 2px solid;
}
li.ca_gloval_nav_logo a:hover {
  color: #ff7f50;
  border-bottom: #fff 2px solid;
  transition: 0.5s;
}

li.ca_gloval_nav_a {}
li.ca_gloval_nav_a a {
  color: #333;
  display: block;
  text-align: center;
  padding: 0rem 0.75rem 0rem;
  border-bottom: #FFF 2px solid;
}
li.ca_gloval_nav_a a:hover {
  color: #ff7f50;
  border-bottom: #ff7f50 2px solid;
  transition: 0.5s;
}
li.ca_gloval_nav_insta {}
li.ca_gloval_nav_insta a {
  color: #333;
  font-size: 2rem;
  display: block;
  text-align: center;
  padding: 0rem 0.75rem 0.3rem;
  border-bottom: #FFF 2px solid;
}
li.ca_gloval_nav_insta a:hover {
  color: #da2e7a;
  border-bottom: #FFF 2px solid;
  transition: 0.5s;
}
/*PC用フッター*/
.ca_index_footer_logo {
  width: 200px;
  margin: 1rem auto;
}
.ca_index_footer {
  margin-top: 4rem;
  border-top: #aaa 1px solid;
  padding: 3rem 0;
}
.ca_footer {
  margin-top: 0rem;
  border-top: #aaa 1px solid;
  padding: 3rem 0;
    background: #EEE;
}
p.ca_footer_menu {
  text-align: center;
  margin-bottom: 2rem;
}
p.ca_footer_menu a {
  font-size: 80%;
}
p.ca_footer_menu a:hover {
  text-decoration: underline !important;
}
/*フッター　上に戻る*/
#page_top {
  position: fixed;
  right: 20px;
  bottom: 40px;
}
#page_top a {
  color: #ff7f50;
  width: 40px;
  height: 40px;
  background: #FFF;
  opacity: 1;
  border-radius: 50%;
  border: 1px #ff7f50 solid;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
}
#page_top a:hover {
  width: 40px;
  color: #FFF;
  background: #ff7f50;
  opacity: 0.5s;
}

.ca_footer_x{
    padding: 3rem 0;
    background: #EEE;
    border-top: 1px solid #CCC;
}

.ca_footer_x_a{
   
}

p.ca_footer_x_a_logo{
    width: 200px;
}
p.ca_footer_x_a_logo img{
    width: 200px;
}


.ca_footer_x_b{
     border-top: #707070 1px solid;
    padding: 2rem 0;
}


.ca_footer_x_b_right{
    
}

p.ca_footer_x_b_right_a{
    margin-bottom: 0;
    
}

p.ca_footer_x_b_right_b{
    font-size:2rem;
    font-weight: bold;
    margin-bottom: 0;
}


.ca_footer_x_b_left{
    
}

ul.ca_footer_x_b_left_menu{
 
}

ul.ca_footer_x_b_left_menu li{
    display: inline-block;
}

ul.ca_footer_x_b_left_menu li a{
    text-decoration: underline;
    padding: 0.25rem 0.5rem;
}

/*==TOPページ==*/
/*PC用スライド*/
.ca_slide {
  width: 100%;
  height: 450px;
  position: relative;
  margin-bottom: 5rem;
}
.ca_slide_front {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 450px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
}
.ca_slide_front img {
  max-width: 400px;
}
.bxslider {
  position: absolute;
  left: 0px;
  top: 0px;
  width: 100%;
  height: 450px;
  z-index: 1;
  left: 23vw; /* (100vw - SlideWidth) / 2 */
  overflow: visible !important;
  overflow: hidden;
}
.bx-wrapper {
  box-shadow: none !important;
  border: none !important;
  margin: 0 !important;
  height: 450px;
}
li.slide {
  width: 54vw !important;
  height: 450px;
  max-width: 100%;
  position: relative;
  overflow: hidden !important;
  margin: 0 auto 1rem;
}
li.slide::before {
  content: "";
  display: block;
  padding-top: 50%;
}
li.slide img {
  width: 99%;
  height: 450px;
  position: absolute;
  top: 0;
  object-fit: cover;
  object-position: center center;
}
/* bxSlider */
.bx-wrapper {}
h2.ca_h201 {
  position: relative;
  padding: 1rem;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 3rem;
}
h2.ca_h201:before {
  position: absolute;
  bottom: -5px;
  left: calc(50% - 30px);
  width: 60px;
  height: 1px;
  content: '';
  border-radius: 3px;
  background: #000;
}
dl.ca_news {
  overflow-y: auto;
  max-height: 200px;
  min-height: 20px;
  padding-top: 1rem;
  margin-bottom: 5rem;
}
dl.ca_news dt {
  font-weight: normal;
  text-align: center;
  margin: 0;
  padding: 0;
}
dl.ca_news dd {
  font-weight: normal;
  margin: 0;
  padding: 0;
}
dl.ca_news dd a {
  display: block;
}
dl.ca_news dd a:hover {
  text-decoration: underline !important;
  transition: 0.5s;
}
.ca_news_list {
  padding: 0rem 0.5rem 0.5rem;
  border-bottom: 1px #aaa dotted;
  margin-bottom: 1rem;
}
/*進行中のプロジェクト*/
.ca_project_list {
  margin-bottom: 5rem;
}
.ca_project_list_b {
  margin-bottom: 7rem;
}
.ca_project {
  margin-bottom: 1rem;
  height: 100%;
}
.ca_project_inner {
  padding: 0.25rem;
  height: 100%;
}
.ca_project_inner p {
  margin-bottom: 0;
  font-size: 80%;
  padding: 0 0.5rem;
}
.ca_project_inner_c {
  width: 100%;
  max-width: 100%;
  position: relative;
  overflow: hidden !important;
  margin: 0 auto 0.25rem;
    background: #FFF;
}
.ca_project_inner_c::before {
  content: "";
  display: block;
  padding-top: 66%;
}
.ca_project_inner_c img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
}
.ca_project_inner_c :hover {
  opacity: 0.8;
  transition: 0.5s;
}
.ca_project_inner_d {
  padding: 0.25rem;
  height: 100%;
    margin-bottom: 1rem;
}
.ca_project_inner_d p {
  text-align: center;
  padding: 0 0.5rem 0.5rem;
    margin: 0;
  display: block;
}
.ca_project_inner_e {
  display: inherit;
}
.ca_project_inner_e p {
  text-align: center;
}
p.ca_project_inner_link {
  width: 98%;
  text-align: center;
  margin: 0 auto;
  padding: 0;
}
p.ca_project_inner_link a {
  width: 98%;
  text-align: center;
  background: #ff7f50;
  color: #FFF;
  display: block;
  padding: 0.5rem 0;
  position: absolute;
  bottom: 0px;
  left: 1%;
  margin: 2rem auto 0;
  border: #ff7f50 1px solid;
}
p.ca_project_inner_link a span {
  position: absolute;
  right: 10px;
}
p.ca_project_inner_link a:hover {
  transition: 0.5s;
  background: #FFF;
  color: #ff7f50;
}

/*WORKSスライドショー*/


.ca_regular_3_inner{
    
}
.ca_regular_3_inner_img{
  width: 100%;
  max-width: 100%;
  position: relative;
  overflow: hidden !important;
  margin: 0 auto 0.25rem;
    background: #FFF;
}
.ca_regular_3_inner_img::before {
  content: "";
  display: block;
  padding-top: 66%;
}
.ca_regular_3_inner_img img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
    object-position: center center;
}



.ca_project_list_or{
    background: #ffc8b3;
    padding: 3rem 0;
}


/*プロフィール*/
.ca_profile {
  margin-bottom: 5rem;
}
.ca_profile_x {
  margin-bottom: 2rem;
}
.ca_profile_a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.ca_profile_a_inner {
  width: 100%;
}
h2.ca_h202 {
  position: relative;
  padding: 1rem;
  text-align: left;
  font-size: 1.5rem;
  font-weight: normal;
  margin-bottom: 2rem;
}
h2.ca_h202:before {
  position: absolute;
  bottom: -5px;
  width: 60px;
  height: 1px;
  content: '';
  border-radius: 3px;
  background: #000;
}
p.ca_profile_p01 {
  font-size: 80%;
  padding: 0 1rem;
}
p.ca_profile_p02 {
  width: 60%;
  padding: 0rem 1rem;
}
p.ca_profile_p02 a {
  width: 100%;
  background: #ff7f50;
  color: #FFF;
  display: block;
  padding: 0.5rem 0rem;
  margin: 2rem auto 0;
  border: #ff7f50 1px solid;
  text-align: center;
  position: relative;
}
p.ca_profile_p02 a span {
  position: absolute;
  right: 10px;
}
p.ca_profile_p02 a:hover {
  transition: 0.5s;
  background: #FFF;
  color: #ff7f50;
}
.ca_profile_b {
  height: 100%;
}
.ca_profile_b img {
  width: 100%;
  max-height: 350px;
  height: auto;
  object-fit: cover;
  object-position: center center;
}
/*おすすめ*/
.ca_osusu {
  padding: 2rem;
  border: #DDD 1px dotted;
  margin-bottom: 5rem;
  height: 300px;
  overflow-y: auto;
}
p.posu {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
p.ca_posu1 {
  position: relative;
  padding: 1rem;
  text-align: center;
  font-size: 1.2rem;
  font-weight: normal;
  margin-bottom: 1rem;
}
p.ca_posu1:before {
  position: absolute;
  bottom: -5px;
  left: calc(50% - 30px);
  width: 60px;
  height: 1px;
  content: '';
  border-radius: 3px;
  background: #000;
}
p.ca_posu2 {
  font-size: 80%;
  margin-bottom: 2rem;
}
p.ca_posu3 {
  position: relative;
  padding: 1rem;
  text-align: center;
  font-size: 1.2rem;
  font-weight: normal;
  margin-bottom: 1rem;
  color: #777;
}
p.ca_posu3:before {
  position: absolute;
  bottom: -5px;
  left: calc(50% - 30px);
  width: 60px;
  border-bottom: 1px dotted #DDD;
  height: 1px;
  content: '';
  border-radius: 3px;
  background: #FFF;
}
.ca_office {
  background: #FFF;
  padding: 3rem 0;
}
.ca_office_info {
  padding: 1rem;
}
dl.ca_off {
  font-size: 90%;
  margin-bottom: 0rem;
}
dl.ca_off dt {
  font-weight: normal !important;
}
/*==固定ページ==*/
.ca_page_title {
  background: #F1F1F1;
  padding: 0.25rem;
}
.ca_page_title_inner {
  font-size: 2rem;
  text-align: center;
}
.ca_page_contents {
  margin: 3rem 0;
}
.ca_page_back {
  margin: 3rem 0;
}
/*下部コンタクト*/
.ca_page_contact {
  border-top: #AAA 1px dotted;
  margin-top: 4rem;
}
.ca_page_contact_left {
  background: #FFF;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ca_page_contact_left_inner {
  padding: 3rem 0;
  margin-left: 30%;
}
p.ca_page_contact_left_inner_p01 {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
p.ca_page_contact_left_inner_p02 {
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
p.ca_page_contact_left_inner_p02 a {
  display: block;
  color: #000;
  background: #DDD;
  padding: 0.5rem 2rem;
}
.ca_page_contact_right {
  background: #ff7f50;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ca_page_contact_right_inner {
  padding: 3rem 0;
  margin-right: 30%;
}
p.ca_page_contact_right_inner_link {
  width: 350px;
  padding: 0rem 1rem;
  margin: 1rem auto 2rem;
}
p.ca_page_contact_right_inner_link a {
  width: 100%;
  background: #ff7f50;
  color: #FFF;
  display: block;
  padding: 0.5rem 0rem;
  margin: 2rem auto 0;
  border: #FFF 1px solid;
  text-align: center;
  position: relative;
}
p.ca_page_contact_right_inner_link a span {
  position: absolute;
  right: 10px;
}
p.ca_page_contact_right_inner_link a:hover {
  transition: 0.5s;
  background: #FFF;
  color: #ff7f50;
  border: #ff7f50 1px solid;
}
p.ca_page_back_link {
  width: 350px;
  padding: 0rem 1rem;
  margin: 1rem auto 2rem;
}
p.ca_page_back_link a {
  width: 100%;
  background: #FFF;
  color: #ff7f50;
  display: block;
  padding: 0.5rem 0rem;
  margin: 2rem auto 0;
  border: #ff7f50 1px solid;
  text-align: center;
  position: relative;
}
p.ca_page_back_link a span {
  position: absolute;
  right: 10px;
}
p.ca_page_back_link a:hover {
  transition: 0.5s;
  background: #ff7f50;
  color: #FFF;
}
/*==新着情報==*/
.ca_info_list {
  margin-bottom: 2rem;
  border-bottom: 1px dotted #DDD;
  display: block;
  padding: 1rem;
}
.ca_info_list:hover {
  border-bottom: 1px dotted #ff7f50;
  transition: 0.5s;
}
p.ca_info_list_date {}
p.ca_info_list_title {
  font-size: 1.5rem;
  margin-bottom: 2rem;
}
p.ca_info_list_text {
  font-size: 0.8rem;
  margin-bottom: 2rem;
}
p.ca_info_list_link {
  width: 350px;
  padding: 0rem 1rem;
  margin: 1rem auto 2rem;
}
p.ca_info_list_link a {
  width: 100%;
  background: #ff7f50;
  color: #FFF;
  display: block;
  padding: 0.5rem 0rem;
  margin: 2rem auto 0;
  border: #ff7f50 1px solid;
  text-align: center;
  position: relative;
}
p.ca_info_list_link a span {
  position: absolute;
  right: 10px;
}
p.ca_info_list_link a:hover {
  transition: 0.5s;
  background: #FFF;
  color: #ff7f50;
}
.ca_info_single_inner {
  margin: 3rem 0 4rem;
  padding: 2rem;
  background: #FBFBFB;
  border: 1px #AAA dotted;
  border-radius: 5px;
}
.ca_info_single_inner_arc {
  margin: 2rem 0;
  font-size: 90%;
  line-height: 2rem;
}
.ca_info_single_inner_arc img {
  max-width: 100%;
  margin: 2rem 0;
}
/*==施工実績==*/
ul.ca_pr_cat {
  margin: 0 0 4rem;
  padding: 0;
  list-style: none;
  text-align: center;
}
ul.ca_pr_cat li {
  display: inline-block;
}
ul.ca_pr_cat li a {
  padding: 0.25rem 1rem;
  text-align: center;
  border-bottom: #AAA 1px dotted;
  margin-right: 0.25rem;
}
ul.ca_pr_cat li a:hover {
  background: #EFEFEF;
  transition: 0.5s;
  border-bottom: #ff7f50 1px dotted;
}
.ca_pr_cat_list {}
p.ca_cat_list_name {
  font-size: 2rem;
  margin-bottom: 1rem;
}
p.ca_cat_back {
  margin: 1rem 0 3rem;
  text-align: right;
}
p.ca_cat_back a {
  text-decoration: underline !important;
}
.ca_pr_arc {
  margin: 3rem 0;
}
.ca_pr_img {
  background: #F6F6F6;
  padding: 3rem 0
}
/**スライドショー設定**/
.slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
}
.prev-arrow {
  left: 0px;
  z-index: 10;
}
.next-arrow {
  right: 0px;
}
.sliderArea {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 0px;
}
.slick-slide {
  margin: 0 5px;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
.slick-prev, .slick-next {
  top: -200%;
  z-index: 1;
}
.slick-prev:before, .slick-next:before {
  color: #000;
}
.slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}
.thumb {
  margin: 20px 0 0;
    text-align: left !important;
}

.thumb_d {
  width: 100%;
  position: relative;
  overflow: hidden !important;
  margin: 2rem auto;
}
.thumb_d::before {
  content: "";
  display: block;
  padding-top: 66%;
}
.thumb_d img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
}











.thumb .slick-slide {
  cursor: pointer;
}
.thumb .slick-slide:hover {
  opacity: .7;
}

.slick_thumb .slick-track {
transform:unset!important;
}

.thumb_slider_inner {
    text-align: left !important;
}

.slick-list{text-align: left !important;}

.thumb_slider_inner img {
    
  max-height: 30vw;
  width: auto;
  margin: 0 auto !important;
  object-fit: contain;
}
/*プロジェクト説明文*/
.ca_pr_text {
  margin: 2rem 0;
  padding: 1rem;
}
.ca_pr_text p {
  font-size: 90%;
}
.ca_pr_tenpo {
  width: 80%;
  margin: 2rem auto;
  padding: 1rem;
}
dl.ca_pr_tenpo_data {
  border: 1px #be6d55 solid;
  font-size: 90%;
  margin-bottom: 0px;
}
dl.ca_pr_tenpo_data dt {
  border-right: 1px #be6d55 solid;
  padding: 0.5rem;
  background: #be6d55;
  color: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
}
dl.ca_pr_tenpo_data dd {
  padding: 0.5rem;
  margin: 0;
}
/*==プロフィール==*/
p.ca_pro_p01 {
  text-align: center;
  margin: 2rem 0;
  font-size: 1.5rem;
}
.ca_pro_a {
  margin: 4rem auto;
  width: 80%;
}
.ca_pro_a_left {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.ca_pro_a_left_inner {
  padding: 2rem;
}
.ca_pro_b {
  margin: 4rem auto;
  width: 90%;
}
.ca_pro_b_right_inner {
  padding: 0 2rem;
  font-size: 90%;
}
.ca_pro_b_left {
  height: 100%;
}
.ca_pro_b_left img {
  overflow: hidden;
  height: 100%;
  width: auto;
  object-fit: contain;
}
.ca_pro_b_right_inner {
  height: 100%;
}
.ca_pro_b_right_inner span {
  font-size: 100%;
  font-weight: bold;
}
.ca_pro_c {
  margin: 4rem auto;
}
.ca_pro_d {
  margin: 4rem auto;
  padding: 0 2rem;
}
p.ca_pro_d_p01 {
  position: relative;
  padding: 1rem;
  text-align: center;
  font-size: 1.5rem;
  font-weight: normal;
  margin-bottom: 2rem;
}
p.ca_pro_d_p01:before {
  position: absolute;
  bottom: -5px;
  left: calc(50% - 30px);
  width: 60px;
  height: 1px;
  content: '';
  border-radius: 3px;
  background: #000;
}
.ca_pro_d_img {
  width: 70%;
  position: relative;
  overflow: hidden !important;
  margin: 2rem auto;
}
.ca_pro_d_img::before {
  content: "";
  display: block;
  padding-top: 50%;
}
.ca_pro_d_img img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
}
p.ca_pro_d_p02 {
  width: 80%;
  margin: 1rem auto 3rem;
  text-align: left;
}
.ca_pro_map {
  width: 80%;
  margin: 3rem auto;
}
/*==建築フロー==*/
.ca_flow {
  margin: 3rem auto;
  width: 80%;
}
.ca_flow_left {
  width: 150px;
  height: 100%;
}
.ca_flow_a {
  margin-bottom: 0.5rem;
}
.ca_flow_b {
  background: #ff7f50;
}
.ca_flow_c {
  background: #ff7f50;
  padding: 1rem 0;
  text-align: center;
  color: #FFF;
}
p.ca_flow_c_p01 {
  font-size: 90%;
  margin-bottom: 0;
}
p.ca_flow_c_p02 {
  font-size: 3rem;
  margin-bottom: 0;
  line-height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
.ca_flow_d {
  background: #FFF;
}
.triangle_a {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #FFF transparent transparent transparent;
  border-width: 15px 75px 0px 75px;
}
.triangle_b {
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #ff7f50 transparent transparent transparent;
  border-width: 15px 75px 0px 75px;
}
.ca_flow_e {
  height: 100%;
  padding: 0.5rem 1rem;
}
p.ca_flow_p01 {
  font-size: 1.5rem;
  color: #ff7f50;
  font-weight: bold;
  margin-bottom: 0.5rem;
}
p.ca_flow_p02 {
  margin-bottom: 2rem;
  font-size: 90%;
}
/*==Q&A==*/
.ca_qa_a {
  background: #666;
  color: #FFF;
  font-size: 1.2rem;
  padding: 1rem;
}
.ca_qa_b {
  background: #FFF;
  font-size: 0.9rem;
  padding: 1rem;
}
/*==問い合わせ==*/
span.red {
  color: #f00;
}
.ca_contact_inner {
  margin: 0rem 0 4rem;
  padding: 2rem;
  background: #FBFBFB;
  border: 1px #AAA dotted;
  border-radius: 5px;
}
dl.ca_contact {
  margin-bottom: 1rem;
  border-bottom: 1px dotted#aaa;
  height: 100%;
}
dl.ca_contact dt {}
dl.ca_contact dt span {
  font-size: 80%;
  margin-left: 0.5rem;
}
.ca_contact_dt_inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 100%;
  margin: 0;
  padding: 1rem;
}
dl.ca_contact dd {
  padding: 1rem;
  height: 100%;
}
/*===スマホ用レイアウト===*/
/*ヘッダーメニュー*/
@media screen and (max-width: 1040px) {
  .sp_head h1 img {
    max-width: 150px !important;
    margin: 10px;
  }
  .ca_pc_header {
    display: none;
  }
  .sp_head {
    display: inherit !important;
    width: 100%;
    background: #FFF;
    z-index: 9999;
    height: 80px;
    border-bottom: 1px solid #FFF;
  }
  header h1 img {
    max-width: 150px !important;
    margin: 20px;
  }
  #g-nav {
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position: fixed;
    z-index: -1;
    opacity: 0; /*はじめは透過0*/
    /*ナビの位置と形状*/
    top: 0;
    width: 100%;
    height: 100vh; /*ナビの高さ*/
    /*動き*/
    transition: all 0.3s;
  }
  /*アクティブクラスがついたら透過なしにして最前面へ*/
  #g-nav.panelactive {
    opacity: 1;
    z-index: 999;
    background: #ff7f50;
    opacity: 0.9;
  }
  /*ナビゲーションの縦スクロール*/
  #g-nav.panelactive #g-nav-list {
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh; /*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
  /*ナビゲーション*/
  #g-nav ul {
    display: none;
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top: 20%;
    left: 0%;
    padding: 0;
  }
  #g-nav.panelactive ul {
    display: block;
    width: 100%;
  }
  /*リストのレイアウト設定*/
  #g-nav li {
    list-style: none;
    text-align: center;
    border-bottom: 1px solid #FFF;
    font-size: 1.5rem;
  }
  #g-nav li a {
    color: #FFF;
    text-decoration: none;
    padding: 1rem;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: bold;
  }
  #g-nav li a:hover {
    background: #FFF;
    color: #ff7f50;
    transition: 0.5s;
  }
  /*========= ボタンのためのCSS ===============*/
  .openbtn1 {
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    background: #FFF;
  }
  /*×に変化*/
  .openbtn1 span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #333;
    width: 45%;
  }
  .openbtn1 span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn1 span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn1 span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
  }
  .openbtn1.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn1.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
  }
  /*PC用スライド*/
  .ca_slide {
    width: 100%;
    height: 300px;
    position: relative;
    margin-bottom: 5rem;
  }
  .ca_slide_front {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 300px;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 10;
  }
  .ca_slide_front img {
    max-width: auto;
    max-height: 250px
  }
  .bxslider {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 300px;
    z-index: 1;
    left: 0vw; /* (100vw - SlideWidth) / 2 */
    overflow: visible !important;
    overflow: hidden;
  }
  .bx-wrapper {
    box-shadow: none !important;
    border: none !important;
    margin: 0 !important;
    height: 300px;
  }
  li.slide {
    width: 100vw !important;
    height: 300px;
    max-width: 100%;
    position: relative;
    overflow: hidden !important;
    margin: 0 auto 1rem;
  }
  li.slide::before {
    content: "";
    display: block;
    padding-top: 50%;
  }
  li.slide img {
    width: 99%;
    height: 450px;
    position: absolute;
    top: 0;
    object-fit: cover;
    object-position: center center;
  }
  /* bxSlider */
  .bx-wrapper {}
}
/*スマホレイアウト*/
@media screen and (max-width: 768px) {
  html {
    font-size: 110%;
  }
  /*==TOPページ==*/
  h2.ca_h201 {
    position: relative;
    padding: 1rem;
    text-align: center;
    font-size: 1.5rem;
    font-weight: normal;
    margin-bottom: 3rem;
  }
  h2.ca_h201:before {
    position: absolute;
    bottom: -5px;
    left: calc(50% - 30px);
    width: 60px;
    height: 1px;
    content: '';
    border-radius: 3px;
    background: #000;
  }
  dl.ca_news {
    overflow-y: auto;
    max-height: 200px;
    min-height: 20px;
    padding-top: 1rem;
    margin-bottom: 5rem;
  }
  dl.ca_news dt {
    font-weight: normal;
    text-align: left;
    margin: 0 0 0.5rem;
    padding: 0;
  }
  dl.ca_news dd {
    font-weight: normal;
    margin: 0;
    padding: 0;
  }
  dl.ca_news dd a {
    display: block;
  }
  dl.ca_news dd a:hover {
    text-decoration: underline !important;
    transition: 0.5s;
  }
  .ca_news_list {
    padding: 0rem 0.5rem 0.5rem;
    border-bottom: 1px #aaa dotted;
    margin-bottom: 1rem;
  }
  /*進行中のプロジェクト*/
  .ca_project_list {
    margin-bottom: 5rem;
  }
  .ca_project_list_b {
    margin-bottom: 7rem;
  }
  .ca_project {
    margin-bottom: 1rem;
    height: auto;
  }
  .ca_project_inner {
    padding: 0.25rem;
    height: 100%;
  }
  .ca_project_inner p {
    margin-bottom: 0;
    font-size: 90%;
    padding: 0 0.5rem;
  }
  .ca_project_inner_c {
    width: 100%;
    max-width: 100%;
    position: relative;
    overflow: hidden !important;
    margin: 0 auto 0.25rem;
  }
  .ca_project_inner_c::before {
    content: "";
    display: block;
    padding-top: 66%;
  }
  .ca_project_inner_c img {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
  }
  .ca_project_inner_c :hover {
    opacity: 0.8;
    transition: 0.5s;
  }
  .ca_project_inner_d {
    padding: 0.25rem;
    height: auto;
    margin-bottom: 1rem;
    background: #EFEFEF;
  }
  .ca_project_inner_d p {
    text-align: center;
    margin-bottom: 0.5rem;
    padding: 0 0.5rem;
    display: block;
  }
  .ca_project_inner_e {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
  .ca_project_inner_e p {
    text-align: left !important;
  }
  p.ca_project_inner_link {
    width: 98%;
    text-align: center;
    margin: 0 auto;
    padding: 0;
  }
  p.ca_project_inner_link a {
    width: 98%;
    text-align: center;
    background: #ff7f50;
    color: #FFF;
    display: block;
    padding: 0.5rem 0;
    position: inherit !important;
    bottom: 0px;
    left: 1%;
    margin: 0.5rem auto 0;
    border: #ff7f50 1px solid;
  }
  p.ca_project_inner_link a span {
    position: absolute;
    right: 10px;
  }
  p.ca_project_inner_link a:hover {
    transition: 0.5s;
    background: #FFF;
    color: #ff7f50;
  }
  .ca_profile {
    margin-bottom: 5rem;
  }
  .ca_profile_x {
    margin-bottom: 2rem;
  }
  .ca_profile_a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
  .ca_profile_a_inner {
    width: 100%;
  }
  h2.ca_h202 {
    position: relative;
    padding: 1rem;
    text-align: left;
    font-size: 1.5rem;
    font-weight: normal;
    margin-bottom: 2rem;
  }
  h2.ca_h202:before {
    position: absolute;
    bottom: -5px;
    width: 60px;
    height: 1px;
    content: '';
    border-radius: 3px;
    background: #000;
  }
  p.ca_profile_p01 {
    font-size: 80%;
    padding: 0 1rem;
  }
  p.ca_profile_p02 {
    width: 95%;
    margin: 0 auto;
    padding: 0rem 1rem;
  }
  p.ca_profile_p02 a {
    width: 100%;
    background: #ff7f50;
    color: #FFF;
    display: block;
    padding: 0.5rem 0rem;
    margin: 2rem auto 0;
    border: #ff7f50 1px solid;
    text-align: center;
    position: relative;
  }
  p.ca_profile_p02 a span {
    position: absolute;
    right: 10px;
  }
  p.ca_profile_p02 a:hover {
    transition: 0.5s;
    background: #FFF;
    color: #ff7f50;
  }
  .ca_profile_b {
    height: 100%;
  }
  .ca_profile_b img {
    width: 100%;
    max-height: 40vw;
    height: auto;
    object-fit: cover;
    object-position: center center;
  }
  /*==固定ページ==*/
  .ca_page_title {
    background: #F1F1F1;
    padding: 0.25rem;
  }
  .ca_page_title_inner {
    font-size: 1.5rem;
    text-align: center;
  }
  .ca_page_contents {
    margin: 3rem 0;
  }
  .ca_page_back {
    margin: 1rem 0;
  }
  /*下部コンタクト*/
  .ca_page_contact {
    border-top: #AAA 1px dotted;
    margin-top: 4rem;
  }
  .ca_page_contact_left {
    background: #FFF;
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .ca_page_contact_left_inner {
    padding: 2rem 0;
    margin-left: 0%;
  }
  p.ca_page_contact_left_inner_p01 {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 1rem;
  }
  p.ca_page_contact_left_inner_p02 {
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
  p.ca_page_contact_left_inner_p02 a {
    display: block;
    color: #000;
    background: #DDD;
    padding: 0.5rem 2rem;
    font-size: 1.5rem;
  }
  .ca_page_contact_right {
    background: #ff7f50;
    height: 100%;
    display: inherit;
  }
  .ca_page_contact_right_inner {
    padding: 2rem 0;
    margin-right: 0%;
  }
  p.ca_page_contact_right_inner_link {
    width: 90%;
    padding: 0rem 1rem;
    margin: 1rem auto 2rem;
  }
  p.ca_page_contact_right_inner_link a {
    width: 100%;
    background: #ff7f50;
    color: #FFF;
    display: block;
    padding: 0.5rem 0rem;
    margin: 2rem auto 0;
    border: #FFF 1px solid;
    text-align: center;
    position: relative;
  }
  p.ca_page_contact_right_inner_link a span {
    position: absolute;
    right: 10px;
  }
  p.ca_page_contact_right_inner_link a:hover {
    transition: 0.5s;
    background: #FFF;
    color: #ff7f50;
    border: #ff7f50 1px solid;
  }
  p.ca_page_back_link {
    width: 90%;
    padding: 0rem 1rem;
    margin: 1rem auto 0rem;
  }
  p.ca_page_back_link a {
    width: 100%;
    background: #FFF;
    color: #ff7f50;
    display: block;
    padding: 0.5rem 0rem;
    margin: 2rem auto 0;
    border: #ff7f50 1px solid;
    text-align: center;
    position: relative;
  }
  p.ca_page_back_link a span {
    position: absolute;
    right: 10px;
  }
  p.ca_page_back_link a:hover {
    transition: 0.5s;
    background: #ff7f50;
    color: #FFF;
  }
  /*==新着情報==*/
  .ca_info_list {
    margin-bottom: 2rem;
    border-bottom: 1px dotted #DDD;
    display: block;
    padding: 1rem;
  }
  .ca_info_list:hover {
    border-bottom: 1px dotted #ff7f50;
    transition: 0.5s;
  }
  p.ca_info_list_date {}
  p.ca_info_list_title {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
  p.ca_info_list_text {
    font-size: 0.9rem;
    margin-bottom: 2rem;
  }
  p.ca_info_list_link {
    width: 90%;
    padding: 0rem 0rem;
    margin: 1rem auto 1rem;
  }
  p.ca_info_list_link a {
    width: 100%;
    background: #ff7f50;
    color: #FFF;
    display: block;
    padding: 0.5rem 0rem;
    margin: 2rem auto 0;
    border: #ff7f50 1px solid;
    text-align: center;
    position: relative;
  }
  p.ca_info_list_link a span {
    position: absolute;
    right: 10px;
  }
  p.ca_info_list_link a:hover {
    transition: 0.5s;
    background: #FFF;
    color: #ff7f50;
  }
  .ca_info_single_inner {
    margin: 3rem 0 4rem;
    padding: 2rem;
    background: #FBFBFB;
    border: 1px #AAA dotted;
    border-radius: 5px;
  }
  .ca_info_single_inner_arc {
    margin: 2rem 0;
    font-size: 90%;
    line-height: 2rem;
  }
  .ca_info_single_inner_arc img {
    max-width: 100%;
    margin: 2rem 0;
  }
  /*==施工実績==*/
  ul.ca_pr_cat {
    margin: 0 0 2rem;
    padding: 0;
    list-style: none;
    text-align: center;
  }
  ul.ca_pr_cat li {
    display: inline-block;
    width: 48%;
    margin-bottom: 0.5rem;
  }
  ul.ca_pr_cat li a {
    width: 100%;
    padding: 0.25rem 1rem;
    text-align: left;
    border-bottom: #AAA 1px dotted;
    margin-right: 0.25rem;
      font-size: 80%;
      display: block;
  }
  ul.ca_pr_cat li a:hover {
    background: #EFEFEF;
    transition: 0.5s;
    border-bottom: #ff7f50 1px dotted;
  }
  .ca_pr_cat_list {}
  p.ca_cat_list_name {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
    

      
  p.ca_cat_back {
    margin: 1rem 0 3rem;
    text-align: right;
  }
  p.ca_cat_back a {
    text-decoration: underline !important;
  }
  .ca_pr_arc {
    margin: 3rem 0;
  }
  .ca_pr_img {
    background: #F6F6F6;
    padding: 1rem 0
  }
  /**スライドショー設定**/
  .slick-arrow {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .prev-arrow {
    left: 0px;
    z-index: 10;
    height: 50px !important;
  }
  .next-arrow {
    right: 0px;
    height: 50px !important;
  }
  .sliderArea {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 0px;
  }
  .slick-slide {
    margin: 0 5px;
  }
  .slick-slide img {
    width: 100%;
    height: auto;
  }
  .slick-prev, .slick-next {
    top: -200%;
    z-index: 1;
  }
  .slick-prev:before, .slick-next:before {
    color: #000;
  }
  .slick-slide {
    transition: all ease-in-out .3s;
    opacity: .2;
  }
  .slick-active {
    opacity: 1;
  }
  .slick-current {
    opacity: 1;
  }
  .thumb {
    margin: 10px 0 0;
  }
  .thumb .slick-slide {
    cursor: pointer;
  }
  .thumb .slick-slide:hover {
    opacity: .7;
  }
   
    
  .thumb_slider_inner img {
    max-height: 50vw;
    width: auto;
    margin: 0 auto;
    object-fit: contain;
  }
    
    .thumb_d {
  width: 100%;
  position: relative;
  overflow: hidden !important;
  margin: 0rem auto;
}
.thumb_d::before {
  content: "";
  display: block;
  padding-top: 100%;
}
.thumb_d img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  object-fit: cover;
}
    
    
  /*プロジェクト説明文*/
  .ca_pr_text {
    margin: 2rem 0;
    padding: 1rem;
  }
  .ca_pr_text p {
    font-size: 90%;
  }
  .ca_pr_tenpo {
    width: 100%;
    margin: 2rem auto;
    padding: 1rem;
  }
  dl.ca_pr_tenpo_data {
    border: 1px #ff7f50 solid;
    font-size: 90%;
    margin-bottom: 0px;
  }
  dl.ca_pr_tenpo_data dt {
    border-right: 1px #be6d55 solid;
    padding: 0.5rem;
    background: #be6d55;
    color: #FFF;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  dl.ca_pr_tenpo_data dd {
    padding: 0.5rem;
    margin: 0;
  }
  /*==プロフィール==*/
  p.ca_pro_p01 {
    text-align: center;
    margin: 2rem 0;
    font-size: 1.5rem;
  }
  .ca_pro_a {
    margin: 4rem auto;
    width: 100%;
  }
  .ca_pro_a_left {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
  .ca_pro_a_left_inner {
    padding: 2rem 0;
  }
  .ca_pro_b {
    margin: 2rem auto;
    width: 90%;
  }
  .ca_pro_b_right_inner {
    padding: 1rem 0rem;
    font-size: 90%;
  }
  .ca_pro_b_left {
    height: 100%;
  }
  .ca_pro_b_left img {
    overflow: hidden;
    height: 100%;
    width: auto;
    object-fit: contain;
  }
  .ca_pro_b_right_inner {
    height: 100%;
  }
  .ca_pro_b_right_inner span {
    font-size: 100%;
    font-weight: bold;
  }
  .ca_pro_c {
    margin: 4rem auto;
  }
  .ca_pro_d {
    margin: 4rem auto;
    padding: 0 0rem;
  }
  p.ca_pro_d_p01 {
    position: relative;
    padding: 1rem;
    text-align: center;
    font-size: 1.5rem;
    font-weight: normal;
    margin-bottom: 2rem;
  }
  p.ca_pro_d_p01:before {
    position: absolute;
    bottom: -5px;
    left: calc(50% - 30px);
    width: 60px;
    height: 1px;
    content: '';
    border-radius: 3px;
    background: #000;
  }
  .ca_pro_d_img {
    width: 100%;
    position: relative;
    overflow: hidden !important;
    margin: 2rem auto;
  }
  .ca_pro_d_img::before {
    content: "";
    display: block;
    padding-top: 50%;
  }
  .ca_pro_d_img img {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    object-fit: cover;
  }
  p.ca_pro_d_p02 {
    width: 100%;
    margin: 1rem auto 3rem;
    text-align: left;
  }
  .ca_pro_map {
    width: 100%;
    margin: 3rem auto;
  }
  /*==建築フロー==*/
  .ca_flow {
    margin: 3rem auto;
    width: 100%;
  }
  .ca_flow_left {
    width: 100%;
    height: 100%;
  }
  .ca_flow_a {
    width: 100%;
    margin: 0 auto;
  }
  .ca_flow_b {
    width: 150px;
    margin: 0 auto;
    background: #ff7f50;
  }
  .ca_flow_c {
    width: 150px;
    margin: 0 auto;
    background: #ff7f50;
    padding: 1rem 0;
    text-align: center;
    color: #FFF;
  }
  p.ca_flow_c_p01 {
    font-size: 90%;
    margin-bottom: 0;
  }
  p.ca_flow_c_p02 {
    font-size: 2rem;
    margin-bottom: 0;
    line-height: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
  .ca_flow_d {
    background: #FFF;
    width: 150px;
    margin: 0 auto 2rem;
  }
  .triangle_a {
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #FFF transparent transparent transparent;
    border-width: 15px 75px 0px 75px;
  }
  .triangle_b {
    width: 0;
    height: 0;
    border-style: solid;
    border-color: #ff7f50 transparent transparent transparent;
    border-width: 15px 75px 0px 75px;
  }
  .ca_flow_e {
    width: 100% !important;
    height: 100%;
    padding: 0.5rem 1rem;
  }
  p.ca_flow_p01 {
    font-size: 1.5rem;
    color: #ff7f50;
    font-weight: bold;
    margin-bottom: 0.5rem;
  }
  p.ca_flow_p02 {
    margin-bottom: 2rem;
    font-size: 90%;
  }
  /*==Q&A==*/
  .ca_qa_a {
    background: #666;
    color: #FFF;
    font-size: 1.2rem;
    padding: 1rem;
  }
  .ca_qa_b {
    background: #FFF;
    font-size: 0.9rem;
    padding: 1rem;
  }
  /*==問い合わせ==*/
  span.red {
    color: #f00;
  }
  .ca_contact_inner {
    margin: 0rem 0 4rem;
    padding: 0rem 0 2rem;
    background: #FBFBFB;
    border: 1px #AAA dotted;
    border-radius: 5px;
  }
  dl.ca_contact {
    margin-bottom: 1rem;
    border-bottom: 1px dotted#aaa;
    height: auto;
  }
  dl.ca_contact dt {}
  dl.ca_contact dt span {
    font-size: 80%;
    margin-left: 0.5rem;
  }
  .ca_contact_dt_inner {
    display: inherit;
    height: auto;
    margin: 0;
    padding: 0.5rem;
  }
  .ca_contact_dt_inner p {
    margin: 0;
  }
  dl.ca_contact dd {
    padding: 0.5rem;
    height: auto;
  }
}