@charset "UTF-8";
/* CSS Document */
/*--------------------
01.top
02.商品情報
02_01. Smart PV
02_02. 315W

03.
04.
08.お問い合わせフォーム
15.プライバシーポリシー
--------------------*/

/*----------
01.top
----------*/
#top .LP_link {
  position: fixed;
  bottom: 40px;
  right: 0;
  width: 200px;
  z-index: 10;
}
#top .LP_link a {
  display: block;
  padding: 13px 0;
  background: #008fd7;
  color: #fff;
  font-size: 18px;
  font-weight: 500;
  text-align: center;
}
#top #mainvisual_area {
  position: relative;
  margin: 0 0 89px;
}

#top #mainvisual_area .contents_in {
  max-width: 1280px;
  width: 100%;
  position: relative;
}

#top #mainvisual_area .cnt_g {
  max-width: 1140px;
  width: 89.07%;
  margin: 0 0 0 auto;
}

#top #mainvisual_area .slick-track {
  padding: 0 0 39px;
}

#top #mainvisual_area .cnt_box {
  max-width: 1140px;
  width: 89.07%;
  position: relative;
  /* height: calc(100vh - 56px); */
  /* overflow: hidden; */
}

#top #mainvisual_area .cnt_img img {
  /* height: calc(100vh - 56px - 39px); */
  object-fit: cover;
}

#top #mainvisual_area .cnt_text {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
}

#top #mainvisual_area .cnt_text .text_in {
  width: 100%;
}

#top #mainvisual_area .cnt_text .btn_ptn01 {
  margin: 0 auto;
}

#top #mainvisual_area .visual01 .cnt_text .text_in {
  margin-top: 36px;
}

#top #mainvisual_area .visual01 .cnt_text .big_catchcopy {
  max-width: 885px;
  width: 100%;
  color: #fff;
  font-size: 84px;
  letter-spacing: 0.1em;
  margin: 0 20px 40px 6.19%;
}

#top #mainvisual_area .visual01 .cnt_text .big_catchcopy span:nth-child(2) {
  margin: 17px 0 0 145px;
  display: inline-block;
}

#top #mainvisual_area .visual_common {
  /* padding: 0 0 39px; */
}

#top #mainvisual_area .visual_common .cnt_text .logo {
  max-width: 165px;
  width: 100%;
  margin: 0 auto 16px;
}

#top #mainvisual_area .visual_common .cnt_text .catchcopy {
  font-size: 26px;
  letter-spacing: 0.15em;
  color: #fff;
  text-align: center;
  margin-bottom: 32px;
}

#top #mainvisual_area .visual_common .cnt_text .product_img {
  max-width: 205px;
  width: 100%;
  position: absolute;
  bottom: -39px;
  left: 66px;
}

#top #mainvisual_area .visual_common .cnt_text .btn_ptn01 {
  margin: 0 auto;
}

#top #mainvisual_area .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 74px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

#top #mainvisual_area .slick-dots li {
  width: 6px;
  height: 6px;
  margin: 0 11px;
}

#top #mainvisual_area .slick-dots li button {
  display: block;
  width: 6px;
  height: 6px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: #969696;
  font-size: 0;
}

#top #mainvisual_area .slick-dots li.slick-active button {
  background: #fff;
}

#top #mainvisual_area .scroll {
  width: 14px;
  position: absolute;
  bottom: 39px;
  left: 7.27%;
  padding: 0 0 102px;
}

#top #mainvisual_area .scroll .scroll_text {
  display: block;
  height: 47px;
  font-size: 12px;
  letter-spacing: 0.05em;
  line-height: 14px;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

#top #mainvisual_area .scroll::after {
  content: '';
  width: 1px;
  height: 92px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#top #news_area {
  margin: 0 auto 93px;
}

#top #news_area .contents_in {
  display: flex;
  align-items: start;
  justify-content: space-between;
}

#top #news_area h2 {
  font-size: 32px;
  letter-spacing: 0.05em;
  line-height: 39px;
  margin: 0 0 9px;
  text-transform: capitalize;
}

#top #news_area .h2_jp {
  font-weight: 300;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 23px;
}

#top #news_area .cnt_g {
  max-width: 734px;
  width: 73.4%;
}

#top #news_area dl div {
  letter-spacing: 0.1em;
  display: flex;
  align-items: start;
  margin: 0 0 27px;
}

#top #news_area dl dt {
  color: #6c6c6c;
  letter-spacing: 0.1em;
  line-height: 15px;
  margin: 0 23px 0 0;
}

#top #news_area dl dd {
  max-width: 625px;
  width: 100%;
  line-height: 23px;
}

#top #news_area .btn_ptn01 {
  margin: 67px 0 0 auto;
}

#top #news_area .btn_ptn01 a {
  color: #027dd7;
  border-color: #027dd7;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#top #news_area .btn_ptn01 a::after {
  background: #027dd7;
}

#top #product_area {
}

#top #product_area h2 {
  font-size: 36px;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
  position: relative;
  margin-bottom: 81px;
  z-index: 1;
}

#top #product_area h2::after {
  content: '';
  display: block;
  width: 1px;
  height: 72px;
  background: #000;
  position: absolute;
  top: 68px;
  left: 50%;
  transform: translateX(-50%);
}

#top #product_area .cnt_block {
  position: relative;
}

#top #product_area .cnt_block::before {
  content: '';
  width: 100%;
  height: 400px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}

#top #product_area .cnt_block .contents_in {
  max-width: 1280px;
  position: relative;
  z-index: 1;
}

#top #product_area .cnt_block .cnt_g {
  background: #fff;
}

#top #product_area .cnt_block .product_number {
  font-size: 20px;
  letter-spacing: 0.05em;
  color: #027dd7;
  line-height: 24px;
  margin: 0 0 3px;
}

#top #product_area .cnt_block h3 {
  font-weight: 300;
  font-size: 36px;
  letter-spacing: 0.06em;
  line-height: 51px;
  margin-bottom: 45px;
}

#top #product_area .cnt_block .cnt_img {
  max-width: 256px;
  width: 100%;
}

#top #product_area .cnt_block .cnt_text {
  padding: 0 0 0 60px;
}

#top #product_area .cnt_block h4 {
  font-weight: 300;
  font-size: 26px;
  letter-spacing: 0.05em;
  line-height: 38px;
  margin: 0 0 1px;
  position: relative;
}

#top #product_area .cnt_block h4::before {
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  background: #027dd7;
  position: absolute;
  top: 22px;
  left: -60px;
}

#top #product_area .cnt_block .btn_ptn01 {
  margin: 0 auto;
}

#top #product_area .cnt_block .btn_ptn01 a {
  color: #027dd7;
  border-color: #027dd7;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#top #product_area .cnt_block .btn_ptn01 a::after {
  background: #027dd7;
}

#top #product_area .cnt_block p {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: 0.15em;
  margin: 0 0 32px;
}

#top #product_area .cnt_block01 {
  padding: 66px 0 0;
  margin: 0 0 61px;
}

#top #product_area .cnt_block01::before {
  background-image: url(../img/top/bg01_product.jpg);
}

#top #product_area .cnt_block01 .cnt_g {
  max-width: 814px;
  width: 100%;
  margin: 0 0 0 auto;
  padding: 48px 20px 0 70px;
}

#top #product_area .cnt_block01 .cnt_box {
  max-width: 603px;
  width: 100%;
  display: flex;
  align-items: start;
  justify-content: space-between;
}

#top #product_area .cnt_block01 .cnt_img {
  width: 42.46%;
}

#top #product_area .cnt_block01 .cnt_text {
  max-width: 331px;
  width: 100%;
}

#top #product_area .cnt_block02 {
  padding: 81px 0 0;
  margin: 0 0 142px;
}

#top #product_area .cnt_block02::before {
  background-image: url(../img/top/bg02_product.jpg);
}

#top #product_area .cnt_block02 .cnt_g {
  max-width: 900px;
  width: 100%;
  padding: 42px 40px 0 70px;
}

#top #product_area .cnt_block02 .h3_g {
  max-width: 720px;
  width: 100%;
  margin: 0 0 0 auto;
}

#top #product_area .cnt_block02 .box_g {
  max-width: 720px;
  width: 100%;
  display: flex;
  align-items: start;
  justify-content: space-between;
  margin: 0 0 0 auto;
}

#top #product_area .cnt_block02 .cnt_box {
  max-width: 340px;
  width: 47.23%;
}

#top #product_area .cnt_block02 .cnt_img {
  margin: 0 auto 27px;
}

#top .cnt_area .h2_g {
  text-align: center;
  letter-spacing: 0.05em;
  position: relative;
}

#top .cnt_area h2 {
  font-size: 32px;
  line-height: 39px;
  margin: 0 0 3px;
}

#top .cnt_area .h2_jp {
  font-weight: 300;
  line-height: 20px;
}

#top #customers_area {
  position: relative;
  padding: 0 0 324px;
  margin: 0 0 74px;
}

#top #customers_area::after {
  content: '';
  display: block;
  width: 100%;
  height: 492px;
  background: url(../img/top/bg01_customers.jpg) no-repeat center center;
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 0;
}

#top #customers_area .h2_g {
  padding: 0 0 94px;
}

#top #customers_area .h2_g::after {
  content: '';
  display: block;
  width: 1px;
  height: 72px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#top #customers_area .cnt_block {
  position: relative;
}

#top #customers_area .cnt_g {
  background: #fff;
  padding: 22px 0 54px;
  position: relative;
  z-index: 1;
}

#top #customers_area .cnt_box {
  text-align: center;
  max-width: 1000px;
  width: 100%;
}

#top #customers_area .voice_number {
  font-weight: 300;
  color: #313131;
  letter-spacing: 0.05em;
  margin: 0 0 14px;
}

#top #customers_area h3 {
  font-size: 36px;
  letter-spacing: 0.05em;
  line-height: 52px;
  margin: 0 0 8px;
}

#top #customers_area .people_text {
  line-height: 1;
  letter-spacing: 0.15em;
}

#top #customers_area .cnt_box .btn_ptn01 {
  margin: 114px auto 0;
}

#top #customers_area .cnt_box .btn_ptn01 a {
  color: #027dd7;
  border-color: #027dd7;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#top #customers_area .cnt_box .btn_ptn01 a::after {
  background: #027dd7;
}

#top #customers_area .control_box {
  width: 100%;
  position: absolute;
  max-width: 372px;
  width: 100%;
  margin: 0 auto;
  bottom: 140px;
  left: 0;
  right: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 12px;
}

#top #customers_area .control_box .arrow {
  position: absolute;
  bottom: 0;
  font-size: 0;
  width: 8px;
  height: 12px;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: 50% 50%;
}

#top #customers_area .control_box .arrow.prev {
  background-image: url(../common/img/arrow_left01.png);
  left: 0;
}

#top #customers_area .control_box .arrow.next {
  background-image: url(../common/img/arrow_right01.png);
  right: 0;
}

#top #customers_area .control_box .slick-dots {
  display: flex;
  align-items: center;
  justify-content: center;
}

#top #customers_area .control_box .slick-dots li {
  width: 6px;
  height: 6px;
  margin: 0 11px;
}

#top #customers_area .control_box .slick-dots li button {
  display: block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  padding: 0;
  border: none;
  background: #c6c6c6;
  font-size: 0;
}

#top #customers_area .control_box .slick-dots li.slick-active button {
  background: #000;
}

#top #faq_area {
  margin: 0 0 92px;
}

#top #faq_area .h2_g {
  margin: 0 0 49px;
}

#top #faq_area .cnt_g {
  margin: 0 auto 26px;
}

#top #faq_area .cnt_box {
  max-width: 900px;
  width: 100%;
  margin: 0 auto 20px;
  border: 1px solid #e6e6e6;
  position: relative;
}

#top #faq_area .cnt_box::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: #e6e6e6;
  position: absolute;
  bottom: 0;
  left: 0;
}

#top #faq_area .question_box {
  cursor: pointer;
  padding: 22px 75px 22px 33px;
  position: relative;
}

#top #faq_area .question_box span {
  display: inline-block;
  vertical-align: top;
}

#top #faq_area .question_box .icon {
  font-size: 20px;
  line-height: 25px;
  margin: 0 42px 0 0;
}

#top #faq_area .question_box .question_text {
  font-weight: 500;
  line-height: 25px;
  width: calc(100% - 42px - 19px);
}

#top #faq_area .question_box .mark {
  position: absolute;
  right: 26px;
  top: 25px;
  width: 14px;
  height: 14px;
}

#top #faq_area .question_box .mark::before,
#top #faq_area .question_box .mark::after {
  content: '';
  display: block;
  width: 14px;
  height: 1px;
  background: #027dd7;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#top #faq_area .question_box .mark::after {
  transform: rotate(90deg);
  top: 0;
  transform-origin: left;
  transition: all 0.3s;
}

#top #faq_area .cnt_box.active .question_box .mark::after {
  opacity: 0;
}

#top #faq_area .answer_box {
  display: none;
  padding: 22px 35px 22px 33px;
  position: relative;
}

#top #faq_area .answer_box span {
  display: inline-block;
  vertical-align: top;
}

#top #faq_area .answer_box .icon {
  font-size: 20px;
  line-height: 25px;
  margin: 0 42px 0 0;
}

#top #faq_area .answer_box .answer_text {
  font-weight: 500;
  line-height: 25px;
  width: calc(100% - 42px - 18px);
}

#top #faq_area .btn_ptn01 {
  margin: 0 auto 31px;
}

#top #faq_area .btn_ptn01 a {
  color: #027dd7;
  border-color: #027dd7;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#top #faq_area .btn_ptn01 a::after {
  background: #027dd7;
}

#top #faq_area .attention_text {
  text-align: center;
  letter-spacing: 0.14em;
}

#top #company_area {
  background: #004b81;
  padding: 53px 0 0;
}

#top #company_area .contents_in {
  max-width: 1280px;
}

#top #company_area .cnt_box {
  max-width: 1192px;
  width: 93.13%;
  padding: 74px 58px 0 82px;
  display: flex;
  align-items: start;
  justify-content: space-between;
  position: relative;
}

#top #company_area .cnt_box::before {
  content: '';
  display: block;
  width: 100%;
  height: calc(100% - 53px);
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
}

#top #company_area .cnt_img {
  max-width: 634px;
  width: 60.27%;
  position: relative;
  z-index: 1;
}

#top #company_area .cnt_text {
  max-width: 378px;
  width: 35.94%;
  margin: 37px 0 0;
  position: relative;
  z-index: 1;
}

#top #company_area .h2_g {
  margin-bottom: 52px;
  text-align: left;
}

#top #company_area .catchcopy {
  font-size: 36px;
  letter-spacing: 0.05em;
  line-height: 1;
  margin: 0 0 28px;
}

#top #company_area p {
  max-width: 346px;
  width: 100%;
  line-height: 28px;
  letter-spacing: 0.15em;
  margin: 0 0 65px;
}

#top #company_area .btn_ptn01 a {
  color: #027dd7;
  border-color: #027dd7;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#top #company_area .btn_ptn01 a::after {
  background: #027dd7;
}

/*----------
02.商品情報
----------*/

#product #h1_type01 {
  background-image: url(../img/product/mainimg01.jpg);
}

#product #point_area {
  margin: 0 0 118px;
}

#product #point_area .contents_in {
  background: #fff;
  padding: 46px 0 0;
}

#product #point_area h2 {
  font-weight: 300;
  font-size: 28px;
  text-align: center;
  margin: 0 0 81px;
}

#product #point_area .cnt_box {
  display: flex;
  align-items: start;
  flex-direction: row-reverse;
  margin: 0 0 40px;
}

#product #point_area .cnt_img {
  max-width: 500px;
  width: 50%;
  margin: 0 7.5% 0 0;
}

#product #point_area .cnt_text {
  max-width: 500px;
  width: calc(100% - 50% - 7.5%);
  letter-spacing: 0.05em;
  padding: 12px 0 0;
}

#product #point_area .point_number {
  color: #027dd7;
  font-size: 20px;
  line-height: 24px;
  margin: 0 0 8px;
}

#product #point_area h3 {
  font-weight: 300;
  font-size: 36px;
  line-height: 51px;
  margin: 0 0 32px;
}

#product #point_area .catchcopy {
  font-weight: 300;
  line-height: 20px;
  margin: 0 0 9px;
}

#product #point_area p {
  max-width: 346px;
  letter-spacing: 0.15em;
  line-height: 28px;
  text-align: left;
}

#product #point_area .btn_ptn01 {
  margin: 58px 0 0;
}

#product #point_area .btn_ptn01 a {
  color: #027dd7;
  border-color: #027dd7;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#product #point_area .btn_ptn01 a::after {
  background: #027dd7;
}

#product #product_area .h2_g {
  text-align: center;
  padding: 0 0 82px;
  margin: 0 0 -23px;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 1;
}

#product #product_area .h2_g::after {
  content: '';
  display: block;
  width: 1px;
  height: 72px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

#product #product_area h2 {
  font-size: 32px;
  line-height: 39px;
  position: relative;
  margin-bottom: 3px;
}

#product #product_area .h2_jp {
  font-weight: 300;
  line-height: 20px;
}

#product #product_area .cnt_block {
  position: relative;
}

#product #product_area .cnt_block::before {
  content: '';
  width: 100%;
  height: 400px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}

#product #product_area .cnt_block .contents_in {
  max-width: 1280px;
  position: relative;
  z-index: 1;
}

#product #product_area .cnt_block .cnt_g {
  background: #fff;
}

#product #product_area .cnt_block .product_number {
  font-size: 20px;
  letter-spacing: 0.05em;
  color: #027dd7;
  line-height: 24px;
  margin: 0 0 3px;
}

#product #product_area .cnt_block h3 {
  font-weight: 300;
  font-size: 36px;
  letter-spacing: 0.06em;
  line-height: 51px;
  margin-bottom: 45px;
}

#product #product_area .cnt_block .cnt_img {
  max-width: 256px;
  width: 100%;
}

#product #product_area .cnt_block .cnt_text {
  padding: 0 0 0 60px;
}

#product #product_area .cnt_block h4 {
  font-weight: 300;
  font-size: 26px;
  letter-spacing: 0.05em;
  line-height: 38px;
  margin: 0 0 1px;
  position: relative;
}

#product #product_area .cnt_block h4::before {
  content: '';
  display: block;
  width: 30px;
  height: 1px;
  background: #027dd7;
  position: absolute;
  top: 22px;
  left: -60px;
}

#product #product_area .cnt_block .btn_ptn01 {
  margin: 0 auto;
}

#product #product_area .cnt_block .btn_ptn01 a {
  color: #027dd7;
  border-color: #027dd7;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#product #product_area .cnt_block .btn_ptn01 a::after {
  background: #027dd7;
}

#product #product_area .cnt_block p {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: 0.15em;
  margin: 0 0 32px;
}

#product #product_area .cnt_block01 {
  padding: 66px 0 0;
  margin: 0 0 61px;
}

#product #product_area .cnt_block01::before {
  background-image: url(../img/product/bg01_product.jpg);
}

#product #product_area .cnt_block01 .cnt_g {
  max-width: 814px;
  width: 100%;
  margin: 0 0 0 auto;
  padding: 48px 20px 0 70px;
}

#product #product_area .cnt_block01 .cnt_box {
  max-width: 603px;
  width: 100%;
  display: flex;
  align-items: start;
  justify-content: space-between;
}

#product #product_area .cnt_block01 .cnt_img {
  width: 42.46%;
}

#product #product_area .cnt_block01 .cnt_text {
  max-width: 331px;
  width: 100%;
}

#product #product_area .cnt_block02 {
  padding: 81px 0 0;
  margin: 0 0 160px;
}

#product #product_area .cnt_block02::before {
  background-image: url(../img/product/bg02_product.jpg);
}

#product #product_area .cnt_block02 .cnt_g {
  max-width: 900px;
  width: 100%;
  padding: 42px 40px 0 70px;
}

#product #product_area .cnt_block02 .h3_g {
  max-width: 720px;
  width: 100%;
  margin: 0 0 0 auto;
}

#product #product_area .cnt_block02 .box_g {
  max-width: 720px;
  width: 100%;
  display: flex;
  align-items: start;
  justify-content: space-between;
  margin: 0 0 0 auto;
}

#product #product_area .cnt_block02 .cnt_box {
  max-width: 340px;
  width: 47.23%;
}

#product #product_area .cnt_block02 .cnt_img {
  margin: 0 auto 27px;
}

/*--------------------
02_01. Smart PV
--------------------*/
.product_under {
  color: #2c2c2c;
}

.product_under .mainv_area {
}
.product_under .mainv_area .contents_in {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.product_under .mainv_area .img {
  display: block;
  max-width: 354px;
  width: 35.4%;
  margin: 0 auto;
}
.product_under .mainv_area .cnt_text {
  display: block;
  max-width: 573px;
  width: 57.3%;
  color: #fff;
}
.product_under .mainv_area .cnt_text .logo {
  max-width: 173px;
  margin-bottom: 22px;
}

.product_under .cnt_area .h3_g {
  display: block;
  background: #fff;
  padding: 31px 78px 42px;
}

.product_under .cnt_area .h3_g .point {
  color: #027dd7;
  font-size: 15px;
  font-weight: 300;
  text-align: center;
  margin-bottom: 43px;
  position: relative;
}

.product_under .cnt_area .h3_g .point::after {
  content: '';
  display: block;
  width: 1px;
  height: 24px;
  background: #027dd7;
  position: absolute;
  bottom: -33px;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.product_under .cnt_area .h3_g h3 {
  font-size: 36px;
  line-height: 52px;
  color: #027dd7;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 22px;
  text-align: center;
}

.product_under .cnt_area .h3_g .first_text {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: 0.15em;
  color: #2c2c2c;
}

.product_under .cnt_area .bg {
  background: #f0f4f7;
  padding: 87px 0 69px;
  position: relative;
}

.product_under .cnt_area .bg::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 32px 42.5px 0 42.5px;
  border-color: #ffffff transparent transparent transparent;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.product_under .cnt_area .cnt_type01 .cnt_box {
  display: block;
  max-width: 844px;
  margin: 0 auto 70px;
}
.product_under .cnt_area .cnt_type01 .cnt_text {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 30px;
}

.product_under .cnt_area .cnt_type01 .cnt_text h4 {
  font-family: 'Noto Serif JP', serif;
  font-size: 28px;
  line-height: 42px;
  max-width: 350px;
  width: 41.5%;
}

.product_under .cnt_area .cnt_type01 .cnt_text p {
  display: block;
  line-height: 28px;
  letter-spacing: 0.15em;
  max-width: 444px;
  width: 52.6%;
}

.product_under .cnt_area .attention_text {
  font-weight: 300;
  font-size: 12px;
  padding-left: 2.4em;
  text-indent: -2.4em;
  line-height: 28px;
  letter-spacing: 0.15em;
}

#smart_pv {
  background: #fff;
}

#smart_pv .mainv_area {
  background: url('../img/product/smart_pv/bg01.jpg') no-repeat center;
  background-size: cover;
  padding: 66px 0 151px;
  margin-bottom: -126px;
}

#smart_pv .mainv_area .img {
  display: block;
  max-width: 354px;
  width: 35.4%;
  margin: 0 auto;
}

#smart_pv .mainv_area .cnt_text .title,
#smart_pv .mainv_area .cnt_text p {
  font-size: 26px;
  line-height: 37px;
  margin-bottom: 32px;
  letter-spacing: 0.05em;
}

#smart_pv #cnt_area01 {
  margin-bottom: 167px;
}

#smart_pv #cnt_area01 .circle_g {
  max-width: 582px;
  margin: 0 auto 110px;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  flex-flow: wrap;
  position: relative;
}

#smart_pv #cnt_area01 .circle_g::before {
  content: '';
  display: block;
  width: 346px;
  height: 346px;
  border-radius: 50%;
  border: 1px solid rgb(98 178 222 / 30%);
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
}

#smart_pv #cnt_area01 .circle_g .logo {
  position: absolute;
  top: 53%;
  transform: translateY(-50%);
  max-width: 136px;
}

#smart_pv #cnt_area01 .circle_g .cnt_box {
  width: 234px;
  height: 234px;
  display: block;
  border: 1px solid #027dd7;
  border-radius: 50%;
  text-align: center;
  position: relative;
  padding: 20px 0 0;
  background: #fff;
}
#smart_pv #cnt_area01 .circle_g .cnt_box .num {
  font-size: 27px;
  color: #027dd7;
  margin-bottom: 16px;
  font-weight: 300;
}

#smart_pv #cnt_area01 .circle_g .cnt_box h4 {
  font-size: 18px;
  line-height: 34px;
  margin-bottom: 11px;
}
#smart_pv #cnt_area01 .circle_g .cnt_box h4 span {
  font-size: 24px;
  display: block;
}

#smart_pv #cnt_area01 .circle_g .cnt_box p {
  color: #2c2c2c;
  font-size: 12px;
  line-height: 18px;
  letter-spacing: 0.15em;
}

#smart_pv #cnt_area01 .circle_g .cnt_box .cnt_img {
  position: absolute;
  max-width: 135px;
  top: -30px;
  right: -100px;
}

#smart_pv #cnt_area01 .circle_g .cnt_box .cnt_img span {
  font-size: 12px;
  line-height: 19px;
  margin-bottom: 4px;
  letter-spacing: 0.1em;
  display: block;
}

#smart_pv #cnt_area01 .circle_g .cnt_box.box01 {
  margin: 0 100px 27px;
}
#smart_pv #cnt_area01 .circle_g .cnt_box.box01 .cnt_img {
  top: 3px;
}
#smart_pv #cnt_area01 .circle_g .cnt_box.box02 .cnt_img {
  right: unset;
  left: -75px;
}
#smart_pv #cnt_area01 .circle_g .cnt_box.box03 .cnt_img {
  right: -86px;
}
#smart_pv #cnt_area01 .circle_g .cnt_box.box03 .cnt_img img {
  max-width: 112px;
  margin: 0 auto;
}
#smart_pv #cnt_area01 .maintext {
  display: block;
  text-align: center;
  font-size: 28px;
  line-height: 40px;
  margin-bottom: 33px;
}

#smart_pv #cnt_area01 .g02 {
  max-width: 844px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

#smart_pv #cnt_area01 .g02 .cnt_box {
  display: block;
  width: 30.9%;
  max-width: 261px;
}
#smart_pv #cnt_area01 .g02 .cnt_box .title {
  font-size: 22px;
  line-height: 34px;
  padding-bottom: 14px;
  border-bottom: 1px solid #707070;
  margin-bottom: 15px;
  padding-left: 1.5em;
  text-indent: -1.5em;
  letter-spacing: 0.05em;
}
#smart_pv #cnt_area01 .g02 .cnt_box .title span {
  color: #027dd7;
}
#smart_pv #cnt_area01 .g02 .cnt_box p {
  line-height: 28px;
  letter-spacing: 0.15em;
  font-weight: 400;
}
#smart_pv #cnt_area01 .bg {
  margin-bottom: 67px;
}

#smart_pv #cnt_area01 .cnt_type01 .cnt_text h4 span {
  font-size: 22px;
}

#smart_pv #cnt_area01 .cnt_type01 .cnt_img {
  display: block;
  width: 100%;
  position: relative;
}

#smart_pv #cnt_area01 .cnt_type01 .cnt_img img {
  border-radius: 3px;
}

#smart_pv #cnt_area01 .cnt_type01 .cnt_img span {
  font-size: 22px;
  line-height: 42px;
  margin-bottom: 15px;
  display: block;
}

#smart_pv #cnt_area01 .cnt_type01 .cnt_img span.circle {
  display: block;
  font-weight: 500;
  width: 78px;
  height: 78px;
  font-size: 14px;
  line-height: 20px;
  color: #fff;
  text-align: center;
  background: #98c465;
  border-radius: 50%;
  letter-spacing: 0.05em;
  padding: 20px 0;
  position: absolute;
  top: 0px;
  right: -20px;
}

#smart_pv #cnt_area02 {
  margin-bottom: 136px;
}

#smart_pv #cnt_area02 .contents_in {
  max-width: 844px;
}

#smart_pv #cnt_area02 h4 {
  font-size: 22px;
  line-height: 42px;
  margin-bottom: 15px;
  display: block;
}
#smart_pv #cnt_area02 .cnt_img {
  width: 100%;
  margin-bottom: 59px;
}

#smart_pv #cnt_area02 .cnt_box {
  margin-bottom: 25px;
}
#smart_pv #cnt_area02 .cnt_box h5 {
  display: block;
  font-size: 22px;
  line-height: 42px;
  padding-bottom: 6px;
  border-bottom: 1px solid #707070;
  margin-bottom: 15px;
  letter-spacing: 0.05em;
}
#smart_pv #cnt_area02 .cnt_box h5 span {
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  display: block;
  letter-spacing: 0.1em;
}

#smart_pv #cnt_area02 .cnt_box p {
  letter-spacing: 0.15em;
  line-height: 28px;
  margin-bottom: 10px;
}
#smart_pv #cnt_area02 .cnt_box .bold {
  font-weight: 500;
}
#smart_pv #cnt_area02 .cnt_box p .big {
  font-size: 16px;
  font-weight: 500;
}

#smart_pv #cnt_area02 .cnt_box .attention_text {
  font-weight: 300;
  font-size: 12px;
  padding-left: 2.4em;
  text-indent: -2.4em;
}

#smart_pv #cnt_area02 .g01 {
  display: flex;
  justify-content: space-between;
}

#smart_pv #cnt_area02 .g01 .cnt_box {
  max-width: 400px;
  width: 47.4%;
}

#smart_pv #cnt_area03 {
  margin-bottom: 140px;
}

#smart_pv #cnt_area03 .g01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 102px;
}

#smart_pv #cnt_area03 .g01 .cnt_img {
  display: block;
  max-width: 435px;
  width: 43.5%;
  padding-left: 5%;
}

#smart_pv #cnt_area03 .g01 .cnt_text {
  display: block;
  max-width: 438px;
  width: 43.8%;
}

#smart_pv #cnt_area03 .g01 .cnt_text p {
  line-height: 28px;
  letter-spacing: 0.15em;
  margin-bottom: 10px;
}

#smart_pv #cnt_area03 .cnt_type01 .cnt_img {
  display: flex;
  justify-content: space-between;
}

#smart_pv #cnt_area03 .cnt_type01 .cnt_img .img {
  max-width: 272px;
  width: 32.2%;
}

#smart_pv #cnt_area03 .cnt_type01 .cnt_img .img span {
  display: block;
  letter-spacing: 0.15em;
  margin-top: 14px;
}

#smart_pv #cnt_area03 .cnt_type01 .cnt_box:last-of-type {
  margin: 0 auto;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_right .spec_box dd {
  margin-bottom: 15.5px;
  padding-bottom: 15px;
  line-height: 20px;
}

/*--------------------
02_02. 315W
--------------------*/
#solar_315w img {
  -webkit-backface-visibility: hidden;
}

#solar_315w .mainv_area {
  background: url('../img/product/solar_315w/bg01.jpg') no-repeat center;
  background-size: cover;
  padding: 98px 0 188px;
  margin-bottom: -126px;
}

#solar_315w .mainv_area .img {
  display: block;
  max-width: 354px;
  width: 35.4%;
  margin: 0 auto;
}

#solar_315w .mainv_area h2 {
  font-size: 34px;
  font-weight: 700;
  line-height: 49px;
  margin-bottom: 14px;
  letter-spacing: 0.05em;
}

#solar_315w .mainv_area .cnt_text .title,
#solar_315w .mainv_area .cnt_text p {
  font-size: 26px;
  line-height: 37px;
  margin-bottom: 35px;
  letter-spacing: 0.05em;
}
#solar_315w .mainv_area .cnt_text .title.title02 {
  padding: 0 0 0 37px;
  margin-bottom: 12px;
  position: relative;
}
#solar_315w .mainv_area .cnt_text .title.title02::before {
  content: '';
  background: url('../img/product/solar_315w/icon_check.png') no-repeat center center;
  background-size: contain;
  width: 28px;
  height: 28px;
  position: absolute;
  top: 6px;
  left: 0;
}

#solar_315w .mainv_area ul {
  max-width: 495px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#solar_315w .mainv_area ul li {
  max-width: 240px;
  width: 100%;
  background: rgba(0, 0, 0, 0.49);
  border: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.15em;
  text-align: center;
  padding: 5px 10px;
  margin-bottom: 9px;
}

#solar_315w #cnt_area01 h3 {
  margin: 0 0 8px;
}

#solar_315w #cnt_area01 h3 .small_text {
  font-size: 24px;
  line-height: 35px;
}

#solar_315w #cnt_area01 h3 .middle_text {
  font-size: 32px;
  line-height: 46px;
}

#solar_315w #cnt_area01 h3 .note {
  font-size: 19px;
  position: relative;
  top: -13px;
}

#solar_315w #cnt_area01 .h3_attention_text {
  color: #2c2c2c;
  font-size: 12px;
  font-weight: 300;
  line-height: 28px;
  letter-spacing: 0.15em;
  text-align: center;
}
#solar_315w .bg .contents_in {
  max-width: 844px;
}
#solar_315w.product_under .cnt_area .bg {
  padding: 56px 0 50px;
}
#solar_315w #cnt_area01 .cnt_g01 {
  display: flex;
  margin-bottom: 34px;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_left {
  width: 47.98%;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_left .type_text {
  margin-bottom: 20px;
  font-size: 22px;
  letter-spacing: 0.05em;
  font-weight: 500;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_left h4 {
  margin-bottom: 34px;
  font-size: 28px;
  font-weight: 500;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_left h4 span {
  display: block;
  margin-top: 15px;
  font-size: 18px;
  font-weight: 500;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_right p {
  margin-bottom: 72px;
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 28px;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_right .spec_box {
  padding-left: 50px;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_right .spec_box dt {
  margin-bottom: 10px;
  font-size: 20px;
  letter-spacing: 0.05em;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_right .spec_box dt span {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.15em;
}
#solar_315w #cnt_area01 .cnt_g01 .cnt_right .spec_box dd {
  margin-bottom: 20px;
  border-bottom: 1px solid #707070;
  padding-bottom: 25px;
  font-size: 14px;
  letter-spacing: 0.15em;
}
#solar_315w #cnt_area01 .cnt_g02 {
  padding: 30px 0;
  background-color: #ffffff;
}
#solar_315w #cnt_area01 .cnt_top {
  display: flex;
  margin-bottom: 40px;
  padding-left: 30px;
}
#solar_315w #cnt_area01 .cnt_top dt {
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.05em;
  width: 45%;
}
#solar_315w #cnt_area01 .cnt_top dd {
  font-size: 14px;
  letter-spacing: 0.15em;
  width: 55%;
}
#solar_315w #cnt_area01 .cnt_middle {
  display: flex;
  margin-bottom: 30px;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_left {
  border-right: 1px solid #707070;
  padding: 0 46.5px 0 30px;
  width: 50%;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_left .title {
  margin-bottom: 31px;
  font-size: 20px;
  letter-spacing: 0.05em;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_left .cnt_box {
  display: flex;
  align-items: center;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_left .cnt_box {
  margin-bottom: 30px;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_left .cnt_box .cnt_img {
  width: 36.99%;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_left .cnt_box .cnt_text dt {
  font-size: 16px;
  margin-bottom: 9.5px;
  font-weight: 500;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_left .cnt_box .cnt_text dt span {
  font-size: 14px;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_left .cnt_box .cnt_text dd {
  font-size: 14px;
  line-height: 22px;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_right {
  padding: 0 41px 25px 31.6px;
  width: 50%;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_right .title {
  margin-bottom: 25px;
  font-size: 20px;
  letter-spacing: 0.05em;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_right .cnt_img {
  margin-bottom: 20px;
  width: 42.74%;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_right .spec_box dt {
  font-size: 16px;
  margin-bottom: 9.5px;
  font-weight: 500;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_right .spec_box dt span {
  font-size: 14px;
}
#solar_315w #cnt_area01 .cnt_middle .cnt_right .spec_box dd {
  font-size: 14px;
  line-height: 22px;
}
#solar_315w #cnt_area01 .cnt_bottom {
  display: flex;
  padding: 0 30px 30px;
}
#solar_315w #cnt_area01 .cnt_img {
  width: 40%;
}
#solar_315w #cnt_area01 .cnt_text {
  padding: 5px 0 0 20px;
  width: 60%;
}
#solar_315w #cnt_area01 .cnt_text .title {
  margin-bottom: 25px;
  font-size: 14px;
  letter-spacing: 0.15em;
  font-weight: 500;
}
#solar_315w #cnt_area01 .cnt_text p {
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 28px;
}
#solar_315w #cnt_area01 .product_block02 {
  padding: 114px 0 106px;
}
#solar_315w #cnt_area01 .product_block02 .cnt_img {
  margin-left: 50px;
  width: 69.5%;
}
#solar_315w #cnt_area01 .product_block02 .cnt_g02 .cnt_top dt {
  line-height: 42px;
  width: 34.36%;
}
#solar_315w #cnt_area01 .product_block02 .cnt_g02 .cnt_top dd {
  padding: 0 30px 0 50px;
  letter-spacing: 0.15em;
  line-height: 28px;
  width: 65.64%;
}
#solar_315w #cnt_area01 .product_block02 .cnt_g02 .cnt_img {
  margin: 0 auto;
  position: relative;
  width: 100%;
}
#solar_315w #cnt_area01 .product_block02 .cnt_g02 .cnt_img .text {
  position: absolute;
  padding: 20px;
  color: #004f83;
  background-color: #d4e6f4;
  width: 380px;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 35px;
  font-weight: 500;
  top: 0;
  right: 30px;
}
#solar_315w #cnt_area01 .product_block02 .cnt_g02 p {
  margin: 0 auto;
  font-size: 16px;
  letter-spacing: 0.15em;
  line-height: 28px;
  font-weight: 500;
  width: 92.89%;
}
#solar_315w #cnt_area01 .product_block02 .cnt_g02 p span {
  font-size: 14px;
  font-weight: 400;
}
#solar_315w #cnt_area01 .product_block03 .cnt_g01 .cnt_left {
  width: 50%;
}
#solar_315w #cnt_area01 .product_block03 .cnt_g01 .cnt_left h4 span {
  display: inline;
}
#solar_315w #cnt_area01 .product_block03 .cnt_g01 .cnt_left .cnt_img {
  margin: 0 auto;
  width: 31%;
}
#solar_315w #cnt_area01 .product_block03 .cnt_g01 .cnt_right {
  padding: 111px 0 0 22px;
  width: 50%;
}
#solar_315w #cnt_area01 .attention_area {
  background-color: #ffffff;
}
#solar_315w #cnt_area01 .attention_area p {
  text-indent: -3em;
  padding-left: 3em;
}
#solar_315w #cnt_area01 .attention_area .contents_in {
  padding: 50px 0;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.15em;
  line-height: 28px;
  max-width: 844px;
}
#solar_315w .cnt_area .bg.last:last-of-type::before {
  content: none;
}
#solar_315w #cnt_area01 .product_block04 .cnt_left {
  padding-right: 50px;
  font-size: 28px;
  letter-spacing: 0.05em;
  line-height: 42px;
  width: 47.45%;
}
#solar_315w #cnt_area01 .product_block04 .cnt_right {
  width: 52.6%;
}
#solar_315w #cnt_area01 .product_block04 .cnt_right span {
  font-weight: 300;
}
#solar_315w #cnt_area02 {
  padding: 175px 0 239px;
  background-color: #ffffff;
}
#solar_315w #cnt_area02 .cnt_g {
  display: flex;
}
#solar_315w #cnt_area02 .cnt_g .cnt_box {
  width: 50%;
}
#solar_315w #cnt_area02 .cnt_g .cnt_box.cnt_img {
  padding-right: 16%;
}
#solar_315w #cnt_area02 .cnt_g .cnt_box.text {
  padding-left: 47px;
}
#solar_315w #cnt_area02 .cnt_g .cnt_box.text dt {
  margin-bottom: 10px;
  font-size: 16px;
  letter-spacing: 0.15em;
  line-height: 28px;
}
#solar_315w #cnt_area02 .cnt_g .cnt_box.text dd {
  margin-bottom: 20px;
  font-size: 60px;
  letter-spacing: 0.1em;
  line-height: 35px;
  font-weight: 700;
  color: #004f83;
}
#solar_315w #cnt_area02 .cnt_g .cnt_box.text dd span:first-of-type {
  font-size: 30px;
}
#solar_315w #cnt_area02 .cnt_g .cnt_box.text dd span:last-of-type {
  font-size: 16px;
  font-weight: 500;
  vertical-align: top;
}
#solar_315w #cnt_area02 .table_box {
  margin: 0 auto 90px;
  overflow-y: auto;
}
#solar_315w #cnt_area02 table {
  margin: 0 auto;
  width: 844px;
  text-align: center;
}
#solar_315w #cnt_area02 .table_box th,
#solar_315w #cnt_area02 .table_box td {
  font-size: 15px;
  letter-spacing: 0.15em;
}
#solar_315w #cnt_area02 .table_box tr:first-of-type {
  margin-bottom: 15px;
}
#solar_315w #cnt_area02 .table_box tr:nth-of-type(odd) th,
#solar_315w #cnt_area02 .table_box tr:nth-of-type(odd) td {
  background-color: #f0f4f7;
}
#solar_315w #cnt_area02 .table_box tr:nth-of-type(even) th,
#solar_315w #cnt_area02 .table_box tr:nth-of-type(even) td {
  background-color: #fafafa;
}
#solar_315w #cnt_area02 .table_box tr th {
  border-right: 5px solid #ffffff;
}
#solar_315w #cnt_area02 .table_box tr th {
  padding: 9px 0 10px;
}
#solar_315w #cnt_area02 .table_box tr:first-of-type th {
  position: relative;
  margin-bottom: 15px;
  border: none;
  padding-bottom: 30px;
  font-size: 16px;
  letter-spacing: 0.15em;
  line-height: 20px;
  vertical-align: bottom;
  background-color: #ffffff;
}
#solar_315w #cnt_area02 .table_box tr:first-of-type th::before {
  content: '';
  display: block;
  position: absolute;
  height: 1px;
  width: 100%;
  background-color: #707070;
  left: 0;
  bottom: 15px;
}
#solar_315w #cnt_area02 .table_box tr:first-of-type th span {
  font-size: 14px;
}
#solar_315w #cnt_area02 .table_box tr:first-of-type th:nth-of-type(3),
#solar_315w #cnt_area02 .table_box tr:first-of-type th:nth-of-type(5) {
  font-weight: 500;
  color: #004f83;
}
#solar_315w #cnt_area02 .table_box tr:nth-of-type(2) td {
  letter-spacing: 0;
}
#solar_315w #cnt_area02 .table_box tr:nth-of-type(2) td span:first-of-type {
  font-size: 14px;
}
#solar_315w #cnt_area02 .table_box tr:nth-of-type(2) td span:last-of-type {
  font-size: 12px;
}
#solar_315w #cnt_area02 .table_box tr .bgb {
  font-size: 14px;
  background-color: #004f83 !important;
  color: #ffffff;
}
#solar_315w #cnt_area02 .table_box tr:nth-of-type(6) th,
#solar_315w #cnt_area02 .table_box tr:nth-of-type(6) td {
  border-bottom: 4px solid #ffffff;
}
#solar_315w #cnt_area02 .table_box tr .brf {
  border-right: 4px solid #ffffff;
}
#solar_315w #cnt_area02 .g02 {
  margin-left: -62px;
  flex-wrap: wrap;
}
#solar_315w #cnt_area02 .g02 .cnt_box {
  margin: 0 0 60px 62px;
  width: calc(100% / 2 - 62px);
}
#solar_315w #cnt_area02 .g02 .cnt_box h3 {
  margin-bottom: 15.5px;
  border-bottom: 1px solid #707070;
  padding-bottom: 15px;
  font-size: 22px;
  letter-spacing: 0.05em;
  line-height: 34px;
  text-align: center;
}
#solar_315w #cnt_area02 .g02 .cnt_box p {
  margin-bottom: 15.5px;
  font-size: 14px;
  letter-spacing: 0.15em;
  line-height: 28px;
}
#solar_315w #cnt_area02 .g03 ul {
  font-size: 12px;
  letter-spacing: 0.15em;
  line-height: 28px;
}
#solar_315w #cnt_area02 .g03 ul li {
  text-indent: -3em;
  padding-left: 3em;
}
#solar_315w #cnt_area02 .g03 ul div {
  display: inline-block;
  position: relative;
  margin: 0 20px 0 45px;
  text-align: center;
  vertical-align: middle;
}
#solar_315w #cnt_area02 .g03 ul div::after {
  content: '';
  display: block;
  position: absolute;
  width: 220px;
  height: 1px;
  background-color: #000;
  top: 50%;
  left: -38px;
}
#solar_315w #cnt_area02 .g03 ul div span {
  display: block;
}
#solar_315w #cnt_area03 {
  padding: 0 0 80px;
  background-color: #ffffff;
}
#solar_315w #cnt_area03 .cnt_g {
  display: flex;
  margin-bottom: 62px;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box {
  width: 50%;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.cnt_img {
  padding-right: 60px;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text {
  padding-left: 62px;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text h4 {
  margin-bottom: 20.5px;
  font-size: 28px;
  letter-spacing: 0.05;
  line-height: 42px;
  font-weight: 500;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text h4 span:first-of-type {
  margin-left: 8px;
  font-size: 18px;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text h4 span:last-of-type {
  display: block;
  font-size: 18px;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text .item {
  margin-bottom: 18px;
  font-size: 16px;
  letter-spacing: 0.15em;
  font-weight: 500;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text .item span {
  display: block;
  margin-top: 10px;
  font-weight: 400;
  font-size: 14px;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text li {
  margin-bottom: 10px;
  padding: 6px 0 8px 15.5px;
  background-color: #f0f4f7;
  color: #000000;
  font-size: 16px;
  letter-spacing: 0.03em;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text li span:first-of-type {
  color: #004f83;
  font-size: 18px;
  letter-spacing: 0.03em;
  font-weight: 500;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text li span.kome {
  font-size: 10px;
  vertical-align: top;
}
#solar_315w #cnt_area03 .cnt_g .cnt_box.text li:last-of-type span:first-of-type {
  display: inline-block;
  margin-bottom: 5px;
}
#solar_315w #cnt_area03 > .cnt_img {
  margin: 61px auto 0;
  max-width: 1000px;
  width: 95%;
}

#solar_315w #cnt_area03 .cnt_text ul:first-of-type {
  margin-bottom: 21px;
}
#solar_315w #cnt_area03 .cnt_text ul:last-of-type {
  margin-bottom: 61px;
}
#solar_315w #cnt_area03 .cnt_text ul li {
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.15em;
  line-height: 28px;
}
#solar_315w #cnt_area03 .cnt_text ul:first-of-type li {
  display: inline;
}
#solar_315w #cnt_area03 .cnt_text ul:last-of-type li {
  text-indent: -3em;
  padding-left: 3em;
}

/*----------
08.お問い合わせフォーム
----------*/

#inquiry {
  padding: 0 0 100px;
}

#inquiry #h1_type01 {
  background-image: url(../img/inquiry/contact/mainimg01.jpg);
  background-position: 50% 100%;
  margin-bottom: 0;
  color: #000;
  padding: 217px 0 0;
}

#inquiry #h1_type01 .contents_in {
  background: #fff;
  padding: 33px 0 32px;
}

#inquiry .cnt_area h2 {
  font-weight: 500;
  font-size: 26px;
  letter-spacing: 0.05em;
  line-height: 38px;
  padding: 0 0 22px;
  border-bottom: 1px solid #c6c6c6;
  margin: 0 0 23px;
}

#inquiry #cnt_area01 {
  padding: 93px 0 62px;
}

#inquiry #cnt_area01 .cnt_box {
  border: 1px solid #027dd7;
  padding: 30px 0 54px;
  text-align: center;
  letter-spacing: 0.15em;
  color: #2c2c2c;
}

#inquiry #cnt_area01 .cnt_box p {
  font-weight: 500;
  margin: 0 0 35px;
}

#inquiry #cnt_area01 .cnt_box .tel_number {
  margin: 0 0 15px;
}

#inquiry #cnt_area01 .cnt_box .tel_number img {
  display: inline-block;
  vertical-align: middle;
  max-width: 24px;
  width: 100%;
  margin: 0 10px 0 0;
}

#inquiry #cnt_area01 .cnt_box .tel_number span {
  display: inline-block;
  vertical-align: middle;
  font-weight: 500;
  font-size: 28px;
  letter-spacing: 0.05em;
  line-height: 41px;
  color: #313131;
}

#inquiry #cnt_area02 p {
  line-height: 28px;
  letter-spacing: 0.15em;
  margin: 0 0 47px;
}

#inquiry #cnt_area02 p.error_messe {
  margin: 0 0 16px;
  letter-spacing: 0.05em;
}

#inquiry #cnt_area02 h3 {
  text-align: center;
  font-size: 20px;
  margin: 30px 0 25px;
  letter-spacing: 0.15em;
}

#inquiry #cnt_area02 table {
  width: 100%;
}

#inquiry #cnt_area02 tr {
}

#inquiry #cnt_area02 th {
  width: 241px;
  background: #027dd7;
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0.15em;
  padding: 21px 10px;
  text-align: left;
  border-bottom: 2px solid #fff;
  vertical-align: top;
}

#inquiry #cnt_area02 th .required {
  color: #ff994e;
}

#inquiry #cnt_area02 td {
  vertical-align: middle;
  border-top: 1px solid #c6c6c6;
  border-bottom: 1px solid #c6c6c6;
  padding: 17px 16px 17px 15px;
  font-size: 16px;
  line-height: 22px;
}

#inquiry #cnt_area02 input[type='text'],
#inquiry #cnt_area02 input[type='email'] {
  width: 100%;
  background: #fff;
  border: 1px solid #707070;
  font-weight: 500;
  font-size: 16px;
  padding: 10px;
  height: 34px;
}

#inquiry #cnt_area02 textarea {
  width: 100%;
  background: #fff;
  border: 1px solid #707070;
  font-weight: 500;
  line-height: 20px;
  font-size: 16px;
  padding: 10px;
  height: 166px;
}

#inquiry #cnt_area02 input[type='radio'],
#inquiry #cnt_area02 input[type='checkbox'] {
  display: none;
}
#inquiry #cnt_area02 label {
  position: relative;
  display: inline-block;
  padding: 0 20px 0 18px;
  cursor: pointer;
}
#inquiry #cnt_area02 label.radio::before {
  position: absolute;
  content: '';
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
  border: 1px solid #2c2c2c;
  border-radius: 50%;
}
#inquiry #cnt_area02 input[type='radio']:checked + label::after {
  position: absolute;
  content: '';
  top: 7px;
  left: 3px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #2c2c2c;
}

#inquiry #cnt_area02 label.checkbox {
  padding: 0 20px 0 20px;
}

#inquiry #cnt_area02 label.checkbox::before {
  position: absolute;
  content: '';
  top: 4px;
  left: 0;
  width: 14px;
  height: 14px;
  border: 1px solid #2c2c2c;
}
#inquiry #cnt_area02 input[type='checkbox']:checked + label::after {
  position: absolute;
  content: '';
  top: 7px;
  left: 2px;
  width: 10px;
  height: 6px;
  border-left: 2px solid #555;
  border-bottom: 2px solid #555;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#inquiry #cnt_area02 .privacy_box {
  background: #fff;
  border: 1px solid #707070;
  padding: 72px 20px 8px;
  height: 284px;
  overflow: scroll;
  letter-spacing: 0.15em;
  margin: 0 0 14px;
}

#inquiry #cnt_area02 .privacy_box .title {
  font-weight: 500;
  font-size: 20px;
}

#inquiry #cnt_area02 .privacy_box p {
  line-height: 28px;
  margin: 0 0 30px;
}

#inquiry #cnt_area02 .submit_box {
  margin: 50px auto 0;
  max-width: 220px;
  width: 100%;
  position: relative;
}

#inquiry #cnt_area02 .submit_box input.submit {
  width: 100%;
  display: block;
  background: #fff;
  box-shadow: none;
  color: #027dd7;
  border: 1px solid #027dd7;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#inquiry #cnt_area02 .submit_box::after {
  content: '';
  display: block;
  width: 21px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #027dd7;
}

#inquiry #cnt_area02 .back_box {
  margin: 0 auto;
  max-width: 220px;
  width: 100%;
  position: relative;
}

#inquiry #cnt_area02 .back_box input.back_btn {
  width: 100%;
  display: block;
  background: #fff;
  box-shadow: none;
  color: #7a7a7a;
  border: 1px solid #aaa;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#inquiry #cnt_area02 .back_box::after {
  content: '';
  display: block;
  width: 21px;
  height: 1px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: #aaa;
}

#inquiry #cnt_area02 .submit_g {
  display: flex;
  align-items: start;
  justify-content: center;
  flex-direction: row-reverse;
  margin: 50px auto 0;
}

#inquiry #cnt_area02 .submit_g .submit_box {
  margin: 0 10px;
}

#inquiry #cnt_area02 .submit_g .back_box {
  margin: 0 10px;
}

#inquiry #cnt_area02 .btn_ptn01 {
  margin: 0 auto;
}

#inquiry #cnt_area02 .btn_ptn01 a {
  color: #027dd7;
  border-color: #027dd7;
  font-size: 14px;
  font-weight: 500;
  padding: 18px 0 15px;
}

#inquiry #cnt_area02 .btn_ptn01 a::after {
  background: #027dd7;
}

/*----------
15.プライバシーポリシー
----------*/

#privacy #h1_type02 {
  padding-bottom: 21px;
}

#privacy #cnt_area01 {
  padding: 0 0 82px;
}

#privacy #cnt_area01 .contents_in {
  max-width: 980px;
  background: #fff;
  padding: 75px 69px 26px;
}

#privacy #cnt_area01 .cnt_box {
  margin: 0 auto 34px;
}

#privacy li,
#privacy #cnt_area01 .cnt_box p {
  letter-spacing: 0.15em;
  line-height: 28px;
  position: relative;
  padding: 0 0 0 42px;
}

#privacy #cnt_area01 .cnt_box p::before {
  content: '■';
  display: inline-block;
  margin: 0 28px 0 0;
  position: absolute;
  top: 0;
  left: 0;
}
#privacy h2 {
  margin: 0 0 35px;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
}
#privacy h3 {
  margin: 25px 0 15px;
  font-size: 16px;
  font-weight: 500;
}
#privacy ol {
  margin: 25px 0 15px;
}
