@charset "utf-8";
/*
	Last Update:2019/06/08
	Auther: iw
*/
/*===================================================================
	#top
===================================================================*/
#main_image { position:relative; overflow:hidden; }
#main_image .text { position:absolute; left:0; top:0; width:100%; height:100%; }
#main_image .text .center { display:table; width:100%; height:100%; }
#main_image .text .disp_td { position:relative; text-align:center; vertical-align:middle; }
#main_image #scroll { position:absolute; bottom:0; left:0; width:100%; text-align:center; }
#main_image .mainwrap img { height:100vh; width:auto; max-width:200vw; }
	@media (max-width:767px){
		#main_image { height:120vw; }
		#main_image .mainwrap { position:relative; height:120vh; max-height:120vh; }
		#main_image .camera_wrap { position:absolute; top:0; left:0; height:120vh; }
	}
	@media (min-width:768px){
		#main_image { height:56vw; max-height:100vh; }
		#main_image .mainwrap { position:relative; height:56vw; max-height:56vw; }
		#main_image .camera_wrap { position:absolute; top:0; left:0; height:56vw; }
	}

.back_fix { position:relative; min-height:100vh; background-position:center center; background-repeat:no-repeat; background-size:cover; background-attachment:fixed; }
.back_fix > .back_fix_in { position:relative; width:100%; }

.cov_link { position:relative; display:block; overflow:hidden; text-decoration:none; }
.cov_link * { transition:all .5s; }
.cov_link .text { position:absolute; top:100%; background:rgba(0,0,0,0.5); width:100%; height:100%; text-align:center; }
.cov_link .text .disp_td { vertical-align:middle; color:#fff; }
.cov_link:hover .text { top:0; }

.circle_link { position:relative; display:block; overflow:hidden; text-decoration:none; border:2px solid #ff9400; border-radius:50%; padding:10px 20px 30px; background:#fff; margin-bottom:20px; }
.circle_link .text { position:absolute; top:100%; width:100%; height:100%; text-align:center; top:0; left:0; }
.circle_link .text .disp_td { vertical-align:bottom; color:#ff9400; padding:0 0 10px; }
body.pc .circle_link:hover { background:#fff9f1; }

.tag { display:inline-block; line-height:100%; padding:5px 10px; color:#fff; font-size:12px; margin:0 3px; }
.tag.tag1 { background:#0c9662; }
.tag.tag2 { background:#ff9400; }
.tag.tag3 { background:#28acf7; }
	@media (min-width: 576px){
		#info_list .tag { width:120px; text-align:center; }
	}

#top_1 { background-image:url(../image/contents/top/image1.jpg); }
#top_1 .cov_link { border:2px solid #ff9400; border-radius:50%; margin-bottom:30px; font-size:1.5em; }
#top_1 .circle_link .text .disp_td { padding:0 0 20px; line-height:100%; }

#top_info {}
.info_list a { color:#444; }
.info_list dl { width:100%; padding:10px 0; border-bottom:1px dotted #ccc; }
.info_list dl dt { width:230px; }
.info_list .tag { margin:0 0 0 10px; }
	@media (min-width: 576px){
		.info_list dl { display:table; }
		.info_list dl > * { display:table-cell; }
	}

#top_case {}
#top_case a.cov_link { text-decoration:none; display:block; }
#top #top_case .cov_link .img_rect { width:calc(100vw / 4); }


#wrap_bgpjs { width:100vw; height:100vh; position:fixed; top:0; left:0; }
#wrap_bgpjs canvas { width:100vw; height:100vh; }


/*===================================================================
	#company
===================================================================*/
#company_info { background-image:url(../image/contents/company/image3.jpg); padding-top:50vh; }
.company_list li { display:inline-block; width:13em; }

.tbl_1 { width:100%; }
.tbl_1 > tbody > tr > * { border:1px solid #999; }
.tbl_1 > tbody > tr > th { background:#DAEFE7; text-align:center; width:25%; max-width:200px; }
.tbl_1 > tbody > tr > td { background:#fff; }
.tbl_2 { width:100%; }
.tbl_2 > tbody > tr > * { border-bottom:1px solid #999; padding:10px 0; vertical-align:middle; }
#company .tbl_2 > tbody > tr:first-child > * { padding-top:0; }
.tbl_none { width:100%; }
.tbl_none > tbody > th { font-weight:normal; }
	@media (max-width:767px){
		.tbl_1 { font-size:0.9em; }
		.tbl_1 > tbody > tr > * { padding:10px; }
		#company .tbl_1 > tbody > tr > *th { width:7em; }
	}
	@media (min-width:768px){
		.tbl_1 > tbody > tr > * { padding:15px; }
	}


/*===================================================================
	#service
===================================================================*/
.service_unit { background-repeat:no-repeat; background-position:center center; background-size:100% auto; }
.service_unit h2 { margin-bottom:20px; font-weight:bold; }
.service_unit .sub { display:block; font-size:1.25em; }
.service_unit .title { font-size:2.5em; }
	#service_1 { background-image:url(../image/contents/service/image1.jpg); }
	#service_2 { background-image:url(../image/contents/service/image2.jpg); }
	#service_3 { background-image:url(../image/contents/service/image3.jpg); }
	
	@media (max-width: 575px){
		.service_unit { background-position:center top; }
		.service_unit h2 { text-shadow:0 0 5px #fff, 0 0 5px #fff, 0 0 5px #fff; }
		#service_1 h2, 
		#service_3 h2 { text-align:right; }
	}
	@media (min-width:768px){
		.service_unit { padding-top:70px; padding-bottom:70px; }
	}

.square_link { position:relative; display:block; overflow:hidden; text-decoration:none; border:2px solid #0b9662; border-radius:5px; padding:10px 20px 30px; background:#fff; margin-bottom:20px; }
.square_link .text { position:absolute; top:100%; width:100%; height:100%; text-align:center; top:0; left:0; }
.square_link .text .disp_td { vertical-align:bottom; color:#0b9662; padding:0 0 10px; }
body.pc .square_link:hover { background:#f7fbf9; }

#service_list .circle_link .text .disp_td { padding:0 0 20px; line-height:100%; }

.box { padding:30px; border:1px solid #ccc; }

/*===================================================================
	#faq
===================================================================*/
.faq_unit { margin-bottom:50px; position:relative; }
.faq_unit .title { position:relative; z-index:2; background:#3caa81; color:#fff; display:table; width:100%; max-width:750px; box-shadow:1px 1px 5px #999; }
.faq_unit .title h4 { display:table-cell; font-size:1.15em; line-height:120%; vertical-align:middle; padding:0 10px 0 20px; }
.faq_unit .title:before { content:"Q"; display:table-cell; width:60px; height:60px; font-size:30px; vertical-align:middle; text-align:center; background:#0c9662; font-family:"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","Sawarabi Mincho","游明朝","YuMincho","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; }
.faq_unit .text { position:relative; padding:50px 50px 30px; margin:-30px 0 0 25px; }


/*===================================================================
	#case
===================================================================*/
a.case_unit { margin-bottom:30px; display:block; text-decoration:none; color:#444; }
.case_unit .date { color:#999; padding:5px 20px; border:1px solid #999; }
.case_unit .text { padding:10px 0 0; }
.case_unit .text h3 { font-size:1.15em; text-decoration:underline; }


/*===================================================================
	#contact
===================================================================*/
.tbl_form { width:100%; }
.tbl_form th, .tbl_form td { padding:10px 20px; background:#fff; }
.tbl_form th { padding:28px 50px 20px 20px; }
.tbl_form .caption { padding:5px 0 0; display:block; font-size:0.9em; }

	@media (max-width: 767px){
		.tbl_form,
		.tbl_form tbody,
		.tbl_form tr,
		.tbl_form th,
		.tbl_form td { display:block; }
		.tbl_form { border-top:1px solid #ccc; }
		.tbl_form th { padding:20px 10px 5px; font-weight:bold; }
		.tbl_form td { border-bottom:1px solid #ccc; padding:0 10px 20px; }
	}
	@media (min-width: 768px){
		.tbl_form th,
		.tbl_form td { border-bottom:5px solid #f7fbf9; }
		.tbl_form th { width:230px; vertical-align:top; }
		.tbl_form._check th,
		.tbl_form._check td { padding:20px; }
	}


.message_unit { text-align:left; }
.message_unit .height-1 > img { display:block; max-width:850px; width:100%; margin:0 0 0 auto; }
.message_unit ._right.height-1 > img { margin:0 auto 0 0; }
.message_unit .unit { padding:0 30px; }
.message_unit .disp_tbl { max-width:850px; margin:0 auto 0 0; }
.message_unit ._right .disp_tbl { max-width:850px; margin:0 0 0 auto; }
.message_unit h3 { font-size:1.25em; }
	@media (max-width: 767px){
		.message_unit .unit { padding:30px; }
	}
	@media (min-width: 768px){
		.message_unit .unit2 { text-align:center; }
	}
	@media (min-width:1200px) and (max-width:1599px){
		.message_unit h3 { font-size:1.5em; }
	}
	@media (min-width:1600px){
		.message_unit h3 { font-size:1.75em; }
	}

.history_dl {}
.history_dl dt { font-size:1.25em; font-weight:bold; display:inline-block; border-bottom:3px solid #707070; }
.history_dl dd { padding:10px 0 30px; }



#top_info .tab_navi { text-align:center; }
#top_info .tab_navi ul { display:table; width:100%; max-width:800px; margin:0 auto 30px; table-layout:fixed; }
#top_info .tab_navi li { display:table-cell; border:1px solid #666; }
#top_info .tab_navi a { display:block; text-decoration:none; color:#666; }
#top_info .tab_navi a:hover { background:#eee; }
#top_info .tab_navi .active a { background:#666; color:#fff; }

.pickup_unit { position:relative; background:#999; }
.pickup_unit a { display:block; color:#fff; text-decoration:none; }
.pickup_unit .text { position:absolute; top:0; left:0; width:100%; height:100%; display:table; text-shadow:0 0 3px #333; }
.pickup_unit .text .disp_td { vertical-align:middle; text-align:center; }
.pickup_unit .text h2 { font-size:1.25em; font-weight:bold; }
body.pc .pickup_unit .text:hover { background:rgba(0,0,0,0.3); }





/*===================================================================
	#entry
===================================================================*/
.entry { text-align:left; }
.entry p { margin-bottom:15px; }
.entry ul { ist-style:none; margin-left:25px; margin-bottom:20px; }
.entry ul > li { margin:5px 0; text-indent:-25px; }
.entry ul > li:before { color:#0c9662; content:"\f101"; font-family:"Font Awesome 5 Free"; -webkit-font-smoothing:antialiased; text-rendering:auto; font-variant:normal; font-weight:bold; line-height:200%; padding:0 5px; }
.entry ul > li > ul > li:before { color:#8DC21F; content:"\f105"; }

.entry ol { list-style:none; counter-reset:ol_li; margin-left:25px; margin-bottom:20px; }
.entry ol > li { margin:5px 0; text-indent:-25px; }
.entry ol > li:before { color:#0c9662; font-weight:bold; counter-increment:ol_li; content:counter(ol_li)"."; padding-right:10px; }
.entry ol > li > ol > li:before { color:#8DC21F; content:counter(ol_li)":";  }

.entry ol > li > ul > li:before { color:#8DC21F; }

.entry table { margin-bottom:30px; width:100%; }
.entry th,
.entry td { padding:10px 15px; border:1px solid #ccc; }
.entry thead th { background:#006b4d; color:#fff; font-weight:bold; }
.entry thead td { background:#4b9681; color:#fff; font-weight:bold; }
.entry tbody th { background:#f6f9e5; font-weight:bold; }
.entry tbody tr > th:nth-child(1) { width:25%; max-width:280px; }


/*===================================================================
	common
===================================================================*/
/* font */
.mincho { font-family:"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","Sawarabi Mincho","游明朝","YuMincho","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif; }

/* 見出し */
.hl_1 { text-align:center; margin-bottom:50px; line-height:120%; color:#0c9662; }
.hl_1 .sub { display:block; font-size:13px; color:#999; }

.hl_2 { position:relative; text-align:center; color:#0c9662; background:#fff; border:2px solid #0c9662; margin-bottom:20px; }
.hl_2:before, .hl_2:after { content:""; position:absolute; bottom:-10px; width:0; height:0; }
.hl_2:before { left:0; border-top:10px solid #0c9662; border-left:20px solid transparent; }
.hl_2:after { right:0; border-top:10px solid #0c9662; border-right:20px solid transparent; }
.hl_2.c2 { border:2px solid #ff9400; }
.hl_2.c2:before, .hl_2.c2:after { border-top:10px solid #ff9400; }

.hl_3 { font-weight:bold; margin-bottom:10px; padding:5px 10px; background:#0c9662; color:#fff; }
.hl_4 { font-weight:bold; font-size:1.85em; text-align:center; margin-bottom:30px; }

	@media (max-width:575px){
		.hl_1 { font-size:2em; }
		.hl_1 .sub { line-height:120%; }
		.hl_2 { font-size:1.15em; padding:10px 5px; }
	}
	@media (min-width:576px){
		.hl_1 { font-size:2.25em; }
		.hl_2 { font-size:1.25em; padding:10px; }
	}

/* button */
.button { display:inline-block; position:relative; text-align:center; line-height:100%; position:relative; background:#0c9662; border:2px solid #0c9662; color:#fff; min-width:250px; border-radius:50px; }
a.button { text-decoration:none; color:#fff; }
.button.mini { padding:13px; }
.button i { margin:0 3px; }
.button i.fa-chevron-right { position:absolute; right:10px; font-size:12px; }
.button i.fa-chevron-left { position:absolute; left:10px; font-size:12px; }
.button._w { background:none; border:1px solid #fff; border-radius:30px; }
.button._back { background:#999; border-color:#999; }
	@media (max-width: 575px){
		#form .button { min-width:150px; }
	}
	@media (max-width:767px){
		.button { padding:15px 30px; }
	}
	@media (min-width:768px){
		.button { padding:20px 40px; }
		.button._w { padding:15px 15px; min-width:150px; font-size:0.85em; }
	}

body.pc .button:not(._w):hover { background:#fff; color:#0c9662; font-weight:bold; }


/*===================================================================
	color
===================================================================*/
/* background */
.bg0 { background-color:#fff!important; }
.bg1 { background-color:#0b9662!important; }
.bg2 { background-color:#ff9400 !important; }
.bg3 { background-color:#ebebeb; }

.bg1o { background-color:#f7fbf9; }
.bg2o { background-color:#fff9f1; }

.c_ { color:#444 !important; }
.c0 { color:#fff !important; }
.c1 { color:#0b9662 !important; }
.c2 { color:#ff9400 !important; }


/*===================================================================
	pc / sp
===================================================================*/
.mb0  { margin-bottom:0 !important; }
.mb5  { margin-bottom:5px !important; }
.mb10 { margin-bottom:10px !important; }
.mb20 { margin-bottom:20px !important; }
.mb25 { margin-bottom:25px !important; }
.mb30 { margin-bottom:30px !important; }
.mb50 { margin-bottom:50px !important; }
.p0 { padding:0 !important; }
.p5 { padding:5px !important; }
.p10 { padding:10px !important; }
.p20 { padding:20px !important; }
.p30 { padding:30px !important; }
.pt30 { padding-top:30px !important; }
.pb10 { padding-bottom:10px !important; }
.mw500 { width:100%; max-width:500px; margin-left:auto; margin-right:auto; }
.mw-auto { min-width:inherit !important; }

.disp_b { display:block; }
.disp_ib { display:inline-block; }
.disp_tbl { display:table; width:100%; height:100%; }
.disp_td { display:table-cell; width:100%; }
.bor50 { display:block; border-radius:50%; overflow:hidden; }

.img_sq,
.img_rect { background-position:center center; background-repeat:no-repeat; background-size:cover; }
.img_sq > img,
.img_rect > img { visibility:hidden; }

body.pc .parallax, body.pc .parallax:before, body.pc .parallax:after { transition:all .5s; }
body.pc .parallax[data-parallax-in="vertical"]:not(.parallax_on) { opacity:0 !important; transform:translateY(30px); -webkit-transform:translateY(30px); -ms-transform:translateY(30px);	}
body.pc .parallax[data-parallax-in="vertical2"]:not(.parallax_on) { opacity:0 !important; transform:translateY(60px); -webkit-transform:translateY(60px); -ms-transform:translateY(60px); }
body.pc .parallax[data-parallax-in="vertical3"]:not(.parallax_on) { opacity:0 !important; transform:translateY(90px); -webkit-transform:translateY(90px); -ms-transform:translateY(90px); }
body.pc .parallax[data-parallax-in="vertical"],
body.pc .parallax[data-parallax-in="vertical2"],
body.pc .parallax[data-parallax-in="vertical3"] { opacity:1; transform:translateY(0); -webkit-transform:translateY(0); -ms-transform:translateY(0); }



@media (min-width: 768px){
	.pc_none { display:none !important; }
}
@media (max-width: 767px){
	.sp_none { display:none !important; }
	.sp_table_wrap { overflow-x:auto; width:100%; white-space:nowrap; }
	.sp_table_wrap::-webkit-scrollbar { height:10px; }
	.sp_table_wrap::-webkit-scrollbar-track { background:#F1F1F1; }
	.sp_table_wrap::-webkit-scrollbar-thumb { background:#BCBCBC; }
	.sp_table_wrap table { width:100%; }
	.sp_table_wrap table { font-size:13px !important; -webkit-text-size-adjust:100%; -moz-text-size-adjust:none; -ms-text-size-adjust:100%; text-size-adjust:100%; }
}
