@charset "utf-8";
/* CSS Document */

/* =============================================================================
 Reset
============================================================================= */

/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/

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

body {
  line-height: 1;
}

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

nav ul,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

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

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

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

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

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

input,
select {
  vertical-align: middle;
}





/* =============================================================================
 Fonts
============================================================================= */
html {
  font-size: 62.5%;
}

body {
  font-family: 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: .05em;
}

p,
li,
dd {
  line-height: 1.63;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1.3rem;
  }
}





/* =============================================================================
 Base
============================================================================= */

#container {
  display: flex;
}

#contents {
  margin: 0 auto;
  position: relative;
  display: block;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}


@media screen and (min-width: 1024px) {
  #container {
    min-height: 100vh;
  }

  #mainArea {
    width: 100%;
  }

  #contents {
    min-height: calc(100vh - 60px);
  }
}


@media screen and (max-width: 1023px) {
  #container {
    display: block;
  }

  #mainArea {
    padding-top: 60px;
  }

  #contents {}
}


@media screen and (max-width: 767px) {

  #commonHeader,
  #mainArea,
  #globalNavi,
  #commonFooter {}
}





/* =============================================================================
 Elements
============================================================================= */

/* color setting */

/* link setting */

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}


/* image setting */

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

@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
}





/* =============================================================================
 Common Class
============================================================================= */

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


@media screen and (min-width: 768px) {
  .only-sp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .only-pc {
    display: none;
  }
}





/* =============================================================================
 common header
============================================================================= */


@media screen and (min-width: 1024px) {
  #commonHeader {
    z-index: 100;
    background-color: transparent;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
  }

  #commonHeader .headerInner {
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 30px 40px;
    background-color: #fff;
    box-shadow: 0 0 26px 8px rgb(73 144 166 / 19%);
  }

  #commonHeader .headerInner.scroll::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(25px);
    z-index: -1;
    background-color: rgb(255 255 255 / 50%);
  }

  #commonHeader .btnMenu {
    display: none;
  }

  #commonHeader .siteLogo {
    width: 13vw;
    height: auto;
  }

  #commonHeader .siteLogo a {
    display: block;
  }

  #commonHeader .tagline {
    padding: 0 0 20px;
    color: #000;
    background-color: #fff;
    font-size: 1.9rem;
    font-weight: bold;
    text-align: center;
  }
}

@media screen and (max-width: 1023px) {
  #commonHeader {
    padding: 6px 0 0 calc(30/750*100%);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 60px;
    background-color: #fff;
  }

  #commonHeader .siteLogo {
    float: left;
    width: 100px;
    padding: 5px 0;
  }

  #commonHeader .tagline {
    margin: 2px 0 8px calc(30/750*100%);
    padding-left: calc(50/750*100%);
    border-left: 1px #e6e6e5 solid;
    float: left;
    line-height: 44px;
    font-weight: 500;
  }

  #commonHeader .btnMenu {
    position: absolute;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    background-color: #3690b5;
  }

  #commonHeader .btnMenu span {
    position: absolute;
    top: 28px;
    left: 13px;
    width: 35px;
    height: 2px;
    background-color: #fff;
  }

  #commonHeader .btnMenu span:before,
  #commonHeader .btnMenu span:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 35px;
    height: 2px;
    background-color: #fff;
    transition: transform ease .3s;
  }

  #commonHeader .btnMenu span:before {
    top: -10px;
  }

  #commonHeader .btnMenu span:after {
    top: 10px;
  }

  .menuOpen #commonHeader .btnMenu span {
    background-color: transparent;
  }

  .menuOpen #commonHeader .btnMenu span:before {
    margin-top: -1px;
    top: 50%;
    transform: rotate(45deg);
  }

  .menuOpen #commonHeader .btnMenu span:after {
    margin-top: -1px;
    top: 50%;
    transform: rotate(-45deg);
  }
}

@media screen and (max-width: 767px) {
  #home.menuOpen #commonHeader {
    background-color: #fff;
  }

  #home.menuOpen #commonHeader .siteLogo,
  #home.menuOpen #commonHeader .tagline {
    pointer-events: all;
    opacity: 1;
  }

  #home.onscroll #commonHeader {
    background-color: #fff;
    transition: background-color ease .3s;
  }

  #home.onscroll #commonHeader .siteLogo,
  #home.onscroll #commonHeader .tagline {
    pointer-events: all;
    opacity: 1;
    transition: opacity ease .3s;
  }
}

@media screen and (max-width: 374px) {
  #commonHeader {
    padding-left: 10px;
  }

  #commonHeader .tagline {
    margin-left: 10px;
    padding-left: 10px;
    font-size: 1.2rem;
    letter-spacing: -.015em;
  }
}

#researchTheme a {
  color: inherit;
  text-decoration: none;
}

#researchTheme button {
  display: block;
  border: none;
  outline: none;
  cursor: pointer;
}

#researchThemeButton {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 20px;
  border-radius: 0;
  background-color: #4a4a4a;
  color: #fff;
}

#researchThemeButton:after {
  display: block;
  position: absolute;
  right: 20px;
  width: 10px;
  height: 10px;
  content: "";
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

#researchThemeButtonInner {
  display: block;
  font-size: 16px;
  text-align: left;
  line-height: 20px;
}

#researchThemeView {
  width: 100%;
  max-height: 100%;
  padding: 20px 15px;
}

#researchThemeViewContainer {
  visibility: hidden;
  overflow: hidden;
  -webkit-transition-duration: 0.3s;
  -moz-transition-duration: 0.3s;
  -ms-transition-duration: 0.3s;
  -o-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: -webkit-transform, height, visibility;
  -moz-transition-property: -moz-transform, height, visibility;
  -ms-transition-property: -ms-transform, height, visibility;
  -o-transition-property: -o-transform, height, visibility;
  transition-property: transform, height, visibility;
}

#researchThemeViewContainer.opened {
  visibility: visible;
}

#researchThemeViewList {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  margin: -5px;

  -webkit-box-lines: multiple;
  -moz-box-lines: multiple;
  -o-box-lines: multiple;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

#researchThemeViewListContainer {
  overflow: hidden;
}

#researchThemeViewList li {
  margin: 5px;
}

#researchThemeViewList a {
  display: block;
  position: relative;
  padding: 7px 10px 9px 20px;
  background-color: #fff;
  line-height: 1;
}

#researchThemeViewList a:before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 6px;
  width: 6px;
  height: 6px;
  margin: auto 0;
  border-top: 1px solid;
  border-right: 1px solid;
  content: "";
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (min-width: 1024px) {
  #researchThemeButton:after {
    top: 0;
    right: 20px;
    bottom: 0;
    margin: auto 0;
    border-top: 2px solid;
    border-right: 2px solid;
  }

  #researchThemeCloseButton {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 21px;
    height: 21px;
    margin: auto 0;
    background: none;
  }

  #researchThemeCloseButton:before,
  #researchThemeCloseButton:after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    width: 30px;
    height: 1px;
    margin: auto 0;
    background-color: #fff;
    content: "";
  }

  #researchThemeCloseButton:before {
    -webkit-transform: translateX(-50%) rotate(45deg);
    -moz-transform: translateX(-50%) rotate(45deg);
    -ms-transform: translateX(-50%) rotate(45deg);
    -o-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
  }

  #researchThemeCloseButton:after {
    -webkit-transform: translateX(-50%) rotate(-45deg);
    -moz-transform: translateX(-50%) rotate(-45deg);
    -ms-transform: translateX(-50%) rotate(-45deg);
    -o-transform: translateX(-50%) rotate(-45deg);
    transform: translateX(-50%) rotate(-45deg);
  }

  #researchThemeViewContainer {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: box;
    display: flex;
    position: fixed;
    z-index: -1;
    top: 0;
    left: 250px;
    width: 360px;
    height: 100% !important;
    background-image: url("../img/common/researchTheme_bg.png");
    -webkit-transform: translateX(-100%);
    -moz-transform: translateX(-100%);
    -ms-transform: translateX(-100%);
    -o-transform: translateX(-100%);
    transform: translateX(-100%);

    -webkit-align-items: center;
    align-items: center;
    -webkit-box-align: center;
    -moz-box-align: center;
    -o-box-align: center;
    -ms-flex-align: center;
  }

  #researchThemeViewContainer.opened {
    -webkit-transform: translateX(0);
    -moz-transform: translateX(0);
    -ms-transform: translateX(0);
    -o-transform: translateX(0);
    transform: translateX(0);
  }

  #researchThemeViewHead {
    position: relative;
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    color: #fff;
  }

  #researchThemeViewHeadText {
    font-size: 20px;
    line-height: 60px;
  }
}

@media screen and (max-width: 1023px) {
  #researchThemeButton:after {
    right: 18px;
    bottom: 27px;
    border-right: 2px solid #9d9d9d;
    border-bottom: 2px solid #9d9d9d;
  }

  #researchThemeButton.opened:after {
    top: 27px;
    bottom: auto;
    border-top: 2px solid #9d9d9d;
    border-right: none;
    border-bottom: none;
    border-left: 2px solid #9d9d9d;
  }

  #researchThemeViewHead {
    display: none;
  }

  #researchThemeViewContainer {
    background-image: url("../img/common/researchTheme_bg_sp.png");
    -webkit-background-size: 4px;
    -moz-background-size: 4px;
    background-size: 4px;
  }

  #researchThemeViewContainer:not(.opened) {
    height: 0 !important;
  }
}

/* =============================================================================
 global navi
============================================================================= */

@media screen and (min-width: 1300px) {
  #globalNavi .naviBody>ul li a {
    padding: 14px 27px;
    font-size: 17px;
  }
}

@media screen and (min-width: 1024px) {
  #globalNavi {
    width: calc(100% - 13vw - 10px);
    max-width: 1200px;
    margin: 0 0 0 auto;
  }

  #globalNavi .kankoLogo {
    padding: 10px 0;
    background-color: #dd2c2e;
    text-align: center;
  }

  #globalNavi .kankoLogo img {
    width: 111px;
  }

  #globalNavi .naviBody>ul {
    margin: 0 20px 20px;
    display: flex;
    margin: 0;
    justify-content: flex-end;
    gap: 7px;
  }

  #globalNavi .naviBody>ul li {
    line-height: 1.25;
    font-size: 1.6rem;
  }

  #globalNavi .naviBody>ul li a {
    padding: 14px 7px;
    display: block;
    position: relative;
    color: #3a3a3a;
    text-decoration: none;
    text-align: center;
    border-radius: 40px;
    transition: .5s;
    font-weight: 500;
    font-size: min(100%, 1.2vw);
  }

  #globalNavi .naviBody>ul li.nav-contact a {
    display: block;
    color: #fff;
    width: 230px;
    background-image: url(../img/common/ico_mail.png), url(../img/common/nav_bg_contact.png);
    background-repeat: no-repeat;
    background-position: 30px center, center;
    padding: 14px 30px 14px 50px;
  }

  #globalNavi .naviBody>ul li a:hover {
    transition: .5s;
    background-color: #3690b5;
    color: #fff;
  }

  #globalNavi .naviBody>ul li.nav-contact a:hover {
    opacity: .5;
    transition: .5s;
  }

  #globalNavi .btnContact {
    margin: 0 20px;
  }

  #globalNavi .btnContact a {
    border-radius: 6px;
    display: block;
    line-height: 45px;
    position: relative;
    color: #fff;
    background-color: #4a4a4a;
    text-decoration: none;
    text-align: center;
  }
}


@media screen and (max-width: 1023px) {
  #globalNavi {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100% - 60px);
    pointer-events: none;
  }

  #globalNavi:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: rgba(0, 0, 0, .7);
    transition: opacity ease .3s;
  }

  #globalNavi .naviInner {
    position: absolute;
    top: 0;
    right: 0;
    width: calc(600/750*100%);
    height: 100%;
    background-color: #fff;
    overflow: auto;
    transition: transform ease .3s;
    transform: translateX(100%)
  }

  #globalNavi .naviWrapper {
    display: flex;
    justify-content: space-between;
    min-height: 100%;
  }

  #globalNavi .kankoLogo {
    padding: 0 0 20px;
    border-bottom: 10px #dd2c2e solid;
    width: 100%;
    text-align: center;
  }

  #globalNavi .kankoLogo img {
    width: 129px;
  }

  #globalNavi .naviBody {
    padding-bottom: 60px;
  }

  #globalNavi .naviBody>ul {
    margin: 0 0 20px;
    border-top: 2px #dfdfdf solid;
  }

  #globalNavi .naviBody>ul li {
    border-bottom: 2px #dfdfdf solid;
    line-height: 1.25;
    font-size: 1.5rem;
  }

  #globalNavi .naviBody>ul li a {
    padding: 20px 30px 20px 15px;
    display: block;
    position: relative;
    color: #3a3a3a;
    text-decoration: none;
  }

  #globalNavi .naviBody>ul li a:before {
    content: "";
    border-top: 2px #3a3a3a solid;
    border-right: 2px #3a3a3a solid;
    display: block;
    position: absolute;
    top: 50%;
    right: 18px;
    width: 7px;
    height: 7px;
    transform: rotate(45deg) translate(0, -50%);
  }

  #globalNavi .btnContact {
    margin: 0 15px;
  }

  #globalNavi .btnContact a {
    border-radius: 6px;
    display: block;
    line-height: 50px;
    position: relative;
    color: #3a3a3a;
    background-color: #ebebeb;
    text-decoration: none;
    text-align: center;
  }

  .menuOpen #globalNavi {
    pointer-events: all;
  }

  .menuOpen #globalNavi:before {
    opacity: 1;
  }

  .menuOpen #globalNavi .naviInner {
    transform: translateX(0)
  }
}





/* =============================================================================
 common footer
============================================================================= */

#commonFooter {
  background-image: url(../img/common/bg_copyright.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

#commonFooter .copyright {
  padding: 20px 0;
  line-height: 1.5;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  text-align: center;
  letter-spacing: .14em;
  font-family: oswald;
}

@media screen and (max-width: 767px) {
  #commonFooter .copyright {
    padding: 10px 0;
    font-size: .9rem;
  }
}





/* =============================================================================
 Common Block Styles
============================================================================= */

/* pagetop */
.pagetop {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  width: 50px;
}

.pagetop.bottom {
  position: absolute;
}

@media screen and (max-width: 767px) {
  .pagetop {
    bottom: 10px;
    width: 30px;
  }
}


/* sns */

@media screen and (min-width: 1024px) {
  .sns {
    position: fixed;
    top: 50%;
    right: 15px;
    text-align: center;
    transform: translateY(-50%);
  }

  .sns ul li {
    margin-bottom: 25px;
  }

  .sns ul li:last-child {
    margin-bottom: 0;
  }

  .sns ul li img {
    width: 28px;
  }
}

@media screen and (max-width: 1023px) {
  .sns {
    margin: 30px 15px 0;
  }

  .sns .label {
    margin: 0 0 30px;
    position: relative;
    color: #9d9d9d;
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: .15em;
  }

  .sns .label:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #e5e5e5;
  }

  .sns .label span {
    padding: 0 1em;
    display: inline-block;
    position: relative;
    background-color: #fff;
  }

  .sns ul {
    text-align: center;
  }

  .sns ul li {
    margin: 0 15px;
    display: inline-block;
    width: 35px;
  }
}



/* cursor */
.cursor {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  mix-blend-mode: multiply;
  z-index: 110;
}

.iPad .cursor {
  display: none !important;
}

.cursor .cursorIcon {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate3d(0, 0, 0);
}

.cursor .cursorIcon:before {
  content: "";
  margin-top: -15px;
  margin-left: -15px;
  border-radius: 50%;
  display: block;
  width: 30px;
  height: 30px;
  transform: none;
  transition: transform .2s cubic-bezier(.215, .61, .355, 1);
  background-color: rgba(221, 44, 46, .9);
  /*  background: url(/lab/img/common/icon_circle.png) 0 0 no-repeat;
  -webkit-background-size: contain;
  background-size: contain;*/
  opacity: .75;
}

.cursor .cursorIconIn {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate3d(0, 0, 0);
  z-index: 2;
}

.cursor .cursorIconIn:before {
  content: "";
  margin-top: -5px;
  margin-left: -5px;
  border-radius: 50%;
  display: block;
  width: 10px;
  height: 10px;
  transform: none;
  transition: transform .2s cubic-bezier(.215, .61, .355, 1);
  background-color: rgba(221, 44, 46, .7);
  background-color: #c00808;
  /*  background: url(/lab/img/common/icon_circlein.png) 0 0 no-repeat;
  -webkit-background-size: contain;
  background-size: contain;*/
  opacity: .7;
}

.cursor.is-hide .cursorIcon:before,
.cursor.is-hide .cursorIconIn:before {
  transform: scale(0);
}

.cursor.is-link .cursorIcon:before {
  transform: scale(1.8);
}

@media screen and (max-width: 767px) {
  .cursor {
    display: none;
  }
}

/* section */
.section {}

@media screen and (min-width: 768px) {
  .section .inner {
    margin-left: auto;
    margin-right: auto;
    padding-left: 95px;
    padding-right: 95px;
    max-width: 1340px;
  }
}

@media screen and (max-width: 767px) {
  .section .inner {
    padding-left: calc(33/750*100vw);
    padding-right: calc(33/750*100vw);
  }
}





/* =============================================================================
 Page Common Styles
============================================================================= */

/* page key visual */
.pageKV {
  margin: 0 0 70px;
}

.pageKV img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .pageKV {
    margin: 0 0 35px;
  }
}



/* paragraph */
.paragraph {}

.paragraph p {
  line-height: 2.25;
}



/* title */
.lineTitle {
  margin-bottom: 65px;
  font-size: 3.6rem;
  font-weight: 400;
  text-align: center;
}

.lineTitle span {
  padding-bottom: 15px;
  border-bottom: 2px #dd2c2e solid;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .lineTitle {
    margin-bottom: 30px;
    font-size: 1.8rem;
  }

  .lineTitle span {
    padding-bottom: 8px;
    border-bottom-width: 1px;
  }
}





/* =============================================================================
 About Page Styles
============================================================================= */

#about .fourSight {
  margin: 75px 0 130px;
  padding: 50px 30px;
  border-radius: 6px;
  position: relative;
  color: #fff;
  background-color: #dd2c2e;
  box-shadow: 6px 6px 6px -2px rgba(14, 14, 18, .2);
}

#about .fourSight:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -68px;
  left: calc(50% - 8px);
  width: 16px;
  height: 30px;
  background-color: #dd2c2e;
}

#about .fourSight:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -96px;
  left: calc(50% - 24px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 28px 24px 0 24px;
  border-color: #dd2c2e transparent transparent transparent;
}

#about .fourSight .title {
  margin: 0 0 40px;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}

#about .fourSight ul {
  display: flex;
  flex-wrap: wrap;
}

#about .fourSight ul li {
  margin-right: calc(38/920*100%);
  position: relative;
  width: calc(200/920*100%);
  text-align: center;
}

#about .fourSight ul li:before,
#about .fourSight ul li:after {
  content: "";
  display: block;
  position: absolute;
  top: 34px;
  right: calc(-16/200*100%);
  width: 1px;
  height: 40px;
  background-color: #fff;
  transform: rotate(45deg);
}

#about .fourSight ul li:after {
  transform: rotate(-45deg);
}

#about .fourSight ul li:last-child:before,
#about .fourSight ul li:last-child:after {
  display: none;
}

#about .fourSight ul li:nth-child(4n) {
  margin-right: 0;
}

#about .fourSight ul li .label {
  margin: 0 0 20px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  color: #dd2c2e;
  background-color: #fff;
}

#about .fourSight ul li p {
  text-align: left;
}

@media screen and (max-width: 767px) {
  #about .fourSight {
    margin: 35px 0 120px;
    padding: 35px calc(50/750*100vw);
  }

  #about .fourSight:before {
    bottom: -60px;
  }

  #about .fourSight:after {
    bottom: -88px;
  }

  #about .fourSight .title {
    margin: 0 0 30px;
    font-size: 1.8rem;
  }

  #about .fourSight ul {
    display: block;
  }

  #about .fourSight ul li {
    margin: 0 0 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
  }

  #about .fourSight ul li:before,
  #about .fourSight ul li:after {
    top: auto;
    right: auto;
    left: 50px;
    bottom: -40px;
    height: 20px;
  }

  #about .fourSight ul li:last-child {
    margin-bottom: 0;
  }

  #about .fourSight ul li .label {
    margin: 0;
  }

  #about .fourSight ul li p {
    width: calc(100% - 120px);
  }
}



#about .fourSightActivity {
  margin: 0 0 120px;
  padding: 50px 60px;
  border-radius: 6px;
  background-color: #fff;
  box-shadow: 2px 2px 6px 0 rgba(14, 14, 18, .2);
}

#about .fourSightActivity .title {
  margin: 0 0 40px;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}

#about .fourSightActivity ul {
  display: flex;
  flex-wrap: wrap;
}

#about .fourSightActivity ul li {
  margin-right: calc(48/880*100%);
  width: calc(260/880*100%);
}

#about .fourSightActivity ul li:nth-child(3n) {
  margin-right: 0;
}

#about .fourSightActivity ul li .label {
  margin: 0 0 20px;
  padding: 10px 0;
  border-top: 2px #dd2c2e solid;
  border-bottom: 2px #dd2c2e solid;
  font-weight: bold;
  text-align: center;
}

#about .fourSightActivity ul li p {
  text-align: left;
}

@media screen and (max-width: 767px) {
  #about .fourSightActivity {
    margin: 0 0 45px;
    padding: 40px calc(40/750*100vw);
  }

  #about .fourSightActivity .title {
    margin: 0 0 35px;
    font-size: 1.8rem;
  }

  #about .fourSightActivity ul {
    display: block;
  }

  #about .fourSightActivity ul li {
    margin: 0 0 30px;
    width: 100%;
  }

  #about .fourSightActivity ul li:last-child {
    margin-bottom: 0;
  }

  #about .fourSightActivity ul li .label {
    margin: 0 0 10px;
  }

  #about .fourSightActivity ul li p {
    text-align: left;
  }
}


.relatinArticle {
  padding: 50px 0 0;
  background: url(/lab/img/about/bg_relation.png) top center no-repeat;
  background-size: cover;
}

.relatinArticle .title {
  margin-bottom: 30px;
  padding-bottom: 15px;
  border-bottom: 1px rgba(255, 255, 255, .5) solid;
  color: #fff;
  font-size: 2rem;
  font-weight: 300;
  letter-spacing: .14em;
}

.relatinArticle ul {
  display: flex;
  flex-wrap: wrap;
}

.relatinArticle ul li {
  margin: 0 2% 50px 0;
  border-radius: 6px;
  width: 32%;
  overflow: hidden;
  background-color: #fff;
  box-shadow: 6px 6px 6px -2px rgba(14, 14, 18, .2);
}

.relatinArticle ul li:nth-child(3n) {
  margin-right: 0;
}

.relatinArticle ul li a {
  display: block;
  color: #000;
  background-color: #fff;
  text-decoration: none;
  transition: opacity ease .3s;
}


.relatinArticle ul li .image img {
  width: 100%;
}

.relatinArticle ul li p {
  padding: 15px 20px;
  min-height: calc(3.26em + 30px);
}

@media screen and (max-width: 767px) {
  .relatinArticle {
    padding: 40px 0 20px;
  }

  .relatinArticle .title {
    margin-bottom: 20px;
    padding-bottom: 8px;
    font-size: 1.5rem;
  }

  .relatinArticle ul {}

  .relatinArticle ul li {
    margin: 0 calc(33/687*100%) 20px 0;
    width: calc(327/687*100%);
  }

  .relatinArticle ul li:nth-child(3n) {
    margin-right: calc(33/687*100%);
  }

  .relatinArticle ul li:nth-child(2n) {
    margin-right: 0;
  }

  .relatinArticle ul li p {
    padding: 8px 10px;
    min-height: calc(3.26em + 16px);
  }
}


/* =============================================================================
 Article Page Styles
============================================================================= */

/* base */
#single {
  background: none;
}

.article {
  position: relative;
}

@media screen and (min-width: 1024px) {
  #single {
    padding-top: 115px;
  }
}


/* article head */
.articleHead {
  margin: 0 0 70px;
  display: flex;
  flex-direction: column;
  height: 100vh;
  height: auto !important;
}

.articleHead .articleMV {
  width: 100%;
  height: 100%;
  text-align: center;
  height: auto !important;
}
.articleHead .articleMV img {
    max-height: 60vh;
}

.articleHead .articleMV>div {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center center;
  -webkit-background-size: cover;
  background-size: cover;
}

.articleHead .articleTitleWrap {
  position: relative;
  color: #fff;
  background-color: #1966bd;
  font-weight: bold;
}

.articleHead .articleTitle {
  padding: 30px 95px 15px 195px;
  display: flex;
  align-items: center;
  min-height: 145px;
  line-height: 1.39;
  font-size: 3.6rem;
}

.articleHead .date {
  position: absolute;
  top: 36px;
  left: 0;
  opacity: .7;
}

.articleHead .date {
  position: absolute;
  top: 36px;
  left: 0;
  width: 140px;
  text-align: right;
  opacity: .7;
}

.articleHead .date:before {
  content: "";
  display: block;
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 140px;
  height: 1px;
  background-color: #fff;
}

.articleHead .articleResearchThemeListContainer {
  padding: 0 95px 25px 195px;
}

.articleHead .articleResearchThemeList {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: box;
  display: flex;
  flex-wrap: wrap;
  margin: -5px;
}

.articleHead .articleResearchThemeList li {
  margin: 5px;
}

.articleHead .articleResearchThemeList a {
  display: block;
  position: relative;
  border: 1px solid #fff;
  padding: 6px 9px 8px 19px;
  font-size: 14px;
  background-color: rgba(255, 255, 255, 0);
  color: #fff;
  line-height: 1;
  font-weight: normal;
  transition-property: color, background-color;
  transition-duration: .3s;
}

.articleHead .articleResearchThemeList a:hover {
  background-color: #fff;
  text-decoration: none;
  color: inherit;
}

.articleHead .articleResearchThemeList a:before {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 6px;
  width: 6px;
  height: 6px;
  margin: auto 0;
  border-top: 1px solid;
  border-right: 1px solid;
  content: "";
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (max-width: 1023px) {
  .articleHead {
    margin: 0 0 30px;
    display: block;
    height: auto;
  }

  .articleHead .articleMV {
    position: relative;
    height: 0;
  }

  .articleHead .articleMV>div {
    position: absolute;
    top: 0;
    left: 0;
  }
}

@media screen and (max-width: 767px) {

  /*
  .articleHead {
    margin: 0 0 30px;
    height: calc(100vh - 60px);
  }
*/
  .articleHead {
    margin: 0 0 30px;
    display: block;
    height: auto;
  }

  .articleHead .articleMV {
    position: relative;
    height: 0;
  }

  .articleHead .articleMV>div {
    position: absolute;
    top: 0;
    left: 0;
  }

  .articleHead .articleMV img {
      max-height: none;
  }

  .articleHead .articleTitleWrap {}

  .articleHead .articleTitle {
    padding: 50px 4.4% 0;
    min-height: 140px;
    line-height: 1.5;
    font-size: 2rem;
    margin-bottom: 10px;
  }

  .articleHead .date {
    top: 20px;
  }

  .articleHead .date {
    padding-left: 4.4%;
    display: inline-block;
    top: 20px;
    width: auto;
    font-size: 1rem;
  }

  .articleHead .date:before {
    bottom: -10px;
    width: 100%;
  }

  .articleHead .articleResearchThemeListContainer {
    padding: 0 4.4% 20px;
  }

  .articleHead .articleResearchThemeList a {
    font-size: 11px;
    padding: 6px 9px 6px 15px;
  }

  .articleHead .articleResearchThemeList a:before {
    width: 4px;
    height: 4px;
  }
}




/* article body */
.article {
  margin-bottom: 100px;
}

.article.mb0 {
  margin-bottom: 0;
}

.article>*:not(.articleHead):not(.fwColumn):not(.imageArea) {
  margin: 0 auto 60px;
  padding: 0 95px;
  max-width: 1340px;
}

.paragraphTitle {
  margin-bottom: 25px;
  padding-bottom: 20px;
  position: relative;
  line-height: 1.56;
  font-size: 3.2rem;
  font-weight: 300;
  letter-spacing: .14em;
}

.paragraphTitle .small {
  font-size: 62.5%;
}

.paragraphTitle:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #787878;
}

.paragraphBox p:not(.annotation) {
  line-height: 2;
  letter-spacing: .1em;
}

.paragraphBox p .small {
  font-size: 1.2rem;
}

.article .sup {
  vertical-align: super;
  font-size: 1rem;
}

.annotation {
  margin: 1em 0;
  line-height: 2;
  font-size: 1.2rem;
  text-align: right;
  letter-spacing: .1em;
}

.graphArea {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  overflow: hidden;
}

.dataTitle {
  margin-bottom: 30px;
  width: 100%;
  line-height: 30px;
  font-size: 2rem;
  font-weight: normal;
}

.dataTitle span {
  margin-right: 15px;
  padding: 0 15px;
  border: 1px #1966bd solid;
  border-radius: 13px;
  display: inline-block;
  line-height: 26px;
  color: #1966bd;
  font-size: 1.2rem;
  vertical-align: bottom;
}

.graphBox {
  margin: 0 0 20px;
  border-radius: 18px;
  padding: 85px 25px 40px;
  position: relative;
  width: 100%;
  background-color: #e8eff8;
}

.annotation+.graphBox {
  margin-top: 20px;
}

.graphBox.graphBoxHalf {
  width: 49%;
}

.graphBox .label {
  position: absolute;
  top: 30px;
  left: -10px;
  width: 80px;
  height: 40px;
  color: #fff;
  font-size: 1.6rem;
}

.graphBox .label span {
  padding: 6px 0 0 20px;
  display: block;
  position: relative;
  z-index: 2;
}

.graphBox .label svg {
  position: absolute;
  top: 0;
  left: 0;
  fill: #0068b7;
  fill-rule: evenodd;
}

.graphBox .graphTitle {
  margin-bottom: 25px;
  line-height: 1.5;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.graphBox .graphQTitle {
  margin-bottom: 25px;
  padding-left: 28px;
  position: relative;
  line-height: 1.5;
  font-weight: bold;
}

.graphBox .graphQTitle:before {
  margin-right: 5px;
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 20px;
  background: url(data:img/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAQAAAAjdQW7AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAAHdElNRQfjCREWFxZQTX8CAAAAuUlEQVQoz92SUQ3DIBRFT+sAC7PwLGABC7UwC1jAQicBC62EVQIW3j7KGLR0yX53+SB5OSE3jzOwR3AIAqysPFi5iGFGD2fG9OGIoiQ8DocnoSixh7qMSplIxt0ZDijK1MwmFCVclWgbmn6RAc13m+505If8B2y/4e2e7ygB6e95ZAMoX3sDpoxt55ePboRi3scNg8XuBVvr3vCzUsDmGX2fFWUpeAUDCJ5IQol4BCFV1Q7wOVIZnvMC6axlxDRcxYgAAAAASUVORK5CYII=) 0 0 no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
}

.graphBox .graphQTitle span {
  font-size: 1.2rem;
}

.graphBox .graphNotice {
  margin-bottom: 25px;
  font-size: 1.2rem;
  text-align: right;
}

.graphBox .graphQTitle+.graphNotice {
  margin-top: -20px;
  text-align: right;
}

.graphBox .graphImage {
  text-align: center;
}

.graphBox .graphText {
  margin: 25px 0;
}

.graphBox .graphText p {
  font-size: 1.6rem;
  letter-spacing: .075em;
  text-align: center;
}

.graphBox .graphColumn {
  margin: 40px 0 0;
  padding: 20px 15px;
  border: 1px #0068b7 dashed;
  border-radius: 10px;
  position: relative;
  display: flex;
  justify-content: center;
  background-color: #fff;
}

.graphBox .graphColumn ul {
  position: relative;
}

.graphBox .graphColumn ul li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.63;
}

.graphArea .annotation {
  margin: 0;
  width: 100%;
}

.fwColumn {
  margin: 0 0 60px;
  padding: 70px 0;
  background-color: #1966bd;
}

.fwColumn .inner {
  margin: 0 auto;
  padding: 0 95px;
  max-width: 1340px;
}

.fwColumn .title {
  margin: 0 0 50px;
  color: #fff;
  font-size: 2.4rem;
  font-weight: normal;
  text-align: center;
  letter-spacing: .14em;
}

.fwColumn ul {
  display: flex;
  flex-wrap: wrap;
}

.fwColumn ul li {
  margin: 0 3.5% 30px 0;
  padding: 30px 30px 15px;
  border-radius: 6px;
  width: 31%;
  background-color: #fff;
}

.fwColumn ul li:nth-child(3n) {
  margin-right: 0;
}

.fwColumn ul li .image {
  margin: 0 0 10px;
}

.fwColumn ul li .image img {
  width: 100%;
}

.fwColumn ul li .columnTitle {
  margin: 0 0 10px;
  padding-bottom: 5px;
  border-bottom: 1px #1966bd solid;
  font-size: 2rem;
}

.fwColumn ul li .columnTitle span {
  margin-left: 5px;
  font-size: 1.2rem;
  font-weight: normal;
}

.fwColumn ul li p {}

.fwColumn ul li .notice {
  margin-top: 10px;
  font-size: 1.2rem;
  text-align: right;
}

.modalColumn {
  margin: 0 0 60px;
}

.modalColumn .title {
  margin: 0 0 50px;
  font-size: 2.4rem;
  font-weight: normal;
  text-align: center;
  letter-spacing: .14em;
}

.modalColumn .subtitle {
  margin: 0 0 50px;
  font-size: 2rem;
  font-weight: normal;
  text-align: center;
  letter-spacing: .14em;
}

.modalColumn .title+.subtitle {
  margin-top: -40px;
}

.modalColumn ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.modalColumn ul li {
  margin: 0 0 30px;
  padding: 25px 30px;
  border-radius: 6px;
  width: 49%;
  background-color: #f4f4f4;
}

.modalColumn ul li:nth-child(3n) {
  margin-right: 0;
}

.modalColumn ul li .columnTitle {
  margin: 0 0 25px;
  padding: 0 0 20px;
  border-bottom: 1px #787878 solid;
  line-height: 1.5;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: .14em;
}

.modalColumn ul li .box {}

.modalColumn ul li .box+.box {
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px #787878 dashed;
}

.modalColumn ul li .box2 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}

.modalColumn ul li .image {
  margin: 0 0 10px;
  text-align: center;
}

.modalColumn ul li .image a {
  display: block;
  position: relative;
}

.modalColumn ul li .image a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 10px;
  right: 0;
  width: 25px;
  height: 25px;
  background: url(/lab/img/contents/icon_plus.png) 0 0 no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
}

.modalColumn ul li a {
  outline: none;
}

.modalColumn ul li p {}

.modalColumn ul li .box2 p {
  width: calc(260/440*100%);
}

.modalColumn ul li .box2 .image {
  width: calc(140/440*100%);
}

.modalColumn ul li .box2 .image a {
  padding-bottom: 40px;
}

.modalColumn ul li .box2 .image a:after {
  bottom: 0;
}

.modalColumn ul li .modalBox {
  display: none;
}

.modalBox {
  padding: 80px 40px !important;
  border-radius: 25px;
  width: calc(100% - 190px) !important;
  max-width: 1000px !important;
}

.modalBox .modalImage {
  text-align: center;
}

.fancybox-slide--html .fancybox-close-small {
  padding: 0;
  top: 20px;
  right: 20px;
  width: 99px;
  height: 25px;
  background: url(/lab/img/contents/btn_close.png) 0 0 no-repeat;
  -webkit-background-size: contain;
  background-size: contain;
}

.fancybox-slide--html .fancybox-close-small svg {
  display: none;
}

#single .fancybox-container {
  margin-left: 250px;
  width: calc(100% - 250px);
}

@media screen and (max-width: 1023px) {
  #single .fancybox-container {
    margin-left: 0;
    width: 100%;
  }
}

.modalColumn .annotation {
  margin-top: -20px;
}


.imageArea {
  margin: 0 auto 60px;
  padding: 0 95px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 1030px;
}

.imageArea img {
  width: 49%;
}

.imageArea p {
  margin-top: 10px;
  font-size: 1.2rem;
}

@media screen and (max-width: 767px) {
  .article {
    margin-bottom: 40px;
    font-size: 1.4rem;
  }

  .article>*:not(.articleHead):not(.fwColumn):not(.imageArea) {
    margin: 0 auto 30px;
    padding: 0 4.4%;
  }

  .paragraphTitle {
    margin-bottom: 15px;
    padding-bottom: 10px;
    line-height: 1.39;
    font-size: 1.8rem;
  }

  .paragraphBox p:not(.annotation) {
    line-height: 1.85714;
  }

  .paragraphBox p .small {
    font-size: 1rem;
  }

  .annotation {
    line-height: 1.5;
    font-size: 1rem;
    text-align: left;
    letter-spacing: .14em;
  }

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

  .dataTitle {
    margin-bottom: 15px;
    line-height: 1.5;
    font-size: 1.6rem;
  }

  .dataTitle span {
    margin: 0 0 5px;
    padding: 0 12px;
    font-size: 1.1rem;
  }

  .graphBox {
    border-radius: 9px;
    padding: 60px calc(40/750*100vw) 25px;
  }

  .graphBox.graphBoxHalf {
    width: 100%;
  }

  .graphBox .label {
    top: 20px;
    left: -8px;
    width: 60px;
    height: 30px;
    font-size: 1.2rem;
  }

  .graphBox .label span {
    padding: 4px 0 0 16px;
  }

  .graphBox .label svg {
    width: 60px;
    height: 30px;
  }

  .graphBox .graphTitle {
    margin-bottom: 15px;
    line-height: 1.5;
    font-size: 1.3rem;
  }

  .graphBox .graphQTitle {
    margin-bottom: 15px;
    line-height: 1.5;
    padding-left: 23px;
  }

  .graphBox .graphQTitle:before {
    width: 18px;
    height: 16px;
  }

  .graphBox .graphQTitle span {
    margin-top: 5px;
    display: inline-block;
    font-size: 1.1rem;
    text-indent: 0;
  }

  .graphBox .graphNotice {
    margin-bottom: 15px;
    font-size: 1rem;
  }

  .graphBox .graphQTitle+.graphNotice {
    margin-top: -10px;
  }

  .graphBox .graphImage img {}

  .graphBox .graphText {
    margin: 15px 0;
  }

  .graphBox .graphText p {
    font-size: 1.6rem;
    letter-spacing: .075em;
  }

  .graphBox .graphColumn {
    margin-top: 20px;
    padding: 10px;
    border-radius: 6px;
  }

  .graphBox .graphColumn ul {}

  .graphBox .graphColumn ul li {
    line-height: 1.63;
  }

  .graphArea .annotation {}

  .fwColumn {
    margin: 0 0 30px;
    padding: 35px 0;
  }

  .fwColumn .inner {
    padding: 0 4.4%;
  }

  .fwColumn .title {
    margin: 0 0 25px;
    line-height: 1.5;
    font-size: 1.8rem;
    text-align: left;
  }

  .fwColumn ul {
    display: block;
  }

  .fwColumn ul li {
    margin: 0 0 20px;
    padding: 20px 5.33vw;
    width: 100%;
  }

  .fwColumn ul li .image {
    margin: 0 0 10px;
  }

  .fwColumn ul li .image img {
    width: 100%;
  }

  .fwColumn ul li .columnTitle {
    font-size: 1.5rem;
  }

  .fwColumn ul li .columnTitle span {
    font-size: 1rem;
  }

  .fwColumn ul li p {}

  .fwColumn ul li .notice {
    font-size: 1rem;
  }

  .modalColumn {
    margin: 0 0 30px;
  }

  .modalColumn .title {
    margin: 0 0 25px;
    font-size: 1.8rem;
    text-align: left;
  }

  .modalColumn .subtitle {
    margin: 0 0 25px;
    font-size: 1.5rem;
    text-align: left;
  }

  .modalColumn .title+.subtitle {
    margin-top: -15px;
  }

  .modalColumn ul {
    display: block;
  }

  .modalColumn ul li {
    margin: 0 0 30px;
    padding: 15px 5.33vw;
    width: 100%;
  }

  .modalColumn ul li .columnTitle {
    margin: 0 0 20px;
    padding: 0 0 15px;
    font-size: 1.5rem;
  }

  .modalColumn ul li .box {}

  .modalColumn ul li .box+.box {
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px #787878 dashed;
  }

  .modalColumn ul li .box2 {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }

  .modalColumn ul li .image a {
    padding-bottom: 40px;
  }

  .modalColumn ul li .image a:after {
    bottom: 0;
    right: 0;
    width: 30px;
    height: 30px;
  }

  .modalColumn ul li p {
    font-size: 1.2rem;
  }

  .modalColumn ul li .modalBox {}

  .modalBox {
    padding: 50px 5.33% 15px !important;
    border-radius: 10px;
    width: calc(100% - 10px) !important;
    max-width: 1000px !important;
  }

  .modalBox .modalImage {
    text-align: center;
  }

  .fancybox-slide--html .fancybox-close-small {
    top: 15px;
    right: 15px;
  }

  #single .fancybox-container {
    margin-left: 0;
    width: 100%;
  }

  .modalColumn .annotation {}

  .imageArea {
    margin: 0 auto 30px;
    padding: 0 4.4%;
  }

  .imageArea img {
    width: 48.5%;
  }

  .imageArea p {
    margin-top: 5px;
    font-size: 1rem;
  }
}





/* list box */
.listBox {
  padding: 0 !important;
  max-width: inherit !important;
}

.listBox .listBoxInner {
  padding: 50px 0 70px;
  color: #fff;
  background-color: #445274;
}

.listBox .listTitle {
  margin: 0 0 45px;
  font-size: 2.4rem;
  font-weight: normal;
  text-align: center;
  letter-spacing: .1em;
}

.listBox ul {
  margin: 0 auto;
  padding: 0 95px;
  max-width: 1340px;
}

.listBox ul li {
  padding: 15px 20px;
  border-bottom: 1px rgba(255, 255, 255, .2) solid;
  line-height: 1.5;
  letter-spacing: .075em;
}

.listBox ul li:first-child {
  border-top: 1px rgba(255, 255, 255, .2) solid;
}

.listBox ul li .small {
  font-size: 1.4rem;
}

.listBox .annotation {
  margin: 10px auto 0;
  padding: 0 95px;
  max-width: 1340px;
}

@media screen and (max-width: 767px) {
  .listBox {}

  .listBox .listBoxInner {
    padding: 25px 0 40px;
  }

  .listBox .listTitle {
    margin: 0 0 25px;
    font-size: 1.4rem;
  }

  .listBox ul {
    padding: 0 4%;
  }

  .listBox ul li {
    padding: 15px 0 15px 1em;
    text-indent: -1em;
  }

  .listBox ul li .small {
    font-size: 1.2rem;
  }

  .listBox .annotation {
    padding: 0 4%;
  }
}





/* person intro */
.personIntro {
  padding: 0 !important;
  max-width: inherit !important;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAANUlEQVQYlX3KsRUAIAjEUPbflDYLnJU+1IMi1U8A6spMxYSAHzbaoeI3vHgNDs/QIaCYENACCL70aUikK3EAAAAASUVORK5CYII=) 0 0 repeat;
}

.personIntro.pink {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAOklEQVQYlX3KKxYAIAwDwd7/rAgEETEpCh6ftmLVrAn0rNG6W4UC42FhOJz4DS9eQ4R7yFCgW4UCfQLesPnhFXda/gAAAABJRU5ErkJggg==);
}

.personIntro.mbfix01 {
  margin-bottom: -100px !important;
}

.personIntro.mbfix02 {
  margin-bottom: 0 !important;
}

.personIntro .personIntroInner {
  margin: 0 auto;
  padding: 50px 95px 70px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  max-width: 1340px;
}

.personIntro .personPhoto {
  width: 27%;
}

.personIntro .personData {
  width: 69%;
  letter-spacing: .075em;
}

.personIntro .personName {
  margin: 0 0 10px;
  padding: 0 0 10px;
  border-bottom: 1px #838383 solid;
  font-size: 1.8rem;
  font-weight: bold;
}

.personIntro.pink .personName {
  border-color: #d290ad;
}

.personIntro p {
  line-height: 2;
  font-size: 1.4rem;
}

@media screen and (max-width: 767px) {
  .personIntro {
    margin: 0 4.4% 50px !important;
  }

  .personIntro.mbfix01,
  .personIntro.mbfix02 {
    margin-bottom: 50px !important;
  }

  .personIntro .personIntroInner {
    margin: 0 auto;
    padding: 30px 5.33vw 25px;
    display: block;
  }

  .personIntro .personPhoto {
    margin: 0 auto 20px;
    width: 52vw;
  }

  .personIntro .personData {
    width: auto;
  }

  .personIntro .personName {
    margin: 0 0 15px;
    padding: 0 0 15px;
    font-size: 1.3rem;
    text-align: center;
  }

  .personIntro p {
    line-height: 1.63;
    font-size: 1.3rem;
  }
}





/* relation item */
.relatinItem {
  padding: 50px 0 20px;
  background-color: #e8eff8;
}

.relatinItem .title {
  margin: 0 0 30px;
  padding: 0 0 25px;
  border-bottom: 1px #80aada solid;
  color: #1966bd;
  font-size: 2rem;
  font-weight: 300;
  letter-spacing: .12em;
}

.relatinItem ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.relatinItem ul li {
  margin: 0 0 30px;
  width: 49%;
}

.relatinItem ul li a {
  display: flex;
  text-decoration: none;
}

.relatinItem ul li .image {
  border-radius: 6px 0 0 6px;
  width: calc(246/490*100%);
  overflow: hidden;
}

.relatinItem ul li .image img {
  width: 100%;
}

.relatinItem ul li .itemName {
  padding: 20px;
  border: 1px #e9e9e9 solid;
  border-left: none;
  border-radius: 0 6px 6px 0;
  display: flex;
  align-items: center;
  width: calc(244/490*100%);
  background-color: #fff;
  box-sizing: border-box;
}

.relatinItem ul li .itemName span {
  padding-left: 12px;
  border-left: 4px #dd2c2e solid;
  display: inline-block;
  line-height: 1.63;
  color: #000;
  font-size: 1.6rem;
}

@media screen and (min-width: 1024px) and (max-width: 1440px) {
  .relatinItem ul li .itemName span {
    font-size: calc(16/1440*100vw);
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .relatinItem ul li .itemName span {
    font-size: calc(13/1024*100vw);
  }
}

@media screen and (max-width: 767px) {
  .relatinItem {
    padding: 35px 0 20px;
  }

  .relatinItem .title {
    margin: 0 0 20px;
    padding: 0 0 15px;
    font-size: 1.5rem;
  }

  .relatinItem ul {
    display: block;
  }

  .relatinItem ul li {
    margin: 0 0 20px;
    width: 100%;
  }

  .relatinItem ul li a {}

  .relatinItem ul li .image {
    border-radius: 6px 0 0 6px;
    width: 50%;
  }

  .relatinItem ul li .image img {
    width: 100%;
  }

  .relatinItem ul li .itemName {
    width: 50%;
  }

  .relatinItem ul li .itemName span {
    line-height: 1.17;
    font-size: 1.6rem;
  }
}





/* =============================================================================
 Article Page added fields
============================================================================= */

.columnTitle {
  margin-bottom: 15px;
  padding-bottom: 15px;
  position: relative;
  line-height: 1.5;
  font-size: 2rem;
  font-weight: 700;
}

.columnTitle:before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #000;
}

.squareTitle {
  margin-bottom: 5px;
  line-height: 1.5;
  font-size: 1.5rem;
  font-weight: 700;
}

.squareTitle:before {
  content: "■";
}

@media screen and (min-width: 768px) {
  .columnTitle {
    margin-bottom: 20px;
    padding-bottom: 20px;
    font-size: 3rem;
  }

  .squareTitle {
    margin-bottom: 10px;
    font-size: 2.4rem;
  }
}

.fullImage {
  text-align: center;
}




.imgColumn {
  padding: 0;
  display: flex;
  justify-content: space-between;
}

.imgColumn.imgRight {
  flex-direction: row-reverse;
}

.imgColumn .image {
  margin: 0;
  width: calc(680/1440*100%);
}

.imgColumn .text {
  width: calc(680/1440*100%);
  box-sizing: border-box;
}

.imgColumn .text>* {
  max-width: 450px;
  width: 100%;
}

.imgColumn.imgRight .text:after {
  content: "";
  display: block;
  clear: both;
}

.imgColumn.imgRight .text>* {
  clear: right;
  float: right;
}

.imgColumn .columnTitle {
  margin: 0 0 15px;
  line-height: 1.5;
  font-size: 3rem;
}

.imgColumn .columnTitle span {
  font-size: 50%;
  vertical-align: super;
}

@media screen and (max-width: 767px) {
  .imgColumn {
    display: block;
  }

  .imgColumn .image {
    margin: 0 0 15px;
    width: auto;
  }

  .imgColumn .image img {
    width: 100%;
  }

  .imgColumn.imgRight .image {}

  .imgColumn .text {
    width: 100%;
  }

  .imgColumn .text>* {
    max-width: inherit;
  }

  .imgColumn .columnTitle {
    font-size: 2rem;
  }
}



.imgColumnS {}

.imgColumnS .photo a {
  display: block;
  position: relative;
}

.imgColumnS .photo img {
  width: 100%;
}

.imgColumnS .caption {
  padding-top: 10px;
  line-height: 1.87;
  font-size: 1.5rem;
}

.imgColumnS .caption a {
  color: #000;
  text-decoration: none;
}

.imgColumnS .caption span {
  border-bottom: 1px #b5b5b5 solid;
}

@media screen and (min-width: 768px) {
  .imgColumnS {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }

  .imgColumnS.imgRight {
    flex-direction: row-reverse;
  }

  .imgColumnS .photo {
    width: calc(370/820*100%);
  }

  .imgColumnS .caption {
    padding-top: 0;
    width: calc(430/820*100%);
    line-height: 1.88;
    font-size: 1.6rem;
  }

  .imgColumnS .caption a span {
    border-bottom: none;
  }

  .imgColumnS .caption a:hover span {
    border-bottom: 1px #b5b5b5 solid;
  }
}


.fullWindowText {
  margin: 0 0 50px;
  padding: 30px calc(26/750*100%) !important;
  color: #fff;
  background-color: #fdf0f0;
}

.fullWindowText.bgGray {
  background-color: #eee;
}

.fullWindowText .leadTitle {
  margin-bottom: 10px;
  line-height: 1.5;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
}

.fullWindowText p {}

@media screen and (min-width: 768px) {
  .fullWindowText {
    padding: 80px 25px 70px !important;
    max-width: inherit !important;
  }

  .fullWindowText .leadTitle {
    margin-bottom: 30px;
    font-size: 3rem;
  }

  .fullWindowText p {
    margin: 0 auto;
    max-width: 820px;
  }
}


.asideColumn {
  margin-bottom: 50px;
}

.asideColumn dl {
  margin-bottom: 25px;
  padding: 20px calc(50/700*100%);
  border-radius: 8px;
  background-color: #fafafa;
}

.asideColumn dl:last-child {
  margin-bottom: 0;
}

.asideColumn dl dt {
  margin-bottom: 5px;
  line-height: 1.54;
  font-weight: 700;
}

.asideColumn dl dd>*:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .asideColumn dl {
    border-radius: 20px;
    padding: 35px 40px;
  }
}


.imageList {}

.imageList ul {
  border-top: 1px #eee solid;
}

.imageList ul li {
  padding: 15px 35px;
  border-bottom: 1px #eee solid;
}

.imageList ul li {
  display: block;
}

.imageList ul li img {
  width: auto;
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .imageList {}

  .imageList ul {
    border-width: 2px;
  }

  .imageList ul li {
    border-width: 2px;
  }

  .imageList ul li {
    padding: 40px 0;
    text-align: center;
  }

  .imageList ul li img {
    max-width: 520px;
  }
}


.imageTriple {
  display: flex;
  justify-content: space-between;
  max-width: 1140px;
  box-sizing: border-box;
}

.imageTriple .image {
  width: calc(460/1440*100%);
}

.imageTriple .image img {
  width: 100%;
}





/* =============================================================================
 Article Page Custom Styles
============================================================================= */

.aboutLgbtq {
  margin: 0 35px;
  display: flex;
  align-items: center;
}

.aboutLgbtq .title {
  margin-right: 80px;
  border-right: 2px #445274 solid;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  color: #445274;
  font-size: 2.4rem;
  text-orientation: upright;
  letter-spacing: .14em;
}

.aboutLgbtq ul {
  width: calc(100% - 110px);
}

.aboutLgbtq ul li {
  margin: 20px 0;
  display: flex;
  align-items: center;
}

.aboutLgbtq ul li .icon {
  margin-right: 8px;
  border-radius: 16px;
  display: inline-block;
  width: 32px;
  line-height: 32px;
  color: #fff;
  background-color: #445274;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}

.aboutLgbtq ul li .name {
  width: 210px;
  color: #445274;
  line-height: 1.5;
  font-size: 1.2rem;
  font-weight: bold;
}

.aboutLgbtq ul li p {
  width: calc(100% - 250px);
}

@media screen and (max-width: 767px) {
  .aboutLgbtq {
    margin: 0;
    display: block;
  }

  .aboutLgbtq .title {
    margin: 0 0 10px;
    border: none;
    -webkit-writing-mode: horizontal-tb;
    writing-mode: horizontal-tb;
    color: #000;
    font-size: 1.3rem;
    letter-spacing: .025em;
    font-weight: bold;
  }

  .aboutLgbtq ul {
    width: auto;
  }

  .aboutLgbtq ul li {
    margin: 20px 0 0;
    flex-wrap: wrap;
    align-items: center;
  }

  .aboutLgbtq ul li .icon {
    border-radius: 11px;
    width: 22px;
    line-height: 22px;
    font-size: 1.4rem;
  }

  .aboutLgbtq ul li .name {
    width: calc(100% - 30px);
    line-height: 1.5;
  }

  .aboutLgbtq ul li p {
    margin-top: 5px;
    width: 100%;
  }
}





.graphTable {
  margin: 0 35px;
}

.graphTable .title {
  margin: 0 0 10px;
  line-height: 1.62;
  font-weight: bold;
  letter-spacing: .1em;
}

.graphTable table {
  border-bottom: 1px #b9baba solid;
  width: 100%;
  letter-spacing: .1em;
}

.graphTable table th {
  padding: 12px 0;
  color: #fff;
  background-color: #445274;
  text-align: center;
  font-weight: normal;
  vertical-align: middle;
}

.graphTable table th+th {
  border-left: 1px #fff solid;
}

.graphTable table td {
  padding: 20px 25px;
  border-left: 1px #b9baba solid;
  border-right: 1px #b9baba solid;
  line-height: 1.63;
  background-color: #f0f1f4;
  vertical-align: middle;
}

.graphTable table tr:nth-child(even) td {
  background-color: #fff;
}

.graphTable .annotation {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .graphTable {
    margin: 0;
  }

  .graphTable .title {
    margin: 0 0 10px;
  }

  .graphTable table {
    border: 1px #b9baba solid;
    font-size: 1.2rem;
  }

  .graphTable table tr:first-child,
  .graphTable table th {
    display: none;
  }

  .graphTable table tbody,
  .graphTable table tr {
    display: block;
  }

  .graphTable table td {
    padding: 8px 15px;
    border: none;
    display: block;
    background-color: #fff;
  }

  .graphTable table tr td:first-child {
    color: #fff;
    background-color: #445274;
  }

  .graphTable .annotation {
    margin-top: 15px;
  }
}





.subColumn {
  margin: 50px auto 0;
  width: 79%;
}

.subColumn .lgbtqList {}

.subColumn .lgbtqList ul {
  padding: 15px 45px;
  position: relative;
  letter-spacing: .14em;
}

.subColumn .lgbtqList ul:before,
.subColumn .lgbtqList ul:after {
  content: "";
  border: 1px #445274 solid;
  display: block;
  position: absolute;
  top: 0;
  width: 15px;
  height: 100%;
  box-sizing: border-box;
  pointer-events: none;
}

.subColumn .lgbtqList ul:before {
  border-right: none;
  left: 0;
}

.subColumn .lgbtqList ul:after {
  border-left: none;
  right: 0;
}

.subColumn .lgbtqList ul li {
  display: flex;
  justify-content: space-between;
}

.subColumn .lgbtqList ul li+li {
  margin-top: 15px;
}

.subColumn .lgbtqList ul li .label {
  width: 80px;
}

.subColumn .lgbtqList ul li .icon {
  margin-right: 10px;
  display: inline-block;
  width: 10px;
  height: 10px;
  background-color: #000;
  vertical-align: middle;
}

.subColumn .lgbtqList ul li p {
  width: calc(100% - 80px);
}

.subColumn .annotation {
  margin-top: 10px;
}

@media screen and (max-width: 767px) {
  .subColumn {
    margin: 15px auto 0;
    width: 100%;
  }

  .subColumn .lgbtqList {}

  .subColumn .lgbtqList ul {
    padding: 30px calc(30/750*100vw);
    letter-spacing: .05em;
  }

  .subColumn .lgbtqList ul:before,
  .subColumn .lgbtqList ul:after {
    width: 100%;
    height: 15px;
  }

  .subColumn .lgbtqList ul:before {
    border-right: 1px #445274 solid;
    border-bottom: none;
    left: 0;
  }

  .subColumn .lgbtqList ul:after {
    border-left: 1px #445274 solid;
    border-top: none;
    top: auto;
    bottom: 0;
    right: 0;
  }

  .subColumn .lgbtqList ul li {
    display: block;
    font-size: 1.2rem;
  }

  .subColumn .lgbtqList ul li+li {
    margin-top: 10px;
  }

  .subColumn .lgbtqList ul li .label {
    width: auto;
  }

  .subColumn .lgbtqList ul li .icon {
    margin-right: 6px;
    width: 8px;
    height: 8px;
  }

  .subColumn .lgbtqList ul li p {
    width: auto;
  }
}




@media screen and (max-width: 767px) {
  .articleShare {
    margin: 0 4.4% 50px;
  }

  .articleShare .label {
    margin: 0 0 30px;
    position: relative;
    color: #9d9d9d;
    font-size: 1.6rem;
    text-align: center;
    letter-spacing: .15em;
  }

  .articleShare .label:before {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #e5e5e5;
  }

  .articleShare .label span {
    padding: 0 1em;
    display: inline-block;
    position: relative;
    background-color: #fff;
  }

  .articleShare ul {
    text-align: center;
  }

  .articleShare ul li {
    margin: 0 15px;
    display: inline-block;
    width: 35px;
  }
}





/* =============================================================================
 Anime Styles
============================================================================= */

.anime {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity ease .6s, transform ease .6s, visibility ease .6s;
  transform: translateY(50px);
}

.anime.animated {
  visibility: visible;
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}

.articleHead.anime {
  transform: translateY(0);
}

.paragraphTitle.anime:before {
  width: 0;
  transition: width ease .6s .3s;
}

.paragraphTitle.anime.animated:before {
  width: 100%;
}


.anime.animated+.annotation {
  visibility: visible;
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}





/* =============================================================================
 About renewal Styles
============================================================================= */

.pageKVabout {
  position: relative;
}

.pageKVabout .innovationAnchor {
  position: absolute;
  width: calc(130/1190*100%);
  height: calc(130/750*100%);
}

.pageKVabout .innovationAnchor a {
  border-radius: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.pageKVabout .innovationAnchor a:before {
  content: '';
  border-radius: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transition: opacity ease .3s;
  opacity: 0;
}

.pageKVabout .innovationAnchor img {
  width: calc(100/130*100%);
}

.pageKVabout .innovationAnchor.-anc01 {
  top: calc(193/750*100%);
  left: calc(263/1190*100%);
}

.pageKVabout .innovationAnchor.-anc02 {
  top: calc(327/750*100%);
  left: calc(334/1190*100%);
}

.pageKVabout .innovationAnchor.-anc03 {
  top: calc(273/750*100%);
  left: calc(505/1190*100%);
}

.pageKVabout .innovationAnchor.-anc04 {
  top: calc(404/750*100%);
  left: calc(659/1190*100%);
}

.pageKVabout .innovationAnchor.-anc05 {
  top: calc(157/750*100%);
  left: calc(670/1190*100%);
}

.pageKVabout .innovationAnchor.-anc06 {
  top: calc(262/750*100%);
  left: calc(774/1190*100%);
}

@media screen and (min-width: 768px) {
  .pageKVabout .innovationAnchor a:hover:before {
    opacity: 0.5;
  }
}

@media screen and (max-width: 767px) {
  .pageKVabout .innovationAnchor {
    width: calc(140/750*100%);
    height: calc(140/1092*100%);
  }

  .pageKVabout .innovationAnchor img {
    width: calc(106/140*100%);
  }

  .pageKVabout .innovationAnchor.-anc01 {
    top: calc(437/1092*100%);
    left: calc(33/750*100%);
  }

  .pageKVabout .innovationAnchor.-anc02 {
    top: calc(580/1092*100%);
    left: calc(108/750*100%);
  }

  .pageKVabout .innovationAnchor.-anc03 {
    top: calc(522/1092*100%);
    left: calc(291/750*100%);
  }

  .pageKVabout .innovationAnchor.-anc04 {
    top: calc(661/1092*100%);
    left: calc(456/750*100%);
  }

  .pageKVabout .innovationAnchor.-anc05 {
    top: calc(398/1092*100%);
    left: calc(467/750*100%);
  }

  .pageKVabout .innovationAnchor.-anc06 {
    top: calc(510/1092*100%);
    left: calc(578/750*100%);
  }
}




#about .lineTitle {
  padding-bottom: 5px;
  line-height: 1.2;
  font-size: 3rem;
  font-weight: bold;
}

#about .paragraph {
  text-align: center;
}

#about .fourSight {
  margin-bottom: 30px;
  background-color: #577b93;
}

#about .fourSight ul li .label {
  color: #577b93;
  font-size: 2rem;
}

#about .fourSight:before,
#about .fourSight:after {
  display: none;
}

#about .fourSightActivity {
  border: 2px solid #577b93;
  box-shadow: none;
}

#about .fourSightActivity ul li {
  width: calc(400/880*100%);
  text-align: center;
}

#about .fourSightActivity ul li:nth-child(3n) {
  margin-right: calc(80/880*100%);
}

#about .fourSightActivity ul li:nth-child(2n) {
  margin-right: 0;
}

#about .fourSightActivity ul li:nth-child(n+3) {
  margin-top: 40px;
}

#about .fourSightActivity ul li .label {
  margin-bottom: 30px;
  padding: 0 0 5px;
  border-top: none;
  display: inline-block;
  font-size: 2rem;
  font-weight: normal;
}

#about .fourSightActivity ul li p {
  text-align: left;
}

@media screen and (max-width: 767px) {
  #about .lineTitle {
    font-size: 1.8rem;
  }

  #about .lineTitle span {
    border-bottom-width: 2px;
  }

  #about .fourSight {
    margin-bottom: 30px;
  }

  #about .fourSight ul li .label {
    font-size: 1.8rem;
  }

  #about .fourSightActivity ul li {
    width: 100%;
  }

  #about .fourSightActivity ul li:nth-child(3n) {
    margin-right: 0;
  }

  #about .fourSightActivity ul li:nth-child(n+2) {
    margin-top: 30px;
  }

  #about .fourSightActivity ul li .label {
    margin-bottom: 15px;
    font-size: 1.8rem;
  }
}



#innovation {
  margin-bottom: 90px;
}

.innovationLead {
  padding: 70px 0 100px;
  color: #577b93;
  text-align: center;
}

.innovationTitle {
  margin-bottom: 25px;
  line-height: 1.5;
  font-size: 3rem;
  font-weight: bold;
}

.innovationLead p {
  line-height: 2.25;
}



#innovation {
  position: relative;
  background-color: #577b93;
}

.innovationList {
  position: relative;
}

#innovation:before {
  content: '';
  display: block;
  position: absolute;
  top: -33px;
  left: calc(50% - 1px);
  z-index: 10;
  width: 2px;
  height: 66px;
  background-image: linear-gradient(to bottom, #577b93 50%, #fff 50%);
}

.innovationList ul li {
  color: #577b93;
}

.innovationList ul li .innovationName {
  padding: 20px 20px 12px;
  font-size: 1.8rem;
  font-weight: bold;
}

.innovationList ul li p {
  padding: 0 20px 25px;
}

@media screen and (min-width: 768px) {
  #innovation .scroller {
    display: none;
  }

  .innovationList {
    padding-top: 100px;
    padding-bottom: 100px;
    max-width: inherit !important;
  }

  .innovationList ul {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    max-width: 1150px;
  }

  .innovationList ul li {
    margin-right: 3.5%;
    width: 31%;
    background-color: #fff;
    box-shadow: 12px 10px 10px rgba(0, 0, 0, .15);
  }

  .innovationList ul li .innovationImage img {
    width: 100%;
  }

  .innovationList ul li:nth-child(3n) {
    margin-right: 0;
  }

  .innovationList ul li:nth-child(n+4) {
    margin-top: 40px;
  }

  .innovationScrollBarWrap {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #innovation {
    margin-bottom: 90px;
  }

  .innovationLead {
    padding: 40px 0 60px;
    position: relative;
  }

  .innovationLead:before {
    content: '';
    display: block;
    position: absolute;
    bottom: 0;
    left: calc(50% - 1px);
    width: 2px;
    height: 22px;
    background-color: #577b93;
  }

  .innovationTitle {
    margin-bottom: 25px;
    line-height: 1.5;
    font-size: 2rem;
  }

  #innovation:before {
    top: -22px;
    height: 22px;
    background-image: none;
    background-color: #577b93;
  }

  .innovationBox {
    height: 480px;
    background-color: #fff;
  }
}



@media screen and (max-width: 767px) {
  #innovation {
    background-color: transparent;
  }

  #innovation_block {
    padding: 0;
  }

  #innovation #innovation_scroller_container {
    padding: 85px 0 100px;
    display: flex;
    position: sticky;
    top: 60px;
    left: 0;
    width: 100%;
    overflow: hidden;
    background-color: #577b93;
    transform: translate3d();
  }

  #innovation .scroller {
    position: absolute;
    top: 0;
    left: calc(50% - 24px);
    width: 48px;
    height: 55px;
    overflow: hidden;
  }

  #innovation .scroller:before {
    margin: 0 auto;
    content: '';
    display: block;
    width: 2px;
    height: 55px;
    background-color: #fff;
  }

  #innovation .scroller:after {
    content: '';
    border-radius: 100%;
    display: block;
    position: absolute;
    top: -8px;
    left: calc(50% - 4px);
    width: 8px;
    height: 8px;
    background-color: #fff;
    animation: scroller 1.4s ease-in-out infinite;
  }

  #innovation .scroller span {
    position: absolute;
    bottom: 0;
    right: 1em;
    color: #fff;
    font-size: 1rem;
    font-weight: bold;
    letter-spacing: 0.1em;
    transform: rotate(90deg);
    transform-origin: bottom right;
  }

  #innovation #innovation_scroller {
    padding: 0 0 0 15px;
    display: flex;
  }

  #innovation .innovationCard {
    flex-shrink: 0;
    width: 280px;
  }

  #innovation .innovationCard+.innovationCard {
    margin-left: 15px;
  }

  #about .inner {
    position: relative;
  }

  .innovationScrollBarWrap {
    border-radius: 100px;
    position: absolute;
    bottom: 70px;
    left: 15px;
    width: calc(100% - 30px);
    height: 6px;
    background-color: #48677c;
    overflow: hidden;
  }

  .innovationScrollBar {
    border-radius: 100px;
    position: absolute;
    width: 50%;
    height: 6px;
    background-color: #fff;
  }
}

@keyframes scroller {
  0% {
    transform: translateY(0);
    opacity: 1;
  }

  50% {
    opacity: 1;
  }

  100% {
    transform: translateY(63px);
    opacity: 0;
  }
}


@media screen and (max-width: 767px) {
  .nosmp .innovationScrollBarWrap {
    display: none;
  }

  .nosmp #innovation {
    padding-bottom: 40px;
    background-color: #577b93;
  }

  .nosmp #innovation #innovation_scroller_container {
    margin: 0 15px;
    padding-bottom: 30px;
    width: calc(100% - 30px);
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: #fff #48677c;
  }

  .nosmp #innovation #innovation_scroller_container::-webkit-scrollbar {
    border-radius: 6px;
    height: 6px;
  }

  .nosmp #innovation #innovation_scroller_container::-webkit-scrollbar-track {
    border-radius: 6px;
    background-color: #48677c;
  }

  .nosmp #innovation #innovation_scroller_container::-webkit-scrollbar-thumb {
    border-radius: 6px;
    background-color: #fff;
  }
}