@charset "UTF-8";
:root {
  --bk: #000;
  --bk00: rgba(0,0,0,0);
  --bk05: rgba(0,0,0,.05);
  --bk10: rgba(0,0,0,.10);
  --bk15: rgba(0,0,0,.15);
  --bk20: rgba(0,0,0,.20);
  --bk25: rgba(0,0,0,.25);
  --bk30: rgba(0,0,0,.30);
  --bk35: rgba(0,0,0,.35);
  --bk40: rgba(0,0,0,.40);
  --bk45: rgba(0,0,0,.45);
  --bk50: rgba(0,0,0,.50);
  --bk55: rgba(0,0,0,.55);
  --bk60: rgba(0,0,0,.60);
  --bk65: rgba(0,0,0,.65);
  --bk70: rgba(0,0,0,.70);
  --bk75: rgba(0,0,0,.75);
  --bk80: rgba(0,0,0,.80);
  --bk85: rgba(0,0,0,.85);
  --bk90: rgba(0,0,0,.90);
  --bk95: rgba(0,0,0,.95);
  --wh: #fff;
  --wh00: rgba(255,255,255,0);
  --wh05: rgba(255,255,255,.05);
  --wh10: rgba(255,255,255,.10);
  --wh15: rgba(255,255,255,.15);
  --wh20: rgba(255,255,255,.20);
  --wh25: rgba(255,255,255,.25);
  --wh30: rgba(255,255,255,.30);
  --wh35: rgba(255,255,255,.35);
  --wh40: rgba(255,255,255,.40);
  --wh45: rgba(255,255,255,.45);
  --wh50: rgba(255,255,255,.50);
  --wh55: rgba(255,255,255,.55);
  --wh60: rgba(255,255,255,.60);
  --wh65: rgba(255,255,255,.65);
  --wh70: rgba(255,255,255,.70);
  --wh75: rgba(255,255,255,.75);
  --wh80: rgba(255,255,255,.80);
  --wh85: rgba(255,255,255,.85);
  --wh90: rgba(255,255,255,.90);
  --wh95: rgba(255,255,255,.95);
  --text: #494949;
  --red: #da0814;
  --blue: #114abd;
  --bg: #fcf9f0; }

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: '';
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  margin: 0;
  padding: 0;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }
  blockquote:after, blockquote:before, q:after, q:before {
    content: '';
    content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

@media only screen and (max-width: 767px) {
  .pc {
    display: none !important; } }
@media only screen and (min-width: 768px) {
  .sp {
    display: none !important; } }
html, body {
  font-size: 1rem; }
  @media (max-width: 1140px) {
    html, body {
      font-size: 1.4035vw; } }
  html *, body * {
    box-sizing: border-box;
    letter-spacing: -.03em; }
    html *::before, html *::after, body *::before, body *::after {
      box-sizing: border-box; }

body {
  color: var(--text);
  font-family: 'M PLUS Rounded 1c', sans-serif;
  font-weight: 500;
  -webkit-text-size-adjust: 100%;
  background-color: var(--bg); }
  @media (max-width: 768px) {
    body {
      height: 100%; } }
  body::-webkit-scrollbar {
    width: 0.25rem; }
  body::-webkit-scrollbar-track {
    background-color: var(--bk10); }
  body::-webkit-scrollbar-thumb {
    background-color: var(--bk30); }

::selection {
  color: var(--wh);
  background-color: var(--text); }

a {
  outline: none !important;
  transition: all 0.5s cubic-bezier(0.2, 1, 0.2, 1); }

a:link, a:visited {
  color: #393939;
  text-decoration: underline; }

a:focus, a:active {
  color: var(--bk70);
  text-decoration: none; }

@media (any-hover: hover) {
  a:hover {
    color: var(--bk70);
    text-decoration: none; } }
img {
  max-width: 100%;
  height: auto;
  vertical-align: text-bottom; }
  @media (max-width: 768px) {
    img {
      width: auto; } }

sup {
  vertical-align: super;
  font-size: 60%; }

.wrap {
  overflow-x: hidden; }

.inner {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 71.25rem;
  margin: 0 auto;
  padding: 0 1.25rem; }
  @media (max-width: 768px) {
    .inner {
      max-width: none;
      padding: 0; } }

.header {
  display: block;
  padding: 0;
  background-color: #fff; }
  .header h1 {
    padding: 1.25rem; }
    @media (max-width: 768px) {
      .header h1 {
        padding: 2.6666666667vw; } }
    .header h1 img {
      height: 44px;
      width: auto; }
      @media (max-width: 768px) {
        .header h1 img {
          height: 5.7333333333vw; } }
  .header::before {
    content: "";
    display: block;
    height: 16px;
    background: url("../images/cmn_ex01_01.svg") center top/100% auto no-repeat; }
    @media (max-width: 768px) {
      .header::before {
        height: 8px;
        background: url("../images/cmn_ex01_01_sp.svg") center top/cover no-repeat; } }

.overlay {
  cursor: pointer;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  display: none;
  width: 100%;
  height: 100vh;
  background: rgba(57, 57, 57, 0.7); }

.gnav-toggle {
  cursor: pointer;
  position: fixed;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 100;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.375rem;
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 50%;
  background: #242424;
  transition: right 0.5s cubic-bezier(0.2, 1, 0.2, 1), background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
  @media (max-width: 768px) {
    .gnav-toggle {
      gap: 0.8vw;
      top: 3.2vw;
      right: 2.6666666667vw;
      width: 13.3333333333vw;
      height: 13.3333333333vw; } }
  .gnav-toggle .lines {
    position: relative;
    width: 4.375rem;
    height: 1.75rem; }
    @media (max-width: 768px) {
      .gnav-toggle .lines {
        width: 9.3333333333vw;
        height: 3.7333333333vw; } }
    .gnav-toggle .lines span {
      position: absolute;
      width: 100%;
      height: 0.25rem;
      border-radius: 0.125rem;
      background-color: var(--wh);
      transition: transform 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
      @media (max-width: 768px) {
        .gnav-toggle .lines span {
          border-radius: 0.4vw;
          height: 0.8vw; } }
      .gnav-toggle .lines span:nth-child(1) {
        left: 50%;
        top: 0;
        transform: translateX(-50%); }
      .gnav-toggle .lines span:nth-child(2) {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%); }
      .gnav-toggle .lines span:nth-child(3) {
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); }
  .gnav-toggle::after {
    color: var(--wh);
    content: "もくじ";
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
    transform: rotateZ(0.03deg); }
    @media (max-width: 768px) {
      .gnav-toggle::after {
        font-size: 2.6666666667vw; } }
  .gnav-toggle.active {
    right: 18.75rem;
    background: transparent; }
    @media (max-width: 768px) {
      .gnav-toggle.active {
        right: 80vw; } }
    .gnav-toggle.active .lines {
      height: 3.125rem; }
      @media (max-width: 768px) {
        .gnav-toggle.active .lines {
          height: 6.6666666667vw; } }
      .gnav-toggle.active .lines span {
        width: 90%; }
        .gnav-toggle.active .lines span:nth-child(1) {
          left: 50%;
          top: 50%;
          transform: translate(-50%, -50%) rotate(135deg); }
        .gnav-toggle.active .lines span:nth-child(2) {
          opacity: 0; }
        .gnav-toggle.active .lines span:nth-child(3) {
          bottom: 50%;
          left: 50%;
          transform: translate(-50%, 50%) rotate(-135deg); }
    .gnav-toggle.active::after {
      content: "とじる"; }

.gnav {
  position: fixed;
  top: 0;
  right: -18.75rem;
  z-index: 100;
  width: 18.75rem;
  height: 100%;
  overflow-y: auto;
  background: #f0ead6;
  transition: right 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
  @media (max-width: 768px) {
    .gnav {
      right: -80vw;
      width: 80vw; } }
  .gnav::-webkit-scrollbar {
    width: 0.25rem; }
  .gnav::-webkit-scrollbar-track {
    background-color: var(--bk10); }
  .gnav::-webkit-scrollbar-thumb {
    background-color: var(--bk30); }
  .gnav.active {
    right: 0; }

.gnav-inner {
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
  padding: 2.5rem 0.625rem; }
  @media (max-width: 768px) {
    .gnav-inner {
      gap: 5.3333333333vw;
      padding: 8vw 2.6666666667vw; } }
  .gnav-inner ul {
    border-top: 1px solid #8c8c8c;
    width: 100%; }
    .gnav-inner ul li {
      border-bottom: 1px solid #8c8c8c; }
      .gnav-inner ul li a {
        display: block;
        padding: 0.875rem 0.625rem; }
        @media (max-width: 768px) {
          .gnav-inner ul li a {
            padding: 3.2vw 2.6666666667vw; } }
        @media (any-hover: hover) {
          .gnav-inner ul li a:hover {
            background-color: rgba(0, 0, 0, 0.05); } }
        .gnav-inner ul li a span {
          display: inline-block;
          font-size: 1.25rem;
          font-weight: 700;
          line-height: 1.42;
          background: linear-gradient(transparent 60%, #fcf8ee 0);
          transform: rotateZ(0.03deg); }
          @media (max-width: 768px) {
            .gnav-inner ul li a span {
              font-size: 4.8vw; } }
  .gnav-inner .btns {
    display: flex;
    flex-direction: column;
    gap: 0.625rem; }
    @media (max-width: 768px) {
      .gnav-inner .btns {
        gap: 4vw; } }
    .gnav-inner .btns .balloon {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 100%;
      margin-bottom: 1.25rem;
      padding: 0.625rem 0.625rem 0.5rem;
      border-radius: 1.875rem;
      background-color: #ffff00; }
      @media (max-width: 768px) {
        .gnav-inner .btns .balloon {
          margin-bottom: 2.6666666667vw;
          padding: 2vw 2vw 1.4666666667vw;
          border-radius: 5.3333333333vw; } }
      .gnav-inner .btns .balloon::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 50%;
        width: 0;
        height: 0;
        border-width: 1rem 0.6875rem 0 0.6875rem;
        border-style: solid;
        border-color: #ffff00 transparent transparent transparent;
        transform: translateX(-50%); }
        @media (max-width: 768px) {
          .gnav-inner .btns .balloon::after {
            border-width: 3.2vw 2.1333333333vw 0 2.1333333333vw; } }
      .gnav-inner .btns .balloon span {
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 1.125rem;
        font-weight: 700;
        transform: rotateZ(0.03deg); }
        @media (max-width: 768px) {
          .gnav-inner .btns .balloon span {
            font-size: 4.8vw; } }
        .gnav-inner .btns .balloon span strong {
          margin-bottom: .125em;
          font-size: 1.5em; }
    .gnav-inner .btns .btn {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 4.625rem;
      border-radius: 0.625rem; }
      @media (max-width: 768px) {
        .gnav-inner .btns .btn {
          height: 18.6666666667vw;
          border-radius: 4.2666666667vw; } }
      @media (any-hover: hover) {
        .gnav-inner .btns .btn:hover::after {
          right: 0.5625rem; } }
      .gnav-inner .btns .btn::before {
        content: '';
        display: block;
        width: 100%;
        height: 2rem;
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: contain; }
        @media (max-width: 768px) {
          .gnav-inner .btns .btn::before {
            height: 8.5333333333vw; } }
      .gnav-inner .btns .btn::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 0.875rem;
        width: 1.125rem;
        height: 1.125rem;
        background: url("../images/btn_arrow.svg") no-repeat 50% 50%;
        background-size: contain;
        transform: translateY(-50%);
        transition: .3s; }
        @media (max-width: 768px) {
          .gnav-inner .btns .btn::after {
            right: 3.7333333333vw;
            width: 4.8vw;
            height: 4.8vw; } }
      .gnav-inner .btns .btn.basic {
        background: #2ea7e0;
        box-shadow: 0 0.375rem 0 #187dac; }
        @media (max-width: 768px) {
          .gnav-inner .btns .btn.basic {
            box-shadow: 0 1.3333333333vw 0 #187dac; } }
        .gnav-inner .btns .btn.basic::before {
          background-image: url("../images/product_logo.svg"); }
      .gnav-inner .btns .btn.light {
        background: #e60012;
        box-shadow: 0 0.375rem 0 #bd050f; }
        @media (max-width: 768px) {
          .gnav-inner .btns .btn.light {
            box-shadow: 0 1.3333333333vw 0 #bd050f; } }
        .gnav-inner .btns .btn.light::before {
          background-image: url("../images/product_logo_light.svg"); }

.footer {
  background-color: var(--wh);
  padding-bottom: 7.5rem; }
  .footer .no1 .notes {
    padding: 0.625rem 0;
    font-size: 0.875rem;
    text-align: center;
    background-color: #e3e1e2; }
    @media (max-width: 768px) {
      .footer .no1 .notes {
        padding: 2vw 5.3333333333vw;
        font-size: 2.4vw;
        text-align: left; } }
  @media (max-width: 768px) {
    .footer .greeting {
      background: var(--wh); } }
  .footer .greeting h2 {
    background: linear-gradient(90deg, #eee 50%, #fff 51%); }
    @media (max-width: 768px) {
      .footer .greeting h2 {
        background: url("../images/greeting_bg_sp.png") left top/100% auto repeat-y;
        padding-top: 13.3333333333vw; } }
  .footer .greeting .text {
    display: flex;
    flex-direction: column;
    gap: 1.875rem;
    width: 100%;
    max-width: 56.25rem;
    margin: 0 auto;
    padding: 4.375rem 0; }
    @media (max-width: 768px) {
      .footer .greeting .text {
        gap: 4vw;
        max-width: none;
        padding: 5.3333333333vw 4vw 6.6666666667vw; } }
    .footer .greeting .text p {
      font-family: 'Noto Serif JP', serif;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: .05em;
      line-height: 1.7; }
      @media (max-width: 768px) {
        .footer .greeting .text p {
          font-size: 3.4666666667vw; } }
  .footer .menu {
    background-color: var(--bk05);
    padding: 0.875rem 0;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-feature-settings: "palt"; }
    @media (max-width: 768px) {
      .footer .menu {
        padding: 4vw 0; } }
    .footer .menu .inner {
      gap: 0.625rem; }
      @media (max-width: 768px) {
        .footer .menu .inner {
          gap: 2.6666666667vw; } }
      .footer .menu .inner ul {
        display: flex;
        justify-content: center;
        align-items: center; }
        @media (max-width: 768px) {
          .footer .menu .inner ul {
            flex-direction: column;
            gap: 1.3333333333vw; } }
        .footer .menu .inner ul li {
          padding: 0 1.25rem;
          font-size: 0.9375rem;
          line-height: 1.5; }
          @media (max-width: 768px) {
            .footer .menu .inner ul li {
              padding: 0;
              font-size: 4vw; } }
          .footer .menu .inner ul li + li {
            border-left: 2px solid var(--bk60); }
            @media (max-width: 768px) {
              .footer .menu .inner ul li + li {
                border-left: 0 none; } }
          .footer .menu .inner ul li a {
            color: var(--bk60); }
      .footer .menu .inner .info {
        color: var(--bk60);
        font-size: 0.75rem;
        line-height: 1.5; }
        @media (max-width: 768px) {
          .footer .menu .inner .info {
            font-size: 3.2vw;
            text-align: center; } }
        .footer .menu .inner .info::before {
          content: "※"; }
  .footer .lower {
    padding: 1.25rem 0; }
    @media (max-width: 768px) {
      .footer .lower {
        padding: 5.3333333333vw 4vw; } }
    .footer .lower .inner {
      gap: 1.25rem;
      max-width: 53.75rem; }
      @media (max-width: 768px) {
        .footer .lower .inner {
          gap: 2.6666666667vw;
          max-width: none; } }
    .footer .lower .comment {
      padding-left: 1.01em;
      text-indent: -1.01em;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 0.875rem;
      font-weight: 400;
      font-feature-settings: "palt";
      line-height: 1.7; }
      @media (max-width: 768px) {
        .footer .lower .comment {
          font-size: 2.6666666667vw; } }
      .footer .lower .comment::before {
        content: "※"; }
    .footer .lower .number {
      align-self: flex-end;
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 0.875rem;
      font-weight: 400;
      font-feature-settings: "palt";
      line-height: 1.7;
      text-align: right; }
      @media (max-width: 768px) {
        .footer .lower .number {
          font-size: 2.6666666667vw; } }
  .footer .copy {
    padding: 1.25rem 0 2.5rem; }
    @media (max-width: 768px) {
      .footer .copy {
        padding: 0 0 5.3333333333vw; } }
    .footer .copy p {
      font-size: 0.875rem;
      font-family: 'Noto Sans JP', sans-serif;
      font-weight: 400;
      font-feature-settings: "palt";
      line-height: 1.7;
      text-align: center; }
      @media (max-width: 768px) {
        .footer .copy p {
          font-size: 2.6666666667vw; } }

.floating {
  position: fixed;
  bottom: 0;
  left: calc(50% - 34.375rem);
  display: none;
  width: 100%;
  max-width: 68.75rem;
  z-index: 98; }
  @media (max-width: 768px) {
    .floating {
      max-width: none; } }
  .floating p {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0.5rem 0.5rem 0.3125rem;
    font-size: 1.25rem;
    font-weight: 700;
    text-align: center;
    background-color: #ffff00;
    transform: rotateZ(0.03deg); }
    @media (max-width: 768px) {
      .floating p {
        padding: 1.0666666667vw 1.0666666667vw 0.2666666667vw;
        font-size: 3.4666666667vw; } }
    .floating p strong {
      margin-bottom: .125em;
      font-size: 1.5em; }
  .floating .floating_cvr {
    display: flex;
    justify-content: center;
    align-items: center; }
    .floating .floating_cvr .btn {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 1rem;
      width: 50%;
      height: 4.6875rem;
      border-bottom-width: 0.625rem;
      border-style: solid;
      text-decoration: none; }
      @media (max-width: 768px) {
        .floating .floating_cvr .btn {
          gap: 2.1333333333vw;
          height: 17.3333333333vw;
          padding-top: 0.5333333333vw;
          border-bottom-width: 1.6vw; } }
      @media (any-hover: hover) {
        .floating .floating_cvr .btn:hover {
          opacity: .8; }
          .floating .floating_cvr .btn:hover::after {
            right: 1.0625rem; } }
      .floating .floating_cvr .btn::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 1.375rem;
        width: 1.75rem;
        height: 1.75rem;
        background: url("../images/btn_arrow.svg") no-repeat 50% 50%;
        background-size: contain;
        transform: translateY(-50%);
        transition: .3s; }
        @media (max-width: 768px) {
          .floating .floating_cvr .btn::after {
            display: none; } }
      .floating .floating_cvr .btn span {
        display: none; }
        @media (max-width: 768px) {
          .floating .floating_cvr .btn span {
            display: block;
            color: var(--wh);
            font-size: 3.2vw;
            font-weight: 700;
            transform: rotateZ(0.03deg); } }
      .floating .floating_cvr .btn img {
        height: 2.5rem;
        width: auto; }
        @media (max-width: 768px) {
          .floating .floating_cvr .btn img {
            height: 6.6666666667vw; } }
      .floating .floating_cvr .btn.basic {
        background: #2ea7e0;
        border-color: #187dac; }
      .floating .floating_cvr .btn.light {
        background: #e60012;
        border-color: #bd050f; }

.cvr {
  padding: 5.625rem 0 6.875rem; }
  @media (max-width: 768px) {
    .cvr {
      padding: 2.6666666667vw 4vw 12vw; } }
  .cvr .inner {
    gap: 1.25rem; }
    @media (max-width: 768px) {
      .cvr .inner {
        gap: 1.3333333333vw; } }
  .cvr p {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    font-size: 2.8125rem;
    font-weight: 800;
    text-align: center; }
    @media (max-width: 768px) {
      .cvr p {
        font-size: 6vw; } }
    .cvr p::before, .cvr p::after {
      content: '';
      width: .125em;
      height: 1em;
      border-radius: .25em;
      background-color: var(--bk70); }
    .cvr p::before {
      transform: translateX(-0.35em) rotate(-30deg); }
    .cvr p::after {
      transform: translateX(0.35em) rotate(30deg); }
    .cvr p strong, .cvr p span {
      color: var(--blue); }
    .cvr p strong {
      margin-bottom: .125em;
      color: var(--blue);
      font-size: 1.5em; }
  .cvr ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%; }
    @media (max-width: 768px) {
      .cvr ul {
        flex-direction: column;
        justify-content: flex-start;
        gap: 2.6666666667vw; } }
    .cvr ul .btn {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 1rem;
      width: 33.75rem;
      height: 10rem;
      border-radius: 1.625rem;
      text-decoration: none; }
      @media (max-width: 768px) {
        .cvr ul .btn {
          gap: 2.6666666667vw;
          width: 92vw;
          height: 26.6666666667vw;
          border-radius: 4.2666666667vw; } }
      @media (any-hover: hover) {
        .cvr ul .btn:hover {
          opacity: .8; }
          .cvr ul .btn:hover::after {
            right: 1.0625rem; } }
      .cvr ul .btn::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 1.375rem;
        width: 1.75rem;
        height: 1.75rem;
        background: url("../images/btn_arrow.svg") no-repeat 50% 50%;
        background-size: contain;
        transform: translateY(-50%);
        transition: .3s; }
        @media (max-width: 768px) {
          .cvr ul .btn::after {
            right: 3.7333333333vw;
            width: 4.5333333333vw;
            height: 4.5333333333vw; } }
      .cvr ul .btn span {
        color: var(--wh);
        font-size: 1.5rem;
        font-weight: 700;
        transform: rotateZ(0.03deg); }
        @media (max-width: 768px) {
          .cvr ul .btn span {
            font-size: 4vw; } }
      .cvr ul .btn img {
        height: 3.5rem; }
        @media (max-width: 768px) {
          .cvr ul .btn img {
            height: 9.3333333333vw; } }
      .cvr ul .btn.basic {
        background: #2ea7e0;
        box-shadow: 0 0.625rem 0 #187dac; }
        @media (max-width: 768px) {
          .cvr ul .btn.basic {
            box-shadow: 0 1.3333333333vw 0 #187dac; } }
      .cvr ul .btn.light {
        background: #e60012;
        box-shadow: 0 0.625rem 0 #bd050f; }
        @media (max-width: 768px) {
          .cvr ul .btn.light {
            box-shadow: 0 1.3333333333vw 0 #bd050f; } }

.cvr.cvr02 ul .btn {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  width: 33.75rem;
  height: 10rem;
  border-radius: 1.625rem;
  text-decoration: none;
  padding: 1.25rem 0; }
  @media (max-width: 768px) {
    .cvr.cvr02 ul .btn {
      gap: 1.3333333333vw;
      width: 92vw;
      height: 26.6666666667vw;
      border-radius: 4.2666666667vw;
      padding: 4vw 0; } }
  @media (any-hover: hover) {
    .cvr.cvr02 ul .btn:hover {
      opacity: .8; }
      .cvr.cvr02 ul .btn:hover::after {
        right: 7.8125rem; } }
  @media (any-hover: hover) and (max-width: 768px) {
    .cvr.cvr02 ul .btn:hover {
      right: inherit; } }

  .cvr.cvr02 ul .btn::after {
    content: '';
    position: absolute;
    top: 6.375rem;
    right: 8.125rem;
    width: 1.75rem;
    height: 1.75rem;
    background: url("../images/btn_arrow.svg") no-repeat 50% 50%;
    background-size: contain;
    transform: translateY(0%);
    transition: .3s; }
    @media (max-width: 768px) {
      .cvr.cvr02 ul .btn::after {
        right: 21.3333333333vw;
        top: 17.3333333333vw;
        width: 4.5333333333vw;
        height: 4.5333333333vw; } }
  .cvr.cvr02 ul .btn span {
    color: var(--wh);
    font-size: 1.5rem;
    font-weight: 700;
    transform: rotateZ(0.03deg); }
    @media (max-width: 768px) {
      .cvr.cvr02 ul .btn span {
        font-size: 4vw; } }
  .cvr.cvr02 ul .btn span + span {
    font-size: 1.875rem; }
    @media (max-width: 768px) {
      .cvr.cvr02 ul .btn span + span {
        font-size: 5.3333333333vw; } }
  .cvr.cvr02 ul .btn img {
    height: 3.5rem; }
    @media (max-width: 768px) {
      .cvr.cvr02 ul .btn img {
        height: 9.3333333333vw; } }
  .cvr.cvr02 ul .btn.light {
    background: #e60012;
    box-shadow: 0 0.625rem 0 #bd050f; }
    @media (max-width: 768px) {
      .cvr.cvr02 ul .btn.light {
        box-shadow: 0 1.3333333333vw 0 #bd050f; } }
    .cvr.cvr02 ul .btn.light img {
      height: 3.125rem; }
      @media (max-width: 768px) {
        .cvr.cvr02 ul .btn.light img {
          height: 8vw; } }
    .cvr.cvr02 ul .btn.light span {
      font-size: 1.25rem; }
      @media (max-width: 768px) {
        .cvr.cvr02 ul .btn.light span {
          font-size: 3.3333333333vw; } }
    .cvr.cvr02 ul .btn.light span + span {
      font-size: 1.875rem; }
      @media (max-width: 768px) {
        .cvr.cvr02 ul .btn.light span + span {
          font-size: 5.3333333333vw; } }

.notes {
  color: var(--bk60);
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  font-feature-settings: "palt";
  line-height: 1.5;
  letter-spacing: .05em; }
  @media (max-width: 768px) {
    .notes {
      font-size: 2.4vw; } }

.mv .notes {
  position: absolute;
  bottom: 0;
  left: 3.75rem;
  color: #454545; }
  @media (max-width: 768px) {
    .mv .notes {
      position: relative;
      left: 0;
      margin: 0.5333333333vw 4vw; } }

.pet_tab > .tab-head {
  position: relative;
  border-bottom: 1.375rem solid #02359d; }
  .pet_tab > .tab-head .inner {
    flex-direction: row;
    justify-content: space-between; }
  .pet_tab > .tab-head .tab-btn {
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 33.75rem;
    height: 7.6875rem;
    border-radius: 1.0625rem 1.0625rem 0 0;
    color: var(--wh);
    font-size: 3rem;
    font-weight: 800;
    text-align: center;
    background-color: var(--bk30); }
    @media (max-width: 768px) {
      .pet_tab > .tab-head .tab-btn {
        width: 49.3333333333vw;
        height: 20vw;
        border-radius: 2.2666666667vw 2.2666666667vw 0 0;
        font-size: 6.4vw; } }
    .pet_tab > .tab-head .tab-btn.active {
      background-color: #3061c5;
      box-shadow: inset -0.625rem 0 0 #02359d; }
    .pet_tab > .tab-head .tab-btn strong {
      font-size: 1.35em; }
    @media (max-width: 768px) {
      .pet_tab > .tab-head .tab-btn small {
        font-size: .75em; } }

.worries {
  position: relative;
  z-index: 50;
  /*overflow-x: clip;*/
  padding: 4.375rem 0;
  background-color: var(--bg);
  filter: drop-shadow(0 0.8125rem 2rem var(--bk20)); }
  @media (max-width: 768px) {
    .worries {
      padding: 6.6666666667vw 0 9.3333333333vw;
      filter: drop-shadow(0 1.7333333333vw 4.2666666667vw var(--bk20)); } }
  .worries::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 50%;
    width: 120rem;
    height: 12.5rem;
    background-color: var(--bg);
    clip-path: polygon(0 0, 100% 0, 100% 1.25rem, 50% 100%, 0 1.25rem);
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .worries::after {
        top: calc(100% - 1.3333vw);
        width: 100vw;
        height: 13.3333333333vw;
        clip-path: polygon(0 0, 100% 0, 100% 1.3333333333vw, 50% 100%, 0 1.3333333333vw); } }
  .worries .worries_ttl {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    margin-bottom: 4.375rem; }
    @media (max-width: 768px) {
      .worries .worries_ttl {
        flex-direction: column;
        align-items: center;
        gap: 1.3333333333vw;
        margin-bottom: 5.3333333333vw; } }
    .worries .worries_ttl span {
      font-size: 3.75rem;
      font-weight: 800; }
      @media (max-width: 768px) {
        .worries .worries_ttl span {
          font-size: 8vw; } }
      .worries .worries_ttl span em {
        font-size: 1.3em; }
      .worries .worries_ttl span strong {
        color: var(--blue); }
  .worries .know_ttl {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 1.25rem;
    margin-top: 1.875rem; }
    @media (max-width: 768px) {
      .worries .know_ttl {
        row-gap: 2.6666666667vw;
        margin-top: 4vw; } }
    .worries .know_ttl::before {
      content: '';
      position: absolute;
      bottom: calc(100% + 1.25rem);
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: contain; }
      @media (max-width: 768px) {
        .worries .know_ttl::before {
          bottom: calc(100% + 1.0666vw); } }
    .worries .know_ttl span {
      font-weight: 800; }
      .worries .know_ttl span:nth-child(1) {
        font-size: 4.375rem; }
        @media (max-width: 768px) {
          .worries .know_ttl span:nth-child(1) {
            font-size: 8vw; } }
      .worries .know_ttl span:nth-child(2) {
        font-size: 4.375rem; }
        @media (max-width: 768px) {
          .worries .know_ttl span:nth-child(2) {
            font-size: 9.3333333333vw; } }
      .worries .know_ttl span:nth-child(3) {
        font-size: 5rem; }
        @media (max-width: 768px) {
          .worries .know_ttl span:nth-child(3) {
            font-size: 10.6666666667vw; } }
      .worries .know_ttl span strong {
        color: var(--blue); }
  .worries .tab-body-cat .know_ttl::before {
    left: 0.625rem;
    width: 16rem;
    height: 5.6875rem;
    background-image: url("../images/know_ttl_cat.png"); }
    @media (max-width: 768px) {
      .worries .tab-body-cat .know_ttl::before {
        left: 5.3333333333vw;
        width: 34.1333333333vw;
        height: 12.1333333333vw; } }
  .worries .tab-body-dog .know_ttl::before {
    left: 0.625rem;
    width: 11.5625rem;
    height: 5.25rem;
    background-image: url("../images/know_ttl_dog.png"); }
    @media (max-width: 768px) {
      .worries .tab-body-dog .know_ttl::before {
        left: 8.6666666667vw;
        width: 24.6666666667vw;
        height: 11.2vw; } }
  .worries .ranking {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.875rem;
    margin-top: 2.5rem;
    background-color: var(--wh); }
    @media (max-width: 768px) {
      .worries .ranking {
        gap: 4vw;
        width: 92vw;
        margin: 5.3333333333vw auto 0; } }
    .worries .ranking ul {
      width: 43.125rem; }
      @media (max-width: 768px) {
        .worries .ranking ul {
          width: 72vw; } }
      .worries .ranking ul li {
        display: flex;
        align-items: flex-end;
        padding: 0.9375rem 0 0.9375rem 4.375rem;
        border-bottom: 2px solid var(--bk65);
        font-weight: 800; }
        @media (max-width: 768px) {
          .worries .ranking ul li {
            padding: 2vw 0 2vw 3.3333333333vw; } }
        .worries .ranking ul li .num {
          margin-right: 1.875rem;
          font-size: 3rem;
          line-height: 1.3;
          transform: rotateZ(0.03deg); }
          @media (max-width: 768px) {
            .worries .ranking ul li .num {
              margin-right: 4vw;
              font-size: 5.3333333333vw; } }
        .worries .ranking ul li .item {
          padding: 0 .1em;
          font-size: 3rem;
          line-height: 1.3;
          background: linear-gradient(transparent 60%, #fff100 0);
          transform: rotateZ(0.03deg); }
          @media (max-width: 768px) {
            .worries .ranking ul li .item {
              font-size: 5.3333333333vw; } }
        .worries .ranking ul li small {
          font-size: 2.25rem;
          line-height: 1.5;
          transform: rotateZ(0.03deg); }
          @media (max-width: 768px) {
            .worries .ranking ul li small {
              font-size: 4vw; } }
    .worries .ranking .notes {
      padding: 0 2.5rem 2.5rem; }
      @media (max-width: 768px) {
        .worries .ranking .notes {
          padding: 0 5.3333333333vw 3.3333333333vw; } }

.strengths {
  position: relative;
  z-index: 49;
  padding: 17.5rem 0 4.375rem;
  background-color: var(--wh); }
  @media (max-width: 768px) {
    .strengths {
      padding: 18.6666666667vw 0 5.3333333333vw; } }
  .strengths .inner {
    gap: 4.375rem;
    max-width: 62.5rem; }
    @media (max-width: 768px) {
      .strengths .inner {
        gap: 8vw;
        max-width: none; } }
  .strengths .cover {
    display: flex;
    flex-direction: column;
    gap: 2.5rem; }
    @media (max-width: 768px) {
      .strengths .cover {
        gap: 2.6666666667vw;
        padding: 0 4vw; } }
    .strengths .cover .cover_ttl {
      position: relative;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      row-gap: 1.25rem;
      font-weight: 800; }
      @media (max-width: 768px) {
        .strengths .cover .cover_ttl {
          flex-direction: column;
          row-gap: 3.3333333333vw;
          padding: 5.3333333333vw 0; } }
      .strengths .cover .cover_ttl::before, .strengths .cover .cover_ttl::after {
        content: '';
        position: absolute;
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain; }
      .strengths .cover .cover_ttl::before {
        bottom: 2.8125rem;
        left: 3.5rem;
        width: 4.75rem;
        height: 5.625rem;
        background-image: url("../images/kira01.svg"); }
        @media (max-width: 768px) {
          .strengths .cover .cover_ttl::before {
            bottom: 0;
            left: 2vw;
            width: 10.1333333333vw;
            height: 12vw; } }
      .strengths .cover .cover_ttl::after {
        top: 5.9375rem;
        right: 2rem;
        width: 7rem;
        height: 6.875rem;
        background-image: url("../images/kira02.svg"); }
        @media (max-width: 768px) {
          .strengths .cover .cover_ttl::after {
            top: 0;
            right: 1.6vw;
            width: 14.9333333333vw;
            height: 14.6666666667vw; } }
      .strengths .cover .cover_ttl span {
        font-size: 3.25rem; }
        @media (max-width: 768px) {
          .strengths .cover .cover_ttl span {
            font-size: 6.9333333333vw; } }
      .strengths .cover .cover_ttl strong {
        color: var(--blue);
        font-size: 5rem; }
        @media (max-width: 768px) {
          .strengths .cover .cover_ttl strong {
            font-size: 9.3333333333vw; } }
  .strengths .no1 {
    display: flex;
    flex-direction: column;
    gap: 2.5rem; }
    @media (max-width: 768px) {
      .strengths .no1 {
        gap: 2.6666666667vw;
        padding: 0 4vw; } }
    .strengths .no1 .no1_ttl {
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 800; }
      .strengths .no1 .no1_ttl::before, .strengths .no1 .no1_ttl::after {
        content: '';
        width: 5.625rem;
        height: 11.875rem;
        background: url("../images/laurel.svg") no-repeat 50% 50%;
        background-size: contain; }
        @media (max-width: 768px) {
          .strengths .no1 .no1_ttl::before, .strengths .no1 .no1_ttl::after {
            width: 12vw;
            height: 25.3333333333vw; } }
      @media (max-width: 768px) {
        .strengths .no1 .no1_ttl::before {
          transform: translateX(0%); } }
      .strengths .no1 .no1_ttl::after {
        transform: scale(-1, 1); }
        @media (max-width: 768px) {
          .strengths .no1 .no1_ttl::after {
            transform: translateX(0%) scale(-1, 1); } }
      .strengths .no1 .no1_ttl span {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.625rem;
        padding: 0 2.5rem; }
        @media (max-width: 768px) {
          .strengths .no1 .no1_ttl span {
            gap: 1.3333333333vw;
            padding: 0 2.6666666667vw; } }
        .strengths .no1 .no1_ttl span em {
          font-size: 3.5625rem;
          letter-spacing: 0.145em; }
          @media (max-width: 768px) {
            .strengths .no1 .no1_ttl span em {
              font-size: 7.6vw;
              letter-spacing: 0.185em; } }
        .strengths .no1 .no1_ttl span strong {
          color: var(--red);
          font-size: 9.1875rem; }
          @media (max-width: 768px) {
            .strengths .no1 .no1_ttl span strong {
              font-size: 19.6vw; } }
    .strengths .no1 h3 {
      font-size: 3.25rem;
      line-height: 1;
      font-weight: 800;
      padding-top: 2.5rem; }
      @media (max-width: 768px) {
        .strengths .no1 h3 {
          font-size: 6.9333333333vw;
          line-height: 1.4;
          font-weight: 800;
          padding-top: 9.3333333333vw; } }
    .strengths .no1 .notes {
      display: flex;
      flex-wrap: wrap;
      column-gap: 1.25rem; }
      @media (max-width: 768px) {
        .strengths .no1 .notes {
          flex-direction: column;
          column-gap: 0; } }
      .strengths .no1 .notes li {
        color: var(--bk60);
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.125rem;
        font-weight: 400;
        font-feature-settings: "palt";
        line-height: 1.5;
        letter-spacing: .05em; }
        @media (max-width: 768px) {
          .strengths .no1 .notes li {
            font-size: 2.4vw; } }

.reason {
  position: relative;
  z-index: 48;
  /*overflow-x: clip;*/
  padding: 4.375rem 0;
  background-color: var(--wh);
  filter: drop-shadow(0 0.8125rem 2rem var(--bk20)); }
  @media (max-width: 768px) {
    .reason {
      padding: 6.6666666667vw 0 9.3333333333vw;
      filter: drop-shadow(0 1.7333333333vw 4.2666666667vw var(--bk20)); } }
  .reason::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 50%;
    width: 120rem;
    height: 12.5rem;
    background-color: var(--wh);
    clip-path: polygon(0 0, 100% 0, 100% 1.25rem, 50% 100%, 0 1.25rem);
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .reason::after {
        top: calc(100% - 1.3333vw);
        width: 100vw;
        height: 13.3333333333vw;
        clip-path: polygon(0 0, 100% 0, 100% 1.3333333333vw, 50% 100%, 0 1.3333333333vw); } }
  .reason .inner {
    gap: 3.75rem; }
    @media (max-width: 768px) {
      .reason .inner {
        gap: 8vw; } }
  .reason .reason_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 3.375rem;
    font-weight: 800; }
    @media (max-width: 768px) {
      .reason .reason_ttl {
        font-size: 6.6666666667vw; } }
  .reason .panels {
    display: flex;
    flex-direction: column;
    gap: 4.375rem;
    width: 68.75rem; }
    @media (max-width: 768px) {
      .reason .panels {
        gap: 6.6666666667vw;
        width: 92vw; } }
    .reason .panels .panel .subject {
      position: relative;
      padding: 1.25rem;
      border: 0.1875rem solid #f0ead6;
      border-radius: 1.25rem 1.25rem 0 0;
      font-size: 2.25rem;
      font-weight: 800;
      text-align: center;
      background-color: #f0ead6;
      transform: rotateZ(0.03deg); }
      @media (max-width: 768px) {
        .reason .panels .panel .subject {
          padding: 2.6666666667vw;
          border-width: 0.4vw;
          border-radius: 2.6666666667vw 2.6666666667vw 0 0;
          font-size: 4.8vw; } }
      .reason .panels .panel .subject::before {
        content: '';
        position: absolute;
        top: -2rem;
        left: 0.9375rem;
        width: 7.25rem;
        height: 4.25rem;
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain; }
        @media (max-width: 768px) {
          .reason .panels .panel .subject::before {
            top: -4.4vw;
            left: -1.7333333333vw;
            width: 15.4666666667vw;
            height: 9.0666666667vw; } }
    .reason .panels .panel .detail {
      position: relative;
      padding: 2.5rem 3.75rem;
      border: 0.1875rem solid #f0ead6;
      border-radius: 0 0 1.25rem 1.25rem;
      background-color: var(--bg); }
      @media (max-width: 768px) {
        .reason .panels .panel .detail {
          padding: 5.3333333333vw 4vw;
          border-width: 0.4vw;
          border-radius: 0 0 2.6666666667vw 2.6666666667vw; } }
      .reason .panels .panel .detail::after {
        content: '';
        position: absolute;
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: contain; }
      .reason .panels .panel .detail p {
        font-size: 1.625rem;
        font-weight: 500;
        line-height: 1.5;
        transform: rotateZ(0.03deg); }
        @media (max-width: 768px) {
          .reason .panels .panel .detail p {
            font-size: 3.4666666667vw; } }
        .reason .panels .panel .detail p strong {
          font-size: 1.1em;
          font-weight: 700;
          background: linear-gradient(transparent 60%, #fff100 0);
          transform: rotateZ(0.03deg); }
        .reason .panels .panel .detail p sup {
          margin-left: -1em; }
  .reason .tab-body-cat .panels .panel:nth-child(1) .detail::after {
    top: 0.75rem;
    right: 4.25rem;
    width: 8.625rem;
    height: 13.125rem;
    background-image: url("../images/reason_fig01_cat.svg"); }
    @media (max-width: 768px) {
      .reason .tab-body-cat .panels .panel:nth-child(1) .detail::after {
        top: 4.6666666667vw;
        right: 3.4666666667vw;
        width: 17.3333333333vw;
        height: 26.1333333333vw; } }
  .reason .tab-body-cat .panels .panel:nth-child(2) .detail::after {
    top: 1.0625rem;
    right: 1.625rem;
    width: 13.375rem;
    height: 9.875rem;
    background-image: url("../images/reason_fig02_cat.svg"); }
    @media (max-width: 768px) {
      .reason .tab-body-cat .panels .panel:nth-child(2) .detail::after {
        top: 9.8666666667vw;
        right: 2.1333333333vw;
        width: 34.5333333333vw;
        height: 25.3333333333vw; } }
  .reason .tab-body-cat .panels .panel:nth-child(3) .detail::after {
    top: 1.875rem;
    right: 3.75rem;
    width: 11.75rem;
    height: 8.375rem;
    background-image: url("../images/reason_fig03_cat.svg"); }
    @media (max-width: 768px) {
      .reason .tab-body-cat .panels .panel:nth-child(3) .detail::after {
        top: 10.5333333333vw;
        right: 6.4vw;
        width: 27.2vw;
        height: 19.4666666667vw; } }
  .reason .tab-body-cat .subject::before {
    background-image: url("../images/footprints_cat.svg"); }
  .reason .tab-body-dog .panels .panel:nth-child(1) .detail::after {
    top: 1rem;
    right: 4.0625rem;
    width: 9rem;
    height: 12.75rem;
    background-image: url("../images/reason_fig01_dog.svg"); }
    @media (max-width: 768px) {
      .reason .tab-body-dog .panels .panel:nth-child(1) .detail::after {
        top: 4.4vw;
        right: 3.6vw;
        width: 17.0666666667vw;
        height: 24vw; } }
  .reason .tab-body-dog .panels .panel:nth-child(2) .detail::after {
    top: 0.8125rem;
    right: 0.5625rem;
    width: 13.625rem;
    height: 10.125rem;
    background-image: url("../images/reason_fig02_dog.svg"); }
    @media (max-width: 768px) {
      .reason .tab-body-dog .panels .panel:nth-child(2) .detail::after {
        top: 8.8vw;
        right: 1.7333333333vw;
        width: 33.8666666667vw;
        height: 25.0666666667vw; } }
  .reason .tab-body-dog .panels .panel:nth-child(3) .detail::after {
    top: 0.75rem;
    right: 1.875rem;
    width: 13.625rem;
    height: 10.25rem;
    background-image: url("../images/reason_fig03_dog.svg"); }
    @media (max-width: 768px) {
      .reason .tab-body-dog .panels .panel:nth-child(3) .detail::after {
        top: 7.4666666667vw;
        right: 4.5333333333vw;
        width: 30.9333333333vw;
        height: 23.2vw; } }
  .reason .tab-body-dog .panels .panel .subject::before {
    background-image: url("../images/footprints_dog.svg"); }
  @media (max-width: 768px) {
    .reason .notes {
      padding: 0 4vw; } }
  .reason .cvr {
    padding: 5.625rem 0 3.125rem; }
    @media (max-width: 768px) {
      .reason .cvr {
        padding: 9.3333333333vw 4vw 12vw; } }
    .reason .cvr .inner {
      gap: 1.25rem; }
      @media (max-width: 768px) {
        .reason .cvr .inner {
          gap: 1.3333333333vw; } }
    .reason .cvr p strong {
      font-size: 1.5em; }
      @media (max-width: 768px) {
        .reason .cvr p strong {
          font-size: 1.75em;
          margin-bottom: .15em; } }
    @media (max-width: 768px) {
      .reason .cvr p.cpt01 {
        font-size: 4vw;
        font-feature-settings: "palt"; } }
    .reason .cvr p.cpt02 {
      font-size: 3.375rem; }
      @media (max-width: 768px) {
        .reason .cvr p.cpt02 {
          font-size: 6vw; } }
      .reason .cvr p.cpt02 strong {
        font-size: 1.5em; }

.card {
  position: relative;
  z-index: 47;
  padding: 17.5rem 0 3.125rem;
  background-color: var(--bg); }
  @media (max-width: 768px) {
    .card {
      padding: 18.6666666667vw 0 5.3333333333vw; } }
  .card .inner {
    gap: 1.875rem; }
    @media (max-width: 768px) {
      .card .inner {
        gap: 5.3333333333vw; } }
  .card .card_ttl {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    row-gap: 1.25rem;
    font-weight: 800; }
    @media (max-width: 768px) {
      .card .card_ttl {
        row-gap: 2.6666666667vw;
        padding: 5.3333333333vw 0 2.6666666667vw; } }
    .card .card_ttl::before, .card .card_ttl::after {
      content: '';
      position: absolute;
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: contain; }
    .card .card_ttl::before {
      bottom: -0.9375rem;
      left: 5.625rem;
      width: 3.75rem;
      height: 4.375rem;
      background-image: url("../images/kira01.svg"); }
      @media (max-width: 768px) {
        .card .card_ttl::before {
          bottom: -1.3333333333vw;
          left: 1.2vw;
          width: 6.1333333333vw;
          height: 7.2vw; } }
    .card .card_ttl::after {
      top: -1.25rem;
      right: 5.4375rem;
      width: 7rem;
      height: 6.875rem;
      background-image: url("../images/kira02.svg");
      transform: scale(-1, 1); }
      @media (max-width: 768px) {
        .card .card_ttl::after {
          top: -5.3333333333vw;
          right: 1.0666666667vw;
          width: 14.9333333333vw;
          height: 14.6666666667vw; } }
    .card .card_ttl span {
      font-size: 4rem; }
      @media (max-width: 768px) {
        .card .card_ttl span {
          font-size: 8.5333333333vw; } }
      .card .card_ttl span:nth-child(1) {
        flex-basis: 100%;
        text-align: center; }
    .card .card_ttl strong {
      color: var(--blue);
      font-size: 5rem; }
      @media (max-width: 768px) {
        .card .card_ttl strong {
          font-size: 9.3333333333vw; } }
  .card .attention {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.9375rem; }
    @media (max-width: 768px) {
      .card .attention {
        gap: 2vw;
        padding: 0 4vw; } }
    .card .attention::before {
      content: '';
      width: 3.5rem;
      height: 3.5rem;
      background: url("../images/icon_attention.svg") no-repeat 0 0;
      background-size: contain; }
      @media (max-width: 768px) {
        .card .attention::before {
          width: 7.4666666667vw;
          height: 7.4666666667vw; } }
    .card .attention p {
      color: var(--bk75);
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 1.375rem;
      font-weight: 700;
      font-feature-settings: "palt";
      line-height: 1.5;
      letter-spacing: .05em; }
      @media (max-width: 768px) {
        .card .attention p {
          font-size: 2.6666666667vw; } }

.products {
  position: relative;
  z-index: 46;
  /*overflow-x: clip;*/
  padding: 4.375rem 0;
  background-color: var(--bg);
  filter: drop-shadow(0 0.8125rem 2rem var(--bk20)); }
  @media (max-width: 768px) {
    .products {
      padding: 6.6666666667vw 0 9.3333333333vw;
      background-color: #f0ead6;
      filter: drop-shadow(0 1.7333333333vw 4.2666666667vw var(--bk20)); } }
  .products::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 50%;
    width: 120rem;
    height: 12.5rem;
    background-color: var(--bg);
    clip-path: polygon(0 0, 100% 0, 100% 1.25rem, 50% 100%, 0 1.25rem);
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .products::after {
        top: calc(100% - 1.3333vw);
        width: 100vw;
        height: 13.3333333333vw;
        background-color: #f0ead6;
        clip-path: polygon(0 0, 100% 0, 100% 1.3333333333vw, 50% 100%, 0 1.3333333333vw); } }
  .products .inner {
    max-width: 60rem;
    background-color: #f0ead6;
    padding: 0 0 4.5rem; }
    @media (max-width: 768px) {
      .products .inner {
        max-width: 100%;
        padding: 0; } }
  .products .products_ttl {
    position: relative;
    background-color: #fff;
    padding: 1.125rem 0; }
    @media (max-width: 768px) {
      .products .products_ttl {
        padding: 6.1333333333vw 0 3.4666666667vw; } }
    .products .products_ttl img {
      width: 648px;
      margin: 0 auto;
      display: block; }
      @media (max-width: 768px) {
        .products .products_ttl img {
          width: 100%; } }
  .products .products_item {
    display: flex; }
  .products .products_plan {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 2.75rem 0 0; }
    @media (max-width: 768px) {
      .products .products_plan {
        padding: 6.9333333333vw 0 0; } }
    .products .products_plan dl {
      border: #2da7e0 solid 3px;
      margin: 0 0.625rem 2.5rem; }
      @media (max-width: 768px) {
        .products .products_plan dl {
          border-width: 0;
          background: #2da7e0;
          width: 84vw;
          padding: 0.2666666667vw;
          margin: 0 auto 6.6666666667vw; } }
      .products .products_plan dl.plan50 {
        border-color: #0095f4; }
        @media (max-width: 768px) {
          .products .products_plan dl.plan50 {
            width: 100%;
            padding: 4.2666666667vw 8.2666666667vw;
            background: url("../images/products_plan50_bg01_sp.png") left top/100% auto no-repeat, url("../images/products_plan50_bg02_sp.png") left bottom/100% auto no-repeat; } }
      .products .products_plan dl.plan90 {
        border-color: #e60012; }
        @media (max-width: 768px) {
          .products .products_plan dl.plan90 {
            background-color: #e60012; } }
      .products .products_plan dl dt {
        position: relative; }
        .products .products_plan dl dt p.atte {
          font-size: 0.721875rem;
          line-height: 1.3;
          text-align: center;
          position: absolute;
          left: 0;
          bottom: 0.625rem;
          width: 100%; }
          @media (max-width: 768px) {
            .products .products_plan dl dt p.atte {
              font-size: 2.3066666667vw;
              bottom: 1.7333333333vw; } }
      .products .products_plan dl .accordion-head {
        font-size: 1.4375rem;
        letter-spacing: 0.1em;
        font-weight: 800;
        background-color: #d8cdaa;
        padding: 0.625rem 0;
        text-align: center;
        cursor: pointer;
        position: relative; }
        @media (max-width: 768px) {
          .products .products_plan dl .accordion-head {
            font-size: 4.6666666667vw;
            letter-spacing: 0.125em;
            padding: 2vw 0; } }
        .products .products_plan dl .accordion-head::after {
          content: "";
          background: url("../images/products_ac_arrow.svg") left top/100% auto no-repeat;
          width: 1.5625rem;
          aspect-ratio: 25/15;
          position: absolute;
          right: 1.3125rem;
          top: 50%;
          margin-top: -0.46875rem;
          transition: .3s;
          transform: rotate(-180deg); }
          @media (max-width: 768px) {
            .products .products_plan dl .accordion-head::after {
              width: 5.0666666667vw;
              right: 4vw;
              margin-top: -1.4666666667vw; } }
        .products .products_plan dl .accordion-head.open::after {
          transform: rotate(0deg); }
      .products .products_plan dl .accordion-body {
        display: none; }
  .products .products_setdiscount {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.25rem 0 0;
    margin-bottom: 5rem; }
    @media (max-width: 768px) {
      .products .products_setdiscount {
        padding: 7.3333333333vw 0 0;
        margin-bottom: 10.6666666667vw; } }
    .products .products_setdiscount h3 {
      margin-bottom: 3.4375rem; }
      @media (max-width: 768px) {
        .products .products_setdiscount h3 {
          width: 84.9333333333vw;
          margin: 0 auto 13.3333333333vw; } }
    @media (max-width: 768px) {
      .products .products_setdiscount p {
        width: 86.8vw;
        margin: 0 auto; } }
  .products .products_mustread {
    width: 53.875rem;
    margin: 0 auto;
    background-color: #fff; }
    @media (max-width: 768px) {
      .products .products_mustread {
        width: 94.6666666667vw; } }
    .products .products_mustread dt.accordion-head {
      background-color: #2d2d2d;
      position: relative;
      text-align: center;
      color: #fff;
      font-size: 2rem;
      letter-spacing: 0.025em;
      font-weight: 800;
      padding: 1.25rem;
      cursor: pointer; }
      @media (max-width: 768px) {
        .products .products_mustread dt.accordion-head {
          font-size: 5.6vw;
          letter-spacing: 0.025em;
          padding: 4vw; } }
      .products .products_mustread dt.accordion-head strong {
        display: block;
        color: #fff000;
        font-size: 1.6875rem;
        letter-spacing: 0.025em;
        margin-top: 0.9375rem; }
        @media (max-width: 768px) {
          .products .products_mustread dt.accordion-head strong {
            font-size: 4.8vw;
            letter-spacing: 0.025em;
            margin-top: 2.4vw; } }
      .products .products_mustread dt.accordion-head::before, .products .products_mustread dt.accordion-head::after {
        content: "";
        display: block;
        background: #fff;
        width: 1.875rem;
        height: 0.125rem;
        line-height: .1;
        position: absolute;
        right: 1.875rem;
        top: 50%;
        transition: all 0.3s ease; }
        @media (max-width: 768px) {
          .products .products_mustread dt.accordion-head::before, .products .products_mustread dt.accordion-head::after {
            width: 4vw;
            height: 0.2666666667vw;
            right: 2vw; } }
      .products .products_mustread dt.accordion-head::after {
        transform: rotate(-90deg); }
      .products .products_mustread dt.accordion-head.open::after {
        transform: rotate(0deg); }
    .products .products_mustread dd.accordion-body {
      display: none;
      text-align: center;
      padding: 2.5rem 1.9375rem; }
      @media (max-width: 768px) {
        .products .products_mustread dd.accordion-body {
          padding: 6.6666666667vw 0; } }
      .products .products_mustread dd.accordion-body p.lead {
        font-size: 1.0625rem;
        line-height: 1.937;
        text-align: left;
        margin-bottom: 2.5rem; }
        @media (max-width: 768px) {
          .products .products_mustread dd.accordion-body p.lead {
            font-size: 3.4666666667vw;
            line-height: 1.479;
            letter-spacing: 0.025em;
            margin: 0 2.6666666667vw 5.3333333333vw; } }
      .products .products_mustread dd.accordion-body ul.atte {
        background-color: #ededed;
        padding: 1.25rem;
        margin-bottom: 3.875rem;
        text-align: left; }
        @media (max-width: 768px) {
          .products .products_mustread dd.accordion-body ul.atte {
            padding: 2.6666666667vw;
            margin: 0 2.6666666667vw 10.6666666667vw; } }
        .products .products_mustread dd.accordion-body ul.atte li {
          position: relative;
          padding-left: 1.3em;
          font-size: 1rem;
          line-height: 2; }
          @media (max-width: 768px) {
            .products .products_mustread dd.accordion-body ul.atte li {
              font-size: 2.8vw;
              line-height: 1.479;
              letter-spacing: 0.025em; } }
          .products .products_mustread dd.accordion-body ul.atte li::before {
            content: "・";
            position: absolute;
            left: 0;
            top: 0; }
      .products .products_mustread dd.accordion-body h3 {
        margin-bottom: 2.625rem; }
        @media (max-width: 768px) {
          .products .products_mustread dd.accordion-body h3 {
            margin-bottom: 7.3333333333vw; } }

.claim {
  position: relative;
  z-index: 45;
  overflow-x: clip;
  padding: 17.5rem 0 4.375rem;
  background-color: var(--wh);
  filter: drop-shadow(0 0.8125rem 2rem var(--bk20)); }
  @media (max-width: 768px) {
    .claim {
      padding: 18.6666666667vw 0 5.3333333333vw;
      filter: drop-shadow(0 1.7333333333vw 4.2666666667vw var(--bk20)); } }
  .claim::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 50%;
    width: 120rem;
    height: 12.5rem;
    background-color: var(--wh);
    clip-path: polygon(0 0, 100% 0, 100% 1.25rem, 50% 100%, 0 1.25rem);
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .claim::after {
        top: calc(100% - 1.3333vw);
        width: 100vw;
        height: 13.3333333333vw;
        clip-path: polygon(0 0, 100% 0, 100% 1.3333333333vw, 50% 100%, 0 1.3333333333vw); } }
  .claim .claim_ttl {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.25rem;
    font-weight: 800; }
    @media (max-width: 768px) {
      .claim .claim_ttl {
        gap: 3.3333333333vw; } }
    .claim .claim_ttl em {
      display: flex;
      justify-content: center;
      align-items: flex-end;
      color: var(--blue);
      font-size: 3.0625rem; }
      @media (max-width: 768px) {
        .claim .claim_ttl em {
          font-size: 6.5333333333vw; } }
      .claim .claim_ttl em::before, .claim .claim_ttl em::after {
        content: '';
        width: .125em;
        height: .75em;
        border-radius: .25em;
        background-color: var(--blue); }
      .claim .claim_ttl em::before {
        transform: translateX(-0.35em) rotate(-30deg); }
      .claim .claim_ttl em::after {
        transform: translateX(0.35em) rotate(30deg); }
    .claim .claim_ttl span {
      font-size: 4rem; }
      @media (max-width: 768px) {
        .claim .claim_ttl span {
          font-size: 8vw; } }
    .claim .claim_ttl strong {
      color: var(--blue);
      font-size: 5.625rem; }
      @media (max-width: 768px) {
        .claim .claim_ttl strong {
          font-size: 10.6666666667vw; } }
  .claim .pic {
    margin-top: 3.125rem; }
    @media (max-width: 768px) {
      .claim .pic {
        margin-top: 6vw;
        padding: 0 4vw; } }
    .claim .pic img {
      border-radius: 1.25rem; }
      @media (max-width: 768px) {
        .claim .pic img {
          border-radius: 2.6666666667vw; } }
  .claim .attention {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.9375rem;
    margin-top: 2.8125rem; }
    @media (max-width: 768px) {
      .claim .attention {
        gap: 2vw;
        margin-top: 6vw;
        padding: 0 4vw; } }
    .claim .attention::before {
      content: '';
      width: 3.5rem;
      height: 3.5rem;
      background: url("../images/icon_attention.svg") no-repeat 0 0;
      background-size: contain; }
      @media (max-width: 768px) {
        .claim .attention::before {
          width: 7.4666666667vw;
          height: 7.4666666667vw; } }
    .claim .attention p {
      color: var(--bk75);
      font-family: 'Noto Sans JP', sans-serif;
      font-size: 1.375rem;
      font-weight: 700;
      font-feature-settings: "palt";
      line-height: 1.5;
      letter-spacing: .05em; }
      @media (max-width: 768px) {
        .claim .attention p {
          font-size: 2.6666666667vw; } }
  .claim .contents {
    margin-top: 4.375rem; }
    @media (max-width: 768px) {
      .claim .contents {
        margin-top: 8vw;
        padding: 0 4vw; } }
    .claim .contents p:nth-child(1) {
      font-size: 2.25rem;
      font-weight: 800;
      text-align: center;
      line-height: 1.4;
      transform: rotateZ(0.03deg); }
      @media (max-width: 768px) {
        .claim .contents p:nth-child(1) {
          font-size: 4.8vw; } }
    .claim .contents p:nth-child(2) {
      margin-top: 3.75rem;
      font-size: 2.75rem;
      font-weight: 800;
      text-align: center;
      line-height: 1.4;
      transform: rotateZ(0.03deg); }
      @media (max-width: 768px) {
        .claim .contents p:nth-child(2) {
          margin-top: 4vw;
          font-size: 5.8666666667vw; } }
    .claim .contents .marker {
      background: linear-gradient(transparent 60%, #ffff00 0); }
    .claim .contents .notes {
      margin-top: 2.5rem; }
      @media (max-width: 768px) {
        .claim .contents .notes {
          margin-top: 4vw; } }
  .claim .comparison {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4.75rem;
    margin-top: 6.25rem; }
    @media (max-width: 768px) {
      .claim .comparison {
        flex-direction: row;
        gap: 3.2vw;
        margin-top: 9.3333333333vw; } }
    .claim .comparison img {
      width: 68.75rem; }
      @media (max-width: 768px) {
        .claim .comparison img {
          width: 44.5333333333vw; } }
  .claim .sticker {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    margin-top: 6.25rem; }
    @media (max-width: 768px) {
      .claim .sticker {
        gap: 4vw;
        margin-top: 9.3333333333vw; } }
    .claim .sticker h4 {
      display: flex;
      justify-content: center;
      align-items: center;
      color: var(--text);
      font-size: 2.8125rem;
      font-weight: 800; }
      @media (max-width: 768px) {
        .claim .sticker h4 {
          font-size: 6vw;
          line-height: 1.25; } }
      .claim .sticker h4::before, .claim .sticker h4::after {
        content: '';
        width: .1em;
        height: 1em;
        border-radius: .25em;
        background-color: var(--text); }
        @media (max-width: 768px) {
          .claim .sticker h4::before, .claim .sticker h4::after {
            height: 2.25em; } }
      .claim .sticker h4::before {
        transform: translateX(-0.35em) rotate(-30deg); }
        @media (max-width: 768px) {
          .claim .sticker h4::before {
            transform: translateX(-0.75em) rotate(-30deg); } }
      .claim .sticker h4::after {
        transform: translateX(0.35em) rotate(30deg); }
        @media (max-width: 768px) {
          .claim .sticker h4::after {
            transform: translateX(0.75em) rotate(30deg); } }
    .claim .sticker picture {
      text-align: center;
      filter: drop-shadow(0 0 0.5625rem var(--bk20)); }
      @media (max-width: 768px) {
        .claim .sticker picture {
          filter: drop-shadow(0 0 1.2vw var(--bk20)); } }
      .claim .sticker picture img {
        width: 34.375rem; }
        @media (max-width: 768px) {
          .claim .sticker picture img {
            width: 65.3333333333vw; } }
    .claim .sticker p {
      font-size: 1.8125rem;
      font-weight: 800;
      text-align: center;
      line-height: 1.75;
      transform: rotateZ(0.03deg); }
      @media (max-width: 768px) {
        .claim .sticker p {
          font-size: 3.8666666667vw; } }
      .claim .sticker p .marker {
        background: linear-gradient(transparent 60%, #ffff00 0); }
  .claim .search {
    margin-top: 4.375rem; }
    @media (max-width: 768px) {
      .claim .search {
        margin-top: 3.2vw; } }
    .claim .search .btn {
      position: relative;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 51.5rem;
      height: 6.25rem;
      border-radius: 3.125rem;
      color: var(--wh);
      font-size: 2.25rem;
      font-weight: 800;
      text-decoration: none;
      background-color: #5ab651;
      box-shadow: 0 0.625rem 0 #22571d; }
      @media (max-width: 768px) {
        .claim .search .btn {
          width: 91.4666666667vw;
          height: 11.2vw;
          border-radius: 5.6vw;
          font-size: 4vw;
          box-shadow: 0 1.3333333333vw 0 #22571d; } }
      .claim .search .btn::before, .claim .search .btn::after {
        content: '';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        transition: transform 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
      .claim .search .btn::before {
        right: 1.25rem;
        width: 3.125rem;
        height: 3.125rem;
        border-radius: 50%;
        background-color: var(--wh); }
        @media (max-width: 768px) {
          .claim .search .btn::before {
            right: 2.6666666667vw;
            width: 5.6vw;
            height: 5.6vw; } }
      .claim .search .btn::after {
        right: 2.125rem;
        width: 1.0625rem;
        height: 1.25rem;
        background-color: #5ab651;
        clip-path: polygon(0 0, 100% 50%, 0 100%); }
        @media (max-width: 768px) {
          .claim .search .btn::after {
            right: 4.2666666667vw;
            width: 1.8666666667vw;
            height: 2.1333333333vw; } }
      @media (any-hover: hover) {
        .claim .search .btn:hover {
          opacity: .8; }
          .claim .search .btn:hover::before, .claim .search .btn:hover::after {
            transform: translateY(-50%) scale(1.1); } }

.coverage {
  position: relative;
  z-index: 44;
  overflow-x: clip;
  padding: 17.5rem 0 3.75rem;
  background-color: var(--bg); }
  @media (max-width: 768px) {
    .coverage {
      padding: 18.6666666667vw 0 5.3333333333vw; } }
  .coverage .inner {
    gap: 3.75rem; }
    @media (max-width: 768px) {
      .coverage .inner {
        gap: 4.5333333333vw; } }
  .coverage .coverage_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 800; }
    .coverage .coverage_ttl span {
      font-size: 3.25rem; }
      @media (max-width: 768px) {
        .coverage .coverage_ttl span {
          font-size: 6.9333333333vw; } }
  .coverage .lead p {
    font-size: 1.625rem;
    font-weight: 800;
    text-align: center;
    line-height: 1.625;
    transform: rotateZ(0.03deg); }
    @media (max-width: 768px) {
      .coverage .lead p {
        font-size: 3.4666666667vw; } }
  .coverage .panels {
    position: relative;
    width: 68.75rem;
    height: 31.25rem;
    padding: 1.25rem 2.5rem 3.125rem;
    border-radius: 0.9375rem;
    background-color: #f0ead6;
    box-shadow: 0 0.625rem 0 #bfb39d; }
    @media (max-width: 768px) {
      .coverage .panels {
        width: 92vw;
        height: 96vw;
        padding: 2.6666666667vw 5.3333333333vw 6.6666666667vw;
        border-radius: 2vw;
        box-shadow: 0 1.3333333333vw 0 #bfb39d; } }
    .coverage .panels::before {
      content: '';
      position: absolute;
      top: 3.125rem;
      left: 2.5rem;
      width: 63.75rem;
      height: 25rem;
      border-radius: 1.25rem;
      background-color: var(--bg); }
      @media (max-width: 768px) {
        .coverage .panels::before {
          top: 6.6666666667vw;
          left: 5.3333333333vw;
          width: 81.3333333333vw;
          height: 82.6666666667vw;
          border-radius: 2.6666666667vw; } }
    .coverage .panels .coverage-slider {
      display: none; }
      .coverage .panels .coverage-slider.slick-initialized {
        display: block; }
    .coverage .panels .item {
      padding-top: 1.875rem; }
      @media (max-width: 768px) {
        .coverage .panels .item {
          padding-top: 4vw; } }
    .coverage .panels .slick-arrow {
      cursor: pointer;
      position: absolute;
      top: 50%;
      width: 2.5rem;
      height: 2.5rem;
      padding: 0;
      border: 0 none;
      font-size: 0;
      background-color: transparent;
      transform: translateY(-50%);
      transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
      @media (max-width: 768px) {
        .coverage .panels .slick-arrow {
          width: 5.3333333333vw;
          height: 5.3333333333vw; } }
      .coverage .panels .slick-arrow.slick-disabled {
        pointer-events: none;
        opacity: 0; }
      .coverage .panels .slick-arrow::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1.25rem;
        height: 1.25rem; }
        @media (max-width: 768px) {
          .coverage .panels .slick-arrow::before {
            width: 2.6666666667vw;
            height: 2.6666666667vw; } }
    .coverage .panels .slick-prev {
      left: -2.5rem; }
      @media (max-width: 768px) {
        .coverage .panels .slick-prev {
          left: -5.3333333333vw; } }
      .coverage .panels .slick-prev::before {
        border-bottom: 0.25rem solid var(--bk70);
        border-left: 0.25rem solid var(--bk70);
        transform: translate(-25%, -50%) rotate(45deg); }
        @media (max-width: 768px) {
          .coverage .panels .slick-prev::before {
            border-width: 0.5333333333vw; } }
    .coverage .panels .slick-next {
      right: -2.5rem; }
      @media (max-width: 768px) {
        .coverage .panels .slick-next {
          right: -5.3333333333vw; } }
      .coverage .panels .slick-next::before {
        border-top: 0.25rem solid var(--bk70);
        border-right: 0.25rem solid var(--bk70);
        transform: translate(-75%, -50%) rotate(45deg); }
        @media (max-width: 768px) {
          .coverage .panels .slick-next::before {
            border-width: 0.5333333333vw; } }
    .coverage .panels .slick-dots {
      position: absolute;
      top: calc(100% + 0.3125rem);
      left: 0;
      display: flex;
      justify-content: center;
      width: 100%; }
      @media (max-width: 768px) {
        .coverage .panels .slick-dots {
          top: calc(100% + 0.666vw); } }
      .coverage .panels .slick-dots button {
        cursor: pointer;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 2.5rem;
        height: 2.5rem;
        padding: 0;
        border: 0 none;
        font-size: 0;
        background-color: transparent; }
        @media (max-width: 768px) {
          .coverage .panels .slick-dots button {
            width: 5.3333333333vw;
            height: 5.3333333333vw; } }
        .coverage .panels .slick-dots button::before {
          content: '';
          width: 1.25rem;
          height: 1.25rem;
          border-radius: 50%;
          background-color: var(--bk25);
          transition: background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
          @media (max-width: 768px) {
            .coverage .panels .slick-dots button::before {
              width: 2.6666666667vw;
              height: 2.6666666667vw; } }
      .coverage .panels .slick-dots .slick-active button::before {
        background-color: #8cbc07; }
    .coverage .panels .panel {
      position: relative;
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 63.75rem;
      height: 25rem;
      padding: 1.875rem;
      border-radius: 1.25rem; }
      @media (max-width: 768px) {
        .coverage .panels .panel {
          flex-direction: column;
          justify-content: center;
          width: 81.3333333333vw;
          height: 82.6666666667vw;
          padding: 5.3333333333vw 0 2.6666666667vw;
          border-radius: 2.6666666667vw; } }
      .coverage .panels .panel .panel_ttl {
        position: absolute;
        top: 0;
        left: 50%;
        padding: 0.625rem 1.25rem;
        border-radius: 2em;
        color: var(--wh);
        font-size: 2.1875rem;
        font-weight: 800;
        white-space: nowrap;
        background-color: #8cbc07;
        transform: translate(-50%, -50%); }
        @media (max-width: 768px) {
          .coverage .panels .panel .panel_ttl {
            padding: 1.3333333333vw 2.6666666667vw;
            font-size: 4.6666666667vw; } }
      .coverage .panels .panel .comment {
        font-size: 1.375rem;
        line-height: 2;
        transform: rotateZ(0.03deg); }
        @media (max-width: 768px) {
          .coverage .panels .panel .comment {
            font-size: 2.9333333333vw;
            line-height: 1.75;
            text-align: center; } }
      .coverage .panels .panel figure {
        position: absolute; }
        @media (max-width: 768px) {
          .coverage .panels .panel figure {
            position: relative;
            top: 0 !important;
            right: 0 !important; } }
    @media (max-width: 768px) {
      .coverage .panels.tab-body-cat .item.item01 .panel {
        gap: 6.6666666667vw; } }
    .coverage .panels.tab-body-cat .item.item01 .panel figure {
      top: 5.125rem;
      right: 4.3125rem; }
      .coverage .panels.tab-body-cat .item.item01 .panel figure img {
        width: 19.625rem; }
        @media (max-width: 768px) {
          .coverage .panels.tab-body-cat .item.item01 .panel figure img {
            width: 38.6666666667vw; } }
    @media (max-width: 768px) {
      .coverage .panels.tab-body-cat .item.item02 .panel {
        gap: 2.6666666667vw; } }
    .coverage .panels.tab-body-cat .item.item02 .panel figure {
      top: 5.125rem;
      right: 5.875rem; }
      .coverage .panels.tab-body-cat .item.item02 .panel figure img {
        width: 17.75rem; }
        @media (max-width: 768px) {
          .coverage .panels.tab-body-cat .item.item02 .panel figure img {
            width: 33.3333333333vw; } }
    @media (max-width: 768px) {
      .coverage .panels.tab-body-cat .item.item03 .panel {
        gap: 4vw; } }
    .coverage .panels.tab-body-cat .item.item03 .panel figure {
      top: 2.5rem;
      right: 6.0625rem; }
      .coverage .panels.tab-body-cat .item.item03 .panel figure img {
        width: 17.5rem; }
        @media (max-width: 768px) {
          .coverage .panels.tab-body-cat .item.item03 .panel figure img {
            width: 32.5333333333vw; } }
    @media (max-width: 768px) {
      .coverage .panels.tab-body-cat .item.item04 .panel {
        gap: 4vw; } }
    .coverage .panels.tab-body-cat .item.item04 .panel figure {
      top: 4.125rem;
      right: 5.6875rem; }
      .coverage .panels.tab-body-cat .item.item04 .panel figure img {
        width: 11.25rem; }
        @media (max-width: 768px) {
          .coverage .panels.tab-body-cat .item.item04 .panel figure img {
            width: 19.2vw; } }
    @media (max-width: 768px) {
      .coverage .panels.tab-body-dog .item.item01 .panel {
        gap: 4.5333333333vw; } }
    .coverage .panels.tab-body-dog .item.item01 .panel figure {
      top: 3.8125rem;
      right: 4.9375rem; }
      .coverage .panels.tab-body-dog .item.item01 .panel figure img {
        width: 19.875rem; }
        @media (max-width: 768px) {
          .coverage .panels.tab-body-dog .item.item01 .panel figure img {
            width: 37.8666666667vw;
            transform: translateX(-3.4666666667vw); } }
    @media (max-width: 768px) {
      .coverage .panels.tab-body-dog .item.item02 .panel {
        gap: 12vw; } }
    .coverage .panels.tab-body-dog .item.item02 .panel figure {
      top: 6.1875rem;
      right: 3.25rem; }
      .coverage .panels.tab-body-dog .item.item02 .panel figure img {
        width: 19.25rem; }
        @media (max-width: 768px) {
          .coverage .panels.tab-body-dog .item.item02 .panel figure img {
            width: 37.0666666667vw; } }
    @media (max-width: 768px) {
      .coverage .panels.tab-body-dog .item.item03 .panel {
        gap: 5.7333333333vw; } }
    .coverage .panels.tab-body-dog .item.item03 .panel figure {
      top: 2.4375rem;
      right: 3.875rem; }
      .coverage .panels.tab-body-dog .item.item03 .panel figure img {
        width: 20.25rem; }
        @media (max-width: 768px) {
          .coverage .panels.tab-body-dog .item.item03 .panel figure img {
            width: 36vw;
            transform: translateX(-3.4666666667vw); } }
    @media (max-width: 768px) {
      .coverage .panels.tab-body-dog .item.item04 .panel {
        gap: 5.3333333333vw; } }
    .coverage .panels.tab-body-dog .item.item04 .panel figure {
      top: 4.375rem;
      right: 3.9375rem; }
      .coverage .panels.tab-body-dog .item.item04 .panel figure img {
        width: 25rem; }
        @media (max-width: 768px) {
          .coverage .panels.tab-body-dog .item.item04 .panel figure img {
            width: 46.4vw;
            transform: translateX(-3.7333333333vw); } }

.voice {
  position: relative;
  z-index: 43;
  padding: 3.75rem 0 0;
  background-color: var(--bg); }
  @media (max-width: 768px) {
    .voice {
      padding: 5.3333333333vw 0 0; } }
  .voice .inner {
    gap: 6.25rem; }
    @media (max-width: 768px) {
      .voice .inner {
        gap: 4.5333333333vw; } }
  .voice .voice_ttl {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-end;
    row-gap: 1.25rem;
    font-weight: 800; }
    @media (max-width: 768px) {
      .voice .voice_ttl {
        row-gap: 2.6666666667vw; } }
    .voice .voice_ttl::before, .voice .voice_ttl::after {
      content: '';
      position: absolute;
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: contain; }
    .voice .voice_ttl::before {
      bottom: -2.125rem;
      left: 2.3125rem;
      width: 4.375rem;
      height: 5.125rem;
      background-image: url("../images/kira01.svg"); }
      @media (max-width: 768px) {
        .voice .voice_ttl::before {
          bottom: 4.5333333333vw;
          left: 2.9333333333vw;
          width: 9.3333333333vw;
          height: 10.9333333333vw; } }
    .voice .voice_ttl::after {
      top: 3.75rem;
      right: 1.75rem;
      width: 5.375rem;
      height: 5.25rem;
      background-image: url("../images/kira02.svg");
      transform: scale(-1, 1); }
      @media (max-width: 768px) {
        .voice .voice_ttl::after {
          top: 13.0666666667vw;
          right: 3.0666666667vw;
          width: 11.4666666667vw;
          height: 11.2vw; } }
    .voice .voice_ttl span {
      font-size: 3.125rem; }
      @media (max-width: 768px) {
        .voice .voice_ttl span {
          font-size: 6.6666666667vw; } }
    .voice .voice_ttl strong {
      color: var(--blue);
      font-size: 3.75rem; }
      @media (max-width: 768px) {
        .voice .voice_ttl strong {
          font-size: 8vw; } }
  .voice .panels {
    position: relative;
    width: 68.75rem;
    height: 41.25rem;
    padding: 2.5rem 2.5rem 3.75rem;
    border-radius: 0.9375rem;
    background-color: #f0ead6; }
    @media (max-width: 768px) {
      .voice .panels {
        width: 92vw;
        height: 96vw;
        padding: 5.3333333333vw 5.3333333333vw 8vw;
        border-radius: 2vw; } }
    .voice .panels::before {
      content: '';
      position: absolute;
      top: 2.5rem;
      left: 2.5rem;
      width: 63.75rem;
      height: 35rem;
      border-radius: 1.25rem;
      background-color: var(--wh); }
      @media (max-width: 768px) {
        .voice .panels::before {
          top: 5.3333333333vw;
          left: 5.3333333333vw;
          width: 81.3333333333vw;
          height: 82.6666666667vw;
          border-radius: 2.6666666667vw; } }
    .voice .panels .voice-slider {
      display: none; }
      .voice .panels .voice-slider.slick-initialized {
        display: block; }
    .voice .panels .slick-arrow {
      cursor: pointer;
      position: absolute;
      top: 50%;
      width: 2.5rem;
      height: 2.5rem;
      padding: 0;
      border: 0 none;
      font-size: 0;
      background-color: transparent;
      transform: translateY(-50%);
      transition: opacity 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
      @media (max-width: 768px) {
        .voice .panels .slick-arrow {
          width: 5.3333333333vw;
          height: 5.3333333333vw; } }
      .voice .panels .slick-arrow.slick-disabled {
        pointer-events: none;
        opacity: 0; }
      .voice .panels .slick-arrow::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1.25rem;
        height: 1.25rem; }
        @media (max-width: 768px) {
          .voice .panels .slick-arrow::before {
            width: 2.6666666667vw;
            height: 2.6666666667vw; } }
    .voice .panels .slick-prev {
      left: -2.5rem; }
      @media (max-width: 768px) {
        .voice .panels .slick-prev {
          left: -5.3333333333vw; } }
      .voice .panels .slick-prev::before {
        border-bottom: 0.25rem solid var(--bk70);
        border-left: 0.25rem solid var(--bk70);
        transform: translate(-25%, -50%) rotate(45deg); }
        @media (max-width: 768px) {
          .voice .panels .slick-prev::before {
            border-width: 0.5333333333vw; } }
    .voice .panels .slick-next {
      right: -2.5rem; }
      @media (max-width: 768px) {
        .voice .panels .slick-next {
          right: -5.3333333333vw; } }
      .voice .panels .slick-next::before {
        border-top: 0.25rem solid var(--bk70);
        border-right: 0.25rem solid var(--bk70);
        transform: translate(-75%, -50%) rotate(45deg); }
        @media (max-width: 768px) {
          .voice .panels .slick-next::before {
            border-width: 0.5333333333vw; } }
    .voice .panels .slick-dots {
      position: absolute;
      top: calc(100% + 0.625rem);
      left: 0;
      display: flex;
      justify-content: center;
      width: 100%; }
      @media (max-width: 768px) {
        .voice .panels .slick-dots {
          top: calc(100% + 0.666vw); } }
      .voice .panels .slick-dots button {
        cursor: pointer;
        position: relative;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 2.5rem;
        height: 2.5rem;
        padding: 0;
        border: 0 none;
        font-size: 0;
        background-color: transparent; }
        @media (max-width: 768px) {
          .voice .panels .slick-dots button {
            width: 5.3333333333vw;
            height: 5.3333333333vw; } }
        .voice .panels .slick-dots button::before {
          content: '';
          width: 1.25rem;
          height: 1.25rem;
          border-radius: 50%;
          background-color: var(--bk25);
          transition: background-color 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
          @media (max-width: 768px) {
            .voice .panels .slick-dots button::before {
              width: 2.6666666667vw;
              height: 2.6666666667vw; } }
      .voice .panels .slick-dots .slick-active button::before {
        background-color: #8cbc07; }
    .voice .panels .panel {
      position: relative;
      width: 63.75rem;
      height: 35rem;
      padding: 1.875rem;
      border-radius: 1.25rem; }
      @media (max-width: 768px) {
        .voice .panels .panel {
          width: 81.3333333333vw;
          height: 82.6666666667vw;
          padding: 4vw 0;
          border-radius: 2.6666666667vw; } }
      .voice .panels .panel .info {
        display: flex;
        justify-content: center;
        align-items: flex-end;
        gap: 5rem; }
        @media (max-width: 768px) {
          .voice .panels .panel .info {
            justify-content: flex-end;
            gap: 2.6666666667vw;
            width: 100%; } }
        .voice .panels .panel .info picture img {
          width: 17.5rem;
          border-radius: 0.75rem; }
          @media (max-width: 768px) {
            .voice .panels .panel .info picture img {
              width: 37.3333333333vw;
              border-radius: 1.6vw; } }
        .voice .panels .panel .info .profile {
          position: relative;
          display: flex;
          justify-content: center;
          width: 19.375rem;
          padding: 1.875rem 1.25rem 1rem;
          border-radius: 0.75rem;
          background-color: #8cbc07; }
          @media (max-width: 768px) {
            .voice .panels .panel .info .profile {
              width: 37.3333333333vw;
              padding: 4.2666666667vw 4vw 2.1333333333vw 1.3333333333vw;
              border-radius: 1.6vw 0 0 1.6vw; } }
          .voice .panels .panel .info .profile::before {
            content: '';
            position: absolute;
            top: -3.5rem;
            left: 50%;
            width: 10rem;
            height: 5.625rem;
            background-repeat: no-repeat;
            background-position: 50% 50%;
            background-size: contain;
            transform: translateX(-50%); }
            @media (max-width: 768px) {
              .voice .panels .panel .info .profile::before {
                top: -7.4666666667vw;
                width: 21.3333333333vw;
                height: 12vw; } }
          .voice .panels .panel .info .profile ul li {
            padding-left: 3em;
            text-indent: -3em;
            color: var(--wh);
            font-size: 1rem;
            font-weight: 700;
            line-height: 1.75;
            transform: rotateZ(0.03deg); }
            @media (max-width: 768px) {
              .voice .panels .panel .info .profile ul li {
                font-size: 2vw; } }
      .voice .panels .panel .comment {
        margin-top: 2.1875rem;
        font-size: 1.3125rem;
        line-height: 1.75;
        transform: rotateZ(0.03deg); }
        @media (max-width: 768px) {
          .voice .panels .panel .comment {
            margin-top: 4vw;
            padding: 0 4vw;
            font-size: 2.8vw; } }
    .voice .panels.tab-body-cat .panel .info .profile::before {
      background-image: url("../images/voice_fig_cat.png"); }
    @media (max-width: 768px) {
      .voice .panels.tab-body-cat .item.item02 .panel .comment p {
        letter-spacing: -.1em; } }
    .voice .panels.tab-body-dog .panel .info .profile::before {
      background-image: url("../images/voice_fig_dog.png"); }
    .voice .panels.tab-body-dog .item.item01 .panel .info .profile {
      width: 30rem; }
      @media (max-width: 768px) {
        .voice .panels.tab-body-dog .item.item01 .panel .info .profile {
          width: 37.3333333333vw; } }

.voice_summary {
  position: relative;
  z-index: 42;
  /*overflow-x: clip;*/
  padding: 4.375rem 0;
  background-color: var(--bg);
  filter: drop-shadow(0 0.8125rem 2rem var(--bk20)); }
  @media (max-width: 768px) {
    .voice_summary {
      padding: 5.3333333333vw 0;
      filter: drop-shadow(0 1.7333333333vw 4.2666666667vw var(--bk20)); } }
  .voice_summary::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 50%;
    width: 120rem;
    height: 12.5rem;
    background-color: var(--bg);
    clip-path: polygon(0 0, 100% 0, 100% 1.25rem, 50% 100%, 0 1.25rem);
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .voice_summary::after {
        top: calc(100% - 1.3333vw);
        width: 100vw;
        height: 13.3333333333vw;
        clip-path: polygon(0 0, 100% 0, 100% 1.3333333333vw, 50% 100%, 0 1.3333333333vw); } }
  .voice_summary picture {
    display: block;
    text-align: center; }
    .voice_summary picture img {
      width: 60rem; }
      @media (max-width: 768px) {
        .voice_summary picture img {
          width: 92vw; } }

.example {
  position: relative;
  z-index: 41;
  padding: 17.5rem 0 4.375rem;
  background-color: var(--wh); }
  @media (max-width: 768px) {
    .example {
      padding: 18.6666666667vw 0 5.3333333333vw; } }
  .example .inner {
    gap: 5rem; }
    @media (max-width: 768px) {
      .example .inner {
        gap: 10.6666666667vw; } }
  .example .example_ttl {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.25rem; }
    @media (max-width: 768px) {
      .example .example_ttl {
        gap: 2.6666666667vw; } }
    .example .example_ttl span {
      font-weight: 800; }
      .example .example_ttl span:nth-child(1) {
        font-size: 3.125rem; }
        @media (max-width: 768px) {
          .example .example_ttl span:nth-child(1) {
            font-size: 6.6666666667vw; } }
      .example .example_ttl span:nth-child(2) {
        font-size: 4.375rem; }
        @media (max-width: 768px) {
          .example .example_ttl span:nth-child(2) {
            font-size: 9.3333333333vw; } }
      .example .example_ttl span:nth-child(3) {
        font-size: 5rem; }
        @media (max-width: 768px) {
          .example .example_ttl span:nth-child(3) {
            font-size: 10.6666666667vw; } }
      .example .example_ttl span strong {
        color: var(--blue); }
  .example .panel {
    position: relative;
    width: 100%;
    padding: 4.375rem;
    background-color: var(--bg); }
    @media (max-width: 768px) {
      .example .panel {
        width: 92vw;
        padding: 5.3333333333vw 2.6666666667vw 4vw; } }
    .example .panel .panel_ttl {
      position: absolute;
      top: 0;
      left: 50%;
      padding: 0.625rem 1.25rem;
      border-radius: 2em;
      color: #fff;
      font-size: 1.25rem;
      font-weight: 800;
      white-space: nowrap;
      background-color: #569ee1;
      transform: translate(-50%, -50%) rotateZ(0.03deg); }
      @media (max-width: 768px) {
        .example .panel .panel_ttl {
          padding: 1.3333333333vw 2.6666666667vw;
          font-size: 2.6666666667vw; } }
    .example .panel .comment {
      display: flex;
      justify-content: center;
      align-items: flex-end;
      margin: 3.125rem 0 1.25rem;
      font-weight: 800; }
      @media (max-width: 768px) {
        .example .panel .comment {
          flex-direction: column;
          align-items: center;
          margin: 2.6666666667vw 0; } }
      .example .panel .comment strong {
        font-size: 2.125rem;
        line-height: 1.3;
        background: linear-gradient(transparent 60%, #ffff00 0); }
        @media (max-width: 768px) {
          .example .panel .comment strong {
            font-size: 4.5333333333vw; } }
      .example .panel .comment span {
        font-size: 1.625rem;
        line-height: 1.5; }
        @media (max-width: 768px) {
          .example .panel .comment span {
            font-size: 3.4666666667vw; } }
    .example .panel .notes {
      margin-top: 1.875rem; }
      @media (max-width: 768px) {
        .example .panel .notes {
          margin-top: 4vw; } }

.timing {
  position: relative;
  z-index: 40;
  /*overflow-x: clip;*/
  padding: 4.375rem 0;
  background-color: var(--wh);
  filter: drop-shadow(0 0.8125rem 2rem var(--bk20)); }
  @media (max-width: 768px) {
    .timing {
      padding: 6.6666666667vw 0 9.3333333333vw;
      filter: drop-shadow(0 1.7333333333vw 4.2666666667vw var(--bk20)); } }
  .timing::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 50%;
    width: 120rem;
    height: 12.5rem;
    background-color: var(--wh);
    clip-path: polygon(0 0, 100% 0, 100% 1.25rem, 50% 100%, 0 1.25rem);
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .timing::after {
        top: calc(100% - 1.3333vw);
        width: 100vw;
        height: 13.3333333333vw;
        clip-path: polygon(0 0, 100% 0, 100% 1.3333333333vw, 50% 100%, 0 1.3333333333vw); } }
  .timing .inner {
    gap: 3.125rem; }
    @media (max-width: 768px) {
      .timing .inner {
        gap: 6.6666666667vw; } }
  .timing .timing_ttl {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    row-gap: 1.25rem; }
    @media (max-width: 768px) {
      .timing .timing_ttl {
        flex-direction: column;
        row-gap: 1.3333333333vw; } }
    .timing .timing_ttl span {
      font-weight: 800; }
      .timing .timing_ttl span:nth-child(1), .timing .timing_ttl span:nth-child(2) {
        font-size: 3.125rem; }
        @media (max-width: 768px) {
          .timing .timing_ttl span:nth-child(1), .timing .timing_ttl span:nth-child(2) {
            font-size: 6.6666666667vw; } }
      .timing .timing_ttl span:nth-child(3) {
        font-size: 3.75rem; }
        @media (max-width: 768px) {
          .timing .timing_ttl span:nth-child(3) {
            font-size: 8vw; } }
      .timing .timing_ttl span strong {
        color: var(--blue);
        font-size: 1.5em; }
  .timing .pic {
    text-align: center; }
    .timing .pic img {
      width: 42.375rem; }
      @media (max-width: 768px) {
        .timing .pic img {
          width: 73.6vw; } }
  .timing .accordion {
    width: 68.75rem; }
    @media (max-width: 768px) {
      .timing .accordion {
        width: 92vw; } }
    .timing .accordion .accordion-head {
      cursor: pointer;
      position: relative;
      display: flex;
      align-items: center;
      padding: 2.5rem;
      font-weight: 800;
      background-color: #f0ead6; }
      @media (max-width: 768px) {
        .timing .accordion .accordion-head {
          padding: 5.3333333333vw 4vw; } }
      .timing .accordion .accordion-head .icon {
        font-size: 2.25rem; }
        @media (max-width: 768px) {
          .timing .accordion .accordion-head .icon {
            font-size: 4.8vw; } }
      .timing .accordion .accordion-head .ttl {
        font-size: 1.875rem; }
        @media (max-width: 768px) {
          .timing .accordion .accordion-head .ttl {
            font-size: 4vw; } }
      .timing .accordion .accordion-head .btn {
        position: absolute;
        top: 50%;
        right: 2.5rem;
        width: 2.75rem;
        height: 2.75rem;
        border-radius: 50%;
        background-color: var(--wh);
        transform: translateY(-50%); }
        .timing .accordion .accordion-head .btn::before, .timing .accordion .accordion-head .btn::after {
          content: '';
          position: absolute;
          top: 50%;
          left: 50%;
          width: 1.5rem;
          height: 0.25rem;
          border-radius: 0.125rem;
          background-color: var(--text);
          transition: transform 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
        .timing .accordion .accordion-head .btn::before {
          transform: translate(-50%, -50%); }
        .timing .accordion .accordion-head .btn::after {
          transform: translate(-50%, -50%) rotate(90deg); }
        .timing .accordion .accordion-head .btn.active::after {
          transform: translate(-50%, -50%) rotate(0deg); }
    .timing .accordion .accordion-body {
      display: none;
      padding: 1.875rem 2.5rem;
      background-color: var(--bg); }
      @media (max-width: 768px) {
        .timing .accordion .accordion-body {
          padding: 4vw; } }
      .timing .accordion .accordion-body h3 {
        font-size: 1.625rem;
        font-weight: 800;
        line-height: 1.5; }
        @media (max-width: 768px) {
          .timing .accordion .accordion-body h3 {
            font-size: 3.4666666667vw; } }
      .timing .accordion .accordion-body .comment {
        font-size: 1.625rem;
        line-height: 1.5; }
        @media (max-width: 768px) {
          .timing .accordion .accordion-body .comment {
            font-size: 3.4666666667vw; } }
      .timing .accordion .accordion-body .notes {
        margin-top: 0.625rem; }
        @media (max-width: 768px) {
          .timing .accordion .accordion-body .notes {
            margin-top: 1.3333333333vw; } }

.support {
  position: relative;
  z-index: 39;
  /*overflow-x: clip;*/
  padding: 17.5rem 0 4.375rem;
  background-color: var(--bg);
  filter: drop-shadow(0 0.8125rem 2rem var(--bk20)); }
  @media (max-width: 768px) {
    .support {
      padding: 18.6666666667vw 0 5.3333333333vw;
      filter: drop-shadow(0 1.7333333333vw 4.2666666667vw var(--bk20)); } }
  .support::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 50%;
    width: 120rem;
    height: 12.5rem;
    background-color: var(--bg);
    clip-path: polygon(0 0, 100% 0, 100% 1.25rem, 50% 100%, 0 1.25rem);
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .support::after {
        top: calc(100% - 1.3333vw);
        width: 100vw;
        height: 13.3333333333vw;
        clip-path: polygon(0 0, 100% 0, 100% 1.3333333333vw, 50% 100%, 0 1.3333333333vw); } }
  .support .inner {
    gap: 4.375rem; }
    @media (max-width: 768px) {
      .support .inner {
        gap: 4vw; } }
  .support .answer {
    font-size: 1.625rem;
    text-align: center;
    line-height: 1.75;
    transform: rotateZ(0.03deg); }
    @media (max-width: 768px) {
      .support .answer {
        padding: 0 4vw;
        font-size: 3.6vw;
        text-align: left; } }
  .support .notes {
    width: 100%; }
    @media (max-width: 768px) {
      .support .notes {
        padding: 0 4vw; } }

.flow {
  position: relative;
  z-index: 38;
  /*overflow-x: clip;*/
  padding: 17.5rem 0 4.375rem;
  background-color: var(--wh);
  filter: drop-shadow(0 0.8125rem 2rem var(--bk20)); }
  @media (max-width: 768px) {
    .flow {
      padding: 18.6666666667vw 0 9.3333333333vw;
      filter: drop-shadow(0 1.7333333333vw 4.2666666667vw var(--bk20)); } }
  .flow::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 50%;
    width: 120rem;
    height: 12.5rem;
    background-color: var(--wh);
    clip-path: polygon(0 0, 100% 0, 100% 1.25rem, 50% 100%, 0 1.25rem);
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .flow::after {
        top: calc(100% - 1.3333vw);
        width: 100vw;
        height: 13.3333333333vw;
        clip-path: polygon(0 0, 100% 0, 100% 1.3333333333vw, 50% 100%, 0 1.3333333333vw); } }
  .flow .inner {
    gap: 3.125rem; }
    @media (max-width: 768px) {
      .flow .inner {
        gap: 6.6666666667vw; } }
  .flow .flow_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 800; }
    .flow .flow_ttl::before, .flow .flow_ttl::after {
      content: '';
      width: 4.125rem;
      height: 9rem;
      background: url("../images/laurel.svg") no-repeat 50% 50%;
      background-size: contain; }
      @media (max-width: 768px) {
        .flow .flow_ttl::before, .flow .flow_ttl::after {
          width: 8.8vw;
          height: 19.2vw; } }
    .flow .flow_ttl::before {
      transform: translateX(30%); }
      @media (max-width: 768px) {
        .flow .flow_ttl::before {
          transform: translateX(20%); } }
    .flow .flow_ttl::after {
      transform: translateX(-30%) scale(-1, 1); }
      @media (max-width: 768px) {
        .flow .flow_ttl::after {
          transform: translateX(-20%) scale(-1, 1); } }
    .flow .flow_ttl span {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      gap: 0.625rem; }
      @media (max-width: 768px) {
        .flow .flow_ttl span {
          gap: 1.3333333333vw; } }
      .flow .flow_ttl span em:nth-child(1) {
        font-size: 2.75rem; }
        @media (max-width: 768px) {
          .flow .flow_ttl span em:nth-child(1) {
            font-size: 5.8666666667vw; } }
      .flow .flow_ttl span em:nth-child(3) {
        font-size: 3.125rem; }
        @media (max-width: 768px) {
          .flow .flow_ttl span em:nth-child(3) {
            font-size: 6.6666666667vw; } }
      .flow .flow_ttl span strong {
        color: var(--blue);
        font-size: 3.75rem; }
        @media (max-width: 768px) {
          .flow .flow_ttl span strong {
            font-size: 7.4666666667vw; } }
  .flow .fig {
    padding: 3.125rem 4.375rem;
    border-radius: 0.8125rem;
    text-align: center;
    background-color: #f0ead6; }
    @media (max-width: 768px) {
      .flow .fig {
        width: 92vw;
        padding: 6.4vw 1.3333333333vw 4.2666666667vw;
        border-radius: 1.7333333333vw; } }
  .flow .group {
    display: flex;
    justify-content: space-between;
    width: 100%; }
    @media (max-width: 768px) {
      .flow .group {
        flex-direction: column;
        align-items: center;
        gap: 4vw; } }
    .flow .group .item {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
      width: 33.125rem;
      padding: 1.5rem;
      border-radius: 0.8125rem;
      background-color: #f0ead6;
      transform: rotateZ(0.03deg); }
      @media (max-width: 768px) {
        .flow .group .item {
          gap: 2.6666666667vw;
          width: 92vw;
          padding: 3.2vw;
          border-radius: 1.7333333333vw; } }
      .flow .group .item:nth-child(odd) h3 {
        background-color: var(--blue); }
      .flow .group .item h3 {
        width: fit-content;
        padding: 0.4375rem 1.25rem;
        border-radius: 2em;
        color: var(--wh);
        font-size: 1.625rem;
        font-weight: 800;
        background-color: var(--blue); }
        @media (max-width: 768px) {
          .flow .group .item h3 {
            padding: 0.9333333333vw 2.6666666667vw;
            font-size: 3.4666666667vw; } }
      .flow .group .item h4 {
        font-size: 2.1875rem;
        font-weight: 800;
        line-height: 1.35; }
        @media (max-width: 768px) {
          .flow .group .item h4 {
            font-size: 4.6666666667vw; } }
      .flow .group .item p {
        font-size: 1.5rem;
        line-height: 1.35; }
        @media (max-width: 768px) {
          .flow .group .item p {
            font-size: 3.4666666667vw; } }
  @media (max-width: 768px) {
    .flow .notes {
      padding: 0 4vw; } }

.faq {
  position: relative;
  z-index: 37;
  /*overflow-x: clip;*/
  padding: 17.5rem 0 4.375rem;
  background-color: var(--bg);
  filter: drop-shadow(0 0.8125rem 2rem var(--bk20)); }
  @media (max-width: 768px) {
    .faq {
      padding: 18.6666666667vw 0 8vw;
      filter: drop-shadow(0 1.7333333333vw 4.2666666667vw var(--bk20)); } }
  .faq::after {
    content: '';
    position: absolute;
    top: calc(100% - 1.25rem);
    left: 50%;
    width: 120rem;
    height: 12.5rem;
    background-color: var(--bg);
    clip-path: polygon(0 0, 100% 0, 100% 1.25rem, 50% 100%, 0 1.25rem);
    transform: translateX(-50%); }
    @media (max-width: 768px) {
      .faq::after {
        top: calc(100% - 1.3333vw);
        width: 100vw;
        height: 13.3333333333vw;
        clip-path: polygon(0 0, 100% 0, 100% 1.3333333333vw, 50% 100%, 0 1.3333333333vw); } }
  .faq .inner {
    gap: 6.25rem; }
    @media (max-width: 768px) {
      .faq .inner {
        gap: 8.6666666667vw; } }
  .faq .faq_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 800; }
    .faq .faq_ttl span {
      font-size: 5rem; }
      @media (max-width: 768px) {
        .faq .faq_ttl span {
          font-size: 10.6666666667vw; } }
  .faq .category {
    display: flex;
    flex-direction: column;
    gap: 3.75rem; }
    @media (max-width: 768px) {
      .faq .category {
        gap: 5.3333333333vw; } }
    .faq .category h3 {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 1.5625rem;
      width: 68.75rem;
      color: #5ab651;
      font-size: 2.5rem;
      font-weight: 800; }
      @media (max-width: 768px) {
        .faq .category h3 {
          gap: 3.3333333333vw;
          width: 92vw;
          font-size: 5.3333333333vw; } }
      .faq .category h3::before, .faq .category h3::after {
        content: '';
        flex: 1 1 0%;
        height: 0.125rem;
        background-color: #5ab651; }
        @media (max-width: 768px) {
          .faq .category h3::before, .faq .category h3::after {
            height: 0.2666666667vw; } }
    .faq .category .accordion {
      width: 68.75rem; }
      @media (max-width: 768px) {
        .faq .category .accordion {
          width: 92vw; } }
      .faq .category .accordion .accordion-head {
        cursor: pointer;
        position: relative;
        display: flex;
        align-items: center;
        padding: 1.875rem 2.5rem;
        background-color: #f0ead6; }
        @media (max-width: 768px) {
          .faq .category .accordion .accordion-head {
            padding: 3.2vw 4vw; } }
        .faq .category .accordion .accordion-head .ttl {
          padding-left: 1.7em;
          text-indent: -1.7em;
          font-size: 1.75rem;
          line-height: 1.3;
          transform: rotateZ(0.03deg); }
          @media (max-width: 768px) {
            .faq .category .accordion .accordion-head .ttl {
              font-size: 3.7333333333vw; } }
        .faq .category .accordion .accordion-head .btn {
          position: absolute;
          top: 50%;
          right: 2.5rem;
          width: 2.625rem;
          height: 2.625rem;
          border-radius: 50%;
          background-color: #d8cdaa;
          transform: translateY(-50%); }
          @media (max-width: 768px) {
            .faq .category .accordion .accordion-head .btn {
              right: 4vw;
              width: 5.6vw;
              height: 5.6vw; } }
          .faq .category .accordion .accordion-head .btn::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 1.25rem;
            height: 1rem;
            background-color: var(--text);
            clip-path: polygon(0 0, 100% 0, 50% 100%);
            transition: transform 0.5s cubic-bezier(0.2, 1, 0.2, 1); }
            @media (max-width: 768px) {
              .faq .category .accordion .accordion-head .btn::before {
                width: 2.6666666667vw;
                height: 2.1333333333vw; } }
          .faq .category .accordion .accordion-head .btn::before {
            transform: translate(-50%, -50%); }
          .faq .category .accordion .accordion-head .btn.active::before {
            transform: translate(-50%, -50%) rotate(180deg); }
      .faq .category .accordion .accordion-body {
        display: none;
        padding: 1.875rem 2.5rem;
        background-color: var(--wh); }
        @media (max-width: 768px) {
          .faq .category .accordion .accordion-body {
            padding: 4vw; } }
        .faq .category .accordion .accordion-body .comment {
          padding-left: 1.6em;
          text-indent: -1.6em;
          font-size: 1.375rem;
          line-height: 1.5;
          transform: rotateZ(0.03deg); }
          @media (max-width: 768px) {
            .faq .category .accordion .accordion-body .comment {
              font-size: 2.9333333333vw; } }
          .faq .category .accordion .accordion-body .comment + .comment {
            text-indent: -1.25em; }
        .faq .category .accordion .accordion-body .notes {
          margin-top: 1.25rem;
          padding-left: 1em;
          text-indent: -1em; }
          @media (max-width: 768px) {
            .faq .category .accordion .accordion-body .notes {
              margin-top: 2.6666666667vw; } }
  .faq .others {
    width: 68.75rem;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.375rem;
    font-weight: 400;
    font-feature-settings: "palt";
    line-height: 1.5;
    letter-spacing: .05em; }
    @media (max-width: 768px) {
      .faq .others {
        width: 92vw;
        margin-top: -4vw;
        font-size: 2.9333333333vw; } }
  .faq .link {
    color: #005dc1; }

.modal {
  display: none; }
  .modal.active {
    display: block; }
  .modal .modal_overlay {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 200;
    width: 100vw;
    height: 100vh;
    background-color: var(--bk60); }
  .modal .modal_container {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    .modal .modal_container .modal_close {
      cursor: pointer;
      position: absolute;
      top: -0.625rem;
      right: -0.625rem;
      width: 2.5rem;
      height: 2.5rem;
      appearance: none;
      border: 0 none;
      padding: 0;
      font-size: 0;
      background-color: var(--blue); }
      @media (max-width: 768px) {
        .modal .modal_container .modal_close {
          top: -2.6666666667vw;
          right: -2.6666666667vw;
          width: 10.6666666667vw;
          height: 10.6666666667vw; } }
      .modal .modal_container .modal_close::before, .modal .modal_container .modal_close::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1.5rem;
        height: 0.25rem;
        border-radius: 0.125rem;
        background-color: var(--wh); }
        @media (max-width: 768px) {
          .modal .modal_container .modal_close::before, .modal .modal_container .modal_close::after {
            width: 6.4vw;
            height: 1.0666666667vw;
            border-radius: 0.5333333333vw; } }
      .modal .modal_container .modal_close::before {
        transform: translate(-50%, -50%) rotate(45deg); }
      .modal .modal_container .modal_close::after {
        transform: translate(-50%, -50%) rotate(-45deg); }
    .modal .modal_container .modal_contents {
      width: 90vw;
      max-width: 1200px;
      height: 37.5rem; }
      @media (max-width: 768px) {
        .modal .modal_container .modal_contents {
          height: 90vh; } }
      .modal .modal_container .modal_contents iframe {
        width: 100%; }
