@charset "UTF-8";
/* =======================================

	reset CSS

========================================== */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,p,blockquote,table,th,td {
  padding: 0;
  margin: 0;
}
img {
  border: 0;
  vertical-align: top;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 100%;
  font-weight: 700;
}
ul,dl,ol {  text-indent: 0;}
li {  list-style: none;}
address,caption,cite,code,dfn,em,th,var {
  font-style: inherit;
  font-weight: inherit;
}
b,strong {  font-weight: bold;}
sup {  vertical-align: text-top; font-size: 60%}
sub {  vertical-align: text-bottom;}
input,textarea,select,b {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
* html input,
* html textarea,
* html select {
  font-size: 100%;
}
textarea.message {
  width: 100%;
  height: 20rem;
}
*:first-child + html + input,
*:first-child html + textarea,
*:first-child + html select {
  font-size: 100%;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: inherit;
}
th,td {
  text-align: left;
  vertical-align: top;
}
caption {
  text-align: left;
}
pre,code,kbd,samp,tt {
  font-family: monospace;
}
* html pre,
* html code,
* html kbd,
* html samp,
* html tt {
  font-size: 100%;
  line-height: 100%;
}
*:first-child + html pre,
*:first-child html + code,
*:first-child html + kbd,
*:first-child + html + samp,
*:first-child + html tt {
  font-size: 108%;
  line-height: 100%;
}
input,select,textarea {
  font-size: 100%;
  font-family: Verdana, Helvetica, sans-serif;
}
input.long,
input.short,
textarea.message {
  width: 100%;
  border: 1px solid #e3e3e3;
  border-radius: 0.23em;
  padding: 5px 5px;
  background: #fbfbfb;
  box-shadow: 0px 0px 5px #CCC inset;
}
input.file {
  display: inline-block;
  padding: 10px 10px;
  vertical-align: middle;
  border: solid 1px #e3e3e3;
  border-radius: 0.23em;
  background: #fbfbfb;
}
::placeholder {
  font-weight: normal;
}
.basicTable > dt:has(.hissu){
  position: relative;
  padding-right: 40px;
}
.hissu {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  padding: 2px 4px 1px 4px;
  background-color: var(--wh);
  border: 1px solid #bd4e00;
  border-radius: 4px;
  color: #bd4e00;
  font-weight: bold;
  font-size: 11px;
}
.nini {
  padding: 3px 4px 2px 4px;
  background: #efefef;
  border: 1px solid #ccc;
  border-radius: 4px;
  display: block;
  width: 40px;
  text-align: center;
  float: right;
  color: #222;
  font-weight: bold;
  font-size: 11px;
}
.fW500 {  font-weight: 500;}
.fW100 {  font-weight: 100;}
.fW300 {  font-weight: 300;}
.ls0 {  letter-spacing: 0;}
.ls1 {  letter-spacing: 0.1em;}
.ls2 {  letter-spacing: 0.2em;}
.ls4 {  letter-spacing: 0.4em;}
.lh0 {  line-height: 0%;}
.lh100 {  line-height: 100%;}
.lh120 {  line-height: 120%;}
.lh140 {  line-height: 140%;}
.lh160 {  line-height: 160%;}
.lh200 {  line-height: 200%;}
.lh230 {  line-height: 230%;}
.lh240 {  line-height: 240%;}
.lh250 {  line-height: 250%;}
.lh255 {  line-height: 255%;}

/* cf
========================================== */
.cf:after {
  visibility: hidden;
  display: block;
  content: "";
  clear: both;
}

* html .cf {
  zoom: 1;
}
/* =======================================

	Structure CSS

========================================== */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.center {
  text-align: center !important;
  vertical-align: middle;
}
.right {  text-align: right !important;}.left {  text-align: left !important;}.indent {
  padding-left: 1em;
  text-indent: -1em;
}

.bold {  font-weight: bold !important;}

.floatL {  float: left;}
.floatR {  float: right;}

.rela {  position: relative;}

.kome li {
  text-indent: -1em;
  padding-left: 1em;
  line-height: 140%;
  margin-bottom: 10px;
}

.imgR {
  float: right;
  width: 40%;
  margin-left: 30px;
}

.imgL {
  float: left;
  width: 40%;
  margin-right: 30px;
}

/*flex
========================================== */
.flex {  display: flex;}
.flexNowrap {
  display: flex;
  flex-wrap: nowrap;
}
.flexWrap {
  display: flex;
  flex-wrap: wrap;
}

.flexSpaceBetween {  justify-content: space-between;}

.flexCenter {  justify-content: center;}
.flexLeft {  justify-content: left;}
.flexRight {  justify-content: right;}
.flexEnd {  justify-content: flex-end;}
.flexRowReverse {  flex-flow: row-reverse;}
.alignItemsC {  align-items: center;}
.alignItemsSt {  align-items: flex-start;}
.alignItemsEnd {  align-items: flex-end;}



.dBlock {  display: block;}
.poevNone {  pointer-events: none;}

.ofHidden {  overflow: hidden;}
.ofAuto {  overflow: auto;}
.ofY {  overflow-y: auto;}
.ofXHidden {  overflow-x: hidden;}

img {
  max-width: 100%;
  display: block;
  transition: 0.3s;
}

figure {
  display: block;
  margin-block-start: 0;
  margin-block-end: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  margin: 0;
  padding: 0;
}

.w4em {  width: 4em;}
.w45em {  width: 4.5em;}
.w5em {  width: 5em;}
.w6em {  width: 6em;}
.w7em {  width: 7em;}
.w8em {  width: 8em;}
.w9em {  width: 9em;}
.w10em {  width: 10em;}

.f10 {  font-size: 1rem !important;}
.f11 {  font-size: 1.1rem !important;}
.f12 {  font-size: 1.2rem !important;}
.f13 {  font-size: 1.3rem !important;}
.f14 {  font-size: 1.4rem !important;}
.f15 {  font-size: 1.5rem !important;}
.f16 {  font-size: 1.6rem !important;}
.f17 {  font-size: 1.7rem !important;}
.f18 {  font-size: 1.8rem !important;}
.f19 {  font-size: 1.9rem !important;}
.f20 {  font-size: 2rem !important;}
.f21 {  font-size: 2.1rem !important;}
.f22 {  font-size: 2.2rem !important;}
.f23 {  font-size: 2.3rem !important;}
.f24 {  font-size: 2.4rem !important;}
.f25 {  font-size: 2.5rem !important;}
.f26 {  font-size: 2.6rem !important;}
.f27 {  font-size: 2.7rem !important;}
.f28 {  font-size: 2.8rem !important;}
.f29 {  font-size: 2.9rem !important;}
.f30 {  font-size: 3rem !important;}
.f40 {  font-size: 4rem !important;}

.fps40 {  font-size: 40% !important;}
.fps60 {  font-size: 60% !important;}
.fps65 {  font-size: 65% !important;}
.fps70 {  font-size: 70% !important;}
.fps75 {  font-size: 75% !important;}
.fps80 {  font-size: 80% !important;}
.fps85 {  font-size: 85% !important;}
.fps90 {  font-size: 90% !important;}
.fps95 {  font-size: 95% !important;}
.fps100 {  font-size: 100% !important;}
.fps105 {  font-size: 105% !important;}
.fps110 {  font-size: 110% !important;}
.fps115 {  font-size: 115% !important;}
.fps120 {  font-size: 120% !important;}
.fps125 {  font-size: 125% !important;}
.fps130 {  font-size: 130% !important;}
.fps135 {  font-size: 135% !important;}
.fps140 {  font-size: 140% !important;}
.fps145 {  font-size: 145% !important;}
.fps150 {  font-size: 150% !important;}

.inner {
  max-width: 1320px !important;
  position: relative;
  width: 90%;
  margin: 0 auto;
}
.inner01 {
  max-width: 1200px !important;
  position: relative;
  width: 90%;
  margin: 0 auto;
}
.inner02 {
  max-width: 1080px !important;
  position: relative;
  width: 90%;
  margin: 0 auto;
}
.inner500 {
  max-width: 500px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner600 {
  max-width: 600px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner700 {
  max-width: 700px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner800 {
  max-width: 800px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner880 {
  max-width: 880px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner900 {
  max-width: 900px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1000 {
  max-width: 1000px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1100 {
  max-width: 1100px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1200 {
  max-width: 1200px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1300 {
  max-width: 1300px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1400 {
  max-width: 1400px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1500 {
  max-width: 1500px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1600 {
  max-width: 1600px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1700 {
  max-width: 1700px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}
.inner1800 {
  max-width: 1800px !important;
  position: relative;
  width: 96%;
  margin: 0 auto;
}

/* =======================================

	margin / padding

========================================== */
/*! mb */
.mA {
  margin-left: auto;
  margin-right: auto;
}

.mA0 {  margin: 0px !important;}
.mA5 {  margin: 5px !important;}
.mA10 {  margin: 10px !important;}
.mA15 {  margin: 15px !important;}
.mA20 {  margin: 20px !important;}
.mA25 {  margin: 25px !important;}
.mA30 {  margin: 30px !important;}
.mA35 {  margin: 35px !important;}
.mA40 {  margin: 40px !important;}
.mA45 {  margin: 45px !important;}
.mA50 {  margin: 50px !important;}
.mA55 {  margin: 55px !important;}
.mA60 {  margin: 60px !important;}
.mA65 {  margin: 65px !important;}
.mA70 {  margin: 70px !important;}
.mA75 {  margin: 75px !important;}
.mA80 {  margin: 80px !important;}
.mA85 {  margin: 85px !important;}
.mA90 {  margin: 90px !important;}
.mA95 {  margin: 95px !important;}
.mA100 {  margin: 100px !important;}
.mA105 {  margin: 105px !important;}
.mA110 {  margin: 110px !important;}
.mA115 {  margin: 115px !important;}
.mA120 {  margin: 120px !important;}
.mA125 {  margin: 125px !important;}
.mA130 {  margin: 130px !important;}
.mA135 {  margin: 135px !important;}
.mA140 {  margin: 140px !important;}
.mA145 {  margin: 145px !important;}
.mA150 {  margin: 150px !important;}

.mT0 {  margin-top: 0px !important;}
.mT5 {  margin-top: 5px !important;}
.mT10 {  margin-top: 10px !important;}
.mT15 {  margin-top: 15px !important;}
.mT20 {  margin-top: 20px !important;}
.mT25 {  margin-top: 25px !important;}
.mT30 {  margin-top: 30px !important;}
.mT35 {  margin-top: 35px !important;}
.mT40 {  margin-top: 40px !important;}
.mT45 {  margin-top: 45px !important;}
.mT50 {  margin-top: 50px !important;}
.mT55 {  margin-top: 55px !important;}
.mT60 {  margin-top: 60px !important;}
.mT65 {  margin-top: 65px !important;}
.mT70 {  margin-top: 70px !important;}
.mT75 {  margin-top: 75px !important;}
.mT80 {  margin-top: 80px !important;}
.mT85 {  margin-top: 85px !important;}
.mT90 {  margin-top: 90px !important;}
.mT95 {  margin-top: 95px !important;}
.mT100 {  margin-top: 100px !important;}
.mT105 {  margin-top: 105px !important;}
.mT110 {  margin-top: 110px !important;}
.mT115 {  margin-top: 115px !important;}
.mT120 {  margin-top: 120px !important;}
.mT125 {  margin-top: 125px !important;}
.mT130 {  margin-top: 130px !important;}
.mT135 {  margin-top: 135px !important;}
.mT140 {  margin-top: 140px !important;}
.mT145 {  margin-top: 145px !important;}
.mT150 {  margin-top: 150px !important;}
.mB0 {  margin-bottom: 0px !important;}
.mB5 {  margin-bottom: 5px !important;}
.mB10 {  margin-bottom: 10px !important;}
.mB15 {  margin-bottom: 15px !important;}
.mB20 {  margin-bottom: 20px !important;}
.mB25 {  margin-bottom: 25px !important;}
.mB30 {  margin-bottom: 30px !important;}
.mB35 {  margin-bottom: 35px !important;}
.mB40 {  margin-bottom: 40px !important;}
.mB45 {  margin-bottom: 45px !important;}
.mB50 {  margin-bottom: 50px !important;}
.mB55 {  margin-bottom: 55px !important;}
.mB60 {  margin-bottom: 60px !important;}
.mB65 {  margin-bottom: 65px !important;}
.mB70 {  margin-bottom: 70px !important;}
.mB75 {  margin-bottom: 75px !important;}
.mB80 {  margin-bottom: 80px !important;}
.mB85 {  margin-bottom: 85px !important;}
.mB90 {  margin-bottom: 90px !important;}
.mB95 {  margin-bottom: 95px !important;}
.mB100 {  margin-bottom: 100px !important;}
.mB105 {  margin-bottom: 105px !important;}
.mB110 {  margin-bottom: 110px !important;}
.mB115 {  margin-bottom: 115px !important;}
.mB120 {  margin-bottom: 120px !important;}
.mB125 {  margin-bottom: 125px !important;}
.mB130 {  margin-bottom: 130px !important;}
.mB135 {  margin-bottom: 135px !important;}
.mB140 {  margin-bottom: 140px !important;}
.mB145 {  margin-bottom: 145px !important;}
.mB150 {  margin-bottom: 150px !important;}
.mL0 {  margin-left: 0px !important;}
.mL5 {  margin-left: 5px !important;}
.mL10 {  margin-left: 10px !important;}
.mL15 {  margin-left: 15px !important;}
.mL20 {  margin-left: 20px !important;}
.mL25 {  margin-left: 25px !important;}
.mL30 {  margin-left: 30px !important;}
.mL35 {  margin-left: 35px !important;}
.mL40 {  margin-left: 40px !important;}
.mL45 {  margin-left: 45px !important;}
.mL50 {  margin-left: 50px !important;}
.mL55 {  margin-left: 55px !important;}
.mL60 {  margin-left: 60px !important;}
.mL65 {  margin-left: 65px !important;}
.mL70 {  margin-left: 70px !important;}
.mL75 {  margin-left: 75px !important;}
.mL80 {  margin-left: 80px !important;}
.mL85 {  margin-left: 85px !important;}
.mL90 {  margin-left: 90px !important;}
.mL95 {  margin-left: 95px !important;}
.mL100 {  margin-left: 100px !important;}
.mL105 {  margin-left: 105px !important;}
.mL110 {  margin-left: 110px !important;}
.mL115 {  margin-left: 115px !important;}
.mL120 {  margin-left: 120px !important;}
.mL125 {  margin-left: 125px !important;}
.mL130 {  margin-left: 130px !important;}
.mL135 {  margin-left: 135px !important;}
.mL140 {  margin-left: 140px !important;}
.mL145 {  margin-left: 145px !important;}
.mL150 {  margin-left: 150px !important;}
.mR0 {  margin-right: 0px !important;}
.mR5 {  margin-right: 5px !important;}
.mR10 {  margin-right: 10px !important;}
.mR15 {  margin-right: 15px !important;}
.mR20 {  margin-right: 20px !important;}
.mR25 {  margin-right: 25px !important;}
.mR30 {  margin-right: 30px !important;}
.mR35 {  margin-right: 35px !important;}
.mR40 {  margin-right: 40px !important;}
.mR45 {  margin-right: 45px !important;}
.mR50 {  margin-right: 50px !important;}
.mR55 {  margin-right: 55px !important;}
.mR60 {  margin-right: 60px !important;}
.mR65 {  margin-right: 65px !important;}
.mR70 {  margin-right: 70px !important;}
.mR75 {  margin-right: 75px !important;}
.mR80 {  margin-right: 80px !important;}
.mR85 {  margin-right: 85px !important;}
.mR90 {  margin-right: 90px !important;}
.mR95 {  margin-right: 95px !important;}
.mR100 {  margin-right: 100px !important;}
.mR105 {  margin-right: 105px !important;}
.mR110 {  margin-right: 110px !important;}
.mR115 {  margin-right: 115px !important;}
.mR120 {  margin-right: 120px !important;}
.mR125 {  margin-right: 125px !important;}
.mR130 {  margin-right: 130px !important;}
.mR135 {  margin-right: 135px !important;}
.mR140 {  margin-right: 140px !important;}
.mR145 {  margin-right: 145px !important;}
.mR150 {  margin-right: 150px !important;}
.pB0 {  padding-bottom: 0px !important;}
.pB5 {  padding-bottom: 5px !important;}
.pB10 {  padding-bottom: 10px !important;}
.pB15 {  padding-bottom: 15px !important;}
.pB20 {  padding-bottom: 20px !important;}
.pB25 {  padding-bottom: 25px !important;}
.pB30 {  padding-bottom: 30px !important;}
.pB35 {  padding-bottom: 35px !important;}
.pB40 {  padding-bottom: 40px !important;}
.pB45 {  padding-bottom: 45px !important;}
.pB50 {  padding-bottom: 50px !important;}
.pB55 {  padding-bottom: 55px !important;}
.pB60 {  padding-bottom: 60px !important;}
.pB65 {  padding-bottom: 65px !important;}
.pB70 {  padding-bottom: 70px !important;}
.pB75 {  padding-bottom: 75px !important;}
.pB80 {  padding-bottom: 80px !important;}
.pB85 {  padding-bottom: 85px !important;}
.pB90 {  padding-bottom: 90px !important;}
.pB95 {  padding-bottom: 95px !important;}
.pB100 {  padding-bottom: 100px !important;}
.pB105 {  padding-bottom: 105px !important;}
.pB110 {  padding-bottom: 110px !important;}
.pB115 {  padding-bottom: 115px !important;}
.pB120 {  padding-bottom: 120px !important;}
.pB125 {  padding-bottom: 125px !important;}
.pB130 {  padding-bottom: 130px !important;}
.pB135 {  padding-bottom: 135px !important;}
.pB140 {  padding-bottom: 140px !important;}
.pB145 {  padding-bottom: 145px !important;}
.pB150 {  padding-bottom: 150px !important;}
.pT0 {  padding-top: 0px !important;}
.pT5 {  padding-top: 5px !important;}
.pT10 {  padding-top: 10px !important;}
.pT15 {  padding-top: 15px !important;}
.pT20 {  padding-top: 20px !important;}
.pT25 {  padding-top: 25px !important;}
.pT30 {  padding-top: 30px !important;}
.pT35 {  padding-top: 35px !important;}
.pT40 {  padding-top: 40px !important;}
.pT45 {  padding-top: 45px !important;}
.pT50 {  padding-top: 50px !important;}
.pT55 {  padding-top: 55px !important;}
.pT60 {  padding-top: 60px !important;}
.pT65 {  padding-top: 65px !important;}
.pT70 {  padding-top: 70px !important;}
.pT75 {  padding-top: 75px !important;}
.pT80 {  padding-top: 80px !important;}
.pT85 {  padding-top: 85px !important;}
.pT90 {  padding-top: 90px !important;}
.pT95 {  padding-top: 95px !important;}
.pT100 {  padding-top: 100px !important;}
.pT105 {  padding-top: 105px !important;}
.pT110 {  padding-top: 110px !important;}
.pT115 {  padding-top: 115px !important;}
.pT120 {  padding-top: 120px !important;}
.pT125 {  padding-top: 125px !important;}
.pT130 {  padding-top: 130px !important;}
.pT135 {  padding-top: 135px !important;}
.pT140 {  padding-top: 140px !important;}
.pT145 {  padding-top: 145px !important;}
.pT150 {  padding-top: 150px !important;}
.pL0 {  padding-left: 0px !important;}
.pL5 {  padding-left: 5px !important;}
.pL10 {  padding-left: 10px !important;}
.pL15 {  padding-left: 15px !important;}
.pL20 {  padding-left: 20px !important;}
.pL25 {  padding-left: 25px !important;}
.pL30 {  padding-left: 30px !important;}
.pL35 {  padding-left: 35px !important;}
.pL40 {  padding-left: 40px !important;}
.pL45 {  padding-left: 45px !important;}
.pL50 {  padding-left: 50px !important;}
.pL55 {  padding-left: 55px !important;}
.pL60 {  padding-left: 60px !important;}
.pL65 {  padding-left: 65px !important;}
.pL70 {  padding-left: 70px !important;}
.pL75 {  padding-left: 75px !important;}
.pL80 {  padding-left: 80px !important;}
.pL85 {  padding-left: 85px !important;}
.pL90 {  padding-left: 90px !important;}
.pL95 {  padding-left: 95px !important;}
.pL100 {  padding-left: 100px !important;}
.pL105 {  padding-left: 105px !important;}
.pL110 {  padding-left: 110px !important;}
.pL115 {  padding-left: 115px !important;}
.pL120 {  padding-left: 120px !important;}
.pL125 {  padding-left: 125px !important;}
.pL130 {  padding-left: 130px !important;}
.pL135 {  padding-left: 135px !important;}
.pL140 {  padding-left: 140px !important;}
.pL145 {  padding-left: 145px !important;}
.pL150 {  padding-left: 150px !important;}
.pR0 {  padding-right: 0px !important;}
.pR5 {  padding-right: 5px !important;}
.pR10 {  padding-right: 10px !important;}
.pR15 {  padding-right: 15px !important;}
.pR20 {  padding-right: 20px !important;}
.pR25 {  padding-right: 25px !important;}
.pR30 {  padding-right: 30px !important;}
.pR35 {  padding-right: 35px !important;}
.pR40 {  padding-right: 40px !important;}
.pR45 {  padding-right: 45px !important;}
.pR50 {  padding-right: 50px !important;}
.pR55 {  padding-right: 55px !important;}
.pR60 {  padding-right: 60px !important;}
.pR65 {  padding-right: 65px !important;}
.pR70 {  padding-right: 70px !important;}
.pR75 {  padding-right: 75px !important;}
.pR80 {  padding-right: 80px !important;}
.pR85 {  padding-right: 85px !important;}
.pR90 {  padding-right: 90px !important;}
.pR95 {  padding-right: 95px !important;}
.pR100 {  padding-right: 100px !important;}
.pR105 {  padding-right: 105px !important;}
.pR110 {  padding-right: 110px !important;}
.pR115 {  padding-right: 115px !important;}
.pR120 {  padding-right: 120px !important;}
.pR125 {  padding-right: 125px !important;}
.pR130 {  padding-right: 130px !important;}
.pR135 {  padding-right: 135px !important;}
.pR140 {  padding-right: 140px !important;}
.pR145 {  padding-right: 145px !important;}
.pR150 {  padding-right: 150px !important;}
.pA0 {  padding: 0px !important;}
.pA5 {  padding: 5px !important;}
.pA10 {  padding: 10px !important;}
.pA15 {  padding: 15px !important;}
.pA20 {  padding: 20px !important;}
.pA25 {  padding: 25px !important;}
.pA30 {  padding: 30px !important;}
.pA35 {  padding: 35px !important;}
.pA40 {  padding: 40px !important;}
.pA45 {  padding: 45px !important;}
.pA50 {  padding: 50px !important;}
.pA55 {  padding: 55px !important;}
.pA60 {  padding: 60px !important;}
.pA65 {  padding: 65px !important;}
.pA70 {  padding: 70px !important;}
.pA75 {  padding: 75px !important;}
.pA80 {  padding: 80px !important;}
.pA85 {  padding: 85px !important;}
.pA90 {  padding: 90px !important;}
.pA95 {  padding: 95px !important;}
.pA100 {  padding: 100px !important;}
.pA105 {  padding: 105px !important;}
.pA110 {  padding: 110px !important;}
.pA115 {  padding: 115px !important;}
.pA120 {  padding: 120px !important;}
.pA125 {  padding: 125px !important;}
.pA130 {  padding: 130px !important;}
.pA135 {  padding: 135px !important;}
.pA140 {  padding: 140px !important;}
.pA145 {  padding: 145px !important;}
.pA150 {  padding: 150px !important;}
.mB1em {  margin-bottom: 1em !important;}
/*! mb */
.zin0 {  z-index: 0;}
.zin1 {  z-index: 1;}
.zin2 {  z-index: 2;}
.zin3 {  z-index: 3;}
.zin4 {  z-index: 4;}
.zin5 {  z-index: 5;}
.zin6 {  z-index: 6;}
.zin7 {  z-index: 7;}
.zin8 {  z-index: 8;}
.zin9 {  z-index: 9;}
.zin10 {  z-index: 10;}

.visibilityHidden {
  visibility: hidden;
}

.noLink {
  color: #9a9a9a !important;
  pointer-events: none !important;
}


/* ---------------------------------------------------------------------------
  ★共通
--------------------------------------------------------------------------- */
html {
  font-size: 62.5%;
  background: #fff;
  color: var(--base);
}
body {
 margin: 0 auto;
 padding: 0;
 font-size: 1.6rem;
	font-family: "Zen Maru Gothic", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
 font-weight: 500;
 box-sizing: border-box;
	line-height: 1.875;
 letter-spacing: 0.1em;
}
main{
  overflow: hidden;
}
object {
  pointer-events: none;
}
a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  transition: 0.3s;
	color: var(--base);
}

/*フォントファミリー
========================================== */

.fontZ{
 font-family: "Zen Maru Gothic", sans-serif;
}

/*色
========================================== */
:root {
  --base: #333333;
  --bk: #000;
  --wh: #fff;
	--red: #e50012;
	--orange:#FF8800;
	--Lorange:#FFAF16;
	--LLorange:#FFE4B0;
	--bgorange:#FFF5E3;
  --blue: #1F98F5;
	--Lblue:#87D5FF;
	--Lgray: #F4F4F6;
 --gray:#616161;
}

/*文字色
========================================== */
.baseC{  color: var(--base) !important;}
.orange{  color: var(--orange) !important;}
.Lorange{  color: var(--Lorange) !important;}
.blue{  color: var(--blue) !important;}
.Lblue{  color: var(--Lblue) !important;}
.gray{ color: var(--gray) !important;}
.bk {  color: var(--bk) !important;}
.white {  color: var(--wh) !important;}

/*背景
========================================== */
.bgBaseC{ background-color: var(--base) !important;}
.bgOrange{ background-color: var(--orange) !important;}
.bgLorange{ background-color: var(--Lorange) !important;}
.bgLLorange{ background-color: var(--LLorange) !important;}
.bgLLLorange{ background-color: var(--bgorange) !important;}
.bgBlue{ background-color: var(--blue) !important;}
.bgLblue{ background-color: var(--Lblue) !important;}
.bgW{  background-color: var(--wh) !important;}
.bgGray{ background: var(--gray) !important;}
.bgLgray{ background: var(--Lgray) !important;}

/*ボタン
========================================== */
.btnWrap.left .btn{
	margin: 0;
}
.btnWrap.right .btn{
	margin: 0 0 0 auto;
}

.btn{
 position: relative;
	border-radius: calc(infinity * 1px);
 background:var(--orange);
 display: flex;
 align-items: center;
 justify-content: center;
	margin: 0 auto;
 color:var(--wh);
 font-weight: 700;
 line-height: 1.4;
}
.btn::after{
	content: "";
	display: block;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16 14" fill="none"><path d="M15 7L1 7M9 1L15 7L9 13" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat left top/100% auto;
 width: 16px;
 height:14px;
 position: absolute;
 right: 8.4%;
 top: 50%;
	margin-top: -7px;
}
.btn.bgW{
	background: #fff;
	color: var(--orange);
}
.btn.bgW::after{
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16 14" fill="none"><path d="M15 7L1 7M9 1L15 7L9 13" stroke="%23FF8800" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}
.btn.blue::after{	
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16 14" fill="none"><path d="M15 7L1 7M9 1L15 7L9 13" stroke="%231F98F5" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');

}


.btn.inline{
	max-width: none;
	display: inline-flex;
	width: auto;
	padding: 10px min(14.56%,52px) 10px 30px;
}
a.btn:hover{
  opacity: 0.7;
}

.arrow{
	display: inline-flex;
	align-items: center;
	gap:0 8px;
	color: var(--orange);
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.04em;
}
.arrow::after{
	content: "";
	display: block;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 29 29" fill="none"><circle cx="14.5" cy="14.5" r="14.5" fill="%23FF8800"/><path d="M19 14.5L9 14.5M14.7143 10L19 14.5L14.7143 19" stroke="white" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat left top/100% auto;
 width: 29px;
 height:29px;
}

.icWindow{display: inline-block;}
.icWindow::after{
 content: "";
 display: inline-block;
 background: url("../images/ic_window.svg") no-repeat left top/100% auto;
 width: 17px;
 height: 17px;
 margin-left: 4px;
 vertical-align: -0.1em;
}

/*		bnr
-----------------------------*/
main .bnr{
	background: var(--orange);
	border-radius: calc(infinity * 1px);
	color: var(--wh);
	display: block;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	text-align: center;
}
main .bnr::after{
	content: "";
	display: block;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16 14" fill="none"><path d="M15 7L1 7M9 1L15 7L9 13" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat left top/100% auto;
 position: absolute;
 top: 50%;
	margin-top: -7px;
}
.bnr .slash::before,
.bnr .slash::after{
	background: var(--wh);
}
.bnr:hover{
	opacity: .7;
}

/*装飾
========================================== */
.line{
	position: relative;
	display: inline-block;
	line-height: 1.45;
	z-index: 0;
}
.line::after{
	content: "";
	display: block;
	border-radius: calc(infinity * 1px);
	background: var(--LLorange);
	width:calc(100% + 4px) ;
	height: .33em;
	position: absolute;
	bottom: 0;
	left: -2px;
	z-index: -1;
}

.slash{
 display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0 10px;
}
.slash::before,
.slash::after {
  content: "";
  display: block;
  background: var(--orange);
  width: 1.5px;
  height: 1.28em;
  transform: rotate(30deg);
  transform-origin: right bottom;
}
.slash::before {
  transform: rotate(-30deg);
  transform-origin: left bottom;
}

.dots {
  background-image: radial-gradient(circle at center, var(--orange) 18%, transparent 18%); /* 点の色とサイズ調整 */
  background-position: top right; /* 点の位置 */
  background-repeat: repeat-x; /* 横方向に繰り返し */
  background-size: 1.05em 0.2em; /* 点の間隔とサイズ調整 */
  padding-top: .08em; /* 縦方向の位置調整 */
}
main .img{
	border-radius: 40px;
}

.emBdr{
	font-weight: 700;
	text-decoration: underline;
}

/*タイトル
========================================== */
.h2Tit{
 font-size: 45px;
 line-height: 1.44;
	text-align: center;
}
.h2Tit,
.h3Tit{
	color: var(--base);
	font-weight: 700;
}
.h3Tit{
 text-align: center;
 line-height: 1.4;
}
.h2Tit .en,
.h3Tit .en{
 position: relative;
	display: block;
	background: url("../images/line_roof_lo.svg") no-repeat center top/auto 44px;
	padding: 19px 0 0;
	margin-bottom: 3px;
	color: var(--Lorange);
	font-size: 20px;
 font-weight: 500;
	line-height: 1.9;
	text-align: center;
}
.h2Tit .en.orange{
	background-image: url("../images/line_roof.svg");
}


.h4Tit{
	border-bottom: 1px solid var(--orange);
	padding-bottom: 5px;
	color: var(--orange);
	font-weight: 700;
	line-height: 1.6;
}
.h5Tit{
	line-height: 1.6;
}

.bdBtm{
 border-bottom: 1px var(--orange) solid;
 padding-bottom: 5px;
}

/*
　テキスト
========================================== */
.note:not(ul),
.note li{
  margin-left: 1em;
	text-indent: -1em;
}
.note > li + li{
	margin-top: 0.25em;
}
/*縁取り*/
.edgingW{
	 -webkit-text-stroke: 8px #FFF;
  text-stroke: 8px #FFF;
  paint-order: stroke;
}
/* =======================================
  ページャー
========================================== */
/*-- pageNavi --*/
.pageNavi{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
 margin-top: 50px;
}
.pageNavi .current,
.pageNavi .inactive,
.pageNavi a{
	border: 1px solid var(--orange);
	border-radius: calc(infinity * 1px);
	aspect-ratio: 1 / 1;
  display:grid;
	align-items: center;
	justify-content: center;
  font-optical-sizing: auto;
	color: var(--orange);
  font-weight: 500;
  font-style: normal;
}
.pageNavi .current{
	background: var(--orange);
	color: #fff;
}
.pageNavi a:hover{
	background: var(--orange);
	color: #fff;
}
.pageNavi a.next:hover{
	background: none;
	border: none;
	color: var(--base);
}
.pageNavi .dotted{
	color: var(--orange);
	padding-bottom: .5em;
}

/*-- pager --*/
.pager{
	display: flex;
	justify-content:center;
	align-items: center;
	max-width: 800px !important;
  position: relative;
  width: 90%;
  margin: 50px auto 0;
}
.pager a{
	background: var(--wh);
  color: var(--orange);
	display: grid;
  align-items: center;
  justify-content: center;
 width: 40%;
 max-width: 200px;
  position: relative;
  font-weight: 700;
  line-height: 1.4;
}
/* .pager span{
 width: 40%;
 max-width: 200px;
} */
.pager .pagerPrev::before,
.pager .pagerNext::after{
	content: '';
	display: inline-block;
	 width: 7px;
  height: 7px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
	position: absolute;
	top: calc(50% - 3.5px);
}
.pager .pagerPrev::before{
	border-bottom: 2px var(--orange) solid;
  border-left: 2px var(--orange) solid;
	left: 15%;
}
.pager .pagerNext::after{
	border-top: 2px var(--orange) solid;
  border-right: 2px var(--orange) solid;
	right: 15%;
}

/*-- list --*/
.basicList li{
	border-bottom: 1px solid #ccc;
	padding: 15px 40px;
}
.basicList li li{
	border-bottom:none;
		padding: 5px 20px;
}

.discList{
	padding:0 0 0 18px;
}
.discList li{
	list-style:disc outside;
	padding:0 0 5px 0;
}

.checkList li{
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 20 20" fill="none"><path d="M8.40122 13.9218L4.54395 10.0636L5.8294 8.77812L8.40122 11.349L13.543 6.2063L14.8294 7.49266L8.40122 13.9218Z" fill="%23FF8800"/><path fill-rule="evenodd" clip-rule="evenodd" d="M0 10C0 4.47727 4.47727 0 10 0C15.5227 0 20 4.47727 20 10C20 15.5227 15.5227 20 10 20C4.47727 20 0 15.5227 0 10ZM10 18.1818C8.92555 18.1818 7.86162 17.9702 6.86895 17.559C5.87629 17.1478 4.97433 16.5452 4.21458 15.7854C3.45483 15.0257 2.85216 14.1237 2.44099 13.131C2.02981 12.1384 1.81818 11.0745 1.81818 10C1.81818 8.92555 2.02981 7.86162 2.44099 6.86895C2.85216 5.87629 3.45483 4.97433 4.21458 4.21458C4.97433 3.45483 5.87629 2.85216 6.86895 2.44099C7.86162 2.02981 8.92555 1.81818 10 1.81818C12.17 1.81818 14.251 2.68019 15.7854 4.21458C17.3198 5.74897 18.1818 7.83005 18.1818 10C18.1818 12.17 17.3198 14.251 15.7854 15.7854C14.251 17.3198 12.17 18.1818 10 18.1818Z" fill="%23FF8800"/></svg>') no-repeat left 0.35em/1.2em auto;
 padding: 0 0 0 1.55em;
}

.icList li{
	margin-bottom: 0.5em;
	padding-left: 0.75em;
	position: relative;
}
.icList li::before{
	content: '-';
	color: var(--red);
	display: inline-block;
	position: absolute;
	left: 0;
	top: 0;
}
/**/

/* =======================================
  タブ
========================================== */
.tabBtn.flexWrap{
 margin-bottom: 30px;
	justify-content: center;
	gap: 10px;
}
.tabBtn li{
    width: min(calc((100% - 10px)/2),300px);
}
.tabBtn li a{
	display: grid;
	align-items: center;
	background-color: var(--wh);
  width: 100%;
	height: 100%;
	padding: 0.5em;
	border:2px solid var(--blue);
	border-radius: 10px;
	color:  var(--blue);
	font-weight: 700;
	letter-spacing: 0.03em;
	text-align: center;
}
.tabBtn .active a{
	background-color: var(--blue);
	color: #fff !important;
}

/* =======================================
	header
========================================== */
header {
  position:fixed;
  background-color: #ffffff;
  width: 100%;
  left: 0;
  top:0;
  z-index: 100;
}
header #logo{
	position: relative;
}
header #logo >span{
	position: absolute;
	bottom: 100%;
	left: 0;
	min-width: 45.2em;
	margin-bottom: 12px;
	font-size: min(1.05vw,14px);
	font-weight: 500;
	line-height: 1.4;
}
header #logo a{
	display: block;
	line-height: 1;
}


/* =======================================
	gnavi
========================================== */
#gnaviList li {
	font-size: min(1.5vw,1.6rem);
}
#gnaviList li a{
	color: var(--base);
}
#headLinks a{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 68px;
	padding: 5px 5px;
	font-size:min(1.3vw,18px) ;
	font-weight: 900;
}
#headLinks .diagnose a{
	background: var(--LLorange);
	gap:0 6px;
	color: var(--orange);
	letter-spacing: 0.08em;
	 -webkit-text-stroke: 2px #FFF;
  text-stroke: 2px #FFF;
  paint-order: stroke;
}
#headLinks .diagnose a::before{
	content: "";
	display: block;
	background: url("../images/ic_house.svg") no-repeat left top/100% auto;
	width: 23px;
	height: 23px;
}
#headLinks .tel a{
	flex-flow: column;
	background: var(--Lorange);
 gap:0 5px;
 color: var(--wh);
	font-size: min(1vw,12px);
	font-weight: 700;
 line-height: 1.4;
	letter-spacing: 0.04em;
}
#headLinks .tel a p{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:0 3px;
 font-size: min(2vw,22px);
 font-weight: 900;
	letter-spacing: 0.08em;
	line-height: 1.3;
}
#headLinks .tel a p::before{
 content: "";
 display: block;
 background: url("../images/ic_tel_w.svg") no-repeat left top/100% auto;
 width: 11px;
 height: 19px;
 margin-top: 4px;
}

#headLinks .contact a{
	background: var(--orange);
	gap:0 8px;
	color: #fff;
}
#headLinks .contact a::before{
	content: "";
	display: block;
	background: url("../images/ic_mail_w.svg") no-repeat left top/100% auto;
	width: 26px;
	height: 21px;
}
/* =======================================
	footContact
========================================== */
#footContact{
	position: relative;
	background: #FF9A26;
	padding: 0 0 70px;
}
#footContact h2{
	position: relative;
	top: -59px;
	border-radius: 20px 20px 0 0;
	background: #FF9A26;
	width: 9.31em;
	margin: 0 auto -20px;
	padding: 25px 0 0;
	font-size: min(6.2vw,48px);
 text-align: center;
	letter-spacing: 0.12em;
	line-height: 1.45;
}
#footContact h3.white{
	position: relative;
	border: 5px #fff solid;
	border-radius: 20px 20px 0 0;
	width: 90%;
	max-width: 1175px;
	margin: 0 auto;
	font-size: 35px;
	text-align: center;
}
#footContact h3.white span{
	font-size: 142.8%;
}
#footContact h3.white::before{
	content: "";
	display: block;
	background: url("../images/footcontact_human.png") no-repeat left top/100% auto;
	width: 25vw;
	height: 14.85vw;
	max-width: 351px;
	max-height: 208px;
	margin-bottom: 5px;
	position: absolute;
	bottom: 100%;
	left: 0;
	z-index: 1;
}
#footContact ul{
	border-radius: 0 0 20px 20px;
	border: 5px #fff solid;
	border-top: none;
	width: 90%;
	max-width: 1175px;
	margin: 0 auto;
}
#footContact ul li{
 text-align: center;
}
#footContact ul li a{
 display: flex;
	flex-flow: column;
 align-items: center;
 align-content: center;
 justify-content: center;
 height:209px;
}
#footContact ul li h4{
	margin-bottom: 9px;
	line-height: 1.45;
}
#footContact ul li p{
 display: flex;
 align-items: center;
 justify-content: center;
 margin: 0;
 font-weight: 700;
	line-height: 1.45;
}
#footContact .tel a{
 background: var(--LLorange);
 color: var(--orange);
}
#footContact .tel p{
 gap:0 14px;
 font-size: min(8vw,38px);
}
#footContact .tel p::before{
 content: "";
 background: url("../images/ic_tel.svg") no-repeat left center/100% auto;
 width: 26px;
 height: 49px;
}
#footContact .contact a{
 background: var(--Lorange);
 color: var(--wh);
}
#footContact .contact h4{
	margin-bottom: 15px;
}
#footContact .contact p{
	margin-bottom: 10px;
 gap:0 18px;
 font-size: min(8vw,34px);
}
#footContact .contact p::before{
 content: "";
 background: url("../images/ic_mail_w.svg") no-repeat left center/100% auto;
 width: 47px;
 height: 38px;
}

#footContact h3.orange{
	position: relative;
	border-radius: calc(infinity * 1px);
	background: var(--LLorange);
	width: 8.88em;
	margin: .88em auto -.8em;
	font-size: 45px;
	line-height: 1.6;
	text-align: center;
}
#footContact .area{
	border-radius: 20px;
	background: #fff;
	width: 90%;
	max-width: 1175px;
	margin: 0 auto;
	padding: 55px 50px 35px;
}
#footContact .area > p{
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.08em;
}
#footContact .area > p .line{
	font-size:120%;
}
#footContact dl{
	letter-spacing: 0.04em;
	line-height: 1.4;
}
#footContact dl dt{
	color: var(--orange);
	font-size: 23px;
	font-weight: 900;
}
#footContact dl dd{
	font-size: 18px;
}
#footContact dl dd + dt{
	margin-top: 20px;
}
#footContact .area .map figure{
	margin: 0 0 7px;
}
#footContact .area .map figure img{
	margin: auto;
}

/* =======================================
	footer
========================================== */
footer{
 background: var(--wh);
 padding-bottom: 87px;
	margin-top: min(9.7vw,137px);
}

#footBottom{
 padding: 100px 0 0;
}
.footerLeft{
 position: relative;
 z-index: 0;
}

#footerLogo{
	width: 248px;
	margin-bottom: 66px;
}
.footerLeft .add{
 margin-bottom: 25px;
 font-size: 14px;
 line-height: 1.6;
}
.footerLeft p{
	font-size: 12px;
	line-height: 1.4;
}
.footerLeft .bnr{
	margin-top: 10px;
}

footer .copy{
	display: block;
 margin-top: 103px;
 font-size: 12px;
	line-height: 1.4;
 letter-spacing: 0;
	text-align:left;
}

 #pageTop{
	position: fixed;
	z-index: 10;
} 
#pageTop a{
	display: block;
	max-width: 50px;
}

.fixedBtn{
	position: fixed;
	right: 0;
	top: 45%;
	z-index: 99;
}
.fixedBtn a{
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	gap:7px 0;
	border-radius: 20px 0 0 20px;
	background: var(--orange);
	width: 78px;
	height: 289px;
	color: var(--orange);
}
.fixedBtn a span:not(.edgingW){
	display: grid;
	place-content: center;
	border-radius: 50%;
	background: #fff;
	width: 45px;
	height: 45px;
	font-weight: 700;
}
.fixedBtn a span.edgingW{
	display: block;
	font-size: 20px;
	font-weight: 900;
	writing-mode: vertical-rl;
	letter-spacing: .25em;
}

/* =======================================
	pgs common
========================================== */
/*-- mainTitle --*/
.mainTitle{
	display: grid;
	place-items: center;
	height: 250px;
}

.mainTitle h2{
	display: flex;
 flex-flow: column;
 align-content: center;
 justify-content: center;
 gap:4px 0;
	height: 150px;
	color: var(--orange);
	font-size: min(6.4vw,4rem);
 letter-spacing: 0.17em;
 line-height: 1.45;
	text-align: center;
}
.mainTitle h2 span{
 display: flex;
 align-items: center;
 gap:0 4px;
	font-size: min(4vw,1.6rem);
 letter-spacing: 0.06em;
}

/* =======================================
  breadcrumb
========================================== */
#breadcrumb{
	border-top: 1px solid var(--Lorange);
	padding-top: 15px;
}
#breadcrumb ul{
	margin: 0 auto;
 font-size: 0;
 line-height: 1;
}
#breadcrumb li{
	display: inline;
 margin-right: 10px;
 font-size: 14px;
 color: #C0C0C0;
}
#breadcrumb li a{
	color: var(--orange);
}
#breadcrumb li a::after{
	content: "";
 display: inline-block;
	border-top: 1px #B3B3B3 solid;
	border-right: 1px #B3B3B3 solid;
	width: 6px;
	height: 6px;
	-webkit-transform: rotate(45deg);
transform: rotate(45deg);
 color: #009944;
	margin-left: 10px;
 margin-bottom: 2px;
}
#breadcrumb li>span:after{
  content: ' | '
}

/**/



/*-- table --*/
.basicTable {
	background: var(--wh);
	border: 1px solid var(--base);
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
.basicTable >div{
 display: flex;
	justify-content: space-between;
	align-items: stretch;
 width: 100%;
}
.basicTable > dt,
.basicTable >div>dt{
	background: var(--base);
	border-bottom: 1px solid var(--wh);
	color: var(--wh);
	display: flex;
	font-weight: 700;
	align-items: center;
}
.basicTable > dd,
.basicTable >div>dd{
	border-bottom: 1px solid var(--base);
	display: grid;
	align-items: center;
}
.basicTable dd dl dd{
	padding-left: 1em;
}
.basicTable dd dl dd + dt{
	padding-top: 15px;
}
.basicTable a{
	text-decoration: underline;
}
.basicTable a:hover{
 text-decoration: none;
}

table.basicTable{
	display: table;
	width: 100%;
}
table.basicTable thead{
	width: 100%;
}
table.basicTable thead th{
	background: var(--base);
	border-right: 1px solid var(--wh);
	border-bottom: 1px solid var(--wh);
	color: var(--wh);
	font-weight: 700;
	text-align: center;
	word-break: keep-all;
}
table.basicTable thead th:last-of-type{
	border-right: none;
}
table.basicTable thead th span{
	display: block;
	font-size: 88%;
}
table.basicTable tbody th{
	background: var(--LLblue);
	border-right: 1px solid var(--base);
	border-bottom: 1px solid var(--base);
	font-weight: 500;
	text-align: center;
}
table.basicTable tbody td{
	border-right: 1px solid var(--base);
	border-bottom: 1px solid var(--base);
	text-align: center;
}
table.basicTable th,
table.basicTable td{
	vertical-align: middle;
}

/*		anchorLink
-----------------------------*/
.anchorWrap{
	background: #FFF5E3;
}
.anchorWrap > ul,
.anchorWrap .anchorLink{
	justify-content: center;
	margin: 0 auto;
	width: 96%;
	max-width: 1200px;
}
.anchorLink{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.anchorLink li{
	background: var(--wh);
	border-radius: 15px;
	height: auto;
}
.anchorLink a{
	background: var(--wh);
	border: 1px solid var(--orange);
	border-radius: 15px;
	color: var(--orange);
	justify-content: center;
	position: relative;
	display: flex;
	align-items: center;
	text-align: center;
}
.anchorLink a::before,
.anchorLink a::after{
	content: "";
	display: inline-block;
	position: absolute;
}
.anchorLink a::before{
	background: var(--orange);
	border: 1px solid var(--orange);
	border-radius: calc(infinity * 1px);
	aspect-ratio: 1 / 1;
}
.anchorLink a::after{
	content: "";
  display: inline-block;
	border: solid var(--wh);
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}
.anchorLink a:hover{
	opacity: .7;
}
.anchorLink li.other a::after{
 display: none;
}

/*		pagelinks
-----------------------------*/
.pagelinksWrap{
	border-top: 1px dashed var(--orange);
	border-bottom: 1px dashed var(--orange);
}
.pageLinks{
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}
.pageLinks li a{
	border-radius: calc(infinity * 1px);
	background: var(--orange);
	border: 1px solid var(--orange);
	color: var(--wh);
	display: grid;
	place-content: center;
	position: relative;
	max-width: 100%;
	height: 100%;
	text-align: center;
}
.pageLinks li a::after{
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
	border-top: 2px solid var(--wh);
	border-right: 2px solid var(--wh);
	position: absolute;
  right: 8%;
  top: calc(50% - 3px);
	transform: rotate(45deg);
}
.pageLinks a:hover{
	background: var(--wh);
	color: var(--orange);
}
.pageLinks a:hover::after{
	border-top: 2px solid var(--wh);
	border-right: 2px solid var(--wh);
}

/*		noticeBox
-----------------------------*/
.noticeBox{
	border: 2px solid var(--orange);
	border-radius: 20px;
	margin-top: 30px;
	position: relative;
}
.noticeBox::before,
.noticeBox::after{
	content: "";
	display: block;
	position: absolute;
}
.noticeBox::before{
	background: var(--orange);
	border-radius: calc(infinity * 1px);
	aspect-ratio: 1 / 1;
}
.noticeBox::after{
	content: "！";
	color: var(--wh);
	font-weight: 700;
}


/*		pgs section
-----------------------------*/
.secLead{
	padding-bottom: 0;
}
main .img{
	border-radius: 20px;
}


/* =======================================
	top
========================================== */
/*		#mv
-----------------------------*/
#mv{
	position: relative;
	background: #FFE5B2;
	padding: 0 0 60px;
}
#mv .inner1300{
	border-radius:0 0 20px 20px;
	background:url("../images/mv_bg_cloud01.png") no-repeat left 28px top -70px/369px auto ,
		url("../images/mv_bg_cloud02.png") no-repeat left 28px top 220px/205px auto ,
		url("../images/mv_bg_cloud03.png") no-repeat right 61px top 177px/168px auto #E7F8FF;
	padding-top: 43px;
}
#mv .mvTitle{
	position: relative;
	margin: 0 0 25px;
}
#mv .mvTitle p{
	width: 15.24em;
	max-width: 457px;
	margin: 0 min(4.07vw,71px) max(-8vw,-113px) auto;
	background: url("../images/mv_line.svg") no-repeat left bottom/100% auto;
	padding: 0 0 6px;
	color: var(--orange);
	font-size: min(2.14vw,30px);
	font-weight: 700;
	letter-spacing: 0.04em;
}
.mvTitle p > span{
	display: flex;
	align-items: flex-end;
	line-height: 1.92;
	white-space: nowrap;
}
.mvTitle p > span span{
	font-size: 133%;
	line-height: 1.5;
}
.mvTitle p .bgOrange{
	display: inline-flex;
	border-radius: calc(infinity * 1px);
	padding-inline: 1.2em;
	color: #fff;
}
.mvTitle p .bgOrange + span{
	margin-left: 10px;
}

.mvTitle h2{
	margin-left:10%/* min(6.85vw,96px)*/;
	width: min(67.35vw,943px);
}
#mv .pcFlex{
	padding: 0 50px 0 35px;
}
#mv .pcFlex .txts p.slash{
	margin: 0 0 5px;
	color: var(--orange);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.6;
}
#mv .pcFlex .txts p >span{
	font-size: 30px;
	line-height: 1.4;
}
#mv .pcFlex .txts p span span{
	font-size: 200%;
	font-weight: 900;
	line-height: 1;
}
#mv .pcFlex .txts ul{
	gap:0 20px;
}

#mv .pcFlex figure{
	position: relative;
}
#mv .pcFlex figure .h01,
#mv .pcFlex figure .h02{
	position: absolute;
}
#mv .pcFlex figure .h01{
	width: min(8.64vw,121px);
	top: max(-1.2vw,-17px);
	right:min(3.2vw,45px);
	animation: anime01 5s infinite;
}
#mv .pcFlex figure .h02{
	width: min(12.85vw,180px);
	bottom: min(8.4vw,118px);
	left: min(1.64vw,23px);
animation: anime02 3.5s linear infinite ;
}

@keyframes anime01{
  0% { transform: translate(0, 0) rotate(0deg); }
  /*2% { transform: translate(-2px, 1px) rotate(-1deg); }*/
  4% { transform: translate(2px, -2px) rotate(1deg); }
  /*6% { transform: translate(-1px, 2px) rotate(0deg); }
  8% { transform: translate(2px, 1px) rotate(1deg); }*/
  10% { transform: translate(0, 0) rotate(0deg); } /* 元に戻る */  
  /* 10% から 100% までは完全に静止*/
  100% { transform: translate(0, 0) rotate(0deg); }
}
@keyframes anime02 {
  0%   { transform: translate(0%, 0%); }
  5%   { transform: translate(2%, 0%) rotate(0deg); }
  10%  { transform: translate(4%, 0%) rotate(2deg); }
  15%  { transform: translate(0%, 0%) rotate(0deg); }
  25%  { transform: translate(-2%, 0%) rotate(-1deg); }
  35%  { transform: translate(2%, 0%) rotate(1deg); }
  40%  { transform: translate(3%, 0%) rotate(2deg); }
  45%  { transform: translate(-1%, 0%) rotate(-0deg); }
  50%  { transform: translate(-2%, 0%) rotate(-1deg); }
  55%  { transform: translate(0%, 0%) rotate(0deg); }
  100% { transform: translate(0%, 0%) rotate(0deg); }
}


/*		##topAchievements
-----------------------------*/
#topAchievements{
	background: url("../images/top_achievements_bg.png") no-repeat left top/100% 100%;
}
#topAchievements h2{
	margin-bottom: 35px;
	font-size: 50px;
}
#topAchievements h2 .fs{
	font-size: 80%;
}


.achievementsSlider .slick-list{
	overflow: visible;
}
/*.achievementsSlider .slick-slide[data-slick-index="-2"]{
transform: rotate(-3deg);
	transform-origin: right bottom;
}
.achievementsSlider .slick-slide[data-slick-index="2"]{
transform: rotate(3deg);
	transform-origin: left bottom;
}*/


.achievementsSlider .slick-slide{
	border-radius: 10px;
	border: 1px var(--base) solid;
	background: #fff;
	margin: 0 min(0.9vw,13px);
}
.achievementsSlider .slick-slide a{
	display: block;
	padding: 12px 12px 20px;
}
.achievementsSlider .cat{
	height: 30px;
	padding: 0 min(0.6vw,9px) 2px;
	font-size:min(1.1vw, 18px);
	letter-spacing: 0.02em;
	line-height: 1.2;
}
.achievementsSlider .cat + .cat{
	margin-left:min(1vw,15px); 
}
.cat.cat_cover{
	font-size:min(1.05vw, 18px);
	letter-spacing: 0;
}
.cat.cat_rain{
	background: var(--blue);
}
.cat.cat_tileroof{
	background: var(--orange);
}
.achievementsSlider figure{
	margin: 8px 0 0;
	position: relative;
}
.achievementsSlider figure img{
	border-radius: 10px;
	border: 1px var(--base) solid;
	object-fit: cover;
 width: 100%;
 height: 100%;
 aspect-ratio:276/301;	
}
.achievementsSlider figure::after{
	content: "";
	display: block;
	background: url("../images/top_achivements_bg_house.svg") no-repeat left top/100% 100%;
	width: min(82%,224px);
	height: min(9.2vw,129px);
	position: absolute;
	bottom:-1px;
	left: 0;right: 0;
	margin: auto;
	z-index: 1;
}
.achievementsSlider h3,
.achievementsSlider dl{
	position: relative;
	z-index: 1;
	width: 66%;
	max-width: 175px;
	margin-inline:auto;
}

.achievementsSlider h3{
	margin-top: max(-6.2vw,-88px);
	margin-bottom: 20px;
	font-size: min(1.45vw,23px);
	letter-spacing: 0.04em;
	line-height: 1.4;
}
.achievementsSlider h3 span{
	margin-left: min(0.6vw,10px);
}
.achievementsSlider dl{
	 display: grid;
  grid-template: auto / 5.1em 1fr;
	gap:10px 0;
	font-size: min(1.0vw,16px);
	line-height: 1.4;
	letter-spacing: 0.06em;
}
.achievementsSlider dl dt,
.achievementsSlider dl dd{
	border-bottom: 1px solid var(--base);
	padding: 0 0 1px;
	font-size: min(1.0vw,16px);
}
.achievementsSlider dl dt{
	grid-column: 1;
}
.achievementsSlider dl dd{
	 grid-column: 2;
}

/*		#topRecommend
-----------------------------*/
#topRecommend {
}
#topRecommend h2{
	position: relative;
	max-width:1046px;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 41 145" fill="none"><path d="M38 3H3V142H38" stroke="%23FFAF16" stroke-width="6" stroke-linecap="round"/></svg>') no-repeat left top/auto 100%,
		url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 41 145" fill="none"><path d="M3 3H38V142H3" stroke="%23FFAF16" stroke-width="6" stroke-linecap="round"/></svg>') no-repeat right top/auto 100%;
	padding: 5px min(3.3%,35px) 13px;
	margin: 0 auto 60px;
	font-size: 45px;
	text-align: center;
	line-height: 1.4;
}
#topRecommend h2 .sub{
	display: block;
	margin-bottom: 13px;
	font-size: 66.6%;
}
#topRecommend h2 .dots{
	background-image: radial-gradient(circle at center, var(--orange) 16%, transparent 18%);
	background-size: 1.05em .18em;
	padding-top: 0;
}
#topRecommend ul li{
	display: flex;
	flex-flow: column;
}
#topRecommend ul li figure{
	position: relative;
	width: 118px;
	height: 118px;
	background: var(--LLorange);
	border-radius: 50%;
}
#topRecommend ul li figure img{
	object-fit: cover;
 width: 100%;
 height: 100%;
 aspect-ratio:1/1;
}
#topRecommend ul li p{
	background: url("../images/top_recommend_bg01.svg") no-repeat left top/100% 100%;
	width:314px;
	height:240px;
	padding: 55px 0 0;
	font-size: 18px;
	text-align: center;
	line-height: 1.78;
}
#topRecommend ul li p .orange{
	display: block;
	font-size: 144.4%;
	font-weight: 900;
	line-height: 1.2;
}
#topRecommend ul li p .right{
	display: block;
	padding-right: 2.5em;
}
#topRecommend ul li:nth-of-type(1) {
	padding-top: 18px;
}
#topRecommend ul li:nth-of-type(1) figure{
	margin-bottom: -62px;
}
#topRecommend ul li:nth-of-type(2),
#topRecommend ul li:nth-of-type(4){
	flex-flow: column-reverse;
	align-items: center;
	justify-content: flex-end;
}
#topRecommend ul li:nth-of-type(2) figure{
	margin-top:-58px;
}
#topRecommend ul li:nth-of-type(2) p{
	padding-top: 31px;
}
#topRecommend ul li:nth-of-type(3){
	align-items: center;
	padding-top: 48px;
}
#topRecommend ul li:nth-of-type(3) figure{
	margin-bottom:-68px;
}
#topRecommend ul li:nth-of-type(3) p{
	background-image: url("../images/top_recommend_bg02.svg");
	padding-top: 82px;
	padding-left: 10px;
}
#topRecommend ul li:nth-of-type(4) figure{
	margin-top:-73px;
}
#topRecommend ul li:nth-of-type(4) p{
	padding-top: 45px;
}

/*		#topMerit
-----------------------------*/
#topMerit{
	position: relative;
	background-color: rgba(135,213,255,.8) ;
	z-index: 0;
	text-align: center;
}
#topMerit::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url("../images/top_merit_bg.png") no-repeat left top/100% auto;
	opacity: .2;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#topMerit h2{
	position: relative;
	display: inline-block;
	text-align: center;
	margin-bottom: 45px;
	font-size: 45px;
	line-height: 1.4;
}
#topMerit h2 .en{
	margin-right: .8em;
	font-size: 44.4%;
}
#topMerit h2 .sub{
	position: absolute;
	right: -1.1em;
	bottom: 1.35em;
}
#topMerit h2 .num{
	font-size: 344.4%;
	line-height: 1;
}
#topMerit .lead{
	font-size: 20px;
	line-height: 1.9;
}
#topMerit ul.bgW{
	border-radius: 20px;
	padding: 26px 3.8% 60px;
}
#topMerit li{
}
#topMerit li .num{
	font-size: 120px;
	color: var(--Lblue);
	line-height: 1.45;
}
#topMerit li figure {
	margin: -14px 0 27px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: 208px;
}
#topMerit li figure img{
	margin: 0 auto;
}
#topMerit li h3{
	margin-bottom: 26px;
	font-size: 28px;
	line-height: 1.46;
}
#topMerit li p{
	margin: 0;
	font-size: 18px;
	text-align: left;
}
#topMerit li .note{
	margin-top: 1.78em;
	margin-left: 0;
	text-indent: 0;
	font-size: 14px;
}

#topMerit dl{
	margin-top: 66px;
}
#topMerit dl dt{
	background: var(--blue);
	border-radius: calc(infinity * 1px);
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0 5px;
	color: #fff;
	font-size: 25px;
	font-weight: 700;
	text-align: center;
}
#topMerit dl dt::before{
	content: "";
	display: inline-block;
	background: url("../images/top_merit_ic_client.svg") no-repeat left top/100% auto;
	width: 30px;
	height: 30px;
}
#topMerit dl dd{
	font-size: 20px;
	text-align: left;
}
#topMerit .btn{
	width: min(100% ,418px);
}

/*		#topService
-----------------------------*/
#topService{}
#topService h2{
	margin-bottom: 40px;
}
#topService h2 span:not(.en){
	font-size: 122.2%;
}
#topService h2 span:last-of-type{
	position: relative;
}
#topService h2 span:last-of-type::after{
	content: "";
	display: block;
	background: url("../images/top_service_ttl_ic.svg") no-repeat left top/100% auto;
	width: 34px;
	height: 33px;
	top: -6px;
	right: -12px;
	position: absolute;
}
#topService ul.pcFlex{
	margin-top: 50px;
}
#topService li h3{
	background: url("../images/top_service_ttl_bg.svg") no-repeat left top/100% auto;
	max-width: 299px;
	height: 70px;
	padding: 32px 20px 0;
	color: #fff;
	font-size: 26px;
	text-align: center;
	line-height: 1.46;
}
#topService li figure{
	background: var(--Lorange);
	border-radius: 0 20px 20px 20px;
	padding: 5px;
	margin: 0 0 25px;
}
#topService li figure img{
	border-radius: 20px;
	object-fit: cover;
 width: 100%;
 height: 100%;
 aspect-ratio:540/337;
}
#topService li p{
	margin: 0;
	font-size: 20px;
}
#topService .btnWrap{
	margin-top: 50px;
}


/*		#topReason
-----------------------------*/
#topReason{
	position: relative;
	z-index: 0;
	background: url("../images/top_reason_bg.png") no-repeat left top/100% 100%;
	/*background-color: rgba(255,229,178,.7);*/
}
#topReason h2{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	margin-bottom: 84px;
	color: var(--orange);
	font-size: 45px;
	font-weight: 900;
	text-align: center;
}
#topReason h2 .slash{
	width: 100%;
	font-weight: 700;
}
#topReason h2 .slash::before,
#topReason h2 .slash::after{
	border-radius: 2px;
	width: 4px;
}
#topReason h2 img{
	margin-left: 13px;
}

#topReason ul.pcFlex{}
#topReason li{
	background: url("../images/top_reason_point_bg.svg") no-repeat left top/100% 100%;
	padding: 0 15px 45px;
}
#topReason li .num{
	display: block;
	background: url("../images/top_reason_point.svg") no-repeat left bottom/100% auto;
	width: 162px;
	height: 75px;
	padding-left: 96px;
	margin: 0 auto 15px;
	color: #fff;
	font-size: 62px;
	-webkit-text-stroke: 2px var(--base);
  text-stroke: 2px var(--base);
  paint-order: stroke;
	line-height: 1.2;
	position: relative;
	top: -45px;
}
#topReason li figure{
	margin: 0 0 29px;
}
#topReason li h3{
	margin-bottom: 35px;
	color: var(--orange);
	font-size: min(3.16vw, 38px);
	letter-spacing: 0.12em;
	text-align: center;
	line-height: 1.4;
}
#topReason li h3 span{
	display: block;
	font-size: 63.1%;
	letter-spacing: 0.1em;
}
#topReason li p{
	font-size: 18px;
	line-height: 1.7;
	text-align: center;
}
#topReason li p .orange{
	font-weight: 900;
}
#topReason li p .orange span{
	font-size: 111.1%;
}

/*		#topPrice
-----------------------------*/
#topPrice{
	position: relative;
	background: #FFF5E3;
}
#topPrice::before{
	content: "";
	display: block;
	background: #FFF5E3;
	width: 100%;
	height: 25vw;
	position: absolute;
	bottom: 100%;
	left: 0;
	z-index: -1;
}
#topPrice .inner1300{
	border-radius: 50%;
	padding: 60px min(21%,274px);
}
#topPrice h2{
	margin-bottom: 30px;
}
#topPrice h2 .orange{
	-webkit-text-stroke: 6px #FFECC7;
  text-stroke: 6px #FFECC7;
  paint-order: stroke;
}
#topPrice .pcCenter{
	margin-bottom: 35px;
	font-size: 18px;
	line-height: 2.2;
}
#topPrice .sub{
	background: var(--Lorange);
	border-radius: calc(infinity * 1px);
	margin-bottom: 33px;
	color: #fff;
	font-size: 30px;
	font-weight: 700;
	text-align: center;
	line-height: 2;
}
#topPrice h3{
	position: relative;
	background: url("../images/top_price_line.png") no-repeat center bottom/auto 15px;
	padding: 0 0 18px;
	margin-bottom: 5px;
	font-size: min(2.9vw, 35px);
	line-height: 1.45;
	letter-spacing: 0.06em;
	text-align: center;
}
.beforeAfter{
	max-width: 705px;
	margin: 0 auto;
	justify-content: space-between;
}
.beforeAfter figure{
	position: relative;
	width: 43.6%;
	max-width: 308px;
}
.beforeAfter figure.before::after{
	content: "";
	display: block;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 41 55" fill="none"><path d="M39.2316 24.6675C40.9402 25.8616 40.9402 28.3913 39.2316 29.5854L4.71856 53.7065C2.73003 55.0963 -2.66846e-06 53.6736 -2.56241e-06 51.2476L-4.53676e-07 3.00535C-3.47629e-07 0.579296 2.73003 -0.843398 4.71857 0.546383L39.2316 24.6675Z" fill="%23FF8800"/></svg>') no-repeat left top/100% auto;
 width:41px;
 height:55px;
 position: absolute;
	left: calc(100% + min(1.8vw,25px));
 top: 50%;
	margin-top: -26px;
}
.beforeAfter figure img{
	border: 3px #AFAFAF solid;
	border-radius: 20px;
	object-fit: cover;
 width: 100%;
 height: 100%;
 aspect-ratio:308/273;
}
.beforeAfter figure.after img{
	border-color: var(--orange);
}
.beforeAfter figure figcaption{
	position: absolute;
	top: 3px;
	left: 3px;
	border-radius: 16px 0 20px 0 ;
	background: #AFAFAF;
	width: 156px;
	color: #fff;
	font-size: 28px;
	font-weight: 900;
	text-align: center;
	line-height:1.89;
	letter-spacing: 0.04em;
}
.beforeAfter figure.after figcaption{
	background: var(--orange);
}
.beforeAfter figure.after::before,
.beforeAfter figure.after::after{
	content: "";
	display: block;
	position: absolute;
	z-index: 1;
}
.beforeAfter figure.after::before{
	background: url("../images/top_price_img_ic01.svg") no-repeat left top/100% auto;
	width: 54px;
	height: 53px;
	top: -9px;
	right: -44px;
}
.beforeAfter figure.after::after{
	background: url("../images/top_price_img_ic02.svg") no-repeat left top/100% auto;
	width: 52px;
	height: 52px;
	bottom: -2px;
	left: -30px;
}

#topPrice .slash{
	margin-top: 45px;
	margin-bottom: 20px;
	font-size: min(2.2vw,27px);
	font-weight: 700;
	line-height: 1.45;
}
#topPrice .slash::before,
#topPrice .slash::after{
	width: 3.5px;
	border-radius: 2px;
}
#topPrice .slash span{
	font-size: 137%;
}
#topPrice .formula dl{
	position: relative;
	background: var(--LLorange);
	border-radius: 20px;
}
#topPrice .formula dl + dl::before{
	content: "+";
	height: 1em;
	color: var(--orange);
	font-size: min(4.14vw,58px);
	font-weight: 700;
	line-height: 1;
	position: absolute;
	right: 100%;
	top: 50%;
	margin: -.5em .448em 0 0;
}
#topPrice .formula dt{
	position: relative;
	display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	background: var(--orange);
	border-radius: 20px 20px 0 0;
	height: 67px;
	color: #fff;
	font-size: min(2vw,24px);
	font-weight: 700;
	text-align: center;
	line-height: 1.45;
}
#topPrice .formula dt span{
	font-size: 58.3%;
}
#topPrice .formula dt::after{
	content: "";
	display: block;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 14 13" fill="none"><path d="M5.09801 11.8029C5.85726 13.1872 7.84587 13.1872 8.60512 11.8029L13.4543 2.96179C14.1854 1.62894 13.2209 0 11.7008 0H2.00237C0.482194 0 -0.482234 1.62894 0.248814 2.96179L5.09801 11.8029Z" fill="%23FF8800"/></svg>') no-repeat left top/100% auto;
 width: 14px;
 height:13px;
 position: absolute;
 top: calc(100% - 5px);
	left: 0;right: 0;
	margin: auto;
}
#topPrice .formula dd{
	padding: 0 0 19px;
	color: var(--orange);
	font-size: 30px;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
}
#topPrice .formula dd span{
	font-size: 300%;
	letter-spacing: 0;
}
#topPrice .total{
	display: flex;
	justify-content: center;
	align-items: center;
}
#topPrice .total::before{
	content: "＝";
	height: 1em;
	margin-right:.5em; 
	color: var(--orange);
	font-size: min(3.14vw,48px);
	font-weight: 700;
	line-height: 1;
}
#topPrice .total dt{
	border-radius: 3px;
	background: var(--orange);
	padding: 5px 7px 6px;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.4;
}
#topPrice .total dd{
	margin-left: 20px;
	line-height: 1.4;
}
#topPrice .total dd .price{
	color: #fff;
	font-size: 38px;
	font-weight: 700;
	-webkit-text-stroke: 8px var(--orange);
  text-stroke: 8px var(--orange);
  paint-order: stroke;
	letter-spacing: 0.04em;
}
#topPrice .total dd .price span{
	font-size: 315.7%;
}
#topPrice .total dd .note{
	margin-top: -0.5em;
	line-height: 1.4;
}


/*		#topDiagnose
-----------------------------*/
#topDiagnose .baloon{
	position: relative;
	background: #fff;
	border-radius: calc(infinity * 1px);
	padding: 1px 10px 5px;
	color: var(--base);
	font-size: min(2.2vw,26px);
	font-weight: 700;
	text-align: center;
	line-height: 1.46;
}
#topDiagnose .baloon .orange{
	margin-left: .3125em;
	font-size: 123%;
}
#topDiagnose .baloon .orange span{
	position: relative;
	font-size: 168.75%;
}
#topDiagnose .baloon .orange span::after{
	content: "";
	display: block;
	background: url("../images/top_diagnose_ttl_ic.svg") no-repeat left top/100% auto;
	width: 22px;
	height: 18px;
	position: absolute;
	top: 0.1em;
	right:-.3em;
}
#topDiagnose h2{
	margin-bottom: 40px;
	color: var(--Lorange);
	font-size: min(3.8vw,50px);
	letter-spacing: 0.14em;
}
#topDiagnose h2 span{
	font-size: 86%;
}
#topDiagnose h2 .line{
	margin-right: .1em;
	font-size: 120%;
}
#topDiagnose h2 .line::after{
	background: #FFEECD;
	height: .18em;
}
:where(#topDiagnose p) {
	color: #fff;
	font-size: 18px;
}
#topDiagnose .txts >.catch{
	margin-bottom: 1em;
	font-size: min(1.9vw,23px);
	font-weight: 900;
}
#topDiagnose .txts ul{
	justify-content: flex-start;
	gap:30px 30px;
	margin-top: 47px;
}
#topDiagnose .txts ul li{
	text-align: center;
	color: #fff;
}
#topDiagnose .txts ul li figure{
	display: grid;
	place-content: center;
	background: #fff;
	border-radius: 50%;
	width: 140px;
	height: 140px;
	margin: 0 auto;
}

#topDiagnose .txts .btn{
	width: 100%;
	padding-left: .8em;
	padding-right: 4em;
	font-size:min(2.4vw, 26px);
}
#topDiagnose .imgs{
	position: relative;
	overflow: hidden;
}
#topDiagnose .imgs .cssSliderVWrap1{
	width: calc((100% - 25px)/2);
	max-width: 300px;
	position: absolute;
	top: 0;
	left: 0;
}
#topDiagnose .imgs .cssSliderVWrap2{
	width: calc((100% - 25px)/2);
	max-width: 300px;
	position: absolute;
	top: 0;
	right: 0;	
}
#topDiagnose .imgs .cssSliderV{
  display: flex;
  flex-direction: column;
  animation: 40s linear infinite sliderAnimationV;
}
#topDiagnose .imgs .cssSliderVWrap2 .cssSliderV{
  animation: 40s linear infinite sliderAnimationV2;
}
#topDiagnose .imgs .cssSliderV figure{
	margin-bottom: 25px;
}
#topDiagnose .imgs .cssSliderV figure img{
	object-fit: cover;
 width: 100%;
 height: 100%;
 aspect-ratio:300/365;
}

@keyframes sliderAnimationV {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes sliderAnimationV2 {
  0% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(-100%);
  }
}
 
/*		#topNews
-----------------------------*/
#topNews{
}
#topNews h2{
	margin-bottom: 40px;
}
#topNews li{
	border-radius: 10px;
	background: var(--LLorange);
}
#topNews li a{
	display: block;
	padding: 19px 25px 30px;
}

.cat{
	display: inline-grid;
	place-content: center;
	border-radius: calc(infinity * 1px);
	background: var(--Lorange);
	padding: 0 14px;
	height: 45px;
	color: #fff;
	text-align: center;
	line-height: 1.4;
}
#topNews .newsInfo{
	display: flex;
	justify-content: space-between;
}
#topNews .date{
	display: inline-block;
	color: var(--Lorange);
	font-size: 18px;
	text-decoration: underline;
	line-height: 1.6;
}
#topNews .date span{
	display: inline-block;
	margin-left: .25em;
	font-size:222.2%;
	text-decoration: none;
	vertical-align: top;
	line-height: 1;
}
#topNews li figure{
	margin: 0 0 10px;
}
#topNews li figure img{
	border-radius: 20px;
	object-fit: cover;
 width: 100%;
 height: 100%;
 aspect-ratio:330/218;
}


/*------------------------------------------
		roof
------------------------------------------*/
#roofMerit{
	position: relative;
	background-color: rgba(135,213,255,.8) ;
	z-index: 0;
	text-align: center;
}
#roofMerit::before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url("../images/top_merit_bg.png") no-repeat left top/100% auto;
	opacity: .2;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#roofMerit h3{
	position: relative;
	display: inline-block;
	text-align: center;
	line-height: 1.4;
}
#roofMerit h3 .sub{
	position: absolute;
	right: -1.1em;
	bottom: 1.35em;
}
#roofMerit h3 .num{
	line-height: 1;
}
#roofMerit .lead{
	line-height: 1.9;
}
#roofMerit ul.pcFlex{
	border-radius: 20px;
}
#roofMerit ul li{
	border: none;
	border-radius: 0;
}
#roofMerit ul li h4{
	text-align: center;
}
#roofMerit ul li h5{
	line-height: 1.46;
}
#roofMerit ul li .num{
	display: block;
	font-size: 12rem;
	font-weight: 500;
	color: var(--Lblue);
	line-height: 1.45;
}
#roofMerit li figure{
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
#roofMerit li figure img{
	margin: 0 auto;
}
#roofMerit li p{
	margin: 0;
	text-align: left;
}
#roofMerit li .note{
	margin-top: 1.78em;
	margin-left: 0;
	text-indent: 0;
	font-size: 1.4rem;
}

#roofDifference dl{
	background: var(--wh);
	border-radius: 20px;
}
#roofDifference dl dt{
	background: var(--orange);
	color: var(--wh);
	font-weight: 700;
	text-align: center;
}
#roofDifference dl dd{
	padding: 25px min(3.5vw,50px);
	width: 75%;
}
#roofDifference dl dd > span.bold{
	display: block;
}
#roofDifference .checkTxt li{
	margin-top: 10px;
	position: relative;
}
#roofDifference .checkTxt li::before{
	content: "";
	background: url("../images/ic_check.svg") no-repeat left top / 100% auto;
	display: inline-block;
	position: absolute;
	top: 0.25em;
	left: 0;
}

#roofPoint .roofExample{
	background: var(--LLorange);
	border-radius: 20px;
	justify-content: space-between;
	align-items: center;
	margin: 0 auto 30px;
	padding: 25px min(4%,25px) 25px;

}
#roofPoint .roofExample figure{
	width: 40%;
}
#roofPoint .roofExample figure img{
	margin: 0 auto;
	width: 140px;
}
#roofPoint .roofExample dl{
	width: 58%;
}
#roofPoint .roofExample dl dt{
	border-bottom: 1px solid var(--base);
	display: inline-block;
	margin-bottom: 5px;
}
#roofPoint .basicTable{
	background: none;
	border: none;
}
#roofPoint .basicTable thead th{
	border: none;
}
#roofPoint .basicTable tbody th{
	background: var(--Lgray);
	border-left: 1px solid var(--base);
	font-weight: 700;
}
#roofPoint .basicTable tbody td{
	background: var(--wh);
}
#roofPoint .basicTable td span{
	margin-right: 10px;
}
#roofPoint .basicTable .icOrange{
	color: var(--orange);
}
#roofPoint .basicTable .icPurple{
	color: #7917d4;
}
#roofPoint .basicTable .icRed{
	color: var(--red);
}
#roofPoint .basicTable .icLblue{
	color: var(--blue);
}

.commentBox{
	margin-top: 30px;
}
.commentBox p{
	border: 1px solid var(--orange);
	border-radius: 20px;
	position: relative;
}
.commentBox p::before{
	content: "";
	background: var(--orange);
	display: inline-block;
	position: absolute;
}

#roofWarranty > div.bgW{
	border-radius: 40px;
}
#roofWarranty .h4Tit{
	border-color: var(--blue);
}
#roofWarranty .h4Tit:not(:first-of-type){
	margin-top: 40px;
}
#roofWarranty dl dt{
	width: 5.5em;
}
#roofWarranty dl dd{
	width: calc(100% - 5.5em);
}
#roofWarranty .txtYear{
	background: var(--blue);
	border-radius: calc(infinity * 1px);
	aspect-ratio: 1 / 1;
	color: var(--wh);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	line-height: 1;
	padding: 10px 10px 20px;
}
#roofWarranty .txtYear .num{
	font-size: 7rem;
}

#roofVoice .h3Tit span{
	font-size: 1.5em;
}
#roofVoice dl{
	background: var(--LLorange);
	border-radius: 10px;
	display: flex;
	align-items: center;
}
#roofVoice dl dt{
	background: var(--orange);
	border-radius: 10px 0 0 10px;
	color: var(--wh);
	font-weight: 700;
	line-height: 1;
	text-align: center;
}
#roofVoice dl dd{
	font-weight: 700;
}

#roofFlow ul li{
	position: relative;
}
#roofFlow ul li::after{
	content: "";
	background: var(--wh);
	display: inline-block;
	position: absolute;
}
#roofFlow ul li h4,
#roofFlow ul li h5{
	text-align: center;
}
#roofFlow ul li .num{
	display: block;
	width: 162px;
	margin: 0 auto 15px;
	color: #fff;
	font-size: 5rem;
	-webkit-text-stroke: 2px var(--base);
  text-stroke: 2px var(--base);
  paint-order: stroke;
	line-height: 1.2;
	position: relative;
	top: -60px;
}
#roofFlow ul li figure{
	background: var(--wh);
	border-radius: calc(infinity * 1px);
	aspect-ratio: 1 / 1;
	padding: 10px;
}

#roofArea ul li span{
	background: var(--blue);
	color: var(--wh);
	border-radius: calc(infinity * 1px);
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0 5px;
	font-weight: 700;
	text-align: center;
}


/* =======================================
  service 
========================================== */
#serviceList .anchorLink .linkSet{
	width: 100% !important;
}
#serviceList .anchorLink li a.bgOrange::before{
	background: var(--wh);
}
#serviceList .anchorLink li a.bgOrange::after{
	border: solid var(--orange);
	border-width: 0 2px 2px 0;
}

#service section.bgLorange .h4Tit{
	border-color: var(--base);
}
#service03 div + div{
	margin-top: 50px;
}
#service .columnBox{
	border: 2px solid var(--orange);
	border-radius: 20px;
}
#service .columnBox h4{
	margin-bottom: 40px;
	margin-top: -80px;
}
#service .columnBox h4 span{
	background: var(--wh);
	border: 2px solid var(--orange);
	border-radius: calc(infinity * 1px);
	color: var(--orange);
	display: inline-block;
	font-weight: 700;
}
#service .columnBox dt{
	font-weight: 700;
	height: 96px;
}
#service .columnBox dd:last-child{
	margin-bottom: 0;
}
#service .columnBox dt,
#service .columnBox dd{
	display: flex;
	align-items: center;
	position: relative;
}
#service .columnBox dt img,
#service .columnBox dd img{
	border: 2px solid var(--wh);
	border-radius: calc(infinity * 1px);
	aspect-ratio: 1 / 1;
}
#service .columnBox dt img{
	margin-right: 24px;	
}
#service .columnBox dd img{
	margin-left: 24px;
}
#service .columnBox dt span,
#service .columnBox dd span{
	background: var(--wh);
	border-radius: 10px;
	display: block;
	padding: 20px;
	position: relative;
}
#service .columnBox dd span{
	background: var(--orange);
	color: var(--wh);
}
#service .columnBox dt span::after,
#service .columnBox dd span::after{
	content: "";
	display: inline-block;
	width: 20px;
	height: 15px;
	position: absolute;
	top: calc(50% - 5px);
}
#service .columnBox dt span::after{
	background: var(--wh);
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
	left: -20px;
}
#service .columnBox dd span::after{
	background: var(--orange);
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	right: -20px;
}

#serviceArea .areaInner{
	border-radius: 20px;
}
#serviceArea .leadTxt .line{
	font-size: 120%;
	margin-right: 0.3em;
}
#serviceArea .leadTxt .line::after{
	background: var(--orange);
}
#serviceArea .h4Tit{
	border-color: var(--blue);
}
#serviceArea dl{
	letter-spacing: 0.04em;
	line-height: 1.4;
}
#serviceArea dl dt{
	color: var(--orange);
	font-size: 23px;
	font-weight: 900;
	letter-spacing: 0.1em;
}
#serviceArea dl dd{
	font-size: 18px;
	letter-spacing: 0.1em;
}
#serviceArea dl dd + dt{
	margin-top: 20px;
}

#service02 h3{
  position: relative;
}
#service02 h3 span {
  position: absolute;
  display: inline-block;
  top:-40px;
  padding: 0 5px;
  width: 70px;
  height: 70px;
  line-height: 70px;
  text-align: center;
  color: #FFF;
  font-size: 20px;
  font-weight: bold;
  background: var(--orange);
  border-radius: 50%;
  box-sizing: border-box;
}

#service02 h3 span:before {
  content: "";
  position: absolute;
  bottom: -9px;
  left: -9px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid var(--orange);
  z-index: 0;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}


/* =======================================
  price
========================================== */
#price .priceLead{
	justify-content: center;
	align-items: center;
	gap: 30px;
	margin-top: 15px;
}
#price .priceLead .txts{
	border: 1px solid var(--orange);
	border-radius: 20px;
	line-height: 2;
	position: relative;
}
#price .priceLead .txts::before{
	content: "";
  background: var(--orange);
  display: inline-block;
  position: absolute;
}

#price .priceDetail{
	border-radius: 20px;
}
#price .priceDetail h5 span{
	border-bottom: 1px solid var(--orange);
	color: var(--orange);
	display: inline-block;
	font-size: 2.2rem;
	padding: 0 1em 5px;
	position: relative;
}
#price .priceDetail h5 span::before{
	content: "";
	background: var(--LLorange);
	display: inline-block;
	width: 15px;
	height: 18px;
  clip-path: polygon(0 0, 100% 0, 30% 100%);
	position: absolute;
	top: 100%;
	left: 50%;
}
#price .priceDetail h5 span::after{
	content: "";
	background: var(--orange);
	display: inline-block;
	width: 1px;
	height: 20px;
  transform: rotate(45deg);
	position: absolute;
	bottom: -18px;
	left: calc(50% + 7.5px);
}
#price .priceDetail ul{
	gap: 0 60px;
	margin-top: 30px;
	justify-content: center;
}
#price .priceDetail ul li{
	background: var(--wh);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
}
#price .priceDetail ul li:nth-child(1)::after{
	content: "+";
	font-size: 30px;
	font-weight: 700;
	display: inline-block;
	line-height: 1;
	position: absolute;
}
#price .priceDetail p:not(.note){
	font-weight: 700;
	text-align: center;
}
#price .priceDetail p span{
	display: block;
	font-size: 1.6rem;
	font-weight: 500;
}

#price #estimatedRates{
	margin-top: 40px;
}
#price .priceList{
	border: 1px solid var(--Lorange);
	width: 100%;
}
#price .priceList th,
#price .priceList td{
	letter-spacing: 0.05em;
}
#price .priceList thead th{
	background: var(--Lorange);
	border-right: 1px solid var(--wh);
	color: var(--wh);
	font-weight: 700;
	vertical-align: middle;
	text-align: center;
}
#price .priceList thead th:nth-of-type(3),
#price .priceList thead th:nth-of-type(4),
#price .priceList thead th:nth-of-type(5){
	line-height: 1.6;
}
#price .priceList thead th span{
	background: var(--wh);
	border-radius: 5px;
	color: var(--orange);
	display: inline-block;
	margin-bottom: 12px;
	padding: 4px 10px;
	position: relative;
}
#price .priceList thead th span::after{
	content: "";
	background: var(--wh);
	display: inline-block;
	width: 10px;
	height: 12px;
  clip-path: polygon(0 0, 100% 0, 40% 100%);
	position: absolute;
	top: 100%;
	left: 50%;	
}
#price .priceList tbody tr:nth-of-type(2n){
	background: #f6f6f6;
}
#price .priceList tbody td{
	text-align: center;
}
#price .priceList tbody th,
#price .priceList tbody td{
	border-right: 1px solid var(--Lorange);
	vertical-align: middle;
}
#price .priceList thead th:last-child,
#price .priceList tbody td:last-child{
	border-right: none;
}
#price .priceList p{
	margin-bottom: 0;
}
#price .priceList .price01{
	color: var(--orange);
	font-weight: 700;
	margin-bottom: 10px;
}
#price .priceList .price01 .num{
	line-height: 1;
}
#price .priceList .price01 span:not(.num){
	background: var(--orange);
	border-radius: 3px;
	color: var(--wh);
	margin-right: 10px;
	padding: 1px 5px;
}
#price .priceList .price02 .subTi{
	display: block;
	border-bottom: 1px dotted var(--base);
	margin-bottom: 5px;
}
#price .priceList .price02 span:not(.subTi){
	background: var(--gray);
	border-radius: 3px;
	color: var(--wh);
	margin-right: 5px;
	padding: 1px 5px;
}

#price #price01 dl dt{
	background: var(--blue);
	border-radius: calc(infinity * 1px);
	display: flex;
	align-items: center;
	justify-content: center;
	gap:0 5px;
	color: #fff;
	font-weight: 700;
	text-align: center;
}
#price #price01 dl dt::before{
	content: "";
	display: inline-block;
	background: url("../images/top_merit_ic_client.svg") no-repeat left top/100% auto;
}
#price #price01 dl dd{
	text-align: left;
}

#price .planBox{
	border-radius: 20px;
}
#price .planBox p:not(.note){
	font-weight: 700;
}
#price .planBox .years{
	background: var(--base);
	border-radius: calc(infinity * 1px);
	color: var(--wh);
	display: inline-block;
  letter-spacing: 0.04em;
  line-height: 1.4;
	margin-bottom: 5px;
	padding: 5px 1em 6px;
}
#price .planBox .area{
	margin-bottom: 10px;
}
#price .planBox .price{
	align-items: center;
	justify-content: space-between;
	font-weight: 700;
	margin-bottom: 0;
}
#price .planBox .priceBox{
	background: var(--LLorange);
	border-radius: 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 10px;
}
#price .planBox .priceBox .bgOrange,
#price .planBox .total .bgOrange{
	border-radius: 3px;
	font-size: 1.4rem;
	letter-spacing: 0.04em;
	margin-right: 10px;
	padding: 5px 7px 6px;
}
#price .planBox .priceBox .orange{
  font-weight: 700;
	line-height: 1;
}
#price .planBox .priceBox .orange span{
	line-height: 1;
}
#price .planBox .total{
	color: var(--wh);
	font-weight: 700;
	-webkit-text-stroke: 8px var(--orange);
  text-stroke: 8px var(--orange);
  paint-order: stroke;
	letter-spacing: 0.04em;
	margin-bottom: 0;
	display: flex;
	align-items: center;
	text-align: right;
}
#price .planBox .total .bgOrange + span span{
	line-height: 1.1;
}
#price .planBox table{
	margin-top: 30px;
	width: 100%;
}
#price .planBox table thead th{
	background: #FFF5E3;
	border-bottom: 1px solid var(--base);
	padding: 3px 2px;
	text-align: center;
	vertical-align: middle;
}
#price .planBox table tbody td{
	border-bottom: 1px dotted var(--base);
	padding: 6px 2px;
	text-align: center;
}
#price .planBox .warrantyBox{
	border: 1px solid var(--blue);
	border-radius: 20px;
}
#price .planBox .warrantyBox h4{
	background: var(--blue);
	border-radius: 18px 18px 0 0;
	color: var(--wh);
	text-align: center;
}
#price .planBox .warrantyBox dl{
	border: 1px solid var(--base);
}
#price .planBox .warrantyBox dl dt{
	background: var(--base);
	border-bottom: 1px solid var(--wh);
	color: var(--wh);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 5px;
}
#price .planBox .warrantyBox dl dd{
	border-bottom: 1px solid var(--base);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 5px 10px;
}
#price .planBox .warrantyBox dl dt:last-of-type,
#price .planBox .warrantyBox dl dd:last-of-type{
	border-bottom: none;
}
#price .planBox .warrantyBox figure{
	margin: 20px;
}
#price .planBox .recommendationBox{
	border: 1px solid var(--orange);
	border-radius: 20px;
}
#price .planBox .recommendationBox h4{
	background: var(--orange);
	border-radius: 18px 18px 0 0;
	color: var(--wh);
	font-size: 2.2rem;
	padding: 5px 20px 8px;
	text-align: center;
}
#price .planBox .recommendationBox ul{
	padding: 20px;
}
#price .planBox .recommendationBox ul li{
	position: relative;
	padding-left: 30px;
}
#price .planBox .recommendationBox ul li::before{
	content: "";
	background: url("../images/ic_check_orange.svg") no-repeat left top / 100% auto;
	display: inline-block;
	width: 20px;
	height: 20px;
	position: absolute;
	left: 0;
	top: .4em;
}
#price .planBox .recommendationBox ul li + li{
	margin-top: 8px;
}
#price .planBox .btnWrap{
	margin-top: 50px;
}

#priceMaker dl dt{
	background: var(--blue);
	border-radius: 20px;
	color: var(--wh);
	font-weight: 700;
	text-align: center;
}
#priceMaker dl dd{
	background: var(--wh);
	border-radius: 0 0 20px 20px;
	padding: 10px 20px;
}
#priceMaker dl dd ul li{
	list-style: circle;
	list-style-position: inside;
	text-indent: -1em;
	margin-left: 1em;
}

#priceWarranty h3 .slash{
	margin-bottom: 10px;
}
#priceWarranty h3 .slash::before,
#priceWarranty h3 .slash::after{
	background: var(--blue);
	border-radius: 4px;
	width: 4px;
}
#priceWarranty h3 .edgingB{
	-webkit-text-stroke: 6px var(--blue);
  text-stroke: 6px var(--blue);
  paint-order: stroke;
}

#pricePayment ul li{
	background: var(--wh);
	border-radius: 8px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

#price .attention{
  border: 2px solid var(--orange);
  border-radius: 20px;
  padding: 1em;
  text-align: center;
  margin: 1em
}

#price .attention p{
  margin-bottom: 0.5em
}

/* =======================================
  reason
========================================== */
#reasonStrength .h3Tit{
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	color: var(--orange);
	font-weight: 900;
	text-align: center;
}
#reasonStrength .h3Tit img{
	margin-left: 13px;
}
#reasonStrength ul{
	justify-content: space-between;
}
#reasonStrength ul li{
	background: var(--wh);
	border: 3px solid var(--base);
	border-radius: 20px;
	padding: 0 45px 45px;
}
#reasonStrength ul li h4{
  color: var(--orange);
  letter-spacing: 0.12em;
	line-height: 1.4;
	margin-top: -1em;
  text-align: center;
}
#reasonStrength ul li h4 span{
	background: var(--wh);
	border: 3px solid var(--orange);
	border-radius: calc(infinity * 1px);
	display: inline-block;
	padding: 4px 20px 6px;
}
#reasonStrength ul li h5{
	font-weight: 700;
  line-height: 1.7;
  text-align: center;
}

/* =======================================
  diaqnose
========================================== */
#diagnoseTrouble h3{
	position: relative;
	max-width:900px;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 41 145" fill="none"><path d="M38 3H3V142H38" stroke="%23FFAF16" stroke-width="6" stroke-linecap="round"/></svg>') no-repeat left top/auto 100%,
		url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 41 145" fill="none"><path d="M3 3H38V142H3" stroke="%23FFAF16" stroke-width="6" stroke-linecap="round"/></svg>') no-repeat right top/auto 100%;
	text-align: center;
	line-height: 1.4;
}
#diagnoseTrouble ul{
	background-image: url("../images/diagnose_trouble_img01.png");
	background-repeat: no-repeat;
	position: relative;
}
#diagnoseTrouble ul::before,
#diagnoseTrouble ul::after{
	content: "";
	background: var(--orange);
	display: inline-block;
	position: absolute;
}
#diagnoseTrouble ul::after{
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
#diagnoseTrouble ul li{
	background: url("../images/top_recommend_bg01.svg") no-repeat left top/100% 100%;
	font-weight: 700;
	text-align: center;
}
#diagnoseTrouble .messageBox{
	display: flex;
	align-items: center;
	justify-content: center;
}
#diagnoseTrouble .messageBox p{
	border: 1px solid var(--orange);
	border-radius: 20px;
	position: relative;
}
#diagnoseTrouble .messageBox p::before{
	content: "";
	background: var(--orange);
	display: inline-block;
	width: 40px;
	height: 1px;
	position: absolute;
	left: -40px;
	top: 50%;
}
#diagnoseTrouble .messageBox p .sub{
	display: block;
}

#diagnosePromise h3{
	text-align: center;
}
#diagnosePromise h3 .slash{
	line-height: 1.2;
}
#diagnosePromise ul li{
	background: var(--wh);
	border-radius: 20px;
	padding: 20px;
}
#diagnosePromise h4{
	color: var(--orange);
	font-size: 2rem;
	line-height: 1.7;
	margin-top: 15px;
	margin-bottom: 10px;
	text-align: center;
}

#diagnoseFlow .btnWrap .btn{
	padding-left: 20px;
	width: min(100%,400px);
}
#diagnoseFlow h4{
	border-bottom: 1px solid var(--orange);
	display: flex;
	align-items: center;
	margin-bottom: 25px;
	position: relative;
}
#diagnoseFlow h4 .num{
	color: #fff;
	-webkit-text-stroke: 3px var(--orange);
  text-stroke: 3px var(--orange);
	line-height: 1;
	margin-bottom: 10px;
  paint-order: stroke;
}
#diagnoseFlow h4::before{
	content: "";
	background: var(--wh);
	display: inline-block;
	width: 15px;
	height: 16px;
  clip-path: polygon(0 0, 100% 0, 10% 100%);
	position: absolute;
	top: 100%;
	left: min(5%,62px);
}
#diagnoseFlow h4::after{
	content: "";
	background: var(--orange);
	display: inline-block;
	width: 1px;
	height: 20px;
  transform: rotate(45deg);
	position: absolute;
	bottom: -18px;
	left: calc(min(5%,62px) + 7.5px);
}
#diagnoseFlow .txts > div{
	background: #FFF5E3;
	border-radius: 10px;
	padding: 15px 20px 15px;
}
#diagnoseFlow .txts h5 img{
	display: inline;
	margin-right: 5px;
	margin-top: 4px;
	align-items: center;
}
#diagnoseFlow .txts ul,
#diagnoseFlow .txts .note{
	margin-left: calc(1em + 28px);
}
#diagnoseFlow .txts ul li{
	list-style: circle;
	list-style-position: outside;
}
#diagnoseFlow .captionImg {
	margin-top: 30px;
	position: relative;
}
#diagnoseFlow .captionImg figcaption{
	background: url("../images/diagnose_flow_bg_circle.svg") no-repeat left top / 100% auto;
	color: var(--wh);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border-radius: calc(infinity * 1px);
	aspect-ratio: 1 / 1;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.2;
	text-align: center;
	position: absolute;
}
#diagnoseFlow .captionImg figcaption span span{
	font-size: 160%;
	margin: 0 5px;
}

/* =======================================
	achievements
========================================== */
#achievementsList >ul >li{
	border-radius: 10px;
	border: 1px var(--base) solid;
	background: #fff;
}
#achievementsList >ul >li a{
	display: block;
	padding: 12px 12px 20px;
}
#achievementsList >ul >li .cat{
	height: 30px;
	padding: 0 min(0.6vw,9px) 2px;
	font-size:min(1.1vw, 18px);
	letter-spacing: 0.02em;
	line-height: 1.2;
}
#achievementsList >ul >li .cat + .cat{
	margin-left:min(1vw,15px); 
}
#achievementsList >ul >li figure{
	margin: 8px 0 0;
	position: relative;
}
#achievementsList >ul >li figure img{
	border-radius: 10px;
	border: 1px var(--base) solid;
	object-fit: cover;
 width: 100%;
 height: 100%;
 aspect-ratio:276/301;	
}
#achievementsList >ul >li figure::after{
	content: "";
	display: block;
	background: url("../images/top_achivements_bg_house.svg") no-repeat left top/100% 100%;
	width: min(82%,224px);
	height: min(9.2vw,129px);
	position: absolute;
	bottom:-1px;
	left: 0;right: 0;
	margin: auto;
	z-index: 1;
}
#achievementsList >ul >li h3,
#achievementsList >ul >li dl{
	position: relative;
	z-index: 1;
	width: 66%;
	max-width: 175px;
	margin-inline:auto;
}

#achievementsList >ul >li h3{
	margin-top: max(-6.2vw,-88px);
	margin-bottom: 20px;
	font-size: min(1.45vw,23px);
	letter-spacing: 0.04em;
	line-height: 1.4;
}
#achievementsList >ul >li h3 span{
	margin-left: min(0.6vw,10px);
}
#achievementsList >ul >li dl{
	 display: grid;
  grid-template: auto / 5.1em 1fr;
	gap:10px 0;
	font-size: min(1.0vw,16px);
	line-height: 1.4;
	letter-spacing: 0.06em;
}
#achievementsList >ul >li dl dt,
#achievementsList >ul >li dl dd{
	border-bottom: 1px solid var(--base);
	padding: 0 0 1px;
	font-size: min(1.0vw,16px);
}
#achievementsList >ul >li dl dt{
	grid-column: 1;
}
#achievementsList >ul >li dl dd{
	 grid-column: 2;
}

/* =======================================
	achievements detail
========================================== */
#achievementsDetail .cats{
	display: flex;
	flex-flow: row wrap;
	gap:10px 10px;
	margin-bottom: 20px;
}
#achievementsDetail .cats .cat{
	padding: 0 min(0.8vw,10px) 2px;
	font-size:min(1.2vw, 18px);
	letter-spacing: 0.02em;
	line-height: 1.2;
}
#achievementsDetail h3{
	text-align: left;
}
#achievementsDetail .beforeAfter{}

.infolist{
		display: flex;
	flex-flow: row wrap;
	margin-top: 40px;
	}
.infolist dt,
.infolist dd{
	border-bottom: 1px var(--base) solid;
	padding: 20px 0 20px;
}

.detailTxt{
	margin-top: 40px;
	margin-bottom: 1.5em;
}

.achievementsDetailCont{
	margin-top: 50px;
}

.achievementsDetailCont p,
.achievementsDetailCont figure{
	margin-bottom: 1.5em;
}
.achievementsDetailCont img {
 height: auto ;
}
.achievementsDetailCont .aligncenter {
 text-align: center;
 margin: auto;
}
.achievementsDetailCont .alignright {
 text-align: right;
 margin-right: 0;
 margin-left: auto;
}
.achievementsDetailCont h1 {
 font-size: 160%;
}
.achievementsDetailCont h2 {
 font-size: 150%;
}
.achievementsDetailCont h3 {
 font-size: 140%;
}
.achievementsDetailCont h4 {
 font-size: 130%;
}
.achievementsDetailCont h5 {
 font-size: 120%;
}
.achievementsDetailCont h6 {
 font-size: 110%;
}

/* =======================================
  company 
========================================== */
#companyMessage .txts .right{
	font-weight: 700;
}
#companyMessage .txts .right span{
	font-size: 120%;
}
#companyPhilosophy .catch{
	font-size: min(2.3vw,3rem);
	font-weight: 700;
	text-align: center;
	line-height: 1.7;
}
#companyPhilosophy figure img{
	border: 3px #fff solid;
}
.icMap{
	background: url("../images/ic_map.svg") no-repeat left center/18px auto;
	padding: 0 0 0 25px;
}

/* =======================================
  esg 
========================================== */
#esgLead ul li{
	display: grid;
	place-content: center;
	max-width: 330px;
	margin: auto;
	position: relative;
	font-weight: 700;
	text-align: center;
	line-height: 1.4;
}
#esgLead ul li::before{
	content: "";
	display: inline-block;
	position: absolute;
}
#esgLead ul li span{
	font-size: 160%;
}
#esgLead ul li span::first-letter{
	font-size: 150%;
}
#esgLead ul li.esg01{
	background: #f3ffe6;
	border: 1px solid #86c647;
	color: #86c647;
}
#esgLead ul li.esg01::before{
	background: url("../images/esg_lead_ic01.svg") no-repeat left top / 100% auto;
}
#esgLead ul li.esg02{
	background: #fff0f0;
	border: 1px solid #f76b6b;
	color: #f76b6b;
}
#esgLead ul li.esg02::before{
	background: url("../images/esg_lead_ic02.svg") no-repeat left top / 100% auto;
}
#esgLead ul li.esg03{
	background: #e6f9ff;
	border: 1px solid #35aaf9;
	color: #35aaf9;
}
#esgLead ul li.esg03::before{
	background: url("../images/esg_lead_ic03.svg") no-repeat left top / 100% auto;
}
#esgLead .bgLLLorange{
	margin: 50px 0 0;
	padding: 50px 2%;
}
#esgLead .bgLLLorange p.bgW{
	border-radius: 20px;
}
#esgLead .bgLLLorange h4{
	border-bottom: none;
}

#esgEnvironment .pcFlex .txts,
#esgSocial .pcFlex .txts,
#esgGovernance .pcFlex .txts{
	border-radius: 20px;
}
#esgEnvironment h3,
#esgSocial h3,
#esgGovernance h3{
	font-size: 20px;
	line-height: 1.2;
}
#esgEnvironment h3 span,
#esgSocial h3 span,
#esgGovernance h3 span{
	display: block;
	font-size: 150%;
}
#esgEnvironment h3 span::first-letter,
#esgSocial h3 span::first-letter,
#esgGovernance h3 span::first-letter{
	display: block;
	font-size: 166%;
}
#esgEnvironment h3{
	border-color: #86c647;
  color: #86c647;
}
#esgEnvironment .txts{
	background: #f3ffe6;
}
#esgEnvironment .txts h4{
	color: #86c647;
}
#esgSocial h3{
	border-color: #f76b6b;
  color: #f76b6b;
}
#esgSocial .txts{
	background: #fff0f0;
}
#esgSocial .txts h4{
	color: #f76b6b;
}
#esgGovernance h3{
	border-color: #35aaf9;
  color: #35aaf9;
}
#esgGovernance .txts{
	background: #e6f9ff;
}
#esgGovernance .txts h4{
  border-color: #35aaf9;
  color: #35aaf9;
}

/* =======================================
  recruit
========================================== */
#recruitCharm li figure {
	display: grid;
	place-content: center;
	min-height: 150px;
	margin: 0 auto 15px;
}
#recruitCharm li figure img{
	margin: auto;
}
#recruitCharm li h4{
	margin: 0 0 10px;
	color: var(--orange);
	font-size: 24px;
	text-align: center;
}
#recruitPerson .center{
	font-size: 18px;
}
#recruitPerson li{
	margin-top: 10px;
	font-size: 20px;
}
#recruitEducation{}
#recruitBenefit{}
#recruitBenefit ul{
	gap:20px 20px;
}
#recruitBenefit li{
	border-radius: 10px;
	background: var(--bgorange);
	width: calc((100% - 20px*3)/4);
	min-width: 150px;
	padding: 20px 2%;
}
#recruitBenefit li figure{
	display: grid;
	place-content: center;
	height:100px;
	margin: 0 0 10px;
}
#recruitBenefit li p{
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}
#recruitRecruitment + p.slash{
	text-align: center;
}
#recruit main .bnr{
display: flex;
	flex-flow: column;
	justify-content: center;
	align-items: center;
	gap:10px 0;
}
#recruit main .bnr span{
	font-size:min(2.4vw, 26px);
	line-height: 1.4;
}
#recruit .bnr::after{
	right: 1em;
}

/* =======================================
	news
========================================== */
/*	一覧
-----------------------------*/
#news .anchorLink a::after{
  border-width: 2px 2px 0 0;
}

.newsBox{
	background: var(--LLorange);
	border-radius: 10px;
}
.newsBox figure{
 background: #ECECEC;
 border-radius: 10px;
 overflow: hidden;
 aspect-ratio: 4 / 3;
}
.newsBox figure img{
 object-fit:contain;
 width: 100%;
 height: 100%;
 margin: auto;
}
.newsBox h4{
	border-bottom: none;
	margin-bottom: 10px;
	padding-bottom: 0;
}
.newsBox .newsInfo{
 margin-bottom: 10px;
}
.newsInfo .date{
	color: var(--Lorange);
 font-size: 18px;
 text-decoration: underline;
 line-height: 1.6;
}

/*		single
-----------------------------*/
#newsDetail .cat{
 margin: 0;
 font-size: 14px;
}
#newsDetail h3{
	border-bottom: 1px solid var(--orange);
	margin-bottom: 30px;
	padding-bottom: 10px;
	text-align: left;
}
#newsDetail figure{
 margin-bottom: 1.6em;
}
#newsDetail .mv{
 margin-bottom: 2em;
}
#newsDetail .mv img{
 margin: 0 auto;
}
#newsDetail .txts p{
 margin-bottom: 1.5em;
}
#newsDetail .txts a{
 color: var(--blue);
 text-decoration: underline;
}
#news article .btn{
 margin: auto;
}
#news article img {
 height: auto ;
}
#news article .aligncenter {
 text-align: center;
 margin: auto;
}
#news article .alignright {
 text-align: right;
 margin-right: 0;
 margin-left: auto;
}
#news article h1 {
 font-size: 160%;
}
#news article h2 {
 font-size: 150%;
}
#news article h3 {
 font-size: 140%;
}
#news article h4 {
 font-size: 130%;
}
#news article h5 {
 font-size: 120%;
}
#news article h6 {
 font-size: 110%;
}


/* =======================================
	contact
========================================== */
#contactLead ul{
	margin-bottom: 40px;
}
#contactLead ul li{
	border-radius: 10px;
	background: var(--bgorange);
	padding: 40px 10px;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}
#contactLead .bnr{
	padding-top: 20px;
	font-weight: 700;
}
#contactTel .tel{
 border-radius: 20px;
	border: 2px var(--orange) solid;
	max-width: 450px;
	margin: 0 auto;
 padding: 30px 0;
 text-align:center;
	line-height: 1;
}
#contactTel .tel a{
 display: flex;
 justify-content: center;
 align-items: center;
 gap:0 10px;
 color: var(--orange);
 font-size: 36px;
 font-weight: 700;
 line-height: 1.2;
}
#contactTel .tel a::before{
 content: "";
 display: block;
 background: url("../images/ic_tel.svg") no-repeat left center/100% auto;
 width: 20px;
 height:36px;
	margin-bottom: -.15em;
}


/* =======================================
	form
========================================== */
.formArea h4{
 display: block;
}
.formArea h4:not(:first-of-type){
 margin-top: 40px;
}
.basicTable .hissu{
	display: inline-block;
 background: var(--wh);
 color: var(--red);
	border-radius: 3px;
 padding: 3px 3% 4px;
 font-size: 1.3rem;
	line-height: 1;
	margin-left: 0.8em;
}
.formArea #mailformpro dd:not(.pcFlex) label{
 margin-bottom: 10px;
}
.formArea input[type=radio]{
 vertical-align: -0.05em;
 margin-right: 5px;
}
.formArea textarea{
 height: 200px !important;
}
optgroup{
 font-style: normal;
}
.formArea .basicTable .zip{
	align-items: center;
	gap:0 10px;
	margin-bottom: 5px;
}
.formArea .basicTable .zip input[type="text"]{
	width: 40%;
	max-width: calc(100% - 6em);
}

.contactPrivacy{
 text-align: center;
}

.formBtn {
  margin-top: 20px;
}
.contactPrivacy a{
 color: var(--orange);
	text-decoration: underline;
}
.contactPrivacy #errormsg_弊社規定のプライバシーポリシー{
 max-width: 34em;
 margin: 0 auto;
}

input.btnSubmit{
	border: none;
	border-radius: calc(infinity * 1px);
	display: grid;
	place-content: center;
 background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100%" height="100%" viewBox="0 0 16 14" fill="none"><path d="M15 7L1 7M9 1L15 7L9 13" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat right 5% center/16px auto;
	background-color: var(--orange);
 width: 100%;
	max-width: 400px;
	height: 60px;
 margin: 0 auto;
 padding: 5px 25px 5px 15px;
 color: #fff;
	font-size: 20px;
	font-weight: 700;
 text-align:center;
 cursor: pointer;
}
input.btnSubmit:hover{
 opacity: .7;
}

/* =======================================
	privacypolicy
========================================== */
#privacyMain{
 padding-bottom: 150px;
}
#privacyMain .lead{
  margin-bottom: 2em;
}
#privacyMain .contBox{
  border-bottom: 1px solid #ccc;
  margin-bottom: 2em;
  padding-bottom: 1em
}
#privacyMain h3{
 margin-top: 40px;
 margin-bottom: 20px;
}
#privacyMain .h4Tit{
 margin-top: 30px;
	margin-bottom: 10px;
	text-align: left;
}
section#privacyMain p:not(:last-child){
	margin-bottom: 1em;
}
#privacyMain ul,
#privacyMain dl{
	margin-bottom: 30px;
}
#privacyMain ul li{
	margin-bottom: 15px;
	margin-left: 1em;
	text-indent: -1em;
}
#privacyMain ul li > p{
  margin-left: 3em;
  margin-bottom: .5em !important
}
#privacyMain ul li:last-child{
	margin-bottom: 0;
}
#privacyMain ol{
  margin-left: 3em;
  margin-bottom: 1em
}
#privacyMain dl dd{
	padding-left: 1.5em;
	padding-bottom: 10px;
}
#privacyMain dl dd:last-child{
	padding-bottom: 0;
}
