html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font: inherit;
  list-style: none;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;
}
article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}
nav ul {
  list-style: none;
}
blockquote,
q {
  quotes: none;
}
blockquote before,
blockquote after,
q before,
q after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
img {
  vertical-align: bottom;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
input,
select {
  vertical-align: middle;
}
button {
  background-color: transparent;
  cursor: pointer;
  padding: 0;
}
body {
  font-family: Noto Sans JP, sans-serif;
  color: #555;
}
a,
a:visited {
  color: #fff;
  text-decoration: none;
}
a:hover {
  color: #1fb1e6;
}
p,
li {
  line-height: 1.52;
}
small {
  line-height: 1.4;
}
img {
  max-width: 100%;
  height: auto;
}
header.header {
  height: 78px;
}
@media only screen and (max-width: 767px) {
  header.header {
    height: 60px;
    align-content: center;
  }
}
header.header .header-inner {
  width: 95%;
  max-width: 1340px;
  margin: 0 auto;
  padding: 17px 0;
  display: flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  header.header .header-inner {
    text-align: left;
  }
}
header.header .header-inner a {
  display: flex;
  align-items: center;
  gap: 1.125rem;
}
@media only screen and (max-width: 767px) {
  header.header .header-inner a {
    margin: 0;
    gap: 10px;
  }
}
header.header .header-inner a .logo {
  width: 165px;
  height: 42px;
}
@media only screen and (max-width: 767px) {
  header.header .header-inner a .logo {
    width: 100px;
    height: auto;
  }
}
header.header .header-inner a span {
  font-size: clamp(16px, 1.8vw, 18px);
}
@media only screen and (max-width: 767px) {
  header.header .header-inner a span {
    font-size: 13px;
  }
}
header.header .header-inner .header-sub-title {
  font-size: 0.8rem;
  color: #23366f;
}
.camp-end {
  margin-bottom: 1rem;
  text-align: center;
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .camp-end {
    font-size: 13px;
  }
}
footer {
  position: relative;
  padding: 1rem 0;
  background-color: #fff773;
  color: #23366f;
  font-size: 14px;
  z-index: 200;
}
@media only screen and (max-width: 767px) {
  footer {
    font-size: 12px;
  }
}
footer::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -5px;
  width: 100%;
  height: 5px;
  background-image: url("../../../../../../../../../???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/frame_gizagiza.png???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/frame_gizagiza.png");
  background-size: contain;
  background-repeat: repeat-x;
  background-position: bottom;
}
footer p {
  width: 95%;
  margin: 0 auto;
  text-align: right;
}
footer a {
  color: #23366f !important;
  text-decoration: underline;
}
footer a:hover {
  color: #00bfff !important;
}
footer .footer-wrap {
  width: 95%;
  max-width: 900px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
footer .footer-wrap ul {
  display: flex;
  gap: 1rem;
}
@media only screen and (max-width: 767px) {
  footer .footer-wrap ul {
    gap: 8px;
  }
}
footer .footer-wrap ul li {
  text-decoration: underline;
}
footer .copyright {
  display: flex;
  gap: 5px;
}
footer .pc {
  display: block;
}
@media only screen and (max-width: 767px) {
  footer .pc {
    display: none;
  }
}
footer .sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  footer .sp {
    display: block;
  }
}
h1 {
  font-size: 1.25rem;
  color: #000080;
  font-weight: 700;
}
h1 strong {
  font-size: 1.5rem;
  margin-left: 5px;
}
h2 {
  display: grid;
  font-size: 2.5rem;
  font-weight: 900;
  text-align: center;
  color: #333;
}
h2.--blue::before {
  color: #2167ae;
}
h2.--skyblue::before {
  color: #19bab6;
}
@media only screen and (max-width: 767px) {
  h2 {
    font-size: 28px;
  }
}
h2::before {
  content: attr(data-page-cat);
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 4rem;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  h2::before {
    font-size: 1rem;
  }
}
section {
  padding: 4rem 0;
}
small {
  font-size: 14px;
  font-weight: 400;
  color: #333;
}
@media only screen and (max-width: 767px) {
  small {
    font-size: 12px;
  }
}
.btn-area {
  opacity: 0;
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: center;
  padding: 35px 0 10px 0;
  background-color: #fff;
  z-index: 100;
}
.btn-area.is-active {
  opacity: 1;
  transition: 1s;
}
@media only screen and (max-width: 767px) {
  .btn-area {
    padding: 15px 0 5px 0;
  }
}
.btn-area .btn-box {
  width: 100%;
  max-width: 400px;
  text-align: center;
  font-size: clamp(15px, 1.8vw, 18px);
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .btn-area .btn-box {
    font-size: 12px;
  }
}
.btn-area .btn-box .btn {
  position: relative;
  margin: -5px 0 5px 0;
  line-height: normal;
  background-color: #23366f;
  border-radius: 40px;
  box-shadow: 0 5px 0 #141f41;
}
@media only screen and (max-width: 767px) {
  .btn-area .btn-box .btn {
    display: grid;
    align-items: center;
    height: 50px;
    padding: 0;
    border-radius: 50px;
  }
}
.btn-area .btn-box .btn::after {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translate(-50%, -50%);
  background-image: url("../../../../../../../../../???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/icon_link.svg???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/icon_link.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media only screen and (max-width: 767px) {
  .btn-area .btn-box .btn::after {
    width: 14px;
    height: 14px;
    right: 5px;
  }
}
.btn-area .btn-box .btn._blank {
  background-color: #ff7569;
  box-shadow: 0 5px 0 #eb685c;
}
.btn-area .btn-box .btn._blank::after {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translate(-50%, -50%);
  background-image: url("../../../../../../../../../???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/icon_blank.svg???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/icon_blank.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media only screen and (max-width: 767px) {
  .btn-area .btn-box .btn._blank::after {
    width: 14px;
    height: 14px;
  }
}
.btn-area .btn-box .btn:hover {
  margin: 0;
  box-shadow: unset;
}
.btn-area .btn-box a {
  width: 100%;
  height: 100%;
  padding: 1rem 0;
  display: grid;
  align-items: center;
  color: #fff;
  border-radius: 40px;
}
@media only screen and (max-width: 767px) {
  .btn-area .btn-box a {
    padding: 0;
    line-height: 0.9rem;
    font-size: clamp(10px, 1.2vw, 12px);
  }
}
.btn-area .btn-box small {
  line-height: 2rem;
}
@media only screen and (max-width: 767px) {
  .btn-area .btn-box small {
    line-height: 1rem;
    font-size: clamp(7px, 0.9vw, 9px);
  }
}
.btn-area .btn-wrap {
  display: flex;
  justify-content: center;
  gap: clamp(1rem, 2vw, 2rem);
  width: 95%;
}
@media only screen and (max-width: 767px) {
  .btn-area .btn-wrap {
    gap: 10px;
  }
}
.sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}
.pc {
  display: block;
}
@media only screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}
.arrow::after {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  border: 2px solid;
  border-color: #23366f #23366f transparent transparent;
  transform: rotate(135deg);
  position: relative;
  top: -4px;
  left: 4px;
}
.is-up span::after {
  transform: rotate(315deg);
  top: 4px;
}
.blue-box {
  background-color: #fff;
  border-radius: 6px;
}
.efc__sdw {
  filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.25));
}
.efc__rtt10 {
  transform: rotate(5deg);
}
.fl-r {
  float: right;
}
.fl-l {
  float: left;
}
.fl-cl {
  clear: both;
}
.txt-r {
  text-align: right;
}
.txt-c {
  text-align: center;
}
.txt_small {
  font-size: 0.86rem;
}
.mb0 {
  margin-bottom: 0 !important;
}
.mb-1em {
  margin-bottom: 1em;
}
.pt-1em {
  padding-top: 1em;
}
.color--blue {
  color: #23366f;
}
.color--yellow {
  color: #fff773;
}
.bg_color--gray {
  background-color: #eef0f1;
}
.bg_color--blue {
  background-color: rgba(25,186,182,0.15);
}
.bg_color--yellow {
  background-color: #fff773;
}
.mv-img {
  display: flex;
  justify-content: center;
}
.mv-img li {
  width: 100%;
  position: relative;
}
.mv-img li p {
  padding: 12px 20px;
  position: absolute;
  display: grid;
  font-weight: 900;
  line-height: 1.5rem;
  background-color: #ff7569;
}
@media only screen and (max-width: 767px) {
  .mv-img li p {
    padding: 8px 10px;
    line-height: 0.8rem;
  }
}
.mv-img li p.member {
  font-size: 21px;
}
@media only screen and (max-width: 767px) {
  .mv-img li p.member {
    font-size: 11px;
  }
}
.mv-img li p::before {
  content: "";
  position: absolute;
  top: 0;
  right: -30px;
  width: 30.5px;
  height: 50%;
  clip-path: polygon(0 0, 0 100%, 100% 0);
  background-color: #ff7569;
}
@media only screen and (max-width: 767px) {
  .mv-img li p::before {
    right: -15px;
    width: 15.5px;
  }
}
.mv-img li p::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -30px;
  width: 30.5px;
  height: 50%;
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  background-color: #ff7569;
}
@media only screen and (max-width: 767px) {
  .mv-img li p::after {
    right: -15px;
    width: 15.5px;
  }
}
.mv-img li p span {
  color: #fff;
  font-size: 15px;
}
@media only screen and (max-width: 767px) {
  .mv-img li p span {
    font-size: 9px;
  }
}
.mv-img li p span.num {
  font-size: clamp(25px, 3.2vw, 32px);
}
@media only screen and (max-width: 767px) {
  .mv-img li p span.num {
    font-size: 1rem;
  }
}
.mv-img li p span.percent {
  font-size: 19px;
}
@media only screen and (max-width: 767px) {
  .mv-img li p span.percent {
    font-size: 10px;
  }
}
.mv-img li p span.off {
  font-size: 1.12rem;
}
@media only screen and (max-width: 767px) {
  .mv-img li p span.off {
    font-size: 9px;
  }
}
.mv-img li img {
  width: 100%;
  min-width: 0;
}
.mv-img li span.name {
  position: absolute;
  right: 0;
  bottom: 10px;
  font-size: 14px;
  font-weight: 600;
  padding: 5px 10px;
  color: #333;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  .mv-img li span.name {
    font-size: 9px;
    padding: 4px 8px;
  }
}
.mv-txt {
  position: relative;
  padding: 35px 0;
  text-align: center;
  line-height: 2rem;
}
@media only screen and (max-width: 767px) {
  .mv-txt {
    padding: 25px 0;
  }
}
.mv-txt::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 10px;
  background-image: url("../../../../../../../../../???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/frame_gizagiza.png???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/frame_gizagiza.png");
  background-size: contain;
  background-position: center bottom;
  background-repeat: repeat-X;
}
@media only screen and (max-width: 767px) {
  .mv-txt::before {
    height: 5px;
    top: -5px;
  }
}
.mv-txt::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 10px;
  background-image: url("../../../../../../../../../???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/frame_gizagiza.png???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/frame_gizagiza.png");
  background-size: contain;
  background-position: center bottom;
  background-repeat: repeat-X;
  rotate: 180deg;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .mv-txt::after {
    height: 5px;
    bottom: -5px;
  }
}
.mv-txt span {
  position: relative;
  display: block;
  width: fit-content;
  margin: 0 auto 5px auto;
  padding: 0 20px;
  background-color: #00bfff;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 600;
  clip-path: polygon(0 0, 100% 0, 90% 50%, 100% 100%, 0% 100%, 10% 50%);
}
@media only screen and (max-width: 767px) {
  .mv-txt span {
    font-size: 14px;
  }
}
.mv-txt .txt {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000080;
  font-weight: 600;
  font-size: 22px;
}
@media only screen and (max-width: 767px) {
  .mv-txt .txt {
    font-size: 14px;
  }
}
.mv-txt .txt::before {
  content: '\\';
  width: 15px;
  height: 100%;
  margin-right: 10px;
  color: #000080;
  font-size: 38px;
  font-weight: 100;
}
@media only screen and (max-width: 767px) {
  .mv-txt .txt::before {
    font-size: 43px;
  }
}
.mv-txt .txt::after {
  content: "/";
  width: 15px;
  height: 100%;
  margin-left: 10px;
  color: #000080;
  font-size: 38px;
  font-weight: 100;
}
@media only screen and (max-width: 767px) {
  .mv-txt .txt::after {
    font-size: 43px;
  }
}
.mv-txt .txt strong {
  font-size: 26px;
}
@media only screen and (max-width: 767px) {
  .mv-txt .txt strong {
    font-size: 1rem;
  }
}
.mv-txt .txt strong.num {
  font-size: 30px;
}
@media only screen and (max-width: 767px) {
  .mv-txt .txt strong.num {
    font-size: 1rem;
  }
}
.mv-txt h1 {
  margin-top: 15px;
  font-size: 33px;
  font-weight: 900;
}
@media only screen and (max-width: 767px) {
  .mv-txt h1 {
    margin-top: 7px;
    font-size: 18px;
  }
}
.mv-txt h1 strong {
  font-size: 44px;
  margin-left: 15px;
}
@media only screen and (max-width: 767px) {
  .mv-txt h1 strong {
    margin-left: 0px;
    font-size: 24px;
  }
}
.about {
  background-image: url("../../../../../../../../../???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/img_about-bg.png???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/img_about-bg.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: bottom;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .about {
    background-image: url("../../../../../../../../../???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/img_about-bg-sp.png???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/img_about-bg-sp.png");
    background-position: top;
    padding: 80px 0;
  }
}
.about p {
  width: 95%;
  margin: 0 auto;
  line-height: 2.2rem;
  color: #333;
  font-weight: 700;
  font-size: 1.25rem;
}
.about p.txt {
  margin-top: 30px;
}
@media only screen and (max-width: 767px) {
  .about p.txt {
    line-height: 1.5rem;
    margin-top: 20px;
    font-size: 14px;
    font-weight: 600;
  }
}
.about p strong {
  font-size: clamp(2.2rem, 4vw, 2.5rem);
}
@media only screen and (max-width: 767px) {
  .about p strong {
    font-size: clamp(24px, 2.8vw, 28px);
  }
}
.about p span {
  font-size: 32px;
}
@media only screen and (max-width: 767px) {
  .about p span {
    font-size: 22px;
  }
}
.about .box {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .about .box {
    display: grid;
    justify-content: unset;
    justify-items: center;
  }
}
.about .box .block {
  flex: 1;
  max-width: 300px;
  background-color: #fff;
  color: #000;
  border: 4px solid #2167ae;
  border-radius: 40px;
  box-shadow: 0 0 5px #2167ae;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .about .box .block {
    width: 90%;
    max-width: 290px;
    border-radius: 30px;
  }
}
.about .box .block dt {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  border-radius: 100%;
  background-color: #fff773;
  margin: -2rem auto 0 auto;
}
@media only screen and (max-width: 767px) {
  .about .box .block dt {
    width: 70px;
    height: 70px;
  }
}
.about .box .block dt p {
  color: #2167ae;
  display: grid;
  align-items: center;
  line-height: 1.7rem;
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .about .box .block dt p {
    font-size: 13px;
  }
}
.about .box .block dt p span {
  font-family: noto sans;
  font-size: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .about .box .block dt p span {
    font-size: 35px;
  }
}
.about .box .block dd {
  display: grid;
  justify-items: center;
  padding: 20px 0;
}
.about .box .block dd p {
  font-size: 20px;
  color: #333;
  line-height: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .about .box .block dd p {
    font-size: 14px;
    line-height: 1.5rem;
  }
}
.about .box .block dd p span {
  font-size: 40px;
  font-weight: 900;
  font-family: noto sans;
}
@media only screen and (max-width: 767px) {
  .about .box .block dd p span {
    font-size: 31px;
  }
}
@media only screen and (max-width: 767px) {
  .about .box .block dd img {
    max-height: 100px;
  }
}
.service .container {
  width: 95%;
  max-width: 900px;
  margin: 1.5rem auto 0 auto;
}
@media only screen and (max-width: 767px) {
  .service .container.--sp {
    width: 100%;
  }
  .service .container.--sp small {
    width: 95%;
    margin: 0 auto;
    display: block;
  }
}
.service .container p {
  font-size: 20px;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .service .container p {
    font-size: 14px;
  }
}
.service .container ol {
  display: flex;
  gap: clamp(0.5rem, 1.6vw, 1rem);
  DST: tajita;
  margin: 2.5rem 0 1rem 0;
}
@media only screen and (max-width: 767px) {
  .service .container ol {
    display: grid;
    justify-items: center;
    gap: 30px;
  }
}
.service .container ol li {
  width: 100%;
  max-width: 300px;
  position: relative;
  flex: 1;
utida
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 0 15px #dde4e3;
}
.service .container ol li .li-img img {
  border-radius: 10px 10px 0 0;
over
}
.service .container ol li .li-img img {
  width: 100%;
  max-height: 150px;
}
.service .container ol li .li-name {
  height: 130px;
  margin: 0 auto;
  padding: 10px 0 0 0;
  display: grid;
  align-items: center;
  justify-items: center;
}
@media only screen and (max-width: 767px) {
  .service .container ol li .li-name {
    width: 90%;
    padding: 30px 0 20px 0;
  }
}
.service .container ol li .li-name img {
  width: 90%;
  max-height: 100px;
  object-fit: contain;
}
.service .container ol li .li-name figure {
  display: grid;
}
@media only screen and (max-width: 767px) {
  .service .container ol li .li-name figure {
    width: 90%;
  }
}
.service .container ol li .li-name p {
  text-align: center;
  font-size: 1rem;
  font-weight: 600;
}
.service .container ol li dl {
  position: relative;
  padding: 15px 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl {
    padding: 20px 0;
  }
}
.service .container ol li dl::before {
  content: "";
  width: 100%;
  height: 5px;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url("../images/frame_dot.png???·??????/2510_ACD·BikeLP_???????????????/cluboff_???????/-/media/jpz/zrh/cluboff/images/frame_dot.png");
  background-repeat: repeat-x;
}
.service .container ol li dl dt {
  font-size: clamp(13px, 1.5vw, 15px);
  font-weight: 600;
  color: #333;
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dt {
    font-size: 19px;
  }
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dt.pt-1em {
    padding: 0;
  }
}
.service .container ol li dl dd {
  font-size: clamp(1rem, 2vw, 1.125rem);
  font-weight: 900;
  color: #ff1400;
  line-height: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dd {
    font-size: 26px;
    line-height: 2.3rem;
  }
}
.service .container ol li dl dd small {
  font-size: 13px;
  display: block;
  margin-top: 10px;
}
.service .container ol li dl dd span {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dd span {
    font-size: 29px;
  }
}
.service .container ol li dl dd span.num {
  font-size: 24px;
}
.service .container ol li dl dd.eneos {
  font-size: clamp(16px, 1.9vw, 19px);
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dd.eneos {
    font-size: 28px;
  }
}
.service .container ol li dl dd.eneos span {
  font-size: 1.125rem;
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dd.eneos span {
    font-size: 25px;
  }
}
.service .container ol li dl dd.eneos span.num {
  font-size: 24px;
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dd.eneos span.num {
    font-size: 31px;
  }
}
.service .container ol li dl dd.num {
  font-size: 28px;
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dd.num {
    font-size: 38px;
  }
}
.service .container ol li dl dd.percent {
  font-size: 20px;
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dd.percent {
    font-size: 30px;
  }
}
.service .container ol li dl dd.off {
  font-size: 26px;
}
@media only screen and (max-width: 767px) {
  .service .container ol li dl dd.off {
    font-size: 36px;
  }
}
.service .container .logo-box {
  margin: 3rem 0 1rem 0;
}
.service .container .logo-box img {
  object-fit: contain;
  max-width: 160px;
  max-height: 56px;
}
@media only screen and (max-width: 767px) {
  .service .container .logo-box img {
    max-width: 120px;
    max-height: 40px;
  }
}
.service .container .logo-box p {
  position: relative;
  width: fit-content;
  margin: 0 auto -10px auto;
  padding: 0.1rem 1.8rem 0.3rem 1.8rem;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  border-radius: 2rem;
  background-color: #19bab6;
  border-radius: 4rem;
}
@media only screen and (max-width: 767px) {
  .service .container .logo-box p {
    font-size: 1.125rem;
    line-height: 1.8rem;
    margin: 0 auto -30px auto;
    padding: 0.5rem 2rem;
  }
}
.service .container .logo-box p span {
  font-size: 34px;
}
@media only screen and (max-width: 767px) {
  .service .container .logo-box p span {
    font-size: 28px;
  }
}
.service .container .logo-box .logo-block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  padding: 3rem 40px;
  background-color: #fff;
  border-radius: 10px;
}
@media only screen and (max-width: 767px) {
  .service .container .logo-box .logo-block {
    border-radius: 0;
    padding: 70px 15px 35px 15px;
  }
}
.detail {
  padding: 4rem 0 2rem 0;
}
.detail h3 {
  font-size: 1.75rem;
  font-weight: 700;
  text-align: center;
}
.detail .container {
  width: 95%;
  max-width: 900px;
  margin: 2rem auto 0 auto;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 0 0 15px #dde4e3;
}
.detail .card {
  padding: 50px;
}
@media only screen and (max-width: 767px) {
  .detail .card {
    padding: 40px 0 0 0;
  }
}
.detail .card dl {
  display: flex;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .detail .card dl {
    width: 90%;
    display: grid;
    margin: 0 auto;
  }
}
.detail .card dl dt {
  display: flex;
  flex: 0.6;
  color: #23366f;
  font-weight: 600;
  line-height: 1.6rem;
  padding-right: 1rem;
}
.detail .card dl dt::before {
  content: "";
  width: 15px;
  height: 15px;
  display: block;
  background-color: #23366f;
  border-radius: 100%;
  margin: 6px 5px 0 0;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .detail .card dl dt {
    margin-bottom: 5px;
  }
}
.detail .card dl dd {
  padding-left: 20px;
  flex: 1.4;
  color: #333;
  font-weight: 400;
  line-height: 1.6rem;
  border-left: 1px solid #23366f;
}
@media only screen and (max-width: 767px) {
  .detail .card dl dd {
    font-size: 14px;
    border-top: 1px solid #23366f;
    border-left: 0;
    padding: 10px 0 30px 0;
  }
}
.detail .card dl dd a {
  text-decoration: underline;
  color: #333;
}
.detail .card dl dd a:hover {
  color: #23366f;
}
.page-top {
  width: 95%;
  max-width: 1100px;
  display: flex;
  justify-content: right;
  margin: 2rem auto 0 auto;
}
@media only screen and (max-width: 767px) {
  .page-top {
    width: 98%;
    margin: 1rem auto 0 auto;
  }
}
.page-top button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background-color: #fff;
  border-radius: 100%;
  border: none;
  box-shadow: 0 0 5px rgba(0,0,0,0.16);
}
.page-top button:hover {
  box-shadow: none;
}
