@import url(https://fonts.googleapis.com/css2?family=Spartan:wght@400;700&display=swap);
* {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent
}

a, body {
  color: #000
}

body {
  font-family: 'Spartan', sans-serif;
  width: 100%;
  font-size: 62.5%;
  line-height: 1;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt"
}

@media screen and (max-width:751px) {
  body {
    font-size: 20px;
    line-height: 1
  }
}

a {
  -webkit-tap-highlight-color: transparent;
  text-decoration: none
}

img, svg {
  vertical-align: bottom;
  max-width: 100%
}

#header_logo span br, #home #mv .inner>ul>li dl dd a>span span:after, .pc_hide {
  display: none
}

@media screen and (max-width:751px) {
  .pc_hide {
    display: inline-block
  }
  .pc_hide.-block {
    display: block
  }
  .sp_hide {
    display: none
  }
}

.pc .hover {
  transition: all .5s cubic-bezier(.21, .51, .51, 1);
  cursor: pointer
}

.pc .hover:hover {
  opacity: .6
}

.hide {
  display: none!important
}

.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1s
}

@media screen and (max-width:751px) {
  .fadein {
    transform: translate(0, 13.33333vw)
  }
}

.fadein.show {
  opacity: 1;
  transform: translate(0, 0)
}

@media screen and (max-width:751px) {
  .fadein.show {
    transform: translate(0, 0)
  }
}

.wrap {
  width: 100%;
  min-width: 1400px
}

@media screen and (max-width:1401px) {
  .wrap {
    min-width: 100%
  }
}

@media screen and (max-width:751px) {
  .wrap {
    min-width: 100%
  }
}

.wrap .add_arrow {
  position: relative;
  display: inline-block;
  padding: 0 0 0 20px;
  color: #d95900
}

@media screen and (max-width:751px) {
  .wrap .add_arrow {
    padding: 0 0 0 6.93333vw
  }
}

.wrap .add_arrow:after, .wrap .add_arrow:before {
  content: '';
  display: block;
  position: absolute
}

.wrap .add_arrow:before {
  top: 50%;
  left: 0;
  width: 16px;
  height: 16px;
  background: #d95900;
  transform: translateY(-50%)
}

@media screen and (max-width:751px) {
  .wrap .add_arrow:before {
    top: 1.06667vw;
    width: 4.26667vw;
    height: 4.26667vw;
    transform: none
  }
}

.wrap .add_arrow:after {
  top: 50%;
  left: 4px;
  width: 5px;
  height: 5px;
  border-right: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: translateY(-50%) rotate(-45deg)
}

@media screen and (max-width:751px) {
  .wrap .add_arrow:after {
    top: 2.4vw;
    left: 1.06667vw;
    width: 1.33333vw;
    height: 1.33333vw;
    border-right: .26667vw solid #fff;
    border-bottom: .26667vw solid #fff;
    transform: rotate(-45deg)
  }
}

#header {
  position: fixed;
  z-index: 100;
  padding: 100px 0;
  width: 100%;
  background: #fff;
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}

@media screen and (max-width:1201px) {
  #header {
    padding: 8.33333vw 0
  }
}

@media screen and (max-width:751px) {
  #header {
    padding: 7.2vw 0 8vw;
    background: #fff
  }
}

#header.min {
  padding: 30px 0
}

@media screen and (max-width:751px) {
  #header.min {
    padding: 5.33333vw 0
  }
  #header.min #header_logo span {
    position: absolute;
    top: 50%;
    left: 8vw;
    padding: 0;
    font-size: 2.13333vw;
    line-height: 1.5;
    text-align: left;
    transform: translateY(-50%)
  }
  #header.min #header_logo span br {
    display: block
  }
}

#header.min #header_logo a {
  width: 124px
}

@media screen and (max-width:751px) {
  #header.min #header_logo a {
    width: 22.4vw
  }
}

#header.min #header_logo a img, #header_logo a img {
  width: 100%
}

@media screen and (max-width:751px) {
  #header.min #header_navi_burger {
    top: 6.66667vw
  }
}

#header_logo {
  position: relative;
  margin: 0 auto;
  width: 1400px
}

@media screen and (max-width:1401px) {
  #header_logo {
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #header_logo {
    width: 100%
  }
}

#header_logo span, #header_navi_burger {
  position: absolute;
  display: block;
  top: 50%
}

#header_logo span {
  left: 0;
  font-size: 16px;
  line-height: 1;
  color: #5e366e;
  transform: translateY(-50%)
}

@media screen and (max-width:1401px) {
  #header_logo span {
    left: 3.57143vw
  }
}

@media screen and (max-width:1201px) {
  #header_logo span {
    font-size: 1.33333vw
  }
}

@media screen and (max-width:751px) {
  #header_logo span {
    position: relative;
    top: auto;
    padding: 0 0 8vw;
    font-size: 3.73333vw;
    line-height: 1;
    text-align: center;
    transform: none
  }
}

#header_logo a, #header_navi_burger_line span {
  display: block;
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}

#header_logo a {
  position: relative;
  z-index: 3;
  margin: 0 auto;
  width: 206px
}

@media screen and (max-width:1201px) {
  #header_logo a {
    width: 17.16667vw
  }
}

@media screen and (max-width:751px) {
  #header_logo a {
    width: 33.06667vw
  }
}

#header_navi_burger {
  z-index: 1000;
  right: 50%;
  width: 50px;
  height: 50px;
  transform: translate(700px, -50%)
}

@media screen and (max-width:1401px) {
  #header_navi_burger {
    right: 3.57143vw;
    transform: translate(0, -50%)
  }
}

@media screen and (max-width:751px) {
  #header_navi_burger {
    top: auto;
    left: auto;
    right: 8vw;
    bottom: 12vw;
    width: 8vw;
    height: 8vw;
    transform: none;
    transition: all .25s cubic-bezier(.21, .51, .51, 1)
  }
}

#header_navi_burger_line span {
  position: absolute;
  left: 50%;
  width: 50px;
  height: 5px;
  background: #5e366e;
  opacity: 1;
  transform: translateX(-50%)
}

@media screen and (max-width:751px) {
  #header_navi_burger_line span {
    width: 10.66667vw;
    height: .53333vw
  }
}

#header_navi_burger_line span:nth-child(1) {
  top: 13px
}

@media screen and (max-width:751px) {
  #header_navi_burger_line span:nth-child(1) {
    top: 2.4vw
  }
}

#header_navi_burger_line span:nth-child(2) {
  top: 25px
}

@media screen and (max-width:751px) {
  #header_navi_burger_line span:nth-child(2) {
    top: 5.86667vw
  }
#header_navi_burger_line span:nth-child(3) {
  top: 40px
}

@media screen and (max-width:751px) {
  #header_navi_burger_line span:nth-child(3) {
    top: 7.5vw
  }
    }
    
  #header_navi_burger.open {
    top: 8vw;
    right: 8vw
  }
}

#header_navi_burger.open #header_navi_burger_line span {
  background: #fff
}

#header_navi_burger.open #header_navi_burger_line span:nth-child(1) {
  top: 24px;
  transform: translateX(-50%) rotate(315deg)
}

@media screen and (max-width:751px) {
  #header_navi_burger.open #header_navi_burger_line span:nth-child(1) {
    top: 4vw
  }
}

#header_navi_burger.open #header_navi_burger_line span:nth-child(2) {
  top: 24px;
  transform: translateX(-50%) rotate(405deg)
}

@media screen and (max-width:751px) {
  #header_navi_burger.open #header_navi_burger_line span:nth-child(2) {
    top: 4vw
  }
}
#header_navi_burger.open #header_navi_burger_line span:nth-child(3) {
  display: none;
}

@media screen and (max-width:751px) {
  #header_navi_burger.open #header_navi_burger_line span:nth-child(3) {
  display: none;
  }
}
#header_navi_contents {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100vh;
  background: #5e366e;
  color: #fff;
  opacity: 0;
  transform: translateY(-200%);
  transition: opacity .25s cubic-bezier(.21, .51, .51, 1)
}

@media screen and (max-width:751px) {
  #header_navi_contents {
    overflow-y: auto
  }
}

#header_navi_contents.open {
  opacity: 1;
  transform: translateY(0)
}

#header_navi_list {
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  margin: 0 auto;
  width: 1000px;
  transform: translate(-50%, -50%)
}

@media screen and (max-width:1201px) {
  #header_navi_list {
    width: 83.33333vw
  }
}

@media screen and (max-width:751px) {
  #header_navi_list {
    position: relative;
    top: 0;
    left: 0;
    padding: 13.33333vw 0 48vw;
    width: 100%;
    transform: none
  }
}

@media screen and (max-width:1025px) {
  #header_navi_list>li {
    padding: 25px 0 0
  }
}

@media screen and (max-width:751px) {
  #header_navi_list>li {
    padding: 6.66667vw 0 0
  }
}

#header_navi_list>li:first-child {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 300px
}

@media screen and (max-width:751px) {
  #header_navi_list>li:first-child {
    right: auto;
    left: 50%;
    bottom: 13.33333vw;
    width: 44.26667vw;
    transform: translateX(-50%)
  }
}

#header_navi_list>li:first-child a {
  display: block
}

#header_navi_list>li:first-child a img {
  width: 100%
}

#header_navi_list>li a {
  position: relative;
  display: inline-block;
  color: #fff;
  white-space: nowrap
}

@media screen and (max-width:751px) {
  #header_navi_list>li a {
    white-space: normal
  }
}

#header_navi_list>li a:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background: #5e366e;
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}

@media screen and (max-width:751px) {
  #header_navi_list>li a:after {
    display: none
  }
}

.pc #header_navi_list>li a:hover:after {
  width: 100%;
  background: #fff
}

#header_navi_list>li dl dt a, #header_navi_list>li>a {
  font-size: 20px;
  line-height: 1;
  font-weight: 700
}

@media screen and (max-width:751px) {
  #header_navi_list>li>a {
    padding: 2.66667vw 8vw;
    font-size: 5.33333vw;
    line-height: 1
  }
  #header_navi_list>li dl.open dt a:after {
    transform: translateY(-50%) rotate(-135deg)
  }
}

#header_navi_list>li dl dt a {
  color: #fff
}

@media screen and (max-width:751px) {
  #header_navi_list>li dl dt a {
    position: relative;
    display: block;
    padding: 2.66667vw 8vw;
    font-size: 5.33333vw;
    line-height: 1
  }
  #header_navi_list>li dl dt a:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 8vw;
    left: auto;
    bottom: auto;
    width: 2.4vw;
    height: 2.4vw;
    border-right: .26667vw solid #fff;
    border-bottom: .26667vw solid #fff;
    transform: translateY(-50%) rotate(45deg)
  }
}

#header_navi_list>li dl dd {
  padding: 10px 0 0 20px;
  font-size: 14px;
  line-height: 1
}

@media screen and (max-width:751px) {
  #header_navi_list>li dl dd {
    padding: 0;
    font-size: 3.73333vw;
    line-height: 1.28571
  }
}

#header_navi_list>li dl dd ul li {
  padding: 11px 0 0
}

@media screen and (max-width:751px) {
  #header_navi_list>li dl dd ul li {
    padding: 1.86667vw 0 0
  }
  #header_navi_list>li dl dd ul li:first-child {
    padding: 0
  }
  #header_navi_list>li dl dd ul li a {
    padding: 1.33333vw 0 1.33333vw 13.33333vw
  }
}

#header_navi_list>li:nth-child(n+5) {
  position: absolute;
  left: 367px
}

@media screen and (max-width:1025px) {
  #header_navi_list>li:nth-child(n+4) {
    position: relative;
    left: 0
  }
}

@media screen and (max-width:751px) {
  #header_navi_list>li:nth-child(n+4) {
    position: relative;
    left: 0
  }
}


/*@media screen and (max-width:1025px){#header_navi_list>li#header_navi_category1{padding:0}}*/

#header_navi_list>li#header_navi_category1, #header_navi_list>li#header_navi_category2, #why #bio_list>li>dl>dd p, #why #mv .inner .page_navi>li {
  padding: 25px 0 0
}

#header_navi_list>li#header_navi_category3 {
  top: 52px;
}
@media screen and (max-width:1025px) {
  #header_navi_list>li#header_navi_category3 {
    top: 0
  }
}

@media screen and (max-width:751px) {
  #header_navi_list>li#header_navi_category3 {
    top: 0
  }
}
#header_navi_list>li#header_navi_category4 {
  top: 260px;
}

@media screen and (max-width:1025px) {
  #header_navi_list>li#header_navi_category4 {
    top: 0
  }
}

@media screen and (max-width:751px) {
  #header_navi_list>li#header_navi_category4 {
    top: 0
  }
}

#header_navi_list>li#header_navi_category5 {
  top: 312px;
}

@media screen and (max-width:1025px) {
  #header_navi_list>li#header_navi_category5 {
    top: 0
  }
}

@media screen and (max-width:751px) {
  #header_navi_list>li#header_navi_category5 {
    top: 0
  }
}

#header_navi_list>li#header_navi_category6 {
  top: 366px;
}

@media screen and (max-width:1025px) {
  #header_navi_list>li#header_navi_category6 {
    top: 0
  }
}

@media screen and (max-width:751px) {
  #header_navi_list>li#header_navi_category6 {
    top: 0
  }
}

#header_navi_list>li#header_navi_category6>a {
  font-size: 14px;
  line-height: 1;
  font-weight: 400
}

@media screen and (max-width:751px) {
  #header_navi_list>li#header_navi_category6>a {
    font-size: 3.73333vw;
    line-height: 1
  }
}
#header_navi_list>li#header_navi_category8 {
  top: 0px;
}

@media screen and (max-width:1025px) {
  #header_navi_list>li#header_navi_category8 {
    top: 0
  }
}

@media screen and (max-width:751px) {
  #header_navi_list>li#header_navi_category8 {
    top: 0
  }
}

.main {
  padding: 300px 0 0
}

@media screen and (max-width:1201px) {
  .main {
    padding: 25vw 0
  }
}

@media screen and (max-width:751px) {
  .main {
    padding: 44.26667vw 0 0
  }
}

.main b, .main strong {
  font-weight: 700
}

.main i {
  font-style: italic
}

.main .show_modal_img_wrap {
  text-align: left!important
}

#why #mv .inner .page_navi>li dl dd ul li, .main .show_modal_img {
  display: inline-block
}

.main .show_modal_img span {
  display: inline-block;
  margin: 15px 0 0;
  font-size: 16px;
  font-weight: 400;
  text-decoration: underline
}

@media screen and (max-width:751px) {
  .main .show_modal_img span {
    font-size: 4.26667vw;
    line-height: 1.75
  }
}
#footer .inner, #footer_bnr {
  padding: 150px 0;
  text-align: center
}

#footer_bnr {
  width: 1200px;
  margin: 0 auto;
  padding: 150px 0;
  text-align: center;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.wrap_bnr{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
@media screen and (max-width:751px) {
    .wrap_bnr{
        flex-direction: column;
    }
}
@media screen and (max-width:751px) {
  #footer_bnr {
    width: auto;
    padding: 26.66667vw 0;
    flex-direction: column;
  }
}
#footer_bnr dl{
    width: 30%;
}
@media screen and (max-width:751px) {
    #footer_bnr dl{
        width:100%;
    }
    #footer_bnr dl{
        margin-bottom: 140px;
    }
    #footer_bnr dl:last-of-type{
        margin-bottom: 0;
    }
}
#footer_bnr dl dt {
  font-size: 32px;
  line-height: 1;
  color: #5e366e;
  text-align: center;
}

@media screen and (max-width:751px) {
  #footer_bnr dl dt {
    font-size: 6.4vw
  }
}

#footer_bnr dl dd {
  padding: 50px 0 0
}

@media screen and (max-width:751px) {
  #footer_bnr dl dd {
    padding: 13.33333vw 0 0
  }
}

#footer_bnr dl dd figure {
  margin: 0 auto;
  max-width: 350px;
}

@media screen and (max-width:751px) {
  #footer_bnr dl dd figure {
    width: 80%;
    max-width: none;
  }
}
#footer_bnr dl dd figure img{
    max-width: 350px;
}
@media screen and (max-width:751px) {
  #footer_bnr dl dd figure img {
    max-width: 100%;
  }
}
#footer_bnr dl dd a {
  margin-top: 25px;
  font-size: 16px
}

@media screen and (max-width:751px) {
  #footer_bnr dl dd a {
    margin-top: 6.66667vw;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#footer_bnr dl dd a:hover span:after, #footer_navi li a.current:hover:after {
  left: 100%;
  width: 0%
}

#footer_bnr dl dd a span, #footer_logo+a, #home #mv .inner>ul>li dl dd a>span {
  position: relative;
  display: inline-block
}

#footer_bnr dl dd a span:after, #home #feature ul li dl dd a span:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #d95900;
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}

@media screen and (max-width:751px) {
  #footer_bnr dl dd a span:after {
    bottom: 1.6vw;
    height: .26667vw
  }
}
.cont_share{
    margin: 20px auto 0;
}

#footer_contact {
  display: block;
  padding: 135px 0;
  background: #d95900;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  text-align: center
}

@media screen and (max-width:751px) {
  #footer_contact {
    padding: 17.33333vw 0;
    font-size: 4.26667vw;
    line-height: 1
  }
}

#footer_navi, #home #feature ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto
}

#footer_navi {
  padding: 100px 0;
  width: 680px
}

@media screen and (max-width:1201px) {
  #footer_navi {
    padding: 8.33333vw 0;
    width: 75vw
  }
}

@media screen and (max-width:751px) {
  #footer_navi {
    display: block;
    padding: 13.33333vw 0;
    width: 100%
  }
}

#footer_navi li {
  font-size: 16px;
  line-height: 30px;
  font-weight: 700;
  display: inline-block;
  text-align: center;
  margin: 0 15px 30px;
}

@media screen and (max-width:1201px) {
  #footer_navi li {
    font-size: 1.33333vw
  }
}

@media screen and (max-width:751px) {
  #footer_navi li {
    padding: 4.53333vw 0 0;
    font-size: 4.26667vw;
    line-height: 1;
    text-align: center
  }
  #footer_navi li:first-child {
    padding: 0
  }
}

#footer_navi li a {
  position: relative;
  display: block;
  padding: 0 0 5px;
  color: #d95900
}

@media screen and (max-width:751px) {
  #footer_navi li a {
    padding: 0
  }
}

#footer_navi li a:hover:after {
  left: 0;
  width: 100%
}

#footer_logo img, #footer_logo+a:hover:after, #footer_navi li a.current:after, .modal, .page #header #header_logo a img {
  width: 100%
}

#footer_logo+a:after, #footer_navi li a:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}

#footer_navi li a:after {
  height: 2px;
  background: #d95900
}

@media screen and (max-width:751px) {
  #footer_navi li a:after {
    display: none
  }
}

#footer .inner {
  padding: 100px 0 50px;
  background: #5e366e;
  color: #fff
}

@media screen and (max-width:751px) {
  #footer .inner {
    padding: 26.66667vw 0 13.33333vw
  }
}

#footer_logo {
  display: block;
  margin: 0 auto;
  width: 206px
}

@media screen and (max-width:751px) {
  #footer_logo {
    width: 44.26667vw
  }
}

#footer_logo+a {
  margin: 45px 0 0;
  font-size: 14px;
  line-height: 1;
  color: #fff
}

@media screen and (max-width:751px) {
  #footer_logo+a {
    margin: 12vw 0 0;
    font-size: 3.73333vw;
    line-height: 1
  }
}

#footer_logo+a:after {
  height: 1px;
  background: #fff
}

@media screen and (max-width:751px) {
  #footer_logo+a:after {
    display: none
  }
}

#footer .attention {
  margin: 50px auto 0;
  padding: 17px 0;
  width: 672px;
  border: 1px solid #fff;
  font-size: 14px;
  line-height: 1.42857
}

@media screen and (max-width:751px) {
  #footer .attention {
    margin: 13.33333vw 5.33333vw 0;
    padding: 5.33333vw 5.33333vw 2.66667vw;
    width: auto;
    border: .26667vw solid #fff;
    font-size: 3.2vw;
    line-height: 1.42857;
    text-align: left
  }
}

#footer_copyright, #home #feature h2 {
  padding: 45px 0 0;
  font-size: 12px;
  line-height: 1;
  text-align: center
}

@media screen and (max-width:751px) {
  #footer_copyright {
    padding: 12vw 0 0;
    font-size: 3.2vw;
    line-height: 1
  }
}

.page #header {
  padding: 30px 0
}

@media screen and (max-width:751px) {
  .page #header {
    padding: 5.33333vw 0
  }
  .page #header #header_logo span {
    position: absolute;
    top: 50%;
    left: 8vw;
    padding: 0;
    font-size: 2.13333vw;
    line-height: 1.5;
    text-align: left;
    transform: translateY(-50%)
  }
  .page #header #header_logo span br {
    display: block
  }
}

.page #header #header_logo a {
  width: 124px
}

@media screen and (max-width:751px) {
  .page #header #header_logo a {
    width: 22.4vw
  }
}

@media screen and (max-width:751px) {
  .page #header_navi_burger {
    top: 6.66667vw
  }
}

.page .main {
  padding: 120px 0 0
}

@media screen and (max-width:751px) {
  .page .main {
    padding: 21.33333vw 0 0
  }
}

.modal {
  position: fixed;
  display: none;
  opacity: 0;
  z-index: 10000;
  top: 0;
  left: 0;
  height: 100%;
  -webkit-transition: all .5s cubic-bezier(.21, .51, .51, 1);
  transition: all .5s cubic-bezier(.21, .51, .51, 1)
}

.modal.in {
  display: block
}

.modal.in.fade {
  opacity: 1
}

.modal_body {
  position: absolute;
  z-index: 1000;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

@media screen and (max-width:751px) {
  .modal_body {
    width: 90%
  }
}

.modal_body img {
  max-width: 100%
}

@media screen and (max-width:751px) {
  .modal_body img {
    width: 100%
  }
}

#home #feature ul li figure, #home #mv .inner>ul>li dl dd a>span:after, .modal_close {
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}

.modal_close {
  position: absolute;
  top: -60px;
  right: 0;
  width: 50px;
  height: 50px;
  cursor: pointer
}

@media screen and (max-width:751px) {
  .modal_close {
    top: -16vw;
    right: 0;
    width: 13.33333vw;
    height: 13.33333vw
  }
}

.modal_close:after, .modal_close:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 50px;
  background: #fff
}

@media screen and (max-width:751px) {
  .modal_close:after, .modal_close:before {
    width: .26667vw;
    height: 13.33333vw
  }
}

.modal_close:before {
  transform: translate(-50%, -50%) rotate(45deg)
}

.modal_close:after {
  transform: translate(-50%, -50%) rotate(-45deg)
}

#home #feature ul li>a:hover figure, .pc #science_list li a:hover, .pc .modal_close:hover {
  opacity: .7
}

.modal_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .8);
  cursor: pointer
}

#home #mv {
  position: relative;
  padding: 35.71429vw 0 0
}

@media screen and (max-width:751px) {
  #home #mv {
    padding: 100vw 0 0
  }
}

#home #mv_bg, #home #mv_bg .mv_bg {
  position: absolute;
  width: 100%;
  height: 43.75vw
}

#home #mv_bg {
  top: 0;
  left: 0;
  overflow: hidden
}

@media screen and (max-width:751px) {
  #home #mv_bg {
    height: 100vw
  }
}

#home #mv_bg .mv_bg {
  z-index: 1;
  top: 50%;
  left: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  transition: opacity 2s cubic-bezier(.21, .51, .51, 1)
}

@media screen and (max-width:751px) {
  #home #mv_bg .mv_bg {
    height: 100vw
  }
}

#home #mv_bg .mv_bg.out, #home #mv_bg .mv_bg.show {
  opacity: 1;
  width: 100%;
  height: 100%;
  z-index: 3
}

#home #mv_bg .mv_bg.out {
  z-index: 2
}

#home #mv_bg1 {
  background: url(../img/home/mv.jpg) center center no-repeat;
  background-size: cover
}

@media screen and (max-width:751px) {
  #home #mv_bg1 {
    background: url(../img/home/sp_mv.jpg) center center no-repeat;
    background-size: cover
  }
}

#home #mv_bg2 {
  background: url(../img/home/mv2.jpg) center center no-repeat;
  background-size: cover
}

@media screen and (max-width:751px) {
  #home #mv_bg2 {
    background: url(../img/home/sp_mv2.jpg) center center no-repeat;
    background-size: cover
  }
}

#home #mv_bg3 {
  background: url(../img/home/mv3.jpg) center center no-repeat;
  background-size: cover
}

@media screen and (max-width:751px) {
  #home #mv_bg3 {
    background: url(../img/home/sp_mv3.jpg) center center no-repeat;
    background-size: cover
  }
}

#home #mv_bg4 {
  background: url(../img/home/mv4.jpg) center center no-repeat;
  background-size: cover
}

@media screen and (max-width:751px) {
  #home #mv_bg4 {
    background: url(../img/home/sp_mv4.jpg) center center no-repeat;
    background-size: cover
  }
}

#home #mv_bg5 {
  background: url(../img/home/mv5.jpg) center center no-repeat;
  background-size: cover
}

@media screen and (max-width:751px) {
  #home #mv_bg5 {
    background: url(../img/home/sp_mv5.jpg) center center no-repeat;
    background-size: cover
  }
}

#home #mv .inner {
  position: relative;
  z-index: 10;
  margin: 0 auto;
  padding: 100px 0 150px;
  width: 1200px;
  background: #fff
}

@media screen and (max-width:1201px) {
  #home #mv .inner {
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #home #mv .inner {
    padding: 12vw 5.33333vw 26.66667vw;
    width: 100%
  }
}

#home #feature ul li dl dt, #home #mv .inner h2 {
  padding: 0 100px;
  font-size: 40px;
  line-height: 1.5;
  font-weight: 700;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #home #mv .inner h2 {
    padding: 0;
    font-size: 6.4vw;
    line-height: 1.66667
  }
  #home #mv .inner h2 span {
    font-size: 4.26667vw
  }
}

#home #feature h2+p, #home #mv .inner>p {
  padding: 30px 100px 95px;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #home #mv .inner>p {
    padding: 8.26667vw 0 21.33333vw;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#home #mv .inner>ul>li {
  margin: 30px auto 0;
  padding: 55px 100px;
  background: #f8f8f8
}

@media screen and (max-width:1201px) {
  #home #mv .inner>ul>li {
    padding: 4.58333vw 4.16667vw
  }
}

@media screen and (max-width:751px) {
  #home #mv .inner>ul>li {
    margin: 5.33333vw auto 0;
    padding: 6.66667vw 0
  }
}

#home #mv .inner>ul>li dl, #why #process_step>li>dl {
  display: flex;
  justify-content: space-between;
  align-items: center
}

@media screen and (max-width:751px) {
  #home #mv .inner>ul>li dl {
    display: block
  }
}

#home #mv .inner>ul>li dl dt {
  width: 400px;
  font-size: 20px;
  line-height: 1.35;
  font-weight: 700;
  color: #5e366e
}

@media screen and (max-width:1201px) {
  #home #mv .inner>ul>li dl dt {
    width: 33.33333vw;
    font-size: 1.66667vw
  }
}

@media screen and (max-width:751px) {
  #home #mv .inner>ul>li dl dt {
    padding: 0 8vw;
    width: auto;
    font-size: 5.33333vw;
    line-height: 1.35
  }
}

#home #mv .inner>ul>li dl dd {
  width: 600px;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:1201px) {
  #home #mv .inner>ul>li dl dd {
    font-size: 1.33333vw
  }
}

@media screen and (max-width:751px) {
  #home #mv .inner>ul>li dl dd {
    width: auto;
    font-size: 4.26667vw;
    line-height: 1.75
  }
  #home #mv .inner>ul>li dl dd p {
    padding: 5.33333vw 8vw 0
  }
}

#home #mv .inner>ul>li dl dd a {
  margin: 14px 0 0
}

@media screen and (max-width:751px) {
  #home #mv .inner>ul>li dl dd a {
    margin: 4.53333vw 0 0 8vw;
    letter-spacing: -.26667vw;
    text-decoration: underline
  }
}

@media screen and (min-width:751px) {
  #home #mv .inner>ul>li dl dd a:hover span:after {
    left: 100%;
    width: 0%
  }
}

#home #mv .inner>ul>li dl dd a>span:after {
  content: '';
  display: block;
  position: absolute;
  bottom: 5px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #d95900
}

@media screen and (max-width:751px) {
  #home #mv .inner>ul>li dl dd a>span:after {
    display: none
  }
}

#home #feature ul li dl dd a span, #home #mv .inner>ul>li dl dd a>span span {
  position: relative;
  display: inline-block
}

@media screen and (max-width:751px) {
  #home #mv .inner>ul>li dl dd a>span span:after {
    content: '';
    display: block;
    position: absolute;
    bottom: 1.6vw;
    left: 0;
    width: 100%;
    height: .26667vw;
    background: #d95900
  }
}

#home #feature {
  padding: 25vw 0 150px;
  background: url(../img/home/bg.jpg) center 0 no-repeat;
  background-size: 100% auto
}

@media screen and (max-width:751px) {
  #home #feature {
    padding: 66.66667vw 0 25.33333vw;
    background: url(../img/home/sp_bg.jpg) center 0 no-repeat;
    background-size: 100% auto
  }
}

#home #feature ul {
  width: 1200px
}

@media screen and (max-width:1201px) {
  #home #feature ul {
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #home #feature ul {
    display: block;
    margin: 5.33333vw auto 0;
    width: 100%
  }
}

#home #feature ul li {
  width: 216px;
  text-align: center
}

@media screen and (max-width:1201px) {
  #home #feature ul li {
    width: 18vw
  }
}

@media screen and (max-width:751px) {
  #home #feature ul li {
    display: flex;
    justify-content: space-between;
    padding: 6.66667vw 5.33333vw 0;
    width: auto;
    text-align: left
  }
}

#home #feature ul li>a {
  display: block;
  width: 218px;
  height: 218px;
  border: 1px solid #5e366e;
  background: #fff
}

@media screen and (max-width:1201px) {
  #home #feature ul li>a {
    width: 18.16667vw;
    height: 18.16667vw
  }
}

@media screen and (max-width:751px) {
  #home #feature ul li>a {
    width: 21.86667vw;
    height: 21.86667vw;
    border: .26667vw solid #5e366e
  }
}

#home #feature ul li figure {
  display: block;
  width: 216px;
  height: 216px
}

@media screen and (max-width:1201px) {
  #home #feature ul li figure {
    width: 18vw;
    height: 18vw
  }
}

@media screen and (max-width:751px) {
  #home #feature ul li figure {
    width: 21.33333vw;
    height: 21.33333vw
  }
  #home #feature ul li dl {
    width: 62.66667vw
  }
}

#home #feature ul li dl dt {
  padding: 25px 0 0;
  font-size: 20px;
  line-height: 1;
  text-align: center
}

@media screen and (max-width:1201px) {
  #home #feature ul li dl dt {
    font-size: 1.66667vw
  }
}

@media screen and (max-width:751px) {
  #home #feature ul li dl dt {
    padding: 0;
    font-size: 5.33333vw;
    line-height: 1;
    text-align: left
  }
}

#home #feature ul li dl dd p {
  padding: 20px 0 0;
  font-size: 14px;
  line-height: 1.71429;
  text-align: left
}

@media screen and (max-width:1201px) {
  #home #feature ul li dl dd p {
    font-size: 1.16667vw
  }
}

@media screen and (max-width:751px) {
  #home #feature ul li dl dd p {
    padding: 2.66667vw 0 0;
    font-size: 3.73333vw;
    line-height: 1.71429
  }
}

#home #feature ul li dl dd a, #home #products h3+ul li {
  margin: 14px auto 0;
  font-size: 16px;
  line-height: 1
}

@media screen and (max-width:1201px) {
  #home #feature ul li dl dd a {
    font-size: 1.33333vw
  }
}

@media screen and (max-width:751px) {
  #home #feature ul li dl dd a {
    margin: 1.86667vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#home #feature ul li dl dd a:hover span:after {
  left: 100%;
  width: 0%
}

@media screen and (max-width:751px) {
  #home #feature ul li dl dd a span:after {
    bottom: 1.6vw;
    height: .26667vw
  }
}

#home #feature h2 {
  padding: 90px 0 0;
  font-size: 40px;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #home #feature h2 {
    padding: 12vw 0 0;
    font-size: 6.4vw;
    line-height: 1.66667
  }
}

#home #feature h2+p {
  padding: 50px 0 0;
  text-align: center
}

@media screen and (max-width:751px) {
  #home #feature h2+p {
    padding: 8vw 5.33333vw 0;
    font-size: 4.26667vw;
    text-align: left
  }
}

#home #products {
  position: relative;
  padding: 0 0 200px;
  background: #f8f8f8
}

@media screen and (max-width:751px) {
  #home #products {
    padding: 0 0 33.33333vw
  }
}

#home #products:after, #home #products:before {
  content: '';
  display: block;
  position: absolute;
  z-index: 2;
  top: 0;
  width: 300px;
  height: 100px;
  background: #fff
}

@media screen and (max-width:1201px) {
  #home #products:after, #home #products:before {
    width: 25vw;
    height: 8.33333vw
  }
}

@media screen and (max-width:751px) {
  #home #products:after, #home #products:before {
    display: none
  }
}

#home #products:before {
  left: 0
}

#home #products:after {
  right: 0
}

#home #products h2, #home #products h3 {
  padding: 90px 0 0;
  font-size: 40px;
  line-height: 1;
  color: #5e366e;
  text-align: center
}

@media screen and (max-width:1201px) {
  #home #products h2 {
    padding: 7.5vw 0 0
  }
}

@media screen and (max-width:751px) {
  #home #products h2 {
    padding: 25.33333vw 0 0;
    font-size: 6.4vw;
    line-height: 1
  }
}

#home #products h2+p {
  padding: 50px 0 0;
  font-size: 16px;
  line-height: 2;
  text-align: center
}

@media screen and (max-width:751px) {
  #home #products h2+p {
    padding: 8vw 5.33333vw 0;
    font-size: 4.26667vw;
    line-height: 2;
    text-align: left
  }
  #home #products p+figure {
    padding: 5.33333vw 5.33333vw 0
  }
  #home #products p+figure img {
    width: 100%
  }
}

#home #products h3 {
  padding: 42px 0 50px;
  font-size: 20px;
  font-weight: 700
}

@media screen and (max-width:751px) {
  #home #products h3 {
    padding: 6.66667vw 0 5.33333vw;
    font-size: 4.26667vw;
    line-height: 1
  }
}

#home #products h3+ul {
  display: block;
  padding: 80px 0;
  background: url(../img/home/bg2.jpg) center 0 no-repeat;
  background-size: cover
}

@media screen and (max-width:751px) {
  #home #products h3+ul {
    padding: 0 5.33333vw 8vw;
    background: 0 0
  }
}

#home #products h3+ul li {
  position: relative;
  margin: 20px auto 0;
  padding: 20px 0 20px 71px;
  width: 400px;
  background: #5e366e;
  color: #fff
}

@media screen and (max-width:751px) {
  #home #products h3+ul li {
    margin: 2.66667vw auto 0;
    padding: 4.26667vw 0 4.26667vw 19.2vw;
    width: 100%;
    font-size: 4.26667vw;
    line-height: 1
  }
}

#home #products h3+ul li:first-child, #science .detail .contents_block .img_column .col_txt :first-child {
  margin-top: 0
}
#home #products .table_wrap table tbody tr td.td_ngpv{
    padding: 10px 0;
}
#home #products .table_wrap table tbody tr td .check:before, #home #products h3+ul li:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 30px;
  width: 17px;
  height: 7px;
  border-left: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: translateY(-80%) rotate(-45deg)
}

@media screen and (max-width:751px) {
  #home #products h3+ul li:before {
    left: 8vw;
    width: 4.53333vw;
    height: 1.86667vw;
    border-left: .8vw solid #fff;
    border-bottom: .8vw solid #fff
  }
  #home #products ul+figure {
    padding: 0 5.33333vw
  }
  #home #products ul+figure img {
    width: 100%
  }
  #home #products .table_wrap {
    padding: 13.33333vw 0 0;
    width: 100%;
    overflow-x: scroll
  }
}

#home #products .table_wrap table {
  margin: 100px auto 0;
  width: 1000px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc
}

@media screen and (max-width:1201px) {
  #home #products .table_wrap table {
    width: 83.33333vw
  }
}

@media screen and (max-width:751px) {
  #home #products .table_wrap table {
    table-layout: fixed;
    margin: 0 5.33333vw;
    width: auto;
    border-right: 5.33333vw solid #f8f8f8;
    border-bottom: none;
    border-collapse: separate
  }
}

#home #products .table_wrap table thead tr th {
  padding: 15px 0;
  background: #5e366e;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  font-size: 14px;
  line-height: 2;
  color: #fff
}

@media screen and (max-width:751px) {
  #home #products .table_wrap table thead tr th {
    padding: 2.13333vw 0;
    width: 34.66667vw;
    border-top: .26667vw solid #ccc;
    border-left: .26667vw solid #ccc;
    font-size: 3.2vw;
    line-height: 2;
    white-space: nowrap
  }
  #home #products .table_wrap table thead tr th:first-child {
    width: auto
  }
  #home #products .table_wrap table thead tr th:last-child {
    border-right: .26667vw solid #ccc
  }
}

#home #products .table_wrap table thead tr th .type {
  font-size: 16px
}

@media screen and (max-width:751px) {
  #home #products .table_wrap table thead tr th .type {
    font-size: 3.2vw
  }
}

#home #products .table_wrap table thead tr th .capacity {
  font-size: 12px
}

@media screen and (max-width:751px) {
  #home #products .table_wrap table thead tr th .capacity {
    font-size: 2.66667vw
  }
  #home #products .table_wrap table tbody tr:last-child td, #home #products .table_wrap table tbody tr:last-child th {
    border-bottom: .26667vw solid #ccc
  }
}

#home #products .table_wrap table tbody tr th {
  padding: 18px 50px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  background: #f8f8f8;
  font-size: 16px;
  line-height: 2;
  text-align: left;
  vertical-align: middle
}

@media screen and (max-width:751px) {
  #home #products .table_wrap table tbody tr th {
    padding: 4vw 5.33333vw;
    font-size: 3.73333vw;
    white-space: nowrap
  }
}

#home #products .table_wrap table tbody tr td {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  background: #fff;
  font-size: 14px;
  line-height: 2;
  text-align: center;
  vertical-align: middle
}

@media screen and (max-width:751px) {
  #home #products .table_wrap table tbody tr td {
    padding: 0 14.66667vw;
    font-size: 3.2vw;
    line-height: 2
  }
  #home #products .table_wrap table tbody tr td:last-child {
    border-right: .26667vw solid #ccc
  }
}

#home #products .table_wrap table tbody tr td .check, #home #products .table_wrap+p a, #science_list li dl dd span span {
  position: relative;
  display: inline-block
}

@media screen and (max-width:751px) {
  #home #products .table_wrap table tbody tr td .check {
    width: 5.86667vw
  }
}

#home #products .table_wrap table tbody tr td .check:before {
  left: 0;
  border-left: 3px solid #5e366e;
  border-bottom: 3px solid #5e366e;
  transform: translateY(-50%) rotate(-45deg)
}

@media screen and (max-width:751px) {
  #home #products .table_wrap table tbody tr td .check:before {
    width: 4.53333vw;
    height: 1.86667vw;
    border-left: .8vw solid #5e366e;
    border-bottom: .8vw solid #5e366e
  }
}

#home #products .table_wrap+p {
  margin: 0 auto;
  padding: 30px 0 0;
  width: 1000px;
  font-size: 14px;
  line-height: 2
}

@media screen and (max-width:1201px) {
  #home #products .table_wrap+p {
    width: 83.33333vw
  }
}

@media screen and (max-width:751px) {
  #home #products .table_wrap+p {
    margin: 0 5.33333vw;
    padding: 10.66667vw 0 0;
    width: auto;
    font-size: 3.73333vw;
    line-height: 2
  }
}

#home #products .table_wrap+p a {
  text-decoration: underline;
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}

#home #products .table_wrap+p a:hover, #how #indications a:hover, #how #kdca .inner a:hover, #why #bio_list>li>dl>dd a:hover, #why #why_menatto_list>li>dl>dd a:hover {
  color: #d95900
}

#why #mv {
  background: #f8f8f8
}

#why #bio_list>li>dl>dd .img img, #why #bio_list>li>dl>dd .imgs li img, #why #mv_img, #why #mv_img img, #why #process_imgs li img {
  width: 100%
}

#why #mv .inner {
  position: relative;
  margin: 0 auto;
  padding: 0 0 200px;
  width: 1200px
}

@media screen and (max-width:1201px) {
  #why #mv .inner {
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #why #mv .inner {
    padding: 0 0 13.33333vw;
    width: 100%
  }
}

#why #mv .inner h1 {
  position: absolute;
  top: 0;
  left: 0;
  padding: 50px 150px 50px 100px;
  font-size: 40px;
  background: #5e366e;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  transform: translateY(-50%)
}

@media screen and (max-width:751px) {
  #why #mv .inner h1 {
    display: block;
    margin: 0 5.33333vw;
    padding: 8vw 5.33333vw;
    width: 89.33333vw;
    font-size: 6.4vw;
    line-height: 1
  }
}

#why #mv .inner h1+p {
  padding: 120px 0 15px 100px;
  font-size: 24px;
  line-height: 1;
  color: #5e366e
}

@media screen and (max-width:1201px) {
  #why #mv .inner h1+p {
    line-height: 1.16667
  }
}

@media screen and (max-width:751px) {
  #why #mv .inner h1+p {
    padding: 20vw 5.33333vw 5.33333vw;
    font-size: 5.33333vw;
    line-height: 1.6
  }
}

#why #mv .inner .page_navi {
  padding: 0 0 0 150px
}

@media screen and (max-width:751px) {
  #why #mv .inner .page_navi {
    padding: 0 5.33333vw
  }
}

@media screen and (max-width:751px) {
  #why #mv .inner .page_navi>li {
    padding: 6.66667vw 0 0
  }
}

#why #mv .inner .page_navi>li dl dt {
  font-size: 20px;
  line-height: 1;
  color: #5e366e;
  font-weight: 700
}

@media screen and (max-width:751px) {
  #why #mv .inner .page_navi>li dl dt {
    font-size: 5.33333vw;
    line-height: 1
  }
}

#why #mv .inner .page_navi>li dl dd {
  padding: 15px 0 0;
  font-size: 16px;
  line-height: 2;
  color: #d95900
}

@media screen and (max-width:751px) {
  #why #mv .inner .page_navi>li dl dd {
    padding: 4vw 0 0;
    font-size: 4.26667vw;
    line-height: 2
  }
}

@media screen and (max-width:751px) {
  #why #mv .inner .page_navi>li dl dd ul li {
    display: inline
  }
}

#how #mv .inner .page_navi>li dl dd ul li:last-child:after, #why #mv .inner .page_navi>li dl dd ul li:last-child:after {
  display: none
}

#why #mv .inner .page_navi>li dl dd ul li:after {
  content: '/';
  display: inline-block;
  padding: 0 15px
}

@media screen and (max-width:751px) {
  #why #mv .inner .page_navi>li dl dd ul li:after {
    padding: 0 4vw
  }
}

#why #mv .inner .page_navi>li dl dd ul li a {
  position: relative;
  display: inline-block;
  color: #d95900
}

@media screen and (max-width:751px) {
  #why #mv .inner .page_navi>li dl dd ul li a {
    display: inline;
    text-decoration: underline
  }
}

#why #mv .inner .page_navi>li dl dd ul li a:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 8px;
  width: 100%;
  height: 1px;
  background: #d95900
}

@media screen and (max-width:751px) {
  #why #mv .inner .page_navi>li dl dd ul li a:after {
    display: none
  }
}

#why #why_menatto .inner {
  position: relative;
  top: -100px;
  margin: 0 auto -100px;
  padding: 100px 100px 230px;
  width: 1200px;
  background: #fff
}

@media screen and (max-width:1201px) {
  #why #why_menatto .inner {
    padding: 100px 8.33333vw 230px;
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #why #why_menatto .inner {
    top: 0;
    margin: 0 auto;
    padding: 12vw 5.33333vw 32vw;
    width: 100%
  }
}

#why #why_menatto h2 {
  font-size: 40px;
  line-height: 1;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #why #why_menatto h2 {
    font-size: 7.46667vw;
    line-height: 1;
    font-weight: 700
  }
}

#why #why_menatto h2+p {
  padding: 30px 0 0;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #why #why_menatto h2+p {
    padding: 5.33333vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#why #why_menatto_list>li {
  padding: 40px 0 0
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li {
    padding: 10.66667vw 0 0
  }
}

#why #why_menatto_list>li>dl>dt {
  position: relative;
  padding: 0 0 0 35px;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li>dl>dt {
    padding: 0 0 0 9.33333vw;
    font-size: 5.33333vw;
    line-height: 1.25
  }
}

#why #why_menatto_list>li>dl>dt:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 2px;
  background: #5e366e
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li>dl>dt:before {
    top: 2.66667vw;
    width: 5.33333vw;
    height: .53333vw
  }
}

#why #why_menatto_list>li>dl>dd {
  position: relative;
  padding: 25px 0 0;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li>dl>dd {
    padding: 5.33333vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#about_detail a, #how #indications a, #how #kdca .inner a, #how #mechanism a, #how #mechanism_list>li>dl>dd a, #science .detail .contents_block a, #why #bio_list>li>dl>dd a, #why #why_menatto_list>li>dl>dd a {
  text-decoration: underline;
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}

#why #why_menatto_list>li#why1>dl>dd {
  padding-right: 400px
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li#why1>dl>dd {
    padding-right: 0;
    padding-bottom: 82.66667vw
  }
}

#why #why_menatto_list>li#why1>dl>dd:after {
  content: '';
  display: block;
  position: absolute;
  top: 30px;
  right: 0;
  width: 350px;
  height: 250px;
  background: url(../img/why/img1.jpg) 0 0 no-repeat;
  background-size: contain
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li#why1>dl>dd:after {
    top: auto;
    bottom: 0;
    width: 100%;
    height: 66.66667vw
  }
}

#why #why_menatto_list>li#why4>dl>dd {
  padding-right: 400px
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li#why4>dl>dd {
    padding-right: 0;
    padding-bottom: 77.33333vw
  }
}

#why #why_menatto_list>li#why4>dl>dd:after {
  content: '';
  display: block;
  position: absolute;
  top: 30px;
  right: 0;
  width: 350px;
  height: 230px;
  background: url(../img/why/img2.jpg) 0 0 no-repeat;
  background-size: contain
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li#why4>dl>dd:after {
    top: auto;
    bottom: 0;
    width: 100%;
    height: 61.33333vw
  }
}

#why #why_menatto_list>li#why6>dl>dd {
  padding-right: 400px
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li#why6>dl>dd {
    padding-right: 0;
    padding-bottom: 77.33333vw
  }
}

#why #why_menatto_list>li#why6>dl>dd:after {
  content: 'Plant in Shizuoka';
  display: block;
  position: absolute;
  top: 30px;
  right: 0;
  padding: 218px 0 0;
  width: 350px;
  background: url(../img/why/img3.jpg) 0 0 no-repeat;
  background-size: contain;
  font-size: 12px;
  line-height: 1;
  text-align: right
}

@media screen and (max-width:751px) {
  #why #why_menatto_list>li#why6>dl>dd:after {
    top: auto;
    bottom: 0;
    width: 100%;
    padding: 55.46667vw 0 0;
    font-size: 3.2vw
  }
}

#why #bio, #why #bio .inner {
  background: #f8f8f8
}

#why #bio .inner {
  position: relative;
  top: -100px;
  margin: 0 auto -100px;
  padding: 100px 100px 200px;
  width: 1200px
}

@media screen and (max-width:1201px) {
  #why #bio .inner {
    padding: 100px 8.33333vw 200px;
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #why #bio .inner {
    top: 0;
    margin: 0 auto;
    padding: 12vw 5.33333vw 10.66667vw;
    width: 100%
  }
}

#why #bio h2 {
  font-size: 40px;
  line-height: 1;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #why #bio h2 {
    font-size: 7.46667vw;
    line-height: 1;
    font-weight: 700
  }
}

#why #bio h2+p, #why #process h3 {
  padding: 30px 0 0;
  font-size: 24px;
  line-height: 1.16667
}

@media screen and (max-width:751px) {
  #why #bio h2+p {
    padding: 5.33333vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#why #bio_list>li {
  padding: 40px 0 0
}

@media screen and (max-width:751px) {
  #why #bio_list>li {
    padding: 10.66667vw 0 0
  }
}

#why #bio_list>li>dl>dt {
  position: relative;
  padding: 0 0 0 35px;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dt {
    padding: 0 0 0 9.33333vw;
    font-size: 5.33333vw;
    line-height: 1.25
  }
}

#why #bio_list>li>dl>dt:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 2px;
  background: #5e366e
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dt:before {
    top: 2.66667vw;
    width: 5.33333vw;
    height: .53333vw
  }
}

#why #bio_list>li>dl>dd {
  position: relative;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dd {
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dd p {
    padding: 5.33333vw 0 0
  }
}

#why #bio_list>li>dl>dd dl dt {
  padding: 25px 0 0;
  font-weight: 700
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dd dl dt {
    padding: 5.33333vw 0 0
  }
}

#how #kdca_list>li>dl>dd ul li, #why #bio_list>li>dl>dd dl dd ul li {
  padding: 15px 0 0 1em;
  text-indent: -1em
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dd dl dd ul li {
    padding: 4vw 0 0 1em;
    text-indent: -1em
  }
}

#why #bio_list>li>dl>dd .img {
  margin: 30px 0 0;
  width: 475px
}

@media screen and (max-width:1201px) {
  #why #bio_list>li>dl>dd .img {
    margin: 5.33333vw auto 0;
    width: 39.58333vw
  }
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dd .img {
    width: 100%
  }
}

#why #bio_list>li>dl>dd .imgs {
  display: flex;
  justify-content: space-between;
  padding: 30px 0 5px
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dd .imgs {
    display: block;
    padding: 0 0 2.66667vw
  }
}

#why #bio_list>li>dl>dd .imgs li, #why #process_imgs li {
  width: 475px;
  font-size: 20px;
  line-height: 1;
  font-weight: 700;
  color: #5e366e;
  text-align: center
}

@media screen and (max-width:1201px) {
  #why #bio_list>li>dl>dd .imgs li {
    width: 39.58333vw
  }
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dd .imgs li {
    width: 100%
  }
}

#why #bio_list>li>dl>dd .imgs li figure, #why #process_imgs li figure {
  padding: 0
}

@media screen and (max-width:751px) {
  #why #bio_list>li>dl>dd .imgs li figure {
    padding: 5.33333vw 0 0
  }
}

#why #bio_list>li>dl>dd .imgs li figcaption, #why #process_imgs li figcaption {
  display: inline-block;
  padding: 20px 0 0
}

#why #process {
  background: #fff
}

#why #process .inner {
  position: relative;
  top: -100px;
  margin: 0 auto -100px;
  padding: 100px 100px 200px;
  width: 1200px;
  background: #fff
}

@media screen and (max-width:1201px) {
  #why #process .inner {
    padding: 100px 8.33333vw 200px;
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #why #process .inner {
    top: 0;
    margin: 0 auto;
    padding: 12vw 5.33333vw 26.66667vw;
    width: 100%
  }
}

#why #process h2 {
  font-size: 40px;
  line-height: 1;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #why #process h2 {
    font-size: 7.46667vw;
    line-height: 1;
    font-weight: 700
  }
}

#why #process h3 {
  line-height: 1
}

@media screen and (max-width:751px) {
  #why #process h3 {
    padding: 5.33333vw 0 0;
    font-size: 5.33333vw;
    line-height: 1
  }
}

#why #process h3+p {
  padding: 25px 0 0;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #why #process h3+p {
    padding: 4vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#why #process_imgs {
  display: flex;
  justify-content: space-between;
  padding: 45px 0 0
}

@media screen and (max-width:751px) {
  #why #process_imgs {
    display: block;
    padding: 6.66667vw 0 0
  }
}

@media screen and (max-width:1201px) {
  #why #process_imgs li {
    width: 39.58333vw
  }
}

@media screen and (max-width:751px) {
  #why #process_imgs li {
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #why #process_imgs li figure {
    padding: 8vw 0 0
  }
}

#why #process_step {
  margin: 45px auto 0
}

@media screen and (max-width:751px) {
  #why #process_step {
    margin: 8vw auto 0
  }
}

#why #process_step>li {
  margin: 20px auto 0;
  padding: 40px 50px;
  background: #f8f8f8
}

@media screen and (max-width:1201px) {
  #why #process_step>li {
    padding: 3.33333vw 4.16667vw
  }
}

@media screen and (max-width:751px) {
  #why #process_step>li {
    margin: 5.33333vw auto 0;
    padding: 5.33333vw
  }
}

#why #process_step>li:first-child {
  margin: 0 auto
}

@media screen and (max-width:751px) {
  #why #process_step>li:first-child {
    margin: 0 auto
  }
}

@media screen and (max-width:751px) {
  #why #process_step>li>dl {
    display: block
  }
}

#why #process_step>li>dl>dt {
  position: relative;
  padding: 0 0 0 70px;
  width: 290px;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
  color: #5e366e;
  white-space: nowrap
}

@media screen and (max-width:1201px) {
  #why #process_step>li>dl>dt {
    padding: 0 0 0 5.83333vw;
    font-size: 1.66667vw
  }
}

@media screen and (max-width:751px) {
  #why #process_step>li>dl>dt {
    padding: 0 0 0 13.33333vw;
    width: 100%;
    font-size: 5.33333vw;
    line-height: 1.4
  }
}

#how #mv .inner h1, #why #process_step>li>dl>dt .num {
  position: absolute;
  left: 0;
  background: #5e366e;
  color: #fff;
  transform: translateY(-50%)
}

#why #process_step>li>dl>dt .num {
  top: 50%;
  width: 40px;
  line-height: 40px;
  text-align: center
}

@media screen and (max-width:1201px) {
  #why #process_step>li>dl>dt .num {
    width: 3.33333vw;
    line-height: 3.33333vw
  }
}

@media screen and (max-width:751px) {
  #why #process_step>li>dl>dt .num {
    width: 8vw;
    font-size: 3.73333vw;
    line-height: 8vw
  }
}

#why #process_step>li>dl>dd {
  width: 580px;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #why #process_step>li>dl>dd {
    padding: 4vw 0 0;
    width: 100%;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#why #process figure {
  display: block;
  padding: 50px 0 0
}

@media screen and (max-width:751px) {
  #why #process figure {
    padding: 5.33333vw 0 0
  }
}

#how #mv {
  background: #f8f8f8
}

#how #indications_list>li figure img, #how #mv_img, #how #mv_img img {
  width: 100%
}

#how #mv .inner {
  position: relative;
  margin: 0 auto;
  padding: 0 0 200px;
  width: 1200px
}

@media screen and (max-width:1201px) {
  #how #mv .inner {
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #how #mv .inner {
    padding: 0 0 13.33333vw;
    width: 100%
  }
}

#how #mv .inner h1 {
  top: 0;
  padding: 50px 150px 50px 100px;
  font-size: 40px;
  line-height: 1;
  font-weight: 700
}

@media screen and (max-width:751px) {
  #how #mv .inner h1 {
    display: block;
    margin: 0 5.33333vw;
    padding: 8vw 5.33333vw;
    width: 89.33333vw;
    font-size: 6.4vw;
    line-height: 1
  }
}

#how #mv .inner h1+p {
  padding: 120px 0 15px 100px;
  font-size: 24px;
  line-height: 1;
  color: #5e366e
}

@media screen and (max-width:1201px) {
  #how #mv .inner h1+p {
    line-height: 1.16667
  }
}

@media screen and (max-width:751px) {
  #how #mv .inner h1+p {
    padding: 20vw 5.33333vw 5.33333vw;
    font-size: 5.33333vw;
    line-height: 1.6
  }
}

#how #mv .inner .page_navi {
  padding: 0 0 0 150px
}

@media screen and (max-width:751px) {
  #how #mv .inner .page_navi {
    padding: 0 5.33333vw
  }
}

#how #indications_list>li>dl>dd p, #how #kdca .inner>dl dd p, #how #mv .inner .page_navi>li {
  padding: 25px 0 0
}

@media screen and (max-width:751px) {
  #how #mv .inner .page_navi>li {
    padding: 6.66667vw 0 0
  }
}

#how #indications_list>li>dl>dt, #how #mv .inner .page_navi>li dl dt, #science_list li dl dt {
  font-size: 20px;
  line-height: 1;
  color: #5e366e;
  font-weight: 700
}

@media screen and (max-width:751px) {
  #how #mv .inner .page_navi>li dl dt {
    font-size: 5.33333vw;
    line-height: 1
  }
}

#how #mv .inner .page_navi>li dl dd {
  padding: 15px 0 0;
  font-size: 16px;
  line-height: 2;
  color: #d95900
}

@media screen and (max-width:751px) {
  #how #mv .inner .page_navi>li dl dd {
    padding: 4vw 0 0;
    font-size: 4.26667vw;
    line-height: 2
  }
}

#how #mv .inner .page_navi>li dl dd ul li {
  display: inline-block
}

@media screen and (max-width:751px) {
  #how #mv .inner .page_navi>li dl dd ul li {
    display: inline
  }
}

#how #mv .inner .page_navi>li dl dd ul li:after {
  content: '/';
  display: inline-block;
  padding: 0 15px
}

@media screen and (max-width:751px) {
  #how #mv .inner .page_navi>li dl dd ul li:after {
    padding: 0 4vw
  }
}

#how #mv .inner .page_navi>li dl dd ul li a {
  position: relative;
  display: inline-block;
  color: #d95900
}

@media screen and (max-width:751px) {
  #how #mv .inner .page_navi>li dl dd ul li a {
    display: inline;
    text-decoration: underline
  }
}

#how #mv .inner .page_navi>li dl dd ul li a:after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 8px;
  width: 100%;
  height: 1px;
  background: #d95900
}

@media screen and (max-width:751px) {
  #how #mv .inner .page_navi>li dl dd ul li a:after {
    display: none
  }
}

#how #indications .inner {
  position: relative;
  top: -100px;
  margin: 0 auto -100px;
  padding: 100px 100px 230px;
  width: 1200px;
  background: #fff
}

@media screen and (max-width:1201px) {
  #how #indications .inner {
    padding: 100px 8.33333vw 230px;
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #how #indications .inner {
    top: 0;
    margin: 0 auto;
    padding: 12vw 5.33333vw 18.66667vw;
    width: 100%
  }
}

#how #indications h2 {
  font-size: 40px;
  line-height: 1;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #how #indications h2 {
    font-size: 7.46667vw;
    line-height: 1;
    font-weight: 700
  }
}

#how #indications h2+p, #how #kdca h3 {
  padding: 30px 0 0;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #how #indications h2+p {
    padding: 5.33333vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#how #indications_list>li, #science_list {
  display: flex;
  justify-content: space-between
}

#how #indications_list>li {
  padding: 40px 0 0
}

@media screen and (max-width:751px) {
  #how #indications_list>li {
    display: block;
    padding: 10.66667vw 0 0
  }
  #how #indications_list>li:first-child figure {
    margin-top: 2.66667vw
  }
}

#how #indications_list>li figure {
  width: 200px;
  height: 200px;
  border: 1px solid #5e366e
}

@media screen and (max-width:1201px) {
  #how #indications_list>li figure {
    width: 16.66667vw;
    height: 16.66667vw
  }
}

@media screen and (max-width:751px) {
  #how #indications_list>li figure {
    margin: 16vw auto 6.66667vw;
    width: 37.33333vw;
    height: 37.33333vw;
    border: .26667vw solid #5e366e
  }
}

#how #indications_list>li>dl {
  width: 750px
}

@media screen and (max-width:1201px) {
  #how #indications_list>li>dl {
    width: 62.5vw
  }
}

@media screen and (max-width:751px) {
  #how #indications_list>li>dl {
    width: auto
  }
}

#how #indications_list>li>dl>dt {
  position: relative;
  padding: 0 0 0 35px;
  line-height: 1.25
}

@media screen and (max-width:751px) {
  #how #indications_list>li>dl>dt {
    padding: 0 0 0 9.33333vw;
    font-size: 5.33333vw;
    line-height: 1.25
  }
}

#how #indications_list>li>dl>dt:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 2px;
  background: #5e366e
}

@media screen and (max-width:751px) {
  #how #indications_list>li>dl>dt:before {
    top: 2.66667vw;
    width: 5.33333vw;
    height: .53333vw
  }
}

#how #indications_list>li>dl>dd {
  position: relative;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #how #indications_list>li>dl>dd {
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

@media screen and (max-width:751px) {
  #how #indications_list>li>dl>dd p {
    padding: 5.33333vw 0 0
  }
}

#how #kdca, #how #kdca .inner {
  background: #f8f8f8
}

#how #kdca .inner {
  position: relative;
  top: -100px;
  margin: 0 auto -100px;
  padding: 100px 100px 200px;
  width: 1200px
}

@media screen and (max-width:1201px) {
  #how #kdca .inner {
    padding: 100px 8.33333vw 200px;
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #how #kdca .inner {
    top: 0;
    margin: 0 auto;
    padding: 12vw 5.33333vw 13.33333vw;
    width: 100%
  }
}

#how #kdca .inner>dl {
  display: block;
  margin: 75px auto 0;
  padding: 50px 100px;
  border: 1px solid #5e366e
}

@media screen and (max-width:1201px) {
  #how #kdca .inner>dl {
    padding: 50px 8.33333vw
  }
}

@media screen and (max-width:751px) {
  #how #kdca .inner>dl {
    margin: 18.66667vw auto 0;
    padding: 13.33333vw 5.33333vw
  }
}

#how #kdca .inner>dl dt, #how #kdca figure figcaption {
  font-size: 24px;
  line-height: 1;
  color: #5e366e;
  text-align: center
}

@media screen and (max-width:751px) {
  #how #kdca .inner>dl dt {
    font-size: 5.33333vw;
    line-height: 1
  }
}

#how #kdca .inner>dl dd, #how #kdca h3+p, #how #kdca_list>li>dl>dd, #science_list li dl dd {
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #how #kdca .inner>dl dd {
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

@media screen and (max-width:751px) {
  #how #kdca .inner>dl dd p {
    padding: 6.66667vw 0 0
  }
}

#how #kdca h2 {
  font-size: 40px;
  line-height: 1;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #how #kdca h2 {
    font-size: 7.46667vw;
    line-height: 1;
    font-weight: 700
  }
}

#how #kdca h3 {
  font-size: 24px;
  line-height: 1
}

@media screen and (max-width:1201px) {
  #how #kdca h3 {
    line-height: 1.16667
  }
}

@media screen and (max-width:751px) {
  #how #kdca h3 {
    padding: 5.33333vw 0 0;
    font-size: 5.33333vw;
    line-height: 1.6
  }
}

#how #kdca h3+p {
  padding: 25px 0 0
}

@media screen and (max-width:751px) {
  #how #kdca h3+p {
    padding: 4vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#how #kdca figure {
  position: relative;
  display: block;
  margin: 45px auto 0;
  padding: 40px 0 5px;
  text-align: center
}

@media screen and (max-width:751px) {
  #how #kdca figure {
    margin: 12vw auto 0;
    padding: 10.66667vw 0 1.33333vw;
    width: 76vw
  }
}

#how #kdca figure figcaption {
  position: absolute;
  top: 0;
  width: 100%;
  font-size: 20px;
  font-weight: 700
}

@media screen and (max-width:751px) {
  #how #kdca figure figcaption {
    font-size: 5.33333vw;
    line-height: 1
  }
}

#how #kdca figure img, #science .detail .contents_block .img img {
  max-width: 100%
}

@media screen and (max-width:751px) {
  #how #kdca figure img {
    width: 100%
  }
}

#how #kdca_list>li {
  padding: 40px 0 0
}

@media screen and (max-width:751px) {
  #how #kdca_list>li {
    padding: 10.66667vw 0 0
  }
}

#how #kdca_list>li>dl>dt {
  position: relative;
  padding: 0 0 0 35px;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #how #kdca_list>li>dl>dt {
    padding: 0 0 0 9.33333vw;
    font-size: 5.33333vw;
    line-height: 1.25
  }
}

#how #kdca_list>li>dl>dt:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 2px;
  background: #5e366e
}

@media screen and (max-width:751px) {
  #how #kdca_list>li>dl>dt:before {
    top: 2.66667vw;
    width: 5.33333vw;
    height: .53333vw
  }
}

#how #kdca_list>li>dl>dd {
  position: relative
}

@media screen and (max-width:751px) {
  #how #kdca_list>li>dl>dd {
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#how #kdca_list>li>dl>dd p {
  padding: 25px 0 0
}

@media screen and (max-width:751px) {
  #how #kdca_list>li>dl>dd p {
    padding: 5.33333vw 0 0
  }
}

@media screen and (max-width:751px) {
  #how #kdca_list>li>dl>dd ul li {
    padding: 4vw 0 0 1em;
    text-indent: -1em
  }
}

#how #mechanism {
  background: #fff
}

#how #mechanism .inner {
  position: relative;
  top: -100px;
  margin: 0 auto -100px;
  padding: 100px 100px 200px;
  width: 1200px;
  background: #fff
}

@media screen and (max-width:1201px) {
  #how #mechanism .inner {
    padding: 100px 8.33333vw 200px;
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #how #mechanism .inner {
    top: 0;
    margin: 0 auto;
    padding: 12vw 5.33333vw 26.66667vw;
    width: 100%
  }
}

#how #mechanism h2, #privacy #mv h1 {
  font-size: 40px;
  line-height: 1;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #how #mechanism h2 {
    font-size: 7.46667vw;
    line-height: 1;
    font-weight: 700
  }
}

#how #mechanism h3, #science #mv .inner h1+p {
  padding: 30px 0 0;
  font-size: 24px;
  line-height: 1
}

@media screen and (max-width:751px) {
  #how #mechanism h3 {
    padding: 5.33333vw 0 0;
    font-size: 5.33333vw;
    line-height: 1
  }
}

#about_detail p, #how #mechanism h3+p {
  padding: 25px 0 0;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #how #mechanism h3+p {
    padding: 4vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#about_detail a:hover, #how #mechanism a:hover, #how #mechanism_list>li>dl>dd a:hover, #privacy .privacy ul li a:hover, #science .detail .contents_block a:hover {
  color: #d95900
}

#how #mechanism figure {
  position: relative;
  display: block;
  padding: 75px 0;
  text-align: center
}

@media screen and (max-width:751px) {
  #how #mechanism figure {
    padding: 12vw 0 2.66667vw
  }
}

#how #mechanism figure img {
  width: 100%
}

#how #mechanism_list>li {
  padding: 40px 0 0
}

@media screen and (max-width:751px) {
  #how #mechanism_list>li {
    padding: 10.66667vw 0 0
  }
}

#how #mechanism_list>li>dl>dt {
  position: relative;
  padding: 0 0 0 35px;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #how #mechanism_list>li>dl>dt {
    padding: 0 0 0 9.33333vw;
    font-size: 5.33333vw;
    line-height: 1.25
  }
}

#how #mechanism_list>li>dl>dt:before, #science .detail .contents_block h2:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 20px;
  height: 2px;
  background: #5e366e
}

@media screen and (max-width:751px) {
  #how #mechanism_list>li>dl>dt:before {
    top: 2.66667vw;
    width: 5.33333vw;
    height: .53333vw
  }
}

#how #mechanism_list>li>dl>dd {
  position: relative;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #how #mechanism_list>li>dl>dd {
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#how #mechanism_list>li>dl>dd p {
  padding: 25px 0 0
}

@media screen and (max-width:751px) {
  #how #mechanism_list>li>dl>dd p {
    padding: 5.33333vw 0 0
  }
}

#science #mv {
  background: #f8f8f8
}

#about #mv_img, #about #mv_img img, #about_detail .img img, #about_detail .logo img, #science #mv_img, #science #mv_img img, #science .detail .contents_block .img_column .col_img img, #science .detail .contents_block .img_list li img, .pc #science_list li a:hover dl dd span span:after {
  width: 100%
}

#science #mv .inner {
  position: relative;
  margin: 0 auto;
  padding: 0 0 200px;
  width: 1200px
}

@media screen and (max-width:1201px) {
  #science #mv .inner {
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #science #mv .inner {
    padding: 0 0 13.33333vw;
    width: 100%
  }
}

#science #mv .inner h1, #science_list li figure figcaption {
  position: absolute;
  top: 0;
  left: 0;
  background: #5e366e;
  line-height: 1;
  color: #fff
}

#science #mv .inner h1 {
  padding: 50px 150px 50px 100px;
  font-size: 40px;
  font-weight: 700;
  transform: translateY(-50%)
}

@media screen and (max-width:751px) {
  #science #mv .inner h1 {
    display: block;
    margin: 0 5.33333vw;
    padding: 8vw 5.33333vw;
    width: 89.33333vw;
    font-size: 6.4vw;
    line-height: 1
  }
}

#science #mv .inner h1+p {
  padding: 120px 0 0 100px;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #science #mv .inner h1+p {
    padding: 20vw 5.33333vw 0;
    font-size: 5.33333vw;
    line-height: 1.6
  }
}

#science_list {
  flex-wrap: wrap;
  margin: 10px 100px 0
}

@media screen and (max-width:1201px) {
  #science_list {
    margin: 10px 8.33333vw 0
  }
}

@media screen and (max-width:751px) {
  #science_list {
    display: block;
    margin: 0 5.33333vw
  }
}

#science_list li {
  padding: 50px 0 0;
  width: 475px
}

@media screen and (max-width:1201px) {
  #science_list li {
    width: 39.58333vw
  }
}

@media screen and (max-width:751px) {
  #science_list li {
    padding: 13.33333vw 0 0;
    width: 100%
  }
}

#science_list li a, #science_list li dl dd span span:after {
  display: block;
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}

.pc #science_list li a:hover figure img {
  transform-origin: center center;
  transform: scale(1.1)
}

#science_list li figure {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden
}

#science_list li figure img {
  transition: all 1s cubic-bezier(.21, .51, .51, 1)
}

@media screen and (max-width:751px) {
  #science_list li figure img {
    width: 100%
  }
}

#science_list li figure figcaption {
  display: block;
  padding: 10px 25px;
  min-width: 180px;
  font-size: 14px
}

@media screen and (max-width:751px) {
  #science_list li figure figcaption {
    padding: 2.66667vw 6.66667vw;
    min-width: 48vw;
    font-size: 3.73333vw;
    line-height: 1
  }
}

#science_list li dl dt {
  padding: 20px 0 0;
  line-height: 1.6
}

@media screen and (max-width:751px) {
  #science_list li dl dt {
    padding: 5.33333vw 0 0;
    font-size: 5.33333vw;
    line-height: 1.6
  }
}

@media screen and (max-width:751px) {
  #science_list li dl dd {
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#science_list li dl dd p {
  padding: 15px 0 40px
}

@media screen and (max-width:751px) {
  #science_list li dl dd p {
    padding: 4vw 0 16vw
  }
}

#science_list li dl dd span {
  line-height: 1.75
}

#science_list li dl dd span span:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0%;
  height: 1px;
  background: #d95900
}

@media screen and (max-width:751px) {
  #science_list li dl dd span span:after {
    display: none
  }
}

#science .detail #mv {
  position: relative
}

#science .detail #mv h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1000px;
  font-size: 40px;
  line-height: 1.5;
  color: #fff;
  transform: translate(-50%, -50%)
}

@media screen and (max-width:1201px) {
  #science .detail #mv h1 {
    width: 83.33333vw
  }
}

@media screen and (max-width:751px) {
  #science .detail #mv h1 {
    display: block;
    padding: 0 5.33333vw;
    width: 100%;
    font-size: 6.4vw;
    line-height: 1.33333
  }
}

#science .detail #mv h1 span {
  font-size: 20px;
  line-height: 1;
  font-weight: 700
}

@media screen and (max-width:751px) {
  #science .detail #mv h1 span {
    display: inline-block;
    padding: 0 0 25px;
    font-size: 4.26667vw
  }
}

#science .detail .contents_block {
  margin: 0 auto;
  width: 1000px;
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:1201px) {
  #science .detail .contents_block {
    width: 83.33333vw
  }
}

@media screen and (max-width:751px) {
  #science .detail .contents_block {
    width: 100%;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#science .detail .contents_block:last-child {
  margin-bottom: 200px
}

@media screen and (max-width:751px) {
  #science .detail .contents_block:last-child {
    margin-bottom: 26.66667vw
  }
}

#science .detail .contents_block h2 {
  position: relative;
  margin: 95px 0 0;
  padding: 0 0 0 35px;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #science .detail .contents_block h2 {
    margin: 12vw 5.33333vw 0;
    padding: 0 0 0 9.33333vw;
    font-size: 5.33333vw
  }
}

@media screen and (max-width:751px) {
  #science .detail .contents_block h2:before {
    top: 2.66667vw;
    width: 5.33333vw;
    height: .53333vw
  }
}

#science .detail .contents_block h3 {
  margin: 25px 0 0;
  font-weight: 700
}

@media screen and (max-width:751px) {
  #science .detail .contents_block h3 {
    margin: 26.66667vw 5.33333vw 0
  }
}

#science .detail .contents_block h4 {
  margin: 25px 0 0;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 700;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #science .detail .contents_block h4 {
    margin: 26.66667vw 5.33333vw 0;
    font-size: 4.26667vw
  }
}

#science .detail .contents_block h4 span {
  display: inline-block;
  padding: 6px 15px 6px 0;
  border-top: 1px solid #5e366e;
  border-bottom: 1px solid #5e366e
}

@media screen and (max-width:751px) {
  #science .detail .contents_block h4 span {
    padding: 1.6vw 5.33333vw 1.6vw 0;
    border-top: .26667vw solid #5e366e;
    border-bottom: .26667vw solid #5e366e
  }
}

#science .detail .contents_block p {
  margin: 25px 0 0
}

@media screen and (max-width:751px) {
  #science .detail .contents_block p {
    margin: 5.33333vw 5.33333vw 0
  }
}

#science .detail .contents_block p.text.-s {
  font-size: 12px;
  line-height: 1.66667
}

@media screen and (max-width:751px) {
  #science .detail .contents_block p.text.-s {
    font-size: 3.2vw
  }
}

#science .detail .contents_block .list {
  margin: 100px 0 0
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .list {
    margin: 13.33333vw 5.33333vw 0
  }
}

#science .detail .contents_block .list li {
  position: relative;
  margin: 5px 0 0;
  padding: 0 0 0 20px
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .list li {
    margin: 1.33333vw 0 0;
    padding: 0 0 0 5.33333vw
  }
}

#science .detail .contents_block .list li:first-child {
  margin: 0
}

#science .detail .contents_block .list li:before {
  content: '';
  display: block;
  position: absolute;
  top: 7px;
  left: 0;
  width: 13px;
  height: 13px;
  border-radius: 13px;
  background: #5e366e
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .list li:before {
    top: 1.86667vw;
    width: 3.2vw;
    height: 3.2vw;
    border-radius: 3.2vw
  }
}

#science .detail .contents_block .img {
  display: block;
  margin: 100px 0 0;
  width: 475px
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .img {
    margin: 13.33333vw 5.33333vw 0;
    width: auto
  }
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .img img {
    width: 100%
  }
}

#science .detail .contents_block h3+.img, #science .detail .contents_block p+.img {
  margin-top: 50px
}

@media screen and (max-width:751px) {
  #science .detail .contents_block h3+.img, #science .detail .contents_block p+.img {
    margin-top: 13.33333vw
  }
}

#science .detail .contents_block .img_list {
  display: flex;
  justify-content: space-between;
  margin: 100px auto 0
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .img_list {
    display: block;
    margin: 13.33333vw 5.33333vw 0
  }
}

#science .detail .contents_block .img_list li {
  width: 475px
}

@media screen and (max-width:1201px) {
  #science .detail .contents_block .img_list li {
    width: 39.58333vw
  }
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .img_list li {
    margin: 5.33333vw 0 0;
    width: 100%
  }
  #science .detail .contents_block .img_list li:first-child {
    margin-top: 0
  }
}

#science .detail .contents_block h3+.img_list, #science .detail .contents_block p+.img_list {
  margin-top: 50px
}

@media screen and (max-width:751px) {
  #science .detail .contents_block h3+.img_list, #science .detail .contents_block p+.img_list {
    margin-top: 13.33333vw
  }
}

#science .detail .contents_block .img_column {
  margin: 100px auto 0;
  display: flex;
  justify-content: space-between
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .img_column {
    display: block;
    margin: 13.33333vw 0 0
  }
}

#science .detail .contents_block .img_column.-re {
  flex-flow: row-reverse
}

#science .detail .contents_block .img_column .col_txt {
  width: 600px
}

@media screen and (max-width:1201px) {
  #science .detail .contents_block .img_column .col_txt {
    width: 50vw
  }
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .img_column .col_txt {
    width: 100%
  }
}

#science .detail .contents_block .img_column .col_img {
  width: 350px
}

@media screen and (max-width:1201px) {
  #science .detail .contents_block .img_column .col_img {
    width: 29.16667vw
  }
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .img_column .col_img {
    margin: 13.33333vw 5.33333vw 0;
    width: auto
  }
}

#science .detail .contents_block .table_block {
  margin: 100px auto 0
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .table_block {
    padding: 13.33333vw 0 0;
    width: 100%;
    overflow-x: scroll
  }
}

#science .detail .contents_block .table_block table {
  margin: 0 auto;
  width: 1000px;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc
}

@media screen and (max-width:1201px) {
  #science .detail .contents_block .table_block table {
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .table_block table {
    table-layout: fixed;
    margin: 0 0 0 5.33333vw;
    width: auto;
    min-width: 100%;
    border-right: 5.33333vw solid #fff;
    border-bottom: none;
    border-collapse: separate
  }
}

#science .detail .contents_block .table_block table thead tr th {
  padding: 15px 30px;
  background: #5e366e;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  color: #fff;
  text-align: left
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .table_block table thead tr th {
    padding: 2.66667vw 5.33333vw;
    border-top: .26667vw solid #ccc;
    border-left: .26667vw solid #ccc;
    white-space: nowrap
  }
  #science .detail .contents_block .table_block table thead tr th:first-child {
    width: auto
  }
  #science .detail .contents_block .table_block table thead tr th:last-child {
    border-right: .26667vw solid #ccc
  }
  #science .detail .contents_block .table_block table tbody tr:last-child td, #science .detail .contents_block .table_block table tbody tr:last-child th {
    border-bottom: .26667vw solid #ccc
  }
}

#science .detail .contents_block .table_block table tbody tr th {
  padding: 15px 30px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  background: #f8f8f8;
  text-align: left
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .table_block table tbody tr th {
    padding: 2.66667vw 5.33333vw;
    border-top: .26667vw solid #ccc;
    border-left: .26667vw solid #ccc
  }
}

#science .detail .contents_block .table_block table tbody tr td {
  padding: 15px 30px;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  background: #fff
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .table_block table tbody tr td {
    padding: 2.66667vw 5.33333vw;
    border-top: .26667vw solid #ccc;
    border-left: .26667vw solid #ccc
  }
  #science .detail .contents_block .table_block table tbody tr td:last-child {
    border-right: .26667vw solid #ccc
  }
}

#science .detail .contents_block .definition {
  margin: 100px auto 0;
  padding: 50px;
  background: #f8f8f8
}

@media screen and (max-width:1201px) {
  #science .detail .contents_block .definition {
    padding: 50px 4.16667vw
  }
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .definition {
    margin: 13.33333vw 5.33333vw 0;
    padding: 9.33333vw 5.33333vw
  }
}

#science .detail .contents_block .definition dt {
  color: #5e366e;
  font-weight: 700
}

#science .detail .contents_block .definition dd {
  padding: 20px 0 0
}

@media screen and (max-width:751px) {
  #science .detail .contents_block .definition dd {
    padding: 5.33333vw 0 0
  }
}

#about #mv .inner {
  position: relative;
  margin: 0 auto;
  width: 1200px
}

@media screen and (max-width:1201px) {
  #about #mv .inner {
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #about #mv .inner {
    width: 100%
  }
}

#about #mv .inner h1 {
  position: absolute;
  top: 0;
  left: 0;
  padding: 50px 150px 50px 100px;
  font-size: 40px;
  background: #5e366e;
  line-height: 1;
  font-weight: 700;
  color: #fff;
  transform: translateY(-50%)
}

@media screen and (max-width:751px) {
  #about #mv .inner h1 {
    display: block;
    margin: 0 5.33333vw;
    padding: 8vw 5.33333vw;
    width: 89.33333vw;
    font-size: 6.4vw;
    line-height: 1
  }
}

#about #mv .inner h1+p, #about_detail h2 {
  padding: 120px 0 0 100px;
  font-size: 24px;
  line-height: 1;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #about #mv .inner h1+p {
    padding: 20vw 5.33333vw 0;
    font-size: 5.33333vw;
    line-height: 1.6
  }
}

#about_detail {
  margin: 0 auto;
  padding: 55px 0 200px;
  width: 1000px
}

@media screen and (max-width:1201px) {
  #about_detail {
    width: 83.33333vw
  }
}

@media screen and (max-width:751px) {
  #about_detail {
    padding: 14.66667vw 5.33333vw 33.33333vw;
    width: 100%
  }
}

#about_detail .logo {
  margin: 0 auto;
  width: 376px
}

@media screen and (max-width:751px) {
  #about_detail .logo {
    margin: 0 auto;
    width: 54.93333vw
  }
}

#about_detail h2 {
  padding: 30px 0 25px;
  font-size: 30px;
  text-align: center
}

@media screen and (max-width:751px) {
  #about_detail h2 {
    padding: 8vw 0 1.33333vw;
    font-size: 5.33333vw;
    line-height: 1.6
  }
}

#about_detail h2 span {
  display: inline-block;
  padding: 30px 45px;
  border-top: 1px solid #5e366e;
  border-bottom: 1px solid #5e366e
}

@media screen and (max-width:751px) {
  #about_detail h2 span {
    padding: 8vw 4vw;
    border-top: .26667vw solid #5e366e;
    border-bottom: .26667vw solid #5e366e
  }
}

@media screen and (max-width:751px) {
  #about_detail p {
    padding: 12vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

@media screen and (max-width:751px) {
  #about_detail .img+p {
    padding: 8vw 0 0
  }
}

#about_detail .img {
  display: block;
  margin: 55px 0 10px;
  width: 100%
}

@media screen and (max-width:751px) {
  #about_detail .img {
    margin: 18.66667vw auto 0
  }
}

#privacy #mv, #privacy .privacy {
  margin: 0 auto;
  padding: 90px 0 0;
  width: 1000px;
  word-wrap: break-word;
}

@media screen and (max-width:751px) {
  #privacy #mv {
    padding: 24vw 5.33333vw 0;
    width: 100%
  }
}

@media screen and (max-width:751px) {
  #privacy #mv h1 {
    font-size: 6.4vw
  }
}

#privacy .privacy {
  padding: 50px 0 0
}

@media screen and (max-width:751px) {
  #privacy .privacy {
    padding: 13.33333vw 5.33333vw 0;
    width: 100%
  }
}

#privacy .privacy:last-child {
  padding-bottom: 145px
}

#privacy .privacy h2 {
  position: relative;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
  color: #5e366e
}

@media screen and (max-width:751px) {
  #privacy .privacy h2 {
    font-size: 5.33333vw;
    line-height: 1.25
  }
}

#privacy .privacy h2 span, #privacy .privacy ol li span {
  display: inline-block;
  vertical-align: top
}

#privacy .privacy h2 span.symbol {
  max-width: 40px
}

@media screen and (max-width:751px) {
  #privacy .privacy h2 span.symbol {
    max-width: 10.66667vw
  }
}

#privacy .privacy h2 span.txt {
  width: 960px
}

@media screen and (max-width:751px) {
  #privacy .privacy h2 span.txt {
    width: 78.66667vw
  }
}

#privacy .privacy h2+ol, #privacy .privacy h2+p {
  padding-top: 20px
}

@media screen and (max-width:751px) {
  #privacy .privacy h2+ol, #privacy .privacy h2+p {
    padding-top: 5.33333vw
  }
}

#privacy .privacy ol li, #privacy .privacy p {
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #privacy .privacy p {
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#privacy .privacy ol+p, #privacy .privacy p+p {
  padding: 15px 0 0
}

@media screen and (max-width:751px) {
  #privacy .privacy ol+p, #privacy .privacy p+p {
    padding: 4vw 0 0
  }
}

#privacy .privacy ol li {
  padding: 15px 0 0
}

@media screen and (max-width:751px) {
  #privacy .privacy ol li {
    padding: 4vw 0 0;
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#privacy .privacy ol li span.symbol {
  width: 30px
}

@media screen and (max-width:751px) {
  #privacy .privacy ol li span.symbol {
    width: 7.5vw
  }
}

#privacy .privacy ol li span.txt {
  width: 970px
}

@media screen and (max-width:751px) {
  #privacy .privacy ol li span.txt {
    width: 80vw
  }
}

#privacy .privacy ol li ol {
  margin: 0 0 0 30px
}

@media screen and (max-width:751px) {
  #privacy .privacy ol li ol {
    margin: 0 0 0 5.33333vw
  }
}

#privacy .privacy ol li ol li span.txt {
  width: 940px
}

@media screen and (max-width:751px) {
  #privacy .privacy ol li ol li span.txt {
    width: 76vw
  }
}

#privacy .privacy ul {
  padding: 45px 0 0
}

@media screen and (max-width:751px) {
  #privacy .privacy ul {
    padding: 12vw 0 0
  }
}

#privacy .privacy ul li {
  font-size: 16px;
  line-height: 1.75
}

@media screen and (max-width:751px) {
  #privacy .privacy ul li {
    font-size: 4.26667vw;
    line-height: 1.75
  }
}

#privacy .privacy ul li a {
  display: inline-block;
  text-decoration: underline;
  transition: all .25s cubic-bezier(.21, .51, .51, 1)
}
