@charset "utf-8";
@import url(https://fonts.googleapis.com/css?family=Hind:700);
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&family=Yuji+Syuku&display=swap');
/*.yuji-syuku-regular {
  font-family: "Yuji Syuku", serif;
  font-weight: 400;
  font-style: normal;
}
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 900;
  font-style: normal;
}
.roboto-black {
  font-family: "Roboto", sans-serif;
  font-weight: 900;
  font-style: normal;
}*/

/* 共通
------------------------------------------------------------*/
.h2ttl_c {
  font-size: 5.0rem;
  font-family: 'Noto Serif JP', serif;
  color: #000;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .h2ttl_c {
    font-size: 3.5rem;
  }
}
.h2ttlsub_c {
  font-size: 1.6rem;
  color: #000;
  text-align: center;
  font-family: 'Noto Serif JP', serif;
}
.read_tx {
  font-size: 1.8rem;
  color: #000;
  font-family: 'Noto Serif JP', serif;
  padding-left: 20px;
  padding-right: 20px;
}

.ttl_img_c {
  width: 100%;
  display: flex;
  justify-content: center; /* 左右中央に配置 */
  padding: 20px 0;         /* 上下に少し余白（お好みで） */
}

.ttl_img {
  max-width: 100%;
  height: auto;
	/*width: 325px;*/
}


/* main
------------------------------------------------------------*/
.main_area {
  margin-top: 80px;
}
@media all and (max-width: 767px) {
  .main_area {
    margin-top: 60px;
  }
}
/* concept
------------------------------------------------------------*/
.concept_area {
    padding-top: 5%;
    background-image: url(../img/bg.jpg);
    background-position: center top;
    background-size: contain;
    margin-top: 50px;
    background-repeat: no-repeat;
}
.concept_main_img {
    padding-top: 5%;
   
}
.concept_readbox {
    background-image: url(../img/concept/read_bg.jpg);
    background-repeat: no-repeat;
  background-size: contain; 
  background-position: center;
  width: 100%;
  aspect-ratio: 16 / 9; 
}
@media screen and (max-width: 767px) {
  .concept_readbox {
    background-image: url("../img/concept/read_bg_s.png"); 
    background-size: cover;
    background-position: bottom center; 
    aspect-ratio: 1200 / 1915; 
  }
}
.concept_read {
    font-size: 35px;
    text-align: center;
    line-height: 2.5;
    padding-top: 10%;
    color: #333333;
    letter-spacing: 0.2em;
}
@media screen and (max-width: 1199px) {
.concept_read {
    font-size: 23px;
    line-height: 1.5;
    
}
}
@media screen and (max-width: 767px) {
.concept_read {
    font-size: 23px;
    text-align: center;
    line-height: 1.5;
    padding-top: 10%;
    color: #333333;
    letter-spacing: 0.2em;
}
}
.concept_tx {
    font-size: 15px;
    text-align: center;
    line-height: 2.5;
    margin-top: 20px;
    color: #333333;
    letter-spacing: 0.2em;
}
@media (max-width: 575px) {
 .concept_tx {
	 font-size: 11px;
	 line-height: 1.5;
}
}
/* structure
------------------------------------------------------------*/
.structure_area {
    padding-bottom: 5%;
    padding-top: 0%;    
}
.structure_ttl_box {    
    background: linear-gradient(
    to right, 
    #c09294 0%,    /* 開始（左端） */
    #c09294 10%,   /* 10%地点まで同じ色を維持（ベタ塗り） */
    #ffffff 100%   /* 10%から100%にかけて徐々に白へ */
  );
	padding-top:3%;
	padding-bottom:3%;
}
.structure_read_box {
    padding-top: 3%;
	padding-bottom: 3%;
    background-image: url(../img/bg.jpg);
    background-position: center top;
    background-size: contain;
    background-repeat: repeat;
}
.structure_read_c {
  font-size: 16px;
  text-align: center;
  line-height: 2.5;
  color: #333333;
}
@media (max-width: 767px) {
  .structure_read_c {
    font-size: 15px;
    text-align: left;
    line-height: 1.8;
	  padding-left:5%;
	  padding-right:5%;
	  padding-top:5%;
	  padding-bottom:5%;
  }
}
.structure_ttl {
  margin-top: 6%;
  margin-bottom: 5%;
  font-size: 25px;
  text-align: center;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  color: #666;
　line-height: 1.8;
}
.structure_ttl2 {
  font-size: 30px;
  text-align: center;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  color: #666;
  line-height: 1.8;
}
@media (max-width: 575px) {
  .structure_ttl2 {
    font-size: 25px;
  }
}
.structure_ttl span {
  font-weight: 400;
  margin-bottom: 5%;
  font-size: 16px;
}
@media (max-width: 575px) {
  .structure_ttl {
    text-align: center;
    margin-top: 15%;
    font-size: 6vw;
  }
}
.structure_ttl3 {
  font-size: 23px;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  color: #888;
  line-height: 1.8;
  border-left: 8px solid #888;
  margin-top: 40px;
  margin-bottom: 10px;
}
@media (max-width: 575px) {
	.structure_ttl3 {
  font-size: 20px;
}
}
.structure_ttl4 {
    font-size: 23px;
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
    color: red;
    line-height: 1.8;
    margin-top: 40px;
    margin-bottom: 10px;
	padding-top:30px;
    border-top: 1px solid #000000;
	text-align: center;
}
.structure_ttl5 {
  margin-top: 3%;
  margin-bottom: 0;
  font-size: 25px;
  text-align: center;
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", serif;
  color: #666;
}
.structure_read {
  font-size: 16px;
  text-align: center;
  line-height: 2.5;
  margin-top: 4%;
  color: #333333;
}

.structure_read2 {
  font-size: 16px;
  line-height: 2.5;
  /*margin-top: 4%;*/
  color: #333333;
}
@media (max-width: 767px) {
  .structure_read2 {
    font-size: 15px;
    line-height: 1.8;
	  margin-top:20px;
  }
}
.structure_read3 {
  font-size: 16px;
  line-height: 1.6;
  margin-top: 4%;
  color: #333333;
}
.structure_read3 span {  
  color: #ff0000;
}
@media (max-width: 767px) {
  .structure_read3 {
    font-size: 15px;
  }
}
.structure_read4 {
    font-size: 16px;
    line-height: 1.6;
    margin-top: 10px;
    color: #333333;
    text-align: center;	
}
@media (max-width: 767px) {
  .structure_read4 {
    font-size: 15px;
	  text-align: left;
  }
}
.structure_read5 {
  font-size: 16px;
  line-height: 2;
  /*margin-top: 4%;*/
  color: #333333;
}
@media (max-width: 767px) {
  .structure_read5 {
    font-size: 15px;
    line-height: 1.6;
	  margin-top:20px;
  }
}
.structure_line {
  background-color: #534741;
  color: #fff;
  padding-top: 5px;
  padding-bottom: 5px;
  margin-top: 40px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 25px;
}
.structure_line2 {
  padding-right: 10px;
  border-right: 1px solid #000000;
}
@media (max-width: 767px) {
  .structure_line2 {
    padding-right: 0;
    padding-bottom: 50px;
    margin-bottom: 50px;
    border-right: 0px solid #000000;
    border-bottom: 1px solid #000000;
  }
}
.structure_back {
  margin-top: 2%;
  padding-top: 5%;
  background-image: url(../img/back_be.jpg);
}
.structure_back2 {
  margin-top: 0;
  padding-bottom: 3%;
  /*background-image: url(../img/back_be.jpg);*/
  border-top: 1px solid #000000;
  ;
}
.structure_box {
  margin-top: 30px;
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: 1px solid #000000;
}
.structure_box2 {
    margin-top: 3%;
    /*background-image: -webkit-linear-gradient(4deg,rgba(198,177,152,1.00) 0%,rgba(255,255,255,1.00) 100%);
    background-image: -moz-linear-gradient(4deg,rgba(198,177,152,1.00) 0%,rgba(255,255,255,1.00) 100%);
    background-image: -o-linear-gradient(4deg,rgba(198,177,152,1.00) 0%,rgba(255,255,255,1.00) 100%);
    background-image: linear-gradient(86deg,rgba(198,177,152,1.00) 0%,rgba(255,255,255,1.00) 100%);*/
	padding-top:4%;
	padding-bottom:4%;
	margin-bottom:0;
}

/* land
------------------------------------------------------------*/
.land_area {
    padding-top: 3%;
	padding-bottom: 3%;
    background-image: url(../img/bg.jpg);
    background-position: center top;
    background-size: contain;
    background-repeat: repeat;
}
@media all and (max-width: 767px) {
.land_area {
    padding-bottom: 10%;
}
}
/* plan
------------------------------------------------------------*/
.plan_area {
    padding-top: 5%;    
    padding-bottom: 5%;
}
@media all and (max-width: 767px) {
.plan_area {
    padding-bottom: 10%;
}
}
.plan_area img {    
    padding-bottom: 30px;
}
.plan_box {
	padding-top: 3%;
	padding-bottom: 3%;
	border-bottom: 1px solid #595757;
}
@media all and (max-width: 767px) {
.plan_box {
    background-image: url(../img/plan/plan_bg_s.svg);
	background-repeat: repeat;
}
}

.plan_ttl {
    margin-top: 1%;
    margin-bottom: 3%;
    font-size: 26px;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    line-height: 2;
    color: #333;
    letter-spacing: 0.2em;
}
@media all and (max-width: 767px) {
    .plan_ttl {
        font-size: 22px;
        letter-spacing: 0.1em;
    }
}
.plan_read {
    margin-top: 3%;
    margin-bottom: 3%;
    font-size: 16px;
    line-height: 2.2;
    font-family: 'Noto Serif JP', serif;
    text-align: center;
    color: #333;
}
@media all and (max-width: 767px) {
    .plan_read {
        font-size: 14px;
        text-align: left;
        margin-top: 5%;
    }
}
/* guarantee
------------------------------------------------------------*/
.guarantee_area {
    padding-bottom: 5%;
    padding-top: 0%; 
	background-image: url(../img/bg.jpg);
    background-position: center top;
    background-size: contain;
    background-repeat: repeat;
}
@media (max-width: 767px) {
.guarantee_area {
    padding-left: 5%;
    padding-right: 5%; 	
}
}
.guarantee_ttl_box {
	padding-top: 5%;
	padding-bottom: 5%;
	background-image: url(../img/guarantee/ttl_bg.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	margin-bottom: 5%;
}
.guarantee_box {	
	margin-bottom: 10%;
}

.guarantee_read {
  font-size: 16px;
  line-height: 1.5;
  color: #333333;
	padding-top: 20px;
	font-feature-settings: "palt";
}
.guarantee_read2 {
  font-size: 16px;
  line-height: 1.5;
  color: #736357;
	padding-top: 20px;
	font-feature-settings: "palt";
}
.guarantee_read2 span {
  font-size: 12px;  
	font-feature-settings: "palt";
}
.guarantee_tx {
  font-size: 12px;
  line-height: 1.5;
  color: #333333;
	padding-top: 20px;
}

/* location
------------------------------------------------------------*/
.location_area {
 padding-top: 0%;
}
.location_area2 {
  padding-bottom: 5%;
  padding-top: 5%;
  background-image: url(../img/back_be.jpg);
  background-repeat: repeat;
}
.location_area2 img {
  padding-top: 30px;
  
}
.location_main_img {
    padding-bottom: 5%;
   
}
.location_read {
    font-size: 15px;
    text-align: center;
    line-height: 2.5;
    margin-top: 4%;
    color: #333333;
    margin-bottom: 4%;
    letter-spacing: 0.2em;
}
@media (max-width: 767px) {
  .location_read {
    font-size: 15px;
  }
}
.station_box {
	display: grid;
	grid-template-columns: 150px 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 20px;
	row-gap: 20px;
	padding-bottom: 20px;
	max-width: 1200px;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 767px) {
    .station_box {
        grid-template-columns: 1fr;
		padding-left: 20px;
    padding-right: 20px;
    }
 
}

.station_ttl {
	
}
.station_name {
  margin-top: 10px;
	font-size: 15px;
	font-feature-settings: "palt";
}
.station_name span {
  font-size: 25px;
}
.location_ttl_area {
    display: flex;
    justify-content: space-between;
    padding-left: 20px;
    padding-right: 20px;
    background-image: linear-gradient(90deg, #c09297, #ffffff);
    padding-top: 10px;
    padding-bottom: 10px;
    margin-bottom: 0px;
	margin-top: 10%;
}
.location_ttl {
    font-size: 16px;
    line-height: 1.5;
    color: #333333;
	letter-spacing: 0.2em;
}
.location_ttl_en {
    font-size: 12px;
    line-height: 1.5;
    color: #333333;
    letter-spacing: 0.2em;
}

.location_tx {
    font-size: 30px;
    line-height: 1.5;
    color: #333333;
    font-feature-settings: "palt";
    margin-top: 5px;
}
@media (max-width: 767px) {
  .location_tx {
    font-size: 18px;   
  }
}
.location_tx .loca_s {
  font-size: 20px;   
}
@media (max-width: 767px) {
  .location_tx .loca_s {     
	  font-size: 12px; 
  }
}
.location_tx .loca_pink {   
  color: #c09297;
}
@media (max-width: 767px) {
  .location_tx .loca_pink {    
	  line-height: 1.0;
  }
}
.location_tx2 {
  font-size: 18px;  
  line-height: 2.5;
  margin-top: 10px;
  color: #333333;
}
@media (max-width: 767px) {
 .location_tx2 {
  font-size: 12px;  
}
}
.loction_name {
  font-size: 16px;
  line-height: 1.5;
  margin-top: 30px;
	margin-bottom: 10px;
  color: #333333;
}
.loction_name span {
    font-size: 20px;
    text-align: center;
    color: #fff;
    background-color: #B2B2B2;
    padding-left: 10%;
    padding-right: 10%;
    margin-right: 20px;
}
@media all and (max-width: 767px) {
.loction_name span {
    display: block;
    width: 50vw;
    margin-bottom: 10px;
}
}
.loca_tx {
  font-size: 14px;  
  line-height: 1.5;
  margin-top: 5px;
  color: #333333;
}
.loca_tx span {
  color: #c09297;
}


  .location_area img {
    margin-top: 10px;
  }
.loca_caution {
	font-size: 14px;
	line-height: 1.5;
	margin-top: 5%;
	color: #333333;
	text-align: right;
}

/* access
------------------------------------------------------------*/
.access_area {
 padding-top: 5%;
	padding-bottom: 5%;
}
.access_imgbox {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: auto;
	column-gap: 20px;
	row-gap: 20px;
	padding-top: 20px;
	margin-right: auto;
	margin-left: auto;
}
@media all and (max-width: 767px) {
.access_imgbox {
	grid-template-columns: 1fr;
}
}
.accessmap_img_c {
	width: 100%;
	display: flex;
	justify-content: center; /* 左右中央に配置 */
	padding: 20px 0;         /* 上下に少し余白（お好みで） */
	margin-top: 30px;
}

.accessmap_img {
  max-width: 100%;
  height: auto;
	/*width: 325px;*/
}
/* map
------------------------------------------------------------*/
.map_area {
  padding-bottom: 0%;
  padding-top: 5%;
  background-image: url(../img/back_be.jpg);
  background-repeat: repeat;
}
.map_ttl_box {
	text-align: center;
	margin-right: auto;
	margin-left: auto;
}
.map_tx {
	font-size: 16px;
	line-height: 2.5;
	color: #333333;
	text-align: center;
	margin-top: 1%;
	margin-bottom: 5%;
}
@media (max-width: 767px) {
  .map_tx {
    font-size: 15px;
    line-height: 1.8;
	  margin-top:20px;
  }
}
.googlemap iframe {
    width: 100%;
  }
.map_box {
	margin-top: 8%;
	margin-bottom: 8%;
}
/* 概要
---------------------------------*/
.outline_area {
  /*padding-bottom: 5%;*/
  padding-top: 100px;
}
.n_table {
  clear: both;
  width: 100%;
  margin-bottom: 25px;
  text-align: left;
  margin-right: auto;
  margin-left: auto;
  margin-top: 3%;
}
.n_table th {
  width: 25%;
  /*background-color: #fff;*/
  text-align: center;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  border-right-width: 1px;
  border-right-style: solid;
  border-right-color: #B3A882;
}
.n_table td {
  width: 75%;
  padding-left: 5%;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  text-align: left;
}
.n_table th, .n_table td {
  font-size: 14px;
  line-height: 160%;
  vertical-align: top;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  border-bottom-color: #B3A882;
  font-weight: normal;
}
.n_table td ul li {
  display: inline;
  margin-right: 15px;
  white-space: nowrap;
}
.jokentsuki{
font-size: 13px;	
}
/* コンタクト
---------------------------------*/
.contact_area {
  padding-bottom: 5%;
  padding-top: 6%;
}
.footer_logo {
  text-align: center;
}
