@charset "UTF-8";
/* Scss Document */
@media screen and (max-width: 768px) {
  .spNone {
    display: none !important;
  }
  html {
    width: 100%;
    height: 100%;
    font-size: 11px;
  }
  body {
    width: 100%;
    height: 100%;
    font-size: 1rem;
  }
  img {
    display: block;
    max-width: 100%;
    width: auto;
  }
  /* iOSでのデフォルトスタイルをリセット */
  input[type="submit"], input[type="button"], input[type="reset"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
  }
  input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration, input[type="reset"]::-webkit-search-decoration {
    display: none;
  }
  input[type="submit"]::focus, input[type="button"]::focus, input[type="reset"]::focus {
    outline-offset: -2px;
  }
  .subPage .post {
    padding: 3rem 1.5rem;
  }
  .subPage .post table th, .subPage .post table td {
    font-size: 75%;
  }
  .subPage .post iframe.map {
    height: calc(100vw - 3rem);
  }
  .subPage .post .col2 li {
    margin: 1.5rem 0 0 0;
  }
  .subPage .post .col2 li:first-child {
    margin-top: 0;
  }
  .subPage .post .myImg {
    width: 6rem;
  }
  .subPage .post .myImg2 {
    width: 4.5rem;
  }
  header {
    height: 6rem;
    padding: 1.5rem;
  }
  header .logo img {
    width: auto;
    height: 3rem;
    position: fixed;
    top: 1.5em;
    left: 1.5em;
    z-index: 9;
  }
  header .img {
    display: none;
  }
  header .menu {
    width: 3rem;
    height: 3rem;
    position: fixed;
    right: 1.5em;
    top: 1.5em;
    cursor: pointer;
    z-index: 9;
  }
  header .menu span {
    display: block;
    width: 100%;
    height: 2px;
    position: absolute;
    left: 0;
    background: #000;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }
  header .menu .span {
    top: 0.5em;
  }
  header .menu .span2 {
    bottom: calc(50% - 1px);
    opacity: 1;
  }
  header .menu .span3 {
    bottom: 0.5em;
  }
  header .menu.open .span {
    top: calc(50% - 1px);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  header .menu.open .span2 {
    opacity: 0;
  }
  header .menu.open .span3 {
    bottom: calc(50% - 1px);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  header nav {
    display: none;
    width: 100vw;
    height: 100vh;
    background: rgba(255, 255, 255, 0.95);
    position: fixed;
    top: 0;
    right: 0;
    z-index: 8;
  }
  header nav ul {
    width: calc(100% - 4rem);
    border-top: 1px solid rgba(0, 0, 0, 0.4);
    margin: auto;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
  }
  header nav ul li {
    display: block;
    padding: 0;
    margin: 0;
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  }
  header nav ul li a {
    display: block;
    font-size: 125%;
    font-weight: bold;
    text-decoration: none;
    padding: 1.5rem 0;
    background: url(../img/arw.png) right center/auto 0.75rem no-repeat;
  }
  header nav ul li a:hover {
    opacity: 0.64;
  }
  header nav .link {
    width: 100%;
    padding: 1.5em 0;
    margin: auto;
    background: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
  }
  header nav .link img {
    height: 4rem;
    margin: 0 auto;
  }
  footer {
    padding: 3rem 1.5rem;
  }
  footer dl dt {
    text-align: center;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.8);
  }
  footer dl dt span {
    display: inline !important;
  }
  footer dl dd {
    text-align: center;
    margin-top: 1.5rem;
  }
  footer dl dd img {
    margin: 0 auto;
  }
  footer .banner {
    margin-top: 1.5rem !important;
  }
  .subPage {
    width: 100%;
    overflow-x: hidden;
  }
  #index_s01 {
    background-position: center top 6rem;
    background-size: 100vw auto;
    width: auto;
    height: auto;
    padding: 9rem 1.5rem 3rem;
  }
  #index_s01 .box {
    width: auto;
    height: auto;
  }
  #index_s01 .box .box_inner {
    width: auto;
    height: auto;
  }
  #index_s01 .box .box_inner nav {
    display: none;
  }
	#index_s01 .box_outer {
    display: none;
  }
  #index_s01 .box2 {
    width: auto;
    max-width: none;
    height: calc(100vw - 3rem);
    max-height: none;
    margin-top: 3rem;
  }
  #index_s01 .box2 .slide {
    width: 100%;
    height: 100%;
    position: relative;
  }
  #index_s01 .box2 .slide .image li img {
    height: 7.5rem;
    top: 1rem;
    left: 1rem;
  }
  #index_s02 {
    width: auto;
    height: auto;
    padding: 3rem 1.5rem calc((264 / 1232) * 100vw);
    background: url(../img/_bg07.png) center bottom/100% auto no-repeSat #bde0f2;
  }
  #index_s02 .box {
    width: auto;
    height: auto;
  }
  #index_s02 .box .box_inner {
    width: auto;
  }
  #index_s02 .box .box_inner .txt {
    font-size: 125%;
  }
  #index_s03 {
    width: auto;
    padding: 3rem 1.5rem;
  }
  #index_s03 h2 {
    position: absolute;
    top: -3.5rem;
    left: 1.5rem;
  }
  #index_s03 .box dl {
    width: auto;
  }
  #index_s03 .box dl dt {
    width: auto;
  }
  #index_s03 .box dl dt .img {
    position: absolute;
    top: -1rem;
    left: 1rem;
  }
  #index_s03 .box dl dd {
    width: auto;
    margin-top: 1.5rem;
  }
  #index_s03 .box dl dd .txt {
    margin-right: 7.5rem;
  }
  #index_s03 .box2 {
    width: 6rem;
    position: absolute;
    top: calc(((548 / 938) * (100vw - 3rem)) + 4.5rem);
    right: 1.5rem;
  }
  #index_s04 {
    padding: 3rem 1.5rem;
  }
  #index_s04 .box {
    width: auto;
  }
  #index_s04 .box dl {
    margin-top: 1.5rem;
  }
  #index_s04 .box dl:first-child {
    margin: 0;
  }
  #index_s04 .a {
    width: auto;
  }
  #plan .post dl dt {
    width: auto;
    height: auto;
    padding-top: 100%;
  }
  #plan .post dl dt img {
    position: absolute;
    top: 1rem;
    left: 1rem;
  }
  #plan .post dl dd {
    width: auto;
    margin-top: 1.5rem;
  }
}