/*ttl*/
.ttl_area{
}
.main_ttl{
	font-size:35px;
	text-align: center;
	color:red;
}
@media screen and (max-width:767px) {
.main_ttl{
	font-size:30px;
}
}
@media screen and (max-width:380px) {
.main_ttl{
	font-size:28px;
}
}
/*concept*/
.concept_area{
    background-image: url(../img/concept_back.webp);
    background-repeat: repeat-y;
    background-position: center;
}
@media screen and (max-width:767px) {
.concept_area{
}
}
.concept_area2{
   padding-top: 5%;
}
.concept_title{
    padding-top: 8%;
    padding-bottom: 2%;
    text-align: left;
    font-size: 38px;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-weight: 400;    
}
.concept_read{
    font-size: 18px;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-weight: 400;
    line-height: 1.7;
}
@media screen and (max-width:1399px) {
.concept_title{
    font-size: 31px;    
}
.concept_read{
    font-size: 16px;
    line-height: 1.5;
}
}
@media screen and (max-width:1199px) {
.concept_title{
    padding-top: 6%;
    font-size: 26px;    
}
.concept_read{
    font-size: 14px;
    line-height: 1.5;
}
}
@media screen and (max-width:991px) {
.concept_title{
    padding-top: 5%;
    font-size: 19px;    
}
.concept_read{
    font-size: 12px;
    line-height: 1.3;
}
}
@media screen and (max-width:767px) {
.concept_title{
    padding-top: 6%;
    padding-bottom: 3%;
    padding-left: 3%;
    padding-right: 3%;
    font-size: 23px;    
}
.concept_read{
    padding-left: 3%;
    padding-right: 3%;
    padding-bottom: 6%;
    font-size: 14px;
    line-height: 1.5;
}
}
/*new*/
.news_area{
margin-top:3%;
    margin-bottom:3%;
}
@media screen and (max-width:767px) {
.news_area{
    margin-top:8%;
    margin-bottom:8%;
}
}
.news_read{
    padding-bottom: 3%;
    padding-top: 3%;
    text-align: center;
    color: #B70000;
    font-size: 24px;
}
/*land*/
.land_area{
    padding-bottom: 3%;
    padding-top: 5%;
}
@media screen and (max-width:767px) {
.land_area{
    padding-top: 12%;
}
}
.land_copy{
    padding-top: 5%;
    padding-right: 8%;
    padding-bottom: 3%;
}
.landcopy_tx{
	font-size: 45px;
	margin-top: 5%;
	margin-bottom: 10%;
	line-height: 1.3;
	border-bottom: 10px solid rgba(45,148,166,0.51);
	text-align: center;
	display: inline-block;
	padding-right: 5%;
	padding-left: 5%;
}

@media screen and (max-width:1199px) {
.landcopy_tx{
    font-size: 40px;
}

}
@media screen and (max-width:991px) {
.landcopy_tx{
    font-size: 35px;
    margin-bottom: 10%;
}

}
@media screen and (max-width:767px) {
.landcopy_tx{
    font-size: 28px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 12%;
}
}
@media screen and (max-width:530px) {
.landcopy_tx{
    font-size: 23px;
    margin-bottom: 8%;
}
}

@media screen and (max-width:454px) {
.landcopy_tx{
    font-size: 20px;
}
}
@media screen and (max-width: 767px) {
  .col-12.col-xxl-5.col-md-6 {
    text-align: center;
  }
}
@media screen and (max-width: 1399px) {
  .col-12.col-xxl-8.col-md-12 {
    text-align: center;
  }
}

.landtx{    
    font-size: 20px;
	margin-bottom: 5%;
    line-height: 2.0;
}
@media screen and (max-width:1199px) {
.landtx{    
    font-size: 18px;
    line-height: 1.6;
}
}
@media screen and (max-width:767px) {
.landtx{    
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 5%;
}
}
@media screen and (max-width:576px) {
.landtx{    
    font-size: 16px;
    margin-top:3%;
}
}
.landtx2{    
    font-size: 20px;
	margin-bottom: 5%;
    line-height: 2.0;
}
@media screen and (max-width:1199px) {
.landtx2{    
    font-size: 18px;
    line-height: 1.6;
}
}
@media screen and (max-width:767px) {
.landtx2{    
    font-size: 18px;
    line-height: 1.6;
}
}
@media screen and (max-width:576px) {
.landtx2{    
    font-size: 16px;
}
}


.freeplan_area{    
    padding-bottom: 5%;
    padding-top: 5%;
	text-align: center;
	background: linear-gradient(180deg, rgb(247, 242, 219), rgb(255, 255, 255));	
}
.location_area{    
    padding-bottom: 5%;
    padding-top: 5%;		
}
.location_area02{
    padding-top: 5%;
    text-align: center;
    background-image: url(../img/outline/location_bg.png);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}
@media screen and (max-width:576px) {
.location_area02{
    padding-bottom: 5%;
}
}
.location_area02 img{    
    padding-top: 30px;
}
.location_area03{
    padding-bottom: 5%;
    padding-top: 2%;
    border-top: 1px solid #BDBDBD;
}
.plan_area{    
    padding-bottom: 5%;
    padding-top: 5%;	
}
@media screen and (max-width:576px) {
.plan_area{    
    padding-top: 10%;	
}
}
.equ_area{
    padding-bottom: 5%;
    padding-top: 2%;
    text-align: center;
    
}
@media screen and (max-width:576px) {
.equ_area{
    padding-top: 5%;
    padding-bottom:10%;
}
}
.access_area{
    padding-bottom: 5%;
    padding-top: 5%;
    text-align: center;
    background-image: url(../img/outline/access_bg.png);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
}
.access_area img{    
    padding-bottom: 5%;
}
.map_area{    
    padding-top: 5%;
    padding-bottom: 2%;
}
@media screen and (max-width:576px) {
.map_area{    
    padding-bottom: 5%;
}
}
.outline_area{    
    padding-bottom: 5%;
    padding-top: 5%;
}
@media screen and (max-width:576px) {
.outline_area{    
    padding-top: 10%;
}
}
.ttl_box{
    padding-bottom: 5%;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
}

.img_c{
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    display: block;
}
.loca_tx{    
    font-size: 18px;
    margin-top: 3%;
}
@media screen and (max-width:576px) {
.loca_tx{    
    font-size: 16px;
}
}
.loca_tx span{    
    color: #54BCAE;
}
.loca_txc{
    text-align: center;
    font-size: 18px;
    margin-bottom: 3%;
}
@media screen and (max-width:576px) {
.loca_txc{
    text-align: left;
    font-size: 16px;
}
}
.loca_txc span{    
    color: #54BCAE;
}
.loca_traffic{
    font-size: 20px;
    line-height: 1.1;
    margin-top: 5%;
}
.loca_traffic span{    
    color: #e60012;
	font-size: 30px;
}
@media screen and (max-width:576px) {
.loca_traffic{
    font-size: 16px;
}
.loca_traffic span{  
	font-size: 20px;
}
}
.loca_imgbox{    
    padding-right: 3%;
    padding-left: 3%;
	padding-top: 1%;
}
.loca_ttl{
    font-size: 25px;
    margin-top: 3%;
    letter-spacing: 0.5em;
    text-align: center;
}
.loca_ttlsub{
    font-size: 35px;
    padding-top: 1%;
    color: #55B4A6;
}
@media screen and (max-width:767px) {
.loca_ttl{
    font-size: 18px;    
    letter-spacing: 0.5em;
}
.loca_ttlsub{
    font-size: 28px;
    
}
}
.loca_box{
    padding-top: 7%;
    padding-left: 1%;
	padding-right: 1%;
}
.loca_tx02{    
    font-size: 16px;
    padding-top: 5%;
}
@media screen and (max-width:767px) {
.loca_tx02{
    text-align: left;
    padding-left: 10px;
    padding-right: 10px;
}
}
.loca_tx02 span{    
    font-size: 18px;
}
.loca_traffic02{
    font-size: 14px;
    line-height: 1;
    margin-top: 3%;
    text-align: left;
    line-height: 1.4;
}
@media screen and (max-width:576px) {
.loca_traffic02{
    font-size: 13px;
}
}
.loca_traffic02 span{  
	font-size: 20px;
}

.location-other {
  font-size: 16px;
  color: #000;
  margin-top: 15px;
	margin-bottom: 0px;
	font-family: "Sawarabi Mincho","游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    text-align: left;
}
.loca_read{
    font-size:18px;
    margin-top:3%;
    margin-bottom:3%;
    text-align:left;
}
.loca_space{
  margin-top:5%;  
}
.loca_space2{
  margin-top:4%;  
}
@media screen and (max-width:576px) {
.loca_space2{
  margin-top:1%;  
}
}
.loca_ima {
  display: flex;
  align-items: flex-start;
}

.loca_ima img {
  width: 100%;
  height: auto;
  max-height: 650px; /* ← 実寸で制御 */
  object-fit: contain;
}

@media screen and (max-width:767px) {
}
.tab-reader-box2 {
  flex: auto;
}
hr.tab-r-line {
  position: relative;
  top: calc(50% - 1px);
  margin: 0 10px;
  border: none;
  border-top: dotted 2px #CCC;
}
.flex {
  display: flex;
  display: -ms-flexbox;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  width: 100%;
  padding-bottom: 6px;
  padding-bottom: 0px;
	font-family: "Sawarabi Mincho","游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
@media (max-width: 575.98px) {
  .flex {
    font-size: 13px;
  }
}
@media screen and (max-width:576px) {
  .loca_txbox {
    margin-top: 20px;
  }
}
.plan_ttl{
    border-bottom: 1px solid #ccc;
    line-height: 1.4;
	font-size: 1.3vw;    
}
.plan_ttl span{
	font-size: 2.2vw;
	margin-right: 10px;
}
@media screen and (max-width:767px) {
.plan_ttl{    
	font-size: 2.3vw;    
}
.plan_ttl span{
    font-size: 4.2vw;
	color: #920783;
}
}
@media screen and (max-width:576px) {
.plan_ttl{    
	font-size: 4.3vw;    
}
.plan_ttl span{
    font-size: 6.2vw;
	color: #920783;
}
}
.plan_outline{
    line-height: 1.4;
    font-size: 14px;
    padding-top: 10px!important;
    padding-bottom: 10px!important;
}
.plan_copy{    
    line-height: 1.4;
	font-size: 15px;
	padding-top: 10px!important;
    text-align:left;
}
.plan_copy span{
    color: #920783;
}

.plan_button a {
    background: #1a2d44;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-top: 3%;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: auto;
    max-width: 350px;
    padding: 10px 25px;
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    color: #fff;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.plan_button a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.plan_button a:hover {
  background: #333;
  color: #FFF;
}
.plan_button a:hover:after {
  right: 1.4rem;
}

.outline_table{
	width: 100%;
	font-family: "Sawarabi Mincho","游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.outline_table tr{
    border-bottom: 1px solid;
}

.outline_table th{
    background: #fff;
    width: 100px;
    padding: 10px 0 10px 15px;
}

.outline_table td{
    padding: 10px 0 10px 15px;
}
.btn-bc a {
    text-decoration: none;
    text-transform: uppercase;
    background: linear-gradient(180deg, rgb(84, 188, 174)75%, rgb(0, 56, 51));
    color: rgb(255, 255, 255);
    padding: 20px 20px;
    display: block;
    letter-spacing: 2px;
    transition : 1s;
    font-size: 14px;
    text-align: center;
    max-width: 250px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 3%;
    border-radius: 50px;
}
.btn-bc a:hover {
	background:#fff;
	box-shadow:0px 0px 10px #666;
	color:#17214A;
	transition : 1s;
}
.top_loca_ttl {
    display: flex;
    align-items: center; /* 垂直中心 */
    justify-content: center; /* 水平中心 */
    color: #FF0004;
    font-size: 21px;
	margin-bottom:20px; 
}
.top_loca_ttl:before, .top_loca_ttl:after {
  border-top: 1px solid;
  content: "";
  width: 3em; /* 線の長さ */
}
.top_loca_ttl:before {
  margin-right: 1em; /* 文字の右隣 */
}
.top_loca_ttl:after {
  margin-left: 1em; /* 文字の左隣 */
}

.heading {
  position: relative;
  text-align: center; /* 文字の中央寄せ */
}
.heading::before {
  background-color: #3E3A39; /* 線の色 */
  /*border-radius: 5px;*/ /* 線の両端を丸く */
  bottom: -15px; /* 線の位置 */
  content: "";
  height: 5px; /* 線の高さ */
  left: 50%; /* 線の中央寄せ */
  position: absolute;
  transform: translateX(-50%); /* 線の中央寄せ */
  width: 80px; /* 線の長さ */
}
.top_loca_read{
    margin-top: 60px;
    font-size: 16px;
    line-height: 2em;	
}
.mw500{
	max-width: 500px;
	margin: 0 auto;
	padding: 0 20px;
}
.mb30{
	margin-bottom:30px;
}
.floating{
  position: sticky;
  top: 85px;
  display: fixed;
  /*width: 80%;
  height: 50px;*/
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

/*.floating img {
  color: white;
  text-align: center;
  line-height: 50px;
  font-size: 24px;
  margin: 0;
}*/
@media screen and (max-width:767px) {
.floating{
  top: 30px;
}
.link_btn li{
    padding: 0 0 5px !important;
}

.btn-bc a {
    text-decoration: none;
    text-transform: uppercase;
    background-color: #17214A;
    color: rgb(255, 255, 255);
    padding: 5px 20px;
    display: block;
    letter-spacing: 2px;
    transition : 1s;
    font-size: 14px;
    text-align: center;
    max-width: 200px;
    margin-right: auto;
    margin-left: auto;
    margin-top: 5%;
}
.heading::before {
  bottom: 0px; /* 線の位置 */
	margin-top:20px;
}
.top_loca_read{
    padding-top: 15px;
}
}
.plan_space{
margin-bottom:8%;	
}
#gallery .mw1040{
    padding-bottom:0;
    padding-top:2%;
}
.plan_back{
    background-color: #F0F7FF;
    padding-top: 5%;
    padding-bottom: 5%;
}