/*
Last Updated: 2022-10-19
Author:zeal
name:mizudocho
*/

/*----------------------------------------
	全体
----------------------------------------*/

html{
	/*font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;*/
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	font-size:62.5%;
	color: /*#353535;*/ #000;
	-webkit-text-size-adjust:100%;
	line-height:1.5;
	font-weight: 500;
}

.meiryo{
	font-family:'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
.yugo{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
}
.yumin{
		font-family:'游明朝体','Yu Mincho','ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝','Sawarabi Mincho',serif;
}

.lora{
	font-family: 'Lora', serif;
}


body{ font-size:1.4rem; font-size: 1.4em; }
img{ vertical-align: bottom; }
img {
    image-rendering: -webkit-optimize-contrast;
}

a{
	color:#14184c;
	transition: all 0.3s;
}
a:hover{
	color:#252b7e;
	transition: all 0.3s;
}
.op img{ transition: all 0.3s; }
.op:hover img{
	opacity:0.70;
	transition: all 0.3s;
}
.op:hover{
	opacity: 0.7;
}
.max_respon{max-width:100%;}
#container{ overflow: hidden; }
li{ list-style:none; }
.center{ text-align:center; }

.head_logo .respon {
  max-width: none;
}

@media screen and (min-width: 600px) {
.tb_center{ text-align:center; }
}



@media screen and (max-width: 599px) {
	.copy{ font-size: 1.8rem; }

	p{text-align:left;}

	.sp_text_left{
		text-align: left;
	}

}/*END*/


/*----------------------------------------
	text
----------------------------------------*/

p{ line-height: 2; font-feature-settings: "palt"; }
.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }
.text_pink{ color: #fc799e; }
.text_blue{ color: #0162b3; }
.text_gold{ color: #7b622b; }
.text_emerald{ color:#00b2b2; }
.text_mizu{ color:#00a1e9; }
.text_white{ color:#fff; }

.text_11{ font-size:1.1rem !important; }
.text_12{ font-size:1.2rem !important; }
.text_13{ font-size:1.3rem !important; }
.text_15{ font-size:1.5rem !important; }
.text_21{ font-size:2.1rem !important; }
.text_22{ font-size:2.2rem !important; }
.text_26{ font-size:2.6rem !important; }
.text_36{ font-size:3.6rem !important; }
.text_35{ font-size: clamp(28px, 4vw, 35px) !important; }
.text_48{ font-size:4.8rem !important; }

.lh_24{ line-height: 2.4 !important; }
.lh_22{ line-height: 2.2 !important; }
.lh_20{ line-height: 2 !important; }
.lh_18{ line-height: 1.8 !important; }
.lh_16{ line-height: 1.6 !important; }
.lh_15{ line-height: 1.5 !important; }
.lh_14{ line-height: 1.4 !important; }
.lh_14{ line-height: 1.3 !important; }
.ls_1{ letter-spacing: 1px; }
.ls_-1{ letter-spacing: -1px; }
.ls_2{ letter-spacing: 2px; }
.ls_3{ letter-spacing: 3px; }
.ls_4{ letter-spacing: 4px; }

@media print, screen and (min-width: 769px) {

	.text_16{ font-size:1.6rem !important; }
	.text_18{ font-size:1.8rem !important; }
	.text_20{ font-size:2.0rem !important; }
	.text_24{ font-size:2.4rem !important; }

	.text_28{ font-size:2.8rem !important; }
	.text_30{ font-size:3.0rem !important; }
	.text_32{ font-size:3.2rem !important; }
	.text_42{ font-size:4.2rem !important; }
	.text_40{ font-size:4rem !important; }
	.text_50{ font-size:5rem !important; }
	.text_55{ font-size:5.5rem !important; }	
	.ls_4{ letter-spacing: 4px; }

}/*END*/

@media print, screen and (min-width:769px) and ( max-width: 1119px) {

	.text_16{ font-size:1.6rem !important; }
	.text_30{ font-size:2.8rem !important; }
	.text_32{ font-size: 2.6rem !important; }
	.text_42{ font-size: 3.6rem !important; }

}/*END*/

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

	p{ line-height: 1.8; }
	.text_18{ font-size: 1.5rem; }
	.text_24{ font-size: 2.2rem !important; }
	.text_28{ font-size: 1.9rem !important; }
	.text_30{ font-size: 2rem !important; }
	.text_32{ font-size: 2rem !important; }
	.text_42{ font-size: 3rem !important; }

	.text_28{ font-size:2.2rem !important; }
	.text_30{ font-size:2.4rem !important; }
	.text_32{ font-size:2.6rem !important; }
	.text_42{ font-size:3.6rem !important; }
	.text_40{ font-size:3.6rem !important; }
	.text_50{ font-size:4rem !important; }
	.text_55{ font-size:4.3rem !important; }	

	.ls_2{ letter-spacing: 1px; }
	.ls_4{ letter-spacing: 2px; }

}/*END*/

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

	p{ line-height: 1.6; }
	.text_18{ font-size: 1.4rem; }
	.text_21{ font-size: 1.8rem !important; }
	.text_24{ font-size: 1.9rem !important; }

	.text_28{ font-size: 1.7rem !important; }
	.text_30{ font-size: 2.2rem !important; }
	.text_32{ font-size: 1.8rem !important; }
	.text_42{ font-size: 3rem !important; }

	.text_48{ font-size: 3.2rem !important; }	

	.ls_4{ letter-spacing: 1px; }

}/*END*/

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

	.text_30{ font-size: 2rem !important; }
	.text_42{ font-size: 2.8rem !important; }
	.ls_2{ letter-spacing: 0; }

}
.two_images {
    display: flex;
    gap: 55px;              /* 画像同士の間 */
    justify-content: center;
}

.img_box {
    width: 85%;             /* 画像＋テキストの1セットの幅 */
    text-align: center;     /* テキストを中央寄せ */
}

.img_box img {
    width: 100%;            /* 画像の大きさ */
max-width: 720px; 
	height: auto;
}

.img_caption {
    margin-top: 10px;       /* 画像との間隔 */
    font-size: 16px;
}

.img_title {
    font-size: 28px;     /* ← タイトルを大きな文字に */
    font-weight: bold;   /* ← 太字 */
    margin-bottom: 15px; /* ← タイトルと本文の間隔 */
    line-height: 1.4;
    text-align: center;  /* 中央にしたい場合 */
}
/*----------------------------------------
	layout
----------------------------------------*/

.inner_frame{
	width: 100%;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
}

.pc_block{
	display: block;
}
.sp_block{
	display: none;
}


@media print, screen and (min-width: 769px) {

	.inner_frame{
		padding-right: 1.88%;
		padding-left: 1.88%;
	}

}/*END*/

@media print, screen and (min-width: 1200px) {

	.inner_frame{
		width: 1200px;
		padding-right: 20px;
		padding-left: 20px;
		margin-right: auto;
		margin-left: auto;
	}
	.in_frame{
		max_width: 980px;
		margin-right: auto;
		margin-left: auto;
	}

}/*END*/

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

	.inner_frame{
		padding-right: 3%;
		padding-left: 3%;
	}

}/*END*/

@media screen and (max-width: 599px){
	.pc_block{
		display: none;
	}
	.sp_block{
		display: block;
	}

	.inner_frame{
		padding-right: 3.5%;
		padding-left: 3.5%;
	}

}/*END*/

.box_l{
	float: left;
	width: 48.3%;
}
.box_r{
	float: right;
	width: 48.3%;
}


.box_l55{
	float: left;
	width: 55%;
}
.box_r55{
	float: right;
	width: 55%;
}

.box_l45{
	float: left;
	width: 43.5%;
}
.box_r45{
	float: right;
	width: 43.5%;
}


.box_r65{
	width:65%;
	float:right;
}
.box_l65{
	width:65%;
	float:left;
}

.box_r35{
	width: 31%;
	float: right;
}

.box_r60{
	width:58.15%;
	float:right;
}
.box_l60{
	width:58.15%;
	float:left;
}
.box_r40{
	width:39.2%;
	float:right;
}
.box_l40{
	width:39.2%;
	float:left;
}

.box_l70{
	width: 70%;
	float: left;
}

.box_r30{
	width: 28.5%;
	float: right;
}




.fl_R{
	float:right;
}



.list_three{ margin-left: -3.33%; }
.list_three li{
	position: relative;
	float: left;
	margin-bottom: 40px;
	box-sizing: border-box;
	width: 30%;
	margin-left:3.33%;
}
.list_three li a{ text-decoration: none; }
.list_three li:nth-child(3n+1){ clear: both; }


.list_four{
	margin-left: -1.85%;
}
.list_four li{
	position: relative;
	float: left;
	margin-bottom: 20px;
	box-sizing: border-box;
	margin-left:2%;
}
.list_four li{
	width: 23.14%;
	margin-left: 1.85%;
}

body {
    background-color: #000;
    color: #fff;
}

nav ul li a {
    color: #000 !important;
}

.page_main_title {
    font-size: 50px; /* ここで大きさ調整 */
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
}

.page_main_text {
    background: #fff;        /* 白い背景 */
    margin-top: 20px;        /* h1との余白 */
    padding: 20px 30px;      /* 内側の余白（＝白い余白部分） */
    font-size: 16px;
    line-height: 1.8;
    text-align: center;
    color: #000;
}

.contact_frame {
    background-color: #f2f2f2; /* 明るめのグレー */
    padding: 40px 0;
}

@media print, screen and (min-width: 769px) {

	.list_four li:nth-child(4n+1){ clear: both; }

}/*END*/

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

	.list_four li:nth-child(2n+1){ clear: both; }
	.list_four li{
		width: 48%;
		margin-bottom: 20px;
	}

}/*END*/

@media screen and (max-width: 599px){
	.box_l,
	.box_r{
		float: none;
		width: 100%;
	}

	.box_r65,.box_l65,.box_l60,.box_r60,.box_l40,.box_r40,.box_l55,.box_r55,.box_l45,.box_r45{
		float: none;
		width: 100%;
	}

	.box_l70,.box_r30{
		float: none;
		width: 100%;
	}


	.list_three{ margin-left: -1.3%; }
	.list_three li{
		position: relative;
		float: left;
		margin-bottom: 20px;
		box-sizing: border-box;
		width: 32%;
		margin-left:1.3%;
	}


	#feature .list_three{
		margin-left:0;
	}
	#feature .list_three li{
		float: none;
		width: 100%;
		margin-left:0;
		margin-bottom: 30px;
	}




}/*END*/




/*----------------------------------------
	header
----------------------------------------*/

header{
	background: #fff;
	position: fixed;
	z-index: 100;
	width: 100%;
	box-sizing: border-box;
	max-height:none;
}
header a{
	display: block;
	color: inherit;
	text-decoration: none;
}


h1.read{
	float:left;
	padding: 23px 0 0 15px;
	color: #8c8c8c;
	font-weight: normal;
	font-size: 1.1rem;
	line-height: 1.6;
}

.head_logo{ float: left; }

.head_logo img{ max-width:224px; }


main{
	margin-top:80px;
}

.top .toplogo{
	display: block;
}
.page .pagelogo{
	display: block;
}

.top .topimg{
	display: inline-block;
}
.top .pageimg{
	display: inline-block;
}

.top .pagelogo,.top .pageimg{ display: none; }
.page .toplogo,.page .topimg{ display: none; }



.head_contact  img{ max-width:200px; }

.tb_none2{ display: none;}

.header_l{
	width:35%;
	float:left;
}
.header_r{
	width:65%;
	float:right;
}


.page header{
	position: static;
	background:#fff;
}

.page header{
	min-height:60px;
}

.sp_fix_btn{
	display: none;
}
.nav_sp_block{
	display: none;
}
.nav_sp_none{
	display: block;
}



@media print, screen and (min-width: 1199px) {

	header{
		width: 100%;
		z-index: 100;
	}


	.head_contact{
		margin-left:20px;
	}

	.head_contact a.btn{
		box-sizing: border-box;
		background: #fff;
		color: #022873;
		text-align: center;
		padding:22px 30px;
	}
	.head_contact a.btn:hover{
		    opacity: 0.6;
		/*box-shadow:rgba(0, 0, 0, 0.3) 0px 1px 2px 0;*/
	}
	.head_contact a.btn img{
		width: 32px;
		vertical-align: 0;
	}
	header li{
		float: left;
		padding-top: 34px;
	}

	header li:last-child{
		padding-top:18px;
	}


	header li a{
		text-align: center;
		box-sizing: border-box;
		padding:0 14px;
	}

	header li a:hover{
		color: inherit;
		transition: all 0.6s;
		text-decoration: underline;
	}



	.page header a{
		color:#060d2a;
	}
	.page header a:hover{
		color:#060d2a;
		text-decoration: underline;
	}

	.page .head_contact a.btn{
		background:#022873;
		color:#fff;
	}




	#sd{
		font-weight: bold;
		letter-spacing: 0.5px;
	}


	.head_fixed{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		background: rgba(19,66,149,0.8);
		width: 100%;
		box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 2px 0;
	}

	.page header.head_fixed{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 99;
		background: rgba(255,255,255,0.8);
		width: 100%;
		box-shadow:rgba(0, 0, 0, 0.2) 0px 1px 2px 0;
	}

	#sd{
		float:right;
	}


}/*END*/



@media print, screen and (max-width: 1340px) {
	h1.read{
		padding: 23px 0 0 4px;
		font-size:1.0rem;
		letter-spacing: -0.5px;
	}

	.header_r {
	    width: 60%;
	}
	header li a{
		padding: 0 10px;
	}
	.header_l{
		width:38%;
	}

}/*END*/


@media print, screen and (max-width: 1280px) and (min-width: 1199px){
	header li:last-child {
	    padding-top: 22px;
	    width: 128px;
	}

	header li:last-child a{
		padding: 0 4px;
	}

}/*END*/




@media screen and (max-width: 1199px) {
	.head_contact{ display: none; }

	.header_l{
		width:100%;
	}

	#sd ul,
	.head_inner{
		padding:0;
	}

	#sd {
	    border-left: 6px solid #000;
	}

	.border_non a{
		border:none !important;
		padding: 0 !important;
	}



	.sd-trigger{
		float: right;
		position: fixed;
		right: 15px;
		top: 20px;
		width: 44px;
		height: 42px;
		cursor: pointer;
		border: 1px solid #000;
		z-index: 10;
		/*background: rgba(255,255,255,0.8);*/
		background: #000;
		color:#fff;
	}


	.sp_fix_btn{
		display: block;
		position: fixed;
		right: 80px;
		top: 23px;
		width: auto;
		cursor: pointer;
		z-index: 10;
	}

	.nav_sp_block{
		display: block;
	}
	.nav_sp_none{
		display: none;
	}



	.sd-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		width: 22px;
		background-color: #fff;
	}
	.sd-trigger span:nth-of-type(1) { top: 11px; left: 11px; }
	.sd-trigger span:nth-of-type(2) { top: 19px; left: 11px; }
	.sd-trigger span:nth-of-type(3) { top: 27px; left: 11px; }
	#sd{ box-sizing: border-box; }
	#sd ul{
		margin-bottom: 0;
		/*border-top: 1px dotted #555;*/
	}
	#sd li{ position: relative; }
	#sd li a{
		display: block;
		text-decoration: none;
		padding: 15px 2% 15px 8%;
		color:#000;
		border-bottom: 1px dotted #555;
	}

}/*END*/



@media print, screen and (max-width: 767px){
	.head_logo{
		width:110px;
	}

	h1.read{
		font-size:1rem;
		padding: 2px 0 0 2px;
	}

	.header_l{
		width:90%;
	}

	main{
		margin-top:30px;
	}

	.sd-trigger{
		float: right;
		position: fixed;
		right: 0;
		top: 0;
		width: 44px;
		height: 38px;
		cursor: pointer;
		border: 1px solid #000;
		z-index: 10;
		/*background: rgba(255,255,255,0.8);*/
		background: #000;
		color:#fff;
	}


}/*END*/



@media print, screen and (max-width: 599px){
	h1.read{
		font-size:1rem;
		letter-spacing: -0.5px;
	}


}/*END*/


/*----------------------------------------
	MV
----------------------------------------*/

.TopMain{
padding:0 !important;
margin:0;
position: relative;
}

.mv_img {
    position: relative;
    left: 50%;
    -webkit-transform: translate(-50%,0);
    -moz-transform: translate(-50%,0);
    -ms-transform: translate(-50%,0);
    -o-transform: translate(-50%,0);
    transform: translate(-50%,0);
}

.mv_copy {
	width:45%;
	max-width:396px;
    position: absolute;
    top: 55%;
    left: 29.4%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    text-align: center;
}


.mv_point{
	background:#4a81bf;
	box-sizing: border-box;
}

.mv_point ul{
	overflow: hidden;
}
.mv_point li{
	float: left;
	width : calc(100% / 3) ;
	box-sizing: border-box;
	text-align: center;
	padding: 18px 0;
	/*
	border-right:1px solid #fff;
	padding: 0 5px;*/
}

.mv_point li:last-child{
	border-right:none;
}



@media screen and (max-width: 768px) {
	.mv_point ul{
		padding:10px 0;
	}
	/*
	.mv_point li{
	padding:5px 0;
}
*/

}/*END*/

@media screen and (max-width: 599px) {
	/*
	.mv_point img{
		width:95%;
	}
	*/
	.mv_point li{
		float: none;
		width: 100%;
		border-right:none;
		padding: 10px 0;
		/*
		border-bottom: 1px solid #aea17b;
		margin-bottom: 5px;
		*/
	}

	.mv_point li:last-child{
		border-bottom: none;
	}


}/*END*/

.f_shippori{
	font-family: "Shippori Mincho B1", system-ui;
	font-weight: 500;
	font-style: normal;
}
.ttl_color01{
	color: #5c71b9;
}
.spec_frame{
	max-width: 1000px;
	margin-inline: auto;
}

/*----------------------------------------
	contents
----------------------------------------*/
.rela{
	position: relative;
}
.abs{
	position: absolute;
}
.c_ttl img{
	max-width: 562px;
}

.bg_wh_beige{
	background: #f7f0e8;
}


.ttl_bg_img{
	width: 100%;
}

.ttl_bar{
	position: relative;
}

.ttl img{
	max-width: 400px;
}
.ttl{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);

}


.c_copy img{
	max-width: 550px;
}

.c_copy_2 img{
	max-width: 570px;
}


.bg_color01{
	background: #fff;
}

#plan {
    background: #000;
}
.news_inner{
	max-width: 580px;
	width: 100%;
	margin:0 auto;
	font-size: 1.6rem;
	line-height: 1.6;
	background: #fff;
    padding: 20px;
}
.news_inner li{
	margin-bottom: 15px;
	overflow: hidden;
}

.news_inner .day{
	display: block;
	width:18%;
	float: left;
}
.news_inner .title{
	display: block;
	width:79%;
	float: right;
}
.news_inner a{
	color:#000;
}



.access_deco01{
	width: 20%;
	max-width: 143px;
	position: absolute;
	top:45%;
	left:-5%;
}



.land_deco01{
	width: 15%;
	max-width: 146px;
	position: absolute;
	top: 25%;
	right: -13%;
}

.eq_deco01{
	width: 15%;
	max-width: 97px;
	position: absolute;
	top: 2%;
	right: -10%;
}
.eq_deco02{
	width: 15%;
	max-width: 143px;
	position: absolute;
	top: 16%;
	right: -5%;
}



.loc_deco01{
	width: 10%;
	max-width:64px;
	position: absolute;
	top: 18%;
	left: 10%;
}
.loc_deco02{
	width: 15%;
	max-width: 134px;
	position: absolute;
	top: 5%;
	right: 5%;
}





.outline_deco01{
	width: 15%;
	max-width:102px;
	position: absolute;
	top: -8%;
	left: -25%;
}


.pc_p_t70{
	padding-top:70px;
}


.gaiheki_point{
	position: absolute;
	width:25%;
	max-width: 120px;
	left:-6%;
	bottom:10%;
}


@media screen and (max-width: 960px) {
	.box_r65 {
	    width: 50%;
	    float: right;
	}

	.box_l65 {
	    width: 50%;
	    float: left;
	}

}/*END*/




@media screen and (max-width: 960px){
	.land_deco01{
		display: none;
	}

	.eq_deco01,.eq_deco02,.loc_deco01,.loc_deco02{
		display: none;
	}

	.outline_deco01{
		display: none;
	}

	.access_deco01{
		display: none;
	}




}/*END*/


@media screen and (max-width: 599px) {
	.box_r65,.box_l65 {
	    width: 100%;
	    float: none;
	}

	.ttl{
		width:93%;
	}


	.ttl_bg_img{
		width: 170% !important;
		margin-left: -35%;
	}

	.sp_p_b50{
		padding-bottom: 50px !important;
	}
	.sp_p_b40{
		padding-bottom: 40px !important;
	}
	.sp_p_b30{
		padding-bottom: 30px !important;
	}
	.sp_p_b20{
		padding-bottom: 20px !important;
	}
	.sp_p_b10{
		padding-bottom: 10px !important;
	}

	.sp_p_t50{
		padding-top: 50px !important;
	}
	.sp_p_t40{
		padding-top: 40px !important;
	}
	.sp_p_t30{
		padding-top: 30px !important;
	}
	.sp_p_t20{
		padding-top: 20px !important;
	}
	.sp_p_t10{
		padding-top: 10px !important;
	}

	.news_inner{
		font-size: 1.4rem;
	}
	.news_inner .day{
		display: block;
		width:28%;
		float: left;
	}
	.news_inner .title{
		display: block;
		width:70%;
		float: right;
	}


	.gaiheki_point{
		left:-3%;
	}

	.rosenzu_img{
		width: 100%;
	}

	.pc_p_t70{
		padding-top:0;
	}

	.sp_m_b50{
		margin-bottom: 70px !important;
	}






}/*END*/



/*----------------------------------------
	contact
----------------------------------------*/

.contact_frame{
	background: url("../images/contact_bg.jpg") no-repeat;
	background: #fff; 
	background-size:cover;
	background-position: bottom;
	text-align: center;
}

.contact_frame{
    position: relative; /* これ必須 */
}

.contact_frame{
  padding-top: 100px;
  padding-bottom: 100px;
}
/* NEXT全体 */
.contact_next{
    position: absolute;
    right: 40px;
    bottom: 40px;
    text-align: center;
    z-index: 10;
}

/* 画像 */
.contact_next img{
    width: 170px; /* 好きなサイズに調整 */ 
	height: auto;
    margin-bottom: 8px;
}

/* NEXT文字 */
.contact_next span{
    display: block;
    font-size: 20px;    /* ← 大きく */
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #000;
    font-family: "Shippori Mincho B1", serif;
}

.contact_ttl img{
	max-width: calc(840px / 2);
}

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

	/* .contact_frame{ background-size: auto 100%; } */

}/*END*/

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


}/*END*/

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


}/*END*/


/*----------------------------------------
	footer
----------------------------------------*/
.foot_bg{
	background: #ea7f1c;
	color:#000;
}

.foot_logo{
	width:70%;
}

.foot_logo img{
	max-width:296px;
}

.copyright{
	font-size: 1.1rem;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 15px;
	color:#000;
}

@media print, screen and (min-width: 769px) {

	footer .inner_frame .clearfix{
		margin-left: auto;
		margin-right: auto;
		width: 600px;
	}


}/*END*/

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

	footer{ text-align: center; }


}/*END*/

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

	.copyright{ font-size: 1rem; }

}/*END*/




/*----------------------------------------
	page top
----------------------------------------*/
.page_top{
	width: 50px;
	position: fixed;
	right: 0;
	bottom: 0;
	z-index: 49;
}
.page_top a{
	display: block;
	text-align: center;
	padding-top: 28px;
	padding-bottom: 20px;
	line-height: 0;
	background: #1d1512;
}

.page_top a::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-left: 2px solid #FFF;
    border-top: 2px solid #FFF;
    -webkit-transform: scaleY(0.9) rotate(45deg);
    -moz-transform: scaleY(0.9) rotate(45deg);
    -ms-transform: scaleY(0.9) rotate(45deg);
    -o-transform: scaleY(0.9) rotate(45deg);
    transform: scaleY(0.9) rotate(45deg);
    position: absolute;
    top: 7px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

@media screen and (max-width: 768px){
	.page_top{
		width: 40px;
		right: 0;
		bottom: 55px;
	}

	.page_top a{
		padding-top: 20px;
		padding-bottom: 20px;
	}

}/*END*/


.bg_sky{
	background-image: url(../images/plan_bg.png);
	background-position: center top;
	background-color: #e1f0fc;
	background-size: cover;
}

.text_center{
	text-align: center;
}
.spec_grid{
	display: grid;
	grid-template-columns: repeat(2,1fr);
	box-sizing: border-box;
	padding: 50px 0 80px 0;
	margin-top: 10px;
	column-gap: 5%;
	row-gap: 100px;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
@media screen and (max-width: 599px){
	.spec_grid{
		grid-template-columns: repeat(1,1fr);
		row-gap: 50px;
	
	}
	.text_center{
		text-align: left;
	}
	
	
}
.contact_tel_ttl img{
	max-width: calc(726px / 2);
}
.bg01{
	background-color: #ebf6f9;
}
.spec_inner{
	border: 1px solid #579edb;

}





@media screen and (min-width: 600px){

	.sp_menu{
		position: fixed;
		bottom: 10vh!important;
		right: -150px;
		transition: all 0.4s;

	}
	.sp_menu img{
		max-width: 55px;
	}
	.sp_only{
		display: none!important;
	}
	
}

.jitume{
	font-feature-settings: "palt";
}


.plan_img_flex{
	display: flex;
	justify-content: space-between;
}
.plan_img_flex > div:first-of-type{
	width: 35%;
}
.plan_img_flex > div:last-of-type{
	width: 60%;
	padding-top: 30px;
}

@media screen and (max-width: 599px){
	.spec_inner{
		padding-left: 3.5%;
		padding-right: 3.5%;
	}
	.plan_img_flex{
		flex-direction: column;
	}
	.plan_img_flex > div:first-of-type,.plan_img_flex > div:last-of-type{
		width: 100%;
	}
	
	.pc_only{
		display: none!important;
	}
	.sp_menu{
		max-width: 500px;
		position: fixed;
		left: 0;
		right: 0;
		bottom: -150px;
		transition: all 0.4s;
		margin: auto;
		background: #fff;
		z-index: 10;
	}
	.sp_menu li{
		float: left;
		width: 50%;
	}
	
}


.concept_intro_deco01{
	right: 7%;
	top: 0;
	width: calc((122 / 1040) * 100%);
}
.land_deco{
	left: 0%;
	top: 7%;
	width: calc((178 / 1040) * 100%);
}
.plan_deco01{
	right: 0%;
	top: 10%;
	width: calc((173 / 1040) * 100%);
}
.plan_deco02{
	right: 0%;
	top: 83%;
	width: calc((126 / 1040) * 100%);
}
.spec_deco{
	left: 0%;
	top: 2%;
	width: calc((213 / 1040) * 100%);
}
.access_deco{
	right: 5%;
	top: -8%;
	width: calc((149 / 1040) * 100%);
}
.location_deco{
	left: 0%;
	top: 3%;
	width: calc((122 / 1040) * 100%);
}
.gaieki_point{
	bottom: 8%;
	left: 0;
	translate: -25% 0;
	width: calc((120 / 483) * 100%);
}
@media screen and (max-width: 1040px) {
	.gaieki_point{
		translate: -12% 0;
	}

	
/* page_main_text を画面横いっぱいにする */
.page_main_text {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    padding: 60px 20px;   /* 上下・左右の余白（調整可） */
    box-sizing: border-box;
}	

	
	/* 特定の inner_frame を全幅にする */
#plan .inner_frame.p_b100 {
    width: 100vw;
    max-width: none;

    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    padding-left: 0;
    padding-right: 0;
}
#feature .inner_frame {
	max-width: 1400px;
}

.two_images {
	width: 100%;
}
.contact_next span {
	font-family: 'Arial', 'Helvetica Neue', sans-serif;
	font-size: 10px;
	font-weight: 300;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	color: #000;
}

.contact_frame {
	min-height: auto;    /* ← 高さをここで調整 */
	padding-top: 60px;
	padding-bottom: 60px;
}	


	
/* ギャラリー部分の inner_frame を全幅にする */
.inner_frame.p_b100 {
    width: 100vw;
    max-width: none;

    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);

    box-sizing: border-box;
}
	
}
/* ヘッダーロゴを大きくする */
.head_logo img.toplogo {
  width: 300px;   /* 好みで調整（例: 220〜300px） */
  height: auto;
}

/* ギャラリー画像の高さ指定 */
.gallery_swiper img {
  max-height: 450px;   /* ← ここを変更 */
  width: auto;
  max-width: 100%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}
/* ===== Swiper ギャラリー調整 ===== */

/* Swiper全体 */
.gallery_swiper {
  width: 100%;
  max-width: 1100px;   /* 好みで調整 */
  margin: 0 auto;      /* ← センター寄せ */
}

/* スライド */
.gallery_swiper .swiper-slide {
  display: flex;
  justify-content: center; /* 横センター */
  align-items: center;     /* 縦センター */
}

/* 画像本体 */
.gallery_swiper img {
  width: 100%;
  height: auto;        /* ← 縦切れ防止 */
  max-height: 70vh;    /* 画面からはみ出さない */
  object-fit: contain;/* ← 全体表示 */
}
/* ギャラリー全体の高さ */
.gallery_swiper {
  width: 100%;
  max-width: 1000px;   /* 横幅（中央寄せ用） */
  height: 600px;       /* ← ここで高さを調整 */
  margin: 0 auto;      /* センター寄せ */
  overflow: hidden;
}
/* ヘッダーロゴ 強制的に大きくする */
.head_logo img {
  width: 400px !important;
  max-width: none !important;
  height: auto;
}
@media print, screen and (max-width: 767px){
  .head_logo{
    width: auto !important;
  }
}
header{
  padding: 20px 0;   /* ← 数字を変えて調整 */
}

 
.nav_sp_none {
    text-align: center;
}
.btn_gotop_wrapper {
    text-align: center; /* 中央寄せ */
}
/*----------------------------------------
    contact
----------------------------------------*/
.contact_frame {
    width: 100%;
	min-height:300px;
	background-color; #fff
    background: url("../images/contact_bg.jpg") no-repeat center bottom;
    background-size: cover;
    text-align: center;

    /* 高さを自然に */
    min-height: 300px;      /* 内容に応じる */
    padding: 40px 20px;    /* 上下の余白 */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    position: relative;
    gap: 30px;             /* TOPとNEXTの間隔 */
}

/* NEXT ボタン・文字 */
.contact_next {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;      /* 上余白 */
    font-size: 16px;       /* NEXT文字サイズ */
    font-family: "Shippori Mincho B1", serif;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #000;
}

.contact_next img {
    width: 170px;   /* 画像サイズ */
    height: auto;
    margin-bottom: 8px;
}

/* ギャラリーに NEXT が被らないように下余白確保 */
.contact_frame .contact_next,
.contact_frame .nav_sp_none {
    margin-bottom: 15px;
}

/* ===== メディアクエリ：スマホ用 ===== */
@media screen and (max-width: 599px) {
    .contact_frame {
        padding: 20px 10px;
        gap: 20px;
    }

    .contact_next {
        margin-top: 20px;
        font-size: 14px;
    }

    .contact_next img {
        width: 120px;  /* スマホで縮小 */
    }
}

/* PC大画面（画面幅1200px以上） */
@media screen and (min-width: 1200px) {
    .contact_frame {
        padding: 60px 40px;
    }

    .contact_next {
        margin-top: 40px;
        font-size: 18px;
    }

    .contact_next img {
        width: 180px;
    }
}
.concept_title {
    font-size: 55px;
    text-align: left;
    margin-left: 0;
}

/* concept が入っている白背景全体も左寄せにする */
.page_main_text {
    text-align: left;
}
/* concept・gallery 見出しを左寄せ */
.page_main_text {
    text-align: left;
}

/* 見出しサイズ調整 */
.page_main_text .page_main_title {
    font-size: 60px;
}
.text_16 {
    text-align: center;
}
/* concept / gallery 共通で左寄せ */
.page_main_text {
    text-align: left;
}

/* 見出しサイズ（統一） */
.page_main_text .page_main_title {
    font-size: 60px;
}
.next_text {
    font-size: 13px;
    color: #000;
    letter-spacing: 0.15em;
    margin-top: 6px;
}
/* concept / gallery 見出しを左寄せに固定 */
.page_main_text .page_main_title {
    text-align: left !important;
    font-size: 60px;
}
/* Swiper 矢印を外側へ移動 */
.gallery_swiper .swiper-button-prev {
    left: -60px;   /* ← 左に外す（数値調整OK） */
}

.gallery_swiper .swiper-button-next {
    right: -60px;  /* ← 右に外す（数値調整OK） */
}
@media screen and (max-width: 768px) {
    .gallery_swiper .swiper-button-prev {
        left: 10px;
    }
    .gallery_swiper .swiper-button-next {
        right: 10px;
    }
}
/* ===== Swiper 矢印 完全復活 ===== */

/* Swiperの外枠を基準にする */
.gallery_swiper {
    position: relative;
    overflow: visible !important; /* ← 切られ防止 */
}

/* 矢印 共通 */
.gallery_swiper .swiper-button-prev,
.gallery_swiper .swiper-button-next {
    z-index: 50;                 /* ← 最重要 */
    color: #000;                 /* ← 黒に強制 */
    width: 44px;
    height: 44px;
}

/* 左右位置（外側） */
.gallery_swiper .swiper-button-prev {
    left: -80px;
}

.gallery_swiper .swiper-button-next {
    right: -80px;
}
@media screen and (max-width: 768px) {
    .gallery_swiper .swiper-button-prev {
        left: 10px;
    }
    .gallery_swiper .swiper-button-next {
        right: 10px;
    }
}
/* ===== ギャラリー：コメント被り解消 ===== */

/* Swiperの高さを固定しない */
.gallery_swiper {
    height: auto !important;
    overflow: visible !important;
    margin-bottom: 40px; /* ← コメントとの距離 */
}

/* 画像自体の最大高さだけ制御 */
.gallery_swiper img {
    max-height: 70vh;
}

/* コメントを確実に前面＆下に */
.gallery_swiper + .text_16 {
    position: relative;
    z-index: 1;
    margin-top: 20px;
    text-align: center;
}
/* 両端の画像を隠す */
.gallery_swiper {
    overflow: hidden !important;
}
/* ===== ギャラリー最終安定版 ===== */

/* Swiper本体 */
.gallery_swiper {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 40px;
    height: auto !important;
    overflow: hidden !important; /* ← ここは hidden で正解 */
}

/* スライド中央寄せ */
.gallery_swiper .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 画像 */
.gallery_swiper img {
    width: auto;
    max-width: 100%;
    max-height: 70vh;
    object-fit: contain;
}

/* 矢印（画像の内側・目立つ） */
.gallery_swiper .swiper-button-prev,
.gallery_swiper .swiper-button-next {
    z-index: 10;
    color: #000;
    width: 48px;
    height: 48px;
}

/* 矢印位置 */
.gallery_swiper .swiper-button-prev {
    left: 15px;
}
.gallery_swiper .swiper-button-next {
    right: 15px;
}

/* 矢印を白丸で強調 */
.gallery_swiper .swiper-button-prev,
.gallery_swiper .swiper-button-next {
    background: rgba(255,255,255,0.85);
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/* 矢印アイコン */
.gallery_swiper .swiper-button-prev::after,
.gallery_swiper .swiper-button-next::after {
    font-size: 20px;
    font-weight: bold;
}
/* NEXT 全体をリンク化 */
.next_link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
}

/* hover 時に分かるように */
.next_link:hover {
    opacity: 0.7;
}
/* ヘッダー ロゴ横の施工実績 */
.header_l{
  display: flex;
  align-items: center;
}

.header_works{
  margin-left: 60px;
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #000;
  font-family: 'メイリオ', Meiryo;
  white-space: nowrap;
}
/* ===== メイン画像 左上テキスト ===== */

/* 画像の親を基準にする */
.mv_h{
  position: relative;
}

/* 重ねる文字全体 */
.mv_text{
  position: absolute;
  top: 40px;      /* 上からの距離 */
  left: 40px;     /* 左からの距離 */
  color: #fff;
  text-align: left;
  z-index: 5;
}

/* 小さな補足文字 */
.mv_text_small{
  font-size: 14px;
  letter-spacing: 0.25em;
  margin-bottom: 10px;
  font-weight: 500;
}

/* メインタイトル */
.mv_text_title{
  font-size: 48px;
  line-height: 1.3;
  font-weight: 700;
  margin: 0;
}
.header_works .works_en {
  font-size: 0.7em;   /* 親文字の70%サイズ */
  margin-left: 6px;  /* 少し間を空ける（任意） */
}
.mv_text_small {
  font-size: 22px;  /* 今より少し大きく */
}
/* concept 説明文を大きく */
.page_main_text {
  font-size: 22px;   /* ← ここを大きくする */
  line-height: 2.0;
}
/* メインビジュアル（PC）高さ調整 */
.mv_pc {
  height: 555px;      /* ← 好きな高さに変更 */
  object-fit: cover; /* 縦横比を保ったままトリミング */
  width: 100%;
}

