@charset "utf-8";
/* 標準可変メディア
   メモ : 可変メディアでは、HTML からメディアの高さおよび幅の属性を削除する必要がある
   http://www.alistapart.com/articles/fluid-images/ 
*/
img, object, embed, video {
	max-width: 100%;
	}
/* IE 6 では最大幅がサポートされていないため、デフォルトで幅 100% に設定される */
.ie6 img {
	width:100%;
	}

/*
	Dreamweaver 可変グリッドプロパティ
	----------------------------------
	dw-num-cols-mobile:		5;
	dw-num-cols-tablet:		8;
	dw-num-cols-desktop:	10;
	dw-gutter-percentage:	25;
	
	以下からヒントを入手 : Ethan Marcotte 氏の「レスポンシブ Web デザイン」 
	http://www.alistapart.com/articles/responsive-web-design
	
	および Joni Korpi 氏の「Golden Grid System」
	http://goldengridsystem.com/ 
*/

/* clearfix */
/* for modern browser */
.cf {	display: inline-block;	}
.cf:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	}
/* Hides from IE-mac \*/
* html .cf {	height: 1%;	}
.cf {	display: block;	}
/* End hide from IE-mac */



/* モバイルレイアウト : 480 px およびそれ以下。 */
/*  1:共通
==================================*/
html,body{
	background-color: #fff;
	height:100%;
	}

.caption,
p.warning {
	font-size: 11px;
	line-height: 1.125rem;
	}
p.warning a {	color: #02428c;}
/*
a.phone {
	display: block;
	font-size: 1.625rem;
	margin: 15px 0;
	color: #02428c;
	}
a.phone:last-child {  margin-bottom: 0;}
a.phone:hover {  text-decoration: none;}
*/
.sp {	display: none!important;}

.button {
	display: block;
	border:solid 3px #fff;
	box-sizing: border-box;
	background: #b4b4b4;
	background: -moz-linear-gradient(top,  #b4b4b4 0%, #999 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#b4b4b4), color-stop(100%,#999));
	background: -webkit-linear-gradient(top,  #b4b4b4 0%,#999 100%);
	background: -o-linear-gradient(top,  #b4b4b4 0%,#999 100%);
	background: -ms-linear-gradient(top,  #b4b4b4 0%,#999 100%);
	background: linear-gradient(to bottom,  #b4b4b4 0%,#999 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b4b4b4', endColorstr='#999',GradientType=0 );
	width: 170px;
	margin: 0;
	padding: 12px 0;
	font-size: 15px;
	text-align: center;
	line-height: 1;
	-webkit-box-shadow: 5px 5px 10px #dbd7d7;
	-moz-box-shadow: 5px 5px 10px #dbd7d7;
	box-shadow: 5px 5px 10px #dbd7d7;
	}
.button.gr {
	background: #789e91;
	background: -moz-linear-gradient(top,  #789e91 0%, #608477 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#789e91), color-stop(100%,#608477));
	background: -webkit-linear-gradient(top,  #789e91 0%,#608477 100%);
	background: -o-linear-gradient(top,  #789e91 0%,#608477 100%);
	background: -ms-linear-gradient(top,  #789e91 0%,#608477 100%);
	background: linear-gradient(to bottom,  #789e91 0%,#608477 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#789e91', endColorstr='#608477',GradientType=0 );
	}
.button.dk {
	background: #777;
	background: -moz-linear-gradient(top,  #777 0%, #5e5e5e 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#777), color-stop(100%,#5e5e5e));
	background: -webkit-linear-gradient(top,  #777 0%,#608477 100%);
	background: -o-linear-gradient(top,  #777 0%,#5e5e5e 100%);
	background: -ms-linear-gradient(top,  #777 0%,#5e5e5e 100%);
	background: linear-gradient(to bottom,  #777 0%,#5e5e5e 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#777', endColorstr='#5e5e5e',GradientType=0 );
	-webkit-box-shadow: 5px 5px 10px #000;
	-moz-box-shadow: 5px 5px 10px #000;
	box-shadow: 5px 5px 10px #000;
	}
.button:hover {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	}
.button span {
	background: url(../img/common/icon-arrow-w.png) no-repeat 0 center;
	background-size: auto 60%;
	margin: 0;
	padding-left: 15px;
	color: #fff;
	}
.detail {
	line-height: 1;
	background: url(../img/common/icon-arrow-circle.png) no-repeat 0 center;
	padding-left: 20px;
	padding-top: 2px;
	color: #02428c;
	}
.detail:hover {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	}
.detail.bl {
	background: url(../img/common/navi_arrow_b_l.png) no-repeat 0 center;
	padding-top: 0;
	padding-left: 10px;
	}
.detail.prev {  background: url(../img/common/arrow-circle_prev.png) no-repeat 0 center;}



ul.listppoi {	margin: 20px 0 0;	}
ul.listppoi li {
	display: table;
	border-top: dotted 1px #ccc;
	width: 100%;
	padding: 30px 0;
	text-align:left;
	}
ul.listppoi li:first-child {
	border: 0;
	padding-top: 0;
	}

.listppoi .question {
	display: table-cell;
	width: 195px;
	/*padding-top:12px;*/
	vertical-align: top;
	}
.listppoi .answer {
	display: table-cell;
	width: 475px;
	white-space: nowrap;
	}
.listppoi .required,
.listppoi .voluntary {
	background: #009e96;
	margin-left: 5px;
	padding: 2px 3px;
	font-size: 10px;
	color: #fff;
	white-space: nowrap;
	}
.listppoi .voluntary {
	border:solid 1px #009e96;
	background: #fff;
	margin-left: 5px;
	padding: 1px 3px;
	color: #009e96;
	}

.listppoi .privacy {
	display: block;
	width: 100%;
	margin-top: 15px;
	}
.listppoi .question.privacy {	margin-top:0;	}
.listppoi .question.privacy p a {	color: #02428c;	}
.listppoi .privacy-txt {
	display: inline-block;
	vertical-align: middle;
	}

form {	display: inline-block;	}
form label {
	display: inline-block;
	box-sizing: border-box;
	padding: 4px 0;
	}
form input,
form select,
form textarea {
	display: inline-block;
	border: 0;
	box-sizing: border-box;
	padding: 12px 10px;
	resize:none;
	}
form input {	vertical-align: middle;}
form select {	background:#fff;	padding: 10px; height:3em;	}




#contents {
	position:relative;
	z-index: 1;
	}
#header {
	float: left;
	width: 214px;
	height:100%;
	padding-top: 50px;
	padding-bottom: 50px;
	z-index:9999;
	}
#header .logo a {
	background: url(../img/common/logo.png) no-repeat;
	background-size: contain;
	display:block;
	width: 110px;
	height: 133px;
	margin: 0 auto 30px;
	text-indent:-9999px;
	}
#header ul {
	border-top:solid 2px #ccc;
	border-bottom:solid 1px #ccc;
	width: 150px;
	margin: 0 auto;
	}
#header li {
	border-bottom:solid 1px #ccc;
	margin: 0;
	}
#header li a {
	display:block;
	width: 100%;
	font-size: 14px;
	color:#333;
	padding:13px 0;
	}
#header li.parent a {	background: url(../img/common/navi_arrow.png) no-repeat 134px center;	}
#header li a:hover,
#header p a:hover {
	color: #02428c;
	text-decoration: none;
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	}
	#header ul ul {
		display:none;
		border-top:none;
		border-bottom:none;
		width: 150px;
		margin: 0 auto 13px;
		}
	#header li li {
		border-bottom:none;
		margin: 0;
		}
	#header li.parent li a {
		background: url(../img/common/navi_arrow_l.png) no-repeat 10px center;
		font-size: 12px;
		margin:10px 0;
		padding:3px 0 3px 20px;
		box-sizing:border-box;
		}
	#header li.parent li:first-child a {
		margin-top:0;
		}
	#header li.parent li a:hover {
		color: #333;
		background-color:#d3eae9;
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
		}

#header .demore {
	border-bottom:solid 2px #ccc;/**/
	width: 150px;
	margin: 30px auto;
	padding-bottom:30px;/**/
	}
#header .demore a {
	display:block;
	width: 106px;
	height:auto;
	margin: 0 auto;
	}
#header .suumo2023 {
	border-bottom:solid 2px #ccc;
	width: 150px;
	margin: 30px auto;
	padding-bottom:30px;
	}
#header .suumo2023 a {
	display:block;
	width: 100%;
	height:auto;
	margin: 0 auto;
	}
#header .wells {
	display:block;
	width: 100px;
	height:auto;
	margin: 0 auto;
	}
#header .spMenu {	display: none;}


.wrapper {
	background:#fff url(../img/common/navi_bg.png) repeat-y left;
	width: 100%;
	min-width: 884px;
	margin: 0 auto;
	}

.main {
	position:relative;
	overflow: auto;
	}

.container {
	padding: 70px 0;
	box-sizing: border-box;
	}
.container670 {
	width: 670px;
	margin: 0 auto;
	}

.body-header {	position: relative;}
.body-header-img {
	width:100%;
	height: 640px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index:10;
	}
.body-header-txt-center {
	background: url(../img/common/title_bg.png);
	box-sizing: border-box;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	padding: 40px 0;
	color: #fff;
	text-align: center;
	z-index:20;
	}
.body-header-txt-center h2 {
	display:inline-block;
	border-left:solid 2px #fff;
	border-right:solid 2px #fff;
	font-size: 27px;
	width:auto;
	margin:0 auto 15px;
	padding:0 1.5em;
	line-height:1;
	letter-spacing:0.04em;
	}
.body-header-txt-center p {
	font-size: 18px;
	line-height:1;
	}
.body-header-txt-over {
	position: absolute;
	top: 0;
	left: 0;
	}
.body-header-txt-right {
	position: absolute;
	top: 0;
	right: 0;
	width: 50%;
	}


h3,
.acms-entry h3 {	text-align:center;	}
h3 span,
.acms-entry h3 span {
	display:inline-block;
	border-top:solid 1px #777;
	margin:0 auto 50px;
	padding:10px 30px 0;
	font-size: 20px;
	color:#666;
	letter-spacing: 0.05em;
	}

.related-content {
	padding: 70px 0 100px;
	text-align:center;
	}
.related-content li {
	display: table-cell;
	border-left:dotted 1px #ccc;
	width: 183px;
	padding: 0 30px;
	line-height:1.5;
	text-align:left;
	}
.related-content li:first-child {
	border:none;
	padding-left: 0;
	}
.related-content li:last-child {	padding-right: 0;	}
.related-content .detail {
	font-size: 16px;
	margin-bottom:10px;
	display:inline-block;
	}
.related-content .logoDemore {
	width:104px;
	height:auto;
	margin-top:-2px;
	}


.pTopBtn {
	position:absolute;
	bottom:0;
	left:50%;
	width:73px;
	height:auto;
	margin: 0;
	margin-left:-37px;
	padding:0;
	}
#topicpath {
	background:#ccc;
	padding:15px 0;
	}
#topicpath .acms-topicpath li + li::before {
    content: ">";
	color: #222;
	}
#topicpath .acms-topicpath li {
	margin-right: 10px;
	font-size:13px;
	color: #222;
	line-height:1.4;
	}
#topicpath .acms-topicpath li a {
	color: #02428c;
	font-size:13px;
	}


#footer {
	background: #333;
	padding: 25px 0;
	}
#footer li {
	float:left;
	margin-left: 15px;
	font-size: 11px;
	color: #999;
	}
#footer li:first-child {
	border-right:solid 1px #848484;
	margin-left: 0;
	padding-right: 15px;
	}
#footer li a {	color: #999;}
#footer li.copyright {
	float: right;
	margin-left: 0;
	}


/*@media screen and (max-width: 640px), (min-device-width: 320px) and (max-device-width: 736px) and (orientation: landscape) {*/
@media screen and (max-width: 640px) {
	body {
		font-size: 12px;
		line-height: 1.5;
/*		width: 320px;*/
		width: 100%;
		margin:0;
		}

	.pc {	display: none!important;	}
	.sp {	display: inline-block!important;	}
	
	p.warning {
		font-size: 0.625rem;
		line-height: 0.75rem;
		}
/*
	a.phone {
		font-size: 1.25rem;
		margin: 8px 0;
		}
*/
	.button {
		border:solid 2px #fff;
		width: 48.57%;
		margin: 0;
		padding: 3.68% 0;
		font-size: 12px;
		}
	.detail {
		display:inline-block;
/*		background-size:auto 100%;*/
		padding:0.56% 0;
		padding-left: 20px;
		margin-top: 2px;
		line-height: normal;
		}

	ul.listppoi {	margin:8.36% 0 5.36%;	}
	ul.listppoi li {
		display: block;
		padding: 5.36% 0;
		}
	.listppoi .question {
		display:block;
		width:100%;
		margin-bottom: 5px;
		padding-top:0;
		font-family:"FP-ヒラギノ角ゴ ProN W6";
		vertical-align: top;
		}
	.listppoi .answer {
		display:block;
		box-sizing:border-box;
		width:100%;
		white-space: normal;
		}
	.listppoi .privacy-txt {	font-size: 12px;}

	form {	display: block;	}
	form .ckBox {	padding-left:2em;	}
	form label.acms-form-checkbox,
	form label.acms-form-radio {	margin-right:0;	text-indent:-2em;	}
	form label {	padding: 0.71% 0;	}

	input[type="button"],
	input[type="text"],
	input[type="submit"]{
		-webkit-appearance: none;
		border-radius: 0;
		}


	#header {
		border-bottom: 1px solid #ddd;
		box-sizing: border-box;
		float: none;
		width: 100%;
		height:auto;
		padding: 5.36% 6.25%;
		z-index:1;
		}
	#header .logo {
		float: left;
		width:53.91%;
		height:auto;
		}
	#header .logo a {
		background:none;
		display:block;
		width:100%;
		height:auto;
		margin: 0;
		text-indent:0;
		}
	#header ul {
		border:none;
		width: 100%;
		margin: 0 auto;
		}
	#header li {	display: none;	}

	#header .demore {	display: none;	}
	#header .suumo2023 {	display: none;	}
	#header .wells {	display: none;	}
	#header .logo,
	#header .spMenu {	display: inherit;	}
	#header .spMenu {
		float: right;
		width:7.03%;
		height:auto;
		padding-top:0.625%;
		}

	.wrapper {
		background:none;
		min-width: 100%;
		}
	.main {
		margin: 0;
		width: 100%;
		overflow: visible;
		}
	.container {	padding: 7.81% 6.25%;	}
	.container670 {
		width: 87.5%;
		margin: 0 auto;
		}
	.body-header-img {	height: auto;	}
	.body-header-txt-center {	padding:7.14% 0;	}
	.body-header-txt-center h2 {
		font-size: 16px;
		margin-bottom:4.46%;
		}
	.body-header-txt-center p {
		font-size: 12px;
		line-height:1.5;
		}

	.body-header-txt-over {
		position: relative;
		padding: 0;
		width: 100%;
		}
	.body-header-txt-right {
		position: initial;
		width: auto;
		}


	h3,
	.acms-entry h3 {	}
	h3 span,
	.acms-entry h3 span {
		border-top:solid 1px #777;
		margin-bottom:8.04%;
		padding:2.57% 5.36% 0;
		font-size: 15px;
		}

	.related-content {	padding: 10.86% 0 25%;	}
	.related-content li {
		display: block;
		border-left:none;
		border-top:dotted 1px #ccc;
		width: 100%;
		padding: 7.14% 0;
		line-height:1.5;
		}
	.related-content li:first-child {
		border:none;
		padding-top: 0;
		}
	.related-content li:last-child {	padding-bottom: 0;	}
	.related-content .detail {
		font-size: 13px;
		margin-bottom:3.57%;
		display:inline-block;
		}
	.related-content .logoDemore {
		width:28.57%;
		height:auto;
		margin-top:0;
		}




	.pTopBtn {
		width:19.64%;
		margin-left:-9.82%;
		}
	#topicpath {	padding:2.79% 0;	}
	#topicpath .acms-topicpath li {	font-size:12px;	}
	#topicpath .acms-topicpath li a {	font-size:12px;	}

	#footer {
		width: 100%;
		height:auto;
		padding:4.69% 0 5.47%;
		}
	#footer li {
		margin-left: 2.34%;
		font-size: 10px;
		}
	#footer li:first-child {
		padding-right: 2.34%;
		}
	#footer li.copyright {
		clear:left;
		float: none;
		display: block;
		padding-top:2.13%;
		}
 
/* iOS対策hover透明度リセット */
/* 114行目PC用hover設定 */
.button:hover {
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	}
/* 133行目PC用hover設定 */
.detail:hover {
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	}
/* 256行目PC用hover設定 */
#header li a:hover,
#header p a:hover {
	color: #02428c;
	text-decoration: none;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	}
 
}
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (-webkit-min-device-pixel-ratio: 2) {
	.button:hover {
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
		}
	.detail:hover {
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
		}
	#header li a:hover,
	#header p a:hover {
		color: #02428c;
		text-decoration: none;
		filter:alpha(opacity=100);
		-moz-opacity: 1;
		opacity: 1;
		}
}


/*
	jQuery.mmenu CSS
*/
.mm-menu {
	width: 50%;
	min-width: 50%;
	max-width: 50%;
	background: #fff;
	color: #222;
	z-index:9999;
	}
.mm-list > li:not(.mm-subtitle):not(.mm-label):not(.mm-search):not(.mm-noresults)::after {
    border-bottom: none!important;
    border-top:solid 1px #ddd!important;
	margin-left: 0;
	}
.mm-menu .mm-list > li.mm-selected > a:not(.mm-subopen), .mm-menu .mm-list > li.mm-selected > span {
	background: #fff;
	}

html.mm-opening .mm-slideout {
	-webkit-transform: translate(-50%, 0)!important;
	-moz-transform: translate(-50%, 0)!important;
	-ms-transform: translate(-50%, 0)!important;
	-o-transform: translate(-50%, 0)!important;
	transform: translate(-50%, 0)!important;
	background: rgba(0, 0, 0, 0.7) !important;
	}

#mobileMenu ul.mm-list li.mm-selected a {    background: #fff !important;  }
#mobileMenu ul.mm-list li:last-child:after {	border:none!important;  }
#mobileMenu ul.mm-list li.event::after {	/*border:none!important;*/  }
.mobile-menu-close {
	width: 21px;
	height: 21px;
	display: block;
	float: right;
	margin: -10px 0 0 0;
	}
.demore-m {
	width: 64.33%;
	height: auto;
	margin: 13.33% auto;
	}
.suumo2023-m {
	width: 64.33%;
	height: auto;
	margin: 0 auto 6.33%;
	}
.wells-m {
	width: 60.33%;
	height: auto;
	margin: 13.33% auto;
	}


/* 概念マップ */
#pop .wrapper {
	background:none;
	}
.popMap {
	width:87.5%;
	margin: 6.25% auto;
	}
.popMap .mapImg {
	width:100%;
	height: auto;
	margin-bottom:5.36%;
	}
.popMap table {
	width: 100%;
	margin: 0 0 15px;
	text-align:left;
	}
.popMap table caption {
	margin: 0 0 15px;
	font-size: 16px;
	text-align:left;
	}
.popMap table tbody {
	border-top: dotted 1px #aaa;
	font-size: 13px;
	}
.popMap table th,
.popMap table td {
	border-bottom: dotted 1px #aaa;
	width: 550px;
	padding:13px 0;
	line-height:1.85;
	}
.popMap table th {
	width: 120px;
	vertical-align:top;
	}
.popMap .button {
	display:inline-block;
	width:23.21%;
	margin:0 5px 40px;
	padding:1.79% 0;
	}
