@charset "UTF-8";
/* ------------------------------
BASE
------------------------------ */
html{
	scroll-behavior:smooth;
}
body{
	margin:0;
	padding:0;
	font-size:100%;
	font-family:  Meiryo,"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, sans-serif;
	font-weight: 500;
	color:#333;
	background:#fff ;
	text-align:center;
}
.sans-serif{
	font-family:'Helvetica Neue','Arial';
}
div ,p ,h1 ,h2 ,h3 ,h4 ,h5 ,h6 ,form ,li ,ul ,ol ,dl ,dd ,dt ,table {
	margin: 0;
	padding: 0;
}
h1 ,h2 ,h3 ,h4 ,h5 ,h6{
	font-weight: normal;
}
.clear{
	clear:both;
}
/* Micro clearfix */
.clearfix { zoom: 1; }
.clearfix:before,
.clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }

.wrap { zoom: 1; }
.wrap:before,
.wrap:after { content: ""; display: table; }
.wrap:after { clear: both; }

blockquote { zoom: 1; }
blockquote:before,
blockquote:after { content: ""; display: table; }
blockquote:after { clear: both; }

.post { zoom: 1; }
.post:before,
.post:after { content: ""; display: table; }
.post:after { clear: both; }

/* サイズ調整用 */
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

/* --------------------------------------------------------- 汎用 */
.hid{
	display:none;
}
p{
	line-height:1.8;
}
.red{
	color:#FF3300;
}
/* レスポンシブ表示調整 */
.sp{
	display: none;
}
.tablet{
	display: block;
}
/* エラーメッセージ */
.error{
	color:#FF3300;
	margin:1em 0px 1.5em 45px;
	line-height: 1.3;
}
.error li{
	margin:0.5em 0;
	font-weight: bold;
}
/* メインカラー（水色）のテキスト */
.blue_text{
	color: #29A5FF;
}

/* フォントサイズ調整用 */
.font12{ font-size:75%;}
.font13{ font-size:81.3%;}
.font14{ font-size:87.5%;}
.font15{ font-size:93.8%;}
.font16{ font-size:100%;}
.font17{ font-size:106.3%;}
.font18{ font-size:112.5%;}
.font19{ font-size:118.8%;}
.font20{ font-size:125%;}
.font21{ font-size:131.3%;}
.font22{ font-size:137.5%;}
.font23{ font-size:143.8%;}
.font24{ font-size:150%;}
.font25{ font-size:156.3%;}
.font26{ font-size:162.5%;}
.font27{ font-size:168.8%;}
.font28{ font-size:175%;}
.font30{ font-size:187.5%;}
.font32{ font-size:200%;}
.font37{ font-size:231.2%;}
.font48{ font-size:300%;}
.font50{ font-size:312.6%;}
.font60{ font-size:375%;}

/* margin・padding調整用 */
.mt0  {margin-top: 0px !important;}
.mt5  {margin-top: 5px !important;}
.mt10 {margin-top:10px !important;}
.mt15 {margin-top:15px !important;}
.mt20 {margin-top:20px !important;}
.mt25 {margin-top:25px !important;}
.mt30 {margin-top:30px !important;}
.mt35 {margin-top:35px !important;}
.mt40 {margin-top:40px !important;}
.mt45 {margin-top:45px !important;}
.mt50 {margin-top:50px !important;}
.mb0  {margin-bottom: 0px !important;}
.mb5  {margin-bottom: 5px !important;}
.mb10 {margin-bottom:10px !important;}
.mb15 {margin-bottom:15px !important;}
.mb20 {margin-bottom:20px !important;}
.mb25 {margin-bottom:25px !important;}
.mb30 {margin-bottom:30px !important;}
.mb35 {margin-bottom:35px !important;}
.mb36 {margin-bottom:36px !important;}
.mb40 {margin-bottom:40px !important;}
.mb45 {margin-bottom:45px !important;}
.mb50 {margin-bottom:50px !important;}
.mb100 {margin-bottom:100px !important;}
.ml0   {margin-left:  0px !important;}
.ml10  {margin-left: 10px !important;}
.ml15  {margin-left: 15px !important;}
.ml20  {margin-left: 20px !important;}
.ml30  {margin-left: 30px !important;}
.ml40  {margin-left: 45px !important;}
.ml45  {margin-left: 45px !important;}
.mr0   {margin-right:  0px !important;}
.mr10  {margin-right: 10px !important;}
.mr15  {margin-right: 15px !important;}
.mr20  {margin-right: 20px !important;}
.mr30  {margin-right: 30px !important;}
.mr40  {margin-right: 40px !important;}
.pt0  {padding-top: 0px !important;}
.pt5  {padding-top: 5px !important;}
.pt10 {padding-top:10px !important;}
.pt15 {padding-top:15px !important;}
.pt20 {padding-top:20px !important;}
.pt25 {padding-top:25px !important;}
.pt30 {padding-top:30px !important;}
.pt35 {padding-top:35px !important;}
.pt40 {padding-top:40px !important;}
.pt45 {padding-top:45px !important;}
.pt50 {padding-top:50px !important;}
.pt100 {padding-top:100px !important;}
.pb0  {padding-bottom: 0px !important;}
.pb5  {padding-bottom: 5px !important;}
.pb10 {padding-bottom:10px !important;}
.pb15 {padding-bottom:15px !important;}
.pb20 {padding-bottom:20px !important;}
.pb25 {padding-bottom:25px !important;}
.pb30 {padding-bottom:30px !important;}
.pb35 {padding-bottom:35px !important;}
.pb40 {padding-bottom:40px !important;}
.pb45 {padding-bottom:45px !important;}
.pb50 {padding-bottom:50px !important;}

/* --------------------------------------------------------- リンクの基本色 */
a:link { text-decoration:none; color:#000;}
a:visited { text-decoration:none; color:#000; }
a:active { text-decoration:none; color:#29A5FF; }
a:hover { text-decoration:none; color:#29A5FF;}

/* --------------------------------------------------------- 画像共通 */
img{
	vertical-align:top;
	max-width: 100%;
	transition: opacity 0.3s ease 0.2s;
}
a:hover img{
	opacity:0.7;
}
img.alignright{
	float:right;
	margin:0px 0px 5px 10px;
}
img.alignleft{
	float:left;
	margin:0px 10px 5px 0px;
}
img.aligncenter{
	float: none;
	margin: 0 auto;
	display: block;
}

/* --------------------------------------------------------- google map */
.googlemap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	border:solid 1px #d7d7d7;
}

.googlemap iframe,
.googlemap object,
.googlemap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* --------------------------------------------------------- 枠組み共通 */
.wrap{
	position: relative;
	max-width:1140px;
	margin:0 auto;
}
.wrap2{
	position: relative;
	padding:0 55px;
}
/* 汎用白枠*/ 
.section-white{
	position: relative;
	max-width:1140px;
	margin:0 auto;
	padding:40px 40px 40px;
	background-color: rgba(255,255,255,0.8);
}

/* --------------------------------------------------------- header */
#header{
	position: relative;
	color: #fff;
	background-color: #fff;
	width: 100%;
	height:110px;
	display: flex;
	z-index:9999;
}
.header-left{
	margin-left:3%;
	flex-basis: auto;
	display: flex;
	align-items: center;
}
.header-center{
	flex-basis: auto;
	flex-grow: 2;
	display: flex;
	justify-content: flex-end;
	text-align: right;
	position: relative;
}
.header-center .lang {
	position: absolute;
	right: 0;
	top: 10px;
	font-size: 12px;
}

.header-right{
	margin-left: auto;
	flex-basis: 240px;
}
#font-size{
	display: table;
	table-layout: fixed;
	width:100%;
}
#font-size div.normal{
	color:#000;
	padding:10px;
	font-size:12px;
	display: table-cell;
	width:50%;
}
#font-size div.medium,
#font-size div.large {
	color:#000;
	padding:10px;
	cursor:pointer;
	width:60px;
	font-size:13px;
	display: table-cell;
}
#font-size div.active{
	background-color:#d9efff;
}

/* --------------------------- 資料請求ボタン */
.header-contact a{
	width:240px;
	max-height: 75px;
	color:#fff;
	display: block;
	padding-left:60px;
	padding-top:30px;
	padding-bottom:30px;
	font-size:15px;
	font-weight:bold;
	background:#29a5ff url('../img/cmn_icon_headcontact.png') 15% 50% no-repeat;
}
.header-contact a:hover{
	background:#217aba url('../img/cmn_icon_headcontact.png') 15% 50% no-repeat;
}

.second-contact{
	margin:30px auto;
	padding:20px;
	background:#fff;
	text-align: center;
	border:2px solid #29A5FF;
}
.second-contact a{
	max-width:540px;
	text-align: center;
	width:50%;
	color:#fff;
	display: inline-block;
	padding-left:60px;
	padding-top:25px;
	padding-bottom:20px;
	background:#29a5ff url('../img/cmn_icon_headcontact.png') 30% 50% no-repeat;
	border-bottom:5px solid #238EDB;
}
.second-contact a:hover{
	background:#238EDB url('../img/cmn_icon_headcontact.png') 30% 50% no-repeat;
	border-bottom:5px solid #2B6E9E
}

/* --------------------------- global navigation */
.menu {
	padding-right:15px;
	z-index:999;
	height:100%;
}
.menu > li{
	font-size: 14px;
}
.menu .submenu{
	font-size: 16px;
}
.menu > li {
	display: inline-block;
	padding-top: 64px;
	/*	position:relative; */
	list-style: none;
	height:100%;
}
.menu > li a {
	display: block;
	padding-right: calc(100vw / 100);
	padding-left: calc(100vw / 100);
	color: #333;
}
.menu > li a:hover {
	color: #29A5FF;
}
.menu > li:hover{
	border-bottom:6px solid #29A5FF;
}

.init-bottom:after{
	content:url('../img/cmn_icon_sort.png');
	margin-left:5px;
}
.menu li.current{
	border-bottom:6px solid #29A5FF;
}
.submenu{
	background: #FAFAFA;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	width: 100vw;
	position: absolute;
	top: 110px;
	left: 0;
	transition: all .2s ease-in;
	z-index: 999;
	text-align: left;
}
.menu > li:hover .submenu{
	max-height: 9999px;
	opacity: 1;
	padding:40px 0;
	color:#333;
	box-shadow: 0px 3px 3px -3px #333;
}
.submenu .morelink p{
	margin-left:0;
}
.submenu .morelink p a{
	border:none;
}
.submenu .morelink p a:hover{
	border:none;
}

.submenu .wrap > div.morelink p a{
	padding:0;
}
.submenu ul{
	margin-top:10px;
	list-style: none;
}
.submenu li a{
	display: inline-block!important;
	position: relative;
	margin-bottom:1em;
}
.submenu li a:hover{
	color:#333!important;
	text-decoration: underline;
}
.submenu li a:before{
	position: absolute;
	top:0.3em;
	right:-5px;
	margin: auto;
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.submenu .fx-col-33-xs{
	border-right:1px solid #ddd;
	padding-left:40px;
}
.submenu .fx-col-33-xs:first-child{
	padding-left:0px;
}
.submenu .fx-col-33-xs:last-child{
	border:none;
}
.submenu .fx-col-64-xs{
	padding-left:40px;
}

/* --------------------------------------------------------- fixedNav */
#fixedNav{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 65px;
	background-color: rgba(255, 255, 255, 0.85);
	color: #000;
	text-align: left;
	z-index: 10000;
	transition: .8s;
	transform: translateY(-100%);
	display: flex;
}
#fixedNav.fixed {
	transform: translateY(0);
}
#fixedNav .footer-left{
	margin-left:0;
	flex-basis:15%;
	display: flex;
	align-items: center;
	max-width:200px;
}
#fixedNav .footer-center{
	flex-basis: auto;
	flex-grow: 2;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	text-align: right;
}
#fixedNav .footer-right{
	margin-left: auto;
	flex-basis: 240px;
}

#fixedNav .menu > li {
	padding-top: 25px;
}

#fixedNav .submenu{
	top: 65px;
}

#fixedNav .header-contact a{
	width:240px;
	height:65px;
	color:#fff;
	display: block;
	padding-left:80px;
	padding-top:25px;
	vertical-align: middle;
	background:#29a5ff url('../img/cmn_icon_headcontact.png') 15% 50% no-repeat;
}
#fixedNav .header-contact a:hover{
	background:#217aba url('../img/cmn_icon_headcontact.png') 15% 50% no-repeat;
}

/* --------------------------------------------------------- mainvis */
.mainvis{
	position: relative;
	z-index: 1;
	height:470px;
	background-size:cover;
	letter-spacing: 0.1em;
	width:100%;
	overflow: hidden;
}
.error404 .mainvis,
.archive .mainvis,
.page .mainvis{
	background:url(../img/profile_mainvis.png) 50% top no-repeat;/* 各ページのcssで指定 */
	background-size:cover;
}
.mainvis .badge{
	position: absolute;
	top:5%;
	right: 5%;
}
.mainvis-inner{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	color:#fff;
	width:95%;
}
.mainvis-label{
	border:1px solid #fff;
	margin-bottom:20px;
	padding:0.1em 0.5em;
	display: inline-block;
	letter-spacing: 0.1em;
}
.mainvis-subcopy{
	letter-spacing: 0.1em;
}
.mainvis h2{
	letter-spacing: 0.1em;
}
.mainvis .icon{
	margin:25px auto 20px auto;
}


/* --------------------------------------------------------- mainvis-large */
.mainvis-large{
	position: relative;
	z-index: 1;
	height: 637px;
	letter-spacing: 0.1em;

	display: table;
	width: 100%;
}
.mainvis-large .mainvis-title{
	display: table-cell;
	width: 50%;
	padding-left:7%;
	vertical-align: middle;
	color:#fff;
	text-align:left;
}
.mainvis-large .mainvis-white-board{
	position: absolute;
	top: 22%;
	right: 0%;
	width: 49.7%;
	min-height: 56%;

	padding: 75px 10% 50px 60px;

	color:#000000;
	text-align:left;
	background-color: rgba(255, 255, 255, 0.9);
}

.mainvis-large .mainvis-white-board h3{
	margin: 0 0 25px 0;
	line-height: 1.3;
}

/* --------------------------------------------------------- contents */
#main{
	clear:both;
	text-align: left;
}

/* ---------------------------カテゴリラベル（トップ＋階層共通） */
.newslist span.cat{
	text-align: center;
	background:#eee;
	padding:5px;
	font-weight:bold;
	font-size:75%;
	margin-right:1em;
	margin-right: auto;
	width:120px;
}
/* お知らせ */
.newslist span.cat-news{
	background:#29A5FF;
	color:#fff;
}
/* IR */
.newslist span.cat-ir{
	background:#0d3875;
	color:#fff;
}
/* メディア掲載 */
.newslist span.cat-media{
	background:#00CC5E;
	color:#fff;
}
/* イベント開催 */
.newslist span.cat-event{
	background:#00AFC6;
	color:#fff;
}

/* --------------------------- サービスリンク（トップ＋階層共通） */
.top-section03{
	/*background:url('../img/top_bg03_section03.jpg') no-repeat;
	background-size: cover;*/
	background:#fafafa;
	padding:40px 0;
}
.top-section03 h3{
	text-align: center;
}
.top-section03 p{
	margin:20px auto 30px;
}
.circle-item01{
	background-image:url('../img/cmn_icon_industry01.png')!important;
	background-repeat: no-repeat!important;
	background-position: center 40%!important;
}
a:hover.circle-item01{
	background-image:url('../img/cmn_icon_industry01_blue.png')!important;
}
.circle-item02{
	background-image:url('../img/cmn_icon_industry02.png')!important;
	background-repeat: no-repeat!important;
	background-position: center 40%!important;
}
a:hover.circle-item02{
	background-image:url('../img/cmn_icon_industry02_blue.png')!important;
}
.circle-item03{
	background-image:url('../img/cmn_icon_industry03.png')!important;
	background-repeat: no-repeat!important;
	background-position: center 40%!important;
}
a:hover.circle-item03{
	background-image:url('../img/cmn_icon_industry03_blue.png')!important;
}
.circle-item04{
	background-image:url('../img/cmn_icon_industry04.png')!important;
	background-repeat: no-repeat!important;
	background-position: center 40%!important;
}
a:hover.circle-item04{
	background-image:url('../img/cmn_icon_industry04_blue.png')!important;
}
.hi-icon-wrap{
	margin-bottom:20px;
}
.hi-icon-effect-1 .hi-icon {
	width: 210px;
	height: 210px;
	vertical-align: middle;
	z-index:999;
}
.hi-icon-effect-1 .hi-icon:last-child {
	margin-right:0;
}
.hi-icon span{
	margin-top:120px;
	display: block;
	font-size:18px;
	font-weight:bold;
}
a:hover.hi-icon {
	color:#29A5FF!important;
	transform: scale(1.1);
}
.step{
	position: relative;
	z-index:1;
	margin-left:-40px;
	width:100px;
}
.step:before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 6px;
	margin-left:30px;
	border: solid #29a5ff;
	border-width: 1px 0 0 0;
	transform: rotate(45deg);
}
.step:after{
	position: absolute;
	content: '';
	top: 16px;
	left: 0px;
	width: 50px;
	height: 1px;
	z-index:2;
	background: #29a5ff;
}
.four-link{
	margin-bottom:40px;
}


/* --------------------------- pankuzu */
.breadcrumb{
	margin-top:30px;
	text-align: left;
}
.breadcrumb li{
	list-style: none;
	display: inline;
	margin-right:1em;
}
.breadcrumb li a{
	color:#333;
	/*border-bottom:1px solid #333;*/
	text-decoration: underline;
}
.breadcrumb li a:hover{
	color:#29a5ff;
	/*border-bottom:1px solid #29a5ff;*/
}
.breadcrumb li.current a{
	border:none;
}
.breadcrumb li:after{
	content:'→';
	padding-left:1em;
}
.breadcrumb li:last-child:after{
	content:' ';
}

/* --------------------------- service-special-section */
.service-special-section{
	padding:50px 0;
	background:#F2F2F2;
	width: 100%;
}
.service-special-section h3{
	text-align: center;
	font-weight:bold;
	color:#333333;
	line-height: 1.4;
	margin-bottom:50px;
}
.service-special-section h3 span{
	padding-bottom:8px;
	border-bottom:1px solid #333;
}
.service-special-section .flexbox{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.service-special-section .item{
	width: 23%;
	background:#fff;
	border:1px solid #E6E6E6;
	margin:0 10px 20px 10px;
	padding:50px 20px 50px;
}
.service-special-section i{
	display: block;
	text-align:center;
	min-height:50px;
}
.service-special-section h4{
	text-align: center;
	margin:20px auto;
	font-weight: bold;
	line-height:1.6;
	min-height:60px;
}


/* --------------------------- service-customer-section*/
.service-customer-section{
	padding:40px 0;
	border-bottom:1px solid #ccc;
}

.service-customer-section .section-voice{
	background:url(../img/farmstory_pics06.jpg) center 50% no-repeat;
	background-size: cover;
}
.service-customer-section .voicenote{
	width:40%;
	padding:40px;
	background-color: rgba(255,255,255,0.8);
}
.service-customer-section h4{
	font-weight:bold;
	margin-bottom:1em;
}
.service-customer-section .leadtext{
	font-weight:bold;
	margin-bottom:1em;
}
.service-customer-section strong{
	font-weight: normal;
}

/* --------------------------- service-faq-section*/
.service-faq-section{
	padding:40px 0;
}
.service-faq-section h3{
	text-align: center;
	font-weight:bold;
	color:#333333;
	line-height: 1.4;
	margin-bottom:50px;
}
.service-faq-section h3 span{
	padding-bottom:8px;
	border-bottom:1px solid #333;
}
.service-faq-section .detailList {
	margin-bottom:1em;
}
.service-faq-section .detailList dt{
	padding:25px 15px 25px 100px;
	font-weight: bold;
	margin-bottom:2px;
	cursor: pointer;
	background:#EDEDED url(../img/farmstory_icon_faq.png) 3% 50% no-repeat;
}
.service-faq-section img{
	vertical-align: middle;
	margin-right:0.5em;
}
.service-faq-section .detailList dd{
	padding:15px 30px;
	line-height:1.6;
	margin-bottom:2em;
	display: none;
}

/* --------------------------- service-lineup-section*/
.service-lineup-section{
	padding:60px 0;
	background:#F2F2F2;
}
.service-lineup-section h3{
	text-align: center;
	font-weight:bold;
	color:#333333;
	line-height: 1.4;
	margin-bottom:50px;
}
.service-lineup-section h3 span{
	padding-bottom: 5px;
	border-bottom:1px solid #333;
}
.service-lineup-section table{
	width:100%;
	padding:70px 40px;
	background:#fff;
	border-spacing:0px;
}
.service-lineup-section table thead .c0{
	color:#9A9A9A;
	font-weight:normal;
	width:40%;
}
.service-lineup-section table thead .c1,
.service-lineup-section table thead .c2,
.service-lineup-section table thead .c3{
	text-align: center;
	width:20%;
	padding:15px;
	line-height:2.0;
}
.service-lineup-section table tbody th,
.service-lineup-section table tbody td{
	padding:50px 20px;
	border-top:1px solid #ddd;
	vertical-align: middle;
}
.service-lineup-section table tbody th .gray{
	color:#9A9A9A;
	font-weight:normal;
	line-height:1.4;
}
.service-lineup-section table tbody td{
	text-align: center;
}
.service-lineup-section table tbody td.yes{
	font-size:500%;
	font-weight:bold;
	color:#29A5FF;
}


/* --------------------------- footer お問い合わせ */
.footer-contact{
	clear:both;
	padding: 30px 0 30px 0;
	background: #fafafa;
}
.footer-contact h3{
	margin-bottom: 25px;
}
.footer-contact .blue-btn{
	margin-top:20px;
}
.footer-contact span.small{
	font-size: 16px;
}


/* --------------------------- footer */
.footer{
	background: #000 url('../img/cmn_bg_footer.jpg') no-repeat;
	background-size: cover;
	color: #fff;
	padding:50px 0;
}
.footer a:link { text-decoration:none; color:#fff; }
.footer a:visited { text-decoration:none; color:#fff; }
.footer a:active { text-decoration:none; color:#aaa; }
.footer a:hover { text-decoration:none; color:#aaa;}

.footer .companyinfo{

}
.footer .flogo{
	margin:5px 0 10px 0;
}
.footer .fnav{
	margin-top:20px;
}
.footer .fnav ul{
	margin-bottom: 1.5em;
}
.footer div.fx-row > div > ul:last-of-type{
	margin-bottom: 0em;
}
.footer	ul li ul{
	margin-top:0.8em;
	margin-bottom: 0;
	margin-left:1em;
}
.footer ul li{
	list-style: none;
	margin-bottom:0.8em;
	font-size:81.3%;
}
.footer ul li ul li{
	list-style: none;
	margin-bottom:0.8em;
	font-size:100%;
}
.fcontact{
	margin-bottom:1em;
}
.pmark{
	position: absolute;
	top     : 130px;
	width   : 80px;
} 
/* -------------------- copyright */
address{
	display: block;
	font-size: 62.5%;
	margin-top:50px;
	text-align: center;
	font-style:normal;
}

/* -------------------- バナー */
.bnrarea{
	margin:15px 0 10px;
	background:#fff;
	display: flex;
}
.bnrarea li{
	display: inline-flex;
	margin-bottom:5px;
	margin-right:25px;
	margin-left:25px;
	list-style: none;
}
.bnrarea .wrap{
	text-align:center;
}


/* -------------------- よく使うリンク用 */
.morelink p{
	display: inline-block;
	margin-left:2em;
	margin-bottom:1em;
}
.morelink p a{
	border-bottom:1px solid #000;
	padding-bottom:5px;
	color:#333;
	font-weight:bold;
	text-decoration:none;
}
.morelink p a:hover{
	border-bottom:1px solid #29A5FF;
	padding-bottom:5px;
	color:#29A5FF;
}
.morelink p a:after{
	content:'→';
	padding-left:1em;
}

.morelink-blue p{
	display: inline-block;
	margin-left:2em;
	margin-bottom:1em;
}
.morelink-blue p a{
	padding-bottom:5px;
	color:#29A5FF;
}
.morelink-blue p a:hover{
	padding-bottom:5px;
	color:#333;
}
.morelink-blue p a:after{
	content:'→';
	padding-left:1em;
}

.backlink p{
	display: inline-block;
	margin-bottom:1em;
}
.backlink p a{
	border-bottom:1px solid #000;
	padding-bottom:5px;
	color:#333;
	font-weight:bold;
}
.backlink p a:hover{
	border-bottom:1px solid #29A5FF;
	padding-bottom:5px;
	color:#29A5FF;
}
.backlink p a:before{
	content:'←';
}


/* -------------------- ボタンリンク用 */

/* 白透過ボタン */
.btn-opacity{
	margin-top:30px;
	border:1px solid #fff;
	display: inline-block;
}
.btn-opacity a{
	background-color: rgba(255,255,255,0.35);
	color:#fff;
	display:block;
	padding:15px 80px;
	font-weight:bold;
}
.btn-opacity a:hover{
	background-color: rgba(0,0,0,0.2);
	opacity: 1;
}
a.icon-arrow01{
	position: relative;
	display: inline-block;
	font-weight:bold;
}
a.icon-arrow01::before{
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 1em;
	margin-top: -4px;
}

/* 青枠リンクボタン */
.item-btn a{
	display: block;
	background:#fff;
	padding:20px 10px;
	border:1px solid #29a5ff;
	border-radius: 3px;
	position: relative;
}
.item-btn a:hover{
	border:3px solid #29a5ff;
	border-radius: 3px;
	box-shadow: 0px 1px 5px #eee;
	padding-top:19px;
	padding-right:9px;
	padding-left:9px;
	padding-bottom:19px;
	margin-bottom:-2px;
	box-shadow: 0 2px 3px 3px #ddd;
}
.item-btn a::before{
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #29a5ff;
	border-right: solid 2px #29a5ff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 1em;
	margin-top: -4px;
}
.item-btn span{
	font-size:87.5%;
	line-height:1.6;
}
.item-btn strong{
	font-size:112.5%;
	margin-top:8px;
	display: block;
}

/* 青背景リンクボタン */
.blue-btn{
	margin-top:30px;
	display: inline-block;
}
.blue-btn a{
	background-color: #29A5FF;
	border:1px solid #29A5FF;
	color:#fff;
	display:block;
	padding:15px 80px;
}
.blue-btn a:hover{
	background-color: #217aba;
}
.blue-btn a.icon-arrow01:hover:before{
	border-top: solid 2px #29A5FF;
	border-right: solid 2px #29A5FF;
}

/* 青背景リンクボタン（丸い形） */
.round-blue-btn{
	margin:15px 0;
	display: inline-block;
}
.round-blue-btn a{
	background-color: #29A5FF;
	color:#fff;
	display:block;
	padding:8px 20px;
	border-radius: 19px;
	font-weight:bold;
}
.round-blue-btn a:hover{
	background-color: #fff;
	color:#29A5FF;
}

/* 青背景リンクボタン（小さめ） */
.blue-btn-small{
	display: inline-block;
}
.blue-btn-small a{
	background-color: #29A5FF;
	border:1px solid #29A5FF;
	color:#fff;
	display:block;
	padding:8px 30px 8px 8px;
}
.blue-btn-small a:hover{
	background-color: #217aba;
}
.blue-btn-small a.icon-arrow01:hover:before{
	border-top: solid 2px #29A5FF;
	border-right: solid 2px #29A5FF;
}

/* -------------------- 矢印用用 */
.arrow-right{
	position: relative;
	width: 100px;
	height: 15px;
}
.arrow-right:before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 7px;
	margin-left:84px;
	border: solid #999;
	border-width: 1px 0 0 0;
	transform: rotate(45deg);
}

.arrow-right:after{
	position: absolute;
	content: '';
	top: 16px;
	left: 0px;
	width: 100px;
	height: 1px;
	background: #999;
}

/* -------------------- ハンバーガーメニュー */
.menu-btn,
.overlay {
	display: none;
}

/* -------------------- 404 */
.error404-section{
	padding:50px 0;
}
.error404-section h3{
	margin-bottom:1em;
}
.error404-section p{
	margin-bottom:1em;
}
/* -------------------- 追加分 */
.box-filter-select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
    background: url(../img/servise_icon_tri_under.png) no-repeat 95% 50%;
    padding: 10px 20px;
    font-size: 18px;
    cursor: pointer;
    border: solid 1px;
    border-radius: 5px;
}
/* ---------------------------------------------------------------------------- 

▼▼▼ グロナビフォント レスポンシブ調整 css ▼▼▼

---------------------------------------------------------------------------- */
.width1140{
	display: inline-block;
}
.width1024{
	display: none;
}

@media only screen and (max-width: 1340px) {
	.menu > li a {
		padding-right: calc(100vw / 200);
		padding-left: calc(100vw / 200);
	}
}
@media only screen and (max-width: 1240px) {
	.menu > li{
		font-size: 13px;
	}
	.menu > li a {
		padding-right: calc(100vw / 300);
		padding-left: calc(100vw / 300);
	}
}
@media only screen and (max-width: 1240px) {
	.menu > li a {
		padding-right: calc(100vw / 400);
		padding-left: calc(100vw / 400);
	}
}
@media only screen and (max-width: 1140px) {
	.menu > li{
		font-size: 13px;
	}

	.menu > li a {
		display: block;
		padding-right:calc(100vw / 500);
		padding-left:calc(100vw / 500);
		color: #333;
	}
}
@media only screen and (max-width: 1024px) {
	.menu > li{
		font-size: 11px;
	}
	.menu > li a {
		padding-right: 2px;
		padding-left: 2px;
	}
}


/* ---------------------------------------------------------------------------- 

▼▼▼ ウィンドウサイズ1380px以下にのみ適用されるcss ▼▼▼

---------------------------------------------------------------------------- */
@media only screen and (max-width: 1380px) {
	/* --------------------------------------------------------- header */
	.header-left{
		width: 13%;
	}
	.mainvis-large .mainvis-white-board{
		width: 55%;
		padding: 5% 3% 3% 3%;
	}



}
/* ---------------------------------------------------------------------------- 

▼▼▼ ウィンドウサイズ1140px以下にのみ適用されるcss ▼▼▼

---------------------------------------------------------------------------- */
@media only screen and (max-width: 1140px) {
	/* --------------------------------------------------------- header */

	/* レスポンシブ表示調整 */
	.pc{
		display: none;
	}
	.tablet{
		display: block;
	}
	/* グローバルナビ追加▼  */
	.header-right{
		flex-basis: 120px;
	}
	#font-size{
		height:35px;
	}
	.header-contact a{
		width:100%;
		height:75px;
		padding:30px 0;
		font-size:12px;
		background:#29a5ff;
	}
	.header-right #font-size .width1140{
		display: none;
	}
	#font-size div.normal{
		width:33%;
	}
	#font-size div.normal,
	#font-size div.medium,
	#font-size div.large {
		padding-right:0px;
		padding-left:0px;
	}
	.header-contact a:hover{
		background:#217aba;
	}
	#fixedNav .footer-right{
		margin-left: auto;
		flex-basis: 120px;
	}
	#fixedNav .header-contact a{
		width:100%;
		height:65px;
		font-size:12px;
		padding-left:10px;
		padding-top:25px;
		vertical-align: middle;
		background:#29a5ff;
	}
	#fixedNav .header-contact a:hover{
		background:#217aba;
	}
	/* ▲グローバルナビ追加  */
	.wrap{
		padding:0 3%;
	}
	.hi-icon-effect-1 .hi-icon {
		width: 110px;
		height: 110px;
		vertical-align: middle;
	}
	.three-link .fx-col-100-s,
	.four-link .fx-col-100-s{
		flex-basis: 100%!important;
		max-width: 100%;
	}
	.mainvis-large .mainvis-title{
		padding-left: 5%;
	}
	.mainvis-large h2{
		font-size: 38px;
	}
	.mainvis-large  .mainvis-title .font30{
		font-size: 20px;
	}
	.mainvis-large .mainvis-white-board{
		width: 55%;
		padding: 3%;
	}
	.mainvis-large .mainvis-white-board p{
		font-size: 16px;
	}
	.mainvis-large .mainvis-white-board .font30{
		line-height: 1.4;
	}
	.menu-btn,
	.overlay {
		display: none;
	}
	.second-contact a{
		background:#29a5ff url('../img/cmn_icon_headcontact.png') 20% 50% no-repeat;
	}
	.second-contact a:hover{
		background:#238EDB url('../img/cmn_icon_headcontact.png') 20% 50% no-repeat;
	}
	.service-special-section .flexbox{
		justify-content:space-around;
	}
	.service-special-section .item{
		margin:0 0 20px 0;
		width: 45%;
	}
	.service-customer-section .voicenote{
		width:70%;
	}
	.service-faq-section{
		padding:50px 3%;
	}

}

/* ---------------------------------------------------------------------------- 

▼▼▼ ウィンドウサイズ960px以下にのみ適用されるcss ▼▼▼ 

---------------------------------------------------------------------------- */
@media only screen and (max-width: 960px) {
	.header-left{
		margin-left:3%;
		width: auto;
		flex-basis: auto;
	}
	.header-center,
	.footer-center{
		align-items: center;
	}
	.header-center .menu,
	#fixedNav .menu{
		height:inherit;
	}
	.header-center .menu > li{
		padding: 0px;
		line-height:2;
		height:auto;
	}
	#fixedNav .menu > li{
		padding-top: 5px;
		padding-bottom:5px;
		line-height:1;
		height:auto;
	}
	.header-center .submenu li,
	#fixedNav .submenu li{
		line-height:1;
	}
	.menu > li{
		font-size: 13px;
	}
	.width1024{
		display: block;
	}
	#fixedNav .footer-left{
		flex-basis:auto;
	}
	#fixedNav .header-contact a{
		text-align: center;
		padding-left:0;
		padding-top:27px;
		vertical-align: middle;
		background:#29a5ff;
	}
	#fixedNav .header-contact a:hover{
		background:#217aba;
	}
}

/* ---------------------------------------------------------------------------- 

▼▼▼ ウィンドウサイズ768px以下にのみ適用されるcss ▼▼▼

---------------------------------------------------------------------------- */

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

	/* フォントサイズ調整用 */
	html{
		font-size:81.3%;
	}

	/* レスポンシブ表示調整 */
	.sp{
		display: block;
	}
	br.sp{
		display: inline;
	}
	.tablet{
		display: none;
	}
	.fullsize{
		margin-bottom:40px;
	}
	.wrap{
		padding:0 3%;
	}
	#header{
		padding:2% 0;
		height:50px;
		position: sticky;
		top:0;
	}
	#header .logo img{
		width:auto;
		height: auto;
		margin-top:4px;
		max-height:35px;
	}
	.header-center .lang {
		display: none;
	}
	.header-left{
		margin-left:3%;
		flex-basis: auto;
	}
	ul.menu{
		display:none;
	}
	#fixedNav .footer-left{
		flex-basis:auto;
	}

	.mainvis{
		margin-top:5px;
		height:30vh;
	}
	.mainvis h2{
		font-size: 28px;
	}
	.mainvis .font30{
		font-size: 16px;
	}
	.mainvis .font18{
		font-size: 11px;
	}
	.mainvis-label{
		margin-bottom:0.5em;
		font-size: 11px;
	}
	.mainvis-subcopy{
		font-size: 11px;
	}
	.mainvis .badge{
		right:3%;
		text-align: right;
	}
	.mainvis .badge img{
		width:50%;
		height:auto;
	}
	.mainvis .icon{
		width: 50px;
		height: auto;
		margin:10px auto;
	}
	.mainvis-large{
		margin-top:5px;
		height: 45vh;
		min-height:300px;
		padding-bottom: 3%;
	}
	.mainvis-large .mainvis-title{
		position: static;
		transform:none;
		display: block;
		width: 100%;
		padding:25px 3% 15px 3%;
	}
	.mainvis-large .mainvis-white-board{
		position: absolute;
		top: auto;
		bottom: 3%;
		left: 0%;
		width: 96%;
		min-height: 0;
		margin: 0 auto;
		padding: 3%;
		font-size: 12px;
	}
	.mainvis-large h2{
		font-size: 28px;
	}
	.mainvis-large .font30{
		font-size: 16px;
	}
	.mainvis-large .mainvis-white-board h3{
		margin-bottom: 5px;
	}
	.mainvis-large .mainvis-white-board p{
		font-size: 12px;
		line-height: 1.6;
		letter-spacing: 0.05em;
	}
	.mainvis-large .mainvis-white-board .font30{
		font-size: 16px;
		line-height: 1.3;
	}

	#main{
		padding-top:0px;
	}
	.hi-icon-effect-1 .hi-icon {
		width: 13vw;
		height: 13vw;
		vertical-align: middle;
		background-size: 30px auto;
	}
	.hi-icon span{
		margin-top:14vw;
		font-size:13px;
	}
	.step{
		width:50px;
	}
	.step:before {
		content: "";
		display: inline-block;
		width: 10px;
		height: 1px;
		margin-left:10px;
		border: solid #29a5ff;
		border-width: 1px 0 0 0;
		transform: rotate(45deg);
	}
	.step:after{
		position: absolute;
		content: '';
		top: 15px;
		left: 0px;
		width: 20px;
		height: 1px;
		background: #29a5ff;
	}

	.section-white{
		margin:0 3%;
		padding:20px 20px 20px;
		background-color: rgba(255,255,255,0.8);
	}

	/* -------------------- ハンバーガーメニュー */
	.menu-btn {
		position: absolute;
		top: 15%;
		right: 20px;
		z-index: 9999999;
		display: inline;
		font-size: 30px;
	}
	.menu-btn a {
		display: inline-block;
		text-decoration: none;
	}
	.btn-open:after {
		color: #333;
		content: "\f0c9";
		font-family: FontAwesome!important;
		-webkit-transition: all .2s linear 0s;
		-moz-transition: all .2s linear 0s;
		-o-transition: all .2s linear 0s;
		transition-property: all .2s linear 0s;
	}
	.btn-open:hover:after {
		color: #29A5FF;
	}
	.btn-close:after {
		color: #fff;
		content: "\f00d";
		font-family: FontAwesome!important;
		-webkit-transition: all .2s linear 0s;
		-moz-transition: all .2s linear 0s;
		-o-transition: all .2s linear 0s;
		transition-property: all .2s linear 0s;
	}
	.btn-close:hover:after {
		color: #29A5FF;
	}
	.menu-btn {
		display: block;
	}

	/* OVERLAY */
	.overlay {
		position: fixed;
		top: 0;
		left:0;
		z-index: 999999;
		overflow: auto;
		width: 100%;
		background-color: rgba(0, 0, 0, 0.9);
		text-align: left;
		display: none;
	}
	.overlay .sp-menu {
		margin: 0 auto;
		padding:1em 0;
		width: 90%;
		height:100vh;
	}
	.overlay .sp-menu .search-menu{
		margin:1em auto 0 2em;
	}
	.overlay .sp-menu ul {
		margin:0% auto;
	}
	.overlay .sp-menu ul li {
		list-style: none;
		border-bottom:1px solid #aaa;
	}
	.overlay .sp-menu ul li a {
		display: block;
		padding:1em 0;
		color: #fff;
		font-weight: bold;
	}
	.overlay .sp-menu ul li #service-menu-link {
		display: block;
		padding:1em 0;
		color: #fff;
		font-weight: bold;
	}
	.overlay .sp-menu ul li #profile-menu-link {
		display: block;
		padding:1em 0;
		color: #fff;
		font-weight: bold;
	}
	.overlay .sp-menu ul li #ir-menu-link {
		display: block;
		padding:1em 0;
		color: #fff;
		font-weight: bold;
	}
	.overlay .sp-menu ul li ul{
		margin:0.5em auto 0 4em;
	}
	.overlay .sp-menu ul li ul li{
		padding:0em 0;
		border-bottom:none;
	}
	.overlay .sp-menu .lang_sp{
		margin-top: 30px;
		text-align: center;
		
		a {
			color: #fff;
		}
	}
	.sp-sub-menu{
		padding:10px;
		background-color: rgba(255,255,255, 0.1);
	}

	.footer-contact .blue-btn{
		margin-top:20px;
		display: block;
		max-width: 400px;
		margin:20px auto 0 auto;
	}
	.footer-contact .blue-btn a{
		padding-right:5px;
		padding-left:5px;
	}
	.footer-contact p.font48{
		font-size: 28px !important;
	}
	.footer-contact span.small{
		font-size: 14px;
	}

	.footer {
		padding:10px 0;
	}
	.footer .wrap{
		padding:0 0%;
	}
	.footer .fx-row{
		margin:0;
		padding:0;
	}
	.footer .companyinfo{
		padding:0 5%;
	}
	.four-link .fx-col-100-s{
		flex-basis: 100%;
	}
	.footer .fnav{
		margin: 20px 0 0 0;
		padding:0;
		border-bottom: solid 1px #666;
	}
	.footer .fnav div.fx-row {
		display: block;
		margin: 0;
		padding:0;
	}
	.footer .fnav div{
		margin: 0;
		padding:0;
	}
	.footer .fnav ul{
		margin-bottom: 0;
		padding:0;
	}
	.footer div.fx-row > div > ul{
		/*border-bottom: solid 1px #666;*/
	}
	.footer div.fx-row > div > ul:first-child{
		/*border-top: solid 1px #666;*/
	}
	.footer ul li {
		margin-bottom: 0;
		padding:0;
		border-top: solid 1px #444;
	}
	.footer ul li ul{
		margin: 0;
		padding:0;
	}
	.footer ul li ul li{
		margin: 0;
		padding:0;
	}
	.footer ul li a{
		display: block;
		padding:1.5em 5%;
	}
	.footer ul li a{
		position: relative;
	}
	.footer ul li a::before{
		content: '';
		width: 6px;
		height: 6px;
		border: 0px;
		border-top: solid 1px #aaa;
		border-right: solid 1px #aaa;
		-ms-transform: rotate(45deg);
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		position: absolute;
		top: 50%;
		right: 1em;
		margin-top: -3px;
	}
	.footer ul li a:hover{
		background-color: rgba(255, 255, 255, 0.1);
	}
	.footer ul li ul li a{
		padding-left: 10%;
	}
	.footer ul li ul li ul li a{
		padding-left: 15%;
	}
	#fixedNav {
		display: none;
	}
	.second-gnav-left img{
		margin-top:5px;
		margin-left:-20px!important;
	}
	.second-contact a{
		width:100%;
		background:#29a5ff url('../img/cmn_icon_headcontact.png') 10% 50% no-repeat;
	}
	.second-contact a:hover{
		background:#238EDB url('../img/cmn_icon_headcontact.png') 10% 50% no-repeat;
	}

	.service-special-section{
		padding:40px 0 20px;
	}
	.service-special-section h3{
		margin-bottom:30px;
	}
	.service-special-section h3 span{
	}
	.service-special-section .item{
		width: 100%;
		padding:20px;
	}
	.service-special-section i{
		min-height:auto;
	}
	.service-special-section h4{
		min-height:auto;
	}

	.service-customer-section .section-voice{
		background:url(../img/farmstory_pics06.jpg) right 50% no-repeat;
		background-size: cover;
	}
	.service-customer-section .voicenote{
		width:100%;
		padding:20px;
		background-color: rgba(255,255,255,0.8);
	}
	.service-faq-section{
		padding:40px 3% 20px;
	}
	.service-faq-section h3{
		margin-bottom:30px;
	}
	.service-faq-section .detailList dt{
		padding:15px 15px 15px 60px;
	}
	.service-lineup-section{
		padding:40px 0 20px;
		background:#F2F2F2;
	}
	.service-lineup-section h3{
		margin-bottom:30px;
	}
	.service-lineup-section table{
		padding:30px 15px;
	}
	.service-lineup-section table thead .c1,
	.service-lineup-section table thead .c2,
	.service-lineup-section table thead .c3{
		width:20%;
		padding:8px;
		vertical-align: top;
		font-size:90%;
	}
	.service-lineup-section table thead .c1 img,
	.service-lineup-section table thead .c2 img,
	.service-lineup-section table thead .c3 img{
		width:100%;
		height:auto;
	}
	.service-lineup-section table tbody th,
	.service-lineup-section table tbody td{
		padding:20px 5px;
	}
	.service-lineup-section table tbody td.yes{
		font-size:300%;
		font-weight:bold;
	}


}

