@charset "UTF-8";
/******* setting.scss *******/
/******* mixin.scss *******/
.courseInfo .courseInfoCont dl dd.jp {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.topGuide .guideBanner dl dd, .topAccess .mapArea .detail .mapLink li a, .tempBtn a,
.tempBtn button, table.formTable th, table.formTable td, .contactTelArea .telNum dt a, .contactTelArea .telNum dd {
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
}

.titleStyle01 span, .pageNav a, .pageNav span.current, .restaurantMainPictArea .detail h2 span, .courseInfo .courseInfoCont dl dd, .formFlow li span.num {
  font-family: 'Amiri', serif;
}

img.object-fit-img {
  object-fit: cover;
  font-family: 'object-fit: cover;';
  width: 100%;
}

/******** index ********/
.mvArea {
  margin-bottom: 40px;
}
.mvArea .mvSlideArea {
  margin: 0 auto 40px;
  display: none;
  max-height: 88vh;
  overflow: hidden;
}
.mvArea .mvSlideArea.slick-initialized {
  display: flex;
  align-items: center;
}
.mvArea .mvSlideArea .mvSlideCont {
  display: flex;
  justify-content: space-between;
}
.mvArea .mvSlideArea .mvSlideCont dt {
  background: url("../img/index/mvLeadBg.png") no-repeat 50% 50% #fff;
  background-size: 80%;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #666;
  font-size: 190%;
  font-weight: 600;
  width: 25.7%;
}
.mvArea .mvSlideArea .mvSlideCont dd {
  width: 74.3%;
}
.mvArea .mvSlideArea .mvSlideCont img {
  width: 100%;
}
.mvArea .mvSlideArea .slick-dots {
  position: absolute;
  bottom: 0px;
  left: 70px;
  display: flex;
}
.mvArea .mvSlideArea .slick-dots li {
  margin-right: 5px;
}
.mvArea .mvSlideArea .slick-dots li button {
  background: #D9E7DE;
  border: none;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 3px;
  width: 60px;
  padding: 0;
}
.mvArea .mvSlideArea .slick-dots li.slick-active button {
  background: #0A7545;
}
.mvArea .newsArea {
  display: flex;
  align-items: center;
  max-width: 1040px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}
.mvArea .newsArea h2 {
  font-size: 107%;
  font-weight: 600;
  width: 18%;
}
.mvArea .newsArea .newsSlide {
  width: 82%;
}
.mvArea .newsArea .newsCont {
  display: flex;
}
.mvArea .newsArea .newsCont span {
  display: flex;
  justify-content: space-between;
  width: 110px;
}
.mvArea .newsArea .newsCont span:after {
  content: "｜";
}
.mvArea .newsArea .newsCont a {
  display: block;
  margin-left: 20px;
  width: 84%;
}
.mvArea .newsArea .newsCont a:hover {
  color: #0A7545;
  text-decoration: underline;
}

.topTopics {
  background-color: #F7F7F7;
  padding: 1px 0 100px;
}
.topTopics .topEventArea {
  background-color: #fff;
  margin-bottom: 60px;
  padding: 35px 40px 60px;
}
.topTopics .topEventArea .titleStyle02 {
  margin-top: 0;
}
.topTopics .topEventArea .eventPictArea {
  display: flex;
  justify-content: space-between;
}
.topTopics .topEventArea .eventPictArea .pict {
  width: 38.5%;
}
.topTopics .topEventArea .eventPictArea .detail {
  width: 57.2%;
}
.topTopics .topEventArea .eventPictArea .detail .eventDetail {
  margin-bottom: 40px;
}
.topTopics .topEventArea .eventPictArea .detail .eventDetail dt {
  margin-bottom: 20px;
}
.topTopics .topEventArea .eventPictArea .detail .eventDetail dt strong {
  font-size: 114%;
  font-weight: 600;
}
.topTopics .eventDetail dt {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
}
.topTopics .eventDetail dt span {
  border: 1px solid #AE933C;
  color: #AE933C;
  font-size: 92%;
  display: block;
  margin-bottom: 15px;
  padding: 2px 7px;
}
.topTopics .eventDetail dt span.cate02 {
  border-color: #00663A;
  color: #00663A;
}
.topTopics .eventDetail dt strong {
  font-weight: 500;
}
.topTopics .topicsSlideArea {
  display: none;
  margin: 0 -20px 60px;
}
.topTopics .topicsSlideArea.slick-initialized {
  display: block;
}
.topTopics .topicsSlideArea .topicsSlide {
  background-color: #fff;
  margin: 0 20px;
}
.topTopics .topicsSlideArea .topicsSlide img {
  width: 100%;
}
.topTopics .topicsSlideArea .topicsSlide a {
  display: block;
  transition: opacity 0.6s;
  text-decoration: none;
}
.topTopics .topicsSlideArea .topicsSlide a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .topTopics .topicsSlideArea .topicsSlide a:hover {
    opacity: 1;
  }
}
.topTopics .topicsSlideArea .topicsSlide .eventDetail {
  padding: 30px;
}
.topTopics .topicsSlideArea .topicsSlide .eventDetail dt {
  /*min-height: 135px;*/
}
.topTopics .topicsSlideArea .topicsSlide .eventDetail dd {
  font-size: 92%;
}
.topTopics .topicsSlideArea .slick-arrow {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 29px;
  width: 15px;
  background-image: url("../img/index/arrow.png");
  cursor: pointer;
  margin-top: -15px;
  position: absolute;
  top: 50%;
  right: -40px;
  z-index: 20;
}
.topTopics .topicsSlideArea .slick-arrow.prev {
  right: auto;
  left: -40px;
  transform: scale(-1, 1);
}
@media screen and (max-width: 1160px) {
  .topTopics .topicsSlideArea .slick-arrow {
    right: -10px;
  }
  .topTopics .topicsSlideArea .slick-arrow.prev {
    left: -10px;
  }
}

.topGuide {
  margin-top: 100px;
}
.topGuide .guideBanner a {
  background: url("../img/index/bannerBg.jpg") no-repeat 50% 0;
  background-size: cover;
  display: block;
  transition: opacity 0.6s;
  text-decoration: none;
}
.topGuide .guideBanner a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .topGuide .guideBanner a:hover {
    opacity: 1;
  }
}
.topGuide .guideBanner dl {
  margin: 0 auto;
  padding: 14px 0;
  position: relative;
  width: 410px;
}
.topGuide .guideBanner dl dt {
  background-color: rgba(255, 255, 255, 0.9);
  box-sizing: border-box;
  color: #00663A;
  font-weight: 600;
  display: flex;
  flex-flow: column;
  align-items: center;
  justify-content: center;
  height: 90px;
  padding: 5px 0 0;
  text-align: center;
  width: 100%;
}
.topGuide .guideBanner dl dt strong {
  font-size: 171%;
  display: block;
  margin-top: 8px;
}
.topGuide .guideBanner dl dd {
  background-color: #00663A;
  border-radius: 50%;
  color: #fff;
  height: 92px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-flow: column;
  font-size: 157%;
  font-weight: 700;
  line-height: 140%;
  position: absolute;
  top: 14px;
  right: -40px;
  text-align: center;
  width: 92px;
}
.topGuide .guideBanner dl dd span {
  font-size: 54%;
  display: block;
  line-height: 130%;
}
.topGuide .titleStyle01 {
  text-align: center;
}
.topGuide .guidePictArea {
  display: flex;
  flex-flow: row-reverse;
  justify-content: space-between;
}
.topGuide .guidePictArea .pict {
  margin-right: 7%;
  width: 30.76%;
}
.topGuide .guidePictArea .detail {
  width: 53.84%;
}
.topGuide .guidePictArea .detail h3 {
  font-size: 128%;
  font-weight: 600;
  margin-bottom: 35px;
}
.topGuide .guidePictArea .detail p {
  margin-bottom: 55px;
}
.topGuide .guidePictArea .detail .tempBtn {
  margin: 0;
}

.topPlan {
  padding: 20px 0 100px;
}
.topPlan .titleStyle01 {
  text-align: center;
}
.topPlan .planWrap {
  margin-bottom: 30px;
  display: flex;
}
.topPlan .planWrap h3 {
  background-color: #00663A;
  color: #fff;
  font-size: 128%;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: 20%;
}
.topPlan .planWrap .planCont {
  background-color: #F7F7F7;
  border-radius: 0 5px 5px 0;
  box-sizing: border-box;
  padding: 30px 50px 30px 70px;
  width: 80%;
}
.topPlan .planWrap .planCont dl {
  display: flex;
  align-items: center;
}
.topPlan .planWrap .planCont dl dt {
  background-color: #fff;
  color: #00663A;
  margin-right: 70px;
  padding: 5px 0;
  text-align: center;
  width: 180px;
}
.topPlan .planWrap .planCont dl dd {
  font-size: 128%;
}
.topPlan .planWrap .planCont dl dd strong {
  font-size: 133%;
}
.topPlan .planWrap .planCont dl:last-of-type {
  margin-top: 25px;
}
.topPlan .planWrap .planCont dl:last-of-type dt {
  color: #AE933C;
}
.topPlan .planWrap:last-of-type h3 {
  background-color: #AE933C;
}
.topPlan p a {
  text-decoration: underline;
}
.topPlan p a:hover {
  text-decoration: none;
}

.topInfo {
  background-color: #F7F7F7;
  margin-bottom: 90px;
  padding: 20px 0 100px;
}
.topInfo .titleStyle01 {
  text-align: center;
}

.newsList li {
  border-bottom: 1px solid #DDDDDD;
  display: flex;
  padding: 25px 0;
}
.newsList li:last-child {
  border-bottom: none;
}
.newsList li span {
  width: 13%;
}
.newsList li span:after {
  content: "｜";
  margin-left: 20px;
}
.newsList li a {
  width: 87%;
}

.snsArea {
  max-width: 1040px;
  margin: 0 auto 100px;
  padding-left: 40px;
  padding-right: 40px;
}
.snsArea .snsCont {
  display: flex;
  justify-content: space-between;
  margin-bottom: 70px;
}
.snsArea .snsCont dl {
  width: 47%;
}
.snsArea .snsCont dl dt {
  color: #444;
  font-weight: 600;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.snsArea .snsCont dl dt:before {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 25px;
  width: 25px;
  background-image: url("../img/index/snsLogo01.png");
  margin-right: 10px;
}
.snsArea .snsCont dl:last-of-type dt:before {
  background-image: url("../img/index/snsLogo02.png");
}
.snsArea .snsCont dl dd img {
  max-width: 100%;
}
.snsArea .guideLink a {
  background-color: #D9E7DE;
  color: #00663A;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px 0;
  transition: opacity 0.6s;
  text-decoration: none;
}
.snsArea .guideLink a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .snsArea .guideLink a:hover {
    opacity: 1;
  }
}
.snsArea .guideLink a img {
  margin-right: 30px;
}

.topBannerArea {
  background-color: #F7F7F7;
  padding: 50px 0 25px;
}
.topBannerArea .bannerAreaCont {
  max-width: 1040px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}
.topBannerArea .bannerSlideArea {
  margin: 0 -17px 25px;
}
.topBannerArea .bannerSlideArea .bannerSlideCont {
  margin: 0 17px;
}
.topBannerArea .bannerSlideArea .bannerSlideCont img {
  max-width: 100%;
}
.topBannerArea .bannerSlideArea .slick-arrow {
  background-color: #fff;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: -25px;
  height: 50px;
  width: 50px;
  position: absolute;
  top: 50%;
  right: -20px;
  z-index: 20;
}
.topBannerArea .bannerSlideArea .slick-arrow:before {
  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: 23px;
  background-image: url("../img/common/icon02.png");
}
.topBannerArea .bannerSlideArea .slick-arrow.prev {
  right: auto;
  left: -20px;
}
.topBannerArea .bannerSlideArea .slick-arrow.prev:before {
  transform: scale(-1, 1);
}
.topBannerArea .topBanner {
  display: flex;
  flex-wrap: wrap;
}
.topBannerArea .topBanner li {
  margin: 0 3.27% 25px 0;
  width: 31.15%;
}
.topBannerArea .topBanner li:nth-child(3n) {
  margin-right: 0;
}
.topBannerArea .topBanner li img {
  max-width: 100%;
}
.topBannerArea .topBanner li a {
  transition: opacity 0.6s;
  text-decoration: none;
}
.topBannerArea .topBanner li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .topBannerArea .topBanner li a:hover {
    opacity: 1;
  }
}

.topEnjoy {
  background: url("../img/index/movieBg.png") no-repeat 50% 20px;
  background-size: cover;
  padding-bottom: 80px;
}
.topEnjoy .titleStyle01 {
  text-align: center;
}
.topEnjoy .movieArea {
  display: flex;
  justify-content: space-between;
}
.topEnjoy .movieArea .movieCont {
  width: 47.11%;
}
.topEnjoy .movieArea .movieCont .movie {
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.topEnjoy .movieArea .movieCont .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.topFacility {
  margin-bottom: 80px;
}
.topFacility .titleStyle01 {
  text-align: center;
}
.topFacility .facilityLink {
  display: flex;
  flex-wrap: wrap;
}
.topFacility .facilityLink li {
  width: 33.333%;
}
.topFacility .facilityLink li a {
  display: block;
  position: relative;
  transition: opacity 0.6s;
  text-decoration: none;
}
.topFacility .facilityLink li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .topFacility .facilityLink li a:hover {
    opacity: 1;
  }
}
.topFacility .facilityLink li a:before {
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
  height: 100%;
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
}
.topFacility .facilityLink li .pict img {
  width: 100%;
}
.topFacility .facilityLink li dl {
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 2;
}
.topFacility .facilityLink li dl dt {
  color: #fff;
  font-size: 142%;
  font-weight: 800;
  margin-bottom: 30px;
}
.topFacility .facilityLink li dl dd {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 107%;
  font-weight: 600;
  padding: 12px 0;
}

.topService .titleStyle01 {
  text-align: center;
}
.topService .lead {
  background: url("../img/index/leadBg.png") no-repeat 50% 0;
  font-weight: 500;
  line-height: 200%;
  padding: 30px 0 100px;
  text-align: center;
}
.topService .topServicePictArea {
  display: flex;
  align-items: center;
  flex-flow: row-reverse;
  max-width: 1400px;
  margin: 0 auto 80px;
}
.topService .topServicePictArea .pict {
  margin-left: 6%;
  width: 50%;
}
.topService .topServicePictArea .pict img {
  width: 100%;
}
.topService .topServicePictArea .detail {
  width: 31%;
}
.topService .topServicePictArea .detail h3 {
  border-top: 1px solid #CCCCCC;
  border-bottom: 1px solid #CCCCCC;
  font-weight: 600;
  font-size: 142%;
  margin-bottom: 35px;
  padding: 12px 0;
  text-align: center;
}
.topService .topServicePictArea .detail p {
  line-height: 230%;
}
.topService .topServicePictArea .detail .tempBtn {
  margin-top: 30px;
  width: 100%;
}
.topService .topServicePictArea:nth-of-type(2n) {
  flex-flow: row;
}
.topService .topServicePictArea:nth-of-type(2n) .pict {
  margin-left: 0;
  margin-right: 6%;
}
@media screen and (max-width: 1100px) {
  .topService .topServicePictArea .pict {
    width: 60%;
  }
}

.topAccess {
  background-color: #F7F7F7;
  padding: 20px 0 100px;
}
.topAccess .accessFlow {
  display: flex;
  margin-bottom: 80px;
  position: relative;
}
.topAccess .accessFlow:before {
  border-bottom: 1px solid #000;
  content: "";
  position: absolute;
  top: 50px;
  left: 0;
  width: 40%;
}
.topAccess .accessFlow:after {
  border-bottom: 1px dotted #000;
  content: "";
  position: absolute;
  top: 50px;
  right: 0;
  width: 60%;
}
.topAccess .accessFlow li {
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  text-align: center;
  position: relative;
  width: 20%;
  z-index: 2;
}
.topAccess .accessFlow li:nth-child(2) {
  margin-right: 2%;
  margin-left: 9%;
}
.topAccess .accessFlow li:nth-child(2):before {
  background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #000 50.5%) no-repeat top left/100% 50%, linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #000 50.5%) no-repeat bottom right/100% 50%;
  content: "";
  display: block;
  height: 14px;
  width: 14px;
  position: absolute;
  top: 43px;
  left: -14px;
}
.topAccess .accessFlow li:nth-child(3) {
  background-color: inherit;
  flex-flow: column;
  width: 23%;
}
.topAccess .accessFlow li:nth-child(3) span {
  display: block;
  margin-bottom: 25px;
}
.topAccess .accessFlow li:last-child {
  margin-left: auto;
  width: 23.55%;
}
.topAccess .accessFlow li:last-child:before {
  background: linear-gradient(to bottom left, rgba(255, 255, 255, 0) 50%, #000 50.5%) no-repeat top left/100% 50%, linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #000 50.5%) no-repeat bottom right/100% 50%;
  content: "";
  display: block;
  height: 14px;
  width: 14px;
  position: absolute;
  top: 43px;
  left: -14px;
}
.topAccess .mapArea {
  display: flex;
  justify-content: space-between;
  flex-flow: row-reverse;
}
.topAccess .mapArea .map {
  width: 60%;
  position: relative;
  padding-top: 350px;
  height: 0;
  overflow: hidden;
}
.topAccess .mapArea .map iframe,
.topAccess .mapArea .map object,
.topAccess .mapArea .map embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 960px) {
  .topAccess .mapArea .map {
    padding-top: 75%;
  }
}
.topAccess .mapArea .detail {
  width: 30%;
}
.topAccess .mapArea .detail .mapInfo {
  display: flex;
  margin-bottom: 30px;
}
.topAccess .mapArea .detail .mapInfo dt {
  margin-right: 30px;
}
.topAccess .mapArea .detail .mapLink {
  max-width: 245px;
}
.topAccess .mapArea .detail .mapLink li a {
  border: 1px solid #0A7545;
  background-color: #0A7545;
  color: #fff;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  transition: opacity 0.6s;
  text-decoration: none;
}
.topAccess .mapArea .detail .mapLink li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .topAccess .mapArea .detail .mapLink li a:hover {
    opacity: 1;
  }
}
.topAccess .mapArea .detail .mapLink li:last-child {
  margin-top: 15px;
}
.topAccess .mapArea .detail .mapLink li:last-child a {
  background-color: inherit;
  color: #0A7545;
}

/******** temp ********/
.secCont {
  max-width: 1040px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}

.mainTitle {
  background: url("../img/common/mainBg.png") no-repeat 50% 0;
  background-size: cover;
  height: 200px;
  margin-bottom: 100px;
  position: relative;
}
.mainTitle:before {
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
}
.mainTitle .mainTitleCont {
  height: 100%;
  display: flex;
  align-items: center;
  margin: 0 auto;
  max-width: 1040px;
  padding-left: 40px;
  padding-right: 40px;
  position: relative;
  z-index: 2;
}
.mainTitle .mainTitleCont h1 {
  color: #fff;
  font-size: 200%;
  font-weight: 600;
  position: relative;
  line-height: 140%;
}

.breadcrumb {
  border-top: 1px solid #F0F0F0;
  margin-top: 120px;
  padding: 20px;
  position: relative;
}
.breadcrumb ol {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.breadcrumb ol li {
  color: #00663A;
  line-height: 120%;
}
.breadcrumb ol li:before {
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 80%;
  display: inline-block;
  margin: 0 15px;
  vertical-align: 0.2em;
}
.breadcrumb ol li:first-child:before {
  display: none;
}
.breadcrumb ol li a {
  color: #000;
}
.breadcrumb ol li a:hover {
  text-decoration: underline;
}

.titleStyle01 {
  color: #0A7545;
  font-size: 170%;
  margin: 80px 0 40px;
  font-weight: 600;
  line-height: 150%;
}
.titleStyle01 span {
  display: block;
  font-size: 50%;
  font-weight: 500;
}

.titleStyle02 {
  font-size: 128%;
  font-weight: 600;
  margin-top: 50px;
  margin-bottom: 25px;
  padding-left: 25px;
  position: relative;
}
.titleStyle02:before {
  background: #0A7545;
  content: "";
  height: 30px;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 3px;
}

.titleStyle02-b {
  border-bottom: 1px solid #CCCCCC;
  color: #454545;
  font-size: 157%;
  font-weight: 600;
  margin-top: 60px;
  margin-bottom: 30px;
  padding-bottom: 12px;
  position: relative;
}
.titleStyle02-b:after {
  background-color: #00663A;
  content: "";
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0px;
  width: 250px;
}

.titleStyle03 {
  border-top: 1px solid #CCCCCC;
  border-bottom: 1px solid #CCCCCC;
  font-weight: 600;
  font-size: 142%;
  margin-top: 90px;
  margin-bottom: 30px;
  padding: 12px 0;
  text-align: center;
}

.pict img,
.fig img {
  max-width: 100%;
}
.pict span,
.fig span {
  color: #6A6A6A;
  font-size: 85%;
  display: block;
  margin-top: 10px;
}

.fig {
  text-align: center;
}

.pictRowArea {
  display: flex;
  justify-content: space-between;
  margin-bottom: 60px;
}
.pictRowArea .detail {
  width: 41.35%;
}
.pictRowArea .detail .titleStyle03 {
  margin-top: 20px;
}
.pictRowArea .pict {
  width: 50%;
}
.pictRowArea .pict img {
  width: 100%;
}
.pictRowArea.rowReverse {
  flex-flow: row-reverse;
}
.pictRowArea.type2 .detail {
  width: 64%;
}
.pictRowArea.type2 .pict {
  width: 32%;
}

.rowArea {
  display: flex;
  flex-wrap: wrap;
}
.rowArea.type2 .rowCont {
  margin-top: 40px;
  margin-right: 3.846%;
  width: 48.077%;
}
.rowArea.type2 .rowCont:nth-of-type(-n+2) {
  margin-top: 0;
}
.rowArea.type2 .rowCont:nth-of-type(2n) {
  margin-right: 0;
}
.rowArea.type3 .rowCont {
  margin-top: 40px;
  margin-right: 1.9715%;
  width: 32.019%;
}
.rowArea.type3 .rowCont:nth-of-type(-n+3) {
  margin-top: 0;
}
.rowArea.type3 .rowCont:nth-of-type(3n) {
  margin-right: 0;
}
.rowArea.type4 .rowCont {
  margin-top: 40px;
  margin-right: 2.7%;
  width: 31.53%;
}
.rowArea.type4 .rowCont:nth-of-type(-n+3) {
  margin-top: 0;
}
.rowArea.type4 .rowCont:nth-of-type(3n) {
  margin-right: 0;
}
.rowArea .rowCont .pict {
  margin-bottom: 10px;
}
.rowArea .rowCont .pict img {
  width: 100%;
}
.rowArea .rowCont .pict a {
  transition: opacity 0.6s;
  text-decoration: none;
}
.rowArea .rowCont .pict a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .rowArea .rowCont .pict a:hover {
    opacity: 1;
  }
}
.rowArea .rowCont dl dt {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  margin-bottom: 25px;
}
.rowArea .rowCont dl dt span {
  border: 1px solid #AE933C;
  background-color: #fff;
  color: #AE933C;
  font-size: 92%;
  display: block;
  margin-bottom: 15px;
  padding: 2px 8px;
}
.rowArea .rowCont dl dt span.cate02 {
  border-color: #00663A;
  color: #00663A;
}
.rowArea .rowCont dl dt strong {
  font-size: 114%;
  font-weight: 600;
}
.rowArea .rowCont dl dd.tempBtn {
  width: 100%;
}
.rowArea .rowCont .titleStyle03 {
  margin-top: 0;
}

.pictRowList {
  display: flex;
  flex-wrap: wrap;
}
.pictRowList li {
  margin: 0 1.28% 40px 0;
  width: 24.04%;
}
.pictRowList li:nth-child(4n) {
  margin-right: 0;
}
.pictRowList li img {
  width: 100%;
}
.pictRowList li span {
  display: block;
  font-size: 107%;
  font-weight: 600;
  margin-top: 20px;
}

.rowLink {
  display: flex;
  flex-wrap: wrap;
}
.rowLink li {
  position: relative;
}
.rowLink li .pict img {
  width: 100%;
}
.rowLink li p {
  background-color: #0A7545;
  box-sizing: border-box;
  color: #fff;
  font-weight: 700;
  height: 48px;
  display: flex;
  align-items: center;
  line-height: 130%;
  padding: 0 40px 0 20px;
  max-width: 250px;
  width: 85%;
  position: absolute;
  bottom: -20px;
  left: -10px;
  transition: all 0.3s;
}
.rowLink li p:before {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 8px;
  width: 8px;
  background-image: url("../img/common/icon01.png");
  margin-right: 10px;
}
.rowLink li p:after {
  background: linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #0A7545 50.5%) no-repeat top left/100% 100%;
  content: "";
  display: block;
  height: 48px;
  width: 10px;
  position: absolute;
  top: 0px;
  right: -10px;
}
.rowLink li a {
  text-decoration: none;
  transition: opacity 0.6s;
  text-decoration: none;
}
.rowLink li a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 960px) {
  .rowLink li a:hover {
    opacity: 1;
  }
}
.rowLink.div2 li {
  margin: 0 3.846% 40px 0;
  width: 48.077%;
}
.rowLink.div2 li:nth-child(2n) {
  margin-right: 0;
}
.rowLink.div3 li {
  margin: 0 3.86% 40px 0;
  width: 30.76%;
}
.rowLink.div3 li:nth-child(3n) {
  margin-right: 0;
}
.rowLink.div4 li {
  margin: 0 3.85% 40px 0;
  width: 22.11%;
}
.rowLink.div4 li:nth-child(4n) {
  margin-right: 0;
}
.rowLink.div4 li p {
  font-size: 81.25%;
  max-width: 200px;
}

.noticeArea {
  background-color: #F8FBFD;
  border-radius: 10px;
  box-sizing: border-box;
  margin-bottom: 40px;
  padding: 30px;
  position: relative;
}
.noticeArea:before {
  background: transparent linear-gradient(270deg, #95CFEF 0%, #2852A3 100%) 0% 0% no-repeat padding-box;
  content: "";
  height: 5px;
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
}
.noticeArea.noBorder:before {
  display: none;
}

.anchorLink {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
.anchorLink li {
  margin: 0 10px;
  width: 170px;
}
.anchorLink li a {
  border: 1px solid #0A7545;
  border-radius: 20px;
  background-color: #fff;
  color: #0A7545;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 93%;
  font-weight: 700;
  height: 38px;
  transition: all 0.4s;
}
.anchorLink li a:hover {
  background-color: #0A7545;
  color: #fff;
}

.tabNav {
  display: flex;
  justify-content: center;
}
.tabNav li {
  border: 1px solid #0A7545;
  box-sizing: border-box;
  width: 50%;
}
.tabNav li a {
  color: #0A7545;
  font-size: 107%;
  font-weight: 600;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 42px;
  overflow: hidden;
  position: relative;
  transition: all 0.4s;
}
.tabNav li a.c, .tabNav li a:hover {
  background-color: #0A7545;
  color: #fff;
}

.tabCont {
  display: none;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  padding: 0;
}
.tabCont.c {
  display: block;
  visibility: visible;
  height: auto;
  overflow: visible;
}

.btnFlex {
  display: flex;
  justify-content: center;
}
.btnFlex li {
  margin-left: 20px;
  margin-right: 20px;
}

.tempBtn {
  margin: 0 auto;
  text-align: center;
  width: 320px;
}
.tempBtn a,
.tempBtn button {
  background: #00663A;
  border: 1px solid #00663A;
  box-sizing: border-box;
  cursor: pointer;
  color: #fff;
  font-size: 100%;
  font-weight: 700;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 50px;
  text-align: center;
  position: relative;
  transition: opacity 0.6s;
  text-decoration: none;
  width: 100%;
}
.tempBtn a:hover,
.tempBtn button:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .tempBtn a:hover,
  .tempBtn button:hover {
    opacity: 1;
  }
}
.tempBtn a:after,
.tempBtn button: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");
  position: absolute;
  top: 26px;
  right: 20px;
}
.tempBtn a.pdfLink:after,
.tempBtn button.pdfLink:after {
  position: relative;
  top: auto;
  right: auto;
}
.tempBtn a.backBtn,
.tempBtn button.backBtn {
  background-color: #fff;
  color: #00663A;
}
.tempBtn a.backBtn:after,
.tempBtn button.backBtn:after {
  background-image: url("../img/common/icon02.png");
  right: auto;
  left: 20px;
  transform: scale(-1, 1);
}
.tempBtn a[target="_blank"]:after {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 10px;
  width: 10px;
  background-image: url("../img/common/icon_blank.png");
  top: 23px;
}
.tempBtn a[target="_blank"]:hover:after {
  background-image: url("../img/common/icon_blank2.png");
}
.tempBtn.alLeft {
  margin: 0;
  text-align: left;
}

.tempBtn2 {
  margin: 0 auto;
  text-align: center;
  width: 320px;
}
.tempBtn2 a,
.tempBtn2 button {
  border: 1px solid #00663A;
  box-sizing: border-box;
  cursor: pointer;
  color: #00663A;
  font-weight: 700;
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 50px;
  text-align: center;
  position: relative;
  transition: opacity 0.6s;
  text-decoration: none;
}
.tempBtn2 a:hover,
.tempBtn2 button:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .tempBtn2 a:hover,
  .tempBtn2 button:hover {
    opacity: 1;
  }
}
.tempBtn2 a:after,
.tempBtn2 button: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");
  position: absolute;
  top: 26px;
  right: 20px;
}
.tempBtn2.alLeft {
  margin: 0;
  text-align: left;
}

.moreBtn {
  margin: 0 auto;
  text-align: center;
  width: 150px;
}
.moreBtn a {
  border: 1px solid #0A7545;
  color: #0A7545;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  position: relative;
  transition: opacity 0.6s;
  text-decoration: none;
}
.moreBtn a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .moreBtn a:hover {
    opacity: 1;
  }
}
.moreBtn 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: 6px;
  width: 26px;
  background-image: url("../img/common/icon06.png");
  margin-top: -1px;
}

a.linkStyle01 {
  color: #00663A;
  transition: color 0.4s;
}
a.linkStyle01:before {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 9px;
  width: 6px;
  background-image: url("../img/common/icon01.png");
  display: inline-block;
  margin-right: 10px;
  vertical-align: 0.1em;
}
a.linkStyle01:hover {
  color: #0A7545;
}
a.pdfLink:before {
  display: none;
}
a.pdfLink:after {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 20px;
  width: 20px;
  background-image: url("../img/common/pdf.png");
  display: inline-block;
  margin-left: 10px;
  vertical-align: -0.1em;
}
a.excelLink:before {
  display: none;
}
a.excelLink:after {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 14px;
  width: 12px;
  background-image: url("../img/common/excel.svg");
  display: inline-block;
  margin-left: 10px;
  vertical-align: -0.1em;
}

a[target="_blank"].blank {
  color: #00663A;
  transition: color 0.4s;
}
a[target="_blank"].blank:hover {
  color: #0A7545;
}
a[target="_blank"].blank:after {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 7px;
  width: 10px;
  background-image: url("../img/common/icon02.png");
  display: inline-block;
  margin-left: 10px;
  vertical-align: 0.2em;
}

.tagStyle01 {
  border: 1px solid #0A7545;
  font-size: 81.25%;
  margin: 0 10px 10px 0;
  padding: 2px 20px;
}

.tagStyle02 {
  background-color: #0A7545;
  color: #fff;
  font-size: 81.25%;
  margin: 0 10px 10px 0;
  padding: 2px 10px;
}

table.tableStyle01 th {
  background-color: #F5F5F5;
  box-sizing: border-box;
  border: 1px solid #e6e6e6;
  font-size: 107%;
  font-weight: 600;
  padding: 25px;
  width: 250px;
}
table.tableStyle01 td {
  border: 1px solid #e6e6e6;
  box-sizing: border-box;
  font-size: 107%;
  padding: 25px;
  vertical-align: middle;
}
table.formTable {
  max-width: 800px;
  margin: 0 auto 50px;
}
table.formTable th {
  border-top: 1px solid #F2F5F7;
  box-sizing: border-box;
  color: #00663A;
  font-weight: 700;
  padding: 35px 20px;
  width: 220px;
}
table.formTable th.req {
  background-clip: padding-box;
  position: relative;
}
table.formTable th.req:after {
  border: 1px solid #E61F37;
  color: #E61F37;
  content: "必須";
  font-size: 81.25%;
  font-weight: 500;
  line-height: 150%;
  margin-left: 10px;
  padding: 2px 8px 1px;
}
table.formTable td {
  border-top: 1px solid #F2F5F7;
  padding: 25px 20px;
  vertical-align: middle;
}
table.formTable td .contactNotice {
  color: #E61F37;
  font-size: 85%;
  margin-top: 10px;
}
table.formTable td input[type="text"],
table.formTable td input[type="email"] {
  border: 1px solid #E9F2EE;
  box-sizing: border-box;
  border-radius: 4px;
  height: 48px;
  padding: 0 12px;
  max-width: 340px;
  width: 100%;
}
table.formTable td input[type="text"]:placeholder-shown,
table.formTable td input[type="email"]:placeholder-shown {
  color: #9F9F9F;
}
table.formTable td input[type="text"]::-webkit-input-placeholder,
table.formTable td input[type="email"]::-webkit-input-placeholder {
  color: #9F9F9F;
}
table.formTable td input[type="text"]:-moz-placeholder,
table.formTable td input[type="email"]:-moz-placeholder {
  color: #9F9F9F;
  opacity: 1;
}
table.formTable td input[type="text"]::-moz-placeholder,
table.formTable td input[type="email"]::-moz-placeholder {
  color: #9F9F9F;
  opacity: 1;
}
table.formTable td input[type="text"]:-ms-input-placeholder,
table.formTable td input[type="email"]:-ms-input-placeholder {
  color: #9F9F9F;
}
table.formTable td input[type="text"].size01,
table.formTable td input[type="email"].size01 {
  margin-right: 10px;
  width: 100px;
}
table.formTable td textarea {
  border: 1px solid #E9F2EE;
  box-sizing: border-box;
  height: 200px;
  padding: 10px;
  width: 100%;
}
table.formTable td textarea:placeholder-shown {
  color: #9F9F9F;
}
table.formTable td textarea::-webkit-input-placeholder {
  color: #9F9F9F;
}
table.formTable td textarea:-moz-placeholder {
  color: #9F9F9F;
  opacity: 1;
}
table.formTable td textarea::-moz-placeholder {
  color: #9F9F9F;
  opacity: 1;
}
table.formTable td textarea:-ms-input-placeholder {
  color: #9F9F9F;
}
table.formTable td .formZip {
  display: flex;
}
table.formTable td .formZip dt {
  margin-right: 15px;
  width: 100px;
}
table.formTable td .formZip dt input {
  width: 100%;
}
table.formTable td .formZip dd a {
  background-color: #D9E7DE;
  border-radius: 3px;
  color: #00663A;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  padding: 0 20px;
  transition: opacity 0.6s;
  text-decoration: none;
}
table.formTable td .formZip dd a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  table.formTable td .formZip dd a:hover {
    opacity: 1;
  }
}
table.formTable tr:last-of-type th,
table.formTable tr:last-of-type td {
  border-bottom: 1px solid #F2F5F7;
}
table.formTable tr.inputAddressArea > td {
  padding-bottom: 10px;
}
table.formTable tr.inputAddressArea table th {
  border-top: none;
  border-bottom: none;
  padding: 15px 0 35px;
}
table.formTable tr.inputAddressArea table td {
  border-top: none;
  border-bottom: none;
  padding: 0 0 20px;
}
table.formTable tr.inputAddressArea.confirm table th,
table.formTable tr.inputAddressArea.confirm table td {
  padding: 0 0 20px;
}
table.formTable + .btnFlex {
  margin-top: 60px;
}
table.tableStyle02 {
  table-layout: fixed;
}
table.tableStyle02 th {
  background-color: #F5F5F5;
  box-sizing: border-box;
  border: 1px solid #ccc;
  font-size: 107%;
  font-weight: 600;
  padding: 15px 20px;
  vertical-align: middle;
}
table.tableStyle02 td {
  border: 1px solid #ccc;
  box-sizing: border-box;
  font-size: 107%;
  font-weight: 600;
  padding: 15px 20px;
  vertical-align: middle;
}

.pageNav {
  display: flex;
  justify-content: center;
  margin: 60px auto 110px;
}
.pageNav a {
  border: 1px solid #D1D1D1;
  box-sizing: border-box;
  color: #999;
  height: 30px;
  font-size: 107%;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 2px;
  padding-top: 1px;
  text-align: center;
  text-decoration: none;
  width: 30px;
}
.pageNav a:hover {
  background-color: #F7F7F7;
  color: #000;
}
.pageNav a.next {
  background-color: #00663A;
  border-color: #00663A;
  margin: 0 0 0 10px;
  padding: 0;
  transition: opacity 0.6s;
  text-decoration: none;
}
.pageNav a.next:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .pageNav a.next:hover {
    opacity: 1;
  }
}
.pageNav a.next:before {
  color: #fff;
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.pageNav a.prev {
  background-color: #00663A;
  border-color: #00663A;
  margin: 0 10px 0 0;
  padding: 0;
  transition: opacity 0.6s;
  text-decoration: none;
}
.pageNav a.prev:hover {
  opacity: 0.7;
}
@media screen and (max-width: 960px) {
  .pageNav a.prev:hover {
    opacity: 1;
  }
}
.pageNav a.prev:before {
  color: #fff;
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
.pageNav span {
  border: 1px solid #fff;
  box-sizing: border-box;
  color: #999;
  height: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  text-align: center;
  text-decoration: none;
  width: 30px;
}
.pageNav span.current {
  background-color: #F7F7F7;
  border: 1px solid #D1D1D1;
  color: #000;
  font-size: 107%;
  font-weight: 700;
  margin: 0 4px;
  padding-top: 1px;
}

p.lead {
  font-size: 106%;
  font-weight: 700;
}
p.centerLead {
  font-size: 120%;
  font-weight: 700;
  margin: 40px auto 0;
  text-align: center;
}
p.centerLead + .titleStyle01 {
  margin-top: 80px;
}
p.leftLead {
  font-size: 107%;
  font-weight: 700;
}
p.indentTxt {
  padding-left: 1.15em;
  text-indent: -1.15em;
}
p.small {
  color: #666;
  font-size: 85%;
}
p.big {
  font-size: 106%;
  font-weight: 700;
}

span.innerIndent {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}

.fColorRed {
  color: #ff0000;
}

ul.indentList li {
  padding-left: 1em;
  text-indent: -1em;
}
ul.numList li {
  padding-left: 1em;
  text-indent: -1em;
}
ul.rowList {
  display: flex;
  flex-wrap: wrap;
}
ul.rowList li {
  box-sizing: border-box;
  width: 35%;
}
ul.circleList li {
  padding-left: 15px;
  position: relative;
}
ul.circleList li:before {
  background-color: #2852A3;
  border-radius: 10px;
  content: "";
  height: 7px;
  display: block;
  position: absolute;
  top: 10px;
  left: 0px;
  width: 7px;
}

.accordionArea dl dt {
  background: #F8FBFD;
  border-bottom: 1px solid #D8D8D8;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  font-weight: 700;
  height: 60px;
  align-items: center;
  padding: 20px 70px 20px 20px;
  position: relative;
  transition: all 0.6s;
}
.accordionArea dl dt:after {
  color: #2852A3;
  content: "\f078";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 94%;
  position: absolute;
  top: 15px;
  right: 30px;
  transition: all 0.6s;
}
.accordionArea dl dd {
  box-sizing: border-box;
  visibility: hidden;
  height: 0;
  overflow: hidden;
  padding: 0 0 0 40px;
  position: relative;
  transition: all 0.6s;
}
.accordionArea dl.show dt {
  background: #2852A3;
  color: #fff;
}
.accordionArea dl.show dt:after {
  color: #fff;
  transform: rotate(-180deg);
}
.accordionArea dl.show dd {
  visibility: visible;
  height: auto;
  padding-top: 25px;
  padding-bottom: 25px;
}
.accordionArea dl.show dd:before {
  top: 23px;
}
.accordionArea.nonFaq dl dt {
  font-size: 120%;
  padding-left: 30px;
}
.accordionArea.nonFaq dl dt:before {
  display: none;
}
.accordionArea.nonFaq dl dd {
  padding-left: 0;
}
.accordionArea.nonFaq dl dd:before {
  display: none;
}

.select-area {
  border: 1px solid #E9F2EE;
  position: relative;
  width: 340px;
}
.select-area:after {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 12px;
  width: 7px;
  background-image: url("../img/common/icon03.png");
  position: absolute;
  top: 20px;
  right: 20px;
  transform: rotate(90deg);
}
.select-area select {
  box-sizing: border-box;
  width: 100%;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  font-size: 100%;
  height: 50px;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  padding: 4px 36px 4px 10px;
  position: relative;
  z-index: 2;
}
.select-area select::-ms-expand {
  display: none;
}

input[type="checkbox"] {
  display: none;
}
input[type="checkbox"] + label {
  cursor: pointer;
  display: inline-block;
  padding-left: 40px;
  position: relative;
}
input[type="checkbox"] + label:before {
  background: url("../img/common/check.png") no-repeat 0 0;
  background-size: 100%;
  content: "";
  height: 30px;
  width: 30px;
  display: block;
  position: absolute;
  top: -2px;
  left: 0px;
}
input[type="checkbox"]:checked + label:before {
  background-position: 0 100%;
}

input[type="radio"] {
  display: none;
}
input[type="radio"] + label {
  cursor: pointer;
  display: inline-block;
  padding-left: 40px;
  position: relative;
}
input[type="radio"] + label:before {
  background: url(../img/common/radio.png) no-repeat 0 0;
  background-size: 100%;
  content: "";
  display: block;
  height: 30px;
  width: 30px;
  position: absolute;
  top: -2px;
  left: 0px;
}
input[type="radio"]:checked + label:before {
  background-position: 0 100%;
}

/************** restaurant ***************/
.restaurantTitle {
  background-image: url("../img/restaurant/mainBg.png");
}

.restaurantMainPictArea {
  display: flex;
  justify-content: flex-end;
  margin-top: 170px;
  position: relative;
}
.restaurantMainPictArea .pict {
  position: absolute;
  top: -70px;
  left: -80px;
  width: 56.5%;
}
.restaurantMainPictArea .detail {
  background-color: #F7F7F7;
  box-sizing: border-box;
  min-height: 400px;
  margin: 0 -70px 0 0;
  padding: 60px 70px 65px 360px;
  width: 85%;
}
.restaurantMainPictArea .detail h2 {
  font-size: 128%;
  font-weight: 600;
  margin-bottom: 10px;
}
.restaurantMainPictArea .detail h2 span {
  display: block;
  font-size: 222%;
  font-weight: 700;
  line-height: 160%;
}
.restaurantMainPictArea .detail p {
  line-height: 200%;
  margin-bottom: 45px;
}
.restaurantMainPictArea .detail .tempBtn {
  width: 100%;
}
@media screen and (max-width: 1180px) {
  .restaurantMainPictArea .detail {
    margin-right: -40px;
    padding-left: 30vw;
    padding-right: 40px;
  }
}

.restaurantRecommendArea {
  background-color: #F7F7F7;
  padding: 35px 40px 60px;
}
.restaurantRecommendArea h3 {
  background: url("../img/restaurant/menuIcon.png") no-repeat 0 0;
  font-size: 128%;
  font-weight: 600;
  margin-bottom: 25px;
  padding: 0 0 0 40px;
}
.restaurantRecommendArea .restaurantMovieArea {
  display: flex;
  justify-content: space-between;
}
.restaurantRecommendArea .restaurantMovieArea dl {
  width: 46%;
}
.restaurantRecommendArea .restaurantMovieArea dl dt {
  font-size: 114%;
  font-weight: 600;
}
.restaurantRecommendArea .restaurantMovieArea dl dd {
  margin-top: 20px;
}
.restaurantRecommendArea .restaurantMovieArea .movie {
  position: relative;
  padding-bottom: 28.2%;
  height: 0;
  overflow: hidden;
  width: 50%;
}
.restaurantRecommendArea .restaurantMovieArea .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.menuList {
  display: flex;
  flex-wrap: wrap;
}
.menuList li {
  margin: 0 1.3% 40px 0;
  width: 24%;
}
.menuList li:nth-child(4n) {
  margin-right: 0;
}
.menuList li img {
  width: 100%;
}
.menuList li span {
  display: block;
  font-size: 107%;
  font-weight: 600;
  margin-top: 15px;
}

.restaurantHours {
  border: 1px solid #00663A;
  max-width: 790px;
  margin: 0 auto;
  text-align: center;
}
.restaurantHours dt {
  background-color: #00663A;
  color: #fff;
  font-size: 107%;
  font-weight: 600;
  padding: 12px 0;
}
.restaurantHours dd {
  color: #333;
  font-size: 107%;
  font-weight: 600;
  padding: 20px 0;
}
.restaurantHours dd span {
  margin-left: 30px;
}

/************** topics ***************/
.topicsTitle {
  background-image: url("../img/topics/topics_main.jpg");
}

@keyframes flash {
  0% {
    background: #fff;
    opacity: 0.4;
  }
  100% {
    opacity: 1;
  }
}
.topicsLink {
  background-color: #f7f7f7;
  margin-bottom: 40px;
}
.topicsLink a {
  display: flex;
}
.topicsLink a:hover .pict img {
  animation: flash 1s ease-out;
}
.topicsLink .pict {
  overflow: hidden;
  width: 30.769%;
}
.topicsLink .pict img {
  width: 100%;
}
.topicsLink .detail {
  box-sizing: border-box;
  padding: 25px 30px 70px;
  position: relative;
  width: 69.23%;
}
.topicsLink .detail dl dt {
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  margin-bottom: 25px;
}
.topicsLink .detail dl dt span {
  border: 1px solid #AE933C;
  background-color: #fff;
  color: #AE933C;
  font-size: 92%;
  display: block;
  margin-bottom: 15px;
  padding: 2px 8px;
}
.topicsLink .detail dl dt span.cate02 {
  border-color: #00663A;
  color: #00663A;
}
.topicsLink .detail dl dt strong {
  font-size: 114%;
  font-weight: 600;
}
.topicsLink .detail dl dd {
  font-size: 92%;
}
.topicsLink .detail .moreTxt {
  color: #00663A;
  font-size: 107%;
  text-align: right;
  position: absolute;
  bottom: 30px;
  right: 30px;
}
.topicsLink .detail .moreTxt: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: 23px;
  background-image: url("../img/common/icon02.png");
  display: inline-block;
  margin-left: 15px;
  vertical-align: 0.2em;
}

.topicsDetailTitle {
  font-size: 171%;
  font-weight: 600;
  margin-bottom: 10px;
}

.topicsDate {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 40px;
}
.topicsDate dt {
  border: 1px solid #AE933C;
  background-color: #fff;
  color: #AE933C;
  font-size: 92%;
  margin-right: 10px;
  padding: 2px 8px;
}
.topicsDate dt.cate02 {
  border-color: #00663A;
  color: #00663A;
}
.topicsDate dd {
  font-size: 92%;
}

/************** compe ***************/
.compeTitle {
  background-image: url("../img/compe/compe_main.jpg");
}

/************** course ***************/
.courseTitle {
  background-image: url("../img/course/mainBg.png");
}

.courseInfo {
  background-color: #F7F7F7;
  margin-top: -100px;
  padding: 20px 0 100px;
}
.courseInfo .courseInfoCont {
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  padding: 60px;
}
.courseInfo .courseInfoCont dl {
  margin-right: 4.34%;
  text-align: center;
  width: 30.44%;
}
.courseInfo .courseInfoCont dl dt {
  background-color: #00663A;
  color: #fff;
  font-size: 114%;
  font-weight: 600;
  margin-bottom: 10px;
  padding: 10px 0;
}
.courseInfo .courseInfoCont dl dd {
  font-size: 285%;
  font-weight: 700;
  line-height: 70px;
}
.courseInfo .courseInfoCont dl dd span {
  font-size: 60%;
}
.courseInfo .courseInfoCont dl dd.jp {
  font-size: 142%;
  font-weight: 600;
}
.courseInfo .courseInfoCont dl:nth-of-type(1) {
  margin-bottom: 30px;
  width: 47.83%;
}
.courseInfo .courseInfoCont dl:nth-of-type(2) {
  margin-right: 0;
  margin-bottom: 30px;
  width: 47.83%;
}
.courseInfo .courseInfoCont dl:nth-of-type(2) dt {
  background-color: #004566;
}
.courseInfo .courseInfoCont dl:nth-of-type(3) dt {
  background-color: #666400;
}
.courseInfo .courseInfoCont dl:nth-of-type(4) dt {
  background-color: #006666;
}
.courseInfo .courseInfoCont dl:nth-of-type(5) {
  margin-right: 0;
}
.courseInfo .courseInfoCont dl:nth-of-type(5) dt {
  background-color: #380066;
}

.courseMapArea {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.courseMapArea .courseMap {
  margin-top: 110px;
  position: relative;
  width: 47.11%;
}
.courseMapArea .courseMap:after {
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #AE933C;
  font-size: 180%;
  position: absolute;
  bottom: 0px;
  right: 0px;
}
.courseMapArea .courseMap img {
  max-width: 100%;
}
.courseMapArea .detail {
  width: 47.11%;
}
.courseMapArea .detail .coursePict {
  display: flex;
  flex-wrap: wrap;
}
.courseMapArea .detail .coursePict li {
  margin: 0 4.08% 20px 0;
  position: relative;
  width: 30.61%;
}
.courseMapArea .detail .coursePict li:nth-child(3n) {
  margin-right: 0;
}
.courseMapArea .detail .coursePict li:before {
  background-color: rgba(0, 0, 0, 0.3);
  content: "";
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  z-index: 2;
}
.courseMapArea .detail .coursePict li img {
  width: 100%;
}
.courseMapArea .detail .coursePict li span {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: 285%;
  font-weight: 800;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 3;
}

.courseList {
  display: flex;
  flex-wrap: wrap;
}
.courseList li {
  margin: 60px 3.86% 0 0;
  width: 30.76%;
}
.courseList li:nth-child(3n) {
  margin-right: 0;
}
.courseList li dl {
  position: relative;
}
.courseList li dl dt {
  background-color: #AE933C;
  box-sizing: border-box;
  color: #fff;
  font-size: 128%;
  font-weight: 600;
  height: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 120%;
  padding-top: 3px;
  width: 35px;
}
.courseList li dl dd.courseMap {
  margin-bottom: 35px;
  position: relative;
  text-align: center;
}
.courseList li dl dd.courseMap:after {
  content: "";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  color: #AE933C;
  font-size: 180%;
  position: absolute;
  bottom: 0px;
  right: 0px;
}
.courseList li dl dd.courseMap img {
  max-width: 100%;
}

.coursePdfList {
  display: flex;
  justify-content: center;
  margin: 100px auto;
}
.coursePdfList li.tempBtn {
  width: 400px;
}

/************** member ***************/
.memberTitle {
  background-image: url("../img/member/members_main.jpg");
}

/************ contact *******************/
.contactTitle {
  background-image: url("../img/contact/mainBg.png");
}

.contactTelArea {
  background-color: #F7F7F7;
  margin-top: -100px;
  padding: 20px 0 100px;
}
.contactTelArea .telNum {
  text-align: center;
}
.contactTelArea .telNum dt {
  margin-bottom: 10px;
}
.contactTelArea .telNum dt a {
  color: #00663A;
  font-size: 257%;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  pointer-events: none;
}
.contactTelArea .telNum dt a:before {
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100%;
  overflow: hidden;
  text-indent: 180%;
  white-space: nowrap;
  content: "";
  display: block;
  height: 32px;
  width: 32px;
  background-image: url("../img/contact/telIcon.png");
  margin-right: 5px;
}

.formFlow {
  display: flex;
  justify-content: space-between;
  max-width: 520px;
  margin: 100px auto 90px;
  width: 60%;
  position: relative;
}
.formFlow:before {
  background-color: #E9F2EE;
  content: "";
  height: 1px;
  position: absolute;
  top: 25px;
  right: 0px;
  width: 100%;
}
.formFlow li {
  position: relative;
  text-align: center;
}
.formFlow li:before {
  background-color: #fff;
  content: "";
  height: 48px;
  position: absolute;
  top: 0;
  left: -15px;
  width: 80px;
}
.formFlow li span.num {
  box-sizing: border-box;
  border: 1px solid #E9F2EE;
  border-radius: 50%;
  box-sizing: border-box;
  color: #00663A;
  font-size: 142%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  margin: 0 auto 6px;
  padding-top: 2px;
  position: relative;
  width: 48px;
}
.formFlow li span.txt {
  color: #00663A;
  font-weight: 700;
  margin: 0 -60px;
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
}
.formFlow li.c span.num {
  background-color: #00663A;
  border-color: #00663A;
  color: #fff;
}

.contactCheck {
  margin: 0 auto 80px;
  text-align: center;
}

.contactPrivacyArea {
  border: 1px solid #E9F2EE;
  box-sizing: border-box;
  height: 275px;
  max-width: 800px;
  margin: 0 auto 40px;
  padding: 25px;
  overflow-y: scroll;
}

.snsCont iframe{
  max-width: 100%;
}