 /* 各ページオリジナル

/* レイアウト
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
 @import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
 section {
   max-width: 950px;
   margin: auto;
   padding: 0 20px;
   box-sizing: border-box
 }
 .wrapper_in {
   background-color: transparent;
   margin-bottom: 80px;
 }
 /* 共通タイトル
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
 .page_title {
   display: flex;
   flex-flow: column;
   align-items: center;
   justify-content: center;
   font-size: 55px;
   margin: 110px 0 0 0
 }
 .page_title a {}
 .page_title span {
   font-size: 0.33em;
   margin-top: 50px;
   margin-bottom: 10px
 }
 @media screen and (max-width: 1000px) {
   .page_title {
     font-size: 35px;
     margin: 50px 0 0 0
   }
   .page_title span {
     font-size: 13px;
     ;
     margin-top: 30px;
     margin-bottom: 10px
   }
 }
 /*2行目　テキストインデント*/
 .text_indent {
   padding-left: 1em;
   text-indent: -1em;
 }
 /* 共通メニューサブ
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
 .men_sub {
   display: flex;
   justify-content: flex-end;
   flex-wrap: wrap;
   margin: -20px 0px 0 0;
   position: relative;
   z-index: 5
 }
 .men_sub ul {
   display: flex;
   justify-content: flex-start;
   flex-wrap: wrap;
 }
 .men_sub a {
   display: inline-block;
   background-color: #000000;
   color: #FFFFFF;
   font-size: 13px;
   padding: 3px 15px 5px 15px;
   margin: 0px 5px 10px 0;
   border: solid 1px transparent;
 }
 /* 色指定（順番依存なし） */
 .men_sub .btn-outline a {
   background: #66668C;
 }
 .men_sub .btn-red a {
   background: #960000;
 }
 .men_sub .btn-green a {
   background: #006837;
 }
 .men_sub .btn-orange a {
   background: #F7931E;
 }
 /* モデルルーム */
 .men_sub .btn-dark a {
   background: #000;
 }
 /* 別府でセカンドライフ */
 .men_sub .btn-white a {
   background: #fff;
   color: #000;
   border: 1px solid #000;
   position: relative;
 }


   .men_sub .btn-second {
     position: relative;
     overflow: visible; 
   }
   /* NEWバッジ */
   .men_sub .btn-second::after {
   content: "NEW";
   position: absolute;
   top: -11px;
   right: -1px;
   width: 40px;
   height: 40px;
   background: #e60023;
   color: #fff;
   font-size: 11px;
   display: flex;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   transform: scale(0.6);
   transform-origin: top right;
   }


 @media (max-width: 1180px) {
   .men_sub {
     position: fixed;
     bottom: 20px;
     right: 72px;
     margin: 0 0 0 20px;
     z-index: 100;
     width: calc(100% - 90px);
   }
   .men_sub ul {
     width: 100%;
     display: grid;
     grid-template-columns: 1fr 1fr 1fr 1fr;
     gap: 2px;
   }
   /* 共通（基本はアイコンボタン想定） */
   .men_sub li a {
     display: block;
     width: 100%;
     margin: 0;
     height: 50px;
     background-size: contain;
     background-position: center;
     background-repeat: no-repeat;
     background-color: #000;
     /* 文字は基本隠す（アイコン用） */
     text-indent: -9999px;
     overflow: hidden;
     white-space: nowrap;
   }
   /* 物件概要は下段では非表示（ハンバーガー内に出す前提） */
   .men_sub .js-move-outline {
     display: none;
   }
   /* 各ボタン（nth-child禁止・クラスで指定） */
   .men_sub .btn-entry a {
     background-image: url("../image/common/btn_entry.png");
     background-color: #000;
     background-size: auto 100%; /* ← 高さぴったり */
     background-position: center;
     background-repeat: no-repeat;
   }
   .men_sub .btn-rsv a {
     background-image: url("../image/common/btn_rsv.png");
     background-color: #000;
     background-size: auto 100%; /* ← 高さぴったり */
     background-position: center;
     background-repeat: no-repeat;
   }
   .men_sub .btn-online a {
     background-image: url("../image/common/btn_onl.png");
     background-color: #000;
     background-size: auto 100%; /* ← 高さぴったり */
     background-position: center;
     background-repeat: no-repeat;
   }
   .men_sub .btn-second a {
     background-image: url("../image/common/btn_sl.png");
     background-color: #000;
     background-size: auto 100%;
     background-position: center;
     background-repeat: no-repeat;
     overflow: hidden;
     position: relative
   }
   /* NEWバッジ */
   /* liを基準にする */
   .men_sub .btn-second {
     position: relative;
     overflow: visible; /* ← 外にはみ出し許可 */
   }
   /* NEWバッジ */
   .men_sub .btn-second::after {
     content: "NEW";
     position: absolute;
     top: -13px;
     right: 2px;

   }
   /* MAP（モデルルーム）は下段では消す */
   .men_sub .js-move-model {
     display: none;
   }
   /* ハンバーガー内に移動した2つを “他と同じ” にする（幅も中央も確実） */
   #mainNavigation .js-move-outline, #mainNavigation .js-move-model {
     display: block !important;
     width: 100% !important;
   }
   #mainNavigation .js-move-outline a, #mainNavigation .js-move-model a {
     display: block !important;
     width: 100% !important;
     max-width: 360px !important; /* ← 他のボタンに合わせて調整（360だと小さい） */
     margin: 2px auto !important; /* ← 必ず中央寄せ */
     padding: 10px 0px !important;
     font-size: 15px !important;
     line-height: 1em;
     background: #000 !important;
     color: #fff !important;
     border: none !important;
     border-radius: 5px !important;
     text-align: center !important;
     white-space: nowrap !important;
     box-sizing: border-box !important;
   }
   /* hoverでも色を変えない（統一） */
   #mainNavigation .js-move-outline a:hover, #mainNavigation .js-move-model a:hover {
     background: #000 !important;
     color: #fff !important;
   }  }
   /* 共通リンク
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   /*エントリーリンク*/
   a.box_link {
     display: block;
     color: #FFFFFF !important;
     opacity: 1
   }
   a.box_link:hover {
     opacity: 1
   }
   /*スマホ時TEL*/
   @media (min-width: 700px) {
     a[href*="tel:"] {
       pointer-events: none;
       cursor: default;
       text-decoration: none;
     }
   }
   /* 共通ページヒーロ
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .page_hero {
     position: relative;
     display: inline-block;
     width: fit-content;
     margin-bottom: 100px
   }
   .page_hero img {
     display: block;
     width: 100%;
     height: auto
   }
   .page_hero h2 {
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     color: #FFFFFF;
     border: solid 1px #FFFFFF;
     font-size: 32px;
     padding: 2px 30px 5px 30px
   }
   @media screen and (max-width: 1000px) {
     .page_hero {
       margin-bottom: 50px
     }
     .page_hero h2 {
       font-size: 24px;
       padding: 2px 15px 5px 15px
     }
   }
   @media screen and (max-width: 500px) {
     .page_hero {
       margin-bottom: 30px
     }
     .page_hero h2 {
       font-size: 18px;
       padding: 2px 10px 5px 10px
     }
   }
   /* 共通 訴求ブロック
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .appeal_block {
     width: 100%;
     height: 240px;
     display: flex;
     justify-content: center;
     align-items: center;
     background-color: #000000;
     margin-bottom: 130px;
     padding: 0 20px
   }
   .appeal_block img {
     width: auto;
     max-height: 165px
   }
   .appeal_block.bottom {
     margin-bottom: 60px
   }
   @media screen and (max-width: 700px) {
     .appeal_block {
       height: auto;
       margin-bottom: 60px;
       padding: 20px 30px
     }
     .appeal_block.bottom {
       margin-bottom: 30px
     }
   }
   /* 問い合わせブロック
--------------*/
   .inquiry_block {
     color: #fff;
     background-color: #000000;
     display: flex;
     flex-flow: column;
     justify-content: center;
     height: 80px;
     margin: 30px 0 30px 0;
     height: auto;
     padding: 20px 0
   }
   .inquiry_block .grid3 {
     display: grid;
     grid-template-columns: 90px 1fr 315px;
     gap: 10px;
     margin-bottom: 0px
   }
   .inquiry_block .inquiry_title {
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 10px;
     border: solid 1px #fff;
     padding: 5px 0
   }
   .inquiry_block .inquiry_copy {
     font-size: 11px
   }
   .inquiry_block .inquiry_copy span {
     display: flex;
     align-items: center;
     font-size: 14px;
   }
   .inquiry_block .inquiry_copy span span {
     font-size: 8px;
     margin-left: 1em
   }
   @media screen and (max-width: 1000px) {
     .page_outline h2 .inquiry_block .inquiry_title {
       width: 200px;
       margin: auto
     }
     .inquiry_block .grid3 {
       display: grid;
       grid-template-columns: 1fr;
       gap: 10px;
       margin-bottom: 0px
     }
     .inquiry_block .inquiry_tel {
       padding: 0 40px
     }
     .inquiry_block .inquiry_copy span {
       flex-flow: column;
     }
   }
   /* 運営ブロック
--------------*/
   .operator_block {
     max-width: 680px;
     width: 100%;
     margin: 0 auto 0 auto;
     box-sizing: border-box
   }
   .operator_block .grid3 {
     display: grid;
     grid-template-columns: 90px 230px 1fr;
     gap: 10px
   }
   .operator_block .grid3 div {
     display: flex;
     align-items: center
   }
   .operator_block .operator_title {
     font-size: 10px;
     white-space: nowrap
   }
   .operator_block .operator_logo {
     font-size: 11px
   }
   .operator_block .operator_copy {
     font-size: 7px
   }
   @media screen and (max-width: 700px) {
     .inquiry_block .operator_title {
       text-align: center
     }
     .operator_block .grid3 {
       grid-template-columns: 1fr;
       gap: 10px;
       margin-bottom: 0px
     }
     .operator_block .operator_logo img {
       width: 200px
     }
     .operator_block .operator_copy {
       font-size: 8px
     }
   }
   /* 注意ブロック
--------------*/
   .attention_text {
     font-size: 11px;
     line-height: 1.3em;
     margin-bottom: 0.5em
   }
   @media screen and (max-width: 700px) {
     .attention_block {
       flex-flow: column;
     }
   }
   /* トップページ
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .top_box01 {
     margin-bottom: 20px;
     text-align: center
   }
   .top_box01 img {
     max-width: 680px;
     width: 100%;
     height: auto;
     margin: 0 auto 45px auto
   }
   .top_box01 p {
     font-size: 16px;
     text-align: center;
     margin-bottom: 85px
   }
   .top_box01 > .link_arrow_center a {
     margin: 0 auto 100px auto
   }
   @media screen and (max-width: 1000px) {
     .top_box01 {
       margin-bottom: 0px;
     }
     .top_box01 img {
       margin: 0 auto 30px auto;
       padding: 0 50px 0 50px
     }
     .top_box01 p {
       font-size: 15px;
       margin-bottom: 30px
     }
     .top_box01 > .link_arrow_center a {
       margin: 0 auto 50px auto
     }
   }
   /**/
   .top_box02 {
     max-width: 1200px;
     margin: 0 auto 55px auto;
     padding: 0 20px
   }
   .top_box02 img {
     width: 100%;
   }
   @media screen and (max-width: 1000px) {
     .top_box02 {
       margin-bottom: 30px;
     }
     .top_box02 img {
       width: 100%;
     }
   }
   /**/
   .top_box03 {
     max-width: 820px;
     margin: auto;
     margin-bottom: 100px;
   }
   .top_box03 > .column.grid2 {
     gap: 100px
   }
   .top_box03 > .column.grid2 .column.grid2 {
     margin-top: 20px
   }
   .top_box03 h3 {
     font-family: "Zen Old Mincho", serif;
     text-align: center;
     margin-bottom: 10px
   }
   .top_box03 p {
     font-family: "Zen Old Mincho", serif;
     font-size: 12px;
     line-height: 1.4em;
     padding-top: 7px;
     text-align: center;
   }
   .top_box03 span {
     display: inline-block;
     min-height: 50px;
     font-size: 11px;
     margin-bottom: 30px
   }
   .top_box03 .link_arrow_center {
     margin-bottom: 50px
   }
   .top_box03 h4 {
     font-size: 16px;
     letter-spacing: 2px;
     text-align: center;
     margin-bottom: 10px;
   }
   .top_box03 h4 a {
     color: #0071BC
   }
   .top_box03 .img_box {
     max-width: 600px;
     margin: 0 auto 20px auto;
   }
   .top_box03 .dxyz {
     font-size: 10px;
     display: block;
     margin: 0px 0px 30px 0px;
     padding: 0px;
     min-height: 0px;
     text-align: right
   }
   .top_box03 .iot_logo {
     margin-bottom: 45px
   }
   @media screen and (max-width: 1000px) {
     .top_box03 .iot_logo {
       margin-bottom: 0px
     }
     .top_box03 {
       margin-bottom: 100px;
     }
     .top_box03 h3 {
       font-size: 20px;
       margin-bottom: 30px
     }
     .top_box03 > .column.grid2 {
       gap: 0px;
       grid-template-columns: 1fr;
     }
     .top_box03 > .column.grid2 .column.grid2 {
       margin-top: 20px;
       max-width: 600px;
       margin: 0 auto 20px auto;
     }
     .top_box03 span {
       display: block;
       max-width: 600px;
       margin: auto;
       text-align: left
     }
     .top_box03 .sp_margin {
       margin-bottom: 100px
     }
   }
   /**/
   .top_box04 {
     position: relative;
     margin-bottom: 100px;
     max-width: 1200px;
     margin: 0 auto 90px auto;
   }
   .top_box04 h3 {
     font-size: 44px;
     line-height: 1.2em;
     letter-spacing: 0.1em;
     text-align: center;
     margin-bottom: 0.3em;
     font-weight: normal
   }
   .top_box04 p {
     text-align: center;
     font-weight: bold;
     margin-bottom: 40px;
     letter-spacing: 2px
   }
   .top_box04 .column {
     gap: 10px 30px;
     text-align: center;
     max-width: 1000px;
     margin: 0 auto 0px auto
   }
   .top_box04 .column.flex {
     flex-flow: wrap;
     justify-content: center;
   }
   .top_box04 .column div {
     max-width: 215px
   }
   @media screen and (max-width: 1000px) {
     .top_box04 h3 {
       font-size: 24px;
       padding: 0 20px
     }
     .top_box04 .column div {
       max-width: 150px
     }
   }
   /**/
   .top_box05 {
     margin-bottom: 0px;
     position: relative;
     margin: auto;
     margin-bottom: 50px;
     max-width: 900px;
     margin: 0 auto 200px auto;
   }
   .top_box05 > .column_mutual {
     max-width: 900px;
     display: flex;
     align-items: flex-end;
     justify-content: space-between;
     margin-bottom: 110px; /* 要素間のスペース */
     position: relative;
     box-sizing: border-box;
   }
   .top_box05 > .column_mutual:nth-child(odd) {
     flex-direction: row; /* 奇数行は画像を左、テキストを右 */
   }
   .top_box05 > .column_mutual:nth-child(even) {
     flex-direction: row-reverse; /* 偶数行は画像を右、テキストを左 */
   }
   .top_box05 > .column_mutual .image {
     max-width: 570px; /* 画像が親要素を超えないようにする */
     width: 100%;
     height: auto; /* アスペクト比を維持 */
     position: relative;
     z-index: 1; /* 画像より前面に表示 */
   }
   .top_box05 > .column_mutual .text {
     display: flex;
     justify-content: center;
     align-items: center;
     flex-direction: column;
     max-width: 360px; /* 固定幅を設定 */
     width: 100%;
     height: 250px;
     position: relative;
     margin-left: -100px; /* 画像に100px食い込ませる */
     margin-bottom: -30px;
     background: #D3C9B3;
     box-sizing: border-box
   }
   .top_box05 > .column_mutual:nth-child(even) .text {
     margin-right: -100px; /* 偶数行では右方向に食い込ませる */
     margin-left: 0; /* 左のマージンをリセット */
   }
   .top_box05 > .column_mutual:nth-child(even) .text div {}
   .top_box05 > .column_mutual h3 {
     font-size: 30px;
     margin-bottom: 15px;
     position: relative;
     display: inline-block; /* テキスト幅にあわせて線を引く場合 */
     text-align: center
   }
   .top_box05 > .column_mutual h3::after {
     content: '';
     display: block;
     width: 50%; /* 線の幅 */
     height: 1px;
     background-color: #000;
     margin: 10px auto 0 auto; /* 線をセンター揃え */
   }
   .top_box05 > .column_mutual p {
     font-size: 11px;
     margin-bottom: 10px;
     text-align: center;
     white-space: nowrap
   }
   .top_box05 > .column_mutual:nth-child(3)) {
     position: relative;
     pointer-events: none;
   }
   .top_box05 > .column_mutual:nth-child(3)::before, {
     font-family: "Zen Old Mincho", serif;
     content: "Coming soon";
     position: absolute;
     top: 50%;
     left: 50%;
     transform: translate(-50%, -50%);
     color: #000;
     font-size: 26px;
     text-align: center;
     pointer-events: none;
     z-index: 2;
     opacity: 0.5
   }
   @media screen and (max-width: 900px) {
     .top_box05 {
       margin: 0 auto 50px auto;
     }
     .top_box05 > .column_mutual {
       max-width: 900px;
       display: flex;
       align-items: center;
       justify-content: center;
       margin-bottom: 40px; /* 要素間のスペース */
     }
     .top_box05 > .column_mutual:nth-child(even) .text {
       margin-right: 0px; /* 偶数行では右方向に食い込ませる */
       margin-left: 0; /* 左のマージンをリセット */
     }
     .top_box05 > .column_mutual:nth-child(odd) {
       flex-direction: column; /* 奇数行は画像を左、テキストを右 */
     }
     .top_box05 > .column_mutual:nth-child(even) {
       flex-direction: column; /* 偶数行は画像を右、テキストを左 */
     }
     .top_box05 > .column_mutual .image {
       max-width: 100%; /* 画像が親要素を超えないようにする */
     }
     .top_box05 > .column_mutual .text {
       display: flex;
       justify-content: center;
       align-items: center;
       flex-direction: column;
       max-width: 100%; /* 固定幅を設定 */
       width: 100%;
       height: 200px;
       position: relative;
       margin-left: 0px; /* 画像に100px食い込ませる */
       margin-bottom: 0px;
       background: #D3C9B3;
       box-sizing: border-box
     }
   }
   /**/
   .top_box06 {
     max-width: 780px;
     margin: 0px auto 0px auto;
     padding: 100px 0px 100px 0px
   }
   .top_box06 p {
     color: #FFFFFF;
     background-color: #000000;
     text-align: center;
     font-size: 24px;
     padding: 2px 20px;
     margin-bottom: 25px
   }
   .top_box06 .link {
     display: flex;
     width: 100%;
     justify-content: center;
     gap: 70px;
     margin: 60px 0 0px 0
   }
   .top_box06 .link a {
     display: flex;
     justify-content: center;
     align-items: center;
     max-width: 200px;
     width: 100%;
     padding: 3px 5px 6px 5px;
     background-color: #010101;
     color: #FFFFFF;
     text-align: center;
     font-size: 19px
   }
   @media screen and (max-width: 700px) {
     .top_box06 {
       padding: 30px 20px 30px 20px
     }
     .top_box06 p {
       font-size: 16px;
     }
     .top_box06 .link {
       display: flex;
       width: 100%;
       justify-content: center;
       gap: 30px;
       margin: 60px 0 0px 0
     }
     .top_box06 .link a {
       font-size: 15px
     }
   }
   /* 物件概要
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .page_outline {}
   .page_outline h2 {}
   /* コンセプトページ
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .concept_box01 {
     text-align: center;
     margin-bottom: 110px
   }
   .concept_box01 img {
     max-width: 680px;
     width: 100%;
   }
   @media screen and (max-width: 700px) {
     .concept_box01 {
       margin-bottom: 50px
     }
     .concept_box01 img {
       padding: 0 50px;
     }
   }
   /*---------*/
   .concept_box02 {
     margin-bottom: 150px;
     grid-template-columns: 380px 1fr
   }
   .concept_box02 h3 {
     font-size: 70px;
     line-height: 1.2em;
     white-space: nowrap;
     position: absolute
   }
   .concept_box02 h3 span {
     display: block;
     font-size: 25px;
     margin-top: -20px
   }
   .concept_box02 p.copy {
     font-size: 15px;
     margin-top: 230px
   }
   .concept_box02 p.box {
     display: block;
     max-width: 360px;
     font-size: 13px;
     line-height: 1.7em;
     border: solid 1px #000000;
     padding: 10px;
     margin-top: 20px
   }
   .concept_box02 div {
     position: relative;
     overflow: visible;
   }
   .concept_box02 div img {
     position: absolute;
     bottom: 0px;
     left: -50px;
     max-width: 135%
   }
   @media screen and (max-width: 1000px) {
     .concept_box02 {
       margin-bottom: 36px;
       display: flex;
       flex-direction: column;
       gap: 0px
     }
     .concept_box02 h3 {
       font-size: 40px;
       line-height: 1.2em;
       position: relative;
     }
     .concept_box02 h3 span {
       display: block;
       font-size: 15px;
       margin-top: 0px;
       margin-bottom: 10px
     }
     .concept_box02 p.copy {
       font-size: 15px;
       margin-top: 0px
     }
     .concept_box02 p.copy br {
       display: none
     }
     .concept_box02 p.box {
       display: block;
       max-width: 100%;
       font-size: 13px;
       line-height: 1.7em;
       border: solid 1px #000000;
       padding: 10px;
       margin-top: 20px
     }
     .concept_box02 div {
       position: relative;
       overflow: visible;
     }
     .concept_box02 div img {
       position: relative;
       top: 0px;
       bottom: 0px;
       left: 0px;
       max-width: 100%;
       margin-bottom: 50px
     }
   }
   @media screen and (max-width: 700px) {
     .concept_box02 h3 {
       font-size: 22px;
     }
   }
   /*---------*/
   .concept_box03 {
     margin-bottom: 150px
   }
   .concept_box03 > .column_mutual {
     max-width: 1200px;
     display: flex;
     align-items: center;
     justify-content: flex-end;
     margin: 0 auto 80px auto;
   }
   .concept_box03 > .column_mutual:nth-child(odd) {
     flex-direction: row; /* 奇数行は画像を左、テキストを右 */
   }
   .concept_box03 > .column_mutual:nth-child(even) {
     flex-direction: row-reverse; /* 偶数行は画像を右、テキストを左 */
   }
   .concept_box03 > .column_mutual .image {
     max-width: 700px;
     height: auto;
   }
   .concept_box03 > .column_mutual .text {
     display: flex;
     justify-content: space-between;
     align-items: center;
     flex-direction: column;
     width: auto;
     height: 255px;
     padding: 0 60px 15px 60px;
   }
   .concept_box03 > .column_mutual h3 {
     width: auto;
     text-align: center
   }
   .concept_box03 > .column_mutual h3 img {
     width: 170px;
     height: auto;
   }
   .concept_box03 > .column_mutual h3 span {
     display: block;
     font-size: 27px;
     text-align: center
   }
   .concept_box03 > .column_mutual h3::after {
     content: '';
     display: block;
     width: 1px;
     height: 30px;
     background-color: #000;
     margin: 10px auto 10px auto;
   }
   .concept_box03 > .column_mutual p {
     font-size: 15px;
     text-align: center;
   }
   @media screen and (max-width: 900px) {
     .concept_box03 > .column_mutual {
       max-width: 900px;
       display: flex;
       align-items: center;
       justify-content: center;
       margin-bottom: 40px; /* 要素間のスペース */
     }
     .concept_box03 > .column_mutual:nth-child(even) .text {
       margin-right: 0px; /* 偶数行では右方向に食い込ませる */
       margin-left: 0; /* 左のマージンをリセット */
     }
     .concept_box03 > .column_mutual:nth-child(odd) {
       flex-direction: column; /* 奇数行は画像を左、テキストを右 */
     }
     .concept_box03 > .column_mutual:nth-child(even) {
       flex-direction: column; /* 偶数行は画像を右、テキストを左 */
     }
     .concept_box03 > .column_mutual .image {
       max-width: 100%; /* 画像が親要素を超えないようにする */
     }
     .concept_box03 > .column_mutual .text {
       display: flex;
       justify-content: center;
       align-items: center;
       flex-direction: column;
       max-width: 100%; /* 固定幅を設定 */
       width: 100%;
       height: auto;
       box-sizing: border-box
     }
     .concept_box03 > .column_mutual p {
       margin-bottom: 20px
     }
     .concept_box03 > .column_mutual .link_arrow_center {
       margin-bottom: 50px
     }
   }
   /* ロケーションページ
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .location_box01 {
     max-width: 920px;
     text-align: right;
     margin: 0 auto 40px auto
   }
   .location_box01 img {
     width: auto;
     max-height: 270px;
     padding: 0 5px
   }
   .location_box01_01 {
     max-width: 1200px;
     margin: 0 auto 100px auto
   }
   @media screen and (max-width: 700px) {
     .location_box01 img {
       padding: 0 50px
     }
     .location_box01_01 {
       margin: 0 auto 50px auto
     }
   }
   /**/
   .location_box02 {
     margin-bottom: 50px
   }
   .location_box02 h3 {
     font-size: 46px;
     margin: 30px 0 0px 0
   }
   .location_box02 p {
     font-size: 16px
   }
   @media screen and (max-width: 700px) {
     .location_box02 {
       margin-bottom: 0px
     }
     .location_box02 h3 {
       font-size: 24px;
       margin: 0px 0 0px 0
     }
     .location_box02 .column.grid2 {
       grid-template-columns: 1fr;
       gap: 10px
     }
     .location_box02 p {
       font-size: 15px
     }
   }
   /**/
   .location_box03 {
     margin-bottom: 80px
   }
   @media screen and (max-width: 700px) {
     .location_box03 {
       margin-bottom: 20px
     }
   }
   /**/
   .location_box04 {
     margin-bottom: 50px
   }
   .location_box04 img {
     margin-bottom: 5px
   }
   .location_box04 p {
     font-size: 12px;
     line-height: 1.6em;
     margin-bottom: 0px;
     text-align: left;
     letter-spacing: 0.05em
   }
   .location_box04 .column.grid2 {
     gap: 20px;
     margin-bottom: 20px
   }
   .location_box04 .column.grid4 {
     gap: 20px;
     margin-bottom: 20px
   }
   @media screen and (max-width: 700px) {
     .location_box04 .column.grid4 {
       grid-template-columns: 1fr 1fr 1fr;
       gap: 20px;
       margin-bottom: 20px
     }
   }
   @media screen and (max-width: 500px) {
     .location_box04 .column.grid4 {
       grid-template-columns: 1fr 1fr;
     }
   }
   /**/
   .location_box05 {
     margin: 0 0 50px 0
   }
   .location_box05 p {
     color: #FFFFFF;
     background-color: #000000;
     text-align: center;
     font-size: 24px;
     line-height: 1.7em;
     padding: 20px 20px;
     margin-bottom: 25px;
   }
   .location_box05 span {
     display: block;
     font-size: 32px;
     text-align: center;
     font-weight: bold
   }
   /**/
   .location_box06 {
     margin-bottom: 100px;
     padding: 0 30px
   }
   .location_box06 h4 {
     font-size: 15px;
     font-weight: normal;
     margin-top: 1em;
   }
   .location_box06 span {
     font-size: 15px
   }
   @media screen and (max-width: 700px) {
     .location_box05 p {
       font-size: 14px;
       padding: 10px 10px;
     }
     .location_box05 span {
       font-size: 20px;
     }
   }
   @media screen and (max-width: 500px) {
     .location_box06.column.grid2 {
       grid-template-columns: 1fr
     }
   }
   /* NEWSブロック
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   /* 外部読み込み/グーグルマップなど
-----------------------------------------------------------------------*/
   .news_box {
     max-width: 700px;
     height: auto;
     padding: 20px 20px;
     margin: 0 auto 0 auto
   }
   .news_box h3 {
     font-size: 43px;
     text-align: center;
     margin: 0px
   }
   .news_box p {
     font-size: 15px;
     text-align: center;
     margin: 0px 0px 20px 0px
   }
   .news_box iframe {
     display: block;
     width: 100%;
     height: 200px;
     border: 0;
     overflow-y: scroll;
     margin: 0 0 100px 0
   }
   @media screen and (max-width: 700px) {
     .news_box {
       max-width: 700px;
       height: auto;
     }
     .news_box h3 {
       font-size: 18px
     }
     .news_box p {
       font-size: 14px
     }
     .news_box iframe {
       margin: 0 0 30px 0
     }
   }
   /* TOP動画
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .top_movie {
     margin-bottom: 70px;
     line-height: 0px
   }
   .top_banner {
     text-align: center;
     background-color: #000000;
     margin: 0;
     padding: 0 20px
   }
   .top_banner img {
     max-width: 750px;
     width: 100%;
     height: auto
   }
   .top_banner01_01 {
     text-align: center;
     background-color: #b59948;
     margin: 0;
     padding: 0 20px
   }
   .top_banner01_01 img {
     max-width: 750px;
     width: 100%;
     height: auto
   }
   @media screen and (max-width: 700px) {
     .top_movie {
       margin-bottom: 50px;
       line-height: 0px
     }
   }
   /*ページトップ ボタン
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   a#page_top {
     position: fixed;
     right: 20px;
     bottom: -200px;
     display: block;
     width: 50px;
     height: 50px;
     background-image: url('https://www.legrand-beppu.com/image/common/page-top.png') !important;
     background-size: cover;
     border-radius: 10px;
     z-index: 10
   }
   @media (max-width: 1100px) {
     a#page_top {
       bottom: -200px;
       margin-bottom: 55px;
     }
   }
   /* プラン　ボタンページ　
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .plan_box01 {
     max-width: 920px;
     text-align: right;
     margin: 0 auto 80px auto;
   }
   .plan_box01 img {
     width: auto;
     max-height: 270px;
     padding: 0 5px;
   }
   .plan_box02 {
     max-width: 920px;
     text-align: center;
     margin: 0 auto 80px auto;
   }
   .plan_box02 img {
     max-width: 250px;
     height: auto;
     padding: 0 20px;
   }
   /*ボタン*/
   .plan_btn_block {
     padding: 0 20px;
   }
   .plan_btn_title {
     max-width: 100%;
     text-align: center;
     margin: 0 auto 20px auto;
     padding: 0 20px 0px 20px;
   }
   .plan_btn_title img {
     width: auto;
     max-height: 30px;
   }
   .plan_btn_premiumbox {
     display: grid;
     grid-template-columns: repeat(6, 1fr);
     gap: 10px;
     justify-content: center;
     max-width: 900px;
     padding: 0 65px;
     margin: 0 auto 80px auto;
   }
   .image-button {
     position: relative;
     width: 100%;
     aspect-ratio: 1 / 1;
     overflow: hidden;
     background-color: #FFFFFF;
     border: solid 1px #60727B
   }
   .image-button.on {
     pointer-events: none;
     background-color: #60727B
   }
   .image-button img {
     position: absolute;
     width: 100%;
     height: 100%;
     transition: opacity 0.3s ease;
   }
   .image-button:hover {
     opacity: 1;
   }
   .image-button img.hover {
     opacity: 0;
   }
   .image-button:hover img.hover {
     opacity: 1;
     background-color: #60727B
   }
   .image-button:hover img.normal {
     opacity: 0;
   }
   .plan_btn_floorbox {
     display: grid;
     grid-template-columns: repeat(7, 1fr);
     gap: 10px;
     justify-content: center;
     max-width: 900px;
     margin: 0 auto 160px auto;
   }
   .plan_btn_floorbox .image-button:hover img.hover {
     opacity: 1;
     background-color: #60727B
   }
   /*soldout*/
   .plan_btn_soldout {
     position: relative;
     width: 100%;
     aspect-ratio: 1 / 1;
     overflow: hidden;
     border: solid 1px #60727B
   }
   @media (max-width: 800px) {
     .plan_btn_block {
       padding: 0 20px 100px 20px;
     }
     .plan_box01 img {
       padding: 0 30px;
     }
     .plan_btn_premiumbox {
       grid-template-columns: repeat(3, 1fr);
       padding: 0 13%;
     }
     .plan_btn_floorbox {
       display: grid;
       grid-template-columns: repeat(4, 1fr);
     }
     .plan_btn_floorbox {
       margin: 0px auto 80px auto;
     }
   }
   @media (max-width: 500px) {
     .plan_btn_premiumbox {
       display: grid;
       padding: 0 13%;
       margin: 0 auto 50px auto;
     }
     .plan_btn_title img {
       width: auto;
       max-height: 20px;
     }
     .plan_btn_floorbox {
       margin: 0px auto 50px auto;
     }
   }
   /* プラン　各ページ　
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .plan_head_block {
     width: 100%;
     background-color: #60727B;
     padding: 130px 20px 80px 20px;
     margin: 0 0 80px 0;
     height: 465px
   }
   .plan_head_box {
     max-width: 850px;
     display: grid;
     grid-template-columns: 190px 1fr 160px;
     align-items: flex-end;
     gap: 30px;
     margin: auto;
     color: #FFFFFF
   }
   .plan_head_box .order1 {
     order: 1
   }
   .plan_head_box .order2 {
     order: 2
   }
   .plan_head_type p {
     font-size: 11px
   }
   .plan_head_copy h2 {
     font-size: 20px;
     margin-bottom: 0.8em
   }
   .plan_head_copy li {
     font-size: 13px;
     text-indent: -1em;
     padding: 0 0 0.5em 1em;
   }
   .plan_head_copy {
     display: flex;
     flex-direction: column;
     height: 100%;
     justify-content: flex-end;
     align-items: flex-start
   }
   .plan_head_copy.menu {
     display: flex;
     flex-direction: column;
     justify-content: center; /* 縦中央 */
     align-items: center; /* 横中央 */
     width: 100%;
     height: 100%;
     text-align: center;
     box-sizing: border-box; /* paddingを含めて高さを調整 */
   }
   .plan_head_copy.menu img {
     margin-top: 100px;
     max-width: 265px;
     height: auto;
   }
   @media (max-width: 800px) {
     .plan_head_copy.menu img {
       margin-top: 30px;
       max-width: 265px;
       height: auto;
     }
     .plan_head_block {
       padding: 70px 20px 40px 20px;
       margin: 0 0 40px 0;
       height: 630px
     }
     .plan_head_box .order1 {
       order: 2;
       grid-column: span 2; /* 3番目の要素を2カラム分使う */
       grid-row: 2; /* 2行目に配置 */
     }
     .plan_head_box .order2 {
       order: 1
     }
     .plan_head_box {
       max-width: 380px;
       display: grid;
       grid-template-columns: 190px 160px;
       align-items: flex-end;
       gap: 30px;
       margin: auto;
       color: #FFFFFF
     }
     .plan_head_copy h2 {
       margin-top: 20px
     }
   }
   @media (max-width: 500px) {
     .plan_head_block {
       padding: 70px 20px 40px 20px;
       margin: 0 0 40px 0;
       height: 990px
     }
     .plan_head_copy img {
       max-width: 265px;
       margin: 30px 0 0 0
     }
     .plan_head_box {
       display: flex;
       align-items: center;
       flex-direction: column;
       gap: 20px;
       max-width: 100%;
     }
     .plan_head_type img {
       width: 200px;
       height: auto
     }
     .plan_head_box .order2 {
       padding: 0 40px
     }
     .plan_head_copy h2 {
       font-size: 18px;
     }
   }
   /*プランナビ*/
   .plan_navi {
     display: flex;
     align-items: center;
     position: absolute;
     height: 70%;
     z-index: 2
   }
   .plan_navi .image-button {
     width: 80px;
     height: auto;
     overflow: visible
   }
   .plan_navi_left {
     left: 0px;
   }
   .plan_navi_right {
     right: 0px
   }
   .plan_navi_right .plan_navi_arrow {
     transform: scale(-1, 1);
   }
   .plan_navi_arrow {
     position: absolute;
     margin: 100% 0 0 0
   }
   @media (max-width: 800px) {
     .plan_navi .image-button {
       width: 30px;
       height: auto;
       overflow: visible
     }
     .plan_navi .image-button {
       background-color: transparent;
       ;
       border: none
     }
     .plan_navi .normal, .plan_navi .hover {
       display: none
     }
     .plan_navi_arrow {
       position: absolute;
       margin: 0
     }
   }
   /*間取りと天井高表*/
   .plan_block {
     max-width: 850px;
     display: grid;
     grid-template-columns: 1fr;
     gap: 10px;
     margin: 0 auto 10px auto;
     padding: 0 100px 40px 100px;
     /*   border-bottom: solid 1px #000000;*/
     position: relative;
   }
   .plan_compass {
     position: relative; /* 親要素を基準にする */
   }
   .plan_compass::after {
     content: "";
     position: absolute;
     right: 0;
     bottom: 0;
     width: 50px; /* 画像の幅を指定 */
     height: 50px; /* 画像の高さを指定 */
     background-image: url(../image/plan/plan_compass.png); /* 画像のパスを指定 */
     background-size: contain;
     background-repeat: no-repeat;
   }
   .plan_block h3 {
     font-size: 12px;
     display: block;
     padding: 1px 0px 3px 0px;
     border: solid 1px #000000;
     text-align: center;
     font-weight: bold;
   }
   .plan_block h4 {
     font-size: 20px;
     display: block;
     padding: 20px 0px 6px 0px;
     line-height: 1.3em;
     font-weight: 500;
     font-family: "Roboto", serif !important;
     font-weight: bold !important
   }
   .plan_block h4 span {
     font-size: 12px;
     display: block;
     border-top: solid 1px #000000;
     margin: 3px 0 0 0;
   }
   .plan_type_box {
     display: grid;
     grid-template-columns: repeat(1fr);
     gap: 5px;
   }
   .plan_type_box p {
     font-size: 10px;
     display: block;
     border-bottom: dotted 1px #000000;
     padding: 0px 0px 6px 0px;
     line-height: 1.3em
   }
   .plan_type_box p span {
     display: block;
   }
   /*設備*/
   .plan_equipment_block {
     max-width: 850px;
     display: flex;
     justify-content: flex-start;
     flex-flow: wrap;
     margin: 0 auto 80px auto;
     border-top: solid 1px #000000;
     padding: 40px 0 0 0
   }
   .plan_equipment_block img {
     max-height: 120px;
     height: 100%;
     width: auto
   }
   @media (max-width: 800px) {
     .plan_block {
       grid-template-columns: 1fr;
       padding: 0 20px 40px 20px;
       margin: 0 20px
     }
     .plan_block img {
       padding: 0 20px
     }
     .plan_type_box {
       display: grid;
       grid-template-columns: repeat(3, 1fr);
       gap: 5px 20px;
     }
     .plan_block h3 {
       margin-top: 30px
     }
     .plan_equipment_block img {
       max-height: 140px;
       height: 100%;
       width: auto
     }
   }
   @media (max-width: 550px) {
     .plan_type_box {
       display: grid;
       grid-template-columns: repeat(2, 1fr);
     }
   }
   /* 構造ページ　
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .structu_block h3 {
     font-size: 18px;
     line-height: 1.6em;
     margin-bottom: 0.1em
   }
   .structu_block p {
     font-size: 14px;
     line-height: 1.8em;
     text-align: justify
   }
   .structur_box01 .column {
     background-color: #FFFFFF;
     padding: 30px;
     margin-bottom: 40px;
     gap: 20px
   }
   .structur_box01 .grid2 {
     grid-template-columns: 255px 1fr;
   }
   .structur_box02 .column {
     padding: 0px;
     margin-bottom: 30px;
     gap: 40px
   }
   .structur_box02 .grid3 img {
     margin-bottom: 10px
   }
   @media (max-width:800px) {
     .structur_box01 .column {
       padding: 20px;
       margin-bottom: 20px
     }
     .structur_box01 .grid2 {
       grid-template-columns: 1fr;
     }
     .structu_block h3 {
       font-size: 17px
     }
     .structu_block br {
       display: none
     }
     .structu_block p {
       font-size: 13px;
     }
     .structur_box02 .grid3 {
       grid-template-columns: 1fr 1fr
     }
     .structur_box02 .column {
       gap: 20px
     }
   }
   /* 設備・仕様ページ　
-----------------------------------------------------------------------
------------------------------- img----------------------------------------*/
   /*Fタイトル*/
   .equipment_floor_title {
     text-align: center;
     padding: 0px 20px 20px 20px
   }
   .equipment_floor_title img {
     width: auto;
     max-height: 30px
   }
   /*Fコピー*/
   .equipment_floor_copy p {
     display: block;
     text-align: center;
     padding: 0 20px 0 20px;
     margin: 0 0 60px 0;
     font-size: 14px
   }
   /*タイトル*/
   .equipment_title {
     width: 100%;
     text-align: center;
     margin: 0 auto 20px auto;
     /*  padding: 0 20px 0px 20px;*/
   }
   .equipment_title img {
     width: auto;
     max-height: 35px;
     margin: 0 20px 10px 20px
   }
   .equipment_title h3 {
     font-size: 16px;
     letter-spacing: 2px;
     padding: 0 20px 1em 20px;
   }
   .equipment_title p {
     display: block;
     text-align: center;
     padding: 0 20px 60px 20px;
     font-size: 14px;
   }
   /*FLOOR ボタン*/
   .equipment_btn_box {
     display: grid;
     grid-template-columns: repeat(5, 1fr);
     gap: 10px;
     justify-content: center;
     max-width: 1100px;
     padding: 0 20px;
     margin: 0 auto 10px auto;
   }
   .equipment_btn_box.bottom {
     margin: 0 auto 80px auto;
   }
   .equipment_btn_box .image-button {
     position: relative;
     width: 100%;
     aspect-ratio: 210 / 60;
     overflow: hidden;
     background-color: #FFFFFF;
     border: solid 1px #60727B
   }
   .equipment_btn_box .image-button img {
     position: absolute;
     width: 100%;
     height: 100%;
     transition: opacity 0.3s ease;
   }
   .equipment_btn_box .image-button:hover {
     opacity: 1;
   }
   .equipment_btn_box .image-button img.hover {
     opacity: 0;
   }
   .equipment_btn_box .image-button:hover img.hover {
     opacity: 1;
     background-color: #60727B
   }
   .equipment_btn_box .image-button:hover img.normal {
     opacity: 0;
   }
   /*PREMIUM FLOOR ボタン*/
   .equipment_btn_box.pf_btn .image-button:hover img.hover {
     opacity: 1;
     background-color: #B59948
   }
   /*ボタン無効*/
   .equipment_btn_box a.image-button.on {
     pointer-events: none !important;
     cursor: default !important;
   }
   .equipment_btn_box a.image-button.on img {
     background-color: #60727B !important;
     opacity: 1;
   }
   @media (max-width:800px) {
     .equipment_btn_box.bottom {
       margin: 0 auto 40px auto;
     }
     .equipment_floor_title {
       text-align: center;
       padding: 0px 15% 20px 15%
     }
   }
   /*コンテンツ*/
   .equipment_premium_block, .equipment_block, .structu_block {
     width: 100%;
     padding: 0 20px 80px 20px;
   }
   .equipment_premium_block {
     background-color: #60727B;
     color: #fff;
     margin-bottom: 70px
   }
   .equipment_premium_block h4 {
     color: #fff
   }
   .equipment_premium_block section, .equipment_block section, .structu_block section {
     max-width: 860px;
     margin: auto;
     padding: 0 20px;
     box-sizing: border-box;
   }
   .equipment_block h3, .structu_block h3 {
     margin: 0 0 10px 0;
     font-size: 24px
   }
   .equipment_block .column, .structu_block .column {
     gap: 20px 50px
   }
   .equipment_block p, .structu_block p {
     font-size: 13px;
     line-height: 1.7em;
     margin-bottom: 1em
   }
   .equipment_block p.attention_text {
     font-size: 11px;
     margin-bottom: 0em
   }
   .equipment_block h4, .structu_block h4 {
     font-size: 19px;
     line-height: 1.4em;
     margin: 0.4em 0 0.3em 0;
   }
   .equipment_block img + h4, .structu_block img + h4 {
     margin: 0.5em 0 0 0;
   }
   .equipment_block h5, .structu_block h5 {
     font-size: 22px;
     border: solid 1px #FFFFFF;
     padding: 3px 5px 6px 5px;
     margin: 0.3em 0;
     text-align: center
   }
   @media (max-width:800px) {
     .equipment_block h3, .structu_block h3 {
       margin: 0 0 10px 0;
       font-size: 17px
     }
     .equipment_block h3 br, .structu_block h3 br {
       display: none
     }
     .equipment_block .column, .structu_block .column {
       gap: 20px 20px
     }
     .equipment_block h4, .structu_block h4 {
       font-size: 16px;
     }
     .equipment_block h4 br, .structu_block h4 br {
       display: none
     }
     .equipment_premium_block, .equipment_block, .structu_block {
       padding: 0 0px 40px 0px;
     }
     .equipment_title img {
       width: auto;
       max-height: 27px;
       margin: 0 20px 10px 20px
     }
     .equipment_title h3 {
       font-size: 14px;
       letter-spacing: 1px;
       padding: 0 20px 1em 20px
     }
     .equipment_title p {
       display: block;
       text-align: left;
       padding: 0 20px 20px 20px;
       font-size: 13px;
     }
     .equipment_title p br {
       display: none
     }
   }
   @media (max-width:670px) {
     .equipment_btn_box {
       grid-template-columns: repeat(3, 1fr);
     }
     .equipment_block h5, .structu_block h5 {
       font-size: 13px;
     }
   }
   @media (max-width:500px) {
     .equipment_title img {
       max-height: 20px;
     }
     .equipment_title h3 {
       font-size: 14px;
     }
     .equipment_title p {
       font-size: 12px;
     }
   }
   /*設備・仕様 PREMIUM FLOOR
------------------------------------------*/
   .equipment_premium_block .equipment_titlecopy {
     text-align: center
   }
   .equipment_premium_block .equipment_titlecopy img {
     width: auto;
     height: 35px;
     margin: 90px 0 40px 0
   }
   .equipment_premium_block .equipment_titlecopy span {
     display: block;
   }
   .equipment_premium_block .equipment_titlecopy span img {
     width: auto;
     height: 35px;
     margin: -20px 0 40px 0
   }
   .equipment_premium_block .column {
     margin-bottom: 40px;
     gap: 45px
   }
   /*KITCHEN*/
   .equipment_p_kitchen_box02 .grid2 {
     grid-template-columns: 2fr 1fr;
   }
   .equipment_p_kitchen_box02 .column {
     gap: 20px
   }
   /*POWDER ROOM*/
   .equipment_p_powderroom_box01 {
     margin-bottom: 30px
   }
   .equipment_p_powderroom_box02 {
     padding-right: 7%
   }
   .equipment_p_powderroom_box02 .grid2 {
     grid-template-columns: 2fr 1fr;
     align-items: flex-end;
   }
   .equipment_p_powderroom_box02 .column {
     gap: 20px
   }
   .equipment_p_powderroom_box02 .column.grid3 {
     gap: 8px;
     margin-bottom: 0px;
   }
   /*BATHROOM*/
   .equipment_p_bathroom_box01 {
     margin-bottom: 30px
   }
   .equipment_p_bathroom_box02 {
     margin-bottom: 30px
   }
   .equipment_p_bathroom_box03 .grid2 {
     grid-template-columns: 2fr 1fr;
   }
   .equipment_p_bathroom_box03 .column {
     gap: 20px
   }
   /*TOILET*/
   .equipment_p_toilet_box01 {
     margin-bottom: 30px
   }
   .equipment_p_toile_box02 {
     margin-bottom: 30px
   }
   .equipment_p_toilet_box02 .grid2 {
     grid-template-columns: 0.3fr 1fr;
   }
   .equipment_p_toilet_box02 .column {
     gap: 20px
   }
   @media (max-width:800px) {
     .equipment_premium_block .equipment_titlecopy img {
       width: auto;
       height: 30px;
       margin: 40px 0 40px 0
     }
     .equipment_p_kitchen_box02 .grid2 {
       grid-template-columns: 1fr 1fr;
     }
     .equipment_premium_block .column {
       margin-bottom: 40px;
       gap: 20px
     }
     .equipment_p_kitchen_box05 .column.grid3 {
       grid-template-columns: 1fr 1fr;
     }
     .equipment_p_powderroom_box02 {
       padding-right: 0%
     }
     .equipment_p_powderroom_box02 .grid2 {
       grid-template-columns: 1fr;
     }
     .equipment_p_powderroom_box01 {
       margin-bottom: 10px;
     }
     .equipment_p_powderroom_box02 .grid2 > div:nth-child(2) {
       padding: 20px 20% 0 20%
     }
     .equipment_p_bathroom_box03 .grid2 {
       grid-template-columns: 1fr;
     }
     .equipment_p_bathroom_box03 .column {
       gap: 20px
     }
     .equipment_p_bathroom_box04 .column.grid3 {
       grid-template-columns: 1fr 1fr;
     }
     .equipment_p_toilet_box03 .column.grid3 {
       grid-template-columns: 1fr 1fr;
     }
   }
   /*設備・仕様 KICHEN
------------------------------------------*/
   .equipment_kichen_box01 {
     text-align: center
   }
   .equipment_kichen_box01 img {
     width: auto;
     height: 20px;
     margin: 0 0 50px 0
   }
   .equipment_kichen_box02 .grid2 {
     grid-template-columns: 2fr 1fr;
   }
   .equipment_kichen_box03 .grid2 {
     grid-template-columns: 2fr 1fr;
   }
   .equipment_kichen_box03 .grid2 .grid2 {
     grid-template-columns: 3.3fr 1fr;
     margin-bottom: 0px
   }
   .equipment_kichen_box03 .grid2 .grid2.column {
     grid-template-columns: 2.6fr 1fr;
     gap: 20px
   }
   .equipment_kichen_box03 .grid2 .grid2.column div:nth-child(2) img {
     margin-bottom: 20px
   }
   .equipment_kichen_box04 {
     margin-bottom: 80px
   }
   .equipment_kichen_box05 {}
   .equipment_kichen_box05 .grid2 .grid2.column {
     gap: 10px
   }
   .equipment_kichen_box05 .grid2 .grid2.column img {
     margin-top: 5px;
   }
   .equipment_kichen_box06 {
     background-color: #FFFFFF;
     border: solid 2px #0DAC67;
     padding: 20px 20px 10px 20px
   }
   .equipment_kichen_box06 .column {
     margin-bottom: 0px;
   }
   @media (max-width:800px) {
     .equipment_kichen_box02 .grid2 {
       grid-template-columns: 1fr;
     }
     .equipment_kichen_box03 .grid2 {
       grid-template-columns: 1fr;
     }
     .equipment_kichen_box04 .grid3 {
       grid-template-columns: 1fr 1fr;
     }
     .equipment_kichen_box05 .grid2 .grid2.column {
       grid-template-columns: 1fr;
     }
     .equipment_kichen_box06 .grid2.column {
       grid-template-columns: 1fr;
     }
   }
   /*設備・仕様 BATHROOM
------------------------------------------*/
   .equipment_bathroom_box01 {
     text-align: center
   }
   .equipment_bathroom_box01 img {
     width: auto;
     height: 20px;
     margin: 0 0 50px 0
   }
   .equipment_bathroom_box02 {
     background-image: url(../image/equipment/bathroom0201.png);
     background-repeat: no-repeat;
     background-position: left 0%;
     background-size: contain;
     background-color: #FFFFFF;
     padding: 20px;
     margin-bottom: 40px
   }
   .equipment_bathroom_box02 .grid2.column {
     grid-template-columns: 1.6fr 3fr;
     margin: 0px
   }
   .equipment_bathroom_box02 .grid2 .grid2 {
     grid-template-columns: 3fr 2fr;
     gap: 10px;
     align-items: flex-end;
     margin-bottom: 0px
   }
   .equipment_bathroom_box03 {
     background-color: #FFFFFF;
     margin: 0px
   }
   .equipment_bathroom_box03 > p {
     font-size: 11px;
     padding: 0 20px;
     margin: 0px;
     text-indent: -1em;
     padding-left: 2em;
   }
   .equipment_bathroom_box03 .grid2 {
     grid-template-columns: 2fr 1fr;
     margin-bottom: 10px
   }
   .equipment_bathroom_box03 .grid2 div:nth-child(1) {
     background-color: #090A0E;
     color: #FFFFFF;
     background-image: url("../image/equipment/bathroom0301.png");
     background-repeat: no-repeat;
     background-position: center bottom;
     background-size: contain;
     padding: 40px
   }
   .equipment_bathroom_box03 .grid2 div:nth-child(2) {
     padding: 20px 30px 0 0
   }
   .equipment_bathroom_box04 {
     background-color: #FFFFFF;
     margin-bottom: 50px
   }
   .equipment_bathroom_box04 .grid2 {
     grid-template-columns: 1fr 1fr;
     padding: 30px 15% 30px 15%
   }
   .equipment_bathroom_box05 {
     margin-bottom: 50px
   }
   .equipment_bathroom_box05 .column.grid6 {
     grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr 1fr;
     background-color: #FFFFFF;
     margin: 0px;
     gap: 3px;
     align-items: center;
     padding: 10px 10px 7px 10px;
     margin-bottom: 30px
   }
   .equipment_bathroom_box06 {}
   @media (max-width:800px) {
     .equipment_bathroom_box02 .grid2.column {
       grid-template-columns: 1fr;
     }
     .equipment_bathroom_box02 .grid2 .grid2 {
       grid-template-columns: 1fr;
     }
     .equipment_bathroom_box02 h3 {
       padding-top: 115px
     }
     .equipment_bathroom_box03 .grid2 {
       grid-template-columns: 1fr;
       margin-bottom: 10px
     }
     .equipment_bathroom_box03 h4 + p {
       padding-bottom: 250px
     }
     .equipment_bathroom_box03 .grid2 div:nth-child(2) {
       padding: 20px 20px 0 20px
     }
     .equipment_bathroom_box04 .grid2 {
       grid-template-columns: 1fr 1fr;
       padding: 20px 20px 0 20px
     }
     .equipment_bathroom_box05 .column.grid6 {
       grid-template-columns: 1fr 1fr 1fr;
     }
     .equipment_bathroom_box06 .grid3 {
       grid-template-columns: 1fr 1fr;
       padding: 20px 0px 0 0px
     }
   }
   /*設備・仕様 POWDER ROOM
------------------------------------------*/
   .equipment_powderroom_box01 {
     text-align: center
   }
   .equipment_powderroom_box01 img {
     width: auto;
     height: 20px;
     margin: 0 0 50px 0
   }
   .equipment_powderroom_box02 .grid2 {
     grid-template-columns: 1.3fr 2fr;
   }
   .equipment_powderroom_box03 {
     padding-right: 15%
   }
   .equipment_powderroom_box03 .column.grid4 {
     grid-template-columns: 0.8fr 1fr 0.1fr 1fr;
     gap: 15px;
     align-items: flex-start
   }
   .equipment_powderroom_box03 .column.grid4 h5 {
     border: solid 1px #000;
     margin-top: 60px
   }
   .equipment_powderroom_box03 .column.grid4 img.arrow {
     margin-top: 60px
   }
   .equipment_powderroom_box04 {
     background-color: #FFFFFF;
     padding: 20px 20px 5px 20px;
     margin-bottom: 40px
   }
   .equipment_powderroom_box04 .column.grid3 {
     grid-template-columns: 1.2fr 1fr 1fr;
     gap: 20px;
     margin: 0px
   }
   .equipment_powderroom_box04 .column.grid3 .grid2 {
     gap: 10px
   }
   .equipment_powderroom_box05 {
     background-color: #FFFFFF;
     padding: 20px 20px 20px 20px;
     margin-bottom: 40px
   }
   .equipment_powderroom_box05 .column.grid2 {
     grid-template-columns: 1fr 1.8fr;
     gap: 50px;
     margin: 0px
   }
   .equipment_powderroom_box06 {
     padding-right: 25%
   }
   .equipment_powderroom_box06 .grid2 {
     grid-template-columns: 1.2fr 1fr;
   }
   @media (max-width:800px) {
     .equipment_powderroom_box02 .grid2 {
       grid-template-columns: 1fr;
     }
     .equipment_powderroom_box03 {
       padding-right: 0px;
       text-align: center
     }
     .equipment_powderroom_box03 p {
       padding-right: 0px;
       text-align: left;
       margin-bottom: 0em;
     }
     .equipment_powderroom_box03 .column.grid4 {
       grid-template-columns: 1fr;
       gap: 15px;
     }
     .equipment_powderroom_box03 .column.grid4 h5 {
       margin-top: 0px;
     }
     .equipment_powderroom_box03 .column.grid4 img.arrow {
       margin-top: 0px;
       transform: rotate(90deg);
       width: 20px;
     }
     .equipment_powderroom_box03 .column.grid4 div {
       padding: 0 10%
     }
     .equipment_powderroom_box04 .column.grid3 {
       grid-template-columns: 1fr;
       gap: 20px;
       margin: 0px
     }
     .equipment_powderroom_box05 .column.grid2 {
       grid-template-columns: 1fr;
       margin: 0px
     }
     .equipment_powderroom_box06 {
       padding-right: 0%
     }
     .equipment_powderroom_box06 .grid2 {
       grid-template-columns: 1fr;
     }
   }
   /*設備・仕様 TOILET
------------------------------------------*/
   .equipment_toilet_box01 {
     text-align: center
   }
   .equipment_toilet_box01 img {
     width: auto;
     height: 20px;
     margin: 0 0 50px 0
   }
   .equipment_toilet_box02 {
     margin-bottom: 40px
   }
   .equipment_toilet_box03 {}
   .equipment_toilet_box04 {
     background-color: #FFFFFF;
     padding: 20px 20px 5px 20px;
     margin-bottom: 40px
   }
   .equipment_toilet_box04 .column.grid2 {
     grid-template-columns: 1fr 1.47fr;
     margin-bottom: 10px
   }
   @media (max-width:800px) {
     .equipment_toilet_box04 .column.grid2 {
       grid-template-columns: 1fr;
       margin-bottom: 10px
     }
   }
   /*設備・仕様 ENTRANCE
------------------------------------------*/
   .equipment_entrance_box01 {
     text-align: center
   }
   .equipment_entrance_box01 img {
     width: auto;
     height: 20px;
     margin: 0 0 50px 0
   }
   .equipment_entrance_box02 {
     margin-bottom: 50px
   }
   .equipment_entrance_box03 {}
   @media (max-width:800px) {
     .equipment_entrance_box02 {
       margin-bottom: 20px
     }
   }
   /*プラン 切り替えボタン
------------------------------------------*/
   .plan_btn_box {
     display: flex;
     justify-content: center;
     margin: 20px 0;
     gap: 20px
   }
   .plan_btn_box a img {
     width: auto;
     height: 70px;
   }
   .plan_btn_box a {
     display: inline-block;
     position: relative;
     border: solid 1px #60727b
   }
   .plan_btn_box a {
     background-color: #fff
   }
   .plan_btn_box a.on {
     background-color: #60727b;
     pointer-events: none
   }
   .plan_btn_box a.on::before {
     content: "";
     position: absolute;
     top: -10px;
     left: 50%;
     transform: translateX(-50%);
     border-left: 10px solid transparent;
     border-right: 10px solid transparent;
     border-bottom: 10px solid #60727b;
   }
   .plan_text_attention {
     font-size: 15px;
     line-height: 1.5em;
     text-align: center;
     color: #960000
   }
   /*バナー
------------------------------------------*/
   .top_banner01 {
     max-width: 1200px;
     padding: 0 20px;
     margin: auto;
     margin-bottom: 70px
   }
   .top_banner01 a {
     display: inline-block;
     margin-bottom: 40px
   }
   .top_banner02 {
     max-width: 1200px;
     padding: 0 20px;
     margin: auto;
     margin-bottom: 30px
   }
   .top_banner02 .column.grid2 {
     gap: 20px
   }
   .top_banner03 {
     margin: 90px 0 0 0
   }
   @media (max-width:800px) {
     .top_banner01 a {
       display: inline-block;
       margin-bottom: 20px
     }
     .top_banner02 {
       margin-bottom: 50px
     }
     .top_banner02 .column.grid2 {
       gap: 10px
     }
     .top_banner03 {
       margin: 30px 0 0 0
     }
   }
   @media (max-width:460px) {
     .top_banner02 .column.grid2 {
       grid-template-columns: 1fr;
       gap: 10px
     }
   }
   /*フッターバナー
------------------------------------------*/
   .footer_banner {
     max-width: 1200px;
     padding: 100px 20px 0 20px;
     margin: auto
   }
   .footer_banner a {
     display: inline-block;
     margin: 0px 0 40px 0
   }
   .footer_banner h3 {
     font-size: 26px;
     text-align: center;
     margin: 10px 0
   }
   @media screen and (max-width: 1000px) {
     .footer_banner {
       padding: 20px 20px 20px 20px
     }
     .footer_banner a {
       margin: 0px 0 20px 0
     }
     .footer_banner h3 {
       font-size: 17px !important;
       text-align: center;
       margin: 10px 0
     }
   }
   @media screen and (max-width: 1000px) {
     .footer_banner h3 {
       font-size: 15px !important;
     }
   }
   /*修正・追加
------------------------------------------*/
   /*0731 TOP支払い例*/
   .payment_examples {
     max-width: 600px;
     margin: 0 auto 70px auto
   }
   .payment_examples span {
     display: block;
     font-size: 12px;
     text-align: center;
     margin: 20px 0 0 0
   }
   @media (max-width:500px) {
     .payment_examples {
       max-width: 350px;
       margin: 0 auto 40px auto
     }
     .payment_examples span {
       display: block;
       font-size: 10px;
       text-align: center;
       margin: 10px 0 0 0
     }
   }
   /* デザインページ
-----------------------------------------------------------------------
-----------------------------------------------------------------------*/
   .design_box01 {
     max-width: 920px;
     text-align: right;
     margin: 0 auto 40px auto
   }
   .design_box01 img {
     width: auto;
     max-height: 270px;
     padding: 0 5px
   }
   @media screen and (max-width: 700px) {
     .design_box01 img {
       padding: 0 30px
     }
   }
   /**/
   .design_box02 {
     text-align: center
   }
   .design_box02 h3 {
     font-size: 17px;
     margin: 10px 0 30px 0
   }
   .design_box02 p {
     font-size: 14px;
     margin: 0 0 70px 0
   }
   .design_box02 .design02 {
     max-width: 668px;
     width: 100%;
     margin: 0 auto 10px auto
   }
   .design_box02 .design_title01 {
     max-width: 423px;
     width: 100%;
     margin: auto
   }
   @media screen and (max-width: 700px) {
     .design_box02 .design02 {
       padding: 0 30px
     }
     .design_box02 .design_title01 {
       padding: 0 40px
     }
     .design_box02 h3 {
       font-size: 15px;
       margin: 5px 0 20px 0;
       padding: 0 30px;
     }
     .design_box02 h3:nth-of-type(2) {
       padding: 0px;
       text-align: left
     }
     .design_box02 h3:nth-of-type(2) br {
       display: none
     }
     .design_box02 p {
       font-size: 13px;
       margin: 0 0 70px 0;
       text-align: left
     }
     .design_box02 p br {
       display: none
     }
   }
 }
 /**/
 .design_box03 {}
 .design_box03_in {
   max-width: 1000px;
   margin: -50px auto 70px auto;
   display: flex;
   justify-content: flex-end
 }
 .design_box03_in > div {
   max-width: 340px;
   width: 100%;
   color: #FFFFFF;
   background-color: #000000;
   padding: 50px 30px 30px 30px;
 }
 .design_box03_in > div img {
   width: 200px
 }
 .design_box03_in > div h3 {
   font-size: 16px;
   margin: 20px 0 10px 0
 }
 .design_box03_in > div p {
   font-size: 13px
 }
 @media screen and (max-width: 700px) {
   .design_box03_in {
     margin: -20px auto 40px auto;
   }
   .design_box03_in > div {
     max-width: 340px;
     width: 100%;
     padding: 30px 15px 15px 15px;
   }
   .design_box03_in > div img {
     width: 150px
   }
   .design_box03_in > div h3 {
     margin: 20px 0 5px 0
   }
   .design_box03_in > div p {
     font-size: 11px
   }
   .design_box03_in > div p br {
     display: none
   }
 }
 /**/
 .design_box04 {
   margin: 0 0 50px 0;
   overflow: hidden;
 }
 .design_box04 .design_title03 {
   max-width: 190px;
   width: 100%;
 }
 .design_box04 .grid2 {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 40px
 }
 .design_box04 h3 {
   font-size: 16px;
   margin: 30px 0 10px 0;
   font-weight: bold
 }
 .design_box04 p {
   font-size: 14px;
   margin: 0 0 0px 0;
   line-height: 1.6em
 }
 @media screen and (max-width: 700px) {
   .design_box04 {
     margin: 0 0 0px 0;
   }
   .design_box04 .design_title03 {
     max-width: 150px;
   }
   .design_box04 h3 {
     font-size: 16px;
     margin: 20px 0 5px 0;
   }
   .design_box04 p {
     font-size: 13px
   }
   .design_box04 br {
     display: none
   }
 }
 /* 画像はみ出し共通 */
 .block_img_over {
   max-width: 920px;
   width: 100vw;
   margin: 0 auto 70px auto;
 }
 .img_over {
   display: flex;
   flex-wrap: wrap;
   justify-content: space-between;
 }
 .img_over_text {
   width: 45%;
   box-sizing: border-box;
   padding: 20px;
   flex-wrap: wrap;
   flex-wrap: nowrap;
   align-content: flex-end;
 }
 /*画像を右にはみ出す*/
 .img_over_image_right {
   margin-right: calc(55% - 55vw);
   width: calc(55vw - 55% + 55%);
   line-height: 0px
 }
 /*SP*/
 @media screen and (max-width: 700px) {
   .block_img_over {
     margin: 0 auto 20px auto;
   }
   .img_over {
     flex-direction: column-reverse;
   }
   .img_over_text {
     width: 100%;
   }
   .img_over_image_right {
     margin: 0;
     width: 100%;
   }
 }
 /**/
 .design_box05 {}
 .design_box05_in {
   max-width: 1000px;
   margin: 0 auto 0 auto;
   text-align: center
 }
 .design_box05_in h3 {
   font-size: 16px;
   margin: 50px 0 50px 0;
   font-weight: bold;
   line-height: 1.8em
 }
 @media screen and (max-width: 700px) {
   .design_box05_in h3 {
     font-size: 15px;
     margin: 50px 20px 10px 20px;
     text-align: left
   }
   .design_box05_in h3 br {
     display: none
   }
 }
 /**/
 .design_box07 {
   text-align: center;
   padding: 50px 0 100px 0
 }
 .design_box07 .design_title04 {
   max-width: 261px;
   width: 100%;
   margin: 0px auto 0px auto
 }
 .design_box07 h3 {
   font-size: 16px;
   margin: 10px 0 20px 0
 }
 .design_box07 .design07 {
   max-width: 900px;
   width: 100%;
   margin: 60px auto 50px auto;
   padding: 0 50px
 }
 .design_box07 .grid4 {
   max-width: 890px;
   width: 100%;
   margin: auto;
   text-align: left;
   padding: 0 20px
 }
 .design_box07 .grid4 h4 {
   font-size: 16px;
   margin: 10px 0 3px 0
 }
 .design_box07 .grid4 p {
   font-size: 12px;
   line-height: 1.6em
 }
 @media screen and (max-width: 700px) {
   .design_box07 {
     padding: 50px 0 30px 0
   }
   .design_box07 .design_title04 {
     max-width: 180px;
     margin: 0px auto 0px auto;
   }
   .design_box07 h3 {
     font-size: 14px;
     margin: 5px 0 0px 0
   }
   .design_box07 .design07 {
     margin: 20px auto 40px auto;
     padding: 0 20px
   }
   .design_box07 .grid4 {
     grid-template-columns: 1fr 1fr;
     gap: 30px 15px
   }
   .design_box07 .grid4 h4 {
     font-size: 14px;
     margin: 10px 0 3px 0
   }
   .design_box07 .grid4 p {
     font-size: 12px;
   }
 }
 /**/
 .design_box08 {
   background-color: #000000;
   padding: 50px 20px;
   text-align: center;
   color: #FFFFFF;
   margin: 0 0 100px 0
 }
 .design_box08 .design_box08_in {
   max-width: 820px;
   margin: 0 auto 0 auto
 }
 .design_box08 .design_box08_in .design_title05 {
   max-width: 710px;
   width: 100%;
   margin: auto
 }
 .design_box08 .design_box08_in h3 {
   font-size: 16px;
   margin: 20px 0 30px 0;
   font-weight: bold;
   line-height: 1.8em
 }
 .design_box08 .design_box08_in h3:last-of-type {
   margin: 25px 0 15px 0
 }
 .design_box08 .design_box08_in p {
   font-size: 12px;
   margin: 10px 0 0 0
 }
 .design_box08 .grid3 {
   max-width: 890px;
   width: 100%;
   margin: auto;
   gap: 50px
 }
 @media screen and (max-width: 700px) {
   .design_box08 {
     padding: 50px 40px 20px 40px;
     margin: 0 0 20px 0
   }
   .design_box08 .design_box08_in h3 {
     font-size: 14px;
     margin: 20px 0 30px 0;
     text-align: left
   }
   .design_box08 .design_box08_in h3 br {
     display: none
   }
   .design_box08 .design_box08_in p {
     font-size: 11px;
     text-align: left
   }
   .design_box08 .grid3 {
     gap: 10px
   }
 }