@charset "UTF-8";
/**
 * 目次
 *
 * 01. Reset
 * 02. Base
 * 03. Layout
 * 04. Parts
 * 05. Responisive
 *
 */
/* ==========================================================================
   01. Reset
   ========================================================================== */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* ==========================================================================
   02. Base
   ========================================================================== */
html {
  color: #1f1f1f;
  font-size: 62.5%;
  overflow-y: scroll; }

body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 140%;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  min-width: 1000px;
  overflow-x: hidden;
  background: url(img/bg_header.gif) no-repeat left top; }

@media screen and (max-width: 767px) {
  body {
    min-width: 100%;
    background: none; } }

/* link
   ========================================================================== */
a {
  color: #1f1f1f;
  text-decoration: none; }

a:visited {
  color: #1f1f1f;
  text-decoration: none; }

a:hover {
  color: #1f1f1f;
  text-decoration: underline; }

@media screen and (max-width: 767px) {
  a:hover {
    text-decoration: none; } }

/* image
   ========================================================================== */
img {
  line-height: 1.0;
  vertical-align: bottom; }

table th img,
table td img {
  vertical-align: middle; }

/* ClearFix
   ========================================================================== */
.clear {
  clear: both; }

.clearfix,
.fbox,
#contents {
  display: block; }
  .clearfix:after,
  .fbox:after,
  #contents:after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden; }

/* float
   ========================================================================== */
.fr {
  float: right; }

.fl {
  float: left; }

ul.fbox li {
  float: left;
  display: inline; }

/* margin
   ========================================================================== */
.mt0 {
  margin-top: 0px !important; }

.mt5 {
  margin-top: 5px !important; }

.mt10 {
  margin-top: 10px !important; }

.mt15 {
  margin-top: 15px !important; }

.mt20 {
  margin-top: 20px !important; }

.mt25 {
  margin-top: 25px !important; }

.mt30 {
  margin-top: 30px !important; }

.mt35 {
  margin-top: 35px !important; }

.mt40 {
  margin-top: 40px !important; }

.mt45 {
  margin-top: 45px !important; }

.mt50 {
  margin-top: 50px !important; }

.mt55 {
  margin-top: 55px !important; }

.mt60 {
  margin-top: 60px !important; }

.mb0 {
  margin-bottom: 0px !important; }

.mb5 {
  margin-bottom: 5px !important; }

.mb10 {
  margin-bottom: 10px !important; }

.mb15 {
  margin-bottom: 15px !important; }

.mb20 {
  margin-bottom: 20px !important; }

.mb25 {
  margin-bottom: 25px !important; }

.mb30 {
  margin-bottom: 30px !important; }

.mr0 {
  margin-right: 0px !important; }

.mr5 {
  margin-right: 5px !important; }

.mr10 {
  margin-right: 10px !important; }

.mr15 {
  margin-right: 15px !important; }

.mr20 {
  margin-right: 20px !important; }

.ml0 {
  margin-left: 0px !important; }

.ml5 {
  margin-left: 5px !important; }

.ml10 {
  margin-left: 10px !important; }

.ml15 {
  margin-left: 15px !important; }

.ml20 {
  margin-left: 20px !important; }

/* padding
   ========================================================================== */
.pt0 {
  padding-top: 0 !important; }

.pb0 {
  padding-bottom: 0 !important; }

/* form label
   ========================================================================== */
input,
textarea,
label {
  vertical-align: middle; }

/* position
   ========================================================================== */
.text-r {
  text-align: right !important; }

.text-c,
table.text-c th,
table.text-c td,
table.th-c th {
  text-align: center !important; }

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

/* ==========================================================================
   03. Layout
   ========================================================================== */
/* wrapper
   ========================================================================== */
@media screen and (max-width: 767px) {
  #main {
    padding-bottom: 60px; } }

/* header
   ========================================================================== */
header {
  min-height: 155px; }
  header #head-logo {
    float: left;
    padding-top: 32px;
    width: 239px; }
  header .nav-wrap {
    float: right;
    width: calc(100% - 239px);
    position: relative; }
  header #gnav-wrap {
    padding-top: 55px;
    text-align: right;
    letter-spacing: -.40em; }
    header #gnav-wrap ul {
      display: inline-block;
      letter-spacing: normal;
      vertical-align: middle;
      letter-spacing: -.40em; }
      header #gnav-wrap ul li {
        width: 125px;
        text-align: center;
        line-height: 1;
        vertical-align: bottom !important;
        display: inline-block;
        letter-spacing: normal;
        vertical-align: middle;
        font-size: 13px;
        font-size: 1.3rem; }
        header #gnav-wrap ul li.active span, header #gnav-wrap ul li.activeParent:not(.gnav-home) span {
          color: #c02d2f; }
        header #gnav-wrap ul li a {
          width: 100%;
          height: 100%;
          display: block; }
          header #gnav-wrap ul li a:hover {
            text-decoration: none; }
            header #gnav-wrap ul li a:hover span {
              color: #c02d2f; }
        header #gnav-wrap ul li span {
          width: 100%;
          position: relative;
          display: block;
          -webkit-transition: 0.2s;
          transition: 0.2s; }
          header #gnav-wrap ul li span:before {
            font-family: "icomoon";
            display: block;
            margin-bottom: 15px;
            position: relative; }
        header #gnav-wrap ul li.gnav-home span:before {
          content: "\e906";
          font-size: 33px;
          font-size: 3.3rem; }
        header #gnav-wrap ul li.gnav-about span:before {
          content: "\e905";
          bottom: -5px;
          font-size: 43px;
          font-size: 4.3rem; }
        header #gnav-wrap ul li.gnav-lab span:before {
          content: "\e904";
          bottom: -7px;
          font-size: 42px;
          font-size: 4.2rem; }
        header #gnav-wrap ul li.gnav-researcher span:before {
          content: "\e907";
          bottom: -5px;
          font-size: 42px;
          font-size: 4.2rem; }
        header #gnav-wrap ul li.gnav-result span:before {
          content: "\e903";
          bottom: -3px;
          font-size: 37px;
          font-size: 3.7rem; }
        header #gnav-wrap ul li.gnav-education span:before {
          content: "\e902";
          bottom: -2px;
          font-size: 29px;
          font-size: 2.9rem; }
    header #gnav-wrap .ul-child {
      display: none; }
  header .head-utility {
    position: absolute;
    top: 0;
    right: 0;
    letter-spacing: -.40em; }
    header .head-utility .head-utility-list,
    header .head-utility .head-search,
    header .head-utility .head-btn-eng {
      display: inline-block;
      letter-spacing: normal;
      vertical-align: middle;
      vertical-align: bottom; }
    header .head-utility .head-btn-jpn {
      display: inline-block;
      letter-spacing: normal;
      vertical-align: middle;
      vertical-align: bottom; }
    header .head-utility .head-utility-list {
      margin-right: 30px;
      position: relative;
      top: -5px; }
      header .head-utility .head-utility-list li {
        padding: 0 20px;
        border-right: 1px solid #000;
        line-height: 1;
        font-size: 13px;
        font-size: 1.3rem; }
        header .head-utility .head-utility-list li:first-child {
          padding-left: none; }
        header .head-utility .head-utility-list li:last-child {
          padding-right: 0;
          border: none; }
        header .head-utility .head-utility-list li a:hover {
          color: #c02d2f; }
    header .head-utility .head-search {
      width: 160px;
      overflow: hidden;
      margin-right: 25px; }
    header .head-utility .head-btn-eng {
      font-size: 13px;
      font-size: 1.3rem; }
      header .head-utility .head-btn-eng a {
        border-left: 1px solid #000;
        border-right: 1px solid #000;
        border-bottom: 1px solid #000;
        padding: 10px 0;
        display: block;
        width: 125px;
        text-align: center;
        line-height: 1;
        -webkit-transition: 0.2s;
        transition: 0.2s; }
        header .head-utility .head-btn-eng a:hover {
          text-decoration: none;
          color: #fff;
          background: #000; }
          header .head-utility .head-btn-eng a:hover .icon-arrow-cmn:before {
            border-color: #fff; }
    header .head-utility .head-btn-jpn {
      font-size: 13px;
      font-size: 1.3rem; }
      header .head-utility .head-btn-jpn a {
        border-left: 1px solid #000;
        border-right: 1px solid #000;
        border-bottom: 1px solid #000;
        padding: 10px 0;
        display: block;
        width: 125px;
        text-align: center;
        line-height: 1;
        -webkit-transition: 0.2s;
        transition: 0.2s; }
        header .head-utility .head-btn-jpn a:hover {
          text-decoration: none;
          color: #fff;
          background: #000; }
          header .head-utility .head-btn-jpn a:hover .icon-arrow-cmn:before {
            border-color: #fff; }

#sp-header-item {
  display: none; }

/* google search */
#gsc {
  width: 100%;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  line-height: 1;
  border-bottom: 1px solid #000; }
  #gsc form.gsc-search-box,
  #gsc table.gsc-search-box {
    margin: 0 !important; }
  #gsc td {
    border: none !important; }
    #gsc td.gsc-input {
      padding: 0 !important; }
    #gsc td.gsc-search-button {
      position: absolute;
      right: 5px;
      top: 3px;
      width: 14px;
      height: 20px; }
      #gsc td.gsc-search-button:before {
        font-family: "icomoon";
        content: "\e900";
        display: block;
        font-size: 14px;
        font-size: 1.4rem; }
  #gsc input {
    width: 100%;
    min-height: 1em;
    box-sizing: border-box;
    font-size: 13px;
    font-size: 1.3rem; }
    #gsc input.gsc-input {
      padding-right: 8px !important;
      background: url(img/bg_gsc.png) no-repeat left center !important;
      background-size: 58px auto !important; }
      #gsc input.gsc-input:focus {
        background: none !important; }
      #gsc input.gsc-input.changed {
        background: none !important; }
    #gsc input.gsc-search-button {
      position: absolute;
      border-radius: 0;
      margin: 0;
      padding: 0 2px;
      right: 0;
      top: 0;
      height: 100%;
      background: #000 !important;
      border: none !important; }
      #gsc input.gsc-search-button[type="image"] {
        opacity: 0; }
  #gsc #gsc-iw-id1 {
    border: none !important;
    box-shadow: none !important; }
  #gsc .gsib_b span {
    display: none; }

@media screen and (max-width: 767px) {
  header {
    width: 100%;
    min-height: 0;
    background: none; }
    header .inner {
      position: relative; }
    header #head-logo {
      padding: 12px 0;
      width: 90px; }
    header .nav-wrap {
      width: calc(100% - 90px);
      position: absolute;
      top: 50%;
      right: 20px;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%); }
    header #gnav-wrap {
      display: none; }
    header .head-utility {
      position: relative;
      text-align: right;
      letter-spacing: -.40em; }
      header .head-utility .head-utility-list,
      header .head-utility .head-search,
      header .head-utility .head-btn-eng,
      header .head-utility .head-btn-jpn,
      header .head-utility #sp-menu {
        vertical-align: middle !important;
        display: inline-block;
        letter-spacing: normal;
        vertical-align: middle; }
      header .head-utility .head-utility-list {
        display: none; }
      header .head-utility .head-search {
        width: 20px;
        margin-right: 30px;
        overflow: visible; }
        header .head-utility .head-search #gsc {
          display: none; }
      header .head-utility #sp-head-search {
        display: block;
        width: 18px;
        height: 26px; }
        header .head-utility #sp-head-search span {
          position: relative;
          display: block;
          width: 18px;
          height: 26px; }
          header .head-utility #sp-head-search span:before {
            font-family: "icomoon";
            content: "\e900";
            display: block;
            font-size: 18px;
            font-size: 1.8rem; }
        header .head-utility #sp-head-search:hover {
          text-decoration: none; }
        header .head-utility #sp-head-search.active span:before, header .head-utility #sp-head-search.active span:after {
          display: block;
          content: '';
          width: 2px;
          height: 21px;
          -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
          background-color: #000;
          position: absolute;
          top: 2px;
          left: 8px; }
        header .head-utility #sp-head-search.active span:after {
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
      header .head-utility .head-btn-eng {
        width: 20px;
        height: 19px;
        margin-right: 30px;
        overflow: hidden;
        box-sizing: border-box; }
        header .head-utility .head-btn-eng a {
          border: none;
          width: 20px;
          height: 19px;
          padding: 0;
          text-indent: -200px;
          background: url(img/bg_eng_sp.png) no-repeat left top;
          background-size: 20px auto; }
          header .head-utility .head-btn-eng a:hover {
            background: url(img/bg_eng_sp.png) no-repeat left top;
            background-size: 20px auto; }
      header .head-utility .head-btn-jpn {
        width: 20px;
        height: 19px;
        margin-right: 30px;
        overflow: hidden;
        box-sizing: border-box; }
        header .head-utility .head-btn-jpn a {
          border: none;
          width: 20px;
          height: 19px;
          padding: 0;
          text-indent: -200px;
          background: url(img/bg_jpn_sp.png) no-repeat left top;
          background-size: 20px auto; }
          header .head-utility .head-btn-jpn a:hover {
            background: url(img/bg_jpn_sp.png) no-repeat left top;
            background-size: 20px auto; }
      header .head-utility #sp-menu {
        -webkit-transition: all 0.4s;
        transition: all 0.4s;
        box-sizing: border-box;
        position: relative;
        width: 18px;
        height: 16px; }
        header .head-utility #sp-menu span {
          -webkit-transition: all 0.4s;
          transition: all 0.4s;
          box-sizing: border-box;
          position: absolute;
          left: 0;
          width: 100%;
          height: 2px;
          background-color: #000; }
          header .head-utility #sp-menu span:nth-child(1) {
            top: 0; }
          header .head-utility #sp-menu span:nth-child(2) {
            top: 7px; }
          header .head-utility #sp-menu span:nth-child(3) {
            bottom: 0; }
        header .head-utility #sp-menu.active span:nth-child(1) {
          width: 45%;
          -webkit-transform: translate3d(0, 3px, 0) rotate(405deg);
          -ms-transform: translate3d(0, 3px, 0) rotate(405deg);
          transform: translate3d(0, 3px, 0) rotate(405deg); }
        header .head-utility #sp-menu.active span:nth-child(2) {
          -webkit-transform: translate3d(-1px, 0, 0) rotate(-45deg);
          -ms-transform: translate3d(-1px, 0, 0) rotate(-45deg);
          transform: translate3d(-1px, 0, 0) rotate(-45deg); }
        header .head-utility #sp-menu.active span:nth-child(3) {
          width: 45%;
          -webkit-transform: translate3d(8px, -3px, 0) rotate(405deg);
          -ms-transform: translate3d(8px, -3px, 0) rotate(405deg);
          transform: translate3d(8px, -3px, 0) rotate(405deg); }
  #sp-header-item {
    display: block; }
    #sp-header-item .head-search {
      display: none;
      box-sizing: border-box;
      overflow: hidden;
      border-top: 1px solid #e5e5e5;
      border-bottom: 1px solid #e5e5e5;
      padding: 30px 0; }
    #sp-header-item #gsc {
      width: calc(100% - 60px);
      border: 1px solid #e5e5e5;
      background: #fff;
      margin: 0 auto; }
      #sp-header-item #gsc .gsc-input-box {
        height: auto;
        border: none;
        box-shadow: none; }
      #sp-header-item #gsc .gsib_a {
        padding: 13px; }
      #sp-header-item #gsc td.gsc-search-button {
        right: 10px;
        top: 50%;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        padding: 5px; }
        #sp-header-item #gsc td.gsc-search-button:before {
          font-size: 18px;
          font-size: 1.8rem; }
      #sp-header-item #gsc input {
        font-size: 16px;
        font-size: 1.6rem; }
        #sp-header-item #gsc input.gsc-input {
          background-size: 68px auto !important; }
          #sp-header-item #gsc input.gsc-input:focus {
            outline: none; }
  #gnav-wrap-sp {
    display: none; }
    #gnav-wrap-sp > ul > li {
      border-top: 1px solid #e5e5e5;
      line-height: 1;
      font-size: 15px;
      font-size: 1.5rem; }
      #gnav-wrap-sp > ul > li.link-arrow {
        position: relative; }
        #gnav-wrap-sp > ul > li.link-arrow:before {
          content: '';
          margin: auto;
          position: absolute;
          top: 0;
          bottom: 0;
          right: 0;
          border-top: 1px solid #000;
          border-right: 1px solid #000;
          height: 5px;
          width: 5px;
          right: 20px;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
        #gnav-wrap-sp > ul > li.link-arrow.active span {
          color: #c02d2f; }
      #gnav-wrap-sp > ul > li.icon-plus {
        position: relative; }
        #gnav-wrap-sp > ul > li.icon-plus:before, #gnav-wrap-sp > ul > li.icon-plus:after {
          content: '';
          margin: auto;
          width: 13px;
          height: 1px;
          background-color: #000;
          position: absolute;
          top: 25px;
          right: 15px;
          -webkit-transition: 0.2s;
          transition: 0.2s; }
        #gnav-wrap-sp > ul > li.icon-plus:before {
          width: 13px;
          height: 1px;
          -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
          transform: rotate(90deg); }
        #gnav-wrap-sp > ul > li.icon-plus.activelist:before {
          -webkit-transform: rotate(0);
          -ms-transform: rotate(0);
          transform: rotate(0); }
      #gnav-wrap-sp > ul > li > a, #gnav-wrap-sp > ul > li > span {
        width: 100%;
        padding: 18px 35px 18px 20px;
        box-sizing: border-box;
        display: block;
        position: relative; }
        #gnav-wrap-sp > ul > li > a span, #gnav-wrap-sp > ul > li > span span {
          position: relative;
          padding-left: 36px; }
          #gnav-wrap-sp > ul > li > a span:before, #gnav-wrap-sp > ul > li > span span:before {
            font-family: "icomoon";
            margin-right: 10px;
            position: absolute;
            left: 0;
            top: 0; }
      #gnav-wrap-sp > ul > li.active > a, #gnav-wrap-sp > ul > li.active > span, #gnav-wrap-sp > ul > li.activeParent:not(.gnav-home) > a, #gnav-wrap-sp > ul > li.activeParent:not(.gnav-home) > span {
        width: 100%;
        padding: 18px 35px 18px 56px;
        position: relative;
        box-sizing: border-box;
        display: block;
        color: #c02d2f; }
        #gnav-wrap-sp > ul > li.active > a:before, #gnav-wrap-sp > ul > li.active > span:before, #gnav-wrap-sp > ul > li.activeParent:not(.gnav-home) > a:before, #gnav-wrap-sp > ul > li.activeParent:not(.gnav-home) > span:before {
          font-family: "icomoon";
          margin-right: 10px;
          position: absolute;
          top: 50%;
          -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
          left: 21px !important; }
      #gnav-wrap-sp > ul > li.active .ul-child, #gnav-wrap-sp > ul > li.activeParent:not(.gnav-home) .ul-child {
        display: block; }
      #gnav-wrap-sp > ul > li.activeParent > a {
        padding-left: 20px !important; }
      #gnav-wrap-sp > ul > li.active > a, #gnav-wrap-sp > ul > li.active > span {
        width: 100%;
        padding: 18px 35px 18px 56px;
        position: relative;
        box-sizing: border-box;
        display: block;
        color: #c02d2f; }
        #gnav-wrap-sp > ul > li.active > a:before, #gnav-wrap-sp > ul > li.active > span:before {
          font-family: "icomoon";
          margin-right: 10px;
          position: absolute;
          top: 50%;
          -webkit-transform: translate(0, -50%);
          -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
          left: 21px !important; }
      #gnav-wrap-sp > ul > li.active .ul-child {
        display: block; }
      #gnav-wrap-sp > ul > li.gnav-home span:before {
        content: "\e906";
        font-size: 16px;
        font-size: 1.6rem; }
      #gnav-wrap-sp > ul > li.gnav-about span:before {
        content: "\e905";
        font-size: 20px;
        font-size: 2rem; }
      #gnav-wrap-sp > ul > li.gnav-lab span:before {
        content: "\e904";
        left: 2px;
        font-size: 22px;
        font-size: 2.2rem; }
      #gnav-wrap-sp > ul > li.gnav-researcher span:before {
        content: "\e907";
        left: 2px;
        font-size: 22px;
        font-size: 2.2rem; }
      #gnav-wrap-sp > ul > li.gnav-result span:before {
        content: "\e903";
        left: 3px;
        font-size: 21px;
        font-size: 2.1rem; }
      #gnav-wrap-sp > ul > li.gnav-education span:before {
        content: "\e902";
        left: -1px;
        font-size: 15px;
        font-size: 1.5rem; }
    #gnav-wrap-sp .ul-child {
      display: none;
      overflow: hidden; }
      #gnav-wrap-sp .ul-child li {
        border-top: 1px solid #e5e5e5;
        line-height: 1;
        font-size: 12px;
        font-size: 1.2rem; }
        #gnav-wrap-sp .ul-child li a {
          width: 100%;
          padding: 18px 35px 18px 56px;
          box-sizing: border-box;
          display: block;
          position: relative; }
          #gnav-wrap-sp .ul-child li a span:before {
            display: none; }
          #gnav-wrap-sp .ul-child li a:before {
            content: '';
            margin: auto;
            position: absolute;
            top: 0;
            bottom: 0;
            border-top: 1px solid #000;
            border-right: 1px solid #000;
            height: 5px;
            width: 5px;
            right: 20px;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
    #gnav-wrap-sp .head-utility-list {
      background: #f2f2f2;
      border-bottom: 1px solid #e5e5e5;
      box-sizing: border-box;
      padding: 10px 11px;
      margin-bottom: -8px;
      font-size: 0;
      letter-spacing: -.40em; }
      #gnav-wrap-sp .head-utility-list li {
        float: none;
        width: calc((100% - 8px) / 2);
        border: none;
        margin: 0 8px 8px 0;
        vertical-align: top;
        font-size: 12px;
        font-size: 1.2rem;
        display: inline-block;
        letter-spacing: normal;
        vertical-align: middle; }
        #gnav-wrap-sp .head-utility-list li:nth-child(even) {
          margin-right: 0; }
        #gnav-wrap-sp .head-utility-list li a {
          display: block;
          background: #fff;
          padding: 10px 20px 10px 13px !important;
          position: relative; }
          #gnav-wrap-sp .head-utility-list li a span {
            padding-left: 0 !important; }
          #gnav-wrap-sp .head-utility-list li a:before {
            content: '';
            margin: auto;
            position: absolute;
            top: 0;
            bottom: 0;
            right: 10px;
            border-top: 1px solid #000;
            border-right: 1px solid #000;
            height: 5px;
            width: 5px;
            -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
            transform: rotate(45deg); } }

/* navigation
   ========================================================================== */
/* main
   ========================================================================== */
/* パンくずリスト */
.topicpath {
  border-bottom: 1px solid #e1e1e1;
  border-top: 1px solid #e1e1e1;
  margin: 120px 0 50px;
  padding: 20px 8px 10px;
  position: relative;
  font-size: 12px;
  font-size: 1.2rem;
  clear: both; }
  .topicpath li {
    color: #7d7c7c;
    line-height: 1;
    padding-right: 17px;
    padding-bottom: 10px; }
    .topicpath li:before {
      border-right: 1px solid #000;
      border-top: 1px solid #000;
      content: '';
      display: inline-block;
      height: 4px;
      width: 4px;
      margin-right: 20px;
      position: relative;
      top: -1px;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
    .topicpath li:first-child {
      background: url(img/icon_home.png) no-repeat left top;
      background-size: 20px 12px;
      width: 20px;
      height: 12px;
      padding-left: 0; }
      .topicpath li:first-child:before {
        display: none; }
      .topicpath li:first-child span {
        display: block;
        text-indent: 100%;
        white-space: nowrap;
        overflow: hidden;
        zoom: 1; }
  .topicpath a {
    color: #7d7c7c; }

@media screen and (max-width: 767px) {
  .topicpath {
    margin: 50px 0;
    padding: 15px 4px 10px;
    font-size: 10px;
    font-size: 1rem; }
    .topicpath li {
      padding-right: 5px;
      padding-bottom: 3px; }
      .topicpath li:before {
        margin-right: 8px;
        height: 3px;
        width: 3px;
        top: -2px; }
      .topicpath li:first-child {
        position: relative;
        top: -2px; } }

/* 共通バナー */
.bnr-cmn-list {
  font-size: 0;
  margin: 50px auto 30px;
  width: 980px; }
  .bnr-cmn-list li {
    display: inline-block;
    margin-bottom: 40px;
    margin-right: 40px;
    font-size: 14px;
    font-size: 1.4rem; }
    .bnr-cmn-list li:nth-child(3n) {
      margin-right: 0; }
  .bnr-cmn-list a {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear; }
    .bnr-cmn-list a:hover {
      opacity: .8; }

@media screen and (max-width: 767px) {
  .bnr-cmn-list {
    margin: 50px auto 0;
    width: 100%; }
    .bnr-cmn-list li {
      display: block;
      margin-bottom: 20px;
      margin-right: 0 !important;
      text-align: center; }
      .bnr-cmn-list li:last-child {
        margin-bottom: 0; }
    .bnr-cmn-list img {
      height: auto;
      max-width: 300px;
      width: 100%; } }

/* その他バナー */
.bnr-other-list {
  font-size: 0;
  margin: 10px auto;
  text-align: center;
  background-color: #f2f2f2;
  padding: 40px 0; }
  .bnr-other-list li {
    display: inline-block;
    margin-right: 30px;
    font-size: 14px;
    font-size: 1.4rem; }
    .bnr-other-list li:last-child {
      margin-right: 0; }
  .bnr-other-list a {
    -webkit-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear; }
    .bnr-other-list a:hover {
      opacity: .8; }

@media screen and (max-width: 767px) {
  .bnr-other-list {
    margin: 0 auto;
    width: 100%; }
    .bnr-other-list li {
      display: block;
      margin-bottom: 20px;
      margin-right: 0 !important;
      text-align: center; }
      .bnr-other-list li:last-child {
        margin-bottom: 0; }
    .bnr-other-list img {
      height: auto;
      max-width: 300px;
      width: 100%; } }

/* side
   ========================================================================== */
/* footer
   ========================================================================== */
footer {
  width: 100%;
  padding: 50px 0 25px;
  background: url(img/bg_footer.gif) no-repeat left bottom; }
  footer .foot-inner {
    margin: 0 auto;
    width: 100%;
    max-width: 1200px;
    min-width: 1000px; }
    @media screen and (min-width: 768px) and (max-width: 1240px) {
      footer .foot-inner {
        min-width: 1000px;
        width: calc(100% - 40px); } }
    @media screen and (max-width: 767px) {
      footer .foot-inner {
        max-width: 100%;
        min-width: 0; } }
  footer .foot-nav-wrap {
    float: right;
    width: calc(100% - 460px);
    margin: 0 auto; }
    @media screen and (min-width: 768px) and (max-width: 1240px) {
      footer .foot-nav-wrap {
        width: calc(100% - 370px); } }
    footer .foot-nav-wrap a {
      /* @include transition($anim-duration); */ }
      footer .foot-nav-wrap a:hover {
        color: #c02d2f; }
    footer .foot-nav-wrap .foot-nav {
      width: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      footer .foot-nav-wrap .foot-nav .col {
        width: 29%;
        position: relative;
        margin-top: -40px;
        overflow: hidden; }
        @media screen and (min-width: 768px) and (max-width: 1240px) {
          footer .foot-nav-wrap .foot-nav .col {
            width: 30%; } }
        footer .foot-nav-wrap .foot-nav .col .foot-btn-list {
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          line-height: 1; }
          footer .foot-nav-wrap .foot-nav .col .foot-btn-list li {
            margin-bottom: 20px;
            font-size: 16px;
            font-size: 1.6rem; }
            footer .foot-nav-wrap .foot-nav .col .foot-btn-list li:last-child {
              margin-bottom: 0; }
            footer .foot-nav-wrap .foot-nav .col .foot-btn-list li a {
              width: 100%;
              padding: 20px 5px;
              border: 1px solid #e5e5e5;
              display: block;
              text-align: center;
              box-sizing: border-box;
              -webkit-transition: 0.2s;
              transition: 0.2s; }
              footer .foot-nav-wrap .foot-nav .col .foot-btn-list li a:hover {
                color: #fff;
                text-decoration: none;
                background: #000; }
            footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-lab span:before, footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-room span:before, footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-inside span:before {
              font-family: "icomoon";
              position: relative;
              top: -2px;
              margin-right: 10px;
              display: inline-block;
              letter-spacing: normal;
              vertical-align: middle; }
            footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-lab span:before {
              content: "\e908";
              font-size: 15px;
              font-size: 1.5rem; }
            footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-room span:before {
              content: "\e909";
              font-size: 16px;
              font-size: 1.6rem; }
            footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-inside span:before {
              content: "\e90a";
              font-size: 14px;
              font-size: 1.4rem; }
      footer .foot-nav-wrap .foot-nav .cat-ttl {
        border-bottom: 1px solid #000;
        font-weight: bold;
        line-height: 1;
        margin-top: 40px;
        padding-bottom: 12px;
        font-size: 16px;
        font-size: 1.6rem; }
      footer .foot-nav-wrap .foot-nav ul {
        width: 100%;
        box-sizing: border-box;
        padding-left: 2px;
        margin-top: 13px;
        line-height: 1.2;
        font-size: 13px;
        font-size: 1.3rem; }
        footer .foot-nav-wrap .foot-nav ul li {
          margin-bottom: 10px; }
          footer .foot-nav-wrap .foot-nav ul li:last-child {
            margin-bottom: 0; }
    footer .foot-nav-wrap .foot-utility-nav {
      margin-top: 90px;
      text-align: right; }
      footer .foot-nav-wrap .foot-utility-nav ul {
        line-height: 1;
        display: inline-block;
        letter-spacing: normal;
        vertical-align: middle; }
        footer .foot-nav-wrap .foot-utility-nav ul li {
          padding: 0 20px;
          border-left: 1px solid #1f1f1f;
          font-size: 13px;
          font-size: 1.3rem; }
          footer .foot-nav-wrap .foot-utility-nav ul li:first-child {
            border-left: none;
            padding-left: 0; }
          footer .foot-nav-wrap .foot-utility-nav ul li:last-child {
            padding-right: 0; }
  footer .copyright {
    margin-top: 25px;
    text-align: right;
    color: #1f1f1f;
    font-size: 11px;
    font-size: 1.1rem; }
  footer .foot-logo-wrap {
    float: left;
    width: 340px;
    font-size: 13px;
    font-size: 1.3rem; }
  footer .address {
    line-height: 1.58;
    color: #1f1f1f;
    margin-top: 15px;
    font-size: 12px;
    font-size: 1.2rem; }
  footer .sns-box {
    margin-top: 30px;
    letter-spacing: -.40em; }
    footer .sns-box li {
      margin-left: 12px;
      display: inline-block;
      letter-spacing: normal;
      vertical-align: middle; }
      footer .sns-box li:first-child {
        margin-left: 0; }
  footer .logo-other {
    margin-top: 70px;
    letter-spacing: -.40em; }
    footer .logo-other li {
      margin-left: 25px;
      display: inline-block;
      letter-spacing: normal;
      vertical-align: middle; }
      footer .logo-other li:first-child {
        margin-left: 0; }

@media screen and (max-width: 767px) {
  footer {
    position: relative;
    padding-top: 0; }
    footer:before, footer:after {
      content: "";
      width: 155px;
      height: 280px;
      position: absolute;
      bottom: 0;
      z-index: 0; }
    footer:before {
      left: 0;
      background: url(img/bg_footer_left_sp.gif) no-repeat left bottom;
      background-size: 155px auto; }
    footer:after {
      right: 0;
      background: url(img/bg_footer_right_sp.gif) no-repeat left bottom;
      background-size: 155px auto; }
    footer .foot-inner {
      position: relative;
      z-index: 10; }
    footer #pagetop {
      background: #c02d2f;
      line-height: 1;
      font-size: 14px;
      font-size: 1.4rem; }
      footer #pagetop a {
        display: block;
        color: #fff;
        width: 100%;
        padding: 21px 0 15px;
        text-align: center; }
        footer #pagetop a span {
          position: relative; }
          footer #pagetop a span:before, footer #pagetop a span:after {
            content: '';
            margin: auto;
            position: absolute;
            top: -28px;
            bottom: 0;
            left: 50%;
            -webkit-transform: translateX(-3px);
            -ms-transform: translateX(-3px);
            transform: translateX(-3px); }
          footer #pagetop a span:before {
            border-top: 1px solid #fff;
            border-right: 1px solid #fff;
            height: 6px;
            width: 6px;
            left: calc(50% - 3px);
            -webkit-transform: rotate(315deg);
            -ms-transform: rotate(315deg);
            transform: rotate(315deg); }
    footer .foot-nav-wrap,
    footer .foot-logo-wrap {
      float: none; }
    footer .foot-nav-wrap {
      width: 100%; }
      footer .foot-nav-wrap .copyright {
        display: none; }
      footer .foot-nav-wrap .foot-nav {
        display: block; }
        footer .foot-nav-wrap .foot-nav ul {
          padding-left: 0; }
        footer .foot-nav-wrap .foot-nav .col {
          width: 100%;
          margin: 0; }
          footer .foot-nav-wrap .foot-nav .col .foot-btn-list {
            position: relative;
            margin: 0;
            bottom: auto;
            left: auto; }
            footer .foot-nav-wrap .foot-nav .col .foot-btn-list li {
              border-bottom: 1px solid #e5e5e5;
              margin-bottom: 0; }
              footer .foot-nav-wrap .foot-nav .col .foot-btn-list li a {
                border: none;
                text-align: left;
                padding: 15px 35px 15px 15px;
                position: relative;
                font-size: 12px;
                font-size: 1.2rem; }
                footer .foot-nav-wrap .foot-nav .col .foot-btn-list li a:hover {
                  color: #1f1f1f;
                  background: #fff; }
                footer .foot-nav-wrap .foot-nav .col .foot-btn-list li a.link-arrow:before {
                  content: '';
                  margin: auto;
                  position: absolute;
                  top: 0;
                  bottom: 0;
                  right: 0;
                  border-top: 1px solid #000;
                  border-right: 1px solid #000;
                  height: 5px;
                  width: 5px;
                  right: 20px;
                  -webkit-transform: rotate(45deg);
                  -ms-transform: rotate(45deg);
                  transform: rotate(45deg); }
              footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-lab span:before, footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-room span:before, footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-inside span:before {
                margin-right: 8px;
                top: -1px; }
              footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-lab span:before {
                font-size: 12px;
                font-size: 1.2rem; }
              footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-room span:before {
                font-size: 14px;
                font-size: 1.4rem; }
              footer .foot-nav-wrap .foot-nav .col .foot-btn-list li.foot-btn-inside span:before {
                font-size: 12px;
                font-size: 1.2rem; }
      footer .foot-nav-wrap .foot-utility-nav {
        margin-top: 0; }
        footer .foot-nav-wrap .foot-utility-nav ul {
          text-align: left;
          font-size: 0;
          letter-spacing: -.40em; }
          footer .foot-nav-wrap .foot-utility-nav ul li {
            float: left;
            border: none;
            border-right: 1px solid #e5e5e5;
            border-bottom: 1px solid #e5e5e5;
            width: 50%;
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-size: 12px;
            font-size: 1.2rem;
            /*&:last-child{
              width: 100%;
              border-right: none;
              border-top: 1px solid $color-border;
              margin-top: -1px;
            }*/ }
            footer .foot-nav-wrap .foot-utility-nav ul li a {
              padding: 15px 25px 15px 15px;
              display: block;
              position: relative; }
              footer .foot-nav-wrap .foot-utility-nav ul li a.link-arrow:before {
                content: '';
                margin: auto;
                position: absolute;
                top: 0;
                bottom: 0;
                right: 0;
                border-top: 1px solid #000;
                border-right: 1px solid #000;
                height: 5px;
                width: 5px;
                right: 20px;
                -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                transform: rotate(45deg); }
              footer .foot-nav-wrap .foot-utility-nav ul li a:hover {
                color: #1f1f1f; }
            footer .foot-nav-wrap .foot-utility-nav ul li:nth-child(even) {
              border-right: none; }
    footer .foot-logo-wrap {
      float: none;
      text-align: center;
      width: 100%;
      padding-top: 30px; }
      footer .foot-logo-wrap p {
        text-align: center; }
        footer .foot-logo-wrap p img {
          margin: 0 auto; }
      footer .foot-logo-wrap .address {
        font-size: 11px;
        font-size: 1.1rem; }
      footer .foot-logo-wrap .sns-box {
        margin-top: 25px; }
        footer .foot-logo-wrap .sns-box li img {
          width: 35px;
          height: 35px; }
      footer .foot-logo-wrap .logo-other {
        margin-top: 50px; }
        footer .foot-logo-wrap .logo-other li {
          margin-left: 25px; }
          footer .foot-logo-wrap .logo-other li:first-child {
            margin-left: 0; }
          footer .foot-logo-wrap .logo-other li img {
            width: auto;
            height: 22px; }
      footer .foot-logo-wrap .copyright {
        font-size: 8px;
        font-size: 0.8rem; } }

/* ==========================================================================
   04. Parts
   ========================================================================== */
/* ボックス
   ========================================================================== */
/* 横並びボックスの基本スタイル */
.box a {
  text-decoration: none; }

.box a:hover .box-ttl {
  color: #c02d2f; }

.box-img {
  margin-bottom: 20px; }
  .box-img img {
    height: auto;
    width: 100%; }

@media screen and (max-width: 767px) {
  .box-img {
    margin-bottom: 15px; } }

.box-ttl {
  line-height: 1.2;
  margin-bottom: 20px;
  font-size: 22px;
  font-size: 2.2rem;
  -webkit-transition: color 0.2s linear;
  transition: color 0.2s linear; }
  .box-ttl.icon-arrow-circle {
    padding: 0 0 0 26px; }
    .box-ttl.icon-arrow-circle:before {
      top: 3px; }
    .box-ttl.icon-arrow-circle:after {
      top: 9px; }
  .box-ttl span {
    font-size: 14px;
    font-size: 1.4rem;
    display: inline-block;
    margin-top: 5px; }

@media screen and (max-width: 767px) {
  .box-ttl {
    margin-bottom: 15px;
    font-size: 17px;
    font-size: 1.7rem; }
    .box-ttl span {
      font-size: 13px;
      font-size: 1.3rem; } }

.box-txt {
  color: #6d6d6d;
  line-height: 1.7; }

/* 3カラムボックス */
.box-col3-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-right: 90px; }
  .box-col3-wrap .box {
    width: 33.33%;
    margin-bottom: 60px;
    margin-right: 45px; }
    .box-col3-wrap .box:nth-child(3n) {
      width: 33.34%;
      margin-right: -90px; }
  @media screen and (max-width: 767px) {
    .box-col3-wrap {
      padding-right: 0; }
      .box-col3-wrap .box {
        margin-bottom: 45px;
        margin-right: 0 !important;
        width: 100% !important; } }
/* 4カラムボックス */
.box-col4-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-right: 60px; }
  .box-col4-wrap .box {
    width: 25%;
    margin-bottom: 60px;
    margin-right: 20px; }
    .box-col4-wrap .box:nth-child(4n) {
      margin-right: -60px; }
  @media screen and (max-width: 767px) {
    .box-col4-wrap {
      padding-right: 0; }
      .box-col4-wrap .box {
        margin-bottom: 60px;
        margin-right: 0 !important;
        width: 100% !important; } }
  .box-col4-wrap.-col6 {
    margin: 60px 0px 0px;
    margin-right: 0px;
    padding-right: 0px; }
    .box-col4-wrap.-col6 .box {
      width: 15%; }
      .box-col4-wrap.-col6 .box:nth-child(4n) {
        margin-right: 10px; }

/* ボタン
   ========================================================================== */
/* 基本ボタン */
.btn-cmn {
  border: 1px solid #000;
  box-sizing: border-box;
  display: inline-block;
  min-height: 50px;
  min-width: 260px;
  padding: 14px 30px 12px !important;
  position: relative;
  text-align: center; }
  .btn-cmn:hover {
    background-color: #000;
    color: #fff;
    text-decoration: none;
    -webkit-transition: all 0.2s linear;
    transition: all 0.2s linear; }
    .btn-cmn:hover:before {
      border-color: #fff; }
  .btn-cmn[href$=".pdf"] {
    background: none; }
    .btn-cmn[href$=".pdf"]:hover {
      background-color: #000; }
    .btn-cmn[href$=".pdf"]:before {
      background: url(/common/css/img/icon_pdf.gif) no-repeat right center;
      border: none !important;
      content: '';
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 13px;
      height: 12px;
      width: 13px;
      -webkit-transform: none;
      -ms-transform: none;
      transform: none; }

@media screen and (max-width: 767px) {
  .btn-cmn {
    min-width: 100%;
    width: 100%; } }

/* 次へボタン */
.btn-next:before {
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 16px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  height: 5px;
  width: 5px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

/* 戻るボタン */
.btn-back:before {
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 16px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  height: 5px;
  width: 5px;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg); }

/* ボタンエリア */
.btn-area {
  margin: 90px 0;
  text-align: center; }
  .btn-area > ul > li {
    margin-bottom: 20px; }
    .btn-area > ul > li:last-child {
      margin-bottom: 0; }

@media screen and (max-width: 767px) {
  /* ボタンエリア */
  .btn-area {
    margin: 50px 0; } }

/* フォーム
   ========================================================================== */
/* select */
select {
  background-color: transparent;
  border: 1px solid #e5e5e5;
  border-radius: 0;
  box-sizing: border-box;
  color: rgba(31, 31, 31, 0.5);
  cursor: pointer;
  font-family: inherit;
  height: 24px;
  line-height: 1.4;
  outline: none;
  padding: 2px 30px 0 8px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 150px;
  font-size: 13px;
  font-size: 1.3rem;
  position: relative;
  z-index: 10; }
  select::-moz-focus-inner {
    border: 0; }
  select::-ms-expand {
    display: none; }

.select-wrap {
  display: inline-block;
  position: relative;
  background-color: #fff; }
  .select-wrap:before {
    background-color: #c02d2f;
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    position: absolute;
    right: 1px;
    top: 1px; }
  .select-wrap:after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    content: '';
    display: block;
    width: 4px;
    height: 4px;
    position: absolute;
    right: 9px;
    top: 9px;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg); }

@media screen and (max-width: 767px) {
  select,
  .select-wrap {
    width: 100%; } }

/* アイコン
   ========================================================================== */
.icon-arrow-cmn {
  padding: 0 0 0 16px;
  position: relative;
  margin-left: -3px; }
  .icon-arrow-cmn:before, .icon-arrow-cmn:after {
    content: '';
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0; }
  .icon-arrow-cmn:before {
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    height: 5px;
    width: 5px;
    left: 3px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

/* マル矢印 */
.icon-arrow-circle {
  padding: 0 0 0 26px;
  position: relative; }
  .icon-arrow-circle:before, .icon-arrow-circle:after {
    content: '';
    position: absolute;
    left: 0; }
  .icon-arrow-circle:before {
    background-color: #c02d2f;
    border-radius: 50%;
    height: 18px;
    width: 18px;
    top: 0; }
  .icon-arrow-circle:after {
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    height: 5px;
    width: 5px;
    left: 4px;
    top: 6px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

@media screen and (max-width: 767px) {
  .icon-arrow-circle {
    padding: 0 0 0 20px; }
    .icon-arrow-circle:before, .icon-arrow-circle:after {
      top: -2px; }
    .icon-arrow-circle:before {
      height: 15px;
      width: 15px; }
    .icon-arrow-circle:after {
      height: 4px;
      width: 4px;
      left: 4px; } }

/* リンク
   ========================================================================== */
/* マウスオーバーで画像がズームするリンク */
@media screen and (min-width: 768px) {
  .link-img {
    display: block; }
    .link-img .img-wrap {
      display: block;
      overflow: hidden; }
    .link-img img,
    .link-img .img {
      -webkit-transition: -webkit-transform .6s ease-out;
      transition: transform .6s ease-out;
      background-color: #FFF;
      display: inline-block;
      background-color: rgba(255, 255, 255, 0.01);
      opacity: .98;
      transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1); }
    .link-img:hover img,
    .link-img:hover .img {
      -webkit-transform: scale(1.21);
      -ms-transform: scale(1.21);
      transform: scale(1.21);
      opacity: .99;
      background-color: rgba(255, 255, 255, 0.02); } }

/* 文中のテキストリンク */
.link-style01 {
  text-decoration: underline; }

/* PDFのリンクにはアイコンを設置 */
a[href$=".pdf"] {
  background: url(/common/css/img/icon_pdf.gif) no-repeat right center;
  padding-right: 18px; }

/* リスト
   ========================================================================== */
/* 矢印リンクリスト */
.list-arr li {
  padding-left: 12px;
  position: relative; }
  .list-arr li:before {
    border-right: 1px solid #c02d2f;
    border-top: 1px solid #c02d2f;
    content: '';
    display: inline-block;
    height: 5px;
    width: 5px;
    margin-right: 20px;
    position: absolute;
    left: 0;
    top: 6px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }

/* 2カラムのリンク */
.links-inner .links-wrap {
  float: left;
  width: 46.5%;
  margin-right: 7%; }
  .links-inner .links-wrap:nth-child(2) {
    margin-right: 0; }
  .links-inner .links-wrap .list-arr {
    margin-bottom: 50px; }

.inner .links_sttl {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 20px;
  border-bottom: 1px solid #cbcbcb;
  padding-bottom: 5px; }

.inner .list-arr li {
  margin-bottom: 13px; }
  .inner .list-arr li a {
    text-decoration: underline;
    color: #6d6d6d; }
  .inner .list-arr li a:hover {
    text-decoration: none; }

@media screen and (max-width: 767px) {
  .links-inner .links-wrap {
    float: none;
    width: 100%; } }

/* リンクの中のリンク */
.links-inner .links-wrap .sub-links {
  margin-top: 5px; }
  .links-inner .links-wrap .sub-links li {
    margin-bottom: 5px;
    padding-left: 0; }
    .links-inner .links-wrap .sub-links li:before {
      border: none; }

/* News
   ========================================================================== */
/* タブ
      ========================================================================== */
.tab-news {
  margin: 44px 0 76px; }

.tab-news-btn li {
  display: inline-block;
  line-height: 1;
  margin-right: 45px;
  padding-bottom: 33px;
  font-size: 14px;
  font-size: 1.4rem; }
  .tab-news-btn li:last-child {
    margin-right: 0; }
  .tab-news-btn li.active a {
    color: #c02d2f;
    position: relative; }
    .tab-news-btn li.active a:before {
      border-right: 1px solid #c02d2f;
      border-bottom: 1px solid #c02d2f;
      content: '';
      display: block;
      height: 6px;
      width: 6px;
      position: absolute;
      left: 50%;
      bottom: -18px;
      -webkit-transform: translateX(-50%) rotate(45deg);
      -ms-transform: translateX(-50%) rotate(45deg);
      transform: translateX(-50%) rotate(45deg); }

.tab-news-btn a {
  text-decoration: none; }

.tab-news-body {
  position: relative; }

@media screen and (max-width: 767px) {
  .tab-news-btn {
    padding: 15px 0 5px;
    background-color: #f2f2f2;
    text-align: center;
    letter-spacing: -.40em; }
    .tab-news-btn li {
      background-color: #fff;
      width: 45%;
      display: inline-block;
      text-align: left;
      margin: 0 0 3% 0;
      padding: 0;
      vertical-align: top;
      display: inline-block;
      letter-spacing: normal;
      vertical-align: middle; }
      .tab-news-btn li a {
        color: #000;
        position: relative;
        display: block;
        padding: 20px 30px 20px 10px; }
        .tab-news-btn li a:before {
          border-right: 1px solid #000;
          border-bottom: 1px solid #000;
          content: '';
          display: block;
          height: 6px;
          width: 6px;
          position: absolute;
          right: 10px;
          top: 40%;
          -webkit-transform: translateX(-50%) rotate(45deg);
          -ms-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg); }
      .tab-news-btn li.active a {
        color: #c02d2f;
        position: relative;
        display: block; }
        .tab-news-btn li.active a:before {
          border-right: 1px solid #c02d2f;
          border-bottom: 1px solid #c02d2f;
          content: '';
          display: block;
          height: 6px;
          width: 6px;
          position: absolute;
          right: 10px !important;
          left: auto;
          top: 40%;
          -webkit-transform: translateX(-50%) rotate(45deg);
          -ms-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg); }
      .tab-news-btn li:first-child {
        width: 93%; }
    .tab-news-btn li:nth-child(even) {
      margin-right: 3%; } }

/* イベントの中の中のタブ */
.tab-news-small-btn {
  display: inline-block;
  border-right: 1px solid #e5e5e5;
  margin: 30px 0 10px; }
  .tab-news-small-btn li {
    display: inline-block;
    padding: 10px 30px;
    border-left: 1px solid #e5e5e5; }
    .tab-news-small-btn li.active a {
      color: #c02d2f; }
    .tab-news-small-btn li a:hover {
      text-decoration: underline; }

.tab-news-small-body {
  position: relative; }

.tab-news-small-body-item {
  display: none; }
  .tab-news-small-body-item:nth-of-type(1) {
    display: block; }

@media screen and (max-width: 767px) {
  .tab-news-small-btn {
    border: none; }
    .tab-news-small-btn li {
      display: inline-block;
      border: none;
      padding: 0;
      margin: 0 20px 20px 0; }
      .tab-news-small-btn li a {
        text-decoration: underline; } }

/* ニュース一覧 */
.news-list li {
  border-bottom: 1px solid #e5e5e5;
  padding: 15px 0 15px 250px;
  position: relative; }
  .news-list li:first-child {
    border-top: 1px solid #e5e5e5; }

.news-list-en li {
  border-bottom: 1px solid #e5e5e5;
  padding: 15px 0 15px 265px;
  position: relative; }
  .news-list-en li:first-child {
    border-top: 1px solid #e5e5e5; }

/* 日付 */
.news-list-date {
  color: #1f1f1f;
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 15px;
  font-size: 12px;
  font-size: 1.2rem;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* カテゴリー */
.news-list-cat {
  background-color: #c02d2f;
  color: #fff;
  display: inline-block;
  line-height: 1;
  padding: 3px;
  text-align: center;
  width: 110px;
  position: absolute;
  left: 120px;
  top: 15px;
  font-size: 11px;
  font-size: 1.1rem; }

.news-list-cat-en {
  background-color: #c02d2f;
  color: #fff;
  display: inline-block;
  line-height: 1;
  padding: 3px;
  text-align: center;
  width: 110px;
  position: absolute;
  left: 135px;
  top: 15px;
  font-size: 11px;
  font-size: 1.1rem; }

/* タイトル */
.news-list-ttl a {
  color: #6d6d6d; }

@media screen and (max-width: 767px) {
  /* ニュース一覧 */
  .news-list li {
    padding: 12px 0; }
    .news-list li:first-child {
      border-top: none; }
  .news-list-en li {
    padding: 12px 0; }
    .news-list-en li:first-child {
      border-top: none; }
  /* 日付 */
  .news-list-date {
    position: static; }
  /* カテゴリー */
  .news-list-cat {
    width: 95px;
    position: static;
    font-size: 9px;
    font-size: 0.9rem; }
  .news-list-cat-en {
    width: 95px;
    position: static;
    font-size: 9px;
    font-size: 0.9rem; }
  /* タイトル */
  .news-list-ttl {
    display: block;
    padding-top: 5px; } }

/* 詳細ページのカテゴリラベル */
.article-area .lavel-ctg {
  display: inline-block; }
  .article-area .lavel-ctg:nth-child(2n) {
    background-color: #c02d2f;
    color: #fff;
    display: inline-block;
    line-height: 1;
    padding: 3px;
    text-align: center;
    width: 140px;
    margin-left: 5px; }

.ve-area {
  margin-top: 40px; }

@media screen and (max-width: 767px) {
  .article-area .lavel-ctg:nth-child(2n) {
    margin-left: 0;
    margin-top: 5px; } }

/* その他パーツ
   ========================================================================== */
/* コンテンツ中央寄せ */
.inner {
  margin: 0 auto;
  width: 100%;
  max-width: 1200px;
  min-width: 1000px; }
  @media screen and (min-width: 768px) and (max-width: 1240px) {
    .inner {
      min-width: 1000px;
      width: calc(100% - 40px); } }
  @media screen and (max-width: 767px) {
    .inner {
      max-width: 100%;
      min-width: 0; } }
@media screen and (min-width: 768px) and (max-width: 1240px) {
  .inner {
    margin: 0 auto;
    min-width: 1000px;
    width: calc(100% - 40px); } }

@media screen and (max-width: 767px) {
  .inner {
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0 20px;
    width: 100%; } }

/* 画像拡大 */
.lity {
  background-color: rgba(255, 255, 255, 0.85) !important; }

.lity-content:after {
  box-shadow: none !important; }

.lity-close {
  color: #c02d2f !important;
  text-shadow: none !important; }

/*  テキストを赤色に */
.color-red {
  color: #f00 !important; }

/*  テキストを太字に */
.bold {
  font-weight: bold; }

/* 404ページ */
.wrap-tit404 {
  text-align: center;
  color: #000;
  margin-bottom: 40px; }
  .wrap-tit404 h1 {
    font-size: 18px;
    font-size: 1.8rem; }

.illust404 {
  margin: 100px 0 40px; }

.tit404 {
  font-size: 40px;
  font-size: 4rem; }

.wrap-tx404 {
  width: 900px;
  margin: 0 auto 80px;
  font-size: 14px;
  font-size: 1.4rem;
  text-align: center;
  line-height: 180%; }

@media screen and (max-width: 767px) {
  .wrap-tit404 h1 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 120%;
    margin-top: 20px; }
  .illust404 {
    margin: 60px 0 20px; }
  .wrap-tx404 {
    width: 100%;
    margin: 0 auto 80px;
    font-size: 14px;
    font-size: 1.4rem;
    text-align: left;
    line-height: 160%; }
  .tit404 {
    font-size: 20px;
    font-size: 2rem; } }

/*  赤色のボックス */
.red-box {
  border: #c02d2f solid 1px;
  background-color: #fff2f2;
  padding: 15px 30px;
  margin-top: 20px;
  margin-bottom: 60px; }
  .red-box .color-red {
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 15px; }
  .red-box a {
    text-decoration: underline; }
  .red-box a:hover {
    text-decoration: none; }

/*  注釈 */
.noto {
  padding-left: 1em;
  text-indent: -1em;
  /*@include fontsize(12);*/
  margin-top: 10px; }

@media screen and (max-width: 767px) {
  .noto {
    margin-top: 15px; } }

/*  リスト注釈テキスト */
.list-noto {
  font-size: 13px;
  font-size: 1.3rem;
  margin-top: 5px; }

/* タブ
   ========================================================================== */
.tab {
  margin: 44px 0 76px; }

.tab-btn {
  font-size: 0; }
  .tab-btn li {
    display: inline-block;
    line-height: 1;
    margin-right: 45px;
    padding-bottom: 33px;
    font-size: 14px;
    font-size: 1.4rem; }
    .tab-btn li:last-child {
      margin-right: 0; }
    .tab-btn li.active a {
      color: #c02d2f;
      position: relative; }
      .tab-btn li.active a:before {
        border-right: 1px solid #c02d2f;
        border-bottom: 1px solid #c02d2f;
        content: '';
        display: block;
        height: 6px;
        width: 6px;
        position: absolute;
        left: 50%;
        bottom: -18px;
        -webkit-transform: translateX(-50%) rotate(45deg);
        -ms-transform: translateX(-50%) rotate(45deg);
        transform: translateX(-50%) rotate(45deg); }
  .tab-btn a {
    text-decoration: none; }

.tab-body {
  position: relative; }

.tab-body-item {
  display: none; }
  .tab-body-item:nth-of-type(1) {
    display: block; }

@media screen and (max-width: 767px) {
  .tab {
    margin: 15px 0; } }

/* タブの中のタブ */
.tab-small-btn {
  display: inline-block;
  border-right: 1px solid #e5e5e5;
  margin: 30px 0 10px; }
  .tab-small-btn li {
    display: inline-block;
    padding: 10px 30px;
    border-left: 1px solid #e5e5e5; }
    .tab-small-btn li.active a {
      color: #c02d2f; }
    .tab-small-btn li a:hover {
      text-decoration: underline; }

.tab-small-body {
  position: relative; }

.tab-small-body-item {
  display: none; }
  .tab-small-body-item:nth-of-type(1) {
    display: block; }

/* テーブル
   ========================================================================== */
.tbl-cmn {
  border-top: 1px solid #e5e5e5;
  width: 100%;
  margin-bottom: 40px; }
  .tbl-cmn th,
  .tbl-cmn td {
    border-bottom: 1px solid #e5e5e5;
    color: #6d6d6d;
    padding: 20px 30px;
    text-align: left; }
  .tbl-cmn th {
    background-color: #f2f2f2;
    border-right: 1px solid #e5e5e5;
    font-weight: normal;
    width: 20%; }

@media screen and (max-width: 767px) {
  .tbl-cmn th,
  .tbl-cmn td {
    padding: 10px;
    font-size: 12px;
    font-size: 1.2rem; }
  .tbl-cmn th {
    width: 30%; } }

/* ==========================================================================
   2カラム　テーブルレイアウト
   ========================================================================== */
.tbl-wrap2 {
  clear: both;
  overflow: hidden; }

.tbl-wrap {
  width: 48%;
  float: left;
  display: block;
  overflow: hidden; }
  .tbl-wrap.-narrow {
    width: 38%; }
    @media screen and (max-width: 767px) {
      .tbl-wrap.-narrow {
        float: none;
        width: 100%; } }
.tbl-wrap-r {
  width: 48%;
  float: right;
  display: block;
  overflow: hidden; }
  .tbl-wrap-r.-wide {
    width: 58%; }
    @media screen and (max-width: 767px) {
      .tbl-wrap-r.-wide {
        float: none;
        width: 100%; } }
.sttl01 {
  clear: both; }

.topicpath {
  clear: both; }

.border-r {
  border-right: 1px solid #e5e5e5; }

@media screen and (max-width: 767px) {
  .tbl-wrap,
  .tbl-wrap-r {
    float: none;
    width: 100%; } }

/* ==========================================================================
   テーブルのボーダー調整
   ========================================================================== */
.border-r {
  border-right: 1px solid #e5e5e5; }

.border-l {
  border-left: 1px solid #e5e5e5; }

.border-t {
  border-top: 1px solid #e5e5e5; }

.border-b {
  border-bottom: 1px solid #e5e5e5; }

/* ==========================================================================
   スマホ　テーブルのスクロール
   ========================================================================== */
@media screen and (max-width: 767px) {
  .tbl-scroll-guide {
    margin-top: 30px;
    color: #6d6d6d;
    font-size: 12px;
    font-size: 1.2rem;
    text-align: center; }
  .tbl-scroll-wrap {
    overflow-x: auto; }
    .tbl-scroll-wrap .tbl-cmn {
      width: 650px;
      margin-top: 10px;
      margin-bottom: 25px; }
  .tbl-scroll-wrap::-webkit-scrollbar {
    height: 8px; }
  .tbl-scroll-wrap::-webkit-scrollbar-track {
    border-radius: 4px;
    background: #fff; }
  .tbl-scroll-wrap::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background: #666; } }

/* タイトル
   ========================================================================== */
/* ページタイトル */
.main-ttl {
  line-height: 1;
  border-bottom: 3px solid #c02d2f;
  margin-bottom: 55px;
  padding-bottom: 20px;
  font-size: 36px;
  font-size: 3.6rem; }
  .main-ttl .sub {
    color: #6d6d6d;
    padding-left: 5px;
    font-size: 18px;
    font-size: 1.8rem; }

@media screen and (max-width: 767px) {
  .main-ttl {
    margin: 30px 0;
    padding-bottom: 8px;
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1.2; }
    .main-ttl .sub {
      display: block;
      padding-top: 10px;
      font-size: 14px;
      font-size: 1.4rem; } }

/* タイトル1 */
.sttl01 {
  color: #1f1f1f;
  font-weight: bold;
  line-height: 1;
  margin: 80px 0 35px;
  padding-bottom: 15px;
  position: relative;
  font-size: 28px;
  font-size: 2.8rem; }
  .sttl01:after {
    background-color: #c02d2f;
    content: '';
    display: block;
    height: 2px;
    width: 100px;
    position: absolute;
    left: 0;
    bottom: 0; }

@media screen and (max-width: 767px) {
  .sttl01 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.4;
    padding-bottom: 12px; }
    .sttl01:after {
      width: 50px; } }

/* タイトル2 */
.sttl02 {
  color: #1f1f1f;
  font-weight: bold;
  line-height: 1.5;
  margin: 44px 0 13px;
  padding-left: 19px;
  position: relative;
  font-size: 16px;
  font-size: 1.6rem; }
  .sttl02:before {
    background-color: #c02d2f;
    content: '';
    display: block;
    height: 2px;
    width: 10px;
    position: absolute;
    left: 0;
    top: 10px; }

/* タイトル3 */
.sttl03 {
  color: #1f1f1f;
  font-weight: bold;
  line-height: 1;
  margin: 40px 0 35px;
  padding-bottom: 15px;
  position: relative;
  font-size: 28px;
  font-size: 2.8rem; }
  .sttl03:after {
    background-color: #c02d2f;
    content: '';
    display: block;
    height: 2px;
    width: 100px;
    position: absolute;
    left: 0;
    bottom: 0; }

@media screen and (max-width: 767px) {
  .sttl03 {
    font-size: 18px;
    font-size: 1.8rem; }
    .sttl03:after {
      width: 50px; } }

/* ビジュアルエディタ スタイル
   ========================================================================== */
.ve-area {
  color: #6d6d6d; }
  .ve-area > *:first-child {
    margin-top: 0;
    padding-top: 0; }
  .ve-area p {
    line-height: 1.71; }
  .ve-area a {
    color: #6d6d6d;
    text-decoration: underline; }
  .ve-area a:hover {
    color: #6d6d6d;
    text-decoration: none; }
  .ve-area a:visited {
    color: #6d6d6d; }
  .ve-area h2 {
    color: #1f1f1f;
    font-weight: bold;
    line-height: 1;
    margin: 80px 0 35px;
    padding-bottom: 15px;
    position: relative;
    font-size: 28px;
    font-size: 2.8rem; }
    .ve-area h2:after {
      background-color: #c02d2f;
      content: "";
      display: block;
      height: 2px;
      width: 100px;
      position: absolute;
      left: 0;
      bottom: 0; }
    @media screen and (max-width: 767px) {
      .ve-area h2 {
        font-size: 18px;
        font-size: 1.8rem; }
        .ve-area h2:after {
          width: 50px; } }
  .ve-area h3 {
    color: #1f1f1f;
    font-weight: bold;
    line-height: 1.5;
    margin: 44px 0 13px;
    padding-left: 19px;
    position: relative;
    font-size: 16px;
    font-size: 1.6rem; }
    .ve-area h3:before {
      background-color: #c02d2f;
      content: "";
      display: block;
      height: 2px;
      width: 10px;
      position: absolute;
      left: 0;
      top: 10px; }
  .ve-area h4 {
    color: #1f1f1f;
    font-weight: bold;
    margin: 10px 0; }
  .ve-area ol,
  .ve-area ul {
    margin-left: 1.5em; }
  .ve-area ol {
    list-style-type: decimal; }
  .ve-area ul {
    list-style-type: disc; }
  .ve-area li {
    margin-bottom: 8px; }
    .ve-area li:last-child {
      margin-bottom: 0; }
  .ve-area table {
    width: 100%; }
    .ve-area table th,
    .ve-area table td {
      border: 1px solid #e5e5e5;
      color: #6d6d6d;
      padding: 20px 30px;
      text-align: left; }
    .ve-area table th {
      background-color: #f2f2f2;
      font-weight: normal;
      width: 30.7692307692%; }
    @media screen and (max-width: 767px) {
      .ve-area table th,
      .ve-area table td {
        padding: 10px;
        font-size: 12px;
        font-size: 1.2rem; }
      .ve-area table th {
        width: 30%; } }
  .ve-area dt,
  .ve-area dd {
    line-height: 1.71; }
  .ve-area dt {
    color: #1f1f1f;
    font-weight: bold;
    line-height: 1.5;
    margin: 44px 0 13px;
    padding-left: 19px;
    position: relative;
    font-size: 16px;
    font-size: 1.6rem; }
    .ve-area dt:before {
      background-color: #c02d2f;
      content: "";
      display: block;
      height: 2px;
      width: 10px;
      position: absolute;
      left: 0;
      top: 10px; }
  .ve-area dd {
    padding-left: 19px; }
  .ve-area strong {
    font-weight: bold; }
  .ve-area sup {
    vertical-align: top;
    position: relative;
    top: -0.1em;
    font-size: 10px;
    font-size: 1rem; }
  .ve-area sub {
    vertical-align: bottom;
    position: relative;
    top: 0.1em;
    font-size: 10px;
    font-size: 1rem; }
  .ve-area b {
    font-weight: bold; }
  @media screen and (max-width: 767px) {
    .ve-area img {
      height: auto !important; } }
/* ビジュアルエディタ スタイル　(24.3追加キャプション分）
   ========================================================================== */
.detail-img sup,
.research-pbl sup {
  vertical-align: top;
  position: relative;
  top: -0.1em;
  font-size: 10px;
  font-size: 1rem; }

.detail-img sub,
.research-pbl sub {
  vertical-align: bottom;
  position: relative;
  top: 0.1em;
  font-size: 10px;
  font-size: 1rem; }

/* Iconフォント
   ========================================================================== */
@font-face {
  font-family: 'icomoon';
  src: url("fonts/icomoon.eot?ivj0c8");
  src: url("fonts/icomoon.eot?ivj0c8#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?ivj0c8") format("truetype"), url("fonts/icomoon.woff?ivj0c8") format("woff"), url("fonts/icomoon.svg?ivj0c8#icomoon") format("svg");
  font-weight: normal;
  font-style: normal; }

/* .icon-icon_inside:before {
  content: "\e90a";
}
.icon-icon_people:before {
  content: "\e909";
}
.icon-icon_pc:before {
  content: "\e908";
}
.icon-icon_researcher:before {
  content: "\e907";
}
.icon-icon_glass:before {
  content: "\e900";
}
.icon-icon_list:before {
  content: "\e901";
}
.icon-icon_education:before {
  content: "\e902";
}
.icon-icon_result:before {
  content: "\e903";
}
.icon-icon_lab:before {
  content: "\e904";
}
.icon-icon_about:before {
  content: "\e905";
}
.icon-icon_home:before {
  content: "\e906";
}
.icon-search-plus:before {
  content: "\f00e";
} */
/* ページャ
   ========================================================================== */
.pager-list {
  margin-top: 20px;
  text-align: center;
  font-size: 0; }
  .pager-list li {
    display: inline-block;
    background: #fff;
    font-size: 14px;
    line-height: 1; }
    .pager-list li.current {
      background: #e5e5e5;
      padding: 1rem; }
    .pager-list li.btn-pager-back, .pager-list li.btn-pager-next {
      padding: 1rem;
      position: relative; }
      .pager-list li.btn-pager-back a, .pager-list li.btn-pager-next a {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        box-sizing: border-box; }
    .pager-list li.btn-pager-back:before {
      content: '<';
      color: #e5e5e5; }
    .pager-list li.btn-pager-back a:before {
      content: '<';
      color: #c02d2f; }
    .pager-list li.btn-pager-next:before {
      content: '>';
      color: #e5e5e5; }
    .pager-list li.btn-pager-next a:before {
      content: '>';
      color: #c02d2f; }
    .pager-list li a {
      color: #1f1f1f !important;
      display: block;
      padding: 1rem; }
      .pager-list li a:hover {
        background: #faeeee;
        text-decoration: none;
        color: #c02d2f; }
      .pager-list li a span {
        display: block; }
    .pager-list li.btn-back:before, .pager-list li.btn-next:before {
      position: static !important;
      border: none !important;
      width: auto !important;
      height: auto !important; }

/* ボックス
   ========================================================================== */
/* アンカーリスト*/
.anchor-list {
  border: 1px solid #eee;
  /*padding: 15px 30px;*/
  padding: 15px 30px 5px; }
  .anchor-list li {
    display: inline-block;
    margin-right: 30px;
    margin-bottom: 10px; }
  .anchor-list a {
    text-decoration: underline; }
    .anchor-list a:hover {
      text-decoration: none; }

@media screen and (max-width: 767px) {
  .anchor-list {
    margin-bottom: 0px; }
    .anchor-list li {
      margin-bottom: 10px; } }

/* アンカーリスト改行*/
.anchor-list02 {
  border: 1px solid #eee;
  padding: 15px 30px 5px; }
  .anchor-list02 ul {
    margin-bottom: 10px; }
  .anchor-list02 li {
    display: inline-block;
    margin-right: 30px; }
  .anchor-list02 a {
    text-decoration: underline; }
    .anchor-list02 a:hover {
      text-decoration: none; }

@media screen and (max-width: 767px) {
  .anchor-list02 {
    margin-bottom: 0px; }
    .anchor-list02 li {
      margin-bottom: 10px; } }

/* ==========================================================================
   05. Responisive
   ========================================================================== */
/* image
   ========================================================================== */
img {
  height: auto;
  line-height: 1.0;
  max-width: 100%;
  vertical-align: bottom; }

/* display
   ========================================================================== */
.block {
  display: block; }

.sp-item {
  display: none; }

.pc-block {
  display: block; }

@media screen and (max-width: 767px) {
  .sp-item {
    display: block; }
  .pc-item {
    display: none !important; }
  .pc-block {
    display: inline; }
  .sp-block {
    display: block; } }
