@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 */
	}
}

/* 明朝 */
.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 410px 0 2vw;
	}
	#header_pagetitle{
		width: 395px;
		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: 86.27vw;
		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_a{
		padding: 32px 1.5em 10px;
		display: inline-block;
		font-weight: 700;
		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:363px;
		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_copy{
	display: flex;
	justify-content: center;
	align-items: center;
}

.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;
}

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

	#header_visual {
		width: 100%;
		height: 662px;
		background: url("../img/bg_header_visual_pc.jpg") 50% 0 no-repeat;
		background-size: cover;
	}
	.header_visual_copy{
		width: 95%;
		height: 100%;
		max-width: 1240px;
		margin: 0 auto;
		padding: 0 0 40px;
	}
	.header_visual_copy01{
		width: 771px;
		height: 511px;
		background-image: url("../img/header_visual_copy01_pc.svg");
	}

}
@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/bg_header_visual_sp.jpg") 50% 50% no-repeat;
		background-size: cover;
	}
	.header_visual_copy{
		width: 100vw;
		height: 100%;
	}
	.header_visual_copy01{
		width: 94.4vw;
		height: 100.13vw;
		background-image: url("../img/header_visual_copy01_sp.svg");
	}

	
}
@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;
	}

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

	.contents{
		line-height: 1.5;
	}

}




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

.content_wrap_gray{
	background-color: rgba(67,165,204,0.15);
}
.content_wrap_lightblue{
	background-color: rgba(30,105,196,0.10);
}

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



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

	.content_wrap{
		padding: 50px 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: 8vw 0;
	}

	.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;
}
.section_label_pagetitle{
	display: block;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: url("../img/label_amamori.svg") 50% 0 no-repeat;
	background-size: contain;
}
.section_label_wht .section_label_pagetitle{
	background-image: url("../img/label_amamori_wht.svg");
}
.section_label_title{
	display: inline-block;
	padding-top: 0.2em;
	font-weight: 700;
	color: #003894;
	letter-spacing: 0.1em;
}
.section_label_wht .section_label_title{
	color: #fff;
}


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

	.section_label{
		padding-bottom: 50px;
	}
	.section_label_pagetitle{
		width: 406px;
		height: 72px;
	}
	.section_label_title{
		font-size: 4.6rem;
	}

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

	.section_label{
		padding-bottom: 6.67vw;
	}
	.section_label_pagetitle{
		width: 66.13vw;
		height: 11.87vw;
	}
	.section_label_title{
		max-width: 92vw;
		font-size: 6.4vw;
	}

}




/* .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: 31.5%;
}
.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;
}
.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:10em;
		padding: 1em 2em;
	}
	dl.dl_row dd{
		width: calc(100% - 10em);
		padding: 1em 2em;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	dl.dl_row{
		font-size:3.2vw; 
	}
	dl.dl_row dt{
		width:6.5em;
		padding: 1em 0.5em;
	}
	dl.dl_row dd{
		width: calc(100% - 6.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未満 ****/
	

}

/* #point *****************************/

/* ポイントのリスト */
.sbody_point_list {
	width: 95%;
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
}
.point_list{
	display: flex;
}
.point_listitem a{
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}
.point_listitem a::before{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	content: "";
	background-color: rgba(82,152,221,1);
	transform: skewX(-5deg);
	z-index: -1;
	opacity: 0.5;
}
.point_listitem.point_listitem02 a::before{
	background-color: rgba(39,185,196,1);
}
.point_listitem.point_listitem03 a::before{
	background-color: rgba(129,206,48,1);
}

.point_list_label{
	display: inline-block;
	text-align: center;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

.point_num{
	display: block;
	font-size: 0%;
	line-height: 0%;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	background: 0 0 no-repeat;
	background-size: contain;
}
.point_num.num01{
	background-image: url("../img/point1.svg");
}
.point_num.num02{
	background-image: url("../img/point2.svg");
}
.point_num.num03{
	background-image: url("../img/point3.svg");
}

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

	.point_listitem{
		position: relative;
		width: 33.33%;
		padding: 0 14px;
	}
	.point_listitem::before{
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: 100%;
		content: "";
		border-left: solid 2px #adacac;
		transform: skewX(-5deg);
	}
	.point_listitem.point_listitem03::before{
		border-right: solid 2px #adacac;
	}

	.point_listitem a{
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
		padding: 8px 5px 14px 5px;
		height: 340px;
	}
	.point_listitem a::before{
		transition: all 0.3s ease-out;
	}
	.point_listitem a:hover::before{
		opacity: 1;
	}

	.point_listitem .point_num{
		width: 100%;
		height: 36px;
		background-position: 100% 0;
	}
	.point_list_label{
		font-size: 2.6rem;
	}
	.point_list_img{
		width: 232px;
		height: auto;
	}

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

	.point_list{
		flex-direction: column;
		align-items: stretch;
	}
	.point_listitem{
		padding: 3px 6px;
	}
	.point_listitem a{
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
		padding: 4vw 10.67vw 4vw 7.2vw;
		height: 25.07vw;
	}
	.point_listitem .point_num{
		position: absolute;
		top: 0.8vw;
		right: 1.33vw;
		display: block;
		width: 12.53vw;
		height: 5.33vw;
	}
	.point_list_label{
		font-size: 4vw;
	}
	.point_list_img{
		width: 30.93vw;
		height: auto;
	}

}

/* ポイントの詳細 */

.sbody_point{
	position: relative;
	align-items: center;
}
.sbody_point::before{
	content: "";
	z-index: -1;
	position: absolute;
	display: block;
	background-color: rgba(82,152,221,0.15);
}
.sbody_point#point2::before{
	background-color: rgba(39,185,196,0.15);
}
.sbody_point#point3::before{
	background-color: rgba(129,206,48,0.15);
}

.point_label{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding-bottom: 1em;
}
.point_label_text{
	font-weight: 700;
	color: #003894;
}

.sbody_img_point{
	display: flex;
	position: relative;
}
#point3 .sbody_img_point{
	flex-direction: column;
	align-items: center;
}
.point_img{
}
.point_img img{
	padding: 2px;
}
.point_img_sikakushou .img_caption{
	padding-top: 0;
}
.img_caption_point2{
	position: absolute;
	bottom: -2em;
	left: 0;
}

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

	.sbody_2clm.sbody_point{
		flex-wrap: wrap;
		overflow: hidden;
	}

	.sbody_point::before{
		top: 4em;
		left: -8vw;
		width: 70%;
		height: calc(100% - 4em);
		transform: skewX(-5deg);
	}
	.sbody_point#point2::before{
		left: auto;
		right: -8vw;
	}
	
	.point_label_wrap{
		width: 100%;
	}
	.point_label{
		width: 95%;
		max-width: 1140px;
		margin: 0 auto;
	}
	.point_label .point_num{
		width: 118px;
		height: 48px;
	}
	.point_label_text{
		padding-left: 1em;
		font-size: 2.4rem;
		letter-spacing: 0.1em;
	}

	.sbody_2clm .sbody_text_point{
		max-width: 546px;
		padding: 40px 20px;
		margin: 0 20px 0 auto;
	}
	.sbody_2clm .sbody_img_point{
		max-width: 546px;
		margin: 0 auto 0 20px;
	}
	.sbody_2clm#point1 .sbody_img_point{
		padding-bottom: 60px;
	}
	.sbody_2clm#point2 .sbody_img_point{
		padding-bottom: 20px;
	}

	.sbody_2clm.sbody_point:nth-child(2n+0){
		flex-direction: row-reverse;
	}
	.sbody_2clm.sbody_point:nth-child(2n+0) .sbody_text_point{
		margin: 0 auto 0 20px;
	}
	.sbody_2clm.sbody_point:nth-child(2n+0) .sbody_img_point{
		margin: 0 20px 0 auto;
	}

	.point_img_s{
		position: absolute;
		bottom: -40px;
		right: -60px;
	}
	.point_img_sikakushou_sp{
		display: none;
	}

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

	.sbody_point{
		padding-left: 6.67vw;
		padding-right: 6.67vw;
	}
	.sbody_point::before{
		top: 3.0em;
		left: 0;
		width: 100%;
		height: calc(100% - 7em);
	}

	.point_label {
		width: 100%;
	}
	.point_label .point_num{
		width: 21.87vw;
		height: 8vw;
	}
	.point_label_text{
		padding-left: 0.5em;
		font-size: 4vw;
		line-height: 1.3;
	}

	.sbody_2clm .sbody_text_point{
		padding: 4vw 0;
	}

	.sbody_2clm#point2 .sbody_img_point{
		padding-bottom: 8vw;
	}
	.point_img_s{
		position: absolute;
		bottom: 0;
		right: -6vw;
		width: 40vw;
	}
	.img_caption_point2 {
		bottom: 0;
	}
	.point3_ill{
		width: 60vw;
	}
	.point_img_sikakushou_pc{
		display: none;
	}

}


/* #flow *****************************/

.sbody_flow{
	border-top: solid 12px rgba(30,105,196,0.55);
	background-color: #fff;
	flex-wrap: wrap;
}
.flow_num{
	display: block;
	font-style: italic;
	color: #fff;
	letter-spacing: 0.1em;
}
.flow_label_text{
	font-weight: 700;
	color: #003894;
}

.flow_point_list{
	margin-top: 1.5em;
	padding: 1.5em;
	border: solid 1px rgba(0,56,148,0.30);
}
.flow_point_list li{
	padding-left: 1em;
	text-indent: -1em;
}
.flow_point_list + p{
	margin-top: 1.5em;
}

.flow_phs{
	width: 100%;
	padding-top: 2em;
	display: flex;
}
.flow_ph .img_caption{
	text-align: center;
}

.flow_houkokusho{
	width: 100%;
	margin-top: 2em;
	padding: 2em 1.5em 1.5em;
	position: relative;
	text-align: center;
	background-color: rgba(0,56,148,0.20);
}
.label_houkokusho{
	position: absolute;
	top: 0;
	left: 0;
	display: inline-block;
	padding: 0 2em;
	background-color: #003894;
	color: #fff;
	font-weight: 700;
	letter-spacing: 0.1em;
}

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

	.sbody_flow{
		padding: 45px 60px;
	}
	.sbody_2clm .sbody_text_flow_header{
		width: 350px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.sbody_2clm .sbody_text_flow_body{
		width: calc(100% - 420px);
	}

	.flow_label{
		margin-top: -100px;
		padding-bottom: 2em;
	}
	.flow_num{
		font-size: 5.4rem;
	text-shadow:3px 3px 1px #1e69c4, -3px -3px 1px #1e69c4,
			  -3px 3px 1px #1e69c4, 3px -3px 1px #1e69c4,
				4px 2px 1px #1e69c4, -4px -2px 1px #1e69c4,
				2px 4px 1px #1e69c4, -2px -4px 1px #1e69c4,
			  -4px 2px 1px #1e69c4, 4px -2px 1px #1e69c4,
			  -2px 4px 1px #1e69c4, 2px -4px 1px #1e69c4,
			  0px 5px 1px #1e69c4,  0 -5px 1px #1e69c4,
			  -5px 0 1px #1e69c4, 5px 0 1px #1e69c4;
	}
	.flow_label_text{
		font-size: 3.2rem;
		letter-spacing: 0.05em;
	}

	.flow_phs{
		margin-left: -50px;
		margin-right: -50px;
		width: calc(100% + 100px);
		padding-top: 3em;
	}
	.flow_ph{
		width: 20%;
	}
	.flow_ph img{
		width: 100%;
		height: 236px;
		padding: 0 2px;
		object-fit: cover;
	}


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

	.sbody_flow{
		border-top-width: 6px;
		margin-left: -4vw;
		margin-right: -4vw;
		padding: 6.67vw;
	}

	.sbody_2clm .sbody_text_flow_header{
		display: flex;
		justify-content: space-between;
		padding-bottom: 1.5em;
	}
	.flow_label{
		margin-top: -18vw;
	}
	.flow_num{
		font-size: 10.67vw;
		letter-spacing: 0.15em;
	text-shadow:2px 2px 1px #1e69c4, -2px -2px 1px #1e69c4,
			  -2px 2px 1px #1e69c4, 2px -2px 1px #1e69c4,
				3px 2px 1px #1e69c4, -3px -2px 1px #1e69c4,
				2px 3px 1px #1e69c4, -2px -3px 1px #1e69c4,
			  -3px 2px 1px #1e69c4, 3px -2px 1px #1e69c4,
			  -2px 3px 1px #1e69c4, 2px -3px 1px #1e69c4,
			  0px 3px 1px #1e69c4,  0 -3px 1px #1e69c4,
			  -3px 0 1px #1e69c4, 3px 0 1px #1e69c4;
	}
	.flow_label_text{
		font-size: 4.27vw;
		letter-spacing: 0.05em;
	}
	.flow_img{
		width: 46.67vw;
	}

	.flow_point_list{
		padding: 1em;
	}

	.flow_phs{
		margin-left: -4vw;
		margin-right: -4vw;
		width: calc(100% + 8vw);
		padding-top: 1em;
		flex-wrap: wrap;
	}
	.flow_ph{
		width: 50%;
		padding-bottom: 4vw;
	}
	.flow_ph.flow_ph01{
		width: 100%;
	}
	.flow_ph img{
		padding: 0 2px;
	}

	.flow_houkokusho{
		width: calc(100% + 13.34vw);
		margin-top: 1.5em;
		margin-left: -6.67vw;
		margin-right: -6.67vw;
		padding: 2.5em 0.5em 1.5em;
	}

}

/* #after *****************************/

.content_wrap_after{
	background: url("../img/bg_after.png") 0 0 repeat;
	position: relative;
}
.content_wrap_after::before{
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 50%;
	content: "";
	background-color: #27b9c4;
	z-index: 10;
}
.content_wrap_after .content{
	position: relative;
	z-index: 20;
}

.text-underline{
	position: relative;
}
.text-underline::after{
	position: absolute;
	bottom: -7px;
	left: 0;
	display: block;
	width: 100%;
	height: 8px;
	background-color: rgba(30,105,196,0.22);
	transform: skewX(-12deg);
	content: "";
}

.sbody_text_after{
	display: flex;
	background-color: #fff;
	border-radius: 8px;
}

.sbody_text_after01{
	justify-content: center;
	align-items: center;
	position: relative;
}
.sbody_text_after01 .after_img{
	position: absolute;
	bottom: -2px;
	left: 20px;
}

.section_body.section_body_after01 + .section_body.section_body_after02{
	margin-top: 0;
}

.section_body_after02{
	background: 50% 0 no-repeat;
	background-size: contain;
}
.sbody_text_after02{
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
}

.after_label{
	padding-bottom: 0.5em;
	text-align: center;
	font-weight: 700;
	color: #003894;
	line-height: 1.75;
}



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

	.sbody_text_after01{
		padding: 1em 1.5em 1em 4em;
		width: 600px;
		margin: 0 auto;
	}
	
	.section_body_after02{
		padding-top: 84px;
		width: 100%;
		max-width: 1152px;
		margin: 0 auto;
		background-image: url("../img/arrow_3_tomarumade.svg");
	}
	.sbody_text_after02{
		padding: 2.5em 1.8em 2em;
	}

	.sbody_text_after01 .after_label{
		font-size: 2.4rem;
		letter-spacing: 0.1em;
		line-height: 2.2;
	}
	.sbody_text_after02 .after_label{
		font-size: 2.8rem;
		letter-spacing: 0.1em;
	}
	.sbody_text_after02 .after_text{
		padding-bottom: 0.5em;
	}




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

	.content_wrap_after::before{
		height: 40%;
	}

	.sbody_text_after{
		border-radius: 5px;
	}

	.sbody_text_after01{
		padding: 1em 1.5em 1em 4em;
		width: 80vw;
		margin: 0 auto;
	}
	.sbody_text_after01 .after_img{
		width: 30vw;
		left: 5px;
	}

	.section_body_after02{
		padding-top: 11.2vw;
		margin-left: -2.13vw;
		margin-right: -2.13vw;
		background-image: url("../img/arrow_3_tomarumade_sp.svg");
	}
	.sbody_3clm .sbody_text_after02{
		padding: 1.5em 0.2em 1em;
		width: 32%;
	}

	.sbody_text_after01 .after_label{
		line-height: 2;
	}
	.sbody_text_after02 .after_label{
		padding-bottom: 1.5em;
	}
	.text-underline::after{
		bottom: -5px;
		height: 5px;
	}

	.sbody_text_after02 .after_text{
		display: none;
	}

}

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

.case_label{
	position: relative;
}
.case_label::before{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #003894;
	transform: skewX(-5deg);
	box-shadow: 7px 7px 0 0 rgba(0,0,0,0.15);
	content: "";
	z-index: 10;
}
.case_label_text{
	font-weight: 700;
	color: #fff;
	position: relative;
	z-index: 20;
}

.section_body.section_case + .section_body.section_case{
	margin-top: 0;
	padding-top: 100px;
	position: relative;
}
.section_body.section_case + .section_body.section_case::after{
	position: absolute;
	top: 20px;
	left: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
	width: 40px;
	height: 40px;
	border-bottom: 4px solid rgba(0,56,148,0.40);
	border-right: 4px solid rgba(0,56,148,0.40);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);

}

dl.dl_case{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
dl.dl_case dt{
	width: 5.8em;
	margin-bottom: 10px;
	background-color: #1e69c4;
	text-align: center;
	font-size: 0.89em;
	color: #fff;
	border-radius: 3px;
}
dl.dl_case dd{
	width: calc(100% - 6.5em);
	margin-bottom: 10px;
	text-align: left;
}

.case_comment{
	margin-top: 1em;
	background: rgba(30,105,196,0.08) url("../img/ill_shokunin.png") 97% 100% no-repeat;
}
.label_comment{
	display: inline-block;
	padding: 0 1em;
	margin-bottom: 0.5em;
	background-color: #fff;
	border-radius: 3px;
	color: #003894;
	font-weight: 700;
}

.movie_case{
	padding: 1.5em 0;
}
.movie{
	width: 100%;
	height: auto;
}

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


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

	.sbody_2clm.section_case{
		flex-wrap: wrap;
		align-items: flex-start;
		position: relative;
		padding-top: 24px;
	}
	.sbody_2clm.section_case::before{
		position: absolute;
		top: 0;
		left: 200px;
		display: block;
		width: 2px;
		height: 100%;
		background-color: rgba(0,56,148,0.40);
		content: "";
		z-index: -1;
	}
	
	.case_label{
		width: 230px;
		padding: 1.5em 2.5em;
	}
	.sbody_2clm .sbody_text_case{
		width: calc(100% - 700px);
	}
	.sbody_2clm .sbody_img_case{
		width: 360px;
	}
	.sbody_movie_case{
		width: 100%;
		padding-left: 290px;
	}
	.sbody_2clm.section_case03 .sbody_text_case{
		width: calc(100% - 290px);
	}
	.sbody_2clm.section_case03 .sbody_text_case .case_body{
		padding-right: 10em;
	}

	.case_label_text{
		font-size: 2.2rem;
	}

	.movie_case{
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
	}

	.case_comment{
		padding: 1.2em 10em 1.2em 1.2em;
	}
	.case_comment p{
		padding: 0 1em;
	}

}
@media screen and (max-width: 767px) { /**** tablet未満 ****/
	
	.case_label{
		padding: 0.5em 2em;
		margin-bottom: 1.5em;
		min-width: 12em;
		text-align: center;
		font-size: 4.27vw;
	}
	.case_label::before{
		box-shadow: 4px 4px 0 0 rgba(0,0,0,0.15);
	}

	.sbody_2clm .sbody_img_case,
	.sbody_2clm .sbody_movie_case{
		width: 85vw;
		margin-left: auto;
		margin-right: auto;
	}

	.section_body.section_case + .section_body.section_case{
		padding-top: 20vw;
	}
	.section_body.section_case + .section_body.section_case::after{
		top: 3.2vw;
		width: 8vw;
		height: 8vw;
	}

	dl.dl_case dt{
		width: 5.5em;
		margin-bottom: 7px;
	}
	dl.dl_case dd{
		width: calc(100% - 5.5em);
		margin-bottom: 7px;
	}

	.case_comment{
		padding: 1em 19vw 1em 1em;
		background-position: 98% 100%;
		background-size: 15vw auto;
	}

}



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

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

}



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


.sbody_label4{
	width: 7em;
	margin: 0 auto 1em;
	font-size: 2.2rem;
	font-weight: 700;
	text-align: center;
	color: #003894;
}

.table-price0101{
	margin-top: 1em;
	border-collapse: separate;
	border-spacing: 2px;
}
.table-price0101 th,
.table-price0101 td{
	padding: 1em 1.5em;
	background-color: #fff;
	vertical-align: middle;
}
.table-price0101 th{
	background-color: #003894;
	color: #fff;
	font-weight: 700;
}


#price0102 .sbody_text + .sbody_text{
	margin-top: 1.5em;
}
.sbody_label5{
	position: relative;
	width: 100%;
	padding: 0 85% 0 0;
	text-align: center;
	color: #fff;
	font-weight: 700;
	background-color: #003894;
}
.sbody_label5::after{
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 85%;
	height: 100%;
	background-color: #1e69c4;
	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: #003894;
	border: solid 2px rgba(0,56,148,0.80);
}

#price0102_jyoken .img_jyoken{
	padding: 5px;
	text-align: center;
	background-color: #fff;
}


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

	#price{
		margin-top: 20px;
	}
	
	#price0102_jyoken{
		display: flex;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	#price0102_jyoken .dl_row{
		width: 610px;
	}
	#price0102_jyoken .img_jyoken{
		width: calc(100% - 612px);
	}
	#price0102_jyoken .img_jyoken img{
		max-width: 330px;
		height: auto;
	}

	#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_jyoken .img_jyoken img{
		width: 56.8vw;
		height: auto;
	}

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

}

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

.content_wrap_contact{
	background: url("../img/bg_after.png") 0 0 repeat;
	position: relative;
}
.content_wrap_contact::before{
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 59%;
	content: "";
	background-color: #003894;
	z-index: 10;
}
.content_wrap_contact .content{
	position: relative;
	z-index: 20;
}

#contact01 .section_label_text{
	font-weight: 700;
	color: #fff;
	text-align: center;
	background-image: url("../../img/contact/ill_tel@2x.png"), url("../../img/contact/ill_web@2x.png");
	background-position: 3% 100%, 100% 100%;
	background-repeat: no-repeat;
	background-size: contain;
}

#contact0101 .contact_nav li.cnav_tel a {
	background-color: #003894;
}
#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以上 ******/

	.content_wrap_contact{
		padding-top: 25px;
		padding-bottom: 60px;
	}

	#contact01 .section_label_text{
		width: 776px;
		height: 148px;
		margin-left: auto;
		margin-right: auto;
		padding-top: 1.5em;
		font-size: 2.6rem;
		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） ****/

	.content_wrap_contact{
		padding-top: 4vw;
	}
	.content_wrap_contact::before{
		height: 45%;
	}

	#contact01 .section_label{
		padding-bottom: 4vw;
	}
	#contact01 .section_label_text{
		width: calc(100% + 8vw);
		margin-left: -4vw;
		margin-right: -4vw;
		font-size: 4.67vw;
		letter-spacing: 0.1em;
		padding: 1.0em 0 1.0em 0.1em;
		background-size: auto 75%;
	}

	#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 *********************************/

.section_contact_form {
	padding: 2em 1em;
	background-color: rgba(255,255,255,0.90);
}
.section_contact_form .section_body {
	width: 100%;
	max-width: 740px;
	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: #003894;
}


/* 入力画面 */
.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: 0;
	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: #003894;
/*	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:#cc2827;
}
.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;
}
