/*- 20206/05/29 CSS ファイル　マージ --------------------------------------------*/

@charset "utf-8";

/*-------------------------------------------------------------------------*/
/*- normalize.css : このセクションを変更しないで下さい -------------------------------*/
/*-------------------------------------------------------------------------*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}


/*-------------------------------------------------------------------------*/
/*- style.css -------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/
*,
*::before,
*::after{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html{
    font-size: 16px;
    text-size-adjust: 100%;
}

body{
    font-family: '游明朝', serif;
    font-size: var(--font-md);
    font-weight: 500;
    line-height: var(--lh-r);
    color: var(--c-darkgrey-font);
    scroll-behavior: smooth;
}

main{
    width: 100%;
}

a{
    text-decoration: none;
}

img{
    vertical-align: bottom;
}

ul,
ol{
    list-style: none;
}

@font-face{
	font-family: "BIZ UDP明朝";
	src: url(../fonts/BIZ-UDMinchoM.ttc) format("truetype");
}

@font-face{
	font-family: "SegUI";
	src: url(../fonts/SegUIVar.ttf) format("truetype");
}

@font-face{
	font-family: "Noto Sans";
	src: url(../fonts/NotoSansJP-VariableFont_wght.ttf) format("truetype");
}

@font-face {
	font-family: 'ShipporiM';
	src: url(../fonts/ShipporiMincho-Regular.ttf);
}

:root{
    /* break-point */
    --window-pc: 64rem;/*1024px*/
    --window-tab: 48rem;/*768px*/
    --window-mob: 31.25rem;/*500px*/

    /* z-index */
    --z-header: 20000;
    --z-max: 10000;
    --z-100: 100;
    --z-50: 50;
    --z-10: 10;
    --z-0: 0;

    /* margin */
    --margin-content-top: 4.375rem;/*70px*/

    /* padding */
    --padding-section-t: 6.25rem;/*100px*/
    --padding-contact-guide-tb: 3.75rem;/*60px*/

    /* font-family */
    --ff-noto-sans: "Noto sans", sans-serif;
    --ff-bu-mincho: "BIZ UDP明朝";
    --ff-yu-gothic: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", serif;
    --ff-footer: "NotoSans","Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", yu-mincho-pr6, serif;

    /* font-size */
    --font-subtitle-eng: 2.8125rem;/*40px*/
    --font-subtitle-top: 2.25rem;/*36px*/
    --font-4xl: 2.125rem;/*34px*/
    --font-3xl: 1.875rem;/*30px*/
    --font-2xl: 1.5rem;/*24px*/
    --font-xl: 1.25rem;/*20px*/
    --font-l: 1.125rem;/*18px*/
    --font-md: 1rem;/*16px*/
    --font-s: 0.875rem;/*14px*/
    --font-xs: 0.75rem;/*12px*/
    --font-2xs: 0.625rem;/*10px*/

    /* font-weight */
    --font-wb: 700;
    --font-wr: 400;

    /* line-hieght */
    --lh-l: 2;
    --lh-r: 1.6;
    --lh-s: 1.5;
    --lh-xs: 1.15;

    /* letter-spacing */
    --ls-200: 0.2em;
    --ls-100: 0.1em;
    --ls-75: 0.075em;
    --ls-50: 0.05em;

    /* color */
    --c-transparent: transparent;
    --c-white: rgb(255 255 255 / 1);
    --c-black: rgb(0 0 0 / 1);
    --c-black-shadow: rgb(0 0 0 / 0.29);
    --c-lightgrey-bg: rgb(219 220 220 / 1);/* #dbdcdc */
    --c-lightgrey: rgb(204 204 204 / 1);/* #cccccc */
    --c-grey: rgb(114 113 113 / 1);/* #727171 */
    --c-darkgrey-contact-font: rgb(89 87 87 / 1);/* #595757 */
    --c-darkgrey-line: rgb(77 77 77 / 1);/* #4d4d4d */
    --c-darkgrey-font: rgb(72 71 71 / 1);/* #484747 */
    --c-deepgrey: rgb(51 51 51 / 1);/* #333333 */
    --c-skyblue: rgb(30 156 215 / 1);/*#1E9CD7*/
    --c-blue: rgb(0 113 188 / 1);/* #0071bc */
    --c-darkblue: rgb(0 55 131 / 1);/* #003783 */

    /* border-width */
    --border-w-s: 0.0625rem;/*1px*/
    --border-w-md: 0.125rem;/*2px*/
    --border-w-b: 0.3125rem;/*5px*/

    /* border-radius */
    --border-r-s: 0.3125rem;/*5px*/
    --border-r-md: 0.625rem;/*10px*/
    --border-r-l: 1.25rem;/*20px*/
    --border-r-ci: 50%;

    /* clip-path */
    --c-path-tri-b: polygon(0 0, 100% 0, 50% 100%);/* 下向き三角形 */
    --c-path-tri-r: polygon(0 0, 100% 50%, 0 100%);/* 右向き三角形 */
    --c-path-arrow-r: polygon(32% 0, 17% 15%, 54% 50%, 17% 85%, 32% 100%, 81% 50%);/* > の形 */
}

/*------------------------------ 共有部品 ↓ ------------------------------*/
.text_wbr{
    word-break: keep-all;
    overflow-wrap: break-word;
}

.desktop_br{
    display: initial;
}
.tablet_br{
    display: none;
}
.mobile_br{
    display: none;
}

.c_gap{
    margin-top: var(--margin-content-top);
}

/*-------------------- 書体汎用系 --------------------*/
/*---------- line-height ----------*/
.lh_l{
    line-height: var(--lh-l);
}
.lh_r{
    line-height: var(--lh-r);
}
.lh_s{
    line-height: var(--lh-s);
}
.lh_xs{
    line-height: var(--lh-xs);
}

/*---------- letter-spacing ----------*/
.ls_200{
    letter-spacing: var(--ls-200);
}
.ls_100{
    letter-spacing: var(--ls-100);
}
.ls_75{
    letter-spacing: var(--ls-75);
}
.ls_50{
    letter-spacing: var(--ls-50);
}

/*-------------------- wrapper --------------------*/
.wrapper{
    width: 92%;
    max-width: 57.1875rem;/*915px*/
    margin: auto;
    padding-top: var(--padding-section-t);
}
.wrapper.contact_wrapper{
    display: flex;
    flex-direction: column;
    margin-top: var(--padding-section-t);
    padding-top: var(--padding-contact-guide-tb);
    padding-bottom: var(--padding-contact-guide-tb);
    gap: 3.75rem;
}

/*-------------------- 下層ページタイトルラベル --------------------*/
.subpage_title_wrap{
    display: flex;
    padding: 5rem 0 3.75rem;
    background: linear-gradient(var(--c-darkblue), var(--c-skyblue));
    color: var(--c-white);
    justify-content: center;
}

.subpage_title_inner{
    display: flex;
    width: 92%;
    max-width: 22.5rem;
    margin: auto;
    flex-direction: column;
    justify-content: center;
}

.subpage_title_inner > p{
    text-align: center;
    font-family: var(--ff-noto-sans);
    font-size: var(--font-xl);
    border-top: solid var(--border-w-md) var(--c-white);
}

.subpage_title{
    display: flex;
    height: 1.6em;
    margin-bottom: 0.25rem;
    justify-content: center;
    align-items: center;
    font-family: var(--ff-bu-mincho);
    font-size: var(--font-3xl);
    gap: 0 0.5em;
}

.subpage_title > img{
    height: 100%;
    object-fit: contain;
}

/*-------------------- セクションタイトル --------------------*/
.section_title_wrap{
    position: relative;
    display: flex;
    width: 100%;
    margin: 1.875rem 0 5rem;
    padding: 0.25em;
    justify-content: space-between;
    align-items: center;
    color: var(--c-darkgrey-font);
    border-bottom: solid var(--border-w-s) var(--c-darkgrey-line);
}
.section_title_wrap::before{
    position: absolute;
    content: "";
    height: calc(100% + 3.75rem);
    aspect-ratio: 1 / 1;
    top: -1.875rem;
    left: max(-2dvw, -1.875rem);
    border-top: solid var(--border-w-s) var(--c-darkgrey-line);
    border-left: solid var(--border-w-s) var(--c-darkgrey-line);
}

.section_title_inner{
    display: flex;
    gap: 0.6rem;
    font-size: var(--font-2xl);
    align-items: center;
}
.section_title_inner.section_title_top{
    font-size: var(--font-subtitle-top);
}

.section_title_icon{
    height: 1.6em;
}
.section_title_inner.section_title_top .section_title_icon{
    height: 1.2em;
}

.section_title{
    font-size: var(--font-2xl);
}
.section_title_inner.section_title_top .section_title{
    font-size: var(--font-subtitle-top);
}

.section_title_eng{
    font-size: var(--font-subtitle-eng);
    font-family: "al-fresco", sans-serif;
}

/*-------------------- お問い合わせ＆電話リンク --------------------*/

/*編集中*/
#contact_guide{
    background: url("../images/contact_bg.jpg");
    background-size: cover;
    background-position: left;
    background-repeat: no-repeat;
}

.cguide_title_wrap{
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    font-family: var(--ff-noto-sans);
}

.cguide_title{
    position: relative;
    width: fit-content;
    font-size: var(--font-4xl);
    font-weight: var(--font-wb);
    text-indent: 2.2em;
}
.cguide_title::before{
    position: absolute;
    content: "";
    width: 2em;
    aspect-ratio: 80 / 55;
    left: 0;
    top: 0;
    background-image: url("../images/icon_contact.png");
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
}

.cguide_title_text{
    width: 100%;
    text-align: center;
    font-size: var(--font-l);
    border-top: solid var(--c-darkgrey-line) var(--border-w-s);
}

.cguide_list{
    display: flex;
    gap: 1.875rem;
}

.cguide_item{
    position: relative;
    flex: 1;
    height: fit-content;
}

.cguide_link{
    color: var(--c-darkgrey-font);
    filter: brightness(1);
    transition: filter 0.3s;
}

.cguide_image_wrap{
    width: 70%;
    min-width: 15.625rem;
    aspect-ratio: 1 / 1;
    padding-bottom: 10%;
}

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

.cguide_text_wrap{
    position: absolute;
    display: flex;
    width: 13em;
    height: 9em;
    bottom: 0;
    right: 0.5em;
    padding: 0.5em;
    flex-direction: column;
    align-items: center;
    gap: 0.3125rem;
    text-align: center;
    font-family: var(--ff-noto-sans);
    font-size: var(--font-l);
    background-color: var(--c-white);
    box-shadow: 0.5rem -0.5rem 0 var(--c-darkblue);
    transition: translate 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.cguide_text_title{
    font-size: var(--font-2xl);
    color: var(--c-darkgrey-contact-font);
}

.cguide_icon{
    width: 3.5em;
    height: 3em;
    object-fit: contain;
}

.cguide_text span{
    font-size: var(--font-xs);
}

.cguide_text_num{
    display: flex;
    flex-direction: column;
    font-size: var(--font-xl);
}

/*------------------------------ 共有部品 ↑ ------------------------------*/

.news_content{
	background-color: #003783;
	color: #fff;
	font-size: 24px;
	text-align: center;
	padding: 1.5rem 0;
}


/*------------------------------ front page ↓ ------------------------------*/

/*-------------------- mainview --------------------*/
.mainview{
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.mainview_img{
    width: 100%;
    height: 100%;
    min-height: 18.75rem;
    object-fit: cover;
    object-position: 68%;
}

.mainview_font_wrap{
    position: absolute;
    height: min(25%, 12.5rem);
    top: 35%;
    left: clamp(30%, 50% - (var(--window-pc) - 100dvw) * 0.2 , 50%);
    translate: -50% -50%;
}
.mainview_font_wrap::before{
    position: absolute;
    content: "";
    width: 100dvw;
    height: 1px;
    top: 100%;
    right: 0;
    background-color: var(--c-darkblue);
}

.mainview_font{
    position: relative;
    display: block;
    height: 100%;
    object-fit: contain;
}

/*-------------------- top_support --------------------*/
#top_support{
    background-image: url("../images/subview.jpg");
    background-size: cover;
    background-position: center;
}

.tsupport_wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    font-family: var(--ff-noto-sans);
}

.tsupport_wrap > p{
    text-align: center;
    font-size: var(--font-md);
    font-weight: var(--font-wb);
    color: var(--c-darkgrey-font);
}

.tsupport_title_container{
    text-align: center;
}

.tsupport_title{
    display: inline;
    font-size: var(--font-2xl);
    background: linear-gradient(var(--c-transparent) 70%,var(--c-lightgrey) 30%);
}

.tsupport_icon_list{
    display: grid;
    width: 100%;
    max-width: 43.75rem;
    margin: auto auto 5rem ;
    grid-template-columns: repeat(auto-fill, minmax(12.5rem,1fr));
    justify-items: center;
    gap: 1.25rem;
}

.tsupport_icon_item{
    display: flex;
    width: 12.5rem;
    height: 12.5rem;
    flex-direction: column;
    justify-content: center;
    gap: 0.5em;
    font-family: var(--ff-noto-sans);
    font-size: var(--font-s);
    background-color: var(--c-white);
    border-radius: var(--border-r-ci);
    box-shadow: 0.3125rem 0.3125rem 0.25rem var(--c-black-shadow);
}

.tsupport_icon_item > div{
    display: flex;
    height: 50%;
    padding: 1em 1.5em 0;
    justify-content: center;
    align-items: end;
}

.tsupport_icon_item p{
    display: block;
    min-height: 3em;
    font-weight: var(--font-wb);
}

.tsupport_icon_item img{
    height: 50%;
    padding: 0 20% 20%;
    object-fit: contain;
}

/*-------------------- top_conditions --------------------*/
.top_conditions_target{
    display: flex;
    margin-top: 1em;
    justify-content: space-between;
    font-size: var(--font-md);
    gap: 0.625rem;
}

.top_conditions_target > div:nth-of-type(odd){
    width: 60%;
}

.top_conditions_target > div:nth-of-type(even){
    display: flex;
    flex: 1;
    justify-content: end;
}
.top_conditions_target > div:nth-of-type(even) img{
    width: 100%;
    max-width: 15.625rem;
    object-fit: contain;
    object-position: top;
}

/*------------------------------ front page ↑ ------------------------------*/



/*------------------------------ floor_plan ↓ ------------------------------*/
/*-------------------- floor --------------------*/
.floor_list{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
}

.floor_item{
    display: flex;
    padding: 2rem 2rem 1rem;
    flex-direction: column;
    justify-content: flex-start;
    gap: 2rem;
    color: var(--c-white);
    background-color: var(--c-blue);
    border-radius: var(--border-r-md);
}

.fritem_icon_wrap{
    display: flex;
    width: 100%;
    max-width: 7.375rem;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 0.25rem;
    font-family: var(--ff-noto-sans);
    border: solid var(--border-w-md) var(--c-white);
    border-radius: var(--border-r-md);
}

.fritem_icon{
    width: 50%;
    object-fit: contain;
}

.fritem_title{
    font-size: var(--font-l);
}
.detail_padding_left{
	padding-left: 20px;
}
.fritem_specification_list{
    display: flex;
    padding-bottom: 3em;
    flex-direction: column;
    gap: 1em;
    font-family: var(--ff-noto-sans);
    font-size: var(--font-l);
    font-weight: var(--font-wr);
}

.fritem_specification_list li{
    position: relative;
    padding-left: 0.7em;
    border-bottom: dotted var(--border-w-s) var(--c-white);
    /* border-bottom: dotted var(--border-w-s) var(--c-darkgrey-line); */
}
.fritem_specification_list li::before{
    position: absolute;
    content: "･";
    width: 0.5em;
    top: 50%;
    left: 0;
    translate: 0 -50%;
}
.detail_capacity span {
	font-weight: bold;
    display: inline-block;
    padding-left: 7px;
    padding-right: 5px;
}

.floor_features_list{
    display: grid;
    margin-top: 2rem;
    grid-template-columns: repeat(auto-fill, minmax(5.2rem, 1fr));
    justify-content: space-between;
    gap: 1rem 0.5rem;
}

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

.floor_features_item p{
    text-align: center;
    font-family: var(--ff-noto-sans);
    font-size: var(--font-xs);
    font-weight: var(--font-wb);
    color: var(--c-blue);
}

.floor_features_item img{
    width: 100%;
    max-width: 5rem;
    margin: 0 auto;
    object-fit: contain;
}

/*-------------------- exterior --------------------*/
.slideshow{
    position: relative;
    width: 100%;
    max-width: 51.25rem;
    margin: auto;
}

.swiper{
    width: calc(100% - 6rem);
}

.swiper-wrapper{
    width: 100%;
    aspect-ratio: 4 / 3;
    padding-top: 4em;
}

.swiper_image{
    position: relative;
    width: 100%;
    object-fit: contain;

    /*仮置き*/
    object-position: center;
}

.swiper_text{
    position: absolute;
    width: 100%;
    top: 0;
    left: 50%;
    padding: 0.5em;
    translate: -50% -100%;
    text-align: center;
    font-size: var(--font-l);
    color: var(--c-black);
}

.swiper-button-prev,
.swiper-button-next{
    translate: 0 2em;
}
.swiper-button-prev::after{
    content: "";
    width: 100%;
    height: 100%;
    scale: -1 1;
    background: var(--c-darkblue);
    clip-path: var(--c-path-tri-r);
}
.swiper-button-next::after{
    content: "";
    width: 100%;
    height: 100%;
    background: var(--c-darkblue);
    clip-path: var(--c-path-tri-r);
}

.swiper-pagination,
.swiper-scrollbar{
    translate: 0 2rem;
}

.swiper-pagination-bullet-active{
    background-color: var(--c-darkblue);
}

/*-------------------- price --------------------*/
.price_table,.detail_price_table{
    display: grid;
    grid-template-columns: clamp(8em, 30%, 12em) 1fr;
    font-family: var(--ff-noto-sans);
    font-size: var(--font-l);
    color: var(--c-black);
    border: solid var(--border-w-b) var(--c-darkgrey-line);
}
/* 余白変更 kaneko */
.price_table dt,
.price_table dd,
.detail_price_table dt,
.detail_price_table dd{
    padding: 1em 0.7em;
    border-top: solid var(--border-w-s) var(--c-darkgrey-line);
	font-size: var(--font-s);
}
/* 変更 kaneko↑ */
.price_table dt{
    display: flex;
    align-items: center;
    background-color: var(--c-lightgrey-bg);
}
.price_table dd,.detail_price_table dd{
    border-left: solid var(--border-w-s) var(--c-darkgrey-line);
}
.price_table dt:first-of-type,
.price_table dd:first-of-type,
.detail_price_table dt:first-of-type,
.detail_price_table dd:first-of-type{
    border-top: none;
}
.price_table dd > span{
    font-family: var(--ff-yu-gothic);
    font-size: var(--font-s);
}
/*-------------------- スタッフ --------------------*/
.detail_table_deta{
	display: flex;
	gap: 5px;
	flex-direction: column;
	align-items: flex-start;
	background-color: var(--c-lightgrey-bg);
}
.detail_table_item {
    display: flex;
    align-items: center;
}
.price_move_in li{
    position: relative;
    padding-left: 0.7em;
}
.price_move_in li::before{
    position: absolute;
    content: "･";
    top: 0;
    left: 0;
}
/*-------------------- 非常災害対策 --------------------*/
.detail_training {
    font-family: var(--ff-noto-sans);
    border-radius: 25px;
    font-size: var(--font-l);
    background-color: var(--c-darkblue);
    color: var(--c-white);
    padding: 1em;
    text-align: center;
}
.detail_training h2{
	padding-bottom: 0.2em;
}
/*------------------------------ floor_plan ↑ ------------------------------*/


/*------------------------------ flow ↓ ------------------------------*/
.flow_list{
    display: flex;
    flex-direction: column;
    font-family: var(--ff-noto-sans);
    gap: 6rem;
}

.flow_item{
    position: relative;
    display: flex;
    padding-bottom: 1em;
    gap: 0.5rem;
    color: var(--c-black);
    border-bottom: dashed var(--border-w-s) var(--c-darkgrey-line);
}
.flow_item:not(:last-of-type)::after{
    position: absolute;
    content: "";
    width: 2em;
    aspect-ratio: 2 / tan(60deg);
    top: 100%;
    left: 50%;
    translate: -50% 100%;
    background-color: var(--c-darkgrey-line);
    clip-path: var(--c-path-tri-b);
}

.fwitem_title_num{
    display: flex;
    width: 1.6em;
    height: 1.6em;
    justify-content: center;
    align-items: center;
    font-family: var(--ff-noto-sans);
    font-size: var(--font-2xl);
    font-weight: var(--font-l);
    color: var(--c-white);
    background-color: var(--c-darkblue);
    border-radius: var(--border-r-ci);
}

.fwitem_wrap{
    display: flex;
    flex: 1;
    padding-right: calc(var(--font-2xl) * 1.6);
    justify-content: space-between;
    gap: 1em;
}
.fwitem_wrap.fwitem_column_wrap{
    flex-direction: column;
    justify-content: flex-start;
}

.fwitem_text_wrap{
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.fwitem_title{
    font-size: var(--font-2xl);
}

.fwitem_image{
    width: clamp(5rem, 15dvw, 10rem);
    object-fit: contain;
}
/*------------------------------ flow ↑ ------------------------------*/



/*------------------------------ footer ↓ ------------------------------*/

.footer_lp_banner {  /* 260407追加odani */
	display: block;
	max-width: 352px;
	margin: clamp(2.5rem, 2.384rem + 0.617vw, 3.125rem) auto;
	padding: 0 10px;
	width: 100%;
}

.footer_banner { /* 260407追加odani */
	display: block;
}

.beegle_lp_banner { /* 260407追加odani */
	box-shadow: 2px 2px 5px #666;
	width: 100%;
}

/*------------------------------ footer ↑ ------------------------------*/



@media screen and (max-width:1024px) {
    :root{
        /* font-size */
        --font-subtitle-eng: 1.75rem;/*28px*/
        --font-subtitle-top: 2rem;/*32px*/
        --font-4xl: 1.75rem;/*28px*/
        --font-3xl: 1.5rem;/*24px*/
        --font-2xl: 1.25rem;/*20px*/
        --font-xl: 1.125rem;/*18px*/
        --font-l: 1rem;/*16px*/
        --font-md: 0.875rem;/*14px*/
        --font-s: 0.75rem;/*12px*/
        --font-xs: 0.625rem;/*10px*/
        --font-2xs: 0.5rem;/*8px*/

        /* margin */
        --margin-content-top: 3.125rem;/*50px*/

        /* padding */
        --padding-section-t: 4.375rem;/*70px*/
    }



    /*------------------------------ u1024 front page ↓ ------------------------------*/

    .tsupport_icon_list{
        grid-template-columns: repeat(auto-fill, minmax(clamp(7.5rem, 28dvw, 11.25rem),1fr));
        gap: clamp(0.75rem, 2.8dvw, 1.125rem);
    }

    .tsupport_icon_item{
        width: clamp(7.5rem, 28dvw, 11.25rem);
        height: clamp(7.5rem, 28dvw, 11.25rem);
    }

    /*------------------------------ u1024 front page ↑ ------------------------------*/

    /*------------------------------ u1024 floor_plan ↓ ------------------------------*/
    /*-------------------- floor --------------------*/
    .floor_features_item p{
        font-size: var(--font-xs);
    }
    /*-------------------- exterior --------------------*/
    /*-------------------- price --------------------*/

    /*------------------------------ u1024 floor_plan ↑ ------------------------------*/

    /*------------------------------ u1024 footer ↓ ------------------------------*/

    @media screen and (max-width:768px) {

        /*------------------------------ u768 共有部品 ↓ ------------------------------*/
        .desktop_br{
            display: none;
        }
        .tablet_br{
            display: initial;
        }
        .mobile_br{
            display: none;
        }

        /*-------------------- セクションタイトル --------------------*/
        .section_title_wrap{
            margin: 1rem 0 3rem;
            flex-direction: column;
            align-items: initial;
        }
        .section_title_wrap::before{
            height: calc(100% + 1.75rem);
            top: -1rem;
        }

        .section_title_inner.section_title_top .section_title{
            font-size: var(--font-3xl);
        }

        .section_title_eng{
            align-self: flex-end;
            font-size: var(--font-subtitle-eng);
        }

        /*-------------------- お問い合わせ＆電話リンク --------------------*/
        .cguide_list{
            width: 100%;
            max-width: 31.25rem;
            margin: auto;
            flex-direction: column;
        }

        .cguide_image_wrap{
            width: 70%;
            height: 12.5rem;
            aspect-ratio: initial;
            padding-bottom: 1.875rem;
        }


        /*------------------------------ u768 共有部品 ↑ ------------------------------*/

        /*------------------------------ u768 floor plan ↓ ------------------------------*/
        /*-------------------- floor --------------------*/
        .floor_list{
            grid-template-columns: 1fr;
        }

        .floor_item{
            padding: 2rem;
            flex-direction: row;
            justify-content: space-evenly;
        }

        .fritem_icon_wrap{
            margin: auto 0;
        }

        .fritem_specification_list{
            max-width: 20rem;
            flex: 1;
            padding-bottom: initial;
        }
		.detail_training p{
			text-align: left;
		}
        /*------------------------------ u768 floor plan ↑ ------------------------------*/

        /*------------------------------ u768 flow ↓ ------------------------------*/
        .fwitem_title_num{
            position: absolute;
            top: 0;
            left: 0;
        }

        .fwitem_wrap{
            padding-right: initial;
            flex-direction: column;
        }

        .fwitem_title{
            text-indent: 2em;
        }

        .fwitem_image{
            align-self: center;
            width: clamp(5rem, 30dvw, 10rem);
            object-fit: contain;
        }
        /*------------------------------ u768 flow ↑ ------------------------------*/
        /*------------------------------ u768 footer ↓ ------------------------------*/

        /*------------------------------ u768 footer ↑ ------------------------------*/

        @media screen and (max-width:500px) {
            /*------------------------------ u500 共有部品 ↓ ------------------------------*/
            .desktop_br{
                display: none;
            }
            .tablet_br{
                display: none;
            }
            .mobile_br{
                display: initial;
            }
            /*------------------------------ u500 共有部品 ↑ ------------------------------*/



            /*------------------------------ u500 front page ↓ ------------------------------*/
            .mainview_font_wrap{
                top: 25%;
                left: 33%;
            }

            .tsupport_icon_item{
                font-size: clamp(var(--font-xs),(100dvw - 25rem) * 10000,var(--font-s));
            }

            .tsupport_icon_list{
                grid-template-columns: repeat(auto-fill, minmax(clamp(7.5rem, 40dvw, 12.5rem),1fr));
                gap: clamp(0.75rem, 4dvw, 1.25rem);
            }

            .tsupport_icon_item{
                width: clamp(7.5rem, 40dvw, 12.5rem);
                height: clamp(7.5rem, 40dvw, 12.5rem);
            }

            .top_conditions_target{
                margin-top: 2em;
                flex-direction: column;
            }
            .top_conditions_target > div:nth-of-type(odd){
                width: 100%;
            }
            .top_conditions_target > div:nth-of-type(even){
                justify-content: center;
            }
            .top_conditions_target > div:nth-of-type(even) img{
                max-width: 12rem;
            }
            /*------------------------------ u500 front page ↑ ------------------------------*/


            /*------------------------------ u500 floor_plan ↓ ------------------------------*/
            /*-------------------- floor --------------------*/
            .floor_list{
                justify-content: center;
            }

            .floor_item{
                width: 100%;
                max-width: 24rem;
                margin: auto;
                padding: 2rem 1rem;
                flex-direction: column;
                justify-content: center;
                align-items: center;
            }

            .fritem_icon_wrap{
                margin: auto;
            }

            .fritem_specification_list{
                width: 100%;
            }

            /*-------------------- exterior --------------------*/
            .swiper{
                width: 100%;
            }
            /*-------------------- price --------------------*/
            .price_table,.detail_price_table{
                grid-template-columns: 1fr;
            }
            .price_table dt,.detail_price_table dt{
                padding: 0.5em 1em;
                border-top: solid var(--border-w-md) var(--c-darkgrey-line);
            }
            .price_table dd,.detail_price_table dd{
                border-top: none;
                border-left: none;
            }
            /*-------------------- スタッフ --------------------*/
			.detail_table_deta{
				flex-direction: row;
			}
            /*------------------------------ u500 floor_plan ↑ ------------------------------*/
        }
    }
}


@media (hover: hover){
    /*---------- 共有部品 ↓ ----------*/
    /*----- お問い合わせ＆電話リンク -----*/
    .cguide_link:hover{
        filter: brightness(1.2);
    }

    .cguide_link:hover .cguide_text_wrap{
        translate: 0.125rem -0.125rem;
        box-shadow: 0.25rem -0.25rem 0 var(--c-blue);
    }
    /*---------- 共有部品 ↑ ----------*/
}







.top_others_content_title {
	display: inline-block;
	max-width: 100%;
	padding-right: 0.875rem;
	overflow-wrap: break-word;
	position: relative;
	--top-others-marker-indent: 1.5em;
	padding-left: var(--top-others-marker-indent);
	text-indent: calc(-1 * var(--top-others-marker-indent));
}

.top_others_content_title::before{
	transition: all .2s ease-out;
	right: 0;
}

.top_others_content:has(.top_others_content_text.is-open) .top_others_content_title::before {
    transform: rotate(-45deg);
}

.top_others_content_text.is-open  {
    max-height: 9999px;
}

.tsupport_icon_list{
    display: grid;
    width: 100%;
    max-width: 43.75rem;
    /* margin: auto auto 5rem ; */
    grid-template-columns: repeat(auto-fill, minmax(200px, 220px));
    justify-items: center;
	justify-content: center;
    gap: 1.25rem;
}

.tsupport_icon_item{
    display: flex;
    width: 12.5rem;
    height: 12.5rem;
    flex-direction: column;
    justify-content: center;
    gap: 0.5em;
    font-family: var(--ff-noto-sans);
    font-size: var(--font-s);
    /* background-color: var(--c-white); */
    background-color: #edf5fb;
    border-radius: var(--border-r-ci);
    box-shadow: 0.3125rem 0.3125rem 0.25rem var(--c-black-shadow);
}

/* jeff : change specificity? */
.section_title_wrap {
	padding: 0.25em 15px;
}

#flow .wrapper {
	padding-bottom: var(--padding-section-t);
}



/* ↓ 260526,260527 hinoguchi追加 ↓ */

.wrap_text {
    display: inline-block;
}

/*-------------------- top_explanation --------------------*/
.top_explanation_text {
    margin-bottom: 1.875rem;
}

.top_explanation_img_wrap {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, calc((100% - 30px) / 3)));
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 4.375rem;
}

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

.top_explanation_support_text {
    margin-bottom: 3.125rem;
    text-align: center;
    font-size: var(--font-xl);
    font-weight: var(--font-wb);
    color: var(--c-darkgrey-font);
}


/*-------------------- top_others --------------------*/
.top_others_content {
    margin-bottom: 1.25rem;
    border-bottom: 1px solid #000;
}


.top_others_content_title{
    width: 100%;
    font-size: var(--font-2xl);
    font-weight: var(--font-wb);
    color: var(--c-darkgrey-font);
    cursor: pointer;
    margin-bottom: 1.25rem;
}

.top_others_content_title::before{
    content: "";
    display: block;
    width: 6px;
	height: 6px;
	border-top: 2px solid #666;
	border-right: 2px solid #666;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	transform: rotate(135deg);
}

.top_others_content_title,
.top_others_content_text{
    -webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
}

.top_others_content_text {
    max-height: 0;
	overflow: hidden;
    padding: 0 20px;
    opacity: 0;
    visibility: hidden;
    transition: all .2s ease-out;
}

.top_others_content_text.is-open  {
    max-height: 700px;
    transition: all .2s ease-out;
    padding: 20px;
    opacity: 1;
    visibility: visible;
}

.top_others_content_text ol {
    padding-left: 20px;
}

.top_others_content_text ol li:not(:last-of-type) {
    margin-bottom: 10px;
}

.top_others_content_text ol li {
    list-style: decimal;
}

.top_mb_xs{
    margin-bottom: 1.25rem;
}

/*-------------------- top_conditions --------------------*/
.top_conditions_content_text {
	--top-others-marker-indent: 1.5em;
    padding-left: var(--top-others-marker-indent);
    text-indent: calc(-1 * var(--top-others-marker-indent));
}

.top_conditions_content_text:first-of-type {
	margin-bottom: 20px;
}


@media screen and (max-width: 500px) {
	.top_conditions_content_subtext {
		padding: 10px 20px 1em;
	}
}

/* ↑ 260526 hinoguchi追加 ↑ */

/*-------------------------------------------------------------------------*/
/*- top.css ---------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/

/*1024px時の既存スタイルを削除する*/
@media screen and (max-width: 1024px){
	.tsupport_icon_list{
		grid-template-columns: repeat(auto-fill, minmax(200px,220px));
		gap: 1.25rem;
	}

	.tsupport_icon_item{
		font-size: 14px;
	}
}

@media screen and (max-width:500px){
	.tsupport_icon_item{
		font-size: clamp(0.625rem, 3vw, 0.875rem);
	}

	.tsupport_icon_list{
		grid-template-columns: repeat(auto-fill, minmax(clamp(7.5rem, 40dvw, 12.5rem),1fr));
		gap: clamp(0.75rem, 4dvw, 1.25rem);
	}

	.tsupport_icon_item{
		width: clamp(7.5rem, 40dvw, 12.5rem);
		height: clamp(7.5rem, 40dvw, 12.5rem);
	}

	.top_conditions_target {
		display: block;
	}

	.top_conditions_target > div:nth-of-type(odd){
		margin-bottom: 30px;
	}

	.top_others_content {
		margin-bottom: clamp(10px, 3.33vw, 20px);
	}
}

/*-------------------------------------------------------------------------*/
/*- header.css ------------------------------------------------------------*/
/*-------------------------------------------------------------------------*/

/* @font-face を style.css のセクションに移動 */

/* ---------変数--------- */
/* PC用 */
:root{
	/* フォントサイズ用 */
	--header-font-xxs: 0.625rem;  /* 10x */
	--header-font-xs: 0.75rem;    /* 12px */
	--header-font-s:  clamp(0.75rem, 0.666rem + 0.17vw, 0.875rem); /* 12~14px */
	--header-font-n:  clamp(0.875rem, 0.791rem + 0.17vw, 1rem);    /* 14~16px */

	/* margin,padding用 */
	--header-space-xs: 0.25rem; /* 4px */
	--header-space-s:  0.5rem;  /* 8px */
	--header-space-n: 	1rem;    /* 16px */
	--header-space-nn: 1.5rem;  /* 24px */
	--header-space-l:  2rem;    /* 32px */

	/* コンテンツサイズ */
	--header-arrow-size: 2.5rem;   /* 40px */
	--header-contents-size: 50rem; /* 800px */

	/* 色 */
	--header-c-gray:  #727171;
	--header-c-grayw: #adadad;
	--header-c-whiteg:#DBDCDC;
	--header-c-gold:  #D2AF3A;
	--header-c-goldw:  #866f22;
	--header-c-blue:  #1a2c51;

	/* 画像用サイズ */
	--header-img-icon-xs:0.75rem; /* 12px */
	--header-img-icon-ss:1rem;    /* 16px */
	--header-img-icon-s: 1.25rem; /* 20px */
}
@media screen and (max-width:768px) {
	/* スマホ用 */
	:root{
		/* フォントサイズ用 */
		--header-font-xxs: 0.5rem;  /* 8px */
		--header-font-xs: clamp(0.625rem, 0.545rem + 0.43vw, 0.75rem);   /* 10~12px */
		--header-font-s:  clamp(0.75rem, 0.67rem + 0.43vw, 0.875rem); /* 12~14px */
		--header-font-n:  clamp(0.875rem, 0.795rem + 0.43vw, 1rem);  /* 14px */

		/* margin,padding用 */
		--header-space-xs: 0.25rem; /* 4px */
		--header-space-s:  0.5rem;  /* 8px */
		--header-space-n: 	0.75rem;    /* 12px */
		--header-space-nn: 1.5rem;  /* 24px */
		--header-space-l:  2rem;    /* 32px */
		--header-space-xl: 5rem;    /* 80px */
		--header-space-h:  4rem;    /* 64px */

		/* 画像用サイズ */
		--header-img-icon-xs: 0.625rem; /* 10px */
		--header-img-icon-ss: 0.875rem; /* 14px */
		--header-img-icon-s:  1.25rem;     /* 16px */
	}
}

/* 汎用クラス（サイズ、幅、一部カラーは原則ここにあるクラスを使用します） */

/* 基本フォントサイズ */
.header-font-xxs{font-size: var(--header-font-xxs);}
.header-font-xs{font-size: var(--header-font-xs);}
.header-font-s{font-size: var(--header-font-s);}
.header-font-n{font-size: var(--header-font-n);}

/* 基本幅、高さ調整用(padding) */
.header-padding-s{padding: var(--header-space-s);}
.header-padding-n{padding: 1rem;}
.header-padding-nn{padding: var(--header-space-nn);}
.header-paddingl-l{padding-left: var(--header-space-l);}

/* ナビゲーションの幅 */
.header-padding-nav{padding: var(--header-space-n) 0 var(--header-space-n) 0;}
.header-padding-nav-c{padding: var(--header-space-n) var(--header-space-l) var(--header-space-n) var(--header-space-l);}

/* コンテンツなどの幅 */
.header-padding-content{padding: var(--header-space-n) var(--header-space-n) calc(var(--header-space-n) * 3) var(--header-space-n);}
.header-padding-content-s{padding: var(--header-space-n) var(--header-space-n) calc(var(--header-space-n) * 2) var(--header-space-n);}
.header-padding-box{padding: var(--header-space-n) calc(var(--header-space-n) * 3);}
.header-padding-box-s{padding: var(--header-space-s) var(--header-space-n);}

/* 背景及びそれに合わせた文字色 */
.header-bg-gold{color: #fff; background-color: var(--header-c-gold);}

/* アイコンサイズ */
.header-img-icon-xs{width: auto; height: var(--header-img-icon-xs); margin-right: var(--header-space-xs);}
.header-img-icon-s{height: 14px; margin-right: var(--header-space-xs);}

/* お問い合わせ用のサイズ */
.header-img-contact{width: calc(var(--header-img-contact) * 1.1); height: var(--header-img-contact);}
.header-img-contact-inner{width: var(--header-img-l); height: var(--header-img-l);}

/* 改行位置制御 */
.header-nowrap-word{white-space: nowrap;}

@media screen and (max-width:768px) {
	/* コンテンツサイズのスマホ版 */
	.header-padding-box{padding: var(--header-space-n) calc(var(--header-space-n) * 1.5);}
	.header-padding-content{padding: var(--header-space-n) 0 calc(var(--header-space-n) * 3) 0;}
}
/* ---------変数・汎用クラスここまで--------- */

/* ☆ヘッダー */
header,
.header_menu_fixed{
	width: 100%;
	height: 4.69rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	padding: 0 1rem;
	font-family: "NotoSans","Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", yu-mincho-pr6, serif;
	font-weight: 400;
	color: #333;
	letter-spacing: 0.1em;
	line-height: 1.15;
}

.header_menu_fixed{
	position: fixed;
	top: 1rem;
	left: 0;
	z-index: 10;
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s;
}

.header_menu_fixed.fixed{
	opacity: 1;
	visibility: visible;
}

header .header_nav_box:not(.header_contact_box),
.header_menu_fixed .header_nav_box:not(.header_contact_box){
	font-family: "NotoSans","Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", yu-mincho-pr6, serif;
	color: #333;
	text-decoration: none;
	transition: all 0.3s;
}

header img,
.header_menu_fixed img{
	max-width: 100%;
	vertical-align: bottom;
}
.header_logo{
	width: clamp(11rem, 6.429rem + 7.14vw, 15rem);
}

.header_nav ul{
	display: flex;
	flex-direction: row;
	align-items: flex-end;
    transition: all 0.3s ease; /* 2026/5/29 追加 */
}

/* スクロール時の固定メニュー */
.header_menu_fixed .header_nav{
	outline: solid 2px var(--c-darkblue);
	outline-offset: -1px;
	background-color: #FFF;
	border-radius: 50px;
}

.header_nav_box{
	text-align: center;
	display: flex;
	flex-direction: column;
	transition: opacity 0.2s ease-in-out;
	padding: 18px 0;
}

.header_nav_box > p{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 3px;
}

.detail_relative{
	position: relative; /* 2026/5/28 追加 */
}
.hnav_dropdown_wrap {
    width: 145px;/* 2026/5/29 追加 */
    position: relative; /* 2026/5/29 追加 */
    padding: 0 1rem;
}
.header_nav.top_header .hnav_dropdown_list,
.header_menu_fixed .hnav_dropdown_list{
	display: flex;
	flex-direction: column;
	position: absolute;
	background-color: #FFF;
	width: 148px;
	visibility: hidden;
	gap: 1rem;
}
.header_nav.top_header .hnav_dropdown_list{
	z-index: 20000;
	top: calc(100% + 1rem - 2px);
	left: 50%;
    padding: 0.5rem 20px;
	box-sizing: content-box;
	translate: -50% 0;
	opacity: 0;
}
.header_menu_fixed .hnav_dropdown_list {
    top: calc(100% - 1px);
    padding: 0.5rem 0;
    opacity: 0;
    border: var(--c-darkblue) 2px solid;
    border-top: none;
    border-radius: 0 0 0.5rem 0.5rem;
}
.header_nav.top_header ul.hnav_dropdown_list{
	border: var(--c-darkblue) 2px solid;
	border-radius: 0.5rem;
}
.header_nav.top_header ul.hnav_dropdown_list::before{
	position: absolute;
	content: "";
	width: 1.25rem;
	height: 1rem;
	top: 0;
	left: 50%;
	translate: -50% -100%;
	background-color: var(--c-darkblue);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.header_nav.top_header ul.hnav_dropdown_list::after{
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 1rem;
	top: 0;
	left: 0;
	translate: 0 -100%;
}
/* 2026/5/29 追加 */
.detail_scroll_down_top{
    left: 50%;
    transform: translateX(-50%);
}
.detail_scroll_down_guide{
	left: 0;
}
.detail_scroll_overview{
	left: -1px;
}
/* ---------------------------- */

.header_menu_fixed .header_nav ul.hnav_dropdown_list::before,
.header_menu_fixed .header_nav ul.hnav_dropdown_list::after{
	display: none;
}

.hnav_dropdown_item{
	width: 100%;
}

.hnav_dropdown_link{
	display: block;
	padding: 0 5px;
	text-align: center;
	color: #333;
	transition: opacity 0.2s ease-in-out;
}

.header_tel > p{
	display: flex;
	align-items: center;
}

.header_contact_box{
	color: #fff;
	background-color: var(--c-darkblue);
	transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
	padding-left: 15px;
    padding-right: 15px;
}

.header_menu_fixed .header_contact_box{
	border-top-right-radius: 50px;
	border-bottom-right-radius: 50px;
}

.hamburger{
	display: none;
}

@media screen and (max-width:1024px) {
	/* ◇タブレットサイズ */
	/* ☆ヘッダー */
	/* ハンバーガーメニュー関連 */
	.header_nav{
		display: none;
	}

	.header_menu_fixed{
		display: none;
	}

	.hamburger{
		display: block;
		position: fixed;
		z-index: 9999;
	}

	.hamburger_button{
		width: 3rem;
		height: 3rem;
		background-color: #333;
		border: 0;
		display: flex;
		flex-direction: column;
		position: fixed;
		top: 1rem;
		right: 20px;
		z-index: 9999;
	}

	.hamburger_button > span{
		display: block;
		width: 1.5rem;
		height: 0.2rem;
		background-color: #fff;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		transition: all 0.3s;
	}

	.hamburger_button > span:first-child{
		top: calc(50% - 0.6rem);
	}

	.hamburger_button > span:last-child{
		top: calc(50% + 0.6rem);
	}

	.hamburger_button.open span:first-child {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}

	.hamburger_button.open span:last-child {
		top: 50%;
		transform: translate(-50%, -50%) rotate(-45deg);
	}

	.hamburger_button.open span:nth-child(2) {
		display: none;
	}

	header .header_nav_box:not(.header_contact_box),
	.header_menu_fixed .header_nav_box:not(.header_contact_box){
		color: #FFF;
	}

	.header_nav_hamburger{
		opacity: 0;
		visibility: hidden;
		background-color: rgba(51, 51, 51, 0.9);
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		max-width: 15rem;
		height: 100dvh;
		z-index: 999;
		transition: all 0.5s;
		display: flex;
		flex-direction: row;
		justify-content: center;
	}

	.header_nav_hamburger.open{
		opacity: 1;
		visibility: visible;
		right: 0;
		height: 100vh;
		overflow-y: auto;
		padding: 0 20px;
	}

	/* 5/26  追加,変更CSS ハンバーガーメニュー  */
	.detail_header_nav_hamburger{
		width: 14rem;
		padding-top: 6.25rem;
	}
	.detail_header_nav_hamburger li{
		width: 100%;
	}
	.detail_guide_wrap {
		padding: 0 5px 0 15px;
		text-align: left;
	}
	.detail_header_nav_item{
		margin-bottom: 15px;
	}
	.detail_header_nav_padding{
		padding-bottom: 20px;
	}
	.detail_guide_link{
		display: inline-block;
		color: #fff;
		padding: 10px 5px;
	}
	/* --------------------- */

	.header_nav_box > p{
		justify-content: flex-start;
		border-bottom: 1px solid;
		padding-bottom: 5px;
	}

	.header_contact_box{
		width: 100%;
		max-width: 13rem;
		color: #333!important;
		font-weight: 600;
		background-color: var(--header-c-gold);
		border-radius: 50px;
		border: 0;
		justify-content: center;
		align-items: center;
		padding: var(--header-space-s) var(--header-space-n);
		margin: auto;
	}

	.header_contact_box > p:first-child{
		border: 0;
	}

	.menu_blank{
		width: 100%;
		height: 100dvh;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 99;
		background-color: rgba(51, 51, 51, 0.5);
		opacity: 0;
		visibility: hidden;
		transition: all 0.7s;
	}

	.menu_blank.open{
		opacity: 1;
		visibility: visible;
	}
}

@media screen and (max-width:768px) {
	/* ☆ヘッダー */
	header,
	.header_menu_fixed{
		padding: 0 0.5rem;
	}


	.header_nav_hamburger{
		max-width: 100%;
	}
}

@media (hover :hover){
	.header_nav_box:hover{
		opacity: 0.6;
	}

	.header_contact_box:hover{
		color: var(--header-c-whiteg);
	}
	.hnav_dropdown_wrap:hover ul.hnav_dropdown_list{
		visibility: visible;
		opacity: 1;
	}
	.header_nav:has(.hnav_dropdown_wrap:first-of-type:hover){
		border-bottom-left-radius: 0;  /* 2026/5/26  追加 */
	}
	.hnav_dropdown_link:hover{
		opacity: 0.6;
	}
	
}


/*-------------------------------------------------------------------------*/
/*- footer.css ---------------------------------------------------------*/
/*-------------------------------------------------------------------------*/

@font-face {
	font-family: 'NotoSans';
	src: url(../fonts/NotoSansJP-VariableFont_wght.ttf);/*20260529修正*/
}

@font-face {
	font-family: 'ShipporiM';
	src: url(../fonts/ShipporiMincho-Regular.ttf);/*20260529修正*/
}

/*20250715修正*/

/* body{
	width: 100%;
	font-family: "NotoSans","Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", yu-mincho-pr6, serif;
	color: #333;
	letter-spacing: 0.1em;
	overflow-x: hidden;
} */

footer li{
	list-style: none;
}

footer ol > li{
	list-style: decimal-leading-zero;
}

footer img{
	/* width: 100%; *//*20250715修正*/
	vertical-align: bottom;
}

footer a {
    color: #333;
    text-decoration: none;
    transition: all 0.3s;
    display: inline-block;  /* 2026/5/26 追加 */
    padding: 5px 0; /* 2026/5/26 追加 */
}

footer a:hover{
	filter: brightness(0.8);
	color: #000;
}
/* ---------変数・汎用クラス--------- */
/* ●変数 */
/* PC用 */
:root{
	/* フォントサイズ用 */
	--footer-font-xxs: 0.625rem;  /* 10x */
	--footer-font-xs: 0.75rem;    /* 12px */
	--footer-font-s:  clamp(0.75rem, 0.666rem + 0.17vw, 0.875rem); /* 12~14px */
	--footer-font-n:  clamp(0.875rem, 0.791rem + 0.17vw, 1rem);    /* 14~16px */
	--footer-font-l:  1.125rem;   /* 18px */
	--footer-font-xl: 1.5rem;     /* 24px */
	--footer-font-ttl: 2rem;      /* 32px */
	--footer-font-cc:  clamp(2rem, 0.664rem + 2.78vw, 4rem);       /* 32px~64px */

	/* margin,padding用 */
	--footer-space-xs: 0.25rem; /* 4px */
	--footer-space-s:  0.5rem;  /* 8px */
	--footer-space-n: 	1rem;    /* 16px */
	--footer-space-nn: 1.5rem;  /* 24px */
	--footer-space-l:  2rem;    /* 32px */
	--footer-space-xl: 4rem;    /* 64px */
	--footer-space-h:  6.25rem; /* 100px */

	/* コンテンツサイズ */
	--footer-arrow-size: 2.5rem;   /* 40px */
	--footer-contents-size: 50rem; /* 800px */

	/* 色 */
	--footer-c-gray:  #727171;
	--footer-c-grayw: #adadad;
	--footer-c-whiteg:#DBDCDC;
	--footer-c-gold:  #D2AF3A;
	--footer-c-goldw:  #866f22;
	--footer-c-blue:  #1a2c51;

	/* 画像用サイズ */
	--footer-img-icon-xs:0.75rem; /* 12px */
	--footer-img-icon-ss:1rem;    /* 16px */
	--footer-img-icon-s: 1.25rem; /* 20px */
	--footer-img-icon-l: 2.5rem;  /* 40px */
	--footer-img-icon-xl: 5rem;   /* 80px */
	--footer-img-m     : 6rem;    /* 96px */
	--footer-img-l     : clamp(17rem, 14.996rem + 4.17vw, 20rem); /*  272~320px */
	--footer-img-xl    : 30rem;   /* 480px */
	--footer-img-banner: 20rem;   /* 320~400px */
	--footer-img-contact:clamp(17rem, 14.996rem + 4.17vw, 20rem); /*  272~320px */
}
@media screen and (max-width:768px) {
	/* スマホ用 */
	:root{
		/* フォントサイズ用 */
		--footer-font-xxs: 0.5rem;  /* 8px */
		--footer-font-xs: 0.5rem;   /* 8px */
		--footer-font-s:  0.625rem; /* 10px */
		--footer-font-n:  0.75rem;  /* 12px */
		--footer-font-l:  1.125rem; /* 18px */
		--footer-font-xl: 1rem;     /* 24px */
		--footer-font-ttl: 1.5rem;  /* 32px */
		--footer-font-cc: clamp(1.5rem, 0.538rem + 5.13vw, 3rem); /* 24px~48px */
		/* margin,padding用 */
		--footer-space-xs: 0.25rem; /* 4px */
		--footer-space-s:  0.5rem;  /* 8px */
		--footer-space-n: 	1rem;    /* 16px */
		--footer-space-nn: 1.5rem;  /* 24px */
		--footer-space-l:  2rem;    /* 32px */
		--footer-space-xl: 5rem;    /* 80px */
		--footer-space-h:  4rem;    /* 64px */
		/* 画像用サイズ */
		--footer-img-icon-xs: 0.625rem; /* 10px */
		--footer-img-icon-ss: 0.875rem; /* 14px */
		--footer-img-icon-s:  1rem;     /* 16px */
		--footer-img-icon-l: 2rem;      /* 32px */
		--footer-img-icon-xl: 4rem;     /* 64px */
		--footer-img-l: 12rem;			 /* 192px */
		--footer-img-banner: 17rem;	 /* 272px */
		--footer-img-contact: 15rem;    /* 240px */
	}
}

/* ●汎用クラス（サイズ、幅、一部カラーは原則ここにあるクラスを使用します） */

/* 基本フォントサイズ */
.footer-font-xxs{font-size: var(--footer-font-xxs);}
.footer-font-xs{font-size: var(--footer-font-xs);}
.footer-font-s{font-size: var(--footer-font-s);}
.footer-font-n{font-size: var(--footer-font-n);}
.footer-font-l{font-size: var(--footer-font-l);}
.footer-font-xl{font-size: var(--footer-font-xl);}

/* h2用フォントサイズ */
.footer-font-title{font-size: var(--footer-font-ttl);}

/* キャッチコピー用フォントサイズ */
.footer-font-cc{font-size: var(--footer-font-cc);}
.footer-font-cc-s{font-size: calc(var(--footer-font-cc) * 0.8);}
.footer-font-cc-l{font-size: calc(var(--footer-font-cc) * 1.3);}
.footer-font-sc{font-size: calc(var(--footer-font-cc) * 0.5);}

/* フォント太さ */
.footer-font-bold{font-weight: 600;}

/* 基本幅、高さ調整用(padding) */
.footer-padding-s{padding: var(--footer-space-s);}
.footer-padding-n{padding: 1rem;}
.footer-padding-nn{padding: var(--footer-space-nn);}
.footer-paddingt-n{padding-top: var(--footer-space-n);}
.footer-paddingt-nn{padding-top: var(--footer-space-nn);}
.footer-paddingt-l{padding-top: var(--footer-space-l);}
.footer-paddingb-n{padding-bottom: var(--footer-space-n);}
.footer-paddingb-l{padding-bottom: var(--footer-space-l);}
.footer-paddingl-n{padding-left: var(--footer-space-n);}
.footer-paddingl-l{padding-left: var(--footer-space-l);}
.footer-paddingr-n{padding-right: var(--footer-space-n);}
.footer-paddingr-l{padding-right: var(--footer-space-l);}
.footer-paddingtb-xs{padding: var(--footer-space-xs) 0;}
.footer-paddingtb-s{padding: var(--footer-space-s) 0;}
.footer-paddingtb-n{padding: var(--footer-space-n) 0;}
.footer-paddingtb-l{padding: var(--footer-space-xl) 0;}
.footer-paddingtb-xl{padding: var(--footer-space-xl) 0;}
.footer-paddingrl-s{padding: 0 var(--footer-space-s);}
.footer-paddingrl-n{padding: 0 var(--footer-space-n);}
.footer-paddingrl-l{padding: 0 var(--footer-space-l);}

/* ヘッダーと同じ高さの幅 */
.footer-paddingt-h{padding-top: var(--footer-space-h);}

/* ナビゲーションの幅 */
.footer-padding-nav{padding: var(--footer-space-n) 0 var(--footer-space-n) 0;}
.footer-padding-nav-c{padding: var(--footer-space-n) var(--footer-space-l) var(--footer-space-n) var(--footer-space-l);}

/* 幅、高さ調整用(marginが必要な場合) */
.footer-marginl-xs{margin-left: var(--footer-space-xs);}
.footer-marginrl-n{margin: var(--footer-space-n);}
.footer-margint-n{margin-top: var(--footer-space-n);}
.footer-margint-nn{margin-top: var(--footer-space-nn);}
.footer-margint-xl{margin-top: var(--footer-space-xl);}
.footer-margintb-nn{margin: var(--footer-space-nn) 0;}
.footer-margintb-xl{margin: var(--footer-space-xl) 0;}

/* 文字間の幅 */
.footer-line-height-p{line-height: 1.7;}

/* コンテンツなどの幅 */
.footer-padding-content{padding: var(--footer-space-n) var(--footer-space-n) calc(var(--footer-space-n) * 3) var(--footer-space-n);}
.footer-padding-content-s{padding: var(--footer-space-n) var(--footer-space-n) calc(var(--footer-space-n) * 2) var(--footer-space-n);}
.footer-padding-box{padding: var(--footer-space-n) calc(var(--footer-space-n) * 3);}
.footer-padding-box-s{padding: var(--footer-space-s) var(--footer-space-n);}

/* 矢印用 */
.footer-arrow-size{width: var(--footer-arrow-size); aspect-ratio: 5 / 4; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); clip-path: polygon(0% 0%, 100% 0%, 50% 100%);}

/* メイン全体幅 */
.footer-contents-size{width: 95%; max-width: var(--footer-contents-size); margin: 0 auto;}

/* 下線用(色別) */
.footer-border-bottom{border-bottom: #333 1px solid; padding: var(--footer-space-xs); padding-top: 0;}
.footer-border-bottomw{border-bottom: #FFF 1px solid; padding: var(--footer-space-xs); padding-top: 0;}
.footer-border-bottomg{border-bottom: var(--footer-c-gold) 2px solid;}
.footer-border-bottom-dotted{border-bottom: #333 1px dotted; padding: var(--footer-space-xs);}

/* 背景及びそれに合わせた文字色 */
.footer-bg-gray{color: #fff; background-color: var(--footer-c-gray);}
.footer-bg-gold{color: #fff; background-color: var(--footer-c-gold);}
.footer-bg-blue{color: #fff; background-color: var(--footer-c-blue);}
.footer-bg-white{color: #333; background-color: #fff;}
.footer-bg-whiteg{background-color: var(--footer-c-whiteg);}
.footer-c-lgold{background: linear-gradient(30deg, var(--footer-c-goldw), var(--footer-c-gold) 66%, var(--footer-c-goldw)); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}

/* アイコンサイズ */
.footer-img-icon-xs{width: auto; height: var(--footer-img-icon-xs); margin-right: var(--footer-space-xs);}
.footer-img-icon-ss{width: auto; height: var(--footer-img-icon-ss); margin-right: var(--footer-space-xs);}
.footer-img-icon-s{width: auto; height: var(--footer-img-icon-s); margin-right: var(--footer-space-xs);}
.footer-img-icon-l{width: auto; height: var(--footer-img-icon-l);}
.footer-img-icon-xl{width: auto; height: var(--footer-img-icon-xl);}

/* 基本画像サイズ */
.footer-img-m{width: var(--footer-img-m);}
.footer-img-l{width: var(--footer-img-l);}
.footer-img-xl{width: var(--footer-img-xl);}

/* バナー用サイズ */
.footer-img-banner{width: var(--footer-img-banner);}

/* お問い合わせ用のサイズ */
.footer-img-contact{width: calc(var(--footer-img-contact) * 1.1); height: var(--footer-img-contact);}
.footer-img-contact-inner{width: var(--footer-img-l); height: var(--footer-img-l);}

/* 改行位置制御 */
.footer-nowrap-word{white-space: nowrap;}

@media screen and (max-width:768px) {
	/* コンテンツサイズのスマホ版 */
	.footer-padding-box{padding: var(--footer-space-n) calc(var(--footer-space-n) * 1.5);}
	.footer-padding-content{padding: var(--footer-space-n) 0 calc(var(--footer-space-n) * 3) 0;}
}
/* ---------変数・汎用クラスここまで--------- */

/* ☆フッター */
footer{
	width: 100%;
	font-family: "NotoSans","Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", yu-mincho-pr6, serif;
	font-weight: 400;/*20250715修正*/
	color: #333;
	letter-spacing: 0.1em;
	line-height: 1.6;
	overflow-x: hidden;
}

footer .footer_upper{
	max-width: 22rem;
	margin: 0 auto;
	padding-top: 4rem;/*20250715修正*/
	text-align: center;
}

footer .footer_upper > h2 > img{
	width: auto;
}

footer .footer_tel_fax{
	display: flex;
	flex-direction: row;
	justify-content: center;
	gap: var(--footer-space-s); /* 8px */
}

footer .sns_icons{
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	gap: 1rem;
}


footer .footer_nav > ul{
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	gap: 1rem;
	flex-wrap: wrap;
	line-height: 1.5;
}

footer .footer_nav > ul > li > a{
	position: relative;
	font-weight: 600;
	display: flex;
	align-items: center;
}

.detail_nav_link_rera span{
	padding-left: clamp(6px,2vw,8px); /* 2026/5/27  追加 */
}

footer .footer_lower{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	gap: 2rem;
}

footer .footer_lower_box ul{
	width: fit-content;
	margin: 0 auto;
	/* 5/26  display: flex; flex-direction: column; 削除 */
}
/* 2026/5/27 追加 */
.detail_width_footer_koukaizyouhou{
	width: fit-content;
	margin: 0 auto;
}

.detail_footer_blank_link{
	display: inline; /* 2026/5/28 追加 */
}

footer .footer_wrapper small{
	display: block;
	text-align: center;
	letter-spacing: 0;
}

@media screen and (max-width:768px) {

	/* ☆フッター */
	footer .footer_upper{
		max-width: 19rem;
	}
	footer .footer_lower{
		flex-direction: column;
		align-items: center;
		gap: var(--footer-space-n);
	}
}

@media screen and (max-width:385px) {
	footer .footer_nav ul{
		flex-direction: column;
		/* 5/26 align-items: center; 削除 */
	}
	.detail_nav_link_rera span{
		padding-left: 0; /* 2026/5/27  追加 */
	}
	.br_none{display: none;}/* 2026/5/27  追加 */
	.detail_width_footer_koukaizyouhou{
		width: 100%;
	}
}

/* ポップアップ全体 */
.popup_wrap {
position: fixed;
top: clamp(90px,30vw,100px);
right: clamp(10px,3.3333333333333333333333333333333vw,20px);
background-color: #003783;
color: #fff;
border: 3px solid #ccc;
padding: clamp(15px,5vw,30px);
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0,0,0,0.2);
z-index: 8;
width: max-content;
font-family: "SourceHanSansJP-Heavy",sans-serif;
transition: all linear .4s;
text-align: center;
font-style: normal;

}

/* バツボタン */
.popup_wrap .close-btn {
position: absolute;
top: -7px;
right: -7px;
background: none;
border: none;
font-size: 14px;
font-weight: bolder;
cursor: pointer;
color:  #003783;
background-color: #fff;
line-height: 1;
padding: 3px;
border-radius: 999px;
transform-origin: center center;
transition: all .6s ease ;
}

.popup_wrap .close-btn:hover {
transform: scale(1.3);
filter: brightness(.8);
}

/* .popup_active{
    top: clamp(10px,3.3333333333333333333333333333333vw,20px);

} */
.popup_wrap span {
    font-size: 30px;
}

/* メッセージ */
.popup_wrap .message {
text-align: center;
color: #fff;
font-size: clamp(18px,6vw,29px);
font-weight: bold;
line-height: 1.3;
}
