.font-size58 {
  font-size: 3.625rem; }
  @media screen and (max-width: 1024px) {
    .font-size58 {
      font-size: 2.25rem; } }
  @media screen and (max-width: 767px) {
    .font-size58 {
      font-size: 2.25rem; } }

.font-size36 {
  font-size: 2.25rem; }
  @media screen and (max-width: 1024px) {
    .font-size36 {
      font-size: 1.5rem; } }
  @media screen and (max-width: 767px) {
    .font-size36 {
      font-size: 1.375rem; } }

.font-size30 {
  font-size: 1.875rem; }
  @media screen and (max-width: 1024px) {
    .font-size30 {
      font-size: 1.5rem; } }
  @media screen and (max-width: 767px) {
    .font-size30 {
      font-size: 1.375rem; } }

.font-size26 {
  font-size: 1.625rem; }
  @media screen and (max-width: 1024px) {
    .font-size26 {
      font-size: 1.5rem; } }
  @media screen and (max-width: 767px) {
    .font-size26 {
      font-size: 1.125rem; } }

.font-size22 {
  font-size: 1.375rem; }
  @media screen and (max-width: 768px) {
    .font-size22 {
      font-size: 1.125rem; } }

.font-size18 {
  font-size: 1.125rem; }
  @media screen and (max-width: 768px) {
    .font-size18 {
      font-size: 1.125rem; } }

.font-size15 {
  font-size: 0.9375rem; }
  @media screen and (max-width: 768px) {
    .font-size15 {
      font-size: 0.8125rem; } }

.font-size14 {
  font-size: 0.88rem; }
  @media screen and (max-width: 768px) {
    .font-size14 {
      font-size: 0.75rem; } }

.column {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  padding-right: 7px;
  padding-left: 7px;
  letter-spacing: -.5em; }
  .column * {
    letter-spacing: normal; }
  @media screen and (max-width: 1024px) {
    .column {
      width: 100vw;
      padding-right: 0;
      padding-left: 0; } }
  .column .column {
    letter-spacing: -.5em; }
    .column .column * {
      letter-spacing: normal; }

.col12 {
  width: calc(100% - 20px);
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-right: 0;
  padding-left: 0; }
  @media screen and (max-width: 1023px) {
    .col12 {
      width: 98vw; } }
  @media screen and (max-width: 767px) {
    .col12 {
      width: 94vw; } }

.col9 {
  width: 740px;
  display: inline-block;
  margin-left: 8.75px;
  margin-right: 8.75px;
  vertical-align: top; }
  @media screen and (max-width: 1024px) {
    .col9 {
      width: 74vw;
      margin-left: 1vw;
      margin-right: 1vw; } }
  @media screen and (max-width: 767px) {
    .col9 {
      width: 94vw; } }

.col8 {
  width: 649.3333333333px;
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px;
  vertical-align: top; }
  @media screen and (max-width: 1024px) {
    .col8 {
      width: calc( ( ( 92vw / 3 ) * 2 ) + 2vw );
      margin-left: 1vw;
      margin-right: 1vw; } }

.col6 {
  width: calc(( 100% - 40px ) / 2);
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px;
  vertical-align: top; }
  @media screen and (max-width: 1024px) {
    .col6 {
      width: 47vw;
      margin-left: 1vw;
      margin-right: 1vw; } }
  @media screen and (max-width: 767px) {
    .col6 {
      width: 94vw;
      margin-left: 0;
      margin-right: 0; } }

.col4 {
  width: calc(( 100% - 62px ) / 3);
  display: inline-block;
  margin-left: calc( 60px / 6);
  margin-right: calc( 60px / 6);
  vertical-align: top; }
  @media screen and (max-width: 1024px) {
    .col4 {
      width: calc( 92vw / 3 );
      margin-left: 1vw;
      margin-right: 1vw; } }
  @media screen and (max-width: 767px) {
    .col4 {
      width: 92vw;
      margin-left: 0;
      margin-right: 0;
      margin-bottom: 10px; } }

.col3 {
  width: calc(( 100% - 10px * 8 ) / 4);
  display: inline-block;
  margin-left: 10px;
  margin-right: 10px;
  vertical-align: top; }
  @media screen and (max-width: 1024px) {
    .col3 {
      width: calc(( 100vw - 1vw * 8 ) / 4);
      margin-left: 1vw;
      margin-right: 1vw; } }
  @media screen and (max-width: 767px) {
    .col3 {
      width: 92vw;
      margin-left: 0;
      margin-right: 0;
      margin-bottom: 10px; } }

@media screen and (min-width: 768px) {
  .sp {
    display: none; } }

.mt60 {
  margin-top: 60px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .mt60 {
      margin-top: 30px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .mt60 {
      margin-top: 20px; } }

.mt40 {
  margin-top: 40px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .mt40 {
      margin-top: 30px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .mt40 {
      margin-top: 20px; } }

.mt30 {
  margin-top: 30px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .mt30 {
      margin-top: 15px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .mt30 {
      margin-top: 10px; } }

.mt20 {
  margin-top: 20px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .mt20 {
      margin-top: 15px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .mt20 {
      margin-top: 10px; } }

.mb60 {
  margin-bottom: 60px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .mb60 {
      margin-bottom: 30px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .mb60 {
      margin-bottom: 20px; } }

.mb40 {
  margin-bottom: 40px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .mb40 {
      margin-bottom: 30px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .mb40 {
      margin-bottom: 20px; } }

.mb20 {
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .mb20 {
      margin-bottom: 10px !important; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .mb20 {
      margin-bottom: 10px !important; } }

.mb10 {
  margin-bottom: 10px; }

.mr20 {
  margin-right: 20px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .mr20 {
      margin-right: 2vw; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .mr20 {
      margin-right: 3vw; } }

.ml20 {
  margin-left: 20px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .ml20 {
      margin-left: 2vw; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .ml20 {
      margin-left: 3vw; } }

.pt60 {
  padding-top: 60px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .pt60 {
      padding-top: 30px !important; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .pt60 {
      padding-top: 20px !important; } }

.pt40 {
  padding-top: 40px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .pt40 {
      padding-top: 30px !important; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .pt40 {
      padding-top: 20px !important; } }

.pt20 {
  padding-top: 20px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .pt20 {
      padding-top: 15px !important; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .pt20 {
      padding-top: 10px !important; } }

.pt10 {
  padding-top: 10px; }

.pb60 {
  padding-bottom: 60px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .pb60 {
      padding-bottom: 30px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .pb60 {
      padding-bottom: 20px; } }

.pb40 {
  padding-bottom: 40px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .pb40 {
      padding-bottom: 30px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .pb40 {
      padding-bottom: 20px; } }

.pb30 {
  padding-bottom: 30px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .pb30 {
      padding-bottom: 10px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .pb30 {
      padding-bottom: 10px; } }

.pb20 {
  padding-bottom: 20px; }
  @media screen and (max-width: 768px) and (min-width: 768px) {
    .pb20 {
      padding-bottom: 10px; } }
  @media screen and (max-width: 767px) and (min-width: 0) {
    .pb20 {
      padding-bottom: 10px; } }

.pb10 {
  padding-bottom: 10px; }

#wrapper {
  background: #fff;
  /* overflow: hidden;*/ }

nav.slidemenu {
  display: none; }

#breadClumb {
  width: 990px;
  margin: 15px auto; }
  #breadClumb li {
    display: inline-block;
    vertical-align: middle; }

#contents div.event {
  clear: both;
  text-align: center; }
#contents ol.note, #contents ul.note {
  margin-bottom: 20px; }
  #contents ol.note li, #contents ul.note li {
    margin-bottom: 5px;
    padding-left: 1.5em;
    text-indent: -1.5em;
    line-height: 1.5;
    font-size: 9pt;
    color: #666; }
    #contents ol.note li:nth-last-of-type(1), #contents ul.note li:nth-last-of-type(1) {
      margin-bottom: 0; }
#contents ol.notes, #contents ul.notes {
  margin-bottom: 20px; }
  #contents ol.notes li, #contents ul.notes li {
    margin-bottom: 5px;
    padding-left: 2em;
    text-indent: -2em;
    line-height: 1.5;
    font-size: 9pt;
    color: #666; }
    #contents ol.notes li:nth-last-of-type(1), #contents ul.notes li:nth-last-of-type(1) {
      margin-bottom: 0; }
  #contents ol.notes ul.note, #contents ul.notes ul.note {
    margin: -1.3em 0 0 0; }
    #contents ol.notes ul.note li, #contents ul.notes ul.note li {
      margin-bottom: 5px;
      padding-left: 1em;
      text-indent: -1em;
      line-height: 1.5;
      font-size: 9pt; }
      #contents ol.notes ul.note li:nth-last-of-type(1), #contents ul.notes ul.note li:nth-last-of-type(1) {
        margin-bottom: 0; }

#title h1, #title p {
  width: 736px;
  height: 90px;
  margin: 0 -10px 20px !important;
  *margin: 0 0 20px;
  position: relative;
  border: none !important;
  box-shadow: none !important;
  text-indent: 0 !important;
  background: url(/common/images/title/bg02.png) no-repeat; }
  #title h1 b, #title p b {
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 28px;
    left: 28px;
    font-size: 28px !important;
    color: #fff;
    line-height: 100%;
    font-weight: normal;
    background: none !important;
    border: none !important; }
  #title h1 strong, #title p strong {
    opacity: 0.8;
    font-size: 9px;
    color: #fff;
    position: absolute;
    top: 54px;
    left: 28px;
    font-weight: normal; }
  #title h1 img, #title p img {
    position: absolute;
    top: 19px;
    left: 19px; }

#lightbox {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 102;
  background: rgba(0, 0, 0, 0.7);
  text-align: center; }
  #lightbox div {
    background: #fff;
    position: absolute;
    text-align: center;
    left: 50%; }
    #lightbox div iframe {
      border: none; }
    #lightbox div p {
      width: 42px;
      height: 42px;
      position: absolute;
      top: -15px;
      right: -10px;
      cursor: pointer;
      text-indent: -9999px;
      background: url(/common/images/lightbox/close.png) no-repeat; }
  #lightbox.lightbox_default div {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    text-align: left;
    width: 874px;
    height: 690px;
    margin-left: -437px;
    padding: 30px 0 20px;
    background: #fff; }
    #lightbox.lightbox_default div iframe {
      width: 874px;
      height: 640px; }
    #lightbox.lightbox_default div p {
      width: 42px;
      height: 42px;
      position: absolute;
      top: -15px;
      right: -10px;
      cursor: pointer;
      text-indent: -9999px;
      background: url(/common/images/lightbox/close.png) no-repeat; }
  #lightbox.lightbox_img div {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 90vw;
    max-height: 90vh; }
    #lightbox.lightbox_img div img {
      max-width: 90vw;
      max-height: 90vh; }

aside.gcv {
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important; }
  aside.gcv dl {
    font-size: 0.6875rem; }
  aside.gcv dt {
    font-weight: bold !important;
    float: none !important; }
  aside.gcv dd {
    margin: 0 !important;
    margin-left: 1em !important;
    padding: 0 !important;
    line-height: 140% !important;
    border: none !important; }

iframe[name="google_conversion_frame"] {
  position: absolute;
  top: 0;
  left: -300px; }

@media screen and (min-width: 0) and (max-width: 768px) {
  html {
    background: #333; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  body {
    min-width: 320px;
    -webkit-text-size-adjust: none; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #wrapper {
    background: none;
    background-color: #fff;
    -webkit-transform: translate3d(0px, 0px, 1px);
    -webkit-transition: .2s -webkit-transform ease-in-out;
    z-index: 1; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  #wrapper.show {
    -webkit-transform: translate3d(240px, 0px, 1px);
    min-width: 320px; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #contents {
    width: 100%;
    min-width: 320px; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #breadClumb {
    width: calc(100vw - 30px);
    padding-top: 45px;
    margin: 15px auto 0px auto;
    font-size: 0.625rem;
    /*display: none;*/ } }
@media screen and (min-width: 0) and (max-width: 768px) {
  #breadClumb ul {
    /*display: none;*/ } }
@media screen and (min-width: 0) and (max-width: 768px) {
  #breadClumb ul li.title {
    display: none; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #main {
    width: 100%;
    margin: 0;
    padding: 0;
    float: none !important; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #sub {
    width: 100%;
    margin: 0;
    padding: 0 10px;
    float: none !important; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #sub div.subFix {
    width: 100%; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #sub section ul {
    max-width: 230px;
    margin: 10px auto; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #sub section dd {
    max-width: 230px;
    margin: 10px auto; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #sub section.support, #sub section.newsletter, #sub div.case {
    display: none; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  #sub div.danw {
    margin-bottom: 30px; } }

@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section {
    width: 100%;
    min-width: 320px;
    margin: 0;
    padding: 0 10px 20px; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section p.logo {
    display: none; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section dl {
    padding: 0;
    position: static !important;
    float: none; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section dl.home {
    padding: 0;
    min-width: 100%; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section dl.cs {
    min-height: 100%;
    min-width: 100%;
    margin: 0;
    border: none; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section dl.partner {
    margin-left: 0;
    border: none;
    min-height: 100%; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section dl dt {
    font-size: 0.6875rem; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section dd {
    display: none; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section div#twLink, #footer section div#fbLink,
  #footer section div#enLink {
    top: auto;
    left: auto;
    right: 10px;
    font-size: 0.6875rem; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section div#twLink {
    bottom: 93px; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section div#fbLink {
    bottom: 45px; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section div#enLink {
    bottom: 20px; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section aside {
    width: 100%;
    padding: 5px 0 10px;
    bottom: -50px;
    background: #00418a; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section aside ul {
    float: none;
    text-align: center; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section aside ul li {
    font-size: 0.5625rem;
    margin-right: 5px;
    padding-right: 5px; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section aside ul li:nth-last-of-type(1) {
    margin-right: 0;
    padding-right: 0; } }
@media screen and (min-width: 0) and (max-width: 1023px) {
  #footer section aside p {
    float: none;
    text-align: center; } }

@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu {
    width: 240px;
    height: 100%;
    display: block;
    background: #333;
    left: 0;
    top: 0;
    position: fixed;
    z-index: -1;
    -webkit-transition: visibility 0s linear .2s; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu.show {
    height: 100%;
    z-index: 1;
    -webkit-transition: z-index 0s linear .2s; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu h3 {
    height: 40px;
    background: #000;
    text-indent: -9999px; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu h3 a {
    width: 100px;
    height: 30px;
    display: block;
    background: url(/common/images/header/wlogo.svg) no-repeat;
    background-size: 100px auto;
    position: absolute;
    top: 8px;
    left: 10px; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu p {
    width: 23px;
    height: 23px;
    position: absolute;
    top: 8px;
    right: 8px; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu p a {
    display: block; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu p a img {
    width: 23px;
    height: auto;
    margin: 0 auto;
    display: block; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu dt a {
    width: 100%;
    height: 42px !important;
    line-height: 44px;
    padding-left: 10px;
    position: static;
    text-indent: 0;
    background: none !important;
    color: #fff;
    border-bottom: 1px solid #000;
    border-top: 1px solid #999;
    display: block; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu dt strong {
    display: none !important; } }
@media screen and (max-width: 768px) {
  nav.slidemenu dt span.support0 {
    display: none; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu dd {
    display: none;
    background: #555; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu dd li {
    width: 100% !important;
    margin: 0 !important;
    border-bottom: 1px dotted #999; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu dd li a {
    padding: 5px 5px 4px 15px;
    font-weight: normal;
    display: block;
    color: #fff; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu dd li:nth-of-type(1) {
    /*display: none;*/ } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu dd li:nth-last-of-type(1) {
    border: none; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu ul.otherMenu a {
    width: 100%;
    height: 42px !important;
    line-height: 44px;
    padding-left: 10px;
    position: static;
    text-indent: 0;
    background: none !important;
    color: #fff;
    border-bottom: 1px solid #000;
    border-top: 1px solid #999;
    display: block; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu ul.otherMenu li.top_srch form#srch {
    display: none !important; } }
@media screen and (min-width: 0) and (max-width: 768px) {
  nav.slidemenu #menu_contents {
    width: 240px;
    height: 100%;
    display: none;
    position: relative; } }

.effect-fade {
  opacity: 0;
  transform: translate(0, 0);
  transition: all 300ms;
  transition-timing-function: ease-out; }
@print {
  .effect-fade {
    opacity: 1;
    transform: translate(0, 0); } }
.effect-fade.up {
  transform: translate(0, 20px); }

.effect-fade.down {
  transform: translate(0, -20px); }

.effect-fade.rtl {
  transform: translate(60px, 0);
  overflow: hidden; }

.effect-fade.ltr {
  transform: translate(-60px, 0);
  overflow: hidden; }

.effect-fade.big {
  transform: scale(0.8, 0.8); }

.effect-fade.mini {
  transform: scale(1.2, 1.2); }

.effect-fade.mask-ltr {
  transition: all 1s ease;
  webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  opacity: 1 !important; }

.effect-fade.effect-scroll.mask-ltr {
  webkit-clip-path: inset(0);
  clip-path: inset(0); }

.delay1 {
  transition-delay: 100ms; }

.delay2 {
  transition-delay: 200ms; }

.delay3 {
  transition-delay: 300ms; }

.delay4 {
  transition-delay: 400ms; }

.delay5 {
  transition-delay: 500ms; }

.delay6 {
  transition-delay: 600ms; }

.delay7 {
  transition-delay: 700ms; }

.delay8 {
  transition-delay: 800ms; }

.delay9 {
  transition-delay: 900ms; }

.effect-fade.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
  transform: scale(1, 1); }

.js-fadein {
  opacity: 1 !important;
  display: block !important;
  transition: all 300ms; }

.js-fadeiout {
  opacity: 0 !important;
  display: none !important;
  transition: all 300ms; }
@print {
  .js-fadeiout {
    opacity: 1; } }
.js_tgl_item {
  display: none; }

.js_tgl_close {
  display: none; }
