@charset "UTF-8";
/*
#headerメニュー
*/

/*---------pc------------*/
#gHead {
	z-index: 1000;
	position: relative;
}

#gHead .gh-menu {
	position: fixed;
	top: 0;
	right: 0;
	/*height: 55px;*/
	height: 55px;
	width: 64px;
	padding: 0;
	margin: 0;
	border: none;
	background: #fff;
    
}
#gHead .gh-menu div {
	height: 24px;
	width: 30px;
	position: relative;
	margin: 0 auto;
}
#gHead .gh-menu .gh-menu-bar {
	position: absolute;
	left: 0;
	display: block;
	width: 100%;
	height: 2px;
	background-color: #000;
	transition: all .3s;
}
#gHead .gh-menu.scrollover .gh-menu-bar {
	background-color: #000;
}
#gHead .gh-menu .gh-menu-bar.mod-top {
	top: 0;
}
#gHead .gh-menu .gh-menu-bar.mod-middle {
	top: 11px;
}
#gHead .gh-menu .gh-menu-bar.mod-bottom {
	bottom: 0;
}
#gHead .gh-menu.is-open .gh-menu-bar.mod-top {
	top: 11px;
	transform: rotate(-45deg);
}
#gHead .gh-menu.is-open .gh-menu-bar.mod-middle {
	background-color: transparent;
}
#gHead .gh-menu.is-open .gh-menu-bar.mod-bottom {
	bottom: 11px;
	transform: rotate(-135deg);
}



/*------------------------sp--------------------*/
/*TOPメニュースマホ*/
@media only screen and (max-width: 769px) {
    
.body{  margin: 0px;}

#gHead .gh-menu {
		height: 55px;
}
    
#gHead .gh-menu div {
		height: 17px;
		width: 26px;
	}
#gHead .gh-menu .gh-menu-bar {
		position: absolute;
		left: 0;
		display: block;
		width: 100%;
		height: 1px;
	}
#gHead .gh-menu .gh-menu-bar.mod-top {
		top: 0;}
    
#gHead .gh-menu .gh-menu-bar.mod-middle {
		top: 8px;}
#gHead .gh-menu .gh-menu-bar.mod-bottom {
        bottom: 0;
	}
#gHead .gh-menu.is-open .gh-menu-bar.mod-top {
		top: 8px;
		transform: rotate(-45deg);
	}
#gHead .gh-menu.is-open .gh-menu-bar.mod-middle {
		background-color: transparent;
	}
#gHead .gh-menu.is-open .gh-menu-bar.mod-bottom {
		bottom: 8px;
		transform: rotate(-135deg);
	}
}

/*スマホ　終わり*/

/*サイド固定バナー*/
/*---------------------pcのみ-----------------------*/
#gHead .banner {
	position: fixed;
	top: 15%;
	right: 0;
    height: 55px;
}
#gHead .banner ul {
	border-left: solid 0px #000;
	border-bottom: solid 0px #000;
}

#gHead .banner li {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}



#gHead .banner li {}
#gHead .banner li a {
	display: block;
	padding: 50px 15px;
    font-weight:bold;
}
#gHead .banner li.request a {
 background-color: #8d1f34;
background-image: linear-gradient(90deg, #8d1f34 0%, #c93f5b 50%, #8d1f34 100%);
    color:#ffffff;
}
#gHead .banner li.contact a {
 background-color: #9a6f38;
background-image: linear-gradient(90deg, #9a6f38 0%, #c9b05b 50%, #9a6f38 100%);   
      color:#ffffff;
	 
}
#gHead .banner li.request a:hover {
	background: #000000;
    color:#ffffff;
}
#gHead .banner li.contact a:hover {
	background: #000000;
    color:#ffffff;
}
#gHead .banner li a .def {
	display: inline;
}
#gHead .banner li a .over {
	display: none;
}
#gHead .banner li a:hover .def {
	display: none;
}
#gHead .banner li a:hover .over {
	display: inline;
}
/*---------------サイド固定バナー終わり---------------------*/


/* ----------------header固定pc-------------------- */

#gHead  {
    padding: 15px;
    transition: all .5s;
    position: fixed;
    display: block;
    width: 100%;
    height: 55px; 
    z-index: 100;
   transition: background-color .5s, color .5s; 
}
 
#gHead __inner {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header.change-color {
  color: white;
}

.tit{
    width:63%;
    float:left;
	font-size:20px;
    font-weight:bold;
}

#menu-wrap {
  width: auto; /* 明示的な幅をなくす */
  padding: 5px 0;
  display: flex;
  height: 55px;  
  justify-content: flex-end; /* ← 右寄せ */
  z-index: 1000;
}

#menu li {
  display: inline-block;
  position: relative;
  padding: 0 20px;
  margin: 0;
}

/* 左端と右端：両側に縦線を入れる */
#menu li:first-child::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 20px;
  width: 1px;
  background-color: #000;
}
#menu li:nth-child(2)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 20px;
  width: 1px;
  background-color: #000;
}


#menu li:last-child::before::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 20px;
  width: 1px;
  background-color: #000;
}

/* 中間（来場予約とお問い合わせの間）に縦線を入れる */
#menu li:first-child::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 20px;
  width: 1px;
  background-color: #000;
}


.icon5::before {
  content: "";
    float:left;
    text-align:right; 
    width:23px;
    height:23px;
  background-image: url("../img/icon_flag_b.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  font-size: 1em;
  vertical-align: middle;
  margin: 0.3em 0.3em 0 0.3em ;   /* 余白を最小限に */
     
}



.icon2::before {
  content: "";
    float:left;
    text-align:right; 
    width:23px;
    height:23px;
  background-image: url("../img/icon_mail_b.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  font-size: 1em;
  vertical-align: middle;
  margin: 0.3em 0.3em 0 0.3em ;   /* 余白を最小限に */
     
}





#menu li a {
  display: block;
  width : 100%;
  color: #345065 ;
  text-shadow: 1px 1px 1px #ffffff;  

  line-height: 1.3;
  padding:8px 0 5px 0px;
  text-decoration: none;
  display:block;
z-index:100;
}
 #menu li a:hover {
   width: 100%;
   color:#0C7782;
   text-decoration: none;
}

      
 #menu li a.active{
 color:#0C7782;
  width: 100%;
  text-decoration: none;
  }



/* ------------------header pc 終わり------------------- */
 
/* -------------------header sp---------------------*/

@media only screen and (max-width: 769px) {
    #gHead .banner {
	display: none;
}
    
   .tit{
    width:80%;
    float:left;
	font-size:13px;
    font-weight:bold;
}
 

    
}
/*-----------------終わり-------------------*/

/*----------------------pc---------------------------*/

#gNav {
	height: 0;
    display: block;
	/*overflow: hidden;*/
	transition: all .3s;
	z-index: 1001;
	position: fixed;
	right: 0;
	top: 55px;
	width: 100%;
    background:#fff;
}


#gNav ul {}
#gNav li {
	padding: 10px 20px;
	/*background: #000;
	border-bottom: 1px solid #ccc;*/
}
/*#gNav a {
	display: block;
	font-weight: bold;
	color: #fff;
}*/
#gNav {
	display: none;
	position: fixed;
	top:55px;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.9);
	z-index: 9999;
}

#gNav.is-open {
	display: block;
}

.close-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	background: none;
	border: none;
	color: white;
	font-size: 24px;
	cursor: pointer;
	z-index: 10000;
}

.sub_menu{
    width:90%;
    margin:5% auto;
    border: 3px solid #004d99;
    border-radius:30px;
    height:630px;
}

.sub_left{
    width:45%;
    padding-left:5%;
    float:left;
    margin-top:0;
    display: inline-block;
}

.sub_left img{
    width:82%;
    margin:1% auto;
}




.sub_right{
    width:50%;
    float:left;
  margin-top:2%;  
    display: inline-block;
}


.sub_right ul.sub_link_menu{
 padding-top:1%;  
}

.sub_link_menu li{
 width:75%;
 padding: 0;
}



/* 共通ボタンスタイル */
.type001 {
  width: 47%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #345167;
  padding: 1.5% 1% 2% 1%;
  margin:5% 1% 5% 1%;
  background-color: #fff;
  cursor: pointer;
  border-radius: 10px 10px;
}

.type001 a {
  color: #345167;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: bold;
  transition: all 0.3s ease;
  font-size: 100%;
}

.type001:hover {
  background-color: #345167;
}

.type001:hover a {
  color: #fff;
}



.spMenuList02Box .type02 {
  width: 47%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #345167;
  padding: 1.5% 1% 1% 1%;
  margin: 1%;
  background-color: #345167;
  cursor: pointer;
}

.type02 a {
  color: #fff;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: bold;
  font-size: 100%;
  transition: all 0.3s ease;
}

.type02:hover {
  background-color: #fff;
}

.type02:hover a {
  color: #345167;
}

/* 通常状態のアイコン */
.icon3::before {
  content: "";
  width: 23px;
  height: 23px;
  background-image: url("../img/icon_mail.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-right: 8px;
  vertical-align: middle; 
}

.icon4::before {
  content: "";
  width: 23px;
  height: 23px;
  background-image: url("../img/icon_flag.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-right: 8px;
   vertical-align: middle;  
}

/* ホバー時にアイコン画像を白verへ切り替え */
.type02:hover .icon3::before {
  background-image: url("../img/icon_mail_b.svg");
}

.type02:hover .icon4::before {
  background-image: url("../img/icon_flag_b.svg");
}

/* 電話ブロックの全体スタイル */
.spMenu_tel {
  margin:25px auto;
  text-align: center;
  width:98%;
}

/* リンク内のレイアウト（横並び） */
.spMenu_tel a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-decoration: none;
  color: #333;
  padding: 10px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #f9f9f9;
  transition: background-color 0.3s;
}

.spMenu_tel a:hover {
  background-color: #e0e0e0;
}

/* アイコン画像 */
.spMenu_tel img {
  width: 32px;
  height: 32px;
}

/* テキストブロック */
/*.tellNumberBox {
  text-align: left;
}

.tellNumber {
  font-size: 1.2em;
  font-weight: bold;
}

.tellNumberText {
  font-size: 0.9em;
  color: #666;
}*/

/* 住所部分 */
.spMenuAddress {
  font-size: 0.9em;
  margin-top: 10px;
  color: #555;
  line-height: 1.5;
}

/* SNSリスト全体 */
/* SNSアイコン全体：住所の下に余白を取る */
.spMenu_sns {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 12px 0 0;
  margin: 0;
  gap: 4px;
}

/* 各アイコンの調整 */
.spMenu_sns li a img {
  width: 32px;
  height: 32px;
  transition: transform 0.3s ease;
}

.spMenu_sns li a:hover img {
  transform: scale(1.2);
}





               
/*------------headerスマホ-----------------*/
@media only screen and (max-width: 769px) {
	#gNav {
		top: 45px;
       font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; 

  }

    
.sub_menu{
    width:95%;
    margin:2% auto;
    border: 3px solid #004d99;
    border-radius:30px;
    height:630px;
}

.sub_left{
    width:94%;
    padding-left:5%;
    float:none;
    margin-top:0;
    display: inline-block;
}

.sub_left img{
    width:100%;
    margin:1% auto;
}

.sub_right{
    width:98%;
    float:left;
  margin-top:3%;  
    display: inline-block;
}


.sub_right ul.sub_link_menu{
 padding-top:3%;  
}

.sub_link_menu li{
 width:90%;
 padding:2%;
}

.spMenuList02Box{
        width:86%;
        margin:1% 7% 2% 7%;
}

/* 共通ボタンスタイル */
.spMenuList02Box .type02 {
  width: 47%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding:1% 0 3% 0;
  margin:1%;
  cursor: pointer;
  font-size: 90%;
}

.type02 a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-weight: bold;
  transition: all 0.3s ease;
}

.type02:hover {
  background-color: #fff;
}

.type02:hover a {
  color: #345167;
}

/* 通常状態のアイコン */
.icon3::before {
  content: "";
  width: 15px;
  height: 15px;
   text-align: center; 
  background-image: url("../img/icon_mail.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
  margin-left: 40px;
    vertical-align: middle; 
}

.icon4::before {
  content: "";
  width: 15px;
  height: 15px;
    text-align: center;
  background-image: url("../img/icon_flag.svg");
  background-size: contain;
  background-repeat: no-repeat;
  display: inline-block;
   margin-left: 30px;
   vertical-align: middle;  
}

/* ホバー時にアイコン画像を白verへ切り替え */
.type02:hover .icon3::before {
  background-image: url("../img/icon_mail_b.svg");
}

.type02:hover .icon4::before {
  background-image: url("../img/icon_flag_b.svg");
}

/* 電話ブロックの全体スタイル */
.spMenu_tel {
  margin:10px auto;
  text-align: center;
    width:98%;
    
}

/* リンク内のレイアウト（横並び） */
.spMenu_tel a {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  text-decoration: none;
  color: #333;
  padding: 7px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #f9f9f9;
  transition: background-color 0.3s;
}

.spMenu_tel a:hover {
  background-color: #e0e0e0;
}

/* アイコン画像 */
.spMenu_tel img {
  width: 20px;
  height: 20px;
}

/* テキストブロック */
.tellNumberBox {
  text-align: left;
}

.tellNumber {
  font-size: 0.9em;
  font-weight: bold;
}

.tellNumberText {
  font-size: 0.7em;
  color: #666;
}

/* 住所部分 */
.spMenuAddress {
  font-size: 0.7em;
  margin-top: 5px;
  color: #555;
  line-height: 1.3;
}

/* SNSリスト全体 */
/* SNSアイコン全体：住所の下に余白を取る */
.spMenu_sns {
  display: flex;
  justify-content: center;
  align-items: center;
  list-style: none;
  padding: 2px 0 0;
  margin: 0;
  gap: 4px;
}

/* 各アイコンの調整 */
.spMenu_sns li a img {
  width: 20px;
  height: 20px;
  transition: transform 0.3s ease;
}

.spMenu_sns li a:hover img {
  transform: scale(1.2);
}

    
	#gNav li {
		padding: 10px 20px;
	}

    #ou_as li{
	position: fixed;
    top: 20px;
    right: 70px;

    height: 30px;
    width: 80px;
    border:1px solid  #000000;
    padding: 0;
    margin: 0;
    background: #c0c0c0;
   color:#000000;
     text-align: center;
	}
    
    
    #ou_as li:nth-child(2){
    background: #c9c9c9;
   color:#000000;
      top:20px;
    right: 145px;   
    }

    

  .spMenu_sns li a img {
    width: 20px;
    height: 20px;
  }   
    
    

    
    
}

/*-----------------------header sp　end---------------------*/


/*------------アコーディオン全体------------*/
/*----------------pc---------------------*/
.menu {
  width: 98%;
  padding:50px 1% 20px 1%;
}
.menu input {
  display: none; /*チェックボックスを隠す*/
}
/*バー部分*/
.menu label {
  cursor :pointer;
  display: block;
  text-decoration: none;
  color: #fff;
  text-align: center;
  letter-spacing: 0.2em;
  line-height:1.5;
  position: relative;
  padding: 20px 10px;
  /*background-color:#008080;*/
  width:80%;
  margin:50px auto;
  background: #666666;
}
/*開いたときに表示される部分*/
.menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 1px;
}
.menu li {
  height: 0;
 overflow-y: hidden;
  transition: padding-bottom 0.5s, padding-top 0.5s; /*閉じるときのアニメーション*/
  -webkit-transition: padding-bottom 0.5s, padding-top 0.5s;
  -moz-transition: padding-bottom 0.5s, padding-top 0.5s;
  -ms-transition: padding-bottom 0.5s, padding-top 0.5s;
  -o-transition: padding-bottom 0.5s, padding-top 0.5s;
}
#menu_bar01:checked ~ #links01 li,#menu_bar01:checked ~ #links02 li
/*#menu_bar02:checked ~ #links02 li*/ {
  height: auto; /*開いたときに表示されるliの高さ*/

  padding:0;
}

#links01 li{
    width:47%;
    margin:1.4%;
    display: inline-block;
    font-size:100%;
    text-align: center;
}

#links02 li.loc_02{
    width:90%;
    margin: 2% 0% 2% 10%;
    display: inline-block;
    font-size:100%;
    text-align: center;
    padding:0;
 
}

#links02 li.loc_02 h4{
   width:80%;
   background: #8bc53f;
   border-radius: 10px;
    color:#ffffff;
 float: left;
    font-family: 'Noto Sans JP', sans-serif;
    font-size:110%;
    padding:1.5% 3%;
    text-align: left;
    margin-top:1%;
    line-height: 1.0;
    position: relative;
}

#links02 li.loc_02 h4 .sub{
    position: absolute;
    font-size: 90%;
    top: 30%;
    right:3%;
    }

#links02 li.loc_02 h5{
   width:80%;
   background: #8bc53f;
   border-radius: 10px;
    color:#ffffff;
 float: left;
    font-family: 'Noto Sans JP', sans-serif;
    font-size:110%;
    padding:1.5% 3%;
    text-align: left;
    margin-top:1%;
    line-height: 1.0;
    position: relative;
}

#links02 li.loc_02 h5 .sub{
    position: absolute;
    font-size: 90%;
    top: 30%;
    right:3%;
    }

.caption{
    width:50px;
    float: left;
    margin-top:0.6%;
    margin-right:1%;
}
.caption img{
    width:100%;
}


#links02 li.loc_02 dl{
    width:96%;
    display:inline-block;
    vertical-align: top;

}

#links02 li.loc_02 dt{
    width:56%;
    display: flex;
    text-align: left;
    font-size:100%;
    padding-left: 5%;
    float:left;
    	align-items: center;
}

#links02 li.loc_02 dt:after {
	content: "";
	flex-grow: 1;
	height: 1px;
    border-top: 1px dotted #444;
		display: block;
    margin-left: .3em;
}


#links02 li.loc_02 dd{
    width:42%;
    display: inline-block;
    text-align: left;
    font-size:100%;
    line-height: 0.8;
	align-items: center;
}

#links02 li.loc_02 dt::before {
    content: "●";
    
}


 /*開いたときの下の余白*/
#menu_bar01:checked ~ #links01 li:last-child,
#menu_bar02:checked ~ #links02 li:last-child {
  margin-bottom: 20px;
}
/*閉じた状態の矢印描画*/
.menu label:after{
  content:"";
  display:block;
  width:10px;
  height:10px;
  border-top: #fff 2px solid;
  border-right: #fff 2px solid;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position:absolute;
  right:33%;
  top: 0;
  bottom: 15%;
  margin: auto;
}
/*開いた状態の矢印描画*/
.menu input[type=checkbox]:checked + label:after{
  content:"";
  display:block;
  width:10px;
  height:10px;
  border-top: #fff 2px solid;
  border-right: #fff 2px solid;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position:absolute;
  right: 33%;
  top: 7%;
  bottom: 0;
  margin: auto;
}



 /*-----------------アコーディオン全体pc　終わり---------------*/


/*-------------------アコーディオン全体　sp--------------------------*/


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

.menu {
  width: 100%;
  padding: 10px 0;
}
.menu input {
  display: none; /*チェックボックスを隠す*/
}
/*バー部分*/
.menu label {
  cursor :pointer;
  display: block;
  text-decoration: none;
  color: #fff;
  line-height: 1;
  position: relative;
  margin: 0 auto;
  padding: 15px;
  /*background-color:#008080;*/
  width:100%;
  margin:0 auto;
}
/*開いたときに表示される部分*/
.menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 1px;
}
.menu li {
  height: 0;

  transition: padding-bottom 0.5s, padding-top 0.5s; /*閉じるときのアニメーション*/
  -webkit-transition: padding-bottom 0.5s, padding-top 0.5s;
  -moz-transition: padding-bottom 0.5s, padding-top 0.5s;
  -ms-transition: padding-bottom 0.5s, padding-top 0.5s;
  -o-transition: padding-bottom 0.5s, padding-top 0.5s;
}
#menu_bar01:checked ~ #links01 li,#menu_bar01:checked ~ #links02 li
/*#menu_bar02:checked ~ #links02 li*/ {
  height: auto; /*開いたときに表示されるliの高さ*/
  border: none;
  padding:0;
}

#links01 li{
   width:100%;
   margin: 3% 0;
   border: none;
   display: inline-block;
   font-size:90%;
   text-align: center;
   line-height: 1.5;  
}
 

#links02 li.loc_02{
    width:93%;
    display: inline-block;
    font-size:90%;
    text-align: center;
    padding:0; 
    margin: 0;  
}

#links02 li.loc_02 h4{
    width:88%;
    float: left;
    font-family: 'Noto Sans JP', sans-serif;
    font-size:90%;
    padding:2.5% 2.5%;
    text-align: left;
    margin-top:1%;
    line-height: 1.0;
    position: relative;
}
#links02 li.loc_02 h4 .sub{
    position: absolute;
    font-size: 80%;
    top: 30%;
    right:3%;
    }
#links02 li.loc_02 h5{
    width:89%;
    float: left;
    font-family: 'Noto Sans JP', sans-serif;
    font-size:90%;
    padding:2.5% 0;
    text-align: left;
    margin-top:1%;
    line-height: 1.0;
    position: relative;
}

#links02 li.loc_02 h5 .sub{
    position: absolute;
    font-size: 80%;
    top: 30%;
    right:3%;
    }    

.caption{
    width:10%;
    float: left;
    margin-top:0.6%;
    margin-right:1%;
}
.caption img{
    width:100%;
}    
    
    
#links02 li.loc_02 dl{
    width:92%;
    font-size:90%;
    margin-bottom: 1%;
}

#links02 li.loc_02 dt{
    width:53%;
      display: flex;
    text-align:left;
    line-height: 1.1;
    padding-left: 0;
    float:left;
}

#links02 li.loc_02 dd{
    width:47%;
    display: inline-block;
    text-align:left;
    font-size:93%;
    line-height:1.2;

}
    
    
#links02 li.loc_02 dt:after {
	content: "";
	flex-grow: 1;
	height: 1px;
    border-top: 1px dotted #444;
		display: block;
    margin-left: .1em;
}

    

#links02 li.loc_02 dt::before {
    content: "●";
    
}


 /*開いたときの下の余白*/
#menu_bar01:checked ~ #links01 li:last-child,
#menu_bar02:checked ~ #links02 li:last-child {
  margin-bottom: 20px;
}
/*閉じた状態の矢印描画*/
.menu label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #fff 2px solid;
  border-right: #fff 2px solid;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position:absolute;
  right: 2%;
  top: 0;
  bottom: 15%;
  margin: auto;
}
/*開いた状態の矢印描画*/
.menu input[type=checkbox]:checked + label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #fff 2px solid;
  border-right: #fff 2px solid;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position:absolute;
  right: 2%;
  top: 7%;
  bottom: 0;
  margin: auto;
}
   

}

/*---------アコーディオンsp 終わり---------------------------*/



/*----------------スワイプスライダー　pc----------------------*/
/* スライダー全体の初期フェイド */
.zoom-fade-slider {
  opacity: 0;
  transition: opacity 1.5s ease;
}

.zoom-fade-slider.is-visible {
  opacity: 1;
}

/* 画像共通設定 */
.swiper-slide img {
  width: 98%;
  margin: 0 1% 0 1%;    
  /*height: 100vh;*/
  object-fit: cover;
}

/* 1枚目：初期は少し小さく */
.swiper-slide:first-child img {
  transform: scale(1);
  transition: transform 6s ease;
}

/* 表示されたらゆっくり拡大 */
.zoom-fade-slider.is-visible
.swiper-slide-active:first-child img {
  transform: scale(1.08);
}

/*----------------スワイプスライダー　pc end----------------------*/



/*----------------メインビジュアルTOP　pc----------------------*/
.fullsc {
	margin: 0;
    padding: 3% 0 0 0;
	width: 100%;
    background-size: cover;
    /*margin-right: calc(50% - 50vw);
	margin-left: calc(50% - 50vw);*/
}


.video-mv{
    margin:0 auto;
    padding-top:5%;    
}


.full_ponit{
    padding: 1.5% 8%;
    background: #2e7498;
}
.full_ponit .bukken_point01{
    width:24%;
    display: inline-block;
    border-right: solid thin #fff;
}
.full_ponit .bukken_point01:last-child{
    border: none;
}


.full_ponit .bukken_point01 .point_text01{
    color: #fff;
    text-align: center;
    line-height: 1.5;
    font-size: 90%;
    letter-spacing: 0.2rem;
    font-weight: 550;
}
.full_ponit .bukken_point01 .point_text02{
    color: #fff;
    text-align: center;
    line-height: 1.2;
    font-size: 160%;
    letter-spacing: 0.2rem;
    font-weight:600;
}

.full_ponit .bukken_point01 .time{
    display: flex;
    justify-content: center;
    align-items: baseline; /* ← 下ぞろえ */
    margin: 1% 0 0 0;
}

.full_ponit .bukken_point01 .time .toho{
   /*position: absolute;
   right: 50%;*/ 
}
.full_ponit .bukken_point01 .time .toho .toho_vertical{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 100%;
    color: #fff;
    font-weight: 550;
}

.full_ponit .bukken_point01 .time .minite{
    font-size: 280%;
    color: #fff;
    font-weight: 600;
}
.full_ponit .bukken_point01 .time .minite span{
    font-size: 70%;
}
.full_ponit .bukken_point01 .time .hun{
    font-size: 150%;
    color: #fff;
    margin: 0 0 0 1%;
    font-weight: 600;
}


.full_ponit2{
    padding: 1.5% 8%;
    background: #2e7498;
}
.full_ponit2 .bukken_point01{
    width:33%;
    display: inline-block;
    border-right: solid thin #fff;
}
.full_ponit2 .bukken_point01:last-child{
    border: none;
}


.full_ponit2 .bukken_point01 .point_text01{
    color: #fff;
    text-align: center;
    line-height: 1.5;
    font-size: 90%;
    letter-spacing: 0.2rem;
    font-weight: 550;
}
.full_ponit2 .bukken_point01 .point_text02{
    color: #fff;
    text-align: center;
    line-height: 1.2;
    font-size: 160%;
    letter-spacing: 0.2rem;
    font-weight:600;
}

.full_ponit2 .bukken_point01 .time{
    display: flex;
    justify-content: center;
    align-items: baseline; /* ← 下ぞろえ */
    margin: 1% 0 0 0;
}

.full_ponit2 .bukken_point01 .time .toho{
   /*position: absolute;
   right: 50%;*/ 
}
.full_ponit2 .bukken_point01 .time .toho .toho_vertical{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 100%;
    color: #fff;
    font-weight: 550;
}

.full_ponit2 .bukken_point01 .time .minite{
    font-size: 280%;
    color: #fff;
    font-weight: 600;
}
.full_ponit2 .bukken_point01 .time .minite span{
    font-size: 70%;
}
.full_ponit2 .bukken_point01 .time .hun{
    font-size: 150%;
    color: #fff;
    margin: 0 0 0 1%;
    font-weight: 600;
}











/*----------------メインビジュアルTOP　pc end----------------------*/



/*----------------------fullscメインビジュアルSP------------------*/

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


.fullsc	{
	position: relative;
	margin:0;
    padding-top:55px;
    border:0;
	width: 100%;
}

.video-mv{
    margin:0 auto;
    padding-top:55px;

}
    
 .video-mv video{
  width: 100vw;
  height: 70vh;
  object-fit: cover;
  display: block;
}
    
    
    
    
.full_ponit{
    padding: 1% 0 1% 0;
}
.full_ponit .bukken_point01{
    width:49.5%;
    display: inline-block;
    padding: 3% 2% 3% 2%;
}
.full_ponit .bukken_point01:last-child{
    border: none;
}
.full_ponit .bukken_point01:nth-child(2n){
    border: none;
}
.full_ponit .bukken_point01:nth-child(1){
    border-bottom: solid thin #fff;
}    
.full_ponit .bukken_point01:nth-child(2){
    border-bottom: solid thin #fff;
}     

.full_ponit .bukken_point01 .point_text01{
    text-align: center;
    line-height: 1.5;
    font-size: 70%;
    letter-spacing: 0.01rem;
}
.full_ponit .bukken_point01 .point_text02{
    text-align: center;
    line-height: 1.2;
    font-size: 110%;
    letter-spacing: 0.2rem;
}

.full_ponit .bukken_point01 .time{
    display: flex;
    justify-content: center;
    align-items: baseline; /* ← 下ぞろえ */
    margin: 1% 0 0 0;
}

.full_ponit .bukken_point01 .time .toho{
   /*position: absolute;
   right: 50%;*/ 
}
.full_ponit .bukken_point01 .time .toho .toho_vertical{
    writing-mode: vertical-rl;
    text-orientation: upright;
    font-size: 100%;
}

.full_ponit .bukken_point01 .time .minite{
    font-size: 280%;
    padding-left:2%;
}
.full_ponit .bukken_point01 .time .minite span{
    font-size: 70%;
}
.full_ponit .bukken_point01 .time .hun{
    font-size: 150%;
    margin: 0 0 0 1%;
}    
    
  
  .full_ponit2{
    padding: 3.5% 4%;
    background: #2e7498;
}
.full_ponit2 .bukken_point01{
    width:100%;
    display: inline-block;
    border-bottom: solid thin #fff;
    border-right:none;
    padding:2%;
}
.full_ponit2 .bukken_point01:last-child{
    border: none;
}


.full_ponit2 .bukken_point01 .point_text01{
    color: #fff;
    text-align: center;
    line-height: 1.5;
    font-size: 80%;
    letter-spacing: 0.2rem;
    font-weight: 550;
}
.full_ponit2 .bukken_point01 .point_text02{
    color: #fff;
    text-align: center;
    line-height: 1.2;
    /*float:left;*/
    font-size: 120%;
    letter-spacing: 0.2rem;
    font-weight:600;
    display: inline-block;
    width: 68%;
}
.full_ponit2 .bukken_point01 .time00{
    display: inline-block;
    width: 30.5%;
}
    
    
    
.full_ponit2 .bukken_point01 .time{
    display: flex;
    justify-content: center;
    align-items: baseline; /* ← 下ぞろえ */
    margin: 1% 0 0 0;
}

.full_ponit2 .bukken_point01 .time .toho{
   /*position: absolute;
   right: 50%;*/ 
    width: 20%;
}
.full_ponit2 .bukken_point01 .time .toho .toho_vertical{
  /*  writing-mode: vertical-rl;
    text-orientation: upright;*/
    font-size: 90%;
    color: #fff;
    font-weight: 550;
    margin-right: 2%;
}

.full_ponit2 .bukken_point01 .time .minite{
    font-size: 150%;
    color: #fff;
    font-weight: 600;
    margin-left:2%;
    padding-left:3%;
    width: 65%;
    text-align: center;
}
.full_ponit2 .bukken_point01 .time .minite span{
    font-size: 70%;
}
.full_ponit2 .bukken_point01 .time .hun{
    font-size: 120%;
    color: #fff;
    margin: 0 0 0 1%;
    font-weight: 600;
    width: 10%;
}
  
    
    
    
    
    

}


/*-----------------------secCampaign pc----------------------*/
.homenew_post .secCampaign {
	width: 100%;
    margin:0 0 3% 0;
	padding: 3% 0 2% 0;
    background: #f9f8f8;

}
.homenew_post .secCampaign .inner {
     max-width: 1100px;
    margin:0 auto;
	
}
.booking_kyanpen {
    margin:50px auto;
}

.booking_kyanpen img{
   width:1100px;
}

.booking_kyanpen p.explan{
        font-size:75%;
        line-height:1.1;
        text-align: left;
}
.booking_kyanpen2 {
    margin:10px auto;
}

.booking_kyanpen2 img{
   width:80%;
   margin: 0 10% 0 10%;
}


.secCampaign .inner .heading05 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 150%;
	text-align: center;
    margin: 3% 0% 0% 0%;
	color: #000;
}

.secCampaign .inner .heading05::before,
.secCampaign .inner .heading05::after {
	content: '';
	width: 3px;
	height: 40px;
	background-color: #000;
}

.secCampaign .inner .heading05::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
.secCampaign .inner .heading05::after {
	margin-left: 30px;
	transform: rotate(35deg)
}


.secCampaign .inner .showroom{
    width:100%;
    margin: 2% 0 3% 0;
}
.secCampaign .inner .showroom h1{
    color:#d70035;
    font-size: 180%;
}
.secCampaign .inner .showroom .showroom_box01{
    width: 54%;
    margin: 2% 1% 3% 0;
    display: inline-block;
}

.secCampaign .inner .showroom .showroom_box02{
    width: 44%;
    margin: 2% 0 3% 0;
    display: inline-block;
}
.secCampaign .inner .showroom .showroom_text01{
    font-size: 110%;
}





/*---------------------secCampaign pc end-----------------------*/


/*---------------------secCampaign sp-----------------------*/

@media only screen and (max-width: 769px) {
 
.homenew_post .secCampaign {
	width: 100%;
	margin: auto;
	padding: 5% 0 5% 0;
}
.homenew_post .secCampaign .inner {
  flex-direction: column;
  display: flex;
  width: 96%;
  margin: 0 2% 0 2%;
}
.booking_kyanpen {
  margin:5% auto 2% auto;
}    
.booking_kyanpen img{
   width:100%;
 }
.booking_kyanpen p.explan{
   font-size:75%;
   line-height:1.1;
   text-align: left;
}    
.booking_kyanpen2 {
  margin:1% auto;
}    
.booking_kyanpen2 img{
   width:90%;
   margin: 0 5% 0 5%;
 } 

.secCampaign .inner .heading05 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 110%;
	text-align: center;
}

.secCampaign .inner .heading05::before,
.secCampaign .inner .heading05::after {
	content: '';
	width: 3px;
	height: 30px;
}

.secCampaign .inner .heading05::before {
	margin-right: 5%;
	transform: rotate(-25deg)
}
.secCampaign .inner .heading05::after {
	margin-left: 5%;
	transform: rotate(25deg)
} 

    
.secCampaign .inner .showroom{
    width:100%;
    margin: 2% 0 3% 0;
}
.secCampaign .inner .showroom h1{
    font-size: 110%;
    margin-bottom: 3%;
}
.secCampaign .inner .showroom .showroom_box01{
    width: 96%;
    margin: 2% 2% 3% 2%;
    display: inline-block;
}

.secCampaign .inner .showroom .showroom_box02{
    width: 96%;
    margin: 2% 2% 0 2%;
    display: inline-block;
}
.secCampaign .inner .showroom .showroom_text01{
    font-size: 100%;
    margin-bottom: 3%;
}    
    

    
}

/*---------------------secCampaign sp end-----------------------*/






/*-------------------------sec　全体pc--------------------------------*/

.homenew_post{
    font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif; 

}

.more{background: #008080;
          color:#ffffff;
        font-size:20px;
        text-align: center;
         width:50%;
         padding:10px 0;
         margin:30px auto;
         border: solid 1px #008080;
        transition: background 1s;

}  

.more a{
            color:#ffffff;
}


.more:hover{
    background: #ffffff;
    border: solid 1px #008080;
    color: #008080; 
}

.kome{
    font-size: 90%;
    line-height: 1.6;
    font-weight: 400!important;
    font-family: 'Noto Sans JP', sans-serif;
}

/*-------------------------sec　全体pc--------------------------------*/



/*-------------------------sec　全体sp--------------------------------*/

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

.more{
       background: #008080;
          color:#ffffff;
         width:80%;
         padding:10px 0;
         margin:0 auto}    
    
.more a{
    color:#ffffff;
}  
 
.kome{
    font-size: 70%;
    line-height: 1.5;
}

}

/*-------------------------sec　全体sp--------------------------------*/




/*-------------------------sec01タイトルpc--------------------------------*/



  .sec01 {
      /*background-color: #f9f9f9;*/ /* 背景 */
      /*color: white;*/
     /* padding: 2% 0 2% 0; /* 上下に余白 */
      position: relative;
      text-align: center;
      overflow: hidden; /* 擬似要素のはみ出し防止 */
    }
/*.sec01::after {
      content: "";
      display: block;
      width: 100%;
      height: 4px; 
      background-color: #2e7498;
      position: absolute;
      left: 0;
      bottom: 0;
    }*/
/*
    .sec01::before,
    .sec01::after {
      content: "";
      display: block;
      width: 100%;
      height: 12px; /* 白線の太さ * /
      background-color: white;
      position: absolute;
      left: 0;
    }
*/
/*
.sec01::before {
      top: 5px; /* 上から内側に少し下げる * /
    }

    .sec01::after {
      bottom: 5px; /* 下から内側に少し上げる * /
    }
*/
.homenew_post .sec01 .inner {
     max-width: 1100px;
    margin:0 auto;
	
}







    .sec01 h1.post{
      font-size:1.1em;
      position: absolute;
      font-family: 'Noto Sans JP', sans-serif;  
        top:30px;
      left: 50%;
  transform: translateX(-50%);
  width: auto;
        text-align: center;
      margin:7px auto;
    }

  .fly-in {
      width: 1100px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0.1);
      opacity: 0;
      animation: flyFromDepth 2s ease-out forwards;
    }

    @keyframes flyFromDepth {
      0% {
        transform: translate(-50%, -50%) scale(0.1);
        opacity: 0;
        filter: blur(10px);
      }
      70% {
        opacity: 1;
        filter: blur(0);
      }
      100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
      }
    }
	
	
.sec01 .heading05 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 150%;
	text-align: center;
    margin: 3% 0% 0% 0%;
	color: #000;
}

.sec01 .heading05::before,
.sec01 .heading05::after {
	content: '';
	width: 3px;
	height: 40px;
	background-color: #000;
}

.sec01 .heading05::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
.sec01 .heading05::after {
	margin-left: 30px;
	transform: rotate(35deg)
}
	
.sec01 .heading06 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 150%;
	text-align: center;
	color: #000;
}
.sec01 .heading06_img{
    width:10%;
    margin: 0 2% 0 0;
}


.top-zone03 {
    margin:2% 0;
	width: 100%;
	height: 350px;
	background: url(../img/work_img.jpg) center center repeat-x;
	background-size: auto 100%;
	position: relative;
	overflow: hidden;
	-webkit-animation: fadeAnimations 1000s linear infinite;
    -moz-animation: fadeAnimations 1000s linear infinite;
    -ms-animation: fadeAnimations 12000s linear infinite;
    animation: fadeAnimations 5000s linear infinite;
}



@-webkit-keyframes fadeAnimations {
 0% {
	 background-position:0 center;
}
 100% {
	 background-position:44400% center;
}
}

@-moz-keyframes fadeAnimations {
 0% {
	 background-position:0 center;
}
 100% {
	 background-position:44400% center;
}
}
@-ms-keyframes fadeAnimations {
 0% {
	 background-position:0 center;
}
 100% {
	 background-position:44400% center;
}
}
@keyframes fadeAnimations {
 0% {
	 background-position:0 center;
}
 100% {
	 background-position:44400% center;
}
}

.sec01 .kinringaikan{
  width: 90%;
  margin: 3% auto;
}

.sec01 .kinringaikan img{
  width: 100%;
}

.plan_top_bnr {
  /* width: 85%;  ← これを削除して下に変更 */
  width: fit-content; /* 中の画像サイズに枠をピッタリ合わせる */
  
  margin: 2% auto;    /* 中央揃えはそのまま機能します */
  --lift: 10px;
  display: block;
  padding: 0;
  background: transparent;
  line-height: 0;
  position: relative;
  border-radius: 16px;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

/* 画像が画面からはみ出さないようにする保険 */
.plan_top_bnr img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 16px; /* 角丸にする場合 */
}

/* ホバー時の動作（box-shadowを使うシンプルな方法の場合） */
.plan_top_bnr:hover,
.plan_top_bnr:focus-visible {
  transform: translate(calc(var(--lift) * -1), calc(var(--lift) * -1));
  box-shadow: var(--lift) var(--lift) 0 #000;
}
/*-------------------------sec01タイトルpc end--------------------------------*/

/*-------------------------sec01タイトルsp--------------------------------*/

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


    
.homenew_post .sec01 {
	width: 100%;
	margin: auto;
	padding: 5% 0 6% 0;
}
.homenew_post .sec01 .inner {
  flex-direction: column;
  display: flex;
  width: 96%;
  margin: 0 2% 0 2%;
}    
    
/*
    .sec01::before,
    .sec01::after {
      content: "";
      display: block;
      width: 100%;
      height: 12px; /* 白線の太さ * /
      background-color: white;
      position: absolute;
      left: 0;
    }

    .sec01::before {
      top: 5px; /* 上から内側に少し下げる * /
    }

    .sec01::after {
      bottom: 5px; /* 下から内側に少し上げる * /
    }
*/
    
    
.sec01 h1.post{
      font-size:0.9em;
      position: absolute;
      font-family: 'Noto Sans JP', sans-serif;  
        top:20px;
      left:50%;
  transform: translateX(-50%);
  width:100%;
        text-align: center;
      margin:2px auto;
    }

  .fly-in {
      width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%) scale(0.1);
      opacity: 0;
      animation: flyFromDepth 2s ease-out forwards;
    }

    @keyframes flyFromDepth {
      0% {
        transform: translate(-50%, -50%) scale(0.1);
        opacity: 0;
        filter: blur(10px);
      }
      70% {
        opacity: 1;
        filter: blur(0);
      }
      100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
      }
    }
	
	
  .top-zone03 {
	width: 100%;
	height: 200px!important;
	background: url(../img/work_img_sp.jpg) center center repeat-x;
	background-size: auto ;
	position: relative;
	overflow: hidden;
		 -webkit-animation: fadeAnimations 7000s linear infinite !important;
    -moz-animation: fadeAnimations 7000s linear infinite !important;
    -ms-animation: fadeAnimations 7000s linear infinite!important;
    animation: fadeAnimations 12000s linear infinite!important;
}



.sec01 .heading05 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 110%;
	text-align: center;
}

.sec01 .heading05::before,
.sec01 .heading05::after {
	content: '';
	width: 3px;
	height: 30px;
}

.sec01 .heading05::before {
	margin-right: 5%;
	transform: rotate(-25deg)
}
.sec01 .heading05::after {
	margin-left: 5%;
	transform: rotate(25deg)
}  

.sec01 .heading06 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 110%;
	text-align: left;
	padding: 0 1% 0 1%;
    align-items:flex-start
}
.sec01 .heading06_img{
    width:20%;
    margin: 0 2% 0 0;
}    
    
    
.sec01 .kinringaikan{
  width: 100%;
  margin: 3% auto;
}

.sec01 .kinringaikan img{
  width: 100%;
}  
	
 .nishimatsuya{
	width:100%;
	 margin: 0% auto;
} 

.nishimatsuya p{
	color:#1e1c1c;
	font-size:60%;
	line-height:1em;
	text-align:left;
}
  

}

/*-------------------------sec01タイトルsp end--------------------------------*/



/* =========================================================
   IKOIショールーム セクション（写真左・ポイント右）
========================================================= */
.ikoi_showroom_sec {
  background-color: #f7f9fa; /* うっすらグレー背景 */
  padding: 60px 0; /* 上下余白 */
  margin: 60px auto;
}

.ikoi_inner {
  max-width: 1100px; /* コンテンツ幅を少し広めに設定 */
  margin: 0 auto;
  padding: 0 20px; /* 左右の余白 */
  box-sizing: border-box;
}

/* タイトル周り */
.ikoi_title {
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #2e7498;
  line-height: 1.5;
  margin-bottom: 20px;
}
.ikoi_lead {
  text-align: center;
  font-size: 16px;
  color: #555;
  line-height: 1.8;
  margin-bottom: 50px;
}

/* --- PC layout: Flexboxで左右に配置 --- */
.ikoi_content_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start; /* 上揃え */
  gap: 40px; /* 写真とポイントの間の余白 */
  margin-bottom: 60px;
}

/* 左側：メイン写真 */
.ikoi_main_visual_side {
  width: 50%; /* 左半分 */
}
.ikoi_main_visual_side img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  display: block;
}

/* 右側：3つのメリット（縦並び） */
.ikoi_merits_side {
  width: 50%; /* 右半分 */
  display: flex;
  flex-direction: column;
  gap: 25px; /* 各ポイント間の余白 */
}
.ikoi_merit_item {
  background: #fff;
  padding: 25px;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  border-left: 5px solid #1a4f76; /* 左側にアクセントカラー */
}
.ikoi_merit_title_side {
  font-size: 18px;
  font-weight: bold;
  color: #333;
  line-height: 1.4;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.merit_num {
  color: #1a4f76;
  font-size: 14px;
  font-weight: bold;
  background: #eef4f9;
  padding: 4px 8px;
  border-radius: 4px;
  margin-right: 10px;
  display: inline-block;
}
.ikoi_merit_txt_side {
  font-size: 15px;
  color: #666;
  line-height: 1.7;
  margin: 0;
}


/* 施設情報とマップ */
.ikoi_info_area {
  display: flex;
 /* background: #fff;*/
  padding: 10px;
 /* border-radius: 12px;*/
/*  box-shadow: 0 4px 10px rgba(0,0,0,0.05);*/
  gap: 30px;
  align-items: center;
  margin-bottom: 60px;
  box-sizing: border-box;
}
.ikoi_info_txt {
  width: 40%;
}
.ikoi_info_txt h3 {
  font-size: 20px;
  margin-bottom: 15px;
  color: #333;
  border-bottom: 2px solid #eee;
  padding-bottom: 10px;
}
.ikoi_info_txt p {
  font-size: 15px;
  line-height: 1.8;
  color: #444;
  margin: 0;
}
.ikoi_info_map {
  width: 60%;
}
.ikoi_info_map iframe {
  border-radius: 8px;
  display: block;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* 予約ボタン周り */
.ikoi_btn_wrap {
  text-align: center;
}
.ikoi_btn_hint {
  font-size: 35px;
  font-weight: bold;
  color: #ec685e;
  margin-bottom: 15px;
}
.ikoi_reserve_btn {
  display: inline-block;
  transition: transform 0.3s ease;
}
.ikoi_reserve_btn img {
  max-width: 100%;
  height: auto;
}
.ikoi_reserve_btn:hover {
  transform: translateY(-5px);
}


/* =========================================================
   レスポンシブ用（スマホ・タブレット表示）
========================================================= */
@media screen and (max-width: 768px) {
  .sp_br { display: block; }
  .pc_br { display: none; }
  
  .ikoi_showroom_sec {
    padding: 20px 0;
      margin:0;
  }
  .ikoi_title {
    font-size: 15px;
    text-align: center;
  }
  .ikoi_lead {
    font-size: 14px;
    text-align: left;
  }

  /* スマホではFlexを解除して縦並びにする */
  .ikoi_content_flex {
    flex-direction: column;
    gap: 30px;
  }
  .ikoi_main_visual_side,
  .ikoi_merits_side {
    width: 100%; /* 横幅いっぱい */
  }
    
 .ikoi_merit_item {
  background: #fff;
  padding: 10px;
  border-radius: 12px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.05);
  border-left: 5px solid #1a4f76; /* 左側にアクセントカラー */
}   
    
    
    
  
  /* ポイントの見出しを少し調整 */
  .ikoi_merit_title_side {
    font-size: 14px;
  }
  .merit_num {
    margin-bottom: 5px; /* スマホでは番号の下に余白 */
  }

  /* 施設情報も縦並びに */
  .ikoi_info_area {
    flex-direction: column;
    padding: 20px;
  }
  .ikoi_info_txt, .ikoi_info_map {
    width: 100%;
  }
  .ikoi_info_map iframe {
    height: 250px; /* スマホでのマップの高さを調整 */
  }
  
  .ikoi_btn_hint {
    font-size: 13px;
  }
}

@media screen and (min-width: 769px) {
  .sp_br { display: none; }
  .pc_br { display: block; }
}



















/*-------------------------sec02コンセプトpc--------------------------------*/

.homenew_post .sec02 {
	/*background-image: url(../img/bg_foot.jpg);
	background-repeat: repeat;
	background-size: 1200px auto;  /* 横幅を100pxにし、高さは自動 */
	padding:5% 0 5% 0;
	width: 100%;
	position: relative;
    margin:0 0 5% 0;
}

.concept{
    max-width: 1200px;
    margin:5% auto 5% auto;
    background-color: #ffffff;
    position: relative;
}
 
.mov {
  display: flex;
    padding-top: 8%;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 1400px;
    position:relative;
    left:-100px;
    
  margin: 0 auto;
  height: 300px;
}

.moving-image {
  flex: 0 0 calc(33.333% - 20px);
  display: flex;
  justify-content: center;
  align-items: center;
}

.moving-image img {
  width: 100%;      /* 全画像共通：枠内にフィット */
  height: auto;
  display: block;
  animation: float 3s ease-in-out infinite;
}

/* アニメーションキー */
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}

/* 遅延と位置調整のみクラス別指定（サイズは変えない） */
.image1 img {
  animation-delay: 0s;
}

.image2 img {
  animation-delay: 0.5s;
  margin-top: 20px; /* 中央だけ下げる */
}

.image3 img {
  animation-delay: 1s;
}


.con_tit{
    margin:3% auto;
    /*position: absolute;
    left: 50%;
    transform: translateX(-50%);*/
    width: 40%;
    text-align: center;
}

.concept_text{
    width:100%;
    font-size:90%;
    margin:0 auto;
    font-family: 'Noto Sans JP', sans-serif;
    text-align: center;
    line-height: 2.5;
}  
   
.side-img{
    position: relative;

}

.concept_img1{
    position: absolute;
    top:0;
    left:5%;
    z-index:1;
    width: 22%;
}

.concept_img2{
    position: absolute;
    top:10%;
    right:0%;
    z-index:1;
    width: 16%;
}

.concept_img3{
   position: absolute;   
   top:53%;
   left:0;
   z-index:1;
    width: 16%;
}

.concept_img4{
    position: absolute;
    bottom:0;
    right:8%;
    width: 22%;
}

.concept_img5{
    position: absolute;
    top:70%;
    left:16%;
    width: 7%;
}

.concept_img6{
    position: absolute;
    top:3%;
    right:18%;
    width: 5%;
}

.concept_img7{
    position: absolute;
    bottom:32%;
    right:20%;
    width: 12%;
}




/* 上下にふわふわ漂う */
@keyframes floatY {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-12px); }
  100% { transform: translateY(0); }
}

/* PC写真だけに適用 */
.concept_img1 img,
.concept_img2 img,
.concept_img3 img,
.concept_img4 img{
  animation: floatY 6s ease-in-out infinite;
  will-change: transform;
}

/* 少しずつタイミングをズラして自然に */
.concept_img2 img{ animation-delay: .8s; }
.concept_img3 img{ animation-delay: 1.6s; }
.concept_img4 img{ animation-delay: 2.4s; }

/* 動きが苦手な人向け配慮 */
@media (prefers-reduced-motion: reduce){
.concept_img1 img,
.concept_img2 img,
.concept_img3 img,
.concept_img4 img{
    animation: none;
  }
}





/* ゆりかご揺れ（左右にゆらゆら） */
@keyframes cradleSwing {
  0%   { transform: rotate(0deg) translateX(0); }
  25%  { transform: rotate(4deg) translateX(2px); }
  50%  { transform: rotate(0deg) translateX(0); }
  75%  { transform: rotate(-4deg) translateX(-2px); }
  100% { transform: rotate(0deg) translateX(0); }
}

/* 画像自体を揺らす（img に適用） */
.ilast_absolute .concept_img5 img,
.ilast_absolute .concept_img6 img,
.ilast_absolute .concept_img7 img{
  transform-origin: 50% 10%;         /* 上の方を支点に（ゆりかご感） */
  animation: cradleSwing 3.2s ease-in-out infinite;
  will-change: transform;
}

/* それぞれ少しずつズラして自然に */
.ilast_absolute .concept_img6 img{ animation-delay: .35s; }
.ilast_absolute .concept_img7 img{ animation-delay: .7s; }

/* 苦手な人向け：動きを減らす */
@media (prefers-reduced-motion: reduce){
  .ilast_absolute .concept_img5 img,
  .ilast_absolute .concept_img6 img,
  .ilast_absolute .concept_img7 img{
    animation: none;
  }
}




/*-------------------------sec021コンセプトpc end--------------------------------*/


/*-------------------------sec02コンセプトsp --------------------------------*/
   
@media only screen and (max-width: 769px) {
.homenew_post .sec02 {
	/*background-image: url(../img/bg_foot.jpg);
	background-repeat: repeat;
	background-size: 100% auto;*/  /* 横幅を100pxにし、高さは自動 */
	margin: 0;
	padding: 40% 0 50% 0;
	width: 100%;
    position: relative; /* これを追加（背景基準） */
    overflow: hidden;   /* はみ出し防止 */
  }    
    

.concept{
    max-width: 80%;
    position: relative; /* これを追加（背景基準） */
    overflow: hidden;   /* はみ出し防止 */  
    margin:0 auto;
    /*background-color: #ffffff;*/
    padding-bottom:2%;
}
 
.mov {
    flex-direction: column;
     display: flex;
    padding-top:5%;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 100%;
    position:relative;
    left:0;   
  margin: 0 auto;
  height:auto;
  }

.moving-image {
  flex-direction: column;
  display: flex;
  justify-content: center;
  align-items: center;
}

.moving-image img {
  width: 100%;      /* 全画像共通：枠内にフィット */
  height: auto;
  display: block;
  animation: float 5s ease-in-out infinite;
}

/* アニメーションキー */
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
  100% {
    transform: translateY(0);
  }
}

/* 遅延と位置調整のみクラス別指定（サイズは変えない） */
.image1 img {
  animation-delay: 0s;
}

.image2 img {
  animation-delay: 0.5s;
  margin-top: 0; /* 中央だけ下げる */
}

.image3 img {
  animation-delay: 1s;
}


.con_tit{
    margin:5% auto;
    position: relative;
    width:98%;
     left: 50%;
  transform: translateX(-50%);
  width: auto;
        text-align: center;
}
 
.con_tit img{
    padding-top:5%;
    width:96%;
    margin:2%;} 

.concept_text{
    width:100%;
    font-size:80%;
    margin:0 auto;
    text-align: center;
    line-height: 2.5;
}  
    
   
   
.side-img{
    position: relative;

}

.concept_img1{
    position: absolute;
    top:5%;
    left:0;
    z-index:1;
    width: 45%;
}

.concept_img2{
    position: absolute;
    top:4%;
    right:0%;
    z-index:1;
    width: 30%;
}

.concept_img3{
   position: absolute;   
   top:80%;
   left:5%;
   z-index:1;
   width: 30%;
}

.concept_img4{
    position: absolute;
    bottom:0;
    right:10%;
    width: 45%;
}

.concept_img5{
    position: absolute;
    top:78%;
    left:33%;
    width: 12%;
    z-index: 5;
}

.concept_img6{
    position: absolute;
    top:9%;
    right:35%;
    width: 10%;
    z-index: 5;
}

.concept_img7{
    position: absolute;
    bottom:12%;
    right:5%;
    width: 22%;
    z-index: 5;
}

}


/*-------------------------sec02コンセプトsp end --------------------------------*/



/*-------------------------sec03ロケーション　pc--------------------------------*/

.homenew_post .sec03 {
	width: 100%;
    margin-top:0;
	padding:3% 0 3% 0;
   
}


.trigger-section {
     /* margin-top: 100vh;*/
      height: 700px;
      position: relative;
      overflow: hidden;
    }

.bg-slide {
      position: absolute;
      top: 0;
      left:0;
      height: 100%;
      width:80px;
      /*background-color: #e78999;*/
      background-image: url("../img/location_img_bg02.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: right bottom; /* ★これ */
      transition: width 3s ease;
    }

.bg-slide.active {
      width: 100%;
    }

.homenew_post .sec03 .inner {
    max-width: 1100px;
    margin:0 auto;
    position:relative;
}

.loc{
    margin:0;
}


.bg_img {
    position:absolute;
    width:80%;
    left:-15%;
    top:7%;
    z-index:99;
}
.bg_img img{
    width:100%;
    border-radius: 5%;
}


.loc_tit{
    width:45%;
    height:500px;
    position:absolute;
    right:-4%;
    margin:4% 0 0 0 ;
    padding: 0 1% 0 8%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: #000;
    background-color: #f2f8f8/*rgba(255, 255, 2555, 0.8)*/; /* 半透明の赤 */
    border-radius: 10%;
}
/*
  .loc_tit span {
    color: #e88b94; / ピンク系のリング色 /
    border: 3px solid #e88b94;
    border-radius: 50%;
    padding: 0 6px;
    display: inline-block;
  }
*/   

.hi_title{
   display: block;
   margin:18% 40% 5% 0;
   width: 60%;
}


.loc_coment{
    font-size:90%;
    line-height: 2.0;
    font-weight:300;
    text-align: left;
}

.loc_link {
  position: absolute;
  bottom:5%;
  right: 5%;
  margin-left: 30%; /* 任意で内側にマージン */
}

.button3 a {
    background: #e78999;
    border-radius: 9999px;
    font-size:100%;
    position: relative;
    display: flex;
    justify-content: center; /* 中央揃えに修正 */
    align-items: center;
    margin: auto;
    max-width: 250px;
    padding: 5px 40px 5px 25px; /* 右側に余白追加 */
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    color: #ffffff;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
}

.button3 a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5rem; /* 位置を調整 */
    transform: translateY(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transition: right 0.3s;
}

.button3 a:hover {
    background: #333;
    color: #FFF;
}

.button3 a:hover:after {
    right: 1rem; /* hover時の移動先も調整 */
}




.circle-arrow-link{
  --c: #2a86b9;          /* 通常色 */
  --c-hover:#165f87;     /* hover色 */
  --size: 110px;         /* 円のサイズ */
  --arrow-l: 140px;      /* 矢印の長さ */
  --arrow-move: 10px;    /* hover時の移動量 */

  position: relative;
  width: var(--size);
  height: var(--size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--c);
  border: 1px solid var(--c);
  border-radius: 999px;
  box-sizing: border-box;
  transition: color .25s ease, border-color .25s ease;
  margin: 15% 0 0 0;
}

/* テキスト */
.circle-arrow-link .label{
  font-size: 110%;
  letter-spacing: .08em;
  line-height: 1;
  transition: color .25s ease;
}

/* 右矢印（円の右外に伸びる） */
.circle-arrow-link .arrow{
  position: absolute;
  left: calc(50% + (var(--size) / 2) - 8px); /* 円の右端付近から開始 */
  top: 50%;
  transform: translateY(-50%);
  width: 40%/*var(--arrow-l)*/;
  height: 0;
  pointer-events: none;

  transition: transform .25s ease;
}

/* 線 */
.circle-arrow-link .arrow .line{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  background: var(--c);
  transform: translateY(-50%);
  transition: background-color .25s ease;
}

/* 矢印の先端（＞） */
.circle-arrow-link .arrow .head{
  position: absolute;
  right: 1px;
  top: 0;
  width: 14px;
  height: 14px;
  /*border-right: 3px solid var(--c);*/
  border-top: 1px solid var(--c);
  transform: translateY(-50%) rotate(45deg);
  transition: border-color .25s ease;
}

/* hover：色変化＋矢印が右へ */
.circle-arrow-link:hover{
  color: var(--c-hover);
  border-color: var(--c-hover);
}

.circle-arrow-link:hover .arrow{
  transform: translateY(-50%) translateX(var(--arrow-move));
}

.circle-arrow-link:hover .arrow .line{
  background: var(--c-hover);
}

.circle-arrow-link:hover .arrow .head{
  border-color: var(--c-hover);
}

/* キーボード操作でも同じ見え方に */
.circle-arrow-link:focus-visible{
  outline: 3px solid rgba(42,134,185,.35);
  outline-offset: 6px;
}



/*---------------------------sec03 Location　pc end---------------*/


/*--------------------------sec03Location　sp --------------------*/


@media only screen and (max-width: 769px) {
    
.homenew_post .sec03 {
	width: 100%;
	margin: auto;
	padding: 0;
	}
.homenew_post .sec03 .inner {
	flex-direction: column;
    display: flex;
    width: 100%;
    margin: 0;
}
 
    
 .trigger-section {
     /* margin-top: 100vh;*/
      height: auto;
      position: relative;
      overflow: hidden;
    }   

.loc{
    margin:0 2% 0 2%;
    width:96%;
    height: 535px;
}

.bg_img{
    width:90%;
    margin: 0 5% 2% 5%;
    position:relative;
    left:0;
    top:0;
}


.bg_img img{
    width:100%;
    padding-top:10%;
    z-index:99;
}

.loc_tit{
    width:84%;
    height:auto;
    display: inline-block;
    position: absolute;
    right:0;
    top:10%;
    margin:0%;
    padding: 0 0 0 5%;
    z-index:9;
    letter-spacing: 0.2em;
    font-size: 100%;
}
/*
  .loc_tit span {
    color: #e88b94; / ピンク系のリング色 /
    border: 3px solid #e88b94;
    border-radius: 50%;
    padding: 0 6px;
    display: inline-block;
  }
*/   

.hi_title {
   display: block;
   width:68%;
   margin:0;
   margin: 70% 0  3% 0;
}    



.loc_coment{
    font-size:80%;
    line-height: 2;
    padding: 0;
    text-align: left;
}


.loc_link {
  position: relative;
    width:60%;
 margin-top:3%;
  right:0;
  margin-left: 20%; /* 任意で内側にマージン */
}
    
    
    
    
    
.button3 a {
    font-size: 40%!important;
  
}


.homenew_post .sec05 .inner {
    max-width: 1100px;
    margin:0 auto;
    position:relative;
}




/*.button5  {
    background: #beb7ea;
    border-radius: 9999px;
    font-size: 50%!important;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    max-width: 250px;
    padding: 5px 40px 5px 25px; 
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    color: #ffffff;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
}
*/
.button3 a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5rem; /* 位置を調整 */
    transform: translateY(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transition: right 0.3s;
}

.button3 a:hover {
    background: #333;
    color: #FFF;
}

.button3 a:hover:after {
    right: 1rem; /* hover時の移動先も調整 */
}

    
    
.circle-arrow-link{
  --c: #2a86b9;          /* 通常色 */
  --c-hover:#165f87;     /* hover色 */
  --size: 90px;         /* 円のサイズ */
  --arrow-l: 140px;      /* 矢印の長さ */
  --arrow-move: 10px;    /* hover時の移動量 */

  position: relative;
  width: var(--size);
  height: var(--size);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--c);
  border: 1px solid var(--c);
  border-radius: 999px;
  box-sizing: border-box;
  transition: color .25s ease, border-color .25s ease;
  margin: -13% 0 5% 55%;
}

/* テキスト */
.circle-arrow-link .label{
  font-size: 90%;
  letter-spacing: .08em;
  line-height: 1;
  transition: color .25s ease;
}

/* 右矢印（円の右外に伸びる） */
.circle-arrow-link .arrow{
  position: absolute;
  left: calc(50% + (var(--size) / 2) - 8px); /* 円の右端付近から開始 */
  top: 50%;
  transform: translateY(-50%);
  width: 40%/*var(--arrow-l)*/;
  height: 0;
  pointer-events: none;

  transition: transform .25s ease;
}

/* 線 */
.circle-arrow-link .arrow .line{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 1px;
  background: var(--c);
  transform: translateY(-50%);
  transition: background-color .25s ease;
}

/* 矢印の先端（＞） */
.circle-arrow-link .arrow .head{
  position: absolute;
  right: 1px;
  top: 0;
  width: 14px;
  height: 14px;
  /*border-right: 3px solid var(--c);*/
  border-top: 1px solid var(--c);
  transform: translateY(-50%) rotate(45deg);
  transition: border-color .25s ease;
}

/* hover：色変化＋矢印が右へ */
.circle-arrow-link:hover{
  color: var(--c-hover);
  border-color: var(--c-hover);
}

.circle-arrow-link:hover .arrow{
  transform: translateY(-50%) translateX(var(--arrow-move));
}

.circle-arrow-link:hover .arrow .line{
  background: var(--c-hover);
}

.circle-arrow-link:hover .arrow .head{
  border-color: var(--c-hover);
}

/* キーボード操作でも同じ見え方に */
.circle-arrow-link:focus-visible{
  outline: 3px solid rgba(42,134,185,.35);
  outline-offset: 6px;
}    
    
  
    
.location_english{
    position: absolute;
    width: 10%;
    bottom:3%;
    left:3%;
    opacity: 0;/*初期状態 */
    transform: translateY(-50px);/*初期状態 */
    transition:  opacity 1.8s cubic-bezier(0.25, 0.1, 0.25, 1),transform 1.8s cubic-bezier(0.25, 0.1, 0.25, 1);/*初期状態 */
}    
/* 表示されたら */
.location_english.is-active{
  opacity: 1;
  transform: translateY(0);
}

}


/*--------------------------sec03Location　sp end --------------------*/





/*------------------------sec04 landplan pc--------------------------------*/

.homenew_post .sec04 {
	width: 100%;
    margin-top:0;
    padding: 3% 0 3% 0;
}


.trigger-section02 {
  height: 700px;
  position: relative;
  overflow: hidden;
}

.bg-slide02 {
  position: absolute;
  top: 0;
  right: 0; /* ←ここをleftからrightに */
  height: 100%;
  width: 80px;
  /*background-color: #e5be80;*/
  background-image: url("../img/landplan_img_bg02.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: left bottom; /* ★これ */     
  transition: width 3s ease;
}

.bg-slide02.active{
  width: 100%;
}

.homenew_post .sec04 .inner {
    max-width: 1100px;
    margin:0 auto;
    position:relative;
}

.land{
    margin:0;
}





.bg_img02{
    width:65%;
    
}


.bg_img02 img{
    position: absolute;
    width:80%;         /* 少し縮小 */
    right:-15%;           /* 右端に揃える */
    top: 7%;             /* 上端に揃える */
    z-index: 99;
}

.land_tit{
    width:45%;
    height:500px;
    position: absolute;
    left:-4%;
    margin:4% 0 0 0;
    padding: 0 1% 0 8%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: #000;
    background-color: #f2f8f8/*rgba(255, 255, 2555, 0.8)*/; /* 半透明の赤 */
    border-radius: 10%;
}
/*
  .land_tit span {
    color: #e88b94; /* ピンク系のリング色 /
    border: 3px solid #e88b94;
    border-radius: 50%;
    padding: 0 6px;
    display: inline-block;
  }
*/   

/*.la_title img{
   display: block;
  margin:0;
 padding-top:15%;
padding-left:5%;
}*/

.la_title{
   display: block;
   margin:18% 40% 5% 0;
   width: 68%;
}


.land_coment{
    font-size:90%;
    line-height: 2.0;
    font-weight:300;
    text-align: left;
}

.land_link {
  position: absolute;
  bottom:5%;
  right: 5%;
  margin-left: 30%; /* 任意で内側にマージン */
}

.button4 a {
    background: #e5be80;
    border-radius: 9999px;
    font-size: 50%!important;
    position: relative;
    display: flex;
    justify-content: center; /* 中央揃えに修正 */
    align-items: center;
    margin: auto;
    max-width: 250px;
    padding: 5px 40px 5px 25px; /* 右側に余白追加 */
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    color: #ffffff;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
}

.button4 a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5rem; /* 位置を調整 */
    transform: translateY(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transition: right 0.3s;
}

.button4 a:hover {
    background: #333;
    color: #FFF;
}

.button4 a:hover:after {
    right: 1rem; /* hover時の移動先も調整 */
}



/*---------------------sec04 MAP pc end--------------------------------*/



/*------------------------sec04 MAP sp--------------------------------*/
@media only screen and (max-width: 769px) {
.homenew_post .sec04 {
	width: 100%;
	margin: auto;
	padding: 0;
	}
    
.homenew_post .sec04 .inner {
	flex-direction: column;
    display: flex;
    width: 100%;
    margin: 0;
}
    
.trigger-section02 {
  height:auto;
  position: relative;
  overflow: hidden;
}
    
.land{
    margin:0 2% 0 2%;
    width:96%;
    height: 535px;
}    
    
   
.bg_img02{
    width:90%;
    margin: 0 5% 2% 5%;
    position:relative;

}

.bg_img02 img{
    width:100%;
    padding-top:10%;
    z-index:99;
    position:relative;
    left:0;
    top:0;
} 
    
    
    
    
.land_tit{
    width:84%;
    height:auto;
    display: inline-block;
    position: absolute;
    right:0;
    top:10%;
    margin:0%;
    padding: 0 0 0 5%;
    z-index:9;
    letter-spacing: 0.2em;
    font-size: 100%;
}



.la_title{
   display: block;
   width:68%;
   margin: 70% 0  3% 0;
}


.land_coment{
    font-size:80%;
    line-height: 2;
    padding: 0;
    text-align: left;
}

.land_link {
  position: relative;
  width:60%;
  margin-top:3%;
  right:0;
  margin-left: 20%; /* 任意で内側にマージン */
}
    
 
    
.button4 a {
      font-size: 40%!important;
}


    
.landplan_english{
    position: absolute;
    width: 10%;
    bottom:3%;
    right:3%;
    opacity: 0;/*初期状態 */
    transform: translateY(-50px);/*初期状態 */
    transition:  opacity 1.8s cubic-bezier(0.25, 0.1, 0.25, 1),transform 1.8s cubic-bezier(0.25, 0.1, 0.25, 1);/*初期状態 */
}    
/* 表示されたら */
 .landplan_english.is-active{
  opacity: 1;
  transform: translateY(0);
}
   
    

}
/*---------------------sec04 LANDPLAN sp end--------------------------------*/



    
/*---------------------sec05 PLAN　pc----------------------------------*/

.homenew_post .sec05 {
	width: 100%;
    margin-top:0;
    padding:3% 0 3% 0;
}

.trigger-section03 {
     /* margin-top: 100vh;*/
      height: 700px;
      position: relative;
      overflow: hidden;
    }

.bg-slide03 {
      position: absolute;
      top: 0;
      left:0;
      height: 100%;
      width:80px;
      background-image: url("../img/plan_img_bg02.png");
      background-size: cover;
      background-repeat: no-repeat;
      background-position: right bottom; /* ★これ */
      transition: width 3s ease;
    }

.bg-slide03.active {
      width: 100%;
    }




.homenew_post .sec05 .inner {
    max-width: 1100px;
    margin:0 auto;
    position:relative;
}

.plan{
    margin:0;
}

.bg_img03 {
    position:absolute;
    width:80%;
    left:-15%;
    top:7%;
    z-index:99;
}
.bg_img03 img{
    width:100%;
    border-radius: 5%;
}

.plan_tit{
    width:45%;
    height:500px;
    position:absolute;
    right:-4%;
    margin:4% 0 0 0;
    padding: 0 1% 0 8%;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: #000;
    background-color: #f2f8f8/*rgba(255, 255, 2555, 0.8)*/; /* 半透明の赤 */
    border-radius: 10%;
}
/*
  .plan_tit span {
    color: #e88b94; / ピンク系のリング色 /
    border: 3px solid #e88b94;
    border-radius: 50%;
    padding: 0 6px;
    display: inline-block;
  }
 */  

.pl_title{
   display: block;
   margin:18% 40% 5% 0;
   width: 60%;
}


.plan_coment{
    font-size:90%;
    line-height: 2.0;
    font-weight:300;
    text-align: left;
}

.plan_link {
  position: absolute;
  bottom:5%;
  right: 5%;
  margin-left: 30%; /* 任意で内側にマージン */
}

.button5 a{
    background: #beb7ea;
    border-radius: 9999px;
    font-size: 50%!important;
    position: relative;
    display: flex;
    justify-content: center; /* 中央揃えに修正 */
    align-items: center;
    margin: auto;
    max-width: 250px;
    padding: 5px 40px 5px 25px; /* 右側に余白追加 */
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    color: #ffffff;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
}

.button5 a:after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5rem; /* 位置を調整 */
    transform: translateY(-50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transition: right 0.3s;
}

.button5 a:hover {
    background: #333;
    color: #FFF;
}

.button5 a:hover:after {
    right: 1rem; /* hover時の移動先も調整 */
}

/*---------------------sec05 概要　pc end----------------------------------*/


/*---------------------sec05 概要　sp----------------------------------*/

@media only screen and (max-width: 769px) {
    
.homenew_post .sec05 {
	width: 100%;
	margin:0 auto 10% 0;
	padding:0;
    
	}
    
.homenew_post .sec05 .inner {
	flex-direction: column;
    display: flex;
    width: 100%;
    margin: 0;
}    
    
.trigger-section03 {
  height:auto;
  position: relative;
  overflow: hidden;
}
   
.plan{
    margin:0 2% 0 2%;
    width:96%;
    height: 560px;
}
    
    
.bg_img03{
    width:90%;
    margin: 0 5% 2% 5%;
    position:relative;
    left:0;
    top:0;
}


.bg_img03 img{
    width:100%;
    padding-top:10%;
    z-index:99;
}   
    
.plan_tit{
    width:84%;
    height:auto;
    display: inline-block;
    position: absolute;
    right:0;
    top:10%;
    margin:0%;
    padding: 0 0 0 5%;
    z-index:9;
    letter-spacing: 0.2em;
    font-size: 100%;
}



.pl_title {
   display: block;
   width:68%;
   margin:0;
   margin: 70% 0  3% 0;
}


.plan_coment{
    font-size:80%;
    line-height: 2;
    padding: 0;
    text-align: left;
}

.plan_link {
  position: relative;
    width:60%;
 margin-top:3%;
  right:0;
  margin-left: 20%; /* 任意で内側にマージン */
}
    

.button5 a {
      font-size: 40%!important;
}
  

    
.planning_english{
    position: absolute;
    width: 10%;
    bottom:3%;
    left:3%;
    opacity: 0;/*初期状態 */
    transform: translateY(-50px);/*初期状態 */
    transition:  opacity 1.8s cubic-bezier(0.25, 0.1, 0.25, 1),transform 1.8s cubic-bezier(0.25, 0.1, 0.25, 1);/*初期状態 */
}    
/* 表示されたら */
.planning_english.is-active{
  opacity: 1;
  transform: translateY(0);
}    
    
    

}

/*---------------------sec05 概要　sp end----------------------------------*/    


/*-------------------sec_out 概要　pc----------------------------*/


.sec_out {
  position: relative;
  /* 他のスタイル */
}


.homenew_post .sec_out .bg01{
    background:#EDEEEE;
    width:100%;
    padding:5% 0 5% 0;
}



.sec_out::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 50px;
  background-color: #000; /* 必要に応じてカラー変更 */
  z-index: 10;
}



.homenew_post .sec_out .inner {
    max-width: 1100px;
    margin:0 auto;
    /*display: flex;*/
	align-items: center;
	flex-flow: row-reverse;
}

.heading{
    text-align: center;
    margin:0 auto;
    padding-top:7%;
}

.kana{
    text-align: center;
    font-size:90%;
}



.homenew_post .sec_out .inner .outline_01 p{
    font-size: 110%;
    line-height: 1.5;
    margin-bottom: 1%;
    padding-top:10%;
     font-family: 'Noto Sans JP', sans-serif;
}

.homenew_post .sec_out .inner .outline_list{
    width: 100%;
    margin-bottom: 3%;
    border-collapse: separate;
    border-spacing: 0px 5px;
     font-family: 'Noto Sans JP', sans-serif;
}

.homenew_post .sec_out .inner .outline_list th{
    width: 25%;
    padding: 0.5% 0 0.5% 0;
    background: #e4eeee;
    font-size: 100%;
    text-align: center;
    font-weight: 400!important;
    vertical-align: ="middle";
}
.homenew_post .sec_out .inner .outline_list td{
    width: 75%;
    padding: 0.5% 0 0.5% 1%;
    background: #F9F9F9;
    font-size: 100%;
    text-align: left;
    vertical-align: ="middle";
}



/*-----------------sec_out 概要　pc-------------------------------------*/

/*---------------------sec_out 概要　sp-----------------------*/

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

.sec_out {
  position: relative;
  /* 他のスタイル */
}


.homenew_post .sec_out .bg01{
    background:#EDEEEE;
    width:100%;
    padding:5% 0 5% 0;
}



.sec_out::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 30px;
  background-color: #000; /* 必要に応じてカラー変更 */
  z-index: 10;
}



.homenew_post .sec_out .inner {
    max-width: 96%;
    margin:0 auto;
    /*display: flex;*/
	align-items: center;
	flex-flow: row-reverse;
}

.heading{
    text-align: center;
    margin:0 auto;
    padding-top:7%;
}

.kana{
    text-align: center;
    font-size:90%;
}



.homenew_post .sec_out .inner .outline_01 p{
    font-size:80%;
   
}

.homenew_post .sec_out .inner .outline_list{
    width: 100%;
    margin-bottom: 3%;
    border-collapse: separate;
    border-spacing: 0px 5px;
     font-family: 'Noto Sans JP', sans-serif;
}
    
 .homenew_post .sec_out .inner .outline_list{
  /*  display: block;*/
    
  }

 .homenew_post .sec_out .inner .outline_list tr {
    display: block;
    width: 100%;
    margin-bottom:0;
     font-size:80%;
  }

 .homenew_post .sec_out .inner .outline_list th,
 .homenew_post .sec_out .inner .outline_list td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 8px;
  }

 .homenew_post .sec_out .inner .outline_list th {
   display: block;
    width: 100%; 
    text-align: left;
    font-weight: bold;
  }

 .homenew_post .sec_out .inner .outline_list td {
    display: block;
    width: 100%;  
    text-align: left;
  }



}

/*---------------------sec06 近隣物件 pc----------------------------------*/   

.homenew_post .sec06 {
	width: 100%;
    margin-top:0;
}

.homenew_post .sec06 .bg01{
    /*background-image:url(../img/bg_kinrin.png);*/
    width:100%;
    padding:5% 0 5% 0;
    background-repeat: repeat;
    background-size: cover;
}


.homenew_post .sec06 .inner {
    max-width: 1100px;
    margin:0 auto;
    /*display: flex;
	align-items: center;
	flex-flow: row-reverse;*/
}
    
.homenew_post .sec06 .inner h1{
        font-size:150%;
        line-height:2;
        text-align:center;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        background:#2e7498;
        background-repeat: no-repeat;
        background-size: cover;
        margin-bottom: 2%;
        padding-bottom: 0.5%;
 }



   
    
    
.picup_list {
    overflow: hidden;
    width:100%;
}
.picup_list .list_in{
     position: relative;
	width:45%;
    margin:3% 2% 3% 2%;
    float:left;
    background: #fff;
    box-shadow: 0 5px 25px 0 rgba(0, 0, 0, .5);
    display: inline-block;
}

.picup_list .list_in h4{
	display: inline-block;
    width: 155px;
    border: 1px solid #000;
    border-radius: 50px;
    background: #fff;
    font-size: 14px;
    letter-spacing: 0;
    font-weight: bold;
    text-align: center;
    padding: 4px 7px;
    line-height: 20px;
    margin: 0 5px 5px 0;
    position:absolute;
    top:220px;
    left:10px;
    z-index:99;
}



.picup_txt01::after{display: none;}
.picup_txt01{
	font-size: 100%;
    width: 100%;
    text-align: center;
    line-height: 1.4;
    color:#000;
    margin: 2% 0 2% 0;
    font-weight: 700;
}
.picup_txt01 span{
	font-size: 130%;
}    
 
       
.picup_txt02{
   font-size: 100%;  
   width: 100%;
    clear:both;
}

.picup_list .bukken{
    width:80%;
    margin: 1% 10% 1% 10%;
    border-top:solid thin gray;
    border-bottom:solid thin gray;
    padding:3% 0 3% 0;
    
}
.picup_list dt {
    width:26%;
    font-size:100%;
    float:left;
    text-align: center;
    color:#116F8B;
}
    
.picup_list dd {
    width:73%;
    font-size:100%;  
    float:left;
}  
    

.picup_btn01{margin-bottom: 0px;}
.picup_btn01 a{
	display: block;
	text-align: center;
    color: #ffffff;
    border: 1px solid #000000;
    background: #000000;
	font-size: 100%;
	font-weight: bold;
	padding: 6px 3px;
	position: relative;
	transition: 0.4s;
	-webkit-transition: 0.4s;
	-moz-transition: 0.4s;
	-ms-transition: 0.4s;
}
.picup_btn01 a:hover{
	color: #000000;
	background: #ffffff;
}
.picup_btn01 a:hover:after{
    border-top: solid 2px #000000;
    border-right: solid 2px #000000;
}
.picup_btn01 a:after{
	content: "　";
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
    width: 9px;
    height: 9px;
    border: 0px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
}

/*------------------------sec06 近隣物件　pc end--------------------*/

/*---------------------sec06 近隣物件　sp-----------------------*/

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


.homenew_post .sec06 {
	width: 100%;
	margin: auto;
	padding: 2% 0 2% 0;
	}

.homenew_post .sec06 .bg01{
    width:100%;
    padding:5% 0 5% 0;
    background-repeat: repeat;
    background-size: cover;
}    
    
.homenew_post .sec06 .inner {
	flex-direction: column;
    display: flex;
    width: 96%;
    margin: 0 2% 0 2%;
}

    
.homenew_post .sec06 .inner h1{
        font-size:110%;
        line-height:2;
        text-align:center;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 2%;
 }
.homenew_post .sec06 .inner h1:before,h1:after {
  border-top: 0;
  content: "";
  width:0; /* 線の長さ */
}
.homenew_post .sec06 .inner h1:before {
  margin-right: 0.5em; /* 文字の右隣 */
}
.homenew_post .sec06 .inner h1:after {
  margin-left: 0.5em; /* 文字の左隣 */
}

.picup_list .list_in h4{
    position:absolute;
    top:130px;
    left:10px;
    z-index:99;
}
    
    
    
    
.picup_list {
    overflow: hidden;
    width:100%;
}
.picup_list .list_in{
	float: left;
	width: 90%;
    margin:1% 5% 5% 5%;
    display: inline-block;
}



.picup_txt01::after{display: none;}
.picup_txt01{
	font-size: 90%;
	margin-top: 0;
    width: 100%;
    float: none;
}
    
.picup_txt01 span{
	font-size: 120%;
    width: 100%;
}    
       
.picup_txt02{
    font-size: 90%;  
    width: 100%;
}

    
.picup_list .bukken{
    width:94%;
    margin: 1% 3% 1% 3%;
    border-top:solid thin gray;
    border-bottom:solid thin gray;
    padding:3% 0 3% 0;
    
}    
    

    
.picup_list dt {
        width:26%;
        font-size:80%;
        float:left;
    }
    
   
    
.picup_list dd {
        width:73%;
        font-size:80%;  
        float:left;
    }  
      
       
  
    
    
.picup_btn01 {
    clear: both;
    font-size: 100%;
    width:100%;
    margin:1% 0 0 0;
}
right_clm.picup_btn01{margin-bottom: 10px;}
right_clm .picup_btn01 a{
	display: block;
	text-align: center;
	font-size: 100%;
	font-weight: bold;
	padding: 6px 3px;
	position: relative;
	transition: 0.4s;
	-webkit-transition: 0.4s;
	-moz-transition: 0.4s;
	-ms-transition: 0.4s;
}
right_clm.picup_btn01 a:hover{
	color: #fff;
	background: #000000;
}
.picup_list li .picup_btn01 a:hover:after{
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
}
.picup_list li .picup_btn01 a:after{
	content: "　";
	position: absolute;
	top: 0;
	right: 10px;
	bottom: 0;
	margin: auto;
    width: 9px;
    height: 9px;
    border: 0px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
}
    
}

/*---------------------sec06 近隣物件　sp end-----------------------*/







/*--------------------sec07 問い合わせ　pc ------------------------*/
.homenew_post .sec07{
      width:1100px;
       margin:5% auto;
}
    

.twin{
    width:48%;
    display: inline-block;
    margin:0 auto;
    padding:1.5%;

}


.twin1{
    width:50%;
    display: inline-block;
    margin:0 auto;
    padding: 0 0 1.5% 0;

}




.btn,
a.btn,
button.btn {
 width:98%;
  font-size: 1rem;
   font-family: 'Noto Sans JP', sans-serif;  
  font-weight: 700;
  line-height:1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 2rem;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
   margin:1% 0 2% 0; 
}



.btn-wrap {
  margin: 0 20px 0; 
   
}

a.btn-c {
  font-size: 28px;
 width:100%;
  font-family: 'Noto Sans JP', sans-serif;   
  position: relative;
  padding: 0.25rem 2rem 0.5rem 3.5rem;
  color: #ffffff;
  background-color: #e8595d;

}


a.btn-c1 {
  font-size: 28px;
 width:60%;
  font-family: 'Noto Sans JP', sans-serif;   
  position: relative;
  padding: 0.25rem 2rem 0.5rem 2rem;
  color: #ffffff;
  background-color: #e8595d;

}


a.btn-c span  {
  font-size: 15px;
}

a.btn-c i {
  margin-right: 1rem;
    width:100%;
}



a.btn-c:hover {
  /*-webkit-transform: translate(0, 3px);
  transform: translate(0, 3px);*/
  color:#404040;
  background: #f0f0f0;
   -webkit-box-shadow: 0 2px 0 #e0e0e0;
  box-shadow: 0 2px 0 #e0e0e0;
}

 .hover-arrow {
      display: inline-flex;
      align-items: center;
      gap: 0.6em;
      font-size: 1.2rem;
      cursor: pointer;
    }

    .circle-arrow {
      width:2em;
      height: 2em;
      border: 2px solid #ffffff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s ease;
      font-size: 1.2em;
    }


a.btn-c:hover .circle-arrow {
      transform: translateX(5px);
    border-color: #404040;   
    
    }



a.btn-d {
 font-size: 28px;
 width:100%;
   padding: 0.25rem 2rem 0.5rem 3.5rem;
  color: #fff;
background-color: #004d99;

}


a.btn-d span  {
  font-size: 15px;
}



a.btn-d i {
  margin-right: 1rem;
  width:100%  
}

a.btn-d:hover {
  color: #fff;
  background: #000000;
  -webkit-box-shadow: 0 2px 0 #001e43;
  box-shadow: 0 2px 0 #001e43;
}


 .hover-arrow-d {
      display: inline-flex;
      align-items: center;
      gap: 0.6em;
      font-size: 1.2rem;
      cursor: pointer;
    }

    .circle-arrow-d {
      width:2em;
      height: 2em;
      border: 2px solid #ffffff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s ease;
      font-size: 1.2em;
    }


a.btn-d:hover .circle-arrow-d {
      transform: translateX(5px); 
    
    }










/*-----------------sec07 問い合わせ　pc end ------------------------*/


/*---------------------sec07 問い合わせ　sp-----------------------*/

@media only screen and (max-width: 769px) {
	
.homenew_post .sec07{
      width:100%;
       margin:7% auto;
}

  .twin{
    width:96%;
    margin:0 auto;
    padding:0 2%;

}  

  .twin1{
    width:96%;
    margin:0 auto;
    padding:0 2%;

}  
    
   
 .btn,
a.btn,
button.btn {
 width:98%;
  font-size: 0.7rem;
}



.btn-wrap {
  margin: 5px 0; 
   
}

a.btn-c {
  font-size: 20px;

}

a.btn-c span  {
  font-size: 13px;
}



a.btn-d {
 font-size: 20px;
}


a.btn-d span  {
  font-size: 13px;
}

	
}
	
	
/*-----------------sec07 問い合わせ　sp end ------------------------*/	


/*------------------------loc01 location pc--------------------------------*/

.loc01 {
	width: 100%;
    margin-top:0;
}


.loc01 .inner {
    max-width: 1100px;
    margin:0 auto;
  
}
.loc01 .inner .loc_txt{
   font-size: 150%;
    font-weight: 700;
   text-align: center;
    margin:2% auto;
   color:#000;
}

.loc_point{
    width:100%;
    margin-top:5%;
}

.loc_left{
    width:47%;
    display: inline-block;
    vertical-align: top;
    margin:2% 1%;
}

.loc_right{
    width:47%;
    display: inline-block;
    vertical-align: top;
    margin:4% 1% 0 1%;
    
}

.loc_right p{
    line-height: 2.5;
    padding-top: 3%;
}




.loc_point2{
    width:100%;
    margin-top:5%;
    display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
    
}

.loc_left2{
    width:47%;
    display: block;
    vertical-align: top;
      margin:8% 1% 0 0;
   
}

.loc_left2 h1{
    font-size:150%;
    font-weight: 600;
    line-height: 2.0;
}

.loc_left2 p{
   line-height: 2.5;
    padding-top: 3%;
}





.loc_right2{
   width: 48%; /* 調整可 */
  box-sizing: border-box;
    display:inline-block;
    vertical-align: top;
    margin:2% 0 2% 2%;
    
}


.loc03 {
	flex: 1;
	padding:0;
     font-family: 'Noto Sans JP', sans-serif; 
}

.loc03 dl {
    width:32%;

    margin:1% 0.5% 2% 0.5%;
    display:inline-block;
     font-family: 'Noto Sans JP', sans-serif; 
}

.loc03 dt {
    width:100%;
    font-weight: 500;
     font-family: 'Noto Sans JP', sans-serif; 
}
.loc03 dd {
    width:98%;
    font-size:90%; 
    padding:1%;
    text-align: center;
    line-height: 1.5;
    font-weight: 500;
     font-family: 'Noto Sans JP', sans-serif; 
}




/*---------------------loc01 location pc end--------------------------------*/



/*------------------------loc01 location sp--------------------------------*/
@media only screen and (max-width: 769px) {
    


.loc01 .inner {
    max-width: 100%;
    margin:0 auto;
  
}
.loc01 .inner .loc_txt{
   font-size: 130%;
   text-align: center;
    margin:5% auto;
   color:#000;
}

/*.loc_point{
    width:100%;
    margin-top:5%;
}*/

.loc_left{
    width:100%;
  /*  display: inline-block;
    vertical-align: top;*/
    margin:2% 0;
}

.loc_right{
  width:100%;
    display: inline-block;
    vertical-align: top;
    margin:4% 0 0 0;
    
}

.loc_right p{
    line-height: 2.5;
    font-size:95%;
    padding-top: 3%;
    padding-left:1%;
}




.loc_point2{
    width:100%;
    margin-top:5%;
}

.loc_left2{
    width:100%;
   /* display: inline-block;
    vertical-align: top;*/
      margin:8% 0 0 0;
   
}

.loc_left2 h1{
    font-size:150%;
    font-weight: 600;
    line-height: 2.0;
    text-align: center;
}

.loc_left2 p{
    font-size:95%;
   line-height: 2.5;
    padding: 3% 1% 0 1%;
}

.loc_right2{
    width:100%;
    margin:2% 0;
    
}


.loc03 {
	flex: 1;
	padding:0;
     font-family: 'Noto Sans JP', sans-serif; 
}

.loc03 dl {
    width:90%;
    margin:1% 5% 2% 5%;
   
}

.loc03 dt {
    width:100%;
    font-weight: 500;
     font-family: 'Noto Sans JP', sans-serif; 
}
.loc03 dd {
    width:98%;
    font-size:90%; 
    padding:1%;
    text-align: center;
    line-height: 1.5;
    font-weight: 500;
     font-family: 'Noto Sans JP', sans-serif; 
}


 
}
/*---------------------loc01 location sp end--------------------------------*/


/*------------------------map01 map pc--------------------------------*/

.map01 {
	width: 100%;
    margin:5% auto;
    background: #e78999;
    padding:2% 0;
}

.map01 .inner {
    max-width: 1100px;
    margin:0 auto;
  
}
.map_title{
   font-size: 230%;
    font-weight: 500;
   text-align: center;
    margin:2% auto;
   color:#ffffff;
    position: relative;
}


.map_title span{
   font-size: 40%;
}


.map_title::before {
  content: "";
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 50px;
  background-color: #ffffff; /* 必要に応じてカラー変更 */
  z-index: 10;
}


/*------------------------map01 map pc end--------------------------------*/



/*------------------------map01 map sp--------------------------------*/
@media only screen and (max-width: 769px) {

.map01{
   margin-bottom: 10%;     
    }
.map01 .inner {
    max-width:100%;
    margin:0 auto; 
    padding-bottom: 5%;
}

.map_title{
   font-size: 200%;
    font-weight: 500;
   text-align: center;
    margin:5% auto;
   color:#ffffff;
    position: relative;
}


.map_title::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 30px;
  background-color: #ffffff; /* 必要に応じてカラー変更 */
  z-index: 10;
}    
    
    
}

/*------------------------loc03 detail pc--------------------------------*/

.loc03 {
	width: 100%;
    margin:5% auto;
    padding:2% 0;
}

.loc03 .inner {
    max-width: 1100px;
    margin:0 auto;
  
}

#links01 li{
    width:47%;
    margin:1.4%;
    display: inline-block;
    font-size:100%;
    text-align: center;
}

#links03 li.loc_detail{
    width:90%;
    margin: 2% 0% 2% 10%;
    display: inline-block;
    font-size:100%;
    text-align: center;
    padding:0;
 
}

#links03 li.loc_detail h4{
   width:80%;
   background: #e78999;
   border-radius: 10px;
    color:#ffffff;
 float: left;
    font-family: 'Noto Sans JP', sans-serif;
    font-size:110%;
    padding:1.45% 3%;
    text-align: left;
    margin-top:1%;
    margin-bottom: 2%;
    line-height: 1.0;
    position: relative;
}

#links03 li.loc_detail h4 .sub{
    position: absolute;
    font-size: 90%;
    top: 30%;
    right:3%;
    }

#links03 li.loc_detail h5{
   width:80%;
   background: #e78999;
   border-radius: 10px;
    color:#ffffff;
 float: left;
    font-family: 'Noto Sans JP', sans-serif;
    font-size:110%;
    padding:1.5% 3%;
    text-align: left;
    margin-top:1%;
    margin-bottom: 2%;
    line-height: 1.0;
    position: relative;
}

#links03 li.loc_detail h5 .sub{
    position: absolute;
    font-size: 90%;
    top: 30%;
    right:3%;
    }

.detail_text{
    width:80%;
    text-align: left;
    margin-left:8%;
}
.caption{
    width:50px;
    float: left;
    margin-top:0.6%;
    margin-right:1%;
}
.caption img{
    width:100%;
}


#links03 li.loc_detail dl{
    width:96%;
    display:inline-block;
    vertical-align: top;

}

#links03 li.loc_detail dt{
    width:56%;
    display: flex;
    text-align: left;
    font-size:100%;
    padding-left: 5%;
    float:left;
    	align-items: center;
}

#links03 li.loc_detail dt:after {
	content: "";
	flex-grow: 1;
	height: 1px;
    border-top: 1px dotted #444;
		display: block;
    margin-left: .3em;
}

#links03 li.loc_detail dd{
    width:42%;
    display: inline-block;
    text-align: left;
    font-size:100%;
    line-height: 0.8;
	align-items: center;
}

#links03 li.loc_detail dt::before {
    content: "●";
    
}



/*------------------------loc03 end pc--------------------------------*/

/*------------------------loc03 sp--------------------------------*/
@media only screen and (max-width: 769px) {

/*.loc03 {
	width: 100%;
    margin:5% auto;
    padding:2% 0;
}*/

.loc03 .inner {
    max-width: 100%;
    margin:0 auto;
  
}



#links03 li.loc_detail{
    width:100%;
    margin: 2% 0% 2% 0;
    display: inline-block;
    font-size:90%;
    text-align: left;
    padding:0;
 
}

#links03 li.loc_detail h4{
   width:84%;
   background: #e78999;
   border-radius: 10px;
    font-size:110%;
    padding:3% 3%;
    text-align: left;
    margin-top:1%;
    margin-bottom: 2%;
    line-height: 1.0;
    position: relative;
}



#links03 li.loc_detail h5{
   width:84%;
   background: #e78999;
   border-radius: 10px;
    font-size:110%;
    padding:3% 3%;
    text-align: left;
    margin-top:1%;
    margin-bottom: 2%;
    line-height: 1.0;
    position: relative;
}



.detail_text{
    width:90%;
    text-align: left;
    margin-left:4%;
    font-size:90%;
}
.caption{
    width:50px;
    float: left;
    margin-top:0.6%;
    margin-right:0;
    margin-left:1%;
}
.caption img{
    width:75%;
}


#links03 li.loc_detail dl{
    width:100%;
    display:inline-block;
    vertical-align: top;
    margin:0;
    padding:0;

}

#links03 li.loc_detail dt{
    width:59%;
    display: flex;
    text-align: left;
    font-size:95%;
    padding-left:6%;
    float:left;
    	align-items: center;
}

#links03 li.loc_detail dt:after {
	content: "";
	flex-grow: 1;
	height: 1px;
    border-top: 1px dotted #444;
		display: block;
    margin-left: .3em;
}

#links03 li.loc_detail dd{
    width:40%;
    display: inline-block;
    text-align: left;
    font-size:95%;
    line-height: 1.5;
	align-items: center;
}

#links03 li.loc_detail dt::before {
    content: "";
    
}


}

/*------------------------land  pc--------------------------------*/



.land01 {
	width: 100%;
    margin-top:0;
    margin-bottom:10%;
    position: relative;
}

@keyframes rotateSwing {
  0%   { transform: rotate(0deg); }
  25%  { transform: rotate(5deg); }
  50%  { transform: rotate(0deg); }
  75%  { transform: rotate(-5deg); }
  100% { transform: rotate(0deg); }
}


.illust {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; /* ユーザー操作を透過 */
}

.illust img {
  position: absolute;
  width:130px; /* 必要に応じてサイズ調整 */
  height: auto;
  animation: rotateSwing 3s ease-in-out infinite;
  transform-origin: center center; /* 回転の中心 */  
}

.illust img:nth-child(1) {
  top:150px;
  left: 150px;
     animation-delay: 0s; 
}

.illust img:nth-child(2) {
  top: 350px;
  right: 140px;
    animation-delay:0.6s;  
}

.illust img:nth-child(3) {
  bottom: 400px;
  left: 170px;
  animation-delay:0.6s;    
}

.illust img:nth-child(4) {
  bottom:450px;
  right: 130px;
  animation-delay:0.9s;    
    
}


.land01 .inner {
    max-width: 1100px;
    margin:0 auto;
  
}
.land01 .inner .land_txt{
   font-size: 150%;
    font-weight: 700;
   text-align: center;
    margin:2% auto;
   color:#000;
}



.land_point{
    width:100%;
    display: flex;
    justify-content: center; /* 中央揃え */
    flex-wrap: wrap;         /* 折り返し可能に */
    gap: 35px;               /* 要素間の間隔（任意） */
    padding: 0;
    margin: 0;
    list-style: none;        /* liの点を消す */
    
    
}


.land_point li{
     display: inline-block;
    border: 4px solid #e5be80;
    border-radius: 13px;
    font-size: 165%;
    font-weight: 600;
    text-align: center;
    padding: 8px 50px;        /* 左右5px、上下20px */
    white-space: nowrap;     /* 改行させず1行で表示 */
}


.land_point li span{
    font-size:140%;
}


.land02{
 	width: 100%;
    background: #e5be80;
    margin-top:1%;
    margin-bottom:1%;
    position: relative;
    padding:3% 0;
  
}


.land02 .inner{
    max-width: 1100px;
    margin:0 auto;
  
}

.land02_text{
    width:53%;
    display: inline-block;
    padding-top:5%;
    padding-right:4%;
    vertical-align:top;
    color:#ffffff;
    
}

.land02_text h1{
    font-size:140%;
     line-height: 1.7;
    font-weight:500;
    
}


.land02_text h1 span{
 display: block;
    font-size:155%;
    line-height:1.7;
    font-weight:700;
}

.land02_text .explan{
    font-size:98%;
    padding-top:4%;
     line-height: 2.3;
}


.land02_photo{
    width:46%;
    display: inline-block;
   
}


.land03{
 	width: 100%;
    margin-top:1%;
    margin-bottom:1%;
    position: relative;
    padding:3% 0;
  
}


.land03 .inner{
    max-width: 1100px;
    margin:0 auto;
  
}

.land03_text{
    width:53%;
    display: inline-block;
    padding-top:5%;
    padding-left:4%;
    vertical-align:top;
    color:#000;
}

.land03_text h1{
    font-size:140%;
     line-height: 1.7;
    font-weight:500;
    
}


.land03_text h1 span{
 display: block;
    font-size:155%;
    line-height:1.7;
    font-weight:700;
}

.land03_text .explan{
    font-size:98%;
    padding-top:4%;
     line-height: 2.3;
}

.land03_text .explan span2{
    font-size:85%;
    display:block;
}






.land03_photo{
    width:46%;
    display: inline-block;
}









/*---------------------landplan pc end--------------------------------*/



/*------------------------landplan sp--------------------------------*/
@media only screen and (max-width: 769px) {
    
    
   
.land01 {
	width: 100%;
    margin-top:0;
    margin-bottom:10%;
}


 .illust {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; /* ユーザー操作を透過 */
}

.illust img {
  position: absolute;
  width:90px; /* 必要に応じてサイズ調整 */
  height: auto;
  animation: rotateSwing 3s ease-in-out infinite;
  transform-origin: center center; /* 回転の中心 */  
}

.illust img:nth-child(1) {
  top:180px;
  left: 10px;
     animation-delay: 0s; 
}

.illust img:nth-child(2) {
  top: 220px;
  right:180px;
    animation-delay:0.6s;  
}

.illust img:nth-child(3) {
  bottom: 265px;
  left: 120px;
  animation-delay:0.6s;    
}

.illust img:nth-child(4) {
  bottom:280px;
  right: 20px;
  animation-delay:0.9s;    
    
}
   
    
    
    
    
    
    
.land01 .inner {
    max-width: 98%;
    margin:0 auto;
  
}
.land01 .inner .land_txt{
    width:92%;
    margin:0 auto;
   font-size: 135%;
    padding-top:10%;
  
}
 
.land_point{
    width:100%;
    display: flex;
    justify-content: center; /* 中央揃え */
    flex-wrap: wrap;         /* 折り返し可能に */
    gap: 5px;               /* 要素間の間隔（任意） */
    padding: 0;
    margin: 0;
    list-style: none;        /* liの点を消す */
    
    
}


.land_point li{
     display: inline-block;
    border: 3px solid #e5be80;
    border-radius: 13px;
    margin:1% 0;
    font-size: 120%;
    font-weight: 600;
    text-align: center;
    padding: 5px 17px;        /* 左右5px、上下20px */
    white-space: nowrap;     /* 改行させず1行で表示 */
}


.land_point li span{
    font-size:110%;
}    
    
    
.land_point li span2{
    padding:0 23px;
}    
        
.land_point li span3{
    padding:0 52px;
}    
     
 .land02{
 	width: 100%;
  
  
}


.land02 .inner{
    max-width: 100%;
    margin:3% auto;
  
}

.land02_text{
    width:98%;
    margin:0 auto;
     padding-left:4%;
    padding-right:0;
    
}

.land02_text h1{
    text-align: center;
    font-size:120%;
}


.land02_text h1 span{
  text-align: center;
  font-size:140%;  
}

.land02_text .explan{
    font-size:90%;
    padding-top:4%;
     line-height: 2.3;
        margin:0 auto;
}


.land02_photo{
 margin:0 auto;
    width:100%;

}

.land02_photo img{
    padding:5%;

}


    
.land03{
 	width: 100%;
  
}


.land03 .inner{
    max-width: 100%
    margin:0 auto;
  
}

.land03_text{
    width:98%;
    margin:0 auto;
}

.land03_text h1{
    text-align: center;
    font-size:120%;
}


.land03_text h1 span{
text-align: center;
    font-size:140%;
}

.land03_text .explan{
    font-size:90%;
    padding-top:4%;
     line-height: 2.3;
        margin:0 auto;
    
}

.land03_text .explan span2{
    font-size:80%;
    display:block;
}






.land03_photo{
   margin: 0 auto;
    width:100%;
   
}

.land03_photo img{
    padding:5%;

}


}
/*---------------------landplan  sp end--------------------------------*/

/*------------------------plan  pc--------------------------------*/


.plan_01 {
	width: 100%;
	margin:1% auto;
	/*background-image: url(../img/plan/plan_01_bg.png);*/
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover; /* 必要に応じて contain に調整可能 */
	padding:5% 0 5% 0;

}


.plan_01 .inner {
    max-width: 1100px;
    margin:0 auto;
  
}
.plan_01 .inner .plan_txt{
   font-size: 125%;
    font-weight: 700;
   text-align: center;
    margin:2% auto;
    /*padding-top:13%;*/
    line-height: 2.6;
   color:#000;
}


.plan_ex{
    width:100%;
    background:#c6ffe2;
    padding:5% 0;
}


.plan_ex .inner {
    max-width: 1100px;
    margin:0 auto;
  
}

.plan_title{
    color:#000;
    text-align: center;
    padding-top:1%;
    font-size:150%;
    font-weight: 600;
    
}


.plan_post01{
    background: #ffffff;
    border: solid 1px #ffffff;
    border-radius: 20px;
    width:90%;
    margin:12% 0 23% 0;
    padding:8% 0;
    position: relative;
}

.img_cg{
    width:100%;
    margin:0 auto;
    position: absolute;
    top:-100px;
    text-align: center;
}


.img_cg img{
    width:45%;
    margin:0 auto;
    display: inline-block;
}

.img_cg_naikan{
  width:100%;
    margin-top: 5%;
    text-align: center;
}

.img_cg_naikan img{
  width:75%;
    margin:0 auto;
    display: inline-block;
}

.plan_post01 h1{
    text-align: center;
    font-size:150%;
    margin-top:9%;
    padding-top:9%;
    color:#39b54a;
    font-weight:bold;
}


.plan_post01 h2{
    text-align: center;
    padding:3% 0 0 0;
    
}

.plan_post01 ul{
    width:100%;
    margin:0 auto;
    text-align: center;
}

.plan_post01 ul li{
   border: solid 2px #39b54a;
    display:inline-block;
     text-align: center;
    margin:0.5%;
    font-size:90%;
    font-weight: 500;
    color:#39b54a;
    padding:0 1.5%;
    font-family: 'Yu Gothic UI', 'Yu Gothic', sans-serif;
     list-style: none;
  background-color: transparent; 
}

.plan_post01 ul li.pk{
    background-color: #ffffd1;
    border: solid 2px #39b54a;
    display:inline-block;
    text-align: center;
    margin:0.5%;
    font-size:90%;
    font-weight: 500;
    color:#39b54a;
    padding:0 1.5%;
    font-family: 'Yu Gothic UI', 'Yu Gothic', sans-serif;
    
}


   .frame {
 
       position: absolute;
       right:-3%;
       bottom:-2%;
      background: #ffffff;
      padding: 10px;
      max-width: 400px;
      margin: auto;
      border-radius: 16px;
      color: #004d79;
      border: 3px solid #a9d4e9;  

      /* 右と下に厚いシャドウで3D感 */
      box-shadow:
        0 6px 0 #a9d4e9,   /* 下側の色付き線 */
        6px 0 0 #a9d4e9,   /* 右側の色付き線 */
        6px 6px 12px rgba(0,0,0,0.1); /* 立体感の影 */
    }

.title-row {
  display: flex;
  align-items: flex-start;
  justify-content: center; 
  gap: 12px;
  margin:0 auto;  
  flex-wrap: wrap; /* 改行も許可（画面幅が狭い時） */
}



    .main-title {
      font-size: 28px;
      font-weight: bold;
      text-align: center;  
      color: #00569d;
        display:inline-block;
    }

    .subtitle {
      font-size: 13px;
      font-weight: bold;
      margin-top: -1px;
      line-height: 1.2;
    }

.specs {
  margin-top: 20px;
  font-size: 12px;
   letter-spacing:-0.03em; 
    line-height: 1.6;
    margin-bottom: 20px; 
}

.spec-row {
  display: flex;               /* 横並び */
  gap: 4px;                   /* 項目間の余白 */
  justify-content: space-between;
}

.spec-item {
  display: flex;               /* 子を縦に並べる */
  flex-direction: column;
  gap: 2px;
}

.prices {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding-top: 20px;
  border-top: 1px dashed #ccc;
  flex-wrap: nowrap; /* 横一列に固定 */
}

.price-pair {
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
}

.price-label {
  padding: 4px 6px;
  border: 1px solid #00569d;
  border-radius: 3px;
  font-size: 11px;
  color: #fff;
    font-weight:600;
  background-color: #00569d;
}

.price-amount{
  font-size: 20px;
  font-weight: bold;
  color: #004d79;
}

.price-amount span2{
     font-size: 13px;
}



.plus {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
}


.plus img {
  width: 30px;
  margin: 0 8px;
  vertical-align: middle;
}

.price-pair,
.price-label,
.price-amount,
.plus img {
  outline: none !important;
}

.illust_sm ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm li:nth-child(1) img{
position: absolute;
    width:11%;
  top:10%;
    left:3%;
}

ul.illust_sm li:nth-child(2) img {
 position: absolute;  
   width:6%;  
  top:-2%;
    left:80%;
}

ul.illust_sm li:nth-child(3) img{
  position: absolute;  
    width:6%; 
   top:15%;
    left:88%;
}



.illust_sm_2 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_2 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_2 li:nth-child(1) img{
position: absolute;
    width:6%;
  top:-3%;
    left:13%;
}

ul.illust_sm_2 li:nth-child(2) img {
 position: absolute;  
   width:6%;  
  top:5%;
    left:85%;
}

ul.illust_sm_2 li:nth-child(3) img{
  position: absolute;  
    width:10%; 
   top:70%;
    left:4%;
}

ul.illust_sm_2 li:nth-child(4) img{
  position: absolute;  
    width:6%; 
   top:60%;
    left:91%;
}



.illust_sm_3 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_3 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_3 li:nth-child(1) img{
position: absolute;
    width:6%;
  top:-3%;
    left:80%;
}

ul.illust_sm_3 li:nth-child(2) img {
 position: absolute;  
   width:6%;  
  top:5%;
    left:15%;
}

ul.illust_sm_3 li:nth-child(3) img{
  position: absolute;  
    width:10%; 
   top:20%;
    left:10%;
}




.illust_sm_4 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_4 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_4 li:nth-child(1) img{
position: absolute;
    width:6%;
  top:-3%;
    left:10%;
}

ul.illust_sm_4 li:nth-child(2) img {
 position: absolute;  
   width:10%;  
  top:20%;
    left:77%;
}


.illust_sm_5 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_5 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_5 li:nth-child(1) img{
position: absolute;
    width:6%;
  top:-3%;
    left:78%;
}

ul.illust_sm_5 li:nth-child(2) img {
 position: absolute;  
   width:10%;  
  top:18%;
    left:10%;
}

ul.illust_sm_5 li:nth-child(3) img {
 position: absolute;  
   width:6%;  
  top:25%;
    left:87%;
}


.illust_sm_6 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_6 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_6 li:nth-child(1) img{
position: absolute;
    width:6%;
  top:2%;
    left:13%;
}

ul.illust_sm_6 li:nth-child(2) img {
 position: absolute;  
   width:10%;  
  top:5%;
    left:80%;
}

ul.illust_sm_6 li:nth-child(3) img {
 position: absolute;  
   width:6%;  
  top:32%;
    left:85%;
}


.notes{
    font-size:80%;
    color:#000;
    text-align: center;
}


/*---------------------PLAN　pc end　-----------------------*/


/*---------------------PLAN　sp　-----------------------*/

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


.plan_01 {
	width:100%;
	margin:0 auto;
    background-position: center top;  /* 必要に応じて調整 */
	/*background-image: url(../img/plan/plan_01_bg_sp.png);*/
	background-repeat: no-repeat;
	/*background-size: contain; /* 必要に応じて contain に調整可能*/
	padding-bottom:32%;
    background-size: 92% auto; /* ← 横方向に拡大 */
}


.plan_01 .inner {
    max-width: 100%;
    margin:0 auto;
  
}
.plan_01 .inner .plan_txt{
   font-size:90%;
    font-weight: 700;
   text-align: center;
    margin:2% auto;
    padding-top:30%;
    line-height: 2.0;
   color:#000;
}


.plan_ex .inner {
    max-width: 100%;
    margin:0 auto;
  
}

.plan_title{
  padding:10% 0;
    font-size:140%;
    
}



.plan_post01{
   width:92%;
    margin:20% 4% 40% 4%;
    padding:12% 0;
}

.img_cg{
    width:100%;
  
}


.img_cg img{
    width:60%;
    margin-top: 5%;
}



.plan_post01 h1{
    text-align: center;
    font-size:105%;
    margin:15% 0 5% 0;
    padding: 0;
    font-weight:bold;
}


.plan_post01 h2{
    text-align: center;
    padding:3% 0 0 0;
    font-size:95%;
    
}

.plan_post01 ul{
    width:90%;
    margin:0 auto;
    text-align: center;
}

.plan_post01 ul li{
   border: solid 2px #004da0;
    display:inline-block;
     text-align: center;
    width:118px;
    margin:0.5%;
    font-size:78%;
    font-weight: 500;
    color:#004da0;
    padding:0 1%;
    font-family: 'Yu Gothic UI', 'Yu Gothic', sans-serif;
     list-style: none;
  background-color: transparent; 
}

.plan_post01 ul li.pk{
    background-color: #f6e1e3;
  border: solid 2px #004da0;
    display:inline-block;
     text-align: center;
   width:118px; 
    margin:0.5%;
    font-size:78%;
    font-weight: 500;
    color:#004da0;
    padding:0 1%;
    font-family: 'Yu Gothic UI', 'Yu Gothic', sans-serif;
    
}


   .frame {
       right:0;
       bottom:-6%;
       width:100%;
      padding: 10px 0  10px 0; 
      margin:0 auto;
      border-radius: 16px;
      color: #004d79;
      border: 3px solid #a9d4e9;  

      /* 右と下に厚いシャドウで3D感 */
      box-shadow:
        0 6px 0 #a9d4e9,   /* 下側の色付き線 */
        6px 0 0 #a9d4e9,   /* 右側の色付き線 */
        6px 6px 12px rgba(0,0,0,0.1); /* 立体感の影 */
    }

.title-row {
  display: flex;
  align-items: flex-start;
  justify-content: center; 
  gap: 8px;
  margin:0 auto;  
  flex-wrap: wrap; /* 改行も許可（画面幅が狭い時） */
}



    .main-title {
      font-size: 23px;
      font-weight: bold;
      text-align: center;  
      color: #00569d;
        display:inline-block;
    }

    .subtitle {
      font-size: 10px;
      font-weight: bold;
      margin-top: 0;
    }

.specs {
  margin-top: 15px;
  font-size: 10px;
   letter-spacing:-0.03em; 
    line-height: 1.6;
    margin-bottom: 5px; 
}

.spec-row {
  display: flex;               /* 横並び */
  gap: 0;                   /* 項目間の余白 */
  justify-content:center;
}

.spec-item {
  display: flex;               /* 子を縦に並べる */
  flex-direction: column;
  gap: 0;
}

.prices {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding-top: 5px;
  border-top: 1px dashed #ccc;
  flex-wrap: nowrap; /* 横一列に固定 */
}

.price-pair {
  display: flex;
  align-items: center;
  gap: 2px;
  white-space: nowrap;
}

.price-label {
  padding: 4px 2px;
  border: 1px solid #00569d;
  border-radius: 3px;
  font-size: 11px;
  color: #fff;
    font-weight:600;
  background-color: #00569d;
}

.price-amount{
  font-size: 20px;
  font-weight: bold;
  color: #004d79;
}

.price-amount span2{
     font-size: 11px;
}



.plus {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
}


.plus img {
  width: 20px;
  margin: 0 4px;
  vertical-align: middle;
}

.price-pair,
.price-label,
.price-amount,
.plus img {
  outline: none !important;
}

.illust_sm ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm li:nth-child(1) img{
position: absolute;
    width:15%;
  top:5%;
    left:3%;
}

ul.illust_sm li:nth-child(2) img {
 position: absolute;  
   width:12%;  
  top:-2%;
    left:80%;
}

ul.illust_sm li:nth-child(3) img{
  position: absolute;  
    width:12%; 
   top:10%;
    left:80%;
}



.illust_sm_2 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_2 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_2 li:nth-child(1) img{
position: absolute;
    width:12%;
  top:-3%;
    left:6%;
}

ul.illust_sm_2 li:nth-child(2) img {
 position: absolute;  
   width:12%;  
  top:10%;
    left:85%;
}

ul.illust_sm_2 li:nth-child(3) img{
  position: absolute;  
    width:18%; 
   top:18%;
    left:-2%;
}

ul.illust_sm_2 li:nth-child(4) img{
  position: absolute;  
    width:12%; 
   top:75%;
    left:83%;
}



.illust_sm_3 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_3 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_3 li:nth-child(1) img{
position: absolute;
    width:11%;
  top:3%;
    left:83%;
}

ul.illust_sm_3 li:nth-child(2) img {
 position: absolute;  
   width:10%;  
  top:45%;
    left:88%;
}

ul.illust_sm_3 li:nth-child(3) img{
  position: absolute;  
    width:16%; 
   top:35%;
    left:2%;
}




.illust_sm_4 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_4 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_4 li:nth-child(1) img{
position: absolute;
    width:12%;
  top:8%;
    left:5%;
}

ul.illust_sm_4 li:nth-child(2) img {
 position: absolute;  
   width:18%;  
  top:30%;
    left:81%;
}


.illust_sm_5 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_5 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_5 li:nth-child(1) img{
position: absolute;
    width:12%;
  top:3%;
    left:83%;
}

ul.illust_sm_5 li:nth-child(2) img {
 position: absolute;  
   width:18%;  
  top:78%;
    left:80%;
}

ul.illust_sm_5 li:nth-child(3) img {
 position: absolute;  
   width:12%;  
  top:30%;
    left:20%;
}


.illust_sm_6 ul{
  display: flex;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 20px;
    position: relative
}

ul.illust_sm_6 li {
  list-style: none;
  flex: 1 1 auto;
  text-align: center;
  border: none;  
}

ul.illust_sm_6 li:nth-child(1) img{
position: absolute;
    width:11%;
  top:5%;
    left:13%;
}

ul.illust_sm_6 li:nth-child(2) img {
 position: absolute;  
   width:18%;  
  top:25%;
    left:83%;
}

ul.illust_sm_6 li:nth-child(3) img {
 position: absolute;  
   width:11%;  
  top:28%;
    left:75%;
}


.notes{
    top:-10%;
    font-size:65%;
    text-align: left;
   width:92%;
    margin: 0 auto;
}

.plan_post01:last-of-type {
  margin-bottom: 100px;    
    }

}

/*---------------------footer-nav 問い合わせ　sp　固定-----------------------*/

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




div#footer-nav-fixed{    

 display: flex;
    justify-content: space-around;
    gap: 10px;
    padding: 10px;
    background: transparent;
    border-radius:0; /* 親には丸みを与えない */    
  z-index: 999999;
  font-family: 'Noto Sans JP', sans-serif;  
  font-weight: 700;		
    box-shadow: 0 10px 10px rgba(0,0,0,0.2);  
} 

div#footer-nav-bk{	
  background-color:#e8595d;
/*background-image: linear-gradient(90deg, #9a6f38 0%, #c9b05b 50%, #9a6f38 100%);  */

 color:#ffffff;   
position: fixed;  
    /* フッターの固定 */    
bottom: 0px;                /* 位置(下0px) */    
left: 0px;                  /* 位置(左0px) */    
width: 42%;                /* 横幅100%　*/    
/*height: 70px;   */         /* 横の幅を100% */
z-index: 999999;    
 border-radius: 12px 12px 0 0; /* 上部のみ角丸 */
  padding: 2% 0 3.5% 0;
  text-align: center;    

    

} 

div#footer-nav-bk p{	
font-size:95%;
 font-family: 'Noto Sans JP', sans-serif;  
  font-weight: 700;	   
font-weight:bold;
margin-top:3%;
text-align:center;
color:#ffffff;
} 

div#footer-nav-bk p a{	
font-size:95%;
margin:auto 0;
text-align:center;
color:#ffffff;
}

#footer-nav-bk i {
  margin-right: 0.5em;
  color: #fff; /* または背景に合う色に調整 */
  font-size: 1.1em;
  vertical-align: middle;
}


div#footer-nav-ck{	
 color: #fff;
  background-color: #004d99;
/*background-image: linear-gradient(90deg, #8d1f34 0%, #c93f5b 50%, #8d1f34 100%);*/
 /* 背景色 */	
float: left;
font-weight:bold;  
position: fixed;  
bottom: 0px;                /* 位置(下0px) */    
right:16%;                 /* 位置(左0px) */    
width: 42%;                /* 横幅100%　*/    
/*height: 70px;  */
 z-index: 999999;   /* 横の幅を100% */
padding-bottom: 1%;  
  border-radius: 12px 12px 0 0; /* 上部のみ角丸 */
  padding:2% 0 3.5% 0 ;
  text-align: center;  
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3); /* 立体感の影 */    
} 

div#footer-nav-ck p{	
font-size:95%;
margin-top:2%;
 font-family: 'Noto Sans JP', sans-serif;  
  font-weight: 700;	   
text-align:center;
color:#fff;
} 

div#footer-nav-ck p a{	
font-size:95%;
margin:auto 0;
text-align:center;
color:#ffffff;
}

div#footer-nav-tel{	
background-color:#000000;     /* 背景色 */	
float: left;
position: fixed;  
bottom: 0px;                /* 位置(下0px) */    
right:0px;                 /* 位置(左0px) */    
width: 16%;                /* 横幅100%　*/    
/*height: 70px;*/
z-index: 999999;    /* 横の幅を100% */
padding: 1.5% 0 2% 0; 
 border-radius: 12px 12px 0 0;     
    
}     

div#footer-nav-tel img{
  width: 56%;
  margin: 0 22% 0 22%;
    }	    
    
    
    
 }    
    
/*---------------------footer-nav 問い合わせ　sp　固定　end-----------------------*/       

    









/*LINE資料請求
***************************************************************/

/*フローティングバナー*/
.floating-bnr {
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.05), 0 8px 14px rgba(0, 0, 0, 0.08);
    display: none;
    position: fixed;
    bottom: 20px;
    right: 10px;
    width: 320px;
    max-width: 90vw;
    height: auto;
    z-index: 9999;
}
.floating-bnr a:hover {
    opacity: 0.7;
    transition: 0.2s;
}

/*閉じるボタン*/
.bnr_close {
    background-color: #f8f8f8;
    border: none;
    border-radius: 25px;
    box-shadow: 0 0 7px rgb(0, 0, 0, 0.4);
    color: #777;
    cursor: pointer;
    font-weight: bold;
    padding: 5px 8px;
    position: absolute;
    right: -4px;
    top: -2px;
}
.fa-xmark:before {
    content: "×";
    font-family: "Font Awesome 5 Free";
    font-style: normal;
}




/*---------------------floating-bnr　sp　固定-----------------------*/

@media only screen and (max-width: 769px) {
/*フローティングバナー*/
.floating-bnr {
   /* box-shadow: 0 5px 16px rgba(0, 0, 0, 0.05), 0 8px 14px rgba(0, 0, 0, 0.08);*/
    display: none;
    position: fixed;
    bottom: 48px;
    right: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    z-index: 9999;
}
.floating-bnr a:hover {
    opacity: 0.7;
    transition: 0.2s;
}

/*閉じるボタン*/
.bnr_close {
    background-color: #f8f8f8;
    border: none;
    border-radius: 22px;
    box-shadow: 0 0 5px rgb(0, 0, 0, 0.4);
    color: #777;
    cursor: pointer;
    font-weight: bold;
    padding:1px 5px;
    position: absolute;
    right: 2px;
    top: -2px;
}
.fa-xmark:before {
    content: "×";
    font-family: "Font Awesome 5 Free";
    font-style: normal;
}

    
    
    
    
    
    
    
    
    
}

/*LINE資料請求
***************************************************************/


@media all and (max-width: 680px) {
  #footer {
    padding-bottom: 53px;
    margin: 0 0 10% 0;  
  }
}
