@charset "UTF-8";
* {
  color: #231815;
  font-family: "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.5;
  box-sizing: border-box;
  scroll-padding-top: 8rem;
}
@media print, screen and (min-width: 1024px) {
  * {
    line-height: 2;
    scroll-padding-top: 12rem;
  }
}

html {
  font-size: 56.5%;
  overflow-x: hidden;
}
@media print, screen and (min-width: 1024px) {
  html {
    font-size: 62.5%;
  }
}

main {
  margin-top: 8rem;
}

li {
  list-style: none;
}

a {
  display: block;
  text-decoration: none;
  transition: 0.5s;
}
a:hover {
  opacity: 0.5;
}
@media print, screen and (min-width: 768px) {
  a[href*=tel] {
    pointer-events: none;
  }
}

img,
iframe {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

@media print, screen and (min-width: 768px) {
  br.under768 {
    display: none;
  }
}
br.over768 {
  display: none;
}
@media print, screen and (min-width: 768px) {
  br.over768 {
    display: block;
  }
}
br.over1024 {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  br.over1024 {
    display: block;
  }
}

.container {
  width: 100%;
  max-width: 1920px;
  margin: auto;
  overflow-x: hidden;
}

.inner {
  width: 95%;
  margin: auto;
}
.inner.max800 {
  max-width: 800px;
}
.inner.max1200 {
  max-width: 1200px;
}
.inner.max1400 {
  max-width: 1400px;
}

h2.section_title {
  position: relative;
  width: 95%;
  margin: auto;
  font-size: 3.2rem;
  font-size: min(7.25vw, 3.2rem);
  font-weight: bold;
  text-align: center;
  line-height: 1;
  padding-bottom: 0.7em;
}
@media print, screen and (min-width: 1024px) {
  h2.section_title {
    padding-bottom: 1.2em;
  }
}
h2.section_title::after {
  content: "";
  width: 100%;
  max-width: 42rem;
  border-top: 0.5rem dotted #ef8132;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
}

@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes move01 {
  0% {
    transform: translate(0);
  }
  40% {
    transform: translate(10px, -10px);
  }
  100% {
    transform: translate(125%, 170%);
  }
}
@keyframes move02 {
  0% {
    transform: translate(0);
  }
  40% {
    transform: translate(10px, -10px);
  }
  100% {
    transform: translate(150%, 185%);
  }
}
@keyframes move03 {
  0% {
    transform: translate(0);
  }
  40% {
    transform: translate(10px, -10px);
  }
  100% {
    transform: translate(75%, 190%);
  }
}
@keyframes move04 {
  0% {
    transform: rotate(40deg);
  }
  100% {
    transform: rotate(0) translate(-40%, 145%);
  }
}
@keyframes slide-up {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0);
  }
}
@media print, screen and (min-width: 768px) {
  @keyframes move01 {
    0% {
      offset-distance: 0%;
      transform: rotate(-20deg) scaleX(-1);
    }
    100% {
      offset-distance: 100%;
      transform: rotate(-20deg) scaleX(-1);
    }
  }
  @keyframes move02 {
    0% {
      offset-distance: 0%;
      transform: rotate(40deg) scaleX(-1);
    }
    100% {
      offset-distance: 100%;
      transform: rotate(-20deg) scaleX(-1);
    }
  }
  @keyframes move03 {
    0% {
      offset-distance: 0%;
      transform: scaleX(-1);
    }
    100% {
      offset-distance: 100%;
      transform: rotate(-20deg) scaleX(-1);
    }
  }
  @keyframes move04 {
    0% {
      offset-distance: 0%;
      transform: rotate(0deg) scaleX(-1);
    }
    100% {
      offset-distance: 100%;
      width: 10%;
      transform: rotate(-35deg) scaleX(-1);
    }
  }
  @keyframes slide-up {
    0% {
      transform: translateY(100%) scaleX(-1);
    }
    100% {
      transform: translateY(0) scaleX(-1);
    }
  }
}
@media print, screen and (min-width: 1280px) {
  @keyframes move01 {
    0% {
      offset-distance: 0%;
      transform: rotate(50deg);
    }
    100% {
      offset-distance: 100%;
      transform: rotate(3deg);
    }
  }
  @keyframes move02 {
    0% {
      offset-distance: 0%;
      transform: rotate(50deg);
    }
    100% {
      offset-distance: 100%;
      transform: rotate(-15deg);
    }
  }
  @keyframes move03 {
    0% {
      offset-distance: 0%;
      transform: rotate(50deg);
    }
    100% {
      offset-distance: 100%;
      transform: rotate(-24deg);
    }
  }
  @keyframes move04 {
    0% {
      offset-distance: 0%;
      transform: rotate(80deg);
    }
    100% {
      offset-distance: 100%;
      width: 10%;
      transform: rotate(5deg);
    }
  }
  @keyframes slide-up {
    0% {
      transform: translateY(100%);
    }
    100% {
      transform: translateY(0);
    }
  }
}
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  width: 100%;
  height: 8rem;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 0.1rem solid #9e9e9f;
}
header h1.header_logo {
  height: 5rem;
  margin-left: 2.5%;
}
header h1.header_logo a,
header h1.header_logo img {
  height: 100%;
}
header .menu_area {
  margin-left: auto;
}
@media print, screen and (min-width: 1024px) {
  header .menu_area {
    align-self: stretch;
    display: flex;
  }
}
header .menu_area .tel_box {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  header .menu_area .tel_box {
    display: flex;
    align-items: center;
    gap: 0 2rem;
  }
}
header .menu_area .tel_box p {
  color: #065e9d;
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  width: 6.5rem;
  height: 6.5rem;
  border: 0.1rem solid #065e9d;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
header .menu_area .tel_box .number {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  header .menu_area .tel_box .number {
    display: block;
  }
}
header .menu_area .tel_box .number a {
  font-size: 2rem;
  line-height: 1;
}
header .menu_area .tel_box .number small {
  display: block;
  margin-top: 0.5rem;
  border-top: 0.05rem solid #231815;
  border-bottom: 0.05rem solid #231815;
  padding: 0.3rem 0;
  font-size: 1.2rem;
  line-height: 1;
  text-align: center;
}
header .menu_area .sns_box {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  header .menu_area .sns_box {
    margin: 0 2rem;
    display: flex;
    align-items: center;
    gap: 0 2rem;
  }
}
@media print, screen and (min-width: 1280px) {
  header .menu_area .sns_box {
    margin: 0 4rem;
    gap: 0 4rem;
  }
}
header .menu_area .sns_box .icon {
  height: 3.5rem;
}
header .menu_area .sns_box .icon a,
header .menu_area .sns_box .icon img {
  height: 100%;
}
header .menu_area .mail_box {
  display: none;
}
@media print, screen and (min-width: 1024px) {
  header .menu_area .mail_box {
    display: block;
  }
}
header .menu_area .mail_box a {
  height: 100%;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #ef8132;
  padding: 0 1rem;
}
header .menu_area .mail_box a::before {
  content: "";
  width: 3rem;
  height: 2rem;
  background-image: url(../img/icon_mail.webp);
  background-size: contain;
  background-repeat: no-repeat;
}
header .menu_area .overlay_toggle {
  position: relative;
  width: 6rem;
  height: 6rem;
  cursor: pointer;
}
@media print, screen and (min-width: 1024px) {
  header .menu_area .overlay_toggle {
    width: 8rem;
    margin: auto;
  }
}
@media print, screen and (min-width: 1280px) {
  header .menu_area .overlay_toggle {
    width: 12rem;
  }
}
header .menu_area .overlay_toggle span {
  display: block;
  width: 4rem;
  height: 0.2rem;
  background-color: #231815;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  transition: 0.5s;
}
header .menu_area .overlay_toggle span:nth-of-type(1) {
  top: 1rem;
}
header .menu_area .overlay_toggle span:nth-of-type(2) {
  top: 2rem;
}
header .menu_area .overlay_toggle span:nth-of-type(3) {
  top: 3rem;
}
header .menu_area .overlay_toggle.active span:nth-of-type(1) {
  top: 2rem;
  transform: translate(-50%, 0) rotate(30deg);
}
header .menu_area .overlay_toggle.active span:nth-of-type(2) {
  opacity: 0;
}
header .menu_area .overlay_toggle.active span:nth-of-type(3) {
  top: 2rem;
  transform: translate(-50%, 0) rotate(-30deg);
}
header .menu_area .overlay_toggle p {
  position: absolute;
  top: 3.5rem;
  width: 100%;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
}
header .overlay {
  position: fixed;
  top: 8rem;
  left: 0;
  z-index: 99999;
  width: 100%;
  height: calc(100vh - 8rem);
  background-color: #dae7f0;
  overflow-y: scroll;
  opacity: 0;
  transform: translateX(100%);
  transition: 0.5s;
}
header .overlay.active {
  opacity: 1;
  transform: translateX(0);
}
header .overlay nav {
  padding-bottom: 4rem;
}
header .overlay nav p {
  padding-top: 2rem;
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  header .overlay nav p {
    padding-top: 4rem;
  }
}
header .overlay nav p span {
  display: block;
  color: #fff;
  font-weight: bolder;
  text-align-last: justify;
  background-color: #065e9d;
  width: 10rem;
  padding: 0.5rem 2rem;
  margin-left: 5%;
}
@media print, screen and (min-width: 768px) {
  header .overlay nav p span {
    margin: auto;
  }
}
header .overlay nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem 0;
  padding-top: 2rem;
}
@media print, screen and (min-width: 768px) {
  header .overlay nav ul {
    gap: 2.5rem 0;
    padding-top: 4rem;
  }
}
header .overlay nav ul li {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  header .overlay nav ul li {
    width: 50%;
    max-width: 45rem;
  }
}
header .overlay nav ul li a {
  font-size: min(4vw, 2rem);
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  header .overlay nav ul li a {
    font-size: min(2vw, 2rem);
  }
}
header .overlay nav ul li a img {
  width: auto;
  height: min(5vw, 1.5em);
  margin: 0 0.5em;
  vertical-align: baseline;
}
@media print, screen and (min-width: 768px) {
  header .overlay nav ul li a img {
    height: min(2.5vw, 1.5em);
  }
}
header .overlay nav ul li a::before {
  content: "・";
}
header .overlay nav .btn_area {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem 2rem;
  padding: 0 2.5%;
}
@media print, screen and (min-width: 768px) {
  header .overlay nav .btn_area {
    margin-top: 4rem;
    gap: 0 4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  header .overlay nav .btn_area:nth-of-type(3) {
    display: none;
  }
}
header .overlay nav .btn_area .btn {
  width: calc((100% - 4rem) / 3);
  min-width: 15rem;
  max-width: 32.5rem;
}
@media print, screen and (min-width: 768px) {
  header .overlay nav .btn_area .btn {
    width: calc((100% - 8rem) / 3);
  }
}
header .overlay nav .btn_area .btn a {
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  background-color: #ef8132;
  padding: 1.5rem 0;
}
header .overlay nav .btn_area .icon_btn a {
  display: flex;
  align-items: center;
  gap: 1rem;
}
header .overlay nav .btn_area .icon_btn a .icon {
  position: relative;
  width: 6rem;
  height: 6rem;
  background-color: #065e9d;
  border-radius: 50%;
}
header .overlay nav .btn_area .icon_btn a .icon::before {
  content: "";
  width: 100%;
  height: 100%;
  mask-position: center;
  mask-repeat: no-repeat;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
}
header .overlay nav .btn_area .icon_btn a .icon.tel::before {
  mask-image: url(../img/icon_tel.webp);
  mask-size: 50%;
}
header .overlay nav .btn_area .icon_btn a .icon.instagram::before {
  mask-image: url(../img/icon_instagram.webp);
  mask-size: 65%;
}
header .overlay nav .btn_area .icon_btn a .icon.x::before {
  mask-image: url(../img/icon_x.webp);
  mask-size: 50%;
}
header .overlay nav .btn_area .icon_btn a span {
  display: none;
}
@media print, screen and (min-width: 768px) {
  header .overlay nav .btn_area .icon_btn a span {
    display: block;
    color: #065e9d;
    font-size: 2.4rem;
    font-weight: bold;
  }
}
header .overlay .scanner_img {
  margin: 2rem auto 0;
  width: 50%;
  max-width: 16rem;
}
@media print, screen and (min-width: 768px) {
  header .overlay .scanner_img {
    margin-top: 4rem;
  }
}

footer {
  background-color: #f7f7f7;
  padding-top: 5rem;
}
@media print, screen and (min-width: 1024px) {
  footer {
    padding-top: 10rem;
  }
}
footer .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}
footer .logo_main {
  width: 100%;
  max-width: 40rem;
}
footer .logo_tamapack {
  margin-top: 2rem;
  width: 100%;
  max-width: 30rem;
}
footer address {
  margin-top: 3.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem 0;
}
footer address p.branch {
  font-size: 1.8rem;
}
footer small.copyright {
  display: block;
  font-size: 1.2rem;
  text-align: center;
  padding: 5rem 0 12rem;
}
@media print, screen and (min-width: 380px) {
  footer small.copyright {
    padding-bottom: 15rem;
  }
}
@media print, screen and (min-width: 1024px) {
  footer small.copyright {
    padding-bottom: 10rem;
  }
}

section.fv {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media print, screen and (min-width: 768px) {
  section.fv {
    display: block;
  }
}
section.fv .fv_bg {
  order: 2;
  overflow: hidden;
}
section.fv .fv_bg img {
  animation: zoom 5s forwards;
  transform-origin: top;
}
@keyframes zoom {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.05);
  }
}
section.fv .logo {
  display: none;
}
@media print, screen and (min-width: 768px) {
  section.fv .logo {
    display: block;
    width: 25%;
    position: absolute;
    top: 5%;
    left: 50%;
    transform: translate(-50%, 0);
  }
}
section.fv h2.main_catch {
  order: 1;
}
@media print, screen and (min-width: 768px) {
  section.fv h2.main_catch {
    position: absolute;
    top: 15%;
    width: 100%;
  }
}
section.fv h2.main_catch span {
  display: block;
  color: #065e9d;
  font-size: 11.5rem;
  font-size: min(10vw, 11.5rem);
  font-weight: 900;
  text-align: center;
  margin: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  section.fv h2.main_catch span {
    margin: 0;
    font-size: min(5.7vw, 11.5rem);
    line-height: 1.2;
  }
}
section.fv h2.main_catch span.with_stroke {
  display: none;
}
@media print, screen and (min-width: 768px) {
  section.fv h2.main_catch span.with_stroke {
    display: block;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-text-stroke: 1rem #fff;
  }
}
@media print, screen and (min-width: 768px) {
  section.fv h2.main_catch span.normal {
    position: relative;
    z-index: 10;
  }
}
section.fv .sub_catch {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  position: absolute;
  top: 34%;
  z-index: 10;
}
@media print, screen and (min-width: 768px) {
  section.fv .sub_catch {
    top: 50%;
  }
}
section.fv .sub_catch p {
  width: 65%;
  font-size: 3.2rem;
  font-size: min(5vw, 4.5rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  border-bottom: 0.2rem solid #231815;
}
@media print, screen and (min-width: 768px) {
  section.fv .sub_catch p {
    width: 22%;
    font-size: min(1.75vw, 3.2rem);
  }
}
section.fv .text01 {
  width: 40%;
  position: absolute;
  top: 26%;
  left: 11%;
  z-index: 10;
}
@media print, screen and (min-width: 768px) {
  section.fv .text01 {
    width: 11.5%;
    top: 21.5%;
    left: 24%;
  }
}
section.fv .text02 {
  width: 30%;
  position: absolute;
  top: 50%;
  left: 38%;
  z-index: 10;
}
@media print, screen and (min-width: 768px) {
  section.fv .text02 {
    width: 13.5%;
    top: 42%;
    left: auto;
    right: 22.5%;
  }
}
section.fv .text03 {
  width: 55%;
  position: absolute;
  top: 66%;
  left: 4%;
  z-index: 10;
}
@media print, screen and (min-width: 768px) {
  section.fv .text03 {
    width: 16.5%;
    top: 61%;
    left: auto;
    right: 11%;
  }
}
section.fv .product_intro {
  width: 100%;
  position: absolute;
  top: 80%;
  z-index: 10;
}
@media print, screen and (min-width: 768px) {
  section.fv .product_intro {
    top: 75%;
  }
}
section.fv .product_intro::before, section.fv .product_intro::after {
  content: "";
  width: 20%;
  aspect-ratio: 218/186;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  top: 10%;
}
@media print, screen and (min-width: 768px) {
  section.fv .product_intro::before, section.fv .product_intro::after {
    width: 12%;
    top: -40%;
  }
}
section.fv .product_intro::before {
  background-image: url(../img/product_intro01.webp);
  left: 1.5%;
}
@media print, screen and (min-width: 768px) {
  section.fv .product_intro::before {
    left: 28%;
  }
}
section.fv .product_intro::after {
  background-image: url(../img/product_intro02.webp);
  right: 1.5%;
}
@media print, screen and (min-width: 768px) {
  section.fv .product_intro::after {
    right: 28%;
  }
}
section.fv .product_intro strong {
  display: block;
  width: fit-content;
  margin: auto;
  color: #fff;
  font-size: 5vw;
  font-weight: bold;
  line-height: 1.3;
  padding: 0 0.3em;
  background-color: #e95513;
}
@media print, screen and (min-width: 768px) {
  section.fv .product_intro strong {
    font-size: min(1.7vw, 3.2rem);
  }
}
section.fv .product_intro p {
  margin-top: 0.5em;
  color: #e95513;
  font-size: 7vw;
  font-weight: 900;
  text-align: center;
  line-height: 1.3;
}
@media print, screen and (min-width: 768px) {
  section.fv .product_intro p {
    font-size: min(2.4vw, 4.6rem);
  }
}

.fixed_area {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 99999;
  width: 100%;
  max-width: 1200px;
  margin: auto;
  transform: translate(-50%, 100%);
  transition: transform 0.5s linear;
}
.fixed_area.visible {
  transform: translate(-50%, 0);
}
@media print, screen and (min-width: 1024px) {
  .fixed_area {
    width: 62.5%;
  }
}
.fixed_area .btn_area {
  display: flex;
  justify-content: space-between;
  background-color: rgba(6, 94, 157, 0.7);
  border-radius: 1rem;
  padding: 1rem;
}
@media print, screen and (min-width: 1024px) {
  .fixed_area .btn_area {
    padding: 1.5rem 4rem;
  }
}
.fixed_area .btn_area .btn {
  width: 32%;
  max-width: 32.5rem;
}
.fixed_area .btn_area .btn a {
  color: #fff;
  font-size: 2rem;
  font-size: min(3.5vw, 2rem);
  font-weight: bold;
  text-align: center;
  line-height: 1;
  background-color: #ef8132;
  padding: 1.5rem 0;
}
@media print, screen and (min-width: 1024px) {
  .fixed_area .btn_area .btn a {
    font-size: min(1.5vw, 2rem);
  }
}
.fixed_area .download_btn {
  width: fit-content;
  margin: 0.5rem 0 0 auto;
}
@media print, screen and (min-width: 1024px) {
  .fixed_area .download_btn {
    position: absolute;
    bottom: 0;
    left: calc(100% + 0.5vw);
    width: 45%;
  }
}
.fixed_area .download_btn a {
  position: relative;
  width: fit-content;
  color: #fff;
  font-size: min(3vw, 1.6rem);
  font-weight: bold;
  text-align: center;
  background-color: #231815;
  padding: 0.5rem 0.5rem 0.5rem 4.5em;
  border-radius: 1rem;
}
@media print, screen and (min-width: 1024px) {
  .fixed_area .download_btn a {
    font-size: min(1vw, 1.6rem);
    padding-left: 6em;
  }
}
.fixed_area .download_btn a::before {
  content: "";
  display: inline-block;
  height: 110%;
  aspect-ratio: 116/109;
  background-image: url(../img/icon_panda01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: -1%;
  transform: translate(0, -50%);
}

.index_area {
  padding-top: 4rem;
}
@media print, screen and (min-width: 1024px) {
  .index_area {
    padding-top: 8rem;
  }
}
.index_area .btn_area .btn {
  width: 95%;
  max-width: 58rem;
  margin: auto;
}
.index_area .btn_area .btn a {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0 2rem;
  background-color: #212e3d;
  padding: 2rem 0;
  color: #fff;
  font-size: 2.4rem;
  font-size: min(4.5vw, 2.4rem);
  font-weight: bold;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .index_area .btn_area .btn a {
    padding: 4rem 0;
  }
}
.index_area .btn_area .btn a img {
  width: 40%;
  max-width: 22.5rem;
}
.index_area .index_list {
  margin-top: 4rem;
  background-color: #dae7f0;
}
@media print, screen and (min-width: 1024px) {
  .index_area .index_list {
    margin-top: 8rem;
  }
}
.index_area .index_list .inner {
  position: relative;
  padding-bottom: 40vw;
}
@media print, screen and (min-width: 768px) {
  .index_area .index_list .inner {
    padding-bottom: 0;
    display: flex;
    align-items: flex-start;
    gap: 0 2rem;
  }
}
@media print, screen and (min-width: 1024px) {
  .index_area .index_list .inner {
    gap: 0 4rem;
  }
}
.index_area .index_list .inner::after {
  content: "";
  height: 30vw;
  aspect-ratio: 162/190;
  background-image: url(../img/product_img01.webp);
  background-size: contain;
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translate(-50%, 0);
}
@media print, screen and (min-width: 768px) {
  .index_area .index_list .inner::after {
    width: 16rem;
    height: auto;
    bottom: 0;
    left: 0;
    transform: translate(0, -25%);
  }
}
@media print, screen and (min-width: 1024px) {
  .index_area .index_list .inner::after {
    width: 15vw;
    max-width: 16rem;
    transform: translate(0);
  }
}
.index_area .index_list p {
  width: 5em;
  margin: auto;
  color: #fff;
  font-size: 3.2rem;
  font-size: min(8vw, 3.2rem);
  font-weight: 900;
  text-align-last: justify;
  background-color: #065e9d;
  padding: 0 1em;
}
@media print, screen and (min-width: 768px) {
  .index_area .index_list p {
    width: 18rem;
    margin: 0;
  }
}
.index_area .index_list ul {
  margin-top: 4rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2.5rem 0;
}
@media print, screen and (min-width: 768px) {
  .index_area .index_list ul {
    width: calc(100% - 20rem);
    margin-bottom: 4rem;
  }
}
@media print, screen and (min-width: 768px) {
  .index_area .index_list ul {
    width: calc(100% - 22rem);
  }
}
.index_area .index_list ul li {
  width: 100%;
  border-bottom: 0.1rem solid #065e9d;
}
@media print, screen and (min-width: 1024px) {
  .index_area .index_list ul li {
    width: 48.5%;
  }
}
.index_area .index_list ul li a {
  font-size: min(3.75vw, 2rem);
  font-weight: bold;
  padding-bottom: 0.5rem;
  display: flex;
  align-items: center;
}
@media print, screen and (min-width: 1024px) {
  .index_area .index_list ul li a {
    font-size: min(1.6vw, 2rem);
  }
}
.index_area .index_list ul li a::before {
  content: "・";
}
.index_area .index_list ul li a::after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  background-image: url(../img/index_arrow.webp);
  background-size: contain;
  margin: 0 1rem 0 auto;
}
.index_area .index_list ul li a img {
  width: auto;
  height: min(5vw, 1.5em);
  margin: 0 0.5em;
  vertical-align: baseline;
}
@media print, screen and (min-width: 768px) {
  .index_area .index_list ul li a img {
    height: min(2.5vw, 1.5em);
  }
}
@media print, screen and (min-width: 1024px) {
  .index_area .index_list ul li a img {
    height: min(1.75vw, 1.5em);
  }
}

section.benefits {
  padding-top: 5rem;
}
@media print, screen and (min-width: 1024px) {
  section.benefits {
    padding-top: 8rem;
  }
}
section.benefits h2 {
  color: #ef8132;
  font-size: 5.6rem;
  font-size: min(7.5vw, 5.6rem);
  font-weight: 900;
  text-align: center;
  line-height: 1.5;
  border-bottom: 0.3rem solid #065e9d;
}
@media print, screen and (min-width: 768px) {
  section.benefits h2 {
    font-size: min(4.5vw, 5.6rem);
  }
}
section.benefits p {
  text-align: center;
  font-size: 5.6rem;
  font-size: min(6.5vw, 5.6rem);
  font-weight: 900;
  text-align: center;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  section.benefits p {
    font-size: min(4.5vw, 5.6rem);
  }
}
section.benefits .benefit_area {
  margin-top: 4rem;
}
section.benefits .benefit_area.bg_grd {
  border-image-source: linear-gradient(to bottom, transparent 15%, #c79f62 170%);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw;
}
@media print, screen and (min-width: 768px) {
  section.benefits .benefit_area.bg_grd {
    margin-top: 8rem;
  }
}
section.benefits .benefit_area strong {
  display: block;
  color: #065e9d;
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
}
section.benefits .benefit_area ul {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem min(10vw, 16rem);
}
@media print, screen and (min-width: 768px) {
  section.benefits .benefit_area ul {
    margin-top: 3.5rem;
  }
}
section.benefits .benefit_area ul li {
  width: 80%;
  max-width: 28rem;
}
section.benefits .animation_block {
  width: 100%;
  max-width: 450px;
  aspect-ratio: 1/1.8;
  margin: 4rem auto 0;
  position: relative;
  overflow: hidden;
  opacity: 0;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block {
    margin-top: 8rem;
    max-width: none;
    width: 730px;
    aspect-ratio: 1190/360;
    height: auto;
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block {
    width: 100%;
    max-width: 1200px;
    aspect-ratio: 1190/360;
  }
}
section.benefits .animation_block.show {
  opacity: 1;
}
section.benefits .animation_block.show .scanner {
  width: 95%;
  margin: auto;
  opacity: 0;
  animation: fade 1s 2.2s forwards;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .scanner {
    position: absolute;
    width: 31.5%;
    top: 0;
    right: 15%;
    transform: scaleX(-1);
    animation: fade 1s 1.5s forwards;
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .scanner {
    right: 25%;
    transform: scaleX(1);
  }
}
section.benefits .animation_block.show .arrow01 {
  background-image: url(../img/arrow01.webp);
  background-size: contain;
  position: absolute;
  opacity: 0;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .arrow01 {
    width: 33.5%;
    aspect-ratio: 390/110;
    top: 8%;
    left: 22%;
    animation: fade 1s 1s forwards, fade-out 1s 2.5s forwards;
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .arrow01 {
    top: 2%;
    left: 16%;
    animation: fade 1s 1s forwards;
  }
}
section.benefits .animation_block.show .arrow02 {
  background-image: url(../img/arrow02.webp);
  background-size: contain;
  position: absolute;
  opacity: 0;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .arrow02 {
    width: 21.5%;
    aspect-ratio: 255/43;
    top: 42%;
    left: 35%;
    animation: fade 1s 1s forwards, fade-out 1s 2.5s forwards;
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .arrow02 {
    width: 21.5%;
    aspect-ratio: 255/43;
    top: 41%;
    left: 28%;
    animation: fade 1s 1s forwards;
  }
}
section.benefits .animation_block.show .text01 {
  width: 25%;
  position: absolute;
  top: 5%;
  left: 50%;
  opacity: 0;
  animation: fade 1s 0.5s forwards, fade-out 1s 2s forwards;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .text01 {
    width: 15%;
    top: 22%;
    left: 25%;
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .text01 {
    width: 11%;
    top: 18%;
    left: 19.5%;
  }
}
section.benefits .animation_block.show .text02 {
  width: 45%;
  position: absolute;
  top: 12.5%;
  right: 0;
  opacity: 0;
  animation: fade 0.1s 3s forwards;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .text02 {
    width: 20%;
    right: 5%;
    top: 30%;
    transform: rotate(20deg);
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .text02 {
    width: 19%;
    top: 23%;
    right: 23.5%;
  }
}
section.benefits .animation_block.show .receipt_bg {
  width: 95%;
  aspect-ratio: 400/265;
  background-image: url(../img/receipt_bg.webp);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  opacity: 0;
  animation: fade 1s forwards, fade-out 1s 2.5s forwards;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .receipt_bg {
    width: 32%;
    top: 12%;
    left: 5%;
    transform: translate(0);
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .receipt_bg {
    width: 32%;
    top: 12%;
    left: 1%;
    animation: fade 1s forwards;
  }
}
section.benefits .animation_block.show .receipt {
  position: absolute;
  background-size: contain;
  background-repeat: no-repeat;
  offset-distance: 0%;
  opacity: 0;
}
section.benefits .animation_block.show .receipt00 {
  width: 60%;
  aspect-ratio: 244/210;
  background-image: url(../img/receipt00.webp);
  top: 5%;
  left: 0;
  animation: fade 1s forwards, fade-out 1s 2s forwards;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .receipt00 {
    width: 20%;
    top: 14%;
    left: 4%;
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .receipt00 {
    left: 0;
  }
}
section.benefits .animation_block.show .receipt01 {
  width: 30%;
  aspect-ratio: 108/57;
  background-image: url(../img/receipt01.webp);
  top: 10%;
  left: 15%;
  animation: fade 1s forwards, move01 0.8s 2.2s linear forwards;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .receipt01 {
    width: 10%;
    top: 20%;
    left: 8%;
    offset-path: path("M60 50 C 100 0, 180 0, 395 85");
    transform: rotate(-20deg) scaleX(-1);
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .receipt01 {
    offset-path: path("M25,52C67,21,120,3,176,3c280,0,350,140,490,135");
    transform: rotate(40deg);
  }
}
section.benefits .animation_block.show .receipt02 {
  width: 25%;
  aspect-ratio: 87/57;
  background-image: url(../img/receipt02.webp);
  top: 12%;
  left: 5%;
  animation: fade 1s forwards, move02 0.8s 2s linear forwards;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .receipt02 {
    width: 7.5%;
    top: 25%;
    left: 13%;
    offset-path: path("M60 50 C 100 0, 180 0, 390 90");
    transform: rotate(40deg) scaleX(-1);
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .receipt02 {
    offset-path: path("M25,52C67,21,120,3,176,3c280,0,350,140,400,153");
    transform: rotate(40deg);
  }
}
section.benefits .animation_block.show .receipt03 {
  width: 25%;
  aspect-ratio: 100/70;
  background-image: url(../img/receipt03.webp);
  top: 15%;
  left: 10%;
  animation: fade 1s forwards, move03 0.8s 2.4s linear forwards;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .receipt03 {
    width: 9%;
    top: 30%;
    left: 8%;
    offset-path: path("M60 50 C 100 0, 180 0, 460 100");
    transform: scaleX(-1);
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .receipt03 {
    offset-path: path("M25,52C67,21,120,3,176,3c280,0,350,140,398,162");
    transform: rotate(70deg);
  }
}
section.benefits .animation_block.show .receipt04 {
  width: 30%;
  aspect-ratio: 100/70;
  background-image: url(../img/receipt04.webp);
  top: 17%;
  left: 65%;
  animation: fade 1s forwards, move04 0.8s 2.2s linear forwards;
  transform: rotate(40deg);
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .receipt04 {
    width: 12%;
    top: 40%;
    left: 22%;
    offset-path: path("M60 50 C 100 0, 180 0, 300 90");
    transform: rotate(0deg) scaleX(-1);
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .receipt04 {
    top: 47.5%;
    left: 25%;
    offset-path: path("M25,52C67,21,120,3,117,3c280,0,250,140,360,120");
    transform: rotate(80deg) scaleX(1);
  }
}
section.benefits .animation_block.show .text03 {
  width: 50%;
  aspect-ratio: 212/74;
  background-image: url(../img/bubble.webp);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 55%;
  left: 0;
  opacity: 0;
  animation: fade 0.5s 4s forwards;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .text03 {
    width: 23%;
    top: 8%;
    left: 33%;
    transform: scaleX(-1);
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .text03 {
    width: 18%;
    left: auto;
    top: 10%;
    right: 15%;
    font-size: min(1vw, 2.4rem);
    transform: scaleX(1);
  }
}
section.benefits .animation_block.show .text03 p {
  color: #fff;
  font-size: min(5vw, 2.4rem);
  font-weight: bold;
  text-align: center;
  position: absolute;
  top: 5%;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .text03 p {
    transform: scaleX(-1);
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .text03 p {
    font-size: min(2vw, 2.4rem);
    transform: scaleX(1);
  }
}
section.benefits .animation_block.show .woman {
  width: 75%;
  position: absolute;
  bottom: 0;
  right: 0;
  animation: slide-up 0.2s 3.5s linear forwards;
  transform: translateY(100%);
}
@media print, screen and (min-width: 768px) {
  section.benefits .animation_block.show .woman {
    width: 23%;
    right: auto;
    left: 15%;
    transform: translateY(100%) scaleX(-1);
  }
}
@media print, screen and (min-width: 1280px) {
  section.benefits .animation_block.show .woman {
    width: 25%;
    left: auto;
    right: 0;
    transform: translateY(100%) scaleX(1);
  }
}

section.point {
  background-color: #dae7f0;
}
section.point .main_point {
  padding: 10rem 0 20vw;
  border-image-source: linear-gradient(#fff, #fff);
  border-image-slice: 0 fill;
  border-image-outset: 0 100vw 0 100vw;
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media print, screen and (min-width: 768px) {
  section.point .main_point {
    padding: 10rem 0 20rem;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media print, screen and (min-width: 1600px) {
  section.point .main_point {
    align-items: flex-end;
  }
}
section.point .main_point .contents1600 {
  display: contents;
}
@media print, screen and (min-width: 1600px) {
  section.point .main_point .contents1600 {
    display: block;
    order: 1;
    width: calc(50% - 4rem);
  }
}
section.point .main_point h2.section_title {
  order: 1;
  line-height: 1.5;
  padding-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  section.point .main_point h2.section_title {
    order: 1;
    width: 100%;
  }
}
@media print, screen and (min-width: 1600px) {
  section.point .main_point h2.section_title {
    margin-top: 10rem;
  }
}
section.point .main_point h2.section_title::after {
  content: none;
}
section.point .main_point h2.section_title span {
  position: relative;
  display: inline-block;
  vertical-align: top;
}
section.point .main_point h2.section_title span::before {
  content: "";
  width: 8rem;
  aspect-ratio: 134/67;
  background-image: url(../img/icon_panda03.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: calc(100% + 0.5rem);
  left: 1.5%;
}
@media print, screen and (min-width: 768px) {
  section.point .main_point h2.section_title span::before {
    width: 13.5rem;
    bottom: calc(100% + 1rem);
  }
}
section.point .main_point h2.section_title img {
  width: auto;
  height: 7.25vw;
  max-height: 4rem;
  margin: 0 0.5rem;
  vertical-align: middle;
}
section.point .main_point .contents1280 {
  display: contents;
}
@media print, screen and (min-width: 1280px) {
  section.point .main_point .contents1280 {
    display: block;
    order: 2;
    width: calc(50% - 4rem);
  }
}
@media print, screen and (min-width: 1600px) {
  section.point .main_point .contents1280 {
    width: 100%;
  }
}
section.point .main_point .product_desc {
  order: 2;
}
@media print, screen and (min-width: 768px) {
  section.point .main_point .product_desc {
    width: calc(50% - 4rem);
    margin: 0;
  }
}
@media print, screen and (min-width: 1280px) {
  section.point .main_point .product_desc {
    width: 100%;
  }
}
@media print, screen and (min-width: 1600px) {
  section.point .main_point .product_desc {
    margin-top: 4rem;
  }
}
section.point .main_point .point_desc {
  order: 4;
  background-color: #dae7f0;
  padding: 2rem 1rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
@media print, screen and (min-width: 768px) {
  section.point .main_point .point_desc {
    width: 100%;
    margin: 0;
  }
}
@media print, screen and (min-width: 1280px) {
  section.point .main_point .point_desc {
    margin-top: 4rem;
  }
}
section.point .main_point .point_desc p {
  width: 100%;
  text-align: center;
}
section.point .main_point .point_desc p strong {
  font-size: 2.4rem;
  font-size: min(4.75vw, 2.4rem);
  font-weight: bold;
  border-bottom: 0.5rem dotted #ef8132;
}
section.point .main_point .point_desc dl {
  width: 100%;
  max-width: 26.5rem;
  background-color: #fff;
  padding: 1rem 0;
}
@media print, screen and (min-width: 1280px) {
  section.point .main_point .point_desc dl {
    width: calc((100% - 2rem) / 2);
  }
}
section.point .main_point .point_desc dl dt {
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
}
section.point .main_point .point_desc dl dt::before {
  content: "";
  display: block;
  width: 2rem;
  height: 2rem;
  background-image: url(../img/check_mark.webp);
  background-size: contain;
  background-repeat: no-repeat;
}
section.point .main_point .point_desc dl dd {
  margin-top: 1rem;
  text-align: center;
}
section.point .main_point .img_area {
  order: 3;
  position: relative;
  width: 100%;
  aspect-ratio: 94/70;
}
@media print, screen and (min-width: 768px) {
  section.point .main_point .img_area {
    width: 50%;
    aspect-ratio: 94/65;
    max-height: 65rem;
    margin: 0;
    margin-right: calc(50% - 50vw);
    margin-left: min(3vw, 4rem);
    flex: 1;
  }
}
section.point .main_point .img_area .product_img {
  width: 100vw;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
@media print, screen and (min-width: 768px) {
  section.point .main_point .img_area .product_img {
    width: 100%;
  }
}
section.point .main_point .img_area .product_img img {
  max-width: 94rem;
}
section.point .other_point {
  position: relative;
  padding: 5rem 0 20vw;
}
@media print, screen and (min-width: 768px) {
  section.point .other_point {
    padding-bottom: 20rem;
  }
}
@media print, screen and (min-width: 1024px) {
  section.point .other_point {
    padding-top: 8rem;
  }
}
section.point .other_point::before {
  content: "";
  width: 30%;
  max-width: 25rem;
  aspect-ratio: 248/143;
  background-image: url(../img/icon_panda02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: calc(100% - 2rem);
  left: 50%;
  transform: translate(-50%, 0);
}
section.point .other_point h3 {
  position: relative;
  padding-bottom: 0.5rem;
}
section.point .other_point h3::after {
  content: "";
  width: 100%;
  max-width: 42rem;
  height: 100%;
  background: linear-gradient(to bottom, transparent 70%, #fad9c1 70%);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}
section.point .other_point h3 span {
  display: block;
  width: 95%;
  margin: auto;
  font-size: 3.2rem;
  font-size: min(7.25vw, 3.2rem);
  font-weight: bold;
  text-align: center;
  line-height: 1;
  position: relative;
  z-index: 10;
}
section.point .other_point ul {
  margin-top: 6rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6rem 4rem;
}
@media print, screen and (min-width: 1024px) {
  section.point .other_point ul {
    margin-top: 10rem;
    gap: 10rem 4rem;
  }
}
section.point .other_point ul li {
  width: 100%;
  background-color: #fff;
  padding: 0 1rem 2rem;
}
@media print, screen and (min-width: 1024px) {
  section.point .other_point ul li {
    width: calc((100% - 4rem) / 2);
    align-self: stretch;
    align-items: flex-start;
    padding: 0 2rem 2rem;
  }
}
section.point .other_point ul li dl {
  display: flex;
  flex-wrap: wrap;
}
section.point .other_point ul li dl dt {
  width: 100%;
  max-width: 56rem;
  margin: 0 auto;
  color: #fff;
  font-size: 2.4rem;
  font-size: min(4.25vw, 2.4rem);
  font-weight: bold;
  text-align: center;
  border-radius: 9999px;
  padding: 1rem 0;
  position: relative;
  top: -1.2em;
}
@media print, screen and (min-width: 1024px) {
  section.point .other_point ul li dl dt {
    font-size: min(2vw, 2.4rem);
  }
}
section.point .other_point ul li dl dt.bg_orange {
  background-color: #ef8132;
}
section.point .other_point ul li dl dt.bg_blue {
  background-color: #065e9d;
}
section.point .other_point ul li dl dd.point_desc {
  width: 100%;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 0.3rem dashed #065e9d;
}
@media print, screen and (min-width: 480px) {
  section.point .other_point ul li dl dd.point_desc {
    width: 50%;
    margin-bottom: 0;
    padding: 0 1rem 0 0;
    border-bottom: none;
    border-right: 0.3rem dashed #065e9d;
  }
}
section.point .other_point ul li dl dd.point_img {
  width: 100%;
}
@media print, screen and (min-width: 480px) {
  section.point .other_point ul li dl dd.point_img {
    width: 50%;
    padding-left: 1rem;
  }
}
section.point .other_point ul li dl dd.point_movie {
  width: 100%;
}
@media print, screen and (min-width: 480px) {
  section.point .other_point ul li dl dd.point_movie {
    width: 50%;
    padding-left: 1rem;
  }
}
section.point .other_point ul li dl dd.point_movie video {
  width: 100%;
  height: auto;
}

section.reason {
  position: relative;
  padding: 5rem 0;
  background-color: #fbddc8;
}
@media print, screen and (min-width: 1024px) {
  section.reason {
    padding: 8rem 0;
  }
}
section.reason::before {
  content: "";
  width: 30%;
  max-width: 25rem;
  aspect-ratio: 248/143;
  background-image: url(../img/icon_panda02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: calc(100% - 2rem);
  left: 50%;
  transform: translate(-50%, 0);
}
section.reason h2.section_title {
  line-height: 1.5;
}
section.reason h2.section_title img {
  width: auto;
  height: 7.25vw;
  max-height: 4rem;
  margin: 0 0.5rem;
  vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
  section.reason h2.section_title img {
    vertical-align: baseline;
    margin: 0 1.5rem;
  }
}
section.reason .reason_list {
  margin-top: 4rem;
}
section.reason .reason_list ul li {
  background-color: #fff;
  padding: 2rem 1rem;
}
@media print, screen and (min-width: 768px) {
  section.reason .reason_list ul li {
    padding: 4rem;
  }
}
@media print, screen and (min-width: 1024px) {
  section.reason .reason_list ul li {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 4rem;
  }
}
@media print, screen and (min-width: 1280px) {
  section.reason .reason_list ul li {
    padding: 8rem;
    gap: 0 8rem;
  }
}
section.reason .reason_list ul li + li {
  margin-top: 4rem;
}
@media print, screen and (min-width: 1024px) {
  section.reason .reason_list ul li + li {
    margin-top: 8rem;
  }
}
section.reason .reason_list ul li .contents_under1280 {
  display: contents;
}
@media print, screen and (min-width: 1280px) {
  section.reason .reason_list ul li .contents_under1280 {
    display: block;
    order: 2;
    width: calc((100% - 8rem) / 2);
  }
}
section.reason .reason_list ul li h3.scene_title {
  color: #065e9d;
  font-size: 3.2rem;
  font-size: min(6.4vw, 3.2rem);
  font-weight: bold;
  background-color: #fbddc8;
  border-left: 1rem solid #065e9d;
  padding: 1rem;
}
@media print, screen and (min-width: 1024px) {
  section.reason .reason_list ul li h3.scene_title {
    order: 1;
    width: 100%;
  }
}
@media print, screen and (min-width: 1280px) {
  section.reason .reason_list ul li h3.scene_title {
    font-size: min(2.25vw, 3.2rem);
  }
}
section.reason .reason_list ul li h3.scene_title span {
  display: block;
  color: #ef8132;
  font-family: "myriad-pro", "Josefin Sans", "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 4rem;
  font-weight: 500;
  font-style: italic;
  line-height: 1;
  margin-right: 1rem;
}
@media print, screen and (min-width: 768px) {
  section.reason .reason_list ul li h3.scene_title span {
    display: inline;
    margin-right: 2.5rem;
  }
}
section.reason .reason_list ul li .scene_desc {
  margin-top: 2rem;
}
@media print, screen and (min-width: 1024px) {
  section.reason .reason_list ul li .scene_desc {
    order: 3;
    width: calc((100% - 4rem) / 2);
    margin: 0;
  }
}
@media print, screen and (min-width: 1280px) {
  section.reason .reason_list ul li .scene_desc {
    width: 100%;
    margin-top: 2rem;
  }
}
section.reason .reason_list ul li .scene_desc p {
  background-color: #eeeeef;
  padding: 1rem;
}
section.reason .reason_list ul li .scene_desc p + p {
  margin-top: 2rem;
}
section.reason .reason_list ul li .scene_desc p strong {
  display: block;
  color: #065e9d;
  font-size: 2.4rem;
  font-size: min(4.8vw, 2.4rem);
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 1rem;
}
section.reason .reason_list ul li .scene_img {
  margin-top: 2rem;
}
@media print, screen and (min-width: 1024px) {
  section.reason .reason_list ul li .scene_img {
    order: 2;
    width: calc((100% - 4rem) / 2);
    margin: 0;
  }
}
@media print, screen and (min-width: 1280px) {
  section.reason .reason_list ul li .scene_img {
    order: 1;
    width: calc((100% - 8rem) / 2);
  }
}
section.reason .reason_list ul li .scene_img .sub_img {
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 2.5rem;
}
section.reason .reason_list ul li .scene_img .sub_img p {
  width: 100%;
  color: #ef8132;
  font-size: 2.4rem;
  font-size: min(5vw, 2.4rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.25;
}
@media print, screen and (min-width: 1024px) {
  section.reason .reason_list ul li .scene_img .sub_img p {
    font-size: min(1.85vw, 2.4rem);
  }
}
section.reason .reason_list ul li .scene_img .sub_img p span {
  display: inline-block;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
section.reason .reason_list ul li .scene_img .sub_img img {
  width: calc((100% - 2.5rem) / 2);
}

section.use {
  padding: 5rem 0;
}
@media print, screen and (min-width: 1024px) {
  section.use {
    padding: 8rem 0;
  }
}
section.use h2.section_title span {
  display: block;
  color: #065e9d;
  font-size: inherit;
  font-weight: inherit;
  margin-bottom: 1rem;
}
section.use .way_use {
  margin-top: 4rem;
  background-color: #cddfeb;
  padding: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media print, screen and (min-width: 1024px) {
  section.use .way_use {
    padding: 3rem;
    gap: 3.5rem 2rem;
  }
}
section.use .area_left {
  order: 1;
  width: 100%;
}
@media print, screen and (min-width: 1024px) {
  section.use .area_left {
    width: calc((100% - 2rem) / 2);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
section.use .area_left figure {
  position: relative;
  max-width: 56rem;
  margin: auto;
  border-radius: 1rem;
  overflow: hidden;
}
@media print, screen and (min-width: 1024px) {
  section.use .area_left figure {
    margin: 0;
  }
}
section.use .area_left figure figcaption span.step {
  color: #fff;
  font-family: "myriad-pro", "Josefin Sans", "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  font-style: italic;
  line-height: 1;
  background-color: #ef8132;
  width: 9rem;
  height: 6rem;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  padding: 0.5rem 0 0 0.5rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media print, screen and (min-width: 1280px) {
  section.use .area_left figure figcaption span.step {
    font-size: 3.2rem;
    width: 14rem;
    height: 10rem;
    padding: 1rem 0 0 1rem;
  }
}
section.use .area_left figure figcaption span.desc a {
  color: #fff;
  font-size: 2.4rem;
  font-size: min(3.5vw, 2.4rem);
  font-weight: bold;
  text-align: center;
  white-space: nowrap;
  background-color: #ef8132;
  border-radius: 0.5rem;
  padding: 1rem;
  position: absolute;
  bottom: 5%;
  left: 50%;
  transform: translate(-50%, 0);
}
@media print, screen and (min-width: 1024px) {
  section.use .area_left figure figcaption span.desc a {
    font-size: min(1.75vw, 2.4rem);
  }
}
section.use .area_left p {
  max-width: 56rem;
  margin: 2rem auto 0;
  color: #065e9d;
  font-size: 2.4rem;
  font-size: min(4vw, 2.4rem);
  font-weight: bold;
  line-height: 1.5;
  border-left: 1rem solid #065e9d;
  padding-left: 1rem;
}
@media print, screen and (min-width: 1024px) {
  section.use .area_left p {
    font-size: min(2vw, 2.4rem);
    margin: 0;
  }
}
section.use .area_right {
  order: 3;
  width: 100%;
}
@media print, screen and (min-width: 1024px) {
  section.use .area_right {
    order: 2;
    width: calc((100% - 2rem) / 2);
  }
}
section.use .area_right ol {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media print, screen and (min-width: 1024px) {
  section.use .area_right ol {
    gap: 1rem;
  }
}
section.use .area_right ol li {
  width: 100%;
}
@media print, screen and (min-width: 560px) {
  section.use .area_right ol li {
    width: calc((100% - 2rem) / 2);
  }
}
@media print, screen and (min-width: 1024px) {
  section.use .area_right ol li {
    width: calc((100% - 1rem) / 2);
  }
}
section.use .area_right ol li figure {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}
section.use .area_right ol li figure figcaption span.step {
  color: #fff;
  font-family: "myriad-pro", "Josefin Sans", "Noto Sans JP", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  font-style: italic;
  line-height: 1;
  background-color: #ef8132;
  width: 9rem;
  height: 6rem;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  padding: 0.5rem 0 0 0.5rem;
  position: absolute;
  top: 0;
  left: 0;
}
@media print, screen and (min-width: 1280px) {
  section.use .area_right ol li figure figcaption span.step {
    font-size: 3.2rem;
    width: 14rem;
    height: 10rem;
    padding: 1rem 0 0 1rem;
  }
}
section.use .area_right ol li figure figcaption span.desc {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  white-space: nowrap;
  border-radius: 0.5rem;
  padding: 1rem;
  position: absolute;
  bottom: 2%;
  left: 2.5%;
}
@media print, screen and (min-width: 1024px) {
  section.use .area_right ol li figure figcaption span.desc {
    font-size: min(1.2vw, 1.6rem);
  }
}
section.use small.notation {
  order: 2;
  display: block;
  width: fit-content;
  margin: auto;
  color: #e73828;
  font-weight: bold;
  background-color: #fff;
  padding: 0.5rem 1rem;
}
@media print, screen and (min-width: 1024px) {
  section.use small.notation {
    order: 3;
    width: 100%;
    font-size: min(1.8vw, 2.4rem);
    text-align: center;
  }
}
section.use p.highlight {
  position: relative;
  margin: 5rem auto 0;
  width: fit-content;
  font-size: 5.6rem;
  font-size: min(6.7vw, 5.6rem);
  font-weight: 900;
  text-align: center;
  line-height: 1.3;
}
@media print, screen and (min-width: 768px) {
  section.use p.highlight {
    font-size: min(4vw, 5.6rem);
  }
}
@media print, screen and (min-width: 1024px) {
  section.use p.highlight {
    margin-top: 8rem;
  }
}
section.use p.highlight::before {
  content: "";
  width: 8rem;
  aspect-ratio: 248/143;
  background-image: url(../img/icon_panda02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  bottom: 95%;
  right: -5%;
}
@media print, screen and (min-width: 768px) {
  section.use p.highlight::before {
    width: auto;
    max-width: 25rem;
    height: 85%;
    bottom: 0;
    right: auto;
    left: calc(100% + min(3vw, 4rem));
  }
}
section.use p.highlight strong {
  display: block;
  font-size: inherit;
  font-weight: inherit;
}
section.use p.highlight strong span {
  color: #ef8132;
  font-size: inherit;
  font-weight: inherit;
}
section.use .btn_area {
  margin-top: 5rem;
}
@media print, screen and (min-width: 1024px) {
  section.use .btn_area {
    margin-top: 8rem;
  }
}
section.use .btn_area .btn {
  width: 100%;
  max-width: 58rem;
  margin: auto;
}
section.use .btn_area .btn a {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 0 2rem;
  background-color: #212e3d;
  padding: 2rem 0;
  color: #fff;
  font-size: 2.4rem;
  font-size: min(4.5vw, 2.4rem);
  font-weight: bold;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  section.use .btn_area .btn a {
    padding: 4rem 0;
  }
}
section.use .btn_area .btn a img {
  width: 40%;
  max-width: 22.5rem;
}

section.movie {
  padding: 5rem 0;
  background-color: #fdece0;
}
@media print, screen and (min-width: 1024px) {
  section.movie {
    padding: 8rem 0;
  }
}
section.movie h2.section_title {
  color: #065e9d;
}
section.movie p.section_info {
  margin-top: 0.4em;
  font-size: 3.2rem;
  font-size: min(8vw, 3.2rem);
  font-weight: bold;
  text-align: center;
}
section.movie figure {
  margin: 5rem auto 0;
  width: 100%;
  max-width: 100rem;
  aspect-ratio: 560/315;
}
@media print, screen and (min-width: 1024px) {
  section.movie figure {
    margin-top: 8rem;
  }
}
section.movie figure iframe {
  height: 100%;
}
section.movie .company_name {
  margin-top: 5rem;
}
@media print, screen and (min-width: 1024px) {
  section.movie .company_name {
    margin-top: 8rem;
  }
}
section.movie .company_name h3 {
  font-size: 3.2rem;
  font-size: min(6vw, 3.2rem);
  font-weight: 900;
  text-align: center;
}
section.movie .company_name .icon {
  width: 11.5rem;
  margin: 1rem auto 0;
}
section.movie .btn_area {
  margin-top: 5rem;
}
@media print, screen and (min-width: 1024px) {
  section.movie .btn_area {
    margin-top: 8rem;
  }
}
section.movie .btn_area .btn {
  width: 100%;
  max-width: 44.5rem;
  margin: auto;
}
section.movie .btn_area .btn a {
  display: block;
  position: relative;
  color: #fff;
  font-size: 2.4rem;
  font-size: min(5.5vw, 2.4rem);
  font-weight: bold;
  text-align: center;
  background-color: #065e9d;
  padding: 2.5rem 0;
}
section.movie .btn_area .btn a::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 0.3rem solid #fff;
  border-right: 0.3rem solid #fff;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%) rotate(45deg);
}

section.spec {
  padding: 5rem 0;
  background-color: #dfeaf2;
}
@media print, screen and (min-width: 1024px) {
  section.spec {
    padding: 8rem 0;
  }
}
section.spec .spec_desc {
  margin-top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 4rem 0;
}
@media print, screen and (min-width: 1024px) {
  section.spec .spec_desc {
    margin-top: 8rem;
    gap: 8rem 0;
  }
}
section.spec .area_upper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 2rem 5rem;
}
@media print, screen and (min-width: 768px) {
  section.spec .area_upper {
    align-items: flex-start;
  }
}
section.spec .area_upper dl {
  width: 100%;
  max-width: 50rem;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem 0.5rem;
}
@media print, screen and (min-width: 768px) {
  section.spec .area_upper dl {
    width: 45%;
    margin: 0;
  }
}
section.spec .area_upper dl dt {
  width: 40%;
  color: #fff;
  font-size: 1.8rem;
  background-color: #231815;
  padding: 1rem 2.5%;
}
@media print, screen and (min-width: 1024px) {
  section.spec .area_upper dl dt {
    padding: 2.5rem;
  }
}
section.spec .area_upper dl dd {
  width: calc(60% - 0.5rem);
  font-size: 1.8rem;
  background-color: #fff;
  padding: 1rem 2.5%;
}
@media print, screen and (min-width: 1024px) {
  section.spec .area_upper dl dd {
    padding: 2.5rem;
  }
}
section.spec .area_upper figure.scanner_img {
  width: 100%;
  max-width: 62.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  section.spec .area_upper figure.scanner_img {
    width: calc(55% - 5rem);
  }
}
@media print, screen and (min-width: 1024px) {
  section.spec .area_upper figure.scanner_img {
    margin-top: -5rem;
    align-items: flex-end;
    gap: 6rem 0;
  }
}
section.spec .area_upper figure.scanner_img figcaption {
  width: 100%;
  max-width: 43rem;
  color: #fff;
  font-size: 2.4rem;
  font-size: min(6vw, 2.4rem);
  font-weight: bold;
  text-align: center;
  background-color: #ef8132;
  padding: 1rem;
}
@media print, screen and (min-width: 768px) {
  section.spec .area_upper figure.scanner_img figcaption {
    font-size: 2rem;
  }
}
section.spec .area_lower {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 4rem 0;
}
@media print, screen and (min-width: 768px) {
  section.spec .area_lower {
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 1024px) {
  section.spec .area_lower {
    gap: 8rem 0;
  }
}
section.spec .area_lower p {
  width: 100%;
  font-size: 2.4rem;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center;
}
section.spec .area_lower p span {
  display: block;
  font-size: 1.8rem;
}
section.spec .area_lower .resolution_area {
  width: 100%;
  max-width: 55rem;
}
@media print, screen and (min-width: 768px) {
  section.spec .area_lower .resolution_area {
    width: 48.5%;
  }
}
section.spec .area_lower .resolution_area table {
  width: 100%;
  border-spacing: 0.5rem 0.3rem;
}
section.spec .area_lower .resolution_area table caption {
  font-size: 1.8rem;
  text-align: left;
}
section.spec .area_lower .resolution_area table th,
section.spec .area_lower .resolution_area table td {
  padding: 1rem 2.5%;
  background-color: #fff;
  font-size: 1.8rem;
  font-size: min(4.25vw, 1.8rem);
  text-align: center;
}
section.spec .area_lower .resolution_area table th.txt_white,
section.spec .area_lower .resolution_area table td.txt_white {
  color: #fff;
  background-color: #231815;
}
section.spec .area_lower .resolution_area table .width01 {
  width: 35%;
  line-height: 1.3;
}
section.spec .area_lower .resolution_area table .width02 {
  width: 25%;
}
section.spec .area_lower .resolution_area table .width03 {
  width: 40%;
}

section.sns {
  padding: 5rem 0;
  background-color: #f0f0f0;
}
@media print, screen and (min-width: 1024px) {
  section.sns {
    padding: 8rem 0;
  }
}
section.sns h2 {
  font-size: 3.2rem;
  font-size: min(5vw, 3.2rem);
  font-weight: 900;
  text-align: center;
}
section.sns h2 img {
  display: inline;
  width: auto;
  height: 4rem;
  vertical-align: middle;
  margin: 0 0.5rem;
}
@media print, screen and (min-width: 480px) {
  section.sns h2 img {
    height: 6rem;
    margin: 0 1rem;
  }
}
section.sns h2 strong,
section.sns h2 span {
  font-size: 4rem;
  font-size: min(5.65vw, 4rem);
  font-weight: inherit;
}
section.sns .sns_area {
  margin-top: 4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 0;
}
@media print, screen and (min-width: 768px) {
  section.sns .sns_area {
    gap: 0 2rem;
  }
}
@media print, screen and (min-width: 1024px) {
  section.sns .sns_area {
    gap: 0 6rem;
  }
}
section.sns .sns_area .btn_area {
  margin-top: 4rem;
}
@media print, screen and (min-width: 1024px) {
  section.sns .sns_area .btn_area {
    margin-top: 6rem;
  }
}
section.sns .sns_area .btn_area .btn {
  width: 100%;
  max-width: 44.5rem;
  margin: auto;
}
section.sns .sns_area .btn_area .btn a {
  position: relative;
  color: #fff;
  font-size: 2.4rem;
  font-size: min(5.5vw, 2.4rem);
  font-weight: bold;
  text-align: center;
  background-color: #065e9d;
  padding: 2.5rem 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.sns .sns_area .btn_area .btn a::before {
  content: "";
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  background-color: #fff;
  margin-right: 0.5rem;
}
section.sns .sns_area .btn_area .btn a::after {
  content: "";
  width: 1rem;
  height: 1rem;
  border-top: 0.3rem solid #fff;
  border-right: 0.3rem solid #fff;
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translate(0, -50%) rotate(45deg);
}
section.sns .sns_area .btn_area .btn a span {
  width: 0;
  opacity: 0;
  visibility: hidden;
}
section.sns .instagram_area {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  section.sns .instagram_area {
    width: calc((100% - 4rem) / 2);
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
}
@media print, screen and (min-width: 1024px) {
  section.sns .instagram_area {
    width: calc((100% - 6rem) / 2);
  }
}
section.sns .instagram_area ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}
@media print, screen and (min-width: 1024px) {
  section.sns .instagram_area ul {
    gap: 4rem;
    justify-content: space-between;
  }
}
section.sns .instagram_area ul li {
  width: calc((100% - 2rem) / 2);
  border-radius: 10px;
  overflow: hidden;
}
@media print, screen and (min-width: 1024px) {
  section.sns .instagram_area ul li {
    width: calc((100% - 4rem) / 2);
  }
}
section.sns .instagram_area ul li a {
  position: relative;
}
section.sns .instagram_area ul li a::before, section.sns .instagram_area ul li a::after {
  content: "";
  aspect-ratio: 1/1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
section.sns .instagram_area ul li a::before {
  width: 15%;
  background-color: #fff;
}
section.sns .instagram_area ul li a::after {
  width: 20%;
  mask-image: url(../img/icon_play.webp);
  mask-size: contain;
  mask-repeat: no-repeat;
  background-color: #ef8132;
}
section.sns .instagram_area ul li img {
  aspect-ratio: 1/1;
  object-fit: cover;
  object-position: center;
}
section.sns .instagram_area .btn_area .btn a::before {
  height: 1.5em;
  aspect-ratio: 270/60;
  mask-image: url(../img/instagram.webp);
}
section.sns .x_area {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  section.sns .x_area {
    width: calc((100% - 2rem) / 2);
  }
}
@media print, screen and (min-width: 1024px) {
  section.sns .x_area {
    width: calc((100% - 6rem) / 2);
  }
}
section.sns .x_area .twitter-tweet {
  margin: 0 auto !important;
}
section.sns .x_area .btn_area .btn a::before {
  height: 1.3em;
  aspect-ratio: 1/1;
  mask-image: url(../img/x_02.webp);
}

section.qa {
  padding: 5rem 0;
  background-color: #fce6d6;
}
@media print, screen and (min-width: 1024px) {
  section.qa {
    padding: 8rem 0;
  }
}
section.qa h2.section_title::before {
  content: "Q&A";
  display: block;
  color: #ef8132;
  line-height: 1;
  margin-bottom: 0.7em;
}
@media print, screen and (min-width: 1024px) {
  section.qa h2.section_title::before {
    margin-bottom: 1.2em;
  }
}
section.qa dl.qa_list {
  margin-top: 5rem;
}
@media print, screen and (min-width: 1024px) {
  section.qa dl.qa_list {
    margin-top: 8rem;
  }
}
section.qa dl.qa_list dt {
  position: relative;
  font-size: 2.4rem;
  font-size: min(4.5vw, 2.4rem);
  font-weight: bold;
  padding: 0.6em 0.9em;
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: 0 min(4vw, 3rem);
  transition: 0.5s;
  cursor: pointer;
}
@media print, screen and (min-width: 1024px) {
  section.qa dl.qa_list dt {
    padding: 2rem 3rem;
  }
}
section.qa dl.qa_list dt:not(:first-of-type) {
  margin-top: 2rem;
}
@media print, screen and (min-width: 1024px) {
  section.qa dl.qa_list dt:not(:first-of-type) {
    margin-top: 4rem;
  }
}
section.qa dl.qa_list dt::before {
  content: "Q";
  color: #ef8132;
}
section.qa dl.qa_list dt::after {
  content: "+";
  color: #717071;
  font-size: 3.2rem;
  font-size: min(6vw, 3.2rem);
  margin-left: auto;
  transition: 0.5s linear;
}
section.qa dl.qa_list dt:hover {
  color: #9b9b9b;
}
section.qa dl.qa_list dt.active::after {
  transform: rotate(135deg);
}
section.qa dl.qa_list dd {
  position: relative;
  font-size: 2.4rem;
  font-size: min(4.5vw, 2.4rem);
  font-weight: bold;
  padding: 0.6em 0.9em;
  background-color: #fff;
  display: flex;
  align-items: center;
  gap: 0 min(4vw, 3rem);
  display: none;
}
@media print, screen and (min-width: 1024px) {
  section.qa dl.qa_list dd {
    padding: 2rem 3rem;
  }
}
section.qa dl.qa_list dd::before {
  content: "A";
  color: #065e9d;
}
section.qa dl.qa_list dd::after {
  content: "";
  width: calc(100% - 0.9em);
  height: 100%;
  border-top: 0.3rem dashed #ffbc8d;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
}

section.contact {
  padding: 5rem 0;
}
@media print, screen and (min-width: 1024px) {
  section.contact {
    padding: 8rem 0;
  }
}
section.contact h2.contact_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem 0;
  font-size: 3.2rem;
  font-size: min(6vw, 3.2rem);
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  section.contact h2.contact_title {
    flex-direction: row;
    justify-content: center;
    font-size: min(3vw, 3.2rem);
    gap: 0 1rem;
  }
}
section.contact h2.contact_title img {
  width: 100%;
  max-width: 48rem;
}
@media print, screen and (min-width: 768px) {
  section.contact h2.contact_title img {
    position: relative;
    top: -0.5rem;
  }
}
section.contact p.contact_info {
  margin: 4rem auto 0;
  width: fit-content;
}
section.contact .btn_area {
  margin-top: 4rem;
}
section.contact .btn_area .btn {
  width: 100%;
  max-width: 32.5rem;
  margin: auto;
}
section.contact .btn_area .btn a {
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
  background-color: #ef8132;
  padding: 2.5rem 0;
}

section.form .announce {
  background-color: #eeeeef;
  padding: 4rem 0;
}
@media print, screen and (min-width: 1024px) {
  section.form .announce {
    padding: 8rem 0;
  }
}
section.form .announce .logo {
  width: 70%;
  max-width: 40rem;
  margin: auto;
}
section.form .announce .to_buyer {
  margin-top: 4rem;
  background-color: #fff;
  border: 0.5rem solid #ef8132;
  border-radius: 1rem;
  padding: 2rem 1rem;
}
@media print, screen and (min-width: 1024px) {
  section.form .announce .to_buyer {
    margin-top: 8rem;
    padding: 3rem 5rem;
  }
}
section.form .announce .to_buyer h3 {
  color: #ef8132;
  font-size: 2.4rem;
  font-size: min(6vw, 2.4rem);
  font-weight: bold;
  text-align: center;
  border-bottom: 0.3rem solid #ef8132;
  padding-bottom: 1rem;
}
section.form .announce .to_buyer p {
  margin: 2rem auto 0;
  width: fit-content;
  font-size: 2.4rem;
  font-size: min(5vw, 2.4rem);
}
@media print, screen and (min-width: 768px) {
  section.form .announce .to_buyer p {
    text-align: center;
  }
}
section.form .announce .to_buyer dl {
  margin: 4rem auto 0;
  width: fit-content;
}
section.form .announce .to_buyer dl dt {
  font-size: 2.4rem;
  font-size: min(5vw, 2.4rem);
  text-indent: -1em;
}
section.form .announce .to_buyer dl dt:nth-of-type(2) {
  margin-top: 2rem;
}
section.form .announce .to_buyer dl dt::before {
  content: "【";
}
section.form .announce .to_buyer dl dt::after {
  content: "】";
}
section.form .announce .to_buyer dl dd {
  margin-top: 1rem;
  font-size: 2rem;
  font-size: min(4.5vw, 2rem);
}
section.form .submit_area {
  padding: 4rem 0;
}
@media print, screen and (min-width: 1024px) {
  section.form .submit_area {
    padding: 8rem 0;
  }
}
section.form .submit_area h2.form_title {
  color: #ef8132;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
section.form .submit_area p.form_info {
  margin-top: 2rem;
  font-size: 2.4rem;
  font-size: min(4.5vw, 2.4rem);
}
@media print, screen and (min-width: 768px) {
  section.form .submit_area p.form_info {
    margin-top: 4rem;
    text-align: center;
  }
}
section.form .submit_area form {
  margin-top: 4rem;
}
@media print, screen and (min-width: 1024px) {
  section.form .submit_area form {
    margin-top: 8rem;
  }
}
section.form .submit_area form dl.form_list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  section.form .submit_area form dl.form_list {
    gap: 4rem;
  }
}
section.form .submit_area form dl.form_list dt {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0 2rem;
  font-size: 1.8rem;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  section.form .submit_area form dl.form_list dt {
    width: 22rem;
    align-self: stretch;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 1rem;
  }
}
section.form .submit_area form dl.form_list dt.required::after {
  content: "必須";
  display: block;
  color: #fff;
  font-size: 80%;
  font-weight: normal;
  background-color: #ef8132;
  padding: 0.3rem 1rem;
  border-radius: 0.3rem;
}
section.form .submit_area form dl.form_list dt:not(:first-of-type) {
  margin-top: 4rem;
}
@media print, screen and (min-width: 768px) {
  section.form .submit_area form dl.form_list dt:not(:first-of-type) {
    margin-top: 0;
  }
}
section.form .submit_area form dl.form_list dd {
  width: 100%;
  margin-top: 1rem;
  border: 0.1rem solid #9b9b9b;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media print, screen and (min-width: 768px) {
  section.form .submit_area form dl.form_list dd {
    width: calc(100% - 26rem);
    margin-top: 0;
  }
}
section.form .submit_area form dl.form_list dd input:not([type=radio]),
section.form .submit_area form dl.form_list dd textarea {
  width: 100%;
  font-size: 1.8rem;
  padding: 1rem 2rem;
  cursor: pointer;
}
section.form .submit_area form dl.form_list dd textarea {
  min-height: 5em;
  field-sizing: content;
}
section.form .submit_area form dl.form_list dd.select_area {
  border: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem 0;
}
@media print, screen and (min-width: 768px) {
  section.form .submit_area form dl.form_list dd.select_area {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.5rem 3rem;
    padding: 1rem 0;
  }
}
section.form .submit_area form dl.form_list dd.select_area label {
  width: fit-content;
  display: flex;
  gap: 0 0.5rem;
  cursor: pointer;
}
section.form .submit_area form dl.form_list dd.select_area label:hover {
  text-decoration: underline;
}
section.form .submit_area form dl.form_list dd.select_area label input {
  width: 1.2em;
  aspect-ratio: 1/1;
  position: relative;
  top: 0.1em;
  accent-color: #065e9d;
}
section.form .submit_area form dl.form_list dd.select_area .accordion {
  width: 100%;
  border: 0.1rem solid #9b9b9b;
  border-radius: 0.5rem;
  overflow: hidden;
  display: none;
}
section.form .submit_area form .privacy_check {
  margin-top: 4rem;
}
@media print, screen and (min-width: 768px) {
  section.form .submit_area form .privacy_check p {
    text-align: center;
  }
}
section.form .submit_area form .privacy_check p a {
  display: inline;
  color: #ef8132;
  cursor: pointer;
}
section.form .submit_area form .privacy_check p a:hover {
  opacity: 1;
  color: #fff;
  background-color: #ef8132;
}
section.form .submit_area form .privacy_check label {
  margin-top: 1rem;
  display: flex;
  justify-content: center;
  gap: 0 0.5rem;
  font-size: 1.8rem;
  cursor: pointer;
  transition: 0.5s;
}
section.form .submit_area form .privacy_check label:hover {
  text-decoration: underline;
}
section.form .submit_area form .privacy_check label input {
  width: 1.2em;
  height: 1.2em;
  position: relative;
  top: 0.2em;
  accent-color: #065e9d;
}
@media print, screen and (min-width: 1024px) {
  section.form .submit_area form .privacy_check label input {
    top: 0.5em;
  }
}
section.form .submit_area form .privacy_check.confirm label {
  pointer-events: none;
}
section.form .submit_area form .privacy_check .modal_area {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 999999;
  display: none;
  opacity: 0;
}
section.form .submit_area form .privacy_check .modal_area.show {
  display: block;
  opacity: 1;
  transition: opacity 0.5s forwards;
}
section.form .submit_area form .privacy_check .modal_area .inner {
  background-color: #fff;
  width: 90%;
  max-width: 800px;
  height: 60%;
  padding: 5% 2.5%;
  overflow-y: scroll;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
section.form .submit_area form .privacy_check .modal_area h4 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  border-bottom: 0.2rem solid #717071;
  padding-bottom: 1rem;
}
section.form .submit_area form .privacy_check .modal_area dl {
  margin-top: 2rem;
}
section.form .submit_area form .privacy_check .modal_area dl dt {
  font-size: 1.8rem;
  font-weight: bold;
}
section.form .submit_area form .privacy_check .modal_area dl dt:not(:first-of-type) {
  margin-top: 2rem;
}
section.form .submit_area form .privacy_check .modal_area dl dd {
  margin-top: 1rem;
}
section.form .submit_area form .privacy_check .modal_area dl dd address {
  margin-top: 2rem;
}
section.form .submit_area form .privacy_check .modal_area .close_btn {
  width: 3rem;
  height: 3rem;
  position: absolute;
  top: 5%;
  right: 5%;
}
section.form .submit_area form .privacy_check .modal_area .close_btn span {
  display: block;
  width: 3rem;
  height: 0.2rem;
  background-color: #fff;
  position: absolute;
  top: 50%;
}
section.form .submit_area form .privacy_check .modal_area .close_btn span:nth-of-type(1) {
  transform: translateY(-50%) rotate(45deg);
}
section.form .submit_area form .privacy_check .modal_area .close_btn span:nth-of-type(2) {
  transform: translateY(-50%) rotate(-45deg);
}
section.form .submit_area form .btn_area {
  margin-top: 4rem;
  display: flex;
  justify-content: center;
  gap: min(10vw, 8rem);
}
@media print, screen and (min-width: 1024px) {
  section.form .submit_area form .btn_area {
    margin-top: 8rem;
  }
}
section.form .submit_area form .btn_area input {
  width: 100%;
  max-width: 40rem;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  background-color: #717071;
  padding: 1rem 0;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: 0.5s;
}
section.form .submit_area form .btn_area input[type=submit] {
  background-color: #065e9d;
}
section.form .submit_area form .btn_area input[type=submit]#SubmitButton.not_allowed {
  opacity: 0.5;
  pointer-events: none;
}
section.form .submit_area form .btn_area input:hover {
  opacity: 0.5;
}
section.form .tk_btn_area {
  width: 85%;
  max-width: 40rem;
  margin: 4rem auto 0;
}
@media print, screen and (min-width: 1024px) {
  section.form .tk_btn_area {
    margin-top: 8rem;
  }
}
section.form .tk_btn_area a {
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  background-color: #ef8132;
  padding: 1.5rem 0;
}

section.download .page_top {
  padding: 4rem 0;
  background-image: url(../img/pagettl.jpg);
  background-repeat: repeat;
}
@media print, screen and (min-width: 1024px) {
  section.download .page_top {
    padding: 8rem 0;
  }
}
section.download .logo {
  width: 70%;
  max-width: 40rem;
  margin: auto;
}
section.download h2 {
  margin-top: 4rem;
  font-size: clamp(1.8rem, 3vw, 4rem);
  font-weight: bold;
  text-align: center;
}
@media print, screen and (min-width: 1024px) {
  section.download h2 {
    margin-top: 8rem;
  }
}
section.download .download_area {
  padding: 4rem 0;
}
@media print, screen and (min-width: 1024px) {
  section.download .download_area {
    padding: 8rem 0;
  }
}
section.download .download_area p {
  width: fit-content;
  margin: auto;
}
@media print, screen and (min-width: 768px) {
  section.download .download_area p {
    text-align: center;
  }
}
section.download .download_area dl.annotation {
  width: fit-content;
  margin: 4rem auto 0;
}
section.download .download_area dl.annotation dt {
  color: #ed1c24;
  text-align: center;
}
section.download .download_area dl.annotation dt::before, section.download .download_area dl.annotation dt::after {
  content: "※";
}
section.download .download_area dl.annotation dd {
  margin-top: 1rem;
}
@media print, screen and (min-width: 768px) {
  section.download .download_area dl.annotation dd {
    text-align: center;
  }
}
section.download .download_area dl.annotation dd a {
  display: inline-block;
  color: #ed1c24;
  text-decoration: underline;
}
section.download .download_area dl.annotation dd a:hover {
  color: #fff;
  background-color: #ed1c24;
}
section.download .download_area .dl_btn {
  width: 100%;
  margin-top: 4rem;
}
section.download .download_area .dl_btn a {
  color: #fff;
  font-size: min(5vw, 2rem);
  font-weight: bold;
  text-align: center;
  background-color: #ef8132;
  border-radius: 5px;
  padding: 1rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0 1rem;
}
@media print, screen and (min-width: 1024px) {
  section.download .download_area .dl_btn a {
    padding: 2rem 4rem;
  }
}
section.download .download_area .dl_btn a::after {
  content: "";
  width: 4.8rem;
  height: 4.8rem;
  mask-image: url(../img/icon_click.png);
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  background-color: #fff;
}
section.download .download_area dl.detail {
  position: relative;
  width: 100%;
  max-width: 50rem;
  margin: 4rem auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
}
@media print, screen and (min-width: 768px) {
  section.download .download_area dl.detail {
    max-width: max-content;
  }
}
section.download .download_area dl.detail dt {
  width: 8em;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  section.download .download_area dl.detail dt {
    width: calc(100% - 62rem);
  }
}
section.download .download_area dl.detail dt::before {
  content: "【";
}
section.download .download_area dl.detail dt::after {
  content: "】";
}
section.download .download_area dl.detail dd {
  width: 100%;
}
@media print, screen and (min-width: 420px) {
  section.download .download_area dl.detail dd {
    width: calc(100% - 8em);
  }
}
@media print, screen and (min-width: 768px) {
  section.download .download_area dl.detail dd {
    width: 62rem;
  }
}
section.download .download_area dl.detail dd.improve_img {
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
}
@media print, screen and (min-width: 768px) {
  section.download .download_area dl.detail dd.improve_img {
    width: 62rem;
    max-width: none;
  }
}
section.download .download_area dl.detail dd.improve_img ul.invisible {
  position: absolute;
  top: 0;
  left: 100vw;
}
section.download .edge_area {
  padding: 4rem 0;
  background-image: url(../img/bg.png);
  background-repeat: repeat;
}
@media print, screen and (min-width: 1024px) {
  section.download .edge_area {
    padding: 8rem 0;
  }
}
section.download .edge_area p {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem 0;
}
@media print, screen and (min-width: 768px) {
  section.download .edge_area p {
    text-align: center;
  }
}
section.download .edge_area p strong {
  color: #ed1c24;
  font-size: min(5vw, 2.4rem);
  font-weight: bold;
}
section.download .edge_area p strong::before, section.download .edge_area p strong::after {
  content: "※";
}
section.download .edge_area ul.edge_flow {
  width: fit-content;
  margin: 4rem auto 0;
  counter-reset: item;
}
section.download .edge_area ul.edge_flow li {
  counter-increment: item;
  display: flex;
  align-items: flex-start;
  gap: 0 0.5rem;
}
section.download .edge_area ul.edge_flow li::before {
  content: counter(item);
  color: #fff;
  font-weight: bold;
  line-height: 1;
  width: 1.8em;
  height: 1.8em;
  display: grid;
  place-items: center;
  background-color: #ed1c24;
  border-radius: 50%;
}
section.download .edge_area ul.edge_flow li + li {
  margin-top: 2rem;
}
section.download .edge_area ul.edge_flow li figure {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
}
section.download .edge_area ul.edge_flow li figure img {
  width: 100%;
  max-width: 40rem;
}/*# sourceMappingURL=style.css.map */