@charset "UTF-8";

/*--------------------------------------------------------*/
/*! _reset*/
/*--------------------------------------------------------*/
/*html5doctor.com Reset Stylesheetv1.6.1Last Updated: 2010-09-17Author: Richard Clark - http://richclarkdesign.comTwitter: @rich_clark*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {  margin: 0;  padding: 0;  border: 0;  outline: 0;  font-size: 100%; font: inherit; vertical-align: baseline;  background: transparent;}body {  line-height: 1;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {  display: block;}nav ul {  list-style: none;}blockquote,q {  quotes: none;}blockquote:before,blockquote:after,q:before,q:after {  content: '';  content: none;}a {  margin: 0;  padding: 0;  font-size: 100%;  vertical-align: baseline;  background: transparent;}
/* change colours to suit your needs */
ins {  background-color: #ff9;  color: #000;  text-decoration: none;}
/* change colours to suit your needs */
mark {  background-color: #ff9;  color: #000;  font-style: italic;  font-weight: bold;}del {  text-decoration: line-through;}abbr[title],dfn[title] {  border-bottom: 1px dotted;  cursor: help;}table {  border-collapse: collapse;  border-spacing: 0;}
/* change border colour to suit your needs */
hr {  display: block;  height: 1px;  border: 0;  border-top: 1px solid #cccccc;  margin: 1em 0;  padding: 0;}input,select {  vertical-align: middle;}

/*--------------------------------------------------------*/
/*! _font*/
/*--------------------------------------------------------*/
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W3);
  font-weight: normal;
}
@font-face {
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W6);
  font-weight: bold;
}
@font-face {
  font-family: "NotoSansJP";
  src: url("../fonts/NotoSansJP.woff") format("woff");
  font-weight: 400 700;
  font-style: normal;
  font-display: swap;
}
/*--------------------------------------------------------*/
/*! _color*/
/*--------------------------------------------------------*/
:root {
  --c_red01: #B4001B;
  --c_red02: #FF0000;
  --c_red03: #E44343;
  --c_pink: #FFEEEE;
  --c_yellow: #FEE600;
  --c_beige: #E6D27F;
  --c_d-blue: #87A1BB;
  --c_l-blue: #EBEEFD;
  --c_black01: #000;
  --c_black02: #161E4A;
  --c_black03: #101636;
  --txt_black: var(--c_black01);
  --c_gray: #9F9A9A;
  --txt_gray: #D9D9D9;
  --c_white: #FFF;
  --txt_white: var(--c_white);
  --bg_base: #f3f3f3;
  --bg_body: var(--c_white);
  --bg_header: var(--c_red01);
  --bg_cta: var(--c_yellow);
  --bg_policy: #F9FAFB;
  --shadow01: 0 4px 4px rgba(0, 0, 0, 0.25);
  --shadow02: 4px 4px 4px rgba(0, 0, 0, 0.5);
  --grd_ex-box: linear-gradient(to bottom, #161E4A, #9E9E9E);
  --grd_ex-head: linear-gradient(138deg, #D19D38 0 12%, #FFF1B7 115%);
  --grd_ex-mon: linear-gradient(to bottom, #FFE600 -45%, #E44343);
  --grd_border: linear-gradient(to bottom, #D19D38, #FFE98C);
  --grd_step-num_sp: linear-gradient(to right, #869FB8, #92B0CF);
  --grd_step-num_pc: linear-gradient(to bottom, #869FB8, #92B0CF);
  --grd_step-bg: linear-gradient(to bottom, #E5E1E1, #FFFFFF);
  --grd_balloon: linear-gradient(to right, #FFF7F7, #999494);
  --grd_footer: linear-gradient(to bottom, #4D4D4D, #000 85% 100%);
}

/*--------------------------------------------------------*/
/*! _variable*/
/*--------------------------------------------------------*/
:root {
  --hover_transition:0.3s;
  --hover_opacity:0.7;
}

/*--------------------------------------------------------*/
/*! _base*/
/*--------------------------------------------------------*/
:root {
  --fz: min(0.133vw, calc(1/16 * 1rem));
  --val: min(0.133vw, 1px);
}

*,
*:before,
*:after {
  box-sizing: border-box;
  letter-spacing: 0em;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  min-height: 100vh;
  background-color: var(--bg_base);
  font-family: "NotoSansJP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
  font-size: calc(var(--fz) * 16);
  color: var(--txt_black);
  text-spacing-trim: space-all;
  overflow-y: scroll;
}

ul,
ol {
  list-style: none;
}

a {
  color: currentColor;
  text-decoration: none;
}
@media (any-hover: hover) {
  a:hover {
    text-decoration: none;
  }
}
@media (any-hover: none) {
  a:active {
    text-decoration: none;
  }
}

span {
  display: inline-block;
  letter-spacing: inherit;
}

picture {
  display: block;
}

img,
video,
iframe {
  display: inline-block;
  width: 100%;
  max-width: 100%;
  height: auto;
  font: initial;
  font-style: italic;
  vertical-align: middle;
}

input {
  margin: 0;
  padding: 0;
  font: inherit;
}

textarea {
  display: block;
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit;
  resize: none;
  field-sizing: content;
}

select {
  font: inherit;
  color: inherit;
}

button {
  padding: 0;
  background-color: transparent;
  border: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
}

/*--------------------------------------------------------*/
/* _utility
/*--------------------------------------------------------*/
@media screen and (min-width: 1024px) {
  .u-dn--pc {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .u-dn--pctb {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .u-dn--tb {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .u-dn--tb {
    display: block;
  }
}

.u-dn--tbsp {
  display: none;
}
@media screen and (min-width: 1024px) {
  .u-dn--tbsp {
    display: block;
  }
}

.u-dn--sp {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-dn--sp {
    display: block;
  }
}

.u-ttu {
  text-transform: uppercase;
}

.u-ttc {
  text-transform: capitalize;
}

/*--------------------------------------------------------*/
/*! _header*/
/*--------------------------------------------------------*/
.l-header {
  background-color: var(--bg_header);
}
.l-header__inner {
  padding: calc(var(--val) * 65) 0 calc(var(--val) * 13);
  position: relative;
}
@media screen and (min-width: 1024px) {
  .l-header__inner {
    padding: 15px 0;
  }
}
.l-header__logo {
  width: calc(var(--val) * 165);
  position: absolute;
  top: calc(var(--val) * 10);
  left: calc(var(--val) * 10);
}
@media screen and (min-width: 1024px) {
  .l-header__logo {
    top: 50%;
    transform: translateY(-50%);
  }
}
.l-header__text {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: calc(var(--val) * 20);
  font-size: calc(var(--fz) * 25);
  font-weight: 600;
  letter-spacing: 0.03em;
  text-align: center;
  color: var(--txt_white);
}
@media screen and (min-width: 1024px) {
  .l-header__text {
    padding-left: 0;
  }
}
.l-header__text::before, .l-header__text::after {
  content: "";
  width: calc(var(--val) * 2);
  height: calc(var(--val) * 28);
  margin: 0 calc(var(--val) * 16);
  background-color: var(--c_white);
}
.l-header__text::before {
  rotate: -22deg;
}
.l-header__text::after {
  rotate: 22deg;
}

/*--------------------------------------------------------*/
/*! _main*/
/*--------------------------------------------------------*/
.l-wrapper-limit {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  background-color: var(--bg_body);
}

.l-main__inner {
  width: 100%;
  max-width: 750px;
  padding: 0 calc(var(--val) * 50);
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .l-main__inner {
    max-width: none;
    padding: 0 20px;
  }
}

/*--------------------------------------------------------*/
/*! _footer*/
/*--------------------------------------------------------*/
.l-footer {
  padding: calc(var(--val) * 40) 0 calc(var(--val) * 80);
  background: var(--grd_footer);
}
@media screen and (min-width: 1024px) {
  .l-footer {
    padding: 40px 0 30px;
  }
}
.l-footer__inner {
  max-width: 750px;
  padding: 0 calc(var(--val) * 50);
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .l-footer__inner {
    max-width: none;
    padding: 0 20px;
  }
}
.l-footer__cont {
  padding: calc(var(--val) * 50) 0 calc(var(--val) * 40);
  margin: 0 auto;
  background-color: var(--c_white);
}
@media screen and (min-width: 1024px) {
  .l-footer__cont {
    max-width: 748px;
    padding: 18px 0;
  }
}
.l-footer__logo {
  width: calc(var(--val) * 240);
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .l-footer__logo {
    width: 130px;
  }
}
.l-footer__logo-link {
  display: inline-block;
  transition: opacity var(--hover_transition);
}
@media (any-hover: hover) {
  .l-footer__logo-link:hover {
    opacity: var(--hover_opacity);
  }
}
@media (any-hover: none) {
  .l-footer__logo-link:active {
    opacity: var(--hover_opacity);
  }
}
.l-footer__text {
  margin-top: calc(var(--val) * 35);
  font-size: calc(var(--fz) * 24);
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .l-footer__text {
    margin-top: 20px;
    font-size: 16px;
    font-size: 1rem;
  }
}
.l-footer__address {
  width: fit-content;
  margin: calc(var(--val) * 82) auto 0;
  font-size: calc(var(--fz) * 24);
  line-height: 1.25;
  color: var(--txt_white);
}
@media screen and (min-width: 1024px) {
  .l-footer__address {
    margin-top: 38px;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.5;
  }
}
.l-footer__copy-right {
  margin-top: calc(var(--val) * 38);
  font-size: calc(var(--fz) * 24);
  line-height: 1.5;
  color: var(--txt_white);
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .l-footer__copy-right {
    font-size: 16px;
    font-size: 1rem;
  }
}

/* -- form#mail_form, dl, dt, dd -------------------------------------------------------------------------------- */
form#mail_form {
  margin: calc(var(--val) * 65) auto 0;
  border-top: calc(var(--val) * 2) solid var(--c_gray);
}
@media screen and (min-width: 1024px) {
  form#mail_form {
    max-width: 690px;
    margin-top: 90px;
  }
}

form#mail_form dl {
  display: flex;
  flex-direction: column;
  align-items: start;
  flex-wrap: wrap;
  width: 100%;
  padding: calc(var(--val) * 25) 0;
  margin: 0 auto;
  border-bottom: calc(var(--val) * 2) solid var(--c_gray);
  font-size: calc(var(--fz) * 24);
  font-weight: bold;
  line-height: 1.2;
  position: relative;
  
}
@media screen and (min-width: 1024px) {
  form#mail_form dl {
    flex-direction: row;
    padding: 15px 0;
    font-size: 14px;
    font-size: 0.875rem;
  }
}

form#mail_form dl dt {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 1024px) {
  form#mail_form dl dt {
    width: 30%;
    padding: 10px 0;
  }
}
form#mail_form dl dt.postal-heading {
  visibility: hidden;
  position: absolute;
}
@media screen and (min-width: 1024px) {
  form#mail_form dl dt.postal-heading {
    position: static;
  }
}
form#mail_form dl dt.address-heading {
  order: -1;
}
@media screen and (min-width: 1024px) {
  form#mail_form dl dt.address-heading {
    order: 0;
    transform: translateY(-100%);
  }
}

form#mail_form dl dd {
  width: 100%;
  margin-top: calc(var(--val) * 25);
}
@media screen and (min-width: 1024px) {
  form#mail_form dl dd {
    width: 70%;
    margin-top: 0;
  }
}
form#mail_form dl dd:nth-child(2 of dd) {
  margin-top: calc(var(--val) * 30);
}
@media screen and (min-width: 1024px) {
  form#mail_form dl dd:nth-child(2 of dd) {
    margin-top: 16px;
  }
}

form#mail_form dl dd .postal-code {
  margin-right: calc(var(--val) * 20);
  vertical-align: middle;
}
@media screen and (min-width: 1024px) {
  form#mail_form dl dd .postal-code {
    margin-right: 5px;
    font-size: 20px;
    font-size: 1.25rem;
  }
}

form#mail_form dl dd .postal-text {
  width: 100%;
  margin-top: calc(var(--val) * 10);
  font-size: calc(var(--fz) * 20);
}
@media screen and (min-width: 1024px) {
  form#mail_form dl dd .postal-text {
    width: auto;
    margin-left: 6px;
    font-size: 12px;
    font-size: 0.75rem;
  }
}

form#mail_form dl dt i {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

form#mail_form dl dt span.required,
form#mail_form dl dt span.optional {
  display: inline-block;
  font-weight: bold;
  color: var(--c_red02);
}

/* -- error message -------------------------------------------------------------------------------- */
form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
  display: block;
  margin-top: calc(var(--val) * 10);
  font-size: calc(var(--fz) * 20);
  font-weight: normal;
  color: var(--c_red02);
}
@media screen and (min-width: 1024px) {
  form#mail_form dl dd span.error_blank,
  form#mail_form dl dd span.error_format,
  form#mail_form dl dd span.error_match {
    margin-top: 5px;
    font-size: 12px;
    font-size: 0.75rem;
  }
}

/* -- loading -------------------------------------------------------------------------------- */
div.loading-layer {
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  left: 0px;
  top: 0px;
  z-index: 10000;
}

span.loading {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border-top: 5px solid rgba(255, 255, 255, 0.2);
  border-right: 5px solid rgba(255, 255, 255, 0.2);
  border-bottom: 5px solid rgba(255, 255, 255, 0.2);
  border-left: 5px solid #ffffff;
  transform: translateZ(0);
  animation: load-circle 1s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
}

@-webkit-keyframes load-circle {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes load-circle {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* -- input, select, textarea -------------------------------------------------------------------------------- */
form#mail_form input[type=text],
form#mail_form input[type=email],
form#mail_form input[type=tel] {
  width: 100%;
  padding: calc(var(--val) * 18);
  background-color: var(--c_white);
  border: 1px solid var(--c_gray);
  border-radius: 2px;
  font-size: calc(var(--fz) * 32);
}
@media screen and (min-width: 1024px) {
  form#mail_form input[type=text],
  form#mail_form input[type=email],
  form#mail_form input[type=tel] {
    padding: 8px 12px;
    font-size: 14px;
    font-size: 0.875rem;
  }
}
form#mail_form input[type=text]::placeholder,
form#mail_form input[type=email]::placeholder,
form#mail_form input[type=tel]::placeholder {
  font-weight: 500;
  color: var(--txt_gray);
}

form#mail_form input[name=postal] {
  width: 65%;
}
@media screen and (min-width: 1024px) {
  form#mail_form input[name=postal] {
    width: 35%;
  }
}

form#mail_form select {
  width: 60%;
  padding: calc(var(--val) * 8) calc(var(--val) * 14);
  margin-top: calc(var(--val) * 4);
  background-color: var(--c_white);
  border: 1px solid var(--c_gray);
  border-radius: 2px;
  font-size: calc(var(--fz) * 24);
}
@media screen and (min-width: 1024px) {
  form#mail_form select {
    width: 44%;
    padding: 0 5px;
    font-size: 16px;
    font-size: 1rem;
  }
}

form#mail_form textarea {
  width: 100%;
  height: calc(var(--val) * 375);
  padding: calc(var(--val) * 15);
  background-color: var(--c_white);
  border: 1px solid var(--c_gray);
  border-radius: 2px;
  font-size: calc(var(--fz) * 32);
}
@media screen and (min-width: 1024px) {
  form#mail_form textarea {
    height: 152px;
    padding: 8px 12px;
    font-size: 14px;
    font-size: 0.875rem;
  }
}
form#mail_form textarea::placeholder {
  font-weight: 500;
  color: var(--txt_gray);
}

/* -- button -------------------------------------------------------------------------------- */
form#mail_form p#form_submit {
  margin-top: calc(var(--val) * 50);
  text-align: center;
}

form#mail_form input[type=button] {
  -webkit-appearance: none;
  width: calc(var(--val) * 330);
  padding: calc(var(--val) * 14) 0;
  border: 2px solid var(--c_gray);
  border-radius: 0;
  background-color: var(--c_yellow);
  font-size: calc(var(--fz) * 24);
  font-weight: bold;
  line-height: 1.2;
  color: var(--c_black01);
  transition: box-shadow 0.3s;
}
@media screen and (min-width: 1024px) {
  form#mail_form input[type=button] {
    width: 315px;
    padding: 18px 0;
    font-size: 20px;
    font-size: 1.25rem;
  }
}

form#mail_form input[type=button]:hover {
  cursor: pointer;
  box-shadow: var(--shadow01);
}

/* -- agreement -------------------------------------------------------------------------------- */
div#agreement {
  margin-top: calc(var(--val) * 40);
  text-align: center;
}
@media screen and (min-width: 1024px) {
  div#agreement {
    margin-top: 55px;
  }
}

div#agreement #agree_check label {
  font-size: calc(var(--fz) * 24);
  font-weight: 500;
  line-height: 2;
  vertical-align: middle;
}
@media screen and (min-width: 1024px) {
  div#agreement #agree_check label {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.2;
  }
}
div#agreement #agree_check label a {
  font-weight: bold;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  transition: opacity 0.3s;
}
@media (any-hover: hover) {
  div#agreement #agree_check label a:hover {
    opacity: 0.7;
  }
}
@media (any-hover: none) {
  div#agreement #agree_check label a:active {
    opacity: 0.7;
  }
}

div#agreement input[type=checkbox] {
  width: calc(var(--val) * 24);
  height: calc(var(--val) * 24);
  margin-right: calc(var(--val) * 5);
  accent-color: var(--c_black01);
}
@media screen and (min-width: 1024px) {
  div#agreement input[type=checkbox] {
    width: 16px;
    height: 16px;
  }
}

form#mail_form div#agreement span.error_check {
  display: none;
  margin-top: calc(var(--val) * 5);
  font-size: calc(var(--fz) * 20);
  line-height: 1.2;
  color: var(--c_red02);
}
@media screen and (min-width: 1024px) {
  form#mail_form div#agreement span.error_check {
    font-size: 12px;
    font-size: 0.75rem;
  }
}

/* -- div#confirm_field, dl, dt, dd -------------------------------------------------------------------------------- */
div#confirm_field {
  padding: calc(var(--val) * 50) calc(var(--val) * 20);
  margin: calc(var(--val) * 140) auto 0;
  border: calc(var(--val) * 3) solid var(--c_black01);
  box-shadow: var(--shadow01);
  display: none;
}
@media screen and (min-width: 1024px) {
  div#confirm_field {
    max-width: 940px;
    margin-top: 90px;
  }
}

div#confirm_field h2 {
  font-size: calc(var(--fz) * 28);
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  div#confirm_field h2 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

div#confirm_field #confirm_window {
  margin: calc(var(--val) * 30) auto 0;
  border-top: calc(var(--val) * 2) solid var(--c_gray);
}
@media screen and (min-width: 1024px) {
  div#confirm_field #confirm_window {
    max-width: 690px;
  }
}

div#confirm_field dl {
  display: flex;
  flex-direction: column;
  align-items: start;
  flex-wrap: wrap;
  width: 100%;
  padding: calc(var(--val) * 25) 0;
  margin: 0 auto;
  border-bottom: calc(var(--val) * 2) solid var(--c_gray);
  font-size: calc(var(--fz) * 24);
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (min-width: 1024px) {
  div#confirm_field dl {
    flex-direction: row;
    padding: 25px 0;
    font-size: 16px;
    font-size: 1rem;
  }
}

div#confirm_field dl dt {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 1024px) {
  div#confirm_field dl dt {
    width: 30%;
  }
}

div#confirm_field dl dd {
  width: 100%;
  margin-top: calc(var(--val) * 25);
}
@media screen and (min-width: 1024px) {
  div#confirm_field dl dd {
    width: 70%;
    margin-top: 0;
  }
}
div#confirm_field dl dd:nth-child(2 of dd) {
  margin-top: calc(var(--val) * 25);
}
@media screen and (min-width: 1024px) {
  div#confirm_field dl dd:nth-child(2 of dd) {
    margin-top: 16px;
  }
}

div#confirm_field p#confirm_submit {
  margin: calc(var(--val) * 30) auto 0;
  text-align: center;
}

div#confirm_field input[type=button] {
  -webkit-appearance: none;
  padding: calc(var(--val) * 16);
  font-size: calc(var(--fz) * 20);
  font-weight: bold;
  line-height: 1.2;
  transition: box-shadow 0.3s;
}

div#confirm_field input[type=button]:hover {
  cursor: pointer;
  box-shadow: var(--shadow01);
}

div#confirm_field input#confirm_submit_button {
  background-color: var(--c_yellow);
  border: 2px solid var(--c_gray);
}

div#confirm_field input#confirm_cancel_button {
  background-color: var(--c_l-blue);
  border: 2px solid var(--c_gray);
  margin-left: calc(var(--val) * 40);
}

/*!--------------------------------------------------------*/
/*! _top*/
/*!--------------------------------------------------------*/
.p-flow__sec-title, .p-example__sec-title, .p-reason__sec-title {
  width: calc(var(--val) * 500);
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .p-flow__sec-title, .p-example__sec-title, .p-reason__sec-title {
    width: 340px;
  }
}

.img_2x {
  width: fit-content;
}
.img_2x img {
  width: auto;
  zoom: 0.5;
  font-size: 32px;
  font-size: 2rem;
}

/*--------------------------------------------------------*/
/*! <fv>*/
/*--------------------------------------------------------*/
.p-fv {
  padding: calc(var(--val) * 25) 0 calc(var(--val) * 20);
  background-image: url(../img/fv-bg_sp.webp);
  background-size: cover;
  background-position: right center;
}
@media screen and (min-width: 1024px) {
  .p-fv {
    padding: 40px 0 30px;
    background-image: url(../img/fv-bg.webp);
    background-position: right bottom;
  }
}
.p-fv__img {
  margin: 0 auto;
}

/*--------------------------------------------------------*/
/*! <cta>*/
/*--------------------------------------------------------*/
.p-cta {
  padding: calc(var(--val) * 22) 0 calc(var(--val) * 10);
  background-color: var(--bg_cta);
}
@media screen and (min-width: 1024px) {
  .p-cta {
    padding: 4px 0;
  }
}
.p-cta__inner {
  padding: 0 calc(var(--val) * 40);
}
@media screen and (min-width: 1024px) {
  .p-cta__inner {
    padding: 0 20px;
  }
}
.p-cta__container {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .p-cta__container {
    flex-direction: row;
    justify-content: center;
  }
}
.p-cta__btn {
  margin-top: calc(var(--val) * 10);
  display: inline-block;
  transition: scale 0.3s;
}
@media screen and (min-width: 1024px) {
  .p-cta__btn {
    margin-top: 0;
  }
}
@media (any-hover: hover) {
  .p-cta__btn:hover {
    scale: 0.98;
  }
}
@media (any-hover: none) {
  .p-cta__btn:active {
    scale: 0.98;
  }
}

/*--------------------------------------------------------*/
/*! <reason>*/
/*--------------------------------------------------------*/
.p-reason {
  padding: calc(var(--val) * 65) 0 calc(var(--val) * 125);
  background-image: url(../img/reason-bg_sp.webp);
  background-size: 100% auto;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .p-reason {
    padding: 55px 0 65px;
    background-image: url(../img/reason-bg.webp);
    background-size: cover;
  }
}
.p-reason__list {
  display: grid;
  gap: calc(var(--val) * 102);
  padding-bottom: calc(var(--val) * 575);
  margin: calc(var(--val) * 105) auto 0;
  counter-reset: num 0;
}
@media screen and (min-width: 1024px) {
  .p-reason__list {
    max-width: 932px;
    grid-template-columns: repeat(3, 1fr);
    gap: 54px 30px;
    padding-bottom: 0;
    margin-top: 80px;
  }
}
.p-reason__li-item {
  aspect-ratio: 290/389;
  padding: calc(var(--val) * 150) calc(var(--val) * 55);
  background-image: url(../img/reason-list-bg.webp);
  background-size: contain;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-reason__li-item {
    padding: 48px 15px;
  }
}
@media screen and (min-width: 1024px) {
  .p-reason__li-item.seven {
    grid-column: 2;
    grid-row: 3;
    position: relative;
  }
}
.p-reason__li-item.seven::before {
  content: "";
  width: calc(var(--val) * 356);
  aspect-ratio: 356/239;
  background-image: url(../img/reason-ramen01.webp);
  background-size: contain;
  position: absolute;
  top: calc(100% + var(--val) * 105);
  left: calc(var(--val) * 25);
}
@media screen and (min-width: 1024px) {
  .p-reason__li-item.seven::before {
    margin: 0 52px;
    top: 68px;
    left: auto;
    right: 100%;
  }
}
.p-reason__li-item.seven::after {
  content: "";
  width: calc(var(--val) * 450);
  aspect-ratio: 450/300;
  background-image: url(../img/reason-ramen02.webp);
  background-size: contain;
  position: absolute;
  top: calc(100% + var(--val) * 280);
  right: calc(var(--val) * -40);
}
@media screen and (min-width: 1024px) {
  .p-reason__li-item.seven::after {
    top: 0;
    left: calc(100% - 5px);
    right: auto;
  }
}
.p-reason__li-num {
  width: calc(var(--val) * 182);
  position: absolute;
  top: calc(var(--val) * -48);
  left: calc(var(--val) * -32);
}
@media screen and (min-width: 1024px) {
  .p-reason__li-num {
    width: 95px;
    top: -40px;
    left: -32px;
  }
}
.p-reason__li-img {
  margin: 0 calc(var(--val) * 5);
  box-shadow: var(--shadow01);
}
.p-reason__li-cont {
  margin-top: calc(var(--val) * 35);
}
@media screen and (min-width: 1024px) {
  .p-reason__li-cont {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    margin-top: 6px;
  }
}
.p-reason__li-heading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2lh;
  font-size: calc(var(--fz) * 32);
  font-weight: bold;
  line-height: 1.31;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-reason__li-heading {
    font-size: 18px;
    font-size: 1.125rem;
    line-height: 1.22;
  }
}
.p-reason__li-heading .red {
  color: var(--c_red03);
}
.p-reason__li-text {
  margin-top: calc(var(--val) * 15);
  font-size: calc(var(--fz) * 24);
  line-height: 1.65;
}
@media screen and (min-width: 1024px) {
  .p-reason__li-text {
    padding: 0 2px;
    margin-top: 6px;
    font-size: 14px;
    font-size: 0.875rem;
  }
}

/*--------------------------------------------------------*/
/*! <example>*/
/*--------------------------------------------------------*/
.p-example {
  padding: calc(var(--val) * 90) 0 calc(var(--val) * 130);
  background-image: url(../img/example-bg_sp.webp);
  background-size: cover;
}
@media screen and (min-width: 1024px) {
  .p-example {
    padding: 40px 0 50px;
    background-image: url(../img/example-bg.webp);
  }
}
.p-example__flex {
  display: flex;
  flex-direction: column;
  margin: calc(var(--val) * 150) auto 0;
  gap: calc(var(--val) * 200);
}
@media screen and (min-width: 1024px) {
  .p-example__flex {
    flex-direction: row;
    justify-content: space-between;
    gap: 0;
    max-width: 938px;
    margin-top: 76px;
  }
}
@media screen and (min-width: 1024px) {
  .p-example__fl-item {
    width: 432px;
  }
}
.p-example__fl-box {
  padding: calc(var(--val) * 75) calc(var(--val) * 25) calc(var(--val) * 10);
  background: var(--grd_ex-box);
  border: calc(var(--val) * 5) solid var(--c_black01);
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-example__fl-box {
    padding: 55px 15px 5px 15px;
  }
}
.p-example__fl-heading {
  width: fit-content;
  padding: calc(var(--val) * 25) calc(var(--val) * 53) calc(var(--val) * 35);
  background: var(--grd_ex-head);
  border: calc(var(--val) * 3) solid var(--c_black01);
  font-size: calc(var(--fz) * 64);
  font-weight: 500;
  paint-order: stroke;
  -webkit-text-stroke: calc(var(--val) * 5) var(--c_white);
  text-stroke: calc(var(--val) * 5) var(--c_white);
  position: absolute;
  top: calc(var(--val) * -10);
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .p-example__fl-heading {
    padding: 20px 37px;
    font-size: 40px;
    font-size: 2.5rem;
    top: -6px;
  }
}
.p-example__fl-cont {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .p-example__fl-cont {
    justify-content: start;
    gap: 10px;
  }
}
.p-example__monthly {
  width: calc(var(--val) * 220);
  padding: calc(var(--val) * 20) 0 calc(var(--val) * 30);
  background: var(--grd_ex-mon);
  font-size: calc(var(--fz) * 64);
  font-weight: bold;
  text-align: center;
  color: var(--c_white);
  text-shadow: var(--shadow01);
}
@media screen and (min-width: 1024px) {
  .p-example__monthly {
    width: 146px;
    padding: 16px 0;
    font-size: 40px;
    font-size: 2.5rem;
  }
}
.p-example__shop {
  font-size: calc(var(--fz) * 40);
  line-height: 1.25;
  color: var(--txt_white);
}
@media screen and (min-width: 1024px) {
  .p-example__shop {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.p-example__sales {
  font-size: calc(var(--fz) * 36);
  font-weight: bold;
  color: var(--c_yellow);
  text-shadow: calc(var(--val) * 4) calc(var(--val) * 4) calc(var(--val) * 4) rgba(0, 0, 0, 0.6);
}
@media screen and (min-width: 1024px) {
  .p-example__sales {
    font-size: 25px;
    font-size: 1.5625rem;
  }
}
.p-example__sales .num {
  font-size: calc(var(--fz) * 96);
}
@media screen and (min-width: 1024px) {
  .p-example__sales .num {
    font-size: 60px;
    font-size: 3.75rem;
  }
}
.p-example__rating {
  padding: calc(var(--val) * 10) 0;
  margin-top: calc(var(--val) * 18);
  background-color: var(--c_black02);
  border-radius: 100vh;
  font-size: calc(var(--fz) * 36);
  font-weight: 500;
  line-height: 1.25;
  color: var(--txt_white);
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-example__rating {
    padding: 2px 0;
    margin-top: 10px;
    margin-right: 5px;
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.p-example__asof {
  margin-top: calc(var(--val) * 5);
  font-size: calc(var(--fz) * 16);
  font-weight: 500;
  text-align: right;
  transform: translateX(5px);
}
@media screen and (min-width: 1024px) {
  .p-example__asof {
    margin-top: 6px;
    transform: translateX(10px);
  }
}
.p-example__fl-text {
  margin-top: calc(var(--val) * 28);
  font-size: calc(var(--fz) * 24);
  font-weight: bold;
  line-height: 1.45;
  color: var(--txt_white);
  text-shadow: calc(var(--val) * 4) calc(var(--val) * 4) calc(var(--val) * 4) rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 1024px) {
  .p-example__fl-text {
    margin-top: 4px;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.875;
  }
}
.p-example__fl-img {
  margin-top: calc(var(--val) * 35);
  box-shadow: var(--shadow02);
}
@media screen and (min-width: 1024px) {
  .p-example__fl-img {
    margin-top: 30px;
  }
}

/*--------------------------------------------------------*/
/*! <flow>*/
/*--------------------------------------------------------*/
.p-flow {
  padding: calc(var(--val) * 80) 0 calc(var(--val) * 100);
  background-image: url(../img/flow-bg_sp.webp);
  background-size: cover;
}
@media screen and (min-width: 1024px) {
  .p-flow {
    padding: 45px 0 40px;
    background-image: url(../img/flow-bg.webp);
  }
}
@media screen and (min-width: 1024px) {
  .p-flow__inner {
    padding: 0;
  }
}
.p-flow__chart {
  display: flex;
  flex-direction: column;
  align-items: start;
  margin: calc(var(--val) * 30) auto 0;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-flow__chart {
    flex-direction: row;
    justify-content: center;
    align-items: start;
    max-width: 1050px;
    margin-top: 48px;
  }
}
.p-flow__chart-item {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--val) * 181);
  aspect-ratio: 1/1;
  margin: 0 auto;
  border: calc(var(--val) * 2) solid transparent;
  background-image: linear-gradient(var(--c_pink), var(--c_pink)), var(--grd_border);
  background-origin: border-box;
  background-clip: padding-box, border-box;
  border-radius: 50%;
  font-size: calc(var(--fz) * 36);
  line-height: 1.2;
  text-align: center;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 1024px) {
  .p-flow__chart-item {
    width: 88px;
    margin: 0;
    margin-top: 66px;
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.5;
    position: absolute;
    top: 0;
  }
}
.p-flow__chart-item::before {
  content: "";
  width: calc(var(--val) * 3);
  height: calc(var(--val) * 100);
  background-image: linear-gradient(to bottom, var(--c_gray) 50%, transparent 50%);
  background-size: calc(var(--val) * 3) calc(var(--val) * 12);
  background-position: center;
  background-repeat: repeat-y;
  position: absolute;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .p-flow__chart-item::before {
    height: 60px;
    margin: 0 30px;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
  }
}
@media screen and (min-width: 1024px) {
  .p-flow__chart-item:nth-child(1 of .p-flow__chart-item) {
    margin-right: 50px;
    left: 0;
  }
}
.p-flow__chart-item:nth-child(1 of .p-flow__chart-item)::before {
  top: 100%;
  left: 50%;
}
@media screen and (min-width: 1024px) {
  .p-flow__chart-item:nth-child(1 of .p-flow__chart-item)::before {
    top: 50%;
    left: 100%;
  }
}
.p-flow__chart-item:nth-child(2 of .p-flow__chart-item) {
  margin-top: calc(var(--val) * 80);
}
@media screen and (min-width: 1024px) {
  .p-flow__chart-item:nth-child(2 of .p-flow__chart-item) {
    margin-top: 66px;
    margin-left: 50px;
    right: 0;
  }
}
.p-flow__chart-item:nth-child(2 of .p-flow__chart-item)::before {
  bottom: 100%;
  right: 50%;
}
@media screen and (min-width: 1024px) {
  .p-flow__chart-item:nth-child(2 of .p-flow__chart-item)::before {
    top: 50%;
    right: 100%;
  }
}
.p-flow__list {
  display: grid;
  gap: calc(var(--val) * 80);
  width: 100%;
  margin-top: calc(var(--val) * 55);
  counter-reset: num 0;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .p-flow__list {
    grid-template-columns: repeat(5, 1fr);
    gap: 36px;
    width: auto;
    margin-top: 0;
  }
}
.p-flow__li-item {
  display: grid;
  grid-template-columns: calc(var(--val) * 205) auto calc(var(--val) * 230);
  align-items: center;
  background: var(--grd_step-bg);
  border-radius: calc(var(--val) * 20);
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-flow__li-item {
    display: block;
    align-items: start;
    width: 122px;
    padding: 58px 0 24px;
  }
}
.p-flow__li-item::before {
  content: "step" counter(num, decimal-leading-zero);
  counter-increment: num 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  background: var(--grd_step-num_sp);
  border-radius: calc(var(--val) * 20) 0 0 calc(var(--val) * 20);
  font-size: calc(var(--fz) * 25);
  line-height: 1.5;
  color: var(--txt_white);
  text-align: center;
  text-transform: uppercase;
}
@media screen and (min-width: 1024px) {
  .p-flow__li-item::before {
    height: auto;
    padding: 12px 0;
    margin: 0 auto;
    background: var(--grd_step-num_pc);
    border-radius: 20px 20px 0 0;
    font-size: 20px;
    font-size: 1.25rem;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
}
.p-flow__li-item:not(:last-child)::after {
  content: "";
  width: calc(var(--val) * 52);
  border: solid transparent;
  border-width: calc(var(--val) * 26) calc(var(--val) * 80);
  border-top-color: var(--c_d-blue);
  filter: drop-shadow(var(--shadow01));
  position: absolute;
  top: calc(100% + var(--val) * 24);
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (min-width: 1024px) {
  .p-flow__li-item:not(:last-child)::after {
    width: 28px;
    border-width: 22px 14px;
    border-top-color: transparent;
    border-left-color: var(--c_d-blue);
    top: 41%;
    left: calc(100% + 5px);
    transform: translateX(0);
  }
}
.p-flow__li-heading {
  order: 1;
  font-size: calc(var(--fz) * 36);
  line-height: 1.5;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-flow__li-heading {
    font-size: 20px;
    font-size: 1.25rem;
  }
}
.p-flow__li-img {
  width: calc(var(--val) * 86);
  padding: calc(var(--val) * 18) 0;
  margin-left: calc(var(--val) * 78);
}
@media screen and (min-width: 1024px) {
  .p-flow__li-img {
    width: 80px;
    padding: 0;
    margin: 12px auto 0;
  }
}

/*--------------------------------------------------------*/
/*! <solution>*/
/*--------------------------------------------------------*/
.p-solution {
  padding: calc(var(--val) * 85) 0 calc(var(--val) * 190);
  background-image: url(../img/solution-bg_sp.webp);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: repeat;
}
@media screen and (min-width: 1024px) {
  .p-solution {
    padding: 70px 0 150px;
    background-image: url(../img/solution-bg.webp);
    background-size: 490px auto;
  }
}
.p-solution__inner {
  padding: 0 calc(var(--val) * 45);
}
@media screen and (min-width: 1024px) {
  .p-solution__inner {
    padding: 0 20px;
  }
}
.p-solution__balloon {
  width: calc(var(--val) * 500);
  aspect-ratio: 500/73;
  background: var(--grd_balloon);
  mask-image: url(../img/solution-balloon.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  padding-top: calc(var(--val) * 10);
  margin: 0 auto;
  font-size: calc(var(--fz) * 24);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.p-solution__balloon .red {
  color: var(--c_red02);
}
.p-solution__sec-title {
  width: fit-content;
  padding-bottom: calc(var(--val) * 14);
  margin: calc(var(--val) * 20) auto 0;
  font-size: calc(var(--fz) * 30);
  font-weight: 500;
  color: var(--txt_white);
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 1024px) {
  .p-solution__sec-title {
    padding: 0 calc(var(--val) * 24) calc(var(--val) * 16);
    margin-top: 0;
    letter-spacing: 0.05em;
  }
}
.p-solution__sec-title::before {
  content: "";
  width: 100%;
  height: calc(var(--val) * 36);
  background-color: var(--c_black03);
  border-radius: 100vh;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.p-solution__sec-title .strong {
  font-size: calc(var(--fz) * 40);
  font-weight: bold;
}
.p-solution__sec-title .strong.large {
  font-size: calc(var(--fz) * 48);
}
.p-solution__sec-title .beige {
  color: var(--c_beige);
}
.p-solution__sec-title .blue {
  color: var(--c_l-blue);
}
.p-solution__sec-title .red {
  color: var(--c_red02);
}
.p-solution__list {
  display: grid;
  max-width: calc(var(--val) * 400);
  margin: calc(var(--val) * 50) auto 0;
  gap: calc(var(--val) * 35);
}
@media screen and (min-width: 1024px) {
  .p-solution__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    max-width: 916px;
    margin-top: 45px;
  }
}
.p-solution__li-item {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 310/237;
  background-image: url(../img/solution-list-bg.webp);
  background-size: contain;
  background-repeat: no-repeat;
  font-size: calc(var(--fz) * 36);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.05em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-solution__li-item {
    font-size: 30px;
    font-size: 1.875rem;
    line-height: 1.66;
  }
  .p-solution__li-item:not(:first-child) {
    margin-left: -5px;
  }
}

/*--------------------------------------------------------*/
/*! <download>*/
/*--------------------------------------------------------*/
.p-download {
  padding-bottom: calc(var(--val) * 85);
}
@media screen and (min-width: 1024px) {
  .p-download {
    padding-bottom: 210px;
  }
}
.p-download__title-box {
  padding: calc(var(--val) * 20) 0 calc(var(--val) * 15);
  margin: calc(var(--val) * -105) auto 0;
  background-color: var(--c_yellow);
  border: calc(var(--val) * 3) solid var(--c_black01);
  box-shadow: var(--shadow01);
}
@media screen and (min-width: 1024px) {
  .p-download__title-box {
    max-width: 694px;
    padding-bottom: 15px;
    margin-top: -70px;
  }
}
.p-download__box-text {
  font-size: calc(var(--fz) * 20);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
.p-download__box-text.fwn {
  font-weight: normal;
}
.p-download__box-text .balloon {
  padding: calc(var(--val) * 6) calc(var(--val) * 16);
  margin: calc(var(--val) * 8) 0 calc(var(--val) * 10) calc(var(--val) * 8);
  background-color: var(--c_white);
  border-radius: 100vh;
  color: var(--c_red02);
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-download__box-text .balloon {
    padding: 6px 28px;
    margin: 4px 0 14px 8px;
  }
}
.p-download__box-text .balloon::before {
  content: "";
  width: calc(var(--val) * 26);
  aspect-ratio: 26/15;
  background-color: var(--c_white);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, calc(var(--val) * -6));
}
@media screen and (min-width: 1024px) {
  .p-download__box-text .balloon::before {
    transform: translate(-50%, -1px);
  }
}
.p-download__slash {
  width: fit-content;
  margin: 0 auto;
  position: relative;
}
.p-download__slash::before, .p-download__slash::after {
  content: "";
  width: calc(var(--val) * 27);
  aspect-ratio: 27/35;
  background-image: url(../img/download-slash.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin: 0 calc(var(--val) * 24);
  position: absolute;
  top: 0;
}
@media screen and (min-width: 1024px) {
  .p-download__slash::before, .p-download__slash::after {
    margin: 0 6px;
  }
}
.p-download__slash::before {
  right: 100%;
}
.p-download__slash::after {
  left: 100%;
  scale: -1 1;
}
.p-download__slash .red {
  font-size: calc(var(--fz) * 30);
  color: var(--c_red03);
}
.p-download__sec-title {
  font-size: calc(var(--fz) * 40);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
.p-download__sec-title .red {
  font-size: calc(var(--fz) * 48);
  color: var(--c_red03);
}
.p-download__container {
  margin-top: calc(var(--val) * 70);
}
.p-download__form-text {
  font-size: calc(var(--fz) * 24);
  font-weight: bold;
  line-height: 2.3;
  color: var(--c_red03);
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-download__form-text {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.75;
  }
}

/*--------------------------------------------------------*/
/*! <policy>*/
/*--------------------------------------------------------*/
.p-policy {
  background-color: var(--bg_policy);
}
@media screen and (min-width: 1024px) {
  .p-policy__upper {
    height: 308px;
  }
  .p-policy__upper img {
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
}
.p-policy__inner {
  padding: calc(var(--val) * 150) calc(var(--val) * 42) calc(var(--val) * 145);
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-policy__inner {
    max-width: 1090px;
    padding: 70px 20px 150px;
  }
}
.p-policy__logo {
  width: calc(var(--val) * 165);
  position: absolute;
  top: calc(var(--val) * 60);
  left: calc(var(--val) * 60);
}
@media screen and (min-width: 1024px) {
  .p-policy__logo {
    top: 60px;
    left: 0;
  }
}
.p-policy__sec-title {
  padding-bottom: calc(var(--val) * 45);
  font-size: calc(var(--fz) * 32);
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .p-policy__sec-title {
    padding-bottom: 30px;
    font-size: 26px;
    font-size: 1.625rem;
  }
}
.p-policy__sec-title::before {
  content: "";
  width: calc(var(--val) * 105);
  height: calc(var(--val) * 3);
  margin: 0 auto;
  background-color: var(--c_black01);
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.p-policy__text {
  margin-top: calc(var(--val) * 55);
  font-size: calc(var(--fz) * 24);
  line-height: 1.45;
}
@media screen and (min-width: 1024px) {
  .p-policy__text {
    margin-top: 75px;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.8;
  }
}
.p-policy__list {
  display: flex;
  flex-direction: column;
  gap: calc(var(--val) * 100);
  margin-top: calc(var(--val) * 100);
  counter-reset: sec 0;
}
@media screen and (min-width: 1024px) {
  .p-policy__list {
    gap: 54px;
    margin-top: 90px;
  }
}
.p-policy__li-item {
  font-size: calc(var(--fz) * 24);
  line-height: 1.45;
  counter-reset: subsec 0;
}
@media screen and (min-width: 1024px) {
  .p-policy__li-item {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.8;
  }
}
.p-policy__li-heading {
  font-weight: bold;
}
.p-policy__li-heading::before {
  content: counter(sec) ". ";
  counter-increment: sec 1;
}
.p-policy__li-text {
  margin-top: 1lh;
}
.p-policy__sub-sec {
  margin-top: 1lh;
}
.p-policy__li-sub-text::before {
  content: counter(sec) "." counter(subsec);
  counter-increment: subsec;
  padding-right: 0.25em;
  text-indent: 0;
  text-align: right;
}
.p-policy__sub-list {
  counter-reset: num 0;
}
.p-policy__sub-li-item {
  margin-left: 1.2em;
  text-indent: -1.2em;
}
.p-policy__sub-li-item::before {
  display: inline-block;
  width: 1.2em;
  content: counter(num) "";
  counter-increment: num 1;
  text-indent: 0;
  text-align: center;
}
.p-policy__date {
  margin-top: calc(var(--val) * 215);
  font-size: calc(var(--fz) * 24);
  font-weight: bold;
  text-align: right;
}
@media screen and (min-width: 1024px) {
  .p-policy__date {
    margin-top: 84px;
    font-size: 16px;
    font-size: 1rem;
  }
}

/*--------------------------------------------------------*/
/* !_thanks*/
/*--------------------------------------------------------*/
.p-thanks {
  min-height: 100vh;
  padding: calc(var(--val) * 115) 0;
}
@media screen and (min-width: 1024px) {
  .p-thanks {
    padding: 50px 0 45px;
  }
}
.p-thanks__inner {
  padding: 0 calc(var(--val) * 65);
}
@media screen and (min-width: 1024px) {
  .p-thanks__inner {
    max-width: 860px;
    padding: 0 30px;
  }
}
.p-thanks__logo {
  width: calc(var(--val) * 300);
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .p-thanks__logo {
    width: 240px;
  }
}
.p-thanks__heading {
  margin: calc(var(--val) * 55) 0;
  font-size: calc(var(--fz) * 32);
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-thanks__heading {
    margin: 35px 0 15px;
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.p-thanks__text {
  font-size: calc(var(--fz) * 24);
  line-height: 1.45;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-thanks__text {
    font-size: 16px;
    font-size: 1rem;
  }
}
.p-thanks__text:is(.p-thanks__textArea *) {
  font-size: calc(var(--fz) * 20);
  line-height: 1.75;
}
@media screen and (min-width: 1024px) {
  .p-thanks__text:is(.p-thanks__textArea *) {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.875;
  }
}
.p-thanks__text.medium {
  font-size: calc(var(--fz) * 24);
  font-weight: 500;
  line-height: 1.45;
}
@media screen and (min-width: 1024px) {
  .p-thanks__text.medium {
    line-height: 1.25;
  }
}
.p-thanks__text + .p-thanks__text {
  margin-top: 1lh;
}
.p-thanks__download {
  display: block;
  width: fit-content;
  padding: calc(var(--val) * 16) calc(var(--val) * 55);
  margin: calc(var(--val) * 45) auto 0;
  background-color: var(--c_yellow);
  border-radius: calc(var(--val) * 15);
  box-shadow: calc(var(--val) * 4) calc(var(--val) * 4) calc(var(--val) * 4) rgba(0, 0, 0, 0.25);
  font-size: calc(var(--fz) * 36);
  line-height: 1.45;
  font-weight: 500;
  transition: opacity var(--hover_transition);
}
@media screen and (min-width: 1024px) {
  .p-thanks__download {
    padding: 10px 30px;
    margin-top: 35px;
    font-size: 16px;
    font-size: 1rem;
  }
}
@media (any-hover: hover) {
  .p-thanks__download:hover {
    opacity: var(--hover_opacity);
  }
}
@media (any-hover: none) {
  .p-thanks__download:active {
    opacity: var(--hover_opacity);
  }
}
.p-thanks__textArea {
  padding-top: calc(var(--val) * 45);
  margin-top: calc(var(--val) * 45);
  border-top: 2px dashed var(--c_black01);
}
@media screen and (min-width: 1024px) {
  .p-thanks__textArea {
    padding-top: 20px;
    margin-top: 35px;
  }
}
.p-thanks__link {
  display: block;
  width: fit-content;
  margin: calc(var(--val) * 60) auto 0;
  font-size: calc(var(--fz) * 28);
  line-height: 1.45;
  text-align: center;
  position: relative;
  transition: opacity var(--hover_transition);
}
@media screen and (min-width: 1024px) {
  .p-thanks__link {
    margin-top: 30px;
    font-size: 24px;
    font-size: 1.5rem;
  }
}
.p-thanks__link::before {
  content: "＜";
  margin-right: calc(var(--val) * 10);
}
@media (any-hover: hover) {
  .p-thanks__link:hover {
    opacity: var(--hover_opacity);
  }
}
@media (any-hover: none) {
  .p-thanks__link:active {
    opacity: var(--hover_opacity);
  }
}
/*# sourceMappingURL=style.css.map */