@charset "UTF-8";
/*
Site Name: つながるドラレコ
Version: 2025.08.14
*/
/* !HTML5 elements
---------------------------------------------------------- */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/* !Reseting
---------------------------------------------------------- */
body,
div,
pre,
p,
blockquote,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
fieldset,
th,
td,
figure,
figcaption {
  margin: 0;
  padding: 0;
}

input,
textarea {
  font-size: 100%;
  margin: 0;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

fieldset,
img {
  border: 0;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-style: normal;
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 300;
}

q::after,
q::before {
  content: "";
}

a,
input {
  outline: none;
}

input,
textarea {
  border-radius: 0;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}

input[type=button],
input[type=submit] {
  -webkit-appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
}

abbr,
acronym {
  border: 0;
}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*
======================================================
  body
--------------------------------------------------- */
html {
  font-size: 62.5%;
  -webkit-overflow-scrolling: touch;
}

body {
  color: #333;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  font-size: 1.4rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-weight: 400;
  line-height: 1;
  -webkit-overflow-scrolling: touch;
  overflow-wrap: break-word;
  text-size-adjust: none;
  width: 100%;
}

.content {
  overflow-x: hidden;
}

/*
======================================================
  common
--------------------------------------------------- */
.pc-br,
img.pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc-br,
  img.pc {
    display: block;
  }
}

.sp-br,
img.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-br,
  img.sp {
    display: block;
  }
}

.super-txt {
  font-size: 70%;
  vertical-align: super;
}

.marker {
  background: linear-gradient(transparent 0%, #fff100 0%);
}

.fadein {
  opacity: 0;
  transform: translateY(20px);
  transition: all 1s;
}

.btn--blue {
  background-color: #2158a0;
  color: #fff;
  width: 100%;
  align-items: center;
  border-radius: 40px;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  height: 80px;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .btn--blue {
    border-radius: 25px;
    height: 50px;
  }
}
.btn--blue:hover {
  opacity: 0.7;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .btn--blue {
    border-radius: 30px;
    height: 60px;
  }
}
.btn--blue:hover {
  color: #fff;
}

a.btn--blue:visited {
  color: #fff;
}

.btn--red {
  background-color: #ae1e28;
  width: 100%;
  align-items: center;
  border-radius: 40px;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  height: 80px;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .btn--red {
    border-radius: 25px;
    height: 50px;
  }
}
.btn--red:hover {
  opacity: 0.7;
  text-decoration: none;
}

a.btn--red:visited {
  color: #fff;
}

.btn--gray {
  background-color: #314b57;
  width: 100%;
  align-items: center;
  border-radius: 40px;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  height: 80px;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .btn--gray {
    border-radius: 25px;
    height: 50px;
  }
}
.btn--gray:hover {
  opacity: 0.7;
  text-decoration: none;
}

a.btn--gray:visited {
  color: #fff;
}

.btn--yellow {
  background-color: #fff100;
  color: #2158a0;
  width: 100%;
  align-items: center;
  border-radius: 40px;
  cursor: pointer;
  display: flex;
  flex-wrap: wrap;
  height: 80px;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .btn--yellow {
    border-radius: 25px;
    height: 50px;
  }
}
.btn--yellow:hover {
  opacity: 0.7;
  text-decoration: none;
}

a.btn--yellow:visited {
  color: #2158a0;
}

.arrow {
  display: block;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  font-size: 2.3rem;
  font-weight: 700;
  margin-left: -20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .arrow {
    font-size: 1.5rem;
    margin-left: -14px;
  }
}
@media screen and (max-width: 320px) {
  .arrow {
    font-size: 1.4rem;
  }
}
.arrow::after {
  background-image: url(../images/icon_btn_arrow_white.svg);
  background-repeat: no-repeat;
  content: "";
  display: inline-block;
  height: 20px;
  margin-left: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
}
@media screen and (max-width: 767px) {
  .arrow::after {
    height: 14px;
    margin-left: 5px;
    width: 14px;
  }
}

_:-ms-lang(x)::-ms-backdrop,
.arrow {
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", "Meiryo", "YuGothic", "Yu Gothic", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/*
======================================================
  about
--------------------------------------------------- */
.section-1 {
  height: 100%;
  width: 100%;
}

.section-1__inner {
  background-image: url(../images/section1_bg.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 1025px) {
  .section-1__inner {
    height: 3030px;
  }
}
@media screen and (max-width: 767px) {
  .section-1__inner {
    background-position: center top;
    /* background-size: 900px; */
    background-size: 780px;
  }
}

.about-header {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .about-header {
    height: 168px;
  }
}
@media screen and (max-width: 767px) {
  .about-header {
    height: 156px;
  }
}

.about-header__bg {
  background-color: #c6e7f8;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  height: 110px;
  position: absolute;
  top: 0;
  width: 100vw;
  z-index: 1;
}

.about-header__inner {
  background-color: #fff;
  border-radius: 0 84px 84px 0;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  height: 168px;
  position: absolute;
  top: 0;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .about-header__inner {
    width: 80%;
  }
}
@media screen and (min-width: 1025px) {
  .about-header__inner {
    min-width: 944px;
    width: 75%;
  }
}
@media screen and (min-width: 1200px) {
  .about-header__inner {
    width: 75%;
  }
}
@media screen and (min-width: 1440px) {
  .about-header__inner {
    width: 65%;
  }
}
@media screen and (min-width: 1680px) {
  .about-header__inner {
    width: 60%;
  }
}
@media screen and (max-width: 1024px) {
  .about-header__inner {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .about-header__inner {
    height: 156px;
    width: 95%;
  }
}

.about-ttl__box {
  position: relative;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  .about-ttl__box {
    height: 168px;
  }
}
@media screen and (max-width: 767px) {
  .about-ttl__box {
    height: 156px;
  }
}

.about-ttl {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .about-ttl {
    height: 95px;
    left: calc(50% - 472px);
    position: absolute;
    top: 24%;
    width: 944px;
  }
}
@media screen and (max-width: 1024px) {
  .about-ttl {
    left: 10%;
  }
}
@media screen and (max-width: 767px) {
  .about-ttl {
    left: 12%;
    position: absolute;
    top: 20%;
    width: 273px;
  }
}
@media screen and (max-width: 320px) {
  .about-ttl {
    left: 8%;
    top: 22%;
    width: 80%;
  }
}
@media screen and (min-width: 768px) {
  .about-ttl img.pc {
    display: block;
    width: 537px;
  }
}
@media screen and (max-width: 767px) {
  .about-ttl img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .about-ttl img.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .about-ttl img.sp {
    width: 273px;
  }
}
@media screen and (max-width: 320px) {
  .about-ttl img.sp {
    height: auto;
  }
}

.about-content {
  margin: 0 auto;
  padding-bottom: 50px;
  width: 600px;
}
@media screen and (max-width: 1024px) {
  .about-content {
    width: 90%;
  }
}
@media screen and (min-width: 481px) and (max-width: 767px) {
  .about-content {
    width: 80%;
  }
}
@media screen and (max-width: 480px) {
  .about-content {
    padding: 0 0 35px;
    width: 80%;
  }
}

@media screen and (min-width: 768px) {
  .about-content__mds {
    padding-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .about-content__mds {
    padding-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .about-content__mds img.pc {
    width: 472px;
  }
}
@media screen and (max-width: 767px) {
  .about-content__mds img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .about-content__mds img.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .about-content__mds img.sp {
    max-width: 238px;
  }
}

.about-content__txt {
  color: #fff;
  padding-top: 25px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .about-content__txt {
    font-size: 1.3rem;
  }
}

ul.about-content__kome-list {
  padding-left: 1em;
}
ul.about-content__kome-list li {
  padding-left: 0.2em;
  position: relative;
}
ul.about-content__kome-list li::before {
  content: "※";
  left: -1em;
  position: absolute;
  top: 0;
}
ul.about-content__kome-list {
  font-size: 1.2rem;
  line-height: 1.6;
  padding-top: 1.5em;
}
ul.about-content__kome-list li {
  color: #bfcfe4;
}
ul.about-content__kome-list li a {
  color: #bfcfe4;
}
@media screen and (max-width: 767px) {
  ul.about-content__kome-list li a {
    display: block;
  }
}
ul.about-content__kome-list li a .link-blank {
  position: relative;
}
ul.about-content__kome-list li a .link-blank::after {
  background-image: url(../images/icon_owr_w@2x.png);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 14px;
  content: "";
  height: 13px;
  margin-left: 6px;
  position: absolute;
  top: 0;
  width: 14px;
}

/*
======================================================
  camera
--------------------------------------------------- */
.camera {
  background-image: url(../images/blue_bg_03.jpg);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 1025px) {
  .camera {
    /* border-radius: 0 136px 136px 0; */
    border-radius: 0 219px 219px 0;
    /* height: 272px; */
    height: 438px;
    min-width: 990px;
    position: absolute;
    top: 1910px;
    /* width: 80%; */
    width: 82%;
    z-index: 2;
  }
}
@media screen and (max-width: 1024px) {
  .camera {
    border-radius: 60px 0 0 60px;
    margin: 30px 0 0 4%;
    width: 96%;
  }
}
@media screen and (max-width: 767px) {
  .camera {
    margin-top: 15px;
  }
}

.camera__inner {
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .camera__inner {
    /* height: 272px; */
    height: 438px;
    position: relative;
    width: 100vw;
  }
}

.camera-content {
  background-image: url(../images/camera_img.png);
  background-repeat: no-repeat;
}
@media screen and (min-width: 1025px) {
  .camera-content {
    /* background-position: left center; */
    background-position: left 40px;
    /* height: 272px; */
    height: 438px;
    left: calc(50vw - 340px);
    position: absolute;
    width: 700px;
  }
}
@media screen and (max-width: 1024px) {
  .camera-content {
    /* background-position: left center; */
    background-position: left 40px;
    background-size: 160px;
    margin: 0 auto;
    width: 84%;
  }
}
@media screen and (max-width: 767px) {
  .camera-content {
    background-image: none;
    width: 84%;
  }
}

@media screen and (min-width: 1025px) {
  .camera-content__inner {
    padding-left: 240px;
    padding-top: 45px;
  }
}
@media screen and (max-width: 1024px) {
  .camera-content__inner {
    padding: 40px 0 40px 200px;
  }
}
@media screen and (max-width: 767px) {
  .camera-content__inner {
    padding: 30px 0;
  }
}
.camera-content__inner p {
  color: #fff;
  padding-top: 20px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .camera-content__inner p {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .camera-content__inner p {
    background-image: url(../images/camera_img.png);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 100px;
    padding: 20px 120px 0 0;
  }
}

@media screen and (max-width: 767px) {
  .camera__ttl {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .camera__ttl img {
    width: 257px;
  }
}
@media screen and (max-width: 767px) {
  .camera__ttl img {
    width: 187px;
  }
}

.camera__btn {
  margin-top: 20px;
}
.camera__btn a.btn--yellow {
  /* border-radius: 20px; */
  border-radius: 25px;
  /* height: 40px; */
  height: 50px;
  /* width: 190px; */
  width: 230px;
}
@media screen and (max-width: 767px) {
  .camera__btn a.btn--yellow {
    margin: 0 auto;
  }
}
.camera__btn a.btn--yellow img.icon-owr {
  margin-right: 6px;
  width: 14px;
}
.camera__btn a.btn--yellow .arrow {
  /* font-size: 1.2rem; */
  font-size: 1.6rem;
  font-weight: 700;
}
@supports (-ms-ime-align: auto) {
  .camera__btn a.btn--yellow .arrow {
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  }
}
@media all and (-ms-high-contrast: none) {
  .camera__btn a.btn--yellow .arrow {
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", "Arial", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", "Meiryo", "YuGothic", "Yu Gothic", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  }
}
.camera__btn a.btn--yellow .arrow::after {
  background-image: url(../images/icon_btn_arrow_blue.svg);
  height: 16px;
  top: 50%;
  width: 16px;
}

.camera__footer {
  margin: 0 auto;
  padding-top: 40px;
  width: 550px;
}
@media screen and (max-width: 1024px) {
  .camera__footer {
    padding-bottom: 40px;
    padding-top: 0;
    width: 100%;
  }
}

.camera__price {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 1024px) {
  .camera__price {
    text-align: center;
  }
}
.camera__price strong {
  font-size: 2.4rem;
  margin-left: 0.3em;
}

.camera__atten {
  background-color: #e73134;
  margin-top: 16px;
  padding: 0.65em 1em;
}
.camera__atten p {
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
  margin-left: 3em;
  text-indent: -3em;
}

/*
======================================================
  cm
--------------------------------------------------- */
.cm__movie {
  margin: 0 auto;
  padding-bottom: 10px;
  width: 540px;
}
@media screen and (max-width: 1024px) {
  .cm__movie {
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .cm__movie {
    padding-bottom: 20px;
    width: 70%;
  }
}

.cm__movie-ttl {
  padding-top: 60px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cm__movie-ttl {
    padding-top: 40px;
  }
}
.cm__movie-ttl img {
  margin: 0 auto;
  width: 426px;
}
@media screen and (max-width: 767px) {
  .cm__movie-ttl img {
    width: 54%;
  }
}

/*
======================================================
  contact
--------------------------------------------------- */
.contact {
  background-image: url(../images/blue_bg_01.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .contact {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .contact {
    margin-top: 15px;
  }
}

@media screen and (min-width: 1025px) {
  .contact__inner {
    margin: 0 auto;
    padding: 50px 0;
    width: 990px;
  }
}
@media screen and (max-width: 1024px) {
  .contact__inner {
    padding: 40px 4%;
  }
}
@media screen and (max-width: 767px) {
  .contact__inner {
    padding: 30px 4%;
  }
}

.contact__ttl {
  text-align: center;
}
.contact__ttl img {
  width: 142px;
}

.contact-content {
  background-color: #fff;
  border-radius: 50px;
  display: flex;
  margin-top: 35px;
  padding: 10px;
}
@media screen and (max-width: 1024px) {
  .contact-content {
    justify-content: space-between;
  }
}
@media screen and (max-width: 767px) {
  .contact-content {
    border-radius: 30px;
    display: block;
    margin-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  .contact-content__covenanter {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .contact-content__covenanter {
    width: 100%;
  }
}

.contact-content__non-contract {
  background-color: #f6f4e7;
}
@media screen and (min-width: 768px) {
  .contact-content__non-contract {
    border-radius: 40px;
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .contact-content__non-contract {
    border-radius: 20px;
    margin-top: 20px;
    width: 100%;
  }
}

.contact-content__box {
  padding: 25px 0 10px;
}

.contact-content__header {
  background-image: url(../images/contact_arrow@2x.png);
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 171px;
  height: 134px;
  margin: 0 auto;
  text-align: center;
  width: 350px;
}
@media screen and (max-width: 1024px) {
  .contact-content__header {
    width: 90%;
  }
}

.contact-content__header-btn {
  margin-top: 12px;
}
.contact-content__header-btn .btn--gray {
  border-radius: 20px;
  height: 40px;
}
.contact-content__header-btn .btn--gray .arrow {
  font-size: 1.3rem;
  margin-left: -14px;
}
@media screen and (max-width: 767px) {
  .contact-content__header-btn .btn--gray .arrow {
    font-size: 1.2rem;
  }
}
.contact-content__header-btn .btn--gray .arrow::after {
  height: 14px;
  width: 14px;
}

.contact-content__covenanter .contact-content__mds img {
  width: 222px;
}
.contact-content__non-contract .contact-content__mds img {
  padding-top: 15px;
  width: 255px;
}

ul.contact-step__list {
  margin: 0 auto;
  width: 275px;
}
ul.contact-step__list li {
  padding-top: 15px;
}

dl.contact-step__item {
  align-items: center;
  display: flex;
}
dl.contact-step__item dt {
  margin-right: 20px;
  width: 60px;
}
dl.contact-step__item dd {
  flex: 1;
  font-size: 1.6rem;
}

ul.contact__kome-list {
  padding-left: 1em;
}
ul.contact__kome-list li {
  padding-left: 0.2em;
  position: relative;
}
ul.contact__kome-list li::before {
  content: "※";
  left: -1em;
  position: absolute;
  top: 0;
}
ul.contact__kome-list {
  color: #5e737a;
  font-size: 1.2rem;
  line-height: 1.6;
  margin: 0 auto;
  padding-top: 10px;
  width: 80%;
}

.contact__btn {
  margin: 0 auto;
  padding-top: 30px;
  width: 350px;
}
@media screen and (max-width: 1024px) {
  .contact__btn {
    width: 90%;
  }
}
.contact__btn .btn--blue,
.contact__btn .btn--red {
  border-radius: 35px;
  height: 70px;
}
.contact__btn .btn--blue .arrow,
.contact__btn .btn--red .arrow {
  font-size: 1.7rem;
}
.contact__btn .btn--blue .btn__info,
.contact__btn .btn--red .btn__info {
  margin-top: -12px;
}
@media screen and (max-width: 767px) {
  .contact__btn .btn--blue .btn__info,
  .contact__btn .btn--red .btn__info {
    display: block;
    font-size: 1.1rem;
    margin-top: -12px;
  }
}
.contact__btn .btn--blue .arrow {
  margin-bottom: -12px;
}
@media screen and (max-width: 767px) {
  .contact__btn .btn--blue .arrow {
    margin-bottom: -16px;
  }
}

.contact__info {
  align-items: center;
  background-color: #fff;
  border-radius: 26px;
  display: flex;
  height: 80px;
  justify-content: center;
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .contact__info {
    display: block;
    height: auto;
    margin-top: 15px;
    padding: 15px 0;
  }
}
.contact__info .old-btn {
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .contact__info .old-btn {
    margin: 10px auto 0;
  }
}

/*
======================================================
  features
--------------------------------------------------- */
.section-2 {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .section-2 {
    height: 2440px;
    position: relative;
  }
}
@media screen and (max-width: 1024px) {
  .section-2 {
    margin-top: 30px;
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .section-2 {
    margin-top: 15px;
    padding-bottom: 15px;
  }
}

.section-2__inner {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .section-2__inner {
    position: relative;
  }
}

.features-content {
  background-color: #e2f0f7;
}
@media screen and (min-width: 1025px) {
  .features-content {
    border-radius: 0 140px 140px 0;
    left: 0;
    min-height: 2160px; /* 2024.1.24修正 */
    position: absolute;
    width: 90%;
    z-index: 1;
  }
}
@media screen and (min-width: 1440px) {
  .features-content {
    min-width: 1310px;
  }
}
@media screen and (max-width: 1024px) {
  .features-content {
    border-radius: 0 60px 60px 0;
    width: 96%;
  }
}

.features-content__inner {
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .features-content__inner {
    min-height: 850px;
    position: relative;
    width: 100vw;
  }
}

@media screen and (min-width: 1025px) {
  .features__box {
    left: calc(50vw - 472px);
    padding-top: 30px;
    position: absolute;
    width: 944px;
  }
}
@media screen and (max-width: 1024px) {
  .features__box {
    padding: 50px 6%;
  }
}
@media screen and (max-width: 767px) {
  .features__box {
    padding-top: 35px;
  }
}

.features-01 {
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .features-01 {
    padding-top: 25px;
    width: 720px;
  }
}
@media screen and (max-width: 1024px) {
  .features-01 {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .features-01__inner {
    display: flex;
  }
}

.features-01__txt {
  color: #314b57;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .features-01__txt {
    font-size: 1.3rem;
  }
}
@media screen and (min-width: 768px) {
  .features-01__txt {
    flex: 1;
    padding-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .features-01__txt {
    padding-top: 30px;
  }
}

.features-01__img {
  position: relative;
}
@media screen and (min-width: 768px) {
  .features-01__img {
    height: 239px;
    margin-left: 50px;
    margin-top: -30px;
    width: 315px;
  }
}
@media screen and (max-width: 767px) {
  .features-01__img {
    height: auto;
    margin: 20px auto 0;
    width: 80%;
  }
  .features-01__img::before {
    content: "";
    display: block;
    padding-top: 75.87%;
  }
}

img.features-01__driving {
  left: 0;
  position: absolute;
  top: 0;
  z-index: 1;
}

#features-buzzer {
  left: 125px;
  opacity: 0;
  position: absolute;
  top: 40px;
  transform: rotate(-20deg);
  width: 35px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  #features-buzzer {
    left: 39%;
    top: 12%;
    width: 12%;
  }
}
#features-buzzer.active {
  opacity: 1;
}

.features-01__ttl,
.features-02__ttl {
  text-align: center;
}

.features-01__ttl img {
  width: 254px;
}
@media screen and (max-width: 767px) {
  .features-01__ttl img {
    height: 40px;
    width: auto;
  }
}

.features-02__ttl img {
  width: 294px;
}
@media screen and (max-width: 767px) {
  .features-02__ttl img {
    height: 70px;
    width: auto;
  }
}

.features-02 {
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .features-02 {
    padding-top: 50px;
  }
}

ul.features-02__content {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  padding-top: 35px;
}
@media screen and (min-width: 1025px) {
  ul.features-02__content {
    width: 840px;
  }
}
@media screen and (max-width: 767px) {
  ul.features-02__content {
    display: block;
    margin: 0 0 0 2%;
    width: 98%;
  }
}
ul.features-02__content > li {
  width: 45%;
}
@media screen and (max-width: 1024px) {
  ul.features-02__content > li {
    width: 47%;
  }
}
@media screen and (max-width: 767px) {
  ul.features-02__content > li {
    width: 100%;
  }
}
ul.features-02__content > li p {
  color: #314b57;
  padding-top: 20px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  ul.features-02__content > li p {
    font-size: 1.3rem;
  }
}

.features-02__content-mds {
  border-left: 3px solid #2158a0;
  padding-left: 15px;
}
.features-02__content-mds img {
  height: 23px;
  width: auto;
}
@media screen and (max-width: 767px) {
  .features-02__content-mds img {
    height: 18px;
  }
}

@media screen and (max-width: 767px) {
  ul.features-02__content li:nth-of-type(2) {
    padding-top: 30px;
  }
}

ul.features-02__kome-list {
  padding-left: 1em;
}
ul.features-02__kome-list li {
  padding-left: 0.2em;
  position: relative;
}
ul.features-02__kome-list li::before {
  content: "※";
  left: -1em;
  position: absolute;
  top: 0;
}
ul.features-02__kome-list {
  color: #2158a0;
  font-size: 1.2rem;
  line-height: 1.6;
  padding-top: 0.5em;
}

dl.features-hosoku {
  background-color: #fff;
  border-radius: 10px;
  color: #314b57;
  display: flex;
  justify-content: center;
  line-height: 1.6;
  margin: 0 auto;
  margin-top: 20px;
  padding: 1.5em;
}
@media screen and (min-width: 1025px) {
  dl.features-hosoku {
    width: 840px;
  }
}
@media screen and (max-width: 1024px) {
  dl.features-hosoku {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 767px) {
  dl.features-hosoku {
    font-size: 1.1rem;
    justify-content: start;
    margin: 20px 0 0;
    padding: 1.2em 1.5em;
    width: 100%;
  }
  dl.features-hosoku dt {
    width: 3em;
  }
  dl.features-hosoku dd {
    flex: 1;
  }
}

ul.features-app__list {
  display: flex;
  justify-content: center;
  margin-top: 30px;
  width: 100%;
}
ul.features-app__list li {
  margin: 0 6px;
}

dl.features-app__item dt {
  color: #314b57;
  text-align: center;
}
dl.features-app__item dd {
  padding-top: 8px;
}
dl.features-app__item dd a {
  display: block;
  transition: all 0.3s ease;
}
dl.features-app__item dd a img {
  height: 40px;
  width: auto;
}
@media screen and (min-width: 1025px) {
  dl.features-app__item dd a:hover {
    opacity: 0.7;
  }
}

/*
======================================================
  floating
--------------------------------------------------- */
ul#menu-floating__list--pc,
ul#menu-floating__list--sp {
  position: fixed;
  z-index: 1000;
}
ul#menu-floating__list--pc li a,
ul#menu-floating__list--sp li a {
  align-items: center;
  color: #fff;
  display: flex;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  font-weight: 700;
  justify-content: center;
  text-decoration: none;
}
ul#menu-floating__list--pc li.menu-floating__list--download a,
ul#menu-floating__list--sp li.menu-floating__list--download a {
  background-color: #2158a0;
}
ul#menu-floating__list--pc li.menu-floating__list-contact a,
ul#menu-floating__list--sp li.menu-floating__list-contact a {
  background-color: #ae1e28;
}

@media screen and (min-width: 768px) {
  ul#menu-floating__list--pc {
    display: block;
    margin-top: -130px;
    right: 0;
    top: 50%;
    width: 66px;
  }
  ul#menu-floating__list--pc li {
    height: 260px;
    width: 66px;
  }
  ul#menu-floating__list--pc li.menu-floating__list-contact {
    margin-top: 10px;
  }
  ul#menu-floating__list--pc li a {
    border-bottom: 5px solid #fff;
    border-left: 5px solid #fff;
    border-radius: 20px 0 0 20px;
    border-top: 5px solid #fff;
    box-shadow: 0 3px 6px 3px rgba(0, 0, 0, 0.2);
    flex-direction: column;
    font-size: 1.8rem;
    height: 100%;
    transition: all 0.3s ease;
    width: 100%;
  }
  ul#menu-floating__list--pc li a:hover {
    opacity: 0.7;
  }
  ul#menu-floating__list--pc li a span {
    display: block;
    margin: 1px 0;
  }
  ul#menu-floating__list--pc li a span.rotate {
    transform: translateX(-2px) rotate(90deg);
  }
  ul#menu-floating__list--pc li a span.icon-arrow {
    margin-top: 3px;
  }
  ul#menu-floating__list--pc li a span.icon-arrow img {
    width: 16px;
  }
}
@media screen and (max-width: 767px) {
  ul#menu-floating__list--pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  ul#menu-floating__list--sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  ul#menu-floating__list--sp {
    bottom: 0;
    display: flex;
    justify-content: space-between;
    left: 15%;
    right: 15%;
    width: 70%;
  }
  ul#menu-floating__list--sp li {
    height: 50px;
    width: 100%;
  }
  ul#menu-floating__list--sp li a {
    border-left: 4px solid #fff;
    border-radius: 15px 15px 0 0;
    border-right: 4px solid #fff;
    border-top: 4px solid #fff;
    box-shadow: 0 3px 6px 3px rgba(0, 0, 0, 0.3);
    font-size: 1.5rem;
    height: 50px;
    width: 100%;
  }
  ul#menu-floating__list--sp li a span.icon-arrow {
    margin-left: 6px;
    margin-top: 3px;
  }
  ul#menu-floating__list--sp li a span.icon-arrow img {
    width: 16px;
  }
}

#pagetop {
  bottom: 30px;
  position: fixed;
  right: 30px;
  z-index: 1000;
}
@media screen and (max-width: 767px) {
  #pagetop {
    bottom: 70px;
    right: 15px;
  }
}
#pagetop .btn--totop {
  align-items: center;
  background-color: #fff;
  border: 1px solid #d6dbdd;
  border-radius: 50%;
  display: flex;
  height: 52px;
  justify-content: center;
  transition: all 0.3s ease;
  width: 52px;
}
#pagetop .btn--totop img {
  height: 14px;
  margin-top: -5px;
  width: 18px;
}
@media screen and (min-width: 1025px) {
  #pagetop .btn--totop:hover {
    opacity: 0.7;
  }
}

/*
======================================================
  fv
--------------------------------------------------- */
.fv-wrp {
  background-color: #c6e7f8;
}

.fv {
  background-color: #c6e7f8;
  opacity: 0;
  transition: all 0.3s ease;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .fv {
    position: relative;
  }
}
@media screen and (min-width: 1025px) {
  .fv {
    min-height: 880px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv {
    min-height: 820px;
  }
}
.fv.active {
  opacity: 1;
}

.fv__mainvisual {
  background-image: url(../images/fv_bg.jpg);
  background-position: center bottom;
  background-size: cover;
  position: relative;
  top: 0;
  width: 100vw;
  z-index: 1;
}
@media screen and (min-width: 1025px) {
  .fv__mainvisual {
    height: 680px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv__mainvisual {
    height: 550px;
    padding-top: 42px;
  }
}
@media screen and (max-width: 767px) {
  .fv__mainvisual {
    /* padding-top: 126vw; */
    padding-top: 106vw;
    top: 0;
  }
  .fv__mainvisual::before {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
  }
}
@media screen and (max-width: 320px) {
  .fv__mainvisual {
    padding-top: 127vw;
  }
}
.fv__mainvisual::after {
  background-image: linear-gradient(to bottom, rgba(198, 231, 248, 0) 0%, rgb(198, 231, 248) 90%);
  bottom: 0;
  content: "";
  height: 120px;
  position: absolute;
  width: 100%;
  z-index: 2;
}

.fv__mainvisual-inner {
  background-repeat: no-repeat;
  position: relative;
  width: 100%;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .fv__mainvisual-inner {
    background-image: url(../images/fv_mainvisual_2025_pc.png);
    background-position: center top;
    background-size: contain;
    height: 100%;
  }
}
@media screen and (min-width: 1025px) {
  .fv__mainvisual-inner {
    margin: 0 auto;
    width: 960px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv__mainvisual-inner {
    background-size: contain;
    top: 2.5%;
  }
}
@media screen and (max-width: 767px) {
  .fv__mainvisual-inner {
    background-image: url(../images/fv_mainvisual_2025_sp.png);
    background-position: center bottom;
    background-size: 128%;
    /* height: 118vw; 2025.8.14修正 */
    height: 120vw;
    position: absolute;
    /* top: 0; */
    top: 8.5%;
  }
}

.mainvisual__ttl {
  height: 100%;
  position: relative;
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .mainvisual__ttl img {
    height: 26.88%;
    width: auto;
  }
}
@media screen and (min-width: 1025px) {
  .mainvisual__ttl img {
    height: auto;
  }
}
@media screen and (max-width: 1024px) {
  .mainvisual__ttl img {
    height: 24.88%;
  }
}
@media screen and (max-width: 767px) {
  .mainvisual__ttl img {
    left: 8%;
    position: absolute;
    top: 9.5%;
    width: 84%;
  }
}

@media screen and (min-width: 768px) {
  .fv__content {
    bottom: 25px; /* 2024.1.25修正 */
    height: 364px; /* 2025.8.25修正 */
    position: absolute;
    width: 100vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .fv__content {
    bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .fv__content {
    padding-top: 320px;
    position: relative;
  }
  .fv__content::before {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .fv__content-inner {
    position: absolute;
    z-index: 4;
  }
}
@media screen and (min-width: 1025px) {
  .fv__content-inner {
    left: 50%;
    margin-left: -393px;
    top: 0;
    width: 786px;
  }
}
@media screen and (max-width: 1024px) {
  .fv__content-inner {
    left: 5%;
    right: 5%;
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .fv__content-inner {
    left: 3%;
    position: absolute;
    right: 3%;
    top: 18%; /* 2025.8.25修正 */
    width: 94%;
    z-index: 2;
  }
}
@media screen and (max-width: 320px) {
  .fv__content-inner {
    top: -45px;
  }
}

.fv__price {
  display: flex;
}

.fv__price-mark {
  align-items: center;
  background-color: #ae1e28;
  border-radius: 50%;
  /* bottom: -7%; */
  box-shadow: 0 3px 3px rgba(8, 30, 48, 0.3);
  display: flex;
  height: 150px;
  justify-content: center;
  margin-left: 20px;
  margin-right: 20px;
  width: 150px;
}
@media screen and (max-width: 767px) {
  .fv__price-mark {
    height: 110px;
    margin-left: 0;
    margin-right: 5px;
    width: 110px;
  }
}
.fv__price-mark img {
  width: 118px;
}
@media screen and (max-width: 767px) {
  .fv__price-mark img {
    width: 80%;
  }
}

.fv__price-txt {
  flex: 1;
  padding-bottom: 10px;
  padding-top: 8%;
}
@media screen and (max-width: 1024px) {
  .fv__price-txt {
    padding-top: 10%;
  }
}
@media screen and (max-width: 767px) {
  .fv__price-txt {
    padding-bottom: 0;
    /* padding-top: 35px; */
    padding-top: 0;
  }
}
.fv__price-txt ul.kome-list {
  padding-left: 1em;
}
.fv__price-txt ul.kome-list li {
  padding-left: 0.2em;
  position: relative;
}
.fv__price-txt ul.kome-list li::before {
  content: "※";
  left: -1em;
  position: absolute;
  top: 0;
}
.fv__price-txt ul.kome-list li {
  color: #5d7987;
  font-size: 1.2rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .fv__price-txt ul.kome-list li {
    font-size: 1.1rem;
    line-height: 1.4;
  }
}
@media screen and (max-width: 320px) {
  .fv__price-txt ul.kome-list li {
    font-size: 1rem;
  }
}

.fv__price-atten {
  color: #c02;
  font-size: 1.3rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .fv__price-atten {
    font-feature-settings: "palt" 1;
    font-size: 1.1rem;
  }
}
@media screen and (max-width: 320px) {
  .fv__price-atten {
    font-size: 1rem;
  }
}

.fv__price-mds {
  color: #c02;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  padding-top: 0.5em;
}

.fv__price-period {
  color: #5d7987;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}

@media screen and (min-width: 768px) {
  .fv__lead {
    padding-top: 10px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .fv__lead {
    display: none;
  }
}
.fv__lead img {
  width: 581px;
}

.fv__download {
  margin: 30px auto 0;
  width: 340px;
}
@media screen and (max-width: 767px) {
  .fv__download {
    margin: 15px auto 0;
    width: 60%;
  }
}

@media screen and (min-width: 768px) {
  .btn__info--sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .btn__info--sp {
    font-size: 1.1rem;
    margin-top: 10px;
  }
}

@media screen and (min-width: 768px) {
  .fv__info {
    align-items: center;
    background-color: #fff;
    border-radius: 30px;
    display: flex;
    height: 60px;
    justify-content: space-between;
    margin-top: 1.5%;
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .fv__info {
    top: 4%;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .fv__info {
    background-color: transparent;
    border-bottom: 1px solid #cfd2d3;
    border-top: 1px solid #cfd2d3;
    margin-top: 20px;
    padding: 1.3em 0;
  }
}

.old-text {
  margin-left: 40px;
}
@media screen and (max-width: 1024px) {
  .old-text {
    font-size: 1.3rem;
    margin-left: 25px;
  }
}
@media screen and (max-width: 767px) {
  .old-text {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-left: 0;
    text-align: center;
  }
}

.old-btn {
  margin-right: 40px;
  width: 194px;
}
@media screen and (max-width: 1024px) {
  .old-btn {
    margin-right: 15px;
  }
}
@media screen and (max-width: 767px) {
  .old-btn {
    margin: 1em auto 0;
  }
}
.old-btn .btn--gray {
  border-radius: 18px;
  height: 36px;
}
@media screen and (max-width: 767px) {
  .old-btn .btn--gray {
    border-radius: 16px;
    height: 32px;
  }
}
.old-btn .btn--gray .arrow {
  font-size: 1.3rem;
  margin-left: -14px;
}
.old-btn .btn--gray .arrow::after {
  height: 14px;
  width: 14px;
}

.fv__btn-hosoku {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 6px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .fv__btn-hosoku {
    font-size: 1.2rem;
  }
}
.fv__btn-hosoku a {
  color: #66a;
}

@media screen and (min-width: 768px) {
  ul.fv__btn {
    display: flex;
    justify-content: space-between;
    margin: 30px auto 0;
    width: 398px;
  }
}
@media screen and (max-width: 767px) {
  ul.fv__btn {
    margin: 15px auto 0;
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  ul.fv__btn li {
    margin-top: 10px;
    width: 100%;
  }
}
ul.fv__btn li a span.arrow {
  margin-top: -10px;
}
@media screen and (max-width: 767px) {
  ul.fv__btn li a span.arrow {
    font-size: 1.6rem;
    margin-top: -8px;
  }
}

.btn__info {
  color: #bfcfe4;
  display: block;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  margin-bottom: -10px;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .btn__info {
    font-size: 1.2rem;
  }
}

/*
======================================================
  help
--------------------------------------------------- */
@media screen and (min-width: 1025px) {
  .help {
    padding-top: 50px;
  }
}
@media screen and (max-width: 1024px) {
  .help {
    padding-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .help {
    padding-top: 15px;
  }
}

@media screen and (min-width: 1025px) {
  .help__inner {
    position: relative;
  }
}

.help-content {
  background-color: #e2f0f7;
}
@media screen and (min-width: 1025px) {
  .help-content {
    border-radius: 140px 0 0 140px;
    min-height: 890px;
    /* min-width: 1310px; */
    position: absolute;
    right: 0;
    width: 90%;
  }
}
@media screen and (min-width: 1440px) {
  .help-content {
    min-width: 1310px;
  }
}
@media screen and (max-width: 1024px) {
  .help-content {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .help-content {
    border-radius: 0 60px 60px 0;
    width: 96%;
  }
}

.help-content__inner {
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .help-content__inner {
    left: 0;
    min-height: 880px;
    position: relative;
    width: 100vw;
    z-index: 2;
  }
}
@media screen and (max-width: 1024px) {
  .help-content__inner {
    position: relative;
    width: 100%;
  }
}

@media screen and (min-width: 1025px) {
  .help__box {
    left: 3%;
    position: absolute;
    width: 944px;
  }
}
@media screen and (min-width: 1200px) {
  .help__box {
    left: 6%;
  }
}
@media screen and (min-width: 1440px) {
  .help__box {
    left: 8%;
  }
}
@media screen and (min-width: 1680px) {
  .help__box {
    left: 12%;
  }
}
@media screen and (min-width: 1920px) {
  .help__box {
    left: 17%;
  }
}
@media screen and (max-width: 1024px) {
  .help__box {
    padding: 50px 5% 80px;
  }
}
@media screen and (max-width: 767px) {
  .help__box {
    padding: 30px 5%;
  }
}

.help__ttl {
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .help__ttl {
    padding-bottom: 30px;
    padding-top: 50px;
  }
}
@media screen and (max-width: 1024px) {
  .help__ttl {
    padding-bottom: 30px;
  }
}
.help__ttl img {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .help__ttl img.pc {
    width: 659px;
  }
}
@media screen and (max-width: 767px) {
  .help__ttl img.sp {
    width: 80%;
  }
}

.help-img__txt {
  color: #2158a0;
  font-weight: 600;
  text-align: center;
  width: 100%;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .help-img__txt {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  .help-img__txt {
    font-size: 1.3rem;
  }
}

dl.help-img__hosoku {
  display: flex;
  font-size: 1.2rem;
  line-height: 1.5;
  padding-top: 10px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  dl.help-img__hosoku {
    display: none;
  }
}
dl.help-img__hosoku dt {
  width: 3em;
}
dl.help-img__hosoku dd {
  flex: 1;
  font-feature-settings: "palt" 1;
}

@media screen and (min-width: 768px) {
  dl.help-img__hosoku-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  dl.help-img__hosoku-sp {
    display: flex;
    font-size: 1.1rem;
    line-height: 1.5;
    padding: 10px 5% 30px;
    text-align: left;
  }
  dl.help-img__hosoku-sp dt {
    width: 3em;
  }
  dl.help-img__hosoku-sp dd {
    flex: 1;
  }
}

.help-img__driving {
  bottom: 0;
  left: calc(50% - 178px);
  position: absolute;
  width: 357px;
}
@media screen and (max-width: 1024px) {
  .help-img__driving {
    left: calc(50% - 150px);
    width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .help-img__driving {
    left: calc(50% - 20vw);
    width: 40vw;
  }
}

/*
======================================================
  anime
--------------------------------------------------- */
#car-anime {
  height: 550px;
  margin: -70px auto 0;
  opacity: 0;
  position: relative;
  width: 800px;
}
@media screen and (max-width: 1024px) {
  #car-anime {
    height: auto;
    margin: 1.5em auto 0;
    width: 100%;
  }
  #car-anime::before {
    content: "";
    display: block;
    padding-top: 72.18%;
  }
}
#car-anime.active {
  opacity: 1;
}

#buzzer-anime {
  bottom: 136px;
  height: 244px;
  left: 50%;
  margin-left: -175px;
  position: absolute;
  width: 350px;
}
@media screen and (max-width: 1024px) {
  #buzzer-anime {
    bottom: 17vw;
    height: 25vw;
    margin-left: -18vw;
    width: 36vw;
  }
}

#buzzer-left-top,
#buzzer-right-top,
#buzzer-right-bottom,
#buzzer-left-bottom {
  position: absolute;
  width: 50px;
}
@media screen and (max-width: 1024px) {
  #buzzer-left-top,
  #buzzer-right-top,
  #buzzer-right-bottom,
  #buzzer-left-bottom {
    width: 5vw;
  }
}

#buzzer-left-top {
  left: 0;
  top: 0;
}

#buzzer-right-top {
  right: 0;
  top: 0;
}

#buzzer-right-bottom {
  bottom: 0;
  right: 0;
}

#buzzer-left-bottom {
  bottom: 0;
  left: 0;
}

#car-left,
#car-right {
  position: absolute;
  width: 137px;
}
@media screen and (max-width: 1024px) {
  #car-left,
  #car-right {
    width: 14.8vw;
  }
}

#car-left {
  bottom: 0;
  left: 0;
}

#car-right {
  bottom: 0;
  right: 0;
}

#car-clash {
  bottom: 48px;
  left: 50%;
  margin-left: -20px;
  position: absolute;
  width: 40px;
}
@media screen and (max-width: 1024px) {
  #car-clash {
    bottom: 5.25vw;
    margin-left: -2.06vw;
    width: 4.13vw;
  }
}

#car-dot {
  bottom: 84px;
  left: 50%;
  margin-left: -3px;
  position: absolute;
  width: 6px;
  z-index: 2;
}
@media screen and (max-width: 1024px) {
  #car-dot {
    bottom: 10.25vw;
    margin-left: -0.32vw;
    width: 0.64vw;
  }
}

#car-driving {
  bottom: 140px;
  height: 236px;
  left: 50%;
  margin-left: -118px;
  position: absolute;
  text-align: center;
  width: 236px;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  #car-driving {
    bottom: 17vw;
    height: 26vw;
    margin-left: -13vw;
    width: 26vw;
  }
}
#car-driving img {
  border-radius: 50%;
}

.help-img__face {
  position: absolute;
}
.help-img__face figure {
  height: 208px;
  width: 208px;
}
@media screen and (max-width: 1024px) {
  .help-img__face figure {
    height: 22vw;
    width: 22vw;
  }
}
.help-img__face figure img.help-face-img {
  border-radius: 50%;
}
.help-img__face figure figcaption {
  text-align: center;
}
.help-img__face figure figcaption p {
  color: #2158a0;
  font-size: 1.6rem;
  font-weight: 600;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .help-img__face figure figcaption p {
    font-size: 1.2rem;
    margin-top: 6px;
  }
}

#help-img__face-01 {
  left: 0;
  top: 0;
}

#help-img__face-02 {
  right: 0;
  top: 0;
}

#help-img__face-03 {
  bottom: 0;
  left: 0;
}

#help-img__face-04 {
  bottom: 0;
  right: 0;
}

img.help-logo {
  margin: 0 auto;
}
#help-img__face-01 img.help-logo {
  width: 160px;
}
@media screen and (max-width: 767px) {
  #help-img__face-01 img.help-logo {
    margin-top: 4px;
    width: 84px;
  }
}
#help-img__face-02 img.help-logo {
  margin-top: 10px;
  width: 123px;
}
@media screen and (max-width: 767px) {
  #help-img__face-02 img.help-logo {
    margin-top: 6px;
    width: 67px;
  }
}

#help-dorareco {
  bottom: 400px;
  left: 50%;
  margin-left: -113px;
  position: absolute;
  width: 226px;
}
@media screen and (max-width: 1024px) {
  #help-dorareco {
    bottom: 48vw;
    margin-left: -16vw;
    width: 32vw;
  }
}

/*
======================================================
  hikaku
--------------------------------------------------- */
.hikaku {
  position: relative;
}
@media screen and (min-width: 1025px) {
  .hikaku {
    height: 264px;
  }
}
@media screen and (max-width: 1024px) {
  .hikaku {
    /* min-height: 220px; */
    min-height: 264px;
  }
}
@media screen and (max-width: 767px) {
  .hikaku {
    padding-top: 90%;
  }
}

.hikaku__inner {
  align-items: center;
  background-image: url(../images/blue_bg_03.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  position: absolute;
  right: 0;
}
@media screen and (min-width: 1025px) {
  .hikaku__inner {
    border-radius: 132px 0 0 132px;
    height: 264px;
    min-width: 1080px;
    width: 94%;
  }
}
@media screen and (min-width: 1200px) {
  .hikaku__inner {
    width: 82%;
  }
}
@media screen and (max-width: 1024px) {
  .hikaku__inner {
    border-radius: 60px 0 0 60px;
    padding-bottom: 30px;
    padding-top: 30px;
    width: 96%;
  }
}
@media screen and (max-width: 767px) {
  .hikaku__inner {
    top: 0;
  }
}

.hikaku__list {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 1025px) {
  .hikaku__list {
    margin-left: 100px;
    width: 890px;
  }
}
@media screen and (max-width: 1024px) {
  .hikaku__list {
    margin-left: 6%;
    width: 88%;
  }
}
.hikaku__list li:first-child {
  border-right: 1px solid #6296c5;
  width: 54%;
}
@media screen and (max-width: 767px) {
  .hikaku__list li:first-child {
    width: 50%;
  }
}
.hikaku__list li:last-child {
  width: 46%;
}
@media screen and (max-width: 767px) {
  .hikaku__list li:last-child {
    width: 50%;
  }
}

dl.hikaku__item {
  align-items: center;
  display: flex;
  width: auto;
}
@media screen and (max-width: 767px) {
  dl.hikaku__item {
    display: block;
  }
}
dl.hikaku__item dd {
  flex: 1;
}
@media screen and (max-width: 767px) {
  dl.hikaku__item dd h4 {
    padding-top: 12px;
    text-align: center;
  }
}
dl.hikaku__item dd p {
  color: #fff;
  padding-top: 20px;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  dl.hikaku__item dd p {
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767px) {
  dl.hikaku__item dd p {
    padding-top: 15px;
  }
}
@media screen and (min-width: 1025px) {
  dl.hikaku__item.item-driving {
    margin-right: 25px;
  }
}
@media screen and (max-width: 1024px) {
  dl.hikaku__item.item-driving {
    margin-right: 15px;
  }
}
@media screen and (max-width: 767px) {
  dl.hikaku__item.item-driving {
    margin-right: 10px;
  }
}
dl.hikaku__item.item-driving dt {
  text-align: left;
}
@media screen and (min-width: 1025px) {
  dl.hikaku__item.item-driving dt {
    width: 186px;
  }
}
@media screen and (max-width: 1024px) {
  dl.hikaku__item.item-driving dt {
    width: 120px;
  }
}
@media screen and (max-width: 767px) {
  dl.hikaku__item.item-driving dt {
    text-align: center;
    width: 100%;
  }
}
@media screen and (min-width: 1025px) {
  dl.hikaku__item.item-driving dt img {
    width: 143px;
  }
}
@media screen and (max-width: 1024px) {
  dl.hikaku__item.item-driving dt img {
    width: 100px;
  }
}
@media screen and (max-width: 767px) {
  dl.hikaku__item.item-driving dt img {
    width: 55px;
  }
}
dl.hikaku__item.item-old {
  flex-direction: row-reverse;
}
@media screen and (min-width: 1025px) {
  dl.hikaku__item.item-old {
    margin-left: 30px;
  }
}
@media screen and (max-width: 1024px) {
  dl.hikaku__item.item-old {
    margin-left: 20px;
  }
}
dl.hikaku__item.item-old dt {
  text-align: right;
}
@media screen and (min-width: 1025px) {
  dl.hikaku__item.item-old dt {
    width: 132px;
  }
}
@media screen and (max-width: 1024px) {
  dl.hikaku__item.item-old dt {
    width: 100px;
  }
}
@media screen and (max-width: 767px) {
  dl.hikaku__item.item-old dt {
    text-align: center;
    width: 100%;
  }
}
@media screen and (min-width: 1025px) {
  dl.hikaku__item.item-old dt img {
    width: 109px;
  }
}
@media screen and (max-width: 1024px) {
  dl.hikaku__item.item-old dt img {
    width: 80px;
  }
}
@media screen and (max-width: 767px) {
  dl.hikaku__item.item-old dt img {
    width: 55px;
  }
}

@media screen and (min-width: 1025px) {
  .hikaku__ttl-01 img.pc {
    width: 205px;
  }
}
@media screen and (max-width: 1024px) {
  .hikaku__ttl-01 img.pc {
    height: 50px;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .hikaku__ttl-01 img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .hikaku__ttl-01 img.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .hikaku__ttl-01 img.sp {
    margin: 0 auto;
    width: 126px;
  }
}

@media screen and (min-width: 1025px) {
  .hikaku__ttl-02 img.pc {
    width: 221px;
  }
}
@media screen and (max-width: 1024px) {
  .hikaku__ttl-02 img.pc {
    height: 22px;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  .hikaku__ttl-02 img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .hikaku__ttl-02 img.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .hikaku__ttl-02 img.sp {
    margin: 0 auto;
    width: 87px;
  }
}

/*
======================================================
  howto
--------------------------------------------------- */
.howto {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .howto {
    height: 580px;
    top: 1310px;
    z-index: 2;
  }
}

@media screen and (min-width: 1025px) {
  .howto__inner {
    left: calc(50% - 360px);
    position: absolute;
    width: 720px;
  }
}
@media screen and (max-width: 1024px) {
  .howto__inner {
    background-color: #e2f0f7;
    border-radius: 0 60px 60px 0;
    margin: 30px 4% 0 0;
    min-height: 220px;
    padding: 40px 0;
    width: 96%;
  }
}
@media screen and (max-width: 767px) {
  .howto__inner {
    margin-top: 15px;
    padding: 30px 0;
  }
}
.howto__inner p {
  padding-top: 15px;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .howto__inner p {
    font-size: 1.3rem;
  }
}

.howto__movie-ttl {
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .howto__movie-ttl {
    padding-top: 50px;
  }
}
.howto__movie-ttl img {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .howto__movie-ttl img.pc {
    height: auto;
    width: 395px;
  }
}
@media screen and (max-width: 767px) {
  .howto__movie-ttl img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .howto__movie-ttl img.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .howto__movie-ttl img.sp {
    width: 167px;
  }
}

.howto__movie {
  margin: 0 auto;
  width: 540px;
}
@media screen and (max-width: 767px) {
  .howto__movie {
    width: 70%;
  }
}

.support__movie-ttl {
  padding-top: 60px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .support__movie-ttl {
    padding-top: 40px;
  }
}
.support__movie-ttl img {
  width: 441px;
}
@media screen and (max-width: 767px) {
  .support__movie-ttl img {
    width: 90%;
  }
}

.movie-box {
  height: 0;
  margin-top: 30px;
  overflow: hidden;
  padding-top: 56.25%;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .movie-box {
    margin-top: 20px;
  }
}
.movie-box iframe {
  border-radius: 20px;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .movie-box iframe {
    border-radius: 15px;
  }
}

/*
======================================================
  info
--------------------------------------------------- */
.info {
  background-color: #144882;
  width: 100%;
}

@media screen and (min-width: 1025px) {
  .info__inner {
    margin: 0 auto;
    padding: 50px 0;
    width: 990px;
  }
}
@media screen and (max-width: 1024px) {
  .info__inner {
    padding: 40px 4%;
  }
}
@media screen and (max-width: 767px) {
  .info__inner {
    padding: 30px 4%;
  }
}

.info__txt {
  color: #fff;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .info__txt {
    font-size: 1.3rem;
  }
}
.info__txt a {
  color: #fff;
}

.info__txt--bobun {
  color: #fff;
  padding-top: 20px;
  text-align: right;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .info__txt--bobun {
    font-size: 1.3rem;
  }
}

/*
======================================================
  label
--------------------------------------------------- */
.label-workarea {
  align-items: center;
  border: 1px solid #c02;
  color: #c02;
  display: flex;
  font-weight: 700;
  height: 40px;
  justify-content: center;
  position: absolute;
  right: 20px;
  top: 150px;
  width: 130px;
  z-index: 997;
}
@media screen and (max-width: 1024px) {
  .label-workarea {
    right: 20px;
    top: 128px;
  }
}
@media screen and (max-width: 767px) {
  .label-workarea {
    font-size: 1.1rem;
    height: 24px;
    right: 8px;
    top: 118px;
    width: 90px;
  }
}

/*
======================================================
  menu
--------------------------------------------------- */
#main__toggle {
  align-items: center;
  appearance: none;
  background-color: #c02;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  height: 40px;
  justify-content: center;
  position: fixed;
  right: 20px;
  top: 95px;
  transition: all 0.3s ease;
  width: 40px;
  z-index: 1001;
}
@media screen and (min-width: 1025px) {
  #main__toggle:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 1024px) {
  #main__toggle {
    top: 72px;
  }
}
@media screen and (max-width: 767px) {
  #main__toggle {
    right: 10px;
  }
}
@media screen and (min-width: 1025px) {
  #main__toggle.top {
    top: 20px;
  }
}
@media screen and (max-width: 1024px) {
  #main__toggle.top {
    top: 20px;
  }
}
@media screen and (max-width: 767px) {
  #main__toggle.top {
    top: 15px;
  }
}

#main-trigger,
#main-trigger span {
  box-sizing: border-box;
  display: inline-block;
  transition: all 0.4s;
}

#main-trigger {
  appearance: none;
  background: none;
  border: none;
  cursor: pointer;
  height: 14px;
  position: relative;
  width: 16px;
}
#main-trigger span {
  background-color: #fff;
  border-radius: 1px;
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}
#main-trigger span:nth-of-type(1) {
  top: 0;
}
#main-trigger span:nth-of-type(2) {
  top: calc(50% - 1px);
}
#main-trigger span:nth-of-type(3) {
  bottom: 0;
}

#main-trigger.active span:nth-of-type(1) {
  transform: translateY(6px) rotate(-45deg);
}
#main-trigger.active span:nth-of-type(2) {
  opacity: 0;
}
#main-trigger.active span:nth-of-type(3) {
  transform: translateY(-6px) rotate(45deg);
}

/* メニュー画面（メイン）
========================================================= */
#menu-main,
#menu-sub {
  background-color: #fff;
  position: fixed;
  transition: all 0.4s ease;
  visibility: hidden;
  z-index: 998;
}
@media screen and (min-width: 1025px) {
  #menu-main,
  #menu-sub {
    border-radius: 0 0 0 100px;
    box-shadow: -1px 3px 4px rgba(0, 0, 0, 0.05);
    height: 700px;
    right: -1360px;
    top: 79px;
    width: 1360px;
  }
}
@media screen and (max-width: 1024px) {
  #menu-main,
  #menu-sub {
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 40px;
    right: -100%;
    top: 54px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  #menu-main,
  #menu-sub {
    top: 65px;
  }
}
#menu-main.active,
#menu-sub.active {
  right: 0;
  visibility: visible;
}
#menu-main.top,
#menu-sub.top {
  top: 0;
}

#menu-sub {
  background-color: #2158a0;
  z-index: 999;
}
#menu-sub.top {
  top: 0;
}

.menu-main__inner {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .menu-main__inner {
    display: flex;
    height: 100%;
    justify-content: space-between;
    padding: 90px 18% 0 10%;
  }
}
@media screen and (max-width: 1024px) {
  .menu-main__inner {
    padding: 75px 5%;
  }
}
@media screen and (max-width: 767px) {
  .menu-main__inner {
    padding: 50px 5%;
  }
}

.menu-main__left {
  width: 530px;
}
@media screen and (max-width: 1024px) {
  .menu-main__left {
    display: none;
  }
}

.menu-main__price {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.menu-main__price-img {
  width: 240px;
}

.menu-main__price-mds {
  width: 260px;
}

.menu-main__price-atten {
  color: #c02;
  font-size: 1.3rem;
  line-height: 1.5;
  padding-bottom: 0.5em;
}
@media screen and (max-width: 767px) {
  .menu-main__price-atten {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 320px) {
  .menu-main__price-atten {
    font-size: 2.8vw;
  }
}

.menu-main__price-mds {
  color: #c02;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}

.menu-main__price-period {
  color: #5d7987;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}

.menu-main__price-txt {
  padding-top: 30px;
}
.menu-main__price-txt ul.kome-list {
  padding-left: 1em;
}
.menu-main__price-txt ul.kome-list li {
  padding-left: 0.2em;
  position: relative;
}
.menu-main__price-txt ul.kome-list li::before {
  content: "※";
  left: -1em;
  position: absolute;
  top: 0;
}
.menu-main__price-txt ul.kome-list {
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .menu-main__price-txt ul.kome-list {
    margin-bottom: 0;
  }
}
.menu-main__price-txt ul.kome-list li {
  color: #5d7987;
  font-size: 1.2rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .menu-main__price-txt ul.kome-list li {
    font-size: 1.1rem;
    line-height: 1.4;
  }
}
@media screen and (max-width: 320px) {
  .menu-main__price-txt ul.kome-list li {
    font-size: 1rem;
  }
}

.menu-main__right {
  overflow-y: auto;
  overscroll-behavior-y: none; /* 適用される */
  width: 350px;
}
@media screen and (min-width: 1025px) {
  .menu-main__right {
    height: 550px;
  }
}
@media screen and (max-width: 1024px) {
  .menu-main__right {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .menu-main__right {
    width: 92%;
  }
}

@media screen and (max-width: 767px) {
  ul.menu-main__menu-list {
    padding-top: 20px;
  }
}
ul.menu-main__menu-list li {
  border-top: 1px solid #c1c9cc;
}
ul.menu-main__menu-list li#sub__trigger,
ul.menu-main__menu-list li a {
  color: #314b57;
  cursor: pointer;
  display: block;
  font-size: 1.6rem;
  font-weight: 700;
  padding: 1.1em 0 1.1em 1em;
  position: relative;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  ul.menu-main__menu-list li#sub__trigger,
  ul.menu-main__menu-list li a {
    font-size: 1.4rem;
  }
}
ul.menu-main__menu-list li#sub__trigger::before,
ul.menu-main__menu-list li a::before {
  background-color: #2158a0;
  content: "";
  height: 16px;
  left: 0;
  margin-top: -8px;
  position: absolute;
  top: 50%;
  width: 3px;
}
ul.menu-main__menu-list li#sub__trigger::after,
ul.menu-main__menu-list li a::after {
  background-image: url(../images/icon_btn_arrow_gray.svg);
  background-repeat: no-repeat;
  content: "";
  height: 20px;
  margin-top: -10px;
  position: absolute;
  right: 0;
  top: 50%;
  width: 20px;
}
@media screen and (max-width: 767px) {
  ul.menu-main__menu-list li#sub__trigger::after,
  ul.menu-main__menu-list li a::after {
    height: 16px;
    margin-left: 5px;
    margin-top: -8px;
    width: 16px;
  }
}
ul.menu-main__menu-list li:first-child {
  border-top: none;
}

.menu-main__btn {
  margin-top: 30px;
}
.menu-main__btn .btn--red .arrow {
  font-size: 1.7rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .menu-main__btn .btn--red .arrow {
    font-size: 1.4rem;
  }
}

.menu-main__btn-hosoku {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 8px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .menu-main__btn-hosoku {
    font-size: 1.2rem;
  }
}
.menu-main__btn-hosoku a {
  color: #66a;
}

/* メニュー画面（サブ）
========================================================= */
.menu-sub__inner {
  padding: 50px 18% 0;
}
@media screen and (max-width: 1024px) {
  .menu-sub__inner {
    padding: 75px 5%;
  }
}
@media screen and (max-width: 767px) {
  .menu-sub__inner {
    padding: 50px 5%;
  }
}

.menu-sub__ttl {
  color: #fff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .menu-sub__ttl {
    font-size: 1.6rem;
    text-align: left;
  }
}

.menu-sub__table-box {
  background-color: #fff;
  border: 1px solid #d6dbdd;
  border-radius: 10px;
  margin-top: 20px;
}

.menu-sub__table {
  width: 100%;
}
.menu-sub__table th,
.menu-sub__table td {
  border-bottom: 1px solid #d6dbdd;
  border-right: 1px solid #d6dbdd;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.6;
  padding: 0.7em 2em;
}
@media screen and (max-width: 1024px) {
  .menu-sub__table th,
  .menu-sub__table td {
    padding: 1em 1.2em;
  }
}
@media screen and (max-width: 767px) {
  .menu-sub__table th,
  .menu-sub__table td {
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
.menu-sub__table th {
  color: #2158a0;
  white-space: nowrap;
}
.menu-sub__table td {
  background-color: #f5fafe;
  border-right: none;
  color: #314b57;
}
.menu-sub__table td p.table-hosoku {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  font-size: 1.2rem;
  font-weight: normal;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .menu-sub__table td p.table-hosoku {
    font-size: 1.1rem;
  }
}
.menu-sub__table td p small {
  font-size: 1.2rem;
}
.menu-sub__table tr:first-child td {
  border-radius: 0 10px 0 0;
}
.menu-sub__table tr:last-child th,
.menu-sub__table tr:last-child td {
  border-bottom: none;
  border-radius: 0 0 10px;
}

.table-listbox {
  border-top: 1px dotted #d6dbdd;
  display: flex;
  justify-content: space-between;
  margin-top: 15px;
  padding-top: 15px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .table-listbox {
    display: block;
  }
}
.table-listbox ul {
  width: 30%;
}
@media screen and (max-width: 767px) {
  .table-listbox ul {
    width: 100%;
  }
}

.menu-sub__txt-box {
  color: #fff;
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .menu-sub__txt-box {
    display: block;
  }
}

.menu-sub__txt-block {
  width: 48%;
}
@media screen and (max-width: 767px) {
  .menu-sub__txt-block {
    width: 100%;
  }
  .menu-sub__txt-block:nth-of-type(2) {
    border-top: 1px solid #d6dbdd;
    margin-top: 20px;
    padding-top: 20px;
  }
}
.menu-sub__txt-block h4 {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .menu-sub__txt-block h4 {
    font-size: 1.3rem;
  }
}
.menu-sub__txt-block p {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .menu-sub__txt-block p {
    font-size: 1.2rem;
  }
}

#menu-sub__close-btn {
  cursor: pointer;
  margin: 20px auto 0;
  width: 60px;
}
@media screen and (max-width: 767px) {
  #menu-sub__close-btn {
    margin-top: 30px;
  }
}
#menu-sub__close-btn .close-btn__txt {
  color: #fff;
  font-size: 1rem;
  letter-spacing: 1px;
  margin-top: 4px;
  text-align: center;
}
#menu-sub__close-btn:hover {
  opacity: 0.7;
}

.close-btn__icon {
  height: 26px;
  margin: 0 auto;
  position: relative;
  width: 26px;
}
.close-btn__icon span {
  background-color: #fff;
  border-radius: 1px;
  height: 2px;
  left: 0;
  position: absolute;
  width: 100%;
}
.close-btn__icon span:nth-of-type(1) {
  top: 0;
  transform: translateY(12px) rotate(-45deg);
}
.close-btn__icon span:nth-of-type(2) {
  bottom: 0;
  transform: translateY(-12px) rotate(45deg);
}

#btn-login {
  align-items: center;
  background-color: #fff;
  border-radius: 20px;
  cursor: pointer;
  display: flex;
  height: 40px;
  justify-content: center;
  right: 70px;
  transition: all 0.3s ease;
  width: 240px;
  z-index: 1001;
}
#btn-login.active {
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.25);
}
#btn-login a {
  color: #314b57;
  font-size: 1.3rem;
  font-weight: 700;
  text-decoration: none;
}
@media screen and (min-width: 1025px) {
  #btn-login a:hover {
    opacity: 0.7;
  }
}
@media screen and (min-width: 1025px) {
  #btn-login {
    position: fixed;
    top: 95px;
  }
}
@media screen and (max-width: 1024px) {
  #btn-login {
    position: fixed;
    top: 72px;
  }
}
@media screen and (max-width: 767px) {
  #btn-login {
    position: absolute;
    right: 56px;
  }
}
@media screen and (min-width: 1025px) {
  #btn-login.top {
    top: 20px;
  }
}
@media screen and (max-width: 1024px) {
  #btn-login.top {
    top: 20px;
  }
}
@media screen and (max-width: 767px) {
  #btn-login.top {
    top: 15px;
  }
}

/*
======================================================
  price
--------------------------------------------------- */
.price {
  background-image: url(../images/blue_bg_01.jpg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 1025px) {
  .price {
    align-items: center;
    border-radius: 190px 0 0 190px;
    display: flex;
    height: 380px;
    min-width: 1080px;
    position: absolute;
    right: 0;
    top: 900px;
    width: 94%;
    z-index: 2;
  }
}
@media screen and (min-width: 1200px) {
  .price {
    width: 92%;
  }
}
@media screen and (min-width: 1440px) {
  .price {
    width: 88%;
  }
}
@media screen and (min-width: 1680px) {
  .price {
    width: 86%;
  }
}
@media screen and (max-width: 1024px) {
  .price {
    border-radius: 60px 0 0 60px;
    margin: 30px 0 0 4%;
    min-height: 220px;
    width: 96%;
  }
}
@media screen and (max-width: 767px) {
  .price {
    margin-top: 15px;
  }
}

@media screen and (min-width: 1025px) {
  .price__inner {
    margin-left: 10%;
    width: 940px;
  }
}
@media screen and (min-width: 1200px) {
  .price__inner {
    margin-left: 10%;
  }
}
@media screen and (max-width: 1024px) {
  .price__inner {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .price__inner {
    padding-bottom: 25px;
  }
}

.price__ttl {
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .price__ttl {
    padding-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .price__ttl {
    padding-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .price__ttl img {
    width: 217px;
  }
}
@media screen and (max-width: 767px) {
  .price__ttl img {
    width: 150px;
  }
}

@media screen and (max-width: 1024px) {
  .price__content-pc {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .price__content-pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  ul.price__list-pc {
    display: flex;
    padding-top: 20px;
  }
}
@media screen and (max-width: 1024px) {
  ul.price__list-pc {
    margin-left: 2%;
    padding-bottom: 30px;
    padding-top: 5px;
  }
}
ul.price__list-pc li.icon-plus {
  text-align: center;
}
ul.price__list-pc li.icon-plus img {
  margin-top: 48px;
  width: 30px;
}
@media screen and (max-width: 1024px) {
  ul.price__list-pc li.icon-plus img {
    margin-top: 38px;
    width: 24px;
  }
}
ul.price__list-pc li.icon-equal {
  margin-right: 15px;
}
ul.price__list-pc li.icon-equal img {
  margin-top: 48px;
  width: 32px;
}
@media screen and (max-width: 1024px) {
  ul.price__list-pc li.icon-equal img {
    margin-top: 38px;
    width: 24px;
  }
}
ul.price__list-pc li:last-child {
  width: 390px;
}
@media screen and (max-width: 1024px) {
  ul.price__list-pc li:last-child {
    width: 200px;
  }
}

dl.price__item {
  width: 156px;
}
@media screen and (max-width: 1024px) {
  dl.price__item {
    width: 130px;
  }
}
dl.price__item dt {
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  height: 118px;
  margin: 0 auto;
  width: 118px;
}
@media screen and (max-width: 1024px) {
  dl.price__item dt {
    height: 100px;
    width: 100px;
  }
}
dl.price__item dd {
  color: #fff;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "Arial", sans-serif;
  font-weight: 600;
  line-height: 1.5;
  padding-top: 10px;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  dl.price__item dd {
    font-size: 1.1rem;
  }
}

dl.price__total dt img {
  width: 210px;
}
@media screen and (max-width: 1024px) {
  dl.price__total dt img {
    width: 190px;
  }
}

@media screen and (min-width: 768px) {
  .price__content-sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .price__content-sp {
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 30px;
    margin: 15px auto 0;
    padding: 5px;
    width: 86%;
  }
}

.price__service-sp {
  background-image: url(../images/blue_bg_01.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 24px;
  box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.05) inset;
  padding: 15px;
}

.price__service-ttl {
  text-align: center;
}
.price__service-ttl img {
  width: 163px;
}

ul.price__list-sp {
  align-items: center;
  display: flex;
  margin: 0 auto;
  margin-top: 15px;
  width: 90%;
}
ul.price__list-sp li:nth-of-type(1), ul.price__list-sp li:nth-of-type(3), ul.price__list-sp li:nth-of-type(5) {
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  height: 24%;
  margin: 0 auto;
  width: 24%;
}
ul.price__list-sp li.icon-plus {
  margin: 0 5px;
  width: 20px;
}
ul.price__list-sp li.icon-plus img {
  width: 20px;
}

.price__total-sp {
  padding: 15px 0;
  text-align: center;
}
.price__total-sp img {
  width: 174px;
}

ul.price__item-sp {
  padding-left: 1em;
}
ul.price__item-sp li {
  padding-left: 0.2em;
  position: relative;
}
ul.price__item-sp li::before {
  content: "※";
  left: -1em;
  position: absolute;
  top: 0;
}
ul.price__item-sp {
  color: #fff;
  padding-top: 15px;
}
ul.price__item-sp li {
  font-size: 1.3rem;
  line-height: 1.6;
}
ul.price__item-sp li::before {
  content: "●";
}

.price__hosoku-atten {
  color: #f39899;
  font-size: 1.3rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .price__hosoku-atten {
    font-size: 1.2rem;
  }
}
@media screen and (max-width: 320px) {
  .price__hosoku-atten {
    font-size: 2.8vw;
  }
}

.price__hosoku-mds {
  color: #f39899;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
  padding-top: 0.6em;
}

.price__hosoku-period {
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.5;
}

.price__hosoku-pc,
.price__hosoku-sp {
  padding-top: 15px;
}
.price__hosoku-pc ul.kome-list,
.price__hosoku-sp ul.kome-list {
  padding-left: 1em;
}
.price__hosoku-pc ul.kome-list li,
.price__hosoku-sp ul.kome-list li {
  padding-left: 0.2em;
  position: relative;
}
.price__hosoku-pc ul.kome-list li::before,
.price__hosoku-sp ul.kome-list li::before {
  content: "※";
  left: -1em;
  position: absolute;
  top: 0;
}
.price__hosoku-pc ul.kome-list li,
.price__hosoku-sp ul.kome-list li {
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .price__hosoku-pc ul.kome-list li,
  .price__hosoku-sp ul.kome-list li {
    font-size: 1.1rem;
    line-height: 1.4;
  }
}
@media screen and (max-width: 320px) {
  .price__hosoku-pc ul.kome-list li,
  .price__hosoku-sp ul.kome-list li {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .price__hosoku-sp {
    padding: 0 10px 10px;
  }
}

/*
======================================================
  sns
--------------------------------------------------- */
.sns {
  background-color: #fff;
  padding: 40px 0;
}
@media screen and (max-width: 767px) {
  .sns {
    padding: 30px 0;
  }
}

ul.sns__list {
  align-items: center;
  display: flex;
  justify-content: center;
}
ul.sns__list li {
  margin: 0 20px;
  width: 50px;
}
ul.sns__list li a {
  align-items: center;
  border-radius: 50%;
  display: flex;
  height: 50px;
  justify-content: center;
  transition: all 0.3s ease;
  width: 50px;
}
ul.sns__list li a:hover {
  opacity: 0.7;
}
ul.sns__list li.sns__item--facebook a {
  background-color: #1877f2;
}
ul.sns__list li.sns__item--facebook a img {
  height: 28px;
  width: auto;
}
ul.sns__list li.sns__item--twitter a {
  background-color: #1da1f2;
}
ul.sns__list li.sns__item--twitter a img {
  height: auto;
  width: 28px;
}
ul.sns__list li.sns__item--line a {
  background-color: #06c755;
}
ul.sns__list li.sns__item--line a img {
  height: auto;
  width: 30px;
}

/*
======================================================
  support
--------------------------------------------------- */
@media screen and (min-width: 1025px) {
  .support {
    padding-top: 50px;
  }
}
@media screen and (max-width: 767px) {
  .support {
    /* padding-top: 150px; */
    padding-top: 40px;
  }
}

@media screen and (min-width: 1025px) {
  .support__inner {
    position: relative;
  }
}

.support-content {
  background-image: url(../images/blue_bg_01.jpg);
  background-position: right top;
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 1025px) {
  .support-content {
    border-radius: 0 140px 140px 0;
    min-width: 1310px;
    width: 90%;
  }
}
@media screen and (max-width: 1024px) {
  .support-content {
    width: 100%;
  }
}

.support-content__inner {
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .support-content__inner {
    min-height: 1200px;
    position: relative;
    width: 100vw;
  }
}

@media screen and (min-width: 1025px) {
  .support__box {
    left: calc(50vw - 472px);
    position: absolute;
    width: 944px;
  }
}
@media screen and (max-width: 1024px) {
  .support__box {
    padding: 50px 4%;
  }
}

.support__ttl {
  text-align: center;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  .support__ttl {
    padding-top: 50px;
  }
}
.support__ttl img {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .support__ttl img.pc {
    height: auto;
    width: 519px;
  }
}
@media screen and (max-width: 767px) {
  .support__ttl img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .support__ttl img.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .support__ttl img.sp {
    width: 248px;
  }
}

@media screen and (min-width: 768px) {
  ul.support__list {
    display: flex;
    justify-content: space-between;
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  ul.support__list {
    background-image: url(../images/blue_bg_02.jpg);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 1400px;
    border-radius: 60px 0 0 60px;
    box-shadow: 0 4px 7px rgba(5, 51, 76, 0.5);
    display: block;
    margin: 0 0 0 2vw;
    margin-top: 25px;
    width: 98vw;
  }
}
ul.support__list > li {
  background-image: url(../images/blue_bg_02.jpg);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 1400px;
  border-radius: 30px;
  box-shadow: 0 4px 7px rgba(5, 51, 76, 0.5);
  width: 32%;
}
@media screen and (max-width: 767px) {
  ul.support__list > li {
    background-image: none;
    border-radius: 0;
    box-shadow: none;
    width: 96%;
  }
}

dl.support-item {
  padding: 24px;
}
dl.support-item dt {
  text-align: center;
}
@media screen and (min-width: 768px) {
  dl.support-item dt img.pc {
    margin: 0 auto;
    width: 231px;
  }
}
@media screen and (max-width: 767px) {
  dl.support-item dt img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  dl.support-item dt img.sp {
    display: none;
  }
}
dl.support-item dd {
  padding-top: 15px;
}
dl.support-item dd p {
  color: #314b57;
  line-height: 1.6;
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  dl.support-item dd p {
    font-size: 1.3rem;
  }
}
dl.support-item dd p strong {
  color: #49217d;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .suppport-01__img,
  .suppport-02__img,
  .suppport-03__img {
    padding-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .suppport-01__img {
    border-radius: 10px;
    margin-left: 10px;
    margin-top: 4px;
    width: 135px;
  }
}
.suppport-01__img img {
  border-radius: 15px;
}
@media screen and (max-width: 767px) {
  .suppport-01__img img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .suppport-01__img img.sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .suppport-02__img {
    margin-left: 10px;
    margin-top: 4px;
    width: 135px;
  }
}
@media screen and (min-width: 768px) {
  .suppport-02__img img.pc {
    margin: 0 auto;
    width: 253px;
  }
}
@media screen and (max-width: 767px) {
  .suppport-02__img img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .suppport-02__img img.sp {
    display: none;
  }
}

.suppport-03__img {
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .suppport-03__img {
    margin-left: 10px;
    margin-top: 4px;
    width: 135px;
  }
}
.suppport-03__img img {
  border: 2px solid #9aa0c6;
  border-radius: 15px;
}
@media screen and (max-width: 767px) {
  .suppport-03__img img.pc {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .suppport-03__img img.sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .suppport-03__img img.sp {
    border-radius: 10px;
  }
}

ul.suppport-03__kome-list {
  padding-left: 1em;
}
ul.suppport-03__kome-list li {
  padding-left: 0.2em;
  position: relative;
}
ul.suppport-03__kome-list li::before {
  content: "※";
  left: -1em;
  position: absolute;
  top: 0;
}
ul.suppport-03__kome-list {
  color: #314b57;
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  ul.suppport-03__kome-list {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 767px) {
  dd.suppport-01__content,
  dd.suppport-02__content,
  .suppport-03__content {
    display: flex;
  }
  dd.suppport-01__content p,
  dd.suppport-02__content p,
  .suppport-03__content p {
    flex: 1;
  }
}
.support__movie {
  margin: 0 auto;
  width: 540px;
}
@media screen and (max-width: 767px) {
  .support__movie {
    width: 70%;
  }
}

.support__movie-ttl {
  padding-top: 60px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .support__movie-ttl {
    padding-top: 40px;
  }
}
.support__movie-ttl img {
  width: 441px;
}
@media screen and (max-width: 767px) {
  .support__movie-ttl img {
    width: 90%;
  }
}

.movie-box {
  height: 0;
  margin-top: 30px;
  overflow: hidden;
  padding-top: 56.25%;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .movie-box {
    margin-top: 20px;
  }
}
.movie-box iframe {
  border-radius: 20px;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .movie-box iframe {
    border-radius: 15px;
  }
}

/*
======================================================
  topicpath
--------------------------------------------------- */
#topicpath_area {
  *zoom: 1;
}
#topicpath_area::after {
  clear: both;
  content: "";
  display: table;
}

ol#topicpath {
  padding-top: 15px;
}
@media screen and (min-width: 1025px) {
  ol#topicpath {
    margin: 0 auto;
    width: 960px;
  }
}
@media screen and (max-width: 1024px) {
  ol#topicpath {
    margin: 0 30px;
  }
}
@media screen and (max-width: 1024px) {
  ol#topicpath {
    margin: 0 20px;
  }
}
ol#topicpath li {
  display: inline-block;
  *display: inline;
  float: left;
  *float: none;
  font-size: 1.2rem;
  line-height: 136%;
  margin: 0 0 5px 5px;
  *zoom: 1;
}
ol#topicpath li strong {
  font-weight: 700;
}
ol#topicpath li a {
  background: url(../images/topicpath_arrow.gif) no-repeat right center;
  color: #66a;
  padding: 0 15px 0 0;
  text-decoration: none;
}
ol#topicpath li a:visited {
  color: #66a;
}
ol#topicpath li a:hover {
  color: #448;
}
ol#topicpath li a:active {
  color: #448;
}

/*# sourceMappingURL=content.css.map */
