#main .point {
  overflow: hidden;
  color: #fff;
  padding-top: 100px;
  padding-bottom: 100px;
  background: #144a97;
}

#main .point .item {
  position: relative;
  bottom: 40px;
  opacity: 0;
}

#main .point.inview-active .item {
  bottom: 0;
  opacity: 1;
}

#main .point.inview-active .item:nth-child(1) {
  transition: bottom 0.5s 0.2s, opacity 0.5s 0.2s;
}

#main .point.inview-active .item:nth-child(2) {
  transition: bottom 0.5s 0.7s, opacity 0.5s 0.7s;
}

#main .point.inview-active .item:nth-child(3) {
  transition: bottom 0.5s 1.2s, opacity 0.5s 1.2s;
}

#main .point .item .content {
  width: 15em;
  display: table;
  margin: 1em auto 0;
}

@media (max-width:736px) {
  #main .point .item .content {
    width: 90%;
  }
}






#product {
  padding-bottom: 0 !important;
}

#product div.product-item {
  padding: 40px 0 10px;
  color: #fff;
  line-height: 1.4;
  font-weight: 600;
  position: relative;
  z-index: 1;
}

#product div.product-item::after {
  content: '';
  width: 100%;
  height: 100%;
  background-position: left center;
  background-size: auto 100%;
  background-repeat: no-repeat;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}

#product div.product-item-1::after {
  background-image: url(../../_images/index/product-no1-bg.png);
}

#product div.product-item-2::after {
  background-image: url(../../_images/index/product-no2-bg.png);
  background-position: right center;
}

#product div.product-item-3::after {
  background-image: url(../../_images/index/product-no3-bg.png);
}

#product div.product-item div.body {
  max-width: 1120px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
}

@media (min-width:737px) {

  #product {
    padding-top: 80px;
  }

  #product div.product-item {
    padding: 30px 0 50px;
  }

  #product div.product-item::after {
    background-size: 100% 100%;
  }

  #product div.product-item div.body {
    padding-right: 380px;
    display: block;
    position: relative;
    z-index: 1;
  }

  #product div.product-item-2 div.body {
    padding-left: 380px;
    padding-right: 0;
  }

}

#product div.title {
  width: 100%;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

#product div.title div.number {
  width: 100px;
}

#product div.title div.text {
  width: fit-content;
  margin: 0 auto;
  padding-top: 15px;
  padding-left: 10px;
}

#product div.product-item-2 div.title div.text {
  padding-left: 0;
  padding-right: 10px;
  order: -1;
}

#product div.title div.text div.sub {
  width: fit-content;
  margin: 0 auto;
  line-height: 1.4;
  font-size: 1.25em;
  font-weight: 600;
  text-align: center;
  display: block;
}

#product div.title div.text div.main {
  width: fit-content;
  margin: 0 auto;
  line-height: 1.4;
  font-size: 1.75em;
  font-weight: 600;
}

@media (min-width:737px) {

  #product div.title div.number {
    width: auto;
  }

  #product div.title div.text {
    padding-top: 60px;
    padding-left: 20px;
  }

  #product div.product-item-2 div.title div.text {
    padding-right: 20px;
  }

  #product div.title div.text div.sub {
    line-height: 1.2;
    font-size: 1.25em;
    display: block;
  }

  #product div.title div.text div.main {
    line-height: 1.2;
    font-size: 3.5em;
  }

}

#product div.model {
  width: 100%;
  margin-bottom: 10px;
  padding: 5px 10px;
  color: #333;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

#product div.model div.logo {
  width: 96px;
  margin-right: 5px;
  align-self: flex-start;
}

#product div.model div.text {
  font-size: 1.125em;
}

@media (min-width:737px) {

  #product div.model {
    margin-bottom: 20px;
    padding: 3px 15px;
  }

  #product div.model div.logo {
    width: 140px;
    margin-right: 15px;
  }

}

#product div.content {
  width: 100%;
  padding-right: 27%;
  padding-bottom: 27%;
}

#product div.product-item-2 div.content {
  padding-left: 27%;
  padding-right: 0;
}

#product div.content div.work {
  font-size: 0.875em;
}

#product div.content div.work em {
  color: #fff447;
  font-style: normal;
}

#product div.content div.icon {
  margin-top: 10px;
}

@media (min-width:737px) {

  #product div.content {
    padding-right: 0;
    padding-bottom: 0;
  }

  #product div.product-item-2 div.content {
    padding-left: 0;
  }

  #product div.content div.work {
    font-size: 1.125em;
  }

  #product div.content div.icon {
    margin-top: 20px;
    padding-left: 210px;
  }

}

#product div.image {
  width: 100%;
  margin-left: -100%;
  align-self: flex-end;
}

@media (min-width:737px) {

  #product div.image {
    width: auto;
    margin-left: 0;
    position: absolute;
    z-index: 1;
    top: 60px;
    right: 30px;
  }

  #product div.product-item-2 div.image {
    left: 30px;
    right: auto;
  }

}

#product div.price {
  width: 100%;
  display: flex;
  align-items: flex-end;
}

@media screen and ( min-width: 500px ) {
	#product div.price { justify-content: center; }
}

#product div.price div.hukidashi {
  width: 90px;
}

#product div.price div.text {
	z-index: 2;
  padding-left: 15px;
  color: #fff447;
  line-height: 1.2;
  font-size: 1.125em;
  text-shadow:
    1px 1px 0 #000,
    2px 1px 0 #000,
    1px 2px 0 #000,
    2px 2px 0 #000;
}

#product div.price div.text em {
  font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', sans-serif;
  font-size: 2.55em;
  font-style: normal;
  display: block;
  text-shadow:
    1px 1px 0 #000,
    2px 1px 0 #000,
    3px 1px 0 #000,
    4px 1px 0 #000;
}
#product .product-item-1 .price div.text li:nth-of-type(1) em,
#product .product-item-2 .price div.text li:nth-of-type(1) em,
#product .product-item-3 .price div.text li:nth-of-type(1) em {
    position: relative;
    font-size: 2em;
}
#product .product-item-1 .price div.text li:nth-of-type(1) em::after,
#product .product-item-2 .price div.text li:nth-of-type(1) em::after,
#product .product-item-3 .price div.text li:nth-of-type(1) em::after {
    content: "";
    border-top: 5px solid #ff0000;
    left: 0;
    display: block;
    transform: rotate(7deg);
    position: absolute;
    top: 15px;
    width: 70%;
}
#product .product-item-1 .price div.text li:nth-of-type(2) em,
#product .product-item-2 .price div.text li:nth-of-type(2) em,
#product .product-item-3 .price div.text li:nth-of-type(2) em {
    color: #ff0000;
}

#product div.price div.text small {
  margin-left: 0.125em;
  font-size: 0.625em;
  font-style: normal;
}

@media (min-width:737px) {

  #product div.price {
    justify-content: flex-start;
  }
  #product .product-item-1 .price,
  #product .product-item-2 .price,
  #product .product-item-3 .price {
    margin-top: 5rem;  
  }

  #product div.price div.hukidashi {
    width: auto;
    padding-bottom: 20px;
    flex-shrink: 0;
  }
  #product div.price div.text {
    font-size: 1.5em;
  }

  #product div.price div.text em {
    font-size: 2.875em;
    text-shadow:
      1px 2px 0 #000,
      2px 2px 0 #000,
      3px 2px 0 #000,
      4px 2px 0 #000,
      5px 2px 0 #000,
      6px 2px 0 #000,
      6px 2px 0 #000,
      6px 3px 0 #000;
  }
  #product .product-item-1 .price div.text li:nth-of-type(1) em,
  #product .product-item-2 .price div.text li:nth-of-type(1) em,
  #product .product-item-3 .price div.text li:nth-of-type(1) em {
    position: relative;
    font-size: 2em;
  }
  #product .product-item-1 .price div.text li:nth-of-type(1) em::after,
  #product .product-item-2 .price div.text li:nth-of-type(1) em::after,
  #product .product-item-3 .price div.text li:nth-of-type(1) em::after {
    content: "";
    border-top: 7px solid #ff0000;
    left: 0;
    display: block;
    transform: rotate(7deg);
    position: absolute;
    top: 25px;
    width: 70%;      
  }
  #product .product-item-1 .price div.text li:nth-of-type(2) em,
  #product .product-item-2 .price div.text li:nth-of-type(2) em,
  #product .product-item-3 .price div.text li:nth-of-type(2) em {
    color: #ff0000;      
  }

}

#product div.button {
  width: 100%;
  color: #333;
  text-align: center;
  position: relative;
  bottom: -5px;
}

#product div.button a {
  padding: 0.75em 50px 1em 2em;
  text-decoration: none;
  background: url("../../_images/index/product-icon-arrow.png") right 20px center no-repeat;
  background-color: #d8f2d6;
  box-shadow: 7px 6px 0 0 #393939;
  display: inline-block;
}

#product div.product-item-1 div.button a {
  background-color: #ffd9d1;
}

#product div.product-item-2 div.button a {
  background-color: #c9dbf5;
}

#product div.product-item-3 div.button a {
  background-color: #d8f2d6;
}

@media (min-width:737px) {

  #product div.button {
    width: 320px;
    text-align: left;
    position: absolute;
    right: 35px;
    bottom: 10px;
  }

  #product div.product-item-2 div.button {
    left: 35px;
    right: auto;
  }

  #product div.button a {
    width: 100%;
    text-align: center;
    transition: box-shadow 0.15s ease-in-out 0.0s;
  }

  #product div.button a:hover {
    box-shadow: 4px 3px 0 0 #393939;
  }

}






#main .maker {
  padding-top: 80px;
  padding-bottom: 80px;
}

#main .list {
  margin-top: 20px;
}

#main .maker ul {
  text-align: center;
}

#main .maker ul:nth-of-type(1) {
  margin-top: 20px;
}

#main .maker ul li {
  margin: 10px 20px;
  vertical-align: top;
  display: inline-block;
}

#maker div.item-list {
  margin-top: 20px;
  text-align: center;
}

#maker div.item-list a {
  min-width: 18.5em;
  margin: 10px;
  vertical-align: top;
  display: inline-block;
}

#main .contact {
  padding: 100px 0;
  background: url(../../_images/_common/contact-bg.png);
}

#main .contact .title {
  position: relative;
  display: table;
  margin-left: auto;
  margin-right: auto;
}

#main .contact .title .tel-icon {
  position: absolute;
  width: 20%;
  top: 10%;
  right: 0;
}

#main .contact .layout-flex-2 {
  max-width: 730px;
  align-items: center;
  margin: 1.5em auto 0;
}

#main .voice {
  padding-top: 80px;
  padding-bottom: 80px;
}

#main .voice .body {
  max-width: 1140px;
}

#main .voice .list {
  font-size: 0;
}

#main .voice .list .item {
  position: relative;
  top: 40px;
  opacity: 0;
  display: inline-block;
  vertical-align: top;
  font-size: 1.6rem;
  text-decoration: none;
  border: 6px solid #144a97;
  margin-top: 20px;
  transition: top 0.5s, opacity 0.5s, color 0.5s, background 0.5s;

  width: 100%;
}

#main .voice .list .item .photo {
  padding-top: 90%;
  background: #f2f2f2;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

#main .voice .list .item div.point-text {
  width: calc(100% - 10px);
  padding: 7px 0 8px;
  color: #fff;
  line-height: 1.4;
  font-size: 1.375em;
  font-weight: 600;
  text-align: center;
  border-radius: 10px;
  background-color: #ff6c3f;
  position: absolute;
  z-index: 1;
  top: 5px;
  left: 5px;
  display: none;
}

#main .voice .list .item div.point-text.active {
  display: block;
}

#main .voice .list .item div.point-text.active::after {
  content: '';
  border: 8px solid transparent;
  border-top: 16px solid #ff6c3f;
  position: absolute;
  z-index: 1;
  left: calc(50% - 8px);
  top: 100%;
}

#main .voice .list .item.inview-active {
  top: 0;
  opacity: 1;
}

@media (min-width:737px) {
  #main .voice .list .item {
    width: 30.7%;
    margin-left: 3.95%;
  }
  #main .voice .list .item:nth-child(3n+1) {
    margin-left: 0;
  }
}

#main .voice .list .item .title {
  font-size: 2.4rem;
  font-family: NotoSerifCJKjp;
  color: #144a97;
  text-align: center;
  padding: 10px 0;
}

#main .voice .list .item .photo {
  position: relative;
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  border-bottom: 4px solid #ff6c3f;
  margin-top: 0;
}

#main .voice .list .item .content {
  min-height: 180px;
  padding: 10px;
}

@media (max-width:736px) {
  #main .voice .list .item .content {
    min-height: 0;
  }
}

#main .voice .list .item:hover {
  color: #fff;
  background: #144a97;
}

#main .voice .list .item:hover .title {
  color: #fff;
}

#main .flow .body {
  max-width: 1020px;
}

#main .flow {
  padding: 80px 0;
  background: #e9e9eb;
}

#main .flow .title-2 {
  margin-bottom: 0.5em;
}

#main .flow .title-2,
#main .flow .title-2 + p {
  color: #144a97;
}

#main .flow .list .item {
  position: relative;
  top: -40px;
  width: 100%;
  height: 260px;
  display: table;
  background: #fff;
  opacity: 0;
  margin-top: 70px;
}

#main .flow .list .item.inview-active {
  top: 0;
  opacity: 1;
}

#main .flow .list .item.inview-active:nth-child(1) {
  transition: top 0.5s 0.2s, opacity 0.5s 0.2s;
}

#main .flow .list .item.inview-active:nth-child(2) {
  transition: top 0.5s 0.2s, opacity 0.5s 0.2s;
}

#main .flow .list .item.inview-active:nth-child(3) {
  transition: top 0.5s 0.2s, opacity 0.5s 0.2s;
}

#main .flow .list .item > * {
  display: table-cell;
  vertical-align: middle;
}

#main .flow .list .item .left {
  position: relative;
  width: 165px;
  color: #fff;
  padding-right: 20px;
  background: #144a97;
  overflow: hidden;
}

#main .flow .list .item .left:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: -20px;
  bottom: 0;
  width: 40px;
  height: 100%;
  background: #fff;
  transform: skew(6deg);
}

#main .flow .list .item .left .num {
  display: block;
  text-align: center;
  font-size: 100px;
  font-weight: bold;
  font-family: NotoSerifCJKjp;
  line-height: 1;
}

#main .flow .list .item .left .text {
  display: block;
  text-align: center;
  font-size: 2.4rem;
}

#main .flow .list .item .left .sub {
  display: block;
  text-align: center;
  font-size: 1.4rem;
}

#main .flow .list .item .center {
  width: 380px;
  font-size: 2.3rem;
  padding: 20px;
}

#main .flow .list .item .right {
  padding: 20px;
}

#main .flow .list .item .right > * {
  display: block;
  text-align: center;
}

#main .flow .list .item .right .tel {
  padding-bottom: 20px;
}

#main .flow .list .item .right .line {
  padding: 10px;
  border-top: 2px dotted #aaa;
  border-bottom: 2px dotted #aaa;
}

#main .flow .list .item .right .form {
  padding-top: 20px;
}

#main .flow .list .item .right .form a {
  position: relative;
  max-width: 324px;
  width: 100%;
  display: block;
  font-weight: bold;
  text-decoration: none;
  padding-left: 50px;
  padding-right: 10px;
  background: url(../../_images/index/flow-1-btn.png) right center no-repeat;
  margin: 0 auto;
}

#main .flow .list .item .right .form a img {
  position: absolute;
  left: 0;
}

#main .flow .list .item.flow-1 .center {
  background: url(../../_images/index/flow-1-bg.png) center center /cover no-repeat;
}

#main .flow .list .item.flow-2 .center {
  background: url(../../_images/index/flow-2-bg.png) center center /cover no-repeat;
}

#main .flow .list .item.flow-3 .center {
  background: url(../../_images/index/flow-3-bg.png) center center /cover no-repeat;
}

#main .area {
  padding: 100px 0 40px;
}

#main .area .body {
  max-width: 1020px;
}

#main .area .area-wrap {
  max-width: 440px;
  width: 100%;
  position: relative;
  height: 0;
  overflow: hidden;
  background: url(../../_images/index/area.webp) center center /contain no-repeat;
  padding-top: 67.27%;
  margin: 1em auto;
}

@media (min-width:737px) {
  #main .area .area-wrap {
    padding-top: 296px;
  }
}

#main .area p.inview {
  position: relative;
  top: 40px;
  opacity: 0;
  transition: top 0.5s, opacity 0.5s;
}

#main .area p.inview-active {
  top: 0;
  opacity: 1;
}

#main .area .area-wrap img {
  position: absolute;
  top: -40px;
  opacity: 0;
  width: 11.6%;
}

#main .area .area-wrap.inview-active img {
  opacity: 1;
}

#main .area .area-wrap img.ashikaga {
  left: 42%;
  transition: top 0.2s 0.3s, opacity 0.2s 0.3s;
}

#main .area .area-wrap.inview-active img.ashikaga {
  top: 39%;
}

#main .area .area-wrap img.maebashi {
  left: 24%;
  transition: top 0.2s 0.4s, opacity 0.2s 0.4s;
}

#main .area .area-wrap.inview-active img.maebashi {
  top: 34%;
}

#main .area .area-wrap img.mito {
  left: 74%;
  transition: top 0.2s 0.5s, opacity 0.2s 0.5s;
}

#main .area .area-wrap.inview-active img.mito {
  top: 35%;
}

#main .area .area-wrap img.shimotsuma {
  left: 58%;
  transition: top 0.2s 0.6s, opacity 0.2s 0.6s;
}

#main .area .area-wrap.inview-active img.shimotsuma {
  top: 48%;
}

#main .area .area-wrap img.utsunomiya {
  left: 52%;
  transition: top 0.2s 0.7s, opacity 0.2s 0.7s;
}

#main .area .area-wrap.inview-active img.utsunomiya {
  top: 23%;
}

.color-blue {
  color: #144a97;
}

#main .faq {
  padding: 70px 0 30px;
}

@media (max-width:736px) {
  #main .faq {
    padding: 30px 0 0;
  }
}

#main .faq .body {
  max-width: 1020px;
}

#main .faq p.inview {
  position: relative;
  top: 40px;
  opacity: 0;
  transition: top 0.5s, opacity 0.5s;
}

#main .faq p.inview-active {
  top: 0;
  opacity: 1;
}

#main .faq dl {
  position: relative;
  top: 40px;
  opacity: 0;
  transition: top 0.5s, opacity 0.5s;
}

#main .faq dl.inview-active {
  top: 0;
  opacity: 1;
  margin-bottom: 10px;
  border: 5px solid #144a97;
}

#main .faq dl dt {
  position: relative;
  font-size: 1.8rem;
  font-weight: bold;
  color: #144a97;
  padding: 0.4em;
/*  background: url(../../_images/index/faq-bg.png) right center /contain no-repeat; */
  cursor: pointer;
    width: calc(100% - 2em);
}

/*
#main .faq dl dt::after{
  position: absolute;
  top: 50%;
  right: 0;
  content: "\f107";
  font-family: "Font Awesome 5 Free";
  font-size: 2em;
  transform: translateY(-50%);
  color: #144a97;
  margin-right: 1rem;
}
*/
#main .faq dl dt::after{
  position: absolute;
  top: 50%;
  right: 0;
  content: "＋";
  font-size: 2em;
  transform: translateY(-50%);
  color: #144a97;
  margin-right: -1em;
}
/*
#main .faq dl.open dt::after {
    content: "\f106";
}
*/
#main .faq dl.open dt::after {
  content: "－";
}
#main .faq dl dt .num {
  display: inline-block;
  font-size: 3rem;
  line-height: 1;
  color: #ff6c3f;
  margin-right: 0.2em;
}

#main .faq dl dd {
  display: none;
  padding: 1em;
}

#main .support {
  color: #144a97;
  padding: 100px 0;
  position: relative;
  top: 40px;
  opacity: 0;
  transition: top 0.5s, opacity 0.5s;
}

#main .support.inview-active {
  top: 0;
  opacity: 1;
}

#main .creditcard {
  color: #144a97;
  padding-bottom: 100px;
  position: relative;
  top: 40px;
  opacity: 0;
  transition: top 0.5s, opacity 0.5s;
}
/*201911追記*/
#creditcard p.img{
letter-spacing: -.4em;
}
#creditcard p.img .card,
#creditcard p.img .paypay{
display: inline-block;
letter-spacing: normal;
}
#creditcard p.img .card{
width: 74%;
}
#creditcard p.img .paypay{
width: 26%;
}

#main .creditcard.inview-active {
  top: 0;
  opacity: 1;
}

#main .creditcard .body {
  max-width: 1020px;
}

#main .creditcard .large {
  font-size: 1.3em;
}

@media (max-width:736px) {
  #main .point,
  #main .product,
  #main .maker,
  #main .voice,
  #main .contact,
  #main .flow,
  #main .area,
  #main .support {
    padding: 50px 0;
  }
  #main .creditcard {
    padding-bottom: 50px;
  }
  #main .point img {
    width: 48%;
  }
  #main .flow .list .item {
    display: block;
    height: auto;
    margin-top: 40px;
  }
  #main .flow .list .item > * {
    display: block;
    width: 100% !important;
  }
  #main .flow .list .item .left {
    padding-right: 0;
  }
  #main .flow .list .item .left:after {
    content: none;
  }
  #main .flow .list .item .left .num {
    font-size: 5rem;
  }
  #main .faq dl dt {
    background: none;
  }
}

/*201911 paypay&キャッシュレス還元バナー*/
#paypay-bnr-pc{
position: absolute;
z-index: 999;
top: 120px;
left: 20px;
width: 120px;
}
#paypay-bnr-sp{
background: #144a97;
padding: 1em 1em 0;
}
#cashless-bnr-pc{
position: absolute;
z-index: 999;
top: 250px;
left: 20px;
width: 120px;
}
#cashless-bnr-sp{
background: #144a97;
padding: 1em 1em 0;
}

#main div.banner {
  margin-bottom: -20px;
  padding: 40px 0;
}
#main div.banner div.item {
  margin-bottom: 20px;
  text-align: center;
}
@media (max-width:736px) {
#main div.banner {
  margin-bottom: -30px;
  padding: 15px 0;
}
#main div.banner div.item {
  margin-bottom: 15px;
}
}

#subsidy_banner {
 margin: 6rem 0;
}

/* 2023新規追加用 */
#product div.price div.text p small { color: #fff; }
#product .product-item-1 .price div.text li:nth-of-type(1) em::after, #product .product-item-2 .price div.text li:nth-of-type(1) em::after, #product .product-item-3 .price div.text li:nth-of-type(1) em::after { width: 50%; }
#product div.price div.hukidashi { width: 30vw; height: 30vw; padding: 0; }
.product-item .hukidashi p { position: absolute; top: 50%; left: 50%; width: 100%; transform: translate(-50%, -50%); font-size: 5vw; height: 100%; line-height: 1.5; margin-top: 1.7rem; }
.product-item-1 .hukidashi,
.product-item-3 .hukidashi { position: absolute; bottom: 8%; right: 0px; color: #fff; text-align: center; background: #ff6c3f; border-radius: 50%; border: 5px solid #fff; padding: 0; }
.product-item-2 .hukidashi { position: absolute; bottom: 8%; right: 0px; color: #fff; text-align: center; background: #ff6c3f; border-radius: 50%; border: 5px solid #fff; padding: 0; }
@media (min-width:735px) {
	#product div.price div.hukidashi { width: 15rem; height: 15rem; }
	.product-item .hukidashi p { font-size: 2.5rem; height: 100%; line-height: 1.5; margin-top: 2.5rem; }
	.product-item-1 .hukidashi,
	.product-item-3 .hukidashi { bottom: 5%; left: 40%; right: auto; }
	.product-item-2 .hukidashi { bottom: 5%; right: 10%; }
}
/* キャンペーン用　キャンペーンページを使用しない場合はコメントアウト */
aside.campaign_tag { width: 52px; background: #ff6c3f; position: fixed; top: 51px; right: 0; border-top-left-radius: 7px; border-bottom-left-radius: 7px; z-index: 999; }
aside.campaign_tag .menu_tag { writing-mode: vertical-rl; font-weight: bold; line-height: 50px; padding: 1rem 0 2rem; }
aside.campaign_tag .menu_tag a { color: #fff; display: block; text-decoration: none; }
#campaign .ac { text-align: center; }
#campaign h3 { font-size: 2rem; font-weight: bold; }
#campaign p { font-size: 1.6rem; }
#campaign p strong { font-size: 2rem; }
#campaign p span { border-bottom: 3px double #ff4b4b; }
#campaign a { display: block; }
#campaign ul.flb > li:nth-of-type(1) { margin-bottom: 30px; padding-bottom: 30px; border-bottom: 3px dotted #ff6c3f; }
#campaign ul.flb > li .text_area { margin-bottom: 30px; }
@media (min-width:735px) {
	aside.campaign_tag { top: 120px; }
	#campaign { padding-bottom: 100px; }
	#campaign h3 { font-size: 2.6rem; font-weight: bold; }
	#campaign p { font-size: 1.8rem; }
	#campaign p strong { font-size: 2rem; }
	#campaign ul.flb { display: flex; }
	#campaign ul.flb > li { width: 50%; }
	#campaign ul.flb > li:nth-of-type(1) { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
	#campaign .item_box { padding: 0 20px; }
}

/* top_link */ 
#top_link { padding: 0 2rem; }
#top_link .sec_inner { width: 100%; max-width: 1200px; margin: 5rem auto 0; }
#top_link .sec_inner p.ac { font-weight: bold; text-align: center; font-size: 2rem; }
#top_link ul.flb li { text-align: center!important; border-radius: 5px; margin-bottom: 3rem; border: 3px solid; }
#top_link ul.flb li a { text-align: center!important; display: block; color: #fff; font-weight: bold; }
#top_link ul.flb li span { display: block; text-align: center; font-size: 2.4rem; }
#top_link ul.flb li.eco { background: #144a97; border-color: #144a97; }
#top_link ul.flb li.gas { background: #57a433; border-color: #57a433; }
#top_link ul.flb li.oil { background: #f18200; border-color: #f18200; }
@media screen and ( min-width: 769px ) {
	#top_link ul.flb { display: flex; flex-wrap: wrap; }
	#top_link ul.flb li { width: calc( (100% - 6rem) / 3 ); margin-bottom: auto; }	
	#top_link ul.flb li:not(:nth-of-type(3)) { margin-right: 3rem; }
	#top_link ul.flb li:hover { background: none; }
	#top_link ul.flb li a { padding: 1rem; }
	#top_link ul.flb li.eco:hover a { color: #144a97; opacity: 1; }
	#top_link ul.flb li.gas:hover a { color: #57a433; opacity: 1; }
	#top_link ul.flb li.oil:hover a { color: #f18200; opacity: 1; }
	#top_link ul.flb li span { font-size: 4.3vw; }
}
@media screen and ( min-width: 970px ) {
	#top_link ul.flb li span { font-size: 4rem; }
}


/* 20240322 金額欄にテキストを使用するために追加 */
#product .price .view_text em { line-height: 0.8; }
#product div.price div.text .view_text small { font-size: 6.5vw; margin-left: 0; }

@media screen and ( min-width: 480px ) {
	
	#product div.price div.text .view_text small { font-size: 0.725em; }
}