.u-desktop,
.u-pc {
    display: block;
}

.u-mobile,
.u-sp {
    display: none;
}

@font-face {
    src: url("../fonts/constantia.ttf") format("truetype");
    font-display: swap;
    font-family: "Constantia";
    font-style: normal;
    font-weight: normal;
}

body {
    color: #000;
    font-family: "Shippori Mincho", serif, sans-serif;
    padding-top: 80px;
    padding-top: 5rem;
}

html {
    scrollbar-gutter: stable;
    scroll-behavior: smooth;
}

/* ブラウザ標準のスムーススクロール */

/* リキッドレイアウト対応 */

html {
    font-size: 16px;
}

*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* Remove default padding */

ul,
ol {
    padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
    margin: 0;
}

/* Set core root defaults */

html {
    scroll-behavior: smooth;
}

/* Set core body defaults */

body {
    line-height: 1.5;
    min-height: 100vh;
    text-rendering: optimizeLegibility;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
    list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

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

/* Natural flow and rhythm in articles by default */

article > * + * {
    margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
    font: inherit;
}

/* Blur images when they have no alt attribute */

img:not([alt]) {
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
    -webkit-filter: blur(10px);
    filter: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    border: none;
    border-radius: 0;
    font: inherit;
    outline: none;
}

textarea {
    resize: vertical;
}

input[type="checkbox"],
input[type="radio"] {
    display: none;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
    cursor: pointer;
}

select::-ms-expand {
    display: none;
}

/* ホバー */

a {
    color: inherit;
    text-decoration: none;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

address {
    font-style: normal;
}

table {
    width: 100%;
}

/* support iOS */

html {
    height: -webkit-fill-available;
    height: 100%;
}

body {
    min-height: 100vh;
    min-height: 100svh;
    min-height: -webkit-fill-available;
}

figure {
    line-height: 0;
}

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

.pctb_only{
	display: block;
}
.pc_only{
	display: block;
}
.mb_only{
	display: none;
}
.sm_only{
	display: none;
}
.tb_only{
	display: none;
}
.no_link{
	pointer-events: none;
	filter: alpha(opacity=30);
-ms-filter: "alpha( opacity=30 )"; 
-moz-opacity:0.30;
opacity:0.30;
zoom:1;
}
.no_link2{
	pointer-events: none;
	filter: alpha(opacity=60);
-ms-filter: "alpha( opacity=60 )"; 
-moz-opacity:0.60;
opacity:0.60;
zoom:1;
}
@media screen and (max-width: 768px) {
	.mb_only{
	display: block;
}
	.pc_only{
	display: none;
}
	.tb_only{
	display: block;
}
	.sm_only{
	display: none;
}
}


.kasai_top_yokoku_box{
	width: 100%;
	max-width: 800px;
	margin: 0 auto 0px;
	padding: 20px;
	border: solid 1px #595757;
	box-sizing: border-box;
}
.kasai_top_yokoku_box figure{
	width: 100%;
	margin: 0 auto 10px;
	/*width: 5rem;*/
	font-family: "Noto Serif JP", serif;
	font-size: max(1.2vw,20px);
	line-height: 115%;
	font-weight: 400;
	letter-spacing: 0.1rem;
	text-align: center;
	border-bottom: solid 1px #595757;
	padding-bottom: 10px;
}
.kasai_top_yokoku_box p{
	width: 100%;
	margin: 0 auto;
	font-family: "Noto Serif JP", serif;
	font-size: max(0.7vw,11px);
	line-height: 200%;
	font-weight: 400;
	text-align: center;
	/*text-align: justify;
	text-justify: inter-ideograph;*/
}

@media screen and (max-width: 600px) {
	.sm_only{
	display: block;
}
	.pctb_only{
	display: none;
}
.pc_only{
	display: none;
}
	.tb_only{
	display: none;
}
	.kasai_top_yokoku_box p{
	text-align: left;
	text-align: justify;
	text-justify: inter-ideograph;
}
}

.p-access__hero-title.l-page-hero__title {
    color: #000;
}

.p-access__title {
    color: #22393d;
    font-size: 32px;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1.875;
    text-align: center;
}

.p-access__text {
    color: #22393d;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2;
    text-align: center;
}

.p-access-terminal {
    margin-top: 94px;
    margin-top: 5.875rem;
}

.p-access-terminal__inner.l-inner {
    max-width: 1762px;
    max-width: 110.125rem;
}

.p-access-terminal__content {
    text-align: center;
}

.p-access-terminal__text {
    margin-top: 56px;
    margin-top: 3.5rem;
}

.p-access-terminal__thumbnails {
    grid-gap: 0px 1.75rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 100px;
    margin-top: 6.25rem;
}

.p-access-terminal__thumb {
    max-width: 554px;
    max-width: 34.625rem;
    position: relative;
}

.p-access-terminal__thumb-desc {
    color: #fff;
    left: 50%;
    position: absolute;
    text-align: center;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.74);
    text-shadow: 0 0 0.625rem rgba(0, 0, 0, 0.74);
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 2;
}

.p-access-terminal__thumb-desc-title {
    font-family: "EB Garamond", serif;
    font-size: 48px;
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1;
    text-transform: uppercase;
}

.p-access-terminal__thumb-desc-text {
    font-family: "EB Garamond", serif;
    font-size: 54px;
    font-size: 3.375rem;
    letter-spacing: 0em;
}

.p-access-terminal__thumb-desc-text .-sm {
    font-size: 44px;
    font-size: 2.75rem;
}

.p-access-terminal__map {
    margin-inline: auto;
    margin-top: 148px;
    margin-top: 9.25rem;
    max-width: 1200px;
    max-width: 75rem;
    width: 100%;
}

.p-access-terminal__map img {
    display: block;
    height: auto;
    width: 100%;
}

.p-access-transfer {
    margin-top: 108px;
    margin-top: 6.75rem;
}

.p-access-transfer__img-top-text {
    border-bottom: 1px solid #1a1311;
    font-size: 21px;
    font-size: 1.3125rem;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.5;
    padding-bottom: 14px;
    padding-bottom: 0.875rem;
}

.p-access-transfer__img-top-text .-sm {
    font-size: 16px;
    font-size: 1rem;
}

.p-access-transfer__img-top {
    display: block;
    margin-top: 19px;
    margin-top: 1.1875rem;
    width: 100%;
}

.p-access-transfer__title {
    margin-top: 116px;
    margin-top: 7.25rem;
}

.p-access-transfer__text {
    margin-top: 40px;
    margin-top: 2.5rem;
}

.p-access-transfer__text-note {
    font-size: 10px;
    font-size: 0.625rem;
    font-weight: 400;
    margin-top: 16px;
    margin-top: 1rem;
    text-align: center;
}

.p-access-transfer__img-bottom {
    margin-top: 82px;
    margin-top: 5.125rem;
}

.p-access-simulation {
    margin-top: 112px;
    margin-top: 7rem;
}

.p-access-simulation img {
    margin-top: 50px;
    margin-top: 3.125rem;
}

.p-access-bus {
    margin-top: 143px;
    margin-top: 8.9375rem;
    padding-bottom: 224px;
    padding-bottom: 14rem;
}

.p-access-bus__text {
    margin-top: 40px;
    margin-top: 2.5rem;
}

.p-access-bus img {
    margin-top: 76px;
    margin-top: 4.75rem;
}

.p-concept__hero-title.l-page-hero__title {
    color: #000;
}

.p-concept__bg {
    position: relative;
}

.p-concept__bg::before {
    inset: 0;
    background: url("../images/concept/concept_bg.webp") no-repeat center center/cover;
    content: "";
    height: 100vh;
    left: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: -1;
}

.p-concept__bg > * {
    position: relative;
    z-index: 2;
}

.p-concept__desc {
    color: #e6d9c0;
    max-width: 600px;
    max-width: 37.5rem;
}

.p-concept__desc.--sm .p-concept__desc-title {
    font-size: 24px;
    font-size: 1.5rem;
}

.p-concept__desc-title {
    font-size: 32px;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1.875;
}

.p-concept__desc-title.--ls {
    letter-spacing: 0.1em;
}

.p-concept__desc-text {
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-top: 36px;
    margin-top: 2.25rem;
}

.p-concept-section__img-wrap {
    position: relative;
}

.p-concept-section__img {
    position: absolute;
}

.p-concept-location {
    margin-top: 152px;
    margin-top: 9.5rem;
}

.p-concept-location__media {
    grid-gap: 0px 0px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.p-concept-location__media-left {
    padding-right: 83px;
    padding-right: 5.1875rem;
}

.p-concept-location__desc {
    padding-left: 83px;
    padding-left: 5.1875rem;
}

.p-concept-location__media-left-img {
    margin-top: 50px;
    margin-top: 3.125rem;
}

.p-concept-location__media-right {
    padding-top: 48px;
    padding-top: 3rem;
}

.p-concept-location__img {
    margin-top: 130px;
    margin-top: 8.125rem;
}

.p-concept-area {
    margin-top: 142px;
    margin-top: 8.875rem;
    padding-bottom: 185px;
    padding-bottom: 11.5625rem;
}

.p-concept-area__media {
    grid-gap: 0px 0px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.p-concept-area__media-right {
    padding-inline: 53px 83px;
    padding-inline: 3.3125rem 5.1875rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 35px;
    padding-bottom: 2.1875rem;
}

.p-concept-area__note {
    width: 195px;
    width: 12.1875rem;
}

.p-concept-area__img {
    margin-inline: auto;
    margin-top: 130px;
    margin-top: 8.125rem;
    max-width: 1200px;
    max-width: 75rem;
}

.p-concept-shopping {
    margin-top: 154px;
    margin-top: 9.625rem;
}

.p-concept-shopping__content {
    padding-right: 117px;
    padding-right: 7.3125rem;
}

.p-concept-shopping__desc {
    margin-left: 117px;
    margin-left: 7.3125rem;
    margin-top: -300px;
    margin-top: -18.75rem;
}

.p-concept-gourmet {
    margin-top: 82px;
    margin-top: 5.125rem;
    padding-bottom: 236px;
    padding-bottom: 14.75rem;
}

.p-concept-gourmet__content {
    padding-left: 117px;
    padding-left: 7.3125rem;
}

.p-concept-gourmet__desc {
    margin-top: -188px;
    margin-top: -11.75rem;
}

.p-concept-park {
    margin-top: 208px;
    margin-top: 13rem;
    padding-bottom: 264px;
    padding-bottom: 16.5rem;
}

.p-concept-park__desc.p-concept__desc {
    margin-inline: auto 200px;
    margin-inline: auto 12.5rem;
    margin-top: -363px;
    margin-top: -22.6875rem;
    max-width: 512px;
    max-width: 32rem;
}

.p-concept-position {
    margin-top: 5px;
    margin-top: 0.3125rem;
}

.p-concept-position__inner.l-inner {
    max-width: 1840px;
    max-width: 115rem;
}

.p-concept-position__content {
    gap: 104px;
    gap: 6.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.p-concept-position__img {
    max-width: 978px;
    max-width: 61.125rem;
}

.p-concept-position__desc.p-concept__desc {
    color: #22393d;
    padding-top: 194px;
    padding-top: 12.125rem;
}

.p-concept-access {
    margin-top: -307px;
    margin-top: -19.1875rem;
    padding-bottom: 147px;
    padding-bottom: 9.1875rem;
}

.p-concept-access__content {
    padding-left: 117px;
    padding-left: 7.3125rem;
}

.p-concept-access__desc.p-concept__desc {
    color: #22393d;
    margin-top: -224px;
    margin-top: -14rem;
    padding-left: 83px;
    padding-left: 5.1875rem;
}

.p-design {
    position: relative;
}

.p-design::before {
    inset: 0;
    background: url("../images/design/design_bg.webp") no-repeat center center/cover;
    content: "";
    height: 100vh;
    left: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100vw;
    z-index: -1;
}

.p-design > * {
    position: relative;
    z-index: 2;
}

.p-design__about-content {
    padding-block: 90px 115px;
    padding-block: 5.625rem 7.1875rem;
}

.p-design__about-title {
    color: #e6d9c0;
    font-size: 32px;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1.875;
    text-align: center;
}

.p-design__about-text {
    color: #e6d9c0;
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 57px;
    margin-top: 3.5625rem;
    text-align: center;
}

.p-design__entrance-content {
    padding-block: 35px 80px;
    padding-block: 2.1875rem 5rem;
}

.p-design__entrance-title {
    color: #e6d9c0;
}

.p-design__entrance-title .-en {
    color: #e6d9c0;
    font-family: "EB Garamond", serif;
    font-size: 40px;
    font-size: 2.5rem;
    font-weight: 400;
    letter-spacing: 0.2em;
}

.p-design__entrance-title .-ja {
    color: #e6d9c0;
    font-size: 32px;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.15em;
}

.p-design__entrance-text {
    padding-block: 8px;
    padding-block: 0.5rem;
    color: #e6d9c0;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-top: 34px;
    margin-top: 2.125rem;
    max-width: 670px;
    max-width: 41.875rem;
    padding-left: 42px;
    padding-left: 2.625rem;
    position: relative;
}

.p-design__entrance-text::before {
    background-color: #e6d9c0;
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 4px;
    width: 0.25rem;
}

.p-design__facade-content {
    padding-top: 36px;
    padding-top: 2.25rem;
}

.p-design__landplan-content {
    padding-top: 123px;
    padding-top: 7.6875rem;
    position: relative;
}

.p-design__landplan-img {
    -o-object-fit: contain;
    height: auto;
    max-width: 952px;
    max-width: 59.5rem;
    object-fit: contain;
    position: absolute;
    right: -232px;
    right: -14.5rem;
    top: 0;
    width: auto;
}

.p-design__landplan-text {
    color: #e6d9c0;
    font-size: 18px;
    font-size: 1.125rem;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-top: 32px;
    margin-top: 2rem;
    max-width: 500px;
    max-width: 31.25rem;
}

.p-design__landplan-list {
    gap: 33px 97px;
    gap: 2.0625rem 6.0625rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    list-style: none;
    margin: 0;
    margin-top: 160px;
    margin-top: 10rem;
    padding: 0;
}

.p-design__landplan-item {
    gap: 20px;
    gap: 1.25rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: grid;
    grid-template-columns: auto 1fr;
    max-width: 554px;
    max-width: 34.625rem;
}

.p-design__landplan-item:nth-child(1),
.p-design__landplan-item:nth-child(2) {
    grid-column: 1/-1;
}

.p-design__landplan-num {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #e6d9c0;
    border-radius: 0.25rem;
    color: #000000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-family: "EB Garamond", serif;
    font-size: 25px;
    font-size: 1.5625rem;
    height: 34px;
    height: 2.125rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: 0em;
    width: 34px;
    width: 2.125rem;
}

.p-design__landplan-item-title {
    color: #e6d9c0;
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: 0em;
}

.p-design__landplan-item-text {
    color: #e6d9c0;
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: 0.05em;
    margin: 0;
    margin-top: 8px;
    margin-top: 0.5rem;
}

.p-design__landplan-item-text-note {
    color: #e6d9c0;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0em;
}

.p-design__designer {
    margin-block: 156px 83px;
    margin-block: 9.75rem 5.1875rem;
}

.p-design__designer-content {
    border: 1px solid #e6d9c0;
    color: #e6d9c0;
    padding: 60px 130px 88px 100px;
    padding: 3.75rem 8.125rem 5.5rem 6.25rem;
}

.p-design__designer-title {
    font-size: 26px;
    font-size: 1.625rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.p-design__designer-media {
    gap: 42px;
    gap: 2.625rem;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: grid;
    grid-template-columns: 1fr 14.75rem;
    margin-top: 20px;
    margin-top: 1.25rem;
}

.p-design__designer-head {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    border-bottom: 1px solid #707070;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-bottom: 10px;
    padding-bottom: 0.625rem;
}

.p-design__designer-name {
    gap: 10px;
    gap: 0.625rem;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.p-design__designer-name .-ja {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.5;
}

.p-design__designer-label {
    font-family: "EB Garamond", serif;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: 0.18em;
}

.p-design__designer-text {
    font-size: 15px;
    font-size: 0.9375rem;
    letter-spacing: 0.05em;
    line-height: 1.9;
    margin-top: 18px;
    margin-top: 1.125rem;
    text-align: justify;
}

.p-design__designer-awards {
    gap: 18px;
    gap: 1.125rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 20px;
    margin-top: 1.25rem;
}

.p-design__designer-awards-title {
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 0.05em;
}

.p-design__designer-awards-list {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.75;
    list-style: none;
    margin: 0;
    padding: 0;
}

.p-design__designer-visual {
    max-width: 236px;
    max-width: 14.75rem;
}

.p-location-facility-grid {
    grid-gap: 0px 2rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 70px;
    margin-top: 4.375rem;
}

.p-location-facility-grid__col {
    gap: 40px;
    gap: 2.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.p-location-facility-grid__col--left {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.p-location-facility-grid__col--right {
    gap: 1px;
}

.p-location-facility-grid__col--right .p-location-facility-item--row:nth-child(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

.p-location-facility-grid__col--right .p-location-facility-item--row:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    text-align: right;
}

/* 20260513 ADD START */
.p-location-facility-grid__col--right
    .p-location-facility-item--row:nth-child(odd).p-location-facility-item--reverse {
    flex-direction: row-reverse;
    text-align: right;
}

.p-location-facility-grid__col--right
    .p-location-facility-item--row:nth-child(even).p-location-facility-item--reverse {
    flex-direction: row;
    text-align: left;
}
/* 20260513 ADD END */

.p-location-facility-item {
    gap: 8px;
    gap: 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.p-location-facility-item__caption {
    color: #22393d;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
}

.p-location-facility-item--row {
    gap: 18px;
    gap: 1.125rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.p-location-facility-item--row .p-location-facility-item__img {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: 240px;
    max-width: 15rem;
    width: 100%;
}

.p-location-facility-item--row .p-location-facility-item__caption {
    border-bottom: 1px solid #707070;
    padding-bottom: 8px;
    padding-bottom: 0.5rem;
    width: 100%;
}

.p-location__hero-title.l-page-hero__title {
    color: #000;
}

.p-location__sec__mv-img {
    position: relative;
}

.p-location__sec__mv-title {
    font-family: "EB Garamond", serif;
    font-size: 58px;
    font-size: 3.625rem;
    font-weight: 400;
    left: 50%;
    letter-spacing: 0em;
    line-height: 1.2931034483;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.p-location__sec__mv-title.--white {
    color: #fff;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.36);
    text-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.36);
}

.p-location__sec__mv-title--park {
    color: #000;
}

.p-location__sec__mv-title--gourmet {
    color: #fff;
    font-size: 48px;
    font-size: 3rem;
    left: 175px;
    left: 10.9375rem;
    position: absolute;
    top: 68px;
    top: 4.25rem;
}

.p-location-about {
    margin-top: 94px;
    margin-top: 5.875rem;
    text-align: center;
}

.p-location-about__title {
    color: #22393d;
    font-size: 32px;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1.875;
    text-align: center;
}

.p-location-about__text {
    color: #22393d;
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 2;
    margin-top: 57px;
    margin-top: 3.5625rem;
    text-align: center;
}

.p-location-about__img {
    margin-inline: auto;
    margin-top: 76px;
    margin-top: 4.75rem;
    max-width: 1200px;
    max-width: 75rem;
    mix-blend-mode: multiply;
    padding-left: 77px;
    padding-left: 4.8125rem;
}

.p-location-shopping {
    margin-top: 94px;
    margin-top: 5.875rem;
}

.p-location-gourmet {
    margin-top: 94px;
    margin-top: 5.875rem;
}

.p-location-gourmet__content {
    position: relative;
}

.p-location-gourmet__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    left: 50%;
    padding: 100px 83px 38px;
    padding: 6.25rem 5.1875rem 2.375rem;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
}

.p-location-gourmet__intro {
    color: #fff;
}

.p-location-gourmet__title {
    font-family: "EB Garamond", serif;
    font-size: 48px;
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0em;
}

.p-location-gourmet__lead {
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-top: 16px;
    margin-top: 1rem;
}

.p-location-gourmet__text {
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-top: 30px;
    margin-top: 1.875rem;
    max-width: 550px;
    max-width: 34.375rem;
}

.p-location-gourmet-grid {
    gap: 49px;
    gap: 3.0625rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.p-location-gourmet-grid__item {
    gap: 8px;
    gap: 0.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin: 0;
}

.p-location-gourmet-grid__img {
    display: block;
}

.p-location-gourmet-grid__img img {
    height: auto;
    width: 100%;
}

.p-location-gourmet-grid__caption {
    color: #22393d;
    font-size: 16px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    white-space: normal;
}

.p-location-education {
    margin-top: 258px;
    margin-top: 16.125rem;
}

.p-location-education__support {
    margin-top: 86px;
    margin-top: 5.375rem;
}

.p-location-education__support-head {
    gap: 48px;
    gap: 3rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.p-location-education__support-text {
    font-family: "EB Garamond", serif;
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 400;
    letter-spacing: 0em;
}

.p-location-education__support-title {
    font-size: 30px;
    font-size: 1.875rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    margin-top: 4px;
    margin-top: 0.25rem;
    white-space: nowrap;
}

.p-location-education__support-head-img {
    margin-top: 30px;
    margin-top: 1.875rem;
}

.p-location-education__support-img {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: 304px;
    max-width: 19rem;
    width: 100%;
}

.p-location-education__support-content {
    margin-top: 48px;
    margin-top: 3rem;
}

.p-location-park {
    margin-top: 94px;
    margin-top: 5.875rem;
}

.p-location-temple {
    margin-top: 94px;
    margin-top: 5.875rem;
}

.p-location-medical {
    margin-top: 94px;
    margin-top: 5.875rem;
}

.p-location-medical__facilities {
    margin-top: 85px;
    margin-top: 5.3125rem;
}

.p-location-medical__facilities-sec:nth-of-type(n + 2) {
    margin-top: 48px;
    margin-top: 3rem;
}

.p-location-medical__facilities-sec-grid {
    grid-gap: 0px 2.375rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 25px;
    margin-top: 1.5625rem;
}

.p-location-medical__facilities-sec__title {
    gap: 13px;
    gap: 0.8125rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: "EB Garamond", serif;
    font-size: 48px;
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.2916666667;
    white-space: nowrap;
}

.p-location-medical__facilities-sec__title::after {
    background-color: #000;
    content: "";
    display: block;
    height: 1px;
    margin-top: 16px;
    margin-top: 1rem;
    width: 100%;
}

.p-location-area-info {
    margin-top: 156px;
    margin-top: 9.75rem;
    padding-bottom: 186px;
    padding-bottom: 11.625rem;
}

.p-location-area-info__title {
    font-family: "EB Garamond", serif;
    font-size: 48px;
    font-size: 3rem;
    font-weight: 400;
    letter-spacing: 0em;
    line-height: 1.2916666667;
    text-align: center;
}

.p-location-area-info__img:first-of-type {
    margin-top: 45px;
    margin-top: 2.8125rem;
}

.p-location-area-info__img:last-of-type {
    margin-top: 60px;
    margin-top: 3.75rem;
}

.p-map {
    padding-bottom: 106px;
    padding-bottom: 6.625rem;
}

.p-map__block:nth-of-type(n + 2) {
    margin-top: 160px;
    margin-top: 10rem;
}

.p-map__img-wrap {
    overflow: hidden;
}

.p-map__img {
    display: block;
    height: auto;
    vertical-align: top;
    width: 100%;
}

.p-map__btn-wrap {
    margin-top: 104px;
    margin-top: 6.5rem;
}

.p-map__btn {
    margin-inline: auto;
    padding-block: 16px;
    padding-block: 1rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #22393d;
    border-radius: 0.3125rem;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: "EB Garamond", serif;
    font-size: 32px;
    font-size: 2rem;
    font-weight: 400;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: 0.05em;
    line-height: 1.1;
    max-width: 600px;
    max-width: 37.5rem;
    min-height: 100px;
    min-height: 6.25rem;
    text-align: center;
}

.p-map__btn--sm {
    font-size: 24px;
    font-size: 1.5rem;
}

.p-outline {
    padding-bottom: 227px;
    padding-bottom: 14.1875rem;
}

.p-outline__list-title {
    padding-block: 10px;
    padding-block: 0.625rem;
    border-bottom: 1px solid #707070;
    color: #22393d;
    font-size: 18px;
    font-size: 1.125rem;
    font-weight: 700;
    font-weight: 400;
    letter-spacing: 0em;
}

.p-outline__list-title:nth-of-type(n + 2) {
    margin-top: 94px;
    margin-top: 5.875rem;
}

.p-outline__row {
    grid-gap: 0 3.5625rem;
    border-bottom: 1px solid #707070;
    color: #22393d;
    display: grid;
    font-size: 18px;
    font-size: 1.125rem;
    grid-template-columns: 18.75rem 1fr;
    letter-spacing: 0em;
    margin: 0;
    padding: 0;
}

.p-outline__row dt {
    padding-block: 18px;
    padding-block: 1.125rem;
    font-weight: 400;
    margin: 0;
}

.p-outline__row dd {
    padding-block: 18px;
    padding-block: 1.125rem;
    margin: 0;
}

.p-outline__row dd p + p {
    margin-top: 24px;
    margin-top: 1.5rem;
}

.p-outline__notice {
    font-size: 18px;
    font-size: 1.125rem;
    letter-spacing: 0em;
    line-height: 1.7;
    margin-top: 24px;
    margin-top: 1.5rem;
}

.p-outline__notice p {
    margin: 0;
}

.p-outline__notice p + p {
    margin-top: 12px;
    margin-top: 0.75rem;
}

.p-outline__notice-title {
    font-weight: 700;
    margin: 0 0 12px;
    margin: 0 0 0.75rem;
}

.p-top_aoto_img{
	position: relative;
	width: 100%;
	margin: 0 auto;
}
.p-top_aoto_img img{
	width: 100%;
	height: auto;
}
.p-top_aoto_img_pop01{
	position: absolute;
	top: 50%;
    left: 50%;
    transform:  translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.p-top_aoto_img_pop02{
	position: absolute;
	bottom: 0;
	right: 0px;
	text-align: right;
	font-size: max(0.6vw,10px);
	color: #ffffff;
}
.p-top_aoto_img_pop02 span{
	background: rgba(0,0,0,0.2);
	padding: 0px 5px;
}
.p-top_aoto_obi01{
	width: 100%;
	margin: 0 auto;
	background: url("../images/suncradle_bk.png") top center no-repeat,#a39d98;
	background-size: 100% auto;
	padding: 0px 5%;
}
.p-top_aoto_obi01_in{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 30px 0px 0px;
	color: #ffffff;
	font-size: max(0.9vw,16px);
}
.p-top_aoto_obi01_in span{
	font-size: 400%;
}
@media screen and (max-width: 600px) {
	.p-top_aoto_obi01_in span{
	font-size: 230%;
}
	.p-top_aoto_obi01_in{
	font-size: max(0.9vw,13px);
}
}

.p-top_aoto_obi02_in{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 50px 0px 50px;
}

.p-top-about {
    height: 450vh;
}

.p-top-about__sticky {
    height: 100vh;
    overflow: hidden;
    position: sticky;
    top: 0;
}

.p-top-about__media {
    inset: 0;
    overflow: hidden;
    position: absolute;
}

.p-top-about__img {
    -o-object-fit: cover;
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
    -webkit-filter: blur(0);
    filter: blur(0);
    height: 100%;
    object-fit: cover;
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    width: 100%;
}

.p-top-about__overlay {
    inset: 0;
    background-color: #264146;
    mix-blend-mode: multiply;
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.p-top-about__scroll-content {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: -100vh;
    min-height: 350vh;
    padding-top: 300vh;
}

.p-top-about__content-inner.l-inner {
    max-width: 840px;
    max-width: 52.5rem;
}

.p-top-about__content {
    color: #e6d9c0;
    position: relative;
    text-align: center;
    z-index: 2;
}

.p-top-about__logo {
    margin-inline: auto;
    max-width: 308px;
    max-width: 19.25rem;
}

.p-top-about__catch {
    font-size: 38px;
    font-size: 2.375rem;
    font-weight: 400;
    letter-spacing: 0.15em;
    line-height: 1.5;
    margin-top: 106px;
    margin-top: 6.625rem;
}

.p-top-about__text {
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 2;
    margin-top: 80px;
    margin-top: 5rem;
}

.p-top-about__link.c-link {
    margin-inline: auto;
    color: #e6d9c0;
    margin-top: 70px;
    margin-top: 4.375rem;
}

.p-top-about__link.c-link::before {
    background-color: #e6d9c0;
}

.p-top-about__link.c-link::after {
    background-color: #e6d9c0;
}

.p-top-about__notice {
    bottom: 22px;
    bottom: 1.375rem;
    color: #fff;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    position: absolute;
    right: 13px;
    right: 0.8125rem;
    z-index: 2;
}

.p-top-access .p-top__sec-content {
    max-width: 530px;
    max-width: 33.125rem;
}

.p-top-hero {
    overflow: hidden;
}

.p-top-hero__inner {
    height: 100%;
    width: 100%;
}

.p-top-hero__video {
    width: 100%;
}

.p-top-info {
    padding-block: 74px 92px;
    padding-block: 4.625rem 5.75rem;
    position: relative;
}

.p-top-info::before {
    inset: 0;
    background: url("../images/top/info_bg.webp") no-repeat center center/cover;
    content: "";
    opacity: 1;
    position: absolute;
    z-index: 0;
}

.p-top-info > * {
    position: relative;
    z-index: 1;
}

.p-top-info .iframe-content {
    margin-inline: auto;
    /* margin-top: 20px;
    margin-top: 1.25rem; */
    /* max-width: 1000px;
    max-width: 62.5rem; */
    margin-block: 3.375rem 2.5rem;
    max-width: 37.5rem;
    width: 100%;
    /* width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content; */
}

/* div.body-information {
    font-size: 0.875rem;
} */

iframe {
    width: 100%;
}

.p-top-info__inner.l-inner {
    max-width: 1200px;
    max-width: 75rem;
    text-align: center;
}

.p-top-info__divider {
    margin-block: 54px 40px;
    margin-block: 3.375rem 2.5rem;
    background-color: #707070;
    height: 1px;
}

.p-top-info__copy {
    font-size: 40px;
    font-size: 2.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-align: center;
}

.p-top-info__label {
    font-family: "EB Garamond", serif;
    font-size: 23px;
    font-size: 1.4375rem;
    letter-spacing: 0.1em;
}

.p-top-info__label::after {
    background-color: #707070;
    content: "";
    display: block;
    height: 1px;
    margin: 12px auto 48px;
    /* margin: 0.75rem auto 3rem; */
    /* margin: 0.75rem auto 1rem; */
    margin: 0.35rem auto 0.5rem;
    width: 65px;
    width: 4.0625rem;
}

.p-top-info__title {
    font-size: 34px;
    font-size: 2.125rem;
    font-weight: 400;
    letter-spacing: 0.1em;
}

.p-top-info__text {
    margin-inline: auto;
    font-size: 14px;
    font-size: 0.875rem;
    margin-top: 15px;
    margin-top: 0.9375rem;
}

.p-top-info__btn {
    margin-inline: auto;
    display: inline-block;
    max-width: 360px;
    max-width: 22.5rem;
}

.p-top-info__btn.c-btn {
    -webkit-box-shadow: 0px 0.1875rem 0.375rem 0px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 0.1875rem 0.375rem 0px rgba(0, 0, 0, 0.16);
    margin-top: 28px;
    margin-top: 1.75rem;
    max-width: 600px;
    max-width: 37.5rem;
}

.p-top-location__deco {
    inset: 0;
    -o-object-fit: cover;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    width: 100%;
}

.p-top-location__overlay {
    inset: 0;
    background-color: rgba(255, 255, 255, 0.85);
    display: none;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    z-index: 1;
}

.p-top-overview {
    padding-block: 24px 28px;
    padding-block: 1.5rem 1.75rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 146px;
    min-height: 9.125rem;
    position: relative;
}

.p-top-overview::before {
    inset: 0;
    background: url("../images/top/overview_bg.webp") no-repeat center center/cover;
    content: "";
    mix-blend-mode: overlay;
    opacity: 0.88;
    position: absolute;
    z-index: 0;
}

.p-top-overview > * {
    position: relative;
    z-index: 1;
}

.p-top-overview__inner.l-inner {
    max-width: 1744px;
    max-width: 109rem;
}

.p-top-overview__items {
    margin-inline: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    /*border-left: 1px solid #264146;*/
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    height: 82px;
    height: 5.125rem;
	height: 3.125rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
}

.p-top-overview__item {
    padding-inline: 38px;
    padding-inline: 2.375rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-right: 1px solid #ffffff;
    color: #ffffff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    white-space: nowrap;
	font-size: max(0.9vw,16px);
}

.p-top-overview__value {
    max-width: 236px;
    max-width: 14.75rem;
}

.p-top-overview__text {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	flex-wrap: wrap;
    /*font-size: 24px;
    font-size: 1.5rem;*/
	font-size: max(1.0vw,18px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: 0.05em;
    line-height: 1.28125;
    text-align: center;
}
.p-top-overview__text div{
	width: 100%;
	margin: 0 auto;
}

.p-top-overview__text-note {
    display: block;
    font-size: 15px;
    font-size: 0.9375rem;
    font-weight: 400;
    letter-spacing: 0.05em;
}

.p-top-overview__text-num {
    font-family: "EB Garamond", serif;
    font-size: 39px;
    font-size: 2.4375rem;
    letter-spacing: 0em;
}

.p-top-overview__tilde {
    font-size: 39px;
    font-size: 2.4375rem;
    letter-spacing: 0em;
    vertical-align: middle;
}

.p-top-design {
    height: 450vh;
}

.p-top-design__sticky {
    height: 100vh;
    overflow: hidden;
    position: sticky;
    top: 0;
}

.p-top-design__media {
    inset: 0;
    position: absolute;
}

.p-top-design__img {
    -o-object-fit: cover;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.p-top-design__overlay {
    inset: 0;
    background-color: #071d1b;
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.p-top-design__scroll-content {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: -100vh;
    min-height: 350vh;
    padding-top: 300vh;
}

.p-top-location {
    height: 200vh;
	/*height: 450vh;*/
}

.p-top-location__sticky {
    height: 100vh;
    overflow: hidden;
    position: sticky;
    top: 0;
}

.p-top-location__media {
    inset: 0;
    position: absolute;
}

.p-top-location__img {
    -o-object-fit: cover;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.p-top-location__scroll-content {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: -100vh;
    /*min-height: 350vh;
    padding-top: 300vh;*/
	min-height: 100vh;
    padding-top: 50vh;
}

.p-top-access {
    height: 200vh;
	/*height: 450vh;*/
}

.p-top-access__sticky {
    height: 100vh;
    overflow: hidden;
    position: sticky;
    top: 0;
}

.p-top-access__media {
    inset: 0;
    position: absolute;
}

.p-top-access__img {
    -o-object-fit: cover;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.p-top-access__overlay {
    inset: 0;
    background-color: #071d1b;
    opacity: 0;
    pointer-events: none;
    position: absolute;
}

.p-top-access__scroll-content {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: -100vh;
    /*min-height: 350vh;
    padding-top: 300vh;*/
	min-height: 100vh;
    padding-top: 50vh;
}

.p-top__sec-content {
    color: #fff;
    max-width: 510px;
    max-width: 31.875rem;
    position: relative;
    z-index: 2;
}

.p-top__sec-content.--right {
    margin-left: auto;
    text-align: right;
}

.p-top__sec-content.--right .p-top__sec-heading::before {
    left: auto;
    right: 0;
}

.p-top__sec-content.--right .p-top__sec-link.c-link {
    margin-left: auto;
}

.p-top__sec-content.--color-main {
    color: #22393d;
}

.p-top__sec-content.--color-main .p-top__sec-heading::before {
    background-color: #22393d;
}

.p-top__sec-content.--color-main .p-top__sec-lead {
    color: #22393d;
}

.p-top__sec-content.--color-main .p-top__sec-text {
    color: #22393d;
}

.p-top__sec-content.--color-main .p-top__sec-link.c-link {
    color: #22393d;
}

.p-top__sec-content.--color-main .p-top__sec-link.c-link::before {
    background-color: #22393d;
}

.p-top__sec-content.--color-main .p-top__sec-link.c-link::after {
    background-color: #22393d;
}

.p-top__sec-heading {
    font-family: "EB Garamond", serif;
    font-size: 27px;
    font-size: 1.6875rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    line-height: 1.5;
    padding-bottom: 23px;
    padding-bottom: 1.4375rem;
    position: relative;
}

.p-top__sec-heading::before {
    background-color: #fff;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 60px;
    width: 3.75rem;
}

.p-top__sec-lead {
    font-size: 29px;
    font-size: 1.8125rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    line-height: 1.6;
    margin-top: 26px;
    margin-top: 1.625rem;
}

.p-top__sec-text {
    font-size: 16px;
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    line-height: 2;
    margin-top: 26px;
    margin-top: 1.625rem;
}

.p-top__sec-link.c-link {
    color: #fff;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
    margin-top: 39px;
    margin-top: 2.4375rem;
}

.p-top__sec-link.c-link::before {
    background-color: #fff;
}

.p-top__sec-link.c-link::after {
    background-color: #fff;
}

.p-top__sec-notice {
    bottom: 22px;
    bottom: 1.375rem;
    color: #000;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    position: absolute;
    right: 13px;
    right: 0.8125rem;
    z-index: 2;
}

.p-top__sec-notice.--white {
    color: #fff;
}

.c-btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-radius: 0.375rem;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 20px;
    font-size: 1.25rem;
    height: 80px;
    height: 5rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: 0.1em;
    line-height: 20.4px;
    max-width: 600px;
    max-width: 37.5rem;
    min-inline-size: 200px;
    min-inline-size: 12.5rem;
    opacity: 1;
    padding: 13px 36px;
    padding: 0.8125rem 2.25rem;
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.35);
    width: 100%;
}

.c-btn--yellow {
    /*background: -webkit-gradient(linear, left top, left bottom, from(#b1a510), to(#727201));
    background: linear-gradient(#b1a510 0%, #727201 100%);*/
	background: #000000;
}

.c-btn--orange {
    /*background: -webkit-gradient(linear, left top, left bottom, from(#d39127), to(#8e5b05));
    background: linear-gradient(#d39127 0%, #8e5b05 100%);*/
	background: #a39d98;
}

.c-link {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: "Constantia", serif;
    font-size: 16px;
    font-size: 1rem;
    height: 25px;
    height: 1.5625rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: 0.1em;
    line-height: 1;
    position: relative;
    width: 180px;
    width: 11.25rem;
}

.c-link::before {
    background-color: #fff;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    opacity: 0.5;
    position: absolute;
    width: 100%;
    z-index: 0;
}

.c-link::after {
    background-color: #fff;
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    opacity: 1;
    position: absolute;
    width: 50%;
    z-index: 2;
}

/* ============================================
  ドロワーメニュー
============================================ */

.l-drawer {
    background-color: rgba(162, 156, 151, 0.9);
    display: none;
    height: 100%;
    opacity: 0;
    overflow-y: auto;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: opacity 0.5s ease;
    transition: opacity 0.5s ease;
    width: 375px;
    width: 23.4375rem;
    z-index: 999;
}

.l-drawer.is-open {
    display: block;
    opacity: 1;
}

.l-drawer__inner {
    margin-inline: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    max-width: 375px;
    max-width: 23.4375rem;
    min-height: 100vh;
    padding: 40px 20px;
    padding: 2.5rem 1.25rem;
    position: relative;
    z-index: 3;
}

.l-drawer__bg-text {
    left: 0;
    position: absolute;
    top: 0;
    width: 74px;
    width: 4.625rem;
    z-index: -1;
}

/* CLOSEボタン */

.l-drawer__close {
    gap: 8px;
    gap: 0.5rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: none;
    border: none;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 0;
    position: absolute;
    right: 15px;
    right: 0.9375rem;
    top: 14px;
    top: 0.875rem;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

.l-drawer__close:hover {
    opacity: 0.7;
}

.l-drawer__close-icon {
    display: block;
    height: 20px;
    height: 1.25rem;
    position: relative;
    width: 30px;
    width: 1.875rem;
}

.l-drawer__close-icon::before,
.l-drawer__close-icon::after {
    background-color: #fff;
    content: "";
    height: 2px;
    height: 0.125rem;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transition:
        background-color 0.3s,
        -webkit-transform 0.3s ease;
    transition:
        background-color 0.3s,
        -webkit-transform 0.3s ease;
    transition:
        transform 0.3s ease,
        background-color 0.3s;
    transition:
        transform 0.3s ease,
        background-color 0.3s,
        -webkit-transform 0.3s ease;
    width: 35px;
    width: 2.1875rem;
}

.l-drawer__close-icon::before {
    -webkit-transform: translate(-50%, -50%) translateY(0) rotate(210deg);
    transform: translate(-50%, -50%) translateY(0) rotate(210deg);
}

.l-drawer__close-icon::after {
    -webkit-transform: translate(-50%, -50%) translateY(0) rotate(-28deg);
    transform: translate(-50%, -50%) translateY(0) rotate(-28deg);
}

/* ナビゲーション */

.l-drawer__nav {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.l-drawer__nav-list {
    width: 100%;
}

.l-drawer__nav-column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.l-drawer__nav-item {
    margin-inline: auto;
    padding-block: 15px;
    padding-block: 0.9375rem;
    max-width: 350px;
    max-width: 21.875rem;
    position: relative;
}

.l-drawer__nav-link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: relative;
    text-align: center;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
}

.l-drawer__nav-link:hover {
    opacity: 0.7;
}

.l-drawer__nav-en {
    color: #fff;
    font-family: "EB Garamond", serif;
    font-size: 17px;
    font-size: 1.0625rem;
    letter-spacing: 0.1em;
    line-height: 1.1764705882;
}

/* ボタンエリア */

.l-drawer__buttons {
    gap: 22px;
    gap: 1.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-top: 45px;
    margin-top: 2.8125rem;
}

.l-drawer__button.c-btn {
    margin-inline: auto;
    color: #fff;
    font-size: 14px;
    font-size: 0.875rem;
    height: 35px;
    height: 2.1875rem;
    max-width: 170px;
    max-width: 10.625rem;
    min-inline-size: 170px;
    min-inline-size: 10.625rem;
    padding: 8px;
    padding: 0.5rem;
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.35);
    width: 100%;
}

.l-drawer__button.c-btn.c-btn--yellow {
    /*background: linear-gradient(210deg, #b1a510 0%, #727201 100%);*/
	background: #000000;
}

.l-drawer__button.c-btn.c-btn--orange {
    /*background: linear-gradient(210deg, #d39127 0%, #8e5b05 100%);*/
	background: #ffffff;
	color: #000000;
}

.l-drawer__footer-image {
    margin: 38px auto 0;
    margin: 2.375rem auto 0;
    width: 200px;
    width: 12.5rem;
}

/* オーバーレイ */

.l-drawer-overlay {
    background-color: rgba(0, 0, 0, 0.5);
    height: 100vh;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    -webkit-transition:
        opacity 0.5s,
        visibility 0.5s;
    transition:
        opacity 0.5s,
        visibility 0.5s;
    visibility: hidden;
    width: 100%;
    z-index: 99;
}

.l-drawer-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
    visibility: visible;
}

.l-footer {
    background-color: #f9f6f1;
    position: relative;
    z-index: 2;
}

.l-footer__notion {
    padding-block: 30px;
    background-color: #ffffff;
}

.l-footer__notion-text {
    color: #595757;
    font-size: 12px;
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    line-height: calc(21 / 12);
}

.l-footer__evaluation {
    padding-block: 50px 28px;
    padding-block: 3.125rem 1.75rem;
    background-color: #e6d9c0;
}

.l-footer__evaluation-content {
    gap: 60px;
    gap: 3.75rem;
    margin-inline: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
}

.l-footer__evaluation-content-left {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: 316px;
    max-width: 19.75rem;
}

.l-footer__evaluation-content-right {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: 296px;
    max-width: 18.5rem;
}

.l-footer__evaluation-content-right-text {
    font-size: 10px;
    font-size: 0.625rem;
    margin-top: 6px;
    margin-top: 0.375rem;
}

.l-footer__nav {
    padding-block: 130px 120px;
    padding-block: 8.125rem 7.5rem;
    background: url("../images/common/footer_bg-nav.webp") no-repeat center center/cover;
    overflow: hidden;
    position: relative;
}

.l-footer__nav-inner {
    padding-inline: 25px;
    padding-inline: 1.5625rem;
    width: 100%;
}

.l-footer__nav-swiper-container {
    padding-inline: 62px;
    padding-inline: 3.875rem;
    margin-inline: auto;
    max-width: 1758px;
    max-width: 109.875rem;
    position: relative;
}

.l-footer__nav-swiper {
    margin-inline: auto;
    max-width: 1635px;
    max-width: 102.1875rem;
}

.l-footer__nav-slide {
    aspect-ratio: 1/1;
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: 250px;
    max-width: 15.625rem;
    overflow: hidden;
    position: relative;
    width: 100%;
}

.l-footer__nav-slide::before {
    inset: 0;
    background-color: #000;
    content: "";
    opacity: 0;
    pointer-events: none;
    position: absolute;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
    z-index: 2;
}

.l-footer__nav-slide-img {
    -o-object-fit: cover;
    -o-object-position: center;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: relative;
    width: 100%;
    z-index: 1;
}

.l-footer__nav-slide-desc {
    padding-inline: 4px;
    padding-inline: 0.25rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    height: 100%;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    left: 50%;
    position: absolute;
    text-align: center;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 100%;
    z-index: 5;
}

.l-footer__nav-slide-desc .l-footer__nav-slide-title {
    font-family: "EB Garamond", serif;
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    text-shadow: 0 0 6px #000;
    text-shadow: 0 0 0.375rem #000;
}

.l-footer__nav-slide-desc .l-footer__nav-slide-text {
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 0.01em;
    margin-top: 18px;
    margin-top: 1.125rem;
    text-shadow: 0 0 6px #000;
    text-shadow: 0 0 0.375rem #000;
}

.js-footer-nav-slider .swiper-slide {
    width: 100%;
}

.l-footer__nav-swiper-prev,
.l-footer__nav-swiper-next {
    background-color: transparent;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    border: none;
    color: transparent;
    cursor: pointer;
    height: 48px;
    height: 3rem;
    padding: 0;
    position: absolute;
    top: 55%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    width: 16px;
    width: 1rem;
    z-index: 2;
}

.l-footer__nav-swiper-prev {
    background-image: url("../images/common/icon/triangle-left.svg");
    left: 0;
}

.l-footer__nav-swiper-next {
    background-image: url("../images/common/icon/triangle-right.svg");
    right: 0;
}

.l-footer__series {
    padding-block: 65px 100px;
    padding-block: 4.0625rem 6.25rem;
    /*background: url("../images/common/footer_bg-other.webp") no-repeat center center/cover;*/
	background: #A39D98;
}

.l-footer__series-title-wrap {
    color: #e6d9c0;
    text-align: center;
}

.l-footer__series-title {
    font-size: 24px;
    font-size: 1.5rem;
    font-weight: 600;
    letter-spacing: 0.1em;
}

.l-footer__series-title-border {
    background-color: #e6d9c0;
    display: inline-block;
    height: 1px;
    margin: 22px auto 20px;
    margin: 1.375rem auto 1.25rem;
    width: 58px;
    width: 3.625rem;
}

.l-footer__series-text {
    font-family: "EB Garamond", serif;
    font-size: 12px;
    font-size: 0.75rem;
    letter-spacing: 0.3em;
    margin-bottom: 55px;
    margin-bottom: 3.4375rem;
}

.l-footer__series .property h2.property__heading-title,
.l-footer__series .property p.property__heading-sub {
    color: #e6d9c0;
}

.l-footer__series .property h2.property__heading-title::after {
    background-color: #e6d9c0;
}

.l-footer__cta {
    padding-block: 50px 65px;
    padding-block: 3.125rem 4.0625rem;
    background-color: #ffffff;
}

.l-footer__cta-grid {
    grid-gap: 0px 3.5rem;
    margin-inline: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content;
}

.l-footer__cta-block {
    max-width: 480px;
    max-width: 30rem;
    text-align: center;
}

.l-footer__cta-text {
    color: #a39d98;
    font-size: 15px;
    font-size: 0.9375rem;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 2.0666666667;
}

.l-footer__cta-btn {
    margin-top: 35px;
    margin-top: 2.1875rem;
}

.l-footer__info {
    padding-block: 54px 70px;
    padding-block: 3.375rem 4.375rem;
    background-color: #ffffff;
    border-top: 1px solid #e6d9c0;
	border-bottom: 1px solid #c8c8c8;
    color: #000000;
    text-align: center;
}

.l-footer__info-title {
    font-size: 16px;
    font-size: 1rem;
}

.l-footer__info-tel {
    margin-inline: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 28px;
    margin-top: 1.75rem;
    max-width: 398px;
    max-width: 24.875rem;
}

.l-footer__info-note {
    margin-top: 18px;
    margin-top: 1.125rem;
}

.l-footer__info-note p {
    font-size: 12px;
    font-size: 0.75rem;
    letter-spacing: -0.05em;
}

.l-footer__info-note p + p {
    margin-top: 8px;
    margin-top: 0.5rem;
}

.l-footer__info-insta {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 44px auto 0;
    margin: 2.75rem auto 0;
    max-width: 500px;
    max-width: 31.25rem;
}

.l-footer__logos {
    background-color: #fff;
    padding: 30px 50px 50px;
    padding: 1.875rem 3.125rem 3.125rem;
}

.l-footer__content {
    gap: 50px;
    gap: 3.125rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.l-footer__logo-grid {
    gap: 25px;
    gap: 1.5625rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.l-footer__logo-item {
    text-align: center;
}

.l-footer__logo-item:nth-of-type(1) .l-footer__logo-img {
    max-width: 178px;
    max-width: 11.125rem;
}

.l-footer__logo-item:nth-of-type(2) .l-footer__logo-img {
    max-width: 157px;
    max-width: 9.8125rem;
}

.l-footer__logo-img {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 49px;
    height: 3.0625rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 8px;
    margin-bottom: 0.5rem;
}

.l-footer__copyright-text {
    color: #22393d;
    display: block;
    font-size: 10px;
    font-size: 0.625rem;
    text-align: right;
}

.l-hamburger {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
}

.l-hamburger__lines {
    gap: 7px;
    gap: 0.4375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.l-hamburger__line {
    background-color: #707070;
    height: 2px;
    height: 0.125rem;
    -webkit-transition:
        opacity 0.3s ease,
        -webkit-transform 0.3s ease;
    transition:
        opacity 0.3s ease,
        -webkit-transform 0.3s ease;
    transition:
        transform 0.3s ease,
        opacity 0.3s ease;
    transition:
        transform 0.3s ease,
        opacity 0.3s ease,
        -webkit-transform 0.3s ease;
    width: 30px;
    width: 1.875rem;
}

.l-hamburger__line:nth-child(1) {
    -webkit-transform-origin: center;
    transform-origin: center;
}

.l-hamburger__line:nth-child(2) {
    -webkit-transform-origin: center;
    transform-origin: center;
}

.l-hamburger__line-wrapper {
    -webkit-transform-origin: center;
    transform-origin: center;
}

.l-hamburger__line-wrapper {
    gap: 7px;
    gap: 0.4375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.l-hamburger__line-wrapper-small {
    background-color: #fff;
    height: 1px;
    height: 0.0625rem;
    width: 20px;
    width: 1.25rem;
}

.l-hamburger__text {
    color: #fff;
    font-family: "EB Garamond", serif;
    font-size: 16px;
    font-size: 1rem;
    letter-spacing: 0.1em;
    line-height: 1;
    margin-top: -7px;
    margin-top: -0.4375rem;
}

/* SP：サイズだけ少し調整 */

.l-header {
    background-color: #fff;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition:
        transform 0.3s ease,
        -webkit-transform 0.3s ease;
    z-index: 100;
}

.l-header.is-hidden {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

.l-header__inner.l-inner {
    gap: 37px;
    gap: 2.3125rem;
    margin-inline: auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 80px;
    height: 5rem;
    max-width: none;
    padding: 25px 30px 15px;
    padding: 1.5625rem 1.875rem 0.9375rem;
}

.l-header__logo {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    max-width: 368px;
    max-width: 23rem;
}

.l-header__logo a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.l-header__logo-image {
    -o-object-fit: contain;
    height: auto;
    max-width: 368px;
    max-width: 23rem;
    object-fit: contain;
    width: 100%;
}

.l-header__nav {
    margin-left: auto;
}

.l-header__nav-list {
    gap: 16px;
    gap: 1rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.l-header__nav-item {
    display: grid;
    height: inherit;
    place-items: center;
}

.l-header__nav-item:nth-child(3) {
    margin-left: 20px;
    margin-left: 1.25rem;
}

.l-header__nav-item a {
    color: #22393d;
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

.l-header__nav-item a:hover {
    opacity: 0.7;
}

.l-header__nav-text {
    gap: 13px;
    gap: 0.8125rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 16px;
    font-size: 1rem;
    height: inherit;
    letter-spacing: 0.1em;
    line-height: 20.4px;
    text-align: left;
    white-space: nowrap;
}

.l-header__nav-text::before {
    background-color: #22393d;
    content: "";
    display: block;
    height: 1px;
    height: 0.0625rem;
    width: 16px;
    width: 1rem;
}

.l-header__nav-item a.c-btn {
    color: #fff;
    font-size: 14px;
    font-size: 0.875rem;
    height: 35px;
    height: 2.1875rem;
    max-width: 170px;
    max-width: 10.625rem;
    min-inline-size: 170px;
    min-inline-size: 10.625rem;
    padding: 8px;
    padding: 0.5rem;
    text-shadow: 0px 0px 3px rgba(0, 0, 0, 0.35);
}

.l-header__nav-item a.c-btn.c-btn--yellow {
    background: linear-gradient(210deg, #b1a510 0%, #727201 100%);
}

.l-header__nav-item a.c-btn.c-btn--orange {
    background: linear-gradient(210deg, #d39127 0%, #8e5b05 100%);
}

.l-inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1416px;
    padding-left: 25px;
    padding-right: 25px;
    width: 100%;
}

.l-page-hero {
    position: relative;
}

.l-page-hero.--concept {
    background-color: #fff;
}

.l-page-hero__content {
    bottom: 0;
    height: 100%;
    left: 0;
    padding-top: 66px;
    padding-top: 4.125rem;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 2;
}

.l-page-hero__title {
    color: #fff;
    font-family: "EB Garamond", serif;
    font-size: 82px;
    font-size: 5.125rem;
    font-weight: 300;
    letter-spacing: 0.2em;
    line-height: 1.2;
}

.l-page-title {
    margin-bottom: 86px;
    margin-bottom: 5.375rem;
    padding-top: 140px;
    padding-top: 8.75rem;
}

.l-page-title__inner {
    text-align: center;
}

.l-page-title__text {
    color: #22393d;
    font-family: "EB Garamond", serif;
    font-size: 43px;
    font-size: 2.6875rem;
    font-weight: 400;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.l-sp-bottom-nav {
    display: none;
}

.l-sp-bottom-nav__item {
    gap: 5px;
    gap: 0.3125rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    font-size: 12px;
    font-size: 0.75rem;
    font-weight: 400;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    letter-spacing: 0em;
    padding: 6px 8px;
    padding: 0.375rem 0.5rem;
    text-decoration: none;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
}

.l-sp-bottom-nav__item:active {
    opacity: 0.8;
}

.l-sp-bottom-nav__icon {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.l-sp-bottom-nav__icon img {
    -o-object-fit: contain;
    display: block;
    filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="1" /><feFuncG type="linear" slope="1" /><feFuncB type="linear" slope="1" /></feComponentTransfer><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="table" tableValues="1 0" /><feFuncG type="table" tableValues="1 0" /><feFuncB type="table" tableValues="1 0" /></feComponentTransfer></filter></svg>#filter');
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
    height: 20px;
    height: 1.25rem;
    object-fit: contain;
    width: 20px;
    width: 1.25rem;
}

.l-sp-bottom-nav__divider {
    background-color: rgba(255, 255, 255, 0.2);
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 1px;
}

/* スマホメニュー*/

.sp-nav {
    background-color: #22393d;
    height: 100vh;
    left: 0;
    position: fixed;
    top: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all 0.3s 0s ease;
    transition: all 0.3s 0s ease;
    width: 100%;
    z-index: 9998;
}

.is-openSP {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.sp-nav__logo {
    margin: 18px 0 0 20px;
    margin: 1.125rem 0 0 1.25rem;
}

.sp-nav__items {
    gap: 24px;
    gap: 1.5rem;
    display: grid;
    grid-template-columns: 1fr;
    padding-top: 138px;
    padding-top: 8.625rem;
}

.sp-nav__item {
    font-family: "EB Garamond", serif;
    font-size: 24px;
    font-size: 1.5rem;
    line-height: 1.2916666667;
    text-align: center;
    text-transform: uppercase;
}

.sp-nav__item a {
    color: #808080;
}

.sp-nav__item span {
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
}

.u-anime {
    opacity: 0;
    -webkit-transition: all 0.6s cubic-bezier(0.17, 0.67, 0.83, 0.67);
    transition: all 0.6s cubic-bezier(0.17, 0.67, 0.83, 0.67);
    visibility: hidden;
    will-change: opacity, transform, visibility;
}

.u-anime.is-show,
.u-load-anime.is-show {
    opacity: 1;
    visibility: visible;
}

.u-anime.--fadeinup {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
}

.u-anime.--fadeinup.is-show {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.u-anime.--fadein {
    -webkit-transform: none;
    transform: none;
}

.u-anime.--fadein.is-show {
    -webkit-transform: none;
    transform: none;
}

.u-anime.--fadeinrich {
    -webkit-transition:
        opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1),
        -webkit-transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
    transition:
        opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1),
        -webkit-transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
    transition:
        transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1),
        opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
    transition:
        transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1),
        opacity 0.8s cubic-bezier(0.25, 0.1, 0.25, 1),
        -webkit-transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
    -webkit-transition-duration: 1.3s;
    transition-duration: 1.3s;
}

.u-anime.--fadeinrich.is-show {
    opacity: 1;
    -webkit-transition-duration: 1.3s;
    transition-duration: 1.3s;
}

.u-anime.--fadeindown {
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
}

.u-anime.--fadeindown.is-show {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.u-anime.--fadeinleft {
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px);
}

.u-anime.--fadeinleft.is-show {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.u-anime.--fadeinright {
    -webkit-transform: translateX(20px);
    transform: translateX(20px);
}

.u-anime.--fadeinright.is-show {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.u-anime.--rotatein {
    -webkit-transform: rotate(-10deg) scale(0.9);
    transform: rotate(-10deg) scale(0.9);
}

.u-anime.--rotatein.is-show {
    -webkit-transform: rotate(0deg) scale(1);
    transform: rotate(0deg) scale(1);
}

.u-anime.--slideinleft {
    -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
    overflow: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: clip-path;
}

.u-anime.--slideinleft.is-show {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
    transition:
        clip-path 1.6s cubic-bezier(0.16, 1, 0.3, 1),
        -webkit-clip-path 1.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.u-anime.--delay1 {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.u-anime.--delay2 {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.u-anime.--delay3 {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.u-anime.--delay4 {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.u-anime.--delay5 {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

.u-anime.--delay6 {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.u-anime.--delay7 {
    -webkit-transition-delay: 0.7s;
    transition-delay: 0.7s;
}

.u-anime.--delay8 {
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s;
}

.u-anime.--delay9 {
    -webkit-transition-delay: 0.9s;
    transition-delay: 0.9s;
}

.u-anime.--delay10 {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

.u-anime.--delay11 {
    -webkit-transition-delay: 1.1s;
    transition-delay: 1.1s;
}

.u-anime.--delay12 {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s;
}

.u-anime.--delay13 {
    -webkit-transition-delay: 1.3s;
    transition-delay: 1.3s;
}

.u-anime.--delay14 {
    -webkit-transition-delay: 1.4s;
    transition-delay: 1.4s;
}

.u-anime.--delay15 {
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s;
}

.u-anime.--delay16 {
    -webkit-transition-delay: 1.6s;
    transition-delay: 1.6s;
}

.u-anime.--delay17 {
    -webkit-transition-delay: 1.7s;
    transition-delay: 1.7s;
}

.u-anime.--delay18 {
    -webkit-transition-delay: 1.8s;
    transition-delay: 1.8s;
}

.u-anime.--delay19 {
    -webkit-transition-delay: 1.9s;
    transition-delay: 1.9s;
}

.u-anime.--delay20 {
    -webkit-transition-delay: 2s;
    transition-delay: 2s;
}

.u-bg-light-beige {
    /*background-color: #f9f6f1;*/
	background-color: #e6e6e6;
}

.u-hidden {
    clip: rect(0, 0, 0, 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

@media (hover: hover) {
    a:hover {
        opacity: 0.7;
    }

    .l-footer__nav-slide:hover {
        opacity: 1;
    }

    .l-footer__nav-slide:hover::before {
        opacity: 0.6;
    }

    a.u-anime.is-show:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
    }
}

@media (min-width: 768px) {
    .l-inner.--sm {
        max-width: 78.125rem;
    }

    .l-inner.--lg {
        max-width: 103.125rem;
    }
}

@media (max-width: 1800px) {
    .p-design__landplan-img {
        max-width: 49.5833333333vw;
        right: -12.0833333333%;
    }

    .p-top-overview__item {
        padding-inline: 1.9791666667vw;
    }

    .p-top-overview__text {
        font-size: 1.75rem;
    }

    .p-top-overview__text-num {
        font-size: 2rem;
    }

    .p-top-overview__tilde {
        font-size: 2rem;
    }

    .l-footer__nav-swiper-container {
        padding-inline: 3.2291666667vw;
    }

    .l-footer__nav-slide-desc .l-footer__nav-slide-text {
        font-size: max(0.875rem, 0.7291666667vw);
    }
}

@media (max-width: 1600px) {
    .p-concept-position__content {
        gap: 5.4166666667vw;
    }

    .p-design__landplan-img {
        max-width: min(59.5rem, 100% - 34.375rem);
        right: 0;
    }
}

@media screen and (max-width: 1599px) {
    .p-concept-shopping__desc {
        margin-top: -5.2083333333vw;
    }

    .p-concept-gourmet__desc {
        margin-top: -3.125vw;
    }

    .p-concept-park__desc.p-concept__desc {
        margin-right: 10.4166666667vw;
        margin-top: -5.2083333333vw;
    }

    .p-concept-position__content {
        gap: 2rem;
    }

    .p-concept-access {
        margin-top: -5.2083333333vw;
    }

    .p-concept-access__desc.p-concept__desc {
        margin-top: -3.125vw;
        padding-left: 4.3229166667vw;
    }

    .p-location-education__support-head {
        gap: 1.5rem;
    }

    .p-top-overview__text {
        font-size: 1.375rem;
        line-height: 1.2857142857;
    }

    .p-top-overview__text-num {
        font-size: 1.75rem;
    }

    .p-top-overview__tilde {
        font-size: 1.75rem;
    }

    .l-footer__nav-slide-desc .l-footer__nav-slide-text {
        font-size: max(0.6875rem, 0.625vw);
    }
}

@media screen and (max-width: 1439px) {
    .p-design__landplan-list {
        gap: 1.25rem 3.75rem;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .p-design__designer-content {
        padding: 3.75rem 3.75rem 5.5rem;
    }
}

@media (max-width: 1366px) {
    html {
        font-size: 1.1713030747vw;
    }
}

@media screen and (max-width: 1279px) {
    .u-xl {
        display: none;
    }

    .p-top-overview__text {
        font-size: 1.25rem;
        line-height: 1.5;
    }
}

@media (max-width: 1024px) {
    .p-top-overview__text {
        font-size: 1.25rem;
    }
}

@media screen and (max-width: 1023px) {
    .u-lg {
        display: none;
    }

    .p-concept-shopping__desc {
        margin-top: -2.0833333333vw;
    }

    .p-concept-gourmet__desc {
        margin-top: -1.0416666667vw;
    }

    .p-concept-park__desc.p-concept__desc {
        margin-top: -2.0833333333vw;
    }

    .p-concept-access {
        margin-top: -2.0833333333vw;
    }

    .p-concept-access__desc.p-concept__desc {
        margin-top: -1.3020833333vw;
        padding-left: 0;
    }
}

@media screen and (max-width: 767px) {
    .u-desktop,
    .u-pc {
        display: none;
    }

    .u-mobile,
    .u-sp {
        display: block;
    }

    body {
        padding-bottom: 5.0625rem;
        padding-top: 4.6875rem;
    }

    html {
        font-size: 16px;
    }

    .p-access__hero-title.l-page-hero__title {
        color: #fff;
    }

    .p-access__title {
        font-size: 1.3125rem;
        line-height: 1.8095238095;
    }

    .p-access__text {
        font-size: 1rem;
    }

    .p-access-terminal {
        margin-top: 2.9375rem;
    }

    .p-access-terminal__text {
        margin-top: 1.75rem;
    }

    .p-access-terminal__thumbnails {
        grid-gap: 0.375rem 0.4375rem;
        grid-template-columns: repeat(2, 1fr);
        margin-top: 2rem;
    }

    .p-access-terminal__thumb {
        max-width: none;
    }

    .p-access-terminal__thumb:nth-of-type(n + 2) .p-access-terminal__thumb-desc-title {
        font-size: 1.3125rem;
    }

    .p-access-terminal__thumb:nth-of-type(n + 2) .p-access-terminal__thumb-desc-text {
        font-size: 1.4375rem;
    }

    .p-access-terminal__thumb:nth-of-type(n + 2) .p-access-terminal__thumb-desc-text .-sm {
        font-size: 1.1875rem;
    }

    .p-access-terminal__thumb-desc-title {
        font-size: 1.75rem;
    }

    .p-access-terminal__thumb-desc-text {
        font-size: 1.875rem;
    }

    .p-access-terminal__thumb-desc-text .-sm {
        font-size: 1.5625rem;
    }

    .p-access-terminal__map {
        margin-top: 3.875rem;
    }

    .p-access-transfer {
        margin-top: 3.5rem;
    }

    .p-access-transfer__img-top-text {
        font-size: 1rem;
        padding-bottom: 0.4375rem;
    }

    .p-access-transfer__img-top-text .-sm {
        font-size: 0.6875rem;
    }

    .p-access-transfer__img-top {
        margin-top: 0.5rem;
    }

    .p-access-transfer__title {
        margin-top: 6.0625rem;
    }

    .p-access-transfer__text {
        margin-top: 2.6875rem;
    }

    .p-access-transfer__text-note {
        margin-top: 0.625rem;
        text-align: left;
    }

    .p-access-transfer__img-bottom {
        margin-top: 1.8125rem;
    }

    .p-access-simulation {
        margin-top: 2.375rem;
    }

    .p-access-simulation img {
        margin-top: 1.8125rem;
    }

    .p-access-bus {
        margin-top: 6.625rem;
        padding-bottom: 3rem;
    }

    .p-access-bus__text {
        margin-top: 1.8125rem;
    }

    .p-access-bus img {
        margin-top: 2.875rem;
    }

    .p-concept__bg::before {
        background: url("../images/concept/concept_bg-sp.webp") no-repeat center center/cover;
    }

    .p-concept__desc.--sm .p-concept__desc-title {
        font-size: 1.125rem;
    }

    .p-concept__desc.--sm .p-concept__desc-text {
        font-size: 0.75rem;
    }

    .p-concept__desc-title {
        font-size: 1.25rem;
        letter-spacing: 0.1em;
        line-height: 1.65;
        text-align: center;
    }

    .p-concept__desc-text {
        font-size: 0.875rem;
        letter-spacing: 0.1em;
    }

    .p-concept-location {
        margin-top: 2.8125rem;
    }

    .p-concept-location__media {
        grid-template-columns: 1fr;
    }

    .p-concept-location__media-left {
        padding-right: 0;
    }

    .p-concept-location__desc {
        padding-left: 0;
    }

    .p-concept-location__media-left-img {
        margin-top: 2.75rem;
    }

    .p-concept-location__media-right {
        margin-top: 2.375rem;
        padding-top: 0;
    }

    .p-concept-location__img {
        -webkit-overflow-scrolling: touch;
        margin-right: -0.9375rem;
        margin-top: 6.25rem;
        overflow: auto;
        padding-bottom: 0.75rem;
    }

    .p-concept-location__img img {
        max-width: 49.625rem;
        width: 49.625rem;
    }

    .p-concept-location__img-note {
        color: #fff;
        font-size: 0.75rem;
        letter-spacing: 0.1em;
        margin-top: 0.375rem;
        text-align: right;
    }

    .p-concept-area {
        margin-top: 6.375rem;
        padding-bottom: 6.125rem;
    }

    .p-concept-area__media {
        gap: 2.6875rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .p-concept-area__media-right {
        padding-inline: 0;
        padding-bottom: 0;
    }

    .p-concept-area__note {
        display: none;
    }

    .p-concept-area__img {
        -webkit-overflow-scrolling: touch;
        margin-right: -0.9375rem;
        margin-top: 2rem;
        overflow: auto;
        padding-bottom: 0.75rem;
    }

    .p-concept-shopping {
        margin-top: 1.5rem;
    }

    .p-concept-shopping__content {
        gap: 2.875rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        padding-right: 0;
    }

    .p-concept-shopping__img {
        margin-inline: -0.9375rem;
    }

    .p-concept-shopping__desc {
        margin-left: 0;
        margin-top: 0;
    }

    .p-concept-gourmet {
        margin-top: 3.25rem;
        padding-bottom: 7.5rem;
    }

    .p-concept-gourmet__content {
        gap: 2.5rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        padding-left: 0;
    }

    .p-concept-gourmet__img {
        margin-inline: -0.9375rem;
    }

    .p-concept-gourmet__desc {
        margin-top: 0;
    }

    .p-concept-park {
        margin-top: 2.375rem;
        padding-bottom: 5.5rem;
    }

    .p-concept-park__content {
        gap: 1.25rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .p-concept-park__img {
        margin-inline: -0.9375rem;
    }

    .p-concept-park__desc.p-concept__desc {
        margin-right: 0;
        margin-top: 0;
    }

    .p-concept-position {
        margin-top: 2.125rem;
    }

    .p-concept-position__content {
        gap: 0.625rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .p-concept-position__img {
        margin-inline: -0.9375rem;
    }

    .p-concept-position__desc.p-concept__desc {
        padding-top: 0;
    }

    .p-concept-access {
        margin-top: 2.875rem;
        padding-bottom: 5.625rem;
    }

    .p-concept-access__content {
        gap: 2rem;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
        padding-left: 0;
    }

    .p-concept-access__img {
        margin-inline: -0.9375rem;
    }

    .p-concept-access__desc.p-concept__desc {
        margin-top: 0;
    }

    .p-concept .scroll-hint-icon.scroll-hint-icon-circle {
        -webkit-animation: none;
        animation: none;
        background-color: transparent;
        background-image: url("../images/concept/scroll-hint-icon.svg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 4.375rem 4.375rem;
        border-radius: 50%;
        height: 5rem;
        left: 50%;
        margin-left: -2.5rem;
        min-width: 5rem;
        padding: 0;
        top: calc(50% - 40px);
        width: 5rem;
    }

    .p-concept .scroll-hint-icon.scroll-hint-icon-circle:before,
    .p-concept .scroll-hint-icon.scroll-hint-icon-circle:after {
        display: none;
    }

    .p-concept .scroll-hint-icon.scroll-hint-icon-circle .scroll-hint-text {
        display: none;
    }

    .p-concept .scroll-hint-icon-wrap.is-active .scroll-hint-icon {
        opacity: 1;
    }

    .p-design::before {
        background: url("../images/design/design_bg-sp.webp") no-repeat center center/cover;
    }

    .p-design__about-content {
        padding-block: 2.9375rem 3.0625rem;
    }

    .p-design__about-title {
        font-size: 1.3125rem;
        line-height: 1.8095238095;
    }

    .p-design__about-text {
        font-size: 1rem;
        letter-spacing: 0.05em;
        line-height: 2.0625;
        margin-top: 1.8125rem;
        text-align: justify;
    }

    .p-design__entrance-content {
        padding-block: 1.0625rem 7.4375rem;
    }

    .p-design__entrance-title .-en {
        font-size: 1.5rem;
    }

    .p-design__entrance-title .-ja {
        font-size: 1.25rem;
        letter-spacing: 0.1em;
    }

    .p-design__entrance-text {
        padding-block: 0;
        font-size: 0.875rem;
        line-height: 2.5;
        margin-top: 1.5rem;
        padding-left: 1.625rem;
    }

    .p-design__facade-content {
        padding-top: 1.0625rem;
    }

    .p-design__landplan-content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding-top: 7rem;
    }

    .p-design__landplan-img {
        margin-inline: auto;
        margin-top: 2rem;
        max-width: 100%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        position: static;
    }

    .p-design__landplan-text {
        font-size: 0.875rem;
        line-height: 2.5;
        margin-top: 1.5rem;
    }

    .p-design__landplan-list {
        grid-template-columns: 1fr;
        margin-top: 2rem;
    }

    .p-design__landplan-item {
        gap: 1rem;
        grid-template-columns: auto 1fr;
    }

    .p-design__landplan-num {
        font-size: 1.125rem;
        height: 1.625rem;
        width: 1.625rem;
    }

    .p-design__landplan-item-title {
        font-size: 0.875rem;
    }

    .p-design__landplan-item-text {
        font-size: 0.75rem;
        margin-top: 0.375rem;
    }

    .p-design__landplan-item-text-note {
        font-size: 0.75rem;
    }

    .p-design__designer {
        margin-block: 4.5625rem;
    }

    .p-design__designer-content {
        padding: 1.375rem 1.125rem 1.875rem;
        position: relative;
    }

    .p-design__designer-title {
        font-size: 1.25rem;
    }

    .p-design__designer-media {
        gap: 0;
        grid-template-columns: 1fr;
        margin-top: 4.375rem;
    }

    .p-design__designer-head {
        padding-bottom: 1.5rem;
    }

    .p-design__designer-name {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: start;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        font-size: 0.9375rem;
    }

    .p-design__designer-name .-ja {
        font-size: 1.1875rem;
    }

    .p-design__designer-label {
        font-size: 1rem;
    }

    .p-design__designer-text {
        font-size: 0.875rem;
    }

    .p-design__designer-awards {
        gap: 0.25rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 2rem;
    }

    .p-design__designer-awards-list {
        font-size: 0.8125rem;
        letter-spacing: 0em;
    }

    .p-design__designer-visual {
        max-width: 8.1875rem;
        position: absolute;
        right: 1.125rem;
        top: 1.375rem;
    }

    .p-location-facility-grid {
        gap: 1.875rem;
        grid-template-columns: 1fr;
        margin-top: 3.5625rem;
    }

    .p-location-facility-grid__col {
        gap: 1.875rem;
    }

    .p-location-facility-grid__col--right {
        gap: 0.125rem;
    }

    .p-location-facility-item {
        gap: 0.125rem;
    }

    .p-location-facility-item__caption {
        font-size: 0.75rem;
    }

    .p-location-facility-item--row {
        gap: 0.75rem;
    }

    .p-location-facility-item--row .p-location-facility-item__img {
        max-width: calc(50% - 6px);
    }

    .p-location-facility-item--row--pc {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .p-location__sec__mv-title {
        color: #fff;
        font-size: 2.0625rem;
        line-height: 1;
        text-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.36);
    }

    .p-location__sec__mv-title--park {
        color: #fff;
        text-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.36);
    }

    .p-location__sec__mv-title--gourmet {
        position: static;
    }

    .p-location-about {
        margin-top: 3rem;
    }

    .p-location-about__title {
        font-size: 1.3125rem;
        line-height: 1.8095238095;
    }

    .p-location-about__text {
        font-size: 1rem;
        letter-spacing: 0.05em;
        line-height: 2.0625;
        margin-top: 1.8125rem;
        text-align: justify;
    }

    .p-location-about__img {
        margin-top: 4rem;
        padding-left: 0;
    }

    .p-location-shopping {
        margin-top: 3rem;
    }

    .p-location-gourmet {
        margin-top: 3rem;
    }

    .p-location-gourmet__box {
        padding: 0;
        position: static;
        -webkit-transform: none;
        transform: none;
    }

    .p-location-gourmet__intro {
        color: #22393d;
    }

    .p-location-gourmet__title {
        font-size: 2.0625rem;
    }

    .p-location-gourmet__lead {
        font-size: 1.3125rem;
        margin-top: 2rem;
        text-align: center;
    }

    .p-location-gourmet__text {
        font-size: 1rem;
        margin-top: 1.8125rem;
        text-align: center;
    }

    .p-location-gourmet-grid {
        gap: 1.5rem;
        grid-template-columns: 1fr;
        margin-top: 2rem;
    }

    .p-location-gourmet-grid__caption {
        font-size: 0.75rem;
    }

    .p-location-education {
        margin-top: 9.625rem;
    }

    .p-location-education__support {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-top: 6.125rem;
    }

    .p-location-education__support-head {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .p-location-education__support-desc {
        text-align: center;
    }

    .p-location-education__support-title {
        font-size: 1.3125rem;
        letter-spacing: 0.15em;
    }

    .p-location-education__support-head-img {
        display: none;
    }

    .p-location-education__support-img {
        max-width: none;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .p-location-education__support-content {
        margin-top: 4.0625rem;
    }

    .p-location-park {
        margin-top: 3.5rem;
    }

    .p-location-temple {
        margin-top: 3rem;
    }

    .p-location-medical {
        margin-top: 9.875rem;
    }

    .p-location-medical__facilities {
        margin-top: 3.9375rem;
    }

    .p-location-medical__facilities-sec:nth-of-type(n + 2) {
        margin-top: 4.375rem;
    }

    .p-location-medical__facilities-sec-grid {
        grid-gap: 1.75rem 0px;
        grid-template-columns: 1fr;
    }

    .p-location-medical__facilities-sec__title {
        border-bottom: 1px solid #000;
        font-size: 2.0625rem;
    }

    .p-location-medical__facilities-sec__title::after {
        display: none;
    }

    .p-location-area-info {
        margin-top: 7rem;
        padding-bottom: 2.5rem;
    }

    .p-location-area-info__title {
        font-size: 2.0625rem;
    }

    .p-location-area-info__img:first-of-type {
        margin-top: 2rem;
    }

    .p-map {
        padding-bottom: 5.375rem;
    }

    .p-map__block:nth-of-type(n + 2) {
        margin-top: 3.75rem;
    }

    .p-map__btn-wrap {
        margin-top: 3.5rem;
    }

    .p-map__btn {
        padding-block: 0.625rem;
        font-size: 1.25rem;
        max-width: 20.625rem;
        min-height: 3.75rem;
    }

    .p-map__btn--sm {
        font-size: 1rem;
    }

    .p-outline {
        padding-bottom: 6.4375rem;
    }

    .p-outline__list-title {
        font-size: 1rem;
    }

    .p-outline__list-title:nth-of-type(n + 2) {
        margin-top: 7rem;
    }

    .p-outline__row {
        grid-gap: 0.25rem 0;
        font-size: 1rem;
        grid-template-columns: 1fr;
    }

    .p-outline__row dt {
        padding-block: 0.875rem 0;
    }

    .p-outline__row dd {
        padding-block: 0 0.875rem;
    }

    .p-outline__row dd p + p {
        margin-top: 1rem;
    }

    .p-outline__notice {
        font-size: 1rem;
        margin-top: 1.25rem;
    }

    .p-outline__notice p + p {
        margin-top: 0.625rem;
    }

    .p-outline__notice-title {
        margin-bottom: 0.625rem;
    }

    .p-top-about__content {
        margin-inline: auto;
        max-width: 18.75rem;
    }

    .p-top-about__logo {
        max-width: 12.25rem;
    }

    .p-top-about__catch {
        font-size: 1.25rem;
        margin-top: 2.25rem;
    }

    .p-top-about__text {
        font-size: 0.875rem;
        margin-top: 2.25rem;
        text-align: left;
    }

    .p-top-about__link.c-link {
        color: #e6d9c0;
    }

    .p-top-about__notice {
        bottom: 0.6875rem;
        font-size: 0.75rem;
        right: 1.0625rem;
    }

    .p-top-access__overlay {
        background-color: #000;
        mix-blend-mode: multiply;
    }

    .p-top-access .p-top__sec-content {
        max-width: 20.625rem;
    }

    .p-top-design__overlay {
        mix-blend-mode: multiply;
    }

    .p-top-info {
        padding-block: 2.875rem 3.25rem;
    }

    .p-top-info::before {
        background: url("../images/top/info_bg-sp.webp") no-repeat center center/cover;
    }

    .p-top-info__divider {
        margin-block: 2.25rem 2rem;
    }

    .p-top-info__copy {
        /* font-size: 1.875rem; */
        font-size: 1.6rem;
    }

    .p-top-info__label {
        font-size: 1.125rem;
    }

    .p-top-info__label::after {
        margin: 0.875rem auto 1.625rem;
    }

    .p-top-info__title {
        font-size: 1.5rem;
        letter-spacing: 0em;
    }

    .p-top-info__text {
        margin-top: 0.9375rem;
    }

    .p-top-info__btn.c-btn {
        margin-top: 1.25rem;
    }

    .p-top-location__overlay {
        display: block;
    }

    .p-top-overview {
        padding-block: 0.4375rem 1.875rem;
        min-height: unset;
    }

    .p-top-overview::before {
        background: url("../images/top/overview_bg-sp.webp") no-repeat center center/cover;
    }

    .p-top-overview__items {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        border-left: none;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        height: auto;
        margin-top: 0.5rem;
        max-width: 21.875rem;
        width: 100%;
    }

    .p-top-overview__item {
        padding-inline: 0;
        border-bottom: 1px solid #ffffff;
        border-right: none;
        -webkit-box-flex: 0;
        -ms-flex: none;
        flex: none;
        min-height: 5rem;
        padding: 0;
    }

    .p-top-overview__text {
        font-size: 1.25rem;
    }

    .p-top-overview__text-note {
        font-size: 0.75rem;
    }

    .p-top-overview__text-num {
        font-size: 1.5625rem;
    }

    .p-top-overview__tilde {
        font-size: 1.5rem;
    }

    .p-top__sec-content {
        margin-inline: auto;
        max-width: 19.375rem;
        text-align: center;
    }

    .p-top__sec-content .p-top__sec-heading::before {
        left: 50%;
        right: auto;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .p-top__sec-content .p-top__sec-link.c-link {
        margin-inline: auto;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .p-top__sec-content.--right {
        margin-inline: auto;
        text-align: center;
    }

    .p-top__sec-content.--right .p-top__sec-heading::before {
        left: 50%;
        right: auto;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }

    .p-top__sec-content.--right .p-top__sec-link.c-link {
        margin-inline: auto;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .p-top__sec-heading {
        font-size: 1.125rem;
    }

    .p-top__sec-lead {
        font-size: 1.375rem;
        letter-spacing: 0.1em;
        margin-top: 2.25rem;
    }

    .p-top__sec-text {
        font-size: 0.875rem;
        letter-spacing: 0.1em;
        margin-top: 2rem;
        text-align: justify;
    }

    .p-top__sec-link.c-link {
        margin-top: 2.25rem;
    }

    .p-top__sec-notice {
        bottom: 0.6875rem;
        font-size: 0.75rem;
        right: 1.0625rem;
    }

    .c-btn {
        height: 4.375rem;
    }

    .c-link {
        font-size: 0.75rem;
        height: 1.125rem;
        width: 7.5rem;
    }

    .l-drawer {
        max-width: 40rem;
        width: 100%;
    }

    .l-drawer__inner {
        max-width: 40rem;
    }

    .l-drawer__close {
        gap: 0;
    }

    .l-drawer__close-icon {
        height: 1.25rem;
        width: 2.1875rem;
    }

    .l-drawer__close-icon::before,
    .l-drawer__close-icon::after {
        height: 0.0625rem;
        width: 2.1875rem;
    }

    .l-drawer__buttons {
        gap: 1rem;
        margin-top: 2.5rem;
    }

    .l-footer__notion {
        padding-block: 1.1875rem 1.375rem;
    }

    .l-footer__notion-text {
        font-size: 0.625rem;
        letter-spacing: 0.05em;
        line-height: 1.9;
    }

    .l-footer__evaluation {
        padding-block: 2.625rem 1.75rem;
    }

    .l-footer__evaluation-content {
        gap: 2rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .l-footer__evaluation-content-left {
        margin-inline: auto;
        max-width: 16.875rem;
    }

    .l-footer__evaluation-content-right {
        margin-inline: auto;
        max-width: 16.875rem;
    }

    .l-footer__evaluation-content-right-text {
        margin-top: 0.5rem;
    }

    .l-footer__nav {
        padding-block: 1.5625rem 1.5rem;
        background-image: url("../images/common/footer_bg-nav-sp.webp");
    }

    .l-footer__nav-inner {
        padding-inline: 0.9375rem;
    }

    .l-footer__nav-swiper-container {
        display: contents;
    }

    .l-footer__nav-swiper {
        grid-gap: 0.25rem 0.25rem;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .l-footer__nav-swiper .swiper-wrapper {
        display: contents;
    }

    .l-footer__nav-swiper-prev,
    .l-footer__nav-swiper-next {
        display: none;
    }

    .l-footer__series {
        padding-block: 2.375rem 3.375rem;
        /*background-image: url("../images/common/footer_bg-other-sp.webp");*/
		background: #A39D98;
    }

    .l-footer__series-title {
        font-size: 1rem;
    }

    .l-footer__series-title-border {
        margin: 1.125rem auto 1rem;
    }

    .l-footer__series-text {
        margin-bottom: 1.875rem;
    }

    .l-footer__cta {
        padding-block: 3.75rem 4rem;
    }

    .l-footer__cta-grid {
        grid-gap: 3.25rem 0;
        grid-template-columns: 1fr;
    }

    .l-footer__cta-block {
        margin-inline: auto;
    }

    .l-footer__cta-text {
        font-size: 0.875rem;
        letter-spacing: 0em;
        line-height: 1.7142857143;
    }

    .l-footer__cta-btn {
        margin-top: 1.625rem;
    }

    .l-footer__info {
        padding-block: 2.75rem 2.8125rem;
    }

    .l-footer__info-tel {
        margin-top: 0.75rem;
    }

    .l-footer__info-note {
        margin-inline: auto;
        margin-top: 0.875rem;
        text-align: left;
        width: -moz-fit-content;
        width: -webkit-fit-content;
        width: fit-content;
    }

    .l-footer__info-note p + p {
        margin-top: 0.25rem;
    }

    .l-footer__info-insta {
        margin: 2rem auto 0;
        max-width: 20.625rem;
    }

    .l-footer__logos {
        padding: 0.3125rem 1.3125rem 1.875rem;
    }

    .l-footer__content {
        gap: 0.375rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .l-footer__logo-grid {
        gap: 0.75rem;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
    }

    .l-footer__logo-item:nth-of-type(1) .l-footer__logo-img {
        max-width: 8.8125rem;
    }

    .l-footer__logo-item:nth-of-type(2) .l-footer__logo-img {
        max-width: 8.3125rem;
    }

    .l-footer__logo-img {
        height: auto;
    }

    .l-hamburger__line-wrapper-small {
        width: 0.9375rem;
    }

    .l-hamburger__text {
        font-size: 0.625rem;
        margin-top: -0.25rem;
    }

    .l-hamburger {
        padding: 0.5rem;
    }

    .l-header__inner.l-inner {
        gap: 1rem;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        height: 4.6875rem;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding: 0.9375rem 0.9375rem 0.625rem;
    }

    .l-header__logo {
        max-width: 16.125rem;
    }

    .l-header__logo-image {
        max-width: 16.125rem;
    }

    .l-header__nav {
        display: none;
    }

    .l-header__nav-list {
        margin-right: 0;
    }

    .l-inner {
        max-width: 37.5rem;
        padding-left: 15px;
        padding-right: 15px;
    }

    .l-page-hero__content {
        padding-top: 6.125rem;
    }

    .l-page-hero__title {
        font-size: 2rem;
        text-align: center;
    }

    .l-page-title {
        margin-bottom: 2rem;
        padding-top: 2.1875rem;
    }

    .l-page-title__text {
        font-size: 1.5rem;
    }

    .l-sp-bottom-nav {
        padding-block: 0.9375rem;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        background-color: #22393d;
        bottom: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        left: 0;
        min-height: 5.0625rem;
        position: fixed;
        right: 0;
        z-index: 99;
    }

    .sp-nav {
        display: none;
    }

    .header__drawer {
        display: none;
    }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
    .p-access-terminal__thumbnails > li:nth-child(1) {
        grid-column: 1/-1;
    }

    .p-concept-area__img img {
        max-width: none;
        width: 41.25rem;
    }
}

@media (max-width: 375px) {
    html {
        font-size: 4.2666666667vw;
    }
}

/*# sourceMappingURL=style.css.map */

/* qualityページ追加 */
.is-sp {
    display: none;
}
@media screen and (max-width: 768px) {
    .is-sp {
        display: block;
    }
}
.is-pc {
    display: block;
}
@media screen and (max-width: 768px) {
    .is-pc {
        display: none;
    }
}
.quality_section {
    background: #f9f6f1;
    padding: 0 25px;
}
@media screen and (max-width: 768px) {
    .quality_section {
        padding: 0 15px;
    }
    .quality_section_3,
    .quality_section_4 {
        padding-top: 30px;
    }
}
.quality_tab_lead {
    font-size: 32px;
    line-height: calc(60 / 32);
    letter-spacing: 0.15em;
    text-align: center;
    color: #264045;
}
@media screen and (max-width: 768px) {
    .quality_tab_lead {
        font-size: 21px;
        line-height: calc(38 / 21);
    }
}
.quality_section_tab {
    padding-top: 91px;
    padding-bottom: 109px;
    padding-left: 20px;
    padding-right: 20px;
}
@media screen and (max-width: 768px) {
    .quality_section_tab {
        padding-top: 47px;
        padding-bottom: 41px;
    }
}
.quality_section_tab_bottom {
    padding-top: 8.7rem;
}
/* .quality_section + .quality_section {
  margin-top: 8rem;
} */
.quality_contents_lead {
    margin-top: 20px;
}
.quality_contents_lead p {
    font-size: 24px;
    line-height: calc(32 / 24);
    color: #0d4227;
    text-align: center;
    font-family: "Shippori Mincho", serif, sans-serif;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
    .quality_contents_lead p {
        font-size: 20px;
    }
}
.quality_tab {
    max-width: 840px;
    margin: 75px auto 0;
}
@media screen and (max-width: 768px) {
    .quality_tab {
        margin-top: 34px;
    }
}
.quality_tab_inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px;
}
@media screen and (max-width: 768px) {
    .quality_tab_inner {
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 17px;
        padding-left: 15px;
        padding-right: 15px;
    }
}
.quality_tab_link {
    text-decoration: none;
    color: #ffffff;
    height: 80px;
    line-height: calc(25 / 21);
    background-color: #c4c4c4;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 21px;
    letter-spacing: 0.2em;
    font-family: "Shippori Mincho", serif, sans-serif;
    border-radius: 5px;
    background: linear-gradient(to bottom, #22393d94, #6b7a7d94);
}
@media screen and (max-width: 768px) {
    .quality_tab_link {
        height: 62px;
        line-height: 40px;
        font-size: 16px;
        letter-spacing: 0;
    }
}
.quality_tab_link.is_active {
    background: linear-gradient(to bottom, #22393d, #6b7a7d);
}
.quality_tab_bottom {
    margin-top: 68px;
    max-width: 1084px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 768px) {
    .quality_tab_bottom {
        margin-top: 20px;
    }
}
.quality_sub_menu {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
}
@media screen and (max-width: 768px) {
    .quality_sub_menu {
        grid-template-columns: repeat(2, 1fr);
        background: #ede8e4;
        width: 100%;
        padding: 35px 20px;
        grid-gap: 19px 10px;
    }
}
.quality_tab_bottom_link {
    text-decoration: none;
    color: #22393d;
    height: 56px;
    line-height: calc(25 / 21);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    letter-spacing: 0.01em;
    border: 1px solid #22393d;
    font-family: "EB Garamond", serif;
}
@media screen and (max-width: 1024px) {
    .quality_tab_bottom_link {
        font-size: 16px;
        line-height: calc(15 / 16);
        letter-spacing: 0.05em;
        border-bottom: 1px solid #22393d;
        border-top: none;
        border-left: none;
        border-right: none;
        width: fit-content;
        margin: 0 auto;
        height: fit-content;
        position: relative;
        padding-right: 20px;
        display: block;
        white-space: nowrap;
    }
    .quality_tab_bottom_link::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        background-image: url("../images/quality/link-arrow.webp");
        background-repeat: no-repeat;
        background-size: contain;
        width: 14px;
        height: 6px;
        transform: translateY(-50%) rotate(0deg);
        transition: transform 0.3s ease;
    }
    .quality_tab_bottom_link.is_active::after {
        transform: translateY(-50%) rotate(180deg);
    }
}

.quality_tab_bottom_link.is_active {
    background-color: #889393;
    color: #ffffff;
}
@media screen and (max-width: 1024px) {
    .quality_tab_bottom_link.is_active {
        background: none;
        color: #22393d;
    }
}
.tab_content {
    display: none;
}
.tab_content.is_active {
    display: block;
}
.quality_page_wrap {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

.quality_contents > h3 {
    text-align: center;
    font-size: 35px;
    font-weight: 400;
    line-height: calc(36 / 35);
    letter-spacing: 0.05em;
    padding-bottom: 12px;
    color: #22393d;
    border-bottom: solid 1px #707070;
    /* margin-bottom: 5rem; */
}
@media screen and (max-width: 768px) {
    .quality_contents > h3 {
        font-size: 28px;
        letter-spacing: 0;
        padding-bottom: 2rem;
        margin-bottom: 20px;
    }
}
.quality_contents > h3 + .quality_contents_grid_3 {
    margin-top: 40px;
}
.quality_contents_grid {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-wrap: wrap;
    grid-gap: 40px;
    margin-top: 65px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid {
        /* grid-gap: 6rem; */
        margin-top: 20px;
    }
}
.quality_contents_grid_flex {
    width: 100%;
}
.quality_contents_grid_flex_item {
    display: flex;
    gap: 40px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_flex_item {
        flex-direction: column;
    }
}
.quality_contents_grid_flex_item .asset_img1 {
    width: 50%;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_flex_item .asset_img1 {
        width: 100%;
    }
}
.quality_contents_grid_item {
    max-width: calc((100% - 40px) / 2);
    width: 50%;
    display: flex;
    flex-direction: column;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item {
        box-shadow: none;
        max-width: 100%;
        width: 100%;
    }
}
.quality_contents_grid_flex_item_body {
    width: 50%;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_flex_item_body {
        width: 100%;
    }
}
.quality_contents_grid_flex_item_body h4 {
    font-size: 18px;
    font-weight: 600;
    line-height: calc(27 / 18);
    letter-spacing: 0.05em;
    font-family: "Shippori Mincho", serif, sans-serif;
    text-align: center;
    padding: 0 22px;
    background: #dbe3dd;
    color: #22393d;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_flex_item_body h4 {
        font-size: 16px;
    }
}
.quality_contents_grid_flex_item_body-bottom {
    width: 100%;
    margin-top: 18px;
}
.quality_contents_grid_flex_item_body-bottom h4 {
    font-size: 18px;
    font-weight: 600;
    line-height: calc(27 / 18);
    letter-spacing: 0.05em;
    font-family: "Shippori Mincho", serif, sans-serif;
    text-align: center;
    padding: 22px;
    background: #dbe3dd;
}

.quality_contents_grid_flex_item_body_img {
    margin-top: 18px;
}
.quality_contents_grid_flex_item_bottom_img {
    margin-top: 24px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_flex_item_bottom_img p + img {
        margin-top: 20px;
    }
}
.quality_contents_grid_item_content {
    width: 100%;
    display: grid;
    grid-template-columns: 92px auto;
    height: 38px;
    align-items: center;
    margin-top: 17px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_content {
        height: 65px;
    }
}
.quality_contents_grid_item_label {
    color: #ffffff;
    background: #22393d;
    text-align: center;
    border: 1px solid #22393d;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2px;
    font-size: 14px;
    line-height: calc(23 / 14);
    letter-spacing: 0.02em;
    flex-shrink: 0;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_label {
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #22393d;
        height: 65px;
    }
}
.quality_contents_grid_item_content_text {
    color: #22393d;
    border: 1px solid #22393d;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: 38px;
    font-size: 14px;
    line-height: calc(23 / 14);
    letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_content_text {
        height: 65px;
    }
}
.quality_contents_grid_item_w1 {
    max-width: calc((100% - 3.6rem) / 2);
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_w1 {
        max-width: 100%;
        width: 100%;
    }
}
.quality_contents_grid_item_w2 {
    max-width: calc((100% - 7.2rem) / 3 * 2 + 3.6rem);
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_w2 {
        max-width: 100%;
        width: 100%;
    }
}
.quality_contents_grid_item_w3 {
    max-width: 100%;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_w3 {
        max-width: 100%;
        width: 100%;
    }
}
.quality_contents_grid_item .asset_img1 {
    position: relative;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item .asset_img1.asset_img_bdr {
        border: solid 1px #c4c4c4;
    }
}
.quality_contents_grid_item .asset_img1 img {
    max-width: 100%;
    height: auto;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item .asset_img1 .img_scrl img {
        max-width: 200%;
        width: 200%;
    }
}
.quality_contents_grid_item .asset_img1 > p {
    font-size: 1.6rem;
    text-align: right;
    position: absolute;
    right: 0;
    bottom: -3.5rem;
    z-index: 1;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item .asset_img1 > p {
        font-size: 1.3rem;
    }
}
.quality_contents_grid_item_body {
    /* padding: 3rem 2rem; */
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_body {
        padding: 0 0;
    }
}
.quality_contents_grid_item_body h4 {
    font-size: 18px;
    line-height: calc(27 / 18);
    letter-spacing: 0.05em;
    font-weight: 600;
    background: #dbe3dd;
    color: #22393d;
    text-align: center;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 1024px) {
    .quality_contents_grid_item_body h4 {
        font-size: 16px;
        /* margin-bottom: 1.6rem; */
    }
}
.quality_contents_grid_3_item_body h4 {
    font-size: 18px;
    line-height: calc(27 / 18);
    letter-spacing: 0.05em;
    font-weight: 600;
    background: #dbe3dd;
    color: #22393d;
    text-align: center;
    min-height: 70px;
    padding: 0 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.quality_contents_grid_3_item_body h4 span {
    font-size: 12px;
    line-height: calc(24 / 12);
    letter-spacing: 0;
    border: 1px solid #22393d;
    padding: 0 10px;
    width: fit-content;
    margin: 7px auto 0;
}
.quality_contents_label {
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    padding: 1rem;
    background-color: #797979;
}
@media screen and (max-width: 768px) {
    .quality_contents_label {
        font-size: 1.4rem;
        margin-bottom: 1.5rem;
    }
}
.quality_contents_txt {
    font-size: 16px;
    line-height: calc(29 / 16);
    font-family: "Shippori Mincho", serif, sans-serif;
    letter-spacing: 0.02em;
    color: #264045;
    margin-top: 18px;
}
@media screen and (max-width: 768px) {
    .quality_contents_txt {
        font-size: 16px;
    }
}
.quality_contents_cap {
    font-size: 12px;
    line-height: calc(21 / 12);
    letter-spacing: 0.02em;
    color: #264045;
}
.quality_contents_grid_column {
    width: 50%;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_column {
        width: 100%;
    }
}
.quality_contents_grid_column .quality_contents_grid_flex_item_body {
    width: 100%;
}
.grid_flex_img_long {
    min-height: 1140px;
}
@media screen and (max-width: 768px) {
    .grid_flex_img_long {
        min-height: 470px;
    }
}
.grid_flex_img_long img {
    height: 100%;
}
.quality_contents_grid_item_bottom_img {
    margin-top: 5px;
}
.quality_contents_grid_3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 50px 19px;
}
.quality_contents_grid_3-mt40 {
    margin-top: 40px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_3 {
        grid-template-columns: 1fr;
    }
    .quality_contents_grid_3-mt40 {
        margin-top: 0;
    }
}
.quality_contents_grid_3_item {
    width: 100%;
}
.quality_contents_grid_3_item_img {
    margin-top: 18px;
}
.quality_contents_grid_item_img {
    margin-top: 18px;
}
.quality_contents_img_wrap {
    padding: 2.5rem 2.5rem 3rem;
}
.quality_contents_img_wrap2 {
    padding: 4rem 1rem 6rem;
}
.quality_contents_img_wrap2 .asset_img1 {
    position: relative;
}
.quality_contents_img_wrap2 .asset_img1 > p {
    font-size: 1.6rem;
    text-align: right;
    position: absolute;
    right: 0;
    bottom: -5.5rem;
    z-index: 1;
}
.quality_contents_imgs {
    display: flex;
    align-items: center;
    grid-gap: 3rem;
    padding: 2.5rem 2.5rem 0;
}
@media screen and (max-width: 768px) {
    .quality_contents_imgs {
        flex-direction: column;
        padding: 0 0 4rem;
    }
}
@media screen and (min-width: 1025px) {
    .quality_contents_imgs + .quality_contents_grid_item_body {
        padding-top: 0;
    }
}

.quality_contents2 > h3 {
    text-align: center;
    font-size: 3.5rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: #1e9180;
    margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
    .quality_contents2 > h3 {
        font-size: 2.6rem;
        padding-bottom: 2rem;
        margin-bottom: 3.4rem;
        border-bottom: solid 1px #1e9180;
    }
}
.quality_contents2 > h4 {
    text-align: center;
    font-size: 2.4rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-bottom: 3.8rem;
}
@media screen and (max-width: 768px) {
    .quality_contents2 > h4 {
        font-size: 2rem;
    }
}
.quality_contents2 > h4 span {
    font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
    .quality_contents2 > h4 span {
        font-size: 1.4rem;
    }
}
.quality_contents2_txt {
    text-align: center;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 9.4rem;
}
@media screen and (max-width: 768px) {
    .quality_contents2_txt {
        font-size: 1.4rem;
        text-align: left;
        margin-bottom: 7rem;
    }
}
.quality_contents2_cap {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 2;
    margin-bottom: 9.4rem;
}
@media screen and (max-width: 768px) {
    .quality_contents2_cap {
        font-size: 1.4rem;
        text-align: left;
        margin-bottom: 4rem;
    }
}
.quality_contents2 > .asset_img1 {
    text-align: center;
    margin-bottom: 9.4rem;
}
@media screen and (max-width: 768px) {
    .quality_contents2 > .asset_img1 {
        margin-bottom: 4rem;
    }
}
.quality_contents2 > .asset_img2 {
    text-align: center;
    margin-bottom: 5.3rem;
}
@media screen and (max-width: 768px) {
    .quality_contents2 > .asset_img2 {
        margin-bottom: 7rem;
    }
}
.quality_contents2_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 8rem;
}
@media screen and (max-width: 768px) {
    .quality_contents2_grid {
        grid-template-columns: 1fr;
    }
}
.quality_contents2_grid_item .asset_img1 img {
    width: 100%;
    max-width: 100%;
    height: auto;
}
.quality_contents2_grid_item p {
    text-align: left;
    font-size: 1.6rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.4;
}
@media screen and (max-width: 768px) {
    .quality_section-p0 {
        padding-left: 0;
        padding-right: 0;
    }
}

/* セキュリティ・構造タブ */
.quality_contents_grid-first {
    width: 100%;
    margin-top: 50px;
}
.quality_contents_grid_item-first {
    width: 100%;
}
.quality_contents_grid_item_container {
    display: flex;
    gap: 40px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_container {
        flex-direction: column;
    }
}
.quality_contents_grid_item_left {
    width: 50%;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_left {
        width: 100%;
    }
}
.quality_contents_grid_img-content {
    display: flex;
    gap: 27px;
    align-items: center;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_img-content {
        flex-direction: column;
    }
}
.grid_logo_img {
    width: 106px;
    height: 88px;
}
.grid_logo_img img {
    width: 100%;
    height: 100%;
}
.quality_contents_grid-first-lead p {
    font-size: 22px;
    font-weight: 600;
    line-height: calc(38 / 22);
    letter-spacing: 0.05em;
    text-align: left;
    color: #356c32;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid-first-lead p {
        text-align: center;
        font-size: 21px;
    }
}
.grid_lead_img {
    max-width: 345px;
    width: 100%;
}
.quality_contents_grid_item_left-text {
    margin-top: 33px;
    font-size: 20px;
    font-family: "Shippori Mincho", serif, sans-serif;
    line-height: calc(33 / 20);
    letter-spacing: 0.02em;
    color: #264045;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_left-text {
        font-size: 16px;
        line-height: calc(29 / 16);
    }
}

.quality_contents_grid_item_right {
    width: 50%;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_right {
        width: 100%;
    }
}

.quality_contents_grid_item_container_bottom {
    display: flex;
    gap: 36px;
    margin-top: 48px;
}
@media screen and (max-width: 1024px) {
    .quality_contents_grid_item_container_bottom {
        flex-direction: column;
    }
}

.quality_contents_grid_item_container_bottom_left {
    max-width: 270px;
    width: 100%;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item_container_bottom_left {
        margin-left: auto;
        margin-right: auto;
    }
}
.quality_contents_grid_item_container_bottom_left p {
    font-size: 12px;
    line-height: calc(19 / 12);
    color: #264045;
}
.quality_contents_grid_item_container_bottom_right {
    width: 100%;
}

.item_container_bottom_content {
    background: #e9eddb;
    padding: 23px 21px;
}

.item_container_bottom_content_flex {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 21px;
}
@media screen and (max-width: 768px) {
    .item_container_bottom_content_flex {
        grid-template-columns: 1fr;
    }
}

.item_container_bottom_content_flex-item {
    font-size: 30px;
    line-height: calc(36 / 30);
    color: #ffffff;
    background: #005726;
    padding: 6px;
    min-width: 268px;
    width: 100%;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .item_container_bottom_content_flex-item {
        font-size: 28px;
        line-height: calc(34 / 28);
    }
}
.item_container_bottom_content_flex-item span {
    font-size: 20px;
}
.item_container_bottom_content_flex-text {
    font-size: 20px;
    line-height: calc(24 / 20);
    margin-top: 24px;
    text-align: center;
    color: #241e1c;
}
@media screen and (max-width: 768px) {
    .item_container_bottom_content_flex-text {
        font-size: 16px;
        line-height: calc(29 / 16);
        letter-spacing: 0.02em;
        text-align: left;
        color: #264045;
    }
}
.item_container_bottom_content-text {
    margin-top: 19px;
    font-size: 20px;
    font-weight: 600;
    line-height: calc(23 / 20);
    padding: 13px;
    width: 100%;
    border: 1px solid #2f882d;
    text-align: center;
    color: #005726;
}
.quality_contents_grid_item-row1 {
    margin-top: 88px;
}

.quality_contents_grid_item-row-container {
    display: flex;
    align-items: center;
    gap: 18px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-row-container {
        flex-direction: column;
        gap: 14px;
        align-items: flex-start;
    }
}

.quality_contents_grid_item-row-label {
    width: 181px;
}

.quality_contents_grid_item-row-text {
    font-size: 22px;
    font-weight: 600;
    line-height: calc(38 / 22);
    letter-spacing: 0.05em;
    color: #356c32;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-row-text {
        font-size: 20px;
        line-height: calc(32 / 20);
    }
}
.quality_contents_grid_item-row2 {
    margin-top: 70px;
}
.quality_contents_grid_item-row2-content {
    margin-top: 35px;
    padding-bottom: 18px;
    border-bottom: 1px solid #000;
}
.quality_contents_grid_item-row2-content p {
    font-size: 20px;
    line-height: calc(27 / 20);
    /* letter-spacing: 0.05em; */
    color: #22393d;
}
.quality_contents_grid_item-row2-content span {
    font-size: 16px;
    font-weight: 600;
    line-height: calc(27 / 16);
    letter-spacing: 0.05em;
    color: #22393d;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-row2-content span {
        margin-top: 12px;
        display: block;
    }
}
.quality_contents_grid_item-row2-lead {
    margin-top: 20px;
}
.quality_contents_grid_item-flex-left-row2-text {
    margin-top: 0 !important;
}
.quality_contents_grid_item-flex {
    margin-top: 37px;
    display: flex;
    gap: 20px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-flex {
        flex-direction: column;
    }
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-flex-right {
        max-width: 768px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
        margin: 0 -15px;
        padding: 0 15px;
    }
    .quality_contents_grid_item-flex-right img {
        width: auto;
        max-width: none;
        height: 245px;
        display: inline-block;
    }
}
.quality_contents_grid_item-flex-row2 {
    margin-top: 18px;
}

.quality_contents_grid_item-flex-left {
    max-width: 388px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-flex-left {
        max-width: 768px;
    }
}

.quality_contents_grid_item-flex-left-lead {
    font-size: 18px;
    font-weight: 600;
    line-height: calc(27 / 18);
    letter-spacing: 0.05em;
    color: #22393d;
    text-align: center;
    background: #dbe3dd;
    padding: 10px 20px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-flex-left-lead {
        font-size: 16px;
        line-height: calc(27 / 16);
        padding: 5px;
    }
}
@media screen and (max-width: 768px) {
    .flex-row4-sp-container-bottom-left {
        width: 55%;
    }
    .flex-row4-sp-container-bottom-right {
        max-width: 120px;
    }
}
.quality_contents_grid_item-flex-left-text {
    margin-top: 18px;
    font-size: 16px;
    line-height: calc(29 / 16);
    letter-spacing: 0.02em;
    color: #264045;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-flex-left-text {
        margin-top: 11px;
        margin-bottom: 21px;
    }
}

.quality_contents_grid_item-row3 {
    margin-top: 98px;
}
.quality_contents_grid_item-row3-content {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
    margin-top: 51px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-row3-content {
        grid-template-columns: 1fr;
        gap: 60px;
    }
}

.quality_contents_grid_item-row3-lead {
    font-size: 18px;
    font-weight: 600;
    line-height: calc(27 / 18);
    letter-spacing: 0.05em;
    color: #22393d;
    background: #dbe3dd;
    padding: 5px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-row3-lead {
        font-size: 16px;
        line-height: calc(27 / 16);
    }
}

.quality_contents_grid_item-row3-text {
    margin-top: 18px;
    font-size: 16px;
    line-height: calc(29 / 16);
    letter-spacing: 0.02em;
    color: #264045;
}
.quality_contents_grid_item-row3-text + img {
    margin-top: 30px;
}
.quality_contents_grid_item-flex {
}

.quality_contents_grid_item-flex-row4-pc {
    display: block;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-flex-row4-pc {
        display: none;
    }
}
.quality_contents_grid_item-row4 {
    margin-top: 74px;
}

@media screen and (max-width: 768px) {
    .quality_contents_grid_item-row4 {
        margin-top: 34px;
    }
}

.quality_contents_grid_item-row4 + .quality_contents_grid_3 {
    margin-top: 34px;
}
.quality_contents_grid_item-flex-row4-pc-container {
    display: flex;
    gap: 24px;
    justify-content: space-between;
}
@media screen and (max-width: 1024px) {
    .quality_contents_grid_item-flex-row4-pc-container {
        flex-direction: column;
        padding-top: 10px;
        padding-bottom: 20px;
    }
}
.quality_contents_grid_item-row4-container {
    display: flex;
    align-items: center;
    background: #dbe3dd;
    justify-content: center;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-row4-container {
        flex-direction: column;
        padding-bottom: 20px;
    }
}
.quality_contents_grid_item-row4-logo {
    width: 97px;
}
.quality_contents_grid_item-flex-row4-pc-left {
    display: flex;
    gap: 23px;
    width: 36.125%;
    align-items: flex-start;
}
.quality_contents_grid_item-flex-row4-pc-left .quality_contents_grid_item-flex-left-text {
    margin-top: 0;
}
.quality_contents_grid_item-flex-row4-pc-left img {
    width: 120px;
    height: auto;
}
.quality_contents_grid_item-flex-row4-container {
    display: flex;
    gap: 27px;
}
@media screen and (max-width: 1024px) {
    .quality_contents_grid_item-flex-row4-container {
        flex-direction: column;
    }
}
.quality_contents_grid_item-flex-row4-2-left {
    display: flex;
    align-items: start;
    gap: 9px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-flex-row4-2-left {
        flex-direction: column;
    }
}
.quality_contents_grid_item-flex-row4-2-left img {
    max-width: 97px;
    width: 100%;
    height: 107px;
}
.quality_contents_grid_item-flex-left-row4-2-text {
    max-width: 290px;
    margin-top: 0;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-flex-left-row4-2-text {
        max-width: 768px;
    }
}
.quality_contents_grid_item-flex-row4-2-right {
    max-width: 774px;
    width: 100%;
}

.quality_contents_grid_item-flex-row4-pc-right {
    display: grid;
    grid-template-columns: 180px 180.5px 180px 126px;
    gap: 20px;
}

@media screen and (max-width: 768px) {
    .flex-row4-right-item {
        width: 100%;
        max-width: 768px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        white-space: nowrap;
    }
    .flex-row4-right-item img {
        width: auto;
        max-width: none;
        height: 339px;
        display: inline-block;
    }
}
.flex-row4-pc-right-item-title {
    font-size: 15px;
    font-weight: 600;
    line-height: calc(13 / 15);
    padding: 3px;
    color: #ffffff;
    background: #a68d61;
    margin-bottom: 7px;
    text-align: center;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.flex-row4-pc-right-item-cap {
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    color: #1a1311;
    text-align: right;
    margin-top: 4px;
}

.flex-row4-pc-container-bottom {
    display: flex;
    gap: 40px;
    align-items: center;
}

.flex-row4-pc-container-bottom-left {
    width: 50%;
}

.flex-row4-pc-container-bottom-left-title {
    font-size: 18px;
    font-weight: 600;
    line-height: calc(27 / 18);
    letter-spacing: 0.05em;
}

.flex-row4-pc-container-bottom-left-text {
    font-size: 16px;
    line-height: calc(27 / 16);
    letter-spacing: 0.02em;
    color: #264045;
    margin-top: 12px;
}

.flex-row4-pc-container-bottom-right {
    width: 50%;
    margin-top: 12px;
}
.flex-row4-pc-container-bottom-right p {
    font-size: 16px;
    line-height: calc(27 / 16);
    letter-spacing: 0.02em;
    color: #264045;
}
.quality_contents_grid_item-flex-row4-sp-right {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 22px 18px;
}
.quality_contents_grid_item-flex-row4-sp {
    display: none;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_item-flex-row4-sp {
        display: block;
    }
}
.flex-row4-sp-right-item-title {
    font-size: 12px;
    font-weight: 600;
    line-height: calc(10 / 12);
    padding: 3px;
    color: #ffffff;
    background: #a68d61;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 25px;
}
.flex-row4-sp-right-item-bottom-text {
    font-size: 16px;
    line-height: calc(27 / 16);
    letter-spacing: 0.02em;
    color: #264045;
    margin-top: 15px;
}
@media screen and (max-width: 768px) {
    .flex-row4-sp-container-bottom {
        display: flex;
        gap: 24px;
    }
    .flex-row4-sp-container-bottom-left-title {
        font-size: 18px;
        line-height: calc(27 / 18);
        letter-spacing: 0.05em;
        color: #22393d;
    }
    .flex-row4-sp-container-bottom-left-text {
        font-size: 16px;
        line-height: calc(27 / 16);
        letter-spacing: 0.02em;
        color: #264045;
        margin-top: 12px;
    }
    .quality_contents_grid_item-flex-row4-sp-right {
        margin-top: 36px;
    }
}
.quality_contents_grid_1-2 {
    margin-top: 30px;
}
.quality_contents_grid_1-2-container {
    display: flex;
    gap: 21px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_1-2-container {
        flex-direction: column;
    }
}
.quality_contents_grid_1-2_item {
    max-width: 387px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_1-2_item {
        max-width: 768px;
    }
}
.quality_contents_grid_1-2-right_item_img {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 16px;
    padding-top: 59px;
    padding-bottom: 49px;
    padding-left: 26px;
    padding-right: 25px;
    background: #fcfbf9;
    margin-top: 18px;
    min-height: 296px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_1-2-right_item_img {
        grid-template-columns: 1fr 1fr;
        padding-top: 24px;
        padding-bottom: 19px;
    }
}
.quality_contents_grid_1-2_img {
    display: flex;
    gap: 26px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_1-2_img {
        flex-direction: column;
    }
}
.quality_contents_grid_1-2_img-section4 {
    padding: 26px 27px;
    background: #fcfbf9;
    margin-top: 18px;
}
.quality_contents_grid_1-2_img-section4-1 {
    max-width: 391px;
}
.quality_contents_grid_1-2_img-section4-2 {
    max-width: 320px;
}
@media screen and (max-width: 768px) {
    .quality_contents_grid_1-2_img-section4-1 {
        max-width: 768px;
    }
    .quality_contents_grid_1-2_img-section4-2 {
        max-width: 768px;
    }
}
.quality_contents_lead {
    font-size: 16px;
    line-height: calc(29 / 16);
    color: #264045;
}
.quality_contents_cap {
    font-size: 12px;
    line-height: calc(22 / 12);
    margin-top: 12px;
}
/* MV */
.p-quality-hero {
    position: relative;
}

.p-quality-hero-text {
    position: absolute;
    font-size: 82px;
    color: #ffffff;
    top: 65px;
    left: 160px;
    line-height: calc(98 / 82);
    letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
    .p-quality-hero-text {
        font-size: 32px;
        top: 82px;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* ==========================================
   背景動画の固定 (ココがもっとも重要です！)
=========================================== */
.bg-video-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1; /* コンテンツの背面に配置 */
  overflow: hidden;
}

.bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画面アスペクト比に合わせてトリミングして全画面表示 */
}

/* 文字を読みやすくするための黒い半透明オーバーレイ */
.bg-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.25); 
}

/* ==========================================
   メインコンテンツ（スクロール領域）
=========================================== */
.main-content {
  position: relative;
  z-index: 1; /* 動画より手前に配置 */
  width: 100%;
}

.section {
  padding: 120px 20px;
  max-width: 1200px;
  margin: 0 auto;
}

/* 文字に軽いドロップシャドウをつけて背景動画の上でも読みやすくする */
.concept-section, .vertical-text, .caption-title, .caption-sub {
  /*text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);*/
}

/* --- CONCEPT セクション --- */
.concept-section {
  text-align: center;
  min-height: 100vh; /* 画面１枚分をしっかり使う */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.section-label {
  font-size: 0.85rem;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
  color: #ffffff;
	font-size: 1.2rem;
}

.concept-title {
  font-size: 2.2rem;
  font-weight: normal;
  margin-bottom: 60px;
  letter-spacing: 0.2em;
	color: #ffffff;
}

.concept-text {
  font-size: 1rem;
  margin-bottom: 60px;
	color: #ffffff;
}

.concept-text p {
  margin-bottom: 30px;
}

.concept-footer .project-name {
  font-size: 1.2rem;
  margin-bottom: 10px;
	color: #ffffff;
}
.project-catch{
	color: #ffffff;
}

/* --- ENVIRONMENT セクション --- */
.environment-section {
  max-width: 1100px; /* ご指定の横幅 1100px */
  margin: 0 auto;    /* 中央寄せ */
  /* ★修正：上のテキストとの間を狭くするため、上部余白を160px→40pxに変更 */
  padding: 40px 20px 120px; 
}

/* ==========================================
   ★ パノラマ画像（フルワイド表示＆上下余白の調整）
=========================================== */
.panorama-image {
	position: relative;
  width: 100vw; /* 画面の横幅100% */
  margin-left: calc(-50vw + 50%); /* 1100pxの枠を超えて画面左右の端まで広げるハック */
  margin-top: 0;
  /* ★修正：下の ①パートとの間にしっかりとしたスペース（140px）を入れる */
  margin-bottom: 140px; 
}

.panorama-image img {
  width: 100%;
  max-height: 450px; /* パノラマ画像の高さ（お好みで調整してください） */
  object-fit: cover;
  display: block;
}
.panorama-image_pop01{
	position: absolute;
	bottom: 0px;
	right: 0px;
	text-align: right;
	font-size: max(0.6vw,10px);
	color: #ffffff;
}
.panorama-image_pop01 span{
	background: rgba(0,0,0,0.3);
	padding: 0px 10px;
}
.panorama-image_pop02{
	position: absolute;
	top: -20px;
	right: 0px;
	text-align: right;
	font-size: max(0.6vw,10px);
	color: #ffffff;
}
.panorama-image_pop02 span{
	background: rgba(0,0,0,0.3);
	padding: 0px 10px;
}

/* 全体ラッパー（上下2行の縦積み） */
.env-content-wrap {
  display: flex;
  flex-direction: column;
  gap: 100px; /* ①上段と②下段の間の余白 */
  width: 100%;
}

/* ==========================================
   ① 上段レイアウト（キャッチコピー ＋ 御殿山公園）
=========================================== */
.env-row-top {
  display: flex;
  justify-content: space-between;
  align-items: center; /* 縦方向の中央に揃える */
  width: 100%;
}

/* 左側の空いているスペースの「真ん中あたり」に配置 */
.vertical-text-area {
  flex: 1; /* 御殿山公園以外の左側スペースを全て使う */
  display: flex;
  justify-content: center; /* 横方向の中心（空きスペースの真ん中） */
  align-items: center;     /* 縦方向の中心 */
  padding: 20px;
}

.vertical-text {
  writing-mode: vertical-rl; /* 縦書き指定 */
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.8;
  letter-spacing: 0.15em;
	color: #ffffff;
}

/* 右側：御殿山公園（max-width: 720px） */
.photo-top {
  width: 100%;
  max-width: 720px; /* ご指定の 720px */
}

/* ==========================================
   ② 下段レイアウト（街並み ＋ 街並みダミー）
=========================================== */
.env-row-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* 上端を基準にして段差を作る */
  width: 100%;
}

/* 左側：周辺現地周辺の街並み（max-width: 520px） */
.photo-bottom-left {
  width: 100%;
  max-width: 520px; /* ご指定の 520px */
}

/* 左側の20pxぐらい下に下がったところ（段差レイアウト） */
.photo-offset-down {
  margin-top: 20px;
}

/* 右側：周辺現地周辺の街並み※ダミー（max-width: 450px） */
.photo-bottom-right {
  width: 100%;
  max-width: 450px; /* ご指定の 450px */
}

/* ==========================================
   写真アイテム全般の共通デザイン
=========================================== */
.image-box {
  width: 100%;
  aspect-ratio: 16 / 10;
  background-color: #ddd;
  margin-bottom: 15px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.image-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.photo-item:hover .image-box img {
  transform: scale(1.05); /* ホバー時に少しズーム */
}

/* ダミー画像用のスタイリング */
.dummy-box {
  background: #ccc;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-family: sans-serif;
  text-align: center;
}
.dummy-box.photo-bg {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url('images/city-sub.jpg') center/cover;
  color: #fff;
}
.tag {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #800080;
  color: #fff;
  padding: 4px 12px;
  font-size: 0.75rem;
}

.caption-title {
  font-size: 1.1rem;
  margin-bottom: 4px;
	color: #ffffff;
}
.caption-sub {
  font-size: 0.8rem;
  color: #ddd;
  font-family: sans-serif;
}

/* ==========================================
   スクロール時のフェードインアニメーション用
=========================================== */
.fade-in {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1), transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* レスポンシブ（スマホ・タブレット表示対応） */
@media (max-width: 768px) {
  .environment-section {
    padding: 40px 15px 80px;
  }
  .panorama-image {
    margin-bottom: 60px; /* スマホ表示では広すぎないように60pxに自動調整 */
  }
  .env-content-wrap {
    gap: 60px;
  }
  .env-row-top,
  .env-row-bottom {
    flex-direction: column; /* スマホでは縦1列に変更 */
    gap: 40px;
  }
  .vertical-text-area {
    padding: 0;
    margin-bottom: 10px;
  }
  .vertical-text {
    writing-mode: horizontal-tb; /* スマホでは見やすく横書きに変更 */
    font-size: 1.4rem;
  }
  .photo-top,
  .photo-bottom-left,
  .photo-bottom-right {
    max-width: 100%; /* スマホでは横幅100%にして画面いっぱいに表示 */
  }
  .photo-offset-down {
    margin-top: 0; /* スマホでは20pxの段差をリセットして綺麗に縦積み */
  }
}

/* レスポンシブ（スマホ・タブレット表示対応） */
@media (max-width: 768px) {
  .environment-section {
    padding: 80px 15px;
  }
  .env-content-wrap {
    gap: 60px;
  }
  .env-row-top,
  .env-row-bottom {
    flex-direction: column; /* スマホでは縦1列に変更 */
    gap: 40px;
  }
  .vertical-text-area {
    padding: 0;
    margin-bottom: 10px;
  }
  .vertical-text {
    writing-mode: horizontal-tb; /* スマホでは見やすく横書きに変更 */
    font-size: 1.4rem;
  }
  .photo-top,
  .photo-bottom-left,
  .photo-bottom-right {
    max-width: 100%; /* スマホでは横幅100%にして画面いっぱいに表示 */
  }
  .photo-offset-down {
    margin-top: 0; /* スマホでは20pxの段差をリセットして綺麗に縦積み */
  }
}

/* レスポンシブ（スマホ・タブレット表示対応） */
@media (max-width: 768px) {
  .environment-section {
    padding: 60px 15px;
  }
  .env-content-wrap {
    flex-direction: column; /* スマホでは左右2列を縦1列に変更 */
    gap: 40px;
  }
  .env-col {
    max-width: 100%;
    width: 100%;
    gap: 40px;
  }
  .vertical-text-area {
    min-height: auto;
    padding-top: 0;
  }
  .vertical-text {
    writing-mode: horizontal-tb; /* スマホでは見やすく横書きに変更 */
    font-size: 1.4rem;
  }
  .photo-offset-down {
    margin-top: 0; /* スマホでは20pxの段差をリセットして綺麗に縦積み */
  }
}

/* レスポンシブ（スマホ・タブレット対応） */
@media (max-width: 768px) {
  .env-content-wrap {
    flex-direction: column;
    padding: 0;
    gap: 30px;
  }
  .vertical-text-area {
    position: static;
    margin-bottom: 20px;
    flex: auto;
  }
  .vertical-text {
    writing-mode: horizontal-tb; /* スマホでは横書きに変更 */
    font-size: 1.4rem;
  }
  .photo-grid {
    flex-direction: column; /* スマホでは2列から1列の縦積みに変更 */
    gap: 60px;
    max-width: 100%;
  }
  .photo-col {
    gap: 60px;
  }
  .col-right {
    margin-top: 0; /* スマホでは段差（ズレ）をリセットして綺麗に並べる */
  }
}

/* ==========================================
   スクロール時のフェードインアニメーション用
=========================================== */
.fade-in {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 1s cubic-bezier(0.22, 1, 0.36, 1), transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* レスポンシブ（スマホ対応） */
@media (max-width: 768px) {
  .env-content-wrap {
    flex-direction: column;
    padding: 0;
  }
  .vertical-text-area {
    position: static;
    margin-bottom: 60px;
  }
  .vertical-text {
    writing-mode: horizontal-tb; /* スマホでは横書きに変更 */
    font-size: 1.4rem;
  }
  .photo-item {
    width: 100%;
    align-self: center;
  }
}

/* =========================================================
   ★イメージ2.png 完全再現仕様（LOCATION・ACCESS・PLAN）
========================================================= */

/* 1. スクロールコンテンツエリアを強制的に画面中央配置に変更 */
.p-top-location__scroll-content,
.p-top-access__scroll-content,
.p-top-plan__scroll-content {
  justify-content: center !important; /* 右寄せ・左寄せを解除して中央へ */
  align-items: center !important;
}

/* 2. 中央配置用のコンテンツコンテナ */
.p-top__sec-content.--center {
  margin: 0 auto !important;
  max-width: 850px !important;
  width: 100%;
  text-align: center;
  color: #fff;
  padding: 0 20px;
}

/* ---------------------------------------------------------
   ① タイトルブロック（A LIFE WITH THE SKY 〜 和文サブ）
--------------------------------------------------------- */
.p-top__sec-header {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 英語サブタイトル */
.p-top__sec-suben {
  font-family: "EB Garamond", serif;
  font-size: 15px;
  letter-spacing: 0.28em;
  color: #fff;
  line-height: 1.4;
  margin-bottom: 10px;
  text-transform: uppercase;
}

/* メイン英語タイトル（LOCATION等） */
.p-top__sec-mainen {
  font-family: "EB Garamond", serif;
  font-size: 64px;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: #fff;
  line-height: 1.1;
  margin-bottom: 16px;
  text-transform: uppercase;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}

/* 和文サブタイトル（歴史と緑が息づく街等） */
.p-top__sec-subja {
  font-family: "Shippori Mincho", serif, sans-serif;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: 0.18em;
  color: #fff;
  line-height: 1.6;
}

/* ---------------------------------------------------------
   ② 少し下がって：リードコピー（青砥という地の落ち着き〜）
--------------------------------------------------------- */
.p-top__sec-catch {
  font-family: "Shippori Mincho", serif, sans-serif;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #fff;
  line-height: 1.8;
  margin-top: 55px; /* ①から「少し下がって」の余白 */
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

/* ---------------------------------------------------------
   ③ 少し下がって：本文（由緒ある土地の記憶と〜）
--------------------------------------------------------- */
.p-top__sec-body {
  font-family: "Shippori Mincho", serif, sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: #f0f0f0;
  line-height: 2.2;
  margin: 35px auto 0; /* ②から「少し下がって」の余白 ＆ 中央寄せ */
  max-width: 680px;
  text-align: center; /* ご指定の「真ん中合わせ」 */
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
}

/* ---------------------------------------------------------
   ④ 少し下がって：リンク（View More）
--------------------------------------------------------- */
.p-top__sec-btn.c-link {
  margin: 60px auto 0 !important; /* ③から「少し下がって」の余白 ＆ 中央寄せ */
  color: #fff !important;
  width: 220px !important;
  justify-content: flex-start !important;
  font-family: "EB Garamond", serif !important;
  font-size: 17px !important;
  letter-spacing: 0.12em;
}

/* 元のc-linkの伸びるラインを画像のような洗練された矢印ラインに調整 */
.p-top__sec-btn.c-link::before {
  background-color: rgba(255, 255, 255, 0.3) !important;
  width: 100% !important;
}
.p-top__sec-btn.c-link::after {
  background-color: #fff !important;
  width: 50% !important; /* ホバーで伸びる下線 */
}

/* ---------------------------------------------------------
   背景オーバーレイ＆右下の image photo
--------------------------------------------------------- */
/* 常に黒系の半透明フィルターをかけて白文字をはっきりさせる */
.p-top-location__overlay,
.p-top-access__overlay,
.p-top-plan__overlay {
  background-color: rgba(0, 0, 0, 0.4) !important;
  display: block !important;
  opacity: 1 !important;
}

/* 右下の「image photo」を白文字＆シャドウで美しく */
.p-top__sec-notice.--white {
  color: #fff !important;
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.9);
  font-family: "EB Garamond", serif;
  font-size: 14px;
  letter-spacing: 0.08em;
  bottom: 25px;
  right: 25px;
}

/* 追加セクション PLAN 用の基本構造（既存セクションと同等） */
/*.p-top-plan { height: 450vh; }*/
.p-top-plan { height: 200vh; }
.p-top-plan__sticky { height: 100vh; overflow: hidden; position: sticky; top: 0; }
.p-top-plan__media { inset: 0; position: absolute; }
.p-top-plan__img { object-fit: cover; height: 100%; width: 100%; }
.p-top-plan__overlay { inset: 0; background-color: rgba(0,0,0,0.4); opacity: 0; pointer-events: none; position: absolute; }
/*.p-top-plan__scroll-content { align-items: flex-start; display: flex; justify-content: flex-start; margin-top: -100vh; min-height: 350vh; padding-top: 300vh; }*/
.p-top-plan__scroll-content { 
    align-items: flex-start; 
    display: flex; 
    justify-content: flex-start; 
    margin-top: -100vh; 
    min-height: 100vh; 
    padding-top: 50vh; 
}

/* ---------------------------------------------------------
   レスポンシブ（スマホ・タブレット表示対応）
--------------------------------------------------------- */
@media screen and (max-width: 768px) {
  .p-top__sec-mainen { font-size: 44px; margin-bottom: 12px; }
  .p-top__sec-suben { font-size: 13px; margin-bottom: 8px; }
  .p-top__sec-subja { font-size: 15px; }
  .p-top__sec-catch { font-size: 18px; margin-top: 40px; }
  .p-top__sec-body { font-size: 14px; line-height: 2; margin-top: 25px; }
  .p-top__sec-btn.c-link { margin-top: 45px !important; }
  .p-top__sec-notice.--white { bottom: 15px; right: 15px; font-size: 12px; }
  
  .p-top-location__overlay,
  .p-top-access__overlay,
  .p-top-plan__overlay {
    background-color: rgba(0, 0, 0, 0.5) !important; /* スマホは少し暗めに */
    mix-blend-mode: normal !important;
  }
}

.info_aoto_wpr{
	width: 100%;
	margin: 0 auto;
	background: #ffffff;
	padding: 0px 5% !important;
	box-sizing: border-box;
}
.info_aoto_ttl01{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	color: #a39d98;
	text-align: center;
	font-size: max(1.0vw,16px);
	padding: 50px 0px 0px;
	
}
.info_aoto_ttl02{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	font-size: max(0.9vw,16px);
	padding-top: 10px;
	
}
/*aoko access*/
.aoto_acs_bk01{
	width: 100%;
	margin: 0 auto;
	background: #ffffff;
	padding: 50px 5%;
	box-sizing: border-box;
}
.aoto_acs_bk02{
	width: 100%;
	margin: 0 auto;
	background: #ebe9e0;
	padding: 50px 5%;
	box-sizing: border-box;
}
.aoto_asc_sub_ttl{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.aoto_asc_sub_ttl p{
	color: #998f65;
	font-size: max(0.8wv,14px);
	padding-bottom: 20px;
}
.aoto_asc_sub_ttl div{
	color: #2b2b2b;
	font-size: max(0.8wv,14px);
}
.aoto_asc_flex{
	display: flex;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	justify-content: space-between;
	padding-top: 50px;
}
.aoto_asc_flex_a{
	width: 33%;
	max-width: 393px;
}
.aoto_asc_flex_a_img{
	position: relative;
	width: 100%;
	max-width: 393px;
	margin: 0 auto;
}
.aoto_asc_flex_a_img img{
	width: 100%;
	height: auto;
	
}
.aoto_asc_flex_a_img_pop{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0 auto;
}
.aoto_asc_flex_a_img_pop img{
	width: 100%;
	height: auto;
}
.aoto_acs_kotsu_img{
	position: relative;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding-top: 50px;
}
.aoto_acs_kotsu_img img{
	width: 100%;
	height: auto;
}
.aoto_acs_kotsu_img_pop{
	position: absolute;
	bottom: 0px;
	right: 0px;
	text-align: right;
	font-size: max(0.6vw,10px);
}

.aoto_asc_station_ttl{
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	color: #998f65;
	font-size: max(0.8wv,14px);
	padding: 50px 0px 0px;
}
.aoto_asc_station_flex{
	display: flex;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 30px 0px 0px;
}
.aoto_asc_station_flex_a{
	width: 31.5%;
	margin-bottom: 30px;
}
.aoto_asc_station_flex_b{
	width: 31.5%;
}
.aoto_asc_station_flex_a_inflex{
	display: flex;
	width: 100%;
	margin: 0 auto;
	justify-content: space-between;
	align-items: flex-end;
	border-bottom: solid #998f65 1px;
}
.aoto_asc_station_flex_a_inflex_a{
	width: 50%;
}
.aoto_asc_station_flex_a_inflex_a div{
	font-size: max(1.2vw,18px);
	color: #2b2b2b;
}
.aoto_asc_station_flex_a_inflex_b{
	width: 49%;
}
.aoto_asc_station_flex_a_inflex_b div{
	font-size: max(1.2vw,18px);
	color: #2b2b2b;
	margin-left: auto;
    margin-right: 0;
	text-align: right;
}
.aoto_asc_station_flex_a_txtbox{
	width: 100%;
	margin: 0 auto;
	color: #2b2b2b;
	font-size: max(0.6vw,10px);
	padding-top: 10px;
	text-align: justify;
	text-justify: inter-ideograph;
}
.aoto_acs_rosen_ttl{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-size: max(1.3vw,18px);
	color: #2b2b2b;
}
.aoto_acs_rosen_img{
	position: relative;
	width: 100%;
	max-width: 1200px;
}
.aoto_acs_tsukin_flex{
	display: flex;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	justify-content: space-between;
	flex-wrap: wrap;
}
.aoto_acs_tsukin_flex_a{
	width: 48%;
	margin-bottom: 50px;
}
.aoto_acs_tsukin_flex_a2{
	width: 48%;
}
.aoto_acs_tsukin_flex_a_img{
	position: relative;
	width: 100%;
	max-width: 580px;
	margin: 0 auto;
}
.aoto_acs_tsukin_flex_a_img img{
	width: 100%;
	height: auto;
}
.aoto_acs_tsukin_flex_a_img_pop{
	position: absolute;
	bottom: 0;
	right: 0;
	font-size: max(0.6vw,10px);
	color: #ffffff;
}
.aoto_acs_tsukin_flex_a_img_pop span{
	background: rgba(0,0,0,0.2);
	padding: 0px 5px;
}
.aoto_acs_tsukin_flex_b{
	display: flex;
	width: 48%;
	align-items: flex-end;
	margin-bottom: 50px;
}
.aoto_acs_tsukin_flex_b_box{
	width: 100%;
	max-width: 580px;
	margin: 0 auto;
}
.aoto_acs_tsukin_flex_b_box p{
	color: #ffffff;
	font-size: max(1.0vw,18px);
	letter-spacing: 0.1rem;
}
.aoto_acs_tsukin_flex_b_box_img01{
	width: 100%;
	margin: 0 auto;
	padding-top: 10px;
}
.aoto_acs_tsukin_flex_b_box_img01 img{
	width: 100%;
	height: auto;
}
.aoto_acs_tsukin_flex_b_box_img02{
	width: 100%;
	margin: 0 auto;
	padding-top: 20px;
}
.aoto_acs_tsukin_flex_b_box_img02 img{
	width: 100%;
	height: auto;
}
.aoto_acs_tsukin_flex_c{
	display: flex;
	width: 48%;
	align-items: center;
}
.aoto_acs_tsukin_flex_c_flex{
	display: flex;
	width: 100%;
	margin: 50px auto 0px;
	justify-content: space-between;
	align-items: flex-end;
	border-bottom: solid 1px #ffffff;
}
.aoto_acs_tsukin_flex_c_flex_a{
	width: 75%;
	font-size: max(0.9vw,18px);
	letter-spacing: 0.1rem;
	color: #ffffff;
}
.aoto_acs_tsukin_flex_c_flex_b{
	width: 23%;
	font-size: max(0.9vw,18px);
	letter-spacing: 0.1rem;
	color: #ffffff;
	text-align: right;
}
.aoto_acs_tsukin_flex_c_cpt{
	width: 100%;
	margin: 0 auto;
	color: #ffffff;
	font-size: max(0.6vw,10px);
	padding-top: 10px;
	text-align: justify;
	text-justify: inter-ideograph;
}
@media (max-width: 600px) {
	.aoto_asc_flex{
	flex-wrap: wrap;
}
	.aoto_asc_flex_a{
		width: 100%;
		margin: 0 auto 10px;
	}
	.aoto_asc_station_flex{
		flex-wrap: wrap;
	}
	.aoto_asc_station_flex_a{
		width: 100%;
		margin: 0 auto 30px;
	}
	.aoto_acs_tsukin_flex{
		flex-wrap: wrap;
	}
	.aoto_acs_tsukin_flex_a{
		width: 100%;
		margin: 0 auto 30px;
	}
	.aoto_acs_tsukin_flex_a2{
		width: 100%;
		margin: 30px auto;
}
	.aoto_acs_tsukin_flex_b{
		width: 100%;
		margin: 0 auto;
	}
	.aoto_acs_tsukin_flex_c{
		width: 100%;
		margin: 40px auto 0px;
	}
	.aoto_acs_tsukin_flex_c_flex{
	display: flex;
	margin: 10px auto 0px;
}
	.aoto_acs_tsukin_flex_c_flex_a{
		width: 65%;
	}
	.aoto_acs_tsukin_flex_c_flex_b{
		width: 33%;
	}
}





/*access*/
/*location*/
.aoto_loca_wpr01{
	width: 100%;
	margin: 0 auto;
	padding: 50px 5%;
	box-sizing: border-box;
	background: #ffffff;
}
.aoto_loca_flex01{
	display: flex;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	justify-content: space-between;
}
.aoto_loca_flex01_a{
	display: flex;
	align-items: center;
	width: 47%;
}
.aoto_loca_flex01_a_box{
	width: 100%;
	margin: 0 auto;
}
.aoto_loca_flex01_a_box h3{
	width: 100%;
	margin: 0 auto;
	color: #998f65;
	font-weight: 400;
	font-size: max(1.0vw,18px);
	padding-bottom: 30px;
}
.aoto_loca_flex01_a_box p{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	line-height: 200%;
	font-size: max(1.1vw,20px);
	padding-bottom: 30px;
}
.aoto_loca_flex01_a_box div{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	font-size: max(0.7vw,12px);
	line-height: 180%;
}
.aoto_loca_flex01_b{
	width: 50%;
	max-width: 550px;
}
.aoto_loca_flex01_b_img{
	position: relative;
	width: 100%;
	max-width: 550px;
	margin: 0 auto;
}
.aoto_loca_flex01_b_img img{
	width: 100%;
	height: auto;
}
.aoto_loca_flex01_b_img_pop{
	position: absolute;
	bottom: 0;
	right: 0;
	color: #ffffff;
	font-size: max(0.6vw,10px);
}
.aoto_loca_flex01_b_img_pop span{
	background: rgba(0,0,0,0.2);
	padding: 0px 5px;
}
.aoto_loca_flex01_c{
	width: 48%;
	max-width: 420px;
}
.aoto_loca_flex01_c_box{
	width: 100%;
	margin: 0 auto;
}
.aoto_loca_flex01_c_box h3{
	width: 100%;
	margin: 0 auto;
	color: #998f65;
	font-weight: 400;
	font-size: max(0.9vw,18px);
	padding-bottom: 30px;
}
.aoto_loca_flex01_c_box p{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	line-height: 200%;
	font-size: max(1.1vw,20px);
	padding-bottom: 20px;
}
.aoto_loca_flex01_c_box_inbox{
	width: 100%;
	margin: 40px auto 0px;
	border: solid 1px #000000;
	padding: 20px;
	box-sizing: border-box;
}
.aoto_loca_flex01_c_box_inbox p{
	width: 100%;
	max-width: 250px;
	margin: 0 auto;
	font-size: max(0.85vw,16px);
	color: #998f65;
	text-align: center;
}
.aoto_loca_flex01_c_box_inbox div{
	width: 100%;
	max-width: 250px;
	margin: 0 auto;
	font-size: max(0.7vw,12px);
	line-height: 200%;
	text-align: justify;
	text-justify: inter-ideograph;
}
.aoto_loca_flex01_b_img_cpt{
	width: 100%;
	margin: 0 auto;
	display: flex;
	font-size: max(0.6vw,10px);
	padding: 5px 0px 0px;
}
.aoto_loca_flex01_b_img_cpt img{
	width: 35px;
}
.aoto_loca_flex01_b_img_cpt2{
	width: 100%;
	margin: 0 auto;
	display: flex;
	justify-content: flex-end;
	font-size: max(0.6vw,10px);
	padding: 5px 5% 0px;
	box-sizing: border-box;
}
.aoto_loca_flex01_b_img_cpt2 img{
	width: 35px;
}
.aoto_loca_kokuimg{
	position:relative;
	width: 100%;
	margin: 0 auto;
}
.aoto_loca_kokuimg img{
	width: 100%;
	height: auto;
}
.aoto_loca_kokuimg_pop{
	position: absolute;
	bottom: 0;
	right: 0;
	color: #ffffff;
	font-size: max(0.6vw,10px);
}
.aoto_loca_kokuimg_pop span{
	background: rgba(0,0,0,0.2);
	padding: 0px 5px;
}
.aoto_loca_rittchi{
	width: 100%;
	max-width: 1000px;
	margin: 50px auto;
}
.aoto_loca_rittchi div{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.aoto_loca_rittchi div img{
	width: 100%;
	height: auto;
}
.aoto_loca_rittchi p{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	font-size: max(0.6vw,10px);
	padding: 5px 0px 0px;
	text-align: right;
}
.aoto_loca_flex01_e{
	width: 52%;
}
.aoto_loca_flex01_e_box{
	width: 100%;
	margin: 0 auto;
}
.aoto_loca_flex01_e_box h3{
	width: 100%;
	margin: 0 auto;
	color: #998f65;
	font-weight: 400;
	font-size: max(0.9vw,18px);
	padding-bottom: 30px;
}
.aoto_loca_flex01_e_box p{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	line-height: 200%;
	font-size: max(1.1vw,20px);
	padding-bottom: 20px;
}
.aoto_loca_flex01_e_box_inflex{
	display: flex;
	width: 100%;
	margin: 0 auto;
	justify-content: space-between;
	padding-top: 12vh;
}
.aoto_loca_flex01_e_box_inflex_a{
	width: 48%;
}
.aoto_loca_flex01_e_box_inflex_a_img{
	position: relative;
	width: 100%;
	max-width: 276px;
	margin: 0 auto;
}
.aoto_loca_flex01_e_box_inflex_a_img img{
	width: 100%;
	height: auto;
}
.aoto_loca_flex01_e_box_inflex_a_img_pop{
	position: absolute;
	bottom: 0;
	right: 0;
	color: #ffffff;
	font-size: max(0.6vw,10px);
}
.aoto_loca_flex01_e_box_inflex_a_img_pop span{
	background: rgba(0,0,0,0.2);
	padding: 0px 5px;
}
.aoto_loca_flex01_d{
	width: 43.5%;
	max-width: 480px;
}
.aoto_loca_flex01_d_img{
	position: relative;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
}
.aoto_loca_flex01_d_img img{
	width: 100%;
	height: auto;
}
.aoto_loca_flex01_d_img_pop{
	position: absolute;
	bottom: 0;
	right: 0;
	color: #ffffff;
	font-size: max(0.6vw,10px);
}
.aoto_loca_flex01_d_img_pop span{
	background: rgba(0,0,0,0.2);
	padding: 0px 5px;
}
.aoto_loca_shopshop_box{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
.aoto_loca_shopshop_box h3{
	width: 100%;
	margin: 0 auto;
	color: #998f65;
	font-weight: 400;
	font-size: max(0.9vw,18px);
	padding-bottom: 30px;
}
.aoto_loca_shopshop_box p{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	line-height: 200%;
	font-size: max(1.1vw,20px);
	padding-bottom: 20px;
}
.aoto_loca_shopshop_txt{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
.aoto_loca_shopshop_txt h3{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	font-size: max(0.9vw,18px);
}
.aoto_loca_shopshop_txt p{
	width: 100%;
	margin: 0 auto;
	font-size: max(0.7vw,12px);
}
.aoto_loca_shopshop_txt div{
	width: 100%;
	margin: 0 auto;
	font-size: max(0.8vw,14px);
	padding-top: 30px;
}
.aoto_loca_shopshop_txt2{
	width: 100%;
	max-width: 800px;
	margin-left: auto;
    margin-right: 5%;
}
.aoto_loca_shopshop_txt2 h3{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	font-size: max(0.9vw,18px);
	padding-top: 10px;
}
.aoto_loca_shopshop_txt2 p{
	width: 100%;
	margin: 0 auto;
	font-size: max(0.7vw,12px);
}

/* 画像とテキストを並べるためのコンテナ */
        .aoto_loca_shop_img_wrapper {
            display: flex;
            align-items: stretch; /* 画像と右側の黒い帯の高さを自動で合わせる */
            background-color: #fff;
            /* 必要に応じて中央寄せなどの配置を調整してください */
            width: fit-content;
        }

        /* 画像部分のコンテナ */
        .aoto_loca_shop_img_container {
			width: 100%;
            max-width: 1016px; /* ご指定の画像幅 */
            height: auto;
            overflow: hidden;
        }

        /* 画像本体 */
        .aoto_loca_shop_img_container img {
            width: 100%;
            height: auto;
            display: block; /* 余白解消のため */
        }

        /* 右側の黒いテキストエリア（サイドバー） */
        .aoto_loca_shop_img_sidebar {
            width: 80px; /* 黒い帯の横幅 */
            /*background-color: #000;*/
            color: #787878;
            display: flex;
            justify-content: center; /* 横方向の中央配置 */
            align-items: flex-start; /* 縦方向の上部配置 */
            padding-top: 0px; /* 上部の余白（画像に合わせて調整してください） */
            box-sizing: border-box;
        }

        /* 垂直に配置された「Shopping」テキスト */
        .aoto_loca_shop_img_text {
            writing-mode: vertical-rl; /* テキストを垂直（縦書き・右から左）に配置 */
            text-transform: capitalize; /* 最初の文字(S)を大文字にする */
            font-size: 36px; /* 文字サイズ */
			font-size: max(2.0vw,25px);
            font-weight: 500;
            white-space: nowrap; /* 折り返し防止 */
            letter-spacing: 5px; /* 文字間隔 */
        }
/* 右揃えの画像とテキストを並べるためのコンテナ */
        .aoto_loca_shop_img_wrapper2 {
            display: flex;
            align-items: stretch; /* 画像と黒い帯の高さを自動で合わせる */
            background-color: #fff;
            width: fit-content;
            
            /* ★全体を右寄せにする設定 */
            margin-left: auto;
            margin-right: 5%;
        }

        /* 画像部分のコンテナ（変更：幅800px） */
        .aoto_loca_shop_img_container2 {
			width: 100%;
            max-width: 800px;
            height: auto;
            overflow: hidden;
        }

        /* 画像本体（変更：幅800px） */
        .aoto_loca_shop_img_container2 img {
            width: 100%;
            height: auto;
            display: block; /* 余白解消のため */
        }

        /* 黒いテキストエリア（サイドバー） */
        .aoto_loca_shop_img_sidebar2 {
            width: 80px; /* 黒い帯の横幅 */
            /*background-color: #000;*/
            color: #787878;
            display: flex;
            justify-content: center; /* 横方向の中央配置 */
            align-items: flex-start; /* 縦方向の上部配置 */
            padding-top: 0px; /* 上部の余白 */
            box-sizing: border-box;
        }

        /* 垂直に配置された「Shopping」テキスト */
        .aoto_loca_shop_img_text2 {
            writing-mode: vertical-rl; /* テキストを垂直に配置 */
            text-transform: capitalize; /* 最初の文字(S)を大文字にする */
            font-size: 36px; /* 文字サイズ */
			font-size: max(2.0vw,25px);
            font-weight: 500;
            white-space: nowrap; /* 折り返し防止 */
            letter-spacing: 5px; /* 文字間隔 */
        }

.aoto_loca_shopshop_flex{
	display: flex;
	width: 100%;
	max-width: 1300px;
	justify-content: space-between;
	padding: 50px 0px 50px 0px;
	box-sizing: border-box;
}
.aoto_loca_shopshop_flex_a{
	width: 51.5%;
	max-width: 640px;
}
.aoto_loca_shopshop_flex_a_box{
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
}
.aoto_loca_shopshop_flex_a_img{
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
}
.aoto_loca_shopshop_flex_a_img img{
	width: 100%;
	height: auto;
}
.aoto_loca_shopshop_txt3{
	width: 100%;
	max-width: 340px;
	margin-left: auto;
    margin-right: 5%;
}
.aoto_loca_shopshop_txt3 h3{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	font-size: max(0.9vw,18px);
	padding-top: 10px;
}
.aoto_loca_shopshop_txt3 p{
	width: 100%;
	margin: 0 auto;
	font-size: max(0.7vw,12px);
}
.aoto_loca_shopshop_flex_b{
	width: 44%;
}
.aoto_loca_shopshop_flex_b_img{
	width: 100%;
	max-width: 540px;
	margin: 0 auto;
	padding-top: 20vh;
}
.aoto_loca_shopshop_flex_b_img img{
	width: 100%;
	height: auto;
}
.aoto_loca_shopshop_txt4{
	width: 100%;
	max-width: 540px;
	margin: 0 auto;
}
.aoto_loca_shopshop_txt4 h3{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	font-size: max(0.9vw,18px);
	padding-top: 10px;
}
.aoto_loca_shopshop_txt4 p{
	width: 100%;
	margin: 0 auto;
	font-size: max(0.7vw,12px);
}
.aoto_loca_shopshop_lastwpr{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}
.aoto_loca_shopshop_flex02{
	display: flex;
	width: 100%;
	max-width: 770px;
	justify-content: space-between;
}
.aoto_loca_shopshop_flex02_a{
	width: 70%;
	max-width: 540px;
}
.aoto_loca_shopshop_flex02_a div{
	width: 100%;
	max-width: 540px;
	margin: 0 auto;
}
.aoto_loca_shopshop_flex02_a div img{
	width: 100%;
	height: auto;
}
.aoto_loca_shopshop_flex02_b{
	width: 28%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.aoto_loca_shopshop_txt5{
	width: 100%;
	margin: 0 auto;
}
.aoto_loca_shopshop_txt5 h3{
	width: 100%;
	margin: 0 auto;
	font-weight: 400;
	font-size: max(0.9vw,18px);
	padding-top: 10px;
}
.aoto_loca_shopshop_txt5 p{
	width: 100%;
	margin: 0 auto;
	font-size: max(0.7vw,12px);
}

@media (max-width: 600px) {
	.aoto_loca_flex01{
	flex-wrap: wrap;
}
.aoto_loca_flex01_a{
	width: 100%;
	margin: 0 auto 30px;
}
	.aoto_loca_flex01_b{
	width: 100%;
	margin: 0 auto;
}
	.aoto_loca_flex01_c{
		width: 100%;
	margin: 0 auto 30px;
	}
	.aoto_loca_flex01_e{
		width: 100%;
	margin: 0 auto 30px;
	}
	.aoto_loca_flex01_e_box_inflex{
		flex-wrap: wrap;
	}
	.aoto_loca_flex01_e_box_inflex_a{
		width: 100%;
		margin: 0 auto 20px;
	}
	.aoto_loca_flex01_d{
		width: 100%;
		margin: 0 auto;
	}
	.aoto_loca_shopshop_flex{
		flex-wrap: wrap;
		padding: 50px 5%;
		box-sizing: border-box;
	}
	.aoto_loca_shopshop_flex_a{
		width: 100%;
		margin: 0 auto;
	}
	.aoto_loca_shopshop_flex_b{
		width: 100%;
		margin: 0 auto;
	}
	.aoto_loca_shopshop_txt2{
	padding: 0px 5%;
		box-sizing: border-box;
}
	.aoto_loca_shopshop_flex02{
		padding: 0px 5%;
		box-sizing: border-box;
	}
}



/* ==========================================================================
 2. スライドショー全体コンテナ (MAX 1300px)
========================================================================== */
        .slider-section {
            max-width: 1300px;
            margin: 0 auto;
            position: relative;
            padding: 0 60px; /* 左右ボタン用の余白 */
        }

        /* 左右ナビゲーション「無し」設定時の調整用クラス */
        .slider-section.no-nav {
            padding: 0;
        }

        /* Swiperコンテナ */
        .swiper-container-wrapper {
            width: 100%;
            overflow: hidden;
            position: relative;
        }

        .swiper {
            width: 100%;
            padding-bottom: 60px !important; /* 下部インジケーター（棒）用のスペース */
        }

        /* ==========================================================================
           3. 各スライド（カード）のデザイン
           ========================================================================== */
        .swiper-slide {
            height: auto;
            display: flex;
            justify-content: center; /* 中央寄せ */
        }

        /* カードのインナーコンテナ（仕様：最大横幅380pxを保証しつつ崩れない設計） */
        .slide-card {
            width: 100%;
            max-width: 380px;
            display: flex;
            flex-direction: column;
            text-align: left;
        }

        /* 画像エリア */
        .slide-image-wrapper {
            width: 100%;
            aspect-ratio: 16 / 10; /* アスペクト比を16:10に固定 */
            background-color: #f0f0f0;
            overflow: hidden;
            border-radius: 4px;
            margin-bottom: 14px;
            position: relative;
        }

        .slide-image-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* 枠に合わせてきれいにトリミング */
            display: block;
            transition: transform 0.5s ease;
        }

        /* マウスホバー時に画像を少し拡大するエフェクト */
        .swiper-slide:hover .slide-image-wrapper img {
            transform: scale(1.05);
        }

        /* テキストエリア */
        .slide-info {
            padding: 2px 4px;
        }

        .slide-title {
            font-size: max(0.9vw,18px);
            font-weight: 500;
            color: #333333;
            margin-bottom: 6px;
            line-height: 1.4;
            letter-spacing: 0.03em;
        }

        .slide-distance {
            font-size: max(0.7vw,12px);
            color: #333333;
            font-weight: 500;
        }

        /* ==========================================================================
           4. ナビゲーションボタン（左右の丸い矢印）
           ========================================================================== */
        .swiper-button-prev,
        .swiper-button-next {
            width: 44px;
            height: 44px;
            background-color: #8c67ad; /* デザイン仕様の紫色 */
            border-radius: 50%;
            color: #ffffff !important;
            top: calc(50% - 30px); /* 画像の中央付近（下部インジケーター分を考慮） */
            margin-top: 0;
            transition: background-color 0.3s, opacity 0.3s;
            box-shadow: 0 2px 8px rgba(0,0,0,0.1);
        }

        .swiper-button-prev:hover,
        .swiper-button-next:hover {
            background-color: #724d93;
        }

        /* 矢印アイコンのサイズ調整 */
        .swiper-button-prev::after,
        .swiper-button-next::after {
            font-size: 16px;
            font-weight: bold;
        }

        .swiper-button-prev {
            left: 6px;
        }

        .swiper-button-next {
            right: 6px;
        }

        /* ボタン非表示モードの時の非表示設定 */
        .slider-section.no-nav .swiper-button-prev,
        .slider-section.no-nav .swiper-button-next {
            display: none;
        }

        /* ==========================================================================
           5. 下部の棒インジケーター（ページネーション）
           ========================================================================== */
        .swiper-pagination {
            bottom: 10px !important;
            left: 0 !important;
            width: 100% !important;
            display: flex;
            justify-content: flex-start; /* 左寄せ（PC時の基本仕様） */
            gap: 10px; /* 棒同士の隙間 */
        }

        /* 通常状態の棒 */
        .swiper-pagination-bullet {
            width: 60px; /* 棒の長さ */
            height: 5px; /* 棒の太さ */
            background-color: #d8d8d8; /* 待機中のグレー */
            opacity: 1;
            border-radius: 0; /* 角を丸めないシャープな棒状 */
            margin: 0 !important;
            transition: background-color 0.4s ease, width 0.3s ease;
            cursor: pointer;
        }

        .swiper-pagination-bullet:hover {
            background-color: #b0b0b0;
        }

        /* アクティブ状態の棒（仕様に合わせた上品な茶ゴールド系） */
        .swiper-pagination-bullet-active {
            background-color: #988452;
            width: 60px;
        }

        /* ==========================================================================
           6. レスポンシブ対応（タブレット・スマホ）
           ========================================================================== */
        
        /* タブレット以下（1024px以下） */
        @media (max-width: 1024px) {
            .slider-section {
                padding: 0 40px;
            }
            .swiper-pagination-bullet {
                width: 50px;
            }
            .swiper-pagination-bullet-active {
                width: 50px;
            }
        }

        /* スマホ表示（767px以下） */
        @media (max-width: 767px) {
            body {
                padding: 40px 0;
            }
            .slider-section {
                padding: 0 15px; /* スマホ時は左右の余白を最小に */
            }
            .swiper-slide {
                max-width: 100%; /* スマホ時は1枚表示 */
            }
            .slide-card {
                max-width: 100%; /* スマホ時は横幅いっぱいに広げる */
            }
            /* スマホでは矢印を非表示にしてスワイプ操作を優先 */
            .swiper-button-prev,
            .swiper-button-next {
                display: none !important;
            }
            /* スマホ時はインジケーターを中央寄せに */
            .swiper-pagination {
                justify-content: center;
                gap: 6px;
            }
            .swiper-pagination-bullet {
                width: 40px;
                height: 4px;
            }
            .swiper-pagination-bullet-active {
                width: 40px;
            }
        }
.aoto_maps_ttl{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	padding: 0px 5%;
	font-size: max(3.0vw,30px);
	line-height: 80%;
	box-sizing: border-box;
}
.aoto_maps_ttl span{
	font-size: 30%;
}
.aoto_maps_img{
	width: 100%;
	max-width: 1020px;
	margin: 0 auto;
	padding: 80px 0px 50px;
}
.aoto_maps_img img{
	width: 100%;
	height: auto;
}
.aoto_maps_gmaplink{
	width: 100%;
	max-width: 330px;
	margin: 0 auto;
}
.aoto_maps_gmaplink img{
	width: 100%;
	height: auto;
}
.aoto_entry_info{
	width: 100%;
	max-width: 800px;
	margin: 50px auto 20px;
	border-top: solid 1px #595757;
	border-bottom: solid 1px #595757;
	padding: 20px;
	box-sizing: border-box;
}
.aoto_entry_info_in{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-size: max(1.2vw,22px);
	font-weight: 500;
	padding-bottom: 20px;
}
.aoto_entry_info_in2{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-size: max(0.8vw,14px);
	font-weight: 400;
}
.aoto_entry_info_btn{
	width: 100%;
	max-width: 200px;
	margin: 0 auto;
	padding-bottom: 50px;
}
.aoto_entry_info_btn a{
	display: block;
	width: 100%;
	margin: 0 auto;
	background: #2b2b2b;
	padding: 10px;
	font-size: max(0.8vw,14px);
	color: #ffffff;
	font-weight: 400;
	text-align: center;
	box-sizing: border-box;
}
.chiba3_top_cpt_yokoku_box{
	width: 100%;
	margin: 0 auto;
	padding: 0px 5%;
	box-sizing: border-box;
}
.chiba3_top_cpt_yokoku_box p{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-size: 16pt;
}
.chiba3_top_cpt_yokoku_box div{
	width: 100%;
	margin: 0 auto;
	text-align: center;
	font-size: max(0.8vw,14px);
	line-height: 180%;
	padding-top: 20px;
}
.chiba3_top_info_wpr7{
	position: relative;
	width: 100%;
	margin: 0 auto;
	background: #ffffff;
	padding: 50px 0px;
}
@media (max-width: 600px) {
	.chiba3_top_cpt_yokoku_box div{
		text-align: left;
		text-align: justify;
		text-justify: inter-ideograph;
	}
}