@charset "utf-8";

/* 基本設定
-------------------------------*/
body {
	font-family :"メイリオ",Meiryo,Osaka,"ＭＳ Ｐゴシック","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic","MS P Gothic",sans-serif,verdana, Arial,Helvetica;
	font-size: 16px;
	line-height: 1.8em;
	color: #000;
	-webkit-text-size-adjust: 100%;
}
/* プリントの表示設定 */
@media print{
	body{width:1200px; margin:auto; }
}


@font-face {
  font-family: "NotoSerifCJK";
  src: url("fonts/NotoSerifJP-Regular.otf") format("opentype");
}



/* リンク設定
-------------------------------*/
a{color:#015C67; text-decoration:none;}
a:hover{color:#ed6868;}
a:active, a:focus{outline:0;}


/* ヘッダー
-------------------------------*/
* html #header{height:1%;}
#header{
	width:100%;
	background-color:#FFF;
	box-shadow:0 1px 5px #ccc;
	padding-bottom:15px;
/*	position:fixed; */
}
#header .h_obi{
	width:100%;
	background-color:#2d2d2d;
	padding:5px 0;
	margin-bottom:30px;
}
#header .h_obi .inner{
	width:90%;
	max-width:1160px;
	margin:auto;
	color:#fff;
	font-size:12px;
	line-height:1.3em;
}
.home #header .h_obi .inner{
	width:95%;
	max-width: none;
    text-align: center;
}

#header .inner{
	width:90%;
	max-width:1160px;
	margin:auto;
}
.h_logo{text-align:center;}
#header nav{
	width:100%;
	margin-top:20px;
}

    @media only screen and (max-width:1540px){
        .home #header .h_obi .inner{
            width:90%;
            text-align: left;
        }

    }
	@media only screen and (max-width:768px){
		#header{
			padding-bottom:5px;
			position:static;
		}
		#header .h_obi{margin-bottom:5px;}
        .home #header .h_obi .inner{padding-right: 45px;}
	}
	@media only screen and (max-width:640px){
		#header .h_obi .inner{
			font-size:11px;
			line-height:1.2em;
		}
	}


/* フッター
-------------------------------*/
#footer{
	width:100%;
	background-color:#7F7F7F;
	color:#fff;
	padding-top:50px;
}
#footer .inner{
	width:90%;
	max-width:1160px;
	margin:auto;
	text-align:center;
}
#footer .inner a:hover{
	text-decoration:underline;
}
#footer .inner a{
	color:#fff;
}
.f_info{margin-top:20px; margin-bottom:40px;}
.f_navi li{
	display:inline-block;
	margin-right:1em;
}
.f_navi li a:before{
	content:"\0bb ";
}
#footer .copy{
	width:100%;
	background-color:#000;
	text-align:center;
	font-size:12px;
	line-height:1.2em;
	padding:5px;
	margin-top:50px;
}

/*  ページトップへ */
#pageTop{
	position:fixed;
	bottom:50px;
	right:20px;
}
	/* ブラウザの幅を640px以下にすると電話発信のダイアログが出る */
	@media only screen and (min-width:640px){
	.tel a{
		display:inline-block; /* IE対策 */
		pointer-events: none;
		text-decoration:none;
	  }
	}
	@media only screen and (max-width:640px){
		#footer{padding-top:20px;}
		.f_info{
			font-size:90%;
			line-height:1.5em;
			margin-bottom:20px;
		}
		.f_info p{margin-bottom:10px;}
		.f_info span{display:inline-block;}
		.f_navi{display:none;}
		#footer .copy{
			font-size:11px;
			line-height:1.2em;
			margin-top:0;
		}
		#footer .copy span{display:none;}

		#pageTop{bottom:150px;}
		#pageTop img{
			width:50px;
			height:auto;
		}
	}

/* トップページ
-------------------------------*/
.top01{
	width:100%;
}


/*  スクロール */
.scroll_btn{
	width: 100%;
	overflow: hidden;
	margin-top: -80px;
	position: relative;
	display: flex;
	justify-content: center;
}
.scroll_btn a{
	width:80px;
	color:#ffffff;
}
.scroll_btn a:hover{
	color:#ffffff;
}
.scroll_btn .txt{
	font-size:14px;
	text-align: center;
	line-height: 20px;
}
#aaa{
	height: 60px;
	overflow: hidden;
}
#aaa:after{
	content:"";
	display: block;
	width: 1px;
	border-left:1px #fff solid;
	animation:scroll 3s ease 0s infinite normal;
	margin: 0 auto 0;
}
@keyframes scroll{
	0%{
		height: 0;
	}
	50%{
		height: 100px;
		margin-top: 0;
	}
	100%{
		margin-top: 100px;
		height: 100px;
	}
}

    @media only screen and (max-width:1300px){
		.scroll_btn{
			margin-top: -50px;
		}
		.scroll_btn a{
			width:50px;
		}
		.scroll_btn .txt{
			font-size:12px;
		}
		#aaa{
			height: 30px;
		}
	}
    @media only screen and (max-width:640px){
		.scroll_btn{
			display: none;
		}
	}



.top02{
	display:flex;
	justify-content:space-between;
	width:90%;
	max-width:980px;
	margin:auto;
}
.top02 .img{
	width:30%;
}
.top02 .txt{
	width:66%;
	text-align:justify;
	text-justify:inter-ideograph;
}

.top02_b{
	display:flex;
	justify-content:space-between;
	width:90%;
	margin:auto;
}
.top02_b .img_l{
	width:20%;
}
.top02_b .txt{
	width:40%;
	text-align:justify;
	text-justify:inter-ideograph;
}
.top02_b .img_r{
	width:33%;
	margin-left: 2%;
}

.topttl1{
	font-family: "NotoSerifCJK";
	font-size:32px;
	line-height:1.4em;
	margin-bottom:10px;
}
.topttl_slide{
	width: 100%;
	margin: 0 auto 60px;
	text-align: center;
}
.topttl_slide p {
	font-family: "NotoSerifCJK";
	font-size:32px;	
}

.topttl2{
	font-family: "NotoSerifCJK";
	font-size:18px;
	line-height:1.2em;
	color:#015C67;
	margin-bottom:50px;
}
.top02 .img .topttl1,
.top02 .img .topttl2{
	display:none;
}
.top02 .txt .name{
	font-family: "NotoSerifCJK";
	margin-top:30px;
	text-align:right;
}
.top02_b .img_l .topttl1,
.top02_b .img_l .topttl2{
	display:none;
}
.top02_b .txt .name{
	font-family: "NotoSerifCJK";
	margin-top:30px;
	text-align:right;
}

.top03 ul{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.top03 li{
	width:48%;
	border:solid 1px #353535;
	margin-bottom:40px;
	text-align:center;
	padding:1.5%;
	font-family: "NotoSerifCJK";
}
.top03 li .txt{
	font-size:23px;
	line-height:1.6em;
	margin:20px 0 10px;
}


.top03 li .txt span{display: inline-block;}
.top03 li .txt2{
	font-size:17px;
	line-height:1.2em;
    margin-bottom: 10px;
}
.top03 li .link a{
	font-size:20px;
	text-decoration:underline;
}
.top03 li .link a:hover{
	text-decoration:none;
}
.top03 li.border_no {
	border: none;
	display: table;
}
.top03 li.border_no p{
	display: table-cell;
	margin: 0;
	text-align: center;
	vertical-align: middle;
	font-size: 20px;
}

.top03 li.border_nobox {
	border: none;
}

.top03 li.border_nobox img{
	margin: 30px auto;
	background-color: #fff;
}




.top03 li.border_nobox img:hover {

  opacity: 0.7;

  filter: alpha(opacity=70);

  -ms-filter: "alpha(opacity=70)";

}





.top03 li .txt.txt_green {
	color: #025c67;
}

.top03 .maxh540 {
	max-height: 540px;
}


.top04{
	width:90%;
	max-width:1160px;
	margin:auto;
	background:url(../img/top/bg_top04_kei.png) left top repeat-x;
}
.top04 .lead{
	float:left;
	padding-left:30px;
	padding-top:100px;
}
.top04 .img{
	float:right;
	width:80%;
}
.top04 .btn a{
	display:block;
	width:135px;
	margin:auto;
	border:solid 1px #015C67;
	border-radius:0;
	/*background-color:#fff;*/
	color:#015C67;
	text-align:center;
	font-size:20px;
	font-family: "NotoSerifCJK";
	padding:10px 0;
	transition:0.3s;
	margin-top:60px;
}
.top04 .btn a:hover{
	background-color:#015C67;
	color:#fff;
}

.top05 a{
	display:block;
	width:90%;
	max-width:330px;
	margin:auto;
	border:solid 1px #353535;
	border-radius:0;
	background-color:#fff;
	color:#015C67;
	text-align:center;
	padding:12px 0;
	transition:0.3s;
/*	margin-top:60px;*/
}
.top05 a:hover{
	background-color:#015C67;
	color:#fff;
}
.top05 a:hover .topttl2{
	color:#fff;
}
.top06{
	font-size:14px;
	line-height:1.5em;
	color:#5e5e5e;
    text-align: justify;
    text-justify: inter-character;
}
.top06 span{display: inline-block;}

.top055 {
	width: 100%;
	max-width: 1040px;
	height: 13em;
	border: solid #000000 1px;
	margin: 20px auto;
	box-sizing: border-box;
	padding-top: 40px;
	padding-bottom: 40px;
	text-align: center;
	
}

.top_com_txt {
	text-align: center;
}

.top055 .inbox-l {
	float: left;
	width: 50%;
	text-align: center;
	border-right: solid #000000 1px;
	font-family: "NotoSerifCJK";
	
}
.top055 .inbox-l a {
  display: block;
  width: 90%;
  font-family: "NotoSerifCJK";
  max-width: 310px;
  margin: auto;
    margin-top: auto;
  border: solid 1px #015c67;
  border-radius: 0;
  background-color: #015c67;
  color: #fff;
  text-align: center;
  padding: 24px 0;
  transition: 0.3s;
  margin-top: 20px;
  font-size: 20px;
}

.top055 .inbox-l a:hover {
  background-color: #347d85;
	border: solid 1px #347d85;
  color: #fff;
}


.top055 .inbox-r {
	float: left;
	width: 50%;
	text-align: center;
	font-family: "NotoSerifCJK";
	
}
.top055 .inbox-r a {
  display: block;
  width: 90%;
  font-family: "NotoSerifCJK";
  max-width: 310px;
  margin: auto;
    margin-top: auto;
  border: solid 1px #13b165;
  border-radius: 0;
  background-color: #13b165;
  color: #fff;
  text-align: center;
  padding: 24px 0;
  transition: 0.3s;
  margin-top: 20px;
  font-size: 20px;
}

.top055 .inbox-r a:hover {
  background-color: #42c184;
	border: solid 1px #42c184;
  color: #fff;
}

.top_video {
	max-width: 720px;
	margin: auto;
}
.p_top{
    font-family: "NotoSerifCJK";
    font-size: 29px;
    text-align: center;
    background-color: #bfbfbf;
    line-height: 2.0em;
	margin-top: 100px;
    margin-bottom: 40px;
}

	@media only screen and (max-width:925px){
		.top04{background: none;}
		.top04 .lead{
			float: none;
			width:100%;
			text-align:center;
			padding:0;
			margin-bottom:20px;
		}
		.top04 .img{
			float:none;
			width:100%;
			text-align:center;
		}
		.top04 .btn a{margin-top:0px;}
	}

	@media only screen and (max-width:640px){
		.top02{display:block;}
		.top02 .img{
			width:100%;
			text-align:center;
			margin-bottom:20px;
		}
        .top02 .img img{ max-height: 280px; width: auto;}
		.top02 .txt{width:100%;}
		
		.top02_b{display:block;}
		.top02_b .img_l{
			width:100%;
			text-align:center;
			margin-bottom:20px;
		}
		.top02_b .img_r{
			width:100%;
			text-align:center;
			margin-bottom:20px;
			margin-top: 20px;
		}
        .top02_b .img_l img{ max-height: 280px; width: auto;}
		.top02_b .txt{width:100%;}		
		.top02_b .img_r img{
			width: 80%;
		}
		
		.topttl1{
			font-size:20px;
			line-height:1.4em;
			margin-bottom:5px;
		}
		.topttl2{
			font-size:16px;
			line-height:1.2em;
			margin-bottom:20px;
		}
		.topttl_slide{
			margin: 0 auto 20px;
		}
		.topttl_slide p {
			font-size:20px;	
		}		
		
		.top02 .img .topttl1,
		.top02 .img .topttl2{
			display:block;
		}
		.top02 .txt .topttl1,
		.top02 .txt .topttl2{
			display: none;}
		.top02 .txt .name{margin-top:20px;}
		
		.top02_b .img_l .topttl1,
		.top02_b .img_l .topttl2{
			display:block;
		}
		.top02_b .txt .topttl1,
		.top02_b .txt .topttl2{
			display: none;}
		.top02_b .txt .name{margin-top:20px;}		
		
		
		.top03 ul{display: block;}
		.top03 li{
			width:100%;
			max-width:500px;
			margin:0 auto 20px;
			padding:1% 1% 15px 1%;
		}
		.top03 li .txt{
			font-size:19px;
			line-height:1.2em;
			margin:10px 0 5px;
		}
		.top03 li.border_no p{
			font-size: 18px;
			margin-top: 20px;
		}
		.top03 li.border_nobox img{
			margin: 10px auto 0;
		}		
		
		.top03 li .link a{font-size:16px;}
		.top04 .btn a{font-size:16px;}
		
		.top_com_txt {
			text-align: left;
		}		
		.top055 {
			height: 21.5em;
			padding-top: 30px;
				}
		.top055 .inbox-l {
			display: block;
			width: 100%;
			border-right: 0;
		}		
		.top055 .inbox-r {
			display: block;
			width: 100%;
			border-right: 0;
			margin-top: 30px;
		}	
		.top055 .inbox-l a {
			margin-top: 10px;
				}		
		.top055 .inbox-r a {
			margin-top: 10px;
				}
		.p_top{
			font-size: 20px;
			line-height: 1.8em;
			margin-top: 40px;
			margin-bottom: 20px;
		}		
		
		
	}


/* プリントの表示設定 fade-up部分の表示  */
@media print{
	.fuwa{
		visibility: visible;
    opacity: 1;
    transform: none;
    transition: opacity 0s cubic-bezier(0,0,0,0) 0s, transform 0s cubic-bezier(0,0,0,0) 0s;
	}
	[data-aos^="fade"][data-aos^="fade"]{opacity:1;}
	[data-aos="fade-up"]{transform:none;}
}




/* 共通
-------------------------------*/
.ttlBox{
	width:100%;
	border-bottom:solid 1px #000;
	padding:80px 0;
	margin-bottom:10px;
}
.ttlBox .inner{
	width:90%;
	max-width:1160px;
	text-align:center;
	font-family: "NotoSerifCJK";
	margin:auto;
}
.ttlBox .ttl1{
	font-size:39px;
	line-height:1.4em;
}
.ttlBox .ttl2{
	font-size:20px;
	line-height:1.2em;
	color:#015C67;
}
.p_navi{
	width:90%;
	max-width:1160px;
	margin:0 auto 100px;
	font-size:85%;
	text-align:right;
}
.contents{
	width:90%;
	max-width:1160px;
	margin:0 auto 100px;
}

	@media only screen and (max-width:768px){
	  .ttlBox{
		  padding:20px 0 15px;
		  margin-bottom:30px;
	  }
	  .ttlBox .ttl1{
		  font-size:20px;
		  line-height:1.6em;
	  }
	  .ttlBox .ttl2{
		  font-size:16px;
		  line-height:1.2em;
	  }
	  .p_navi{display:none;}
	}



/* 業務案内
-------------------------------*/
.contents.biz{
	max-width:1200px;
}
.bizbox{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.bizbox.reve
{
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse;
    
}
.box_l{
	width:50%;
}
.box_r{
	width:50%;
}

.biz .img{text-align:center;}
.biz .lead{padding:0 3%;}
.biz .ttl1{
	text-align:center;
	margin-bottom:20px;
	font-family: "NotoSerifCJK";
	font-size:32px;
	line-height:1.4em;
}
.biz .ttl2{
	font-family: "NotoSerifCJK";
	line-height:1.2em;
	color:#015C67;
	text-align:center;
	margin-bottom:50px;
}
.biz .txt{
	width:85%;
	margin:auto;
	text-align:justify;
	text-justify:inter-ideograph;
}
.biz .img_ss02 {
	margin: 30px auto 0;
	max-width: 460px;
}
.biz .img_ss02 img {
	width: 45%;
}
.biz .img_ss02 p {
	margin: 20px auto 0;
	text-align: center;
	
}
.bizbox .txtline{
    text-decoration: underline;
}
.bizbox .f_kon,
.bizbox-txt .f_kon {
    color: #1f2a60;
    font-weight: bold;
}
.bizbox .f_gray,
.bizbox-txt .f_gray {
    color: #353535;
    font-weight: bold;
}
.bizbox .f_cen_b,
.bizbox-txt .f_cen_b {
	text-align: center;
	font-weight: bold;
}
.bizbox .f_cen,
.bizbox-txt .f_cen {
	text-align: center;
}
.bizbox .mrtp,
.bizbox-txt .mrtp {
	margin-top: 40px;
}
.bizbox .txt_green,
.bizbox-txt .txt_green {
	font-family: "NotoSerifCJK";
	color: #025c67;
	font-size: 23px;
    line-height: 1.6em;
    margin: 20px 0 10px;
	text-align: center;
}

.box_sub{
	clear:both;
	width:100%;
	max-width:1200px;
	margin:40px auto 0;
	background-color:#efefef;
	padding:4%;
}
.box_sub .ttl{
	font-family: "NotoSerifCJK";
	font-size:23px;
	text-align:center;
	padding:3px 0;
	border-bottom:solid 1px #000;
	border-top:solid 1px #000;
	margin-bottom:20px;
}
.box_sub .sub01{
	width:100%;
	max-width:800px;
	margin:0 auto;
}
.box_sub .sub01 dt
.box_sub .sub01 dd{
	line-height:1.6em;
}
.box_sub .sub01 dt{
	float:left;
}
.box_sub .sub01 dd{
	display: flex;
}

.space{
	clear:both;
	width:100%;
	height:150px;
}
.space_100{
	clear:both;
	width:100%;
	height:100px;
}

.space_line{
    border-bottom: solid #bfbfbf 3px;
	margin: 80px auto;
}

.bizbox-txt {
	width: 100%;
	max-width: 1140px;
	margin: 34px auto 0;
	
}
.bizbox-txt .txt {
	width:100%;
	margin:auto;
	text-align:justify;
	text-justify:inter-ideograph;	
}

.bizbox-txt .btn-box {
  display: flex;
  flex-direction: column; /* 垂直方向に並べる */
  gap: 15px;              /* 要素間の隙間 */
  padding: 20px;
}

.biz-title-txt {
	text-align: center;
	margin: 0 auto 80px;
}

/* PC向け設定（画面幅 768px 以上：横並び） */
@media (min-width: 768px) {
 .bizbox-txt .btn-box {
    flex-direction: row;    /* 水平方向に並べる */
    align-items: center;    /* 上下中央揃え */
    justify-content: space-between; /* 両端に配置する場合 */
  }
}

.bizbox-txt .btn-botm {
  padding: 20px;
}





@media only screen and (min-width:1280px){.space{height: 200;}}
.biz .ore .ttl1{
	font-size:30px;
	line-height:1.4em;
}
.biz .lead .btn a{
	display:block;
	width:270px;
	margin:auto;
	border:solid 1px #353535;
	border-radius:0;
	background-color:#fff;
	color:#015C67;
	text-align:center;
	font-size:20px;
	font-family: "NotoSerifCJK";
	padding:15px 0;
	transition:0.3s;
	margin-top:40px;
}
.biz .lead .btn a:hover{
	background-color:#015C67;
	color:#fff;
}
/*
.box_sub .sub02_l{
	width:44%;
	float:left;
	border-right:solid 1px #000;
}
.box_sub .sub02_r{
	width:56%;
	float:right;
}
.box_sub .sub02_l .inner,
.box_sub .sub02_r .inner{
	text-align:justify;
	text-justify:inter-ideograph;
}
.box_sub .sub02_l .inner{
	padding-bottom:40px;
}
.box_sub .sub02_r .inner{
	margin-bottom:20px;
	padding:0 1.5em;
}
*/
.box_sub .sub02{
	margin-bottom: 60px;
}
.box_sub .sub02 .txt{
	width: 100%;
	font-size: 15px;
	margin-top: 20px;
}
.box_sub .sub02 .btn a {
	background-color: transparent;
	margin-top: 20px;
}
.box_sub .sub03{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.box_sub .sub03 li{
	width:31%;
	margin-bottom:30px;
}

    @media only screen and (max-width:1280px){
		/*
    	.box_sub .sub02_l .inner{
			padding:0 1em 20px;
		}
		*/

    }
    @media only screen and (max-width:1000px){
		.box_sub .sub01 dt{
			float:none;
		}
		/*
		.box_sub .sub02_l,
		.box_sub .sub02_r{
			width:50%;
		}
        .box_sub .sub02_r .inner{
			padding:0 1em;
		}
		*/
        .sp_none{
			display: none;
		}
		.pc_none{
			display: none;
		}
		
	}
	@media only screen and (max-width:768px){
        .bizbox{
            display: block;
        }
        .box_l,
		.box_r{
			width:100%;
			margin-bottom:20px;
		}
		.biz .lead{padding:0%;}
		.biz .ttl1{
			margin-bottom:15px;
			font-size:24px;
			line-height:1.2em;
		}
		.biz .ore .ttl1{
			margin-bottom:15px;
			font-size:24px;
			line-height:1.2em;			
		}
		.biz .ttl2{margin-bottom:30px;}
		.biz .txt{width:100%;}
		.box_sub{margin:20px auto 0;}
		.box_sub .ttl{
			font-size:20px;
			margin-bottom:15px;
		}
		.space{height:60px;}
		.space_100{height:30px;}
		/*
		.box_sub .sub02_l,
		.box_sub .sub02_r{
			width:100%;
			float:none;
			border-right: none;
		}
		.box_sub .sub02_l .inner,
		.box_sub .sub02_r .inner{
			padding:0;
			margin-bottom:30px;
		}
		*/
		.box_sub .sub03 li{
			width:48%;
			margin-bottom:20px;
		}
	}
	@media only screen and (max-width:640px){
		.box_sub .sub01 dd{
			margin-bottom:10px;
		}
		.space{height:40px;}
		.space_100{height:20px;}
        .biz .img span{display: inline-block;}
	}

.bus_video {
	width: 100%;
	max-width: 602px;	
	margin-top: 70px;
}

video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9; /* 動画のアスペクト比 */
  display: block;
  margin: auto;
	
}


	@media only screen and (max-width:640px){
.bus_video {
	margin-top: 30px;
}		
}


.box_r .box_link {
	border: solid #015c67 1px;
	width: 100%;
	max-width: 565px;
	padding-bottom: 34px;
	
}
.box_r .box_link .title {
	display: inline-block;
	color: #FFFFFF;
	padding: 10px;
	text-align: center;
	background-color: #015c67;
	width: 100%;
	margin: auto;
}
.box_link .bana_linkbox {
	display: flex;
}

.box_link .bana_linkbox .img_link01 {
	padding: 20px 30px;
	
}
.box_link .bana_linkbox .img_link02 {
	padding: 20px;
}
.box_link .bana_linkbox .img_link03 {
	padding: 10px 40px;
	
}
.box_link .bana_linkbox .img_link04 {
	padding: 10px 40px;
}
.box_link .bana_linkbox .img_link05 {
	padding: 10px 70px;
	
}
.box_link .bana_linkbox .img_link06 {
	padding: 10px 40px 10px 20px;
}

.box_r .box_link p {
	font-size: 15px;
	text-align: left;
	margin-left: 12px;
	text-indent:-1em;
	padding-left:1em;	
}

.space50 {
  clear: both;
  width: 100%;
  height: 50px;	
}
.space30 {
  width: 100%;
  height: 30px;	
}

.youtube_box {
	width: 100%;
	max-width: 728px;
	height: auto;
	margin: auto;
}


.youtube-wrap {
     position: relative;
     padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
     height: 0;
     overflow: hidden;
}
 
.youtube-wrap iframe {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
}

.biz_14_bana {
	margin: 60px auto;
	width: 100%;
	max-width: 729px;
}
.biz_14_pdf {
	width: 100%;
	max-width: 729px;
	/*margin: auto;*/
	margin: 60px auto 0;
	background-color: #015c67;
	text-align: center;
	color: #FFFFFF;
	padding: 34px;
	
}
.biz_14_pdf span {
	font-weight: bold;
}

.biz_pdf_tit {
	color: #015C67;
	text-align: center;
	margin-top: 20px;
	font-weight: bold;
	margin-bottom: -20px;
	
}

	@media only screen and (max-width:640px){
	.biz_14_bana {
		margin: 30px auto;
	}
	.biz_14_pdf {
		padding: 20px;

	}
	.space50 {
	  clear: both;
	  width: 100%;
	  height: 25px;	
	}
	.space30 {
	  width: 100%;
	  height: 15px;	
	}
		
}


/* 実績紹介
-------------------------------*/
#p_sp,#p_sh,#p_sw{
    font-family: "NotoSerifCJK";
    font-size: 29px;
    text-align: center;
    color: #fff;
    background-color: #2d2d2d;
    line-height: 2.0em;
    margin-bottom: 40px;
}
.ttlWork{
	font-family: "NotoSerifCJK";
	font-size:29px;
	line-height:1.4em;
	padding-bottom:5px;
	border-bottom:solid 1px #999;
	margin-bottom:30px;
}
.ttlWork_sub{
	font-family: "NotoSerifCJK";
	font-size:25px;
	line-height:1.4em;
	padding-bottom:5px;
	margin-bottom:15px;
    display: flex;
    align-items: center;
}
.ttlWork_sub span {
	color: #015c67;
	font-size: 14px;
	margin-right: 5px;
}
.listWork.bot_000 {
	margin-bottom: 0;
}

.listWork{
	width:100%;
	margin-bottom:100px;
}
.listWork:after{
	clear:both;
	display:block;
	content:"";
}
.listWork li{
	float:left;
	width:23%;
	margin-right:2.6%;
	margin-bottom:30px;
}
.listWork li:nth-child(4n){
	margin-right:0;
}
.txtWork{
	font-family: "NotoSerifCJK";
	font-size:29px;
	text-align: center;
	margin-bottom:130px;
}

	@media only screen and (max-width:640px){
        #p_sp,#p_sh,#p_sw{
            font-size: 20px;
            line-height: 1.8em;
            margin-bottom: 20px;
        }
		.ttlWork{
			font-size:20px;
			line-height:1.2em;
			margin-bottom:20px;
		}
		.ttlWork_sub{
			font-size:18px;
			line-height:1.2em;
			margin-bottom:6px;
		}
		.ttlWork_sub span {
			font-size: 10px;
		}		
		
		
		.listWork{
			margin-bottom:40px;
		}
		.listWork li{
			width:47%;
			margin:0 1.5%;
			margin-bottom:20px;
		}
		.listWork li:nth-child(4n){
			margin-right:1.5%;
		}
		.txtWork{
			font-size:16px;
			margin-bottom:40px;
		}
	}


/* 会社案内
-------------------------------*/
.gaiyou{
	width:100%;
}
.gaiyou tr{
	border-bottom:solid 1px #000;
}

.gaiyou th{
	width:15%;
	padding:30px 0 30px 15px;
	vertical-align:top;
}
.gaiyou td{
	width:85%;
	padding:30px 0 30px 15px;
}

.bg_gray{
	width:100%;
	background-color:#efefef;
	padding:100px 0 10px;
}
.bg_gray .lead{
	text-align:center;
	font-family: "NotoSerifCJK";
	margin:0 auto 50px;
}
.bg_gray .lead .ttl1{
	font-size:32px;
	line-height:1.4em;
}
.bg_gray .lead .ttl2{
	font-size:16px;
	line-height:1.2em;
	color:#015C67;
}
.img_ceo{
	width:33%;
	float:left;
}
.keireki{
	width:62%;
	float:right;
}
.keireki table{
	width:100%;
	margin-bottom:20px;
	background:url(../img/company/line_tate.png) 2.2% 20px no-repeat;
	background-size:auto 93%;
}
.keireki td{
	vertical-align:top;
	padding-top:10px;
	padding-bottom:10px;
}
.keireki td:nth-child(1){
	width:5%;
	text-align:center;
	color:#015C67;
}
.keireki td:nth-child(2){
	width:12%;
}
.keireki td:nth-child(3){
	width:83%;
}
.keireki .more{
	text-indent:-1em;
	margin-left:3em;
}
	@media only screen and (max-width:768px){
		.keireki table{background: none;}
		.img_ceo{
            display: none;
/*			width:100%;
			float: none;
			margin-bottom:20px;
			text-align:center;
*/
        }
		.keireki{
			width:100%;
			float: none;
		}
		.img_ceo img{
			width:50%;
			height:auto;
		}
		.keireki tr{border-bottom:solid 1px #999;}
		.keireki td{display:inline-block;}
		.keireki td:nth-child(1){
			width:1em;
			text-align: left;
			padding-bottom:0;
		}
		.keireki td:nth-child(2){
			width: auto;
			padding-bottom:0;
		}
		.keireki td:nth-child(3){
			width:100%;
			font-size:95%;
			line-height:1.3em;
			padding-top:5px;
		}
		.keireki .more{
			text-indent:-1em;
			margin-left:1em;
			font-size:90%;
			line-height:1.3em;
		}
	}
	@media only screen and (max-width:640px){
		.gaiyou th,
		.gaiyou td{
			display:inline-block;
			width:100%;
			padding:10px 3%;
			font-size:90%;
			line-height:1.5em;
		}
		.gaiyou th{
			padding-bottom:0;
			font-weight:bold;
		}
		.gaiyou td span{display:inline-block;}
		.bg_gray{
			padding:50px 0 10px;
		}
		.bg_white{
			padding:50px 0 10px;
		}


	}


/* お問い合わせ
-------------------------------*/
.mail .lead{
	text-align:center;
	margin-bottom:60px;
}
.mailform{
	width:100%;
	max-width:865px;
	margin:0 auto 80px;
}
.mailform dd{margin-bottom:35px;}
.length_l{
	width:100%;
	padding:10px;
	background-color:#dfdfdf;
	border:none;
}
.length_m{
	width:60%;
	padding:10px;
	background-color:#dfdfdf;
	border:none;
}
.length_s{
	width:30%;
	padding:10px;
	background-color:#dfdfdf;
	border:none;
}
.naiyou{
	width:100%;
	height:200px;
	padding:10px;
	background-color:#dfdfdf;
	border:none;
	resize:none;
}
.mailcheck{
	text-align:center;
	line-height:1.4em;
	margin-bottom:50px;
}
.mailbtn{text-align:center;}
.mailbtn .btn{
	width:270px;
	margin:auto;
	border:solid 1px #7F7F7F;
	border-radius: 0;
	  -webkit-box-sizing: content-box;
	  -webkit-appearance: button;

	background-color:#7f7f7f;
	color:#fff;
	text-align:center;
	font-size:20px;
	font-family: "NotoSerifCJK";
	padding:15px 0;
	transition:0.3s;
}
.mailbtn .btn:hover{
	background-color:#015C67;
	color:#fff;
}


	@media only screen and (max-width:640px){
		.mail .lead{
			text-align:left;
			margin-bottom:30px;
		}
		.mailform{margin-bottom:20px;}
		.mailform dd{margin-bottom:15px;}
		.length_m,
		.length_s{
			width:100%;
		}
	}








	@media only screen and (max-width:768px){
	}
	@media only screen and (max-width:640px){
	}


/* 追加　*/
.btn_b a:hover {
    background-color: #015C67;
    color: #fff;
}
.btn_b a {
    display: block;
    width: 270px;
    margin: auto;
        margin-top: auto;
    border: solid 1px #353535;
    border-radius: 0;
    background-color: #fff;
    color: #015C67;
    text-align: center;
    font-size: 20px;
    font-family: "NotoSerifCJK";
    padding: 15px 0;
    transition: 0.3s;
    margin-top: 40px;
}

 .btn_c a:hover {
    background-color: #015C67;
    color: #fff;
}
.btn_c a {
    display: block;
    margin: auto;
        margin-top: auto;
    border: solid 1px #353535;
    border-radius: 0;
    background-color: #fff;
    color: #015C67;
    text-align: center;
    font-size: 20px;
    font-family: "NotoSerifCJK";
    padding: 15px 0;
    transition: 0.3s;
    margin-top: 40px;
}

 .btn_d a:hover {
    background-color: #015C67;
    color: #fff;
}
.btn_d a {
    display: block;
	 width: 270px;
    margin: 20px auto;
    border: solid 1px #353535;
    border-radius: 0;
    background-color: #fff;
    color: #015C67;
    text-align: center;
    font-size: 20px;
    font-family: "NotoSerifCJK";
    padding: 15px 0;
    transition: 0.3s;
}

.btn_e a:hover {
    background-color: #015C67;
    color: #fff;
	border: solid 1px #fff;
}
.btn_e a {
    display: block;
    width: 270px;
    margin: auto;
        margin-top: auto;
    border: solid 1px #353535;
    border-radius: 0;
    background-color: #fff;
    color: #015C67;
    text-align: center;
    font-size: 20px;
    font-family: "NotoSerifCJK";
    padding: 15px 0;
    transition: 0.3s;
    margin-top: 20px;
}

 .btn_f a:hover {
    background-color: #015C67;
    color: #fff;
}
.btn_f a {
    display: block;
	 width: 400px;
    margin: 20px auto;
    border: solid 1px #353535;
    border-radius: 0;
    background-color: #fff;
    color: #015C67;
    text-align: center;
    font-size: 20px;
    font-family: "NotoSerifCJK";
    padding: 15px 0;
    transition: 0.3s;
}
 .btn_g a:hover {
    background-color: #015C67;
    color: #fff;
}
.btn_g a {
    display: block;
	 width: 270px;
    margin:auto;
	margin-left: 30px;
    border: solid 1px #353535;
    border-radius: 0;
    background-color: #fff;
    color: #015C67;
    text-align: center;
    font-size: 20px;
    font-family: "NotoSerifCJK";
    padding: 15px 0;
    transition: 0.3s;
}
@media only screen and (max-width:768px){
.btn_g a {
	margin-left: auto;
	}
	
}

.bg_white .lead {
    text-align: center;
    font-family: "NotoSerifCJK";
    margin: 0 auto 50px;
}

.bg_white{
	width:100%;
	padding:100px 0 10px;
}
.bg_white .lead{
	text-align:center;
	font-family: "NotoSerifCJK";
	margin:0 auto 50px;
}
.bg_white .lead .ttl1{
	font-size:32px;
	line-height:1.4em;
}
.bg_white .lead .ttl2{
	font-size:16px;
	line-height:1.2em;
	color:#015C67;
}

.top07_in {
    display: flex;
    justify-content: space-between;
    margin: auto;
}

.top07_in .box_l {
    width: 48%;
}
.top07_in .box_r {
    width: 48%;
	position: relative;
	padding-bottom: 3rem;
}
.top07_in .box_r span {
	font-weight: bold;
}

.top07_in .box_r .text-l {
	font-size: 20px;
}

.top07_in .box_r .img {
	width: 100%;
	margin: auto;
}

.img_ss{
	position: absolute;
	bottom: 14px;

}

.top03 li .txt_20 {
    font-size: 20px;
    line-height: 1.2em;
    margin: 20px 0 10px;
}
.top03 li .txt_21 {
    font-size: 21px;
    line-height: 1.2em;
    margin: 20px 0 10px;
}

.bg_gray_ef{
width: 100%;
background-color: #efefef;
padding: 100px 0;
}

.top04.backno {
    background: url("../img/top/bg_top04_kei_b.png") left top repeat-x;
}

.font_red {
	color: #c61a1a;
}
.font_blue {
	color: #195b91;
}
.txt_lesp {
	letter-spacing: -0.03em;
}



@media only screen and (max-width:1120px){
.top07_in {
    display: block;
    justify-content: center;
    margin: auto;
}
	
	
.top07_in .box_l {
    width: 100%;
	text-align: center;
}
.top07_in .box_r {
    width: 90%;
	position: none;
	padding-bottom: 0;
	margin: 20px  auto 0;
	
}	

.top07_in .box_r .text-l {
	font-size: 18px;
}
	
.img_ss{
	margin-top: 20px;
	position: initial;
	text-align: center;
	}
			
		
}
.wine {
	max-width: 440px;
	margin-left: 10%;
}


.wine span{
	color: #015c67;
	font-size: 11px;
	vertical-align: middle;
}

.wine .text_no1 {
	text-indent:-9em;
    padding-left:9em;
	font-weight: bold;
}
@media only screen and (max-width:768px){
.wine .text_no1 {
	text-indent:-7.5em;
    padding-left:7.5em;
}	
.wine {
	margin-left: 0;
}	
	
	
	}

.wine .text_no2{
	font-weight: bold;
}

.com_text_no {
	text-indent:-4em;
	padding-left:4em;	
}


/* 追加　20220106　*/
.patent {
	max-width: 1160px;
	margin: auto;
	background:url("../img/top/patent_back01.png") left top no-repeat;
	border: solid #000000 1px;
	height: 19.375rem;
}
.patent02 {
	max-width: 1160px;
	margin: 38px auto 0;
	background:url("../img/top/patent_back02.png") left top no-repeat;
	border: solid #000000 1px;
	height: 19.375rem;
}

.patent_textbox {
	width: 59%;
	text-align: center;
	margin-left: 41%;
	margin-top: 50px;
	
}

.patent_textbox p{
	font-family: "NotoSerifCJK";
	font-size: 32px;
	color: #015c67;
	margin-bottom: 25px;
	
}

.patent_textbox span{
	font-family: "NotoSerifCJK";
	font-size: 24px;
	line-height: 42px;
	
}
.patent_pdf a:hover {
    background-color: #6d6d6d;
    color: #fff;
}
.patent_pdf a {
    display: block;
    width: 90%;
	font-family: "NotoSerifCJK";
    max-width: 268px;
    margin: auto;
    border: solid 1px #353535;
    border-radius: 0;
    background-color: #353535;
    color: #fff;
    text-align: center;
    padding: 12px 0;
    transition: 0.3s;
    margin-top: 30px;
	font-size: 20px;
}

@media only screen and (max-width:974px){
.patent {
	width: 94%;
	background:url("../img/top/patent_back01.png") center top no-repeat;
	height: auto;
	margin-bottom: 30px;
}
.patent02 {
	width: 94%;
	background:url("../img/top/patent_back02.png") center top no-repeat;
	height: auto;
	margin-bottom: 30px;
}	
	
.patent_textbox {
	width: 100%;
	margin: 20px auto;	
}	

.patent_textbox p{
	font-size: 24px;
	margin-bottom: 15px;
}	

.patent_textbox span{
	font-size: 18px;
	line-height: 32px;
	
}	
	
	
}


@media screen and (min-width: 680px){   
  .pc_br { display:block; }
  .sp_br { display:none; }
}
@media screen and (max-width: 680px){   
  .pc_br { display:none; }
  .sp_br { display:block; }
}


/* 追加　20220630　*/
#news .lead {
    float: left;
    padding-left: 30px;
}
#news .btn a{
	display:block;
	width:135px;
	margin:auto;
	border:solid 1px #015C67;
	border-radius:0;
	/*background-color:#fff;*/
	color:#015C67;
	text-align:center;
	font-size:20px;
	font-family: "NotoSerifCJK";
	padding:10px 0;
	transition:0.3s;
	margin-top:60px;
}
#news .btn a:hover{
	background-color:#015C67;
	color:#fff;
}

.newslist {
    float: right;
    width: 78%;
}
#newswrap .newslist {
    float: none;
    width: 100%
}
.p_navi a,
.newslist a {
    color: #353535;
}
.p_navi a:hover,
.newslist a:hover {
    opacity: 0.7;
}
.p_navi span {
    color: #015C67;
}
.newslist ul li {
    min-height: 60px;
    border-bottom: 1px solid #bfbfbf;
    line-height: 20px;
    padding: 10px 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.newslist .up_ymd,
.newslist .title {
    display: inline-block;
    padding: 0 20px
}
.newslist .newMark {
    background-color: #c61a1a;
    color: #ffffff;
    font-size: 14px;
    padding: 0 10px;
}

#news-detail .title {
	font-size: 18px;
	font-weight: bold;
}
#news-detail .up_ymd {
	font-size: 14px;
	text-align: right;
	margin-bottom: 10px;
}
.backORcloseBtn a {
	display: block;
	width: 135px;
	margin: auto;
	  margin-top: auto;
	border: solid 1px #015C67;
	border-radius: 0;
	background-color: #fff;
	color: #015C67;
	text-align: center;
	font-size: 16px;
	font-family: "NotoSerifCJK";
	padding: 10px 0;
	transition: 0.3s;
	margin-top: 60px;
}
.backORcloseBtn a:hover {
	background-color: #015C67;
	color: #fff;
}



@media only screen and (max-width:925px){
    #news .lead {
        float: none;
        width: 100%;
        text-align: center;
        padding: 0;
        margin-bottom: 20px;
    }
    #news .btn a{margin-top:0px;}
    .newslist {
        float: none;
        width: 100%;
    }
}

@media only screen and (max-width:640px){
    #news .btn a{font-size:16px;}
    .newslist ul li {
        padding: 10px 0;
        position: relative;
    }
    .newslist .up_ymd,
    .newslist .title {
        width: 100%;
        padding: 5px 0;
    }
    .newslist .newMark {
        position: absolute;
        right:0;
        top: 15px;
    }

	#news-detail .title {
		font-size: 16px;
	}
	#news-detail .detail {
		font-size: 14px;
	}
	.backORcloseBtn a {
		font-size: 14px;
		margin-top: 40px;
	}

}

.pager {
    text-align: center;
    margin-top: 50px;
}
.pager a {
    color: #353535;
    margin: 0 3px;
    padding: 0 2px;
}
.pager a.current {
    font-weight: bold;
}


/*　追加 トップスライダー　*/

.slider_top_box {
	width: 100%;
	max-width: 855px;
	margin: auto;
}

.slider_top {
	width: 855px;
	margin: auto;
}

.slid_patent {
	max-width: 855px;
	margin: auto;
	background:url("../img/top/slid_patent_back01.png") left top no-repeat;
	border: solid #000000 1px;
	height: 247px;
}
.slid_patent02 {
	max-width: 855px;
	margin: 38px auto 0;
	background:url("../img/top/slid_patent_back02.png") left top no-repeat;
	border: solid #000000 1px;
	height: 247px;
}

.slid_patent_textbox {
	width: 59%;
	text-align: center;
	margin-left: 41%;
	margin-top: 40px;
	
}

.slid_patent_textbox p{
	font-family: "NotoSerifCJK";
	font-size: 24px;
	color: #015c67;
	margin-bottom: 20px;
	
}

.slid_patent_textbox span{
	font-family: "NotoSerifCJK";
	font-size: 18px;
	line-height: 42px;
	
}
.slid_patent_pdf a:hover {
    background-color: #6d6d6d;
    color: #fff;
}
.slid_patent_pdf a {
    display: block;
    width: 90%;
	font-family: "NotoSerifCJK";
    max-width: 198px;
    margin: auto;
    border: solid 1px #353535;
    border-radius: 0;
    background-color: #353535;
    color: #fff;
    text-align: center;
    padding: 6px 0;
    transition: 0.3s;
    margin-top: 10px;
	font-size: 18px;
}
.slid_patent_img {
	max-width: 855px;
	margin: 0 auto 10px;
	
}
.bx-wrapper .bx-pager {
	bottom: -50px;
}

/*
.bx-wrapper .bx-next {
	left: calc(50% + 436px);
	right: auto!important;
}
.bx-wrapper .bx-prev {
	right: calc(50% + 436px);
	left: auto!important;
}
*/
.bx-wrapper .bx-next {
  right: -70px;
	background: url("../img/common/next.png") no-repeat 0 0;
	
}
.bx-wrapper .bx-prev {
	left: -70px;
	background: url("../img/common/prev.png") no-repeat 0 0;
}
.bx-wrapper .bx-controls-direction a {
	width: 50px;
	height: 50px;
	margin-top: 0;
	top: 42%;
}
.bx-wrapper .bx-next:hover {
  background-position: 0 0;
}

@media only screen and (max-width:974px){
.slid_patent {
	width: 94%;
	background:url("../img/top/slid_patent_back01.png") center top no-repeat;
	height: auto;
	margin-bottom: 30px;
}
.slid_patent02 {
	width: 94%;
	background:url("../img/top/slid_patent_back02.png") center top no-repeat;
	height: auto;
	margin-bottom: 30px;
}	
	
.slid_patent_textbox {
	width: 100%;
	margin: 20px auto;	
}	

.slid_patent_textbox p{
	font-size: 20px;
	margin-bottom: 15px;
}	

.slid_patent_textbox span{
	font-size: 16px;
	line-height: 32px;
	
}	
	.slid_patent_img {
		width: 94%;
	}	
.bx-wrapper .bx-pager {
	bottom: -25px;
}
	
}

/* 追加　20231012 */


.bana {
	text-align: center;
	padding: 130px;
}
.bana a:hover img{
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}

.txt_lesp09 {
	letter-spacing: -0.09em;
}

@media only screen and (max-width:768px){
.txt_lesp09 {
	letter-spacing: -0.14em;
}
	.txt_lesp_sp {
		letter-spacing: -0.06em;
	}
	.txt_lesp_sp2 {
		letter-spacing: -0.1em;
	}
	.txt_lesp_sp3 {
		font-size: 23px;
		letter-spacing: -0.12em;
	}
}


.patent_box {
	border: solid #00a69a 1px;
	width: 100%;
	max-width: 565px;

	
}
.patent_box .title {
	display: inline-block;
	color: #FFFFFF;
	padding: 10px;
	text-align: center;
	background-color: #00a69a;
	width: 100%;
	margin: auto;
	font-weight: bold;
	font-size: 18px;
}
.patent_box .inner {
	/*height: 350px;*/
	/*height: 480px;*/
	height: 590px;
	display: flex;
  /* 水平方向中央寄せ */
	justify-content: center;
  /* 垂直方向中央寄せ */
	align-items: center;
}

.top03 .txtbotm {
	text-align: center;
 	font-family: "NotoSerifCJK";
	font-size: 20px;
}
.txt_r3 {
	padding-right: 3%;
}



@media only screen and (max-width:768px){
	
	.box_r .box_link {
		margin: auto;
	}
	.patent_box {
		margin: auto;
	}
	.patent_box .inner {
		height: auto;
		padding: 20px;
	}
	.top03 .txtbotm {
		font-size: 18px;
	}
	
	.bx-wrapper .bx-prev {
		background: none;
		left: 0;
	}	
	.bx-wrapper .bx-next {
		background: none;
		right: 0;
	}
	
}

.bg_gray_b{
	width:100%;
	background-color:#efefef;
	padding:100px 0;
}

.usp{
	text-align: center;
	width: 100%;
	max-width: 1217px;
	margin: auto;
}
.subsidy{
	text-align: center;
	width: 100%;
	max-width: 1217px;
	margin: auto;

}
.subsidy img{
	transition-property: opacity;
	transition-duration: 0.5s;
}
.subsidy img:hover {
  opacity: 0.7; 
}

.subsidy_txtbox {
	display: flex;
	justify-content: space-between;
	width: 94%;
	margin: 60px auto 0;
	flex-wrap: wrap;
}
.subsidy_txtbox .txt {
	padding-top: 20px;
}
.subsidy_txtbox .btn a{
	display:block;
	width:270px;
	margin:auto;
	border:solid 1px #353535;
	border-radius:0;
	background-color:#fff;
	color:#015C67;
	text-align:center;
	font-size:20px;
	font-family: "NotoSerifCJK";
	padding:15px 0;
	transition:0.3s;
}
.subsidy_txtbox .btn a:hover{
	background-color:#015C67;
	color:#fff;
}


@media only screen and (max-width:768px){
	.subsidy_txtbox {
		margin: 20px auto;
		width: 100%;
	}
	.subsidy_txtbox .txt {
		padding-top: 0;
		margin-bottom: 20px;
	}
	.subsidy_txtbox .item{
		margin: auto;
	}
	
}

