/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Replaced content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none; /* 1 */
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit; /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
  cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
  -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
  outline: auto;
}

/* Tables */
/* ============================================ */
/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
  border-color: inherit; /* 1 */
  border-collapse: collapse;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

.p24 {
  padding: 24px;
}
@media screen and (max-width: 1439px) {
  .p24 {
    padding: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}

.p32 {
  padding: 32px;
}
@media screen and (max-width: 1439px) {
  .p32 {
    padding: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}

.p40 {
  padding: 40px;
}
@media screen and (max-width: 1439px) {
  .p40 {
    padding: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}

.p60 {
  padding: 60px;
}
@media screen and (max-width: 1439px) {
  .p60 {
    padding: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}

.p100 {
  padding: 100px;
}
@media screen and (max-width: 1439px) {
  .p100 {
    padding: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}

.p120 {
  padding: 120px;
}
@media screen and (max-width: 1439px) {
  .p120 {
    padding: max(60px, 60px + 60 * (100vw - 390px) / 1049);
  }
}

.pt24 {
  padding-top: 24px;
}
@media screen and (max-width: 1439px) {
  .pt24 {
    padding-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}

.pt32 {
  padding-top: 32px;
}
@media screen and (max-width: 1439px) {
  .pt32 {
    padding-top: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}

.pt40 {
  padding-top: 40px;
}
@media screen and (max-width: 1439px) {
  .pt40 {
    padding-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}

.pt60 {
  padding-top: 60px;
}
@media screen and (max-width: 1439px) {
  .pt60 {
    padding-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}

.pt100 {
  padding-top: 100px;
}
@media screen and (max-width: 1439px) {
  .pt100 {
    padding-top: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}

.pt120 {
  padding-top: 120px;
}
@media screen and (max-width: 1439px) {
  .pt120 {
    padding-top: max(60px, 60px + 60 * (100vw - 390px) / 1049);
  }
}

.pb24 {
  padding-bottom: 24px;
}
@media screen and (max-width: 1439px) {
  .pb24 {
    padding-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}

.pb32 {
  padding-bottom: 32px;
}
@media screen and (max-width: 1439px) {
  .pb32 {
    padding-bottom: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}

.pb40 {
  padding-bottom: 40px;
}
@media screen and (max-width: 1439px) {
  .pb40 {
    padding-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}

.pb60 {
  padding-bottom: 60px;
}
@media screen and (max-width: 1439px) {
  .pb60 {
    padding-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}

.pb100 {
  padding-bottom: 100px;
}
@media screen and (max-width: 1439px) {
  .pb100 {
    padding-bottom: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}

.pb120 {
  padding-bottom: 120px;
}
@media screen and (max-width: 1439px) {
  .pb120 {
    padding-bottom: max(60px, 60px + 60 * (100vw - 390px) / 1049);
  }
}

.pv24 {
  padding: 24px 0;
}
@media screen and (max-width: 1439px) {
  .pv24 {
    padding: max(12px, 12px + 12 * (100vw - 390px) / 1049) 0;
  }
}

.pv32 {
  padding: 32px 0;
}
@media screen and (max-width: 1439px) {
  .pv32 {
    padding: max(16px, 16px + 16 * (100vw - 390px) / 1049) 0;
  }
}

.pv40 {
  padding: 40px 0;
}
@media screen and (max-width: 1439px) {
  .pv40 {
    padding: max(20px, 20px + 20 * (100vw - 390px) / 1049) 0;
  }
}

.pv60 {
  padding: 60px 0;
}
@media screen and (max-width: 1439px) {
  .pv60 {
    padding: max(30px, 30px + 30 * (100vw - 390px) / 1049) 0;
  }
}

.pv100 {
  padding: 100px 0;
}
@media screen and (max-width: 1439px) {
  .pv100 {
    padding: max(50px, 50px + 50 * (100vw - 390px) / 1049) 0;
  }
}

.pv120 {
  padding: 120px 0;
}
@media screen and (max-width: 1439px) {
  .pv120 {
    padding: max(60px, 60px + 60 * (100vw - 390px) / 1049) 0;
  }
}

.mt24 {
  margin-top: 24px;
}
@media screen and (max-width: 1439px) {
  .mt24 {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}

.mt32 {
  margin-top: 32px;
}
@media screen and (max-width: 1439px) {
  .mt32 {
    margin-top: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}

.mt40 {
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  .mt40 {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}

.mt60 {
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  .mt60 {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}

.mt100 {
  margin-top: 100px;
}
@media screen and (max-width: 1439px) {
  .mt100 {
    margin-top: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}

.mt120 {
  margin-top: 120px;
}
@media screen and (max-width: 1439px) {
  .mt120 {
    margin-top: max(60px, 60px + 60 * (100vw - 390px) / 1049);
  }
}

.mb24 {
  margin-bottom: 24px;
}
@media screen and (max-width: 1439px) {
  .mb24 {
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}

.mb32 {
  margin-bottom: 32px;
}
@media screen and (max-width: 1439px) {
  .mb32 {
    margin-bottom: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}

.mb40 {
  margin-bottom: 40px;
}
@media screen and (max-width: 1439px) {
  .mb40 {
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}

.mb60 {
  margin-bottom: 60px;
}
@media screen and (max-width: 1439px) {
  .mb60 {
    margin-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}

.mb100 {
  margin-bottom: 100px;
}
@media screen and (max-width: 1439px) {
  .mb100 {
    margin-bottom: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}

.mb120 {
  margin-bottom: 120px;
}
@media screen and (max-width: 1439px) {
  .mb120 {
    margin-bottom: max(60px, 60px + 60 * (100vw - 390px) / 1049);
  }
}

.mv24 {
  margin: 24px 0;
}
@media screen and (max-width: 1439px) {
  .mv24 {
    margin: max(12px, 12px + 12 * (100vw - 390px) / 1049) 0;
  }
}

.mv32 {
  margin: 32px 0;
}
@media screen and (max-width: 1439px) {
  .mv32 {
    margin: max(16px, 16px + 16 * (100vw - 390px) / 1049) 0;
  }
}

.mv40 {
  margin: 40px 0;
}
@media screen and (max-width: 1439px) {
  .mv40 {
    margin: max(20px, 20px + 20 * (100vw - 390px) / 1049) 0;
  }
}

.mv60 {
  margin: 60px 0;
}
@media screen and (max-width: 1439px) {
  .mv60 {
    margin: max(30px, 30px + 30 * (100vw - 390px) / 1049) 0;
  }
}

.mv100 {
  margin: 100px 0;
}
@media screen and (max-width: 1439px) {
  .mv100 {
    margin: max(50px, 50px + 50 * (100vw - 390px) / 1049) 0;
  }
}

.mv120 {
  margin: 120px 0;
}
@media screen and (max-width: 1439px) {
  .mv120 {
    margin: max(60px, 60px + 60 * (100vw - 390px) / 1049) 0;
  }
}

@media screen and (max-width: 767px) {
  .header {
    isolation: isolate;
  }
  .header::before {
    content: "";
    position: fixed;
    top: -100px;
    left: 0;
    z-index: -1;
    width: 100%;
    height: calc(100px + env(safe-area-inset-top, 0px));
    background: #f8f5f0;
    pointer-events: none;
  }
}
* {
  line-height: 1.5;
  list-style: none;
}

html,
body {
  overflow-x: hidden;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: #505050;
  background: #ffffff;
}

@media screen and (max-width: 767px) {
  .pc-on {
    display: none;
  }
}

.tb-on {
  display: none;
}
@media screen and (max-width: 1024px) {
  .tb-on {
    display: block;
  }
}

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

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.bold {
  font-weight: bold;
}

.dib {
  display: inline-block;
}

.inner {
  max-width: calc(1100px + 10%);
  margin: 0 auto;
  padding: 0 5%;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 20px;
  }
}

header.header img,
main.kids_lp img {
  max-width: 100%;
  display: block;
  height: auto;
}

main.kids_lp b {
  background: none;
}

.section_wave_top_white,
.section_wave_top_cream,
.section_wave_bottom_cream {
  width: 100%;
}

header.header :where(p),
main.kids_lp :where(p) {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  color: #505050;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  header.header :where(p),
  main.kids_lp :where(p) {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}

a {
  transition: 0.2s opacity;
}
a:hover {
  opacity: 0.7;
}

.fade-in,
.fade-in-up,
.fade-in-left,
.fade-in-right {
  opacity: 0;
}
.fade-in.is-visible,
.fade-in-up.is-visible,
.fade-in-left.is-visible,
.fade-in-right.is-visible {
  opacity: 1;
}

.fade-in {
  transition: opacity 0.6s, transform 0.6s;
}

.fade-in-up {
  transform: translateY(100px);
  transition: opacity 0.6s, transform 0.6s;
}
.fade-in-up.is-visible {
  transform: translateY(0);
}

.fade-in-left {
  transform: translateX(-100px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in-left.is-visible {
  transform: translateX(0);
}

.fade-in-right {
  transform: translateX(100px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-in-right.is-visible {
  transform: translateX(0);
}

main.kids_lp h1,
main.kids_lp h2,
main.kids_lp h3,
main.kids_lp h4,
main.kids_lp h5,
main.kids_lp h6 {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  color: #505050;
}
main.kids_lp .section_bg {
  background: #f8f5f0;
}
main.kids_lp .section_title {
  text-align: center;
}
main.kids_lp .section_title .en {
  display: block;
  font-family: "Quicksand", sans-serif;
  font-size: 90px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #e97a8c;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .section_title .en {
    font-size: max(48px, 48px + 42 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .section_title .ja {
  display: block;
  font-size: 32px;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .section_title .ja {
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .section_title_sub {
  text-align: center;
}
main.kids_lp .section_title_sub .en {
  display: block;
  font-family: "Quicksand", sans-serif;
  font-size: 64px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #e97a8c;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .section_title_sub .en {
    font-size: max(40px, 40px + 24 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .section_title_sub .ja {
  display: block;
  font-size: 32px;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .section_title_sub .ja {
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .lead_title {
  font-size: 32px;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .lead_title {
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .title_xl {
  font-size: 56px;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .title_xl {
    font-size: max(32px, 32px + 24 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .title_lg {
  font-size: 48px;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .title_lg {
    font-size: max(30px, 30px + 18 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .title_md {
  font-size: 40px;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .title_md {
    font-size: max(28px, 28px + 12 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .title_sm {
  font-size: 24px;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .title_sm {
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .title_xs {
  font-size: 20px;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .title_xs {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .text_lg {
  line-height: 2.1;
}
main.kids_lp .text_medium {
  font-weight: 500;
}
main.kids_lp .en_text {
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
main.kids_lp .num_text {
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
main.kids_lp .date_text {
  font-family: "Quicksand", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
main.kids_lp .age_text {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 56px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .age_text {
    font-size: max(36px, 36px + 20 * (100vw - 390px) / 1049);
  }
}
main.kids_lp .age_num {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 72px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  main.kids_lp .age_num {
    font-size: max(44px, 44px + 28 * (100vw - 390px) / 1049);
  }
}

@media screen and (max-width: 767px) {
  .no_scroll .header {
    position: fixed;
    z-index: 100;
  }
}
@media screen and (max-width: 767px) {
  .no_scroll .header .header_logo {
    position: relative;
    z-index: 1;
  }
}
@media screen and (max-width: 767px) {
  .no_scroll .header .header_contact_wrap {
    z-index: -1;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}

.header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 20;
}
.header .header_inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  width: 100%;
  padding: 20px 20px 0;
}
@media screen and (max-width: 1439px) {
  .header .header_inner {
    padding: max(10px, 10px + 10 * (100vw - 390px) / 1049) max(10px, 10px + 10 * (100vw - 390px) / 1049) 0;
  }
}
.header .header_logo {
  width: 229px;
  margin: 0;
}
@media screen and (max-width: 1439px) {
  .header .header_logo {
    width: max(126px, 126px + 103 * (100vw - 390px) / 1049);
  }
}
.header .header_logo a {
  position: relative;
  z-index: 0;
  display: block;
}
.header .header_logo a::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -20px;
  left: -20px;
  width: 403.5px;
  height: 228.5px;
  background: url("../img/header_logo_bg.png") left top/100% 100% no-repeat;
}
@media screen and (max-width: 1439px) {
  .header .header_logo a::before {
    top: min(-10px, -10px + -10 * (100vw - 390px) / 1049);
    left: min(-10px, -10px + -10 * (100vw - 390px) / 1049);
    width: max(190px, 190px + 213.5 * (100vw - 390px) / 1049);
    height: max(127px, 127px + 101.5 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  .header .header_logo a::before {
    background-image: url("../img/header_logo_bg_sp.png");
  }
}
.header .header_logo img {
  width: 100%;
}
.header .header_contact_wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 1439px) {
  .header .header_contact_wrap {
    gap: max(5px, 5px + 5 * (100vw - 1024px) / 415);
  }
}
@media screen and (max-width: 767px) {
  .header .header_contact_wrap .web_btn,
  .header .header_contact_wrap .tel_wrap {
    display: none;
  }
}
.header .web_btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 80px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #505050;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .header .web_btn {
    display: none;
  }
}
.header .web_btn img {
  width: 30px;
  height: 30px;
}
.header .header_cta_wrap {
  display: flex;
  gap: 10px;
}
@media screen and (max-width: 1439px) {
  .header .header_cta_wrap {
    gap: max(5px, 5px + 5 * (100vw - 1024px) / 415);
  }
}
@media screen and (max-width: 1024px) {
  .header .header_cta_wrap {
    position: fixed;
    left: 4px;
    bottom: 54px;
    z-index: 100;
    gap: 5px;
    width: calc(100% - 8px);
    height: 40px;
  }
}
.header .header_cta_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  width: 180px;
  height: 80px;
  border-radius: 10px;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  .header .header_cta_btn {
    gap: max(4px, 4px + 1 * (100vw - 1024px) / 415);
    width: max(150px, 150px + 30 * (100vw - 1024px) / 415);
    height: max(66px, 66px + 14 * (100vw - 1024px) / 415);
    border-radius: max(8px, 8px + 2 * (100vw - 1024px) / 415);
  }
}
@media screen and (max-width: 1024px) {
  .header .header_cta_btn {
    gap: 0;
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    height: 40px;
    border-radius: 5px;
    text-decoration: none;
  }
}
.header .header_cta_btn span {
  display: block;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  .header .header_cta_btn span {
    font-size: max(14px, 14px + 2 * (100vw - 1024px) / 415);
  }
}
@media screen and (max-width: 1024px) {
  .header .header_cta_btn span {
    min-width: 0;
    font-size: 12px;
    white-space: nowrap;
  }
}
@media screen and (max-width: 389px) {
  .header .header_cta_btn span {
    font-size: max(10px, 10px + 2 * (100vw - 320px) / 69);
  }
}
.header .header_cta_btn strong {
  display: block;
  font-size: 18px;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  .header .header_cta_btn strong {
    font-size: max(16px, 16px + 2 * (100vw - 1024px) / 415);
  }
}
@media screen and (max-width: 1024px) {
  .header .header_cta_btn strong {
    display: inline;
    font-size: 12px;
  }
}
@media screen and (max-width: 389px) {
  .header .header_cta_btn strong {
    font-size: max(10px, 10px + 2 * (100vw - 320px) / 69);
  }
}
@media screen and (max-width: 1024px) {
  .header .header_cta_btn br.pc-on {
    display: none;
  }
}
.header .header_cta_btn.header_cta_btn-pink {
  background: #e97a8c;
}
.header .header_cta_btn.header_cta_btn-pink img {
  width: 28px;
  height: 35px;
}
@media screen and (max-width: 1439px) {
  .header .header_cta_btn.header_cta_btn-pink img {
    width: max(23px, 23px + 5 * (100vw - 1024px) / 415);
    height: max(29px, 29px + 6 * (100vw - 1024px) / 415);
  }
}
@media screen and (max-width: 1024px) {
  .header .header_cta_btn.header_cta_btn-pink img {
    width: 20px;
    height: 20px;
  }
}
.header .header_cta_btn.header_cta_btn-blue {
  background: #0067ac;
}
.header .header_cta_btn.header_cta_btn-blue img {
  width: 35px;
  height: 35px;
}
@media screen and (max-width: 1439px) {
  .header .header_cta_btn.header_cta_btn-blue img {
    width: max(29px, 29px + 6 * (100vw - 1024px) / 415);
    height: max(29px, 29px + 6 * (100vw - 1024px) / 415);
  }
}
@media screen and (max-width: 1024px) {
  .header .header_cta_btn.header_cta_btn-blue img {
    width: 20px;
    height: 20px;
    margin-right: 2px;
  }
}
.header .tel_wrap {
  color: #505050;
  line-height: 1.2;
  margin-right: 10px;
}
@media screen and (max-width: 1439px) {
  .header .tel_wrap {
    margin-right: max(5px, 5px + 5 * (100vw - 1024px) / 415);
  }
}
.header .tel_wrap a {
  display: block;
  color: #493B3C;
  font-family: "Quicksand", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 0.8;
  letter-spacing: 0;
  text-decoration: none;
  pointer-events: auto;
  -webkit-text-stroke: 1px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 3px 0 #ffffff, 0 -3px 0 #ffffff, 3px 0 0 #ffffff, -3px 0 0 #ffffff, 2.9px 0.8px 0 #ffffff, -2.9px 0.8px 0 #ffffff, 2.9px -0.8px 0 #ffffff, -2.9px -0.8px 0 #ffffff, 2.6px 1.5px 0 #ffffff, -2.6px 1.5px 0 #ffffff, 2.6px -1.5px 0 #ffffff, -2.6px -1.5px 0 #ffffff, 2.1px 2.1px 0 #ffffff, -2.1px 2.1px 0 #ffffff, 2.1px -2.1px 0 #ffffff, -2.1px -2.1px 0 #ffffff, 1.5px 2.6px 0 #ffffff, -1.5px 2.6px 0 #ffffff, 1.5px -2.6px 0 #ffffff, -1.5px -2.6px 0 #ffffff, 0.8px 2.9px 0 #ffffff, -0.8px 2.9px 0 #ffffff, 0.8px -2.9px 0 #ffffff, -0.8px -2.9px 0 #ffffff, 0 2px 0 #ffffff, 0 -2px 0 #ffffff, 2px 0 0 #ffffff, -2px 0 0 #ffffff, 1.4px 1.4px 0 #ffffff, -1.4px 1.4px 0 #ffffff, 1.4px -1.4px 0 #ffffff, -1.4px -1.4px 0 #ffffff;
}
.header .tel_wrap p {
  margin-top: 5px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: 0;
  -webkit-text-stroke: 0.5px #ffffff;
  paint-order: stroke fill;
  text-shadow: 0 2px 0 #ffffff, 0 -2px 0 #ffffff, 2px 0 0 #ffffff, -2px 0 0 #ffffff, 1.9px 0.5px 0 #ffffff, -1.9px 0.5px 0 #ffffff, 1.9px -0.5px 0 #ffffff, -1.9px -0.5px 0 #ffffff, 1.7px 1px 0 #ffffff, -1.7px 1px 0 #ffffff, 1.7px -1px 0 #ffffff, -1.7px -1px 0 #ffffff, 1.4px 1.4px 0 #ffffff, -1.4px 1.4px 0 #ffffff, 1.4px -1.4px 0 #ffffff, -1.4px -1.4px 0 #ffffff, 1px 1.7px 0 #ffffff, -1px 1.7px 0 #ffffff, 1px -1.7px 0 #ffffff, -1px -1.7px 0 #ffffff, 0.5px 1.9px 0 #ffffff, -0.5px 1.9px 0 #ffffff, 0.5px -1.9px 0 #ffffff, -0.5px -1.9px 0 #ffffff;
}
.header .ham_btn {
  display: none;
}
@media screen and (max-width: 767px) {
  .header .ham_btn {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 110;
    display: block;
    width: 60px;
    height: 60px;
    padding: 0;
    background: transparent;
    border: 0;
  }
  .header .ham_btn img {
    width: 60px;
    height: 60px;
  }
  .header .ham_btn .icon_close {
    display: none;
  }
  .header .ham_btn.is-active .icon_open {
    display: none;
  }
  .header .ham_btn.is-active .icon_close {
    display: block;
  }
}

.no_scroll {
  position: fixed;
  width: 100%;
  overflow: hidden;
}

section.fv {
  position: relative;
  display: grid;
  place-items: center;
  height: 100vh;
  overflow: hidden;
  background: #f8f5f0;
}
@media screen and (max-width: 767px) {
  section.fv::before {
    content: "";
    z-index: 3;
    position: absolute;
    background: url(../img/section_wave_top_white_sp.webp) center top/390px 20px repeat-x;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 20px;
  }
}
section.fv .fv_bg {
  position: absolute;
  inset: 0 0 auto;
  height: 100%;
}
section.fv .fv_bg picture {
  display: block;
  height: 100%;
}
section.fv .fv_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.fv .fv_img01_sp,
section.fv .fv_img02_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  section.fv .fv_img01_sp,
  section.fv .fv_img02_sp {
    position: absolute;
    z-index: 1;
    display: block;
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  section.fv .fv_img01_sp {
    top: 0;
    right: 0;
    width: min(53.333vw, 208px);
  }
}
@media screen and (max-width: 767px) {
  section.fv .fv_img02_sp {
    bottom: 0;
    left: 0;
    width: min(62.821vw, 245px);
  }
}
section.fv .fv_content {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 24px;
  width: 100%;
  transform: translateY(-5px);
}
@media screen and (max-width: 1439px) {
  section.fv .fv_content {
    gap: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.fv .fv_content {
    position: absolute;
    top: 44.6%;
    left: 50%;
    width: calc(100% - 25px);
    transform: translate(-50%, -50%);
  }
}
section.fv .fv_text_inner {
  position: relative;
  width: min(41.74vw, 601px);
}
@media screen and (max-width: 1439px) {
  section.fv .fv_text_inner {
    width: max(361px, 361px + 240 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.fv .fv_text_inner {
    width: 100%;
  }
}
section.fv .fv_title {
  margin: 0;
}
section.fv .fv_title span {
  display: block;
}
section.fv .fv_title picture {
  display: block;
  width: 100%;
}
section.fv .fv_title img {
  width: 100%;
}
section.fv .fv_title_bottom {
  width: 559.5px;
  margin: 35px auto 0;
}
@media screen and (max-width: 1439px) {
  section.fv .fv_title_bottom {
    width: max(318.5px, 318.5px + 241 * (100vw - 390px) / 1049);
    margin-top: max(20px, 20px + 15 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.fv .fv_title_bottom {
    width: max(100% - 40px);
  }
}
section.fv .fv_point_list {
  position: relative;
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 1439px) {
  section.fv .fv_point_list {
    gap: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.fv .fv_point_list {
    width: 100%;
    gap: max(5px, 5px + 5 * (100vw - 320px) / 1119);
  }
}
section.fv .fv_point_list li {
  position: relative;
  display: grid;
  place-items: center;
  width: 200px;
  height: 200px;
  text-align: center;
  border-radius: 50%;
  box-shadow: 0 8px 18px rgba(135, 88, 60, 0.18);
}
@media screen and (max-width: 1439px) {
  section.fv .fv_point_list li {
    width: max(115px, 115px + 85 * (100vw - 390px) / 1049);
    height: max(115px, 115px + 85 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.fv .fv_point_list li {
    width: 100%;
    aspect-ratio: 1/1;
    height: auto;
  }
}
section.fv .fv_point_list picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
}
section.fv .fv_point_list img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
section.fv .fv_point_list p {
  position: relative;
  z-index: 1;
  color: #ffffff;
  line-height: 1.45;
  font-size: 24px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
}
@media screen and (max-width: 1439px) {
  section.fv .fv_point_list p {
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.fv .fv_point_list p {
    font-size: max(12px, 12px + 2 * (100vw - 320px) / 1119);
  }
}

.page_nav {
  position: relative;
  z-index: 2;
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  .page_nav {
    position: fixed;
    z-index: 90;
    inset: 0;
    width: 100%;
    min-height: 100svh;
    margin-top: 0;
    overflow-y: auto;
    padding: 137px 40px 48px;
    background-color: #f8f5f0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s ease, visibility 0.25s ease;
  }
}
@media screen and (max-width: 767px) {
  .page_nav.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
.page_nav .section_wave_top_white {
  position: absolute;
  top: -37px;
  left: 50%;
  width: 100vw;
  max-width: none;
  transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  .page_nav .section_wave_top_white {
    top: min(-20px, -20px + -17 * (100vw - 390px) / 1049);
    height: max(20px, 20px + 17 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  .page_nav .section_wave_top_white {
    display: none;
  }
}
.page_nav ul {
  display: flex;
  align-items: center;
  justify-content: center;
  width: min(67.09vw, 966px);
  margin: 0 auto;
}
@media screen and (max-width: 1439px) {
  .page_nav ul {
    width: min(94vw, 966px);
  }
}
@media screen and (max-width: 767px) {
  .page_nav ul {
    display: block;
    width: 310px;
    max-width: 100%;
    margin: 0;
    margin-inline: auto;
  }
}
.page_nav li {
  position: relative;
  display: flex;
  align-items: center;
  height: 28px;
}
@media screen and (max-width: 767px) {
  .page_nav li {
    --menu-dot-color: #e97a8c;
    display: block;
    height: auto;
    border-bottom: 2px dotted #505050;
  }
}
@media screen and (max-width: 767px) {
  .page_nav li:nth-child(2) {
    --menu-dot-color: #0067ac;
  }
}
@media screen and (max-width: 767px) {
  .page_nav li:nth-child(3) {
    --menu-dot-color: #f9c12f;
  }
}
@media screen and (max-width: 767px) {
  .page_nav li:nth-child(4) {
    --menu-dot-color: #81bb05;
  }
}
@media screen and (max-width: 767px) {
  .page_nav li:nth-child(5) {
    --menu-dot-color: #ef8b36;
  }
}
@media screen and (max-width: 767px) {
  .page_nav li:nth-child(6) {
    --menu-dot-color: #68cbc2;
  }
}
.page_nav li + li {
  margin-left: 53px;
}
@media screen and (max-width: 1439px) {
  .page_nav li + li {
    margin-left: max(20px, 20px + 33 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  .page_nav li + li {
    margin-left: 0;
  }
}
.page_nav li + li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -28.5px;
  width: 4px;
  height: 20px;
  background: url("../img/page_nav_circles.webp") center/4px 20px no-repeat;
  transform: translateY(-50%);
}
@media screen and (max-width: 1439px) {
  .page_nav li + li::before {
    left: calc(-12px + -16.5 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  .page_nav li + li::before {
    content: none;
  }
}
.page_nav li a {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0;
  color: #505050;
  text-decoration: none;
  white-space: nowrap;
}
@media screen and (max-width: 1439px) {
  .page_nav li a {
    font-size: max(14px, 14px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  .page_nav li a {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 20px 0 10px 13px;
    font-size: 14px;
    line-height: 1.45;
    letter-spacing: 0.02em;
    white-space: normal;
  }
}
@media screen and (max-width: 767px) {
  .page_nav li a::before {
    content: "";
    position: absolute;
    top: calc(50% + 5px);
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--menu-dot-color);
    transform: translateY(-50%);
  }
}

main.kids_lp {
  overflow: hidden;
}

section.about {
  position: relative;
  overflow: hidden;
  margin-top: 100px;
  padding: 50px 0 177px;
}
@media screen and (max-width: 1439px) {
  section.about {
    margin-top: max(20px, 20px + 80 * (100vw - 390px) / 1049);
    padding: min(180px, 180px + -130 * (100vw - 390px) / 1049) 0 min(219px, 219px + -42 * (100vw - 390px) / 1049);
  }
}
section.about .about_text_wrap {
  margin: 0 auto;
  text-align: center;
}
section.about .about_text_wrap .about_title {
  margin-bottom: 60px;
  font-size: 32px;
  line-height: 1.6;
}
@media screen and (max-width: 1439px) {
  section.about .about_text_wrap .about_title {
    margin-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
section.about .about_text_wrap .about_title span {
  font-size: 40px;
  line-height: 1.6;
}
@media screen and (max-width: 1439px) {
  section.about .about_text_wrap .about_title span {
    font-size: max(24px, 24px + 16 * (100vw - 390px) / 1049);
  }
}
section.about .about_text_wrap .about_title .pink {
  color: #e97a8c;
}
section.about .about_text_wrap .about_title .blue {
  color: #0067ac;
}
section.about .about_text_wrap .about_title .yellow {
  color: #eebf00;
}
section.about .about_text_wrap .about_text {
  width: 100%;
}
section.about .about_text_wrap .about_text p {
  margin: 0;
}
section.about .about_text_wrap .about_text br + br {
  display: block;
  content: "";
}
section.about .about_imgs {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
section.about .about_imgs .about_img01,
section.about .about_imgs .about_img02,
section.about .about_imgs .about_shapes01,
section.about .about_imgs .about_shapes02 {
  position: absolute;
  height: auto;
  object-fit: cover;
}
section.about .about_imgs picture {
  display: contents;
}
section.about .about_imgs .about_img01 {
  top: 81px;
  left: max(5px, 50% - 695px);
  width: min(22.05vw, 308px);
  aspect-ratio: 308/237;
}
@media screen and (max-width: 1439px) {
  section.about .about_imgs .about_img01 {
    top: max(1px, 1px + 80 * (100vw - 390px) / 1049);
    left: max(-20px, -20px + 45 * (100vw - 390px) / 1049);
    width: max(207px, 207px + 101 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.about .about_imgs .about_img01 {
    aspect-ratio: 415/318;
  }
}
section.about .about_imgs .about_img02 {
  right: max(0px, 50% - 690px);
  bottom: 110px;
  width: min(20.03vw, 280px);
  aspect-ratio: 280/292;
}
@media screen and (max-width: 1439px) {
  section.about .about_imgs .about_img02 {
    bottom: max(49px, 49px + 61 * (100vw - 390px) / 1049);
    width: max(162px, 162px + 118 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.about .about_imgs .about_img02 {
    aspect-ratio: 324/338;
  }
}
section.about .about_imgs .about_shapes01 {
  top: 0;
  right: max(0px, 50% - 700px);
  width: min(17.31vw, 242px);
  aspect-ratio: 242/285;
}
@media screen and (max-width: 1439px) {
  section.about .about_imgs .about_shapes01 {
    top: min(64px, 64px + -64 * (100vw - 390px) / 1049);
    right: max(-26px, -26px + 46 * (100vw - 390px) / 1049);
    width: max(138px, 138px + 104 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.about .about_imgs .about_shapes01 {
    aspect-ratio: 277/326;
  }
}
section.about .about_imgs .about_shapes02 {
  bottom: 100px;
  left: max(0px, 50% - 695px);
  width: min(17.31vw, 242px);
  aspect-ratio: 242/330;
}
@media screen and (max-width: 1439px) {
  section.about .about_imgs .about_shapes02 {
    bottom: max(99px, 99px + 1 * (100vw - 390px) / 1049);
    left: max(-14px, -14px + 38.5 * (100vw - 390px) / 1049);
    width: max(161px, 161px + 81 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.about .about_imgs .about_shapes02 {
    aspect-ratio: 323/440;
  }
}

section.importance {
  position: relative;
  margin-top: 37px;
  margin-bottom: 37px;
  background: #f8f5f0;
  padding: 80px 0;
}
@media screen and (max-width: 1439px) {
  section.importance {
    margin-top: max(20px, 20px + 17 * (100vw - 390px) / 1049);
    margin-bottom: max(20px, 20px + 17 * (100vw - 390px) / 1049);
    padding: max(50px, 50px + 30 * (100vw - 390px) / 1049) 0;
  }
}
section.importance .importance_imgs {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
section.importance .importance_imgs picture {
  display: contents;
}
section.importance .importance_imgs .section_wave_top_cream,
section.importance .importance_imgs .section_wave_bottom_cream {
  position: absolute;
  height: 37px;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_imgs .section_wave_top_cream,
  section.importance .importance_imgs .section_wave_bottom_cream {
    height: max(20px, 20px + 17 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_imgs .section_wave_top_cream {
  top: -37px;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_imgs .section_wave_top_cream {
    top: min(-20px, -20px + -17 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_imgs .section_wave_bottom_cream {
  bottom: -37px;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_imgs .section_wave_bottom_cream {
    bottom: min(-20px, -20px + -17 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_title_wrap {
  position: relative;
  margin-bottom: 60px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_title_wrap {
    margin-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_title_wrap .importance_title_illust01,
section.importance .importance_title_wrap .importance_title_illust02 {
  position: absolute;
  height: auto;
}
section.importance .importance_title_wrap .importance_title_illust01 {
  top: 54px;
  left: calc(50% - 222px);
  width: min(5.45vw, 78px);
}
@media screen and (max-width: 1439px) {
  section.importance .importance_title_wrap .importance_title_illust01 {
    top: max(37px, 37px + 17 * (100vw - 390px) / 1049);
    left: calc(50% - max(149px, 149px + 73 * (100vw - 390px) / 1049));
    width: max(49px, 49px + 29 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_title_wrap .importance_title_illust02 {
  top: 60px;
  right: calc(50% - 221px);
  width: min(5.84vw, 84px);
}
@media screen and (max-width: 1439px) {
  section.importance .importance_title_wrap .importance_title_illust02 {
    top: max(40px, 40px + 20 * (100vw - 390px) / 1049);
    right: calc(50% - max(147px, 147px + 74 * (100vw - 390px) / 1049));
    width: max(53px, 53px + 31 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_title_wrap .importance_title {
  display: block;
  margin: 0;
}
section.importance .importance_title_wrap .importance_title span {
  display: block;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.45;
}
section.importance .importance_title_wrap .importance_title .importance_title_top {
  font-size: 32px;
  margin-bottom: 24px;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_title_wrap .importance_title .importance_title_top {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
    margin-bottom: max(15px, 15px + 9 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_title_wrap .importance_title img {
  width: 265px;
  height: auto;
  margin: 0 auto;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_title_wrap .importance_title img {
    width: max(185px, 185px + 80 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_title_wrap .importance_title .importance_title_bottom {
  color: #e97a8c;
  font-size: 48px;
  margin-top: 10px;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_title_wrap .importance_title .importance_title_bottom {
    font-size: max(24px, 24px + 24 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_wrap .importance_lead,
section.importance .importance_wrap .importance_bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_wrap .importance_lead,
  section.importance .importance_wrap .importance_bottom {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_lead,
  section.importance .importance_wrap .importance_bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
  }
}
section.importance .importance_wrap .importance_lead {
  margin-bottom: 60px;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_wrap .importance_lead {
    margin-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_lead {
    flex-direction: column-reverse;
  }
}
section.importance .importance_wrap .importance_bottom {
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_wrap .importance_bottom {
    margin-top: max(20px, 20px + 40 * (100vw - 390px) / 1049);
  }
}
section.importance .importance_wrap .importance_text {
  flex: 1 1 0;
}
section.importance .importance_wrap .importance_text p {
  margin: 0;
  padding-top: 16px;
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_text p {
    line-height: 1.8;
    padding-top: 0;
  }
}
section.importance .importance_wrap .importance_img {
  position: relative;
  flex: 0 0 41%;
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_img {
    flex: 0 0 auto;
    width: 100%;
    max-width: 400px;
    margin-inline: auto;
  }
}
section.importance .importance_wrap .importance_img picture {
  display: block;
}
section.importance .importance_wrap .importance_img img {
  width: 100%;
  aspect-ratio: 450/320;
  height: auto;
  object-fit: cover;
  border-radius: 40px;
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_img img {
    aspect-ratio: 350/240;
    border-radius: 20px;
  }
}
section.importance .importance_wrap .importance_img.has-star {
  padding-top: 20px;
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_img.has-star {
    padding-top: 0;
  }
}
section.importance .importance_wrap .importance_img .importance_star01 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 181px;
  aspect-ratio: 181/101;
  border-radius: 0;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_wrap .importance_img .importance_star01 {
    width: max(140px, 140px + 41 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_img .importance_star01 {
    top: -8px;
    left: 10px;
    aspect-ratio: 281/149;
  }
}
section.importance .importance_wrap .importance_card {
  border: 4px solid #e97a8c;
  border-radius: 60px;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_wrap .importance_card {
    border-width: max(3px, 3px + 1 * (100vw - 390px) / 1049);
    border-radius: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_card {
    border-width: 0;
    box-shadow: inset 0 0 0 3px #e97a8c;
  }
}
section.importance .importance_wrap .importance_card_inner {
  position: relative;
  padding: 56px;
  padding-bottom: 0;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_wrap .importance_card_inner {
    padding: max(27px, 27px + 29 * (100vw - 390px) / 1049) max(18px, 18px + 38 * (100vw - 390px) / 1049);
    padding-bottom: 0;
  }
}
section.importance .importance_wrap .importance_point_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_wrap .importance_point_list {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_point_list {
    grid-template-columns: 1fr;
  }
}
section.importance .importance_wrap .importance_point_list li {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  aspect-ratio: 5/3;
  border-radius: 40px;
  background-color: #fbe4e8;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_wrap .importance_point_list li {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_point_list li {
    min-height: 100px;
    aspect-ratio: auto;
    border-radius: 20px;
    letter-spacing: 0;
  }
}
section.importance .importance_wrap .importance_point_list li::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(255, 255, 255, 0.42);
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}
section.importance .importance_wrap .importance_point_list li span {
  position: relative;
  z-index: 1;
}
section.importance .importance_wrap .importance_point_list li:nth-child(2) {
  background-color: #fcf2cc;
}
section.importance .importance_wrap .importance_point_list li:nth-child(3) {
  background-color: #e1f5f3;
}
section.importance .importance_wrap .importance_point_list li > * {
  position: relative;
}
section.importance .importance_wrap .importance_card_body {
  display: grid;
  grid-template-columns: 1fr 26%;
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  section.importance .importance_wrap .importance_card_body {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_card_body {
    grid-template-columns: 1fr;
  }
}
section.importance .importance_wrap .importance_card_text p {
  margin: 0;
  padding-bottom: 55px;
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_card_text p {
    line-height: 1.8;
    padding-bottom: 0;
  }
}
section.importance .importance_wrap .importance_card_img {
  position: relative;
  align-self: end;
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_card_img {
    width: 160px;
    margin-left: auto;
  }
}
section.importance .importance_wrap .importance_card_img picture {
  display: block;
}
section.importance .importance_wrap .importance_card_img > picture > img:not(.importance_star02),
section.importance .importance_wrap .importance_card_img > img:not(.importance_star02) {
  width: 100%;
  aspect-ratio: 255/357;
  height: auto;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_card_img > picture > img:not(.importance_star02),
  section.importance .importance_wrap .importance_card_img > img:not(.importance_star02) {
    aspect-ratio: 160/210;
  }
}
section.importance .importance_wrap .importance_card_img .importance_star02 {
  position: absolute;
  top: -24px;
  left: 18px;
  z-index: 1;
  width: 61px;
  aspect-ratio: 61/64;
  height: auto;
  object-fit: cover;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.importance .importance_wrap .importance_card_img .importance_star02 {
    top: 85px;
    left: 6px;
    width: 37px;
    aspect-ratio: 37/39;
  }
}

section.worries {
  position: relative;
  overflow: hidden;
  background: #ffffff;
}
section.worries .worries_title_wrap {
  position: relative;
  margin-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_title_wrap {
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_title_wrap {
    min-height: 108px;
  }
}
section.worries .worries_title_wrap .worries_title_icon {
  position: absolute;
  top: 82px;
  left: calc(50% - 335px);
  width: 56px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_title_wrap .worries_title_icon {
    top: max(58px, 58px + 24 * (100vw - 390px) / 1049);
    left: calc(50% - max(164px, 164px + 171 * (100vw - 390px) / 1049));
    width: max(26px, 26px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_title_wrap .worries_title_icon {
    left: -5px;
  }
}
section.worries .worries_title_wrap .worries_title {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 0;
  color: #505050;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_title_wrap .worries_title {
    font-size: max(24px, 24px + 24 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_title_wrap .worries_title {
    column-gap: 10px;
  }
}
section.worries .worries_title_wrap .worries_title .worries_title_main {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 9px;
}
section.worries .worries_title_wrap .worries_title .worries_title_main .tooth {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 95px;
  aspect-ratio: 95/90;
  color: #ffffff;
  font-size: 48px;
  line-height: 1.2;
  z-index: 0;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_title_wrap .worries_title .worries_title_main .tooth {
    width: max(65px, 65px + 30 * (100vw - 390px) / 1049);
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
  }
}
section.worries .worries_title_wrap .worries_title .worries_title_main .tooth::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #0067ac;
  mask: url("../img/icon_tooth02.svg") center/contain no-repeat;
}
section.worries .worries_title_wrap .worries_title_sub {
  display: block;
  width: fit-content;
  margin-inline: auto;
  margin-top: 10px;
  background: linear-gradient(transparent calc(100% - 23px), #f9c12f calc(100% - 23px), #f9c12f calc(100% - 3px), transparent calc(100% - 3px));
  color: #505050;
  font-size: 56px;
  line-height: 1.45;
  paint-order: stroke fill;
  -webkit-text-stroke: 4px #ffffff;
  text-shadow: 4px 0 0 #ffffff, -4px 0 0 #ffffff, 0 4px 0 #ffffff, 0 -4px 0 #ffffff, 3px 3px 0 #ffffff, -3px 3px 0 #ffffff, 3px -3px 0 #ffffff, -3px -3px 0 #ffffff;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_title_wrap .worries_title_sub {
    margin-top: max(5px, 5px + 5 * (100vw - 390px) / 1049);
    font-size: max(28px, 28px + 28 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_title_wrap .worries_title_sub {
    background: linear-gradient(transparent calc(100% - 10px), #f9c12f calc(100% - 10px), #f9c12f 100%);
    -webkit-text-stroke: max(2px, 2px + 2 * (100vw - 390px) / 1049) #ffffff;
    text-shadow: max(2px, 2px + 2 * (100vw - 390px) / 1049) 0 0 #ffffff, min(-2px, -2px + -2 * (100vw - 390px) / 1049) 0 0 #ffffff, 0 max(2px, 2px + 2 * (100vw - 390px) / 1049) 0 #ffffff, 0 min(-2px, -2px + -2 * (100vw - 390px) / 1049) 0 #ffffff;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_title_wrap .worries_title_sub {
    font-size: max(24px, 24px + 4 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_lead {
  display: grid;
  place-items: center;
  margin: 0 auto 60px;
  padding: 0 60px;
  width: min(100%, 850px);
  min-height: 70px;
  border-radius: 999px;
  background: #493b3c;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_lead {
    width: fit-content;
    padding: 0 max(30px, 30px + 30 * (100vw - 390px) / 1049);
    min-height: max(60px, 60px + 10 * (100vw - 390px) / 1049);
    margin-bottom: max(20px, 20px + 40 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_lead {
    padding: 0 max(20px, 20px + 10 * (100vw - 320px) / 69);
    min-height: max(55px, 55px + 5 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_lead p {
  margin: 0;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_lead p {
    font-size: max(14px, 14px + 6 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_lead p {
    font-size: max(13px, 13px + 1 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_lead p span {
  color: #f9c12f;
}
section.worries .worries_wrap .worries_list {
  position: relative;
  aspect-ratio: 1100/534;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list {
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list {
    aspect-ratio: 350/762;
    max-width: 350px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list {
    min-height: 720px;
    aspect-ratio: auto;
  }
}
section.worries .worries_wrap .worries_list li {
  position: absolute;
}
section.worries .worries_wrap .worries_list li picture {
  display: contents;
}
section.worries .worries_wrap .worries_list li > picture:first-child img,
section.worries .worries_wrap .worries_list li > img:first-child {
  width: 100%;
  height: auto;
  object-fit: cover;
}
section.worries .worries_wrap .worries_list li .worries_text {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  text-align: center;
}
section.worries .worries_wrap .worries_list li p {
  margin: 0;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list li p {
    font-size: max(14px, 14px + 4 * (100vw - 390px) / 1049);
  }
}
section.worries .worries_wrap .worries_list li span {
  color: #e97a8c;
}
section.worries .worries_wrap .worries_list .worries_item01 p,
section.worries .worries_wrap .worries_list .worries_item03 p,
section.worries .worries_wrap .worries_list .worries_item06 p {
  font-size: 24px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item01 p,
  section.worries .worries_wrap .worries_list .worries_item03 p,
  section.worries .worries_wrap .worries_list .worries_item06 p {
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
section.worries .worries_wrap .worries_list .worries_item01 {
  top: 6px;
  left: 0;
  width: 300px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item01 {
    width: max(200px, 200px + 100 * (100vw - 768px) / 671);
    top: max(0px, 0px + 6 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item01 {
    top: 0;
    left: 0;
    width: 200px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item01 {
    width: max(160px, 160px + 40 * (100vw - 320px) / 69);
  }
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item01 p {
    font-size: max(16px, 16px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item01 p {
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item01 p {
    font-size: max(14px, 14px + 2 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_item02 {
  top: 91px;
  left: 324px;
  width: 200px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item02 {
    top: max(86px, 86px + 5 * (100vw - 768px) / 671);
    left: max(200px, 200px + 124 * (100vw - 768px) / 671);
    width: max(150px, 150px + 50 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item02 {
    top: 86px;
    left: 200px;
    width: 150px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item02 {
    width: max(120px, 120px + 30 * (100vw - 320px) / 69);
    left: max(160px, 160px + 40 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_item02 p {
  padding-top: 5px;
  padding-left: 5px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item02 p {
    font-size: max(15px, 15px + 3 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item02 p {
    font-size: max(15px, 15px + 3 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item02 p {
    font-size: max(13px, 13px + 2 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_item03 {
  top: 36px;
  right: 253px;
  width: 300px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item03 {
    top: min(19px, 19px + 17 * (100vw - 768px) / 671);
    right: max(150px, 150px + 103 * (100vw - 768px) / 671);
    width: max(180px, 180px + 120 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item03 {
    top: 145px;
    left: 0;
    right: auto;
    width: 180px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item03 {
    width: max(144px, 144px + 36 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_item03 p {
  margin-top: -24px;
}
section.worries .worries_wrap .worries_list .worries_item04 {
  top: 0;
  right: 0;
  width: 230px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item04 {
    width: max(160px, 160px + 70 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item04 {
    top: 212px;
    width: 160px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item04 {
    width: max(128px, 128px + 32 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_item05 {
  top: 260px;
  left: 0;
  width: 230px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item05 {
    width: max(150px, 150px + 80 * (100vw - 768px) / 671);
    top: max(180px, 180px + 80 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item05 {
    top: 295px;
    left: 16px;
    width: 150px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item05 {
    width: max(120px, 120px + 30 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_item06 {
  top: 280px;
  left: 246px;
  width: 340px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item06 {
    width: max(200px, 200px + 140 * (100vw - 768px) / 671);
    top: max(220px, 220px + 60 * (100vw - 768px) / 671);
    left: max(150px, 150px + 96 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item06 {
    top: 359px;
    left: 150px;
    width: 200px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item06 {
    width: max(160px, 160px + 40 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_item06 p {
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item06 p {
    margin-top: 15px;
    margin-left: -7px;
  }
}
section.worries .worries_wrap .worries_list .worries_item06 .worries_illust02 {
  position: absolute;
  right: -55px;
  bottom: 5px;
  width: 130px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item06 .worries_illust02 {
    width: max(100px, 100px + 30 * (100vw - 768px) / 671);
    bottom: min(-20px, -20px + 25 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item06 .worries_illust02 {
    width: max(100px, 100px + 30 * (100vw - 390px) / 1049);
    right: 0;
    bottom: -50px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item06 .worries_illust02 {
    bottom: max(-70px, -70px + -20 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_item07 {
  top: 280px;
  right: 281px;
  width: 210px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item07 {
    width: max(150px, 150px + 60 * (100vw - 768px) / 671);
    top: max(180px, 180px + 100 * (100vw - 768px) / 671);
    right: max(200px, 200px + 81 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item07 {
    top: 440px;
    left: 0;
    right: auto;
    width: 150px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item07 {
    width: max(120px, 120px + 30 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_item08 {
  top: 232px;
  right: 0;
  width: 260px;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_item08 {
    width: max(200px, 200px + 60 * (100vw - 768px) / 671);
    top: max(150px, 150px + 82 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_item08 {
    top: 558px;
    right: auto;
    left: 75px;
    width: 200px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_item08 {
    width: max(160px, 160px + 40 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_illust01 {
  top: 0;
  left: 36.73%;
  width: 120px;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_illust01 {
    width: max(80px, 80px + 40 * (100vw - 768px) / 671);
    top: min(28px, 28px + -28 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_illust01 {
    width: 80px;
    top: 28px;
    left: 263px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_illust01 {
    left: max(208px, 208px + 55 * (100vw - 320px) / 69);
    top: max(20px, 20px + 8 * (100vw - 320px) / 69);
  }
}
section.worries .worries_wrap .worries_list .worries_illust03 {
  right: 0;
  bottom: 38px;
  width: 140px;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.worries .worries_wrap .worries_list .worries_illust03 {
    width: max(100px, 100px + 40 * (100vw - 768px) / 671);
    bottom: max(0px, 0px + 38 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.worries .worries_wrap .worries_list .worries_illust03 {
    right: auto;
    bottom: auto;
    top: 662px;
    left: 166px;
    width: 100px;
  }
}
@media screen and (max-width: 389px) {
  section.worries .worries_wrap .worries_list .worries_illust03 {
    left: max(133px, 133px + 33 * (100vw - 320px) / 69);
    top: max(640px, 640px + 22 * (100vw - 320px) / 69);
  }
}

section.growup {
  position: relative;
  overflow: hidden;
  background: url("../img/glowup_title_bg.webp") top center/auto 358px repeat-x, url("../img/glowup_title_bg.webp") bottom center/auto 358px repeat-x;
}
@media screen and (max-width: 1439px) {
  section.growup {
    background-size: auto max(358px, 358px + 0 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_title_area {
  position: relative;
  padding: 250px 0 60px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_title_area {
    padding: max(150px, 150px + 100 * (100vw - 390px) / 1049) 0 max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_title_area::before {
  content: "";
  position: absolute;
  top: 100px;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 183.5px;
  background: url("../img/growup_bg_top_white.webp") top center/1440px 183.5px no-repeat;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_title_area::before {
    top: max(50px, 50px + 50 * (100vw - 390px) / 1049);
    height: max(60px, 60px + 123.5 * (100vw - 390px) / 1049);
    background-image: url("../img/growup_bg_top_white_sp.webp");
    background-size: max(390px, 390px + 1050 * (100vw - 390px) / 1049) max(60px, 60px + 124 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_title_area::after {
  content: "";
  position: absolute;
  top: 274px;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_title_area::after {
    top: max(110px, 110px + 164 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_title_illusts {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
section.growup .growup_title_illusts img {
  position: absolute;
  z-index: 1;
  height: auto;
}
section.growup .growup_title_illusts .growup_title_illust01 {
  top: 108px;
  left: calc(50% - 690px);
  width: 237px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_title_illusts .growup_title_illust01 {
    top: max(56px, 56px + 52 * (100vw - 390px) / 1049);
    left: calc(50% - max(185px, 185px + 505 * (100vw - 390px) / 1049));
    width: max(79px, 79px + 158 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_title_illusts .growup_title_illust02 {
  top: 79px;
  right: calc(50% - 694px);
  width: 225px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_title_illusts .growup_title_illust02 {
    top: max(58px, 58px + 21 * (100vw - 390px) / 1049);
    right: calc(50% - max(185px, 185px + 509 * (100vw - 390px) / 1049));
    width: max(76px, 76px + 149 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_title_wrap {
  position: relative;
  z-index: 1;
  text-align: center;
}
section.growup .growup_title_wrap .en_text {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin: 0;
  font-size: 90px;
  font-family: "Quicksand", sans-serif;
  line-height: 1;
  color: #e97a8c;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_title_wrap .en_text {
    gap: max(3px, 3px + 3 * (100vw - 390px) / 1049);
    font-size: max(40px, 40px + 50 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.growup .growup_title_wrap .en_text {
    align-items: center;
    height: 28px;
    line-height: 0.7;
  }
}
section.growup .growup_title_wrap .en_text span {
  line-height: 0.8;
  font-family: inherit;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  section.growup .growup_title_wrap .en_text span {
    line-height: 0.7;
  }
}
section.growup .growup_title_wrap .en_text span:nth-child(2) {
  color: #f28b43;
}
section.growup .growup_title_wrap .en_text span:nth-child(3) {
  color: #68cbc2;
}
section.growup .growup_title_wrap .en_text span:nth-child(4) {
  color: #81bb05;
}
section.growup .growup_title_wrap .en_text span:nth-child(5) {
  color: #f9c12f;
  margin-left: 22px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_title_wrap .en_text span:nth-child(5) {
    margin-left: max(12px, 12px + 10 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_title_wrap .en_text span:nth-child(6) {
  color: #0067ac;
}
section.growup .growup_title_wrap img {
  display: block;
  width: 465px;
  margin: 35px auto 16px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_title_wrap img {
    width: max(309px, 309px + 156 * (100vw - 390px) / 1049);
    margin-top: max(20px, 20px + 15 * (100vw - 390px) / 1049);
    margin-bottom: max(10px, 10px + 6 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_title_wrap h2 {
  margin: 0;
  font-size: 48px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_title_wrap h2 {
    font-size: max(24px, 24px + 24 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_stages {
  position: relative;
  z-index: 1;
}
section.growup .growup_stage {
  position: relative;
  padding: 80px 0 80px;
  color: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_stage {
    padding: max(40px, 40px + 40 * (100vw - 390px) / 1049) 0;
  }
}
section.growup .growup_stage.is-pink {
  border-radius: 80px 80px 0 0;
  background: #e97a8c;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_stage.is-pink {
    border-radius: max(40px, 40px + 40 * (100vw - 390px) / 1049) max(40px, 40px + 40 * (100vw - 390px) / 1049) 0 0;
  }
}
section.growup .growup_stage.is-pink .growup_body {
  background: #fbe4e8;
}
section.growup .growup_stage.is-blue {
  background: #0067ac;
}
section.growup .growup_stage.is-blue .growup_body {
  background: #e1f5f3;
}
section.growup .growup_stage.is-green {
  border-radius: 0 0 80px 80px;
  background: #81bb05;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_stage.is-green {
    border-radius: 0 0 max(40px, 40px + 40 * (100vw - 390px) / 1049) max(40px, 40px + 40 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_stage.is-green .growup_body {
  background: #e7f4ca;
}
section.growup .growup_stage h3 {
  margin: 0 0 40px;
  color: #ffffff;
  font-size: 32px;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_stage h3 {
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_stage_intro {
  display: grid;
  grid-template-columns: 1fr 430px;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_stage_intro {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    grid-template-columns: 1fr max(200px, 200px + 230 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.growup .growup_stage_intro {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
  }
}
section.growup .growup_stage_intro.is-reverse {
  grid-template-columns: 430px 1fr;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_stage_intro.is-reverse {
    grid-template-columns: max(200px, 200px + 230 * (100vw - 390px) / 1049) 1fr;
  }
}
@media screen and (max-width: 767px) {
  section.growup .growup_stage_intro.is-reverse {
    flex-direction: column;
  }
}
section.growup .growup_stage_text .growup_stage_lead {
  margin: 0 0 24px;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_stage_text .growup_stage_lead {
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_age {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_age {
    gap: max(10px, 10px + 0 * (100vw - 390px) / 1049);
    margin-bottom: min(12px, 12px + -2 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_age img {
  flex: 0 0 auto;
  width: 110px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_age img {
    width: max(60px, 60px + 50 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.growup .growup_age img {
    width: max(50px, 50px + 10 * (100vw - 320px) / 69);
  }
}
section.growup .growup_age p {
  display: flex;
  align-items: baseline;
  gap: 3px;
  margin: 0;
  color: #fbff22;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 56px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_age p {
    font-size: max(32px, 32px + 24 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.growup .growup_age p {
    font-size: max(24px, 24px + 8 * (100vw - 320px) / 69);
  }
}
section.growup .growup_age .age_num {
  color: #fbff22;
  font-size: 72px;
  line-height: 1;
  position: relative;
  top: 2px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_age .age_num {
    font-size: max(48px, 48px + 24 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_check_list {
  position: relative;
  display: grid;
  gap: 16px;
  padding-top: 24px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_check_list {
    gap: max(10px, 10px + 6 * (100vw - 390px) / 1049);
    padding-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_check_list::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: min(100%, 630px);
  height: 4px;
  background: repeating-linear-gradient(to right, #ffffff 0 8px, transparent 8px 16px);
}
@media screen and (max-width: 767px) {
  section.growup .growup_check_list::before {
    height: 2px;
    background: repeating-linear-gradient(to right, #ffffff 0 5px, transparent 5px 10px);
  }
}
section.growup .growup_check_list li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_check_list li {
    gap: max(5px, 5px + 5 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.growup .growup_check_list li {
    letter-spacing: 0;
  }
}
section.growup .growup_check_list li::before {
  content: "";
  flex: 0 0 40px;
  width: 40px;
  aspect-ratio: 1;
  background: url("../img/icon_check_yellow.webp") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_check_list li::before {
    flex-basis: max(25px, 25px + 15 * (100vw - 390px) / 1049);
    width: max(25px, 25px + 15 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_img picture {
  display: block;
}
section.growup .growup_img img {
  width: 430px;
  aspect-ratio: 430/400;
  height: auto;
  object-fit: cover;
  mask: url("../img/flower_svg.svg") center/100% 100% no-repeat;
  -webkit-mask: url("../img/flower_svg.svg") center/100% 100% no-repeat;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_img img {
    width: max(350px, 350px + 80 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.growup .growup_img img {
    aspect-ratio: 350/325;
    margin-inline: auto;
  }
}
section.growup .growup_body {
  position: relative;
  overflow: hidden;
  margin-top: 40px;
  padding: 40px;
  border-radius: 40px;
}
@media screen and (max-width: 1439px) {
  section.growup .growup_body {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    padding: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.growup .growup_body::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(255, 255, 255, 0.4);
  clip-path: polygon(0 0, 100% 0, 0 100%);
}
section.growup .growup_body p {
  position: relative;
  z-index: 1;
}

section.habit {
  background: #ffffff;
}
section.habit .habit_title_wrap {
  margin-bottom: 60px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_title_wrap {
    margin-bottom: max(25px, 25px + 35 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_title_wrap .habit_title {
  margin: 0;
}
section.habit .habit_title_wrap .habit_title .en {
  display: flex;
  justify-content: center;
  gap: 7px;
  color: #e97a8c;
  font-family: "Quicksand", sans-serif;
  font-size: 90px;
  font-weight: 700;
  line-height: 0.7;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_title_wrap .habit_title .en {
    gap: max(3px, 3px + 4 * (100vw - 390px) / 1049);
    font-size: max(40px, 40px + 50 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_title_wrap .habit_title .en span {
  font-family: inherit;
  line-height: 0.8;
}
section.habit .habit_title_wrap .habit_title .en span:nth-child(2) {
  color: #f28b43;
}
section.habit .habit_title_wrap .habit_title .en span:nth-child(3) {
  color: #68cbc2;
}
section.habit .habit_title_wrap .habit_title .en span:nth-child(4) {
  color: #81bb05;
}
section.habit .habit_title_wrap .habit_title .en span:nth-child(5) {
  color: #f9c12f;
}
section.habit .habit_title_wrap .habit_title .ja {
  display: block;
  margin-top: 18px;
  font-size: 32px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_title_wrap .habit_title .ja {
    margin-top: max(12px, 12px + 6 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_lead {
  margin-bottom: 60px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_lead {
    margin-bottom: max(24px, 24px + 36 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_lead h3 {
  display: inline-block;
  position: relative;
  margin: 0;
  font-size: 40px;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_lead h3 {
    font-size: max(24px, 24px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_lead h3 {
    font-size: max(20px, 20px + 4 * (100vw - 320px) / 69);
  }
}
section.habit .habit_lead h3::after {
  content: "";
  display: block;
  width: 675px;
  height: 15px;
  margin: 16px auto 0;
  background-image: radial-gradient(circle at 7px 50%, #f9c12f 0 7px, transparent 8px), radial-gradient(circle at 37px 50%, #e97a8c 0 7px, transparent 8px);
  background-size: 60px 15px;
  background-repeat: repeat-x;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_lead h3::after {
    width: max(328px, 328px + 347 * (100vw - 390px) / 1049);
    height: max(8px, 8px + 7 * (100vw - 390px) / 1049);
    margin-top: max(10px, 10px + 6 * (100vw - 390px) / 1049);
    background-image: radial-gradient(circle at max(4px, 4px + 3 * (100vw - 390px) / 1049) 50%, #f9c12f 0 max(4px, 4px + 3 * (100vw - 390px) / 1049), transparent max(4px, 4px + 4 * (100vw - 390px) / 1049)), radial-gradient(circle at max(20px, 20px + 17 * (100vw - 390px) / 1049) 50%, #e97a8c 0 max(4px, 4px + 3 * (100vw - 390px) / 1049), transparent max(4px, 4px + 4 * (100vw - 390px) / 1049));
    background-size: max(32px, 32px + 28 * (100vw - 390px) / 1049) max(8px, 8px + 7 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_lead h3::after {
    width: 100%;
  }
}
section.habit .habit_lead h3 .habit_lead_small {
  color: #505050;
  font-size: 32px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_lead h3 .habit_lead_small {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_lead h3 .habit_lead_small {
    font-size: max(16px, 16px + 4 * (100vw - 320px) / 69);
  }
}
section.habit .habit_lead h3 .habit_lead_large {
  color: #505050;
  font-size: 40px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_lead h3 .habit_lead_large {
    font-size: max(24px, 24px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_lead h3 .habit_lead_large {
    font-size: max(20px, 20px + 4 * (100vw - 320px) / 69);
  }
}
section.habit .habit_lead h3 .habit_lead_large span {
  color: #e97a8c;
}
section.habit .habit_intro {
  display: grid;
  grid-template-columns: 450px 1fr;
  align-items: center;
  gap: 40px;
  margin-bottom: 60px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_intro {
    grid-template-columns: max(200px, 200px + 250 * (100vw - 390px) / 1049) 1fr;
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-bottom: max(48px, 48px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.habit .habit_intro {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  section.habit .habit_main_img {
    margin-bottom: 20px;
  }
}
section.habit .habit_main_img img {
  width: 450px;
  aspect-ratio: 1;
  border-radius: 40px;
  object-fit: cover;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_main_img img {
    width: min(100%, max(350px, 350px + 100 * (100vw - 390px) / 1049));
  }
}
@media screen and (max-width: 767px) {
  section.habit .habit_main_img img {
    margin-inline: auto;
  }
}
section.habit .habit_intro_text .habit_fukidashi {
  position: relative;
  width: 439px;
  height: 126px;
  margin-bottom: 24px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_intro_text .habit_fukidashi {
    width: min(100%, max(350px, 350px + 89 * (100vw - 390px) / 1049));
    height: max(106px, 106px + 20 * (100vw - 390px) / 1049);
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_intro_text .habit_fukidashi .habit_fukidashi_bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 400px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_intro_text .habit_fukidashi .habit_fukidashi_bg {
    width: max(311px, 311px + 89 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_intro_text .habit_fukidashi .habit_illust {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 87px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_intro_text .habit_fukidashi .habit_illust {
    width: max(69px, 69px + 18 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_intro_text .habit_fukidashi p {
  position: absolute;
  top: 15px;
  right: 35px;
  margin: 0;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_intro_text .habit_fukidashi p {
    top: max(12px, 12px + 3 * (100vw - 390px) / 1049);
    right: max(25px, 25px + 10 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_intro_text .habit_fukidashi p {
    font-size: max(12px, 12px + 2 * (100vw - 320px) / 69);
  }
}
section.habit .habit_intro_text > p {
  margin: 0;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  section.habit .habit_intro_text > p {
    line-height: 1.8;
  }
}
section.habit .habit_harm {
  margin-bottom: 60px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm {
    margin-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_harm_title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 24px;
  position: relative;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_title {
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.habit .habit_harm_title {
    max-width: 500px;
    margin-inline: auto;
  }
}
section.habit .habit_harm_title img:first-child {
  width: 164px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_title img:first-child {
    width: max(94px, 94px + 70 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.habit .habit_harm_title img:first-child {
    position: absolute;
    bottom: 0;
    left: 8px;
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_harm_title img:first-child {
    width: max(80px, 80px + 14 * (100vw - 320px) / 69);
  }
}
section.habit .habit_harm_title img:last-child {
  width: 140px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_title img:last-child {
    width: max(79px, 79px + 61 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.habit .habit_harm_title img:last-child {
    position: absolute;
    right: 8px;
    bottom: 0;
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_harm_title img:last-child {
    width: max(70px, 70px + 9 * (100vw - 320px) / 69);
  }
}
section.habit .habit_harm_title img.icon_water {
  width: 40px;
  align-self: flex-start;
  position: absolute;
  right: calc(50% - 210px);
  top: 0;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_title img.icon_water {
    width: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    top: max(-20px, -20px + 20 * (100vw - 390px) / 1049);
    right: calc(50% - max(90px, 90px + 120 * (100vw - 390px) / 1049));
  }
}
section.habit .habit_harm_title h3 {
  font-size: 32px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_title h3 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_harm_title h3 {
    font-size: max(16px, 16px + 4 * (100vw - 320px) / 69);
  }
}
section.habit .habit_harm_title h3 span {
  font-size: 40px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_title h3 span {
    font-size: max(28px, 28px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_harm_title h3 span {
    font-size: max(20px, 20px + 8 * (100vw - 320px) / 69);
  }
}
section.habit .habit_harm_list {
  display: grid;
  grid-template-columns: repeat(4, 200px);
  justify-content: center;
  gap: 20px;
  width: 860px;
  margin: 0 auto;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_list {
    grid-template-columns: repeat(4, max(80px, 80px + 120 * (100vw - 390px) / 1049));
    gap: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    width: min(100%, max(350px, 350px + 510 * (100vw - 390px) / 1049));
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_harm_list {
    gap: max(5px, 5px + 5 * (100vw - 320px) / 69);
    grid-template-columns: repeat(4, max(70px, 70px + 10 * (100vw - 320px) / 69));
  }
}
section.habit .habit_harm_list li {
  display: grid;
  place-items: center;
  width: 200px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 0 6px, transparent 6px 12px), #f9c12f;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_list li {
    width: max(80px, 80px + 120 * (100vw - 390px) / 1049);
    font-size: max(12px, 12px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.habit .habit_harm_list li {
    background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 0 3px, transparent 3px 6px), #f9c12f;
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_harm_list li {
    width: max(70px, 70px + 10 * (100vw - 320px) / 69);
    font-size: max(11px, 11px + 1 * (100vw - 320px) / 69);
  }
}
section.habit .habit_harm_list li:nth-child(2n) {
  background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 0 6px, transparent 6px 12px), #e97a8c;
}
@media screen and (max-width: 767px) {
  section.habit .habit_harm_list li:nth-child(2n) {
    background: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 0 3px, transparent 3px 6px), #e97a8c;
  }
}
section.habit .habit_harm_list li:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1;
  margin-left: 110px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_list li:nth-child(1) {
    margin-left: max(45px, 45px + 65 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_harm_list li:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1;
  margin-left: 110px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_list li:nth-child(2) {
    margin-left: max(45px, 45px + 65 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_harm_list li:nth-child(3) {
  grid-column: 3/4;
  grid-row: 1;
  margin-left: 110px;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_harm_list li:nth-child(3) {
    margin-left: max(45px, 45px + 65 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_harm_list li:nth-child(n+4) {
  grid-row: 2;
}
section.habit .habit_harm_list li:nth-child(4) {
  grid-column: 1/2;
}
section.habit .habit_harm_list li:nth-child(5) {
  grid-column: 2/3;
}
section.habit .habit_harm_list li:nth-child(6) {
  grid-column: 3/4;
}
section.habit .habit_harm_list li:nth-child(7) {
  grid-column: 4/5;
}
section.habit .habit_sign {
  padding: 40px;
  border-radius: 30px;
  background: #f8f5f0;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_sign {
    padding: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_sign .habit_sign_title {
  margin-bottom: 36px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_sign .habit_sign_title {
    margin-bottom: max(20px, 20px + 16 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_sign .habit_sign_title p {
  margin: 0 0 4px;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_sign .habit_sign_title p {
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
section.habit .habit_sign .habit_sign_title h3 {
  display: inline-block;
  margin: 0;
  font-size: 32px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_sign .habit_sign_title h3 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_sign .habit_sign_title h3 {
    font-size: max(16px, 16px + 4 * (100vw - 320px) / 69);
  }
}
section.habit .habit_sign .habit_sign_title h3::after {
  content: "";
  display: block;
  width: 530px;
  height: 10px;
  margin: 8px auto 0;
  background-image: radial-gradient(circle 4px at 4px 5px, #f9c12f 100%, transparent 100%), radial-gradient(circle 4px at 22px 5px, #e97a8c 100%, transparent 100%);
  background-size: 36px 10px;
  background-repeat: repeat-x;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_sign .habit_sign_title h3::after {
    width: max(278px, 278px + 252 * (100vw - 390px) / 1049);
    margin-top: min(10px, 10px + -2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_sign .habit_sign_title h3::after {
    width: 100%;
  }
}
section.habit .habit_sign ul {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  section.habit .habit_sign ul {
    grid-template-columns: max-content;
    gap: 10px;
  }
}
section.habit .habit_sign li {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_sign li {
    gap: max(5px, 5px + 5 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.habit .habit_sign li {
    font-size: max(12px, 12px + 2 * (100vw - 320px) / 69);
  }
}
section.habit .habit_sign li::before {
  content: "";
  flex: 0 0 40px;
  width: 40px;
  aspect-ratio: 1;
  background: url("../img/icon_check_yellow copy.webp") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.habit .habit_sign li::before {
    flex-basis: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    width: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}

section.features {
  background: #ffffff;
}
section.features .features_intro {
  position: relative;
  overflow: hidden;
}
section.features .features_intro .features_title_wrap {
  position: relative;
  width: 551px;
  height: 306px;
  margin: 0 auto 25px;
}
@media screen and (max-width: 1439px) {
  section.features .features_intro .features_title_wrap {
    width: max(352px, 352px + 199 * (100vw - 390px) / 1049);
    height: max(205px, 205px + 101 * (100vw - 390px) / 1049);
    margin-bottom: max(12px, 12px + 13 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.features .features_intro .features_title_wrap {
    width: max(250px, 250px + 102 * (100vw - 320px) / 69);
    height: max(145px, 145px + 60 * (100vw - 320px) / 69);
  }
}
section.features .features_intro .features_title_wrap picture {
  display: contents;
}
section.features .features_intro .features_title_wrap .features_title_bg,
section.features .features_intro .features_title_wrap .features_title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  section.features .features_intro .features_title_wrap .features_title_bg,
  section.features .features_intro .features_title_wrap .features_title {
    left: calc(50% + 10px);
  }
}
section.features .features_intro .features_title_wrap .features_title_bg {
  top: 0;
  width: 551px;
}
@media screen and (max-width: 1439px) {
  section.features .features_intro .features_title_wrap .features_title_bg {
    width: max(352px, 352px + 199 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.features .features_intro .features_title_wrap .features_title_bg {
    width: max(250px, 250px + 102 * (100vw - 320px) / 69);
  }
}
section.features .features_intro .features_title_wrap .features_title {
  top: 95px;
  width: 249px;
}
@media screen and (max-width: 1439px) {
  section.features .features_intro .features_title_wrap .features_title {
    top: max(65px, 65px + 30 * (100vw - 390px) / 1049);
    width: max(162px, 162px + 87 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.features .features_intro .features_title_wrap .features_title {
    top: max(45px, 45px + 20 * (100vw - 320px) / 69);
    width: max(115px, 115px + 47 * (100vw - 320px) / 69);
  }
}
section.features .features_intro .features_lead {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
  font-size: 40px;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.features .features_intro .features_lead {
    gap: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_intro .features_lead {
    align-items: center;
  }
}
@media screen and (max-width: 389px) {
  section.features .features_intro .features_lead {
    font-size: max(16px, 16px + 4 * (100vw - 320px) / 69);
  }
}
section.features .features_intro .features_lead img {
  width: 61px;
  margin-top: 0;
}
@media screen and (max-width: 1439px) {
  section.features .features_intro .features_lead img {
    width: max(35px, 35px + 26 * (100vw - 390px) / 1049);
  }
}
section.features .features_intro .features_intro_body {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  position: relative;
  padding: 60px 0;
}
@media screen and (max-width: 1439px) {
  section.features .features_intro .features_intro_body {
    padding: max(30px, 30px + 30 * (100vw - 390px) / 1049) 0;
  }
}
section.features .features_intro .features_intro_body .features_intro_body_bg {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  opacity: 0.2;
  pointer-events: none;
}
section.features .features_intro .features_intro_body .features_intro_body_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.features .features_intro .features_intro_body .features_intro_body_inner {
  max-width: 1140px;
  padding: 0 20px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 1fr 416px;
  align-items: center;
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  section.features .features_intro .features_intro_body .features_intro_body_inner {
    grid-template-columns: 1fr max(250px, 250px + 166 * (100vw - 390px) / 1049);
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_intro .features_intro_body .features_intro_body_inner {
    grid-template-columns: 1fr;
  }
}
section.features .features_intro .features_intro_body .features_intro_body_inner .features_intro_text p {
  margin: 0;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  section.features .features_intro .features_intro_body .features_intro_body_inner .features_intro_text p {
    line-height: 1.8;
  }
}
section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list {
  position: relative;
  width: 416px;
  height: 420px;
}
@media screen and (max-width: 1439px) {
  section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list {
    width: max(250px, 250px + 166 * (100vw - 390px) / 1049);
    height: max(250px, 250px + 170 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list {
    width: max(350px, 350px + 66 * (100vw - 390px) / 1049);
    height: max(350px, 350px + 70 * (100vw - 390px) / 1049);
    margin-inline: auto;
  }
}
@media screen and (max-width: 389px) {
  section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list {
    width: max(250px, 250px + 100 * (100vw - 320px) / 69);
    height: max(250px, 250px + 100 * (100vw - 320px) / 69);
  }
}
section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list li {
  position: absolute;
  display: grid;
  place-items: center;
  width: 240px;
  aspect-ratio: 1;
  border-radius: 50%;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list li {
    width: max(145px, 145px + 95 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list li {
    width: max(200px, 200px + 40 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list li {
    font-size: max(18px, 18px + 6 * (100vw - 320px) / 69);
    width: max(145px, 145px + 55 * (100vw - 320px) / 69);
  }
}
section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list li:nth-child(1) {
  z-index: 4;
  top: 0;
  left: 0;
  background: rgba(233, 122, 140, 0.8);
}
section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list li:nth-child(2) {
  z-index: 3;
  top: 0;
  right: 0;
  background: rgba(104, 203, 194, 0.8);
}
section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list li:nth-child(3) {
  z-index: 1;
  bottom: 0;
  left: 0;
  background: rgba(249, 193, 47, 0.8);
}
section.features .features_intro .features_intro_body .features_intro_body_inner .features_circle_list li:nth-child(4) {
  z-index: 2;
  right: 0;
  bottom: 0;
  background: rgba(129, 187, 5, 0.8);
}
section.features .features_list {
  width: min(100%, 1920px);
  margin: 0 auto;
  padding-top: 97px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 80px;
}
@media screen and (max-width: 1439px) {
  section.features .features_list {
    padding-top: max(50px, 50px + 47 * (100vw - 390px) / 1049);
    gap: max(40px, 40px + 40 * (100vw - 390px) / 1049);
  }
}
section.features .features_list .features_item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 580px;
  align-items: center;
  gap: 40px 60px;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049) max(30px, 30px + 30 * (100vw - 390px) / 1049);
    grid-template-columns: minmax(0, 1fr) max(300px, 300px + 280 * (100vw - 768px) / 671);
    gap: max(20px, 20px + 20 * (100vw - 768px) / 671) max(30px, 30px + 30 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item {
    display: flex;
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 0;
  }
}
section.features .features_list .features_item.is-reverse {
  grid-template-columns: 580px minmax(0, 1fr);
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item.is-reverse {
    grid-template-columns: max(300px, 300px + 280 * (100vw - 768px) / 671) minmax(0, 1fr);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item.is-reverse {
    flex-direction: column-reverse;
  }
}
section.features .features_list .features_item.is-reverse .features_item_text {
  order: 2;
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item.is-reverse .features_item_text {
    order: 0;
  }
}
section.features .features_list .features_item.is-reverse .features_item_img {
  order: 1;
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item.is-reverse .features_item_img {
    order: 0;
  }
}
section.features .features_list .features_item.is-reverse .features_item_title {
  border-radius: 999px 0 0 999px;
  padding-left: 76px;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item.is-reverse .features_item_title {
    padding-left: max(20px, 20px + 56 * (100vw - 390px) / 1049);
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item.is-reverse .features_item_title {
    margin-left: 20px;
  }
}
section.features .features_list .features_item.is-pink {
  --features-color: #e97a8c;
  --features-title-bg: #e97a8c;
}
section.features .features_list .features_item.is-pink .features_item_title {
  background: #e97a8c;
}
section.features .features_list .features_item.is-mint {
  --features-color: #1fa7b4;
  --features-title-bg: #68cbc2;
}
section.features .features_list .features_item.is-mint .features_item_title {
  background: #68cbc2;
}
section.features .features_list .features_item.is-yellow {
  --features-color: #eebf00;
  --features-title-bg: #f9c12f;
}
section.features .features_list .features_item.is-yellow .features_item_title {
  background: #f9c12f;
}
section.features .features_list .features_item.is-green {
  --features-color: #81bb05;
  --features-title-bg: #81bb05;
  margin-bottom: 0;
}
section.features .features_list .features_item.is-green .features_item_title {
  background: #81bb05;
}
section.features .features_list .features_item.is-green .features_note {
  color: #81bb05;
}
section.features .features_list .features_item .features_item_text {
  min-width: 0;
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item .features_item_text {
    margin-top: 30px;
    margin-right: auto;
  }
}
section.features .features_list .features_item .features_item_text .features_item_title {
  display: flex;
  align-items: center;
  height: 120px;
  margin-bottom: 40px;
  padding: 0 40px 0 calc((min(100vw, 1920px) - 1100px) / 2);
  border-radius: 0 999px 999px 0;
  color: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_text .features_item_title {
    height: max(80px, 80px + 40 * (100vw - 390px) / 1049);
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    padding-right: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item .features_item_text .features_item_title {
    padding-left: 20px;
    margin-right: 20px;
  }
}
section.features .features_list .features_item .features_item_text .features_item_title .features_item_num {
  display: grid;
  justify-items: center;
  width: 66px;
  margin-right: 10px;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_text .features_item_title .features_item_num {
    width: max(46px, 46px + 20 * (100vw - 390px) / 1049);
  }
}
section.features .features_list .features_item .features_item_text .features_item_title .features_item_num img {
  width: 66px;
  margin-bottom: -5px;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_text .features_item_title .features_item_num img {
    width: max(46px, 46px + 20 * (100vw - 390px) / 1049);
  }
}
section.features .features_list .features_item .features_item_text .features_item_title .num_text {
  display: inline-block;
  position: relative;
  z-index: 0;
  color: var(--features-title-bg);
  -webkit-text-fill-color: var(--features-title-bg);
  font-size: 40px;
  font-family: "Quicksand", sans-serif;
  line-height: 1;
  letter-spacing: 0.1em;
  padding: 4px;
  margin: -4px;
}
section.features .features_list .features_item .features_item_text .features_item_title .num_text::before {
  content: attr(data-num);
  position: absolute;
  inset: 4px;
  z-index: -1;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 4px #ffffff;
  text-stroke: 4px #ffffff;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_text .features_item_title .num_text {
    font-size: max(28px, 28px + 12 * (100vw - 390px) / 1049);
  }
}
section.features .features_list .features_item .features_item_text .features_item_title h3 {
  margin: 0;
  color: #ffffff;
  font-size: 40px;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_text .features_item_title h3 {
    font-size: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.features .features_list .features_item .features_item_text .features_item_title h3.small {
  font-size: 32px;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_text .features_item_title h3.small {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.features .features_list .features_item .features_item_text .features_item_body {
  padding-left: calc((min(100vw, 1920px) - 1100px) / 2);
  padding-right: 0;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_text .features_item_body {
    padding-left: calc(min(100vw, min(100vw, 1920px) - max(728px, 728px + 372 * (100vw - 768px) / 671)) / 2);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item .features_item_text .features_item_body {
    padding-right: 20px;
    padding-left: 20px;
  }
}
section.features .features_list .features_item .features_item_text .features_item_body h4 {
  margin: 0 0 24px;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_text .features_item_body h4 {
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.features .features_list .features_item .features_item_text .features_item_body h4 {
    font-size: max(20px, 20px + 4 * (100vw - 320px) / 69);
  }
}
section.features .features_list .features_item .features_item_text .features_item_body h4::first-letter {
  color: var(--features-color);
}
section.features .features_list .features_item .features_item_text .features_item_body p {
  margin: 0;
  font-weight: 500;
}
section.features .features_list .features_item .features_item_text .features_item_body p.features_note {
  margin: 24px 0 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_text .features_item_body p.features_note {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    font-size: max(18px, 18px + 6 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item .features_item_img {
    width: calc(100% - 20px);
    margin-left: auto;
  }
}
section.features .features_list .features_item .features_item_img picture {
  display: block;
}
section.features .features_list .features_item .features_item_img img {
  width: 580px;
  aspect-ratio: 580/540;
  border-radius: 60px 0 0 60px;
  object-fit: cover;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_item_img img {
    width: max(370px, 370px + 210 * (100vw - 390px) / 1049);
    border-radius: max(40px, 40px + 20 * (100vw - 390px) / 1049) 0 0 max(40px, 40px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item .features_item_img img {
    width: 100%;
    aspect-ratio: 370/240;
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item.is-reverse .features_item_text {
    margin-top: 30px;
    margin-right: 0;
    margin-left: auto;
  }
}
section.features .features_list .features_item.is-reverse .features_item_text .features_item_title {
  padding-right: calc((min(100vw, 1920px) - 1100px) / 2);
  padding-left: 76px;
  border-radius: 999px 0 0 999px;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item.is-reverse .features_item_text .features_item_title {
    padding-left: max(20px, 20px + 56 * (100vw - 390px) / 1049);
    padding-left: calc(min(100vw, min(100vw, 1920px) - max(728px, 728px + 372 * (100vw - 768px) / 671)) / 2);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item.is-reverse .features_item_text .features_item_title {
    padding-right: 20px;
    padding-left: 20px;
    margin-right: 0;
  }
}
section.features .features_list .features_item.is-reverse .features_item_text .features_item_body {
  padding-right: calc((min(100vw, 1920px) - 1100px) / 2);
  padding-left: 0;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item.is-reverse .features_item_text .features_item_body {
    padding-right: calc(min(100vw, min(100vw, 1920px) - max(728px, 728px + 372 * (100vw - 768px) / 671)) / 2);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item.is-reverse .features_item_text .features_item_body {
    padding-right: 20px;
    padding-left: 20px;
  }
}
section.features .features_list .features_item.is-reverse .features_item_text .features_item_body h4 {
  margin-right: -25px;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item.is-reverse .features_item_text .features_item_body h4 {
    margin-right: min(0px, 0px + -25 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item.is-reverse .features_item_img {
    margin-right: auto;
    margin-left: 0;
  }
}
section.features .features_list .features_item.is-reverse .features_item_img img {
  border-radius: 0 60px 60px 0;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item.is-reverse .features_item_img img {
    border-radius: 0 max(40px, 40px + 20 * (100vw - 390px) / 1049) max(40px, 40px + 20 * (100vw - 390px) / 1049) 0;
  }
}
section.features .features_list .features_item .features_support_list {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  width: 100%;
  max-width: 1140px;
  padding: 0 20px;
  margin-inline: auto;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_support_list {
    gap: max(20px, 20px + 20 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item .features_support_list {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    grid-template-columns: 1fr;
    order: -1;
    margin-top: 20px;
  }
}
section.features .features_list .features_item .features_support_list li {
  position: relative;
  overflow: hidden;
  min-height: 180px;
  padding: 20px;
  border-radius: 30px;
  background: #fbe4e8;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_support_list li {
    min-height: max(138px, 138px + 42 * (100vw - 390px) / 1049);
    padding: max(15px, 15px + 5 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item .features_support_list li {
    padding: max(15px, 15px + 5 * (100vw - 390px) / 1049);
  }
}
section.features .features_list .features_item .features_support_list li::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.4);
  clip-path: polygon(0 0, 100% 100%, 0 100%);
}
section.features .features_list .features_item .features_support_list li:nth-child(2) {
  background: #fcf2cc;
}
section.features .features_list .features_item .features_support_list li:nth-child(2) p {
  background: #eebf00;
}
section.features .features_list .features_item .features_support_list li:nth-child(3) {
  background: #e1f5f3;
}
section.features .features_list .features_item .features_support_list li:nth-child(3) p {
  background: #0067ac;
}
section.features .features_list .features_item .features_support_list li > * {
  position: relative;
  z-index: 1;
}
section.features .features_list .features_item .features_support_list li p {
  display: grid;
  place-items: center;
  min-height: 60px;
  margin: 0 0 10px;
  border-radius: 999px;
  background: #e97a8c;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_support_list li p {
    min-height: max(40px, 40px + 20 * (100vw - 390px) / 1049);
    font-size: max(12px, 12px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item .features_support_list li p {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.features .features_list .features_item .features_support_list li p {
    font-size: max(12px, 12px + 2 * (100vw - 320px) / 69);
  }
}
section.features .features_list .features_item .features_support_list li h4 {
  margin: 0;
  font-size: 24px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.features .features_list .features_item .features_support_list li h4 {
    font-size: max(20px, 20px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.features .features_list .features_item .features_support_list li h4 {
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
section.features .features_note {
  margin: 24px 0 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.features .features_note {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}

section.cta {
  background: #ffffff;
}
section.cta .cta_wrap {
  position: relative;
  margin-top: 70px;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap {
    margin-top: max(50px, 50px + 20 * (100vw - 390px) / 1049);
  }
}
section.cta .cta_wrap > picture {
  display: contents;
}
section.cta .cta_wrap .cta_tooth {
  position: absolute;
  z-index: 2;
  top: -70px;
  left: 0;
  width: 220px;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_tooth {
    top: min(-50px, -50px + -20 * (100vw - 390px) / 1049);
    width: max(120px, 120px + 100 * (100vw - 390px) / 1049);
  }
}
section.cta .cta_wrap .cta_clip {
  position: relative;
  overflow: hidden;
  padding: 80px 70px;
  border-radius: 60px;
  background: #f8f5f0;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_clip {
    padding: max(40px, 40px + 40 * (100vw - 390px) / 1049) max(20px, 20px + 50 * (100vw - 390px) / 1049);
    border-radius: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 1024px) {
  section.cta .cta_wrap .cta_clip {
    padding-bottom: 170px;
  }
}
@media screen and (max-width: 767px) {
  section.cta .cta_wrap .cta_clip {
    padding-bottom: 170px;
  }
}
section.cta .cta_wrap .cta_clip > picture {
  display: contents;
}
section.cta .cta_wrap .cta_clip .cta_child {
  position: absolute;
  right: 20px;
  bottom: 0;
  width: 250px;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_clip .cta_child {
    bottom: min(0px, -51px + 51 * (100vw - 390px) / 1049);
    width: max(140px, 140px + 110 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.cta .cta_wrap .cta_clip .cta_child {
    right: 50%;
    transform: translateX(50%);
  }
}
section.cta .cta_wrap .cta_title_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_title_wrap {
    gap: max(10px, 10px + 0 * (100vw - 390px) / 1049);
    width: min(100%, max(276px, 276px + 724 * (100vw - 390px) / 1049));
    margin-right: auto;
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-left: auto;
  }
}
section.cta .cta_wrap .cta_title_wrap img {
  width: 45px;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_title_wrap img {
    width: max(25px, 25px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.cta .cta_wrap .cta_title_wrap img {
    margin-top: 25px;
  }
}
section.cta .cta_wrap .cta_title_wrap h2 {
  margin: 0;
  font-size: 32px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_title_wrap h2 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.cta .cta_wrap .cta_title_wrap h2 {
    font-size: max(18px, 18px + 2 * (100vw - 320px) / 69);
  }
}
section.cta .cta_wrap .cta_circle_text {
  display: flex;
  justify-content: center;
  margin: 0 0 40px;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_circle_text {
    width: max(295px, 295px + 385 * (100vw - 390px) / 1049);
    margin-right: auto;
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-left: auto;
  }
}
@media screen and (max-width: 389px) {
  section.cta .cta_wrap .cta_circle_text {
    width: max(240px, 240px + 55 * (100vw - 320px) / 69);
  }
}
section.cta .cta_wrap .cta_circle_text span {
  display: grid;
  place-items: center;
  width: 160px;
  aspect-ratio: 1;
  margin-left: -30px;
  border-radius: 50%;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 72px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_circle_text span {
    width: max(75px, 75px + 85 * (100vw - 390px) / 1049);
    margin-left: min(-20px, -20px + -10 * (100vw - 390px) / 1049);
    font-size: max(32px, 32px + 40 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.cta .cta_wrap .cta_circle_text span {
    font-size: max(24px, 24px + 8 * (100vw - 320px) / 69);
  }
}
section.cta .cta_wrap .cta_circle_text span:first-child {
  margin-left: 0;
  background: #e97a8c;
}
section.cta .cta_wrap .cta_circle_text span:nth-child(2) {
  background: #f28b43;
}
section.cta .cta_wrap .cta_circle_text span:nth-child(3) {
  background: #68cbc2;
}
section.cta .cta_wrap .cta_circle_text span:nth-child(4) {
  background: #81bb05;
}
section.cta .cta_wrap .cta_circle_text span:nth-child(5) {
  background: #f9c12f;
}
section.cta .cta_wrap .cta_lead {
  margin: 0 0 32px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_lead {
    margin-bottom: max(25px, 25px + 7 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_lead.ver02 {
    margin-bottom: max(12px, 12px + 20 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
section.cta .cta_wrap .cta_text {
  margin: 0 0 55px;
  font-weight: 500;
  line-height: 2.1;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_text {
    margin-bottom: max(27px, 27px + 28 * (100vw - 390px) / 1049);
  }
}
section.cta .cta_wrap .cta_btns {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  section.cta .cta_wrap .cta_btns {
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }
}
section.cta .cta_wrap .cta_btns .cta_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  width: 350px;
  min-height: 95px;
  border: 5px solid #ffffff;
  border-radius: 999px;
  color: #ffffff;
  text-decoration: none;
  box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_btns .cta_btn {
    width: max(306px, 306px + 44 * (100vw - 390px) / 1049);
    min-height: max(76px, 76px + 19 * (100vw - 390px) / 1049);
    border-width: max(3px, 3px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.cta .cta_wrap .cta_btns .cta_btn {
    width: 100%;
  }
}
section.cta .cta_wrap .cta_btns .cta_btn span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #FBFF22;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_btns .cta_btn span {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
section.cta .cta_wrap .cta_btns .cta_btn span::before, section.cta .cta_wrap .cta_btns .cta_btn span::after {
  content: "";
  width: 60px;
  height: 1px;
  background: #FBFF22;
}
section.cta .cta_wrap .cta_btns .cta_btn b {
  display: flex;
  align-items: center;
  gap: 5px;
  color: #ffffff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_btns .cta_btn b {
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.cta .cta_wrap .cta_btns .cta_btn b {
    font-size: max(18px, 18px + 2 * (100vw - 320px) / 69);
  }
}
section.cta .cta_wrap .cta_btns .cta_btn img {
  flex: 0 0 auto;
  width: 30px;
}
@media screen and (max-width: 1439px) {
  section.cta .cta_wrap .cta_btns .cta_btn img {
    width: max(25px, 25px + 5 * (100vw - 390px) / 1049);
  }
}
section.cta .cta_wrap .cta_btns .cta_btn.is-tel {
  pointer-events: initial;
  background: #493b3c;
}
section.cta .cta_wrap .cta_btns .cta_btn.is-web {
  background: #e97a8c;
}
section.cta .cta_wrap .cta_btns .cta_btn.is-web img {
  width: 25px;
}

section.point .point_top {
  position: relative;
  background: #ffffff;
  padding-bottom: 90px;
}
@media screen and (max-width: 1439px) {
  section.point .point_top {
    padding-bottom: calc(max(80px, 80px + 50 * (100vw - 390px) / 1049) - 40px);
  }
}
section.point .point_top .point_top_bg {
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  width: 100%;
  height: 350px;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_bg {
    height: max(200px, 200px + 150 * (100vw - 390px) / 1049);
  }
}
section.point .point_top .point_top_bg picture {
  display: block;
  width: 100%;
  height: 100%;
}
section.point .point_top .point_top_bg img {
  width: 100%;
  height: 350px;
  object-fit: cover;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_bg img {
    height: 100%;
  }
}
section.point .point_top .point_top_wrap {
  display: grid;
  grid-template-columns: 460px 1fr;
  gap: 35px;
  padding-top: 280px;
  align-items: flex-end;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap {
    grid-template-columns: max(305px, 305px + 155 * (100vw - 768px) / 671) 1fr;
    gap: max(20px, 20px + 15 * (100vw - 390px) / 1049);
    padding-top: max(150px, 150px + 130 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap {
    grid-template-columns: 1fr;
  }
}
section.point .point_top .point_top_wrap .point_top_circles {
  width: 460px;
  height: 457px;
  position: relative;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_circles {
    width: max(305px, 305px + 155 * (100vw - 768px) / 671);
    height: max(305px, 305px + 152 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_circles {
    width: 345px;
    height: 345px;
    max-width: 100%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_circles {
    width: max(280px, 280px + 65 * (100vw - 320px) / 69);
    height: max(280px, 280px + 65 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_circles .point_top_logo {
  position: absolute;
  top: 153px;
  left: 155px;
  z-index: 5;
  display: grid;
  place-items: center;
  width: 150px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #ffffff;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_circles .point_top_logo {
    top: max(110px, 110px + 43 * (100vw - 768px) / 671);
    left: max(110px, 110px + 45 * (100vw - 768px) / 671);
    width: max(90px, 90px + 60 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_circles .point_top_logo {
    top: 123px;
    left: 123px;
    width: 100px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_circles .point_top_logo {
    top: max(100px, 100px + 23 * (100vw - 320px) / 69);
    left: max(100px, 100px + 23 * (100vw - 320px) / 69);
    width: max(80px, 80px + 20 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_circles .point_top_logo img {
  width: 91px;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_circles .point_top_logo img {
    width: max(55px, 55px + 36 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_circles .point_top_logo img {
    width: 61px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_circles .point_top_logo img {
    width: max(50px, 50px + 11 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_circles > div:not(.point_top_logo) {
  position: absolute;
  display: grid;
  place-content: center;
  width: 240px;
  aspect-ratio: 1;
  border-radius: 50%;
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_circles > div:not(.point_top_logo) {
    width: max(162.5px, 162.5px + 77.5 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_circles > div:not(.point_top_logo) {
    width: 180px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_circles > div:not(.point_top_logo) {
    width: max(150px, 150px + 30 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_circles > div:not(.point_top_logo):nth-child(2) {
  top: 0;
  left: 0;
  background: rgba(233, 122, 140, 0.9);
  z-index: 4;
}
section.point .point_top .point_top_wrap .point_top_circles > div:not(.point_top_logo):nth-child(3) {
  top: 0;
  right: 0;
  background: rgba(104, 203, 194, 0.9);
  z-index: 3;
}
section.point .point_top .point_top_wrap .point_top_circles > div:not(.point_top_logo):nth-child(4) {
  bottom: 0;
  left: 0;
  background: rgba(249, 193, 47, 0.9);
  z-index: 1;
}
section.point .point_top .point_top_wrap .point_top_circles > div:not(.point_top_logo):nth-child(5) {
  right: 0;
  bottom: 0;
  background: rgba(129, 187, 5, 0.9);
  z-index: 2;
}
section.point .point_top .point_top_wrap .point_top_circles p {
  margin: 0 0 5px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_circles p {
    font-size: max(10px, 10px + 6 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_circles p {
    font-size: 12px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_circles p {
    font-size: max(10px, 10px + 2 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_circles h3 {
  margin: 0;
  color: #ffffff;
  font-size: 28px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_circles h3 {
    font-size: max(20px, 20px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_circles h3 {
    font-size: 24px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_circles h3 {
    font-size: max(18px, 18px + 6 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_text {
  text-align: center;
  padding-bottom: 10px;
}
section.point .point_top .point_top_wrap .point_top_text .point_top_patient {
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_patient {
    font-size: max(24px, 24px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_patient {
    font-size: max(20px, 20px + 4 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_text .point_top_before_after {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 12px 0 0;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_before_after {
    gap: max(5px, 5px + 0 * (100vw - 768px) / 671);
    width: max(400px, 400px + 201 * (100vw - 768px) / 671);
    margin: max(10px, 10px + 2 * (100vw - 768px) / 671) 0 0;
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_before_after {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 10px;
    gap: 10px;
    width: 248px;
    margin-inline: auto;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_before_after {
    width: max(206px, 206px + 42 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p picture {
  display: block;
}
section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p img {
  width: 245px;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p img {
    width: max(160px, 160px + 85 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p img {
    width: 195px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p img {
    width: max(160px, 160px + 35 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p span {
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p span {
    font-size: max(20px, 20px + 12 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p span {
    font-size: 24px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_text .point_top_before_after > p span {
    font-size: max(20px, 20px + 4 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_text h2 {
  margin-top: 10px;
}
section.point .point_top .point_top_wrap .point_top_text h2 > span {
  display: block;
  margin: 0 0 10px;
  font-size: 40px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_text h2 > span {
    margin-bottom: max(6px, 6px + 4 * (100vw - 768px) / 671);
    font-size: max(20px, 20px + 20 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_text h2 > span {
    font-size: 24px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_text h2 > span {
    font-size: max(20px, 20px + 4 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_text h2 > span em {
  color: #e97a8c;
  font-style: normal;
  font-size: 48px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_text h2 > span em {
    font-size: max(24px, 24px + 24 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_text h2 > span em {
    font-size: 32px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_text h2 > span em {
    font-size: max(24px, 24px + 8 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_text h2 strong {
  position: relative;
  display: inline-grid;
  grid-template-columns: auto auto auto;
  align-items: flex-end;
  background: linear-gradient(transparent calc(100% - 25px), #fbff22 calc(100% - 25px), #fbff22 calc(100% - 5px), transparent calc(100% - 5px));
  color: #505050;
  font-size: 72px;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_text h2 strong {
    font-size: max(48px, 48px + 24 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_text h2 strong {
    font-size: 56px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_text h2 strong {
    font-size: max(40px, 40px + 16 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_text h2 strong b {
  color: #e97a8c;
  font-family: "Quicksand", sans-serif;
  font-size: 160px;
  font-weight: 700;
  line-height: 0.85;
  letter-spacing: 0.1em;
  text-shadow: 5px 5px 0 #ffdce2;
  margin-top: -10px;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_text h2 strong b {
    font-size: max(120px, 120px + 40 * (100vw - 768px) / 671);
    text-shadow: max(3px, 3px + 2 * (100vw - 768px) / 671) max(3px, 3px + 2 * (100vw - 768px) / 671) 0 #ffdce2;
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_text h2 strong b {
    font-size: 140px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_text h2 strong b {
    font-size: max(100px, 100px + 40 * (100vw - 320px) / 69);
  }
}
section.point .point_top .point_top_wrap .point_top_text h2 strong small {
  font-size: 48px;
  line-height: 1.45;
  margin-left: -10px;
}
@media screen and (max-width: 1439px) {
  section.point .point_top .point_top_wrap .point_top_text h2 strong small {
    font-size: max(24px, 24px + 24 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_top .point_top_wrap .point_top_text h2 strong small {
    font-size: 32px;
  }
}
@media screen and (max-width: 389px) {
  section.point .point_top .point_top_wrap .point_top_text h2 strong small {
    font-size: max(24px, 24px + 8 * (100vw - 320px) / 69);
  }
}
section.point .point_block {
  --point-color: #e97a8c;
  --point-pale: #fbe4e8;
  position: relative;
  padding: 0 0 100px;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.point .point_block {
    padding-bottom: max(60px, 60px + 40 * (100vw - 390px) / 1049);
  }
}
section.point .point_block:last-child {
  padding-bottom: 0;
}
section.point .point_block.preventive_block {
  --point-color: #68cbc2;
  --point-pale: #e1f5f3;
}
section.point .point_block.careful_block {
  --point-color: #eebf00;
  --point-pale: #fff2b2;
}
section.point .point_block.protect_block {
  --point-color: #81bb05;
  --point-pale: #e7f4ca;
}
section.point .point_block .point_block_head {
  position: relative;
  display: grid;
  justify-items: center;
  margin-top: 40px;
  padding: 74px 0 214px;
  background: var(--point-color);
  color: #ffffff;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_block .point_block_head {
    margin-top: max(30px, 30px + 10 * (100vw - 390px) / 1049);
    padding: max(40px, 40px + 34 * (100vw - 390px) / 1049) 0 max(106px, 106px + 108 * (100vw - 390px) / 1049);
  }
}
section.point .point_block .point_block_head .point_tag {
  position: absolute;
  top: -40px;
  left: 50%;
  width: 100px;
  transform: translateX(-50%);
}
@media screen and (max-width: 1439px) {
  section.point .point_block .point_block_head .point_tag {
    top: min(-33px, -33px + -7 * (100vw - 390px) / 1049);
    width: max(60px, 60px + 40 * (100vw - 390px) / 1049);
  }
}
section.point .point_block .point_block_head p {
  margin: 0;
  color: #ffffff;
  font-size: 64px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media screen and (max-width: 1439px) {
  section.point .point_block .point_block_head p {
    font-size: max(40px, 40px + 24 * (100vw - 390px) / 1049);
  }
}
section.point .point_block .point_block_head h2 {
  margin: 0;
  color: #ffffff;
  font-size: 32px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_block .point_block_head h2 {
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
section.point .point_block .point_block_card {
  position: relative;
  z-index: 1;
  width: 1100px;
  margin: -154px auto 0;
  padding: 80px 60px;
  border-radius: 60px;
  background: #ffffff;
  box-shadow: 0 10px 20px 0 rgba(51, 51, 51, 0.2);
}
@media screen and (max-width: 1439px) {
  section.point .point_block .point_block_card {
    width: calc(100% - max(76px, 76px + 304 * (100vw - 768px) / 671));
    margin-top: min(-68px, -68px + -86 * (100vw - 390px) / 1049);
    padding: max(40px, 40px + 40 * (100vw - 390px) / 1049) max(25px, 25px + 35 * (100vw - 390px) / 1049);
    border-radius: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_block .point_block_card {
    width: calc(100% - 40px);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_block .point_block_card {
    padding-left: max(20px, 20px + 5 * (100vw - 320px) / 69);
    padding-right: max(20px, 20px + 5 * (100vw - 320px) / 69);
  }
}
section.point .point_block .point_block_card::before {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  width: 71px;
  height: auto;
  aspect-ratio: 71/43;
  background: var(--point-color);
  mask: url("../img/point_block_title_arrow.svg") center/100% 100% no-repeat;
  -webkit-mask: url("../img/point_block_title_arrow.svg") center/100% 100% no-repeat;
  transform: translateX(-50%);
}
@media screen and (max-width: 1439px) {
  section.point .point_block .point_block_card::before {
    width: max(58px, 58px + 13 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_block .point_block_card::before {
    top: -6px;
  }
}
section.point .point_intro,
section.point .point_media_text {
  display: grid;
  grid-template-columns: 350px 1fr;
  align-items: start;
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  section.point .point_intro,
  section.point .point_media_text {
    grid-template-columns: max(250px, 250px + 100 * (100vw - 768px) / 671) 1fr;
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_intro,
  section.point .point_media_text {
    grid-template-columns: 1fr;
  }
}
section.point .point_media_text.reverse {
  grid-template-columns: 1fr 350px;
  align-items: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_media_text.reverse {
    grid-template-columns: 1fr max(250px, 250px + 100 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_media_text.reverse {
    grid-template-columns: 1fr;
    flex-direction: column-reverse;
  }
}
section.point .point_intro_img picture,
section.point .point_graph_img picture {
  display: block;
}
section.point .point_intro_img img,
section.point .point_graph_img img {
  width: 350px;
  border-radius: 20px;
  object-fit: cover;
}
@media screen and (max-width: 1439px) {
  section.point .point_intro_img img,
  section.point .point_graph_img img {
    width: 100%;
    border-radius: max(15px, 15px + 5 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_graph_img {
    background: #ffffff;
    border-radius: max(15px, 15px + 5 * (100vw - 390px) / 1049);
    padding: 10px 31px;
  }
}
section.point .point_graph_img + div {
  padding-top: 5px;
}
@media screen and (max-width: 767px) {
  section.point .point_graph_img + div {
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  section.point .point_intro_img {
    order: -1;
  }
}
section.point .point_intro_text .point_intro_sub {
  margin: 0 0 10px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1439px) {
  section.point .point_intro_text .point_intro_sub {
    margin-bottom: max(8px, 8px + 2 * (100vw - 390px) / 1049);
  }
}
section.point .point_intro_text h3 {
  margin: 0 0 20px;
  font-size: 24px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_intro_text h3 {
    margin-bottom: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
section.point .point_intro_text p,
section.point .point_media_text p,
section.point .point_problem_box dd,
section.point .point_care_cards p,
section.point .point_period_cards p,
section.point .point_note_box p,
section.point .point_step p,
section.point .point_center_text,
section.point .point_treatment_grid p,
section.point .point_column_cards p,
section.point .point_ortho_cards > article > p {
  margin: 0;
  line-height: 2.1;
}
@media screen and (max-width: 1439px) {
  section.point .point_intro_text p,
  section.point .point_media_text p,
  section.point .point_problem_box dd,
  section.point .point_care_cards p,
  section.point .point_period_cards p,
  section.point .point_note_box p,
  section.point .point_step p,
  section.point .point_center_text,
  section.point .point_treatment_grid p,
  section.point .point_column_cards p,
  section.point .point_ortho_cards > article > p {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_intro_text p,
  section.point .point_media_text p,
  section.point .point_problem_box dd,
  section.point .point_care_cards p,
  section.point .point_period_cards p,
  section.point .point_note_box p,
  section.point .point_step p,
  section.point .point_center_text,
  section.point .point_treatment_grid p,
  section.point .point_column_cards p,
  section.point .point_ortho_cards > article > p {
    line-height: 1.8;
  }
}
section.point .point_icon_list {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin: 40px 0 0;
}
@media screen and (max-width: 1439px) {
  section.point .point_icon_list {
    gap: max(20px, 20px + 20 * (100vw - 768px) / 671);
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_icon_list {
    display: grid;
    grid-template-columns: repeat(2, max(140px, 140px + 20 * (100vw - 390px) / 1049));
  }
}
@media screen and (max-width: 389px) {
  section.point .point_icon_list {
    grid-template-columns: repeat(2, 1fr);
    gap: max(10px, 10px + 10 * (100vw - 320px) / 69);
  }
}
section.point .point_icon_list li {
  text-align: center;
}
@media screen and (max-width: 767px) {
  section.point .point_icon_list li {
    width: max(140px, 140px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_icon_list li {
    width: 100%;
  }
}
section.point .point_icon_list li:nth-child(1) {
  --point-icon-color: #e97a8c;
  --point-icon-pale: #fbe4e8;
}
section.point .point_icon_list li:nth-child(2) {
  --point-icon-color: #68cbc2;
  --point-icon-pale: #e1f5f3;
}
section.point .point_icon_list li:nth-child(3) {
  --point-icon-color: #f9c12f;
  --point-icon-pale: #FCF2CC;
}
section.point .point_icon_list li:nth-child(4) {
  --point-icon-color: #81bb05;
  --point-icon-pale: #e7f4ca;
}
section.point .point_icon_list .point_icon_circle {
  position: relative;
  display: grid;
  place-items: center;
  width: 150px;
  aspect-ratio: 1;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: var(--point-icon-pale);
}
@media screen and (max-width: 1439px) {
  section.point .point_icon_list .point_icon_circle {
    width: max(130px, 130px + 20 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_icon_list .point_icon_circle {
    width: max(140px, 140px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_icon_list .point_icon_circle {
    width: 100%;
  }
}
section.point .point_icon_list .point_icon_circle::before {
  content: "";
  position: absolute;
  inset: 15px;
  border-radius: 50%;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.point .point_icon_list .point_icon_circle::before {
    inset: max(14px, 14px + 1 * (100vw - 390px) / 1049);
  }
}
section.point .point_icon_list .point_icon_circle::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  aspect-ratio: 1;
  border-radius: 50%;
  clip-path: polygon(0 0, 100% 100%, 0% 100%);
}
section.point .point_icon_list img {
  position: relative;
  z-index: 1;
  width: 70px;
  height: 70px;
  object-fit: contain;
}
@media screen and (max-width: 1439px) {
  section.point .point_icon_list img {
    width: max(50px, 50px + 20 * (100vw - 768px) / 671);
    height: max(50px, 50px + 20 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_icon_list img {
    width: max(65px, 65px + 5 * (100vw - 390px) / 1049);
    height: max(65px, 65px + 5 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_icon_list img {
    width: max(50px, 50px + 15 * (100vw - 320px) / 69);
    height: max(50px, 50px + 15 * (100vw - 320px) / 69);
  }
}
section.point .point_icon_list p {
  margin: 0 0 5px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_icon_list p {
    font-size: max(12px, 12px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_icon_list p {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_icon_list p {
    font-size: max(10px, 10px + 2 * (100vw - 320px) / 69);
  }
}
section.point .point_icon_list h4 {
  margin: 0;
  color: var(--point-icon-color);
  font-size: 20px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_icon_list h4 {
    font-size: max(16px, 16px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_icon_list h4 {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_icon_list h4 {
    font-size: max(14px, 14px + 2 * (100vw - 320px) / 69);
  }
}
section.point .point_detail_area {
  margin: 60px -60px -80px;
  padding: 60px 60px;
  border-radius: 0 0 60px 60px;
  background: #f8f5f0;
}
@media screen and (max-width: 1439px) {
  section.point .point_detail_area {
    margin: max(30px, 30px + 30 * (100vw - 390px) / 1049) min(-25px, -25px + -35 * (100vw - 390px) / 1049) min(-70px, -70px + -10 * (100vw - 390px) / 1049);
    padding: max(30px, 30px + 30 * (100vw - 390px) / 1049) max(25px, 25px + 35 * (100vw - 390px) / 1049) max(40px, 40px + 20 * (100vw - 390px) / 1049);
    border-radius: 0 0 max(30px, 30px + 30 * (100vw - 390px) / 1049) max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_detail_area {
    padding-left: max(20px, 20px + 5 * (100vw - 320px) / 69);
    padding-right: max(20px, 20px + 5 * (100vw - 320px) / 69);
  }
}
section.point .point_detail_section + .point_detail_section {
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.point .point_detail_section + .point_detail_section {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.point .point_detail_section.is-white {
  margin-right: -60px;
  margin-bottom: -80px;
  margin-left: -60px;
  padding: 60px 60px 80px;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.point .point_detail_section.is-white {
    margin-right: min(-25px, -25px + -35 * (100vw - 390px) / 1049);
    margin-bottom: min(-30px, -30px + -50 * (100vw - 390px) / 1049);
    margin-left: min(-25px, -25px + -35 * (100vw - 390px) / 1049);
    padding: max(30px, 30px + 30 * (100vw - 390px) / 1049) max(25px, 25px + 35 * (100vw - 390px) / 1049) max(30px, 30px + 50 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_detail_section.is-white {
    padding-left: max(20px, 20px + 5 * (100vw - 320px) / 69);
    padding-right: max(20px, 20px + 5 * (100vw - 320px) / 69);
  }
}
section.point .point_detail_section h4 {
  margin: 0 0 20px;
  font-size: 24px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_detail_section h4 {
    margin-bottom: max(8px, 8px + 12 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
section.point .maternity_block .point_icon_list li:nth-child(2) {
  margin-right: 16px;
}
@media screen and (max-width: 1439px) {
  section.point .maternity_block .point_icon_list li:nth-child(2) {
    margin-right: max(0px, 0px + 16 * (100vw - 768px) / 671);
  }
}
section.point .maternity_block .point_icon_list li:nth-child(3) {
  margin-right: 15px;
}
@media screen and (max-width: 1439px) {
  section.point .maternity_block .point_icon_list li:nth-child(3) {
    margin-right: max(0px, 0px + 15 * (100vw - 768px) / 671);
  }
}
section.point .maternity_block .point_detail_area {
  padding-bottom: 0;
}
section.point .maternity_block .point_detail_section.is-white {
  margin-bottom: 0;
  border-radius: 0 0 60px 60px;
}
@media screen and (max-width: 1439px) {
  section.point .maternity_block .point_detail_section.is-white {
    border-radius: 0 0 max(30px, 30px + 30 * (100vw - 390px) / 1049) max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.point .maternity_block .point_detail_section.is-white .point_line_title {
  background: #f8f5f0;
}
@media screen and (max-width: 767px) {
  section.point .preventive_block .point_line_title {
    margin-bottom: 37px;
  }
}
@media screen and (max-width: 1439px) {
  section.point .preventive_block .point_detail_section + .point_detail_section {
    margin-top: max(20px, 20px + 40 * (100vw - 390px) / 1049);
  }
}
section.point .careful_block .point_detail_section.is-white {
  border-radius: 0 0 60px 60px;
}
@media screen and (max-width: 1439px) {
  section.point .careful_block .point_detail_section.is-white {
    border-radius: 0 0 max(30px, 30px + 30 * (100vw - 390px) / 1049) max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.point .careful_block .point_detail_area {
  padding-bottom: 0;
}
section.point .point_line_title {
  margin: 0 0 40px;
  padding: 15px 0;
  border-top: 2px dashed var(--point-color);
  border-bottom: 2px dashed var(--point-color);
  background: #ffffff;
  color: var(--point-color);
  font-size: 24px;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_line_title {
    margin-bottom: max(12px, 12px + 28 * (100vw - 390px) / 1049);
    padding: max(10px, 10px + 5 * (100vw - 390px) / 1049) 0;
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
section.point .point_problem_box {
  margin-top: 60px;
  border-top: 1px solid #b0a491;
  border-bottom: 1px solid #b0a491;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.point .point_problem_box {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.point .point_problem_box .point_problem_row {
  display: grid;
  grid-template-columns: 180px 1fr;
}
@media screen and (max-width: 1439px) {
  section.point .point_problem_box .point_problem_row {
    grid-template-columns: max(100px, 100px + 80 * (100vw - 390px) / 1049) 1fr;
  }
}
section.point .point_problem_box .point_problem_row + .point_problem_row {
  border-top: 1px solid #b0a491;
}
section.point .point_problem_box .point_problem_row:nth-child(2) .point_problem_head h4 {
  color: #68cbc2;
}
section.point .point_problem_box .point_problem_row:nth-child(2) dt {
  color: #68cbc2;
}
section.point .point_problem_box .point_problem_head {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 10px;
  background: #f3ede1;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_problem_box .point_problem_head {
    gap: max(10px, 10px + 0 * (100vw - 390px) / 1049);
  }
}
section.point .point_problem_box img {
  width: 70px;
}
@media screen and (max-width: 1439px) {
  section.point .point_problem_box img {
    width: max(50px, 50px + 20 * (100vw - 390px) / 1049);
  }
}
section.point .point_problem_box h4 {
  margin: 0;
  color: #e97a8c;
}
@media screen and (max-width: 1439px) {
  section.point .point_problem_box h4 {
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
section.point .point_problem_box dl {
  margin: 0;
  padding: 30px;
}
@media screen and (max-width: 1439px) {
  section.point .point_problem_box dl {
    padding: max(15px, 15px + 15 * (100vw - 390px) / 1049);
  }
}
section.point .point_problem_box dt {
  margin: 0 0 12px;
  color: var(--point-color);
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_problem_box dt {
    font-size: max(14px, 14px + 6 * (100vw - 390px) / 1049);
  }
}
section.point .point_problem_box dd {
  margin: 0 0 30px;
}
@media screen and (max-width: 1439px) {
  section.point .point_problem_box dd {
    margin-bottom: max(20px, 20px + 10 * (100vw - 390px) / 1049);
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_problem_box dd {
    letter-spacing: 0;
  }
}
section.point .point_problem_box dd:last-child {
  margin-bottom: 0;
}
section.point .point_care_cards,
section.point .point_period_cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  section.point .point_care_cards,
  section.point .point_period_cards {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_care_cards,
  section.point .point_period_cards {
    grid-template-columns: 1fr;
  }
}
section.point .point_care_cards article,
section.point .point_period_cards article {
  overflow: hidden;
  border: 2px solid var(--point-color);
  border-radius: 40px;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.point .point_care_cards article,
  section.point .point_period_cards article {
    border-radius: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.point .point_care_cards h4,
section.point .point_period_cards h4 {
  display: grid;
  place-items: center;
  min-height: 60px;
  margin: 0;
  background: var(--point-color);
  color: #ffffff;
  font-size: 20px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_care_cards h4,
  section.point .point_period_cards h4 {
    min-height: max(45px, 45px + 15 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
section.point .point_care_cards img,
section.point .point_period_cards img {
  width: calc(100% - 60px);
  margin: 30px auto 20px;
  border-radius: 15px;
}
@media screen and (max-width: 1439px) {
  section.point .point_care_cards img,
  section.point .point_period_cards img {
    width: calc(100% - max(40px, 40px + 20 * (100vw - 390px) / 1049));
    margin: max(20px, 20px + 10 * (100vw - 390px) / 1049) auto max(15px, 15px + 5 * (100vw - 390px) / 1049);
  }
}
section.point .point_care_cards h5,
section.point .point_period_cards h5 {
  margin: 0 30px 12px;
  color: var(--point-color);
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_care_cards h5,
  section.point .point_period_cards h5 {
    margin-right: max(20px, 20px + 10 * (100vw - 390px) / 1049);
    margin-left: max(20px, 20px + 10 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
section.point .point_care_cards p,
section.point .point_period_cards p {
  padding: 0 30px 30px;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.point .point_care_cards p,
  section.point .point_period_cards p {
    padding: 0 max(20px, 20px + 10 * (100vw - 390px) / 1049) max(20px, 20px + 10 * (100vw - 390px) / 1049);
  }
}
section.point .graph_cards article:nth-child(1) {
  --point-color: #f28b43;
}
section.point .graph_cards article:nth-child(2) {
  --point-color: #68cbc2;
}
section.point .point_period_cards {
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  section.point .point_period_cards {
    gap: max(15px, 15px + 10 * (100vw - 390px) / 1049);
    margin-top: max(16px, 16px + 24 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_period_cards {
    grid-template-columns: 1fr;
  }
}
section.point .point_period_cards article {
  border: 0;
  padding: 20px;
}
@media screen and (max-width: 1439px) {
  section.point .point_period_cards article {
    padding: max(20px, 20px + 0 * (100vw - 390px) / 1049);
  }
}
section.point .point_period_cards article:nth-child(1) {
  --period-color: #505050;
  background: #f8f5f0;
}
section.point .point_period_cards article:nth-child(2) {
  --period-color: #e97a8c;
  background: #fbe4e8;
}
section.point .point_period_cards article:nth-child(3) {
  --period-color: #eebf00;
  background: #fff2b2;
}
section.point .point_period_cards article:nth-child(3) h4 {
  color: #505050;
}
section.point .point_period_cards h4 {
  min-height: auto;
  margin-bottom: 10px;
  background: none;
  color: var(--period-color);
}
@media screen and (max-width: 1439px) {
  section.point .point_period_cards h4 {
    min-height: auto;
    margin-bottom: max(10px, 10px + 0 * (100vw - 390px) / 1049);
  }
}
section.point .point_period_cards .period {
  margin-bottom: 16px;
  padding: 10px;
  border-radius: 5px;
  background: var(--period-color);
  color: #ffffff;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  font-size: 16px;
}
@media screen and (max-width: 1439px) {
  section.point .point_period_cards .period {
    margin-bottom: max(10px, 10px + 6 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 2 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_period_cards .period {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
section.point .point_period_cards p:not(.period) {
  padding: 0;
  line-height: 1.8;
  font-size: 16px;
}
@media screen and (max-width: 1439px) {
  section.point .point_period_cards p:not(.period) {
    font-size: max(14px, 14px + 2 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_period_cards p:not(.period) {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
section.point .point_note_box {
  margin-top: 60px;
  padding: 36px;
  border: 2px solid var(--point-color);
  border-radius: 40px;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.point .point_note_box {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
    padding: max(20px, 20px + 16 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.point .point_note_box h3 {
  margin: 0 0 24px;
  padding-bottom: 15px;
  border-bottom: 2px dotted var(--point-color);
  color: var(--point-color);
  font-size: 24px;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_note_box h3 {
    margin-bottom: max(15px, 15px + 9 * (100vw - 390px) / 1049);
    padding-bottom: max(10px, 10px + 5 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
section.point .point_step + .point_step {
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.point .point_step + .point_step {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.point .point_step h4 {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 70px;
  margin: 20px 0 24px;
  border-radius: 999px;
  background: var(--point-color);
  color: #ffffff;
  font-size: 20px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_step h4 {
    min-height: max(50px, 50px + 20 * (100vw - 390px) / 1049);
    margin: max(20px, 20px + 0 * (100vw - 390px) / 1049) 0 max(12px, 12px + 12 * (100vw - 390px) / 1049);
    padding: 0 max(20px, 20px + 0 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_step h4 {
    padding: 15px 20px;
  }
}
section.point .point_step h4 span {
  position: absolute;
  top: -20px;
  left: 50%;
  display: grid;
  place-items: center;
  width: 35px;
  height: 39px;
  background: url("../img/icon_tag_yellow_sm.webp") center/contain no-repeat;
  color: var(--point-color);
  font-family: "Quicksand", sans-serif;
  font-size: 16px;
  transform: translateX(-50%);
}
section.point .point_step_title {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 70px;
  margin: 60px 0 32px;
  border-radius: 999px;
  background: var(--point-color);
  color: #ffffff;
  font-size: 24px;
  line-height: 1.45;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_step_title {
    min-height: max(50px, 50px + 20 * (100vw - 390px) / 1049);
    margin: max(50px, 50px + 10 * (100vw - 390px) / 1049) 0 max(24px, 24px + 8 * (100vw - 390px) / 1049);
    padding: 0 max(20px, 20px + 0 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_step_title {
    font-size: max(14px, 14px + 2 * (100vw - 320px) / 69);
  }
}
section.point .point_step_title span {
  position: absolute;
  top: -20px;
  left: 50%;
  width: 35px;
  height: 39px;
  background: url("../img/icon_tag_yellow_sm.webp") center/contain no-repeat;
  transform: translateX(-50%);
}
section.point .point_difference {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 32px;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-top: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference {
    grid-template-columns: 1fr;
  }
}
section.point .point_difference_card {
  overflow: hidden;
  padding: 0 30px 30px;
  border: 2px solid var(--difference-border-color);
  border-radius: 40px;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card {
    padding: 0 max(20px, 20px + 10 * (100vw - 390px) / 1049) max(16px, 16px + 14 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.point .point_difference_card.adult_card {
  --difference-border-color: #68cbc2;
  --difference-bg-image: url("../img/point_careful_difference_title_bg_blue.webp");
  --difference-num-color: #68cbc2;
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card.adult_card {
    --difference-bg-image: url("../img/point_careful_difference_title_bg_blue_sp.webp");
  }
}
section.point .point_difference_card.kids_card {
  --difference-border-color: #eebf00;
  --difference-bg-image: url("../img/point_careful_difference_title_bg_yellow.webp");
  --difference-num-color: #eebf00;
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card.kids_card {
    --difference-bg-image: url("../img/point_careful_difference_title_bg_yellow_sp.webp");
  }
}
section.point .point_difference_card.kids_card .point_difference_head .point_difference_icon {
  left: auto;
  right: 66px;
  width: 113.5px;
  aspect-ratio: 227/182;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card.kids_card .point_difference_head .point_difference_icon {
    width: max(65px, 65px + 48 * (100vw - 768px) / 671);
    right: max(20px, 20px + 46 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card.kids_card .point_difference_head .point_difference_icon {
    width: max(90px, 90px + 23 * (100vw - 390px) / 1049);
    right: max(29px, 29px + 37 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_difference_card.kids_card .point_difference_head .point_difference_icon {
    width: max(65px, 65px + 25 * (100vw - 320px) / 69);
    right: max(20px, 20px + 9 * (100vw - 320px) / 69);
  }
}
section.point .point_difference_card.kids_card .point_difference_head .point_difference_en {
  width: 188.5px;
  aspect-ratio: 377/109;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card.kids_card .point_difference_head .point_difference_en {
    width: max(150px, 150px + 38.5 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card.kids_card .point_difference_head .point_difference_en {
    width: max(150px, 150px + 38.5 * (100vw - 390px) / 1049);
  }
}
section.point .point_difference_card .point_difference_head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  min-height: 193px;
  margin: 0 -30px 24px;
  background: var(--difference-bg-image) center top/470px 193px no-repeat;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card .point_difference_head {
    min-height: max(140px, 140px + 53 * (100vw - 390px) / 1049);
    margin: 0 min(-20px, -20px + -10 * (100vw - 390px) / 1049) max(20px, 20px + 4 * (100vw - 390px) / 1049);
    background-size: 100% 100%;
  }
}
section.point .point_difference_card .point_difference_head::after {
  content: none;
}
section.point .point_difference_card .point_difference_head .point_difference_icon {
  position: absolute;
  left: 68px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  width: 81.5px;
  height: auto;
  aspect-ratio: 163/191;
  object-fit: contain;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card .point_difference_head .point_difference_icon {
    width: max(50px, 50px + 31.5 * (100vw - 768px) / 671);
    left: max(20px, 20px + 48 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card .point_difference_head .point_difference_icon {
    width: max(60px, 60px + 21.5 * (100vw - 390px) / 1049);
    left: max(33px, 33px + 35 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_difference_card .point_difference_head .point_difference_icon {
    width: max(50px, 50px + 10 * (100vw - 320px) / 69);
    left: max(20px, 20px + 13 * (100vw - 320px) / 69);
  }
}
section.point .point_difference_card .point_difference_head .point_difference_en {
  position: relative;
  z-index: 1;
  width: 232.5px;
  height: auto;
  margin-top: -20px;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card .point_difference_head .point_difference_en {
    width: max(160px, 160px + 72.5 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card .point_difference_head .point_difference_en {
    width: max(160px, 160px + 72.5 * (100vw - 390px) / 1049);
  }
}
section.point .point_difference_card .point_difference_head p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
  margin-top: -5px;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card .point_difference_head p {
    font-size: max(18px, 18px + 6 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card .point_difference_head p {
    font-size: max(18px, 18px + 6 * (100vw - 390px) / 1049);
  }
}
section.point .point_difference_card ol {
  display: grid;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card ol {
    gap: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
section.point .point_difference_card ol li {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 110px;
  padding: 20px;
  border-radius: 15px;
  background: #f8f5f0;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card ol li {
    min-height: max(76px, 76px + 34 * (100vw - 390px) / 1049);
    padding: max(15px, 15px + 5 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card ol li {
    letter-spacing: 0;
  }
}
section.point .point_difference_card ol li .point_difference_num {
  position: relative;
  display: block;
  place-items: center;
  flex: 0 0 63px;
  width: 63px;
  height: auto;
  aspect-ratio: 63/60;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card ol li .point_difference_num {
    flex-basis: max(35px, 35px + 28 * (100vw - 768px) / 671);
    width: max(35px, 35px + 28 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card ol li .point_difference_num {
    flex-basis: max(42px, 42px + 21 * (100vw - 390px) / 1049);
    width: max(42px, 42px + 21 * (100vw - 390px) / 1049);
  }
}
section.point .point_difference_card ol li .point_difference_num::before {
  content: "";
  display: block;
  width: 63px;
  aspect-ratio: 63/60;
  height: auto;
  background-color: var(--difference-num-color);
  mask: url("../img/point_careful_icon_tooth.svg") center/contain no-repeat;
  -webkit-mask: url("../img/point_careful_icon_tooth.svg") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card ol li .point_difference_num::before {
    width: max(42px, 42px + 21 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card ol li .point_difference_num::before {
    width: max(42px, 42px + 21 * (100vw - 390px) / 1049);
  }
}
section.point .point_difference_card ol li .point_difference_num img {
  display: none;
}
section.point .point_difference_card ol li .point_difference_num b {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #ffffff;
  font-family: "Quicksand", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card ol li .point_difference_num b {
    font-size: max(16px, 16px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card ol li .point_difference_num b {
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
section.point .point_difference_card ol li p {
  margin: 0;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_card ol li p {
    font-size: max(15px, 15px + 9 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_difference_card ol li p {
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_difference_card ol li p {
    font-size: max(14px, 14px + 2 * (100vw - 320px) / 69);
  }
}
section.point .point_difference_cut {
  position: relative;
  height: 100px;
  margin: 40px -60px 0;
  background: #fff;
  position: relative;
}
@media screen and (max-width: 1439px) {
  section.point .point_difference_cut {
    height: max(40px, 40px + 60 * (100vw - 390px) / 1049);
    margin: max(30px, 30px + 10 * (100vw - 390px) / 1049) min(-25px, -25px + -35 * (100vw - 390px) / 1049) 0;
  }
}
section.point .point_difference_cut::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: #f8f5f0;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
section.point .point_difference_cut::after {
  content: none;
}
section.point .point_center_text {
  margin: 0 -60px;
  padding: 70px 60px 60px;
  background: #ffffff;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_center_text {
    margin: 0 min(-25px, -25px + -35 * (100vw - 390px) / 1049);
    padding: max(20px, 20px + 50 * (100vw - 390px) / 1049) max(25px, 25px + 35 * (100vw - 390px) / 1049) max(20px, 20px + 40 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_center_text {
    line-height: 2.1;
  }
}
section.point .point_center_text span {
  display: block;
  margin: 0 0 32px;
  color: #eebf00;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_center_text span {
    margin-bottom: max(30px, 30px + 2 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  section.point .point_center_text span {
    line-height: 2.1;
  }
}
section.point .treatment_section {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
section.point .treatment_section .point_line_title {
  background: #f8f5f0;
}
section.point .point_treatment_grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  section.point .point_treatment_grid {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_treatment_grid {
    grid-template-columns: 1fr;
  }
}
section.point .point_treatment_grid article {
  padding: 20px 20px 30px;
  border: 30px solid #fbe4e8;
  border-radius: 30px;
  background: #ffffff;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1439px) {
  section.point .point_treatment_grid article {
    padding: max(20px, 20px + 0 * (100vw - 390px) / 1049) max(15px, 15px + 5 * (100vw - 390px) / 1049) max(20px, 20px + 10 * (100vw - 390px) / 1049);
    border-width: max(20px, 20px + 10 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 10 * (100vw - 390px) / 1049);
  }
}
section.point .point_treatment_grid article::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% + 60px);
  height: calc(100% + 60px);
  border-radius: inherit;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.4);
  clip-path: polygon(0 0, 100% 100%, 0 100%);
  z-index: 0;
}
section.point .point_treatment_grid article:nth-child(2) {
  border-color: #e1f5f3;
}
section.point .point_treatment_grid article:nth-child(3) {
  border-color: #fff2b2;
}
section.point .point_treatment_grid article:nth-child(4) {
  border-color: #e7f4ca;
}
section.point .point_treatment_grid img, section.point .point_treatment_grid h4, section.point .point_treatment_grid p {
  position: relative;
  z-index: 1;
}
section.point .point_treatment_grid img {
  width: 100px;
  height: 100px;
  margin: 0 auto 10px;
  object-fit: contain;
}
@media screen and (max-width: 1439px) {
  section.point .point_treatment_grid img {
    width: max(60px, 60px + 40 * (100vw - 390px) / 1049);
    height: max(60px, 60px + 40 * (100vw - 390px) / 1049);
  }
}
section.point .point_treatment_grid h4 {
  margin: 0 0 20px;
  color: #505050;
  font-size: 24px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_treatment_grid h4 {
    font-size: max(18px, 18px + 6 * (100vw - 390px) / 1049);
  }
}
section.point .point_treatment_grid p {
  text-align: left;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  section.point .point_treatment_grid p {
    letter-spacing: 0;
  }
}
section.point .point_column_cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}
@media screen and (max-width: 1439px) {
  section.point .point_column_cards {
    gap: max(20px, 20px + 5 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_column_cards {
    grid-template-columns: 1fr;
  }
}
section.point .point_column_cards img {
  width: 310px;
  height: 250px;
  margin-bottom: 20px;
  border-radius: 15px;
  object-fit: cover;
}
@media screen and (max-width: 1439px) {
  section.point .point_column_cards img {
    width: 100%;
    height: auto;
    margin-bottom: max(15px, 15px + 5 * (100vw - 390px) / 1049);
  }
}
section.point .point_column_cards h4 {
  margin: 0 0 16px;
  color: var(--point-color);
  font-size: 20px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_column_cards h4 {
    margin-bottom: max(10px, 10px + 6 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 0 * (100vw - 390px) / 1049);
  }
}
section.point .point_column_cards p {
  line-height: 1.8;
}
section.point .protect_block .point_detail_area {
  margin-top: 0;
  background: #ffffff;
}
section.point .protect_block .protect_risk_section {
  margin: 0 -60px;
  padding: 60px 60px;
  background: #f8f5f0;
}
@media screen and (max-width: 1439px) {
  section.point .protect_block .protect_risk_section {
    margin: 0 min(-25px, -25px + -35 * (100vw - 390px) / 1049);
    padding: max(30px, 30px + 30 * (100vw - 390px) / 1049) max(25px, 25px + 35 * (100vw - 390px) / 1049);
  }
}
section.point .protect_block .protect_risk_section .point_line_title {
  margin-bottom: 32px;
}
@media screen and (max-width: 1439px) {
  section.point .protect_block .protect_risk_section .point_line_title {
    margin-bottom: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.point .protect_block .protect_ortho_section {
  margin-top: 80px;
}
@media screen and (max-width: 1439px) {
  section.point .protect_block .protect_ortho_section {
    margin-top: max(50px, 50px + 30 * (100vw - 390px) / 1049);
  }
}
section.point .protect_block .protect_ortho_section .point_step_title {
  margin-top: 0;
  margin-bottom: 24px;
}
@media screen and (max-width: 1439px) {
  section.point .protect_block .protect_ortho_section .point_step_title {
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.point .point_ortho_cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  section.point .point_ortho_cards {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_ortho_cards {
    grid-template-columns: 1fr;
  }
}
section.point .point_ortho_cards article {
  position: relative;
  overflow: hidden;
  padding: 30px;
  border: 0;
  border-radius: 30px;
  background: var(--ortho-bg);
}
@media screen and (max-width: 1439px) {
  section.point .point_ortho_cards article {
    padding: max(20px, 20px + 10 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 10 * (100vw - 390px) / 1049);
  }
}
section.point .point_ortho_cards article::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(255, 255, 255, 0.4);
  clip-path: polygon(0 0, 0 100%, 100% 100%);
}
section.point .point_ortho_cards article > p {
  position: relative;
  z-index: 1;
  padding: 0;
  line-height: 1.8;
}
section.point .point_ortho_cards article:nth-child(1) {
  --ortho-bg: #fcf2cc;
  --ortho-head-bg: url("../img/point_protect_circle_bg_yellow.webp");
  --ortho-color: #eebf00;
}
@media screen and (max-width: 767px) {
  section.point .point_ortho_cards article:nth-child(1) {
    --ortho-head-bg: url("../img/point_protect_circle_bg_yellow_sp.webp");
  }
}
section.point .point_ortho_cards article:nth-child(2) {
  --ortho-bg: #e7f4ca;
  --ortho-head-bg: url("../img/point_protect_circle_bg_green.webp");
  --ortho-color: #81bb05;
}
@media screen and (max-width: 767px) {
  section.point .point_ortho_cards article:nth-child(2) {
    --ortho-head-bg: url("../img/point_protect_circle_bg_green_sp.webp");
  }
}
section.point .point_ortho_head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 1;
  min-height: 141px;
  margin: 0 0 24px;
  padding: 24px 20px 22px;
  background: var(--ortho-head-bg) center/contain no-repeat;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .point_ortho_head {
    min-height: max(100px, 100px + 41 * (100vw - 390px) / 1049);
    margin-bottom: max(20px, 20px + 4 * (100vw - 390px) / 1049);
    padding: max(23px, 23px + 1 * (100vw - 390px) / 1049) max(20px, 20px + 0 * (100vw - 390px) / 1049) max(22px, 22px + 0 * (100vw - 390px) / 1049);
    background-size: contain;
  }
}
section.point .point_ortho_head::after {
  content: none;
}
section.point .point_ortho_head h4 {
  color: #505050;
  font-size: 24px;
  line-height: 1.45;
  margin-top: -10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 1439px) {
  section.point .point_ortho_head h4 {
    font-size: max(16px, 16px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_ortho_head h4 {
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_ortho_head h4 {
    font-size: max(14px, 14px + 2 * (100vw - 320px) / 69);
  }
}
section.point .point_ortho_head p {
  margin: 0;
  color: var(--ortho-color);
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.point .point_ortho_head p {
    font-size: max(12px, 12px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.point .point_ortho_head p {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 389px) {
  section.point .point_ortho_head p {
    font-size: max(10px, 10px + 2 * (100vw - 320px) / 69);
  }
}
section.point .snack_box ul {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 25px;
  margin: 0 0 14px;
}
@media screen and (max-width: 1439px) {
  section.point .snack_box ul {
    gap: max(10px, 10px + 15 * (100vw - 390px) / 1049);
    margin-bottom: max(10px, 10px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .snack_box ul {
    grid-template-columns: repeat(6, 1fr);
  }
}
section.point .snack_box li {
  padding: 15px 10px 20px;
  border-radius: 20px;
  background: #f3ede1;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.point .snack_box li {
    padding: max(10px, 10px + 5 * (100vw - 390px) / 1049) max(1px, 1px + 9 * (100vw - 390px) / 1049) max(10px, 10px + 10 * (100vw - 390px) / 1049);
    border-radius: max(15px, 15px + 5 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .snack_box li {
    grid-column: span 2;
  }
}
@media screen and (max-width: 767px) {
  section.point .snack_box li:nth-child(4) {
    grid-column: 2/span 2;
  }
}
section.point .snack_box img {
  width: 130px;
  height: auto;
  aspect-ratio: 130/70;
  margin: 0 auto 10px;
  object-fit: contain;
}
@media screen and (max-width: 1439px) {
  section.point .snack_box img {
    width: max(80px, 80px + 50 * (100vw - 390px) / 1049);
    margin-bottom: max(5px, 5px + 5 * (100vw - 390px) / 1049);
  }
}
section.point .snack_box span {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  display: block;
}
@media screen and (max-width: 1439px) {
  section.point .snack_box span {
    font-size: max(7px, 7px + 7 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.point .snack_box span {
    letter-spacing: 0;
  }
}
section.point .snack_box p {
  line-height: 1.8;
}

section.greeting {
  position: relative;
  overflow: hidden;
  padding: 100px 0 114px;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.greeting {
    padding: max(75px, 75px + 25 * (100vw - 390px) / 1049) 0 min(123px, 123px + -9 * (100vw - 390px) / 1049);
  }
}
section.greeting .greeting_shapes {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
section.greeting .greeting_shapes.greeting_shapes_right {
  top: 290px;
  right: 21px;
  width: 298px;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_shapes.greeting_shapes_right {
    top: min(600px, 600px + -310 * (100vw - 390px) / 1049);
    right: max(14px, 14px + 7 * (100vw - 390px) / 1049);
    width: max(116px, 116px + 182 * (100vw - 390px) / 1049);
  }
}
section.greeting .greeting_shapes.greeting_shapes_left {
  bottom: 100px;
  left: 34px;
  width: 231px;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_shapes.greeting_shapes_left {
    left: max(0px, 0px + 34 * (100vw - 390px) / 1049);
    bottom: max(60px, 60px + 40 * (100vw - 390px) / 1049);
    width: max(165px, 165px + 66 * (100vw - 390px) / 1049);
  }
}
section.greeting .inner {
  position: relative;
  z-index: 1;
}
section.greeting .inner .greeting_title {
  margin: 0 0 60px;
}
@media screen and (max-width: 1439px) {
  section.greeting .inner .greeting_title {
    margin-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.greeting .inner .greeting_title .en {
  display: flex;
  justify-content: center;
  line-height: 1.6;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1439px) {
  section.greeting .inner .greeting_title .en {
    font-size: max(40px, 40px + 50 * (100vw - 390px) / 1049);
    line-height: max(40px, 40px + 104 * (100vw - 390px) / 1049);
  }
}
section.greeting .inner .greeting_title .en span {
  line-height: 0.8;
}
section.greeting .inner .greeting_title .en span:nth-child(1), section.greeting .inner .greeting_title .en span:nth-child(7) {
  color: #e97a8c;
}
section.greeting .inner .greeting_title .en span:nth-child(2), section.greeting .inner .greeting_title .en span:nth-child(8) {
  color: #ef8b36;
}
section.greeting .inner .greeting_title .en span:nth-child(3) {
  color: #68cbc2;
}
section.greeting .inner .greeting_title .en span:nth-child(4) {
  color: #81bb05;
}
section.greeting .inner .greeting_title .en span:nth-child(5) {
  color: #eebf00;
}
section.greeting .inner .greeting_title .en span:nth-child(6) {
  color: #0067ac;
}
@media screen and (max-width: 1439px) {
  section.greeting .inner .greeting_title .ja {
    margin-top: max(0px, 5px + -5 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
    line-height: 1.45;
  }
}
section.greeting .inner .greeting_wrap {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 1439px) {
  section.greeting .inner .greeting_wrap {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    width: 100%;
    grid-template-columns: max(250px, 250px + 150 * (100vw - 390px) / 1049) 1fr;
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  section.greeting .inner .greeting_wrap {
    grid-template-columns: 1fr;
  }
}
section.greeting .inner .greeting_wrap .greeting_img {
  position: relative;
  width: 400px;
  height: 480px;
  margin: 0;
}
@media screen and (max-width: 1439px) {
  section.greeting .inner .greeting_wrap .greeting_img {
    width: min(100%, max(350px, 350px + 50 * (100vw - 390px) / 1049));
    height: max(396px, 396px + 84 * (100vw - 390px) / 1049);
    margin: 0 auto;
  }
}
section.greeting .inner .greeting_wrap .greeting_img picture {
  display: block;
  width: 100%;
  height: 100%;
}
section.greeting .inner .greeting_wrap .greeting_img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
section.greeting .inner .greeting_wrap .greeting_text h3 {
  margin: 0 0 24px;
  color: #505050;
  font-size: 32px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.greeting .inner .greeting_wrap .greeting_text h3 {
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.greeting .inner .greeting_wrap .greeting_text h3 span {
  color: #e97a8c;
}
section.greeting .inner .greeting_wrap .greeting_text p {
  margin: 0;
  color: #505050;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.greeting .inner .greeting_wrap .greeting_text p {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}

section.flow {
  position: relative;
  overflow: hidden;
  padding: 250px 0 200px;
  background: url("../img/flow_bg.webp") center top/100% 100% no-repeat;
}
@media screen and (max-width: 1439px) {
  section.flow {
    padding: max(150px, 150px + 100 * (100vw - 390px) / 1049) 0 max(100px, 100px + 100 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.flow {
    background-image: url("../img/flow_bg_sp.webp");
  }
}
section.flow::before {
  content: "";
  position: absolute;
  inset: 281px 0 100px;
  z-index: 0;
  background: #ffffff;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.flow::before {
    inset: max(110px, 110px + 171 * (100vw - 390px) / 1049) 0 max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.flow::before {
    inset: 110px 0 50px;
  }
}
section.flow .flow_bg {
  position: absolute;
  top: 100px;
  right: 0;
  left: 0;
  z-index: 1;
  height: 183.5px;
  background: url("../img/growup_bg_top_white.webp") top center/1440px 183.5px no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.flow .flow_bg {
    top: max(50px, 50px + 50 * (100vw - 390px) / 1049);
    height: max(60px, 60px + 123.5 * (100vw - 390px) / 1049);
    background-image: url("../img/growup_bg_top_white_sp.webp");
    background-size: max(390px, 390px + 1050 * (100vw - 390px) / 1049) max(60px, 60px + 124 * (100vw - 390px) / 1049);
  }
}
section.flow .inner {
  position: relative;
  z-index: 1;
}
section.flow .inner .flow_title {
  position: relative;
  margin: 0;
}
section.flow .inner .flow_title::before, section.flow .inner .flow_title::after {
  content: "";
  position: absolute;
  top: -142px;
  background: center/contain no-repeat;
  pointer-events: none;
}
section.flow .inner .flow_title::before {
  left: -128px;
  width: 237px;
  height: 198px;
  background-image: url("../img/glowup_title_illust01.webp");
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_title::before {
    top: max(-142px, -94px + -48 * (100vw - 390px) / 1049);
    left: min(-10px, -10px + -118 * (100vw - 768px) / 671);
    width: max(79px, 79px + 158 * (100vw - 390px) / 1049);
    height: max(66px, 66px + 132 * (100vw - 390px) / 1049);
  }
}
section.flow .inner .flow_title::after {
  right: -155px;
  width: 224px;
  height: 240px;
  background-image: url("../img/glowup_title_illust02.webp");
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_title::after {
    top: max(-142px, -92px + -50 * (100vw - 390px) / 1049);
    right: min(-10px, -10px + -145 * (100vw - 768px) / 671);
    width: max(76px, 76px + 148 * (100vw - 390px) / 1049);
    height: max(81px, 81px + 159 * (100vw - 390px) / 1049);
  }
}
section.flow .inner .flow_title .en {
  display: flex;
  justify-content: center;
  gap: 7px;
  font-size: 90px;
  line-height: 0.7;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_title .en {
    gap: max(3px, 3px + 4 * (100vw - 390px) / 1049);
    font-size: max(40px, 40px + 50 * (100vw - 390px) / 1049);
  }
}
section.flow .inner .flow_title .en span {
  font-family: inherit;
  line-height: 0.8;
}
section.flow .inner .flow_title .en span:nth-child(1) {
  color: #e97a8c;
}
section.flow .inner .flow_title .en span:nth-child(2) {
  color: #ef8b36;
}
section.flow .inner .flow_title .en span:nth-child(3) {
  color: #68cbc2;
}
section.flow .inner .flow_title .en span:nth-child(4) {
  color: #81bb05;
}
section.flow .inner .flow_title .ja {
  display: block;
  margin-top: 39px;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_title .ja {
    margin-top: max(15px, 15px + 24 * (100vw - 390px) / 1049);
  }
}
section.flow .inner .flow_title .ja img {
  width: 365px;
  margin: 0 auto;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_title .ja img {
    width: max(243px, 243px + 122 * (100vw - 390px) / 1049);
  }
}
section.flow .inner .flow_list {
  --flow-list-gap: 40px;
  --flow-step-size: 110px;
  --flow-line-left: 52px;
  position: relative;
  display: grid;
  gap: var(--flow-list-gap);
  width: 1100px;
  margin: 60px auto 0;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_list {
    --flow-list-gap: max(20px, calc(20px + (40 - 20) * ((100vw - 390px) / (1439 - 390))));
    --flow-step-size: max(80px, calc(80px + (110 - 80) * ((100vw - 390px) / (1439 - 390))));
    --flow-line-left: calc(var(--flow-step-size) / 2 - 2.5px);
    width: 100%;
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.flow .inner .flow_list .flow_item {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 110px 320px 1fr;
  gap: 20px 20px;
  align-items: start;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_list .flow_item {
    grid-template-columns: max(80px, 80px + 30 * (100vw - 390px) / 1049) max(180px, 180px + 140 * (100vw - 390px) / 1049) 1fr;
    gap: max(20px, 20px + 0 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.flow .inner .flow_list .flow_item {
    grid-template-columns: max(80px, 80px + 30 * (100vw - 390px) / 1049) minmax(0, 1fr);
  }
}
section.flow .inner .flow_list .flow_item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: var(--flow-step-size);
  bottom: calc(var(--flow-list-gap) * -1);
  left: var(--flow-line-left);
  z-index: -1;
  width: 5px;
  background-image: radial-gradient(circle 2.5px at 2.5px 2.5px, #e97a8c 100%, transparent 100%), radial-gradient(circle 2.5px at 2.5px 17.5px, #eebf00 100%, transparent 100%);
  background-size: 5px 30px;
  background-repeat: repeat-y;
}
section.flow .inner .flow_list .flow_item .flow_step {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 3px dotted #f5bdd1;
  background: #ffffff;
  color: #ffffff;
  font-family: "Quicksand", sans-serif;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_list .flow_item .flow_step {
    width: max(80px, 80px + 30 * (100vw - 390px) / 1049);
    height: max(80px, 80px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.flow .inner .flow_list .flow_item .flow_step {
    grid-column: 1;
    grid-row: 1/span 2;
  }
}
section.flow .inner .flow_list .flow_item .flow_step::before {
  content: "";
  position: absolute;
  inset: 2px;
  border-radius: 50%;
  background: #e97a8c;
}
section.flow .inner .flow_list .flow_item .flow_step span,
section.flow .inner .flow_list .flow_item .flow_step strong {
  position: relative;
  z-index: 1;
  display: block;
}
section.flow .inner .flow_list .flow_item .flow_step span {
  font-size: 24px;
  text-transform: lowercase;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_list .flow_item .flow_step span {
    font-size: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.flow .inner .flow_list .flow_item .flow_step strong {
  margin-top: -6px;
  font-size: 32px;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_list .flow_item .flow_step strong {
    margin-top: max(-6px, -4px + -2 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
section.flow .inner .flow_list .flow_item .flow_img {
  overflow: hidden;
  width: 320px;
  aspect-ratio: 320/240;
  height: auto;
  margin: 0;
  border-radius: 20px;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_list .flow_item .flow_img {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  section.flow .inner .flow_list .flow_item .flow_img {
    grid-column: 2;
  }
}
section.flow .inner .flow_list .flow_item .flow_img picture {
  display: block;
  width: 100%;
  height: 100%;
}
section.flow .inner .flow_list .flow_item .flow_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.flow .inner .flow_list .flow_item .flow_text {
  margin-left: 20px;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_list .flow_item .flow_text {
    margin-left: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.flow .inner .flow_list .flow_item .flow_text {
    grid-column: 2;
    margin-left: 0;
  }
}
section.flow .inner .flow_list .flow_item .flow_text h3 {
  margin: 0 0 16px;
  color: #e97a8c;
  font-size: 24px;
  line-height: 1.6;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_list .flow_item .flow_text h3 {
    margin-bottom: max(10px, 10px + 6 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
section.flow .inner .flow_list .flow_item .flow_text p {
  margin: 0;
  color: #505050;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.flow .inner .flow_list .flow_item .flow_text p {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}

section.faq {
  position: relative;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  section.faq {
    padding-top: max(50px, 50px + 50 * (100vw - 390px) / 1049);
    padding-bottom: max(60px, 60px + 40 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_title {
  text-align: center;
}
section.faq .inner .faq_title > p {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 8px;
  margin: 0 0 22px;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_title > p {
    margin-bottom: max(9px, 9px + 13 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_title > p img:first-child {
  width: 89px;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_title > p img:first-child {
    width: max(68px, 68px + 21 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_title > p img:last-child {
  width: 85px;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_title > p img:last-child {
    width: max(65px, 65px + 20 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_title > p small {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 3px;
  border-radius: 50%;
  background: #e97a8c;
  color: #ffffff;
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_title > p small {
    width: max(40px, 40px + 14 * (100vw - 390px) / 1049);
    height: max(40px, 40px + 14 * (100vw - 390px) / 1049);
    font-size: max(25px, 25px + 9 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_title h2 {
  margin: 0;
  color: #505050;
  font-size: 32px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_title h2 {
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_nav {
  display: grid;
  grid-template-columns: repeat(5, 205px);
  gap: 19px;
  justify-content: center;
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_nav {
    gap: max(10px, 10px + 9 * (100vw - 390px) / 1049);
    grid-template-columns: repeat(5, max(172px, 172px + 33 * (100vw - 1025px) / 414));
    max-width: max(610px, 610px + 490 * (100vw - 1025px) / 414);
    margin: max(30px, 30px + 30 * (100vw - 390px) / 1049) auto 0;
  }
}
@media screen and (max-width: 1024px) {
  section.faq .inner .faq_nav {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  section.faq .inner .faq_nav {
    grid-template-columns: 1fr;
  }
}
section.faq .inner .faq_nav a {
  position: relative;
  display: grid;
  place-items: center;
  width: 205px;
  height: 67px;
  padding: 0 8px 12px;
  background: url("../img/faq_nav_btn.svg") center/contain no-repeat;
  color: #ffffff;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_nav a {
    width: 100%;
    height: max(57px, 57px + 10 * (100vw - 390px) / 1049);
    padding: 0 8px max(12px, 12px + 0 * (100vw - 390px) / 1049);
    background-size: 100% 100%;
    font-size: max(14px, 14px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .inner .faq_nav a {
    background: url("../img/faq_nav_btn_sp.svg") center/contain no-repeat;
  }
}
section.faq .inner .faq_nav a::before, section.faq .inner .faq_nav a::after {
  content: none;
}
section.faq .inner .faq_block {
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block {
    width: 100%;
    margin: max(50px, 50px + 10 * (100vw - 390px) / 1049) auto 0;
  }
}
section.faq .inner .faq_block + .faq_block {
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block + .faq_block {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block h3 {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding-bottom: 20px;
  border-bottom: 5px solid #e97a8c;
  color: #505050;
  font-size: 32px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block h3 {
    gap: max(5px, 10px + -5 * (100vw - 390px) / 1049);
    padding-bottom: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    border-bottom-width: max(3px, 3px + 2 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block h3 img {
  flex: 0 0 auto;
  width: 50px;
  height: 50px;
  object-fit: contain;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block h3 img {
    width: max(40px, 40px + 10 * (100vw - 390px) / 1049);
    height: max(40px, 40px + 10 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block .faq_list {
  margin-top: 31px;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list {
    margin-top: max(16px, 16px + 15 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block .faq_list details {
  border-radius: 20px;
  background: #f8f5f0;
  transition: padding-bottom 0.3s ease;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list details {
    border-radius: max(15px, 15px + 5 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block .faq_list details + details {
  margin-top: 20px;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list details + details {
    margin-top: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block .faq_list details[open] {
  padding-bottom: 20px;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list details[open] {
    padding-bottom: max(15px, 15px + 5 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block .faq_list details[open] summary::after {
  background-image: url("../img/faq_toggle_minus.svg");
}
section.faq .inner .faq_block .faq_list details summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 78px;
  padding: 20px 70px 20px 74px;
  cursor: pointer;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list details summary {
    min-height: max(59px, 59px + 19 * (100vw - 390px) / 1049);
    padding: max(15px, 15px + 5 * (100vw - 390px) / 1049) max(45px, 45px + 25 * (100vw - 390px) / 1049) max(15px, 15px + 5 * (100vw - 390px) / 1049) max(38px, 38px + 36 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block .faq_list details summary::-webkit-details-marker {
  display: none;
}
section.faq .inner .faq_block .faq_list details summary::before {
  content: "Q";
  position: absolute;
  top: 50%;
  left: 40px;
  color: #e97a8c;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list details summary::before {
    left: max(15px, 15px + 25 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .inner .faq_block .faq_list details summary::before {
    top: 15px;
    transform: none;
  }
}
section.faq .inner .faq_block .faq_list details summary::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 40px;
  width: 30px;
  height: 30px;
  background: url("../img/faq_toggle_plus.svg") center/contain no-repeat;
  transform: translateY(-50%);
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list details summary::after {
    right: max(15px, 15px + 25 * (100vw - 390px) / 1049);
    width: max(20px, 20px + 10 * (100vw - 390px) / 1049);
    height: max(20px, 20px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .inner .faq_block .faq_list details summary::after {
    top: 20px;
    transform: none;
  }
}
section.faq .inner .faq_block .faq_list details .faq_answer {
  position: relative;
  margin: -4px 40px 0;
  padding: 20px 20px 20px 51px;
  border-radius: 15px;
  background: #ffffff;
  transition: height 0.3s ease, margin-bottom 0.3s ease, padding-top 0.3s ease, padding-bottom 0.3s ease;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list details .faq_answer {
    margin: 0 max(15px, 15px + 25 * (100vw - 390px) / 1049);
    padding: max(15px, 15px + 5 * (100vw - 390px) / 1049) max(15px, 15px + 5 * (100vw - 390px) / 1049) max(15px, 15px + 5 * (100vw - 390px) / 1049) max(41px, 41px + 10 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block .faq_list details .faq_answer::before {
  content: "A";
  position: absolute;
  top: 17px;
  left: 20px;
  color: #68cbc2;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list details .faq_answer::before {
    top: max(15px, 15px + 2 * (100vw - 390px) / 1049);
    left: max(15px, 15px + 5 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
section.faq .inner .faq_block .faq_list details .faq_answer p {
  margin: 0;
  color: #505050;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.faq .inner .faq_block .faq_list details .faq_answer p {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .inner .faq_block .faq_list details .faq_answer p {
    letter-spacing: 0;
  }
}

section.information {
  position: relative;
  margin-top: 37px;
  margin-bottom: 37px;
  padding: 100px 0 100px;
  background: #f8f5f0;
}
@media screen and (max-width: 1439px) {
  section.information {
    margin-top: max(20px, 20px + 17 * (100vw - 390px) / 1049);
    margin-bottom: max(20px, 20px + 17 * (100vw - 390px) / 1049);
    padding: max(50px, 50px + 50 * (100vw - 390px) / 1049) 0 max(100px, 100px + 0 * (100vw - 390px) / 1049);
  }
}
section.information .section_wave_top_cream,
section.information .section_wave_bottom_cream {
  position: absolute;
  left: 0;
  height: 37px;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.information .section_wave_top_cream,
  section.information .section_wave_bottom_cream {
    height: max(20px, 20px + 17 * (100vw - 390px) / 1049);
  }
}
section.information .section_wave_top_cream {
  top: -37px;
}
@media screen and (max-width: 1439px) {
  section.information .section_wave_top_cream {
    top: min(-20px, -20px + -17 * (100vw - 390px) / 1049);
  }
}
section.information .section_wave_bottom_cream {
  bottom: -37px;
}
@media screen and (max-width: 1439px) {
  section.information .section_wave_bottom_cream {
    bottom: min(-20px, -20px + -17 * (100vw - 390px) / 1049);
  }
}
section.information .information_shapes {
  position: absolute;
  pointer-events: none;
}
section.information .information_shapes.information_shapes_right {
  top: 140px;
  right: 20px;
  width: 298px;
}
@media screen and (max-width: 1439px) {
  section.information .information_shapes.information_shapes_right {
    top: max(140px, 780px + -640 * (100vw - 390px) / 1049);
    right: min(20px, -12px + 32 * (100vw - 390px) / 1049);
    width: max(85px, 85px + 213 * (100vw - 390px) / 1049);
  }
}
section.information .information_shapes.information_shapes_left {
  bottom: 62px;
  left: 31px;
  width: 231px;
}
@media screen and (max-width: 1439px) {
  section.information .information_shapes.information_shapes_left {
    bottom: max(58px, 58px + 4 * (100vw - 390px) / 1049);
    left: min(31px, -24px + 55 * (100vw - 390px) / 1049);
    width: max(155px, 155px + 76 * (100vw - 390px) / 1049);
  }
}
section.information .inner {
  position: relative;
  z-index: 1;
}
section.information .inner .information_title {
  text-align: center;
}
section.information .inner .information_title > p {
  display: flex;
  justify-content: center;
  margin: 0;
  color: #e97a8c;
  font-family: "Quicksand", sans-serif;
  font-size: 90px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 9px;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_title > p {
    font-size: max(40px, 40px + 50 * (100vw - 390px) / 1049);
    line-height: max(40px, 40px + 50 * (100vw - 390px) / 1049);
    letter-spacing: max(4px, 4px + 5 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_title > p span {
  line-height: 0.8;
}
section.information .inner .information_title > p span:nth-child(2),
section.information .inner .information_title > p span:nth-child(8) {
  color: #ef8b36;
}
section.information .inner .information_title > p span:nth-child(3),
section.information .inner .information_title > p span:nth-child(9) {
  color: #68cbc2;
}
section.information .inner .information_title > p span:nth-child(4),
section.information .inner .information_title > p span:nth-child(10) {
  color: #81bb05;
}
section.information .inner .information_title > p span:nth-child(5),
section.information .inner .information_title > p span:nth-child(11) {
  color: #eebf00;
}
section.information .inner .information_title > p span:nth-child(6) {
  color: #0067ac;
}
section.information .inner .information_title h2 {
  margin: 15px 0 0;
  color: #505050;
  font-size: 32px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_title h2 {
    margin-top: max(0px, 0px + 15 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_content {
  display: grid;
  grid-template-columns: 1fr 530px;
  gap: 39px;
  align-items: start;
  margin-top: 57px;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content {
    gap: max(25px, 25px + 14 * (100vw - 390px) / 1049);
    width: 100%;
    grid-template-columns: 1fr max(300px, 300px + 230 * (100vw - 768px) / 671);
    margin: max(25px, 25px + 32 * (100vw - 390px) / 1049) auto 0;
  }
}
@media screen and (max-width: 767px) {
  section.information .inner .information_content {
    grid-template-columns: 1fr;
  }
}
section.information .inner .information_content .information_detail {
  min-width: 0;
  padding-top: 39px;
}
@media screen and (max-width: 767px) {
  section.information .inner .information_content .information_detail {
    padding-top: 0;
  }
}
section.information .inner .information_content .information_detail .information_logo img {
  width: 229px;
}
@media screen and (max-width: 767px) {
  section.information .inner .information_content .information_detail .information_logo img {
    margin-inline: auto;
  }
}
section.information .inner .information_content .information_detail .information_time {
  margin-top: 40px;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content .information_detail .information_time {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_content .information_detail .information_time table {
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 5px 10px 5px 5px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
  font-size: 16px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content .information_detail .information_time table {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_content .information_detail .information_time th,
section.information .inner .information_content .information_detail .information_time td {
  height: 40px;
  border-left: 1px solid #ffffff;
  vertical-align: middle;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content .information_detail .information_time th,
  section.information .inner .information_content .information_detail .information_time td {
    height: max(30px, 30px + 10 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_content .information_detail .information_time thead th {
  background: #e97a8c;
  color: #ffffff;
  font-weight: 700;
}
section.information .inner .information_content .information_detail .information_time thead th:first-child {
  width: 130px;
  border-left: 0;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content .information_detail .information_time thead th:first-child {
    width: max(85px, 85px + 45 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_content .information_detail .information_time tbody th,
section.information .inner .information_content .information_detail .information_time tbody td {
  border-top: 1px solid #e97a8c;
  background: #ffffff;
  color: #505050;
  font-weight: 700;
}
section.information .inner .information_content .information_detail .information_time tbody th {
  border-left: 0;
  letter-spacing: 0;
  font-weight: 500;
}
section.information .inner .information_content .information_detail .information_time > p {
  margin: 12px 0 0;
  color: #505050;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content .information_detail .information_time > p {
    margin-top: max(10px, 10px + 2 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
    font-weight: 400;
  }
}
section.information .inner .information_content .information_detail .information_list {
  width: 100%;
  max-width: 100%;
  margin-top: 40px;
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content .information_detail .information_list {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_content .information_detail .information_list > div {
  display: grid;
  grid-template-columns: 95px 1fr;
  gap: 13px;
  align-items: start;
  padding: 24px 0 13px;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content .information_detail .information_list > div {
    grid-template-columns: max(62px, 62px + 33 * (100vw - 390px) / 1049) 1fr;
    gap: max(10px, 10px + 3 * (100vw - 390px) / 1049);
    padding: max(12px, 12px + 12 * (100vw - 390px) / 1049) 0 max(10px, 10px + 3 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_content .information_detail .information_list > div:first-child {
  padding-top: 0;
}
section.information .inner .information_content .information_detail .information_list > div:last-child {
  padding-bottom: 0;
}
section.information .inner .information_content .information_detail .information_list > div + div {
  border-top: 2px dashed #e97a8c;
}
section.information .inner .information_content .information_detail .information_list dt {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  section.information .inner .information_content .information_detail .information_list dt {
    letter-spacing: 0;
  }
}
section.information .inner .information_content .information_detail .information_list dd {
  margin: 0;
  line-height: inherit;
}
@media screen and (max-width: 767px) {
  section.information .inner .information_content .information_detail .information_list dd {
    letter-spacing: 0;
  }
}
section.information .inner .information_content .information_maps {
  display: grid;
  min-width: 0;
  width: 100%;
  gap: 20px;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content .information_maps {
    gap: max(14px, 14px + 6 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_content .information_maps .information_map {
  width: 100%;
  aspect-ratio: 530/320;
  overflow: hidden;
  border-radius: 30px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.68), rgba(255, 255, 255, 0.18)), #d8d5cf;
}
@media screen and (max-width: 1439px) {
  section.information .inner .information_content .information_maps .information_map {
    aspect-ratio: 350/211;
    border-radius: max(10px, 10px + 20 * (100vw - 390px) / 1049);
  }
}
section.information .inner .information_content .information_maps .information_map iframe {
  width: 100%;
  height: 100%;
}

section.contact {
  position: relative;
  overflow: hidden;
  color: #505050;
  text-align: center;
  margin-top: -30px;
}
@media screen and (max-width: 1439px) {
  section.contact {
    padding-top: max(70px, 70px + 30 * (100vw - 390px) / 1049);
    padding-bottom: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
section.contact::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/contact_bg.webp") center/cover no-repeat;
  opacity: 0.5;
}
section.contact .inner {
  position: relative;
  z-index: 1;
}
section.contact .inner h2 {
  margin-top: 43px;
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.contact .inner h2 {
    margin-top: max(20px, 20px + 23 * (100vw - 390px) / 1049);
    margin-right: auto;
    margin-left: auto;
    font-size: max(18px, 18px + 14 * (100vw - 390px) / 1049);
  }
}
section.contact .inner .contact_logo {
  margin-top: 30px;
}
section.contact .inner .contact_logo,
section.contact .inner .information_logo {
  display: flex;
  flex-direction: column;
  align-items: center;
}
section.contact .inner .contact_logo img,
section.contact .inner .information_logo img {
  width: 181px;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_logo img,
  section.contact .inner .information_logo img {
    width: max(120px, 120px + 61 * (100vw - 390px) / 1049);
  }
}
section.contact .inner .contact_logo p,
section.contact .inner .information_logo p {
  margin-top: 11px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.25;
}
section.contact .inner .contact_logo p span,
section.contact .inner .information_logo p span {
  font-size: 12px;
}
section.contact .inner .contact_text {
  margin: 45px auto 0;
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_text {
    margin-top: max(20px, 20px + 25 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
    font-weight: 500;
  }
}
section.contact .inner .contact_text p {
  line-height: inherit;
  letter-spacing: 0;
}
section.contact .inner .contact_links {
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links {
    margin-top: max(25px, 25px + 35 * (100vw - 390px) / 1049);
  }
}
section.contact .inner .contact_links > p {
  position: relative;
  display: inline-block;
  padding: 0 40px 10px;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0;
  width: fit-content;
  margin-inline: auto;
  font-family: "Zen Maru Gothic", sans-serif;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links > p {
    padding-right: max(13px, 13px + 27 * (100vw - 390px) / 1049);
    padding-bottom: max(10px, 18px + -8 * (100vw - 390px) / 1049);
    padding-left: max(13px, 13px + 27 * (100vw - 390px) / 1049);
    font-size: max(18px, 18px + 14 * (100vw - 390px) / 1049);
  }
}
section.contact .inner .contact_links > p::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 8px;
  background-image: -webkit-radial-gradient(4px 4px, circle 4px, #f9c12f 100%, transparent 100%), -webkit-radial-gradient(22px 4px, circle 4px, #e97a8c 100%, transparent 100%);
  background-image: radial-gradient(circle 4px at 4px 4px, #f9c12f 100%, transparent 100%), radial-gradient(circle 4px at 22px 4px, #e97a8c 100%, transparent 100%);
  background-size: 36px 8px;
  background-repeat: repeat-x;
}
section.contact .inner .contact_links ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links ul {
    gap: max(10px, 20px + -10 * (100vw - 390px) / 1049);
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-right: auto;
    margin-left: auto;
  }
}
@media screen and (max-width: 767px) {
  section.contact .inner .contact_links ul {
    grid-template-columns: 1fr;
  }
}
section.contact .inner .contact_links a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 95px;
  border: 5px solid #ffffff;
  border-radius: 999px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15);
  color: #ffffff;
  text-decoration: none;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links a {
    min-height: max(70px, 70px + 25 * (100vw - 390px) / 1049);
    border-width: max(3px, 3px + 2 * (100vw - 390px) / 1049);
  }
}
section.contact .inner .contact_links a.contact_tel {
  pointer-events: auto;
  background: #505050;
}
section.contact .inner .contact_links a.contact_reserve {
  background: #e97a8c;
}
section.contact .inner .contact_links a.contact_access {
  background: #0067ac;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links a.contact_access strong img {
    width: max(20px, 20px + 5 * (100vw - 390px) / 1049);
  }
}
section.contact .inner .contact_links a span {
  position: relative;
  display: inline-block;
  margin-bottom: 3px;
  padding: 0 74px;
  color: #fbff22;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links a span {
    margin-bottom: max(3px, 5px + -2 * (100vw - 390px) / 1049);
    padding-right: max(65px, 65px + 9 * (100vw - 390px) / 1049);
    padding-left: max(65px, 65px + 9 * (100vw - 390px) / 1049);
    font-size: max(10px, 10px + 6 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.contact .inner .contact_links a span {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
section.contact .inner .contact_links a span::before, section.contact .inner .contact_links a span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 1px;
  background: currentColor;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links a span::before, section.contact .inner .contact_links a span::after {
    width: max(40px, 40px + 20 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.contact .inner .contact_links a span::before, section.contact .inner .contact_links a span::after {
    width: max(55px, 55px + 5 * (100vw - 390px) / 1049);
  }
}
section.contact .inner .contact_links a span::before {
  left: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links a span::before {
    left: min(20px, 20px + -20 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.contact .inner .contact_links a span::before {
    left: 0;
  }
}
section.contact .inner .contact_links a span::after {
  right: 0;
  transform: translateY(-50%);
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links a span::after {
    right: min(20px, 20px + -20 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.contact .inner .contact_links a span::after {
    right: 0;
  }
}
section.contact .inner .contact_links a strong {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 24px;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  section.contact .inner .contact_links a strong {
    gap: max(5px, 5px + 5 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.contact .inner .contact_links a strong {
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
section.contact .inner .contact_links a strong img {
  width: 25px;
  max-height: 25px;
  object-fit: contain;
}

section.column {
  background: #ffffff;
}
section.column .inner .column_title {
  margin: 0 0 60px;
}
@media screen and (max-width: 1439px) {
  section.column .inner .column_title {
    margin-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.column .inner .column_title .en {
  letter-spacing: 0.1em;
  line-height: 0.8;
}
@media screen and (max-width: 1439px) {
  section.column .inner .column_title .en {
    font-size: max(40px, 40px + 50 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.column .inner .column_title .en {
    line-height: 1;
  }
}
section.column .inner .column_title .en span {
  line-height: 0.8;
}
section.column .inner .column_title .en span:nth-child(1) {
  color: #e97a8c;
}
section.column .inner .column_title .en span:nth-child(2) {
  color: #ef8b36;
}
section.column .inner .column_title .en span:nth-child(3) {
  color: #68cbc2;
}
section.column .inner .column_title .en span:nth-child(4) {
  color: #81bb05;
}
section.column .inner .column_title .en span:nth-child(5) {
  color: #eebf00;
}
section.column .inner .column_title .en span:nth-child(6) {
  color: #0067ac;
}
section.column .inner .column_title .ja {
  margin-top: 12px;
}
@media screen and (max-width: 1439px) {
  section.column .inner .column_title .ja {
    margin-top: max(-2px, -2px + 14 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
    line-height: 1.45;
  }
}
section.column .inner .column_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  justify-content: center;
}
@media screen and (max-width: 1439px) {
  section.column .inner .column_list {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 1024px) {
  section.column .inner .column_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  section.column .inner .column_list {
    grid-template-columns: 1fr;
  }
}
section.column .inner .column_list article a {
  display: block;
  color: #505050;
  text-decoration: none;
}
section.column .inner .column_list article a figure {
  overflow: hidden;
  margin: 0;
  border-radius: 10px;
}
section.column .inner .column_list article a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.column .inner .column_list article a .column_meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}
section.column .inner .column_list article a .column_meta time {
  color: #e97a8c;
  font-family: "Quicksand", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
section.column .inner .column_list article a .column_meta span {
  display: inline-grid;
  place-items: center;
  min-width: 104px;
  height: 20px;
  padding: 0 10px;
  border-radius: 999px;
  background: #e97a8c;
  color: #ffffff;
  font-size: 12px;
  line-height: 1;
}
section.column .inner .column_list article a h3 {
  margin: 10px 0 0;
  color: #505050;
  font-size: 20px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.column .inner .column_list article a h3 {
    font-size: max(20px, 20px + 0 * (100vw - 390px) / 1049);
  }
}
section.column .inner .column_empty {
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.column .inner .column_empty {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
section.column .inner .column_btn {
  position: relative;
  display: grid;
  place-items: center;
  width: 280px;
  height: 55px;
  margin: 60px auto 0;
  border-radius: 999px;
  background: #e0d4c0;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}
@media screen and (max-width: 1439px) {
  section.column .inner .column_btn {
    width: max(240px, 240px + 40 * (100vw - 390px) / 1049);
    height: max(50px, 50px + 5 * (100vw - 390px) / 1049);
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 2 * (100vw - 390px) / 1049);
  }
}
section.column .inner .column_btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 24px;
  height: 24px;
  background: url("../img/arow_round.svg") center/contain no-repeat;
  transform: translateY(-50%);
}
section.column .inner .column_btn::before {
  content: none;
}

.column_page .column_fv {
  position: relative;
  z-index: 1;
  height: 320px;
  padding-top: 150px;
  background: #f8f5f0;
}
@media screen and (max-width: 1439px) {
  .column_page .column_fv {
    height: max(250px, 250px + 70 * (100vw - 390px) / 1049);
    padding-top: max(140px, 140px + 10 * (100vw - 390px) / 1049);
  }
}
.column_page .column_fv h1,
.column_page .column_fv .fv_title {
  font-size: 40px;
  line-height: 1.5;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: bold;
}
@media screen and (max-width: 1439px) {
  .column_page .column_fv h1,
  .column_page .column_fv .fv_title {
    font-size: max(28px, 28px + 12 * (100vw - 390px) / 1049);
  }
}
.column_page .column_archive {
  padding: 60px 0 100px;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive {
    padding: max(30px, 30px + 30 * (100vw - 390px) / 1049) 0 max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
.column_page .column_archive .breadcrumb {
  margin-bottom: 100px;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .breadcrumb {
    margin-bottom: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
.column_page .column_archive .breadcrumb ol {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .column_page .column_archive .breadcrumb ol {
    flex-wrap: wrap;
    gap: 6px 0;
  }
}
.column_page .column_archive .breadcrumb li {
  position: relative;
  color: #ac8f65;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}
.column_page .column_archive .breadcrumb li + li {
  margin-left: 8px;
  padding-left: 8px;
}
.column_page .column_archive .breadcrumb li + li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -2px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #ac8f65;
  border-right: 1px solid #ac8f65;
  transform: translateY(-50%) rotate(45deg);
}
.column_page .column_archive .column_archive_list article {
  border-bottom: 1px solid #d9d9d9;
}
.column_page .column_archive .column_archive_list article + article {
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .column_archive_list article + article {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
.column_page .column_archive .column_archive_list a {
  display: grid;
  grid-template-columns: 340px 1fr;
  column-gap: 40px;
  min-height: 240px;
  padding-bottom: 24px;
  color: #505050;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .column_archive_list a {
    grid-template-columns: max(240px, 240px + 100 * (100vw - 390px) / 1049) minmax(0, 1fr);
    column-gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    min-height: max(120px, 120px + 120 * (100vw - 390px) / 1049);
    padding-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  .column_page .column_archive .column_archive_list a {
    display: block;
  }
}
.column_page .column_archive .column_archive_list a figure {
  overflow: hidden;
  width: 340px;
  height: 220px;
  border-radius: 5px;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .column_archive_list a figure {
    width: max(240px, 240px + 100 * (100vw - 390px) / 1049);
    height: max(155px, 155px + 65 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  .column_page .column_archive .column_archive_list a figure {
    width: 100%;
    height: auto;
    aspect-ratio: 340/220;
  }
}
.column_page .column_archive .column_archive_list a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.column_page .column_archive .column_archive_list a .column_archive_body {
  padding-top: 40px;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .column_archive_list a .column_archive_body {
    padding-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
.column_page .column_archive .column_archive_list a .column_archive_body .column_archive_meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .column_archive_list a .column_archive_body .column_archive_meta {
    gap: max(8px, 8px + 2 * (100vw - 390px) / 1049);
  }
}
.column_page .column_archive .column_archive_list a .column_archive_body .column_archive_meta time {
  color: #e97a8c;
  font-family: "Quicksand", sans-serif;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.column_page .column_archive .column_archive_list a .column_archive_body .column_archive_meta span {
  display: inline-grid;
  place-items: center;
  min-width: 105px;
  height: 20px;
  padding: 0 10px;
  border-radius: 999px;
  background: #e97a8c;
  color: #ffffff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 400;
  line-height: 1;
}
.column_page .column_archive .column_archive_list a .column_archive_body h2 {
  font-size: 20px;
  line-height: 1.5;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .column_archive_list a .column_archive_body h2 {
    font-size: max(18px, 18px + 2 * (100vw - 390px) / 1049);
  }
}
.column_page .column_archive .column_archive_list a .column_archive_body p {
  margin: 24px 0 0;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .column_archive_list a .column_archive_body p {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
.column_page .column_archive .column_pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .column_pagination {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  .column_page .column_archive .column_pagination {
    flex-wrap: wrap;
  }
}
.column_page .column_archive .column_pagination .page-numbers {
  display: grid;
  place-items: center;
  min-width: 36px;
  height: 36px;
  padding: 0 12px;
  border: 1px solid #e0d4c0;
  border-radius: 999px;
  color: #505050;
  font-family: "Quicksand", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}
.column_page .column_archive .column_pagination .page-numbers:hover {
  border-color: #e97a8c;
  background: #e97a8c;
  color: #ffffff;
  opacity: 1;
}
.column_page .column_archive .column_pagination .current {
  border-color: #e97a8c;
  background: #e97a8c;
  color: #ffffff;
}
.column_page .column_archive .column_pagination .prev,
.column_page .column_archive .column_pagination .next {
  width: auto;
  padding: 0 18px;
  font-family: "Zen Maru Gothic", sans-serif;
}
.column_page .column_archive .column_archive_empty {
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  .column_page .column_archive .column_archive_empty {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
.column_page .column_single {
  padding: 60px 0 100px;
  background: #ffffff;
}
@media screen and (max-width: 1439px) {
  .column_page .column_single {
    padding: max(30px, 30px + 30 * (100vw - 390px) / 1049) 0 max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
.column_page .column_single .breadcrumb {
  margin-bottom: 100px;
}
@media screen and (max-width: 1439px) {
  .column_page .column_single .breadcrumb {
    margin-bottom: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
.column_page .column_single .breadcrumb ol {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .column_page .column_single .breadcrumb ol {
    flex-wrap: wrap;
    gap: 6px 0;
  }
}
.column_page .column_single .breadcrumb li {
  position: relative;
  color: #ac8f65;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .column_page .column_single .breadcrumb li {
    white-space: normal;
  }
}
.column_page .column_single .breadcrumb li + li {
  margin-left: 8px;
  padding-left: 8px;
}
.column_page .column_single .breadcrumb li + li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -2px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #ac8f65;
  border-right: 1px solid #ac8f65;
  transform: translateY(-50%) rotate(45deg);
}
.column_page .column_single #contents h1 {
  position: relative;
  padding: 0 0 8px 5px;
  border-bottom: 3px solid #f2e7c1;
  margin: 50px 0 15px 0;
  font-size: 28px;
  line-height: 35px;
  text-align: left;
  font-family: "Zen Maru Gothic", sans-serif;
}
.column_page .column_single #contents h1::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: 2;
  content: "";
  width: 20%;
  height: 3px;
  background-color: #dec465;
}
.column_page .column_single #contents h2, .column_page .column_single #contents h3, .column_page .column_single #contents h4, .column_page .column_single #contents h5, .column_page .column_single #contents h6 {
  font-family: "Noto Sans JP", sans-serif;
}
.column_page .column_single #contents .column_single_thumb {
  margin: 0 0 30px;
}
.column_page .column_single #contents .column_single_thumb img {
  width: 100%;
  height: auto;
}
.column_page .column_single #contents .paragraph .post_additional_info p a {
  color: #a28052;
}

footer * {
  line-height: 30px;
}
footer .copyright p {
  line-height: 40px;
}

.footer {
  font-family: "Noto Sans JP", sans-serif;
}
.footer .parts-nav_list li a,
.footer .fooger_guidelines_area p,
.footer .fooger_guidelines_link {
  font-family: "Noto Sans JP", sans-serif;
}
.footer .footer_clinicInfo a,
.footer .fooger_guidelines_area .fooger_guidelines_title {
  font-family: "Zen Maru Gothic", sans-serif;
}
.footer p {
  line-height: 1.8;
}
.footer .fooger_guidelines_area p,
.footer .fooger_guidelines_link {
  font-weight: 500;
}

@media screen and (max-width: 1599px) {
  .base-floatPc {
    top: 130px;
  }
}

@media screen and (max-width: 767px) {
  .no_scroll .base-floatSp.pcnone {
    z-index: 80;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
}


.header .header_contact_wrap{
position:fixed;
top:20px;
right:10px;	
}







.base-floatPc {
    position: fixed;
    right: 0;
    width: 80px;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 700;
    z-index: 99;
}


.base-floatPc_tell {
    background: #ffffff;
    border-radius: 10px 0 0 10px;
    overflow: hidden;
    box-shadow: 0px 0px 15px 0px rgba(73, 59, 60, 0.1);
    margin-bottom: 5px;
}

.base-floatPc_tellNumber {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 16px 0;
}

.base-floatPc_tellTime {
    background: #E3DBCC;
    text-align: center;
    padding-bottom: 8px;
}

.base-floatPc_tellTimeText {
    margin-bottom: 4px;
    font-size: 12px;
    line-height: 1.4;
}

.base-floatPc_tellNumberText {
    font-size: 20px;
    background: url(https://www.aiiku-dental.jp//img/icon_telephone.svg) no-repeat top center;
    background-size: 32px auto;
    padding-top: 40px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.06em;
}

.base-floatPc_tellTimeHeading {
    color: #ffffff;
    background: #C9C096;
    width: 100%;
    padding: 4px 0;
    font-size: 11px;
    margin-bottom: 8px;
}

.base-floatPc_tellTimeText {
    margin-bottom: 4px;
    font-size: 12px;
    line-height: 1.4;
}

.base-floatPc_reservation {
    width: 100%;
    height: 72px;
    background: #493B3C;
    color: #ffffff;
    border-radius: 10px 0 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5px;
    box-shadow: 0px 0px 15px 0px rgba(73, 59, 60, 0.1);
}

.base-floatPc_reservationText {
    background: url(https://www.aiiku-dental.jp//img/icon_calendar-top.svg) no-repeat left center;
    background-size: 20px 20px;
    padding-left: 26px;
    font-size: 13px;
    line-height: 1.3;
}

.base-floatPc_lineText {
    background: url(https://www.aiiku-dental.jp//img/icon_line-top.svg) no-repeat left center;
    background-size: 20px 20px;
    padding-left: 26px;
    font-size: 13px;
    line-height: 1.3;
}

.base-floatPc_line {
    width: 100%;
    height: 72px;
    background: #b02858;
    color: #ffffff;
    border-radius: 10px 0 0 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5px;
    box-shadow: 0px 0px 15px 0px rgba(73, 59, 60, 0.1);
}

.base-floatPc_language {
    background: #ffffff;
    border-radius: 10px 0 0 10px;
    width: 100%;
    height: 72px;
    box-shadow: 0px 0px 15px 0px rgba(73, 59, 60, 0.1);
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.base-floatPc_languageItem {
    position: relative;
    font-size: 12px;
    padding-left: 12px;
}

.base-floatPc_languageItem--en:before {
    color: #C9C096;
}

.base-floatPc_languageItem--ch:before {
    color: #CEB2A5;
}


@media screen and (max-width: 1599px) {
    .base-floatPc {
        top: 130px;
    }
}

@media print, screen and (min-width: 1200px) {
    .base-floatSp {
        display: none;
    }
}


@media screen and (max-width: 1025px) {
    .tabnone {
        display: none;
    }
	
.base-floatSp {
    width: calc(100% - 8px);
    margin: 0 auto;
    position: fixed;
    left: 4px;
    bottom: 0;
    z-index: 99;
    display: flex;
    height: 50px;
    font-family: "Shippori Mincho B1", serif;
    font-weight: 700;
    align-items: center;
}
	
.base-floatSp_tell {
    background: #C9C096;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 50px) / 2);
    border-radius: 10px 10px 0 0;
    margin-right: 4px;
    height: 100%;
    box-shadow: 0px 0px 15px 0px rgba(73, 59, 60, 0.1);
}
	
.base-floatSp_reservation {
    background: #493B3C;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 50px) / 2);
    border-radius: 10px 10px 0 0;
    margin-right: 4px;
    height: 100%;
    box-shadow: 0px 0px 15px 0px rgba(73, 59, 60, 0.1);
}
	
.base-floatSp_tellText {
    background: url(https://www.aiiku-dental.jp/img/icon_smartphone.svg) no-repeat left center;
    background-size: 30px auto;
    padding-left: 27px;
    font-size: 11px;
    line-height: 1.4;
}
	
.base-floatPc_reservationText {
    background: url(https://www.aiiku-dental.jp//img/icon_calendar-top.svg) no-repeat left center;
    background-size: 20px 20px;
    padding-left: 26px;
    font-size: 13px;
    line-height: 1.3;
}
	
.base-floatSp_line {
    background: #b02858;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc((100% - 50px) / 2);
    border-radius: 10px 10px 0 0;
    margin-right: 4px;
    height: 100%;
    box-shadow: 0px 0px 15px 0px rgba(73, 59, 60, 0.1);
}
	
.base-floatPc_lineText {
    background: urlvimg/icon_line-top.svg) no-repeat left center;
    background-size: 20px 20px;
    padding-left: 26px;
    font-size: 13px;
    line-height: 1.3;
}
}