@charset "UTF-8";
* {
  margin: 0;
  padding: 0; }

abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  border: 0;
  outline: 0;
  vertical-align: top;
  background: transparent; }

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

address, caption, h1, h2, h3, h4, h5, h6, th {
  font-style: normal;
  font-weight: 400; }

dd, dl, dt, li, ol, ul {
  list-style-type: none;
  list-style-position: outside; }

table, td, th {
  vertical-align: top; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

ins {
  text-decoration: none; }

ins, mark {
  background-color: #ff9;
  color: #000; }

mark {
  font-style: italic;
  font-weight: 700; }

del {
  text-decoration: line-through; }

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

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

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

hr, img {
  border: 0; }

img {
  max-width: 100%;
  vertical-align: top; }

br {
  letter-spacing: 0; }

button, fieldset, form, input, label, legend, select, textarea {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-size: 100%; }

input, select, textarea, button {
  outline: 0;
  vertical-align: middle; }

input[type=date], input[type=datetime], input[type=email], input[type=month], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=time], input[type=url], input[type=week] {
  font-size: 100%;
  padding: 2px;
  border: 1px solid #809db9;
  background: #fff;
  box-sizing: border-box; }

input[type=number] {
  text-align: right; }

input[type='date']:focus, input[type='datetime']:focus, input[type='email']:focus, input[type='month']:focus, input[type='number']:focus, input[type='password']:focus, input[type='search']:focus, input[type='tel']:focus, input[type='text']:focus, input[type='time']:focus, input[type='url']:focus, input[type='week']:focus {
  border: 1px solid #ef7a00;
  background: #fff; }

input:disabled {
  opacity: 0.5;
  cursor: default; }

button, input[type=button], input[type=reset], input[type=submit] {
  cursor: pointer; }

select {
  font-size: 100%;
  border: 1px solid #809db9;
  background-color: #fff; }

button, input, textarea {
  box-sizing: border-box; }

textarea {
  resize: vertical; }

button {
  -webkit-appearance: button;
  border: 0;
  background: transparent; }

button, input[type=checkbox], input[type=radio] {
  cursor: pointer; }

input[type=email], input[type=tel], input[type=text] {
  -webkit-appearance: none;
  border-radius: 0; }

input[type=image] {
  vertical-align: top; }

@font-face {
  font-family: "Original Yu Gothic";
  src: local("Yu Gothic");
  font-weight: 300; }

@font-face {
  font-family: "Original Yu Gothic";
  src: local("Yu Gothic");
  font-weight: 500; }

@font-face {
  font-family: "Original Yu Gothic";
  src: local("Yu Gothic");
  font-weight: bold; }

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 100; }

@font-face {
  font-family: "Helvetica Neue";
  src: local("Helvetica Neue Regular");
  font-weight: 200; }

body {
  line-height: 1.8;
  letter-spacing: 0.01em;
  font-family: "Avenir Next", "Helvetica Neue", -apple-system, BlinkMacSystemFont, "Original Yu Gothic", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
  color: #494544;
  -webkit-text-size-adjust: none;
  -webkit-font-feature-settings: 'palt' 1;
          font-feature-settings: 'palt' 1;
  -webkit-font-smoothing: antialiased; }
  @media screen and (min-width: 769px) {
    body {
      font-size: 16px; } }
  @media screen and (max-width: 768px) {
    body {
      font-size: 14px; } }

/* IE10以上 */
@media all and (-ms-high-contrast: none) {
  html {
    font-family: Verdana, Meiryo, sans-serif; } }

@media all and (-ms-high-contrast: active) {
  html {
    font-family: Verdana, Meiryo, sans-serif; } }

a {
  color: #494544;
  text-decoration: none; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: top; }

a, button {
  -webkit-tap-highlight-color: transparent;
  tap-highlight-color: transparent; }

#Header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  background-color: #FFF;
  z-index: 50; }
  @media screen and (min-width: 769px) {
    #Header {
      height: 70px; } }
  @media screen and (max-width: 768px) {
    #Header {
      height: 90px; } }
  #Header .logo {
    width: 154px;
    position: absolute;
    margin: auto; }
    #Header .logo a {
      width: 100%;
      height: 100%;
      display: block; }
    #Header .logo img {
      width: 100%;
      height: auto; }
    @media screen and (min-width: 769px) {
      #Header .logo {
        height: 100%;
        top: 0;
        bottom: 0;
        left: 30px; }
        #Header .logo a {
          display: -webkit-box;
          display: -webkit-flex;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -webkit-align-items: center;
              -ms-flex-align: center;
                  align-items: center; } }
    @media screen and (max-width: 768px) {
      #Header .logo {
        top: 18px;
        left: 0;
        right: 0; } }
  #Header .info {
    position: absolute;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 769px) {
      #Header .info {
        height: 100%;
        top: 0;
        right: 85px;
        -webkit-box-pack: end;
        -webkit-justify-content: flex-end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (max-width: 768px) {
      #Header .info {
        -webkit-flex-wrap: nowrap;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
        bottom: 10px;
        left: 25px; } }
    #Header .info .search {
      width: 15px; }
      #Header .info .search a {
        display: block; }
      #Header .info .search img {
        vertical-align: middle;
        margin-bottom: 4px; }
    #Header .info .txt {
      margin-left: 10px;
      font-size: 12px;
      font-weight: 700; }
      #Header .info .txt a {
        display: inline-block;
        padding: 0 5px; }
    #Header .info .language {
      position: relative;
      display: inline-block;
      margin-bottom: 1px;
      cursor: pointer;
      font-size: 12px;
      font-weight: 700;
      cursor: pointer; }
      @media screen and (min-width: 769px) {
        #Header .info .language {
          margin-left: 25px; } }
      @media screen and (max-width: 768px) {
        #Header .info .language {
          margin-left: 10px; } }
      #Header .info .language select {
        padding-right: 10px;
        border: none;
        -webkit-appearance: none;
           -moz-appearance: none;
                appearance: none;
        color: #494544; }
      #Header .info .language select::-ms-expand {
        display: none; }
      #Header .info .language:after {
        content: "";
        width: 0;
        height: 0;
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        pointer-events: none;
        border-style: solid;
        border-width: 6px 4px 0 4px;
        border-color: #494544 transparent transparent transparent; }
  #Header #MenuBtn {
    position: absolute;
    margin: auto; }
    #Header #MenuBtn:before, #Header #MenuBtn span, #Header #MenuBtn:after {
      content: "";
      width: 100%;
      height: 3px;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background-color: #494544;
      -webkit-transition: all 300ms cubic-bezier(0.19, 1, 0.22, 1);
      transition: all 300ms cubic-bezier(0.19, 1, 0.22, 1); }
    #Header #MenuBtn:before {
      top: -14px; }
    #Header #MenuBtn:after {
      bottom: -14px; }
    #Header #MenuBtn.close:before {
      top: 0;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg); }
    #Header #MenuBtn.close span {
      opacity: 0; }
    #Header #MenuBtn.close:after {
      bottom: 0;
      -webkit-transform: rotate(-45deg);
          -ms-transform: rotate(-45deg);
              transform: rotate(-45deg); }
    @media screen and (min-width: 769px) {
      #Header #MenuBtn {
        width: 22px;
        height: 22px;
        top: 0;
        bottom: 0;
        right: 25px; } }
    @media screen and (max-width: 768px) {
      #Header #MenuBtn {
        width: 22px;
        height: 22px;
        bottom: 12px;
        right: 20px; } }

#GlobalNavi {
  display: none;
  position: fixed;
  right: 0;
  box-sizing: border-box;
  z-index: 60;
  background-color: #727171;
  font-family: 'Work Sans', sans-serif;
  font-weight: 700; }
  @media screen and (min-width: 769px) {
    #GlobalNavi {
      width: 250px;
      height: calc(100vh - 70px);
      overflow: auto;
      top: 70px;
      padding: 50px 0; } }
  @media screen and (max-width: 768px) {
    #GlobalNavi {
      width: 100%;
      height: calc(100vh - 90px);
      overflow: hidden;
      top: 90px; } }
  #GlobalNavi li a, #GlobalNavi li button {
    width: 100%;
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    box-sizing: border-box;
    line-height: 1;
    color: #FFF;
    -webkit-transition: background 150ms cubic-bezier(0.25, 0.25, 0.75, 0.75);
    transition: background 150ms cubic-bezier(0.25, 0.25, 0.75, 0.75); }
    #GlobalNavi li a.isHover, #GlobalNavi li button.isHover {
      background-color: #525252; }
    #GlobalNavi li a[href^="javascript"], #GlobalNavi li button[href^="javascript"] {
      opacity: 0.5;
      pointer-events: none; }
  #GlobalNavi .lower_01 > li > a, #GlobalNavi .lower_01 > li > button {
    font-weight: bold; }
    #GlobalNavi .lower_01 > li > a i, #GlobalNavi .lower_01 > li > button i {
      width: 12px;
      height: 12px;
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto; }
      #GlobalNavi .lower_01 > li > a i:before, #GlobalNavi .lower_01 > li > a i:after, #GlobalNavi .lower_01 > li > button i:before, #GlobalNavi .lower_01 > li > button i:after {
        content: "";
        width: 100%;
        height: 1px;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        background-color: #FFF;
        -webkit-transition: -webkit-transform 300ms cubic-bezier(0.19, 1, 0.22, 1);
        transition: -webkit-transform 300ms cubic-bezier(0.19, 1, 0.22, 1);
        transition: transform 300ms cubic-bezier(0.19, 1, 0.22, 1);
        transition: transform 300ms cubic-bezier(0.19, 1, 0.22, 1), -webkit-transform 300ms cubic-bezier(0.19, 1, 0.22, 1); }
      #GlobalNavi .lower_01 > li > a i:after, #GlobalNavi .lower_01 > li > button i:after {
        -webkit-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
                transform: rotate(90deg); }
  #GlobalNavi .lower_01 > li .show i:after {
    -webkit-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
            transform: rotate(0deg); }
  @media screen and (min-width: 769px) {
    #GlobalNavi .lower_01 > li {
      position: relative;
      margin-bottom: 8px; }
      #GlobalNavi .lower_01 > li > a, #GlobalNavi .lower_01 > li > button {
        height: 30px;
        padding: 0 35px;
        font-size: 87.5%;
        font-weight: bold; }
        #GlobalNavi .lower_01 > li > a i, #GlobalNavi .lower_01 > li > button i {
          right: 35px; } }
  @media screen and (max-width: 768px) {
    #GlobalNavi .lower_01 {
      margin: 28px 0; }
      #GlobalNavi .lower_01 > li > a, #GlobalNavi .lower_01 > li > button {
        height: 39px;
        padding: 0 25px;
        font-weight: bold; }
        #GlobalNavi .lower_01 > li > a i, #GlobalNavi .lower_01 > li > button i {
          right: 25px; } }
  #GlobalNavi .lower_02 {
    display: none; }
    @media screen and (min-width: 769px) {
      #GlobalNavi .lower_02 {
        overflow: hidden; }
        #GlobalNavi .lower_02 > li:first-of-type {
          margin-top: 4px; }
        #GlobalNavi .lower_02 > li:last-of-type {
          margin-bottom: 40px; }
        #GlobalNavi .lower_02 > li > a {
          padding: 8px 50px;
          font-size: 75%;
          font-weight: bold; } }
    @media screen and (max-width: 768px) {
      #GlobalNavi .lower_02 {
        width: 100%;
        position: absolute;
        top: 0;
        left: 100%;
        padding: 30px 0; }
        #GlobalNavi .lower_02 > li > a {
          height: 39px;
          padding: 0 25px;
          font-size: 16px;
          font-weight: 600; } }
  #GlobalNavi .back_btn {
    display: none; }
    @media screen and (max-width: 768px) {
      #GlobalNavi .back_btn {
        width: 20px;
        height: 20px;
        position: absolute;
        top: 28px;
        left: 25px;
        z-index: 61; }
        #GlobalNavi .back_btn:before {
          content: "";
          width: 100%;
          height: 1px;
          display: block;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          margin: auto;
          background-color: #FFF; }
        #GlobalNavi .back_btn:after {
          content: "";
          width: 10px;
          height: 10px;
          display: block;
          position: absolute;
          top: 0;
          bottom: 0;
          left: 2px;
          margin: auto;
          border-top: 1px solid #FFF;
          border-left: 1px solid #FFF;
          -webkit-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
        #GlobalNavi .back_btn.show {
          display: block; } }

#Container {
  width: 100%;
  min-width: 320px;
  position: relative; }
  @media screen and (min-width: 769px) {
    #Container {
      margin-top: 70px; } }
  @media screen and (max-width: 768px) {
    #Container {
      margin-top: 90px; } }

#Main {
  position: relative; }

@media screen and (min-width: 769px) {
  #Footer {
    padding: 70px 0; } }

@media screen and (max-width: 768px) {
  #Footer {
    padding: 40px 0; } }

#Footer .sns {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  @media screen and (min-width: 769px) {
    #Footer .sns {
      margin-bottom: 40px; } }
  @media screen and (max-width: 768px) {
    #Footer .sns {
      margin-bottom: 30px; } }
  #Footer .sns li {
    margin: 0 5px;
    line-height: 1; }
    #Footer .sns li a {
      width: 30px;
      display: inline-block;
      -webkit-transition: opacity 150ms cubic-bezier(0.25, 0.25, 0.75, 0.75);
      transition: opacity 150ms cubic-bezier(0.25, 0.25, 0.75, 0.75); }
      #Footer .sns li a.isHover {
        opacity: 0.7; }
      #Footer .sns li a[href^="javascript"] {
        opacity: 0.5;
        pointer-events: none; }

#Footer nav ul {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #Footer nav ul li {
    font-weight: 600; }
    #Footer nav ul li a {
      position: relative;
      display: inline-block;
      padding-bottom: 5px;
      line-height: 1;
      -webkit-transition: color 150ms cubic-bezier(0.25, 0.25, 0.75, 0.75);
      transition: color 150ms cubic-bezier(0.25, 0.25, 0.75, 0.75); }
      #Footer nav ul li a:after {
        content: "";
        width: 0%;
        height: 1px;
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        background-color: #000;
        -webkit-transition: width 300ms cubic-bezier(0.645, 0.045, 0.355, 1);
        transition: width 300ms cubic-bezier(0.645, 0.045, 0.355, 1); }
      #Footer nav ul li a.isHover {
        color: #000; }
        #Footer nav ul li a.isHover:after {
          width: 100%; }
      #Footer nav ul li a[href^="javascript"] {
        opacity: 0.5;
        pointer-events: none; }
  @media screen and (min-width: 769px) {
    #Footer nav ul {
      margin-bottom: 30px;
      font-size: 12px; }
      #Footer nav ul li {
        margin: 0 15px; } }
  @media screen and (max-width: 768px) {
    #Footer nav ul {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap;
      margin-bottom: 20px; }
      #Footer nav ul li {
        margin: 0 0 10px;
        font-size: 11px;
        border-left: 1px solid #494544; }
        #Footer nav ul li:first-of-type {
          border-left: none; }
        #Footer nav ul li a {
          margin: 0 10px;
          padding: 0; } }

#Footer .copy {
  text-align: center;
  font-weight: 600;
  font-size: 12px; }

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