::selection {
  color: #fff;
  background: #00a9e0
}

html {
  margin: 0;
  padding: 0;
  overflow-y: scroll;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-print-color-adjust: exact
}

@media only screen and (max-width:768px) {
  html {
    overflow-y: auto
  }
}

body {
  margin: 0;
  padding: 0;
  color: #2d2d2d;
  font-family: YakuHanJPs_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-feature-settings: "palt";
  word-break: break-word;
  background-color: #fff
}

@media only screen and (max-width:768px) {
  body {
    min-width: initial
  }
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
  }


@media only screen and (min-width:769px) {
  .is-pc:not(br) {
    display: block
  }
  .is-sp:not(br) {
    display: none
  }
  br.is-pc {
    display: inline
  }
  br.is-sp {
    display: none
  }
}

@media only screen and (min-width:1120px) {
  .is-pc:not(br) {
    display: block
  }
  .is-sp:not(br) {
    display: none
  }
}

@media only screen and (max-width:768px) {
  .is-pc:not(br) {
    display: none
  }
  .is-sp:not(br) {
    display: block
  }
  br.is-pc {
    display: none
  }
  br.is-sp {
    display: inline
  }
}

@media only screen and (max-width:1119px) {
  .is-pc:not(br) {
    display: none
  }
  .is-sp:not(br) {
    display: block
  }
}

.js-indicate-ready {
  opacity: 0;
  transform: translateY(35px);
  transition-property: opacity, transform
}

.js-indicate-start {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 0.85s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1), cubic-bezier(0.33, 1, 0.68, 1)
}

.swiper-slide {
  will-change: transform
}

@media print {
  body {
    min-width: 1124px
  }
  .l-main {
    padding-top: 0
  }
  .c-burgermenu,
  .c-pageup,
  .ir__nav,
  .l-header__nav,
  .l-nav__outer {
    display: none
  }
  .p-fixednav__index {
    display: none
  }
  .l-producttop__nav {
    display: none
  }
}

.l-footer {
  color: #a7a8aa;
  background-color: #2d2d2d
}

.l-footer__outer {
  margin: 0 64px
}

.l-footer__inner {
  margin: auto;
  padding: 80px 0 56px;
  max-width: 1120px
}

.l-footer__column {
  display: flex;
  justify-content: space-between
}

.l-footer__logo {
  width: 376px
}

.l-footer__logo img {
  display: block;
  width: 100%;
  height: auto
}

.l-footer__copyright {
  color: #a7a8a9;
  font-size: 10px;
  line-height: 1em
}

.l-footer__column--top .l-footer__col:first-child {
  width: calc(100% - 160px - 60px)
}

.l-footer__column--top .l-footer__col:last-child {
  width: 160px
}

.l-footer__column--middle {
  align-items: center;
  margin-top: 56px
}

.l-footer__column--middle .l-footer__col:first-child {
  width: calc(100% - 288px)
}

.l-footer__column--middle .l-footer__col:last-child {
  width: 288px
}

.l-footer__column--bottom {
  margin-top: 40px;
  align-items: flex-end
}

.l-footer .p-toplink {
  margin-bottom: 13px
}

.l-footer__langlink {
  padding-bottom: 50px
}

.l-footer__langlink__set {
  display: flex;
  flex-wrap: wrap
}

.l-footer__langlink__set.p-linkset li {
  margin-top: 0
}

.l-footer__langlink__set.p-linkset li:first-child {
  margin-top: 0
}

.l-footer__langlink__item {
  margin-right: 24px
}

@media only screen and (max-width:1119px) {
  .l-footer__outer {
    margin: 0 24px
  }
  .l-footer__inner {
    padding: 64px 0 73px;
    max-width: initial
  }
  .l-footer__column {
    display: block
  }
  .l-footer__logo {
    margin: auto;
    max-width: 327.5px;
    width: auto
  }
  .l-footer__copyright {
    margin-top: 40px;
    text-align: center
  }
  .l-footer__column--top .l-footer__col:first-child {
    display: none;
    width: auto
  }
  .l-footer__column--top .l-footer__col:last-child {
    width: auto
  }
  .l-footer__column--middle {
    margin-top: 48px
  }
  .l-footer__column--middle .l-footer__col:first-child,
  .l-footer__column--middle .l-footer__col:last-child {
    width: auto
  }
  .l-footer__column--bottom {
    margin-top: 46px
  }
}

@media only screen and (min-width:1120px) {
  .l-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    pointer-events: none;
    z-index: 5
  }
  .l-header__outer {
    margin: 0 64px;
  }
  .l-header__inner {
    /*margin:auto;*/
    height: 110px
  }
  .l-header__column {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-top: 27.5px
  }
  .l-header__logo {
    width: 136px;
    pointer-events: auto;
  }
  .l-header__logo img {
    display: block;
    width: 100%;
    height: 55px;
  }
  .l-header__nav {
    display: flex;
    align-items: center;
    margin-bottom: 32px;
    pointer-events: auto
  }
  .l-header .c-searchbox {
    margin-left: 32px
  }
  .l-header .c-language {
    margin-left: 24px;
    z-index: 2
  }
  .l-header .c-mail {
    margin-left: 26px
  }
  /*
  .l-header {
    transition-duration: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }

  .l-header__logo img {
    transition-duration: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
    transform-origin: left center;
    will-change: transform
  }

  .l-header__nav {
    transition-duration: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }


  body:not(.is-play).is-compact .l-header {
    transform: translateY(0px);
    transform: translateY(-10px);
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }

  body:not(.is-play).is-compact .l-header__logo img {
    transform: scale(0.85);
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }

  body:not(.is-play).is-compact .l-header__nav {
    transform: translateY(4px);
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  } */
}

@media only screen and (max-width:1119px) {
  .l-header {
    height: 50px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    z-index: 5
  }
  .current-home .l-header {
    /* background-color: transparent; */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0)
  }
  .l-header__outer {
    margin: 0 24px
  }
  .l-header__column {
    display: flex;
    align-items: center;
    padding-top: 12.5px
  }
  .l-header__logo {
    width: 61.72px
  }
  .l-header__logo img {
    display: block;
    width: 100%;
    height: auto
  }
  .l-header__nav {
    display: none
  }
  /*
  .l-header {
    transition-property: background-color, box-shadow, transform;
    transition-duration:0.85s,0.85s,0.5s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
    will-change: background-color, box-shadow, transform
  }

  .l-header__outer {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }

  body:not(.is-play).is-compact .l-header {
    background-color: #fff;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    transform: translateY(-10px);
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }

  body:not(.is-play).is-compact .l-header__outer {
    transform: translateY(10px);
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }
*/
}

.l-main {
  padding-top: 110px;
  padding-bottom: 200px;
  background-color: #fff
}

.l-main--bottomfit {
  padding-bottom: 0
}

@media only screen and (max-width:768px) {
  .l-main {
    padding-top: 50px;
    padding-bottom: 100px
  }
  .l-main--bottomfit {
    padding-bottom: 0
  }
}

@media print {
  .l-main {
    padding-top: 36px
  }
}

.l-nav {
  -ms-user-select: none;
  -moz-user-select: -moz- none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none
}

@media only screen and (min-width:1120px) {
  .l-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4
  }
  .l-nav:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    z-index: -1
  }
  .current-home .l-nav:before {
    /* background-color: transparent; */
    box-shadow: 0 0 10px rgba(0, 0, 0, 0)
  }
  .l-nav__outer {
    margin: 0px 64px
  }
  .l-nav__inner {
    margin: auto;
    height: 110px
  }
  .l-nav__menu {
    display: flex;
    justify-content: flex-end;
    padding-top: 75px
  }
  .l-nav__top {
    margin-left: 34px;
    line-height: 1em
  }
  .l-nav__top:first-child {
    margin-left: 0
  }
  .l-nav__top a {
    font-size: 14px;
    font-weight: 700
  }
  .l-nav__top.js-megamenu.is-active a {
    color: #00a9e0
  }
  .l-nav__sub {
    position: absolute;
    top: 110px;
    left: 0;
    right: 0;
    height: calc(100vh - 136px);
    pointer-events: none;
    z-index: 2
  }
  .l-nav__sub:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.9);
    pointer-events: none;
    opacity: 0;
    z-index: -1;
    transition-property: opacity;
    transition-duration: 0.25s;
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }
  .l-nav__sub.is-active {
    pointer-events: auto;
    z-index: 3
  }
  .l-nav__sub.is-active:before {
    opacity: 1;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
  .l-nav .c-language,
  .l-nav .c-searchbox {
    display: none
  }
  .current-about .l-nav__top--about a,
  .current-careers .l-nav__top--careers a,
  .current-corporatesummary .l-nav__top--corporatesummary a,
  .current-ir .l-nav__top--ir a,
  .current-product .l-nav__top--product a,
  .current-rd .l-nav__top--rd a,
  .current-sustainability .l-nav__top--sustainability a,
  .l-nav__top.is-current a {
    color: #00a9e0
  }
  body.is-locked .l-nav__top.is-current a,
  body.is-locked.current-about .l-nav__top--about a,
  body.is-locked.current-careers .l-nav__top--careers a,
  body.is-locked.current-corporatesummary .l-nav__top--corporatesummary a,
  body.is-locked.current-ir .l-nav__top--ir a,
  body.is-locked.current-product .l-nav__top--product a,
  body.is-locked.current-rd .l-nav__top--rd a,
  body.is-locked.current-sustainability .l-nav__top--sustainability a {
    color: #2d2d2d
  }
  body.is-locked .l-nav__top.is-current.is-active a,
  body.is-locked.current-about .l-nav__top--about.is-active a,
  body.is-locked.current-careers .l-nav__top--careers.is-active a,
  body.is-locked.current-corporatesummary .l-nav__top--corporatesummary.is-active a,
  body.is-locked.current-ir .l-nav__top--ir.is-active a,
  body.is-locked.current-product .l-nav__top--product.is-active a,
  body.is-locked.current-rd .l-nav__top--rd.is-active a,
  body.is-locked.current-sustainability .l-nav__top--sustainability.is-active a {
    color: #00a9e0
  }
  .is-megamenu .l-nav__top a {
    color: #2d2d2d
  }
  .is-megamenu .l-nav__top.is-active a {
    color: #00a9e0
  }
  .l-nav__top a {
    transition-property: color;
    transition-duration: 0.5s
  }
  .l-nav__top a:hover {
    color: #00a9e0;
    transition-duration: 0s
  }
  /*
  .l-nav {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }

  l-nav:before {
    transition-property: background-color, box-shadow, transform;
    transition-duration:0.85s,0.85s,0.5s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
    will-change: background-color, box-shadow, transform
  }

  .l-nav__sub {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }

  body:not(.is-play).is-compact .l-nav {
    transform: translateY(0px);
    transform: translateY(-10px);
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }
*/
  body:not(.is-play).is-compact .l-nav:before {
    background-color: #fff;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.1);
    /* transform: translateY(-7px);
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
    */
  }
  /*
  body:not(.is-play).is-compact .l-nav__sub {
    transform: translateY(-7px);
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }
*/
  .current-home .l-nav:after {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    transition-property: background-color;
    transition-duration: 0.25s;
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }
  .current-home.is-megamenu .l-nav:after {
    background-color: rgba(255, 255, 255, 0.9);
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
}

@media only screen and (max-width:1119px) {
  .l-nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5
  }
  .l-nav__outer {
    position: absolute;
    top: 6px;
    left: 6px;
    right: 6px;
    bottom: 6px;
    background-color: rgba(255, 255, 255, 0.98);
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 1
  }
  .l-nav__inner {
    margin: 0 18px;
    padding: 40px 0 0;
    height: calc(100% - 36px)
  }
  .l-nav__menu {
    margin-top: 33px;
    padding: 12px 0;
    height: calc(100% - 114px);
    border: 2px solid #78be20;
    border-left: none;
    border-right: none;
    overflow: auto
  }
  .l-nav__top {
    border-top: 1px solid #eaeaea
  }
  .l-nav__top:first-child {
    border-top: none
  }
  .l-nav__top a {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 40px 0 20px;
    height: 55px;
    color: #00a9e0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25em;
    z-index: 1
  }
  .l-nav__top a i {
    display: block;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -6px;
    width: 12px;
    height: 12px;
    z-index: 1
  }
  .l-nav__top a i:after,
  .l-nav__top a i:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url(../img/common/ic_direction.svg);
    background-position: 0 -36px;
    background-repeat: no-repeat;
    background-size: 48px 48px;
    z-index: 1
  }
  .l-nav__top a:after {
    opacity: 0
  }
  .l-nav__top a[target=_blank] i {
    margin-top: -7px;
    width: 14px;
    height: 14px
  }
  .l-nav__top a[target=_blank] i:before {
    display: none
  }
  .l-nav__top a[target=_blank] i:after {
    background-image: url(../img/common/ic_blank.svg);
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 14px 28px
  }
  .l-nav__top.js-megamenu a i,
  .l-nav__top.js-megamenuinc a i {
    margin-top: -7px;
    width: 14px;
    height: 14px;
    transition-property: transform;
    transition-duration: 0.25s;
    transition-delay: 0s
  }
  .l-nav__top.js-megamenu a i:after,
  .l-nav__top.js-megamenu a i:before,
  .l-nav__top.js-megamenuinc a i:after,
  .l-nav__top.js-megamenuinc a i:before {
    background-image: url(../img/common/ic_opener.svg);
    background-position: 0 -42px;
    background-size: 28px 56px;
    transition-property: transform;
    transition-duration: 0.25s;
    transition-delay: 0.25s
  }
  .l-nav__top.js-megamenu a i:after,
  .l-nav__top.js-megamenuinc a i:after {
    background-position: -14px -42px;
    opacity: 1
  }
  .l-nav__top.js-megamenu.is-active a i,
  .l-nav__top.js-megamenuinc.is-active a i {
    transform: rotate(180deg);
    transition-delay: 0.25s
  }
  .l-nav__top.js-megamenu.is-active a i:before,
  .l-nav__top.js-megamenuinc.is-active a i:before {
    transform: scaleY(0);
    transition-delay: 0s
  }
  .l-nav__top--contactus a {
    color: #78be20
  }
  .l-nav__top--contactus a i {
    margin-top: -9px;
    width: 28px;
    height: 18px
  }
  .l-nav__top--contactus a i:after,
  .l-nav__top--contactus a i:before {
    background-image: url(../img/common/ic_mail.svg);
    background-position: 0 0;
    background-size: 28px 36px
  }
  .l-nav .c-language {
    margin: 0 10px
  }
  .l-nav .c-searchbox {
    margin-top: 27px;
    margin-right: 3px
  }
  .l-nav {
    pointer-events: none;
    visibility: hidden;
    transition-property: visibility;
    transition-duration: 0s;
    transition-delay: 0.25s
  }
  .l-nav__outer {
    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.25s
  }
  .l-nav__menu {
    opacity: 0;
    transform: translateY(15px);
    transition-property: opacity, transform;
    transition-duration: 0.25s;
    transition-delay: 0.25s
  }
  .l-nav .c-language,
  .l-nav .c-searchbox {
    opacity: 0;
    transform: translateY(15px);
    transition-property: opacity, transform;
    transition-duration: 0.25s;
    transition-delay: 0.25s
  }
  .is-open .l-nav {
    pointer-events: auto;
    visibility: visible;
    transition-duration: 0s;
    transition-delay: 0s
  }
  .is-open .l-nav__outer {
    opacity: 1
  }
  .is-open .l-nav__menu {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.5s;
    transition-delay: 0.25s
  }
  .is-open .l-nav .c-language,
  .is-open .l-nav .c-searchbox {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.5s;
    transition-delay: 0.15s
  }
}

.l-breadcrumb__outer {
  margin: 0 64px
}

.l-breadcrumb__inner {
  margin: auto;
  padding: 40px 0 0;
  max-width: 1120px
}

.l-breadcrumb__inner li {
  display: inline-block;
  font-size: 11px;
  vertical-align: middle;
  line-height: 1em
}

.l-breadcrumb__inner li:first-child {
  margin-right: 8px
}

.l-breadcrumb__inner li:first-child a {
  display: block;
  width: 17px;
  height: 17px;
  font-size: 0;
  text-indent: 100%;
  white-space: normal;
  background-image: url(../img/common/ic_home.svg);
  background-repeat: no-repeat;
  background-size: 17px;
  overflow: hidden
}

.l-breadcrumb__inner li:last-child {
  pointer-events: none
}

.l-breadcrumb__inner li:nth-child(n+2):before {
  display: inline-block;
  margin: 0 0.65em;
  content: "/";
  color: #78be20
}

.l-breadcrumb__inner li a {
  display: inline
}

.l-breadcrumb__inner li br {
  display: none
}

@media only screen and (max-width:768px) {
  .l-breadcrumb__outer {
    margin: 0
  }
  .l-breadcrumb__inner {
    padding: 0;
    max-width: initial;
    overflow-y: auto;
    -ms-overflow-style: none;
    scrollbar-width: none
  }
  .l-breadcrumb__inner::-webkit-scrollbar {
    display: none
  }
  .l-breadcrumb__inner ul {
    white-space: nowrap
  }
  .l-breadcrumb__inner li {
    font-size: 10px
  }
  .l-breadcrumb__inner li:first-child {
    margin-left: 24px;
    margin-right: 6px
  }
  .l-breadcrumb__inner li:first-child a {
    width: 16px;
    height: 16px;
    background-size: 16px
  }
  .l-breadcrumb__inner li:last-child {
    margin-right: 24px
  }
}

.l-notices {
  position: sticky;
  bottom: 0;
  margin-top: 190px;
  padding: 10px 0 0 10px;
  pointer-events: none;
  overflow: hidden;
  z-index: 3
}

.l-notices__inner {
  display: flex;
  position: relative;
  margin-left: auto;
  width: 736px;
  background-color: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  pointer-events: auto;
  overflow: hidden;
  z-index: 1
}

.l-notices__control {
  width: 64px;
  background-color: #f2f2f2
}

.l-notices__attention {
  position: relative;
  width: 64px;
  height: 64px;
  background-color: #da1884;
  z-index: 1
}

.l-notices__attention:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -12px 0 0 -12px;
  width: 24px;
  height: 24px;
  background-image: url(../img/common/ic_attention.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 24px;
  z-index: 1;
  animation-name: attention;
  animation-duration: 1s;
  animation-iteration-count: infinite
}

.l-notices__main {
  margin: 32px 76px 0 32px;
  width: calc(100% - 64px - 64px)
}

.l-notices__close {
  width: 64px
}

.l-notices__inner {
  transition-property: height, transform;
  transition-duration: 0.35s, 0.45s;
  transition-delay: 0s, 0.35s;
  transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
}

.l-notices.is-hide .l-notices__inner {
  height: 64px;
  transform: translateX(672px);
  transition-delay: 0.45s, 0s
}

@media only screen and (min-width:769px) {
  .l-notices.is-hide .l-notices__attention {
    cursor: pointer;
    transition-property: background-color;
    transition-duration: 0.5s
  }
  .l-notices.is-hide .l-notices__attention:hover {
    background-color: #bc0966;
    transition-duration: 0.25s
  }
}

@media only screen and (max-width:768px) {
  .l-notices {
    margin-top: 90px
  }
  .l-notices__inner {
    margin: 0 0 0 13px;
    width: auto
  }
  .l-notices__control {
    width: 48px
  }
  .l-notices__attention {
    width: 48px;
    height: 48px;
    background-size: 18px
  }
  .l-notices__main {
    margin: 16px 16px 0 16px;
    width: calc(100% - 48px - 48px)
  }
  .l-notices__close {
    width: 48px
  }
  .l-notices.is-hide .l-notices__inner {
    height: 48px;
    transform: translateX(calc(100% - 48px))
  }
}

@keyframes attention {
  30% {
    opacity: 0.5
  }
}

.l-conversion {
  margin-top: 100px
}

.l-conversion__list {
  display: flex
}

.l-conversion__item {
  width: 50%
}

.l-conversion__item .l-conversion__labeltext {
  padding: 0 106px 0 56px;
  max-width: 615px
}

.l-conversion__item:first-child .l-conversion__labeltext {
  margin-left: auto
}

.l-conversion__item:last-child .l-conversion__labeltext {
  margin-right: auto
}

.l-conversion__labeltext {
  display: block;
  position: relative;
  width: 100%;
  z-index: 1
}

.l-conversion__labeltext .c-button__label {
  padding: 0
}

.l-conversion .c-button {
  height: 208px;
  color: #fff
}

.l-conversion .c-button:before {
  background-color: #00a9e0
}

.l-conversion .c-button:after {
  background-color: #fff
}

.l-conversion .c-button__label {
  font-size: 16px;
  font-weight: 400
}

.l-conversion .c-button__label em {
  display: block;
  margin-bottom: 14px;
  font-size: 24px;
  font-weight: 700;
  font-style: normal
}

.l-conversion .c-button .c-direction__icon {
  right: 56px
}

[target=_blank] .l-conversion .c-button .c-direction__icon:after,
[target=_blank] .l-conversion .c-button .c-direction__icon:before {
  background-position: 0 -16px !important
}

.l-conversion a[target=_blank] .c-direction__icon:after,
.l-conversion a[target=_blank] .c-direction__icon:before {
  background-position: 0 -16px !important
}

.l-conversion a[target=_blank] .c-direction__icon:after {
  background-position: 0 0 !important
}

.l-conversion a[href$=".doc"] .c-direction__icon:after,
.l-conversion a[href$=".doc"] .c-direction__icon:before,
.l-conversion a[href$=".docx"] .c-direction__icon:after,
.l-conversion a[href$=".docx"] .c-direction__icon:before,
.l-conversion a[href$=".pdf"] .c-direction__icon:after,
.l-conversion a[href$=".pdf"] .c-direction__icon:before,
.l-conversion a[href$=".ppt"] .c-direction__icon:after,
.l-conversion a[href$=".ppt"] .c-direction__icon:before,
.l-conversion a[href$=".pptx"] .c-direction__icon:after,
.l-conversion a[href$=".pptx"] .c-direction__icon:before,
.l-conversion a[href$=".xls"] .c-direction__icon:after,
.l-conversion a[href$=".xls"] .c-direction__icon:before,
.l-conversion a[href$=".xlsx"] .c-direction__icon:after,
.l-conversion a[href$=".xlsx"] .c-direction__icon:before,
.l-conversion a[href$=".zip"] .c-direction__icon:after,
.l-conversion a[href$=".zip"] .c-direction__icon:before {
  background-position: 0 -18px !important
}

.l-conversion a[href$=".doc"] .c-direction__icon:after,
.l-conversion a[href$=".docx"] .c-direction__icon:after,
.l-conversion a[href$=".pdf"] .c-direction__icon:after,
.l-conversion a[href$=".ppt"] .c-direction__icon:after,
.l-conversion a[href$=".pptx"] .c-direction__icon:after,
.l-conversion a[href$=".xls"] .c-direction__icon:after,
.l-conversion a[href$=".xlsx"] .c-direction__icon:after,
.l-conversion a[href$=".zip"] .c-direction__icon:after {
  background-position: 0 0 !important
}

.l-notices+.l-conversion {
  margin-top: 0
}

@media only screen and (min-width:769px) {
  .l-conversion .c-button:hover {
    color: #2d2d2d
  }
}

@media only screen and (max-width:768px) {
  .l-conversion {
    margin-top: 100px
  }
  .l-conversion__list {
    display: block
  }
  .l-conversion__item {
    width: auto
  }
  .l-conversion__item:last-child {
    border-top: 1px solid #fff
  }
  .l-conversion__item .l-conversion__labeltext {
    margin: 0;
    padding: 0;
    max-width: initial
  }
  .l-conversion__labeltext {
    margin: 0;
    padding: 0;
    max-width: initial;
    width: 100%
  }
  .l-conversion .c-button {
    height: 156px
  }
  .l-conversion .c-button__label {
    display: block;
    padding: 0 100px 0 23px;
    font-size: 12px;
    line-height: 20px
  }
  .l-conversion .c-button__label em {
    margin-bottom: 6px;
    font-size: 20px
  }
  .l-conversion .c-button .c-direction__icon {
    right: 23px
  }
  .l-conversion a[href$=".doc"] .c-direction__icon:after,
  .l-conversion a[href$=".doc"] .c-direction__icon:before,
  .l-conversion a[href$=".docx"] .c-direction__icon:after,
  .l-conversion a[href$=".docx"] .c-direction__icon:before,
  .l-conversion a[href$=".pdf"] .c-direction__icon:after,
  .l-conversion a[href$=".pdf"] .c-direction__icon:before,
  .l-conversion a[href$=".ppt"] .c-direction__icon:after,
  .l-conversion a[href$=".ppt"] .c-direction__icon:before,
  .l-conversion a[href$=".pptx"] .c-direction__icon:after,
  .l-conversion a[href$=".pptx"] .c-direction__icon:before,
  .l-conversion a[href$=".xls"] .c-direction__icon:after,
  .l-conversion a[href$=".xls"] .c-direction__icon:before,
  .l-conversion a[href$=".xlsx"] .c-direction__icon:after,
  .l-conversion a[href$=".xlsx"] .c-direction__icon:before,
  .l-conversion a[href$=".zip"] .c-direction__icon:after,
  .l-conversion a[href$=".zip"] .c-direction__icon:before {
    background-position: 0 -16px !important
  }
  .l-conversion a[href$=".doc"] .c-direction__icon:after,
  .l-conversion a[href$=".docx"] .c-direction__icon:after,
  .l-conversion a[href$=".pdf"] .c-direction__icon:after,
  .l-conversion a[href$=".ppt"] .c-direction__icon:after,
  .l-conversion a[href$=".pptx"] .c-direction__icon:after,
  .l-conversion a[href$=".xls"] .c-direction__icon:after,
  .l-conversion a[href$=".xlsx"] .c-direction__icon:after,
  .l-conversion a[href$=".zip"] .c-direction__icon:after {
    background-position: 0 0 !important
  }
}

.l-sidemenu {
  margin-top: 100px
}

.l-sidemenu__outer {
  margin: 0 64px
}

.l-sidemenu__inner {
  margin: auto;
  max-width: 1120px
}

.l-sidemenu__inner ul {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px
}

.l-sidemenu__inner li {
  margin-left: 32px;
  width: calc(50% - 32px)
}

.l-sidemenu+.l-sidemenu {
  margin-top: 80px
}

.l-sidemenu--button .l-sidemenu__inner li {
  margin-top: 32px
}

@media only screen and (min-width:769px) {
  .l-sidemenu--button .l-sidemenu__inner li:nth-child(-n+2) {
    margin-top: 0
  }
}

@media only screen and (max-width:768px) {
  .l-sidemenu {
    margin-top: 80px
  }
  .l-sidemenu__outer {
    margin: 0 24px
  }
  .l-sidemenu__inner {
    max-width: initial
  }
  .l-sidemenu__inner ul {
    display: block;
    margin-left: 0
  }
  .l-sidemenu__inner li {
    margin-left: 0;
    width: auto
  }
  .l-sidemenu+.l-sidemenu {
    margin-top: 80px
  }
  .l-sidemenu--button .l-sidemenu__inner li {
    margin-top: 16px
  }
  .l-sidemenu--button .l-sidemenu__inner li:first-child {
    margin-top: 0
  }
}

.l-container {
  position: relative;
  overflow: hidden;
  z-index: 2
}

.l-container__outer {
  margin: 0 64px
}

.l-container__inner {
  margin: auto;
  max-width: 1120px
}

.l-container__copy {
  margin-top: 130px
}

.l-container__copy p {
  font-size: 24px;
  font-weight: 700;
  text-align: justify;
  line-height: 44px
}

.l-container__section {
  margin-top: 200px
}

@media only screen and (max-width:768px) {
  .l-container__outer {
    margin: 0 24px
  }
  .l-container__inner {
    max-width: initial
  }
  .l-container__copy {
    margin-top: 70px
  }
  .l-container__copy p {
    font-size: 18px;
    line-height: 32px
  }
  .l-container__section {
    margin-top: 90px
  }
}

.l-related {
  margin-top: 200px
}

.l-related__inner {
  margin: 0 64px
}

.l-related__column {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  max-width: 1120px;
  height: 208px
}

.l-related__col {
  position: relative;
  text-align: justify;
  z-index: 1
}

.l-related__col:first-child {
  margin-left: 56px;
  padding-right: 48px;
  font-size: 32px;
  font-weight: 700;
  white-space: nowrap;
  line-height: 36px;
  order: 2
}

.l-related__col:last-child {
  font-size: 18px;
  font-weight: 500;
  line-height: 36px;
  order: 1
}

.l-related__icon {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  overflow: hidden;
  z-index: 1
}

.l-related__icon:after,
.l-related__icon:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../img/common/ic_direction.svg);
  background-repeat: no-repeat;
  background-size: 64px 64px;
  z-index: 1
}

.l-related__icon:after {
  background-position: 0 -16px;
  opacity: 0
}

.l-related a {
  display: block;
  position: relative;
  color: #fff;
  background-color: #00a9e0;
  z-index: 1
}

.l-related a:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: -1;
  transform: scaleX(0);
  transform-origin: right
}

.l-related a[target=_blank] .c-direction__icon:after,
.l-related a[target=_blank] .c-direction__icon:before {
  background-position: 0 -16px !important
}

.l-related a[target=_blank] .c-direction__icon:after {
  background-position: 0 0 !important
}

@media only screen and (min-width:769px) {
  .l-related__icon {
    will-change: opacity, transform
  }
  .l-related__icon:after,
  .l-related__icon:before {
    transition-property: opacity;
    transition-duration: 0.5s
  }
  .l-related a {
    transition-property: color;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .l-related a:before {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .l-related a:hover {
    color: #000;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .l-related a:hover:before {
    transform: scaleX(1);
    transform-origin: left;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .l-related a:hover .l-related__icon:after,
  .l-related a:hover .l-related__icon:before {
    opacity: 1;
    transition-duration: 0.2s;
    animation-name: direction;
    animation-duration: 0.5s
  }
}

@media only screen and (max-width:768px) {
  .l-related {
    margin-top: 100px
  }
  .l-related__inner {
    margin: 0 20px
  }
  .l-related__column {
    display: block;
    position: relative;
    padding: 65px 0;
    max-width: initial;
    height: auto;
    z-index: 1
  }
  .l-related__col {
    position: static
  }
  .l-related__col:first-child {
    margin-left: 0;
    padding-right: 60px;
    font-size: 20px;
    line-height: 26.5px
  }
  .l-related__col:last-child {
    margin-top: 0;
    padding-right: 30px;
    font-size: 13.5px;
    letter-spacing: -0.02em;
    line-height: 23px
  }
  .l-related__icon {
    margin-top: -6px;
    width: 12px;
    height: 12px
  }
  .l-related__icon:after,
  .l-related__icon:before {
    background-size: 48px 48px
  }
}

.l-topnews {
  position: relative;
  margin-top: 100px;
  z-index: 2
}

.l-topnews:after,
.l-topnews:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: -50vw;
  right: -50vw;
  bottom: -250px;
  background-color: #fff;
  z-index: -1
}

.l-topnews:after {
  top: 0px;
  height: 200px;
  bottom: auto
}

.l-topnews__tab {
  margin-top: 72px
}

.l-topnews__content {
  position: relative;
  z-index: 1
}

.l-topnews__content .p-swiper {
  height: 0;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden
}

.l-topnews__content .p-swiper.is-active {
  height: auto;
  pointer-events: auto;
  visibility: visible;
  overflow: visible
}

.l-topnews__content .p-swiper__button {
  position: static
}

.l-topnews__content .p-swiper__button--next {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  bottom: auto;
  z-index: 1
}

.l-topnews__content .p-swiper__slider {
  margin-top: 32px
}

.l-topnews__content .p-swiper__item {
  width: 320px !important
}

.l-topnews__column {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-top: 40px
}

.l-topnews__col:first-child p {
  padding-right: 32px;
  font-size: 16px;
  text-align: right;
  line-height: 32px
}

.l-topnews__col:last-child {
  width: 418px
}

@media only screen and (max-width:768px) {
  .l-topnews {
    margin-top: 150px
  }
  .l-topnews:after {
    top: 0px;
    height: 100px
  }
  .l-topnews__tab {
    margin-top: 52px;
    margin-right: -24px
  }
  .l-topnews__content .p-swiper__button {
    display: none
  }
  .l-topnews__content .p-swiper__slider {
    margin-top: 40px
  }
  .l-topnews__content .p-swiper__item {
    width: 240px !important
  }
  .l-topnews__column {
    display: block;
    margin-top: 28px
  }
  .l-topnews__col:first-child p {
    padding-right: 0;
    font-size: 12px;
    text-align: justify;
    line-height: 18px
  }
  .l-topnews__col:last-child {
    margin-top: 12px;
    width: auto
  }
}

.l-toppickup {
  position: relative;
  margin-top: 100px;
  z-index: 2
}

.l-toppickup__content {
  position: relative;
  margin: 110px 0 288px;
  z-index: 1;
  -ms-user-select: none;
  -moz-user-select: -moz- none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none
}

.l-toppickup__content:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  width: 100vw;
  background-color: #fff;
  z-index: 2
}

.l-toppickup__content .p-swiper {
  position: static
}

.l-toppickup__content .p-swiper__item {
  width: 256px !important
}

.l-toppickup__content .p-swiper__button {
  position: absolute;
  top: -96.6px;
  left: 0;
  right: auto
}

.l-toppickup__content .p-swiper__button--next {
  position: absolute;
  top: -96.6px;
  left: auto;
  right: 0;
  bottom: auto;
  z-index: 1
}

.l-toppickup .c-pagetitle {
  position: relative;
  z-index: 2
}

@media only screen and (max-width:768px) {
  .l-toppickup {
    margin-top: 100px
  }
  .l-toppickup__content {
    margin: 24px 0 0
  }
  .l-toppickup__content:before {
    display: none
  }
  .l-toppickup__content .p-swiper__item {
    width: 241px !important
  }
  .l-toppickup__content .p-swiper__button {
    display: none
  }
}

.l-openinnovation {
  margin-top: -200px
}

@media only screen and (max-width:768px) {
  .l-openinnovation {
    margin-top: 46px
  }
}

.l-openinnovation__title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1em
}

.l-openinnovation__content {
  margin-top: 40px
}

.l-intro {
  position: relative;
  margin-top: -136px;
  min-height: 650px;
  max-height: 100vh;
  z-index: 1
}

.l-intro__image {
  padding-bottom: 91.3118726203%;
  height: 0
}

.l-intro__image img {
  display: block;
  position: absolute;
  top: 110px;
  left: 0;
  width: 100%;
  height: auto
}

@media only screen and (max-width:768px) {
  .l-intro__image img {
    display: block;
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 100%
  }
}

.l-intro__outer {
  position: absolute;
  top: 0;
  left: 64px;
  right: 64px;
  bottom: 0;
  z-index: 1
}

.l-intro__inner {
  display: flex;
  align-items: center;
  position: relative;
  margin: auto;
  max-width: 1120px;
  width: 100%;
  height: 100%;
  z-index: 1
}

.l-intro__title {
  width: 57.1428571429%
}

.l-intro__title img {
  display: block;
  width: 100%;
  height: auto
}

.l-intro__button {
  display: flex;
  position: absolute;
  right: 0;
  bottom: 52px;
  z-index: 1
}

.l-intro__button .c-button {
  margin-left: 32px;
  width: 256px;
  height: 72px
}

.l-intro__button .c-button:before {
  background-color: rgba(255, 255, 255, 0.8)
}

.l-intro__button .c-button__label {
  padding: 0 32px 0 16px
}

.l-intro__button .c-button .c-direction__icon {
  right: 16px
}

@media only screen and (max-width:768px) {
  .l-intro {
    margin-top: -110px;
    min-height: initial
  }
  .l-intro__image {
    padding-bottom: 206.4%
  }
  .l-intro__outer {
    left: 24px;
    right: 24px
  }
  .l-intro__inner {
    max-width: initial;
    height: 87%
  }
  .l-intro__title {
    width: 195.7186544343%
  }
  .l-intro__button {
    display: block;
    bottom: 45px
  }
  .l-intro__button .c-button {
    margin: 12px 20px 0;
    width: 150px;
    height: 45px
  }
  .l-intro__button .c-button--compact {
    min-height: 45px;
  }
  .l-intro__button .c-button--compact .c-button__label {
    padding: 0 25px 0 10px;
    font-size: 10px
  }
  .l-intro__button .c-button .c-direction__icon {
    right: 20px
  }
}

.l-abouttop {
  margin-top: 130px
}

.l-abouttop__list {
  display: flex;
  position: relative;
  margin-top: 200px;
  max-width: 1280px;
  width: calc(100vw - (50vw - 50%));
  z-index: 1
}

.l-abouttop__item {
  width: 25%
}

.l-abouttop__item:nth-child(odd) {
  margin-top: 2.5%
}

.l-abouttop__item span {
  display: block;
  overflow: hidden
}

.l-abouttop__item span:last-child {
  margin-top: 22px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3em
}

.l-abouttop__panel {
  position: absolute;
  top: 0;
  left: -12.5%;
  padding-bottom: 25%;
  width: 25%;
  height: 0;
  overflow: hidden;
  z-index: -1
}

.l-abouttop__panel span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f2f2f2;
  z-index: 1
}

.l-abouttop img {
  display: block;
  width: 100%;
  height: auto
}

@media only screen and (min-width:769px) {
  .l-abouttop__item.js-indicate-start:first-child {
    transition-delay: 0.15s
  }
  .l-abouttop__item.js-indicate-start:nth-child(2) {
    transition-delay: 0.3s
  }
  .l-abouttop__item.js-indicate-start:nth-child(3) {
    transition-delay: 0.45s
  }
  .l-abouttop__item.js-indicate-start:nth-child(4) {
    transition-delay: 0.6s
  }
}

@media only screen and (max-width:768px) {
  .l-abouttop {
    margin-top: 70px
  }
  .l-abouttop__list {
    flex-wrap: wrap;
    margin: 0;
    padding-top: 60px;
    max-width: initial;
    width: auto
  }
  .l-abouttop__item {
    margin-top: 40px;
    width: 50%
  }
  .l-abouttop__item:nth-child(odd) {
    margin-top: 40px
  }
  .l-abouttop__item:nth-child(2n) {
    transition-delay: 0.1s
  }
  .l-abouttop__item span:last-child {
    margin-top: 20px;
    font-size: 12px
  }
  .l-abouttop__panel {
    display: none
  }
}

.l-abouttel__header {
  text-align: center
}

.l-abouttel__header .l-abouttel__summary,
.l-abouttel__header .l-abouttel__title {
  text-align: center
}

.l-abouttel__copy {
  color: #8031a7;
  font-size: 18px;
  font-weight: 700;
  line-height: 1em
}

.l-abouttel__title {
  margin-top: 18px;
  font-size: 48px;
  font-weight: 700;
  text-align: justify;
  line-height: 77px
}

.l-abouttel__summary {
  margin-top: 34px;
  font-size: 16px;
  text-align: justify;
  line-height: 37px
}

.l-abouttel__label {
  margin-top: 35px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 37px
}

.l-abouttel__label+.l-abouttel__summary {
  margin-top: 18px
}

.l-abouttel__button {
  margin: 80px 94px 0
}

.l-abouttel__button .c-button {
  margin-left: auto;
  min-width: 320px;
  width: 58.36%
}

.l-abouttel__section {
  padding: 100px 0
}

.l-abouttel__section--gray {
  position: relative;
  z-index: 1
}

.l-abouttel__section--gray:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  bottom: 0;
  background-color: #f2f2f2;
  pointer-events: none;
  z-index: -1
}

.l-abouttel__section--last {
  padding-bottom: 0
}

.l-abouttel__base:after,
.l-abouttel__base:before {
  display: block;
  content: "";
  position: absolute;
  left: 50%;
  margin-left: -50vw;
  width: 100vw;
  height: 100px;
  background-color: red;
  pointer-events: none;
  z-index: -1
}

.l-abouttel__base:before {
  top: 0;
  background: linear-gradient(to bottom, #fff 0%, #f2f2f2 100%)
}

.l-abouttel__base:after {
  bottom: 0;
  background: linear-gradient(to top, #fff 0%, #f2f2f2 100%)
}

.l-abouttel__column {
  display: flex;
  justify-content: space-between
}

.l-abouttel__column--header {
  align-items: flex-end;
  margin: 0 96px
}

.l-abouttel__column--header .l-abouttel__col:first-child {
  width: 54.4181034483%
}

.l-abouttel__column--header .l-abouttel__col:last-child {
  width: 37.7155172414%
}

.l-abouttel__column--product {
  margin: 80px 8px 0 25px
}

.l-abouttel__column--product .l-abouttel__col:first-child {
  width: 47.75%
}

.l-abouttel__column--product .l-abouttel__col:first-child .l-abouttel__label,
.l-abouttel__column--product .l-abouttel__col:first-child .l-abouttel__summary {
  margin-left: 13.5%;
  margin-right: 18%
}

.l-abouttel__column--product .l-abouttel__col:last-child {
  margin-top: -1.8%;
  width: 49.3%
}

.l-abouttel__column--product .l-abouttel__col:last-child .l-abouttel__label,
.l-abouttel__column--product .l-abouttel__col:last-child .l-abouttel__summary {
  margin-right: 34%
}

.l-abouttel__image img {
  display: block;
  width: 100%;
  height: auto
}

.l-abouttel__box {
  margin-top: 70px;
  padding: 64px;
  border: 1px solid #eaeaea;
  box-sizing: border-box
}

.l-abouttel__board {
  margin-top: 70px;
  padding: 64px;
  background-color: #fff
}

.l-abouttel__line {
  margin: 68px 0 0;
  height: 1px;
  background-color: #eaeaea
}

.l-abouttel__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 -30px
}

.l-abouttel__list>* {
  margin: 50px 10px 0
}

.l-abouttel__inner {
  max-width: 832px;
  padding-left: 96px
}

@media only screen and (max-width:768px) {
  .l-abouttel__copy {
    font-size: 14px;
    line-height: 1.3em
  }
  .l-abouttel__title {
    margin-top: 10px;
    font-size: 32px;
    letter-spacing: -0.03em;
    line-height: 48px
  }
  .l-abouttel__summary {
    margin-top: 32px;
    font-size: 12px;
    letter-spacing: -0.01em;
    line-height: 28px
  }
  .l-abouttel__label {
    margin-top: 27px;
    font-size: 18px;
    line-height: 28px
  }
  .l-abouttel__label+.l-abouttel__summary {
    margin-top: 16px
  }
  .l-abouttel__button {
    margin: 48px 0 0
  }
  .l-abouttel__button .c-button {
    width: auto
  }
  .l-abouttel__section {
    padding: 60px 0
  }
  .l-abouttel__section--last {
    padding-bottom: 0
  }
  .l-abouttel__base:after,
  .l-abouttel__base:before {
    height: 60px
  }
  .l-abouttel__column {
    display: block
  }
  .l-abouttel__column--header {
    margin: 0
  }
  .l-abouttel__column--header .l-abouttel__col:first-child,
  .l-abouttel__column--header .l-abouttel__col:last-child {
    width: auto
  }
  .l-abouttel__column--product {
    margin: 0
  }
  .l-abouttel__column--product .l-abouttel__col {
    margin-top: 40px
  }
  .l-abouttel__column--product .l-abouttel__col:first-child {
    width: auto
  }
  .l-abouttel__column--product .l-abouttel__col:first-child .l-abouttel__label,
  .l-abouttel__column--product .l-abouttel__col:first-child .l-abouttel__summary {
    margin-left: 0;
    margin-right: 0
  }
  .l-abouttel__column--product .l-abouttel__col:last-child {
    margin: 40px 0 0;
    width: auto
  }
  .l-abouttel__column--product .l-abouttel__col:last-child .l-abouttel__label,
  .l-abouttel__column--product .l-abouttel__col:last-child .l-abouttel__summary {
    margin-left: 0;
    margin-right: 0
  }
  .l-abouttel__box {
    margin-top: 38px;
    padding: 52px 20px
  }
  .l-abouttel__board {
    margin-top: 38px;
    padding: 52px 20px
  }
  .l-abouttel__line {
    margin: 55px 0 48px
  }
  .l-abouttel__list {
    display: block
  }
  .l-abouttel__inner {
    padding-left: 0
  }
}

@media print {
  .l-abouttel__section--gray:before {
    margin-left: -562px;
    width: 1124px
  }
  .l-abouttel__base:after,
  .l-abouttel__base:before {
    margin-left: -562px;
    width: 1124px
  }
}

.l-irtop__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start
}

.l-irtop__header>:first-child {
  width: calc(100% - 352px - 32px)
}

.l-irtop__header>:last-child {
  padding-top: 105px;
  width: 352px
}

.l-irtop__title {
  margin-top: 110px;
  font-size: 32px;
  font-weight: 700;
  line-height: normal
}

.l-irtop__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px;
  padding-top: 8px
}

.l-irtop__item {
  margin: 32px 0 0 32px;
  width: calc(25% - 32px)
}

.l-irtop__item a {
  display: block
}

.l-irtop__item span {
  display: block
}

.l-irtop__item span:first-child {
  overflow: hidden
}

.l-irtop__item span:last-child {
  margin-top: 38px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.3em
}

.l-irtop__item img {
  display: block;
  width: 100%;
  height: auto
}

.l-irtop__column {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

.l-irtop__column--col2 {
  padding-top: 62px
}

.l-irtop__column--col2 .l-irtop__col {
  margin-top: 45px;
  width: calc(50% - 48px)
}

.l-irtop__column--col3 {
  margin-left: -32px;
  padding-top: 24px
}

.l-irtop__column--col3 .l-irtop__col {
  margin-top: 32px;
  margin: 32px 0 0 32px;
  width: calc(33.33% - 32px)
}

.l-irtop__column--mulch {
  margin-top: 120px
}

.l-irtop__column--mulch .l-irtop__col:first-child {
  width: 48.5714285714%
}

.l-irtop__column--mulch .l-irtop__col:last-child {
  padding-top: 32px;
  width: 40%
}

.l-irtop__related ul {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px;
  padding: 6px 0
}

.l-irtop__related li {
  margin: 0 0 0 32px;
  padding: 13px 0;
  width: calc(50% - 32px);
  font-size: 16px;
  line-height: 23px
}

.l-irtop__related li a {
  display: inline-block
}

.l-irtop__related--wide li {
  width: calc(100% - 32px)
}

.l-irtop .l-irtop__list {
  justify-content: center
}

@media only screen and (min-width:769px) {
  .l-irtop__item.js-indicate-start:first-child {
    transition-delay: 0.15s
  }
  .l-irtop__item.js-indicate-start:nth-child(2) {
    transition-delay: 0.3s
  }
  .l-irtop__item.js-indicate-start:nth-child(3) {
    transition-delay: 0.45s
  }
  .l-irtop__item.js-indicate-start:nth-child(4) {
    transition-delay: 0.6s
  }
}

@media only screen and (max-width:768px) {
  .l-irtop__header {
    display: block
  }
  .l-irtop__header>:first-child {
    width: auto
  }
  .l-irtop__header>:last-child {
    padding-top: 50px;
    width: auto
  }
  .l-irtop__title {
    margin-top: 110px;
    font-size: 24px
  }
  .l-irtop__list {
    margin-left: 0;
    padding-top: 20px
  }
  .l-irtop__item {
    margin: 40px 0 0;
    width: 50%
  }
  .l-irtop__item span:last-child {
    margin-top: 20px;
    font-size: 12px
  }
  .l-irtop__column {
    display: block
  }
  .l-irtop__column--col2 {
    padding-top: 60px
  }
  .l-irtop__column--col2 .l-irtop__col {
    margin-top: 0;
    width: auto
  }
  .l-irtop__column--col3 {
    margin-left: 0;
    padding-top: 0
  }
  .l-irtop__column--col3 .l-irtop__col {
    margin-top: 0;
    margin: 16px 0 0;
    width: auto
  }
  .l-irtop__column--mulch {
    margin-top: 60px
  }
  .l-irtop__column--mulch .l-irtop__col:first-child {
    width: auto
  }
  .l-irtop__column--mulch .l-irtop__col:last-child {
    padding-top: 60px;
    width: auto
  }
  .l-irtop__related ul {
    margin-left: -20px;
    padding: 18px 0
  }
  .l-irtop__related li {
    margin: 0 0 0 20px;
    padding: 9px 0;
    width: calc(50% - 20px);
    font-size: 12px;
    line-height: 18px
  }
  .l-irtop__related--wide li {
    width: 100%
  }
  .l-irtop .l-irtop__list {
    justify-content: flex-start
  }
}

.l-rdtop__column {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 200px;
  max-width: 1280px
}

.l-rdtop__col:first-child {
  width: 46.4285714286%
}

.l-rdtop__col:last-child {
  width: 48.75%
}

.l-rdtop__worldwide {
  margin-top: 180px
}

.l-rdtop__image {
  overflow: hidden
}

.l-rdtop__image span {
  display: block;
  overflow: hidden
}

.l-rdtop__base {
  margin-top: 80px
}

.l-rdtop__detail {
  display: flex;
  justify-content: flex-end;
  margin-top: 42px
}

.l-rdtop__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px;
  padding-top: 50px
}

.l-rdtop__item {
  display: flex;
  flex-direction: column;
  margin: 32px 0 0 32px;
  width: calc(33.33% - 32px)
}

.l-rdtop__subject {
  margin-top: 24px;
  font-size: 18px;
  font-weight: 700;
  line-height: 36px
}

.l-rdtop__summary {
  margin: 9px 0 33px;
  font-size: 16px;
  text-align: justify;
  line-height: 30px
}

.l-rdtop__summary.is-left {
  text-align: left
}

.l-rdtop__more {
  margin-top: auto
}

.l-rdtop img {
  display: block;
  width: 100%;
  height: auto
}

.l-rdtop .c-paragraph {
  margin-top: 55px
}

@media only screen and (max-width:768px) {
  .l-rdtop {}
  .l-rdtop__column {
    display: block;
    margin-top: 120px;
    max-width: initial
  }
  .l-rdtop__col:first-child,
  .l-rdtop__col:last-child {
    width: auto
  }
  .l-rdtop__col:last-child {
    margin-top: 43px
  }
  .l-rdtop__worldwide {
    margin-top: 90px
  }
  .l-rdtop__base {
    margin-top: 43px
  }
  .l-rdtop__detail {
    margin-top: 28px
  }
  .l-rdtop__list {
    display: block;
    margin: -22px 0 0;
    padding-top: 0
  }
  .l-rdtop__item {
    display: block;
    margin: 72px 0 0;
    width: auto
  }
  .l-rdtop__item .l-rdtop__image {
    margin: 0 65px
  }
  .l-rdtop__subject {
    margin-top: 20px;
    font-size: 16px;
    line-height: 29.5px
  }
  .l-rdtop__summary {
    margin: 2px 0 0;
    font-size: 12px;
    line-height: 21px
  }
  .l-rdtop__more {
    margin-top: 27px
  }
  .l-rdtop .c-paragraph {
    margin-top: 32px
  }
}

.l-servicetop {
  margin-top: 144px
}

.l-servicetop__column {
  display: flex;
  justify-content: space-between
}

.l-servicetop__col:first-child {
  width: 48.5714285714%;
  order: 2
}

.l-servicetop__col:last-child {
  width: 41.0714285714%;
  order: 1
}

.l-servicetop__image img {
  display: block;
  width: 100%;
  height: auto
}

.l-servicetop__title {
  font-family: Arial, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: normal
}

.l-servicetop__summary {
  margin-top: 44px;
  font-size: 16px;
  text-align: justify;
  line-height: 37px
}

.l-servicetop__summary sup {
  display: inline-block;
  margin-top: -0.25em;
  font-size: 0.5em;
  vertical-align: middle
}

.l-servicetop__summary small {
  display: block;
  margin-top: 1.5em;
  padding-left: 1em;
  font-size: 13px;
  text-indent: -1em;
  line-height: 1.5em
}

.l-servicetop__related {
  margin-top: 126px
}

@media only screen and (max-width:768px) {
  .l-servicetop {
    margin-top: 72px
  }
  .l-servicetop__column {
    display: block
  }
  .l-servicetop__col:first-child,
  .l-servicetop__col:last-child {
    width: auto
  }
  .l-servicetop__col:last-child {
    margin-top: 38px
  }
  .l-servicetop__title {
    font-size: 24px
  }
  .l-servicetop__summary {
    margin-top: 17px;
    font-size: 12px;
    line-height: 28px
  }
  .l-servicetop__summary small {
    font-size: 10px
  }
  .l-servicetop__related {
    margin-top: 48px
  }
}

.l-producttop {
  position: relative;
  z-index: 1
}

.l-producttop__copy {
  margin-top: 80px;
  font-size: 24px;
  font-weight: 700;
  text-align: justify;
  line-height: 44px
}

.l-producttop__index {}

.l-producttop__article {
  margin-top: -80px;
  padding-top: 200px
}

.l-producttop__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px;
  padding-top: 24px
}

.l-producttop__item {
  margin: 40px 0 0 32px;
  width: calc(33.33% - 32px)
}

.l-producttop__header {
  display: flex;
  align-items: center;
  position: relative;
  margin-top: 70px;
  padding: 10px 26px 10px 0;
  min-height: 104px;
  border-top: 1px solid #00a9e0;
  cursor: pointer;
  z-index: 1
}

.l-producttop__header i {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  z-index: 1;
  transition-property: transform;
  transition-duration: 0.25s;
  transition-delay: 0s
}

.l-producttop__header i:after,
.l-producttop__header i:before {
  display: block;
  content: "";
  position: absolute;
  background-color: #00a9e0;
  z-index: 1
}

.l-producttop__header i:before {
  top: 50%;
  left: 0;
  right: 0;
  margin-top: -1.5px;
  height: 3px
}

.l-producttop__header i:after {
  top: 0;
  left: 50%;
  bottom: 0;
  margin-left: -1.5px;
  width: 3px;
  transition-property: transform;
  transition-duration: 0.25s;
  transition-delay: 0.25s
}

.l-producttop__header.is-active i {
  transform: rotate(180deg);
  transition-delay: 0.25s
}

.l-producttop__header.is-active i:after {
  transform: scaleY(0);
  transition-delay: 0s
}

.l-producttop__other {
  border-bottom: 1px solid #00a9e0
}

.l-producttop__other .l-producttop__list {
  margin: 0 96px 0 40px;
  padding-top: 0;
  padding-bottom: 74px
}

.l-producttop__other .l-producttop__item {
  margin: 40px 0 0 56px;
  width: calc(25% - 56px)
}

.l-producttop__content {
  margin-top: -37px;
  padding-top: 117px
}

.l-producttop__label {
  color: #78be20;
  font-size: 32px;
  font-weight: 700;
  line-height: normal
}

.l-producttop__label br {
  display: none
}

.l-producttop__pageup {
  display: flex;
  justify-content: flex-end;
  margin-top: 40px
}

.l-producttop .p-localnav {
  margin-top: -40px;
  padding-top: 120px
}

.l-producttop .c-heading br {
  display: none
}

.l-producttop .c-paragraph {
  margin-top: 39px
}

@media only screen and (min-width:769px) {
  .l-producttop__header {
    transition-property: color;
    transition-duration: 0.5s
  }
  .l-producttop__header:hover {
    color: #00a9e0;
    transition-duration: 0s
  }
  .l-producttop__nav {
    display: none;
    position: absolute;
    top: 128px;
    margin-left: -12.6785714286vw;
    width: 12.6785714286vw;
    z-index: 5
  }
  .l-producttop__nav.is-start {
    position: fixed
  }
  .l-producttop__nav.is-end {
    position: absolute;
    top: auto;
    bottom: 0
  }
  .l-producttop__nav dl {
    margin-top: 0px;
    margin-right: 20px
  }
  .l-producttop__nav dt {
    margin-top: 43px;
    font-size: 14px;
    font-weight: 700;
    line-height: 18px
  }
  .l-producttop__nav li {
    margin-top: 19px
  }
  .l-producttop__nav li a {
    color: #a7a8aa;
    font-size: 14px;
    font-weight: 700;
    line-height: 19px;
    transition-property: color;
    transition-duration: 0.5s
  }
  .l-producttop__nav li a:hover {
    color: #78be20;
    transition-duration: 0s
  }
  .l-producttop__nav li.is-active a {
    color: #78be20
  }
}

@media only screen and (min-width:1120px) {
  .l-producttop__index {
    position: relative;
    z-index: 1
  }
  .l-producttop__index--sidenav {
    margin-left: 8.5714285714vw
  }
  .l-producttop__nav {
    display: block;
    position: absolute;
    top: 128px;
    margin-left: -12.6785714286vw;
    width: 12.6785714286vw;
    z-index: 5
  }
  .l-producttop__nav.is-start {
    position: fixed
  }
  .l-producttop__nav.is-end {
    position: absolute;
    top: auto;
    bottom: 0
  }
  .l-producttop__nav.is-sp {
    display: none
  }
  .l-producttop__nav dl {
    margin-top: 0px;
    margin-right: 20px
  }
  .l-producttop__nav dt {
    margin-top: 43px;
    font-size: 14px;
    font-weight: 700;
    line-height: 18px
  }
  .l-producttop__nav li {
    margin-top: 19px
  }
  .l-producttop__nav li a {
    color: #a7a8aa;
    font-size: 14px;
    font-weight: 700;
    line-height: 19px;
    transition-property: color;
    transition-duration: 0.5s
  }
  .l-producttop__nav li a:hover {
    color: #78be20;
    transition-duration: 0s
  }
  .l-producttop__nav li.is-active a {
    color: #78be20
  }
  .l-producttop__pageup {
    display: none
  }
}

@media only screen and (max-width:768px) {
  .l-producttop__copy {
    margin-top: 75px;
    font-size: 18px;
    line-height: 33px
  }
  .l-producttop__index--sidenav {
    margin-left: 0
  }
  .l-producttop__article {
    margin-top: -50px;
    padding-top: 120px
  }
  .l-producttop__list {
    display: block;
    margin-left: 0;
    padding-top: 16px
  }
  .l-producttop__item {
    margin: 20px 0 0;
    width: auto
  }
  .l-producttop__header {
    margin-top: 48px;
    padding-right: 22px;
    min-height: 84px
  }
  .l-producttop__header i {
    margin-top: -6px;
    width: 12px;
    height: 12px
  }
  .l-producttop__header i:before {
    margin-top: -1px;
    height: 2px
  }
  .l-producttop__header i:after {
    margin-left: -1px;
    width: 2px
  }
  .l-producttop__other .l-producttop__list {
    display: flex;
    margin: 0 0 0 -23px;
    padding-top: 0;
    padding-bottom: 32px
  }
  .l-producttop__other .l-producttop__item {
    margin: 28px 0 0 23px;
    width: calc(50% - 23px)
  }
  .l-producttop__nav {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 5;
    transform: translateY(100%);
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .l-producttop__nav.is-active {
    transform: translateY(0);
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .l-producttop__nav dl {
    display: flex;
    align-items: flex-end;
    margin-left: 0px;
    padding-right: 72px;
    padding-right: 24px;
    white-space: nowrap
  }
  .l-producttop__nav dt {
    padding-left: 40px;
    padding-bottom: 2px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1em
  }
  .l-producttop__nav dt br {
    display: none
  }
  .l-producttop__nav dd ul {
    padding-left: 40px;
    padding-right: 0
  }
  .l-producttop__nav ul {
    display: flex;
    padding: 28px 72px 0 24px;
    padding: 28px 24px 0;
    white-space: nowrap
  }
  .l-producttop__nav li {
    display: block;
    margin-left: 40px
  }
  .l-producttop__nav li:first-child {
    margin-left: 0
  }
  .l-producttop__nav li a {
    display: block;
    color: #a7a8aa;
    font-size: 16px;
    font-weight: 700;
    line-height: 1em
  }
  .l-producttop__nav li.is-active a {
    color: #78be20
  }
  .l-producttop__content {
    margin-top: -20px;
    padding-top: 100px
  }
  .l-producttop__label {
    font-size: 24px
  }
  .l-producttop__pageup {
    display: none;
    margin-top: 28px
  }
  .l-producttop .p-localnav {
    margin-top: -50px;
    padding-top: 125px
  }
  .l-producttop .c-paragraph {
    margin-top: 32px
  }
}

.l-semiconductor__header {
  display: flex;
  align-items: center;
  position: relative;
  margin-top: 68px;
  height: 440px;
  z-index: 1
}

.l-semiconductor__header:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin-left: calc(-50vw + 50%);
  width: 100vw;
  background-image: url(../img/aboutsemiconductor/header_image_pc.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1
}

.l-semiconductor__header span {
  display: block;
  max-width: 448px
}

.l-semiconductor__index {
  position: relative;
  margin-top: 144px;
  z-index: 2
}

.l-semiconductor__index ul {
  display: flex;
  flex-wrap: wrap
}

.l-semiconductor__index li {
  margin-left: 32px;
  width: calc(33.33% - 32px)
}

.l-semiconductor__index .c-button--dynamic .c-button__label {
  padding-right: 45px;
  font-size: 18px;
  line-height: 27px
}

.l-semiconductor__index .c-button--dynamic .c-button__label br {
  display: none
}

.l-semiconductor__more {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 64px
}

.l-semiconductor__more p {
  margin-right: 32px;
  font-size: 16px;
  line-height: 32px
}

.l-semiconductor__button {
  width: 416px
}

.l-semiconductor__learning {
  position: relative;
  z-index: 1
}

.l-semiconductor__section {
  margin: 0 96px;
  margin-top: 232px
}

.l-semiconductor__nav {
  display: none
}

.l-semiconductor img {
  display: block;
  width: 100%;
  height: auto
}

@media only screen and (min-width:1120px) {
  .l-semiconductor__nav {
    display: block;
    position: absolute;
    top: 128px;
    top: 115px;
    top: -20px;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: 5
  }
  .l-semiconductor__nav.is-start {
    position: fixed;
    top: 115px
  }
  .l-semiconductor__nav.is-end {
    position: absolute;
    top: auto;
    bottom: 0
  }
  .l-semiconductor__nav ul {
    margin-left: 32px;
    padding: 13px 0 32px
  }
  .l-semiconductor__nav li {
    margin-top: 19px
  }
  .l-semiconductor__nav li a {
    color: #a7a8aa;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8em;
    transition-property: color;
    transition-duration: 0.5s
  }
  .l-semiconductor__nav li a:hover {
    color: #78be20;
    transition-duration: 0s
  }
  .l-semiconductor__nav li.is-active a {
    color: #78be20
  }
}

@media only screen and (max-width:768px) {
  .l-semiconductor__header {
    margin-top: 32px;
    height: 259px
  }
  .l-semiconductor__header:before {
    margin-left: -24px;
    background-image: url(../img/aboutsemiconductor/header_image_sp.jpg)
  }
  .l-semiconductor__header span {
    max-width: 224px
  }
  .l-semiconductor__index {
    margin-top: 60px
  }
  .l-semiconductor__index ul {
    display: block
  }
  .l-semiconductor__index li {
    margin-left: 0;
    width: auto
  }
  .l-semiconductor__index .c-button--dynamic .c-button__label {
    padding-right: 20px;
    font-size: 12px;
    line-height: 18px
  }
  .l-semiconductor__more {
    display: block;
    margin: 54px 0 0
  }
  .l-semiconductor__more p {
    margin: 0 0 11px;
    font-size: 12px;
    line-height: 24px
  }
  .l-semiconductor__button {
    width: auto
  }
  .l-semiconductor__section {
    margin: auto;
    margin-top: 120px
  }
  .l-semiconductor__nav {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    z-index: 5;
    transform: translateY(100%);
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .l-semiconductor__nav.is-active {
    transform: translateY(0);
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .l-semiconductor__nav ul {
    display: flex;
    padding: 28px 72px 0 24px;
    padding: 28px 24px 0;
    white-space: nowrap
  }
  .l-semiconductor__nav li {
    display: block;
    margin-left: 40px
  }
  .l-semiconductor__nav li:first-child {
    margin-left: 0
  }
  .l-semiconductor__nav li a {
    display: block;
    color: #a7a8aa;
    font-size: 16px;
    font-weight: 700;
    line-height: 24px
  }
  .l-semiconductor__nav li.is-active a {
    color: #78be20
  }
}

@media print {
  .l-semiconductor__header:before {
    margin-left: calc(-50vw + 50%);
    margin-left: calc(-562px + 50%);
    width: 1124px
  }
}

@media only screen and (min-width:1120px) {
  .c-language {
    position: relative;
    width: 24px;
    height: 24px;
    cursor: pointer;
    z-index: 1
  }
  .c-language__icon {
    position: relative;
    height: 24px;
    z-index: 1
  }
  .c-language__icon:after,
  .c-language__icon:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url(../img/common/language_icon.svg);
    background-repeat: no-repeat;
    background-size: 48px 24px;
    z-index: 1
  }
  .c-language__icon:before {
    background-position: 0 0
  }
  .c-language__icon:after {
    background-position: -24px 0;
    opacity: 0
  }
  .c-language__menu {
    position: absolute;
    top: 19px;
    left: 50%;
    margin-left: -84px;
    width: 168px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: 2
  }
  .c-language__menu ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 40px 0
  }
  .c-language__menu li {
    margin: 13px 0
  }
  .c-language__menu li:first-child {
    order: 2
  }
  .c-language__menu li:last-child {
    order: 1
  }
  .c-language__menu li:last-child a {
    font-size: 16px
  }
  .c-language__menu li.is-active a {
    color: #b7b7b7
  }
  .c-language__menu a {
    color: #2d2d2d;
    font-size: 14px;
    font-weight: 700;
    transition-property: color;
    transition-duration: 0.5s
  }
  .c-language__menu a:hover {
    color: #00a9e0;
    transition-duration: 0s
  }
  .c-language__label {
    margin-top: 5px
  }
  .c-language__label a {
    font-family: Arial, sans-serif;
    font-size: 13px;
    display: flex;
    align-items: center
  }
  .c-language--v2 {
    width: auto;
    height: auto
  }
  .c-language--v2 .c-language__icon {
    width: 16px;
    height: 16px;
    margin-top: -2px;
    margin-left: 8px;
    display: block
  }
  .c-language--v2 .c-language__icon:after,
  .c-language--v2 .c-language__icon:before {
    background-size: 32px 16px
  }
  .c-language--v2 .c-language__icon:after {
    background-position: -16px 0
  }
  .c-language__icon:after {
    transition-property: opacity;
    transition-duration: 0.5s
  }
  .c-language__menu {
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transform: translateY(10px);
    transition-property: visibility, opacity, transform;
    transition-duration: 0s, 0.25s, 0.25s;
    transition-delay: 0.25s, 0s, 0.25s
  }
  .c-language__label>a:not([class]) {
    color: #2d2d2d;
    padding-bottom: 0;
    background: none;
    transition-property: color;
    transition-duration: 0.5s
  }
  .c-language:hover .c-language__icon:after {
    opacity: 1;
    transition-duration: 0.2s
  }
  .c-language:hover .c-language__menu {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.2s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
  .c-language:hover .c-language__label>a:not([class]) {
    color: #00a9e0;
    transition-duration: 0s
  }
}

@media only screen and (max-width:1119px) {
  .c-language {
    display: flex;
    align-items: center
  }
  .c-language__icon {
    width: 18px;
    height: 18px;
    background-image: url(../img/common/language_icon.svg);
    background-repeat: no-repeat;
    background-size: 36px 18px
  }
  .c-language__menu ul {
    display: flex;
    align-items: center;
    padding-left: 2px
  }
  .c-language__menu li {
    margin-left: 12px
  }
  .c-language__menu li.is-active a {
    color: #b7b7b7
  }
  .c-language__menu li:last-child a {
    font-size: 13px
  }
  .c-language__menu a {
    color: #2d2d2d;
    font-size: 12px;
    font-weight: 700
  }
}

.c-formparts button,
.c-formparts input,
.c-formparts select,
.c-formparts textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit
}

.c-formparts button {
  margin: 0;
  padding: 0;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none
}

.c-formparts input[type=email],
.c-formparts input[type=number],
.c-formparts input[type=password],
.c-formparts input[type=search],
.c-formparts input[type=tel],
.c-formparts input[type=text],
.c-formparts input[type=url],
.c-formparts select,
.c-formparts textarea {
  margin: 0;
  padding: 0 10px;
  height: 32px;
  font-size: 14px;
  border: 1px solid #e8e8e7;
  background-color: #f1f1f1;
  background-color: rgba(228, 228, 228, 0.5);
  border-radius: 0;
  outline: none;
  box-sizing: border-box;
  -webkit-appearance: none;
  transition-property: border, background-color;
  transition-duration: 0.25s
}

.c-formparts textarea {
  padding: 10px
}

.c-formparts input[type=email]:focus,
.c-formparts input[type=number]:focus,
.c-formparts input[type=password]:focus,
.c-formparts input[type=search]:focus,
.c-formparts input[type=tel]:focus,
.c-formparts input[type=text]:focus,
.c-formparts input[type=url]:focus,
.c-formparts select:focus,
.c-formparts textarea:focus {
  border-top: 1px solid #78be20;
  border-left: 1px solid #00a9e0;
  border-right: 1px solid #78be20;
  border-bottom: 1px solid #00a9e0;
  background-color: #fff
}

.c-formparts input[type=checkbox],
.c-formparts input[type=radio] {
  display: none
}

.c-formparts input[type=checkbox]+label,
.c-formparts input[type=radio]+label {
  display: inline-block;
  position: relative;
  z-index: 1
}

.c-formparts input[type=checkbox]+label i,
.c-formparts input[type=radio]+label i {
  display: inline-block;
  position: relative;
  margin-right: 0.5em;
  margin-bottom: -0.1em;
  width: 1em;
  height: 1em;
  vertical-align: baseline;
  border: 1px solid #e8e8e7;
  background-color: #f1f1f1;
  z-index: 1;
  transition-property: border, background-color;
  transition-duration: 0.25s
}

.c-formparts input[type=checkbox]+label i:before,
.c-formparts input[type=radio]+label i:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -0.2em 0 0 -0.2em;
  width: 0.4em;
  height: 0.4em;
  background-color: #fff;
  z-index: 1;
  opacity: 0;
  transform: scale(0);
  transition-property: opacity, transform;
  transition-duration: 0.25s
}

.c-formparts input[type=checkbox]:checked+label i,
.c-formparts input[type=radio]:checked+label i {
  border-color: #00a9e0;
  background-color: #00a9e0
}

.c-formparts input[type=checkbox]:checked+label i:before,
.c-formparts input[type=radio]:checked+label i:before {
  opacity: 1;
  transform: scale(1)
}

.c-formparts input[type=radio]+label i {
  border-radius: 100px
}

.c-formparts input[type=radio]+label i:before {
  border-radius: 100px
}

@media only screen and (min-width:769px) {
  .c-formparts input[type=email]:hover,
  .c-formparts input[type=number]:hover,
  .c-formparts input[type=password]:hover,
  .c-formparts input[type=search]:hover,
  .c-formparts input[type=tel]:hover,
  .c-formparts input[type=text]:hover,
  .c-formparts input[type=url]:hover,
  .c-formparts select:hover,
  .c-formparts textarea:hover {
    border-top: 1px solid #78be20;
    border-left: 1px solid #00a9e0;
    border-right: 1px solid #78be20;
    border-bottom: 1px solid #00a9e0
  }
}

@media only screen and (max-width:768px) {
  .c-formparts input[type=email],
  .c-formparts input[type=number],
  .c-formparts input[type=password],
  .c-formparts input[type=search],
  .c-formparts input[type=tel],
  .c-formparts input[type=text],
  .c-formparts input[type=url],
  .c-formparts select,
  .c-formparts textarea {
    height: 36px
  }
}

.c-searchbox__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 200px
}

.c-searchbox__text {
  width: 160px
}

.c-searchbox__button {
  display: block;
  width: 24px;
  height: 24px;
  text-indent: 100%;
  white-space: nowrap;
  background-image: url(../img/common/search_icon.svg);
  background-repeat: no-repeat;
  background-size: 24px;
  overflow: hidden
}

@media only screen and (max-width:1119px) {
  .c-searchbox__inner {
    align-items: center;
    width: auto
  }
  .c-searchbox__text {
    width: calc(100% - 24px - 15px)
  }
}

.c-mail a {
  display: block;
  position: relative;
  width: 38px;
  height: 24px;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  z-index: 1
}

.c-mail a:after,
.c-mail a:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../img/common/ic_mail.svg);
  background-repeat: no-repeat;
  background-size: 38px 48px;
  z-index: 1
}

.c-mail a:after {
  background-position: 0 -24px;
  opacity: 0
}

@media only screen and (min-width:769px) {
  .c-mail a:after {
    transition-property: opacity;
    transition-duration: 0.5s
  }
  .c-mail a:hover:after {
    opacity: 1;
    transition-duration: 0.25s
  }
}

.c-subnav ul {
  display: flex
}

.c-subnav li {
  margin-left: 30px;
  line-height: 1em
}

.c-subnav li:first-child {
  margin-left: 0
}

.c-subnav a {
  font-size: 13px
}

.c-subnav a[target=_blank]:after {
  display: inline-block;
  content: "";
  margin-left: 8px;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  background-image: url(../img/common/ic_blank.svg);
  background-repeat: no-repeat;
  background-size: 14px 28px
}

@media only screen and (min-width:769px) {
  .c-subnav a {
    transition-property: color;
    transition-duration: 0.5s
  }
  .c-subnav a:hover {
    color: #00a9e0;
    transition-duration: 0s
  }
}

.c-burgermenu {
  position: fixed;
  top: 0;
  right: 16px;
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 5
}

.c-burgermenu__close,
.c-burgermenu__open {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 20px;
  height: 20px;
  margin: -10px 0 0 -10px;
  z-index: 1
}

.c-burgermenu__open span {
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1.5px;
  background-color: #78be20
}

.c-burgermenu__open span:first-child {
  margin-top: -7.75px
}

.c-burgermenu__open span:nth-child(2) {
  margin-top: -0.75px;
  background-color: #00a9e0
}

.c-burgermenu__open span:nth-child(3) {
  margin-top: 6.25px
}

.c-burgermenu__close {
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
  transform: rotate(45deg)
}

.c-burgermenu__close span {
  display: block;
  position: absolute
}

.c-burgermenu__close span:first-child {
  top: 50%;
  left: 0;
  right: 0;
  margin-top: -0.75px;
  height: 1.5px;
  background-color: #00a9e0;
  transform: scaleX(0);
  transform-origin: right
}

.c-burgermenu__close span:last-child {
  top: 0;
  left: 50%;
  bottom: 0;
  margin-left: -0.75px;
  width: 1.5px;
  background-color: #78be20;
  transform: scaleY(0);
  transform-origin: bottom
}


/*
.c-burgermenu {
  transition-duration: transform;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}
*/

.is-compact .c-burgermenu {
  transform: translateY(0px);
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
}

.c-burgermenu__open span {
  transition-property: transform;
  transition-duration: 0.35s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
}

.c-burgermenu__open span:first-child {
  transform-origin: left;
  transition-delay: 0.2s
}

.c-burgermenu__open span:nth-child(2) {
  transform-origin: center;
  transition-delay: 0.15s
}

.c-burgermenu__open span:nth-child(3) {
  transform-origin: right;
  transition-delay: 0.2s
}

.c-burgermenu__close span:first-child,
.c-burgermenu__close span:last-child {
  transition-property: transform;
  transition-duration: 0.35s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
}

.c-burgermenu__close span:first-child {
  transition-delay: 0.15s
}

.is-open .c-burgermenu {
  transform: translateY(0px)
}

.is-open .c-burgermenu__open span {
  transform: scale(0)
}

.is-open .c-burgermenu__open span:first-child {
  transform-origin: right;
  transition-delay: 0s
}

.is-open .c-burgermenu__open span:nth-child(2) {
  transform-origin: center;
  transition-delay: 0.1s
}

.is-open .c-burgermenu__open span:nth-child(3) {
  transform-origin: left;
  transition-delay: 0s
}

.is-open .c-burgermenu__close span:first-child {
  transform: scaleX(1);
  transform-origin: left;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}

.is-open .c-burgermenu__close span:last-child {
  transform: scaleY(1);
  transform-origin: top;
  transition-delay: 0.25s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}

@media only screen and (min-width:1120px) {
  .c-burgermenu {
    display: none
  }
}

.c-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: #cacaca #f2f2f2
}

.c-scrollbar::-webkit-scrollbar {
  width: 4px
}

.c-scrollbar::-webkit-scrollbar-track {
  background-color: #f2f2f2
}

.c-scrollbar::-webkit-scrollbar-thumb {
  background-color: #cacaca
}

.c-control {
  position: relative;
  width: 64px;
  height: 64px;
  background-color: #f2f2f2;
  cursor: pointer;
  z-index: 1
}

.c-control:after,
.c-control:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-repeat: no-repeat;
  z-index: 1
}

.c-control:after {
  opacity: 0
}

.c-control--close:after,
.c-control--close:before {
  margin: -7px 0 0 -7px;
  width: 14px;
  height: 14px;
  background-image: url(../img/common/ic_close.svg);
  background-position: 0 -14px;
  background-size: 14px 56px
}

.c-control--close:after {
  background-position: 0 0
}

.c-control--arrow:after,
.c-control--arrow:before {
  margin: -5px 0 0 -5px;
  width: 10px;
  height: 10px;
  background-image: url(../img/common/ic_arrow.svg);
  background-position: 0 0;
  background-size: 40px 40px
}

.c-control--arrow.is-up:before {
  background-position: -20px -10px
}

.swiper-button-disabled .c-control--arrow.is-up:before {
  background-position: -20px -20px
}

.c-control--arrow.is-up:after {
  background-position: -20px 0
}

.c-control--arrow.is-down:before {
  background-position: -30px -10px
}

.swiper-button-disabled .c-control--arrow.is-down:before {
  background-position: -30px -20px
}

.c-control--arrow.is-down:after {
  background-position: -30px 0
}

.c-control--arrow.is-left:before {
  background-position: -10px -10px
}

.swiper-button-disabled .c-control--arrow.is-left:before {
  background-position: -10px -20px
}

.c-control--arrow.is-left:after {
  background-position: -10px 0
}

.c-control--arrow.is-right:before {
  background-position: 0 -10px
}

.swiper-button-disabled .c-control--arrow.is-right:before {
  background-position: 0 -20px
}

.c-control--arrow.is-right:after {
  background-position: 0 0
}

@media only screen and (min-width:769px) {
  .c-control {
    transition-property: background-color;
    transition-duration: 0.5s
  }
  .c-control:after {
    transition-property: opacity;
    transition-duration: 0.5s
  }
  .c-control:hover {
    background-color: #00a9e0;
    transition-duration: 0.25s
  }
  .c-control:hover:after {
    opacity: 1;
    transition-duration: 0.25s
  }
}

@media only screen and (max-width:768px) {
  .c-control {
    width: 48px;
    height: 48px
  }
  .c-control--close:after,
  .c-control--close:before {
    margin: -5px 0 0 -5px;
    width: 10px;
    height: 10px;
    background-position: 0 -10px;
    background-size: 10px 40px
  }
  .c-control--close:after {
    background-position: 0 0
  }
  .c-control--arrow:after,
  .c-control--arrow:before {
    margin: -4px 0 0 -4px;
    width: 8px;
    height: 8px;
    background-image: url(../img/common/ic_arrow.svg);
    background-position: 0 0;
    background-size: 32px 32px
  }
  .c-control--arrow.is-up:before {
    background-position: -16px -8px
  }
  .swiper-button-disabled .c-control--arrow.is-up:before {
    background-position: -16px -16px
  }
  .c-control--arrow.is-up:after {
    background-position: -16px 0
  }
  .c-control--arrow.is-down:before {
    background-position: -24px -8px
  }
  .swiper-button-disabled .c-control--arrow.is-down:before {
    background-position: -24px -16px
  }
  .c-control--arrow.is-down:after {
    background-position: -24px 0
  }
  .c-control--arrow.is-left:before {
    background-position: -8px -8px
  }
  .swiper-button-disabled .c-control--arrow.is-left:before {
    background-position: -8px -16px
  }
  .c-control--arrow.is-left:after {
    background-position: -8px 0
  }
  .c-control--arrow.is-right:before {
    background-position: 0 -8px
  }
  .swiper-button-disabled .c-control--arrow.is-right:before {
    background-position: -8px -16px
  }
  .c-control--arrow.is-right:after {
    background-position: 0 0
  }
}

.c-direction {
  position: relative;
  z-index: 1
}

.c-direction__icon {
  display: block;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
  width: 16px;
  height: 16px;
  overflow: hidden;
  z-index: 1
}

.c-direction__icon:after,
.c-direction__icon:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url(../img/common/ic_direction.svg);
  background-repeat: no-repeat;
  background-size: 64px 64px;
  z-index: 1
}

.c-direction__icon:after {
  opacity: 0
}

.c-direction.is-white .c-direction__icon:before {
  background-position: 0 0
}

.c-direction.is-white .c-direction__icon:after {
  background-position: 0 -16px
}

.c-direction.is-black .c-direction__icon:before {
  background-position: 0 -48px
}

.c-direction.is-black .c-direction__icon:after {
  background-position: 0 0
}

.c-direction.is-blue .c-direction__icon:before {
  background-position: 0 -16px
}

.c-direction.is-blue .c-direction__icon:after {
  background-position: 0 0
}

.c-direction.is-forblack .c-direction__icon:before {
  background-position: 0 0
}

.c-direction.is-forblack .c-direction__icon:after {
  background-position: 0 -48px
}

a {}

a[target=_blank] .c-direction__icon {
  margin-top: -8px;
  width: 16px;
  height: 16px
}

a[target=_blank] .c-direction__icon:after,
a[target=_blank] .c-direction__icon:before {
  background-image: url(../img/common/ic_blank.svg);
  background-position: 0 0 !important;
  background-size: 16px 32px
}

a[target=_blank] .c-direction__icon:after {
  opacity: 0;
  background-position: 0 -16px !important
}

a[href$=".doc"] .c-direction__icon,
a[href$=".docx"] .c-direction__icon,
a[href$=".pdf"] .c-direction__icon,
a[href$=".ppt"] .c-direction__icon,
a[href$=".pptx"] .c-direction__icon,
a[href$=".xls"] .c-direction__icon,
a[href$=".xlsx"] .c-direction__icon,
a[href$=".zip"] .c-direction__icon {
  margin-top: -9px;
  width: 40px;
  height: 18px
}

a[href$=".doc"] .c-direction__icon:after,
a[href$=".doc"] .c-direction__icon:before,
a[href$=".docx"] .c-direction__icon:after,
a[href$=".docx"] .c-direction__icon:before,
a[href$=".pdf"] .c-direction__icon:after,
a[href$=".pdf"] .c-direction__icon:before,
a[href$=".ppt"] .c-direction__icon:after,
a[href$=".ppt"] .c-direction__icon:before,
a[href$=".pptx"] .c-direction__icon:after,
a[href$=".pptx"] .c-direction__icon:before,
a[href$=".xls"] .c-direction__icon:after,
a[href$=".xls"] .c-direction__icon:before,
a[href$=".xlsx"] .c-direction__icon:after,
a[href$=".xlsx"] .c-direction__icon:before,
a[href$=".zip"] .c-direction__icon:after,
a[href$=".zip"] .c-direction__icon:before {
  background-position: 0 0 !important;
  background-size: 40px 36px
}

a[href$=".doc"] .c-direction__icon:after,
a[href$=".docx"] .c-direction__icon:after,
a[href$=".pdf"] .c-direction__icon:after,
a[href$=".ppt"] .c-direction__icon:after,
a[href$=".pptx"] .c-direction__icon:after,
a[href$=".xls"] .c-direction__icon:after,
a[href$=".xlsx"] .c-direction__icon:after,
a[href$=".zip"] .c-direction__icon:after {
  opacity: 0;
  background-position: 0 -18px !important
}

a[href$=".zip"] .c-direction__icon:after,
a[href$=".zip"] .c-direction__icon:before {
  background-image: url(../img/common/file_zip.svg)
}

a[href$=".doc"] .c-direction__icon:after,
a[href$=".doc"] .c-direction__icon:before,
a[href$=".docx"] .c-direction__icon:after,
a[href$=".docx"] .c-direction__icon:before {
  background-image: url(../img/common/file_doc.svg)
}

a[href$=".pdf"] .c-direction__icon:after,
a[href$=".pdf"] .c-direction__icon:before {
  background-image: url(../img/common/file_pdf.svg)
}

a[href$=".ppt"] .c-direction__icon:after,
a[href$=".ppt"] .c-direction__icon:before,
a[href$=".pptx"] .c-direction__icon:after,
a[href$=".pptx"] .c-direction__icon:before {
  background-image: url(../img/common/file_ppt.svg)
}

a[href$=".xls"] .c-direction__icon:after,
a[href$=".xls"] .c-direction__icon:before,
a[href$=".xlsx"] .c-direction__icon:after,
a[href$=".xlsx"] .c-direction__icon:before {
  background-image: url(../img/common/file_xls.svg)
}

a.is-download .c-direction__icon {
  margin-top: -14px;
  width: 28px;
  height: 28px
}

a.is-download .c-direction__icon:after,
a.is-download .c-direction__icon:before {
  background-image: url(../img/common/ic_download.svg);
  background-position: 0 0 !important;
  background-size: 28px 56px
}

a.is-download .c-direction__icon:after {
  background-position: 0 -28px !important;
  opacity: 0
}

.c-direction--down .c-direction__icon,
.c-direction--up .c-direction__icon {
  margin-top: -4px;
  width: 10px;
  height: 8px
}

.c-direction--down .c-direction__icon:after,
.c-direction--down .c-direction__icon:before,
.c-direction--up .c-direction__icon:after,
.c-direction--up .c-direction__icon:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 8px 5px;
  border-color: transparent transparent #2d2d2d transparent;
  background-image: none
}

.c-direction--down .c-direction__icon:after,
.c-direction--up .c-direction__icon:after {
  border-color: transparent transparent #fff transparent
}

.c-direction--down .c-direction__icon:after,
.c-direction--down .c-direction__icon:before {
  border-width: 8px 5px 0 5px;
  border-color: #2d2d2d transparent transparent transparent
}

.c-direction--down .c-direction__icon:after {
  border-color: #fff transparent transparent transparent
}

@media only screen and (min-width:769px) {
  .c-direction__icon {
    will-change: opacity, transform
  }
  .c-direction__icon:after,
  .c-direction__icon:before {
    transition-property: opacity;
    transition-duration: 0.5s
  }
  .c-direction:hover .c-direction__icon:after,
  .c-direction:hover .c-direction__icon:before {
    opacity: 1;
    transition-duration: 0.2s;
    animation-name: direction;
    animation-duration: 0.5s
  }
  a[target=_blank]:hover .c-direction__icon:after,
  a[target=_blank]:hover .c-direction__icon:before {
    animation: none
  }
  a[href$=".doc"]:hover .c-direction__icon:after,
  a[href$=".doc"]:hover .c-direction__icon:before,
  a[href$=".docx"]:hover .c-direction__icon:after,
  a[href$=".docx"]:hover .c-direction__icon:before,
  a[href$=".pdf"]:hover .c-direction__icon:after,
  a[href$=".pdf"]:hover .c-direction__icon:before,
  a[href$=".ppt"]:hover .c-direction__icon:after,
  a[href$=".ppt"]:hover .c-direction__icon:before,
  a[href$=".pptx"]:hover .c-direction__icon:after,
  a[href$=".pptx"]:hover .c-direction__icon:before,
  a[href$=".xls"]:hover .c-direction__icon:after,
  a[href$=".xls"]:hover .c-direction__icon:before,
  a[href$=".xlsx"]:hover .c-direction__icon:after,
  a[href$=".xlsx"]:hover .c-direction__icon:before,
  a[href$=".zip"]:hover .c-direction__icon:after,
  a[href$=".zip"]:hover .c-direction__icon:before {
    animation: none
  }
  .c-direction--down:hover .c-direction__icon:after,
  .c-direction--down:hover .c-direction__icon:before,
  .c-direction--up:hover .c-direction__icon:after,
  .c-direction--up:hover .c-direction__icon:before {
    animation: none
  }
}

@media only screen and (max-width:768px) {
  .c-direction__icon {
    margin-top: -6px;
    width: 12px;
    height: 12px
  }
  .c-direction__icon:after,
  .c-direction__icon:before {
    background-size: 48px 48px
  }
  .c-direction.is-white .c-direction__icon:before {
    background-position: 0 0
  }
  .c-direction.is-white .c-direction__icon:after {
    background-position: 0 -12px
  }
  .c-direction.is-black .c-direction__icon:before {
    background-position: 0 -36px
  }
  .c-direction.is-black .c-direction__icon:after {
    background-position: 0 0
  }
  .c-direction.is-blue .c-direction__icon:before {
    background-position: 0 -12px
  }
  .c-direction.is-blue .c-direction__icon:after {
    background-position: 0 0
  }
  a {}
  a[target=_blank] .c-direction__icon {
    margin-top: -8px;
    width: 16px;
    height: 16px
  }
  a[target=_blank] .c-direction__icon:after,
  a[target=_blank] .c-direction__icon:before {
    background-size: 16px 32px
  }
  a[href$=".doc"] .c-direction__icon,
  a[href$=".docx"] .c-direction__icon,
  a[href$=".pdf"] .c-direction__icon,
  a[href$=".ppt"] .c-direction__icon,
  a[href$=".pptx"] .c-direction__icon,
  a[href$=".xls"] .c-direction__icon,
  a[href$=".xlsx"] .c-direction__icon,
  a[href$=".zip"] .c-direction__icon {
    margin-top: -8px;
    width: 35px;
    height: 16px
  }
  a[href$=".doc"] .c-direction__icon:after,
  a[href$=".doc"] .c-direction__icon:before,
  a[href$=".docx"] .c-direction__icon:after,
  a[href$=".docx"] .c-direction__icon:before,
  a[href$=".pdf"] .c-direction__icon:after,
  a[href$=".pdf"] .c-direction__icon:before,
  a[href$=".ppt"] .c-direction__icon:after,
  a[href$=".ppt"] .c-direction__icon:before,
  a[href$=".pptx"] .c-direction__icon:after,
  a[href$=".pptx"] .c-direction__icon:before,
  a[href$=".xls"] .c-direction__icon:after,
  a[href$=".xls"] .c-direction__icon:before,
  a[href$=".xlsx"] .c-direction__icon:after,
  a[href$=".xlsx"] .c-direction__icon:before,
  a[href$=".zip"] .c-direction__icon:after,
  a[href$=".zip"] .c-direction__icon:before {
    background-position: 0 0 !important;
    background-size: 35px 32px
  }
  a.is-download .c-direction__icon {
    margin-top: -10px;
    width: 20px;
    height: 20px
  }
  a.is-download .c-direction__icon:after,
  a.is-download .c-direction__icon:before {
    background-size: 20px 40px
  }
  .c-direction--down .c-direction__icon,
  .c-direction--up .c-direction__icon {
    margin-top: -3px;
    width: 8px;
    height: 6px
  }
  .c-direction--down .c-direction__icon:after,
  .c-direction--down .c-direction__icon:before,
  .c-direction--up .c-direction__icon:after,
  .c-direction--up .c-direction__icon:before {
    border-width: 0 4px 6px 4px
  }
  .c-direction--down .c-direction__icon:after,
  .c-direction--down .c-direction__icon:before {
    border-width: 6px 4px 0 4px
  }
}

@keyframes direction {
  50% {
    transform: translateX(100%)
  }
  51% {
    transform: translateX(-100%)
  }
  to {
    transform: translateX(0%)
  }
}

.c-pageup {
  position: fixed;
  right: 0;
  bottom: 0;
  pointer-events: none;
  cursor: pointer;
  overflow: hidden;
  z-index: 3
}

.c-pageup__inner {
  transform: translateX(100%);
  transition-property: transform;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
}

.c-pageup .c-control {
  background-color: #52565a
}

.c-pageup.is-open {
  pointer-events: auto
}

.c-pageup.is-open .c-pageup__inner {
  transform: translateX(0);
  transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
}

@media only screen and (min-width:769px) {
  .c-pageup:hover .c-control {
    background-color: #00a9e0
  }
}

@media only screen and (max-width:768px) {
  .c-pageup {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .c-pageup.is-adjust {
    transform: translateY(-71px);
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .c-pageup.is-adjust2 {
    transform: translateY(-103px)
  }
}

.c-button {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 96px;
  height: 100%;
  z-index: 1
}

.c-button:after,
.c-button:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f2f2f2;
  z-index: -1
}

.c-button:after {
  background-color: #00a9e0;
  transform: scaleX(0);
  transform-origin: right
}

.c-button__label {
  padding: 10px 73px 10px 32px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.3em
}

.c-button__label span {
  display: inline-block
}

.c-button .c-direction__icon {
  right: 32px
}

.c-button--small .c-button__label {
  font-size: 20px
}

.c-button--compact {
  min-height: 64px
}

.c-button--compact .c-button__label {
  font-size: 16px
}

.c-button--dynamic {
  margin-top: -1px;
  color: #00a9e0;
  min-height: 96px;
  height: calc(100% + 1px);
  border: 1px solid #eaeaea;
  border-left: none;
  border-right: none
}

.c-button--dynamic:after,
.c-button--dynamic:before {
  top: 8px;
  bottom: 8px
}

.c-button--dynamic:before {
  background-color: transparent
}

.c-button--dynamic .c-button__label {
  padding-right: 54px;
  transform: translateX(-32px)
}

.c-button--dynamic .c-direction__icon {
  transform: translateX(32px)
}

@media only screen and (min-width:769px) {
  .c-button {
    transition-property: color;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .c-button:after {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .c-button:hover {
    color: #fff;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .c-button:hover:after {
    transform: scaleX(1);
    transform-origin: left;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .c-button--dynamic .c-button__label {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .c-button--dynamic .c-direction__icon {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .c-button--dynamic:hover .c-button__label {
    transform: translateX(0);
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .c-button--dynamic:hover .c-direction__icon {
    transform: translateX(0);
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
}

@media only screen and (max-width:768px) {
  .c-button {
    min-height: 72px
  }
  .c-button__label {
    padding: 10px 61px 10px 24px;
    font-size: 18px;
    line-height: 24px
  }
  .c-button .c-direction__icon {
    right: 24px
  }
  .c-button--small .c-button__label {
    font-size: 16px
  }
  .c-button--compact {
    min-height: 72px
  }
  .c-button--compact .c-button__label {
    font-size: 18px;
    line-height: 24px
  }
  .c-button--dynamic {
    min-height: 72px
  }
  .c-button--dynamic:after,
  .c-button--dynamic:before {
    top: 0;
    bottom: 0
  }
  .c-button--dynamic .c-button__label {
    padding-left: 0;
    padding-right: 32px;
    font-size: 16px;
    transform: translateX(0)
  }
  .c-button--dynamic .c-direction__icon {
    right: 0;
    transform: translateX(0)
  }
  .c-button--spmini {
    min-height: 52px
  }
  .c-button--spmini .c-button__label {
    font-size: 12px;
    line-height: 18px
  }
}

.c-button2 {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 96px;
  height: 100%;
  z-index: 1
}

.c-button2:after,
.c-button2:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #f2f2f2;
  z-index: -1
}

.c-button2:after {
  background-color: #fff;
  transform: scaleX(0);
  transform-origin: right
}

.c-button2__label {
  padding: 10px 73px 10px 32px;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3em
}

.c-button2__label span {
  display: inline-block
}

.c-button2 .c-direction__icon {
  right: 32px
}

.c-button2--small .c-button2__label {
  font-size: 20px
}

.c-button2--compact {
  min-height: 64px
}

.c-button2--compact .c-button2__label {
  font-size: 16px
}

.c-button2--dynamic {
  margin-top: -1px;
  color: #2d2d2d;
  min-height: 96px;
  height: calc(100% + 1px);
  border: 1px solid #eaeaea;
  border-left: none;
  border-right: none
}

.c-button2--dynamic:after,
.c-button2--dynamic:before {
  top: 8px;
  bottom: 8px
}

.c-button2--dynamic:before {
  background-color: transparent
}

.c-button2--dynamic .c-button2__label {
  padding-right: 5px;
  transform: translateX(-32px)
}

.c-button2--dynamic .c-direction__icon {
  transform: translateX(32px)
}

@media only screen and (min-width:769px) {
  .c-button2 {
    transition-property: color;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .c-button2:after {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .c-button2:hover {
    color: #00a9e0;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .c-button2:hover:after {
    transform: scaleX(1);
    transform-origin: left;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .c-button2--dynamic .c-button2__label {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .c-button2--dynamic .c-direction__icon {
    transition-property: transform;
    transition-duration: 0.5s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .c-button2--dynamic:hover .c-button2__label {
    transform: translateX(0);
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
  .c-button2--dynamic:hover .c-direction__icon {
    transform: translateX(0);
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
}

@media only screen and (max-width:768px) {
  .c-button2 {
    min-height: 72px
  }
  .c-button2__label {
    padding: 10px 61px 10px 24px;
    font-size: 18px;
    line-height: 24px
  }
  .c-button2 .c-direction__icon {
    right: 24px
  }
  .c-button2--small .c-button2__label {
    font-size: 16px
  }
  .c-button2--compact {
    min-height: 72px
  }
  .c-button2--compact .c-button2__label {
    font-size: 18px;
    line-height: 24px
  }
  .c-button2--dynamic {
    min-height: 72px
  }
  .c-button2--dynamic:after,
  .c-button2--dynamic:before {
    top: 0;
    bottom: 0
  }
  .c-button2--dynamic .c-button2__label {
    padding-left: 0;
    padding-right: 32px;
    font-size: 16px;
    transform: translateX(0)
  }
  .c-button2--dynamic .c-direction__icon {
    right: 0;
    transform: translateX(0)
  }
  .c-button2--spmini {
    min-height: 52px
  }
  .c-button2--spmini .c-button2__label {
    font-size: 12px;
    line-height: 18px
  }
}

.c-heading {
  font-weight: 700;
  letter-spacing: -0.025em
}

.c-heading--h2 {
  font-size: 40px;
  line-height: 1.5em
}

.c-heading--h3 {
  font-size: 32px;
  line-height: 1.75em
}

.c-heading--h4 {
  font-size: 24px;
  line-height: normal
}

.c-heading__label {
  display: block;
  margin-bottom: 1.3em;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1em
}

.c-heading--copy {
  font-size: 24px;
  text-align: justify;
  letter-spacing: 0;
  line-height: 1.8em
}

@media only screen and (max-width:768px) {
  .c-heading--h2 {
    font-size: 32px
  }
  .c-heading--h3 {
    font-size: 24px
  }
  .c-heading--h4 {
    font-size: 20px
  }
  .c-heading__label {
    margin-bottom: 1em;
    font-size: 12px
  }
  .c-heading--copy {
    font-size: 18px
  }
}

.c-iconlink {
  display: inline-block;
  padding-right: 38px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em
}

.c-iconlink.c-direction.is-blue .c-direction__icon:after {
  background-position: 0 -16px
}

.c-iconlink:after {
  display: inline-block;
  content: "";
  margin-left: 8px;
  vertical-align: middle;
  background-repeat: no-repeat
}

.c-iconlink.is-arrow:after {
  margin-top: -0.1em;
  width: 16px;
  height: 16px;
  background-image: url(../img/common/ic_direction.svg);
  background-position: 0 -16px;
  background-size: 64px
}

.c-iconlink[target=_blank]:after {
  margin-top: 0;
  width: 16px;
  height: 16px;
  background-image: url(../img/common/ic_blank.svg);
  background-position: 0 0;
  background-size: 16px 32px
}

.c-iconlink[href$=".doc"]:after,
.c-iconlink[href$=".docx"]:after,
.c-iconlink[href$=".pdf"]:after,
.c-iconlink[href$=".ppt"]:after,
.c-iconlink[href$=".pptx"]:after,
.c-iconlink[href$=".xls"]:after,
.c-iconlink[href$=".xlsx"]:after,
.c-iconlink[href$=".zip"]:after {
  margin-top: -0.2em;
  width: 40px;
  height: 18px;
  background-size: 40px 36px
}

.c-iconlink[href$=".zip"]:after {
  background-image: url(../img/common/file_zip.svg)
}

.c-iconlink[href$=".doc"]:after,
.c-iconlink[href$=".docx"]:after {
  background-image: url(../img/common/file_doc.svg)
}

.c-iconlink[href$=".pdf"]:after {
  background-image: url(../img/common/file_pdf.svg)
}

.c-iconlink[href$=".ppt"]:after,
.c-iconlink[href$=".pptx"]:after {
  background-image: url(../img/common/file_ppt.svg)
}

.c-iconlink[href$=".xls"]:after,
.c-iconlink[href$=".xlsx"]:after {
  background-image: url(../img/common/file_xls.svg)
}

.c-iconlink--down,
.c-iconlink--up {
  padding-right: 0
}

.c-iconlink--down:after,
.c-iconlink--up:after {
  margin-top: -0.1em;
  margin-left: 8px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 8px 5px;
  border-color: transparent transparent #00a9e0 transparent
}

.c-iconlink--down:after {
  transform: scaleY(-1)
}

@media only screen and (min-width:769px) {
  .c-iconlink {
    transition-property: color;
    transition-duration: 0.5s
  }
  .c-iconlink:hover {
    color: #00a9e0;
    transition-duration: 0s
  }
}

@media only screen and (max-width:768px) {
  .c-iconlink {
    padding-right: 24px;
    font-size: 11px
  }
  .c-iconlink.c-direction.is-blue .c-direction__icon:after {
    background-position: 0 -12px
  }
  .c-iconlink:after {
    margin-left: 6px
  }
  .c-iconlink.is-arrow:after {
    margin-top: -0.15em;
    width: 12px;
    height: 12px;
    background-position: 0 -12px;
    background-size: 48px
  }
  .c-iconlink[target=_blank]:after {
    width: 12px;
    height: 12px;
    background-size: 12px
  }
  .c-iconlink[href$=".doc"]:after,
  .c-iconlink[href$=".docx"]:after,
  .c-iconlink[href$=".pdf"]:after,
  .c-iconlink[href$=".ppt"]:after,
  .c-iconlink[href$=".pptx"]:after,
  .c-iconlink[href$=".xls"]:after,
  .c-iconlink[href$=".xlsx"]:after,
  .c-iconlink[href$=".zip"]:after {
    margin-top: -0.25em;
    width: 35px;
    height: 16px;
    background-size: 35px 32px
  }
  .c-iconlink--down,
  .c-iconlink--up {
    padding-right: 0px
  }
  .c-iconlink--down:after,
  .c-iconlink--up:after {
    margin-left: 10px;
    border-width: 0 4px 6px 4px
  }
}

.c-loading {
  display: flex;
  flex-wrap: wrap;
  width: 21px
}

.c-loading span {
  display: block;
  margin: 1px 0 0 1px;
  width: 6px;
  height: 6px;
  background-color: #00a9e0;
  animation-name: loading;
  animation-duration: 0.9s;
  animation-iteration-count: infinite;
  animation-timing-function: steps(1)
}

.c-loading span:first-child {
  order: 8;
  animation-delay: -0.1s
}

.c-loading span:nth-child(2) {
  order: 7;
  animation-delay: -0.2s
}

.c-loading span:nth-child(3) {
  order: 6;
  animation-delay: -0.3s
}

.c-loading span:nth-child(4) {
  order: 5;
  animation-delay: -0.4s
}

.c-loading span:nth-child(5) {
  order: 4;
  animation-delay: -0.5s
}

.c-loading span:nth-child(6) {
  order: 3;
  animation-delay: -0.6s
}

.c-loading span:nth-child(7) {
  order: 2;
  animation-delay: -0.7s
}

.c-loading span:nth-child(8) {
  order: 1;
  animation-delay: -0.8s
}

.c-loading span:nth-child(9) {
  order: 0;
  animation-delay: -0.9s
}

@keyframes loading {
  40% {
    background-color: rgba(120, 190, 32, 0.5)
  }
}

.c-pageheader {
  padding: 100px 0 0
}

.c-pageheader__label {
  display: inline-block;
  margin-bottom: 10px;
  font-family: Arial, sans-serif;
  font-size: 32px;
  font-weight: 700;
  line-height: normal;
  overflow: hidden
}

.c-pageheader__label span {
  display: block
}

.c-pageheader__title {
  color: #00a9e0;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1.25em
}

.c-pageheader__title.is-black {
  color: #2d2d2d
}

@media only screen and (max-width:768px) {
  .c-pageheader {
    padding: 50px 0 0
  }
  .c-pageheader__label {
    margin-bottom: 6px;
    font-size: 24px
  }
  .c-pageheader__title {
    font-size: 40px
  }
}

.js-indicate-ready .c-pageheader__label {
  transform: translateX(-100%);
  transition-property: transform
}

.js-indicate-ready .c-pageheader__label span {
  transform: translateX(110%);
  transition-property: transform
}

.js-indicate-start .c-pageheader__label {
  transform: translateX(0);
  transition-duration: 0.65s;
  transition-delay: 0.25s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
}

.js-indicate-start .c-pageheader__label span {
  transform: translateX(0);
  transition-duration: 0.65s;
  transition-delay: 0.25s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
}

.c-pagetitle__label {
  font-family: Arial, sans-serif;
  font-size: 56px;
  font-weight: 700;
  line-height: normal
}

.c-pagetitle__title {
  display: inline-block;
  margin-top: 5px;
  overflow: hidden
}

.c-pagetitle__title span {
  display: block;
  color: #00a9e0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em
}

.c-pagetitle--large .c-pagetitle__label {
  font-size: 72px
}

.c-pagetitle--large .c-pagetitle__title {
  font-size: 16px
}

@media only screen and (max-width:768px) {
  .c-pagetitle__label {
    font-size: 40px
  }
  .c-pagetitle__title {
    margin-top: 10px
  }
  .c-pagetitle__title span {
    font-size: 12px
  }
  .c-pagetitle--large .c-pagetitle__label {
    font-size: 44px
  }
  .c-pagetitle--large .c-pagetitle__title {
    font-size: 12px
  }
}

.js-indicate-ready .c-pagetitle__title {
  transform: translateX(-100%);
  transition-property: transform
}

.js-indicate-ready .c-pagetitle__title span {
  transform: translateX(110%);
  transition-property: transform
}

.js-indicate-start .c-pagetitle__title {
  transform: translateX(0);
  transition-duration: 0.65s;
  transition-delay: 0.25s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
}

.js-indicate-start .c-pagetitle__title span {
  transform: translateX(0);
  transition-duration: 0.65s;
  transition-delay: 0.25s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
}

.c-paragraph {
  font-size: 16px;
  text-align: justify;
  line-height: 37px
}

.c-paragraph em {
  color: #78be20;
  font-style: normal;
  font-weight: 700
}

.c-paragraph+.c-paragraph {
  margin-top: 0em
}

@media only screen and (max-width:768px) {
  .c-paragraph {
    font-size: 12px;
    line-height: 28px
  }
}

.c-news__column {
  display: flex;
  justify-content: space-between
}

.c-news__col:first-child {
  width: 35.2941176471%
}

.c-news__col:last-child {
  width: 58.8235294118%
}

.c-news__image {
  position: relative;
  padding-bottom: 100%;
  width: 100%;
  height: 0;
  outline: 1px solid #eaeaea;
  background-color: #fff;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 1
}

.c-news__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: contain;
  object-position: center
}

.c-news__date {
  display: block;
  margin-bottom: 14px;
  color: #2d2d2d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1em
}

.c-news__tag {
  margin-bottom: 20px;
  color: #eaeaea;
  font-size: 12px;
  font-weight: 700;
  line-height: normal
}

.c-news__tag em {
  color: #00a9e0;
  font-style: normal
}

.c-news__summary {
  display: -webkit-box;
  margin-top: -6px;
  font-size: 16px;
  text-align: left;
  line-height: 32px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3
}

.c-news__summary--limitless {
  display: block;
  overflow: visible;
  -webkit-line-clamp: initial
}

.c-news__location,
.c-news__schedule {
  position: relative;
  margin-top: 14px;
  padding-left: 34px;
  font-size: 14px;
  line-height: normal;
  z-index: 1
}

.c-news__location:before,
.c-news__schedule:before {
  display: block;
  content: "";
  position: absolute;
  top: 0.1em;
  left: 0;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: 20px;
  z-index: 1
}

.c-news__schedule {
  font-weight: 700
}

.c-news__schedule:before {
  background-image: url(../img/common/ic_schedule.svg)
}

.c-news__schedule+.c-news__location {
  margin-top: 5px
}

.c-news__location {
  font-weight: 500
}

.c-news__location:before {
  background-image: url(../img/common/ic_location.svg)
}

.c-news a {
  display: block
}

@media only screen and (max-width:768px) {
  .c-news__column {
    display: block
  }
  .c-news__col:first-child,
  .c-news__col:last-child {
    width: auto
  }
  .c-news__col:last-child {
    margin-top: 20px
  }
  .c-news__date {
    margin-bottom: 9px;
    font-size: 11px
  }
  .c-news__tag {
    margin-bottom: 14px;
    font-size: 9px
  }
  .c-news__summary {
    margin-top: -6px;
    font-size: 12px;
    line-height: 24px
  }
  .c-news__location,
  .c-news__schedule {
    margin-top: 16px;
    padding-left: 21px;
    font-size: 11px
  }
  .c-news__location:before,
  .c-news__schedule:before {
    width: 16px;
    height: 16px;
    background-size: 16px
  }
  .c-news__schedule+.c-news__location {
    margin-top: 5px
  }
}

.c-pickup__image {
  position: relative;
  padding-bottom: 100%;
  width: 100%;
  height: 0;
  border: 1px solid #eaeaea;
  background-color: #f9f9f9;
  overflow: hidden;
  z-index: 1
}

.c-pickup__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: contain
}

.c-pickup__title {
  margin-top: 27px;
  color: #00a9e0;
  font-size: 18px;
  font-weight: 700;
  line-height: normal
}

.c-pickup__summary {
  margin-top: 10px;
  font-size: 16px;
  text-align: justify;
  line-height: 28px
}

@media only screen and (max-width:768px) {
  .c-pickup__title {
    margin-top: 20px;
    font-size: 16px
  }
  .c-pickup__summary {
    margin-top: 5px;
    font-size: 12px;
    line-height: 21px
  }
}

.c-topnews {
  height: 100%;
  border: 1px solid #eaeaea;
  box-sizing: border-box
}

.c-topnews__column {
  display: flex;
  justify-content: space-between
}

.c-topnews__column+.c-topnews__summary {
  margin-top: 16px
}

.c-topnews__col:first-child {
  width: 160px
}

.c-topnews__col:last-child {
  padding-top: 40px;
  width: calc(100% - 160px - 24px)
}

.c-topnews__image {
  position: relative;
  padding-bottom: 100%;
  width: 100%;
  height: 0;
  background-color: #fff;
  overflow: hidden;
  z-index: 1
}

.c-topnews__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: contain
}

.c-topnews__date {
  display: block;
  padding-bottom: 16px;
  color: #2d2d2d;
  font-size: 14px;
  font-weight: 700;
  line-height: 1em
}

.c-topnews__tag {
  margin-top: -4px;
  color: #eaeaea;
  font-size: 12px;
  font-weight: 700;
  line-height: normal
}

.c-topnews__tag em {
  color: #00a9e0;
  font-style: normal
}

.c-topnews__title {
  margin: 20px 16px 0;
  color: #00a9e0;
  font-size: 14px;
  font-weight: 700;
  line-height: normal
}

.c-topnews__Annotation_text {
  margin-top: 14px;
  margin-left: 16px;
  font-size: 14px;
  line-height: normal;
  z-index: 1
}

.c-news__location,
.c-news__Annotation_text {
  margin-top: 14px;
  font-size: 14px;
  line-height: normal;
  z-index: 1
}

.c-topnews__summary {
  display: -webkit-box;
  margin: 0 16px;
  font-size: 16px;
  text-align: left;
  line-height: 32px;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3
}

.c-topnews__summary--limitless {
  display: block;
  overflow: visible;
  -webkit-line-clamp: initial
}

.c-topnews__summary span {
  display: inline-block
}

.c-topnews__location,
.c-topnews__schedule {
  position: relative;
  margin: 13px 16px 0;
  padding-left: 34px;
  font-size: 14px;
  line-height: normal;
  z-index: 1
}

.c-topnews__location:before,
.c-topnews__schedule:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -10px;
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-size: 20px;
  z-index: 1
}

.c-topnews__schedule {
  font-weight: 700
}

.c-topnews__schedule:before {
  background-image: url(../img/common/ic_schedule.svg)
}

.c-topnews__schedule+.c-topnews__location {
  margin-top: 5px
}

.c-topnews__location {
  font-weight: 500
}

.c-topnews__location:before {
  background-image: url(../img/common/ic_location.svg)
}

.c-topnews a {
  padding-bottom: 20px;
  height: 100%
}

@media only screen and (max-width:768px) {
  .c-topnews__column+.c-topnews__summary {
    margin-top: 13px
  }
  .c-topnews__col:first-child {
    width: 120px
  }
  .c-topnews__col:last-child {
    padding-top: 20px;
    width: calc(100% - 120px - 20px)
  }
  .c-topnews__date {
    padding-bottom: 20px;
    font-size: 10px
  }
  .c-topnews__tag {
    font-size: 9px
  }
  .c-topnews__title {
    margin: 17px 12px 0;
    font-size: 10px
  }
  .c-topnews__Annotation_text {
    margin-top: 16px;
    margin-left: 12px;
    font-size: 11px
  }
  .c-news__location,
  .c-news__Annotation_text {
    margin-top: 16px;
    font-size: 11px
  }
  .c-topnews__summary {
    margin: 10px 12px 0;
    font-size: 12px;
    line-height: 24px
  }
  .c-topnews__location,
  .c-topnews__schedule {
    margin: 13px 12px 0;
    padding-left: 28px;
    font-size: 12px
  }
  .c-topnews__schedule+.c-topnews__location {
    margin-top: 5px
  }
  .c-topnews a {
    padding-bottom: 15px
  }
}

.c-supplyrecord__title {
  color: #8031a7;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: 1em
}

.c-supplyrecord__column {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: 0 0 0 -50px
}

.c-supplyrecord__col {
  display: flex;
  align-items: center;
  margin-top: 24px;
  margin-left: 50px
}

.c-supplyrecord__image {
  width: 140px
}

.c-supplyrecord__image img {
  display: block;
  width: 100%;
  height: auto
}

.c-supplyrecord__data {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  position: relative;
  margin-left: 30px;
  padding: 40px 0;
  z-index: 1
}

.c-supplyrecord__data span {
  display: block
}

.c-supplyrecord__data1 {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  position: relative;
  margin-left: 30px;
  padding: 40px 0;
  z-index: 1
}

.c-supplyrecord__data1 span {
  display: block
}

.c-supplyrecord__about {
  margin-right: 0.25em;
  font-size: 24px;
  font-weight: 500;
  text-align: right;
  line-height: 1.25em
}

.c-supplyrecord__value {
  margin-bottom: -0.15em;
  font-family: Arial, sans-serif;
  font-size: 80px;
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1em
}

.c-supplyrecord__unit {
  font-size: 24px;
  font-weight: 500;
  line-height: 1em
}

.c-supplyrecord__caption {
  position: absolute;
  left: 30px;
  bottom: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1em;
  z-index: 1
}

.c-supplyrecord__subabout {
  position: absolute;
  top: 20px;
  left: 30px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1em;
  z-index: 1
}

.c-supplyrecord__subabout1 {
  position: absolute;
  top: 0px;
  left: 30px;
  font-size: 24px;
  font-weight: 500;
  line-height: 1em;
  z-index: 1
}

@media only screen and (max-width:768px) {
  .c-supplyrecord__title {
    font-size: 18px
  }
  .c-supplyrecord__column {
    display: flex;
    flex-direction: column;
    margin: auto
  }
  .c-supplyrecord__col {
    display: block;
    margin: 52px 0 0
  }
  .c-supplyrecord__col:first-child {
    margin-top: 32px
  }
  .c-supplyrecord__image {
    margin: auto;
    width: 105px
  }
  .c-supplyrecord__data {
    justify-content: center;
    margin-top: 20px;
    padding-top: 16px;
    padding: 16px 0 30px;
    width: auto
  }
  .c-supplyrecord__data--total {
    padding-bottom: 30px
  }
  .c-supplyrecord__data1 {
    justify-content: center;
    margin-top: 20px;
    padding-top: 16px;
    padding: 35px 0 30px;
    width: auto
  }
  .c-supplyrecord__data1--total {
    padding-bottom: 0
  }
  .c-supplyrecord__about {
    margin-right: 0.25em;
    font-size: 18px
  }
  .c-supplyrecord__value {
    font-size: 60px
  }
  .c-supplyrecord__unit {
    font-size: 18px
  }
  .c-supplyrecord__caption {
    left: 28px;
    bottom: 0;
    font-size: 10px;
    text-align: center
  }
  .c-supplyrecord__subabout {
    top: 0;
    left: 28px;
    font-size: 18px
  }
  .c-supplyrecord__subabout1 {
    top: 0;
    left: 28px;
    font-size: 18px
  }
}

.c-productdemand {
  position: relative;
  width: 290px;
  z-index: 1
}

.c-productdemand .c-supplyrecord__caption {
  position: relative;
  left: 0;
  margin-top: 20px
}

.c-productdemand__title {
  min-height: 72px;
  color: #8031a7;
  font-size: 24px;
  font-weight: 700;
  line-height: 1em
}

.c-productdemand__image {
  position: absolute;
  top: 0;
  right: 34px;
  width: 67px;
  z-index: 1
}

.c-productdemand__image img {
  display: block;
  width: 100%;
  height: auto
}

.c-productdemand__record {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  position: relative;
  z-index: 1
}

.c-productdemand__record--no1 {
  margin-top: 20px;
  padding-top: 1.3em
}

.c-productdemand__record--no2 {
  margin-top: 0.1em
}

.c-productdemand__no {
  font-family: Arial, sans-serif;
  font-weight: 700;
  white-space: nowrap;
  letter-spacing: -0.02em
}

.c-productdemand__record--no1 .c-productdemand__no {
  margin: 0 0.5em -0.1em -0.07em;
  width: 146px;
  font-size: 80px;
  line-height: 1em
}

.c-productdemand__record--no2 .c-productdemand__no {
  margin: 0 0.45em -0.1em 0;
  font-size: 32px;
  line-height: 1em
}

.c-productdemand__summary {
  font-size: 13px;
  font-weight: 500;
  text-align: justify;
  line-height: 17px
}

.c-productdemand__record--no1 .c-productdemand__summary {
  letter-spacing: -0.02em
}

.c-productdemand__world {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 24px;
  font-weight: 500;
  z-index: 1
}

@media only screen and (max-width:768px) {
  .c-productdemand {
    width: auto
  }
  .c-productdemand__title {
    min-height: auto;
    font-size: 18px;
    text-align: center
  }
  .c-productdemand__image {
    position: static;
    width: 51px;
    margin-top: 20px
  }
  .c-productdemand__record--no1 {
    margin-top: 0
  }
  .c-productdemand__record--no2 {
    margin-top: 0
  }
  .c-productdemand__record--no1 .c-productdemand__no {
    margin: -0.2em 0.12em 0 -0.07em;
    font-size: 60px
  }
  .c-productdemand__record--no2 .c-productdemand__no {
    margin: 0 0.3em -0.04em -0.05em;
    font-size: 24px
  }
  .c-productdemand__summary {
    font-size: 10px;
    line-height: 14px
  }
  .c-productdemand__record--no1 .c-productdemand__summary {
    letter-spacing: 0em
  }
  .c-productdemand__world {
    font-size: 18px
  }
  .c-productdemand__column {
    display: flex;
    justify-content: space-between;
    margin: 32px auto 0;
    max-width: 290px
  }
  .c-productdemand__col:first-child {
    margin-right: 6.5%
  }
}

@media only screen and (max-width:374px) {
  .c-productdemand__record {
    flex-wrap: wrap
  }
}

.c-devicedemand {
  width: 350px
}

.c-devicedemand__title {
  min-height: 72px;
  color: #8031a7;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: 1em;
  letter-spacing: -0.02em
}

.c-devicedemand__title small {
  display: block;
  margin: 0 -10px 5px;
  font-size: 14px;
  text-indent: 0.06em;
  letter-spacing: 0.06em;
  line-height: 1.5em
}

.c-devicedemand__column {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 27px
}

.c-devicedemand__image {
  position: relative;
  top: 14px;
  margin-right: 26px;
  width: 72px
}

.c-devicedemand__image img {
  display: block;
  width: 100%;
  height: auto
}

.c-devicedemand__data {
  position: relative;
  padding-top: 1.3em;
  display: flex;
  align-items: flex-end;
  margin-top: -0.45em
}

.c-devicedemand__data span {
  display: block
}

.c-devicedemand__data__text {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 24px;
  font-weight: 500;
  display: block
}

.c-devicedemand__value {
  margin-bottom: -0.15em;
  font-family: Arial, sans-serif;
  font-size: 80px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1em
}

.c-devicedemand__unit {
  font-family: Arial, sans-serif;
  font-size: 24px;
  font-weight: 700;
  line-height: 1em
}

@media only screen and (max-width:768px) {
  .c-devicedemand {
    margin-top: 45px;
    width: auto
  }
  .c-devicedemand__title {
    min-height: auto;
    font-size: 18px
  }
  .c-devicedemand__title small {
    font-size: 10px;
    text-indent: 0.12em;
    letter-spacing: 0.12em
  }
  .c-devicedemand__column {
    margin-top: 32px
  }
  .c-devicedemand__image {
    margin-right: 20px;
    width: 54px
  }
  .c-devicedemand__data {
    margin-top: -0.35em
  }
  .c-devicedemand__data__text {
    font-size: 18px
  }
  .c-devicedemand__value {
    margin-bottom: -0.15em;
    font-size: 60px
  }
  .c-devicedemand__unit {
    font-size: 18px
  }
}

.c-patentsheld {
  position: relative;
  width: 290px;
  z-index: 1
}

.c-patentsheld__title {
  min-height: 72px;
  margin-left: 15px;
  color: #8031a7;
  font-size: 24px;
  font-weight: 700;
  line-height: 1em
}

.c-patentsheld__image {
  position: absolute;
  top: 0;
  right: 45px;
  width: 52px;
  z-index: 1
}

.c-patentsheld__image img {
  display: block;
  width: 100%;
  height: auto
}

.c-patentsheld__data {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  margin-top: 20px;
  padding-top: 1.3em;
  padding-bottom: 33px;
  z-index: 1
}

.c-patentsheld__value {
  margin-right: 0.05em;
  margin-bottom: -0.14em;
  font-family: Arial, sans-serif;
  font-size: 80px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1em
}

.c-patentsheld__unit {
  font-size: 24px;
  font-weight: 500;
  line-height: 1em
}

.c-patentsheld__caption {
  position: absolute;
  left: 70px;
  bottom: 0;
  font-size: 13px;
  line-height: 1em;
  z-index: 1
}

@media only screen and (max-width:768px) {
  .c-patentsheld {
    margin-top: 45px;
    width: auto
  }
  .c-patentsheld__title {
    min-height: auto;
    margin-left: 0px;
    font-size: 18px;
    text-align: center
  }
  .c-patentsheld__image {
    position: static;
    width: 39px
  }
  .c-patentsheld__data {
    margin-top: 0;
    padding-bottom: 28px
  }
  .c-patentsheld__value {
    margin-right: 0.05em;
    margin-bottom: -0.12em;
    font-size: 60px
  }
  .c-patentsheld__unit {
    font-size: 18px
  }
  .c-patentsheld__caption {
    left: 40px;
    font-size: 10px
  }
  .c-patentsheld__column {
    display: flex;
    justify-content: center;
    margin-top: 28px;
    align-items: center
  }
  .c-patentsheld__col:first-child {
    margin: 4px 16px 0 0
  }
}

.c-consortium {
  padding: 50px 0
}

.c-consortium__column {
  display: flex;
  justify-content: space-between
}

.c-consortium__col:first-child {
  width: 180px;
  order: 2
}

.c-consortium__col:last-child {
  width: calc(100% - 180px - 27px);
  order: 1
}

.c-consortium__image {}

.c-consortium__image img {
  display: block;
  width: 100%;
  height: auto
}

.c-consortium__item:last-child {
  margin-top: 40px
}

.c-consortium__title {
  color: #8031a7;
  font-size: 22px;
  font-weight: 700;
  line-height: 1em
}

.c-consortium__title small {
  display: block;
  margin-top: 2px;
  font-size: 16px
}

.c-consortium__title sup {
  font-size: 0.6em
}

.c-consortium__data {
  display: flex;
  align-items: flex-end;
  position: relative;
  margin-top: 6px;
  padding-bottom: 23px;
  z-index: 1
}

.c-consortium__about {
  font-size: 24px;
  font-weight: 500;
  line-height: 1em
}

.c-consortium__value {
  display: flex;
  align-items: center;
  margin: 0 0.08em -0.15em -0.08em;
  font-family: Arial, sans-serif;
  font-size: 80px;
  font-weight: 700;
  font-style: normal;
  white-space: nowrap;
  vertical-align: top;
  letter-spacing: -0.02em;
  line-height: 1em
}

.c-consortium__value i {
  position: relative;
  top: -0.08em;
  font-family: YakuHanJPs_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 64px;
  font-weight: 900;
  font-style: normal;
  line-height: 1em
}

.safari .c-consortium__value i {
  top: 0
}

.c-consortium__unit {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.15em
}

.c-consortium__unit sup {
  display: inline-block;
  margin-top: -0.5em;
  font-size: 0.5em;
  vertical-align: middle
}

.c-consortium__caption {
  position: absolute;
  left: 11px;
  bottom: 0;
  font-size: 13px;
  line-height: 1em;
  z-index: 1
}

@media only screen and (max-width:768px) {
  .c-consortium {
    padding: 0
  }
  .c-consortium__column {
    display: block
  }
  .c-consortium__col:first-child,
  .c-consortium__col:last-child {
    width: auto
  }
  .c-consortium__col:last-child {
    margin-top: 50px
  }
  .c-consortium__image {}
  .c-consortium__list {
    display: flex;
    justify-content: center;
    margin-left: -26px
  }
  .c-consortium__item {
    display: flex;
    flex-direction: column;
    margin-left: 26px
  }
  .c-consortium__item:last-child {
    margin-top: 0
  }
  .c-consortium__title {
    margin-bottom: 4px;
    font-size: 16px;
    text-align: center
  }
  .c-consortium__title small {
    display: inline-block;
    margin-top: 0;
    font-size: 12px
  }
  .c-consortium__data {
    justify-content: center;
    margin-top: auto;
    padding-bottom: 20px
  }
  .c-consortium__about {
    font-size: 18px
  }
  .c-consortium__value {
    margin: 0 0.1em -0.14em -0.07em;
    font-size: 60px
  }
  .c-consortium__value i {
    font-size: 48px
  }
  .c-consortium__unit {
    font-size: 18px
  }
  .c-consortium__caption {
    left: 5px;
    font-size: 10px;
    text-align: center
  }
}

.c-diversity__column {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: -52px;
  margin-left: -25px
}

.c-diversity__col {
  margin-top: 52px;
  margin-left: 25px;
  width: 290px
}

.c-diversity__title {
  color: #8031a7;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: 1em
}

.c-diversity__image {
  margin: 32px auto 0;
  width: 105px
}

.c-diversity__image img {
  display: block;
  width: 100%;
  height: auto
}

.c-diversity__data {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  margin: 22px -20px 0 0;
  padding-bottom: 40px;
  z-index: 1
}

.c-diversity__data span {
  display: block
}

.c-diversity__value {
  margin: 0 0.05em -0.15em 0;
  font-family: Arial, sans-serif;
  font-size: 80px;
  font-weight: 700;
  white-space: nowrap;
  letter-spacing: -0.02em;
  line-height: 1em
}

.c-diversity__unit {
  font-size: 24px;
  font-weight: 500;
  line-height: 1em
}

.c-diversity__caption {
  position: absolute;
  left: 0;
  right: 18px;
  bottom: 0;
  font-size: 13px;
  text-align: center;
  line-height: 1em;
  z-index: 1
}

@media only screen and (max-width:768px) {
  .c-diversity__column {
    display: block;
    margin: auto
  }
  .c-diversity__col {
    margin: 52px auto 0;
    max-width: 290px;
    width: auto
  }
  .c-diversity__col:first-child {
    margin-top: 0
  }
  .c-diversity__col:nth-child(2) .c-diversity__data {
    padding-bottom: 0
  }
  .c-diversity__title {
    font-size: 18px
  }
  .c-diversity__image {
    margin: 32px auto 0;
    width: 79px
  }
  .c-diversity__data {
    margin: 15px -18px 0 0;
    padding-bottom: 31px
  }
  .c-diversity__value {
    margin: 0 0.1em -0.15em 0;
    font-size: 60px
  }
  .c-diversity__unit {
    font-size: 18px
  }
  .c-diversity__caption {
    font-size: 10px
  }
}

.c-companyspec {
  margin: auto;
  max-width: 930px;
  padding-top: 48px
}

.c-companyspec__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 96px 0 -32px
}

.c-companyspec__list+.c-companyspec__list {
  margin: 0 0 0 64px
}

.c-companyspec__item {
  margin: 32px 0 0 32px;
  padding: 32px;
  width: 256px;
  border: 1px solid #eaeaea
}

.c-companyspec__title {
  color: #8031a7;
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  line-height: 1em
}

.c-companyspec__title+.c-companyspec__data {
  margin-top: 26px
}

.c-companyspec__image {
  margin: 24px auto 0;
  width: 86px
}

.c-companyspec__image img {
  display: block;
  width: 100%;
  height: auto
}

.c-companyspec__data {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  margin-top: 20px;
  z-index: 1
}

.c-companyspec__data span {
  display: block
}

.c-companyspec__data+.c-companyspec__data {
  margin-top: 8px
}

.c-companyspec__data--area {
  padding-right: 40px
}

.c-companyspec__about {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.15em
}

.c-companyspec__value {
  margin: 0 0.05em -0.15em 0;
  font-family: Arial, sans-serif;
  font-size: 80px;
  font-weight: 700;
  white-space: nowrap;
  letter-spacing: -0.02em;
  line-height: 1em
}

.c-companyspec__value i {
  position: relative;
  top: -0.08em;
  margin: 0 0.05em -0.02em 0.1em;
  font-family: YakuHanJPs_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 64px;
  font-weight: 900;
  font-style: normal;
  line-height: 1em
}

.c-companyspec__value u {
  text-decoration: none
}

.c-companyspec__unit {
  font-size: 24px;
  font-weight: 500;
  line-height: 1em
}

.c-companyspec__subvalue {
  margin: 0 0 20px -54px;
  font-family: Arial, sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1em
}

.c-companyspec__caption {
  position: absolute;
  right: 0;
  bottom: 3px;
  font-size: 13px;
  line-height: 1em;
  z-index: 1
}

.c-companyspec__current {
  margin-top: 20px;
  font-size: 13px;
  text-align: right;
  line-height: 1em
}

@media only screen and (max-width:768px) {
  .c-companyspec {
    margin-top: 42px;
    padding-top: 0;
    max-width: initial
  }
  .c-companyspec__list {
    display: block;
    margin: 0;
    border: 1px solid #eaeaea
  }
  .c-companyspec__list+.c-companyspec__list {
    margin: -1px 0 0
  }
  .c-companyspec__item {
    margin: 0;
    padding: 32px;
    width: auto;
    border: none;
    border-top: 1px solid #eaeaea
  }
  .c-companyspec__item:first-child {
    border-top: none
  }
  .c-companyspec__title {
    font-size: 18px
  }
  .c-companyspec__title+.c-companyspec__data {
    margin-top: 20px
  }
  .c-companyspec__image {
    margin: 20px auto 0;
    width: 65px
  }
  .c-companyspec__data {
    margin-top: 10px
  }
  .c-companyspec__data+.c-companyspec__data {
    margin-top: 2px
  }
  .c-companyspec__data--area {
    padding-right: 30px
  }
  .c-companyspec__about {
    font-size: 18px
  }
  .c-companyspec__value {
    margin: 0 0.05em -0.15em 0;
    font-size: 60px
  }
  .c-companyspec__value i {
    margin: 0 0.05em -0.03em 0;
    font-size: 48px
  }
  .c-companyspec__unit {
    font-size: 18px
  }
  .c-companyspec__subvalue {
    margin: 0 0 16px -40px;
    font-size: 36px
  }
  .c-companyspec__caption {
    left: 50%;
    right: auto;
    bottom: 2px;
    margin-left: 50px;
    font-size: 10px
  }
  .c-companyspec__current {
    margin-top: 15px;
    font-size: 10px
  }
}

.c-stockprice__image {
  width: 352px
}

.c-stockprice__image img {
  display: block;
  width: 100%;
  height: auto
}

.c-stockprice__more {
  display: flex;
  justify-content: flex-end;
  margin-top: 40px
}

@media only screen and (max-width:768px) {
  .c-stockprice__image {
    width: auto
  }
  .c-stockprice__more {
    margin-top: 28px
  }
}

.c-process__col {
  margin-top: 33px
}

.c-process__col .c-process__subject {
  margin-top: 0
}

.c-process__col .c-process__label {
  margin-top: 14px
}

.c-process__image {
  position: relative;
  padding-bottom: 100%;
  width: 100%;
  height: 0;
  overflow: hidden;
  z-index: 1
}

.c-process__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: contain
}

.c-process__subject {
  margin-top: 24px;
  color: #00a9e0;
  font-size: 16px;
  font-weight: 700;
  line-height: normal
}

.c-process__label {
  margin-top: 5px;
  font-size: 16px;
  font-weight: 700;
  line-height: 21px
}

.c-process__summary {
  margin-top: 10px;
  font-size: 16px;
  text-align: justify;
  line-height: 28px
}

.c-process a {
  display: block
}

@media only screen and (max-width:768px) {
  .c-process__column {
    display: flex;
    justify-content: space-between
  }
  .c-process__col {
    margin-top: 0;
    width: calc(50% - 11.5px)
  }
  .c-process__col .c-process__subject {
    margin-top: 0
  }
  .c-process__col .c-process__label {
    margin-top: 2px;
    line-height: 16px
  }
  .c-process__col .c-process__subject {
    margin-top: 0
  }
  .c-process__subject {
    margin-top: 16px;
    font-size: 13px;
    line-height: 20px
  }
  .c-process__label {
    margin-top: 0;
    font-size: 12px;
    line-height: 16px
  }
  .c-process__summary {
    margin-top: 11px;
    font-size: 12px;
    line-height: 21px
  }
}

.c-device {
  height: 100%;
  border: 1px solid #eaeaea;
  box-sizing: border-box
}

.c-device__column {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 16px 0 9px
}

.c-device__col:first-child {
  width: 45%
}

.c-device__col:last-child {
  padding: 8px 0;
  width: 50.3125%
}

.c-device__image {
  position: relative;
  padding-bottom: 100%;
  width: 100%;
  height: 0;
  background-color: #f2f2f2;
  overflow: hidden;
  z-index: 1
}

.c-device__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: contain
}

.c-device__subject {
  color: #00a9e0;
  font-size: 16px;
  font-weight: 700;
  line-height: 26px
}

.c-device__label {
  margin-top: 4px;
  font-size: 16px;
  font-weight: 700;
  line-height: 21px
}

.c-device__summary {
  margin: 20px 16px 0;
  font-size: 16px;
  text-align: justify;
  line-height: 28px
}

.c-device a {
  display: block;
  padding: 9px 0 16px;
  height: 100%
}

@media only screen and (max-width:768px) {
  .c-device__column {
    margin: 0 12px
  }
  .c-device__col:first-child {
    width: 35.5263157895%
  }
  .c-device__col:last-child {
    padding: 12px 0;
    width: 59.2105263158%
  }
  .c-device__subject {
    font-size: 13px;
    line-height: 20px
  }
  .c-device__label {
    margin-top: 4px;
    font-size: 12px;
    line-height: 15px
  }
  .c-device__summary {
    margin: 5px 12px 0;
    font-size: 12px;
    line-height: 21px
  }
  .c-device a {
    padding: 12px 0
  }
}

.c-netzero {
  padding: 47px 0
}

.c-netzero__image {
  margin: auto;
  max-width: 476px
}

.c-netzero__image img {
  display: block;
  width: 100%;
  height: auto
}

@media only screen and (max-width:768px) {
  .c-netzero {
    padding: 0
  }
  .c-netzero__image {
    max-width: initial
  }
}

.c-learningTried a {
  display: block
}

.c-learningTried__image {
  position: relative;
  overflow: hidden;
  z-index: 1
}

.c-learningTried__image:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -20px 0 0 -20px;
  width: 40px;
  height: 40px;
  background-image: url(../img/common/ic_play.svg);
  background-position: 0 -40px;
  background-repeat: no-repeat;
  background-size: 40px 80px;
  z-index: 2;
  will-change: opacity
}

.c-learningTried__subject {
  margin-top: 5px;
  font-size: 16px;
  font-weight: 700;
  text-align: center;
  line-height: 22px
}

@media only screen and (max-width:768px) {
  .c-learningTried__image:before {
    margin: -15px 0 0 -15px;
    width: 30px;
    height: 30px;
    background-position: 0 -30px;
    background-size: 30px 60px
  }
  .c-learningTried__subject {
    margin-top: 10px;
    font-size: 12px;
    line-height: 16.5px
  }
}

.p-bannerlink li {
  margin-top: 24px
}

.p-bannerlink li:first-child {
  margin-top: 0
}

.p-bannerlink a {
  display: block;
  color: currentcolor
}

.p-bannerlink a[target=_blank] span {
  padding-right: 10px
}

.p-bannerlink a[target=_blank] span:before {
  display: block
}

.p-bannerlink figure {
  overflow: hidden
}

.p-bannerlink figure img {
  display: block;
  width: 100%;
  height: auto
}

.p-bannerlink span {
  display: inline-block;
  position: relative;
  margin-top: 2px;
  font-size: 12px;
  font-weight: 300;
  line-height: normal;
  z-index: 1
}

.p-bannerlink span:before {
  display: none;
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
  width: 8px;
  height: 8px;
  background-image: url(../img/common/ic_blank.svg);
  background-repeat: no-repeat;
  background-size: 8px 16px;
  z-index: 1
}

@media only screen and (min-width:1120px) {
  .p-bannerlink a {
    transition-property: color;
    transition-duration: 0.5s
  }
  .p-bannerlink a img {
    transition-property: transform;
    transition-duration: 0.85s;
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
    will-change: transform
  }
  .p-bannerlink a:hover {
    color: #fff;
    transition-duration: 0s
  }
  .p-bannerlink a:hover img {
    transform: scale(1.1);
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
    transition-duration: 0.65s
  }
}

@media only screen and (max-width:1119px) {
  .p-bannerlink ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0 -24px
  }
  .p-bannerlink li {
    margin: 16px 0 0 24px;
    width: calc(50% - 24px)
  }
  .p-bannerlink li:first-child {
    margin: 16px 0 0 24px
  }
  .p-bannerlink li:nth-child(-n+2) {
    margin-top: 0
  }
  .p-bannerlink a[target=_blank] span {
    padding-right: 10px
  }
  .p-bannerlink span {
    margin-top: 4px;
    font-size: 11px
  }
}

.p-guidelink ul {
  display: flex;
  align-items: center;
  height: 64px;
  border: 1px solid #52565a;
  border-left: none;
  border-right: none;
  box-sizing: border-box
}

.p-guidelink li {
  margin-left: 44px
}

.p-guidelink li:first-child {
  margin-left: 0
}

.p-guidelink a {
  color: currentcolor;
  font-size: 12px;
  font-weight: 300
}

.p-guidelink a[target=_blank]:after {
  display: inline-block;
  content: "";
  margin-left: 8px;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  background-image: url(../img/common/ic_blank.svg);
  background-repeat: no-repeat;
  background-size: 14px 28px
}

@media only screen and (min-width:1120px) {
  .p-guidelink a {
    transition-property: color;
    transition-duration: 0.5s
  }
  .p-guidelink a:hover {
    color: #fff;
    transition-duration: 0s
  }
}

@media only screen and (max-width:1119px) {
  .p-guidelink ul {
    flex-wrap: wrap;
    height: auto
  }
  .p-guidelink li {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    padding: 0 10px;
    width: 50%;
    height: 47px;
    text-align: center;
    border-top: 1px solid #52565a;
    border-right: 1px solid #52565a
  }
  .p-guidelink li:first-child {
    margin-left: 0
  }
  .p-guidelink li:nth-child(-n+2) {
    border-top: none
  }
  .p-guidelink li:nth-child(2n) {
    border-right: none
  }
  .p-guidelink a {
    font-size: 11px
  }
}

.p-snslink ul {
  display: flex
}

.p-snslink li {
  margin-left: 12px
}

.p-snslink li:first-child {
  margin-left: 28px
}

.p-snslink li.is-twitter a:before {
  background-position: 0 0
}

.p-snslink li.is-twitter a:after {
  background-position: 0 -24px
}

.p-snslink li.is-facebook a:before {
  background-position: -24px 0
}

.p-snslink li.is-facebook a:after {
  background-position: -24px -24px
}

.p-snslink li.is-youtube a:before {
  background-position: -48px 0
}

.p-snslink li.is-youtube a:after {
  background-position: -48px -24px
}

.p-snslink li.is-linkedin a:before {
  background-position: -72px 0
}

.p-snslink li.is-linkedin a:after {
  background-position: -72px -24px
}

.p-snslink li.is-wechat a:before {
  background-position: -96px 0
}

.p-snslink li.is-wechat a:after {
  background-position: -96px -24px
}

.p-snslink li.is-naver a:before {
  background-position: -120px 0
}

.p-snslink li.is-naver a:after {
  background-position: -120px -24px
}

.p-snslink li.is-kakao a:before {
  background-position: -144px 0
}

.p-snslink li.is-kakao a:after {
  background-position: -144px -24px
}

.p-snslink a {
  display: block;
  position: relative;
  width: 34px;
  height: 34px;
  text-indent: 100%;
  white-space: nowrap;
  cursor: pointer;
  overflow: hidden;
  z-index: 1
}

.p-snslink a:after,
.p-snslink a:before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -12px 0 0 -12px;
  width: 22px;
  height: 24px;
  background-image: url(../img/common/sns.svg);
  background-repeat: no-repeat;
  background-size: 168px 48px;
  z-index: 1
}

.p-snslink a:after {
  opacity: 0
}

@media only screen and (min-width:1120px) {
  .p-snslink a:after,
  .p-snslink a:before {
    transition-property: opacity;
    transition-duration: 0.5s
  }
  .p-snslink a:before {
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
  .p-snslink a:after {
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }
  .p-snslink a:hover:after,
  .p-snslink a:hover:before {
    transition-duration: 0.25s
  }
  .p-snslink a:hover:before {
    opacity: 0;
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }
  .p-snslink a:hover:after {
    opacity: 1;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
}

@media only screen and (max-width:1119px) {
  .p-snslink {
    margin-top: 44px
  }
  .p-snslink ul {
    justify-content: center
  }
  .p-snslink li {
    margin: 0 8px
  }
  .p-snslink li:first-child {
    margin-left: 0px
  }
}

.p-linkset__column {
  display: flex;
  margin-left: -20px
}

.p-linkset__col {
  margin-left: 20px;
  width: calc(20% - 20px)
}

.p-linkset__col>:first-child {
  margin-top: 0
}

.p-linkset__main {
  margin-top: 23px
}

.p-linkset__main a {
  color: #00a9e0;
  font-size: 14px;
  font-weight: 700;
  line-height: normal
}

.p-linkset__main a[target=_blank]:after {
  display: inline-block;
  content: "";
  margin-left: 8px;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  background-image: url(../img/common/ic_blank.svg);
  background-repeat: no-repeat;
  background-size: 14px 28px
}

.p-linkset__main--contact a {
  color: #78be20
}

.p-linkset ul+.p-linkset__main {
  margin-top: 50px
}

.p-linkset li {
  margin-top: 17px
}

.p-linkset li:first-child {
  margin-top: 16px
}

.p-linkset li a {
  color: currentcolor;
  font-size: 12px;
  font-weight: 300;
  line-height: normal
}

.p-linkset li a[target=_blank]:after {
  display: inline-block;
  content: "";
  margin-left: 8px;
  width: 12px;
  height: 12px;
  vertical-align: middle;
  background-image: url(../img/common/ic_blank.svg);
  background-repeat: no-repeat;
  background-size: 12px 24px
}

.p-linkset li a[href$=".pdf"]:after {
  display: inline-block;
  content: "";
  width: 25px;
  height: 12px;
  margin-top: -0.3em;
  margin-left: 8px;
  vertical-align: middle;
  line-height: 1em;
  background-image: url(../img/common/file_pdf.svg);
  background-position: 0 -12px;
  background-size: 25px 24px
}

@media only screen and (min-width:769px) {
  .p-linkset {}
  .p-linkset a {
    transition-property: color;
    transition-duration: 0.5s
  }
  .p-linkset a:hover {
    color: #fff;
    transition-duration: 0s
  }
}

.p-megamenu__menu li a[target=_blank]:after {
  display: inline-block;
  content: "";
  margin-left: 8px;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  background-image: url(../img/common/ic_blank.svg);
  background-repeat: no-repeat;
  background-size: 16px 32px
}

.p-megamenu__menu li a[href$=".pdf"]:after {
  display: inline-block;
  content: "";
  width: 35px;
  height: 16px;
  line-height: 1em;
  background-image: url(../img/common/file_pdf.svg);
  background-size: 35px 32px
}

.p-megamenu__list.p-megamenu__list--sustainabilitytop {
  display: none
}

@media only screen and (min-width:1120px) {
  .p-megamenu {
    position: relative;
    z-index: 1
  }
  .p-megamenu__outer {
    margin: 0 40px
  }
  .p-megamenu__inner {
    position: relative;
    margin: auto;
    padding-bottom: 38px;
    min-height: 265px;
    z-index: 1
  }
  .p-megamenu__inner:before {
    display: block;
    content: "";
    position: absolute;
    top: 40px;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: white;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    z-index: -1
  }
  .p-megamenu__label {
    margin: 0 120px
  }
  .p-megamenu__label a {
    display: flex;
    align-items: center;
    padding: 0 96px;
    height: 88px;
    line-height: 1em;
    background-color: rgba(0, 169, 224, 0.98)
  }
  .p-megamenu__label a.is-nohover {
    pointer-events: none
  }
  .p-megamenu__label a.is-nohover .c-direction__icon {
    display: none
  }
  .p-megamenu__labeltext {
    display: inline-block;
    position: relative;
    padding-right: 50px;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    z-index: 1
  }
  .p-megamenu__menu {
    margin: 23px 100px 0 120px;
    padding: 0 20px 44px 0;
    height: calc(100% - 73px - 36px);
    overflow: auto
  }
  .p-megamenu__menu ul {
    display: flex;
    flex-wrap: wrap;
    margin: -21px 0 0 -32px
  }
  .p-megamenu__menu li {
    margin: 21px 0 0 32px;
    width: calc(25% - 32px);
    line-height: 1.2em
  }
  .p-megamenu__menu li.is-top {
    display: none
  }
  .p-megamenu__menu li a {
    display: flex;
    align-items: center;
    position: relative;
    padding-bottom: 22px;
    height: 74px;
    font-size: 16px;
    font-weight: 700;
    z-index: 1
  }
  .p-megamenu__menu li a:before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 1px;
    background-color: #00a9e0;
    z-index: 1
  }
  .p-megamenu__menu li a[href$=".pdf"]:after {
    margin-left: 8px
  }
  .firefox .p-megamenu__menu li a[href$=".pdf"]:after {
    margin-top: 0.1em
  }
  .mac .p-megamenu__menu li a[href$=".pdf"]:after {
    margin-top: 0.1em
  }
  .safari .p-megamenu__menu li a[href$=".pdf"]:after {
    margin-left: 4px
  }
  .is-container .p-megamenu__container {
    display: flex;
    margin-top: 22px
  }
  .is-container .p-megamenu__container:first-child {
    margin-top: 8px
  }
  .p-cmp__category {
    padding-top: 35px;
    width: 196px;
    color: #8031a7;
    font-size: 16px;
    font-weight: 700;
    line-height: 25px
  }
  .p-megamenu__category {
    padding-top: 14px;
    width: 196px;
    color: #8031a7;
    font-size: 16px;
    font-weight: 700;
    line-height: 25px
  }
  .is-container .p-megamenu__list {
    width: calc(100% - 196px)
  }
  .is-container .p-megamenu__list ul {
    margin: 0 0 0 -32px
  }
  .is-container .p-megamenu__list li {
    margin: 0 0 0 32px;
    width: calc(20% - 32px)
  }
  .is-container .p-megamenu__list li.is-wide {
    width: calc(40% - 32px)
  }
  .p-megamenu__close {
    position: absolute;
    top: 40px;
    right: 0;
    cursor: pointer;
    z-index: 2
  }
  .p-megamenu__label a {
    transition-property: color;
    transition-duration: 0.5s
  }
  .p-megamenu__label a:hover {
    color: #2d2d2d;
    transition-duration: 0.2s
  }
  .p-megamenu__menu li a {
    transition-property: color;
    transition-duration: 0.5s
  }
  .p-megamenu__menu li a:hover {
    color: #00a9e0;
    transition-duration: 0s
  }
  .p-megamenu:not(.p-megamenuinc) {
    visibility: hidden;
    opacity: 0;
    transform: translateY(15px);
    transition-property: visibility, opacity, transform;
    transition-duration: 0s, 0.5s, 0.5s;
    transition-delay: 0.5s, 0s, 0s
  }
  .p-megamenu:not(.p-megamenuinc) .p-megamenu__label {
    opacity: 0;
    transform: translateY(15px);
    transition-property: opacity, transform;
    transition-duration: 0.25s;
    transition-delay: 0s, 0.25s
  }
  .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li {
    opacity: 0;
    transform: translateY(15px);
    transition-property: opacity, transform;
    transition-duration: 0.25s;
    transition-delay: 0s, 0.25s
  }
  .p-megamenu:not(.p-megamenuinc) .p-megamenu__close {
    opacity: 0;
    transform: translateY(15px);
    transition-property: opacity, transform;
    transition-duration: 0.5s;
    transition-delay: 0s, 0.5s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__label {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.35s;
    transition-delay: 0.2s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.35s;
    transition-delay: 0.2s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:first-child {
    transition-delay: 0.275s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(2) {
    transition-delay: 0.3s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(3) {
    transition-delay: 0.325s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(4) {
    transition-delay: 0.35s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(5) {
    transition-delay: 0.375s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(6) {
    transition-delay: 0.4s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(7) {
    transition-delay: 0.425s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(8) {
    transition-delay: 0.45s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(9) {
    transition-delay: 0.475s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(10) {
    transition-delay: 0.5s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(11) {
    transition-delay: 0.525s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(12) {
    transition-delay: 0.55s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(13) {
    transition-delay: 0.575s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(14) {
    transition-delay: 0.6s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(15) {
    transition-delay: 0.625s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(16) {
    transition-delay: 0.65s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(17) {
    transition-delay: 0.675s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(18) {
    transition-delay: 0.7s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(19) {
    transition-delay: 0.725s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__menu li:nth-child(20) {
    transition-delay: 0.75s
  }
  .is-active .p-megamenu:not(.p-megamenuinc) .p-megamenu__close {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.5s;
    transition-delay: 0.25s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
  .p-megamenuinc {
    visibility: hidden;
    opacity: 0;
    transform: translateY(15px);
    transition-property: visibility, opacity, transform;
    transition-duration: 0s, 0.5s, 0.5s;
    transition-delay: 0.5s, 0s, 0s
  }
  .p-megamenuinc .p-megamenu__label {
    opacity: 0;
    transform: translateY(15px);
    transition-property: opacity, transform;
    transition-duration: 0.25s;
    transition-delay: 0s, 0.25s
  }
  .p-megamenuinc .p-megamenu__menu li {
    opacity: 0;
    transform: translateY(15px);
    transition-property: opacity, transform;
    transition-duration: 0.25s;
    transition-delay: 0s, 0.25s
  }
  .p-megamenuinc .p-megamenu__close {
    opacity: 0;
    transform: translateY(15px);
    transition-property: opacity, transform;
    transition-duration: 0.5s;
    transition-delay: 0s, 0.5s
  }
  .is-show .p-megamenuinc {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0s
  }
  .is-show .p-megamenuinc .p-megamenu__label {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.35s;
    transition-delay: 0.2s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
  .is-show .p-megamenuinc .p-megamenu__menu li {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.35s;
    transition-delay: 0.2s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:first-child {
    transition-delay: 0.275s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(2) {
    transition-delay: 0.3s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(3) {
    transition-delay: 0.325s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(4) {
    transition-delay: 0.35s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(5) {
    transition-delay: 0.375s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(6) {
    transition-delay: 0.4s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(7) {
    transition-delay: 0.425s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(8) {
    transition-delay: 0.45s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(9) {
    transition-delay: 0.475s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(10) {
    transition-delay: 0.5s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(11) {
    transition-delay: 0.525s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(12) {
    transition-delay: 0.55s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(13) {
    transition-delay: 0.575s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(14) {
    transition-delay: 0.6s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(15) {
    transition-delay: 0.625s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(16) {
    transition-delay: 0.65s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(17) {
    transition-delay: 0.675s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(18) {
    transition-delay: 0.7s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(19) {
    transition-delay: 0.725s
  }
  .is-show .p-megamenuinc .p-megamenu__menu li:nth-child(20) {
    transition-delay: 0.75s
  }
  .is-show .p-megamenuinc .p-megamenu__close {
    opacity: 1;
    transform: translateY(0);
    transition-duration: 0.5s;
    transition-delay: 0.25s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
}

@media only screen and (max-width:1119px) {
  .p-megamenu__label {
    display: none
  }
  .p-megamenu__menu ul {
    padding-bottom: 15px
  }
  .p-megamenu__menu li {
    margin-top: 14px;
    line-height: 1.25em
  }
  .p-megamenu__menu li:first-child {
    margin-top: 0
  }
  .p-megamenu__menu li a {
    padding: 0 40px 0 35px;
    font-size: 13px;
    font-weight: 500
  }
  .p-megamenu__menu li a[href$=".pdf"]:after {
    vertical-align: middle
  }
  .safari .p-megamenu__menu li a[href$=".pdf"]:after {
    margin-top: -0.35em;
    margin-left: 12px
  }
  .android .p-megamenu__menu li a[href$=".pdf"]:after {
    margin-top: -0.2em;
    margin-left: 13px
  }
  .p-megamenu__menu li a br {
    display: none
  }
  .p-cmp__category {
    padding: 0 40px 10px 0px;
    color: #8031a7;
    font-size: 13px;
    font-weight: 700
  }
  .p-megamenu__category {
    padding: 0 40px 0 35px;
    color: #8031a7;
    font-size: 13px;
    font-weight: 700
  }
  .p-megamenu__category br {
    display: none
  }
  .is-container .p-megamenu__list {
    margin-top: 14px;
    padding-left: 1em
  }
  .is-container .p-megamenu__list.p-megamenu__list--sustainabilitytop {
    margin-top: 0;
    padding-left: 0;
    display: block
  }
  .p-megamenu__close {
    display: none
  }
}

.p-indexcolumn {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px
}

.p-indexcolumn__col {
  margin: 40px 0 0 32px
}

.p-indexcolumn--col2 {
  margin-left: -96px
}

.p-indexcolumn--col2 .p-indexcolumn__col {
  margin: 64px 0 0 96px;
  width: calc(50% - 96px)
}

.p-indexcolumn--col3 .p-indexcolumn__col {
  width: calc(33.3333333333% - 32px)
}

.p-indexcolumn--col4 .p-indexcolumn__col {
  width: calc(25% - 32px)
}

.p-indexcolumn__image {
  position: relative;
  padding-bottom: 50%;
  width: 100%;
  height: 0;
  background-color: #f2f2f2;
  overflow: hidden;
  z-index: 1
}

.p-indexcolumn__image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  object-fit: contain
}

.p-indexcolumn__subject {
  margin-top: 25px;
  color: #00a9e0;
  font-size: 18px;
  font-weight: 700;
  line-height: normal
}

.p-indexcolumn__summary {
  margin-top: 10px;
  font-size: 16px;
  line-height: 28px
}

.p-indexcolumn__date {
  display: block;
  margin-top: 33px;
  margin-bottom: -10px;
  font-size: 14px;
  font-weight: 700
}

.p-indexcolumn a {
  display: block
}

.p-indexcolumn a[target=_blank] .p-indexcolumn__image {
  position: relative;
  z-index: 1
}

.p-indexcolumn a[target=_blank] .p-indexcolumn__image:before {
  display: block;
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 16px;
  height: 16px;
  background-image: url(../img/common/ic_blank.svg);
  background-position: 0 -16px;
  background-repeat: no-repeat;
  background-size: 16px 32px;
  z-index: 2
}

@media only screen and (min-width:769px) {
  .p-indexcolumn--col2 .p-indexcolumn__col:nth-child(-n+2) {
    margin-top: 0
  }
  .p-indexcolumn--col3 .p-indexcolumn__col:nth-child(-n+3) {
    margin-top: 0
  }
  .p-indexcolumn--col4 .p-indexcolumn__col:nth-child(-n+4) {
    margin-top: 0
  }
}

@media only screen and (max-width:768px) {
  .p-indexcolumn {
    display: block;
    margin-left: 0
  }
  .p-indexcolumn--col2 .p-indexcolumn__col,
  .p-indexcolumn--col3 .p-indexcolumn__col,
  .p-indexcolumn--col4 .p-indexcolumn__col,
  .p-indexcolumn__col .p-indexcolumn__col {
    margin: 40px 0 0;
    width: auto
  }
  .p-indexcolumn--col2 .p-indexcolumn__col:first-child,
  .p-indexcolumn--col3 .p-indexcolumn__col:first-child,
  .p-indexcolumn--col4 .p-indexcolumn__col:first-child,
  .p-indexcolumn__col .p-indexcolumn__col:first-child {
    margin-top: 0
  }
  .p-indexcolumn__subject {
    margin-top: 18px;
    font-size: 16px
  }
  .p-indexcolumn__summary {
    margin-top: 4px;
    font-size: 12px
  }
  .p-indexcolumn__date {
    margin-top: 22px;
    margin-bottom: -10px;
    font-size: 11px
  }
  .p-indexcolumn a[target=_blank] .p-indexcolumn__image:before {
    right: 8px;
    bottom: 8px;
    width: 12px;
    height: 12px;
    background-position: 0 -12px;
    background-size: 12px 24px
  }
}

.p-swiper {
  -ms-user-select: none;
  -moz-user-select: -moz- none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  position: relative;
  z-index: 1
}

.p-swiper__item {
  height: auto
}

.p-swiper__button {
  margin: 0;
  padding: 0;
  width: 64px;
  height: 64px;
  z-index: 1
}

.p-swiper__button:after {
  display: none
}

.p-swiper__button.swiper-button-disabled {
  pointer-events: none;
  opacity: 1
}

.p-swiper__scrollbar {
  margin-top: 44px;
  height: 4px;
  background-color: #f2f2f2;
  border-radius: 0
}

.p-swiper__scrollbar .swiper-scrollbar-drag {
  background-color: #cacaca;
  border-radius: 0
}

.p-swiper.is-move .p-swiper__scrollbar .swiper-scrollbar-drag {
  background-color: #00a9e0
}

@media only screen and (max-width:768px) {
  .p-swiper__button {
    width: 48px;
    height: 48px
  }
  .p-swiper__scrollbar {
    margin: 28px -24px 0 0
  }
}

.p-sort {
  -ms-user-select: none;
  -moz-user-select: -moz- none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  display: flex;
  border-top: 1px solid #eaeaea;
  border-bottom: 1px solid #eaeaea
}

.p-sort__inner {
  width: calc(100% - 120px)
}

.p-sort__list {
  display: flex
}

.p-sort__item {
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 44px;
  width: auto !important;
  height: 95px;
  color: #a7a8aa;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em;
  cursor: pointer;
  z-index: 1
}

.p-sort__item:first-child {
  margin-left: 0
}

.p-sort__item:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background-color: #00a9e0;
  transform: scaleX(0);
  transform-origin: right
}

.p-sort__item.is-active {
  color: #00a9e0
}

.p-sort__item.is-active:before {
  transform: scaleX(1);
  transform-origin: left
}

.p-sort__scrollbar {
  display: none
}

.p-sort__more {
  display: flex;
  align-items: center;
  width: 120px;
  text-align: right;
  white-space: nowrap
}

.p-sort__more a {
  display: inline-block
}

@media only screen and (min-width:769px) {
  .p-sort__item {
    transition-property: color;
    transition-duration: 0.5s
  }
  .p-sort__item:before {
    transition-property: transform;
    transition-duration: 0.35s;
    transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
  }
  .p-sort__item:hover {
    color: #00a9e0;
    transition-duration: 0s
  }
  .p-sort__item:hover:before {
    transform: scaleX(1);
    transform-origin: left;
    transition-timing-function: cubic-bezier(0.16, 1, 0.3, 1)
  }
}

@media only screen and (max-width:920px) {
  .p-sort__item {
    margin-left: 20px
  }
}

@media only screen and (max-width:768px) {
  .p-sort {
    display: block;
    border-bottom: none;
    overflow: hidden
  }
  .p-sort__inner {
    width: auto;
    border-bottom: 1px solid #eaeaea
  }
  .p-sort__item {
    margin-left: 50px;
    height: 72px;
    font-size: 12px;
    white-space: nowrap
  }
  .p-sort__item:last-child {
    margin-right: 24px
  }
  .p-sort__scrollbar {
    display: block;
    margin-top: 24px;
    height: 4px;
    background-color: #f2f2f2;
    border-radius: 0
  }
  .p-sort__scrollbar .swiper-scrollbar-drag {
    background-color: #cacaca;
    border-radius: 0
  }
  .p-sort.is-move .p-sort__scrollbar .swiper-scrollbar-drag {
    background-color: #00a9e0
  }
  .p-sort__more {
    display: block;
    margin: 20px 24px 0 0;
    width: auto
  }
}

.p-loading {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  z-index: 10
}

.current-home .p-loading {
  top: 0
}

.p-loading__mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fff;
  z-index: 1
}

.p-loading__icon {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 1
}

.p-loading__label {
  position: absolute;
  left: 55px;
  bottom: 22px;
  color: #cacaca;
  font-family: Arial, sans-serif;
  font-size: 12px;
  font-weight: 700;
  line-height: 1em;
  z-index: 1
}

@media print {
  .p-loading {
    pointer-events: none;
    visibility: hidden
  }
}

.js-loading-ready .p-loading__icon,
.js-loading-ready .p-loading__label,
.js-loading-ready .p-loading__mask {
  transition-property: opacity
}

.js-loading-start .p-loading__mask {
  opacity: 0;
  transition-duration: 0.75s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}

.js-loading-start .p-loading__icon,
.js-loading-start .p-loading__label {
  opacity: 0;
  transition-duration: 0.25s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}

.js-loading-end {
  pointer-events: none;
  visibility: hidden
}

.p-notices {
  -ms-user-select: none;
  -moz-user-select: -moz- none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none
}

.p-notices__inner {
  max-height: 128px;
  overflow: hidden
}

.p-notices__item {
  padding-right: 16px;
  height: auto
}

.p-notices__item a {
  display: inline-block;
  margin-top: 6px;
  font-size: 14px;
  line-height: 27px
}

.p-notices__item:last-child {
  margin-bottom: 0 !important
}

.p-notices__data {
  color: #a1a2a4;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.25em
}

.p-notices__data time {
  display: inline-block;
  margin-right: 0.85em
}

.p-notices__button {
  position: absolute;
  left: 0;
  margin: 0;
  padding: 0;
  width: 64px;
  height: 64px;
  z-index: 1
}

.p-notices__button:after {
  display: none
}

.p-notices__button--prev {
  top: 64px
}

.p-notices__button--next {
  top: 128px
}

.p-notices__button.swiper-button-disabled {
  pointer-events: none;
  opacity: 1
}

.p-notices__scrollbar {
  position: absolute;
  top: 32px;
  right: 140px;
  width: 4px;
  height: 128px;
  background-color: #f2f2f2;
  border-radius: 0;
  z-index: 2
}

.p-notices__scrollbar .swiper-scrollbar-drag {
  background-color: #cacaca;
  border-radius: 0
}

.p-notices.is-move .p-notices__scrollbar .swiper-scrollbar-drag {
  background-color: #00a9e0
}

@media only screen and (max-width:768px) {
  .p-notices__inner {
    max-height: 112px
  }
  .p-notices__item {
    padding-right: 12px
  }
  .p-notices__item a {
    margin-top: 2px;
    font-size: 10px;
    line-height: 20px
  }
  .p-notices__data {
    font-size: 10px
  }
  .p-notices__button {
    width: 48px;
    height: 48px
  }
  .p-notices__button--prev {
    top: 48px
  }
  .p-notices__button--next {
    top: 96px
  }
  .p-notices__scrollbar {
    top: 16px;
    right: 60px;
    height: 112px
  }
}

@media only screen and (min-width:769px) {
  .p-spscroll__scrollbar {
    display: none
  }
}

@media only screen and (max-width:768px) {
  .p-spscroll {
    -ms-user-select: none;
    -moz-user-select: -moz- none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    user-select: none;
    margin: 0 -24px;
    min-height: 71px;
    overflow: hidden
  }
  .p-spscroll__inner {
    width: auto
  }
  .p-spscroll__col {
    padding: 0 24px;
    width: auto;
    white-space: nowrap
  }
  .p-spscroll__scrollbar {
    position: static !important;
    margin-top: 24px;
    margin: 24px 0 0 24px;
    width: calc(100% - 24px) !important;
    height: 3px !important;
    background-color: #f2f2f2;
    border-radius: 0
  }
  .p-spscroll__scrollbar .swiper-scrollbar-drag {
    background-color: #cacaca;
    border-radius: 0
  }
  .p-spscroll.is-move .p-spscroll__scrollbar .swiper-scrollbar-drag {
    background-color: #00a9e0
  }
}

.p-barcode {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5
}

.p-barcode__mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.85);
  z-index: 1
}

.p-barcode__main {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1
}

.p-barcode__image {
  width: 172px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2)
}

.p-barcode__image img {
  display: block;
  width: 100%;
  height: auto
}

.js-barcode {
  pointer-events: none;
  visibility: hidden
}

.js-barcode .p-barcode__mask {
  opacity: 0;
  -webkit-backdrop-filter: blur(0px);
  -moz-backdrop-filter: blur(0px);
  backdrop-filter: blur(0px)
}

.js-barcode .p-barcode__image {
  opacity: 0;
  transform: translateY(15px)
}

.js-barcode-ready {
  transition-property: visibility;
  transition-duration: 0s;
  transition-delay: 0.5s
}

.js-barcode-ready .p-barcode__mask {
  transition-property: opacity;
  transition-duration: 0.5s;
  will-change: backdrop-filter
}

.js-barcode-ready .p-barcode__image {
  transition-property: opacity, transform;
  transition-duration: 0.25s;
  transition-delay: 0s, 0.25s
}

.js-barcode-open {
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s
}

.js-barcode-open .p-barcode__mask {
  opacity: 1;
  -webkit-backdrop-filter: blur(5px);
  -moz-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  transition-duration: 0.25s
}

.js-barcode-open .p-barcode__image {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 0.5s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}

.p-pageintro {
  margin-top: 130px
}

.p-pageintro__column {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 1280px;
  width: calc(100vw - (50vw - 50%))
}

.p-pageintro__col:first-child {
  width: 47.5%;
  order: 2
}

.p-pageintro__col:last-child {
  width: 42.5%;
  order: 1
}

.p-pageintro__image {
  overflow: hidden
}

.p-pageintro__image span {
  display: block;
  overflow: hidden
}

.p-pageintro__summary {
  margin-top: 54px;
  font-size: 16px;
  text-align: justify;
  line-height: 37px
}

.p-pageintro__more {
  margin-top: 80px
}

.p-pageintro img {
  display: block;
  width: 100%;
  height: auto
}

@media only screen and (max-width:768px) {
  .p-pageintro {
    margin-top: 70px
  }
  .p-pageintro__column {
    display: block;
    max-width: initial;
    width: auto
  }
  .p-pageintro__col:first-child,
  .p-pageintro__col:last-child {
    width: auto
  }
  .p-pageintro__col:last-child {
    margin-top: 50px
  }
  .p-pageintro__summary {
    margin-top: 20px;
    font-size: 12px;
    line-height: 28px
  }
  .p-pageintro__more {
    margin-top: 43px
  }
}

.p-pageintro__image.js-indicate-ready span {
  transform: scale(1.15);
  will-change: transform
}

.p-pageintro__image.js-indicate-start span {
  transform: scale(1);
  transition-duration: 1.85s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}

.p-attempt {
  margin-top: 200px
}

.p-attempt__column {
  display: flex;
  justify-content: space-between;
  margin-top: 70px
}

.p-attempt__col:first-child {
  width: 31.4285714286%
}

.p-attempt__col:last-child {
  display: flex;
  flex-direction: column;
  width: 63.0357142857%
}

.p-attempt__image {
  display: block;
  overflow: hidden
}

.p-attempt__more {
  margin: auto 0 0 auto;
  width: 77.0538243626%
}

.p-attempt .c-paragraph {
  margin: 18px 0 28px
}

.p-attempt img {
  display: block;
  width: 100%;
  height: auto
}

@media only screen and (max-width:768px) {
  .p-attempt {
    margin-top: 120px
  }
  .p-attempt__column {
    display: block;
    margin-top: 0px
  }
  .p-attempt__col:first-child,
  .p-attempt__col:last-child {
    width: auto
  }
  .p-attempt__col:last-child {
    margin-top: 18px
  }
  .p-attempt__image {
    margin-top: 40px
  }
  .p-attempt__more {
    margin: 43px 0 0;
    width: auto
  }
  .p-attempt .c-paragraph {
    margin: 17px 0 0
  }
}

.p-highlights {
  margin-top: 156px
}

.p-highlights__content {
  margin-top: 70px
}

.p-highlights__more {
  margin: 75px 0 0 auto;
  width: 48.5714285714%
}

.p-highlights .c-paragraph {
  margin-top: 39px
}

@media only screen and (max-width:768px) {
  .p-highlights {
    margin-top: 80px
  }
  .p-highlights__content {
    margin-top: 0px
  }
  .p-highlights__content {
    margin-top: 43px
  }
  .p-highlights__more {
    margin: 43px 0 0;
    width: auto
  }
  .p-highlights .c-paragraph {
    margin-top: 16px
  }
}

.p-news {
  margin-top: 120px
}

.p-news__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px;
  padding-top: 24px
}

.p-news__item {
  margin: 56px 0 0 32px;
  padding-bottom: 56px;
  width: calc(50% - 32px);
  border-bottom: 1px solid #eaeaea
}

.p-news__more {
  margin: 75px 0 0 auto;
  width: 48.5714285714%
}

.p-news .c-paragraph {
  margin-top: 39px
}

@media only screen and (max-width:768px) {
  .p-news {
    margin-top: 80px
  }
  .p-news__list {
    margin-left: -24px;
    padding-top: 0px
  }
  .p-news__item {
    margin: 40px 0 0 24px;
    padding-bottom: 20px;
    width: calc(50% - 24px)
  }
  .p-news__more {
    margin: 43px 0 0;
    width: auto
  }
  .p-news .c-paragraph {
    margin-top: 16px
  }
}

.p-localnav {
  margin-top: 96px;
  border-bottom: 2px solid #eaeaea
}

.p-localnav__outer {
  margin: 0 64px
}

.p-localnav__inner {
  margin: auto;
  max-width: 1120px
}

.p-localnav ul {
  display: flex;
  justify-content: space-between;
  margin: 0 0 -2px -2px
}

.p-localnav li {
  position: relative;
  margin-left: -2px;
  width: 100%;
  z-index: 1
}

.p-localnav li a {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  height: 126px;
  color: #a6a7a9;
  font-size: 32px;
  font-weight: 700;
  text-align: center;
  line-height: 86px;
  z-index: 1
}

.p-localnav li a:before {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 2px solid #eaeaea;
  border-color: #fff #fff #eaeaea #fff;
  box-sizing: border-box;
  z-index: 1
}

.p-localnav li.is-active {
  z-index: 2
}

.p-localnav li.is-active a {
  color: #00a9e0
}

.p-localnav li.is-active a:before {
  border-color: #eaeaea #eaeaea #fff #eaeaea
}

.p-localnav--bottom {
  margin-top: 200px;
  border-top: 2px solid #eaeaea;
  border-bottom: none
}

.p-localnav--bottom ul {
  margin: -2px 0 0 -2px
}

.p-localnav--bottom li a:before {
  border-color: #eaeaea #fff #fff #fff
}

.p-localnav--bottom li.is-active a:before {
  border-color: #fff #eaeaea #eaeaea #eaeaea
}

.p-localnav--compact li a {
  height: 87px;
  font-size: 24px;
  line-height: 32px
}

@media only screen and (min-width:769px) {
  .p-localnav li a {
    transition-property: color;
    transition-duration: 0.5s
  }
  .p-localnav li a:hover {
    color: #00a9e0;
    transition-duration: 0s
  }
}

@media only screen and (max-width:768px) {
  .p-localnav {
    margin-top: 54px;
    border-bottom: 1px solid #eaeaea
  }
  .p-localnav__outer {
    margin: 0 24px
  }
  .p-localnav__inner {
    max-width: initial
  }
  .p-localnav ul {
    margin: 0 0 -1px -1px
  }
  .p-localnav li {
    margin-left: -1px
  }
  .p-localnav li a {
    height: 65px;
    font-size: 20px
  }
  .p-localnav li a:before {
    border: 1px solid #eaeaea;
    border-color: #fff #fff #eaeaea #fff
  }
  .p-localnav--bottom {
    margin-top: 100px;
    border-top: 1px solid #eaeaea;
    border-bottom: none
  }
  .p-localnav--bottom ul {
    margin: -1px 0 0 -1px
  }
  .p-localnav--bottom li a:before {
    border-color: #eaeaea #fff #fff #fff
  }
  .p-localnav--compact li a {
    height: 62px;
    font-size: 12px;
    line-height: 18px
  }
}

.p-toplink {
  margin: 0 68px 50px 0
}

.p-toplink ul {
  display: flex;
  flex-wrap: wrap;
  margin: -32px 0 0 -32px
}

.p-toplink li {
  margin: 32px 0 0 32px;
  width: calc(86% / 3)
}

.p-toplink a {
  display: block;
  color: #00a9e0
}

.p-toplink a[target=_blank] span:after {
  display: inline-block;
  content: "";
  margin-left: 8px;
  width: 14px;
  height: 14px;
  vertical-align: middle;
  background-image: url(../img/common/ic_blank.svg);
  background-repeat: no-repeat;
  background-size: 14px 28px
}

.p-toplink figure {
  overflow: hidden
}

.p-toplink span {
  display: block;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1em
}

.p-toplink img {
  display: block;
  width: 100%;
  height: auto
}

@media only screen and (min-width:769px) {
  .p-toplink a:hover {
    color: #fff
  }
}

.p-ytplayer {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5
}

.p-ytplayer__mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.85);
  z-index: 1
}

.p-ytplayer__loading {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -10px 0 0 -10px;
  z-index: 1
}

.p-ytplayer__outer {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 64px;
  right: 64px;
  bottom: 0;
  z-index: 1
}

.p-ytplayer__inner {
  position: relative;
  width: 800px;
  background-color: #fff;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
  z-index: 1
}

.p-ytplayer__movie {
  position: relative;
  padding-bottom: 56.2260536398%;
  width: 100%;
  height: 0;
  z-index: 1
}

.p-ytplayer__movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1
}

.p-ytplayer__close {
  position: absolute;
  top: 0;
  right: -64px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
  z-index: 2
}

@media only screen and (max-width:768px) {
  .p-ytplayer__outer {
    left: 0;
    right: 0
  }
  .p-ytplayer__inner {
    width: 100%
  }
  .p-ytplayer__close {
    top: -48px;
    right: 0
  }
}

.js-ytplayer {
  pointer-events: none;
  visibility: hidden
}

.js-ytplayer .p-ytplayer__mask {
  opacity: 0;
  -webkit-backdrop-filter: blur(0px);
  -moz-backdrop-filter: blur(0px);
  backdrop-filter: blur(0px)
}

.js-ytplayer .p-ytplayer__inner {
  pointer-events: none;
  opacity: 0;
  transform: translateY(15px)
}

.js-ytplayer-ready {
  transition-property: visibility;
  transition-duration: 0s;
  transition-delay: 0.5s
}

.js-ytplayer-ready .p-ytplayer__mask {
  transition-property: opacity;
  transition-duration: 0.5s;
  will-change: backdrop-filter
}

.js-ytplayer-ready .p-ytplayer__loading {
  transition-property: opacity;
  transition-duration: 0s;
  transition-delay: 0.5s
}

.js-ytplayer-ready .p-ytplayer__inner {
  transition-property: opacity, transform;
  transition-duration: 0.25s;
  transition-delay: 0s, 0.25s
}

.js-ytplayer-open {
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s
}

.js-ytplayer-open .p-ytplayer__mask {
  opacity: 1;
  -webkit-backdrop-filter: blur(5px);
  -moz-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  transition-duration: 0.25s
}

.js-ytplayer-start .p-ytplayer__loading {
  opacity: 0;
  transition-duration: 0.25s;
  transition-delay: 0s
}

.js-ytplayer-start .p-ytplayer__inner {
  pointer-events: auto;
  opacity: 1;
  transform: translateY(0);
  transition-duration: 0.5s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}

.p-diagram {
  margin-top: 80px
}

.p-diagram__main {
  position: relative;
  margin-right: 64px;
  max-width: 1280px;
  width: calc(100vw - (50vw - 50%));
  z-index: 1
}

.p-diagram__list {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1
}

.p-diagram__item {
  position: absolute;
  z-index: 1
}

.p-diagram__item--1963 {
  top: 37.9573170732%;
  left: 7.5%;
  width: 17.890625%
}

.p-diagram__item--1980 {
  top: 26.0670731707%;
  left: 23.828125%;
  width: 12.265625%
}

.p-diagram__item--1984 {
  top: 17.5304878049%;
  left: 36.796875%;
  width: 12.265625%
}

.p-diagram__item--1991 {
  top: 2.8963414634%;
  left: 47.265625%;
  width: 16.640625%
}

.p-diagram__item--1994 {
  top: 22.4085365854%;
  left: 51.875%;
  width: 20.078125%
}

.p-diagram__item--2015 {
  top: 22.4085365854%;
  left: 80.78125%;
  width: 16.953125%
}

.p-diagram__item--2022 {
  top: 2.8963414634%;
  left: 65.859375%;
  width: 21.328125%
}

.p-diagram__item img:nth-child(2) {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  opacity: 0
}

.p-diagram__item.js-diagram-anchor {
  cursor: pointer
}

.p-diagram img {
  display: block;
  width: 100%;
  height: auto
}

@media only screen and (min-width:769px) {
  .p-diagram__item.js-diagram-anchor img {
    transition-property: opacity;
    transition-duration: 0.5s
  }
  .p-diagram__item.js-diagram-anchor img:first-child {
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
  .p-diagram__item.js-diagram-anchor img:nth-child(2) {
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }
  .p-diagram__item.js-diagram-anchor:hover img:first-child {
    opacity: 0;
    transition-duration: 0.25s;
    transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)
  }
  .p-diagram__item.js-diagram-anchor:hover img:nth-child(2) {
    opacity: 1;
    transition-duration: 0.25s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
  }
}

@media only screen and (max-width:768px) {
  .p-diagram {
    margin-top: 52px
  }
  .p-diagram__main {
    margin: 0;
    max-width: initial;
    width: 1083px
  }
  .p-diagram__item img:nth-child(2) {
    visibility: hidden
  }
}

.p-diagram.js-indicate-ready .p-diagram__item {
  opacity: 0;
  transform: translateY(15px);
  transition-property: opacity, transform
}

.p-diagram.js-indicate-start .p-diagram__item {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1), cubic-bezier(0.34, 1.56, 0.64, 1)
}

.p-diagram.js-indicate-start .p-diagram__item:first-child {
  transition-delay: 0.3s
}

.p-diagram.js-indicate-start .p-diagram__item:nth-child(2) {
  transition-delay: 0.35s
}

.p-diagram.js-indicate-start .p-diagram__item:nth-child(3) {
  transition-delay: 0.4s
}

.p-diagram.js-indicate-start .p-diagram__item:nth-child(4) {
  transition-delay: 0.45s
}

.p-diagram.js-indicate-start .p-diagram__item:nth-child(5) {
  transition-delay: 0.5s
}

.p-diagram.js-indicate-start .p-diagram__item:nth-child(6) {
  transition-delay: 0.55s
}

.p-diagram.js-indicate-start .p-diagram__item:nth-child(7) {
  transition-delay: 0.6s
}

.p-diagram.js-indicate-start .p-diagram__item:nth-child(8) {
  transition-delay: 0.65s
}

.p-diagram.js-indicate-start .p-diagram__item:nth-child(9) {
  transition-delay: 0.7s
}

.p-diagram.js-indicate-start .p-diagram__item:nth-child(10) {
  transition-delay: 0.75s
}

.p-diagramdetail {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5
}

.p-diagramdetail__mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(255, 255, 255, 0.85);
  z-index: 1
}

.p-diagramdetail__outer {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 64px;
  right: 64px;
  bottom: 0;
  z-index: 1
}

.p-diagramdetail__inner {
  display: flex;
  position: relative;
  margin: auto;
  max-width: 976px;
  max-height: 90vh;
  min-height: 480px;
  width: 100%;
  height: auto;
  background-color: #fff;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.2);
  z-index: 1;
  overflow: hidden
}

.p-diagramdetail__item {
  display: flex;
  justify-content: space-between;
  position: relative;
  margin: 0 120px 0 90px
}

.p-diagramdetail__item.is-single {
  display: block
}

.p-diagramdetail__main {
  position: relative;
  padding: 65px 0;
  width: 50.2610966057%;
  z-index: 1
}

.is-single .p-diagramdetail__main {
  width: auto
}

.p-diagramdetail__year {
  font-family: Arial, sans-serif;
  font-size: 72px;
  font-weight: 700;
  line-height: 1em;
  overflow: hidden
}

.p-diagramdetail__year span {
  display: block
}

.p-diagramdetail__subject {
  margin-top: 25px;
  color: #00a9e0;
  font-size: 24px;
  font-weight: 700;
  line-height: normal
}

.p-diagramdetail__title {
  margin: 0 0 -10px;
  font-size: 32px;
  font-weight: 700;
  line-height: 56px;
  overflow: hidden
}

.p-diagramdetail__title span {
  display: block
}

.p-diagramdetail__summary {
  margin-top: 25px;
  padding-right: 10px;
  max-height: calc(90vh - 245px);
  font-size: 16px;
  text-align: justify;
  line-height: 34px;
  overflow: auto
}

.p-diagramdetail__summary::-webkit-scrollbar {
  width: 5px
}

.p-diagramdetail__summary::-webkit-scrollbar-track {
  background-color: #f2f2f2
}

.p-diagramdetail__summary::-webkit-scrollbar-thumb {
  background-color: #cacaca
}

.p-diagramdetail__image {
  padding-top: 65px;
  width: 45.953002611%;
  overflow: hidden
}

.p-diagramdetail__image span {
  display: block;
  overflow: hidden
}

.p-diagramdetail__image img {
  display: block;
  width: 100%;
  height: auto
}

.p-diagramdetail__tag {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 0 -24px
}

.p-diagramdetail__tag li {
  margin: 24px 0 0 24px;
  color: #00a9e0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1em
}

.p-diagramdetail__more {
  position: absolute;
  left: 0;
  bottom: 4px;
  padding-bottom: 25px;
  z-index: 1
}

.p-diagramdetail__page {
  position: absolute;
  right: 0;
  bottom: 136px;
  width: 64px;
  font-family: Arial, sans-serif;
  font-size: 14px;
  text-align: center;
  text-indent: 0.1em;
  letter-spacing: 0.1em;
  line-height: 1em;
  z-index: 1
}

.p-diagramdetail__page em {
  font-weight: 700;
  font-style: normal
}

.p-diagramdetail__page em:first-child {
  color: #8031a7
}

.p-diagramdetail__control {
  -ms-user-select: none;
  -moz-user-select: -moz- none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2
}

.p-diagramdetail__close {
  -ms-user-select: none;
  -moz-user-select: -moz- none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2
}

.p-diagramdetail__item {
  height: 0;
  visibility: hidden;
  overflow: hidden;
  z-index: 1;
  transition-property: height, visibility;
  transition-duration: 0s;
  transition-delay: 0s
}

.p-diagramdetail__item.is-active {
  height: auto;
  visibility: visible;
  z-index: 2;
  transition-duration: 0s;
  transition-delay: 0s
}

.p-diagramdetail__title,
.p-diagramdetail__year {
  display: inline-block;
  transform: translateX(-110%);
  transition-property: transform
}

.p-diagramdetail__title span,
.p-diagramdetail__year span {
  transform: translateX(110%);
  transition-property: transform
}

.is-active .p-diagramdetail__title,
.is-active .p-diagramdetail__year {
  transform: translateX(0);
  transition-duration: 0.85s;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
}

.is-active .p-diagramdetail__title span,
.is-active .p-diagramdetail__year span {
  transform: translateX(0);
  transition-duration: 0.85s;
  transition-delay: 0.15s;
  transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1)
}

.p-diagramdetail__more,
.p-diagramdetail__subject,
.p-diagramdetail__summary,
.p-diagramdetail__tag {
  opacity: 0;
  transform: translateY(25px);
  transition-property: opacity, transform
}

.is-active .p-diagramdetail__more,
.is-active .p-diagramdetail__subject,
.is-active .p-diagramdetail__summary,
.is-active .p-diagramdetail__tag {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 0.65s;
  transition-delay: 0.5s;
  transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1), cubic-bezier(0.33, 1, 0.68, 1)
}

.is-active .p-diagramdetail__more,
.is-active .p-diagramdetail__summary,
.is-active .p-diagramdetail__tag {
  transition-delay: 0.6s
}

.p-diagramdetail__image img {
  opacity: 0;
  transform: scale(1.15);
  transition-property: opacity, transform;
  will-change: transform
}

.is-active .p-diagramdetail__image img {
  opacity: 1;
  transform: scale(1);
  transition-duration: 1.65s
}

@media only screen and (max-width:768px) {
  .p-diagramdetail__outer {
    display: block;
    left: 0;
    right: 0;
    overflow: auto
  }
  .p-diagramdetail__inner {
    display: block;
    margin: 24px;
    padding: 38px 0 80px;
    max-height: initial;
    min-height: initial;
    width: auto;
    height: auto;
    overflow: visible
  }
  .p-diagramdetail__item {
    display: block;
    margin: 0
  }
  .p-diagramdetail__main {
    margin: 0 20px;
    padding: 0;
    width: auto
  }
  .p-diagramdetail__year {
    font-size: 54px
  }
  .p-diagramdetail__subject {
    margin-top: 20px;
    font-size: 18px
  }
  .p-diagramdetail__title {
    margin: 0 0 6px;
    font-size: 24px;
    line-height: 28px
  }
  .p-diagramdetail__summary {
    margin-top: 20px;
    max-height: initial;
    font-size: 12px;
    line-height: 26px;
    overflow: visible
  }
  .p-diagramdetail__image {
    margin: 27px 20px 0;
    padding-top: 0;
    width: auto
  }
  .p-diagramdetail__tag {
    margin: 0 0 0 -14px
  }
  .p-diagramdetail__tag li {
    margin: 14px 0 0 14px;
    font-size: 9px
  }
  .p-diagramdetail__more {
    position: static;
    margin: 35px 0 5px
  }
  .p-diagramdetail__page {
    display: flex;
    justify-content: center;
    align-items: center;
    right: 96px;
    bottom: 0;
    width: 48px;
    height: 48px;
    font-size: 10px
  }
  .p-diagramdetail__control {
    display: flex;
    right: 0;
    bottom: 0
  }
  .p-diagramdetail__control .c-control:first-child {
    order: 2
  }
}

.js-diagramdetail {
  pointer-events: none;
  visibility: hidden
}

.js-diagramdetail .p-diagramdetail__mask {
  opacity: 0;
  -webkit-backdrop-filter: blur(0px);
  -moz-backdrop-filter: blur(0px);
  backdrop-filter: blur(0px)
}

.js-diagramdetail .p-diagramdetail__inner {
  opacity: 0;
  transform: translateY(15px)
}

.js-diagramdetail-ready {
  transition-property: visibility;
  transition-duration: 0s;
  transition-delay: 0.5s
}

.js-diagramdetail-ready .p-diagramdetail__mask {
  transition-property: opacity;
  transition-duration: 0.5s;
  will-change: backdrop-filter
}

.js-diagramdetail-ready .p-diagramdetail__inner {
  transition-property: opacity, transform;
  transition-duration: 0.25s;
  transition-delay: 0s, 0.25s
}

.js-diagramdetail-open {
  pointer-events: auto;
  visibility: visible;
  transition-delay: 0s
}

.js-diagramdetail-open .p-diagramdetail__mask {
  opacity: 1;
  -webkit-backdrop-filter: blur(5px);
  -moz-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  transition-duration: 0.25s
}

.js-diagramdetail-open .p-diagramdetail__inner {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 0.5s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1)
}

.p-history {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1
}

.p-history__index {
  padding-top: 88px;
  width: 150px
}

.p-history__index ul {
  display: block
}

.p-history__index li {
  margin-bottom: 24px;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em
}

.p-history__index li a {
  display: block;
  color: #a7a8aa
}

.p-history__index li.is-active a {
  color: #78be20;
  transition-duration: 0s
}

.p-history__index.is-start ul {
  position: fixed;
  top: 165px
}

.p-history__index.is-end ul {
  position: absolute;
  top: auto;
  bottom: -24px
}

.p-history__main {
  padding-top: 50px;
  width: calc(100% - 150px)
}

.p-history__header {
  margin-top: -78px;
  padding-top: 80px
}

.p-history__header span {
  display: block;
  padding-top: 90px;
  padding-top: 33px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em
}

.p-history__header em {
  display: inline-block;
  margin-right: 0.25em;
  font-size: 32px;
  font-style: normal;
  line-height: 1em
}

.p-history__column {
  display: flex;
  justify-content: space-between;
  margin-left: 42px
}

.p-history__year {
  padding: 32px 0 27px;
  width: 160px;
  border-bottom: 1px solid #00a9e0
}

.p-history__detail {
  padding: 29px 0 28px;
  width: calc(100% - 160px - 32px);
  border-bottom: 1px solid #78be20
}

.p-history__detail>:first-child {
  padding-top: 0
}

.p-history__year {
  font-size: 16px;
  font-weight: 700;
  line-height: 1em
}

.p-history__event {
  padding-top: 22px
}

.p-history__event li {
  position: relative;
  padding-left: 30px;
  font-size: 16px;
  text-align: justify;
  line-height: 1.5em;
  z-index: 1
}

.p-history__event li:before {
  display: block;
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 8px;
  height: 8px;
  background-color: #00a9e0;
  z-index: 1
}

.p-history__event li+li {
  margin-top: 8px
}

.p-history__image {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px;
  padding-top: 30px
}

.p-history__image figure {
  margin: 0 0 0 32px;
  width: 256px
}

.p-history__image figure img {
  display: block;
  width: 100%;
  height: auto
}

.p-history__image figcaption {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.25em
}

@media only screen and (min-width:769px) {
  .p-history__index li a {
    transition-property: color;
    transition-duration: 0.25s
  }
  .p-history__index li a:hover {
    color: #78be20;
    transition-duration: 0s
  }
}

@media only screen and (max-width:768px) {
  .p-history {
    display: block;
    margin-top: 52px
  }
  .p-history__index {
    display: none
  }
  .p-history__main {
    width: auto;
    border-bottom: 1px solid #00a9e0
  }
  .p-history__header {
    margin-top: -60px;
    padding-top: 60px
  }
  .p-history__header span {
    display: block;
    position: relative;
    padding-top: 0;
    font-size: 12px;
    height: 98px;
    line-height: 104px;
    border-top: 1px solid #00a9e0;
    cursor: pointer;
    z-index: 1
  }
  .p-history__header em {
    font-size: 24px
  }
  .p-history__header i {
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -6px;
    width: 12px;
    height: 12px;
    z-index: 1;
    transition-property: transform;
    transition-duration: 0.25s;
    transition-delay: 0s
  }
  .p-history__header i:after,
  .p-history__header i:before {
    display: block;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url(../img/common/ic_opener.svg);
    background-position: 0 -12px;
    background-repeat: no-repeat;
    background-size: 24px 48px;
    z-index: 1;
    transition-property: transform;
    transition-duration: 0.25s;
    transition-delay: 0.25s
  }
  .p-history__header i:after {
    background-position: -12px -12px
  }
  .p-history__header.is-active i {
    transform: rotate(180deg);
    transition-delay: 0.25s
  }
  .p-history__header.is-active i:before {
    transform: scaleY(0);
    transition-delay: 0s
  }
  .p-history__column {
    display: block;
    margin-left: 0;
    padding: 20px 0;
    border-top: 1px solid #eaeaea
  }
  .p-history__year {
    padding: 0;
    width: auto;
    border-bottom: none
  }
  .p-history__detail {
    padding: 20px 0 0;
    width: auto;
    border-bottom: none
  }
  .p-history__event {
    padding-top: 20px
  }
  .p-history__event li {
    padding-left: 20px;
    font-size: 12px;
    line-height: 18px
  }
  .p-history__event li:before {
    top: 0.45em
  }
  .p-history__event li+li {
    margin-top: 10px
  }
  .p-history__image {
    margin: 0 0 0 -20px;
    padding-top: 20px
  }
  .p-history__image figure {
    margin: 0 0 0 20px;
    width: calc(50% - 20px)
  }
  .p-history__image figcaption {
    margin-top: 12px;
    font-size: 10px
  }
}

@media print {
  .p-history__index {
    display: none
  }
  .p-history__main {
    padding-top: 50px;
    width: 100%
  }
}

.p-irinfo__tab ul {
  display: flex;
  justify-content: center;
  border: 1px solid #eaeaea;
  border-left: none;
  border-right: none;
  box-sizing: border-box
}

.p-irinfo__tab li {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 50%;
  height: 87px;
  color: #a7a8aa;
  font-size: 24px;
  font-weight: 700;
  line-height: 1em;
  cursor: pointer;
  z-index: 1
}

.p-irinfo__tab li:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background-color: #00a9e0;
  z-index: 1;
  transform: scaleX(0);
  transform-origin: right
}

.p-irinfo__tab li.is-active {
  color: #00a9e0
}

.p-irinfo__tab li.is-active:before {
  transform: scaleX(1)
}

.p-irinfo__content {
  pointer-events: none;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition-property: visibility, height, opacity;
  transition-duration: 0s, 0s, 0.5s;
  transition-delay: 0.5s
}

.p-irinfo__content.is-active {
  pointer-events: auto;
  visibility: visible;
  height: auto;
  opacity: 1;
  transition-delay: 0s
}

.p-irinfo__content ul {
  padding: 12px 0 14px;
  border-bottom: 1px solid #eaeaea
}

.p-irinfo__content li {
  display: flex;
  padding: 16px 0
}

.p-irinfo__content li time {
  padding-top: 0.67em;
  width: 110px;
  color: #00a9e0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1em
}

.p-irinfo__content li a,
.p-irinfo__content li span {
  width: calc(100% - 110px);
  font-size: 16px;
  font-weight: 400;
  line-height: 32px
}

.p-irinfo__period {
  margin: 38px 0 11px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1em
}

.p-irinfo__more {
  display: flex;
  justify-content: flex-end;
  margin-top: 40px
}

@media only screen and (min-width:769px) {
  .p-irinfo__tab li {
    transition-property: color;
    transition-duration: 0.5s
  }
  .p-irinfo__tab li:before {
    transition-property: transform;
    transition-duration: 0.5s
  }
  .p-irinfo__tab li:hover {
    color: #00a9e0;
    transition-duration: 0.25s
  }
  .p-irinfo__tab li:hover:before {
    transform: scaleX(1);
    transform-origin: left;
    transition-duration: 0.25s
  }
}

@media only screen and (max-width:768px) {
  .p-irinfo__tab li {
    height: 72px;
    font-size: 16px
  }
  .p-irinfo__content ul {
    padding: 24px 0 16px
  }
  .p-irinfo__content li {
    display: block;
    padding: 8px 0
  }
  .p-irinfo__content li time {
    display: block;
    padding-top: 0;
    width: auto;
    font-size: 11px
  }
  .p-irinfo__content li a,
  .p-irinfo__content li span {
    display: inline-block;
    margin-top: 8px;
    width: auto;
    font-size: 12px;
    line-height: 24px
  }
  .p-irinfo__period {
    margin: 34px 0 -3px;
    font-size: 18px
  }
  .p-irinfo__more {
    margin-top: 27px
  }
}

.p-download__label {
  margin: 0 14px 32px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1em
}

.p-download__box {
  padding: 8px;
  border: 1px solid #00a9e0;
  border-top: 1px solid #78be20;
  border-left: 1px solid #78be20;
  box-sizing: border-box
}

.p-download__all .c-button__label {
  padding: 33px 68px 33px 24px;
  font-weight: 700
}

.p-download__item ul {
  border-top: 1px solid #fff
}

.p-download__item li {
  border-top: 1px solid #fff
}

.p-download__item .c-button__label {
  padding: 16px 38px 16px 24px;
  font-weight: 400
}

.p-download .c-button {
  height: auto
}

.p-download .c-button__label {
  font-size: 16px;
  line-height: 32px
}

.p-download .c-button .c-direction__icon {
  right: 24px
}

@media only screen and (max-width:768px) {
  .p-download__label {
    margin: 0 0 32px;
    font-size: 18px
  }
  .p-download__box {
    padding: 12px
  }
  .p-download__all .c-button__label {
    padding: 26px 50px 26px 20px
  }
  .p-download__item .c-button__label {
    padding: 18px 50px 18px 20px
  }
  .p-download .c-button__label {
    font-size: 12px;
    line-height: 16px
  }
  .p-download .c-button .c-direction__icon {
    right: 20px
  }
}

.p-award__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: -10px;
  margin-left: -32px
}

.p-award__item {
  margin: 56px 0 0 32px;
  width: calc(25% - 32px)
}

.p-award__item .u-hover[target=_blank] .p-award__image {
  position: relative;
  z-index: 1
}

.p-award__item .u-hover[target=_blank] .p-award__image:before {
  display: block;
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 16px;
  height: 16px;
  background-image: url(../img/common/ic_blank.svg);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 16px 32px;
  z-index: 1
}

.p-award__image {
  position: relative;
  padding-bottom: 100%;
  width: 100%;
  height: 0;
  border: 1px solid #eaeaea;
  box-sizing: border-box;
  overflow: hidden;
  z-index: 1
}

.p-award__image img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  margin: 24px;
  width: calc(100% - 48px);
  height: calc(100% - 48px);
  object-fit: contain
}

.p-award__subject {
  margin-top: 32px;
  color: #00a9e0;
  font-size: 18px;
  font-weight: 700;
  line-height: 26px
}

.p-award__summary {
  margin-top: 4px;
  font-size: 16px;
  line-height: normal
}

.p-award__more {
  position: relative;
  padding-bottom: 100%;
  width: 100%;
  height: 0;
  z-index: 1
}

.p-award__more .c-iconlink {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -8px 0 0 -77.5px;
  z-index: 1
}

.p-award span {
  display: block
}

@media only screen and (min-width:769px) {
  .p-award__item.js-indicate-start:first-child {
    transition-delay: 0.15s
  }
  .p-award__item.js-indicate-start:nth-child(2) {
    transition-delay: 0.3s
  }
  .p-award__item.js-indicate-start:nth-child(3) {
    transition-delay: 0.45s
  }
  .p-award__item.js-indicate-start:nth-child(4) {
    transition-delay: 0.6s
  }
}

@media only screen and (max-width:768px) {
  .p-award__list {
    margin-top: 0;
    margin-left: -24px;
    padding-top: 4px
  }
  .p-award__item {
    margin: 38px 0 0 24px;
    width: calc(50% - 24px)
  }
  .p-award__item .u-hover[target=_blank] .p-award__image:before {
    right: 8px;
    bottom: 8px;
    width: 12px;
    height: 12px;
    background-size: 12px 24px
  }
  .p-award__image img {
    margin: 14px;
    width: calc(100% - 28px);
    height: calc(100% - 28px)
  }
  .p-award__subject {
    margin-top: 13px;
    font-size: 16px;
    line-height: 24px
  }
  .p-award__summary {
    margin-top: 3px;
    font-size: 12px;
    line-height: 18px
  }
  .p-award__more .c-iconlink {
    margin: -5.5px 0 0 -52px
  }
  .p-award+.c-button-unit {
    margin-top: 35px
  }
}

.p-process {
  position: relative;
  margin-top: 120px;
  z-index: 2
}

.p-process__main {
  position: relative;
  z-index: 1
}

.p-process__main figure img {
  display: block;
  width: 100%;
  height: auto
}

.p-process__detail {
  display: flex;
  justify-content: flex-end;
  margin-top: 40px
}

@media only screen and (min-width:769px) {
  .p-process__main ul {
    display: flex;
    position: absolute;
    top: 42.3322683706%;
    left: 0;
    width: 74.2410714286%;
    height: 44.7284345048%;
    z-index: 1
  }
  .p-process__main li a {
    display: block;
    position: relative;
    z-index: 1
  }
  .p-process__main li a:before {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    bottom: 26.357827476%;
    margin-left: -5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 5px 0 5px;
    border-color: #fff transparent transparent transparent;
    z-index: 1;
    transition-property: border-color, transform;
    transition-duration: 0.5s
  }
  .p-process__main li a:hover:before {
    border-color: #2d2d2d transparent transparent transparent;
    transform: translateY(3px);
    transition-duration: 0.25s
  }
  .p-process__main li a:hover img:nth-child(2) {
    opacity: 1;
    transition-duration: 0.25s
  }
  .p-process__main li span {
    display: none
  }
  .p-process__main li img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 1
  }
  .p-process__main li img:first-child {
    position: static
  }
  .p-process__main li img:nth-child(2) {
    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.5s
  }
  .p-process__main li:first-child {
    margin-left: 5.1713770295%;
    width: 4.449789537%
  }
  .p-process__main li:nth-child(2) {
    margin-left: 3.3072760072%;
    width: 14.3114852676%
  }
  .p-process__main li:nth-child(3) {
    margin-left: 2.8863499699%;
    width: 10.7035478052%
  }
  .p-process__main li:nth-child(4) {
    margin-left: 4.6301864101%;
    width: 4.449789537%
  }
  .p-process__main li:nth-child(5) {
    margin-left: 7.0956103428%;
    width: 6.3740228503%
  }
  .p-process__main li:nth-child(6) {
    margin-left: 6.8550811786%;
    width: 14.1912206855%
  }
  .p-process__main li:nth-child(7) {
    margin-left: 6.1334936861%;
    width: 6.3740228503%
  }
}

@media only screen and (max-width:768px) {
  .p-process {
    margin-top: 52px
  }
  .p-process__main ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: -24px;
    padding-top: 48px
  }
  .p-process__main li {
    margin: -1px 0 0 24px;
    width: calc(50% - 24px);
    border: 1px solid #eaeaea;
    border-left: none;
    border-right: none
  }
  .p-process__main li a {
    display: flex;
    align-items: center;
    position: relative;
    min-height: 52px;
    height: 100%;
    z-index: 1
  }
  .p-process__main li a:before {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -2px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 4px 0 4px;
    border-color: #2d2d2d transparent transparent transparent;
    z-index: 1
  }
  .p-process__main li span {
    padding: 10px 32px 10px 0;
    color: #00a9e0;
    font-size: 12px;
    font-weight: 700;
    line-height: 18px
  }
  .p-process__main li img {
    display: none
  }
  .p-process__detail {
    margin-top: 28px
  }
}

@media print {
  .p-process__main ul {
    display: flex;
    position: absolute;
    top: 42.3322683706%;
    left: 0;
    width: 74.2410714286%;
    height: 44.7284345048%;
    z-index: 1
  }
  .p-process__main li a {
    display: block;
    position: relative;
    z-index: 1
  }
  .p-process__main li a:before {
    display: block;
    content: "";
    position: absolute;
    left: 50%;
    bottom: 26.357827476%;
    margin-left: -5px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 5px 0 5px;
    border-color: #fff transparent transparent transparent;
    z-index: 1;
    transition-property: border-color, transform;
    transition-duration: 0.5s
  }
  .p-process__main li a:hover:before {
    border-color: #2d2d2d transparent transparent transparent;
    transform: translateY(3px);
    transition-duration: 0.25s
  }
  .p-process__main li a:hover img:nth-child(2) {
    opacity: 1;
    transition-duration: 0.25s
  }
  .p-process__main li span {
    display: none
  }
  .p-process__main li img {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 1
  }
  .p-process__main li img:first-child {
    position: static
  }
  .p-process__main li img:nth-child(2) {
    opacity: 0;
    transition-property: opacity;
    transition-duration: 0.5s
  }
  .p-process__main li:first-child {
    margin-left: 5.1713770295%;
    width: 4.449789537%
  }
  .p-process__main li:nth-child(2) {
    margin-left: 3.3072760072%;
    width: 14.3114852676%
  }
  .p-process__main li:nth-child(3) {
    margin-left: 2.8863499699%;
    width: 10.7035478052%
  }
  .p-process__main li:nth-child(4) {
    margin-left: 4.6301864101%;
    width: 4.449789537%
  }
  .p-process__main li:nth-child(5) {
    margin-left: 7.0956103428%;
    width: 6.3740228503%
  }
  .p-process__main li:nth-child(6) {
    margin-left: 6.8550811786%;
    width: 14.1912206855%
  }
  .p-process__main li:nth-child(7) {
    margin-left: 6.1334936861%;
    width: 6.3740228503%
  }
}

.p-device {
  padding-top: 40px
}

.p-device__title {
  margin-top: 80px;
  font-size: 24px;
  font-weight: 700;
  line-height: 1em
}

.p-device__title br {
  display: none
}

.p-device__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
  margin-left: -32px
}

.p-device__item {
  margin-left: 32px;
  width: calc(33.33% - 32px)
}

@media only screen and (min-width:769px) {
  .p-device {}
}

@media only screen and (max-width:768px) {
  .p-device {
    margin-top: -8px;
    padding-top: 0
  }
  .p-device__title {
    margin-top: 60px;
    font-size: 18px
  }
  .p-device__list {
    margin-top: 32px;
    margin-left: -24px
  }
  .p-device__item {
    margin-left: 24px;
    width: calc(50% - 24px)
  }
}

.p-learningFuture__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end
}

.p-learningFuture__title {
  margin-bottom: -18px;
  width: 51.724137931%;
  font-size: 48px;
  font-weight: 700;
  line-height: 77px
}

.p-learningFuture__summary {
  margin-left: 1em;
  margin-bottom: -10px;
  width: 48.4913793103%;
  font-size: 16px;
  text-align: justify;
  line-height: 37px
}

.p-learningFuture__list {
  display: flex;
  flex-wrap: wrap;
  margin-left: -32px;
  padding-top: 32px
}

.p-learningFuture__item {
  margin: 32px 0 0 32px;
  width: calc(33.33% - 32px);
  cursor: pointer
}

.p-learningFuture__image {
  position: relative;
  overflow: hidden;
  z-index: 1
}

.p-learningFuture__image:before {
  display: block;
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 16px;
  height: 16px;
  background-image: url(../img/common/ic_plus.svg);
  background-repeat: no-repeat;
  background-size: 16px 64px;
  z-index: 1
}

.p-learningTried {
  -ms-user-select: none;
  -moz-user-select: -moz- none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  position: relative;
  margin: 0 32px;
  margin-top: 64px;
  padding-top: 20px;
  z-index: 1
}

.p-learningTried:after,
.p-learningTried:before {
  display: block;
  content: "";
  position: absolute;
  width: 160px;
  height: 160px;
  border: 1px solid #00a9e0;
  box-sizing: border-box;
  pointer-events: none;
  z-index: 1
}

.p-learningTried:before {
  top: 0;
  left: -30px;
  border-right: none;
  border-bottom: none
}

.p-learningTried:after {
  right: -30px;
  bottom: 128px;
  border-color: #78be20;
  border-top: none;
  border-left: none
}

.p-learningTried__title {
  font-size: 40px;
  font-weight: 700;
  line-height: 63px
}

.p-learningTried__content {
  margin-top: 22px;
  overflow: hidden
}

.p-learningTried__content .p-swiper {
  position: static
}

.p-learningTried__content .p-swiper__item {
  width: 192px !important
}

.p-learningTried__content .p-swiper__button {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  z-index: 2
}

.p-learningTried__content .p-swiper__button--prev {
  right: 72px
}

.p-learningWonder__header {
  display: flex;
  justify-content: space-between
}

.p-learningWonder__title {
  margin-bottom: -18px;
  width: 51.724137931%;
  font-size: 48px;
  font-weight: 700;
  line-height: 77px
}

.p-learningWonder__summary {
  margin-left: 1em;
  margin-bottom: -10px;
  width: 48.4913793103%;
  font-size: 16px;
  text-align: justify;
  line-height: 37px
}

.p-learningWonder .p-indexcolumn {
  margin-top: 64px
}

.p-learningEra__column {
  display: flex;
  justify-content: space-between
}

.p-learningEra__col:first-child {
  width: 40.9482758621%
}

.p-learningEra__col:last-child {
  width: 48.275862069%
}

.p-learningEra__title {
  margin-top: -10px;
  font-size: 48px;
  font-weight: 700;
  line-height: 77px
}

.p-learningEra__subtitle {
  margin-top: 110px;
  font-size: 40px;
  font-weight: 700;
  line-height: 63px
}

.p-learningEra__summary {
  margin-top: 34px;
  font-size: 16px;
  text-align: justify;
  line-height: 37px
}

.p-learningEra__image {
  position: relative;
  overflow: hidden;
  z-index: 1
}

.p-learningEra__image:before {
  display: block;
  content: "";
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 16px;
  height: 16px;
  background-image: url(../img/common/ic_blank.svg);
  background-position: 0 -16px;
  background-repeat: no-repeat;
  background-size: 16px 32px;
  z-index: 2
}

.p-learningEra__subject {
  margin-top: 32px;
  color: #00a9e0;
  font-size: 18px;
  font-weight: 700
}

.p-learningEra .p-indexcolumn {
  margin-top: 22px
}

.p-learningAbout__header {
  margin-left: calc(-50vw + 50%);
  width: 100vw
}

.p-learningAbout__header a {
  display: block
}

.p-learningAbout__image {
  position: relative;
  overflow: hidden;
  z-index: 1
}

.p-learningAbout__image:before {
  display: block;
  content: "";
  position: absolute;
  top: 120px;
  left: 50%;
  margin-left: -20px;
  width: 40px;
  height: 40px;
  background-image: url(../img/common/ic_play.svg);
  background-position: 0 -40px;
  background-repeat: no-repeat;
  background-size: 40px 80px;
  z-index: 1
}

.p-learningAbout__image img {
  height: 513px;
  object-fit: cover
}

.p-learningAbout__title {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: -234px auto 0;
  width: 735px;
  height: 234px;
  background-color: #fff;
  z-index: 2
}

.p-learningAbout__title span {
  display: block;
  font-size: 48px;
  font-weight: 700;
  text-align: center;
  line-height: 77px
}

.p-learningAbout__summary {
  margin: 8px auto 0;
  max-width: 544px;
  font-size: 16px;
  text-align: center;
  line-height: 37px
}

@media only screen and (max-width:768px) {
  .p-learningFuture__header {
    display: block
  }
  .p-learningFuture__title {
    margin-bottom: 0;
    width: auto;
    font-size: 32px;
    line-height: 48px
  }
  .p-learningFuture__summary {
    margin: 32px 0 0;
    width: auto;
    font-size: 12px;
    line-height: 28px
  }
  .p-learningFuture__list {
    margin-left: -24px;
    padding-top: 24px
  }
  .p-learningFuture__item {
    margin: 24px 0 0 24px;
    width: calc(50% - 24px)
  }
  .p-learningFuture__image:before {
    right: 8px;
    bottom: 8px;
    width: 12px;
    height: 12px;
    background-size: 12px 48px
  }
  .p-learningTried {
    margin: 0;
    margin-top: 100px;
    padding-top: 24px
  }
  .p-learningTried:after,
  .p-learningTried:before {
    width: 120px;
    height: 120px
  }
  .p-learningTried:before {
    top: 130px;
    left: 0
  }
  .p-learningTried:after {
    display: none;
    right: 0;
    bottom: 120px
  }
  .p-learningTried__title {
    margin: 0;
    font-size: 27px;
    line-height: 40.5px
  }
  .p-learningTried__content {
    margin: 51px -24px 0 23px;
    padding-right: 24px
  }
  .p-learningTried__content .p-swiper__item {
    width: 124px !important
  }
  .p-learningTried__content .p-swiper__button {
    display: none
  }
  .p-learningWonder__header {
    display: block
  }
  .p-learningWonder__title {
    margin-bottom: 0;
    width: auto;
    font-size: 32px;
    line-height: 48px
  }
  .p-learningWonder__summary {
    margin: 32px 0 0;
    width: auto;
    font-size: 12px;
    line-height: 28px
  }
  .p-learningWonder .p-indexcolumn {
    margin-top: 43px
  }
  .p-learningEra__column {
    display: block
  }
  .p-learningEra__col:first-child,
  .p-learningEra__col:last-child {
    width: auto
  }
  .p-learningEra__title {
    margin-top: 0px;
    font-size: 32px;
    line-height: 48px
  }
  .p-learningEra__subtitle {
    margin-top: 90px;
    font-size: 27px;
    line-height: 40.5px
  }
  .p-learningEra__summary {
    margin-top: 32px;
    font-size: 12px;
    line-height: 28px
  }
  .p-learningEra__image {
    margin-top: 43px
  }
  .p-learningEra__image:before {
    right: 8px;
    bottom: 8px;
    width: 12px;
    height: 12px;
    background-position: 0 -12px;
    background-size: 12px 24px
  }
  .p-learningEra__subject {
    margin-top: 24px;
    font-size: 16px
  }
  .p-learningEra .p-indexcolumn {
    margin-top: 48px
  }
  .p-learningAbout__header {
    margin: 0 -24px;
    width: auto
  }
  .p-learningAbout__image:before {
    top: 43px;
    left: 50%;
    margin-left: -15px;
    width: 30px;
    height: 30px;
    background-position: 0 -30px;
    background-size: 30px 60px
  }
  .p-learningAbout__image img {
    height: 256.25px
  }
  .p-learningAbout__title {
    align-items: flex-end;
    margin: -140px auto 0;
    max-width: 280px;
    width: auto;
    height: 140px
  }
  .p-learningAbout__title span {
    font-size: 27px;
    line-height: 40.5px
  }
  .p-learningAbout__summary {
    margin: 37px 0 0;
    max-width: initial;
    font-size: 12px;
    line-height: 28px
  }
}

.u-mt100 {
  margin-top: 100px !important
}

.u-mt90 {
  margin-top: 90px !important
}

.u-mt80 {
  margin-top: 80px !important
}

.u-mt70 {
  margin-top: 70px !important
}

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

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

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

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

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

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

.u-mt0 {
  margin-top: 0px !important
}

@media only screen and (max-width:768px) {
  .u-spmt100 {
    margin-top: 100px !important
  }
  .u-spmt90 {
    margin-top: 90px !important
  }
  .u-spmt80 {
    margin-top: 80px !important
  }
  .u-spmt70 {
    margin-top: 70px !important
  }
  .u-spmt60 {
    margin-top: 60px !important
  }
  .u-spmt50 {
    margin-top: 50px !important
  }
  .u-spmt40 {
    margin-top: 40px !important
  }
  .u-spmt30 {
    margin-top: 30px !important
  }
  .u-spmt20 {
    margin-top: 20px !important
  }
  .u-spmt10 {
    margin-top: 10px !important
  }
  .u-spmt0 {
    margin-top: 0px !important
  }
}

.u-ml100 {
  margin-left: 100px !important
}

.u-ml90 {
  margin-left: 90px !important
}

.u-ml80 {
  margin-left: 80px !important
}

.u-ml70 {
  margin-left: 70px !important
}

.u-ml60 {
  margin-left: 60px !important
}

.u-ml50 {
  margin-left: 50px !important
}

.u-ml40 {
  margin-left: 40px !important
}

.u-ml30 {
  margin-left: 30px !important
}

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

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

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

@media only screen and (max-width:768px) {
  .u-spml100 {
    margin-left: 100px !important
  }
  .u-spml90 {
    margin-left: 90px !important
  }
  .u-spml80 {
    margin-left: 80px !important
  }
  .u-spml70 {
    margin-left: 70px !important
  }
  .u-spml60 {
    margin-left: 60px !important
  }
  .u-spml50 {
    margin-left: 50px !important
  }
  .u-spml40 {
    margin-left: 40px !important
  }
  .u-spml30 {
    margin-left: 30px !important
  }
  .u-spml20 {
    margin-left: 20px !important
  }
  .u-spml10 {
    margin-left: 10px !important
  }
  .u-spml0 {
    margin-left: 0px !important
  }
}

.u-mr100 {
  margin-right: 100px !important
}

.u-mr90 {
  margin-right: 90px !important
}

.u-mr80 {
  margin-right: 80px !important
}

.u-mr70 {
  margin-right: 70px !important
}

.u-mr60 {
  margin-right: 60px !important
}

.u-mr50 {
  margin-right: 50px !important
}

.u-mr40 {
  margin-right: 40px !important
}

.u-mr30 {
  margin-right: 30px !important
}

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

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

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

@media only screen and (max-width:768px) {
  .u-spmr100 {
    margin-right: 100px !important
  }
  .u-spmr90 {
    margin-right: 90px !important
  }
  .u-spmr80 {
    margin-right: 80px !important
  }
  .u-spmr70 {
    margin-right: 70px !important
  }
  .u-spmr60 {
    margin-right: 60px !important
  }
  .u-spmr50 {
    margin-right: 50px !important
  }
  .u-spmr40 {
    margin-right: 40px !important
  }
  .u-spmr30 {
    margin-right: 30px !important
  }
  .u-spmr20 {
    margin-right: 20px !important
  }
  .u-spmr10 {
    margin-right: 10px !important
  }
  .u-spmr0 {
    margin-right: 0px !important
  }
}

.u-mb100 {
  margin-bottom: 100px !important
}

.u-mb90 {
  margin-bottom: 90px !important
}

.u-mb80 {
  margin-bottom: 80px !important
}

.u-mb70 {
  margin-bottom: 70px !important
}

.u-mb60 {
  margin-bottom: 60px !important
}

.u-mb50 {
  margin-bottom: 50px !important
}

.u-mb40 {
  margin-bottom: 40px !important
}

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

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

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

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

@media only screen and (max-width:768px) {
  .u-spmb100 {
    margin-bottom: 100px !important
  }
  .u-spmb90 {
    margin-bottom: 90px !important
  }
  .u-spmb80 {
    margin-bottom: 80px !important
  }
  .u-spmb70 {
    margin-bottom: 70px !important
  }
  .u-spmb60 {
    margin-bottom: 60px !important
  }
  .u-spmb50 {
    margin-bottom: 50px !important
  }
  .u-spmb40 {
    margin-bottom: 40px !important
  }
  .u-spmb30 {
    margin-bottom: 30px !important
  }
  .u-spmb20 {
    margin-bottom: 20px !important
  }
  .u-spmb10 {
    margin-bottom: 10px !important
  }
  .u-spmb0 {
    margin-bottom: 0px !important
  }
}

.w-0 {
  width: 0% !important
}

.w-5 {
  width: 5% !important
}

.w-10 {
  width: 10% !important
}

.w-15 {
  width: 15% !important
}

.w-20 {
  width: 20% !important
}

.w-25 {
  width: 25% !important
}

.w-30 {
  width: 30% !important
}

.w-35 {
  width: 35% !important
}

.w-40 {
  width: 40% !important
}

.w-45 {
  width: 45% !important
}

.w-50 {
  width: 50% !important
}

.w-55 {
  width: 55% !important
}

.w-60 {
  width: 60% !important
}

.w-65 {
  width: 65% !important
}

.w-70 {
  width: 70% !important
}

.w-75 {
  width: 75% !important
}

.w-80 {
  width: 80% !important
}

.w-85 {
  width: 85% !important
}

.w-90 {
  width: 90% !important
}

.w-95 {
  width: 95% !important
}

.w-100 {
  width: 100% !important
}

.u-pt100 {
  padding-top: 100px !important
}

.u-pt90 {
  padding-top: 90px !important
}

.u-pt80 {
  padding-top: 80px !important
}

.u-pt70 {
  padding-top: 70px !important
}

.u-pt60 {
  padding-top: 60px !important
}

.u-pt50 {
  padding-top: 50px !important
}

.u-pt40 {
  padding-top: 40px !important
}

.u-pt30 {
  padding-top: 30px !important
}

.u-pt20 {
  padding-top: 20px !important
}

.u-pt10 {
  padding-top: 10px !important
}

.u-pt0 {
  padding-top: 0px !important
}

@media only screen and (max-width:768px) {
  .u-sppt100 {
    padding-top: 100px !important
  }
  .u-sppt90 {
    padding-top: 90px !important
  }
  .u-sppt80 {
    padding-top: 80px !important
  }
  .u-sppt70 {
    padding-top: 70px !important
  }
  .u-sppt60 {
    padding-top: 60px !important
  }
  .u-sppt50 {
    padding-top: 50px !important
  }
  .u-sppt40 {
    padding-top: 40px !important
  }
  .u-sppt30 {
    padding-top: 30px !important
  }
  .u-sppt20 {
    padding-top: 20px !important
  }
  .u-sppt10 {
    padding-top: 10px !important
  }
  .u-sppt0 {
    padding-top: 0px !important
  }
}

.u-pl100 {
  padding-left: 100px !important
}

.u-pl90 {
  padding-left: 90px !important
}

.u-pl80 {
  padding-left: 80px !important
}

.u-pl70 {
  padding-left: 70px !important
}

.u-pl60 {
  padding-left: 60px !important
}

.u-pl50 {
  padding-left: 50px !important
}

.u-pl40 {
  padding-left: 40px !important
}

.u-pl30 {
  padding-left: 30px !important
}

.u-pl20 {
  padding-left: 20px !important
}

.u-pl10 {
  padding-left: 10px !important
}

.u-pl0 {
  padding-left: 0px !important
}

@media only screen and (max-width:768px) {
  .u-sppl100 {
    padding-left: 100px !important
  }
  .u-sppl90 {
    padding-left: 90px !important
  }
  .u-sppl80 {
    padding-left: 80px !important
  }
  .u-sppl70 {
    padding-left: 70px !important
  }
  .u-sppl60 {
    padding-left: 60px !important
  }
  .u-sppl50 {
    padding-left: 50px !important
  }
  .u-sppl40 {
    padding-left: 40px !important
  }
  .u-sppl30 {
    padding-left: 30px !important
  }
  .u-sppl20 {
    padding-left: 20px !important
  }
  .u-sppl10 {
    padding-left: 10px !important
  }
  .u-sppl0 {
    padding-left: 0px !important
  }
}

.u-pr100 {
  padding-right: 100px !important
}

.u-pr90 {
  padding-right: 90px !important
}

.u-pr80 {
  padding-right: 80px !important
}

.u-pr70 {
  padding-right: 70px !important
}

.u-pr60 {
  padding-right: 60px !important
}

.u-pr50 {
  padding-right: 50px !important
}

.u-pr40 {
  padding-right: 40px !important
}

.u-pr30 {
  padding-right: 30px !important
}

.u-pr20 {
  padding-right: 20px !important
}

.u-pr10 {
  padding-right: 10px !important
}

.u-pr0 {
  padding-right: 0px !important
}

@media only screen and (max-width:768px) {
  .u-sppr100 {
    padding-right: 100px !important
  }
  .u-sppr90 {
    padding-right: 90px !important
  }
  .u-sppr80 {
    padding-right: 80px !important
  }
  .u-sppr70 {
    padding-right: 70px !important
  }
  .u-sppr60 {
    padding-right: 60px !important
  }
  .u-sppr50 {
    padding-right: 50px !important
  }
  .u-sppr40 {
    padding-right: 40px !important
  }
  .u-sppr30 {
    padding-right: 30px !important
  }
  .u-sppr20 {
    padding-right: 20px !important
  }
  .u-sppr10 {
    padding-right: 10px !important
  }
  .u-sppr0 {
    padding-right: 0px !important
  }
}

.u-pb100 {
  padding-bottom: 100px !important
}

.u-pb90 {
  padding-bottom: 90px !important
}

.u-pb80 {
  padding-bottom: 80px !important
}

.u-pb70 {
  padding-bottom: 70px !important
}

.u-pb60 {
  padding-bottom: 60px !important
}

.u-pb50 {
  padding-bottom: 50px !important
}

.u-pb40 {
  padding-bottom: 40px !important
}

.u-pb30 {
  padding-bottom: 30px !important
}

.u-pb20 {
  padding-bottom: 20px !important
}

.u-pb10 {
  padding-bottom: 10px !important
}

.u-pb0 {
  padding-bottom: 0px !important
}

@media only screen and (max-width:768px) {
  .u-sppb100 {
    padding-bottom: 100px !important
  }
  .u-sppb90 {
    padding-bottom: 90px !important
  }
  .u-sppb80 {
    padding-bottom: 80px !important
  }
  .u-sppb70 {
    padding-bottom: 70px !important
  }
  .u-sppb60 {
    padding-bottom: 60px !important
  }
  .u-sppb50 {
    padding-bottom: 50px !important
  }
  .u-sppb40 {
    padding-bottom: 40px !important
  }
  .u-sppb30 {
    padding-bottom: 30px !important
  }
  .u-sppb20 {
    padding-bottom: 20px !important
  }
  .u-sppb10 {
    padding-bottom: 10px !important
  }
  .u-sppb0 {
    padding-bottom: 0px !important
  }
}

.u-hover {
  display: block
}

@media only screen and (min-width:769px) {
  .u-hover {
    transition-property: color;
    transition-duration: 0.5s
  }
  .u-hover img {
    transition-property: transform;
    transition-duration: 2s;
    transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
    will-change: transform
  }
  .u-hover:hover {
    color: #00a9e0;
    transition-duration: 0s
  }
  .u-hover:hover img {
    transform: scale(1.08);
    transition-duration: 0.85s
  }
}

a .u-fileicon:after {
  display: inline-block;
  content: "";
  vertical-align: middle;
  margin-left: 8px;
  background-repeat: no-repeat
}

a[target=_blank] .u-fileicon:after {
  width: 16px;
  height: 16px;
  background-image: url(../img/common/ic_blank.svg);
  background-size: 16px 32px
}

a[href$=".doc"] .u-fileicon:after,
a[href$=".docx"] .u-fileicon:after {
  margin-top: -0.15em;
  width: 40px;
  height: 18px;
  background-image: url(../img/common/file_doc.svg);
  background-size: 40px 36px
}

a[href$=".pdf"] .u-fileicon:after {
  margin-top: -0.15em;
  width: 40px;
  height: 18px;
  background-image: url(../img/common/file_pdf.svg);
  background-size: 40px 36px
}

a[href$=".ppt"] .u-fileicon:after,
a[href$=".pptx"] .u-fileicon:after {
  margin-top: -0.15em;
  width: 40px;
  height: 18px;
  background-image: url(../img/common/file_ppt.svg);
  background-size: 40px 36px
}

a[href$=".xls"] .u-fileicon:after,
a[href$=".xlsx"] .u-fileicon:after {
  margin-top: -0.15em;
  width: 40px;
  height: 18px;
  background-image: url(../img/common/file_xls.svg);
  background-size: 40px 36px
}

a[href$=".zip"] .u-fileicon:after {
  margin-top: -0.15em;
  width: 40px;
  height: 18px;
  background-image: url(../img/common/file_zip.svg);
  background-size: 40px 36px
}

@media only screen and (max-width:768px) {
  a .u-fileicon:after {
    display: inline-block;
    content: "";
    vertical-align: middle;
    margin-left: 6px;
    background-repeat: no-repeat
  }
  a[target=_blank] .u-fileicon:after {
    width: 16px;
    height: 16px;
    background-size: 16px
  }
  a[href$=".doc"] .u-fileicon:after,
  a[href$=".docx"] .u-fileicon:after {
    margin-top: -0.25em;
    width: 35px;
    height: 16px;
    background-size: 35px 32px
  }
  a[href$=".pdf"] .u-fileicon:after {
    margin-top: -0.25em;
    width: 35px;
    height: 16px;
    background-size: 35px 32px
  }
  a[href$=".ppt"] .u-fileicon:after,
  a[href$=".pptx"] .u-fileicon:after {
    margin-top: -0.25em;
    width: 35px;
    height: 16px;
    background-size: 35px 32px
  }
  a[href$=".xls"] .u-fileicon:after,
  a[href$=".xlsx"] .u-fileicon:after {
    margin-top: -0.25em;
    width: 35px;
    height: 16px;
    background-size: 35px 32px
  }
  a[href$=".zip"] .u-fileicon:after {
    margin-top: -0.25em;
    width: 35px;
    height: 16px;
    background-size: 35px 32px
  }
}

.u-spzoom {
  display: block;
  pointer-events: none
}

@media only screen and (max-width:768px) {
  .u-spzoom {
    position: relative;
    pointer-events: auto;
    padding-bottom: 30px;
    z-index: 1
  }
  .u-spzoom:before {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 18px;
    height: 18px;
    background-image: url(../img/common/zoom_icon.svg);
    background-repeat: no-repeat;
    background-size: 18px;
    z-index: 1
  }
}

@media screen and (max-width:768px) {
  .history_text {
    width: 100%;
  }
  table.history_text td,
  table.history_text tr {
    width: 100%;
    display: block;
  }
}