@charset "UTF-8";
/* foundation */
/* =========================================
   Basic Reset / Normalize-lite
   ========================================= */
/* 1. ボックスサイズを border-box に統一 */
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* 2. デフォルトの余白をリセット */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* 3. body の基本設定 */
body {
    min-height: 100vh;
    line-height: 1.5;
    -webkit-text-size-adjust: 100%; /* モバイルSafariの勝手な拡大を防止 */
}

/* 4. 画像などのメディアをコンテナに収める */
img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

/* 5. フォーム要素のフォントを継承 */
input,
button,
textarea,
select {
    font: inherit;
}

/* 6. ボタンのデフォルト装飾を少し抑える */
button {
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
}

/* 7. リストのマーカーを一旦消す（必要なところだけ後で指定） */
ul,
ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* 8. aタグのデフォルトスタイル調整 */
a {
    text-decoration: none;
    color: inherit;
}

/* 9. テキストの折返しを安定させる */
p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

/* 10. ルートのスタッキングコンテキストを安定させる */
#root,
#__next {
    isolation: isolate;
}

html {
    --green: #2fb3bc;
    --black: #333333;
    --gray-1: #eeeeee;
    --gray-2: #e0e0e0;
    --gray-3: #adacac;
    --pink-1: #f7808e;
    --pink-2: #f82370;
    --red: #ff0000;
    --orange-1: #fe8b00;
    --orange-2: #e56000;
    font-size: 2.6666666667vw;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    position: relative;
    line-height: 1.6;
    color: var(--black);
    font-size: 1.4rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
}

main {
    overflow: hidden;
    -webkit-box-flex: 1;
    flex: 1;
}

a {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
}

a:hover {
    opacity: 0.7;
}

em {
    font-style: normal;
}

img {
    max-width: 100%;
}

a {
    text-decoration: none;
}

button > span {
    pointer-events: none;
}

input[type=text],
input[type=password],
input[type=tel],
input[type=url],
input[type=email],
input[type=number],
input[type=search],
textarea,
select[multiple],
button {
    border: none;
}

.green {
    color: var(--green);
}

.red {
    color: #f82055;
}

/* component */
.Label {
    width: 1.8rem;
    height: 1.8rem;
}

.Cta {
    height: 3.1rem;
    font-size: 1.2rem;
    line-height: 1;
    color: white;
    border-radius: 0.4rem;
    overflow: hidden;
    background: var(--orange-1);
    display: -webkit-box;
    display: flex;
    width: 100%;
    font-weight: 800;
}

.Cta .free {
    background: var(--orange-2);
    height: 100%;
    font-size: 1.1rem;
    width: 4.6rem;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.Cta .text {
    font-size: 1.2rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    gap: 0.4rem;
    width: 100%;
}

.Cta .text i {
    width: 1.6rem;
    height: 1.1rem;
    border-radius: 0.1rem;
    background-size: cover;
    background: white url("../img/ico-mail-flip.svg") no-repeat center top -0.2rem;
    margin-top: 0.1rem;
}

.Cta-large {
    height: 5rem;
    font-size: 1.4rem;
}

.Cta-large .free {
    width: 5.6rem;
}

.Cta-large .text {
    padding-top: 0.1rem;
}

.Cta.disabled {
    pointer-events: none;
}

.Cta.disabled .free {
    background: #949494;
}

.Cta.disabled .text {
    background: #bbb;
}

.Cta.disabled .text i {
    background-image: url("../img/ico-mail-flip-gray.svg");
}

.SectionTitle {
    font-size: 1.3rem;
    display: -webkit-box;
    display: flex;
    gap: 0.6rem;
    font-weight: bold;
}

.SectionTitle:before {
    content: "";
    display: block;
    width: 0.4rem;
    height: 2rem;
    background: var(--green);
    border-radius: 0.2rem;
}

.SectionTitle-fill {
    background: var(--green);
    height: 3.4rem;
    display: grid;
    place-items: center;
    font-size: 1.3rem;
    font-weight: bold;
    color: white;
}

.IconZoom {
    position: relative;
}

.IconZoom:after {
    position: absolute;
    right: 0.5rem;
    bottom: 0.5rem;
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: center/cover no-repeat url("../img/ico-zoom.svg");
}

.ScrollToTop {
    background: white;
    display: grid;
    padding: 1rem;
}

.ScrollToTop_button {
    margin-left: auto;
    display: -webkit-box;
    display: flex;
    gap: 0.5rem;
    font-size: 1.2rem;
}

.ScrollToTop_button img {
    width: 1.6rem;
}

.Button-action {
    background: #fe8b00;
    width: 26rem;
    height: 4rem;
    line-height: 1;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    font-weight: 800;
    border-radius: 0.4rem;
    margin-inline: auto;
    color: white;
}

.Button-green {
    background: #375b6d;
    color: white;
    font-weight: bold;
    display: grid;
    place-items: center;
    border-radius: 100vh;
}

.Button-change {
    font-size: 1rem;
    width: 8.4rem;
    height: 2rem;
}

.Button-more {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    gap: 0.5rem;
    width: 18rem;
    height: 3.4rem;
    font-size: 1.2rem;
    margin-inline: auto;
}

.Button-more:after {
    content: "もっと見る";
}

.Button-more img {
    width: 1.5rem;
}

.Button-more.is-open img {
    display: none;
}

.Button-more.is-open:after {
    content: "閉じる";
}

.Button-all {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    gap: 0.5rem;
    width: 27.7rem;
    height: 3.4rem;
    font-size: 1.2rem;
    margin-inline: auto;
    margin-top: 1rem;
}

.Button-all img {
    width: 1.5rem;
}

.Button-add-condition {
    background: var(--green);
    color: white;
    font-weight: bold;
    display: grid;
    place-items: center;
    border-radius: 0.4rem;
    width: 16rem;
    height: 4rem;
    font-size: 1.6rem;
}

.Button-all-condition {
    background: var(--green);
    color: white;
    font-weight: bold;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
    border-radius: 0.4rem;
    width: 26rem;
    height: 4rem;
    font-size: 1.2rem;
    margin: 2rem auto 0;
    gap: 1rem;
}

.Button-all-condition:before {
    display: block;
    content: "";
    width: 1.8rem;
    height: 1.8rem;
    background: center/cover no-repeat url("../img/ico-plus.png");
}

.Button-all-condition.is-expand:before {
    background: center/cover no-repeat url("../img/ico-minus.png");
}

.Banner {
    width: 100%;
    display: block;
}

.Banner img {
    width: 100%;
}

.Checkbox {
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    width: 1.7rem;
    height: 1.7rem;
    border: 0.1rem solid #6a94a9;
    border-radius: 0.3rem;
    cursor: pointer;
    position: relative;
    background: white;
}

.Checkbox:checked {
    background-color: var(--green);
    background-image: url("../img/ico-check.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 1rem;
}

.Favorite {
    background: center/contain no-repeat url("../img/ico-heart.svg");
}

.Favorite.-filled {
    background-image: url("../img/ico-heart-fill.svg");
}

.PageTitle {
    font-size: 1.8rem;
    font-weight: bold;
    padding-bottom: 1rem;
    line-height: 1;
    border-bottom: 1px solid var(--green);
}

.Indent {
    display: inline-block;
    padding-left: 1.2em;
    text-indent: -1.2em;
}

.InfoCard {
    border: 1px solid var(--green);
    border-radius: 1rem;
    background: white;
    display: grid;
    place-items: center;
    gap: 2rem;
    padding: 2rem 2.8rem;
    height: -moz-max-content;
    height: max-content;
    line-height: 1.5;
}

.TextLink {
    color: #2fb3bc;
    text-decoration: underline;
}

/* ui */
.Header {
    background: var(--green);
    color: white;
    height: 4.4rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
    padding: 0 1rem;
    position: relative;
}

.Header .content {
    display: grid;
    gap: 0.4rem;
}

.Header .logo img {
    height: 1.8rem;
}

.Header .lead {
    font-size: 0.9rem;
    letter-spacing: -0.072px;
    font-weight: normal;
    line-height: 1;
}

.Header .buttons {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: baseline;
    align-items: baseline;
    gap: 0.7rem;
}

.Header .button a {
    display: grid;
    place-items: center;
    font-size: 0.7rem;
    position: relative;
}

.Header .button a .fav {
    height: 2rem;
}

.Header .button a .history {
    height: 2rem;
}

.Header .button a .count {
    background: #f7808e;
    color: white;
    font-size: 0.8rem;
    line-height: 1;
    font-weight: 500;
    padding: 0.2rem 0.3rem;
    border: 1px solid white;
    border-radius: 100vh;
    position: absolute;
    top: 0.4rem;
    left: 2rem;
    display: none;
}

.Header .button a .count.is-show {
    display: block;
}

.Header .title {
    font-size: 1.6rem;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.Header-contact .logo img {
    height: 1.5rem;
}

.Header-contact .lead {
    font-size: 0.8rem;
}

.Footer {
    background: var(--green);
    color: white;
    height: 8.6rem;
    display: grid;
    -webkit-box-align: center;
    align-items: center;
}

.Footer .wrapper {
    display: grid;
    gap: 1.2rem;
    padding: 0 1rem;
}

.Footer .wrapper.between {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.Footer .logo {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    gap: 0.6rem;
}

.Footer .logo img {
    height: 1.5rem;
}

.Footer .logo .area {
    font-size: 0.9rem;
}

.Footer .content {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.Footer .list {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.Footer .list li {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.Footer .list li + li:before {
    content: "|";
    font-size: 0.6rem;
    margin: 0 0.6rem;
}

.Footer .list a {
    font-size: 0.8rem;
    line-height: 1;
}

.Footer small {
    font-size: 0.8rem;
}

.Card {
    border-radius: 0.3rem;
    background: #fff;
    -webkit-box-shadow: 0 0.2rem 0.2rem 0 rgba(185, 202, 209, 0.6);
    box-shadow: 0 0.2rem 0.2rem 0 rgba(185, 202, 209, 0.6);
    overflow: hidden;
}

.Card_texts {
    display: block;
    width: 100%;
}

.Card_texts .price {
    font-size: 1.2rem;
}

.Card_texts .price .fee {
    color: #f82055;
    font-size: 1.7rem;
    font-weight: 700;
}

.Card_texts .price .en {
    color: #f82055;
    font-size: 1.1rem;
    font-weight: 700;
}

.Card_texts .price .manage {
    color: #f82055;
}

.Card_texts .initialCosts {
    display: -webkit-box;
    display: flex;
    gap: 1rem;
}

.Card_texts .initialCosts li {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.4rem;
}

.Card_texts .text {
    font-size: 1.1rem;
}

.Card_favorite {
    background: center/contain no-repeat url("../img/ico-heart.svg");
}

.Card_favorite.-filled {
    background-image: url("../img/ico-heart-fill.svg");
}

.CardPropertyList .title {
    font-size: 1.3rem;
    color: #666;
    font-weight: 600;
    padding: 1rem;
}

.CardPropertyList .main {
    display: -webkit-box;
    display: flex;
    border-top: 1px solid #c6c6c6;
    border-bottom: 1px solid #c6c6c6;
    background: #f9f9f9;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.CardPropertyList .main .image {
    height: calc(9.5rem + 2px);
    width: 10rem;
    flex-shrink: 0;
}

.CardPropertyList .main .image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.CardPropertyList .main .texts {
    font-size: 1.1rem;
    line-height: 1.8rem;
    padding: 1.2rem 1.5rem;
}

.CardPropertyList .detail {
    display: -webkit-box;
    display: flex;
    gap: 1rem;
    position: relative;
    width: 100%;
}

.CardPropertyList .detail:after {
    width: 1.2rem;
    height: 2rem;
    display: block;
    content: "";
    background: center/contain no-repeat url("../img/ico-arrow.svg");
    position: absolute;
    right: 0.8rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
}

.CardPropertyList .detail .layout {
    width: 9.4rem;
    height: 7.1rem;
    display: block;
}

.CardPropertyList .detail .layout img {
    width: auto;
    height: 100%;
    object-fit: cover;
    margin: auto;
}

.CardPropertyList .content {
    display: -webkit-box;
    display: flex;
}

.CardPropertyList .content .checkbox {
    width: 3.8rem;
    display: grid;
    place-items: center;
    background: #f6f6f6;
}

.CardPropertyList .content .info {
    display: grid;
    gap: 1rem;
    padding: 1.2rem 2rem 1.2rem 1.2rem;
    width: 100%;
}

.CardPropertyList .content .info .initialCosts {
    margin: 0.2rem 0;
}

.CardPropertyList .content .info .initialCosts li {
    font-size: 1.2rem;
}

.CardPropertyList .content .info .actions {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
    width: 100%;
}

.CardPropertyList .content .info .actions .Cta {
    width: 25rem;
}

.CardPropertyList .content .info .suggest {
    background: rgba(247, 128, 142, 0.3);
    color: #ff4a76;
    font-size: 1rem;
    font-weight: 600;
    line-height: 100%;
    height: 3rem;
    display: none;
    place-items: center;
    position: relative;
    width: 100%;
}

.CardPropertyList .content .info .suggest.is-show {
    display: grid;
}

.CardPropertyList .content .info .suggest::after {
    content: "";
    position: absolute;
    top: -0.89rem;
    right: 0.9rem;
    width: 0;
    height: 0;
    border-left: 0.65rem solid transparent;
    border-right: 0.65rem solid transparent;
    border-bottom: 0.9rem solid rgba(247, 128, 142, 0.3);
}

.CardPropertyList .Favorite {
    flex-shrink: 0;
    width: 2.6rem;
    height: 2.3rem;
}

.CardRecommendLarge .title {
    font-size: 1.3rem;
    color: #666;
    font-weight: 600;
    padding: 0.7rem 1.5rem 0.7rem 1rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.CardRecommendLarge .main {
    display: -webkit-box;
    display: flex;
    border-top: 1px solid #c6c6c6;
    border-bottom: 1px solid #c6c6c6;
    background: #f9f9f9;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
    padding: 1.6rem 0;
    position: relative;
}

.CardRecommendLarge .main:after {
    width: 1.2rem;
    height: 2rem;
    display: block;
    content: "";
    background: center/contain no-repeat url("../img/ico-arrow.svg");
    position: absolute;
    right: 2rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
}

.CardRecommendLarge .main .image {
    height: 9.5rem;
    width: 10rem;
    flex-shrink: 0;
}

.CardRecommendLarge .main .image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.CardRecommendLarge .main .texts {
    margin-top: 0.4rem;
    font-size: 1rem;
    line-height: 1.5;
}

.CardRecommendLarge .content {
    padding: 1.5rem 1.5rem 2.5rem;
    position: relative;
}

.CardRecommendLarge .content .toggle {
    width: 14.4rem;
    height: 2.9rem;
    display: block;
    background: center/contain no-repeat url("../img/ico-close-gallery-list.svg");
    position: absolute;
    top: 11rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.CardRecommendLarge .content.is-gallery-collapsed .toggle {
    background-image: url("../img/ico-open-gallery-list.svg");
}

.CardRecommendLarge .content img {
    border-radius: 0.5rem;
    overflow: hidden;
}

.CardRecommendLarge .content .thumb {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    z-index: 1;
    width: 100%;
}

.CardRecommendLarge .content .thumb .image {
    height: 10rem;
    display: block;
    padding-right: 1.3rem;
    aspect-ratio: 151/100;
    -webkit-box-flex: 1;
    flex: 1;
}

.CardRecommendLarge .content .thumb .image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.CardRecommendLarge .content .thumb .image + .image {
    padding-right: unset;
    padding-left: 1.3rem;
    border-left: 1px solid #ccc;
}

.CardRecommendLarge .content .list {
    display: -webkit-box;
    display: flex;
    gap: 1rem;
    overflow-x: scroll;
    margin-top: 1.8rem;
    position: relative;
}

.CardRecommendLarge .content .list li {
    flex-shrink: 0;
    width: 15rem;
    height: 15rem;
}

.CardRecommendLarge .content .list li img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.CardRecommendLarge .Favorite {
    width: 2.2rem;
    height: 1.9rem;
}

.CardRecommendSmall .title {
    font-size: 1.3rem;
    color: #666;
    font-weight: 600;
    padding: 0.8rem 1rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
}

.CardRecommendSmall .main {
    display: -webkit-box;
    display: flex;
    border-top: 1px solid #c6c6c6;
    border-bottom: 1px solid #c6c6c6;
    background: #f9f9f9;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
    padding: 1.2rem 1rem;
    position: relative;
}

.CardRecommendSmall .main:after {
    width: 1.2rem;
    height: 2rem;
    display: block;
    content: "";
    background: center/contain no-repeat url("../img/ico-arrow.svg");
    position: absolute;
    right: 2rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
}

.CardRecommendSmall .main .container {
    display: grid;
    gap: 0.5rem;
    max-width: 10rem;
}

.CardRecommendSmall .main .label {
    border-radius: 0.2rem;
    background: #f7808e;
    color: white;
    font-size: 1rem;
    padding: 0.5rem 0;
    line-height: 1;
    font-weight: bold;
    display: grid;
    place-items: center;
}

.CardRecommendSmall .main .image {
    flex-shrink: 0;
    width: 10rem;
    height: 10rem;
}

.CardRecommendSmall .main .image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.CardRecommendSmall .main .texts {
    margin-top: 0.4rem;
    font-size: 1rem;
    line-height: 1.5;
}

.CardRecommendSmall .Favorite {
    width: 2.2rem;
    height: 1.9rem;
}

.CardFavoriteHistory .title {
    font-size: 1.3rem;
    color: #666;
    font-weight: 600;
    padding: 0.8rem 1rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
}

.CardFavoriteHistory .main {
    display: -webkit-box;
    display: flex;
    border-top: 1px solid #c6c6c6;
    background: #f9f9f9;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
    padding: 1.2rem 1rem;
    position: relative;
}

.CardFavoriteHistory .main:after {
    width: 1.2rem;
    height: 2rem;
    display: block;
    content: "";
    background: center/contain no-repeat url("../img/ico-arrow.svg");
    position: absolute;
    right: 2.4rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
}

.CardFavoriteHistory .main .container {
    display: grid;
    gap: 0.5rem;
    max-width: 10rem;
}

.CardFavoriteHistory .main .label {
    border-radius: 0.2rem;
    background: #f7808e;
    color: white;
    font-size: 1rem;
    padding: 0.5rem 0;
    line-height: 1;
    font-weight: bold;
    display: grid;
    place-items: center;
}

.CardFavoriteHistory .main .image {
    flex-shrink: 0;
    width: 10rem;
    height: 9.5rem;
}

.CardFavoriteHistory .main .image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.CardFavoriteHistory .main .texts {
    margin-top: 0.4rem;
    font-size: 1rem;
    line-height: 1.5;
}

.CardFavoriteHistory .main .initialCosts {
    margin: 0.2rem 0;
}

.CardFavoriteHistory .main .initialCosts li {
    font-size: 1.2rem;
}

.CardFavoriteHistory .actions {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
    width: 100%;
    padding: 1.2rem 2rem 1.2rem 1rem;
}

.CardFavoriteHistory .actions .Cta .text {
    font-size: 1.4rem;
}

.CardFavoriteHistory .Favorite {
    width: 2.6rem;
    height: 2.2rem;
    flex-shrink: 0;
}

.CardSmall {
    border-radius: 0.3rem;
    background: #fff;
    overflow: hidden;
}

.CardSmall .main {
    display: -webkit-box;
    display: flex;
    border-bottom: 1px solid #c6c6c6;
    background: #f9f9f9;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1.5rem;
    padding: 1.2rem 2rem;
    position: relative;
}

.CardSmall .main .label {
    border-radius: 0.2rem;
    background: #f7808e;
    color: white;
    font-size: 1rem;
    padding: 0.5rem 0;
    line-height: 1;
    font-weight: bold;
    display: grid;
    place-items: center;
}

.CardSmall .main .image {
    flex-shrink: 0;
    width: 7rem;
    height: 7rem;
}

.CardSmall .main .image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.CardSmall .main .texts {
    margin-top: 0.4rem;
    font-size: 1rem;
    line-height: 1.5;
}

.CardSmall .main .initialCosts {
    margin: 0.2rem 0;
}

.CardSmall .main .initialCosts li {
    font-size: 1.2rem;
}

.CardSmall .main .expand {
    background: #adadad;
    font-size: 1.2rem;
    font-weight: bold;
    width: 6.3rem;
    height: 2.2rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: white;
    gap: 0.9rem;
    border-radius: 0.4rem;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    right: 1.2rem;
    bottom: 1.2rem;
    flex-shrink: 0;
    line-height: 1;
    padding: 0.5rem 0 0.6rem 0.9rem;
}

.CardSmall .main .expand img {
    width: 0.8rem;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.CardSmall .main .expand.is-show {
    gap: 0.5rem;
}

.CardSmall .main .expand.is-show img {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.Modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 2rem;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.Modal.is-show {
    display: -webkit-box;
    display: flex;
}

.Modal.is-visible {
    opacity: 1;
}

.Modal_title {
    color: var(--green);
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    padding: 1rem 1rem 1rem;
}

.Modal_close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 3rem;
    height: 3rem;
    background: white;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10000;
}

.Modal_close::before, .Modal_close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.6rem;
    height: 0.2rem;
    background: #333;
}

.Modal_close::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
}

.Modal_close::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
}

.Modal_content {
    background: white;
    width: 95%;
    max-height: 90%;
    overflow: scroll;
}

.ImageModal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9999;
    display: none;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.ImageModal.is-show {
    display: -webkit-box;
    display: flex;
}

.ImageModal.is-visible {
    opacity: 1;
}

.ImageModal_close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 3rem;
    height: 3rem;
    background: white;
    border-radius: 50%;
    cursor: pointer;
    z-index: 10000;
}

.ImageModal_close::before, .ImageModal_close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 1.6rem;
    height: 0.2rem;
    background: #333;
}

.ImageModal_close::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    -ms-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
}

.ImageModal_close::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    -ms-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
}

.ImageModal_content {
    max-width: 90%;
    max-height: 90%;
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.ImageModal_content.fix-height {
    margin-top: -15rem;
}

.is-visible .ImageModal_content {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.ImageModal_content .swiper {
    width: 100%;
    height: 100%;
    position: relative;
    --swiper-navigation-sides-offset: -0.5rem;
}

.ImageModal_content .swiper-slide {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 40rem;
}

.ImageModal_content .swiper-slide img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 80vh;
    object-fit: contain;
    object-position: center;
}

.ImageModal_content .swiper-button-prev,
.ImageModal_content .swiper-button-next {
    color: var(--gray-3);
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

.ImageModal_content .swiper-button-prev:hover,
.ImageModal_content .swiper-button-next:hover {
    opacity: 0.7;
}

.ImageModal_content .swiper-button-prev::after,
.ImageModal_content .swiper-button-next::after {
    font-size: 2rem;
}

.ImageModal_button {
    position: absolute;
    bottom: 4rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.ImageModal_footer {
    background: white;
    height: 19rem;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
}

.ImageModal_footer .Cta {
    margin: 1rem 2rem 0;
    width: unset;
}

.BannerList {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.7rem;
}

.BannerList_item img {
    width: 100%;
}

.PrefList_item {
    font-size: 1.3rem;
    line-height: 1;
}

.PrefList_item button {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    padding: 1.3rem;
    border-top: 1px solid #e3e8ea;
    border-bottom: 1px solid #e3e8ea;
}

.PrefList_item button svg {
    color: inherit;
    fill: var(--green);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.PrefList_item button.is-open svg {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    fill: #b9b9b9;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.PrefList_item + .PrefList_item {
    margin-top: -1px;
}

.PrefList_details {
    display: none;
}

.PrefList_detail a {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-left: 3rem;
    padding: 1.3rem 2rem 1.3rem 0;
}

.PrefList_detail a:after {
    display: block;
    content: "";
    width: 0.6rem;
    height: 1.2rem;
    background: center/cover no-repeat url("../img/ico-arrow-right-green.svg");
}

.PrefList_detail + .PrefList_detail a {
    border-top: 1px solid #e3e8ea;
}

/* page */
.A1_header {
    position: relative;
    -webkit-box-shadow: 0 0.3rem 0.15rem 0 rgba(0, 0, 0, 0.16);
    box-shadow: 0 0.3rem 0.15rem 0 rgba(0, 0, 0, 0.16);
    display: grid;
}

.A1_header .SectionTitle {
    border-bottom: 1px solid #e3e8ea;
    padding: 1.2rem 1.4rem;
}

.A1_header .selected {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 0 1.4rem 0 1.4rem;
    height: 4.3rem;
}

.A1_header .selected li {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.6rem;
    font-size: 0.9rem;
}

.A1_header .selected li a {
    color: var(--green);
}

.A1_header .selected li img {
    height: 2rem;
}

.A1_header .selected li + li {
    border-left: 1px solid #e3e8ea;
    padding-left: 1.2rem;
}

.A1_items {
    background: #eef4f7;
    padding: 0 0.8rem;
}

.A1_items .header {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    gap: 1rem;
    padding: 1.5rem 0 1rem;
}

.A1_items .header .sort {
    color: #666;
    border: 1px solid #b4c9d4;
    border-radius: 0.4rem;
    font-size: 1.3rem;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding: 0.4rem 3rem 0.4rem 1rem;
    background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%228%22%20height%3D%225%22%20viewBox%3D%220%200%208%205%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M3.89648%204.5L-0.000629425%200H7.7936L3.89648%204.5Z%22%20fill%3D%22%232FB3BC%22%2F%3E%3C%2Fsvg%3E") no-repeat right 1rem center;
    background-size: 1.2rem 0.6rem;
    cursor: pointer;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    margin-left: auto;
}

.A1_items .header small {
    font-size: 0.7rem;
}

.A1_items .header .js-note {
    display: none;
}

.A1_items .header .js-note.is-show {
    display: block;
}

.A1_items .items {
    display: grid;
    gap: 1.4rem;
}

.A1_items .end {
    font-weight: 600;
    color: #6a6a6a;
    text-align: center;
    margin: 2.6rem 0 4rem;
    line-height: 1;
    display: none;
}

.A1_conditions {
    display: grid;
    gap: 2.5rem;
    padding: 2rem 1rem;
}

.A1_conditions .wrapper {
    display: grid;
    gap: 1.5rem;
}

.A1_conditions .button-group {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.A1_conditions .option-button {
    padding: 0.6rem 1rem;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    border: 1px solid var(--green);
    border-radius: 100vh;
    display: block;
    color: #333;
}

.A1_conditions .option-button.selected {
    background: rgba(47, 179, 188, 0.4);
}

.A1_conditions .other-button {
    background: var(--green);
    color: white;
    font-size: 1.4rem;
    font-weight: 800;
    width: 26rem;
    height: 4rem;
    display: grid;
    place-items: center;
    border-radius: 0.4rem;
    margin: 2rem auto;
}

.A1_sticky {
    position: fixed;
    bottom: 0;
    left: 0;
    height: 6rem;
    width: 100%;
    background: rgba(10, 10, 10, 0.6);
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.8rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: opacity 0.2s ease, visibility 0.2s ease, -webkit-transform 0.2s ease;
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease, -webkit-transform 0.2s ease;
}

.A1_sticky.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

.A1_sticky .text {
    color: white;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.A1_sticky .text span {
    color: #ff8c03;
    font-weight: 700;
    font-size: 2.2rem;
    padding: 0 0.3rem 0.4rem;
}

.A1_sticky .button {
    background: #ff8c03;
    color: white;
    width: 18.2rem;
    height: 3.8rem;
    font-size: 1.2rem;
    font-weight: 800;
    display: grid;
    place-items: center;
    border-radius: 0.3rem;
}

.A1 .infinite_sentinel {
    height: 1px;
}

.A1_loader {
    display: none;
    padding: 24px 0;
    text-align: center;
}

.A1_loader.is-show {
    display: block;
}

.A1_loader-spinner {
    display: inline-block;
    width: 28px;
    height: 28px;
    border: 3px solid rgba(0, 0, 0, 0.15);
    border-top-color: rgba(0, 0, 0, 0.6);
    border-radius: 50%;
    animation: A1spin 0.8s linear infinite;
}

@keyframes A1spin {
    to {
        transform: rotate(360deg);
    }
}

.A2_header {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 1.2rem 1rem;
}

.A2_header_favorite {
    width: 2.55rem;
    height: 2.22rem;
    background: center/contain no-repeat url("../img/ico-heart.svg");
}

.A2_header_favorite.-filled {
    background-image: url("../img/ico-heart-fill.svg");
}

.A2_images .price {
    font-size: 1.2rem;
    padding: 0 1rem 0.5rem;
}

.A2_images .price em {
    font-size: 2.4rem;
    font-weight: 800;
}

.A2_images .price b {
    font-weight: 600;
}

.A2_images_container .main-swiper .swiper-slide {
    height: 24.8rem;
}

.A2_images_container .main-swiper .swiper-slide img {
    width: auto;
    height: 100%;
    object-fit: cover;
    margin: auto;
}

.A2_images_container .main-swiper .swiper-button-prev,
.A2_images_container .main-swiper .swiper-button-next {
    width: 1.8rem;
    height: 2.9rem;
}

.A2_images_container .main-swiper .swiper-button-prev svg,
.A2_images_container .main-swiper .swiper-button-next svg {
    display: none;
}

.A2_images_container .main-swiper .swiper-button-prev {
    background: center/contain no-repeat url("../img/ico-swiper-left.svg");
    left: 0;
}

.A2_images_container .main-swiper .swiper-button-next {
    background: center/contain no-repeat url("../img/ico-swiper-right.svg");
    right: 0;
}

.A2_images_container .thumbnail-swiper {
    margin-top: 1rem;
}

.A2_images_container .thumbnail-swiper .swiper-slide {
    height: 2.8rem;
    width: 2.8rem;
    opacity: 0.5;
}

.A2_images_container .thumbnail-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.A2_images_container .thumbnail-swiper .swiper-slide-thumb-active {
    opacity: 1;
}

.A2_images .ImageModal_content .swiper-slide {
    position: relative;
}

.A2_images .ImageModal_caption {
    position: absolute;
    width: 90%;
    bottom: 0;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1;
    text-align: center;
    word-break: break-word;
    z-index: 1;
}

.A2_info {
    padding: 2.8rem 1rem 0;
    display: grid;
    gap: 1.5rem;
    position: relative;
}

.A2_info_cta {
    padding-bottom: 0.4rem;
    position: relative;
}

.A2 .Cta-large {
    -webkit-box-shadow: 0 0.4rem 0 #c26a00;
    box-shadow: 0 0.4rem 0 #c26a00;
    overflow: unset;
}

.A2 .Cta-large .free {
    font-size: 1.4rem;
    border-radius: 0.3rem 0 0 0.3rem;
}

.A2 .Cta-large .text {
    font-size: 1.6rem;
}

.A2 .Cta-large .label {
    height: 2.2rem;
    position: absolute;
    top: -1.2rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 2;
}

.A2_info_banners {
    display: -webkit-box;
    display: flex;
    gap: 1rem;
}

.A2_info_banners li {
    width: 50%;
}

.A2_info_banners li img {
    width: 100%;
}

.A2_info_cashback img {
    width: 100%;
}

.A2_info_list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.7rem 0;
}

.A2_info_list li {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    font-size: 1rem;
    line-height: 1.3rem;
}

.A2_info_list li.full {
    grid-column: 1/-1;
}

.A2_info_list li.top {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

.A2_info_list .label {
    background: var(--gray-3);
    color: white;
    font-size: 0.9rem;
    width: 4rem;
    height: 2rem;
    display: grid;
    place-items: center;
}

.A2_pickup {
    display: grid;
    gap: 1rem;
    margin-top: 3rem;
    padding: 0 1rem;
}

.A2_pickup_list {
    gap: 1rem 0.6rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.A2_pickup_list li {
    border: 1px solid var(--green);
    color: var(--green);
    text-align: center;
    line-height: 1;
    padding: 0.6rem 0;
    font-size: 1.2rem;
}

.A2_pickup_images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
}

.A2_pickup_images .image {
    height: 17.5rem;
    display: block;
}

.A2_pickup_images .image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.A2_feature {
    margin-top: 2rem;
    padding: 0 1rem;
    display: grid;
    gap: 1.5rem;
}

.A2_feature_list {
    display: grid;
    place-items: center;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.A2_feature_button {
    width: 9.5rem;
    margin-top: 1rem;
    margin-left: auto;
}

.A2_feature_button img {
    width: 100%;
}

.A2_detail {
    padding: 0 1rem;
    margin-top: 1rem;
}

.A2_detail_header {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 1rem;
}

.A2_detail_button {
    width: 11rem;
}

.A2_detail_button img {
    width: 100%;
}

.A2_detail_info {
    display: grid;
    gap: 1.5rem;
    margin-top: 4rem;
}

.A2_detail_pr {
    position: relative;
    background: #f3feff;
    border: 1px solid var(--green);
    border-radius: 0.3rem;
    margin-top: 4rem;
    padding: 2.2rem;
    display: grid;
    gap: 2rem;
}

.A2_detail_pr .title {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.2rem;
    color: var(--green);
    font-size: 1.3rem;
    font-weight: bold;
    background: white;
    position: absolute;
    top: -1rem;
    left: 2rem;
}

.A2_detail_pr .title img {
    width: 1.4rem;
}

.A2_detail_pr .text {
    font-size: 1.2rem;
    line-height: 1.9rem;
}

.A2_other, .A2_company {
    padding: 0 1rem;
    margin-top: 3rem;
    display: grid;
    gap: 1.5rem;
}

.A2_recommend {
    margin-top: 3rem;
}

.A2_recommend_title {
    background: var(--green);
    color: white;
    font-weight: bold;
    font-size: 1.4rem;
    height: 3.5rem;
    width: 100%;
    padding: 0 2rem;
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.A2_recommend_contents {
    background: #eef4f7;
    padding: 1.6rem 1rem;
    display: grid;
    gap: 1.7rem;
}

.A2_table {
    font-size: 1.2rem;
    border: 1px solid #eeeeee;
    border-collapse: collapse;
    width: 100%;
}

.A2_table th,
.A2_table td {
    padding: 0.7rem;
}

.A2_table th {
    background: #f5f6f7;
    width: 35%;
    text-align: left;
    vertical-align: text-top;
}

.A2_table tr:nth-child(odd) td {
    background: #fafbfc;
}

.A2_end_content {
    padding: 2rem;
    text-align: center;
    display: grid;
    gap: 2rem;
}

.A2_end_content .lead {
    font-weight: 600;
    font-size: 2rem;
    line-height: 1.5;
}

.A2_end_banner_list {
    background: #eef4f7;
    padding: 3rem 1rem;
}

.A3 {
    position: relative;
    overflow: hidden;
}

.A3_items_expand {
    display: none;
}

.A3_chat {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem 2rem 16rem;
}

.A3_error {
    padding: 4px 8px;
    margin-bottom: 12px;
}

.A3_error.is-hidden {
    display: none;
}

.A3_error_text {
    margin: 0;
    font-size: 1.4rem;
    color: red;
    font-weight: bold;
}

.is-complete .A3_chat {
    padding-bottom: 3rem;
}

.A3_chat_header {
    font-size: 1.4rem;
    font-weight: normal;
    height: -moz-max-content;
    height: max-content;
}

.A3_chat_content {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    gap: 1rem;
}

.A3_chat_question {
    background: #f0f0f0;
    border-radius: 0.6rem;
    line-height: 1;
    font-weight: 500;
    padding: 1.2rem;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    height: -moz-max-content;
    height: max-content;
    display: none;
}

.A3_chat_question.is-active {
    display: block;
}

.is-complete .A3_chat_question {
    display: none;
}

.A3_chat_question .note {
    font-size: 0.9rem;
    color: #f00;
    display: block;
    margin-bottom: 0.5rem;
}

.A3_chat_answer {
    background: #eef4f7;
    border-radius: 0.6rem;
    padding: 1.2rem;
    margin-left: auto;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    min-width: 25.2rem;
    line-height: 1.4;
    position: relative;
    display: none;
}

.A3_chat_answer.is-active {
    display: block;
}

.is-complete .A3_chat_answer {
    display: block;
}

.A3_chat_answer .title {
    color: #7c7c7c;
    font-size: 1.2rem;
    font-weight: 500;
    display: block;
}

.A3_chat_answer .value {
    color: #262626;
    font-size: 1.5rem;
    font-weight: 700;
}

.A3_chat_answer .edit {
    color: var(--green);
    font-size: 1.2rem;
    position: absolute;
    top: 0.6rem;
    right: 1.2rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.A3_chat_answer .edit:before {
    content: "";
    display: inline-block;
    background: center/cover no-repeat url("../img/ico-pencil.svg");
    width: 1.2rem;
    height: 1.2rem;
}

.A3_chat_answer .edit:after {
    font-weight: 600;
    content: "編集";
    margin-left: 0.2rem;
}

.A3_chat_answer .edit.is-hidden {
    display: none;
}

.A3_chat_input {
    border-top: 1px solid #c6c6c6;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1.2rem 1rem;
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.7rem;
}

.is-complete .A3_chat_input {
    display: none;
}

.A3_chat_input_info {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.A3_chat_input_title {
    font-weight: 800;
    color: var(--green);
    line-height: 1;
}

.A3_chat_input_title em {
    font-size: 2.4rem;
}

.A3_chat_input_indicator {
    display: -webkit-box;
    display: flex;
    gap: 0.6rem;
}

.A3_chat_input_indicator i {
    width: 5.7rem;
    height: 1.2rem;
    background: #f2f2f2;
}

.A3_chat_input_indicator i.is-active {
    background: var(--green);
}

.A3_chat_input_actions {
    display: none;
    gap: 0.7rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.A3_chat_input_actions.is-active {
    display: -webkit-box;
    display: flex;
}

.A3_chat_input_actions .box {
    position: relative;
    z-index: 1;
    -webkit-box-flex: 1;
    flex: 1;
    height: 4.8rem;
}

.A3_chat_input_actions .input-field {
    padding: 1.5rem 5.5rem 0.5rem 1rem;
    background: transparent;
    border: 1px solid #ccc;
    border-radius: 0.4rem;
    font-size: 1.6rem;
    width: 100%;
    height: 4.8rem;
    position: relative;
}

.A3_chat_input_actions .email-domains {
    position: absolute;
    z-index: 1000;
    left: 0;
    bottom: 1rem;
    width: 26.2rem;
    height: 13.9rem;
    display: none;
}

.A3_chat_input_actions .email-domains.is-show {
    display: block;
}

.A3_chat_input_actions .email-domains table {
    background: white;
    border: 1px solid #b4c9d4;
    border-collapse: collapse;
    width: 100%;
}

.A3_chat_input_actions .email-domains table td {
    border: 1px solid #b4c9d4;
    font-size: 1.2rem;
    padding: 0.3rem 1rem;
    font-weight: 500;
    cursor: pointer;
}

.A3_chat_input_actions .placeholder {
    position: absolute;
    left: 1.5rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 0;
    color: #ccc;
    pointer-events: none;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    line-height: 1.2;
    height: 4.8rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.A3_chat_input_actions .placeholder .small-text {
    font-size: 1.2rem;
}

.A3_chat_input_actions .placeholder .normal-text {
    font-size: 1.4rem;
}

.A3_chat_input_actions .error {
    font-size: 1.1rem;
    color: red;
    position: absolute;
    left: 1.2rem;
    top: 0.1rem;
    display: none;
}

.A3_chat_input_actions .error.is-show {
    display: block;
}

.A3_chat_input_actions .label {
    position: absolute;
    right: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #afafaf;
    color: white;
    padding: 0.2rem 0.6rem;
    font-size: 1.2rem;
    font-weight: bold;
    z-index: 2;
}

.A3_chat_input_actions .label.required {
    background: red;
}

.A3_chat_input_actions .submit-button {
    padding: 0 2rem;
    background-color: var(--green);
    color: white;
    font-size: 1.3rem;
    font-weight: bold;
    border-radius: 0.4rem;
    height: 4.2rem;
    display: grid;
    place-items: center;
}

.A3_chat_input .box.is-error .input-field {
    background: #ffe9e9;
}

.A3_chat_input .box.is-error .placeholder {
    display: none;
}

.A3_chat_input .box.is-error .error {
    display: block;
}

.A3_chat_skip {
    width: 16rem;
    height: 4.5rem;
    font-size: 1.5rem;
    display: none;
    place-items: center;
    border: 1px solid #333;
    border-radius: 0.5rem;
    margin: 1rem auto 0;
}

.A3_chat_skip.is-active {
    display: grid;
}

.is-complete .A3_chat_skip {
    display: none;
}

.A3_complete {
    margin-top: 2rem;
    display: none;
}

.is-complete .A3_complete {
    display: block;
}

.A3_complete_header {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    display: grid;
    gap: 1.5rem;
    margin-bottom: 2rem;
}

.A3_complete_title {
    background: var(--green);
    font-size: 1.4rem;
    font-weight: bold;
    height: 3.5rem;
    padding: 0 1rem;
    color: white;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.A3_complete_header .confirm_text {
    font-size: 1.2rem;
}

.A3_complete_title .button {
    height: 2.4rem;
    width: 7rem;
    display: grid;
    place-items: center;
    line-height: 1;
    background: white;
    color: var(--green);
    font-size: 1.2rem;
    border-radius: 0.4rem;
}

.A3_complete_table {
    border-collapse: collapse;
    width: 100%;
}

.A3_complete_table th,
.A3_complete_table td {
    border: 1px solid #eee;
    padding: 1rem;
}

.A3_complete_table th {
    background: #f5f6f7;
    font-weight: normal;
    font-size: 1.2rem;
    text-align: left;
    width: 30%;
}

.A3_complete_table td {
    font-size: 1.4rem;
    font-weight: bold;
}

.A3_complete_addition {
    background: #eef4f7;
    padding-bottom: 1rem;
}

.A3_complete_addition_title {
    width: 100%;
    margin-top: -1px;
}

.A3_complete_addition_title img {
    width: 100%;
}

.A3_complete_addition_items {
    display: grid;
    gap: 1rem;
    padding: 0 1rem 2rem;
}

.A3_complete_addition_note {
    font-size: 1rem;
    padding: 0 1rem;
}

.A3_complete_addition_note a {
    color: var(--green);
    text-decoration: underline;
}

.A3_complete_addition .Button {
    width: 30rem;
    margin-top: 1rem;
}

.A3_complete_addition .Button.js-submit-contact[disabled], .A3_done_recommend .Button.js-submit-recommend[disabled] {
    background-color: #ccc;
    border-color: #ccc;
    color: #666;
}

.A3_complete_addition .Button.js-submit-contact.is-loading, .A3_done_recommend .Button.js-submit-recommend.is-loading {
    opacity: 0.6;
    cursor: not-allowed;
}

.A3_complete_addition .Button.js-submit-contact .Button_inner, .A3_done_recommend .Button.js-submit-recommend .Button_inner {
    display: inline-flex;
    align-items: center;
}


.A3_complete_addition .Button.js-submit-contact .Button_spinner, .A3_done_recommend .Button.js-submit-recommend .Button_spinner {
    width: 1em;
    height: 1em;
    margin-right: 0.5em;
    border: 2px solid currentColor;
    border-top-color: transparent;
    border-radius: 50%;
    animation: button_spin 0.8s linear infinite;
    display: inline-block;
}

.A3_complete_addition .Button.js-submit-contact .Button_spinner.is-hidden, .A3_done_recommend .Button.js-submit-recommend .Button_spinner.is-hidden {
    display: none;
}

@keyframes button_spin {
    to {
        transform: rotate(360deg);
    }
}

.A3_done_content {
    padding: 4rem 1rem;
    text-align: center;
    display: grid;
    gap: 2rem;
}

.A3_done_steps {
    width: 28.8rem;
    margin: 0 auto;
}

.A3_done_steps img {
    width: 100%;
}

.A3_done_title {
    font-size: 1.8rem;
    color: var(--green);
    font-weight: bold;
}

.A3_done_title_error {
    font-size: 2rem;
    color: red;
    font-weight: 500;
    line-height: 1.5;
}

.A3_done_text {
    font-size: 1rem;
    line-height: 1.5;
}

.A3_done_recommend {
    padding-bottom: 1rem;
}

.A3_done_recommend_items {
    background: #eef4f7;
    padding: 1rem 1rem 2rem;
    display: grid;
    gap: 1rem;
}

.A3_done_recommend .Button {
    width: 30rem;
    margin-top: 1rem;
}

.A3_done_failed_title {
    height: 5rem;
    display: grid;
    place-items: center;
    font-size: 1.4rem;
    font-weight: bold;
    color: red;
    background: #ffebeb;
}

.A3_edit_modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1000;
    display: none;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.A3_edit_modal.is-show {
    display: -webkit-box;
    display: flex;
}

.A3_edit_modal.is-visible .A3_edit_modal_overlay {
    opacity: 1;
}

.A3_edit_modal.is-visible .A3_edit_modal_content {
    opacity: 1;
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

.A3_edit_modal_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.A3_edit_modal_content {
    position: relative;
    z-index: 1;
    background: #eef4f7;
    border-radius: 0.5rem;
    padding: 3rem 1.5rem;
    width: 30rem;
    height: 15rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    gap: 2rem;
    opacity: 0;
    -webkit-transform: scale(0.9);
    -ms-transform: scale(0.9);
    transform: scale(0.9);
    -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

.A3_edit_modal_title {
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
    color: #262626;
}

.A3_edit_modal_input {
    display: -webkit-box;
    display: flex;
    gap: 0.7rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
}

.A3_edit_modal_input .input-field {
    -webkit-box-flex: 1;
    flex: 1;
    padding: 1rem;
    border: 1px solid #ccc;
    border-radius: 0.4rem;
    font-size: 1.6rem;
    background: white;
    width: 100%;
}

.A3_edit_modal_input .confirm-button {
    padding: 1rem 1.5rem;
    background: var(--green);
    color: white;
    font-size: 1.3rem;
    font-weight: bold;
    border-radius: 0.4rem;
    white-space: nowrap;
}

.A3_edit_modal_error {
    font-size: 1.1rem;
    color: red;
    min-height: 1.5rem;
    margin-top: -0.5rem;
    display: none;
}

.A3_edit_modal_error.is-show {
    display: block;
}

.B1_title {
    background: #eef4f7;
    font-size: 1.8rem;
    line-height: 1;
    padding: 2rem;
    text-align: center;
    font-weight: bold;
}

.B2 {
    background: #eef4f7;
    padding-bottom: 4rem;
}

.B2 small {
    font-size: 0.8rem;
    color: #627279;
    text-align: center;
}

.B2_content {
    display: grid;
    gap: 3rem;
    padding: 0 1.3rem;
}

.B2_section {
    display: grid;
    gap: 1rem;
    counter-reset: ranking;
}

.B2_top {
    display: grid;
    gap: 1.5rem;
    padding: 1.5rem 0 0;
}

.B2_top_header {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.B2_top_header_pref {
    font-size: 1.2rem;
    font-weight: bold;
}

.B2_top_cards {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.6rem;
}

.B2_top_card {
    width: 16.6rem;
    height: 11.5rem;
    display: grid;
    place-items: center;
    background: white;
    -webkit-box-shadow: 0 2px 2px 0 rgba(185, 202, 209, 0.6);
    box-shadow: 0 2px 2px 0 rgba(185, 202, 209, 0.6);
    border-radius: 2rem;
}

.B2_top_card_content {
    display: grid;
    place-items: center;
    gap: 1rem;
}

.B2_top_card_content_image {
    width: 5.4rem;
    height: 4.7rem;
}

.B2_top_card_content_image img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.B2_ranking {
    display: grid;
    gap: 1.2rem;
    padding-bottom: 0.4rem;
}

.B2_ranking-expand {
    display: grid;
    grid-template-rows: 0fr;
    -webkit-transition: grid-template-rows 0.3s ease;
    transition: grid-template-rows 0.3s ease, -ms-grid-rows 0.3s ease;
}

.B2_ranking-expand.is-open {
    grid-template-rows: 1fr;
}

.B2_ranking-expand > div {
    overflow: hidden;
}

.B2_ranking_item {
    background: white;
    border-radius: 1rem;
    -webkit-box-shadow: 0 0.2rem 0.2rem 0 rgba(185, 202, 209, 0.6);
    box-shadow: 0 0.2rem 0.2rem 0 rgba(185, 202, 209, 0.6);
    counter-increment: ranking;
}

.B2_ranking_item a {
    display: grid;
    align-content: center;
    height: 5.8rem;
    padding-left: 6.3rem;
    position: relative;
}

.B2_ranking_item a:before {
    content: counter(ranking);
    position: absolute;
    width: 2.6rem;
    height: 5.2rem;
    top: 0;
    left: 2.4rem;
    background: center/cover no-repeat url("../img/img-ranking.svg");
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-weight: bold;
    color: white;
    font-size: 1.7rem;
}

.B2_ranking_item a:after {
    width: 0.7rem;
    height: 1.2rem;
    display: block;
    content: "";
    background: center/contain no-repeat url("../img/ico-arrow.svg");
    position: absolute;
    right: 1.5rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    pointer-events: none;
}

.B2_ranking_item-top1 a:before {
    background-image: url("../img/img-ranking-1.svg");
}

.B2_ranking_item-top2 a:before {
    background-image: url("../img/img-ranking-2.svg");
}

.B2_ranking_item-top3 a:before {
    background-image: url("../img/img-ranking-3.svg");
}

.B2_tabs {
    margin-top: 4rem;
    display: grid;
    gap: 1rem;
}

.B2_tabs .SectionTitle {
    padding: 0 1.3rem;
}

.B2_tabs_tab {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.2rem;
    border-radius: 1rem 1rem 0 0;
    overflow: hidden;
    margin: 0 1.3rem;
}

.B2_tabs_item {
    background: #375b6d;
    height: 6.3rem;
    display: grid;
    place-items: center;
}

.B2_tabs_item_button {
    gap: 0.2rem;
    width: 100%;
    height: 100%;
    font-size: 1.2rem;
    color: var(--green);
}

.B2_tabs_item_button svg {
    width: 2.5rem;
    margin: 0 auto 0.2rem;
}

.B2_tabs_item_button span {
    color: white;
}

.B2_tabs_item_button.is-active {
    background: #dce7ec;
    color: #617781;
    pointer-events: none;
}

.B2_tabs_item_button.is-active span {
    color: #617781;
}

.B2_tabs_wrapper {
    background: #dce7ec;
    display: grid;
    gap: 1rem;
    padding: 0 0 3rem;
}

.B2_tabs_content {
    display: none;
}

.B2_tabs_content.is-show {
    display: block;
}

.B2_tabs_label {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    overflow-x: scroll;
    gap: 0.5rem;
    padding: 1rem;
}

.B2_tabs_label_button {
    background: white;
    height: 2.5rem;
    display: grid;
    place-items: center;
    padding: 0 1.2rem;
    font-size: 0.9rem;
    color: #375b6d;
    font-weight: bold;
    border-radius: 100vh;
    white-space: nowrap;
}

.B2_tabs_label_button.is-active {
    background: var(--green);
    color: white;
}

.B2_room_panel {
    display: none;
}

.B2_room_panel.is-show {
    display: block;
}

.B2_room_panel .B2_tabs_detail {
    background: white;
    margin: 0 0.8rem;
    padding: 1.5rem;
    gap: 1.7rem;
    display: grid;
}

.B2_tabs_detail_item {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    gap: 1rem;
}

.B2_tabs_detail_link {
    color: var(--green);
    text-decoration: underline;
    font-size: 0.9rem;
    width: 30%;
}

.B2_tabs_detail_price {
    font-size: 1.2rem;
    line-height: 1;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
}

.is-highest .B2_tabs_detail_price:after {
    width: 4.8rem;
    height: 1.6rem;
    background: center/contain no-repeat url("../img/img-highest.svg");
    display: block;
    content: "";
}

.is-lowest .B2_tabs_detail_price:after {
    width: 4.8rem;
    height: 1.6rem;
    background: center/contain no-repeat url("../img/img-lowest.svg");
    display: block;
    content: "";
}

.B2_tabs_detail_price_number {
    font-size: 1.4rem;
    font-weight: bold;
    padding-right: 0.2rem;
}

.B2_tabs_detail_info {
    width: 100%;
    display: grid;
    gap: 0.3rem;
}

.B2_tabs_detail_bar {
    background: var(--green);
    height: 0.5rem;
    width: 100%;
    display: block;
}

.is-highest .B2_tabs_detail_bar {
    background: #ff5b5b;
}

.is-lowest .B2_tabs_detail_bar {
    background: #99cfff;
}

.Button-all.is-open img {
    display: none;
}

.B2_tabs_expand {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.45s ease;
}

.B2_tabs_expand.is-open {
    grid-template-rows: 1fr;
}

.B2_tabs_expand > div {
    overflow: hidden;
}

.B2_tabs_expand .B2_tabs_detail {
    margin: 0 0.8rem;
    padding: 0 1.5rem 1.5rem;
    gap: 1.7rem;
    display: grid;
}

.B2_trend {
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    overflow: hidden;
    width: 100%;
    position: relative;
    padding-left: 4.3rem;
}

.B2_trend_header {
    padding: 1.6rem 1.3rem 0;
}

.B2_trend_detail li {
    background: #eef4f7;
    font-size: 1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    height: 2rem;
    line-height: 2rem;
    padding: 0 1rem;
    max-width: 14.4rem;
}

.B2_trend_detail li.small {
    font-size: 0.9rem;
}

.B2_trend_detail li:nth-child(even) {
    background: white;
}

.B2_trend_detail-title {
    position: absolute;
    bottom: 1.7rem;
    left: 0;
}

.B2_trend_detail-title li {
    font-size: 0.8rem;
    font-weight: 600;
    color: #497a7d;
    background: #d4e4eb;
    width: 4.3rem;
    place-items: center;
    text-align: center;
    padding: 0;
}

.B2_trend_detail-title li:nth-child(even) {
    background: #eef4f7;
}

.B2_trend_items {
    display: -webkit-box;
    display: flex;
    gap: 1rem;
    overflow-x: auto;
    padding-bottom: 0.2rem;
}

.B2_trend_item {
    background: white;
    -webkit-box-shadow: 0 0.2rem 0.2rem 0 rgba(185, 202, 209, 0.6);
    box-shadow: 0 0.2rem 0.2rem 0 rgba(185, 202, 209, 0.6);
    border-radius: 0.4rem;
    flex-shrink: 0;
    width: 14.4rem;
    padding-bottom: 1.5rem;
}

.B2_trend_item_header {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1rem;
    padding: 2rem 0.7rem 1rem;
    min-width: 0;
}

.B2_trend_item_header span {
    font-size: 1rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    -webkit-box-flex: 1;
    flex: 1;
    font-weight: bold;
}

.B2_trend_item_header .Favorite {
    width: 1.7rem;
    height: 1.4rem;
    flex-shrink: 0;
}

.B2_trend_item_image {
    width: 100%;
    height: 10rem;
}

.B2_trend_item_image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

.B3 {
    background: #eef4f7;
    padding: 5rem 0 6rem;
}

.B3_content {
    display: grid;
    gap: 2rem;
    padding: 0 1.3rem;
}

.B3_title {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.5rem;
}

.B3_title svg {
    display: block;
    width: 2rem;
    height: 2rem;
}

.B3_top {
    display: grid;
    gap: 1.5rem;
    padding: 1.5rem 0 0;
}

.B3_top_header {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.B3_top_header_pref {
    font-size: 1.2rem;
    font-weight: bold;
}

.B3_top_cards {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 1.6rem;
}

.B3_top_card {
    width: 16.6rem;
    height: 11.5rem;
    display: grid;
    place-items: center;
    background: white;
    -webkit-box-shadow: 0 2px 2px 0 rgba(185, 202, 209, 0.6);
    box-shadow: 0 2px 2px 0 rgba(185, 202, 209, 0.6);
    border-radius: 2rem;
}

.B3_top_card_content {
    display: grid;
    place-items: center;
    gap: 1rem;
}

.B3_top_card_content_image {
    width: 5.4rem;
    height: 4.7rem;
}

.B3_top_card_content_image img {
    object-fit: contain;
    width: 100%;
    height: 100%;
}

.B4_header {
    padding: 1.2rem 1rem 1rem;
    display: grid;
    gap: 1rem;
}

.B4_header .small {
    font-size: 0.9rem;
    line-height: 1.4;
}

.B4_title {
    display: -webkit-box;
    display: flex;
    gap: 0.2rem;
}

.B4_title span {
    height: 2.4rem;
    display: block;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #e1e8e9;
    font-size: 1.1rem;
    padding: 0 1rem;
    font-weight: 600;
}

.B4_title span:nth-child(1) {
    -webkit-box-flex: 1;
    flex: 1;
}

.B4_title span:nth-child(2) {
    width: 7.7rem;
    text-align: center;
    flex-shrink: 0;
}

.B4_list {
    display: grid;
}

.B4_list_item {
    padding-left: 3rem;
}

.B4_list_item + .B4_list_item .B4_list_label {
    border-top: 1px solid #e3e8ea;
}

.B4_list_item.is-selected {
    background: #f9f9f9;
}

.B4_list_label {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    padding: 1.5rem 0;
}

.B4_list_label .Checkbox {
    width: 2.4rem;
    height: 2.4rem;
    border-width: 0.2rem;
}

.B4_list_label .Checkbox:checked {
    background-size: 1.5rem;
}

.B4_list_label .text {
    font-size: 1.3rem;
    margin-left: 0.6rem;
}

.B4_list_label .count {
    font-size: 1rem;
    color: #6a6a6a;
    margin-left: 0.4rem;
}

.B4_list_label .avg-rent {
    position: absolute;
    font-size: 1.3rem;
    right: 1.5rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: grid;
    line-height: 1.2;
    text-align: right;
}

.B4_list_label .avg-rent.is-highest {
    font-weight: bold;
}

.B4_list_label .avg-rent.is-highest:after {
    content: "最も高い";
    font-size: 1rem;
    text-align: right;
}

.B4_list_label .avg-rent.is-lowest {
    font-weight: bold;
}

.B4_list_label .avg-rent.is-lowest:after {
    content: "最も安い";
    font-size: 1rem;
    text-align: right;
}

.B4_buttons {
    display: -webkit-box;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    background: rgba(0, 0, 0, 0.5);
    height: 6rem;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: none;
}

.B4_buttons .Button-action {
    color: white;
    font-weight: bold;
    display: grid;
    place-items: center;
    border-radius: 0.4rem;
    width: 16rem;
    height: 4rem;
    font-size: 1.6rem;
    margin: unset;
}

.B5_header {
    padding: 1.2rem 1rem 1rem;
    display: grid;
    gap: 1rem;
}

.B5_header .small {
    font-size: 0.9rem;
    line-height: 1.4;
}

.B5_title {
    display: -webkit-box;
    display: flex;
    gap: 0.2rem;
}

.B5_title span {
    height: 2.4rem;
    display: block;
    display: -webkit-box;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #e1e8e9;
    font-size: 1.1rem;
    padding: 0 1rem;
    font-weight: 600;
}

.B5_title span:nth-child(1) {
    -webkit-box-flex: 1;
    flex: 1;
}

.B5_title span:nth-child(2) {
    width: 7.7rem;
    text-align: center;
    flex-shrink: 0;
}

.B5_expand_item {
    border-bottom: 1px solid #e3e8ea;
}

.B5_expand_item svg {
    width: 2rem;
    color: inherit;
    fill: var(--green);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: absolute;
    right: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.B5_expand_item.is-expand svg {
    -webkit-transform: translateY(-50%) rotate(-180deg);
    -ms-transform: translateY(-50%) rotate(-180deg);
    transform: translateY(-50%) rotate(-180deg);
    fill: #b9b9b9;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.B5_expand_item > label {
    border-bottom: 1px solid #e3e8ea;
    padding: 1.5rem 1rem;
}

.B5_list {
    display: none;
}

.B5_list.is-show {
    display: grid;
}

.B5_list_item {
    padding-left: 3rem;
}

.B5_list_item + .B5_list_item .B5_list_label {
    border-top: 1px solid #e3e8ea;
}

.B5_list_item.is-selected {
    background: #f9f9f9;
}

.B5_list_label {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
    padding: 1.5rem 0;
}

.B5_list_label .Checkbox {
    width: 2.4rem;
    height: 2.4rem;
    border-width: 0.2rem;
}

.B5_list_label .Checkbox:checked {
    background-size: 1.5rem;
}

.B5_list_label .text {
    font-size: 1.3rem;
    margin-left: 0.6rem;
}

.B5_list_label .count {
    font-size: 1rem;
    color: #6a6a6a;
    margin-left: 0.4rem;
}

.B5_list_label .avg-rent {
    position: absolute;
    font-size: 1.3rem;
    right: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    display: grid;
    line-height: 1.2;
    text-align: right;
}

.B5_list_label .avg-rent.is-highest {
    font-weight: bold;
}

.B5_list_label .avg-rent.is-highest:after {
    content: "最も高い";
    font-size: 1rem;
    text-align: right;
}

.B5_list_label .avg-rent.is-lowest {
    font-weight: bold;
}

.B5_list_label .avg-rent.is-lowest:after {
    content: "最も安い";
    font-size: 1rem;
    text-align: right;
}

.B5_buttons {
    display: -webkit-box;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    background: rgba(0, 0, 0, 0.5);
    height: 6rem;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    display: none;
}

.B5_buttons .Button-action {
    color: white;
    font-weight: bold;
    display: grid;
    place-items: center;
    border-radius: 0.4rem;
    width: 16rem;
    height: 4rem;
    font-size: 1.6rem;
    margin: unset;
}

.B6 {
    background: #eef4f7;
    padding: 1.6rem 1rem 2rem;
    display: grid;
    gap: 2rem;
    position: relative;
}

.B6_content {
    display: grid;
    gap: 0.5rem;
}

.B6_title {
    font-size: 1.2rem;
    font-weight: bold;
    padding-left: 1rem;
}

.B6_card {
    background: white;
    -webkit-box-shadow: 0 2px 2px 0 rgba(185, 202, 209, 0.6);
    box-shadow: 0 2px 2px 0 rgba(185, 202, 209, 0.6);
    border-radius: 0.5rem;
    padding: 1.6rem;
}

.B6_card-condition {
    border: 1px solid #b4c9d4;
    padding: 1rem;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-start;
    align-items: center;
    gap: 0.5rem;
    -webkit-box-shadow: unset;
    box-shadow: unset;
}

.B6_labels {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.3rem 0.2rem;
    flex: 1 1 auto;
    min-width: 0;
    max-height: 6.9rem;
    overflow: auto;
}

.B6_label {
    background: #ededed;
    color: #6e6e6e;
    border-radius: 100vh;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
}

.B6_label.placeholder {
    background: transparent !important;
    border: none;
    color: #777;
    font-weight: 400;
    padding: .4rem .6rem;
    border-radius: .6rem;
}

.B6_reset {
    background: #868686;
    color: white;
    border-radius: 0.3rem;
    width: 6.6rem;
    min-height: 4.3rem;
    flex: 0 0 auto;
    height: auto;
    display: grid;
    place-items: center;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.2;
}

.B6_checkboxes {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}

.B6_checkbox {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
}

.B6_checkbox_text {
    font-size: 1.2rem;
}

.B6_expand {
    display: none;
}

.B6_expand > .B6_content {
    margin-top: 2rem;
}

.B6_expand > .B6_content:first-child {
    margin-top: 0;
}

.B6_buttons {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    background: rgba(0, 0, 0, 0.5);
    height: 6rem;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
}

.B6_buttons .Button-action {
    color: white;
    font-weight: bold;
    display: grid;
    place-items: center;
    border-radius: 0.4rem;
    width: 19rem;
    height: 4rem;
    font-size: 1.6rem;
    margin: unset;
    line-height: 1.2;
    text-align: center;
}

.B6_count {
    min-width: 10.5rem;
    color: white;
    font-weight: bold;
    display: grid;
    place-items: center;
    height: 4rem;
    text-align: center;
    line-height: 1;
    flex-shrink: 0;
}

.B6_count[hidden] {
    display: none;
}

.B6_count_text {
    display: inline-block;
    font-size: 1.8rem;
    white-space: nowrap;
}

.B6_count[hidden] + .Button-action {
    width: 30rem;
}

.B6 .slider {
    padding: 0 0.5rem;
}

.B6 .slider-price {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 1rem;
}

.B6 .slider-price__val {
    width: 6.5rem;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
    white-space: nowrap;
}

.B6 .slider-range {
    margin-bottom: 0.5rem;
}

.B6 .slider-range:nth-child(2) {
    padding: 0 1.1rem;
}

.B6 .slider-scale {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 1rem;
}

.B6 .slider-price__scale {
    font-size: 1.1rem;
}

.B6 #range.noUi-target,
.B6 #range-walk.noUi-target,
.B6 #range-building.noUi-target,
.B6 #range-area.noUi-target {
    background: #e0e0e0;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    height: 0.8rem;
    border-radius: 0.3rem;
}

.B6 #range .noUi-connect,
.B6 #range-walk .noUi-connect,
.B6 #range-building .noUi-connect,
.B6 #range-area .noUi-connect {
    background: var(--green);
    border-radius: 100vh;
}

.B6 #range .noUi-handle,
.B6 #range-walk .noUi-handle,
.B6 #range-building .noUi-handle,
.B6 #range-area .noUi-handle {
    width: 2.2rem;
    height: 2.2rem;
    border-radius: 100%;
    background: #efefef;
    border: 0.2rem solid var(--green);
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    cursor: pointer;
    top: -0.7rem;
    right: -1.1rem;
}

.B6 #range .noUi-handle::before, .B6 #range .noUi-handle::after,
.B6 #range-walk .noUi-handle::before,
.B6 #range-walk .noUi-handle::after,
.B6 #range-building .noUi-handle::before,
.B6 #range-building .noUi-handle::after,
.B6 #range-area .noUi-handle::before,
.B6 #range-area .noUi-handle::after {
    display: none;
}

.B6 #range .noUi-handle:focus,
.B6 #range-walk .noUi-handle:focus,
.B6 #range-building .noUi-handle:focus,
.B6 #range-area .noUi-handle:focus {
    outline: none;
}

.B6 #range.noUi-horizontal .noUi-handle,
.B6 #range-walk.noUi-horizontal .noUi-handle,
.B6 #range-building.noUi-horizontal .noUi-handle,
.B6 #range-area.noUi-horizontal .noUi-handle {
    right: -1.1rem;
}

.C1_header, .C2_header {
    padding: 1.2rem 1rem;
}

.C1_header .SectionTitle, .C2_header .SectionTitle {
    height: 4.4rem;
}

.C1_header_wrapper, .C2_header_wrapper {
    padding: 0 1rem 1rem;
    display: grid;
    gap: 1rem;
}

.C1_header_num, .C2_header_num {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.5rem;
}

.C1_header_num img, .C2_header_num img {
    width: 1.9rem;
}

.C1_header select, .C2_header select {
    border: 1px solid #b4c9d4;
    width: 100%;
    height: 3.5rem;
    border-radius: 0.4rem;
    font-size: 1.3rem;
    padding: 0 1rem;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-size: 1.8rem 0.8rem;
    background: white url("../img/ico-arrow-bottom-green.svg") no-repeat right 1rem center;
    font-weight: 500;
}

.C2_header .button {
    height: 4.7rem;
    border-radius: 0.4rem;
    display: grid;
    place-items: center;
    background: var(--green);
    color: white;
    font-size: 1.4rem;
    font-weight: bold;
    position: relative;
}

.C2_header .button::after {
    content: "";
    position: absolute;
    bottom: -1rem;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 1.2rem solid transparent;
    border-right: 1.2rem solid transparent;
    border-top: 1.2rem solid var(--green);
}

.C2_header .button.is-disabled {
    background: #b9b9b9;
    pointer-events: none;
}

.C2_header .button.is-disabled:after {
    border-top-color: #b9b9b9;
}

.C1_content, .C2_content {
    background: #eef4f7;
    padding: 1.5rem 0.8rem 3rem;
    display: grid;
    gap: 1.5rem;
}

.C1_content_texts, .C2_content_texts {
    display: grid;
    gap: 1rem;
}

.C1_content_texts p, .C2_content_texts p {
    font-size: 1.1rem;
}

.C1_content_texts small, .C2_content_texts small {
    font-size: 1rem;
    line-height: 1.2;
}

.C1_content_items, .C2_content_items {
    display: grid;
    gap: 2rem;
}

.C1_content_items .Checkbox[disabled], .C2_content_items .Checkbox[disabled] {
    background-color: #ccc;
    border-color: #ccc;
    color: #666;
}

.C1_buttons {
    display: -webkit-box;
    display: grid;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    background: rgba(0, 0, 0, 0.5);
    height: 6rem;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
    opacity: 0;
}

.C1_buttons .Button-action {
    color: white;
    font-weight: bold;
    display: grid;
    place-items: center;
    border-radius: 0.4rem;
    width: 34rem;
    height: 4rem;
    font-size: 1.6rem;
    margin: unset;
    line-height: 1.2;
    text-align: center;
}

.C1_buttons.is-active {
    opacity: 1;
}

.C1_bulk_check {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    line-height: 1.4;
    cursor: pointer;
    margin-bottom: -4px;
}

/* 吹き出しの枠線部分 */
.C1_bulk_check::before {
    content: "";
    position: absolute;
    left: 7px;
    bottom: -10px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #e5e7eb;
}

/* 吹き出しの白い中身部分 */
.C1_bulk_check::after {
    content: "";
    position: absolute;
    left: 8px;
    bottom: -8px;
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-top: 9px solid #ffffff;
}

.C3 {
    padding: 4.5rem 1rem;
}

.C3_table {
    font-size: 1.1rem;
    text-align: left;
    width: 100%;
    margin-top: 2.4rem;
}

.C3_table th,
.C3_table td {
    padding: 1rem;
    border: 1px solid #cccccc;
    background: #f5f6f7;
    font-weight: normal;
}

.C3_table .top {
    vertical-align: top;
}

.C3_table tr:nth-child(even) th,
.C3_table tr:nth-child(even) td {
    background: #e0e0e0;
}

.C4 {
    padding: 4.5rem 1rem;
}

.C4 .toc {
    border: 1px solid #ccc;
    border-radius: 0.5rem;
    margin-bottom: 2rem;
    margin-top: 2.4rem;
}

.C4 .toc .toc-checkbox {
    display: none;
}

.C4 .toc .toc-title {
    display: block;
    padding: 1rem;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: normal;
    text-align: center;
}

.C4 .toc .toc-content {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease-out;
    transition: max-height 0.3s ease-out;
}

.C4 .toc .toc-list {
    padding: 0 2rem 1rem;
    counter-reset: toc-counter;
}

.C4 .toc .toc-list li {
    padding: 0.2rem 0;
    counter-increment: toc-counter;
}

.C4 .toc .toc-list li a {
    color: var(--green);
    text-decoration: none;
    font-weight: 500;
    font-size: 1.3rem;
}

.C4 .toc .toc-list li a span {
    width: 7.5rem;
    display: inline-block;
}

.C4 .toc .toc-list li a {
    width: 9rem;
}

.C4 .toc .toc-checkbox:checked ~ .toc-content {
    max-height: 100rem;
}

.C4 .toc-title::after {
    content: "[開く]";
    margin-left: 0.5em;
    cursor: pointer;
    font-size: 1.1rem;
}

.C4 .toc-checkbox:checked + .toc-title::after {
    content: "[閉じる]";
}

.C4_title {
    font-size: 1.8rem;
    font-weight: bold;
    padding: 2rem 1rem;
    background: #f5f5f5;
}

.C4_title span {
    display: block;
    padding-left: 1rem;
    border-left: 4px solid var(--green);
    line-height: 1.2;
}

.C4_wrapper {
    display: grid;
    gap: 4rem;
}

.C4_content {
    display: grid;
    gap: 1.5rem;
}

.C4_item {
    position: relative;
    padding-left: 2rem;
}

.C4_num {
    position: absolute;
    left: 0;
    top: 0.1rem;
}

.C4_sub {
    padding-left: 2rem;
    margin-bottom: 1rem;
    line-height: 1.8;
    text-indent: -1.5rem;
    margin-left: 1.5rem;
}

.C4_sub_list {
    padding-left: 2rem;
    margin-bottom: 1rem;
    line-height: 1.8;
}

.C4_sub_list li {
    padding-left: 2rem;
    text-indent: -2rem;
}

.C4 .entry-content p {
    line-height: 1.6;
}

.C5 {
    padding: 4.5rem 1rem 6rem;
}

.C5_text {
    font-size: 1.4rem;
    margin-block: 2.4rem;
}

.C5_form {
    display: grid;
    gap: 1.5rem;
}

.C5_form_item {
    display: grid;
    gap: 0.5rem;
}

.C5_form_input, .C5_form_textarea {
    width: 100%;
    padding: 1rem;
    border: 1px solid #b4c9d4 !important;
    border-radius: 0.4rem;
    font-size: 1.4rem;
}

.C5_form_input::-webkit-input-placeholder, .C5_form_textarea::-webkit-input-placeholder {
    color: #aaa;
}

.C5_form_input::-moz-placeholder, .C5_form_textarea::-moz-placeholder {
    color: #aaa;
}

.C5_form_input:-ms-input-placeholder, .C5_form_textarea:-ms-input-placeholder {
    color: #aaa;
}

.C5_form_input::-ms-input-placeholder, .C5_form_textarea::-ms-input-placeholder {
    color: #aaa;
}

.C5_form_input::placeholder, .C5_form_textarea::placeholder {
    color: #aaa;
}

.C5_form_input:focus, .C5_form_textarea:focus {
    outline: none;
    border-color: var(--green);
}

.C5_form_textarea {
    resize: vertical;
}

.C5_form .Button-action {
    font-size: 2rem;
    height: 5rem;
}

.C5_form .Button-action.js-inquiry[disabled] {
    background-color: #ccc;
    border-color: #ccc;
    color: #666;
}

.C6 {
    padding: 4.5rem 1rem;
}

.C6_texts {
    margin-top: 2.4rem;
}

.C6_text {
    margin-bottom: 1rem;
    line-height: 1.8;
}

.C6_list {
    margin-bottom: 1rem;
    line-height: 1.8;
}

.C6_list li {
    padding-left: 2.5rem;
    text-indent: -2.5rem;
}

.C7 {
    padding: 4.5rem 1rem;
}

.C7_content {
    margin-top: 2.4rem;
}

.C7_section + .C7_section {
    margin-top: 4rem;
}

.C7_title {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 2rem;
    padding: 2rem 1rem;
    background: #f5f5f5;
}

.C7_title span {
    display: block;
    padding-left: 1rem;
    line-height: 1.2;
    border-left: 4px solid var(--green);
}

.C7_table_wrapper {
    overflow-x: auto;
}

.C7_table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.1rem;
}

.C7_table th,
.C7_table td {
    padding: 1rem;
    border: 1px solid #eee;
    vertical-align: middle;
    line-height: 1.6;
}

.C7_table th {
    background: #f5f6f7;
    font-weight: bold;
    width: 5.8rem;
    text-align: left;
    padding: 1rem 0.5rem;
}

.C7_table td {
    background: #f5f6f7;
}

.C7_table tr:nth-child(even) th,
.C7_table tr:nth-child(even) td {
    background: #fff;
}

.C7_table tr:nth-child(even) th {
    background: #fff;
}

.C7_accordion {
    margin-bottom: 1rem;
}

.C7_accordion_checkbox {
    display: none;
}

.C7_accordion_label {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    background: #f5f5f5;
    border: 1px solid #ccc;
    border-radius: 0.4rem;
    cursor: pointer;
    font-weight: bold;
}

.C7_accordion_label::before {
    content: "+";
    font-size: 1.4rem;
    font-weight: bold;
    color: #c8c8c8;
}

.C7_accordion_checkbox:checked + .C7_accordion_label::before {
    content: "-";
}

.C7_accordion_content {
    max-height: 0;
    overflow: hidden;
    -webkit-transition: max-height 0.3s ease-out;
    transition: max-height 0.3s ease-out;
}

.C7_accordion_checkbox:checked ~ .C7_accordion_content {
    max-height: 500rem;
}

.D1_kv img {
    width: 100%;
}

.D1_info {
    padding: 2rem 1.3rem;
}

.D1_info_title {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
    border-bottom: 1px solid var(--green);
    padding-bottom: 1rem;
}

.D1_info_description {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
}

.D1_info_description p {
    margin-bottom: 1rem;
}

.D1_info_notice {
    background: #f5f5f5;
    padding: 2rem 1.2rem;
    margin-bottom: 1.5rem;
    display: grid;
}

.D1_info_notice p {
    font-size: 1.1rem;
    line-height: 1.6;
    padding-left: 1.2em;
    text-indent: -1.2em;
}

.D1_info_notice p::before {
    content: "※";
}

.D1_notice_list li {
    font-size: 1.1rem;
    color: #666;
    line-height: 1.6;
    padding-left: 1.2em;
    text-indent: -1.2em;
}

.D1_notice_list li::before {
    content: "※";
}

.D1_steps {
    padding: 2rem 1rem;
}

.D1_steps_banner {
    margin-bottom: 1.5rem;
}

.D1_steps_banner img {
    width: 100%;
}

.D1_steps_title {
    font-size: 1.5rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    color: var(--green);
}

.D1_steps_list {
    display: grid;
    gap: 1rem;
}

.D1_steps_item {
    background: white;
    border-radius: 0.5rem;
    padding: 1rem 0 0.5rem;
}

.D1_steps_item_header {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.D1_steps_number {
    width: 2rem;
    height: 2rem;
    background: var(--green);
    color: white;
    font-size: 1.3rem;
    font-weight: bold;
    border-radius: 50%;
    display: grid;
    place-items: center;
    flex-shrink: 0;
}

.D1_steps_item_title {
    font-size: 1.3rem;
    font-weight: bold;
}

.D1_steps_item_text {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #666;
}

.D1_steps_arrow {
    width: 4.7rem;
    height: 1.6rem;
    margin: 0 auto;
    position: relative;
}

.D1_steps_arrow::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    border-left: 2.35rem solid transparent;
    border-right: 2.35rem solid transparent;
    border-top: 1.6rem solid #e2e2e2;
}

.D1_requirements {
    padding: 2rem 1rem;
}

.D1_section_content {
    background: white;
    display: grid;
    gap: 1rem;
}

.D1_document {
    padding: 1rem 0;
}

.D1_document_title {
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 0.8rem;
}

.D1_document_text {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 0.5rem;
}

.D1_document_list {
    margin: 0.5rem 0;
}

.D1_document_list li {
    font-size: 1rem;
    line-height: 1.8;
}

.D1_document_note {
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 1rem;
    color: #666;
}

.D1_accordion {
    border: 1px solid #e0e0e0;
}

.D1_accordion_summary {
    display: block;
    padding: 1rem;
    font-size: 1.2rem;
    font-weight: bold;
    cursor: pointer;
    position: relative;
    list-style: none;
    background: #f5f5f5;
}

.D1_accordion_summary::-webkit-details-marker {
    display: none;
}

.D1_accordion_summary::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 0.55rem solid transparent;
    border-right: 0.55rem solid transparent;
    border-top: 0.7rem solid #707070;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.D1_accordion_summary-notice {
    background: #707070;
    color: white;
}

.D1_accordion_summary-notice:after {
    border-top-color: white;
}

.D1_accordion[open] > .D1_accordion_summary::after {
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}

.D1_accordion_content {
    padding: 1rem;
    display: grid;
    gap: 1rem;
}

.D1_accordion_text {
    font-size: 1rem;
    line-height: 1.5;
}

.D1_faq_item {
    padding: 1rem 0;
}

.D1_faq_question {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
}

.D1_faq_badge {
    background: #ff8534;
    color: white;
    font-size: 1rem;
    font-weight: bold;
    padding: 0.2rem 0.5rem;
    border-radius: 0.3rem;
    flex-shrink: 0;
    position: relative;
}

.D1_faq_badge::after {
    content: "";
    position: absolute;
    right: -0.4rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border-top: 0.5rem solid transparent;
    border-bottom: 0.5rem solid transparent;
    border-left: 0.5rem solid #ff8534;
}

.D1_faq_question_text {
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.5;
}

.D1_faq_answer {
    font-size: 1rem;
    line-height: 2;
}

.D1_faq_answer a {
    color: var(--green);
    text-decoration: underline;
}

.D1_emphasis {
    color: #ff0c0e;
}

.D1_divider {
    border: none;
    border-top: 1px dashed #ccc;
}

.D1_notice_text {
    font-size: 1rem;
    color: #666;
    line-height: 1.6;
    padding-left: 1.2em;
    text-indent: -1.2em;
}

.D3 {
    background: #eef4f7;
    padding: 2.5rem 1.5rem 3rem;
    display: grid;
    gap: 1.6rem;
    font-size: 1.2rem;
}

.D3_container {
    background: white;
    padding: 2rem 0.7rem;
}

.D3_container_title {
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center;
}

.D3_container_title {
    margin-bottom: 2rem;
}

.D3_container_title_apply {
    display: block;
}

.is-confirm .D3_container_title_apply {
    display: none;
}

.D3_container_title_confirm {
    margin-bottom: 2rem;
    display: none;
}

.is-confirm .D3_container_title_confirm {
    display: block;
}

.D3_list {
    padding: 0 0 2rem;
}

.D3_list-border {
    border-bottom: 1px solid #eeeeee;
}

.D3_list + .D3_list {
    margin-top: 2rem;
}

.D3_list_header {
    padding-left: 2rem;
    margin-bottom: 1rem;
}

.D3_list_header_title {
    font-weight: bold;
    font-size: 1.4rem;
    margin-left: -2rem;
}

.D3_list_header_title_border {
    font-weight: bold;
    font-size: 1.6rem;
    border-bottom: 1px solid #eeeeee;
    padding-bottom: 1rem;
    text-align: center;
}

.D3_list_content {
    background: #f5f5f5;
    padding: 1rem;
    display: grid;
    gap: 0.5rem;
}

.D3_list .confirm {
    display: none;
}

.D3_list .confirm .thumb {
    width: 6.3rem;
    height: 10rem;
    background: #d9d9d9;
}

.D3_list .confirm .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.D3_upload_input {
    display: none;
}

.D3_upload_btn {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 9.5rem;
    height: 2.7rem;
    background: var(--green);
    color: white;
    border-radius: 100vh;
    cursor: pointer;
    font-size: 1.1rem;
    font-weight: bold;
}

.is-confirm .D3_upload_btn {
    display: none;
}

.D3_form {
    display: grid;
    gap: 1.5rem;
    margin-top: 1.5rem;
}

.D3_form_label {
    font-weight: bold;
    font-size: 1.4rem;
    display: block;
}

.D3_form_group .js-select2 + .select2-container .select2-selection--single {
    height: 3.5rem;
    font-size: 1.3rem;
    font-weight: 500;
    border-radius: 0.4rem;
}

.D3_form_group .js-select2 + .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: 3rem;
    padding-left: 0.8rem;
    /*padding-right: 28px;*/
}

.D3_form_group .js-select2 + .select2-container .select2-selection--single .select2-selection__arrow {
    height: 3rem;
    padding-right: 3rem;
}

.D3_form_group .js-select2 + .select2-container .select2-selection--single .select2-selection__clear {
    height: 3rem;
    padding-right: 1rem;
}

.D3_form_select:invalid {
    color: #e0e0e0;
}

.D3_form_select[disabled] {
    color: #adacac;
    background: #f8f8f8;
}

.D3_form_radio {
    display: -webkit-box;
    display: flex;
    gap: 2rem;
    font-size: 1.6rem;
}

.D3_form_radio label {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.D3_form_radio input {
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    width: 1.6rem;
    height: 1.6rem;
    border: 2px solid #e0e0e0;
    border-radius: 0.8rem;
    background: white;
    cursor: pointer;
    position: relative;
}

.D3_form_radio input:checked {
    border-color: var(--green);
}

.D3_form_radio input:checked::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 0.8rem;
    height: 0.8rem;
    background: var(--green);
    border-radius: 50%;
}

.D3_form_radio input[disabled] {
    border-color: #adacac;
}

.D3_form_radio input[disabled]:checked::after {
    background: #adacac;
}

.D3_form_input {
    border: 1px solid #b4c9d4 !important;
    width: 100%;
    height: 3.5rem;
    border-radius: 0.4rem;
    font-size: 1.3rem;
    padding: 0 1rem;
    background: #f8f8f8;
    outline: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.D3_form_input[disabled] {
    background-color: #adacac;
}

.D3_form_group {
    display: grid;
    gap: 0.5rem;
    padding: 1rem 0;
}

.D3_image_previewer {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
    z-index: 1000;
    justify-content: center;
    align-items: center;
}

.D3_image_previewer .img {
    max-width: 90%;
    max-height: 90%;
}

.D3_error_message {
    font-size: 14px;
    color: #c00;
    background-color: #fee;
    border: 1px solid #c00;
    border-radius: 4px;
    padding: 0.5em;
    margin-top: 0.5em;
    margin-right: 0.5em;
    display: none;
}

.D3_preview_container {
    margin-left: 20px;
    margin-top: 1em;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5em;
}

.D3_preview_container img {
    max-width: 200px;
    max-height: 200px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.D3_preview_container .file_info {
    font-size: 0.85em;
    color: #333;
}

.D3_preview_container .preview_item {
    display: flex;
    align-items: flex-start;
    gap: 1em;
    margin-bottom: 1em;
}

.D3_preview_container .preview_item img {
    max-width: 100px;
    max-height: 100px;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.D3_preview_container .preview_meta {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.D3_preview_container .cancel_button {
    display: inline;
    font-size: 0.85em;
    color: #007bff;
    text-decoration: underline;
    cursor: pointer;
    margin-top: 0.3em;
    padding: 0;
    line-height: 1;
}

.is-confirm .D3_preview_container .cancel_button {
    display: none;
}

.D_other {
    background: #eef4f7;
    padding: 2.5rem 1.5rem 3rem;
    display: grid;
    gap: 1.6rem;
}

.D_other .D1_requirements {
    padding: 0;
}

/* tailwind */
*, ::before, ::after {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style: ;
}

::-ms-backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style: ;
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgb(59 130 246 / 0.5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style: ;
}

/* ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com */
/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/
*,
::before,
::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; /* 1 */
    border-width: 0; /* 2 */
    border-style: solid; /* 2 */
    border-color: #e5e7eb; /* 2 */
}

::before,
::after {
    --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/
html,
:host {
    line-height: 1.5; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
    -moz-tab-size: 4; /* 3 */
    tab-size: 4; /* 3 */
    font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 4 */
    font-feature-settings: normal; /* 5 */
    font-variation-settings: normal; /* 6 */
    -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/
body {
    margin: 0; /* 1 */
    line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/
hr {
    height: 0; /* 1 */
    color: inherit; /* 2 */
    border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr:where([title]) {
    text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/
h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/
a {
    color: inherit;
    text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/
b,
strong {
    font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
    font-feature-settings: normal; /* 2 */
    font-variation-settings: normal; /* 3 */
    font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/
small {
    font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/
table {
    text-indent: 0; /* 1 */
    border-color: inherit; /* 2 */
    border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/
button,
input,
optgroup,
select,
textarea {
    font-family: inherit; /* 1 */
    font-feature-settings: inherit; /* 1 */
    font-variation-settings: inherit; /* 1 */
    font-size: 100%; /* 1 */
    font-weight: inherit; /* 1 */
    line-height: inherit; /* 1 */
    letter-spacing: inherit; /* 1 */
    color: inherit; /* 1 */
    margin: 0; /* 2 */
    padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/
button,
select {
    text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/
button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
    -webkit-appearance: button; /* 1 */
    background-color: transparent; /* 2 */
    background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/
:-moz-focusring {
    outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/
:-moz-ui-invalid {
    box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
    vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

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

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

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

/*
Add the correct display in Chrome and Safari.
*/
summary {
    display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/
blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
    margin: 0;
}

fieldset {
    margin: 0;
    padding: 0;
}

legend {
    padding: 0;
}

ol,
ul,
menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

/*
Reset default styling for dialogs.
*/
dialog {
    padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/
textarea {
    resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    opacity: 1; /* 1 */
    color: #9ca3af; /* 2 */
}

input::-moz-placeholder, textarea::-moz-placeholder {
    opacity: 1; /* 1 */
    color: #9ca3af; /* 2 */
}

input:-ms-input-placeholder, textarea:-ms-input-placeholder {
    opacity: 1; /* 1 */
    color: #9ca3af; /* 2 */
}

input::-ms-input-placeholder, textarea::-ms-input-placeholder {
    opacity: 1; /* 1 */
    color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
    opacity: 1; /* 1 */
    color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/
button,
[role="button"] {
    cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
    cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/
img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
    display: block; /* 1 */
    vertical-align: middle; /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/
img,
video {
    max-width: 100%;
    height: auto;
}

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
    display: none;
}

.container {
    width: 100%;
}

@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}

@media (min-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}

@media (min-width: 1536px) {
    .container {
        max-width: 1536px;
    }
}

.fixed {
    position: fixed;
}

.sticky {
    position: sticky;
}

.mx-3 {
    margin-left: 0.75rem;
    margin-right: 0.75rem;
}

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

.my-4 {
    margin-top: 1rem;
    margin-bottom: 1rem;
}

.-mt-8 {
    margin-top: -2rem;
}

.mb-10 {
    margin-bottom: 2.5rem;
}

.mb-2 {
    margin-bottom: 0.5rem;
}

.ml-1 {
    margin-left: 0.25rem;
}

.ml-\[1rem\] {
    margin-left: 1rem;
}

.ml-auto {
    margin-left: auto;
}

.mr-auto {
    margin-right: auto;
}

.mt-2 {
    margin-top: 0.5rem;
}

.mt-3 {
    margin-top: 0.75rem;
}

.mt-4 {
    margin-top: 1rem;
}

.mt-5 {
    margin-top: 1.25rem;
}

.mt-6 {
    margin-top: 1.5rem;
}

.block {
    display: block;
}

.flex {
    display: -webkit-box;
    display: flex;
}

.table {
    display: table;
}

.grid {
    display: grid;
}

.hidden {
    display: none;
}

.w-full {
    width: 100%;
}

.transform {
    -webkit-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    -ms-transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.justify-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.gap-3 {
    gap: 0.75rem;
}

.whitespace-nowrap {
    white-space: nowrap;
}

.px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
}

.px-3 {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}

.py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

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

.text-\[1\.1rem\] {
    font-size: 1.1rem;
}

.text-\[1\.2rem\] {
    font-size: 1.2rem;
}

.text-\[1\.3rem\] {
    font-size: 1.3rem;
}

.text-\[1\.4rem\] {
    font-size: 1.4rem;
}

.text-\[1\.6rem\] {
    font-size: 1.6rem;
}

.text-\[1\.8rem\] {
    font-size: 1.8rem;
}

.text-\[1rem\] {
    font-size: 1rem;
}

.text-\[2\.2rem\] {
    font-size: 2.2rem;
}

.text-\[2\.4rem\] {
    font-size: 2.4rem;
}

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

.leading-relaxed {
    line-height: 1.625;
}

.underline {
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
}

.blur {
    --tw-blur: blur(8px);
    -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
    -webkit-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

/**
 * Swiper 12.0.3
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 21, 2025
 */

:root {
    --swiper-theme-color: #007aff;
    /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1;
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    /* Fix of Webkit flickering */
    z-index: 1;
    display: block;
}

.swiper-vertical > .swiper-wrapper {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: -webkit-box;
    display: flex;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform, -webkit-transform;
    -webkit-transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    -webkit-transform: translate3d(0px, 0, 0);
    transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
    -ms-touch-action: pan-y;
    touch-action: pan-y;
}

.swiper-vertical {
    -ms-touch-action: pan-x;
    touch-action: pan-x;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    -webkit-transition-property: -webkit-transform;
    transition-property: -webkit-transform;
    transition-property: transform, -webkit-transform;
    display: block;
}

.swiper-slide-invisible-blank {
    visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto;
}

.swiper-autoheight .swiper-wrapper {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-transition-property: height, -webkit-transform;
    transition-property: transform, height, -webkit-transform;
}

.swiper-backface-hidden .swiper-slide {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
    -webkit-perspective: 1200px;
    perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
}

.swiper-3d {
    -webkit-perspective: 1200px;
    perspective: 1200px;

    .swiper-slide,
    .swiper-cube-shadow {
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
    }
}

/* CSS Mode */
.swiper-css-mode {
    > .swiper-wrapper {
        overflow: auto;
        scrollbar-width: none; /* For Firefox */
        -ms-overflow-style: none; /* For Internet Explorer and Edge */

        &::-webkit-scrollbar {
            display: none;
        }
    }

    > .swiper-wrapper > .swiper-slide {
        scroll-snap-align: start start;
    }

    &.swiper-horizontal {
        > .swiper-wrapper {
            -webkit-scroll-snap-type: x mandatory;
            scroll-snap-type: x mandatory;
        }
    }

    &.swiper-vertical {
        > .swiper-wrapper {
            -webkit-scroll-snap-type: y mandatory;
            scroll-snap-type: y mandatory;
        }
    }

    &.swiper-free-mode {
        > .swiper-wrapper {
            -webkit-scroll-snap-type: none;
            -ms-scroll-snap-type: none;
            scroll-snap-type: none;
        }

        > .swiper-wrapper > .swiper-slide {
            scroll-snap-align: none;
        }
    }

    &.swiper-centered {
        > .swiper-wrapper::before {
            content: '';
            flex-shrink: 0;
            -webkit-box-ordinal-group: 10000;
            -ms-flex-order: 9999;
            order: 9999;
        }

        > .swiper-wrapper > .swiper-slide {
            scroll-snap-align: center center;
            scroll-snap-stop: always;
        }
    }

    &.swiper-centered.swiper-horizontal {
        > .swiper-wrapper > .swiper-slide:first-child {
            -webkit-margin-start: var(--swiper-centered-offset-before);
            margin-inline-start: var(--swiper-centered-offset-before);
        }

        > .swiper-wrapper::before {
            height: 100%;
            min-height: 1px;
            width: var(--swiper-centered-offset-after);
        }
    }

    &.swiper-centered.swiper-vertical {
        > .swiper-wrapper > .swiper-slide:first-child {
            -webkit-margin-before: var(--swiper-centered-offset-before);
            margin-block-start: var(--swiper-centered-offset-before);
        }

        > .swiper-wrapper::before {
            width: 100%;
            min-width: 1px;
            height: var(--swiper-centered-offset-after);
        }
    }
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d {
    .swiper-slide-shadow,
    .swiper-slide-shadow-left,
    .swiper-slide-shadow-right,
    .swiper-slide-shadow-top,
    .swiper-slide-shadow-bottom,
    .swiper-slide-shadow,
    .swiper-slide-shadow-left,
    .swiper-slide-shadow-right,
    .swiper-slide-shadow-top,
    .swiper-slide-shadow-bottom {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 10;
    }

    .swiper-slide-shadow {
        background: rgba(0, 0, 0, 0.15);
    }

    .swiper-slide-shadow-left {
        background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    }

    .swiper-slide-shadow-right {
        background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    }

    .swiper-slide-shadow-top {
        background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    }

    .swiper-slide-shadow-bottom {
        background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
    }
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress),
.swiper-watch-progress .swiper-slide-visible {
    .swiper-lazy-preloader {
        -webkit-animation: swiper-preloader-spin 1s infinite linear;
        animation: swiper-preloader-spin 1s infinite linear;
    }
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000;
}

@-webkit-keyframes swiper-preloader-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes swiper-preloader-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/* Slide styles end */
:root {
    --swiper-navigation-size: 44px;
    /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 4px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;

    width: var(--swiper-navigation-size);
    height: var(--swiper-navigation-size);

    z-index: 10;
    cursor: pointer;
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));

    &.swiper-button-disabled {
        opacity: 0.35;
        cursor: auto;
        pointer-events: none;
    }

    &.swiper-button-hidden {
        opacity: 0;
        cursor: auto;
        pointer-events: none;
    }

    .swiper-navigation-disabled & {
        display: none !important;
    }

    svg {
        width: 100%;
        height: 100%;
        object-fit: contain;
        -webkit-transform-origin: center;
        transform-origin: center;
        fill: currentColor;
        pointer-events: none;
    }
}

.swiper-button-lock {
    display: none;
}

.swiper-button-prev,
.swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
}

.swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto;

    .swiper-navigation-icon {
        -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
        transform: rotate(180deg);
    }
}

.swiper-button-next {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto;
}

.swiper-horizontal {
    .swiper-button-prev,
    .swiper-button-next,
    ~ .swiper-button-prev,
    ~ .swiper-button-next {
        top: var(--swiper-navigation-top-offset, 50%);
        margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
        margin-left: 0;
    }

    .swiper-button-prev,
    & ~ .swiper-button-prev,
    &.swiper-rtl .swiper-button-next,
    &.swiper-rtl ~ .swiper-button-next {
        left: var(--swiper-navigation-sides-offset, 4px);
        right: auto;
    }

    .swiper-button-next,
    & ~ .swiper-button-next,
    &.swiper-rtl .swiper-button-prev,
    &.swiper-rtl ~ .swiper-button-prev {
        right: var(--swiper-navigation-sides-offset, 4px);
        left: auto;
    }

    .swiper-button-prev,
    & ~ .swiper-button-prev,
    &.swiper-rtl .swiper-button-next,
    &.swiper-rtl ~ .swiper-button-next {
        .swiper-navigation-icon {
            -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
            transform: rotate(180deg);
        }
    }

    &.swiper-rtl .swiper-button-prev,
    &.swiper-rtl ~ .swiper-button-prev {
        .swiper-navigation-icon {
            -webkit-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
            transform: rotate(0deg);
        }
    }
}

.swiper-vertical {
    .swiper-button-prev,
    .swiper-button-next,
    ~ .swiper-button-prev,
    ~ .swiper-button-next {
        left: var(--swiper-navigation-top-offset, 50%);
        right: auto;
        margin-left: calc(0px - (var(--swiper-navigation-size) / 2));
        margin-top: 0;
    }

    .swiper-button-prev,
    ~ .swiper-button-prev {
        top: var(--swiper-navigation-sides-offset, 4px);
        bottom: auto;

        .swiper-navigation-icon {
            -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
        }
    }

    .swiper-button-next,
    ~ .swiper-button-next {
        bottom: var(--swiper-navigation-sides-offset, 4px);
        top: auto;

        .swiper-navigation-icon {
            -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
            transform: rotate(90deg);
        }
    }
}

.swiper-thumbs {
    .swiper-slide-thumb-active {
        /* Styles for active thumb slide */
    }
}

/* Functional styling;
 * These styles are required for noUiSlider to function.
 * You don't need to change these rules to apply your design.
 */
.noUi-target,
.noUi-target * {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-select: none;
    -ms-touch-action: none;
    touch-action: none;
    -ms-user-select: none;
    -moz-user-select: none;
    user-select: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.noUi-target {
    position: relative;
}

.noUi-base,
.noUi-connects {
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
}

/* Wrapper for all connect elements.
 */
.noUi-connects {
    overflow: hidden;
    z-index: 0;
}

.noUi-connect,
.noUi-origin {
    will-change: transform;
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    height: 100%;
    width: 100%;
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
    -webkit-transform-style: flat;
    transform-style: flat;
}

/* Offset direction
 */
.noUi-txt-dir-rtl.noUi-horizontal .noUi-origin {
    left: 0;
    right: auto;
}

/* Give origins 0 height/width so they don't interfere with clicking the
 * connect elements.
 */
.noUi-vertical .noUi-origin {
    top: -100%;
    width: 0;
}

.noUi-horizontal .noUi-origin {
    height: 0;
}

.noUi-handle {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    position: absolute;
}

.noUi-touch-area {
    height: 100%;
    width: 100%;
}

.noUi-state-tap .noUi-connect,
.noUi-state-tap .noUi-origin {
    -webkit-transition: transform 0.3s;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
}

.noUi-state-drag * {
    cursor: inherit !important;
}

/* Slider size and handle placement;
 */
.noUi-horizontal {
    height: 18px;
}

.noUi-horizontal .noUi-handle {
    width: 34px;
    height: 28px;
    right: -17px;
    top: -6px;
}

.noUi-vertical {
    width: 18px;
}

.noUi-vertical .noUi-handle {
    width: 28px;
    height: 34px;
    right: -6px;
    bottom: -17px;
}

.noUi-txt-dir-rtl.noUi-horizontal .noUi-handle {
    left: -17px;
    right: auto;
}

/* Styling;
 * Giving the connect element a border radius causes issues with using transform: scale
 */
.noUi-target {
    background: #FAFAFA;
    border-radius: 4px;
    border: 1px solid #D3D3D3;
    -webkit-box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
    box-shadow: inset 0 1px 1px #F0F0F0, 0 3px 6px -5px #BBB;
}

.noUi-connects {
    border-radius: 3px;
}

.noUi-connect {
    background: #3FB8AF;
}

/* Handles and cursors;
 */
.noUi-draggable {
    cursor: ew-resize;
}

.noUi-vertical .noUi-draggable {
    cursor: ns-resize;
}

.noUi-handle {
    border: 1px solid #D9D9D9;
    border-radius: 3px;
    background: #FFF;
    cursor: default;
    -webkit-box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
    box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #EBEBEB, 0 3px 6px -3px #BBB;
}

.noUi-active {
    -webkit-box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
    box-shadow: inset 0 0 1px #FFF, inset 0 1px 7px #DDD, 0 3px 6px -3px #BBB;
}

/* Handle stripes;
 */
.noUi-handle:before,
.noUi-handle:after {
    content: "";
    display: block;
    position: absolute;
    height: 14px;
    width: 1px;
    background: #E8E7E6;
    left: 14px;
    top: 6px;
}

.noUi-handle:after {
    left: 17px;
}

.noUi-vertical .noUi-handle:before,
.noUi-vertical .noUi-handle:after {
    width: 14px;
    height: 1px;
    left: 6px;
    top: 14px;
}

.noUi-vertical .noUi-handle:after {
    top: 17px;
}

/* Disabled state;
 */
[disabled] .noUi-connect {
    background: #B8B8B8;
}

[disabled].noUi-target,
[disabled].noUi-handle,
[disabled] .noUi-handle {
    cursor: not-allowed;
}

/* Base;
 *
 */
.noUi-pips,
.noUi-pips * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.noUi-pips {
    position: absolute;
    color: #999;
}

/* Values;
 *
 */
.noUi-value {
    position: absolute;
    white-space: nowrap;
    text-align: center;
}

.noUi-value-sub {
    color: #ccc;
    font-size: 10px;
}

/* Markings;
 *
 */
.noUi-marker {
    position: absolute;
    background: #CCC;
}

.noUi-marker-sub {
    background: #AAA;
}

.noUi-marker-large {
    background: #AAA;
}

/* Horizontal layout;
 *
 */
.noUi-pips-horizontal {
    padding: 10px 0;
    height: 80px;
    top: 100%;
    left: 0;
    width: 100%;
}

.noUi-value-horizontal {
    -webkit-transform: translate(-50%, 50%);
    -ms-transform: translate(-50%, 50%);
    transform: translate(-50%, 50%);
}

.noUi-rtl .noUi-value-horizontal {
    -webkit-transform: translate(50%, 50%);
    -ms-transform: translate(50%, 50%);
    transform: translate(50%, 50%);
}

.noUi-marker-horizontal.noUi-marker {
    margin-left: -1px;
    width: 2px;
    height: 5px;
}

.noUi-marker-horizontal.noUi-marker-sub {
    height: 10px;
}

.noUi-marker-horizontal.noUi-marker-large {
    height: 15px;
}

/* Vertical layout;
 *
 */
.noUi-pips-vertical {
    padding: 0 10px;
    height: 100%;
    top: 0;
    left: 100%;
}

.noUi-value-vertical {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    padding-left: 25px;
}

.noUi-rtl .noUi-value-vertical {
    -webkit-transform: translate(0, 50%);
    -ms-transform: translate(0, 50%);
    transform: translate(0, 50%);
}

.noUi-marker-vertical.noUi-marker {
    width: 5px;
    height: 2px;
    margin-top: -1px;
}

.noUi-marker-vertical.noUi-marker-sub {
    width: 10px;
}

.noUi-marker-vertical.noUi-marker-large {
    width: 15px;
}

.noUi-tooltip {
    display: block;
    position: absolute;
    border: 1px solid #D9D9D9;
    border-radius: 3px;
    background: #fff;
    color: #000;
    padding: 5px;
    text-align: center;
    white-space: nowrap;
}

.noUi-horizontal .noUi-tooltip {
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    left: 50%;
    bottom: 120%;
}

.noUi-vertical .noUi-tooltip {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    top: 50%;
    right: 120%;
}

.noUi-horizontal .noUi-origin > .noUi-tooltip {
    -webkit-transform: translate(50%, 0);
    -ms-transform: translate(50%, 0);
    transform: translate(50%, 0);
    left: auto;
    bottom: 10px;
}

.noUi-vertical .noUi-origin > .noUi-tooltip {
    -webkit-transform: translate(0, -18px);
    -ms-transform: translate(0, -18px);
    transform: translate(0, -18px);
    top: auto;
    right: 28px;
}
