@charset "UTF-8";
/*
Template Name: Untrois
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  cursor: pointer;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* # =================================================================
# Forms # ================================================================= */
input {
  border-radius: 0;
}

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

[type=search] {
  -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px; /* Correct the outline style in Safari */
}

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

textarea {
  overflow: auto; /* Internet Explorer 11+ */
  resize: vertical; /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit; /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold; /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none; /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted #000;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
  outline: none;
}

/* Style select like a standard input */
select {
  -moz-appearance: none; /* Firefox 36+ */
  -webkit-appearance: none; /* Chrome 41+ */
}

select::-ms-expand {
  display: none; /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor; /* Internet Explorer 11+ */
}

legend {
  border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */
  display: table; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge and IE */
  white-space: normal; /* Correct the text wrapping in Edge and IE */
  max-width: 100%; /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit; /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* org-add */
*,
*::before,
*::after {
  background-repeat: no-repeat;
  box-sizing: border-box;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

textarea, input[type=text] {
  font-size: max(1.15rem, 16px);
}
@media screen and (min-width: 768px) {
  textarea, input[type=text] {
    font-size: max(1rem, 16px);
  }
}

html {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #1F2C32;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: #fff;
}
_::-webkit-full-page-media, _:future, :root body {
  min-height: -webkit-fill-available;
}

@media screen and (min-width: 768px) {
  body {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1073px) {
  body {
    font-size: clamp(1.5rem, 1.24vw, 1.8rem);
  }
}

main {
  flex: 1;
}

p {
  text-align: justify;
}

a {
  color: #1F2C32;
  user-select: none;
  -webkit-user-select: none;
}

input, textarea {
  cursor: pointer;
  resize: none;
  -webkit-appearance: none;
}

/* l-inner */
.l-inner {
  padding: 0 20px;
  box-sizing: content-box;
}
@media screen and (min-width: 768px) {
  .l-inner {
    padding: 0 30px;
    max-width: 1200px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 1024px) {
  .l-inner {
    padding: 0 2.9296875vw;
  }
}
@media (min-width: 1440px) {
  .l-inner {
    padding: 0 150px;
  }
}
@media (min-width: 1920px) {
  .l-inner {
    padding: 0 190px;
  }
}

.l-inner--single {
  padding: 0 20px;
  box-sizing: content-box;
  max-width: 1000px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .l-inner--single {
    padding: 0 30px;
  }
}

.l-headerinner {
  padding: 0 20px;
}
@media screen and (min-width: 1024px) {
  .l-headerinner {
    padding: 0;
  }
}

/* l-main */
@media screen and (min-width: 1024px) {
  .l-main {
    display: flex;
  }
}

/* l-top */
.l-top {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100 - 78px);
  background: #EBB1CC;
}
@media screen and (min-width: 768px) {
  .l-top {
    flex-direction: row;
    gap: 0 3.96vw;
    height: 100%;
    max-height: 100vh;
    background: linear-gradient(to bottom, #fff min(2.6vw, 90px), #EBB1CC min(2.6vw, 90px));
  }
}
@media screen and (min-width: 1024px) {
  .l-top {
    background: linear-gradient(to bottom, #fff min(2.08vw, 40px), #EBB1CC min(2.08vw, 40px));
    margin-top: 0;
    border-left: 1px solid #D86499;
  }
  _::-webkit-full-page-media, _:future, :root .l-top {
    height: auto;
    max-height: -webkit-fill-available;
  }
}
@media screen and (min-width: 1366px) {
  .l-top {
    background: linear-gradient(to bottom, #fff min(4.69vw, 90px), #EBB1CC min(4.69vw, 90px));
  }
}

/* l-footer */
.l-footer {
  padding-top: 75px;
  padding-bottom: 10px;
  background-color: #FBF8F6;
}
@media screen and (min-width: 768px) {
  .l-footer {
    padding-top: 100px;
  }
}
@media screen and (min-width: 1024px) {
  .l-footer {
    border-left: 1px solid #D86499;
    padding-top: 150px;
  }
}

/* l-page */
.l-page {
  position: relative;
  max-width: 1580px;
  margin: 0 auto;
}

.l-container {
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .l-container {
    padding-top: 50px;
  }
}
@media screen and (min-width: 1024px) {
  .l-container {
    padding-top: min(6.77vw, 130px);
  }
}

.l-border {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .l-border {
    border-left: 1px solid #D86499;
  }
}
.l-border::after {
  position: absolute;
  content: "";
  display: block;
  width: 5px;
  height: calc(100% + 112px);
  background-color: #B8D1EA;
  top: -112px;
  right: 0;
}
@media screen and (min-width: 768px) {
  .l-border::after {
    width: min(1.0416666667vw, 20px);
    height: calc(100% + 112px);
  }
}
@media screen and (min-width: 1024px) {
  .l-border::after {
    top: 0;
    height: 100%;
  }
}

.l-border--top::after {
  height: 100%;
  top: 0;
}

.l-bgpink {
  background-color: rgba(235, 177, 204, 0.4);
  padding-top: 80px;
  padding-bottom: 100px;
}
@media screen and (min-width: 1024px) {
  .l-bgpink {
    border-left: 1px solid #D86499;
  }
}

/* hover */
@media (hover: hover) {
  .c-hover {
    transition: opacity linear 0.3s;
  }
  .c-hover:hover, .c-hover:focus {
    opacity: 0.6;
  }
}

/* HeaderNav */
.c-header {
  position: relative;
  z-index: 10;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .c-header {
    justify-content: center;
    align-items: flex-start;
    width: clamp(250px, 17.71vw, 340px);
    flex: none;
  }
}

.c-header__fix {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .c-header__fix {
    flex-direction: column;
    position: sticky;
    top: 0;
    left: 0;
    width: auto;
    padding-top: 35px;
  }
}

.c-logo {
  width: 98px;
  height: auto;
  aspect-ratio: 200/103;
  display: block;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .c-logo {
    width: 145px;
  }
}
@media screen and (min-width: 1024px) {
  .c-logo {
    width: clamp(145px, 8.33vw, 160px);
    margin-top: 0;
  }
}

.c-logoimg {
  width: 100%;
  height: 100%;
}

.c-spheader__menu {
  position: fixed;
  right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
}
@media screen and (min-width: 1024px) {
  .c-spheader__menu {
    display: none;
  }
}

.c-spheader__ham--3, .c-spheader__ham--2, .c-spheader__ham {
  display: block;
  width: 30px;
  height: 2px;
  border-radius: 13px;
  background-color: #1F2C32;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .c-spheader__ham--3, .c-spheader__ham--2, .c-spheader__ham {
    width: 45px;
  }
}

.c-spheader__ham {
  transform: translateY(-5px);
}
@media screen and (min-width: 768px) {
  .c-spheader__ham {
    transform: translateY(-8px);
  }
}

.c-spheader__ham--3 {
  transform: translateY(5px);
}
@media screen and (min-width: 768px) {
  .c-spheader__ham--3 {
    transform: translateY(8px);
  }
}

.c-header__nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: -5;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity ease-out 0.3s;
  overflow-y: auto;
}
_::-webkit-full-page-media, _:future, :root .c-header__nav {
  height: -webkit-fill-available;
}

@media screen and (min-width: 1024px) {
  .c-header__nav {
    position: relative;
    top: 0;
    z-index: 10;
    height: auto;
    opacity: 1;
    visibility: visible;
    background-color: transparent;
    padding-bottom: 30px;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  .c-header__nav::-webkit-scrollbar {
    display: none;
  }
}
.c-header__nav .c-logoimg {
  width: 98px;
  height: auto;
  aspect-ratio: 200/103;
  display: block;
  margin-left: 20px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .c-header__nav .c-logoimg {
    width: 145px;
  }
}
@media screen and (min-width: 1024px) {
  .c-header__nav .c-logoimg {
    display: none;
  }
}

.c-header__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  width: 100%;
  margin: 30px 0 0;
}
@media screen and (min-width: 1024px) {
  .c-header__list {
    gap: 0.9375vw 0;
    margin: 1.5625vw 0 0;
  }
}

.c-header__item {
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .c-header__item {
    width: auto;
  }
}

.c-header__link {
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  display: block;
  color: #1F2C32;
  font-weight: bold;
  padding: 20px 0;
}
.c-header__link:first-of-type {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .c-header__link {
    font-size: 1.6rem;
    line-height: 25px;
    padding: 30px 0;
  }
}
@media screen and (min-width: 1024px) {
  .c-header__link {
    padding: 0;
  }
}

.mw_wp_form form {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 20px 0;
}
@media screen and (min-width: 768px) {
  .mw_wp_form form {
    gap: 30px 0;
  }
}

.c-mw__item input {
  border: 1px solid #FBF8F6;
  width: 100%;
  height: 40px;
  padding: 5px 10px;
  border-radius: 5px;
}

.c-mw__item textarea {
  border: 1px solid #FBF8F6;
  width: 100%;
  height: 190px;
  padding: 5px 10px;
  overflow-y: scroll;
  resize: none;
  -ms-overflow-style: none;
  scrollbar-width: none;
  border-radius: 5px;
}
.c-mw__item textarea::-webkit-scrollbar {
  display: none;
}

.mw_wp_form .error {
  font-size: 1.2rem;
  margin-top: 5px;
}

.c-mw__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px 40px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-mw__item {
    flex-direction: row;
    align-items: center;
  }
}

.c-mwttl {
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 10px;
  flex: none;
}
@media screen and (min-width: 768px) {
  .c-mwttl {
    justify-content: space-between;
  }
}

.c-mw__content {
  width: inherit;
}

.c-imp {
  font-size: 1.1rem;
  color: #fff;
  font-weight: bold;
  width: 38px;
  height: 20px;
  background-color: #ED7C64;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
}

.c-mw__right {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px 0;
}

.c-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5px;
}
@media screen and (min-width: 768px) {
  .c-radio {
    gap: 10px 20px;
  }
}

.c-mw__btnwp {
  display: flex;
  gap: 30px 20px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .c-mw__btnwp {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0 40px;
    margin-top: 30px;
  }
}

.c-mwbtn {
  font-size: 1.4rem;
  height: 50px;
  font-weight: bold;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background-color: #DF5475;
  border: 1px solid transparent;
  padding: 10px 50px;
}
@media screen and (min-width: 768px) {
  .c-mwbtn {
    font-size: 1.6rem;
  }
}
@media (hover: hover) {
  .c-mwbtn {
    transition: ease-in-out 0.3s;
  }
  .c-mwbtn:hover, .c-mwbtn:focus {
    border: 1px solid #DF5475;
    color: #DF5475;
    background-color: #fff;
  }
}

.c-mw__btnbox {
  position: relative;
  width: max-content;
}
.c-mw__btnbox::after {
  position: absolute;
  top: 3px;
  bottom: 0;
  right: 7px;
  content: "";
  display: block;
  width: 6px;
  height: 11px;
  background-image: url(/wp-content/uploads/arrow_img.svg);
  background-repeat: no-repeat;
  background-size: contain;
  margin: auto 0;
}

input[type=radio] {
  display: none;
}

.c-radio label {
  display: inline-block;
}

.mwform-radio-field-text {
  position: relative;
  font-size: 1.4rem;
  line-height: 1.5;
  padding-left: 25px;
  display: inline-block;
  transition: 0.2s;
}

.mwform-radio-field-text::after,
.mwform-radio-field-text::before {
  content: "";
  display: block;
  position: absolute;
  border-radius: 50%;
}

.mwform-radio-field-text::before {
  top: 0;
  left: 0;
  border: 1px solid #FBF8F6;
  background-color: #fff;
  width: 20px;
  height: 20px;
}

.mwform-radio-field-text::after {
  top: 3px;
  left: 3px;
  width: 16px;
  height: 16px;
  background: #DF5475;
  opacity: 0;
  transition: 0.2s;
}

input[type=radio]:checked + .mwform-radio-field-text {
  color: #DF5475;
}

input[type=radio]:checked + .mwform-radio-field-text::after {
  opacity: 1;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin: 0 !important;
}

.c-radiobox {
  display: flex;
  gap: 0 10px;
  width: inherit;
}

.c-addressbox {
  display: flex;
  flex-direction: column;
  gap: 5px;
  width: inherit;
}

.mw_wp_form_complete {
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .mw_wp_form_complete {
    line-height: 1.5;
  }
}

/* c-btn */
.c-btn {
  position: relative;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: "Noto Sans JP", sans-serif;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 12px;
  background-color: #D86499;
  border: 1px solid transparent;
  width: max-content;
  padding: 10px 10px;
  margin-right: auto;
  gap: min(1.0416666667vw, 20px);
}
@media screen and (min-width: 768px) {
  .c-btn {
    margin-right: 0;
    padding: 16px 37px;
    font-size: 1.8rem;
  }
}
@media (hover: hover) {
  .c-btn {
    transition: ease-in-out 0.3s;
  }
  .c-btn:hover, .c-btn:focus {
    border: 1px solid #D86499;
    color: #D86499;
    background-color: #fff;
  }
  .c-btn:hover svg, .c-btn:focus svg {
    fill: #D86499;
  }
}
.c-btn svg {
  fill: #fff;
  transition: ease-in-out 0.3s;
  width: 20px;
  height: auto;
}
@media screen and (min-width: 768px) {
  .c-btn svg {
    width: 28px;
  }
}

/* c-title */
.c-titlebox {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  gap: 20px 0;
}

.c-titleen {
  font-family: "Libre Baskerville", serif;
  font-size: 1.8rem;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.03em;
  color: #D86499;
  display: flex;
  align-items: center;
  gap: 0 10px;
}
@media screen and (min-width: 768px) {
  .c-titleen {
    font-size: clamp(1.8rem, 2.34vw, 2.5rem);
  }
}
@media screen and (min-width: 1024px) {
  .c-titleen {
    font-size: 2.5rem;
  }
}
.c-titleen::before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #D86499;
}

.c-title {
  font-family: "Noto Serif JP", serif;
  font-size: 2.2rem;
  border-bottom: 1px solid #E8DFE0;
  padding-bottom: 20px;
  width: 100%;
  line-height: 1.5;
}
.c-title::before, .c-title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.c-title::before {
  margin-top: -0.25em;
}
.c-title::after {
  margin-bottom: -0.25em;
}
@media screen and (min-width: 768px) {
  .c-title {
    font-size: clamp(2.2rem, 2.86vw, 3.2rem);
  }
}
@media screen and (min-width: 1024px) {
  .c-title {
    font-size: clamp(2.6rem, 1.67vw, 3.2rem);
  }
}
.c-title span {
  display: block;
  width: fit-content;
  margin: 0 auto;
}

/* c-pagetitle */
.c-pagetitlebox {
  position: relative;
  width: max-content;
  margin-bottom: 90px;
}
@media screen and (min-width: 768px) {
  .c-pagetitlebox {
    margin-bottom: 205px;
  }
}
.c-pagetitlebox::before {
  position: absolute;
  top: 0;
  left: -30px;
  z-index: -1;
  content: "";
  display: block;
  width: 210px;
  max-width: 450px;
  height: calc(100% + 44px);
  background-color: #B8D1EA;
  border-radius: 0 0 clamp(80px, 10.42vw, 200px) 0;
}
@media screen and (min-width: 768px) {
  .c-pagetitlebox::before {
    width: 245px;
    height: calc(100% + 95px);
  }
}
@media screen and (min-width: 1024px) {
  .c-pagetitlebox::before {
    left: -2.9296875vw;
    width: 300px;
    border-radius: 0 0 0 clamp(80px, 10.42vw, 200px);
  }
}
@media (min-width: 1440px) {
  .c-pagetitlebox::before {
    left: calc((min(10.4166666667vw, 150px) + var(--margin)) * -1);
    width: 450px;
  }
}
@media (min-width: 1920px) {
  .c-pagetitlebox::before {
    left: calc((min(9.8958333333vw, 190px) + var(--margin)) * -1);
    width: 450px;
  }
}

.c-pagetitlebox--single {
  width: fit-content;
}
@media screen and (min-width: 1366px) {
  .c-pagetitlebox--single {
    margin-right: auto;
  }
}
@media screen and (min-width: 1073px) {
  .c-pagetitlebox--single::before {
    left: calc((30px + var(--margin)) * -1);
  }
}
@media screen and (min-width: 1366px) {
  .c-pagetitlebox--single::before {
    left: calc((30px + var(--margin)) * -1);
  }
}
@media screen and (min-width: 1440px) {
  .c-pagetitlebox--single::before {
    left: calc((30px + var(--margin)) * -1);
  }
}
@media screen and (min-width: 1820px) {
  .c-pagetitlebox--single::before {
    left: calc((30px + var(--margin)) * -1);
  }
}
@media screen and (min-width: 1920px) {
  .c-pagetitlebox--single::before {
    left: -290px;
  }
}

.c-pagetitleen {
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  font-size: 1.6rem;
  line-height: 1;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 0 10px;
  padding-top: 80px;
}
@media screen and (min-width: 768px) {
  .c-pagetitleen {
    font-size: 2rem;
    padding-top: 111px;
  }
}
@media screen and (min-width: 1024px) {
  .c-pagetitleen {
    font-size: 2.5rem;
    padding-top: 168px;
  }
}
.c-pagetitleen::before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .c-pagetitleen::before {
    width: 30px;
  }
}

.p-single .c-pagetitleen::before {
  content: none;
}

.c-pagetitle {
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 2.5rem;
  line-height: 1.3;
  margin-top: 13px;
}
@media screen and (min-width: 768px) {
  .c-pagetitle {
    font-size: 3.1rem;
  }
}
@media screen and (min-width: 1024px) {
  .c-pagetitle {
    font-size: 3.8rem;
  }
}

/**
 * c-form
 */
.c-form {
  display: flex;
  flex-direction: column;
  gap: 15px 0;
  max-width: 780px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .c-form {
    gap: 40px 0;
  }
}

.c-form__item {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.c-form__title {
  color: #D86499;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .c-form__title {
    font-size: 1.8rem;
  }
}

.c-required {
  font-size: 1.4rem;
  font-weight: 500;
  margin-left: 10px;
}

/* フォームリセット */
.c-form-text,
.c-form-email,
.c-form-tel,
.c-form-date,
.c-form-number {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #FBF8F6;
  background-image: none;
  border: 1px solid transparent;
  border-bottom: 1px solid #D86499;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 1em;
  padding: 8px 0.8em;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .c-form-text,
.c-form-email,
.c-form-tel,
.c-form-date,
.c-form-number {
    font-size: max(1rem, 16px);
  }
}

.c-form-text:focus,
.c-form-email:focus,
.c-form-tel:focus,
.c-form-date:focus,
.c-form-number:focus {
  outline: none;
  border: 1px solid #D86499;
}

.c-form-textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background-color: #FBF8F6;
  background-image: none;
  border: 1px solid transparent;
  border-bottom: 1px solid #D86499;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: 1em;
  height: 200px;
  padding: 8px 0.8em;
  width: 100%;
  resize: vertical;
}
@media screen and (min-width: 768px) {
  .c-form-textarea {
    height: 300px;
  }
}

.c-form-textarea:focus {
  outline: none;
  border: 1px solid #D86499;
}

.c-form-radio {
  display: none;
}

.c-form-radio + span {
  cursor: pointer;
  display: inline-block;
  margin: 0 0;
  padding: 0 0 0 32px;
  position: relative;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .c-form-radio + span {
    font-size: 1.8rem;
    padding: 0 0 0 39px;
  }
}

.c-form-radio + span::before {
  background: #fff;
  border: 1px solid #000;
  border-radius: 50%;
  content: "";
  display: block;
  height: 20px;
  left: 0;
  position: absolute;
  top: 1px;
  width: 20px;
}

.c-form-radio + span::after {
  background: #fff;
  border: 1px solid transparent;
  border-radius: 50%;
  content: "";
  height: 12px;
  left: 4px;
  opacity: 0;
  padding: 2px;
  position: absolute;
  top: 5px;
  transition: all 0.2s ease 0s;
  width: 12px;
}

.c-form-radio:checked + span::after {
  opacity: 1;
}

.c-form-checkbox {
  display: none;
}

.c-form-checkbox + span {
  cursor: pointer;
  display: inline-block;
  margin: 0 0;
  padding: 0 0 0 32px;
  position: relative;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .c-form-checkbox + span {
    font-size: 1.8rem;
    padding: 0 0 0 40px;
  }
}

.c-form-checkbox + span::before {
  background: #fff;
  border: 1px solid #1F2C32;
  border-radius: 0;
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  left: 0;
  position: absolute;
  bottom: 5px;
}
@media screen and (min-width: 768px) {
  .c-form-checkbox + span::before {
    width: 20px;
    height: 20px;
  }
}

.c-form-checkbox + span::after {
  -webkit-transform: rotate(-45deg);
  border-bottom: 3px solid #1F2C32;
  border-left: 3px solid #1F2C32;
  content: "";
  display: block;
  width: 24px;
  height: 16px;
  top: -2px;
  left: -1px;
  opacity: 0;
  position: absolute;
  transform: rotate(-45deg);
}
@media screen and (min-width: 768px) {
  .c-form-checkbox + span::after {
    width: 28px;
    height: 18px;
    top: 2px;
  }
}

.c-form-checkbox:checked + span::after {
  opacity: 1;
}

.c-form-select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  background: transparent url() no-repeat center right 8px/16px 16px;
  border: 1px solid rgba(0, 0, 0, 0.16);
  border-radius: 0;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: 1em;
  padding: 0.4em 0.8em;
  width: 100%;
}

.c-form-select::-ms-expand {
  display: none;
}

.c-form-select:focus {
  border: 1px solid rgba(0, 0, 0, 0.32);
  box-shadow: none;
  outline: none;
}

.c-form .error {
  font-size: 93%;
  color: #B70000;
  display: block;
}

.c-form input[type=number] {
  -moz-appearance: textfield;
}

.c-form input[type=number]::-webkit-outer-spin-button,
.c-form input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* p-header */
.p-header__btnbox {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 15px 0;
  width: 100%;
  margin-top: 25px;
}
@media screen and (min-width: 1024px) {
  .p-header__btnbox {
    margin-top: 1.5625vw;
  }
}

.p-header__btn--mail, .p-header__btn--tel {
  position: relative;
  width: 195px;
  height: 50px;
  border-radius: 50em;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  overflow-x: clip;
  margin: 0 auto;
}
.p-header__btn--mail::before, .p-header__btn--tel::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  content: "";
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50em;
  background-repeat: no-repeat;
  background-position: left 11px center;
  margin: auto 0;
}
@media (hover: hover) {
  .p-header__btn--mail, .p-header__btn--tel {
    transition: color ease-out 0.3s;
  }
  .p-header__btn--mail::before, .p-header__btn--tel::before {
    transition: width linear 0.4s;
  }
  .p-header__btn--mail:hover, .p-header__btn--tel:hover, .p-header__btn--mail:focus, .p-header__btn--tel:focus {
    color: #fff;
  }
  .p-header__btn--mail:hover::before, .p-header__btn--tel:hover::before, .p-header__btn--mail:focus::before, .p-header__btn--tel:focus::before {
    width: 100%;
    height: 100%;
  }
}
.p-header__btn--mail span, .p-header__btn--tel span {
  position: relative;
  z-index: 10;
}

.p-header__btn--tel {
  font-size: 1.8rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  color: #D86499;
  border: 1px solid #D86499;
  padding-right: 11px;
}
.p-header__btn--tel::before {
  background-image: url(/wp-content/uploads/tel_img.svg);
  background-size: 28px 28px;
  background-color: #D86499;
}

.p-header__btn--mail {
  font-size: 1.7rem;
  font-weight: 500;
  color: #4FA5E1;
  border: 1px solid #4FA5E1;
  padding-right: 28px;
}
.p-header__btn--mail::before {
  background-image: url(/wp-content/uploads/mail_img.svg);
  background-size: 28px 20px;
  background-color: #4FA5E1;
}

.p-header__bannarbox {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 10px 0;
  width: 100%;
  margin-top: 60px;
}
@media screen and (min-width: 1024px) {
  .p-header__bannarbox {
    margin-top: 2.8645833333vw;
  }
}
.p-header__bannarbox a {
  display: block;
}

@media screen and (min-width: 1024px) {
  .p-header__bannarimg {
    display: block;
    width: 60.2409638554%;
    height: auto;
    vertical-align: bottom;
    margin: 0 auto;
  }
}

/* p-top */
.p-top__imgbox {
  width: 90%;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-top__imgbox {
    width: 82.3%;
    height: 100%;
    aspect-ratio: 1300/1000;
    padding-bottom: min(3.91vw, 80px);
  }
}
@media screen and (min-width: 1024px) {
  .p-top__imgbox {
    width: 82.3%;
    max-height: 100vh;
    padding-bottom: min(4.17vw, 80px);
  }
}
_::-webkit-full-page-media, _:future, :root .p-top__imgbox {
  max-height: -webkit-fill-available;
}

.p-top__img {
  width: 100%;
  height: calc(var(--vh, 1vh) * 100 - min(53.87vw, 240px));
  object-fit: cover;
  object-position: 54% 50%;
  border-radius: 0 0 10.42vw 0;
}
@media screen and (min-width: 768px) {
  .p-top__img {
    height: 100%;
    object-position: top;
  }
}

.p-top__titlebox {
  display: flex;
  justify-content: center;
  flex-direction: column;
  flex: 1;
  width: 90%;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .p-top__titlebox {
    width: auto;
    flex-direction: row-reverse;
    gap: 0 min(1.15vw, 22px);
    margin-left: 0;
    margin-right: 4.01vw;
    margin-top: 10.9375vw;
  }
}

.p-top__title {
  font-family: "Noto Serif JP", serif;
  font-size: min(5.33vw, 2.2rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-top__title {
    font-size: clamp(2.2rem, 2.86vw, 3.2rem);
    letter-spacing: 0.2em;
    line-height: 1;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    padding-top: min(0.94vw, 18px);
  }
}
@media screen and (min-width: 1024px) {
  .p-top__title {
    font-size: clamp(2.2rem, 1.67vw, 3.2rem);
  }
}
@media screen and (min-width: 1200px) {
  .p-top__title {
    font-size: clamp(2.6rem, 1.67vw, 3.2rem);
  }
}

/* p-banner */
.p-bannar__link {
  width: 100%;
  height: auto;
  display: block;
}

.p-bannar__img {
  width: 100%;
  height: 100%;
}

.p-header__bannarbox {
  margin-bottom: 40px;
}
@media screen and (min-width: 1024px) {
  .p-header__bannarbox {
    margin-bottom: 0;
  }
}

/* p-tpabout */
.p-tpabout__container {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
}
@media screen and (min-width: 768px) {
  .p-tpabout__container {
    flex-direction: row;
    gap: 0 min(3.13vw, 60px);
  }
}
@media screen and (min-width: 1024px) {
  .p-tpabout__container {
    flex-direction: column;
    gap: 40px min(3.13vw, 60px);
  }
}
@media screen and (min-width: 1073px) {
  .p-tpabout__container {
    flex-direction: row;
  }
}

.p-tpabout__wrapper {
  display: flex;
  flex-direction: column;
  gap: 30px;
  max-width: max-content;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-tpabout__wrapper {
    gap: 45px;
    margin-top: min(4.58vw, 88px);
  }
}
@media screen and (min-width: 1024px) {
  .p-tpabout__wrapper {
    gap: 60px;
    margin-top: 0;
  }
}
@media screen and (min-width: 1073px) {
  .p-tpabout__wrapper {
    max-width: 550px;
    margin-top: min(4.58vw, 88px);
  }
}

.p-tpabout__imgbox {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-tpabout__imgbox {
    width: min(49.2%, 590px);
  }
}
@media screen and (min-width: 1024px) {
  .p-tpabout__imgbox {
    width: auto;
  }
}
@media screen and (min-width: 1073px) {
  .p-tpabout__imgbox {
    width: min(30.73vw, 590px);
  }
}

.p-tpabout__img {
  width: 100%;
  max-width: 590px;
  height: auto;
  vertical-align: middle;
}

.p-tpabout__textbox {
  display: flex;
  flex-direction: column;
  gap: 14px 0;
}
@media screen and (min-width: 768px) {
  .p-tpabout__textbox {
    gap: 16px 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-tpabout__textbox {
    gap: 34px 0;
  }
}

.p-tpabout__btn {
  font-size: 1.4rem;
  font-weight: 500;
  color: #D86499;
  max-width: max-content;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0 40px;
  border-radius: 35px;
  border: 1px solid #D86499;
  padding: 20px 40px 20px 80px;
  height: 62px;
  margin: 48px auto 0;
}
@media screen and (min-width: 768px) {
  .p-tpabout__btn {
    font-size: 1.6rem;
    height: 64px;
    margin: 48px 0 0;
  }
}
@media screen and (min-width: 1024px) {
  .p-tpabout__btn {
    font-size: 1.8rem;
    height: 66px;
    margin: 48px auto 0;
  }
}
@media screen and (min-width: 1073px) {
  .p-tpabout__btn {
    margin: 48px 0 0;
  }
}
@media (hover: hover) {
  .p-tpabout__btn {
    transition: ease-out 0.3s;
  }
  .p-tpabout__btn path, .p-tpabout__btn svg {
    transition: ease-out 0.3s;
  }
  .p-tpabout__btn:hover, .p-tpabout__btn:focus {
    color: #fff;
    background-color: #D86499;
  }
  .p-tpabout__btn:hover path, .p-tpabout__btn:focus path {
    fill: #fff;
  }
  .p-tpabout__btn:hover svg, .p-tpabout__btn:focus svg {
    transform: translateY(0) translateX(10px);
  }
}

/* p-tpfeature */
.p-tpfeature__list {
  display: flex;
  flex-direction: column;
  gap: 60px 0;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-tpfeature__list {
    flex-direction: row;
    justify-content: space-between;
    margin-top: 67px;
  }
}
@media screen and (min-width: 1024px) {
  .p-tpfeature__list {
    flex-direction: column;
  }
}
@media screen and (min-width: 1073px) {
  .p-tpfeature__list {
    flex-direction: row;
  }
}

.p-tpfeature__item {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: min(1.56vw, 30px) 0;
}
@media screen and (min-width: 768px) {
  .p-tpfeature__item {
    align-items: stretch;
    gap: min(1.95vw, 30px) 0;
    width: calc((100% - min(2.08vw, 45px) * 2) / 3);
  }
}
@media screen and (min-width: 1024px) {
  .p-tpfeature__item {
    width: 100%;
    gap: min(0.83vw, 30px) 0;
  }
}
@media screen and (min-width: 1073px) {
  .p-tpfeature__item {
    width: calc((100% - min(2.08vw, 45px) * 2) / 3);
    gap: min(2.2vw, 30px) 0;
  }
}

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

.p-tpfeature__img {
  width: 200px;
  height: auto;
  max-width: 350px;
  vertical-align: middle;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 768px) {
  .p-tpfeature__img {
    width: calc(100% - 30px);
  }
}

.p-tpfeature__title {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  color: #4FA5E1;
}
@media screen and (min-width: 768px) {
  .p-tpfeature__title {
    font-size: clamp(1.8rem, 2.08vw, 2.2rem);
  }
}
@media screen and (min-width: 1024px) {
  .p-tpfeature__title {
    font-size: clamp(2rem, 1.35vw, 2.6rem);
  }
}

.p-tpfeature__text {
  line-height: 1.8;
  max-width: 300px;
  margin: min(1.3vw, 10px) auto 0;
}
.p-tpfeature__text::before, .p-tpfeature__text::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
}
.p-tpfeature__text::before {
  margin-top: -0.4em;
}
.p-tpfeature__text::after {
  margin-bottom: -0.4em;
}
@media screen and (min-width: 768px) {
  .p-tpfeature__text {
    max-width: 370px;
    margin-top: 10px;
  }
}
@media screen and (min-width: 1073px) {
  .p-tpfeature__text {
    margin-top: 30px;
  }
}

/* p-tpmember */
.p-tpmember__wrapper {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 5px 0;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-tpmember__wrapper {
    gap: 20px 0;
    margin-top: 54px;
  }
}

.p-tpmemeber__btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: #D86499;
  padding: 22px 0;
}
@media screen and (min-width: 768px) {
  .p-tpmemeber__btn {
    width: calc((100% - ( 20px * (2 - 1))) / 2);
    padding: 48px 0;
  }
}
@media (hover: hover) {
  .p-tpmemeber__btn {
    transition: background-color ease-out 0.3s;
  }
  .p-tpmemeber__btn:hover, .p-tpmemeber__btn:focus {
    background-color: #B8D1EA;
  }
  .p-tpmemeber__btn:hover svg, .p-tpmemeber__btn:focus svg {
    transform: translateX(10px);
  }
}
.p-tpmemeber__btn svg {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: min(1.87vw, 10px);
  width: min(3.73vw, 16px);
  height: 15px;
  margin: auto 0;
}
@media screen and (min-width: 768px) {
  .p-tpmemeber__btn svg {
    right: 40px;
    width: 30px;
    height: 21px;
  }
}
@media (hover: hover) {
  .p-tpmemeber__btn svg {
    transition: transform linear 0.3s;
  }
}
.p-tpmemeber__btn:first-of-type {
  border-radius: 3px;
}
@media screen and (min-width: 768px) {
  .p-tpmemeber__btn:first-of-type {
    border-radius: 30px 0 0 0;
  }
}
.p-tpmemeber__btn:nth-of-type(2) {
  border-radius: 3px;
}
@media screen and (min-width: 768px) {
  .p-tpmemeber__btn:nth-of-type(2) {
    border-radius: 0 30px 0 0;
  }
}
.p-tpmemeber__btn:nth-of-type(3) {
  border-radius: 3px;
}
@media screen and (min-width: 768px) {
  .p-tpmemeber__btn:nth-of-type(3) {
    border-radius: 0 0 0 30px;
  }
}
.p-tpmemeber__btn:last-of-type {
  border-radius: 3px;
}
@media screen and (min-width: 768px) {
  .p-tpmemeber__btn:last-of-type {
    border-radius: 0 0 30px 0;
  }
}

.p-tpmember__titlebox {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 10px;
  color: #fff;
}

.p-tpmemeber__title {
  font-size: 1.6rem;
  line-height: 1;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .p-tpmemeber__title {
    font-size: min(2.6vw, 2.4rem);
  }
}

.p-tpmember__entitle {
  font-size: 1.4rem;
  line-height: 1;
  font-family: "Libre Baskerville", serif;
  letter-spacing: 0.03em;
  font-style: italic;
  display: flex;
  align-items: center;
  gap: 0 5px;
}
@media screen and (min-width: 768px) {
  .p-tpmember__entitle {
    font-size: min(2.34vw, 2.2rem);
    gap: 0 10px;
  }
}
.p-tpmember__entitle::before, .p-tpmember__entitle::after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .p-tpmember__entitle::before, .p-tpmember__entitle::after {
    width: 30px;
  }
}

/* p-footer */
.p-footer__wrapper {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-footer__wrapper {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0 min(5.21vw, 60px);
    margin-top: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .p-footer__wrapper {
    gap: 0 min(4.69vw, 90px);
  }
}

.p-footer__title {
  font-size: 2rem;
  line-height: 1;
  font-weight: 700;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .p-footer__title {
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1073px) {
  .p-footer__title {
    font-size: 2.8rem;
  }
}

.p-footer__text, .p-footer__text--num, .p-footer__text--fax, .p-footer__text--day {
  font-size: 1.5rem;
  line-height: 1.62;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .p-footer__text, .p-footer__text--num, .p-footer__text--fax, .p-footer__text--day {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 1073px) {
  .p-footer__text, .p-footer__text--num, .p-footer__text--fax, .p-footer__text--day {
    font-size: 2rem;
  }
}

.p-footer__text--day {
  margin-top: 5px;
}

.p-footer__text--fax {
  line-height: 1;
}

.p-footer__text--num {
  font-family: "Noto Serif JP", serif;
  line-height: 1;
}

.p-footer__tel {
  font-size: 2.5rem;
  line-height: 1.43;
  color: #D86499;
  font-weight: normal;
  display: block;
  margin-top: 14px;
}
@media screen and (min-width: 768px) {
  .p-footer__tel {
    font-size: 3rem;
  }
}

.p-footer__btn {
  font-size: min(4.27vw, 1.8rem);
  line-height: 1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 500;
  color: #fff;
  background-color: #D86499;
  max-width: 397px;
  border-radius: min(9.33vw, 50px);
  border: 1px solid #D86499;
  padding: min(5.33vw, 25px) min(5.33vw, 40px) min(5.33vw, 25px) min(18.67vw, 80px);
  margin: 20px auto 0;
}
@media screen and (min-width: 768px) {
  .p-footer__btn {
    font-size: 1.8rem;
    border-radius: 50px;
    margin-left: 0;
  }
}
@media (hover: hover) {
  .p-footer__btn {
    transition: ease-out 0.3s;
  }
  .p-footer__btn:hover, .p-footer__btn:focus {
    color: #D86499;
    background-color: #fff;
  }
  .p-footer__btn:hover svg, .p-footer__btn:focus svg {
    transform: translateX(10px);
  }
  .p-footer__btn:hover path, .p-footer__btn:focus path {
    fill: #D86499;
  }
}
.p-footer__btn svg {
  width: 21px;
  height: 15px;
}
@media (hover: hover) {
  .p-footer__btn svg {
    transition: transform linear 0.3s;
  }
}
@media (hover: hover) {
  .p-footer__btn path {
    transition: fill linear 0.3s;
  }
}

.p-footer__map {
  width: 100%;
  height: auto;
  aspect-ratio: 1200/573;
  margin-top: 40px;
}

.p-footer__lastwrapper {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  border-top: 1px solid #E8DFE0;
  margin-top: 45px;
  padding-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-footer__lastwrapper {
    margin-top: 80px;
  }
}

.p-footer__rightbox {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .p-footer__rightbox {
    flex-direction: row;
    align-items: flex-end;
    gap: 0 54px;
  }
}

.p-footer__img {
  width: 176px;
  height: auto;
  aspect-ratio: 265/120;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .p-footer__img {
    width: 265px;
  }
}

@media (hover: hover) {
  .p-footer__pagetop {
    transition: transform linear 0.3s;
  }
  .p-footer__pagetop:hover, .p-footer__pagetop:focus {
    transform: translateY(-10px);
  }
}
.p-footer__pagetop img {
  width: 33px;
  height: auto;
  aspect-ratio: 50/28;
}

.p-footer__list {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
@media screen and (min-width: 768px) {
  .p-footer__list {
    gap: 20px;
  }
}

.p-footer__item {
  line-height: 1;
}

.p-footer__link {
  font-size: 1.4rem;
  line-height: 1;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .p-footer__link {
    font-size: 1.8rem;
  }
}

.p-footer__copybox {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: 45px;
}
@media screen and (min-width: 768px) {
  .p-footer__copybox {
    max-width: 83%;
  }
}

.p-footer__copy {
  font-size: 1.2rem;
  font-weight: normal;
}

/* p-guidance */
.p-guidance__contents {
  max-width: 100%;
  margin-right: auto;
  margin-top: -10px;
}
@media (min-width: 1670px) {
  .p-guidance__contents {
    width: 1000px;
  }
}

.p-guidance__box:not(:first-of-type) {
  margin-top: 150px;
}
@media screen and (min-width: 768px) {
  .p-guidance__box:not(:first-of-type) {
    margin-top: 160px;
  }
}

.p-guidance__heading-lv2 {
  color: #D86499;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 1;
  padding-bottom: 10px;
  border-bottom: 1px solid #D86499;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .p-guidance__heading-lv2 {
    font-size: 2.6rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-guidance__heading-lv2 {
    font-size: 3.2rem;
  }
}

.p-guidance__heading-lv3 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-guidance__heading-lv3 {
    margin-bottom: 30px;
  }
}
@media screen and (min-width: 1024px) {
  .p-guidance__heading-lv3 {
    font-size: 2.6rem;
  }
}
.p-guidance__heading-lv3:not(:first-child) {
  margin-top: 60px;
}

.p-guidance__heading-lv4 {
  color: #D86499;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  margin-top: 34px;
  margin-bottom: 14px;
}
@media screen and (min-width: 1024px) {
  .p-guidance__heading-lv4 {
    font-size: 2.2rem;
  }
}

.p-guidance__text {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.5;
}
@media screen and (min-width: 1024px) {
  .p-guidance__text {
    font-size: 2rem;
  }
}

.p-guidance__list {
  padding-bottom: 25px;
}
.p-guidance__list li {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 1024px) {
  .p-guidance__list li {
    font-size: 2rem;
  }
}
.p-guidance__list li:not(:first-child) {
  margin-top: 2px;
}
@media screen and (min-width: 768px) {
  .p-guidance__list li:not(:first-child) {
    margin-top: 10px;
  }
}

.p-guidance__price-wrapper {
  padding-top: 50px;
  border-top: 1px solid #D86499;
  margin-top: 100px;
  padding-bottom: 8px;
}

.p-guidance__price-heading {
  color: #D86499;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 30px;
}
@media screen and (min-width: 1024px) {
  .p-guidance__price-heading {
    font-size: 2.6rem;
  }
}
.p-guidance__price-heading span {
  font-size: 1.6rem;
}

.p-guidance__price-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 35px;
}
@media screen and (min-width: 768px) {
  .p-guidance__price-list {
    flex-direction: row;
    gap: 70px;
  }
}

.p-guidance__price-list-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 20px;
  width: 280px;
}
@media screen and (min-width: 768px) {
  .p-guidance__price-list-item {
    flex-direction: column;
    gap: 0px;
    width: auto;
  }
}
.p-guidance__price-list-item:not(:first-child) {
  position: relative;
}
.p-guidance__price-list-item:not(:first-child)::before {
  position: absolute;
  content: "";
  display: block;
  width: 20px;
  height: 3px;
  background-color: #1F2C32;
  top: -20px;
  left: 60px;
}
@media screen and (min-width: 768px) {
  .p-guidance__price-list-item:not(:first-child)::before {
    width: 30px;
    height: 5px;
    top: 40px;
    left: -50px;
  }
}
.p-guidance__price-list-item:not(:first-child)::after {
  position: absolute;
  content: "";
  display: block;
  width: 3px;
  height: 20px;
  background-color: #1F2C32;
  top: -28px;
  left: 69px;
}
@media screen and (min-width: 768px) {
  .p-guidance__price-list-item:not(:first-child)::after {
    width: 5px;
    height: 30px;
    top: 28px;
    left: -37px;
  }
}

.p-guidance__price-list-head {
  display: grid;
  place-content: center;
  font-size: 1.6rem;
  font-weight: bold;
  padding: 15px 10px;
  background-color: #B8D1EA;
  border-radius: 12px;
  flex: 0 1 142px;
}
@media screen and (min-width: 768px) {
  .p-guidance__price-list-head {
    font-size: 1.8rem;
    width: 160px;
    height: 70px;
    border-radius: 20px;
    padding: 0;
    flex: auto;
  }
}
@media screen and (min-width: 1024px) {
  .p-guidance__price-list-head {
    height: 89px;
    font-size: 2rem;
  }
}

.p-guidance__price-list-body {
  display: grid;
  place-content: center;
}
@media screen and (min-width: 768px) {
  .p-guidance__price-list-body {
    margin-top: 20px;
    height: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .p-guidance__price-list-body {
    height: 77px;
  }
}
.p-guidance__price-list-body p {
  font-size: 1.6rem;
}
@media screen and (min-width: 1024px) {
  .p-guidance__price-list-body p {
    font-size: 2.5rem;
  }
}
.p-guidance__price-list-body p span {
  font-size: 1.6rem;
  font-weight: 500;
  padding-right: 9px;
}
@media screen and (min-width: 1024px) {
  .p-guidance__price-list-body p span {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 768px) {
  .p-guidance__price-list-head--wide {
    width: 200px;
  }
}

.p-guidance__plan {
  max-width: 100%;
  margin-right: auto;
}
@media (min-width: 1670px) {
  .p-guidance__plan {
    width: 1000px;
  }
}

.p-guidance__plan-label {
  display: inline-block;
  padding: 0px 9px;
  background-color: #fff;
  color: #D86499;
  font-size: 1.6rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  border: 1px solid #D86499;
}
@media screen and (min-width: 768px) {
  .p-guidance__plan-label {
    font-size: 2.2rem;
  }
}

.p-guidance__plan-heading {
  color: #D86499;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.45;
  border-bottom: 1px solid #D86499;
  padding-bottom: 7px;
  margin-top: 18px;
  margin-bottom: 25px;
}
@media screen and (min-width: 1024px) {
  .p-guidance__plan-heading {
    font-size: 2.2rem;
  }
}

.p-guidance__plan-lead {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.22;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .p-guidance__plan-lead {
    font-size: 2.6rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-guidance__plan-lead {
    font-size: 3.2rem;
  }
}

.p-guidance__plan-text {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-guidance__plan-text {
    font-size: 1.8rem;
  }
}

.p-guidance__plan-list-head {
  font-size: 1.6rem;
  margin-top: 35px;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .p-guidance__plan-list-head {
    font-size: 2rem;
  }
}

.p-guidance__plan-list {
  margin-top: 5px;
}
.p-guidance__plan-list li {
  font-size: 1.4rem;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 1024px) {
  .p-guidance__plan-list li {
    font-size: 2rem;
  }
}
.p-guidance__plan-list li:not(:first-child) {
  margin-top: 2px;
}

.p-guidance__plan-note {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.67;
  margin-top: 20px;
  width: 280px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-guidance__plan-note {
    text-align: right;
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .p-guidance__plan-note {
    font-size: 1.8rem;
  }
}

/* p-about */
.p-about__inner {
  display: grid;
  grid-template-columns: auto;
}
@media screen and (min-width: 768px) {
  .p-about__inner {
    grid-template-columns: auto auto;
    column-gap: min(4.6875vw, 90px);
  }
}

.p-about__title {
  color: #D86499;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .p-about__title {
    font-size: 2.6rem;
  }
}

.p-about__textwrapper {
  margin-top: 80px;
}
@media screen and (min-width: 768px) {
  .p-about__textwrapper {
    grid-row: 2/3;
    grid-column: 1/3;
  }
}
@media screen and (min-width: 1024px) {
  .p-about__textwrapper {
    grid-column: 1/2;
  }
}

.p-about__textbox {
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .p-about__textbox {
    margin-top: 30px;
  }
}

.p-about__text {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-about__text {
    font-size: 1.8rem;
  }
}
.p-about__text:not(:first-child) {
  padding-top: 1.5em;
}
@media screen and (min-width: 768px) {
  .p-about__text:not(:first-child) {
    padding-top: 1.7em;
  }
}

.p-about__img-wrapper {
  margin-top: 35px;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .p-about__img-wrapper {
    margin-top: 10px;
    grid-row: 1/3;
    grid-column: 2/3;
  }
}

.p-about__img {
  width: 250px;
  max-width: 100%;
  aspect-ratio: 400/477;
  height: auto;
  object-fit: cover;
  object-position: center;
}
@media screen and (min-width: 768px) {
  .p-about__img {
    width: min(20.8333333333vw, 400px);
  }
}

.p-about__figcap {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.62;
  text-align: right;
}
@media screen and (min-width: 1024px) {
  .p-about__figcap {
    font-size: 2rem;
  }
}

.p-about__list li {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.8;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (min-width: 768px) {
  .p-about__list li {
    font-size: 1.8rem;
  }
}

/**
 * p-flow
 */
.p-flow__inner {
  padding-top: 10px;
}

.p-flow-list {
  counter-reset: number 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 120px;
}

@media screen and (min-width: 768px) {
  .p-flow-list__item {
    display: grid;
    grid-template-rows: max-content 1fr;
    column-gap: 20px;
    grid-template-columns: 30.8333333333% auto;
    column-gap: 40px;
  }
}
@media screen and (min-width: 1024px) {
  .p-flow-list__item {
    column-gap: min(3.90625vw, 40px);
  }
}
@media screen and (min-width: 1073px) {
  .p-flow-list__item {
    grid-template-columns: 30.8333333333% 50%;
    column-gap: min(5.7291666667vw, 110px);
  }
}

.p-flow-list__heading {
  color: #D86499;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(2rem, 1.426rem + 2.45vw, 2.6rem);
  min-height: 0.001vw;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 20px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 17px;
}
@media screen and (min-width: 768px) {
  .p-flow-list__heading {
    grid-row: 1/2;
    grid-column: 2/3;
    font-size: 2.6rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-flow-list__heading {
    margin-bottom: 35px;
    font-size: 2.8rem;
    padding-top: 10px;
    padding-left: 16px;
  }
}
.p-flow-list__heading::before {
  counter-increment: number 1;
  content: counter(number) ".";
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  line-height: 1;
  transform: translateY(2px);
}

@media screen and (min-width: 768px) {
  .p-flow-list__img-wrapper {
    grid-row: 1/3;
    grid-column: 1/2;
  }
}

.p-flow-list__img {
  width: 60%;
  height: auto;
  aspect-ratio: 370/370;
  object-fit: cover;
  object-position: center;
  border-radius: 21.6216216216%;
}
@media screen and (min-width: 768px) {
  .p-flow-list__img {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .p-flow-list__textbox {
    grid-row: 2/3;
    grid-column: 2/3;
  }
}

.p-flow-list__text {
  font-size: 1.4rem;
  line-height: 1.8;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .p-flow-list__text {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-flow-list__text {
    font-size: 1.8rem;
  }
}
.p-flow-list__text:not(:first-child) {
  padding-top: 1.5em;
}

/**
 * p-faq
 */
.p-faq__inner {
  max-width: 100%;
  margin-right: auto;
  margin-bottom: -40px;
}
@media (min-width: 1670px) {
  .p-faq__inner {
    width: 1000px;
  }
}

.p-accordion {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.p-accordion__item {
  position: relative;
}
.p-accordion__item::before {
  position: absolute;
  content: "Q.";
  display: block;
  width: auto;
  height: 35px;
  color: #D86499;
  font-size: 2.4rem;
  font-weight: normal;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  line-height: 1;
  top: 8px;
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-accordion__item::before {
    font-size: 3rem;
    top: 17px;
  }
}
@media screen and (min-width: 1024px) {
  .p-accordion__item::before {
    font-size: 3.5rem;
  }
}

.p-accordion__wrapper {
  cursor: pointer;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.p-accordion__title {
  color: #D86499;
  font-size: 1.6rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  line-height: 1.5;
  padding-top: 10px;
  padding-right: 25px;
  padding-bottom: 7px;
  padding-left: 35px;
  border-bottom: 1px solid #D86499;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-accordion__title {
    padding-right: 35px;
    padding-left: 65px;
    font-size: 2rem;
    line-height: 2.18;
  }
}
@media screen and (min-width: 1024px) {
  .p-accordion__title {
    font-size: 2.2rem;
  }
}
.p-accordion__title::before {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  height: 20px;
  top: 8px;
  right: 10px;
  background-color: #D86499;
}
@media screen and (min-width: 768px) {
  .p-accordion__title::before {
    height: 30px;
    top: 19px;
    right: 14px;
  }
}
.p-accordion__title::after {
  position: absolute;
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  top: 18px;
  right: 0;
  background-color: #D86499;
}
@media screen and (min-width: 768px) {
  .p-accordion__title::after {
    width: 30px;
    top: 34px;
    right: 0;
  }
}

.p-accordion__wrapper[open] .p-accordion__title::before {
  content: none;
}

.p-accordion__body {
  padding-top: 25px;
  padding-right: 25px;
  padding-left: 35px;
  position: relative;
  max-width: 900px;
}
@media screen and (min-width: 768px) {
  .p-accordion__body {
    padding-right: 35px;
    padding-bottom: 40px;
    padding-left: 65px;
  }
}
.p-accordion__body::before {
  position: absolute;
  content: "A.";
  display: block;
  width: auto;
  height: 35px;
  font-size: 2.4rem;
  font-weight: normal;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
  line-height: 1;
  top: 22px;
  left: 0;
}
@media screen and (min-width: 768px) {
  .p-accordion__body::before {
    font-size: 3rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-accordion__body::before {
    font-size: 3.5rem;
  }
}

.p-accordion__text {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-accordion__text {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-accordion__text {
    font-size: 1.8rem;
  }
}
.p-accordion__text:not(:first-child) {
  margin-top: 1.5em;
}

/* ▶︎を消す */
summary {
  display: block;
}

summary::-webkit-details-marker {
  display: none;
}

/**
 * p-price-table
 */
.p-price-table {
  width: 280px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .p-price-table {
    width: auto;
    margin: 0;
  }
}

.p-price-table__item {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .p-price-table__item {
    flex-direction: row;
    gap: 3px;
  }
}
.p-price-table__item:first-child .p-price-table__head {
  border-top: 1px solid #D86499;
}
.p-price-table__item:last-child .p-price-table__head {
  border-bottom: 1px solid #D86499;
}
@media screen and (min-width: 768px) {
  .p-price-table__item:last-child .p-price-table__body {
    border-bottom: 1px solid #D86499;
  }
}

.p-price-table__head {
  background-color: #D86499;
  color: #fff;
  padding-top: 7px;
  padding-bottom: 7px;
  border-top: 1px solid #fff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.3;
  flex: 0 1 34.7826086957%;
  display: grid;
  place-content: center;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-price-table__head {
    font-size: 1.8rem;
    padding-top: 5px;
    padding-bottom: 5px;
  }
}
@media screen and (min-width: 1024px) {
  .p-price-table__head {
    font-size: 2rem;
  }
}

.p-price-table__body {
  flex: 1;
  padding-top: 17px;
  padding-bottom: 17px;
  border-top: 1px solid #D86499;
  background: #fff;
}

.p-price-table--low .p-price-table__body {
  padding-top: 7px;
  padding-bottom: 7px;
}

.p-price-table__body-inner {
  display: grid;
  grid-template-columns: 17.8571428571% 39.2857142857% 42.8571428571%;
  align-items: flex-end;
}
@media screen and (min-width: 768px) {
  .p-price-table__body-inner {
    grid-template-columns: 11.7307692308% 47.8846153846% 40.3846153846%;
  }
}
@media screen and (min-width: 1024px) {
  .p-price-table__body-inner {
    grid-template-columns: 15.8064516129% 44.4086021505% 39.7849462366%;
  }
}
@media screen and (min-width: 1366px) {
  .p-price-table__body-inner {
    grid-template-columns: 11.7307692308% 47.8846153846% 40.3846153846%;
  }
}
.p-price-table__body-inner:not(:first-child) {
  margin-top: 10px;
}

.p-price-table__text--tax {
  color: #1F2C32;
  font-size: 1.4rem;
  font-weight: 500;
  padding-left: 10px;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .p-price-table__text--tax {
    font-size: 1.6rem;
  }
}

.p-price-table__text {
  font-size: 2rem;
  font-weight: bold;
  color: #D86499;
  line-height: 1;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .p-price-table__text {
    font-size: 2.6rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-price-table__text {
    font-size: 3rem;
  }
}

.p-price-table__text--wide {
  grid-column: 1/4;
  text-align: center;
}

.p-price-table__text--large {
  font-size: 4rem;
}
@media screen and (min-width: 768px) {
  .p-price-table__text--large {
    font-size: 5rem;
  }
}

.p-price-table__text--sex {
  color: #1F2C32;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .p-price-table__text--sex {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1366px) {
  .p-price-table__text--sex {
    padding-right: 20px;
  }
}

.p-price-table__text--yen {
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .p-price-table__text--yen {
    font-size: 2.5rem;
  }
}

.p-price-table__note {
  font-size: 1.4rem;
  text-align: right;
  grid-column: 2/4;
  padding-left: 35px;
}
@media screen and (min-width: 768px) {
  .p-price-table__note {
    font-size: 1.8rem;
    text-align: left;
  }
}

.p-price-table__text--exclamation {
  color: #D86499;
  font-size: 3.5rem;
  font-weight: bold;
  line-height: 1;
  font-family: "Noto Serif JP", serif;
  padding-left: 10px;
}
@media screen and (min-width: 768px) {
  .p-price-table__text--exclamation {
    font-size: 5rem;
  }
}

.p-guidance__plan-table-wrapper {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 10px;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .p-guidance__plan-table-wrapper {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 30px;
  }
}

/**
 * p-single
 */
.p-single__post-wrapper {
  max-width: 100%;
  margin: auto;
}
@media screen and (min-width: 1366px) {
  .p-single__post-wrapper {
    width: 1000px;
  }
}

/**
 * p-contact
 */
.p-contact__inner {
  max-width: 100%;
  margin-right: auto;
}
@media (min-width: 1670px) {
  .p-contact__inner {
    width: 1074px;
    padding-top: 20px;
  }
}

.p-contact__heading-text {
  font-size: 1.5rem;
  font-weight: normal;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-contact__heading-text {
    font-size: 1.8rem;
  }
}

.p-contact__form {
  margin-top: 80px;
}

/**
 * p-form
 */
.p-form {
  max-width: 1073px;
  gap: 40px 0;
}
@media screen and (min-width: 768px) {
  .p-form {
    gap: 28px 0;
  }
}

@media screen and (min-width: 768px) {
  .p-form__item {
    flex-direction: row;
  }
}

@media screen and (min-width: 768px) {
  .p-form__title {
    flex: 1;
    margin-top: 10px;
  }
}

@media screen and (min-width: 768px) {
  .p-form__body {
    flex: 0 1 65.1041666667%;
  }
}
@media screen and (min-width: 1024px) {
  .p-form__body {
    flex: 0 1 74.4878957169%;
  }
}

.p-form__privacy-heading-text {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .p-form__privacy-heading-text {
    font-size: 1.8rem;
  }
}

.p-form__privacy-wrapper {
  height: 250px;
  overflow: auto;
}
@media screen and (min-width: 768px) {
  .p-form__privacy-wrapper {
    height: 300px;
    width: 65.1041666667%;
    margin-left: auto;
  }
}
@media screen and (min-width: 1024px) {
  .p-form__privacy-wrapper {
    width: 74.4878957169%;
    margin-top: -15px;
    margin-left: auto;
  }
}

.p-form__privacy-text {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.75;
}
@media screen and (min-width: 768px) {
  .p-form__privacy-text {
    font-size: 1.6rem;
  }
}

.p-form__btn {
  font-size: 1.4rem;
  font-weight: 500;
  color: #D86499;
  max-width: max-content;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0 40px;
  border-radius: 35px;
  border: 1px solid #D86499;
  padding: 20px 40px 20px 80px;
  height: 62px;
  margin: 48px auto 0;
}
@media screen and (min-width: 768px) {
  .p-form__btn {
    font-size: 1.6rem;
    height: 64px;
  }
}
@media screen and (min-width: 1024px) {
  .p-form__btn {
    font-size: 1.8rem;
    height: 66px;
    margin: 48px auto 0;
  }
}
@media screen and (min-width: 1073px) {
  .p-form__btn {
    margin: 100px auto 0;
  }
}
@media (hover: hover) {
  .p-form__btn {
    transition: ease-out 0.3s;
  }
  .p-form__btn path, .p-form__btn svg {
    transition: ease-out 0.3s;
  }
  .p-form__btn:hover, .p-form__btn:focus {
    color: #fff;
    background-color: #D86499;
  }
  .p-form__btn:hover path, .p-form__btn:focus path {
    fill: #fff;
  }
  .p-form__btn:hover svg, .p-form__btn:focus svg {
    transform: translateY(0) translateX(10px);
  }
}

.p-form__alert {
  font-size: 93%;
  color: #B70000;
  display: none;
}

/**
 * p-post
 */
.p-post__time {
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.8;
}

.p-post__img-wrapper {
  margin-top: 22px;
  margin-bottom: 50px;
}

.p-post__img {
  width: 100%;
  height: auto;
  aspect-ratio: 1000/562;
  object-fit: cover;
  object-position: center;
}

.p-post__list {
  background-color: rgba(184, 209, 234, 0.3);
  border-radius: 30px;
  padding: 25px 20px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  .p-post__list {
    padding: 50px min(2.0833333333vw, 40px);
  }
}
.p-post__list li:not(:first-child) {
  margin-top: 25px;
}
@media screen and (min-width: 768px) {
  .p-post__list li:not(:first-child) {
    margin-top: 50px;
  }
}

.p-post__list li .p-post__text {
  margin-top: 0;
}

.p-post__list-title {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.45;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .p-post__list-title {
    margin-bottom: 10px;
    font-size: 2.2rem;
  }
}
.p-post__list-title::before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background-color: #1F2C32;
}

.p-post h2 {
  color: #D86499;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.43;
  margin-top: 50px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p-post h2 {
    font-size: 3rem;
    margin-top: 100px;
    margin-bottom: 20px;
  }
}

.p-post h3 {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 40px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .p-post h3 {
    font-size: 2.6rem;
    margin-top: 80px;
    margin-bottom: 20px;
  }
}

.p-post__matome-box {
  border: 2px solid #D86499;
  border-radius: 30px;
  padding: 25px 20px;
  margin-top: 100px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-post__matome-box {
    padding: 50px min(2.0833333333vw, 40px);
  }
}
.p-post__matome-box::after {
  position: absolute;
  content: "";
  display: block;
  width: 85px;
  height: auto;
  aspect-ratio: 118/144;
  background-image: url(/wp-content/uploads/post-dec_img.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  right: 5px;
  bottom: 5px;
  opacity: 0.2;
}
@media screen and (min-width: 768px) {
  .p-post__matome-box::after {
    width: 118px;
    right: 30px;
    bottom: 50px;
  }
}
@media screen and (min-width: 1366px) {
  .p-post__matome-box::after {
    right: 30px;
    bottom: 50px;
    opacity: 1;
  }
}
.p-post__matome-box h2 {
  margin-top: 0;
}

.p-post__text {
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-post__text {
    font-size: 1.8rem;
  }
}
.p-post__text:not(:first-child) {
  margin-top: 1em;
}

.p-post__text-list {
  font-size: 1.4rem;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-post__text-list {
    font-size: 1.8rem;
  }
}

/**
 * p-related-post
 */
.p-related-post {
  max-width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 1366px) {
  .p-related-post {
    width: 1000px;
  }
}

.p-related-post__heading {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .p-related-post__heading {
    font-size: 2.6rem;
    margin-bottom: 30px;
  }
}

/* p-related-post-item */
.p-related-post-items {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px 10px;
}
@media screen and (min-width: 768px) {
  .p-related-post-items {
    gap: 35px 19px;
  }
}

.p-related-post-item {
  border: 2px solid #fff;
  width: calc(50% - 5px);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  .p-related-post-item {
    width: calc(33.3333333333% - 12.6666666667px);
  }
}
@media (hover: hover) {
  .p-related-post-item:hover, .p-related-post-item:focus {
    opacity: 0.7;
    transition: 0.3s;
  }
}

.p-related-post-item__img {
  width: 100%;
  height: auto;
  aspect-ratio: 320/200;
  object-fit: cover;
  object-position: center;
  vertical-align: bottom;
}

.p-related-post-item__body {
  background: #fff;
  padding-top: 20px;
  padding-right: 3px;
  padding-bottom: 20px;
  padding-left: 3px;
  display: grid;
  place-content: center;
  flex-grow: 1;
}

.p-related-post-item__title {
  font-size: clamp(1.4rem, 1.32rem + 0.4vw, 1.8rem);
  margin: 1px;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-related-post-item__title {
    text-align: center;
  }
}

.p-related-post-item__link {
  position: absolute;
  content: "";
  inset: 0;
}

/**
 * p-floating-btn
 */
.p-floating-btn {
  position: fixed;
  top: 12%;
  right: 0;
  width: 30px;
  height: 150px;
  background-color: #D86499;
  text-align: center;
  opacity: 0;
  transition: 0.3s;
  pointer-events: none;
  box-shadow: -1px 0px 9px 0px rgba(216, 100, 153, 0.3);
  border-radius: 0 0 0 15px;
}
@media screen and (min-width: 1073px) {
  .p-floating-btn {
    border-radius: 0 0 0 25px;
    width: 50px;
    height: 200px;
  }
}
.p-floating-btn a {
  color: #fff;
  writing-mode: vertical-rl;
  font-size: 1.4rem;
  letter-spacing: 0.4em;
  font-family: "Noto Serif JP", serif;
  display: block;
  height: 100%;
  width: 100%;
  padding-right: 3px;
}
@media screen and (min-width: 1073px) {
  .p-floating-btn a {
    font-size: 2.4rem;
  }
}

.p-floating-btn.js-floating-btn-appear {
  opacity: 1;
  pointer-events: auto;
}

/* u-display */
.u-spnone {
  display: none;
}

.u-spblock {
  display: block;
}

.u-spflex {
  display: flex;
}

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

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

@media screen and (min-width: 768px) {
  .u-tabflex {
    display: flex;
  }
}

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

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

@media screen and (min-width: 1024px) {
  .u-pcflex {
    display: flex;
  }
}

.u-flex-justify-between {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
}

/* u-weight */
.u-light {
  font-weight: 300;
}

.u-normal {
  font-weight: 400;
}

.u-medium {
  font-weight: 500;
}

.u-semibold {
  font-weight: 600;
}

.u-bold {
  font-weight: 700;
}

.u-black {
  font-weight: 900;
}

.u-regular {
  font-style: normal;
}

/* u-cursor */
.u-pointer {
  cursor: pointer;
}

.u-eventnone {
  pointer-events: none;
}

/* u-mt */
.u-mtl {
  margin-top: 90px;
}
@media screen and (min-width: 768px) {
  .u-mtl {
    margin-top: 120px;
  }
}
@media screen and (min-width: 1024px) {
  .u-mtl {
    margin-top: 180px;
  }
}

.u-mt-0 {
  margin-top: 0 !important;
}

.u-mt-6 {
  margin-top: 6px;
}

.u-mt-20 {
  margin-top: 20px;
}

.u-mt-30 {
  margin-top: 30px;
}

.u-mt-50 {
  margin-top: 50px;
}

.u-mt-70 {
  margin-top: 70px;
}

.u-mb-10 {
  margin-bottom: 10px;
}

/* u-col2 */
.u-col2 {
  color: #D86499;
}

/* u-textalign */
.u-textleft {
  text-align: left;
}

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

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

.u-textjustify {
  text-align: justify;
}

@media screen and (min-width: 768px) {
  .u-font-md-26 {
    font-size: 2.6rem;
  }
}

/* padding */
.u-pb-page {
  padding-bottom: 90px;
}
@media screen and (min-width: 768px) {
  .u-pb-page {
    padding-bottom: 120px;
  }
}
@media screen and (min-width: 1024px) {
  .u-pb-page {
    padding-bottom: 180px;
  }
}

@media screen and (min-width: 1366px) {
  .u-pl-guidance {
    padding-left: min(10.4166666667vw, 200px);
  }
}

@media screen and (min-width: 768px) {
  .u-pr-table {
    padding-right: min(5.2083333333vw, 100px);
  }
}

.u-pl-0 {
  padding-left: 0;
}

@media screen and (min-width: 768px) {
  .u-pl-md-76 {
    padding-left: 76px;
  }
}

.u-pt-0 {
  padding-top: 0;
}

.u-pt-5 {
  padding-top: 5px;
}

.u-pt-10 {
  padding-top: 10px;
}

.u-pb-0 {
  padding-bottom: 0;
}

.u-pb-10 {
  padding-bottom: 10px;
}

.u-pl-1em {
  padding-left: 1em;
}

.u-pl-2em {
  padding-left: 2em !important;
}

/* Javascript*/
.js-span1--close {
  transform: translateY(2px) rotate(-45deg);
}

.js-span2--close {
  display: none;
}

.js-span3--close {
  transform: rotate(45deg);
}

.js-menu--close {
  z-index: 10;
}

.js-nav--open {
  z-index: 8;
  opacity: 1;
  visibility: visible;
}

.js-body.js-noScroll {
  overflow: hidden;
}