@charset "UTF-8";
/* lp予告202607 */

/*メインビジュアル*/
.mv-wrap {
	position: relative;
	background: #fff;
}
.mv {
	height: auto;
	margin: 80px auto 0;
}
.mv_yokoku {
	max-width: 1280px;	
	margin: 0 auto;
	font-size: 0;
}
.mv_yokoku img {
  	height: auto;
  	object-fit: cover;
}

@media screen and (max-width: 1100px) {
	.mv_yokoku img {
		height: auto;
	}
}
@media screen and (max-width: 768px) {
	.mv {
		margin: 60px auto 0;
	}
	.mv_yokoku img {
		height: auto;
	}
}

/*---------- lead ----------*/
.lead {
    padding: 20px 0 40px 0;
	background: #fff;
}
.lead h1 {
	margin-bottom: 0;
    font-size: 1.3rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
	font-weight: 600;
	text-align: center;
}
.lead h1 span {
    font-size: 1.2rem;
	margin-right: 12px;
}
.lead h2 {
    font-size: 3.4rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;	
}
.lead h2 span {
    font-size: 1.5rem;	
	letter-spacing: 0;
}

.lead-box {
}
.lead-btn {
	max-width: 320px;
	margin: 12px auto 24px;
}
.lead-btn .btn a {
	width: 320px;
}

/*ボタン光アニメーション*/
.lead-btn .btn {
	position: relative;
	overflow: hidden
}
.shine {
  position: absolute;
  top: 0;
  left: -150%;
  width: 40%;
  height: 100%;
  background: linear-gradient(
    115deg,
    transparent 0%,
    transparent 40%,
    rgba(255, 255, 255, 0.3) 50%,
    transparent 60%,
    transparent 100%
  );
  animation: shine 4.5s ease-in-out 5;
}

@keyframes shine {
  0%   { left: -150%; }
  50%  { left: 150%; }
  100% { left: 150%; }
}

@media screen and (max-width: 768px) {
    .lead {
        padding: 16px 0 40px 0;
    }
	.lead h1 {
		font-size: 1.2rem;
		line-height: 1.5;
		margin-bottom: 0;
	}
	.lead h1 span {
		font-size: 1rem;
	}
	.lead h2 {
		font-size: 2.2rem;
		margin-bottom: 12px;
	}
}
@media screen and (max-width: 600px) {
    .lead {
        padding: 8px 0 30px 0;
    }
	.lead h1 {
		font-size: 1.1rem;
	}
	.lead h1 span {
		font-size: .9rem;
		margin-right:0;
	}
	.lead h2 {
		font-size: 2rem;
		margin-bottom: 12px;
	}
	.lead-btn .btn a {
		width: 254px;
	}
	.lead-btn {
		max-width: 254px;
		margin: 12px auto 32px;
	}
}

.yokoku {
	display: flex;
    justify-content: center;
	align-items: center;
    margin: 40px auto 20px;
	max-width: 860px;
  }
.yokoku-itemL {
	width: 25%;
	margin-right: 20px;
}
.yokoku-itemL p {
	font-size: 1.1rem;
	letter-spacing: 0.05em;
	border: 1px solid #ccc;
	text-align: center;
	padding: 0.15em;
}
.yokoku-itemR p {
	font-size: .9rem;
	line-height: 1.5;
}

@media screen and (max-width:600px) {
    .yokoku {
		margin-top: 32px;
		margin-bottom: 24px;
		display: block;
    }
	.yokoku-itemL {
		width: 30%;
	}
    .yokoku-itemL p {
		font-size: 1rem;
		margin-bottom: 8px;
	}
	 .yokoku-itemR p {
		font-size: .8rem;
		 line-height: 1.5;
	}
}


/* newお知らせ */
#news {
    left: 0;
    bottom: 0;
background: #FFF;
background: linear-gradient(135deg,rgba(255, 255, 255, 1) 0%, rgba(229, 229, 230, 1) 100%);
	
    width: 100%;
    z-index: 2;
    padding: 40px 56px;
}

#news h2 {
    position: relative;
    font-size: 1.4rem;
    margin: 0 0 30px 0;
	border-bottom: 1px solid #a6aab1;
}

#news li {
    margin:0 0 10px 0;
}
#news li a {
    transition: all .3s;
}
#news li a:hover{
     background: #efefef;
}
#news li time {
    display: inline-block;
    padding:0 20px 0 0;  
    font-size: 0.8rem;
    color: var(--base5-color);
}

@media screen and (max-width: 960px) {
    #news {
        padding: 24px;
    }
    #news li time {
        display: block;
    }  
}
@media screen and (max-width:768px) {
    #news {
		padding: 32px 0 24px;
        width: 100%;
        bottom:-100px;
    }
	#news li {
		font-size: .9rem;
	}
}


/* aboutコンセプト */
#about {
    padding: 80px 0 20px;
	background: #fff;
}

#about .about-inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 40px;
}
#about .about-title {
	max-width: 330px;
}
#about .about-txt {
	padding-top: 8px;
}
#about .about-txt p {
	letter-spacing: 0.08em;
	line-height: 2.3;
}
.about-photo {
}
@media screen and (max-width:600px) {
	#about {
		padding: 40px 0 20px;
	}
	#about .about-title {
		max-width: 70%;
	}
	#about .about-txt {
		padding-top: 20px;
	}
	#about .about-txt p {
		font-size: .9rem;
		letter-spacing: 0;
		line-height: 1.8;
	}
}


/*location-map*/
#location-map {
	padding-top: 40px;
	padding-bottom: 80px;
/*background: #F8F8F8;
background: linear-gradient(180deg,rgba(248, 248, 248, 1) 0%, rgba(229, 229, 230, 1) 100%);*/
}
#location-map h2 {
	margin-bottom: 20px;
}
#location-map .container-p0 {
	max-width: 1032px;
}

.location-info-txt {
	margin: 0 0 20px auto; 
	text-align: center;
}
.okayama-station {
	max-width: 350px;
	margin-top: 16px;
}

@media screen and (max-width:600px) {
	#location-map {
		padding-top: 20px;
		padding-bottom: 40px;
	}
	.okayama-station {
		max-width: 250px;
	}
	.location-info-txt {
		margin: 20px auto 0; 
		padding-bottom: 20px;
	}
}


.location-photo {
	margin-top: 32px;
}
.gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    max-width: 1080px;
    margin: 0 auto;
  }
.gallery-item {
    display: flex;
    flex-direction: column;
  }
.gallery-image {
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #a6abb4;
    object-fit: cover;
}
.gallery-caption {
    margin-top: 8px;
    font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
}
 @media (max-width: 767px) {
	.location-photo {
		margin-top: 20px;
	}
    .gallery {
      grid-template-columns: repeat(2, 1fr);
      gap: 16px 12px;
    }
	.gallery-caption {
		margin-top: 6px;
		font-size: .85rem;
		letter-spacing: 0;
		line-height: 1.4;
	}
}


/* realordermadeリアルオーダーメイド */
#realordermade {
	padding-top: 20px;
}
#realordermade h2 {
	margin-bottom: 12px;
}
#realordermade .realordermade-lead {
	margin-bottom: 20px;
}
#realordermade .realordermade-lead p {
	font-size: 1.2rem;
}

.realordermade-wrap {
	padding-bottom: 40px;
	background: #000;
	color: #fff;	
}
.realordermade-title-wrap {
	padding-top: 32px;
	padding-bottom: 4px;
	background: url("../img/realordermade_title_bg.jpg") no-repeat left -80px center;
	max-width: 1200px;
	margin-inline: auto;
	margin-bottom: 12px;
}
.realordermade-title-wrap h3 {
}

#realordermade h4 {
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	margin-bottom: 12px;
	line-height: 1.7;
}
#realordermade .realordermade-title {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 24px;
	margin-bottom: 40px;
}
#realordermade .realordermade-title p {
	font-size: .9rem;
	letter-spacing: 0.05em;
	line-height: 1.6;
}
#realordermade .realordermade-title-txtL {
	max-width: 44%;
	margin-right: 1%;
}
#realordermade .realordermade-title-txt {
	max-width: 54%;
}

.realordermade-inner {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 36px;
}

.realordermade-inner .realordermade-points {
	background: #161616;
	border: 1px solid var(--base4-color);
	padding: 40px;
	max-width: 35%;
}

.realordermade-inner .realordermade-steps {
	background: #161616;	
	border: 1px solid var(--base4-color);
	padding: 40px 60px 20px 60px;
	max-width: 62%;
}
.realordermade-inner .realordermade-steps img {
}

#realordermade p {
	font-size: .9rem;
}

@media screen and (max-width:900px) {
	#realordermade .realordermade-title {
		margin-bottom: 20px;
	}
	#realordermade h4 {
		font-size: 1rem;
		line-height: 1.5;
		letter-spacing: 0;
	}	
}
@media screen and (max-width:700px) {/*768px*/
	#realordermade {
	    margin-bottom: 0;
		padding: 40px 0 0 0;
	}
	.realordermade-wrap {
		padding-bottom: 20px;
	}
	#realordermade .realordermade-lead {
		margin-bottom: 12px;
	}
	#realordermade .realordermade-lead p {
		font-size: 1rem;
	}
	#realordermade h2 {
		font-size: 1.5rem;
		margin-bottom: 12px;
	}
	.realordermade-title-wrap {
		padding-top: 20px;
		background: url("../img/realordermade_title_bg.jpg") no-repeat left -200px bottom;
		margin-bottom: 8px;
	}
	
	#realordermade h4 {
		font-size: .9rem;
		line-height: 1.5;
		margin-bottom: 16px;
		letter-spacing: 0;
	}
	#realordermade .realordermade-title p {
		font-size: .8rem;
		line-height: 1.7;
	}
	#realordermade .realordermade-title-txtL {
		max-width: 100%;
		margin-bottom: 20px;
	}
	#realordermade .realordermade-title-txt {
		max-width: 100%;
	}
	.realordermade-inner .realordermade-points {
		max-width: 100%;
		margin-bottom: 12px;
		padding: 32px 40px;
	}
	.realordermade-inner .realordermade-points img {
		width: 80%;
		display: block;
		margin-inline: auto;
	}
	.realordermade-inner .realordermade-steps {
		max-width: 100%;
		padding: 32px 20px 8px;
	}
}


/*-------- outline物件概要 --------*/
#outline {
	padding-top: 36px;
	padding-bottom: 48px;
}
.outline_box {
    margin: 0 auto;
}
@media screen and (min-width: 1200px) {
    .outline_box {
        max-width: 930px;
        margin: 20px auto 0;
    }
}

.outline_box table {
	font-size: .95rem;
    letter-spacing: 0.05em;
    color: #000;
	margin: 0 0 30px;
    line-height: 1.4;
}

.outline_box table.alltype th {
	background: var(--main-color);
	color: #fff;
	font-weight: 500;
}

.outline_box table th {
	width: 27%;/*30%*/
    padding: 0.4rem 0.8rem;
    text-align: left;
}
.outline_box table td {
	background: #fff;
    padding: 0.4rem 0.8rem;
}
.table>tbody>tr>td, .table>tbody>tr>th {
}

@media (max-width: 680px) {
	#outline {
		padding-bottom: 32px;
	}
    .outline_box table {
        font-size: 0.8rem;
    }
	.outline_box table th {
	    width: 34%;
        font-weight: normal;
        padding: 0.4rem;
	}
    .outline_box table td {
        padding: 0.4rem;
    }
} 

.outline_inner {
	font-family: 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Noto Sans JP", -apple-system, BlinkMacSystemFont, メイリオ, meiryo, sans-serif;
	margin-bottom: 20px;
	line-height: 1.4;
	font-size: 0.8rem;
	color: #333;
}
.outline_inner p {
	line-height: 1.4;
	font-size: 0.85rem;
	margin-bottom: 6px;
	letter-spacing: 0;
}
@media (max-width: 680px) {
	.outline_inner p {
		font-size: 0.75rem;
		margin-bottom: 4px;
	}	
}