@charset "UTF-8";
p {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  line-height: 2; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    p {
      font-size: 15px;
      font-size: 1.5rem;
      letter-spacing: 0.12em; } }
  p.txt_large {
    font-size: 18px;
    font-size: 1.8rem; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      p.txt_large {
        font-size: 16px;
        font-size: 1.6rem; } }

#sec_1 {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
  overflow-x: hidden;
  overflow-y: hidden; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #sec_1 {
      min-width: 100%;
      min-height: 100%;
      background-color: #aaa;
      background-size: 100vw 100%;
      background-size: 100vw 250vw;
      height: 92vh;
      background: url("../img/img_main.jpg") center no-repeat;
      background-size: cover; } }
  #sec_1 #video {
    position: fixed;
    z-index: -100;
    object-fit: cover; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_1 #video {
        display: none; } }
  @media (aspect-ratio: 16 / 9), (min-aspect-ratio: 16 / 9) {
    #sec_1 #video {
      width: 100%;
      top: 50%;
      transform: translateY(-50%); } }
  @media (max-aspect-ratio: 16 / 9) {
    #sec_1 #video {
      height: 100%;
      left: 50%;
      transform: translateX(-50%); } }
  #sec_1 h1 {
    width: 240px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_1 h1 {
        width: 46%;
        margin-top: -50px; } }
  #sec_1 .scroll {
    position: absolute;
    right: -20px;
    bottom: 80px;
    transform: rotate(-90deg); }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_1 .scroll {
        right: -70px;
        bottom: 80px; } }
    #sec_1 .scroll a {
      color: #fff;
      position: relative;
      padding-left: 120px;
      font-size: 16px;
      font-size: 1.6rem;
      font-weight: lighter;
      line-height: 1;
      letter-spacing: 0.3em; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #sec_1 .scroll a {
          font-size: 16px;
          font-size: 1.6rem; } }
      #sec_1 .scroll a:before {
        content: "";
        display: block;
        width: 100px;
        height: 1px;
        background-color: #fff;
        position: absolute;
        left: 0;
        top: 0.8em;
        opacity: 0.4; }
      #sec_1 .scroll a:after {
        content: "";
        display: block;
        width: 100px;
        height: 1px;
        background-color: #fff;
        position: absolute;
        left: 0;
        top: 0.8em;
        animation: line_anime 3s ease-in-out infinite; }

@keyframes line_anime {
  0% {
    width: 0px;
    left: 100px; }
  50% {
    width: 100px;
    left: 0px; }
  100% {
    width: 0px;
    left: 0px; } }
#sec_2 {
  padding: 300px 0 340px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #sec_2 {
      padding: 120px 0 120px; } }
  #sec_2 h3 {
    width: 380px;
    margin: 0 auto 40px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_2 h3 {
        width: 86%;
        max-width: 320px;
        margin-bottom: 30px; } }
  #sec_2 p {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.5em;
    color: #fff; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_2 p {
        color: #000;
        font-size: 13px;
        font-size: 1.3rem;
        letter-spacing: 0.3em; } }

#sec_3 {
  background-color: #fff;
  padding-top: 200px;
  padding-bottom: 100px; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #sec_3 {
      padding-top: 50px;
      background-color: #f6f6f6; } }
  #sec_3 .txt_1 {
    margin-bottom: 100px;
    text-align: center;
    /*&:before {
    	content: "";
    	display: block;
    	width: 1px;
    	height: 120px;
    	background-color: #ddd;
    	margin: 0 auto 80px;
    }*/ }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_3 .txt_1 {
        margin-bottom: 40px;
        text-align: justify;
        text-justify: inter-ideograph; } }
  #sec_3 .txt_2 {
    margin-bottom: 40px; }
    #sec_3 .txt_2 p {
      margin-top: 20px; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #sec_3 .txt_2 p {
          margin-top: 30px; } }
  #sec_3 .txt_3 p {
    margin-top: 40px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_3 .txt_3 p {
        margin-top: 30px; } }
  #sec_3 .txt_4 {
    margin-top: 120px;
    text-align: center; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_3 .txt_4 {
        text-align: justify;
        text-justify: inter-ideograph;
        margin-top: 70px; } }
  #sec_3 .txt_5 {
    margin-top: 40px;
    margin-bottom: 100px;
    text-align: center; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_3 .txt_5 {
        text-align: justify;
        text-justify: inter-ideograph;
        margin-top: 30px;
        margin-bottom: 0px; } }

#sec_4 {
  background-color: #fff;
  overflow: hidden; }
  #sec_4 figure {
    overflow-x: hidden;
    width: 100%; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_4 figure {
        width: 160%;
        margin-left: -30%; } }
  #sec_4 h2 {
    margin: 100px auto 60px;
    width: 320px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_4 h2 {
        margin: 40px auto 40px;
        width: 74%;
        max-width: 320px; } }

#sec_5 {
  padding-bottom: 100px;
  background-color: #fff; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #sec_5 {
      padding-bottom: 50px; } }
  #sec_5 .txt {
    margin-top: 60px; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_5 .txt {
        margin-top: 0px;
        margin-bottom: 50px; } }
    #sec_5 .txt p {
      margin-bottom: 0.8em;
      line-height: 1.6; }
      @media only screen and (max-width: 768px), print and (min-width: 2cm) {
        #sec_5 .txt p {
          text-align: center; } }
  #sec_5 .ggmap {
    position: relative;
    padding-bottom: 400px;
    height: 0;
    overflow: hidden; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_5 .ggmap {
        padding-bottom: 120%; } }
  #sec_5 .ggmap iframe,
  #sec_5 .ggmap object,
  #sec_5 .ggmap embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

#sec_news {
  margin-top: -70px;
  position: relative; }
  @media only screen and (max-width: 768px), print and (min-width: 2cm) {
    #sec_news {
      margin-top: 0px; } }
  #sec_news .inner {
    max-width: 800px;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
    background-color: #fff;
    padding: 35px 50px 25px;
    border: solid 1px #eee; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_news .inner {
        border-left: none;
        border-right: none;
        border-top: none; } }
  #sec_news h2 {
    text-align: center;
    width: 100%;
    letter-spacing: 0.1em;
    margin: 0px auto 45px;
    font-size: 26px;
    font-size: 2.6rem; }
  #sec_news ul li {
    font-size: 14px;
    font-size: 1.4rem;
    letter-spacing: 0.02em;
    line-height: 1.6;
    margin: 1.4em 0;
    display: flex; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_news ul li {
        display: block; } }
    #sec_news ul li time {
      width: 8em; }
    #sec_news ul li .ico {
      width: 4.3em;
      text-align: center;
      background-color: #eee; }
    #sec_news ul li .news_copy {
      margin-left: 0.8em;
      text-decoration: underline; }
  #sec_news .link_btn p {
    width: 100%;
    margin: 40px 0 0;
    text-align: right; }
    @media only screen and (max-width: 768px), print and (min-width: 2cm) {
      #sec_news .link_btn p {
        margin-top: 60px; } }
    #sec_news .link_btn p a {
      display: inline-block;
      width: 7em;
      position: relative;
      text-align: right;
      transition: 0.3s; }
      #sec_news .link_btn p a:before {
        content: "";
        display: block;
        width: 25px;
        height: 1px;
        background-color: #000;
        position: absolute;
        left: 0;
        top: 1em;
        transition: 0.3s; }
      #sec_news .link_btn p a:hover {
        text-decoration: none;
        width: 8em;
        opacity: 0.5; }
        #sec_news .link_btn p a:hover:before {
          width: 35px; }

/*# sourceMappingURL=top.css.map */
