@charset "utf-8";

@media screen and (max-width:1280px) {
  main div.inner,
  footer div.inner {
    box-sizing:border-box;
    width:100%;
    padding:16px;
  }
  footer section.map iframe {
    max-width:100%;
    height:400px;
  }
}

@media screen and (max-width:1200px) {
  header div.inner {
    width:100%;
  }
}

@media screen and (max-width:1080px) {
  header nav {
    display:none;
    position:fixed;
    top:80px;
    right:0;
    z-index:15;
    background-color:#fff;
  }
  header.thin nav {
    background-color:rgba(0,66,126,1);
  }
  header nav ul li {
    float:none;
  }
  header nav ul li a {
    padding:8px 16px;
    text-align:center;
  }
  header .menubutton {
    display:block;
  }
  div#mv.top li.mv01 p {
    top:160px;
    left:16px;
    box-sizing:border-box;
    width:100%
    padding-left:16px;
  }
  div.pagetop img {
    width:64px;
  }
}

@media screen and (max-width:800px) and (orientation:landscape) {
  body {
    font-size:12px;
  }
  header .menubutton {
    width:48px;
  }
  footer section.contact form {
    box-sizing:border-box;
    width:auto;
    padding:16px;
  }
}

@media screen and (max-width:800px) and (orientation:portrait) {
  div.left {
    float:none;
    width:100%;
    margin:16px 0;
  }
  div.right {
    float:none;
    width:100%;
    margin:16px 0;
  }

  body {
    font-size:15px;
    line-height:1.6;
  }

.delay {
  opacity:1.0;
}
.delay.delay-bottom {
  transform:translateY(0);
}
.delay.delay-top {
  transform:translateY(0);
}
.delay.delay-left {
  transform:translateX(0);
}
.delay.delay-right {
  transform:translateX(0);
}

  header div.logo span.description {
    font-size:50%;
  }
  header div.logo span.name_ja {
    margin-top:4px;
    font-size:200%;
  }
  header div.logo span.name_en {
    margin-left:2px;
    font-size:80%;
    letter-spacing:0px;
  }
  header .menubutton {
    width:48px;
  }
  header nav {
    top:64px;
  }
  header.thin nav {
    top:56px;
  }
  div#mv.top {
    height:480px;
  }
  div#mv.top img {
    width:100%;
    min-width:100%;
    height:auto;
  }
  div#mv.top img.pc {
    display:none;
  }
  div#mv.top img.sp {
    display:inline;
  }
  div#mv.top li.mv01 p span.en {
    margin-top:8px;
    font-size:300%;
  }
  div#mv.top li.mv01 p span.ja {
    font-size:120%;
  }
  div#bottomright {
    box-sizing:border-box;
    font-size:75%;
  }
  div#bottomright a {
    box-sizing:border-box;
    text-align:center;
  }
  div#bottomright a.mail img {
    width:48px;
  }
footer #news h2 {
  width:auto;
  margin:16px 0;
  font-size:150%;
}
  footer section#news div.left {
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
  }
  footer section.contact {
    padding:16px;
    padding-top:80px;
  }
  footer section.contact form {
    box-sizing:border-box;
    width:auto;
    padding:16px;
  }
  footer section.contact form table tr th label {
    padding:8px 0;
    padding-right:0;
    font-size:75%;
  }
  footer section.map {
    padding:16px;
  }
  footer section.nav {
    padding-bottom:200px;
  }
  footer section.nav nav ul li {
    display:block;
    margin:8px 0;
  }
  div.pagetop {
    right:8px;
    bottom:200px;
  }

  main section .leftimg,
  main section .rightimg {
    margin-top:24px;
  }
main.top section h2 {
  width:auto;
  margin:16px 0;
  font-size:150%;
}
  main.top #s02 table,
  main.top #s02 table tbody,
  main.top #s02 table tr,
  main.top #s02 table th,
  main.top #s02 table td {
    display:block;
    text-align:center;
  }
  main.top #s01 p.summary {
    margin:64px 0;
    font-size:75%;
  }
main.top #s01 div.col2 {
  padding-bottom:0;
}
main.top #s01 div.col2 .right {
  padding-left:0;
}
main.top #s01 div.col2 .right h2 {
  margin-bottom:32px;
}
main.top #s01 div.col2 .right p {
  line-height:1.6;
}
main.top #s02 div.front {
  padding:0;
}
main.top #s02 h3 {
  font-size:125%;
}
main.top #s02 p {
  font-size:80%;
}
main.top #s03 div.left {
  padding:0;
}
main.top #s03 h3.a_right {
  text-align:left;
}
main.top #s03 p {
  margin-bottom:32px;
}
main.top #s05 {
  font-size:75%;
}
main.top #s05 div.posts .title {
  margin-left:8px;
}
main.top #s05 div.posts a {
  overflow:hidden;
}

main.page .page_inner {
  overflow:hidden;
  box-sizing:border-box;
  width:90%;
  padding:8px;
  background-color:rgba(255,255,255,0.8);
}
main.page div.leftimg,
main.page div.rightimg {
  width:8%;
}
div#mv.page img {
  width:200%;
  transform:translateX(-25%);
}
main.page section h2 {
  font-size:125%;
}
main.flow a.more {
  width:100%;
}
main.flow h4 {
  width:100%;
}
main.flow .photos img {
  width:100%;
  padding:0;
  margin:8px 0;
}
main.news #s01 .posts {
  float:none;
  width:100%;
  padding:0;
}
main.news #s01 .posts .body {
  padding:16px;
}
main.news #s01 aside {
  position:static;
  width:100%;
  height:auto;
}

main.flow .flow_inner >figure {
  width:100%;
}
main.flow .flow_inner ul li {
  display:block;
  width:100%;
}


}

