@charset "UTF-8";

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

* {
  letter-spacing: 0.04em;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
}

body {
  max-width: 750px;
  min-height: 100vh;
  padding: 0;
  margin: 0 auto;
  overflow-x: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(22px, 2.9333333333vw);
  font-weight: 400;
  line-height: 1.3;
  color: #3e3a39;
  overflow-wrap: break-word;
  background-color: #fff;
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  padding: 0;
  margin: 0;
  border: 0;
}

a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  background-color: transparent;
}

img,
video,
iframe,
object {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  border: none;
}

code,
kbd,
pre,
samp {
  font-family: monospace, sans-serif;
  font-size: inherit;
}

ul,
ol {
  list-style: none;
}

table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
  border: 1px solid #eee;
}

th,
td {
  padding: 4px 6px;
  text-align: left;
  vertical-align: top;
  border: 1px solid #eee;
}

address {
  font-style: inherit;
}

b,
strong {
  font-weight: 700;
}

.p-mv_subbtn {
  position: absolute;
  bottom: 0;
  padding: 0 60px 30px;
  text-align: center;
  width: 100%;
  z-index: 1;
}
.p-mv_subbtn a {
   transition: 0.3s ease-in-out;
   display: inline-block;
}
.p-mv_subbtn a:hover {
  opacity: 0.8;
}

/*----------------------------
scroll_up ｜下から上へ出現
----------------------------*/
.scroll_up {
  transition: 0.8s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
  position: fixed;
  bottom: 0;
  padding: 30px 60px 30px;
  text-align: center;
  width: 100%;
  max-width: 750px;
  background: url(../img/reason_bg02.png) no-repeat center center/cover;
  background-color: #fff;
  z-index: 5;
}
.scroll_up.on {
  transform: translateY(0);
  opacity: 1.0;
}

.scroll_up a {
   transition: 0.3s ease-in-out;
   display: inline-block;
}
.scroll_up a:hover {
  opacity: 0.8;
}

.l-inner {
  width: 90%;
  max-width: 1080px;
  height: inherit;
  padding: 0;
  margin-right: auto;
  margin-left: auto;
}

.l-inner.l-inner--reason {
  width: calc(100% - min(44px, 5.8666666667vw) * 2);
}

.l-inner.l-inner--battery {
  width: calc(100% - min(64px, 8.5333333333vw) * 2);
}

.c-heading-primary {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: min(30px, 4vw) 0;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(47px, 6.2666666667vw);
  font-weight: 900;
  color: #fff;
  background-color: #6bb58c;
}

.c-heading-primary.c-heading-primary--about {
  padding: min(20px, 2.6666666667vw) 0;
}

.c-heading-primary p {
  font-size: min(25px, 3.3333333333vw);
  line-height: 1.6;
}

.c-accordion {
  margin-top: min(47px, 6.2666666667vw);
  border-radius: min(8px, 1.0666666667vw);
}

.c-accordion__item {
  border: min(3px, 0.4vw) solid #6bb58c;
  border-radius: min(13px, 1.7333333333vw);
}

.c-accordion__item:not(:first-of-type) {
  margin-top: min(35px, 4.6666666667vw);
}

.c-accordion__ttl {
  position: relative;
  display: flex;
  -moz-column-gap: min(18px, 2.4vw);
       column-gap: min(18px, 2.4vw);
  align-items: center;
  padding: min(10px, 1.3333333333vw) min(65px, 8.6666666667vw) min(10px, 1.3333333333vw) min(12px, 1.6vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(26px, 3.4666666667vw);
  font-weight: 900;
  color: #fff;
  cursor: pointer;
  background-color: #6bb58c;
  border-radius: min(8px, 1.0666666667vw);
}

.c-accordion__ttl::after {
  position: absolute;
  top: 50%;
  right: min(30px, 4vw);
  width: min(33px, 4.4vw);
  height: min(20px, 2.6666666667vw);
  content: "";
  background: url(../img/accordion_icon.svg) no-repeat center center/contain;
  transition: transform 300ms ease-out;
  transform: translateY(-50%) rotate(180deg);
}

.c-accordion__ttl.is-accordion--active::after {
  transform: translateY(-50%) rotate(0deg);
}

.c-accordion__ttl span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(69px, 9.2vw);
  height: min(69px, 9.2vw);
  font-size: min(40px, 5.3333333333vw);
  color: #6bb58c;
  background-color: #ffffab;
  border-radius: 50%;
}

.c-accordion__content {
  height: 0;
  padding: 0 min(25px, 3.3333333333vw);
  overflow-y: hidden;
  letter-spacing: 0.05em;
  opacity: 0;
  transition: 300ms ease-out;
}

.c-accordion__content.is-accordion--open {
  height: auto;
  padding: min(16px, 2.1333333333vw) min(25px, 3.3333333333vw);
  opacity: 1;
}

.c-accordion__content span {
  font-weight: 700;
  color: #27b56d;
}

.p-mv__pic img {
  width: 100%;
}

.p-latest {
  padding-top: min(12px, 1.6vw);
  background-color: #6bb58c;
}

.p-latest__heading {
  padding: min(14px, 1.8666666667vw) 0 min(110px, 14.6666666667vw);
  background: url(../img/latest_bg.png) no-repeat center center/cover;
}

.p-latest__heading h2 {
  position: relative;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(52px, 6.9333333333vw);
  font-weight: 900;
  color: #fff;
  text-align: center;
}

.p-latest__heading h2::after {
  position: absolute;
  top: max(-5px, -0.6666666667vw);
  right: min(245px, 32.6666666667vw);
  width: min(47px, 6.2666666667vw);
  height: min(65px, 8.6666666667vw);
  content: "";
  background: url(../img/latest_icon.svg) no-repeat center center/contain;
}

.p-latest__heading h2 span {
  font-size: min(70px, 9.3333333333vw);
  color: #ffe100;
}

.p-latest__content {
  padding: min(24px, 3.2vw) min(51px, 6.8vw) min(30px, 4vw);
  background-color: #6bb58c;
}

.p-latest__content small {
  display: block;
  margin-top: min(10px, 1.3333333333vw);
  font-size: min(18px, 2.4vw);
  color: #fff;
  text-align: right;
}

.p-latest__graph {
  padding: min(40px, 5.3333333333vw) min(50px, 6.6666666667vw);
  background-color: #fff;
  border-radius: min(25px, 3.3333333333vw);
}

.p-latest__graph h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: min(9px, 1.2vw) 0;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(38px, 5.0666666667vw);
  font-weight: 900;
  color: #fff;
  background-color: #6bb58c;
  border-radius: min(34px, 4.5333333333vw);
}

.p-latest__img {
  margin-top: min(26px, 3.4666666667vw);
  text-align: center;
}

.p-latest__row {
  display: flex;
  -moz-column-gap: min(16px, 2.1333333333vw);
       column-gap: min(16px, 2.1333333333vw);
}

.p-latest__btn {
  width: calc((100% - min(16px, 2.1333333333vw) * 1) / 2);
  padding: min(6px, 0.8vw) 0;
  margin-top: min(26px, 3.4666666667vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-weight: 900;
  color: #fff;
  text-align: center;
  border: clamp(2px, 1px + 0.2666666667vw, 3px) solid #fff;
  border-radius: min(42px, 5.6vw);
}

.p-latest__btn > span {
  font-size: min(19px, 2.5333333333vw);
}

.p-latest__btn p {
  font-size: min(28px, 3.7333333333vw);
}

.p-latest__btn p span {
  color: #ffe100;
}

.p-chance {
  position: relative;
  padding: min(40px, 5.3333333333vw) 0;
  background: #fff url(../img/chance_bg.png) no-repeat center center/cover;
}

.p-chance h2 {
  position: absolute;
  bottom: min(40px, 5.3333333333vw);
  left: 50%;
  width: 100%;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(44px, 5.8666666667vw);
  font-weight: 900;
  line-height: 1.21;
  text-align: center;
  transform: translateX(-50%);
}

.p-chance__img {
  text-align: center;
}

.p-chance__small {
  font-size: min(34px, 4.5333333333vw);
}

.p-chance__orange {
  color: #f29600;
}

.p-caution {
  padding: min(42px, 5.6vw) 0;
  background-color: #ffe100;
}

.p-caution__content {
  position: relative;
  z-index: 1;
  padding: min(30px, 4vw) 0;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-weight: 900;
  text-align: center;
  background-color: #fff;
  border-radius: min(26px, 3.4666666667vw);
}

.p-caution__content::after {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../img/caution_bg.png) no-repeat center center/cover;
  transform: translate(-50%, -50%);
}

.p-caution__content h2 {
  position: relative;
  font-size: min(51px, 6.8vw);
}

.p-caution__content h2::after {
  position: absolute;
  bottom: max(-5px, -0.6666666667vw);
  left: 50%;
  z-index: 1;
  width: min(250px, 33.3333333333vw);
  height: min(4px, 0.5333333333vw);
  content: "";
  background-color: #27b56d;
  transform: translateX(-50%);
}

.p-caution__content p {
  margin-top: min(28px, 3.7333333333vw);
  font-size: min(45px, 6vw);
  line-height: 1.45;
}

.p-caution__content p span:first-of-type {
  font-size: min(35px, 4.6666666667vw);
}

.p-caution__content p span:last-of-type {
  font-size: min(30px, 4vw);
}

.p-caution__content h3 {
  font-size: min(45px, 6vw);
  line-height: 1.45;
  color: #27b56d;
}

.p-contact__select dd .wpcf7-list-item {
  font-size: min(2.8vw, 28px);
  font-weight: 500;
  width: 50%;
  display: inline-block;
  margin: 10px 0 5px;
}

.p-contact__select dd .wpcf7-list-item input[type="radio"] {
  transform: scale(2.4);
  transform-origin: center;
  margin-right: 0.5em;
  vertical-align: middle;
  margin-top: -6px;
  margin-left: 10px;
}

.p-guarantee {
  padding-top: min(16px, 2.1333333333vw);
  background: url(../img/guarantee_bg.png) no-repeat center center/cover;
}

.p-guarantee__img {
  text-align: center;
}

.p-guarantee__img img {
  width: min(496px, 66.1333333333vw);
}

.p-guarantee__row {
  display: flex;
  -moz-column-gap: min(25px, 3.3333333333vw);
       column-gap: min(25px, 3.3333333333vw);
  align-items: center;
  justify-content: center;
}

.p-guarantee__row img {
  width: min(287px, 38.2666666667vw);
}

.p-guarantee__txt {
  width: min(352px, 46.9333333333vw);
}

.p-guarantee__txt p {
  font-size: min(26px, 3.4666666667vw);
  letter-spacing: 0.05em;
}

.p-guarantee__txt small {
  display: inline-block;
  margin-top: min(10px, 1.3333333333vw);
  font-size: min(16px, 2.1333333333vw);
  letter-spacing: 0.05em;
}

.p-suggestion {
  padding: min(48px, 6.4vw) min(36px, 4.8vw) min(52px, 6.9333333333vw);
}

.p-suggestion__frame {
  padding: 0 min(6px, 0.8vw) min(32px, 4.2666666667vw);
  background-color: #f29600;
  border-radius: min(20px, 2.6666666667vw);
}

.p-suggestion__frame h2 {
  padding: min(22px, 2.9333333333vw) 0;
  font-size: min(26px, 3.4666666667vw);
  font-weight: 700;
  color: #fff;
  text-align: center;
}

.p-suggestion__content {
  padding: min(35px, 4.6666666667vw) min(35px, 4.6666666667vw) min(16px, 2.1333333333vw);
  background-color: #f7f7f7;
}

.p-suggestion__bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(596px, 79.4666666667vw);
  height: min(170px, 22.6666666667vw);
  background: url(../img/suggestion_bubble.svg) no-repeat center center/cover;
}

.p-suggestion__bubble img {
  display: block;
  width: min(315px, 42vw);
  margin: 0 auto min(10px, 1.3333333333vw);
}

.p-suggestion__bubble h3 {
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(53px, 7.0666666667vw);
  font-weight: 900;
  color: #27b56d;
  text-align: center;
}

.p-suggestion__list {
  margin-top: min(35px, 4.6666666667vw);
}

.p-suggestion__item:not(:first-of-type) {
  padding-top: min(40px, 5.3333333333vw);
}

.p-suggestion__item h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(56px, 7.4666666667vw);
  font-size: min(25px, 3.3333333333vw);
  font-weight: 700;
  color: #fff;
  background-color: #f29600;
  border-radius: 100vh;
}

.p-suggestion__item small {
  display: block;
  margin-top: min(10px, 1.3333333333vw);
  font-size: min(18px, 2.4vw);
  font-weight: 700;
  text-align: right;
}

.p-suggestion__txt {
  margin-top: min(30px, 4vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-weight: 900;
}

.p-suggestion__txt p {
  text-align: center;
}

.p-suggestion__txt p:first-of-type {
  font-size: min(38px, 5.0666666667vw);
}

.p-suggestion__txt p:first-of-type::after {
  display: block;
  width: min(40px, 5.3333333333vw);
  height: min(30px, 4vw);
  margin: min(10px, 1.3333333333vw) auto min(5px, 0.6666666667vw);
  content: "";
  background: url(../img/suggestion_arrow.svg) no-repeat center center/contain;
}

.p-suggestion__txt p:last-of-type {
  color: #f29600;
}

.p-suggestion__item--01 .p-suggestion__txt p:last-of-type, .p-suggestion__item--02 .p-suggestion__txt p:last-of-type {
  font-size: min(100px, 13.3333333333vw);
}

.p-suggestion__item--03 .p-suggestion__txt p:last-of-type {
  font-size: min(45px, 6vw);
}

.p-suggestion__item--03 .p-suggestion__txt p:last-of-type span:first-of-type {
  font-size: min(27px, 3.6vw);
  color: #3e3a39;
}

.p-suggestion__item--03 .p-suggestion__txt p:last-of-type span:last-child {
  font-size: min(30px, 4vw);
}

.p-suggestion__btn {
  margin-top: min(52px, 6.9333333333vw);
  text-align: center;
}

.p-suggestion__btn a {
  width: min(647px, 86.2666666667vw);
  transition: opacity 300ms ease-out;
}

.p-reason__three {
  padding: min(37px, 4.9333333333vw) 0 min(65px, 8.6666666667vw);
  background: url(../img/reason_bg01.png) no-repeat center center/cover;
}

.p-reason__three h2 {
  text-align: center;
}

.p-reason__three h2 img {
  width: min(649px, 86.5333333333vw);
}

.p-reason__list {
  margin-top: min(28px, 3.7333333333vw);
}

.p-reason__item {
  padding: min(25px, 3.3333333333vw);
  background-color: #fff;
  border: clamp(2px, 1px + 0.2666666667vw, 3px) solid #6bb58c;
  border-radius: min(20px, 2.6666666667vw);
}

.p-reason__item:not(:first-of-type) {
  margin-top: min(35px, 4.6666666667vw);
}

.p-reason__item h3 {
  position: relative;
  z-index: 1;
  padding-bottom: min(20px, 2.6666666667vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(27px, 3.6vw);
  font-weight: 900;
  color: #27b56d;
  text-align: center;
}

.p-reason__item h3::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: min(8px, 1.0666666667vw);
  content: "";
  background: url(../img/reason_dot.png) no-repeat center center/contain;
}

.p-reason__item h3 span {
  position: relative;
  z-index: -1;
}

.p-reason__item h3 span::after {
  position: absolute;
  bottom: max(-10px, -1.3333333333vw);
  left: 50%;
  z-index: -2;
  width: 105%;
  height: min(25px, 3.3333333333vw);
  -webkit-clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
          clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
  content: "";
  background-color: #ffffab;
  transform: translateX(-50%);
}

.p-reason__item p {
  margin-top: min(15px, 2vw);
  font-size: min(20px, 2.6666666667vw);
  letter-spacing: 0.05em;
}

.p-reason__impression {
  padding: min(42px, 5.6vw) 0 min(56px, 7.4666666667vw);
  background: url(../img/reason_bg02.png) no-repeat center center/cover;
}

.p-reason__img {
  text-align: center;
}

.p-reason__img.p-reason__img--01 img {
  width: min(578px, 77.0666666667vw);
}

.p-reason__img.p-reason__img--02 img {
  width: min(581px, 77.4666666667vw);
}

.p-reason__bubble {
  width: min(632px, 84.2666666667vw);
  height: min(160px, 21.3333333333vw);
  margin: min(53px, 7.0666666667vw) auto min(47px, 6.2666666667vw);
  background: url(../img/reason_bubble.svg) no-repeat center center/contain;
}

.p-reason__bubble h2 {
  padding-top: min(28px, 3.7333333333vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(37px, 4.9333333333vw);
  font-weight: 900;
  line-height: 1.18;
  color: #27b56d;
  text-align: center;
}

.p-reason__bubble h2 span {
  color: #f29600;
}

.p-reason__suggestion {
  position: relative;
  width: min(706px, 94.1333333333vw);
  height: min(248px, 33.0666666667vw);
  margin: min(50px, 6.6666666667vw) auto 0;
  background: url(../img/reason_pic04.png) no-repeat center center/cover;
}

.p-reason__suggestion h3 {
  position: absolute;
  top: 50%;
  right: min(95px, 12.6666666667vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(35px, 4.6666666667vw);
  font-weight: 900;
  text-align: center;
  transform: translateY(-50%);
}

.p-reason__suggestion h3 span:not(:last-of-type) {
  font-size: min(26px, 3.4666666667vw);
}

.p-reason__suggestion h3 span:last-of-type {
  color: #f29600;
}

.p-ex {
  padding-bottom: min(30px, 4vw);
}

.p-ex__list {
  margin-top: min(34px, 4.5333333333vw);
}

.p-ex__list small {
  display: block;
  margin-bottom: min(15px, 2vw);
  font-size: min(18px, 2.4vw);
  font-weight: 700;
  color: #666;
  text-align: right;
}

.p-ex__item {
  padding: 0 min(6px, 0.8vw) min(20px, 2.6666666667vw);
  background-color: #6bb58c;
  border-radius: min(20px, 2.6666666667vw);
}

.p-ex__item:not(:first-of-type) {
  margin-top: min(48px, 6.4vw);
}

.p-ex__item h3 {
  position: relative;
  padding: min(9px, 1.2vw) 0;
  font-weight: 700;
  color: #fff;
}

.p-ex__item h3::before {
  position: absolute;
  top: 50%;
  left: min(20px, 2.6666666667vw);
  width: min(65px, 8.6666666667vw);
  height: min(65px, 8.6666666667vw);
  content: "";
  background: url(../img/ex_icon01.svg) no-repeat center center/contain;
  transform: translateY(-50%);
}

.p-ex__item h3 span {
  margin-left: min(100px, 13.3333333333vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(26px, 3.4666666667vw);
  font-weight: 900;
}

.p-ex__content {
  position: relative;
  z-index: 1;
  padding: min(25px, 3.3333333333vw) 0 min(25px, 3.3333333333vw) min(34px, 4.5333333333vw);
  background-color: #f7f7f7;
}

.p-ex__kwh {
  font-size: min(21.5px, 2.8666666667vw);
  font-weight: 700;
  color: #666;
}

.p-ex__cost {
  display: flex;
  -moz-column-gap: min(36px, 4.8vw);
       column-gap: min(36px, 4.8vw);
  margin-top: min(20px, 2.6666666667vw);
}

.p-ex__cost__item {
  display: flex;
  align-items: center;
  font-weight: 700;
}

.p-ex__cost__item > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(110px, 14.6666666667vw);
  height: min(30px, 4vw);
  font-size: min(20px, 2.6666666667vw);
  color: #fff;
  border-radius: min(4px, 0.5333333333vw);
}

.p-ex__cost__item p {
  /* margin-top: min(5px, 0.6666666667vw); */
  margin-bottom: min(5px, 0.6666666667vw);
  margin-left: 0.8em;
  font-size: min(28px, 4vw);
  color: #ff67b6;
  position: relative;
}

.p-ex__cost__item p::after {
  content: "";
  display: block;
  width: min(70px, 10vw);
  height: min(70px, 10vw);
  background: url(../img/ico_cost_item.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: min(20px, 2vw);
  right: max(-75px, -10vw);
}

.p-ex__cost__item p > span {
  font-size: min(60px, 8vw);
  margin-right: min(10px, 1.33vw);
  color: #ff67b6;
}

.p-ex__cost__item.p-ex__cost__item--install > span {
  background-color: #8cc63f;
}

.p-ex__cost__item.p-ex__cost__item--subsidy > span {
  background-color: #ff67b6;
  padding: 8px 0;
  height: auto;
}

.p-ex__cost__item.p-ex__cost__item--deposit > span {
  background-color: #f29600;
}

.p-ex__cost__how {
  font-size: min(17px, 2.2666666667vw);
  font-weight: 700;
  color: #666;
}

.p-ex__row {
  display: flex;
  -moz-column-gap: min(22px, 2.9333333333vw);
       column-gap: min(22px, 2.9333333333vw);
  align-items: flex-start;
}

.p-ex__row small {
  width: min(292px, 38.9333333333vw);
  margin-top: min(20px, 2.6666666667vw);
  font-size: min(15px, 2vw);
  font-weight: 400;
  text-align: left;
}

.p-ex__profit {
  padding-left: min(15px, 2vw);
  margin-top: min(24px, 3.2vw);
  border-left: min(4px, 0.5333333333vw) solid #f29600;
}

.p-ex__profit p {
  position: relative;
  top: max(-3px, -0.4vw);
  font-size: min(20px, 2.6666666667vw);
  font-weight: 700;
  color: #666;
}

.p-ex__profit span {
  color: #f29600;
}

.p-ex__profit span > span {
  font-size: min(33px, 4.4vw);
  line-height: 1.25;
}

.p-ex__item--03 .p-ex__profit {
  width: min(290px, 38.6666666667vw);
}

.p-ex__item--03 .p-ex__profit p {
  font-size: min(19px, 2.5333333333vw);
}

.p-ex__item--03 .p-ex__profit p > span {
  font-size: min(27px, 3.6vw);
}

.p-ex__item--03 .p-ex__profit p > span > span {
  font-size: min(19px, 2.5333333333vw);
}

.p-ex__before,
.p-ex__after {
  display: flex;
  -moz-column-gap: min(25px, 3.3333333333vw);
       column-gap: min(25px, 3.3333333333vw);
  color: #666;
}

.p-ex__before > span,
.p-ex__after > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(80px, 10.6666666667vw);
  height: min(80px, 10.6666666667vw);
  font-size: min(16px, 2.1333333333vw);
  font-weight: 700;
  color: #fff;
  border-radius: 50%;
}

.p-ex__before p,
.p-ex__after p {
  font-size: min(20px, 2.6666666667vw);
  font-weight: 700;
  font-feature-settings: "palt";
  line-height: 1.4;
}

.p-ex__before p span,
.p-ex__after p span {
  position: relative;
}

.p-ex__before p span::after,
.p-ex__after p span::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 105%;
  height: min(18px, 2.4vw);
  -webkit-clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
          clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
  content: "";
  background-color: #ffffab;
  transform: translateX(-50%);
}

.p-ex__before {
  position: relative;
  margin-top: min(35px, 4.6666666667vw);
}

.p-ex__before::after {
  position: absolute;
  bottom: max(-12px, -1.6vw);
  left: min(25px, 3.3333333333vw);
  width: min(30px, 4vw);
  height: min(30px, 4vw);
  content: "";
  background: url(../img/ex_icon03.svg) no-repeat center center/cover;
}

.p-ex__before > span {
  background-color: #888;
}

.p-ex__after {
  margin-top: min(25px, 3.3333333333vw);
}

.p-ex__after > span {
  background-color: #6bb58c;
}

.p-ex__voice {
  margin-top: max(-12px, -1.6vw);
}

.p-ex__voice h4 {
  display: flex;
  -moz-column-gap: min(9px, 1.2vw);
       column-gap: min(9px, 1.2vw);
  align-items: center;
  justify-content: flex-end;
  margin-right: min(25px, 3.3333333333vw);
  font-size: min(15px, 2vw);
  font-weight: 700;
  color: #666;
}

.p-ex__voice h4::before {
  position: relative;
  top: min(4px, 0.5333333333vw);
  display: inline-block;
  width: min(35px, 4.6666666667vw);
  height: min(30px, 4vw);
  content: "";
  background: url(../img/ex_icon02.svg) no-repeat center center/contain;
}

.p-ex__voice__bubble {
  position: relative;
  width: min(604px, 80.5333333333vw);
  height: min(147px, 19.6vw);
  margin-top: min(10px, 1.3333333333vw);
  background: url(../img/ex_bubble.svg) no-repeat center center/contain;
}

.p-ex__voice__bubble p {
  position: absolute;
  top: calc(50% - min(6px, 0.8vw));
  left: 50%;
  width: 100%;
  padding: 0 min(15px, 2vw);
  font-size: min(20px, 2.6666666667vw);
  line-height: 1.25;
  letter-spacing: 0.05em;
  transform: translate(-50%, -50%);
}

.p-ex__item--04 .p-ex__voice__bubble p {
  font-size: min(16px, 2.1333333333vw);
}

.p-about {
  padding-bottom: min(64px, 8.5333333333vw);
  background: url(../img/about_bg.png) no-repeat top center/cover;
}

.p-about__list {
  padding: min(36px, 4.8vw) min(45px, 6vw) min(52px, 6.9333333333vw);
  margin-top: min(38px, 5.0666666667vw);
  background-color: #fff;
  border-radius: min(20px, 2.6666666667vw);
}

.p-about__item:not(:first-of-type) {
  margin-top: min(40px, 5.3333333333vw);
}

.p-about__item h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: min(547px, 72.9333333333vw);
  padding: min(7px, 0.9333333333vw) 0;
  margin: 0 auto;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(29px, 3.8666666667vw);
  font-weight: 900;
  color: #fff;
  background-color: #888;
  border-radius: min(25px, 3.3333333333vw);
}

.p-about__item h4 {
  margin-top: min(20px, 2.6666666667vw);
  font-size: min(20px, 2.6666666667vw);
  font-weight: 700;
  line-height: 1.575;
  color: #27b56d;
  text-align: center;
}

.p-about__item p {
  line-height: 1.4;
  letter-spacing: 0.025em;
}

.p-about__item small {
  display: inline-block;
  font-size: min(12px, 1.6vw);
  line-height: 1.5;
}

.p-about__img {
  text-align: center;
}

.p-about__item--01 .p-about__img {
  margin: min(31px, 4.1333333333vw) 0 min(26px, 3.4666666667vw);
}

.p-about__item--02 .p-about__img {
  margin: min(27px, 3.6vw) 0 min(22px, 2.9333333333vw);
}

.p-about__item--03 .p-about__img {
  margin: min(17px, 2.2666666667vw) 0 min(24px, 3.2vw);
}

.p-about__item--04 .p-about__img {
  margin: min(26px, 3.4666666667vw) 0 min(33px, 4.4vw);
}

.p-about__item--05 .p-about__img {
  margin: min(25px, 3.3333333333vw) 0 min(26px, 3.4666666667vw);
}

.p-about__ex {
  position: relative;
  padding: 0 min(30px, 4vw) min(50px, 6.6666666667vw);
  margin-top: min(42px, 5.6vw);
  background-color: #fff;
  border: min(5px, 0.6666666667vw) solid #6bb58c;
  border-radius: min(22px, 2.9333333333vw);
}

.p-about__ex::after {
  position: absolute;
  right: min(40px, 5.3333333333vw);
  bottom: 0;
  z-index: 1;
  width: min(135px, 18vw);
  height: min(191px, 25.4666666667vw);
  content: "";
  background: url(../img/about_pic07.png) no-repeat center center/contain;
}

.p-about__ex h3 {
  margin-top: min(16px, 2.1333333333vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(30px, 4vw);
  font-weight: 900;
  color: #6bb58c;
  text-align: center;
}

.p-about__ex h3 span {
  font-size: min(43px, 5.7333333333vw);
}

.p-about__ex h3 p {
  display: block;
  margin-bottom: min(12px, 1.6vw);
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(24px, 3.2vw);
  font-weight: 400;
  color: #3e3a39;
}

.p-about__ex h4 {
  display: flex;
  justify-content: center;
  height: min(189px, 25.2vw);
  padding-top: min(27px, 3.6vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(32px, 4.2666666667vw);
  font-weight: 900;
  color: #ffe100;
  text-align: center;
  background: url(../img/about_bubble.svg) no-repeat center center/cover;
}

.p-about__ex h5 {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: min(6px, 0.8vw) min(58px, 7.7333333333vw);
  margin-top: min(32px, 4.2666666667vw);
  margin-left: min(33px, 4.4vw);
  font-size: min(22px, 2.9333333333vw);
  font-weight: 700;
  color: #fff;
  background-color: #6bb58c;
  border-radius: 100vh;
}

.p-about__ex h5::before {
  position: absolute;
  top: 50%;
  left: max(-33px, -4.4vw);
  z-index: -1;
  width: min(520px, 69.3333333333vw);
  height: min(3px, 0.4vw);
  content: "";
  background-color: #6bb58c;
  transform: translateY(-50%);
}

.p-about__ex__img {
  margin-top: min(34px, 4.5333333333vw);
  text-align: center;
}

.p-about__ex__txt {
  margin-top: min(20px, 2.6666666667vw);
}

.p-about__ex__txt p {
  font-size: min(20px, 2.6666666667vw);
}

.p-era__battery {
  position: relative;
  padding-bottom: min(60px, 8vw);
  background-color: #6bb58c;
}

.p-era__battery::after {
  position: absolute;
  bottom: max(-47px, -6.2666666667vw);
  left: 50%;
  width: min(60px, 8vw);
  height: min(48px, 6.4vw);
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 50%);
          clip-path: polygon(100% 0, 0 0, 50% 50%);
  content: "";
  background-color: #6bb58c;
  transform: translateX(-50%);
}

.p-era__battery__head {
  position: relative;
  padding: min(22px, 2.9333333333vw) 0;
  background-color: #fff;
  border-top: min(4px, 0.5333333333vw) solid #6bb58c;
}

.p-era__battery__head::after {
  position: absolute;
  bottom: max(-19px, -2.5333333333vw);
  left: 50%;
  width: min(42px, 5.6vw);
  height: min(20px, 2.6666666667vw);
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 50%);
          clip-path: polygon(100% 0, 0 0, 50% 50%);
  content: "";
  background-color: #fff;
  transform: translateX(-50%);
}

.p-era__battery__head h3 {
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(55px, 7.3333333333vw);
  font-weight: 900;
  font-feature-settings: "palt";
  color: #27b56d;
  text-align: center;
  letter-spacing: 0.16em;
}

.p-era__battery__head h3 span {
  font-size: min(38px, 5.0666666667vw);
}

.p-era__battery__list {
  display: flex;
  -moz-column-gap: min(12px, 1.6vw);
       column-gap: min(12px, 1.6vw);
  align-items: center;
  justify-content: center;
  margin-top: min(45px, 6vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-weight: 900;
}

.p-era__battery__list p {
  font-size: min(39px, 5.2vw);
  color: #ffffab;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.p-era__battery__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(186px, 24.8vw);
  height: min(186px, 24.8vw);
  font-size: min(42px, 5.6vw);
  color: #27b56d;
  background-color: #ffffab;
  border-radius: 50%;
}

.p-era__battery__bubble {
  position: relative;
  width: min(343px, 45.7333333333vw);
  height: min(204px, 27.2vw);
  margin: min(45px, 6vw) min(56px, 7.4666666667vw) 0 auto;
  background: url(../img/era_bubble.svg) no-repeat center center/cover;
}

.p-era__battery__bubble::before {
  position: absolute;
  top: 50%;
  left: max(-320px, -42.6666666667vw);
  width: min(273px, 36.4vw);
  height: min(224px, 29.8666666667vw);
  content: "";
  background: url(../img/era_pic01.png) no-repeat center center/cover;
  transform: translateY(-50%);
}

.p-era__battery__bubble h4 {
  padding-top: min(20px, 2.6666666667vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(55px, 7.3333333333vw);
  font-weight: 900;
  text-align: center;
}

.p-era__battery__bubble h4 span:first-of-type {
  font-size: min(42px, 5.6vw);
}

.p-era__battery__bubble h4 span:last-of-type {
  color: #27b56d;
}

.p-era__battery__txt {
  margin-top: min(55px, 7.3333333333vw);
  font-size: min(32px, 4.2666666667vw);
  color: #fff;
  text-align: center;
}

.p-era__battery__txt p {
  position: relative;
}

.p-era__battery__txt p::before, .p-era__battery__txt p::after {
  position: absolute;
  top: 50%;
  width: min(35px, 4.6666666667vw);
  height: min(54px, 7.2vw);
  content: "";
  background: url(../img/flow_dec.svg) no-repeat center center/contain;
  transform: translateY(-50%);
}

.p-era__battery__txt p::before {
  left: min(92px, 12.2666666667vw);
}

.p-era__battery__txt p::after {
  right: min(92px, 12.2666666667vw);
  transform: translateY(-50%) rotateY(180deg);
}

.p-era__battery__txt h2 {
  margin-top: min(20px, 2.6666666667vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(65px, 8.6666666667vw);
  font-weight: 900;
}

.p-era__battery__txt h2 span:first-of-type {
  font-size: min(76px, 10.1333333333vw);
  color: #ffe100;
}

.p-era__battery__txt h2 span:nth-of-type(2), .p-era__battery__txt h2 span:nth-of-type(3) {
  font-size: min(51px, 6.8vw);
}

.p-era__battery__txt h2 span:last-of-type {
  position: relative;
  font-size: min(79px, 10.5333333333vw);
}

.p-era__battery__txt h2 span:last-of-type::before, .p-era__battery__txt h2 span:last-of-type::after {
  position: absolute;
  width: min(96px, 12.8vw);
  height: min(96px, 12.8vw);
  content: "";
  background: url(../img/era_dec.svg) no-repeat center center/contain;
}

.p-era__battery__txt h2 span:last-of-type::before {
  top: max(-20px, -2.6666666667vw);
  left: max(-75px, -10vw);
}

.p-era__battery__txt h2 span:last-of-type::after {
  right: max(-50px, -6.6666666667vw);
  bottom: max(-50px, -6.6666666667vw);
}

.p-era__ex {
  padding: min(90px, 12vw) 0 min(40px, 5.3333333333vw);
  background: url(../img/era_bg.png) no-repeat center center/cover;
}

.p-era__ex p {
  margin-top: min(35px, 4.6666666667vw);
  font-weight: 700;
  text-align: center;
}

.p-era__ex p::after {
  display: block;
  width: min(587px, 78.2666666667vw);
  height: min(7px, 0.9333333333vw);
  margin: min(10px, 1.3333333333vw) auto 0;
  content: "";
  background: url(../img/era_dot.png) no-repeat center center/cover;
}

.p-era__ex h2 {
  margin-top: min(20px, 2.6666666667vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(67px, 8.9333333333vw);
  font-weight: 900;
  color: #27b56d;
  text-align: center;
}

.p-era__ex h2::after {
  display: block;
  width: min(695px, 92.6666666667vw);
  height: min(168px, 22.4vw);
  margin: min(15px, 2vw) 0 0 auto;
  content: "";
  background: url(../img/era_pic04.png) no-repeat center center/cover;
}

.p-era__ex h2 span:first-of-type {
  position: relative;
  font-size: min(103px, 13.7333333333vw);
}

.p-era__ex h2 span:first-of-type::after {
  position: absolute;
  bottom: max(-5px, -0.6666666667vw);
  left: 50%;
  z-index: -1;
  width: 100%;
  height: min(69px, 9.2vw);
  -webkit-clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
          clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
  content: "";
  background-color: #ffffab;
  transform: translateX(-50%);
}

.p-era__ex h2 span:not(:first-of-type) {
  font-size: min(53px, 7.0666666667vw);
}

.p-era__ex small {
  display: block;
  padding-right: min(30px, 4vw);
  margin-top: min(30px, 4vw);
  font-size: min(14px, 1.8666666667vw);
  text-align: right;
}

.p-era__ex__family {
  width: min(677px, 90.2666666667vw);
  margin: 0 auto;
  text-align: center;
}

.p-era__ex__family:not(:first-of-type) {
  margin-top: min(68px, 9.0666666667vw);
}

.p-era__ex__family h3 {
  position: relative;
  top: max(-27px, -3.6vw);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(438px, 58.4vw);
  height: min(56px, 7.4666666667vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(29px, 3.8666666667vw);
  font-weight: 900;
  color: #fff;
  background-color: #6bb58c;
  border-radius: 100vh;
}

.p-era__ex__family h3 span {
  color: #ffe100;
}

.p-era__ex__family.p-era__ex__family--01 {
  height: min(243px, 32.4vw);
  background: url(../img/era_pic02.png) no-repeat center center/cover;
}

.p-era__ex__family.p-era__ex__family--02 {
  height: min(297px, 39.6vw);
  background: url(../img/era_pic03.png) no-repeat center center/cover;
}

.p-era__ex__list {
  display: flex;
  justify-content: space-between;
  padding: 0 min(42px, 5.6vw);
  margin-top: min(38px, 5.0666666667vw);
}

.p-era__ex__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(158px, 21.0666666667vw);
  height: min(158px, 21.0666666667vw);
  font-weight: 700;
  color: #27b56d;
  text-align: center;
  background-color: #ffffab;
  border-radius: 50%;
}

.p-fit {
  padding: min(59px, 7.8666666667vw) min(37px, 4.9333333333vw);
  background: url(../img/fit_bg.png) no-repeat center center/cover;
}

.p-fit__content {
  position: relative;
  padding: min(140px, 18.6666666667vw) min(27px, 3.6vw) min(38px, 5.0666666667vw);
  background-color: rgb(255 255 255 / 70%);
  border-radius: min(30px, 4vw);
}

.p-fit__content::before, .p-fit__content::after {
  position: absolute;
  content: "";
}

.p-fit__content::before {
  position: absolute;
  top: max(-20px, -2.6666666667vw);
  left: max(-12px, -1.6vw);
  width: min(352px, 46.9333333333vw);
  height: min(117px, 15.6vw);
  background: url(../img/fit_pic01.png) no-repeat center center/cover;
}

.p-fit__content::after {
  top: max(-35px, -4.6666666667vw);
  right: min(35px, 4.6666666667vw);
  width: min(272px, 36.2666666667vw);
  height: min(170px, 22.6666666667vw);
  background: url(../img/fit_pic02.png) no-repeat center center/cover;
}

.p-fit__content h2 {
  position: relative;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(68px, 9.0666666667vw);
  font-weight: 900;
  color: #f29600;
  text-align: center;
  -webkit-text-stroke: min(15px, 2vw) #fff;
}

.p-fit__content h2::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  content: "卒FIT後も安心！";
  transform: translate(-50%, -50%);
  -webkit-text-stroke: 0;
}

.p-fit__ex {
  position: relative;
  z-index: 1;
  padding-left: min(70px, 9.3333333333vw);
  margin-top: min(24px, 3.2vw);
}

.p-fit__ex::before {
  position: absolute;
  top: max(-6px, -0.8vw);
  left: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(54px, 7.2vw);
  height: min(54px, 7.2vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(26px, 3.4666666667vw);
  font-weight: 900;
  color: #fff;
  content: "例";
  background-color: #666;
  border-radius: 50%;
}

.p-fit__ex p {
  font-size: min(26px, 3.4666666667vw);
}

.p-fit__ex p:not(:first-of-type) {
  margin-top: min(25px, 3.3333333333vw);
}

.p-fit__ex p span {
  position: relative;
}

.p-fit__ex p span::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: -1;
  width: 105%;
  height: min(20px, 2.6666666667vw);
  -webkit-clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
          clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
  content: "";
  background-color: rgb(255 225 0 / 50%);
  transform: translateX(-50%);
}

.p-fit__ex small {
  display: block;
  padding-left: min(55px, 7.3333333333vw);
  font-size: min(14px, 1.8666666667vw);
}

.p-fit__ex small:first-of-type {
  margin-top: min(40px, 5.3333333333vw);
}

.p-fit__ex small:last-of-type {
  margin-top: min(18px, 2.4vw);
}

.p-fit__img {
  margin-top: min(35px, 4.6666666667vw);
  text-align: center;
}

.p-fit__img h3 {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(508px, 67.7333333333vw);
  height: min(48px, 6.4vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(25px, 3.3333333333vw);
  font-weight: 900;
  color: #fff;
  background-color: #717071;
  border-radius: 100vh;
}

.p-fit__img img {
  width: min(627px, 82.9333333333vw);
  margin-top: max(-24px, -3.2vw);
}

.p-battery {
  padding-bottom: min(50px, 6.6666666667vw);
  background-color: #6bb58c;
}

.p-battery::before {
  display: block;
  width: min(47px, 6.2666666667vw);
  height: min(72px, 9.6vw);
  margin: 0 auto;
  content: "";
  background: url(../img/battery_arrow.svg) no-repeat center center/cover;
}

.p-battery__heading {
  margin-top: min(10px, 1.3333333333vw);
  color: #fff;
  text-align: center;
}

.p-battery__heading p {
  font-size: min(33px, 4.4vw);
  font-weight: 700;
  line-height: 1.45;
}

.p-battery__heading h2 {
  position: relative;
  margin-top: min(25px, 3.3333333333vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(73px, 9.7333333333vw);
  font-weight: 900;
}

.p-battery__heading h2::before {
  position: absolute;
  top: max(-55px, -7.3333333333vw);
  right: 0;
  width: min(103px, 13.7333333333vw);
  height: min(143px, 19.0666666667vw);
  content: "";
  background: url(../img/latest_icon.svg) no-repeat center center/cover;
}

.p-battery__heading h2::after {
  display: block;
  width: min(618px, 82.4vw);
  height: min(5px, 0.6666666667vw);
  margin: min(5px, 0.6666666667vw) auto 0;
  content: "";
  background: url(../img/battery_line.svg) no-repeat center center/cover;
}

.p-battery__heading h2 span:first-of-type {
  font-size: min(62px, 8.2666666667vw);
}

.p-battery__heading h2 span:last-of-type {
  font-size: min(96px, 12.8vw);
  line-height: 1.2;
  color: #ffe100;
}

.p-battery__frame {
  width: 100%;
  height: min(403px, 53.7333333333vw);
  margin-top: min(45px, 6vw);
  color: #4d4d4d;
  text-align: center;
  background: url(../img/battery_frame.svg) no-repeat center center/cover;
}

.p-battery__frame p {
  padding-top: min(90px, 12vw);
  font-size: min(40px, 5.3333333333vw);
  font-weight: 700;
}

.p-battery__frame h3 {
  margin-top: min(10px, 1.3333333333vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(80px, 10.6666666667vw);
  font-weight: 900;
}

.p-battery__frame h3 span:not(:last-of-type) {
  font-size: min(65px, 8.6666666667vw);
}

.p-battery__frame h3 span:last-of-type {
  position: relative;
  z-index: 1;
  color: #0dac67;
}

.p-battery__frame h3 span:last-of-type::after {
  position: absolute;
  bottom: max(-5px, -0.6666666667vw);
  left: calc(50% - min(10px, 1.3333333333vw));
  z-index: -1;
  width: 100%;
  height: min(50px, 6.6666666667vw);
  -webkit-clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
          clip-path: polygon(1% 0%, 100% 0%, 99% 100%, 0% 100%);
  content: "";
  background-color: #fff000;
  transform: translateX(-50%);
}

.p-battery__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: min(75px, 10vw);
}

.p-battery__row.p-battery__row--01 {
  position: relative;
}

.p-battery__row.p-battery__row--01 img {
  position: absolute;
  top: calc(50% - min(20px, 2.6666666667vw));
  left: 0;
  width: min(236px, 31.4666666667vw);
  transform: translateY(-50%);
}

.p-battery__row.p-battery__row--01 .p-battery__row__bubble {
  width: min(406px, 54.1333333333vw);
  height: min(182px, 24.2666666667vw);
  margin-left: auto;
  background: url(../img/battery_bubble01.svg) no-repeat center center/cover;
}

.p-battery__row.p-battery__row--01 .p-battery__row__bubble p {
  top: min(35px, 4.6666666667vw);
  left: 50%;
  font-weight: 700;
  line-height: 1.42;
  color: #fff;
  transform: translateX(-50%);
}

.p-battery__row.p-battery__row--02 img {
  width: min(283px, 37.7333333333vw);
  margin-right: min(20px, 2.6666666667vw);
}

.p-battery__row.p-battery__row--02 .p-battery__row__bubble {
  width: min(262px, 34.9333333333vw);
  height: min(262px, 34.9333333333vw);
  background: url(../img/battery_bubble02.svg) no-repeat center center/cover;
}

.p-battery__row.p-battery__row--02 .p-battery__row__bubble p {
  top: 50%;
  left: calc(50% + min(7px, 0.9333333333vw));
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(58px, 7.7333333333vw);
  font-weight: 900;
  color: #4d4d4d;
  transform: translate(-50%, -50%);
}

.p-battery__row__bubble {
  position: relative;
}

.p-battery__row__bubble p {
  position: absolute;
  width: 100%;
  text-align: center;
}

.p-battery__reason {
  margin-top: min(75px, 10vw);
  background-color: #fff;
  border: min(4px, 0.5333333333vw) solid #ffe100;
  border-radius: min(26px, 3.4666666667vw);
}

.p-battery__reason h3 {
  position: relative;
  top: max(-30px, -4vw);
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(577px, 76.9333333333vw);
  height: min(82px, 10.9333333333vw);
  margin: 0 auto;
  margin-top: -10px;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(42px, 5.6vw);
  font-weight: 900;
  color: #27b56d;
  background-color: #ffe100;
  border-radius: 100vh;
}

.p-battery__list {
  padding: 0 min(36px, 4.8vw) min(5px, 0.6666666667vw);
}

.p-battery__item {
  position: relative;
  color: #4d4d4d;
}

.p-battery__item:not(:first-of-type) {
  margin-top: min(55px, 7.3333333333vw);
}

.p-battery__item h4 {
  display: flex;
  -moz-column-gap: min(25px, 3.3333333333vw);
       column-gap: min(25px, 3.3333333333vw);
  align-items: center;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(51px, 6.8vw);
  font-weight: 900;
}

.p-battery__item h4 img {
  width: min(92px, 12.2666666667vw);
}

.p-battery__item p {
  margin-top: min(30px, 4vw);
  font-weight: 700;
}

.p-battery__item.p-battery__item--01::after {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(188px, 25.0666666667vw);
  height: min(211px, 28.1333333333vw);
  content: "";
  background: url(../img/battery_pic03.png) no-repeat center center/cover;
}

.p-battery__item.p-battery__item--02 {
  padding-bottom: min(110px, 14.6666666667vw);
}

.p-battery__item.p-battery__item--02::after {
  position: absolute;
  right: max(-26px, -3.4666666667vw);
  bottom: 0;
  width: min(190px, 25.3333333333vw);
  height: min(223px, 29.7333333333vw);
  content: "";
  background: url(../img/battery_pic04.png) no-repeat center center/cover;
}

.p-battery__recommend {
  position: relative;
  margin-top: min(56px, 7.4666666667vw);
}

.p-battery__recommend__bubble {
  position: absolute;
  top: max(-32px, -4.2666666667vw);
  left: 0;
  width: min(180px, 24vw);
  height: min(160px, 21.3333333333vw);
  background: url(../img/battery_bubble03.svg) no-repeat center center/cover;
}

.p-battery__recommend__bubble p {
  position: absolute;
  top: min(45px, 6vw);
  left: min(36px, 4.8vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(68px, 9.0666666667vw);
  font-weight: 900;
  color: #00a99d;
}

.p-battery__recommend__txt {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-weight: 900;
  color: #fff;
  text-align: center;
}

.p-battery__recommend__txt p {
  font-size: min(32px, 4.2666666667vw);
}

.p-battery__recommend__txt h3 {
  margin-top: min(15px, 2vw);
  font-size: min(52px, 6.9333333333vw);
}

.p-battery__recommend__txt .p-battery__yellow {
  color: #ffe100;
}

.p-battery__recommend__txt .p-battery__small {
  font-size: min(40px, 5.3333333333vw);
}

.p-glad {
  padding-bottom: min(45px, 6vw);
  background: url(../img/glad_bg.png) no-repeat center center/cover;
}

.p-glad__circle {
  padding-top: min(28px, 3.7333333333vw);
  background: url(../img/glad_circle.png) no-repeat center center/cover;
}

.p-glad__circle::after {
  display: block;
  width: min(422px, 56.2666666667vw);
  height: min(255px, 34vw);
  margin: min(40px, 5.3333333333vw) auto 0;
  content: "";
  background: url(../img/glad_pic02.png) no-repeat center center/cover;
}

.p-glad__circle h2 {
  margin-top: min(25px, 3.3333333333vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-weight: 900;
  color: #f29600;
  text-align: center;
}

.p-glad__circle h2 span {
  position: relative;
  display: block;
  -webkit-text-stroke: min(6px, 0.8vw) #fff;
  font-size: min(27px, 3.6vw);
}

.p-glad__circle h2 span::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  content: "そんなあなたへ･･･";
  transform: translate(-50%, -50%);
  -webkit-text-stroke: 0;
}

.p-glad__circle h2 p {
  position: relative;
  margin-top: min(10px, 1.3333333333vw);
  font-size: min(81px, 10.8vw);
  -webkit-text-stroke: min(14px, 1.8666666667vw) #fff;
}

.p-glad__circle h2 p::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  content: "ここで朗報！";
  transform: translate(-50%, -50%);
  -webkit-text-stroke: 0;
}

.p-glad__row {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-glad__row img {
  width: min(273px, 36.4vw);
}

.p-glad__bubble {
  position: relative;
  width: min(407px, 54.2666666667vw);
  height: min(182px, 24.2666666667vw);
  background: url(../img/glad_bubble.svg) no-repeat center center/cover;
}

.p-glad__bubble p {
  position: absolute;
  top: min(35px, 4.6666666667vw);
  left: 50%;
  width: 100%;
  font-weight: 700;
  color: #f29600;
  text-align: center;
  transform: translateX(-50%);
}

.p-glad__txt {
  width: min(699px, 93.2vw);
  margin: min(26px, 3.4666666667vw) auto 0;
}

.p-glad__txt h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  height: min(70px, 9.3333333333vw);
  font-size: min(33px, 4.4vw);
  font-weight: 700;
  background-color: #ffffab;
  border-radius: 100vh;
}

.p-glad__txt h3:not(:first-of-type) {
  margin-top: min(24px, 3.2vw);
}

.p-glad__txt h3 span {
  color: #f29600;
}

.p-glad__txt h4 {
  margin-top: min(30px, 4vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(57px, 7.6vw);
  font-weight: 900;
  color: #27b56d;
  text-align: center;
}

.p-glad__txt h4 span {
  font-size: min(45px, 6vw);
}

.p-flow {
  padding: min(70px, 9.3333333333vw) 0;
  background-color: rgb(242 150 0 / 80%);
}

.p-flow h2 {
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(61px, 8.1333333333vw);
  font-weight: 900;
  color: #fff;
  text-align: center;
}

.p-flow h2 p {
  position: relative;
  margin-bottom: min(20px, 2.6666666667vw);
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(36px, 4.8vw);
  font-weight: 700;
}

.p-flow h2 p::before, .p-flow h2 p::after {
  position: absolute;
  top: 50%;
  width: min(35px, 4.6666666667vw);
  height: min(54px, 7.2vw);
  content: "";
  background: url(../img/flow_dec.svg) no-repeat center center/contain;
  transform: translateY(-50%);
}

.p-flow h2 p::before {
  left: min(26px, 3.4666666667vw);
}

.p-flow h2 p::after {
  right: min(26px, 3.4666666667vw);
  transform: translateY(-50%) rotateY(180deg);
}

.p-flow__content {
  display: flex;
  -moz-column-gap: min(40px, 5.3333333333vw);
       column-gap: min(40px, 5.3333333333vw);
  margin-top: min(45px, 6vw);
}

.p-flow__list {
  width: 84%;
}

.p-flow__item {
  position: relative;
  padding-top: min(22px, 2.9333333333vw);
  background-color: #fff;
  border-radius: min(26px, 3.4666666667vw);
}

.p-flow__item:not(:first-of-type) {
  margin-top: min(24px, 3.2vw);
}

.p-flow__item:not(:first-of-type)::before {
  position: absolute;
  top: max(-34px, -4.5333333333vw);
  left: 50%;
  width: min(55px, 7.3333333333vw);
  height: min(39px, 5.2vw);
  content: "";
  background: url(../img/flow_arrow01.svg) no-repeat center center/contain;
  transform: translateX(-50%);
}

.p-flow__item::after {
  position: absolute;
  bottom: min(2px, 0.2666666667vw);
  content: "";
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}

.p-flow__item.p-flow__item--01 {
  padding-bottom: min(88px, 11.7333333333vw);
}

.p-flow__item.p-flow__item--01::after {
  right: min(18px, 2.4vw);
  width: min(159px, 21.2vw);
  height: min(156px, 20.8vw);
  content: "";
  background-image: url(../img/flow_pic01.png);
}

.p-flow__item.p-flow__item--01 p {
  font-size: min(24px, 3.2vw);
}

.p-flow__item.p-flow__item--02 {
  padding-bottom: min(30px, 4vw);
}

.p-flow__item.p-flow__item--02::after {
  right: min(20px, 2.6666666667vw);
  width: min(154px, 20.5333333333vw);
  height: min(165px, 22vw);
  content: "";
  background-image: url(../img/flow_pic02.png);
}

.p-flow__item.p-flow__item--02 p {
  font-size: min(26px, 3.4666666667vw);
}

.p-flow__item.p-flow__item--03 {
  padding-bottom: min(222px, 29.6vw);
}

.p-flow__item.p-flow__item--03::after {
  left: 50%;
  width: min(312px, 41.6vw);
  height: min(204px, 27.2vw);
  content: "";
  background-image: url(../img/flow_pic03.png);
  transform: translateX(-50%);
}

.p-flow__item.p-flow__item--03 p {
  font-size: min(26px, 3.4666666667vw);
}

.p-flow__item h3 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(210px, 28vw);
  height: min(39px, 5.2vw);
  padding: 0 min(36px, 4.8vw);
  margin: 0 auto min(25px, 3.3333333333vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(23px, 3.0666666667vw);
  font-weight: 900;
  text-align: center;
  background: url(../img/flow_btn.svg) no-repeat center center/contain;
}

.p-flow__item h3::before, .p-flow__item h3::after {
  position: absolute;
  top: 50%;
  width: min(147px, 19.6vw);
  height: 1px;
  content: "";
  background-color: #231815;
  transform: translateY(-50%);
}

.p-flow__item h3::before {
  left: max(-155px, -20.6666666667vw);
}

.p-flow__item h3::after {
  right: max(-155px, -20.6666666667vw);
}

.p-flow__item h4 {
  padding-left: min(36px, 4.8vw);
  margin-bottom: min(16px, 2.1333333333vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(32px, 4.2666666667vw);
  font-weight: 900;
  color: #f29600;
}

.p-flow__item p {
  padding-left: min(36px, 4.8vw);
  font-weight: 700;
  line-height: 1.42;
}

.p-flow__arrow p {
  position: relative;
  font-size: min(26px, 3.4666666667vw);
  font-weight: 700;
  color: #fff;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

.p-flow__arrow p:first-of-type {
  padding: min(200px, 26.6666666667vw) 0;
}

.p-flow__arrow p:last-of-type {
  padding: min(165px, 22vw) 0;
  margin-top: min(20px, 2.6666666667vw);
}

.p-flow__arrow p::before, .p-flow__arrow p::after {
  position: absolute;
  width: min(32px, 4.2666666667vw);
  height: min(159px, 21.2vw);
  content: "";
  background: url(../img/flow_arrow02.svg) no-repeat center center/contain;
}

.p-flow__arrow p::before {
  top: 0;
}

.p-flow__arrow p::after {
  bottom: 0;
  transform: rotate(180deg);
}

.p-faq {
  padding-bottom: min(47px, 6.2666666667vw);
}

.p-contact {
  padding: min(30px, 8vw) 0;
  background-color: #53a4d3;
  border: min(4px, 0.5333333333vw) solid #53a4d3;
}

.p-contact__content {
  position: relative;
  padding: 0 min(26px, 3.4666666667vw);
  background-color: #fff;
  padding-top: 10px;
}

.p-contact__content.p-contact__content--bubble::before, .p-contact__content.p-contact__content--bubble::after {
  position: absolute;
  content: "";
}

.p-contact__content.p-contact__content--bubble::before {
  top: max(-15px, -2vw);
  left: max(-9px, -1.2vw);
  width: min(321px, 42.8vw);
  height: min(69px, 9.2vw);
  background: url(../img/contact_bubble01.png) no-repeat center center/cover;
}

.p-contact__content.p-contact__content--bubble::after {
  top: min(7px, 0.9333333333vw);
  right: max(-9px, -1.2vw);
  width: min(321px, 42.8vw);
  height: min(77px, 10.2666666667vw);
  background: url(../img/contact_bubble02.png) no-repeat center center/cover;
}

.p-contact__head {
  text-align: center;
}

.p-contact__head p {
  position: relative;
  font-size: min(28px, 3.7333333333vw);
  font-weight: 700;
}

.p-contact__head p::before, .p-contact__head p::after {
  position: absolute;
  top: 50%;
  width: min(61px, 8.1333333333vw);
  height: min(68px, 9.0666666667vw);
  content: "";
  background: url(../img/contact_dec.svg) no-repeat center center/contain;
  transform: translateY(-50%);
}

.p-contact__head p::before {
  left: min(130px, 17.3333333333vw);
}

.p-contact__head p::after {
  right: min(130px, 17.3333333333vw);
  transform: translateY(-50%) rotateY(180deg);
}

.p-contact__head h2 {
  margin-top: min(10px, 1.3333333333vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(46px, 6.1333333333vw);
  font-weight: 900;
  color: #6bb58c;
}

.p-contact__head span {
  display: block;
  margin-top: min(10px, 1.3333333333vw);
  font-size: min(24px, 3.2vw);
  font-weight: 700;
}

.p-contact__dl {
  margin-top: min(20px, 2.6666666667vw);
}

.p-contact__radio:nth-of-type(2) {
  margin-top: min(36px, 4.8vw);
}

.p-contact__radio dt {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min(51px, 6.8vw);
  font-family: toppan-bunkyu-midashi-go-std, sans-serif;
  font-size: min(26px, 3.4666666667vw);
  font-weight: 900;
  color: #fff;
  background-color: #6bb58c;
}

.p-contact__radio dt:nth-of-type(2) {
  margin-top: min(36px, 4.8vw);
}

.p-contact__radio dt::after {
  position: absolute;
  bottom: max(-18px, -2.4vw);
  left: 50%;
  width: min(29px, 3.8666666667vw);
  height: min(25px, 3.3333333333vw);
  -webkit-clip-path: polygon(100% 0, 0 0, 50% 100%);
          clip-path: polygon(100% 0, 0 0, 50% 100%);
  content: "";
  background-color: #6bb58c;
  transform: translateX(-50%);
}

.p-contact__radio dd {
  margin-top: min(22px, 2.9333333333vw);
}

.p-contact__radio label {
  display: block;
  margin-top: min(20px, 2.6666666667vw);
}

.p-contact__radio [type="radio"] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}

.p-contact__radio [type="radio"] + span {
  position: relative;
  padding-left: min(60px, 8vw);
  font-size: min(28px, 3.7333333333vw);
  font-weight: 700;
  cursor: pointer;
}

.p-contact__radio [type="radio"] + span::before, .p-contact__radio [type="radio"] + span::after {
  position: absolute;
  top: 50%;
  display: block;
  content: "";
  border-radius: 50%;
  transform: translateY(-50%);
}

.p-contact__radio [type="radio"] + span::before {
  left: 0;
  width: min(44px, 5.8666666667vw);
  height: min(44px, 5.8666666667vw);
  background-color: #fff;
  border: 1px solid #6bb58c;
}

.p-contact__radio [type="radio"] + span::after {
  left: min(12px, 1.6vw);
  width: min(20px, 2.6666666667vw);
  height: min(20px, 2.6666666667vw);
  background-color: #6bb58c;
  opacity: 0;
  transition: opacity 300ms ease-out;
}

.p-contact__radio [type="radio"]:checked + span::after {
  opacity: 1;
}

.p-contact__radio [type="radio"]:focus-visible ~ span {
  text-decoration: underline;
}

.p-contact__pref,
.p-contact__zip,
.p-contact__address,
.p-contact__name,
.p-contact__tel,
.p-contact__email,.p-contact__naiyou {
  margin-top: min(30px, 4vw);
}

.p-contact__pref dt,
.p-contact__zip dt,
.p-contact__address dt,
.p-contact__name dt,
.p-contact__tel dt,
.p-contact__email dt,
.p-contact__select dt,
.p-contact__naiyou dt {
  display: flex;
  -moz-column-gap: min(10px, 1.3333333333vw);
       column-gap: min(10px, 1.3333333333vw);
  align-items: center;
  margin-bottom: min(10px, 1.3333333333vw);
  font-size: min(28px, 4.533333vw);
  font-weight: 700;
}

.p-contact__pref dd small {
  display: block;
  margin-bottom: min(16px, 2.1333333333vw);
  font-size: min(22px, 2.9333333333vw);
  font-weight: 700;
  color: #e3007f;
}

.p-contact__zip dd small,
.p-contact__address dd small,
.p-contact__name dd small,
.p-contact__tel dd small,
.p-contact__email dd small {
  display: block;
  margin-bottom: min(16px, 2.1333333333vw);
  font-size: min(20px, 2.6666666667vw);
  color: #53a4d3;
}

.p-contact__select dd small {
  display: block;
  margin-top: min(16px, 2.1333333333vw);
  font-size: min(22px, 2.9333333333vw);
  font-weight: 700;
  color: #e3007f;
}

.p-contact__pref [type="text"],
.p-contact__pref [type="email"],
.p-contact__pref [type="tel"],
.p-contact__zip [type="text"],
.p-contact__zip [type="email"],
.p-contact__zip [type="tel"],
.p-contact__address [type="text"],
.p-contact__address [type="email"],
.p-contact__address [type="tel"],
.p-contact__name [type="text"],
.p-contact__name [type="email"],
.p-contact__name [type="tel"],
.p-contact__tel [type="text"],
.p-contact__tel [type="email"],
.p-contact__tel [type="tel"],
.p-contact__email [type="text"],
.p-contact__email [type="email"],
.p-contact__email [type="tel"] {
  width: 100%;
  height: min(66px, 8.8vw);
  padding: 0 min(24px, 3.2vw);
  margin: 0;
  font-family: inherit;
  font-size: min(24px, 3.2vw);
  font-weight: inherit;
  color: #3e3a39;
  background-color: #fff;
  border: 1px solid #3e3a39;
  border-radius: min(5px, 0.6666666667vw);
  outline: none;
}
.p-contact__naiyou textarea {
  width: 100%;
  height: min(246px, 15.8vw);
  padding: 0 min(24px, 3.2vw);
  margin: 0;
  font-family: inherit;
  font-size: min(24px, 3.2vw);
  font-weight: inherit;
  color: #3e3a39;
  background-color: #fff;
  border: 1px solid #3e3a39;
  border-radius: min(5px, 0.6666666667vw);
  outline: none;
}

.p-contact__pref [type="text"]::-moz-placeholder, .p-contact__pref [type="email"]::-moz-placeholder, .p-contact__pref [type="tel"]::-moz-placeholder, .p-contact__address [type="text"]::-moz-placeholder, .p-contact__address [type="email"]::-moz-placeholder, .p-contact__address [type="tel"]::-moz-placeholder, .p-contact__name [type="text"]::-moz-placeholder, .p-contact__name [type="email"]::-moz-placeholder, .p-contact__name [type="tel"]::-moz-placeholder, .p-contact__tel [type="text"]::-moz-placeholder, .p-contact__tel [type="email"]::-moz-placeholder, .p-contact__tel [type="tel"]::-moz-placeholder, .p-contact__email [type="text"]::-moz-placeholder, .p-contact__email [type="email"]::-moz-placeholder, .p-contact__email [type="tel"]::-moz-placeholder {
  color: #b4b4b5;
}

.p-contact__pref [type="text"]::placeholder,
.p-contact__pref [type="email"]::placeholder,
.p-contact__pref [type="tel"]::placeholder,
.p-contact__address [type="text"]::placeholder,
.p-contact__address [type="email"]::placeholder,
.p-contact__address [type="tel"]::placeholder,
.p-contact__name [type="text"]::placeholder,
.p-contact__name [type="email"]::placeholder,
.p-contact__name [type="tel"]::placeholder,
.p-contact__tel [type="text"]::placeholder,
.p-contact__tel [type="email"]::placeholder,
.p-contact__tel [type="tel"]::placeholder,
.p-contact__email [type="text"]::placeholder,
.p-contact__email [type="email"]::placeholder,
.p-contact__email [type="tel"]::placeholder {
  color: #b4b4b5;
}

.p-contact__pref select {
  width: 100%;
  height: min(66px, 8.8vw);
  padding: 0 min(24px, 3.2vw);
  font-family: inherit;
  font-size: min(24px, 3.2vw);
  font-weight: inherit;
  color: #3e3a39;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: #fff url(../img/select-arrow.svg) no-repeat center right min(36px, 4.8vw);
  background-size: min(19px, 2.5333333333vw) min(12px, 1.6vw);
  border: 1px solid #6bb58c;
  border-radius: min(5px, 0.6666666667vw);
  outline: none;
}

.p-contact__pref select::-ms-expand {
  display: none;
}

.p-contact__select {
  margin-top: min(36px, 4.8vw);
}

.p-contact__select select {
  width: 100%;
  height: min(66px, 8.8vw);
  padding: 0 min(24px, 3.2vw);
  font-family: inherit;
  font-size: min(24px, 3.2vw);
  font-weight: 700;
  color: #3e3a39;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  background: #fff url(../img/select-arrow02.svg) no-repeat center right min(22px, 2.9333333333vw);
  background-size: min(23px, 3.0666666667vw) min(20px, 2.6666666667vw);
  border: 2px solid #6bb58c;
  border-radius: 0;
  outline: none;
}

.p-contact__select select::-ms-expand {
  display: none;
}

.p-contact__confirm {
  margin-top: min(35px, 4.6666666667vw);
}

.p-contact__confirm p {
  font-size: min(28px, 3.7333333333vw);
  font-weight: 700;
  color: #e3007f;
  text-align: center;
}

.p-contact__confirm small {
  position: relative;
  left: 50%;
  display: inline-block;
  margin-top: min(25px, 3.3333333333vw);
  font-size: min(20px, 2.6666666667vw);
  transform: translateX(-50%);
  color: #3e3a39;
}

.p-contact__check {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: min(25px, 3.3333333333vw);
}

.p-contact__check [type="checkbox"] {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}

.p-contact__check [type="checkbox"] + span {
  position: relative;
  display: block;
  width: min(460px, 61.3333333333vw);
  padding-left: min(90px, 12vw);
  font-size: min(28px, 3.7333333333vw);
  font-weight: 700;
  cursor: pointer;
  color: #3e3a39;
}

.p-contact__check [type="checkbox"] + span::before, .p-contact__check [type="checkbox"] + span::after {
  position: absolute;
  display: block;
  content: "";
}

.p-contact__check [type="checkbox"] + span::before {
  top: 50%;
  left: 0;
  width: min(65px, 8.6666666667vw);
  height: min(65px, 8.6666666667vw);
  background-color: #fff;
  border: clamp(2px, 1px + 0.2666666667vw, 3px) solid #6bb58c;
  border-radius: min(5px, 0.6666666667vw);
  transform: translateY(-50%);
}

.p-contact__check [type="checkbox"] + span::after {
  top: 50%;
  left: min(7px, 0.9333333333vw);
  width: min(50px, 6.6666666667vw);
  height: min(25px, 3.3333333333vw);
  margin-top: -0.2em;
  border-bottom: min(6px, 0.8vw) solid #6bb58c;
  border-left: min(6px, 0.8vw) solid #6bb58c;
  opacity: 0;
  transition: opacity 300ms ease-out;
  transform: translateY(-50%) rotate(-45deg);
}

.p-contact__check [type="checkbox"]:checked + span::after {
  opacity: 1;
}

.p-contact__check [type="checkbox"]:focus-visible ~ span {
  text-decoration: underline;
}

.p-contact__submit {
  width: 100%;
  margin-top: min(30px, 4vw);
  transition: opacity 300ms ease-out;
}

.p-contact__precautions {
  margin-top: min(30px, 4vw);
}

.p-contact__precautions p {
  font-size: min(13px, 1.7333333333vw);
}

.p-contact__precautions p:not(:first-of-type) {
  margin-top: min(15px, 2vw);
}

.p-contact__precautions p span {
  color: #e51373;
}

.p-contact__thanks {
  font-weight: 700;
  text-align: center;
}

.p-contact__thanks p {
  color: #f29600;
}

.p-contact__thanks p:not(:first-of-type) {
  margin-top: min(16px, 2.1333333333vw);
}

.p-contact__thanks a {
  margin-top: min(30px, 4vw);
  transition: opacity 300ms ease-out;
}

.wpcf7-not-valid-tip {
  display: block;
  margin-top: min(10px, 1.3333333333vw);
  font-weight: 700;
  color: #f29600;
}

.wpcf7-list-item {
  display: block;
  margin: 0;
}

.screen-reader-response {
  margin-top: min(30px, 4vw);
}

.screen-reader-response p {
  font-weight: 700;
  color: #f29600;
  text-align: center;
}

.screen-reader-response ul {
  display: none;
}

form.sent {
  display: none;
}

.p-company {
  padding: min(30px, 4vw) min(35px, 4.6666666667vw);
}

.p-company__content {
  padding: min(40px, 5.3333333333vw) 0;
  border-top: solid 1px #9e9e9f;
  border-bottom: solid 1px #9e9e9f;
}

/* .p-company__content p:last-of-type {
  margin-top: min(20px, 2.6666666667vw);
} */
.p-company__content .p-company__content-p {
  margin-top: min(20px, 2.6666666667vw);
}

.p-company__content a {
  transition: opacity 300ms ease-out;
}

.p-flow-btn {
  position: fixed;
  bottom: min(20px, 2.6666666667vw);
  z-index: 30;
  transition: opacity 300ms ease-out;
}

.p-flow-btn img {
  width: clamp(300px, 73.5849056604px + 30.1886792453vw, 460px);
}

@media not screen and (width >= 768px){
  .p-flow-btn {
    left: calc(50% - clamp(200px, 9.1603053435px + 25.4452926209vw, 400px));
    transform: translateX(-50%);
    display: none;
  }
}

@media screen and (width >= 768px){
  .p-flow-btn {
    right: calc(50% - clamp(200px, 9.1603053435px + 25.4452926209vw, 400px));
    transform: translateX(50%);
    display: none;
  }
.p-mv_subbtn img {
  max-width: 480px;
}
.scroll_up img {
  max-width: 480px;
}
}

@media screen and (width < 768px){
.p-contact__select dd .wpcf7-list-item input[type="radio"] {
  transform: initial;
}
}

@media (any-hover: hover){
  .p-suggestion__btn a:hover {
    opacity: 0.7;
  }

  .p-contact__submit:hover {
    opacity: 0.7;
  }

  .p-contact__thanks a:hover {
    opacity: 0.7;
  }

  .p-company__content a:hover {
    opacity: 0.7;
  }

  .p-flow-btn:hover {
    opacity: 0.7;
  }
}

@media (any-hover: none){
  .p-suggestion__btn a:active {
    opacity: 0.7;
  }

  .p-contact__submit:active {
    opacity: 0.7;
  }

  .p-contact__thanks a:hover {
    opacity: 0.7;
  }

  .p-company__content a:active {
    opacity: 0.7;
  }

  .p-flow-btn:active {
    opacity: 0.7;
  }
}

.privacy  {
  font-size: 11px !important;
  text-align: center !important;
  padding: 0 0 100px !important;
  margin: 0 auto 100px !important;
  display: inline-block;
  width: 100%;
}

.privacy-page {
  padding: min(60px, 8vw) 0;
  background-color: rgb(255 255 171 / 80%);
}
.privacy-page > div {
  background-color: #fff;
  width: 92%;
  margin: 8% auto;
  padding: 7% 4.69% 5px;
}
.privacy-page p {
  margin: 1em 0;
}
.privacy-page dl {
  margin: 2em 0;
}
.privacy-page dt {
  font-weight: bold;
}
.privacy-page ol {
  list-style-type: decimal;
  list-style-position: inside;
  margin-bottom: 10px;
}
.privacy-page ol ol {
  margin-left: 1em;
}
.privacy-page li {
  margin: 5px 0;
}
.privacy-page .right {
  text-align: right;
}

.wpcf7-radio label {
  margin: 5px 0;
  display: block;
}

.p-label {
  background-color: #efefef;
  padding: 2px 15px;
  margin-right: 20px;
}
.p-required {
  color: #f00;
  font-size: 80%;
}

.p-required::before {
  content: "※";
}

.p-nini {
  font-size: 80%;
}