@media screen and (max-width: 640px) {
  section.top {
    width: 100%;
    height: 100vh;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  section.top .visual {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
  }
  section.top .visual figure {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    -webkit-transform: scale(1.01);
            transform: scale(1.01);
    -webkit-transition-duration: 2s;
            transition-duration: 2s;
    -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    will-change: opacity, transform;
  }
  section.top .visual figure:nth-of-type(1) {
    background-image: url("../images/sm/top_vis1.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(2) {
    background-image: url("../images/sm/top_vis2.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(3) {
    background-image: url("../images/sm/top_vis3.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(4) {
    background-image: url("../images/sm/top_vis4.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(5) {
    background-image: url("../images/sm/top_vis5.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(6) {
    background-image: url("../images/sm/top_vis6.jpg?1564208591778");
  }
  section.top .visual figure:after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background-image: url("../images/misc/pattern.png?1564208591778");
    background-size: 2px 2px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 5;
  }
  section.top .visual figure.show {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  section.top .visual figure.z-index {
    z-index: 4;
  }
  section.top .copy {
    color: #ffffff;
    position: relative;
    z-index: 5;
    text-align: center;
  }
  section.top .copy p.en {
    font-size: 5.6vw;
    line-height: 7.46666667vw;
    letter-spacing: 0.1em;
    margin-bottom: 1.33333333vw;
  }
  section.top .copy p.ja {
    font-size: 3.46666667vw;
    line-height: 7.46666667vw;
    letter-spacing: 0.1em;
  }
  section.top .indicator {
    width: 1px;
    height: 50px;
    position: absolute;
    left: 50%;
    bottom: 20px;
    background-color: rgba(255, 255, 255, 0.5);
    overflow: hidden;
    z-index: 5;
  }
  section.top .indicator span {
    display: block;
    width: 100%;
    height: 200%;
    background-color: #ffffff;
    -webkit-animation-name: indicator;
            animation-name: indicator;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
            animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
  }
  section.news {
    background-color: #d3dcdd;
  }
  section.news .inner {
    width: 100%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-left: 6.66666667vw;
    padding-right: 6.66666667vw;
    padding-top: 14.66666667vw;
    padding-bottom: 26.66666667vw;
    position: relative;
  }
  section.news .inner h2 {
    font-size: 5.86666667vw;
    letter-spacing: 0.2em;
    color: #333333;
    text-align: center;
    margin-bottom: 9.33333333vw;
  }
  section.news .inner ul {
    width: 100%;
  }
  section.news .inner ul li {
    margin-bottom: 10.66666667vw;
  }
  section.news .inner ul li:last-child {
    margin-bottom: 0;
  }
  section.news .inner ul li dl dt {
    font-size: 3.46666667vw;
    color: #666666;
    margin-bottom: 4vw;
  }
  section.news .inner ul li dl dd {
    font-size: 3.2vw;
    line-height: 5.86666667vw;
    letter-spacing: 0.03em;
  }
  section.news .inner ul li dl dd a {
    color: #333333;
    text-decoration: none;
  }
  section.news .inner ul li dl dd p.en {
    margin-bottom: 1.33333333vw;
  }
  section.news .inner a.more {
    display: block;
    width: 24vw;
    height: 4vw;
    text-decoration: none;
    color: #333333;
    font-size: 3.46666667vw;
    letter-spacing: 0.05em;
    position: absolute;
    right: 6.66666667vw;
    bottom: 13.33333333vw;
  }
  section.news .inner a.more:after {
    display: block;
    content: "";
    width: 6.66666667vw;
    height: 1.33333333vw;
    background-image: url("../images/svg/arrow.svg?1564208591778");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 0;
    bottom: 1.06666667vw;
  }
  section.information {
    background-color: #727c7c;
  }
  section.information .inner {
    padding-top: 14.66666667vw;
    padding-left: 6.66666667vw;
    padding-right: 6.66666667vw;
    padding-bottom: 16vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  section.information .inner h2 {
    font-size: 5.86666667vw;
    letter-spacing: 0.2em;
    color: #ffffff;
    text-align: center;
    margin-bottom: 13.33333333vw;
  }
  section.information .inner dl {
    margin-bottom: 8vw;
    font-size: 3.2vw;
    letter-spacing: 0.1em;
  }
  section.information .inner dl dt {
    color: #d3dcdd;
    margin-bottom: 1.33333333vw;
  }
  section.information .inner dl dd {
    color: #ffffff;
    line-height: 5.86666667vw;
  }
  section.information .inner dl:last-child {
    margin-bottom: 0;
  }
  section.information .inner .en {
    margin-bottom: 8vw;
  }
  section.information .inner .en dl dd span {
    display: inline-block;
    width: 14vw;
  }
  section.information .inner .ja dl dd span {
    display: inline-block;
    width: 16vw;
  }
  section.information .map-outer {
    width: 100%;
    height: 100vw;
    background-color: lightgray;
  }
}
@media screen and (min-width: 641px) {
  section.top {
    width: 100%;
    height: 100vh;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  section.top .visual {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    overflow: hidden;
  }
  section.top .visual figure {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center top;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    -webkit-transform: scale(1.01);
            transform: scale(1.01);
    -webkit-transition-duration: 2s;
            transition-duration: 2s;
    -webkit-transition-timing-function: ease-out;
            transition-timing-function: ease-out;
    -webkit-transition-property: opacity, -webkit-transform;
    transition-property: opacity, -webkit-transform;
    transition-property: opacity, transform;
    transition-property: opacity, transform, -webkit-transform;
    will-change: opacity, transform;
  }
  section.top .visual figure:nth-of-type(1) {
    background-image: url("../images/lg/top_vis1.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(2) {
    background-image: url("../images/lg/top_vis2.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(3) {
    background-image: url("../images/lg/top_vis3.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(4) {
    background-image: url("../images/lg/top_vis4.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(5) {
    background-image: url("../images/lg/top_vis5.jpg?1564208591778");
  }
  section.top .visual figure:nth-of-type(6) {
    background-image: url("../images/lg/top_vis6.jpg?1564208591778");
  }
  section.top .visual figure:after {
    display: block;
    content: "";
    height: 100%;
    width: 100%;
    background-image: url("../images/misc/pattern.png?1564208591778");
    background-size: 2px 2px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 5;
  }
  section.top .visual figure.show {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
  section.top .visual figure.z-index {
    z-index: 4;
  }
  section.top .copy {
    position: relative;
    z-index: 5;
    color: #ffffff;
    text-align: center;
  }
  section.top .copy .en {
    font-size: 38px;
    line-height: 52px;
    letter-spacing: 0.1em;
  }
  section.top .copy .ja {
    font-size: 20px;
    letter-spacing: 0.1em;
    margin-top: 10px;
  }
  section.top .indicator {
    width: 1px;
    height: 70px;
    position: absolute;
    left: 50%;
    bottom: 20px;
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.5);
    overflow: hidden;
  }
  section.top .indicator span {
    display: block;
    width: 100%;
    height: 200%;
    background-color: #ffffff;
    -webkit-animation-name: indicator;
            animation-name: indicator;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
            animation-timing-function: cubic-bezier(0.785, 0.135, 0.15, 0.86);
    -webkit-animation-duration: 2s;
            animation-duration: 2s;
  }
  section.news {
    background-color: #d3dcdd;
  }
  section.news .inner {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-left: 130px;
    padding-top: 80px;
    padding-bottom: 120px;
    position: relative;
  }
  section.news .inner h2 {
    font-size: 32px;
    letter-spacing: 0.15em;
    color: #333333;
    margin-right: 85px;
  }
  section.news .inner ul li {
    margin-bottom: 25px;
  }
  section.news .inner ul li:last-child {
    margin-bottom: 0;
  }
  section.news .inner ul li dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    font-size: 14px;
    line-height: 28px;
  }
  section.news .inner ul li dl dt {
    color: #666666;
    margin-right: 30px;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  section.news .inner ul li dl dd {
    letter-spacing: 0.04em;
    opacity: 1;
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
            transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    will-change: opacity;
  }
  section.news .inner ul li dl dd:hover {
    opacity: 0.6;
  }
  section.news .inner ul li dl dd a {
    color: #333333;
    text-decoration: none;
  }
  section.news .inner ul li dl dd .en {
    margin-bottom: 10px;
  }
  section.news .inner a.more {
    display: block;
    width: 112px;
    height: 20px;
    text-decoration: none;
    color: #333333;
    font-size: 18px;
    position: absolute;
    bottom: 50px;
    right: 50px;
    opacity: 1;
    -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
    -webkit-transition-property: opacity;
    transition-property: opacity;
    -webkit-transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
            transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    will-change: opacity;
  }
  section.news .inner a.more:hover {
    opacity: 0.6;
  }
  section.news .inner a.more:after {
    display: block;
    content: "";
    width: 32px;
    height: 4px;
    background-image: url("../images/svg/arrow.svg?1564208591778");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    right: 0;
    bottom: 8px;
  }
  section.information {
    background-color: #727c7c;
  }
  section.information .inner {
    width: 1200px;
    margin-left: auto;
    margin-right: auto;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-top: 120px;
    padding-bottom: 120px;
  }
  section.information .inner h2 {
    color: #ffffff;
    font-size: 40px;
    letter-spacing: 0.2em;
    margin-bottom: 100px;
    text-align: center;
  }
  section.information .inner .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    padding-left: 45px;
  }
  section.information .inner .row dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
  }
  section.information .inner .row dl dt {
    color: #d3dcdd;
  }
  section.information .inner .row dl dd {
    color: #ffffff;
  }
  section.information .inner .row dl:last-child {
    margin-bottom: auto;
  }
  section.information .inner .row .en {
    font-size: 14px;
    line-height: 32px;
    margin-right: 100px;
  }
  section.information .inner .row .en dl dt {
    width: 115px;
    letter-spacing: 0.05em;
  }
  section.information .inner .row .en dl dd span {
    display: inline-block;
    width: 48px;
  }
  section.information .inner .row .ja {
    font-size: 13px;
    line-height: 32px;
    letter-spacing: 0.1em;
  }
  section.information .inner .row .ja dl dt {
    width: 105px;
  }
  section.information .inner .row .ja dl dd span {
    display: inline-block;
    width: 65px;
  }
  section.information .map-outer {
    width: 100%;
    height: 460px;
    background-color: lightgray;
  }
}
