@charset "UTF-8";
/******* setting.scss *******/
/******* mixin.scss *******/
@media screen and (max-width: 960px) {
  div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fildset, input, textarea, p, blockquote, table, th, td, address, div {
    font-size: 2.8vw;
    line-height: 180%;
  }

  .wrapper {
    padding-top: 16vw;
  }

  .sp {
    display: inline-block !important;
  }

  .pc {
    display: none !important;
  }

  a:hover {
    color: #000;
  }

  /******header******/
  .headWrap.is-open header .spMenuBtn {
    background-position: 0 100%;
  }
  .headWrap.is-open header .subMenuArea {
    display: block;
  }

  header {
    height: 16vw;
    max-width: 100%;
    padding: 0;
  }
  header .headLogo {
    top: 1vw;
    left: 2vw;
  }
  header .headLogo a img {
    width: 24vw;
  }
  header .spMenuBtn {
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100%;
    overflow: hidden;
    text-indent: 180%;
    white-space: nowrap;
    content: "";
    display: block;
    height: 0px;
    width: 0px;
    background-image: url("../img/common/spMenu.png");
    height: 16vw;
    position: absolute;
    top: 0px;
    right: 0px;
    width: 16vw;
    z-index: 20;
  }
  header .subMenuArea {
    background-color: #fff;
    display: none;
    position: absolute;
    top: 16vw;
    left: 0;
    width: 100%;
  }
  header .headLink {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
  }
  header .headLink li {
    background-color: #fff;
  }
  header .headLink li a {
    height: 14vw;
    justify-content: space-between;
    padding: 0 4vw;
  }
  header .headLink li a:after {
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100%;
    overflow: hidden;
    text-indent: 180%;
    white-space: nowrap;
    content: "";
    display: block;
    height: 5px;
    width: 24px;
    background-image: url("../img/common/icon01.png");
  }
  header .headLink li:last-child a:after {
    background-image: url("../img/common/icon02.png");
  }
  header .gNav {
    height: auto;
    position: relative;
    top: auto;
    right: auto;
    display: block;
    width: 100%;
  }
  header .gNav li {
    border-bottom: 1px solid #D9E7DE;
    margin: 0;
  }
  header .gNav li a {
    color: #0A7545;
    height: 14vw;
    font-weight: 700;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 4vw;
  }
  header .gNav li a:after {
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 100%;
    overflow: hidden;
    text-indent: 180%;
    white-space: nowrap;
    content: "";
    display: block;
    height: 5px;
    width: 24px;
    background-image: url("../img/common/icon02.png");
  }

  /******footer******/
  .footInfoArea {
    padding: 12vw 0;
  }
  .footInfoArea .footInfoCont {
    display: block;
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .footInfoArea .footInfoLinkArea {
    flex-wrap: wrap;
    width: 100%;
  }
  .footInfoArea .footInfoLinkArea .footInfoLink {
    width: 48%;
  }
  .footInfoArea .footInfoLinkArea .footInfoLink:first-of-type {
    margin-right: 4%;
  }
  .footInfoArea .footInfoLinkArea .footInfoLink li {
    margin-bottom: 2vw;
  }
  .footInfoArea .footInfoLinkArea .otherLinkArea {
    margin-top: 8vw;
    width: 100%;
  }
  .footInfoArea .footInfoLinkArea .otherLinkArea .footContactLink {
    margin-bottom: 5vw;
  }
  .footInfoArea .footInfoLinkArea .otherLinkArea .footContactLink li:first-child {
    margin-bottom: 2vw;
  }
  .footInfoArea .footInfoLinkArea .otherLinkArea .footContactLink li a {
    height: 16vw;
  }
  .footInfoArea .footInfoLinkArea .otherLinkArea .footContactLink li a:after {
    top: 7.5vw;
  }
  .footInfoArea .footInfoLinkArea .otherLinkArea .footSnsLink {
    justify-content: flex-start;
  }
  .footInfoArea .footInfoLinkArea .otherLinkArea .footSnsLink li {
    width: 50%;
  }
  .footInfoArea .footInfoLinkArea .otherLinkArea .footSnsLink li a {
    font-size: 110%;
  }
  .footInfoArea .footInfo {
    margin-top: 12vw;
    width: 100%;
  }
  .footInfoArea .footInfo h2 {
    margin-bottom: 3vw;
  }
  .footInfoArea .footInfo dl dt {
    width: 25%;
  }
  .footInfoArea .footInfo dl dd {
    width: 75%;
  }

  footer .footCont {
    padding: 50vw 0 7vw;
  }
  footer .footCont .footLogo {
    top: 16vw;
    left: 10vw;
    width: 37vw;
  }
  footer .footCont .footPict {
    top: 8vw;
    right: 12vw;
    width: 25.3vw;
  }
  footer .footCont ul.footLink {
    border-top: 1px solid #a6a6a6;
  }
  footer .footCont ul.footLink li {
    box-sizing: border-box;
    border-bottom: 1px solid #a6a6a6;
  }
  footer .footCont ul.footLink li:nth-child(2n) {
    border-left: 1px solid #a6a6a6;
  }
  footer .footCont ul.footLink2 {
    border-top: none;
    margin-top: 10px;
    padding: 0 0 0;
  }
  footer .footCont ul.footLink2 li a {
    color: #3084cb;
    height: 8vw;
    padding-left: 12vw;
  }
  footer .footCont ul.footLink2 li a:after {
    color: #717171;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 120%;
    position: absolute;
    top: 1.4vw;
    left: 9vw;
  }
  footer .footCont ul.footLink3 {
    border-top: 1px solid #C5D2C8;
    margin-top: 2vw;
    padding: 2vw 0 0;
  }
  footer .footCont ul.footLink3 li a {
    color: #3084cb;
    height: 8vw;
    padding-left: 12vw;
  }
  footer .footCont ul.footLink3 li a:after {
    color: #717171;
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 120%;
    position: absolute;
    top: 1.4vw;
    left: 9vw;
  }
  footer .footCont ul li {
    font-size: 100%;
    margin: 0;
    width: 50%;
  }
  footer .footCont ul li a {
    height: 10vw;
    display: flex;
    align-items: center;
    line-height: 140%;
    padding: 0 0 0 9vw;
    position: relative;
  }
  footer .footCont ul li a:before {
    display: none;
  }
  footer .copy {
    padding: 1vw 0;
  }

  /******landscape******/
}
@media screen and (max-width: 960px) and (orientation: landscape) {
  header {
    height: 12vw;
  }
  header .headLogo a img {
    width: 19vw;
  }
  header .spMenuBtn {
    height: 12vw;
    width: 12vw;
  }
  header .subMenuArea {
    top: 12vw;
  }
}
@media screen and (max-width: 960px) {
  /******main******/
  .pageTop {
    bottom: 5vw;
    right: 5vw;
  }

  .mb20 {
    margin-bottom: 3vw !important;
  }

  .mb30 {
    margin-bottom: 4vw !important;
  }

  .mb40 {
    margin-bottom: 5vw !important;
  }

  .mb50 {
    margin-bottom: 7vw !important;
  }

  .mb60 {
    margin-bottom: 8vw !important;
  }

  .mb80 {
    margin-bottom: 10vw !important;
  }

  .mb100 {
    margin-bottom: 12vw !important;
  }

  .mb120 {
    margin-bottom: 14vw !important;
  }

  .mb140 {
    margin-bottom: 16vw !important;
  }

  .mb160 {
    margin-bottom: 20vw !important;
  }

  .secCont {
    padding-left: 0;
    padding-right: 0;
    width: 90%;
  }

  /******** index ********/
  .mvArea {
    margin-bottom: 7vw;
  }
  .mvArea .mvSlideArea {
    margin: 0 auto 14vw;
    overflow: visible;
  }
  .mvArea .mvSlideArea .mvSlideCont {
    justify-content: flex-end;
    position: relative;
  }
  .mvArea .mvSlideArea .mvSlideCont dt {
    background-size: 80%;
    color: #666;
    font-size: 160%;
    font-weight: 600;
    padding: 8vw 0;
    position: absolute;
    top: 9vw;
    left: 0;
    width: 32%;
  }
  .mvArea .mvSlideArea .mvSlideCont dd {
    width: 84%;
  }
  .mvArea .mvSlideArea .slick-dots {
    left: 5vw;
    bottom: -7vw;
  }
  .mvArea .newsArea {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .mvArea .newsArea h2 {
    font-size: 100%;
    width: 35%;
  }
  .mvArea .newsArea .newsSlide {
    width: 65%;
  }
  .mvArea .newsArea .newsCont {
    display: block;
  }
  .mvArea .newsArea .newsCont span {
    display: block;
    margin-bottom: 2vw;
    width: auto;
  }
  .mvArea .newsArea .newsCont span:after {
    display: none;
  }
  .mvArea .newsArea .newsCont a {
    box-sizing: border-box;
    margin-left: 0;
    width: 100%;
  }

  .topTopics {
    padding: 1px 0 12vw;
  }
  .topTopics .topEventArea {
    margin-bottom: 10vw;
    padding: 8vw 5vw;
  }
  .topTopics .topEventArea .eventPictArea {
    display: block;
  }
  .topTopics .topEventArea .eventPictArea .pict {
    margin-bottom: 8vw;
    width: 100%;
  }
  .topTopics .topEventArea .eventPictArea .detail {
    width: 100%;
  }
  .topTopics .topEventArea .eventPictArea .detail .eventDetail {
    margin-bottom: 8vw;
  }
  .topTopics .topEventArea .eventPictArea .detail .eventDetail dt {
    margin-bottom: 4vw;
  }
  .topTopics .eventDetail dt span {
    margin-bottom: 2vw;
  }
  .topTopics .topicsSlideArea {
    margin: 0 0 8vw;
  }
  .topTopics .topicsSlideArea .topicsSlide {
    background-color: #fff;
    margin: 0 5vw;
  }
  .topTopics .topicsSlideArea .topicsSlide .eventDetail {
    padding: 5vw;
  }
  .topTopics .topicsSlideArea .topicsSlide .eventDetail dt {
    min-height: 0;
    margin-bottom: 3vw;
  }
  .topTopics .topicsSlideArea .slick-arrow {
    margin-top: -10px;
    height: 20px;
    top: 50%;
    right: -2vw;
    width: 10px;
  }
  .topTopics .topicsSlideArea .slick-arrow.prev {
    right: auto;
    left: -2vw;
  }

  .topGuide {
    margin-top: 12vw;
  }
  .topGuide .guideBanner dl {
    margin: 0;
    padding: 3vw 0 3vw 3vw;
    position: relative;
    width: 80%;
  }
  .topGuide .guideBanner dl dt {
    box-sizing: border-box;
    font-size: 80%;
    height: 17vw;
    padding: 5px 3vw 0 0;
    text-align: center;
    width: 100%;
  }
  .topGuide .guideBanner dl dt strong {
    font-size: 150%;
    display: block;
    margin-top: 8px;
  }
  .topGuide .guideBanner dl dd {
    height: 17vw;
    font-size: 110%;
    top: 3vw;
    right: -10vw;
    width: 17vw;
  }
  .topGuide .guideBanner dl dd span {
    font-size: 70%;
  }
  .topGuide .guidePictArea {
    display: block;
  }
  .topGuide .guidePictArea .pict {
    margin: 0 0 8vw;
    width: 100%;
  }
  .topGuide .guidePictArea .detail {
    width: 100%;
  }
  .topGuide .guidePictArea .detail h3 {
    font-size: 132%;
    margin-bottom: 4vw;
  }
  .topGuide .guidePictArea .detail p {
    margin-bottom: 7vw;
  }
  .topGuide .guidePictArea .detail .tempBtn {
    margin: 0;
  }

  .topPlan {
    padding: 3vw 0 12vw;
  }
  .topPlan .planWrap {
    margin-bottom: 5vw;
    display: block;
  }
  .topPlan .planWrap h3 {
    padding: 2vw 0;
    width: 100%;
  }
  .topPlan .planWrap .planCont {
    border-radius: 0;
    padding: 6vw;
    width: 100%;
  }
  .topPlan .planWrap .planCont dl {
    display: block;
    text-align: center;
  }
  .topPlan .planWrap .planCont dl dt {
    margin: 0 auto 3vw;
  }
  .topPlan .planWrap .planCont dl dd {
    font-size: 135%;
  }
  .topPlan .planWrap .planCont dl dd strong {
    font-size: 133%;
  }
  .topPlan .planWrap .planCont dl:last-of-type {
    margin-top: 5vw;
  }

  .topInfo {
    margin-bottom: 10vw;
    padding: 3vw 0 8vw;
  }

  .newsList li {
    display: block;
    padding: 4vw 0;
  }
  .newsList li span {
    display: block;
    width: 100%;
  }
  .newsList li span:after {
    display: none;
  }
  .newsList li a {
    display: block;
    width: 100%;
  }

  .snsArea {
    margin: 0 auto 12vw;
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .snsArea .snsCont {
    display: block;
    margin-bottom: 0;
  }
  .snsArea .snsCont dl {
    margin-bottom: 8vw;
    width: 100%;
  }
  .snsArea .snsCont dl dt {
    margin-bottom: 3vw;
  }
  .snsArea .guideLink a {
    display: block;
    padding: 5vw 0;
    text-align: center;
  }
  .snsArea .guideLink a img {
    display: block;
    margin: 0 auto 3vw;
    width: 80%;
  }

  .topBannerArea {
    padding: 8vw 0;
  }
  .topBannerArea .bannerAreaCont {
    padding-left: 10vw;
    padding-right: 10vw;
  }
  .topBannerArea .bannerSlideArea {
    margin: 0 0 3vw;
  }
  .topBannerArea .bannerSlideArea .bannerSlideCont {
    margin: 0;
  }
  .topBannerArea .bannerSlideArea .bannerSlideCont img {
    width: 100%;
  }
  .topBannerArea .bannerSlideArea .slick-arrow {
    background-color: rgba(255, 255, 255, 0.8);
    right: -35px;
  }
  .topBannerArea .bannerSlideArea .slick-arrow.prev {
    right: auto;
    left: -35px;
  }
  .topBannerArea .topBanner {
    display: block;
  }
  .topBannerArea .topBanner li {
    margin: 0 0 3vw;
    width: 100%;
  }
  .topBannerArea .topBanner li img {
    width: 100%;
  }

  .topEnjoy {
    background-position: 50% 0;
    background-size: 100%;
    padding-bottom: 1vw;
  }
  .topEnjoy .movieArea {
    display: block;
  }
  .topEnjoy .movieArea .movieCont {
    margin-bottom: 8vw;
    width: 100%;
  }

  .topFacility {
    margin-bottom: 10vw;
  }
  .topFacility .facilityLink {
    display: block;
  }
  .topFacility .facilityLink li {
    width: 100%;
  }
  .topFacility .facilityLink li .pict img {
    max-width: none;
    margin: 0 -10vw;
    width: 120vw;
  }
  .topFacility .facilityLink li dl dt {
    font-size: 150%;
    margin-bottom: 4vw;
  }
  .topFacility .facilityLink li dl dd {
    font-size: 115%;
    padding: 12px 0;
    width: 80%;
  }

  .topService {
    margin-bottom: 12vw;
  }
  .topService .lead {
    padding: 4vw 0 10vw;
    text-align: left;
  }
  .topService .topServicePictArea {
    display: block;
    margin: 0 auto 10vw;
    padding: 0 5vw;
  }
  .topService .topServicePictArea .pict {
    margin: 0 0 6vw !important;
    width: 100%;
  }
  .topService .topServicePictArea .pict img {
    width: 100%;
  }
  .topService .topServicePictArea .detail {
    width: 100%;
  }
  .topService .topServicePictArea .detail h3 {
    margin-bottom: 5vw;
    padding: 3vw 0;
    text-align: center;
  }
  .topService .topServicePictArea .detail .tempBtn {
    margin-top: 5vw;
  }

  .topAccess {
    padding: 1vw 0 12vw;
  }
  .topAccess .accessFlow {
    display: block;
    margin-bottom: 12vw;
  }
  .topAccess .accessFlow:before {
    border-bottom: none;
    border-left: 1px solid #000;
    height: 20vw;
    margin: 0 auto;
    position: absolute;
    top: 10vw;
    left: 0;
    right: 0;
    width: 1px;
  }
  .topAccess .accessFlow:after {
    border-bottom: none;
    border-left: 1px dotted #000;
    height: 60vw;
    margin: 0 auto;
    top: auto;
    bottom: 10vw;
    left: 0;
    right: 0;
    width: 1px;
  }
  .topAccess .accessFlow li {
    height: 16vw;
    width: 100%;
    z-index: 2;
  }
  .topAccess .accessFlow li:nth-child(2) {
    margin: 15vw 0 18vw;
  }
  .topAccess .accessFlow li:nth-child(2):before {
    background: linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #000 50.5%) no-repeat top left/50% 100%, linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #000 50.5%) no-repeat top right/50% 100%;
    content: "";
    display: block;
    height: 14px;
    width: 14px;
    top: -14px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .topAccess .accessFlow li:nth-child(3) {
    background-color: #F7F7F7;
    width: 100%;
  }
  .topAccess .accessFlow li:nth-child(3) span {
    display: block;
    margin-bottom: 2vw;
  }
  .topAccess .accessFlow li:last-child {
    margin-top: 15vw;
    width: 100%;
  }
  .topAccess .accessFlow li:last-child:before {
    background: linear-gradient(to top right, rgba(255, 255, 255, 0) 50%, #000 50.5%) no-repeat top left/50% 100%, linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #000 50.5%) no-repeat top right/50% 100%;
    content: "";
    display: block;
    height: 14px;
    width: 14px;
    top: -14px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .topAccess .mapArea {
    display: block;
    margin: 0 -5vw;
  }
  .topAccess .mapArea .map {
    margin-bottom: 8vw;
    width: 100%;
  }
  .topAccess .mapArea .detail {
    box-sizing: border-box;
    padding: 0 5vw;
    width: 100%;
  }
  .topAccess .mapArea .detail .mapInfo {
    display: flex;
    margin-bottom: 6vw;
  }
  .topAccess .mapArea .detail .mapLink {
    max-width: 100%;
  }
  .topAccess .mapArea .detail .mapLink li a {
    height: 16vw;
  }

  /******** temp ********/
  .mainTitle {
    height: 40vw;
    margin-bottom: 12vw;
  }
  .mainTitle .mainTitleCont {
    box-sizing: border-box;
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .mainTitle .mainTitleCont h1 {
    font-size: 180%;
  }

  .breadcrumb {
    margin-top: 14vw;
    padding: 4vw;
  }

  .titleStyle01 {
    font-size: 165%;
    margin: 12vw 0 6vw;
  }
  .titleStyle01:first-of-type {
    margin-top: 15vw;
  }

  .titleStyle02 {
    font-size: 140%;
    margin-top: 8vw;
    margin-bottom: 4vw;
  }

  .titleStyle02 {
    margin-top: 8vw;
    margin-bottom: 4vw;
    padding-left: 4vw;
  }

  .titleStyle02-b {
    margin-top: 8vw;
    margin-bottom: 4vw;
    padding-bottom: 2vw;
  }
  .titleStyle02-b:after {
    width: 30vw;
  }

  .titleStyle03 {
    margin-top: 8vw;
    margin-bottom: 3vw;
  }

  .pictRowArea {
    display: block;
    margin-bottom: 8vw;
  }
  .pictRowArea .detail {
    margin-bottom: 6vw;
    width: 100% !important;
  }
  .pictRowArea .pict {
    margin-bottom: 6vw;
    text-align: center;
    width: 100% !important;
  }

  .rowArea {
    display: block;
    margin-bottom: 12vw;
  }
  .rowArea.type2 .rowCont {
    margin-bottom: 5vw;
    margin-right: 0;
    width: 100%;
  }
  .rowArea.type3 .rowCont {
    margin: 8vw 0 0 !important;
    width: 100%;
  }
  .rowArea.type3 .rowCont:first-of-type {
    margin-top: 0 !important;
  }
  .rowArea.type4 .rowCont {
    margin: 8vw 0 0 !important;
    width: 100%;
  }
  .rowArea.type4 .rowCont:first-of-type {
    margin-top: 0 !important;
  }
  .rowArea .rowCont dl dt {
    margin-bottom: 3vw;
  }

  .pictRowList li {
    margin: 0 4% 5vw 0;
    width: 48%;
  }
  .pictRowList li:nth-child(2n) {
    margin-right: 0;
  }
  .pictRowList li span {
    margin-top: 2vw;
  }

  .rowLink li p {
    height: 9vw;
    line-height: 130%;
    padding: 0 4vw 0 2vw;
    max-width: 40vw;
    width: 85%;
    left: -2vw;
    bottom: -4vw;
  }
  .rowLink li p:before {
    margin-right: 10px;
    height: 2.13vw;
    width: 2.13vw;
  }
  .rowLink li p:after {
    height: 8vw;
    right: -2vw;
    width: 2vw;
  }
  .rowLink.div2 {
    display: block;
  }
  .rowLink.div2 li {
    margin: 0 0 5vw 0 !important;
    width: 100%;
  }
  .rowLink.div3 li {
    margin: 0 4% 8vw 0 !important;
    width: 48%;
  }
  .rowLink.div3 li:nth-child(2n) {
    margin-right: 0 !important;
  }
  .rowLink.div4 li {
    margin: 0 4% 8vw 0 !important;
    width: 48%;
  }
  .rowLink.div4 li:nth-child(2n) {
    margin-right: 0 !important;
  }
  .rowLink.div4 li p {
    font-size: 70%;
  }

  .noticeArea {
    margin-bottom: 6vw;
    padding: 5vw;
  }

  .anchorLink {
    margin-bottom: 10vw;
  }
  .anchorLink li {
    margin: 0 4% 4vw 0;
    width: 48%;
  }
  .anchorLink li:nth-child(2n) {
    margin-right: 0;
  }
  .anchorLink li a:after {
    margin-left: 2vw;
    vertical-align: -0.4em;
    height: 5.8667vw;
    width: 5.8667vw;
  }

  .tabNav {
    flex-wrap: wrap;
    padding-top: 0;
    margin-left: -5vw;
    margin-right: -5vw;
  }
  .tabNav li {
    border-right: none;
    margin: 0;
    width: 50%;
  }
  .tabNav li:first-child {
    border-left: none;
  }
  .tabNav li a {
    height: 14vw;
  }

  .btnFlex {
    display: block;
  }
  .btnFlex li {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .btnFlex li + li {
    margin-top: 4vw;
  }

  .tempBtn {
    max-width: none;
    width: 100%;
  }
  .tempBtn a,
  .tempBtn button {
    box-sizing: border-box;
    height: 16vw;
    padding: 0;
    width: 100%;
  }
  .tempBtn a:after,
  .tempBtn button:after {
    top: 7.5vw;
    right: 5vw;
  }
  .tempBtn a.backBtn:after,
  .tempBtn button.backBtn:after {
    left: 5vw;
  }
  .tempBtn.alLeft {
    margin: 0 auto;
    text-align: center;
  }

  .tempBtn2 {
    max-width: none;
    width: 100%;
  }
  .tempBtn2 a,
  .tempBtn2 button {
    box-sizing: border-box;
    height: 16vw;
    padding: 0;
    width: 100%;
  }
  .tempBtn2 a:after,
  .tempBtn2 button:after {
    top: 7.5vw;
    right: 5vw;
  }
  .tempBtn2.alLeft {
    margin: 0 auto;
    text-align: center;
  }

  .moreBtn {
    width: 60%;
  }
  .moreBtn a {
    height: 10vw;
    justify-content: center;
    padding: 0;
  }
  .moreBtn a:after {
    margin-top: -3px;
    position: absolute;
    right: 3vw;
    top: 50%;
  }

  a.linkStyle01:after {
    margin-left: 2vw;
  }

  .tagStyle01 {
    display: inline-block;
    margin: 0 2vw 2vw 0;
    padding: 0.5vw 3.5vw;
  }

  .tagStyle02 {
    border-radius: 4px;
    display: inline-block;
    margin: 0 2vw 2vw 0;
    padding: 0.2vw 2.5vw;
  }

  table.tableStyle01 th {
    border-top: none;
    border-bottom: none;
    display: block;
    padding: 3vw 4vw;
    width: 100%;
  }
  table.tableStyle01 td {
    display: block;
    padding: 4vw;
  }
  table.tableStyle01 tr:first-of-type th {
    border-top: 1px solid #e6e6e6;
  }
  table.formTable {
    margin-bottom: 8vw;
  }
  table.formTable th {
    display: block;
    font-weight: 700;
    padding: 4vw 0;
    width: 100%;
  }
  table.formTable th.req:after {
    padding: 0.5vw 2vw;
    margin-left: 3vw;
  }
  table.formTable td {
    border-top: none;
    display: block;
    padding: 0 0 4vw;
  }
  table.formTable td input[type="text"],
  table.formTable td input[type="email"] {
    height: 13.335vw;
    font-size: 100%;
    max-width: none;
    padding: 0 3vw;
    width: 100%;
  }
  table.formTable td input[type="text"].size01,
  table.formTable td input[type="email"].size01 {
    width: 40%;
  }
  table.formTable td .select-area select {
    font-size: 100%;
  }
  table.formTable td textarea {
    font-size: 100%;
    height: 40vw;
    padding: 3vw;
    width: 100%;
  }
  table.formTable td .formZip dt {
    margin-right: 5vw;
    width: 35%;
  }
  table.formTable td .formZip dt span {
    font-size: 90%;
  }
  table.formTable td .formZip dd {
    width: 40%;
  }
  table.formTable td .formZip dd a {
    height: 13.335vw;
    font-size: 95%;
    padding: 0 4vw;
  }
  table.formTable tr:last-child th {
    border-bottom: none;
  }
  table.formTable tr.inputAddressArea > td {
    border-top: 1px solid #F2F5F7;
    padding-top: 4vw;
    padding-bottom: 1px;
  }
  table.formTable tr.inputAddressArea table th {
    border-top: none;
    border-bottom: none;
    padding: 0 0 4vw !important;
  }
  table.formTable tr.inputAddressArea table td {
    padding: 0 0 4vw !important;
  }
  table.formTable + .btnFlex {
    margin-top: 8vw;
  }
  table.tableStyle02 th {
    padding: 4vw;
  }
  table.tableStyle02 td {
    padding: 4vw;
  }

  .spSlideTable {
    overflow: scroll;
  }
  .spSlideTable table {
    width: 220vw;
  }

  .pageNav {
    margin: 10vw auto 2vw;
  }
  .pageNav a {
    font-size: 100%;
    height: 10vw;
    width: 10vw;
  }
  .pageNav span {
    height: 10vw;
    width: 10vw;
  }
  .pageNav span.current {
    font-size: 100%;
    height: 10vw;
    width: 10vw;
  }

  p.centerLead {
    margin: 5vw auto 0;
    text-align: left;
  }
  p.centerLead.spCenter {
    text-align: center;
  }
  p.centerLead + .titleStyle01 {
    margin-top: 10vw;
  }
  p.spLeft {
    text-align: left;
  }

  ul.rowList li {
    padding-right: 2vw;
    width: 50%;
  }
  ul.circleList li {
    padding-left: 4vw;
  }
  ul.circleList li:before {
    border-radius: 20px;
    height: 2vw;
    top: 1.8vw;
    width: 2vw;
  }

  .accordionArea dl dt {
    height: auto;
    padding: 4vw 12vw 4vw 4vw;
  }
  .accordionArea dl dt:after {
    right: 4vw;
    top: 4vw;
  }
  .accordionArea dl dd {
    padding: 0 0 0 6vw;
  }
  .accordionArea dl.show dd {
    visibility: visible;
    height: auto;
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
  .accordionArea dl.show dd:before {
    top: 3vw;
  }

  .select-area {
    width: 100%;
  }
  .select-area:after {
    top: 4.8vw;
    right: 5vw;
  }
  .select-area select {
    height: 13.335vw;
    padding: 2vw 16vw 2vw 3vw;
  }

  input[type="checkbox"] + label {
    padding: 0.2vw 0 0.2vw 8vw;
  }
  input[type="checkbox"] + label:before {
    height: 6vw;
    top: 0;
    width: 6vw;
  }

  input[type="radio"] {
    display: none;
  }
  input[type="radio"] + label {
    padding: 0.2vw 0 0.2vw 8vw;
  }
  input[type="radio"] + label:before {
    height: 6vw;
    top: 0;
    width: 6vw;
  }

  /************** restaurant ***************/
  .restaurantMainPictArea {
    display: block;
    margin-top: 0;
    position: relative;
  }
  .restaurantMainPictArea .pict {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
  }
  .restaurantMainPictArea .detail {
    min-height: 0;
    margin: 0;
    padding: 7vw 5vw;
    width: 100%;
  }
  .restaurantMainPictArea .detail h2 {
    font-size: 115%;
  }
  .restaurantMainPictArea .detail h2 span {
    font-size: 210%;
  }
  .restaurantMainPictArea .detail p {
    line-height: 200%;
    margin-bottom: 6vw;
  }

  .restaurantRecommendArea {
    padding: 7vw 5vw;
  }
  .restaurantRecommendArea h3 {
    margin-bottom: 5vw;
  }
  .restaurantRecommendArea .restaurantMovieArea {
    display: block;
  }
  .restaurantRecommendArea .restaurantMovieArea dl {
    margin-top: 5vw;
    width: 100%;
  }
  .restaurantRecommendArea .restaurantMovieArea dl dt {
    font-size: 114%;
    font-weight: 600;
  }
  .restaurantRecommendArea .restaurantMovieArea dl dd {
    margin-top: 3vw;
  }
  .restaurantRecommendArea .restaurantMovieArea .movie {
    padding-bottom: 56.25%;
    width: 100%;
  }

  .menuList li {
    margin: 0 4% 5vw 0;
    width: 48%;
  }
  .menuList li:nth-child(2n) {
    margin-right: 0;
  }
  .menuList li img {
    width: 100%;
  }
  .menuList li span {
    margin-top: 2vw;
  }

  .restaurantHours dt {
    padding: 2vw 0;
  }
  .restaurantHours dd {
    padding: 3vw 0;
  }
  .restaurantHours dd span {
    display: block;
    margin: 2vw auto 0;
  }

  /************** topics ***************/
  .topicsLink {
    margin-bottom: 6vw;
  }
  .topicsLink a {
    display: block;
  }
  .topicsLink .pict {
    box-sizing: border-box;
    margin: 0 auto 4vw;
    padding: 5vw 5vw 0;
    text-align: center;
    width: 80%;
  }
  .topicsLink .detail {
    box-sizing: border-box;
    padding: 0 5vw 15vw;
    position: relative;
    width: 100%;
  }
  .topicsLink .detail dl dt {
    margin-bottom: 3vw;
  }
  .topicsLink .detail .moreTxt {
    right: 5vw;
    bottom: 5vw;
  }

  .topicsDetailTitle {
    font-size: 155%;
  }

  .topicsDate {
    flex-flow: column;
    align-items: flex-start;
    margin-bottom: 6vw;
  }
  .topicsDate dt {
    margin: 0 0 2vw;
  }

  /************** course ***************/
  .courseInfo {
    background-color: #F7F7F7;
    margin-top: -12vw;
    padding: 2vw 0 10vw;
  }
  .courseInfo .courseInfoCont {
    display: block;
    padding: 5vw 5vw 2vw;
  }
  .courseInfo .courseInfoCont dl {
    margin: 0 0 3vw !important;
    width: 100% !important;
  }
  .courseInfo .courseInfoCont dl dd {
    line-height: 12vw;
  }

  .courseMapArea {
    display: block;
  }
  .courseMapArea .courseMap {
    margin-top: 12vw;
    text-align: center;
    width: 100%;
  }
  .courseMapArea .detail {
    width: 100%;
  }
  .courseMapArea .detail .coursePict {
    display: flex;
    flex-wrap: wrap;
  }
  .courseMapArea .detail .coursePict li {
    margin: 0 4% 3vw 0 !important;
    position: relative;
    width: 48%;
  }
  .courseMapArea .detail .coursePict li:nth-child(2n) {
    margin-right: 0 !important;
  }

  .courseList li {
    margin: 8vw 4% 0 0 !important;
    width: 48%;
  }
  .courseList li:nth-child(2n) {
    margin-right: 0 !important;
  }
  .courseList li dl dd.courseMap {
    margin-bottom: 5vw;
  }

  .coursePdfList {
    display: block;
    margin: 12vw auto;
  }
  .coursePdfList li {
    margin-bottom: 5vw;
  }
  .coursePdfList li.tempBtn {
    width: 100%;
  }

  /************ contact *******************/
  .contactTelArea {
    margin-top: -12vw;
    padding: 2vw 0 10vw;
  }
  .contactTelArea .telNum {
    margin-top: 8vw;
  }
  .contactTelArea .telNum dt a {
    pointer-events: all;
  }

  .formFlow {
    margin-top: 8vw;
    margin-bottom: 15vw;
    max-width: none;
    width: 100%;
    position: relative;
  }
  .formFlow:before {
    top: 7vw;
  }
  .formFlow li {
    position: relative;
    text-align: center;
  }
  .formFlow li:before {
    height: 15vw;
    left: -4vw;
    width: 22vw;
  }
  .formFlow li span.num {
    height: 13vw;
    width: 13vw;
  }
  .formFlow li span.txt {
    font-size: 85%;
    margin: 0 -3vw;
    line-height: 130%;
    top: 15vw;
  }

  .contactCheck {
    margin: 0 auto 6vw;
  }

  .contactPrivacyArea {
    height: 50vw;
    margin: 0 auto 10vw;
    padding: 5vw;
  }
}
@media screen and (max-width: 470px) {
  div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fildset, input, textarea, p, blockquote, table, th, td, address {
    font-size: 3.4vw;
  }
}
