@charset "utf-8";


.l-wrap {
	padding-top: 205px;
}
.l-section {
	padding-top: 195px;
	margin-top: -195px;
}
@media screen and (max-width: 450px) {
	.l-section {
		padding-top: 100px;
		margin-top: -100px;
	}
}

.is-pc {
	display: none;
}
.is-sp {
	display: block;
}


@media screen and (max-width: 450px) {
	.l-wrap {
		padding-top: 100px;
	}
}





/*=============================== 初回ポップアップ ================================*/

.btn_area {
	height: auto;
	transform: translate(-50%,-40%);
}
.btn_area_inner {
	padding: 20px 0;
}
.popup_logo {
	width: 40%;
	height: auto;
	margin-bottom: 15px;
}
.btn_area .popup_ttl {
	font-size: 2rem;
}
.btn_area .popup_txt {
	font-size: 1.3rem;
}
.btn_area button {
}




/*=============================== header ================================*/

.header {
	height: auto;
	background-color: #fff;
}
.header_inner {
	height:115px;
}
.header .logo {
	width:170px;
	height:115px;
}
.header .logo img {
	width: 79px;
	height: 56px;
}



.btn_contact {
	width: 100%;
	top: 115px;
}
.btn_contact a {
	line-height: 90px;
	font-size: 3rem;
}


@media screen and (max-width: 450px) {
	.header_inner {
		height:50px;
	}
	.header .logo {
		width:90px;
		height:100%;
	}
	.header .logo img {
		width: 40px;
		height: auto;
	}
	.btn_contact {
		top: 50px;
		height: auto;
	}
	.btn_contact a {
		font-size: 1.5rem;
		line-height: 50px;
	}

}





/*================================ メインナビゲーション ===============================*/
.main_navi {
	left: 0;
	width: 100%;
}
#menuList {
	display: none;
}
#rwdMenuWrap {
	width: 100%;
	position: fixed;
	top:0;
	z-index:100;
}
#rwdMenuWrap #switchBtnArea {
	width: 100%;
	z-index: 2;
	position: relative;
}
#rwdMenuWrap #switchBtnArea #switchBtn {
	top: 46px;
	right: 46px;
	width: 50px;
	height: 25px;
	display: block;
	background: none;
	position: fixed;
	border-radius: 0;
}
#rwdMenuWrap #switchBtnArea #switchBtn span {
	left: 0;
	width: 100%;
	height: 4px;
	display: block;
	position: absolute;
	background-color: #000;
	border-radius: 0;
	transition: all 0.2s linear;
}
#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(1) {
	top: 0;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}
#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(2) {
	top: 18px;
	-webkit-transform: scale(1);
	transform: scale(1);
	display: none;
}
#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(3) {
	bottom: 0;
	-webkit-transform: rotate(0);
	transform: rotate(0);
}

#rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
	top: 11px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	background-color: #fff;
}
#rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
	-webkit-transform: scale(0);
	transform: scale(0);
	background-color: #fff;
}
#rwdMenuWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
	bottom: 11px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	background-color: #fff;
}
#rwdMenuWrap .main_navi_inner {
	width:100%;
	height: 100vh;
	padding:0;
	margin:0 auto;
	float:none;
	display: none;
	overflow:visible;
	border: none;
	position:static;
	background:rgba(0,0,0,1);
	text-align:center;
	/*display:flex;
	align-items:center;
	flex-direction:column;*/
}
#rwdMenuWrap .main_navi_inner ul {
	display:flex;
	align-content:center;
	flex-wrap:wrap;
	height: 100%;
}
#rwdMenuWrap .main_navi_inner li {
	font-size:3rem;
	width: 100%;
	float:none;
	margin:20px 0;
	padding:0;
	background:none;
	display:block;
	text-align:center;
}
#rwdMenuWrap .main_navi_inner li::after {
	display:none;
}
#rwdMenuWrap .main_navi_inner li:first-child {
	border:none;
}
#rwdMenuWrap .main_navi_inner li a {
	outline-style:none;
	font-size: 120%;
	height: auto;
	line-height: 50px;
	margin: 0;
	display: inline-block;
	position: relative;
	font-weight:200;
	color: #fff;
}
#rwdMenuWrap .main_navi_inner li a::before,
#rwdMenuWrap .main_navi_inner li a::after {
	display:none;
}



@media screen and (max-width: 450px) {
	
	#rwdMenuWrap #switchBtnArea #switchBtn {
		top: 13px;
		right: 20px;
		width: 40px;
	}
	#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(1) {
		top:3px;
	}
	#rwdMenuWrap #switchBtnArea #switchBtn span:nth-of-type(3) {
		bottom:3px;
	}
	#rwdMenuWrap .main_navi_inner li {
		margin: 0;
	}
	#rwdMenuWrap .main_navi_inner li a {
		padding: 0;
		font-size: 2rem;
		line-height: 40px;
	}


}
	
	
	


/*================================ メインビジュアル ===============================*/


.mainvisual_contents .hand {
	width: 90%;
	min-width: 300px;
	max-width: 608px;
	height: auto;
	top: 50%;
	transform: translateY(-20%);
}
.mainvisual_slide_item {
	background-image: url("../images/slide01_sp.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
.mainvisual_slide_item img {
	display: none;
}


.mainvisual_sub_item {
	background-repeat: no-repeat;
	background-size: cover;
}
.mainvisual_sub_item:first-child {background-image: url("../images/slide02_sp.jpg");background-position: bottom center;}
.mainvisual_sub_item:first-child + div {background-image: url("../images/slide03_sp.jpg");background-position: top center;}
.mainvisual_sub_item img {
	visibility: hidden;
}



@media screen and (max-width: 450px) {
	.mainvisual_contents .hand {
		width: 50%;
		min-width: 270px;
		transform: translateY(-10%);
	}
	.mainvisual_slide_item {
		background-position: -100px center;
	}
}




/*================================ コンテンツ ===============================*/

.section_ttl {
	font-size: 2.8rem;
}
@media screen and (max-width: 630px) {
	.section_ttl {
		font-size: 1.6rem;
	}
}



/* MESSAGE */

.message_contents .inner {
	width: auto;
	padding: 0;
	height: auto;
	background-color: #484848;
}
.message_visual {
	width: 100%;
}
.message_contents_body {
	width: 100%;
	max-width: 630px;
	padding: 108px 0;
	margin: 0 auto;
}
.message_name {
	padding: 0;
	margin-bottom: 25px;
}
.message_catch {
	font-size: 3.2rem;
	margin-bottom: 28px;
	white-space: normal;
}
.message_txt {
	font-size: 2.6rem;
}
.message_txt br.is-sp {
	display: inline;
}

@media screen and (max-width: 630px) {
	.message_contents_body {
		width: auto;
		margin-left: 10px;
		margin-right: 10px;
		padding: 54px 0;
	}
	.message_name {
		font-size: 4rem;
	}
	.message_catch {
		font-size: 2rem;
	}
	.message_txt {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 450px) {
	
	.message_name {
		font-size: 3rem;
		margin-bottom: 15px;
	}
	.message_catch {
		font-size: 2rem;
		text-align: justify;
		margin-bottom: 15px;
	}
	.message_catch br {
		display: none;
	}
	.message_txt {
		font-size: 1.5rem;
	}
}



/* ABOUT */

.about_contents .inner {
	height: auto;
	padding: 115px 0;
}
.about_ttl {
	font-size: 3.6rem;
}
.about_txt {
	font-size: 2.6rem;
	line-height: 2em;
}

@media screen and (max-width: 630px) {
	.about_contents .inner {
		padding: 60px 0;
	}
	.about_ttl {
		font-size: 2rem;
	}
	.about_txt {
		font-size: 1.7rem;
		letter-spacing: .01em;
	}
}

@media screen and (max-width: 450px) {
	.about_ttl {
		font-size: 1.8rem;
	}
	.about_txt {
		font-size: 1.5rem;
	}
}






/* SERVICE */

.service_contents .section_ttl {
	position: static;
	width: auto;
	height: auto;
	margin: 0;
}
.service_contents .section_ttl span {
	padding: 60px 0;
}
.service_contents .section_ttl span::before {
	border-radius: 0;
}
.service_contents .section_ttl img {
	position: static;
	margin: 0 auto;
	max-width: 475px;
	max-height: 156px;
	width: 90%;
	height: auto;
}


.service_item {
	width: 100%;
	height: auto;
	padding: 80px 0 95px;
}
.service_item_ttl {
	font-size: 3.6rem;
}
.service_item_txt {
	font-size: 2.6rem;
	letter-spacing: .02em;
	white-space: nowrap;
}
.service_item_txt br.is-sp {
	display: inline;
}
.service_item.service01 {background-image: url( "../images/service_img01_sp.jpg");}
.service_item.service02 {background-image: url( "../images/service_img02_sp.jpg");}
.service_item.service03 {
	padding-left:0;
	justify-content: center;
	background-image: url( "../images/service_img03_sp.jpg");
}

@media screen and (max-width: 630px) {
	.service_item_ttl {
		font-size: 2.3rem;
	}
	.service_item_txt {
		font-size: 1.7rem;
	}
}

@media screen and (max-width: 450px) {
	.service_item_inner {
		margin: 0 10px;
	}
	.service_item_ttl {
		font-size: 2rem;
	}
	.service_item_txt {
		font-size: 1.5rem;
	}
}






/* OUTLINE */

.outline_contents .inner {
	padding: 100px 0 180px;
	height: auto;
}
.outline_table {
	width: 90%;
	max-width: 630px;
}
.outline_ttl {
	font-size: 3.6rem;
}
.outline_table th,
.outline_table td {
	font-size: 2.6rem;
}
.outline_table td .is-sp {
	display: inline;
}
.outline_table th {
	width: 120px;
}

@media screen and (max-width: 630px) {
	.outline_contents .inner {
		padding: 50px 0 90px;
	}
	.outline_ttl {
		font-size: 2rem;
	}
	.outline_table th,
	.outline_table td {
		font-size: 1.7rem;
	}
}
@media screen and (max-width: 450px) {
	.outline_ttl {
		font-size: 1.7rem;
	}
	.outline_table th,
	.outline_table td {
		font-size: 1.5rem;
	}
	.outline_table th {
	width: 90px;
}
}






/*================================ フッター ===============================*/


.footer_inner {
	height:auto;
	padding:43px 0 47px;
}
.footer_navi {
	margin-bottom: 20px;
}
.footer_navi_item.navi01,
.footer_navi_item.navi02,
.footer_navi_item.navi03,
.footer_navi_item.navi04 {
	display: none;
}
.footer_navi_item.navi_sns {
	width: 50px;
	height: auto;
	margin: 0 17px;
}
.footer_navi_item.navi04 + .navi_sns {
    margin-left: 17px;
}
.footer_copyright p small {
	font-size: 1.8rem;
}


@media screen and (max-width: 450px) {
	.footer_inner {
		padding:40px 0 47px;
	}
	.footer_navi_item.navi_sns {
		width: 30px;
	}
	.footer_copyright p small {
		font-size: 1.2rem;
	}
}









/*=============================== pagetop ===============================*/

.page_top {
	bottom: 185px;
	width: 60px;
	height: 60px;
}
.page_top a::before {
	width: 7px;
	height: 35px;
	margin-top: -17.5px;
	margin-left: -3.5px;
}


@media screen and (max-width: 450px) {
	.page_top {
	bottom: 153px;
	}
}





