@charset "utf-8";
/* CSS Document */

/* 基本設定
-------------------------------------------------*/

html { overflow-x: hidden; font-weight:500; }
h1,h2,h3,h4,h5,h6,p,div,ul,li,dd,dl{ margin:0; padding:0; font-weight:500;}
ul,li,dt,dd,dl{ list-style-type:none; font-weight:500;}
hr{height:0px;margin:0;padding:0;border:none;}
table, tr, th, td{ border:none;}
img{ margin: 0; padding: 0; max-width:100%; vertical-align: bottom; -webkit-backface-visibility: hidden !important; image-rendering: -webkit-optimize-contrast;}

body{ margin:0; padding:0; overflow-x:hidden;
	font-family:  "游ゴシック", "Yu Gothic", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体","ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	font-size:16px; line-height:1; color:#333; letter-spacing:0.05em; line-height:1.6;
	font-weight: 500;
	text-align: justify;
	text-justify: inter-ideograph;
	font-feature-settings: "palt";
	-webkit-font-smoothing: antialiased;
	-webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: grayscale;
	}
@media all and (-ms-high-contrast: none){
  body{
	  font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	  line-height:1.2;
  }
}

.pc-none{ display:none;}
.sp-none{ display:block;}

.object-fit-img { object-fit: cover; font-family: 'object-fit: cover;' }

#page-down {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 100;
}
#page-down a {
    display: block;
    width: 40px;
    padding: 0;
}

/* パンくず
-------------------------------------------------*/

#breadcrumbs{ font-size:13px; padding:40px 4% 40px 4%; }

#breadcrumbs li {
    display: inline-block;
	margin:0 10px 0 0;
}
#breadcrumbs li:last-child:after{ content:''; margin:0;}
#breadcrumbs li{ position:relative;}
#breadcrumbs li:after {
    content: '>';
    margin-left: 10px;
}
#breadcrumbs li:last-child{ margin:0 0 0 0;}
.bg-breadcrumbs01{ background-color: #F3F3F1; }
/*
#breadcrumbs li:not(:first-child):before {
    content: '>';
    margin-right: 0.4em;
}*/

/* リンク調整
-------------------------------------------------*/

a{ outline:none; }

a:link { text-decoration:underline; color:#1470cc;}
a:visited {text-decoration: none; color: #1470cc;}
a:active { text-decoration:none; color: #377;}
a:hover { text-decoration:none; color:#377;}

a.is-hover{display:block;}
a.is-hover img{ transition:all 0.5s ease;}
a:hover.is-hover img{ opacity: 0.7; filter: alpha(opacity=70); -moz-opacity:0.7;}
a:hover.is-hover{ opacity: 0.7; filter: alpha(opacity=70); -moz-opacity:0.7;}

a.anchor{display: block; padding-top: 80px; margin-top: -80px;}
.no-links{ pointer-events: none; cursor: default; text-decoration:none;}

/* フロート調整
-------------------------------------------------*/

.is-right{float: right;}
.is-left{float: left;}
.is-center {clear: both;text-align:center;}

.is-top {vertical-align:top !important; margin-top:0; margin-bottom:auto;}
.is-middle {vertical-align:middle !important; margin-top:auto; margin-bottom:auto;}
.is-bottom {vertical-align:bottom !important; margin-top:auto; margin-bottom:0;}

.is-align-left {text-align:left !important;}
.is-align-center {text-align:center !important;}
.is-align-right {text-align:right !important;}

.r-is-align-center {text-align:center !important;}
.r-is-align-left {text-align:left !important;}
.r-is-align-right {text-align:right !important;}

.is-box-sizing{ -webkit-box-sizing: border-box !important; -moz-box-sizing: border-box !important; box-sizing: border-box !important;}

/* ヘッダー
-------------------------------------------------*/

.bg-top{ position:absolute; top:0; height:240px; width:100%; background-size:cover;}
.bg-top-inner{ position:absolute; top:0; height:240px; width:100%; background-size:cover; z-index:-10;}
.bg-top-plant{ background-image:url(../img/common/bg-plant.png); }
.bg-top-labo{ background-image:url(../img/common/bg-labo.png); }

#top-head {
    top: -100px;
    width:100%;
    margin: 0 auto;
    padding: 0;
    z-index: 999;
}
#top-head.fixed {
    margin: 0 auto;
    width: 100%;
    top: 30px;
    position: fixed;
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}

header{
	width:100%;
	position: absolute;
    left: 0;
    top: 40px;
    width: 100%;
	z-index:1000;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
	}
.head-menu-wrapper{ width:100%; padding:10px 0;}
.head-menu{ width:96%; margin:0 auto; overflow:hidden; margin: 0 auto; color:#000;}
.head-menu-l{ float:left;}
.head-menu-l p{ display:inline-block;}
.head-menu-l p:nth-child(1){ margin-right: 10px; }
.head-menu-l p:nth-child(2){ vertical-align: -webkit-baseline-middle; }
.head-menu-l p:nth-child(2) a {
    /*background-color: #0678c2;*/
    text-decoration: none;
    color: #000;
    letter-spacing: 0;
    padding: 3px 10px 3px 20px;
	position:relative;
	font-size: 13px;
	font-weight: 600;
}
.head-menu-l p:nth-child(2) a:hover{ /*background-color:#000;*/}
.head-menu-l p:nth-child(2) a::before {
    position: absolute;
    top: 50%;
    left: 10px;
    display: block;
    width: 0.3em;
    height: 0.3em;
    content: "";
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    -webkit-transform: rotate( 
-225deg
 );
    -ms-transform: rotate(-225deg);
    transform: rotate( 
-225deg
 );
    -webkit-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    transition: all .3s ease-out;
    margin-top: -0.25em;
}
.head-menu-l p:nth-child(2) a:hover::before {
    left: 0;
}

.head-menu-l-parts1{ width:120px; margin-bottom:24px;}
.head-menu-l-parts2{
	background-size:cover;
	width:277px;
	height:52px;
	background-repeat:no-repeat;
	margin-bottom:12px;
	}
.head-menu-l-parts3{
	background-size:cover;
	width:194px;
	height:30px;
	background-repeat:no-repeat;
	}
.head-menu-l-parts4{ display: block !important; margin: 50px 0 0 0;}

.head-menu-r{ float:right; text-align:right; line-height: 1; }
.head-menu-r-parts1{ margin:0 auto 60px;}
.head-menu-r-parts1 p{ display:inline-block; vertical-align:middle; margin: 0 6px 0 0;}
.head-menu-r-parts1 p:last-child{ margin:0;}
.head-menu-r-parts1 p.head-menu-r-parts1-contact a{ background-color:#000; color:#fff; padding: 12px 15px 10px; text-decoration:none; font-weight:600; display: inline-block;}
.head-menu-r-parts1 p.head-menu-r-parts1-contact a:hover{ background-color:#fff; color:#000;}
.head-menu-r-parts2 p{ display:inline-block; vertical-align:middle; margin: 0 0 0 0; padding: 0 0 20px 0;}
.head-menu-r-parts2 p:last-child{ margin:0;}
.head-menu-r-parts2 p a{ text-decoration:none; color:#000; font-weight:600; font-size:18px; padding: 0 0 0 40px; position:relative; }
.head-menu-r-parts2 p a:before{
    position: absolute;
    display: inline-block;
    content: '';
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    width: 32px;
    height: 32px;
    z-index: 10;}
.head-menu-r-parts2 p.ic-fb a:before{ background-image: url(../img/common/ic-fb.png);}
.head-menu-r-parts2 p.ic-yt a:before{ background-image: url(../img/common/ic-yt.png);}
.head-menu-r-parts2 p.ic-mov a:before{ background-image: url(../img/common/ic-mov.png);}
.head-menu-r-parts3 a {
    background-color: #0075c2;
    color: #fff;
    display: inline-block;
    padding: 10px 14px 8px;
    text-decoration: none;
    font-size: 14px;
    margin-bottom: 16px;
    /*border-radius: 24px;*/
    font-weight: 700;
}
.head-menu-r-parts3 a:hover {
    background-color: #000 !important;
}

.sp-menu{ display:none;}

/* スマホメニュー
-------------------------------------------------*/


/* フッター
-------------------------------------------------*/

#footer {
  padding: 20px 0;
  background-color: #0075C2;
  /*z-index: 9;*/
  width: 100%;
  line-height: 1;
  /*position: fixed;
  bottom: 0;*/
  }

#footer .inr .footer_cont { color: #fff; }
#footer .inr .footer_cont ul {
	display: -webkit-box;
    display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -ms-flex-direction: row;
      flex-direction: row;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; }
#footer .inr .footer_cont ul li { font-size: .9em; font-family: "Roboto", sans-serif; margin-right: 30px; }
#footer .inr .footer_cont ul li a { font-family: "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Yu Gothic", "メイリオ", Meiryo, sans-serif; position: relative; font-weight: 600;
    color: #fff;
    text-decoration: none;}
#footer .inr .footer_cont ul li a::before {
            position: absolute;
            top: 50%;
            left: -15px;
            display: block;
            width: 0.5em;
            height: 0.5em;
            content: "";
            border-right: 2px solid #fff;
            border-bottom: 2px solid #fff;
            -webkit-transform: rotate(-45deg);
            -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
            margin-top: -0.25em;
			-webkit-transition: all .3s ease-out;
			-o-transition: all .3s ease-out;
			transition: all .3s ease-out;}
#footer .inr .footer_cont ul li a:hover::before { left: -12px; }
#footer .inr .footer_cont ul li:nth-child(2) { margin-right: 20px; }

/* レイアウト
-------------------------------------------------*/

#box-wrapper{ width:100%; margin:0; padding:0; position:relative;}
.box-basic{ width:960px; margin:0 auto; position:relative;}

/* ボタン
-------------------------------------------------*/

.menu-btn span {
    display: inline-block;
    font-size: 48px !important;
    vertical-align: middle;
    line-height: 1;
	cursor: pointer;
	transition: 0.6s all;
}
.menu-btn span:hover{
    transform: scale(0.8,0.8);
    transition: 0.4s all;
}
.btn-open{ background-image:url(../img/common/sp-menu.png);}
.btn-open:after {
    color: #fff;
	content: "MENU";
	font-size:14px;
	display:inline-block;
	margin:60px 0 0 0;
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}

.btn-open:hover:after { color: #fff; }
.btn-close{ background-image:url(../img/common/sp-menu-close.png);}
.btn-close:after {
    color: #fff;
	content: "CLOSE";
	font-size:14px;
	display:inline-block;
	margin:60px 0 0 0;
    -moz-transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    transform: rotate(90deg);
}
.btn-close:active:after { color: #333; }
.btn-close:hover:after { color: #fff;}

a.btn-blue1{ background-color: #0075C2 !important; color:#fff; transition: all .5s; }
a.btn-blue1:hover{ background-color:#000 !important;}

a.btn-blue2{ background-color: #000 !important; color:#fff; transition: all .5s; }
a.btn-blue2:hover{ background-color:#0075C2 !important;}

a.btn-green1{ background-color: #000 !important; color:#fff; transition: all .5s; }
a.btn-green1:hover{ background-color:#89B928 !important;}

a.btn-green2{ background-color: #89B928 !important; color:#fff; transition: all .5s; }
a.btn-green2:hover{ background-color:#000 !important;}

/* リスト
-------------------------------------------------*/

ul.basic-list1{ list-style:none; margin:0; padding:0; }
ul.basic-list1 li{
	position:relative;
	margin:0 auto 10px;
	padding-left: 1em;
    text-indent: -1em;
	}
ul.basic-list1 li:before {
    content:  ""; 
    width:  10px;
    height:  10px;
    display:  inline-block;
    background-color: #000;
    border-radius:  50%;
    position:  relative;
    top: -1px;
    margin-right: 5px;
}
ul.bg-mark-blue li:before{ background-color: #0074C1 !important; }

/* パーツ
-------------------------------------------------*/

.youtube {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}


/* inview.js
-------------------------------------------------*/

.fadeIn {
  opacity: 0;
  transition: 2s;
}
.fadeIn.is-show {
  opacity: 1;
}

.fadeIn_up {
  opacity: 0;
  transform: translate(0, 10%);
  transition: 2s;
}
.fadeIn_up.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_down {
  opacity: 0;
  transform: translate(0, -10%);
  transition: 2s;
}
.fadeIn_down.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_right {
  opacity: 0;
  transform: translate(10%, 0);
  transition: 2s;
}
.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.fadeIn_left {
  opacity: 0;
  transform: translate(-10%, 0);
  transition: 2s;
}
.fadeIn_left.is-show {
  transform: translate(0, 0);
  opacity: 1;
}

/* hover
-------------------------------------------------*/

.hover_rotateX {
  transition: all 1s linear 0s;
  /*border-radius: 50%;*/
  cursor: pointer;
}
.hover_rotateX:hover {
  transform: rotateY(360deg);
}

@media only screen and (max-width: 1440px) {

header{ top: 26px; }

.bg-top { height: 156px;}
.bg-top-inner { height: 156px;}
.bg-top-labo{ background-image:url(../img/common/bg-labo-note.png); }
.bg-top-plant{ background-image:url(../img/common/bg-plant-note.png); }
.head-menu-l-parts1 { width: 100px; margin-bottom: 12px; }
.head-menu-l-parts2 { width: 200px; height: 38px; margin-bottom: 6px;}
.head-menu-l-parts3 { width: 129px; height: 20px;}
.head-menu-r-parts1 { margin: 0 auto 50px; }
.head-menu-r-parts1 p.head-menu-r-parts1-contact a { padding: 8px 12px 6px; font-size: 13px; }
.head-menu-r-parts2 p a { font-size: 13px; padding: 0 0 0 32px; }
.head-menu-r-parts2 p a:before { width: 24px; height: 23px;}
.menu-btn span { font-size: 28px !important; }

/* パンくず
-------------------------------------------------*/
#breadcrumbs {
    font-size: 12px;
    padding: 20px 5% 20px 5%;
}

}

@media only screen and (max-width: 1024px) {

/* レイアウト
-------------------------------------------------*/
.box-basic{ width:90%; }

/* パンくず
-------------------------------------------------*/
#breadcrumbs { display:none; }

}

@media only screen and (max-width: 768px) {

body { font-size: 14px; line-height: 1.5;}

/* ヘッダー
-------------------------------------------------*/
.head-menu-l-parts4 { margin: 20px 0 0 0; }
.head-menu-l-parts4 img{ width:360px;}
.head-menu-l-parts3{ display:none;}
.head-menu-r-parts2{ display:none;}
.head-menu-l-parts1 { width: 100px;}
.head-menu-l-parts2{ width:213px; height: 40px;}
.bg-top{ height: 180px !important; }
.bg-top-inner { height: 180px !important;}

/* フッター
-------------------------------------------------*/
#footer { width: 100%; padding: 5px 0; }
#footer .inr .footer_cont ul li { font-size: .7em; margin-right: 0; }

.box-basic{ width:90%; margin:0 auto;}

/* ボタン
-------------------------------------------------*/

.menu-btn{ cursor: pointer; }
.btn-open:after{ display:none;}
.btn-close:after{ display:none;}

/* パーツ
-------------------------------------------------*/
.pc { display: none !important; }

}

@media only screen and (max-width: 480px) {

body { font-size: 13px; line-height: 1.4;}

.pc-none{ display:block;}
.sp-none{ display:none;}

#pagetop a{ padding:20px 0; display:block;}
#pagetop a span{ display:none; }


/* ヘッダー
-------------------------------------------------*/
header{ top: 20px; }
#top-head.fixed { top: 10px; }
#top-head { margin: 0 auto; padding: 12px 0 8px;}
.head-menu { width: 90%; margin:0 auto; }
.head-menu-l-parts2{ width:160px; height: 30px; }
.head-menu-l p:nth-child(2) a span{ display:none;}
.head-menu-l p:nth-child(2) a { font-size: 12px;
    letter-spacing: -1px;
    padding-left: 16px;}
.bg-top{ height: 140px !important; }
.bg-top-inner { height: 140px !important;}

.head-menu-l-parts4 { position: fixed; bottom: 0; left: 0; z-index: 100; }
.head-menu-l-parts4 a img { width: 100%; }

.head-menu-r-parts1 { margin: 0 auto 40px; }
.head-menu-r-parts3 a {
    font-size: 11px;
    padding: 8px 12px 7px;
}

}

@media only screen and (max-width: 400px) {

/* ヘッダー
-------------------------------------------------*/
header{ top: 10px; }
.head-menu-l-parts1{ width: 80px; }
.head-menu-r-parts1 p.head-menu-r-parts1-contact a {
    padding: 8px 10px 6px;
    font-size: 10px;
}
.head-menu-l-parts2{ width:140px; height: 26px; }
.menu-btn span { font-size: 30px !important; }

}