@charset "UTF-8";
/*************************************
	header
*************************************/
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 100;
  border-bottom: 1px solid #999;
}
header div.init {
  margin: 0 auto;
  max-width: 1080px;
  height: inherit;
  display: table;
  width: 100%;
}
header h1 {
  margin: 0 auto;
  padding-left: 10px;
  position: relative;
  z-index: 1;
}
header h1 > a {
  display: table;
  height: 60px;
}
header h1 > a > p {
  display: table-cell;
  vertical-align: middle;
  line-height: 1;
}
header h1 > a > p:nth-child(2) {
  line-height: 11px;
  padding-left: 10px;
}
header h1 > a > p:nth-child(2) > img {
  height: 11px;
}
@media screen and (min-width: 768px) {
  header {
    background: white;
    background: -moz-linear-gradient(left, white 1%, white 49%, #333333 50%, #333333 100%);
    background: -webkit-linear-gradient(left, white 1%, white 49%, #333333 50%, #333333 100%);
    background: linear-gradient(to right, white 1%, white 49%, #333333 50%, #333333 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#333333',GradientType=1 );
  }
  header.sticky.fix {
    position: relative;
  }
  header div.init {
    display: table;
    width: 100%;
  }
  header div.init nav.na-content {
    display: table-cell;
    vertical-align: middle;
  }
}
@media screen and (max-width: 767px) {
  header {
    background-color: #fff;
  }
  header h1 {
    margin-left: 0;
    padding-right: 50px;
    box-sizing: border-box;
    background-color: #fff;
    display: table;
    width: 100%;
  }
  header h1 > a {
    display: table-cell;
    vertical-align: middle;
  }
  header h1 > a > p:nth-child(2) {
    margin-top: 2px;
  }
}
@media screen and (max-width: 767px) and (max-width: 360px) {
  header h1 > a {
    line-height: 1;
  }
  header h1 > a > p {
    display: inline-block;
  }
  header h1 > a > p:nth-child(2) {
    padding-left: 112px;
  }
}

/*************************************
	.nav-content
*************************************/
.nav-content {
  position: absolute;
  top: -1000%;
  right: 50%;
  z-index: -1;
  width: 100%;
  -webkit-transform: translateX(50%);
  -ms-transform: translateX(50%);
  transform: translateX(50%);
}
.nav-content ul {
  background: #333;
}
.nav-content ul li {
  padding: 0 0.5em;
  text-align: center;
}
.nav-content ul li a {
  display: block;
  text-align: center;
  line-height: 1.4;
  color: #fff;
  font-size: 14px;
  white-space: nowrap;
}
.nav-content ul li.btn > a {
  border-radius: 8px;
  width: 100%;
  color: #fff;
  background-color: #62a237;
}
.nav-content ul li.emphasis a {
  color: #c2f1a2;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .nav-content ul {
    padding-left: 5px;
    padding-right: 20px;
    box-sizing: border-box;
    height: 60px;
  }
  .nav-content ul li {
    position: relative;
  }
  .nav-content ul li::after {
    display: block;
    position: absolute;
    top: 15px;
    right: 0;
    height: 30px;
    width: 1px;
    background-color: #fff;
    content: "";
  }
  .nav-content ul li.soFar::after, .nav-content ul li.soFar + li::after {
    display: none;
  }
  .nav-content ul li.btn {
    padding-left: 0;
    padding-right: 0;
  }
  .nav-content ul li.btn > a {
    height: 36px;
    line-height: 36px;
  }
}
@media screen and (min-width: 768px) and (max-width: 850px) {
  .nav-content ul {
    padding-right: 10px;
  }
  .nav-content ul li a {
    font-size: 12px;
  }
}

@media screen and (max-width: 767px) {
  .nav-content {
    visibility: hidden;
  }
  .nav-content ul li a {
    font-size: 16px;
    height: 60px;
    line-height: 60px;
  }
  .nav-content ul li.btn > a {
    margin: 10px auto;
    width: 80%;
    max-width: 250px;
    height: 40px;
    line-height: 40px;
  }
}

/*************************************
	.menu-button
*************************************/
.menu-button {
  padding-bottom: 10px;
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  z-index: 1;
  width: 50px;
  height: 50px;
  background-color: #fff;
  box-sizing: border-box;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}
.menu-button:hover, .menu-button:hover * {
  opacity: 0.7;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}
.menu-button::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  text-align: center;
  line-height: 1.4;
  font-size: 80%;
  content: "MENU";
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
.menu-button i {
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 50%;
  display: block;
  width: 70%;
  height: 2px;
  border-radius: 3px;
  background: #3e3a39;
  -webkit-transition: background 0.5s;
  transition: background 0.5s;
  position: relative;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.menu-button i:before, .menu-button i:after {
  content: "";
  display: block;
  width: 100%;
  height: inherit;
  border-radius: 3px;
  background: #3e3a39;
  position: absolute;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: all 0.3s !important;
  transition: all 0.3s !important;
}
.menu-button i:before {
  -webkit-transform: translateY(10px);
  -ms-transform: translateY(10px);
  transform: translateY(10px);
}
.menu-button i:after {
  -webkit-transform: translateY(-10px);
  -ms-transform: translateY(-10px);
  transform: translateY(-10px);
}

/*************************************
	ナビ展開時(.is-open)
*************************************/
.is-open .nav-content {
  visibility: visible;
  top: 60px;
  transition: top 150ms ease-out 0ms;
  -webkit-transition: top 150ms ease-out 0ms;
}
@media screen and (max-width: 767px) {
  .is-open .nav-content ul {
    border-bottom: solid 1px #ddd;
  }
  .is-open .nav-content ul li {
    border-top: solid 1px #ddd;
  }
}
.is-open .menu-button i {
  background: none;
}
.is-open .menu-button i:after {
  -webkit-transform: translateY(0px) rotate(-45deg);
  -ms-transform: translateY(0px) rotate(-45deg);
  transform: translateY(0px) rotate(-45deg);
}
.is-open .menu-button i:before {
  -webkit-transform: translateY(0px) rotate(45deg);
  -ms-transform: translateY(0px) rotate(45deg);
  transform: translateY(0px) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .is-open {
    box-shadow: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
  }
}

/*************************************
	ナビ展開時のマスク設定
*************************************/
body::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 200ms 0s ease;
  transition: all 200ms 0s ease;
  content: "";
}
@media screen and (min-width: 768px) {
  body.nonAccordionPc::after {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  body.menu-open {
    position: relative;
    height: 100%;
    overflow: hidden;
  }
  body.menu-open::after {
    visibility: visible;
    opacity: 0.5;
  }
}

/*************************************
	グロナビの非アコーディオン化(pc専用)
*************************************/
@media screen and (min-width: 768px) {
  .nonAccordionPc header h1 > a {
    position: static;
    transform: none;
  }
  .nonAccordionPc header .nav-content {
    position: static;
    transform: none;
    display: table-cell;
    vertical-align: middle;
    width: auto;
  }
  .nonAccordionPc header .nav-content ul {
    display: table;
    width: 100%;
  }
  .nonAccordionPc header .nav-content ul li {
    display: table-cell;
    vertical-align: middle;
  }
  .nonAccordionPc header .nav-content ul li.w26pre {
    width: 26%;
  }
  .nonAccordionPc header .nav-content ul li.w18pre {
    width: 18%;
  }
  .nonAccordionPc header .menu-button {
    position: static;
    transform: none;
    display: none;
  }
}

a:hover {
  opacity: 0.8;
}

ul#pager {
  padding: 8px 0;
  position: fixed;
  bottom: 50%;
  z-index: 1;
  line-height: 1;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.1);
  box-shadow: 0px 0px 2px 0px #fff;
  -webkit-transition: all 400ms 0s ease;
  transition: all 400ms 0s ease;
  -webkit-transform: translateY(50%);
  -ms-transform: translateY(50%);
  transform: translateY(50%);
}
ul#pager li {
  display: inline-block;
}
ul#pager li a {
  position: relative;
  border-radius: 50%;
  display: block;
  text-indent: 1000%;
  white-space: nowrap;
  overflow: hidden;
}
ul#pager li a::before {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  display: block;
  width: inherit;
  height: inherit;
  background: rgba(255, 255, 255, 0.8);
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  content: "";
}
ul#pager li.is-show a {
  -webkit-transform: scale(0.9, 0.9);
  -ms-transform: scale(0.9, 0.9);
  transform: scale(0.9, 0.9);
}
ul#pager li.is-show a::before {
  background: rgba(51, 51, 51, 0.4);
}
@media screen and (min-width: 768px) {
  ul#pager {
    right: 1vw;
    width: 20px;
  }
  ul#pager li a {
    padding: 5px;
    width: 10px;
    height: 10px;
  }
}
@media screen and (max-width: 767px) {
  ul#pager {
    right: 1.5vw;
    width: 3.935vw;
  }
  ul#pager li a {
    padding: 1vw;
    width: 1.935vw;
    height: 1.935vw;
  }
}

main.top {
  display: block;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}
main.top ul#fullScreenView {
  -webkit-font-smoothing: antialiased;
  font-weight: bold;
}
main.top ul#fullScreenView > li {
  border-top: 2px solid #999;
  box-sizing: border-box;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  background-repeat: no-repeat;
  display: table;
  width: 100%;
}
main.top ul#fullScreenView > li div.catch > p {
  display: inline-block;
}
main.top ul#fullScreenView > li:last-child {
  margin-bottom: 0;
}
main.top ul#fullScreenView > li > div.init {
  display: table-cell;
  vertical-align: top;
  text-align: center;
}
main.top ul#fullScreenView > li > div.init > div.pos {
  position: relative;
  height: 100%;
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page1 {
    background-image: url(../../img/top/bg1_pc.jpg);
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page1 {
    background-image: url(../../img/top/bg1_sp.jpg);
  }
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page2 {
    background-image: url(../../img/top/bg2_pc.jpg);
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page2 {
    background-image: url(../../img/top/bg2_sp.jpg);
  }
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page3 {
    background: url(../../img/top/bg3_03.jpg) 50% 50%/1080px 650px repeat;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page3 {
    background: url(../../img/top/bg3_sp.jpg) 50% 75%/100% auto no-repeat, url(../../img/top/bg3_03.jpg) 50% 50%/1080px 650px repeat;
  }
}
main.top ul#fullScreenView > li#page4 {
  background-color: #009345;
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page4 {
    background-image: url(../../img/top/bg4_pc.jpg);
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page4 {
    background-image: url(../../img/top/bg4_sp.jpg);
  }
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page5 {
    background-image: url(../../img/top/bg5_pc.jpg);
    background-position-x: 100%;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page5 {
    background-image: url(../../img/top/bg5_sp.jpg);
  }
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page6 {
    background-image: url(../../img/top/bg6_pc.jpg);
    background-size: cover;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page6 {
    background-image: url(../../img/top/bg6_sp.jpg);
    background-size: cover;
  }
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page4 {
    position: relative;
  }
  main.top ul#fullScreenView > li#page4 div.init {
    position: relative;
    z-index: 1;
  }
  main.top ul#fullScreenView > li#page4::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 85%;
    background: url(../../img/top/bg4_map.png) 50% 100%/contain no-repeat;
    content: "";
  }
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li {
    background-position: 50% 100%;
    background-size: 100% auto;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li {
    background-position: 50% 100%;
    background-size: 100% auto;
  }
}
main.top ul#fullScreenView > li#page1 div.init div.gather img {
  width: 293px;
  max-width: 45.0769230769vw;
}
main.top ul#fullScreenView > li#page1, main.top ul#fullScreenView > li#page2, main.top ul#fullScreenView > li#page4, main.top ul#fullScreenView > li#page5, main.top ul#fullScreenView > li#page6 {
  color: #000;
}
main.top ul#fullScreenView > li#page1 div.gather, main.top ul#fullScreenView > li#page2 div.gather, main.top ul#fullScreenView > li#page4 div.gather, main.top ul#fullScreenView > li#page5 div.gather, main.top ul#fullScreenView > li#page6 div.gather {
  margin: 0 auto;
  padding: 0 6.5vw;
}
main.top ul#fullScreenView > li#page1 div.gather div.catch, main.top ul#fullScreenView > li#page2 div.gather div.catch, main.top ul#fullScreenView > li#page4 div.gather div.catch, main.top ul#fullScreenView > li#page5 div.gather div.catch, main.top ul#fullScreenView > li#page6 div.gather div.catch {
  font-weight: bold;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
main.top ul#fullScreenView > li#page1 div.gather div.catch > p, main.top ul#fullScreenView > li#page2 div.gather div.catch > p, main.top ul#fullScreenView > li#page4 div.gather div.catch > p, main.top ul#fullScreenView > li#page5 div.gather div.catch > p, main.top ul#fullScreenView > li#page6 div.gather div.catch > p {
  line-height: 1;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page1 div.init, main.top ul#fullScreenView > li#page2 div.init, main.top ul#fullScreenView > li#page4 div.init, main.top ul#fullScreenView > li#page5 div.init, main.top ul#fullScreenView > li#page6 div.init {
    display: table;
    width: 100%;
    height: 100%;
  }
  main.top ul#fullScreenView > li#page1 div.init div.gather, main.top ul#fullScreenView > li#page2 div.init div.gather, main.top ul#fullScreenView > li#page4 div.init div.gather, main.top ul#fullScreenView > li#page5 div.init div.gather, main.top ul#fullScreenView > li#page6 div.init div.gather {
    display: table-cell;
    vertical-align: middle;
  }
}
main.top ul#fullScreenView > li#page1 div.init div.gather div.catch > span {
  letter-spacing: -0.1em;
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page1 div.init {
    padding-top: 10vh;
  }
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    margin-bottom: 2vh;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page1 {
    padding-bottom: 70vw;
  }
  main.top ul#fullScreenView > li#page1 div.init div.gather {
    padding-left: 0;
    padding-right: 0;
  }
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    margin-bottom: 3vh;
  }
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page2 {
    position: relative;
  }
  main.top ul#fullScreenView > li#page2::before {
    padding-top: 60px;
    padding-bottom: 40px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    box-sizing: border-box;
    width: 100%;
    height: calc(100% - 48vw);
    min-height: 12vw;
    background: -moz-linear-gradient(top, white 0%, white 80%, rgba(255, 255, 255, 0) 100%);
    background: -webkit-linear-gradient(top, white 0%, white 80%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to bottom, white 0%, white 80%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 );
    content: "";
  }
  main.top ul#fullScreenView > li#page2 > * {
    position: relative;
    z-index: 1;
  }
  main.top ul#fullScreenView > li#page2 div.init div.gather {
    display: table;
    height: calc(100% - 48vw);
    min-height: 6.96vw;
  }
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch {
    display: table-cell;
    vertical-align: middle;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page2 {
    padding-bottom: 90vw;
    background-position-y: 75%;
  }
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch {
    margin-bottom: 1vh;
  }
}
main.top ul#fullScreenView > li#page4 {
  border-color: #ffffff;
  color: #fff;
}
main.top ul#fullScreenView > li#page4 div.init div.gather {
  padding-left: 0;
  padding-right: 0;
}
main.top ul#fullScreenView > li#page4 div.init div.gather div.catch {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2), -2px 2px 4px rgba(0, 0, 0, 0.2), 2px -2px 4px rgba(0, 0, 0, 0.2), -2px -2px 4px rgba(0, 0, 0, 0.2);
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page4 div.init {
    overflow: hidden;
  }
  main.top ul#fullScreenView > li#page4 div.init div.gather {
    float: left;
    display: table;
    width: 50vw;
    height: 60vh;
  }
}
@media screen and (min-width: 768px) and (min-height: 65.75vw) {
  main.top ul#fullScreenView > li#page4 div.init div.gather {
    padding: 5vh 5vw;
    box-sizing: border-box;
    width: auto;
    height: 50vh;
  }
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page4 div.init div.gather div.catch {
    display: table-cell;
    vertical-align: middle;
  }
  main.top ul#fullScreenView > li#page4 div.init div.gather h2 {
    margin-bottom: 4vh;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page4 {
    background-position-y: 65%;
  }
}
@media screen and (max-width: 767px) and (min-height: 812px) {
  main.top ul#fullScreenView > li#page4 {
    padding-bottom: 55vh;
  }
}
@media screen and (max-width: 767px) and (max-height: 811px) {
  main.top ul#fullScreenView > li#page4 {
    padding-bottom: 60vh;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page4 div.init div.gather h2 {
    margin-bottom: 2vh;
  }
}
main.top ul#fullScreenView > li#page5 {
  position: relative;
  overflow: hidden;
}
main.top ul#fullScreenView > li#page5 a.btnNext {
  position: absolute;
  bottom: 0;
  display: inline-block;
}
main.top ul#fullScreenView > li#page5 a.btnNext img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page5 a.btnNext {
    margin-left: 40%;
    margin-right: 50%;
    margin-bottom: 5vh;
    float: left;
    width: 16.6vw;
    min-width: 180px;
  }
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page5 {
    color: #fff;
  }
  main.top ul#fullScreenView > li#page5 div.init div.gather {
    display: table;
    height: calc(100% - 54vw);
    min-height: 12vw;
  }
  main.top ul#fullScreenView > li#page5 div.init div.gather div.catch {
    display: table-cell;
    vertical-align: middle;
    margin-bottom: 30vh;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3), -2px 2px 4px rgba(0, 0, 0, 0.3), 2px -2px 4px rgba(0, 0, 0, 0.3), -2px -2px 4px rgba(0, 0, 0, 0.3);
  }
  main.top ul#fullScreenView > li#page5 div.init div.gather h2 {
    margin-bottom: 1vh;
  }
  main.top ul#fullScreenView > li#page5 a.btnNext {
    left: 20px;
    bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page5 {
    text-align: center;
    display: block;
  }
}
@media screen and (max-width: 767px) and (min-height: 812px) {
  main.top ul#fullScreenView > li#page5 {
    padding-bottom: 50vh;
  }
}
@media screen and (max-width: 767px) and (max-height: 811px) {
  main.top ul#fullScreenView > li#page5 {
    padding-bottom: 52.5vh;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page5 div.init div.gather h2 {
    margin-bottom: 2vh;
  }
  main.top ul#fullScreenView > li#page5 a.btnNext {
    position: relative;
  }
}
main.top ul#fullScreenView > li#page6 {
  color: #fff;
  border-color: #ffffff;
}
main.top ul#fullScreenView > li#page6 > div.init {
  vertical-align: middle;
}
main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
  margin-bottom: 0.5em;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2), -2px 2px 4px rgba(0, 0, 0, 0.2), 2px -2px 4px rgba(0, 0, 0, 0.2), -2px -2px 4px rgba(0, 0, 0, 0.2);
}
main.top ul#fullScreenView > li#page6 .youtube {
  margin-left: auto;
  margin-right: auto;
  overflow: hidden;
  max-height: 50vh;
}
main.top ul#fullScreenView > li#page6 .youtube > p {
  position: relative;
  width: 100%;
}
main.top ul#fullScreenView > li#page6 .youtube > p > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 50vh;
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page6 .youtube {
    width: 59%;
  }
  main.top ul#fullScreenView > li#page6 .youtube > p {
    padding-top: 53%;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page6 .youtube {
    width: 94%;
  }
  main.top ul#fullScreenView > li#page6 .youtube > p {
    padding-top: 53%;
  }
}
main.top ul#fullScreenView > li#page3 {
  position: relative;
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page3 div.txt {
    margin-top: 0.94vh;
    margin-top: calc( ( 100vh - 60px ) * 0.01 );
    margin-bottom: 0.94vh;
    margin-bottom: calc( ( 100vh - 60px ) * 0.01 );
    width: 65%;
    height: 54.5vh;
    height: calc( ( 100vh - 60px ) * 0.57 );
  }
  main.top ul#fullScreenView > li#page3 div.bg1 {
    margin-bottom: 0.94vh;
    margin-bottom: calc( ( 100vh - 60px ) * 0.01 );
    width: 35%;
    height: 54.5vh;
    height: calc( ( 100vh - 60px ) * 0.58 );
  }
  main.top ul#fullScreenView > li#page3 div.bg2 {
    margin-bottom: 0.94vh;
    margin-bottom: calc( ( 100vh - 60px ) * 0.01 );
    width: 100%;
    height: 37.6vh;
    height: calc( ( 100vh - 60px ) * 0.4 );
  }
}
main.top ul#fullScreenView > li#page3 div.txt {
  text-align: left;
  display: table;
  box-sizing: border-box;
}
main.top ul#fullScreenView > li#page3 div.txt div.gather {
  display: table-cell;
  vertical-align: middle;
}
main.top ul#fullScreenView > li#page3 div.txt dl {
  margin: 0 auto;
}
main.top ul#fullScreenView > li#page3 div.txt dl dt {
  font-weight: bold;
  line-height: 1.3;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
main.top ul#fullScreenView > li#page3 div.txt dl dt > p {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page3 div.txt {
    padding: 0 4%;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page3 div.txt {
    padding: 0 6.5vw;
    height: 100%;
  }
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    text-align: center;
  }
}
main.top ul#fullScreenView > li#page3 div.bg1 {
  overflow: hidden;
}
main.top ul#fullScreenView > li#page3 div.bg2 {
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page3 {
    overflow: hidden;
  }
  main.top ul#fullScreenView > li#page3 div.txt {
    float: right;
  }
  main.top ul#fullScreenView > li#page3 div.bg1 {
    float: left;
  }
  main.top ul#fullScreenView > li#page3 div.bg1,
  main.top ul#fullScreenView > li#page3 div.bg2 {
    position: relative;
  }
  main.top ul#fullScreenView > li#page3 div.bg1 > img,
  main.top ul#fullScreenView > li#page3 div.bg2 > img {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 767px) and (min-height: 812px) {
  main.top ul#fullScreenView > li#page3 {
    padding-bottom: 116vw;
  }
}
@media screen and (max-width: 767px) and (max-height: 811px) {
  main.top ul#fullScreenView > li#page3 {
    padding-bottom: 107.5vw;
  }
}
@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page3 div.init {
    vertical-align: middle;
  }
}
main.top a#scrollArrow {
  margin-left: -25px;
  position: fixed;
  bottom: 10px;
  left: 50%;
  z-index: 1;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
  background-color: rgba(0, 0, 0, 0.1);
  text-indent: 1000%;
  white-space: nowrap;
  overflow: hidden;
}
main.top a#scrollArrow::before {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: inherit;
  height: inherit;
  background: url(../img/arrow.svg) 50% 50%/cover no-repeat;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  content: "";
}
main.top a#scrollArrow.is-on-transition {
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}
main.top a#scrollArrow.is-hide {
  opacity: 0;
  visibility: hidden;
  cursor: none;
}
@media screen and (max-width: 767px) {
  main.top a#scrollArrow {
    margin-left: -20px;
    width: 40px;
    height: 40px;
  }
}

@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch, main.top ul#fullScreenView > li#page4 div.init div.gather div.catch, main.top ul#fullScreenView > li#page5 div.init div.gather div.catch, main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
    font-size: 36px;
    line-height: 1.4;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch, main.top ul#fullScreenView > li#page4 div.init div.gather div.catch, main.top ul#fullScreenView > li#page5 div.init div.gather div.catch, main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
    font-size: 36px;
    font-size: 3.341851369vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch, main.top ul#fullScreenView > li#page4 div.init div.gather div.catch, main.top ul#fullScreenView > li#page5 div.init div.gather div.catch, main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
    font-size: 36px;
    font-size: 5.6323337679vw;
  }
}
@media screen and (min-width: 768px) and (min-height: 65.75vw) {
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch, main.top ul#fullScreenView > li#page4 div.init div.gather div.catch, main.top ul#fullScreenView > li#page5 div.init div.gather div.catch, main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
    font-size: 36px;
    line-height: 1.4;
  }
}

@media screen and (min-width: 768px) and (min-height: 65.75vw) and (min-width: 768px) {
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch, main.top ul#fullScreenView > li#page4 div.init div.gather div.catch, main.top ul#fullScreenView > li#page5 div.init div.gather div.catch, main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
    font-size: 36px;
    font-size: 4.6936114733vh;
  }
}
@media screen and (min-width: 768px) and (min-height: 65.75vw) and (max-width: 767px) {
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch, main.top ul#fullScreenView > li#page4 div.init div.gather div.catch, main.top ul#fullScreenView > li#page5 div.init div.gather div.catch, main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
    font-size: 36px;
    font-size: 5.6323337679vw;
  }
}

@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch, main.top ul#fullScreenView > li#page4 div.init div.gather div.catch, main.top ul#fullScreenView > li#page5 div.init div.gather div.catch, main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
    font-size: 38px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) and (min-width: 768px) {
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch, main.top ul#fullScreenView > li#page4 div.init div.gather div.catch, main.top ul#fullScreenView > li#page5 div.init div.gather div.catch, main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
    font-size: 38px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  main.top ul#fullScreenView > li#page2 div.init div.gather div.catch, main.top ul#fullScreenView > li#page4 div.init div.gather div.catch, main.top ul#fullScreenView > li#page5 div.init div.gather div.catch, main.top ul#fullScreenView > li#page6 div.init div.gather div.catch {
    font-size: 38px;
    font-size: 6.9361147327vw;
  }
}

@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    font-size: 68px;
    line-height: 1.4;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    font-size: 68px;
    font-size: 6.3123859192vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    font-size: 68px;
    font-size: 10.6388526728vw;
  }
}
@media screen and (min-width: 768px) and (min-height: 65.75vw) {
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    font-size: 38px;
    line-height: 1.4;
  }
}

@media screen and (min-width: 768px) and (min-height: 65.75vw) and (min-width: 768px) {
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    font-size: 38px;
    font-size: 6.9361147327vh;
  }
}
@media screen and (min-width: 768px) and (min-height: 65.75vw) and (max-width: 767px) {
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    font-size: 38px;
    font-size: 5.9452411995vw;
  }
}

@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    font-size: 68px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) and (min-width: 768px) {
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    font-size: 68px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  main.top ul#fullScreenView > li#page1 div.init div.gather div.catch {
    font-size: 68px;
    font-size: 12.4119947849vw;
  }
}

@media screen and (min-width: 768px) {
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    font-size: 36px;
    line-height: 1.4;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    font-size: 36px;
    font-size: 3.341851369vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    font-size: 36px;
    font-size: 5.6323337679vw;
  }
}
@media screen and (min-width: 768px) and (min-height: 65.75vw) {
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    font-size: 36px;
    line-height: 1.4;
  }
}

@media screen and (min-width: 768px) and (min-height: 65.75vw) and (min-width: 768px) {
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    font-size: 36px;
    font-size: 4.6936114733vh;
  }
}
@media screen and (min-width: 768px) and (min-height: 65.75vw) and (max-width: 767px) {
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    font-size: 36px;
    font-size: 5.6323337679vw;
  }
}

@media screen and (max-width: 767px) {
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    font-size: 38px;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) and (min-width: 768px) {
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    font-size: 38px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  main.top ul#fullScreenView > li#page3 div.txt dl dt {
    font-size: 38px;
    font-size: 6.9361147327vw;
  }
}

main.environment section {
  overflow: hidden;
}
main.environment section dl dt {
  color: #31a300;
  font-weight: bold;
  font-size: 120%;
}
main.environment section article {
  border: solid 1px #31a300;
  text-align: center;
  padding: 0.5%;
  font-size: 80%;
}
main.environment section article h4 {
  color: #31a300;
  font-weight: bold;
  font-size: 140%;
}
main.environment section p.tlevent {
  display: block;
  text-align: center;
}
main.environment section.envisub {
  text-align: center;
}
main.environment section.envisub p {
  margin: 20px auto;
}
main.environment section.envisub p.btnappl {
  margin: 50px auto;
}
main.environment div.ttltop {
  background: url("../../img/environment/ttl_bg.jpg") no-repeat;
  background-size: 100%;
  padding: 2% 0;
  line-height: 0em;
}
main.environment div.ttltop > h2 {
  max-width: 1040px;
  margin: 0 auto;
}
main.environment h3.envih3 {
  background: #f4f8f1;
  text-align: center;
  padding: 2% 0;
  line-height: 0em;
}

@media screen and (min-width: 768px) {
  main.environment section {
    margin-bottom: 50px;
  }
  main.environment section dl {
    width: 470px;
    margin: 20px 0;
  }
  main.environment section dl:nth-child(even) {
    float: left;
  }
  main.environment section dl:nth-child(odd) {
    float: right;
  }
  main.environment section article {
    width: 320px;
    float: left;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  main.environment section article img {
    width: 260px;
    height: auto;
    display: block;
    margin: 10px auto;
  }
  main.environment section article:nth-of-type(2) {
    margin-left: 21px;
    margin-right: 21px;
  }
  main.environment section p.tlevent {
    width: 335px;
  }
  main.environment section.envisub p.btnappl {
    display: block;
    width: 300px;
  }
}
@media screen and (max-width: 767px) {
  main.environment section dl {
    margin: 20px 0;
  }
  main.environment section article {
    width: 47.8%;
    margin: 1% 0;
    display: inline-block;
  }
  main.environment section article img {
    width: 80%;
    height: auto;
    display: block;
    margin: 10px auto;
  }
  main.environment section.envisub p.btnappl {
    display: block;
    width: 250px;
  }
  main.environment div.ttltop {
    padding: 2%;
  }
  main.environment div.ttltop > h2 {
    width: 50%;
    margin: 0;
  }
}

main.flow section {
  overflow: hidden;
}
main.flow section dl.flowDl {
  text-align: center;
  margin: 50px 0;
}
main.flow section p.flowP {
  text-align: center;
  margin: 30px 0;
}
main.flow section dl.chart dt {
  margin-bottom: 1em;
  color: #eeeeee;
  font-size: 120%;
  text-align: center;
}
main.flow section dl.chart dd {
  text-align: center;
}
main.flow section dl.chart dd:nth-of-type(n+2) {
  margin-top: 0.5em;
}
main.flow section dl.chart dd a {
  display: inline-block;
}
main.flow div.ttltop {
  background: url("../../img/flow/ttl_bg.jpg") no-repeat;
  background-size: 100%;
  padding: 2% 0;
  line-height: 0em;
}
main.flow div.ttltop > h2 {
  max-width: 1040px;
  margin: 0 auto;
}
main.flow h3.envih3 {
  background: #f4f8f1;
  text-align: center;
  padding: 2% 0;
  line-height: 0em;
}
main.flow section.require {
  margin-top: -40px;
  padding-top: 80px;
  margin-bottom: 30px;
}
main.flow section.require h3 {
  padding: 0.2em 1em;
  text-align: center;
  color: #ffffff;
  background-color: #eeeeee;
  font-family: "Hiragino Sans";
  src: local(HiraginoSans-W5);
  font-weight: 600;
  font-size: 120%;
}
main.flow section.require table {
  margin: 2px auto 30px;
}
main.flow section.require table th {
  background: #eeeeee;
  color: #FFF;
  font-weight: bold;
  text-align: center;
}
main.flow section.require table td {
  background: #eeeeee;
}
main.flow section.require table th, main.flow section.require table td {
  padding: 2%;
}
main.flow section.require div.btnentry {
  padding-bottom: 4px;
  width: 100%;
}
main.flow section.require div.btnentry > a {
  box-sizing: border-box;
  display: block;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 1;
  width: 90%;
  max-width: 700px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  font-family: "Hiragino Sans";
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  main.flow section.require div.btnentry > a {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  main.flow section.require div.btnentry > a {
    font-size: 14px;
  }
}
@font-face {
  main.flow section.require div.btnentry > a {
    font-family: "Hiragino Sans";
    src: local(HiraginoSans-W5);
    font-weight: 600;
  }
}
main.flow section.require div.btnentry > a::before, main.flow section.require div.btnentry > a::after {
  border-radius: 8px;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}
main.flow section.require div.btnentry > a::before {
  margin-top: 4px;
  background-color: #0f6323;
}
main.flow section.require div.btnentry > a::after {
  background-color: #008434;
}
main.flow section.require div.btnentry > a > p {
  display: inline-block;
}
main.flow section.require.new h3 {
  background-color: #008e42;
}
main.flow section.require.new table th {
  background-color: #31a300;
}
main.flow section.require.new table td {
  background-color: #e0ecd7;
}
main.flow section.require.new dl.chart dt {
  color: #008e42;
}
main.flow section.require.careea h3 {
  background-color: #70a12f;
}
main.flow section.require.careea table th {
  background-color: #a1b51a;
}
main.flow section.require.careea table td {
  background-color: #f0f1dd;
}
main.flow section.require.careea dl.chart dt {
  color: #a1b51a;
}
main.flow ul.tab {
  margin: 40px auto 0;
  display: flex;
  width: 100%;
  max-width: 1080px;
  box-sizing: border-box;
}
main.flow ul.tab img {
  width: 180px;
}
main.flow a.btnentryFixed {
  border-radius: 10px 0 0 10px;
  position: fixed;
  top: 240px;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 8%;
  max-width: 83px;
  height: 142px;
  background-color: #31a300;
}
main.flow a.btnentryFixed:hover, main.flow a.btnentryFixed:hover * {
  opacity: 0.7;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}

@media screen and (min-width: 768px) {
  main.flow section dl.flowDl dt {
    width: 153px;
    margin: 30px auto;
  }
  main.flow section dl.flowDl dd.newdl {
    width: 1000px;
    margin: 0 auto;
  }
  main.flow section dl.flowDl dd.careeadl {
    width: 606px;
    margin: 0 auto;
  }
  main.flow section dl.chart img.mynavi {
    width: 160px;
  }
  main.flow section dl.chart img.flowNew {
    width: 100%;
  }
  main.flow section dl.chart img.flowCareea {
    width: 607px;
  }
  main.flow section.require table th {
    border-right: solid 2px #FFF;
    vertical-align: top;
    width: 20%;
  }
  main.flow section.require table th, main.flow section.require table td {
    border-bottom: solid 2px #FFF;
  }
  main.flow section.require div.btnentry > a {
    padding: 0.75em 1em;
  }
  main.flow section.require > div {
    width: 800px;
    margin: 20px auto;
    font-weight: bold;
  }
  main.flow section.require > div ul li {
    display: inline-block;
    width: 170px;
  }
  main.flow section.require > div > p {
    display: block;
    width: 190px;
  }
  main.flow section.faq {
    padding: 3% 0;
  }
  main.flow section.faq dl {
    max-width: 800px;
    margin: 10px auto;
  }
  main.flow section.faq dl dt {
    background: url("../../img/flow/faq_bg.png");
    padding: 10px;
    color: #FFF;
    font-size: 140%;
    font-weight: bold;
    margin-bottom: 5px;
  }
  main.flow section.faq dl dt:before {
    padding: 15px 15px;
    margin-right: 10px;
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    /*アイコン画像横サイズ*/
    height: 30px;
    /*アイコン画像縦サイズ*/
    background: url("../../img/flow/ttl_q.png") no-repeat 60% 60%;
  }
  main.flow section.faq dl dd {
    background: #f4f8f1;
    padding: 10px;
    margin-bottom: 10px;
    font-size: 120%;
    font-weight: bold;
  }
  main.flow section.faq dl dd:before {
    padding: 10px 20px;
    margin-right: 10px;
    content: '';
    display: block;
    vertical-align: middle;
    float: left;
    width: 20px;
    /*アイコン画像横サイズ*/
    height: 30px;
    /*アイコン画像縦サイズ*/
    background: url("../../img/flow/ttl_a.png") no-repeat 60% 60%;
  }
  main.flow ul.tab {
    padding: 0 20px;
  }
  main.flow ul.tab li:nth-child(n+2) {
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  main.flow section dl.flowDl dt {
    width: 100px;
    margin: 10px auto;
  }
  main.flow section dl.flowDl dd.newdl {
    width: 280px;
    margin: 0 auto;
  }
  main.flow section dl.flowDl dd.careeadl {
    width: 350px;
    margin: 0 auto;
  }
  main.flow section dl.chart img.mynavi {
    width: 160px;
  }
  main.flow section dl.chart img.flowNew {
    width: 100%;
  }
  main.flow section dl.chart img.flowCareea {
    width: 100%;
  }
  main.flow div.ttltop {
    padding: 2%;
  }
  main.flow div.ttltop > h2 {
    width: 50%;
    margin: 0;
  }
  main.flow section.require table th {
    text-align: center;
  }
  main.flow section.require table th, main.flow section.require table td {
    display: list-item;
    border-bottom: solid 2px #FFF;
  }
  main.flow section.require div.btnentry > a {
    padding: 1em 1em;
  }
  main.flow section.require > div {
    margin: 20px auto;
    font-weight: bold;
  }
  main.flow section.require > div ul li {
    display: inline-block;
    width: 45%;
  }
  main.flow section.require > div > p {
    display: block;
    width: 50%;
  }
  main.flow section.faq {
    padding: 3% 0;
  }
  main.flow section.faq dl {
    margin: 10px auto;
  }
  main.flow section.faq dl dt {
    background: url("../../img/flow/faq_bg.png");
    padding: 5px;
    color: #FFF;
    font-size: 120%;
    font-weight: bold;
    margin-bottom: 2px;
  }
  main.flow section.faq dl dt:before {
    padding: 10px 10px;
    margin-right: 10px;
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    /*アイコン画像横サイズ*/
    height: 25px;
    /*アイコン画像縦サイズ*/
    background: url("../../img/flow/ttl_q.png") no-repeat;
    background-size: cover;
  }
  main.flow section.faq dl dd {
    background: #f4f8f1;
    padding: 10px;
    margin-bottom: 5px;
    font-weight: bold;
  }
  main.flow section.faq dl dd:before {
    padding: 10px 10px;
    margin-right: 10px;
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 10px;
    /*アイコン画像横サイズ*/
    height: 15px;
    /*アイコン画像縦サイズ*/
    background: url("../../img/flow/ttl_a.png") no-repeat;
    background-size: cover;
  }
  main.flow ul.tab {
    padding: 0 10px;
  }
  main.flow ul.tab li:nth-child(n+2) {
    padding-left: 10px;
  }
  main.flow a.btnentryFixed {
    display: none;
  }
}

main.message a.here {
  display: block;
  padding: 1em 0;
  width: 300px;
  max-width: 80%;
  text-align: center;
  color: #fff;
  background-color: #008434;
}
@media screen and (min-width: 768px) {
  main.message a.here {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  main.message a.here {
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) {
  main.message a.here {
    margin: 100px auto;
  }
}
@media screen and (max-width: 767px) {
  main.message a.here {
    margin: 50px auto;
  }
}
main.message div.ttltop {
  background: url("../../img/environment/ttl_bg.jpg") no-repeat;
  background-size: 100%;
  padding: 2% 0;
  line-height: 0em;
}
main.message div.ttltop > h2 {
  max-width: 1040px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  main.message div.ttltop {
    padding: 2%;
  }
  main.message div.ttltop > h2 {
    width: 50%;
    margin: 0;
  }
}
main.message div.numView h2 {
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  max-width: 1080px;
}
main.message div.numView h2 > div.upper {
  margin: 0 auto;
}
main.message div.numView h2 > div.upper > p {
  text-align: center;
  line-height: 1;
}
main.message div.numView h2 > div.upper > p:nth-child(1) img {
  max-width: 60%;
}
main.message div.numView h2 > div.upper > p:nth-child(2) {
  margin-top: 10px;
}
main.message div.numView h2 > div.lower {
  margin-top: 10px;
  color: #31a300;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
main.message div.numView div.list {
  margin-top: 25px;
}
main.message div.numView div.list dl {
  padding: 40px 20px 40px;
  text-align: center;
}
main.message div.numView div.list dl dt, main.message div.numView div.list dl dd {
  margin: 0 auto;
  max-width: 1080px;
}
main.message div.numView div.list dl dt {
  margin-bottom: 30px;
  padding: 0.4em 1em;
  display: inline-block;
  box-sizing: border-box;
  border-radius: 2.2em;
  line-height: 1.4em;
  min-width: 150px;
  border: 3px solid #008434;
  color: #008434;
  background-color: #fff;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
  main.message div.numView div.list dl dt {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.numView div.list dl dt {
    font-size: 15.4px;
  }
}
main.message div.numView div.list dl dd p {
  display: inline-block;
  text-align: left;
}
@media screen and (max-width: 767px) {
  main.message div.numView div.list dl dd .parSp {
    width: 80%;
  }
}
main.message div.numView div.list dl dd > div.column {
  margin: 0 auto;
}
main.message div.numView div.list dl dd > div.column > div.init > p {
  margin: 0 auto;
  box-sizing: border-box;
  text-align: left;
  max-width: 475px;
}
@media screen and (min-width: 768px) {
  main.message div.numView div.list dl dd > div.column {
    display: table;
  }
  main.message div.numView div.list dl dd > div.column > div.init {
    display: table-cell;
    vertical-align: middle;
  }
  main.message div.numView div.list dl dd > div.column > div.init:nth-child(odd) > p {
    padding-right: 2em;
  }
  main.message div.numView div.list dl dd > div.column > div.init:nth-child(even) > p {
    padding-left: 2em;
  }
}
@media screen and (max-width: 767px) {
  main.message div.numView div.list dl dd > div.column > div.init:nth-child(1) {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  main.message div.numView div.list dl dd > div.column.set6 > div.init:nth-child(1) {
    width: 30%;
  }
}
main.message div.numView div.list dl dd > div.par {
  margin-bottom: 20px;
}
main.message div.numView div.list dl dd > div.par.set2 {
  display: inline-block;
}
main.message div.numView div.list dl dd > div.par.set2 > div.init > p {
  text-align: left;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  main.message div.numView div.list dl dd > div.par.set2 > div.init {
    margin-bottom: 20px;
    display: table;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init:last-child {
    margin-bottom: 0;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init > p {
    display: table-cell;
    vertical-align: middle;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init > p:first-child {
    width: 120px;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init > p:first-child img {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.numView div.list dl dd > div.par.set2 > div.init > p {
    display: block;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init > p:nth-child(1) {
    margin-bottom: 10px;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init > p:nth-child(2) {
    margin-bottom: 20px;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init:last-child > p:nth-child(2) {
    margin-bottom: 0;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init:nth-child(1) p:nth-child(2) > img {
    width: 55.5%;
    max-width: 369px;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init:nth-child(2) p:nth-child(2) > img {
    width: 100%;
    max-width: 665px;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init:nth-child(1) p:nth-child(1) > img {
    width: 74px;
  }
  main.message div.numView div.list dl dd > div.par.set2 > div.init:nth-child(2) p:nth-child(1) > img {
    width: 74px;
  }
}
main.message div.numView div.list dl:nth-child(odd) {
  color: #fff;
  background-color: #31a300;
}
main.message div.numView div.list dl:nth-child(even) {
  color: #008434;
  background-color: #f6f8cc;
}
main.message div.person {
  margin: 0 auto;
  max-width: 1080px;
}
@media screen and (min-width: 768px) {
  main.message div.person {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  main.message div.person a.here {
    margin-top: 40px;
    margin-bottom: 140px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person a.here {
    margin-top: 40px;
    margin-bottom: 100px;
  }
}
main.message div.person div.key {
  margin: 0 auto;
  position: relative;
  height: 50.9vw;
  max-height: 550px;
  background: url(../../img/message/person1_key.jpg) 50% 50%/100% 100% no-repeat;
}
main.message div.person div.key div.txt {
  position: absolute;
  background: rgba(255, 255, 255, 0.7);
  box-sizing: border-box;
  font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", sans-serif;
  font-size: 36px;
  line-height: 1.8;
}
@media screen and (min-width: 768px) and (max-width: 1080px) {
  main.message div.person div.key div.txt {
    font-size: 36px;
    font-size: 3.2855280313vw;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.key div.txt {
    font-size: 36px;
    font-size: 5.8670143416vw;
  }
}
@media screen and (min-width: 768px) {
  main.message div.person div.key div.txt {
    padding: 2% 2.5%;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.key {
    height: 66.6666666667vw;
    max-width: none;
    background-size: cover;
  }
  main.message div.person div.key div.txt {
    padding: 0.5em 0;
    line-height: 1.5;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  main.message div.person.first div.key div.txt {
    left: 0;
    bottom: 0;
  }
  main.message div.person.second div.key div.txt {
    right: 0;
    bottom: 0;
  }
  main.message div.person.third div.key div.txt {
    right: 0;
    bottom: 50%;
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%);
  }
  main.message div.person.four div.key div.txt {
    left: 0;
    bottom: 50%;
    -webkit-transform: translateY(50%);
    -ms-transform: translateY(50%);
    transform: translateY(50%);
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.txt {
    left: 0;
    bottom: 0;
  }
}
main.message div.person.first div.key {
  background-image: url(../../img/message/person1_key.jpg);
}
@media screen and (max-width: 767px) {
  main.message div.person.first div.key {
    background-position-x: 60%;
  }
}
@media screen and (min-width: 768px) {
  main.message div.person.first div.key div.txt {
    width: 60vw;
    width: calc( 640 / 1080 * 100vw );
    max-width: 640px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person.first div.key div.txt {
    width: 100%;
  }
}
main.message div.person.second div.key {
  background-image: url(../../img/message/person2_key.jpg);
}
@media screen and (max-width: 767px) {
  main.message div.person.second div.key {
    background-position-x: 15%;
  }
}
@media screen and (min-width: 768px) {
  main.message div.person.second div.key div.txt {
    width: 60vw;
    width: calc( 630 / 1080 * 100vw );
    max-width: 630px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person.second div.key div.txt {
    width: 100%;
  }
}
main.message div.person.third div.key {
  background-image: url(../../img/message/person3_key.jpg);
}
@media screen and (max-width: 767px) {
  main.message div.person.third div.key {
    background-position-x: 0%;
  }
}
@media screen and (min-width: 768px) {
  main.message div.person.third div.key div.txt {
    width: 60vw;
    width: calc( 611 / 1080 * 100vw );
    max-width: 611px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person.third div.key div.txt {
    width: 100%;
  }
}
main.message div.person.four div.key {
  background-image: url(../../img/message/person4_key.jpg);
}
@media screen and (max-width: 767px) {
  main.message div.person.four div.key {
    background-position-x: 100%;
  }
}
@media screen and (min-width: 768px) {
  main.message div.person.four div.key div.txt {
    width: 60vw;
    width: calc( 611 / 1080 * 100vw );
    max-width: 611px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person.four div.key div.txt {
    width: 100%;
  }
}
main.message div.person div.init {
  box-sizing: border-box;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  main.message div.person div.init {
    margin-top: 20px;
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.init {
    margin-top: 20px;
    padding: 0 10px;
  }
}
main.message div.person div.init::after {
  width: 100%;
  height: 1px;
  display: block;
  border-bottom: 1px solid #008434;
  content: '';
}
main.message div.person div.prof {
  border: 2px solid #31a300;
  width: 100%;
  box-sizing: border-box;
  margin: 40px 0;
}
main.message div.person div.prof > div:nth-child(1) > p {
  vertical-align: middle;
  line-height: 1;
  display: inline-block;
}
main.message div.person div.prof > div:nth-child(1) > p.ja {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  main.message div.person div.prof > div:nth-child(1) > p.ja {
    font-size: 30px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.prof > div:nth-child(1) > p.ja {
    font-size: 21px;
  }
}
main.message div.person div.prof > div:nth-child(1) > p.en {
  color: #31a300;
}
@media screen and (min-width: 768px) {
  main.message div.person div.prof > div:nth-child(1) > p.en {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.prof > div:nth-child(1) > p.en {
    font-size: 12.6px;
  }
}
main.message div.person div.prof > div:nth-child(2) {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  main.message div.person div.prof > div:nth-child(2) {
    font-size: 25px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.prof > div:nth-child(2) {
    font-size: 17.5px;
  }
}
@media screen and (min-width: 768px) {
  main.message div.person div.prof {
    padding: 12px 0;
    display: table;
  }
  main.message div.person div.prof > div {
    display: table-cell;
    vertical-align: middle;
  }
  main.message div.person div.prof > div:nth-child(1) {
    padding-left: 20px;
  }
  main.message div.person div.prof > div:nth-child(1) > p.en {
    margin-left: 20px;
  }
  main.message div.person div.prof > div:nth-child(2) {
    border-left: 1px solid #31a300;
    padding-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.prof {
    padding: 8px 16px;
  }
  main.message div.person div.prof > div:nth-child(2) {
    text-align: right;
  }
}
@media screen and (min-width: 768px) {
  main.message div.person div.question {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.question {
    margin-top: 20px;
  }
}
main.message div.person div.question > * {
  margin-bottom: 40px;
}
main.message div.person div.question dl dt {
  color: #31a300;
  font-weight: bold;
  line-height: 1.52;
}
@media screen and (min-width: 768px) {
  main.message div.person div.question dl dt {
    font-size: 25px;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.question dl dt {
    font-size: 17.5px;
  }
}
main.message div.person div.question dl dd {
  margin-top: 10px;
}
main.message div.person div.question img.thumb {
  width: 100%;
}
@media screen and (min-width: 768px) {
  main.message div.person div.question img.thumb {
    max-width: 300px;
  }
}
main.message div.person div.question div.column > dl {
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  main.message div.person div.question div.column {
    overflow: hidden;
  }
  main.message div.person div.question div.column > dl {
    padding-right: 2em;
    width: 70%;
    float: left;
  }
  main.message div.person div.question div.column > img {
    width: 30%;
    float: right;
  }
}
@media screen and (max-width: 767px) {
  main.message div.person div.question div.column > dl {
    margin-bottom: 5px;
  }
}
main.message .youtube::after {
  width: 100%;
  height: 1px;
  display: block;
  border-bottom: 1px solid #008434;
  content: '';
}
main.message .youtube .youtube-wrap {
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 40px;
  overflow: hidden;
  max-height: 50vh;
}
main.message .youtube .youtube-wrap > p {
  position: relative;
  width: 100%;
}
main.message .youtube .youtube-wrap > p > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 50vh;
}
@media screen and (min-width: 768px) {
  main.message .youtube {
    padding: 0 20px;
  }
  main.message .youtube .youtube-wrap {
    margin-top: 40px;
    width: 59%;
  }
  main.message .youtube .youtube-wrap > p {
    padding-top: 53%;
  }
}
@media screen and (max-width: 767px) {
  main.message .youtube {
    padding: 0 10px;
  }
  main.message .youtube .youtube-wrap {
    margin-top: 40px;
    width: 94%;
  }
  main.message .youtube .youtube-wrap > p {
    padding-top: 53%;
  }
}

main.next {
  padding: 50px 0 250px;
  box-sizing: border-box;
  background-color: #2473bf;
  background-position: 50% 100%;
  background-size: cover;
  background-repeat: no-repeat;
}
@media screen and (min-width: 768px) {
  main.next {
    background-image: url(../../img/next/bg_pc.jpg);
  }
}
@media screen and (max-width: 767px) {
  main.next {
    background-image: url(../../img/next/bg_sp.jpg);
  }
}
main.next h2 {
  text-align: center;
}
main.next a.btnMessage {
  margin: 50px auto 0;
  display: block;
  width: 240px;
  max-width: 70%;
}
main.next div.text {
  margin-top: 50px;
  text-align: center;
  font-weight: bold;
  color: #fff;
  font-family: "游ゴシック", YuGothic, sans-serif;
  text-shadow: rgba(66, 92, 128, 0.4) 4px 4px 8px, rgba(66, 92, 128, 0.4) -4px 4px 8px, rgba(66, 92, 128, 0.4) 4px -4px 8px, rgba(66, 92, 128, 0.4) -4px -4px 8px;
}
@media all and (-ms-high-contrast: none) {
  main.next div.text {
    font-family: sans-serif;
  }
}
@media screen and (min-width: 768px) {
  main.next div.text {
    font-size: 18px;
  }
}
@media screen and (max-width: 767px) {
  main.next div.text {
    font-size: 12.6px;
  }
}
main.next div.text > p {
  display: inline-block;
}
main.next div.phrase {
  margin-top: 50px;
  text-align: center;
  color: #fff;
  text-shadow: rgba(66, 92, 128, 0.2) 5px 5px 10px, rgba(66, 92, 128, 0.2) -5px 5px 10px, rgba(66, 92, 128, 0.2) 5px -5px 10px, rgba(66, 92, 128, 0.2) -5px -5px 10px;
}
main.next div.phrase div.txt {
  font-weight: bold;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, Osaka, 'MS PGothic', arial, helvetica, sans-serif;
}
@media screen and (min-width: 768px) {
  main.next div.phrase div.txt {
    font-size: 50px;
  }
}
@media screen and (max-width: 767px) {
  main.next div.phrase div.txt {
    font-size: 25px;
  }
}
main.next div.phrase > img {
  width: 221px;
}