@charset "UTF-8";

/* reset */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,figure,footer,header,hgroup,menu,nav,section,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}article,aside,figure,footer,header,hgroup,nav,section{display:block;}img,object,embed{vertical-align: bottom;}html{overflow-y:scroll;}ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent;}del{text-decoration:line-through;}abbr[title],dfn[title]{border-bottom:1px dotted #000;cursor:help;}table{border-collapse:collapse;border-spacing:0;}th{font-weight:bold;vertical-align:bottom;}td{font-weight:normal;vertical-align:top;}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0;}input,select{vertical-align:middle;}pre{white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word;}input[type="radio"]{vertical-align:text-bottom;}input[type="checkbox"]{vertical-align:bottom;*vertical-align:baseline;}select,input,textarea{font:99% sans-serif;}table{font-size:inherit;font:100%;}a:hover,a:active{outline:none;}strong,th{font-weight:bold;}td,td img{vertical-align:top;}sub,sup{font-size:75%;line-height:0;position:relative;}sup{top:-0.5em;}sub{bottom:-0.25em;}pre,code,kbd,samp{font-family:monospace,sans-serif;}label,input[type=button],input[type=submit],button{cursor:pointer;}button,input,select,textarea{margin:0;}button{width:auto;overflow:visible;}[hidden]{display:none !important;}[disabled]{cursor:not-allowed;}:focus:not(:focus-visible){outline:none;}

/* clear */
.clear:before,.clear:after{content:"\0020";display:block;height:0;overflow:hidden;}.clear:after{clear:both;}.clear{zoom:1;}

/* base */

html {
	font-family: 'Noto Sans JP','游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
	font-weight: 400;
	font-size: 62.5%; /* 10px */
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
	position:relative;
	width:100%;
	height:100%;
	line-height:1;
	color : #333;
}
@media print, screen and (min-width: 768px) { /****** tablet以上 ******/
	body {
		font-size:1.6rem;
		letter-spacing:0.1em;
		min-width:1200px;
		padding-top:80px;
	}
}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/
	body {
		font-size:3.73vw; /* 14px */
		letter-spacing:0;
		min-width:375px;
		padding-top:14.67vw;
		padding-bottom:17.33vw; /* 65px */
	}
}

/* 明朝 */
.section_label_pagetitle,
.serif{
	font-family: '游明朝',YuMincho,'ヒラギノ明朝 ProN W3','Hiragino Mincho ProN','ＭＳ Ｐ明朝',serif;
	font-weight: 400;
}
/* 欧文 */
.en{
	font-family: 'Heebo','Noto Sans JP','游ゴシック',YuGothic,'ヒラギノ角ゴ ProN W3','Hiragino Kaku Gothic ProN','メイリオ',Meiryo,sans-serif;
	font-style: italic;
	letter-spacing: 0.12em;
} 



*,
*::before,
*::after {
  box-sizing: border-box;
}
p,li,dd,td {
  text-align: justify;
  text-justify: inter-ideograph;
}
h1,h2,h3,h4,h5{
	font-weight: 400;
}
img {
	max-width:100%;
	height:auto;
}


/*a {
	transition: color 0.3s;
}*/
a:link,
a:visited,
a:hover,
a:active{
	color : #333;
	text-decoration: none;
	overflow-wrap: break-word;
}

a.textlink:link,
a.textlink:visited{
	color : #333;
	text-decoration: underline;
	text-decoration-color: #333;
}
a.textlink:hover,
a.textlink:active{
	color: #999;
}

a.alpha:link,
a.alpha:visited,
a.trans:link,
a.trans:visited {
	transition: opacity 0.3s ease-out;
	opacity: 1;
}
a.alpha:hover,
a.alpha:active {
	opacity: 0.6;
}
a.trans:hover,
a.trans:active {
	opacity: 0;
}

a.btn_shadow{
	filter: drop-shadow(0 3px 4px rgba(0,0,0,0));
	transition: all 0.2s;
}
a.btn_shadow:hover{
	filter: drop-shadow(0 3px 4px rgba(0,0,0,0.3));
}

a.btn_shadow2{
	filter: drop-shadow(0 3px 3px rgba(0,0,0,0.3));
	transition: all 0.2s;
}
a.btn_shadow2:hover{
	filter: drop-shadow(0 3px 6px rgba(0,0,0,0.5));
}



.br_sp,
.br_1150,
.text_sp,
.block_sp{
	display:none;
}
.br_pc,
.text_pc{
	display:inline;
}
.block_pc{
	display:block;
}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/
	.br_sp,
	.text_sp{
		display:inline;
	}
	.block_sp{
		display:block;
	}
	.br_pc,
	.text_pc,
	.block_pc{
		display:none;
	}
}
@media print, screen and (min-width: 768px) and (max-width: 1150px) { /****** tablet-1150pxのみ ******/

	.br_1150{
		display:inline;
	}

}




/****************************************************************************
body
****************************************************************************/


#header{}
#header_visual{}

.contents{}
	.content_wrap{}
		.content{}

#footer{
}
 


/****************************************************************************
header
****************************************************************************/

#header_pagetitle{
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: 50% 50% no-repeat;
	background-size:contain;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#header{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 80px;
		min-width: 1200px;
		background-color: rgba(255,255,255,0.97);
		z-index:500;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 380px 0 1.5vw;
	}
	#header_pagetitle{
		width: 342px;
		height: 55px;
		background-image: url("../img/header_pagetitle_pc.svg");
	}

	#btn_menu{
		display: none;
	}
	
}
@media print, screen and (min-width: 768px) and (max-width: 1270px) { /****** tablet-1270pxのみ ******/

	#header_nav{
		display: none;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	#header{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 14.67vw; /* 55px */
		background-color: rgba(255,255,255,0.97);
		z-index:500;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 0 2vw;
	}
	#header_pagetitle{
		width: 74.4vw;
		height: 11.73vw;
		background-image: url("../img/header_pagetitle_sp.svg");
	}
	
	#header_nav{
		display: none;
	}


/*
	#btn_menu{
		position: absolute;
		top: 1.33vw;
		right: 4vw;
		width: 11.33vw;
		height: 11.33vw;
		background: url("../../img/common/bg_grain.jpeg") 50% 50% no-repeat;
		background-size: 200% auto;
	}
	#btn_menu a{
		display:block;
		width: 100%;
		height: 100%;
		font-size: 0%;
		line-height: 0%;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		background: url(../../img/common/icn_menu.svg) 50% 50% no-repeat;
		background-size:cover;
	}
	#btn_menu.active a{
		background-image:url(../../img/common/icn_close.svg);
	}

	#header_nav{
		position:fixed;
		top: 15.47vw;
		right: -80vw;
		width: 70vw;
		height: calc(100% - 15.47vw);
		background: url("../../img/common/bg_grain.jpeg") 50% 50% no-repeat;
		background-size:cover;
		box-shadow: -2px 0 3px 0 rgba(0,0,0,.2);
		overflow: hidden;
		z-index:400;
		transition: all 0.3s;
	}
	#header_nav.active{
		right:0;
	}
	#header_nav .global_nav{
		position: relative;
		overflow-y: auto;
		width: 100%;
		height: 100%;
		padding:0;
	}
*/

}


/* #header_nav .global_nav *************************************/


/*@media print, screen and (min-width: 1024px) { /****** ヘッダー切り替え ******/
@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.gnav_ul{
		display: flex;
		align-items: stretch;
	}
	.gnav_li{
		width: auto;
		height: auto;
		position: relative;
	}
	.gnav_li::before{
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		height: 1.5em;
		width: 1px;
		background-color: #7f8081;
		content: "";
	}
	.gnav_li:last-child::after{
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		height: 1.5em;
		width: 1px;
		background-color: #7f8081;
		content: "";
	}

	.gnav_a{
		padding: 0 1em;
		height: 3em;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 1.4rem;
		font-weight: 700;
		letter-spacing: 0;
		transition: all 0.3s ease-in;
		position: relative;
	}
	.gnav_a::before{
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		display: block;
		width: 0;
		height: 1px;
		background-color: rgba(0,0,0,0.75);
		content: "";
		transition: all 0.2s ease-out;
	}
	.gnav_a:hover::before {
		width: 80%;
	}

}
@media print, screen and (min-width: 768px) and (max-width: 1365px) { /****** tablet-1365pxのみ ******/

	.gnav_a{
		font-size: 1.2rem;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

}


/* #fix_btn *************************************/
/* .contact_nav *************************************/

.contact_nav{
	display: flex;
	justify-content: space-between;
	transition: all 0.3s ease-in-out;
}
.contact_nav li{
	width: 49.5%;
	transition: all 0.3s ease-in-out;
}

.contact_nav li#btn_menu{
	display:none;
}

.contact_nav li a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 44px;
	background-color: #fff;
	border:solid 3px #ff9900;
	transition: all 0.2s ease-out;
}
.contact_nav li.cnav_tel a{
	background-color: #fff;
}
.contact_nav li.cnav_form a{
	background-color: #ff9900;
}

.contact_nav li a .cnav_text{
	display: inline-block;
	padding: 2px 0 2px 24px;
	background:0 50% no-repeat;
	background-size:contain;
	font-weight: 700;
	color:#fff;
	line-height: 1;
}
.contact_nav li.cnav_tel a .cnav_text{
	background-image: url(/img/common/icn_tel_ora@3x.png);
	color:#ff9900;
}
.contact_nav li.cnav_form a .cnav_text{
	background-image: url(/img/common/icn_mail_wht@3x.png);
}

@media screen and (min-width: 1024px) { /******** PC以上 ********/
	.contact_nav li.cnav_tel a:hover{
/*		background-color: #ff9900;*/
		cursor: default;
	}
	.contact_nav li.cnav_form a:hover{
		background-color: #fff;
	}
/*	.contact_nav li.cnav_tel a:hover .cnav_text{
		color:#fff;
		background-image: url(/img/common/icn_tel_wht@3x.png);
	}*/
	.contact_nav li.cnav_form a:hover .cnav_text{
		color:#ff9900;
		background-image: url(/img/common/icn_mail_ora@3x.png);
	}
}
@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#fix_btn{
		position:fixed;
		top :20px;
		right:20px;
		width:343px;
		height:auto;
		z-index:600;
	}
	.contact_nav_label{
		height: 0px;
		font-size: 0%;
		line-height: 0%;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
		padding: 0;
		margin: 0;
	}
	
}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	#fix_btn{
		position:fixed;
		bottom:0;
		right:0;
		width:100%;
		height:auto;
		z-index:300;
		transition: all 0.3s ease-in-out;
		visibility:hidden;
		opacity: 0;
	}
	#fix_btn.fix_btn_fix{
		visibility:visible;
		opacity: 1;
	}

	.contact_nav_label{
		height: 6vw;
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: 3.2vw;
		font-weight: 700;
		color: #fff;
		letter-spacing: 0.1em;
		background-color: rgba(103,103,103,0.95);
	}
	
	.contact_nav li{
		width: 50%;
	}
	.contact_nav li.cnav_form{
		border-left: solid 1px #fff;
	}

	.contact_nav li a{
		height: 11.33vw;
/*		border:none;*/
	}
	.contact_nav li a .cnav_text{
		padding-left: 7.5vw;
	}

}



/****************************************************************************
#header_visual
****************************************************************************/

.header_visual_copy01{
	display: block;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: 0 0 no-repeat;
	background-size: contain;
}
.header_visual_copy02{
	display: block;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: 50% 0 no-repeat;
	background-size: contain;
}

.header_visual_service_listitem a{
	display: block;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: 50% 0 no-repeat;
	background-size: contain;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#header_visual {
		width: 100%;
		height: 680px;
		background: url("../img/header_visual_pc.jpg") 50% 25% no-repeat;
		background-size: cover;
	}
	.header_visual_copy{
		width: 95%;
		height: 272px;
		max-width: 1240px;
		margin: 0 auto;
		padding: 48px 0 17px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: flex-start;
	}
	.header_visual_copy01{
		width: 652px;
		height: 138px;
		background-image: url("../img/header_visual_copy01_pc.svg");
	}
	.header_visual_copy02{
		width: 100%;
		height: 41px;
		background-image: url("../img/header_visual_copy02_pc.svg");
	}

	.header_visual_service_list{
		display: flex;
		justify-content: space-between;
		width: 95%;
		max-width: 1190px;
		margin: 0 auto;
	}
	.header_visual_service_listitem a{
		width: 370px;
		height: 366px;
		filter: drop-shadow(1px 3px 4px rgba(0,0,0,0));
		transition: all 0.3s ease-out;
	}
	.header_visual_service_listitem.hvsl_bacta a{
		background-image: url("../img/header_visual_btn01_pc.png");
	}
	.header_visual_service_listitem.hvsl_perfect a{
		background-image: url("../img/header_visual_btn02_pc.png");
	}
	.header_visual_service_listitem.hvsl_ales a{
		background-image: url("../img/header_visual_btn03_pc.png");
	}
	.header_visual_service_listitem a:hover{
		filter: drop-shadow(1px 3px 4px rgba(0,0,0,0.5));
	}

}
@media print, screen and (min-width: 768px) and (max-width: 1365px) { /****** tablet-1365pxのみ ******/


}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	#header_visual {
		width: 100vw;
		height: 105.33vw;
		background: url("../img/header_visual_sp.jpg") 50% 50% no-repeat;
		background-size: cover;
	}
	.header_visual_copy{
		width: 90vw;
		height: 52.27vw;
		margin: 0 auto;
		padding-top: 5.87vw;
		padding-bottom: 2.13vw;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: flex-start;
	}
	.header_visual_copy01{
		width: 53.33vw;
		height: 30.8vw;
		background-image: url("../img/header_visual_copy01_sp.svg");
	}
	.header_visual_copy02{
		width: 100%;
		height: 7.47vw;
		background-image: url("../img/header_visual_copy02_sp.svg");
	}

	.header_visual_service_list{
		width: 93.87vw;
		margin-left: 2.13vw;
	}
	.header_visual_service_listitem + .header_visual_service_listitem{
		padding-top: 5px;
	}
	.header_visual_service_listitem a{
		width: 100%;
		height: 15.47vw;
	}
	.header_visual_service_listitem.hvsl_bacta a{
		background-image: url("../img/header_visual_btn01_sp.png");
	}
	.header_visual_service_listitem.hvsl_perfect a{
		background-image: url("../img/header_visual_btn02_sp.png");
	}
	.header_visual_service_listitem.hvsl_ales a{
		background-image: url("../img/header_visual_btn03_sp.png");
	}

}
@media print, screen and (min-width: 768px) and (max-width: 1199px) { /****** tablet-1199pxのみ ******/

}


/****************************************************************************
#breadcrumb
****************************************************************************/



/****************************************************************************
.contents
****************************************************************************/

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.contents{
		line-height: 1.5;
		padding-top: 80px;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.contents{
		line-height: 1.5;
		padding-top: 8vw;
	}

}




/****************************************************************************
.content_wrap
.content_header .content_label
.content
****************************************************************************/

.content_wrap_gray{
	background-color: rgba(67,165,204,0.15);
}
.content_wrap_green{
	background-color: rgba(0,156,71,0.30);
}

.content_wrap_ph01{
	background: 50% 50% no-repeat;
	background-size: cover;
}

.content_wrap_grada01,
.content_wrap_grada02{
	position: relative;
}
.content_wrap_grada01::before
{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	z-index: -1;
  background : -moz-linear-gradient(63.36% 95.6% 106.12deg,rgba(173, 121, 180, 1) 7.96%,rgba(0, 150, 230, 1) 38.88%,rgba(0, 182, 154, 1) 73.39%,rgba(0, 156, 71, 1) 95.71%);
  background : -webkit-linear-gradient(106.12deg, rgba(173, 121, 180, 1) 7.96%, rgba(0, 150, 230, 1) 38.88%, rgba(0, 182, 154, 1) 73.39%, rgba(0, 156, 71, 1) 95.71%);
  background : -webkit-gradient(linear,63.36% 95.6% ,37.49% 7.31% ,color-stop(0.0796,rgba(173, 121, 180, 1) ),color-stop(0.3888,rgba(0, 150, 230, 1) ),color-stop(0.7339,rgba(0, 182, 154, 1) ),color-stop(0.9571,rgba(0, 156, 71, 1) ));
  background : linear-gradient(-16.12deg, rgba(173, 121, 180, 1) 7.96%, rgba(0, 150, 230, 1) 38.88%, rgba(0, 182, 154, 1) 73.39%, rgba(0, 156, 71, 1) 95.71%);
  opacity : 0.49;
}
.content_wrap_grada02::before
{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	z-index: -1;
   background : -moz-linear-gradient(73.5% 88.59% 100deg,rgba(125, 60, 143, 1) 22.58%,rgba(0, 150, 230, 1) 44.34%,rgba(0, 182, 154, 1) 69.49%,rgba(0, 156, 71, 1) 90.35%);
  background : -webkit-linear-gradient(100deg, rgba(125, 60, 143, 1) 22.58%, rgba(0, 150, 230, 1) 44.34%, rgba(0, 182, 154, 1) 69.49%, rgba(0, 156, 71, 1) 90.35%);
  background : -webkit-gradient(linear,73.5% 88.59% ,26.73% 11.77% ,color-stop(0.2258,rgba(125, 60, 143, 1) ),color-stop(0.4434,rgba(0, 150, 230, 1) ),color-stop(0.6949,rgba(0, 182, 154, 1) ),color-stop(0.9035,rgba(0, 156, 71, 1) ));
  background : linear-gradient(-10deg, rgba(125, 60, 143, 1) 22.58%, rgba(0, 150, 230, 1) 44.34%, rgba(0, 182, 154, 1) 69.49%, rgba(0, 156, 71, 1) 90.35%);
  opacity : 0.1;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.content_wrap{
		padding: 0 0 80px;
	}

	.content_wrap_ph01{
		background-image: url("../img/bg_contact_pc-80.jpg");
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.content_wrap{
		padding: 0 0 8vw;
	}

	.content_wrap_ph01{
		background-image: url("../img/bg_contact_sp-80.jpg");
	}

}




/* .content_wrap_2clm (.content_wrap の中が2段組み) *************/
@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.content_wrap.content_wrap_2clm{
		display: flex;
		justify-content: space-between;
	}
	.content_wrap.content_wrap_2clm .content_wrap_inner{
		width: calc(50% - 30px);
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.content_wrap.content_wrap_2clm .content_wrap_inner + .content_wrap_inner{
		padding-top: 16vw;
	}

}



/* .content *************/

.content{
	width: 95%;
	max-width: 1200px;
	margin: 0 auto;
}
.content.content_narrow{
	max-width: 1020px;
}
.content.content100{
	width: 100%;
	max-width: initial;
}

@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.content{
		width: 92vw; /* 345px 左右余白15 px */
	}

}

.content.content_2clm{ /* .content の中が2段組み */
}
@media print, screen and (min-width: 768px) { /****** tablet以上 ******/
	.content.content_2clm{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}
/*	.content.content_2clm .content_2clm_main{
		width: calc(100% - 230px);
	}
	.content.content_2clm .content_2clm_sub{
		width: 205px;
	}*/

}
@media print, screen and (min-width: 768px) and (max-width: 1150px) { /****** tablet-1150pxのみ ******/

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/
}


/****************************************************************************
.section
****************************************************************************/

/* section.section ********************/

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.section{
	}
	.section + .section{
		margin-top:100px;
	}
	.content_2clm .section + .section{
		margin-top:0;
	}
	.content_article .section + .section {
		margin-top: 150px;
	}

	.section_body{
		line-height: 1.75;
	}

	.section_body + .section_body{
		margin-top:50px;
	}
	.section_body_narrow{
		max-width: 800px;
		margin: 0 auto;
	}

	.section_body_gray{
		padding:3em 4em;
		background-color: #eeeeee;
	}
	.section_body_wht{
		padding:3em 4em;
		background-color: #fff;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.section + .section{
		margin-top:16vw;
	}

	.section_body{
		line-height: 1.75;
	}

	.section_body + .section_body{
		margin-top:8vw;
	}
	.section_body_narrow{
	}

	.section_body_gray{
		background-color: #eeeeee;
	}
	.section_body_wht{
		padding: 8vw 5.33vw;
		background-color: #fff;
	}
	.section_body_100{
		margin-left:-4vw;
		margin-right:-4vw;
		width: 100vw;
		padding: 8vw 6.67vw;
	}

}

/* .section_label ********************/

.section_label{
	display: flex;
	flex-direction: column;
	align-items: center;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.section_label{
		padding-bottom: 50px;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.section_label{
		padding-bottom: 8vw;
	}
	.section_label_pagetitle{
		display: inline-block;
		max-width: 92vw;
	}

}




/* .section_body の中 ********************/


.sbody_label{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding-bottom: 1.5em;
}
.sbody_label_en{
	line-height: 1.3;
	color: #4e4d4d;
}
.sbody_label_en::first-letter{
	color: #FF9900;
}
.sbody_label_text{
	font-weight: 700;
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.sbody_label_en{
		font-size: 4.4rem;
		margin-left: -0.5em;
	}
	.sbody_label_text{
		font-size: 2.4rem;
	}

	.sbody_text{
	}
	.sbody_text p + p{
		padding-top: 1em;
	}

	.sbody_label{
		font-size: 1.22em;/* 22px */
	}

	p.txt{
		line-height: 2;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.sbody_label_en{
		font-size: 8vw;
		margin-left: -0.3em;
	}
	.sbody_label_text{
		font-size: 4.27vw;
	}

	.sbody_text{
	}
	.sbody_text p + p{
		padding-top: 0.5em;
	}

	.sbody_label{
		font-size: 1.12em;/* 18px */
	}

	p.txt{
		line-height: 1.75;
	}

}


/* .section_body.sbody_2clm ********************/

.sbody_2clm,
.sbody_3clm,
.sbody_4clm{
	display: flex;
	justify-content:space-between;
	align-items: stretch;
}
.sbody_2clm.sbody_sp_floatr{/* SPで画像 float:right; のとき */
	flex-direction: row-reverse;
}
.sbody_2clm .sbody_img,
.sbody_2clm .sbody_text{
	width: 48%;
}
.sbody_3clm .sbody_img,
.sbody_3clm .sbody_text{
	width: 30.58%;
}
.sbody_4clm .sbody_img,
.sbody_4clm .sbody_text{
	width: 23%;
}

@media screen and (max-width: 767px) { /**** tablet未満 ****/

	.sbody_sp_1clm{
		display: flex;
		flex-direction:column;
		justify-content:center;
		align-items: center;
	}
	.sbody_sp_1clm .sbody_img,
	.sbody_sp_1clm .sbody_text{
		width: 100%;
		padding-bottom: 2.67vw;
	}

	.sbody_sp_floatr:before,
	.sbody_sp_floatr:after,
	.sbody_sp_floatl:before,
	.sbody_sp_floatl:after{
		content:"\0020";
		display:block;
		height:0;
		overflow:hidden;
	}
	.sbody_sp_floatr:after,
	.sbody_sp_floatl:after{
		clear:both;
	}
	.sbody_sp_floatr,
	.sbody_sp_floatl{
		zoom:1;
		display: block;/* .sbody_2clm の flex 上書き */
	}
	.sbody_sp_floatr .sbody_img{
		width: 58%;
		float: right;
		padding-left: 5%;
		padding-bottom: 10px;
	}
	.sbody_sp_floatr .sbody_text{
		display: inline;
	}
	.sbody_sp_floatl .sbody_img{
		width: 58%;
		float: left;
		padding-right: 5%;
		padding-bottom: 10px;
	}
	.sbody_sp_floatl .sbody_text{
		display: inline;
	}


}


/* 　見出し類　 */


/* 　本文中の画像　 */

.fig_center,
.img_center{
	text-align:center;
	margin-top:60px;
	margin-bottom:60px;
}
.fig_center.fig_center_narrow,
.img_center.img_center_narrow{
	width: 100%;
	max-width: 820px;
	margin-left: auto;
	margin-right: auto;
}
.fig_center.fig_center_small,
.img_center.img_center_small{
	width: 70%;
	max-width: 420px;
	margin-left: auto;
	margin-right: auto;
}

.fig_right,
.img_right{
	display:inline-block;
	max-width:45%;
	margin-left:5%;
	margin-bottom:20px;
	float:right;
}
.fig_left,
.img_left{
	display:inline-block;
	max-width:45%;
	margin-right:5%;
	margin-bottom:20px;
	float:left;
}

.fig_right,
.fig_left{
	width:60%;
}

.fig_right.img_tate,
.img_right.img_tate,
.fig_left.img_tate,
.img_left.img_tate{
	width:37%;
}

.fig_bg_wht{
	padding: 10px 20px;
	background-color: #fff;
}

@media screen and (max-width: 969px) { /****** tablet以下 ******/

	.fig_right,
	.fig_left,
	.fig_right.img_tate,
	.fig_left.img_tate{
	width: 100%;
	box-sizing: border-box;
	float: none;
	text-align:center;
	margin-left: auto;
	margin-right: auto;
	}

	.fig_bg_wht{
		padding: 10px 5vw;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.fig_center,
	.img_center{
		margin-top:8vw;
		margin-bottom:8vw;
	}

	.img_right,
	.img_left{
		max-width: none;
		width:45%;
	}
	.img_right.img_tate,
	.img_left.img_tate{
		width:40%;
	}

	.img_sp100vw{
		margin-left: -5.34vw;
		margin-right: -5.34vw;
		width: 100vw;
	}

}

.fig_center img + img,
.img_center img + img,
.fig_right img + img,
.img_right img + img,
.fig_left img + img,
.img_left img + img,
.fig_right br + img,
.img_right br + img,
.fig_left br + img,
.img_left br + img{
	margin-top:5px;
}

.fig_center a + a,
.img_center a + a,
.fig_right a + a,
.img_right a + a,
.fig_left a + a,
.img_left a + a{
	display:inline-block;
	margin-top:5px;
}


.img_caption{
	padding-top:8px;
	font-size: 1.4rem;
	line-height: 1.6;
	text-align: center;
}
.img_right .img_caption{
	text-align:right;
}
.img_left .img_caption{
	text-align:left;
}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	.img_caption{
		padding-top:4px;
		font-size: 1.0rem;
		line-height: 1.6;
		letter-spacing: 0;
	}
}

.ta-right{
	text-align:right;
}
.ta-left{
	text-align:left;
}
.ta-center{
	text-align:center;
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.text-center{
		text-align:center;
	}

}





/* 　コンテンツボックス　 */

.box_line_gray{
	border: solid 1px #adacac;
	padding: 1.3em 2em;
}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	.box_line_gray{
		padding: 1em;
	}

}


/* 　ボタン　 */

.btn_center{
	display: flex;
	justify-content: center;
}

.btn_box_r,
a.btn_box_r{
	display: inline-block;
	height: auto;
	padding: 0.8em 5em 0.9em;
	margin: 1em 0;
	line-height: 1;
	font-size: 0.875em;
	color: #fff;
	border: solid 2px #fff;
	border-radius: 2em;
	transition: all 0.3s ease-out;
}
.btn_box_r::before{
	display: inline-block;
	padding-right: 0.5em;
	font-size: 0.86em;
	content: "\0025bc";
}

.btn_box_r.btn_box_r_bacta,
a.btn_box_r.btn_box_r_bacta{
	background-color: #72BE3D;
}
.btn_box_r.btn_box_r_perfect,
a.btn_box_r.btn_box_r_perfect{
	background-color: #00AFC6;
}
.btn_box_r.btn_box_r_ales,
a.btn_box_r.btn_box_r_ales{
	background-color: #BF6FB3;
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.btn_box_r.btn_box_r_bacta:hover,
	a.btn_box_r.btn_box_r_bacta:hover{
		color: #72BE3D;
		border-color: #72BE3D;
		background-color: #fff;
	}
	.btn_box_r.btn_box_r_perfect:hover,
	a.btn_box_r.btn_box_r_perfect:hover{
		color: #00AFC6;
		border-color: #00AFC6;
		background-color: #fff;
	}
	.btn_box_r.btn_box_r_ales:hover,
	a.btn_box_r.btn_box_r_ales:hover{
		color: #BF6FB3;
		border-color: #BF6FB3;
		background-color: #fff;
	}

}




/* dt dd リスト */
dl.dl_row{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: stretch;
}
dl.dl_row + dl.dl_row{
	margin-top: 1.5em;
}
dl.dl_row dt{
	margin-bottom: 2px;
	background-color: #fff;
}
dl.dl_row dd{
	margin-bottom: 2px;
	background-color: #fff;
	text-align: left;
}
.sbody_text dl.dl_row dd p + p{
	padding-top: 0;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	dl.dl_row dt{
		width:14em;
		padding: 1em 2em;
	}
	dl.dl_row dd{
		width: calc(100% - 14em);
		padding: 1em 2em;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	dl.dl_row{
		font-size:3.2vw; 
	}
	dl.dl_row dt{
		width:5.5em;
		padding: 1em 0.5em;
	}
	dl.dl_row dd{
		width: calc(100% - 5.5em);
		padding: 1em 0.5em;
	}

}



.list_ind1,
.list_ind2,
.list_ind15{
	padding:0.5em 0;
}
.ind1,
.list_ind1 li{
	padding-left:1em;
	text-indent:-1em;
}
.ind2,
.list_ind2 li{
	padding-left:2em;
	text-indent:-2em;
}
.ind15,
.list_ind15 li{
	padding-left:1.5em;
	text-indent:-1.5em;
}



/* table 表 */


table {
    width: 100%;
/*    table-layout: fixed;*/
    border-collapse: collapse;
    border-spacing: 0;
}

table.table_line {
    border: 1px solid #888;
}
table.table_line tr {
    border: 1px solid #ccc;
}
table.table_line tr th{
    z-index: -1;
    width: 10em;
	padding: 1em 1.5em;
    background-color: #EEEEEE;
    text-align: left;
    vertical-align: top;
	font-weight: 700;
}
table.table_line tr td {
	padding: 1em 1.5em;
    vertical-align: top;
}


table.table_noline {
}
table.table_noline tr {
}
table.table_noline tr th{
    width: 10em;
	padding: 1em 1.5em 1em 0;
    text-align: right;
    vertical-align: top;
}
table.table_noline tr td {
	padding: 1em 0;
    text-align: left;
    vertical-align: top;
}

@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	table.table_line tr th,
	table.table_line tr td {
		display:block;
		width: 100%;
	    padding: 0.5em;
	}
	table.table_line tr td {
	    padding: 0.5em;
	}

	table.table_noline tr th,
	table.table_noline tr td {
		display:block;
		width: 100%;
	    padding: 0.5em 0 0.5em;
	}
	table.table_noline tr th {
		text-align: left;
	    padding: 0.5em 0 0;
	}

}



/****************************************************************************
■ コンテンツエリア■
****************************************************************************/

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	

}

/* #concept *****************************/

#concept01{
	background-color:rgba(67,165,204,0.15);
	border: solid 15px rgba(255,255,255,0.4);
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#concept01{
		padding: 50px 0;
	}
	#concept0101{
		margin-left: -69px;
		margin-right: -69px;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	#concept01{
		margin-left: -2.13vw;
		margin-right: -2.13vw;
		padding: 8vw 2.13vw;
		border-width: 2.13vw;
	}

}

/* #service_list *****************************/


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.sbody_service_list + .sbody_service_list{
		margin-top: 80px;
	}

	.sbody_2clm .sbody_text_service_list{
		width: 460px;
		margin: 0 70px 0 auto;
	}
	.sbody_2clm .sbody_img_service_list{
		width: 52.78%;
	}

	.sbody_2clm.sbody_service_list:nth-child(2n-1){
		flex-direction: row-reverse;
	}
	.sbody_2clm.sbody_service_list:nth-child(2n-1) .sbody_text_service_list{
		margin: 0 auto 0 70px;
	}

	.service_list_img{
		position: relative;
	}
	.service_list_img::before{
		position: absolute;
		top: 10px;
		left: -10px;
		display: block;
		width: 100%;
		height: 100%;
		background-color: rgba(0,130,88,0.74);
		content: "";
		z-index: 1;
	}
	.service_list_img img{
		width: 100%;
		height: 330px;
		object-fit: cover;
		position: relative;
		z-index: 10;
	}

	#service_list02 .service_list_img::before{
		left: 10px;
		background-color: rgba(0,118,180,0.74);
	}
	#service_list03 .service_list_img::before{
		background-color: rgba(125,60,143,0.74);
	}

	
}
@media screen and (max-width: 767px) { /**** tablet未満 ****/

	.sbody_service_list{
		width: 86.67vw;
		margin-left: auto;
		margin-right: auto;
	}
	.sbody_service_list + .sbody_service_list{
		margin-top: 12vw;
	}
	.sbody_2clm .sbody_text_service_list{
		width: 100%;
		background-color: #fff;
	}
	.sbody_2clm .sbody_img_service_list{
		display: none;
	}

	.sbody_text_service_list p.ta-center{
		letter-spacing: 0;
	}
}


.service_label_num{
	display: block;
	width: 64px;
	height: 58px;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: 50% 50% no-repeat;
	background-size: contain;
	position: relative;
	z-index: 10;
}
.service_list_label{
	margin-bottom: 1em;
	position: relative;
}
.service_list_label .service_label_num{
	position: absolute;
	top: -30px;
	left: 15px;
}

.service_label_color{
	display: block;
	width: 100%;
	padding: 0.5em;
	font-weight: 700;
	color: #fff;
	text-align: center;
	border-top: solid 10px;
}
.service_label_color.color_bacta{
	background-color: #008258;
	border-top-color: #64B175;
}
.service_label_color.color_perfect{
	background-color: #0076B4;
	border-top-color: #43A5CC;
}
.service_label_color.color_ales{
	background-color: #7D3C8F;
	border-top-color: #AD79B4;
}

.service_label_wht{
	display: block;
	width: 100%;
	height: 110px;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: #fff 50% 50% no-repeat;
	background-size: 350px 80px;
}
.service_label_wht.label_bacta{
	background-image: url("../img/label_l_bacta.png");
}
.service_label_wht.label_perfect{
	background-image: url("../img/label_l_perfect.png");
}
.service_label_wht.label_ales{
	background-image: url("../img/label_l_ales.png");
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.service_label_num.num01{
		background-image: url("../img/num01_pc.svg");
	}
	.service_label_num.num02{
		background-image: url("../img/num02_pc.svg");
	}
	.service_label_num.num03{
		background-image: url("../img/num03_pc.svg");
	}

	.service_list_label .service_label_wht.label_bacta{
		background-image: url("../img/label_bacta.png");
	}
	.service_list_label .service_label_wht.label_perfect{
		background-image: url("../img/label_perfect.png");
	}
	.service_list_label .service_label_wht.label_ales{
		background-image: url("../img/label_ales.png");
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.service_label_num{
		width: 12vw;
		height: 10.93vw;
	}
	.service_list_label .service_label_num{
		top: -5.33vw;
	}
	.service_label_num.num01{
		background-image: url("../img/num01_sp.svg");
	}
	.service_label_num.num02{
		background-image: url("../img/num02_sp.svg");
	}
	.service_label_num.num03{
		background-image: url("../img/num03_sp.svg");
	}

	.service_label_color{
		border-top: solid 7px;
		letter-spacing: 0.05em;
	}

	.service_label_wht{
		height: 24vw;
		background-size: 75vw auto;
	}
	.service_list_label .service_label_wht{
		height: 20vw;
		background-size: contain;
	}
	.service_list_label .service_label_wht.label_bacta{
		background-image: url("../img/label_bacta_sp.png");
	}
	.service_list_label .service_label_wht.label_perfect{
		background-image: url("../img/label_perfect_sp.png");
	}
	.service_list_label .service_label_wht.label_ales{
		background-image: url("../img/label_ales_sp.png");
	}

}

/* #service *****************************/

.section_service{
	border: solid 10px;
	border-top: none;
	background-color: #fff;
}
.section_service.section_service_bacta{
	border-color: #64B175;
}
.section_service.section_service_perfect{
	border-color: #43A5CC;
}
.section_service.section_service_ales{
	border-color: #AD79B4;
}

.section_label_service{
	position: relative;
}
.section_label_service .service_label_num{
	position: absolute;
	top: -30px;
	left: 0;
	right: 0;
	margin: auto;
}
.section_label_service .service_label_color{
	padding-top: 1.2em;
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#service{
		padding-top: 80px;
	}

	.section_service .section_label {
		padding-bottom: 0;
	}
	.section_service .section_body {
		max-width: 990px;
		margin-left: auto;
		margin-right: auto;
	}

	.section_service .service_label_wht{
		height: 150px;
		background-size: 436px 100px;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	#service{
		padding-top: 16vw;
	}

	.section_service{
		border-width: 7px;
		margin-left: -4vw;
		margin-right: -4vw;
	}
	.section_label_service .service_label_num{
		top: -5.33vw;
	}

	.section_service .section_label {
		padding-bottom: 2.67vw;
	}
	.section_service .section_body {
		padding: 0 4vw;
	}

}

.service_detail{}

.service_detail_label{
	display: flex;
	justify-content: center;
	align-items: center;
}
.service_detail_label_bacta
{
  background : -moz-linear-gradient(-200.88% -33.21% 0deg,rgba(0, 130, 88, 1) 0%,rgba(114, 190, 61, 1) 100%);
  background : -webkit-linear-gradient(0deg, rgba(0, 130, 88, 1) 0%, rgba(114, 190, 61, 1) 100%);
  background : -webkit-gradient(linear,-200.88% -33.21% ,-100.88% -33.21% ,color-stop(0,rgba(0, 130, 88, 1) ),color-stop(1,rgba(114, 190, 61, 1) ));
  background : linear-gradient(90deg, rgba(0, 130, 88, 1) 0%, rgba(114, 190, 61, 1) 100%);
}
.service_detail_label_perfect
{
  background : -moz-linear-gradient(-194.45% -30.55% 0deg,rgba(0, 118, 180, 1) 0%,rgba(0, 175, 198, 1) 100%);
  background : -webkit-linear-gradient(0deg, rgba(0, 118, 180, 1) 0%, rgba(0, 175, 198, 1) 100%);
  background : -webkit-gradient(linear,-194.45% -30.55% ,-94.45% -30.55% ,color-stop(0,rgba(0, 118, 180, 1) ),color-stop(1,rgba(0, 175, 198, 1) ));
  background : linear-gradient(90deg, rgba(0, 118, 180, 1) 0%, rgba(0, 175, 198, 1) 100%);
}
.service_detail_label_ales
{
  background : -moz-linear-gradient(-707.43% -243.03% 0deg,rgba(125, 60, 143, 1) 0%,rgba(191, 111, 179, 1) 100%);
  background : -webkit-linear-gradient(0deg, rgba(125, 60, 143, 1) 0%, rgba(191, 111, 179, 1) 100%);
  background : -webkit-gradient(linear,-707.43% -243.03% ,-607.43% -243.03% ,color-stop(0,rgba(125, 60, 143, 1) ),color-stop(1,rgba(191, 111, 179, 1) ));
  background : linear-gradient(90deg, rgba(125, 60, 143, 1) 0%, rgba(191, 111, 179, 1) 100%);
}

.service_detail_label_text{
	font-weight: 700;
	color: #fff;
	text-align: center;
}

.section_service_bacta{
	position: relative;
	padding-bottom: 80px;
}
.service_footer{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding: 1em;
	margin: 0;
	font-weight: 700;
	color: #fff;
	background-color: #72BE3D;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.service_detail{
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.service_detail + .service_detail{
		margin-top: 0;
	}
	
	.service_detail_label{
		width: 220px;
		height: 220px;
		border-radius: 110px;
	}
	.service_detail_body{
		width: calc(100% - 240px);
		border-top: solid 2px #64B175;
		padding: 1em 0 1em 1em;
	}
	.service_detail_perfect .service_detail_body{
		border-top-color: #43A5CC;
	}
	.service_detail_ales .service_detail_body{
		border-top-color: #AD79B4;
	}
	
	.service_detail_label_text{
		font-size: 2rem;
	}

	.service_detail_body.sbody_2clm{
		align-items: center;
	}
	.service_detail_body .sbody_img{
		width: 280px;
	}
	.service_detail_body .sbody_text{
		width: 100%;
		padding: 1em 0;
	}
	.service_detail_body .sbody_img + .sbody_text{
		width: calc(100% - 310px);
	}



}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.service_detail_label{
		width: 92%;
		height: auto;
		padding: 0.7em;
		margin: 0 auto 1.5em;
		border-radius: 2em;
	}
	.service_detail_label_text{
		font-size: 4.27vw;
		letter-spacing: 0.05em;
	}

	.section_service_bacta{
		padding-bottom: 28vw;
	}

}

/* #osusume *****************************/


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#osusume{
		padding-top: 80px;
	}
	.section_body_osusume p + p{
		padding-top: 20px;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	#osusume{
		padding-top: 8vw;
	}
	#osusume .content{
		width: 96vw;
	}
	.section_body_osusume p + p{
		padding-top: 8vw;
	}

}

/* #case *****************************/

.section_case{
	background-color: #fff;
	border-top: solid 10px;
}
.section_case.section_case_bacta{
	border-top-color: #64B175;
}
.section_case.section_case_perfect{
	border-top-color: #43A5CC;
}
.section_case.section_case_ales{
	border-top-color: #AD79B4;
}

.case_service_label .service_label_color{
	border-top: none;
}

.case_label{
	padding-bottom: 1em;
	margin-bottom: 1.2em;
	border-bottom: solid 1px;
	font-weight: 700;
}
.section_case_bacta .case_label{
	border-bottom-color: #64B175;
}
.section_case_perfect .case_label{
	border-bottom-color: #43A5CC;
}
.section_case_ales .case_label{
	border-bottom-color: #AD79B4;
}

.sbody_img_case{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.img_case{
	width: 49.5%;
	max-width: 360px;
	padding-bottom: 10px;
}
.img_case_l{
	width: 100%;
	max-width: 730px;
}

@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.sbody_2clm .sbody_text_case{
		width: 370px;
	}
	.sbody_2clm .sbody_img_case{
		width: calc(100% - 430px);
		padding: 46px 40px 40px 0;
	}

	.case_body{
		padding: 46px 0 50px 50px; 
	}
	.case_label{
		font-size: 2rem;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.section_case{
		border-top-width: 7px;
		margin-left: -2.13vw;
		margin-right: -2.13vw;
	}
	.case_service_label{
		display: inline-block;
		min-width: 50vw;
	}

	.case_body{
		padding: 4vw; 
	}
	.case_label{
		font-size: 4.27vw;
	}

	.sbody_img_case{
	    padding: 2.13vw; 
	}
	.img_case{
		padding-bottom: 0.8vw;
	}

}


/* #price *****************************/


.price_label{
	display: flex;
	justify-content: center;
	padding-bottom: 1em;
}
.price_label .service_label_color{
	width: calc(50% - 2px);
	margin-left: 1px;
	margin-right: 1px;
}

.text-underline{
	letter-spacing: 0.15em;
	position: relative;
}
.text-underline::after{
	position: absolute;
	bottom: -2px;
	left: 0;
	display: block;
	width: 100%;
	height: 2px;
	background-color: #64B175;
	content: "";
}


.sbody_label4{
	width: 5.5em;
	margin: 0 auto 1em;
	padding-bottom: 0.1em;
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	color: #0076B4;
	border-bottom: solid 2px #0076B4;
}

.table-price0101{
	margin-top: 1em;
	border-collapse: separate;
	border-spacing: 2px;
}
.table-price0101 th,
.table-price0101 td{
	padding: 1em 1.5em;
	background-color: #fff;
}
.table-price0101 th{
	background-color: #4e4d4d;
	color: #fff;
	font-weight: 700;
	vertical-align: middle;
}
.table-price0101 th.color_bacta{
	background-color: #008258;
}
.table-price0101 th.color_perfect{
	background-color: #0076B4;
}
.table-price0101 th.color_ales{
	background-color: #7D3C8F;
}
.table-price0101 th.color_both{ 
  background : -moz-linear-gradient(50% 100% 90deg,rgba(125, 60, 143, 1) 50%,rgba(0, 118, 180, 1) 50%);
  background : -webkit-linear-gradient(90deg, rgba(125, 60, 143, 1) 50%, rgba(0, 118, 180, 1) 50%);
  background : -webkit-gradient(linear,50% 100% ,50% 0% ,color-stop(0.50,rgba(125, 60, 143, 1) ),color-stop(0.50,rgba(0, 118, 180, 1) ));
  background : linear-gradient(0deg, rgba(125, 60, 143, 1) 50%, rgba(0, 118, 180, 1) 50%);
}

.table-price0101 th.color_bacta .x-large{
	letter-spacing: 0.3em;
	padding-left: 0.3em;
}
.table-price0101 .td_green{
	background-color: rgba(100,177,117,0.30);
	text-align: center;
}
.table-price0101 .td_price{
	text-align: center;
}



#price0102 .sbody_text + .sbody_text{
	margin-top: 1.5em;
}
.sbody_label5{
	position: relative;
	padding: 0 85% 0 0;
	text-align: center;
	color: #fff;
	font-weight: 700;
	background-color: #0076B4;
}
.sbody_label5::after{
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 85%;
	height: 100%;
	background-color: #5FB1D1;
	content: "";
}

#price0102_mitsumori_inner{
	background-color: #fff;
}
.price_mitsumori{
	margin-bottom: 3em;
}
.price_mitsumori_note{
	margin-top: 3em;
}
.label_note{
	display: inline-block;
	width: 5em;
	text-align: center;
	font-size: 1.2rem;
	font-weight: 700;
	color: #FF9900;
	border: solid 2px #FF9900;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#price{
		margin-top: 20px;
	}

	#price0102_mitsumori_inner{
		padding: 2em 60px;
	}
	#price0102_before_after{
		width: 800px;
		margin: 0 auto;
	}

	.price_mitsumori_note{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.price_mitsumori_note p{
		width: calc(100% - 6em);
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/

	#price{
		margin-top: 2.67vw;
	}

	.price_label .service_label_color{
		height: 3em;
		padding: 0.2em;
		display: flex;
		justify-content: center;
		align-items: center;
		line-height: 1.1;
	}


	.sbody_label4{
		font-size: 4.27vw;
	}

	.table-price0101{
		font-size: 3.2vw;
	}
	.table-price0101 th,
	.table-price0101 td{
		padding: 0.8em 0.5em;
	}

	.sbody_label5{
		padding: 0 70% 0 0;
	}
	.sbody_label5::after{
		width: 70%;
	}

	#price0102_mitsumori_inner{
		padding: 4vw 2vw;
	}
	
	.price_mitsumori_note{
		padding-left: 2vw;
		padding-right: 2vw;
	}
	.price_mitsumori_note p{
		padding-top: 0.2em;
	}

}

/* #contact *****************************/

#contact01 .section_label_text{
	padding-top: 1em;
	font-weight: 700;
	color: #fff;
	text-align: center;
}

#contact0101 .contact_nav li.cnav_tel a {
	background-color: transparent;
}
#contact0101 .contact_nav li.cnav_tel a .cnav_text {
    background-image: url(/img/common/icn_tel_wht@3x.png);
    color: #fff;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	#contact01 .section_label_pagetitle{
		display: none;
	}
	#contact01 .section_label_text{
		padding-top: 70px;
		font-size: 3rem;
		letter-spacing: 0.1em;
	}

	#contact01 .section_label{
		padding-bottom: 40px;
	}

	#contact0101 .contact_nav{
		width: 654px;
		margin: 0 auto;
	}
	#contact0101 .contact_nav li a {
		height: 56px;
	}
	#contact0101 .contact_nav li a .cnav_text {
		font-size: 1.8rem;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満（SP） ****/

	#contact{
		margin-top: 2.67vw;
	}

	#contact01 .section_label{
		padding-bottom: 4vw;
	}
	#contact01 .section_label_text{
		font-size: 4.67vw;
		letter-spacing: 0.1em;
		padding-left: 0.1em;
	}

	#contact0101 .contact_nav{
		flex-direction: column;
		align-items: center;
	}
	#contact0101 .contact_nav li{
		width: 80%;
		border-left: none;
		margin-top: 4vw;
	}
	#contact0101 .contact_nav li a {
		height: 16vw;
	}
	#contact0101 .contact_nav li a .cnav_text {
		font-size: 4.8vw;
		letter-spacing: 0.1em;
	}

}



/* #contact_form *********************************/
#contact_form{
	padding-top: 3em;	
}

.section_contact_form {
	padding: 2em 1em;
	background-color: rgba(255,255,255,0.90);
}
.section_contact_form .section_body {
	width: 100%;
	max-width: 780px;
	margin: 0 auto;
}

#contact_form table{
	margin-top: 2em;
	margin-bottom: 2em;
}
#contact_form th{
	width:12em;
	vertical-align: text-top;
	text-align: left;
}
#contact_form td,
#contact_form th{
	padding: 5px;
}

#contact_form .mw_wp_form_input th label{
	display: block;
	padding-top: 5px;
}
.must{
	display:inline-block;
	margin-left: 12px;
	padding: 1px 4px;
	font-size: 1.1rem;
	font-weight: bold;
	background-color: #FB9700;
	color:#fff;
	border-radius: 3px;
}

#contact_form input[type="text"],
#contact_form textarea{
	width: 100%;
	box-sizing: border-box;
	padding:8px;
	background-color:#fff;
	border:solid 1px #dbccbf;
	border-radius:0;
	-webkit-appearance: none;
}
#contact_form select {
	padding:8px;
	background-color:#fff;
	border:solid 1px #dbccbf;
	border-radius:0;
/*	-webkit-appearance: none;*/
}
#contact_form input[type="file"]{
	width: 100%;
}
#contact_form input[type="checkbox"],
#contact_form input[type="radio"]{
	vertical-align: middle;
}

#contact_form input[type="text"]#zip{
	width: 4em;
}
#contact_form input[type="text"]#zip2{
	width: 5em;
}
#contact_form input[type="text"]#zip3{
	width: 8em;
}
#contact_form input[type="text"].input-tel{
	width: 5em;
}
.form_notice,
#mail2,
#spref,
#address,
#strt,
#address1,
#address2
{
	margin-top: 10px;
}
#contact_form input[type="text"].tel{
	width: 5em;
}

.form_zip,
.form_notice{
	display: inline-block;
}
.form_mail2{
	display: block;
}

.form_meiwaku,
.form_meiwaku strong,
.form_meiwaku a{
    font-size: 1.4rem;
	color: #FB0000;
}
p.form_meiwaku a{
    text-decoration-color: #FB0000;
}


.form_btn{
	padding: 2em 0;
}

.submitbtn{
	text-align: center;
	padding-bottom: 20px;
}
.submitbtn input[type="submit"],
.submitbtn input[type="button"] {
	-webkit-appearance: none;
	display:inline-block;
	width:auto;
	height:auto;
	padding:18px 40px;
	margin-left: 5px;
	margin-right: 5px;
	cursor:pointer;
	text-align:center;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1;
	color:#fff;
	border:solid 3px #ff9900;
	background-color:#ff9900;
	border-radius:0;
/*	box-shadow: 0 3px 4px 0 rgba(0,0,0,.2);*/
	transition: all 0.3s ease-in-out;
}
.submitbtn input[type="submit"]:hover{
/*	box-shadow: 0 3px 6px 2px rgba(0,0,0,.3);*/
	color:#ff9900;
	background-color:#fff;
}
.submitbtn input[type="button"] {
	border:solid 3px #A2CA0F;
	background-color:#A2CA0F;
}
.submitbtn input[type="button"]:hover{
	color:#A2CA0F;
	background-color:#fff;
}

.contact_lead_input,
.contact_lead_confirm{
	font-weight: bold;
	color: #0076B4;
}

/* 入力画面 */
.mw_wp_form .contact_lead_confirm{
	display:none;
}
.mw_wp_form .js_que{
    padding-bottom: 0.5em;
    cursor: pointer;
}

/* エラーメッセージ */
.errmsg,
 .mw_wp_form #contact_form .error{
	display:inline-block !important;
	margin-top:3px;
	margin-left: 5px;
	padding:4px 8px;
	background-color:#E84231;
	border-radius:0;
	font-size:1.2rem;
	line-height: 1;
	font-weight:bold;
	color:#fff !important;
}

/* 確認画面 */
.mw_wp_form_confirm #contact_tel,
.mw_wp_form_confirm .contact_lead_input,
.mw_wp_form_confirm .notice,
.mw_wp_form_confirm .form_notice,
.mw_wp_form_confirm .form_mail2,
.mw_wp_form_confirm .addbtn,
.mw_wp_form_confirm .js_que{
	display:none;
}
.mw_wp_form_confirm .contact_lead_confirm{
	display:block;
}
.mw_wp_form_confirm .js_ans{
	display:block !important;
}

.confirm_text {
    display: block;
    padding: 8px 10px;
    min-height: 2.75em;
    background-color: rgba(219,204,191,0.20);
}

/* 完了画面 */
#thx,
.mw_wp_form_complete{
}
.thx_label{
	padding:20px 0 30px;
	font-size:2.6rem;
	font-weight: bold;
	line-height: 1.6;
	color:#FB9700;
	text-align: center;
}
#thx .section_body p + ul,
#thx .section_body p + p,
.mw_wp_form_complete p + p{
	padding-top:20px;
}



@media screen and (max-width: 767px) {

	#contact_form th,
	#contact_form td{
		display: block;
		padding:7px 0;
		width: 100%;
		box-sizing: border-box;
	}
	#contact_form td{
		padding-top:0;
	}

	#contact_form input[type="text"],
	#contact_form textarea{
		padding:5px;
	}
	#contact_form select {
		padding:5px;
	}
	.addbtn{
		margin-top: 5px;
	}
	.form_btn input[type="submit"],
	.form_btn input[type="button"] {
		padding-left:1.3em;
		padding-right:1.3em;
		font-size: 1.6rem;
		letter-spacing: 0;
	}

}





/****************************************************************************
#page-top
****************************************************************************/

#page-top {
	position: fixed;
	bottom: 30px;
	right: 10px;
	width: 70px;
	height: 70px;
	z-index:400;
}
#page-top a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: #0076B4;
	border: solid 6px rgba(255,255,255,0.2);
/*	border-radius: 5px 0 0 5px;*/
	color: #fff;
	transition: opacity 0.3s;
	opacity: 0.6;
}
#page-top a span{
	display: block;
	width: auto;
	height: auto;
	font-size:1.0rem;
	line-height: 1;
	text-align: center;
}
#page-top a span.and{
	font-size:1.6rem;
	padding-bottom: 6px;
}
#page-top a:hover{
  opacity: 0.9;
}


@media screen and (max-width: 767px) {
	#page-top {
		bottom: 19vw;
		right: 0;
		width: 12vw;
		height: 12vw;
	}
	#page-top a {
		border-width: 3px;
	}
	#page-top a span{
		font-size:2.13vw;
	}
	#page-top a span.and{
		font-size:3.2vw;
	}
}



/****************************************************************************
footer
****************************************************************************/

#footer{
	width:100%;
}


/* フッターナビ */

#footer_nav{
	width:auto;
	max-width: 1060px;
	margin: 0 auto;
	padding: 50px 2vw;
	color: #524741;
	line-height: 1.5;
}
#footer_nav h1{
	padding: 0 5px 16px;
	border-bottom: solid 1px rgba(113,112,113,0.40);
}
.logo_footer{
	max-width: 360px;
}
@media screen and (max-width: 479px) { /** sp **/
	#footer_nav h1{
		padding: 0 5px 10px;
	}
	.logo_footer{
		max-width: 320px;
	}
}


#footer_company{
	padding: 30px 16px 0;
}
#footer_message{
	padding: 20px 16px;
}
#footer_message p + p{
	padding-top: 20px;
}

/* コピーライトと緑ライン */

#footer{
	position: relative;
	border-bottom:solid 22px #a2ca0f;
}

#copyright{
	position: absolute;
	bottom:-22px;
	left:0;
	width: 100%;
	padding-bottom: 40px;
	background:url("../../img/common/2whitelines@2x.png") 90% 100% no-repeat;
	background-size: auto 22px;
	font-size:1.2rem;
	text-align: center;
}


@media screen and (max-width: 1023px) { /******** tablet以下 ********/

	#footer{
		border-bottom:solid 10px #a2ca0f;
	}

	#footer_company,
	#footer_message,
	#footer_message p + p{
		padding-top: 4vw;
	}

	#copyright{
		bottom:-10px;
		padding-bottom: 8vw;
		background-size: auto 14px;
	}

}



/****************************************************************************
汎用クラス
****************************************************************************/

.hidden{
  height: 0px;
  font-size: 0%;
  line-height: 0%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.center{
	text-align:center;
}


@media print, screen and (min-width: 768px) { /****** tablet以上 ******/

	.small{
		font-size: 0.875em;/* 14px */
	}
	.x-small{
		font-size: 0.75em;/* 12px */
	}
	.xx-small{
	}

	.large{
		font-size: 1.125em;/* 18px */
	}
	.x-large{
		font-size: 1.375em;/* 22px */
	}
	.xx-large{
	}



}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.small{
		/*font-size: 3.47vw;/* 13px */
		font-size: 3.2vw;/* 12px */
	}
	.x-small{
		font-size: 2.67vw;/* 10px */
	}
	.xx-small{
	}

	.large{/* SPでは基本サイズと同じ */
	}
	.x-large{
		font-size: 4.27vw;
	}
	.xx-large{
	}
	
}

.blue{
	color:#0789b5;
}
.red,
.notice{
	color:#9f0d0d;
}
.gray{
	color:#7d7d7d;
}
.ora{
	color: #FF9900;
}
.brown{
	color: #807a3e;
}
.green{
	color: #008258;
}

strong{
	font-weight:bold;
	font-style:normal;
}
em{
	font-weight:bold;
	font-style:normal;
}

.l_s_01{
	letter-spacing: 0.1em;
}
