@charset "UTF-8";
*, *:before, *:after {
  box-sizing: border-box;
}

html, body, body div, span, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd,
q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article,
aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  font-weight: normal;
  font-style: normal;
}

h1, h2, h3, h4, p, li, span, b, a, time {
  transform: rotate(0.01deg);
}

body {
  padding: 0;
  font-family: "M PLUS Rounded 1c", "Yu Gothic", sans-serif;
  font-feature-settings: "palt";
  color: #2a2020;
  font-size: 18px;
  line-height: 1.6em;
  text-align: center;
  background-color: #ff8e26;
}
@media screen and (max-width: 768px) {
  body {
    font-size: 4vw;
  }
}

.sp {
  display: none;
}

.pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
p {
  margin-bottom: 20px;
}

b {
  color: #159475;
  font-weight: bold;
}

li {
  list-style: none;
}

i {
  font-size: 120%;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  i {
    font-size: 110%;
  }
}

a img {
  transition-duration: 0.5s;
}

a img:hover {
  transform: scale(1.1, 1.1);
  transition-duration: 0.5s;
}

@media screen and (max-width: 768px) {
  img {
    width: 100%;
  }
}

.wrap {
  width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .wrap {
    width: 100%;
  }
}

section {
  padding: 60px 0;
}
@media screen and (max-width: 768px) {
  section {
    width: 94%;
    margin: 0 auto;
    padding: 9vw 0;
  }
}
section.read {
  padding: 0;
}
@media screen and (max-width: 768px) {
  section.read {
    padding: 0 0 7vw 0;
  }
}
section.read p {
  font-weight: bold;
  margin: 0;
}
@media screen and (max-width: 768px) {
  section.read p {
    margin: 0 auto;
    width: 90%;
  }
}

.bg {
  background-color: #eb7305;
}
@media screen and (max-width: 768px) {
  .bg {
    width: 100%;
  }
}

h2 {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  h2 {
    margin-bottom: 6vw;
  }
  h2 img {
    width: auto;
  }
}

header {
  width: 100%;
  margin: 0 auto 60px auto;
}
@media screen and (max-width: 768px) {
  header {
    margin: 0 auto 5vw auto;
  }
}
header main {
  position: relative;
}
header main h1 {
  line-height: 0;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  header main h1 {
    width: 80%;
    margin: 0 auto 3vw auto;
  }
}
@media screen and (max-width: 768px) {
  header main span {
    width: 100%;
    margin: 0 auto;
    padding: 0 3vw 0 0;
  }
}
header main .logo {
  position: absolute;
  top: 52px;
  left: 56px;
}
header main .kv img {
  width: 100%;
}
header main.kv_access {
  background: url(../images/kv_access.jpg) no-repeat center top;
  background-size: cover;
  width: 100%;
  min-height: 580px;
}
@media screen and (max-width: 768px) {
  header main.kv_access {
    background: url(../images/kv_access_sp.jpg) no-repeat center top;
    background-size: contain;
    min-height: 82vw;
  }
}
header main.kv_menu {
  background: url(../images/kv_menu.jpg) no-repeat center top;
  background-size: cover;
  width: 100%;
  min-height: 580px;
}
@media screen and (max-width: 768px) {
  header main.kv_menu {
    background: url(../images/kv_menu_sp.jpg) no-repeat center top;
    background-size: contain;
    min-height: 83vw;
  }
}

/*トップページ用*/
.top main .logo {
  margin: 5vw 0 0 0;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

/*サブ用*/
@media screen and (max-width: 768px) {
  .sub main .logo {
    margin: 5vw 0 0 0;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
}

nav {
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  nav {
    margin-bottom: 7vw;
  }
}
nav ul {
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
nav ul li {
  margin: 0 20px;
}
@media screen and (max-width: 768px) {
  nav ul li {
    margin: 0 1vw;
    width: 29%;
  }
}

.sub nav {
  position: absolute;
  margin: 0;
  bottom: 40px;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
}
@media screen and (max-width: 768px) {
  .sub nav {
    position: static;
    margin-bottom: 6vw;
    transform: none;
    -webkit-transform: none;
    -ms-transform: none;
  }
}

.top_menu {
  padding: 60px 0 40px 0;
}
@media screen and (max-width: 768px) {
  .top_menu {
    padding: 0 0 7vw 0;
  }
}
.top_menu .box {
  background: url(../images/top_menu.png) no-repeat center top;
  background-size: contain;
  width: 878px;
  height: 298px;
  margin: 0 auto;
  padding: 90px 0 0 0;
}
@media screen and (max-width: 768px) {
  .top_menu .box {
    background: url(../images/top_menu_sp.png) no-repeat center top;
    background-size: contain;
    width: 100%;
    height: 76.5vw;
    padding: 29vw 0 0 0;
  }
}
.top_menu .box b {
  font-size: 110%;
}
.top_menu .box p {
  padding: 12px 0 0 0;
}
.top_menu .box p span {
  margin-right: 1em;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .top_menu .box p span {
    margin-right: 0;
  }
}
.top_menu .box i {
  line-height: 1.8em;
}
@media screen and (max-width: 768px) {
  .top_menu h2 img {
    width: 45.6vw;
  }
}

.top_menu2 {
  padding: 60px 0 40px 0;
}
@media screen and (max-width: 768px) {
  .top_menu2 {
    padding: 0 0 7vw 0;
  }
}
.top_menu2 .box {
  background: url(../images/top_menu2.png) no-repeat center top;
  background-size: contain;
  width: 878px;
  height: 298px;
  margin: 0 auto;
  padding: 90px 0 0 0;
}
@media screen and (max-width: 768px) {
  .top_menu2 .box {
    background: url(../images/top_menu2_sp.png) no-repeat center top;
    background-size: contain;
    width: 100%;
    height: 76.5vw;
    padding: 29vw 0 0 0;
  }
}
.top_menu2 .box b {
  font-size: 110%;
}
.top_menu2 .box p {
  padding: 12px 0 0 0;
}
.top_menu2 .box p span {
  margin-right: 1em;
  display: inline-block;
}
@media screen and (max-width: 768px) {
  .top_menu2 .box p span {
    margin-right: 0;
  }
}
.top_menu2 .box i {
  line-height: 1.8em;
}
@media screen and (max-width: 768px) {
  .top_menu2 h2 img {
    width: 45.6vw;
  }
}

@media screen and (max-width: 768px) {
  .information .box01 {
    width: 90%;
    margin: 0 auto;
  }
}
.information .box02 {
  padding-top: 50px;
}
.information .box02 img {
  margin: 0 20px;
  width: 138px;
}
@media screen and (max-width: 768px) {
  .information .box02 {
    padding-top: 8vw;
  }
  .information .box02 img {
    width: 30vw;
  }
}
.information .twitter-timeline.twitter-timeline-rendered {
  margin: 0 auto 0 auto;
}
@media screen and (max-width: 768px) {
  .information h2 img {
    width: 57.2vw;
  }
}

.map {
  padding: 0;
}
@media screen and (max-width: 768px) {
  .map {
    width: 100%;
  }
  .map h2 img {
    width: 27.6vw;
  }
}
.map .box {
  padding: 50px 0 70px 0;
}
@media screen and (max-width: 768px) {
  .map .box {
    padding: 9vw 0 10vw 0;
  }
}
.map .box p {
  color: #FFFFFF;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .map .box p {
    margin-bottom: 5vw;
  }
}
.map .box p i {
  line-height: 2em;
}
@media screen and (max-width: 768px) {
  .map .box p i {
    line-height: 1.5em;
    display: inline-block;
    margin-bottom: 1vw;
  }
}
.map .box iframe {
  width: 80%;
  height: 600px;
}
@media screen and (max-width: 768px) {
  .map .box iframe {
    width: 90%;
    height: 100vw;
  }
}

.menu {
  padding: 0;
}
@media screen and (max-width: 768px) {
  .menu {
    width: 100%;
  }
  .menu h2 img {
    width: 29vw;
  }
}
.menu .box {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 70px 0 70px 0;
}
@media screen and (max-width: 768px) {
  .menu .box {
    display: block;
    padding: 9vw 0 4vw 0;
  }
}
.menu .box a {
  display: block;
  width: 30%;
  margin: 0 2%;
}
.menu .box a img {
  width: 100%;
}
@media screen and (max-width: 768px) {
  .menu .box a {
    width: 60%;
    margin: 0 auto 5vw auto;
  }
}

footer {
  padding: 60px 0;
}
@media screen and (max-width: 768px) {
  footer {
    padding: 8vw 0;
  }
}
footer p {
  text-align: center;
}
@media screen and (max-width: 768px) {
  footer p {
    width: 80%;
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  footer a img {
    width: 26%;
  }
}/*# sourceMappingURL=style.css.map */