﻿@charset 'UTF-8';
/* ===============================
   Fluid helper (390px基準 / 320で縮む / 640で少し拡大 / media無し)
   - 390px時：必ず$baseと一致
================================ */
/* ===============================
   Reset CSS 
================================ */
/* box-sizing */
*,
*::before,
*::after
{
    box-sizing: border-box;
}

/* margin / padding */
html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd,
figure,
blockquote
{
    margin: 0;
    padding: 0;
}

/* body */
body
{
    line-height: 1.6;

    -webkit-text-size-adjust: 100%;
    text-rendering: optimizeLegibility;
}

/* list */
ul,
ol
{
    list-style: none;
}

/* img */
img
{
    max-width: 100%;
    height: auto;

    vertical-align: bottom;
}

/* a */
a
{
    text-decoration: none;

    color: inherit;
}

/* button */
button
{
    font: inherit;

    padding: 0;

    cursor: pointer;

    color: inherit;
    border: none;
    background: none;
}

/* form */
input,
textarea,
select
{
    font: inherit;

    color: inherit;
}

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

/* hidden */
[hidden]
{
    display: none;
}

/* ===============================
   Reset CSS ここまで
================================ */
/* ===============================
   共通 CSS
================================ */
body
{
    font-family: 'Noto Serif JP', serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;

    color: #3e3a39;
}

.l-container
{
    width: 100%;
    max-width: 640px;

    margin-inline: auto;
    padding-inline: clamp( 12px, calc(16 * 100vw / 390), 20px );
}

.header_fixed
{
    top: 25px;
}

@media screen and (max-width: 800px)
{
    .header_fixed
    {
        top: 31px;
    }
}
.header-title img
{
    width: 62%;
    max-width: 400px;
    height: auto;
}

.c-kicker
{
    font-size: clamp( 16px, calc(20 * 100vw / 390), 22px );
    font-weight: 600;
    line-height: 1.7;

    margin: 0 0 clamp( 14px, calc(20 * 100vw / 390), 24px );

    text-align: center;

    color: #ca9f42;
}

.lp-button
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-size: clamp( 14px, calc(16 * 100vw / 390), 16px );
    line-height: 1;

    display: inline-flex;

    height: clamp( 40px, calc(44 * 100vw / 390), 48px );
    padding: clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 16px, calc(20 * 100vw / 390), 24px );

    white-space: nowrap;
    text-decoration: none;

    color: #fff;
    border-radius: 9999px;
    background: #543122;

    align-items: center;
    gap: clamp( 3px, calc(4 * 100vw / 390), 6px );
}
.lp-button::after
{
    width: clamp( 20px, calc(24 * 100vw / 390), 26px );
    height: clamp( 20px, calc(24 * 100vw / 390), 26px );

    content: '';

    background-image: url(../../images/lp/arrow_btn.svg);
    background-repeat: no-repeat;
    background-size: contain;

    flex: 0 0 auto;
}

/* ===============================
   header CSS
================================ */
.login_mobile.hr_more3
{
    font-size: 14px;
    line-height: 1.5;

    background-color: #543122;
}

.slicknav_menu .slicknav_menutxt
{
    color: #543122;
}

.slicknav_menu .slicknav_icon-bar
{
    background-color: #543122;
}

.lp-mv
{
    margin-bottom: clamp( 14px, calc(20 * 100vw / 390), 28px );
}
@media screen and (max-width: 768px)
{
    .lp-mv
    {
        padding-top: 88px;
    }
}

/* ===============================
   lp-problem CSS
================================ */
.lp-problem
{
    background: linear-gradient(to bottom, #fff 45%, #eadbed 100%);
}
.lp-problem__box
{
    width: 100%;
    max-width: 420px;
    margin: 0 auto;
}
.lp-problem__tags
{
    display: flex;
    flex-direction: row;

    margin-bottom: clamp( 10px, calc(12 * 100vw / 390), 16px );

    gap: clamp( 6px, calc(8 * 100vw / 390), 12px );
    justify-content: center;
    flex-wrap: wrap;
}
.lp-problem__tag
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 18px, calc(20 * 100vw / 390), 24px );
    font-weight: 600;
    line-height: 1;

    padding: clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 14px, calc(24 * 100vw / 390), 28px );

    letter-spacing: .1rem;

    border: 1px solid #dedede;
}
.lp-problem__title
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 22px, calc(26 * 100vw / 390), 30px );
    font-weight: 600;
    line-height: 1.5;

    margin-bottom: clamp( 12px, calc(16 * 100vw / 390), 20px );

    text-align: center;

    color: #543122;
}
.lp-problem__list
{
    font-size: clamp( 15px, calc(18 * 100vw / 390), 20px );

    position: relative;

    display: flex;
    flex-direction: column;

    padding: clamp( 20px, calc(32 * 100vw / 390), 36px ) clamp( 14px, calc(20 * 100vw / 390), 26px );

    border: 1px solid #dedede;
    border-radius: 2px;
    box-shadow: 0 0 4px rgba(0, 0, 0, .25);

    gap: clamp( 10px, calc(16 * 100vw / 390), 20px );
}
.lp-problem__list::after
{
    position: absolute;
    bottom: -23px;
    left: 50%;

    width: clamp( 46px, calc(57 * 100vw / 390), 64px );
    height: clamp( 20px, calc(25 * 100vw / 390), 28px );

    content: '';
    transform: translateX(-50%);

    background-image: url(../../images/lp/arrow_box.png);
    background-repeat: no-repeat;
    background-size: contain;
}
.lp-problem__item
{
    display: flex;

    min-width: 0;

    align-items: center;
    gap: clamp( 6px, calc(8 * 100vw / 390), 10px );
}
.lp-problem__check
{
    width: clamp( 18px, calc(24 * 100vw / 390), 26px );

    flex: 0 0 auto;
}
.lp-problem .u-marker
{
    padding: 0 2px clamp( 2px, calc(4 * 100vw / 390), 5px );

    color: #ca9f42;
    background: linear-gradient(transparent 60%, rgba(234, 219, 235, .5) 60%, rgba(234, 219, 235, .5) 100%, transparent 100%);
}
.lp-problem__solution
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 22px, calc(28 * 100vw / 390), 34px );
    font-weight: 600;
    line-height: 1.5;

    position: relative;

    padding: clamp( 40px, calc(40 * 100vw / 390), 48px ) 0 clamp( 56px, calc(62 * 100vw / 390), 72px );

    text-align: center;
}
.lp-problem__solution::after
{
    position: absolute;
    bottom: 12px;
    left: 50%;

    width: clamp( 220px, calc(278 * 100vw / 390), 320px );
    height: clamp( 36px, calc(45 * 100vw / 390), 50px );

    content: '';
    transform: translateX(-50%);

    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);

    -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);

            clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.lp-problem__solution--em
{
    font-size: clamp( 34px, calc(48 * 100vw / 390), 56px );

    color: #ca9f42;
}
.lp-problem__movie
{
    width: clamp( 220px, calc(270 * 100vw / 390), 420px );
    max-width: 100%;
    margin: 0 auto clamp( 16px, calc(24 * 100vw / 390), 28px );
}
.lp-problem__ornament
{
    width: clamp( 240px, calc(300 * 100vw / 390), 340px );
    max-width: 100%;
    height: clamp( 26px, calc(32 * 100vw / 390), 36px );
    margin: 0 auto;

    background-image: url(../../images/lp/ornament@2x.png);
    background-repeat: no-repeat;
    background-size: contain;
}

/* ===============================
   lp-reasons CSS
================================ */
.lp-reasons
{
    padding-top: clamp( 16px, calc(20 * 100vw / 390), 28px );
    padding-bottom: clamp( 48px, calc(56 * 100vw / 390), 64px );

    background-color: #eadbeb;
}
.lp-reasons__kicker
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 18px, calc(24 * 100vw / 390), 28px );
    font-weight: 600;
    line-height: 1.35;

    margin: 0 0 clamp( 8px, calc(8 * 100vw / 390), 10px );

    text-align: center;

    color: #ca9f42;
}
.lp-reasons__title
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 24px, calc(30 * 100vw / 390), 34px );
    font-weight: 600;
    line-height: 1.5;

    margin: 0 0 clamp( 22px, calc(34 * 100vw / 390), 40px );

    text-align: center;

    color: #543122;
}
.lp-reasons__cards
{
    display: flex;
    flex-direction: column;

    gap: clamp( 18px, calc(28 * 100vw / 390), 34px );
}

.lp-reasonCard
{
    font-family: 'Noto Sans JP', sans-serif;

    position: relative;

    width: 100%;
    padding: 0 clamp( 14px, calc(20 * 100vw / 390), 26px ) clamp( 20px, calc(28 * 100vw / 390), 34px );

    background-color: #fff;
    background-image: url(../../images/lp/point-header@2x.png);
    background-repeat: no-repeat;
    background-size: 100% auto;
}
.lp-reasonCard__head
{
    color: #543122;
}
.lp-reasonCard__point
{
    font-family: 'Tangerine', serif;
    font-size: clamp( 32px, calc(40 * 100vw / 390), 46px );
    font-weight: 600;

    margin: clamp( 6px, calc(8 * 100vw / 390), 10px ) 0 8px;

    text-align: center;
}
.lp-reasonCard__heading
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 20px, calc(24 * 100vw / 390), 28px );

    position: relative;

    margin-bottom: clamp( 24px, calc(24 * 100vw / 390), 32px );
    padding-bottom: clamp( 16px, calc(20 * 100vw / 390), 18px );

    text-align: center;
}
.lp-reasonCard__heading::after
{
    position: absolute;
    bottom: 0;
    left: 50%;

    width: 3em;
    height: 2px;

    content: '';
    transform: translateX(-50%);

    background: #543122;
}
.lp-reasonCard__text
{
    font-size: clamp( 14px, calc(16 * 100vw / 390), 18px );
    line-height: 1.7;

    margin-bottom: clamp( 16px, calc(24 * 100vw / 390), 28px );

    text-align: center;
}
.lp-reasonCard__media
{
    display: flex;
    flex-direction: column;

    align-items: center;
    gap: clamp( 14px, calc(20 * 100vw / 390), 24px );
}
.lp-reasonCard__mediaRow
{
    display: flex;

    gap: clamp( 12px, calc(20 * 100vw / 390), 24px );
    flex-wrap: wrap;
    justify-content: center;
}
.lp-reasonCard__mediaRow img
{
    display: block;

    width: clamp( 56px, calc(72 * 100vw / 390), 84px );

    -o-object-fit: cover;

       object-fit: cover;
    flex: 0 0 auto;
}
.lp-reasonCard__cta
{
    text-align: center;
}
.lp-reasonCard__cta a
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 14px;
    font-size: clamp( 14px, calc(16 * 100vw / 390), 16px );
    line-height: 1;

    display: inline-flex;

    height: clamp( 40px, calc(44 * 100vw / 390), 48px );
    margin-top: clamp( 20px, calc(24 * 100vw / 390), 28px );
    padding: clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 16px, calc(20 * 100vw / 390), 24px );

    white-space: nowrap;
    text-decoration: none;

    color: #fff;
    border-radius: 9999px;
    background: #543122;

    align-items: center;
    gap: clamp( 3px, calc(4 * 100vw / 390), 6px );
}
.lp-reasonCard__cta a::after
{
    width: clamp( 20px, calc(24 * 100vw / 390), 26px );
    height: clamp( 20px, calc(24 * 100vw / 390), 26px );

    content: '';

    background-image: url(../../images/lp/arrow_btn.svg);
    background-repeat: no-repeat;
    background-size: contain;

    flex: 0 0 auto;
}
.lp-reasonCard__compare
{
    display: flex;

    margin-bottom: clamp( 16px, calc(24 * 100vw / 390), 28px );

    gap: clamp( 10px, calc(16 * 100vw / 390), 20px );
    flex-wrap: nowrap;
    justify-content: center;
}
.lp-reasonCard__ph--square
{
    position: relative;

    width: 100%;

    aspect-ratio: 1/1;
}
.lp-reasonCard__compareItem
{
    min-width: 0;

    text-align: center;
}
.lp-reasonCard__compareItem:first-child .lp-reasonCard__ph
{
    position: relative;
}
.lp-reasonCard__compareItem:first-child .lp-reasonCard__ph::after
{
    position: absolute;
    z-index: 2;
    top: 50%;
    right: clamp( -20px, calc(-20 * 100vw / 390), -22px );

    width: clamp( 20px, calc(24 * 100vw / 390), 34px );
    height: clamp( 52px, calc(64 * 100vw / 390), 78px );

    content: '';
    transform: translateY(-50%);

    background: url('../../images/lp/arrow_flow.svg') no-repeat center/contain;
}
@media screen and (min-width: 769px)
{
    .lp-reasonCard__compareItem:first-child .lp-reasonCard__ph::after
    {
        right: -28px;
    }
}
.lp-reasonCard__compareCap
{
    font-size: clamp( 12px, calc(13 * 100vw / 390), 15px );
    line-height: 1.6;

    margin-top: clamp( 6px, calc(8 * 100vw / 390), 10px );
}
.lp-reasonCard__subTitle
{
    font-size: 14px;
    font-size: clamp( 14px, calc(14 * 100vw / 390), 18px );
    line-height: 1.5;

    margin-bottom: clamp( 10px, calc(12 * 100vw / 390), 16px );
    padding-bottom: clamp( 6px, calc(8 * 100vw / 390), 10px );

    text-align: center;

    color: #543122;
    border-bottom: 1px solid #543122;
}

.lp-reasonCard--point4 .lp-reasonCard__cta a
{
    padding: clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 16px, calc(20 * 100vw / 390), 24px );
}
.lp-reasonCard--point4 .lp-reasonCard__cta a::after
{
    display: none;
}

.lp-courseRow:not(:last-child)
{
    margin-bottom: clamp( 12px, calc(16 * 100vw / 390), 20px );
}
.lp-courseRow__head
{
    display: flex;

    min-width: 0;

    justify-content: space-between;
    align-items: baseline;
    gap: clamp( 8px, calc(12 * 100vw / 390), 16px );
}
.lp-courseRow__price
{
    font-family: 'Noto Serif JP', serif;
    font-size: 14px;
    font-size: clamp( 14px, calc(14 * 100vw / 390), 18px );
    font-weight: 600;
    line-height: 1.5;

    min-width: 0;
    margin-bottom: clamp( 6px, calc(8 * 100vw / 390), 10px );
    padding-left: clamp( 6px, calc(8 * 100vw / 390), 10px );

    color: #543122;
    border-left: 3px solid #ca9f42;
}
.lp-courseRow__link
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 13px;
    font-size: clamp( 13px, calc(13 * 100vw / 390), 14px );

    position: relative;

    padding-right: clamp( 8px, calc(12 * 100vw / 390), 14px );

    text-align: right;
    white-space: nowrap;
    text-decoration: underline;

    color: #ca9f42;
}
.lp-courseRow__link::after
{
    position: absolute;
    top: 50%;
    right: clamp( -10px, calc(-8 * 100vw / 390), -6px );

    width: clamp( 20px, calc(24 * 100vw / 390), 26px );
    height: clamp( 20px, calc(24 * 100vw / 390), 26px );

    content: '';
    transform: translateY(-50%);

    background-image: url(../../images/lp/arrow_btn.svg);
    background-repeat: no-repeat;
    background-size: contain;

    filter: brightness(0) saturate(100%) invert(60%) sepia(76%) saturate(368%) hue-rotate(3deg) brightness(94%) contrast(83%);
}
.lp-courseRow__items
{
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp( 4px, calc(8 * 100vw / 390), 12px );
}
.lp-courseRow__items > *
{
    min-width: 0;
}

.lp-flow
{
    padding: clamp( 32px, calc(40 * 100vw / 390), 48px ) 0 clamp( 48px, calc(56 * 100vw / 390), 64px );
}
.lp-flow__title
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 24px, calc(30 * 100vw / 390), 34px );
    font-weight: 600;
    line-height: 1.5;

    margin: 0 0 clamp( 18px, calc(24 * 100vw / 390), 32px );

    text-align: center;

    color: #543122;
}
.lp-flow__steps
{
    display: flex;

    flex-flow: column;
    gap: clamp( 28px, calc(40 * 100vw / 390), 52px );
}
.lp-flow__noteText
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp( 14px, calc(17 * 100vw / 390), 19px );
    line-height: 1.7;

    margin-top: clamp( 10px, calc(12 * 100vw / 390), 16px );
    margin-bottom: clamp( 28px, calc(40 * 100vw / 390), 52px );

    text-align: center;

    color: #543122;
    border-right: 2px solid #543122;
    border-left: 2px solid #543122;

    padding-inline: clamp( 8px, calc(12 * 100vw / 390), 16px );
}
.lp-flow__cta
{
    text-align: center;
}

.lp-flowStep
{
    position: relative;

    display: flex;

    min-width: 0;

    border: 2px solid #543122;

    align-items: stretch;
    gap: clamp( 6px, calc(8 * 100vw / 390), 12px );
}
.lp-flowStep::after
{
    position: absolute;
    bottom: -43px;
    left: 50%;

    width: clamp( 34px, calc(43 * 100vw / 390), 48px );
    height: clamp( 34px, calc(43 * 100vw / 390), 48px );

    content: '';
    transform: translateX(-50%) rotate(90deg);

    background: url('../../images/lp/arrow_flow.svg') no-repeat center/contain;
}
@media screen and (min-width: 769px)
{
    .lp-flowStep::after
    {
        bottom: -51px;
    }
}
.lp-flowStep__label
{
	    min-width: 170px;
    display: flex;
    flex-direction: column;

    padding: clamp( 8px, calc(10 * 100vw / 390), 12px ) clamp( 14px, calc(20 * 100vw / 390), 24px ) clamp( 8px, calc(10 * 100vw / 390), 12px ) clamp( 14px, calc(20 * 100vw / 390), 24px );

    white-space: nowrap;

    color: #fff;
    background-color: #543122;

    flex: 0 0 auto;
    justify-content: center;
}
.lp-flowStep__body
{
    display: flex;

    min-width: 0;
    padding: clamp( 8px, calc(8 * 100vw / 390), 18px );

    align-items: center;
}
.lp-flowStep__step
{
    font-family: 'Tangerine', serif;
    font-size: clamp( 20px, calc(24 * 100vw / 390), 28px );

    margin-bottom: clamp( 6px, calc(6 * 100vw / 390), 6px );

    text-align: center;
    letter-spacing: .2rem;
}
.lp-flowStep__who
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 18px, calc(22 * 100vw / 390), 26px );

    text-align: center;
    letter-spacing: .2rem;
}
.lp-flowStep__text
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-size: clamp( 16px, calc(16 * 100vw / 390), 18px );
    line-height: 1.5;

    min-width: 0;

    color: #543122;

    overflow-wrap: anywhere;
}

.lp-faq
{
    padding: clamp( 32px, calc(40 * 100vw / 390), 48px ) clamp( 12px, calc(16 * 100vw / 390), 20px ) clamp( 48px, calc(56 * 100vw / 390), 64px );

    background-color: #eadbeb;
}
.lp-faq .faq_q,
.lp-faq .faq_a
{
    padding: 0;
}
.lp-faq__title
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 24px, calc(30 * 100vw / 390), 34px );
    font-weight: 600;
    line-height: 1.5;

    margin: 0 0 clamp( 18px, calc(24 * 100vw / 390), 32px );

    text-align: center;

    color: #543122;
}
.lp-faq .accordion-item
{
    margin-bottom: clamp( 14px, calc(18 * 100vw / 390), 22px );

    border-radius: 10px;
}
.lp-faq .accordion-item-header
{
    padding: clamp( 6px, calc(8 * 100vw / 390), 10px );
}
.lp-faq .faq_q-icon
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 18px, calc(23 * 100vw / 390), 26px );
    font-weight: 400;

    display: flex;

    width: clamp( 22px, calc(28 * 100vw / 390), 32px );
    height: clamp( 22px, calc(28 * 100vw / 390), 32px );
    margin-top: clamp( 1px, calc(2 * 100vw / 390), 3px );
    margin-right: clamp( 8px, calc(10 * 100vw / 390), 12px );

    color: #fff;
    border-radius: 4px;
    background-color: #543122;

    justify-content: center;
    flex: 0 0 auto;
}
.lp-faq .faq_a-icon
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 18px, calc(23 * 100vw / 390), 26px );
    font-weight: 400;

    display: flex;

    width: clamp( 22px, calc(28 * 100vw / 390), 32px );
    height: clamp( 22px, calc(28 * 100vw / 390), 32px );
    margin-top: clamp( 1px, calc(2 * 100vw / 390), 3px );
    margin-right: clamp( 8px, calc(10 * 100vw / 390), 12px );

    color: #543122;
    border-radius: 4px;
    background-color: #eadbeb;

    justify-content: center;
    flex: 0 0 auto;
}
.lp-faq .accordion-item-body-content
{
    padding: clamp( 6px, calc(8 * 100vw / 390), 12px );

    border-top: 1px solid #dedede;
    border-radius: 0 0 10px 10px;
}
.lp-faq .faq_q p,
.lp-faq .faq_a p
{
    font-size: 16px;
    line-height: 1.7;

    min-width: 0;

    overflow-wrap: anywhere;
}
.lp-faq .faq_q p
{
    font-family: 'Noto Serif JP', serif;
    font-size: clamp( 16px, calc(16 * 100vw / 390), 18px );

    padding: 0 40px 0 0;
}
.lp-faq .faq_a p
{
    font-family: 'Noto Sans JP', sans-serif;
}

.lp-company
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 16px;
    font-weight: 400;

    padding: clamp( 48px, calc(56 * 100vw / 390), 64px ) 0 clamp( 20px, calc(24 * 100vw / 390), 32px );

    background: #fff;
}
@media screen and (max-width: 768px)
{
    .lp-company
    {
        padding: clamp( 48px, calc(56 * 100vw / 390), 64px ) 0 120px;
    }
}
.lp-company__inner
{
    max-width: 640px;
    margin: 0 auto;
    padding: 0 clamp( 12px, calc(16 * 100vw / 390), 20px );
}
.lp-company__title
{
    font-size: clamp( 16px, calc(18 * 100vw / 390), 20px );
    font-weight: 400;

    margin: 0 0 32px;
    padding: clamp( 6px, calc(8 * 100vw / 390), 10px ) 0;

    text-align: center;

    background: #dedede;
}
.lp-company__logo
{
    max-width: clamp( 220px, calc(248 * 100vw / 390), 280px );
    margin: 0 auto;
    margin-bottom: 32px;
}
.lp-company__links
{
    font-size: 16px;
    line-height: 1.35;

    display: grid;

    max-width: clamp( 220px, calc(250 * 100vw / 390), 280px );
    margin: 0 auto clamp( 28px, calc(40 * 100vw / 390), 52px );

    gap: clamp( 12px, calc(16 * 100vw / 390), 20px );
}
.lp-company__link
{
    text-decoration: underline;

    color: #00467f;
}
.lp-company__lead
{
    line-height: 1.7;

    margin: 0 0 clamp( 18px, calc(26 * 100vw / 390), 32px );

    text-align: center;
}
.lp-company__divider
{
    height: 1px;
    margin-bottom: clamp( 22px, calc(32 * 100vw / 390), 40px );

    background: #e0e0e0;
}
.lp-company__contact
{
    margin-bottom: clamp( 18px, calc(26 * 100vw / 390), 32px );

    text-align: center;
}
.lp-company__contactTitle
{
    font-size: clamp( 15px, calc(17 * 100vw / 390), 18px );
    font-weight: 600;
    line-height: 1.35;

    margin: 0 0 clamp( 6px, calc(8 * 100vw / 390), 10px );
}
.lp-company__contactBox
{
    padding: clamp( 14px, calc(20 * 100vw / 390), 24px );

    border: 1px solid #e0e0e0;
}
.lp-company__contactMain
{
    font-size: clamp( 20px, calc(24 * 100vw / 390), 28px );
    font-weight: 700;

    margin: 0;

    color: #00467f;
}
.lp-company__contactMain--mail
{
    font-size: clamp( 16px, calc(20 * 100vw / 390), 22px );

    overflow-wrap: anywhere;
}
.lp-company__contactSub
{
    margin: clamp( 6px, calc(8 * 100vw / 390), 10px ) 0 0;
}
.lp-company__copyright
{
    font-size: 14px;

    margin: clamp( 34px, calc(48 * 100vw / 390), 64px ) 0 0;

    text-align: center;
}
.lp-company__contactLink
{
    text-decoration: none;
    pointer-events: none;

    color: inherit;
}
@media screen and (max-width: 768px)
{
    .lp-company__contactLink
    {
        pointer-events: auto;
    }
}

.lp-floatCta
{
    position: fixed;
    z-index: 1000;
    right: 0;
    bottom: 0;
    left: 0;

    display: grid;

    padding: clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 10px, calc(12 * 100vw / 390), 16px ) clamp( 10px, calc(12 * 100vw / 390), 16px );

    background: rgba(255, 255, 255, .8);

    grid-template-columns: 1fr 1fr;
    gap: clamp( 12px, calc(16 * 100vw / 390), 24px );
}
@media screen and (min-width: 769px)
{
    .lp-floatCta
    {
        display: none;
    }
}
.lp-floatCta__btn
{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp( 12px, calc(14 * 100vw / 390), 16px );
    font-weight: 400;
    line-height: 1.5;

    position: relative;

    display: flex;

    min-width: 0;
    padding: clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 16px, calc(16 * 100vw / 390), 24px ) clamp( 6px, calc(8 * 100vw / 390), 10px ) clamp( 10px, calc(12 * 100vw / 390), 16px );
    /* 320でボタン文言が折れて崩れやすいので維持 */

    white-space: nowrap;
    text-decoration: none;

    border-radius: clamp( 10px, calc(12 * 100vw / 390), 14px );

    align-items: center;
    gap: clamp( 4px, calc(6 * 100vw / 390), 10px );
    justify-content: space-between;
}
.lp-floatCta__btn--ghost
{
    color: #543122;
    border: 1.5px solid #543122;
    background: #fff;
}
.lp-floatCta__btn--primary
{
    color: #fff;
    background: #543122;
}
.lp-floatCta__arrow
{
    width: clamp( 8px, calc(10 * 100vw / 390), 12px );
    height: clamp( 8px, calc(10 * 100vw / 390), 12px );

    transform: rotate(45deg);

    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;

    flex: 0 0 auto;
}
