@charset "UTF-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
@import url("http://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after {
  content: '';
  content: none; }

q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevents modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active, a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Addresses styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *  Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 * 4. Improves appearance and consistency in all browsers.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }
input,
select,
textarea {
  font-size: 16px; }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */ }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* Device
   ========================================================================== */
@media (min-width: 641px) {
  .sp {
    display: none; } }
@media (max-width: 640px) {
  .pc {
    display: none; } }

/* Font
   ========================================================================== */
.fso {
  font-style: oblique; }

/* ---------------------
    - COMMON VARIABLES
    - COMMON SETTING
    - HEADER
    - MAIN
    - FOOTER

    - HEADER-SP
--------------------- */
/* =====================
  COMMON VARIABLES
===================== */
/* =====================
  COMMON SETTING
===================== */
/*  font
------------------------*/
html {
  font-family: "Noto Sans Japanese", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
  font-size: 100%;
  color: #1b1b1b; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

a {
  text-decoration: none; }

/*  module
------------------------*/
.card-name--ita {
  font-family: 'Noto Serif', serif;
  font-style: italic !important; }

.text-color--red {
  color: #ff0000;
  font-weight: 700; }

.com-anchor {
  display: block;
  position: relative;
  z-index: -1; }
@media (min-width: 641px) {
  .com-anchor { margin-top: -75px; padding-top: 75px; }
  .desktop-only {}
  .desktop-only__dib {}
  .smartphone-only,
  .smartphone-only__dib { display: none; } }
@media (max-width: 640px) {
  .com-anchor { margin-top: -120px; padding-top: 120px; }
  .desktop-only,
  .desktop-only__dib { display: none; }
  .smartphone-only { display: block; }
  .smartphone-only__dib { display: inline-block; } }

/*  clearfix
------------------------*/
.clearfix:after {
  content: "";
  clear: both;
  display: block; }

/* =====================
  HEADER
===================== */
.header {
  position: relative;
  width: 100%;
  min-width: 1270px;
  background-color: #ffffff;
  padding: 32px 0;
  -webkit-transition: padding 0.15s linear;
  -moz-transition: padding 0.15s linear;
  -ms-transition: padding 0.15s linear;
  -o-transition: padding 0.15s linear;
  transition: padding 0.15s linear;
  position: fixed;
  top: 0;
  z-index: 1;
  /*  header-lang
  ------------------------*/
  /*  header-search
  ------------------------*/
  /*  header-nav
  ------------------------*/ }
  .header--scrolled {
    padding: 15px 0 5px;
    -webkit-transition: padding 0.15s linear;
    -moz-transition: padding 0.15s linear;
    -ms-transition: padding 0.15s linear;
    -o-transition: padding 0.15s linear;
    transition: padding 0.15s linear; }
  .header-logo {
    margin-left: 79px; }
    .header-logo a {
      text-indent: -9999px;
      display: block;
      background-image: url("/images/common/logo.svg");
      background-repeat: no-repeat;
      width: 174px;
      height: 51px;
      background-size: 90%;
      -webkit-transition: background-size 0.15s linear;
      -moz-transition: background-size 0.15s linear;
      -ms-transition: background-size 0.15s linear;
      -o-transition: background-size 0.15s linear;
      transition: background-size 0.15s linear; }
    .header-logo--scrolled a {
      background-size: 80%;
      -webkit-transition: background-size 0.15s linear;
      -moz-transition: background-size 0.15s linear;
      -ms-transition: background-size 0.15s linear;
      -o-transition: background-size 0.15s linear;
      transition: background-size 0.15s linear; }
  .header-lang {
    position: absolute;
    top: 10px;
    right: 90px; }
    .header-lang--scrolled {
      display: none; }
    .header-lang__anchor {
      color: #6e6e6e;
      font-size: 0.8rem;
      position: relative;
      display: inline-block;
      padding: 0 10px;
      border-right: 1px solid #a0a0a0;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .header-lang__anchor--current {
        color: #287b44; }
      .header-lang__anchor:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
    .header-lang__border--current {
      position: absolute;
      top: -15px;
      left: 10%;
      height: 5px;
      width: 80%;
      background-color: #287b44; }
  .header-search {
    position: absolute;
    top: 12px;
    right: 53px; }
    .header-search--scrolled {
      display: none; }
    .header-search a {
      text-indent: -9999px;
      display: block;
      background-image: url("/images/common/search-icon.png");
      background-repeat: no-repeat;
      width: 15px;
      height: 16px; }
    .header-search-sp {
      display: none; }
  #srchBox {
    width:298px;
    _width:296px;
    /*margin-bottom:10px;*/
    background-color:#FFFFFF;
    /*border-style:solid;
    border-width:1px;
    border-color:#EEEEEE;*/
    color:#000000;
    text-align:left; }
  #srchBox * {
    margin:0;
    padding:0;
    font-size:13px;
    *font-size:small;
    *font:x-small; }
  #srchBox a img {
    border:none; }
  #srchBox #srch {
    /*padding:10px 10px 0 10px;*/ }
  #srchBox #srch #srchForm {
    white-space:nowrap; }
  #srchBox #srchInput {
    width:200px;
    /*margin-right:6px;*/
    vertical-align:bottom;
    }
  #srchBox #srchBtn {
    width:60px; }
  *html #srchBox #srchBtn {
    padding-top:2px; }
  *:first-child+html #srchBox #srchBtn {
    padding-top:2px; }
  #srchBox ul {
    margin-top:6px;
    text-align:left; }
  #srchBox li {
    list-style-type:none;
    display:inline;
    zoom:1;
    padding-right:10px; }
  #srchBox li input {
    zoom:1;
    margin-right:2px;
    _margin:-4px 0 -4px -4px;
    vertical-align:middle;
    border:0; }
  *:+html #srchBox li input {
    margin:-4px 0 -4px -4px; }
  #srchBox #srchLogo {
    margin:6px 6px 6px 0;
    text-align:right; }
  #srchBox #srchLogo a {
    color:#666666;
    text-decoration:none;
    font-size:85%; }
  #srchBox #srchLogo a:hover {
    text-decoration:underline; }
  #srchBox.watermark {
    /*padding-bottom: 6px;*/ }
  #srchBox.watermark #srchInput {
    padding:1px;
    border:1px solid #a5acb2;
    background: #fff url(http://i.yimg.jp/images/search/customsearch/yjlogo/yjlogo_type4.gif) center center no-repeat; }
  #srchBox.watermark #srchInput.nomark {
    background: #fff; }
  #srchBox.watermark #srchLogo {
    display: none; }
  .header-nav__button--open, .header-nav__button--close {
    display: none; }
  .header-nav {
    position: absolute;
    top: 65px;
    -webkit-transition: top 0.125s linear;
    -moz-transition: top 0.125s linear;
    -ms-transition: top 0.125s linear;
    -o-transition: top 0.125s linear;
    transition: top 0.125s linear;
    right: 90px; }
    .header-nav--scrolled {
      top: 20px;
      -webkit-transition: top 0.125s linear;
      -moz-transition: top 0.125s linear;
      -ms-transition: top 0.125s linear;
      -o-transition: top 0.125s linear;
      transition: top 0.125s linear; }
    .header-nav__item {
      display: inline-block;
      margin-left: 34px; }
      .header-nav__item.smartphone-only { display: none; }
      .header-nav__item a {
        letter-spacing: 0.1rem;
        color: #1b1b1b;
        -webkit-transition: color 0.15s linear;
        -moz-transition: color 0.15s linear;
        -ms-transition: color 0.15s linear;
        -o-transition: color 0.15s linear;
        transition: color 0.15s linear; }
        .header-nav__item a:hover {
          color: #287b44;
          -webkit-transition: color 0.15s linear;
          -moz-transition: color 0.15s linear;
          -ms-transition: color 0.15s linear;
          -o-transition: color 0.15s linear;
          transition: color 0.15s linear; }
      .header-nav__item--current a {
        color: #287b44; }
    .header-nav__inquiry-item a {
      font-size: 0.9rem;
      letter-spacing: -0.01rem;
      color: #287b44;
      position: relative;
      display: block;
      padding: 8px 25px 8px 55px;
      background-color: #ebf0e1;
      -webkit-border-radius: 1.5rem;
      -moz-border-radius: 1.5rem;
      border-radius: 1.5rem;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .header-nav__inquiry-item a:before {
        content: "";
        position: absolute;
        left: 25px;
        width: 22px;
        height: 16px;
        background-image: url("/images/common/email-icon.png");
        background-repeat: no-repeat; }
      .header-nav__inquiry-item a:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }

/* =====================
  MAIN
===================== */
.main {
  margin-top: 114px; }

/*  hero
------------------------*/
.hero {
  width: 100%;
  height: 150px;
  background-position: center;
  min-width: 960px;
  padding-top: 45px;
  margin: 0; }
  .hero__title {
    color: #ffffff;
    font-size: 1.9rem;
    letter-spacing: 0.2rem;
    text-align: center;
    line-height: 1.2em; }
  .hero__en-title {
    font-size: 0.8rem;
    font-weight: 100;
    letter-spacing: 0.1rem;
    font-style: italic; }

/*  bread-nav
------------------------*/
.bread-nav {
  width: 960px;
  padding-top: 10px;
  margin: 0 auto; }
  .bread-nav__item {
    display: inline-block;
    font-size: 0.8rem; }
    .bread-nav__item a {
      color: #1b1b1b; }
      .bread-nav__item a:hover {
        text-decoration: underline; }
  .bread-nav__arrow {
    color: #287b44;
    font-weight: 100;
    -webkit-transform: scaleX(0.5);
    -moz-transform: scaleX(0.5);
    -ms-transform: scaleX(0.5);
    -o-transform: scaleX(0.5);
    transform: scaleX(0.5); }

/*  content-outer
------------------------*/
.content-outer {
  width: 960px;
  padding-top: 30px;
  margin: 0 auto;
  position: relative; }

/*  side
------------------------*/
.side-outer {
  width: 220px;
  float: left; }
  .side-outer--fixed {
    position: fixed;
    top: 80px; }
  .side-outer--fixed-end {
    position: absolute;
    bottom: 0; }

.side-nav__title {
  color: #287b44;
  text-align: center;
  font-size: 1.2rem;
  letter-spacing: 0.05rem;
  padding: 25px 0;
  background-color: #ebf0e1; }

.side-nav__en-title {
  font-size: 0.6rem;
  letter-spacing: 0rem;
  font-style: italic; }

.side-nav__item {
  border-bottom: 1px solid #e8e8e8; }

.side-nav__child-title {
  color: #1b1b1b;
  font-size: 0.8rem;
  position: relative;
  display: block;
  padding: 15px 10px;
  cursor: pointer;
  opacity: 1.0; }
  .side-nav__child-title::after {
    content: "＞";
    position: absolute;
    top: 15px;
    right: 10px;
    -webkit-transform: scaleX(0.5);
    -moz-transform: scaleX(0.5);
    -ms-transform: scaleX(0.5);
    -o-transform: scaleX(0.5);
    transform: scaleX(0.5); }
  .side-nav__child-title:hover {
    opacity: 0.6; }
  .side-nav__child-title--current {
    color: #ffffff;
    background-color: #287b44; }
    .side-nav__child-title--current::after {
      -webkit-transform: rotate(90deg) scaleX(0.5);
      -moz-transform: rotate(90deg) scaleX(0.5);
      -ms-transform: rotate(90deg) scaleX(0.5);
      -o-transform: rotate(90deg) scaleX(0.5);
      transform: rotate(90deg) scaleX(0.5); }

.side-nav__child-list {
  display: none; }
  .side-nav__child-list--current {
    display: inherit; }

.side-nav__child-item a {
  color: #1b1b1b;
  font-size: 0.78rem;
  line-height: 1rem;
  position: relative;
  display: block;
  padding-left: 15px;
  margin-bottom: 12px;
  opacity: 1.0; }
  .side-nav__child-item a:hover {
    opacity: 0.6; }
  .side-nav__child-item a:nth-of-type(1) {
    margin-top: 15px; }

.side-nav__child-item-line {
  color: #287b44;
  position: absolute;
  left: 0px; }

.side-nav__child-item-small {
  font-size: 0.7rem;
  display: inline-block; }

.side-bnr {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  }
  .side-bnr__item {
    padding: 10px;
    box-sizing: border-box;
    }
    .side-bnr__item a {
      display: flex;
      align-items: center;
      justify-content: center;
      }
    .side-bnr__item a:hover { opacity: 0.6; }
    .side-bnr__item img { max-width: 100%; }
    .side-bnr__item-txt {
      color: #1b1b1b;
      font-size: 0.7rem;
      margin-top: 5px;
      line-height: 1rem;
      position: relative;
      display: block;
      }
@media (max-width: 640px) {
  .side-bnr__item { max-width: 50%; }
}

/*  content
------------------------*/
.content {
  width: 700px;
  margin-left: 40px;
  float: right; }

/* =====================
  FOOTER
===================== */
/*  organizations
------------------------*/
.organizations {
  min-width: 960px;
  margin-top: 37px; }
  .organizations__title {
    font-size: 1.4rem;
    letter-spacing: 0.2rem;
    line-height: 1.75rem;
    text-align: center; }
  .organizations__en-title {
    color: #6e6e6e;
    font-size: 0.35rem;
    letter-spacing: 0.05rem;
    font-style: italic; }
  .organizations__list {
    text-align: center;
    margin-top: 10px;
    max-width: 770px;
    margin: 0 auto;
    position: relative; }
  .organizations__item {
    display: inline-block;
    margin: 5px 2px; }
    .organizations__item a {
      display: block;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .organizations__item a:hover {
        opacity: 0.6;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }

.slick-list {
  overflow: hidden; }

.slick-prev, .slick-next {
  position: absolute;
  border: none;
  background: none;
  text-indent: -9999px;
  background-repeat: no-repeat;
  width: 15px;
  height: 30px; }

.slick-prev {
  left: -40px;
  top: 15px;
  background-image: url("/images/common/bnr-arrow-left.png"); }

.slick-next {
  right: -40px;
  top: 15px;
  background-image: url("/images/common/bnr-arrow-right.png"); }

/*  footer
------------------------*/
.footer {
  margin-top: 40px;
  margin-bottom: -40px;
  position: relative;
  z-index: 1;
  /*  footer-nav
  ------------------------*/ }
  .footer-info {
    padding: 40px 0 47px;
    background-color: #f6f6f6; }
    .footer-info-inner {
      width: 960px;
      margin: 0 auto; }
  .footer-logo {
    text-indent: -9999px;
    display: block;
    background-image: url("/images/common/logo.svg");
    background-repeat: no-repeat;
    width: 174px;
    height: 51px;
    margin: 0 auto; }
  .footer-address {
    color: #6e6e6e;
    font-size: 0.8rem;
    font-weight: 100;
    letter-spacing: 0.05rem;
    text-align: center;
    margin-top: 20px; }
    .footer-address br {
      display: none; }
    .footer-address.ftad-service-only { display: none; }
    .ls_service .footer-address.ftad-service-only { display: block; }
  .footer-tel {
    margin-top: 40px;
    text-align: center; }
  .footer-kanto-tel, .footer-kansai-tel, .footer-kyushu-tel {
    display: inline-block;
    width: 300px;
    margin-left: 20px; }
    .footer-kanto-tel:nth-of-type(1), .footer-kansai-tel:nth-of-type(1), .footer-kyushu-tel:nth-of-type(1) {
      margin-left: 0; }
    .footer-kanto-tel__title, .footer-kansai-tel__title, .footer-kyushu-tel__title {
      text-align: center;
      font-size: 1.2rem;
      font-weight: 200;
      padding-bottom: 10px;
      border-bottom: 1px solid #a0a0a0; }
    .footer-kanto-tel__phone-num, .footer-kansai-tel__phone-num, .footer-kyushu-tel__phone-num {
      font-size: 1.7rem;
      padding-top: 10px;
      background-image: url("/images/common/phone-icon.png");
      background-repeat: no-repeat;
      background-position: 30px 15px; }
      .footer-kanto-tel__phone-num a, .footer-kansai-tel__phone-num a, .footer-kyushu-tel__phone-num a {
        color: #1b1b1b;
        font-weight: 200; }
  .footer-nav {
    padding: 30px 0 17px;
    background-color: #287b44; }
    .footer-nav-inner {
      position: relative;
      width: 960px;
      margin: 0 auto; }
    .footer-nav-block {
      float: left;
      margin-left: 60px; }
      .footer-nav-block:nth-of-type(1) {
        margin-left: 0; }
    .footer-nav__title {
      color: #ffffff;
      font-size: 0.9rem;
      line-height: 1.5rem; }
    .footer-nav__list {
      margin-bottom: 8px; }
    .footer-nav__item a {
      color: #ffffff;
      font-size: 0.75rem;
      font-weight: 100;
      line-height: 1.4rem; }
      .footer-nav__item a:hover {
        text-decoration: underline; }
    .footer-nav-other {
      position: absolute;
      bottom: 13px;
      right: 10px; }
      .footer-nav-other a {
        color: #ffffff;
        font-size: 0.8rem;
        font-weight: 100;
        display: inline-block;
        padding: 0 15px;
        border-right: 1px solid #ffffff; }
        .footer-nav-other a:hover {
          text-decoration: underline; }
        .footer-nav-other a:nth-last-of-type(2) {
          padding-right: 0;
          border-right: none; }
        .footer-nav-other a:nth-last-of-type(1) {
          display: none; }
  .footer-copy {
    color: #ffffff;
    font-size: 0.65rem;
    font-weight: 100;
    text-align: center;
    background-color: #246e3d;
    padding: 10px 0; }

@media (max-width: 640px) {
  /* =====================
    HEADER-SP
  ===================== */
  .header {
    min-width: 640px;
    width: 640px; }
    .header-logo {
      margin-left: 20px; }
      .header-logo--scrolled a {
        background-size: inherit; }
    .header-lang {
      display: none; }
    .header-search {
      display: none; }
    .header-search-sp {
      display: block;
      padding: 0 30px; }
      .header-search-sp #srchBox {
        text-align: center;
        width: 100%; }
      .header-search-sp #srchBox #srchInput {
        padding: 20px;
        width: 250px; }
      .header-search-sp #srchBox #srchBtn {
        padding: 20px;
        width: 80px; }
    .header-nav {
      width: 100vw;
      height: 100vh;
      top: inherit;
      right: inherit;
      position: fixed;
      padding: 100px 0 0;
      background-color: #ffffff;
      opacity: 0;
      -webkit-transition: opacity 0.25s ease-in-out;
      -moz-transition: opacity 0.25s ease-in-out;
      -ms-transition: opacity 0.25s ease-in-out;
      -o-transition: opacity 0.25s ease-in-out;
      transition: opacity 0.25s ease-in-out; }
      .header-nav--active {
        opacity: 1.0;
        -webkit-transition: opacity 0.25s ease-in-out;
        -moz-transition: opacity 0.25s ease-in-out;
        -ms-transition: opacity 0.25s ease-in-out;
        -o-transition: opacity 0.25s ease-in-out;
        transition: opacity 0.25s ease-in-out; }
      .header-nav--hide {
        z-index: -9999;
        top: -9999px; }
      .header-nav__button {
        z-index: 9999;
        display: block;
        width: 50px;
        position: absolute;
        top: 40px;
        right: 20px;
        cursor: pointer; }
        .header-nav__button span {
          display: block;
          height: 6px;
          width: 100%;
          background: #287b44;
          border-radius: 2px;
          -webkit-transition: all 0.25s ease-in-out;
          -moz-transition: all 0.25s ease-in-out;
          -ms-transition: all 0.25s ease-in-out;
          -o-transition: all 0.25s ease-in-out;
          transition: all 0.25s ease-in-out; }
          .header-nav__button span:nth-of-type(2), .header-nav__button span:nth-of-type(3) {
            margin-top: 7px; }
        .header-nav__button--active span:nth-of-type(1) {
          -webkit-transform: translateY(15px) translateX(0) rotate(45deg);
          -moz-transform: translateY(15px) translateX(0) rotate(45deg);
          -ms-transform: translateY(15px) translateX(0) rotate(45deg);
          -o-transform: translateY(15px) translateX(0) rotate(45deg);
          transform: translateY(15px) translateX(0) rotate(45deg); }
        .header-nav__button--active span:nth-of-type(2) {
          margin-top: 5px;
          opacity: 0;
          -webkit-transform: translateY(9px);
          -moz-transform: translateY(9px);
          -ms-transform: translateY(9px);
          -o-transform: translateY(9px);
          transform: translateY(9px); }
        .header-nav__button--active span:nth-of-type(3) {
          -webkit-transform: translateY(-9px) translateX(0) rotate(-45deg);
          -moz-transform: translateY(-9px) translateX(0) rotate(-45deg);
          -ms-transform: translateY(-9px) translateX(0) rotate(-45deg);
          -o-transform: translateY(-9px) translateX(0) rotate(-45deg);
          transform: translateY(-9px) translateX(0) rotate(-45deg); }
    .header-nav__list {
      border-top: 1px solid rgba(0, 0, 0, .4); }
      .header-nav__item {
        border-bottom: 1px solid rgba(0, 0, 0, .4);
        font-size: 2rem;
        text-align: center;
        display: block;
        margin: 0;
        padding: 30px 0; }
      .header-nav__item:last-child { border-bottom: none; }
      .header-nav__item.smartphone-only { display: block; }
      .header-nav__inquiry-item {
        width: 480px;
        margin: 0 auto; }
        .header-nav__inquiry-item a {
          font-size: 2rem;
          padding: 10px 0; }
          .header-nav__inquiry-item a::before {
            top: 15px;
            left: 100px;
            width: 35px;
            height: 25px;
            background-size: 100%; }
    .header--scrolled {
      padding: 32px 0; }
    .header-nav__item--child {
      letter-spacing: -0.4em;
      margin-top: 20px; }
    .header-nav__item--child__mtn { margin-top: 0; }
      .header-nav__item--child__item {
        border-right: 1px solid rgba(0, 0, 0, .4);
        display: inline-block;
        letter-spacing: 0em;
        padding: 0 20px;
        font-size: 1.5rem; }
      .header-nav__item--child__item:last-child { border-right: none; }
  /** HEADER-SP end */
  /* =====================
    MAIN-SP
  ===================== */
  /*  hero
  ------------------------*/
  .hero {
    min-width: 640px; }
  /*  bread-nav
  ------------------------*/
  .bread-nav {
    display: none; }
  /*  side
  ------------------------*/
  .side-outer {
    width: 100%;
    float: none;
    position: relative;
    top: inherit; }
  .side-nav__child-title {
    font-size: 1.0rem;
    text-align: center; }
  .side-nav__child {
    text-align: center; }
    .side-nav__child-item {
      text-align: center; }
      .side-nav__child-item a {
        font-size: 1.0rem;
        line-height: 1.3rem; }
      .side-nav__child-item-line {
        display: none; }
  /*  content
  ------------------------*/
  .content-outer {
    width: 640px; }
  .content {
    width: 100%;
    float: none;
    margin-left: 0;
    padding: 30px 20px 0 20px; }
  /* =====================
    FOOTER-SP
  ===================== */
  .organizations {
    width: 100%;
    min-width: 640px;
    margin-top: 80px; }
    .organizations__list {
      overflow: hidden; }
    .organizations__item {
      margin: 10px 4px 0; }
  .footer {
    margin-top: 80px;
    margin-bottom: -50px;
    position: relative;
    z-index: 1;
    }
    .footer-info-inner {
      width: 100%; }
    .footer-address {
      font-size: 1.5rem;
      line-height: 2rem; }
      .footer-address br {
        display: inherit; }
    .footer-kanto, .footer-kansai, .footer-kyushu {
      width: 180px; }
      .footer-kanto-tel, .footer-kansai-tel, .footer-kyushu-tel {
        width: 220px;
        margin-bottom: 30px; }
        .footer-kanto-tel__title, .footer-kansai-tel__title, .footer-kyushu-tel__title {
          font-size: 1.5rem; }
        .footer-kanto-tel__phone-num, .footer-kansai-tel__phone-num, .footer-kyushu-tel__phone-num {
          font-size: 1.6rem;
          background-position: 5px 15px;
          background-size: 8%; }
    .footer-nav {
      padding: 10px 0px; }
      .footer-nav-inner {
        width: 100%; }
      .footer-nav-block {
        display: none; }
      .footer-nav-other {
        position: inherit;
        text-align: center;
        bottom: inherit;
        right: inherit; }
        .footer-nav-other a {
          font-size: 1rem; }
          .footer-nav-other a:nth-last-of-type(2) {
            padding-right: 20px;
            border-right: 1px solid #ffffff; }
          .footer-nav-other a:nth-last-of-type(1) {
            display: inline-block;
            border-right: none; }
        .footer-nav-other__sitemap {
          display: inherit; } }

/* ---------------------
    - TOP-MAIN
    - TOP-MAIN-SP
--------------------- */
/* =====================
  TOP-MAIN
===================== */
.top {
  /*  hero
  ------------------------*/
  /*  content
  ------------------------*/
  /*  work
  ------------------------*/
  /*  products
  ------------------------*/
  /*  information
  ------------------------*/
  /*  news&data
  ------------------------*/ }
  .top-hero {
    height: 430px;
    min-width: 960px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center; }
    .top-hero-bg-01, .top-hero-bg-02 {
      width: 100%;
      height: 430px;
      position: absolute;
      z-index: -9999;
      top: 0;
      background-repeat: repeat-x;
      background-position: center;
      background-size: cover;
      -webkit-transition: opacity 1s linear;
      -moz-transition: opacity 1s linear;
      -ms-transition: opacity 1s linear;
      -o-transition: opacity 1s linear;
      transition: opacity 1s linear;
      opacity: 1; }
    .top-hero-bg-fadein {
      opacity: 1; }
    .top-hero-bg-fadeout {
      opacity: 0; }
    .top-hero-bg-01 {
      background-image: url("/images/top/top-hero-bg-01.png"); }
    .top-hero-bg-02 {
      background-image: url("/images/top/top-hero-bg-02.png"); }
    .top-hero__titlearea {
      text-shadow: 0 0 5px #333, 0 0 20px #333; }
    .top-hero__title {
      color: #ffffff;
      font-size: 2.9rem;
      font-weight: 300;
      letter-spacing: 0.1rem;
      text-align: center;
      margin: 0; }
      .top-hero__title--small {
        font-size: 2rem; }
      .top-hero__title br {
        display: none; }
    .top-hero__sub-text {
      color: #ffffff;
      font-size: 0.9rem;
      font-weight: 200;
      text-align: center;
      line-height: 1.5rem;
      letter-spacing: 0.15rem;
      margin-top: 36px; }
    .top-animal__title {
      text-align: center;
      font-size: 1.8rem;
      letter-spacing: 0.3rem;
      line-height: 1.6rem;
      margin-bottom: 20px; }
      .top-animal__en-title {
        color: #6e6e6e;
        font-size: 0.8rem;
        font-weight: 200;
        font-style: italic;
        letter-spacing: 0.05em; }
    .top-hero__animal {
      background-color: #ffffff;
      display: inline-block;
      padding: 26px 20px 20px 20px;
      margin-left: 3px;
      width: -webkit-calc((100% / 3) - 10px);
      width: -moz-calc((100% / 3) - 10px);
      width: -ms-calc((100% / 3) - 10px);
      width: -o-calc((100% / 3) - 10px);
      width: calc((100% / 3) - 10px);
      margin-left: 10px;
      -webkit-border-radius: 0.5rem;
      -moz-border-radius: 0.5rem;
      border-radius: 0.5rem;
      box-shadow: 2px 2px 10px rgba(0, 0, 0, .2); }
      .top-hero__animal a { color: inherit; }
      .top-hero__animal:nth-of-type(1) {
        margin-left: 0; }
      .top-hero__animal-outer {
        text-align: center;
        width: 960px;
        margin: 50px auto 0; }
      .top-hero__animal-header {
        color: #287b44;
        font-size: 1.5rem;
        letter-spacing: 0.2rem; }
      .top-hero__animal-en-header {
        color: #6e6e6e;
        font-size: 0.85rem;
        font-weight: 200;
        letter-spacing: 0.05rem;
        font-style: italic; }
      .top-hero__animal-list-outer {
        margin-top: 5px;
        height: 95px; }
      .top-hero__animal-list--left {
        float: left;
        margin-left: 13px; }
        .top-hero__animal-list--left-other {
          float: left;
          margin-left: 50px; }
      .top-hero__animal-list--right {
        float: right; }
        .top-hero__animal-list--right-other {
          float: right;
          margin-right: 55px; }
      .top-hero__animal-item {
        text-align: left;
        position: relative;
        margin-top: 4px; }
        .top-hero__animal-item a {
          color: #1b1b1b;
          font-size: 0.75rem;
          font-weight: 200;
          opacity: 1.0;
          -webkit-transition: opacity 0.15s linear;
          -moz-transition: opacity 0.15s linear;
          -ms-transition: opacity 0.15s linear;
          -o-transition: opacity 0.15s linear;
          transition: opacity 0.15s linear; }
          .top-hero__animal-item a:hover {
            opacity: 0.6;
            -webkit-transition: opacity 0.15s linear;
            -moz-transition: opacity 0.15s linear;
            -ms-transition: opacity 0.15s linear;
            -o-transition: opacity 0.15s linear;
            transition: opacity 0.15s linear; }
          .top-hero__animal-item a:before {
            content: "▶";
            color: #287b44;
            font-size: 0.5rem;
            position: absolute;
            left: -12px;
            margin-top: 5px; }
      .top-hero__animal-link {
        font-size: 0.85rem;
        font-weight: 100;
        letter-spacing: 0.05rem;
        position: relative; }
        .top-hero__animal-link a {
          color: #287b44;
          font-weight: 200;
          opacity: 1.0;
          -webkit-transition: opacity 0.15s linear;
          -moz-transition: opacity 0.15s linear;
          -ms-transition: opacity 0.15s linear;
          -o-transition: opacity 0.15s linear;
          transition: opacity 0.15s linear; }
          .top-hero__animal-link a:hover {
            opacity: 0.6;
            -webkit-transition: opacity 0.15s linear;
            -moz-transition: opacity 0.15s linear;
            -ms-transition: opacity 0.15s linear;
            -o-transition: opacity 0.15s linear;
            transition: opacity 0.15s linear; }
          .top-hero__animal-link a::after {
            content: "＞";
            position: absolute;
            right: -15px;
            -webkit-transform: scaleX(0.5);
            -moz-transform: scaleX(0.5);
            -ms-transform: scaleX(0.5);
            -o-transform: scaleX(0.5);
            transform: scaleX(0.5); }
  .top-quality-link {
    position: relative;
    width: 960px;
    margin: 15px auto 0; }
    .top-quality-link a {
      color: #1b1b1b;
      font-size: 1.5rem;
      letter-spacing: 0.25rem;
      display: block;
      width: 100%;
      height: 80px;
      padding: 28px 48px;
      position: relative;
      background-image: url("/images/top/top-quality-bg.png");
      background-position: left;
      box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
      -webkit-border-radius: 0.5rem;
      -moz-border-radius: 0.5rem;
      border-radius: 0.5rem; }
    .top-quality-link__en-text {
      color: #a0a0a0;
      font-style: italic;
      font-size: 0.8rem;
      letter-spacing: 0rem;
      position: absolute;
      left: 177px;
      top: 33px; }
    .top-quality-link a::after {
      content: url("/images/common/arrow.png");
      position: absolute;
      left: 324px;
      top: 29px; }
  .top-work {
    padding-top: 70px; }
    .top-work-inner {
      width: 960px;
      margin: 0 auto; }
    .top-work__title {
      text-align: center;
      font-size: 1.8rem;
      letter-spacing: 0.3rem;
      line-height: 1.6rem; }
    .top-work__en-title {
      color: #6e6e6e;
      font-size: 0.8rem;
      font-weight: 200;
      font-style: italic;
      letter-spacing: 0.05em; }
    .top-work__item {
      width: 49%;
      margin-top: 15px;
      display: inline-block; }
      .top-work__item:nth-of-type(2n) {
        margin-left: 15px; }
      .top-work__item:nth-of-type(3), .top-work__item:nth-of-type(4) {
        margin-top: 25px; }
    .top-work__thumb a {
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .top-work__thumb a:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
    .top-work__link {
      text-align: center; }
      .top-work__link a {
        color: #1b1b1b;
        font-size: 1.2rem;
        position: relative;
        display: inline-block;
        margin: 14px 0 0 -25px;
        opacity: 1.0;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
        .top-work__link a:hover {
          opacity: 0.7;
          -webkit-transition: opacity 0.15s linear;
          -moz-transition: opacity 0.15s linear;
          -ms-transition: opacity 0.15s linear;
          -o-transition: opacity 0.15s linear;
          transition: opacity 0.15s linear; }
        .top-work__link a:after {
          content: url("/images/common/arrow.png");
          position: absolute;
          right: -30px; }
    .top-work__text {
      color: #6e6e6e;
      font-size: 0.75rem;
      font-weight: 200;
      text-align: center;
      line-height: 1.3rem;
      margin-top: 10px; }
  .top-products {
    margin-top: 45px;
    padding: 50px;
    background-color: #f6f6f6; }
    .top-products-inner {
      width: 960px;
      margin: 0 auto; }
    .top-products__title {
      text-align: center;
      font-size: 1.8rem;
      letter-spacing: 0.3rem;
      line-height: 1.6rem; }
    .top-products__en-title {
      color: #6e6e6e;
      font-size: 0.8rem;
      font-weight: 200;
      font-style: italic;
      letter-spacing: 0.05em; }
    .top-products__item {
      width: 340px;
      display: inline-block;
      text-align: center;
      padding-top: 123px;
      margin-top: 25px;
      background-repeat: no-repeat;
      background-position: top center; }
      .top-products__item:nth-of-type(1) {
        margin-left: 90px;
        background-image: url("/images/top/top-products-01.png"); }
      .top-products__item:nth-of-type(2) {
        margin-left: 100px;
        background-image: url("/images/top/top-products-02.png"); }
    .top-products__link a {
      color: #1b1b1b;
      position: relative;
      font-size: 1.2rem;
      letter-spacing: 0.1rem;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .top-products__link a:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
      .top-products__link a::after {
        position: absolute;
        margin-left: 10px;
        content: url("/images/common/arrow.png"); }
    .top-products__text {
      color: #6e6e6e;
      font-size: 0.75rem;
      font-weight: 300;
      line-height: 1.3rem;
      margin-top: 11px; }
  .top-info {
    padding: 50px 50px 0; }
    .top-info-inner {
      width: 960px;
      margin: 0 auto; }
    .top-info__title {
      text-align: center;
      font-size: 1.8rem;
      letter-spacing: 0.3rem;
      line-height: 1.6rem; }
    .top-info__en-title {
      color: #6e6e6e;
      font-size: 0.8rem;
      font-weight: 200;
      font-style: italic;
      letter-spacing: 0.05em; }
    .top-info__item {
      width: 49%;
      display: inline-block;
      margin-top: 23px; }
      .top-info__item a {
        display: block;
        opacity: 1.0;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
        .top-info__item a:hover {
          opacity: 0.7;
          -webkit-transition: opacity 0.15s linear;
          -moz-transition: opacity 0.15s linear;
          -ms-transition: opacity 0.15s linear;
          -o-transition: opacity 0.15s linear;
          transition: opacity 0.15s linear; }
      .top-info__item:nth-of-type(2) {
        margin-left: 15px; }
  .top-news-data__switch {
    text-align: center;
    margin-top: 30px; }
  .top-news__link, .top-data__link {
    display: inline-block; }
    .top-news__link a, .top-data__link a {
      color: #a0a0a0;
      font-size: 1.2rem;
      display: block;
      width: 210px;
      padding: 10px 5px;
      border-bottom: 2px solid #a0a0a0;
      cursor: pointer;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .top-news__link a:hover, .top-data__link a:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
    .top-news__link--current a, .top-data__link--current a {
      color: #287b44;
      border-bottom: 2px solid #287b44; }
  .top-data__link {
    margin-left: 53px; }
  .top-news-data-outer {
    padding: 25px 0;
    background-image: url("/images/top/top-news-data-bg.png"); }
  .top-news {
    width: 960px;
    margin: 0 auto;
    opacity: 0.0;
    -webkit-transition: opacity 0.15s linear;
    -moz-transition: opacity 0.15s linear;
    -ms-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear; }
    .top-news--current {
      display: inherit;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
    .top-news--hidden {
      display: none; }
    .top-news__item {
      display: block;
      position: relative;
      background-color: #ffffff;
      width: 760px;
      margin: 0 auto 10px;
      padding: 15px;
      overflow: hidden;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      a.top-news__item:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
      .top-news__item:last-of-type {
        margin-top: 0; }
      a.top-news__item::after {
        color: #287b44;
        font-weight: 200;
        position: absolute;
        top: -webkit-calc(50% - 8px);
        top: -moz-calc(50% - 8px);
        top: -ms-calc(50% - 8px);
        top: -o-calc(50% - 8px);
        top: calc(50% - 8px);
        right: 5px;
        -webkit-transform: scaleX(0.5);
        -moz-transform: scaleX(0.5);
        -ms-transform: scaleX(0.5);
        -o-transform: scaleX(0.5);
        transform: scaleX(0.5);
        content: "＞";
        color: "green"; }
    .top-news__date {
      color: #6e6e6e;
      float: left;
      font-weight: 200;
      -webkit-transform: scaleX(1.1);
      -moz-transform: scaleX(1.1);
      -ms-transform: scaleX(1.1);
      -o-transform: scaleX(1.1);
      transform: scaleX(1.1); }
      .top-news__date-Y {
        font-size: 0.85rem; }
      .top-news__date-m-d {
        font-size: 1.2rem;
        line-height: 1.4rem; }
    .top-news__head {
      color: #287b44;
      font-size: 0.9rem;
      line-height: 1.2rem; }
    .top-news__text-outer {
      float: left;
      padding-left: 15px;
      margin-left: 15px;
      border-left: 1px solid #a0a0a0;
      max-width: 80%; }
    .top-news__text {
      color: #6e6e6e;
      font-size: 0.75rem;
      font-weight: 200;
      line-height: 1.2rem;
      padding-top: 6px; }
  .top-data {
    width: 960px;
    margin: 0 auto;
    opacity: 0.0;
    -webkit-transition: opacity 0.15s linear;
    -moz-transition: opacity 0.15s linear;
    -ms-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear; }
    .top-data--current {
      display: inherit;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
    .top-data--hidden {
      display: none; }
    .top-data__item {
      display: block;
      position: relative;
      background-color: #ffffff;
      width: 760px;
      margin: 10px auto 0 auto;
      padding: 10px 15px;
      overflow: hidden;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .top-data__item:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
      .top-data__item:nth-of-type(1) {
        margin-top: 0; }
      .top-data__item::after {
        content: "＞";
        color: #287b44;
        font-weight: 200;
        position: absolute;
        top: -webkit-calc(50% - 8px);
        top: -moz-calc(50% - 8px);
        top: -ms-calc(50% - 8px);
        top: -o-calc(50% - 8px);
        top: calc(50% - 8px);
        right: 5px;
        -webkit-transform: scaleX(0.5);
        -moz-transform: scaleX(0.5);
        -ms-transform: scaleX(0.5);
        -o-transform: scaleX(0.5);
        transform: scaleX(0.5); }
    .top-data__date {
      float: left;
      color: #6e6e6e;
      font-weight: 200;
      padding: 16px 0;
      -webkit-transform: scaleX(1.1);
      -moz-transform: scaleX(1.1);
      -ms-transform: scaleX(1.1);
      -o-transform: scaleX(1.1);
      transform: scaleX(1.1); }
      .top-data__date-Y {
        font-size: 0.85rem; }
      .top-data__date-m-d {
        font-size: 1.2rem;
        line-height: 1.4rem; }
    .top-data__head {
      color: #287b44;
      font-size: 0.9rem;
      line-height: 1.2rem; }
    .top-data__text-outer {
      float: left;
      padding: 16px 0 16px 15px;
      margin-left: 15px;
      border-left: 1px solid #a0a0a0; }
    .top-data__text {
      color: #6e6e6e;
      font-size: 0.75rem;
      font-weight: 200;
      line-height: 1.2rem;
      padding-top: 6px; }
  .top-to-datalist {
    margin-top: 20px; }
    .top-to-datalist a {
      color: #ffffff;
      font-size: 1.1rem;
      text-align: center;
      position: relative;
      display: block;
      width: 760px;
      margin: 0 auto;
      padding: 11px 0;
      background-color: #287b44;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .top-to-datalist a:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
      .top-to-datalist a::after {
        content: url("/images/common/arrow-white.png");
        position: absolute;
        top: -webkit-calc(50% - 10px);
        top: -moz-calc(50% - 10px);
        top: -ms-calc(50% - 10px);
        top: -o-calc(50% - 10px);
        top: calc(50% - 10px);
        right: 207px; }

/* =====================
  TOP-MAIN-SP
===================== */
@media (max-width: 640px) {
  .top {
    /*  hero-sp
    ------------------------*/
    /**  hero-sp end */
    /*  content
    ------------------------*/
    /** content end */ }
    .top-hero {
      min-width: 640px;
      padding: 130px 0 59px;
      background-position-y: 0;
      min-width: 640px;
      position: relative;
      padding: 108px 0 59px; }
      .top-hero-bg-01 {
        background-image: url("/images/top/top-hero-bg-sp-01.png"); }
      .top-hero-bg-02 {
        background-image: url("/images/top/top-hero-bg-sp-02.png"); }
      .top-hero__title {
        font-size: 3.2rem;
        line-height: 4rem; }
        .top-hero__title br {
          display: inherit; }
        .top-hero__title--small {
          font-size: 2.9rem; }
      .top-hero__sub-text {
        margin-top: 10px;
        font-size: 1rem; }
      .top-hero__animal-outer {
        width: 100%; }
      .top-hero__animal {
        text-align: left;
        width: 590px;
        display: block;
        margin: 10px auto 0;
        padding: 0;
        position: relative; }
      .top-hero__animal a {
        display: block;
        padding: 25px; }
        .top-hero__animal-header br {
          display: none; }
        .top-hero__animal:nth-of-type(1) {
          margin: 0 auto; }
        .top-hero__animal-list-outer {
          display: none; }
        .top-hero__animal-link {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          visibility: hidden; }
          .top-hero__animal-link a {
            display: block;
            width: 100%;
            height: 100%; }
        .top-hero__animal::after {
          content: url("/images/common/arrow.png");
          position: absolute;
          right: 20px;
          top: 27px; }
    .top-quality-link {
      width: 590px;
      margin: 20px auto 0; }
      .top-quality-link a {
        padding: 28px 25px;
        background-position-x: -230px; }
      .top-quality-link::after {
        left: inherit;
        right: 20px; }
    .top-work-inner {
      width: 100%; }
    .top-work__thumb {
      text-align: center; }
    .top-work__item {
      width: inherit;
      margin-top: 30px; }
      .top-work__item:nth-of-type(2n) {
        margin-left: inherit; }
    .top-work__text {
      font-size: 1rem;
      line-height: 1.5rem; }
    .top-products-inner {
      width: 100%; }
    .top-products__item {
      width: 450px;
      display: block;
      margin: 25px auto; }
      .top-products__item:nth-of-type(1), .top-products__item:nth-of-type(2) {
        margin-left: inherit; }
    .top-products__text {
      font-size: 1rem;
      line-height: 1.5rem; }
    .top-info-inner {
      width: 100%; }
    .top-info__item {
      width: 100%;
      text-align: center;
      display: block; }
      .top-info__item:nth-of-type(2) {
        margin-left: inherit; }
    .top-news, .top-data {
      width: 100%;
      padding: 25px; }
      .top-news__item, .top-data__item {
        width: 100%; }
      .top-news__date, .top-data__date {
        line-height: 1.5rem; }
      .top-news__head, .top-data__head {
        font-size: 1rem;
        line-height: 1.5rem; }
      a.top-news__item .top-news__text,
      a.top-data__item .top-data__text {
        display: none; }
    .top-to-datalist a {
      width: 80%;
      padding: 20px 0; }
      .top-to-datalist a::after {
        right: 20px; } }

/* ---------------------
    - COMPANY-COMMON
    - COMPANY-TOP
    - COMPANY-PROFILE
    - COMPANY-APPROACH

    - COMPANY-TOP-SP
    - COMPANY-PROFILE-SP
    - COMPANY-APPROACH-SP
--------------------- */
/* =====================
  COMPANY-COMMON
===================== */
.side-nav__child-title--company {
  font-size: 0.7rem; }

.company {
  /* =====================
  COMPANY-TOP
===================== */
  /*  hero
  ------------------------*/
  /* =====================
    COMPANY-PROFILE
  ===================== */
  /* =====================
    COMPANY-APPROACH
  ===================== */
  /* =====================
    COMPANY-RECRUIT
  ===================== */ }
  .company-content {
    margin-bottom: 100px; }
  .company__title {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
    padding: 10px 0 50px;
    text-align: center; }
  .company__message {
    font-size: 0.85rem;
    line-height: 1.5rem;
    font-weight: 300; }
  .company__sub-title {
    padding: 20px;
    background-color: #f6f6f6; }
    .company__sub-title-inner {
      font-size: 1.3rem;
      padding-left: 10px;
      border-left: 3px solid #287b44; }
  .company__sec-title {
    font-size: 1.2rem;
    padding: 12px 0;
    margin-top: -70px;
    padding-top: 80px;
    border-bottom: 2px solid #287b44; }
  .company-overview__row, .company-history__row, .company-recruit__row {
    font-size: 0.85rem;
    line-height: 1.5rem;
    padding: 15px 0;
    border-bottom: 1px solid #d2d2d2; }
  .company-overview__head, .company-history__head, .company-recruit__head {
    color: #434343;
    font-weight: 600;
    width: 140px;
    display: inline-block;
    vertical-align: top; }
  .company-recruit__head {
    width: 170px; }
  .company-overview__content, .company-history__content, .company-recruit__content {
    font-weight: 200;
    display: inline-block;
    vertical-align: top;
    width: 555px; }
  .company-recruit__content {
    width: 525px; }
  .company-recruit__content-sub {
    display: block;
    text-indent: 1.25rem; }
  .company-hero {
    background-color: #647d5b;
    background-image: url("/images/company/company-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .company-info__outer {
    width: 640px;
    margin: 45px auto 0 auto;
    text-align: center; }
  .company-info__item {
    display: inline-block;
    margin: 0 4px; }
    .company-info__item img {
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .company-info__item img:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
  .company-info__title {
    padding: 15px; }
    .company-info__title a {
      color: #000000;
      font-size: 1.2rem;
      position: relative;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .company-info__title a:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
      .company-info__title a::after {
        content: url("/images/common/arrow.png");
        position: absolute;
        right: -40px; }
  .company-info__text {
    font-size: 0.8rem;
    color: #6e6e6e; }
  .company__other-link a {
    color: #1b1b1b;
    text-align: center;
    font-size: 1.1rem;
    display: block;
    position: relative;
    width: 640px;
    padding: 15px 0;
    margin: 50px auto 0 auto;
    background-color: #f6f6f6;
    opacity: 1.0;
    -webkit-transition: opacity 0.15s linear;
    -moz-transition: opacity 0.15s linear;
    -ms-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear; }
    .company__other-link a:hover {
      opacity: 0.7;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
    .company__other-link a::after {
      content: url("/images/common/arrow.png");
      position: absolute;
      right: 15px;
      top: 13px; }
  .company-profile__sub-title {
    margin-top: 45px;
    background-image: url("/images/company/company-top.png");
    background-repeat: no-repeat; }
  .company-profile__section {
    margin-top: 60px; }
    .company-profile__section:nth-of-type(1) {
      margin-top: 20px; }
  .company-history {
    margin-bottom: 20px; }
  .company-organization__chart {
    margin-top: 30px;
    background-image: url("/images/company/company-profile-chart-01.png");
    background-repeat: no-repeat;
    width: 700px;
    height: 570px; }
  .company-network__text {
    margin-top: 15px;
    font-size: 0.9rem;
    line-height: 1.5rem; }
  .company-network__chart {
    margin-top: 30px;
    background-image: url("/images/company/company-profile-chart-02.png");
    background-repeat: no-repeat;
    width: 700px;
    height: 390px; }
  .company-approach__section {
    margin-top: 60px; }
    .company-approach__section:nth-of-type(1) {
      margin-top: 20px; }
  .company-approach__text {
    padding-top: 10px;
    font-size: 0.85rem;
    font-weight: 300;
    line-height: 1.4rem; }
  .company-approach__text-title {
    font-size: 0.9rem;
    font-weight: 600; }
  .company-approach__list {
    padding: 5px 0; }
  .company-approach__item {
    font-size: 0.85rem;
    font-weight: 300;
    line-height: 1.4rem; }
  .company-approach__charter-outer {
    margin-top: 25px;
    padding: 20px;
    background-color: #f6f6f6; }
  .company-approach__charter-title {
    font-size: 0.9rem;
    font-weight: 600; }
  .company-approach__charter-list {
    margin-top: 10px; }
  .company-approach__charter-item {
    font-size: 0.80rem;
    font-weight: 300;
    line-height: 1.6rem; }
  .company-approach__regulation-block {
    margin-top: 15px;
    padding-left: 20px; }
  .company-approach__regulation-list {
    margin-top: 10px; }
  .company-approach__regulation-item {
    font-size: 0.8rem;
    font-weight: 300;
    line-height: 1.6rem; }
  .company-approach__regulation-item a {
    color: #287b44;
    text-decoration: underline;
    }
  .company-recruit-hero {
    background-color: #647d5b;
    background-image: url("/images/company/company-recruit-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .company-recruit__text {
    font-size: 0.85rem;
    line-height: 1.5rem;
    font-weight: 300; }
  .company-recruit__sub-title {
    margin-top: 45px; }
  .company-recruit__section {
    margin-top: 60px; }
    .company-recruit__section:nth-of-type(1) {
      margin-top: 20px; }
    .company-recruit__section:nth-of-type(2) {
      margin-top: 20px; }
      .company-recruit__section:nth-of-type(2) .company-recruit__row:nth-of-type(1) {
        margin-top: 20px; }
      .company-recruit__section:nth-of-type(2) .company-recruit__row:nth-last-of-type(1) {
        border-bottom: none; }
    .company-recruit__section:nth-of-type(3) .company-recruit__text {
      margin-top: 20px; }
    .company-recruit__section:nth-of-type(3) .company-recruit__row:nth-of-type(1) {
      margin-top: 20px; }
    .company-recruit__section:nth-of-type(3) .company-recruit__row:nth-last-of-type(1) {
      border-bottom: none; }
  .company-recruit__women-table, .company-recruit__women-data {
    border: 1px solid #595959;
    border-collapse: collapse; }
  .company-recruit__women-row:nth-of-type(1) {
    background-color: #f6f6f6; }
  .company-recruit__women-table {
    margin: 20px 0 0 0; }
  .company-recruit__women-data {
    padding: 3px 10px;
    text-align: center; }

@media (max-width: 640px) {
  /* =====================
    COMPANY-COMMON-SP
  ===================== */
  .side-nav__child-title--company {
    font-size: 1.0rem; }
  .company {
    /* =====================
      COMPANY-TOP-SP
    ===================== */
    /* =====================
      COMPANY-PROFILE-SP
    ===================== */
    /* =====================
      COMPANY-PROFILE-SP
    ===================== */ }
    .company-info__outer {
      width: 100%; }
    .company__other-link a {
      width: 100%; }
    .company__message {
      font-size: 1.0rem;
      line-height: 1.7rem; }
    .company-info__text {
      font-size: 1.0rem; }
    .company-info__item:nth-of-type(2) {
      margin-top: 50px; }
    .company-organization__chart, .company-network__chart {
      height: 490px;
      width: 600px;
      background-size: 100%; }
    .company-recruit__text {
      font-size: 1.0rem;
      line-height: 1.7rem; } }

/* ---------------------
    - SERVICE-COMMON
    - SERVICE-TOP
    - SERVICE-PROFILE
    - SERVICE-APPROACH

    - SERVICE-SP
    - SERVICE-SURGERY-SP
    - SERVICE-GEN-SP
    - SERVICE-SPF-SP
    - SERVICE-TESTS-SP
--------------------- */
/* =====================
  SERVICE-COMMON
===================== */
.side-nav__child-title--service {
  font-size: 0.7rem; }

.service {
  /*  hero
  ------------------------*/
  /* =====================
    SERVICE-TOP
  ===================== */
  /* =====================
    SERVICE-TESTS
  ===================== */
  /* =====================
    SERVICE-GENETIC
  ===================== */
  /* =====================
    SERVICE-SPF
  ===================== */
  /* =====================
    SERVICE-TOP
  ===================== */ }
  .service-content {
    margin-bottom: 100px; }
  .service__top-message {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
    padding: 10px 0 50px;
    text-align: center; }
  .service__text {
    font-size: 0.85rem;
    line-height: 1.5rem;
    font-weight: 300; }
  .service__title-outer {
    margin-top: 70px;
    padding: 20px;
    background-color: #f6f6f6; }
    .service__title-outer--01 {
      background-image: url("/images/service/service-tests-title.png"); }
    .service__title-outer--02 {
      background-image: url("/images/service/service-gen-title-01.png"); }
    .service__title-outer--03 {
      background-image: url("/images/service/service-spf-title-01.png"); }
    .service__title-outer--04 {
      background-image: url("/images/service/service-surgery-title-01.png"); }
    .service__title-outer--05 {
      background-image: url("/images/service/service-cro-title-01.png"); }
  .service__title {
    font-size: 1.3rem;
    padding-left: 10px;
    border-left: 3px solid #287b44; }
  .service-hero {
    background-color: #647d5b;
    background-image: url("/images/service/service-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .service-top__test-list, .service-top__model-list {
    padding: 30px 240px 90px 0;
    width: 700px;
    background-image: url("/images/service/service-image-01.png"), url("/images/service/service-image-02.png");
    background-position: right 30px,
 right 210px;
    background-repeat: no-repeat,
 no-repeat; }
  .service-top__cro-list {
    padding: 30px 240px 110px 0;
    width: 700px;
    background-image: url("/images/service/service-image-07.png");
    background-position: right top 30px;
    background-repeat: no-repeat; }
  .service-top__test-item a, .service-top__model-item a {
    color: #287b44;
    font-size: 0.89rem;
    font-weight: 600;
    position: relative;
    line-height: 1.9rem;
    padding-left: 20px;
    opacity: 1.0;
    -webkit-transition: opacity 0.15s linear;
    -moz-transition: opacity 0.15s linear;
    -ms-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear; }
    .service-top__test-item a::before, .service-top__model-item a::before {
      content: "＞";
      font-weight: 200;
      position: absolute;
      left: -0px;
      -webkit-transform: scaleX(0.6);
      -moz-transform: scaleX(0.6);
      -ms-transform: scaleX(0.6);
      -o-transform: scaleX(0.6);
      transform: scaleX(0.6); }
    .service-top__test-item a:hover, .service-top__model-item a:hover {
      opacity: 0.7;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
  .service-top__model-list {
    padding: 30px 240px 90px 0;
    width: 700px;
    background-image: url("/images/service/service-image-06.png");
    background-position: right 30px; }
  .service-top__gen-overview-outer, .service-top__spf-overview-outer {
    padding-right: 265px;
    background-image: url("/images/service/service-image-03.png"), url("/images/service/service-image-04.png");
    background-position: right 10px,
 right 180px;
    background-repeat: no-repeat,
 no-repeat; }
  .service-top__gen-link, .service-top__spf-link {
    margin-top: 25px; }
    .service-top__gen-link a, .service-top__spf-link a {
      color: #287b44;
      font-size: 0.89rem;
      font-weight: 600;
      position: relative;
      line-height: 1.9rem;
      padding-left: 20px;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .service-top__gen-link a::before, .service-top__spf-link a::before {
        content: "＞";
        font-weight: 200;
        position: absolute;
        left: -0px;
        -webkit-transform: scaleX(0.6);
        -moz-transform: scaleX(0.6);
        -ms-transform: scaleX(0.6);
        -o-transform: scaleX(0.6);
        transform: scaleX(0.6); }
      .service-top__gen-link a:hover, .service-top__spf-link a:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
  .service-top__gen-text, .service-top__spf-text {
    font-size: 0.85rem;
    line-height: 1.4rem;
    font-weight: 300; }
  .service-top__gen-list, .service-top__spf-list {
    padding: 10px;
    background-color: #e9f2ec;
    margin-top: 10px; }
  .service-top__gen-item, .service-top__spf-item {
    font-size: 0.75rem;
    font-weight: 300;
    line-height: 1.1rem;
    position: relative;
    text-indent: -0.85rem;
    margin-top: 5px; }
    .service-top__gen-item:nth-of-type(1), .service-top__spf-item:nth-of-type(1) {
      margin-top: 0; }
    .service-top__gen-item::before, .service-top__spf-item::before {
      content: "■";
      font-size: 0.5rem;
      color: #287b44;
      margin-left: 10px;
      -webkit-transform: scale(0.6);
      -moz-transform: scale(0.6);
      -ms-transform: scale(0.6);
      -o-transform: scale(0.6);
      transform: scale(0.6); }
  .service-top__spf-overview-outer {
    padding-right: 265px;
    background-image: url("/images/service/service-image-05.png");
    background-position: right 10px; }
  .service__tests {
    /* tests-sec01 */
    /* tests-sec02 */
    /* tests-sec05 */
    /* tests-sec11 & tests-sec12 */ }
    .service__tests-section {
      margin-top: 40px; }
    .service__tests-section a.link {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.3rem;
      margin-left: 10px;
      color: #539569;
      font-weight: 700;
      text-decoration: underline; }
    .service__tests-section a.link:before {
      content: '▶'; }
    .service__tests-section .link-wrap {
      margin-top: 10px;
      padding-left: 30px;
      }
    .service__tests-section .link-wrap  a.link { margin-left: 0; }
    .service__tests-text, .service__tests-main-text {
      font-size: 0.85rem;
      line-height: 1.4rem;
      font-weight: 300;
      margin-top: 20px; }
    .service__tests-text {
      margin-top: 10px; }
    .service__tests-title-outer:nth-of-type(1) {
      margin-top: 0;
      background-image: url("/images/service/service-tests-title.png");
      background-position: right;
      background-repeat: no-repeat; }
    .service__tests-sec-title {
      font-size: 1.2rem;
      padding: 12px 0;
      margin-top: -70px;
      padding-top: 80px;
      border-bottom: 2px solid #287b44; }
    .service__tests-sec01 {
      position: relative; }
      .service__tests-sec01-head {
        font-size: 1rem;
        font-weight: 600;
        margin-top: 25px; }
        .service__tests-sec01-head::before {
          content: "■";
          font-size: 1rem;
          color: #287b44; }
      .service__tests-sec01-item {
        font-size: 0.85rem;
        font-weight: 300;
        line-height: 1.4rem;
        margin-top: 5px; }
        .service__tests-sec01-item::before {
          content: "・";
          color: #287b44; }
        .service__tests-sec01-item a {
          color: #287b44; }
      .service__tests-sec01-list {
        display: flex;
        align-items: flex-start;
        justify-content: space-between; }
        .service__tests-sec01-list__item {
          padding-right: 20px; }
        .service__tests-sec01-list__fig {
          margin-top: 25px; }
          .service__tests-sec01-list__fig figure {
            margin: 0; }
          .service__tests-sec01-list__fig figcaption {
            font-size: 0.85rem;
            font-weight: 300;
            margin-top: 10px;
            text-align: right; }
    .service__tests-list {
      margin-top: 10px;
      background-repeat: no-repeat; }
    .service__tests-sec02 {
      position: relative; }
      .service__tests-sec02-list {
        position: relative;
        background-image: url("/images/service/service-image-01.png");
        background-position: right 5px; }
      .service__tests-sec02-cap {
        font-size: 0.85rem;
        font-weight: 300;
        position: absolute;
        top: 295px;
        right: 0px; }
    .service__tests-item {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.3rem;
      margin-top: 5px; }
      .service__tests-item:nth-of-type(1) {
        margin-top: 0; }
      .service__tests-item::before {
        content: "■";
        font-size: 0.85rem;
        font-weight: 300;
        color: #539569;
        margin-right: 5px; }
    .service__tests-sec05-head {
      font-size: 0.85rem;
      font-weight: 600;
      margin-top: 25px; }
      .service__tests-sec05-head::before {
        content: "■";
        font-size: 1rem;
        color: #287b44; }
    .service__tests-sec05-item {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.3rem;
      margin-top: 5px;
      margin-left: 1.9rem;
      text-indent: -1.9rem; }
    .service__tests-sec05-outer {
      position: relative;
      padding-right: 264px;
      background-image: url("/images/service/service-tests-image-02.png"), url("/images/service/service-tests-image-03.png"), url("/images/service/service-tests-image-04.png");
      background-position: right 0px,
 right 220px,
 right 425px;
      background-repeat: no-repeat,
 no-repeat,
 no-repeat; }
    .service__tests-sec05-cap1 {
      font-size: 0.85rem;
      font-weight: 300;
      position: absolute;
      top: 180px;
      right: 0px; }
    .service__tests-sec05-cap2 {
      font-size: 0.85rem;
      font-weight: 300;
      position: absolute;
      top: 610px;
      right: 0px; }
    .service__tests-sec11-list-outer, .service__tests-sec12-list-outer {
      padding: 0 0 30px 0;
      position: relative; }
    .service__tests-sec11-head, .service__tests-sec12-head {
      font-size: 1rem;
      font-weight: 600;
      padding-top: 10px; }
      .service__tests-sec11-head--first, .service__tests-sec12-head--first {
        padding-top: 20px; }
      .service__tests-sec11-head::before, .service__tests-sec12-head::before {
        content: "■";
        font-size: 1rem;
        color: #287b44; }
    .service__tests-sec11-text, .service__tests-sec12-text {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.4rem;
      margin-top: 5px; }
    .service__tests-sec11-cap, .service__tests-sec12-cap {
      font-size: 0.85rem;
      font-weight: 300;
      position: absolute;
      width: 270px;
      top: 260px;
      right: -5px;
      line-height: 1rem; }
      .service__tests-sec11-list {
        display: flex;
        align-items: flex-start;
        justify-content: space-between; }
        .service__tests-sec11-list__item {
          padding-right: 20px; }
          .service__tests-sec11-list__item dl {
            margin-bottom: 15px; }
          .service__tests-sec11-list__item dl:last-child {
            margin-bottom: 0; }
        .service__tests-sec11-list__fig {
          max-width: 265px;
          margin-top: 25px; }
          .service__tests-sec11-list__fig figure {
            margin: 0 0 20px; }
          .service__tests-sec11-list__fig figure:last-child {
            margin: 0; }
          .service__tests-sec11-list__fig figcaption {
            font-size: 0.75rem;
            font-weight: 300;
            line-height: 1.25;
            margin-top: 10px;
            text-align: left; }
    .service__tests-sec12-list-outer {
      padding: 0 300px 130px 0;
      background-image: url("/images/service/service-tests-image-07.png");
      background-position: right 20px; }
    .service__tests-sec12-cap {
      width: 270px;
      top: 280px;
      right: -5px;
      line-height: 1rem; }
    .service__tests-price {
      border: 1px solid #287b44;
      margin-top: 8px; }
      .service__tests-price-outer--sec11 {
        padding-bottom: 260px;
        background-image: url("/images/service/service-tests-image-06.png");
        background-repeat: no-repeat;
        padding-bottom: 265px; }
      .service__tests-price-head {
        font-size: 0.9rem;
        color: #ffffff;
        background-color: #287b44;
        display: inline-block;
        text-align: center;
        width: 90px;
        padding: 5px 0px; }
      .service__tests-price-data {
        font-size: 0.9rem;
        display: inline-block;
        text-align: center;
        width: -webkit-calc(100% - 100px);
        width: -moz-calc(100% - 100px);
        width: -ms-calc(100% - 100px);
        width: -o-calc(100% - 100px);
        width: calc(100% - 100px); }
      .service__tests-price-notice {
        font-size: 0.78rem;
        font-weight: 300;
        text-align: right;
        padding-top: 8px; }
  .service__cro {
    /* cro-section-01 */
    /* cro-section-02 */
    /* cro-section-03 */
    /* cro-section-04 */
    /* cro-section-05 */ }
    .service__cro-map { margin-top: 50px; }
    .service__cro-mapfig {}
    .service__cro-mapfig img { max-width: 100%; }
    .service__cro-section {
      margin-top: 50px; }
    .service__cro-text, .service__cro-main-text {
      font-size: 0.85rem;
      line-height: 1.4rem;
      letter-spacing: 0.5px;
      font-weight: 300;
      margin-top: 15px; }
    .service__cro-title-outer:nth-of-type(1) {
      margin-top: 0;
      background-image: url("/images/service/service-cro-title.png");
      background-position: right;
      background-repeat: no-repeat; }
    .service__cro-section {}
    .service__cro-sec-title {
      border-bottom: 2px solid #287b44;
      padding-bottom: 10px;
      display: flex;
      align-items: center;
      justify-content: flex-start;
      }
    .service__cro-sec-title img { max-width: 150px; }
    .service__cro-sec-title span {
      font-size: 0.85rem;
      margin-left: 20px;
      }
    .service__cro-link {
      border: 1px solid #287b44;
      font-size: 0.85rem;
      margin-top: 15px;
      overflow: hidden;
      display: inline-flex;
      align-items: center;
      justify-content: flex-start;
      border-radius: 3px;
      }
    .service__cro-link dt {
      background-color: #287b44;
      color: #fff;
      padding: 7.5px 10px;
      }
    .service__cro-link dd {
      padding: 7.5px 20px;
      }
    .service__cro-link dd a {
      color: #287b44;
      text-decoration: underline;
      }
  .service__gen {
    /* genetic-section-01 */
    /* genetic-section-02 */
    /* genetic-section-03 */
    /* genetic-section-04 */
    /* genetic-section-05 */ }
    .service__gen-title-outer {
      margin-top: 0px;
      background-image: url("/images/service/service-gen-title-01.png");
      background-position: top right;
      background-repeat: no-repeat; }
    .service__gen-section {
      margin-top: 40px; }
    .service__gen-sec-title {
      font-size: 1.2rem;
      padding: 12px 0;
      margin-top: -70px;
      padding-top: 80px;
      border-bottom: 2px solid #287b44; }
    .service__gen-sec01__block-outer {
      padding-top: 30px; }
    .service__gen-sec01__text {
      font-size: 0.85rem;
      font-weight: 300;
      padding-top: 15px; }
    .service__gen-sec01__list {
      font-size: 0.85rem;
      font-weight: 300;
      padding-top: 30px; }
    .service__gen-sec01__item {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.5;
      padding-top: 10px;
      display: flex;
      align-items: flex-start; }
      .service__gen-sec01__item:nth-of-type(1) {
        padding-top: 0; }
      .service__gen-sec01__item::before {
        content: "■";
        color: #287b44;
        margin-right: 3px; }
    .service__gen-sec01__samples {
      float: left;
      padding: 10px 0 15px 0;
      width: 338px;
      background-color: #e8e8e8; }
      .service__gen-sec01__samples-title {
        text-align: center;
        font-weight: bold;
        color: #287b44;
        padding-bottom: 10px; }
      .service__gen-sec01__samples-item {
        font-size: 0.85rem;
        padding: 10px 0 0 50px; }
        .service__gen-sec01__samples-item::before {
          content: "・";
          color: #287b44; }
    .service__gen-sec01__period {
      float: left;
      padding: 10px 0 15px 0;
      margin-left: 20px;
      width: 338px;
      background-color: #e8e8e8;
      background-image: url("/images/service/service-gen-line.png");
      background-repeat: no-repeat;
      background-position: 205px 55px;
      position: relative; }
      .service__gen-sec01__period-title {
        text-align: center;
        font-weight: bold;
        color: #287b44;
        padding-bottom: 10px; }
      .service__gen-sec01__period-item {
        font-size: 0.85rem;
        padding: 10px 0 0 50px; }
        .service__gen-sec01__period-item::before {
          content: "・";
          color: #287b44; }
        .service__gen-sec01__period-item--prtiod {
          position: absolute;
          font-size: 0.85rem;
          top: 60px;
          right: 40px; }
    .service__gen-sec01__notice {
      text-align: right;
      font-size: 0.7rem;
      font-weight: 300;
      padding-top: 10px; }
    .service__gen-sec02__cont-outer {
      padding-left: 176px;
      background-image: url("/images/service/service-gen-image-01.png"), url("/images/service/service-gen-image-02.png");
      background-repeat: no-repeat, no-repeat;
      background-position: left 30px, 540px 420px; }
    .service__gen-sec02__block:nth-of-type(1) {
      padding-top: 35px; }
    .service__gen-sec02__block:nth-of-type(2) {
      padding-top: 55px; }
    .service__gen-sec02__block:nth-of-type(3) {
      padding-top: 45px; }
    .service__gen-sec02__block:nth-of-type(4) {
      padding-top: 27px; }
    .service__gen-sec02__block:nth-of-type(5) {
      padding-top: 55px; }
      .service__gen-sec02__block:nth-of-type(5) .service__gen-sec02__block-text {
        padding-bottom: 120px;
        background-image: url("/images/service/service-gen-image-03.png");
        background-repeat: no-repeat;
        background-position: left 30px; }
    .service__gen-sec02__block-text {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.4rem; }
      .service__gen-sec02__block-text--notice {
        font-size: 0.7rem;
        font-weight: 300;
        line-height: 1.1rem; }
    .service__gen-sec03__block {
      margin-top: 20px; }
      .service__gen-sec03__block-outer {
        padding-top: 440px;
        background-image: url("/images/service/service-gen-image-04.png");
        background-repeat: no-repeat;
        background-position: left 20px; }
      .service__gen-sec03__block-cont {
        background-color: #e8e8e8;
        padding: 15px; }
      .service__gen-sec03__block-title {
        color: #ffffff;
        font-size: 1.05rem;
        padding: 5px 0 5px 15px; }
        .service__gen-sec03__block-title--mouse {
          background-color: #1E8147; }
        .service__gen-sec03__block-title--rat {
          background-color: #a06999; }
        .service__gen-sec03__block-title--option {
          background-color: #ec879c; }
      .service__gen-sec03__block-item {
        font-size: 0.85rem;
        font-weight: 300;
        line-height: 1.1rem;
        padding: 1px;
        text-indent: -14px;
        padding-left: 14px; }
        .service__gen-sec03__block-item::before {
          content: "■";
          margin-right: 1px; }
        .service__gen-sec03__block-item--mouse::before {
          color: #1E8147; }
        .service__gen-sec03__block-item--rat::before {
          color: #a06999; }
        .service__gen-sec03__block-item--option::before {
          color: #ec879c; }
    .service__gen-sec03__est-block {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      position: relative;
      float: left;
      width: 290px;
      height: 80px;
      background-color: #ffffff;
      border: 1px solid #ff0000;
      padding: 8px;
      margin-top: 15px; }
    .service__gen-sec03__est-title {
      color: #ff0000;
      width: 100px;
      float: left; }
    .service__gen-sec03__est-text {
      color: #ff0000; }
    .service__gen-sec03__est-notice {
      font-size: 0.5rem;
      position: absolute;
      bottom: 2px;
      right: 0px; }
    .service__gen-sec03__service-block {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      float: left;
      background-color: #ffffff;
      margin: 15px 0 0 0;
      /*
      height: 80px;
      width: 360px;
      margin: 15px 0 0 20px;
      */
       }
    .service__gen-sec03__service-title {
      color: #eb6100;
      text-align: center;
      background-color: #fdeacc; }
    .service__gen-sec03__service-text {
      padding: 4px 8px 8px 8px; }
    .service__gen-sec04__block {
      margin-top: 20px; }
      .service__gen-sec04__block-outer {
        padding-top: 430px;
        background-image: url("/images/service/service-gen-image-05.png");
        background-repeat: no-repeat;
        background-position: left 20px; }
      .service__gen-sec04__block-cont {
        background-color: #e8e8e8;
        padding: 15px; }
      .service__gen-sec04__block-title {
        color: #ffffff;
        font-size: 1.05rem;
        padding: 5px 0 5px 15px; }
        .service__gen-sec04__block-title--mouse {
          background-color: #f4aa29; }
        .service__gen-sec04__block-title--option {
          background-color: #ec879c; }
      .service__gen-sec04__block-item {
        font-size: 0.85rem;
        font-weight: 300;
        line-height: 1.1rem;
        padding: 1px;
        text-indent: -14px;
        padding-left: 14px; }
        .service__gen-sec04__block-item::before {
          content: "■";
          margin-right: 1px; }
        .service__gen-sec04__block-item--mouse::before {
          color: #f4aa29; }
        .service__gen-sec04__block-item--option::before {
          color: #ec879c; }
    .service__gen-sec04__est-block {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      position: relative;
      float: left;
      width: 290px;
      height: 150px;
      background-color: #ffffff;
      border: 1px solid #ff0000;
      padding: 8px;
      margin-top: 15px; }
    .service__gen-sec04__est-title {
      color: #ff0000;
      width: 100px;
      float: left; }
    .service__gen-sec04__est-text {
      color: #ff0000; }
    .service__gen-sec04__est-notice {
      text-align: right;
      font-size: 0.5rem;
      position: absolute;
      bottom: 2px;
      right: 0px; }
    .service__gen-sec04__est-alert {
      background-color: #fce5e7;
      padding: 5px;
      margin-top: 8px; }
    .service__gen-sec04__dgm-notice-list {
      font-size: 0.7rem;
      font-weight: 300;
      line-height: 1.1rem;
      padding: 0 0 10px 335px; }
    .service__gen-sec04__service-block {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      float: left;
      width: 360px;
      height: 150px;
      background-color: #ffffff;
      margin: 15px 0 0 20px; }
    .service__gen-sec04__service-title {
      color: #eb6100;
      text-align: center;
      background-color: #fdeacc; }
    .service__gen-sec04__service-list {
      padding: 0px 8px 8px 8px; }
    .service__gen-sec04__service-item {
      padding-top: 4px;
      text-indent: -14px;
      padding-left: 14px; }
      .service__gen-sec04__service-item::before {
        content: "・"; }
    .service__gen-sec05__list {
      margin-top: 10px; }
    .service__gen-sec05__item {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      padding: 5px 0 0 14px;
      text-indent: -14px; }
      .service__gen-sec05__item::before {
        content: "■";
        color: #287b44;
        margin-right: 3px; }
    .service__gen-sec05__item--notice {
      font-size: 0.5rem; }
    .service__gen-sec05__notice-list {
      padding: 10px 0px 0px 185px; }
    .service__gen-sec05__notice-item {
      font-size: 0.7rem;
      font-weight: 300;
      line-height: 1.1rem; }
  .service__spf {
    /* spf-section01 */
    /* spf-section02 */
    /* spf-section03 */
    /* spf-section04 */
    /* spf-section04 */ }
    .service__spf-title-outer {
      margin-top: 0px;
      background-image: url("/images/service/service-spf-title-01.png");
      background-position: top right;
      background-repeat: no-repeat; }
    .service__spf-section {
      margin-top: 40px; }
    .service__spf-sec-title {
      font-size: 1.2rem;
      padding: 12px 0;
      margin-top: -70px;
      padding-top: 80px;
      border-bottom: 2px solid #287b44; }
      .service__spf-sec-title--sec01 {
        font-size: 1.2rem;
        padding: 12px 0;
        padding-top: 40px;
        border-bottom: 2px solid #287b44;
        margin-top: 0px; }
      .service__spf-sec-title span {
        font-size: 0.85rem;
        margin-left: 10px; }
    .service__spf-sec01__text {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.4rem;
      padding-top: 20px; }
    .service__spf-sec01__title {
      font-size: 1.1rem;
      padding-top: 30px; }
    .service__spf-sec01__table-outer {
      margin-top: 15px; }
    .service__spf-sec01__table {
      width: 330px;
      float: left; }
    .service__spf-sec01__table, .service__spf-sec01__t-row, .service__spf-sec01__t-head, .service__spf-sec01__t-data {
      border: 1px solid #d2d2d2;
      border-collapse: collapse; }
    .service__spf-sec01__t-head, .service__spf-sec01__t-data {
      font-size: 0.9rem;
      font-weight: 300;
      text-align: center;
      padding: 3px;
      width: 30px;
      height: 25px; }
    .service__spf-sec01__t-head {
      background: #ebf0e1; }
    .service__spf-sec01__list {
      float: left;
      margin-left: 20px;
      font-size: 0.75rem; }
    .service__spf-sec01__item {
      line-height: 1.2rem; }
    .service__spf-sec02__list {
      margin-top: 10px; }
    .service__spf-sec02__item {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      padding: 5px 0 0 14px;
      text-indent: -14px;
      letter-spacing: -0.055rem; }
      .service__spf-sec02__item::before {
        content: "■";
        color: #287b44;
        margin-right: 3px; }
    .service__spf-sec02__dgm {
      margin-top: 25px;
      height: 420px;
      background-image: url("/images/service/service-spf-image-03.png");
      background-repeat: no-repeat;
      background-image: url("/images/service/service-spf-image-03.png"), url("/images/service/service-spf-image-01.png"), url("/images/service/service-spf-image-02.png");
      background-position: top left,
 bottom left,
 bottom right;
      background-repeat: no-repeat,
 no-repeat,
 no-repeat; }
    .service__spf-sec02__fee-block {
      margin-top: 20px;
      background-color: #e8e8e8; }
    .service__spf-sec02__fee-title {
      font-size: 0.95rem;
      color: #ffffff;
      background-color: #1E8147;
      padding: 5px 0 5px 15px; }
      .service__spf-sec02__fee-title span {
        font-size: 0.7rem; }
    .service__spf-sec02__fee-cont {
      margin: 18px 15px 0 15px;
      padding-bottom: 20px; }
      .service__spf-sec02__fee-cont-title {
        font-weight: 600;
        color: #287b44; }
      .service__spf-sec02__fee-cont:nth-of-type(1) {
        border-bottom: 1px solid #ffffff; }
    .service__spf-sec02__fee-data {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.2rem;
      color: #ff0000; }
    .service__spf-sec02__fee-data-outer {
      background-color: #ffffff;
      width: 340px;
      margin-top: 18px;
      padding: 5px 10px;
      border: 1px solid #ff0000;
      position: relative; }
    .service__spf-sec02__fee-notice {
      font-size: 0.6rem;
      font-weight: 300;
      position: absolute;
      right: 10px;
      bottom: 5px; }
    .service__spf-sec02__fee-list {
      margin-top: 5px; }
    .service__spf-sec02__fee-item {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      padding: 1px;
      text-indent: -14px;
      padding-left: 14px; }
      .service__spf-sec02__fee-item::before {
        content: "■";
        color: #287b44;
        margin-right: 1px; }
    .service__spf-sec02__fee-notice--main {
      margin-top: 10px; }
      .service__spf-sec02__fee-notice--main p {
        font-size: 0.7rem;
        font-weight: 300;
        text-indent: -33px;
        line-height: 1.1rem;
        padding: 2px 0 2px 33px; }
        .service__spf-sec02__fee-notice--main p::before {
          color: #ff0000;
          font-weight: 700; }
        .service__spf-sec02__fee-notice--main p:nth-of-type(1)::before {
          content: "注１";
          margin-right: 10px; }
        .service__spf-sec02__fee-notice--main p:nth-of-type(2)::before {
          content: "注２";
          margin-right: 10px; }
    .service__spf-sec03__list {
      margin-top: 10px; }
    .service__spf-sec03__item {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      padding: 5px 0 0 14px;
      text-indent: -14px;
      letter-spacing: -0.06rem; }
      .service__spf-sec03__item::before {
        content: "■";
        color: #287b44;
        margin-right: 3px; }
    .service__spf-sec03__dgm {
      margin-top: 25px;
      height: 400px;
      background-image: url("/images/service/service-spf-image-04.png");
      background-repeat: no-repeat; }
    .service__spf-sec03__fee-block {
      margin-top: 20px;
      background-color: #e8e8e8; }
    .service__spf-sec03__fee-title {
      font-size: 0.95rem;
      color: #ffffff;
      background-color: #a06999;
      padding: 5px 0 5px 15px; }
      .service__spf-sec03__fee-title span {
        font-size: 0.8rem;
        margin: 0 2px; }
    .service__spf-sec03__fee-cont {
      margin: 18px 15px 0 15px;
      padding-bottom: 20px; }
      .service__spf-sec03__fee-cont-title {
        font-weight: 600;
        color: #287b44; }
      .service__spf-sec03__fee-cont:nth-of-type(1) {
        border-bottom: 1px solid #ffffff; }
    .service__spf-sec03__fee-data {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.2rem;
      color: #ff0000; }
    .service__spf-sec03__fee-data-outer {
      background-color: #ffffff;
      width: 420px;
      margin-top: 18px;
      padding: 5px 10px;
      border: 1px solid #ff0000;
      position: relative; }
    .service__spf-sec03__fee-notice {
      font-size: 0.6rem;
      font-weight: 300;
      position: absolute;
      right: 10px;
      bottom: 10px; }
    .service__spf-sec03__fee-list {
      margin-top: 5px; }
    .service__spf-sec03__fee-item {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      padding: 1px;
      text-indent: -14px;
      padding-left: 14px; }
      .service__spf-sec03__fee-item::before {
        content: "■";
        color: #a06999;
        margin-right: 1px; }
    .service__spf-sec03__fee-notice--main {
      margin-top: 10px; }
      .service__spf-sec03__fee-notice--main p {
        font-size: 0.7rem;
        font-weight: 300;
        text-indent: -33px;
        line-height: 1.1rem;
        padding: 2px 0 2px 33px; }
        .service__spf-sec03__fee-notice--main p:nth-of-type(1)::before {
          content: "注3";
          margin-right: 10px; }
    .service__spf-sec04__text {
      font-size: 0.85rem;
      line-height: 1.5;
      font-weight: 300;
      padding-top: 20px; }
      .service__spf-sec04__text span {
        font-size: 0.7rem;
        font-weight: 300; }
    .service__spf-sec04__table {
      width: 100%;
      margin-top: 20px; }
    .service__spf-sec04__table, .service__spf-sec04__t-row, .service__spf-sec04__t-head, .service__spf-sec04__t-data {
      border: 1px solid #d2d2d2;
      border-collapse: collapse; }
    .service__spf-sec04__t-head, .service__spf-sec04__t-data {
      font-size: 0.9rem;
      font-weight: 300;
      text-align: center;
      padding: 3px;
      width: 30px;
      height: 25px; }
    .service__spf-sec04__t-head {
      width: 15%;
      background: #ebf0e1; }
    .service__spf-sec04__notice {
      font-size: 0.7rem;
      font-weight: 300;
      line-height: 1.1rem;
      padding-top: 10px; }
    .service__spf-sec05__text {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.4rem;
      padding: 20px 0 250px 0;
      background-image: url("/images/service/service-spf-image-05.png"), url("/images/service/service-spf-image-06.png");
      background-position: bottom left,
 bottom right;
      background-repeat: no-repeat,
 no-repeat; }
  .service__sgr {
    /* section03 */
    /* section04 */
    /* section05 */ }
    .service__sgr-section {
      margin-top: 40px; }
    .service__sgr-title-outer {
      margin-top: 0;
      background-image: url(/images/service/service-surgery-title-01.png);
      background-position: right;
      background-repeat: no-repeat; }
    .service__sgr-sec__title {
      font-size: 1.2rem;
      padding: 12px 0;
      margin-top: -70px;
      padding-top: 80px;
      border-bottom: 2px solid #287b44; }
      .service__sgr-sec__title span {
        font-size: 0.85rem;
        margin-left: 20px; }
    .service__sgr-sec__list {
      padding-top: 6px; }
    .service__sgr-sec__item {
      font-size: 0.85rem;
      font-weight: 300;
      line-height: 1.1rem;
      padding-top: 5px; }
      .service__sgr-sec__item::before {
        content: "■";
        color: #287b44;
        margin-right: 3px; }
      .service__sgr-sec__item--sec01 {
        float: left;
        width: -webkit-calc(33.33333%);
        width: -moz-calc(33.33333%);
        width: -ms-calc(33.33333%);
        width: -o-calc(33.33333%);
        width: calc(33.33333%); }
      .service__sgr-sec__item--sec03 {
        float: left;
        width: -webkit-calc(50%);
        width: -moz-calc(50%);
        width: -ms-calc(50%);
        width: -o-calc(50%);
        width: calc(50%); }
      .service__sgr-sec__item--sec03b {
        float: left;
        margin-right: 12px; }
        .service__sgr-sec__item--sec03b:nth-of-type(1) {
          margin-right: 25px; }
    .service__sgr-sec03__text {
      color: #287b44;
      padding-top: 20px; }
    .service__sgr-sec04__table {
      height: 874px;
      background-image: url("/images/service/service-surgery-image-01.png");
      background-position: bottom left;
      background-repeat: no-repeat;
      margin-top: 15px; }
    .service__sgr-sec05__text {
      font-size: 0.85rem;
      font-weight: 300;
      padding: 8px;
      text-align: center;
      background-color: #e8e8e8;
      margin-top: 20px; }

@media (max-width: 640px) {
  /* =====================
    SERVICE-SP
  ===================== */
  .side-nav__child-title--service {
    font-size: 1.0rem; }
  .service {
    /* =====================
      SERVICE-SURGERY-SP
    ===================== */
    /* =====================
      SERVICE-GEN-SP
    ===================== */
    /* =====================
      SERVICE-SPF-SP
    ===================== */
    /* =====================
      SERVICE-TESTS-SP
    ===================== */ }
    .service-top__test-list {
      width: 100%;
      padding: 30px 0 240px 0;
      background-position: left 310px, 250px 310px; }
    .service-top__model-list {
      width: 100%; }
    .service-top__cro-list {
      width: 100%; }
    .service__sgr-sec04__table {
      width: 690px; }
      .service__sgr-sec04__table--outer {
        overflow-x: auto; }
        .service__sgr-sec04__table--outer::-webkit-scrollbar {
          height: 5px; }
        .service__sgr-sec04__table--outer::-webkit-scrollbar-track {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
          background: #eee; }
        .service__sgr-sec04__table--outer::-webkit-scrollbar-thumb {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
          background: #666; }
    .service__gen-sec01__samples {
      width: 290px; }
      .service__gen-sec01__samples-item {
        padding: 10px 0 0 25px; }
    .service__gen-sec01__period {
      width: 290px; }
      .service__gen-sec01__period-item {
        padding: 10px 0 0 25px; }
    .service__gen-sec02__cont-outer {
      background-position: left 30px, 444px 420px; }
    .service__gen-sec03__block-outer {
      background-size: 100%;
      padding-top: 370px; }
    .service__gen-sec03__est-block {
      width: 270px; }
    .service__gen-sec03__service-block {
      width: 290px;
      margin: 15px 0 0 10px; }
    .service__gen-sec04__block-outer {
      background-size: 100%;
      padding-top: 370px; }
    .service__gen-sec04__est-block {
      width: 270px;
      height: 170px; }
    .service__gen-sec04__service-block {
      width: 290px;
      margin: 15px 0 0 10px;
      height: 170px; }
    .service__spf-section01 {
      background-size: 50%;
      padding-bottom: 180px; }
    .service__spf-sec02__dgm {
      width: 700px; }
      .service__spf-sec02__dgm--outer {
        overflow-x: auto; }
        .service__spf-sec02__dgm--outer::-webkit-scrollbar {
          height: 5px; }
        .service__spf-sec02__dgm--outer::-webkit-scrollbar-track {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
          background: #eee; }
        .service__spf-sec02__dgm--outer::-webkit-scrollbar-thumb {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
          background: #666; }
    .service__spf-sec03__dgm {
      width: 700px; }
      .service__spf-sec03__dgm--outer {
        overflow-x: auto; }
        .service__spf-sec03__dgm--outer::-webkit-scrollbar {
          height: 5px; }
        .service__spf-sec03__dgm--outer::-webkit-scrollbar-track {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
          background: #eee; }
        .service__spf-sec03__dgm--outer::-webkit-scrollbar-thumb {
          -webkit-border-radius: 5px;
          -moz-border-radius: 5px;
          border-radius: 5px;
          background: #666; }
    .service__spf-sec05__text {
      padding: 20px 0 220px 0;
      background-size: 50%; }
    .service__tests-price-outer--sec11 {
      background-size: 100%; } }

/* ---------------------
    - ANIMALS-MAIN

    - ANIMALS-SP
--------------------- */
/* =====================
  ANIMALS-MAIN
===================== */
.animals {
  /*  hero
  ------------------------*/
  /*  content
  ------------------------*/
  /*  title start
  ------------------------*/
  /*  title end
  ------------------------*/
  /*  card start
  ------------------------*/
  /*  card end
  ------------------------*/ }
  .animals-hero {
    background-color: #003d6d;
    background-image: url("/images/animals/animals-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .animals-content {
    margin-bottom: 70px; }
  .animals__main-message {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
    padding: 10px 0 50px;
    text-align: center; }
  .animals__text {
    font-size: 0.85rem;
    line-height: 1.5rem;
    font-weight: 300; }
  .animals__list {
    text-align: center;
    display: inline-block;
    width: -webkit-calc(50% - 2px);
    width: -moz-calc(50% - 2px);
    width: -ms-calc(50% - 2px);
    width: -o-calc(50% - 2px);
    width: calc(50% - 2px);
    padding: 100px 0 0 0;
    margin: 30px 0 0 0;
    background-repeat: no-repeat;
    background-position: center 0; }
    .animals__list--01 {
      background-image: url("/images/animals/animals-top-mouse.png"); }
    .animals__list--02 {
      background-image: url("/images/animals/animals-top-rat.png"); }
    .animals__list--03 {
      background-image: url("/images/animals/animals-top-other.png"); }
    .animals__list-outer {
      padding: 0 30px; }
      .animals__list-outer--03 {
        padding: 0 80px; }
    .animals__list-header {
      font-size: 1.3rem;
      letter-spacing: 0.2rem;
      padding: 10px 0; }
      .animals__list-header a {
        color: #1b1b1b;
        position: relative;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
        .animals__list-header a:hover {
          opacity: 0.7;
          -webkit-transition: opacity 0.15s linear;
          -moz-transition: opacity 0.15s linear;
          -ms-transition: opacity 0.15s linear;
          -o-transition: opacity 0.15s linear;
          transition: opacity 0.15s linear; }
        .animals__list-header a:after {
          content: url(/images/common/arrow.png);
          position: absolute;
          right: -30px; }
    .animals__list--left {
      float: left;
      margin-left: 13px; }
    .animals__list--right {
      float: right; }
  .animals__item {
    text-align: left;
    position: relative;
    margin-top: 4px; }
    .animals__item a {
      color: #1b1b1b;
      font-size: 0.8rem;
      font-weight: 200;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .animals__item a:hover {
        opacity: 0.6;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
      .animals__item a:before {
        content: "▶";
        color: #287b44;
        font-size: 0.5rem;
        position: absolute;
        left: -12px;
        margin-top: 5px; }
  .animals__title-outer {
    padding: 20px;
    background-color: #f6f6f6; }
    .animals__title-outer--rat {
      background-image: url("/images/animals/animals-rat-head.png");
      background-repeat: no-repeat; }
    .animals__title-outer--mouse {
      background-image: url("/images/animals/animals-mouse-head.png");
      background-repeat: no-repeat; }
    .animals__title-outer--env {
      color: #ffffff;
      margin-top: 80px;
      background-color: #343f47; }
  .animals__title {
    font-size: 1.3rem;
    padding-left: 10px;
    border-left: 3px solid #287b44; }
    .animals__title--env {
      border-left: none; }
  .animals__notice {
    font-size: 0.8rem;
    text-align: right;
    margin-top: 9px; }
  .animals__sub-title {
    font-size: 1.2rem;
    padding: 12px 0;
    margin-top: -30px;
    padding-top: 80px;
    border-bottom: 2px solid #287b44;
    display: flex;
    align-items: center;
    justify-content: space-between; }
    .animals__sub-title:nth-of-type(1) {
      margin-top: -70px; }
    .animals__sub-title--env {
      border-bottom: 2px solid #343f47; }
  a.animals__sub-title_link {
    width: 180px;
    margin-right: 10px;
    color: #ffffff;
    font-size: 0.85rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
    background-color: #287b44;
    padding: 8px 0;
    border-radius: 100px;
    opacity: 1.0;
    transition: opacity 0.15s linear; }
  a.animals__sub-title_link:last-child { margin-right: 0; }
  a.animals__sub-title_link:hover { opacity: 0.6; }
    a.animals__sub-title_link span {
      color: #287b44;
      font-size: 0.7rem;
      display: inline-block;
      padding: 1px 5px;
      margin-left: 2px;
      background-color: #ffffff; }
  .animals__card-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px; }
  .animals__card-item {
    position: relative;
    width: -webkit-calc((100% / 3) - 13px);
    width: -moz-calc((100% / 3) - 13px);
    width: -ms-calc((100% / 3) - 13px);
    width: -o-calc((100% / 3) - 13px);
    width: calc((100% / 3) - 13px);
    background-color: #ebf0e1;
    margin-left: 19px;
    margin-bottom: 23px; }
    .animals__card-item:nth-of-type(3n-2) {
      margin-left: 0; }
    .animals__card-item--env {
      background-color: #e4eff5; }
      .animals__card-item--env-mouse {
        width: 65%;
        margin-top: 30px; }
    .animals__card-item--gfp {
      margin-bottom: 100px; }
  .animals__card-thumb {
    position: relative; }
    .animals__card-thumb img {
      width: 100%; }
    .animals__card-thumb-sup {
      color: #ffffff;
      font-size: 0.9rem;
      font-weight: 200;
      position: absolute;
      background: #287b44;
      bottom: 1px;
      right: 0px;
      padding: 3.5px; }
      .animals__card-thumb-sup:before {
        content: "";
        position: absolute;
        top: 0;
        right: 100%;
        width: 1px;
        height: 1px;
        border-left: 10px solid transparent;
        border-bottom: 20px solid #287b44; }
      .animals__card-thumb-sup--min {
        font-size: 0.5rem;
        padding: 5px;
        letter-spacing: -0.02rem; }
  .animals__card-text-outer {
    padding: 10px 10px 65px 10px;
    text-align: center; }
    .animals__card-text-outer--med {
      padding: 8px 10px 10px 10px; }
  .animals__card-name {
    color: #287b44;
    display: inline-block;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3rem;
    text-align: left; }
    .animals__card-name--min {
      font-size: 0.5rem;
      vertical-align: top;
      display: inline-block;
      margin-top: -2px; }
      .animals__card-name--min-bottom {
        vertical-align: baseline; }
    .animals__card-name--ita {
      font-family: 'Noto Serif', serif;
      font-style: italic; }
    .animals__card-name--ita-min {
      font-size: 0.5rem;
      font-family: 'Noto Serif', serif;
      font-style: italic;
      vertical-align: top;
      margin-top: -3px;
      display: inline-block; }
    .animals__card-name--sup {
      font-size: 0.8rem; }
      .animals__card-name--sup-bk {
        font-size: 0.7rem;
        color: #434343;
        line-height: 0.9rem;
        display: inline-block;
        margin-bottom: 7px; }
    .animals__card-name--nosub {
      
      }
    .animals__card-name--env {
      color: #343f47; }
  .animals__card-text {
    font-size: 0.8rem;
    line-height: 1.2rem;
    margin: 10px 0;
    text-align: left; }
  .animals__card-data {
    margin-top: 10px;
    text-align: left; }
    .animals__card-data-row {
      border-bottom: 1px solid #ffffff; }
      .animals__card-data-row:nth-last-of-type(1) {
        border: none; }
    .animals__card-data-title {
      color: #ffffff;
      font-size: 0.8rem;
      font-weight: 200;
      text-align: center;
      vertical-align: middle;
      width: 40px;
      background-color: #287b44; }
      .animals__card-data-title--env {
        background-color: #343f47; }
    .animals__card-data-content {
      font-size: 0.8rem;
      line-height: 1rem;
      width: 80%;
      padding: 5px;
      background-color: #ffffff; }
      .animals__card-data-content-place {
        font-size: 0.65rem; }
      .animals__card-data-content--ita {
        font-style: italic; }
      .animals__card-data-content--ita-min {
        font-size: 0.5rem;
        font-style: italic;
        vertical-align: top;
        margin-top: -3px;
        display: inline-block;
        text-indent: 0; }
      .animals__card-data-content--min {
        font-size: 0.5rem;
        vertical-align: top;
        margin-top: -3px;
        display: inline-block;
        font-style: initial; }
  .animals__card-prop-list {
    margin-top: 10px;
    text-align: left; }
  .animals__card-prop-item {
    font-size: 0.75rem;
    line-height: 1rem;
    text-indent: -0.3rem;
    margin-top: 5px;
    padding-left: 6px; }
    .animals__card-prop-item::before {
      content: "■";
      color: #287b44;
      font-size: 0.5rem;
      display: inline-block;
      -webkit-transform: scale(0.6);
      -moz-transform: scale(0.6);
      -ms-transform: scale(0.6);
      -o-transform: scale(0.6);
      transform: scale(0.6); }
    .animals__card-prop-item--env::before {
      color: #343f47; }
  .animals__card-pdf {
    position: absolute;
    width: 200px;
    bottom: 15px; }
    .animals__card-pdf a {
      color: #ffffff;
      font-size: 0.85rem;
      display: block;
      position: relative;
      text-align: center;
      background-color: #287b44;
      padding: 8px 0;
      -webkit-border-radius: 1.5rem;
      -moz-border-radius: 1.5rem;
      border-radius: 1.5rem;
      opacity: 1.0;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
      .animals__card-pdf a:hover {
        opacity: 0.7;
        -webkit-transition: opacity 0.15s linear;
        -moz-transition: opacity 0.15s linear;
        -ms-transition: opacity 0.15s linear;
        -o-transition: opacity 0.15s linear;
        transition: opacity 0.15s linear; }
      .animals__card-pdf a::after {
        content: "＞";
        position: absolute;
        top: 8px;
        right: 10px;
        -webkit-transform: scaleX(0.5);
        -moz-transform: scaleX(0.5);
        -ms-transform: scaleX(0.5);
        -o-transform: scaleX(0.5);
        transform: scaleX(0.5); }
    .animals__card-pdf span {
      color: #287b44;
      font-size: 0.7rem;
      display: inline-block;
      padding: 1px 5px;
      margin-left: 2px;
      background-color: #ffffff; }
    .animals__card-pdf--env a {
      background-color: #343f47; }
      .animals__card-pdf--env a span {
        color: #343f47; }
  .animals__card-notice {
    font-size: 0.7rem;
    color: #f00000;
    padding-top: 10px;
    line-height: 1rem; }
  .animals__card-cross {
    margin: 5px 0; }
    .animals__card-cross__name {
      color: #434343;
      font-size: 0.8rem;
      font-weight: 600;
      background-color: #dbe0d2;
      padding: 5px 0;
      text-align: center; }
    .animals__card-cross__icon {
      text-align: center;
      color: #a0a0a0;
      padding: 2px 0; }
  .animals__card-cap {
    background-color: #ffffff;
    position: absolute;
    font-size: 0.7rem;
    line-height: 1rem;
    top: 540px; }
  .animals__warn {
    color: #ec6f2b;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1.1rem;
    border: 1px solid #ec6f2b;
    padding: 10px 90px; }
  .animals__oem-mouse {
    float: left;
    width: 335px; }
    .animals__oem-mouse:nth-of-type(2) {
      margin-left: 30px; }
  .animals__oem-mouse-outer {
    margin-top: 30px; }
  .animals__hyb-list {
    padding-top: 30px; }
  .animals__hyb-item {
    font-size: 0.8rem;
    font-weight: 300;
    line-height: 1.3rem; }
    .animals__hyb-item::before {
      content: "■";
      font-size: 0.8rem;
      font-weight: 300;
      color: #539569;
      margin-right: 5px; }

/*  side-inquiry
------------------------*/
.side-inquiry {
  border: 1px solid #a0a0a0;
  padding: 10px;
  margin-top: 50px; }
  .side-inquiry__title {
    color: #287b44;
    font-size: 1.1rem;
    text-align: center;
    padding: 10px 0; }
  .side-inquiry__area {
    margin-top: 15px; }
  .side-inquiry__area-name {
    color: #287b44;
    font-size: 0.9rem;
    text-align: center;
    padding: 3px 0;
    background-color: #ebf0e1;
    -webkit-border-radius: 1.5rem;
    -moz-border-radius: 1.5rem;
    border-radius: 1.5rem; }
  .side-inquiry__tell {
    font-size: 1.2rem;
    text-align: center;
    margin-top: 10px; }
    .side-inquiry__tell a {
      color: #1b1b1b; }
  .side-inquiry__mail a {
    font-size: 0.9rem;
    color: #287b44;
    position: relative;
    display: block;
    padding: 7px 0 8px 55px;
    margin: 20px 0 10px;
    background-color: #eeeeee;
    -webkit-border-radius: 1.5rem;
    -moz-border-radius: 1.5rem;
    border-radius: 1.5rem;
    opacity: 1.0;
    -webkit-transition: opacity 0.15s linear;
    -moz-transition: opacity 0.15s linear;
    -ms-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear; }
    .side-inquiry__mail a:before {
      content: "";
      position: absolute;
      left: 30px;
      width: 22px;
      height: 16px;
      background-image: url("/images/common/email-icon.png");
      background-repeat: no-repeat; }
    .side-inquiry__mail a:after {
      content: "＞";
      font-size: 0.7rem;
      position: absolute;
      top: 9px;
      right: 10px;
      -webkit-transform: scaleX(0.5);
      -moz-transform: scaleX(0.5);
      -ms-transform: scaleX(0.5);
      -o-transform: scaleX(0.5);
      transform: scaleX(0.5); }
    .side-inquiry__mail a:hover {
      opacity: 0.7;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }

@media (max-width: 640px) {
  .animals {
    /* =====================
      ANIMALS-SP
    ===================== */
    /*  card
    ------------------------*/ }
    .animals__card-item {
      width: -webkit-calc((100% / 2) - 10px);
      width: -moz-calc((100% / 2) - 10px);
      width: -ms-calc((100% / 2) - 10px);
      width: -o-calc((100% / 2) - 10px);
      width: calc((100% / 2) - 10px); }
      .animals__card-item:nth-of-type(3n-2) {
        margin-left: 20px; }
      .animals__card-item:nth-of-type(2n-1) {
        margin-left: 0px; }
    .animals__card-name {
      font-size: 1.3rem;
      line-height: 1.5rem; }
    .animals__card-data-title {
      font-size: 1.0rem; }
    .animals__card-data-content {
      font-size: 1.0rem;
      line-height: 1.3rem;
      width: 85%; }
      .animals__card-data-content-place {
        font-size: 1.0rem; }
    .animals__card-pdf {
      width: 270px; }
    .animals__card-prop-item {
      font-size: 1rem;
      line-height: 1.3rem; }
    .animals__card-cap {
      top: 665px; }
    .animals__warn {
      padding: 10px 40px; }
    .animals__oem-mouse {
      float: none;
      width: 100%; }
      .animals__oem-mouse:nth-of-type(2) {
        margin-left: 0; } }

/* ---------------------
    - QUALITY-MAIN
    
    - QUALITY-SP
--------------------- */
/* =====================
  QUALITY-MAIN
===================== */
.quality {
  /*  hero start
  ------------------------*/
  /*  hero end
  ------------------------*/
  /*  section start
  ------------------------*/
  /*  section end
  ------------------------*/
  /*  table start
  ------------------------*/ }
  .quality-content {
    margin-bottom: 100px; }
  .quality__list {
    margin-top: 10px; }
  .quality__item {
    font-size: 0.85rem;
    font-weight: 300;
    line-height: 1.3rem; }
    .quality__item::before {
      content: "■";
      font-size: 0.85rem;
      font-weight: 300;
      color: #287b44;
      margin-right: 5px; }
  .quality-hero {
    background-color: #5e5f59;
    background-image: url("/images/quality/quality-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .quality__main-message {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
    padding: 10px 0 50px;
    text-align: center; }
  .quality__section {
    margin-top: 40px; }
  .quality__sec-title {
    font-size: 1.2rem;
    padding: 12px 0;
    margin-top: -70px;
    padding-top: 80px;
    border-bottom: 2px solid #287b44; }
    .quality__sec-title--min {
      font-size: 0.8rem; }
  .quality__sec-sub-title {
    color: #287b44;
    font-size: 0.98rem;
    font-weight: 600;
    padding-top: 15px; }
  .quality__sec-text {
    font-size: 0.85rem;
    font-weight: 300;
    line-height: 1.5rem;
    padding-top: 15px; }
  .quality__sec-list-title {
    font-size: 0.95rem;
    font-weight: 600;
    padding-top: 20px; }
    .quality__sec-list-title::before {
      content: "■";
      color: #287b44; }
  .quality__sec-methodlist-title {
    font-size: 1.2rem;
    padding-top: 20px; }
    .quality__sec-methodlist-title::before {
      content: "■";
      color: #287b44; }
  .quality__sec-item {
    font-size: 0.85rem;
    font-weight: 300;
    line-height: 1.2rem; }
    .quality__sec-item:nth-of-type(1) {
      padding-top: 5px; }
  .quality__sec-notice-list {
    margin-top: 15px; }
  .quality__sec-notice-item {
    font-size: 0.78rem;
    font-weight: 300;
    line-height: 1.2rem;
    margin-left: 15px;
    text-indent: -15px; }
    .quality__sec-notice-item:nth-of-type(1)::before {
      content: "1）"; }
    .quality__sec-notice-item:nth-of-type(2)::before {
      content: "2）"; }
    .quality__sec-notice-item:nth-of-type(3)::before {
      content: "3）"; }
    .quality__sec-notice-item:nth-of-type(4)::before {
      content: "4）"; }
    .quality__sec-notice-item:nth-of-type(5)::before {
      content: "5）"; }
  .quality__sec04-dgm {
    width: 100%;
    height: 815px;
    background-image: url("/images/quality/quality-dgm.png");
    background-repeat: no-repeat;
    margin-top: 15px; }
  .quality__sec04-images {
    width: 100%;
    height: 115px;
    background-image: url("/images/quality/quality-image-02.png"), url("/images/quality/quality-image-03.png");
    background-position: left top,
 center top;
    background-repeat: no-repeat,
 no-repeat;
    margin-top: 15px; }
  .quality__sec07-images {
    width: 100%;
    height: 160px;
    background-image: url("/images/quality/quality-image-04.png"), url("/images/quality/quality-image-05.png"), url("/images/quality/quality-image-06.png");
    background-position: left top,
 center top,
 right top;
    background-repeat: no-repeat,
 no-repeat,
 no-repeat;
    margin-top: 15px; }
  .quality__datalink {
    color: #1b1b1b;
    margin-top: 20px;
    padding: 15px;
    background-color: #e8e8e8;
    background-image: url(/images/common/arrow.png);
    background-repeat: no-repeat;
    background-position: 580px 13px; }
    .quality__datalink--outer {
      margin-top: 20px;
      text-align: center;
      padding: 20px 40px;
      border: 1px solid #287b44; }
  .quality__table {
    margin-top: 15px; }
  .quality__table, .quality__t-data, .quality__t-head {
    font-size: 0.7rem;
    font-weight: 300;
    line-height: 1rem;
    border: 1px solid #d2d2d2;
    border-collapse: collapse; }
  .quality__t-data, .quality__t-head {
    padding: 10px;
    width: 30px;
    height: 25px; }
  .quality__t-head {
    background: #ebf0e1;
    width: 80px; }
  .quality__t-data {
    width: 375px; }
    .quality__t-data span {
      -webkit-transform: scale(0.8);
      -moz-transform: scale(0.8);
      -ms-transform: scale(0.8);
      -o-transform: scale(0.8);
      transform: scale(0.8);
      display: inline-block;
      vertical-align: middle; }

@media (max-width: 640px) {
  /* =====================
    QUALITY-SP
  ===================== */
  .quality__sec04-dgm {
    width: 700px; }
  .quality__sec04-dgm--outer {
    overflow: scroll; } }

/* ---------------------
    - PRODUCTS-MAIN

    - PRODUCTS-SP
--------------------- */
/* =====================
  PRODUCTS-MAIN
===================== */
.products {
  /*  hero start
  ------------------------*/
  /*  hero end
  ------------------------*/
  /*  section start
  ------------------------*/
  /*  section end
  ------------------------*/
  /*  section start
  ------------------------*/ }
  .products-content {
    margin-bottom: 100px; }
  .products-hero {
    background-color: #999595;
    background-image: url("/images/products/products-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .products__main-message {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
    padding: 10px 0 50px;
    text-align: center; }
  .products__inner-link {
    margin-top: -70px;
    padding-top: 70px; }
  .products__section {
    margin-top: 40px; }
  .products__title-outer {
    margin-top: 70px;
    padding: 20px;
    background-color: #f6f6f6; }
    .products__title-outer--first {
      margin-top: 0; }
  .products__title {
    font-size: 1.3rem;
    padding-left: 10px;
    border-left: 3px solid #287b44; }
  .products__sec-title {
    font-size: 1.2rem;
    padding: 12px 0;
    margin-top: -70px;
    padding-top: 80px;
    border-bottom: 2px solid #287b44; }
    .products__sec-title--min {
      font-size: 0.8rem; }
  .products__sec-content {
    background-repeat: no-repeat;
    background-position: top right; }
    .products__sec-content--01 {
      padding-right: 300px;
      background-image: url(/images/products/products-image-01.png);
      margin-top: 15px; }
    .products__sec-content--02 {
      padding-right: 300px;
      background-image: url(/images/products/products-image-02.png);
      margin-top: 15px; }
    .products__sec-content--03 {
      padding-right: 270px;
      background-image: url(/images/products/products-image-03.png);
      background-size: 224px;
      margin-top: 15px; }
  .products__sec-text {
    font-size: 0.85rem;
    font-weight: 300;
    line-height: 1.5rem; }
    .products__sec-text--04 {
      padding: 0 240px 25px 0;
      background-image: url(/images/products/products-image-04.png);
      background-repeat: no-repeat;
      background-position: top right; }
  .products__sec-list {
    margin-top: 10px; }
  .products__sec-item {
    font-size: 0.85rem;
    font-weight: 300;
    line-height: 1.3rem;
    text-indent: -15px;
    margin-left: 15px; }
    .products__sec-item::before {
      content: "・";
      font-size: 0.85rem;
      font-weight: 300;
      color: #287b44; }
  .products__sec-dgm {
    width: 100%;
    height: 580px;
    background-image: url(/images/products/products-dgm.png);
    background-repeat: no-repeat;
    margin-top: 15px; }
  .products__feed-link {
    position: relative;
    width: 700px;
    margin: 90px auto 0; }
    .products__feed-link__en-text {
      color: #a0a0a0;
      font-style: italic;
      font-size: 0.8rem;
      letter-spacing: 0rem;
      position: absolute;
      left: 177px;
      top: 33px; }
    .products__feed-link a {
      color: #1b1b1b;
      font-size: 1.3rem;
      letter-spacing: 0.25rem;
      display: block;
      width: 100%;
      height: 80px;
      padding: 28px 48px;
      margin-top: -40px;
      background-image: url(/images/products/feed-link.png);
      background-position: left;
      box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2); }
    .products__feed-link::after {
      content: url(/images/common/arrow.png);
      position: absolute;
      left: 370px;
      top: 29px; }

@media (max-width: 640px) {
  /* =====================
    PRODUCTS-SP
  ===================== */
  .products__feed-link {
    width: 590px; } }

/* ---------------------
    - order -
--------------------- */
.order {
  /*  hero start
  ------------------------*/
  /*  hero end
  ------------------------*/
  /*  section start
  ------------------------*/
  /*  section end
  ------------------------*/ }
  .order-content {
    margin-bottom: 100px; }
  .order-hero {
    background-color: #b1b1b2;
    background-image: url("/images/order/order-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .order__main-message {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
    padding: 10px 0 50px;
    text-align: center; }
  .order__section {
    margin-top: 40px; }
    .order__section--first {
      margin-top: 0; }
  .order__sec-title {
    font-size: 1.2rem;
    padding: 12px 0;
    margin-top: -70px;
    padding-top: 80px;
    border-bottom: 2px solid #287b44; }
    .order__sec-title--first {
      padding-top: 0;
      margin-top: 0; }
  .order__sec-text {
    font-size: 0.8rem;
    line-height: 1.4rem;
    font-weight: 300;
    margin-top: 15px; }
  .order__sec-list {
    margin-top: 10px; }
  .order__sec-item {
    font-size: 0.8rem;
    font-weight: 300;
    line-height: 1.3rem; }
    .order__sec-item::before {
      content: "■";
      font-size: 0.8rem;
      font-weight: 300;
      color: #287b44;
      margin-right: 5px; }
  .order__tel-outer {
    background-color: #f6f6f6;
    padding: 20px;
    margin-top: 30px; }
  .order-tel {
    margin-top: 40px;
    text-align: center; }
  .order-kanto-tel, .order-kansai-tel, .order-kyushu-tel {
    display: inline-block;
    width: 199px;
    margin-left: 26px; }
    .order-kanto-tel:nth-of-type(1), .order-kansai-tel:nth-of-type(1), .order-kyushu-tel:nth-of-type(1) {
      margin-left: 0; }
    .order-kanto-tel__title, .order-kansai-tel__title, .order-kyushu-tel__title {
      text-align: center;
      font-size: 1rem;
      font-weight: 200;
      padding-bottom: 10px;
      border-bottom: 1px solid #a0a0a0; }
    .order-kanto-tel__phone-num, .order-kansai-tel__phone-num, .order-kyushu-tel__phone-num {
      font-size: 1.2rem;
      padding-left: 20px;
      padding-top: 10px;
      background-image: url(/images/common/phone-icon.png);
      background-repeat: no-repeat;
      background-position: 20px 13px;
      background-size: 8.0%;
      text-align: center; }
      .order-kanto-tel__phone-num a, .order-kansai-tel__phone-num a, .order-kyushu-tel__phone-num a {
        color: #1b1b1b;
        font-weight: 200; }

@media (max-width: 640px) {
  /* =====================
    order-SP
  ===================== */
  .order-fax__pdf a, .order-fax__excel a {
    width: 203px;
    margin: 0 0 0 5px; }
  .order-kanto-tel, .order-kansai-tel, .order-kyushu-tel {
    width: 180px;
    margin-left: 6px; }
    .order-kanto-tel__phone-num, .order-kansai-tel__phone-num, .order-kyushu-tel__phone-num {
      background-position: 15px 13px; } }

/* ---------------------
    - FEED-COMMON
--------------------- */
/* =====================
  FEED-COMMON
===================== */
.feed {
  /*  hero start
  ------------------------*/
  /*  hero end
  ------------------------*/
  /*  content start
  ------------------------*/
  /*  content start
  ------------------------*/ }
  .feed-hero {
    background-color: #647d5b;
    background-image: url("/images/feed/feed-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .feed-info__outer {
    width: 640px;
    margin: 45px auto 0 auto;
    text-align: center; }
  .feed__text {
    font-size: 0.85rem;
    line-height: 1.5rem;
    font-weight: 300; }
  .feed__title {
    font-size: 1.3rem;
    padding-left: 10px;
    border-left: 3px solid #287b44; }
    .feed__title-outer {
      padding: 20px;
      background-color: #f6f6f6;
      margin-top: 40px;
      background-position: 200px 13px; }
      .feed__title-outer--01 {
        background-image: url("/images/feed/feed-title-01.png");
        background-repeat: no-repeat; }
      .feed__title-outer--02 {
        background-image: url("/images/feed/feed-title-02.png");
        background-repeat: no-repeat; }
      .feed__title-outer--03 {
        background-image: url("/images/feed/feed-title-03.png");
        background-repeat: no-repeat; }
  .feed__section--01 {
    padding: 10px 0;
    background-image: url("/images/feed/feed-image-01.png");
    background-repeat: no-repeat;
    background-position: 480px 15px; }
  .feed__section--02 {
    padding: 10px 230px 10px 0;
    background-image: url("/images/feed/feed-image-02.png");
    background-repeat: no-repeat;
    background-position: 480px 15px; }
  .feed__section--03 {
    padding: 10px 0; }
  .feed__sec-text {
    font-size: 0.85rem;
    line-height: 1.5rem;
    font-weight: 300;
    padding: 5px 0; }
    .feed__sec-text a {
      color: #287b44; }
  .feed__sec-text {
    font-size: 0.85rem;
    line-height: 1.5rem;
    font-weight: 300;
    padding: 5px 0; }
    .feed__sec-text--caution {
      font-size: 0.8rem;
      line-height: 1rem; }
  .feed__list-title {
    padding: 5px 0; }
    .feed__list-title::before {
      content: "■";
      color: #287b44; }
  .feed__item {
    font-size: 0.85rem;
    line-height: 1.5rem;
    font-weight: 300; }
    .feed__item::before {
      content: "・";
      color: #287b44; }
    .feed__item-other {
      font-size: 0.85rem;
      line-height: 1.5rem;
      padding: 10px 0;
      text-indent: -3.5rem;
      margin-left: 3.5rem;
      font-weight: 300; }
      .feed__item-other::before {
        content: "その他："; }
  .feed__link {
    padding: 15px 0 0 0; }
  .feed__table {
    margin-top: 15px;
    width: 100%; }
  .feed__table, .feed__t-data, .feed__t-head {
    font-size: 0.7rem;
    font-weight: 300;
    line-height: 1rem;
    border: 1px solid #d2d2d2;
    border-collapse: collapse; }
  .feed__t-data, .feed__t-head {
    padding: 10px;
    width: 30px;
    height: 25px; }
  .feed__t-head {
    background: #ebf0e1;
    width: 80px; }
  .feed__t-data {
    width: 375px; }
  .feed__t-main-head {
    text-align: center;
    font-size: 0.7rem;
    font-weight: 300;
    line-height: 1rem;
    color: #ffffff;
    background-color: #287b44;
    padding: 10px; }
  .feed__campany-introduce {
    background-color: #e8e8e8;
    padding: 15px;
    margin-top: 20px; }
    .feed__campany-introduce__head {
      font-size: 1.2rem;
      color: #287b44; }
    .feed__campany-introduce__text {
      font-size: 0.85rem;
      line-height: 1.25rem;
      font-weight: 300;
      padding-top: 5px; }
  .feed__inner-link {
    margin-top: -40px;
    padding-top: 40px; }

/* ---------------------
    - DATA-COMMON
--------------------- */
.data {
  /*  hero
  ------------------------*/
  /*  section
  ------------------------*/
  /*  section > table
  ------------------------*/ }
  .data-content {
    margin-bottom: 100px; }
  .data-hero {
    background-color: #b1b1b2;
    background-image: url("/images/data/data-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .data__inner-link {
    margin-top: -70px;
    padding-top: 70px; }
  .data__section {
    margin-bottom: 80px; }
  .data__title-outer {
    padding: 20px;
    background-color: #f6f6f6; }
  .data__title {
    font-size: 1.3rem;
    padding-left: 10px;
    border-left: 3px solid #287b44; }
  .data__consent-link {
    border-bottom: 2px solid #287b44;
    padding: 20px 0 0 0; }
    .data__consent-link a {
      color: #1b1b1b;
      font-size: 1.1rem;
      text-decoration: none;
      display: block;
      padding: 12px 0;
      background-image: url(/images/common/arrow.png);
      background-repeat: no-repeat;
      background-position: 660px 12px; }
  .data__adobe-link a {
    color: #1b1b1b;
    font-size: 0.9rem;
    text-align: center;
    display: block;
    margin: 50px auto 0 auto;
    padding: 15px;
    width: 640px;
    background-color: #f6f6f6;
    background-image: url(/images/common/arrow.png);
    background-repeat: no-repeat;
    background-position: 580px 13px; }
  .data__pdf-list-head {
    color: #1b1b1b;
    font-size: 1.1rem;
    text-decoration: none;
    cursor: pointer;
    display: block;
    padding: 12px 0;
    background-image: url(/images/data/open-icon.png);
    background-repeat: no-repeat;
    background-position: 660px 12px;
    border-bottom: 2px solid #287b44;
    margin: 25px 0 0 0; }
  .data__pdf-list-head.active {
    background-image: url(/images/data/close-icon.png); }
  .data__pdf-list {
    margin: 20px 0 0 0;
    width: 600px;
    display: none; }
  .data__pdf-list.active {
    display: block; }
  .data__pdf-item {
    display: inline-block;
    width: 120px;
    margin: 5px 20px 5px 0; }
    .data__pdf-item a {
      font-size: 0.9rem; }
      .data__pdf-item a::before {
        display: inline-block;
        content: "＞";
        color: #287b44;
        padding: 0 5px 0 0;
        -webkit-transform: scaleX(0.5);
        -moz-transform: scaleX(0.5);
        -ms-transform: scaleX(0.5);
        -o-transform: scaleX(0.5);
        transform: scaleX(0.5); }
      .data__pdf-item a:hover {
        text-decoration: underline; }
  .data__table {
    background-color: #ffffff;
    margin: 20px 0 0 0; }
    .data__table-switch-tab {
      padding: 25px 0 0 0; }
    .data__table-switch-item {
      font-size: 0.85rem;
      font-weight: 300;
      text-align: center;
      cursor: pointer;
      display: inline-block;
      width: 150px;
      padding: 8px 0;
      background-color: #ebf0e1; }
    .data__table-switch-item.active {
      color: #ffffff;
      background-color: #287b44; }
    .data__table-head {
      color: #287b44;
      text-align: center;
      padding: 10px 0;
      background-color: #ebf0e1; }
    .data__table-list {
      display: none;
      padding: 25px;
      background-color: #f6f6f6; }
      .data__table-list-head {
        color: #ffffff;
        background-color: #287b44;
        text-align: center;
        padding: 10px 0; }
    .data__table-list.active {
      display: block; }
    .data__table-outer {
      padding: 10px 20px 20px; }
  .data__tg {
    border-collapse: collapse;
    border-spacing: 0; }
    .data__tg td {
      font-size: 0.75rem;
      line-height: 1.2rem;
      vertical-align: middle;
      font-family: Arial, sans-serif;
      padding: 5px;
      border-style: solid;
      border-color: #ffffff;
      border-width: 1px;
      overflow: hidden;
      word-break: normal; }
      .data__tg td:nth-of-type(1) {
        width: 135px; }
      .data__tg td:nth-of-type(2) {
        width: 135px; }
      .data__tg td:nth-last-of-type(1) {
        width: 340px;
        font-size: 0.7rem; }
      .data__tg td a:hover {
        text-decoration: underline; }
    .data__tg th {
      font-family: Arial, sans-serif;
      font-size: 14px;
      font-weight: normal;
      padding: 10px 5px;
      border-style: solid;
      border-color: #ffffff;
      border-width: 1px;
      overflow: hidden;
      word-break: normal; }
    .data__tg-h-white {
      vertical-align: top; }
    .data__tg-h-gray {
      background-color: #8d8d8d;
      color: #ffffff;
      vertical-align: top; }
    .data__tg-c-gray {
      background-color: #eaeaea;
      vertical-align: top; }
    .data__tg-h-blue {
      background-color: #778cc4;
      color: #ffffff;
      vertical-align: top; }
    .data__tg-c-blue {
      background-color: #e6eaf4;
      vertical-align: top; }
    .data__tg-h-lightblue {
      background-color: #33b3ed;
      color: #ffffff;
      vertical-align: top; }
    .data__tg-c-lightblue {
      background-color: #d9f1fc;
      vertical-align: top; }
    .data__tg-h-green {
      background-color: #91ae54;
      color: #ffffff;
      vertical-align: top; }
    .data__tg-c-green {
      background-color: #e8eedb;
      vertical-align: top; }
    .data__tg-h-orange {
      background-color: #f29c5b;
      color: #ffffff;
      vertical-align: top; }
    .data__tg-c-orange {
      background-color: #fdf0d9;
      vertical-align: top; }
    .data__tg--ita {
      font-style: italic; }
    .data__tg--ita-min {
      font-size: 0.5rem;
      font-style: italic;
      vertical-align: top;
      margin-top: -5px;
      display: inline-block; }
  .data__other-item {
    padding: 5px 0; }
    .data__other-item a {
      font-size: 0.9rem; }
      .data__other-item a::before {
        display: inline-block;
        content: "＞";
        color: #287b44;
        padding: 0 5px 0 0;
        -webkit-transform: scaleX(0.5);
        -moz-transform: scaleX(0.5);
        -ms-transform: scaleX(0.5);
        -o-transform: scaleX(0.5);
        transform: scaleX(0.5); }
      .data__other-item a:hover {
        text-decoration: underline; }

@media (max-width: 640px) {
  .data {
    /* =====================
      DATA-SP
    ===================== */
    /*  section
    ------------------------*/ }
    .data__consent-link a {
      background-position: 600px 12px; }
    .data__adobe-link a {
      width: 570px;
      background-position: 540px 13px; } }

/* ---------------------
    - PRIVACY -
--------------------- */
.privacy {
  /*  hero start
  ------------------------*/
  /*  hero end
  ------------------------*/
  /*  title start
  ------------------------*/
  /*  title end
  ------------------------*/
  /* others
  ------------------------*/
  /*  section start
  ------------------------*/
  /*  section end
  ------------------------*/ }
  .privacy-content {
    margin-bottom: 100px; }
  .privacy-hero {
    background-color: #b1b1b2;
    background-image: url("/images/privacy/privacy-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }
  .privacy__main-message {
    font-size: 1.6rem;
    line-height: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
    padding: 10px 0 50px;
    text-align: center; }
  .privacy__title-outer {
    padding: 20px;
    background-color: #f6f6f6; }
    .privacy__title-outer:nth-of-type(2) {
      margin-top: 80px; }
  .privacy__title {
    font-size: 1.3rem;
    padding-left: 10px;
    border-left: 3px solid #287b44; }
  .privacy__text {
    font-size: 0.8rem;
    line-height: 1.4rem;
    font-weight: 300;
    margin-top: 20px; }
  .privacy__notice {
    font-size: 0.8rem;
    line-height: 1.4rem;
    text-align: right;
    font-weight: 300;
    margin-top: 10px; }
  .privacy__sec-title {
    font-size: 1.2rem;
    padding: 12px 0;
    padding-top: 55px;
    border-bottom: 2px solid #287b44; }
  .privacy__sec-text {
    font-size: 0.8rem;
    line-height: 1.4rem;
    font-weight: 300;
    margin-top: 15px; }
  .privacy__sec-list {
    margin-top: 10px; }
  .privacy__sec-item {
    font-size: 0.8rem;
    font-weight: 300;
    line-height: 1.3rem; }
    .privacy__sec-item::before {
      content: "■";
      font-size: 0.8rem;
      font-weight: 300;
      color: #287b44;
      margin-right: 5px; }
  .privacy__sec-sub-title {
    color: #287b44;
    font-weight: 600;
    padding-top: 20px; }
  .privacy__contact-outer {
    padding: 20px;
    background-color: #f6f6f6; }
  .privacy__contact-head {
    color: #287b44;
    font-size: 1rem;
    font-weight: 600;
    padding-bottom: 10px; }
  .privacy__contact-item {
    font-size: 0.8rem;
    line-height: 1.4rem;
    font-weight: 300; }

/* ---------------------
    - CONTACT-TOP
    - CONTACT-THANKS

    - CONTACT-SP
--------------------- */
/* =====================
  CONTACT-TOP
===================== */
.contact {
  /*  section tel
  ------------------------*/
  /* =====================
    CONTACT-THANKS
  ===================== */ }
  .contact-content {
    margin-bottom: 100px; }
  .contact__red {
    color: #ff0000;
    font-weight: 600; }
  .contact-hero {
    background-color: #acadaf;
    background-image: url(/images/contact/contact-hero.png);
    background-repeat: no-repeat;
    background-size: cover; }
  .contact__main-text {
    font-size: 1.5rem;
    line-height: 2.2rem;
    font-weight: 400;
    letter-spacing: 0.2rem;
    padding: 10px 0 50px;
    text-align: center; }
  .contact__text {
    font-size: 0.8rem;
    font-weight: 300;
    line-height: 1.5rem;
    padding-top: 15px; }
    .contact__text--top {
      padding-top: 0; }
  .contact__require {
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 300;
    background-color: #ec6941;
    padding: 0 7px;
    margin: 0 0 0 10px; }
  .contact-section {
    margin-top: 40px; }
  .contact__sec-title {
    font-size: 1.2rem;
    padding: 12px 0;
    margin-top: -70px;
    padding-top: 80px;
    border-bottom: 2px solid #287b44; }
  .contact__form-row {
    padding: 12px 0;
    border-bottom: 1px solid #d2d2d2; }
  .contact__form-head {
    font-size: 0.85rem;
    font-weight: 600;
    color: #434343;
    width: 240px;
    float: left;
    line-height: 1rem; }
    .contact__form-head--en {
      font-size: 0.7rem;
      color: #a0a0a0;
      font-weight: 300; }
  .contact__form-data {
    font-size: 0.85rem;
    font-weight: 300;
    float: left;
    width: -webkit-calc(100% - 240px);
    width: -moz-calc(100% - 240px);
    width: -ms-calc(100% - 240px);
    width: -o-calc(100% - 240px);
    width: calc(100% - 240px); }
    .contact__form-data label {
      display: inline-block;
      margin: 10px 40px 10px 0;
      cursor: pointer; }
    .contact__form-data textarea {
      width: 100%;
      height: 100px;
      padding: 5px;
      resize: none;
      line-height: 1.3rem; }
    .contact__form-data input[type="text"] {
      width: 100%;
      margin: 5px 0;
      padding: 5px; }
      .contact__form-data input[type="text"].contact__post {
        width: 130px; }
  .contact__address-search {
    color: #ffffff;
    background-color: #287b44;
    padding: 3px 15px;
    margin: 0 0 0 10px;
    cursor: pointer; }
  .contact__notice a {
    color: #287b44;
    text-decoration: underline; }
  .contact__submit {
    color: #ffffff;
    text-align: center;
    background-color: #287b44;
    display: block;
    padding: 15px 0;
    width: 305px;
    border: none;
    margin: 20px auto 0 auto;
    position: relative;
    -webkit-border-radius: 1.5rem;
    -moz-border-radius: 1.5rem;
    border-radius: 1.5rem;
    opacity: 1.0;
    -webkit-transition: opacity 0.15s linear;
    -moz-transition: opacity 0.15s linear;
    -ms-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear; }
    .contact__submit::after {
      content: "＞";
      position: absolute;
      top: 15px;
      right: 10px;
      -webkit-transform: scaleX(0.5);
      -moz-transform: scaleX(0.5);
      -ms-transform: scaleX(0.5);
      -o-transform: scaleX(0.5);
      transform: scaleX(0.5); }
    .contact__submit:hover {
      opacity: 0.8;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
  .contact__back {
    color: #ffffff;
    text-align: center;
    background-color: #a0a0a0;
    display: block;
    padding: 15px 0;
    width: 120px;
    border: none;
    margin: 20px 0 0 60px;
    float: left;
    position: relative;
    -webkit-border-radius: 1.5rem;
    -moz-border-radius: 1.5rem;
    border-radius: 1.5rem;
    opacity: 1.0;
    -webkit-transition: opacity 0.15s linear;
    -moz-transition: opacity 0.15s linear;
    -ms-transition: opacity 0.15s linear;
    -o-transition: opacity 0.15s linear;
    transition: opacity 0.15s linear; }
    .contact__back::after {
      content: "＞";
      position: absolute;
      top: 15px;
      right: 10px;
      -webkit-transform: scaleX(0.5);
      -moz-transform: scaleX(0.5);
      -ms-transform: scaleX(0.5);
      -o-transform: scaleX(0.5);
      transform: scaleX(0.5); }
    .contact__back:hover {
      opacity: 0.8;
      -webkit-transition: opacity 0.15s linear;
      -moz-transition: opacity 0.15s linear;
      -ms-transition: opacity 0.15s linear;
      -o-transition: opacity 0.15s linear;
      transition: opacity 0.15s linear; }
  .contact__tel-outer {
    background-color: #f6f6f6;
    padding: 20px;
    margin-top: 20px; }
  .contact-tel {
    margin-top: 40px;
    text-align: center; }
  .contact-fax {
    margin-bottom: 20px; }
    .contact-fax__title {
      text-align: center;
      font-size: 1rem;
      font-weight: 300;
      padding-bottom: 10px;
      border-bottom: 1px solid #a0a0a0; }
    .contact-fax__num {
      font-size: 1.2rem;
      padding: 10px 0 0 20px;
      background-image: url(/images/common/phone-icon.png);
      background-repeat: no-repeat;
      background-position: 0px 13px;
      background-size: 11.0%;
      text-align: center;
      display: inline-block; }
      .contact-fax__num a {
        color: #1b1b1b;
        font-weight: 200; }
    .contact-fax__pdf, .contact-fax__excel {
      font-size: 0.85rem;
      padding-top: 10px;
      text-align: center;
      display: inline-block; }
      .contact-fax__pdf a, .contact-fax__excel a {
        color: #1b1b1b;
        font-weight: 200;
        display: block;
        position: relative;
        width: 248px;
        padding: 8px 0;
        margin: 0 0 0 10px;
        background-color: #ffffff;
        -webkit-border-radius: 1.5rem;
        -moz-border-radius: 1.5rem;
        border-radius: 1.5rem; }
        .contact-fax__pdf a::after, .contact-fax__excel a::after {
          content: "＞";
          position: absolute;
          top: 8px;
          right: 10px;
          -webkit-transform: scale(0.3, 0.8);
          -moz-transform: scale(0.3, 0.8);
          -ms-transform: scale(0.3, 0.8);
          -o-transform: scale(0.3, 0.8);
          transform: scale(0.3, 0.8); }
    .contact-fax__pdf a {
      background-image: url(/images/common/pdf-icon.png);
      background-repeat: no-repeat;
      background-position: 10px 5px; }
    .contact-fax__excel a {
      background-image: url(/images/common/excel-icon.png);
      background-repeat: no-repeat;
      background-position: 8px 4px; }
  .contact-kanto-tel, .contact-kansai-tel, .contact-kyushu-tel {
    display: inline-block;
    width: 200px;
    margin-left: 26px; }
    .contact-kanto-tel:nth-of-type(2), .contact-kansai-tel:nth-of-type(2), .contact-kyushu-tel:nth-of-type(2) {
      margin-left: 0; }
    .contact-kanto-tel__title, .contact-kansai-tel__title, .contact-kyushu-tel__title {
      text-align: center;
      font-size: 1rem;
      font-weight: 200;
      padding-bottom: 10px;
      border-bottom: 1px solid #a0a0a0; }
    .contact-kanto-tel__phone-num, .contact-kansai-tel__phone-num, .contact-kyushu-tel__phone-num {
      font-size: 1.2rem;
      padding-top: 10px;
      background-image: url(/images/common/phone-icon.png);
      background-repeat: no-repeat;
      background-position: 25px 13px;
      background-size: 8.0%;
      text-align: center; }
      .contact-kanto-tel__phone-num a, .contact-kansai-tel__phone-num a, .contact-kyushu-tel__phone-num a {
        color: #1b1b1b;
        font-weight: 200; }
  .contact__error {
    color: #ff0000; }
  .contact__thanks {
    text-align: center; }
    .contact__thanks__main-text {
      font-size: 1.5rem; }
    .contact__thanks__text {
      line-height: 1.5rem;
      margin: 20px 0 0 0; }
      .contact__thanks__text a {
        color: #287b44; }

@media (max-width: 640px) {
  /* =====================
    CONTACT-SP
  ===================== */
  .contact-fax__pdf a, .contact-fax__excel a {
    width: 203px;
    margin: 0 0 0 5px; }
  .contact-kanto-tel, .contact-kansai-tel, .contact-kyushu-tel {
    width: 180px;
    margin-left: 6px; }
    .contact-kanto-tel__phone-num, .contact-kansai-tel__phone-num, .contact-kyushu-tel__phone-num {
      background-position: 15px 13px; } }

/* ---------------------
    - NEWS | 2024.05 -
--------------------- */
.news {
}
  .news-hero {
    background-color: #647d5b;
    background-image: url("/images/news/news-hero.png");
    background-repeat: no-repeat;
    background-size: cover; }

/*# sourceMappingURL=style.css.map */