/* ////////////////////////////////////////

      lp-ap001.css

/////////////////////////////////////////// */

/* :::::::::::::::::::::::::::::::::::
    common
:::::::::::::::::::::::::::::::::::::: */
html {
  scroll-padding-top: 70px;
  scroll-behavior: smooth;
}
body {
  font-size: 0.9rem;
}
:root {
  --cl__white: #fff;
  --cl__black: #333;
  --cl__gray: #7f7f7f;
  --cl__m-gray: #ccc;
  --cl__l-gray: #f8f8f8;
  --cl__d-blue: #3c3482;
  --main-color: #4e3cb4;
  --point-color: #ff4f37;
  --sub-color: #dfdff5;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  image-rendering: -webkit-optimize-contrast;
}
a {
  text-decoration: none;
  caret-color: transparent;
  transition: all 0.4s ease;
}
@media (any-hover: hover) {
  a:is(:hover, :active) {
    text-decoration: none;
    opacity: 0.7;
    transition: all 0.4s ease;
  }
}
p {
  font-size: 0.9rem;
}
hr {
  border: none;
}
figure {
  margin: 0;
}
/*
  見出し
...................................... */
.ttl_02 {
  position: relative;
  margin-bottom: 50px;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  color: var(--main-color);
}
.ttl_03 {
  font-size: 1.6rem;
  font-weight: 500;
}
.ttl_04 {
  display: inline-flex;
  align-items: center;
  font-size: 1rem;
  font-weight: 500;
}
.ttl_04::before {
  content: "";
  display: inline-block;
  width: 3.5px;
  height: 18px;
  margin-right: 8px;
  background-color: var(--cl__gray);
}
.ttl_product {
  font-size: 2.3rem;
  font-weight: 600;
}
.deco_ttl {
  position: absolute;
  top: -37px;
  margin-left: -80px;
  border-bottom: solid 1px var(--main-color);
  transform: rotate(-10deg);
  font-size: 65%;
}
/*
  レイアウト
...................................... */
#contents {
  padding-top: 90px;
}
#topic_path {
  padding: 8px 1%;
}
[class$="_block"] {
  margin-top: 50px;
  padding-top: 50px;
}
.cmn_grid-2col {
  display: grid;
  grid-template-columns: 50% 1fr;
}
.cmn_grid-center {
  display: grid;
  place-items: center;
}
.cmn_align_l {
  text-align: left;
}
/*
  ボタン&リンク
...................................... */
.bnt_cta {
  margin-top: 45px;
}
.bnt_cta a {
  display: block;
  max-width: 400px;
  margin: auto;
  padding: 15px 0 16px;
  background-color: var(--point-color);
  border-radius: 30px;
  text-align: center;
  font-size: 120%;
  font-weight: 500;
  color: var(--cl__white);
}
.btn_download a {
  display: block;
  width: 220px;
  padding: 7px 0 8px;
  background:
    url("../../lineup/img/icon_pdf04.png") no-repeat left 15px center / 20px auto,
    var(--cl__gray);
  border-radius: 30px;
  font-size: 1rem;
  text-align: center;
  font-weight: 500;
  color: var(--cl__white);
}
.link_text {
  color: var(--main-color);
}
#pageTop a {
  background-color: var(--sub-color);
}
#pageTop a i.fa.fa-chevron-up {
  padding-right: 1px;
  padding-top: 5px;
}
/*
  デコレーション
...................................... */
.deco_label {
  margin-right: 15px;
  padding: 5px 20px;
  background-color: var(--main-color);
  border-radius: 8px;
  text-align: center;
  font-weight: 500;
  font-size: 1rem;
  color: var(--cl__white);
}
/*
  テキスト関連
...................................... */
.item_caption {
  margin-top: 5px;
  font-size: 1rem;
  text-align: center;
  font-weight: 600;
}
/*
  mov
...................................... */
/* ふんわり */
.mov_fade-y {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1500ms;
}
.mov_fade-y.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
.mov_fade-l-y {
  opacity: 0;
  transform: translate(0, 100px);
  transition: all 1500ms;
}
.mov_fade-l-y.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
.mov_fade-s-y {
  opacity: 0;
  transform: translate(0, 100px);
  transition:
    transform 500ms,
    opacity 700ms;
}
.mov_fade-s-y.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}
/* 企業ロゴ　ループ */
.logo_loop {
  overflow: hidden;
  padding-top: 10px;
}
.logo_loop_slider,
.logo_loop_slider_inner {
  display: flex;
}
.logo_loop_slider_inner:first-child {
  animation: loop 90s linear infinite;
}
.logo_loop_slider_inner:nth-child(2) {
  animation: loop2 90s -60s linear infinite;
}
.logo_loop_slider_inner:last-child {
  animation: loop3 90s -30s linear infinite;
}
@keyframes loop {
  0% {
    transform: translateX(200%);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes loop2 {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-200%);
  }
}
@keyframes loop3 {
  0% {
    transform: translateX(0%);
  }
  to {
    transform: translateX(-300%);
  }
}
.logo_loop_slider ul {
  display: flex;
  align-items: center;
  height: 65px;
}
.logo_loop_slider ul li {
  display: flex;
  align-items: center;
  text-align: center;
  width: auto;
}
.logo_loop_slider ul li img {
  max-width: initial;
  max-height: 40px;
  margin: 10px 20px;
}
@media screen and (max-width: 541px) {
  .logo_loop_slider ul {
    width: auto;
  }
  .logo_loop_slider ul li {
    height: 40px;
  }
  .logo_loop_slider ul li img {
    max-height: 35px;
  }
}
/* :::::::::::::::::::::::::::::::::::
    header
:::::::::::::::::::::::::::::::::::::: */
header {
  --header-height: 70px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: var(--cl__l-gray);
  z-index: 99;
}
.header {
  align-items: center;
  width: min(95%, 1750px);
  height: var(--header-height);
  margin: 0 auto;
}
.header_logo {
  flex-basis: 40%;
  align-items: center;
}
.header_logo img {
  max-width: 210px;
}
.header_logo .item_text {
  margin-top: 4px;
  margin-left: 20px;
}
.header_nav {
  flex-basis: 60%;
  padding-top: 5px;
}
.header_nav .nav_list {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4%;
}
.header_nav .nav_list li a {
  font-weight: 500;
  color: var(--cl__black);
}
.header_nav .nav_list .bnt_cta {
  margin-top: 0;
}
.header_nav .nav_list .bnt_cta a {
  padding: 6px 40px;
  font-size: 100%;
  color: var(--cl__white);
}
.hamburger {
  display: none;
}
/* :::::::::::::::::::::::::::::::::::
    main
:::::::::::::::::::::::::::::::::::::: */
main * {
  line-height: 1.8;
  box-sizing: border-box;
}
/*
  main-visual
...................................... */
.main-visual {
  position: relative;
  top: -250px;
  background-color: var(--cl__l-gray);
}
.main-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--cl__l-gray);
  transform: skewY(5deg) translateY(90px);
  z-index: -1;
}
.main-visual p {
  font-size: 1rem;
  line-height: 2.2;
}
.product-image_float-area {
  position: relative;
}
.main-visual .product-image {
  position: sticky;
  top: 100px;
  z-index: 2;
  height: 280px;
  text-align: right;
}
.main-visual .product-image img {
  max-width: 230px;
  -webkit-filter: drop-shadow(0px 3px 10px rgba(255, 255, 255, 0.8));
  filter: drop-shadow(-3px 4px 2px rgba(255, 255, 255, 0.8));
}
.main-visual_top {
  margin-bottom: 13vh;
  align-items: flex-end;
}
.main-visual_top .main_ttl {
  font-size: 2.6rem;
  font-weight: 900;
  font-feature-settings: "palt";
  letter-spacing: 1px;
}
.main-visual_top .main_ttl span {
  display: block;
  width: fit-content;
  margin-bottom: 10px;
  padding: 8px 30px;
  border: solid 1px var(--main-color);
  border-radius: 25px;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: normal;
  color: var(--main-color);
}
.main-visual_top .main_ttl span:last-of-type {
  margin-bottom: 15px;
}
.main-visual_top .main_ttl-br {
  display: none;
}
.main-visual_badge {
  align-items: flex-end;
  gap: 10%;
  margin-top: 20px;
  vertical-align: bottom;
}
.main-visual_badge .icon_subsidy {
  flex: 1;
}
.main-visual_badge .icon_subsidy img {
  max-width: 210px;
}
.main-visual_badge a p {
  font-size: 0.8rem;
  text-align: center;
}
.main-visual_badge a p i {
  color: var(--cl__black);
  opacity: 0.3;
}
.main-visual_top .text_area {
  flex-basis: 35%;
}
.main-visual_top .text_area .item_explanation {
  padding-left: 2px;
  font-size: 1.2rem;
}
.main-visual_top .image_area {
  flex-basis: 58%;
  align-self: center;
  padding-right: 5px;
}
.main-visual_top .bnt_cta {
  margin-top: 25px;
}
.main-visual_top .bnt_cta a {
  margin-left: 0;
  background-color: var(--main-color);
}
:is(.main-visual_overview-01, .main-visual_overview-02) .text_area {
  flex-basis: 40%;
  background-color: var(--cl__l-gray);
}
:is(.main-visual_overview-01, .main-visual_overview-02) .image_area {
  flex-basis: 58%;
  text-align: left;
}
.main-visual_overview-01 .image_area img {
  max-width: 145px;
  margin-right: 5px;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.main-visual_overview-01 .mov_overview.scrollin img {
  opacity: 1;
  transform: translateY(-30px);
}
.main-visual_overview-01 .mov_overview.scrollin .item_image02 {
  transition: all 0.3s 0.3s ease;
  transform: translateY(40px);
}
.main-visual_overview-01 .mov_overview.scrollin .item_image03 {
  transition: all 0.3s 0.6s ease;
  transform: translateY(-20px);
}
.main-visual_overview-02 {
  position: relative;
  margin-top: 150px;
}
.main-visual_overview-02 .image_area {
  text-align: right;
}
/*
  worries_block
...................................... */
.worries_block {
  position: relative;
  width: 100%;
  margin-top: -250px !important;
  padding: 180px 0;
  color: var(--cl__white);
  overflow: hidden;
}
.worries_block::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: var(--main-color);
  transform: skewY(5deg) translateY(90px);
  z-index: -1;
}
.worries_block .ttl_02 {
  margin-top: 60px;
  font-size: 1.9rem;
  font-weight: 500;
  line-height: 2;
  color: var(--cl__white);
}
.worries_list {
  margin: 90px auto 80px;
  padding-left: 30px;
  transform: translate(0, 30px);
  transition-delay: 0.3s;
}
.worries_list li {
  flex-basis: 26.6%;
  position: relative;
  min-height: 345px;
  padding-top: 43px;
  padding-inline: 42px 32px;
  border: solid 1px var(--cl__white);
  border-radius: 30px 0 30px 30px;
}
.worries_list li::after {
  content: url(../img/ap001/icon_worries.webp);
  position: absolute;
  top: -80px;
  right: -65px;
  transform: scale(0.5);
  padding: 25px;
  padding-bottom: 12px;
  background-color: var(--main-color);
}
.worries_list li p {
  text-align: justify;
  font-size: 1rem;
  line-height: 2.2;
}
.worries_list li p:last-child {
  margin-block-start: 20px;
}
.worries_list li p mark {
  background: none;
  margin-inline: 4px;
  padding-bottom: 2px;
  border-bottom: dotted 3px var(--point-color);
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--cl__white);
}
.worries_list li img {
  position: absolute;
  left: -45px;
  bottom: -10px;
  width: auto;
  max-height: 280px;
}
.worries_list li:first-child img {
  left: -76px;
}
.worries_list li:last-child img {
  left: -40px;
  max-height: 270px;
}
/*
  solution_block
...................................... */
.solution_block {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.solution_block .ttl_02 {
  font-size: 2rem;
}
.solution_top {
  position: relative;
  height: 290px;
  background: var(--main-color);
}
.solution_top::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -139px;
  height: 140px;
  width: 100%;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background-color: var(--main-color);
  z-index: -2;
}
.solution_top .product-image {
  position: absolute;
  left: 52%;
  bottom: -140px;
  transform: translateX(100px);
}
.solution_top .product-image img {
  max-width: 188px;
}
.solution_top-bg {
  position: absolute;
  bottom: -60px;
  display: grid;
  place-items: center;
  width: 100%;
  height: 400px;
  background: url(../img/ap001/bg_solution01.webp) no-repeat center bottom / 850px auto;
  z-index: 1;
}
.solution_top .ttl_02 {
  margin-bottom: 0;
  padding-top: 10px;
  font-size: 2.5rem;
  line-height: 1.95;
  letter-spacing: 1.2px;
  color: var(--cl__white);
}
.solution_top .ttl_02 small {
  display: block;
  font-size: 70%;
  line-height: 1.6;
}
.solution_point .ttl_02 {
  margin-top: 40px;
  margin-bottom: 0;
}
.solution_point-bg {
  height: 450px;
  margin-top: 60px;
  padding-top: 90px;
  background: url("../img/ap001/bg_solution02.webp") no-repeat center top / 855px auto;
}
:is(.solution_merit, .solution_function) .ttl_02 {
  font-size: 1.8rem;
}
.solution_point-list {
  align-items: stretch;
  margin-top: -130px;
  padding-right: 20px;
}
.solution_point-list li {
  flex-basis: 29%;
  position: relative;
  min-height: 340px;
  padding: 25px 20px;
  background-color: var(--cl__white);
  border: solid 5px var(--sub-color);
  border-radius: 20px;
}
.solution_point-list li .deco_point {
  content: "POINT";
  position: absolute;
  top: -60px;
  left: 5px;
  width: 100%;
  font-size: 180%;
  font-weight: 800;
  color: var(--sub-color);
}
.solution_point-list li .deco_point span {
  padding-left: 1px;
  font-size: 150%;
}
.solution_point-list li .img_solution {
  position: absolute;
  right: -48px;
  bottom: -10px;
  width: auto;
  max-height: 230px;
}
.solution_point-list li .img_point {
  border-radius: 7px;
}
.solution_point-list .ttl_03 {
  margin-bottom: 13px;
  font-size: 1.05rem;
  text-align: center;
  color: var(--main-color);
}
.solution_point-text {
  margin-top: 13px;
  padding-right: 18px;
  text-align: justify;
}
.solution_merit,
.solution_function {
  margin-top: 80px;
  padding-top: 100px;
}
.solution_merit-list {
  position: relative;
}
.solution_merit-image {
  position: absolute;
  top: -10px;
  left: 48.4%;
  transform: translateX(-50%);
}
.solution_merit-image img {
  max-width: 300px;
}
.solution_merit-image .product-image img {
  position: absolute;
  top: 29%;
  right: -50px;
  max-width: 190px;
}
.solution_merit-list h3 {
  margin-bottom: 10px;
  padding-top: 35px;
  font-size: 1.03rem;
  font-weight: 700;
}
.solution_merit-list h3 img {
  margin-right: 10px;
}
.solution_merit-list ul {
  border-bottom: 1px dotted var(--cl__gray);
}
.solution_merit-list ul:last-of-type {
  border-bottom: none;
}
.solution_merit-list li {
  flex-basis: 33%;
  min-height: 65px;
  padding-left: 10px;
  padding-bottom: 35px;
  font-size: 14px;
}
.solution_merit-list li p {
  padding-left: 8px;
  font-size: 0.86rem;
}
.solution_merit-list li .icon_merit {
  max-width: 50px;
}
.solution_function-list {
  margin-bottom: 30px;
}
.solution_function-list li {
  flex-basis: 22.8%;
  text-align: center;
}
.solution_function-list li img {
  width: 100%;
  aspect-ratio: 273.5 / 198.5;
  object-fit: cover;
  border: solid 5px var(--sub-color);
  border-radius: 20px;
}
.img_expand-link {
  position: relative;
  display: block;
}
.img_expand-icon {
  position: absolute;
  right: 15px;
  bottom: 15px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  background-color: var(--sub-color);
  border-radius: 50%;
  font-size: 0.95rem;
  color: var(--main-color);
}
.solution_function-list li h3 {
  margin: 18px 0 8px;
  font-weight: 700;
}
.solution_function-list li .item_text {
  padding: 0 5px;
  font-size: 0.82rem;
  text-align: justify;
}
/*
  cta-btn_block
...................................... */
.cta-btn_block {
  margin-top: 100px;
  padding: 80px 0;
  background-color: var(--main-color);
  text-align: center;
  color: var(--cl__white);
}
.cta-btn_block .ttl_03 {
  margin-bottom: 10px;
  font-size: 1.65rem;
}
.cta-btn_block .item_comment {
  position: relative;
  font-size: 1.1rem;
}
.cta-btn_block .deco_ttl {
  border-bottom: solid 1px var(--cl__white);
  font-size: 90%;
  color: var(--cl__white);
}
/*
  scene-case_block
...................................... */
.scene-case_block {
  margin-top: 0 !important;
  padding: 100px 0;
  background-color: var(--cl__l-gray);
}
.scene-case_block .ttl_02 {
  color: var(--cl__black);
}
.scene-case_block figure {
  margin-top: 60px;
}
.scene-case_block figcaption {
  margin-bottom: 25px;
  font-size: 1.05rem;
}
.scene-case_list li {
  flex-basis: 31%;
}
/*
  about-us_block
...................................... */
.about-us_block {
  position: relative;
  padding-top: 20px;
}
.about-us_block .left_area {
  flex-basis: 35%;
  text-align: justify;
}
.about-us_block .left_area .ttl_02 {
  margin-bottom: 25px;
  font-size: 3.3rem;
  text-align: left;
  line-height: 1.6;
  color: var(--cl__black);
}
.about-us_block .left_area .ttl_02 span {
  display: block;
  font-size: 50%;
}
.about-us_block .left_area .bnt_cta a {
  margin-left: 0;
}
.about-us_block .right_area {
  flex-basis: 53%;
}
.about-us_block .right_area details[open] p {
  animation: fadeIn 0.4s ease;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: none;
  }
}
.about-us_block .right_area summary {
  position: relative;
  display: block;
  cursor: pointer;
}
.about-us_block .right_area summary::after {
  font-family: FontAwesome;
  position: absolute;
  content: "\f055";
  top: -7px;
  right: 5px;
  font-size: 120%;
  color: var(--cl__m-gray);
}
.about-us_block .right_area details[open] summary:after {
  content: "\f056";
  transform: rotate(180deg);
  transition: all 0.3s;
}
.about-us_block .right_area details p {
  color: var(--cl__black);
}
.about-us_block .right_area :is(details, dl) {
  padding: 12px 10px 14px;
  border-top: solid 1px var(--cl__m-gray);
  font-size: 2.1rem;
  font-weight: 700;
  color: var(--main-color);
}
.about-us_block .right_area dl {
  padding: 8px 10px 10px;
}
.about-us_block .right_area dl:last-of-type {
  border-bottom: solid 1px var(--cl__m-gray);
}
.about-us_block .right_area dl dt {
  font-size: 1.3rem;
  line-height: 3;
  color: var(--cl__black);
}
.about-us_block .right_area dl dd {
  font-size: 2.3rem;
  font-weight: 700;
}
.about-us_block .right_area dl dd span {
  margin-left: 3px;
  font-size: 50%;
}
/*
  cta-support_block
...................................... */
.cta-support_block {
  margin-top: 0 !important;
  padding: 80px 0 90px;
  background: url("../img/ap001/bg_support.webp") no-repeat top right / cover;
  text-align: center;
  color: var(--cl__white);
}
.cta-support_block hr {
  margin: 45px auto 50px;
  border-top: solid 1px var(--cl__white);
  opacity: 0.7;
}
.cta-support_block .ttl_02 {
  margin-bottom: 30px;
  font-size: 1.85rem;
  font-weight: 400;
  color: var(--cl__white);
}
.cta-support_block p {
  line-height: 2.2;
}
.cta-support_list {
  margin-bottom: 80px;
}
.cta-support_list li {
  width: fit-content;
  text-align: left;
}
.cta-support_list li img {
  max-width: 80px;
}
.cta-support_list li p {
  margin-left: 20px;
  line-height: 2;
}
.cta-support_list li p b {
  display: block;
  margin-bottom: 7px;
  font-size: 1.15rem;
  font-weight: 500;
}
.cta-support_block .bnt_cta {
  gap: 5%;
}
.cta-support_block .bnt_cta a {
  width: 100%;
  margin: 0;
}
.cta-support_block .bnt_cta a:last-child {
  background-color: transparent;
  border: solid 1px var(--cl__white);
}
/*
  function_block
...................................... */
.function_block {
  margin-top: 0 !important;
  padding: 100px 0;
  background-color: var(--cl__l-gray);
  text-align: center;
}
.function_block .ttl_02 {
  color: var(--cl__black);
}
.function_block .ttl_product span {
  display: block;
  margin-bottom: 6px;
  font-size: 1rem;
  color: var(--cl__black);
}
.function_img-product {
  display: block;
  max-width: 230px;
  margin: 30px auto 40px;
}
.function_img-logo {
  max-width: 200px;
  margin-right: 15px;
}
.function_block :is(.ttl_sub, .item_price) {
  font-weight: 500;
}
.function_block .item_price {
  color: var(--cl__gray);
}
.function_block .ttl_03 {
  position: relative;
  margin-top: 30px;
  padding-left: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--cl__black);
  text-align: left;
  color: var(--cl__gray);
}
.function_block .ttl_03 .btn_download {
  position: absolute;
  bottom: 10px;
  right: 20px;
}
.function_list {
  flex-basis: 47%;
  align-items: stretch;
  margin-bottom: 40px;
  text-align: left;
  font-size: 90%;
}
.function_list :is(dt, dd) {
  padding: 18px 0;
  border-bottom: solid 1px var(--cl__gray);
}
.function_list dt {
  flex-basis: 38%;
  padding-left: 20px;
  font-weight: 600;
}
.function_list dt.ttl_04 {
  padding-left: 10px;
}
.function_list dd {
  flex-basis: 62%;
}
.function_movie-list {
  margin-top: 30px;
}
.function_movie-list li {
  flex-basis: 47%;
}
.function_movie-list li iframe {
  width: 100%;
  aspect-ratio: 578 / 330;
  border-radius: 20px;
}
/*
  app-dl_area（視聴用アプリ・説明書）
...................................... */
.function_block .ttl_02.app-dl_heading {
  margin-top: 60px;
  color: var(--main-color);
}
.app-dl_area {
  margin-top: 25px;
  padding: 35px 5%;
  border-radius: 20px;
}
.app-dl_group {
  text-align: center;
}
.app-dl_group-sp {
  flex-basis: 58%;
  padding-right: 30px;
  border-right: solid 1px var(--cl__m-gray);
}
.app-dl_group-pc {
  flex-basis: 35%;
  align-self: center;
}
.app-dl_group-ttl {
  margin-bottom: 20px;
  font-size: 1rem;
  font-weight: 600;
}
.app-dl_sp-list {
  align-items: flex-start;
  gap: 25px;
}
.app-dl_sp-list li {
  flex: 1;
}
.app-dl_os {
  margin-bottom: 10px;
  font-size: 0.9rem;
  font-weight: 500;
}
.app-dl_badge img {
  max-width: 160px;
}
.app-dl_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 220px;
  padding: 13px 30px;
  background-color: var(--main-color);
  border-radius: 10px;
  font-size: 1rem;
  font-weight: 500;
  color: var(--cl__white);
}
.app-dl_btn i {
  font-size: 1.15rem;
}
.function_block .bnt_cta {
  gap: 20px 5%;
}
.function_block .bnt_cta a {
  width: 100%;
  margin: 0;
}
.function_block .bnt_cta a:last-child {
  background-color: transparent;
  border: solid 1px var(--main-color);
  color: var(--main-color);
}
/*
  conclusion_block
...................................... */
.conclusion_block {
  width: 100%;
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.product-image_flow-area {
  position: relative;
}
.conclusion_block .product-image {
  position: sticky;
  top: 90px;
  z-index: 1;
}
.conclusion_block .product-image img {
  position: absolute;
  top: 90px;
  left: 39%;
  max-width: 220px;
}
.conclusion_block .ttl_02 {
  margin-bottom: 0;
  text-align: left;
  font-size: 2.5rem;
  line-height: 1.8;
  text-shadow: 1px 1px 5px var(--cl__black);
  color: var(--cl__white);
}
.conclusion_flow_bg {
  display: grid;
  place-items: center;
  height: 100vh;
  background: url("../img/ap001/bg_conclusion01.webp") no-repeat left top / cover;
}
.conclusion_form_bg {
  display: grid;
  justify-items: center;
  height: 100%;
  background: url("../img/ap001/bg_conclusion02.webp") no-repeat left top / cover;
}
.conclusion_form_bg .ttl_02 {
  padding-top: 30%;
}
.conclusion_flow-list dt {
  margin-bottom: 8px;
  font-size: 120%;
  font-weight: 600;
  color: var(--main-color);
}
.conclusion_flow-list dt .icon_flow {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 60px;
  margin-right: 33px;
  background-color: var(--sub-color);
  outline: solid 1px var(--sub-color);
  outline-offset: 4px;
  border-radius: 50%;
  text-align: center;
  vertical-align: middle;
  color: var(--cl__white);
}
.conclusion_flow-list dt .icon_flow::after {
  content: "";
  position: absolute;
  top: -54px;
  left: 30px;
  width: 1px;
  height: 49px;
  background-color: var(--main-color);
}
.conclusion_flow-list dt:first-child .icon_flow::after {
  display: none;
}
.conclusion_flow-list dt .icon_flow img {
  max-width: 44px;
  margin-top: 12px;
}
.conclusion_flow-list dd {
  height: 70px;
  margin: -20px 0 0 98px;
  font-size: 0.85rem;
}
.conclusion_flow-list dd:last-child {
  margin-bottom: 0;
  border: none;
}
.conclusion_form .ttl_03 {
  text-align: left;
  color: var(--main-color);
}
.conclusion_form img {
  max-width: 400px;
  text-align: center;
}
/* form02.css上書き用 */
#ap-001 .secula_main {
  flex: 0 1 100%;
  font-size: 1rem;
  line-height: 1.5;
}
#ap-001 .form_mailer_ctt {
  margin-top: 0;
  margin-left: 0;
  padding-top: 0;
  max-width: 660px;
  padding-inline: 90px 10px;
}
.form_mailer_ctt .secula-l-none,
.form_mailer_ctt hr {
  display: none !important;
}
.form_mailer_ctt .secula-l-hidden {
  visibility: hidden !important;
  margin: 0 !important;
  height: 0;
}
.form_mailer_ctt .secula-l-only {
  display: block !important;
}
.form_mailer_ctt input[type="radio"] {
  width: 15px;
  height: 15px;
}
.form_wide .form_mailer_ctt .other_series,
.form_wide .form_mailer_ctt .out_link {
  font-size: 0.8rem;
}
.form_wide .form_mailer_ctt .exp_text {
  display: none;
}
.form_wide .form_mailer_ctt .form_item {
  justify-content: flex-start;
  gap: 2%;
  margin-bottom: 1.5rem;
}
.form_mailer_ctt .item_label,
.form_mailer_ctt .form-control,
input.form-control[type="email"],
input.form-control[type="tel"] {
  display: inline-block;
}
.form_mailer_ctt .item_label,
.form_wide .form_sec_aria .item_label {
  flex: 0 0 28%;
  margin-bottom: 5px;
}
.form_mailer_ctt .item_label + div,
.form_wide .form_sec_aria p {
  flex: 0 1 100%;
}
.form_mailer_ctt select.form-control,
.form_mailer_ctt input.form-control[type="text"] {
  width: 100%;
}
.form_wide .form_mailer_ctt .size_l {
  width: 49.5% !important;
}
.form_wide .form_mailer_ctt .size_s {
  width: 27% !important;
}
.form_mailer_ctt .item_label label {
  font-size: 14px;
  font-weight: 500;
}
.form_mailer_ctt .form-control,
.form_mailer_ctt p {
  font-size: 14px;
}
.form_mailer_ctt .required::after,
.form_mailer_ctt .elective::after {
  margin-left: 0.3rem;
  padding: 0.08rem 0.35rem 0.17rem;
  font-size: 0.5rem;
  vertical-align: middle;
}
.form_mailer_ctt .wrap-form-btn-submit {
  margin-top: 1.3rem;
}
.form_wide .form_mailer_ctt input.form-btn-submit {
  max-width: 400px;
  padding: 10px 0;
  background-color: var(--main-color);
  border: 1px solid var(--main-color);
  border-radius: 30px;
  font-size: 1rem;
}
/*
  footer
...................................... */
.ft_contact {
  position: relative;
}
/* :::::::::::::::::::::::::::::::::::
    1500px ～
:::::::::::::::::::::::::::::::::::::: */
@media (max-width: 1500px) {
  /* ロゴ下にサブテキストを回し込み、余った幅をナビに渡す */
  .header_logo {
    display: block;
    flex: 0 0 auto;
  }
  .header_logo img {
    max-width: 180px;
  }
  .header_logo .item_text {
    margin: 4px 0 0;
    font-size: 0.75rem;
    white-space: nowrap;
  }
  .header_nav {
    flex: 1 1 auto;
    min-width: 0;
  }
  .header_nav .nav_list {
    gap: clamp(8px, 1.6vw, 45px);
  }
  .header_nav .nav_list li a {
    font-size: clamp(0.78rem, 1.3vw, 1rem);
    white-space: nowrap;
  }
  .header_nav .nav_list .bnt_cta a {
    padding: 6px clamp(14px, 2.4vw, 40px);
  }
}
/* :::::::::::::::::::::::::::::::::::
    767px ～
:::::::::::::::::::::::::::::::::::::: */
@media (max-width: 768px) {
  /*
  common
...................................... */
  body {
    min-width: 100%;
  }
  #contents {
    padding-top: 0;
  }
  .content_inner {
    width: 95%;
    margin: 0 auto;
  }
  .br-pc {
    display: none;
  }
  .br-sp {
    display: block;
  }
  .logo_loop_slider ul li {
    height: 40px;
  }
  .logo_loop_slider ul li img {
    width: auto;
    max-height: 35px;
  }
  /*
  header__hamburger
...................................... */
  body.open {
    overflow: hidden;
  }
  header {
    min-width: auto;
    padding-inline: 4px;
  }
  .header_logo,
  .header_nav {
    flex-basis: 100%;
  }
  .hamburger {
    display: block;
    position: absolute;
    top: 28px;
    right: 25px;
    height: 30px;
    width: 30px;
    cursor: pointer;
    z-index: 100;
  }
  .hamburger::after,
  .hamburger::before {
    position: absolute;
    content: "";
    width: 31px;
    height: 2.5px;
    border-radius: 2px;
    background: var(--main-color);
    transition: transform 0.3s;
  }
  .hamburger::before {
    transform: translateY(-9px);
    box-shadow: 0 9px 0 var(--main-color);
  }
  .hamburger::after {
    transform: translateY(9px);
  }
  .hamburger.is-active::before {
    transform: rotate(45deg);
    background: var(--cl__white);
    box-shadow: none;
  }
  .hamburger.is-active::after {
    transform: rotate(-45deg);
    background: var(--cl__white);
  }
  .header_nav {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    left: 0;
    background: rgba(78, 60, 180, 0.95);
    color: #fff;
    visibility: hidden;
    opacity: 0;
    transition: all 0.6s;
    z-index: 99;
  }
  .header_nav.is-active {
    visibility: visible;
    opacity: 1;
  }
  .header_nav .nav_list {
    display: block;
    width: 90%;
    margin-inline: auto;
    padding-top: 8vh;
  }
  .header_nav .nav_list li {
    width: 100%;
    margin: 5vh 0;
    font-size: 180%;
    list-style-type: none;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.4s;
  }
  .header_nav.is-active .nav_list li {
    opacity: 1;
    transform: translateY(0);
  }
  .header_nav.is-active .nav_list li:nth-child(1) {
    transition-delay: 0.1s;
  }
  .header_nav.is-active .nav_list li:nth-child(2) {
    transition-delay: 0.2s;
  }
  .header_nav.is-active .nav_list li:nth-child(3) {
    transition-delay: 0.3s;
  }
  .header_nav.is-active .nav_list li:nth-child(4) {
    transition-delay: 0.4s;
  }
  .header_nav.is-active .nav_list li:nth-child(5) {
    transition-delay: 0.5s;
  }
  .header_nav.is-active .nav_list li:nth-child(6) {
    transition-delay: 0.6s;
  }
  .header_nav .nav_list li a {
    display: block;
    padding: 1vh 20px;
    border-radius: 30px;
    color: #fff;
    letter-spacing: 2px;
    text-decoration: none;
  }
  .header_nav .nav_list li a:active {
    background-color: rgba(255, 255, 255, 0.4);
  }
  .header_nav .nav_list li a::before {
    font-family: "FontAwesome";
    content: "\f138";
    margin-right: 12px;
    font-size: 90%;
    color: #fff;
    vertical-align: middle;
  }
  .header_nav .nav_list .bnt_cta {
    margin-top: 7vh;
  }
  .header_nav .nav_list .bnt_cta a {
    padding: 20px 0;
  }
  /*
  each-block
...................................... */
  .main-visual {
    top: 0;
    padding-top: 65px;
    padding-bottom: 0;
  }
  .main-visual_top {
    display: block;
    margin-bottom: 20px;
  }
  .main-visual_top .main_ttl span {
    display: inline-block;
  }
  .main-visual_top .main_ttl-br {
    display: block;
  }
  .main-visual_badge {
    gap: 5%;
    margin-top: 0;
  }
  .main-visual_badge a p {
    text-align: left;
  }
  .main-visual_badge .icon_ndaa img {
    width: 130px;
  }
  .main-visual .product-image {
    position: absolute;
    top: 27vh;
    right: 10px;
    width: 100%;
    height: auto;
    text-align: right;
  }
  .main-visual .product-image img {
    width: 40%;
    max-width: 280px;
  }
  .main-visual_top .text_area .item_explanation br {
    display: none;
  }
  .main-visual_top .image_area {
    margin-top: 20px;
    padding-right: 0;
  }
  .main-visual_top .bnt_cta.pc_only {
    display: none;
  }
  .main-visual_top .bnt_cta.sp_only {
    display: block;
    margin: 20px auto 0;
  }
  .main-visual_top .bnt_cta.sp_only a {
    margin: auto;
  }
  .main-visual .ttl_02 {
    margin-block: 80px 30px;
  }
  .main-visual_overview-01,
  .main-visual_overview-02 {
    display: block;
    min-height: 100%;
    opacity: 1;
  }
  .main-visual_overview-01 .image_area img {
    opacity: 1;
  }
  :is(.main-visual_overview-01, .main-visual_overview-02) .image_area {
    padding: 40px 0;
    text-align: center;
  }
  .main-visual_overview-01 .mov_overview.scrollin img {
    max-width: 23%;
    margin-right: 2%;
    transform: none !important;
    transition: none !important;
    opacity: 1 !important;
  }
  .main-visual_overview-01 .image_area img:last-child {
    margin-right: 0;
  }
  .main-visual_overview-01 .image_area img.sp_only {
    display: inline-block;
  }
  .main-visual_overview-02 {
    margin-top: 50px;
  }
  .main-visual_overview-02 .image_area {
    text-align: center;
  }
  .main-visual_overview-02 .image_area img {
    max-width: 70%;
    margin-top: 20px;
  }
  .worries_block {
    margin-top: 0 !important;
    padding: 180px 0 10px;
  }
  .worries_block .ttl_02 {
    margin-top: 20px;
  }
  .worries_list {
    margin: 40px auto;
    padding-left: 0;
  }
  .worries_list li {
    flex-basis: 30%;
    min-height: 450px;
    padding: 20px 30px;
  }
  .worries_list li::after {
    transform: scale(0.4);
    padding: 15px;
    padding-bottom: 10px;
  }
  .worries_list li img {
    left: -25px;
    max-height: 160px;
  }
  .worries_list li:first-child img {
    left: -33px;
  }
  .worries_list li:last-child img {
    left: -20px;
    max-height: 160px;
  }
  .solution_top {
    top: -1px;
    height: 38vh;
  }
  .solution_top::after {
    bottom: -118.5px;
    height: 120px;
  }
  .solution_top .ttl_02 {
    padding-top: 60px;
    font-size: 2rem;
    line-height: 1.7;
    letter-spacing: 1px;
  }
  .solution_top-bg {
    bottom: -20px;
    height: 100%;
    background: url(../img/ap001/bg_solution01.webp) no-repeat center bottom / 90% auto;
  }
  .solution_point-list li {
    flex-basis: 31%;
    padding-inline: 10px;
  }
  .solution_point-list .ttl_03 {
    font-weight: 700;
  }
  .solution_point-list li .img_solution,
  .solution_point-list li:last-child .img_solution {
    display: none;
  }
  .solution_point-text,
  .solution_point-list li:last-child .solution_point-text {
    padding-right: 0;
  }
  .solution_point-bg {
    margin-top: 10px;
    background: url(../img/ap001/bg_solution02.webp) no-repeat center top / 95% auto;
  }
  .solution_merit-image {
    left: auto;
    right: 50px;
    transform: translateX(0);
  }
  .solution_merit-image img {
    max-width: 200px;
  }
  .solution_merit-list ul {
    display: block;
    border: none;
  }
  .solution_merit-list li {
    border-bottom: 1px dotted var(--cl__m-gray);
  }
  .cta-btn_block .deco_ttl {
    margin-left: -30px;
  }
  .about-us_block .left_area {
    flex-basis: 40%;
  }
  .about-us_block .left_area .ttl_02 {
    font-size: 2.6rem;
  }
  .about-us_block .right_area :is(details, dl) {
    font-size: 1.8rem;
  }
  .cta-support_list li img {
    max-width: 40px;
  }
  .cta-support_list {
    margin-bottom: 40px;
  }
  .cta-support_list li {
    flex-basis: 32%;
  }
  .cta-support_list li p {
    flex-basis: calc(100% - 50px);
    margin-left: 10px;
  }
  .cta-support_block .bnt_cta a {
    width: 45%;
    margin: 0 auto;
  }
  .flex_between:has(.function_list) {
    display: block;
  }
  .function_list {
    margin-bottom: 0;
  }
  .app-dl_area {
    padding: 25px 5%;
  }
  .app-dl_group-sp {
    flex-basis: 100%;
    padding-right: 0;
    border-right: none;
  }
  .app-dl_group-pc {
    display: none;
  }
  .function_list dt {
    flex-basis: 30%;
  }
  .function_list dd {
    flex-basis: 70%;
  }
  .conclusion_flow,
  .conclusion_form {
    display: block;
  }
  .conclusion_flow_bg,
  .conclusion_form_bg {
    display: grid;
    place-items: center;
    height: 300px;
  }
  .conclusion_block .product-image img {
    left: auto;
    right: 10px;
    max-width: 200px;
  }
  .conclusion_block .ttl_02 {
    padding-top: 0;
    font-size: 2rem;
  }
  .conclusion_flow-list {
    padding-top: 50px;
    padding-inline: 10px;
  }
  .conclusion_form form {
    padding: 50px 0;
  }
  /* form02.css上書き用 */
  #ap-001 .form_mailer_ctt {
    max-width: 100%;
    padding-inline: 10px;
  }
}
/* :::::::::::::::::::::::::::::::::::
    480px ～
:::::::::::::::::::::::::::::::::::::: */
@media (max-width: 480px) {
  /*
  common
...................................... */
  body,
  p,
  .link_text {
    font-size: 1rem;
  }
  [class$="_block"] {
    margin-top: 30px;
    padding-top: 30px;
  }
  .ttl_02 {
    margin-bottom: 30px;
    font-size: 1.2rem !important;
  }
  .ttl_03 {
    font-size: 1.2rem;
  }
  .ttl_product {
    font-size: 2rem;
  }
  .deco_ttl {
    top: -30px;
    margin-left: 0;
    transform: rotate(-7deg);
  }
  .deco_label {
    display: block;
    margin-block-end: 8px;
    margin-right: 0;
    padding: 5px 10px;
  }
  .bnt_cta {
    margin-top: 30px;
  }
  .btn_download a {
    width: 150px;
    padding-left: 13px;
  }
  /*
  each-block
...................................... */
  .header {
    width: 98%;
  }
  .header_logo {
    display: block;
  }
  .header_logo .item_text {
    margin-top: 8px;
    font-size: 0.9rem;
  }
  .header_nav .nav_list li a,
  .header_nav .nav_list .bnt_cta a {
    font-size: 1.2rem;
  }
  .main-visual {
    padding-top: 85px;
  }
  .main-visual_top .main_ttl-br {
    display: none;
  }
  .main-visual .ttl_02 {
    margin-top: 50px;
  }
  .main-visual .product-image {
    top: -35px;
    right: 0;
  }
  .main-visual .product-image img {
    max-width: 230px;
  }
  .main-visual_top .text_area .item_explanation {
    font-size: 1.1rem;
  }
  .main-visual_top .image_area {
    position: relative;
    margin-top: 10px;
  }
  .main-visual_top .main_ttl {
    font-size: 2.2rem;
  }
  .main-visual_top .main_ttl span {
    display: block;
  }
  .main-visual_top .main_ttl span:last-of-type {
    margin-bottom: 10px;
  }
  .main-visual_badge .flex_around {
    align-items: flex-end;
    gap: 8%;
    padding: 15px 5px 0;
    text-align: center;
  }
  .main-visual_badge .icon_ndaa {
    flex: 0.6;
  }
  .main-visual_badge .icon_subsidy {
    flex: 1;
  }
  .main-visual_badge a p {
    text-align: center;
  }
  .main-visual_top .main_ttl .br-sp {
    display: none;
  }
  .main-visual_top .bnt_cta.sp_only {
    margin-top: 30px;
  }
  .main-visual_overview-01 .mov_overview.scrollin img {
    max-width: 30%;
    margin-right: 1%;
  }
  .main-visual_overview-01 .mov_overview.scrollin img:last-child {
    max-width: 35%;
    margin-top: 15px;
  }
  .main-visual_overview-02 .image_area img {
    max-width: 90%;
    margin-top: 0;
  }
  .worries_block {
    padding: 130px 0 0;
  }
  .worries_list {
    margin: 0 auto 20px;
  }
  .worries_list li {
    flex-basis: 90%;
    min-height: 280px;
    margin-bottom: 30px;
    padding-block: 20px;
    padding-inline: 35px 20px;
    font-size: 1rem;
  }
  .worries_list li::after {
    padding: 10px;
    top: -60px;
    right: -55px;
    transform: scale(0.35);
  }
  .worries_list li img {
    max-height: 170px;
  }
  .worries_list li:last-child img {
    max-height: 160px;
  }
  .solution_top {
    height: 25vh;
  }
  .solution_top::after {
    bottom: -39px;
    height: 40px;
  }
  .solution_top .ttl_02 {
    padding-top: 60px;
  }
  .solution_top-bg {
    bottom: -7px;
    height: calc(100% + 30px);
  }
  .solution_top .product-image {
    left: 60%;
    bottom: -57px;
    transform: none;
  }
  .solution_top .product-image img {
    max-width: 100px;
  }
  .solution_point .ttl_02 {
    margin-top: 0;
  }
  .solution_point-list .ttl_03 .br-pc {
    display: block;
  }
  .solution_point-bg {
    height: 280px;
    padding-top: 65px;
  }
  .solution_point-bg .deco_ttl {
    margin-left: -30px;
  }
  .solution_point-list {
    margin-top: -110px;
    padding-right: 0;
  }
  .solution_point-list li {
    flex-basis: 98%;
    min-height: 300px;
    margin-bottom: 50px;
  }
  .solution_point-list li .deco_point {
    top: -50px;
  }
  .solution_merit,
  .solution_function {
    margin-top: 0px;
    padding-top: 50px;
  }
  .solution_merit-list {
    margin-bottom: 30px;
  }
  .solution_merit-list li .icon_merit {
    max-width: 35px;
  }
  .solution_merit-list h3 {
    padding-top: 25px;
  }
  .solution_merit-list h3 img {
    margin-right: 5px;
  }
  .solution_merit-list li {
    padding-left: 0;
    min-height: 100%;
    padding-bottom: 25px;
  }
  .solution_merit-list li p {
    font-size: 1rem;
  }
  .solution_merit-image {
    position: static;
    text-align: center;
  }
  .solution_merit-image img {
    max-width: 180px;
  }
  .solution_merit-image .product-image img {
    right: 50px;
    max-width: 160px;
  }
  .solution_function-list {
    margin-bottom: 0;
  }
  .solution_function-list li h3 {
    font-size: 1.05rem;
  }
  .solution_function-list li {
    flex-basis: 100%;
    margin-bottom: 50px;
  }
  .solution_function-list li .item_text {
    font-size: 1rem;
  }
  .cta-btn_block {
    padding: 45px 0 50px;
  }
  .cta-support_block p {
    line-height: 2.2;
    text-align: left;
  }
  .cta-support_list li p b {
    font-size: 1.05rem;
    font-weight: 600;
  }
  .cta-btn_block .ttl_03 {
    font-size: 1.2rem;
  }
  .cta-btn_block .item_comment {
    margin-top: 40px;
  }
  .cta-btn_block .deco_ttl {
    top: -35px;
    margin-left: 0;
  }
  .scene-case_block .ttl_02 {
    margin-bottom: 0;
    text-align: justify;
  }
  .scene-case_block figure {
    margin-top: 40px;
  }
  .scene-case_list li {
    flex-basis: 48%;
    margin-bottom: 15px;
  }
  .scene-case_block {
    padding: 50px 0;
  }
  .about-us_block div.flex_between {
    display: block;
  }
  .about-us_block .left_area .ttl_02 {
    font-size: 2rem !important;
    text-align: center;
  }
  .about-us_block .right_area {
    margin-top: 20px;
  }
  .about-us_block .right_area :is(details, dl),
  .about-us_block .right_area dl dd {
    font-size: 1.5rem;
  }
  .about-us_block .right_area dl {
    align-items: center;
  }
  .cta-support_block {
    padding: 65px 0 55px;
    background: url("../img/ap001/bg_support.webp") no-repeat top right -130px / cover;
  }
  .cta-support_block hr {
    margin: 25px auto 30px;
  }
  .cta-support_list li {
    margin-bottom: 20px;
  }
  .cta-support_list {
    display: block;
  }
  .cta-support_block .bnt_cta a {
    width: 100%;
    margin-bottom: 20px;
  }
  .function_list dt {
    flex-basis: 35%;
    padding-inline: 0 10px;
  }
  .function_list dt.ttl_04 {
    flex-basis: 100%;
    padding-left: 0;
  }
  .function_list dd {
    flex-basis: 63%;
  }
  .function_list dt.ttl_04 + dd {
    flex-basis: 0;
  }
  .function_block {
    padding: 50px 0;
  }
  .function_block .bnt_cta {
    gap: 20px 0;
    margin-top: 0;
  }
  .function_img-product {
    max-width: 190px;
  }
  .function_img-logo {
    max-width: 150px;
  }
  .function_movie-list li {
    flex-basis: 100%;
    margin-bottom: 30px;
  }
  .app-dl_sp-list {
    gap: 15px;
  }
  .app-dl_badge img {
    max-width: 130px;
  }
  .app-dl_btn {
    width: 100%;
    min-width: auto;
  }
  .conclusion_block .ttl_02 {
    font-size: 1.35rem;
  }
  .conclusion_flow-list {
    padding-inline: 10px;
    font-size: 90%;
  }
  .conclusion_flow-list dt .icon_flow {
    margin-right: 20px;
  }
  .conclusion_flow-list dd {
    margin-left: 80px;
  }
  .conclusion_flow_bg,
  .conclusion_form_bg {
    height: 150px;
  }
  .conclusion_block .product-image {
    display: none;
  }
  .conclusion_form form {
    padding: 50px 10px;
  }
  /* form02.css上書き用 */
  .form_wide .form_mailer_ctt .size_l {
    width: 49% !important;
  }
  .form_wide .form_mailer_ctt .size_s {
    width: 20% !important;
  }
}
/* :::::::::::::::::::::::::::::::::::
    321px ～
:::::::::::::::::::::::::::::::::::::: */
@media (max-width: 321px) {
  .ttl_02 {
    font-size: 1rem !important;
  }
  .main-visual_top .main_ttl {
    font-size: 2rem;
  }
  .solution_top .ttl_02 {
    padding-top: 20px;
  }
  .solution_point-bg {
    padding-top: 60px;
  }
  .solution_point .ttl_02 {
    line-height: 1.5;
  }
  .solution_point-bg .deco_ttl {
    margin-left: -20px;
  }
  .solution_merit-image .product-image img {
    right: 20px;
    max-width: 130px;
  }
  .about-us_block .left_area .ttl_02 {
    font-size: 1.6rem !important;
  }
  .about-us_block .right_area dl dt {
    font-size: 1rem;
    line-height: 3;
  }
  .about-us_block .right_area :is(details, dl),
  .about-us_block .right_area dl dd {
    font-size: 1.3rem;
  }
  .about-us_block .right_area dl dd {
    font-size: 1.5rem;
  }
  .cta-support_list {
    padding-left: 0;
  }
}
