@charset "UTF-8";
/*=====================================================
  share
=====================================================*/
* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

html {
  font-size: 18px;
}

body {
  width: 100%;
  font-family: Arial,"Noto Sans JP",meiryo,'メイリオ','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
  font-size: 1rem;
  font-feature-settings: "palt";
  letter-spacing: 0.1rem;
  color: #333;
  text-align: left;
  background-color: #fff;
  position: relative;
  padding-top: 80px;
}

@media print, screen and (min-width: 1024px) {
  body {
    padding-top: 0;
  }
}

a:link {
  color: #0c7ae1;
}

a:visited {
  color: #7b1fa2;
}

a:hover,
a:active {
  color: #0c7ae1;
  text-decoration: none;
}

/*=====================================================
  header
=====================================================*/
.header {
  width: 100%;
  height: 80px;
  padding: 0 10px 0 20px;
  position: fixed;
  left: 0;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #fff;
  z-index: 3000;
}

@media print, screen and (min-width: 1024px) {
  .header {
    height: auto;
    padding: 15px 20px;
    position: relative;
  }
}

.header .logo {
  width: 200px;
  margin: 0;
  padding: 0;
  line-height: 1;
}

@media print, screen and (min-width: 1024px) {
  .header .logo {
    width: 270px;
  }
}

.header .header__block {
  display: none;
}

@media print, screen and (min-width: 1280px) {
  .header .header__block {
    width: calc(100% - 300px);
    margin: 0 0 0 auto;
    padding: 0;
    display: block;
  }
}

.header .header__block .header__util {
  width: 100%;
  margin-bottom: 15px;
}

.header .header__block .header__utilLink {
  margin: 0;
  padding: 0;
  background: blue;
}

.header .header__block .header__utilLink ul {
  margin: 0 0 10px 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: right;
  align-items: center;
  float: right;
}

.header .header__block .header__utilLink ul li {
  margin: 0 0 0 15px;
  padding: 0 0 0 22px;
  font-size: 16px;
  font-size: 0.88889rem;
  font-weight: bold;
  line-height: 1;
  list-style: none;
  background-image: url("/images/icon_arrow_primary_m_right.svg");
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 13px 13px;
}

.header .header__block .header__utilLink ul li.header__utilLinkJump {
  margin-right: 30px;
  font-weight: normal;
  padding: 0 0 0 18px;
  background-image: url("/images/icon_arrow_primary_s_down.svg");
  background-size: 7px 5px;
}

.header .header__block .header__utilLink ul li.header__utilLinkJump a {
  text-decoration: underline;
}

.header .header__block .header__utilLink ul li a {
  color: #333;
  text-decoration: none;
}

.header .header__block .header__utilLink ul li a:hover {
  text-decoration: underline;
}

.header .header__ctrl {
  width: 100%;
  margin: 0 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}

@media print, screen and (min-width: 1024px) {
  .header .header__ctrl {
    justify-content: flex-end;
  }
}

@media print, screen and (min-width: 1024px) {
  .header .header__ctrl .header__btnYoyaku {
    width: 42%;
    padding-right: 10px;
  }
}

@media print, screen and (min-width: 1400px) {
  .header .header__ctrl .header__btnYoyaku {
    width: 440px;
  }
}

.header .header__ctrl .header__btnYoyaku a {
  margin: 0;
  padding: 18px;
  display: block;
  position: relative;
  font-size: 16px;
  font-size: 0.88889rem;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  background-color: #fd7c09;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

@media print, screen and (min-width: 1024px) {
  .header .header__ctrl .header__btnYoyaku a {
    top: 0;
    transition: all .2s;
  }
  .header .header__ctrl .header__btnYoyaku a:hover {
    background-color: #fdaa09;
    box-shadow: 0px 0px 0px 0px #e4e2e2;
  }
}

@media print, screen and (min-width: 1400px) {
  .header .header__ctrl .header__btnYoyaku a {
    font-size: 18px;
    font-size: 1rem;
  }
}

.header .header__ctrl .header__btnYoyaku a .icon {
  padding: 0 20px 0 30px;
  display: inline-block;
  position: relative;
  background-image: url(/images/icon_calendar_white.svg);
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 24px 24px;
}

@media print, screen and (min-width: 1024px) {
  .header .header__ctrl .header__btnYoyaku a .icon {
    padding-left: 34px;
    background-size: 30px 30px;
  }
}

.header .header__ctrl .header__btnYoyaku a .icon:after {
  margin: 0;
  padding: 0 0 0 0;
  content: "";
  width: 17px;
  height: 13px;
  position: absolute;
  top: 2px;
  right: 0;
  background-image: url(/images/icon_win_white.svg);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 17px 13px;
}

@media print, screen and (min-width: 1024px) {
  .header .header__ctrl .header__btnToshokan {
    width: 22%;
    padding-right: 10px;
  }
}

@media print, screen and (min-width: 1400px) {
  .header .header__ctrl .header__btnToshokan {
    max-width: 220px;
  }
}

.header .header__ctrl .header__btnToshokan a {
  margin: 0;
  padding: 18px;
  display: block;
  position: relative;
  font-size: 16px;
  font-size: 0.88889rem;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  background-color: #1bb366;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

@media print, screen and (min-width: 1024px) {
  .header .header__ctrl .header__btnToshokan a {
    top: 0;
    transition: all .2s;
  }
}

@media print, screen and (min-width: 1024px) and (min-width: 1024px) {
  .header .header__ctrl .header__btnToshokan a:hover {
    background-color: #34d785;
    box-shadow: 0px 0px 0px 0px #e4e2e2;
  }
}

@media print, screen and (min-width: 1400px) {
  .header .header__ctrl .header__btnToshokan a {
    font-size: 18px;
    font-size: 1rem;
  }
}

.header .header__ctrl .header__btnToshokan a .icon {
  padding: 0 0 0 32px;
  display: inline-block;
  background-image: url(/images/icon_book_white.svg);
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 26px 26px;
}

.header .header__ctrl .header__search {
  width: 36%;
  margin: 0;
}

@media print, screen and (min-width: 1400px) {
  .header .header__ctrl .header__search {
    width: auto;
  }
}

.header .header__ctrl .header__search form {
  display: flex;
  flex-wrap: wrap;
}

.header .header__ctrl .header__search .header__searchKeyword {
  width: calc(100% - 120px);
  margin: 0;
  padding: 16px;
  box-sizing: border-box;
  display: inline-block;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1;
  border: 1px solid #e5e5df;
  background-color: #ececec;
  border-radius: 5px 0 0 5px;
}

@media print, screen and (min-width: 1024px) {
  .header .header__ctrl .header__search .header__searchKeyword {
    max-width: 280px;
  }
}

.header .header__ctrl .header__search .header__searchBtn {
  width: 120px;
  margin: 0;
  padding: 0 0 0 26px;
  box-sizing: border-box;
  color: #fff;
  font-size: 20px;
  font-size: 1.11111rem;
  font-weight: bold;
  letter-spacing: 0.5rem;
  display: inline-block;
  background-color: #413e3e;
  border-radius: 0 5px 5px 0;
  cursor: pointer;
  background-image: url(/images/icon_search_white.svg);
  background-repeat: no-repeat;
  background-position: 18px center;
  background-size: 20px 20px;
  transition: all .2s;
}

.header .header__ctrl .header__search .header__searchBtn:hover {
  background-color: #1bb366;
}

.header .header__spMenu {
  width: 60px;
  height: 60px;
  margin-left: auto;
  position: absolute;
  right: 10px;
  top: 10px;
  transition: all .2s;
  cursor: pointer;
  background-color: #1bb366;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

@media print, screen and (min-width: 1280px) {
  .header .header__spMenu {
    display: none;
  }
}

.header .header__spMenu span {
  position: absolute;
  left: 14px;
  width: 32px;
  height: 4px;
  background-color: #fff;
  transition: all .2s;
}

.header .header__spMenu span:nth-of-type(1) {
  top: 10px;
}

.header .header__spMenu span:nth-of-type(2) {
  top: 22px;
}

.header .header__spMenu span:nth-of-type(3) {
  top: 34px;
}

.header .header__spMenu p {
  width: 100%;
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 9px;
  font-size: 0.5rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
}

.gNavLayer {
  width: 100%;
  height: 100vh;
  display: none;
  position: fixed;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 19000;
}

/*=====================================================
  gNav
=====================================================*/
.gNav {
  width: 100%;
  display: none;
  /*-----------------------------------
   gNav__block
  -----------------------------------*/
}

@media print, screen and (min-width: 1280px) {
  .gNav {
    margin: 0 auto 0 auto;
    padding: 0 20px;
    display: block;
  }
  .gNav.fixed {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 4000;
  }
}

.gNav .gNav__block {
  width: 90%;
  height: 76vh;
  margin: 0 auto;
  padding: 15px 20px;
  overflow-y: scroll;
  position: fixed;
  left: 0;
  right: 0;
  top: 60px;
  background-color: #fff;
  z-index: 20000;
  border-radius: 5px;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block {
    width: 100%;
    height: auto;
    padding: 0;
    position: relative;
    top: 0;
    border-radius: 10px;
    border: 1px solid #e5e5df;
    background-color: #fff;
    overflow-y: visible;
  }
}

.gNav .gNav__block .gNav__primary {
  margin: 0 0 20px 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  border-top: 1px solid #e5e5df;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary {
    margin: 0;
    border-top-width: 0;
  }
}

.gNav .gNav__block .gNav__primary > li {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  list-style: none;
  line-height: 1;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li {
    width: 16.66%;
    transition: all .2s;
  }
  .gNav .gNav__block .gNav__primary > li:before {
    content: "";
    width: 1px;
    height: 42px;
    position: absolute;
    left: 0;
    top: 20px;
    background-color: #e5e5df;
  }
  .gNav .gNav__block .gNav__primary > li:first-child:before {
    display: none;
  }
  .gNav .gNav__block .gNav__primary > li:hover, .gNav .gNav__block .gNav__primary > li.active {
    background-color: #1bb366;
  }
  .gNav .gNav__block .gNav__primary > li:hover > a, .gNav .gNav__block .gNav__primary > li.active > a {
    color: #fff;
  }
}

.gNav .gNav__block .gNav__primary > li > a {
  width: 100%;
  margin: 0;
  padding: 15px 0 15px 50px;
  font-weight: bold;
  display: block;
  text-align: left;
  color: #333;
  text-decoration: none;
  position: relative;
  border-bottom: 1px solid #e5e5df;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li > a {
    padding: 52px 20px 15px 20px;
    text-align: center;
    border-bottom-width: 0;
    overflow: hidden;
  }
}

.gNav .gNav__block .gNav__primary > li.gNav__home {
  background-image: url(/images/icon_home.svg);
  background-repeat: no-repeat;
  background-position: 5px 4px;
  background-size: 36px 36px;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li.gNav__home {
    background-position: center 5px;
    background-size: 46px 46px;
    border-radius: 10px 0 0 10px;
  }
  .gNav .gNav__block .gNav__primary > li.gNav__home.active, .gNav .gNav__block .gNav__primary > li.gNav__home:hover {
    background-position: center 0;
    background-image: url(/images/icon_home_white.svg);
  }
  .gNav .gNav__block .gNav__primary > li.gNav__home.active {
    background-position: center 5px;
  }
}

.gNav .gNav__block .gNav__primary > li.gNav__news {
  background-image: url(/images/icon_news.svg);
  background-repeat: no-repeat;
  background-position: 5px 4px;
  background-size: 36px 36px;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li.gNav__news {
    background-position: center 5px;
    background-size: 46px 46px;
  }
  .gNav .gNav__block .gNav__primary > li.gNav__news.active, .gNav .gNav__block .gNav__primary > li.gNav__news:hover {
    background-position: center 0;
    background-image: url(/images/icon_news_white.svg);
  }
  .gNav .gNav__block .gNav__primary > li.gNav__news.active {
    background-position: center 5px;
  }
}

.gNav .gNav__block .gNav__primary > li.gNav__event {
  background-image: url(/images/icon_event.svg);
  background-repeat: no-repeat;
  background-position: 5px 6px;
  background-size: 36px 36px;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li.gNav__event {
    background-position: center 5px;
    background-size: 46px 46px;
  }
  .gNav .gNav__block .gNav__primary > li.gNav__event.active, .gNav .gNav__block .gNav__primary > li.gNav__event:hover {
    background-position: center 0;
    background-image: url(/images/icon_event_white.svg);
  }
  .gNav .gNav__block .gNav__primary > li.gNav__event.active {
    background-position: center 5px;
  }
}

.gNav .gNav__block .gNav__primary > li.gNav__shisetsu {
  background-image: url(/images/icon_shisetsu.svg);
  background-repeat: no-repeat;
  background-position: 5px 6px;
  background-size: 36px 36px;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li.gNav__shisetsu {
    background-position: center 5px;
    background-size: 46px 46px;
  }
  .gNav .gNav__block .gNav__primary > li.gNav__shisetsu.active, .gNav .gNav__block .gNav__primary > li.gNav__shisetsu:hover {
    background-position: center 0;
    background-image: url(/images/icon_shisetsu_white.svg);
  }
  .gNav .gNav__block .gNav__primary > li.gNav__shisetsu.active > a, .gNav .gNav__block .gNav__primary > li.gNav__shisetsu:hover > a {
    background-image: url(/images/icon_arrow_white_s_down.svg);
  }
  .gNav .gNav__block .gNav__primary > li.gNav__shisetsu > a {
    background-image: url(/images/icon_arrow_primary_s_down.svg);
    background-repeat: no-repeat;
    background-position: center bottom 5px;
    background-size: 7px 5px;
  }
  .gNav .gNav__block .gNav__primary > li.gNav__shisetsu.active {
    background-position: center 5px;
  }
}

.gNav .gNav__block .gNav__primary > li.gNav__guide {
  background-image: url(/images/icon_guide.svg);
  background-repeat: no-repeat;
  background-position: 5px 6px;
  background-size: 36px 36px;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li.gNav__guide {
    background-position: center 5px;
    background-size: 46px 46px;
  }
  .gNav .gNav__block .gNav__primary > li.gNav__guide.active, .gNav .gNav__block .gNav__primary > li.gNav__guide:hover {
    background-position: center 0;
    background-image: url(/images/icon_guide_white.svg);
  }
  .gNav .gNav__block .gNav__primary > li.gNav__guide.active > a, .gNav .gNav__block .gNav__primary > li.gNav__guide:hover > a {
    background-image: url(/images/icon_arrow_white_s_down.svg);
  }
  .gNav .gNav__block .gNav__primary > li.gNav__guide.active {
    background-position: center 5px;
  }
  .gNav .gNav__block .gNav__primary > li.gNav__guide > a {
    background-image: url(/images/icon_arrow_primary_s_down.svg);
    background-repeat: no-repeat;
    background-position: center bottom 5px;
    background-size: 7px 5px;
  }
}

.gNav .gNav__block .gNav__primary > li.gNav__access {
  background-image: url(/images/icon_access.svg);
  background-repeat: no-repeat;
  background-position: 5px 6px;
  background-size: 36px 36px;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li.gNav__access {
    background-position: center 5px;
    background-size: 46px 46px;
    border-radius: 0 10px 10px 0;
  }
  .gNav .gNav__block .gNav__primary > li.gNav__access.active, .gNav .gNav__block .gNav__primary > li.gNav__access:hover {
    background-position: center 0;
    background-image: url(/images/icon_access_white.svg);
  }
  .gNav .gNav__block .gNav__primary > li.gNav__access.active {
    background-position: center 5px;
  }
}

.gNav .gNav__block .gNav__primary > li .gNav__secondary {
  display: none;
  margin: 0;
  padding: 0 0 0 50px;
  border-bottom: 1px solid #e5e5df;
  background-color: #f8f8f5;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li .gNav__secondary {
    width: 100%;
    margin: 0;
    padding: 0;
    position: absolute;
    left: 0;
    top: 80px;
    background-color: transparent;
  }
}

.gNav .gNav__block .gNav__primary > li .gNav__secondary ul {
  margin: 0;
  padding: 0;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li .gNav__secondary ul {
    margin: 20px 0 0 0;
    padding: 5px 20px;
    border-radius: 5px;
    position: relative;
    background-color: #fff;
    -webkit-filter: drop-shadow(0px 4px 6px rgba(0, 0, 0, 0.2));
  }
  .gNav .gNav__block .gNav__primary > li .gNav__secondary ul:before {
    content: "";
    width: 30px;
    height: 30px;
    position: absolute;
    left: calc(50% - 15px);
    right: 50%;
    top: -10px;
    background-color: #fff;
    transform: rotate(-45deg);
    z-index: -1;
  }
}

.gNav .gNav__block .gNav__primary > li .gNav__secondary li {
  margin: 0;
  padding: 12px 0 12px 20px;
  list-style: none;
  line-height: 1.4;
  font-size: 16px;
  font-size: 0.88889rem;
  background-image: url("/images/icon_arrow_primary_m_right.svg");
  background-repeat: no-repeat;
  background-position: 0 17px;
  background-size: 13px 13px;
  border-bottom: 1px solid #e5e5df;
}

.gNav .gNav__block .gNav__primary > li .gNav__secondary li:last-child {
  border-bottom-width: 0;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li .gNav__secondary li {
    background-position: 0 16px;
    transition: all .2s;
  }
  .gNav .gNav__block .gNav__primary > li .gNav__secondary li:hover {
    background-position: 3px 16px;
  }
  .gNav .gNav__block .gNav__primary > li .gNav__secondary li:hover a {
    color: #1bb366;
    text-decoration: underline;
  }
}

.gNav .gNav__block .gNav__primary > li .gNav__secondary li a {
  padding: 0;
  display: block;
  border-bottom-width: 0;
  color: #333;
  text-decoration: none;
  font-weight: bold;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__block .gNav__primary > li .gNav__secondary li a {
    padding: 0;
    text-align: left;
  }
}

.gNav .gNav__btnClose {
  position: fixed;
  right: 20px;
  top: 25px;
  color: #fff;
  font-weight: bold;
  font-size: 14px;
  font-size: 0.77778rem;
  z-index: 19200;
  cursor: pointer;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__btnClose {
    display: none;
  }
}

.gNav .gNav__subBtn {
  content: "";
  width: 52px;
  height: 52px;
  display: block;
  position: absolute;
  right: 0;
  top: 6px;
  z-index: 300;
}

@media print, screen and (min-width: 1280px) {
  .gNav .gNav__subBtn {
    display: none;
  }
}

.gNav .gNav__subBtn span {
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 0;
  left: 8px;
  background-color: #1bb366;
}

.gNav .gNav__subBtn span:before {
  content: "";
  width: 2px;
  height: 16px;
  position: absolute;
  left: 17px;
  top: 10px;
  background-color: #fff;
  transition: all .2s;
}

.gNav .gNav__subBtn span:after {
  content: "";
  width: 16px;
  height: 2px;
  position: absolute;
  left: 10px;
  top: 17px;
  background-color: #fff;
}

.gNav .gNav__subBtn.gNav__subBtn--on span:before {
  transform: rotate(90deg);
}

.gNav .header__spUtilLink {
  margin: 0 0 20px 0;
  padding: 0 15px;
}

@media print, screen and (min-width: 1280px) {
  .gNav .header__spUtilLink {
    display: none;
  }
}

.gNav .header__spUtilLink ul {
  margin: 0;
  padding: 0;
}

.gNav .header__spUtilLink ul li {
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 15px;
  font-size: 0.83333rem;
  list-style: none;
}

.gNav .header__spUtilLink ul li a {
  margin: 0;
  padding: 0 0 0 24px;
  display: inline-block;
  color: #333;
  font-weight: bold;
  text-decoration: none;
  background-image: url("/images/icon_arrow_primary_m_right.svg");
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 13px 13px;
}

.header__spCtrl {
  width: 100%;
  margin: 0 0 0 auto;
  padding: 0 0 20px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}

@media print, screen and (min-width: 1280px) {
  .header__spCtrl {
    display: none;
  }
}

.header__spCtrl .header__spBtnYoyaku {
  width: 100%;
  margin: 0 0 10px 0;
  padding: 0;
}

.header__spCtrl .header__spBtnYoyaku a {
  margin: 0;
  padding: 12px;
  display: block;
  position: relative;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1.4;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  background-color: #fd7c09;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

.header__spCtrl .header__spBtnYoyaku a .icon {
  padding: 0 24px 0 48px;
  display: inline-block;
  position: relative;
  background-image: url(/images/icon_calendar_white.svg);
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 40px 40px;
}

.header__spCtrl .header__spBtnYoyaku a .icon:after {
  margin: 0;
  padding: 0 0 0 0;
  content: "";
  width: 17px;
  height: 13px;
  position: absolute;
  top: calc(50% - 6px);
  right: 0;
  background-image: url(/images/icon_win_white.svg);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 17px 13px;
}

.header__spCtrl .header__spBtnToshokan {
  width: 100%;
  margin: 0 0 20px 0;
}

.header__spCtrl .header__spBtnToshokan a {
  margin: 0;
  padding: 18px;
  display: block;
  font-size: 16px;
  font-size: 0.88889rem;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  background-color: #1bb366;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

@media print, screen and (min-width: 1400px) {
  .header__spCtrl .header__spBtnToshokan a {
    font-size: 18px;
    font-size: 1rem;
  }
}

.header__spCtrl .header__spBtnToshokan a .icon {
  padding: 0 0 0 32px;
  display: inline-block;
  background-image: url(/images/icon_book_white.svg);
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 26px 26px;
}

.header__spCtrl .header__spSearch {
  width: 100%;
  margin: 0;
}

.header__spCtrl .header__spSearch form {
  display: flex;
  flex-wrap: wrap;
}

.header__spCtrl .header__spSearch .header__spSearchKeyword {
  width: calc(100% - 100px);
  margin: 0;
  padding: 16px;
  box-sizing: border-box;
  display: inline-block;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1;
  border: 1px solid #e5e5df;
  background-color: #ececec;
  border-radius: 5px 0 0 5px;
}

.header__spCtrl .header__spSearch .header__spSearchBtn {
  width: 100px;
  margin: 0;
  padding: 0 0 0 26px;
  box-sizing: border-box;
  color: #fff;
  font-size: 16px;
  font-size: 0.88889rem;
  font-weight: bold;
  letter-spacing: 0.5rem;
  display: inline-block;
  background-color: #413e3e;
  border-radius: 0 5px 5px 0;
  cursor: pointer;
  background-image: url(/images/icon_search_white.svg);
  background-repeat: no-repeat;
  background-position: 18px center;
  background-size: 20px 20px;
  transition: all .2s;
}

/*==================================================
  wrapper
==================================================*/
.wrapper {
  width: 100%;
  padding: 15px 20px 40px 20px;
}

@media print, screen and (min-width: 768px) {
  .wrapper {
    margin-right: auto;
    margin-left: auto;
    padding: 0 20px 40px 20px;
    display: flex;
    flex-wrap: wrap;
  }
}

@media print, screen and (min-width: 1024px) {
  .wrapper {
    max-width: 1200px;
    padding: 0 20px 60px 20px;
  }
}

@media print, screen and (min-width: 1280px) {
  .wrapper {
    padding: 0 0 60px 0;
  }
}

/*=====================================================
  main
=====================================================*/
.main {
  width: 100%;
  padding-bottom: 40px;
}

@media print, screen and (min-width: 1024px) {
  .main {
    width: 100%;
    min-height: 600px;
    padding-bottom: 0;
  }
}

.main.main--2col {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .main.main--2col {
    padding: 0 20px 60px 20px;
  }
}

@media print, screen and (min-width: 1024px) {
  .main.main--2col {
    width: calc(100% - 320px);
    padding: 0;
  }
}

/*=====================================================
  side
=====================================================*/
.side {
  width: 100%;
}

@media print, screen and (min-width: 1024px) {
  .side {
    width: 280px;
    margin-left: auto;
    margin-right: 0;
  }
}

/*=====================================================
  subNav
=====================================================*/
.subNav ul {
  margin: 0;
  padding: 0;
}

.subNav ul li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.subNav ul li.subNav__title a {
  padding: 20px 15px 20px 40px;
  display: block;
  font-size: 18px;
  font-size: 1rem;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  background: #1bb366;
  background-image: url("/images/icon_arrow_white_m_right.svg");
  background-repeat: no-repeat;
  background-position: left 15px top 24px;
  background-size: 15px 15px;
}

@media print, screen and (min-width: 1024px) {
  .subNav ul li.subNav__title a {
    padding: 20px 15px 20px 46px;
    font-size: 20px;
    font-size: 1.11111rem;
    background-position: left 20px top 26px;
  }
  .subNav ul li.subNav__title a:hover {
    text-decoration: underline;
    background-position: left 25px top 26px;
  }
}

.subNav ul li a {
  padding: 15px 20px 15px 40px;
  display: block;
  font-size: 15px;
  font-size: 0.83333rem;
  line-height: 1.4;
  color: #333;
  text-decoration: none;
  background-image: url("/images/icon_arrow_primary_s_right.svg");
  background-repeat: no-repeat;
  background-position: left 24px top 22px;
  background-size: 5px 7px;
  border-left: 1px solid #e5e5df;
  border-right: 1px solid #e5e5df;
  border-bottom: 1px solid #e5e5df;
}

@media print, screen and (min-width: 1024px) {
  .subNav ul li a {
    padding: 16px 24px 16px 46px;
    background-position: left 30px top 22px;
    transition: all .2s;
  }
  .subNav ul li a:hover {
    text-decoration: underline;
    background-position: left 36px top 22px;
  }
}

.subNav ul li a.on {
  font-weight: bold;
  background-color: #f8f8f5;
  text-decoration: none !important;
  background-position: left 30px top 22px !important;
}

/*==================================================
  mainImage
==================================================*/
.mainImage {
  width: 100%;
  height: 160px;
  position: relative;
  background-color: #fff;
  background-size: cover;
  background-position: center center;
}

@media print, screen and (min-width: 1024px) {
  .mainImage {
    height: 280px;
    top: -20px;
    background-size: cover;
    background-attachment: scroll;
  }
}

/*==================================================
  pageTitle
==================================================*/
.pageTitle {
  margin: 0 0 30px 0;
  padding: 6px 20px 6px 24px;
  display: block;
  position: relative;
  font-size: 28px;
  font-size: 1.55556rem;
  line-height: 1.5;
  font-weight: bold;
}

.pageTitle:before {
  width: 8px;
  height: 48px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #8dd9b2;
}

.pageTitle:after {
  width: 8px;
  height: 24px;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #1bb366;
}

@media print, screen and (min-width: 1024px) {
  .pageTitle {
    margin-bottom: 40px;
    padding-left: 34px;
    font-size: 40px;
    font-size: 2.22222rem;
    border-bottom-width: 5px;
  }
  .pageTitle:before {
    width: 10px;
    height: 70px;
  }
  .pageTitle:after {
    width: 10px;
    height: 35px;
  }
}

/*=====================================================
  cv
=====================================================*/
.cv {
  width: 100%;
  padding: 40px 20px 200px 20px;
  background-color: #e0f2f9;
  background-image: url("/images/cv_bg_sp.jpg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: left 0 bottom 0;
  /*-----------------------------------
    cv__main
  -----------------------------------*/
  /*-----------------------------------
    cv__btnContents
  -----------------------------------*/
  /*-----------------------------------
    cv__schedule
  -----------------------------------*/
  /*-----------------------------------
    cv__contact
  -----------------------------------*/
  /*-----------------------------------
    cv__mailBlock
  -----------------------------------*/
}

@media print, screen and (min-width: 1280px) {
  .cv {
    padding: 100px 0 400px 0;
    background-image: url("/images/cv_bg.jpg");
    background-size: cover;
  }
}

.cv .cv__block {
  padding: 20px;
  background-color: #fff;
  border-radius: 10px;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__block {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px;
    border-radius: 15px;
  }
}

.cv .cv__main {
  width: 100%;
  margin: 0 0 20px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__main {
    margin-bottom: 40px;
  }
}

.cv .cv__main .cv__mainPhoto {
  width: 100%;
  margin-bottom: 20px;
  border-radius: 5px;
  overflow: hidden;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__main .cv__mainPhoto {
    width: 25%;
    margin-bottom: 0;
  }
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__main .cv__mainPhoto {
    width: 36%;
    max-width: 420px;
    border-radius: 10px;
  }
}

.cv .cv__main .cv__mainBox {
  margin-bottom: 15px;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__main .cv__mainBox {
    width: 73%;
  }
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__main .cv__mainBox {
    width: 60%;
  }
}

.cv .cv__main .cv__mainBox .cv__mainTitle {
  margin: 0 0 14px 0;
  padding: 0;
  line-height: 1.4;
}

.cv .cv__main .cv__mainBox .cv__mainTitle .cv__mainTitleCenterName {
  width: 100%;
  display: block;
  font-size: 14px;
  font-size: 0.77778rem;
  font-weight: bold;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__main .cv__mainBox .cv__mainTitle .cv__mainTitleCenterName {
    font-size: 18px;
    font-size: 1rem;
  }
}

.cv .cv__main .cv__mainBox .cv__mainTitle .cv__mainTitleName {
  display: block;
  font-size: 28px;
  font-size: 1.55556rem;
  color: #1bb366;
  font-weight: bold;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__main .cv__mainBox .cv__mainTitle .cv__mainTitleName {
    margin-bottom: 10px;
    font-size: 32px;
    font-size: 1.77778rem;
  }
}

.cv .cv__main .cv__mainBox .cv__mainTitle .cv__mainTitleAddress {
  font-size: 15px;
  font-size: 0.83333rem;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__main .cv__mainBox .cv__mainTitle .cv__mainTitleAddress {
    font-size: 18px;
    font-size: 1rem;
  }
}

.cv .cv__btnContents {
  margin-bottom: 20px;
}

.cv .cv__btnContents ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__btnContents ul {
    justify-content: space-between;
  }
}

.cv .cv__btnContents ul li {
  width: 100%;
  margin: 0 0 10px 0;
  padding: 0;
  list-style: none;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__btnContents ul li {
    width: 32%;
  }
}

.cv .cv__btnContents ul li a {
  width: 100%;
  padding: 10px 10px 10px 56px;
  display: block;
  position: relative;
  font-size: 16px;
  font-size: 0.88889rem;
  color: #333;
  text-decoration: none;
  font-weight: bold;
  background-color: #fff;
  border: 1px solid #e5e5df;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 40px 40px;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__btnContents ul li a {
    font-size: 14px;
    font-size: 0.77778rem;
    padding: 10px 5px 10px 56px;
  }
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnContents ul li a {
    font-size: 16px;
    font-size: 0.88889rem;
    position: relative;
    top: 0;
    transition: all .2s;
  }
  .cv .cv__btnContents ul li a:hover {
    color: #fff;
    background-color: #1bb366;
    box-shadow: 0px 0px 0px 0px #e4e2e2;
  }
}

.cv .cv__btnContents ul li.cv__btnShisetsu a {
  background-image: url(/images/icon_shisetsu.svg);
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnContents ul li.cv__btnShisetsu a:hover {
    background-image: url(/images/icon_shisetsu_white.svg);
  }
}

.cv .cv__btnContents ul li.cv__btnGuide a {
  background-image: url(/images/icon_guide.svg);
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnContents ul li.cv__btnGuide a:hover {
    background-image: url(/images/icon_guide_white.svg);
  }
}

.cv .cv__btnContents ul li.cv__btnAccess a {
  background-image: url(/images/icon_access.svg);
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnContents ul li.cv__btnAccess a:hover {
    background-image: url(/images/icon_access_white.svg);
  }
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnArea {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}

.cv .cv__btnYoyaku {
  margin-bottom: 10px;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnYoyaku {
    width: 60%;
  }
}

.cv .cv__btnYoyaku a {
  width: 100%;
  margin: 0;
  padding: 18px;
  display: block;
  position: relative;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1.4;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  background-color: #fd7c09;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnYoyaku a {
    top: 0;
    font-size: 18px;
    font-size: 1rem;
    transition: all .2s;
  }
  .cv .cv__btnYoyaku a:hover {
    background-color: #fdaa09;
    box-shadow: 0px 0px 0px 0px #e4e2e2;
  }
}

.cv .cv__btnYoyaku a .icon {
  padding: 0 24px 0 40px;
  display: inline-block;
  position: relative;
  background-image: url(/images/icon_calendar_white.svg);
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 32px 32px;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnYoyaku a .icon {
    padding-left: 34px;
    background-size: 30px 30px;
  }
}

.cv .cv__btnYoyaku a .icon:after {
  margin: 0;
  padding: 0 0 0 0;
  content: "";
  width: 17px;
  height: 13px;
  position: absolute;
  top: calc(50% - 6px);
  right: 0;
  background-image: url(/images/icon_win_white.svg);
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 17px 13px;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnYoyaku a .icon:after {
    top: 6px;
  }
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnToshokan {
    width: 38%;
  }
}

.cv .cv__btnToshokan a {
  width: 100%;
  margin: 0;
  padding: 18px;
  display: block;
  position: relative;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1.4;
  color: #fff;
  text-decoration: none;
  font-weight: bold;
  background-color: #1bb366;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__btnToshokan a {
    font-size: 18px;
    font-size: 1rem;
    transition: all .2s;
    top: 0;
  }
  .cv .cv__btnToshokan a:hover {
    background-color: #34d785;
    box-shadow: 0px 0px 0px 0px #e4e2e2;
  }
}

.cv .cv__btnToshokan a .icon {
  padding: 0 0 0 40px;
  display: inline-block;
  background-image: url(/images/icon_book_white.svg);
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 30px 30px;
}

.cv .cv__schedule {
  width: 100%;
  margin: 0 0 20px 0;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  background-color: #f8f8f5;
  border-radius: 10px;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__schedule {
    margin-bottom: 40px;
    padding: 30px;
  }
}

.cv .cv__schedule .cv__scheduleBox {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__schedule .cv__scheduleBox {
    width: 31%;
  }
}

.cv .cv__schedule .cv__scheduleTitle {
  width: 100%;
  margin: 0 0 10px 0;
  padding: 15px;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1;
  text-align: center;
  font-weight: bold;
  background-color: #fff;
  border: 3px solid #1bb366;
  border-radius: 50px;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__schedule .cv__scheduleTitle {
    font-size: 18px;
    font-size: 1rem;
  }
}

.cv .cv__schedule .cv__scheduleDetail {
  margin: 0;
  padding: 0;
  text-align: center;
  font-size: 15px;
  font-size: 0.83333rem;
}

.cv .cv__contact {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.cv .cv__contact .cv__telBlock {
  width: 100%;
  margin-bottom: 20px;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__contact .cv__telBlock {
    width: 58%;
  }
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__contact .cv__telBlock {
    width: 48%;
    margin-bottom: 0;
  }
}

.cv .cv__contact .cv__telBlock .cv__tel {
  width: 100%;
  margin: 0 0 10px 0;
  padding: 0;
  display: block;
  font-weight: bold;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__contact .cv__telBlock .cv__tel {
    text-align: center;
  }
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__contact .cv__telBlock .cv__tel {
    margin-bottom: 0;
  }
}

.cv .cv__contact .cv__telBlock .cv__tel .cv__telDep {
  width: 100%;
  margin: 0 0 10px;
  padding: 0;
  display: block;
  font-size: 18px;
  font-size: 1rem;
  text-align: center;
  line-height: 1;
  display: block;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__contact .cv__telBlock .cv__tel .cv__telDep {
    display: inline;
  }
}

@media print, screen and (min-width: 1280px) {
  .cv .cv__contact .cv__telBlock .cv__tel .cv__telDep {
    width: 30%;
    font-size: 24px;
    font-size: 1.33333rem;
    position: relative;
    top: -4px;
  }
}

.cv .cv__contact .cv__telBlock .cv__tel .cv__telNum {
  width: 100%;
  display: block;
  font-size: 30px;
  font-size: 1.66667rem;
  line-height: 1;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__contact .cv__telBlock .cv__tel .cv__telNum {
    display: inline;
  }
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__contact .cv__telBlock .cv__tel .cv__telNum {
    font-size: 44px;
    font-size: 2.44444rem;
  }
}

.cv .cv__contact .cv__telBlock .cv__telTime {
  margin: 0;
  padding: 0;
  text-align: center;
}

.cv .cv__contact .cv__telBlock .cv__fax {
  margin: 0 0 10px 0;
  padding: 0;
  font-weight: bold;
  text-align: center;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__contact .cv__telBlock .cv__fax {
    font-size: 18px;
    font-size: 1rem;
  }
}

.cv .cv__mailBlock {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .cv .cv__mailBlock {
    width: 40%;
  }
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__mailBlock {
    width: 50%;
  }
}

.cv .cv__mailBlock .cv__mailBtn {
  width: 100%;
}

.cv .cv__mailBlock .cv__mailBtn a {
  margin: 0;
  padding: 18px;
  display: block;
  position: relative;
  font-size: 16px;
  font-size: 0.88889rem;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-weight: bold;
  background-color: #1bb366;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__mailBlock .cv__mailBtn a {
    padding: 30px 24px;
    top: 0;
    font-size: 26px;
    font-size: 1.44444rem;
    border-radius: 10px;
    transition: all .2s;
  }
  .cv .cv__mailBlock .cv__mailBtn a:hover {
    background-color: #34d785;
    box-shadow: 0px 0px 0px 0px #e4e2e2;
  }
}

.cv .cv__mailBlock .cv__mailBtn a .icon {
  padding: 0 0 0 32px;
  display: inline-block;
  background-image: url(/images/icon_mail_white.svg);
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 22px 14px;
}

@media print, screen and (min-width: 1024px) {
  .cv .cv__mailBlock .cv__mailBtn a .icon {
    padding-left: 44px;
    background-size: 30px 22px;
  }
}

/*==================================================
  btnYoyaku
==================================================*/
.btnYoyaku {
  width: 100%;
  margin: 30px auto;
}

@media print, screen and (min-width: 768px) {
  .btnYoyaku {
    max-width: 600px;
    position: relative;
  }
}

.btnYoyaku a {
  width: 100%;
  padding: 20px 20px 20px 60px;
  display: block;
  color: #fff;
  line-height: 1.2;
  position: relative;
  text-decoration: none;
  background-color: #fd7c09;
  border-radius: 8px;
  background-image: url(/images/icon_calendar_white.svg);
  background-repeat: no-repeat;
  background-position: 10px center;
  background-size: 44px 44px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

.btnYoyaku a .icon {
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .btnYoyaku a {
    text-align: center;
    border-radius: 12px;
    background-size: 60px 60px;
    background-position: 15px center;
    transition: all .2s;
  }
  .btnYoyaku a:hover {
    transform: scale(1.1);
    background-color: #fdaa09;
    box-shadow: 0px 0px 0px 0px #e4e2e2;
  }
}

.btnYoyaku .btnYoyaku__title {
  padding-right: 20px;
  margin-bottom: 10px;
  display: inline-block;
  position: relative;
  font-size: 20px;
  font-size: 1.11111rem;
  font-weight: bold;
}

.btnYoyaku .btnYoyaku__title:after {
  margin: 0;
  padding: 0 0 0 0;
  content: "";
  width: 22px;
  height: 13px;
  position: absolute;
  top: 8px;
  right: 0;
  background-image: url(/images/icon_win_white.svg);
  background-position: 4px 0;
  background-repeat: no-repeat;
  background-size: 17px 13px;
}

@media print, screen and (min-width: 768px) {
  .btnYoyaku .btnYoyaku__title {
    font-size: 28px;
    font-size: 1.55556rem;
  }
}

@media print, screen and (min-width: 1024px) {
  .btnYoyaku .btnYoyaku__title {
    font-size: 28px;
    font-size: 1.55556rem;
  }
}

.btnYoyaku .btnYoyaku__lead {
  line-height: 1;
  display: inline-block;
  font-size: 15px;
  font-size: 0.83333rem;
}

@media print, screen and (min-width: 768px) {
  .btnYoyaku .btnYoyaku__lead {
    font-size: 18px;
    font-size: 1rem;
  }
}

/*==================================================
  footer
==================================================*/
.footer {
  margin: 0;
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  color: #fff;
  background-color: #333938;
}

@media print, screen and (min-width: 768px) {
  .footer {
    padding: 40px 20px;
    justify-content: space-between;
    align-items: center;
  }
}

/*==================================================
  footerLink
==================================================*/
.footerLink {
  margin: 0 0 20px 0;
  padding: 0;
}

@media print, screen and (min-width: 768px) {
  .footerLink {
    width: 58%;
    margin: 0;
  }
}

.footerLink ul {
  margin: 0;
  padding: 0;
}

.footerLink ul li {
  margin: 0 0 5px 0;
  padding: 0;
  list-style: none;
  font-size: 16px;
  font-size: 0.88889rem;
}

@media print, screen and (min-width: 768px) {
  .footerLink ul li {
    margin-bottom: 0;
    margin-right: 20px;
    display: inline-block;
  }
}

.footerLink ul li a {
  margin: 0;
  padding: 0 0 0 24px;
  display: inline-block;
  color: #fff;
  text-decoration: none;
  background-image: url("/images/icon_arrow_primary_m_right.svg");
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 15px 15px;
}

@media print, screen and (min-width: 1024px) {
  .footerLink ul li a:hover {
    text-decoration: underline;
  }
}

/*==================================================
  copyright
==================================================*/
.copyright {
  margin: 0;
  padding: 0;
  line-height: 1;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .copyright {
    width: 40%;
    text-align: right;
  }
}

.copyright small {
  font-size: 14px;
  font-size: 0.77778rem;
}

/*==================================================
  btnPageTop
==================================================*/
.btnPageTop {
  position: relative;
}

.btnPageTop a {
  width: 60px;
  height: 60px;
  position: fixed;
  right: 20px;
  bottom: 70px;
  overflow: hidden;
  text-indent: -9999px;
  opacity: 0.9;
  background-color: rgba(0, 0, 0, 0.8);
  background-image: url("/images/icon_arrow_white_s_up.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 12px 10px;
}

/*==================================================
  event
==================================================*/
.event ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .event ul {
    justify-content: space-between;
  }
}

.event ul li {
  width: 100%;
  margin: 0;
  padding: 20px 0;
  list-style: none;
  border-top: 1px dotted #CCC;
}

.event ul li:first-child {
  padding-top: 0;
  border-top-width: 0;
}

.event ul li a {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-decoration: none;
}

.event ul li a:visited .event__title {
  color: #7b1fa2;
}

.event ul li a:visited .event__summary {
  color: #817f7f;
}

@media print, screen and (min-width: 1024px) {
  .event ul li a {
    transition: all .2s;
  }
  .event ul li a img {
    transition: all .2s;
  }
  .event ul li a:hover {
    background-color: #fbfadf;
  }
  .event ul li a:hover .event__title {
    text-decoration: none;
  }
  .event ul li a:hover .event__itemImage img {
    opacity: 0.8;
    transform: scale(1.1);
  }
}

.event ul li a .event__itemImage {
  width: 34%;
  overflow: hidden;
  text-align: center;
}

@media print, screen and (min-width: 1024px) {
  .event ul li a .event__itemImage {
    width: 24%;
  }
}

.event ul li a .event__text {
  width: 60%;
}

@media print, screen and (min-width: 1024px) {
  .event ul li a .event__text {
    width: calc(100% - 28%);
  }
}

.event ul li a .event__tagBox {
  width: 100%;
  margin-bottom: 10px;
}

.event ul li a .event__date {
  font-size: 16px;
  font-size: 0.88889rem;
  color: #333;
  font-weight: bold;
}

.event ul li a .event__title {
  margin: 0 0 15px 0;
  padding: 0;
  font-size: 15px;
  font-size: 0.83333rem;
  color: #0c7ae1;
  line-height: 1.4;
  font-weight: bold;
  text-decoration: underline;
}

@media print, screen and (min-width: 1024px) {
  .event ul li a .event__title {
    font-size: 20px;
    font-size: 1.11111rem;
    line-height: 1.6;
  }
}

.event ul li a .event__summary {
  margin: 0;
  padding: 0;
  font-size: 14px;
  font-size: 0.77778rem;
  color: #333;
  line-height: 1.6;
  font-weight: bold;
}

@media print, screen and (min-width: 1024px) {
  .event ul li a .event__summary {
    font-size: 16px;
    font-size: 0.88889rem;
    line-height: 1.8;
  }
}

/*==================================================
  tag
==================================================*/
.tag {
  margin-right: 6px;
  padding: 5px 12px;
  display: inline-block;
  font-size: 13px;
  font-size: 0.72222rem;
  line-height: 1;
  color: #fff;
  background-color: #333;
  border-radius: 15px;
}

.tag.tag--tomoterasu {
  background-color: #1bb366;
}

.tag.tag--toshokan {
  background-color: #1f8fe6;
}

.tag.tag--concert {
  background-color: #963dce;
}

.tag.tag--music {
  background-color: #b37d15;
}

.tag.tag--theater {
  background-color: #900047;
}

.tag.tag--art {
  background-color: #f27133;
}

.tag.tag--movie {
  background-color: #007f85;
}

.tag.tag--talk {
  background-color: #015582;
}

.tag.tag--dentou {
  background-color: #622869;
}

.tag.tag--dance {
  background-color: #3b458c;
}

.tag.tag--lecture {
  background-color: #491a49;
}

.tag.tag--trial {
  background-color: #747f01;
}

.tag.tag--exhibit {
  background-color: #3488b5;
}

.tag.tag--lesson {
  background-color: #1e8b5a;
}

.tag.tag--rakugo {
  background-color: #c65399;
}

.tag.tag--other {
  background-color: #666666;
}

.tag.tag--kyukanbi {
  background-color: #999999;
}

/*=====================================================
  bdr
=====================================================*/
.bdr, .bdrRed, .bdrLinkList {
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 20px;
  border: 1px solid #ced6dc;
}

/*---------------------------------------------------
  bdrRed
---------------------------------------------------*/
.bdrRed {
  border-width: 5px;
  border-color: #f3390d;
}

/*=====================================================
  bdrDot
=====================================================*/
.bdrDot {
  margin-top: 1rem;
  margin-bottom: 1rem;
  padding: 0.5rem 15px;
  border: 2px dotted #e5e5df;
}

/*=====================================================

=====================================================*/
.bdrLinkList {
  padding-top: 10px;
  padding-bottom: 10px;
}

/*=====================================================
  depContact
=====================================================*/
.depContact .depContact__title {
  padding: 0;
  background: none;
  border: none;
}

/*=====================================================
  button
=====================================================*/
.button, .buttonUp, .buttonLeft, .buttonDown, .buttonEdit, .buttonGreen, .buttonLarge, .buttonWin, .buttonPdf, .buttonWord, .buttonExcel, .buttonPpt {
  padding: 12px 20px 12px 38px;
  display: inline-block;
  position: relative;
  line-height: 1.4;
  text-decoration: none;
  font-weight: bold;
  color: #333 !important;
  position: relative;
  transition: all .2s;
  cursor: pointer;
  background-color: #fff;
  background-image: url(/images/icon_arrow_primary_m_right.svg);
  background-repeat: no-repeat;
  background-position: 15px 14px;
  background-size: 15px 15px;
  border: 1px solid #ced6dc;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
}

.button a, .buttonUp a, .buttonLeft a, .buttonDown a, .buttonEdit a, .buttonGreen a, .buttonLarge a, .buttonWin a, .buttonPdf a, .buttonWord a, .buttonExcel a, .buttonPpt a {
  text-decoration: none;
}

@media print, screen and (min-width: 1024px) {
  .button, .buttonUp, .buttonLeft, .buttonDown, .buttonEdit, .buttonGreen, .buttonLarge, .buttonWin, .buttonPdf, .buttonWord, .buttonExcel, .buttonPpt {
    background-position: 15px 16px;
  }
  .button:hover, .buttonUp:hover, .buttonLeft:hover, .buttonDown:hover, .buttonEdit:hover, .buttonGreen:hover, .buttonLarge:hover, .buttonWin:hover, .buttonPdf:hover, .buttonWord:hover, .buttonExcel:hover, .buttonPpt:hover {
    color: #fff !important;
    text-decoration: none;
    background-color: #1bb366;
    background-image: url(/images/icon_arrow_white_m_right.svg);
    background-repeat: no-repeat;
    background-size: 15px 15px;
    border: 1px solid #1bb366;
    box-shadow: 0px 0px 0px 0px #e4e2e2;
  }
}

.buttonUp {
  background-image: url(/images/icon_arrow_primary_m_up.svg);
  background-size: 15px 15px;
}

.buttonUp:hover {
  background-image: url(/images/icon_arrow_white_m_up.svg);
  background-size: 15px 15px;
}

.buttonLeft {
  background-image: url(/images/icon_arrow_primary_m_left.svg);
  background-position: 10px center;
}

.buttonLeft:hover {
  background-image: url(/images/icon_arrow_white_m_left.svg);
  background-size: 15px 15px;
}

.buttonDown {
  background-image: url(/images/icon_arrow_primary_m_down.svg);
  background-size: 15px 15px;
}

.buttonDown:hover {
  background-image: url(/images/icon_arrow_white_m_down.svg);
  background-size: 15px 15px;
}

.buttonEdit {
  background-color: #999;
  color: #fff !important;
  background-image: none;
  border-color: #999;
}

.buttonEdit:hover {
  background-color: #666;
  border-color: #666;
  background-image: none;
}

.buttonGreen {
  background-color: #1bb366;
  color: #fff !important;
  background-image: url(/images/icon_arrow_white_m_right.svg);
  border-color: #1bb366;
}

.buttonGreen:hover {
  background-color: #fd7c09;
  border-color: #fd7c09;
}

.buttonLarge {
  padding: 14px 40px 14px 40px;
  font-weight: bold;
  font-size: 18px;
  font-size: 1rem;
}

/*=====================================================
  buttonWin
=====================================================*/
.buttonWin {
  padding-right: 34px;
  background-image: url(/images/icon_win.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 17px 13px;
}

.buttonWin:hover {
  background-image: url(/images/icon_win_white.svg);
}

.buttonPdf {
  background-image: url("../images/icon_file_pdf.svg");
  background-repeat: no-repeat;
  background-position: left 10px center;
  background-size: 18px 18px;
}

.buttonPdf:hover {
  background-image: url("../images/icon_file_pdf.svg");
  background-size: 18px 18px;
}

.buttonWord {
  background-image: url("../images/icon_file_word.svg");
  background-repeat: no-repeat;
  background-position: left 10px center;
  background-size: 18px 18px;
}

.buttonWord:hover {
  background-image: url("../images/icon_file_word.svg");
  background-size: 18px 18px;
}

.buttonExcel {
  background-image: url("../images/icon_file_excel.svg");
  background-repeat: no-repeat;
  background-position: left 10px center;
  background-size: 18px 18px;
}

.buttonExcel:hover {
  background-image: url("../images/icon_file_excel.svg");
  background-size: 18px 18px;
}

.buttonPpt {
  background-image: url("../images/icon_file_ppt.svg");
  background-repeat: no-repeat;
  background-position: left 10px center;
  background-size: 18px 18px;
}

.buttonPpt:hover {
  background-image: url("../images/icon_file_ppt.svg");
  background-size: 18px 18px;
}

/*=====================================================
  color
=====================================================*/
.red {
  color: #f3390d;
}

.blue {
  color: #1bb366;
}

.green {
  color: #42b31a;
}

.yellow {
  color: #ffff00;
}

.orange {
  color: #ff9900;
}

.fc-button {
  font-size: 12px !important;
}

@media print, screen and (min-width: 1024px) {
  .fc-button {
    font-size: 16px !important;
  }
}

.fc-toolbar h2 {
  margin: 0;
  padding: 0;
  color: #333;
  font-size: 18px !important;
  background-color: transparent !important;
}

@media print, screen and (min-width: 1024px) {
  .fc-toolbar h2 {
    font-size: 24px !important;
  }
}

.fc-toolbar h2:before {
  display: none;
}

.fc-content .fc-title {
  color: #fff;
  font-weight: normal;
  letter-spacing: 0;
}

.fc-list-item-title a {
  text-decoration: underline !important;
}

.fc-list-item-title a:link {
  color: #085ff2;
}

.fc-list-item-title a:visited {
  color: #7b1fa2;
}

.fc-list-item-title a:hover, .fc-list-item-title a:active {
  color: #ff00ff;
}

.fs--xl {
  font-size: 22px;
  font-size: 1.22222rem;
}

@media print, screen and (min-width: 1024px) {
  .fs--xl {
    font-size: 26px;
    font-size: 1.44444rem;
  }
}

.fs--l {
  font-size: 18px;
  font-size: 1rem;
}

@media print, screen and (min-width: 1024px) {
  .fs--l {
    font-size: 20px;
    font-size: 1.11111rem;
  }
}

.fs--ml {
  font-size: 18px;
  font-size: 1rem;
}

.fs--m {
  font-size: 18px;
  font-size: 1rem;
}

.fs--s {
  font-size: 12px;
  font-size: 0.66667rem;
}

@media print, screen and (min-width: 1024px) {
  .fs--s {
    font-size: 13px;
    font-size: 0.72222rem;
  }
}

/*=====================================================
  tblBlock--form
=====================================================*/
.f__errorMsg {
  padding: 5px;
  display: block;
  color: #f3390d !important;
  font-weight: bold;
  line-height: 1.8;
  background-color: #fdeaea;
}

/*=====================================================
  f_text
=====================================================*/
input[type=checkbox],
input[type=radio] {
  margin-right: 10px;
  display: inline-block;
}

input[type=submit],
button {
  border: none;
  cursor: pointer;
}

textarea {
  box-sizing: border-box;
}

label {
  margin-right: 0;
  display: inline-block;
}

.f_caseText {
  color: #999;
}

.f__text {
  padding: 14px !important;
  border: 1px solid #e5e5df !important;
  font-size: 15px;
  font-size: 0.83333rem;
}

.f__select {
  padding: 14px !important;
  border: 1px solid #e5e5df !important;
  font-size: 18px;
  font-size: 1rem;
}

@media print, screen and (min-width: 768px) {
  .f__select {
    font-size: 15px;
    font-size: 0.83333rem;
  }
}

.f__textarea {
  padding: 10px !important;
  border: 1px solid #e5e5df !important;
  font-size: 18px;
  font-size: 1rem;
  line-height: 1.8;
}

.f__name,
.f__kana {
  width: 80%;
}

@media print, screen and (min-width: 768px) {
  .f__name,
  .f__kana {
    width: 300px;
  }
}

.f__fullName {
  width: 80%;
}

@media print, screen and (min-width: 768px) {
  .f__fullName {
    width: 300px;
  }
}

.f__age {
  width: 10%;
}

@media print, screen and (min-width: 768px) {
  .f__age {
    width: 50px;
  }
}

.f__tel {
  width: 80%;
}

@media print, screen and (min-width: 768px) {
  .f__tel {
    width: 300px;
  }
}

.f__zip {
  width: 80%;
}

@media print, screen and (min-width: 768px) {
  .f__zip {
    width: 160px;
  }
}

.f__company,
.f__dep {
  width: 70%;
}

@media print, screen and (min-width: 768px) {
  .f__company,
  .f__dep {
    width: 300px;
  }
}

.f__mail {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .f__mail {
    width: 400px;
  }
}

.f__date {
  width: 100%;
}

.f__address {
  width: 100%;
}

.f__comment {
  width: 100%;
  height: 200px;
}

@media print, screen and (min-width: 1024px) {
  .f__comment {
    height: 300px;
  }
}

.f__require {
  background-color: #fefdc5;
}

.f_requireBox {
  display: inline-block;
  padding: 10px;
}

.iconRequire {
  margin-left: 5px;
  padding: 3px 8px;
  position: relative;
  top: -2px;
  display: inline-block;
  color: #FFF;
  line-height: 1;
  font-size: 11px;
  font-size: 0.61111rem;
  background-color: #f3390d;
  border-radius: 10px;
}

/*==================================================
  buttonSubmit
==================================================*/
.buttonSubmit {
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
  padding: 15px;
  display: inline-block;
  position: relative;
  font-size: 20px;
  font-size: 1.11111rem;
  font-weight: bold;
  color: #fff;
  background-color: #1bb366;
  border-radius: 5px;
  box-shadow: 0px 5px 0px 0px #e4e2e2;
  -webkit-appearance: none;
}

@media print, screen and (min-width: 1024px) {
  .buttonSubmit {
    padding: 25px;
    font-size: 26px;
    font-size: 1.44444rem;
    border-radius: 10px;
    transition: all .2s;
  }
  .buttonSubmit:hover {
    background-color: #fd7c09;
    box-shadow: 0px 0px 0px 0px #e4e2e2;
  }
}

/*---------------------------------------------------
  errBox
---------------------------------------------------*/
.errBdrBox {
  margin-bottom: 1rem;
  padding: 15px 20px;
  font-weight: bold;
  color: #f3390d;
  border: 5px solid #f3390d;
  background: #fdeaea;
}

@media print, screen and (min-width: 768px) {
  .errBdrBox {
    padding: 20px;
  }
}

.errBdrBox p {
  font-size: 18px;
  font-size: 1rem;
}

@media print, screen and (min-width: 768px) {
  .errBdrBox p {
    font-size: 20px;
    font-size: 1.11111rem;
  }
}

/*---------------------------------------------------
  err
---------------------------------------------------*/
.f__errForm {
  border: 1px solid #f3390d !important;
  background: #fdeaea !important;
}

.f__errBox {
  background: #fdeaea !important;
}

.f__errMsg {
  margin: 0 0 10px 0;
  padding: 10px;
  color: #f3390d;
  font-weight: bold;
  line-height: 1.4;
  background-color: #fdeaea;
}

.f__errText {
  margin-bottom: 10px;
  padding: 8px;
  color: #f3390d;
  font-size: 14px;
  font-size: 0.77778rem;
  line-height: 1.4;
  font-weight: bold;
  background-color: #fdeaea;
}

.fBtnArea {
  margin: 2rem 0;
  overflow: hidden;
}

.fBtnArea .fBtnArea__rightBox {
  margin-bottom: 40px;
}

@media print, screen and (min-width: 576px) {
  .fBtnArea .fBtnArea__rightBox {
    width: 48%;
    float: right;
  }
}

.fBtnArea .fBtnArea__leftBox {
  margin-bottom: 40px;
}

@media print, screen and (min-width: 576px) {
  .fBtnArea .fBtnArea__leftBox {
    width: 48%;
    float: left;
  }
}

/*==================================================
  f_button
==================================================*/
.f_button {
  width: 100%;
  cursor: pointer;
  font-size: 18px;
  font-size: 1rem;
  font-weight: bold;
  letter-spacing: 0.1rem;
}

@media print, screen and (min-width: 768px) {
  .f_button {
    width: auto;
    padding: 24px 84px 24px 34px;
    font-weight: bold;
    font-size: 22px;
    font-size: 1.22222rem;
  }
}

/*=====================================================
  hr
=====================================================*/
hr {
  width: 100%;
  height: 3px;
  margin: 20px 0;
  padding: 0;
  border: none;
  background: url(/images/hr_bg.png) repeat-x 0 0;
}

/*=====================================================
  icon
=====================================================*/
.iconArrow, .iconArrowLeft, .iconArrowUp, .iconArrowDown {
  padding-left: 20px;
  background-image: url(/images/icon_arrow_primary_m_right.svg);
  background-repeat: no-repeat;
  background-position: 0 4px;
  background-size: 15px 15px;
}

.iconArrowLeft {
  background-image: url(/images/icon_arrow_primary_m_left.svg);
  background-size: 15px 15px;
}

.iconArrowUp {
  background-image: url(/images/icon_arrow_primary_m_up.svg);
  background-size: 15px 15px;
}

.iconArrowDown {
  background-image: url(/images/icon_arrow_primary_m_down.svg);
  background-size: 15px 15px;
}

/*=====================================================
  new
=====================================================*/
.iconNew {
  margin-left: 5px;
  margin-right: 5px;
  padding: 3px 6px 2px 6px;
  display: inline-block;
  font-size: 8px;
  font-size: 0.44444rem;
  color: #fff;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0;
  background: #f3390d;
  border-radius: 30px;
  vertical-align: middle;
}

/*=====================================================
  file
=====================================================*/
.iconPdf::before, .iconWord::before, .iconExcel::before, .iconPpt::before {
  width: 14px;
  height: 18px;
  margin-right: 8px;
  padding-right: 4px;
  display: inline-block;
  position: relative;
  top: -2px;
  content: '';
  background-image: url("/images/icon_file_pdf.svg");
  background-repeat: no-repeat;
  background-position: 0 0;
  vertical-align: middle;
}

.iconWord::before {
  background-image: url("/images/icon_file_word.svg");
}

.iconExcel::before {
  background-image: url("/images/icon_file_excel.svg");
}

.iconPpt::before {
  background-image: url("/images/icon_file_ppt.svg");
}

.iconWin {
  position: relative;
}

.iconWin::after {
  width: 18px;
  height: 13px;
  margin-left: 5px;
  margin-right: 5px;
  padding-right: 10px;
  display: inline-block;
  content: '';
  background: url(/images/icon_win.svg) no-repeat 0 0;
  background-size: 17px 13px;
  vertical-align: middle;
  background-size: 17px 13px;
}

.icon--none::before,
.icon--none::after {
  width: 0 !important;
  height: 0 !important;
  margin-bottom: 0;
  padding: 0 !important;
  content: "" !important;
  background: none !important;
}

.icon--noneBefore::before {
  padding: 0 !important;
  content: "" !important;
}

.icon--noneAfter::after {
  padding: 0 !important;
  content: "" !important;
}

/*=====================================================
  indexList
=====================================================*/
.indexList ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.indexList ul li {
  width: 100%;
  margin: 0 0 10px 0;
  padding: 0;
  list-style: none;
}

@media print, screen and (min-width: 768px) {
  .indexList ul li {
    width: 32%;
    margin-right: 2%;
    margin-bottom: 2%;
  }
  .indexList ul li:nth-child(3n) {
    margin-right: 0;
  }
}

.indexList ul .button, .indexList ul .buttonUp, .indexList ul .buttonLeft, .indexList ul .buttonDown, .indexList ul .buttonEdit, .indexList ul .buttonGreen, .indexList ul .buttonLarge, .indexList ul .buttonWin, .indexList ul .buttonPdf, .indexList ul .buttonWord, .indexList ul .buttonExcel, .indexList ul .buttonPpt {
  width: 100%;
}

@media print, screen and (min-width: 1024px) {
  .indexList ul .button, .indexList ul .buttonUp, .indexList ul .buttonLeft, .indexList ul .buttonDown, .indexList ul .buttonEdit, .indexList ul .buttonGreen, .indexList ul .buttonLarge, .indexList ul .buttonWin, .indexList ul .buttonPdf, .indexList ul .buttonWord, .indexList ul .buttonExcel, .indexList ul .buttonPpt {
    padding: 20px 30px 20px 46px;
    font-size: 20px;
    font-size: 1.11111rem;
    background-position: 20px 26px;
    border-radius: 10px;
  }
}

/*=====================================================
  linkList
=====================================================*/
.linkList, .linkListAnchor {
  margin: 1rem 0;
  padding: 0;
}

.linkList ul, .linkListAnchor ul {
  margin: 0;
  padding: 0;
}

.linkList li, .linkListAnchor li {
  padding: 0 0 0 22px;
  list-style: none;
  background-image: url(/images/icon_arrow_primary_m_right.svg);
  background-repeat: no-repeat;
  background-position: 0 6px;
  background-size: 15px 15px;
}

@media print, screen and (min-width: 1024px) {
  .linkList li, .linkListAnchor li {
    background-position: 0 8px;
  }
}

.linkList.linkList--side ul, .linkList--side.linkListAnchor ul {
  overflow: hidden;
}

@media print, screen and (min-width: 576px) {
  .linkList.linkList--side li, .linkList--side.linkListAnchor li {
    padding-right: 20px;
    display: inline-block;
  }
}

.linkList.linkList--2col ul, .linkList--2col.linkListAnchor ul {
  overflow: hidden;
}

@media print, screen and (min-width: 576px) {
  .linkList.linkList--2col li, .linkList--2col.linkListAnchor li {
    width: 49%;
    padding-right: 2%;
    display: inline-block;
    vertical-align: top;
  }
  .linkList.linkList--2col li:nth-child(2n), .linkList--2col.linkListAnchor li:nth-child(2n) {
    padding-right: 0;
  }
}

.linkList.linkList--left li, .linkList--left.linkListAnchor li {
  background-image: url(/images/icon_arrow_primary_m_left.svg);
}

.linkList.linkList--up li, .linkList--up.linkListAnchor li {
  background-image: url(/images/icon_arrow_primary_m_up.svg);
}

.linkList.linkList--down li, .linkList--down.linkListAnchor li {
  background-image: url(/images/icon_arrow_primary_m_down.svg);
}

/*=====================================================
  linkListAnchor
=====================================================*/
.linkListAnchor {
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 10px 20px;
  border: 1px solid #ced6dc;
}

.linkListAnchor ul {
  overflow: hidden;
}

.linkListAnchor li {
  padding-left: 22px;
  background-image: url(/images/icon_arrow_primary_m_down.svg);
  background-position: 0 6px;
  background-size: 15px 15px;
}

@media print, screen and (min-width: 576px) {
  .linkListAnchor li {
    padding-left: 20px;
    padding-right: 20px;
    display: inline-block;
    background-position: 0 8px;
  }
}

.linkListAnchor.linkListAnchor--right ul li {
  background-image: url(/images/icon_arrow_primary_m_right.svg);
  background-position: 0 6px;
  background-size: 15px 15px;
}

@media print, screen and (min-width: 1024px) {
  .linkListAnchor.linkListAnchor--right ul li {
    background-position: 0 8px;
  }
}

/*=====================================================
  ol/ul
=====================================================*/
ol,
ul {
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 0px 0px 0px 30px;
}

ol li,
ul li {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding-bottom: 0;
  padding-left: 0;
  line-height: 1.8;
  font-size: 16px;
  font-size: 0.88889rem;
}

@media print, screen and (min-width: 1024px) {
  ol li,
  ul li {
    font-size: 18px;
    font-size: 1rem;
  }
}

ol li ul,
ul li ul {
  margin-top: 10px;
  margin-bottom: 10px;
}

.list--none ul {
  padding-left: 0;
}

.list--none ul li {
  list-style: none !important;
}

/*=====================================================
  dl
=====================================================*/
dl dt {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  line-height: 1.8;
  font-weight: bold;
  font-size: 16px;
  font-size: 0.88889rem;
}

@media print, screen and (min-width: 1024px) {
  dl dt {
    font-size: 18px;
    font-size: 1rem;
  }
}

dl dd {
  margin-top: 0.8rem;
  margin-bottom: 0.8rem;
  padding-left: 1rem;
  line-height: 1.8;
  font-size: 16px;
  font-size: 0.88889rem;
}

@media print, screen and (min-width: 1024px) {
  dl dd {
    font-size: 18px;
    font-size: 1rem;
  }
}

dl label {
  margin-bottom: 10px;
  font-size: 16px;
  font-size: 0.88889rem;
}

@media print, screen and (min-width: 1024px) {
  dl label {
    font-size: 18px;
    font-size: 1rem;
  }
}

/*==================================================
  list2col
==================================================*/
.list2col ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

@media print, screen and (min-width: 576px) {
  .list2col ul li {
    width: 46%;
  }
}

/*==================================================
  list3col
==================================================*/
.list3col ul {
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .list3col ul li {
    width: 30%;
    margin-right: 5%;
  }
  .list3col ul li:nth-child(3n) {
    margin-right: 0;
  }
}

/*==================================================
  list4col
==================================================*/
.list4col ul {
  display: flex;
  flex-wrap: wrap;
}

@media print, screen and (min-width: 768px) {
  .list4col ul li {
    width: 22%;
    margin-right: 4%;
  }
  .list4col ul li:nth-child(4n) {
    margin-right: 0;
  }
}

/*=====================================================
  ol/ul
=====================================================*/
.listArrow ul, .listArrow ol {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0px;
}

.listArrow li {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0;
  list-style: none;
}

.listArrow li a {
  padding: 2px 15px 2px 15px;
  display: inline-block;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1.4;
  background-image: url(/images/icon_arrow_primary_s_right.svg);
  background-repeat: no-repeat;
  background-position: 0 8px;
  background-size: 5px 7px;
}

@media print, screen and (min-width: 1024px) {
  .listArrow li a {
    font-size: 18px;
    font-size: 1rem;
  }
}

.listArrow.listArrow--horizon li {
  margin-right: 20px;
  display: inline-block;
}

/*=====================================================
  news
=====================================================*/
.news {
  margin: 0;
  padding: 0;
}

.news ul {
  margin: 0;
  padding: 0;
}

.news ul li {
  margin: 0;
  padding: 15px 0;
  list-style: none;
  border-top: 1px dotted #CCC;
}

.news ul li:first-child {
  padding-top: 0;
  border-top-width: 0;
}

.news .news__category {
  width: 100%;
  margin-bottom: 10px;
  display: flex;
  flex-wrap: wrap;
}

.news .news__date {
  width: 100%;
  font-weight: bold;
}

@media print, screen and (min-width: 1024px) {
  .news .news__date {
    width: 180px;
  }
}

.news .news__tagBox {
  width: 100%;
}

@media print, screen and (min-width: 1024px) {
  .news .news__tagBox {
    width: calc(100% - 180px);
  }
}

/*=====================================================
  paging
=====================================================*/
.paging {
  text-align: center;
}

.paging ul {
  margin: 0;
  padding: 0;
}

.paging ul li {
  margin: 0;
  padding: 0px;
  font-size: 15px;
  font-size: 0.83333rem;
  font-family: Helvetica, Arial, sans-serif;
  list-style: none;
  background-image: none;
  line-height: 1;
  display: inline-block;
  margin-bottom: 5px;
}

@media print, screen and (min-width: 1024px) {
  .paging ul li {
    font-size: 18px;
    font-size: 1rem;
  }
}

.paging ul li a {
  color: #333;
  display: inline-block;
  padding: 8px 10px;
  text-decoration: none;
  border: 1px solid #ced6dc;
  box-sizing: border-box;
  border-radius: 5px;
  transition: all .2s;
}

@media print, screen and (min-width: 1024px) {
  .paging ul li a {
    padding: 12px 14px;
  }
  .paging ul li a:hover {
    background: #1bb366;
    color: #fff;
    border-color: #1bb366;
  }
}

.paging ul li.on a {
  background: #1bb366 !important;
  color: #fff !important;
  border-color: #1bb366 !important;
}

/*=====================================================
  table
=====================================================*/
table th, table td {
  font-size: 16px;
  font-size: 0.88889rem;
}

@media print, screen and (min-width: 1024px) {
  table th, table td {
    font-size: 18px;
    font-size: 1rem;
  }
}

/*---------------------------------------------------
  table
---------------------------------------------------*/
table {
  margin-top: 25px;
  margin-bottom: 25px;
}

table.table--small th, table.table--small td {
  padding: 8px 5px;
  font-size: 13px;
  font-size: 0.72222rem;
}

caption {
  margin-bottom: 10px;
  display: inline-block;
  font-size: 16px;
  font-size: 0.88889rem;
  text-align: left;
}

@media print, screen and (min-width: 1024px) {
  caption {
    font-size: 18px;
    font-size: 1rem;
  }
}

th {
  padding: 12px;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  background-color: #e7f5e3;
  border: 1px solid #e5e5df;
}

@media print, screen and (min-width: 1024px) {
  th {
    font-size: 18px;
    font-size: 1rem;
  }
}

thead th {
  background-color: #e7f5e3;
  text-align: center;
  vertical-align: middle;
}

td {
  padding: 12px;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1.5;
  background-color: #fff;
  border: 1px solid #e5e5df;
  vertical-align: middle;
}

@media print, screen and (min-width: 1024px) {
  td {
    font-size: 18px;
    font-size: 1rem;
  }
}

.tableBlock table {
  padding-bottom: 20px;
  display: block;
  border-width: 0;
}

@media print, screen and (min-width: 768px) {
  .tableBlock table {
    padding-bottom: 0;
    display: table;
  }
}

.tableBlock tbody {
  display: block;
}

@media print, screen and (min-width: 768px) {
  .tableBlock tbody {
    display: table-row-group;
  }
}

.tableBlock tr {
  display: block;
}

@media print, screen and (min-width: 768px) {
  .tableBlock tr {
    display: table-row;
  }
}

.tableBlock th, .tableBlock td {
  display: block;
  border-width: 0;
}

@media print, screen and (min-width: 768px) {
  .tableBlock th, .tableBlock td {
    display: table-cell;
    border-width: 1px;
  }
}

.tableBlock th {
  text-align: left;
  font-weight: bold;
}

.tableBlock th:empty {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .tableBlock th {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .tableBlock th:empty {
    display: table-cell;
  }
}

.tableBlock td {
  padding: 12px;
}

@media print, screen and (min-width: 768px) {
  .tableBlock td {
    padding: 12px;
    border: 1px solid #e5e5df;
    border-bottom-style: solid;
  }
}

/* =====================================================
  tableBorderNone
=====================================================*/
.main .tableBorderNone table, #editor-input-content .tableBorderNone table {
  margin-top: 30px;
  margin-bottom: 30px;
  border: none;
}

.main .tableBorderNone th, #editor-input-content .tableBorderNone th {
  padding: 8px 10px;
  text-align: left;
  font-size: 14px;
  font-size: 0.77778rem;
  line-height: 1.5;
  border: none;
}

@media print, screen and (min-width: 1024px) {
  .main .tableBorderNone th, #editor-input-content .tableBorderNone th {
    font-size: 18px;
    font-size: 1rem;
  }
}

.main .tableBorderNone thead th, #editor-input-content .tableBorderNone thead th {
  text-align: center;
  border: none;
}

.main .tableBorderNone td, #editor-input-content .tableBorderNone td {
  padding: 8px 10px;
  line-height: 1.5;
  font-size: 14px;
  font-size: 0.77778rem;
  border: none;
}

@media print, screen and (min-width: 1024px) {
  .main .tableBorderNone td, #editor-input-content .tableBorderNone td {
    font-size: 18px;
    font-size: 1rem;
  }
}

/*=====================================================
  scroll
=====================================================*/
.scroll {
  margin: 20px 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

@media print, screen and (min-width: 1024px) {
  .scroll {
    margin: 0;
    overflow: visible;
    white-space: normal;
  }
}

.scroll table {
  max-width: 1020px;
  width: 800px;
  margin: 1rem 0 !important;
}

@media print, screen and (min-width: 1024px) {
  .scroll table {
    width: 100%;
    max-width: 1200px;
  }
}

.scroll table th,
.scroll table td {
  vertical-align: middle;
}

.scroll::-webkit-scrollbar {
  height: 5px;
}

.scroll::-webkit-scrollbar-track {
  border-radius: 5px;
  background: #eee;
}

.scroll::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #666;
}

.scroll:before {
  content: "\008868\00306f\005de6\0053f3\00306b\0030b9\0030af\0030ed\0030fc\0030eb\003067\00304d\00307e\003059";
  /* 文字化け対策のためUnicode変換 */
  color: #fff;
  font-size: 12px;
  background-color: #666;
  border-radius: 8px;
  padding: 0.05em 0.5em;
}

@media print, screen and (min-width: 1024px) {
  .scroll:before {
    display: none;
  }
}

/*==================================================
  tableBtnView
==================================================*/
.tableBtnView {
  width: 100%;
  padding: 10px;
  display: block;
  color: #fff;
  line-height: 1;
  text-align: center;
  background-color: #1bb366;
  border-radius: 3px;
  transition: all .2s;
}

.tableBtnView .icon {
  padding-left: 30px;
  display: inline-block;
  background-image: url("/images/swap_horiz_white_24dp.svg");
  background-repeat: no-repeat;
  background-position: 0 center;
  background-size: 24px 24px;
}

.tableBtnView.on {
  background-color: #817f7f;
}

@media print, screen and (min-width: 768px) {
  .tableBtnView {
    display: none;
  }
}

/*=====================================================
  topicPath
=====================================================*/
.topicPath {
  width: 100%;
  margin: 0 0 15px 0;
  padding: 8px 20px 0 20px;
  overflow: hidden;
  position: relative;
}

@media print, screen and (min-width: 1280px) {
  .topicPath {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 30px auto;
    padding: 12px 0;
  }
}

.topicPath:after {
  width: 100px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  display: inline-block;
  background-image: linear-gradient(to right, rgba(255, 255, 255, 0), #fff);
}

.topicPath ol {
  margin: 0;
  padding: 0 0 5px 0;
  white-space: nowrap;
  position: relative;
  overflow-x: auto;
}

.topicPath ol li {
  margin: 0;
  padding: 0;
  display: inline-block;
  list-style: none;
  font-size: 12px;
  font-size: 0.66667rem;
  line-height: 1.4;
  color: #7f7f74;
}

@media print, screen and (min-width: 1024px) {
  .topicPath ol li {
    font-size: 14px;
    font-size: 0.77778rem;
  }
}

.topicPath ol li::before {
  content: " > ";
}

.topicPath ol li:first-child::before {
  content: "";
}

.topicPath ol li a {
  color: #7f7f74;
  text-decoration: none;
}

.topicPath ol li a:hover {
  text-decoration: underline;
}

/*---------------------------------------------------
  h1
---------------------------------------------------*/
h1,
.h1 {
  margin-bottom: 20px;
  font-size: 20px;
  font-size: 1.11111rem;
  font-weight: bold;
}

@media print, screen and (min-width: 1024px) {
  h1,
  .h1 {
    font-size: 30px;
    font-size: 1.66667rem;
  }
}

/*---------------------------------------------------
  h2
---------------------------------------------------*/
h2,
.h2 {
  margin: 20px 0;
  padding: 12px 14px 12px 20px;
  font-size: 22px;
  font-size: 1.22222rem;
  display: block;
  line-height: 1.5;
  color: #fff;
  font-weight: bold;
  position: relative;
  background-color: #1bb366;
}

@media print, screen and (min-width: 1024px) {
  h2,
  .h2 {
    margin-bottom: 30px;
    padding: 14px 16px 14px 24px;
    font-size: 28px;
    font-size: 1.55556rem;
  }
}

h2:before,
.h2:before {
  width: 6px;
  height: 28px;
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 0;
  background-color: #8dd9b2;
}

@media print, screen and (min-width: 1024px) {
  h2:before,
  .h2:before {
    width: 8px;
    height: 34px;
    top: 18px;
  }
}

h2:first-child,
.h2:first-child {
  margin-top: 0;
}

/*---------------------------------------------------
  h3
---------------------------------------------------*/
h3,
.h3 {
  margin: 20px 0;
  padding-bottom: 0.5rem;
  display: block;
  position: relative;
  font-size: 20px;
  font-size: 1.11111rem;
  line-height: 1.4;
  font-weight: bold;
  border-bottom: 3px solid #eaf0f3;
}

@media print, screen and (min-width: 1024px) {
  h3,
  .h3 {
    font-size: 24px;
    font-size: 1.33333rem;
    margin-bottom: 30px;
  }
}

h3::after,
.h3::after {
  position: absolute;
  bottom: -3px;
  left: 0;
  z-index: 2;
  content: '';
  width: 30%;
  height: 3px;
  background-color: #1bb366;
}

@media print, screen and (min-width: 1024px) {
  h3::after,
  .h3::after {
    width: 140px;
  }
}

/*---------------------------------------------------
  h4
---------------------------------------------------*/
h4,
.h4 {
  margin: 20px 0;
  padding: 0 0 10px 20px;
  display: block;
  position: relative;
  font-size: 18px;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: bold;
  border-bottom: 1px dotted #ccc;
}

@media print, screen and (min-width: 1024px) {
  h4,
  .h4 {
    font-size: 22px;
    font-size: 1.22222rem;
  }
}

h4:before,
.h4:before {
  width: 10px;
  height: 10px;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
  background-color: #1bb366;
}

@media print, screen and (min-width: 1024px) {
  h4:before,
  .h4:before {
    top: 8px;
  }
}

/*---------------------------------------------------
  h5
---------------------------------------------------*/
h5,
.h5 {
  margin: 20px 0;
  padding: 0 0 0 20px;
  position: relative;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1.4;
  font-weight: bold;
}

@media print, screen and (min-width: 1024px) {
  h5,
  .h5 {
    font-size: 20px;
    font-size: 1.11111rem;
  }
}

h5:before,
.h5:before {
  width: 13px;
  height: 3px;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 7px;
  background-color: #1bb366;
}

/*---------------------------------------------------
  h6
---------------------------------------------------*/
h6,
.h6 {
  margin: 20px 0;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 1.4;
  font-weight: bold;
}

@media print, screen and (min-width: 1024px) {
  h6,
  .h6 {
    font-size: 18px;
    font-size: 1rem;
  }
}

/*---------------------------------------------------
  leadText
---------------------------------------------------*/
.leadText {
  font-size: 18px;
  font-size: 1rem;
  line-height: 1.4;
  font-weight: bold;
}

@media print, screen and (min-width: 1024px) {
  .leadText {
    font-size: 26px;
    font-size: 1.44444rem;
    line-height: 1.8;
  }
}

/*---------------------------------------------------
  p
---------------------------------------------------*/
p {
  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 16px;
  font-size: 0.88889rem;
  line-height: 2;
}

@media print, screen and (min-width: 1024px) {
  p {
    font-size: 18px;
    font-size: 1rem;
  }
}

p:first-child {
  margin-top: 0;
}

/*=====================================================
  nowrap
=====================================================*/
.nowrap {
  white-space: nowrap;
}

/*=====================================================
  note
=====================================================*/
.note1 {
  display: inline-block;
  padding-left: 1rem;
  text-indent: -1rem;
}

.note1_5 {
  display: inline-block;
  padding-left: 1.5rem;
  text-indent: -1.5rem;
}

.note2 {
  display: inline-block;
  padding-left: 2rem;
  text-indent: -2rem;
}

.note2_5 {
  display: inline-block;
  padding-left: 2.5rem;
  text-indent: -2.5rem;
}

.note3 {
  display: inline-block;
  padding-left: 3rem;
  text-indent: -3rem;
}

.note3_5 {
  display: inline-block;
  padding-left: 3.5rem;
  text-indent: -3.5rem;
}
