@charset "utf-8";
:root {
  --c-rd: #cd393d;
  --c-or: #eca723;
  --c-ye: #f2ca22;
  --c-gr: #2AAF7B;
  --c-gr2: #eaf7f2;
  --c-aq: #1c9ac6;
  --c-db: #225175;
  --c-pu: #9c5d99;
  --c-gy: #595757;
  --c-be: #F3EEE2;
}
.clr-rd {
  color: #cd393d !important;
}
.clr-or {
  color: #eca723 !important;
}
.clr-ye {
  color: #f2ca22 !important;
}
.clr-gr {
  color: #2AAF7B !important;
}
.clr-aq {
  color: #1c9ac6 !important;
}
.clr-db {
  color: #225175 !important;
}
.clr-pu {
  color: #9c5d99 !important;
}
.clr-gy {
  color: #595757 !important;
}
.bg-rd {
  background-color: #cd393d !important;
}
.bg-or {
  background-color: #eca723 !important;
}
.bg-ye {
  background-color: #f2ca22 !important;
}
.bg-gr {
  background-color: #2AAF7B !important;
}
.bg-gr2 {
  background-color: #eaf7f2 !important;
}
.bg-aq {
  background-color: #1c9ac6 !important;
}
.bg-db {
  background-color: #225175 !important;
}
.bg-pu {
  background-color: #9c5d99 !important;
}
.bg-gy {
  background-color: #eeeeee !important;
}
.bg-be {
  background-color: #F3EEE2 !important;
}
.clr-rb span:nth-of-type(1) {
  color: var(--c-rd);
}
.clr-rb span:nth-of-type(2) {
  color: var(--c-or);
}
.clr-rb span:nth-of-type(3) {
  color: var(--c-ye);
}
.clr-rb span:nth-of-type(4) {
  color: var(--c-gr);
}
.clr-rb span:nth-of-type(5) {
  color: var(--c-aq);
}
.clr-rb span:nth-of-type(6) {
  color: var(--c-db);
}
.clr-rb span:nth-of-type(7) {
  color: var(--c-pu);
}
.clr-rb span:nth-of-type(8) {
  color: var(--c-rd);
}
.clr-rb span:nth-of-type(9) {
  color: var(--c-or);
}
.clr-rb span:nth-of-type(10) {
  color: var(--c-ye);
}
.clr-rb span:nth-of-type(11) {
  color: var(--c-gr);
}
.clr-rb span:nth-of-type(12) {
  color: var(--c-aq);
}
.clr-rb span:nth-of-type(13) {
  color: var(--c-db);
}
.clr-rb span:nth-of-type(14) {
  color: var(--c-pu);
}
.clr-rb span:nth-of-type(15) {
  color: var(--c-rd);
}
.clr-rb span:nth-of-type(16) {
  color: var(--c-or);
}
.clr-rb span:nth-of-type(17) {
  color: var(--c-ye);
}
.clr-rb span:nth-of-type(18) {
  color: var(--c-gr);
}
.clr-rb span:nth-of-type(19) {
  color: var(--c-aq);
}
.clr-rb span:nth-of-type(20) {
  color: var(--c-db);
}
.clr-rb span:nth-of-type(21) {
  color: var(--c-pu);
}
.clr-rb span:nth-of-type(22) {
  color: var(--c-rd);
}
.clr-rb span:nth-of-type(23) {
  color: var(--c-or);
}
.clr-rb span:nth-of-type(24) {
  color: var(--c-ye);
}
.clr-rb span:nth-of-type(25) {
  color: var(--c-gr);
}
.clr-rb span:nth-of-type(26) {
  color: var(--c-aq);
}
.clr-rb span:nth-of-type(27) {
  color: var(--c-db);
}
.clr-rb span:nth-of-type(28) {
  color: var(--c-pu);
}
.clr-wh {
  color: #fff !important;
}
:where(figure) {
  margin: 0;
}


@font-face {
  font-family: "MyFont";
  font-weight: 400;
  src: url("DS-kirigirisu.woff") format("woff"),
    url("DS-kirigirisu.TTF") format(truetype);
}
.fo-krgrs {
  font-family: "MyFont", sans-serif;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.1em;
}
.fo-din {
  font-family: "din-condensed", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1;
}
.fo-kite {
  font-family: "Kite One", serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "halt" on;
}
.fo-edu {
  font-family: "Edu QLD Beginner", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
}
.fo-roboto{
font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}


.txt-lh {
  line-height: 1.8;
}
.bg-wh {
  background: #fff !important;
}
.bg-bk {
  background: #333 !important;
}

.btn {
  max-width: 45rem;
  margin: 4rem auto 0;
  
  border-radius: 10rem;
}
.btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: var(--c-rd);
  color: var(--c-ye);
  font-weight: 600;
  font-size: 2.4rem;
  text-align: center;
  padding: 2.5rem 1rem;
  border-radius: 10rem;
  
}
.btn a::after {
  content: "";
  display: block;
  background: url("../img/btn_arrow_btm_ye.svg") center center no-repeat;
  background-size: contain;
  width: 2.9rem;
  height: 2.9rem;
  margin-left: 2rem;
  z-index: 5;
}
.btn a::before {
  content: "";
  border-radius: 10rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: var(--c-gr);
  width: 100%;
  height: 100%;
  transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: top;
 
}
.btn a:hover:before {
  transform: scale(1, 1);
}
.btn a:hover {
  color: #fff;
}
.btn a span {
  position: relative;
  z-index: 10;
}
.btn._green a {
  background: #9cb081;
  color: #fff;
  box-shadow: 0.3rem 0.4rem 0 #6e7c5b;
}
.btn._green a::before {
  background: #ffe08b;
  box-shadow: 0.3rem 0.4rem 0 #ffe08b;
}
.btn._green a:hover {
  color: #000;
}

/*header
---------------------------------------------------------*/
#header {
  position: absolute;

  z-index: 999;
  width: 100%;
  max-width: 130rem;
  left: 0;
  right: 0;
  margin: auto;
  height: 5em;
}

#header ._logo h1{
	font-size: 1.6rem;
		background: url("../img/head-logo-leaf01.svg") no-repeat left center,url("../img/head-logo-leaf02.svg") no-repeat right center;
		background-size: contain;
		padding:0 1.5rem;
		margin-right: 1rem;
}
#header ._logo img{
	max-height: 2.6rem;

}


.nav {
  gap: 0 2.5rem;
}
.nav a {
  display: block;

  font-size: 1.4rem;
  letter-spacing: 0.05em;
  position: relative;
}
.nav a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -0.3rem;
  width: 0;
  height: 1px;
  background: #000;
  transition: 0.4s ease-out;
}
.nav a:hover::after {
  width: 100%;
}
.menuIconWrap {
  display: none;
}
/*footer
---------------------------------------------------------*/
#footer {
  padding: 4rem 0;
}
.fLogo {
  max-width: 18.7rem;
  margin-right: 4rem;
}
.footBox {
  font-size: 1.2rem;
  text-align: left;
  line-height: 1.6;
}
.footBox big {
  font-size: 130%;
}
.copyRight {
  color: #959595;
  font-size: 1.2rem;
  margin-top: 4rem;
}
#side {
  position: fixed;
  right: 2vw;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  display: inline-block;
  left: auto;
  z-index: 9999;
}
.sideNav a {
  display: block;
  font-size: 1rem;
  color: var(--c-rd);
 background: var(--c-ye);
  padding: 1.5rem;
  letter-spacing: 0.15em;
  font-weight: 500;


}
.sideNav a::before {
  content: "";
  display: inline-block;
  background: url("../img/icon_side01.svg") center center no-repeat;
  background-size: contain;
  width: 1.4rem;
  height: 1.3rem;
  margin-bottom: 0.5rem;
  margin-right: -0.2rem;
}
.sideNav li:nth-of-type(2) a {
  background: var(--c-aq);
  color: #fff;
}
.sideNav li:nth-of-type(2) a::before {
  background-image: url("../img/icon_side02.svg");
  width: 1.2rem;
  height: 1.2rem;
}
.sideNav a:hover {
  background: var(--c-aq);
}
.sideNav li:nth-of-type(2) a:hover {
  background: #f1f1f1;
}
.goTop {
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  width: 5rem;
  height: 5rem;
  z-index: 9999;
  background: #fff;
}
.goTop a {
  display: block;
  width: 100%;
  height: 100%;
  background: url("../img/gotop.svg") center center no-repeat;
  background-size: auto 32%;
  position: relative;
  z-index: 1;
}
.goTop::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: var(--c-aq);
  transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scaleX(0);
}
.goTop:hover::before {
  transform: scale(1);
}
.goTop:hover a {
  background-image: url("../img/gotop_wh.svg");
}
.btmFix {
  opacity: 0;
  visibility: hidden;
  transition: 0.4s;
  position: fixed;
  bottom: -5rem;
  left: 0;
  right: 0;
  z-index: 999;
  margin: 0 auto;
  max-width: 50rem;
  pointer-events: none;
}
.btmFix.active {
  opacity: 1;
  visibility: visible;
  bottom: 1rem;
  pointer-events: auto;
}
.btmFix .close {
  position: absolute;
  top: 0.3rem;
  right: 0.5rem;
  font-size: 1.8rem;
  color: #fff;
  z-index: 10;
  cursor: pointer;
}
.btmFix .img {
  max-width: 7.5rem;
  margin-left: 2rem;
}
.btmFixCont {
  position: relative;
  background: var(--c-rd);
  padding: 2rem 2rem 1rem;
  box-shadow: 0 0px 20px rgba(61, 61, 61, 0.25);
}
.btmFixCont::after {
  content: "";
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 1rem;
  margin: 0 auto;
  z-index: 1;
}

/*contents
---------------------------------------------------------*/


.mainArea{
	padding: 7rem 0;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mvwrap{
	background: url("../img/bg01.jpg");
	width: 172rem;
	margin: 0 auto;
	border-radius: 20px;
	padding: 2rem;
	position: relative;
}
.mvmain{
	max-width: 58rem;
	max-width: 35%;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.mvmain ._mainimg{
	margin: 0 0 2rem;
	
}
.mvmain ._logo{
	margin: 0 0 2rem;
}
.mvmain ._price figure{
	margin-bottom: 1rem;
}
.mvmain ._price p{
	text-align: left;
max-width: 50rem;
	margin: 0 auto 2rem;
	font-size: 1.2rem;
}
.mvmain ._present img{
	max-height: 7rem;
}

.mvimg img{
	position: absolute;
	left: 0;
	top: 0;
}
.mvimg .mvimg01{
left: 12%;
top: 5rem;
max-width: 16%;
}
.mvimg .mvimg02{
left: 5%;
top: 30rem;
max-width: 11%;
}
.mvimg .mvimg03{
left: 20%;
  top: 26rem;
  max-width: 10%;
}
.mvimg .mvimg04{
left: 10%;
  top: 41rem;
  max-width: 12%;
}
.mvimg .mvimg05{
left: 3%;
  top: 59rem;
  max-width: 9%;
}
.mvimg .mvimg06{
left: 15%;
  top: 68rem;
  max-width: 13%;
}
.mvimg .mvimg07{
left: 69%;
  top: 9rem;
  max-width: 6%;
}
.mvimg .mvimg08{
left: 78%;
  top: 14rem;
  max-width: 8%;
}
.mvimg .mvimg09{
left: 68%;
  top: 20em;
  max-width: 11%;
}
.mvimg .mvimg10{
left: 80%;
  top: 25em;
  max-width: 6%;
}
.mvimg .mvimg11{
left: 68%;
  top: 41em;
  max-width: 9%;
}
.mvimg .mvimg12{
left: 77%;
  top: 31em;
  max-width: 21%;
}

.mvimg .mvno1 img{
position: relative;
	left: auto;
	top: auto;
}


.mvimg .mvno1{
position: absolute;
left: 85%;
  top: 1em;
  max-width: 12%;
}

.mvimg ._mvcontest{
	max-width: 65%;
}
/*
.mvimg .mvcontest{
left: 86.5%;
  top: 37%;
  max-width: 8%;
}*/

.scrollWrap{
	position: absolute;
	bottom: -4rem;
	margin: 0 auto;
	left: 0;
	right: 0;
}

.scrollWrap .txt::after {
  content: "";
  background: url("../img/scroll_arrow.svg") bottom center no-repeat;
    background-size: auto;
  background-size: contain;
  display: block;
  width: 2.9rem;
  height: 1.6rem;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  bottom: -1.5rem;
  -webkit-animation: scrollarr 1.2s ease infinite;
  animation: scrollarr 1.2s ease infinite;
}


@keyframes scrollarr {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  10% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  75% {
    opacity: 1;
    -webkit-transform: translate(0, 1rem);
    transform: translate(0, 1rem);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 1rem);
    transform: translate(0, 1rem);
  }
}

/****/
.topconceptwrap{
	background:url("../img/bg_concept.png") no-repeat top center var(--c-gr2);
	background-size: contain;
	
}

.topconceptbox{
	background: #fff;
	padding: 5rem;
	max-width: 95rem;
	margin: 0 auto;
}
.topconceptbox h2{
	font-size: 4rem;
	margin-bottom: 2rem;
}
.topconceptbox h3{
	font-size: 2.4rem;
	margin-bottom: 4rem;
}
.topconceptbox p{
	font-size: 2rem;
	line-height: 2.2;
}
.cpointwrap{
	gap:6rem;
	margin-bottom: 8rem;
}
.cpointbox{
	background: var(--c-gr2);
	border-radius: 999px;
	aspect-ratio: 1 / 1;
	flex-basis: 30%;
}
.cpointbox img{
mix-blend-mode: multiply;
margin: -5rem 0 2rem;
max-height: 14rem;
}
.cpointbox h3{
	color: var(--c-gr);
	font-size: 2.8rem;
	margin: 0 0 1rem;
}
.cpointbox p{
	font-size: 2.4rem;
	font-weight: 600;
}

.reasonmainwrap{
	position: relative;
	margin-bottom: 5rem;
}
.reasonmainbox{
max-width: 45%;
  margin: 0 auto;
  position: relative;
  z-index: 2;

}


.reasonmainimg img{
	position: absolute;
	top: 0;
	left: 0;
}
.reasonmainimg ._img02{
	top: 24rem;
  left: 10%;
  max-width: 13%;
}
.reasonmainimg ._img03{
top: 0rem;
  left: 77%;
  max-width: 14%;
}
.reasonmainimg ._img04{
top: 19rem;
  left: 81%;
  max-width: 24%;
}

.titlebox h3{
display: inline-block;
max-width: 40rem;
width: 100%;
  background: var(--c-gr);
  color: #fff;
  padding: 1rem 3rem;
  border-radius: 99px;
  position: relative;
  margin: 0 0 2rem;
  font-size: 2rem;
}
.titlebox h3::before {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 7px 0 7px;
  border-style: solid;
  border-color: var(--c-gr) transparent transparent transparent;
}

.titlebox h2{
	font-size: 6rem;
	margin-bottom: 4rem;
	letter-spacing: .3rem;
}

.cospalistwrap{
	column-gap: 2rem;
	margin-bottom: 4rem;
}
.cospabox{
	flex-basis: 23%;
	background: var(--c-be);
	border-radius: 10px;
	padding: 3rem 1rem;
	position: relative;
}
.cospabox ._num{
	background:  var(--c-gr);
	color: #fff;
	font-size: 2.4rem;
	font-weight: 700;
	display: inline-flex;
	border-radius: 99px;
	align-items: center;
	justify-content: center;
	width: 6rem;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: -4rem;
	margin: 0 auto;
	left: 0;
	right: 0;
}
.cospabox h3{
	font-size: 2.4rem;
	margin-bottom: 1rem;
}
.cospabox p{
	text-align: left;
	margin: 0 2rem;
}

.rtitle01{
	font-weight: 400;
	margin-bottom: 2rem;
	font-size: 2.4rem;
}

.reasonrenobox{
border-radius: 20px;
background:  var(--c-gr);
overflow: hidden;
margin-bottom: 3rem;
}
.reasonrenobox img{
	flex-basis: 50%;
}
.reasonrenobox ._cont{
	flex-basis: 46%;
	padding-left: 2rem;
}
.reasonrenobox ._cont li{
	color: #fff;
	font-size: 2.6rem;
	font-weight: 500;
	text-align: left;
	line-height: 2;
}
.reasonrenocont{
	position: relative;
}
.reasonrenocont:before{
  content: '';
  display: inline-block;
  border-width: 25px 20px 0 20px;
  border-style: solid;
  border-color: var(--c-gr) transparent transparent transparent;
  line-height: 1;
}

.reasonrenocont h3{
	font-size: 4rem;
	font-weight: 600;
	margin: 0 0 2rem;
}
.reason_reno_img01{
position: absolute;
  right: -12rem;
  bottom: -4rem;
  max-width: 28%;
}


/*works***/
.workslist{
	flex-basis: 29%;
	margin: 0 2% 5rem;
}
.workslist ._img {
	position: relative;
	margin-bottom: 3rem;
}
.workslist ._img figure{
	position: relative;
}
.workslist ._img figcaption{
	position: absolute;
	left: .5rem;
	bottom: .5rem;
	color: #fff;
	font-size: 1.4rem;
}
.workslist ._img ._before{
	position: absolute;
	right: -2rem;
	bottom: -1rem;
	max-width: 40%;
	
}
.workslist ._img img{
	border-radius: 10px;
}

.workslist ._info{
	font-size: 1.4rem;
	margin-bottom: 1rem;
}
.workslist ._type{
	background: var(--c-gr);
	color: #fff;
	padding: 0 1rem;
	margin-right: 1rem;
	flex-shrink: 0;
}

.workslist ._price{
	text-align: left;
	margin-bottom: 1rem;
	font-size: 1.8rem;
}
.workslist ._area{
	text-align: left;
	margin-bottom: 2rem;
}
.workslist ._btn a{
	display: inline-block;
	background: var(--c-gr);
	color: #fff;
	font-size: 1.8rem;
	font-weight: 600;
	border-radius: 99px;
	max-width: 19rem;
	width: 100%;
	padding: .5rem;
	position: relative;
}
.workslist ._btn a:after{
content: '';
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  width: .8rem;
  height: .8rem;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  transform: rotate(45deg);
  right: 1.5rem;
}



/*popup
---------------------------------------------------------*/
.swindow-wrapper {
  z-index: 99999;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0rem 1rem;
  text-align: center;

  opacity: 0;
  visibility: hidden;
  transition: opacity .2s ease-in, visibility .2s ease-in;
}

.swindow-wrapper.is-show {
  opacity: 1;
  visibility: visible;
}

.swindow-wrapper::after {
  display: inline-block;
  width: 0;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: "";
}

.swindow-overlay {
  z-index: 10;
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.70);
  backdrop-filter: blur(10px);
}
.swindow-overlay:hover {
	opacity:1;
	filter: alpha(opacity=100);
}

.swindow-window {
  position: relative;
  z-index: 20;
  display: inline-block;
  width: 100%;
   max-width: 110rem;
  margin: 0 auto;
  padding: 5rem 0;
  vertical-align: middle;
  text-align: left;
}

.swindow-content {
  background: #fff;
  margin: 0 auto;
  border-radius: 30px;
  padding: 5rem 5rem;
  position: relative;
}

.swindow-wrapper .swindow-close {
  z-index: 20;
  display: inline-block;
  text-decoration: none;
  margin-bottom: 2rem;
}

.popworks {
  display: none;
}

.popworks.is-show {
  display: block;
  max-height: 70vh;
  overflow: auto;
}


.popworksphoto ul {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1rem;
  margin-bottom: 2rem;
}
.popworksphoto li:nth-child(1) {
  grid-row: 1 / 3;
}
.popworksphoto img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* ←これ重要 */
}
.popworks h3{
	font-size: 2.2rem;
	margin: 0 0 1rem;
}
.popworks ._info{
margin: 0 0 1rem;
}
.popworks ._info span{
	background: var(--c-be);
	font-size: 90%;
	display: inline-block;
	padding: 0 1rem;
	margin-right: 1rem;
	flex-shrink: 0;
}



/* スマホ */
@media screen and (max-width: 620px) {
  .swindow-wrapper {
    padding: 2rem 1rem;
  }

  .swindow-window {
    padding: 2rem 0;
  }

  .swindow-content {
    padding: 3rem 2rem;
    border-radius: 20px;
  }
  
  .popworks h3{
	font-size: 1.6rem;
	margin: 0 0 1rem;
}
.popworks ._info{
margin: 0 0 1rem;
font-size: 1.2rem;
}
.popworks ._txt{
font-size: 1rem;
}




}





















.feattitle{
	position: relative;
}
.feattitle img{
mix-blend-mode: multiply;
position: absolute;
}

.feattitle .feattitleimg01{
	left: 8%;
  top: 5rem;
  max-width: 11%;
}
.feattitle .feattitleimg02{
left: 82%;
  top: 4rem;
  max-width: 13%;
}

.featurebox{
	background: #fff;
	padding: 2rem;
	border-radius: 20px;
	margin: 0 0 2rem;
}
.featurebox:nth-child(even){
	flex-direction: row-reverse;
}

.featurebox ._img{
	flex-basis: 50%;
}
.featurebox ._img img{
	border-radius: 10px;
}
.featurebox ._cont{
	flex-basis: 48%;
	padding: 0 2rem;
	text-align: left;
}
.featurebox:nth-child(even) ._cont{
	padding-left: 5rem;
}


.featurebox ._cont h3 img{
	margin-bottom: 1rem;
}

.featurebox ._cont ._txt{
	line-height: 1.8;
}


.featpack{
	background: #fff;
	border-radius: 20px;
	padding: 4rem;
	margin-bottom: 4rem;
}
.featpack ._main{
	margin-bottom: 2rem;
}
.featpack ._main img{
	border-radius: 10px;
}

.featpack li{
	flex-basis: 24%;
	margin: 0 .5% 1rem;
}
.featpack li img{
border-radius: 10px;
}
.stitle01 {
	font-size: 2.6rem;
	margin-bottom: 2rem;
}

.comparewrap{
	background: #fff;
	border-radius: 20px;
	padding: 4rem;
}

.compare-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 2rem 1rem; /* ←ここ重要（縦10px復活） */
}

.compare-table th,
.compare-table td {
  padding: 1rem 2rem;
  border: none;
}

.compare-table thead th {
  font-size: 2.6rem;
}

.compare-table tbody th {
  background: var(--c-be);
  font-weight: 700;
  font-size: 2rem;
}

.compare-table tbody td {
  font-size: 2.4rem;
  font-weight: 500;
}

.compare-table ._bg01 {
  background: var(--c-gr2);
  color: var(--c-gr);
}

.compare-table ._price small {
  font-size: 1.6rem;
}

.compare-table ._price ._daikin {
  flex-shrink: 0;
}

.compare-table ._price ._plus {
  background: #000;
  color: #fff;
  border-radius: 99px;
  font-size: 70%;
  aspect-ratio: 1 / 1;
  width: 2.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  line-height: 1;
  font-weight: 800;
  margin: 0 1rem;
}

/* 区切り線専用行 */
.compare-table__sep td {
  padding: 0;
  height: 10px;              /* 元の bottom:-10px 相当 */
  background: transparent;
  border: none;
  position: relative;
}

.compare-table__sep td::before {
  content: "";
  display: block;
  height: 1px;
  background: #ddd;
  width: 100%;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}


.titlebox h3.bg-be{
	color: #676156;
}

.titlebox h3.bg-be:before{
border-color: var(--c-be) transparent transparent transparent;
}


#cando .container{
	max-width: 1250px;
}



.candowrap{
	position: relative;	
}
.candowrap ._inner{
	background: #fff;
	border-radius: 20px;
	margin-bottom: 8rem;
	padding: 4rem 10rem;
	position: relative;	
	z-index: 2;
}
.candowrap._02 ._inner{
	margin-bottom: 14rem;
}

.candowrap:before {
  content: "";
  position: absolute;
  top: 2rem;
  left: 2rem;
  width: 100%;
  height: 100%;
  border: 3px solid #fff;
  border-radius: 20px;
  z-index: 1;
}
.candoimg01{
	position: absolute;
	z-index: 0;
	top: 20%;
	left: 90%;
}
.candoimg02{
position: absolute;
  z-index: 0;
  top: 55%;
  right: 86%;
}

.candotitle{
	text-align: left;
	position: relative;
	padding: 5.3rem 0;
}
.candotitle h3{
	font-size: 4rem;
	margin-right: 2rem;
	flex-shrink: 0;
}
.candotitle ._img{
	position: absolute;
	right: 0;
	bottom: 0;
}
.candolist01 dl{
	background:  var(--c-gr2);
	border-radius: 20px;
	padding: 2rem;
	flex-basis: 48%;
	margin:  0 0 2rem;
}
.candolist01 dt{
	flex-basis: 55%;
}
.candolist01 dt img{
	border-radius: 20px;
}
.candolist01 dd{
	flex-basis: 40%;
	text-align: left;
	font-size: 2.4rem;
	color :var(--c-gr);
	font-weight: 500;
}

.candolist02 dl{
	flex-basis: 31%;
	margin:  0 0 2rem;
}
.candolist02 dt img{
	border-radius: 20px;
	margin-bottom: 2rem;
}
.candolist02 dd strong{
	font-weight: 600;
	font-size: 2.2rem;
}
.candolist02 dd small{
	font-size: 1.8rem;
	font-weight: 600;
}




.reason{
	flex-basis: 23%;
	margin: 0 1% 5rem;
	position: relative;
}
.reason .num{
	width: 5rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 3rem;
	font-weight:700;
	border-radius: 99px;
	 aspect-ratio: 1 / 1;
	 background:   var(--c-rd);
	 position: absolute;
	 left: 0;
	 right: 0;
	 margin: auto;
	 top: -3rem;
	 z-index: 1;
	 color: #fff;
}
.reason:nth-child(2) .num{
background: #ECA723;
}
.reason:nth-child(3) .num{
background:#FFCE00;
}
.reason:nth-child(4) .num{
background:#A3C31B;
}
.reason:nth-child(5) .num{
background:#1C9AC6;
}
.reason:nth-child(6) .num{
background:#225175;
}
.reason:nth-child(7) .num{
background:#9C5D99;
}

.reason img{
	border-radius: 10px;
	height: 17rem;
	aspect-ratio: 10 / 6;
	object-fit: cover;
	margin-bottom: 1rem;
}
.reason .txt{
	font-size: 85%;
}


.voicebox{
	background: #fff;
	border-radius: 20px;
	margin-bottom: 2rem;
}
.voicebox:nth-child(even){
	flex-direction: row-reverse;
}

.voicebox ._img{
	padding: 0 2rem;
}
.voicebox ._cont{
	text-align: left;
	flex-basis: 70%;
	padding: 4rem 0 4rem 5rem;
}
.voicebox:nth-child(2) ._cont{
padding: 4rem 5rem 4rem 0;
}

.voicebox ._cont h3{
	font-size: 2rem;
	margin-bottom: 1rem;
}

.voicebox ._info{
	color: #676156;
	margin-bottom: 2rem;
}
.voicebox ._txt{
	line-height: 1.7;
}





.soudantitlewrap{
	position: relative;
	margin-bottom: 3rem;
}
.soudantitlebox{
max-width: 50%;
  margin: 0 auto;
  position: relative;
  z-index: 2;

}


.soudantitleimg img{
	position: absolute;
	top: 0;
	left: 0;
}
.soudantitleimg ._img01 {
top: 4rem;
  left: 14%;
  max-width: 8%;
}
.soudantitleimg ._img02 {
top: 22rem;
  left: 5%;
  max-width: 13%;
}
.soudantitleimg ._img03{
top: 3rem;
  left: 81%;
  max-width: 11%;
}
.soudantitleimg ._img04{
top: 26rem;
  left: 82%;
  max-width: 12%;
}
.sodantitlecap{
	line-height: 2;
}


.soubanbox{
	background:  var(--c-be);
	border-radius: 20px;
	max-width: 85%;
	position: relative;
	margin: 6rem 0 0;
}
.soubanbox:nth-child(even){
	background:  var(--c-gr2);
	margin-left: auto;
}

.soubanbox ._cont{
	text-align: left;
	padding: 2rem 3rem;
	width: 66%;
}
.soubanbox ._cont h3{
	font-size: 2.8rem;
}
.soubanbox ._cont h3 ._num{
	color: var(--c-gr);
	margin-right: 2rem;
	font-size: 120%;
}

.soubanbox ._img img{
	border-radius: 99%;
	position: absolute;
	right: 4rem;
	bottom: 2rem;	
}
.soudanimg05{
	position: absolute;
	mix-blend-mode: multiply;
	left: -10rem;
	bottom: -3rem;
}
.soudanimg06{
	position: absolute;
	left: -12rem;
	bottom: -3rem;
}



.presentbnr{
	padding: 3rem 0;
}


.presentbnr h3{
font-size: 2.6rem;
  display: inline-block;
  padding: 0 2rem;
  position: relative;
  margin: 0 0 1rem;
}
.presentbnr h3:before {
  content: "";
  display: block;
  transform: rotate(-30deg);
  height: 100%;
  border-left: 2px solid #000;
  position: absolute;
  left: 0;
  top: 0;
}
.presentbnr h3:after {
  content: "";
  display: block;
  transform: rotate(30deg);
  height: 100%;
  border-left: 2px solid #000;
  position: absolute;
  right: 0;
  top: 0;
}
.presentbnr figure{
	margin:0 0 1rem;
}





/**********************/
.formWrap .termsBtn {
  color: #676156;
  border-color: #676156;
}
.formWrap .termsBtn::after {
  background-image: url("../img/toggle_arrow_brown02.svg");
}
.termsBtn:hover {
  background: #f1f1f1;
}
.termsBtn.active::after {
  transform: translateY(-50%) rotate(180deg);
}
.reserveTtl .ttl {
  font-size: 3rem;
  letter-spacing: 0.1em;
  text-indent: -0.1em;
  margin-bottom: 5rem;
}
.ttlBox {
  margin-bottom: 3rem;
}
.ttlBox h2 {
  font-size: 4.6rem;
  letter-spacing: 0.03em;
  text-indent: -0.03em;
  margin-bottom: 0.2rem;
}
.telWrap {
  background: #fff;
  padding: 3rem 2rem;
  margin-bottom: 2rem;
}
.telWrap .txt {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 2rem;
}
.telWrap a {
  display: block;
  max-width: 35rem;
  margin: 0 auto;
  color: #fff;
  border-radius: 10rem;
  background: var(--c-rd);
  font-size: 3rem;
  padding: 2.5rem 2rem 2rem;
}
.telWrap a:hover {
  background: var(--c-aq);
}
.reserveTtl .note {
  margin-bottom: 3rem;
}
.reserveTtl .note p {
  font-size: 1.2rem;
  font-weight: 400;
  text-align: left;
  color: #3d404b;
  display: block;
  letter-spacing: 0.15em;
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0.5em;
}
.contBox {
  padding: 8rem 5rem;
  background: #fff;
  text-align: left;
}
.ankeTop {
  text-align: center;
  margin: 7rem 0 0;
  padding-bottom: 7rem;
  border-bottom: 1px solid #e2e2e2;
}
.ankeTtl {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.ankeTtl .sub {
  position: relative;
  font-size: 2rem;
  color: #fff;
  background: var(--c-gr);
  padding: 0.2rem 2rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  border-radius: 99px;
  display: inline-block;
  margin-bottom: 2rem;
}
.ankeTtl .sub::after {
content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 10px 7px 0 7px;
  border-style: solid;
  border-color: var(--c-gr) transparent transparent transparent;
}
.ankeTop .note {
  font-size: 1.4rem;
  font-weight: 500;
  margin-bottom: 1rem;
}
.pointCont {
  gap: 1rem 1.5rem;
}
.anqpoint  {
  max-width: 28rem;
  margin-top: 15rem;
  position: relative;
}
.anqpoint ._img img{
	mix-blend-mode: multiply;
	position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: -11rem;
  z-index: 1;
}

.anqpoint {
	background:  var(--c-gr2);
	border-radius: 20px;
	padding: 2rem;
}
.anqpoint h3{
	color: var(--c-gr);
	font-size: 2rem;
	margin: 0 0 1rem;
}
.anqpoint ._txt{
	text-align: left;
}

.termsWrap {
	background: #fff;
	border-radius: 1rem;
	margin-top: 4rem;
	padding: 5rem 11rem;
}
.termsWrap h2 {
	text-align: center;
	margin-bottom: 2rem;
	font-weight: 600;
	font-size: 4rem;
}
.termsWrap .sub {
	text-align: center;
	font-size: 2rem;
	font-weight: 600;
	margin-bottom: 3rem;
}
.termsWrap ol li {
	font-size: 3rem;
	font-weight: 600;
	margin-bottom: 3rem;
	text-align: left;
	position: relative;
	padding-left: 4.5rem;
}
.termsWrap ol li span {
	display: inline-block;
	color: #fff;
	background:var(--c-gr);
	border-radius: 99px;
	text-align: center;
	width: 3rem;
	height: 3rem;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 3rem;
	position: absolute;
	left: 0;
	top: .7em;
}
.termsWrap .note {
	text-align: left;
	font-size: 87.5%;
	color: #8e8e8e;
}
.termsWrap .note p {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
	margin-top: .1em;
}

.contactArea .termsWrap {
  padding: 4rem 8rem;
}
.termsBtn {
	margin: 3rem auto 0;
	max-width: 30rem;
	color: #c3936a;
	letter-spacing: .1em;
	text-indent: .1em;
	border: 1px solid #c3936a;
	padding: 1rem;
	position: relative;
	font-size: 2rem;
	font-weight: 600;
	border-radius: 10rem;
	cursor: pointer;
	text-align: center;
	transition: .4s;
}
.termsBtn::after {
	content: "";
	display: block;
	background: url("../img/toggle_arrow_brown.svg") center center no-repeat;
	background-size: contain;
	width: 1.5rem;
	height: .8rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 3rem;
}
.termsBtn:hover {
	background: #f1f1f1;
}
.termsBtn.active::after {
	transform: translateY(-50%) rotate(180deg);
}


.ankeBtn {
  max-width: 45rem;
  margin: 0 auto 5rem;
  box-shadow: 1rem 1rem 1rem rgba(35, 24, 21, 0.3);
  border-radius: 10rem;
  cursor: pointer;
}
.ankeBtn p {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  background: var(--c-rd);
  color: #fff;
  font-weight: 600;
  font-size: 3rem;
  text-align: center;
  padding: 2rem 1rem;
  border-radius: 10rem;
  box-shadow: 0.3rem 0.4rem 0 #ee7679;
}
.ankeBtn p::before {
  content: "";
  border-radius: 10rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background: var(--c-gr);
  width: 100%;
  height: 100%;
  transition: transform 0.3s cubic-bezier(0.8, 0, 0.2, 1) 0s;
  transform: scale(0, 1);
  transform-origin: top;
  box-shadow: 0.3rem 0.4rem 0 var(--c-gr);
}
.ankeBtn p:hover:before {
  transform: scale(1, 1);
}
.ankeBtn p span {
  position: relative;
  z-index: 10;
}
.btmTel {
  margin-top: 5rem;
}
.btmTel .ttl {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.btmTel a {
  font-size: 6rem;
}
.hasDatepicker{
	position: relative;

}
.hasDatepicker::before {
  content: "";
  display: block;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.5rem;
  height: 1.7rem;
  background: url(../img/ico-cal.svg) 0 0 / contain no-repeat;
  background: #000;
  z-index: 2;
  }


/*form
---------------------------------------------------------*/
.formTxt {
  font-size: 115%;
  font-weight: 600;
  margin-bottom: 4rem;
}
.formBox {
  border-bottom: 1px solid #000;
}
.formBox dl {
  display: flex;
}
.formBox dt,
.formBox dd {
  font-weight: 400;
  padding: 4rem;
  padding-right: 0;
  text-align: left;
  border-top: 1px solid #e2e2e2;
}
.formBox dt.req::after {
  content: "必須";
  font-size: 85%;
  font-weight: 400;
  padding: 0.5rem;
  padding-bottom: .6rem;
  display: inline-block;
  color: #fff;
  background: #b5272d;
  line-height: 1;
  margin-left: 1rem;
}
.formBox dt {
  display: flex;
  align-items: center;
  width: 27rem;
  min-height: 14rem;
  padding-right: 2rem;
  border-color: #000;
}
.formBox dd {
  flex: 1;
  padding-left: 0;
}
.formBox dd .note {
  display: block;
  font-size: 1.2rem;
  color: #bd272d;
  margin-top: 1rem;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.formBox dd > p + p {
  padding-top: 1rem;
}
.formName > .txt {
  width: 40%;
  display: flex;
  align-items: center;
}
.formName > .txt:first-of-type {
  margin-right: 2%;
}
.formName .txt span {
  display: block;
  white-space: nowrap;
  margin-right: 1rem;
}
.ui-datepicker-trigger {
  margin-left: 1rem;
  cursor: pointer;
}
.form-address p {
  text-align: left;
}
.formBox input[type="text"],
.formBox input[type="tel"],
.formBox input[type="email"],
.formBox select,
.formBox textarea {
  font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS P Gothic", Verdana;
  width: 100%;
  padding: 0.575em;
  border: 1px solid #ccc;
  border-radius: 3px;
}
.formBox input[type="text"].size-s {
  max-width: 16rem;
}
.dateWrap input[type="text"] {
  max-width: 32rem;
}
.form-address input[type="text"] {
  max-width: 42.5rem;
}
.form-address span {
  display: inline-block;
  margin-right: 1rem;
}
.formBox select {
  width: auto;
  background: #fff;
  color: #000;
}
.formBox option:first-of-type {
  background: #b3b3b3;
  color: #fff;
}
.formBox textarea {
  height: 10rem;
}
.formBox .disabled input {
  pointer-events: none;
  border: none;
}
.zipBtn {
  /*font-size: 1.2rem;*/
  margin-left: 1rem;
  border: none;
  cursor: pointer;
  line-height: 1.1;
}
.zipBtn:hover {
  background: #ccc;
}
.formBtn {
  margin-top: 3rem;
}
.mw_wp_form_confirm button.button._grey {
  display: block !important;
}
.formWrap input[type="submit"],
.formWrap input[type="button"],
.formWrap button.button._grey {
  font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS P Gothic", Verdana;
	font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif;
  color: #fff;
  font-size: 115%;
  letter-spacing: 0.075em;
  text-indent: 0.075em;
  background: #676156;
  border-radius: 10rem;
  min-width: 35rem;
  display: block;
  border: none;
  padding: 3rem 1.5rem;
  margin: 1rem;
  transition: 0.2s;
  cursor: pointer;
}
.formWrap input[type="submit"]._green {
  background: #00b4a0;
}
.formWrap input[type="submit"].btn_back,
.formWrap button.button._grey {
  background: #ddd;
  color: #333;
}
.formWrap input[type="submit"]:hover,
.formWrap input[type="button"]:hover,
.formWrap button.button._grey:hover {
  background: #aaa;
}
.formWrap select {
  background: #676156 url("../img/toggle_arrow.svg") center right 1rem no-repeat;
  background-size: 1.6rem;
  min-width: 32rem;
  color: #fff;
  border-color: #676156;
  position: relative;
  padding: 1rem 6rem 1rem 1rem;
}
.formWrap select option {
  background-color: #fff;
  color: #333;
}
.onlyconf,
button.button._grey {
  display: none;
}
.mw_wp_form_confirm button.button._grey,
.mw_wp_form_confirm .onlyconf,
#confirm .onlyconf {
  display: block !important;
}
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}
.mw_wp_form_confirm .privacyBox,
.mw_wp_form_confirm .formBox dt::before,
.mw_wp_form_confirm .zipBtn,
.mw_wp_form_confirm .formName .txt span,
.mw_wp_form_confirm .policyTxt {
  display: none !important;
}
.mw_wp_form_confirm .formName > .txt {
  width: auto;
}
.mw_wp_form .error {
  font-size: 85% !important;
}
.formName .error {
  min-width: 50%;
}
.formName .error + .error {
  display: none;
}
.thxBox {
  padding: 4rem 1.5rem;
}
.mw_wp_form_confirm .ankeForm {
  display: block !important;
  margin-top: 5rem;
}
.mw_wp_form_confirm .ankeTop,
.mw_wp_form_confirm .termsWrap,
.mw_wp_form_confirm .ankeBtn,
.mw_wp_form_confirm .ankeBtn,
.mw_wp_form_confirm .ankeBtn,
.mw_wp_form_confirm .ankeBtn {
  display: none !important;
}
.radio-bukken {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
}
.radio-bukken label {
  position: relative;
  margin: 0;
  background: #eee;
  max-width: 30rem;
  padding: 2.5rem;
  padding-top: 21rem;
}
.radio-bukken label::before {
  content: "";
  display: block;
  position: absolute;
  background: url("../img/form_radio01.jpg") center center no-repeat;
  background-size: cover;
  height: 17.5rem;
  margin: 0 auto;
  top: 2.5rem;
  left: 2.5rem;
  right: 2.5rem;
}
.radio-bukken > span:nth-of-type(2) label::before {
  background-image: url("../img/form_radio02.jpg");
}

.radio-bukken .wpcf7-list-item.first label::before {
  background-image: url("../img/form_radio01.jpg");
}

.radio-bukken .wpcf7-list-item.last label::before {
  background-image: url("../img/form_radio02.jpg");
}

.ankeForm .ttl {
  font-size: 3rem;
  font-weight: 600;
  color: #515862;
  text-align: center;
  margin-bottom: 3rem;
}
.ankeForm dt {
  padding-left: 0;
}
.radioWrap label {
  display: block;
  margin-right: 0;
  border: 1px solid #e2e2e2;
  padding: 1rem;
}
.radioWrap label.act {
  background-color: #e6d9ce;
}
.checkWrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
.checkWrap > span {
  display: block;
  width: 30rem;
}
.checkWrap > span label {
  padding-left: 1.4em;
  text-indent: -1.4em;
}
.checkRow {
  gap: 1rem;
  align-items: center;
}
.checkRow > span {
  white-space: nowrap;
  margin-right: 1em;
  min-width: 9rem;
}
.formBox .checkRow .checkTxt {
  width: 50rem;
  max-width: 100%;
}


.antitle01{
	min-width: 4em;
	display: inline-block;
}
.antitle02{
	min-width: 7em;
	display: inline-block;
}
/*ieハック*/
@media screen\0 {
}

/* ============== Contact Form7 CSS  ============== */
.formBox input[type="date"] {
  font-family: "Noto Sans JP", sans-serif, "ヒラギノ角ゴ Pro W3",
    "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS P Gothic", Verdana;
  width: 100%;
  padding: 0.575em;
  border: 1px solid #ccc;
  border-radius: 3px;
}

.formBox input[type="date"].max289 {
  min-width: 32rem;
}

.form-address span.wpcf7-form-control-wrap {
  margin-right: 0;
}

.formName > .txt > p {
  display: flex;
  align-items: center;
}

.formName > .txt > p .wpcf7-form-control-wrap {
  margin-right: 0;
}

.radio-bukken .wpcf7-form-control.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.radio-bukken .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
  display: block;
  margin: 0;
}

/* CF7ラジオボタンを縦並びに */
.vertical .wpcf7-radio .wpcf7-list-item {
  margin: 5px 0 0 0;
  display: block;
}

/* CF7チェックボックスを縦並びに */
.vertical span.wpcf7-checkbox .wpcf7-list-item {
  margin: 5px 0 0 0;
  display: block;
}

.checkWrap [data-name="your-know"] .wpcf7-form-control.wpcf7-checkbox,
.checkWrap [data-name="your-reason"] .wpcf7-form-control.wpcf7-checkbox,
.checkWrap [data-name="your-schedule"] .wpcf7-form-control.wpcf7-checkbox,
.checkWrap [data-name="your-peason"] .wpcf7-form-control.wpcf7-checkbox,
.checkWrap [data-name="your-funds"] .wpcf7-form-control.wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}

.checkWrap
  [data-name="your-know"]
  .wpcf7-form-control.wpcf7-checkbox
  .wpcf7-list-item,
.checkWrap
  [data-name="your-reason"]
  .wpcf7-form-control.wpcf7-checkbox
  .wpcf7-list-item,
.checkWrap
  [data-name="your-schedule"]
  .wpcf7-form-control.wpcf7-checkbox
  .wpcf7-list-item,
.checkWrap
  [data-name="your-peason"]
  .wpcf7-form-control.wpcf7-checkbox
  .wpcf7-list-item,
.checkWrap
  [data-name="your-funds"]
  .wpcf7-form-control.wpcf7-checkbox
  .wpcf7-list-item {
  display: block;
  width: 30rem;
  margin: 0;
}

.checkWrap [data-name="your-reason"] .wpcf7-list-item label,
.checkWrap [data-name="your-schedule"] .wpcf7-list-item label,
.checkWrap [data-name="your-peason"] .wpcf7-list-item label,
.checkWrap [data-name="your-funds"] .wpcf7-list-item label {
  margin: 0;
  padding-left: 1.4em;
  text-indent: -1.4em;
}

.checkWrap .checkRow._other.d-flex.ai-center p {
  display: flex;
  gap: 1rem;
  align-items: center;
}

.checkWrap [data-name="your-know01"] .wpcf7-list-item,
.checkWrap [data-name="your-know02"] .wpcf7-list-item {
  margin: 0;
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1150px) {
  html {
    font-size: 0.8vw;
  }
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
  /*全体レイアウト
---------------------------------------------------------*/
  html {
    font-size: 2.7777777vw;
  }
  body {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  body.active {
    /*		overflow: hidden;*/
  }
  article > section {
    padding: 6rem 0;
  }
  .btn a {
    font-size: 1.4rem;
    padding: 1.2rem 0;
	max-width: 80%;
    margin: 0 auto;
  }
  .btn a::after {
    width: 1.6rem;
    height: 1.6rem;
    margin-left: 1rem;
  }
  /*header
	-------------------------------------------------------*/
	#header {
		height: 6rem;
		padding: 0 1rem;
	}
	#header ._logo h1{
	font-size: .8rem;
		background: url("../img/head-logo-leaf01.svg") no-repeat left center,url("../img/head-logo-leaf02.svg") no-repeat right center;
		background-size: contain;
		padding:0 .8rem;
		
}
#header ._logo img{
	max-height: 1.8rem;

}

	
	
  .menuIconWrap {
    position: fixed;
    top: 1rem;
    right: 1rem;
    padding: 0.8rem;
    z-index: 99999;
    transition: 0.4s;
    cursor: pointer;
    display: block;
  }
  .menuIconWrap.show {
    opacity: 1;
    visibility: visible;
    background: rgba(255, 255, 255, 0.6);
  }
  .menuIconWrap.active {
    background: none;
  }
  .menuIcon {
    position: relative;
    width: 3.4rem;
    height: 2.4rem;
    z-index: 9990;
    display: block;
  }
  .menuIcon span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: #fff;
	background: #333;
    z-index: 10;
    transition: 0.3s 0.1s ease-out;
  }
  .menuIcon span:nth-of-type(1) {
    top: 0px;
  }
  .menuIcon span:nth-of-type(2) {
    top: 1.1rem;
  }
  .menuIcon span:nth-of-type(3) {
    bottom: 0px;
  }
  .menuIconWrap.show .menuIcon span {
    background: #333;
  }
  .menuIconWrap.active .menuIcon span:nth-of-type(1) {
    -webkit-transform: translateY(1.1rem) rotate(32deg);
    transform: translateY(1.1rem) rotate(32deg);
  }
  .menuIconWrap.active .menuIcon span:nth-of-type(3) {
    width: 100%;
    -webkit-transform: translateY(-1.1rem) rotate(-32deg);
    transform: translateY(-1.1rem) rotate(-32deg);
  }
  .menuIconWrap.active .menuIcon span {
    background: #fff;
  }
  .menuIconWrap.active .menuIcon span:nth-of-type(2) {
    right: -5rem;
    opacity: 0;
  }
  .menuIcon:hover span {
    width: 100%;
  }
  #nav {
    position: fixed;
    top: 0;
    right: -15.2rem;
    z-index: 9990;
    color: #fff;
    background: rgba(51, 51, 51, 0.8);
    padding: 4rem 1.5rem 1rem;
    text-align: left;
    overflow: auto;
    transition: 0.3s;
    visibility: hidden;
    opacity: 0;
  }
  #nav.active {
    right: 0;
    opacity: 1;
    visibility: visible;
  }
  .nav {
    display: block;
  }
  .nav li:not(:first-of-type) {
    border-top: 1px solid #fff;
  }
  .nav a {
    padding: 1rem 2rem 1rem 0.5rem;
    background: url("../img/toggle_arrow.svg") right 0.5rem center no-repeat;
    background-size: auto 0.5rem;
	color: #fff;
  }
  /*footer
	-------------------------------------------------------*/
  #footer {
    padding-bottom: 6rem;
  }
  .footWrap {
    display: block;
  }
  .footBox big {
    display: block;
  }
  .fLogo {
    max-width: 15rem;
    margin: 0 auto 1.5rem;
  }
  .copyRight {
    margin-top: 2rem;
  }
  #side {
    top: auto;
    left: 0;
    bottom: 0;
    right: 3.5rem;
    transform: none;
  }
  .sideNav {
    display: flex;
  }
  .sideNav li {
    width: 50%;
  }
  .sideNav a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3.5rem;
    padding: 1rem 0;
    white-space: nowrap;
    margin: 0;
    border-radius: 0;
  }
  .sideNav a::before {
    margin: 0 0.5rem -0.2rem 0;
  }
  .goTop {
    width: 3.5rem;
    height: 3.5rem;
    bottom: 0;
    right: 0;
  }
  .goTop::before {
    display: none;
  }
  .goTop:hover a {
    background-image: url("../img/gotop.svg");
  }
  .btmFix.active {
    bottom: 3.5rem;
  }
  .btmFix .img {
    max-width: none;
    width: 15%;
    margin-left: 1.5rem;
  }
  .btmFix .txt {
    width: 75%;
  }
  .btmFixCont::after {
    width: 0.8rem;
    height: 0.8rem;
    bottom: 0.7rem;
  }
  .btmFixCont {
    padding: 1rem 2rem 1rem 1rem;
    box-shadow: 0 0px 1rem rgba(61, 61, 61, 0.25);
  }
  /*contents
	-------------------------------------------------------*/
  
  
.mainArea{
	padding: 7rem 0;
	
}
.mvwrap{
	background-size: 2rem;
	width: auto;
	margin: 0 2rem;
	padding:17rem 2rem 15rem;
}
.mvmain{
	max-width: 58rem;
	max-width: auto;
	margin: 0 auto;
}

.mvmain ._price figure{
	margin-bottom: 1rem;
}
.mvmain ._price p{
	margin: 0 auto 1rem;
	font-size: 1rem;
}

.mvimg img{
	
}


.mvimg .mvimg01{
left: 4%;
    top: 4vw;
    max-width: 26%
}
.mvimg .mvimg02{
left: 7%;
    top: 28vw;
    max-width: 19%;
}
.mvimg .mvimg03{
left: 32%;
    top: 6vw;
    max-width: 18%;
}
.mvimg .mvimg04{
left: 48%;
    top: 12vw;
    max-width: 24%;
}
.mvimg .mvimg05{
left: 28%;
    top: 23vw;
    max-width: 15%;
}
.mvimg .mvimg06{
left: 5%;
    top: 189vw;
    max-width: 24%;
}
.mvimg .mvimg07{
left: 33%;
    top: 190vw;
    max-width: 13%;
}
.mvimg .mvimg08{
left: 51%;
    top: 209vw;
    max-width: 11%;
}
.mvimg .mvimg09{
left: 49%;
    top: 192vw;
    max-width: 15%;
}
.mvimg .mvimg10{
left: 10%;
    top: 210vw;
    max-width: 15%;
}
.mvimg .mvimg11{
left: 32%;
    top: 212vw;
    max-width: 13%;
}
.mvimg .mvimg12{
left: 66%;
    top: 196vw;
    max-width: 28%;
}



.mvimg .mvno1{
left: 72.5%;
    top: 0vw;
    max-width: 25%;
}
.mvimg .mvcontest{
left: 76%;
    top: 35vw;
    max-width: 19%;
}



.scrollWrap{
	position: absolute;
	bottom: -4rem;
	margin: 0 auto;
	left: 0;
	right: 0;
}


  
  
/****/
.topconceptwrap{
	
	background-size: 150%;
	
}

.topconceptbox{
	padding: 2rem;
}
.topconceptbox h2{
	font-size: 2rem;
	margin-bottom: 2rem;
}
.topconceptbox h3{
	font-size: 1.6rem;
	margin-bottom: 2rem;
}
.topconceptbox p{
	font-size: 1.2rem;
	line-height: 1.8;
}
.cpointwrap{
	margin-bottom: 4rem;
	gap: .5rem;
	
	flex-wrap: wrap;
}
.cpointbox{
	flex-basis: 49%;
	margin: 0rem auto 0;
}
.cpointbox img{
margin: -2rem 0 1rem;
    max-height: 5rem;
}
.cpointbox h3{
	font-size: 1.6rem;
	margin: 0 0 1rem;
}
.cpointbox p{
	font-size: 1.2rem;
}

.reasonmainwrap{
	margin-bottom: 4rem;
}
.reasonmainbox{
max-width: 75%;

}
.reasonmainimg ._img01{
top: 5vw;
    left: -2%;
    max-width: 19%;
}
.reasonmainimg ._img02{
top: 44vw;
    left: -2%;
    max-width: 12%;
}
.reasonmainimg ._img03{
top: 2vw;
    left: 86%;
    max-width: 18%;
}
.reasonmainimg ._img04{
top: 47vw;
    left: 83%;
    max-width: 21%;
}


.titlebox h3{

  padding: 1rem 1rem;
  margin: 0 0 2rem;
  font-size: 1.4rem;
}
.titlebox h2{
	font-size: 2.3rem;
	margin-bottom: 2rem;
	letter-spacing: .1rem;
}

.cospalistwrap{
	margin-bottom: 4rem;
	display: block;
}
.cospabox{
	padding: 2rem 1rem;
	margin: 0rem 0 3rem;
}
.cospabox ._num{
	font-size: 1.6rem;
	width: 3rem;
	top: -2rem;
}
.cospabox h3{
	font-size: 1.6rem;
	margin-bottom: 1rem;
}
.cospabox p{
	text-align: left;
	margin: 0 0rem;
}

.rtitle01{
	margin-bottom: 2rem;
	font-size: 1.4rem;
}

.reasonrenobox{
margin-bottom: 3rem;
display: block;
}
.reasonrenobox img{
	flex-basis: 50%;
}
.reasonrenobox ._cont{
	padding: 2rem;
}

.reasonrenobox ._cont li{
	font-size: 1.6rem;
}



.reasonrenocont h3{
	font-size: 2rem;
	margin: 0 0 2rem;
}
.reason_reno_img01{
position: absolute;
    right: -1rem;
    bottom: auto;
    max-width: 28%;
    top: -40vw;
}


/*works***/
.workslist{
	flex-basis: 48%;
	margin: 0 1% 2rem;
}
.workslist ._img {
	margin-bottom: 3rem;
}

.workslist ._img figcaption{
	left: .5rem;
	bottom: .2rem;
	font-size: 1rem;
}
.workslist ._img ._after{
	margin-right: 1rem;
}
.workslist ._img ._before{
	right: 0rem;
	bottom: -2rem;
	max-width: 50%;
}

.workslist ._info{
	font-size: 1.1rem;
}

.workslist ._price{
	margin-bottom: .5rem;
	font-size: 1rem;
}
.workslist ._area{
	margin-bottom: 2rem;
	font-size: 1rem;
}
.workslist ._btn a{
	font-size: 1.2rem;
}

  
  
  
  
  
  
  



.feattitle .feattitleimg01{
left: -2%;
  top: 18vw;
  max-width: 12%;
}
.feattitle .feattitleimg02{
left: 90%;
  top: 16vw;
  max-width: 14%;
}

.featurebox{
	padding: 2rem;
	margin: 0 0 2rem;
	display: block;
}

.featurebox ._img{
	margin-bottom: 2rem;
}
.featurebox ._img img{
	border-radius: 10px;
}
.featurebox ._cont,
.featurebox:nth-child(even) ._cont{
	padding: 0 0rem;
}
.featurebox ._cont h3{
	text-align: center;
}
.featurebox ._cont h3 img{
	max-height: 6rem;
}

.featurebox ._cont ._txt{
	line-height: 1.8;
}


.featpack{
	padding: 2rem;
	margin-bottom: 2rem;
}
.featpack ._main{
	margin-bottom: 1rem;
}

.featpack li{
	flex-basis:49%;
	margin: 0 .5% .5rem;
}

.stitle01 {
	font-size: 1.6rem;
	margin-bottom: 1rem;
}

.comparewrap{
	border-radius: 20px;
	padding: 2rem;
}


.compare-table {
  width: 100%;
  border-spacing: 5px;
}

.compare-table th,
.compare-table td {
  padding: .5rem;
}
.compare-table thead th{
	font-size: 1.2rem;
}

.compare-table tbody th {
  font-size: 1.2rem;
  
}
.compare-table tbody td{
	font-size: 1.2rem;
} 

.compare-table ._price small{
	font-size: 1rem;
}

.compare-table ._price ._plus{
	width: 1.6rem;

}



.candowrap ._inner,
.candowrap._02 ._inner{
	margin-bottom: 4rem;
	padding: 2rem;
}
.candowrap:before {
  top: .5rem;
  left: .5rem;
  border: 1px solid #fff;
}
.candoimg01{
	position: absolute;
	z-index: 0;
	top: 20%;
	left: 60%;
}
.candoimg02{
	position: absolute;
	z-index: 0;
	top: 45%;
	right: 90%;
}

.candotitle{
	padding: 0rem 0 2rem;
	display: block;
	text-align: left;
}
.candotitle h3{
	font-size: 2rem;
	margin:0 0 1rem;
	text-align: center;
}
.candotitle h4{
	text-align: center;
}
.candotitle ._title > div{
	display: block;
}
.candotitle ._img{
	position: absolute;
	right: 0;
	bottom: 0;
	display: none;
}

.candolist01 {
	display: block;
}

.candolist01 dl{
	padding: 1rem;
	margin:  0 0 1rem;
}
.candolist01 dt{

}

.candolist01 dd{
	font-size: 1.4rem;
}

.candolist02 dl{
	flex-basis: 48%;
	margin:  0 0 2rem;
}
.candolist02 dt img{
	margin-bottom: 1rem;
}
.candolist02 dd strong{
	font-size: 1.4rem;
}
.candolist02 dd small{
	font-size: 1.2rem;
}



.reason{
	flex-basis: 48%;
	margin: 0 1% 3rem;
}
.reason .num{
	width: 3rem;
	font-size: 1.6rem;
	 top: -1.5rem;
}

.reason img{
	border-radius: 10px;
	height: 10rem;
	aspect-ratio: 10 / 6;
	object-fit: cover;
	margin-bottom: 1rem;
}
.reason .txt{
	font-size: 70%;
}


.voicebox{
	display: block;
	margin-bottom: 2rem;
}

.voicebox ._img{
	padding: 0 2rem;
}
.voicebox ._cont,
.voicebox:nth-child(2) ._cont{
	padding: 2rem 2rem;
}
.voicebox ._cont h3{
	font-size: 1.6rem;
	margin-bottom: 1rem;
}

.voicebox ._info{
	margin-bottom: 1rem;
}





.soudantitlewrap{
	margin-bottom: 2rem;
}
.soudantitlebox{
max-width: 75%;
}

.soudantitleimg ._img01 {
top: 3vw;
  left: -1%;
  max-width: 13%;
}
.soudantitleimg ._img02 {
top: 37vw;
  left: -3%;
  max-width: 14%;
}
.soudantitleimg ._img03{
top: 5vw;
  left: 89%;
  max-width: 13%
}
.soudantitleimg ._img04{
top: 34vw;
  left: 90%;
  max-width: 13%;
}

.soubanbox{
	max-width: 100%;
	margin: 3rem 0 0;
}
.soubanbox:nth-child(even){
	margin-left: auto;
}

.soubanbox ._cont{
	padding: 2rem 2rem;
	width: 100%;
}
.soubanbox ._cont h3{
	font-size: 1.6rem;
}
.soubanbox ._cont h3 ._num{
	font-size: 120%;
	margin-right: 1rem;
}

.soubanbox ._img img{
	position: relative;
	right: auto;
	bottom: auto;
	padding:0 0 2rem 0;
}


.soudanimg05{
	display: none;
}
.soudanimg06{
	display: none;
}



.presentbnr{
	padding: 3rem 0;
}


.presentbnr h3{
font-size: 1.2rem;
  padding: 0 1rem;
  margin: 0 0 1rem;
}

.presentbnr figure{
	margin:0 0 1rem;
}
.presentbnr p{
	font-size: 70%;
}


  

  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
/****************************/
  .reserveTtl .ttl {
    font-size: 2rem;
  }
  .telWrap .txt {
    font-size: 1.6rem;
  }
  .telWrap a {
    font-size: 2rem;
    padding: 1.5rem;
    max-width: 25rem;
  }
  .contBox {
    padding: 4rem 2rem 3rem;
  }
  .formBox dl {
    display: block;
  }
  .formBox dt,
  .formBox dd {
    padding: 2rem 0;
  }
  .formBox dt {
    width: 100%;
    min-height: inherit;
    padding-bottom: 0;
  }
  .formBox dd {
    border-top: none;
  }
  .formWrap select {
    min-width: 25rem;
  }
  .zipBtn {
    font-size: 1rem;
    white-space: nowrap;
  }
  .form-zip input[type="text"].size-s {
    max-width: 10rem;
    margin-left: 0.5rem;
  }
  .formBox textarea {
    height: 12rem;
  }
  .checkWrap {
    gap: 1.5rem 2%;
  }
  .checkWrap > span {
    width: 49%;
  }
  .ankeForm .ttl {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  
  
  
.ankeTop {
  margin: 4rem 0 0;
  padding-bottom: 3rem;
}
.ankeTtl {
  font-size: 1.6rem;
  margin-bottom: 0.5rem;
}
.ankeTtl .sub {
  font-size: 1.6rem;
  margin-bottom: 2rem;
}

.ankeTop .note {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
.pointCont {
  gap: 1rem 1.5rem;
}
.anqpoint  {
  max-width: 100%;
  margin-top: 6rem;
  position: relative;
}
.anqpoint ._img img{
top: -6rem;
    z-index: 1;
    max-height: 7rem;
}

.anqpoint {
	background:  var(--c-gr2);
	border-radius: 20px;
	padding: 2rem;
}
.anqpoint h3{
	font-size: 1.6rem;
	margin: 0 0 1rem;
}



.termsWrap h2 {
	font-size: 2rem;
}
.termsWrap .sub {
	font-size: 1.6rem;
	margin-bottom: 2rem;
}
.termsWrap ol li {
	font-size: 1.6rem;
	margin-bottom: 2rem;
	padding-left: 3rem;
}
.termsWrap ol li span {
    width: 2rem;
    height: 2rem;
    font-size: 1rem;
    line-height:  2;
    top: 0.3rem;
}
.termsWrap .note {
	text-align: left;
	font-size: 87.5%;
	color: #8e8e8e;
}
.termsWrap .note p {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
	margin-top: .1em;
}

.contactArea .termsWrap {
  padding: 4rem 8rem;
}
.termsBtn {
	margin: 3rem auto 0;
	max-width: 30rem;
	color: #c3936a;
	letter-spacing: .1em;
	text-indent: .1em;
	border: 1px solid #c3936a;
	padding: 1rem;
	position: relative;
	font-size: 2rem;
	font-weight: 600;
	border-radius: 10rem;
	cursor: pointer;
	text-align: center;
	transition: .4s;
}
.termsBtn::after {
	content: "";
	display: block;
	background: url("../img/toggle_arrow_brown.svg") center center no-repeat;
	background-size: contain;
	width: 1.5rem;
	height: .8rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 3rem;
}
.termsBtn:hover {
	background: #f1f1f1;
}
.termsBtn.active::after {
	transform: translateY(-50%) rotate(180deg);
}


  /*
  
  .ankeTtl {
    display: block;
    font-size: 1.5rem;
  }
  .ankeTtl .sub {
    font-size: 1.4rem;
    max-width: 8rem;
    margin: 0 auto 1rem;
    padding: 0.5rem 0;
  }
  .ankeTtl .sub::after {
    transform: rotate(90deg);
    right: 0;
    left: 0;
    margin: 0 auto;
    top: auto;
    bottom: -0.8rem;
  }
  */
  
  .pointCont {
    padding: 0 2rem;
    flex-direction: column;
  }
  .contactArea .termsWrap {
    padding: 0 0 4rem;
  }
  .ankeBtn p {
    padding: 1.5rem 0;
    font-size: 1.8rem;
  }
  .formWrap input[type="submit"],
  .formWrap input[type="button"],
  .formWrap button.button._grey {
    min-width: 28rem;
    font-size: 100%;
    padding: 1.5rem 0;
  }
  .formName > .txt {
    width: 45%;
  }
  .radio-bukken label {
    padding-top: 18.5rem;
    margin: 1rem 0;
  }
  .radio-bukken label::before {
    height: 14.5rem;
  }
  .btmTel .ttl {
    font-size: 1.6rem;
  }
  .btmTel a {
    font-size: 3.5rem;
  }
  .dateWrap input[type="text"] {
    max-width: 21rem;
  }
  .formBox dd .note {
    font-size: 1rem;
  }
  .checkRow {
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
  }
  .formBox .checkRow .checkTxt {
    width: 24rem;
  }

  /* ============== Contact Form7 CSS  ============== */
  .formBox input[type="date"].max289 {
    min-width: 25rem;
  }
  .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
    margin: 0;
  }
  .checkWrap .checkRow._other.d-flex.ai-center p {
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
  }

  .checkWrap [data-name="your-know"] .wpcf7-form-control.wpcf7-checkbox,
  .checkWrap [data-name="your-reason"] .wpcf7-form-control.wpcf7-checkbox,
  .checkWrap [data-name="your-schedule"] .wpcf7-form-control.wpcf7-checkbox,
  .checkWrap [data-name="your-peason"] .wpcf7-form-control.wpcf7-checkbox,
  .checkWrap [data-name="your-funds"] .wpcf7-form-control.wpcf7-checkbox {
    gap: 1rem 2%;
  }

  .checkWrap
    [data-name="your-know"]
    .wpcf7-form-control.wpcf7-checkbox
    .wpcf7-list-item,
  .checkWrap
    [data-name="your-reason"]
    .wpcf7-form-control.wpcf7-checkbox
    .wpcf7-list-item,
  .checkWrap
    [data-name="your-schedule"]
    .wpcf7-form-control.wpcf7-checkbox
    .wpcf7-list-item,
  .checkWrap
    [data-name="your-peason"]
    .wpcf7-form-control.wpcf7-checkbox
    .wpcf7-list-item,
  .checkWrap
    [data-name="your-funds"]
    .wpcf7-form-control.wpcf7-checkbox
    .wpcf7-list-item {
    width: 49%;
  }
  
  
  .formBox input[type="text"].size-s{
  	max-width: 12rem;
  }
  
  
  
  
    .scroll-wrap{
    width: 100%;
    padding: 0%;
    overflow-x: auto;
    white-space: nowrap;
  }
  .scroll-wrap::-webkit-scrollbar {
    height: 10px;

  }
  .scroll-wrap::-webkit-scrollbar-thumb{
    background: #999;
    border-radius: 5px;
  }
  .scroll-wrap::-webkit-scrollbar-track-piece {
    background: #efefef;
  }  
}
