@import 'reset.css';
/*========================================================
                    Main layout styles
=========================================================*/
.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}

.cf {
  *zoom: 1;
}
body{
	background:#fff;
	color:#404040;
	font-family:"游ゴシック体","Yu Gothic",YuGothic,"ヒラギノ角ゴシック Pro","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}
p, li, td, th, dt, dd {
	font-size:16px;
	line-height: 1.8;
}
@media (min-width: 768px) {
  p, li, td, th, dt, dd {
	font-size:18px;
	line-height: 1.8;
  }
}

@media (min-width: 992px) {
  p, li, td, th, dt, dd {
	font-size:18px;
	line-height: 1.8;
  }
}
img{
max-width:100%;
height:auto;
}
a img{
  transition: all 0.5s ease 0s;
}
a:hover img{
  opacity: 0.5;
}
.wrap{
	width:94%;
	max-width:1030px;
	clear:both;
	margin:0 auto;
}
.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.justify{
  -webkit-box-pack: justify;
  -moz-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
    padding: 0;
}
.underline{
	text-decoration:underline;
}
.red{
	color:#e60012;
}
.bgyellow {
    background: linear-gradient(transparent 60%, #ffff00 60%);
}
.tcenter{
	text-align:center;
}
.only_sp{
	display:none;
}
.only_pc{
	display:block;
}


/*共通*/
.pageHeader{
	background:#fff5e9;
	padding:17px 0;
}
.pageHeader_inner{
	max-width:1196px;
	width:94%;
	margin:0 auto;
}
.gnav{
	padding-top:2em;
}
.gnav li{
	display:inline-block;
	padding-left:1em;
}
.gnav li a{
	color:#5c5c5c;
	font-size:16px;
	font-weight:600;
}	
.pageFooter{
	background:#009977;
	text-align:center;
	color:#fff;
}
.fnav{
	padding:4em 0 3em;
}
.fnav li{
	display:inline-block;
	padding:0 0.5em;
	font-size:16px;
}
.fnav li a{
	color:#fff;
}
.copyright{
	border-top:1px solid #fff;
	font-size:14px;
	padding:2em 0;
}
.com_box{
	padding:100px 0;
}
.com_ttl01{
	text-align:center;
	font-size:30px;
	font-weight:600;
	margin-bottom:0.2em;
}
.com_ttl01_en{
	text-align:center;
	font-size:18px;
	position:relative;
	margin-bottom:104px;
}
.com_ttl01_en:after{
	content:"";
	width:65px;
	height:1px;
	border-top:1px solid #000;
	position:absolute;
	bottom:-24px;
	left:50%;
	transform: translateX(-50%);
}
.com_btn01{
	max-width:430px;
	margin:70px auto 0;
	width:100%;
}
.com_btn01 a{
	display:block;
	background:#009944;
	color:#fff;
	font-size:28px;
	font-weight:600;
	padding:30px 42px;
	border-radius:14px;
	box-shadow: 0px 4px 0 rgba(7, 88, 43, 1);
	transition: 0.2s all ease 0s;
	position:relative;
}
.com_btn01 a:after{
	content:"";
	display:block;
	width:14px;
	height:24px;
	position:absolute;
	right:38px;
	top:50%;
	transform: translateY(-50%);
	background:url(../img/common/arrow01.png) no-repeat top center;
}
.com_btn01 a:hover{
	box-shadow: none;
	transform: translate3d(0, 4px, 0);
}
.com_bg{
	height:calc(366 / 1920 * 100vw);
}

/*top*/
.top_catch{
	background:url(../img/top/catch_bg.png) no-repeat top center;
	background-size:cover;
	padding-bottom:calc(610 / 1920 * 100vw);
}
.top_catch_img{
	max-width:830px;
	width:94%;
	margin:0 auto;
}
.top_about{
	background:url(../img/top/about_bg.png) no-repeat bottom center #fff5e9;
	background-size:contain;
	padding-bottom:calc(810 / 1920 * 100vw);
}
.top_about_inner{
	background:#fff;
	padding:2em 2.5em;
	border-radius:10px;
}
.top_about_inner p{
	font-size:16px;
}
.top_about_img01{
	width:94%;
	margin:0 auto 60px;
}
.top_consultation_inner01{
	background:#448aca;
	text-align:center;
	color:#fff;
	padding:5em 1em 4em;
	margin-bottom:90px;
	position:relative;
}
.top_consultation_inner01:after{
	content:"";
	display:block;
	border-top: 25px solid #448aca;
  	border-right: 25px solid transparent;
  	border-left: 25px solid transparent;
  	position:absolute;
  	left:50%;
  	bottom:-25px;
  	transform: translateX(-50%);
}
.top_consultation_inner01 h3{
	font-size:30px;
	margin-bottom:0.5em;
	font-weight:600;
}
.top_consultation_inner02{
	margin-top:90px;
}
.top_consultation_inner02 h3{
	text-align:center;
	font-weight:600;
	font-size:30px;
	margin-bottom:40px;
}
.top_consultation_bg{
	background:url(../img/top/consultation_bg.png) no-repeat top center;
	background-size:cover;
}
.top_residence{
	background:#ebf5ff;
}
.top_residence_inner01{
	background:#064986;
	color:#fff;
	padding:5em 5em 4em;
	margin-bottom:70px;
	position:relative;
}
.top_residence_inner01 h3{
	font-size:30px;
	text-align:center;
	margin-bottom:0.5em;
	font-weight:600;
}
.top_residence_box{
	width:48%;
}
.top_residence_box h4{
	font-size:24px;
	color:#064986;
	font-weight:600;
	margin-bottom:0.8em;
}
.top_residence_inner03{
	width:94%;
	max-width:1170px;
	margin:90px auto 0;
}
.top_residence2{
	padding-bottom:70px;
}
.top_residence2_ttl{
	background:#068486;
	text-align:center;
	color:#fff;
	padding:2em 1em;
	margin-bottom:90px;
	font-size:38px;
	margin-bottom:100px;
	font-weight:600;
	position:relative;
}
.top_residence2_ttl:after{
	content:"";
	display:block;
	border-top: 25px solid #068486;
  	border-right: 25px solid transparent;
  	border-left: 25px solid transparent;
  	position:absolute;
  	left:50%;
  	bottom:-25px;
  	transform: translateX(-50%);
}
.top_residence2_inner h3{
	text-align:center;
	font-size:24px;
	font-weight:bold;
	color:#068486;
	margin-bottom:1.6em;
}
.top_residence2_bg{
	background:url(../img/top/residence_bg.png) no-repeat top center;
	background-size:cover;
}
.top_other_inner01{
	background:#064986;
	color:#fff;
	padding:4em;
	margin-bottom:70px;
	position:relative;
}
.top_other_inner01 h3{
	font-size:30px;
	line-height:1.6em;
	text-align:center;
	font-weight:600;
}
.top_other_box{
	width:48%;
}
.top_other_box h4{
	font-size:24px;
	color:#064986;
	font-weight:600;
	margin-bottom:0.8em;
}
.top_other_inner03{
	border:2px solid #b5b5b5;
	padding:3em;
	margin:60px 0 66px;
}
.top_other_inner03 h3{
	font-size:20px;
	color:#424242;
	font-weight:600;
	margin-bottom:0.5em;
}
.top_other_txt01{
	text-align:center;
	font-weight:600;
	font-size:30px;
}
.top_other_bg{
	background:url(../img/top/other_bg.png) no-repeat top center;
	background-size:cover;
}
.top_contact{
	width:94%;
	max-width:970px;
	margin:0 auto;
}
.top_contact_ttl01{
	font-size:24px;
	font-weight:600;
	color:#424242;
	margin-bottom:1em;
	margin-top:2.5em;
}
.top_contact_ttl01:first-of-type{
	margin-top:0;
}
.top_form{
	margin-top:36px;
}
.top_form_ttl{
	font-size:18px;
	font-weight:600;
	color:#424242;
	margin:1.6em 0 0.6em;
}
.top_form_ttl span.required{
	color:#de0909;
}
.top_form_input input,
.top_form_input textarea{
	font-size:18px;
	width:92%;
	border:1px solid #bfbfbf;
	padding:1em 4%;
}
.submit_btn{
	max-width:430px;
	margin:70px auto 0;
	width:100%;
}
.submit_btn button{
	display:block;
	background:#006599;
	color:#fff;
	font-size:28px;
	font-weight:600;
	padding:30px 42px;
	border-radius:14px;
	box-shadow: 0px 4px 0 rgba(4, 63, 93, 1);
	transition: 0.2s all ease 0s;
	position:relative;
	width:100%;
	text-align:left;
}
.submit_btn button:after{
	content:"";
	display:block;
	width:14px;
	height:24px;
	position:absolute;
	right:38px;
	top:50%;
	transform: translateY(-50%);
	background:url(../img/common/arrow02.png) no-repeat top center;
}
.submit_btn button:hover{
	box-shadow: none;
	transform: translate3d(0, 4px, 0);
	cursor:pointer;
}


/*========================================================
                    Sec Contents
=========================================================*/
.secInner {}
.secInner .single {}
.secInner .single h3 { font-size: 20px; font-weight: bold; margin-bottom: 40px; margin-top: 40px; line-height: 1.6; }
.secInner .single p { margin-bottom: 20px; }
.secInner .single ol, .secInner .single ul {}
.secInner .single ol li, .secInner .single ul li { list-style-type: disc; list-style-position: outside; margin-left: 30px;}

.single table { width: 100%; }
.single table tbody {}
.single table tbody tr {}
.single table tbody tr th { padding: 15px; border-bottom: 1px solid #CCC; background-color: #fffefc;}
.single table tbody tr td { padding: 15px; border-bottom: 1px solid #CCC;}
