/*
Last Updated: 2023-4-17
site:negi
Author:zeal
*/

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

html{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	/*font-family:'游明朝体','Yu Mincho','ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro','ＭＳ Ｐ明朝','ＭＳ 明朝','Sawarabi Mincho',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;
}
.noto{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
}

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&family=Shippori+Mincho+B1:wght@400;500;600;700;800&display=swap');
.eb_garamond{
	font-family: "EB Garamond", serif;
	font-weight: 400;
}

.shippori{
	font-family: "Shippori Mincho B1", serif;
	font-weight: 400;
}




body{ font-size:1.4rem; font-size: 1.4em; }

body{
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
}

img{ vertical-align: bottom; }
a{
	color:#14184c;
	transition: all 0.3s;
	text-decoration: none;
}
a:hover{
	opacity: 0.7;
	transition: all 0.3s;
}
a, .op img{ transition: all 0.3s; }
a:hover, .op:hover img{
	opacity:0.70;
	transition: all 0.3s;
}

.max_respon{max-width:100%;}
#container{ overflow: hidden; }
li{ list-style:none; }
.center{ text-align:center; }
.text_right{ text-align:right; }

.clear{
	clear:both;
}


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

	p{text-align:left;}

	.sp_text_center{
		text-align: center;
	}

}/*END*/


/*
@media (min-width: 769px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
}
*/


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

p{ line-height: 2; }
.text_bold{ font-weight: bold; }
.text_normal{ font-weight: normal; }
.text_white{ color:#fff; }
.text_gray{ color:#8c8c8c; }
.text_b_gray{ color:#535353; }
.text_em{ color:#34babd }
.text_blue{ color: #218ac0; }
.text_green{ color:#368547; }
.text_yellow{ color:#fff100; }

.italic{
	font-style: italic;
}

.text_bold500{ font-weight: 500; }

.text_10{ font-size:1rem !important; }
.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_22{ font-size:2.2rem !important; }
.text_26{ font-size:2.6rem !important; }
.text_36{ font-size:3.6rem !important; }
.text_48{ font-size:4.8rem !important; }

.text_60{ font-size:clamp(24px, 5.17vw, 60px); }
.lh_10{ line-height:1; }

.lh_28{ line-height: 2.8 !important; }
.lh_26{ line-height: 2.6 !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; }
.ls_1{ letter-spacing: 1px; }
.ls_2{ letter-spacing: 2px; }
.ls_3{ letter-spacing: 3px; }
.ls_4{ letter-spacing: 4px; }

.ls_-1{ letter-spacing: -1px; }
.ls_-2{ letter-spacing: -2px; }

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

	.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) {

}/*END*/

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

	p{ line-height: 1.8; }
	.text_16{ font-size: 1.5rem; }
	.text_18{ font-size: 1.5rem; }
	.text_20{ font-size:1.6rem !important; }
	.text_24{ font-size: 2.2rem !important; }
	.text_26{ font-size:2.4rem !important; }

	.text_28{ font-size: 1.9rem !important; }
	.text_30{ font-size: 2rem !important; }
	.text_32{ font-size: 2rem !important; }

	.text_40{ font-size:3rem !important; }
	.text_42{ font-size:3.2rem !important; }
	.text_50{ font-size:3.6rem !important; }
	.text_55{ font-size:3.8rem !important; }

	.text_sp16{ font-size: 1.6rem !important; }
	.text_sp25{ font-size: 2.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_24{ font-size: 1.8rem !important; }
	.text_26{ font-size:2.0rem !important; }

	.text_28{ font-size: 2.1rem !important; }
	.text_30{ font-size: 2.2rem !important; }
	.text_32{ font-size: 2.3rem !important; }
	.text_40{ font-size: 2.8rem !important; }

	.sp_text_left{
		text-align: left;
	}

	.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; }

}


/*----------------------------------------
	layout
----------------------------------------*/

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


.large_inner_frame{
	width: 100%;
	max-width:1265px;
	position: relative;
	box-sizing: border-box;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: auto;
	margin-left: auto;
}

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

.block{ display:block !important; }
.none{ display:none !important; }


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

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



}/*END*/

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

	.inner_frame{
		width: 1160px;
		padding-right: 20px;
		padding-left: 20px;
		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%;
	}

	.sp_center{
		text-align: center;
	}

}/*END*/



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

.box_r65{
	width:68%;
	max-width:700px;
	float:right;
}
.box_l65{
	width:68%;
	max-width:700px;
	float:left;
}

.box_r60{
	width:60%;
	float:right;
}
.box_l60{
	width:60%;
	float:left;
}
.box_r40{
	width:36.4%;
	float:right;
}
.box_l40{
	width:36.4%;
	float:left;
}

.box_r50{
	width:50%;
	float:right;
}
.box_l50{
	width:50%;
	float:left;
}

.loc_box_l{
	width:48.3%;
	float: left;
}
.loc_box_r{
	width:48.3%;
	float: right;
}



.box_l80{
	width:80%;
	float:left;
}
.box_r20{
	width:17.2%;
	float:right;
}




.fl_R{
	float:right;
}


.list_three{ margin-left: -2.5%; }
.list_three li{
	position: relative;
	float: left;
	margin-bottom: 30px;
	box-sizing: border-box;
	width: 30.8%;
	margin-left: 2.5%;
}
.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%;
}




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



@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{
		float: none;
		width: 100%;
	}

	.box_l50,.box_r50{
		float:none;
		width:100%;
	}



	.box_l80,.box_r20{
		width:100%;
		float:none;
	}

	.box_r20{
		padding-top: 30px;
		padding-bottom: 30px;
	}




	.list_three{
		margin-left:-3%;
	}
	.list_three li{
		float: left;
		width: 47%;
		margin-left:3%;
		margin-bottom: 15px;
	}

	.list_three li:nth-child(3n+1) {
	    clear: none;
	}
	.list_three li:nth-child(2n+1) {
	    clear: both;
	}


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

	.merit.list_three li:nth-child(3n+1) {
	    clear: none;
	}
	.merit.list_three li:nth-child(2n+1) {
	    clear: none;
	}


}/*END*/





/*----------------------------------------
ヘッダーCSS
----------------------------------------*/
header{
	width: 100%;
	background: #232323;
}
.head_inner{
	box-sizing: border-box;
	width: 100%;
	  padding:10px 20px 10px 20px;
	  display: flex;
	  justify-content: space-between;
	  align-items: center;
}

.header_l{
	width: 25%;
}

.header_r{
	width: 75%;
}

.head_nav_fl{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	color: #fff;
	gap: 2%;
}

.head_list_img_pd{
	padding-left: 20px;
}

.head_nav_fl a{
	color: #fff;
}

h1.read{
	font-size: 1.1rem;
	font-weight: normal;
	color: #e3e3e3;
}

.logo{
	padding: 10px 0;
}

.head_logo img{
	width: 100%;
	max-width: 211px;
}

.head_nav_tex{
	display: none;
}

.head_list_img_contact img{
	width: 100%;
	max-width: 200px;
}
.head_list_img_contact{
	width: 14.81%;
}

.head_btn_c{
	text-align: center;
	color: #fff;
	padding: 15px 6px;
	width: 100%;
	max-width: 200px;
	border:1px solid #fff;
	box-sizing: border-box;
}



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

	.head_list_img_contact{
		width: 15%;
	}
	.head_nav_fl{
		gap: 1.4%;
	}

}/*END*/

@media screen and (max-width: 1280px){
	.header_l{
		width: 20%;
	}
	.header_r{
		width: 80%;
	}

	.head_nav_fl{
		gap:15px;
	}
	.head_list_img_contact{
		width: 15%;
	}

}/*END*/

@media screen and (max-width: 1060px){
	.head_nav_fl{
		gap: 8px;
	}

}/*END*/

@media screen and (max-width: 990px){
	.head_inner{
		padding:8px 15px 15px 10px;
	}

	.head_list_img_pd{
		padding-left: 8px;
	}

}/*END*/


@media screen and (max-width: 990px) and (min-width: 881px){
	.head_nav_fl{
		gap: 5px;
		font-feature-settings: "palt";
	}

}/*END*/

@media screen and (max-width: 880px){
	.logo{
		padding: 13px 0 0 0;
	}

	.head_inner{
		padding: 5px 10px 15px 10px;
		align-items: initial;
	}

	.head_nav_fl{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		width: 90%;
		max-width: 360px;
		margin: 0 auto;
	}

	.head_nav_fl li{
		padding:0;
	}

	.drawer li.nav_bnr a{
		padding: 0 !important;
	}

	li.nav_bnr{
		width: 47%;
		margin-bottom: 5px;
	}

	.head_nav_tex{
		display: block;
		width: 100%;
	}


}/*END*/



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

	.header_l{
		width: 45%;
	}

	.header_r{
		width: 65%;
	}

	.head_inner{
		position: relative;
	}


	h1.read{
		position: absolute;
		left:5px;
		letter-spacing: -1px;
	}



}/*END*/







/*----------------------------------------
	ドロワー
----------------------------------------*/


.drawer li a{
	position: relative;
	display: block;
	transition: all 0.4s;
	font-size: 1.4rem;
}

.drawer li a:hover{
	opacity: 0.7;
}


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

  .drawer li a {
    font-size: 1.2rem;
  }

}/*END*/

@media screen and (max-width: 1000px){
  .drawer li a {
    font-size: 1.1rem;
  }


}/*END*/
@media screen and (max-width: 880px){

	.menu_btn{
		width: 50px;
	    height: 45px;
		position: fixed;
		top: 15px;
		right: 15px;
		cursor: pointer;
		z-index: 9999;
		background: #000;
	}
	.menu_btn span{
		display: inline-block;
		width: 70%;
		height: 1px;
		background: #fff;
		position: absolute;
		left: 15%;
		transition: all 0.5s;
	}
	.menu_btn span:nth-child(1){
		top: 25%;
	}
	.menu_btn span:nth-child(2){
		top: 50%;
	}
	.menu_btn span:nth-child(3){
		bottom: 22%;
	}
	.open .menu_btn span{
		background: #fff;
	}
	.menu_btn:hover span{
		background: #ccc;
		opacity: 0.9;
	}
	.open .menu_btn span:nth-child(1){
		transform: rotate(-45deg);
		margin-top: 14px;
	}
	.open .menu_btn span:nth-child(2){
		opacity: 0;
	}
	.open .menu_btn span:nth-child(3){
		transform: rotate(45deg);
		margin-bottom: 15px;
	}
	.drawer{
		position: fixed;
		background: rgba(0, 0, 0, 0.9);
		top: 0;
		right: 0;
		width: 100%;
		height: 100vh;
		color: #fff;
		/*display: flex;*/
		justify-content: center;
		visibility: hidden;
		opacity: 0;
		transform: translateX(100%);
		transition: 0.5s ease-in-out;
		z-index: 99;
	}
	.drawer ul{
		float: none;
		text-align: center;
		padding-top: 80px;
	}
	.drawer ul li{
		float: none;
		position: relative;
		transform: translateX(-150px);
		transition: transform 0.5s ease;
		margin-left: 0;
		margin-bottom: 10px;
		width: 100%;
	}
	.drawer ul li:nth-child(2){ transition-delay: 0.1s; }
	.drawer ul li:nth-child(3){ transition-delay: 0.15s; }
	.drawer ul li:nth-child(4){ transition-delay: 0.2s; }
	.drawer ul li:nth-child(5){ transition-delay: 0.25s; }
	.drawer ul li:nth-child(6){ transition-delay: 0.3s; }
	.drawer ul li:nth-child(7){ transition-delay: 0.35s; }
	.drawer ul li:nth-child(8){ transition-delay: 0.4s; }
	.drawer ul li:nth-child(9){ transition-delay: 0.45s; }
	.drawer ul li a{
		position: relative;
		transition: all 0.4s;
		display: inline-block;
		font-size: 1.6rem;
		color: #fff;
		text-decoration: none;
		cursor: pointer;
		font-weight: normal;
		padding: 15px 0;
	}
	.drawer li:first-child a{
		background: none;
		padding: 15px 0;
	}
	.drawer li:first-child a:hover{
		background: none;
	}
	.open .drawer{
		visibility: visible;
		opacity: 1;
		transform: translateX(0);
	}
	.open .drawer ul li{
		transform: translateX(0);
	}

}/*END*/

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

	.menu_btn{
		left: auto;
		right: 2.5%;
		width: 45px;
		height: 40px;
		margin-left: auto;
		top: 15px;
	}
	.open .menu_btn span:nth-child(1){
		margin-top: 9px;
	}
	.open .menu_btn span:nth-child(3){
		margin-bottom: 12px;
	}

	.drawer ul{
		padding-top: 65px;
	}
	.drawer ul li{
		transform: translateX(-70px);
	}
	.drawer ul li a{
		font-size: 1.5rem;
	}



}/*END*/









/*----------------------------------------
	MV
----------------------------------------*/
.mv{
	padding:80px 0;
}

.mv_frame{
	position: relative;
	/*aspect-ratio: 290 / 407;*/
}

.mv_sec01{
	position: relative;
	margin-bottom: 50px;
	aspect-ratio: 580 / 353;
}
.mv_sec02{
	position: relative;
	aspect-ratio: 58 / 43;
}

.mv_p01{
	width: 35%;
	max-width: 407px;
	position: absolute;
	top:0;
	left: 0;
}

.mv_p02{
	width: 28%;
	max-width: 329px;
	position: absolute;
	top:0;
	right: 0;
}

.mv_copy{
	width: 62%;
	max-width: 727px;
	position: absolute;
	top:60%;
	left: 0;
}

.mv_p03{
	width: 27%;
	max-width: 312px;
	position: absolute;
	bottom:0;
	right: 5%;
}


.mv_figure{
	width: 36%;
	max-width: 417px;
	position: absolute;
	top:0;
	left: 12%;
}

.mv_concept{
	width: 15%;
	max-width: 180px;
	position: absolute;
	top:6%;
	right: 25%;
}

.mv_p04{
	width: 21%;
	max-width: 244px;
	position: absolute;
	top:30%;
	left: -3%;
}
.mv_p05{
	width: 19%;
	max-width: 216px;
	position: absolute;
	top:36%;
	right: -5.5%;
}

.mv_concept_tex{
	width: 50%;
	max-width: 525px;
	position: absolute;
	top: 53%;
	left: 50%;
	transform: translateX(-50%);
}






.scroll_area{

}
.scroll {
	width: 8%;
	max-width: 25px;
	position: absolute;
	top:40%;
	right: -10%;
    cursor: pointer;
    text-decoration: none;
    color: #000;
}
.scroll span {
    color: #000;
    text-align: center;
	writing-mode: vertical-lr;
	  font-size: 1.5rem;
	  font-weight: normal;
	  position: absolute;
		top: -80px;
		  right: -1px;
		  height: 100px;

}
.scroll_arrow {
    position: absolute;
    top: 1.25em;
    left: 1em;
    animation: 2s arrow-animation infinite ease-in-out;
    width: 0;
    height: 5em;
    border: .5px solid #000;
}
.scroll_arrow::after {
    content: '';
    display: block;
    position: absolute;
    top: 100%;
    left: -3.5px;
    width: 1px;
    height: 8px;
    border-top: 8px solid #000;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
}
@keyframes arrow-animation {
    0% {
        height: 1em;
    }
    66% {
        height: 5em;
    }
}






@media screen and (max-width: 1440px){
	.scroll{
		right: 0;
	}

}/*END*/

@media screen and (max-width: 1200px){
	.scroll{
		right: 1.5%;
	}

}/*END*/
@media screen and (max-width: 599px){

	.mv{
		padding:25px 0;
	}

	.mv_copy{
		width: 90%;
	}

	.mv_p01{
		width: 45%;
	}

	.mv_p03 {
	  bottom: -15%;
	  right: 3%;
	}

	.mv_p04 {
		width: 27%;
	    top: 30%;
	    left: 2%;
	}

	.mv_p05 {
	    width: 16%;
	    top: 35%;
	    right: 4%;
	}


	.mv_concept{
	  width: 30%;
	  top: 6%;
	  right: 6%;
	}
	.mv_figure {
	  width: 58%;
		top: 3%;
  		left: 2%;
	}

	.mv_sec02 {
	  position: relative;
	  aspect-ratio: 58 / 99;
	}
	.mv_concept_tex{
		width:100%;
		top:60%;
	}


	.scroll span{
		font-size: 1.2rem;
	}
	.scroll_arrow {
	  top: 0.5em;
	  left: 1.2em;
	  height: 4em;
	}
	@keyframes arrow-animation {
	    0% {
	        height: 1em;
	    }
	    66% {
	        height: 4em;
	    }
	}










}/*END*/




/*ぱんくず*/
.pan_inner{
    box-sizing: border-box;
}
.pan_nav{
	color: #000;
	padding: 0 0 8px 0;
}
.pan_nav li{
	float: left;
	white-space: nowrap;
	line-height: 1.2;
}
.pan_nav a{
	color: #000;
	text-decoration: none;
}
.pan_nav a:hover{
	color: #333;
	text-decoration: underline;
}
.pan_nav a:after{
	content: "＞";
	color: #000;
	font-size: 1.1rem;
	padding-left: 10px;
	margin-right: 10px;
	display: inline-block;
	vertical-align: middle;
}


@media screen and (max-width: 599px){
	.pan_nav li{
		font-size:1.1rem;
	}




}/*END*/






/*----------------------------------------
	contents
----------------------------------------*/

a[href^="tel:"] {
	  pointer-events: auto !important;
	  cursor: pointer !important;
}

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

.rela{
	position:relative;
}

.bg_black{
	background: #000;
}
.bg_dark{
	background: #333333;
}
.bg_em{
	background: #32b6bc;
}
.bg_gray{
	background: #f2f2f2;
}

.inner_frame950{
	width: 100%;
	max-width: 1000px;
	margin-inline: auto;
	padding-inline: 20px;
	box-sizing: border-box;
}



.ttl img{
	max-width:356px;
}


.content_fl_box{
	display: flex;
	gap: 4%;
}

.content_fl_box.between{
	justify-content: space-between;
}


.content_fl_box.ai_center{
	align-items: center;
}

.content_fl_box.reverse{
	flex-direction:row-reverse;
}
.content_fl_box.ai_center{
	align-items: center;
}


.content_fl_box50{
	display: flex;
}

.box60{width: 60%; }
.box55{width: 55%; }
.box50{width: 50%; }
.box40{width: 40%; }
.box45{width: 45%; }
.box47{width: 47.5%; }
.box25{width: 25%; }
.box75{width: 75%; }



.rounded_corners{
	background: #fff;
	border-radius: 30px;
	width: 100%;
	box-sizing: border-box;
	padding: 50px;
}


.sub_tex img{
	max-width: 402px;
}


.fl_list_three{
	display: flex;
	flex-wrap: wrap;
	gap:50px 3.5%;
}
.fl_list_three li{
	width: 31%;
}

.fl_list_three.gap_s{
	gap:40px 2%;
}
.fl_list_three.gap_s li{
	width: 32%;
}



.fl_reason_area{
	display: flex;
	justify-content: center;
	gap: 18px;
	flex-wrap: wrap;
}

.fl_reason_area .item{
	width: 47%;
	text-align: center;
}


.reason_photo_area{
	width: 100%;
	position: relative;
	aspect-ratio: 145 / 33;
}

.reason_photo01{
	width: 25%;
	max-width: 290px;
	position: absolute;
	top:0;
	left: 2%;
}
.reason_photo02{
	width:33%;
	max-width: 344px;
	position: absolute;
	top:11%;
	left: 35%;
}
.reason_photo03{
	width:23%;
	max-width: 271px;
	position: absolute;
	top:2%;
	right: 2%;
}


.reason_deco_tex{
	max-width: 82px;
	width: 6%;
	position: absolute;
	top:0;
	right: 0;
}




.fl_strengths{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
}
.fl_strengths .item{
	/*width: 47.8%;*/
}

.fl_strengths .tex_box{
	width: 86%;
}
.fl_strengths .in_right{
	float: right;
}

.nm_t50{
	margin-top:-50px;
}

.st_mt01{
	margin-top:110px;
}
.st_mt02{
	margin-top:-30px;
}
.st_mt03{
	margin-top:30px;
}
.st_mt04{
	margin-top:-30px;
}
.st_mt05{
	margin-top:30px;
}


.strengths_deco01{
	max-width: 576px;
	width: 49%;
	position: absolute;
	bottom: 1.5%;
	left: -1%;
}
.strengths_deco02{
	max-width: 271px;
	width: 23%;
	position: absolute;
	bottom:0;
	right: 1%;
}

.strengths_deco_tex{
	max-width: 82px;
	width: 6%;
	position: absolute;
	top:0.5%;
	left: 0;
}


.strengths_area{
	padding-bottom: 15%;
}

.strengths_img02{
	width: 100%;
	max-width: 469px;
}
.strengths_img03{
	width: 100%;
	max-width: 373px;
}



.cost_tex_box{
	background: #fff;
	width: 100%;
	box-sizing: border-box;
	padding:4%;

}

.cost_tex_box .inner{
	width: 100%;
	max-width: 680px;
	margin:20px auto;
}

.h_border{
	display: inline-block;
	padding-bottom: 7px;
	border-bottom: 1px solid #000;
}

.cost_tex_box .inner980{
	width: 100%;
	max-width: 1000px;
	margin:20px auto;
}


.cost_deco_tex{
	max-width: 82px;
	width: 6%;
	position: absolute;
	top:1%;
	right: 0;
}


.seid_data_area{
	background: #f2f2f2;
	padding: 12px 10px;
	box-sizing: border-box;
	line-height: 1.4;
	letter-spacing: 0.5px;
}
.seid_data_area .cate{
	display: inline-block;
	background: #000;
	color: #fff;
	padding: 3px 8px 2px 8px;
	text-align: center;
	margin-right: 12px;
}

.ttl_black_bar{
	background: #000;
	color: #fff;
	font-weight: 600;
	letter-spacing: 1px;
	text-align: center;
	padding: 10px 10px 8px 10px;
}

.reform_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.reform_list li{
	width: 32%;
	text-align: center;
}

.reform_list_pt02{
	margin-top:45px;
}
.reform_list_pt03{
	margin-top:100px;
}
.reform_list_pt04{
	margin-top:-80px;
}
.reform_list_pt05{
	margin-top:-25px;
}
.reform_list_pt06{
	margin-top:25px;
}


.reform_deco_head{
	width: 13.5%;
	max-width: 157px;
	position: absolute;
	top: 3%;
	right: 0;
}

.reform_deco{
	width: 30%;
	max-width: 355px;
	position: absolute;
	bottom: -6%;
	left: 6%;
}

.reform_deco_tex{
	max-width: 82px;
	width: 6%;
	position: absolute;
	top:1%;
	left: 0;
}

.renovation_deco_tex{
	max-width: 82px;
	width: 6%;
	position: absolute;
	top:1%;
	right: 0;
}


.reform_list_four{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:10px;
}
.reform_list_four li{
	width: 23%;
}

.bg_kon{
	background: #1d5063;
}


.v_contact_set_fl{
	display: flex;
	justify-content: space-between;
	gap: 15px;
}
.v_contact_set_fl div{
	width: auto;
}
.v_contact_set_fl div img{
	max-width: 300px;
}


.link_line_w{
	border-bottom: 1px solid #fff;
	padding-bottom: 5px;
}


.contact_deco_tex{
	max-width: 658px;
	width: 56.7%;
	position: absolute;
	top:0;
	left:50%;
	transform: translateX(-50%);
}

.rela_z2{
	position: relative;
	z-index: 2;
}

.text_c60{ font-size:clamp(44px, 6vw, 60px); }









/* table */
.outline_tb{
	width: 100%;
	line-height: 2;
	border-top: 1px solid #fff;
}
.outline_tb th,
.outline_tb td{
	border-bottom: 1px solid #fff;
	font-weight: normal;
	text-align: left;
	padding: 15px 0 15px 20px;
	box-sizing: border-box;
}
.outline_tb th{
	width: 125px;
	width: 20%;
}





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



}/*END*/

@media screen and (max-width: 599px) {
	.content_fl_box{
		flex-wrap: wrap;
	}

	.box60,.box40,.box45,.box50,.box55,.box25,.box75,.box47{
		width: 100%;
	}

	.content_fl_box50{
		flex-wrap: wrap;
	}

	.sp_p_b20{
		padding-bottom: 20px;
	}

	.rounded_corners{
		padding: 20px;
	}

	.rounded_s{
		padding: 20px 20px 30px 20px;
	}

	.rounded_ser{
		padding: 20px;
	}
	.rounded_num {
	  width: 12%;
	  top: -20px;
	  left: -8px;
	}

	.inner_frame950{
		padding-inline: 4.5%;
	}

	.fl_reason_area .item{
		width: 100%;
	}

	.syatoo{
		position: static;
		margin: 20px auto 10px auto;
	}

	.contact_deco_tex{
		width: 90%;
	    top: 4%;
	}

	.outline_tb{
		width: 100%;
	}

	.outline_tb th{
		display: block;
		padding: 10px 5px 0 5px;
		width: 100%;
		border-bottom: none;
	}
	.outline_tb td{
		display: block;
		padding: 0 5px 12px 5px;
	}

	.fl_list_three li {
	  width: 100%;
	}

	.fl_list_three{
		gap: 20px 3.5%;
	}


	.sp_order00{ order: 0; }
	.sp_order01{ order: 1; }
	.sp_order02{ order: 2; }
	.sp_order03{ order: 3; }
	.sp_order04{ order: 4; }



	.reason_deco_tex,.strengths_deco_tex,.cost_deco_tex,.reform_deco_tex,.renovation_deco_tex{
		width: 14%;
		top:0;
	}

	.nm_t50{
		margin-top: 0;
	}

	.st_mt01{
		margin-top:0;
	}
	.st_mt02{
		margin-top:0;
	}
	.st_mt03{
		margin-top:0;
	}
	.st_mt04{
		margin-top:0;
	}
	.st_mt05{
		margin-top:0;
	}

	.strengths_deco01 {
	  width: 38%;
	  bottom: -25px;
	  left: 6%;
	}
	.strengths_deco02 {
	  width: 30%;
	  bottom: -15px;
	  right: 10%;
	}

	.fl_reason_area{
		gap: 5px;
	}

	.seid_data_area{
		padding: 10px 8px;
		font-size: 1.3rem;
	}
	.seid_data_area .cate{
		padding: 3px 5px 2px 5px;
		  text-align: center;
		  margin-right: 6px;
	}

	.reform_deco_head {
	  width: 19%;
	  top: -11%;
	  right: 6%;
	  	display: none;
	}


	.reform_list li{
		width: 47.5%;
	}
	.reform_list_pt02 {
	  margin-top: 25px;
	}
	.reform_list_pt03 {
	  margin-top: 0;
	}
	.reform_list_pt04 {
	  margin-top: 25px;
	}
	.reform_list_pt05 {
	  margin-top: 0;
	}

	.reform_deco{
		width: 40%;
	}

	.reform_list_four li{
		width: 48%;
	}

	.v_contact_set_fl{
		flex-wrap: wrap;
		flex-direction:column-reverse;
	}
	.v_contact_set_fl div {
	  width: 80%;
	  text-align: center;
	  margin: 15px auto;
	}


}/*END*/






/*----------------------------------------
	footer
----------------------------------------*/
footer a{
	color: #fff;
}

.footer_bg{
	background: #4a4747;
}

.foot_inner{
	display: flex;
	justify-content: space-between;
}
.foot_l{
	width: 47%;
	box-sizing: border-box;
}
.foot_r{
	width: 50%;
	box-sizing: border-box;
}

.foot_list_area{
	display: flex;
	justify-content: flex-end;
	gap:30px;
}

.foot_menu_list li{
	line-height: 2;
	padding-bottom: 10px;
}


.foot_logo img{
	width: 100%;
	max-width: 200px;
}



.copyright{
	font-size:1.2rem;
	text-align: center;
	color:#d9d9d9;
	padding-bottom: 10px;
}




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

	.foot_inner{
		flex-wrap: wrap;
		flex-direction: row-reverse;
	}

	.foot_logo{
		margin: 0 auto;
    	text-align: center;
    	padding-top:20px;
    	padding-bottom: 20px !important;
	}

	.foot_list_area{
		justify-content: center;
		gap: 15px;
		margin-top: 20px;
	}

	.foot_menu_list{
		width: 45%;
	}

	.foot_l,.foot_r{
		width: 100%;
	}


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

	.foot_menu_list{
		display: block;
		margin-bottom: 0;
		font-size: 1.4rem;
	}
	.foot_menu_list:last-of-type{
		margin-bottom: 30px;
	}

	.foot_menu_list li {
		padding-bottom: 0;
	}

	.foot_menu_list li a{
		display: block;
		padding: 5px 0 5px 0;
	}
















	.foot_logo {
		padding-bottom: 15px;
	}


}/*END*/



/*----------------------------------------
	map
----------------------------------------*/

.map{
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	padding: 56% 0 0;
	text-align: center;
}
.map iframe,.map video{
	width: 100%;
	height: 100%;
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate3d(-50%, -50%, 0);
	-ms-transform: translate3d(-50%, -50%, 0);
	transform: translate3d(-50%, -50%, 0);
}
.map iframe:not(:target),.map video:not(:target){
	left: 0\9;
	top: 0\9;
}
.map iframe,.map video{
	left: 0\9;
	top: 0\9;
}
@media all and (-ms-high-contrast: none) {
.map iframe,.map video{
		left: 50%\9 !important;
		top: 50%\9 !important;
	}
}
.map{ z-index: 2; }/*chrome対策*/

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

	.map{ padding: 60% 0 0; }

}/*END*/




/*----------------------------------------
	page_top
----------------------------------------*/
.page_top{
	width: 60px;
	display: none;
	position: fixed;
	right: 20px;
	bottom: 40px;
	z-index: 2;
}
.page_top a{
	display: block;
}
.page_top img{ width: 100%; }


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

	.page_top {
		width: 40px;
		right: 10px;
		bottom: 20px;
	}

}/*END*/

@media screen and (max-width:599px){
	.page_top {
		width: 35px;
		right: 6px;
		bottom: 25px;
	}


}/*END*/







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

.form_frame{
	background: #ebf1f1;
}
.contact_frame{
	max-width: 750px;
	margin-left: auto;
	margin-right: auto;
}
.contact{
	width: 100%;
	line-height: 1.8;
	box-sizing: border-box;
}
.contact th,
.contact td{
	text-align: left;
	box-sizing: border-box;
	width: 100%;
	display: block;
}
.contact th{
	color: #000;
	width: 100%;
	font-weight: bold;
	background: #f7f7f7;
	padding: 10px 2.5%;
	display: block;
}
.contact td{
	padding: 15px 2.5% 34px 2.5%;
}
.contact td p{
	line-height: 1.2;
}

.add_item_block{
	display: flex;
	align-items: center;
	margin-bottom: 10px;
}
.add_ttl{
	width: 15%;
	padding-right:15px;
}
.add_con{
	width: 80%;
}

.jinzai_area{
	display: none;
}

.job_area{
	display: none;
}



.zip{
	display: inline-block;
}
.privacy a{
	color: #0068b7;
}
.privacy_text{
	width: 100%;
	line-height: 2;
}
.privacy_text th{
	padding: 15px 0;
	text-align: left;
}

.center_privacy{
	display: flex;
	align-items: center;
	justify-content: center;
}


.hissu:after,
.nini:after{
	display: inline-block;
	padding: 3px 5px;
	line-height: 1.4;
	margin-left: 8px;
	vertical-align: middle;
	color: #fff;
	font-size: 1.4rem;
	border-radius: 5px;
}
.hissu:after{
	content: "必須";
	display: inline-block;
	background: #f3d055;
	vertical-align: 1px;
	color: #000;
}
.nini:after{
	content: "任意";
	display: inline-block;
	background: #aaa;
	vertical-align: 1px;
}

/*error*/
td .error{
	color: #e60012;
	padding-top: 10px;
	line-height: 1;
	font-size: 1.4rem;
}
.privacy .error{
	display: inline-block;
	margin-top: 15px;
	color: #e60012;
	padding: 5px 14px;
	background: #fff7f8;
	line-height: 1.2;
}
td.error{
	background: #f1ccd1;
}

/*
.form_submit a{
	display: block;
	width: 375px;
	border: none;
	cursor: pointer;
	margin-left: auto;
	margin-right: auto;
}
*/


@media screen and (max-width: 599px){
	.contact_frame{
		padding-left: 0;
		padding-right: 0;
	}

	.contact{
		font-size: 1.6rem;
	}

	.contact th{
		display: block;
		border-bottom: none;
		width: 100%;
		margin-bottom: 15px;

	}

	.contact td{
		display: block;
		padding: 0 0 20px 0;
	}

	.add_item_block{
		display: block;
	}

	.center_privacy{
		padding: 0;
	}


	/*
	.contact td.radio,
	.contact td{
		display: block;
		padding: 16px 2% 20px 2%;
	}
	*/






	.menseki_name{
		width: 120px;
	}
	th.hissu:after,
	th.nini:after{
		padding: 3px 6px;
	}
	.privacy label{
		font-size: 1.6rem;
	}
	.privacy .hissu::after{
		padding: 3px 6px;
		margin-left: 5px;
	}
	.form_submit a{
		width: 320px;
	}
	.form_submit{
		width: 100%;
	}
	.privacy .error,
	td .error{
		font-size: 1.4rem;
	}

	.privacy.check label{
		margin-right: 0;
		margin-left: 20px;
		line-height: 1.8;
		padding-left: 0;
		padding: 0 20px;
	}

}/*END*/

.contact_send{
	width: 100%;
	max-width: 600px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 30px;
}
.contact_send .head_logo{
	width: 55%;
	margin-top: 5px;
}


/*----------------------------------------
	フォーム
----------------------------------------*/

select,
textarea,
input[type="tel"],
input[type="email"],
input[type="text"]{
	padding: 10px 10px;
	border: 1px solid #c4c4c4;
	background: #fff;
	box-sizing: border-box;
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','ＭＳ ゴシック',sans-serif;
	-webkit-appearance: none;
		font-size: 1.6rem;
		border-radius: 5px;
}
select:focus{ outline:none; }
textarea:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="text"]:focus{
	outline:none;
	border: 1px solid #1a5fa7;
}
select{
	width: 300px;
}

.form1{ width: 120px; }
.form2{ width: 250px; }
.form3{ width: 500px; }
.form_all{ width: 100%; }
:focus{ outline: none; }

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

	select,
	textarea,
	input[type="tel"],
	input[type="email"],
	input[type="text"]{
		font-size: 1.6rem;
	}
	select:focus{ outline:none; }
	textarea:focus,
	input[type="tel"]:focus,
	input[type="email"]:focus,
	input[type="text"]:focus{
		border: 1px solid #867b5b;
	}
	.form1{ width: 150px; }
	.form2{ width: 100%; }
	.form3{ width: 100%; }

}/*END*/


/*----------------------------------------
	radio checkbox
----------------------------------------*/

.radio input[type="radio"],
.check input[type="checkbox"]{
	position: absolute;
	height: 1px;
	width: 1px;
	clip: rect(0, 0, 0, 0);
}
.radio label,
.check label{
	/*display: inline-block;*/ display: block;
	position: relative;
	cursor: pointer;
	margin-left: 10px;
	padding-left: 22px;
	line-height: 2;
	margin-right: 20px;
	margin-bottom: 10px;
}
.contact .naiyo.radio{
	padding: 20px 20px 10px 0;
}
.contact .naiyo.radio.error{
	padding: 10px;
}
.contact td.error{
	padding: 10px;
		border-bottom: 12px solid #ebf1f1;
}
.naiyo.radio label{
	width: calc(100% - 50px);
	background-color: #fff;
	margin-left: 0;
	padding: 10px 0px 10px 50px;
}

.radio label:before,
.check label:before{
	position: absolute;
	content: "";
	top: 50%;
	left: -10px;
	width: 20px;
	height: 20px;
	margin-top: -11px;
	background: #fff;
	border:1px solid #aaa;
	border-radius: 50%;
}

.check label:before{ border-radius: 0; }
.check label:before{
	border-radius: 3px;
}




.naiyo.radio label:before{
	left: 15px;
}



.radio label,
.check label{
	margin-left: 0\9;
	padding: 11px\9;
}
.radio label:not(:target),
.check label:not(:target){
	margin-left: 10px\9;
	padding: 11px 0 11px 25px\9;
}
.radio label:before,
.check label:before{
	display: none\9;
}
.radio label:not(:target):before,
.check label:not(:target):before{
	display: inline-block\9;
}
.radio input[type="radio"]:checked + label:after{
	position: absolute;
	content: "";
	top: 50%;
	left: -6px;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	border-radius: 50%;
	background: #1a5fa7;
}
.naiyo.radio input[type="radio"]:checked + label:after{
	left: 19px;
	
}
.check input[type="checkbox"]:checked + label:after {
	content: "";
	position: absolute;
	top: 50%;
	box-sizing: border-box;
	display: block;
	left: -7px;
	width: 18px;
	height: 12px;
	margin-top: -8px;
	border-left: 4px solid #1a5fa7;
	border-bottom: 4px solid #1a5fa7;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.check input[type="checkbox"]:checked + label:before{
	background: #fff;
}
.radio input[type="radio"]:focus + label:before,
.check input[type="checkbox"]:focus + label:before{
	border-color: #1a5fa7;
	box-shadow: 0 0 5px #1a5fa7;
}
.sp_none{
	display: block;
}

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

	.radio label,
	.check label{
		display: block;
	}


}/*END*/
@media screen and (max-width: 599px){
	.naiyo.radio label{
		width: calc(98% - 10px);
		padding: 10px 0 10px 30px;
	}
	.naiyo.radio label:before{
		left: 5px;
	}

	.naiyo.radio input[type="radio"]:checked + label:after{
		left: 9px;

	}
	.sp_none{
		display: none;
	}
}/*END*/


header.send{
	position: relative;
	background-color: #ebf1f1;
}



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

}/*END*/

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

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

	}
	.sp_menu img{
		max-width: 55px;
	}
}/*END*/

@media screen and (max-width: 599px){
	.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%;
	}



}/*END*/










