@charset "UTF-8";
/* ========================================
	reset
======================================== */
.cf {
  *zoom: 1; }
  .cf:before {
    content: " ";
    display: table; }
  .cf:after {
    content: " ";
    display: table;
    clear: both; }

.left {
  float: left; }

.right {
  float: left; }

img, iframe {
  vertical-align: bottom;
  max-width: 100%; }

strong {
  font-weight: bold; }

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

a {
  outline: 0;
  color: #555; }

p {
  line-height: 1.6; }

html {
  font-size: 62.5%; }

/* ========================================
	responsive setting
======================================== */
.for_pc {
  display: block; }

.for_sp, .none {
  display: none; }

.toggle_btn {
  cursor: pointer; }

/* ========================================
	layout
======================================== */
body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", Helvetica, Arial, Verdana, sans-serif;
  -webkit-text-size-adjust: 100%;
  color: #555;
  line-height: 1.0;
  text-align: center;
  color: #555;
  font-size: 13px;
  font-size: 1.3rem; }

.wrapper {
  position: relative;
  width: 1024px;
  margin-right: auto;
  margin-left: auto;
  text-align: left; }

.button_wrapper {
  position: relative;
  width: 1024px;
  margin: 0 auto;
  text-align: center; }

.contents_narrow {
  max-width: 900px;
  margin: 0 auto; }
  .contents_narrow .wrapper {
    max-width: 900px; }

/* ========================================
	common
======================================== */
.section {
  overflow: hidden;
  zoom: 1;
  clear: both;
  position: relative;
  padding: 5% 0; }

.section_dark {
  color: #fff; }
  .section_dark a {
    color: #fff; }

body.pc .section_dark a:hover {
  color: #89a3d4;
  text-decoration: underline; }

.text_center {
  text-align: center !important; }

.text_left {
  text-align: left !important; }

.text_right {
  text-align: right !important; }

/* 横並びリスト */
.vertical_list {
  text-align: center;
  letter-spacing: -0.5em; }
  .vertical_list li {
    display: inline-block;
    padding: 0 5px;
    width: 25%;
    vertical-align: top;
    text-align: left;
    letter-spacing: normal; }
  .vertical_list a {
    display: block;
    text-align: center;
    padding: 0 15px 20px; }
  .vertical_list h3 {
    margin-bottom: 10px;
    text-align: center;
    font-size: 15px;
    font-size: 1.5rem; }
    .vertical_list h3.title_left {
      text-align: left; }
      .vertical_list h3.title_left:after {
        display: block;
        z-index: 1;
        width: 30px;
        height: 2px;
        margin: 15px 0;
        content: " ";
        text-align: left;
        position: relative;
        background: #89a3d4; }

.vertical_list_2 li {
  width: 50%; }

.vertical_list_3 li {
  width: 25%; }

/* リンクボタン */
.button {
  margin: 20px 0;
  text-align: center;
  letter-spacing: -0.5em; }
  .button a {
    display: inline-block;
    margin: 0 5px;
    padding: 5px 15px;
    letter-spacing: normal;
    border: #fff 1px solid;
    text-decoration: none;
    -webkit-transition: all 0.2s ease-in-out;
    -moz-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    -ms-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

body.pc .button a:hover {
  background: #fff;
  color: #555;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

.button_bti a {
  border: #89a3d4 1px solid; }

body.pc .button_bti a:hover {
  background: #89a3d4;
  color: #fff; }

/* パンくずリスト */
.topic_path {
  overflow: hidden;
  zoom: 1;
  padding: 15px; }
  .topic_path a {
    text-decoration: none !important; }
    .topic_path a:hover {
      text-decoration: none !important; }
  .topic_path h1 {
    float: left;
    margin: 10px 10px 10px 0;
    font-size: 22px;
    font-size: 2.2rem; }
  .topic_path ul {
    float: right;
    letter-spacing: -.5em;
    margin: 13px 0 13px 10px; }
    .topic_path ul li {
      float: left;
      display: inline-block;
      letter-spacing: normal; }
      .topic_path ul li:nth-child(n+2):before {
        padding: 0 5px;
        color: #ccc;
        content: "/\00a0"; }

/* ページインデックス */
.page_index {
  padding: 10px;
  border: #eee 1px solid;
  border-right: none;
  border-left: none;
  letter-spacing: -.5em;
  font-size: 14px;
  font-size: 1.4rem; }
  .page_index li {
    display: inline-block;
    width: 25%;
    padding: 0 1.5%;
    letter-spacing: normal;
    text-align: center; }
  .page_index a {
    display: inline-block;
    width: 100%;
    padding: 8px 13px;
    text-decoration: none;
    border: #89a3d4 1px solid;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -o-border-radius: 50px;
    -ms-border-radius: 50px;
    border-radius: 50px;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -o-transition: all 0.1s ease-in-out;
    -ms-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out; }

body.pc .page_index a:hover {
  color: #fff !important;
  text-decoration: none !important;
  background: #89a3d4; }

/* コンテンツ */
.w83 {
  width: 83.3333%; }

.w75 {
  width: 75%; }

.w66 {
  width: 66.6666%; }

.w50 {
  width: 50%; }

.w33 {
  width: 33.3333%; }

.w25 {
  width: 25%; }

.w16 {
  width: 16.6666%; }

.img_left {
  float: left;
  padding-right: 5px; }

.img_right {
  float: right;
  padding-left: 5px; }

.box p {
  margin: 1.4rem 0; }
.box h4 {
  text-align: center; }

.box_right {
  float: right;
  padding-left: 15px; }
  .box_right h3.box_title {
    text-align: right; }

.box_right2 {
  float: right;
  padding-left: 15px; }
  .box_right2 h3.box_title {
    text-align: left; }

.box_left {
  float: left;
  padding-right: 15px; }

.box_center {
  float: left; }

.section {
  padding: 0;
  margin-top: 3%;
  margin-bottom: 3%; }
  .section .head {
    overflow: hidden;
    zoom: 1;
    font-size: 15px;
    padding-bottom: 3%; }
    .section .head .head_img {
      float: none;
      padding: 1.4rem 2.0rem; }
  .section .sub_section {
    overflow: hidden;
    zoom: 1;
    padding: 2% 0 4% 0; }
  .section .sub_section_border_top {
    padding: 4% 2%;
    border-top: #eee 1px solid; }
  .section .sub_section_no_border {
    padding: 2% 2%; }
  .section .text_section p {
    margin-bottom: 1rem; }

.section_title {
  line-height: 1.6;
  padding: 20px 20px 0;
  text-align: center;
  font-size: 22px;
  font-size: 2.2rem; }
  .section_title:after {
    display: block;
    z-index: 1;
    width: 30px;
    height: 2px;
    margin: 15px auto;
    content: " ";
    text-align: center;
    position: relative;
    background: #89a3d4; }

.box_title {
  margin-bottom: 25px;
  font-size: 22px;
  font-size: 2.2rem;
  border-bottom: #eee 1px dotted; }
  .box_title span {
    display: inline-block;
    padding-bottom: 8px;
    margin-bottom: -1px;
    border-bottom: #89a3d4 2px solid; }

h4 {
  margin: 10px 0 20px;
  line-height: 1.3;
  font-size: 18px;
  font-size: 1.8rem; }

.box_subtitle {
  margin: 10px 0 20px;
  line-height: 1.3;
  font-size: 18px;
  font-size: 1.8rem;
  margin-bottom: 10px; }

/* 枠線付きパネル */
.border_panel {
  padding: 0 15px 15px;
  border-width: 1px;
  border-style: solid; }
  .border_panel .panel_title {
    margin-top: 0;
    margin-right: -15px;
    margin-left: -15px;
    padding: 7px 15px;
    font-size: 16px;
    font-size: 1.6rem;
    text-align: left;
    color: #fff; }
    .border_panel .panel_title i {
      padding: 0 5px 2px 0;
      font-size: 14px;
      font-size: 1.4rem; }
  .border_panel section {
    margin-bottom: 20px; }
  .border_panel li {
    padding: 5px; }
  .border_panel p {
    margin: 1.4rem 0; }

.panel_bti {
  border-color: #89a3d4; }
  .panel_bti h4 {
    background: #89a3d4; }

.panel_neuron {
  border-color: #3DAAD6; }
  .panel_neuron h4 {
    background: #3DAAD6; }

.panel_impulse {
  border-color: #3DA8AA; }
  .panel_impulse h4 {
    background: #3DA8AA; }

.panel_grasper {
  border-color: #A9D18E; }
  .panel_grasper h4 {
    background: #A9D18E; }

/* スライドパネル */
.slide_panel {
  overflow: hidden;
  zoom: 1;
  margin-bottom: 5px;
  line-height: 1.4;
  border: #ddd 1px solid;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -o-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  -ms-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); }
  .slide_panel a {
    display: block;
    padding: 8px 10px;
    text-decoration: none; }
  .slide_panel dt {
    font-size: 14px;
    font-size: 1.4rem; }
  .slide_panel dd {
    display: none;
    padding: 15px;
    border-top: #ddd 1px solid; }
    .slide_panel dd p {
      margin-top: 0; }

.panel_open dd {
  display: block; }

/* カラーブロック */
.c_block {
  width: 100%;
  display: inline-block;
  padding: 20px;
  color: #fff; }
  .c_block dt {
    text-align: center;
    font-size: 20px;
    font-size: 2rem; }
    .c_block dt i {
      display: inline-block;
      width: 40px;
      height: 40px;
      margin-bottom: 10px;
      line-height: 40px;
      font-size: 20px;
      font-size: 2rem;
      -webkit-border-radius: 20px;
      -moz-border-radius: 20px;
      -o-border-radius: 20px;
      -ms-border-radius: 20px;
      border-radius: 20px;
      border: #fff 1px solid; }
    .c_block dt .block_title {
      margin: 10px 0;
      line-height: 1.2; }
  .c_block dd {
    padding: 0 10px; }

.c_block_blue {
  background: #3498db; }

.c_block_red {
  background: #e74c3c; }

.c_block_green {
  background: #2ecc71; }

ul.disc {
  list-style: disc;
  padding-left: 1.5em;
  line-height: 1.4; }
  ul.disc li {
    margin-bottom: 5px; }
ul.circle {
  list-style: circle;
  padding-left: 1.5em;
  line-height: 1.4; }
  ul.circle li {
    margin-bottom: 5px; }
ul.none {
  list-style: none;
  padding-left: 1.5em;
  line-height: 1.4; }
  ul.none li {
    margin-bottom: 5px; }

/* サムネイルズーム*/
a.thumbnail {
  overflow: hidden;
  position: relative;
  display: block;
  margin-bottom: 15px;
  padding: 2%;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }
  a.thumbnail img {
    vertical-align: middle;
    overflow: hidden;
    width: 100%;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
  a.thumbnail span {
    top: 0;
    left: 0;
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    vertical-align: middle;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    a.thumbnail span i {
      display: none;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 50px;
      height: 50px;
      margin: -25px 0 0 -25px;
      background: #3498db;
      line-height: 50px;
      color: #fff;
      font-size: 20px;
      -webkit-border-radius: 50px;
      -moz-border-radius: 50px;
      -o-border-radius: 50px;
      -ms-border-radius: 50px;
      border-radius: 50px;
      box-align: center; }
  a.thumbnail:hover img {
    -webkit-transform: scale(1.1) rotate(0.1deg);
    -moz-transform: scale(1.1) rotate(0.1deg);
    -o-transform: scale(1.1) rotate(0.1deg);
    -ms-transform: scale(1.1) rotate(0.1deg);
    transform: scale(1.1) rotate(0.1deg); }
a.thumbnail_hover img {
  -webkit-transform: scale(1.1) rotate(0.1deg);
  -moz-transform: scale(1.1) rotate(0.1deg);
  -o-transform: scale(1.1) rotate(0.1deg);
  -ms-transform: scale(1.1) rotate(0.1deg);
  transform: scale(1.1) rotate(0.1deg); }
a.thumbnail:hover span, a.thumbnail_hover span {
  background: rgba(0, 0, 0, 0.5); }
a.thumbnail:hover span i, a.thumbnail_hover span i {
  display: block; }

/* ========================================
	header
======================================== */
header {
  position: absolute;
  top: 0;
  width: 100%;
  color: #fff; }
  header a {
    color: #fff;
    text-decoration: none; }
    header a:hover {
      text-decoration: none !important; }
  header nav {
    overflow: hidden;
    padding: 15px 0 0; }
    header nav h2 {
      position: relative;
      float: left;
      width: 20%;
      height: 58px;
      padding: 0 0 6px 15px;
      vertical-align: middle; }
      header nav h2 img {
        display: inline-block;
        width: 165px;
        vertical-align: middle; }
      header nav h2:before {
        content: "";
        height: 100%;
        vertical-align: middle;
        width: 0px;
        display: inline-block; }
    header nav > ul {
      float: right;
      text-align: right;
      width: 80%;
      padding-top: 15px;
      letter-spacing: -0.4rem;
      text-align: right;
      font-size: 14px;
      font-size: 1.4rem; }
      header nav > ul > li {
        letter-spacing: normal;
        display: inline-block; }
        header nav > ul > li > a, header nav > ul > li > span {
          display: inline-block;
          padding: 9px 20px 20px; }
        header nav > ul > li > a i, header nav > ul > li > span i {
          padding-left: 10px; }
      header nav > ul ul {
        z-index: 1000;
        position: absolute;
        display: none;
        top: 120px;
        min-width: 200px;
        padding: 0 !important;
        border-top: #89a3d4 2px solid;
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); }
        header nav > ul ul li {
          margin-bottom: 0 !important;
          border-bottom: #000 1px solid; }
          header nav > ul ul li:last-child {
            border: none; }
          header nav > ul ul li a {
            display: block;
            padding: 12px 10px;
            color: #fff !important;
            background: rgba(50, 50, 50, 0.9); }
            header nav > ul ul li a:hover {
              transition: background-color .3s ease-in-out;
              background: rgba(0, 0, 0, 0.9); }
          header nav > ul ul li h3 {
            text-align: left;
            font-size: 14px;
            font-size: 1.4rem; }
  header .nav_fixed {
    z-index: 1000;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
    background: rgba(255, 255, 255, 0.95);
    -webkit-box-shadow: rgba(0, 0, 0, 0.3) 0 0 5px 0;
    -moz-box-shadow: rgba(0, 0, 0, 0.3) 0 0 5px 0;
    -o-box-shadow: rgba(0, 0, 0, 0.3) 0 0 5px 0;
    -ms-box-shadow: rgba(0, 0, 0, 0.3) 0 0 5px 0;
    box-shadow: rgba(0, 0, 0, 0.3) 0 0 5px 0;
    -webkit-transition: background-color 0.3s ease-in-out;
    -moz-transition: background-color 0.3s ease-in-out;
    -o-transition: background-color 0.3s ease-in-out;
    -ms-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out; }
    header .nav_fixed .language {
      display: none; }
    header .nav_fixed a, header .nav_fixed span {
      color: #777; }
    header .nav_fixed nav {
      width: 1024px;
      margin: 0 auto;
      padding: 10px 0 5px; }
      header .nav_fixed nav > ul ul {
        top: 70px; }
        header .nav_fixed nav > ul ul li {
          border-bottom: #eee 1px solid; }
          header .nav_fixed nav > ul ul li a {
            color: #555 !important;
            background: #fff; }
            header .nav_fixed nav > ul ul li a:hover {
              background: #eee; }

.language {
  position: relative;
  padding: 15px 0;
  text-align: right;
  border-bottom: #fff 1px solid; }
  .language ul {
    display: none;
    background: url(../img/bg/language.png) no-repeat center top;
    position: absolute;
    width: 100px;
    right: -30px;
    top: 40px;
    text-align: left;
    padding: 10px 0 6px; }
    .language ul li {
      position: relative; }
      .language ul li a {
        color: #555 !important;
        display: block;
        font-size: 10px;
        padding: 4px 12px;
        margin-bottom: 1px; }
        .language ul li a:hover {
          background: #fcfcfc; }
      .language ul li.active a:after {
        top: 3px;
        right: 10px;
        color: #555;
        content: "\f00c";
        position: absolute;
        display: inline-block;
        font-family: FontAwesome; }

/* ========================================
	footer
======================================== */
footer {
  color: #fff;
  background: #324c80; }
  footer a {
    color: #fff;
    text-decoration: none; }

body.pc footer a:hover {
  text-decoration: underline; }

footer .wrapper {
  padding: 5% 0 2%; }
footer h2 {
  float: left;
  width: 22%;
  margin: 0 30px 5% 0; }

.f_menu {
  float: left;
  letter-spacing: -0.5em;
  margin-top: 2%; }
  .f_menu li {
    display: inline-block;
    letter-spacing: normal;
    padding-right: 20px; }

.f_sns {
  float: right;
  width: 76px;
  margin-top: 1%;
  letter-spacing: -0.5em; }
  .f_sns li {
    display: inline-block;
    width: 28px;
    height: 28px;
    margin-left: 10px;
    letter-spacing: normal; }
    .f_sns li a {
      display: block;
      width: 28px;
      height: 28px;
      background-position: 0 0;
      background-repeat: no-repeat;
      -webkit-transition: all 0.3s ease-in-out;
      -moz-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      -ms-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out;
      -webkit-border-radius: 28px;
      -moz-border-radius: 28px;
      -o-border-radius: 28px;
      -ms-border-radius: 28px;
      border-radius: 28px; }

body.pc .f_sns li a:hover {
  background-position: 0 -38px; }

.f_sns a.facebook {
  background-image: url(../img/company/social/facebook.png); }
.f_sns a.googleplus {
  background-image: url(../img/company/social/googleplus.png); }

.copyright {
  clear: both;
  letter-spacing: -0.5em; }
  .copyright p {
    display: inline-block;
    padding-right: 15px;
    letter-spacing: normal; }

#page_top {
  z-index: 9999;
  display: none;
  right: 20px;
  bottom: 20px;
  position: fixed;
  width: 65px;
  height: 30px;
  padding-right: 15px;
  color: #fff;
  font-weight: bold;
  line-height: 30px;
  line-height: 3.0rem;
  background: #222;
  font-size: 15px;
  font-size: 1.5rem;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -o-border-radius: 3px;
  -ms-border-radius: 3px;
  border-radius: 3px;
  cursor: pointer; }

body.pc #page_top:hover {
  background: #72c02c;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

#page_top:after {
  top: -2px;
  right: 8.5px;
  content: "\f106";
  position: absolute;
  text-align: center;
  font-weight: normal;
  font-family: FontAwesome;
  font-size: 20px;
  font-size: 2rem; }

/* ========================================
	case
======================================== */
#case .lead {
  margin-bottom: 5%;
  text-align: center;
  font-size: 14px;
  font-size: 1.4rem; }
#case .tag {
  color: #89a3d4;
  font-size: 14px;
  font-size: 1.4rem;
  margin-bottom: 3%; }
  #case .tag i {
    padding-right: 5px; }
  #case .tag a {
    display: inline-block;
    padding: 0;
    color: #89a3d4;
    text-decoration: none; }

body.pc #case .tag a:hover {
  text-decoration: underline; }

@media print, screen and (max-width: 1200px) {
  .wrapper, .button_wrapper {
    width: auto;
    margin-right: 40px;
    margin-left: 40px; }

  header nav > ul {
    font-size: 13px;
    font-size: 1.3rem; }
    header nav > ul li a, header nav > ul li span {
      padding-top: 10px;
      padding-right: 10px;
      padding-left: 10px; }
  header .nav_fixed nav {
    width: auto;
    padding-right: 40px;
    padding-left: 40px; } }
/* 印刷用スタイル */
@media print {
  .wrapper, .button_wrapper {
    width: auto;
    margin: 0 0; }

  header .nav_fixed {
    z-index: 1000;
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    margin: 0;
    padding: 0;
    background: transparent;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    -o-box-shadow: none;
    -ms-box-shadow: none;
    box-shadow: none;
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
    -ms-transition: none;
    transition: none; }
    header .nav_fixed .language {
      display: block;
      padding-right: 10px; }
    header .nav_fixed a, header .nav_fixed span {
      color: #fff; }
    header .nav_fixed nav {
      width: auto;
      margin: 0 auto;
      padding: 10px 0 5px; }
      header .nav_fixed nav > ul ul {
        top: 70px; }

  footer .wrapper {
    margin: 0 10px; }

  .section_dark {
    padding-right: 10px;
    padding-left: 10px; }

  .slide_panel dd {
    display: block; }

  #page_top {
    display: none !important; } }
/* ========================================	以下 スマートフォン向け ======================================== */
@media screen and (max-width: 800px) {
  .for_pc {
    display: none; }

  .for_sp {
    display: block; }

  .wrapper, .button_wrapper {
    margin: 0 15px; }

  /* ========================================
  	common
  ======================================== */
  a {
    text-decoration: none; }

  .w83, .w75, .w66, .w50, .w33, .w25, .w16 {
    width: auto; }

  .img {
    margin-bottom: 20px; }

  .img_left {
    float: none;
    padding-right: 0; }

  .img_right {
    float: none;
    padding-left: 0; }

  .left {
    float: left; }

  .right {
    float: right; }

  .box {
    margin-bottom: 20px; }

  .box_right {
    float: none;
    padding-left: 0; }

  .box_left {
    float: none;
    padding-right: 0; }

  .box_center {
    float: none; }

  /* ページインデックス */
  .page_index {
    padding: 10px 0 0; }
    .page_index li {
      display: inline-block;
      width: 50%;
      padding: 0 8px 10px; }

  /* パンくずリスト */
  .topic_path {
    padding-right: 0;
    padding-left: 0; }
    .topic_path h2 {
      margin-left: 10px; }

  /* ========================================
  	header
  ======================================== */
  header {
    position: relative; }
    header .wrapper {
      margin: 0; }
    header nav {
      color: #777;
      background: #fff;
      margin: 0;
      padding: 5px 5px 0; }
      header nav a {
        color: #777; }
      header nav h2 {
        width: 145px;
        padding: 15px 5px 20px; }
        header nav h2 img {
          width: 145px; }
      header nav > ul {
        clear: both;
        display: none;
        float: none;
        width: auto;
        padding: 0;
        letter-spacing: normal;
        text-align: left;
        font-size: 14px;
        font-size: 1.4rem; }
        header nav > ul > li {
          letter-spacing: normal;
          display: block; }
          header nav > ul > li i {
            float: right; }
          header nav > ul > li > a, header nav > ul > li > span {
            display: block;
            padding: 12px 5px;
            border-top: #eee 1px solid; }
        header nav > ul ul.none {
          z-index: 1000;
          position: relative;
          display: none;
          left: auto;
          top: auto;
          width: 100%;
          padding: 0;
          border-top: none;
          box-shadow: none; }
          header nav > ul ul.none a {
            color: #777 !important;
            background: #eee !important;
            padding: 12px 10px 12px 15px !important;
            border-top: #ddd 1px solid; }
          header nav > ul ul.none li {
            display: block;
            width: auto;
            border: none; }
            header nav > ul ul.none li h3 {
              text-align: left; }
            header nav > ul ul.none li i {
              float: none; }
    header .menu_toggle_btn {
      float: right;
      width: 40px;
      height: 32px;
      margin: 10px 10px 0 0;
      text-align: center;
      color: #fff;
      background: #89a3d4;
      font-size: 19px;
      font-size: 1.9rem;
      cursor: pointer; }
      header .menu_toggle_btn.active {
        background: #5fb611; }

  /* 横並びリスト */
  .vertical_list {
    margin: 0;
    box-shadow: none; }
    .vertical_list li {
      display: block;
      width: auto;
      margin-bottom: 20px;
      padding: 0 10px; }
    .vertical_list a {
      display: block;
      text-align: center;
      padding: 10px 0; }
    .vertical_list h3 {
      margin-bottom: 10px;
      text-align: center;
      font-size: 16px;
      font-size: 1.6rem; }
      .vertical_list h3.title_left {
        text-align: left; }
        .vertical_list h3.title_left:after {
          display: block;
          z-index: 1;
          width: 30px;
          height: 2px;
          margin: 15px 0;
          content: " ";
          text-align: left;
          position: relative;
          background: #89a3d4; }

  a.thumbnail {
    margin-bottom: 8px; }

  /* ========================================
  	footer
  ======================================== */
  footer {
    color: #fff;
    background: #324c80; }
    footer a {
      color: #fff;
      text-decoration: none; }
      footer a:hover {
        text-decoration: underline; }
    footer .wrapper {
      padding: 5% 0 2%; }
    footer h2 {
      float: none;
      width: 35%;
      margin: 0 0 5% 0; }

  .f_menu {
    float: none;
    line-height: 1.4; }
    .f_menu li {
      display: inline-block;
      letter-spacing: normal;
      padding-right: 20px; }

  .f_sns {
    margin: 1% 0; }

  #page_top {
    right: 10px;
    bottom: 20px; } }
@media screen and (max-width: 600px) {
  /* パンくずリスト */
  .topic_path {
    padding: 10px 0;
    line-height: 1.3; }
    .topic_path h2 {
      float: none; }
    .topic_path ul {
      text-align: right;
      margin-left: 0; }
      .topic_path ul li {
        float: none; }

  /* ページインデックス */
  .page_index {
    padding-bottom: 4px; }
    .page_index li {
      display: block;
      width: auto;
      padding: 0 0 6px; } }



/* ========================================
	document
======================================== */
.document_list {
  letter-spacing: -.5em; }
  .document_list li {
    display: inline-block;
    margin-bottom: 10px;
    padding: 0 15px;
    text-align: center;
    vertical-align: top;
    letter-spacing: normal; }
  .document_list img {
    border: #ddd 1px solid;
    width: 100%; }
  .document_list li p {
    margin: 10px auto 0;
    text-align: left; }
  .document_list p input[type=checkbox] {
    float: left; }
  .document_list p label {
    display: block;
    overflow: hidden;
    line-height: 1.3;
    padding-left: 3px; }

.products_document .document_list li {
  width: 33%; }
  .products_document .document_list li img, .products_document .document_list li p {
    max-width: 250px; }

.example_document .document_list li {
  width: 25%; }
  .example_document .document_list li img, .example_document .document_list li p {
    max-width: 200px; }

.useful_document .document_list li {
  width: 45%;
  margin: 0 2.5% 20px;
  border: #598dc2 2px solid; }
  .useful_document .document_list li img {
    border: none; }
  .useful_document .document_list li p {
    margin: 10px 0; }

/* ========================================
	メールフォーム
======================================== */
.wpcf7-not-valid-tip {
  display: none !important;
}
