@charset "UTF-8";

@media screen and (max-width: 930px) {

body {
	font-size: 0.875rem;
}

.pc { display: none; }
.sp { display: block; }

/* header */

header {
	height: 60px;
	background-color:rgba(255,255,255,1.0);
	border-bottom: 1px solid;
	font-size: 0.75rem;	
}

header h1 {
	width: calc( 100% - 100px );
}


/* sp hmenu start */

.openbtn02 {
	display: block;
	position: fixed;
	z-index: 9999;
	top: 10px;
	right: 15px;
	cursor: pointer;
	width: 40px;
	height:40px;
}
	
/*×に変化*/	
.openbtn02 span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	left: 10px;
	height: 2px;
	border-radius: 1px;
	background-color: #003296;
	width: 20px;
	}

.openbtn02 span:nth-of-type(1) {
	top:13px;	
}

.openbtn02 span:nth-of-type(2) {
	top:20px;
}

.openbtn02 span:nth-of-type(3) {
	top:27px;
}

.openbtn02.active span:nth-of-type(1) {
	top: 13px;
	left: 10px;
	transform: translateY(7px) rotate(-45deg);
	width: 55%;
}

.openbtn02.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn02.active span:nth-of-type(3){
	top: 27px;
	left: 10px;
	transform: translateY(-7px) rotate(45deg);
	width: 55%;
}

#h-nav{
	position:fixed;
	top: 60px;
	right: -100%;
	z-index: 99;
	width:100%;
	max-width:100%;
    height: auto;/*ナビの高さ*/
	transition: all 0.6s;
}


/*アクティブクラスがついたら位置を0に*/
#h-nav.panelactive {
	right: 0px !important;
}

/*ナビゲーションの縦スクロール*/
#h-nav.panelactive #h-nav-list{
	position: fixed;
	z-index: 999; 
	width: 100%;
	height: calc( 100vh - 60px );
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	background-color:rgba(0,50,150,0.9);
}

/*ナビゲーション*/

.h_menu {
	display: block;
	color: #fff;
	margin: 0 10px;
}

.h_menu>li>a,
.h_menu>li>p {
	display: flex;
	align-items: center;
	height: 60px;
	padding: 0 20px;
	border-bottom: 1px solid #fff;
}

.h_menu>li.contact>a {
	background-color: inherit;
}

.dd_menu p {
	cursor: auto;
}

.dd_menu ul {
	position: relative;
	opacity: 1;
	top:0;
	width: 100%;
	background-color: inherit;
}

.dd_menu ul li {
	width: 80%;
}

.dd_menu ul li a {	
	display: flex;
	align-items: center;
	height: 60px;
	padding: 0 20px 0 30px;
	border-bottom: 1px solid #fff;

}

/* sp hmenu end */

/* title */

.ttl_h3 {
	font-size: 1.25rem;
	margin-bottom: 30px;
}

.ttl_service {
	font-size: 1.125rem;
	padding: 10px 0;
}

/* top */

.top_main {
	height: 400px;
}

.top_main p {
	position: absolute;
	top: calc( 10% + 60px );
	left: 10%;
	width: 80%;
	max-width: 300px;
}

.section01 {
	width: 95%;
	max-width: 600px;
	padding: 30px 0;
	display: block;
}

.section01.service_sub {
	display: flex;
}

.section02 {
	width: 95%;
	max-width: 600px;
	padding: 30px 0;
}

.section03 {
	width: 95%;
	max-width: 600px;
	display: block;

}

.btn_top {
	width: 80%;
	margin: 0 auto;
}

.top_company_l {
	width: 100%;
	margin-bottom: 30px;
}

.top_company_r {
	width: 70%;
	margin: 0 auto;
}

.top_company_l h2 {
	max-width: 300px;
	margin-bottom: 20px;
}
.top_company_l p {
	margin-bottom: 20px;
}

.top_service_01l {
	width: 100%;	
}

.top_service_01r {
	width: 100%;
	margin-bottom: 30px;
}

.top_service_01l>p:last-of-type {
	width: 64%;
	margin-bottom: -30%;
}

.top_service_01l>div {
	width: 90%;
	margin: 0 0 0 10%;
}

.top_service_info {
	padding: 15px;
}

.top_service_info>p:first-of-type {
	font-size: 1.25rem;
}

.top_service_01r p span {
	display: inline;
}

.top_service_02r {
	width: 90%;
	margin-left: 10%;
	margin-top: -30%;
}

.top_service_02r>p {
	margin-right: 10px;
}

.top_service_03l {
	width: 90%;
}

.top_service_03r {
	margin-left: 36%;
	margin-top: -20%;
}

.top_service_03l>p {
	margin-left: 10px;
}

.top_service_03l>div {
	padding: 35px 15px 15px;
}

.ttl_topnews {
	max-width: 120px;
}

.top_news {
	margin-bottom: 30px;
}

.btn_news {
	width: 80%;
}

.second_main {
	position: relative;
	width: 100%;
	height: 200px;	
}

.second_main h2 {
	font-size: 1.5rem;
}

.company_dl {
	display: block;
	margin: 5px 0 40px;
}

.company_dl>dt {
	width: 100%;
	padding: 25px 10px 5px;
	border-bottom: none;
}

.company_dl>dd {
	width: 100%;
	padding: 5px 10px 25px 20px;
}

.company_dl>dd dl {
	display: block;
}

.company_dl>dd dl dt {
	width: auto;
}

.company_dl>dd dl dd {
	width: auto;
}

.company_list01 li {
	width: 45%;
	margin: 2.5%;
	font-size: 0.75rem;
}

.service01_l {
	width: 100%;
	margin-bottom: 20px;
}

.service01_l h4 {
	width: 100%;
	max-width: 240px;
	margin-bottom: 30px;
}

.service01_r {
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
}

.service02 {
	line-height: 2.0;
}

.service02 h4 {
	max-width: 200px;
}

.service02 ul li {
	padding: 30px 20px;
}

.service02 ul li p:nth-of-type(2) {
	font-size: 1.0rem;
}

@media screen and (max-width: 500px) {

.service02 ul {
	display: block;
}

.service02 ul li {
	width: calc( 100% - 2px );
	margin: 1px;
}

}

.service03 {
	line-height: 2.0;
}

.service03 h4 {
	max-width: 160px;
}

.service03 li {
	width: 30%;
}

.service03 li::after {
	left: 95%;
	width: 30%;
	background-size: 30%;
}

.service04>p {
	width: 100%;
	margin-bottom: 20px;
}

.service04>div {
	width: 100%;
	color: #fff;
	padding-bottom: 20px;
}

.service04>div>p {
	font-size: 1.25rem;
}

.service04 div div p:first-of-type {
	font-size: 1.5rem;
	margin-bottom: 5px;
}

.service04 div div p:first-of-type span {
	font-size: 0.875rem;
}

.service04 div div p:last-of-type {
	font-size: 1.0rem;
}

.service04 div div a {
	width: 80%;
	margin: 0 auto;
	height: 48px;
	border-radius: 25px;
	font-size: 1.0rem;
}

.service05 h4 {
	max-width: 180px;
}

.service05 p {
	margin-bottom: 20px;
	line-height: 2.0;
}

.service05 table {
	font-size: 0.75rem;
	width: 100%;
}

.service05 table tr:first-child th {
	padding: 15px 5px;
}

.service05 table tr:nth-child(n+2) th,
.service05 table tr:nth-child(n+2) td {
	padding: 15px 5px;
}

.service05 table tr:first-child th:nth-child(2) {
	font-size: 1.0rem;
}
.service05 table tr:first-child th:nth-child(3) {
	font-size: 1.0rem;
}

.service06 h4 {
	max-width: 180px;
}

.service06 ul li {
	width: 32%;
}

.service06 ul li p:nth-child(2) {
	font-size: 1.125rem;
	line-height: 1.2;
	margin: 10px 0;
}

@media screen and (max-width: 600px) {

	.service06 ul {
	display: block;
	}
	.service06 ul li {
	width: 100%;
	margin-bottom: 20px;
	}
}

.service07 h4 {
	max-width: 180px;
}

.service07 dl dt {
	font-size: 0.875rem;
	padding: 15px 30px 15px 15px;
}

.service07 dl dt::before,
.service07 dl dt::after {
	right: 15px;
	height: 2px;
	width: 10px;
}
  
.service07 dl dd {
	padding: 15px;
}

.service08 p:first-child,
.service09 p:last-child {
	width: 25%;
}

.service08 p:last-child,
.service09 p:first-child {
	width: 65%;
	line-height: 2.0;
}

.service_txt {
	line-height: 2.0;
}

.property_list {
	justify-content: center;
	margin: 20px auto 0;
}

.property_list li {
	width: 47%;
	min-width: calc( 300px - 3% );
	margin: 0 1.5% 40px;
}


.detail_section01 {
	max-width: 500px;
	margin: 20px auto;
	display: block;	
}

.detail_slider {
	width: 100%;
	margin-bottom: 20px;
}

.detail_img {
	width: 500px;
}

.detail_info {
	width: 100%;
}

.detail_img p {
	height: 400px;
}

.detail_dl {
	margin-bottom: 20px;
}


.detail_section02 {
	width: 100%;
	max-width: 500px;
}

.detail_section02>div {
	display: block;	
}

.detail_dl02 {
	width: 100%;
}

.detail_dl02 dt:nth-of-type(6),
.detail_dl02 dd:nth-of-type(6) {
	border-bottom: none;
}

.section_contact {
	width: 100%;
	max-width: 600px;
	margin: 30px auto 0;
}

.section_contact p.txt {
	font-size: 0.875rem;
	margin-bottom: 30px;
}

.section_contact p.txt02 {
	font-size: 1.25rem;
	margin-top: 80px;
}

.section_contact p.txt03 {
	font-size: 0.875rem;
}

.section_contact dl {
	font-size: 0.8125rem;
	display: block;
}

.section_contact dl dt {
	width: 100%;
	padding: 0 0 10px 0;
}

.section_contact dl dd {
	width: 100%;
	padding-bottom: 20px;
}

dd.address>p {
	margin-bottom: 10px;
}

.area02 {
	width:100%;
	max-width: 200px;
}

#check {
	justify-content: space-between;
	width: 100%;
	max-width: 500px;
	margin: 20px auto;
}

#check p {
	margin: 0;
	width: 46%;
}

#check p img {
	right: 10px;
	width: 20px;
}

.to_top {
	width: 220px;
	margin: 0 auto 80px;
}

.to_top img {
	right: 30px;
}

.footer_main{	
	width: 90%;
	margin: 0 auto;
	padding: 30px 0;
	display: block;
}

.footer_l {
	width: 100%;
	padding: 0 20px 20px 20px;
}

.footer_l p:first-of-type {
	font-size: 1.25rem;
}

.footer_r {
	width: 100%;
	padding: 20px 20px 0 20px ;
	border-left: none;
	border-top: 2px solid;;
}

.footer_r p:first-of-type {
	font-size: 1.5rem;
	margin-bottom: 5px;
}

.footer_r p:first-of-type span {
	font-size: 0.875rem;
}

.footer_r p:last-of-type {
	font-size: 1.0rem;
}

.footer_r a {
	height: 48px;
	border-radius: 25px;
	font-size: 1.0rem;	
}

.footer_copy {
	padding: 15px 0;
}



#pagetop img {
	width:35px;
}

}

