@charset "UTF-8";

/*************************************
	ブレークポイント
*************************************/
/*************************************
	ブレイクポイント毎の表示切り替え
*************************************/
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important;
  }
}

/*************************************
	基本マージン
*************************************/
.mb-30{
  margin-bottom: 30px;
}
/*************************************
	フォントサイズ
*************************************/
/*************************************
	文字省略
*************************************/
/*************************************
	文字隠し
*************************************/
/*************************************
	ベンダープレフィックス
*************************************/
/*************************************
	フォントファミリー
*************************************/
/*************************************
	hover アニメーション
*************************************/
/*************************************
	自社イベントアイコン設定
*************************************/
/*************************************
	点線
*************************************/
/*************************************
	フォームリセット
*************************************/
/*************************************
	投稿スタイル
*************************************/
/*************************************
	each のサンプル
*************************************/
.test1 {
  width: 10000;
}

.test2 {
  width: 20000;
}

.test3 {
  width: 30000;
}

html {
  opacity: 0;
}

main div.content {
  margin: 0 auto;
  box-sizing: border-box;
  width: 100%;
}
@media screen and (min-width: 768px) {
  main div.content {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  main div.content {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) {
  main div.content {
    max-width: 1238px;
  }
}
@media screen and (min-width: 768px) {
  main section.sideMgn {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  main section.sideMgn {
    padding-left: 20px;
    padding-right: 20px;
  }
}

div#btnPageTop > a {
  display: none;
  position: fixed;
  display: block;
}
@media screen and (min-width: 768px) {
  div#btnPageTop > a:hover {
    opacity: 0.6;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
}
div#btnPageTop > a.nofix {
  position: absolute;
  bottom: auto;
}
@media screen and (min-width: 768px) {
  div#btnPageTop > a {
    right: 50%;
    bottom: 15px;
    width: 39px;
    height: 37px;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 768px) and (min-width: 1238px) {
  div#btnPageTop > a {
    margin-right: -610px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) {
  div#btnPageTop > a {
    margin-right: -49vw;
  }
}

@media screen and (max-width: 767px) {
  div#btnPageTop > a {
    right: 10px;
    bottom: 10px;
    width: 28px;
    height: 27px;
  }
}

div.moreBtn {
  margin-bottom: 10px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  div.moreBtn {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  div.moreBtn {
    margin-top: 40px;
  }
}
div.moreBtn > button, div.moreBtn > a {
  padding-bottom: 24px;
  display: inline-block;
  background: url(../img/btn_arrow_dw.svg) 50% 100%/44px 20px no-repeat;
}
@media screen and (min-width: 768px) {
  div.moreBtn > button:hover, div.moreBtn > a:hover {
    opacity: 0.6;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
}
div.moreBtn > button::before, div.moreBtn > a::before {
  margin-bottom: 0.25em;
  display: block;
  font-size: 1.4rem;
  content: "もっと見る";
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  div.moreBtn > button, div.moreBtn > a {
    padding-bottom: 16px;
    background-size: 30px 16px;
  }
  div.moreBtn > button::before, div.moreBtn > a::before {
    font-size: 1.2rem;
  }
}
div.moreBtn > button > img, div.moreBtn > a > img {
  width: 100%;
}
div.moreBtn.re > button, div.moreBtn.re > a {
  padding-top: 24px;
  padding-bottom: 0;
  background-position: 50% 0%;
  background-image: url(../img/btn_arrow_up.svg);
}
div.moreBtn.re > button::before, div.moreBtn.re > a::before {
  margin-top: 0.25em;
  margin-bottom: 0;
  content: "閉じる";
}
@media screen and (max-width: 767px) {
  div.moreBtn.re > button, div.moreBtn.re > a {
    padding-top: 16px;
  }
}

div.wp-pagenavi {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  text-align: center;
}
@media screen and (min-width: 768px) {
  div.wp-pagenavi {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  div.wp-pagenavi {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
div.wp-pagenavi > a, div.wp-pagenavi > span {
  padding: 0.1em 0.5em;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  div.wp-pagenavi > a, div.wp-pagenavi > span {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  div.wp-pagenavi > a, div.wp-pagenavi > span {
    font-size: 1.6rem;
  }
}
div.wp-pagenavi > span {
  opacity: 0.5;
}
@media screen and (min-width: 768px) {
  div.wp-pagenavi > a:hover {
    color: #d7083b;
  }
}

footer {
  position: relative;
  margin: 0 auto;
  padding: 20px 0;
  max-width: 1238px;
  border-top: 1px solid #040000;
}
@media screen and (min-width: 768px) {
  footer a:hover {
    color: #d7083b;
  }
}
footer div.copy {
  margin-top: 20px;
  line-height: 1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  footer div.copy {
    margin-left: 40px;
    margin-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  footer div.copy {
    margin-left: 20px;
    margin-right: 20px;
  }
}
footer div.group {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  footer div.group {
    margin-left: 30px;
    margin-right: 30px;
  }
}
@media screen and (max-width: 767px) {
  footer div.group {
    margin-left: 10px;
    margin-right: 10px;
  }
}
footer div.group h2 a {
  display: block;
}
@media screen and (min-width: 768px) {
  footer div.group h2 a:hover {
    opacity: 0.6;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
}
footer div.group > div ul {
  margin: 0 auto;
}
footer div.group > div ul li {
  line-height: 1;
}
footer div.group > div ul li > a {
  display: inline-block;
}
footer div.group > div.nav ul, footer div.group > div.link ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-around;
}
footer div.group > div.nav ul li a, footer div.group > div.link ul li a {
  white-space: nowrap;
}
footer div.group > div.nav ul li {
  letter-spacing: 0.1em;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
}
@media screen and (min-width: 1238px) {
  footer div.group > div.nav ul li {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 1237px) {
  footer div.group > div.nav ul li {
    font-size: 1.5rem;
  }
}
footer div.group > div.nav ul li a {
  padding: 0 0.5em;
}
footer div.group > div.link ul li {
  line-height: 1.2;
  font-size: 1rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 300;
}
footer div.group > div.sns ul li {
  display: inline-block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  footer div.group > div.sns ul li a:hover {
    opacity: 0.6;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
}
footer div.group > div.sns ul li a > img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  footer div.group {
    flex-wrap: nowrap;
  }
}
@media screen and (min-width: 768px) and (min-width: 1238px) {
  footer div.group > * > * {
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) {
  footer div.group > *:last-child > * {
    padding-right: 0px;
  }
  footer div.group > div.link ul {
    margin-bottom: -0.75em;
  }
  footer div.group > div.link ul li {
    margin-bottom: 0.75em;
  }
  footer div.group > div.link ul li a {
    padding: 0.25em;
  }
}
@media screen and (min-width: 768px) and (min-width: 1238px) {
  footer div.group > div.sns {
    margin-right: 4px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) {
  footer div.group > div.sns {
    margin-right: 6px;
  }
}
@media screen and (min-width: 768px) {
  footer div.group > div.sns ul {
    width: 26px;
  }
  footer div.group > div.sns ul li {
    margin-top: 5px;
  }
  footer div.group > div.sns ul li:first-child {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 1238px) {
  footer div.group h2 {
    width: 300px;
  }
  footer div.group > div.nav ul {
    flex-wrap: nowrap;
  }
  footer div.group  > div.nav ol{
     flex-wrap: nowrap;
  }
  footer div.group ol li{
    margin-bottom:10px;
  }
  footer div.group > div.link ul {
    justify-content: flex-start;
    width: 260px;
  }
  footer div.group > div.link ul li:nth-child(odd) {
    width: 140px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) {
  footer div.group > div.nav {
    padding-left: 10px;
  }
  footer div.group > div.nav ul {
    width: 240px;
    justify-content: flex-start;
    margin-bottom: -1em;
  }
  footer div.group > div.nav ul li {
    width: 120px;
    margin-bottom: 1em;
  }
  footer div.group > div.link ul {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
  }
  footer div.group > div.link ul li br {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  footer div.group {
    flex-wrap: wrap;
  }
  footer div.group > * {
    margin: 15px auto 0;
  }
  footer div.group > *.link {
    margin-top: 0;
  }
  footer div.group > div, footer div.group h2 {
    text-align: center;
    width: 100%;
  }
  footer div.group > div.nav ul, footer div.group > div.link ul {
    justify-content: flex-start;
  }
  footer div.group > div.nav ul li, footer div.group > div.link ul li {
    display: table;
    width: 50%;
  }
  footer div.group > div.nav ul li > div, footer div.group > div.link ul li > div {
    display: table-cell;
    vertical-align: middle;
    height: 32px;
  }
  footer div.group > div.nav ul li a, footer div.group > div.link ul li a {
    padding: 0.5em 0.25em;
  }
  footer div.group > div.sns ul {
    display: flex;
    justify-content: space-between;
    max-width: 162px;
  }
  footer div.group > div.sns ul li a img {
    width: 34px;
  }
}

footer div.group ol{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 20px;
}
@media screen and  (max-width: 1237px) {
  footer div.group ol{
    display: block;
  }
}
@media screen and (max-width:767px){
  footer div.group ol{
    margin-top: 0;
    margin-bottom: 30px;
  }
}
.nonAccordionPc footer div.group ol li.search{
  flex-grow: 0;
}
footer div.group ol li.search{
  order: 1;
  margin-right: 15px;
}
@media screen and (max-width:767px){
  footer div.group ol li.search{
    flex-grow: 1;
    order: initial;
    margin-right: 0;
    margin-bottom: 0;
  }
}
footer div.group ol li.search div.form {
  overflow: hidden;
}
footer div.group ol li.search div.form div.outer {
  width: 100%;
  display: table;
  vertical-align: middle;
  table-layout: fixed;
}
footer div.group ol li.search div.form div.outer div.inner {
  display: table-cell;
}
footer div.group ol li.search div.form form input {
  border: none;
  background: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font-size: 14px;
}
footer div.group ol li.search div.form form input::-ms-expand {
  display: none;
}
footer div.group ol li.search div.form form input[type="search"] {
  padding: 0 0.5em;
  box-sizing: border-box;
  border: 1px solid #000;
  max-width: 200px;
  width: 100%;
  height: 24px;
  vertical-align: middle;
  font-size: 12px;
  outline: 0 !important;
}
@media screen and (min-width: 768px) and (max-width: 1237px), screen and (min-width: 768px) and (max-height: 799px) {
  footer div.group ol li.search div.form form input[type="search"] {
    height: 24px;
  }
}
@media screen and (max-width:767px){
  footer div.group ol li.search div.form form input[type="search"]{
    max-width: none;
    height: 33px;
  }
}
footer div.group ol li.search div.form form input[type="submit"] {
  background: url(../img/btn_search.svg) 50% 50%/auto 100% no-repeat, #000;
  width: 100%;
  height: 24px;
  vertical-align: middle;
  text-indent: 1000%;
  white-space: nowrap;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  footer div.group ol li.search div.form form input[type="submit"]:hover {
    opacity: 0.6;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px), screen and (min-width: 768px) and (max-height: 799px) {
  footer div.group ol li.search div.form form input[type="submit"] {
    height: 24px;
  }
}
@media screen and (max-width: 767px) {
  footer div.group ol li.search {
    width: 100%;
    order: 0;
  }
  footer div.group ol li.search ul li:nth-child(1) {
    width: auto;
  }
  footer div.group ol li.search div.form form input[type="submit"]{
    height: 33px;
  }
}

@media screen and (min-width: 768px) {
  footer div.group ol li.search {
    width: 200px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1238px), screen and (min-width: 768px) and (min-height: 800px) {
  footer div.group ol li.search {
    margin-bottom: 10px;
    margin-right: 10px;
    margin-left: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px), screen and (min-width: 768px) and (max-height: 799px) {
  footer div.group ol li.search {
    margin-bottom: 10px;
    margin-right: 10px;
    margin-left: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) and (min-width: 1050px), screen and (min-width: 768px) and (max-height: 799px) and (min-width: 1050px) {
  footer div.group ol li.search {

  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) and (max-width: 1049px), screen and (min-width: 768px) and (max-height: 799px) and (max-width: 1049px) {
  footer div.group ol li.search {

  }
}
@media screen and (max-width: 767px) {
  footer div.group ol li.search {
    padding: 1.25em 0;
  }
  footer div.group ol li.search div.form {
    margin: 0 auto;
    max-width: 280px;
  }
}
footer div.group ol li.search div.form div.outer div.inner:nth-child(1) {
  width: auto;
}
footer div.group ol li.search div.form div.outer div.inner:nth-child(2) {
  width: 60px;
}

.nonAccordionPc footer div.group ol li.prefectures{
  flex-grow: 0;
}
footer div.group ol li.prefectures {
  order: 2;
  margin-right: 10px;
  text-align: center;
}
@media screen and (max-width:1237px){
  footer div.group ol li.prefectures{
    margin-right: auto;
    margin-bottom: auto;
  }
}
@media screen and (max-width:767px){
  footer div.group ol li.prefectures{
    flex-grow: 1;
    order: 6;
    margin-right: auto;
    margin-bottom: auto;
    width: 100%;
  }
}
footer div.group ol li.prefectures div.outer {
  position: relative;
  display: inline-block;
  width: 167px;
  z-index: 0;
  border-radius: 12px;
  border: 2px solid #aaa;
  border-style: solid;
  border-width: 10px;
  border-image-slice: 50;
  border-image-outset: 0;
  border-image-repeat: round;
  border-image-source: url(../img/frame_round_bold.png);
}
footer div.group ol li.prefectures div.outer::before {
  border-radius: 12px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 1em;
  z-index: 0;
  white-space: nowrap;
  content: "都道府県検索";
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  footer div.group ol li.prefectures div.outer {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  footer div.group ol li.prefectures div.outer::before {
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
  }
  footer div.group ol li.prefectures div.outer:hover {
    background-color: #000;
  }
  footer div.group ol li.prefectures div.outer:hover::before {
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  footer div.group ol li.prefectures div.outer{
    max-width: 200px;
    width: 100%;
  }
  footer div.group ol li.prefectures div.outer::before {
    width: 162px;
  }
}
footer div.group ol li.prefectures div.outer label {
  display: block;
}
footer div.group ol li.prefectures div.outer label select {
  box-sizing: border-box;
  width: 100%;
  height: 29px;
  line-height: 27px;
  white-space: nowrap;
  color: inherit;
  border: none;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  outline: none;
  opacity: 0;
}
footer div.group ol li.prefectures div.outer label select::-ms-expand {
  display: none;
}
footer div.group ol li.prefectures div.outer label select::-moz-focus-inner {
  border: 0;
}
@media screen and (max-width: 767px) {
  footer div.group ol li.prefectures div.outer {
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) and (min-width: 1050px), screen and (min-width: 768px) and (max-height: 799px) and (min-width: 1050px) {
  footer div.group ol li.prefectures{
    margin-bottom: 10px;
    margin-right: 10px;
    margin-left: 10px;
  }
  footer div.group ol li.prefectures div.outer {
    display: block;
    /* width: 100%; */
    width: 182px;
    box-sizing: border-box;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) and (max-width: 1049px), screen and (min-width: 768px) and (max-height: 799px) and (max-width: 1049px) {
  footer div.group ol li.prefectures{
    margin-bottom: 10px;
    margin-right: 10px;
    margin-left: 10px;
  }
  footer div.group ol li.prefectures div.outer {
    display: block;
    /* width: 100%; */
    width: 182px;
    box-sizing: border-box;
  }
}
footer div.group ol li.prefectures div.outer::before {
  line-height: 1em;
}
footer div.group ol li.prefectures div.outer div.inner {
  margin: -9px 0;
}
@media screen and (min-width: 768px) and (min-width: 1238px) {
  footer div.group ol li.prefectures div.outer label {
    margin-left: -10px;
    margin-right: -10px;
  }
  footer div.group ol li.prefectures div.outer label select {
    padding: 0 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px), screen and (min-width: 768px) and (max-height: 799px) {
  footer div.group ol li.prefectures div.outer label {
    margin: -12px -10px;
  }
  footer div.group ol li.prefectures div.outer label select {
    padding: 0 5px;
    height: 33px;
  }
}

@media screen and (max-width: 767px) {
  footer div.group ol li.prefectures div.outer {
    margin: 6px 0;
  }
  footer div.group ol li.prefectures div.outer div.inner {
    margin: -12px -16px;
  }
  footer div.group ol li.prefectures div.outer label select {
    padding: 0 1.5em;
    height: 33px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1238px) {
  footer div.group ol li.prefectures div.outer{
    display: block;
  }
  footer div.group ol li.prefectures div.outer::before,
  footer div.group ol li.prefectures div.outer label select {
    padding-top: 3px;
    font-size: 14px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px), screen and (min-width: 768px) and (max-height: 799px) {
  footer div.group ol li.prefectures div.outer::before,
  footer div.group ol li.prefectures div.outer label select {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  footer div.group ol li.prefectures div.outer::before,
  footer div.group ol li.prefectures div.outer label select {
    font-size: 1.4rem;
  }
}
.nonAccordionPc footer div.group ol li.promotion{
  flex-grow: 0;
}
footer div.group ol li.promotion{
  order: 3;
  text-align: center;
}
@media screen and (max-width:1237px){
  footer div.group ol li.promotion{
    margin-right: auto;
    margin-bottom: auto;
  }
}
@media screen and (max-width:767px){
  footer div.group ol li.promotion.pcOnly{
    display: none;
  }
  footer div.group ol li.promotion{
    flex-grow: 1;
    order: 7;
    margin-right: auto;
    margin-bottom: auto;
    width: 100%;
  }
}
footer div.group ol li.promotion .inner{
  max-height: 31.1px;
}
footer div.group ol li.promotion a {
  position: relative;
  display: block;
  width: 162px;
  height: 0.8em;
  z-index: 0;
  border-radius: 12px;
  border: 2px solid #aaa;
  border-style: solid;
  border-width: 10px;
  border-image-slice: 50;
  border-image-outset: 0;
  border-image-repeat: round;
  border-image-source: url(../img/frame_round_bold.png);
  background-color: rgba(255, 255, 0, .3);
}
footer div.group ol li.promotion a p {
  border-radius: 12px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  padding-top: 3px;
  white-space: nowrap;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #000000;
}
@media screen and (min-width: 768px) {
  footer div.group ol li.promotion a {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  footer div.group ol li.promotion a p {
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
  }
  footer div.group ol li.promotion a:hover {
    background-color: #000;
  }
  footer div.group ol li.promotion a:hover p {
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  footer div.group ol .spOnly li.promotion{
    border-right: 0;
    width: 100%;
  }
  footer div.group ol .spOnly li.promotion .outer{
    margin: 6px 0;
  }
  footer div.group ol .spOnly li.promotion a{
    margin: 0 auto;
    padding: 1px 0;
    max-width: 200px;
    width: 100%;
    height: .5em;
    line-height: 1em;
  }
  footer div.group ol .spOnly li.promotion a p {
    padding-bottom: 2px;
    width: 162px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) and (min-width: 1050px), screen and (min-width: 768px) and (max-height: 799px) and (min-width: 1050px) {
  footer div.group ol li.promotion{
    margin-right: 10px;
    margin-left: 10px;
  }
  footer div.group ol li.promotion a{
    padding: 1px 0;
    height: 0.5em;
    line-height: 1em;
  }
  footer div.group ol li.promotion a p{
    padding-top: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) and (max-width: 1049px), screen and (min-width: 768px) and (max-height: 799px) and (max-width: 1049px) {
  footer div.group ol li.promotion{
    margin-right: 10px;
    margin-left: 10px;
  }
  footer div.group ol li.promotion a{
    padding: 1px 0;
    height: 0.5em;
    line-height: 1em;
  }
  footer div.group ol li.promotion a p{
    padding-top: 0;
  }
}
@media screen and (max-width:767px){
  footer div.group ol li.promotion a{
    margin: 0 auto;
    padding: 1px 0;
    max-width: 200px;
    width: 100%;
    height: .5em;
    line-height: 1em;
  }
  footer div.group ol li.promotion a p {
    padding-bottom: 2px;
    width: 162px;
  }
}


section h2 {
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  section h2 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  section h2 {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  section h2 {
    font-size: 5.616rem;
  }
}
@media screen and (max-width: 767px) {
  section h2 {
    font-size: 3.3696rem;
  }
}
section h2.nonMgnB {
  margin-bottom: 0;
}
section h2.deco > div {
  line-height: 1.2;
  position: relative;
  display: inline-block;
}
section h2.deco > div > span {
  display: inline-block;
}
section h2.deco > div::after {
  display: inline-block;
  background: url(../img/icon_ja.svg) 50% 50%/100% auto no-repeat;
  content: "";
}
@media screen and (min-width: 768px) {
  section h2.deco > div {
    margin-right: -15px;
  }
  section h2.deco > div::after {
    margin-left: -35px;
    margin-bottom: -15px;
    width: 50px;
    height: 50px;
  }
}
@media screen and (max-width: 767px) {
  section h2.deco > div {
    margin-right: -10px;
  }
  section h2.deco > div::after {
    margin-left: -20px;
    margin-bottom: -10px;
    width: 30px;
    height: 30px;
  }
}
@media screen and (min-width: 768px) {
  section div.slideAttention {
    margin: 40px -40px 0;
  }
}
@media screen and (max-width: 767px) {
  section div.slideAttention {
    margin: 20px -20px 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 1050px) {
  section div.slideAttention div.key ul.bxslider li a {
    width: 1050px;
    height: 575px;
  }
  section div.slideAttention div.key ul.bxslider li a img {
    min-height: 575px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1049px) {
  section div.slideAttention div.key ul.bxslider li a {
    width: 100vw;
    height: 54.7619047619vw;
  }
  section div.slideAttention div.key ul.bxslider li a img {
    min-height: 54.7619047619vw;
  }
}

@media screen and (max-width: 767px) {
  section div.slideAttention div.key ul.bxslider li a {
    width: 100vw;
    height: 54.7588005215vw;
  }
  section div.slideAttention div.key ul.bxslider li a img {
    min-height: 54.7588005215vw;
  }
}

.center {
  text-align: center;
}

.notification {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .notification {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  .notification {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  .notification {
    font-size: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .notification {
    font-size: 2.4rem;
  }
}

a.btnRound {
  padding: 0 0.5em;
  display: inline-block;
  line-height: 1;
  white-space: nowrap;
  border-radius: 12px;
  border-color: #fff;
  border: 2px solid #fff;
  border-style: solid;
  border-width: 10px;
  border-image-slice: 50;
  border-image-outset: 0;
  border-image-repeat: round;
  border-image-source: url(../img/frame_round.png);
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (min-width: 768px) {
  a.btnRound {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  a.btnRound {
    margin-top: 10px;
  }
}
@media screen and (min-width: 768px) {
  a.btnRound {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  a.btnRound {
    font-size: 1.12rem;
  }
}
a.btnRound div {
  margin-top: -0.25em;
  margin-bottom: -0.25em;
}
a.btnRound:hover {
  color: #fff;
  background-color: #000;
}

div.description .tag ul li {
  display: inline-block;
}
div.description .tag ul li a {
  display: block;
  padding: 0.25em 0.5em;
}
div.description .tag ul li a:hover {
  color: #d7083b;
}

.primary {
  border-bottom: 1px solid #040000;
}
.primary.works img {
  width: 200px;
  max-width: 40%;
}
@media screen and (min-width: 768px) {
  .primary {
    margin-bottom: 60px;
    padding-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .primary {
    margin-bottom: 40px;
    padding-bottom: 40px;
  }
}
.primary.announce > div.logo {
  text-align: center;
}
.primary.announce > div.logo img {
  width: 100%;
  max-width: 325px;
}
.primary.announce > div.desc a {
  text-decoration: underline;
}
.primary.announce > div.desc a:hover {
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .primary.announce {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .primary.announce > div.desc {
    padding-left: 6%;
    max-width: 400px;
  }
}
@media screen and (max-width: 767px) {
  .primary.announce > div.desc {
    margin: 2em auto 0;
    max-width: 406px;
  }
}

@media screen and (min-width: 768px) {
  div.colList,
  div.rowList {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  div.colList,
  div.rowList {
    margin-top: 40px;
  }
}
div.colList ul li > a,
div.rowList ul li > a {
  display: block;
}
@media screen and (min-width: 768px) {
  div.colList ul li > a:hover,
  div.rowList ul li > a:hover {
    opacity: 0.6;
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
}
div.colList ul li div.thumb,
div.rowList ul li div.thumb {
  overflow: hidden;
  position: relative;
}
div.colList ul li div.thumb img,
div.rowList ul li div.thumb img {
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
div.colList ul li div.description .ttl,
div.rowList ul li div.description .ttl {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
  line-height: 1.65;
}
div.colList ul li div.description .day,
div.rowList ul li div.description .day {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 300;
  line-height: 1.65;
}
div.colList ul li div.description .tag,
div.rowList ul li div.description .tag {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 300;
  line-height: 1.65;
}
div.colList ul li div.description .badge,
div.rowList ul li div.description .badge {
  margin-right: 1em;
  border-radius: 1.5em;
  padding: 0.6em 1.5em 0.5em;
  line-height: 1;
  display: inline-block;
  color: #fff;
  background-color: #e50012;
  font-size: 1.2rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 300;
}
div.colList ul li > .a-container a:hover,
div.rowList ul li > .a-container a:hover{
  opacity: 0.7;
}
div.colList ul li > .a-container > div.description .ttl,
div.rowList ul li > .a-container > div.description .ttl{
  line-height: 1.5;
}
div.colList ul li > .a-container > div.description .ttl a,
div.rowList ul li > .a-container > div.description .ttl a{
  display: block;
  font-size: 25px;
}
div.colList ul li > .a-container > div.description .day a,
div.rowList ul li > .a-container > div.description .day a{
  display: block;
}
div.colList ul li > .a-container > div.description .info,
div.rowList ul li > .a-container > div.description .info{
  margin-top: 10px;
}
div.colList ul li > .a-container > div.description .info a,
div.rowList ul li > .a-container > div.description .info a{
  display: block;
  font-size: 14px;
}
div.colList ul li > .a-container > div.description .tag,
div.rowList ul li > .a-container > div.description .tag {
  display: flex;
  flex-wrap: wrap;
  margin: 15px -2px -2px;
}
div.colList ul li > .a-container > div.description .tag .tag-link,
div.rowList ul li > .a-container > div.description .tag .tag-link{
  margin: 2px;
}
div.colList ul li > .a-container > div.description .tag .tag-link a,
div.rowList ul li > .a-container > div.description .tag .tag-link a{
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  border: 1px solid #000;
  padding: 2px 10px 0;
  min-height: 17px;
  line-height: 1.3;
  font-size: 11px;
  font-weight: bold;
  color: #000;
  background-color: #fff;
  transition: background-color .2s;
  opacity: 1;
  font-family: "heisei-kaku-gothic-std",sans-serif;
}
div.colList ul li > .a-container > div.description .tag .tag-link a:hover,
div.rowList ul li > .a-container > div.description .tag .tag-link a:hover{
  color: #fff;
  background-color: #000;
}
div.colList ul li > .a-container > div.description .badge,
div.rowList ul li > .a-container > div.description .badge{
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  div.colList ul li,
  div.rowList ul li {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
  }
  div.colList ul li:last-child,
  div.rowList ul li:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
  }
  div.colList ul li > a > div.thumb,
  div.rowList ul li > a > div.thumb,
  div.colList ul li > .a-container > div.thumb,
  div.rowList ul li > .a-container > div.thumb {
    width: 100%;
    height: 51.6vw;
  }
  div.colList ul li > a > div.description,
  div.rowList ul li > a > div.description,
  div.colList ul li > .a-container > div.description,
  div.rowList ul li > .a-container > div.description {
    margin-top: 10px;
  }
  div.colList ul li > a > div.description > div,
  div.rowList ul li > a > div.description > div,
  div.colList ul li > .a-container > div.description > div,
  div.rowList ul li > .a-container > div.description > div {
    margin-bottom: 5px;
  }
  div.colList ul li > a > div.description > div:last-child,
  div.rowList ul li > a > div.description > div:last-child,
  div.colList ul li > .a-container > div.description > div:last-child,
  div.rowList ul li > .a-container > div.description > div:last-child {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 767px) and (min-width: 768px) {
  div.colList ul li > a > div.description .ttl,
  div.rowList ul li > a > div.description .ttl{
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  div.colList ul li > a > div.description .ttl,
  div.rowList ul li > a > div.description .ttl{
    font-size: 2.08rem;
  }
  div.colList ul li > .a-container > div.description .ttl a,
  div.rowList ul li > .a-container > div.description .ttl a{
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) and (min-width: 768px) {
  div.colList ul li > a > div.description .day,
  div.rowList ul li > a > div.description .day,
  div.colList ul li > .a-container > div.description .day,
  div.rowList ul li > .a-container > div.description .day {
    font-size: 2.1rem;
  }
  div.colList ul li > .a-container > div.description .day a,
  div.rowList ul li > .a-container > div.description .day a{
    display: block;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  div.colList ul li > a > div.description .day,
  div.rowList ul li > a > div.description .day,
  div.colList ul li > .a-container > div.description .day,
  div.rowList ul li > .a-container > div.description .day {
    font-size: 1.68rem;
  }
}
@media screen and (max-width: 767px) and (min-width: 768px) {
  div.colList ul li > a > div.description .tag,
  div.rowList ul li > a > div.description .tag,
  div.colList ul li > .a-container > div.description .tag,
  div.rowList ul li > .a-container > div.description .tag {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  div.colList ul li > a > div.description .tag,
  div.rowList ul li > a > div.description .tag,
  div.colList ul li > .a-container > div.description .tag,
  div.rowList ul li > .a-container > div.description .tag {
    font-size: 1.12rem;
  }
}

div.colList ul li div.desc {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  div.colList {
    overflow: hidden;
  }
  div.colList ul {
    margin-left: -15px;
    margin-right: -15px;
    display: flex;
    justify-content: space-around;
  }
  div.colList ul li {
    margin: 0 15px;
    width: 33.3%;
  }
}
@media screen and (min-width: 768px) and (min-width: 1238px) {
  div.colList ul li div.thumb {
    width: 366px;
    height: 200px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px) {
  div.colList ul li div.thumb {
    width: 29.563812601vw;
    height: 16.155088853vw;
  }
}
@media screen and (min-width: 768px) {
  div.colList ul li div.description {
    margin-top: 10px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  div.colList ul li div.description .ttl {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  div.colList ul li div.description .ttl {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 768px) {
  div.colList ul li div.description .day {
    margin-top: 10px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  div.colList ul li div.description .day {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  div.colList ul li div.description .day {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 768px) {
  div.rowList {
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  div.rowList {
    margin-bottom: 40px;
  }
}
div.rowList ul {
  margin: 0 auto;
  max-width: 930px;
}
div.rowList ul > li:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  div.rowList ul li {
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  div.rowList ul li {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  div.rowList ul li > a,
  div.rowList ul li > .a-container {
    display: flex;
    align-items: center;
    width: 100%;
  }
  div.rowList ul li > a > div,
  div.rowList ul li > .a-container > div {
    box-sizing: border-box;
  }
  div.rowList ul li > a > div.thumb,
  div.rowList ul li > .a-container > div.thumb {
    max-width: 422px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1010px) {
  div.rowList ul li > a > div.thumb,
  div.rowList ul li > .a-container > div.thumb {
    width: 420px;
    height: 230px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1009px) {
  div.rowList ul li > a > div.thumb,
  div.rowList ul li > .a-container > div.thumb {
    width: 41.5841584158vw;
    height: 22.7722772277vw;
  }
}
@media screen and (min-width: 768px) {
  div.rowList ul li > a > div.description,
  div.rowList ul li > .a-container > div.description {
    padding-left: 4.3%;
    width: 54.6%;
    max-width: 508px;
  }
  div.rowList ul li > a > div.description > div,
  div.rowList ul li > .a-container > div.description > div {
    margin-bottom: 5px;
  }
  div.rowList ul li > a > div.description > div:last-child,
  div.rowList ul li > .a-container > div.description > div:last-child {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  div.rowList ul li > a > div.description .ttl,
  div.rowList ul li > .a-container > div.description .ttl {
    font-size: 2.6rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  div.rowList ul li > a > div.description .ttl,
  div.rowList ul li > .a-container > div.description .ttl {
    font-size: 2.08rem;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  div.rowList ul li > a > div.description .day,
  div.rowList ul li > .a-container > div.description .day {
    font-size: 2.1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  div.rowList ul li > a > div.description .day,
  div.rowList ul li > .a-container > div.description .day {
    font-size: 1.68rem;
  }
}
@media screen and (min-width: 768px) {
  div.rowList ul li > a > div.description .tag {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  div.rowList ul li > a > div.description .tag,
  div.rowList ul li > .a-container > div.description .tag {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  div.rowList ul li > a > div.description .tag,
  div.rowList ul li > .a-container > div.description .tag {
    font-size: 1.12rem;
  }
}

.postStyle {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 300;
}
.postStyle h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
.postStyle h2 {
  font-size: 1.5em;
  margin: 0.75em 0;
}
.postStyle h3 {
  font-size: 1.17em;
  margin: 0.83em 0;
}
.postStyle h4 {
  font-size: 1em;
  margin: 1.12em 0;
}
.postStyle h5 {
  font-size: 0.83em;
  margin: 1.5em 0;
}
.postStyle h6 {
  font-size: 0.75em;
  margin: 1.67em 0;
}
.postStyle h1, .postStyle h2, .postStyle h3, .postStyle h4, .postStyle h5, .postStyle h6 {
  text-align: initial;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 900;
}
.postStyle h1 > *, .postStyle h2 > *, .postStyle h3 > *, .postStyle h4 > *, .postStyle h5 > *, .postStyle h6 > * {
  font-size: inherit;
}
.postStyle strong {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
}
.postStyle a {
  text-decoration: underline;
  color: #0a22ea;
  display: inline-block;
}
.postStyle a:hover {
  text-decoration: none;
}
.postStyle p {
  margin: 1em 0;
}
.postStyle p.center-rgh {
  text-align: center;
}
.postStyle .aligncenter {
  margin-left: auto;
  margin-right: auto;
  display: block;
}
.postStyle pre {
  white-space: normal;
}

div.btnSquare {
  text-align: center;
}
@media screen and (min-width: 768px) {
  div.btnSquare {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  div.btnSquare {
    margin-top: 10px;
    margin-bottom: 10px;
  }
}
div.btnSquare > div,
div.btnSquare > a {
  line-height: 1;
  padding: 0.75em 2em;
  border: 3px solid #000;
  display: inline-block;
  font-size: 1.6rem;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
div.btnSquare > div > div > p,
div.btnSquare > a > div > p {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  div.btnSquare > a:hover {
    background-color: #000;
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  div.btnSquare.mgnB {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 767px) {
  div.btnSquare.mgnB {
    margin-bottom: 20px;
  }
}

.iconEventtheir {
  position: relative;
}
.iconEventtheir::before, .iconEventtheir::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  content: "";
}
@media screen and (min-width: 768px) {
  .iconEventtheir::before {
    border-width: 0 0 55px 55px;
  }
  .iconEventtheir::after {
    margin-left: 5px;
    margin-top: 5px;
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 767px) {
  .iconEventtheir::after {
    margin-left: 5px;
    margin-top: 5px;
    width: 30px;
    height: 30px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  main.top div.key ul.bxslider li a.iconEventtheir::before {
    border-width: 0 0 91.6666666667px 91.6666666667px;
  }
  main.top div.key ul.bxslider li a.iconEventtheir::after {
    margin-left: 8.3333333333px;
    margin-top: 8.3333333333px;
    width: 50px;
    height: 50px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  main.top div.key ul.bxslider li a.iconEventtheir::after {
    margin-left: 8.3333333333px;
    margin-top: 8.3333333333px;
    width: 50px;
    height: 50px;
  }
}

@media screen and (max-width: 767px) and (min-width: 768px) {
  main.top div.key ul.bxslider li a.iconEventtheir::before {
    border-width: 0 0 55px 55px;
  }
  main.top div.key ul.bxslider li a.iconEventtheir::after {
    margin-left: 5px;
    margin-top: 5px;
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  main.top div.key ul.bxslider li a.iconEventtheir::after {
    margin-left: 5px;
    margin-top: 5px;
    width: 30px;
    height: 30px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  div.colList ul li div.thumb.iconEventtheir.iconEventtheir::before,
  div.rowList ul li div.thumb.iconEventtheir.iconEventtheir::before {
    border-width: 0 0 64.1666666667px 64.1666666667px;
  }
  div.colList ul li div.thumb.iconEventtheir.iconEventtheir::after,
  div.rowList ul li div.thumb.iconEventtheir.iconEventtheir::after {
    margin-left: 5.8333333333px;
    margin-top: 5.8333333333px;
    width: 35px;
    height: 35px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  div.colList ul li div.thumb.iconEventtheir.iconEventtheir::after,
  div.rowList ul li div.thumb.iconEventtheir.iconEventtheir::after {
    margin-left: 5.8333333333px;
    margin-top: 5.8333333333px;
    width: 35px;
    height: 35px;
  }
}

@media screen and (max-width: 767px) and (min-width: 768px) {
  div.colList ul li div.thumb.iconEventtheir.iconEventtheir::before,
  div.rowList ul li div.thumb.iconEventtheir.iconEventtheir::before {
    border-width: 0 0 51.3333333333px 51.3333333333px;
  }
  div.colList ul li div.thumb.iconEventtheir.iconEventtheir::after,
  div.rowList ul li div.thumb.iconEventtheir.iconEventtheir::after {
    margin-left: 4.6666666667px;
    margin-top: 4.6666666667px;
    width: 28px;
    height: 28px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  div.colList ul li div.thumb.iconEventtheir.iconEventtheir::after,
  div.rowList ul li div.thumb.iconEventtheir.iconEventtheir::after {
    margin-left: 4.6666666667px;
    margin-top: 4.6666666667px;
    width: 28px;
    height: 28px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  article > div.upper div.thumb.iconEventtheir::before {
    border-width: 0 0 73.3333333333px 73.3333333333px;
  }
  article > div.upper div.thumb.iconEventtheir::after {
    margin-left: 6.6666666667px;
    margin-top: 6.6666666667px;
    width: 40px;
    height: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  article > div.upper div.thumb.iconEventtheir::after {
    margin-left: 6.6666666667px;
    margin-top: 6.6666666667px;
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 767px) and (min-width: 768px) {
  article > div.upper div.thumb.iconEventtheir::before {
    border-width: 0 0 55px 55px;
  }
  article > div.upper div.thumb.iconEventtheir::after {
    margin-left: 5px;
    margin-top: 5px;
    width: 30px;
    height: 30px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  article > div.upper div.thumb.iconEventtheir::after {
    margin-left: 5px;
    margin-top: 5px;
    width: 30px;
    height: 30px;
  }
}

div.prefectures {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  div.prefectures {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  div.prefectures {
    margin-top: 10px;
  }
}
div.prefectures div.outer {
  position: relative;
  display: inline-block;
  z-index: 0;
  border-radius: 12px;
  border: 2px solid #aaa;
  border-style: solid;
  border-width: 10px;
  border-image-slice: 50;
  border-image-outset: 0;
  border-image-repeat: round;
  border-image-source: url(../img/frame_round_bold.png);
}
div.prefectures div.outer::before {
  border-radius: 12px;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  height: 33px;
  line-height: 33px;
  z-index: 0;
  content: attr(data-item);
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 768px) {
  div.prefectures div.outer {
    -webkit-transition: background-color 0.2s;
    transition: background-color 0.2s;
  }
  div.prefectures div.outer::before {
    -webkit-transition: color 0.2s;
    transition: color 0.2s;
  }
}
@media screen and (min-width: 768px) and (min-width: 1238px) {
  div.prefectures div.outer::before {
    width: 180px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px), screen and (min-width: 768px) and (max-height: 799px) {
  div.prefectures div.outer::before {
    width: 120px;
  }
}
@media screen and (min-width: 768px) {
  div.prefectures div.outer:hover {
    background-color: #000;
  }
  div.prefectures div.outer:hover::before {
    color: #fff;
  }
}
@media screen and (max-width: 767px) {
  div.prefectures div.outer::before {
    width: 126px;
  }
}
div.prefectures div.outer div.inner {
  margin: -12px -10px;
}
div.prefectures div.outer label {
  display: block;
}
div.prefectures div.outer label select {
  box-sizing: border-box;
  width: 100%;
  height: 33px;
  line-height: 34px;
  white-space: nowrap;
  color: inherit;
  border: none;
  background: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  outline: none;
  opacity: 0;
}
div.prefectures div.outer label select::-ms-expand {
  display: none;
}
div.prefectures div.outer label select::-moz-focus-inner {
  border: 0;
}
@media screen and (min-width: 768px) and (min-width: 1238px) {
  div.prefectures div.outer label select {
    padding: 0 2em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1237px), screen and (min-width: 768px) and (max-height: 799px) {
  div.prefectures div.outer label select {
    padding: 0 1em;
  }
}

@media screen and (max-width: 767px) {
  div.prefectures div.outer {
    padding-top: 0;
    padding-bottom: 0;
  }
  div.prefectures div.outer div.inner label select {
    padding: 0 1.5em;
  }
}
@media screen and (min-width: 768px) {
  div.prefectures div.outer::before,
  div.prefectures div.outer label select {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  div.prefectures div.outer::before,
  div.prefectures div.outer label select {
    font-size: 1.4rem;
  }
}

div.key {
  margin: 0 auto;
  max-width: 1050px;
}
div.key ul.bxslider li a {
  display: block;
  position: relative;
  overflow: hidden;
}
div.key ul.bxslider li a img {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media screen and (min-width: 768px) and (min-width: 1050px) {
  div.key ul.bxslider li a {
    width: 1050px;
    height: 600px;
  }
  div.key ul.bxslider li a img {
    min-height: 600px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1049px) {
  div.key ul.bxslider li a {
    width: 100vw;
    height: 57.1428571429vw;
  }
  div.key ul.bxslider li a img {
    min-height: 57.1428571429vw;
  }
}

@media screen and (max-width: 767px) {
  div.key ul.bxslider li a {
    width: 100vw;
    height: 57.1056062581vw;
  }
  div.key ul.bxslider li a img {
    min-height: 57.1056062581vw;
  }
}
@media screen and (min-width: 768px) {
  div.key ul.bxslider li a:hover {
    -webkit-transform: scale(1.02, 1.02);
    -ms-transform: scale(1.02, 1.02);
    transform: scale(1.02, 1.02);
    -webkit-transition: all 0.4s;
    transition: all 0.4s;
  }
}
@media screen and (min-width: 768px) {
  div.key div.bxdetail {
    padding-left: 40px;
    padding-right: 40px;
  }
}
@media screen and (max-width: 767px) {
  div.key div.bxdetail {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (min-width: 768px) {
  div.key div.bxdetail {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  div.key div.bxdetail {
    padding-top: 10px;
    padding-bottom: 10px;
  }
}
div.key div.bxdetail ul#bxslider-desc {
  position: relative;
  width: 100%;
  overflow: hidden;
}
div.key div.bxdetail ul#bxslider-desc li {
  position: absolute;
  top: 50%;
  left: 50%;
  visibility: hidden;
  display: table;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
div.key div.bxdetail ul#bxslider-desc li div.outer {
  display: table-cell;
  vertical-align: middle;
  opacity: 0;
}
div.key div.bxdetail ul#bxslider-desc li.show {
  visibility: visible;
}
div.key div.bxdetail ul#bxslider-desc li.show div.outer {
  opacity: 1;
  -webkit-transition: all 1s;
  transition: all 1s;
}
div.key div.bxdetail ul#bxslider-desc li div.description {
  text-align: center;
}
div.key div.bxdetail ul#bxslider-desc li div.description .ttl {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  div.key div.bxdetail ul#bxslider-desc li div.description .ttl {
    font-size: 3.3rem;
  }
}
@media screen and (max-width: 767px) {
  div.key div.bxdetail ul#bxslider-desc li div.description .ttl {
    font-size: 1.98rem;
  }
}
div.key div.bxdetail ul#bxslider-desc li div.description .day {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  div.key div.bxdetail ul#bxslider-desc li div.description .day {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 767px) {
  div.key div.bxdetail ul#bxslider-desc li div.description .day {
    font-size: 1.38rem;
  }
}
div.key div.bxdetail ul#bxslider-desc li div.description .tag {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 300;
}
@media screen and (min-width: 768px) {
  div.key div.bxdetail ul#bxslider-desc li div.description .tag {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 767px) {
  div.key div.bxdetail ul#bxslider-desc li div.description .tag {
    font-size: 1.12rem;
  }
}
@media screen and (min-width: 768px) {
  div.key div.bxdetail ul#bxslider-desc li div.description .day {
    margin-bottom: 10px;
  }
}
@media screen and (max-width: 767px) {
  div.key div.bxdetail ul#bxslider-desc li div.description .day {
    margin-bottom: 5px;
  }
}
div.key .bxslider li {
  display: none;
}
div.key .bxslider li:first-child {
  display: block;
}
div.key .bx-viewport .bxslider li {
  display: block !important;
}
div.key .bx-wrapper {
  margin-bottom: 0;
}


section h1 {
  text-align: center;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-style: normal;
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  section h1 {
    margin-top: 80px;
    margin-bottom: 80px;
  }
}
@media screen and (max-width: 767px) {
  section h1 {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 768px) {
  section h1 {
    font-size: 5.616rem;
  }
}
@media screen and (max-width: 767px) {
  section h1 {
    font-size: 3.3696rem;
  }
}
section h1.nonMgnB {
  margin-bottom: 0;
}
section h1.deco > div {
  line-height: 1.2;
  position: relative;
  display: inline-block;
}
section h1.deco > div > span {
  display: inline-block;
}
section h1.deco > div::after {
  display: inline-block;
  background: url(../img/icon_ja.svg) 50% 50%/100% auto no-repeat;
  content: "";
}
@media screen and (min-width: 768px) {
  section h1.deco > div {
    margin-right: -15px;
  }
  section h1.deco > div::after {
    margin-left: -35px;
    margin-bottom: -15px;
    width: 50px;
    height: 50px;
  }
}
@media screen and (max-width: 767px) {
  section h1.deco > div {
    margin-right: -10px;
  }
  section h1.deco > div::after {
    margin-left: -20px;
    margin-bottom: -10px;
    width: 30px;
    height: 30px;
  }
}