@charset "utf-8";

body {
    color:#1A1A1A;
    background-color:#F8F7F3;
}

h1, h2 {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: bold;
}

h3 {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.bg-purple {
  --tw-bg-opacity: 1;
  background-color: rgba(201,150,213, var(--tw-bg-opacity));
}

.font-soei {
    font-family: "HG創英プレゼンスEB", "Arial", sans-serif;
    font-style: normal;
}

.font-notosans {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.font-notosans-medium {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.font-mplus-light {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 300;
}

.font-mplus-regular {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 400;
}

.font-mplus-bold {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-weight: 700;
}

.font-notoserifJP {
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-style: normal;
}

.font-notoserifJP-medium {
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-style: normal;
}

.font-zenkaku-regular {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.greeting-bg {
    background-image: url('/img/bg_1_sp.png');
    background-size: cover;
    background-repeat: no-repeat;
    transform: translateZ(0);
}

.box-shadow {
    box-shadow: 0 0 8px rgb(201, 201, 201);
}

.heading {
  align-items: center; /* 横線を上下中央 */
  display: flex; /* 文字と横線を横並び */
  justify-content: center; /* 文字を中央寄せ */
  color: #df6f6a;
  font-size: 25px;
  z-index: 1;
  position: relative;
}

.heading::before {
  margin-right: 15px; /* 文字との余白 */
}

.heading::after {
  margin-left: 15px; /* 文字との余白 */
}

.heading::before,
.heading::after {
  background-color: #df6f6a; /* 横線の色 */
  content: "";
  height: 2px; /* 横線の高さ */
  width: 25px; /* 横線の長さ */
  z-index: 1;
  position: relative;
}

.partner-section {
    background-image: url('/img/bg_3.png');
    background-size: contain;
}

.partner-text {
    background-image: url('/img/bg_4_sp.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.inquiry-btn:hover {
    opacity: 0.8;
}

.profile-section {
    background-image: url('/img/bg_5.png');
    background-size: cover;
    background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
    .top-pc {
        background-image: url('/img/top_bg_1.png');
        background-size: cover;
        background-repeat: no-repeat;
    }

    .greeting-bg {
        background-image: none;
    }

    .background-image-round {
        position: absolute;
        bottom: -150px;
        right: 0;
        background-image: url('/img/round_pc.png');
        background-size: cover;
        width: 190px;
        height: 370px;
    }

    .heading {
        justify-content: flex-start;
        font-size: 30px
    }

    .heading::before,
    .heading::after {
        height: 0px; /* 横線の高さ */
        width: 0px; /* 横線の長さ */
        margin: 0px;
    }

    .partner-text {
        background-image: url('/img/bg_4_pc.png');
    }

    .qr-div {
        margin-right: 28px;
    }

    .qr-img {
        width: 100%;
        height: 100%;
        object-fit: fill;
    }
}
