@charset "utf-8";
/* CSS Document */

/*------------ 初期設定 ------------*/
p {
	line-height: 1.7;
}

/*------------ 全体 ------------*/
html {
}
body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
._hover{
	transition: opacity 0.3s linear;
	opacity: 1;
}
._hover:hover{
	opacity: 0.7;
}
.min{
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

/*------------ WRAPPER ------------*/
#wrapper {
	padding-top: 120px;
}
.content_inner{
	width:1000px;
	margin:0 auto;
	position: relative;
}

/*------------ HEADER ------------*/
#header{
	border-top: 8px solid #e7372a;
	background-color: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
}
#header>.content_inner{
	height: 112px;
}
#header .logo{
	position: absolute;
	left: 0;
	top: 30px;
}

/*------------ NAVI ------------*/
#header #gnav{
	text-align: right;
	font-size: 0;
	padding-top: 48px;
}
#header #gnav li{
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	margin-left: 20px;
}
#header #gnav li a{
	padding-left: 15px;
	background-image: url(../images/common/icon_arrow_nav.png);
	background-position: left center;
	background-repeat: no-repeat;
	display: block;
	text-decoration: none;
	color: inherit;
	position: relative;
}
#header #gnav li a:before{
	content: "";
	width: 0%;
	height: 3px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -2px;
	background-color: #e7372a;
	transition: 0.3s width;
}
#header #gnav li a:hover:before,
#header #gnav li a.active:before{
	width: 100%;
}

/*------------ TOP ------------*/
#main{
	background-image: url(../images/top/pic_main.jpg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: auto 100%;
	margin-bottom: 70px;
}
#main>.content_inner{
	height: 640px;
	text-align: center;
}
#main>.content_inner_wide{
  width: 1270px;
}
#main>.content_inner_wide .list_main_btn{
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0;
}
#main>.content_inner_wide .list_main_btn:after{
  display: none;
}
#main>.content_inner_wide .list_main_btn li{
  margin: 0;
}
#main>.content_inner .catchcopy{
	padding-top: 160px;
}
#main>.content_inner .lead{
	padding-top: 40px;
}
.list_main_btn{
	font-size: 0;
	margin: 0 -25px;
	position: absolute;
	left: 0;
	bottom: -70px;
	width: auto;
	white-space: nowrap;
}
.list_main_btn li{
	display: inline-block;
	margin: 0 25px;
}
.list_main_btn li a,
.list_main_btn li span{
	display: block;
	text-decoration: none;
	color: #FFF;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: cover;
}
.list_main_btn li .inner{
	width: 300px;
	height: 300px;
	box-sizing: border-box;
	padding-top: 165px;
}
.list_main_btn li.business1 a{
	background-image: url(../images/top/main_btn01.png);
}
.list_main_btn li.business2 a{
	background-image: url(../images/top/main_btn02.png);
}
.list_main_btn li.business3 a{
	background-image: url(../images/top/main_btn03.png);
}
.list_main_btn li.business4 a{
	background-image: url(../images/top/main_btn04.png);
}
.list_main_btn li.business4 a .ttl{
  letter-spacing: -.1em;
}
.list_main_btn li .ttl{
	font-size: 20px;
	font-weight: 700;
	padding-bottom: 10px;
}
.list_main_btn li .more{
	font-size: 13px;
}
#news{
	padding: 30px 0 50px;
}
.ttl_u_line_wrapper{
	text-align: center;
	margin-bottom: 40px;
}
.ttl_u_line_inner{
	display: inline-block;
	position: relative;
}
.ttl_u_line_inner:before{
	content: "";
	width: 100%;
	height: 1px;
	background-color: #e7372a;
	position: absolute;
	bottom: 1px;
	left: 50%;
	transform: translateX(-50%);
}
.ttl_u_line_wrapper .ttl_u_line{
	font-size: 32px;
	line-height: 1;
	padding-bottom: 5px;
	letter-spacing: 0.1em;
}
.ttl_u_line_wrapper p{
	font-size: 16px;
	line-height: 1;
	padding-bottom: 10px;
}
.list_news{
	margin-top: -20px;
	text-align: center;
}
.list_news li{
	margin-bottom: 20px;
}
.list_news li .date{
	font-size: 16px;
	margin-bottom: 10px;
}
.list_news li .body{
	font-size: 20px;
}
.list_news li .body a{
	color: inherit;
}
.list_news li .body a:hover{
	text-decoration: none;
}
.bg_gray{
	background-color: #f5f5f5;
}
.bg_gray2{
	background-color: #ebebeb;
}
#strength{
	padding: 80px 0;
}
.eyecatch_top{
	width: 1000px;
	height: 180px;
	background-image: url(../images/top/pic_strength.jpg);
	background-position: left center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	margin-bottom: 35px;
}
.eyecatch_top .inner{
	background-color: rgba(255,255,255,0.6);
	text-align: center;
	margin: 0 135px 0;
	padding: 30px 0;
	position: relative;
	top: 40px;
}
#strength .body{
	font-size: 16px;
	text-align: center;
	margin-bottom: 60px;
}
.btn_wrapper{
	text-align: center;
}
.btn_wrapper .btn_more{
	display: inline-block;
	width: 240px;
	color: #FFF;
	text-decoration: none;
	font-size: 16px;
	letter-spacing: 0.2em;
	padding: 10px 0;
	background-color: #e7372a;
}
#business{
	padding: 80px 0;
	background-image: url(../images/top/bg_business.png);
	background-position: center center;
	background-repeat: repeat;
}
#business .ttl_u_line_wrapper{
	color: #FFF;
}
.list_bisness li{
	margin-bottom: 35px;
}
.list_bisness .pic.trapezoid,
.list_bisness .pic.trapezoid img{
  display: inline-block;
  transform-origin: 0 0;
  overflow: hidden;
}
.list_bisness .pic.trapezoid{
  transform: skew(-35deg);
	margin-bottom: -210px;
}
.list_bisness .pic.trapezoid >img{
  transform: skew(35deg);/*こちらは歪みなしのようなのでそのまま*/
}
.list_bisness .info.trapezoid,
.list_bisness .info.trapezoid .inner{
  display: inline-block;
  transform-origin: 0 100%;
  overflow: hidden;
}
.list_bisness .info.trapezoid{
  transform: skew(-35deg);
	float: right;
}
.list_bisness .info.trapezoid >.inner{
  transform: skew(35deg);/*こちらは歪みなしのようなのでそのまま*/
	background-color: rgba(255,255,255,0.8);
	width: 580px;
	height: 240px;
	box-sizing: border-box;
	padding: 40px 100px 40px 160px;
	position: relative;
}
.list_bisness .info .more_business{
	position: absolute;
	right: 7px;
	bottom: 10px;
}
.list_bisness .info .more_business:hover{
	opacity: 0.7;
}
.list_bisness .info .ttl_business{
	font-size: 32px;
	font-weight: normal;
	padding: 5px 0 5px 15px;
	border-left: 6px solid #e7372a;
	line-height: 1;
	margin-bottom: 15px;
}
.list_bisness .info .body{
	font-size: 16px;
}

#main_sub{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: auto 100%;
}
#main_sub.company{
	background-image: url(../images/company/main.jpg);
}
#main_sub.contact{
	background-image: url(../images/contact/main.jpg);
}
#main_sub.strength{
	background-image: url(../images/strength/main.jpg);
}
#main_sub.business{
	background-image: url(../images/business/index/main.jpg);
}
#main_sub.business_detail1{
	background-image: url(../images/business/detail1/main.jpg);
}
#main_sub.business_detail2{
	background-image: url(../images/business/detail2/main.jpg);
}
#main_sub.business_detail3{
	background-image: url(../images/business/detail3/main.jpg);
}
#main_sub.business_detail4{
	background-image: url(../images/business/detail4/main.jpg);
}
#main_sub .content_inner {
	height: 240px;
}
#main_sub .ttl_u_line_wrapper {
    margin-bottom: 0;
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	transform: translateY(-50%);
}
#main_sub .ttl_u_line {
	font-size: 40px;
	color: #FFF;
}
#topic_path{
	padding: 10px 0;
	font-size: 0;
}
#topic_path li{
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
}
#topic_path li:nth-last-child(n+2):after{
	content: ">";
	margin: 0 10px;
}
#topic_path li a{
	color: inherit;
	text-decoration: none;
}
#topic_path li a:hover{
	text-decoration: underline;
}
#business_sub{
	padding: 60px 0;
}
.lead_business{
	text-align: center;
	font-size: 22px;
	font-weight: 700;
	margin-bottom: 70px;
}

.block_subcontent{
	padding: 80px 0;
}
.list_sub_nav{
	font-size: 0;
	margin: -40px -6px -9px;
}
.list_sub_nav li{
	display: inline-block;
	margin: 0 3px 9px;
}
.list_sub_nav li a{
	display: block;
	box-sizing: border-box;
	width: 245px;
	color: #e7372a;
	text-decoration: none;
	text-align: center;
	font-size: 15px;
	padding: 8px;
	border: 1px solid #e7372a;
	position: relative;
}
.list_sub_nav li a:before{
	content: "";
	width: 14px;
	height: 8px;
	background-image: url(../images/common/icon_arrow_b.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
}
.eyecatch{
	width: auto;
	height: 180px;
	background-position: left center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	margin-bottom: 15px;
}
.eyecatch .inner{
	background-color: rgba(231,55,42,0.8);
	text-align: center;
	left: 180px;
	right: 180px;
	padding: 20px 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 40px;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #FFF;
}
.eyecatch .inner .ttl{
	font-weight: normal;
}
.eyecatch.business_detail1_1{
	background-image: url(../images/business/detail1/pic_ttl01.jpg);
}
.eyecatch.business_detail1_2{
	background-image: url(../images/business/detail1/pic_ttl02.jpg);
}
.eyecatch.business_detail1_3{
	background-image: url(../images/business/detail1/pic_ttl03.jpg);
}
.eyecatch.business_detail1_4{
	background-image: url(../images/business/detail1/pic_ttl04.jpg);
}
.eyecatch.business_detail2_1{
	background-image: url(../images/business/detail2/pic_ttl01.jpg);
}
.eyecatch.business_detail2_2{
	background-image: url(../images/business/detail2/pic_ttl02.jpg);
}
.eyecatch.business_detail2_3{
	background-image: url(../images/business/detail2/pic_ttl03.jpg);
}
.eyecatch.business_detail2_4{
	background-image: url(../images/business/detail2/pic_ttl04.jpg);
}
.eyecatch.business_detail2_5{
	background-image: url(../images/business/detail2/pic_ttl05.jpg);
}
.eyecatch.business_detail2_6{
	background-image: url(../images/business/detail2/pic_ttl06.jpg);
}
.eyecatch.business_detail2_7{
	background-image: url(../images/business/detail2/pic_ttl07.jpg);
}
.eyecatch.business_detail3_1{
	background-image: url(../images/business/detail3/pic_ttl01.jpg);
}
.eyecatch.business_detail4_1{
	background-image: url(../images/business/detail4/pic_ttl01.jpg);
}
.eyecatch.business_detail4_2{
	background-image: url(../images/business/detail4/pic_ttl02.jpg);
}
.lead_txt{
	text-align: center;
	font-size: 16px;
	margin-bottom: 35px;
}
.list_business{
	display: flex;
	display: -webkit-flex;
	
	justify-content:center;
	-webkit-justify-content:center;
	
	flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	clear:both;
	margin: 0 -10px 20px;
}
.list_business.narrow{
	padding: 0 50px;
}
.list_business li{
	margin: 0 10px 20px;
	width: 320px;
}
.list_business li .ttl{
	height: 40px;
	position: relative;
	background-color: #e7372a;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
}
.list_business li .ttl span{
	position: absolute;
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	box-sizing: border-box;
	padding: 0 10px;
	color: #FFF;
	text-align: center;
	transform: translateY(-50%);
}
.list_business li .body{
	font-size: 12px;
	padding-top: 12px;
}
.btn_contact{
	display: inline-block;
	position: relative;
	background-color: #08d852;
	text-align: center;
	color: #FFF;
	text-decoration: none;
	width: 560px;
	padding: 15px;
	font-size: 23px;
}
.btn_contact:before{
	content : "";
	border: 2px solid #FFF;
	position: absolute;
	left: 2px;
	top: 2px;
	right: 2px;
	bottom: 2px;
}
.btn_contact:after{
	content : "";
	width: 8px;
	height: 14px;
	background-image: url(../images/common/icon_arrow_r.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}
.anchor{
	display: block;
	position: relative;
	z-index: -1;
	padding-top: 120px;
	margin-top: -120px;
}

#message{
	padding: 60px 0 70px;
}
.block_message{
	padding-left: 0px;
}
.block_message .pic{
	float: left;
	width: 240px;
}
.block_message .info{
	font-size: 16px;
	text-align: center;
}
#profile{
	padding: 60px 0 70px;
}
.table_profile{
	width: 740px;
	margin: 0 auto;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
}
.table_profile th,
.table_profile td{
	border-top: 1px dotted #000000;
	border-bottom: 1px dotted #000000;
	font-size: 16px;
	font-weight: 700;
	padding: 10px 0;
}
.table_profile th{
	padding-left: 85px;
	width: 150px;
}
.link_pdf{
	font-size: 12px;
	text-decoration: none;
	color: #e7372a;
	display: inline-block;
	padding-left: 30px;
	position: relative;
	margin-left: 20px;
}
.link_pdf:before{
	content: "";
	background-image: url(../images/company/icon_pdf.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 19px;
	height: 24px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
.link_pdf:hover{
	text-decoration: underline;
}
#access{
	padding-bottom: 120px;
}
.map{
	margin-bottom: 20px;
}
#access .body{
	font-size: 16px;
	text-align: center;
}

#contact{
	padding: 60px 0 120px;
}
.lead_contact{
	text-align: center;
	font-size: 16px;
	margin-bottom: 70px;
}
.form_wrap{
	width: 780px;
	box-sizing: border-box;
	padding: 0 0;
	margin: 0 auto;
}
.form dl{
	display: table;
	width: 100%;
	margin-bottom: 20px;
	font-size: 20px;
	text-align: left;
	border: 1px solid #c8c8c8;
}
.form dt{
	border-right: 1px solid #c8c8c8;
	display: table-cell;
	padding: 0 10px;
	width: 300px;
	box-sizing: border-box;
	vertical-align: middle;
	background-color: #e7372a;
	color: #FFF;
}
.form dt span{
	font-size: 14px;
	margin-left: 15px;
}
.form dd{
	display: table-cell;
	background-color: #FFF;
	vertical-align: middle;
	position: relative;
}
.form dd.select:before{
	content: "▼";
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
	color: #000;
	font-size: 14px;
	pointer-events: none;
}
.form dd input,
.form dd textarea{
	padding: 10px;
	font-size: 20px;
	box-sizing: border-box;
	width: 100%;
	border: none;
}
.form dd textarea{
	height: 120px;
	display: block;
}
.form dd select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 10px 15px;
	font-size: 20px;
	box-sizing: border-box;
	width: 100%;
	border: none;
	background-color: #FFF;
}
.form dd select::-ms-expand {
    display: none;
}
.notes_form{
	font-size: 11px;
	text-align: center;
	margin-bottom: 40px;
}
.notice_contact{
	color: #e7372a;
	text-align: center;
	font-size: 16px;
	margin: -25px 0 35px;
}
.btn_form{
	display: inline-block;
	position: relative;
	background-color: #08d852;
	cursor: pointer;
	margin: 0 5px;
}
.btn_form input,
.btn_form a{
	display: block;
	text-align: center;
	color: #FFF;
	text-decoration: none;
	width: 360px;
	padding: 15px;
	font-size: 20px;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: transparent;
	border: none;
}
.btn_form:before{
	content : "";
	border: 2px solid #FFF;
	position: absolute;
	left: 2px;
	top: 2px;
	right: 2px;
	bottom: 2px;
    pointer-events: none;
}
.btn_form:after{
	content : "";
	width: 8px;
	height: 14px;
	background-image: url(../images/common/icon_arrow_r.png);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
}
.error{
	color: #FF0000;
	font-size: 12px;
	padding: 0 5px 5px;
}
.complete{
	text-align: center;
	font-size: 16px;
	padding-top: 40px;
	margin-bottom: 80px;
}

#strength_sub{
	padding: 60px 0 120px;
}
.ttl_strength{
	font-weight: normal;
}
.ttl_strength span{
	font-size: 40px;
}

.lead_strength{
	text-align: center;
	font-size: 21px;
	font-weight: 700;
	margin-bottom: 15px;
}
.ttl_img_support{
  text-align: center;
  font-size: 48px;
  font-weight: 100;
  color: #e7372a;
  letter-spacing: .2em;
}
.img_support{
	position: relative;
	width: 740px;
	margin: 0 auto 0;
}
.btn_support{
	position: absolute;
	width: 40.54%;
}
.btn_support1{
	top: 6.5%;
	left: 50%;
	transform: translateX(-50%);
}
.btn_support4{
	bottom: 6.5%;
	left: 50%;
	transform: translateX(-50%);
}
.btn_support2,
.btn_support3{
	top: 50%;
	transform: translateY(-50%);
}
.btn_support2{
	left: 6.5%;
}
.btn_support3{
	right: 6.5%;
}
.block_strength{
	padding-top: 80px;
	text-align: center;
}
.block_strength .point{
	margin-bottom: 10px;
}
.block_strength .ttl{
	font-size: 32px;
	color: #e7372a;
	margin-bottom: 30px;
}
.block_strength .body{
	font-size: 15px;
	margin-bottom: 30px;
}
.list_pic_point{
	font-size: 0;
}
.list_pic_point li{
	display: inline-block;
}

/*------------ FOOTER ------------*/

.btn_pagetop{
	position: absolute;
	right: -45px;
	top: -46px;
}
#footer{
	background-color: #e7372a;
	color: #FFF;
}
#footer .content_inner{
  width: 1050px;
}
.list_footer{
	font-size: 0;
	text-align: center;
	padding-top: 25px;
	margin-bottom: 30px;
}
.list_footer li{
	display: inline-block;
	padding: 0 10px;
	border-left: 1px solid #FFF;
	line-height: 1;
}
.list_footer li:last-child{
	border-right: 1px solid #FFF;
}
.list_footer li a{
	font-size: 16px;
	color: inherit;
	text-decoration: none;
}
.list_footer li a:hover{
	text-decoration: underline;
}
.logo_footer{
	text-align: center;
	margin-bottom: 15px;
}
.footer_info{
	text-align: center;
	font-size: 16px;
	padding-bottom: 30px;
}
#copyright{
	background-color: #3c3c3c;
	font-size: 16px;
	padding: 10px 0;
	text-align: center;
	color: #FFF;
}

/*-------- text_right --------*/
.t_right {
	text-align: right;
}

/*-------- text_left --------*/
.t_left {
	text-align: left;
}

/*-------- center --------*/
.t_center {
	text-align: center;
}

/*-------- left --------*/
.left {
	float: left;
}

/*-------- right --------*/
.right {
	float: right;
}

/*-------- ClearBoth --------*/
.cb {
	clear: both;
}

/*-------- COLOR --------*/

.red{
	color:#FF0000;
}

.orange{
	color:#FF6600;
}

.blue{
	color:#0097B2;
}

/*-------- FONT --------*/

.bold{
	font-weight:700;
}

.f10{
	font-size:10px;
}

.f14{
	font-size:14px;
}

/*-------- WIDTH --------*/

.w149{
	width:149px;	
}

.w180{
	width:180px;	
}

.w287{
	width:287px;
}

.w380{
	width:380px;
}

.w304{
	width:304px;
}

/*-------- HEIGHT --------*/

.h350{
	height:350px;	
}

.h375{
	height:375px;	
}

.h500{
	height:420px;	
}

.h600{
	height:470px;	
}

/*-------- MARGIN --------*/

.ml3{
	margin:0 0 0 3px;
}

.ml10{
	margin:0 0 0 10px;
}

.ml30{
	margin:0 0 0 30px;
}

.ml40{
	margin:0 0 0 40px;
}

.ml60{
	margin:0 0 0 60px;
}

.ml70{
	margin:0 0 0 70px;
}

.mb10{
	margin:0 0 10px 0;
}

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

.mt3{
	margin:3px 0 0 0;
}

.mt10{
	margin:10px 0 0 0;
}


.mt20{
	margin:20px 0 0 0;
}

.mt30{
	margin:30px 0 0 0;
}

/*-------- PADDING --------*/

.pt5{
	padding-top:5px;
}

.pt10{
	padding-top:10px;
}

.pt15{
	padding-top:15px;
}

.pt20{
	padding-top:20px;
}

.pt25{
	padding-top:25px;
}

.pt30{
	padding-top:30px;
}

.pt40{
	padding-top:40px;
}

.pt60{
	padding-top:60px;
}

.pl10{
	padding-left:10px;	
}

.pl12{
	padding-left:12px;	
}

.pl15{
	padding-left:15px;	
}

.pl20{
	padding-left:20px;	
}

.pl30{
	padding-left:30px;	
}

.pl40{
	padding-left:40px;	
}

.pl50{
	padding-left:50px;	
}

.pl60{
	padding-left:60px;	
}

.pl70{
	padding-left:70px;	
}

.pl80{
	padding-left:80px;	
}

.pl100{
	padding-left:100px;	
}

.pr100{
	padding-right:100px;	
}


.pb20{
	padding-bottom:20px;	
}

/*-------- COMMON --------*/

.pic{
}

.hidden{
	overflow:hidden;
}

.abs{
	position:absolute;
}

.ondes{
	color:#999999;
}






@media (min-width:769px) {
	.sp{
		display:none !important;
	}
}
@media (max-width:768px) {
	.pc{
		display:none !important;
	}
	body{
		-webkit-text-size-adjust: 100%;
	}
	img{
		max-width:100%;
		height:auto;
	}
	.content_inner{
		width:auto;
	}
	#wrapper{
		padding-top:50px;
		position: relative;
		overflow: hidden;
	}
	#header{
		border-top: 5px solid #e7372a;
	}
	#header>.content_inner{
		padding: 10px;
		height: 45px;
		box-sizing: border-box;
	}
	#header .logo{
		top: 10px;
		position: static;
	}
	#header .logo img{
		width: 200px;
	}

/*------------ NAVI ------------*/
	#header #gnav{
		position: fixed;
		left: 0;
		top: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0,0,0,0.6);
		padding: 0;
		opacity: 0;
		visibility: hidden;
		transition: all 0.4s;
	}
	#header #gnav ul{
		position: absolute;
		height: 100%;
		width: 50vw;
		background-color: #FFF;
		box-sizing: border-box;
		padding: 10vw 6vw 6vw;
		right: -50vw;
		top: 0;
		transition: all 0.4s;
	}
	#header #gnav li{
		text-align: center;
		display: block;
		font-size: 4.2vw;
		margin-left: 0;
		padding-left: 0;
		background: none;
		margin: 8vw 0;
	}
	#header #gnav li a{
		display: inline-block;
		position: relative;
		letter-spacing: 0.1em;
		padding-left: 0;
		background: none;
	}
	#header #gnav li a:before{
		content: "";
		position: absolute;
		width: 100%;
		height: 2px;
		background-color: #e7372a;
		position: absolute;
		left: 0;
		bottom: -0.5vw;
		transform: translateX(0%);
	}
	#header #btn_menu.active ~ #gnav{
		opacity: 1;
		visibility: visible;
	}
	#header #btn_menu.active ~ #gnav ul{
		right: 0;
	}
	#btn_menu{
		position:absolute;
		right:0;
		top:1px;
		width: 42px;
		height:42px;
		display:block;
		z-index:2000;
	}
	#btn_menu span {
		display: block;
		background: #111;
		width: 24px;
		height: 2px;
		position: absolute;
		left: 9px;
		transition: all 0.4s;
		-webkit-transition: all 0.4s;
		-moz-transition: all 0.4s;
	}
	#btn_menu span:first-child {
		top: 12px;
	}
	#btn_menu span:nth-child(2) {
		margin-top: -1px;
		top: 50%;
	}
	#btn_menu span:last-child {
		bottom: 12px;
	}
	#btn_menu.active span:first-child {
		-webkit-transform: translateY(8px) rotate(45deg);
		-moz-transform: translateY(8px) rotate(45deg);
		-ms-transform: translateY(8px) rotate(45deg);
		transform: translateY(8px) rotate(45deg);
	}
	#btn_menu.active span:nth-child(2) {
		opacity: 0;
	}
	#btn_menu.active span:last-child {
		-webkit-transform: translateY(-8px) rotate(-45deg);
		-moz-transform: translateY(-8px) rotate(-45deg);
		-ms-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}

/*------------ TOP ------------*/
	#main{
		margin-bottom: 10vw;
	}
	#main>.content_inner{
		height: 100vw;
	}
#main>.content_inner_wide{
  width: 100%;
		height: 120vw;
}
#main>.content_inner_wide .list_main_btn{
  justify-content: center;
  flex-wrap: wrap;
}
#main>.content_inner_wide .list_main_btn:after{
  display: none;
}
#main>.content_inner_wide .list_main_btn li{
  margin: 0 2vw;
}
#main>.content_inner_wide .list_main_btn li:nth-child(1){
  margin: 0 20vw -20.5vw;
}
#main>.content_inner_wide .list_main_btn li:nth-child(4){
  margin: -20.5vw 20vw 0;
}
	#main>.content_inner .catchcopy{
		padding-top: 12vw;
	}
	#main>.content_inner .catchcopy img{
		width: 90%;
	}
	#main>.content_inner .lead{
		padding-top: 4vw;
	}
	#main>.content_inner .lead img{
		width: 50%;
	}
	.list_main_btn{
		margin: 0 ;
		bottom: -10vw;
		white-space: normal;
	}
	.list_main_btn li{
		display: inline-block;
		margin: 0 2vw;
	}
	.list_main_btn li:nth-child(3){
		margin-top: -19vw;
	}
	.list_main_btn li .inner{
		width: 45vw;
		height: 45vw;
		padding-top: 24.5vw;
	}
	.list_main_btn li .ttl{
		font-size: 3.3vw;
		padding-bottom: 1vw;
	}
	.list_main_btn li .more{
		font-size: 2vw;
	}
	#contents .content_inner{
		padding: 0 3vw;
	}	
	#news{
		padding: 5vw 0;
	}
	.ttl_u_line_wrapper{
		margin-bottom: 6vw;
	}
	.ttl_u_line_inner:before{
		bottom: 0.3vw;;
	}
	.ttl_u_line_wrapper .ttl_u_line{
		font-size: 6.26vw;
		padding-bottom: 1vw;
	}
	.ttl_u_line_wrapper p{
		font-size: 4.4vw;
		padding-bottom: 2vw;
	}
	.list_news{
		margin-top: -3vw;
	}
	.list_news li{
		margin-bottom: 4vw;
	}
	.list_news li .date{
		font-size: 3.5vw;
		margin-bottom: 2vw;
	}
	.list_news li .body{
		font-size: 3.8vw;
	}
	#strength{
		padding: 8vw 0;
	}
	.eyecatch_top{
		width: auto;
		height: 30vw;
		background-position: center center;
		margin-bottom: 6vw;
	}
	.eyecatch_top .inner{
		width: 80%;
		margin: 0;
		padding: 6vw;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
	}
	.eyecatch_top .inner img{
		width: 100%;
	}
	#strength .body{
		font-size: 3.8vw;
		margin-bottom: 6vw;
	}
	.btn_wrapper .btn_more{
		width: 80%;
		font-size: 3.8vw;
		padding: 3vw;
		box-sizing: border-box;
	}
	#business{
		padding: 8vw 0;
		background-size: 6px auto;
	}
	.list_bisness li{
		margin-bottom: 6vw;
	}
	.list_bisness .pic.trapezoid,
	.list_bisness .pic.trapezoid img{
	  display: block;
	  transform-origin: 0 0;
	  overflow: hidden;
	}
	.list_bisness .pic.trapezoid{
		transform: none;
		margin-bottom: 0;
	}
	.list_bisness .pic.trapezoid >img{
	  transform: none;/*こちらは歪みなしのようなのでそのまま*/
		width: 100%;
	}
	.list_bisness .info.trapezoid,
	.list_bisness .info.trapezoid .inner{
	  display: block;
	  transform-origin: 0 100%;
	  overflow: hidden;
	}
	.list_bisness .info.trapezoid{
	  transform: none;
		float: none;
	}
	.list_bisness .info.trapezoid >.inner{
	  transform: none;/*こちらは歪みなしのようなのでそのまま*/
		width: auto;
		height: auto;
		box-sizing: border-box;
		padding: 5vw 3vw 10vw;
	}
	.list_bisness .info .more_business{
		right: 1vw;
		bottom: 1vw;
	}
	.list_bisness .info .more_business img{
		width: 12vw;
	}
	.list_bisness .info .ttl_business{
		font-size: 4.8vw;
		padding: 1vw 3vw;
		border-left: 1vw solid #e7372a;
		margin-bottom: 3vw;
	}
	.list_bisness .info .body{
		font-size: 3.8vw;
	}

	#main_sub .content_inner {
		height: 26vw;
	}
	#main_sub .ttl_u_line {
		font-size: 6.6vw;
	}
	#topic_path{
		padding: 0 0;
		position: relative;
		overflow: hidden;
		background-color: #DDD;
	}
	#topic_path li{
		display: inline-block;
		font-size: 3.6vw;
		font-weight: normal;
		margin-right: 4vw;
	}
	#topic_path li:nth-last-child(n+2):after{
		display: none;
	}
	#topic_path li:nth-last-child(n+2) a:after,
	#topic_path li:nth-last-child(n+2) a:before{
		content: "";
		width: 0;
		height: 0;
		border: 4vw solid transparent;
		border-left: 3vw solid #FFF;
		position: absolute;
		right: -6vw;
		top: 50%;
		transform: translateY(-50%);
		z-index: 1;
	}
	#topic_path li:nth-last-child(n+2) a:before{
		border-left: 3vw solid #DDD;
		right: -5.8vw;
		z-index: 2;
	}
	#topic_path li a{
		display: block;
		position: relative;
		padding: 1vw 3vw 1vw 0;
	}
	#business_sub{
		padding: 6vw 0;
	}
	.lead_business{
		font-size: 4vw;
		margin-bottom: 7vw;
	}

	.block_subcontent{
		padding: 6vw 0;
	}
	.block_subcontent:nth-last-of-type(1){
		padding: 6vw 0 14vw;
	}
	.list_sub_nav{
		font-size: 0;
		margin: -2vw 0 0;
		display: flex;
		display: -webkit-flex;

		justify-content:flex-start;
		-webkit-justify-content:flex-start;

		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		clear:both;
	}
	.list_sub_nav li{
		display: block;
		margin: 0;
		width: 50%;
		margin-bottom: -1px;
	}
	.list_sub_nav li a{
		width: auto;
		font-size: 2.8vw;
		padding: 2vw;
	}
	/*
	.list_sub_nav li:nth-last-child(n+3) a{
		border-bottom: none;
	}
	*/
	.list_sub_nav li:nth-child(even) a{
		border-left: none;
	}
	.list_sub_nav li a:before{
		width: 3vw;
		height: 2vw;
		right: 2vw;
	}
	.eyecatch{
		width: auto;
		height: 30vw;
		background-position: center center;
		margin-bottom: 3vw;
	}
	.eyecatch .inner{
		width: 80%;
		margin: 0;
		padding: 4vw;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		font-size: 5.2vw;
	}
	.lead_txt{
		font-size: 3.8vw;
		margin-bottom: 7vw;
	}
	.list_business{
		margin: 0 -1.5% 3%;
	}
	.list_business.narrow{
		padding: 0;
	}
	.list_business li{
		margin: 0 1.5% 3%;
		width: 47%;
	}
	.list_business li .ttl{
		height: 9.4vw;
		font-size: 3.2vw;
	}
	.list_business li .ttl span{
		padding: 0 1vw;
	}
	.btn_contact{
		display: inline-block;
		width: 100%;
		box-sizing: border-box;
		padding: 3vw;
		font-size: 3.6vw;
	}
	.btn_contact:after{
		width: 2vw;
		height: 3vw;
		right: 3vw;
	}
	.anchor{
		padding-top: 50px;
		margin-top: -50px;
	}

	#message{
		padding: 8vw 0 12vw;
	}
	.block_message{
		padding-left: 0;
	}
	.block_message .pic{
		float: none;
		width: auto;
		text-align: center;
	}
	.block_message .pic img{
		width: 60%;
	}
	.block_message .info{
		float: none;
		width: auto;
		font-size: 3.8vw;
		margin-bottom: 4vw
	}
	#profile{
		padding-bottom: 12vw;
	}
	.table_profile{
		width: 100%;
		margin: 0;
	}
	.table_profile th,
	.table_profile td{
		font-size: 3.8vw;
		display: block;
		width: auto;
		padding: 0;
	}
	.table_profile td{
		padding-bottom: 2vw;
		border-top: none;
		font-weight: normal;
	}
	.table_profile th{
		padding-top: 2vw;
		padding-bottom: 1vw;
		font-size: 3vw;
		border-top: none;
		border-bottom: none;
	}
	.table_profile tr:last-child td{
		border-bottom: none;
	}
	.link_pdf{
		font-size: 3vw;
		padding-left: 6vw;
		margin-left: 0;
	}
	.link_pdf:before{
		width: 4vw;
		height: 5vw;
	}
	#access{
		padding-bottom: 14vw;
	}
	.map{
		margin-bottom: 4vw;
	}
	.map iframe{
		width: 100%;
		height: 50vw;
	}
	#access .body{
		font-size: 3.8vw;
	}
	
	#contact{
		padding: 8vw 0 12vw;
	}
	.lead_contact{
		font-size: 3.8vw;
		margin-bottom: 10vw;
	}
	.notice_contact{
		font-size: 3.8vw;
		margin: -4vw 0 6vw;
	}
	.form_wrap{
		width: auto;
	}
	.form dl{
		display: block;
		width: 100%;
		margin-bottom: 4vw;
		font-size: 3.8vw;
	}
	.form dt{
		display: block;
		padding: 0 2vw;
		width: auto;
		border-right: none;
	}
	.form dt span{
		font-size: 3vw;
		margin-left: 3vw;
	}
	.form dd{
		display: block;
	}
	.form dd input,
	.form dd textarea{
		padding: 2vw;
		font-size: 3.8vw;
	}
	.form dd textarea{
		height: 10vw;
		display: block;
	}
	.form dd select {
		padding: 2vw;
		font-size: 3.8vw;
	}
	.form dd.select:before{
		content: "▼";
		position: absolute;
		right: 3vw;
		top: 50%;
		transform: translateY(-50%);
		z-index: 10;
		font-size: 2.6vw;
	}
	.btn_wrapper{
		margin-bottom: 2vw;
	}
	.notes_form{
		font-size: 2.8vw;
		margin-bottom: 6vw;
	}
	.btn_form{
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 0 0 2vw;
	}
	.btn_form input,
	.btn_form a{
		width: 100%;
		box-sizing: border-box;
		padding: 3vw;
		font-size: 3.6vw;
	}
	.btn_form:after{
		width: 2vw;
		height: 3vw;
		right: 3vw;
	}
	.error{
		font-size: 2.6vw;
		padding: 0 1vw 1vw;
	}
	.complete{
		font-size: 3.8vw;
		padding-top: 4vw;
		margin-bottom: 10vw;
	}

	#strength_sub{
		padding: 8vw 0 12vw;
	}
	.ttl_u_line_wrapper .ttl_u_line.ttl_strength{
		line-height: 1.4;
	}
	.ttl_strength span{
		font-size: 6.26vw;
	}
	.lead_strength{
		font-size: 3.8vw;
		margin-bottom: 3vw;
	}
  .ttl_img_support{
    font-size: 5.6vw;
  }
	.img_support{
		width: 100%;
	}
	.btn_support{
		position: absolute;
		width: 40.54%;
	}
	.btn_support1{
		top: 6.5%;
		left: 50%;
		transform: translateX(-50%);
	}
	.btn_support2,
	.btn_support3{
		top: 50%;
		transform: translateY(-50%);
	}
	.btn_support2{
		left: 6.5%;
	}
	.btn_support3{
		right: 6.5%;
	}
	.block_strength{
		padding-top: 8vw;
	}
	.block_strength .point{
		margin-bottom: 2vw;
	}
	.block_strength .point img{
		width: 70%;
	}
	.block_strength .ttl{
		font-size: 5vw;
		margin-bottom: 3vw;
	}
	.block_strength .body{
		font-size: 3.8vw;
		margin-bottom: 5vw;
	}
	.list_pic_point{
		font-size: 0;
	}
	.list_pic_point li{
		display: inline-block;
		width: 33.33%;
	}

/*------------ FOOTER ------------*/

	.btn_pagetop{
		right: 0;
		top: -10vw;
	}
	.btn_pagetop img{
		width: 20vw;
	}
  #footer .content_inner {
    width: auto;
  }
	.list_footer{
		display: flex;
		display: -webkit-flex;

		justify-content:flex-start;
		-webkit-justify-content:flex-start;

		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		clear:both;
		padding-top: 0;
		margin-bottom: 5vw;
	}
	.list_footer li{
		box-sizing: border-box;
		width: 50%;
		border-bottom: 1px solid #FFF;
		padding: 0;
	}
	.list_footer li:nth-child(odd){
		border-left: none;
	}
  .list_footer li:last-child {
		border-right: none;
	}
/*
  .list_footer li:last-child{
		width: 50.3%;
		border-right: 1px solid #fff;
		
	} */
	.list_footer li a{
		font-size: 3.8vw;
		padding: 5vw 4vw;
		display: block;
	}
	.logo_footer{
		margin-bottom: 3vw;
	}
	.logo_footer img{
		width: 20vw
	}
	.footer_info{
		font-size: 3.2vw;
		padding-bottom: 4vw;
	}
	#copyright{
		font-size: 3.2vw;
		padding: 2vw 0;
	}
}







