.p-top__hero {
  position: relative;
  line-height: 1.5;

background: url("../image/top/bg_hero01.jpg") no-repeat center bottom / contain;
}
  .p-top__hero-bg {
    position: fixed;
    overflow: hidden;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0; }
    .p-top__hero-bg video {
      position: absolute;
      top: 50%;
      left: 50%;
      min-width: 100%;
      min-height: 100%;
      -webkit-transform: translate(-50%, -50%);
      -moz-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
  .p-top__hero-inner {
    /*height: calc(100vh - 63px);*/
		min-height: 600px;
    display: flex;
    /*align-items: center;padding: 0 20px;*/
		align-items: flex-start;
    position: relative;
    padding: 20px;
}
  .p-top__hero h1, .p-top__hero-en {
    text-shadow: 0px 5px 1px #FFF,0px 4px 1px #FFF,1px 4px 1px #FFF,2px 4px 1px #FFF,3px 3px 1px #FFF,4px 2px 1px #FFF,4px 1px 1px #FFF,4px 0px 1px #FFF,5px 0px 1px #FFF,4px -1px 1px #FFF,4px -2px 1px #FFF,4px -3px 1px #FFF,3px -4px 1px #FFF,2px -5px 1px #FFF,1px -5px 1px #FFF,0px -5px 1px #FFF,-1px -5px 1px #FFF,-2px -5px 1px #FFF,-3px -5px 1px #FFF,-4px -4px 1px #FFF,-5px -3px 1px #FFF,-5px -2px 1px #FFF,-5px -1px 1px #FFF,-5px 0px 1px #FFF,-5px 1px 1px #FFF,-5px 2px 1px #FFF,-4px 3px 1px #FFF,-3px 4px 1px #FFF,-2px 4px 1px #FFF,-1px 4px 1px #FFF; }
  .p-top__hero h1 {
    font-size: 2.8rem;
    font-weight: bold;
    margin-bottom: 20px;
    overflow: hidden;
    font-feature-settings: "palt"; }
    /*.p-top__hero h1 span {
      white-space: nowrap; }*/
  .p-top__hero-en {
    font-size: 2rem;
    letter-spacing: 0.1em;
    margin-bottom: 30px; }
    .p-top__hero-en-l {
      font-weight: bold; }
    .p-top__hero-en-s {
      font-size: 37.5%;
      letter-spacing: 0.1em;
      margin-top: 1.0666666667em; }
  .p-top__hero-scroll {
		display: none;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    position: absolute;
    right: 20px;
    bottom: 0;
    display: block;
    text-align: center;
    padding: 20px 0 20px 15px;
    padding-left: 15px;
    border-left: 1px solid #454241;
    font-size: 75%; }
    .p-top__hero-scroll::before {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #454241;
      position: absolute;
      top: 0;
      left: -5px;
      animation: scroll 1.5s infinite; }
.p-top__sec, .p-top__contact {
  position: relative;
  z-index: 2; }
.p-top__sec {
  padding: 40px 20px; }
.p-top__about {
  color: #FFF;
  background: rgba(0, 0, 0, 0.85); }
  .p-top__about-tit-jp {
    color: #97C618; }
  .p-top__about-txt p {
    margin-bottom: 20px;
color: #FFF;}
  .p-top__about-txt br {
    display: none; }
  .p-top__about-btn {
    color: #FFF; }
    .p-top__about-btn, .p-top__about-btn-txt::after {
      border-color: #FFF; }
.p-top__themes {
  background: #FFF; }
  .p-top__themes-link {
    display: block;
    padding: 30px 20px;
    border: 2px solid #ECECEC;
    margin-bottom: 25px; }
    .p-top__themes-link, .p-top__themes-link * {
      transition: .5s; }
    .p-top__themes-link:last-child {
      margin-bottom: 0; }
    .p-top__themes-link.deep dt span {
      color: #3B5DA7; }
    .p-top__themes-link.deep dd::before {
      background: #3B5DA7; }
    .p-top__themes-link.deep:hover {
      border-color: #3B5DA7; }
    .p-top__themes-link.agri dt span {
      color: #3F8D21; }
    .p-top__themes-link.agri dd::before {
      background: #3F8D21; }
    .p-top__themes-link.agri:hover {
      border-color: #3F8D21; }
    .p-top__themes-link.bio dt span {
      color: #EC6835; }
    .p-top__themes-link.bio dd::before {
      background: #EC6835; }
    .p-top__themes-link.bio:hover {
      border-color: #EC6835; }
    .p-top__themes-link.marine dt span {
      color: #109CDA; }
    .p-top__themes-link.marine dd::before {
      background: #109CDA; }
    .p-top__themes-link.marine:hover {
      border-color: #109CDA; }
    .p-top__themes-link.med dt span {
      color: #F39800; }
    .p-top__themes-link.med dd::before {
      background: #F39800; }
    .p-top__themes-link.med:hover {
      border-color: #F39800; }
    .p-top__themes-link.food dt span {
      color: #EF8D8B; }
    .p-top__themes-link.food dd::before {
      background: #EF8D8B; }
    .p-top__themes-link.food:hover {
      border-color: #EF8D8B; }
    .p-top__themes-link.eco dt span {
      color: #C5D400; }
    .p-top__themes-link.eco dd::before {
      background: #C5D400; }
    .p-top__themes-link.eco:hover {
      border-color: #C5D400; }
    .p-top__themes-link.past dt span {
      color: #539B34; }
    .p-top__themes-link.past dd::before {
      background: #539B34; }
    .p-top__themes-link.past:hover {
      border-color: #539B34; }
  .p-top__themes-en {
    font-size: 3rem;
    line-height: 1.1;
    display: block; }
  .p-top__themes-detail {
    font-size: 1.4rem;
    margin-top: 15px;
    letter-spacing: 0; }
    .p-top__themes-detail::before {
      content: "";
      display: block;
      width: 33px;
      height: 1px;
      background: #707070;
      margin-bottom: 15px; }
.p-top__news {
  background: #FCFCFC; }
  .p-top__news-btn {
    margin: 0 auto; }
.p-top__partner {
  background: #FFF; }
  .p-top__partner-list {
    border-top: 1px solid #ECECEC;
    border-left: 1px solid #ECECEC;
    font-size: 1rem; }
    .p-top__partner-list li {
      flex-basis: 50%;
      max-width: 50%;
      border-bottom: 1px solid #ECECEC;
      border-right: 1px solid #ECECEC; }
  .p-top__partner-tit {
    font-size: 2rem;
    color: #539B34;
    margin: 30px 0 10px; }
.p-top__locations {
  background: #FCFCFC; }
  .p-top__locations-box {
    margin-bottom: 20px;
    padding: 30vw 20px;
    text-align: center; }
    .p-top__locations-box:last-child {
      margin-bottom: 0; }
    .p-top__locations-box.local {
      background: url("../image/top/bg_location_01.png") no-repeat center #FFF;
      background-size: 76.7272727273% auto; }
    .p-top__locations-box.global {
      background: url("../image/top/bg_location_02.png") no-repeat center #FFF;
      background-size: 85.2727272727% auto; }
  .p-top__locations-txt {
    display: block;
    font-size: 4rem;
    margin-bottom: 20px;
    line-height: 1.1; }
.p-top__contact {
  text-align: center; }
  .p-top__contact-link {
    display: block;
    background: #454241;
    color: #FFF;
    padding: 40px 20px;
    position: relative; }
    .p-top__contact-link:first-child {
      border-bottom: 1px solid #FFF; }
    .p-top__contact-link:last-child {
      border-top: 1px solid #FFF; }
    .p-top__contact-link::before {
      content: "";
      display: block;
      width: 0;
      height: 100%;
      background: #539B34;
      position: absolute;
      top: 0;
      left: 0;
      transition: .5s;
      z-index: 1;
      opacity: 0; }
    .p-top__contact-link:hover::before {
      width: 100%;
      opacity: 1; }
  .p-top__contact-link:hover .p-top__contact-btn {
    color: #539B34; }
  .p-top__contact-link:hover .p-top__contact-btn::before {
    width: calc(100% + 4px);
    opacity: 1; }
  .p-top__contact-link:hover .p-top__contact-btn-txt::after {
    border-color: #539B34; }
  .p-top__contact-dl {
    position: relative;
    z-index: 2; }
  .p-top__contact-dt {
    font-weight: bold;
    margin-bottom: 10px; }
  .p-top__contact-en {
    font-size: 4rem;
    line-height: 1.1; }
  .p-top__contact-btn {
    color: #FFF;
    border-color: #FFF;
    margin-top: 20px; }
    .p-top__contact-btn-txt::after {
      border-color: #FFF; }
    .p-top__contact-btn::before {
      background: #FFF; }

.l-footer {
  background: #FFF; }

.c-tit__sec-en {
  font-size: 4.525rem; }
.c-tit__sec-jp {
  font-size: 1.8rem; }

@media screen and (-webkit-min-device-pixel-ratio: 2) {
  .p-top__locations-box.local {
    background: url("../image/top/bg_location_01@2x.png") no-repeat center #FFF;
    background-size: 76.7272727273% auto; }
  .p-top__locations-box.global {
    background: url("../image/top/bg_location_02@2x.png") no-repeat center #FFF;
    background-size: 85.2727272727% auto; } }
@media print, screen and (min-width: 737px) {
  .p-top__hero {
    padding: 0 5.46875vw;
	background: url("../image/top/bg_hero01.jpg") no-repeat right center / 52% auto; }
    .p-top__hero-inner {
      height: calc(100vh - 114px);
			align-items: center;
      max-height: 800px;
      min-height: 686px;
      padding: 0;
	}
    .p-top__hero h1 {
      font-size: 4.7rem;
      margin-bottom: 35px;
      line-height: 1.3;
      letter-spacing: 0.05em; }
	
    .p-top__hero-en {
      font-size: 4rem;
      line-height: 1.2;
      margin-bottom: 70px; }
    .p-top__hero-scroll {
			display: block;
      right: 0;
      height: 150px;
      padding: 0 0 0 23px;
      font-size: 100%; }
  .p-top__sec {
    padding: 100px 0; }
  .p-top__about {
    background: -moz-linear-gradient(left, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.85) 50%, rgba(51, 51, 51, 0.85) 50%, rgba(51, 51, 51, 0.85) 100%);
    background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.85) 50%, rgba(51, 51, 51, 0.85) 50%, rgba(51, 51, 51, 0.85) 100%);
    background: linear-gradient(to right, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.85) 50%, rgba(51, 51, 51, 0.85) 50%, rgba(51, 51, 51, 0.85) 100%); }
    .p-top__about-inner {
      display: flex;
      align-items: center;
      justify-content: space-between; }
    .p-top__about-tit, .p-top__about-txt {
      flex-basis: 50%;
      max-width: 50%; }
    .p-top__about-tit {
      margin-bottom: 0; }
    .p-top__about-txt {
      padding-left: 5.078125vw;
      line-height: 2.25; }
      .p-top__about-txt p {
        margin-bottom: 50px;
	line-height: 2;}
      .p-top__about-txt br {
        display: inline-block; }
    .p-top__about-btn {
      color: #FFF; }
      .p-top__about-btn, .p-top__about-btn-txt::after {
        border-color: #FFF; }
  .p-top__themes-list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
  .p-top__themes-link {
    padding: 40px 30px;
    margin: 3.125vw 0 0 0;
    flex-basis: 48.3684210526%;
    max-width: 48.3684210526%; }
    .p-top__themes-link.deep dt span {
      color: #454241; }
    .p-top__themes-link.deep dd::before {
      background: #707070; }
    .p-top__themes-link.deep:hover dt span {
      color: #3B5DA7; }
    .p-top__themes-link.deep:hover dd::before {
      background: #3B5DA7; }
    .p-top__themes-link.agri dt span {
      color: #454241; }
    .p-top__themes-link.agri dd::before {
      background: #707070; }
    .p-top__themes-link.agri:hover dt span {
      color: #3F8D21; }
    .p-top__themes-link.agri:hover dd::before {
      background: #3F8D21; }
    .p-top__themes-link.bio dt span {
      color: #454241; }
    .p-top__themes-link.bio dd::before {
      background: #707070; }
    .p-top__themes-link.bio:hover dt span {
      color: #EC6835; }
    .p-top__themes-link.bio:hover dd::before {
      background: #EC6835; }
    .p-top__themes-link.marine dt span {
      color: #454241; }
    .p-top__themes-link.marine dd::before {
      background: #707070; }
    .p-top__themes-link.marine:hover dt span {
      color: #109CDA; }
    .p-top__themes-link.marine:hover dd::before {
      background: #109CDA; }
    .p-top__themes-link.med dt span {
      color: #454241; }
    .p-top__themes-link.med dd::before {
      background: #707070; }
    .p-top__themes-link.med:hover dt span {
      color: #F39800; }
    .p-top__themes-link.med:hover dd::before {
      background: #F39800; }
    .p-top__themes-link.food dt span {
      color: #454241; }
    .p-top__themes-link.food dd::before {
      background: #707070; }
    .p-top__themes-link.food:hover dt span {
      color: #EF8D8B; }
    .p-top__themes-link.food:hover dd::before {
      background: #EF8D8B; }
    .p-top__themes-link.eco dt span {
      color: #454241; }
    .p-top__themes-link.eco dd::before {
      background: #707070; }
    .p-top__themes-link.eco:hover dt span {
      color: #C5D400; }
    .p-top__themes-link.eco:hover dd::before {
      background: #C5D400; }
    .p-top__themes-link.past dt span {
      color: #454241; }
    .p-top__themes-link.past dd::before {
      background: #707070; }
    .p-top__themes-link.past:hover dt span {
      color: #539B34; }
    .p-top__themes-link.past:hover dd::before {
      background: #539B34; }
  .p-top__themes-en {
    font-size: 3rem;
    line-height: 1.1;
    display: block; }
  .p-top__themes-detail {
    font-size: 1.4rem;
    margin-top: 15px; }
    .p-top__themes-detail::before {
      content: "";
      display: block;
      width: 33px;
      height: 1px;
      background: #707070;
      margin-bottom: 15px; }
  .p-top__partner-list {
    justify-content: flex-start; }
    .p-top__partner-list li {
      flex-basis: 25%;
      max-width: 25%; }
  .p-top__partner-tit {
    font-size: 2.4rem;
    margin: 70px 0 20px; }
  .p-top__locations-list {
    display: flex;
    justify-content: space-between; }
  .p-top__locations-box {
    margin-bottom: 0;
    padding: 190px 50px;
    flex-basis: 48.2456140351%;
    max-width: 48.2456140351%; }
  .p-top__locations-txt {
    display: block;
    font-size: 4rem;
    margin-bottom: 20px;
    line-height: 1.1; }
  .p-top__locations-btn {
    max-width: 66.6666666667%;
    margin: 0 auto; }
  .p-top__contact {
    display: flex; }
    .p-top__contact-link {
      flex-basis: 50%;
      max-width: 50%;
      padding: 100px 50px; }
      .p-top__contact-link:first-child {
        border-bottom: none;
        border-right: 1px solid #FFF; }
      .p-top__contact-link:last-child {
        border-top: none;
        border-left: 1px solid #FFF; }
    .p-top__contact-dt {
      margin-bottom: 15px; }
    .p-top__contact-btn {
      max-width: 55.6586270872%;
      margin: 30px auto 0; }

  .c-tit__sec-en {
    font-size: 8.8rem; }
  .c-tit__sec-jp {
    font-size: 2.4rem; } }

@media print, screen and (min-width: 937px) {
    .p-top__hero h1 {
      font-size: 6rem; }
}
@media print, screen and (min-width: 1081px) { 
  .p-top__themes-link {
    flex-basis: 22.3684210526%;
    max-width: 22.3684210526%; }
    .p-top__themes-link:first-child, .p-top__themes-link:nth-child(2), .p-top__themes-link:nth-child(3), .p-top__themes-link:nth-child(4) {
      margin-top: 0; }
}
@media print, screen and (min-width: 1281px) {
    .p-top__hero h1 {
      font-size: 6.6rem; }
  .p-top__locations-box.local {
    background-size: 422px auto; }
  .p-top__locations-box.global {
    background-size: 469px auto; } }
@keyframes scroll {
  0% {
    top: 0; }
  50% {
    opacity: 1; }
  100% {
    top: 100%;
    margin-top: -10px;
    opacity: 0; } }
