@charset "UTF-8";

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 84px;
}

h1,
h2,
h3,
h4,
p,
ul {
    margin: 0;
}

ul {
    padding: 0;
    list-style: none;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
    color: inherit;
    cursor: pointer;
    border: 0;
    background: none;
}

button:disabled {
    cursor: default;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a,
button,
summary {
    -webkit-tap-highlight-color: transparent;
}

a:hover {
    opacity: .8;
}

:focus-visible {
    outline: 3px solid var(--blue);
    outline-offset: 5px;
}

section {
    padding: 64px 22px;
}

h3 {
    font-size: 20px;
    line-height: 1.7;
}

section>h2+p[class$=subtitle] {
    text-align: center;
    font-weight: 500;
    margin-top: -20px;
    margin-bottom: 34px;
    font-family: var(--serif);
}

:root {
    --blue: #00a6d7;
    --green: #378d68;
    --ink: #111;
    --paper: #f7f4f1;
    --serif: 'Zen Old Mincho', 'Yu Mincho', 'Hiragino Mincho ProN', serif;
    --content: 1200px;
}

body {
    margin: 0;
    color: var(--ink);
    background: white;
    font-size: 14px;
    line-height: 1.9;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    font-feature-settings: 'palt';
    font-kerning: normal;
}

h2 {
    font-size: 22px;
    line-height: 1.7;
    text-align: center;
    margin-bottom: 32px;
    font-family: var(--serif);
    font-weight: 500;
    letter-spacing: 0;
}

.text_blue {
    color: var(--blue);
}

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

html.reduced_motion {
    scroll-behavior: auto;
}

.reduced_motion *,
.reduced_motion *::before,
.reduced_motion *::after {
    transition: none !important;
}

main {
    overflow-x: clip;
}

.reveal_up {
    --reveal-x: 0px;
    --reveal-y: 28px;
}

.reveal_left {
    --reveal-x: -36px;
    --reveal-y: 0px;
}

.reveal_right {
    --reveal-x: 36px;
    --reveal-y: 0px;
}

.reveal_delay_1 {
    --reveal-delay: 70ms;
}

.reveal_delay_2 {
    --reveal-delay: 140ms;
}

.scroll_reveal {
    opacity: 0;
    translate: var(--reveal-x, 0px) var(--reveal-y, 28px);
    transition: opacity .75s ease, translate .75s cubic-bezier(.2, .7, .2, 1);
    transition-delay: var(--reveal-delay, 0ms);
}

.scroll_reveal.is_visible {
    opacity: 1;
    translate: 0 0;
}

/* 01_ヘッダー・追従ボタン */

.header__hamburger[aria-expanded=true]::before {
    transform: translateY(9px) rotate(45deg);
}

.header__hamburger[aria-expanded=true] span {
    opacity: 0;
}

.header__hamburger[aria-expanded=true]::after {
    transform: translateY(-9px) rotate(-45deg);
}

.header__nav.header__nav--open {
    display: block;
}

.header__menuCategory {
    border-bottom: 1px solid #aaa;
}

button.header__menuCategoryLink:hover {
    opacity: .8;
}

.header__cta>.header__consult {
    background: var(--green);
}

.header__consult:hover,
.side_btn__consult:hover {
    opacity: .8;
}

.side_btn>*+* {
    border-left: 1px solid #aaa;
    margin: 7px 0;
}

.header {
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 30;
    height: 66px;
}

.header__wrapper {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1600px;
    margin: auto;
    padding: 15px 30px;
}

.header__logo img {
    object-fit: contain;
    width: 70px;
    height: 36px;
}

.header__hamburger {
    position: relative;
    z-index: 32;
    width: 28px;
    height: 36px;
}

.header__hamburger span,
.header__hamburger::before,
.header__hamburger::after {
    content: '';
    position: absolute;
    background: #263e31;
    transition: transform .2s;
    left: 0;
    width: 26px;
    height: 3px;
}

.header__hamburger::before {
    top: 7px;
}

.header__hamburger span {
    top: 16px;
}

.header__hamburger::after {
    top: 25px;
}

.header__nav {
    display: none;
    position: fixed;
    inset: 66px 0 0;
    background: white;
    overflow: auto;
    top: 66px;
    padding: 15px 29px 45px;
}

.header__menuCategoryLink {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
    padding: 0 21px;
    height: 56px;
    font-size: 16px;
    line-height: 25.6px;
    font-weight: 700;
    gap: 20px;
}

.header__menuCategoryLink small {
    color: #339eb0;
    font-weight: 400;
    font-size: 12px;
    letter-spacing: .1em;
}

.header__cta {
    display: flex;
    margin-top: 34px;
    gap: 24px;
}

.header__cta>* {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--blue);
    color: #fff;
    min-height: 76px;
    padding: 10px;
    line-height: 1.4;
    font-size: 14px;
}

.header__cta img {
    filter: brightness(0) invert(1);
    width: 38px;
    height: 38px;
    object-fit: contain;
    margin: -3.4px 0 .4px;
}

.header__tel img {
    width: 66px;
    height: 66px;
    max-width: none;
    margin: -17.4px 0 -13.6px;
}

.side_btn {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    background: #f2f2f2;
    z-index: 25;
    box-shadow: 0 -1px 5px #0001;
    height: 61px;
}

.side_btn>* {
    width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    letter-spacing: .1em;
    line-height: 1.4;
}

.side_btn img {
    object-fit: contain;
    height: 28px;
    width: auto;
    margin-bottom: 2px;
}

.side_btn__tel img {
    width: 60px;
    height: 60px;
    max-width: none;
    margin: -16px 0 -14px;
}

.side_btn__tel p {
    font-weight: 700;
}

/* 02_ファーストビュー */

.FV_slide-items {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1s;
}

.FV_slide-items[aria-hidden=false] {
    opacity: 1;
}

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

.FV_slide-items:first-child .FV_slide-items__sp {
    object-position: 57% center;
}

.FV_slide-items:nth-child(2) .FV_slide-items__sp {
   object-position: 30% 15%;
}

.FV_slide-items__pc {
    display: none;
}

.FV_box::after {
    content: '';
    position: absolute;
    inset: 35% 0 0;
    background: linear-gradient(transparent, #0007);
    pointer-events: none;
    display: none;
}

.FV_box__controls {
    position: absolute;
    inset: 36% 5% auto;
    display: flex;
    justify-content: space-between;
    z-index: 3;
    pointer-events: none;
    top: calc(100vw * 186 / 375);
    left: 18px;
    right: 19px;
}

.FV_box__controls button {
    pointer-events: auto;
    border-radius: 50%;
    color: #fff;
    line-height: 30px;
    width: 41px;
    height: 41px;
    font-size: 34px;
    background: #378d68d9;
    position: relative;
    overflow: hidden;
    text-indent: -9999px;
}

.FV_box__controls button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25%;
    height: 25%;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translate(-65%, -50%) rotate(45deg);
}

.FV_box__controls .FV_box__prev::before {
    transform: translate(-35%, -50%) rotate(-135deg);
}

.FV_box {
    position: relative;
    overflow: hidden;
    color: white;
    background: #254c42;
    height: calc(100vw * 565 / 375);
    min-height: 0;
    max-height: none;
    --fv-narrow: clamp(0px, calc(375px - 100vw), 1px);
}

.FV_box__text {
    position: absolute;
    z-index: 2;
    top: calc(100vw * 307 / 375);
    bottom: auto;
    text-shadow: 0 1px 3px #0005;
    left: calc(30px - 8 * var(--fv-narrow));
    right: calc(15px - var(--fv-narrow));
}

.FV_box__text__large {
    letter-spacing: .1em;
    font-weight: 700;
    font-size: calc(24px - 4 * var(--fv-narrow));
    line-height: calc(36px - 4 * var(--fv-narrow));
}

.FV_box__text__small {
    line-height: 25.6px;
    font-weight: 500;
    margin-top: 12px;
    letter-spacing: 0;
    font-size: calc(14px - 2 * var(--fv-narrow));
}

/* 03_ファーストビュー下の導線ボタン */

.cta {
    display: grid;
    gap: 12px;
    padding: 28px 22px;
    max-width: 1164px;
    margin: auto;
}

.cta>* {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 54px;
    font-weight: 600;
    font-size: 14px;
    background: var(--blue);
    color: #fff;
}

.cta>.cta__location {
    background: var(--green);
}

.cta>.cta__home {
    background: #fff;
    color: var(--green);
    border: 1px solid #bacfc9;
}

.cta img {
    object-fit: contain;
    width: auto;
    height: 27px;
}

.cta>*,
.cta__consult,
.cta__location,
.cta__home {
    font-weight: 700;
}

button.cta__consult:hover {
    opacity: .8;
}

/* 04_こんな暮らしを考えたことはありませんか */

.introduction__item_wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 18px;
    max-width: 1120px;
    margin: auto;
}

.introduction__item img {
    aspect-ratio: 1;
    object-fit: cover;
}

.introduction__item__subtext {
    font-size: 12px;
    line-height: 1.8;
    margin-top: 8px;
}

.introduction {
    position: relative;
    color: #fff;
    isolation: isolate;
    margin-top: 30px;
    background: #378d68;
}

.introduction__item {
    position: relative;
    min-width: 0;
    padding-bottom: 0;
}

.introduction__item__num {
    position: absolute;
    z-index: 1;
    -webkit-text-stroke: 1.5px rgba(255, 255, 255, 0.85);
    paint-order: stroke fill;
    text-shadow: 0 0 3px rgba(255, 255, 255, 0.85);
    top: auto;
    bottom: auto;
    margin-top: calc(100% - 30px);
    left: 6px;
    color: var(--blue);
    font-family: 'Waterfall', var(--serif);
    font-size: 36px;
    line-height: 1;
    font-style: normal;
    font-weight: 400;
}

.introduction__item__text {
    font-weight: 700;
    margin-top: 12px;
    line-height: 1.7;
    padding-top: 8px;
}

.introduction__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    display: block;
    opacity: .302;
    mix-blend-mode: multiply;
    filter: blur(6px);
}

.introduction::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -2;
    background-color: #378d68;
}

.introduction>p {
    max-width: 1120px;
    margin: 30px auto 0;
    background: #fff;
    color: var(--green);
    text-align: center;
    border-radius: 30px;
    padding: 9px 16px;
    font-size: 12px;
    letter-spacing: .1em;
    font-weight: 700;
}

.introduction>h2 {
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
}

.introduction__title_first {
    display: inline-block;
    width: 100%;
    text-align: left;
}

/* 05_東京から思っているより近い栃木 */

.tokyo_access {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    isolation: isolate;
    gap: 0 12px;
    max-width: 1400px;
    margin: auto;
}

.tokyo_access h2 {
    grid-column: 1/-1;
    color: #42aabb;
}

.tokyo_access__img {
    grid-column: 1/-1;
    margin-bottom: 24px;
}

.tokyo_access__img img {
    width: 100%;
    aspect-ratio: 1.8;
    object-fit: cover;
}

.tokyo_access__text p+p {
    margin-top: 14px;
}

.tokyo_access__bg_square {
    display: block;
    position: absolute;
    z-index: -1;
    width: 30%;
    height: 120px;
    background: #ddecf0;
    left: 5%;
    top: 210px;
}

.tokyo_access__bg_square::after {
    content: '';
    position: absolute;
    width: 80%;
    height: 90px;
    border: 1px solid #dfdfdf;
    top: 50px;
    left: 80%;
}

.tokyo_access__area p,
.tokyo_access__time p {
    font-weight: 400;
}

.tokyo_access__area p:first-child,
.tokyo_access__time p:first-child {
    color: #299db2;
    margin-bottom: 12px;
    font-size: 11px;
    font-weight: 700;
}

.tokyo_access__area {
    grid-column: 1;
}

.tokyo_access__time {
    grid-column: 2;
}

.tokyo_access__area,
.tokyo_access__time {
    background: #fffc;
    padding: 12px;
    text-align: center;
    font-size: 13px;
    grid-row: 3;
}

.tokyo_access__text {
    grid-column: 1/-1;
    margin-top: 24px;
    font-size: 13px;
    grid-row: 4;
}

.tochigi {
    right: 0;
    width: 60%;
    z-index: -1;
    opacity: 1;
    position: relative;
    grid-column: 1/-1;
    grid-row: 3/5;
    justify-self: end;
    top: auto;
    bottom: auto;
}

.tochigi img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    position: absolute;
    inset: 0;
}

.tokyo_access__area p:not(:first-child) {
    position: relative;
}

.tokyo_access__area p:not(:first-child)::after {
    content: '';
    position: absolute;
    left: calc(100% - 8px);
    top: 50%;
    width: calc(75% + 18px);
    height: 1px;
    background: #93d0df;
}

/* 06_栃木移住のメリット */

.merit {
    max-width: 1120px;
    margin: auto;
    padding-bottom: 28px;
}

.merit h2 {
    font-size: 20px;
}

.merit__item {
    padding: 30px 0;
    border-bottom: 1px solid #dededb;
}

.merit__item h3 {
    margin: 6px 0 12px;
}

.merit__item__text {
    font-size: 13px;
}

.merit__item__example {
    background: var(--green);
    color: white;
    padding: 10px 16px;
    font-size: 12px;
    margin-top: 15px;
}

.merit__item img {
    width: 100%;
    aspect-ratio: 1.75;
    object-fit: cover;
    margin-top: 22px;
}

.merit__item__point {
    display: flex;
    align-items: center;
    height: 65px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 22px;
    color: var(--green);
}

.merit__item__point .merit__item__point__bg_white {
    background-color: #fff;
}

.merit__item__point .merit__item__point__num {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    line-height: 1;
    display: grid;
    place-items: center;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    font-size: 28px;
    position: relative;
    --point_border: 2px;
    margin-left: -0.7em;
}

.merit__item__point__num::before {
    content: '';
    position: absolute;
    inset: calc(-1 * var(--point_border));
    border: var(--point_border)  solid #5b8c6a;
    border-radius: 50%;
    z-index: -1;
    pointer-events: none;
}

/* 07_あなたはどんな暮らしをしたいですか */

.lifestyle__pattern_wrapper {
    display: grid;
    gap: 24px;
    max-width: 1120px;
    margin: auto;
}

.lifestyle__pattern {
    position: relative;
    background: #fffffff0;
    border: 1px solid #86c0c8;
    padding: 24px 18px 18px;
}

.lifestyle__pattern h3 {
    font-family: var(--serif);
    font-size: 18px;
    font-weight: 500;
}

.lifestyle__pattern__discription {
    margin: 12px 0;
    font-size: 13px;
}

.lifestyle__pattern_area {
    font-size: 12px;
    text-align: right;
}

.lifestyle__pattern_area span {
    background: var(--blue);
    color: #fff;
    margin-right: 8px;
    padding: 1px 7px;
}

.lifestyle>img {
    display: none;
}

.lifestyle__imgarea {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin: 40px -22px 0;
}

.lifestyle__pattern__section {
    position: absolute;
    top: -20px;
    left: 14px;
    font: italic 28px var(--serif);
    color: #4fb2c2;
    font-family: 'Oooh Baby', var(--serif);
    -webkit-text-stroke: 3px #fff;
    paint-order: stroke fill;
    font-style: normal;
    font-weight: 400;
}

.lifestyle__imgarea img {
    width: 100%;
    height: 145px;
    object-fit: cover;
}

.lifestyle>h2 {
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
}

.lifestyle__title_first {
    display: inline-block;
    width: 100%;
    text-align: left;
}

.lifestyle {
    padding-bottom: 0;
    background: var(--paper) url('../img/AdobeStock_585343823.png') center top/auto 100% no-repeat;
    position: relative;
    isolation: isolate;
    background-image: none;
}

.lifestyle::before,
.lifestyle::after {
    background-image: url('../img/AdobeStock_585343823.png');
    background-size: auto 100%;
    background-repeat: no-repeat;
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    width: 50%;
    z-index: -1;
    pointer-events: none;
    background: url('../img/AdobeStock_585343823.png') left center/auto 70% no-repeat;
    opacity: .12;
    filter: invert(48%) sepia(30%) saturate(700%) hue-rotate(95deg);
}

.lifestyle::after {
    right: 0;
    background-position: right center;
}

.lifestyle::before {
    left: 0;
    background-position: left center;
}

/* 08_暮らし方から選ぶ栃木の4エリア */

.tochigi_area {
    padding: 60px 0 0;
}

.tochigi_area>h2 {
    padding: 0 22px;
}

.tochigi_area__area_wrap {
    --accent: #e46e95;
    position: relative;
    isolation: isolate;
    display: grid;
    gap: 16px;
    padding: 32px 22px;
    margin-bottom: 35px;
    background: linear-gradient(#fff 22%, #fdeef1 22%);
}

.tochigi_area__area_wrap:nth-of-type(2) {
    --accent: #00acce;
    background: linear-gradient(#fff 22%, #e6f4f9 22%);
}

.tochigi_area__area_wrap:nth-of-type(3) {
    --accent: #328b70;
    background: linear-gradient(#fff 22%, #eaf1ed 22%);
}

.tochigi_area__area_wrap:nth-of-type(4) {
    --accent: #98bc44;
    background: linear-gradient(#fff 22%, #f1f7e9 22%);
    margin-bottom: 24px;
}

.tochigi_area__area_wrap>img {
    width: 100%;
    aspect-ratio: 1.8;
    object-fit: cover;
}

.tochigi_area__area_wrap h3 {
    color: var(--accent);
    font-size: 17px;
    order: -1;
}

.tochigi_area__catch {
    font-family: var(--serif);
    font-size: 22px;
    font-weight: 600;
}

.tochigi_area__catch span {
    display: inline-block;
    padding-inline-start: 1em;
    white-space: nowrap;
}

.tochigi_area__info_wrapper {
    display: grid;
    grid-auto-rows: 1fr;
    gap: 16px;
}

.tochigi_area__info,
.tochigi_area__recommend {
    background: #fffd;
    padding: 18px;
    font-size: 13px;
}

.tochigi_area__info>p:first-child,
.tochigi_area__area_wrap>p:not([class]) {
    color: var(--accent);
    font-weight: 700;
}

.tochigi_area__recommend_wrapper {
    background: #fff;
    padding: 18px;
    font-size: 13px;
}

.tochigi_area__recommend_wrapper>p {
    color: var(--accent);
    font-weight: 700;
    margin-bottom: 8px;
}

.tochigi_area__recommend_wrapper .tochigi_area__recommend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 12px;
    padding: 0;
    background: none;
}

.tochigi_area__detail {
    justify-self: center;
    background: var(--accent);
    color: white;
    padding: 10px 25px;
    font-size: 13px;
    font-weight: 700;
}

.tochigi_area__bg_text {
    position: absolute;
    z-index: -1;
    line-height: 1;
    font-weight: 700;
    color: var(--accent);
    opacity: .1;
    top: 18px;
    right: 22px;
    font-size: clamp(28px, 9vw, 60px);
    white-space: nowrap;
}

.tochigi_area__bg_text br {
    display: none;
}

/* 09_栃木の4エリア参考サイト */

.reference {
    padding: 40px 0 65px;
}

.reference h2 {
    font-size: 20px;
    padding: 0 20px;
}

.reference__area_wrapper {
    display: grid;
    gap: 4px;
    grid-template-columns: 1fr 1fr;
}

.reference__area {
    position: relative;
    color: white;
    text-align: center;
    overflow: hidden;
}

.reference__area img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    filter: brightness(.75);
}

.reference__area_name {
    position: absolute;
    -webkit-text-stroke: 1.5px rgba(95, 95, 95, 0.65);
    paint-order: stroke fill;
    text-shadow: 0 0 3px rgba(95, 95, 95, 0.65);
    z-index: 1;
    top: 20px;
    left: 0;
    right: 0;
    font-size: 20px;
    font-family: var(--serif);
}

.reference__area_link {
    position: absolute;
    bottom: 20px;
    left: 10%;
    right: 10%;
    border: 1px solid #fff;
    font-size: 11px;
    padding: 5px;
}

.reference__area_name,
.reference__area_link {
    font-weight: 700;
}

/* 10_移住後の暮らし・お客様の声 */

.voice {
    background: var(--paper);
}

.voice__box:last-child {
    border: 0;
}

.voice__bg_text {
    grid-column: 1/-1;
    font: 58px var(--serif);
    color: #e6e3df;
    line-height: 1;
}

.voice__box>img {
    grid-column: 1/-1;
    width: 100%;
    aspect-ratio: 1.7;
    object-fit: cover;
    box-shadow: 8px -8px #dce8df;
}

.voice__box>div {
    background: white;
    padding: 14px;
    font-size: 11px;
}

.voice__before,
.voice__after {
    display: inline-block;
    background: #99948f;
    color: #fff;
    padding: 0 12px;
}

.voice__after {
    background: var(--blue);
}

.voice__interview summary {
    cursor: pointer;
    font-weight: 600;
    color: var(--green);
    text-decoration: underline;
    text-underline-offset: 6px;
    font-size: 13px;
}

.voice__interview h4+p {
    color: var(--blue);
    font-size: 11px;
}

.voice__interview>p {
    font-size: 12px;
}

.voice__interview>.voice__interview__question {
    color: var(--green);
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 5px;
}

.voice__box {
    position: relative;
    max-width: 1120px;
    margin: 0 auto;
    padding: 36px 0;
    border-bottom: 1px solid #bbb;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    display: block;
}

.voice__visual {
    position: relative;
    margin: 24px 6px;
    isolation: isolate;
}

.voice__visual::before {
    content: '';
    position: absolute;
    inset: -8px -6px;
    background: #dce8df;
    transform: rotate(-5deg);
    z-index: -1;
}

.voice__visual img {
    width: 100%;
}

.voice__box>.voice__visual {
    padding: 0;
    background: transparent;
}

.voice__box h3 {
    grid-column: 1/-1;
    font-family: var(--serif);
    font-weight: 500;
    font-size: 22px;
    margin: 20px 0;
}

.voice__box>.voice__body {
    background: #fff;
    padding: 24px 18px;
}

.voice__comparison {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    font-size: 11px;
}

.voice__comparison>div {
    position: relative;
}

.voice__comparison>div+div::before {
    content: '';
    position: absolute;
    left: -16px;
    top: 12px;
    border-left: 10px solid var(--green);
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
}

.voice__interview {
    grid-column: 1/-1;
    background: white;
    padding: 0;
    margin-top: 24px;
}

.voice__interview__row {
    margin-top: 22px;
}

.voice__interview h4 + .voice__interview__row {
    margin-top: 28px;
}

.voice__interview__row p {
    font-size: 12px;
}

.voice__interview__row .voice__interview__question {
    color: var(--green);
    font-weight: 700;
    margin-bottom: 8px;
}

.voice__interview h4 {
    font-size: 26px;
    border-bottom: 1px solid #84c1c6;
    margin-top: 24px;
    text-shadow: 4.5px 3px 0 rgba(102, 202, 231, 0.35);
}

.voice__interview h4 span {
    color: var(--blue);
    font-size: 12px;
    margin-left: 15px;
    text-shadow: none;
}

.voice__title_line {
    display: block;
    width: max-content;
    margin-left: 1em;
    white-space: nowrap;
}

.voice__title_line--remote {
    margin-left: auto;
}

.voice__box h3 .voice__title_line .text_green {
    display: inline;
    margin-left: 0;
}

.voice__subtitle {
    font-family: var(--serif);
    font-weight: 500;
}

.voice__before,
.voice__after,
.voice__interview summary,
.voice__interview h4,
.voice__interview__question {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

.voice>h2 {
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
    text-align: left;
}

.voice__title_second {
    display: inline-block;
    padding-left: 1em;
}

/* 11_土地が広いから家づくりはもっと自由 */

.dream_home__slide_wrapper::-webkit-scrollbar {
    display: none;
}

.dream_home__slide {
    flex: 0 0 83%;
    scroll-snap-align: center;
    font-size: 12px;
}

.dream_home__slide img {
    width: 100%;
    aspect-ratio: 1.7;
    object-fit: cover;
}

.dream_home__slide--clone {
    display: block;
}

.dream_home__controls button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 25%;
    height: 40%;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 22'%3E%3Cpath d='M2 1L12 11L2 21' fill='none' stroke='white' stroke-width='2'/%3E%3C/svg%3E") center/100% 100% no-repeat;
    transform: translate(-50%, -50%);
}

.dream_home__controls .dream_home__prev::before {
    transform: translate(-50%, -50%) scaleX(-1);
}

.dream_home__slide__title {
    margin: 12px 0 3px;
    font-family: 'Meiryo', 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

.dream_home {
    padding-left: 0;
    padding-right: 0;
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    padding-bottom: 24px;
}

.dream_home h2 {
    padding: 0 22px;
    grid-row: 1;
}

.dream_home__subtitle {
    font-family: var(--serif);
    font-weight: 500;
    grid-row: 2;
}

.dream_home__slide_wrapper {
    display: flex;
    gap: 22px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 10px 22px 24px;
    grid-column: 1;
    grid-row: 3;
    min-width: 0;
}

.dream_home__controls {
    display: flex;
    gap: 22px;
    grid-column: 1;
    grid-row: 3;
    align-self: start;
    justify-content: space-between;
    margin: calc((100vw - 44px) * .83 / 1.7 / 2 + 10px - 21px) 8px 0;
    z-index: 2;
    pointer-events: none;
}

.dream_home__controls button {
    border-radius: 50%;
    background: #78736f;
    color: #fff;
    width: 42px;
    height: 42px;
    font-size: 30px;
    line-height: 1;
    position: relative;
    overflow: hidden;
    text-indent: -9999px;
    pointer-events: auto;
}

/* 12_栃木の暮らしを知る家づくり */

.advantage>img:nth-child(-n+2) {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

.advantage>img:nth-child(3),
.advantage__bg_text {
    display: none;
}

.advantage h2 {
    grid-column: 1/-1;
    margin: 16px 0 0;
    order: -2;
}

.advantage>.advantage__subtitle {
    grid-column: 1/-1;
    margin: 0 0 16px;
    order: -1;
}

.advantage__point_wrapper {
    grid-column: 1/-1;
    display: grid;
    gap: 26px;
}

.advantage__point {
    position: relative;
    padding-left: 66px;
    font-size: 12px;
}

.advantage__point>img,
.advantage__point_img {
    position: absolute;
    left: 0;
    top: 4px;
    width: 50px;
    height: 50px;
    background: var(--blue);
    border-radius: 50%;
    padding: 10px;
    object-fit: contain;
}

.advantage__point_img {
    display: flex;
    padding: 8px;
}

.advantage__bg_text {
    display: block;
    position: absolute;
    pointer-events: none;
    right: 22px;
    top: 62px;
    font-family: 'Waterfall', var(--serif);
    font-style: normal;
    font-weight: 400;
    font-size: 48px;
    line-height: 1.2;
    color: #378d68;
    opacity: 0.45;
    z-index: 0;
}

.advantage h2,
.advantage__subtitle {
    position: relative;
    z-index: 1;
}

.advantage__town {
    width: 180px;
    justify-self: end;
}

.advantage__point__title {
    color: var(--blue);
    font-weight: 700;
    margin-bottom: 10px;
}

.advantage__point .advantage__point_img {
    display: block;
    padding: 0;
}

.advantage__point_img img {
    width: 50%;
    position: absolute;
    border-radius: 0;
    padding: 0;
    background: none;
    object-fit: contain;
}

.advantage__point:nth-child(1) .advantage__point_img img:nth-child(1) {
    left: 23.8938%;
    top: 23.8938%;
    width: 51.3274%;
    height: 53.0973%;
}

.advantage__point:nth-child(2) .advantage__point_img img:nth-child(1) {
    left: 23.0088%;
    top: 23.0088%;
    width: 21.2389%;
    height: 21.2389%;
}

.advantage__point:nth-child(2) .advantage__point_img img:nth-child(2) {
    left: 27.4336%;
    top: 33.6283%;
    width: 48.6726%;
    height: 43.3628%;
}

.advantage__point:nth-child(3) .advantage__point_img img:nth-child(1) {
    left: 16.8142%;
    top: 23.0088%;
    width: 66.3717%;
    height: 53.9823%;
}

.advantage__point:nth-child(4) .advantage__point_img img:nth-child(1) {
    left: 22.1239%;
    top: 26.5487%;
    width: 59.2920%;
    height: 48.6726%;
}

.advantage__point:nth-child(5) .advantage__point_img img:nth-child(1) {
    left: 15.0442%;
    top: 16.1%;
    width: 69.0265%;
    height: 69.0265%;
}

.advantage {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    position: relative;
    overflow: hidden;
    background: var(--paper) url('../img/happa_h8.jpg') center top/auto 100% no-repeat;
    background-image: linear-gradient(to right, rgba(255,255,255,.95), rgba(255,255,255,.6)), url('../img/happa_h8.jpg');
    background-size: 100% 360px, auto 360px;
}

.advantage__subtitle {
    font-family: var(--serif);
    font-weight: 500;
}

.advantage__point__num {
    font-size: 11px;
    color: #78736f;
    font-weight: 700;
}

/* 14_移住したいけれど不安 */

.support h2 {
    margin-bottom: 12px;
}

.support>.support__subtitle {
    margin: 0 0 25px;
}

.support__item {
    margin: 24px 0;
}

.support__item img {
    width: 100%;
    aspect-ratio: 1.8;
    object-fit: cover;
    margin-bottom: 16px;
}

.support__item__summary {
    font-size: 14px;
    margin: 8px 0;
}

.support__item__text {
    font-size: 12px;
}

.support>img {
    position: absolute;
    inset: 25px 14px;
    height: calc(100% - 50px);
    width: calc(100% - 28px);
    object-fit: cover;
    opacity: .2;
    z-index: -1;
    border-radius: 8px;
    display: none;
}

.support {
    position: relative;
    isolation: isolate;
    color: white;
    padding: 55px 32px;
    background: #3a3a3a;
    background-image: none;
}

.support h2,
.support>h2+p.support__subtitle,
.support__item__title,
.support__item__summary {
    font-family: 'Noto Sans JP', sans-serif;
}

.support h2,
.support__item__title,
.support__item__summary {
    font-weight: 700;
}

.support>h2+p.support__subtitle {
    font-weight: 500;
}

.support__line {
    position: relative;
    display: inline-block;
    width: .5em;
    height: 1em;
    vertical-align: middle;
    color: transparent;
}

.support__line::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: .06em;
    height: 1em;
    background: #fff;
    transform: translate(-50%, -50%) rotate(-45deg);
}

.support__line:last-child::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.support::before,
.support::after {
    content: '';
    position: absolute;
    inset: 25px 14px;
    border-radius: 16px;
    pointer-events: none;
}

.support::before {
    background: #6d6565;
    z-index: -2;
}

.support::after {
    background: url('../img/pixta_103894332_XL.jpg') center/cover no-repeat;
    opacity: .251;
    filter: blur(6px);
    clip-path: inset(0 round 16px);
    z-index: -1;
}

.support__item__title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 200px;
    max-width: calc(100% - 8px);
    height: 2px;
    background: #fff;
}

.support__item__title::before {
    content: '';
    position: absolute;
    left: min(196px, calc(100% - 12px));
    bottom: -3px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
}

.support__item__title {
    font-size: 22px;
    text-underline-offset: 6px;
    position: relative;
    text-decoration: none;
    padding-bottom: 8px;
    font-family: 'Noto Sans JP', sans-serif;
}

/* 15_Blog */

.blog {
    margin: auto;
    padding-bottom: 0;
}

.blog__item_wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px 16px;
}

.blog__item img {
    width: 100%;
    aspect-ratio: 274 / 183;
    object-fit: cover;
}

.blog__item img[src="img/thumbnail-1.png"] {
    object-position: left center;
}

.blog__item img[src="img/thumbnail-3.png"] {
    object-position: right center;
}

.blog__item__date {
    font-size: 11px;
    line-height: 1.5;
    margin-top: 6px;
}

.blog__item__title {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    margin-top: 2px;
}

.blog__item__text {
    font-size: 12px;
    line-height: 1.5;
    margin-top: 8px;
}

.blog__subtitle {
    font-family: var(--serif);
    font-weight: 500;
}

/* 16_おすすめ土地情報MAP */

.map {
    margin: auto;
}

.map__image_wrapper {
    position: relative;
    width: 100%;
}

.map__image_wrapper img {
    width: 100%;
    height: auto;
}

.map__subtitle {
    font-family: var(--serif);
    font-size: 12px;
    font-weight: 500;
}

.map__link {
    position: absolute;
    display: block;
    transition: background-color .3s;
}

.map__link:hover {
    background: rgba(255, 255, 255, .15);
    opacity: 1;
}

.map__link:focus-visible {
    outline: 2px solid #fff;
    outline-offset: -2px;
    box-shadow: 0 0 0 2px #378d68;
}

.map__link--nasu {
    left: 40.4167%;
    top: 2.5824%;
    width: 16.6667%;
    height: 6.3224%;
}

.map__link--nasushiobara_land {
    left: 49.4167%;
    top: 13.8914%;
    width: 16.7500%;
    height: 6.3224%;
}

.map__link--nasushiobara_house {
    left: 73.2500%;
    top: 23.5085%;
    width: 16.7500%;
    height: 6.3224%;
}

.map__link--nasushiobara_west {
    left: 43.6667%;
    top: 26.0018%;
    width: 16.6667%;
    height: 6.2333%;
}

.map__link--sakura_town {
    left: 47.9167%;
    top: 33.5708%;
    width: 16.7500%;
    height: 6.3224%;
}

.map__link--sakura_unosato {
    left: 68.9167%;
    top: 40.7836%;
    width: 16.7500%;
    height: 6.3224%;
}

.map__link--takanezawa {
    left: 69.6667%;
    top: 48.5307%;
    width: 16.7500%;
    height: 6.3224%;
}

.map__link--utsunomiya_yuinomori {
    left: 71.7500%;
    top: 59.8397%;
    width: 19.1667%;
    height: 6.3224%;
}

.map__link--utsunomiya_tsuruta {
    left: 26.4167%;
    top: 58.8602%;
    width: 19.2500%;
    height: 6.3224%;
}

.map__link--utsunomiya_okamoto {
    left: 32.0000%;
    top: 51.8255%;
    width: 23.6667%;
    height: 6.3224%;
}

.map__link--oyama_nishijonan {
    left: 57.7500%;
    top: 92.2529%;
    width: 17.5833%;
    height: 6.3224%;
}

.map__link--oyama_joto {
    left: 57.7500%;
    top: 84.4167%;
    width: 19.9167%;
    height: 6.3224%;
}

.map__link--oyama_hitotonoya {
    left: 20.7500%;
    top: 91.5405%;
    width: 21.1667%;
    height: 6.3224%;
}

/* 17_よくある質問 */

.faq {
    background: var(--paper);
}

.faq__item {
    max-width: 1060px;
    margin: 12px auto;
    background: white;
    padding: 16px;
    font-size: 12px;
}

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

.faq__item summary::before {
    content: 'Q';
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 50%;
    background: var(--blue);
    color: white;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 24px;
}

.faq__item summary::after {
    content: '＋';
    position: absolute;
    right: 0;
}

.faq__item[open] summary::after {
    content: '−';
}

.faq__item__answer {
    margin-top: 14px;
    border-top: 1px solid #ddd;
    padding: 14px 0 0 32px;
    position: relative;
}

.faq__item__answer::before {
    content: 'A';
    position: absolute;
    left: 0;
    background: #222;
    color: #fff;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    text-align: center;
    line-height: 24px;
}

.faq__item summary {
    position: relative;
    list-style: none;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    padding-left: 32px;
    padding-right: 22px;
    font-weight: 700;
}

/* 18_まずは話してみませんか */

.consultation h2 {
    margin: 0;
}

.consultation>img {
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
}

.consultation__text {
    text-align: center;
    font-size: 13px;
}

.consultation__text p+p {
    margin: 20px 0;
}

.consultation__cta {
    border: 1px solid #c8c2bd;
    padding: 20px;
    text-align: center;
}

.consultation__cta__ja {
    font-size: 14px;
    font-weight: 600;
}

.consultation__cta__en {
    color: var(--blue);
    font-size: 10px;
    letter-spacing: .12em;
}

.consultation__bg_text {
    display: block;
    position: absolute;
    top: 44px;
    right: 54px;
    font: normal 48px/1.2 'Waterfall', var(--serif);
    filter: url(#consultation_text_thin);
    color: #00a6d7;
    opacity: .6;
    pointer-events: none;
}

.consultation>h2 {
    position: relative;
    z-index: 1;
}

.consultation {
    background: var(--paper);
    display: grid;
    gap: 18px;
    position: relative;
    overflow: hidden;
    background-image: none;
}

.consultation__cta__ja,
.consultation__cta__en {
    font-weight: 700;
}

button.consultation__cta:hover {
    opacity: .8;
}

/* 19_フッター */

.footer {
    padding: 40px 22px 60px;
    font-size: 11px;
}

.footer__logo img {
    width: 100px;
}

.footer__about {
    display: flex;
    align-items: center;
    gap: 22px;
    margin-bottom: 25px;
}

.footer__navList {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 22px;
    margin: 12px 0;
}

.footer__navLink {
    padding: 0;
    font-size: 11px;
}

button.footer__navLink:hover {
    opacity: .8;
}

.footer__copyright {
    background: var(--blue);
    color: white;
    text-align: center;
    margin: 30px -22px 0;
    padding: 8px 15px;
    font-size: 9px;
}

.back_top {
    position: fixed;
    bottom: 75px;
    right: 15px;
    background: #00a6d7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 39 24'%3E%3Cpath d='M3 21L19.5 4.5L36 21' fill='none' stroke='%23f6f3f0' stroke-width='6'/%3E%3C/svg%3E") center/47% 29% no-repeat;
    border-radius: 30%;
    width: 36px;
    height: 36px;
    font-size: 0;
    z-index: 24;
}

@media (min-width: 960px) {
    :root {
        --u: .0625vw;
    }

    body {
        max-width: none;
        margin: 0;
        font-size: calc(16 * var(--u));
        line-height: 1.6;
    }

    main {
        overflow: clip;
    }

    section {
        padding: 0;
    }

    h2 {
        font-size: calc(42 * var(--u));
        line-height: calc(63 * var(--u));
        margin: 0;
        letter-spacing: 0;
    }

    section>h2+p[class$=subtitle] {
        font-family: var(--serif);
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
        margin: calc(22 * var(--u)) 0 0;
    }

    .sp_only {
        display: none;
    }

    /* 01_ヘッダー・追従ボタン */

    .side_btn__tel p {
        font-weight: 400;
    }

    .header {
        height: calc(80 * var(--u));
    }

    .header__wrapper {
        max-width: none;
        padding: calc(11 * var(--u)) calc(100 * var(--u));
    }

    .header__logo img {
        width: calc(115 * var(--u));
        height: calc(58 * var(--u));
    }

    .header__hamburger {
        display: none;
    }

    .header__nav {
        display: block;
        position: static;
        padding: 0;
        overflow: visible;
    }

    .header__menuCategories {
        display: flex;
        gap: calc(30 * var(--u));
    }

    .header__menuCategory {
        border: 0;
    }

    .header__menuCategoryLink {
        height: auto;
        padding: 0;
        display: block;
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
        font-weight: 400;
        white-space: nowrap;
    }

    .header__menuCategoryLink small,
    .header__cta {
        display: none;
    }

    .side_btn {
        left: auto;
        right: 0;
        top: calc(160 * var(--u));
        bottom: auto;
        width: calc(70 * var(--u));
        height: calc(172 * var(--u));
        flex-direction: column;
        box-shadow: none;
    }

    .side_btn>* {
        width: 100%;
        height: calc(86 * var(--u));
        font-size: calc(12 * var(--u));
    }

    .side_btn>*+* {
        border: 0;
        margin: 0;
    }

    .side_btn img {
        height: calc(30 * var(--u));
        margin-bottom: calc(4 * var(--u));
    }

    .side_btn__tel img {
        max-width: none;
        width: calc(64.3 * var(--u));
        height: calc(64.3 * var(--u));
        margin: calc(-17.15 * var(--u)) 0 calc(-13.15 * var(--u));
    }

    /* 02_ファーストビュー */

    .FV_box {
        height: calc(620 * var(--u));
        min-height: 0;
        max-height: none;
    }

    .FV_slide-items__sp {
        display: none;
    }

    .FV_slide-items__pc {
        display: block;
    }

    .FV_box__text {
        left: calc(200 * var(--u));
        top: calc(159 * var(--u));
        right: calc(100 * var(--u));
        bottom: auto;
    }

    .FV_box__text__large {
        font-size: calc(48 * var(--u));
        line-height: calc(82 * var(--u));
        letter-spacing: 0;
    }

    .FV_box__text__small {
        margin-top: calc(26 * var(--u));
        font-size: calc(20 * var(--u));
        line-height: calc(32 * var(--u));
    }

    .FV_box__controls {
        top: calc(281 * var(--u));
        left: calc(49 * var(--u));
        right: calc(49 * var(--u));
    }

    .FV_box__controls button {
        width: calc(59 * var(--u));
        height: calc(59 * var(--u));
        font-size: calc(48 * var(--u));
        position: relative;
        overflow: hidden;
        text-indent: -9999px;
    }

    .FV_box__controls button::before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 25%;
        height: 25%;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: translate(-65%, -50%) rotate(45deg);
    }

    .FV_box__controls .FV_box__prev::before {
        transform: translate(-35%, -50%) rotate(-135deg);
    }

    /* 03_ファーストビュー下の導線ボタン */

    .cta {
        width: calc(1200 * var(--u));
        max-width: none;
        padding: calc(59 * var(--u)) 0 calc(30 * var(--u));
        grid-template-columns: repeat(3, 1fr);
        gap: calc(27 * var(--u));
    }

    .cta>* {
        min-height: calc(83 * var(--u));
        font-size: calc(20 * var(--u));
        line-height: 1.5;
        gap: calc(10 * var(--u));
        letter-spacing: .05em;
    }

    .cta img {
        width: auto;
        height: calc(32 * var(--u));
    }

    .cta>*,
    .cta__consult,
    .cta__location,
    .cta__home {
        font-weight: 700;
    }

    /* 04_こんな暮らしを考えたことはありませんか */

    .introduction>h2 {
        width: auto;
        max-width: none;
    }

    .introduction__title_first {
        display: inline;
        width: auto;
        text-align: inherit;
    }

    .introduction {
        height: calc(830 * var(--u));
        margin: 0;
        padding: calc(153 * var(--u)) calc(200 * var(--u)) 0;
        background: transparent;
    }

    .introduction h2 {
        position: absolute;
        top: calc(153 * var(--u));
        left: calc(240 * var(--u));
        margin: 0;
        text-align: left;
        white-space: nowrap;
        padding-left: 0;
    }

    .introduction h2::before {
        content: '';
        position: absolute;
        width: calc(211 * var(--u));
        height: calc(2 * var(--u));
        background: white;
        right: calc(100% + calc(29 * var(--u)));
        top: calc(31 * var(--u));
    }

    .introduction__item_wrapper {
        position: absolute;
        top: calc(255 * var(--u));
        left: calc(199 * var(--u));
        width: calc(1203 * var(--u));
        max-width: none;
        grid-template-columns: 272fr 274fr 272fr 274fr;
        gap: calc(37 * var(--u));
    }

    .introduction__item img {
        height: calc(253 * var(--u));
        width: 100%;
        aspect-ratio: auto;
        object-fit: cover;
    }

    .introduction__item__num {
        margin: 0;
        top: calc(225 * var(--u));
        left: calc(10 * var(--u));
        font-size: calc(60 * var(--u));
        line-height: 1;
    }

    .introduction__item__text {
        position: absolute;
        top: calc(286 * var(--u));
        left: calc(11 * var(--u));
        font-size: calc(20 * var(--u));
        line-height: calc(28 * var(--u));
        padding: 0;
        margin: 0;
        white-space: nowrap;
        letter-spacing: -.045em;
    }

    .introduction__item__subtext {
        position: absolute;
        top: calc(326 * var(--u));
        left: calc(11 * var(--u));
        right: calc(10 * var(--u));
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
        margin: 0;
    }

    .introduction::before {
        content: '';
        position: absolute;
        inset: 0;
        z-index: -2;
        background-color: #378d68;
        top: calc(67 * var(--u));
        right: calc(100 * var(--u));
    }

    .introduction__bg {
        inset: auto;
        left: calc(-220 * var(--u));
        top: calc(-568 * var(--u));
        width: calc(2104 * var(--u));
        max-width: none;
        height: calc(1417 * var(--u));
        clip-path: inset(calc(635 * var(--u)) calc(384 * var(--u)) calc(19 * var(--u)) calc(220 * var(--u)));
    }

    .introduction::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        width: calc(200 * var(--u));
        height: calc(483 * var(--u));
        background: rgba(55, 141, 104, .45);
        z-index: -3;
    }

    .introduction>p {
        position: absolute;
        top: calc(675 * var(--u));
        left: calc(199 * var(--u));
        width: calc(1203 * var(--u));
        margin: 0;
        max-width: none;
        height: calc(53 * var(--u));
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        font-size: calc(24 * var(--u));
        line-height: 1.3;
        letter-spacing: .05em;
        border-radius: calc(27 * var(--u));
        white-space: nowrap;
        font-weight: 700;
    }

    /* 05_東京から思っているより近い栃木 */

    .tokyo_access {
        display: block;
        height: calc(798 * var(--u));
        max-width: none;
        margin: 0;
        padding: calc(108 * var(--u)) 0 0;
    }

    .tokyo_access h2 {
        text-align: left;
        margin-left: calc(195 * var(--u));
        position: relative;
    }

    .tokyo_access h2::before {
        content: '';
        position: absolute;
        top: calc(31 * var(--u));
        right: calc(100% + calc(10 * var(--u)));
        width: calc(190 * var(--u));
        height: calc(2 * var(--u));
        background: var(--blue);
    }

    .tokyo_access__img {
        position: absolute;
        left: 0;
        top: calc(207 * var(--u));
        width: calc(742 * var(--u));
        margin: 0;
    }

    .tokyo_access__img img {
        width: 100%;
        height: calc(422 * var(--u));
        aspect-ratio: auto;
    }

    .tokyo_access__area,
    .tokyo_access__time {
        grid-row: auto;
        grid-column: auto;
        position: absolute;
        top: calc(269 * var(--u));
        padding: calc(25 * var(--u)) 0;
        height: calc(224 * var(--u));
        background: #fff;
        font-size: calc(20 * var(--u));
        line-height: calc(42 * var(--u));
        text-align: left;
    }

    .tokyo_access__area {
        left: calc(718 * var(--u));
        width: calc(345 * var(--u));
        padding-left: calc(72 * var(--u));
    }

    .tokyo_access__time {
        left: calc(1063 * var(--u));
        width: calc(309 * var(--u));
        padding-left: calc(24 * var(--u));
    }

    .tokyo_access__area p:not(:first-child) {
        position: relative;
    }

    .tokyo_access__area p:not(:first-child)::after {
        content: '';
        position: absolute;
        left: calc(123 * var(--u));
        width: calc(179 * var(--u));
        top: calc(24 * var(--u));
        height: calc(1 * var(--u));
        background: #93d0df;
    }

    .tokyo_access__text {
        grid-row: auto;
        position: absolute;
        left: calc(790 * var(--u));
        top: calc(520 * var(--u));
        width: calc(540 * var(--u));
        margin: 0;
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
    }

    .tokyo_access__text p+p {
        margin-top: calc(16 * var(--u));
    }

    .tochigi {
        position: absolute;
        grid-column: auto;
        grid-row: auto;
        justify-self: auto;
        right: calc(-17 * var(--u));
        top: calc(77 * var(--u));
        width: calc(554 * var(--u));
        height: calc(683 * var(--u));
        bottom: auto;
    }

    .tochigi img {
        position: static;
        inset: auto;
        width: 100%;
        height: 100%;
    }

    .tokyo_access__bg_square {
        left: calc(80 * var(--u));
        top: calc(421 * var(--u));
        width: calc(353 * var(--u));
        height: calc(282 * var(--u));
    }

    .tokyo_access__bg_square::after {
        left: calc(275 * var(--u));
        top: calc(103 * var(--u));
        width: calc(206 * var(--u));
        height: calc(206 * var(--u));
    }

    .tokyo_access__area p,
    .tokyo_access__time p {
        font-weight: 400;
    }

    .tokyo_access__area p:first-child,
    .tokyo_access__time p:first-child {
        font-size: calc(20 * var(--u));
        line-height: calc(42 * var(--u));
        margin: 0;
        font-weight: 700;
    }

    /* 06_栃木移住のメリット */

    .merit {
        padding: calc(62 * var(--u)) 0 calc(128 * var(--u));
        width: calc(1200 * var(--u));
        max-width: none;
        margin: auto;
    }

    .merit h2 {
        font-size: calc(42 * var(--u));
        line-height: calc(63 * var(--u));
        margin-bottom: calc(69 * var(--u));
        white-space: nowrap;
    }

    .merit__item {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        height: calc(480 * var(--u));
        padding: 0 calc(645 * var(--u)) 0 calc(45 * var(--u));
        border: 0;
    }

    .merit__item::after {
        content: '';
        position: absolute;
        bottom: calc(75 * var(--u));
        left: 0;
        width: 100%;
        height: calc(1 * var(--u));
        background: #ccc;
    }

    .merit__item:last-child {
        height: calc(324 * var(--u));
    }

    .merit__item:last-child::after {
        display: none;
    }

    .merit__item:nth-of-type(even) {
        padding: 0 calc(40 * var(--u)) 0 calc(645 * var(--u));
    }

    .merit__item__point {
        height: calc(85 * var(--u));
        flex-shrink: 0;
        font-size: calc(30 * var(--u));
        line-height: 1;
    }

    .merit__item__point span {
        width: calc(85 * var(--u));
        border-width: calc(5 * var(--u));
        margin-left: calc(-10 * var(--u));
    }

    .merit__item__point .merit__item__point__num {
        font-size: calc(36 * var(--u));
        width: 80px;
        height: 80px;
    }

    .merit__item h3 {
        font-size: calc(36 * var(--u));
        line-height: calc(54 * var(--u));
        margin: calc(19 * var(--u)) 0 calc(12 * var(--u));
        white-space: nowrap;
    }

    .merit__item__text {
        font-size: calc(18 * var(--u));
        line-height: calc(28.8 * var(--u));
    }

    .merit__item__example {
        margin-top: calc(18 * var(--u));
        margin-left: calc(-14 * var(--u));
        padding: calc(10 * var(--u)) calc(30 * var(--u));
        font-size: calc(18 * var(--u));
        line-height: calc(28.8 * var(--u));
        text-align: center;
        width: calc(532 * var(--u));
    }

    .merit__item>img {
        position: absolute;
        top: 0;
        right: 0;
        width: calc(573 * var(--u));
        height: calc(324 * var(--u));
        margin: 0;
        aspect-ratio: auto;
    }

    .merit__item:nth-of-type(even)>img {
        right: auto;
        left: 0;
    }

    /* 07_あなたはどんな暮らしをしたいですか */

    .lifestyle>h2 {
        width: auto;
        max-width: none;
    }

    .lifestyle__title_first {
        display: inline;
        width: auto;
        text-align: inherit;
    }

    .lifestyle h2 {
        margin: 0 0 calc(92 * var(--u));
    }

    .lifestyle__pattern {
        height: calc(221 * var(--u));
        padding: calc(32 * var(--u)) calc(30 * var(--u)) calc(20 * var(--u));
        border: calc(1 * var(--u)) solid #acd6e0;
        background: #fff;
    }

    .lifestyle__pattern:nth-child(3) {
        width: calc(588 * var(--u));
        height: calc(222 * var(--u));
        justify-self: center;
        grid-column: 1/-1;
    }

    .lifestyle__pattern__section {
        top: calc(-32 * var(--u));
        left: calc(45 * var(--u));
        font-size: calc(48 * var(--u));
        line-height: calc(60 * var(--u));
    }

    .lifestyle__pattern h3 {
        font-size: calc(30 * var(--u));
        line-height: calc(45 * var(--u));
        white-space: nowrap;
    }

    .lifestyle__pattern__discription {
        font-size: calc(18 * var(--u));
        line-height: calc(28.8 * var(--u));
        margin: calc(12 * var(--u)) 0 calc(13 * var(--u));
    }

    ul.lifestyle__pattern__discription {
        display: grid;
        grid-template-columns: 42% 58%;
    }

    .lifestyle__pattern_area {
        font-size: calc(24 * var(--u));
        line-height: calc(32 * var(--u));
        white-space: nowrap;
    }

    .lifestyle__pattern:nth-child(3) .lifestyle__pattern_area {
        text-align: center;
    }

    .lifestyle__pattern_area span {
        display: inline-block;
        width: calc(103 * var(--u));
        text-align: center;
        font-size: calc(16 * var(--u));
        line-height: calc(27 * var(--u));
        padding: 0 calc(15 * var(--u));
        vertical-align: middle;
    }

    .lifestyle__imgarea {
        margin: calc(77 * var(--u)) 0 0;
        width: 100%;
    }

    .lifestyle__imgarea img {
        height: calc(303 * var(--u));
        width: 100%;
    }

    .lifestyle {
        height: calc(1132 * var(--u));
        padding: calc(108 * var(--u)) 0 0;
        background-size: calc(1600 * var(--u)) auto;
        background-position: center top;
        position: relative;
        isolation: isolate;
        background-image: none;
    }

    .lifestyle::before,
    .lifestyle::after {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        width: 50%;
        z-index: -1;
        pointer-events: none;
        background: url('../img/AdobeStock_585343823.png') left center/auto 70% no-repeat;
        opacity: .12;
        filter: invert(48%) sepia(30%) saturate(700%) hue-rotate(95deg);
    }

    .lifestyle::before {
        left: 0;
    }

    .lifestyle::after {
        right: 0;
        background-position: right center;
    }

    .lifestyle__pattern_wrapper {
        width: calc(1200 * var(--u));
        max-width: none;
        grid-template-columns: 1fr 1fr;
        gap: calc(46 * var(--u)) calc(26 * var(--u));
        position: relative;
        isolation: isolate;
    }

    .lifestyle__pattern_wrapper::before,
    .lifestyle__pattern_wrapper::after {
        content: '';
        position: absolute;
        z-index: -1;
        pointer-events: none;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
    }

    .lifestyle__pattern_wrapper::before {
        left: calc(419 * var(--u));
        top: calc(101 * var(--u));
        width: calc(363 * var(--u));
        height: calc(322 * var(--u));
        background: #d8d4cf;
    }

    .lifestyle__pattern_wrapper::after {
        left: calc(433 * var(--u));
        top: calc(109 * var(--u));
        width: calc(335 * var(--u));
        height: calc(298 * var(--u));
        background: var(--paper);
    }

    /* 08_暮らし方から選ぶ栃木の4エリア */

    .tochigi_area__bg_text br {
        display: inline;
    }

    .tochigi_area {
        padding: calc(125 * var(--u)) 0 0;
    }

    .tochigi_area>h2 {
        text-align: left;
        margin: 0 0 calc(54 * var(--u)) calc(280 * var(--u));
        padding: 0;
        position: relative;
    }

    .tochigi_area>h2::before {
        content: '';
        position: absolute;
        top: calc(31 * var(--u));
        left: calc(-280 * var(--u));
        width: calc(257 * var(--u));
        height: calc(2 * var(--u));
        background: #222;
    }

    .tochigi_area__area_wrap {
        display: block;
        height: calc(974 * var(--u));
        margin: 0 0 calc(116 * var(--u));
        padding: 0;
        background: linear-gradient(to bottom, #fff calc(501 * var(--u)), #fdeef1 calc(501 * var(--u)));
    }

    .tochigi_area__area_wrap:nth-of-type(2) {
        background: linear-gradient(to bottom, #fff calc(501 * var(--u)), #e6f4f9 calc(501 * var(--u)));
    }

    .tochigi_area__area_wrap:nth-of-type(3) {
        background: linear-gradient(to bottom, #fff calc(501 * var(--u)), #eaf1ed calc(501 * var(--u)));
    }

    .tochigi_area__area_wrap:nth-of-type(4) {
        background: linear-gradient(to bottom, #fff calc(501 * var(--u)), #f1f7e9 calc(501 * var(--u)));
        margin-bottom: 0;
    }

    .tochigi_area__area_wrap>img {
        position: absolute;
        left: 0;
        top: 0;
        width: calc(1103 * var(--u));
        height: calc(543 * var(--u));
        aspect-ratio: auto;
    }

    .tochigi_area__area_wrap:nth-of-type(even)>img {
        left: auto;
        right: 0;
    }

    .tochigi_area__area_wrap h3 {
        position: absolute;
        top: calc(42 * var(--u));
        left: calc(1350 * var(--u));
        background: var(--accent);
        color: #fff;
        padding: calc(40 * var(--u)) calc(10 * var(--u));
        writing-mode: vertical-rl;
        font-size: calc(24 * var(--u));
        line-height: calc(31 * var(--u));
        white-space: nowrap;
        letter-spacing: 0;
    }

    .tochigi_area__area_wrap:nth-of-type(even) h3 {
        left: calc(200 * var(--u));
    }

    .tochigi_area__catch {
        position: absolute;
        top: calc(69 * var(--u));
        left: calc(1190 * var(--u));
        width: calc(126 * var(--u));
        height: calc(530 * var(--u));
        writing-mode: vertical-rl;
        text-orientation: upright;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(42 * var(--u));
        font-weight: 700;
        line-height: calc(63 * var(--u));
        letter-spacing: .1em;
    }

    .tochigi_area__catch span {
        padding-inline-start: calc(250 * var(--u));
    }

    .tochigi_area__area_wrap:nth-of-type(2) .tochigi_area__catch span,
    .tochigi_area__area_wrap:nth-of-type(3) .tochigi_area__catch span {
        padding-inline-start: calc(100 * var(--u));
    }

    .tochigi_area__area_wrap:nth-of-type(4) .tochigi_area__catch span {
        padding-inline-start: calc(140 * var(--u));
    }

    .tochigi_area__area_wrap:nth-of-type(even) .tochigi_area__catch {
        left: calc(285 * var(--u));
    }

    .tochigi_area__bg_text {
        top: calc(223 * var(--u));
        left: calc(975 * var(--u));
        right: auto;
        font-size: calc(140 * var(--u));
        line-height: calc(145 * var(--u));
        color: var(--accent);
        opacity: .08;
        white-space: nowrap;
    }

    .tochigi_area__area_wrap:nth-of-type(even) .tochigi_area__bg_text {
        left: calc(12 * var(--u));
    }

    .tochigi_area__info_wrapper {
        position: absolute;
        top: calc(628 * var(--u));
        left: calc(200 * var(--u));
        width: calc(1203 * var(--u));
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: auto;
        gap: calc(37 * var(--u));
    }

    .tochigi_area__info,
    .tochigi_area__recommend_wrapper {
        min-height: calc(137 * var(--u));
        background: #fff;
        padding: calc(18 * var(--u)) calc(30 * var(--u));
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
    }

    .tochigi_area__info>p:first-child,
    .tochigi_area__recommend_wrapper>p {
        color: var(--accent);
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
        margin: 0 0 calc(8 * var(--u));
    }

    .tochigi_area__recommend_wrapper .tochigi_area__recommend {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0 calc(12 * var(--u));
        padding: 0;
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
    }

    .tochigi_area__detail {
        position: absolute;
        top: calc(811 * var(--u));
        left: calc(599 * var(--u));
        width: calc(402 * var(--u));
        height: calc(83 * var(--u));
        display: grid;
        place-items: center;
        font-size: calc(24 * var(--u));
        line-height: 1.4;
        padding: 0;
        font-weight: 700;
    }

    /* 09_栃木の4エリア参考サイト */

    .reference {
        height: calc(788 * var(--u));
        padding: calc(105 * var(--u)) 0 0;
    }

    .reference h2 {
        font-size: calc(42 * var(--u));
        line-height: calc(63 * var(--u));
        padding: 0;
        margin-bottom: calc(48 * var(--u));
    }

    .reference__area_wrapper {
        grid-template-columns: repeat(4, 1fr);
    }

    .reference__area img {
        height: calc(453 * var(--u));
        width: 100%;
        filter: none;
    }

    .reference__area_name {
        top: calc(203 * var(--u));
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
    }

    .reference__area_link {
        bottom: calc(30 * var(--u));
        left: calc(77 * var(--u));
        right: calc(77 * var(--u));
        height: calc(49 * var(--u));
        padding: 0;
        display: grid;
        place-items: center;
        font-size: calc(16 * var(--u));
        line-height: 1.4;
    }

    .reference__area_name,
    .reference__area_link {
        font-weight: 700;
    }

    /* 10_移住後の暮らし・お客様の声 */

    .voice__title_second {
        display: inline;
        padding-left: 0;
    }

    .voice {
        padding: calc(95 * var(--u)) calc(200 * var(--u)) calc(90 * var(--u));
    }

    .voice>h2 {
        width: auto;
        max-width: none;
        text-align: center;
        margin: 0;
        white-space: nowrap;
    }

    .voice>.voice__subtitle {
        margin: calc(12 * var(--u)) 0 calc(39 * var(--u));
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
    }

    .voice__box {
        width: calc(1200 * var(--u));
        max-width: none;
        margin: 0;
        padding: calc(249 * var(--u)) 0 calc(60 * var(--u));
        border-bottom: calc(1 * var(--u)) solid #999;
        position: relative;
    }

    .voice__box+.voice__box {
        margin-top: calc(53 * var(--u));
        padding-top: calc(254 * var(--u));
        padding-bottom: calc(80 * var(--u));
    }

    .voice__box:last-child {
        margin-top: calc(43 * var(--u));
        padding-bottom: 0;
        border-bottom: 0;
    }

    .voice__bg_text {
        position: absolute;
        left: calc(-215 * var(--u));
        top: calc(15 * var(--u));
        font: calc(160 * var(--u))/1.1 var(--serif);
        color: #e9e6e2;
    }

    .voice__visual {
        position: absolute;
        left: calc(599 * var(--u));
        top: calc(33 * var(--u));
        width: calc(603 * var(--u));
        height: calc(353 * var(--u));
        margin: 0;
        z-index: 2;
    }

    .voice__visual::before {
        inset: calc(-15 * var(--u)) calc(-12 * var(--u));
        transform: rotate(-5deg);
        background: #dce8df;
    }

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

    .voice__box h3 {
        position: absolute;
        left: 0;
        top: calc(103 * var(--u));
        width: calc(560 * var(--u));
        font-size: calc(36 * var(--u));
        line-height: calc(63 * var(--u));
        margin: 0;
        font-family: var(--serif);
        font-weight: 500;
    }

    .voice__box h3 .text_green {
        display: inline-block;
        margin-left: calc(190 * var(--u));
        white-space: nowrap;
    }

    .voice__box>.voice__body {
        width: calc(1103 * var(--u));
        margin: 0 calc(49 * var(--u));
        padding: calc(43 * var(--u)) calc(30 * var(--u)) calc(69 * var(--u));
        border-radius: calc(8 * var(--u));
    }

    .voice__body:has(.voice__interview:not([open])) {
        padding-bottom: calc(49 * var(--u));
    }

    .voice__box:last-child>.voice__body:has(.voice__interview:not([open])) {
        padding-bottom: calc(29 * var(--u));
    }

    .voice__comparison {
        grid-template-columns: calc(220 * var(--u)) calc(230 * var(--u));
        gap: calc(43 * var(--u));
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
    }

    .voice__before,
    .voice__after {
        font-size: calc(16 * var(--u));
        line-height: calc(29 * var(--u));
        padding: 0;
        min-width: calc(102 * var(--u));
        text-align: center;
    }

    .voice__comparison>div+div::before {
        top: calc(22 * var(--u));
        left: calc(-43 * var(--u));
        border-left-width: calc(24 * var(--u));
        border-top-width: calc(14 * var(--u));
        border-bottom-width: calc(14 * var(--u));
    }

    .voice__interview {
        margin-top: calc(35 * var(--u));
        padding: 0;
    }

    .voice__interview summary {
        font-size: calc(20 * var(--u));
        line-height: calc(32 * var(--u));
        list-style: none;
        display: table;
        padding: 0 calc(10 * var(--u)) calc(7 * var(--u));
        border-bottom: calc(1 * var(--u)) solid currentColor;
        text-decoration: none;
    }

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

    .voice__interview summary::after {
        content: '▶';
        padding-left: calc(10 * var(--u));
    }

    .voice__interview[open] summary::after {
        content: '▼';
    }

    .voice__interview__row {
        display: grid;
        grid-template-columns: calc(390 * var(--u)) 1fr;
        gap: calc(30 * var(--u));
        margin: 0 0 calc(34 * var(--u));
    }

    .voice__interview h4 + .voice__interview__row {
        margin-top: calc(32 * var(--u));
    }

    .voice__interview__row:last-child {
        margin-bottom: 0;
    }

    .voice__interview__row p {
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
    }

    .voice__interview__row .voice__interview__question {
        font-size: calc(20 * var(--u));
        line-height: calc(30 * var(--u));
        margin: 0;
    }

    .voice__interview h4 span {
        font-size: calc(20 * var(--u));
        margin-left: calc(24 * var(--u));
        text-shadow: none;
    }

    .voice__interview h4 {
        font: 700 calc(40 * var(--u))/calc(60 * var(--u)) 'Noto Sans JP', sans-serif;
        margin: calc(34 * var(--u)) 0 0;
        width: calc(523 * var(--u));
        border-color: var(--blue);
        padding-left: calc(27 * var(--u));
        text-shadow: calc(9 * var(--u)) calc(6 * var(--u)) 0 rgba(102, 202, 231, 0.35);
    }

    .voice__box h3 .voice__title_line .text_green {
        display: inline;
        margin-left: 0;
    }

    .voice__title_line {
        margin-left: calc(170 * var(--u));
    }

    .voice__title_line--remote {
        margin-left: calc(340 * var(--u));
    }

    .voice__subtitle {
        font-family: var(--serif);
        font-weight: 500;
    }

    .voice__before,
    .voice__after,
    .voice__interview summary,
    .voice__interview h4,
    .voice__interview__question {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 700;
    }

    /* 11_土地が広いから家づくりはもっと自由 */

    .dream_home h2,
    .dream_home__subtitle {
        grid-row: auto;
    }

    .dream_home {
        display: block;
        grid-template-columns: none;
        height: calc(781 * var(--u));
        padding: calc(132 * var(--u)) 0 0;
    }

    .dream_home h2 {
        padding: 0;
    }

    .dream_home>.dream_home__subtitle {
        margin: calc(22 * var(--u)) 0 calc(62 * var(--u));
    }

    .dream_home__slide_wrapper {
        grid-column: auto;
        grid-row: auto;
        min-width: auto;
        padding: 0 calc(284 * var(--u)) calc(24 * var(--u));
        gap: calc(27 * var(--u));
        scroll-padding-left: calc(284 * var(--u));
    }

    .dream_home__slide {
        flex: 0 0 calc(503 * var(--u));
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
        scroll-snap-align: start;
    }

    .dream_home__slide img {
        height: calc(285 * var(--u));
        width: calc(503 * var(--u));
        aspect-ratio: auto;
    }

    .dream_home__controls {
        grid-column: auto;
        grid-row: auto;
        align-self: auto;
        margin: 0;
        z-index: auto;
        position: absolute;
        top: calc(412 * var(--u));
        left: calc(238 * var(--u));
        right: calc(238 * var(--u));
        justify-content: space-between;
        pointer-events: none;
    }

    .dream_home__slide--clone {
        display: block;
    }

    .dream_home__controls button {
        width: calc(63 * var(--u));
        height: calc(63 * var(--u));
        font-size: calc(46 * var(--u));
        pointer-events: auto;
        position: relative;
        overflow: hidden;
        text-indent: -9999px;
    }

    .dream_home__slide__title {
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
        margin: calc(12 * var(--u)) 0 calc(4 * var(--u));
        font-family: 'Meiryo', 'Noto Sans JP', sans-serif;
        font-weight: 700;
    }

    .dream_home__subtitle {
        font-family: var(--serif);
        font-weight: 500;
    }

    /* 12_栃木の暮らしを知る家づくり */

    .advantage>img:nth-child(1) {
        position: absolute;
        left: 0;
        top: calc(125 * var(--u));
        width: calc(324 * var(--u));
        height: calc(503 * var(--u));
    }

    .advantage>img:nth-child(2) {
        position: absolute;
        left: calc(352 * var(--u));
        top: calc(46 * var(--u));
        width: calc(323 * var(--u));
        height: calc(503 * var(--u));
    }

    .advantage h2 {
        position: absolute;
        top: calc(239 * var(--u));
        right: calc(200 * var(--u));
        width: calc(600 * var(--u));
        font-size: calc(42 * var(--u));
        line-height: calc(63 * var(--u));
        text-align: right;
        margin: 0;
        white-space: nowrap;
    }

    .advantage>.advantage__subtitle {
        position: absolute;
        top: calc(383 * var(--u));
        right: calc(200 * var(--u));
        margin: 0;
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
    }

    .advantage__bg_text {
        top: calc(173 * var(--u));
        left: calc(1150 * var(--u));
        right: auto;
        font-size: calc(100 * var(--u));
        line-height: calc(147 * var(--u));
    }

    .advantage__point_wrapper {
        position: absolute;
        left: calc(324 * var(--u));
        top: calc(637 * var(--u));
        width: calc(1144 * var(--u));
        display: grid;
        grid-template-columns: calc(553 * var(--u)) calc(549 * var(--u));
        column-gap: calc(42 * var(--u));
        row-gap: calc(44 * var(--u));
    }

    .advantage__point {
        padding-left: calc(123 * var(--u));
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
    }

    .advantage__point>img,
    .advantage__point_img {
        width: calc(113 * var(--u));
        height: calc(113 * var(--u));
        left: 0;
        top: calc(12 * var(--u));
        padding: calc(25 * var(--u));
    }

    .advantage__point__title {
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
        margin: 0 0 calc(14 * var(--u));
        white-space: nowrap;
    }

    .advantage__point__text {
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
    }

    .advantage__town {
        width: calc(258 * var(--u));
        height: calc(144 * var(--u));
        margin-right: calc(80 * var(--u));
        align-self: center;
    }

    .advantage+.cta {
        padding: calc(56 * var(--u)) 0 calc(117 * var(--u));
    }

    .advantage__point .advantage__point_img {
        display: block;
        padding: 0;
    }

    .advantage__point:nth-child(3) .advantage__point_img,
    .advantage__point:nth-child(4) .advantage__point_img {
        top: 0;
    }

    .advantage {
        display: block;
        height: calc(1200 * var(--u));
        padding: 0;
        background: #fff url('../img/happa_h8.jpg') center/cover no-repeat;
        background-image: linear-gradient(to right, rgba(255,255,255,.95), rgba(255,255,255,.6)), url('../img/happa_h8.jpg');
    }

    .advantage::before {
        content: '';
        position: absolute;
        left: calc(198 * var(--u));
        top: calc(515 * var(--u));
        right: 0;
        bottom: 0;
        background: var(--paper);
        pointer-events: none;
    }

    .advantage__subtitle {
        font-family: var(--serif);
        font-weight: 500;
    }

    .advantage__point__num {
        font-size: calc(14 * var(--u));
        line-height: calc(22 * var(--u));
        font-weight: 700;
    }

    /* 14_移住したいけれど不安 */

    .support h2 {
        margin: 0;
    }

    .support>.support__subtitle {
        margin: calc(6 * var(--u)) 0 calc(53 * var(--u));
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
    }

    .support__item {
        width: calc(1040 * var(--u));
        height: calc(265 * var(--u));
        margin: 0 auto calc(54 * var(--u));
        padding-left: calc(549 * var(--u));
        position: relative;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .support__item img {
        position: absolute;
        left: 0;
        top: 0;
        width: calc(475 * var(--u));
        height: calc(265 * var(--u));
        margin: 0;
    }

    .support__item__summary {
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
        margin: calc(18 * var(--u)) 0 calc(10 * var(--u));
        white-space: nowrap;
    }

    .support__item__text {
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
    }

    .support {
        height: calc(1146 * var(--u));
        padding: calc(196 * var(--u)) 0 0;
        background-size: 100% 100%;
        background-image: none;
    }

    .support h2,
    .support>h2+p.support__subtitle,
    .support__item__title,
    .support__item__summary {
        font-family: 'Noto Sans JP', sans-serif;
    }

    .support h2,
    .support__item__title,
    .support__item__summary {
        font-weight: 700;
    }

    .support>h2+p.support__subtitle {
        font-weight: 500;
    }

    .support::before,
    .support::after {
        inset: auto;
        left: calc(198 * var(--u));
        top: calc(127 * var(--u));
        width: calc(1203 * var(--u));
        height: calc(895 * var(--u));
        border-radius: calc(30 * var(--u));
    }

    .support::after {
        background-size: calc(2771 * var(--u)) auto;
        background-position: calc(-247 * var(--u)) calc(-717 * var(--u));
        filter: blur(calc(6 * var(--u)));
        clip-path: inset(0 round calc(30 * var(--u)));
    }

    .support__item__title {
        position: relative;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: calc(36 * var(--u));
        line-height: calc(54 * var(--u));
        font-weight: 700;
        text-decoration: none;
        padding-bottom: 0;
    }

    .support__item__title::after {
        content: '';
        position: absolute;
        left: calc(-90 * var(--u));
        top: calc(54 * var(--u));
        width: calc(317 * var(--u));
        background: #fff;
        bottom: auto;
        max-width: none;
        height: calc(2 * var(--u));
    }

    .support__item__title::before {
        left: calc(219.5 * var(--u));
        top: calc(49.5 * var(--u));
        bottom: auto;
        width: calc(10 * var(--u));
        height: calc(10 * var(--u));
    }

    /* 15_Blog */

    .blog {
        width: calc(1200 * var(--u));
        min-height: calc(612 * var(--u));
        padding: calc(100 * var(--u)) 0 0;
    }

    .blog h2 {
        font-size: calc(60 * var(--u));
        line-height: calc(90 * var(--u));
    }

    .blog>.blog__subtitle {
        margin: calc(3 * var(--u)) 0 calc(44 * var(--u));
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
    }

    .blog__item_wrapper {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: calc(36 * var(--u));
    }

    .blog__item img {
        height: calc(183 * var(--u));
        aspect-ratio: auto;
    }

    .blog__item__date {
        font-size: calc(16 * var(--u));
        line-height: calc(24 * var(--u));
        margin-top: calc(6 * var(--u));
    }

    .blog__item__title {
        font-size: calc(18 * var(--u));
        line-height: calc(27 * var(--u));
        margin-top: 0;
    }

    .blog__item__text {
        font-size: calc(14 * var(--u));
        line-height: calc(21 * var(--u));
        margin-top: calc(8 * var(--u));
    }

    /* 16_おすすめ土地情報MAP */

    .map {
        width: calc(1200 * var(--u));
        height: calc(1519 * var(--u));
        padding: calc(113 * var(--u)) 0 calc(120 * var(--u));
    }

    .map>.map__subtitle {
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
        margin: calc(4 * var(--u)) 0 calc(62 * var(--u));
    }

    /* 17_よくある質問 */

    .faq {
        padding: calc(110 * var(--u)) 0 calc(120 * var(--u));
    }

    .faq h2 {
        margin-bottom: calc(69 * var(--u));
    }

    .faq__item {
        width: calc(1003 * var(--u));
        max-width: none;
        margin: 0 auto calc(17 * var(--u));
        padding: calc(14 * var(--u)) calc(50 * var(--u));
        font-size: calc(16 * var(--u));
    }

    .faq__item:last-child {
        margin-bottom: 0;
    }

    .faq__item summary::before,
    .faq__item__answer::before {
        width: calc(60 * var(--u));
        height: calc(60 * var(--u));
        font-size: calc(30 * var(--u));
        line-height: calc(60 * var(--u));
    }

    .faq__item summary::after {
        right: 0;
        top: calc(16 * var(--u));
    }

    .faq__item__answer {
        margin: 0;
        padding: calc(28 * var(--u)) 0 0 calc(88 * var(--u));
        min-height: calc(76 * var(--u));
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
    }

    .faq__item__answer::before {
        top: calc(16 * var(--u));
    }

    .faq__item summary {
        font-size: calc(20 * var(--u));
        line-height: calc(32 * var(--u));
        min-height: calc(74 * var(--u));
        padding: calc(16 * var(--u)) calc(40 * var(--u)) 0 calc(88 * var(--u));
        font-weight: 700;
    }

    /* 18_まずは話してみませんか */

    .consultation {
        display: grid;
        grid-template-columns: repeat(3, calc(374 * var(--u)));
        gap: 0 calc(41 * var(--u));
        height: calc(960 * var(--u));
        padding: calc(657 * var(--u)) calc(200 * var(--u)) 0;
        background: var(--paper);
    }

    .consultation::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: calc(603 * var(--u));
        background: linear-gradient(to right, rgba(250, 250, 250, 0) 22%, rgba(250, 250, 250, .1) 33%, rgba(250, 250, 250, .35) 40%, rgba(250, 250, 250, .65) 46%, rgba(250, 250, 250, .85) 51%, rgba(250, 250, 250, .96) 55%, #fafafa 59%), url('../img/2606_02_01.jpg') 0 0/auto 100% no-repeat, #fafafa;
        pointer-events: none;
    }

    .consultation>img {
        display: none;
    }

    .consultation h2 {
        position: absolute;
        top: calc(179 * var(--u));
        right: calc(212 * var(--u));
        font-size: calc(42 * var(--u));
        line-height: calc(63 * var(--u));
        margin: 0;
        text-align: right;
    }

    .consultation__bg_text {
        top: calc(106 * var(--u));
        left: calc(1029 * var(--u));
        right: auto;
        font-size: 120px;
        color: #00a6d7;
        opacity: .6;
        white-space: nowrap;
        line-height: 1.2;
    }

    .consultation__text {
        position: absolute;
        right: calc(201 * var(--u));
        top: calc(339 * var(--u));
        width: calc(420 * var(--u));
        font-size: calc(18 * var(--u));
        line-height: calc(36 * var(--u));
        text-align: right;
    }

    .consultation__text p+p {
        margin-top: calc(32 * var(--u));
    }

    .consultation__cta {
        height: calc(184 * var(--u));
        padding: 0;
        align-self: start;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .consultation__cta__ja {
        font-size: calc(24 * var(--u));
        line-height: calc(36 * var(--u));
    }

    .consultation__cta__en {
        font-size: calc(16 * var(--u));
        line-height: calc(26 * var(--u));
        margin-top: calc(9 * var(--u));
    }

    .consultation__cta__ja,
    .consultation__cta__en {
        font-weight: 700;
    }

    /* 19_フッター */

    .footer {
        height: calc(279 * var(--u));
        padding: calc(77 * var(--u)) calc(200 * var(--u)) 0;
        font-size: calc(16 * var(--u));
    }

    .footer__wrapper {
        display: flex;
        justify-content: space-between;
        gap: calc(50 * var(--u));
        height: calc(160 * var(--u));
    }

    .footer__logo img {
        width: calc(150 * var(--u));
    }

    .footer__about {
        align-items: flex-start;
        gap: calc(29 * var(--u));
        margin: 0;
    }

    .footer__contact {
        margin-top: calc(32 * var(--u));
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
        white-space: nowrap;
    }

    .footer__navList {
        gap: calc(26 * var(--u));
        margin: 0;
        flex-wrap: nowrap;
    }

    .footer__navLink {
        font-size: calc(16 * var(--u));
        line-height: calc(25.6 * var(--u));
        white-space: nowrap;
    }

    .footer__navLists+.footer__navLists {
        margin-top: calc(35 * var(--u));
    }

    .footer__navLists+.footer__navLists ul {
        justify-content: flex-end;
        gap: calc(36 * var(--u));
        font-size: calc(16 * var(--u));
    }

    .footer__copyright {
        margin: 0 calc(-200 * var(--u));
        height: calc(43 * var(--u));
        font-size: calc(16 * var(--u));
        line-height: calc(43 * var(--u));
        padding: 0;
    }

    .back_top {
        width: 83px;
        height: 83px;
        bottom: calc(24 * var(--u));
        right: calc(67 * var(--u));
    }
}
