/*eheat_intro
-----------------------------------*/
#eheat2026 #mv + #eheat_intro { margin-top: 0; }

#eheat_intro { color: #fff; background: #000; }
#eheat_intro .eheat_logo { width: 16.68rem; margin: 0 auto 3.07rem; }
#eheat_intro .txt_box .txt { letter-spacing: 0.05em; line-height: 2; margin-top: calc(0px - (((1em*2) - 1em)/2)); }
#eheat_intro .txt_box .txt:last-child { margin-bottom: calc(0px - (((1em*2) - 1em)/2)); }
#eheat_intro .txt_box .txt:not(:last-child) { margin-bottom: calc(2em - (((1em*2) - 1em)/2)); }
#eheat_intro .intro_tit { text-align: center; }
#eheat_intro .eheat_intro_img { position: relative; z-index: 0; }
@media print, screen and (min-width: 768px) { #eheat_intro { position: relative; }
  #eheat_intro .txt_area { position: absolute; top: 50%; z-index: 1; translate: 0 -50%; right: 10.36rem; width: 42.86rem; }
  #eheat_intro .intro_tit { font-size: 3rem; font-weight: bold; letter-spacing: 0.05em; line-height: 1.5; margin-top: calc(0px - (((1em*1.5) - 1em)/2)); margin-bottom: calc(3.57rem - (((1em*1.5) - 1em)/2)); }
  #eheat_intro .txt_box { width: 34.71rem; margin: auto; }
  #eheat_intro .txt_box .txt { letter-spacing: 0.05em; line-height: 2; margin-top: calc(0px - (((1em*2) - 1em)/2)); }
  #eheat_intro .txt_box .txt:last-child { margin-bottom: calc(0px - (((1em*2) - 1em)/2)); }
  #eheat_intro .txt_box .txt:not(:last-child) { margin-bottom: calc(2em - (((1em*2) - 1em)/2)); } }
@media only screen and (max-width: 767px) { #eheat_intro { background: #000; padding: 23.36vw 0 0; }
  #eheat_intro .txt_area { width: 88.3177570093vw; margin: 0 auto 9.35vw; }
  #eheat_intro .intro_tit { font-size: 2rem; font-weight: bold; letter-spacing: 0.05em; line-height: 1.5; margin-top: calc(0px - (((1em*1.5) - 1em)/2)); margin-bottom: calc(9.35vw - (((1em*1.5) - 1em)/2)); } }

/*history
-----------------------------------*/
#history { background: #000000; color: #fff; }
#history .aco_btn { all: unset; display: block; margin: auto; cursor: pointer; position: relative; }
#history .aco_btn::after { background-color: #fff; width: 2.86rem; aspect-ratio: 1/1; content: ""; display: block; background-size: 1.79rem auto; background-image: url("../img/aco_plus.svg"); background-repeat: no-repeat; background-position: center; transition: all 0.8s ease-out 0s; }
#history .aco_btn.open::after { background-image: url("../img/aco_minas.svg"); }
@media (hover: hover) and (pointer: fine) { #history .aco_btn::after { border: 1px solid #fff; }
  #history .aco_btn:hover::after { background-color: #000; background-image: url("../img/aco_plus_wh.svg"); }
  #history .aco_btn:hover.open::after { background-image: url("../img/aco_minas_wh.svg"); } }
#history .aco_cont { display: none; }
#history .history_tit { text-align: center; }
#history .history_txt { letter-spacing: 0.05em; line-height: 2; margin-top: calc(0px - (((1em*2) - 1em)/2)); margin-bottom: calc(3.57rem - (((1em*2) - 1em)/2)); }
#history .history_list { position: relative; }
#history .history_list::after { content: ""; display: block; height: 100%; background: #fff; top: 0; }
#history .history_list dl { position: relative; display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-align-items: center; align-items: center; }
#history .history_list dl::after { content: ""; display: block; aspect-ratio: 1/1; border-radius: 50%; background: #fff; }
#history .history_list dl:not(:last-of-type) { margin-bottom: 4.64rem; }
#history .history_list dl:not(:last-of-type) dd { position: relative; }
#history .history_list dl:not(:last-of-type) dd::after { content: ""; display: block; background: #fff; position: absolute; top: 50%; z-index: 0; translate: 0 -50%; }
#history .history_list dd .txt { letter-spacing: 0.05em; line-height: 1.5; margin-top: calc(0px - (((1em*1.5) - 1em)/2)); margin-bottom: calc(0px - (((1em*1.5) - 1em)/2)); }
@media print, screen and (min-width: 768px) { #history { padding: 9.64rem 0 25.39rem; }
  #history .aco_btn::after { position: absolute; top: 50%; z-index: 0; translate: 0 -50%; left: 100%; margin-left: 2.86rem; }
  #history .history_tit { font-size: 3rem; font-weight: bold; letter-spacing: 0.05em; line-height: 1.5; margin-top: calc(0px - (((1em*1.5) - 1em)/2)); margin-bottom: calc(3.57rem - (((1em*1.5) - 1em)/2)); }
  #history .history_txt { text-align: center; }
  #history .history_list { padding-bottom: 6.14rem; }
  #history .history_list::after { width: 0.79rem; position: absolute; left: 50%; z-index: 0; translate: -50% 0; }
  #history .history_list dl { justify-content: center; }
  #history .history_list dl::after { width: 2.07rem; }
  #history .history_list dl:last-of-type { display: block; font-size: 3.29rem; font-weight: bold; letter-spacing: 0.05em; line-height: 1.3; margin-top: calc(0px - (((1em*1.3) - 1em)/2)); margin-bottom: calc(0px - (((1em*1.3) - 1em)/2)); position: absolute; left: 50%; z-index: 0; translate: -50% 0; top: 100%; padding-top: 4rem; }
  #history .history_list dl:last-of-type > * { width: 100%; text-align: center; }
  #history .history_list dl:last-of-type::after { position: absolute; left: 50%; z-index: 0; translate: -50% 0; top: 0; }
  #history .history_list dl:not(:last-of-type) { margin-bottom: 4.64rem; }
  #history .history_list dl:not(:last-of-type) > * { width: 50%; }
  #history .history_list dl:not(:last-of-type)::after { position: absolute; top: 50%; left: 50%; z-index: 0; translate: -50% -50%; }
  #history .history_list dl:not(:last-of-type):nth-of-type(odd) dt { order: 1; padding-left: 2.36rem; }
  #history .history_list dl:not(:last-of-type):nth-of-type(odd) dd { padding-right: 12.14rem; text-align: right; }
  #history .history_list dl:not(:last-of-type):nth-of-type(odd) dd::after { right: 0; }
  #history .history_list dl:not(:last-of-type):nth-of-type(even) dt { text-align: right; padding-right: 2.36rem; }
  #history .history_list dl:not(:last-of-type):nth-of-type(even) dd { padding-left: 12.14rem; }
  #history .history_list dl:not(:last-of-type):nth-of-type(even) dd::after { left: 0; }
  #history .history_list dl:not(:last-of-type) dt { font-size: 1.57rem; font-weight: 600; letter-spacing: 0.05em; }
  #history .history_list dl:not(:last-of-type) dd::after { width: 11.43rem; height: 0.29rem; }
  #history .history_list dl:not(:last-of-type) .tit { font-size: 1.86rem; font-weight: 600; letter-spacing: 0.05em; white-space: nowrap; margin-bottom: 0.71rem; }
  #history .history_list dd .txt { letter-spacing: 0.05em; line-height: 2; margin-top: calc(0px - (((1em*2) - 1em)/2)); margin-bottom: calc(0px - (((1em*2) - 1em)/2)); } }
@media only screen and (max-width: 767px) { #history { padding: 35.05vw 0; }
  #history .inner { width: 88.3177570093vw; margin: auto; }
  #history .aco_btn::after { position: absolute; right: 5.84vw; bottom: 17.52vw; }
  #history .history_tit { font-size: 2.29rem; font-weight: bold; letter-spacing: 0.05em; line-height: 1.5; margin-top: calc(0px - (((1em*1.5) - 1em)/2)); margin-bottom: calc(3.57rem - (((1em*1.5) - 1em)/2)); }
  #history .history_txt { padding-right: 21.03vw; }
  #history .history_list { padding-bottom: 7.01vw; }
  #history .history_list::after { width: 0.7vw; position: absolute; right: 23.01vw; }
  #history .history_list dl { justify-content: flex-end; }
  #history .history_list dl::after { width: 4.67vw; }
  #history .history_list dl::after { position: absolute; top: 50%; z-index: 0; translate: 0 -50%; right: 23.36vw; margin-right: -2.34vw; }
  #history .history_list dl dt { order: 1; font-size: 1.57rem; font-weight: 600; letter-spacing: 0.05em; padding-left: 4.67vw; white-space: nowrap; }
  #history .history_list dl dd { text-align: right; padding-right: 14.02vw; position: relative; }
  #history .history_list dl dd::after { right: 4.67vw; width: 7.01vw; height: 0.47vw; content: ""; display: block; background: #fff; position: absolute; top: 50%; z-index: 0; translate: 0 -50%; }
  #history .history_list dl .tit { font-size: 1.29rem; font-weight: 600; letter-spacing: 0.05em; }
  #history .history_list dl .tit:not(:last-child) { margin-bottom: 3.5vw; }
  #history .history_list dl:last-of-type { position: absolute; top: 100%; width: 100%; translate: 0 -50%; }
  #history .history_list dl:last-of-type .tit { font-size: 2rem; text-align: center; line-height: 1.5; } }

.bg01_wrap { color: #fff; width: 100%; background: #D60000; background: linear-gradient(298deg, #e60000 0%, #140000 50%, #e60000 100%); }
@media print, screen and (min-width: 768px) { .bg01_wrap { padding: 10.71rem 0 14.29rem; }
  .bg01_wrap section:not(:last-child) { margin-bottom: 19.29rem; } }
@media only screen and (max-width: 767px) { .bg01_wrap { padding: 23.36vw 0; }
  .bg01_wrap section:not(:last-child) { margin-bottom: 28.04vw; }
  .bg01_wrap .tit_area .coord_tit { line-height: 1.5; } }

/*use
-----------------*/
#use { background: #2b2b2b; color: #fff; }
#use .duration { width: 100%; font-weight: bold; text-align: center; vertical-align: middle; margin-bottom: 1.43rem; }
#use .duration th, #use .duration td { text-align: center; padding: 1em 0; border: 1px solid #111; }
#use .duration th { background-color: #2d2e33; }
#use .duration thead td:nth-child(2) { background-color: #ab000d; }
#use .duration thead td:nth-child(3) { background-color: #e4862a; }
#use .duration thead td:nth-child(4) { background-color: #00803c; }
#use .duration tbody td { color: #231815; background-color: #fff; }
#use .use_img_area { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(2, 1fr); }
#use .use_img_area .use_img { position: relative; }
#use .use_img_area .use_img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; font-family: "object-fit:cover; object-position:50% 50%; "; }
#use .use_img_area .use_img figcaption { position: absolute; top: 0.71rem; right: 0.71rem; font-size: 0.71rem; width: 5.86rem; aspect-ratio: 82/25; border-radius: 100vh; display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: center; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; color: #fff; }
#use .use_img_area .off figcaption { background-color: #2d2e33; }
#use .use_img_area .high figcaption { background-color: #ab000d; }
#use .use_img_area .nor figcaption { background-color: #e4862a; }
#use .use_img_area .eco figcaption { background-color: #00803c; }
@media print, screen and (min-width: 768px) { #use { padding: 10.71rem 0 14.29rem; }
  #use .use_cont { display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-justify-content: space-between; justify-content: space-between; -webkit-align-items: center; align-items: center; }
  #use .txt_area { width: 45.98%; margin-left: 2.86rem; }
  #use .txt_area .tit { padding-left: 5rem; font-size: 1.79rem; font-weight: 600; letter-spacing: 0.05em; margin-bottom: 3.21rem; }
  #use .txt_area .txt { padding-left: 5rem; }
  #use .txt_area .duration { margin-top: 2.14rem; }
  #use .txt_area .note { font-size: 0.86rem; }
  #use .use_img_area { margin-right: 7.14rem; width: 36.06%; } }
@media only screen and (max-width: 767px) { #use { padding: 23.36vw 0; }
  #use .txt_area { width: 88.3177570093vw; margin: 0 auto 9.35vw; }
  #use .txt_area .tit { text-align: center; font-size: 1.57rem; font-weight: 600; letter-spacing: 0.05em; line-height: 1.5; margin-bottom: 7.01vw; }
  #use .txt_area .duration { margin-top: 7.01vw; }
  #use .txt_area .note { font-size: 0.86rem; } }

.bg02_wrap { background: #2b2b2b; color: #fff; }
@media print, screen and (min-width: 768px) { .bg02_wrap { padding: 6.79rem 0 12.86rem; }
  .bg02_wrap section:not(:last-child) { margin-bottom: 12.14rem; } }
@media only screen and (max-width: 767px) { .bg02_wrap { padding: 23.36vw 0; }
  .bg02_wrap section:not(:last-child) { margin-bottom: 18.69vw; }
  .bg02_wrap .tit_area .coord_tit { line-height: 1.5; } }

@keyframes LoopSlideLeft { 0% { transform: translate(0, 0); }
  100% { transform: translate(-400%, 0); } }
#gallery .loop_wrap { display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; }
#gallery .gallery_img { animation: LoopSlideLeft 25s linear 0s infinite normal forwards; aspect-ratio: 1/1; }
#gallery .gallery_img img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; font-family: "object-fit:cover; object-position:50% 50%; "; }
@media print, screen and (min-width: 768px) { #gallery .gallery_img { width: 22.1428571429vw; min-width: 22.1428571429vw; } }
@media only screen and (max-width: 767px) { #gallery .gallery_img { width: 72.4299065421vw; min-width: 72.4299065421vw; } }

#prpduct { padding: 6.79rem 0 12.86rem; }
#prpduct .product_area.pt01 .product_img a { padding: 0; }
#prpduct .product_area.pt01 .product_img a img { mix-blend-mode: unset; }

#faq { padding: 0 0 12.86rem; }
