@charset "UTF-8";
/*==================================================

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

.sp {
  display: none; }

body {
  color: #333333; }

.wrap,
#globalNavigation .gnav,
#topicpath ol {
  width: 1020px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  .wrap:after,
  #globalNavigation .gnav:after,
  #topicpath ol:after {
    clear: both;
    content: '';
    display: block;
    height: 0; }

.en {
  font-family: "futura-pt","Yu Gothic",sans-serif;
  font-style: normal;
  font-weight: 400; }

a {
  transition: all 0.2s; }

a:hover {
  transition: all 0.4s; }
  a:hover img {
    opacity: 0.75; }

@keyframes arrow {
  100% {
    transform: rotateX(360deg); } }
.tel {
  padding-left: 30px;
  font-family: "futura-pt","Yu Gothic",sans-serif;
  font-style: normal;
  font-weight: 400;
  position: relative;
  font-size: 3.4rem; }
  .tel:after {
    content: "";
    font-family: FontAwesome;
    font-weight: normal;
    position: absolute;
    font-size: 20px;
    left: 0;
    top: 0;
    bottom: 0;
    color: #FFF;
    width: 25px;
    height: 25px;
    line-height: 28px;
    margin: auto 0;
    vertical-align: middle;
    box-sizing: border-box;
    text-align: center;
    border-radius: 50%;
    background: #333333; }

/*==================================================

header
==================================================*/
#header {
  padding: 30px 0 0;
  color: #FFF;
  background: #333333;
  width: 100%;
  z-index: 999;
  transition: all 0.2s; }
  #header .logo {
    width: 310px;
    float: left;
    display: inline; }
    #header .logo img {
      width: 310px;
      height: 35px; }
  #header .wrap {
    padding-bottom: 15px; }
  #header .headerright {
    float: right;
    display: inline; }
    #header .headerright .subnavi {
      margin-top: 20px;
      float: left;
      display: inline; }
      #header .headerright .subnavi:after {
        clear: both;
        content: '';
        display: block;
        height: 0; }
      #header .headerright .subnavi li {
        float: left;
        display: inline;
        font-size: 1.2rem;
        position: relative;
        padding-left: 10px; }
        #header .headerright .subnavi li:after {
          content: "";
          font-family: FontAwesome;
          font-weight: normal;
          position: absolute;
          font-size: 10px;
          left: 0; }
        #header .headerright .subnavi li + li {
          margin-left: 30px; }
    #header .headerright .tel {
      float: left;
      display: inline;
      margin-left: 30px; }
      #header .headerright .tel:after {
        color: #333333;
        background: #FFF; }

/* globalNavigation */
#globalNavigation {
  position: relative;
  background: #333333;
  z-index: 9999;
  transition: all 0.2s; }
  #globalNavigation .gnav > li {
    width: 170px;
    float: left;
    display: inline;
    position: relative;
    z-index: 9999; }
    #globalNavigation .gnav > li.logo {
      display: none; }
    #globalNavigation .gnav > li > a {
      display: block;
      line-height: 60px;
      text-align: center;
      font-size: 2.0rem;
      position: relative;
      z-index: 9999; }
      #globalNavigation .gnav > li > a:hover {
        background: #4d4d4d;
        text-decoration: none; }
      #globalNavigation .gnav > li > a:after {
        position: absolute;
        top: 0;
        left: 0;
        content: attr(data-hover);
        display: block;
        width: 100%;
        font-size: 70%;
        font-weight: bold;
        transition: .3s ease-in-out;
        opacity: 0; }
      #globalNavigation .gnav > li > a span {
        display: block;
        line-height: 60px;
        transition: .3s ease-in-out;
        font-family: "futura-pt","Yu Gothic",sans-serif;
        font-style: normal;
        font-weight: 400; }
    #globalNavigation .gnav > li:hover {
      background: #4d4d4d; }
    #globalNavigation .gnav > li:hover a:after, #globalNavigation .gnav > li:focus a:after {
      opacity: 1; }
    #globalNavigation .gnav > li:hover > a span, #globalNavigation .gnav > li:focus > a span {
      opacity: 0; }
  #globalNavigation .gnav .parent .child {
    display: none;
    width: 100%;
    color: #333333;
    background: #eeeeee;
    position: absolute;
    z-index: 999; }
    #globalNavigation .gnav .parent .child a {
      display: block;
      padding: 15px;
      box-shadow: rgba(0, 0, 0, 0.2) 0 0 10px;
      font-size: 1.8rem;
      position: relative; }
      #globalNavigation .gnav .parent .child a:after {
        content: "";
        font-family: FontAwesome;
        font-weight: normal;
        position: absolute;
        font-size: 10px;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto 0;
        height: 21px;
        right: 10px; }
      #globalNavigation .gnav .parent .child a:hover {
        background: #d5d5d5;
        text-decoration: none; }
      #globalNavigation .gnav .parent .child a span {
        display: block;
        font-size: 70%; }
  #globalNavigation.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    line-height: 100%;
    transition: all 0.4s; }
    #globalNavigation.fixed .gnav > li {
      width: 110px; }
      #globalNavigation.fixed .gnav > li.logo {
        width: 360px;
        display: block;
        margin-top: 10px; }
        #globalNavigation.fixed .gnav > li.logo:hover {
          background: none !important; }
        #globalNavigation.fixed .gnav > li.logo a {
          width: 310px;
          line-height: 100%; }
          #globalNavigation.fixed .gnav > li.logo a img {
            width: 310px;
            height: 35px; }
          #globalNavigation.fixed .gnav > li.logo a:hover {
            background: none !important; }
      #globalNavigation.fixed .gnav > li a:after {
        font-size: 50%; }
    #globalNavigation.fixed .gnav .child a {
      font-size: 1.4rem; }

/*==================================================

pagetitle
==================================================*/
#pagetitle {
  height: 280px;
  padding-top: 60px;
  box-sizing: border-box;
  background: url(../img/template/pagetitle_bg01.jpg) no-repeat center center;
  background-size: cover; }
  #pagetitle h1 {
    text-align: center;
    color: #FFF;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 125%; }
    #pagetitle h1 span {
      display: block;
      font-size: 6.4rem;
      font-family: "futura-pt","Yu Gothic",sans-serif;
      font-style: normal;
      font-weight: 400; }

/*==================================================

contents
==================================================*/
#contents {
  background: #eeeeee;
  padding-bottom: 70px; }

/*==================================================

main
==================================================*/
#main {
  margin: -40px 0 0; }
  #main .shadowbox {
    padding: 70px 30px;
    background: #FFF;
    box-shadow: rgba(0, 0, 0, 0.2) 0 0 5px;
    box-sizing: border-box; }
    #main .shadowbox.btm_none {
      padding-bottom: 0; }

/* main */
.main {
  /* p */
  /* table */
  /* ul */
  /* linkbtn */ }
  .main h2 {
    font-size: 3.0rem;
    padding-bottom: 40px;
    text-align: center;
    position: relative; }
    .main h2:after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      width: 50px;
      height: 3px;
      margin: 0 auto;
      background: #333333; }
    .main h2 + p {
      margin: 50px 0 0; }
  .main h3 {
    font-size: 2.6rem;
    margin: 50px 0 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #CCC;
    position: relative; }
    .main h3:after {
      content: '';
      height: 2px;
      width: 26px;
      background: #333333;
      position: absolute;
      bottom: -2px;
      left: 0; }
  .main h4 {
    font-size: 2.2rem;
    margin: 40px 0 0; }
  .main h5 {
    font-size: 1.8rem;
    margin: 30px 0 0; }
  .main h6 {
    margin: 30px 0 0; }
  .main p {
    margin: 20px 0 0; }
    .main p + p {
      margin: 10px 0 0; }
    .main p.atn {
      font-size: 1.6rem; }
  .main table {
    width: 100%;
    margin: 30px 0 0; }
    .main table th, .main table td {
      padding: 16px 0;
      box-sizing: border-box;
      text-align: left;
      vertical-align: top; }
    .main table th {
      width: 31.25%;
      padding-right: 15px;
      border-bottom: 1px solid #CCC;
      font-weight: bold; }
    .main table td {
      border-bottom: 1px solid #eee; }
      .main table td > :first-child {
        margin: 0; }
  .main ul {
    margin: 30px 0 0; }
    .main ul li {
      margin: 15px 0 0;
      padding: 0 0 0 12px;
      position: relative; }
      .main ul li:first-child,
      .main ul li > :first-child {
        margin: 0; }
      .main ul li:before {
        content: "";
        font-family: FontAwesome;
        font-weight: normal;
        position: absolute;
        font-size: 6px;
        left: 0;
        top: 0; }
    .main ul.noicon li {
      padding: 0; }
      .main ul.noicon li:before {
        content: ''; }
  .main .linkbtn {
    margin: 30px 0 0; }
    .main .linkbtn a, .main .linkbtn button {
      display: block;
      border: 1px solid #333333;
      line-height: 45px;
      width: 300px;
      box-sizing: border-box;
      padding: 0 20px;
      text-align: center;
      overflow: hidden;
      position: relative;
      z-index: 2; }
      .main .linkbtn a span, .main .linkbtn button span {
        font-size: 2.0rem;
        margin-right: 5px;
        font-family: "futura-pt","Yu Gothic",sans-serif;
        font-style: normal;
        font-weight: 400;
        line-height: 0;
        padding-left: 20px; }
      .main .linkbtn a:before, .main .linkbtn button:before {
        content: "";
        font-family: FontAwesome;
        font-weight: normal;
        position: absolute;
        font-size: 15px;
        margin-right: 15px;
        position: absolute; }
      .main .linkbtn a:after, .main .linkbtn button:after {
        position: absolute;
        display: block;
        content: '';
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: -1;
        transition: all .2s; }
      .main .linkbtn a:hover, .main .linkbtn button:hover {
        text-decoration: none;
        color: #FFF; }
        .main .linkbtn a:hover:after, .main .linkbtn button:hover:after {
          -webkit-transform: scale(2) rotate(180deg);
          transform: scale(2) rotate(180deg);
          background: #333333;
          transition: all .2s; }

/*==================================================

topicpath
==================================================*/
#topicpath {
  background: #FFF;
  padding: 10px 0;
  border-bottom: 1px solid #CCC; }
  #topicpath ol li {
    float: left;
    display: inline;
    position: relative;
    font-size: 1.2rem; }
    #topicpath ol li + li {
      margin-left: 10px;
      padding-left: 15px; }
      #topicpath ol li + li:after {
        content: "";
        font-family: FontAwesome;
        font-weight: normal;
        position: absolute;
        font-size: 15px;
        left: 0;
        top: 0; }

/*==================================================

footer
==================================================*/
#footer {
  background: #FFF; }
  #footer .footertop {
    padding: 10px 0;
    box-sizing: border-box; }
    #footer .footertop h6, #footer .footertop address {
      float: left;
      display: inline; }
    #footer .footertop h6 {
      width: 267px;
      margin-right: 20px; }
      #footer .footertop h6 img {
        width: 267px;
        height: 30px; }
    #footer .footertop #pagetop {
      position: absolute;
      right: 0;
      top: -10px; }
      #footer .footertop #pagetop a {
        height: 64px;
        line-height: 58px;
        width: 64px;
        text-align: center;
        background: rgba(51, 51, 51, 0.5);
        font-size: 50px;
        color: #FFF; }
        #footer .footertop #pagetop a:hover {
          text-decoration: none;
          opacity: 0.75; }
  #footer .footerbtm {
    color: #FFF;
    background: #333333;
    padding: 30px 0; }
    #footer .footerbtm ul {
      float: left;
      display: inline; }
      #footer .footerbtm ul:after {
        clear: both;
        content: '';
        display: block;
        height: 0; }
      #footer .footerbtm ul li {
        float: left;
        display: inline; }
        #footer .footerbtm ul li + li {
          position: relative;
          padding-left: 20px;
          margin-left: 20px; }
          #footer .footerbtm ul li + li:after {
            content: '|';
            position: absolute;
            left: 0; }
    #footer .footerbtm small {
      float: right;
      display: inline;
      font-size: 1.2rem; }
