@charset "UTF-8";

/* モバイル用 CSS　*/


/*
iPad系は、1024px 以上を設定しないと、判定されないため、1024pxに設定
＋縦向き（portrait）のときだけレスポンシブ適用（横向きの場合は、OFF）
*/
/*@media only screen and (max-width:768px){*/
/*@media (max-width: 1024px) and (orientation: portrait) {*/
@media (max-width: 1024px){


	
	/*　Reset　*/
	*{ box-sizing:border-box; }
	
	
	/* 要素が多いので、１度全て100%にする*/
	*{ 
		/*max-width: 100%;*/
		width:100%;
	}

	.sp_only{ display:block; }
	.sp_none{ display:none; }
	
	img,
	video,
	iframe{
		width: 100%;
		height: auto;
	}

	
	/* width */	
	#wrap,
	#header,
	#content,
	#side,
	.slide,
	.side_inner
	{
		width:100%;
	}

	
	
	body {
		font-size: 16px;
	}
	

	/* header  ヘッダーは上部固定 */
	#header {
		height: auto;
		margin: 0;
		padding-top: 5px;
		position: fixed;
		z-index: 10;
		box-shadow: 0px 3px 5px rgba( 0,0,0, 0.1 );
		margin-bottom: 0;
	}



	/* PCのヘッダーナビは削除　*/
	#header .nav{ display: none; }
		
	/*#header .nav{
		width: 100%;
		display:flex;
		flex-wrap: wrap;
	} 
	#header .nav li{  width:32%; }
	#header .nav li img{  width:100%; }*/


	.header_logo {
		width: 100%;
		text-align: center;
		margin:0;
		padding: 0;
		height: auto;
		float: none;
	}
	
	.header_logo img{ width:70%; }

	
	/* 場所を下に固定する → ヘッダーのは非表示（専用の要素をフッターに追加する）　*/
	
	.header_info{ display: none;}
	/* .header_info{
		background:#213c63;
		position:fixed;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	.header_info ul{
		display:flex;
		align-content: center;
		margin-bottom: 0;
	}
	.header_info ul li{
		width: 100%;
		margin: auto;
		
	}
	.header_info p{ color:#FFF; text-align: center; padding: 5px;} */

	/* ヘッダーのTELリンクを有効化 */
	.header_tel a{
		pointer-events:inherit;
		cursor: pointer;
	}

	/* お問い合わせ、会員登録ページのお問い合わせ固定ボタンを非表示にする */
	.page-id-53 .header_info,
	.page-id-58 .header_info{
		display: none;
	}
	
	/* Footer */
	#footer{ 
		margin-bottom:14vw;
	 }
	
	.footer_top{
		width:100%;
		height:auto;
		
	}

	.footer_nav{
		width:100%;
		height:auto;
		left: 0;
	}
	.footer_nav li{
		width:100%;
		float: none;
		left:0;
		line-height: 1.2em;
		padding: 0;
		margin: 0;
		border:0;
	}
	.footer_nav li a{
		width:100%;
		display: block; 
		text-align: center;
		padding: 0.3em;
		border-bottom: 1px solid #CCC;
	}
	.footer_nav li:last-child {
		border-right: none !important;
	}




	/* フッター固定ナビ */
	.footer_fixed_sp {
		display: block;
		background: #213c63;
		position:fixed;
		bottom: 0;
		left: 0;
		z-index: 100;
		
	}
	
	.footer_fixed_sp ul{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

	/* メールボタン */
	.footer_fixed_sp ul .btn-mail,
	.footer_fixed_sp ul .tel-link{
		width: 50%;
		margin: 0;
	}
	.footer_fixed_sp .btn-mail a{
		display: inline-block;
		padding: 1.4em 3px;
		font-size: 13px;
		font-weight: bold;
		color: #fff;
		text-decoration: none;
		background: linear-gradient(to bottom, #c33, #900);
		border: 1px solid #700;
		border-radius: 3px;
		box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
		transition: background 0.3s;
		text-align: center;
	}

	.footer_fixed_sp .btn-mail a:hover {
		background: linear-gradient(to bottom, #d44, #a00);
	}

	/* 電話番号 */
	.footer_fixed_sp .tel-link{
		color: #FFF !important;

	}
	.footer_fixed_sp .tel-link a{	
		display: block;	
		font-size:19px;
		font-weight: bold;
		color: #FFF !important;
		text-decoration: none;
		padding: 5px;
		text-align: center;
	}
	.footer_fixed_sp .tel-link a .ico{
		display: inline-block;
		width: 18px;
		height: auto;
		vertical-align: middle;
		margin-top: -2px;
	}

	/* 下段（営業時間など） */
	.footer_fixed_sp .contact-bottom {
		width: 100%;
		background: #0c2d5a;
		padding: 6px 10px 1.3em 10px;
		font-size: 13px;
		color: #fff;
		text-align: center;
	}

		/* スマホ対応 */
		/* @media (max-width: 600px) {
		.contact-top {
			flex-direction: column;
			align-items: stretch;
			gap: 8px;
		}
		.tel-link {
			text-align: center;
		}
		} */


	.h2_topics,
	.slide_container,
	.side_inner
		{
			width:100%;
		}

	

	
	/* Side */
	.side_inner {
		height: auto;
		background-position: -3px center;
		background-size: 120% auto ;
		padding: 1em;
		border:double 3px #CCC;
	}
	.side_inner p a{ color: #000; text-decoration: underline; }
	

	
	
	/* SPナビ */
	.sp-navi,
	.hamburger{ display:block;}
	
	.sp-navi{
	  position: fixed;
	  right: -320px; /* 隠す */
	  top: 0;
	  width: 300px; /* スマホに収まるくらい */
	  height: 100vh;
	  padding-top: 30px;
	  background-color: #FFF;
	  transition: all .6s;
	  z-index: 200;
	  overflow-y: auto; /* メニューが多くなったらスクロールできるように */
	}

	.hamburger{
	  position: absolute;
	  right: 10px;
	  top: 10px;
	  width: 36px;
	  height: 30px;
	  cursor: pointer;
	  z-index: 300;
	}
	.sp-navi__list {
	  margin: 0;
	  padding: 0;
	  list-style: none;
	}
	.sp-navi__list li {
	  text-align: left;
	  padding: 0 14px;
	}
	.sp-navi__list li a {
	  display: block;
	  padding: 8px 5px;
	  border-bottom: 1px solid rgba(0,0,0, 0.1) ;
	  text-decoration: none;
	  color: #333;
	  font-size:15px;
	}
	.sp-navi__list li a:hover {
	  background-color: #eee;

	}

	.hamburger__line {
	  position: absolute;
	  left: 8px;
	  width: 24px;
	  height: 2px;
	  background-color: #000;
	  transition: all .6s;
	}
	.hamburger__line--1 {
	  top: 14px;
	}
	.hamburger__line--2 {
	  top: 22px;
	}
	.hamburger__line--3 {
	  top: 30px;
	}
	.black-bg {
	  position: fixed;
	  left: 0;
	  top: 0;
	  width: 100vw;
	  height: 100vh;
	  z-index: 100;
	  background-color: #000;
	  opacity: 0;
	  visibility: hidden;
	  transition: all .6s;
	  cursor: pointer;
	}

	/* 表示された時用のCSS */
	.nav-open .sp-navi {
	  right: 0;
	}
	.nav-open .black-bg {
	  opacity: .8;
	  visibility: visible;
	}
	.nav-open .hamburger__line--1 {
	  transform: rotate(45deg);
	  top: 20px;
	}
	.nav-open .hamburger__line--2 {
	  width: 0;
	  left: 50%;
	}
	.nav-open .hamburger__line--3 {
	  transform: rotate(-45deg);
	  top: 20px;
	}

	
	.side_contact a,
	.side_register a,
	.side_access a {
		width: 100%;
		background-size:100% auto;		
	}
	.side_register a{
		height: 40vw;	
	}
	.side_contact a,
	.side_access a {
		height: 10vw;	
	}
	

	/* TOPサービスのタイトル */
	.home_service_01_title,
	.home_service_02_title,
	.home_service_03_title,
	.home_service_04_title {
		width: 100%;
		background-size:100% auto;
		height:10vw;
		margin-bottom: 0.3em;
	}



	.h2_topics,
	.h2_service,
	.service_img{
		width: 100%;
		background-size:100% auto;
	}

	/* 事業内容のサブタイトル（小さすぎるのでズームする） */
	.service_01_h3,
	.service_02_h3,
	.service_03_h3,
	.service_04_h3{
		width: 100%;
		background-size:160% auto;
	}

	.h2_topics{
		background: none;
		text-indent: 0;
		height: auto;
		border: 5px solid #DDD;
		background: #fff;
		background: linear-gradient(to bottom, #fff, #f8f8f8);
		padding: 0.7em 0.8em 0.6em 0.8em ;
		font-size: 20px;
		font-weight: bold;
		color: #092753;
	}

	/*  タイトル系 */
	.h2_faq,
	.h2_company,
	.company_01,
	.company_02,
	.h2_re,
	.re_title,
	.h2_contact,
	.h3_contact_01,
	.h3_contact_02,
	.confirm input,
	.h4_contact,
	.h2_register,
	.h2_case,
	.case_title,
	.case_empha,
	.h2_news,
	.news_title
		{
			width: 100%;
			height: 13vw;
			background-size:100% auto;
			
		}

	.re_detail a{
			width: 100%;
			background-size:100% auto;
			height: 20vw;
		}

		
	#content,
	#side{
		float: none;
		padding:0 4%;
	}

	.side_btn{ display:flex; width:96%;  }
	.side_btn li{  width:100%; margin: 1%;  }
	
	
	
	

		/* TOP MV */
		.slide_container {display: none;}
		.slide_container_sp {
			display: block;
			width: 100%;
			overflow: hidden;
			margin-bottom: 5vw;
			padding-top: 10vw;
		}

		.slide_container_sp img {
			/*MVを見切る場合*/
			/*width: 140% !important;
			max-width: inherit;
			height: auto;
			margin-left: -20%;*/
		}


		/* TOP */
		.topic_list {}
		.topic_list li{
			padding-bottom: 0.6em;
			margin-bottom: 0.6em;
	}

		.topic_list .topics_date,
		.topic_list .topics_title {
			display: block;
			line-height: 1.6em;
	}

	

		.home_service{
			width: 100%;
		}

		.home_service > div {
			width: 100%;
			float: none;
		}

		.home_service_child {
			margin-right: 0;
		}

		.home_service_01_img,
		.home_service_02_img,
		.home_service_03_img,
		.home_service_04_img {
			margin-bottom: 20px;
		}

		.re_l{
			width: 100%;
			margin-right: 20px;
			float: none;
			
		}
	

		/* 物件紹介　*/
		.re_container{
			padding: 2%;
		}
		.re_container .re_desc{
			margin: 0;
			padding:0;
		}
		.re_container .re_l{
			margin: 0;
			padding:0;
		}
		.re_container .re_r{ width: 100%; margin: 0; padding: 0;  }
		.re_container .re_r table{ width: 100%; }



		/* 物件詳細 */
		.red_container {
			padding: 4%;
		}
		.red_container .re_desc{
			margin: 0;
			padding:0;
		}


		/* 物件のタイトル（投資事例のタイトルも併せて設定）*/
		.re_title,
		.case_title {
			font-size: 24px;
			line-height:1.2em;
			padding:  0.6em 0.2em 0.5em  0.4em;
			height: auto;
		}

		.red_container p {
			padding: 14px 14px 4px;
		}

		.red_gall_l {
			width: 100%;
			float: none;
			margin: 0;
			margin-bottom: 2%;
		}
		.red_gall_l div {
			width: 100%;
			height: auto;
			float: none;
			padding: 0;
			margin-right: 0;
		}
		
		.red_gall_s {
			width: 100%;
			margin: 0 !important;
			padding: 0 !important;
			gap: 0 !important;
			float: none;
			display: flex;
			justify-content: flex-start;
			flex-wrap: wrap;
			margin-right:-1%;
		}

		.red_gall_s div{
			/* width: calc( 100% / 3 - 1% ); */
			width: 32%;
			height: auto;
			float: none;
			margin-right:0;
			margin-left: 1%;
			
		}

		.red_gall_s div:nth-child(2n){
			margin-left: 1%;
			margin-right:0;
		}
		/* .red_gall_s div:nth-child(3n) {
			margin: 0;
		} */

		.red_data {
			width: 100%;
			margin: 0 auto;
		}
		.red_data table {
			width: 100%;
		}

		.red_data table th{
			width: 40%;
		}
		.red_data table td {
			width: 60%;
		}
		.red_data table td.col {
			width: 40% !important;
		}



		/*　投資事例　*/
		.case_container {
			margin: 0 0 5vw 0;
			padding: 4%;
		}

		.case_comment {
				padding: 1em;
		}

		.case_l {
			width: 100%;
			margin-bottom: 1em;
			margin-right:0;
			float: none;
			padding-left: 0;
				}
		.case_l table {
			width: 100%;
		}

		.case_l table th,
		.case_r table th{
			width: 40%;
		}
		.case_l table td,
		.case_r table td{
			width: 60%;
		}

		.case_r {
			width: 100%;
			float: none;
			padding-right: 0;
		}

		.case_r table {
			width: 100%;
			margin-bottom: 1em;
		}





	

		/* 会社概要 */
		.company_tbl {
			width: 100%;
		}
		.company_tbl tr {}
		.company_tbl th,
		.company_tbl td{
			display: block;
			width: 100%;
		}
		.company_tbl th{
			padding-bottom:0.5em;

		}
		.company_tbl td{
			padding-top: 0.2em;
			padding-bottom: 2em;

		}
		.company_tbl td img{
			width: auto;
		}



	
	.map iframe{ height:70vw; }

	
	/* メールフォーム　*/
	.mf_container{
		width:100%; 	}
	.mf_container table th,
	.mf_container table td{
		display: block;
		width:100%; 
		padding: 0.5em;
	}
		
	/* チェックボックスを横並びに */
	.wpcf7-list-item {
	display: inline-block;
	margin-right: 15px;
	}

	.wpcf7-list-item label {
	display: inline-flex; 
	align-items: center;
	cursor: pointer;
	}

	.wpcf7-list-item input[type="checkbox"] {
	margin-right: 5px;
	width: 15px;
	}

	.mf_container .wpcf7-form-control-wrap textarea{
		width: 100% !important;
		max-width: 100%;
		min-width: auto;
	}

	/* reC */ 
	.grecaptcha-badge {
			bottom: 120px !important;
		}

	.confirm{ 
		/*margin-left: 10%;
		margin-right: 10%;*/
		width: 80%;
		margin: auto;
	}
	.confirm input{
		height:16vw;
	}


/* End SP CSS */
}


