@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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%;
  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: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
  cursor: pointer; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
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; }

th, td {
  vertical-align: middle; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

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

.modal_box {
  display: none;
  position: fixed;
  left: 50%;
  z-index: 10001; }

.modal_close {
  position: absolute;
  display: block;
  margin: 0;
  padding: 0;
  width: 30px;
  height: 30px;
  cursor: pointer;
  right: 0;
  top: -30px; }
  .modal_close:before, .modal_close:after {
    content: "";
    display: block;
    position: absolute;
    background: #fff;
    top: 0;
    left: 50%;
    width: 1px;
    height: 30px; }
  .modal_close:before {
    transform: rotate(45deg); }
  .modal_close:after {
    transform: rotate(-45deg); }

.modal_bg {
  cursor: pointer;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  display: none;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.7);
  transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0); }

.video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%; }

html {
  font-size: 62.5%; }

body {
  padding-top: 80px;
  background: #fff;
  color: #252525;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1; }

p {
  line-height: 1.8; }

input,
textarea {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"; }

a:link {
  color: #252525; }

a:visited {
  color: #252525; }

a:hover {
  color: #1b404d;
  opacity: 0.75; }

a:active {
  color: #1b404d; }

.sp {
  display: none; }

@media screen and (max-width: 990px) {
  html {
    -webkit-text-size-adjust: 100%; }
  p {
    line-height: 1.5; }
  body {
    padding-top: 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    overflow: hidden;
    overflow-y: auto; }
  .sp {
    display: block; } }

header {
  display: block;
  position: fixed;
  background: #131313;
  top: 0;
  left: 0;
  height: 80px;
  width: 100%;
  z-index: 9999;
  -webkit-transition: 0.3s;
  transition: 0.3s; }
  header #inner-header {
    width: 100%;
    margin: 0 auto;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    align-items: center; }
    header #inner-header #inner-left {
      margin-right: auto;
      padding: 0 0 0 20px; }
      header #inner-header #inner-left h1 {
        height: 35px; }
        header #inner-header #inner-left h1 img {
          height: 100%; }
    header #inner-header #inner-right {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-direction: row-reverse;
      flex-direction: row-reverse; }
      header #inner-header #inner-right h2 {
        width: 80px;
        height: 80px;
        pointer-events: none; }
        header #inner-header #inner-right h2 a img {
          width: 100%; }
      header #inner-header #inner-right #inner-nav {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        align-items: center; }

.inner-block {
  display: block;
  max-width: 1100px;
  width: 90%;
  margin: 0px auto; }

.page-top-wrap {
  border-radius: 5px 5px 0 0;
  position: absolute;
  top: -65px;
  right: 0;
  background: #131313; }
  .page-top-wrap .page-top {
    width: 50px;
    height: 50px;
    position: relative;
    display: block; }
    .page-top-wrap .page-top:after {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      margin-left: -8px;
      margin-top: -5px;
      transform: translateY(-50%) translateX(-50%);
      -webkit-transform: translateY(-50%) translateX(-50%);
      display: block;
      width: 16px;
      height: 16px;
      border: 0px;
      border-top: solid 1px #fff;
      border-left: solid 1px #fff;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg); }

footer {
  width: 100%;
  background: #131313;
  padding: 25px 0;
  position: relative;
  z-index: 555;
  color: #fff;
  font-weight: 100; }
  footer .inner-block {
    position: relative; }
  footer .limited {
    width: 100%;
    text-align: left;
    font-family: Helvetica, 　Arial, "sans-serif";
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.71429; }
  footer .footer-flex {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: row-reverse;
    flex-direction: row-reverse; }
    footer .footer-flex .footer-utility {
      margin-left: auto;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      footer .footer-flex .footer-utility li {
        margin-left: 15px; }
        footer .footer-flex .footer-utility li a {
          color: #fff;
          font-size: 12px;
          font-size: 1.2rem;
          line-height: 2; }
    footer .footer-flex .copyright {
      margin-right: auto;
      font-family: Helvetica, 　Arial, "sans-serif";
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 2; }

@media screen and (min-width: 991px) {
  #nav-toggle {
    display: none; }
  #gloval-nav nav {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
    align-items: center; }
    #gloval-nav nav > ul {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
      #gloval-nav nav > ul.list-nav > li {
        height: 80px; }
        #gloval-nav nav > ul.list-nav > li > a {
          display: block;
          height: 100%;
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-align-items: center;
          align-items: center;
          cursor: pointer; }
          #gloval-nav nav > ul.list-nav > li > a:hover {
            background: rgba(19, 19, 19, 0.8); }
          #gloval-nav nav > ul.list-nav > li > a span {
            display: block;
            padding: 0 20px;
            border-left: 1px solid #fff;
            color: #fff;
            letter-spacing: 0.08rem;
            font-size: 14px;
            font-size: 1.4rem;
            line-height: 1;
            font-weight: bold; }
        #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child {
          display: none; }
          #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child.active {
            position: absolute;
            top: 80px;
            left: 0;
            width: 100%;
            background: rgba(19, 19, 19, 0.8);
            padding-top: 35px;
            padding-bottom: 35px;
            padding-left: calc((100% - 800px)/2);
            padding-right: calc((100% - 800px)/2);
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-align-items: center;
            align-items: center;
            -webkit-justify-content: left;
            justify-content: left;
            -webkit-flex-wrap: wrap;
            flex-wrap: wrap;
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box; }
            #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child.active .menu-subttl {
              width: 100%;
              margin-bottom: 25px; }
              #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child.active .menu-subttl .inner-subttl {
                width: 800px;
                margin: 0 auto;
                display: block;
                color: #2AA7A2;
                font-size: 20px;
                font-size: 2rem;
                line-height: 1.2; }
                #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child.active .menu-subttl .inner-subttl .subttl-en {
                  font-size: 14px;
                  font-size: 1.4rem;
                  line-height: 1.71429;
                  margin-left: 10px; }
            #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child.active .menu-link {
              margin: 0;
              width: 200px;
              padding-right: 10px;
              margin-bottom: 20px;
              position: relative;
              -webkit-box-sizing: border-box;
              -moz-box-sizing: border-box;
              box-sizing: border-box; }
              #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child.active .menu-link.blank:after {
                content: "";
                display: block;
                width: 10px;
                height: 10px;
                position: absolute; }
              #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child.active .menu-link a {
                color: #fff;
                font-weight: 100;
                font-size: 16px;
                font-size: 1.6rem;
                line-height: 1.5;
                display: -webkit-box;
                display: -webkit-flex;
                display: -ms-flexbox;
                display: flex;
                -webkit-align-items: center;
                align-items: center; }
                #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child.active .menu-link a img {
                  width: 70px;
                  height: 70px;
                  margin-right: 15px; }
                #gloval-nav nav > ul.list-nav > li.menu-parent .menu-child.active .menu-link a span {
                  width: 105px; }
      #gloval-nav nav > ul.list-sns > li {
        width: 40px;
        height: 40px;
        margin-right: 10px;
        border-radius: 20px;
        overflow: hidden; }
        #gloval-nav nav > ul.list-sns > li a img {
          width: 100%; }
    #gloval-nav nav .lng-btn a {
      display: block;
      width: auto;
      padding: 10px;
      margin-right: 10px;
      border: 1px solid #fff;
      color: #fff;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
      align-items: center;
      -webkit-justify-content: center;
      justify-content: center; }
  .l-flex-even {
    margin-left: auto; }
  .l-float-left {
    float: left; }
  .l-float-right {
    float: right; } }

@media screen and (max-width: 990px) {
  header {
    height: 65px;
    background: #131313; }
    header #inner-header #inner-left {
      padding-left: 10px;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
      align-items: center; }
      header #inner-header #inner-left p {
        margin: 0; }
        header #inner-header #inner-left p a {
          width: auto;
          padding: 5px 15px;
          margin-left: 10px;
          font-size: 10px;
          font-size: 1rem;
          line-height: 1; }
    header #inner-header #inner-right {
      -webkit-flex-direction: row;
      flex-direction: row; }
      header #inner-header #inner-right h2 {
        width: 65px;
        height: 65px;
        margin: 0; }
      header #inner-header #inner-right #inner-nav #nav-toggle {
        display: block;
        width: 65px;
        height: 65px;
        background: #D0D0D0;
        position: relative;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: center;
        justify-content: center; }
        header #inner-header #inner-right #inner-nav #nav-toggle > div {
          width: 35px;
          height: 30px;
          display: inline-block;
          pointer-events: none; }
          header #inner-header #inner-right #inner-nav #nav-toggle > div span,
          header #inner-header #inner-right #inner-nav #nav-toggle > div span:before,
          header #inner-header #inner-right #inner-nav #nav-toggle > div span:after {
            position: absolute;
            height: 4px;
            width: 35px;
            background: #131313;
            display: block;
            content: '';
            cursor: pointer; }
          header #inner-header #inner-right #inner-nav #nav-toggle > div span:before {
            bottom: -11px; }
          header #inner-header #inner-right #inner-nav #nav-toggle > div span:after {
            bottom: -23px; }
      header #inner-header #inner-right #inner-nav #gloval-nav {
        background: rgba(19, 19, 19, 0.9);
        position: fixed;
        top: 0;
        height: 100%;
        overflow: hidden;
        overflow-y: auto;
        opacity: 0;
        z-index: 9999;
        display: none; }
        header #inner-header #inner-right #inner-nav #gloval-nav .menu-link img,
        header #inner-header #inner-right #inner-nav #gloval-nav .list-sns img {
          display: none;
          opacity: 0; }
        header #inner-header #inner-right #inner-nav #gloval-nav.active {
          display: block; }
          header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav {
            margin-top: 65px;
            border-bottom: 1px solid #fff; }
            header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav li a {
              color: #fff;
              font-weight: bold;
              text-align: center;
              height: 70px;
              display: block;
              width: 100%;
              border-top: 1px solid #fff;
              font-size: 12px;
              font-size: 1.2rem;
              line-height: 1.33333;
              display: -webkit-box;
              display: -webkit-flex;
              display: -ms-flexbox;
              display: flex;
              -webkit-align-items: center;
              align-items: center;
              -webkit-justify-content: center;
              justify-content: center; }
            header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav li.top {
              display: none; }
            header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav li.menu-parent {
              font-weight: normal; }
              header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav li.menu-parent .menu-child {
                display: -webkit-box;
                display: -webkit-flex;
                display: -ms-flexbox;
                display: flex;
                -webkit-flex-wrap: wrap;
                flex-wrap: wrap; }
                header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav li.menu-parent .menu-child li {
                  width: calc((100% - 2px)/2); }
                  header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav li.menu-parent .menu-child li.menu-subttl {
                    display: none; }
                  header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav li.menu-parent .menu-child li.menu-link:nth-child(2n) {
                    border-right: 1px solid #fff; }
                header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav li.menu-parent .menu-child.item-odd .menu-link:last-child {
                  width: 100%; }
                header #inner-header #inner-right #inner-nav #gloval-nav.active .list-nav li.menu-parent .menu-child.item-even .menu-link:last-child {
                  width: calc((100% - 2px)/2); }
          header #inner-header #inner-right #inner-nav #gloval-nav.active .lng-btn {
            text-align: center;
            display: block;
            width: 80%;
            margin: 20px auto 0;
            border: 1px solid #fff;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-align-items: center;
            align-items: center;
            -webkit-justify-content: center;
            justify-content: center; }
            header #inner-header #inner-right #inner-nav #gloval-nav.active .lng-btn a {
              letter-spacing: 0.1rem;
              display: block;
              width: 100%;
              color: #fff;
              padding: 20px 0;
              font-weight: bold;
              font-size: 12px;
              font-size: 1.2rem;
              line-height: 1.33333; }
          header #inner-header #inner-right #inner-nav #gloval-nav.active .list-sns {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-justify-content: center;
            justify-content: center;
            margin: 20px 0; }
            header #inner-header #inner-right #inner-nav #gloval-nav.active .list-sns > li {
              width: 50px;
              height: 50px;
              margin: 0 10px;
              border-radius: 25px;
              overflow: hidden; }
              header #inner-header #inner-right #inner-nav #gloval-nav.active .list-sns > li a img {
                width: 100%;
                display: block;
                opacity: 1; }
          header #inner-header #inner-right #inner-nav #gloval-nav.active #close {
            position: fixed;
            top: 0;
            right: 0;
            width: 65px;
            height: 65px;
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-align-items: center;
            align-items: center;
            -webkit-justify-content: center;
            justify-content: center; }
            header #inner-header #inner-right #inner-nav #gloval-nav.active #close > p {
              height: 45px;
              width: 45px;
              position: relative; }
              header #inner-header #inner-right #inner-nav #gloval-nav.active #close > p span:before,
              header #inner-header #inner-right #inner-nav #gloval-nav.active #close > p span:after {
                display: block;
                content: "";
                position: absolute;
                top: 50%;
                left: 50%;
                width: 84%;
                height: 10%;
                margin: -8% 0 0 -42%;
                background: #fff; }
              header #inner-header #inner-right #inner-nav #gloval-nav.active #close > p span:before {
                transform: rotate(-45deg); }
              header #inner-header #inner-right #inner-nav #gloval-nav.active #close > p span:after {
                transform: rotate(45deg); }
  footer {
    padding: 15px 0;
    z-index: 222; }
    footer .limited {
      text-align: center;
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 2;
      margin: 0 auto; }
    footer .footer-flex {
      display: block;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap; }
      footer .footer-flex .footer-utility {
        width: 100%;
        margin: 0 auto;
        -webkit-justify-content: space-around;
        justify-content: space-around; }
        footer .footer-flex .footer-utility li {
          margin: 0; }
          footer .footer-flex .footer-utility li a {
            font-size: 12px;
            font-size: 1.2rem;
            line-height: 2; }
      footer .footer-flex .copyright {
        width: 100%;
        text-align: center;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 2;
        margin: 0 auto; } }

.noEn header #inner-header #inner-right #inner-nav #gloval-nav .lng-btn {
  display: none !important; }
  .noEn header #inner-header #inner-right #inner-nav #gloval-nav .lng-btn .English_btn {
    display: none !important; }

.content {
  padding-bottom: 80px; }

.content-head {
  position: relative;
  width: 100%;
  overflow: hidden; }
  .content-head > img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    vertical-align: bottom; }

.content-ttl {
  position: absolute;
  width: 100%;
  top: 50%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  color: #fff; }
  .content-ttl span {
    display: block;
    text-shadow: 0 0 8px #000; }
    .content-ttl span.content-ttl-jp {
      font-size: 40px;
      font-size: 4rem;
      line-height: 1;
      font-weight: bold;
      margin-bottom: 15px; }
    .content-ttl span.content-ttl-en {
      font-family: Helvetica, 　Arial, "sans-serif";
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 1;
      text-shadow: 0 0 8px #000; }

.breacrumb {
  background: #f2efeb;
  padding: 15px 0px;
  margin-bottom: 50px; }
  .breacrumb ul {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    .breacrumb ul li {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1; }
      .breacrumb ul li a {
        display: inline-block;
        padding-right: 24px;
        position: relative; }
        .breacrumb ul li a::after {
          display: block;
          position: absolute;
          top: 50%;
          right: 10px;
          width: 7px;
          height: 7px;
          margin-top: -4px;
          border-top: solid 1px #252525;
          border-right: solid 1px #252525;
          -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
          content: ""; }
        .breacrumb ul li a img {
          height: 14px; }
    .breacrumb ul .breacrumb-current {
      font-weight: bold;
      color: #66462c; }

.ttl-sub {
  padding: 20px 0;
  text-align: center;
  font-size: 34px;
  font-size: 3.4rem;
  line-height: 1;
  font-weight: normal; }
  .ttl-sub span {
    display: block;
    margin-top: 5px;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1;
    color: #66462c; }

.l-flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: flex-start;
  align-items: flex-start; }
  .l-flex .l-flex-odd {
    margin-bottom: 20px;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.5; }
    .l-flex .l-flex-odd p + p {
      margin-top: 10px; }
  .l-flex .l-flex-even {
    margin-left: 20px; }
    .l-flex .l-flex-even img {
      width: 420px;
      height: auto;
      position: relative;
      z-index: 1;
      margin-bottom: 10px; }

@media screen and (max-width: 990px) {
  .content {
    margin-top: 65px;
    padding-bottom: 80px;
    background: #fff; }
  .content-head > img {
    height: 100px; }
  .content-ttl span.content-ttl-jp {
    font-size: 23px;
    font-size: 2.3rem;
    line-height: 1;
    margin-bottom: 7px; }
  .content-ttl span.content-ttl-en {
    font-size: 10px;
    font-size: 1rem;
    line-height: 1; }
  .ttl-sub {
    font-size: 24px;
    font-size: 2.4rem;
    line-height: 1; }
    .ttl-sub span {
      font-size: 12px;
      font-size: 1.2rem;
      line-height: 1; }
  .l-flex {
    flex-direction: column;
    width: 100%; }
    .l-flex .l-flex-odd {
      margin-bottom: 20px;
      width: 100%; }
    .l-flex .l-flex-even {
      width: 100%;
      margin: 0 auto; }
      .l-flex .l-flex-even img {
        width: 100%;
        margin: 0 auto 10px;
        height: auto;
        vertical-align: bottom; } }
