@charset "utf-8";

/*基本設定
----------------------------------------------------*/

body {
		margin:0;
		padding:0;
		font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
		color:#000;
		line-height:2.2em;
		font-size:15px;
		-webkit-text-size-adjust: 100%;
		position: relative;
}

html {   
		overflow-y:scroll;   
}  


a {
		color:#105aaa;
		text-decoration:underline;
}

a:hover {
		color:#105aaa;
		text-decoration:none;
		opacity: 0.8;
}

img {
		border:0;
}

h1,h2,h3,h4,h5,p {
		margin:0;
		padding:0;
		font-weight:normal;
}

ul,li,dl,dt,dd {
		margin:0;
		padding:0;
		list-style-type:none;
}

table {
		width:100%;
		border:0;
}

figure{
		margin: 0;
		padding: 0;
}

.clear {
		clear:both;
}

.fix:after {
		content: "."; 
		display:block; 
		clear:both;
		height:0;
		visibility:hidden;
}

.fix {
		min-height:1px;
}

* html .fix {
		height:1px;
		/*\*//*/
		height: auto;
		overflow: hidden;
		/**/
}

.bold{
	font-weight: bold;
}

.red {
		color:#e00;
}


/*section p
----------------------------------------------------*/

.section {
		margin:0 0 30px 0;
		width:100%;
}
.inner {
		width:100%;
}
.ml30 {
		margin-left: 30px;
}
.mr30{
		margin-right: 30px;
}

.btm0 {
		margin-bottom: 0!important;
}

.btm5 {
		margin-bottom:5px;
}

.btm10 {
		margin-bottom:10px;
}

.btm15 {
		margin-bottom:15px;
}

.btm20 {
		margin-bottom:20px;
}

.btm25 {
		margin-bottom:25px;
}

.btm30 {
		margin-bottom:30px;
}

.btm40 {
		margin-bottom:40px;
}


.top5 {
		margin-top:5px;
}

.top10 {
		margin-top:10px;
}

.top20 {
		margin-top:20px;
}
.top30 {
		margin-top: 30px;
}

.f10 {
		font-size:10px;
}

.f12 {
		font-size:12px!important;
}

.f13 {
		font-size: 13px!important;
}

.f14 {
		font-size:14px;
}

.f18 {
		font-size:18px!important;
}

p.l11 {
		line-height:1.1;
}

p.l13 {
		line-height:1.3;
}

.m0 {
		margin:0!important;
}

.tar {
		text-align:right;
}

.tac {
		text-align:center;
}

.f-l {
		float:left;
}

.f-r {
		float:right;
}

.img_wide{
	margin: 30px auto;
}

.img_wide img{
	width: auto;
	max-width: 100%;
}

.lh15{
		line-height: 1.5;
}

.hover a:hover{
 	   opacity: 0.7; 
 	   filter: alpha(opacity=70); 
  	  -moz-opacity: 0.7;
}

.list_disc{
		margin-left: 20px;
}

.list_disc li{
		list-style: disc;
}

.list01{
	counter-reset: num;
	margin: 15px 0;
}

.list01 li{
	position: relative;
	padding-left: 40px;
	min-height: 28px;
	margin-bottom: 8px;
}

.list01 li:last-of-type{
	margin-bottom: 0;
}

.list01 li:before{
	content: counter(num);
	counter-increment: num;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	left: 0;
	top: 0;
	background: #105aaa;
	width: 28px;
	height: 28px;
	font-size: 18px;
	font-weight: bold;
	color: #fff;
	border-radius: 100px;
}

.list02{
	margin-left: 4px;
}

.list02 li{
	position: relative;
	padding-left: 12px;
}

.list02 li:before{
	content: "";
	display: block;
	width: 5px;
	height: 5px;
	background: #000;
	position: absolute;
	left: 0;
	top: 9px;
	border-radius: 100px;
} 

.marker{
	font-size: 1.5em;
	background: #f8e859;
	display: inline;
	font-weight: bold;
}

.btn01{
	display: inline-block;
	background: #105aaa;
	box-sizing: border-box;
	padding: 0 24px 0 10px;
	border: 1px solid #105aaa;
	border-right: 0 solid #105aaa;

	color: #fff;
	text-decoration: none;
	position: relative;
	margin-top: 16px;
	opacity: 1;
	transition: all 0.15s linear 0s;
}

.btn01:after{
	content: "";
	display: block;
	width: 0;
	height: 0;

	position: absolute;
	right: 4px;
	top: calc(50% - 6px);
	bottom: 0;
	border: 5px solid transparent;
	border-left: 7px solid #fff;
}

.btn01:hover{
	opacity: 1;
	background: #fff;
	padding: 0 24px 0 20px;
	border-right: 10px solid #105aaa;
}

.btn01:hover:after{
	opacity: 1;
	border: 5px solid transparent;
	border-left: 7px solid #105aaa;
}


/*ヘッダー
----------------------------------------------------*/
header{
	margin-bottom: 50px;
}


.h_top{
	width: 95%;
	padding: 0 2.5%;
	background: #105aaa;
}

.h_top_wrap{
	width: 100%;
	max-width: 1080px;
	padding: 0;
	margin: 0 auto;
	color: #fff;
	height: 35px;

	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

.h_top_copy h1{
	font-size: 12px;
}

.h_top_menu,
.h_top_menu ul{
	display: -webkit-flex;
	display: flex;
}

.h_top_news a,
.h_top_menu ul li a{
	color: #fff;
	text-decoration: none;
	font-size: 12px;
	font-weight: bold;
}


span.blinking {
	color: #FFE500;
  animation: blink 0.7s infinite step-start;

}

@keyframes blink {
  50% {
    opacity: 0;
  }
}


.sp_hummenu span.blinking {
	color: #e36222;
        }



.h_top_menu ul li{
	border-right: 1px solid #4c83bf;
	padding: 0 20px;
}

.h_top_menu ul li:first-child{
	border-left: 1px solid #4c83bf;
}

.h_top_news p a{
	background: url("../images/common/icon_h_top.png") no-repeat left center;
	padding: 0 20px;
}

.h_logo_info{
	width: 95%;
	max-width: 1080px;
	padding: 0 2.5%;
	margin: 30px auto;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

.h_info{
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	
	margin-left: 15px;
}

.h_info_tel{
	margin-right: 20px;
}

.h_info_tel p{
	font-size: 24px;
	font-weight: bold;
	
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

.h_info_tel p img{
	margin-right: 10px;
}

.h_info_mail p a{
	font-size: 14px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	
	display: block;
	background: url("../images/common/bg_h_mail.png") no-repeat center center;
	text-align: center;
	padding: 3px 30px;

	position: relative;
	overflow: hidden;
}

.h_info_mail p a:before{
	background: #115baa none repeat scroll 0 0;
    box-sizing: border-box;
    content: "";
    left: -100%;
    opacity: 0;
    transition: left 0.2s linear 0s, opacity 0.3s linear 0s;
    z-index: -1;
}

.h_info_mail p a:hover:before{
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    background: #115baa;
    opacity: 1;
}

.h_info_mail p a .fa{
	margin-right: 5px;
	vertical-align: text-top;
}

/*ナビ
----------------------------------------------------*/
.h_nav{
	width: 95%;
	max-width: 1080px;
	padding: 0 2.5%;
	margin: 0 auto;
}

.h_nav ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-around;
	justify-content: space-around;
	-webkit-align-items: center;
	align-items: center;
}

.h_nav ul li{
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	
	line-height: 1;
	position: relative;
}

.h_nav ul li:after{
	content: url("../images/common/nav_line.png");
	margin-left: 50px;
}

.h_nav ul li:last-child:after{
	content: none;
}

.h_nav ul li a{
	font-size: 15px;
	font-weight: bold;
	color: inherit;
	text-decoration: none;
}

.nav_dropmenu{
	width: 100%;
	
	position: absolute;
	top: -15px;
	left: -35px;
	
	
	padding-top: 30px;
	transform: scale(0);
	z-index: 99999;
	opacity: 0;
	
	transition: top 0.25s linear 0s, opacity 0.25s linear 0s;
}

.nav_drop_link{
	position: relative;
	z-index: 999999;
}

.dropmenu_open{
	transform: scale(1);
	top: 0;
	opacity: 1;
}

.nav_dropmenu_list{
	-webkit-flex-direction: column;
	flex-direction: column;
}

.nav_dropmenu_list li{
	display: block !important;
	width: 150%;
	color: #fff;
	text-align: left;
	background: rgba(17,92,170,0.75);
	
	border-bottom: 1px dotted #fff;
}

.nav_dropmenu_list li:after{
	content: none !important;
}

.nav_dropmenu_list li:last-child{
	border-bottom: none;
}

.nav_dropmenu_list li a{
	display: block;
	width: calc(100% - 20px);
	font-size: 14px !important;
	padding: 15px 10px;
}

/*スクロール時　ヘッダー
----------------------------------------------------*/
#scroll_head{
	width: 100%;
	height: 69px;
	background: #fff;
	border-bottom: 2px solid #105aaa;
	margin-top: -69px;
	
	transition: margin-top 0.2s linear 0s;
	
	position: fixed;
	top: 0;
	z-index: 999999;
}

.scroll_head_wrap{
	width: 95%;
	max-width: 1060px;
	padding: 15px 2.5%;
	margin: 0 auto;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

.scroll_menu ul{
	line-height: 1;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.scroll_menu ul li{
	font-size: 16px;
}

.scroll_menu ul li:before{
	content: "/";
	padding: 0 20px;
}

.scroll_menu ul li:first-child:before{
	content: none;
}

.scroll_menu ul li a{
	color: #000;
	text-decoration: none;
	font-weight: bold;
}

.scroll_logo p{
	line-height: 0;
}

.scroll_logo p img{
	max-width: 350px;
}

/*レスポンシブヘッダー
----------------------------------------------------*/
#res_head{
	display: none;
	border-bottom: 1px solid #105aaa;
	width: 100%;
	background: #fff;
	
	position: fixed;
	top: 0;
	z-index: 99999;
}

.res_head_copy{
	width: 100%;
	background: #105aaa;
	padding: 5px 0;
	color: #fff;
	font-size: 12px;
}

.res_head_copy p{
	width: 95%;
	padding: 0 2.5%;
	margin: 0 auto;
	line-height: 1.5;
}

.res_head_wrap{
	width: 95%;
	padding: 15px 2.5%;
	margin: 0 auto;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

.res_hrad_logo{
	margin-right: 15px;
}

.res_hrad_logo p{
	line-height: 0;
}

.res_hrad_logo p img{
	width: 100%;
	max-width: 350px;
}

/* ハンバーガーメニュー */
.sp_hummenu{
	position: relative;
	top: 0;
	right: 2.5%;
	height: 100%;
	top: 0;
}

.hum_menu_obtn{
	background: #105aaa;
	
	border: none;
	color: #fff;
	padding: 7px;
	font-weight: bold;
	letter-spacing: 0.05em;
	display: block;
	position: relative;
	top: 0;
	left: 15px;
}

.hum_menu_obtn_bar{
	position: relative;
	width: 100%;
	border-top: 3px solid #fff;
	padding: 5px 0px 0;
}

.hum_menu_obtn_bar:before,
.hum_menu_obtn_bar:after{
	content: "";
	display: block;
	border-top: 3px solid #fff;
	padding: 5px 0 0;
}

.hum_menu_obtn span{
	position: relative;
	width: 100%;
	display: block;
	top: 0;
	line-height: 1;
	color: #fff;
}

.hum_menu_nav{
	background: rgba(253,253,253,0.98);
    height: 100%;
    left: 100%;
    position: fixed;
    top: 0;
    transition-duration: 0.3s;
    transition-property: left;
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    width: 250px;
    color: #000;
}

.hum_menu_nav.clicked{
	left: calc(100% - 250px);
	overflow: scroll;
	z-index: 9999;
}

.hum_menu_nav_close{
	padding: 15px 0;
}

.hum_menu_cbtn{
	background: rgba(64,166,41,0);
	border: none;
	color: #000;
	padding: 0;
	font-weight: bold;
	letter-spacing: 0.05em;
	display: block;
	position: absolute;
	top: 25px;
	right: 17px;
}

.hum_menu_cbtn_bar{
	position: relative;
	top: 0;
	width: 100%;
	padding: 5px 0 0;
}

.hum_menu_cbtn_bar:before,
.hum_menu_cbtn_bar:after{
	content: "";
	display: block;
	border-top: 3px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-top: 3px;
}

.hum_menu_cbtn_bar:after{
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin-top: -3px;
	margin-bottom: 15px;
}

.hum_menu_nav_menu{
	margin-top: 55px;
}

.hum_menu_nav_menu ul{
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border-top: 1px solid #000;
}

.hum_menu_nav_menu li{
	color: #000;
	width: 100%;
	text-align: center;
	border-bottom: 1px solid #000;
	line-height: 1.5;
	font-size: 0.85em;
	font-weight: bold;
	position: relative;
	text-align: center;
}

.hum_menu_nav_menu li:nth-child(2n+1){
	width: 100%;
	border-bottom: 1px solid #000;
}

.hum_menu_nav_menu li a:after{
	content: "";
    position: absolute;
    right: 15px;
    width: 8px;
    height: 8px;
    margin-top: 3px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: transform 0.3s linear 0s;
    transition: transform 0.3s linear 0s;
}

.hum_menu_nav_menu li a.more_on:after{
	-webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

.hum_menu_nav_menu li.sp_nav_more_wrap a{
	padding: 18px 0; 
}

.hum_menu_nav_menu ul.sp_nav_more{
	border-top: none;	
}

.hum_menu_nav_menu ul.sp_nav_more li{
	text-align: right;
	padding: 10px 15px 0;
	font-size: 1.05em;
	border-bottom: none;
	background: rgba(0,0,0,0.05);
}

.hum_menu_nav_menu ul.sp_nav_more li:last-child{
	border-bottom: none;
	padding-bottom: 10px;
}

.hum_menu_nav_menu ul.sp_nav_more li:after{
    content: none;
}

.hum_menu_nav_menu ul.sp_nav_more li a{
	padding: 5px 0;
	text-align: center;
}

.hum_menu_nav_menu ul.sp_nav_more li a:after{
	content: none;
}

.sp_nav_more_o{
	display: none;
	width: calc(200% + 2px);
}

.sp_nav_more_r{
	position: relative;
	left: -100%;
	width: 200%;
}

.sp_nav_more_o ul{
	position: relative;
    top: 15px;
    background: #6fbd5f;
    z-index: 9999;
}

.sp_nav_more_o ul li{
	border-bottom: 1px solid rgba(0,0,0,0.6);
	font-size: 1em;
	position: relative;
	z-index: 99999;
	font-size: 0.9em;
}

.sp_nav_more_o ul li:last-child{
	border-bottom: none;
}

.hum_menu_nav_menu li a{
	display: block;
	color: #000;
	margin-left: 5px;
	text-align: center;
	text-decoration: none;
	padding: 18px 0;
}

.hum_menu_nav_menu li span{
	display: block;
	font-weight: normal;
	font-size: 0.8em;
}

.hum_menu_contact{
	color: #fff;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	margin:50px 20px 20px;
}

.hum_menu_contact a{
	margin: 0 auto;
	font-weight: bold;
	text-decoration: none;
	font-size: 0.85em;
	padding: 5px 0;
	display: block;
	width: 100%;
	max-width: 200px;
}

.hum_menu_contact a.h_menu_tel{
	text-align: center;
	background: #105aaa;
	color: #fff;
}

.hum_menu_contact a.h_menu_tel .fa{
	transform: rotate(-45deg);
}

.hum_menu_contact a.h_menu_contact{
	text-align: center;
	background: #29adbd;
	color: #fff;
}

.hum_menu_contact a.h_menu_seitai{
	text-align: center;
	background: #4d958c;
	color: #fff;
}

.hum_menu_contact a.h_menu_yoga{
	text-align: center;
	background: #695282;
	color: #fff;
}

.hum_menu_contact p{
	 margin-bottom: 10px;
	 width: 100%;
}

.hum_menu_contact p:last-of-type{
	margin-bottom: 0;
}

.hum_menu_contact .fa{
	margin-right: 5px;
}

.hum_open_bg_display.active{
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.45);
	left: 0;
	top: 0;
	z-index: 1000;
}

.hum_menu_nav_language{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	
	margin: 15px auto 30px;
}

.hum_menu_nav_language p{
	padding: 0 15px;
	line-height: 1;
}

.hum_menu_nav_language p:first-of-type{
	border-right: 1px solid #000;
}

.hum_menu_nav_language p a{
	display: block;
	padding: 3px 0;
	color: #000;
	
	font-size: 0.8em;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}

.hum_menu_nav_language p a:hover{
	opacity: 0.7;
}

.hum_menu_info_ttl{
	font-size: 1em;
	text-align: center;
	font-weight: bold;
	padding-bottom: 5px;
}


.hum_menu_info_wrap{
	width: calc(100% - 20px);
	padding: 15px 10px;
	border-bottom: 1px solid;
	text-align: center;
}

.hum_menu_info_name{
	font-size: 1em;
	font-weight: bold;
	line-height: 1.5;
}

.hum_menu_info_tel{
	margin:  0;
	font-size: 1.3em;
	line-height: 1.5;
	position: relative;
	font-style: italic;
}

.hum_menu_info_tel i{
	font-size: 1em;
	transform: rotate(-45deg);
	margin-right: 3px;
	line-height: 1;
	position: relative;
	top: -2px;
	
}

.hum_menu_info_open{
	font-size: 0.8em;
	line-height: 1.5;
}

.hum_menu_sns ul{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	border-top: none !important;
}

.hum_menu_sns ul li{
	width: auto !important;
	border-bottom: none !important;		
}

.hum_menu_sns ul li a{
	padding: 10px 5px;
}

.hum_menu_sns ul li a:after{
	content: none !important;
}

/* ここまで */

/*main-image
----------------------------------------------------*/

#mainimage{
	width: 100%;

	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top,  #ffffff 0%, #ffffff 85%, #efefef 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #ffffff 0%,#ffffff 85%,#efefef 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #ffffff 0%,#ffffff 85%,#efefef 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.swiper-wrapper{
	margin: 0 auto;
}

.swiper-slide{
	display: block;
	height: 290px !important;
}

.mainimage_wrap{
	width: 95%;
	height: 100%;
	max-width: 1060px;
	padding: 0 2.5%;
	margin: 0 auto;
	
	position: relative;
}

.mainimage01{
	background: url("../images/top/mainimage01.png") no-repeat bottom center;
	background-size: contain;
}

.mainimage01_ttl{
	font-family: arial, sans-serif;
	font-size: 48px;
	font-weight: bold;
	font-style: italic;
	letter-spacing: -0.02em;
	
	position: absolute;
	top: 15px;
}

.mainimage01_subttl{
	/*
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold;
	*/
	font-size: 17px;
	
	
	position: absolute;
	top: 65px;
}

.mainimage01_subttl:before{
	content: "";
	display: inline-block;
	width: 15px;
	height: 1px;
	background: #000;
	vertical-align: middle;
	margin-right: 10px;
}

.mainimage01_subttl:after{
	content: "";
	display: inline-block;
	width: 15px;
	height: 1px;
	background: #000;
	vertical-align: middle;
	margin-left: 10px;
}

.mainimage01_ttl span{
	color: #105aaa;
}

.mainimage02{
	background: url("../images/top/mainimage02_bg.png") no-repeat bottom center;
	background-size: cover;
}

.mainimage02_ttl{
	/*
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 48px;
	*/
	font-size: 38px;
	font-weight: bold;
	letter-spacing: -0.025em;
	position: absolute;
	top: 20px;
}

.mainimage02_subttl{
	/*
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold;
	*/
	font-size: 17px;
	position: absolute;
	top: 65px;
}

.mainimage02_subttl:before{
	content: "";
	display: inline-block;
	width: 15px;
	height: 1px;
	background: #000;
	vertical-align: middle;
	margin-right: 10px;
}

.mainimage02_subttl:after{
	content: "";
	display: inline-block;
	width: 15px;
	height: 1px;
	background: #000;
	vertical-align: middle;
	margin-left: 10px;
}

.mainimage03{
	background: url("../images/top/mainimage03.png") no-repeat bottom center;
	background-size: contain;
}

.mainimage03_ttl{
	/*
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 48px;
	*/
	font-size: 45px;
	font-weight: bold;
	letter-spacing: -0.025em;
	
	position: absolute;
	top: 30px;
}

.mainimage03_subttl{
	/*
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold;
	*/
	font-size: 17px;
	
	line-height: 1.6;
	margin: 0 30px;
	
	position: absolute;
	top: 80px;
}

.mainimage03_subttl:before{
	content: "";
	display: inline-block;
	width: 15px;
	height: 1px;
	background: #000;
	vertical-align: middle;
	margin-right: 10px;	
	
	position: absolute;
	top: 50%;
	left: -30px;
}

.mainimage03_subttl:after{
	content: "";
	display: inline-block;
	width: 15px;
	height: 1px;
	background: #000;
	vertical-align: middle;
	margin-left: 10px;
	
	position: absolute;
	top: 50%;
	right: -20px;
}

.swiper-pagination{
	width: 95%;
	padding: 0 2.5%;
	max-width: 1080px;
	margin: 0 auto !important;
	text-align: left !important;
	left: 0;
	right: 0;
}

.swiper-pagination-bullet{
	width: 15px !important;
	height: 15px !important;
	border-radius: 0% !important;
	background: #105aaa !important;
	opacity: 1 !important;
}

.swiper-pagination-bullet-active{
	background: #e36222 !important;
}

.swiper-button-prev, .swiper-button-next{
	margin-top: -45px !important;
}

/*common
----------------------------------------------------*/
.ttl01{
	font-size: 27px;
	font-weight: bold;
	color: #fff;
	text-align: center;
}

.ttl01:before,
.ttl01:after{
	content: "";
	display: inline-block;
	background: #fff;
	width: 45px;
	height: 1px;
	vertical-align: middle;
}

.ttl01:before{
	margin-right: 30px;
}

.ttl01:after{
	margin-left: 30px;
}

.ttl01_sub{
	font-size: 15px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin-bottom: 30px;
}


.ttl02{
	font-size: 27px;
	font-weight: bold;
	color: #000;
	text-align: center;
}

.ttl02:before,
.ttl02:after{
	content: "";
	display: inline-block;
	background: #000;
	width: 45px;
	height: 1px;
	vertical-align: middle;
}

.ttl02:before{
	margin-right: 30px;
}

.ttl02:after{
	margin-left: 30px;
}

.ttl02_sub{
	font-size: 15px;
	font-weight: bold;
	color: #105aaa;
	text-align: center;
	margin-bottom: 30px;
}

.ttl03{
	font-size: 35px;
	font-weight: bold;
	color: #105aaa;
	padding-bottom: 5px;
	border-bottom: 1px solid;
	margin-bottom: 25px;
	line-height: 1.3;
	letter-spacing: 0.075em;
	
	position: relative;
}

.ttl03 span{
	font-size: 18px;
	margin-left: 15px;
	letter-spacing: 0.05em;
}

.ttl03:after{
	content: "";
	display: block;
	border-bottom: 1px solid;
	width: 100%;
	height: 0;
	
	position: absolute;
	bottom: -6px;
}

.ttl04{
	font-size: 26px;
	font-weight: bold;
	color: #105aaa;
	margin: 40px auto 10px;
	
	border-left: 8px solid;
	border-bottom: 1px solid;
	padding: 7px 0 7px 15px;
}

.ttl05{
	font-size: 20px;
	font-weight: bold;
	color: #105aaa;
	text-align: center;
	margin-bottom: 20px;
}

.ttl06{
	font-size: 20px;
	font-weight: bold;
	border-bottom: 1px dashed;
	padding-bottom: 4px;
	margin-bottom: 8px;
	color: #105aaa;
}


.tbl01 tbody{	
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.tbl01 tbody tr{
	width: 100%;
	padding: 15px 0;
	border-bottom: 1px dashed #105aaa;
	
	display: -webkit-flex;
	display: flex;
}

.tbl01 tbody tr th{
	width: 10em;
	text-align: left;
	padding: 0 20px;
	display: block;
}

.tbl01 tbody tr td{
	width: calc(100% - 10em);
	display: block;
}

.tbl01 tbody tr td p{
	margin-bottom: 10px;
}

.tbl01 tbody tr td p:last-of-type{
	margin-bottom: 0;
}

.tbl02{
	margin-top: 20px;
}

.tbl02 thead tr{
	background: #105aaa;
	color: #fff;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.tbl02 thead th{
	width: calc(50% - 7em);
	padding: 5px 5px;
}

.tbl02 thead th:first-of-type{
	width: 14em;
}

.tbl02 tbody tr{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	
	border-bottom: 1px solid #105aaa;
}

.tbl02 tbody th{
	text-align: left;
	padding: 7px 5px;
	width: 14em;
	font-size: 0.95em;
	line-height: 1.5;
	
	display: block;
}

.tbl02 tbody th.tbl02_ttl span{
	display: block;
	font-size: 0.9em;
}

.tbl02 tbody td{
	width: calc(50% - 7em);
	text-align: center;
	padding: 7px 5px;
	font-size: 0.95em;
	
	display: block;
}

.btm01{
	margin-top: 1em;
}

.btm01 a{
	background: #105aaa;
	box-sizing: border-box;
	padding: 16px 32px 16px 24px;
	border-radius: 4px;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	position: relative;
}

.btm01 a:after{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border: 5px solid transparent;
	border-left: 8px solid #fff;
	position: absolute;
	right: 6px;
	top: calc(50% - 6px);
}


/*top
----------------------------------------------------*/

.top_about{
	background: #105aaa url("../images/top/bg_about.png") no-repeat center center;
	background-size: cover;
	padding: 60px 0;
	margin: 0 auto;
}

.top_about_wrap{
	width: 95%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 2.5%;
}

.top_about_text{
	color: #fff;
	text-align: center;
}

.top_about_text p{
	margin-bottom: 20px;
}

p.top_about_btn{
	margin-bottom: 0;
}

.top_about_btn a{
	display: block;
	border: 1px solid #fff;
	max-width: 300px;
	margin: 0 auto;
	
	font-size: 16px;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	padding: 10px;
	
	position: relative;
	overflow: hidden;
}

.top_about_btn a:before{
	content: "";
	box-sizing: border-box;
	background: #fff;
	left: -100%;
	opacity: 0;
	z-index: -1;
	
	transition: left 0.2s linear 0s, opacity 0.35s linear 0s;
}

.top_about_btn a .fa{
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	
	font-size: 25px;
	
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

.top_about_btn a:hover{
	color: #115baa;
	opacity: 1;
	
	position: relative;
	z-index: 2;
}

.top_about_btn a:hover:before{
	content: "";
	
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	
	display: block;
	background: #fff;
	opacity: 1;
}

.top_products{
	padding: 60px 0;
	margin: 0 auto;
}

.top_products_wrap{
	width: 95%;
	max-width: 1080px;
	padding: 0 2.5%;
	margin: 0 auto;
}

.top_products_list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.top_products_list li{
	width: 305px;
	margin: 0 auto 0 0;
}

.top_products_list li:nth-child(3n){
	margin-right: 0;
}


.top_products_img{
	text-align: center;
}

.top_products_img img{
	width: auto;
	max-width: 100%;
}

.top_products_ttl{
	font-size: 18px;
	font-weight: bold;
	color: #105aaa;
	text-align: center;
}

.top_pruducts_text{
	font-size: 14px;
	line-height: 1.9;
	padding: 0 5%;
}

.top_products_btn a{
	display: block;
	max-width: 150px;
	margin: 10px auto 0;
	text-align: center;
	border: 1px solid #e36222;
	
	font-size: 13px;
	font-weight: bold;
	color: #e36222;
	text-decoration: none;
	
	overflow: hidden;
	position: relative;
}

.top_products_btn a:before{
	background: #e36222 none repeat scroll 0 0;
    box-sizing: border-box;
    content: "";
    left: -100%;
    opacity: 0;
    transition: left 0.2s linear 0s, opacity 0.25s linear 0s;
    z-index: -1;
}

.top_products_btn a:hover{
	color: #fff;
	opacity: 1;
	
	position: relative;
	z-index: 2;
}

.top_products_btn a:hover:before{
	content: "";
	
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	
	display: block;
	background: #e36222;
	opacity: 1;
}

.top_products_btn a .fa{
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	
	font-size: 16px;
	
	display: -webkit-flex;	
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

.top_news{
	background: #ededed;
	padding: 60px 0;
}

.top_news_wrap{
	width: 95%;
	max-width: 1080px;
	padding: 0 2.5%;
	margin: 0 auto;
}

.top_news_conts{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.top_news_conts_l,
.top_news_conts_r{
	width: 47.5%;
}

.top_news_list li{
	display: -webkit-flex;
	display: flex;
	
	font-size: 14px;
	border-bottom: 1px solid #c7c7c7;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.top_news_list li span{
	width: 8em;
	color: #105aaa;
}

.top_news_list li a{
	color: inherit;
	text-decoration: none;
}


.top_news_btn a{
	display: block;
	margin: 30px auto 0;
	max-width: 300px;
	text-decoration: none;
	
	font-size: 16px;
	font-weight: bold;
	color: #000;
	border: 1px solid #000;
	text-align: center;
	padding: 10px 0;
	overflow: hidden;

	position: relative;
}

.top_news_btn a:before{
	background: #000 none repeat scroll 0 0;
    box-sizing: border-box;
    content: "";
    left: -100%;
    opacity: 0;
    transition: left 0.2s linear 0s, opacity 0.35s linear 0s;
    z-index: -1;
}

.top_news_btn a:hover{
	color: #fff;
	opacity: 1;
	
	position: relative;
	z-index: 2;
}

.top_news_btn a:hover:before{
	content: "";
	
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	
	display: block;
	background: #000;
	opacity: 1;
}

.top_news_btn a .fa{
	position: absolute;
	right: 20px;
	top: 0;
	bottom: 0;
	
	font-size: 20px;
	
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

.top_news_recruit{
	width: auto;
	max-width: 500px;
}

.top_news_recruit a{
	position: relative;
	display: block;
	line-height: 0;
	overflow: hidden;
}

.top_news_recruit a:hover{
	opacity: 1;
}

.top_news_recruit a:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	background: #000 url("../images/top/bg_recruit_btn.jpg") no-repeat 50% 50%;
		
	transition: filter 0.5s linear 0s;
	filter: blur(0);
}

.top_news_recruit a:hover:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	margin: 0;
	padding: 0;
	
	filter: blur(5px);
}

.top_news_recruit a img{
	width: auto;
	max-width: 100%;
	height: auto;
	position: relative;
	z-index: 2;
}

.conts_contact{
	position: relative;
}

.conts_contact_ttl{
	padding: 20px 0;
	text-align: center;
	
	font-size: 23px;
	font-weight: bold;
	color: #fff;
	
	background: #115baa; /* Old browsers */
	background: -moz-linear-gradient(top,  #115baa 0%, #297bb3 50%, #115baa 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #115baa 0%,#297bb3 50%,#115baa 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #115baa 0%,#297bb3 50%,#115baa 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

.conts_contact_wrap{
	padding: 70px 0;
	background: #fff url("../images/common/bg_contact.png") no-repeat right center;
	background-size: cover;
	position: relative;
}

.conts_contact_wrap:before{
	content: "";
	display: inline-block;
	background: url("../images/common/bg_contact_arrow.png") no-repeat center top;
	
	position: absolute;
	top: 0;
	left: 0;
	right: 0;

	width: 100%;
	height: 20px;	
}

.conts_contact_lr{
	width: 95%;
	max-width: 800px;
	padding: 0 2.5%;
	margin: 0 auto;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.conts_contact_l,
.conts_contact_r{
	width: 47.5%;	
}

.conts_contact_tel{
	font-size:42px;
	font-weight: bold;
	color: #115baa;
	
	font-family: "Arial","Helvetica";
	display: inline-block;
	
	border-bottom: 1px dotted #0e408c;
	margin-bottom: 10px;
}

.conts_contact_tel span{
	font-size: 18px;
}

.conts_contact_btn{
	margin-top: 10px;
	display: inline-block;
	text-align: left;
}

.conts_contact_btn a{
	background: url("../images/common/bg_contact_btn.png") no-repeat center center;
	background-size: cover;
	width: 309px;
	height: 72px;
	overflow: hidden;
	
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	text-decoration: none;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.conts_contact_btn a:before{
	background: #115baa none repeat scroll 0 0;
    box-sizing: border-box;
    content: "";
    left: -100%;
    opacity: 0;
    transition: left 0.2s linear 0s, opacity 0.3s linear 0s;
    z-index: -1;
}

.conts_contact_btn a:hover{
	color: #fff;
	opacity: 1;
	
	position: relative;
	z-index: 2;
}

.conts_contact_btn a:hover:before{
	content: "";
	
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	
	display: block;
	background: #115baa;
	opacity: 1;
}

.conts_contact_btn a .fa{
	margin-right: 10px;
	vertical-align: middle;
}

#pagetop p a{
	display: block;
	position: absolute;
	right: 5px;
	bottom: 0;
	line-height: 0;
}

#pagetop img{
	width: 108px;
	height: 55px;
}

/*下層ページ
----------------------------------------------------*/
#second{
	overflow-x: hidden;
}

#second header{
	margin-bottom: 30px;
}

#second #mainimage{
	background: url("../images/second/bg_mainimage.jpg") no-repeat center center;
	background-size: cover;
	width: 100%;
	height: 229px;
}

#second.about #mainimage,
#second.company #mainimage{
	background: url("../images/second/bg_mainimage01.jpg") no-repeat center center;
	background-size: cover;
}

#second.faq #mainimage,
#second.contact #mainimage{
	background: url("../images/second/bg_mainimage02.jpg") no-repeat center center;
	background-size: cover;
}

#second.recruit #mainimage{
	background: url("../images/second/bg_mainimage03.jpg") no-repeat center center;
	background-size: cover;
}

#second.products #mainimage,
#second.quality #mainimage{
	background: url("../images/second/bg_mainimage04.jpg") no-repeat center center;
	background-size: cover;
}

#second.products01 #mainimage{
	background: url("../images/second/bg_productsdetail01.jpg") no-repeat center center;
	background-size: cover;
}

#second.products02 #mainimage{
	background: url("../images/second/bg_productsdetail02.jpg") no-repeat center center;
	background-size: cover;
}

#second.products03 #mainimage{
	background: url("../images/second/bg_productsdetail03.jpg") no-repeat center center;
	background-size: cover;
}

#second.products #mainimage .mainimage_wrap .mainimage_ttl,
#second.products #mainimage .mainimage_wrap .mainimage_subttl,
#second.quality #mainimage .mainimage_wrap .mainimage_ttl,
#second.quality #mainimage .mainimage_wrap .mainimage_subttl{
	color: #105aaa;
	text-shadow: 1px 2px 0 rgba(255,255,255,0.7);
}

#second.products01 #mainimage .mainimage_wrap .mainimage_ttl,
#second.products01 #mainimage .mainimage_wrap .mainimage_subttl,
#second.products02 #mainimage .mainimage_wrap .mainimage_ttl,
#second.products02 #mainimage .mainimage_wrap .mainimage_subttl,
#second.products03 #mainimage .mainimage_wrap .mainimage_ttl,
#second.products03 #mainimage .mainimage_wrap .mainimage_subttl{
	color: #105aaa;
	text-shadow: 1px 2px 0 rgba(255,255,255,0.7);
}

#second #mainimage .mainimage_wrap{
	width: 100%;
	height: 100%;
	
	position: relative;
	top: 15px;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-align-items: center;
	align-items: center;
}

.mainimage_ttl{
	font-size: 39px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.1em;
	text-shadow: 1px 1px 0 rgba(0,0,0,0.4);
	line-height: 1;
}

.mainimage_subttl{
	font-size: 12px;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.1em;
	text-shadow: 0 1px 0 rgba(0,0,0,0.5);
}

#second .mainimage_ttl,
#second .mainimage_subttl{
	position: relative;
	z-index: 2;
}

#breadcrumb{
	width: 95%;	
	max-width: 1060px;
	margin: 0 auto;
	padding: 0 2.5%;
}

#breadcrumb ul{
	display: -webkit-flex;
	display: flex;
	
	font-size: 13px;
}

#breadcrumb ul li:before{
	content: ">";
	margin: 0 5px;
}

#breadcrumb ul li:first-child:before{
	content: none;
}

.second_conts{
	width: 95%;	
	max-width: 1060px;
	margin: 0 auto;
	padding: 100px 2.5%;
}

.section_conts{
	margin-bottom: 100px;
}

.section_conts:last-of-type{
	margin-bottom: 0;
}

/* 当社特徴 */
.second_conts_lr01{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.second_conts_lr02{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.second_conts_text{
	width: calc(100% - 450px);
}

.second_conts_text-w-auto{
	width: auto;
}

.about_conts_text01{
	width: calc(100% - 580px);
}

.second_conts_text p{
	margin-bottom: 15px;
	line-height: 2.4;
}

.second_conts_lr01 .second_conts_img{
	width: auto;
	min-width: 200px;
	max-width: 400px;
	margin-left: 50px;
	text-align: right;
}

.second_conts_lr02 .second_conts_img{
	width: 400px;
	margin-right: 50px;
}

.second_conts_lr01 .about_conts_img01,
.second_conts_lr02 .about_conts_img01{
	width: 530px;
}

.second_conts_lr01 .second_conts_img a{
	display: inline-block;
	min-width: 200px;
}

.second_conts_img figure img{
	width: auto;
	max-width: 100%;
}

.second_conts_img-2column{
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}

.second_conts_img-2column-conts{
	width: calc(50% - 16px);
	margin-right: 32px;
}

.second_conts_img-2column-conts:last-of-type{
	margin-right: 0;
}

.second_conts_img-2column-conts img{
	width: auto;
	max-width: 100%;
	height: auto;
}


.about_conts01{
	margin-top: 30px;
}

.about_conts01 .ttl04{
	margin-top: 0;
}

.about_conts02{
	margin-top: 20px;
}

.about_conts02:first-of-type{
	margin-top: 0;
}


/* 製品紹介 */
.products_list ul{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.products_list ul li{
	width: calc(100% / 3 - 48px);
	max-width: 305px;
	margin-right: 72px;
	margin-bottom: 50px;
}

.products_list ul li:nth-child(3n){
	margin-right: 0;
}


.top_products_img{
	text-align: center;
}

.top_products_img img{
	width: auto;
	max-width: 100%;
}

.top_products_ttl{
	font-size: 20px;
	font-weight: bold;
	color: #105aaa;
	text-align: center;
	margin-bottom: 10px;
}

.top_pruducts_text{
	font-size: 14px;
	line-height: 1.9;
	padding: 0 5%;
	margin-bottom: 10px;
}

.top_products_btn a{
	display: block;
	max-width: 150px;
	margin: 10px auto 0;
	text-align: center;
	border: 1px solid #e36222;
	
	font-size: 13px;
	font-weight: bold;
	color: #e36222;
	text-decoration: none;
	
	overflow: hidden;
	position: relative;
}

.top_products_btn a:before{
	background: #e36222 none repeat scroll 0 0;
    box-sizing: border-box;
    content: "";
    left: -100%;
    opacity: 0;
    transition: left 0.2s linear 0s, opacity 0.25s linear 0s;
    z-index: -1;
}

.top_products_btn a:hover{
	color: #fff;
	opacity: 1;
	
	position: relative;
	z-index: 2;
}

.top_products_btn a:hover:before{
	content: "";
	
	position: absolute;
	top: 0;
	left: 0;
	
	width: 100%;
	height: 100%;
	
	display: block;
	background: #e36222;
	opacity: 1;
}

.top_products_btn a .fa{
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	
	font-size: 16px;
	
	display: -webkit-flex;	
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

/* 製品紹介　詳細ページ */
.mainimage_productsdetail_bg{
	display: block;
	width: 100%;
	max-width: 700px;
	height: 100%;
	
	background: rgba(16,90,170,0.9);
	transform: skew(-30deg);
	
	position: absolute;
	top: 0;
	left: 0;
	
	z-index: 1;
	
}

.products_detail{
	border-top: 1px dashed;
	padding: 30px 0;
	margin-top: 50px;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.products_detail_conts{
	width: calc(100% - 425px);
}

.products_tbl,
.products_tbl tbody{
	display: block;
}

.products_tbl tr{
	background: #d8e9fb;
	padding: 5px 10px;
	
	display: -webkit-flex;
	display: flex;
}

.products_tbl tr:nth-child(2n){
	background: #fff;
}

.products_tbl tr th{
	width: 10em;
	text-align: left;
	display: block;
}

.products_tbl tr td{
	width: calc(100% - 10em);
	text-align: left;
	display: block;
}

.products_detail_img{
	width: 400px;
}

.products_detail_img figure{
	line-height: 0;
}

.products_detail_img img{
	width: auto;
	max-width: 100%;
}

.faq_list01{
	border: 1px solid #105aaa;
	margin-bottom: 30px;
	line-height: 1.8;
}

.faq_list01:last-of-type{
	margin-bottom: 0;
}

.faq_list01 dt,
.faq_list01 dd{
	padding: 15px;
	
	display: -webkit-flex;
	display: flex;
}

.faq_list01 dt{
	background: #d8e9fb;
	font-size: 18px;
	position: relative;
	padding: 15px 30px 15px 65px;
}

.faq_list01 dt:before{
	content: "Q.";
	display: inline-block;
	padding: 2px 10px;
	margin-right: 10px;

	background: #105aaa;	
	color: #fff;
	border-radius: 100%;
	
	position: absolute;
	top: 13px;
	left: 15px;
}

.faq_list01 dt p,
.faq_list01 dd p{
	line-height: 2;
}

.faq_list01 dt p{
}

.text_memo{
	display: block;
	font-size: 0.85em;
}

.products01_img01_img{
	margin-top: 50px;
	max-width: 310px;
}

.products01_conts{
	margin-top: 20px;
}

.products01_conts:first-of-type{
	margin-top: 0;
}

.products_detal-tblconts{
	margin-top: 40px;
}

.products_detal-tbl{
	border: 1px solid #000;
	border-collapse: collapse;
}

.products_detal-tbl thead tr th,
.products_detal-tbl thead tr td,
.products_detal-tbl tbody tr th,
.products_detal-tbl tbody tr td{
	border: 1px solid #000;
}

.products_detal-tbl thead tr th:first-of-type,
.products_detal-tbl tbody tr th:first-of-type{
	width: 6em;
}

.products_detal-tbl02 thead tr th:first-of-type,
.products_detal-tbl02 tbody tr th:first-of-type{
	width: 4em;
}

.products_detal-tbl tbody tr td{
	width: calc(100% / 5);
	vertical-align: text-top;
	line-height: 1.75;
	box-sizing: border-box;
	padding: 8px;
}

.products_detal-tbl02 tbody tr td{
	width: calc(100% / 4);
}

.products_detal-tbl-tbody-tr01 td,
.products_detal-tbl-tbody-tr02 td,
.products_detal-tbl-tbody-tr04 td,
.products_detal-tbl-tbody-tr05 td,
.products_detal-tbl-tbody-tr06 td,
.products_detal-tbl-tbody-tr07 td,
.products_detal-tbl-tbody-tr08 td{
	text-align: center;
}

.products_detal-tbl-tbody-tr02 td{
	padding:0 !important;
	line-height: 0 !important;
}

.products_detal-tbl-tbody-img img{
	width: auto;
	max-width: 100%;
	height: auto;
}

.products_detal-tbl-memo{
	display: none;
}

/* よくある質問 */
.faq_menu{
	margin-bottom: 50px;
}

.faq_menu ul{
	display: -webkit-flex;
	display: flex;
	
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.faq_menu ul li{
	width: calc(100% / 3 - 10px);
	background: #105aaa;
	text-align: center;
	padding: 15px 0;
	
	position: relative;
}

.faq_menu ul li a{
	display: block;
	
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}

.faq_menu ul li a span i{
	display: inline-block;
	
	background: #fff;
	font-weight: bold;
	color: #105aaa;
	border-radius: 100%;
	padding: 3px 6px;

	position: absolute;
	top: 20px;
	right: 15px;
}


/* 企業情報 */
.owner_name{
	text-align: right;
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
}

.owner_name span{
	margin-left: 10px;
	font-size: 20px;
}

.company_policy{
	margin-top: 40px;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.company_policy dl{
	width: 47.5%;
	
	margin-bottom: 50px;
}

.company_policy dl:first-of-type{
	margin-top: 0;
}

.company_policy dl dt{
	font-size: 20px;
	font-weight: bold;
	color: #105aaa;
	
	margin-left: 40px;
	position: relative;
}

.company_policy dl dt:before{
	content: "";
	display: block;
	width: 25px;
	height: 1px;
	background: #105aaa;
	
	position: absolute;
	left: -40px;
	top: 15px;
}

.company_factory{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.company_factory_conts{
	width: 47.5%;
}

.company_factory_img{
	line-height: 0;
	margin-bottom: 15px;
}

.company_factory_img img{
	width: auto;
	max-width: 100%;
}

.company_factory_name{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 10px;
	border-bottom: 1px dashed;
	padding-bottom: 5px;
}

.company_factory_text{
	margin-bottom: 30px;
}

.company_factory_map_ttl{
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
	border-bottom: 1px dashed;
	padding-bottom: 5px;
}

.company_factory_map iframe{
	width: 100%;
	height: 350px;
}

.compamny_environment{
	margin: 24px auto 0;
}

.compamny_environment ul li{
	position: relative;
	padding-left: 20px;
	margin-bottom: 4px;
}

.compamny_environment ul li:before{
	content: "";
	display: block;
	background: #105aaa;
	width: 8px;
	height: 8px;
	border-radius: 100px;

	position: absolute;
	left: 0;
	top: 11px;
}

.compamny_environment ul li:last-of-type{
	margin-bottom: 0;
}

/* 採用情報 */
.recruit_end{
	border:2px solid #e93f3f;
	padding: 15px;
	margin-top: 30px;
}

.recruit_end p{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #e93f3f;
}

.recruit_formbtn{
	margin-top: 30px;
}

.recruit_formbtn a{
	display: block;
	width: 100%;
	max-width: 300px;
	background: #105aaa;
	
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	color: #fff;

	margin: 0 auto;
	padding: 10px 0;
	
	position: relative;
	
}

.recruit_formbtn .fa{
	font-size: 20px;
	font-weight: bold;
	
	position: absolute;
	top: 15px;
	right: 25px;
}


/* お問い合せ */
.contact_formlist{
	display: -webkit-flex;
	display: flex;
	
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.contact_formconts{
	width: 48.5%;
	margin-bottom: 25px;
}

.contact_formconts a{
	color: #fff;
}

.contact_formconts a:hover{
	opacity: 1;
}

.contact_formconts figure{
	line-height: 0;
	background: #000;
	
	overflow: hidden;
	position: relative;
}

.contact_formconts figure img{
	opacity: 0.4;
	-webkit-filter: blur(0px);
	filter: blur(0px);
	
	transition: filter 0.2s linear 0s;
}

.contact_formconts figure figcaption{
	width: calc(100% - 30px);
	height: calc(100% - 30px);
	
	margin: 15px;
	border: 1px solid #fff;
	
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	
	font-size: 22px;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.05em;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
}

.contact_formconts figure img{
	width: 100%;
}

.form_tbl{
	margin-top: 20px;
}

.form_tbl tbody tr:first-of-type{
	border-top: 1px dashed #105aaa;
}

.form_tbl tbody tr{
	padding: 20px 0;
}

.form_tbl tbody tr th{
	width: 13em;
}

.form_tbl tbody tr td{
	width: calc(100% - 13em);
}

.form_name,
.form_name_furi,
.form_mail,
.form_tel,
.form_age,
.form_address,
.form_tbl textarea,
.form_companyname,
.form_companyname_class,
.form_freebar01{
	width: calc(100% - 5px);
}

.form_name,
.form_name_furi{
	max-width: 15em;
}

.form_mail{
	max-width: 20em;
}

.form_tel{
	max-width: 10em;
}

.form_age{
	max-width: 2em;
}

.form_address{
	max-width: 40em;
}

.form_tbl textarea{
	min-height: 150px;
}

.form_companyname,
.form_companyname_class{
	max-width: 40em;
}

.form_freebar01{
	max-width: 30em;
}

.form_freebar02{
	max-width: 5em;
}

.form_freebar03{
	max-width: 20em;
}

.form_send_btn{
	margin-top: 30px;
	text-align: center;
}

.form_send_btn input{
	width: 100%;
	max-width: 300px;
	margin: 0 auto;
	
	border: medium none;
    border-radius: 0;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 18px;
    font-weight: bold;
    padding: 15px 5%;
    background: #105aaa;
}

.form_send_btn input:disabled{
	opacity: 0.5;
	cursor: default;
}

.required{
	background: #e36222;
	color: #fff;
	margin-left: 8px;
	padding: 3px 5px;
	
	font-size: 0.85em;
}


/*jQuery連動
----------------------------------------------------*/
.img_fadein_l,
.img_fadein_r,
.img_fadein_b{
	overflow: hidden;
	position: relative;
	padding-bottom: 40px;
}

.img_fadein_nozoom{
	padding-bottom: 0;
	line-height: 0;
}

.img_fadein_l figure{
	position: relative;
	opacity: 0;
}


.img_fadein_r figure{
	position: relative;
	opacity: 0;
}

.img_fadein_b img{
	position: relative;
	opacity: 0;
}


.lb_hover{
	position: relative;
	text-decoration: none;
}

.lb_hover:hover{
	opacity: 1;
}

.lb_hover:after{
	content: "大きいサイズで見る";
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	
	background: #105aaa url("../images/common/icon_zoom.png") no-repeat 10px center;
	background-size: 15px auto;
	border: 1px solid #105aaa;
	color: #fff;
	padding: 0 10px 0 30px;

	font-size: 15px;
	
	width: auto;
	
	position: absolute;
	bottom: -40px;
	
	
	opacity: 1;
	transition: all 0.15s linear 0s;
}

.img_fadein_l .lb_hover:after{
	right: 0;
}

.img_fadein_l .lb_hover:hover:after{	
	opacity: 1;
	padding-right: 20px;
	border-left: 8px solid;
	
	font-weight: bold;
	
	background-image: url("../images/common/icon_zoom_o.png");
	background-size: 15px auto;
	background-color: #fff;
	
	
	color: #105aaa;
}

.img_fadein_r .lb_hover:after{
	left: 0;
}

.img_fadein_r .lb_hover:hover:after{	
	opacity: 1;
	padding-left: 40px;
	border-right: 8px solid;
	
	
	font-weight: bold;
	
	background: #fff url("../images/common/icon_zoom_o.png") no-repeat 20px center;
	background-size: 15px auto;
	color: #105aaa;
}

/*wordpress
----------------------------------------------------*/
span.wpcf7-list-item:first-of-type{
	margin: 0 !important;
}


/*フッター
----------------------------------------------------*/

#footer{
	border-top: 5px solid #0d3d7f;
	background: #115baa;
	padding: 60px 0 20px;
}

.f_wrap{
	width: 95%;
	max-width: 1080px;
	padding: 0 2.5%;
	margin: 0 auto;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.f_logo{
	margin-bottom: 30px;
}

.f_info{
	width: 450px;
}

.f_menu{
	width: calc(100% - 500px);
}

.f_info_text p{
	font-size: 13px;
	margin-bottom: 15px;
	line-height: 1.8;
	color: #fff;
}

.f_menu,
.f_menu_conts{
	display: -webkit-flex;
	display: flex;
}

.f_menu{
	-webkit-justify-content: space-around;
	justify-content: space-around;
}

.f_menu_conts{
	justify-content: flex-start;
}

.f_menu_conts ul li a{
	background: url("../images/common/icon_fbtn.png") no-repeat left center;
	padding-left: 15px;
	
	font-size: 13px;
	color: #fff;
	text-decoration: none;
}

.f_menu_sublist{
	margin: 0 0 0 15px;
}

.f_menu_sublist li{
	font-size: 13px;
	color: #fff;
	line-height: 1.6;
	margin-bottom: 5px;
	margin-left: 1em;
}

.f_menu_sublist li:before{
	content: "ー";
	margin-left: -1em;
}

.f_menu_sublist li a{
	background: none !important;
	padding-left: 0 !important;
}

.cr{
	width: 95%;
	padding: 0 2.5%;
	margin: 50px auto 0;
	color: #fff;
	font-size: 12px;
	text-align: center;
}
