@charset "UTF-8";
/*-----------------------------------
	base
-----------------------------------*/
html {
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-size: 62.5%; /*10px*/
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
body {
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.06rem;
  color: #333333;
  background: #fff;
  width: 100%;
  padding: 0;
  margin: 0;
  overflow-x: hidden;
  box-sizing: border-box;
  position: relative;
  z-index: 999;
}
.contents_inner {
	max-width: 1286px;
	width: 90%;
	margin: 0 auto;
}
.en{
	font-family: "Montserrat", sans-serif;
}
img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}
a, a:link, a:visited {
  text-decoration: none;
  color: #333333;
  cursor: pointer;
  transition: 0.3s;
}
a:hover{
	opacity: 0.7;
}
a[href^='tel:'] {
    pointer-events: none;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
/* device */
.pc {
  display: block;
	display: inline;
}
.sp {
  display: none;
}
/* flexbox */
.row_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 840px) {
}

@media screen and (max-width: 640px) {
	body{
		font-size: 12px;
	}
	
  a[href^='tel:'] {
    pointer-events: auto;
  }
	.pc {
        display: none;
    }
	.sp {
		display: block;
	}
}
/*-----------------------------------

	header

-----------------------------------*/
header{
	background: #fff;
	padding: 15px 0 0;
	width: 100%;
	/*position: fixed;
	top: 0;
	z-index: 999;*/
}
header .header_box{
	align-items: center;
}
header .logo_area{
	width: 312px;
}
header .nav_top{
	align-items: center;
}
header .nav_top ul li a{
	font-size: 12px;
	margin-right: 20px;
	transition: 0.3s;
}
header .nav_top ul li:first-child a{
	padding-right: 20px;
	border-right: 1px solid #333;
}
header .nav_top ul li a:hover{
	text-decoration: underline;
}
header .nav_top .tel_box a{
	font-size: 16px;
	padding-left: 25px;
	margin-right: 20px;
	color: #333;
}
header .nav_top .tel_box a::before{
	width: 15px;
	height: 15px;
	background: url("../img/common/icon_tel_b.svg")no-repeat center/contain;
}
header .nav_top .tel_box p{
	font-weight: 500;
	text-align: center;
	padding-top: 0;
	font-size: 10px;
	color: #333;
	line-height: 1;
}
header .nav_top .materials_btn a{
	padding: 3px 0;
	font-weight: 700;
	width: 191px;
	font-size: 15px;
	border-radius: 30px;
	padding-left: 20px;
	margin-right: 12px;
}
header .nav_top .materials_btn a::before{
	left: 20px;
	width: 17px;
	height: 17px;
}
header .nav_top .materials_btn a::after{
	content: none;
}
header .nav_top .contact_btn a{
	padding: 3px 0;
	font-weight: 700;
	width: 248px;
	font-size: 15px;
	border-radius: 30px;
	padding-left: 22px;
}
header .nav_top .contact_btn a::before{
	left: 22px;
	width: 17px;
	height: 14px;
}
header .nav_top .contact_btn a::after{
	content: none;
}
header #nav .gnav{
	align-items: center;
	justify-content: center;
	gap: 40px;
	/*max-width: 744px;
	width: 100%;*/
	margin: 16px auto 0;
}
header #nav .gnav li{
	/*width: calc(100% / 4);*/
}
header #nav .gnav li a{
	font-size: 18px;
	font-weight: 700;
	padding-bottom: 24px;
	text-align: center;
	display: block;
	position: relative;
}

/*header #nav .gnav li a:hover{
	text-decoration: underline;
}*/

header .menu_btn_wrap,
header .sab_menu{
    display: none;
}

@media screen and (max-width: 970px) {
	header .nav_top{
		display: none;
	}
	header #nav {
		display: none;
		transition: all 0.3s ease;
	}
	header #nav.open {
		display: block;
	}
	header{
		padding: 10px 0;
	}
	header .header_box{
		position: relative;
	}
	header .logo_area{
		width: 245px;
	}
	header .menu_btn_wrap {
        display: block;
		width: 30px;
		height: 60px;
		cursor:pointer;
		position: absolute;
		top: 0;
		right: 15px;
		z-index: 999;
	}
	header .menu_btn_wrap .menu_btn {
		width: 30px;
		height: 16px;
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		transition: all 0.3s;
		z-index:999;
	}
	header .menu_btn_wrap .menu_btn .lineh,
	header .menu_btn_wrap .menu_btn .linem,
	header .menu_btn_wrap .menu_btn .lineb {
		position:absolute;
		left: 0;
		width: 30px;
		height: 2px;
		background: #333;
		transition:all 0.3s;
	}
	header .menu_btn_wrap .menu_btn .lineh {
		top:0;
	}
	header .menu_btn_wrap .menu_btn .linem {
		top: 50%;
		transform: translateY(-50%);
		opacity: 1;
	}
	header .menu_btn_wrap .menu_btn .lineb {
		bottom: 0;
	}
	header .menu_btn_wrap .menu_btn.active .lineh {
		transform:rotate(-135deg);
		top: 7px;
	}
	header .menu_btn_wrap .menu_btn.active .linem {
		opacity: 0;
	}
	header .menu_btn_wrap .menu_btn.active .lineb {
		transform:rotate(135deg);
		bottom: 7px;
	}	
	header #nav {
		width: 100vw;
		height: 100vh;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
		background: url("../img/index/mv_bg_sp.png")#fff no-repeat center/cover;
		padding-bottom: 50px;
		position: fixed;
		top: 59px;
		left: 0;
		display:none;
		z-index: 999;
	}
    header #nav ul.gnav {
		gap: 30px;
		margin-top: 0;
		position: absolute;
		top: 0;
		bottom: 59px;
		left: 0;
		right: 0;
		margin: auto;
		height: 310px;
	}
	header #nav ul.gnav li {
		width: 100%;
	}
	header #nav ul.gnav li a{
		display: block;
		text-align: center;
        color: #333;
		transition: 0.3s;
		padding-bottom: 0;
	}
	header #nav ul.gnav li a:hover{
		opacity: 0.8;
		text-decoration: underline;
	}
	
	header #nav ul.gnav .sab_menu{
		display: flex;
		justify-content: center;
		margin-top: 20px;
	}
	header #nav ul.gnav .sab_menu a{
		font-size: 12px;
		font-weight: 500;
	}
	header #nav ul.gnav .sab_menu a:first-child{
		padding-right: 20px;
		border-right: 1px solid #333;
		margin-right: 20px;
		line-height: 1;
	}
}
@media screen and (max-width: 840px){
	
}
@media screen and (max-width: 640px) {
}

/*-----------------------------------

	fixed_box

-----------------------------------*/
.fixed_box{
	display: block;
	position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 999;
}
.fixed_box .cta_block{
	padding: 15px 0;
	width: 100%;
}
.fixed_box .cta_block .cta_box{
	padding: 0;
}
.fixed_box .cta_block .cta_box .tel_box{
	margin-right: 63px;
	margin-bottom: 0;
}
.fixed_box .cta_block .cta_box .tel_box .none{
	display: block;
}
.fixed_box .cta_block .cta_box .tel_box .w_1130{
	display: none;
}

@media screen and (max-width: 1200px) {
	.fixed_box .cta_block{
		padding: 0;
	}
	.fixed_box .cta_block .contents_inner{
		width: 100%;
	}
	.fixed_box .cta_block .cta_box{
		gap: 0;
	}
	.fixed_box .cta_block .cta_box div{
		width: calc(100% / 3);
	}
	.fixed_box .cta_block .cta_box .tel_box{
		margin-right: 0;
	}
	.fixed_box .cta_block .cta_box .tel_box .none{
		display: none;
	}
	.fixed_box .cta_block .cta_box .tel_box .w_1130{
		display: block;
		position: static;
		padding: 10px 0;
	}
	.fixed_box .cta_block .cta_box .tel_box a::before{
		content: none;
	}
	.fixed_box .cta_block .cta_box .tel_box .w_1130 img{
		width: 20px;
		height: 20px;
		margin: 0 auto 3px;
	}
	.fixed_box .cta_block .cta_box .tel_box .time{
		padding-left: 0;
	}
	.fixed_box .cta_block .cta_box .materials_btn a,
	.fixed_box .cta_block .cta_box .contact_btn a{
		border-radius: 0;
		width: auto;
		border: none;
	}
	.fixed_box .cta_block .cta_box .materials_btn a::before,
	.fixed_box .cta_block .cta_box .contact_btn a::before{
		left: 15px;
	}
	.fixed_box .cta_block .cta_box .materials_btn a::before{
		background: url(../img/common/icon_yen_w.svg) no-repeat center / contain;
	}
	.fixed_box .cta_block .cta_box .materials_btn a::after,
	.fixed_box .cta_block .cta_box .contact_btn a::after{
		content: none;
	}
	.fixed_box .cta_block .cta_box .materials_btn a{
		background: #0077FC;
		color: #fff;
		border-left: 1px solid #fff;
	}
}
@media screen and (max-width: 1130px) {
	
}
@media screen and (max-width: 840px) {
	.fixed_box .cta_block .cta_box{
		flex-direction: row;
	}
	.fixed_box .cta_block .cta_box .tel_box .w_1130 img{
		width: 15px;
		height: 15px;
	}
	.fixed_box .cta_block .cta_box .tel_box .time{
		font-size: 10px;
	}
	.fixed_box .cta_block .cta_box .materials_btn a,
	.fixed_box .cta_block .cta_box .contact_btn a{
		font-size: 12px;
		line-height: 1.5;
		padding: 15px 0;
	}
	.fixed_box .cta_block .cta_box .contact_btn a::before {
		 width: 16px;
		 height: 13px;
	}
}
@media screen and (max-width: 640px) {
	.fixed_box .cta_block .cta_box .materials_btn a,
	.fixed_box .cta_block .cta_box .contact_btn a{
		padding: 7px 0 7px 42px;
		text-align: left;
	}
}

/*-----------------------------------

	contents

-----------------------------------*/
#contents{
}

.kakko_box{
	padding: 30px 0;
	position: relative;
}
.kakko_box::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	border-top: 3px solid #0077FC;
    border-left: 3px solid #0077FC;
}
.kakko_box::after{
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 30px;
	height: 30px;
	border-bottom: 3px solid #0077FC;
    border-right: 3px solid #0077FC;
}

.blue_txt{
	color: #0077FC;
}

/*****title*****/
.h4_ttl{
	font-size: 30px;
	text-align: center;
	font-weight: 700;
	line-height: 1.6;
}
.h4_ttl span{
	font-size: 15px;
	font-weight: 600;
	color: #0077FC;
	line-height: 1;
	display: block;
	margin-bottom: 20px;
}
.h5_ttl{
	font-size: 20px;
	font-weight: 500;
}

.tel_box a{
	font-size: 33px;
	font-weight: 600;
	text-align: center;
	position: relative;
	padding-left: 40px;
	line-height: 1;
	color: #fff;
}
.tel_box a::before{
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	/*bottom: 0;*/
	margin: auto;
	width: 29px;
	height: 29px;
	background: url("../img/common/icon_tel_w.svg")no-repeat center/contain;
}
.tel_box .time{
	text-align: center;
	font-size: 12px;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	padding-top: 2px;
}
/*****btn*****/

/*materials_btn*/
.materials_btn a{
	background: #fff;
	border: 1px solid #000;
	border-radius: 37px;
	padding: 13px 0;
	font-weight: 900;
	width: 350px;
	text-align: center;
	display: block;
	position: relative;
	color: #333;
}
.materials_btn a:hover{
	background: #a9a9a9;
	opacity: 1;
}
.materials_btn a::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 35px;
	margin: auto;
	width: 24px;
	height: 24px;
	background: url("../img/common/icon_yen.svg")no-repeat center/contain;
}
.materials_btn a::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 32px;
	margin: auto;
	width: 15px;
	height: 5px;
	background: url("../img/common/arrow_btn_b.svg")no-repeat center/contain;
}

/*contact_btn*/
.contact_btn a{
	background: #F19323;
	border: 1px solid #F19323;
	border-radius: 37px;
	padding: 13px 0;
	color: #FFF;
	font-weight: 900;
	width: 350px;
	text-align: center;
	display: block;
	position: relative;
}
.contact_btn a:hover{
	background: #e17a00;
	opacity: 1;
}
.contact_btn a::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 40px;
	margin: auto;
	width: 24px;
	height: 19px;
	background: url("../img/common/icon_mail.svg")no-repeat center/contain;
}
.contact_btn a::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 32px;
	margin: auto;
	width: 15px;
	height: 5px;
	background: url("../img/common/arrow_btn_w.svg")no-repeat center/contain;
}

/*btn_box*/
.btn_box a{
	background: #333;
	border-radius: 40px;
	padding: 13px 0;
	font-weight: 700;
	font-size: 15px;
	width: 350px;
	text-align: center;
	display: block;
	position: relative;
	color: #fff;
	margin: 0 auto;
}
.btn_box a::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
	width: 15px;
	height: 5px;
	background: url("../img/common/arrow_btn_w.svg")no-repeat center/contain;
}

/*arrow_btn*/
.arrow_btn{
	font-weight: 700;
	padding-right: 65px;
	position: relative;
	display: inline-block;
}
.arrow_btn:hover{
	text-decoration: underline;
}
.arrow_btn::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	width: 40px;
	height: 40px;
	background: url("../img/common/circle_btn_b.svg")no-repeat center/contain;
}

/*accordion*/
.accordion{
	transition: 0.3s;
	cursor: pointer;
}
.accordion summary::-webkit-details-marker{
    display: none;
}
.accordion summary {
    position: relative;
	list-style: none; 
}
.accordion summary::after {
	content: '';
	display: block;
    width: 15px;
    height: 10px;
    background: url("../img/common/arrow_triangle.svg")no-repeat center/contain;
    transition: transform .3s;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.accordion[open] summary::after {
    transform: rotate(180deg);
}

.accordion[open] .answer_box{
	animation: openAccordion 0.4s ease forwards;
}
@keyframes openAccordion {
  0% {
    max-height: 0;
    opacity: 0;
  }
  100% {
    max-height: 136px;
    opacity: 1;
  }
}

@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
	.kakko_box{
		padding: 25px 0;
	}
	.kakko_box::before,
	.kakko_box::after{
		width: 20px;
		height: 20px;
	}
	.h4_ttl{
		font-size: 20px;
		line-height: 1.8;
	}
	.h4_ttl span{
		font-size: 13px;
		margin-bottom: 10px;
	}
	.h5_ttl{
		font-size: 16px;
		font-weight: 700;
	}
	
	.tel_box .time{
		font-size: 10px;
	}
	.materials_btn a,
	.contact_btn a{
		width: 325px;
		font-size: 16px;
		font-weight: 700;
	}
	.materials_btn a::before,
	.contact_btn a::before{
		left: 28px;
	}
	.btn_box a{
		width: 245px;
		padding: 11px 0;
		font-size: 14px;
	}
	.btn_box a::after{
		right: 25px;
	}
	.arrow_btn{
		font-size: 14px;
		padding-right: 45px;
	}
	.arrow_btn::before{
		width: 30px;
		height: 30px;
	}
	
	.accordion summary::after{
		width: 10px;
	}
	
}

/*-----------------------------------

	ctatxt_block

-----------------------------------*/
.ctatxt_block{
	margin: 80px auto;
	max-width: 904px;
	width: 90%;
}
.ctatxt_block .contents_inner{
	width: 92%;
}
.ctatxt_block p{
	margin-top: 30px;
	font-size: 20px;
	font-weight: 700;
	text-align: center;
}

@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
	.ctatxt_block{
		margin: 35px auto 40px;
	}
	.ctatxt_block p{
		font-size: 12px;
		margin-top: 19px;
	}
}

/*-----------------------------------

	cta_block

-----------------------------------*/
.cta_block{
	background: #0077FC;
	padding: 50px 0 70px;
	position: relative;
	z-index: 2;
	width: 90%;
	margin: auto;
}
.cta_block .h4_ttl{
	color: #fff;
	
}
.cta_block .cta_box{
	padding-top: 50px;
	justify-content: center;
	gap: 18px;
}
.cta_block .cta_box .tel_box{
	margin-right: 42px;
}

@media screen and (max-width: 840px) {
	.cta_block{
		width: 100%;
	}
	.cta_block{
		padding: 41px 0 60px;
	}
	.cta_block .cta_box{
		padding-top: 30px;
		flex-direction: column;
	}
	.cta_block .cta_box .tel_box{
		margin-right: 0;
		margin-bottom: 12px;
	}
}
@media screen and (max-width: 640px) {
}

/*-----------------------------------

	case_block

-----------------------------------*/
#case_block{
	padding: 183px 0 255px;
	position: relative;
	margin: -102px auto 0;
}
#case_block::before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/common/left_img.png")no-repeat center/contain;
	background: url("../img/common/webp/left_img.webp")no-repeat center/contain;
	z-index: -1;
	width: 372px;
	height: 408px;
}
#case_block::after{
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	background: url("../img/common/right_img.png")no-repeat center/contain;
	background: url("../img/common/webp/right_img.webp")no-repeat center/contain;
	z-index: -1;
	width: 395px;
	height: 475px;
}
#case_block .case_box{
	max-width: 1086px;
	width: 100%;
	margin: 40px auto 50px;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 17px;
}
#case_block .case_box li{
	width: calc((100% - 34px) / 3);
}
#case_block .case_box .img_box{
	width: 100%;
	max-height: 250px;
	margin: auto;
}
#case_block .case_box .txt_box{
	margin-top: 27px;
}
#case_block .case_box .txt_box .h5_ttl{
	margin-bottom: 20px;
	font-weight: 700;
}

@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
	#case_block{
		margin: 0;
		padding: 33px 0 130px;
	}
	#case_block::before{
		width: 140px;
		height: 214px;
		top: 46px;
	}
	#case_block::after{
		width: 164px;
		height: 210px;
	}
	#case_block .case_box{
	    margin: 36px auto 30px;
		gap: 30px;
		flex-direction: column;
	}
	#case_block .case_box li{
		max-width: 325px;
		width: 100%;
		margin: auto;
	}
}

/*-----------------------------------

	document_block

-----------------------------------*/
#document_block{
	background: #E9FAFF;
	max-width: 1286px;
	width: 95%;
	padding: 81px 0 82px;
	margin: -176px auto 0;
}
#document_block .contents_inner{
	width: 95%;
}
#document_block .document_box{
	gap: 76px;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: nowrap;
}
#document_block .document_box .ttl_box{
	max-width: 292px;
}
#document_block .document_box .ttl_box .h4_ttl{
	margin-bottom: 30px;
	text-align: left;
}
#document_block .document_box .ttl_box .arrow_btn{
	margin-top: 21px;
}
.sp_840{
	display: none;
}
#document_block .document_box .document_list{
	flex-direction: column;
	align-items: flex-start;
	gap: 30px;
}
#document_block .document_box .document_list li{
	width: 100%;
}
#document_block .document_box .document_list .list_row{
	flex-wrap: nowrap;
	gap: 40px;
	justify-content: flex-start;
}
#document_block .document_box .document_list .img_box{
	width: 200px;
	height: 112px;
}
#document_block .document_box .document_list p{
	font-size: 18px;
	font-weight: 700;
	width: calc(100% - 333px);
}

@media screen and (max-width: 970px){
	#document_block .contents_inner{
		width: 90%;
	}
	#document_block .document_box{
		flex-direction: column;
		gap: 30px;
	}
	#document_block .document_box .ttl_box{
		max-width: 317px;
		width: 100%;
		margin: auto;
	}
	#document_block .document_box .ttl_box .h4_ttl{
		text-align: center;
		margin-bottom: 20px;
	}
	#document_block .document_box .ttl_box p{
		color: rgba(51, 51, 51, 0.7);
	}
	
	#document_block .document_box .document_list p{
		width: calc(100% - 240px);
	}
}
@media screen and (max-width: 840px) {
	#document_block{
		width: 100%;
		margin: -100px auto 0;
		padding: 30px 0 37px;
	}
	.pc_840{
		display: none;
	}
	.sp_840{
		display: inline-block;
		margin: auto!important;
	}
}
@media screen and (max-width: 640px) {
	#document_block .document_box .document_list{
		max-width: 325px;
		width: 100%;
		margin: auto;
	}
	#document_block .document_box .document_list .list_row{
		gap: 20px;
	}
	#document_block .document_box .document_list .img_box{
		width: 100px;
		height: 57px;
	}
	#document_block .document_box .document_list p{
		font-size: 12px;
		font-weight: 500;
		width: calc(100% - 120px);
	}
	#document_block .document_box .none{
		width: 100%;
	}
}

/*-----------------------------------

	column_block

-----------------------------------*/
#column_block{
	padding: 80px 0;
}
#column_block .column_list{
	margin: 40px auto 50px;
	max-width: 1086px;
	width: 100%;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 14px;
}
#column_block .column_list li{
	width: calc((100% - 28px) /3);
}
#column_block .column_list li .img_box{
	width: 100%;
	height: 198px;
	margin-bottom: 20px;
}
#column_block .column_list li .img_box img{
	height: 100%;
}
#column_block .column_list li p{
	font-weight: 700;
}

@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
	#column_block{
		padding: 30px 0;
	}
	#column_block .column_list{
		margin: 30px auto 25px;
		gap: 20px;
		flex-direction: column;
	}
	#column_block .column_list li{
		max-width: 330px;
		width: 100%;
		margin: auto;
	}
	#column_block .column_list li .column_row{
		display: flex;
		gap: 18px;
		align-items: center;
		justify-content: flex-start;
	}
	#column_block .column_list li .img_box{
		width: 150px;
		height: 85px;
		margin-bottom: 0;
	}
	#column_block .column_list li p{
		width: calc(100% - 168px);
	}
}

/*-----------------------------------

	#pagetop

-----------------------------------*/
#pagetop{
	width: 10px;
	height: 98px;
	position: fixed;
	right: 44px;
	bottom: 150px;
	z-index: 998;
	display: none;
}
#pagetop a {
	display: block;
}

@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
	#pagetop{
		width: 100%;
		height: 63px;
		position: static;
		background: #333;
		border-bottom: 1px solid #F0F3F3;
		box-sizing: border-box;
		padding: 24px 0;
	}
	#pagetop img{
		width: 85px;
		margin: auto;
	}
}

/*-----------------------------------

	footer

-----------------------------------*/
footer{
	margin-top: 50px;
	background: #333;
	padding: 80px 0 149px;
	color: #fff;
}
footer .contents_inner{
	max-width: 1088px;
}
footer .footer_wrap{
	align-items: flex-start;
	gap: 147px;
}
footer .left_box{
	max-width: 312px;
}
footer .left_box .company_name{
	font-size: 20px;
	font-weight: 700;
	margin: 30px 0 15px;
}
footer .left_box .address{
	font-size: 14px;
}
footer .right_box{
	width: calc(100% - 459px);
	justify-content: space-between;
	align-items: flex-start;
	gap: 20px;
}
footer .right_box .f_nav{
	flex-direction: column;
	align-items: flex-start;
}
footer .right_box .f_nav li a{
	padding: 10px 0;
	color: #fff;
	display: inline-block;
	line-height: 1.5;
}
footer .right_box .f_nav li a:hover{
	text-decoration: underline;
}
footer .right_box .f_nav li .f_lw li a{
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
	padding: 0 0 0 10px;
	position: relative;
}
footer .right_box .f_nav li .f_lw li a::before{
	content: "";
	
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 4px;
	height: 1px;
	background: rgba(255, 255, 255, 0.7);
}

footer .copy{
	margin-top: 79px;
	color: rgba(255, 255, 255, 0.5);
	font-size: 12px;
}

@media screen and (max-width: 1030px) {
	footer{
		padding: 36px 0 105px;
		margin-top: 0;
	}
	footer .footer_wrap{
		gap: 50px;
		flex-direction: column-reverse;
	}
	footer .right_box{
		width: 100%;
		gap: 32px;
		justify-content: center;
	}
	footer .left_box{
		max-width: 264px;
		margin: auto;
	}
	footer .left_box .logo_area{
		width: 250px;
		margin:  auto;
	}
	footer .left_box .company_name{
		margin: 20px 0 10px;
		font-size: 15px;
		text-align: center;
	}
	footer .left_box .address{
		font-size: 12px;
		text-align: center;
	}
	footer .right_box .f_nav li a{
		padding: 5px 0;
		font-size: 14px;
	}
	footer .right_box .f_nav li .f_lw{
		margin-bottom: 10px;
	}
	footer .right_box .f_nav li .f_lw li a{
		font-size: 12px;
	}
	
	footer .copy{
		margin-top: 30px;
		text-align: center;
		font-size: 10px;
	}
}
@media screen and (max-width: 840px) {
}
@media screen and (max-width: 640px) {
}
