@charset "UTF-8";
/* CSS Document */

h1, h3 {
	font-weight: 500 !important;
}

.back {
	background:#FAFAFA;
	padding:0 0 40px;
}
.check {
	background:#EFEFEF !important;
}

 .sample-slider img{
	width: 100%;
 }

.swiper {
	margin-bottom: 1em;
}
.swiper-slide p {
	color: #fff !important;
}

.madori_zu {
	display:block;
	margin: 0 auto 2em;
}

.swiper-slide img {
	object-fit: cover;
	height:100%;
	width:100%;
	object-position:50% 50%;
}

@media only screen and (max-width:960px) {
	/*スマホ*/
	h1 {
		margin-top: 60px;
		margin-bottom: 1em;
		text-align: center;
		font-size: 2rem;
	}
	.main {
		width: 100%;
		height: 250px;
		object-fit: cover;
	}
	
	
	.btn {
		display: flex;
		flex-wrap: wrap;
		width: 85%;
		margin:0 auto 30px;
	}
	.btn li {
		border:1px solid #ccc;
		box-sizing: border-box;
		font-size: 1.2rem;
		width: calc((100% - 10px) / 2);
		text-align:center;
		margin-right:10px;
		margin-bottom: 10px;
		background:#fff;
		padding: 0.5em 0;
	}
	.btn li:nth-child(2n) {
		margin-right:0;
	}
	.btn a {
		color:#666;
		text-decoration:none;
		padding:0.25em;
		display: block;
	}
	
	
	.b_name {
		text-align: center;
		font-size:2rem;
		padding-top:20px;
		margin-bottom:30px;
		font-family: "Noto Sans JP", 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'sans-serif';
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
	}
	
	.b_name span {
		font-size:1.1rem;
		font-weight:normal;
		display:block;
	}
	
	.btn_con {
		margin: 3em auto;
		font-size: 1.6rem;
		font-weight: 500;
		width: 100%;
		display: block;
		background: #F3F3F3;
		border: 1px solid #666;
		padding: 1em 0;
		text-align: center;
		text-decoration: none;
		color: #666;
	}
	
	
	.pick_ico{
		position:absolute;
		top:10px;
		left:10px;
		font-size: 2vw;
		padding: 0.25em 0.5em;
		background: #000;
		width: 7em;
		text-align: center;
		z-index: 2;
	}
	.pick_kakaku{
		position: absolute;
		bottom:1.5em;
		left:10px;
		font-size: 4vw;
		font-family: "M PLUS 1p", sans-serif;
		font-weight: 700;
		font-style: normal;
		text-shadow: 2px 2px 5px #000;
		z-index: 2;
	}
	.pick_address{
		position: absolute;
		bottom: 0.5em;
		left:10px;
		text-shadow: 2px 2px 5px #000;
		font-size: 2.5vw;
		z-index: 2;
	}
	.info {
		width: 90%;
		text-align:center;
		padding:1em 0;
		margin: 0 auto;
		border: 1px solid #ccc;
	}
	.info_t {
		display: block;
		text-align: left;
		margin-left: 20px;
	}
	.price {
		font-size:200%;
	}
	h2.osusume {
		text-align: center;
		font-size:1.8rem;
		padding-top: 2em;
		margin-bottom: 0.75em;
		font-family: "futura-pt", sans-serif;
		font-weight: 600;
		font-style: normal;
		display: block;
	}
	.osusume_txt {
		display: block;
		width: calc(100% - 20px);
		margin: 0 auto 20px;
	}
	.point {
		width: 100%;
		text-align: center;
		margin-bottom: 50px;
	}
	.point span {
		border: 1px solid #000;
		box-sizing: border-box;
		padding: 0.2em 0.5em;
		margin-right: 10px;
		margin-bottom: 10px;
		display: inline-block;
	}
	.point:last-child {
		margin-right: 0;
	}
	dl.tbl {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto 50px;
		border: 1px solid #666;
	}
	.tbl dt {
		width: 100%;
		box-sizing: border-box;
		padding: 0.5em;
		background: #fff;
	}
	.tbl dd {
		width: 100%;
		box-sizing: border-box;
		padding: 0.5em;
		border-bottom: 1px solid #CCC;
	}
	.map {
		width: 100%;
		height: 50vh;
		border: none;
		margin-bottom: 30px;
	}
	/* 外側の堤防：ここで横スクロールを止める */
	.swiper-outer {
		width: 100%;
		margin-bottom: 10px;
		overflow: hidden; /* これが横スクロールを防ぐ「隠し味」です */
		position: relative;
	}
	.sample-slider{
        width: 100%;
    }
	.blank {
		display: none;
	}
	.box_a {
		margin: 10px auto 60px;
		display: block;
		width: 100%;
		line-height: 40px;
		background: #8FE5BD;
		color: #fff;
		border-radius: 20px;
		text-align: center;
		text-decoration: none;
		font-family: "Noto Sans JP", 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'sans-serif';
		font-optical-sizing: auto;
		font-weight: 700;
		font-style: normal;
	}
	.madori_zu {
		width: 100%;
		border: 1px solid #ccc;
		padding: 4em;
	}
	.madori_zu img {
		width: 100%;
	}
	
	
	ul.pickup {
		width: 85%;
		display: block;
		margin: 0 auto 20px;
	}
	.pickup li {
		display: block;
		width: 100%;
		margin-bottom: 3em;
	}
	.pickup a {
		color: #666;
		text-decoration: none;
	}
	.pickup_txt {
		text-align: center;
	}
	.pickup_txt h2 {
		font-size: 1.5rem;
		margin-bottom: 0.5em;
		display: block;
	}
	
	.img_sp {
		width: 100%;
		height: 300px;
		margin-bottom: 1em;
		position: relative;
	}
	
	.genre {
		position: absolute;
		top: 2px;
		left: 2px;
		background: #fff;
		padding: 0.25em 0.5em;
		font-size: 1rem;
		font-weight: bold;
	}
	
	
	.img_sp img {
		object-fit: cover;
		height:100%;
		width:100%;
		object-position:50% 50%;
	}

	.kakaku {
		margin-top: 0.25em;
		font-weight: bold;
		border-top: 1px solid #CCC;
		border-bottom: 1px solid #CCC;
		padding: 0.5em 0;
	}
	.kakaku span {
		font-size: 1.8rem;
	}
	
	.sub {
		width: 100%;
		font-size: 1rem;
		font-family: "Noto Sans JP", 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'sans-serif';
		font-optical-sizing: auto;
		font-weight: 600;
		font-style: normal;
		padding: 0.5em 0;
	}
	.last {
		font-size: 1rem;
	}
	
	.last span {
		border: 1px solid #000;
		border-radius: 2px;
		font-size: 0.9rem;
		margin-right: 0.5em;
		padding: 0.25em 0.5em;
		text-align: center;
		width: 8.5em;
		display: block;
	}
	.tg {
		border: 1px solid #666;
		font-size: 0.9rem;
		padding: 0.25em 1em;
		margin-bottom: 0.5em;
	}
	.sub_t {
		font-size:1.5rem;
		margin-bottom:0.5em;
	}
	.swiper-slide {
		height: 350px !important;
		width: 100% !important;
		overflow: hidden;
	}
	.btn_reno {
		width: 100%;
		margin: 0 auto;
		display: block;
	}
	
	.cont_body {
		width: 90%;
		margin: 0 auto;
	}
	
	.swiper-button-prev { left: 10px !important; }
    .swiper-button-next { right: 10px !important; }
}


@media screen and (min-width:961px) {
	/*PC*/
	h1 {
		margin-top: 160px;
		margin-bottom: 35px;
		text-align: center;
		font-size: 3.2rem;
	}
	.main {
		width: 100%;
		height: 580px;
		object-fit: cover;
	}
	.btn {
		width: calc(16em * 4 + 30px);
		display: flex;
		font-size: 1.2rem;
		flex-wrap: wrap;
		margin: 0 auto 50px;
	}
	.btn li {
		border:1px solid #ccc;
		box-sizing: border-box;
		width:16em;
		text-align:center;
		margin-right:10px;
		background:#fff;
		padding: 0.5em 0;
	}
	.btn li:last-child {
		margin-right:0;
	}
	.btn a {
		color:#666;
		text-decoration:none;
		padding:0.25em;
		display: block;
	}
	
	.b_name {
		font-size:3.6rem;
		padding-top:20px;
		margin-bottom:30px;
		float: left;
		width: calc(100% - 240px);
		font-weight: 400;
		font-style: normal;
	}
	
	.sub_t {
		font-size:2.4rem;
		font-weight:normal;
		margin-bottom:0.5em;
	}
	.btn_con {
		margin: 3em auto;
		font-size: 1.8rem;
		font-weight: 500;
		width: 400px;
		display: block;
		background: #F3F3F3;
		border: 1px solid #666;
		padding: 1em 0;
		text-align: center;
		text-decoration: none;
		color: #666;
	}
	
	
	.info {
		text-align:center;
		padding:1em 0;
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;

	}
	.info_t span {
		font-size: 28px;
		
	}
	
	.info_t {
		margin-right:3em;
		font-family: "Noto Sans JP", 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'sans-serif';
		font-optical-sizing: auto;
		font-weight: 400;
		font-style: normal;
	}
	.price {
		font-size:200%;
	}
	h2.osusume {
		font-size:2rem;
		padding-top: 40px;
		margin-bottom: 15px;
		font-family: "futura-pt", sans-serif;
		font-weight: 600;
		font-style: normal;
		text-align: center;
		display: block;
	}
	.osusume_txt {
		text-align: center;
		margin: 0 auto 20px;
		width: 1100px;
		display: block;
		font-size: 1.6rem;
		line-height: 180%;
	}
	.point {
		width: 100%;
		text-align: center;
		margin-bottom: 50px;
	}
	.point span {
		border: 1px solid #666;
		box-sizing: border-box;
		padding: 0.2em 0.5em;
		margin-right: 10px;
		margin-bottom: 10px;
		display: inline-block;
		
	}
	.point:last-child {
		margin-right: 0;
	}
	dl.tbl {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto 50px;
		border-top: 1px solid #666;
		border-bottom: 1px solid #666;
		border-right: 1px solid #666;
	}
	.tbl dt {
		box-sizing: border-box;
		width: 12em;
		padding: 1em;
		background: #fff;
		border-left: 1px solid #666;
		border-bottom: 1px solid #CCC;
	}
	.tbl dd {
		box-sizing: border-box;
		width: calc(50% - 12em);
		padding: 1em;
		border-bottom: 1px solid #CCC;
	}
	.map {
		width: 100%;
		min-width: 1100px;
		height: 500px;
		border: none;
		margin-bottom: 30px;
	}
	
	/* 外側の堤防：ここで横スクロールを止める */
	.swiper-outer {
		min-width: 1100px;
		width: 100%;
		margin-bottom: 30px;
		overflow: hidden; /* これが横スクロールを防ぐ「隠し味」です */
		position: relative;
	}
	.sample-slider{
        width: 1100px !important;   /* 表示したい画像の幅をここに指定 */
		margin: 0 auto;
		overflow: visible !important; /* はみ出し（見切れ）を許可 */
		position: relative;
    }
	.box_a {
		width: 240px;
		line-height: 40px;
		background: #8FE5BD;
		color: #fff;
		border-radius: 20px;
		text-align: center;
		text-decoration: none;
		font-family: "Noto Sans JP", 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, 'sans-serif';
		font-optical-sizing: auto;
		font-weight: 700;
		font-style: normal;
		margin: 0 auto 60px;
		display: block;
	}
	
	
	
	
	ul.pickup {
		width: 95%;
		min-width: 1100px;
		display: flex;
		flex-wrap: wrap;
		margin: 0 auto 50px;
	}
	.pickup li {
		display: block;
		width: calc((100% - 60px) / 3);
		margin-right: 30px;
		margin-bottom: 80px;
	}
	.pickup li:nth-child(3n) {
		margin-right: 0;
	}
	
	.img_sp {
		width: 100%;
		height: 350px;
		margin-bottom: 3px;
		position: relative;
	}
	
	.genre {
		position: absolute;
		top: 2px;
		left: 2px;
		background: #fff;
		padding: 0.25em 0.5em;
		font-size: 1rem;
		font-weight: bold;
	}
	
	.img_sp img {
		object-fit: cover;
		height:100%;
		width:100%;
		object-position:50% 50%;
	}
	
	.pickup a {
		text-decoration: none;
		color: #666;
		
	}
	.pickup_txt {
		padding: 10px 0;
		text-align: center;
	}
	
	.pickup_txt h2 {
		font-size: 1.6rem;
		display: block;
	}
	
	.kakaku {
		font-weight: bold;
		border-top: 1px solid #CCC;
		border-bottom: 1px solid #CCC;
		padding: 0.5em 0;
	}
	.kakaku span {
		font-size: 2rem;
	}
	
	.address {
		color: #999;
		padding: 0.5em 0 0.25em;
	}

	.tg {
		border: 1px solid #ccc;
		font-size: 1rem;
		padding: 0.25em 0.5em;
		text-align: center;
		line-height: 2.4rem;
		margin-bottom:0.5em;
	}
	
	.swiper-slide {
        width: 1100px !important;   /* 1枚の幅を強制的に1100pxに */
		height: auto !important;
		aspect-ratio: 16 / 9;       /* 1100pxに対して適切な高さを維持 */
    }
	.swiper-slide img {
		display: block;
	}
	.madori_zu {
		width: 300px;
		display: block;
		margin: 0 auto 70px;
	}
	.madori_zu img {
		width: 100%;
	}
	
	.btn_reno {
		margin: 0 auto;
		display: block;
	}
	
	.cont_body {
		width: 1100px;
		margin: 0 auto;
	}
	.swiper-button-prev { left: 20px !important; }
    .swiper-button-next { right: 20px !important; }
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute !important;
    top: 50% !important;           /* 縦の真ん中に固定 */
    transform: translateY(-50%);   /* 自分の高さ分ズレるのを補正 */
    z-index: 100 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    margin: 0 !important;          /* 余計なマージンをリセット */
}

/* 矢印の形（アイコン）のサイズ調整 */
.swiper-button-prev::after,
.swiper-button-next::after {
    font-size: 30px !important;
    font-weight: bold;
    color: #fff !important;
    text-shadow: 0 0 8px rgba(0,0,0,0.5); /* 画像が白くても見えるように */
}


/* 矢印が画像に埋もれて見えないのを防ぐ */
.sample-slider {
    position: relative; /* 矢印の基準点にする */
    overflow: visible !important; /* 左右をキレさせるために必須 */
}