.topBnr {
  padding: 12px 0;
  text-align: center;
}
.topBnr.-alldenka {
  padding-top: 10px;
  padding-bottom: 20px;
}
.topBnr img{
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  overflow: hidden;
}
.topBnr_heading {
  margin-bottom: 10px;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
}
.topBnr .textNotes {
  margin-top: 10px;
}
@media (min-width: 980px) {
  .topBnr {
    padding-left: 84px;
    padding-right: 84px;
  }
  .topBnr.-alldenka {
    padding-top: 20px;
    padding-bottom: 30px;
  }
  .topBnr_heading {
    font-size: 1.6rem;
  }
}

footer#cmn_foot {
  padding-bottom: 90px;
}
@media (min-width: 980px) {
  footer#cmn_foot {
    padding-bottom: 120px;
  }
}

.m-cv {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 90px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10%);
  transition: all 0.3s ease;
}
@media (min-width: 980px) {
  .m-cv {
    height: 120px;
  }
}
.m-cv.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.m-cv * {
  box-sizing: border-box;
}
.m-cv__inner {
  height: 100%;
  padding: 12px 20px 12px;
  background: rgba(255, 250, 234, 0.8);
  text-align: center;
}
@media (min-width: 980px) {
  .m-cv__inner {
    padding-top: 15px;
    padding-bottom: 18px;
  }
}
.m-cv__btn {
  display: inline-block;
  width: 290px;
  padding: 10px 20px 12px;
  border: 1px solid #FF7E23;
  border-radius: 60px;
  background: #ff700b;
  line-height: 1.222;
  font-size: 16px;
  font-weight: 700;
  box-shadow: 0px 5px 0px #cc5e10;
  color: #fff !important;
}
@media (min-width: 980px) {
  .m-cv__btn {
    width: 390px;
    padding-top: 14px;
    padding-bottom: 16px;
    font-size: 20px;
    transition: all 0.1s ease;
  }
  .m-cv__btn:hover {
    transform: translateY(3px);
    box-shadow: none;
  }
}
.m-cv__text {
  margin-bottom: 5px;
  color: #d92323;
  font-size: 11px;
}
@media (min-width: 980px) {
  .m-cv__text {
    margin-bottom: 10px;
    font-size: 13px;
  }
}

.bgColored {
  background: #ffe971;
}

.topHeading {
  margin-bottom: 20px;
  text-align: center;
  line-height: 1.3181818182;
  font-size: 2.2rem;
  font-weight: 700;
  color: #eb5402;
}
@media screen and (min-width: 769px) {
  .topHeading {
    margin-bottom: 24px;
    line-height: 1.4230769231;
    font-size: 2.6rem;
  }
}
.topHeading.-icon {
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .topHeading.-icon {
    margin-bottom: 50px;
  }
}
.topHeading_icon {
  display: block;
  text-align: center;
  margin-bottom: 13px;
}

.topLead {
  margin-bottom: 31px;
  text-align: center;
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) {
  .topLead {
    margin-bottom: 38px;
    font-size: 1.4rem;
  }
}

.topSection {
  padding: 45px 0;
}
@media screen and (min-width: 769px) {
  .topSection {
    padding: 60px 0;
  }
}

.areaChange {
  margin-top: 20px;
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .areaChange {
    font-size: 1.4rem;
  }
}

/*=================================
+-----+// topBox
===================================*/
.topBox {
  padding-top: 40px;
}
@media screen and (min-width: 769px) {
  .topBox {
    padding: 75px;
  }
  .topBox.-flow {
    padding-top: 65px;
    padding-bottom: 60px;
  }
}
.topBox + .topBox {
  margin-top: 32px;
}
@media screen and (min-width: 769px) {
  .topBox + .topBox {
    margin-top: 45px;
  }
}
.topBox + .notesList {
  margin-top: 17px;
}
@media screen and (min-width: 769px) {
  .topBox + .notesList {
    margin-top: 24px;
  }
}
.topBox_shoulder, .topBox_title {
  text-align: center;
}
.topBox_shoulder {
  line-height: 1.4285714286;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .topBox_shoulder {
    font-size: 1.7rem;
  }
}
.topBox_title {
  margin-bottom: 30px;
  line-height: 1.4444444444;
  font-size: 1.8rem;
  font-weight: 700;
  color: #eb5402;
}
@media screen and (min-width: 769px) {
  .topBox_title {
    font-size: 2.2rem;
  }
}
.topBox_row {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 30px;
}
@media screen and (min-width: 769px) {
  .topBox_row {
    align-items: center;
    grid-template-columns: 1fr 324px;
    row-gap: 0;
    -moz-column-gap: 50px;
         column-gap: 50px;
  }
  .topBox_row:not(:last-child) {
    margin-bottom: 36px;
  }
}
.topBox_col.-text {
  line-height: 1.8333333333;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.03em;
}
@media screen and (min-width: 769px) {
  .topBox_col.-text {
    line-height: 1.8571428571;
    font-size: 1.4rem;
  }
  .topBox_col.-text .topBox_shoulder,
  .topBox_col.-text .topBox_title {
    text-align: left;
  }
}
.topBox_col.-text .notesList {
  margin-top: 14px;
}
@media screen and (min-width: 769px) {
  .topBox_col.-text .notesList {
    margin-top: 30px;
  }
}
.topBox_col.-text p {
  font-weight: inherit;
}

.captionBox {
  border-radius: 10px;
  overflow: hidden;
}
.captionBox:not(:last-child) {
  margin-bottom: 20px;
}
.captionBox_img img {
  display: block;
  width: 100%;
  height: auto;
}
.captionBox_caption {
  padding: 10px 12px 12px;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  background: #ffe971;
}
.captionBox_caption.-light {
  background: #fff2e3;
}
.captionBox_caption .textNotes {
  text-align: left;
}
.captionBox_content {
  padding: 16px 16px 0;
  background: #fff;
}
@media screen and (min-width: 769px) {
  .captionBox_content {
    display: grid;
    grid-template-columns: 360px 1fr;
    grid-template-areas: "shoulder img" "title img";
    min-height: 175px;
    padding: 0 75px;
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}
.captionBox_shoulder {
  margin-bottom: 3px;
  line-height: 1.5454545455;
  font-size: 1.1rem;
  font-weight: 700;
  color: #eb5402;
}
@media screen and (min-width: 769px) {
  .captionBox_shoulder {
    grid-area: shoulder;
    align-self: end;
    font-size: 1.7rem;
  }
}
.captionBox_title {
  line-height: 1.5;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .captionBox_title {
    grid-area: title;
    align-self: start;
    line-height: 1.3636363636;
    font-size: 2.2rem;
  }
}
.captionBox_flowImg {
  display: block;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .captionBox_flowImg {
    grid-area: img;
  }
}
.-flow01 .captionBox_flowImg {
  padding: 22px 0 19px;
}
@media screen and (min-width: 769px) {
  .-flow01 .captionBox_flowImg {
    padding: 0;
    align-self: center;
  }
}
.-flow01 .captionBox_flowImg img {
  width: 70vw;
}
@media screen and (min-width: 769px) {
  .-flow01 .captionBox_flowImg img {
    width: 321px;
  }
}
.-flow02 .captionBox_flowImg {
  padding-left: 5px;
}
@media screen and (min-width: 769px) {
  .-flow02 .captionBox_flowImg {
    align-self: end;
    padding: 0;
  }
}
.-flow02 .captionBox_flowImg img {
  width: 63.3333333333vw;
}
@media screen and (min-width: 769px) {
  .-flow02 .captionBox_flowImg img {
    width: 322px;
  }
}
.-flow03 .captionBox_flowImg {
  padding-top: 16px;
  padding-right: 2px;
}
@media screen and (min-width: 769px) {
  .-flow03 .captionBox_flowImg {
    align-self: end;
    padding: 0;
  }
}
.-flow03 .captionBox_flowImg img {
  width: 60.7692307692vw;
}
@media screen and (min-width: 769px) {
  .-flow03 .captionBox_flowImg img {
    width: 302px;
  }
}
.-flow04 .captionBox_flowImg {
  padding: 21px 0 18px 4px;
}
@media screen and (min-width: 769px) {
  .-flow04 .captionBox_flowImg {
    align-self: center;
    padding: 0;
  }
}
.-flow04 .captionBox_flowImg img {
  width: 72.3076923077vw;
}
@media screen and (min-width: 769px) {
  .-flow04 .captionBox_flowImg img {
    width: 318px;
  }
}
.captionBox_flowImg img {
  height: auto;
}

.expandBox {
  margin: 10px 0;
  border-radius: 10px;
  background: #fff;
  letter-spacing: 0.03em;
}
.expandBox_header {
  position: relative;
  padding: 10px 3.5897435897vw;
  line-height: 1.6666666667;
  font-size: 1.2rem;
  font-weight: 500;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .expandBox_header {
    padding-right: 14px;
    padding-left: 14px;
  }
}
.expandBox_header::before {
  display: block;
  position: absolute;
  top: 50%;
  right: 3.0769230769vw;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 10px 10px;
  content: "";
}
@media screen and (min-width: 769px) {
  .expandBox_header::before {
    right: 12px;
  }
}
.expandBox_header[aria-expanded=false]::before {
  background-image: url(/denki/assets/img/top/icon_accordion_plus.svg);
}
.expandBox_header[aria-expanded=true]::before {
  background-image: url(/denki/assets/img/top/icon_accordion_minus.svg);
}
.expandBox_body {
  position: relative;
  padding: 20px 3.5897435897vw;
  font-size: 1.2rem;
  font-weight: 500;
  color: #6f6f6f;
}
.expandBox_body[aria-hidden=true] {
  display: none;
}
@media screen and (min-width: 769px) {
  .expandBox_body {
    padding-right: 14px;
    padding-left: 14px;
  }
}
.expandBox_body ul {
  margin-top: 10px;
}
.expandBox_body::before {
  position: absolute;
  top: 0;
  display: block;
  width: calc(100% - 7.1794871795vw);
  height: 1px;
  background: rgba(0, 0, 0, 0.13);
  content: "";
}
@media screen and (min-width: 769px) {
  .expandBox_body::before {
    width: calc(100% - 28px);
  }
}
.expandBox_heading {
  margin-bottom: 10px;
  font-size: 1.3rem;
  font-weight: 700;
  color: #eb5402;
}
.expandBox_heading:not(:first-child) {
  margin-top: 25px;
}
.expandBox_heading02 {
  margin-top: 10px;
  margin-bottom: 5px;
  font-size: 1.2rem;
  font-weight: 700;
  color: #333;
}

/*=================================
+-----+// notificationArea
===================================*/
.notificationArea {
  background: #ffe5e5;
}

.notification {
  position: relative;
  display: block;
  padding: 12px 4.1025641026vw;
  color: #d92323;
  font-size: 1.4rem;
  font-weight: 500;
  transition: opacity 0.3s ease;
}
@media screen and (min-width: 769px) {
  .notification {
    display: flex;
    justify-content: center;
    padding-right: 16px;
    padding-right: 16px;
  }
}
.notification:hover {
  color: #d92323;
  text-decoration: none;
}
.notification::before {
  display: block;
  position: absolute;
  top: 50%;
  right: 3.0769230769vw;
  width: 12px;
  height: 9px;
  margin-top: -5px;
  background-image: url(/denki/assets/img/common/icon_arrow_next_alert.svg);
  background-size: 12px 9px;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
}
@media screen and (min-width: 769px) {
  .notification::before {
    right: 12px;
  }
}
.notification:hover {
  text-decoration: none;
}
@media (min-width: 768px) {
  .notification:hover {
    opacity: 0.6;
    text-decoration: none;
  }
}
.notificationInner {
  display: block;
  position: relative;
  padding-left: 30px;
}
.notificationInner::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 21px;
  margin-top: -10px;
  background-image: url(/denki/assets/img/common/icon_notification.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 18px 21px;
  content: "";
}

/*=================================
+-----+// mvArea
===================================*/
.mvArea {
  position: relative;
  padding-top: 22px;
  background: url(/denki/assets/img/top/bg_mv_sp.svg) no-repeat center bottom;
  background-size: 100% auto;
}
@media screen and (min-width: 769px) {
  .mvArea {
    padding-top: 46px;
    background-image: url(/denki/assets/img/top/bg_mv.svg);
  }
  .mvArea .pageHeader_area {
    margin-bottom: 30px;
  }
  .mvArea::before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 1000px;
    height: 100%;
    margin-left: -500px;
    background-image: url(/denki/assets/img/top/bg_mv02.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100% auto;
  }
}
.mvArea_title {
  line-height: 1.4444444444;
  font-size: 1.8rem;
}
@media screen and (min-width: 769px) {
  .mvArea_title {
    margin-bottom: 24px;
    line-height: 1.5357142857;
    font-size: 2.8rem;
  }
  .mvArea_title > span:first-of-type {
    margin-right: -0.5em;
  }
}

.mvImg {
  padding-left: 2.0512820513vw;
  text-align: center;
}
.mvImg img {
  width: 49.4871794872vw;
  height: auto;
}
@media screen and (min-width: 769px) {
  .mvImg {
    padding-left: 8px;
    padding-bottom: 7px;
  }
  .mvImg img {
    width: 15.0073206442vw;
    min-width: 205px;
  }
}

/*=================================
+-----+// topIntro
===================================*/
.topIntro {
  padding-top: 2px;
  padding-bottom: 43px;
  margin-bottom: 40px;
}
@media screen and (min-width: 769px) {
  .topIntro {
    padding-bottom: 60px;
  }
}

/*=================================
+-----+// topNav
===================================*/
.topNav {
  margin-bottom: 12px;
}
@media screen and (min-width: 769px) {
  .topNav {
    margin-bottom: 46px;
  }
}
.topNav_list {
  display: grid;
  -moz-column-gap: 3.5897435897vw;
       column-gap: 3.5897435897vw;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width: 769px) {
  .topNav_list {
    -moz-column-gap: 32px;
         column-gap: 32px;
    padding-left: 84px;
    padding-right: 84px;
  }
}
.topNav_item {
  flex: 1;
}

.topNavBtn {
  display: block;
  position: relative;
  margin-top: 27px;
  padding: 40px 5px 28px;
  border: 1px solid #eaeaea;
  border-radius: 9px;
  background: #fff;
  letter-spacing: 0.03em;
}
.topNavBtn::before {
  display: block;
  position: absolute;
  bottom: 10px;
  left: 50%;
  width: 13px;
  height: 8px;
  transform: translateX(-50%);
  background-image: url(/denki/assets/img/common/icon_arrow_down.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 13px 8px;
  content: "";
}
.topNavBtn_icon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.topNavBtn_inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .topNavBtn_inner {
    flex-direction: row;
    align-items: baseline;
    font-size: 1.4rem;
  }
}
.topNavBtn_inner b {
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .topNavBtn_inner b {
    margin-left: 6px;
    font-size: 2.2rem;
  }
}

/*=================================
+-----+// aboutBox
===================================*/
.aboutBox {
  margin-bottom: 45px;
  padding: 28px 5.1282051282vw 25px;
  border-radius: 9px;
  background: #fff;
}
@media screen and (min-width: 769px) {
  .aboutBox {
    display: grid;
    align-items: center;
    grid-template-areas: "img title" "img text";
    grid-template-columns: 246px 1fr;
    padding: 60px 70px 72px;
    margin-bottom: 70px;
    -moz-column-gap: 48px;
         column-gap: 48px;
  }
}
.aboutBox_title {
  grid-area: title;
  margin-bottom: 36px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .aboutBox_title {
    align-self: end;
    margin-bottom: 25px;
    text-align: left;
    font-size: 2.6rem;
  }
}
.aboutBox_text {
  grid-area: text;
  line-height: 1.5714285714;
  font-size: 1.4rem;
  font-weight: 500;
}
.aboutBox_text p {
  font-weight: inherit;
}
.aboutBox_text p + p,
.aboutBox_text .textNotes {
  margin-top: 1.5714285714em;
}
.aboutBox_text .textNotes {
  margin-top: 10px;
}
@media screen and (min-width: 769px) {
  .aboutBox_text {
    align-self: start;
    font-size: 1.6rem;
  }
}
.aboutBox_img {
  grid-area: img;
  text-align: center;
  margin-bottom: 44px;
}
@media screen and (min-width: 769px) {
  .aboutBox_img {
    margin-bottom: 0;
  }
}
.aboutBox_img img {
  width: 17.9487179487vw;
  min-width: 70px;
  height: auto;
}
@media screen and (min-width: 769px) {
  .aboutBox_img img {
    width: 146px;
  }
}

/*=================================
+-----+// secPlan
===================================*/
@media screen and (min-width: 769px) {
  .secPlan_content {
    display: grid;
    grid-template-columns: repeat(auto-fit, calc(50% - 8px));
    -moz-column-gap: 16px;
         column-gap: 16px;
    justify-content: center;
  }
}
.secPlan_link {
  display: flex;
  flex-direction: column;
  margin-top: 18px;
  font-size: 1.2rem;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .secPlan_link {
    margin-top: 30px;
    font-size: 1.4rem;
  }
}

.planBox {
  border: 2px solid transparent;
  border-radius: 14px;
}
.planBox[aria-hidden=false] {
  border-color: #eb5402;
}
@media screen and (min-width: 769px) {
  .planBox {
    border: none;
  }
}
.planBox_shoulder {
  text-align: center;
  margin-bottom: 5px;
  line-height: 1.4615384615;
  font-size: 1.3rem;
  font-weight: 700;
  color: #eb5402;
}
.planBox_title {
  margin-bottom: 16px;
  text-align: center;
  font-size: 2.2rem;
  font-weight: 700;
}
.planBox_inner {
  padding: 6px 4.6153846154vw 0;
  border-radius: 14px 14px 0 0;
  background: #fff;
}
@media screen and (min-width: 769px) {
  .planBox_inner {
    padding: 30px 60px 17px;
  }
}
.planBox_bottom {
  padding: 18px 4.6153846154vw 22px;
  border-radius: 0 0 14px 14px;
  background: #fdf3e2;
}
@media screen and (min-width: 769px) {
  .planBox_bottom {
    padding: 18px 37px 23px;
  }
}
.planBox_summary {
  font-size: 1.3rem;
}
@media screen and (min-width: 769px) {
  .planBox_summary {
    font-size: 1.5rem;
  }
}
.planBox_summary > li {
  position: relative;
  padding: 14px 0 14px 31px;
  font-weight: 500;
}
.planBox_summary > li::before, .planBox_summary > li::after {
  display: block;
  position: absolute;
  content: "";
}
.planBox_summary > li::before {
  top: 50%;
  left: 0;
  width: 22px;
  height: 22px;
  margin-top: -11px;
  background-image: url(/denki/assets/img/top/icon_check_orange.svg);
  background-size: 22px 22px;
  background-repeat: no-repeat;
  background-position: center center;
}
.planBox_summary > li:not(:last-child)::after {
  bottom: 0;
  width: calc(100% - 31px);
  height: 0;
  border-top: 1px dashed rgba(0, 0, 0, 0.07);
}
.planBox_bottom {
  display: grid;
  grid-template-columns: 1.3fr 1.94fr;
  -moz-column-gap: 10.2564102564vw;
       column-gap: 10.2564102564vw;
}
@media screen and (min-width: 769px) {
  .planBox_bottom {
    -moz-column-gap: 80px;
         column-gap: 80px;
  }
}
.planBox_data:last-child {
  position: relative;
}
.planBox_data:last-child::before {
  display: block;
  position: absolute;
  left: -5.1282051282vw;
  width: 0;
  height: 100%;
  border-left: 1px dashed rgba(0, 0, 0, 0.13);
  content: "";
}
@media screen and (min-width: 769px) {
  .planBox_data:last-child::before {
    left: -33px;
  }
}
.planBox_dataHeading {
  margin-bottom: 7px;
  text-align: center;
  font-size: 1.1rem;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .planBox_dataHeading {
    margin-bottom: 10px;
    font-size: 1.3rem;
  }
}
.planBox_data > dd {
  display: flex;
  justify-content: center;
}
.planBox_ampare {
  flex: 1;
  padding: 16px 10px;
  border-radius: 10px;
  background: #fff;
  text-align: center;
  color: #eb5402;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .planBox_ampare {
    font-size: 1.8rem;
  }
}
.planBox_method {
  text-align: center;
  padding: 0 2.5641025641vw;
  font-size: 1rem;
}
@media screen and (min-width: 769px) {
  .planBox_method {
    padding: 0 11px;
    font-size: 1.2rem;
  }
}
.planBox_method > div {
  font-weight: 700;
}
.planBox_method img {
  margin-bottom: 4px;
  width: 35px;
  height: auto;
}
@media screen and (min-width: 769px) {
  .planBox_method img {
    width: 43px;
  }
}

.planNav {
  display: flex;
  justify-content: center;
  margin: 0 -6px 22px;
  padding: 0 5.1282051282vw;
}
.planNav_item {
  flex: 1;
  padding: 0 6px;
}

.planNavTab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 12px 15px 15px;
  border: 2px solid transparent;
  border-radius: 9px;
  background: #fff;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #333;
}
.planNavTab[aria-selected=true] {
  border-color: #eb5402;
}
.planNavTab[aria-selected=true]::before {
  display: block;
  position: absolute;
  bottom: -26px;
  left: 50%;
  width: 0;
  height: 0;
  transform: translateX(-50%);
  border-style: solid;
  border-width: 0 14px 17px 14px;
  border-color: transparent transparent #eb5402 transparent;
  content: "";
}
@media screen and (min-width: 769px) {
  .planNavTab[aria-selected=true]::before {
    content: none;
  }
}
.planNavTab_shoulder {
  display: flex;
  align-items: center;
  min-height: 2.6em;
  margin-bottom: 5px;
  line-height: 1.3;
  font-size: 1rem;
  font-weight: 700;
  color: #eb5402;
}
.planNavTab_title {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .planPanel[aria-hidden=true] {
    display: none;
  }
  .planPanel[aria-hidden=false] {
    display: block;
  }
}

/*=================================
+-----+// sec_otoku
===================================*/
.familyRow {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
@media screen and (min-width: 769px) {
  .familyRow {
    margin-top: 50px;
  }
  .familyRow > .familyUnit {
    width: calc(50% - 28px);
  }
}

.familyUnit_title {
  margin-bottom: 13px;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .familyUnit_title {
    font-size: 1.6rem;
  }
}
.familyUnit_img {
  overflow: hidden;
  border-radius: 10px;
}
.familyUnit_img img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 769px) {
  .familyUnit_img {
    border-radius: 14px;
  }
}
.familyUnit_btn {
  margin-top: 25px;
  text-align: center;
}
.familyUnit_btn .btn {
  max-width: 324px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .familyUnit_btn {
    margin-top: 60px;
  }
}
.familyUnit_plan {
  position: relative;
  display: table;
  margin: -14px auto 13px;
  padding: 3px 9px 5px;
  border-radius: 9px;
  background: #eb5402;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 900;
  letter-spacing: normal;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .familyUnit_plan {
    margin: -17px auto 16px;
    padding: 4px 14px 6px;
    font-size: 1.6rem;
  }
}
.familyUnit_text {
  text-align: center;
  color: #3c3c3c;
  font-size: 1rem;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .familyUnit_text {
    font-size: 1.2rem;
  }
}

.familyBills {
  margin-top: 9px;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .familyBills {
    margin-top: 12px;
    font-size: 1.6rem;
  }
}
.familyBills_tax {
  font-size: 1rem;
  margin: 0 -0.5em;
}
@media screen and (min-width: 769px) {
  .familyBills_tax {
    font-size: 1.2rem;
  }
}
.familyBills_price {
  color: #eb5402;
  font-weight: 900;
  letter-spacing: normal;
}
.familyBills_price .number {
  margin-right: 2px;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-size: 2.7rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .familyBills_price .number {
    margin-right: 6px;
    font-size: 3.2rem;
  }
}

.pointBox {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 22px 0;
  padding: 15px;
  border: 2px dashed #eb5402;
  border-radius: 10px;
  background: #fff;
}
.pointBox_label {
  position: relative;
  margin-right: 7px;
  line-height: 1.2;
  font-weight: 900;
}
@media screen and (min-width: 769px) {
  .pointBox_label {
    margin-right: 8px;
  }
}
.pointBox_label span {
  display: block;
}
.pointBox_label .ponta {
  font-size: 1.6rem;
}
@media screen and (min-width: 769px) {
  .pointBox_label .ponta {
    font-size: 1.9rem;
  }
}
.pointBox_label .point {
  font-size: 1.3rem;
}
@media screen and (min-width: 769px) {
  .pointBox_label .point {
    font-size: 1.5rem;
  }
}
.pointBox_label img {
  position: absolute;
  left: 0;
  top: 50%;
  width: 32px;
  height: 32px;
  transform: translateY(-50%);
}
@media screen and (min-width: 769px) {
  .pointBox_label img {
    width: 39px;
    height: 39px;
  }
}
.pointBox_value {
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: #eb5402;
}
.pointBox_value .number {
  font-size: 4.5rem;
  line-height: 1;
  letter-spacing: normal;
}
@media screen and (min-width: 769px) {
  .pointBox_value .number {
    font-size: 5.4rem;
  }
}
.pointBox_value .unit {
  margin: 0 3px;
  font-size: 2.2rem;
  line-height: 1;
}
@media screen and (min-width: 769px) {
  .pointBox_value .unit {
    font-size: 2.5rem;
  }
}
.pointBox_value .text {
  font-size: 2.9rem;
  font-weight: 900;
  line-height: 1.4482758621;
  letter-spacing: normal;
}
@media screen and (min-width: 769px) {
  .pointBox_value .text {
    font-size: 3.5rem;
  }
}

.btnShoulder {
  position: relative;
  z-index: 1;
  display: inline-block;
  margin-bottom: 15px;
  padding: 6px 17px;
  border-radius: 26px;
  background: #f37e0a;
  font-size: 1.3rem;
  font-weight: 700;
  color: #fff;
}
.btnShoulder_inner {
  position: relative;
}
.btnShoulder::before {
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -49px;
  border-style: solid;
  border-width: 45px 13px 0 13px;
  border-color: #f37e0a transparent transparent transparent;
  transform: rotate(47deg);
  transform-origin: right top;
  content: "";
}

/*=================================
+-----+// sec_relieved
===================================*/
.flowList {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 58px;
}
.flowList_item:not(:first-child) {
  position: relative;
}
.flowList_item:not(:first-child)::before {
  display: block;
  position: absolute;
  top: -46px;
  left: 24px;
  width: 3px;
  height: 37px;
  background: url(/denki/assets/img/top/bg_free_flow.svg) no-repeat center center;
  background-size: 3px 37px;
  content: "";
}

.otokuBox {
  position: relative;
  margin-top: 72px;
  padding: 25px 4.6153846154vw;
  border: 2px solid #f2a81d;
  border-radius: 14px;
}
@media screen and (min-width: 769px) {
  .otokuBox {
    padding: 20px 25px 38px;
  }
}
.otokuBox_icon {
  position: absolute;
  top: -27px;
  right: 4.6153846154vw;
}
@media screen and (min-width: 769px) {
  .otokuBox_icon {
    right: 25px;
  }
}
.otokuBox_shoulder {
  position: absolute;
  top: -9px;
  display: inline-block;
  padding: 0 5px 2px;
  border-radius: 3px;
  color: #fff;
  letter-spacing: normal;
  font-weight: 700;
  font-size: 1rem;
  background: #c00000;
}
.otokuBox_title {
  margin-bottom: 23px;
  line-height: 1.5;
  font-size: 1.8rem;
  font-weight: 700;
  color: #3c3c3c;
}
@media screen and (min-width: 769px) {
  .otokuBox_title {
    margin-bottom: 42px;
    font-size: 2.2rem;
  }
}
.otokuBox_link {
  margin-top: 24px;
}
@media screen and (min-width: 769px) {
  .otokuBox_link {
    margin-top: 28px;
  }
}
.otokuBox_link .btn {
  max-width: 324px;
  margin: 0 auto;
}
.otokuBox_list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 10px;
}
@media screen and (min-width: 769px) {
  .otokuBox_list {
    grid-template-columns: repeat(3, 1fr);
    -moz-column-gap: 18px;
         column-gap: 18px;
    row-gap: 0;
  }
}

.otherService {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 148px;
  border: 2px solid;
  padding: 14px 0 14px 34px;
  border-radius: 14px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .otherService {
    min-height: 138px;
    padding: 0 0 20px 32px;
  }
}
.otherService_logo {
  margin-top: 4px;
  margin-bottom: 20px;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .otherService_logo {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    margin: 5px 0 0;
  }
}
.otherService_logo img {
  display: block;
  height: auto;
  margin: 0 auto;
}
.otherService.-gas .otherService_logo img {
  width: 121px;
  height: 48px;
}
@media screen and (min-width: 769px) {
  .otherService.-gas .otherService_logo img {
    width: 114px;
    height: 45px;
  }
}
.otherService.-aupay .otherService_logo img {
  width: 150px;
  height: 17px;
}
@media screen and (min-width: 769px) {
  .otherService.-aupay .otherService_logo img {
    width: 141px;
    height: 17px;
  }
}
.otherService.-uq .otherService_logo img {
  width: 183px;
  height: 42px;
}
@media screen and (min-width: 769px) {
  .otherService.-uq .otherService_logo img {
    width: 172px;
    height: 41px;
  }
}
.otherService_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 34px;
  height: 100%;
}
@media screen and (min-width: 769px) {
  .otherService_icon {
    width: 32px;
  }
}
.otherService_text {
  line-height: 1.5;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: normal;
}
.otherService_text > span {
  margin: 0 -0.5em;
}
@media screen and (min-width: 769px) {
  .otherService_text {
    font-size: 1.2rem;
  }
}
.otherService.-aupay {
  border-color: #f2a81d;
}
.otherService.-aupay .otherService_icon {
  background: rgba(247, 212, 147, 0.27);
}
.otherService.-gas {
  border-color: #00baff;
}
.otherService.-gas .otherService_icon {
  background: rgba(202, 236, 252, 0.27);
}
.otherService.-uq {
  border-color: #8b7be0;
}
.otherService.-uq .otherService_icon {
  background: rgba(212, 206, 244, 0.27);
}

.flowSummary {
  position: relative;
  margin-top: 37px;
  padding: 0 14px 18px 18px;
  border: 6px solid #ffe971;
  border-radius: 14px;
  background: #fff;
}
@media screen and (min-width: 769px) {
  .flowSummary {
    margin-top: 87px;
    padding: 0 0 21px;
  }
}
.flowSummary_shoulder {
  display: table;
  margin: -16px auto 10px;
  padding: 4px 16px 5px;
  border-radius: 8px;
  font-size: 1.2rem;
  font-weight: 700;
  background: #ffe971;
}
@media screen and (min-width: 769px) {
  .flowSummary_shoulder {
    margin-top: -22px;
    margin-bottom: 20px;
    padding: 7px 20px 10px;
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 769px) {
  .flowSummary_list {
    display: flex;
  }
}
.flowSummary_item {
  position: relative;
  padding: 10px 0 11px 32px;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .flowSummary_item {
    flex: 1;
    text-align: center;
    padding: 57px 0 0 0;
  }
  .flowSummary_item:first-child::after {
    display: none;
  }
}
.flowSummary_item strong {
  margin-left: 5px;
  color: #eb5402;
}
@media screen and (min-width: 769px) {
  .flowSummary_item strong {
    display: block;
    margin-left: 0;
    font-size: 1.9rem;
  }
}
.flowSummary_item::before, .flowSummary_item::after {
  display: block;
  position: absolute;
  content: "";
}
.flowSummary_item::before {
  top: 50%;
  left: 0;
  width: 21px;
  height: 21px;
  margin-top: -10px;
  background: url(/denki/assets/img/top/icon_check_green.svg) no-repeat center center;
  background-size: 21px 21px;
}
@media screen and (min-width: 769px) {
  .flowSummary_item::before {
    top: 0;
    left: 50%;
    width: 43px;
    height: 43px;
    margin-top: 0;
    margin-left: -21px;
    background-size: 43px 43px;
  }
}
.flowSummary_item::after {
  bottom: 0;
  width: calc(100% - 32px);
  height: 0;
  border-bottom: 1px dashed #e2e2e2;
}
@media screen and (min-width: 769px) {
  .flowSummary_item::after {
    left: 0;
    width: 0;
    height: calc(100% - 6px);
    border-bottom: none;
    border-left: 1px dashed #e2e2e2;
  }
}

.flowLead {
  margin: 22px 0;
  line-height: 1.4166666667;
  font-size: 1.2rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .flowLead {
    margin-bottom: 47px;
    font-size: 1.4rem;
  }
}

.entryBoxRow {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 20px;
  margin-top: 20px;
}
@media screen and (min-width: 769px) {
  .entryBoxRow {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 0;
    -moz-column-gap: 58px;
         column-gap: 58px;
    margin-top: 58px;
  }
}

.entryBox {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 2px solid #eb5402;
  border-radius: 10px;
  background: #fff;
}
.entryBox_inner {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 28px 17px 20px;
}
.entryBox_img {
  max-width: 87px;
}
.entryBox_img img {
  height: auto;
}
.entryBox.-current .entryBox_img {
  order: -1;
}
@media screen and (min-width: 769px) {
  .entryBox.-current .entryBox_img img {
    width: 92px;
    height: 74px;
  }
}
@media screen and (min-width: 769px) {
  .entryBox.-moving .entryBox_img img {
    width: 87px;
    height: 69px;
  }
}
.entryBox_title {
  flex: 1;
  max-width: -webkit-max-content;
  max-width: -moz-max-content;
  max-width: max-content;
  margin: 0 14px;
  line-height: 1.375;
  font-size: 1.6rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .entryBox_title {
    line-height: 1.2727272727;
    font-size: 2.2rem;
  }
}
.entryBox_text {
  width: 100%;
  margin-top: 28px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.6666666667;
}
.entryBox_link .btn {
  border-radius: 0;
}

/*=================================
+-----+// topInfo
===================================*/
.topInfo {
  padding-top: 16.4102564103vw;
}
@media screen and (min-width: 769px) {
  .topInfo {
    padding-top: 90px;
  }
}

.infoArea_inner {
  display: grid;
  grid-template-columns: 1fr;
}
@media screen and (min-width: 769px) {
  .infoArea_inner {
    -moz-column-gap: 50px;
         column-gap: 50px;
  }
}
.infoArea_title {
  margin-bottom: 15px;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: #3c3c3c;
}
@media screen and (min-width: 769px) {
  .infoArea_title {
    line-height: 1.4545454545;
    margin-bottom: 14px;
    text-align: left;
    font-size: 2.2rem;
  }
}
.infoArea_desc {
  font-size: 1.2rem;
  color: #6f6f6f;
}
@media screen and (min-width: 769px) {
  .infoArea_desc {
    font-size: 1.4rem;
    line-height: 1.8571428571;
  }
}

.infoArea {
  padding-top: 0;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .infoArea {
    padding-top: 72px;
  }
}

.pointupArea {
  padding-top: 40px;
  padding-bottom: 35px;
  * {
    letter-spacing: 0;
  }
}
@media screen and (min-width: 769px) {
  .pointupArea {
    padding: 33px 30px 40px 100px;
  }
}

.pointupArea_inner {
  grid-template-areas: "title" "img" "lead" "reward" "refund" "link" "notes";
  row-gap: 20px;
}
@media screen and (min-width: 769px) {
  .pointupArea_inner {
    grid-template-columns: 235px 1fr 65px;
    grid-template-areas: "img title ." "reward reward ." "lead lead ." "refund link ." "notes notes notes";
    row-gap: 0;
    column-gap: 16px;
    max-width: 620px;
    margin-inline: auto;
  }
}

.pointupArea_title {
  grid-area: title;
  color: #000;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583;
  text-align: center;
}
@media screen and (min-width: 769px) {
  .pointupArea_title {
    justify-self: center;
    align-self: center;
  }
}

.pointupArea_img {
  grid-area: img;
  justify-self: center;
  img {
    width: 45.12vw;
    height: auto;
  }
}
@media screen and (min-width: 769px) {
  .pointupArea_img {
    img {
      width: 242px;
    }
  }
}

.pointupArea_lead {
  grid-area: lead;
  margin-bottom: -5px;
}
@media screen and (min-width: 769px) {
  .pointupArea_lead {
    margin-bottom: 0;
    padding-bottom: 14px;
  }
}

.pointupArea_lead-text {
  color: #484848;
  font-size: 1.8rem;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  small {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 769px) {
  .pointupArea_lead-text {
    line-height: 1.65;
  }
}

.pointupArea_lead-strong {
  font-size: 2.4rem;
}

.pointupArea_reward {
  grid-area: reward;
  img {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 769px) {
  .pointupArea_reward {
    padding-block: 26px;
  }
}

.pointupArea_refund {
  grid-area: refund;
  justify-self: center;
}

.pointupArea_refund-circle {
  display: grid;
  grid-template-columns: 1fr;
  place-content: center;
  row-gap: 13px;
  width: 235px;
  height: 235px;
  padding: 24px 0 33px;
  border-radius: 50%;
  background: #fff;
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
  img {
    width: 100%;
    height: auto;
  }
}

.pointupArea_refund-text {
  color: #5f5c5c;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.467;
  text-align: center;
  small {
    font-size: 1.2rem;
    font-weight: 500;
  }
}

.pointupArea_refund-rate {
  display: grid;
  grid-template-columns: auto 31px 38.5px;
  justify-content: center;
  align-items: end;
  line-height: 1;
  .colPlus {
    font-weight: 900;
    font-size: 6rem;
  }
  .colRate {
    padding-right: 10px;
  }
}

.pointupArea_link {
  grid-area: link;
  .btn {
    max-width: 300px;
    margin-inline: auto;
    padding-block: 10.5px;
  }
}
@media screen and (min-width: 769px) {
  .pointupArea_link {
    align-self: center;
    .btn {
      width: 300px;
      margin-inline: 0;
    }
  }
}

.pointupArea_link-text {
  font-weight: 900;
  font-size: 1.8rem;
  line-height: 1.35;
  text-align: center;
  small {
    display: block;
    color: #494949;
    font-size: 1.4rem;
  }
}

.pointupArea_notesList {
  grid-area: notes;
  color: #848484;
  font-size: 1.2rem;
  > li {
    color: inherit;
    font-size: inherit;
    font-weight: 500;
    line-height: 1.5;
  }
}
@media screen and (min-width: 769px) {
  .pointupArea_notesList {
    padding-top: 17px;
  }
}

.pointupArea_notesList > li {
  padding-left: 1em;
}

.satisfactionArea {
  padding-top: 0;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .satisfactionArea {
    padding-top: 72px;
  }
}
.satisfactionArea_inner {
  grid-template-areas: "img" "text" "list" "link";
}
@media screen and (min-width: 769px) {
  .satisfactionArea_inner {
    grid-template-columns: 366px 1fr;
    grid-template-areas: "img text" "list list" "link link";
  }
}
.satisfactionArea_img {
  grid-area: img;
  margin: 0 -5.1282051282vw 26px;
}
@media screen and (min-width: 769px) {
  .satisfactionArea_img {
    margin: 0;
  }
}
.satisfactionArea_img img {
  width: 100%;
  height: auto;
}
@media screen and (min-width: 769px) {
  .satisfactionArea_img img {
    width: 366px;
  }
}
@media screen and (min-width: 769px) {
  .satisfactionArea_img {
    margin: 0;
  }
}
.satisfactionArea_text {
  grid-area: text;
  margin-bottom: 20px;
}
@media screen and (min-width: 769px) {
  .satisfactionArea_text {
    align-self: center;
    margin-bottom: 0;
  }
}
.satisfactionArea_text .textNotes {
  margin-top: 10px;
}
.satisfactionArea_link {
  grid-area: link;
  margin-top: 23px;
  padding-bottom: 20px;
}
.satisfactionArea_link .btn {
  max-width: 324px;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .satisfactionArea_link {
    margin-top: 43px;
    padding-bottom: 0;
  }
}
.satisfactionArea_list {
  grid-area: list;
  padding: 0 14px;
  border-radius: 10px;
  background: #fff;
}
@media screen and (min-width: 769px) {
  .satisfactionArea_list {
    margin-top: 41px;
    padding: 0 32px;
  }
}
.satisfactionArea_list > li:not(:first-child) {
  border-top: 1px dashed #f2f2f2;
}

.voiceBox_header {
  position: relative;
  padding: 10px 0;
  line-height: 1.5384615385;
  font-size: 1.3rem;
  font-weight: 500;
  cursor: pointer;
}
.voiceBox_header::before {
  display: block;
  position: absolute;
  top: 50%;
  right: 3.0769230769vw;
  width: 10px;
  height: 10px;
  margin-top: -5px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 10px 10px;
  content: "";
}
@media screen and (min-width: 769px) {
  .voiceBox_header::before {
    right: 12px;
  }
}
.voiceBox_header[aria-expanded=false]::before {
  background-image: url(/denki/assets/img/top/icon_accordion_plus.svg);
}
.voiceBox_header[aria-expanded=true]::before {
  background-image: url(/denki/assets/img/top/icon_accordion_minus.svg);
}
.voiceBox_body {
  position: relative;
  padding: 10px 0 20px;
  font-size: 1.2rem;
  font-weight: 500;
  border-top: 1px solid #f2f2f2;
}
.voiceBox_body[aria-hidden=true] {
  display: none;
}
.voiceBox_q {
  position: relative;
  padding: 4px 0 4px 34px;
  margin-bottom: 5px;
  color: #eb5402;
  font-size: 1.4rem;
  font-weight: 700;
}
.voiceBox_q:not(:first-child) {
  margin-top: 20px;
}
.voiceBox_q::before {
  position: absolute;
  top: 50%;
  left: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  margin-top: -14px;
  background: #eb5402;
  color: #fff;
  line-height: 1;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  border-radius: 50%;
  text-align: center;
  content: "Q";
}
.voiceBox_a {
  line-height: 1.6666666667;
  font-size: 1.2rem;
}

.appArea {
  margin-top: 93px;
  padding-top: 0;
  overflow: visible;
}
@media screen and (min-width: 769px) {
  .appArea {
    padding: 73px 60px 75px;
  }
}
.appArea_inner {
  grid-template-areas: "img" "text" "check" "point" "bottom";
}
@media screen and (min-width: 769px) {
  .appArea_inner {
    grid-template-columns: 362px 1fr;
    grid-template-areas: "img text" "img bottom" "check check" "point point";
  }
}
.appArea_img {
  grid-area: img;
  margin-top: -23.8461538462vw;
  margin-bottom: 8.4615384615vw;
}
.appArea_img img {
  width: 83.0769230769vw;
  height: auto;
}
@media screen and (min-width: 769px) {
  .appArea_img img {
    width: 362px;
  }
}
@media screen and (min-width: 769px) {
  .appArea_img {
    margin: 0;
  }
}
.appArea_text {
  grid-area: text;
  margin-bottom: 35px;
}
@media screen and (min-width: 769px) {
  .appArea_text {
    align-self: end;
    margin-bottom: 0;
  }
}
.appArea_bottom {
  grid-area: bottom;
  margin-top: 23px;
  padding-bottom: 26px;
}
@media screen and (min-width: 769px) {
  .appArea_bottom {
    padding-bottom: 0;
  }
}
.appArea .appBox.-check {
  grid-area: check;
}
.appArea .appBox.-point {
  grid-area: point;
}
.appArea_download {
  display: flex;
  justify-content: center;
  margin: 0 -3px 16px;
}
@media screen and (min-width: 769px) {
  .appArea_download {
    justify-content: flex-start;
  }
}
.appArea_download > li {
  padding: 0 3px;
}
.appArea_download > li.googlePlay img {
  max-width: 158px;
}
.appArea_download > li.appStore img {
  max-width: 159px;
}
.appArea_storeLink {
  display: block;
}
.appArea_storeLink img {
  display: block;
  width: 100%;
  height: auto;
}
.appArea_link {
  margin-top: 16px;
  font-size: 1.2rem;
}
@media screen and (min-width: 769px) {
  .appArea_link {
    margin-top: 10px;
  }
}

.appBox {
  padding: 24px 5.1282051282vw;
  border-radius: 10px;
  background: #fff;
}
@media screen and (min-width: 769px) {
  .appBox {
    padding: 36px 65px 55px 78px;
  }
}
.appBox.-check {
  padding-bottom: 10px;
}
@media screen and (min-width: 769px) {
  .appBox.-check {
    margin-top: 60px;
    padding-bottom: 53px;
  }
}
@media screen and (min-width: 769px) {
  .appBox_content {
    display: flex;
    align-items: center;
  }
}
.appBox + .appBox {
  margin-top: 14px;
}
@media screen and (min-width: 769px) {
  .appBox + .appBox {
    margin-top: 27px;
  }
}
.appBox_title {
  margin-bottom: 20px;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
}
.appBox_title .unit {
  font-size: 1.1rem;
}
@media screen and (min-width: 769px) {
  .appBox_title .unit {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 769px) {
  .appBox_title {
    margin-bottom: 36px;
    font-size: 2.2rem;
  }
}
.appBox_img {
  text-align: center;
}
.appBox_img img {
  height: auto;
}
@media screen and (min-width: 769px) {
  .appBox.-check .appBox_img {
    margin-right: 65px;
  }
}
.appBox.-check .appBox_img img {
  width: 58.9743589744vw;
}
@media screen and (min-width: 769px) {
  .appBox.-check .appBox_img img {
    width: 307px;
  }
}
@media screen and (min-width: 769px) {
  .appBox.-point .appBox_content {
    flex-direction: row-reverse;
  }
}
.appBox.-point .appBox_img {
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .appBox.-point .appBox_img {
    margin-bottom: 0;
    margin-left: 63px;
  }
}
.appBox.-point .appBox_img img {
  width: 72.8205128205vw;
}
@media screen and (min-width: 769px) {
  .appBox.-point .appBox_img img {
    width: 307px;
  }
}
.appBox_text {
  font-size: 1.2rem;
}
.appBox_text p {
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .appBox_text {
    flex: 1;
    line-height: 1.8571428571;
    font-size: 1.4rem;
  }
}
.appBox_list {
  margin-top: 10px;
}
@media screen and (min-width: 769px) {
  .appBox_list {
    margin-top: 0;
    flex: 1;
  }
}
.appBox_item {
  position: relative;
  padding: 10px 0 11px 32px;
  line-height: 1.4285714286;
  font-size: 1.4rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .appBox_item {
    padding: 15px 0 16px 42px;
    font-size: 1.6rem;
  }
}
.appBox_item strong {
  color: #eb5402;
}
.appBox_item strong:not(:first-child) {
  margin-left: 5px;
}
@media screen and (min-width: 769px) {
  .appBox_item strong:not(:first-child) {
    margin-left: 0;
  }
}
.appBox_item::before, .appBox_item:not(:last-child):after {
  display: block;
  position: absolute;
  content: "";
}
.appBox_item::before {
  top: 50%;
  left: 0;
  width: 21px;
  height: 21px;
  margin-top: -10px;
  background: url(/denki/assets/img/top/icon_check_green.svg) no-repeat center center;
  background-size: 21px 21px;
}
@media screen and (min-width: 769px) {
  .appBox_item::before {
    width: 25px;
    height: 25px;
    background-size: 25px 25px;
  }
}
.appBox_item:not(:last-child):after {
  bottom: 0;
  width: calc(100% - 32px);
  height: 0;
  border-bottom: 1px dashed #e2e2e2;
}
@media screen and (min-width: 769px) {
  .appBox_item:not(:last-child):after {
    width: calc(100% - 42px);
  }
}

.faqBox {
  padding-bottom: 25px;
}
.faqBox_list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 9px;
  margin-top: 28px;
}

.faqLink {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 82px;
  background: #fff;
  color: #3c3c3c;
  font-size: 1.3rem;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .faqLink {
    font-size: 1.4rem;
  }
}
.faqLink_inner {
  padding-left: 46px;
  padding-right: 30px;
}
.faqLink::before, .faqLink::after {
  display: block;
  position: absolute;
  top: 50%;
  background-repeat: no-repeat;
  background-position: center center;
  content: "";
}
.faqLink::before {
  left: 16px;
  width: 17px;
  height: 27px;
  margin-top: -14px;
  background-image: url(/denki/assets/img/top/icon_faq_item.svg);
  background-size: 17px 27px;
}
.faqLink::after {
  right: 16px;
  width: 6px;
  height: 10px;
  margin-top: -5px;
  background-image: url(/denki/assets/img/common/icon_arrow_next02.svg);
  background-size: 6px 10px;
}

/*=================================
+-----+// secColumn
===================================*/
.secColumn {
  padding-bottom: 17.9487179487vw;
}
@media screen and (min-width: 769px) {
  .secColumn {
    padding-bottom: 90px;
  }
}
.secColumn .articleList {
  gap: 24px 58px;
}

.columnBox {
  padding-bottom: 28px;
}
@media screen and (min-width: 769px) {
  .columnBox {
    padding-bottom: 50px;
  }
}
.columnBox_title {
  margin-bottom: 10px;
}
.columnBox_desc {
  margin-bottom: 34px;
  text-align: center;
  font-size: 1.2rem;
  color: #6f6f6f;
}
@media screen and (min-width: 769px) {
  .columnBox_desc {
    margin-bottom: 54px;
    font-size: 1.4rem;
    line-height: 1.8571428571;
  }
}
.columnBox_link {
  margin-top: 24px;
}
@media screen and (min-width: 769px) {
  .columnBox_link {
    margin-top: 50px;
  }
}
.columnBox_link .btn {
  max-width: 324px;
  margin: 0 auto;
}

#area-0 .planBox_data:last-child::before,
#area-6 .planBox_data:last-child::before,
#area-7 .planBox_data:last-child::before,
#area-8 .planBox_data:last-child::before {
  border-left: none !important;
}

#area-0 .planBox_bottom,
#area-6 .planBox_bottom,
#area-7 .planBox_bottom,
#area-8 .planBox_bottom {
  grid-template-columns: auto;
}
