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 {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  background: transparent;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

/* 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 {
  border: 0;
  border-top: 1px solid #cccccc;
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: top;
  width: 100%;
}

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

body {
  font-family: "Noto Sans JP", sans-serif;
}

.blue {
  color: #718BAD;
}

.red {
  color: #D16050;
}

.inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1170px;
  width: 100%;
}

.zen-maru {
  font-family: "Zen Maru Gothic", sans-serif;
}

.section {
  overflow-x: clip;
}

.footer {
  padding: 30px 0
}

.footer__logo {
  width: 60%;
  margin-right: auto;
  margin-left: auto;
}

.header {
  height: 100px;
  position: relative;
  width: 100%;
  z-index: 1000;
  position: fixed;
  top: 0;
  left: 0;

}

.header__inner {
  display: flex;
  height: 100%;
  justify-content: space-between;
  width: 100%;
}

.hamburger__button {
  align-items: center;
  background: #B9D3C2;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  gap: 4px;
  height: 50px;
  justify-content: center;
  margin-right: 25px;
  margin-top: 10px;
  transform: translateX(10px);
  width: 50px;
  z-index: 101;
}

.hamburger__line {
  background-color: #FFFFFF;
  border-radius: 2px;
  height: 2px;
  transform: translateX(0.5px);
  width: 15px;
}

.hamburger__button--active {
  transition: all 0.3s;
}

.hamburger__button--active .hamburger__line {
  transition: all 0.3s;
}

.hamburger__button--active .hamburger__line--1 {
  transform: translateX(0.5px) translateY(6px) rotate(-45deg);
}

.hamburger__button--active .hamburger__line--2 {
  opacity: 0;
  transform: translateX(10px);
}

.hamburger__button--active .hamburger__line--3 {
  transform: translateX(0.5px) translateY(-6px) rotate(45deg);
}

.hamburger__nav {
  background-color: #B9D3C2;
  display: none;
  left: 0;
  min-height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
}

.hamburger__navList {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 25px;
  justify-content: center;
  min-height: 100vh;
}

.hamburger__navListItem {
  list-style: none;
}

.hamburger__navListItem a {
  color: #FFFFFF;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  text-decoration: none;
}

.hamburger__navListItem .hamburger__cta {
  background: rgb(255, 196, 82);
  background-color: #D16050;
  border-radius: 80px;
  box-sizing: border-box;
  color: #FFFFFF;
  display: inline-block;
  font-size: 2.2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-bottom: 15px;
  padding-top: 15px;
  text-align: center;
  text-decoration: none;
  width: 250px;
}

.header__logo {
  padding-left: 38px;
  padding-top: 19px;
  width: 302px;
  z-index: 101;
}

.header__navList {
  display: flex;
  gap: 39px;
}

.header__navListItem {
  align-self: center;
  margin-top: -1px;
}

.header__navListItem a {
  color: #121212;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-decoration: none;
}

.header__navListItem--button {
  background-color: #121212;
  border-radius: 0 0 0 10px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 99px;
  margin-left: 9px;
  text-decoration: none;
  width: 120px;
}

.header__navListItem--button a {
  text-decoration: none;
}

.header__navListItem--icon {
  margin-bottom: 12px;
  padding-left: 45px;
  padding-top: 23px;
  width: 31px;
}

.header__navListItem--text {
  color: #FFFFFF;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  text-align: center;
  transform: translateX(1px);
}

#cta {
  background: url(../img/cta-bg.png) center center/cover no-repeat;
  padding-bottom: 67px;
  padding-top: 57px;
  position: relative;
  text-align: center;
  width: 100%;
}

.cta__item {
  position: absolute;
}

.cta__item--1 {
  left: 6.4%;
  top: 51px;
  width: 19.3%;
}

.cta__item--2 {
  right: 5.4%;
  top: 39px;
  width: 12.205%;
}

.cta__item--3 {
  right: 7.9%;
  top: 184px;
  width: 12.929%;
}

.cta__text--1 {
  color: #121212;
  font-size: 2.2rem;
  letter-spacing: 0.1em;
  margin-bottom: 13px;
}

.cta__text--2 {
  color: #121212;
  display: inline-block;
  font-size: 4.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 39px;
  position: relative;
}

.cta__text--2::before {
  background: url(../img/cta-charm-left.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 65px;
  left: -58px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40.5px;
}

.cta__text--2::after {
  background: url(../img/cta-charm-right.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 65px;
  position: absolute;
  right: -58px;
  top: 50%;
  transform: translateY(-50%);
  width: 40.5px;
}

.cta__buttonWrapper {
  position: relative;
  text-align: center;
  z-index: 1;
}

.cta__button {
  background-color: #D16050;
  border-radius: 10px;
  box-shadow: 0 8px 0 #963E32;
  box-sizing: border-box;
  color: #FFFFFF;
  display: inline-block;
  padding-bottom: 49px;
  padding-top: 26px;
  text-decoration: none;
  width: 770px;
}

.cta__button--subText {
  background: url(../img/button-subText-bg.svg) center center/cover no-repeat;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 15px;
  padding: 12px 0px;
  width: 214px;
}

.cta__button--mainText {
  display: flex;
  font-size: 4.8rem;
  font-weight: bold;
  gap: 20px;
  justify-content: center;
  transform: translateX(8px);
}

.cta__button--mainText .book {
  width: 60px;
}

.cta__button--mainText .arrow {
  transform: translate(-10px, -2px);
  width: 57px;
}

.keyVisual {
  height: 827px;
  margin-top: -100px;
  overflow-x: clip;
  position: relative;
  width: 100%;
}

.keyVisual__banner {
  right: 0;
  /* bottom: 50px; */
  bottom: 0;
  width: 19.1%;
  transition: all .3s;
  z-index: 10;
  position: fixed;
}

/* .keyVisual__banner:hover {
  opacity: 0.8;
  transition: all .3s;
} */

.keyVisual__sliderContainer {
  height: 100%;
  left: 0;
  max-height: 827px;
  position: absolute;
  top: 0;
  width: 100%;
}

.keyVisual__slider img {
  -o-object-fit: cover;
  max-height: 827px;
  object-fit: cover;
}

.keyVisual__catchCopies {
  left: 50%;
  position: absolute;
  top: 218px;
  transform: translateX(-50%);
}

.keyVisual__catchCopy {
  background: transparent;
  color: #FFFFFF;
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 1.5;
  position: relative;
  text-align: center;
  text-shadow: 0px 0px 15px #2b1c11;
}

.keyVisual__catchCopy span {
  font-size: 4.4rem;
  letter-spacing: 0.05em;
  line-height: 1.8333333333;
  margin-right: 7px;
  position: relative;
  top: 2px;
}

.keyVisual__catchCopy--charm {
  left: 9.6%;
  position: absolute;
  top: -57px;
  width: 186px;
}

.keyVisual__catchCopy--en {
  margin-bottom: -10px;
  margin-top: -53px;
  width: 1111px;
}

.keyVisual__catchCopyItems {
  display: flex;
  gap: 50px;
  justify-content: center;
}

.keyVisual__catchCopyItem {
  list-style: none;
  position: relative;
  transform: translateX(-2px);
  width: 160px;
}

.keyVisual__catchCopyItem--bg {
  width: 100%;
}

.keyVisual__catchCopyItem--text {
  color: #121212;
  font-size: 2.4rem;
  font-weight: bold;
  left: 0;
  line-height: 1.4166666667;
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translateY(-61.5%);
  width: 100%;
}

.keyVisual__catchCopyItem--text p {
  background: linear-gradient(transparent 59%, #ffffff 60%);
  display: inline;
}

#first {
  overflow-x: clip;
  padding-bottom: 57px;
  padding-top: 117px;
  position: relative;
}

#first::before {
  border-bottom: 65px solid #fff;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  bottom: calc(100% - 1px);
  box-sizing: border-box;
  content: "";
  position: absolute;
}

.first__bgText {
  left: 50%;
  position: absolute;
  top: 148px;
  transform: translateX(-50%);
  width: 92.241%;
  z-index: -1;
}

.first__title {
  font-size: 5.2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  transform: translateX(12px);
  text-align: center;
}

.first__title span {
  font-size: 4.2rem;
  margin-right: 2px;
}

.first__title .box {
  display: inline-block;
  border: 4px solid #121212;
  box-sizing: border-box;
  padding: 10px 15px 20px 15px;
  transform: translate(0px, 21px);
}

.first__message {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 2.43;
  margin-top: 64px;
  text-align: center;
}

#second {
  background-color: #F5F9F6;
  padding-bottom: 54px;
  padding-top: 50px;
  position: relative;
  background: url(../img/second-bg.png) center center / cover no-repeat;
}

.second__message {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.6666666667;
  text-align: center;
}

.second__message p {
  background: linear-gradient(transparent 59%, #FFEF95 60%);
  display: inline;
}

.second__items {
  margin-left: auto;
  margin-right: auto;
  margin-top: 36px;
  transform: translateX(7px);
  width: 89.675%;
}

#photos {
  padding-top: 112px;
}

#third {
  padding-top: 40px;
}

.third__top {
  display: flex;
  flex-direction: column;
}

.third__topLogo {
  margin-left: auto;
  margin-right: auto;
  transform: translateX(10px);
  width: 410px;
}

.third__topText {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 30px;
  padding-bottom: 183px;
  text-align: center;
  transform: translateX(2px);
}

.third__point--1__wrapper {
  background-color: #f8f6f0;
  padding-bottom: 75px;
}

.third__container--1 {
  margin-left: auto;
  max-width: 1268px;
  width: 100%;
}

.third__point--1 {
  display: flex;
  justify-content: space-between;
}

.third__point--1__image {
  margin-top: -72px;
  width: 52.682%;
}

.third__point--1__text {
  margin-top: 75px;
  width: 47.318%;
}

.third__point--1__textCharm {
  margin-bottom: 10px;
  width: 115px;
}

.third__point--1__textHead {
  border-bottom: 4px solid #121212;
  display: inline;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.third__point--1__textList {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-top: 71px;
}

.third__point--1__textListItem {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  list-style: none;
  padding-left: 2rem;
  position: relative;
}

.third__point--1__textListItem::before {
  background-color: #121212;
  content: "";
  display: block;
  height: 9px;
  left: -1px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  width: 9px;
}

.third__point--1__textContent {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 58px;
}

.third__point--1__textContent span {
  background: #FFEF95;
  display: inline;
}

.third__point--1__accordion {
  cursor: pointer;
  margin-left: auto;
  margin-right: auto;
  margin-top: 55px;
  width: 71%;
}

.third__point--1__accordionHead {
  align-items: center;
  background-color: #b9d3c2;
  display: flex;
  justify-content: space-between;
  padding: 21px 45px 19px 30px;
}

.third__point--1__accordionHeadText {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.third__point--1__accordionHeadIcon {
  background-color: #121212;
  height: 2px;
  position: relative;
  width: 25px;
}

.third__point--1__accordionHeadIcon::before {
  background-color: #121212;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  top: 0;
  transform: rotate(90deg);
  transition: all 0.3s;
  width: 25px;
}

.third__point--1__accordionHeadIcon--active::before {
  transform: rotate(0);
  transition: all 0.3s;
}

.third__point--1__accordionContent {
  background-color: #FFFFFF;
  box-sizing: border-box;
  display: flex;
  gap: 35px;
  padding: 40px 45px;
}

.third__point--1__accordionContentImage {
  width: 190px;
}

.third__point--1__accordionContentText {
  font-size: 1.4rem;
  letter-spacing: 0.05em;
  line-height: 1.7142857143;
  width: calc(100% - 190px - 35px);
}

.third__point--2__wrapper {
  background-color: #ffffff;
}

.third__container--2 {
  margin-right: auto;
  max-width: 1268px;
  width: 100%;
}

.third__point--2 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.third__point--2__image {
  width: 52.682%;
}

.third__point--2__text {
  margin-top: 99px;
  width: calc(47.318% - 60px);
}

.third__point--2__textCharm {
  margin-bottom: 10px;
  width: 115px;
}

.third__point--2__textHead {
  border-bottom: 4px solid #121212;
  display: inline;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.third__point--2__textList {
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin-top: 71px;
}

.third__point--2__textListItem {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.75;
  list-style: none;
  padding-left: 2rem;
  position: relative;
}

.third__point--2__textListItem::before {
  background-color: #121212;
  content: "";
  display: block;
  height: 9px;
  left: -2px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  width: 9px;
}

.third__point--2__textListItem:first-child::before {
  top: 18%;
}

.third__point--2__textContent {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 53px;
}

.third__point--2__textContent span {
  background: #FFEF95;
  display: inline;
}

.third__point--3__wrapper {
  background-color: #F8F6F0;
  margin-left: auto;
}

.third__container--3 {
  margin-left: auto;
  max-width: 1268px;
  width: 100%;
}

.third__point--3 {
  display: flex;
  justify-content: space-between;
}

.third__point--3__image {
  margin-top: 100px;
  width: 52.682%;
}

.third__point--3__text {
  margin-top: 99px;
  width: calc(47.318% - 60px);
}

.third__point--3__textCharm {
  margin-bottom: 10px;
  width: 115px;
}

.third__point--3__textHead {
  border-bottom: 4px solid #121212;
  display: inline;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.third__point--3__textList {
  display: flex;
  flex-direction: column;
  gap: 13px;
  margin-top: 55px;
}

.third__point--3__textListItem {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.75;
  list-style: none;
  padding-left: 2rem;
  position: relative;
}

.third__point--3__textListItem::before {
  background-color: #121212;
  content: "";
  display: block;
  height: 9px;
  left: -3px;
  position: absolute;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
  width: 9px;
}

.third__point--3__textContent {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-top: 53px;
}

.third__point--3__textContent span {
  background: #FFEF95;
  display: inline;
}

#fourth {
  background-color: #F8F6F0;
}

.fourth__wrapper {
  background: url(../img/fourth-bg.png) top center/cover no-repeat;
  padding-bottom: 82px;
  padding-top: 255px;
}

.fourth__topTitle {
  color: #FFFFFF;
  margin-bottom: 72px;
  text-align: center;
}

.fourth__topTitle p {
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: 0.15em;
}

.fourth__topTitle p span {
  font-size: 5.2rem;
  letter-spacing: normal;
  line-height: 56px;
  padding: 0px 10px;
  position: relative;
  z-index: 1;
}

.fourth__topTitle p span::before {
  background-color: #121212;
  border-radius: 50%;
  content: "";
  display: block;
  height: 72px;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -43%);
  width: 72px;
  z-index: -1;
}

.fourth__topTitle h3 {
  font-size: 8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-top: 32px;
  transform: translateX(4px);
}

.fourth__box {
  background-color: #FFFFFF;
  border-radius: 10px;
  padding: 42px 52px;
}

.fourth__items {
  display: flex;
}

.fourth__circleWrapper {
  display: flex;
}

.fourth__circle--1 {
  align-items: center;
  background-color: #eeeadf;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 243px;
  margin-right: 16px;
  padding-top: 66px;
  text-align: center;
  width: 250px;
}

.fourth__circle--1__title {
  font-size: 3rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.fourth__circle--1__icon {
  margin: 9px;
  margin-top: 18px;
  width: 30px;
}

.fourth__circle--1__price {
  font-size: 2.4rem;
  font-weight: bold;
}

.fourth__circle--1__price span {
  font-size: 4.8rem;
}

.fourth__circle--2 {
  align-items: center;
  background-color: #eeeadf;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 243px;
  padding-top: 42px;
  text-align: center;
  width: 250px;
}

.fourth__circle--2__title {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.0769230769;
}

.fourth__circle--2__icon {
  margin-bottom: 6px;
  margin-top: 10px;
  width: 30px;
}

.fourth__circle--2__price {
  background: linear-gradient(transparent 89%, #ffef95 89%);
  display: inline;
  font-size: 3rem;
  font-weight: bold;
  transform: translateX(-4px);
}

.fourth__circle--2__price span {
  font-size: 6.2rem;
}

.fourth__text {
  margin-left: 32px;
  margin-top: 40px;
}

.fourth__textTop {
  padding-left: 40px;
  width: 430px;
}

.fourth__textBottom {
  background: linear-gradient(transparent 89%, #ffef95 89%);
  display: inline-block;
  font-size: 4.8rem;
  font-weight: bold;
  margin-top: -3px;
}

.fourth__textBottom .num {
  font-size: 10rem;
  position: relative;
  top: 3px;
}

.fourth__textBottom .red {
  margin-right: 6px;
}

.fourth__message {
  margin-top: 81px;
  text-align: center;
}

.fourth__messageTop {
  display: inline-block;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 51px;
  position: relative;
}

.fourth__messageTop::before {
  background: url(../img/fourth-message-charm-left.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 49px;
  left: -47px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 27px;
}

.fourth__messageTop::after {
  background: url(../img/fourth-message-charm-right.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 49px;
  position: absolute;
  right: -47px;
  top: 50%;
  transform: translateY(-50%);
  width: 27px;
}

.fourth__messageMiddle {
  margin-bottom: 24px;
  margin-left: auto;
  margin-right: auto;
  width: 655px;
}

.fourth__messageBottom {
  font-size: 5rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.fourth__messageBottom .marker {
  background: linear-gradient(transparent 77%, #ffffff 77%);
}

.fourth-to-cta {
  padding-bottom: 90px;
  padding-top: 94px;
  position: relative;
  text-align: center;
}

.fourth__to-cta__strong {
  display: flex;
  flex-direction: column;
  gap: 27px;
  line-height: 1;
  margin-bottom: 50px;
}

.fourth__to-cta__strong h3 {
  font-size: 4rem;
  font-weight: bold;
}

.fourth__to-cta__strong h3 span {
  background-color: #ffef95;
}

.fourth-to-cta__first {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 44px;
}

.fourth-to-cta__last {
  font-size: 2.4rem;
  letter-spacing: 0.05em;
}

.fourth-to-cta__triangle {
  bottom: -26px;
  left: 50%;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  transform: translateX(-50%);
  width: 340px;
  z-index: 1;
}

#customer {
  background-color: #FFFFFF;
  padding-bottom: 114px;
  padding-top: 132px;
  position: relative;
  z-index: 1;
}

#customer::before {
  -webkit-clip-path: polygon(0 68%, 100% 0, 100% 100%, 0 100%);
  -webkit-clip-path: polygon(0 34.7%, 100% 0, 100% 100%, 0 100%);
  background-color: #F8F6F0;
  bottom: 0;
  clip-path: polygon(0 34.7%, 100% 0, 100% 100%, 0 100%);
  content: "";
  display: block;
  height: 53%;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -1;
}

.sectionTitle--customer {
  margin-bottom: 166px;
  position: relative;
  text-align: center;
}

.sectionTitle--customer::before {
  background: url(../img/sectiontitle-customer-charm.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 35px;
  left: 50%;
  position: absolute;
  top: -56px;
  transform: translateX(-50%);
  width: 90px;
}

.sectionTitle--customer p {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 23px;
}

.sectionTitle--customer h3 {
  background: linear-gradient(transparent 79%, #ffef95 79%);
  display: inline;
  font-size: 8rem;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.case__items {
  display: flex;
  flex-direction: column;
  gap: 170px;
}

.case__itemTop {
  display: flex;
  justify-content: space-between;
  position: relative;
}

.case__itemTop::before {
  background: url(../img/case-title-charm-1.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 72px;
  left: 0;
  position: absolute;
  top: -57px;
  width: 86px;
}

.case__itemTopText {
  margin-top: 35px;
  width: 48.718%;
}

.case__itemTopHeadWrapper {
  display: flex;
  flex-direction: column;
}

.case__itemTopName {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
}

.case__itemTopName span {
  font-size: 2rem;
  letter-spacing: 0.1em;
  margin-left: 12px;
}

.case__itemTopName::before {
  background-color: #121212;
  border-radius: 50px;
  bottom: -11px;
  content: "";
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  width: 136px;
}

.case__itemTopName::after {
  background-color: #121212;
  border-radius: 50px;
  bottom: -16px;
  content: "";
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  width: 136px;
}

.case__itemTopHead {
  display: inline-block;
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4583333333;
  margin-bottom: 57px;
  margin-top: 34px;
  position: relative;
}

.case__itemTopHead::before {
  background: url(../img/case-title-charm-2.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 72px;
  position: absolute;
  right: -20%;
  top: 71px;
  width: 86px;
}

.case__itemTopContent {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.875;
}

.case__itemTopImage {
  width: 46.15%;
}

.case__itemBottom {
  display: flex;
  justify-content: space-between;
  margin-top: 47px;
}

.case__itemBottomImage {
  position: relative;
  width: 34.189%;
}

.case__itemBottomInterviewer {
  bottom: -31.5%;
  position: absolute;
  right: -42%;
  width: 55%;
}

.case__itemBottomText {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-top: 30px;
  width: 46.155%;
}

.case__item--2 .case__itemTop {
  display: flex;
  justify-content: space-between;
}

.case__item--2 .case__itemTop::before {
  top: 0;
}

.case__item--2 .case__itemTopText {
  margin-top: 93px;
  width: 64.497%;
}

.case__item--2 .case__itemTopName {
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  position: relative;
}

.case__item--2 .case__itemTopName span {
  font-size: 2rem;
  letter-spacing: 0.1em;
  margin-left: 12px;
}

.case__item--2 .case__itemTopName::before {
  background-color: #121212;
  border-radius: 50px;
  bottom: -11px;
  content: "";
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  width: 136px;
}

.case__item--2 .case__itemTopName::after {
  background-color: #121212;
  border-radius: 50px;
  bottom: -16px;
  content: "";
  display: block;
  height: 3px;
  left: 0;
  position: absolute;
  width: 136px;
}

.case__item--2 .case__itemTopHead {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4583333333;
  margin-bottom: 57px;
  margin-top: 34px;
}

.case__item--2 .case__itemTopHead::before {
  right: -12%;
  top: 71px;
}

.case__item--2 .case__itemTopContent {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.875;
  width: 75.536%;
}

.case__item--2 .case__itemTopImage {
  position: relative;
  width: 31.624%;
}

.case__item--2 .case__itemTopInterviewer {
  bottom: -23%;
  left: -41%;
  position: absolute;
  width: 60%;
}

.case__item--2 .case__itemBottom {
  display: flex;
  justify-content: space-between;
  margin-top: 1px;
}

.case__item--2 .case__itemBottomImage {
  width: 47.522%;
}

.case__item--2 .case__itemBottomText {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.875;
  margin-top: 180px;
  width: 48.718%;
}

#example {
  background-color: #EEEADF;
  padding-bottom: 72px;
  padding-top: 104px;
  position: relative;
}

.example__text {
  left: 50%;
  position: absolute;
  top: 49px;
  transform: translateX(-50%);
  width: 395.53px;
  z-index: -1;
}

.sectionTitle--example {
  font-size: 4.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 91px;
  text-align: center;
}

.example__container {
  margin-left: auto;
  max-width: 1268px;
  overflow: hidden;
  width: 100%;
}

.example__sliderList {
  display: flex;
}

.example__sliderItem {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-right: 20px;
  transform: translateX(0px);
  width: 370px !important;
}

.example__sliderItemContent {
  background-color: #FFFFFF;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.6;
  padding: 29px 20px 28px 25px;
  display: none;
}

.example__sliderButtons {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-end;
  margin-right: 49px;
  margin-top: 33px;
  padding-right: 49px;
  position: relative;
  width: 100%;
}

.example__sliderButtons::before {
  background-color: #D1D1D1;
  content: "";
  display: block;
  height: 1px;
  position: absolute;
  right: 19%;
  width: 50%;
  width: 85.471%;
}

.example__sliderButton {
  align-items: center;
  border-radius: 50%;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  height: 60px;
  justify-content: center;
  width: 60px;
}

.example__sliderButton img {
  transform: translate(0px, -3px);
  width: 27px;
}

.example__sliderButton--prev {
  background-color: #FFFFFF;
  margin-left: 30px;
}

.example__sliderButton--next {
  background-color: #B9D3C2;
  margin-left: 20px;
}

#present {
  background-color: #F8F6F0;
  padding-bottom: 69px;
  padding-top: 89px;
  text-align: center;
}

.present__top {
  display: inline-block;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.135em;
  line-height: 1.8181818182;
  margin-bottom: 51px;
  position: relative;
  transform: translateX(59px);
}

.present__top::before {
  background: url(../img/present-top-charm.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 97px;
  left: -17%;
  position: absolute;
  top: -37px;
  width: 105px;
}

.present__marker {
  background-color: #ffef95;
  display: inline-block;
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 28px;
  padding: 8px 11px 8px 13px;
}

.present__message {
  display: inline-block;
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 62px;
  transform: translateX(10px);
}

.present__message .red {
  font-size: 9rem;
  letter-spacing: 0.1em;
  margin-right: -50px;
}

.present__message .free {
  position: relative;
}

.present__message .free::before {
  background-color: #121212;
  border-radius: 50%;
  content: "";
  display: block;
  height: 11px;
  left: 46%;
  position: absolute;
  top: 0px;
  transform: translateX(-50%);
  width: 11px;
}

.present__banner {
  margin-left: auto;
  margin-right: auto;
  width: 82.906%;
}

#qa {
  padding-bottom: 129px;
  padding-top: 74px;
}

.qa__head {
  text-align: center;
}

.qa__head h3 {
  background: linear-gradient(transparent 79%, #ffef95 79%);
  display: inline-block;
  font-size: 9rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-bottom: 29px;
  text-align: center;
  transform: translateX(4px);
}

.qa__head span {
  font-size: 7rem;
}

.sectionTitle--qa {
  margin-bottom: 58px;
  text-align: center;
}

.sectionTitle--qa p {
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2.5;
  margin-bottom: -26px;
}

.sectionTitle--qa h4 {
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 2.5;
}

.qa__items {
  display: flex;
  flex-direction: column;
  gap: 17px;
}

.qa__item {
  cursor: pointer;
  list-style: none;
  margin-left: auto;
  margin-right: auto;
  width: 82.907%;
}

.qa__itemHead {
  align-items: center;
  background-color: #EEEADF;
  display: flex;
  justify-content: space-between;
  padding: 5px 27px 19px 15px;
}

.qa__itemHeadText {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.05em;
}

.qa__itemHeadText span {
  font-size: 3.6rem;
  font-weight: bold;
  margin-right: 14px;
  position: relative;
  top: 3px;
}

.qa__itemHeadIcon {
  background-color: #121212;
  height: 2px;
  position: relative;
  right: 3px;
  top: 7px;
  width: 19px;
}

.qa__itemHeadIcon::before {
  background-color: #121212;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  top: 0;
  transform: rotate(90deg);
  transition: all 0.3s;
  width: 19px;
}

.qa__itemHeadIcon--active::before {
  transform: rotate(0);
  transition: all 0.3s;
}

.qa__itemContent {
  background-color: #FFFFFF;
  box-sizing: border-box;
  padding: 5px 2px 10px 15px;
}

.qa__itemContentText {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.875;
  padding-left: 3em;
  text-indent: -3em;
  transform: translateY(-10px);
}

.qa__itemContentText span {
  font-size: 3.6rem;
  font-weight: bold;
  margin-right: 14px;
  position: relative;
  top: 3px;
}

#contact {
  background-color: #B9D3C2;
  padding-bottom: 84px;
  padding-top: 72px;
  position: relative;
  z-index: 1;
}

#contact::before {
  border-bottom: 85px solid #B9D3C2;
  border-left: 50vw solid transparent;
  border-right: 50vw solid transparent;
  bottom: calc(100% - 1px);
  box-sizing: border-box;
  content: "";
  position: absolute;
  z-index: -2;
}

#contact::after {
  background: url(../img/contact-text.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 315.61px;
  left: 50%;
  position: absolute;
  top: -111px;
  transform: translateX(-50%);
  width: 740.36px;
  z-index: -1;
}

.sectionTitle--contact {
  font-size: 6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
}

.form__box {
  background-color: #FFFFFF;
  border-radius: 10px;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
  margin-top: 70px;
  padding: 76px 100px 80px 100px;
  width: 82.906%;
}

.form__items {
  border-bottom: 1px solid #D1D1D1;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-bottom: 30px;
}

.form__item {
  align-items: center;
  display: flex;
}

.form__itemName {
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  min-width: 170px;
}

.require .form__itemName p {
  display: inline-block;
  position: relative;
}

.require .form__itemName p::before {
  color: #FF0000;
  content: "*";
  display: block;
  font-size: 1.6rem;
  position: absolute;
  right: -10px;
  top: 0;
}

.error {
  display: block;
  font-size: 12px;
  font-weight: bold;
  color: red;
  margin: 10px 0 0 0px;
  white-space: nowrap;
  position: relative;
  left: 20px;
}
select,
input[type=text],
input[type=tel],
input[type=email],
textarea {
  background-color: #F8F6F0;
  border: none;
  box-sizing: border-box;
  font-size: 1.6rem;
  height: 60px;
  letter-spacing: 0.1em;
  line-height: 1.875;
  padding-left: 20px;
  padding-top: 6px;
  width: calc(100% - 170px);
}

.form__item#place1 {
  position: relative;
}
.form__item#place1::after {
  display: block;
  content: "";
  position: absolute;
  bottom: 27px;
  right: 20px;
  transform: rotate(45deg);
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  pointer-events: none;
}

@media (max-width: 1099px) {
  .form__item#place1.select-error::after {
    bottom: 70px;
  }
}
@media (min-width: 1100px) {
  .form__item#place1.select-error::after {
    right: 80px;
  }
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  height: 175px;
  padding-top: 16px;
  resize: none;
}

#zipcode {
  width: 200px !important;
}

#place2 {
  margin-bottom: 75px;
  position: relative;
}

@media (max-width: 1099px) {
  #place2 {
    margin-top: -50px;
  }
}

#place2::before {
  bottom: -60px;
  content: "※土地からお探しの方はご希望の地域をご記入ください。";
  white-space: pre-wrap;
  display: block;
  font-size: 1.4rem;
  left: 170px;
  letter-spacing: 0.05em;
  line-height: 1.8em;
  position: absolute;
}
@media (max-width: 836px) {
  #place2 {
    margin-bottom: 95px;
  }
  #place2::before {
    bottom: -80px;
  }
}

.form__item--radio, 
.form__item--land,
.form__item--budget {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  margin-bottom: 21px;
  white-space: nowrap;
}

.form__item--radio label, 
.form__item--land label,
.form__item--budget label {
  position: relative;
}

.form__item--radio label, 
.form__item--land label,
.form__item--budget label {
  position: relative;
}


.form__item--radio label::before,
.form__item--land label::before,
.form__item--budget label::before
 {
  border: 1px solid grey;
  border-radius: 50%;
  content: "";
  display: block;
  height: 23px;
  left: -12px;
  position: absolute;
  top: -20%;
  width: 23px;
}

.radio__labels {
  display: flex;
  /* flex-wrap: wrap; */
  gap: 39px;
}

.radio--active::after {
  background-color: #d16050;
  border-radius: 50%;
  content: "";
  display: block;
  height: 15px;
  left: -7px;
  position: absolute;
  top: 9%;
  width: 15px;
}

.label--first {
  margin-left: 11px !important;
}

input[type=radio] {
  opacity: 0;
  z-index: 1;
}

.form__item--content {
  align-items: baseline;
}

.contact__caution {
  color: #121212;
  font-size: 1.5rem;
  margin-top: 40px;
  margin-bottom: 34px;
  text-align: center;
}

.contact__caution a {
  color: #121212;
}


.contact__privacy--detail {
  width: 117.014%;
  height: 150px;
  overflow-y: scroll;
  transform: translateX(-65px);
  border: 1px solid #B9D3C2;
  padding-top: 24px;
  padding-left: 31px;
  padding-right: 31px;
  padding-bottom: 24px;
  box-sizing: border-box;
  position: relative;
}

.contact__privacy--detail::before {
  position: absolute;
  display: block;
  content: '';
  height: 100%;
  width: 16px;
  top: 0;
  right: 0;
}

.contact__privacy--detail::-webkit-scrollbar-track {}

.contact__privacy--detail::-webkit-scrollbar {
  width: 16px;
}

.contact__privacy--detail::-webkit-scrollbar-track {
  background-color: #F7F0E7;
}

.contact__privacy--detail::-webkit-scrollbar-thumb {
  background-color: #121212;
  height: 92px;
  border: 3px solid transparent;
  background-clip: content-box;
}

.contact__privacy--detail p {
  font-size: 1.4rem;
  line-height: 1.714285714285714;
}


.contact__privacy {
  font-size: 1.8rem;
  margin-top: 46px;
  text-align: center;
}

.contact__privacy label {
  position: relative;
}

.contact__privacy label::before {
  border: 1px solid #8D8D8D;
  content: "";
  display: block;
  height: 24px;
  left: 3px;
  position: absolute;
  top: 3px;
  width: 24px;
}

.check--active::after {
  background: url(../img/icon-checked.svg) center center/contain no-repeat;
  content: "";
  display: block;
  height: 20px;
  left: 7px;
  position: absolute;
  top: 6px;
  width: 20px;
}

input[type=checkbox] {
  height: 24px;
  opacity: 0;
  width: 24px;
  z-index: 1;
}

.submit__wrapper {
  margin-top: 32px;
  text-align: center;
}

input[type=submit],
.backToTop {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #D16050;
  border: none;
  border-radius: 45px;
  box-sizing: border-box;
  color: #FFFFFF;
  display: inline-block;
  font-size: 2rem;
  font-weight: bold;
  height: 90px;
  letter-spacing: 0.1em;
  width: 570px;
}

.confirm__container {
  background-color: #fff;
  border-radius: 10px;
  margin-top: 54px;
  padding-bottom: 70px;
  padding-left: 100px;
  padding-right: 100px;
  padding-top: 76px;
}

.confirm__head {
  border-bottom: 2px solid #212121;
  color: #212121;
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 26px;
  padding-bottom: 35px;
  text-align: center;
}

.confirm__items {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.confirm__item {
  background-image: linear-gradient(to right, #212121 2px, transparent 2px);
  background-position: right bottom;
  background-repeat: repeat-x;
  background-size: 4px 2px;
  display: flex;
  gap: 70px;
}

.confirm__item:last-child {
  padding-bottom: 28px;
}

.confirm__itemName {
  color: #212121;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.875;
  min-width: 237px;
  padding-bottom: 28px;
  text-align: right;
}

.confirm__itemContent {
  color: #212121;
  font-size: 1.6rem;
  line-height: 1.875;
  width: 50%;
}

.confirm__buttons {
  display: flex;
  gap: 26px;
  justify-content: center;
  margin-top: 49px;
  flex-direction: column;
  align-items: center;
}

.thanks {
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  margin-top: 100px;
  margin-bottom: 200px;
  line-height: 1.5;
}

@media (min-width: 768px) and (max-width: 1099px) {
  .contact__privacy--detail {
    width: 100%;
    transform: translate(0);
  }

  #first::before {
    display: none;
  }

  .inner {
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }

  .not-pc {
    display: none;
  }

  .is-sp {
    display: none;
  }

  .is-pc {
    display: none;
  }

  .header__logo {
    padding-left: 15px;
    width: 252px;
  }

  .cta__item--3 {
    right: 3%;
  }

  .cta__button {
    padding-bottom: 29px;
    padding-top: 15px;
    text-decoration: none;
    width: 680px;
  }

  .keyVisual {
    height: 630px;
  }

  .keyVisual__sliderContainer {
    max-height: 630px;
  }

  .keyVisual__slider img {
    min-height: 630px;
  }

  .keyVisual__catchCopy--charm {
    left: -20.4%;
    top: -87px;
  }

  .keyVisual__catchCopy--en {
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    margin-top: -13px;
    width: 80%;
  }

  .first__title {
    align-items: center;
    flex-direction: column;
    gap: 20px;
  }

  .third__topText {
    font-size: 5.2rem;
  }

  .third__container--1 {
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }

  .third__point--1 {
    flex-direction: column;
  }

  .third__point--1__image {
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 100%;
    width: 80%;
  }

  .third__point--1__text {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }

  .third__point--1__textHead {
    font-size: 4.8rem;
  }

  .third__container--2 {
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }

  .third__point--2 {
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 100%;
    width: 100%;
  }

  .third__point--2__image {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }

  .third__point--2__text {
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 100%;
  }

  .third__point--2__textHead {
    font-size: 4.8rem;
  }

  .third__container--3 {
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }

  .third__point--3 {
    flex-direction: column;
  }

  .third__point--3__image {
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 80%;
  }

  .third__point--3__text {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }

  .third__point--3__textHead {
    font-size: 4.8rem;
  }

  .fourth__wrapper {
    padding-top: 315px;
  }

  .fourth__topTitle h3 {
    font-size: 6rem;
  }

  .fourth__items {
    flex-direction: column;
  }

  .fourth__circleWrapper {
    display: flex;
    justify-content: center;
  }

  .fourth__text {
    text-align: center;
  }

  .fourth__textTop {
    margin-left: auto;
    margin-right: auto;
  }

  .fourth__messageBottom {
    font-size: 4.2rem;
    line-height: 1.5;
  }

  .fourth__to-cta__strong {
    line-height: 1.5;
  }

  .fourth__to-cta__strong h3 {
    font-size: 3.2rem;
  }

  .sectionTitle--customer h3 {
    font-size: 5.2rem;
  }

  .case__itemTop {
    flex-direction: column;
  }

  .case__itemTopText {
    width: 100%;
  }

  .case__itemTopHead {
    font-size: 3.2rem;
  }

  .case__itemTopImage {
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 80%;
  }

  .case__itemBottomInterviewer {
    bottom: -30px;
    width: 45%;
  }

  .case__item--2 .case__itemTopText {
    width: 100%;
  }

  .case__item--2 .case__itemTopHead {
    font-size: 3.2rem;
  }

  .case__item--2 .case__itemTopImage {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
  }

  .case__item--2 .case__itemTopInterviewer {
    bottom: -70px;
    left: -11%;
    width: 30%;
  }

  .case__item--2 .case__itemBottom {
    align-items: center;
    margin-top: 100px;
  }

  .case__item--2 .case__itemBottomText {
    margin-top: 0;
  }

  .example__sliderButtons::before {
    right: 26%;
  }

  .present__marker {
    line-height: 1.5;
  }

  .present__message {
    font-size: 4.8rem;
  }

  .present__message .red {
    font-size: 6rem;
    margin-right: -30px;
  }

  .sectionTitle--qa h4 {
    font-size: 2.8em;
  }

  .qa__item {
    width: 90%;
  }

  .qa__itemHead {
    padding: 15px 27px 19px 15px;
  }

  .qa__itemHeadText {
    font-size: 1.8rem;
  }

  .qa__itemHeadText span {
    font-size: 2.4rem;
  }

  .qa__itemContentText {
    font-size: 1.8rem;
  }

  .qa__itemContentText span {
    font-size: 2.4rem;
  }

  .sectionTitle--contact {
    font-size: 4.8rem;
  }

  .form__items {
    gap: 45px;
  }

  .form__item {
    align-items: baseline;
    flex-direction: column;
    gap: 20px;
  }
  select,
  input[type=text],
  input[type=tel],
  input[type=email],
  textarea {
    width: 100%;
  }

  #place2::before {
    left: 0;
  }

  .contact__caution {
    line-height: 1.5;
  }

}

@media (min-width: 1100px) {

  .not-pc {
    display: none;
  }

  .is-tab {
    display: none;
  }

  .is-sp {
    display: none;
  }

}

@media (max-width: 767px) {

  .contact__privacy--detail {
    width: 104%;
    height: 150px;
    overflow-x: clip;
    overflow-y: scroll;
    transform: translateX(-5px);
    padding-top: 12px;
    padding-left: 10px;
    padding-right: 10px;
    padding-bottom: 12px;
  }

  .contact__privacy--detail::-webkit-scrollbar {
    width: 10px;
  }

  .contact__privacy--detail p {
    font-size: 1.2rem;
    line-height: 1.5;
  }

  .contact__privacy--detail::-webkit-scrollbar-track {
    background-color: #F7F0E7;
  }

  .contact__privacy--detail::-webkit-scrollbar-thumb {
    background-color: #121212;
    height: 20px;
    border: 3px solid transparent;
    background-clip: content-box;
  }

  #first::before {
    display: none;
  }

  #photos {
    padding-top: 45px;
  }

  .keyVisual__banner {
    /* bottom: 260px; */
    width: 100%;
  }

  .confirm__container {
    padding-left: 15px;
    padding-right: 15px;
  }

  .confirm__itemName {
    color: #212121;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.875;
    min-width: none;
    padding-bottom: 15px;
    text-align: left;
  }

  .confirm__item {
    background-image: linear-gradient(to right, #212121 2px, transparent 2px);
    background-position: right bottom;
    background-repeat: repeat-x;
    background-size: 4px 2px;
    display: flex;
    gap: 0px;
    flex-direction: column;
    padding-bottom: 20px;
  }

  .confirm__itemContent {
    width: 100%;
  }

  .inner {
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }

  .not-sp {
    display: none;
  }

  .is-tab {
    display: none;
  }

  .is-pc {
    display: none;
  }

  .header__logo {
    padding-left: 15px;
    width: 220px;
  }

  .header__nav {
    display: none;
  }

  .cta__item--1 {
    left: -6.6%;
    top: 131px;
    width: 90px;
  }

  .cta__item--2 {
    right: 1.4%;
    top: 119px;
    width: 70px;
  }

  .cta__text--1 {
    font-size: 1.6rem;
  }

  .cta__text--2 {
    font-size: 2.4rem;
  }

  .cta__text--2::before {
    height: 45px;
    left: -30px;
    width: 20.5px;
  }

  .cta__text--2::after {
    height: 45px;
    right: -30px;
    width: 20.5px;
  }

  .cta__button {
    padding-bottom: 29px;
    padding-top: 15px;
    text-decoration: none;
    width: 335px;
  }

  .cta__button--subText {
    background: url(../img/button-subText-bg-sp.svg) center center/cover no-repeat;
    font-size: 1.2rem;
    margin-bottom: 6px;
    padding: 6px 0;
    width: 124px;
  }

  .cta__button--mainText {
    font-size: 2rem;
  }

  .cta__button--mainText .book {
    width: 30px;
  }

  .cta__button--mainText .arrow {
    width: 28px;
  }

  .keyVisual {
    /* height: 520px; */
    height: 470px;
  }

  .keyVisual__sliderContainer {
    max-height: 630px;
  }

  .keyVisual__slider img {
    /* height: 630px; */
    /* height: 520px; */
    height: 470px;
  }

  .keyVisual__catchCopy {
    font-size: 1.8rem;
  }

  .keyVisual__catchCopy--charm {
    left: -4.4%;
    top: -67px;
    width: 120px;
  }

  .keyVisual__catchCopy--en {
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
    margin-top: -13px;
    width: 65%;
  }

  .keyVisual__catchCopyItems {
    gap: 20px;
  }

  .keyVisual__catchCopyItem {
    width: 100px;
  }

  .keyVisual__catchCopyItem--text {
    font-size: 1.6rem;
  }

  #first {
    padding-top: 40px;
  }

  .first__title {
    align-items: center;
    flex-direction: column;
    font-size: 2.4rem;
    gap: 20px;
  }

  .first__title span {
    font-size: 2.2rem;
  }

  .first__title .box {
    width: 280px;
    padding: 10px;
  }

  .first__message {
    font-size: 1.6rem;
    line-height: 2;
  }

  .second__message {
    font-size: 2rem;
  }

  .second__items {
    max-width: 200px;
  }

  .third__topLogo {
    transform: translateX(0px);
    width: 300px;
  }

  .third__topText {
    font-size: 2.6rem;
    margin-top: 10px;
    padding-bottom: 45px;
    transform: translateX(0px);
  }

  .third__container--1 {
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }

  .third__point--1 {
    flex-direction: column;
  }

  .third__point--1__image {
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 100%;
    width: 80%;
  }

  .third__point--1__text {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }

  .third__point--1__textHead {
    font-size: 3rem;
  }

  .third__point--1__textListItem {
    line-height: 1.25;
  }

  .third__point--1__textContent {
    font-size: 2rem;
    text-align: center;
  }

  .third__point--1__accordion {
    width: calc(100% - 30px);
  }

  .third__point--1__accordionHead {
    padding: 21px 35px 19px 20px;
  }

  .third__point--1__accordionHeadText {
    font-size: 1.8rem;
  }

  .third__point--1__accordionHeadIcon {
    width: 10px;
  }

  .third__point--1__accordionHeadIcon::before {
    width: 10px;
  }

  .third__point--1__accordionContent {
    flex-direction: column;
    padding: 20px 10px 20px 10px;
  }

  .third__point--1__accordionContentImage {
    width: 100%;
  }

  .third__point--1__accordionContentText {
    width: 100%;
  }

  .third__container--2 {
    box-sizing: border-box;
    max-width: 100%;
    padding-bottom: 60px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .third__point--2 {
    flex-direction: column;
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 100%;
    width: 100%;
  }

  .third__point--2__image {
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 80%;
  }

  .third__point--2__text {
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 100%;
  }

  .third__point--2__textHead {
    font-size: 3rem;
  }

  .third__point--2__textContent {
    font-size: 1.6rem;
    text-align: center;
  }

  .third__container--3 {
    box-sizing: border-box;
    max-width: 100%;
    padding-left: 15px;
    padding-right: 15px;
  }

  .third__point--3 {
    flex-direction: column;
  }

  .third__point--3__image {
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 80%;
  }

  .third__point--3__text {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
  }

  .third__point--3__textHead {
    font-size: 2.8rem;
  }

  .third__point--3__textContent {
    font-size: 1.5rem;
    text-align: center;
  }

  .fourth__topTitle {
    margin-bottom: 35px;
  }

  .fourth__topTitle p {
    font-size: 2.4rem;
  }

  .fourth__topTitle p span {
    font-size: 3.6rem;
  }

  .fourth__topTitle p span::before {
    height: 50px;
    margin-left: 2px;
    margin-right: 2px;
    width: 50px;
  }

  .fourth__topTitle h3 {
    font-size: 4rem;
    margin-top: 5px;
    transform: translateX(0);
  }

  .fourth__box {
    padding: 42px 15px;
  }

  .fourth__items {
    flex-direction: column;
  }

  .fourth__circleWrapper {
    display: flex;
    justify-content: center;
  }

  .fourth__circle--1 {
    height: 149px;
    padding-top: 46px;
    width: 250px;
  }

  .fourth__circle--1__title {
    font-size: 1.6rem;
  }

  .fourth__circle--1__price {
    font-size: 1.8rem;
  }

  .fourth__circle--1__price span {
    font-size: 2.4rem;
  }

  .fourth__circle--2 {
    height: 149px;
    padding-top: 35px;
    width: 250px;
  }

  .fourth__circle--2__title {
    font-size: 1.6rem;
  }

  .fourth__circle--2__price {
    font-size: 2rem;
  }

  .fourth__circle--2__price span {
    font-size: 2.8rem;
  }

  .fourth__text {
    text-align: center;
  }

  .fourth__textTop {
    margin-left: auto;
    margin-right: auto;
    padding-left: 0px;
    width: 260px;
  }

  .fourth__textBottom {
    font-size: 2.4rem;
    margin-top: 0;
  }

  .fourth__textBottom .num {
    font-size: 5rem;
  }

  .fourth__messageTop {
    font-size: 2.4rem;
    line-height: 1.25;
    margin-bottom: 20px;
  }

  .fourth__messageMiddle {
    width: 345px;
  }

  .fourth__messageBottom {
    font-size: 3rem;
    line-height: 1.5;
  }

  .fourth__to-cta__strong {
    line-height: 1.5;
  }

  .fourth__to-cta__strong h3 {
    font-size: 1.8rem;
  }

  .fourth-to-cta__last {
    font-size: 1.8rem;
  }

  .fourth-to-cta__triangle {
    width: 200px;
  }

  .sectionTitle--customer {
    margin-bottom: 100px;
  }

  .sectionTitle--customer p {
    font-size: 2rem;
  }

  .sectionTitle--customer h3 {
    font-size: 3.2rem;
  }

  .case__items {
    gap: 40px;
  }

  .case__itemTop {
    flex-direction: column;
  }

  .case__itemTop::before {
    height: 52px;
    width: 66px;
  }

  .case__itemTopText {
    width: 100%;
  }

  .case__itemTopHead {
    font-size: 3.2rem;
  }

  .case__itemTopHead::before {
    height: 52px;
    right: 0;
    width: 66px;
  }

  .case__itemTopImage {
    margin-left: auto;
    margin-right: auto;
    margin-top: 45px;
    width: 100%;
  }

  .case__itemBottom {
    flex-direction: column-reverse;
    gap: 45px;
  }

  .case__itemBottomImage {
    width: 100%;
  }

  .case__itemBottomInterviewer {
    bottom: -30px;
    right: 0%;
    width: 35%;
  }

  .case__itemBottomText {
    width: 100%;
  }

  .case__item--2 .case__itemTopText {
    width: 100%;
  }

  .case__item--2 .case__itemTopHead {
    font-size: 2.4rem;
    margin-bottom: 80px;
  }

  .case__item--2 .case__itemTopHead::before {
    right: 0%;
    top: 90px;
  }

  .case__item--2 .case__itemTopContent {
    width: 100%;
  }

  .case__item--2 .case__itemTopImage {
    width: 100%;
  }

  .case__item--2 .case__itemTopInterviewer {
    bottom: -50px;
    left: -4%;
    width: 35%;
  }

  .case__item--2 .case__itemBottom {
    align-items: center;
    margin-top: 65px;
  }

  .case__item--2 .case__itemBottomImage {
    width: 100%;
  }

  .case__item--2 .case__itemBottomText {
    margin-top: 0;
    width: 100%;
  }

  #example {
    padding-top: 60px;
  }

  .sectionTitle--example {
    font-size: 3.2rem;
    margin-bottom: 60px;
  }

  .example__sliderItem {
    margin-right: 10px;
    width: 200px !important;
  }

  .example__sliderItemContent {
    font-size: 1.6rem;
    line-height: 1.5;
    padding: 15px 10px 28px 15px;
  }

  .example__sliderButtons {
    padding-right: 0;
  }

  .example__sliderButtons::before {
    right: 47%;
    width: 50%;
  }

  .present__top {
    font-size: 1.6rem;
    margin-bottom: 20px;
    transform: translateX(0px);
  }

  .present__top::before {
    left: 0%;
    top: -77px;
    width: 65px;
  }

  .present__marker {
    font-size: 2.2rem;
    line-height: 2.5;
    margin-bottom: 30px;
  }

  .present__message {
    font-size: 3rem;
    transform: translateX(0);
  }

  .present__message .red {
    font-size: 4rem;
    margin-right: -20px;
  }

  .present__message .free::before {
    height: 5px;
    width: 5px;
  }

  .present__banner {
    width: 100%;
  }

  .qa__head h3 {
    font-size: 5rem;
    transform: translateX(0);
  }

  .qa__head span {
    font-size: 4rem;
  }

  .sectionTitle--qa p {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }

  .sectionTitle--qa h4 {
    font-size: 2rem;
    line-height: 1.25;
  }

  .qa__item {
    width: 90%;
  }

  .qa__itemHead {
    padding: 15px 27px 19px 15px;
  }

  .qa__itemHeadText {
    font-size: 1.6rem;
    line-height: 1.5;
    padding-left: 2.3em;
    text-indent: -2.3em;
    width: calc(100% - 70px);
  }

  .qa__itemHeadText span {
    font-size: 2.2rem;
  }

  .qa__itemHeadIcon {
    top: -8px;
    width: 20px;
  }

  .qa__itemHeadIcon::before {
    width: 20px;
  }

  .qa__itemContentText {
    font-size: 1.4rem;
    line-height: 1.5;
    padding-left: 2.3em;
    padding-right: 10px;
    text-indent: -2.3em;
  }

  .qa__itemContentText span {
    font-size: 2.2rem;
  }

  #contact::after {
    width: 460px;
  }

  .sectionTitle--contact {
    font-size: 3.6rem;
  }

  .form__box {
    margin-top: 50px;
    padding: 36px 15px 80px 15px;
    width: 100%;
  }

  .form__items {
    gap: 45px;
  }

  .form__item {
    align-items: baseline;
    flex-direction: column;
    gap: 20px;
  }
  select,
  input[type=text],
  input[type=tel],
  input[type=email],
  textarea {
    font-size: 1.4rem;
  }
  select,
  input[type=text],
  input[type=tel],
  input[type=email],
  textarea {
    width: 100%;
  }

  #place2::before {
    font-size: 1.3rem;
    left: 0;
  }

  .form__item--radio,
  .form__item--land,
  .form__item--budget
   {
    font-size: 1.4rem;
  }

  .form__item--radio label, 
  .form__item--land label, 
  .form__item--budget label
  {
    margin-left: 0;
    width: 40%;
  }

  .form__item--radio label::before,
  .form__item--land label::before,
  .form__item--budget label::before {
    height: 13px;
    left: 0;
    top: 0;
    width: 13px;
  }

  .radio__labels {
    flex-wrap: wrap;
    padding-left: 10px;
    row-gap: 10px;
  }

  .radio--active::after {
    height: 7px;
    left: 4px;
    top: 25%;
    width: 7px;
  }

  .label--first {
    margin-left: 0 !important;
  }

  .contact__caution {
    font-size: 1.3rem;
    line-height: 1.5;
  }

  .contact__privacy {
    font-size: 1.6rem;
  }

  .contact__privacy label::before {
    height: 12px;
    left: 13px;
    top: 55%;
    transform: translateY(-50%);
    width: 12px;
  }

  .check--active::after {
    height: 15px;
    left: 14px;
    position: absolute;
    top: 4px;
    width: 15px;
  }

  input[type=submit],
  .backToTop {
    font-size: 1.6rem;
    height: 50px;
    width: 270px;
  }

  .thanks {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    margin-top: 100px;
    margin-bottom: 100px;
    line-height: 1.5;
  }
}