@charset "UTF-8";
/*! 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;
}

body {
  font-family: "Zen Maru Gothic", sans-serif;
  overflow-x: hidden;
  color: #505050;
  background: #fff;
}

@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;
  }
}

.sp389-on {
  display: none;
}
@media screen and (max-width: 389px) {
  .sp389-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;
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 20px;
  }
}

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

header.header :where(p),
main.kids_orthodontics_lp :where(p) {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  color: #505050;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1439px) {
  header.header :where(p),
  main.kids_orthodontics_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);
}

.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: 240px;
  margin: 0;
}
@media screen and (max-width: 1439px) {
  .header .header_logo {
    width: max(98px, 98px + 142 * (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 + -20 * (100vw - 390px) / 1049);
    width: max(146px, 146px + 257.5 * (100vw - 390px) / 1049);
    height: max(99px, 99px + 129.5 * (100vw - 390px) / 1049);
    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 .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: #fff;
  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 .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 #fff;
  paint-order: stroke fill;
  text-shadow: 0 3px 0 #fff, 0 -3px 0 #fff, 3px 0 0 #fff, -3px 0 0 #fff, 2.9px 0.8px 0 #fff, -2.9px 0.8px 0 #fff, 2.9px -0.8px 0 #fff, -2.9px -0.8px 0 #fff, 2.6px 1.5px 0 #fff, -2.6px 1.5px 0 #fff, 2.6px -1.5px 0 #fff, -2.6px -1.5px 0 #fff, 2.1px 2.1px 0 #fff, -2.1px 2.1px 0 #fff, 2.1px -2.1px 0 #fff, -2.1px -2.1px 0 #fff, 1.5px 2.6px 0 #fff, -1.5px 2.6px 0 #fff, 1.5px -2.6px 0 #fff, -1.5px -2.6px 0 #fff, 0.8px 2.9px 0 #fff, -0.8px 2.9px 0 #fff, 0.8px -2.9px 0 #fff, -0.8px -2.9px 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff, 1.4px 1.4px 0 #fff, -1.4px 1.4px 0 #fff, 1.4px -1.4px 0 #fff, -1.4px -1.4px 0 #fff;
}
.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 #fff;
  paint-order: stroke fill;
  text-shadow: 0 2px 0 #fff, 0 -2px 0 #fff, 2px 0 0 #fff, -2px 0 0 #fff, 1.9px 0.5px 0 #fff, -1.9px 0.5px 0 #fff, 1.9px -0.5px 0 #fff, -1.9px -0.5px 0 #fff, 1.7px 1px 0 #fff, -1.7px 1px 0 #fff, 1.7px -1px 0 #fff, -1.7px -1px 0 #fff, 1.4px 1.4px 0 #fff, -1.4px 1.4px 0 #fff, 1.4px -1.4px 0 #fff, -1.4px -1.4px 0 #fff, 1px 1.7px 0 #fff, -1px 1.7px 0 #fff, 1px -1.7px 0 #fff, -1px -1.7px 0 #fff, 0.5px 1.9px 0 #fff, -0.5px 1.9px 0 #fff, 0.5px -1.9px 0 #fff, -0.5px -1.9px 0 #fff;
}
.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: #fff;
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}
@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;
  }
}
.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: 35px;
  height: 35px;
}
@media screen and (max-width: 1439px) {
  .header .header_cta_btn.header_cta_btn-pink 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-pink img {
    width: 20px;
    height: 20px;
    margin-right: 2px;
  }
}
.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 .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;
  }
}
@media screen and (max-width: 767px) {
  .header .ham_btn img {
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .header .ham_btn .icon_close {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header .ham_btn.is-active .icon_open {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header .ham_btn.is-active .icon_close {
    display: block;
  }
}

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

.sp_menu {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp_menu {
    position: fixed;
    z-index: 100;
    inset: 0;
    display: block;
    width: 100%;
    min-height: 100svh;
    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) {
  .sp_menu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_logo {
    position: absolute;
    z-index: 1;
    top: 10px;
    left: 10px;
    width: 126px;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_logo a {
    position: relative;
    z-index: 0;
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_logo a::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -10px;
    left: -10px;
    width: 190px;
    height: 127px;
    background: url("../img/header_logo_bg_sp.png") left top/100% 100% no-repeat;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_logo img {
    width: 100%;
    height: auto;
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_list {
    position: relative;
    z-index: 1;
    width: 310px;
    max-width: 100%;
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_list li {
    --menu-dot-color: #e97a8c;
    border-bottom: 2px dotted #505050;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_list li:nth-child(2) {
    --menu-dot-color: #0070b0;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_list li:nth-child(3) {
    --menu-dot-color: #f7c900;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_list li:nth-child(4) {
    --menu-dot-color: #6fbe00;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_list li:nth-child(5) {
    --menu-dot-color: #ef8b36;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_list li:nth-child(6) {
    --menu-dot-color: #62c8c4;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_list a {
    position: relative;
    display: flex;
    align-items: flex-start;
    padding: 20px 0 10px 13px;
    color: #505050;
    font-family: "Zen Maru Gothic", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.02em;
    text-decoration: none;
  }
}
@media screen and (max-width: 767px) {
  .sp_menu .sp_menu_list a::before {
    content: "";
    position: absolute;
    top: calc(50% + 5px);
    transform: translateY(-50%);
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--menu-dot-color);
  }
}

.fv {
  position: relative;
  height: 100svh;
  overflow: hidden;
  background: #fef8e2;
}
.fv .fv_img {
  position: absolute;
  inset: 0;
}
.fv .fv_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.fv .fv_sp_img {
  display: none;
}
@media screen and (max-width: 767px) {
  .fv .fv_sp_img {
    position: absolute;
    z-index: 1;
    display: block;
    pointer-events: none;
  }
}
@media screen and (max-width: 767px) {
  .fv .fv_img01_sp {
    top: 0;
    right: 0;
    width: 310px;
  }
}
@media screen and (max-width: 767px) {
  .fv .fv_img02_sp {
    bottom: 0;
    left: 0;
    width: 243px;
  }
}
@media screen and (max-width: 767px) {
  .fv .fv_img03_sp {
    right: 0;
    bottom: 45px;
    width: 111px;
  }
}
.fv .fv_text {
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  width: 640px;
  transform: translate(-50%, -50%);
  text-align: center;
}
@media screen and (max-width: 1439px) {
  .fv .fv_text {
    width: max(350px, 350px + 290 * (100vw - 390px) / 1049);
  }
}
.fv .fv_text .fv_catch_img {
  display: block;
  width: 592px;
  margin-inline: auto;
}
@media screen and (max-width: 1439px) {
  .fv .fv_text .fv_catch_img {
    width: max(295px, 295px + 297 * (100vw - 390px) / 1049);
  }
}
.fv .fv_text .fv_catch_img img {
  width: 100%;
}
.fv .fv_text .fv_catch_list {
  display: flex;
  gap: 20px;
  margin-top: 30px;
}
@media screen and (max-width: 1439px) {
  .fv .fv_text .fv_catch_list {
    gap: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    margin-top: max(6px, 6px + 24 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  .fv .fv_text .fv_catch_list {
    margin-top: 6px;
  }
}
.fv .fv_text .fv_catch_list li {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 200px;
  aspect-ratio: 1;
  color: #505050;
  font-family: "Kiasei Opti", serif;
  line-height: 1.42;
  text-align: center;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1439px) {
  .fv .fv_text .fv_catch_list li {
    width: max(110px, 110px + 90 * (100vw - 390px) / 1049);
  }
}
.fv .fv_text .fv_catch_list li::before {
  content: "";
  position: absolute;
  inset: 15px;
  z-index: -1;
  border-radius: 50%;
  background: #fff;
}
@media screen and (max-width: 1439px) {
  .fv .fv_text .fv_catch_list li::before {
    inset: max(10px, 10px + 5 * (100vw - 390px) / 1049);
  }
}
.fv .fv_text .fv_catch_list li p {
  font-family: "Kaisei Opti", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  .fv .fv_text .fv_catch_list li p {
    font-size: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
.fv .fv_text .fv_catch_list li span {
  font-size: 28px;
}
@media screen and (max-width: 1439px) {
  .fv .fv_text .fv_catch_list li span {
    font-size: max(16px, 16px + 12 * (100vw - 390px) / 1049);
  }
}
.fv .fv_text .fv_catch_list li strong {
  margin-top: 2px;
  margin-bottom: 5px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  .fv .fv_text .fv_catch_list li strong {
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  .fv .fv_text .fv_catch_list li strong {
    margin-top: 0;
    margin-bottom: 2px;
  }
}
.fv .fv_text .fv_catch_list li small {
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  .fv .fv_text .fv_catch_list li small {
    font-size: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
.fv .fv_text .fv_catch_list .fv_catch_growth {
  background-image: url("../img/fv_catch_list_bg01.webp");
}
@media screen and (max-width: 767px) {
  .fv .fv_text .fv_catch_list .fv_catch_growth {
    background-image: url("../img/fv_catch_list_bg01_sp.webp");
  }
}
.fv .fv_text .fv_catch_list .fv_catch_growth strong {
  color: #e97a8c;
}
.fv .fv_text .fv_catch_list .fv_catch_beauty {
  background-image: url("../img/fv_catch_list_bg02.webp");
}
@media screen and (max-width: 767px) {
  .fv .fv_text .fv_catch_list .fv_catch_beauty {
    background-image: url("../img/fv_catch_list_bg02_sp.webp");
  }
}
.fv .fv_text .fv_catch_list .fv_catch_beauty strong {
  color: #0071bc;
}
.fv .fv_text .fv_catch_list .fv_catch_parking {
  background-image: url("../img/fv_catch_list_bg03.webp");
}
@media screen and (max-width: 767px) {
  .fv .fv_text .fv_catch_list .fv_catch_parking {
    background-image: url("../img/fv_catch_list_bg03_sp.webp");
  }
}
.fv .fv_text .fv_catch_list .fv_catch_parking strong {
  color: #505050;
}
.fv .fv_text .fv_catch_list .fv_catch_parking span {
  color: #f5b400;
}

.page_nav {
  position: relative;
  width: 100%;
  background: #e97a8c;
  box-shadow: 0 4px 10px rgba(79, 79, 79, 0.08);
}
@media screen and (max-width: 767px) {
  .page_nav {
    display: none;
  }
}
.page_nav .page_nav_list {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
}
@media screen and (max-width: 1439px) {
  .page_nav .page_nav_list {
    padding: max(10px, 10px + 10 * (100vw - 768px) / 671) 0;
  }
}
@media screen and (max-width: 767px) {
  .page_nav .page_nav_list {
    display: block;
    min-height: 0;
  }
}
.page_nav .page_nav_list li {
  display: flex;
  align-items: center;
}
.page_nav .page_nav_list li + li::before {
  content: "";
  display: block;
  width: 1px;
  height: 29px;
  margin: 0 24px;
  background: repeating-linear-gradient(to bottom, #fff 0, #fff 5px, transparent 5px, transparent 8px);
}
@media screen and (max-width: 1439px) {
  .page_nav .page_nav_list li + li::before {
    margin: 0 max(10px, 10px + 14 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  .page_nav .page_nav_list li + li::before {
    display: none;
  }
}
.page_nav .page_nav_list a {
  color: #f8f3f1;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1.28px;
  text-decoration: none;
}
@media screen and (max-width: 1024px) {
  .page_nav .page_nav_list a {
    font-size: max(12px, 12px + 4 * (100vw - 768px) / 671);
  }
}

main.kids_orthodontics_lp {
  background: #f8f5f0;
  overflow: hidden;
}

section.kiban {
  position: relative;
  overflow: hidden;
}
section.kiban .kiban_intro {
  position: relative;
  padding: 0 0 112px;
  text-align: center;
  max-width: 1440px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_intro {
    padding-bottom: 198px;
  }
}
section.kiban .kiban_intro .kiban_intro_img {
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
section.kiban .kiban_intro .kiban_intro_img img {
  width: 100%;
}
section.kiban .kiban_intro .kiban_intro_left {
  top: 12px;
  left: -79px;
  width: 451px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_intro .kiban_intro_left {
    left: max(-102px, -102px + 23 * (100vw - 390px) / 1049);
    width: max(225px, 225px + 226 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_intro .kiban_intro_left {
    top: 426px;
    left: -101px;
    width: 225px;
  }
}
section.kiban .kiban_intro .kiban_intro_right {
  top: 79px;
  right: -121px;
  width: 435px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_intro .kiban_intro_right {
    top: max(44px, 44px + 35 * (100vw - 390px) / 1049);
    right: max(-93px, -121px + 28 * (100vw - 390px) / 1049);
    width: max(225px, 225px + 210 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_intro .kiban_intro_right {
    top: 345px;
    right: -93px;
    width: 225px;
  }
}
section.kiban .kiban_intro .kiban_intro_lead {
  margin-bottom: 16px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_intro .kiban_intro_lead {
    margin-bottom: max(5px, 5px + 11 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_intro .kiban_intro_words {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_intro .kiban_intro_words {
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_intro .kiban_intro_words span {
  position: relative;
  display: grid;
  place-items: center;
  width: 250px;
  height: 210px;
  background: url("../img/sign_shape_pink.webp") center/contain no-repeat;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.16em;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_intro .kiban_intro_words span {
    width: max(160px, 160px + 90 * (100vw - 390px) / 1049);
    height: max(130px, 130px + 80 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_intro .kiban_intro_words span {
    background: url(../img/sign_shape_pink_sp.webp) center/contain no-repeat;
  }
}
section.kiban .kiban_intro .kiban_intro_words span:last-child {
  background-image: url("../img/sign_shape_blue.webp");
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_intro .kiban_intro_words span:last-child {
    background-image: url("../img/sign_shape_blue_sp.webp");
  }
}
section.kiban .kiban_intro .kiban_intro_words em {
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_intro .kiban_intro_words em {
    font-size: max(28.88px, 28.88px + 11.12 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_intro .kiban_intro_title {
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 2.046;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_intro .kiban_intro_title {
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_intro .kiban_intro_title {
    line-height: 1.5;
  }
}
section.kiban .kiban_intro .kiban_intro_title::first-line {
  color: #505050;
}
section.kiban .kiban_intro .kiban_intro_title span {
  color: #e97a8c;
}
section.kiban .kiban_intro .kiban_intro_title em {
  color: #62c8c4;
  font-style: normal;
}
section.kiban .kiban_intro .kiban_intro_text {
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_intro .kiban_intro_text {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign {
  position: relative;
  padding: 0 0 60px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign {
    padding-bottom: max(50px, 50px + 10 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .inner {
  position: relative;
  z-index: 0;
}
section.kiban .kiban_sign .kiban_sign_bg {
  position: absolute;
  z-index: -1;
  top: 33px;
  bottom: 0;
  left: 50%;
  display: flex;
  flex-direction: column;
  transform: translateX(-50%);
  width: 100vw;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_bg {
    top: 13px;
  }
}
section.kiban .kiban_sign .kiban_sign_bg picture {
  display: block;
  flex-shrink: 0;
  max-height: 300px;
}
section.kiban .kiban_sign .kiban_sign_bg .kiban_sign_bg_body {
  flex: 1;
  background: #fff;
}
section.kiban .kiban_sign .kiban_sign_bg img {
  display: block;
  width: 100%;
  height: 100%;
}
section.kiban .kiban_sign .kiban_sign_title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 90px;
  margin: 0 auto;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-size: 40px;
  font-weight: 400;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_title {
    min-height: max(45px, 45px + 45 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_title span {
  display: grid;
  place-items: center;
  width: 90px;
  height: 90px;
  margin-left: -20px;
  border-radius: 999px;
  background: #e97a8c;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_title span {
    width: max(45px, 45px + 45 * (100vw - 390px) / 1049);
    height: max(45px, 45px + 45 * (100vw - 390px) / 1049);
    margin-left: max(-20px, -9px + -11 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_title span:first-child {
  margin-left: 0;
}
section.kiban .kiban_sign .kiban_sign_heading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  margin-top: 24px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_heading {
    gap: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    margin-top: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_heading picture,
section.kiban .kiban_sign .kiban_sign_heading > img {
  width: 56px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_heading picture,
  section.kiban .kiban_sign .kiban_sign_heading > img {
    width: max(24px, 24px + 32 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_heading p {
  color: #505050;
  font-family: "Kaisei Opti", serif;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 6px;
  line-height: 1.4;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_heading p {
    font-size: max(24px, 24px + 16 * (100vw - 390px) / 1049);
    letter-spacing: max(3.6px, 3.6px + 2.4 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_copy {
  margin-top: 43px;
  color: #505050;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 1.6px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_copy {
    margin-top: max(14px, 14px + 29 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
    letter-spacing: max(1.2px, 1.2px + 0.4 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_copy strong {
  position: relative;
  z-index: 0;
  display: inline-block;
  color: #f6c400;
  font-size: 48px;
  line-height: 1;
  margin-inline: 5px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_copy strong {
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_copy strong::after {
  display: none;
}
section.kiban .kiban_sign .kiban_sign_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  justify-content: space-between;
  gap: 6.5px;
  padding-bottom: 140px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_list {
    padding-bottom: max(64px, 64px + 76 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list {
    grid-template-columns: repeat(2, 170px);
    gap: 0 10px;
    margin-top: 20px;
    max-width: 350px;
    margin-inline: auto;
  }
}
section.kiban .kiban_sign .kiban_sign_list li {
  position: relative;
  min-height: 330px;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li {
    min-height: 218px;
    margin-top: 0;
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(1) .color {
  color: #ed7c84;
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(2) .color {
  color: #68cbc2;
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(3) .color {
  color: #81bb05;
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(4) .color {
  color: #f58a2d;
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(1) {
  margin-top: 42px;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(1) {
    margin-top: 0;
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(1) .kiban_sign_cloud {
  background-image: url("../img/sign_cloud_01.webp");
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(1) .kiban_sign_cloud {
    background-image: url("../img/sign_cloud_01_sp.webp");
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(1) .kiban_sign_cloud p {
  margin-top: -5px;
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(1) picture {
  width: 160px;
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(1) picture {
    width: 100px;
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(2), section.kiban .kiban_sign .kiban_sign_list li:nth-child(3) {
  margin-top: 78px;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(2) {
    margin-top: 36px;
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(2) .kiban_sign_cloud {
  min-height: 202px;
  background-image: url("../img/sign_cloud_02.webp");
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(2) .kiban_sign_cloud {
    min-height: 127px;
    background-image: url("../img/sign_cloud_02_sp.webp");
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(2) picture {
  width: 93px;
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(2) picture {
    width: 58px;
    margin-top: -30px;
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(3) {
    margin-top: -40px;
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(3) .kiban_sign_cloud {
  min-height: 226px;
  background-image: url("../img/sign_cloud_03.webp");
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(3) .kiban_sign_cloud {
    min-height: 142px;
    background-image: url("../img/sign_cloud_03_sp.webp");
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(3) picture {
  width: 87px;
  left: -30px;
  margin-top: -50px;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(3) picture {
    width: 55px;
    left: 0;
    margin-top: -30px;
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(3) .age {
  margin-left: -62px;
  margin-top: 11px;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(3) .age {
    margin-left: 0;
    margin-top: 2px;
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(4) {
    margin-top: 18px;
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(4) .kiban_sign_cloud {
  background-image: url("../img/sign_cloud_04.webp");
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(4) .kiban_sign_cloud {
    min-height: 120px;
    background-image: url("../img/sign_cloud_04_sp.webp");
  }
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(4) .kiban_sign_cloud p {
  margin-left: 3px;
}
section.kiban .kiban_sign .kiban_sign_list li:nth-child(4) picture {
  width: 177px;
  margin-top: -40px;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li:nth-child(4) picture {
    width: 111px;
    margin-top: -27px;
  }
}
section.kiban .kiban_sign .kiban_sign_list li .kiban_sign_cloud {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 270px;
  min-height: 190px;
  padding: 26px 26px 30px;
  background: center/contain no-repeat;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_list li .kiban_sign_cloud {
    padding: max(13px, 13px + 13 * (100vw - 768px) / 671) max(13px, 13px + 13 * (100vw - 768px) / 671) max(15px, 15px + 15 * (100vw - 768px) / 671);
    width: max(165px, 165px + 105 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 1024px) {
  section.kiban .kiban_sign .kiban_sign_list li .kiban_sign_cloud {
    margin: 0 auto;
    width: auto;
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li .kiban_sign_cloud {
    width: 170px;
    min-height: 142px;
    padding: 22px 5px 24px;
  }
}
section.kiban .kiban_sign .kiban_sign_list li .kiban_sign_cloud p {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.4;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_list li .kiban_sign_cloud p {
    font-size: max(10px, 10px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_sign .kiban_sign_list li .kiban_sign_cloud p {
    font-size: max(10px, 10px + 4 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_list li .kiban_sign_cloud p + p {
  margin-top: 10px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_list li .kiban_sign_cloud p + p {
    margin-top: max(5px, 5px + 5 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_list li picture {
  position: relative;
  z-index: 2;
  display: block;
  margin-inline: auto;
}
section.kiban .kiban_sign .kiban_sign_list li picture img {
  width: 100%;
}
section.kiban .kiban_sign .kiban_sign_list .age {
  font-size: 16px;
  font-weight: bold;
  font-family: "Zen Maru Gothic", sans-serif;
  text-align: center;
  margin-top: 10px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_list .age {
    margin-top: max(5px, 5px + 5 * (100vw - 390px) / 1049);
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_sign .kiban_sign_list .age span.number {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_sign .kiban_sign_list .age span.number {
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .inner {
  position: relative;
  z-index: 0;
}
section.kiban .kiban_causes .kiban_causes_wrap {
  padding: 110px;
  border-radius: 80px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_wrap {
    padding: max(55px, 55px + 55 * (100vw - 390px) / 1049) max(35px, 35px + 75 * (100vw - 390px) / 1049) max(70px, 70px + 40 * (100vw - 390px) / 1049);
    border-radius: max(21.14px, 21.14px + 58.86 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_wrap::before {
  content: "";
  position: absolute;
  inset: 30px;
  background: white;
  z-index: -1;
  border-radius: 80px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_wrap::before {
    inset: max(15px, 15px + 15 * (100vw - 390px) / 1049);
    border-radius: max(21.14px, 21.14px + 58.86 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_wrap .kiban_causes_bg {
  position: absolute;
  z-index: -2;
  inset: 0;
}
section.kiban .kiban_causes .kiban_causes_wrap .kiban_causes_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
section.kiban .kiban_causes .kiban_causes_wrap .causes_rainbow_bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 30px;
  z-index: -1;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_wrap .causes_rainbow_bg {
    padding: max(15px, 15px + 15 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_wrap .causes_rainbow_bg img {
  width: 100%;
  height: 100%;
  border-radius: 80px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_wrap .causes_rainbow_bg img {
    border-radius: max(21.14px, 21.14px + 58.86 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_title {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 10px;
  color: #505050;
  font-family: "Kaisei Opti", serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.15em;
  margin-top: 10px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_title {
    gap: max(4px, 4px + 6 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_title {
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_title span {
    padding-bottom: 10px;
  }
}
section.kiban .kiban_causes .kiban_tooth_num {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90px;
  height: 82px;
  color: #e97a8c;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_tooth_num {
    width: max(64px, 64px + 26 * (100vw - 390px) / 1049);
    height: max(65px, 65px + 17 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_tooth_num i {
  position: absolute;
  inset: 0;
  background: currentColor;
  -webkit-mask: url("../img/icon_tooth.svg") center/contain no-repeat;
  mask: url("../img/icon_tooth.svg") center/contain no-repeat;
}
section.kiban .kiban_causes .kiban_tooth_num strong,
section.kiban .kiban_causes .kiban_tooth_num small {
  position: relative;
  z-index: 1;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-family: "Kaisei Opti", serif;
}
section.kiban .kiban_causes .kiban_tooth_num strong {
  font-size: 48px;
  line-height: 70px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_tooth_num strong {
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_tooth_num small {
  font-size: 24px;
  line-height: 35px;
  margin-left: -15px;
  padding-bottom: 10px;
  align-self: flex-end;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_tooth_num small {
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
    padding-bottom: max(8px, 8px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_tooth_num small {
    padding-bottom: 5px;
    margin-left: -5px;
  }
}
section.kiban .kiban_causes .kiban_tooth_num::after {
  content: "";
  position: absolute;
  right: -5px;
  top: -10px;
  background: url("../img/accent_line.png") no-repeat center/contain;
  width: 26.5px;
  height: auto;
  aspect-ratio: 26.5/16.5;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_tooth_num::after {
    right: max(-2px, -2px + -3 * (100vw - 390px) / 1049);
    top: max(-8px, -8px + -2 * (100vw - 390px) / 1049);
    width: max(14.87px, 14.87px + 11.63 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_question {
  display: grid;
  place-items: center;
  width: 525px;
  margin-inline: auto;
  height: 245px;
  margin-top: 24px;
  background: url("../img/causes_question_bg.webp") center/contain no-repeat;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_question {
    width: max(280px, 280px + 245 * (100vw - 390px) / 1049);
    height: max(149px, 149px + 96 * (100vw - 390px) / 1049);
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_question {
    background-image: url("../img/causes_question_bg_sp.png");
  }
}
section.kiban .kiban_causes .kiban_causes_question p {
  padding-bottom: 16px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_question p {
    padding-bottom: max(8px, 8px + 8 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_question p {
    letter-spacing: 0.05em;
  }
}
section.kiban .kiban_causes .kiban_causes_question p .lg {
  font-size: 32px;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_question p .lg {
    font-size: max(24px, 24px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_question p .lg {
    letter-spacing: 0.05em;
  }
}
section.kiban .kiban_causes .kiban_causes_question .causes_question_left {
  position: absolute;
  width: 105px;
  aspect-ratio: 105/94;
  height: auto;
  left: -75px;
  top: 73px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_question .causes_question_left {
    left: min(0px, 0px + -75 * (100vw - 390px) / 1049);
    top: max(76px, 76px + -3 * (100vw - 390px) / 1049);
    width: max(42.5px, 42.5px + 62.5 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_question .causes_question_right {
  position: absolute;
  width: 109.5px;
  aspect-ratio: 109.5/118;
  height: auto;
  right: -76px;
  top: 46px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_question .causes_question_right {
    right: min(0px, 0px + -76 * (100vw - 390px) / 1049);
    top: max(73px, 73px + -27 * (100vw - 390px) / 1049);
    width: max(34px, 34px + 75.5 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_text {
  margin-top: 24px;
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.15em;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_text {
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_text {
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
section.kiban .kiban_causes .kiban_causes_list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  justify-content: center;
  gap: 40px 45px;
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_list {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049) max(20px, 20px + 25 * (100vw - 390px) / 1049);
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
}
section.kiban .kiban_causes .kiban_causes_list li:nth-of-type(1) {
  grid-column: 1/3;
}
section.kiban .kiban_causes .kiban_causes_list li:nth-of-type(2) {
  grid-column: 3/5;
}
section.kiban .kiban_causes .kiban_causes_list li:nth-of-type(3) {
  grid-column: 5/7;
}
section.kiban .kiban_causes .kiban_causes_list li:nth-of-type(4) {
  grid-column: 2/4;
}
section.kiban .kiban_causes .kiban_causes_list li:nth-of-type(5) {
  grid-column: 4/6;
}
section.kiban .kiban_causes .kiban_causes_list li {
  position: relative;
  justify-self: center;
  width: 260px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_list li {
    width: max(130px, 130px + 130 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_list li:nth-child(1) .tooth_icon {
  color: #f58a2d;
}
section.kiban .kiban_causes .kiban_causes_list li:nth-child(2) .tooth_icon {
  color: #68cbc2;
}
section.kiban .kiban_causes .kiban_causes_list li:nth-child(3) .tooth_icon {
  color: #81bb05;
}
section.kiban .kiban_causes .kiban_causes_list li:nth-child(4) .tooth_icon {
  color: #0067ac;
}
section.kiban .kiban_causes .kiban_causes_list li:nth-child(5) .tooth_icon {
  color: #eebf00;
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_list li:nth-child(1), section.kiban .kiban_causes .kiban_causes_list li:nth-child(2), section.kiban .kiban_causes .kiban_causes_list li:nth-child(3), section.kiban .kiban_causes .kiban_causes_list li:nth-child(4) {
    grid-column: auto;
    justify-self: auto;
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_list li:nth-child(5) {
    grid-column: 1/3;
    justify-self: auto;
    margin: 0 auto;
    margin-top: -14px;
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_list li:nth-child(1), section.kiban .kiban_causes .kiban_causes_list li:nth-child(3) {
    justify-self: flex-end;
  }
}
section.kiban .kiban_causes .kiban_causes_list picture {
  display: block;
}
section.kiban .kiban_causes .kiban_causes_list img {
  width: 100%;
}
section.kiban .kiban_causes .kiban_causes_list .tooth_icon {
  position: absolute;
  top: -5px;
  left: -6px;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 90px;
  height: 82px;
  color: #f08a2d;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_list .tooth_icon {
    top: max(0px, 0px + -13 * (100vw - 390px) / 1049);
    left: max(0px, 0px + -6 * (100vw - 390px) / 1049);
    width: max(45px, 45px + 45 * (100vw - 390px) / 1049);
    height: max(41px, 41px + 41 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_list .tooth_icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: currentColor;
  -webkit-mask: url("../img/icon_tooth.svg") center/contain no-repeat;
  mask: url("../img/icon_tooth.svg") center/contain no-repeat;
}
section.kiban .kiban_causes .kiban_causes_list .tooth_icon span {
  position: relative;
  z-index: 1;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_list .tooth_icon span {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.kiban .kiban_causes .kiban_causes_list p {
  margin-top: 16px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.5;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 1439px) {
  section.kiban .kiban_causes .kiban_causes_list p {
    margin-top: max(10px, 10px + 6 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kiban .kiban_causes .kiban_causes_list p {
    letter-spacing: 0;
  }
}

section.focus-up,
section.sports-up {
  position: relative;
  background-color: #fff7f8;
  background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.5) 0 14px, transparent 14px 34px);
}
@media screen and (max-width: 767px) {
  section.focus-up,
  section.sports-up {
    background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.5) 0 10px, transparent 10px 24px);
  }
}
section.focus-up .up_title,
section.sports-up .up_title {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  margin: 0 auto;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-weight: bold;
  line-height: 1;
}
section.focus-up .up_title span,
section.focus-up .up_title small,
section.sports-up .up_title span,
section.sports-up .up_title small {
  display: grid;
  place-items: center;
  width: 150px;
  height: auto;
  aspect-ratio: 1;
  margin-left: -42px;
  border-radius: 50%;
  background: #ed7c84;
  font-size: 72px;
  font-family: "Kaisei Opti", serif;
}
@media screen and (max-width: 1439px) {
  section.focus-up .up_title span,
  section.focus-up .up_title small,
  section.sports-up .up_title span,
  section.sports-up .up_title small {
    width: max(70px, 70px + 80 * (100vw - 390px) / 1049);
    margin-left: min(-15px, -15px + -27 * (100vw - 390px) / 1049);
    font-size: max(40px, 40px + 32 * (100vw - 390px) / 1049);
  }
}
section.focus-up .up_title span:first-child,
section.sports-up .up_title span:first-child {
  margin-left: 0;
}
section.focus-up .up_title small,
section.sports-up .up_title small {
  width: 125px;
  font-size: 64px;
  margin-top: -8px;
  align-self: flex-start;
}
@media screen and (max-width: 1439px) {
  section.focus-up .up_title small,
  section.sports-up .up_title small {
    width: max(60px, 60px + 65 * (100vw - 390px) / 1049);
    margin-top: min(-4px, -4px + -4 * (100vw - 390px) / 1049);
    margin-left: min(-18px, -18px + -24 * (100vw - 390px) / 1049);
    font-size: max(32px, 32px + 32 * (100vw - 390px) / 1049);
  }
}
section.focus-up .up_title small + small,
section.sports-up .up_title small + small {
  margin-top: -16px;
}
@media screen and (max-width: 1439px) {
  section.focus-up .up_title small + small,
  section.sports-up .up_title small + small {
    margin-top: min(-11px, -11px + -5 * (100vw - 390px) / 1049);
  }
}
section.focus-up .up_title img,
section.sports-up .up_title img {
  width: 89px;
  margin-top: 20px;
  margin-left: -32px;
}
@media screen and (max-width: 1439px) {
  section.focus-up .up_title img,
  section.sports-up .up_title img {
    width: max(36px, 36px + 53 * (100vw - 390px) / 1049);
    margin-left: min(-21px, -21px + -11 * (100vw - 390px) / 1049);
  }
}
section.focus-up .up_content,
section.sports-up .up_content {
  display: flex;
  align-items: center;
  gap: 40px;
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.focus-up .up_content,
  section.sports-up .up_content {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.focus-up .up_content,
  section.sports-up .up_content {
    flex-direction: column;
  }
}
section.focus-up .up_text,
section.sports-up .up_text {
  flex: 1;
}
section.focus-up .up_text h3,
section.sports-up .up_text h3 {
  padding: 20px 10px;
  color: #ed7c84;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  position: relative;
}
@media screen and (max-width: 1439px) {
  section.focus-up .up_text h3,
  section.sports-up .up_text h3 {
    padding: max(10px, 10px + 10 * (100vw - 390px) / 1049) 0;
    font-size: max(18px, 18px + 6 * (100vw - 390px) / 1049);
    letter-spacing: max(0.9px, 0.9px + 1.02 * (100vw - 390px) / 1049);
  }
}
section.focus-up .up_text h3::before, section.focus-up .up_text h3::after,
section.sports-up .up_text h3::before,
section.sports-up .up_text h3::after {
  content: "";
  position: absolute;
  display: block;
  width: calc(100% + 20px);
  height: 3px;
  background: repeating-linear-gradient(90deg, #F9C12F 0 6px, transparent 6px 12px);
  left: 50%;
  transform: translateX(-50%);
}
section.focus-up .up_text h3::before,
section.sports-up .up_text h3::before {
  top: 0;
}
section.focus-up .up_text h3::after,
section.sports-up .up_text h3::after {
  bottom: 0;
}
section.focus-up .up_text p,
section.sports-up .up_text p {
  margin-top: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1439px) {
  section.focus-up .up_text p,
  section.sports-up .up_text p {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 0 * (100vw - 390px) / 1049);
  }
}
section.focus-up .flower_img,
section.sports-up .flower_img {
  position: relative;
  flex: 0 0 350px;
  width: 350px;
  aspect-ratio: 1;
  padding: 15px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1439px) {
  section.focus-up .flower_img,
  section.sports-up .flower_img {
    flex-basis: max(280px, 280px + 70 * (100vw - 390px) / 1049);
    width: max(280px, 280px + 70 * (100vw - 390px) / 1049);
    padding: max(12px, 12px + 3 * (100vw - 390px) / 1049);
  }
}
section.focus-up .flower_img img,
section.sports-up .flower_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-mask: url("../img/flower-clip.svg") center/contain no-repeat;
  mask: url("../img/flower-clip.svg") center/contain no-repeat;
}
section.focus-up .flower_img_pink,
section.sports-up .flower_img_pink {
  background-image: url("../img/flower_bg01.webp");
}
section.focus-up .flower_img_blue,
section.sports-up .flower_img_blue {
  background-image: url("../img/flower_bg02.webp");
}

section.focus-up {
  margin-top: 128px;
  padding-bottom: 190px;
}
@media screen and (max-width: 767px) {
  section.focus-up {
    margin-top: 75px;
    padding-bottom: 82px;
  }
}
section.focus-up::before, section.focus-up::after {
  content: "";
  position: absolute;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 38px;
  background-color: #fff7f8;
  background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.58) 0 14px, transparent 14px 34px);
  background-size: auto;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.focus-up::before, section.focus-up::after {
    background-image: repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.58) 0 10px, transparent 10px 24px);
  }
}
section.focus-up::before {
  top: -37px;
  -webkit-mask: url("../img/section_wave_pink_top.svg") center top/1440px 38px repeat-x;
  mask: url("../img/section_wave_pink_top.svg") center top/1440px 38px repeat-x;
}
section.focus-up::after {
  bottom: -37px;
  -webkit-mask: url("../img/section_wave_pink_bottom.svg") center bottom/1440px 38px repeat-x;
  mask: url("../img/section_wave_pink_bottom.svg") center bottom/1440px 38px repeat-x;
}
section.focus-up .inner {
  transform: translateY(-115px);
  position: relative;
  z-index: 1;
  margin-bottom: -145px;
}
@media screen and (max-width: 1439px) {
  section.focus-up .inner {
    transform: translateY(min(-58px, -58px + -57 * (100vw - 390px) / 1049));
    margin-bottom: min(-73px, -73px + -72 * (100vw - 390px) / 1049);
  }
}
section.focus-up .inner .up_title {
  padding-left: 57px;
}
@media screen and (max-width: 767px) {
  section.focus-up .inner .up_title {
    padding-left: 0;
  }
}
section.focus-up .focus-up_compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
  margin-top: 60px;
  padding: 60px;
  border-radius: 40px;
  background: #fff;
}
@media screen and (max-width: 1439px) {
  section.focus-up .focus-up_compare {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
    padding: max(20px, 20px + 40 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.focus-up .focus-up_compare {
    grid-template-columns: 1fr;
  }
}
section.focus-up .focus-up_compare > div {
  min-width: 0;
}
section.focus-up .focus-up_compare > div img {
  width: 100%;
  aspect-ratio: 470/280;
  object-fit: cover;
  border-radius: 30px;
  background: #fafafa;
}
@media screen and (max-width: 1439px) {
  section.focus-up .focus-up_compare > div img {
    border-radius: max(20px, 20px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.focus-up .focus-up_compare > div img {
    aspect-ratio: 310/190;
    border-radius: 15px;
  }
}
section.focus-up .focus-up_compare > div p {
  margin-top: 24px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.09em;
}
@media screen and (max-width: 1439px) {
  section.focus-up .focus-up_compare > div p {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.focus-up .focus-up_note {
  grid-column: 1/3;
  padding: 30px;
  border-radius: 30px;
  background: #ffed9d;
  letter-spacing: 0.09em;
}
@media screen and (max-width: 1439px) {
  section.focus-up .focus-up_note {
    border-radius: max(20px, 20px + 10 * (100vw - 390px) / 1049);
    padding: max(20px, 20px + 10 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.focus-up .focus-up_note {
    grid-column: auto;
  }
}

section.sports-up {
  background-color: #f0f9ff;
  padding-bottom: 40px;
}
@media screen and (max-width: 1439px) {
  section.sports-up {
    padding-bottom: min(50px, 50px + -10 * (100vw - 390px) / 1049);
  }
}
section.sports-up .inner {
  transform: translateY(-60px);
  z-index: 2;
}
@media screen and (max-width: 1439px) {
  section.sports-up .inner {
    transform: translateY(min(-1px, -1px + -59 * (100vw - 390px) / 1049));
  }
}
section.sports-up .inner .up_title {
  padding-left: 57px;
}
@media screen and (max-width: 767px) {
  section.sports-up .inner .up_title {
    padding-left: 0;
  }
}
section.sports-up .sports-up_title span,
section.sports-up .sports-up_title small {
  background: #0067ac;
}
section.sports-up .sports-up_visual {
  position: relative;
  flex: 0 0 350px;
  margin-top: 82.5px;
}
@media screen and (max-width: 1439px) {
  section.sports-up .sports-up_visual {
    flex-basis: max(280px, 280px + 70 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.sports-up .sports-up_visual {
    flex-basis: auto;
    width: 100%;
    margin-top: 0;
  }
}
section.sports-up .sports-up_visual > img {
  width: 270px;
  margin-top: -57px;
  margin-left: auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1439px) {
  section.sports-up .sports-up_visual > img {
    width: max(230px, 230px + 40 * (100vw - 390px) / 1049);
    margin-top: max(-68px, -68px + 11 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.sports-up .sports-up_visual .flower_img {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  section.sports-up .sports-up_breathing {
    flex-direction: column-reverse;
  }
}
section.sports-up .sports-up_breathing .flower_img {
  margin-left: -10px;
}
@media screen and (max-width: 767px) {
  section.sports-up .sports-up_breathing .flower_img {
    margin: 0 auto;
  }
}
section.sports-up .sports-up_breathing .up_text h3 {
  color: #0067ac;
}
section.sports-up .sports-up_content {
  margin-top: 20px;
}
section.sports-up .sports-up_content .up_text h3 {
  color: #0067ac;
}

section.kids-orth {
  padding-bottom: 160px;
}
@media screen and (max-width: 1439px) {
  section.kids-orth {
    padding-bottom: max(80px, 80px + 80 * (100vw - 390px) / 1049);
  }
}
section.kids-orth .kids-orth_title {
  position: relative;
  height: 290px;
  background: url("../img/kids-orth_title_bg.webp") center/100% 100% no-repeat;
  display: flex;
  justify-content: center;
  padding-top: 96px;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_title {
    height: max(174px, 174px + 116 * (100vw - 390px) / 1049);
    padding-top: max(40px, 40px + 56 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_title {
    background-image: url("../img/kids-orth_title_bg_sp.webp");
  }
}
section.kids-orth .kids-orth_title::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background: url("../img/kids-orth_title_img.webp") right calc(50% - 490px) bottom -42px/192px auto no-repeat, url("../img/kids-orth_title_bg_circle.webp") center/1440px 290px repeat-x;
  -webkit-mask: url("../img/kids-orth_title_bg.webp") center/100% 100% no-repeat;
  mask: url("../img/kids-orth_title_bg.webp") center/100% 100% no-repeat;
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_title::before {
    background-size: 100px auto;
    background-position: right 0 bottom -17px;
    -webkit-mask-image: url("../img/kids-orth_title_bg_sp.webp");
    mask-image: url("../img/kids-orth_title_bg_sp.webp");
  }
}
section.kids-orth .kids-orth_title::after {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 20px 20px 27px;
  background: url("../img/kids-orth_title_border.png") center/100% 100% no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_title::after {
    inset: 10px 10px 12px 9px;
    background-image: url("../img/kids-orth_title_border_sp.png");
  }
}
section.kids-orth .kids-orth_title h2 {
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  width: fit-content;
  position: relative;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_title h2 {
    font-size: max(25px, 25px + 23 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_title h2 {
    text-align: center;
  }
}
section.kids-orth .kids-orth_title h2 img:first-child {
  position: absolute;
  left: -8px;
  top: -10px;
  width: 101px;
  transform: translateX(-100%);
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_title h2 img:first-child {
    width: max(50px, 50px + 51 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_title h2 img:first-child {
    left: -2px;
    top: 10px;
  }
}
section.kids-orth .kids-orth_title h2 img:last-child {
  position: absolute;
  top: -40px;
  right: -12px;
  transform: translateX(100%);
  z-index: 2;
  width: 192px;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_title h2 img:last-child {
    top: max(18px, 18px + 31 * (100vw - 390px) / 1049);
    width: max(96px, 96px + 96 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_title h2 img:last-child {
    top: 8px;
    right: 13px;
    width: 100px;
  }
}
section.kids-orth .kids-orth_title h2 img:last-child img {
  width: 100%;
}
section.kids-orth .kids-orth_lead {
  margin-top: 40px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_lead {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.kids-orth .kids-orth_lead p {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_lead p {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
section.kids-orth .kids-orth_lead p + p {
  margin-top: 24px;
  font-size: 20px;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_lead p + p {
    margin-top: max(10px, 10px + 14 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
section.kids-orth .kids-orth_lead strong {
  color: #eebf00;
}
section.kids-orth .kids-orth_list {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_list {
    gap: max(15px, 15px + 15 * (100vw - 390px) / 1049);
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_list {
    max-width: 500px;
    margin-inline: auto;
  }
}
section.kids-orth .kids-orth_list .kids-orth_item {
  display: grid;
  grid-template-columns: 400px 1fr;
  overflow: hidden;
  border: 5px solid;
  border-radius: 40px;
  background: #fff;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_list .kids-orth_item {
    grid-template-columns: max(200px, 200px + 200 * (100vw - 768px) / 671) 1fr;
    border-radius: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_list .kids-orth_item {
    grid-template-columns: 1fr;
  }
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_green {
  border-color: #68cbc2;
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_green .kids-orth_stage {
  background-image: url("../img/kids-orth_list01_bg.webp");
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_green .kids-orth_detail strong {
  color: #68cbc2;
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_yellow {
  border-color: #eebf00;
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_yellow .kids-orth_stage {
  background-image: url("../img/kids-orth_list02_bg.webp");
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_yellow .kids-orth_detail strong {
  color: #eebf00;
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_yellow .kids-orth_detail ul p::before {
  background-image: url("../img/kids-orth_list_check_yellow.svg");
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_pink {
  border-color: #e97a8c;
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_pink .kids-orth_stage {
  background-image: url("../img/kids-orth_list03_bg.webp");
}
section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_pink .kids-orth_detail strong {
  color: #e97a8c;
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_yellow, section.kids-orth .kids-orth_list .kids-orth_item.kids-orth_item_pink {
    min-height: 0;
  }
}
section.kids-orth .kids-orth_stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  background-position: center;
  background-size: cover;
  padding: 40px;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_stage {
    padding: max(20px, 20px + 20 * (100vw - 768px) / 671) max(15px, 15px + 25 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_stage {
    background-position: center;
    justify-content: flex-start;
    height: 188px;
    padding: 30px 20px 0;
  }
}
section.kids-orth .kids-orth_stage h3 {
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_stage h3 {
    font-size: max(18px, 18px + 14 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_stage h3 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.kids-orth .kids-orth_stage p {
  margin-top: 24px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_stage p {
    font-size: max(16px, 16px + 8 * (100vw - 768px) / 671);
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_stage p {
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
    line-height: 1.8;
    letter-spacing: 0.08em;
  }
}
section.kids-orth .kids-orth_detail {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 40px 65px;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_detail {
    padding: max(20px, 20px + 20 * (100vw - 768px) / 671) max(20px, 20px + 45 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_detail {
    padding: max(20px, 20px + 20 * (100vw - 390px) / 1049) max(10px, 10px + 55 * (100vw - 390px) / 1049);
  }
}
section.kids-orth .kids-orth_detail > p {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_detail > p {
    font-size: max(16px, 16px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_detail > p {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
section.kids-orth .kids-orth_detail ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  gap: 40px;
  margin-top: 24px;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_detail ul {
    gap: max(20px, 20px + 20 * (100vw - 768px) / 671);
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_detail ul {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    grid-template-columns: repeat(2, 145px);
  }
}
section.kids-orth .kids-orth_detail ul li > img {
  width: 160px;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_detail ul li > img {
    width: 145px;
  }
}
section.kids-orth .kids-orth_detail ul p {
  position: relative;
  margin-top: 10px;
  padding-left: 35px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.45;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_detail ul p {
    font-size: max(13px, 13px + 3 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_detail ul p {
    margin-top: 10px;
    padding-left: 30px;
    letter-spacing: 0.08em;
  }
}
section.kids-orth .kids-orth_detail ul p::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 25px;
  height: 25px;
  background: url("../img/kids-orth_list_check.svg") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_detail ul p::before {
    width: 20px;
    height: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_detail ul li:nth-child(3) {
    grid-column: 1/3;
    width: 145px;
    margin: 0 auto;
  }
}
section.kids-orth .kids-orth_item_pink .kids-orth_detail {
  flex-direction: row;
  justify-content: space-between;
  padding: 24px 50px 24px 35px;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_item_pink .kids-orth_detail {
    padding: max(20px, 20px + 4 * (100vw - 768px) / 671) max(20px, 20px + 30 * (100vw - 768px) / 671) max(20px, 20px + 4 * (100vw - 768px) / 671) max(20px, 20px + 15 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_item_pink .kids-orth_detail {
    flex-direction: column;
    justify-content: flex-start;
    min-height: 406px;
    padding: 20px 15px 20px;
  }
}
section.kids-orth .kids-orth_item_pink .kids-orth_detail > p {
  width: 400px;
  text-align: left;
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_item_pink .kids-orth_detail > p {
    width: auto;
    text-align: center;
  }
}
section.kids-orth .kids-orth_item_pink .kids-orth_detail > img {
  width: 180px;
  border-radius: 50%;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_item_pink .kids-orth_detail > img {
    width: max(140px, 140px + 40 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_item_pink .kids-orth_detail > img {
    width: 240px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_item_pink .kids-orth_stage {
    height: 188px;
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_item_pink .kids-orth_stage p {
    margin-top: 12px;
  }
}
section.kids-orth .kids-orth_note {
  margin-top: 60px;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.kids-orth .kids-orth_note {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-orth .kids-orth_note {
    letter-spacing: 0.08em;
  }
}
section.kids-orth .kids-orth_note span {
  font-weight: bold;
  background: linear-gradient(transparent 72%, #eebf00 72% 94%, transparent 94%);
}

section.treatment-type {
  position: relative;
  font-family: "Zen Maru Gothic", sans-serif;
  z-index: 0;
  background: #fff;
  border-radius: 60px 60px 0 0;
}
@media screen and (max-width: 1439px) {
  section.treatment-type {
    border-radius: max(30px, 30px + 30 * (100vw - 390px) / 1049) max(30px, 30px + 30 * (100vw - 390px) / 1049) 0 0;
  }
}
section.treatment-type .treatment-type_intro {
  position: relative;
  z-index: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 180px;
  border-radius: 60px 60px 0 0;
  background-color: #eebf00;
  background-image: url("../img/circle_dot_bg.webp");
  background-position: center;
  background-size: cover;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_intro {
    padding-bottom: max(110px, 110px + 70 * (100vw - 390px) / 1049);
    border-radius: max(30px, 30px + 30 * (100vw - 390px) / 1049) max(30px, 30px + 30 * (100vw - 390px) / 1049) 0 0;
    padding-top: max(30px, 30px + 70 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_intro h2 {
  position: relative;
  z-index: 2;
  font-family: "Kaisei Opti", serif;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_intro h2 {
    font-size: max(24px, 24px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_intro h2 {
    line-height: 1.58;
  }
}
section.treatment-type .treatment-type_title_img01,
section.treatment-type .treatment-type_title_img02 {
  position: absolute;
  z-index: 3;
  top: -60px;
  width: 194px;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_title_img01,
  section.treatment-type .treatment-type_title_img02 {
    width: max(100px, 100px + 94 * (100vw - 390px) / 1049);
    top: min(-30px, -30px + -30 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_title_img01 {
  left: calc(50% - 484px);
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_title_img01 {
    left: max(20px, 20px + 216 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_title_img02 {
  right: calc(50% - 484px);
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_title_img02 {
    right: max(20px, 20px + 216 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_heading {
  position: relative;
  z-index: 1;
  margin-top: 30px;
  text-align: center;
  position: relative;
  margin-top: -180px;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_heading {
    margin-top: min(-120px, -120px + -60 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_heading {
    z-index: 1;
  }
}
section.treatment-type .treatment-type_heading::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  top: max(-70px, 30px + -100 * (100vw - 1440px) / 1120);
  width: 100%;
  aspect-ratio: 1440/428;
  height: auto;
  background: url("../img/treatment-type_cloud_white.webp") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_heading::before {
    top: 30px;
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_heading::before {
    background: url("../img/treatment-type_cloud_white_sp.webp") center/511px 150px repeat-x;
    aspect-ratio: 511/150;
    left: 50%;
    transform: translateX(-50%);
  }
}
section.treatment-type .treatment-type_heading .treatment-type_title_img03 {
  position: relative;
  z-index: 3;
  width: 160px;
  margin-top: 5px;
  margin-inline: auto;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_heading .treatment-type_title_img03 {
    width: max(80px, 80px + 80 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_heading .treatment-type_heading_small {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.05em;
  margin-top: 30px;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_heading .treatment-type_heading_small {
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
    margin-top: max(25px, 25px + 5 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_heading .treatment-type_heading_small img {
  width: 53px;
  margin-bottom: 10px;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_heading .treatment-type_heading_small img {
    width: max(30px, 30px + 23 * (100vw - 390px) / 1049);
    margin-bottom: max(5px, 5px + 5 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_heading .treatment-type_heading_label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin-top: 16px;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_heading .treatment-type_heading_label {
    font-size: max(16px, 16px + 24 * (100vw - 390px) / 1049);
    margin-top: max(10px, 10px + 6 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_heading .treatment-type_heading_label strong {
  display: grid;
  place-items: center;
  height: 80px;
  padding: 0 30px;
  border-radius: 999px;
  background: #e97a8c;
  color: #fff;
  font-family: "Kaisei Opti", serif;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_heading .treatment-type_heading_label strong {
    height: max(40px, 40px + 40 * (100vw - 390px) / 1049);
    padding: 0 max(15px, 15px + 15 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 16 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_heading .treatment-type_heading_label strong:nth-of-type(2) {
  background: #0067ac;
}
section.treatment-type .treatment-type_heading .treatment-type_heading_label span {
  font-family: "Zen Maru Gothic", sans-serif;
}
section.treatment-type .treatment-type_heading .treatment-type_heading_main {
  margin-top: 10px;
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_heading .treatment-type_heading_main {
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
    margin-top: max(5px, 5px + 5 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_policy {
  position: relative;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-bottom: 170px;
  background: #fff;
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_policy {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_policy {
    margin-bottom: 100px;
    z-index: 0;
    padding: 0 20px;
    gap: 4px;
  }
}
section.treatment-type .treatment-type_policy::before, section.treatment-type .treatment-type_policy::after {
  content: "";
  position: absolute;
  z-index: -1;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  pointer-events: none;
}
section.treatment-type .treatment-type_policy::before {
  top: -92px;
  left: calc(50% - 823px);
  width: 440px;
  height: 376px;
  background-image: url("../img/treatment-type_cloud_pink.webp");
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_policy::before {
    left: min(-96px, -96px + -7 * (100vw - 390px) / 1049);
    width: max(211px, 211px + 229 * (100vw - 390px) / 1049);
    height: max(180px, 180px + 196 * (100vw - 390px) / 1049);
    top: min(40px, 40px + -132 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_policy::after {
  top: -27px;
  transform: translateY(-100%);
  right: calc(50% - 819px);
  width: 340px;
  height: 290px;
  background-image: url("../img/treatment-type_cloud_blue.webp");
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_policy::after {
    right: min(-65px, -65px + -34 * (100vw - 390px) / 1049);
    width: max(161px, 161px + 179 * (100vw - 390px) / 1049);
    height: max(130px, 130px + 160 * (100vw - 390px) / 1049);
    top: min(-18px, -18px + -9 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_policy > img {
  position: relative;
  z-index: 1;
  width: 60px;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_policy > img {
    width: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_policy > img:first-child {
  align-self: flex-start;
}
section.treatment-type .treatment-type_policy > img:last-child {
  align-self: flex-end;
}
section.treatment-type .treatment-type_policy p {
  position: relative;
  z-index: 1;
  width: 793px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.75;
  font-family: "Zen Maru Gothic", sans-serif;
  padding: 25px 0;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_policy p {
    width: max(300px, 300px + 493 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_policy p {
    line-height: 2.2;
  }
}
section.treatment-type .treatment-type_policy strong {
  font-size: 32px;
  line-height: 1.75;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_policy strong {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_policy strong {
    line-height: 1.8;
    letter-spacing: 0;
  }
}
section.treatment-type .treatment-type_pink {
  color: #e97a8c;
}
section.treatment-type .treatment-type_yellow {
  color: #eebf00;
}
section.treatment-type .treatment-type_blue {
  color: #0067ac;
}
section.treatment-type .treatment-type_list {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_list {
    display: block;
    margin-top: 0;
  }
}
section.treatment-type .treatment-type_item {
  position: relative;
  z-index: 1;
  display: block;
  height: 1000px;
  color: #fff;
  cursor: pointer;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_item {
    height: auto;
    padding-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item {
    height: auto;
    padding-top: 30px;
  }
}
section.treatment-type .treatment-type_item::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: repeating-linear-gradient(120deg, rgba(255, 255, 255, 0.13) 0 7.3px, transparent 7.3px 18.3px);
  transition: opacity 0.2s ease;
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item::before {
    background-image: repeating-linear-gradient(120deg, rgba(255, 255, 255, 0.13) 0 5px, transparent 5px 20px);
  }
}
section.treatment-type .treatment-type_item:hover::before {
  opacity: 0.75;
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item:hover::before {
    opacity: 1;
  }
}
section.treatment-type .treatment-type_item h3 {
  position: relative;
  z-index: 2;
  margin-top: 24px;
  color: #fbff22;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_item h3 {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 16 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item h3 {
    font-size: max(32px, 32px + 8 * (100vw - 390px) / 1049);
  }
}
section.treatment-type .treatment-type_item_orange::before {
  background-color: #EF8B36;
}
section.treatment-type .treatment-type_item_orange h3 {
  letter-spacing: 0.08em;
}
section.treatment-type .treatment-type_item_orange .treatment-type_point {
  background: #DE6C0C;
}
section.treatment-type .treatment-type_item_orange .treatment-type_item_title, section.treatment-type .treatment-type_item_orange .treatment-type_item_title p, section.treatment-type .treatment-type_item_orange .treatment-type_arrow {
  color: #EF8B36;
}
section.treatment-type .treatment-type_item_blue::before {
  background-color: #0067ac;
}
section.treatment-type .treatment-type_item_blue .treatment-type_point {
  background: #075991;
}
section.treatment-type .treatment-type_item_blue .treatment-type_item_title, section.treatment-type .treatment-type_item_blue .treatment-type_item_title p, section.treatment-type .treatment-type_item_blue .treatment-type_arrow {
  color: #0067ac;
}
section.treatment-type .treatment-type_item_blue .treatment-type_point01 {
  right: 10px;
  left: auto;
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item_blue .treatment-type_point01 {
    right: 0;
  }
}
section.treatment-type .treatment-type_item_blue .treatment-type_point02 {
  right: auto;
  left: -10px;
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item_blue .treatment-type_point02 {
    left: 0;
    padding-right: 23px;
  }
}
section.treatment-type .treatment-type_item_blue .treatment-type_point03 {
  right: 115px;
  left: auto;
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item_blue .treatment-type_point03 {
    right: 55px;
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item_blue h3 {
    margin-top: 2px;
  }
}
section.treatment-type .treatment-type_item_title {
  position: relative;
  z-index: 3;
  width: 310px;
  height: 110px;
  margin: 60px auto 0;
  padding-top: 17px;
  background: url("../img/treatment-type_list_title_bg.webp") center/contain no-repeat;
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_item_title {
    margin-top: max(0px, 0px + 60 * (100vw - 390px) / 1049);
    width: max(250px, 250px + 60 * (100vw - 768px) / 671);
    height: max(90px, 90px + 20 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item_title {
    width: 280px;
    height: 99px;
    padding-top: 14px;
  }
}
section.treatment-type .treatment-type_item_title p {
  font-size: 20px;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_item_title p {
    font-size: max(16px, 16px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item_title p {
    font-size: 18px;
  }
}
section.treatment-type .treatment-type_item_title strong {
  font-size: 32px;
  letter-spacing: 0.08em;
  line-height: 1.25;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_item_title strong {
    font-size: max(24px, 24px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item_title strong {
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item_blue .treatment-type_item_title {
    margin-top: 44px;
  }
}
section.treatment-type .treatment-type_item_text {
  position: relative;
  z-index: 2;
  margin-top: 24px;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.8;
  color: #fff;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_item_text {
    font-size: max(16px, 16px + 4 * (100vw - 768px) / 671);
    margin-top: max(12px, 12px + 12 * (100vw - 768px) / 671);
  }
}
section.treatment-type .treatment-type_visual {
  position: relative;
  z-index: 2;
  width: 620px;
  height: 495px;
  margin: 3px auto 0;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_visual {
    width: max(350px, 350px + 270 * (100vw - 768px) / 671);
    height: max(305px, 305px + 190 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_visual {
    width: 350px;
    height: 305px;
    margin-top: 4px;
  }
}
section.treatment-type .treatment-type_visual > img {
  position: absolute;
  top: 30px;
  left: 50%;
  width: 340px;
  height: 340px;
  margin-left: 10px;
  margin-top: 10px;
  z-index: 2;
  object-fit: cover;
  transform: translateX(-50%);
  -webkit-mask: url("../img/flower-clip.svg") center/contain no-repeat;
  mask: url("../img/flower-clip.svg") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_visual > img {
    width: max(200px, 200px + 140 * (100vw - 768px) / 671);
    height: max(200px, 200px + 140 * (100vw - 768px) / 671);
    margin-left: max(0px, 0px + 10 * (100vw - 768px) / 671);
    margin-top: max(0px, 0px + 10 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_visual > img {
    top: 30px;
    width: 200px;
    height: 200px;
    margin-left: 0;
    margin-top: 0;
  }
}
section.treatment-type .treatment-type_point {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  color: #fbff22;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.75;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_point {
    width: max(110px, 110px + 70 * (100vw - 768px) / 671);
    height: max(110px, 110px + 70 * (100vw - 768px) / 671);
    font-size: max(12px, 12px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_point {
    width: 110px;
    height: 110px;
    font-size: 12px;
    line-height: 1.4;
  }
}
section.treatment-type .treatment-type_point01 {
  top: 10px;
  left: 10px;
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_point01 {
    top: 0;
    left: 0;
  }
}
section.treatment-type .treatment-type_point02 {
  top: 87px;
  right: -10px;
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_point02 {
    top: 88px;
    right: -2px;
    padding-left: 10px;
  }
}
section.treatment-type .treatment-type_point03 {
  top: 328px;
  left: 117px;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_point03 {
    top: max(195px, 195px + 133 * (100vw - 768px) / 671);
    left: max(55px, 55px + 62 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_point03 {
    top: 195px;
    left: 55px;
  }
}
section.treatment-type .treatment-type_illust {
  position: absolute;
  top: -136px;
  left: 50%;
  width: 320px;
  transform: translateX(-50%);
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_illust {
    width: max(200px, 200px + 120 * (100vw - 390px) / 1049);
    top: min(-79px, -79px + -57 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_illust {
    z-index: 2;
  }
}
section.treatment-type .treatment-type_item_blue .treatment-type_illust {
  width: 287px;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_item_blue .treatment-type_illust {
    width: max(200px, 200px + 87 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_item_blue .treatment-type_illust {
    top: -26px;
    object-fit: cover;
    object-position: top;
  }
}
section.treatment-type .treatment-type_arrow {
  position: absolute;
  right: -88px;
  bottom: -106px;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 238px;
  height: 238px;
  border-radius: 50%;
  background: #fff;
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_arrow {
    right: min(-75px, -75px + -13 * (100vw - 768px) / 671);
    bottom: min(-75px, -75px + -31 * (100vw - 768px) / 671);
    width: max(150px, 150px + 88 * (100vw - 768px) / 671);
    height: max(150px, 150px + 88 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_arrow {
    right: -75px;
    bottom: -75px;
    width: 150px;
    height: 150px;
  }
}
section.treatment-type .treatment-type_arrow::before {
  content: "";
  width: 25px;
  height: 36px;
  background: currentColor;
  mask: url("../img/icon_arrow-right.svg") center/contain no-repeat;
  -webkit-mask: url("../img/icon_arrow-right.svg") center/contain no-repeat;
  transform: translate(-25px, -38px);
}
@media screen and (max-width: 1439px) {
  section.treatment-type .treatment-type_arrow::before {
    width: max(10px, 10px + 15 * (100vw - 768px) / 671);
    height: max(14px, 14px + 22 * (100vw - 768px) / 671);
    transform: translate(max(-22px, -22px + -3 * (100vw - 768px) / 671), max(-22px, -22px + -16 * (100vw - 768px) / 671));
  }
}
@media screen and (max-width: 767px) {
  section.treatment-type .treatment-type_arrow::before {
    width: 10px;
    height: 14px;
    transform: translate(-22px, -22px);
  }
}
section.treatment-type .treatment-type_arrow img {
  display: none;
}

section.purpose {
  padding-bottom: 255px;
  position: relative;
  overflow: hidden;
  color: #505050;
  font-family: "Zen Maru Gothic", sans-serif;
  background-color: #fddf00;
  background-image: repeating-linear-gradient(120deg, rgba(255, 255, 255, 0.2) 0 11.21px, transparent 11.21px 28.21px);
}
@media screen and (max-width: 1439px) {
  section.purpose {
    padding-bottom: max(180px, 180px + 75 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.purpose {
    background-image: repeating-linear-gradient(120deg, rgba(255, 255, 255, 0.27) 0 7px, transparent 7px 22px);
  }
}
section.purpose .purpose_shapes {
  position: absolute;
  top: 0;
  right: calc(50% - 716px);
  width: 380px;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_shapes {
    right: 4px;
    width: max(157px, 157px + 223 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.purpose .purpose_shapes {
    top: -10px;
    right: -10px;
  }
}
section.purpose .purpose_title {
  position: relative;
  z-index: 2;
  width: 750px;
  height: 240px;
  margin-top: 100px;
  padding: 30px;
  border-radius: 30px;
  background: #fff;
  text-align: center;
  margin-inline: auto;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_title {
    width: max(350px, 350px + 400 * (100vw - 390px) / 1049);
    height: max(161px, 161px + 79 * (100vw - 390px) / 1049);
    margin-top: max(50px, 50px + 50 * (100vw - 390px) / 1049);
    padding: max(15px, 15px + 15 * (100vw - 390px) / 1049) max(20px, 20px + 10 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 10 * (100vw - 390px) / 1049);
  }
}
section.purpose .purpose_title::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  width: 69px;
  height: 35px;
  transform: translate(-50%, 100%);
  background: url("../img/purpose_triangle.png") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_title::after {
    width: max(45px, 45px + 24 * (100vw - 390px) / 1049);
    height: max(23px, 23px + 12 * (100vw - 390px) / 1049);
  }
}
section.purpose .purpose_title > p {
  margin-inline: auto;
  display: grid;
  place-items: center;
  width: 580px;
  height: 80px;
  background: url("../img/purpose_title_bg.png") center/100% 100% no-repeat;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.75;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_title > p {
    width: max(310px, 310px + 270 * (100vw - 390px) / 1049);
    height: max(65px, 65px + 15 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.purpose .purpose_title > p {
    top: 15px;
    padding: 0 26px;
    line-height: 1.45;
  }
}
section.purpose .purpose_title h2 {
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.75;
  margin-top: 16px;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_title h2 {
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
    margin-top: max(10px, 10px + 6 * (100vw - 390px) / 1049);
  }
}
section.purpose .purpose_title h2 span {
  color: #ed7c84;
  letter-spacing: 0.15em;
}
section.purpose .purpose_title > img {
  position: absolute;
  bottom: -21px;
  left: -27px;
  width: 112px;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_title > img {
    width: max(56px, 56px + 56 * (100vw - 390px) / 1049);
    bottom: min(-9px, -9px + -12 * (100vw - 390px) / 1049);
    left: min(-8px, -8px + -19 * (100vw - 390px) / 1049);
  }
}
section.purpose .purpose_content {
  position: relative;
  z-index: 2;
  display: grid;
  align-items: center;
  grid-template-columns: 1fr 440px;
  gap: 70px;
  margin-top: 108px;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_content {
    margin-top: max(54px, 54px + 54 * (100vw - 390px) / 1049);
    grid-template-columns: 1fr max(220px, 220px + 220 * (100vw - 390px) / 1049);
    gap: max(35px, 35px + 35 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.purpose .purpose_content {
    grid-template-columns: 1fr;
    gap: 50px;
  }
}
section.purpose .purpose_text h3 {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_text h3 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.purpose .purpose_text h3 {
    letter-spacing: 0.08em;
    line-height: 1.55;
  }
}
section.purpose .purpose_text p {
  margin-top: 24px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2.1;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_text p {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.purpose .purpose_visual {
  position: relative;
}
@media screen and (max-width: 767px) {
  section.purpose .purpose_visual {
    max-width: 500px;
    margin-inline: auto;
  }
}
section.purpose .purpose_visual > picture:first-child img {
  border-radius: 30px;
  object-fit: cover;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_visual > picture:first-child img {
    border-radius: max(20px, 20px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.purpose .purpose_visual > picture:first-child img {
    top: 30px;
  }
}
section.purpose .purpose_visual > img:nth-child(2) {
  position: absolute;
  top: -94px;
  right: 1px;
  width: 180px;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_visual > img:nth-child(2) {
    width: max(90px, 90px + 110 * (100vw - 390px) / 1049);
    top: min(-30px, -30px + -64 * (100vw - 390px) / 1049);
    right: min(11px, 11px + -10 * (100vw - 390px) / 1049);
  }
}
section.purpose .purpose_visual > img:last-child {
  position: absolute;
  bottom: -84px;
  left: -35px;
  width: 248px;
}
@media screen and (max-width: 1439px) {
  section.purpose .purpose_visual > img:last-child {
    width: max(150px, 150px + 98 * (100vw - 390px) / 1049);
    bottom: min(-40px, -40px + -44 * (100vw - 390px) / 1049);
    left: min(-1px, -1px + -34 * (100vw - 390px) / 1049);
  }
}

section.onayami {
  position: relative;
  padding-top: 60px;
  font-family: "Zen Maru Gothic", sans-serif;
  z-index: 0;
}
@media screen and (max-width: 1439px) {
  section.onayami {
    padding-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami {
    padding-top: 17px;
  }
}
section.onayami::before {
  content: "";
  position: absolute;
  top: -140px;
  left: 50%;
  width: 100%;
  height: 442px;
  transform: translateX(-50%);
  background: url("../img/onayami_cloud_gray.webp") center/1549px 442px repeat-x;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.onayami::before {
    top: -103px;
    height: 198px;
    background: url("../img/onayami_cloud_gray_sp.webp") center/contain repeat-x;
  }
}
section.onayami::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 170px;
  transform: translateY(100%);
  background: #f8f5f0;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
@media screen and (max-width: 1439px) {
  section.onayami::after {
    height: max(60px, 60px + 110 * (100vw - 390px) / 1049);
  }
}
section.onayami .onayami_title {
  position: relative;
  z-index: 1;
  text-align: center;
}
section.onayami .onayami_title h2 {
  position: relative;
  margin-top: 24px;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.75;
  font-family: "Zen Maru Gothic", sans-serif;
  width: fit-content;
  margin-inline: auto;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_title h2 {
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
    margin-top: max(18px, 18px + 6 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_title h2 {
    letter-spacing: 0.08em;
  }
}
section.onayami .onayami_title h2::before, section.onayami .onayami_title h2::after {
  content: "";
  position: absolute;
  top: calc(50% + 30px);
  transform: translate(-100%, -50%);
  width: 59.5px;
  height: 83px;
  background: url(../img/dash-line_left.png) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_title h2::before, section.onayami .onayami_title h2::after {
    background-image: url(../img/dash-line_left_sp.png);
    width: 37px;
    height: auto;
    aspect-ratio: 74/101;
    top: calc(50% + 20px);
  }
}
section.onayami .onayami_title h2::before {
  left: 0;
}
section.onayami .onayami_title h2::after {
  right: 0;
  transform: translate(100%, -50%);
  background: url(../img/dash-line_right.png) center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_title h2::after {
    background-image: url(../img/dash-line_right_sp.png);
    width: 37px;
    height: auto;
    aspect-ratio: 74/101;
    top: calc(50% + 20px);
  }
}
section.onayami .onayami_title h2 strong {
  color: #e97a8c;
  font-family: "Kaisei Opti", serif;
  font-size: 64px;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_title h2 strong {
    font-size: max(40px, 40px + 24 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_title h2 strong {
    letter-spacing: 0.08em;
  }
}
section.onayami .onayami_title h2 strong:nth-of-type(2) {
  color: #0067ac;
}
section.onayami .onayami_title h2 span {
  letter-spacing: 0.15em;
  margin: 0 5px;
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_title h2 span {
    margin: 0 2px;
    font-size: 24px;
  }
}
section.onayami .onayami_konna {
  width: 240px;
  margin-inline: auto;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_konna {
    width: max(159px, 159px + 81 * (100vw - 390px) / 1049);
  }
}
section.onayami .onayami_list {
  position: relative;
  width: 1100px;
  height: 937px;
  margin: 60px auto 0;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_list {
    width: max(350px, 350px + 750 * (100vw - 390px) / 1049);
    height: max(359px, 359px + 578 * (100vw - 390px) / 1049);
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_list {
    width: 350px;
    height: 359px;
    margin-top: 30px;
  }
}
section.onayami .onayami_item {
  position: absolute;
  display: grid;
  place-items: center;
  color: #fff;
  text-align: center;
  z-index: 1;
}
section.onayami .onayami_item img {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
}
section.onayami .onayami_item p {
  position: relative;
  z-index: 1;
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.5;
  color: #fff;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item p {
    font-size: max(12px, 12px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item p {
    font-size: 12px;
    letter-spacing: 0.08em;
    line-height: 1.4;
  }
}
section.onayami .onayami_item strong {
  color: #fbff22;
}
section.onayami .onayami_item01 {
  top: 57px;
  left: 95px;
  width: 263px;
  height: 201px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item01 {
    top: max(40px, 40px + 17 * (100vw - 390px) / 1049);
    left: max(0px, 0px + 95 * (100vw - 390px) / 1049);
    width: max(115px, 115px + 148 * (100vw - 390px) / 1049);
    height: max(90px, 90px + 111 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item01 {
    top: 40px;
    left: 0;
    width: 115px;
    height: 90px;
  }
}
section.onayami .onayami_item02 {
  top: 0;
  left: 400px;
  width: 303px;
  height: 250px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item02 {
    left: max(118px, 118px + 282 * (100vw - 390px) / 1049);
    width: max(115px, 115px + 188 * (100vw - 390px) / 1049);
    height: max(95px, 95px + 155 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item02 {
    top: 0;
    left: 118px;
    width: 115px;
    height: 95px;
  }
}
section.onayami .onayami_item02 p {
  margin-top: -35px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item02 p {
    margin-top: min(-15px, -15px + -20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item02 p {
    margin-top: -15px;
  }
}
section.onayami .onayami_item03 {
  top: 32px;
  right: 43px;
  width: 316px;
  height: 252px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item03 {
    top: min(40px, 40px + -8 * (100vw - 390px) / 1049);
    right: min(0px, 0px + 43 * (100vw - 390px) / 1049);
    width: max(115px, 115px + 201 * (100vw - 390px) / 1049);
    height: max(91px, 91px + 161 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item03 {
    top: 40px;
    right: 0;
    width: 115px;
    height: 91px;
  }
}
section.onayami .onayami_item03 p {
  margin-top: -20px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item03 p {
    margin-top: min(-10px, -10px + -10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item03 p {
    margin-top: -10px;
  }
}
section.onayami .onayami_item04 {
  top: 392px;
  left: 0;
  width: 350px;
  height: 212px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item04 {
    top: max(151px, 151px + 241 * (100vw - 390px) / 1049);
    width: max(115px, 115px + 235 * (100vw - 390px) / 1049);
    height: max(69px, 69px + 143 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item04 {
    top: 151px;
    left: 0;
    width: 115px;
    height: 69px;
  }
}
section.onayami .onayami_item04 p {
  margin-top: -10px;
}
section.onayami .onayami_item05 {
  top: 392px;
  right: 0;
  width: 350px;
  height: 210px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item05 {
    top: max(151px, 151px + 241 * (100vw - 390px) / 1049);
    width: max(115px, 115px + 235 * (100vw - 390px) / 1049);
    height: max(69px, 69px + 141 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item05 {
    top: 151px;
    right: 0;
    width: 115px;
    height: 69px;
  }
}
section.onayami .onayami_item05 p {
  margin-top: 30px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item05 p {
    margin-top: max(15px, 15px + 15 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item05 p {
    margin-top: 15px;
  }
}
section.onayami .onayami_item06 {
  top: 667px;
  left: 215px;
  width: 270px;
  height: 250px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item06 {
    top: max(244px, 244px + 423 * (100vw - 390px) / 1049);
    left: max(33px, 33px + 182 * (100vw - 390px) / 1049);
    width: max(115px, 115px + 155 * (100vw - 390px) / 1049);
    height: max(105px, 105px + 145 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item06 {
    top: 244px;
    left: 33px;
    width: 115px;
    height: 105px;
  }
}
section.onayami .onayami_item06 p {
  margin-top: 20px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item06 p {
    margin-top: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item06 p {
    margin-top: 10px;
  }
}
section.onayami .onayami_item07 {
  top: 667px;
  right: 190px;
  width: 270px;
  height: 270px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item07 {
    top: max(244px, 244px + 423 * (100vw - 390px) / 1049);
    right: max(33px, 33px + 157 * (100vw - 390px) / 1049);
    width: max(115px, 115px + 155 * (100vw - 390px) / 1049);
    height: max(115px, 115px + 155 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item07 {
    top: 244px;
    right: 33px;
    width: 115px;
    height: 115px;
  }
}
section.onayami .onayami_item07 p {
  margin-top: 30px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_item07 p {
    margin-top: max(11px, 11px + 19 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.onayami .onayami_item07 p {
    margin-top: 11px;
  }
}
section.onayami .onayami_img {
  position: absolute;
  top: 270px;
  left: 355px;
  width: 390px;
}
@media screen and (max-width: 1439px) {
  section.onayami .onayami_img {
    top: max(105px, 105px + 165 * (100vw - 768px) / 671);
    left: max(150px, 150px + 205 * (100vw - 768px) / 671);
    width: max(140px, 140px + 250 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 1024px) {
  section.onayami .onayami_img {
    left: 50%;
    transform: translateX(-50%);
  }
}

section.kids-dental {
  padding: 230px 0 200px;
  background: #fff url("../img/dental-issues_bg.webp") center/cover no-repeat;
}
@media screen and (max-width: 1439px) {
  section.kids-dental {
    padding: max(120px, 120px + 110 * (100vw - 390px) / 1049) 0 max(100px, 100px + 100 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-dental {
    background-image: url("../img/dental-issues_bg_sp.webp");
  }
}
section.kids-dental .kids-dental_title {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 20px;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.15em;
  line-height: 1.75;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_title {
    font-size: max(18px, 18px + 22 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_title {
    padding-bottom: 12px;
  }
}
section.kids-dental .kids-dental_title::before, section.kids-dental .kids-dental_title::after {
  content: "";
  position: absolute;
  bottom: 9px;
  width: 60px;
  height: 59px;
  background: url("../img/dental-issues_title_left.png") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_title::before, section.kids-dental .kids-dental_title::after {
    width: max(33px, 33px + 27 * (100vw - 390px) / 1049);
    height: max(33px, 33px + 26 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_title::before, section.kids-dental .kids-dental_title::after {
    bottom: 10px;
  }
}
section.kids-dental .kids-dental_title::before {
  right: calc(100% + 40px);
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_title::before {
    right: calc(100% + max(9px, 9px + 31 * (100vw - 390px) / 1049));
  }
}
section.kids-dental .kids-dental_title::after {
  left: calc(100% + 40px);
  background-image: url("../img/dental-issues_title_right.png");
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_title::after {
    left: calc(100% + max(9px, 9px + 31 * (100vw - 390px) / 1049));
  }
}
section.kids-dental .kids-dental_title_first,
section.kids-dental .kids-dental_title_second {
  display: flex;
  align-items: center;
  justify-content: center;
}
section.kids-dental .kids-dental_title_first {
  gap: 0px;
  letter-spacing: 0.08em;
}
section.kids-dental .kids-dental_title_first span {
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_title_first span {
    letter-spacing: 0.05em;
  }
}
section.kids-dental .kids-dental_title_first strong {
  position: relative;
  color: #0067ac;
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  letter-spacing: 0.15em;
  margin-right: 35px;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_title_first strong {
    margin-right: max(5px, 5px + 30 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 24 * (100vw - 390px) / 1049);
  }
}
section.kids-dental .kids-dental_title_first strong::after {
  content: "";
  position: absolute;
  top: -13px;
  right: -33px;
  width: 51px;
  height: 53px;
  background: url("../img/dental-issues_icon_spoit.png") center/contain no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_title_first strong::after {
    top: min(-4px, -4px + -9 * (100vw - 390px) / 1049);
    right: min(-8px, -8px + -25 * (100vw - 390px) / 1049);
    width: max(22px, 22px + 29 * (100vw - 390px) / 1049);
    height: max(18px, 18px + 35 * (100vw - 390px) / 1049);
  }
}
section.kids-dental .kids-dental_title_second {
  margin-top: 5px;
}
section.kids-dental .kids-dental_title_second::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 16px;
  background: url("../img/dental-issues_border_wave.webp") center/contain no-repeat;
}
section.kids-dental .kids-dental_tooth {
  position: relative;
  display: grid;
  place-items: center;
  width: 90px;
  height: 82px;
  margin-right: 20px;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_tooth {
    margin-right: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    width: max(45px, 45px + 45 * (100vw - 390px) / 1049);
    height: max(41px, 41px + 41 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_tooth {
    margin-top: -10px;
  }
}
section.kids-dental .kids-dental_tooth::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #0067ac;
  mask: url("../img/icon_tooth.svg") center/contain no-repeat;
}
section.kids-dental .kids-dental_tooth::after {
  content: "";
  position: absolute;
  right: -15px;
  bottom: 0;
  width: 38px;
  height: 35px;
  background: #68cbc2;
  mask: url("../img/icon_tooth.svg") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_tooth::after {
    right: min(-8px, -8px + -7 * (100vw - 390px) / 1049);
    width: max(19px, 19px + 19 * (100vw - 390px) / 1049);
    height: max(18px, 18px + 17 * (100vw - 390px) / 1049);
  }
}
section.kids-dental .kids-dental_tooth b {
  position: relative;
  z-index: 1;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  font-style: normal;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_tooth b {
    font-size: max(24px, 24px + 24 * (100vw - 390px) / 1049);
  }
}
section.kids-dental .kids-dental_lead {
  margin-top: 60px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_lead {
    margin-top: max(25px, 25px + 35 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_lead p {
    letter-spacing: 0;
  }
}
section.kids-dental .kids-dental_lead .md {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_lead .md {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
section.kids-dental .kids-dental_lead strong {
  letter-spacing: 0.08em;
  color: #ed7c84;
  font-size: 20px;
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_lead strong {
    font-size: 16px;
    letter-spacing: 0;
  }
}
section.kids-dental .kids-dental_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 70px;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_list {
    gap: max(20px, 20px + 20 * (100vw - 768px) / 671);
    margin-top: max(40px, 40px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_list {
    grid-template-columns: 1fr;
    gap: 50px;
    margin-top: 60px;
    max-width: 500px;
    margin-inline: auto;
  }
}
section.kids-dental .kids-dental_item {
  position: relative;
  overflow: visible;
  padding-top: 65px;
  border-radius: 20px;
  background: #f8f5f0;
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_item {
    padding-top: 65px;
  }
}
section.kids-dental .kids-dental_item > span {
  position: absolute;
  top: -40px;
  left: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 70px;
  height: 62px;
  transform: translateX(-50%);
  color: #FBFF22;
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  isolation: isolate;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_item > span {
    font-size: max(24px, 24px + 8 * (100vw - 768px) / 671);
    width: max(50px, 50px + 20 * (100vw - 768px) / 671);
    height: max(44px, 44px + 18 * (100vw - 768px) / 671);
    top: min(-30px, -30px + -10 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_item > span {
    top: -40px;
    width: 70px;
    height: 62px;
    font-size: 32px;
  }
}
section.kids-dental .kids-dental_item > span i {
  position: absolute;
  z-index: -1;
  inset: 0;
  -webkit-mask: url("../img/icon_tooth.svg") center/contain no-repeat;
  mask: url("../img/icon_tooth.svg") center/contain no-repeat;
}
section.kids-dental .kids-dental_item h3 {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  place-items: center;
  width: 100%;
  height: 65px;
  border-radius: 20px 20px 0 0;
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  padding: 0 10px;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_item h3 {
    font-size: max(14px, 14px + 6 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_item h3 {
    font-size: 20px;
  }
}
section.kids-dental .kids-dental_item img {
  padding: 40px;
}
@media screen and (max-width: 1439px) {
  section.kids-dental .kids-dental_item img {
    padding: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.kids-dental .kids-dental_item img {
    padding: 40px 45px;
  }
}
section.kids-dental .kids-dental_item_pink > span i,
section.kids-dental .kids-dental_item_pink h3 {
  background: #e8758b;
}
section.kids-dental .kids-dental_item_orange > span i,
section.kids-dental .kids-dental_item_orange h3 {
  background: #f58a2d;
}
section.kids-dental .kids-dental_item_yellow > span i,
section.kids-dental .kids-dental_item_yellow h3 {
  background: #f5c400;
}

section.relation .section-band_title,
section.start-time .section-band_title,
section.reasons-merit .section-band_title {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 309px;
  padding-top: 35px;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  text-align: center;
  background-position: center;
  background-size: 1440px 309px;
}
@media screen and (max-width: 1439px) {
  section.relation .section-band_title,
  section.start-time .section-band_title,
  section.reasons-merit .section-band_title {
    padding-top: max(20px, 20px + 15 * (100vw - 390px) / 1049);
    height: max(166px, 166px + 143 * (100vw - 390px) / 1049);
    background-size: max(720px, 720px + 720 * (100vw - 390px) / 1049) max(166px, 166px + 143 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.relation .section-band_title,
  section.start-time .section-band_title,
  section.reasons-merit .section-band_title {
    padding-top: 20px;
    height: 166px;
    background-size: 100% 166px;
  }
}
section.relation .section-band_title p,
section.start-time .section-band_title p,
section.reasons-merit .section-band_title p {
  color: #fbff22;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
  font-family: "Kaisei Opti", serif;
}
@media screen and (max-width: 1439px) {
  section.relation .section-band_title p,
  section.start-time .section-band_title p,
  section.reasons-merit .section-band_title p {
    font-size: max(18px, 18px + 14 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.relation .section-band_title p,
  section.start-time .section-band_title p,
  section.reasons-merit .section-band_title p {
    line-height: 1.8;
  }
}
section.relation .section-band_title h2,
section.start-time .section-band_title h2,
section.reasons-merit .section-band_title h2 {
  margin-top: 25px;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.relation .section-band_title h2,
  section.start-time .section-band_title h2,
  section.reasons-merit .section-band_title h2 {
    margin-top: max(12px, 12px + 13 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 24 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.relation .section-band_title h2,
  section.start-time .section-band_title h2,
  section.reasons-merit .section-band_title h2 {
    margin-top: 12px;
    line-height: 1.5;
    font-size: max(24px, 24px + 4 * (100vw - 390px) / 1049);
  }
}

section.relation {
  padding-bottom: 100px;
}
@media screen and (max-width: 1439px) {
  section.relation {
    padding-bottom: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
section.relation .relation_title {
  position: relative;
  transform: translateY(-100px);
  background-image: url("../img/relation_title_bg.webp");
}
@media screen and (max-width: 1439px) {
  section.relation .relation_title {
    transform: translateY(min(-50px, -50px + -50 * (100vw - 390px) / 1049));
  }
}
@media screen and (max-width: 767px) {
  section.relation .relation_title {
    background-image: url("../img/relation_title_bg_sp.webp");
  }
}
section.relation .relation_title p {
  font-family: "Kaisei Opti", serif;
}
section.relation .relation_content,
section.relation .start-time_content {
  display: grid;
  grid-template-columns: 1fr 520px;
  gap: 33px;
}
@media screen and (max-width: 1439px) {
  section.relation .relation_content,
  section.relation .start-time_content {
    gap: max(20px, 20px + 13 * (100vw - 390px) / 1049);
    grid-template-columns: 1fr max(300px, 300px + 220 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.relation .relation_content,
  section.relation .start-time_content {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
section.relation .relation_content {
  margin-top: -100px;
  padding-top: 40px;
}
@media screen and (max-width: 1439px) {
  section.relation .relation_content {
    margin-top: min(-50px, -50px + -50 * (100vw - 390px) / 1049);
    padding-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.relation .relation_text p,
  section.relation .start-time_text p {
    letter-spacing: 0.05em;
  }
}
section.relation .relation_text p + p,
section.relation .relation_text p + h3,
section.relation .relation_text h3 + p,
section.relation .start-time_text p + p,
section.relation .start-time_text p + h3,
section.relation .start-time_text h3 + p {
  margin-top: 24px;
}
@media screen and (max-width: 1439px) {
  section.relation .relation_text p + p,
  section.relation .relation_text p + h3,
  section.relation .relation_text h3 + p,
  section.relation .start-time_text p + p,
  section.relation .start-time_text p + h3,
  section.relation .start-time_text h3 + p {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.relation .relation_text h3,
section.relation .relation_text strong {
  color: #ed7c84;
  font-weight: 700;
}
section.relation .relation_text h3 {
  font-size: 24px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1439px) {
  section.relation .relation_text h3 {
    font-size: max(18px, 18px + 6 * (100vw - 390px) / 1049);
  }
}
section.relation .relation_text h3 + p {
  line-height: 210%;
}
@media screen and (max-width: 767px) {
  section.relation .relation_text h3 + p {
    line-height: 1.8;
  }
}
section.relation .relation_content > img {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  section.relation .relation_content > img {
    width: 100%;
    max-width: 500px;
    margin-inline: auto;
  }
}
section.relation .relation_flow {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  overflow: hidden;
  margin-top: 40px;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  section.relation .relation_flow {
    display: flex;
    flex-direction: column;
    margin-top: 20px;
  }
}
section.relation .relation_flow li {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 127px;
  padding: 15px;
  background: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-align: center;
  --flow-bg: #fff;
}
@media screen and (max-width: 767px) {
  section.relation .relation_flow li {
    min-height: 64px;
    padding: 10px;
    font-size: 16px;
  }
}
section.relation .relation_flow li:nth-child(odd) {
  background: #eebf00;
  color: #fff;
}
@media screen and (max-width: 767px) {
  section.relation .relation_flow li:nth-child(odd) {
    font-size: 16px;
  }
}
section.relation .relation_flow li:nth-child(4) {
  font-size: 20px;
}
@media screen and (max-width: 1439px) {
  section.relation .relation_flow li:nth-child(4) {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
section.relation .relation_flow li::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1px;
  z-index: 1;
  width: 14px;
  height: 20px;
  border-radius: 1px;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #eebf00;
  transform: translate(100%, -50%);
}
@media screen and (max-width: 767px) {
  section.relation .relation_flow li::after {
    top: auto;
    bottom: 1px;
    right: 50%;
    width: 16px;
    height: 9px;
    transform: translate(50%, 100%);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
  }
}
section.relation .relation_flow li:nth-child(even)::after {
  background: #fff;
}
@media screen and (max-width: 767px) {
  section.relation .relation_text h3 {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  section.relation .relation_content > img {
    margin-top: 0;
  }
}

section.start-time {
  padding-bottom: 100px;
}
@media screen and (max-width: 1439px) {
  section.start-time {
    padding-bottom: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
section.start-time .start-time_title {
  background-image: url("../img/start-time_bg.webp");
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_title {
    background-image: url("../img/start-time_bg_sp.webp");
  }
}
section.start-time .start-time_title p {
  font-family: "Kaisei Opti", serif;
  letter-spacing: 0.05em;
}
section.start-time .start-time_content {
  padding-top: 40px;
  display: grid;
  align-items: center;
  grid-template-columns: 520px 1fr;
  gap: 40px;
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_content {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    grid-template-columns: max(300px, 300px + 220 * (100vw - 768px) / 671) 1fr;
    padding-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_content {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_content > img {
    order: 2;
    width: 100%;
    max-width: 500px;
    margin-inline: auto;
  }
}
section.start-time .start-time_text strong {
  color: #76bf00;
  font-weight: 700;
}
section.start-time .start-time_text p {
  line-height: 210%;
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_text p {
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
}
section.start-time .start-time_guide {
  position: relative;
  width: 850px;
  margin: 80px auto 0;
  padding: 87px 40px 40px;
  border: 2px solid #81bb05;
  border-radius: 30px;
  background: #fffdf8;
  box-shadow: 0 0 18px rgba(129, 127, 127, 0.1);
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_guide {
    width: max(350px, 350px + 500 * (100vw - 390px) / 1049);
    margin-top: max(48px, 48px + 32 * (100vw - 390px) / 1049);
    padding: max(53px, 53px + 34 * (100vw - 390px) / 1049) max(16px, 16px + 24 * (100vw - 390px) / 1049) max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_guide {
    max-width: 100%;
    padding: 53px 16px 20px;
    border-radius: 20px;
  }
}
section.start-time .start-time_guide h3 {
  position: absolute;
  top: -25px;
  left: 50%;
  display: grid;
  place-items: center;
  width: 450px;
  height: 50px;
  transform: translateX(-50%);
  border-radius: 30px;
  background: #81bb05;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_guide h3 {
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
    width: max(250px, 250px + 200 * (100vw - 390px) / 1049);
    height: max(35px, 35px + 15 * (100vw - 390px) / 1049);
    top: min(-18px, -18px + -7 * (100vw - 390px) / 1049);
  }
}
section.start-time .start-time_age {
  position: absolute;
  top: 53px;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  grid-template-columns: 125px 107px 255px 1fr;
  width: calc(100% - 80px);
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_age {
    width: calc(100% - max(35px, 35px + 45 * (100vw - 390px) / 1049));
    grid-template-columns: max(49px, 49px + 76 * (100vw - 390px) / 1049) max(50px, 50px + 57 * (100vw - 390px) / 1049) max(99px, 99px + 156 * (100vw - 390px) / 1049) 1fr;
    top: max(30px, 30px + 23 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_age {
    width: calc(100% - 35px);
    top: 30px;
    grid-template-columns: 49px 50px 99px 1fr;
  }
}
section.start-time .start-time_age span {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: baseline;
  width: 30px;
  height: 37px;
  padding-top: 7px;
  transform: translateX(-50%);
  background: url("../img/age_point_mark.svg") center/contain no-repeat;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_age span {
    width: max(20px, 20px + 10 * (100vw - 390px) / 1049);
    height: max(25px, 25px + 12 * (100vw - 390px) / 1049);
    padding-top: max(0px, 0px + 7 * (100vw - 390px) / 1049);
    font-size: max(10px, 10px + 6 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_age span {
    width: 20px;
    height: 25px;
    padding-top: 0px;
    font-size: 10px;
    align-items: center;
    flex-direction: column;
    transform: 0;
    line-height: 1;
  }
}
section.start-time .start-time_age span small {
  font-size: 8px;
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_age span small {
    font-size: 7px;
    line-height: 1;
  }
}
section.start-time .start-time_table_wrap {
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_table_wrap {
    overflow: visible;
  }
}
section.start-time .start-time_guide table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  text-align: center;
}
section.start-time .start-time_guide table tbody tr:first-child td {
  border-right: #81bb05 1px solid;
}
section.start-time .start-time_guide table tbody tr:first-child td:first-child {
  border-left: #81bb05 1px solid;
}
section.start-time .start-time_guide table th,
section.start-time .start-time_guide table td {
  font-weight: 700;
  letter-spacing: 0.08em;
  vertical-align: middle;
}
section.start-time .start-time_guide table th:last-child,
section.start-time .start-time_guide table td:last-child {
  border-right: 0;
}
section.start-time .start-time_guide table th {
  height: 65px;
  color: #fff;
  font-size: 20px;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_guide table th {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_guide table th {
    height: 58px;
    letter-spacing: 0;
  }
}
section.start-time .start-time_guide table th::after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 1px;
  top: 0;
  transform: translateX(100%);
  width: 16px;
  height: 100%;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_guide table th::after {
    width: max(8px, 8px + 8 * (100vw - 390px) / 1049);
  }
}
section.start-time .start-time_guide table th:nth-child(1) {
  background: #e8758b;
}
section.start-time .start-time_guide table th:nth-child(1)::after {
  background: #e8758b;
}
section.start-time .start-time_guide table th:nth-child(2) {
  background: #0878bc;
}
section.start-time .start-time_guide table th:nth-child(2)::after {
  background: #0878bc;
}
section.start-time .start-time_guide table th:nth-child(3) {
  background: #f58a2d;
}
section.start-time .start-time_guide table th:nth-child(3)::after {
  display: none;
}
section.start-time .start-time_guide table td {
  background: #fff;
  color: #505050;
  font-size: 16px;
  padding: 16px 10px;
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_guide table td {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
    padding: max(4px, 4px + 12 * (100vw - 390px) / 1049) max(4px, 4px + 6 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.start-time .start-time_guide table td {
    height: 58px;
    line-height: 1.35;
  }
}
section.start-time .start-time_guide table td strong,
section.start-time .start-time_guide table td small {
  display: block;
}
section.start-time .start-time_guide table td strong {
  padding: 10px;
  font-size: 20px;
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_guide table td strong {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
section.start-time .start-time_guide table td small {
  padding: 4px 5px;
  color: #fff;
  font-size: 14px;
}
@media screen and (max-width: 1439px) {
  section.start-time .start-time_guide table td small {
    font-size: max(11px, 11px + 3 * (100vw - 390px) / 1049);
  }
}
section.start-time .start-time_guide table tbody tr:last-child td {
  height: auto;
  padding: 0;
}
section.start-time .start-time_guide table tbody tr:last-child td:nth-child(1) {
  background: #ffd4dd;
  color: #ed7588;
}
section.start-time .start-time_guide table tbody tr:last-child td:nth-child(1) small {
  background: #e8758b;
}
section.start-time .start-time_guide table tbody tr:last-child td:nth-child(2) {
  background: #c9e9fa;
  color: #0878bc;
}
section.start-time .start-time_guide table tbody tr:last-child td:nth-child(2) small {
  background: #0878bc;
}
section.start-time .start-time_guide table tbody tr:last-child td:nth-child(3) {
  background: #ffe2cb;
  color: #f58a2d;
}
section.start-time .start-time_guide table tbody tr:last-child td:nth-child(3) small {
  background: #f58a2d;
}

section.reasons-start {
  color: #505050;
  background: #e97a8c;
  position: relative;
  z-index: 0;
}
section.reasons-start::before {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.25;
  background: url("../img/reasons-start_bg.webp") center/cover no-repeat;
  z-index: 0;
}
section.reasons-start .reasons-start_title {
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  text-align: center;
}
section.reasons-start .reasons-start_title > p {
  display: grid;
  font-family: "Kaisei Opti", serif;
  place-items: center;
  width: 347px;
  height: 92px;
  color: #fff;
  margin: 0 auto -2px;
  padding-bottom: 17px;
  background: url("../img/reasons-start_title_bg.webp") center/contain no-repeat;
  font-size: 32px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_title > p {
    width: max(210px, 210px + 137 * (100vw - 390px) / 1049);
    height: max(56px, 56px + 36 * (100vw - 390px) / 1049);
    padding-bottom: max(10px, 10px + 7 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.reasons-start .reasons-start_title h2 {
  font-size: 32px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_title h2 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_title h2 {
    letter-spacing: 0;
  }
}
section.reasons-start .reasons-start_title h2 strong {
  color: #fbff22;
  font-size: 64px;
  line-height: 0.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_title h2 strong {
    font-size: max(40px, 40px + 24 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_title h2 strong {
    letter-spacing: 0;
  }
}
section.reasons-start .reasons-start_title h2 strong small {
  font-size: 32px;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_title h2 strong small {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_title h2 strong small {
    letter-spacing: 0;
  }
}
section.reasons-start .reasons-start_title > img {
  width: 296px;
  height: 116px;
  margin: 12px auto 0;
  object-fit: contain;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_title > img {
    width: max(225px, 225px + 71 * (100vw - 390px) / 1049);
    height: max(80px, 80px + 36 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_title > img {
    margin-top: 10px;
    height: auto;
  }
}
section.reasons-start .reasons-start_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_list {
    gap: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
section.reasons-start .reasons-start_item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  padding: 67px 20px 28px;
  border-radius: 30px;
  background: #fff;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_item {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_item {
    padding: 55px 8px 18px;
    border-radius: 25px;
  }
}
section.reasons-start .reasons-start_item > img {
  width: 120px;
  height: 85px;
  object-fit: contain;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_item > img {
    width: max(80px, 80px + 40 * (100vw - 390px) / 1049);
    height: max(55px, 55px + 30 * (100vw - 390px) / 1049);
  }
}
section.reasons-start .reasons-start_item > p {
  margin-top: 10px;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 1.5;
  font-weight: bold;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_item > p {
    font-size: max(12px, 12px + 6 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_item > p {
    font-size: max(12px, 12px + 6 * (100vw - 390px) / 1049);
    margin-top: 3px;
  }
}
section.reasons-start .reasons-start_item:nth-child(1) > p, section.reasons-start .reasons-start_item:nth-child(2) > p {
  font-size: 20px;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_item:nth-child(1) > p, section.reasons-start .reasons-start_item:nth-child(2) > p {
    font-size: max(14px, 14px + 6 * (100vw - 390px) / 1049);
  }
}
section.reasons-start .reasons-start_num {
  position: absolute;
  top: 0;
  left: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  width: 140px;
  height: 70px;
  padding-top: 5px;
  transform: translateX(-50%);
  border-radius: 0 0 70px 70px;
  background: #493b3c;
  color: #fbff22;
  font-family: "Kaisei Opti", serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_num {
    width: max(95px, 95px + 45 * (100vw - 390px) / 1049);
    height: max(50px, 50px + 20 * (100vw - 390px) / 1049);
    padding-top: max(4px, 4px + 1 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_num {
    border-radius: 0 0 50px 50px;
  }
}
section.reasons-start .reasons-start_num small {
  font-size: 14px;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_num small {
    font-size: max(10px, 10px + 4 * (100vw - 390px) / 1049);
  }
}
section.reasons-start .reasons-start_item_large {
  grid-column: span 2;
  justify-content: flex-start;
  padding: 88px 30px 30px;
  font-size: 20px;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_item_large {
    font-size: max(14px, 14px + 6 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_item_large {
    grid-column: 1/3;
    padding: 64px 15px 15px;
  }
}
section.reasons-start .reasons-start_item_large > p strong {
  color: #ed7c84;
}
section.reasons-start .reasons-start_item01 h3 {
  width: calc(100% + 60px);
  margin-top: 18px;
  padding: 11px 20px;
  border-top: 5px solid #ed7c84;
  border-bottom: 5px solid #ed7c84;
  background: #493b3c;
  color: #fff;
  font-size: 20px;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_item01 h3 {
    font-size: max(14px, 14px + 6 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_item01 h3 {
    width: calc(100% + 30px);
    margin-top: 12px;
    padding: 9px 3px;
    white-space: nowrap;
  }
}
section.reasons-start .reasons-start_steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  margin-top: 23px;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_steps {
    gap: max(26px, 26px + 14 * (100vw - 768px) / 671);
    margin-top: max(12px, 12px + 11 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_steps {
    gap: 26px;
  }
}
section.reasons-start .reasons-start_steps li {
  position: relative;
  color: #5ccbc2;
}
section.reasons-start .reasons-start_steps li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 52px;
  right: -28px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 14px solid #5ccbc2;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_steps li:not(:last-child)::after {
    top: max(39px, 39px + 13 * (100vw - 768px) / 671);
    right: min(-20px, -20px + -8 * (100vw - 768px) / 671);
  }
}
section.reasons-start .reasons-start_steps small {
  display: block;
  font-size: 14px;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_steps small {
    font-size: max(10px, 10px + 4 * (100vw - 390px) / 1049);
  }
}
section.reasons-start .reasons-start_steps span {
  display: grid;
  place-items: center;
  width: 90px;
  height: 90px;
  margin-top: 2px;
  border-radius: 50%;
  background: #5ccbc2;
  color: #fbff22;
  font-size: 16px;
  line-height: 1.35;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_steps span {
    width: max(60px, 60px + 30 * (100vw - 768px) / 671);
    height: max(60px, 60px + 30 * (100vw - 768px) / 671);
    font-size: max(12px, 12px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_steps span {
    width: max(60px, 60px + 30 * (100vw - 390px) / 1049);
    height: max(60px, 60px + 30 * (100vw - 390px) / 1049);
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_steps li:not(:last-child)::after {
    top: 36px;
    right: -19px;
    border-top-width: 7px;
    border-bottom-width: 7px;
    border-left-width: 10px;
  }
}
section.reasons-start .reasons-start_item02 {
  position: relative;
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_item02 {
    padding-bottom: 18px;
  }
}
section.reasons-start .reasons-start_item02 > p strong {
  color: #ed7c84;
}
section.reasons-start .reasons-start_item02 > img {
  position: absolute;
  right: 28px;
  bottom: 0;
  width: 119px;
  height: 109px;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_item02 > img {
    right: max(14px, 14px + 14 * (100vw - 390px) / 1049);
    width: max(91px, 91px + 28 * (100vw - 390px) / 1049);
    height: max(84px, 84px + 25 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_item02 > img {
    right: 14px;
    bottom: 0;
    width: 91px;
    height: 84px;
  }
}
section.reasons-start .reasons-start_checks {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  width: 100%;
  margin-top: 23px;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_checks {
    gap: max(5px, 5px + 5 * (100vw - 390px) / 1049) 10px;
    margin-top: max(12px, 12px + 11 * (100vw - 390px) / 1049);
  }
}
section.reasons-start .reasons-start_checks li {
  padding: 9px 10px 9px 35px;
  border-radius: 8px;
  background: #f8f5f0;
  font-size: 16px;
  line-height: 1.45;
  text-align: left;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_checks li {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-start .reasons-start_checks li {
    padding: 7px 5px 7px 25px;
  }
}
section.reasons-start .reasons-start_checks li::before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  margin: 1px 0 0 -25px;
  background: url("../img/icon_check_green.png") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.reasons-start .reasons-start_checks li::before {
    width: max(16px, 16px + 4 * (100vw - 390px) / 1049);
    height: max(16px, 16px + 4 * (100vw - 390px) / 1049);
    margin-left: min(-20px, -20px + -5 * (100vw - 390px) / 1049);
  }
}

section.comparison {
  position: relative;
  overflow: hidden;
  padding-bottom: 225px;
}
@media screen and (max-width: 1439px) {
  section.comparison {
    padding-bottom: max(100px, 100px + 125 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.comparison {
    overflow: hidden;
  }
}
section.comparison .comparison_shapes {
  position: absolute;
  z-index: 0;
  width: 378px;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_shapes {
    width: max(150px, 150px + 228 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_shapes_left {
  top: 24px;
  left: calc(50% - 833px);
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_shapes_left {
    left: min(-46px, -46px + -67 * (100vw - 390px) / 1049);
    top: max(0px, 0px + 24 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_shapes_right {
  right: calc(50% - 839px);
  bottom: 100px;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_shapes_right {
    right: min(-60px, -60px + -59 * (100vw - 390px) / 1049);
    bottom: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 700px;
  min-height: 120px;
  margin: 0 auto;
  padding: 25px 20px;
  border-radius: 70px;
  background: #493b3c;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  font-weight: 700;
  left: 10px;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_title {
    width: max(320px, 320px + 380 * (100vw - 390px) / 1049);
    min-height: max(78px, 78px + 42 * (100vw - 390px) / 1049);
    padding: max(10px, 10px + 15 * (100vw - 390px) / 1049) max(20px, 20px + 48 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 24 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_title {
    display: block;
    text-align: center;
    line-height: 1;
    margin-inline: auto;
  }
}
section.comparison .comparison_title::before {
  content: "";
  position: absolute;
  bottom: -75px;
  left: 75px;
  width: 72px;
  height: 95px;
  background: url("../img/comparison_title_ccircles.png") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_title::before {
    bottom: min(-47px, -47px + -28 * (100vw - 390px) / 1049);
    left: max(28px, 28px + 47 * (100vw - 390px) / 1049);
    width: max(45px, 45px + 27 * (100vw - 390px) / 1049);
    height: max(59px, 59px + 36 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_title strong {
  color: #fbff22;
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_title strong {
    margin-left: 0;
  }
}
section.comparison .comparison_title span.small {
  font-size: 40px;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_title span.small {
    font-size: max(16px, 16px + 24 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_title img {
  position: absolute;
  right: -40px;
  width: 95px;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_title img {
    right: min(-20px, -20px + -20 * (100vw - 390px) / 1049);
    width: max(60px, 60px + 35 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_title img {
    right: -20px;
    width: 60px;
    top: 20px;
  }
}
section.comparison .comparison_table_wrap {
  position: relative;
  margin-top: 128px;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap {
    margin-top: max(42px, 42px + 86 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_table_wrap .comparison_illust {
  width: 200px;
  max-width: 100%;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap .comparison_illust {
    width: max(80px, 80px + 120 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_table_wrap table {
  border-collapse: collapse;
  table-layout: fixed;
  font-weight: 700;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
}
section.comparison .comparison_table_wrap table .comparison_label_col {
  width: 260px;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap table .comparison_label_col {
    width: max(90px, 90px + 170 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_table_wrap table th {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  vertical-align: middle;
}
section.comparison .comparison_table_wrap table td {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  vertical-align: middle;
}
section.comparison .comparison_table_wrap table thead th {
  border: none;
}
section.comparison .comparison_table_wrap table td:last-child {
  border-right: 0;
}
section.comparison .comparison_table_wrap table tr:last-child * {
  border-bottom: 0;
}
section.comparison .comparison_table_wrap table thead th {
  padding: 25px 20px 20px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_table_wrap table thead th {
    padding: 15px 10px 8px;
  }
}
section.comparison .comparison_table_wrap table thead th:first-child {
  padding: 0;
  border: 0;
  background: transparent;
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_table_wrap table thead th:first-child {
    width: 90px;
  }
}
section.comparison .comparison_table_wrap table thead th:nth-child(2) {
  background: #66cbc5;
  border-radius: 20px 0 0 0;
}
section.comparison .comparison_table_wrap table thead th:nth-child(3) {
  background: #aaa;
  border-radius: 0 20px 0 0;
}
section.comparison .comparison_table_wrap table thead th > strong {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  border-radius: 40px;
  background: rgba(73, 59, 60, 0.12);
  font-size: 32px;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap table thead th > strong {
    font-size: max(14px, 14px + 18 * (100vw - 390px) / 1049);
    padding: max(2.5px, 2.5px + 7.5 * (100vw - 390px) / 1049) max(0px, 0px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_table_wrap table thead th > strong {
    height: 25px;
    font-size: 14px;
  }
}
@media screen and (max-width: 389px) {
  section.comparison .comparison_table_wrap table thead th > strong {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_table_wrap table thead th > strong span {
    font-size: max(11.5px, 11.5px + 20.5 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_table_wrap table thead th > strong small {
  font-size: 24px;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap table thead th > strong small {
    font-size: max(8px, 8px + 16 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_table_wrap table thead th img {
  width: 200px;
  margin: 16px auto 0;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap table thead th img {
    width: max(110px, 110px + 90 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_table_wrap table thead th img {
    margin-top: 10px;
  }
}
section.comparison .comparison_table_wrap table thead th p {
  margin-top: 24px;
  line-height: 1.8;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap table thead th p {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    font-size: max(10px, 10px + 6 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_table_wrap table thead th p em {
  color: #fbff22;
  font-style: normal;
}
section.comparison .comparison_table_wrap table tbody th {
  padding: 15px;
  background: #f5c400;
  text-align: center;
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap table tbody th {
    font-size: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    padding: max(10px, 10px + 5 * (100vw - 390px) / 1049) max(8px, 8px + 7 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_table_wrap table tbody th {
    letter-spacing: 0;
    height: auto;
  }
}
section.comparison .comparison_table_wrap table tbody td {
  padding: 25px 15px;
  background: #eefafa;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap table tbody td {
    font-size: max(12px, 12px + 8 * (100vw - 390px) / 1049);
    padding: max(10px, 10px + 15 * (100vw - 390px) / 1049) max(10px, 10px + 5 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.comparison .comparison_table_wrap table tbody td {
    letter-spacing: 0;
  }
}
section.comparison .comparison_table_wrap table tbody td:last-child {
  background: #f0f0f0;
}
section.comparison .comparison_table_wrap table tbody td b {
  display: block;
  color: #5ccbc2;
  font-size: 48px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 5px;
}
@media screen and (max-width: 1439px) {
  section.comparison .comparison_table_wrap table tbody td b {
    font-size: max(16px, 16px + 32 * (100vw - 390px) / 1049);
  }
}
section.comparison .comparison_table_wrap table tbody td:last-child b {
  color: #505050;
}
section.comparison .comparison_table_wrap table tbody tr:first-child th {
  border-radius: 20px 0 0 0;
}
section.comparison .comparison_table_wrap table tbody tr:last-child th {
  border-radius: 0 0 0 20px;
}
section.comparison .comparison_table_wrap table tbody tr:last-child td:last-child {
  border-radius: 0 0 20px 0;
}

section.orthodontics {
  position: relative;
  overflow: hidden;
  color: #505050;
  padding-bottom: 190px;
  background: repeating-linear-gradient(120deg, rgba(255, 255, 255, 0.24) 0 10px, transparent 10px 28px), #dbf8fd;
}
@media screen and (max-width: 1439px) {
  section.orthodontics {
    padding-bottom: max(100px, 100px + 90 * (100vw - 390px) / 1049);
  }
}
section.orthodontics .orthodontics_shapes {
  position: absolute;
  top: 0;
  left: -14px;
  left: calc(50% - 734px);
  width: 380px;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.orthodontics .orthodontics_shapes {
    left: min(-5px, -5px + -9 * (100vw - 390px) / 1049);
    width: max(157px, 157px + 223 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.orthodontics .orthodontics_shapes {
    left: -5px;
    top: -5px;
  }
}
section.orthodontics .orthodontics_title {
  position: relative;
  z-index: 1;
  width: 750px;
  height: 240px;
  margin: 0 auto;
  padding-top: 30px;
  border-radius: 40px;
  background: #fff;
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.orthodontics .orthodontics_title {
    width: max(350px, 350px + 400 * (100vw - 390px) / 1049);
    height: max(141px, 141px + 99 * (100vw - 390px) / 1049);
    padding-top: max(15px, 15px + 15 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.orthodontics .orthodontics_title {
    border-radius: 30px;
  }
}
section.orthodontics .orthodontics_title::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 50%;
  width: 69px;
  height: 35px;
  background: url("../img/orthodontics_triangle.png") center/contain no-repeat;
  transform: translate(-50%, 100%);
}
@media screen and (max-width: 1439px) {
  section.orthodontics .orthodontics_title::after {
    width: max(45px, 45px + 24 * (100vw - 390px) / 1049);
    height: max(23px, 23px + 12 * (100vw - 390px) / 1049);
  }
}
section.orthodontics .orthodontics_title p {
  display: grid;
  place-items: center;
  width: 580px;
  height: 80px;
  margin: 0 auto;
  color: #fff;
  font-size: 24px;
  letter-spacing: 0.08em;
  font-family: "Zen Maru Gothic", sans-serif;
  background: url("../img/orthodontics_title_bg.png") center/100% 100% no-repeat;
}
@media screen and (max-width: 1439px) {
  section.orthodontics .orthodontics_title p {
    width: max(310px, 310px + 270 * (100vw - 390px) / 1049);
    height: max(45px, 45px + 35 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
section.orthodontics .orthodontics_title h2 {
  margin-top: 16px;
  font-size: 48px;
  letter-spacing: 0.15em;
  line-height: 1.75;
}
@media screen and (max-width: 1439px) {
  section.orthodontics .orthodontics_title h2 {
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
    margin-top: max(10px, 10px + 6 * (100vw - 390px) / 1049);
  }
}
section.orthodontics .orthodontics_title h2 span {
  color: #0067ac;
}
section.orthodontics .orthodontics_title > img {
  position: absolute;
  right: -76px;
  bottom: -18px;
  z-index: 1;
  width: 187px;
}
@media screen and (max-width: 1439px) {
  section.orthodontics .orthodontics_title > img {
    right: min(-10px, -10px + -66 * (100vw - 390px) / 1049);
    bottom: min(-10px, -10px + -8 * (100vw - 390px) / 1049);
    width: max(90px, 90px + 97 * (100vw - 390px) / 1049);
  }
}
section.orthodontics .orthodontics_content {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 440px 1fr;
  gap: 40px;
  margin-top: 110px;
}
@media screen and (max-width: 1439px) {
  section.orthodontics .orthodontics_content {
    grid-template-columns: max(250px, 250px + 190 * (100vw - 768px) / 671) 1fr;
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-top: max(64px, 64px + 46 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.orthodontics .orthodontics_content {
    grid-template-columns: 1fr;
  }
}
section.orthodontics .orthodontics_visual {
  position: relative;
  height: max-content;
}
@media screen and (max-width: 767px) {
  section.orthodontics .orthodontics_visual {
    order: 2;
    max-width: 500px;
    margin-inline: auto;
  }
}
section.orthodontics .orthodontics_visual .orthodontics_img img {
  border-radius: 30px;
  object-fit: cover;
}
section.orthodontics .orthodontics_visual > img:last-child {
  position: absolute;
  bottom: -100px;
  left: -10px;
  width: 160px;
}
@media screen and (max-width: 1439px) {
  section.orthodontics .orthodontics_visual > img:last-child {
    width: max(92px, 92px + 68 * (100vw - 390px) / 1049);
    bottom: min(-50px, -50px + -50 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.orthodontics .orthodontics_visual > img:last-child {
    left: -6px;
  }
}
section.orthodontics .orthodontics_text h3 {
  margin-bottom: 24px;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 1439px) {
  section.orthodontics .orthodontics_text h3 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.orthodontics .orthodontics_text p {
  line-height: 2.1;
}

section.tooth-alignment .inner {
  max-width: 1440px;
  padding: 0 60px;
}
@media screen and (max-width: 1439px) {
  section.tooth-alignment .inner {
    padding: 0 max(20px, 20px + 40 * (100vw - 390px) / 1049);
  }
}
section.tooth-alignment .tooth-alignment_wrap {
  padding: 80px 110px 100px;
  background: #fff;
  border-radius: 60px;
}
@media screen and (max-width: 1439px) {
  section.tooth-alignment .tooth-alignment_wrap {
    padding: max(40px, 40px + 40 * (100vw - 390px) / 1049) max(20px, 20px + 90 * (100vw - 390px) / 1049) max(40px, 40px + 60 * (100vw - 390px) / 1049);
    border-radius: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.tooth-alignment h2 {
  position: relative;
  width: fit-content;
  margin-inline: auto;
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.tooth-alignment h2 {
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.tooth-alignment h2 {
    margin-bottom: 30px;
  }
}
section.tooth-alignment h2 span {
  position: relative;
  z-index: 2;
}
section.tooth-alignment h2::before {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  z-index: 1;
  color: #fff;
  -webkit-text-stroke: 8px #fff;
  paint-order: stroke fill;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.tooth-alignment h2::before {
    -webkit-text-stroke-width: 7px;
  }
}
section.tooth-alignment h2::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0.18em;
  left: 0;
  z-index: 0;
  height: 0.28em;
  background: #fbc235;
}
@media screen and (max-width: 767px) {
  section.tooth-alignment h2::after {
    bottom: 0.05em;
  }
}
section.tooth-alignment .tooth-alignment_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.tooth-alignment .tooth-alignment_list {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 1024px) {
  section.tooth-alignment .tooth-alignment_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  section.tooth-alignment .tooth-alignment_list {
    grid-template-columns: 1fr;
    max-width: 500px;
    margin-inline: auto;
  }
}
section.tooth-alignment .tooth-alignment_item {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 4px solid #e8758b;
  border-radius: 20px;
  background: #f8f5f0;
  font-family: "Noto Sans JP", sans-serif;
}
section.tooth-alignment .tooth-alignment_item h3 {
  display: grid;
  place-items: center;
  padding: 15px 8px;
  background: #e8758b;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.tooth-alignment .tooth-alignment_item h3 {
    font-size: max(20px, 20px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.tooth-alignment .tooth-alignment_item h3 {
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
    padding: 13px 8px;
  }
}
section.tooth-alignment .tooth-alignment_item .item_wrap {
  display: flex;
  flex-direction: column;
  padding: 25px;
  height: 100%;
}
@media screen and (max-width: 767px) {
  section.tooth-alignment .tooth-alignment_item .item_wrap {
    padding: 20px 16px 16px;
  }
}
section.tooth-alignment .tooth-alignment_item .item_wrap .tooth-alignment_img {
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 290/180;
  height: auto;
  border-radius: 10px;
  background: #fff;
}
section.tooth-alignment .tooth-alignment_item .item_wrap .tooth-alignment_img img {
  width: 150px;
  margin-inline: auto;
  aspect-ratio: 150/135;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  section.tooth-alignment .tooth-alignment_item .item_wrap .tooth-alignment_img img {
    width: 140px;
    aspect-ratio: 140/126;
  }
}
section.tooth-alignment .tooth-alignment_item .item_wrap > p {
  margin-top: 24px;
  margin-bottom: 24px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.tooth-alignment .tooth-alignment_item .item_wrap > p {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.tooth-alignment .tooth-alignment_item .item_wrap > strong {
  display: grid;
  place-items: center;
  margin-top: auto;
  border-radius: 20px;
  background: #505050;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  margin-top: auto;
  padding: 10px 8px;
}
@media screen and (max-width: 1439px) {
  section.tooth-alignment .tooth-alignment_item .item_wrap > strong {
    font-size: max(15px, 15px + 1 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.tooth-alignment .tooth-alignment_item .item_wrap > strong {
    padding: 6.2px 8px;
  }
}

section.effect-body .effect-body_title {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 20px;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.75;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.effect-body .effect-body_title {
    font-size: max(19.5px, 19.5px + 20.5 * (100vw - 390px) / 1049);
    padding-bottom: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
section.effect-body .effect-body_title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 16px;
  background: url("../img/effect-body_border_wave.png") center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_title::after {
    height: 12px;
    background: url("../img/effect-body_border_wave_sp.png") center/contain no-repeat;
  }
}
section.effect-body .effect-body_title span {
  color: #ed7c84;
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 1439px) {
  section.effect-body .effect-body_title span {
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_title span {
    letter-spacing: 0.05em;
  }
}
section.effect-body .effect-body_title .effect-body_illust_water,
section.effect-body .effect-body_title .effect-body_illust_wave {
  position: absolute;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_title .effect-body_illust_water,
  section.effect-body .effect-body_title .effect-body_illust_wave {
    display: none;
  }
}
section.effect-body .effect-body_title .effect-body_illust_water {
  bottom: 20px;
  left: 0;
  width: 60px;
  transform: translateX(-100%);
}
section.effect-body .effect-body_title .effect-body_illust_wave {
  bottom: 35px;
  right: -5px;
  width: 62px;
  transform: translateX(100%);
}
section.effect-body .effect-body_lead {
  margin-top: 55px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.effect-body .effect-body_lead {
    margin-top: max(25px, 25px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_lead p {
    letter-spacing: 0.1em;
  }
}
section.effect-body .effect-body_lead .md {
  margin-top: 4px;
  color: #ed7c84;
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.effect-body .effect-body_lead .md {
    font-size: max(16px, 16px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_lead .md {
    margin-top: 8px;
    letter-spacing: 0.1em;
  }
}
section.effect-body .effect-body_box {
  margin-top: 60px;
  padding: 58px 60px 50px;
  border-radius: 60px;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_box {
    margin-top: 30px;
    padding: 30px 20px;
    border-radius: 30px;
  }
}
section.effect-body .effect-body_box h3 {
  width: fit-content;
  margin: 0 auto;
  padding: 0 52.5px 18px;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0;
  font-family: "Zen Maru Gothic", sans-serif;
  position: relative;
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_box h3 {
    padding: 0 5px 10px;
    font-size: 20px;
  }
}
section.effect-body .effect-body_box h3::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 8px;
  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.effect-body .effect-body_box h3 small {
  display: block;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_box h3 small {
    font-size: 16px;
  }
}
section.effect-body .effect-body_box > p {
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.8;
}
section.effect-body .effect-body_box > p:first-of-type {
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  section.effect-body .effect-body_box > p:first-of-type {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.effect-body .effect-body_box > p + p {
  margin-top: 18px;
}
@media screen and (max-width: 1439px) {
  section.effect-body .effect-body_box > p + p {
    margin-top: max(10px, 10px + 8 * (100vw - 390px) / 1049);
  }
}
section.effect-body .effect-body_list {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 32px;
  position: relative;
}
@media screen and (max-width: 1439px) {
  section.effect-body .effect-body_list {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-top: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 5px 20px;
    max-width: 310px;
    margin-inline: auto;
  }
}
section.effect-body .effect-body_list > div {
  position: relative;
  width: 240px;
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_list > div {
    width: 145px;
  }
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_list > div:nth-child(1) {
    position: relative;
    order: 2;
    grid-column: 1/2;
  }
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_list > div:nth-child(2) {
    position: relative;
    order: 1;
    grid-column: 1/-1;
    justify-self: center;
  }
}
section.effect-body .effect-body_list > div:nth-child(2) p {
  top: 45px;
}
@media screen and (max-width: 1439px) {
  section.effect-body .effect-body_list > div:nth-child(2) p {
    top: max(25px, 25px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_list > div:nth-child(3) {
    position: relative;
    order: 3;
    grid-column: 2/3;
  }
}
section.effect-body .effect-body_list p {
  position: absolute;
  top: 35px;
  left: 50%;
  z-index: 1;
  transform: translateX(-50%);
  color: #505050;
  font-size: 32px;
  font-family: "Kaisei Opti", serif;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1439px) {
  section.effect-body .effect-body_list p {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
    top: max(23px, 23px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_list p {
    font-size: 20px;
    top: 23px;
  }
}
section.effect-body .effect-body_list img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  section.effect-body .effect-body_list img {
    width: 100%;
  }
}

section.reasons-merit {
  background: #fff;
  margin-top: 100px;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit {
    margin-top: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
section.reasons-merit .reasons-merit_title {
  background-image: url("../img/reasons-merit_title_bg.webp");
  position: relative;
  top: -100px;
  margin-bottom: -100px;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_title {
    top: min(-50px, -50px + -50 * (100vw - 390px) / 1049);
    margin-bottom: min(-50px, -50px + -50 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_title {
    background-image: url("../img/reasons-merit_title_bg_sp.webp");
  }
}
section.reasons-merit .reasons-merit_title h2 {
  letter-spacing: 0;
}
section.reasons-merit .reasons-merit_nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 19px;
  padding-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_nav {
    gap: max(10px, 10px + 9 * (100vw - 768px) / 671);
    padding-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_nav {
    grid-template-columns: repeat(2, 1fr);
    max-width: 500px;
    margin-inline: auto;
  }
}
section.reasons-merit .reasons-merit_nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 55px;
  padding: 0 14px 0 20px;
  background: #F8F5F0;
  border: 1px solid #505050;
  border-radius: 30px;
  color: #505050;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_nav a {
    font-size: max(13px, 13px + 5 * (100vw - 768px) / 671);
    height: max(40px, 40px + 15 * (100vw - 390px) / 1049);
    padding: 0 max(10px, 10px + 4 * (100vw - 768px) / 671) 0 max(10px, 10px + 10 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_nav a {
    font-size: max(14px, 14px + 4 * (100vw - 390px) / 1049);
    padding: 0 10px;
  }
}
section.reasons-merit .reasons-merit_nav a img {
  width: 25px;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_nav a img {
    width: max(15px, 15px + 10 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_nav a img {
    width: 15px;
  }
}
section.reasons-merit .reasons-merit_item {
  overflow: hidden;
  margin-top: 60px;
  padding: 0 60px 60px;
  border-radius: 40px;
  background: #f8f5f0;
  font-family: "Noto Sans JP", sans-serif;
  scroll-margin-top: 30px;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_item {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
    padding: 0 max(20px, 20px + 40 * (100vw - 390px) / 1049) max(30px, 30px + 30 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.reasons-merit .reasons-merit_item.reasons-merit_item01 {
  margin-top: 100px;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_item.reasons-merit_item01 {
    margin-top: max(50px, 50px + 50 * (100vw - 390px) / 1049);
  }
}
section.reasons-merit .reasons-merit_item header {
  display: flex;
  align-items: center;
  min-height: 150px;
  margin-left: -60px;
  margin-bottom: 40px;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_item header {
    min-height: max(86px, 86px + 64 * (100vw - 390px) / 1049);
    margin-left: min(-20px, -20px + -40 * (100vw - 390px) / 1049);
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_item header {
    align-items: stretch;
  }
}
section.reasons-merit .reasons-merit_item header > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  flex: 0 0 205px;
  border-radius: 40px 0 40px 0;
  background: #e8758b;
  color: #fbff22;
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.35;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_item header > span {
    flex: 0 0 max(93px, 93px + 112 * (100vw - 390px) / 1049);
    border-radius: max(25px, 25px + 15 * (100vw - 390px) / 1049) 0 max(25px, 25px + 15 * (100vw - 390px) / 1049) 0;
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
section.reasons-merit .reasons-merit_item header > span small {
  font-size: 32px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_item header > span small {
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
section.reasons-merit .reasons-merit_item header h3 {
  padding: 20px 24px;
  color: #ed7c84;
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_item header h3 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
    padding: max(10px, 10px + 10 * (100vw - 390px) / 1049) max(10px, 10px + 14 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_item header h3 {
    display: flex;
    align-items: center;
  }
}
section.reasons-merit .reasons-merit_row {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: 40px;
  align-items: start;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_row {
    grid-template-columns: 1fr max(250px, 250px + 90 * (100vw - 768px) / 671);
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_row {
    grid-template-columns: 1fr;
  }
}
section.reasons-merit .reasons-merit_row + .reasons-merit_row {
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_row + .reasons-merit_row {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.reasons-merit .reasons-merit_row > picture img {
  height: auto;
  aspect-ratio: 340/240;
  border-radius: 20px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_row > picture img {
    aspect-ratio: 310/210;
    max-width: 500px;
    margin-inline: auto;
    width: 100%;
  }
}
section.reasons-merit .reasons-merit_row_reverse {
  grid-template-columns: 340px 1fr;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_row_reverse {
    grid-template-columns: max(250px, 250px + 90 * (100vw - 768px) / 671) 1fr;
  }
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_row_reverse {
    grid-template-columns: 1fr;
  }
}
section.reasons-merit .reasons-merit_row_reverse .reasons-merit_text {
  order: 2;
}
section.reasons-merit .reasons-merit_row_reverse > img {
  order: 1;
}
section.reasons-merit .reasons-merit_text h4 {
  font-family: "Zen Maru Gothic", sans-serif;
  padding: 17px 0;
  border-top: 3px dashed #ed7c84;
  border-bottom: 3px dashed #ed7c84;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_text h4 {
    font-size: max(18px, 18px + 6 * (100vw - 390px) / 1049);
    padding: max(10px, 10px + 7 * (100vw - 390px) / 1049) 0;
  }
}
section.reasons-merit .reasons-merit_text p {
  margin-top: 24px;
}
@media screen and (max-width: 1439px) {
  section.reasons-merit .reasons-merit_text p {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-merit .reasons-merit_row .reasons-merit_text,
  section.reasons-merit .reasons-merit_row > img,
  section.reasons-merit .reasons-merit_row_reverse .reasons-merit_text,
  section.reasons-merit .reasons-merit_row_reverse > img {
    order: initial;
  }
}

section.scanner .scanner_intro {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 290px;
  margin-bottom: 64px;
  background: url("../img/scanner_title_bg.webp") center/100% 100% no-repeat;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_intro {
    height: max(174px, 174px + 116 * (100vw - 390px) / 1049);
    margin-bottom: max(57px, 57px + 7 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_intro {
    background-image: url("../img/scanner_title_bg_sp.webp");
  }
}
section.scanner .scanner_intro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: url("../img/scanner_title_bg_circle.webp") center/1440px 290px repeat-x;
  -webkit-mask: url("../img/scanner_title_bg.webp") center/100% 100% no-repeat;
  mask: url("../img/scanner_title_bg.webp") center/100% 100% no-repeat;
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_intro::before {
    background-size: 100px auto;
    background-position: right 0 bottom -17px;
    -webkit-mask-image: url("../img/kids-orth_title_bg_sp.webp");
    mask-image: url("../img/kids-orth_title_bg_sp.webp");
  }
}
section.scanner .scanner_intro::after {
  position: absolute;
  inset: 24px 20px;
  content: "";
  background: url("../img/scanner_title_border.webp") center/100% 100% no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_intro::after {
    inset: 12px 10px;
    background: url("../img/scanner_title_border_sp.webp") center/100% 100% no-repeat;
  }
}
section.scanner .scanner_intro h2 {
  position: relative;
  z-index: 1;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  margin-top: -30px;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_intro h2 {
    font-size: max(25px, 25px + 23 * (100vw - 390px) / 1049);
  }
}
section.scanner .scanner_intro img {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
section.scanner .scanner_intro_left {
  bottom: -100px;
  left: calc(50% - 730px);
  width: 355px;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_intro_left {
    left: max(-40px, -40px + 50 * (100vw - 390px) / 1049);
    width: max(147px, 147px + 208 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_intro_left {
    left: 10px;
    bottom: -45px;
  }
}
section.scanner .scanner_intro_right {
  right: calc(50% - 728px);
  bottom: -85px;
  width: 305.5px;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_intro_right {
    right: max(-28px, -28px + 28 * (100vw - 390px) / 1049);
    width: max(142px, 142px + 163.5 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_intro_right {
    right: 10px;
    bottom: -45px;
  }
}
section.scanner .scanner_reason_title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 750px;
  min-height: 105px;
  margin-inline: auto;
  color: #fff;
  background: url("../img/scanner_sub_title_bg.png") center/100% 100% no-repeat;
  font-size: 40px;
  letter-spacing: 0.08em;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  font-family: "Kaisei Opti", serif;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_reason_title {
    width: max(350px, 350px + 308 * (100vw - 390px) / 1049);
    min-height: max(85px, 85px + 7 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_reason_title {
    background: url("../img/scanner_sub_title_bg_sp.webp") center/100% 100% no-repeat;
  }
}
section.scanner .scanner_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 97px 40px;
  margin-top: 117px;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_list {
    margin-top: max(70px, 70px + 47 * (100vw - 390px) / 1049);
    gap: max(60px, 60px + 37 * (100vw - 390px) / 1049) max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_list {
    display: flex;
    flex-direction: column;
    max-width: 500px;
    margin-inline: auto;
  }
}
section.scanner .scanner_item {
  position: relative;
  padding: 84px 36px 34px;
  border: 4px solid #ed7c84;
  border-radius: 30px;
  background: #fff;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_item {
    padding: max(54px, 54px + 30 * (100vw - 390px) / 1049) max(17px, 17px + 19 * (100vw - 390px) / 1049) max(20px, 20px + 14 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_item {
    border-width: 3px;
  }
}
section.scanner .scanner_item h3 {
  position: absolute;
  top: -57px;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 400px;
  padding: 16px 20px 19px;
  transform: translateX(-50%);
  border-radius: 52px;
  color: #fff;
  background: #ed7c84;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_item h3 {
    top: min(-47px, -47px + -10 * (100vw - 390px) / 1049);
    width: max(300px, 300px + 100 * (100vw - 768px) / 671);
    padding: max(8px, 8px + 8 * (100vw - 390px) / 1049) max(10px, 10px + 10 * (100vw - 390px) / 1049) max(10px, 10px + 9 * (100vw - 390px) / 1049);
    font-size: max(18px, 18px + 6 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_item h3 {
    border-radius: 42px;
  }
}
section.scanner .scanner_item h3::after {
  position: absolute;
  bottom: 1px;
  left: 50%;
  width: 40px;
  height: 15px;
  transform: translate(-50%, 100%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
  background: #ed7c84;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_item h3::after {
    width: max(30px, 30px + 10 * (100vw - 390px) / 1049);
  }
}
section.scanner .scanner_item img {
  display: block;
  width: 100%;
  aspect-ratio: 450/280;
  margin: 0 auto;
  border-radius: 25px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_item img {
    border-radius: 15px;
    aspect-ratio: 310/180;
  }
}
section.scanner .scanner_item p {
  margin-top: 24px;
}
@media screen and (max-width: 1439px) {
  section.scanner .scanner_item p {
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.scanner .scanner_item p {
    letter-spacing: 0;
  }
}

section.orth-types {
  position: relative;
  z-index: 2;
  background: url("../img/orth-types_bg.webp") center top/100% 100% no-repeat;
  padding-bottom: 130px;
}
@media screen and (max-width: 1439px) {
  section.orth-types {
    padding-bottom: max(90px, 90px + 40 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.orth-types {
    background: url("../img/orth-types_bg_sp.webp") center top/100% 100% no-repeat;
  }
}
section.orth-types .orth-types_title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-inline: auto;
}
section.orth-types .orth-types_title::before {
  position: absolute;
  top: 82px;
  left: 50%;
  width: 55px;
  height: 135px;
  transform: translateX(-50%);
  content: "";
  background: url("../img/orth-types_title_ccircles.png") center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_title::before {
    top: max(80px, 80px + 2 * (100vw - 390px) / 1049);
    width: max(40px, 40px + 15 * (100vw - 390px) / 1049);
    height: max(90px, 90px + 45 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.orth-types .orth-types_title::before {
    background: url("../img/orth-types_title_ccircles_sp.webp") center/contain no-repeat;
  }
}
section.orth-types .orth-types_title h2 {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 700px;
  height: 120px;
  border-radius: 999px;
  background: #493b3c;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_title h2 {
    width: max(350px, 350px + 350 * (100vw - 390px) / 1049);
    height: max(105px, 105px + 15 * (100vw - 390px) / 1049);
    font-size: max(32px, 32px + 16 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.orth-types .orth-types_title h2 {
    flex-direction: column;
    line-height: 0.9;
    padding-top: 10px;
  }
}
section.orth-types .orth-types_title h2 span {
  color: #fbff22;
}
section.orth-types .orth-types_title img {
  position: absolute;
  right: 9px;
  top: 69px;
  z-index: 1;
  width: 170px;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_title img {
    right: max(1px, 1px + 8 * (100vw - 390px) / 1049);
    width: max(100px, 100px + 58 * (100vw - 390px) / 1049);
    top: max(48px, 48px + 21 * (100vw - 390px) / 1049);
  }
}
section.orth-types .orth-types_scroll_wrap {
  position: relative;
  width: min(1100px, 100%);
  margin: 130px auto 0;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_scroll_wrap {
    margin-top: max(92px, 92px + 38 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.orth-types .orth-types_scroll_wrap {
    padding-right: 20px;
  }
}
section.orth-types .orth-types_scroll_wrap.is-scrollable::after {
  position: absolute;
  top: calc((100% - 38px) / 2);
  right: -32px;
  z-index: 2;
  width: 20px;
  height: 180px;
  content: "";
  background: #0067ac;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  pointer-events: none;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  section.orth-types .orth-types_scroll_wrap.is-scrollable::after {
    right: -12px;
  }
}
section.orth-types .orth-types_scroll_wrap.is-scrollable .scroll_table_navi {
  display: flex;
}
section.orth-types .orth-types_scroll {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
section.orth-types .scroll_table_navi {
  display: none;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 20px;
  color: #493b3c;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-right: -20px;
}
section.orth-types .scroll_table_navi span {
  line-height: 1;
}
section.orth-types .scroll_table_navi img {
  display: block;
  width: 21px;
  height: auto;
}
section.orth-types .orth-types_table {
  width: 100%;
  margin: 0;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: separate;
}
@media screen and (max-width: 767px) {
  section.orth-types .orth-types_table {
    width: 790px;
  }
}
section.orth-types .orth-types_table th,
section.orth-types .orth-types_table td {
  border: 1px solid #D9D9D9;
  text-align: center;
}
section.orth-types .orth-types_table th {
  width: 200px;
  padding: 16px 14px;
  color: #fff;
  background: #493b3c;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0;
  vertical-align: middle;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_table th {
    width: max(100px, 100px + 100 * (100vw - 390px) / 1049);
    padding: max(10px, 10px + 6 * (100vw - 390px) / 1049) max(8px, 8px + 6 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
section.orth-types .orth-types_table tr:last-child th {
  border-bottom-left-radius: 20px;
}
@media screen and (max-width: 767px) {
  section.orth-types .orth-types_table tr:last-child th {
    border-bottom-left-radius: 15px;
  }
}
section.orth-types .orth-types_table tr:last-child td:last-child {
  border-bottom-right-radius: 20px;
}
@media screen and (max-width: 767px) {
  section.orth-types .orth-types_table tr:last-child td:last-child {
    border-bottom-right-radius: 15px;
  }
}
section.orth-types .orth-types_table td {
  width: 300px;
  padding: 18px 20px;
  background: #fff;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_table td {
    width: max(230px, 230px + 70 * (100vw - 390px) / 1049);
    padding: max(10px, 10px + 8 * (100vw - 390px) / 1049) max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
section.orth-types .orth-types_table tr:first-child th,
section.orth-types .orth-types_table tr:first-child td {
  padding-top: 0;
  padding-bottom: 0;
}
section.orth-types .orth-types_table tr:nth-child(2) th {
  border-top-left-radius: 20px;
}
section.orth-types .orth-types_table tr:nth-child(2) th,
section.orth-types .orth-types_table tr:nth-child(2) td {
  padding: 15px 20px;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_table tr:nth-child(2) th,
  section.orth-types .orth-types_table tr:nth-child(2) td {
    padding: max(10px, 10px + 5 * (100vw - 390px) / 1049) max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
section.orth-types .orth-types_blue {
  --orth-main: #0067ac;
}
section.orth-types .orth-types_green {
  --orth-main: #68cbc2;
}
section.orth-types .orth-types_yellow {
  --orth-main: #EF8B36;
}
section.orth-types .orth-types_table .orth-types_empty {
  border: none;
  background: transparent;
}
section.orth-types .orth-types_table .orth-types_col_head {
  width: 300px;
  padding: 0;
  background: var(--orth-main);
  border-right: none;
  border-left: none;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_table .orth-types_col_head {
    width: max(230px, 230px + 70 * (100vw - 390px) / 1049);
  }
}
section.orth-types .orth-types_table h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 12px;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_table h3 {
    padding: max(10px, 10px + 15 * (100vw - 390px) / 1049) max(8px, 8px + 4 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
section.orth-types .orth-types_table tr:first-child .orth-types_col_head {
  border-radius: 20px 20px 0 0;
}
@media screen and (max-width: 767px) {
  section.orth-types .orth-types_table tr:first-child .orth-types_col_head {
    border-radius: 15px 15px 0 0;
  }
}
section.orth-types .orth-types_table .orth-types_img {
  width: 100%;
  aspect-ratio: 260/170;
  background: #fff;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_table .orth-types_img {
    aspect-ratio: 210/100;
  }
}
section.orth-types .orth-types_table .orth-types_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
section.orth-types .orth-types_table p {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  color: #505050;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_table p {
    gap: max(4px, 4px + 4 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 6 * (100vw - 390px) / 1049);
  }
}
section.orth-types .orth-types_table strong {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 58px;
  color: var(--orth-main);
  font-size: 48px;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_table strong {
    height: max(29px, 29px + 29 * (100vw - 390px) / 1049);
    font-size: max(24px, 24px + 24 * (100vw - 390px) / 1049);
  }
}
section.orth-types .orth-types_table small {
  display: block;
  margin-top: 10px;
  color: #505050;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  section.orth-types .orth-types_table small {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}

section.reasons-choice {
  margin-top: -30px;
  z-index: 1;
  position: relative;
  overflow: hidden;
  color: #fff;
  background: #ffc02f url("../img/reasons-choice_title_bg_circle.png") center top/2015px 377px repeat;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice {
    margin-top: min(-20px, -20px + -10 * (100vw - 390px) / 1049);
  }
}
section.reasons-choice .reasons-choice_title {
  position: relative;
  display: grid;
  place-items: center;
  padding-bottom: 86px;
  color: #505050;
  background: #fff;
  margin-top: 380px;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_title {
    margin-top: max(170px, 170px + 210 * (100vw - 390px) / 1049);
    padding-bottom: max(36px, 36px + 50 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_title {
    padding: 20px 0 30px;
  }
}
section.reasons-choice .reasons-choice_title::before {
  content: "";
  z-index: 0;
  position: absolute;
  top: 1px;
  left: 0;
  width: 100%;
  transform: translateY(-100%);
  height: 183.5px;
  background: url("../img/reasons-choice_title_bg_top.webp") center top/100% 100% no-repeat;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_title::before {
    height: max(60px, 60px + 123.5 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_title::before {
    background: url("../img/reasons-choice_title_bg_top_sp.webp") center top/100% 100% no-repeat;
    top: 1px;
  }
}
section.reasons-choice .reasons-choice_title h2,
section.reasons-choice .reasons-choice_title p {
  position: relative;
  z-index: 1;
  font-family: "Kaisei Opti", serif;
}
section.reasons-choice .reasons-choice_title h2 {
  margin-bottom: 5px;
  font-size: 48px;
  letter-spacing: 0.08em;
  font-weight: 700;
  line-height: 2;
  margin-top: -30px;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_title h2 {
    font-size: max(24px, 24px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_title h2 {
    line-height: 1.8;
    letter-spacing: 0;
  }
}
section.reasons-choice .reasons-choice_title p {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 110px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_title p {
    min-height: max(80px, 80px + 30 * (100vw - 390px) / 1049);
  }
}
section.reasons-choice .reasons-choice_title p strong,
section.reasons-choice .reasons-choice_title p span {
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #e8758b;
}
section.reasons-choice .reasons-choice_title p strong {
  width: 110px;
  height: 110px;
  font-size: 64px;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_title p strong {
    width: max(80px, 80px + 30 * (100vw - 390px) / 1049);
    height: max(80px, 80px + 30 * (100vw - 390px) / 1049);
    font-size: max(48px, 48px + 16 * (100vw - 390px) / 1049);
  }
}
section.reasons-choice .reasons-choice_title p span {
  width: 75px;
  height: 75px;
  margin-left: -15px;
  font-size: 40px;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_title p span {
    width: max(60px, 60px + 15 * (100vw - 390px) / 1049);
    height: max(60px, 60px + 15 * (100vw - 390px) / 1049);
    margin-left: max(-12px, -15px + 3 * (100vw - 390px) / 1049);
    font-size: max(32px, 32px + 8 * (100vw - 390px) / 1049);
  }
}
section.reasons-choice .reasons-choice_title_img01,
section.reasons-choice .reasons-choice_title_img02 {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}
section.reasons-choice .reasons-choice_title_img01 {
  top: -165px;
  left: 31px;
  left: calc(50% - 689px);
  width: 255px;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_title_img01 {
    top: min(-65px, -65px + -100 * (100vw - 390px) / 1049);
    left: max(10px, 10px + 21 * (100vw - 390px) / 1049);
    width: max(80px, 80px + 175 * (100vw - 390px) / 1049);
  }
}
section.reasons-choice .reasons-choice_title_img02 {
  right: 30px;
  right: calc(50% - 690px);
  top: -197px;
  width: 225px;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_title_img02 {
    right: max(10px, 10px + 50 * (100vw - 390px) / 1049);
    top: min(-65px, -65px + -132 * (100vw - 390px) / 1049);
    width: max(76px, 76px + 149 * (100vw - 390px) / 1049);
  }
}
section.reasons-choice .reasons-choice_list {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100vw;
  max-width: none;
  margin: -1px calc(50% - 50vw) 0;
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_list {
    display: block;
    width: 100%;
    margin: -1px 0 0;
  }
}
section.reasons-choice .reasons-choice_item {
  --choice-bg-color: #e8758b;
  position: relative;
  overflow: hidden;
  background-color: var(--choice-bg-color);
  background-image: var(--choice-bg);
  background-position: center bottom;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item {
    background-position: center bottom;
  }
}
section.reasons-choice .reasons-choice_item > picture img {
  width: calc(100% - 170px);
  border-radius: 0 0 40px 0;
  object-fit: cover;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_item > picture img {
    width: calc(100% - max(90px, 90px + 80 * (100vw - 768px) / 671));
  }
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item > picture img {
    width: calc(100% - 90px);
    border-radius: 0 0 26px 0;
  }
}
section.reasons-choice .reasons-choice_item01 {
  --choice-bg-color: #e8758b;
  --choice-bg: url("../img/reasons-choice_choice_list_bg01.webp");
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item01 {
    --choice-bg: url("../img/reasons-choice_choice_list_bg01_sp.webp");
  }
}
section.reasons-choice .reasons-choice_item02 {
  --choice-bg-color: #f58a2d;
  --choice-bg: url("../img/reasons-choice_choice_list_bg02.webp");
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item02 {
    --choice-bg: url("../img/reasons-choice_choice_list_bg02_sp.webp");
  }
}
section.reasons-choice .reasons-choice_item03 {
  --choice-bg-color: #68cbc2;
  --choice-bg: url("../img/reasons-choice_choice_list_bg03.webp");
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item03 {
    --choice-bg: url("../img/reasons-choice_choice_list_bg03_sp.webp");
  }
}
section.reasons-choice .reasons-choice_item04 {
  --choice-bg-color: #81bb05;
  --choice-bg: url("../img/reasons-choice_choice_list_bg04.webp");
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item04 {
    --choice-bg: url("../img/reasons-choice_choice_list_bg04_sp.webp");
  }
}
section.reasons-choice .reasons-choice_item05 {
  --choice-bg-color: #f6c400;
  --choice-bg: url("../img/reasons-choice_choice_list_bg05.webp");
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item05 {
    --choice-bg: url("../img/reasons-choice_choice_list_bg05_sp.webp");
  }
}
section.reasons-choice .reasons-choice_item06 {
  --choice-bg-color: #0071bc;
  --choice-bg: url("../img/reasons-choice_choice_list_bg06.webp");
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item06 {
    --choice-bg: url("../img/reasons-choice_choice_list_bg06_sp.webp");
  }
}
section.reasons-choice .reasons-choice_item07 {
  --choice-bg-color: #ad82d2;
  --choice-bg: url("../img/reasons-choice_choice_list_bg07.webp");
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item07 {
    --choice-bg: url("../img/reasons-choice_choice_list_bg07_sp.webp");
  }
}
section.reasons-choice .reasons-choice_item08 {
  --choice-bg-color: #32ad70;
  --choice-bg: url("../img/reasons-choice_choice_list_bg08.webp");
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_item08 {
    --choice-bg: url("../img/reasons-choice_choice_list_bg08_sp.webp");
  }
}
section.reasons-choice .reasons-choice_num {
  position: absolute;
  top: 45px;
  right: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_num {
    top: max(15px, 15px + 30 * (100vw - 768px) / 671);
    right: max(20px, 20px + 20 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_num {
    top: 15px;
    right: 20px;
    gap: 7px;
  }
}
section.reasons-choice .reasons-choice_num span {
  writing-mode: vertical-rl;
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
  margin-right: -5px;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_num span {
    font-size: max(32px, 32px + 4 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_num span {
    margin-right: -12px;
  }
}
section.reasons-choice .reasons-choice_num strong {
  position: relative;
  display: grid;
  place-items: center;
  width: 90px;
  height: 82px;
  color: var(--choice-bg-color);
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  isolation: isolate;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_num strong {
    width: max(60px, 60px + 30 * (100vw - 768px) / 671);
    height: max(55px, 55px + 27 * (100vw - 768px) / 671);
    font-size: max(40px, 40px + -8 * (100vw - 768px) / 671);
    padding-bottom: 5px;
  }
}
@media screen and (max-width: 767px) {
  section.reasons-choice .reasons-choice_num strong {
    padding-bottom: 10px;
  }
}
section.reasons-choice .reasons-choice_num strong::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #fff;
  -webkit-mask: url("../img/icon_tooth.svg") center/contain no-repeat;
  mask: url("../img/icon_tooth.svg") center/contain no-repeat;
}
section.reasons-choice .reasons-choice_text {
  padding: 24px 40px 60px;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_text {
    padding: max(12px, 12px + 12 * (100vw - 390px) / 1049) max(20px, 20px + 20 * (100vw - 390px) / 1049) max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.reasons-choice .reasons-choice_text h3 {
  margin-bottom: 24px;
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.reasons-choice .reasons-choice_text h3 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.reasons-choice .reasons-choice_text p {
  color: #fff;
}

section.greeting .section_heading,
section.flow .section_heading {
  position: relative;
  z-index: 1;
  text-align: center;
}
section.greeting .section_heading h2,
section.flow .section_heading h2 {
  margin-top: 24px;
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.greeting .section_heading h2,
  section.flow .section_heading h2 {
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.greeting .section_heading_en,
section.flow .section_heading_en {
  display: flex;
  justify-content: center;
  gap: 9px;
  color: #e97a8c;
  font-family: "Quicksand", sans-serif;
  font-size: 90px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  section.greeting .section_heading_en,
  section.flow .section_heading_en {
    gap: max(4px, 4px + 5 * (100vw - 390px) / 1049);
    font-size: max(40px, 40px + 50 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.greeting .section_heading_en,
  section.flow .section_heading_en {
    line-height: 0.9;
  }
}
section.greeting .section_heading_en span,
section.flow .section_heading_en span {
  line-height: 0.7;
}
@media screen and (max-width: 767px) {
  section.greeting .section_heading_en span,
  section.flow .section_heading_en span {
    line-height: 0.9;
  }
}
section.greeting .section_heading_en span:nth-child(2),
section.greeting .section_heading_en span:nth-child(8),
section.flow .section_heading_en span:nth-child(2),
section.flow .section_heading_en span:nth-child(8) {
  color: #f58a2d;
}
section.greeting .section_heading_en span:nth-child(3),
section.flow .section_heading_en span:nth-child(3) {
  color: #68cbc2;
}
section.greeting .section_heading_en span:nth-child(4),
section.flow .section_heading_en span:nth-child(4) {
  color: #81bb05;
}
section.greeting .section_heading_en span:nth-child(5),
section.flow .section_heading_en span:nth-child(5) {
  color: #eebf00;
}
section.greeting .section_heading_en span:nth-child(6),
section.flow .section_heading_en span:nth-child(6) {
  color: #0067ac;
}

section.greeting {
  position: relative;
  color: #505050;
  background: #fff;
  padding-bottom: 60px;
  z-index: 0;
}
@media screen and (max-width: 1439px) {
  section.greeting {
    padding-bottom: max(55px, 55px + 5 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.greeting {
    padding-top: 390px;
  }
}
section.greeting::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 2;
  width: 100vw;
  height: 37px;
  transform: translate(-50%, 100%);
  background: url("../img/section_wave_bottom_white.png") center bottom/1440px 37px repeat-x;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.greeting::after {
    height: 20px;
    background: url("../img/section_wave_bottom_white_sp.webp") center bottom/390px 20px repeat-x;
  }
}
section.greeting .greeting_main {
  position: relative;
  z-index: 0;
}
section.greeting .greeting_main::before, section.greeting .greeting_main::after {
  content: "";
  position: absolute;
  z-index: 0;
  background: center/contain no-repeat;
  pointer-events: none;
}
section.greeting .greeting_main::before {
  top: -147px;
  right: calc(50% - 825px);
  width: 587px;
  height: 502px;
  background-image: url("../img/greeting_cloud_pink.webp");
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_main::before {
    top: min(-38px, -38px + -109 * (100vw - 390px) / 1049);
    right: min(-58px, -58px + -47 * (100vw - 390px) / 1049);
    width: max(301px, 301px + 286 * (100vw - 390px) / 1049);
    height: max(258px, 258px + 244 * (100vw - 390px) / 1049);
  }
}
section.greeting .greeting_main::after {
  top: 500px;
  left: calc(50% - 808px);
  width: 456px;
  height: 389px;
  z-index: -1;
  background-image: url("../img/greeting_cloud_blue.webp");
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_main::after {
    width: max(180px, 180px + 276 * (100vw - 390px) / 1049);
    height: max(154px, 154px + 235 * (100vw - 390px) / 1049);
    top: max(415px, 415px + 85 * (100vw - 390px) / 1049);
    left: min(-50px, -50px + -38 * (100vw - 390px) / 1049);
  }
}
section.greeting .greeting_content {
  position: relative;
  z-index: 0;
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_content {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.greeting .greeting_content .greeting_img {
  width: 800px;
  position: absolute;
  z-index: -1;
  left: -320px;
  top: -205px;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_content .greeting_img {
    width: max(450px, 450px + 350 * (100vw - 768px) / 671);
    left: max(-100px, -100px + -220 * (100vw - 390px) / 1049);
    top: min(-50px, -50px + -155 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_content .greeting_img {
    position: absolute;
    top: -543px;
    left: -134px;
    max-width: none;
    margin: 0;
  }
}
section.greeting .greeting_content .greeting_img img {
  width: 100%;
}
section.greeting .greeting_content .greeting_img .greeting_name {
  position: relative;
  z-index: 1;
  width: fit-content;
  margin-inline: auto;
  margin-top: 40px;
  padding-left: 40px;
  font-size: 24px;
  letter-spacing: 0;
  font-weight: 700;
  line-height: 1.55;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_content .greeting_img .greeting_name {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_content .greeting_img .greeting_name {
    display: none;
  }
}
section.greeting .greeting_content .greeting_img .greeting_name strong {
  font-size: 32px;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_content .greeting_img .greeting_name strong {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.greeting .greeting_content .greeting_text {
  max-width: 660px;
  margin-left: auto;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_content .greeting_text {
    max-width: max(350px, 350px + 310 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_content .greeting_text {
    max-width: 100%;
  }
}
section.greeting .greeting_content .greeting_text .greeting_lead {
  margin-bottom: 40px;
  font-family: "Kaisei Opti", serif;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_content .greeting_text .greeting_lead {
    font-size: max(14px, 14px + 10 * (100vw - 390px) / 1049);
    margin-bottom: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.greeting .greeting_content .greeting_text .greeting_lead strong {
  display: inline-block;
  font-size: 32px;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_content .greeting_text .greeting_lead strong {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.greeting .greeting_content .greeting_text .greeting_message {
  max-width: 660px;
  font-family: "Noto Sans JP", sans-serif;
}
section.greeting .greeting_content .greeting_text .greeting_message p {
  letter-spacing: 0;
  line-height: 1.8;
}
section.greeting .greeting_profile {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.greeting .greeting_profile {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_profile {
    grid-template-columns: 1fr;
  }
}
section.greeting .greeting_profile > div {
  min-width: 0;
  --profile-color: #e97a8c;
}
section.greeting .greeting_profile > div:nth-child(2) {
  --profile-color: #0067ac;
}
section.greeting .greeting_profile > div h3 {
  display: grid;
  place-items: center;
  height: 65px;
  margin-bottom: 24px;
  border: 5px solid var(--profile-color);
  border-radius: 10px;
  outline: 2px dashed #fff;
  outline-offset: -10px;
  background: var(--profile-color);
  color: #fff;
  font-family: "Kaisei Opti", serif;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_profile > div h3 {
    height: 60px;
    margin-bottom: 12px;
    font-size: 20px;
  }
}
section.greeting .greeting_profile ul {
  display: grid;
  gap: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_profile ul {
    gap: 10px;
    font-size: 14px;
  }
}
section.greeting .greeting_profile ul li {
  position: relative;
  padding-left: 15px;
}
section.greeting .greeting_profile ul li::before {
  content: "";
  position: absolute;
  top: 0.58em;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--profile-color);
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_profile > div + div {
    margin-top: 20px;
  }
}
section.greeting .greeting_slider {
  margin-top: 100px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_slider {
    margin-top: 50px;
  }
}
section.greeting .greeting_slider .splide__track {
  overflow: visible;
}
section.greeting .greeting_slider .splide__list {
  will-change: transform;
}
section.greeting .greeting_slide {
  display: flex;
  align-items: flex-start;
  width: auto !important;
  margin-right: 40px;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_slide {
    margin-right: 14px;
  }
}
section.greeting .greeting_slide img {
  max-width: none;
  border-radius: 60px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_slide img {
    border-radius: 50px;
  }
}
section.greeting .greeting_slide_large {
  padding-top: 40px;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_slide_large {
    padding-top: 35px;
  }
}
section.greeting .greeting_slide_large img {
  width: 380px;
  height: 280px;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_slide_large img {
    width: 226px;
    height: 166px;
  }
}
section.greeting .greeting_slide_square img {
  width: 240px;
  height: 240px;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_slide_square img {
    width: 139px;
    height: 139px;
  }
}
section.greeting .greeting_slide_tall {
  padding-top: 54px;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_slide_tall {
    padding-top: 35px;
  }
}
section.greeting .greeting_slide_tall img {
  width: 240px;
  height: 300px;
}
@media screen and (max-width: 767px) {
  section.greeting .greeting_slide_tall img {
    width: 118px;
    height: 180px;
  }
}

@keyframes greeting_marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(var(--greeting-marquee-dist, -50%));
  }
}
section.flow {
  position: relative;
  overflow: hidden;
  padding: 100px 0 160px;
  color: #505050;
}
@media screen and (max-width: 1439px) {
  section.flow {
    padding-top: max(70px, 70px + 30 * (100vw - 390px) / 1049);
    padding-bottom: max(80px, 80px + 80 * (100vw - 390px) / 1049);
  }
}
section.flow .flow_heading h2 {
  position: relative;
  width: fit-content;
  margin: 24px auto;
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1439px) {
  section.flow .flow_heading h2 {
    margin: max(12px, 12px + 12 * (100vw - 390px) / 1049) auto;
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
section.flow .flow_heading h2::before, section.flow .flow_heading h2::after {
  content: "";
  position: absolute;
  top: -12px;
  width: 55px;
  height: 61px;
  background: center/contain no-repeat;
}
@media screen and (max-width: 767px) {
  section.flow .flow_heading h2::before, section.flow .flow_heading h2::after {
    top: 25px;
    width: 30px;
    height: 33px;
  }
}
section.flow .flow_heading h2::before {
  left: -65px;
  background-image: url("../img/flow_title_illust01.png");
}
@media screen and (max-width: 767px) {
  section.flow .flow_heading h2::before {
    left: -40px;
  }
}
section.flow .flow_heading h2::after {
  right: -65px;
  background-image: url("../img/flow_title_illust02.png");
}
@media screen and (max-width: 767px) {
  section.flow .flow_heading h2::after {
    right: -40px;
  }
}
section.flow .flow_title_jp {
  display: grid;
  place-items: center;
  width: 290px;
  height: 80px;
  margin-inline: auto;
  background: url("../img/flow_step_img.png") center/100% 100% no-repeat;
  color: transparent;
  font-family: "Kaisei Opti", serif;
  font-size: 0;
  line-height: 0;
}
@media screen and (max-width: 1439px) {
  section.flow .flow_title_jp {
    width: max(144px, 144px + 146 * (100vw - 390px) / 1049);
    height: max(45px, 45px + 35 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.flow .flow_title_jp {
    background: url("../img/flow_step_img_sp.png") center/100% 100% no-repeat;
  }
}
section.flow .flow_list {
  --flow-list-gap: 40px;
  --flow-step-size: 110px;
  --flow-line-left: 52.5px;
  position: relative;
  display: grid;
  gap: var(--flow-list-gap);
  max-width: 1100px;
  margin: 60px auto 0;
}
@media screen and (max-width: 1439px) {
  section.flow .flow_list {
    --flow-list-gap: max(20px, calc(20px + (40 - 20) * ((100vw - 390px) / (1439 - 390))));
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.flow .flow_list {
    --flow-step-size: 80px;
    --flow-line-left: 37.5px;
  }
}
section.flow .flow_item {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 110px 300px 1fr;
  gap: 20px 40px;
  align-items: start;
}
@media screen and (max-width: 1439px) {
  section.flow .flow_item {
    grid-template-columns: max(80px, 80px + 30 * (100vw - 390px) / 1049) max(200px, 200px + 100 * (100vw - 390px) / 1049) 1fr;
    gap: max(10px, 10px + 10 * (100vw - 390px) / 1049) max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.flow .flow_item {
    grid-template-columns: 80px 1fr;
    gap: 20px;
  }
}
section.flow .flow_item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(var(--flow-step-size) / 2);
  bottom: calc(var(--flow-list-gap) * -1 - var(--flow-step-size) / 2);
  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, #F9C12F 100%, transparent 100%);
  background-size: 5px 30px;
  background-repeat: repeat-y;
}
section.flow .flow_item figure {
  overflow: hidden;
  border-radius: 10px;
  margin-left: -20px;
}
@media screen and (max-width: 1439px) {
  section.flow .flow_item figure {
    margin-left: min(0px, 0px + -20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.flow .flow_item figure {
    border-radius: 10px;
    margin-left: 0;
  }
}
section.flow .flow_item figure img {
  width: 100%;
  height: auto;
  aspect-ratio: 320/240;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  section.flow .flow_item figure img {
    aspect-ratio: 250/185;
  }
}
@media screen and (max-width: 767px) {
  section.flow .flow_item figure + div {
    grid-column: 2/3;
  }
}
section.flow .flow_item figure + div h3 {
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  section.flow .flow_item figure + div h3 {
    margin-bottom: 7px;
    font-size: 16px;
  }
}
section.flow .flow_item figure + div p {
  font-weight: 400;
  letter-spacing: 0;
}
section.flow .flow_step {
  position: relative;
  display: grid;
  place-items: center;
  width: 110px;
  height: 110px;
  color: #fff;
  font-family: "Kaisei Opti", serif;
  line-height: 1.2;
}
@media screen and (max-width: 1439px) {
  section.flow .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 .flow_step {
    width: 80px;
    height: 80px;
  }
}
section.flow .flow_step::before, section.flow .flow_step::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #f5bdd1;
  mask: url("../img/step_bg02.svg") center/contain no-repeat;
}
section.flow .flow_step::after {
  inset: 5px;
  background: #e97a8c;
  mask-image: url("../img/step_bg01.svg");
}
@media screen and (max-width: 767px) {
  section.flow .flow_step::after {
    inset: 5px;
  }
}
section.flow .flow_step span,
section.flow .flow_step strong {
  position: relative;
  z-index: 1;
  display: block;
}
section.flow .flow_step span {
  margin-top: 10px;
  font-size: 22px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  section.flow .flow_step span {
    margin-top: 0;
    font-size: 16px;
  }
}
section.flow .flow_step strong {
  margin-top: -13px;
  font-size: 36px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  section.flow .flow_step strong {
    margin-top: -30px;
    font-size: 24px;
  }
}
section.flow .flow_item:nth-child(even) .flow_step::before {
  background: #fbdf00;
}
section.flow .flow_item:nth-child(even) .flow_step::after {
  background: #eebf00;
}

section.payment {
  position: relative;
  color: #505050;
  background: #fff;
}
@media screen and (max-width: 767px) {
  section.payment {
    padding-bottom: 56px;
  }
}
section.payment::before, section.payment::after {
  content: "";
  position: absolute;
  top: 39px;
  z-index: 0;
  width: 202px;
  height: 153px;
  background: center/contain no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 1439px) {
  section.payment::before, section.payment::after {
    top: max(-3px, -3px + 92 * (100vw - 390px) / 1049);
    width: max(67px, 67px + 135 * (100vw - 390px) / 1049);
    height: max(51px, 51px + 102 * (100vw - 390px) / 1049);
  }
}
section.payment::before {
  left: calc(50% - 713px);
  background-image: url("../img/payment_shapes_left.webp");
}
@media screen and (max-width: 1439px) {
  section.payment::before {
    left: 7px;
  }
}
@media screen and (max-width: 767px) {
  section.payment::before {
    left: 0;
  }
}
section.payment::after {
  right: calc(50% - 726px);
  background-image: url("../img/payment_shapes_right.webp");
}
@media screen and (max-width: 1439px) {
  section.payment::after {
    right: -6px;
  }
}
@media screen and (max-width: 767px) {
  section.payment::after {
    right: -10px;
  }
}
section.payment .payment_title {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: grid;
  place-items: center;
  width: 480px;
  height: 90px;
  overflow: hidden;
  background: url("../img/payment_title_bg.png") center/100% 100% no-repeat;
  color: #fff;
  font-family: "Kaisei Opti", serif;
}
@media screen and (max-width: 1439px) {
  section.payment .payment_title {
    width: max(240px, 240px + 240 * (100vw - 390px) / 1049);
    height: max(52px, 52px + 38 * (100vw - 390px) / 1049);
    margin-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.payment .payment_title h2 {
  z-index: 1;
  font-size: 48px;
  font-weight: 500;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.payment .payment_title h2 {
    font-size: max(24px, 24px + 24 * (100vw - 390px) / 1049);
  }
}
section.payment .payment_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1439px) {
  section.payment .payment_list {
    gap: max(10px, 10px + 30 * (100vw - 390px) / 1049);
  }
}
section.payment .payment_list li {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  aspect-ratio: 1;
  width: 100%;
  margin: 0 auto;
  gap: 16px;
  background: #fff3f3;
  -webkit-mask: url("../img/flower-clip.svg") center/contain no-repeat;
  mask: url("../img/flower-clip.svg") center/contain no-repeat;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.payment .payment_list li {
    width: max(110px, 110px + 230 * (100vw - 390px) / 1049);
    height: max(110px, 110px + 230 * (100vw - 390px) / 1049);
    gap: max(5px, 5px + 11 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.payment .payment_list li {
    align-content: center;
  }
}
section.payment .payment_list p {
  margin-bottom: 16px;
  color: #505050;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0;
  font-family: "Zen Maru Gothic", sans-serif;
}
@media screen and (max-width: 1439px) {
  section.payment .payment_list p {
    margin-bottom: max(8px, 8px + 8 * (100vw - 390px) / 1049);
    font-size: max(10px, 10px + 14 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.payment .payment_list p {
    margin-bottom: 0;
  }
}
section.payment .payment_list img {
  width: 170px;
}
@media screen and (max-width: 1439px) {
  section.payment .payment_list img {
    width: max(60px, 60px + 110 * (100vw - 390px) / 1049);
  }
}
section.payment .payment_list li:nth-child(2) img {
  margin-top: -2px;
}
@media screen and (max-width: 767px) {
  section.payment .payment_list li:nth-child(2) img {
    margin-top: 0;
  }
}

section.risk {
  position: relative;
  padding: 60px 0;
  background: #fff7f8 url("../img/risk_bg.webp") center/cover no-repeat;
}
@media screen and (max-width: 1439px) {
  section.risk {
    padding: max(30px, 30px + 30 * (100vw - 390px) / 1049) 0;
  }
}
@media screen and (max-width: 767px) {
  section.risk {
    padding-top: 50px;
    padding-bottom: 40px;
  }
}
section.risk .risk_box {
  position: relative;
  margin: 0 auto;
  padding: 60px 80px;
  border-radius: 40px;
  background: #fff;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.risk .risk_box {
    max-width: max(350px, 350px + 750 * (100vw - 390px) / 1049);
    min-height: calc(892px + -221 * (100vw - 390px) / 1049);
    padding: max(40px, 40px + 20 * (100vw - 390px) / 1049) max(20px, 20px + 60 * (100vw - 390px) / 1049);
    border-radius: max(24px, 24px + 16 * (100vw - 390px) / 1049);
  }
}
section.risk .risk_box::before, section.risk .risk_box::after {
  content: "";
  position: absolute;
  top: 10px;
  width: 60px;
  height: 74px;
  background: center/contain no-repeat;
}
@media screen and (max-width: 1439px) {
  section.risk .risk_box::before, section.risk .risk_box::after {
    width: max(24px, 24px + 36 * (100vw - 390px) / 1049);
    height: max(30px, 30px + 44 * (100vw - 390px) / 1049);
  }
}
section.risk .risk_box::before {
  left: 20px;
  background-image: url("../img/risk_title_pin_left.png");
}
@media screen and (max-width: 1439px) {
  section.risk .risk_box::before {
    left: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
section.risk .risk_box::after {
  right: 20px;
  background-image: url("../img/risk_title_pin_right.png");
}
@media screen and (max-width: 1439px) {
  section.risk .risk_box::after {
    right: max(10px, 10px + 10 * (100vw - 390px) / 1049);
  }
}
section.risk .risk_title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 1439px) {
  section.risk .risk_title {
    gap: max(10px, 10px + 0 * (100vw - 390px) / 1049);
  }
}
section.risk .risk_title img {
  flex: 0 0 auto;
  width: 80px;
  height: 71px;
}
@media screen and (max-width: 1439px) {
  section.risk .risk_title img {
    width: max(50px, 50px + 30 * (100vw - 390px) / 1049);
    height: max(44px, 44px + 27 * (100vw - 390px) / 1049);
  }
}
section.risk .risk_title h2 {
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1439px) {
  section.risk .risk_title h2 {
    font-size: max(20px, 20px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.risk .risk_title h2 {
    letter-spacing: 0.03em;
  }
}
section.risk .risk_text {
  margin: 24px auto 0;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 1.83;
  letter-spacing: 0;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.risk .risk_text {
    max-width: max(310px, 310px + 409 * (100vw - 390px) / 1049);
    margin-top: max(12px, 12px + 12 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
    line-height: max(1.72, 1.72 + 0.11 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.risk .risk_text {
    text-align: center;
  }
}
section.risk .risk_img_left,
section.risk .risk_img_right {
  position: absolute;
  z-index: 3;
  bottom: 0;
  pointer-events: none;
}
section.risk .risk_img_left {
  left: calc(50% - 600px);
  width: 200px;
}
@media screen and (max-width: 1439px) {
  section.risk .risk_img_left {
    left: max(0px, 0px + 120 * (100vw - 390px) / 1049);
    width: max(93px, 93px + 107 * (100vw - 390px) / 1049);
  }
}
section.risk .risk_img_right {
  right: calc(50% - 600px);
  width: 185px;
}
@media screen and (max-width: 1439px) {
  section.risk .risk_img_right {
    right: max(0px, 0px + 120 * (100vw - 390px) / 1049);
    width: max(86px, 86px + 99 * (100vw - 390px) / 1049);
  }
}

section.price-plan {
  position: relative;
}
@media screen and (max-width: 767px) {
  section.price-plan {
    padding-top: 30px;
    padding-bottom: 70px;
  }
}
section.price-plan .price-plan_title {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 25px;
  width: 100vw;
  height: 308px;
  background-image: url("../img/price-plan_bg.webp");
  background-size: auto 100%;
  background-position: center;
  background-repeat: repeat-x;
  color: #fff;
  text-align: center;
  margin: 0 calc(50% - 50vw) 60px;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_title {
    height: max(175px, 175px + 133 * (100vw - 390px) / 1049);
    margin-bottom: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.price-plan .price-plan_title {
    background-size: auto 100%;
    background-image: url("../img/price-plan_bg_sp.webp");
  }
}
section.price-plan .price-plan_title p,
section.price-plan .price-plan_title h2 {
  position: relative;
  z-index: 1;
}
section.price-plan .price-plan_title p {
  margin-top: -40px;
  color: #f5e900;
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_title p {
    font-size: max(22px, 22px + 10 * (100vw - 390px) / 1049);
  }
}
section.price-plan .price-plan_title h2 {
  font-family: "Kaisei Opti", serif;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_title h2 {
    font-size: max(28px, 28px + 20 * (100vw - 390px) / 1049);
  }
}
section.price-plan .price-plan_block {
  margin-top: 40px;
  --plan-color: #e97a8c;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_block {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.price-plan .price-plan_block:first-child {
  margin-top: 0;
}
section.price-plan .price-plan_block h3 {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--plan-color);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.35;
  margin-bottom: 24px;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_block h3 {
    gap: max(5px, 5px + 5 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
    margin-bottom: max(12px, 12px + 12 * (100vw - 390px) / 1049);
  }
}
section.price-plan .price-plan_block h3::before {
  content: "";
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--plan-color);
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_block h3::before {
    width: max(14px, 14px + 6 * (100vw - 390px) / 1049);
    height: max(14px, 14px + 6 * (100vw - 390px) / 1049);
  }
}
section.price-plan .price-plan_growth {
  --plan-color: #f9bf1f;
}
section.price-plan .price-plan_beauty {
  --plan-color: #0071bc;
}
section.price-plan .price-plan_table {
  overflow: hidden;
  margin-top: 26px;
  border-radius: 20px;
  background: #fff;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_table {
    margin-top: max(12px, 12px + 14 * (100vw - 390px) / 1049);
  }
}
section.price-plan .price-plan_table > div {
  display: grid;
  grid-template-columns: 280px 1fr;
  border-top: 1px solid #d8d8d8;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_table > div {
    grid-template-columns: max(118px, 118px + 162 * (100vw - 390px) / 1049) 1fr;
  }
}
@media screen and (max-width: 767px) {
  section.price-plan .price-plan_table > div {
    grid-template-columns: 100px 1fr;
  }
}
section.price-plan .price-plan_table > div:first-child {
  border-top: 0;
}
section.price-plan .price-plan_table dt {
  display: grid;
  place-items: center;
  min-height: 98px;
  padding: 22px;
  background: var(--plan-color);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_table dt {
    min-height: max(80px, 80px + 18 * (100vw - 390px) / 1049);
    padding: max(12px, 12px + 10 * (100vw - 390px) / 1049);
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.price-plan .price-plan_table dt {
    min-height: auto;
  }
}
section.price-plan .price-plan_table dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 98px;
  padding: 20px;
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_table dd {
    min-height: max(80px, 80px + 18 * (100vw - 390px) / 1049);
    padding: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
section.price-plan .price-plan_table dd p {
  line-height: inherit;
  letter-spacing: 0;
}
@media screen and (max-width: 1439px) {
  section.price-plan .price-plan_table dd p {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}

section.faq {
  position: relative;
  background: #fff;
}
section.faq::before {
  content: "";
  position: absolute;
  top: 1px;
  left: 50%;
  width: 100vw;
  height: 37px;
  transform: translate(-50%, -100%);
  background: url("../img/section_wave_top_white.png") center top/1440px 37px repeat-x;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  section.faq::before {
    background: url("../img/section_wave_top_white_sp.webp") center top/390px 20px repeat-x;
    height: 20px;
  }
}
section.faq .faq_title {
  text-align: center;
}
section.faq .faq_title > p {
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 8px;
  margin-bottom: 22px;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_title > p {
    margin-bottom: max(16px, 16px + 6 * (100vw - 390px) / 1049);
    gap: max(5px, 5px + 3 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_title > p img:first-child {
  width: 89px;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_title > p img:first-child {
    width: max(63px, 63px + 26 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_title > p img:last-child {
  width: 85px;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_title > p img:last-child {
    width: max(63px, 63px + 22 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_title > p small {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  margin-bottom: 3px;
  border-radius: 999px;
  background: #e97a8c;
  color: #fff;
  font-size: 34px;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_title > p small {
    width: max(42px, 42px + 12 * (100vw - 390px) / 1049);
    height: max(42px, 42px + 12 * (100vw - 390px) / 1049);
    font-size: max(22px, 22px + 12 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_title h2 {
  font-family: "Kaisei Opti", serif;
  font-size: 30px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_title h2 {
    font-size: max(16px, 16px + 14 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .faq_title h2 {
    letter-spacing: 0;
  }
}
section.faq .faq_nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_nav {
    gap: max(20px, 20px + 20 * (100vw - 390px) / 1049);
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .faq_nav {
    grid-template-columns: 1fr;
  }
}
section.faq .faq_nav a {
  position: relative;
  text-align: center;
  min-height: 65px;
  border: 2px solid var(--faq-color);
  border-radius: 999px;
  color: #505050;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  padding: 11px 8px 19px;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_nav a {
    min-height: max(45px, 45px + 27 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.faq .faq_nav a {
    font-size: max(14px, 14px + 8 * (100vw - 390px) / 1049);
    padding: 10px 8px 15px;
  }
}
section.faq .faq_nav a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -20px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: var(--faq-color);
  transform: translateX(-50%);
}
@media screen and (max-width: 1439px) {
  section.faq .faq_nav a::after {
    bottom: max(-16px, -16px + -4 * (100vw - 390px) / 1049);
    width: max(32px, 32px + 8 * (100vw - 390px) / 1049);
    height: max(32px, 32px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .faq_nav a::after {
    bottom: -14px;
    width: 24px;
    height: 24px;
  }
}
section.faq .faq_nav a::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px;
  z-index: 1;
  width: 12px;
  height: 12px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateX(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  section.faq .faq_nav a::before {
    bottom: -4px;
    width: 8px;
    height: 8px;
  }
}
section.faq .faq_nav a:nth-child(1) {
  --faq-color: #e97a8c;
}
section.faq .faq_nav a:nth-child(2) {
  --faq-color: #0071bc;
}
section.faq .faq_nav a:nth-child(3) {
  --faq-color: #f5c400;
}
section.faq .faq_block {
  --faq-bg: #fff2f4;
  --faq-color: #e97a8c;
  margin-top: 77px;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_block {
    margin-top: max(40px, 40px + 37 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_block h3 {
  display: flex;
  align-items: center;
  gap: 20px;
  font-family: "Kaisei Opti", serif;
  font-size: 40px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_block h3 {
    gap: max(10px, 10px + 10 * (100vw - 390px) / 1049);
    font-size: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_block h3 img {
  flex: 0 0 auto;
  width: 150px;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_block h3 img {
    width: max(76px, 76px + 74 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_treatment {
  --faq-color: #62c8c4;
  --faq-bg: #eefafa;
}
section.faq .faq_appliance {
  --faq-color: #f5c400;
  --faq-bg: #fff9e7;
}
section.faq .faq_list {
  padding: 38px 60px;
  border: 4px solid var(--faq-color);
  border-radius: 40px;
  background: var(--faq-bg);
}
@media screen and (max-width: 1439px) {
  section.faq .faq_list {
    padding: max(10px, 10px + 28 * (100vw - 390px) / 1049) max(20px, 20px + 40 * (100vw - 390px) / 1049) max(20px, 20px + 18 * (100vw - 390px) / 1049);
    border-radius: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .faq_list {
    border-width: 2px;
  }
}
section.faq .faq_list details {
  border-top: 2px dashed #505050;
  transition: padding-bottom 0.35s ease;
}
section.faq .faq_list details:first-child {
  border-top: 0;
}
section.faq .faq_list details:last-child summary {
  padding-bottom: 0;
}
section.faq .faq_list details:last-child .faq_answer {
  margin-bottom: 0;
}
section.faq .faq_list summary {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 76px;
  padding: 22px 50px 22px 50px;
  cursor: pointer;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_list summary {
    min-height: max(62px, 62px + 14 * (100vw - 390px) / 1049);
    padding-top: max(16px, 16px + 6 * (100vw - 390px) / 1049);
    padding-right: max(38px, 38px + 20 * (100vw - 390px) / 1049);
    padding-bottom: max(16px, 16px + 6 * (100vw - 390px) / 1049);
    padding-left: max(42px, 42px + 12 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 8 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .faq_list summary {
    min-height: 46px;
    padding: 12px 34px 12px 38px;
  }
}
section.faq .faq_list summary::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 50%;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: var(--faq-color);
  color: #fff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 22px;
  line-height: 1;
  transform: translateY(-50%);
}
@media screen and (max-width: 1439px) {
  section.faq .faq_list summary::before {
    width: max(30px, 30px + 8 * (100vw - 390px) / 1049);
    height: max(30px, 30px + 8 * (100vw - 390px) / 1049);
    font-size: max(18px, 18px + 4 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_list summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  font-size: 42px;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-50%);
}
@media screen and (max-width: 1439px) {
  section.faq .faq_list summary::after {
    font-size: max(30px, 30px + 12 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .faq_list summary::after {
    font-size: 24px;
  }
}
section.faq .faq_list details[open] summary::after {
  content: "−";
}
section.faq .faq_answer {
  position: relative;
  overflow: hidden;
  margin-top: 16px;
  margin-bottom: 34px;
  padding: 25px 25px 25px 75px;
  border-radius: 30px;
  background: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.8;
  font-weight: normal;
  transition: height 0.35s ease, margin-bottom 0.35s ease, padding-top 0.35s ease, padding-bottom 0.35s ease;
  will-change: height;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_answer {
    margin-right: max(0px, 0px + 58 * (100vw - 390px) / 1049);
    margin-bottom: max(18px, 18px + 16 * (100vw - 390px) / 1049);
    margin-left: max(0px, 0px + 54 * (100vw - 390px) / 1049);
    padding: max(15px, 15px + 10 * (100vw - 390px) / 1049) max(15px, 15px + 10 * (100vw - 390px) / 1049) max(15px, 15px + 10 * (100vw - 390px) / 1049) min(55px, 55px + 20 * (100vw - 390px) / 1049);
    border-radius: max(16px, 16px + 6 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.faq .faq_answer {
    margin-bottom: 12px;
    border-radius: 10px;
    line-height: 1.8;
    letter-spacing: 0;
  }
}
section.faq .faq_answer::before {
  content: "A";
  font-family: "Zen Maru Gothic", sans-serif;
  position: absolute;
  left: 25px;
  top: 25px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 1px solid var(--faq-color);
  border-radius: 999px;
  color: var(--faq-color);
  font-size: 24px;
  font-weight: bold;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_answer::before {
    left: max(15px, 15px + 15 * (100vw - 390px) / 1049);
    top: max(15px, 15px + 15 * (100vw - 390px) / 1049);
    width: max(30px, 30px + 8 * (100vw - 390px) / 1049);
    height: max(30px, 30px + 8 * (100vw - 390px) / 1049);
    font-size: max(18px, 18px + 4 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_answer dl > div {
  margin-top: 28px;
}
@media screen and (max-width: 1439px) {
  section.faq .faq_answer dl > div {
    margin-top: max(20px, 20px + 8 * (100vw - 390px) / 1049);
  }
}
section.faq .faq_answer dl > div:first-child {
  margin-top: 0;
}
section.faq .faq_answer p {
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  section.faq .faq_block h3 {
    align-items: center;
  }
}

section.contact {
  position: relative;
  overflow: hidden;
  color: #505050;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.contact {
    padding-top: max(103px, 103px + 68 * (100vw - 390px) / 1049);
    padding-bottom: max(50px, 50px + 147 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.contact {
    padding-top: 70px;
  }
}
section.contact::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url("../img/contact_bg.webp") center/cover no-repeat;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  section.contact::before {
    background: url("../img/contact_bg_sp.webp") center/cover no-repeat;
  }
}
section.contact 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 h2 {
    margin-top: max(20px, 20px + 23 * (100vw - 390px) / 1049);
    font-size: max(18px, 18px + 14 * (100vw - 390px) / 1049);
  }
}
section.contact .contact_logo,
section.contact .information_logo {
  display: flex;
  flex-direction: column;
  align-items: center;
}
section.contact .contact_logo img,
section.contact .information_logo img {
  width: 180px;
}
@media screen and (max-width: 767px) {
  section.contact .contact_logo img,
  section.contact .information_logo img {
    width: 120px;
  }
}
section.contact .contact_text {
  max-width: 1100px;
  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 .contact_text {
    margin-top: max(20px, 20px + 25 * (100vw - 390px) / 1049);
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.contact .contact_text {
    font-weight: 400;
    letter-spacing: 0;
  }
}
section.contact .contact_text p {
  line-height: inherit;
  letter-spacing: 0;
}
section.contact .contact_links {
  margin-top: 60px;
}
@media screen and (max-width: 1439px) {
  section.contact .contact_links {
    margin-top: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
section.contact .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;
}
@media screen and (max-width: 1439px) {
  section.contact .contact_links > p {
    font-size: max(18px, 18px + 14 * (100vw - 390px) / 1049);
    padding: 0 max(13px, 13px + 27 * (100vw - 390px) / 1049) 10px;
  }
}
section.contact .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 .contact_links ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 40px;
}
@media screen and (max-width: 1439px) {
  section.contact .contact_links ul {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.contact .contact_links ul {
    grid-template-columns: 1fr;
    max-width: 310px;
    margin-right: auto;
    margin-left: auto;
  }
}
section.contact .contact_links a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 95px;
  border: 5px solid #fff;
  border-radius: 999px;
  box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 1439px) {
  section.contact .contact_links a {
    min-height: max(80px, 80px + 15 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.contact .contact_links a {
    border-width: 3px;
  }
}
section.contact .contact_links span {
  position: relative;
  display: inline-block;
  margin-bottom: 3px;
  padding: 0 5px;
  color: #fbff22;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.contact .contact_links span {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
section.contact .contact_links span::before, section.contact .contact_links span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 1px;
  background: currentColor;
}
@media screen and (max-width: 1439px) {
  section.contact .contact_links span::before, section.contact .contact_links span::after {
    width: max(30px, 30px + 30 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.contact .contact_links span::before, section.contact .contact_links span::after {
    width: 60px;
  }
}
section.contact .contact_links span::before {
  left: 0;
  transform: translate(-100%, -50%);
}
section.contact .contact_links span::after {
  right: 0;
  transform: translate(100%, -50%);
}
section.contact .contact_links 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 .contact_links strong {
    font-size: max(16px, 16px + 8 * (100vw - 768px) / 671);
  }
}
@media screen and (max-width: 767px) {
  section.contact .contact_links strong {
    font-size: max(20px, 20px + 4 * (100vw - 390px) / 1049);
  }
}
section.contact .contact_links strong img {
  width: 25px;
  max-height: 25px;
  object-fit: contain;
}
section.contact .contact_tel {
  background: #505050;
  pointer-events: auto;
}
section.contact .contact_reserve {
  background: #e97a8c;
}
section.contact .contact_access {
  background: #0067ac;
}

section.information {
  position: relative;
  overflow: hidden;
  padding: 200px 0 100px;
}
@media screen and (max-width: 1439px) {
  section.information {
    padding: max(50px, 50px + 150 * (100vw - 390px) / 1049) 0 100px;
  }
}
section.information .information_shapes {
  position: absolute;
  pointer-events: none;
}
section.information .information_shapes_right {
  top: 223px;
  right: calc(50% - 701px);
  width: 298px;
}
@media screen and (max-width: 1439px) {
  section.information .information_shapes_right {
    top: max(70px, 70px + 153 * (100vw - 390px) / 1049);
    right: max(-12px, -12px + 31 * (100vw - 390px) / 1049);
    width: max(85px, 85px + 213 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.information .information_shapes_right {
    top: 215px;
    right: -12px;
  }
}
section.information .information_shapes_left {
  right: auto;
  bottom: 62px;
  left: 31px;
  left: calc(50% - 689px);
  width: 231px;
}
@media screen and (max-width: 1439px) {
  section.information .information_shapes_left {
    bottom: max(28px, 28px + 34 * (100vw - 390px) / 1049);
    left: max(-24px, -24px + 55 * (100vw - 390px) / 1049);
    width: max(132px, 132px + 99 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.information .information_shapes_left {
    left: -24px;
  }
}
section.information .information_title {
  text-align: center;
}
section.information .information_title > p {
  display: flex;
  justify-content: center;
  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 .information_title > p {
    gap: max(4px, 4px + 5 * (100vw - 390px) / 1049);
    font-size: max(40px, 40px + 50 * (100vw - 390px) / 1049);
    letter-spacing: max(4px, 4px + 5 * (100vw - 390px) / 1049);
  }
}
section.information .information_title > p span {
  line-height: 1;
  letter-spacing: 0;
}
section.information .information_title > p span:nth-child(2),
section.information .information_title > p span:nth-child(8) {
  color: #f58a2d;
}
section.information .information_title > p span:nth-child(3),
section.information .information_title > p span:nth-child(9) {
  color: #68cbc2;
}
section.information .information_title > p span:nth-child(4),
section.information .information_title > p span:nth-child(10) {
  color: #81bb05;
}
section.information .information_title > p span:nth-child(5),
section.information .information_title > p span:nth-child(11) {
  color: #eebf00;
}
section.information .information_title > p span:nth-child(6) {
  color: #0067ac;
}
section.information .information_title h2 {
  margin-top: 15px;
  font-family: "Kaisei Opti", serif;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.45;
}
@media screen and (max-width: 1439px) {
  section.information .information_title h2 {
    margin-top: max(2px, 2px + 13 * (100vw - 390px) / 1049);
    font-size: max(16px, 16px + 16 * (100vw - 390px) / 1049);
  }
}
section.information .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 .information_content {
    grid-template-columns: 1fr max(300px, 300px + 230 * (100vw - 768px) / 671);
    gap: max(24px, 24px + 15 * (100vw - 390px) / 1049);
    margin-top: max(38px, 38px + 19 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.information .information_content {
    grid-template-columns: 1fr;
  }
}
section.information .information_detail {
  min-width: 0;
  padding-top: 39px;
}
@media screen and (max-width: 1439px) {
  section.information .information_detail {
    padding-top: max(0px, 0px + 39 * (100vw - 390px) / 1049);
  }
}
section.information .information_time {
  margin-top: 40px;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 1439px) {
  section.information .information_time {
    margin-top: max(20px, 20px + 20 * (100vw - 390px) / 1049);
  }
}
section.information .information_time table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  overflow: hidden;
  border-radius: 5px 10px 5px 5px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 16px;
  text-align: center;
}
@media screen and (max-width: 1439px) {
  section.information .information_time table {
    font-size: max(12px, 12px + 4 * (100vw - 390px) / 1049);
  }
}
section.information .information_time th,
section.information .information_time td {
  height: 40px;
  border-left: 1px solid #fff;
  vertical-align: middle;
  line-height: 1;
}
@media screen and (max-width: 1439px) {
  section.information .information_time th,
  section.information .information_time td {
    height: max(30px, 30px + 10 * (100vw - 390px) / 1049);
  }
}
section.information .information_time thead th {
  background: #e97a8c;
  color: #fff;
  font-weight: 700;
}
section.information .information_time thead th:first-child {
  width: 130px;
  border-left: 0;
}
section.information .information_time tbody th,
section.information .information_time tbody td {
  border-top: 1px solid #e97a8c;
  background: #fff;
  color: #505050;
  font-weight: 700;
}
section.information .information_time tbody th {
  border-left: 0;
  color: #505050;
}
section.information .information_time > p {
  margin-top: 12px;
  font-size: 16px;
  font-weight: 700;
}
@media screen and (max-width: 1439px) {
  section.information .information_time > p {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
    margin-top: max(10px, 10px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.information .information_time > p {
    font-weight: normal;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 1439px) {
  section.information .information_time thead th:first-child {
    width: max(85px, 85px + 45 * (100vw - 390px) / 1049);
  }
}
section.information .information_list {
  width: 100%;
  max-width: 100%;
  margin-top: 25px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.8;
}
@media screen and (max-width: 1439px) {
  section.information .information_list {
    font-size: max(14px, 14px + 2 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.information .information_list {
    margin-top: 17px;
    font-size: 14px;
  }
}
section.information .information_list > div {
  display: grid;
  grid-template-columns: 95px 1fr;
  gap: 26px;
  padding: 14px 0 13px;
  border-top: 2px solid #e97a8c;
}
@media screen and (max-width: 1439px) {
  section.information .information_list > div {
    grid-template-columns: max(72px, 72px + 23 * (100vw - 390px) / 1049) 1fr;
    gap: max(0px, 0px + 26 * (100vw - 390px) / 1049);
    padding-top: max(12px, 12px + 2 * (100vw - 390px) / 1049);
    padding-bottom: max(12px, 12px + 1 * (100vw - 390px) / 1049);
  }
}
section.information .information_list > div:last-child {
  border-bottom: 2px solid #e97a8c;
}
section.information .information_list dt {
  font-weight: 700;
}
section.information .information_list dd {
  line-height: inherit;
}
section.information .information_maps {
  display: grid;
  min-width: 0;
  width: 100%;
  gap: 20px;
}
@media screen and (max-width: 1439px) {
  section.information .information_maps {
    gap: max(0px, 0px + 20 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.information .information_maps {
    gap: 14px;
  }
}
section.information .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 .information_map {
    border-radius: max(20px, 20px + 10 * (100vw - 390px) / 1049);
  }
}
@media screen and (max-width: 767px) {
  section.information .information_map {
    aspect-ratio: 350/211;
    border-radius: 10px;
  }
}
section.information .information_map iframe {
  width: 100%;
  height: 100%;
}
section.information .information_logo {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  section.information .information_logo {
    align-items: center;
  }
}
section.information .information_logo img {
  width: 229px;
}
@media screen and (max-width: 767px) {
  section.information .information_logo {
    display: flex;
  }
}
section.information .information_time th {
  text-align: center;
}
section.information .information_list > div {
  border-top: 0;
  border-bottom: 0;
}
section.information .information_list > div + div {
  border-top: 2px dashed #e97a8c;
}
section.information .information_list > div:last-child {
  border-bottom: 0;
}

.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;
  }
}
