@charset "UTF-8";
/*--------------------------------------------

あすとつながるぐりりパーク
https://www.khb-tv.co.jp/khb/asuto/guriripark/index.html

---------------------------------------------*/
/*--------------------------------------------
  [00] 基本設定
---------------------------------------------*/
* {
  font-family: 'Noto Sans JP', sans-serif; }
  *::selection {
    background: #9ce486; }

html {
  font-size: 62.5%; }

body {
  font-size: 1.8rem;
  line-height: 2;
  color: #252649;
  word-break: break-all; }

body.js-no-scroll {
  overflow: hidden; }

img {
  max-width: 100%;
  height: auto;
  text-align: center; }

a {
  transition: 0.6s;
  color: #9E2DFF;
  font-weight: 600;
  text-decoration-line: underline; }
  a:hover {
    transition: 0.6s;
    opacity: 0.7; }

h1, h2, h3, h4, h5, th {
  font-weight: 700;
  line-height: 1.5; }

p {
  line-height: 2; }

.wrap {
  overflow: hidden;
  width: 100%;
  height: auto; }

main {
  width: 100%; }

/*セクション設定-------------------------*/
.bg-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  /**/
  background-image: url("../images/bg_view.jpg");
  opacity: 0.2;
  z-index: -1; }

.wrap {
  overflow: hidden;
  width: 100%;
  height: auto; }

main {
  width: 100%; }

section {
  padding: 75px 0; }
  section::before {
    content: "";
    display: block;
    height: 100px;
    /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -100px;
    /* heightと同じ分のネガティブマージン */
    visibility: hidden; }

.section_wrap {
  background-color: white;
  border-radius: 25px;
  padding: 50px 0px; }

.w_limit_sp {
  width: 92%;
  margin: auto; }

.w_limit_1920 {
  max-width: 1920px;
  margin: 0 auto; }

.w_limit_1440 {
  max-width: 1440px;
  margin: 0 auto; }

.w_limit_1200 {
  max-width: 1200px;
  margin: 0 auto; }

.w_limit_1100 {
  max-width: 1100px;
  margin: 0 auto; }

.w_limit_1000 {
  max-width: 1000px;
  margin: 0 auto; }

.w_limit_900 {
  max-width: 900px;
  margin: 0 auto; }

.w_limit_800 {
  max-width: 800px;
  margin: 0 auto; }

/*
見出し個別設定
------------------------------*/
h2 {
  line-height: 1.5;
  position: relative;
  padding: 20px 10px 30px;
  margin: 0px 10px 30px;
  display: block;
  font-size: 3.2rem;
  text-align: center;
  vertical-align: middle;
  z-index: 1;
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  letter-spacing: 0.2em; }
  h2::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0px;
    height: 10px;
    width: 77px;
    margin: auto;
    border-radius: 50px; }

section:nth-of-type(3n+2) h2::after {
  background-color: #29bf7d; }

section:nth-of-type(3n+1) h2::after {
  background-color: #42d79e; }

section:nth-of-type(3n) h2::after {
  background-color: #9ce486; }

section.section_bg_green {
  background-color: #29bf7d;
  background-image: url("../../images/bg_footer.png"); }
  section_wrap
  section.section_bg_green h2::after {
    background-color: #42d79e; }

h2.h2_image {
  text-align: center; }
  h2.h2_image img {
    width: 180px;
    height: 180px; }

h3.basic-line {
  font-size: 3.2rem;
  font-weight: 800;
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 25px;
  font-family: "M PLUS 1p", sans-serif; }
  h3.basic-line::after {
    content: '';
    height: 3px;
    width: 100%;
    /*200px*/
    background-color: #36ceff;
    position: absolute;
    left: 0;
    bottom: 0; }

h4.basic-line {
  font-size: 2.6rem;
  font-weight: 600;
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 25px;
  font-family: "M PLUS 1p", sans-serif; }
  h4.basic-line::after {
    content: '';
    height: 3px;
    width: 100%;
    /*200px*/
    background-color: #36ceff;
    position: absolute;
    left: 0;
    bottom: 0; }

h4.basic_h4 {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 2.4rem;
  margin-bottom: 25px; }

h4.h4_lineL_pink {
  border-left: solid 5px #F31EA3;
  margin-bottom: 10px; }

h4.basic_h4_02 {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 2.4rem;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: solid 1px #36ceff; }

/*
flexbox
------------*/
.flex_cal2 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center; }
  .flex_cal2 > figure {
    display: block;
    width: 35%; }
  .flex_cal2 > div {
    width: 60%; }

.flex_cal2_even {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .flex_cal2_even > li, .flex_cal2_even > div {
    width: calc(90%/2);
    margin-right: calc(10%/1); }
    .flex_cal2_even > li:nth-of-type(2n), .flex_cal2_even > div:nth-of-type(2n) {
      margin-right: 0; }
    .flex_cal2_even > li figure, .flex_cal2_even > div figure {
      text-align: center; }
      .flex_cal2_even > li figure img, .flex_cal2_even > div figure img {
        max-width: 270px;
        width: 100%;
        height: auto; }

.flex_cal3 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .flex_cal3 > li, .flex_cal3 > div {
    width: calc(90%/3);
    margin-right: calc(10%/2); }
    .flex_cal3 > li:nth-of-type(3n), .flex_cal3 > div:nth-of-type(3n) {
      margin-right: 0; }
    .flex_cal3 > li figure, .flex_cal3 > div figure {
      text-align: center; }
      .flex_cal3 > li figure img, .flex_cal3 > div figure img {
        max-width: 270px;
        width: 100%;
        height: auto; }

.flex_cal4 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .flex_cal4 > li, .flex_cal4 > div {
    width: calc(90%/4);
    margin-right: calc(10%/3); }
    .flex_cal4 > li:nth-of-type(4n), .flex_cal4 > div:nth-of-type(4n) {
      margin-right: 0; }
    .flex_cal4 > li figure, .flex_cal4 > div figure {
      text-align: center; }

table.default-table {
  margin: 15px auto;
  width: 100%;
  line-height: 1.5; }
  table.default-table th {
    padding: 5px 15px 10px;
    vertical-align: middle;
    background-color: #252649;
    color: #ffffff;
    border-top: solid 1px #ffffff;
    border-bottom: solid 1px #ffffff;
    text-align: center;
    width: 25%; }
  table.default-table td {
    padding: 30px 15px;
    vertical-align: middle;
    background-color: #ffffff;
    border-top: solid 1px #252649;
    border-bottom: solid 1px #252649;
    width: 75%; }
    table.default-table td p {
      line-height: 1.5; }

table.default-table tr:first-of-type th {
  border-top: solid 1px #252649; }

table.default-table tr:last-of-type th {
  border-bottom: solid 1px #252649; }

.listmark {
  padding-left: 15px;
  margin-left: 5px;
  position: relative; }
  .listmark::before {
    content: '';
    background-color: #009662;
    width: 5px;
    height: 5px;
    border-radius: 5px;
    position: absolute;
    top: 13px;
    left: 0; }

.img-Btn img {
  width: 100%;
  max-width: 500px;
  height: auto;
  filter: drop-shadow(5px 5px 5px rgba(104, 69, 18, 0.3)); }

.dropshadow {
  filter: drop-shadow(5px 5px 5px rgba(104, 69, 18, 0.3)); }

@media screen and (max-width: 767px) {
  h3.basic-line {
    font-size: 2.4rem;
    margin-bottom: 15px; }

  h4.basic-line {
    font-size: 2.1rem; }

  h4.basic_h4 {
    font-size: 2.1rem; }

  .bg-fixed {
    /**/
    background-image: url("../images/bg_view_sp.jpg");
    background-size: cover; }

  h2 {
    font-size: 2.6rem;
    line-height: 1.5;
    padding: 30px 15px; }

  .flex_cal2 {
    flex-direction: column; }
    .flex_cal2 > figure {
      text-align: center;
      width: 100%;
      margin-bottom: 15px; }
    .flex_cal2 > div {
      width: 100%; }

  .flex_cal3 {
    flex-direction: column; }
    .flex_cal3 > li, .flex_cal3 > div {
      width: 100%;
      margin-right: 0;
      margin-bottom: 25px; }
      .flex_cal3 > li:last-of-type, .flex_cal3 > div:last-of-type {
        margin-right: 0; }
      .flex_cal3 > li figure, .flex_cal3 > div figure {
        text-align: center; }
        .flex_cal3 > li figure img, .flex_cal3 > div figure img {
          width: 270px; } }
@media screen and (max-width: 480px) {
  section {
    padding: 25px 0; }

  body {
    font-size: 1.6rem; }

  table.default-table th {
    line-height: 1.5;
    width: 15px;
    padding: 25px 10px; }
  table.default-table td {
    width: 85%; } }
@media screen and (max-width: 360px) {
  .none_360 {
    display: none; } }
/*--------------------------------------------
  [01] 全体のレイアウト
---------------------------------------------*/
main {
  padding-top: 90px; }

aside {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 90px;
  z-index: 10; }

aside nav {
  padding: 0;
  /*	border-bottom:solid 5px $green_01;*/
  background-color: rgba(255, 255, 255, 0.85);
  position: relative;
  overflow: visible; }
  aside nav::after {
    content: '';
    background: url("../images/bg_colerfull.svg");
    background-size: 50%;
    background-repeat: repeat;
    width: 100%;
    height: 3px;
    position: absolute;
    bottom: -3px;
    left: 0;
    right: 0; }

aside nav ul {
  padding-bottom: 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  width: 100%; }
  aside nav ul li {
    width: auto;
    /*	  width: calc(95%/6);*/
    width: 100%;
    position: relative;
    border-right: solid 1px #ccc;
    font-size: 0.9vw;
    font-weight: 600;
    line-height: 1.2;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    padding-left: 50px;
    border-bottom: solid 1px #dbdbdb;
    height: 90px;
    /*		br{
    		display: none;	
    		}*/ }
    aside nav ul li:hover {
      transition: 0.3s;
      background-color: rgba(204, 204, 204, 0.2); }
    aside nav ul li::before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 5%;
      margin: auto;
      width: 30px;
      height: 30px;
      background-image: url("../images/icon_guriri_navy.svg");
      background-repeat: no-repeat;
      z-index: 2; }
    aside nav ul li a {
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; }

@media screen and (max-width: 1440px) {
  aside nav ul br {
    display: inline; } }
/*
ナビゲーション装飾個別設定
---------------------------------------*/
nav ul.nav li.top {
  width: 5%;
  border-right-color: #d9d9d9; }
  nav ul.nav li.top::before {
    background-image: url("../images/icon_home.svg");
    left: 0;
    right: 0; }
  nav ul.nav li.top:hover, nav ul.nav li.top a.active {
    background-color: rgba(217, 217, 217, 0.2); }
nav ul.nav li.news {
  border-right-color: #56d3f0; }
  nav ul.nav li.news::before {
    background-image: url("../images/icon_news.svg"); }
  nav ul.nav li.news:hover, nav ul.nav li.news a.active {
    background-color: rgba(86, 211, 240, 0.2); }
nav ul.nav li.about {
  border-right-color: #29bf7d; }
  nav ul.nav li.about::before {
    background-image: url("../images/icon_overview.svg"); }
  nav ul.nav li.about:hover, nav ul.nav li.about a.active {
    background-color: rgba(41, 191, 125, 0.2); }
nav ul.nav li.food {
  border-right-color: #ed9d1c; }
  nav ul.nav li.food::before {
    background-image: url("../images/icon_food.svg"); }
  nav ul.nav li.food:hover, nav ul.nav li.food a.active {
    background-color: rgba(237, 157, 28, 0.2); }
nav ul.nav li.taiken {
  border-right-color: #81c73c; }
  nav ul.nav li.taiken::before {
    background-image: url("../images/icon_flag.svg"); }
  nav ul.nav li.taiken:hover, nav ul.nav li.taiken a.active {
    background-color: rgba(129, 199, 60, 0.2); }
nav ul.nav li.entame {
  border-right-color: #ff73af; }
  nav ul.nav li.entame::before {
    background-image: url("../images/icon_music.svg"); }
  nav ul.nav li.entame:hover, nav ul.nav li.entame a.active {
    background-color: rgba(255, 115, 175, 0.2); }
nav ul.nav li.sdgs {
  border-right-color: #43c7cc; }
  nav ul.nav li.sdgs::before {
    background-image: url("../images/icon_sdgs.svg"); }
  nav ul.nav li.sdgs:hover, nav ul.nav li.sdgs a.active {
    background-color: rgba(67, 199, 204, 0.2); }
nav ul.nav li.miyagi {
  border-right-color: #d54733; }
  nav ul.nav li.miyagi::before {
    background-image: url("../images/icon_miyagi.svg"); }
  nav ul.nav li.miyagi:hover, nav ul.nav li.miyagi a.active {
    background-color: rgba(213, 71, 51, 0.2); }
nav ul.nav li.sports {
  border-right-color: #51a3da; }
  nav ul.nav li.sports::before {
    background-image: url("../images/icon_sports.svg"); }
  nav ul.nav li.sports:hover, nav ul.nav li.sports a.active {
    background-color: rgba(81, 163, 218, 0.2); }
nav ul.nav li.rally {
  border-right-color: #17bd75; }
  nav ul.nav li.rally::before {
    background-image: url("../images/icon_rally.svg"); }
  nav ul.nav li.rally:hover, nav ul.nav li.rally a.active {
    background-color: rgba(23, 189, 117, 0.2); }
nav ul.nav li.map {
  border-right-color: #ed669b; }
  nav ul.nav li.map::before {
    background-image: url("../images/icon_map.svg"); }
  nav ul.nav li.map:hover, nav ul.nav li.map a.active {
    background-color: rgba(237, 102, 155, 0.2); }
nav ul.nav li.sponsor {
  border-right-color: #477be8; }
  nav ul.nav li.sponsor::before {
    background-image: url("../images/icon_company.svg"); }
  nav ul.nav li.sponsor:hover, nav ul.nav li.sponsor a.active {
    background-color: rgba(71, 123, 232, 0.2); }
nav ul.nav li.khb_booth {
  border-right-color: #00C6FF; }
  nav ul.nav li.khb_booth::before {
    background-image: url("../images/icon_guriri_navy.svg"); }
  nav ul.nav li.khb_booth:hover, nav ul.nav li.khb_booth a.active {
    background-color: rgba(0, 198, 255, 0.2); }
nav ul.nav li.asuto {
  height: calc(100vh/18);
  border-right-color: #e52d8a;
  font-size: 1.8rem;
  /*	background-color: $nav-asuto;*/
  /*	&:hover,a.active{background-color: rgba($nav-asuto,0.2);}*/ }
  nav ul.nav li.asuto::before {
    width: 40px;
    height: 40px;
    background-image: url("../images/icon_tv_pink.svg"); }
nav ul.nav li.khbtop {
  height: calc(100vh/18);
  border-right-color: #36ceff;
  font-size: 1.8rem;
  /*	background-color: $nav-khbtop;*/
  /*	&:hover,a.active{background-color: rgba($nav-khbtop,0.2);}*/ }
  nav ul.nav li.khbtop::before {
    width: 40px;
    height: 40px;
    background-image: url("../images/icon_tv_lightblue.svg"); }

/*h3ラインカラー設定*/
#food h3.basic-line::after, #sponsor h4.basic-line::after {
  background-color: #ed9d1c; }

#taiken h3.basic-line::after, #sponsor h4.basic-line::after {
  background-color: #81c73c; }

#entame h3.basic-line::after, #sponsor h4.basic-line::after {
  background-color: #ff73af; }

#sponsor h3.basic-line::after, #sponsor h4.basic-line::after {
  background-color: #477be8; }

.toggle {
  display: none;
  /* 初めは非表示 */ }

/*一旦外部リンク2つのアイコンはなしに*/
aside nav ul li.asuto, aside nav ul li.khbtop {
  font-size: 15px !important;
  padding-left: 15px; }
  aside nav ul li.asuto::before, aside nav ul li.khbtop::before {
    width: 30px;
    height: 30px;
    display: none; }

@media (min-width: 1281px) {
  .disp_sp_only {
    display: none; } }
@media (max-width: 1280px) {
  main {
    margin-left: 0%;
    padding-top: 0; }

  body.active {
    overflow: hidden;
    /*背景スクロール禁止*/ }

  .container {
    flex-direction: column; }

  aside {
    max-width: auto;
    width: 30%;
    height: 100%;
    background-color: #ffffff; }
    aside nav::after {
      display: none; }

  aside nav ul.nav {
    overflow: scroll !important;
    padding-bottom: 0;
    height: 100%;
    max-width: auto;
    flex-direction: column; }
    aside nav ul.nav li {
      width: 100%;
      position: relative;
      background-color: #ffffff;
      border-right: solid 20px #ccc;
      font-size: 16px;
      padding-left: 60px;
      border-right-width: 10px;
      height: 60px; }
      aside nav ul.nav li::before {
        left: 15px;
        width: 30px;
        height: 30px; }

  aside nav ul li.asuto, aside nav ul li.khbtop {
    font-size: 15px;
    padding-left: 15px; }
    aside nav ul li.asuto::before, aside nav ul li.khbtop::before {
      width: 30px;
      height: 30px;
      display: none; }

  .toggle {
    width: 60px;
    height: 60px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    position: fixed;
    top: 0px;
    right: 0px;
    z-index: 1000;
    background-color: #2d0f55; }

  .toggle::before, .toggle::after {
    content: "";
    position: absolute;
    width: 30px;
    height: 2px;
    background-color: #ffffff;
    /* バーガーアイコンの色 */
    transition: transform 0.3s, opacity 0.3s;
    left: 0;
    right: 0;
    margin: auto; }

  .toggle::before {
    top: 22px; }

  .toggle::after {
    bottom: 22px; }

  .toggle.active::before {
    transform: rotate(45deg);
    top: 50%; }

  .toggle.active::after {
    transform: rotate(-45deg);
    bottom: 50%; }

  .toggle.active {
    transform: rotate(180deg); }

  .toggle {
    display: block;
    /* メニューアイコンを表示 */ }

  .sidebar {
    left: -100%;
    width: 85%;
    transition: 0.3s; }

  .sidebar.show {
    left: 0;
    transition: 0.3s; } }
nav ul.nav li.top {
  width: 100%; }
  nav ul.nav li.top::before {
    left: 15px;
    right: auto; }

/*--------------------------------------------
  [02] セクションごとの子階層ナビ
---------------------------------------------*/
ul.section_list {
  max-width: 1440px;
  margin: auto;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-bottom: 40px; }
  ul.section_list li {
    margin-top: -2px;
    margin-left: -2px;
    width: calc(25% + 2px);
    /*		color: #ffffff;*/
    border: solid 2px #252649;
    background-color: #fff;
    padding-right: 15px;
    padding-left: 15px;
    color: #252649;
    text-align: center;
    line-height: 1.5;
    font-size: 1.6rem;
    background-color: rgba(255, 255, 255, 0.85);
    position: relative; }
    ul.section_list li:after {
      content: '';
      border-top: solid 2px #252649;
      border-right: solid 2px #252649;
      transform: rotate(135deg);
      position: absolute;
      top: 0;
      bottom: 0;
      right: 15px;
      width: 7px;
      height: 7px;
      margin: auto; }
    ul.section_list li a {
      text-decoration: none;
      color: #ffffff;
      display: block;
      width: 100%;
      height: 100%;
      padding: 15px;
      color: #252649; }

@media screen and (max-width: 767px) {
  ul.section_list {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    width: 95%; }
    ul.section_list li {
      width: 100%;
      color: #ffffff;
      border: solid 2px #ffffff; } }
/*--------------------------------------------
  [01] メインビジュアル
---------------------------------------------*/
section#top {
  padding: 0; }

#Mainvisual {
  margin-bottom: 0;
  padding: 25px 50px 25px;
  position: relative;
  z-index: 3;
  text-align: center; }
  #Mainvisual .w_limit_1200 {
    margin: auto;
    text-align: center; }

.mv_kanpachi {
  position: fixed;
  bottom: 200px;
  right: 15px;
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.2)); }

@keyframes fuwafuwa {
  0%, 100% {
    transform: translateY(0); }
  50% {
    transform: translateY(-20px); } }
/* このクラスをつけると回転を無限に繰り返します */
.anime-fuwafuwa {
  animation: 3s fuwafuwa infinite; }

@media (max-width: 1200px) {
  section#top {
    height: auto; }

  #Mainvisual {
    background-size: cover;
    background-position: bottom 0% right 50%; }
    #Mainvisual img {
      height: auto; }

  .mv_kanpachi {
    right: 0;
    bottom: 0; }
    .mv_kanpachi img {
      width: 150px;
      height: 150px; } }
@media (max-width: 767px) {
  #Mainvisual {
    padding: 70px 0px 50px; } }
/*--------------------------------------------
  [02] ABOUT
---------------------------------------------*/
section#about {
  position: relative; }
  section#about > .w_limit_1200 {
    border-radius: 0; }

/*
去年の様子イメージボックス
*/
.kako_imagebox {
  padding: 50px 0px;
  max-width: 1920px;
  margin: auto; }
  .kako_imagebox ul {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; }
    .kako_imagebox ul li {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      /* 水平方向にセンターに配置 */
      align-items: center;
      /*  margin:0 auto 5%;*/
      width: calc(100%/6);
      flex-wrap: wrap;
      aspect-ratio: 1; }
      .kako_imagebox ul li a {
        display: block;
        width: 100%;
        aspect-ratio: 1;
        overflow: hidden;
        opacity: 1; }
      .kako_imagebox ul li img {
        width: 100%;
        height: 17.5vw;
        object-fit: cover;
        object-position: 50% 50%;
        transition: transform 0.4s; }

.kako_imagebox ul li a:hover > img {
  transform: scale(1.4);
  filter: saturate(200%); }

.lity-close {
  width: 50px !important;
  height: 50px !important;
  position: absolute !important;
  top: -7% !important;
  right: 0% !important;
  font-size: 50px !important;
  line-height: 50px !important; }

@media screen and (max-width: 767px) {
  .kako_imagebox ul li {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    /* 水平方向にセンターに配置 */
    align-items: center;
    /*  margin:0 auto 5%;*/
    width: calc(100%/3);
    flex-wrap: wrap;
    aspect-ratio: 1; }
    .kako_imagebox ul li a {
      display: block;
      width: 100%;
      aspect-ratio: 1;
      overflow: hidden;
      opacity: 1; }
    .kako_imagebox ul li img {
      height: 35vw; }

  .lity-close {
    top: -15% !important; } }
/*
ABOUT
*/
.about-catch {
  color: #252649;
  margin-bottom: 50px;
  margin-top: 0px; }

h2.about_h2 {
  text-align: center; }
  h2.about_h2 img {
    width: 600px;
    height: auto; }

a.to-googlemap.Btn {
  margin-left: 0rem;
  margin-top: 15px;
  position: relative;
  font-size: 16px;
  height: 50px;
  line-height: 46px;
  max-width: 280px;
  background-color: rgba(255, 255, 255, 0.6);
  color: #252649;
  border: solid 2px #252649;
  text-align: center; }
  a.to-googlemap.Btn::before {
    content: '';
    background-image: url("../images/icon-mappin.svg");
    position: absolute;
    top: 0;
    bottom: 0;
    left: 15px;
    right: auto;
    margin: auto;
    width: 15px;
    height: 22px; }
  a.to-googlemap.Btn::after {
    border-width: 2px 2px 0 0;
    border-color: #252649; }

.to-googlemap.Btn:hover::after {
  border-color: #23a1db; }

@media screen and (max-width: 767px) {
  .to-googlemap-wrap {
    text-align: center;
    margin: 0 auto;
    display: block; }

  a.to-googlemap.Btn {
    margin: 25px auto 0; } }
@media screen and (max-width: 480px) {
  section#about > .w_limit_1200 {
    padding: 0px inherit; } }
/*--------------------------------------------
[0X] お知らせ
---------------------------------------------*/
.news-container {
  background-color: #ffffff; }
  .news-container li {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    border-bottom: dashed 1px #785759;
    padding: 15px 3%;
    /*
        &:first-of-type{      
        border-top: solid 1px #cccccc;
        }
        */ }

.news-date {
  width: 14%;
  margin-right: 5%;
  font-weight: 600;
  /*color: #A69091;*/ }

@media screen and (max-width: 767px) {
  .news-container li {
    flex-direction: column;
    padding: 15px 6%; }
    .news-container li:first-of-type {
      border-top: solid 1px #cccccc; }

  .news-date {
    width: 100%;
    margin-right: 3%; }

  #News .w_limit_1280 {
    padding-top: 35px;
    padding-bottom: 25px; } }
/*--------------------------------------------
  [0X] map
---------------------------------------------*/
section#map {
  position: relative;
  /*background-color: #f7f2f3;
background-size: 22px 22px;
background-image:  repeating-linear-gradient(to right, #ffd8e6, #ffd8e6 1.1px, #f7f2f3 1.1px, #f7f2f3);*/ }

@media screen and (max-width: 480px) {
  section#About > .w_limit_1200 {
    padding: 0px inherit; } }
/*--------------------------------------------
共通レイアウト
---------------------------------------------*/
.comingsoon {
  text-align: center;
  font-size: 3.2rem;
  font-weight: 900;
  padding: 50px 15px; }

.cominguriri {
  text-align: center;
  margin-bottom: 10px; }
  .cominguriri img {
    width: 80px; }

@media screen and (max-width: 900px) {
  .order_01_sp {
    order: 1; }

  .order_02_sp {
    order: 2; } }
@media screen and (max-width: 767px) {
  .comingsoon {
    font-size: 2.4rem; } }
/*--------------------------------------------
  共通カードレイアウト
---------------------------------------------*/
.article-container {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .article-container > li {
    background-color: #ffffff;
    margin-bottom: 50px;
    padding-bottom: 15px;
    position: relative;
    transition: 0.2s;
    border: solid 1px #eeeeee; }
    .article-container > li > a {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .article-container > li a.Btn {
      height: 40px;
      line-height: 36px !important;
      font-weight: 500;
      font-size: 1.5rem;
      background-color: #eeeeee;
      border-color: #ffffff;
      border-radius: 50px;
      color: #252649;
      max-width: 100%;
      /*      &::before {
              display: none;
            }*/ }
      .article-container > li a.Btn::after {
        width: 8px;
        height: 8px;
        border-color: #252649;
        border-width: 2px 2px 0 0; }
      .article-container > li a.Btn:hover {
        color: #cccccc;
        opacity: 1; }
        .article-container > li a.Btn:hover::before {
          border-color: #cccccc;
          background-color: #cccccc; }
        .article-container > li a.Btn:hover::after {
          border-color: #cccccc; }
    .article-container > li p.date {
      color: #8989a1;
      font-size: 1.5rem;
      font-weight: 600; }
    .article-container > li h3 {
      font-size: 1.9rem;
      line-height: 1.5;
      margin-bottom: 25px;
      margin-top: 15px;
      text-align: center; }
    .article-container > li p.caption {
      font-size: 1.5rem;
      line-height: 1.5;
      margin-top: 10px; }
    .article-container > li ul.article_inner_list {
      width: 100%;
      border: none;
      padding: 0;
      margin: 0;
      list-style-type: disc; }
      .article-container > li ul.article_inner_list li {
        line-height: 1.5;
        margin-left: 2rem;
        width: 100%;
        margin-bottom: 15px; }
        .article-container > li ul.article_inner_list li:last-of-type {
          margin-bottom: 0; }

.article-container li {
  position: relative;
  padding-bottom: 50px; }
  .article-container li > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .article-container li a.Btn {
    height: 40px;
    line-height: 36px !important;
    font-weight: 500;
    font-size: 1.5rem;
    background-color: #efefef;
    border-color: #efefef;
    border-radius: 0px;
    color: #252649;
    position: absolute;
    bottom: 0;
    width: 100%; }
    .article-container li a.Btn::before {
      display: none; }
    .article-container li a.Btn::after {
      width: 8px;
      height: 8px;
      border-color: #252649;
      border-width: 2px 2px 0 0; }
    .article-container li a.Btn:hover {
      color: #cccccc;
      opacity: 1; }
      .article-container li a.Btn:hover::before {
        border-color: #cccccc;
        background-color: #cccccc; }
      .article-container li a.Btn:hover::after {
        border-color: #cccccc; }
.article-container .caption {
  text-align: center;
  padding-left: 15px;
  padding-right: 15px;
  font-size: 1.4rem; }

.article-container.cal2 li {
  width: calc(96%/2);
  margin-right: 4%; }
  .article-container.cal2 li:nth-of-type(2n) {
    margin-right: 0; }
.article-container.cal2::after {
  content: '';
  width: calc(96%/2); }

.article-container.cal3 li {
  width: calc(92%/3);
  margin-right: 4%; }
  .article-container.cal3 li:nth-of-type(3n) {
    margin-right: 0; }
.article-container.cal3::after {
  content: '';
  width: calc(92%/3); }

.article-container.cal4 li {
  width: calc(92%/4);
  margin-right: 2.6666666667%; }
  .article-container.cal4 li:nth-of-type(4n) {
    margin-right: 0; }
.article-container.cal4::after {
  content: '';
  width: calc(92%/4); }

.article-container.cal5 li {
  width: calc(92%/5);
  margin-right: 2%; }
  .article-container.cal5 li:nth-of-type(5n) {
    margin-right: 0; }
.article-container.cal5::after {
  content: '';
  width: calc(92%/5); }

@media screen and (max-width: 900px) {
  section#Article-list {
    padding-top: 75px; }

  .article-container {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .article-container li {
      width: 49%;
      margin-bottom: 25px; }
      .article-container li figure img {
        width: 100%;
        height: auto; }
      .article-container li .article-text h3 {
        font-size: 1.6rem;
        line-height: 1.5;
        margin-top: 0;
        margin-bottom: 10px; }
        .article-container li .article-text h3 span {
          line-height: 1.2 !important; }
      .article-container li .article-text p {
        font-size: 1.3rem; } }
.pickup {
  margin-bottom: 50px;
  margin-top: 40px; }

.pickup_box {
  background-color: #ffffff;
  border-radius: 25px;
  padding: 50px 0;
  margin-top: 50px;
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.1));
  position: relative; }

.pickup_flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px; }
  .pickup_flex figure {
    width: 46%; }
    .pickup_flex figure img {
      border-radius: 20px; }

.pickup_flex.order_rev figure {
  order: 2; }
.pickup_flex.order_rev .pickup_txt {
  order: 1; }

.pickup_txt {
  width: 50%; }

.pickup_title {
  font-weight: 900;
  font-size: 3.2rem;
  line-height: 1.4;
  margin-bottom: 25px; }

.pickup_desc {
  margin-bottom: 25px;
  font-size: 1.8rem;
  line-height: 2; }
  .pickup_desc a.Btn {
    margin-left: 0;
    margin-top: 25px; }

.pickup_txt_cal1 {
  margin-top: 15px; }

table.pickup_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  margin-top: 25px;
  font-size: 1.6rem;
  background-color: #ffffff; }
  table.pickup_table th {
    padding: 10px 15px;
    padding-top: 15px;
    border-bottom: solid 4px #29bf7d;
    color: #252649;
    width: 35%;
    max-width: 300px;
    text-align: center; }
  table.pickup_table td {
    padding: 10px 15px;
    padding-top: 15px;
    border-bottom: solid 1px #9ce486;
    width: 65%; }
  table.pickup_table ul li {
    position: relative;
    padding-left: 1em; }
    table.pickup_table ul li::before {
      content: '';
      position: absolute;
      top: 1em;
      left: 0;
      height: 5px;
      width: 5px;
      border-radius: 5px;
      background-color: #252649; }

.kanpachi .pickup_box {
  /*background-image: url("../images/bg_entame.svg");*/ }
  .kanpachi .pickup_box .pickup_flex .pickup_txt {
    margin-top: 25px; }
  .kanpachi .pickup_box h4 {
    font-size: 2.1rem;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: double 4px #fac71f;
    line-height: 1.2; }
  .kanpachi .pickup_box a.Btn {
    background: linear-gradient(-60deg, #ffa800 16.45%, #ff6017 76.22%);
    height: 70px;
    line-height: 68px;
    font-size: 21px;
    font-weight: 600;
    border: transparent; }
  .kanpachi .pickup_box table.pickup_table th {
    border-bottom: solid 4px #189fd4;
    width: 25%; }
  .kanpachi .pickup_box table.pickup_table td {
    border-bottom: solid 1px #7fe0f4;
    width: 75%; }

@media screen and (max-width: 1200px) {
  .article-container li {
    width: 100%; }
    .article-container li a.Btn {
      height: 36px;
      line-height: 32px !important;
      border-radius: 0;
      margin: 0;
      padding: 0;
      padding-left: 10px;
      font-size: 13px; }
      .article-container li a.Btn::after {
        content: '';
        width: 8px;
        height: 8px;
        right: 10px; }

  .article-text {
    padding-top: 10px; }

  .article-container.cal2 li {
    width: 100%;
    margin-right: 0; }
    .article-container.cal2 li:nth-of-type(2n) {
      margin-right: 0; }

  .article-container.cal3 li {
    width: calc(96%/2);
    margin-right: 0; }
    .article-container.cal3 li:nth-of-type(2n) {
      margin-right: 0; }

  .article-container.cal4 li {
    width: calc(96%/2);
    margin-right: 0; }
    .article-container.cal4 li:nth-of-type(4n) {
      margin-right: 0; }

  .article-container.cal5 li {
    width: calc(96%/2);
    margin-right: 0; }
    .article-container.cal5 li:nth-of-type(5n) {
      margin-right: 0; } }
@media screen and (max-width: 900px) {
  .pickup_flex {
    flex-direction: column; }
    .pickup_flex figure {
      text-align: center;
      width: 100%;
      /*      margin-bottom: 15px;*/
      order: 2;
      margin-top: 15px; }
    .pickup_flex .pickup_txt {
      width: 100%;
      text-align: left;
      order: 1;
      /*        margin-bottom: 25px;*/ }
    .pickup_flex .pickup_title {
      font-size: 2.4rem;
      margin-bottom: 10px; }
    .pickup_flex .pickup_desc {
      font-size: 1.5rem; }
      .pickup_flex .pickup_desc a.Btn {
        margin: auto;
        margin-top: 25px; }

  p.pickup_desc {
    font-size: 1.6rem; }

  .pickup_flex.order_rev figure {
    order: 2; }
  .pickup_flex.order_rev .pickup_txt {
    order: 1; }

  .pickup_box {
    padding-top: 50px; } }
@media screen and (max-width: 640px) {
  .kanpachi .pickup_box {
    /*background-image: url("../images/bg_entame.svg");*/ }
    .kanpachi .pickup_box .pickup_flex .pickup_txt {
      margin-top: 0px; }
      .kanpachi .pickup_box .pickup_flex .pickup_txt .pickup_title {
        margin-bottom: 10px;
        font-size: 2.4rem; }
      .kanpachi .pickup_box .pickup_flex .pickup_txt .pickup_desc {
        font-size: 1.6rem; }
    .kanpachi .pickup_box h4 {
      font-size: 2.1rem;
      margin-bottom: 15px;
      padding-bottom: 15px;
      border-bottom: double 4px #fac71f;
      line-height: 1.2; }
    .kanpachi .pickup_box a.Btn {
      background: linear-gradient(-60deg, #ffa800 16.45%, #ff6017 76.22%);
      height: 70px;
      line-height: 68px;
      text-align: center;
      font-weight: 600;
      border: transparent; }
    .kanpachi .pickup_box table.pickup_table th {
      border-bottom: solid 4px #189fd4;
      width: 25%; }
    .kanpachi .pickup_box table.pickup_table td {
      border-bottom: solid 1px #7fe0f4;
      width: 75%; }

  p_table.cal1_sp th {
    display: block;
    width: 100%;
    max-width: 100%; }
  p_table.cal1_sp td {
    display: block;
    width: 100%; } }
/*--------------------------------------------
  [0X] デジタルスタンプラリー
---------------------------------------------*/
#rally h3 {
  padding-left: 50px;
  position: relative; }
  #rally h3::before {
    content: '';
    background-image: url("../images/icon_rally_02.svg");
    width: 40px;
    height: 40px;
    position: absolute;
    top: 5px;
    left: 0;
    margin: auto; }

.presentBox li {
  margin-bottom: 25px; }
.presentBox > div {
  align-self: center; }

/*--------------------------------------------
  [0X] グルメエリア
---------------------------------------------*/
section#food {
  /*	background-image: url("../images/bg_food.svg");*/
  background-color: #ed9d1c; }

li.empty_box {
  background-color: transparent;
  border: none; }

section#food .article-container {
  margin-bottom: 0; }

#noto_fair .article-container li {
  border: none; }
  #noto_fair .article-container li p {
    text-align: center;
    font-weight: 600;
    margin-top: 10px; }

#kitchencar {
  border: solid 8px #ee87b4; }
  #kitchencar h3.basic-line::after {
    background-color: #ee87b4; }

#miyaginouveau {
  border: solid 8px #7ebf41; }
  #miyaginouveau h3.basic-line::after {
    background-color: #7ebf41; }

#kodomoyatai {
  border: solid 8px #fac02c; }
  #kodomoyatai h3.basic-line::after {
    background-color: #fac02c; }

#foodarea {
  border: solid 8px #dd651c; }
  #foodarea .imgbox {
    text-align: center; }
    #foodarea .imgbox img {
      width: 100%;
      max-width: 600px; }

.curry_setsumei {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: solid 5px #ed9d1c;
  border-bottom: solid 5px #ed9d1c;
  border-left-color: #ecbf1c;
  border-bottom-color: #ecbf1c;
  padding: 30px 5%;
  background-color: #f7f4e6; }
  .curry_setsumei .ticket_image {
    width: 35%; }

ul.naiyou_list {
  width: 60%; }
  ul.naiyou_list li {
    position: relative;
    font-weight: 600;
    margin-bottom: 15px;
    line-height: 1.5;
    text-indent: -1em;
    margin-left: -1em;
    padding-left: 2em; }
    ul.naiyou_list li:last-of-type {
      margin-bottom: 0; }
    ul.naiyou_list li::before {
      content: '●';
      color: #ed9d1c; }

.bg-curry {
  background-image: url("../images/bg_curry.jpg");
  background-color: rgba(255, 255, 255, 0.5);
  background-blend-mode: lighten;
  position: relative; }

.bg-curryfes {
  background-image: url("../images/bg_curryfes.jpg");
  position: relative; }

#kanpachi .pickup_box {
  border: solid 8px #1d68a8; }
  #kanpachi .pickup_box h3.basic-line::after {
    background-color: #1d68a8; }

.kokosuki .pickup_box {
  border: solid 8px #ca3a28; }
  .kokosuki .pickup_box h3.basic-line::after {
    background-color: #ca3a28 !important; }

#touch .pickup_box {
  border: solid 8px #52a5dc; }
  #touch .pickup_box h3.basic-line::after {
    background-color: #52a5dc; }

#syaoku .pickup_box {
  border: solid 8px #a660a3; }
  #syaoku .pickup_box h3.basic-line::after {
    background-color: #a660a3; }

#guriri_goods .pickup_box {
  border: solid 8px #ea6096;
  border-top-color: #00a3df;
  border-right-color: #00a3df; }
  #guriri_goods .pickup_box h3.basic-line::after {
    background-color: #a660a3; }

#taikenmanabi {
  border: solid 8px #37aa6e; }
  #taikenmanabi h3.basic-line::after {
    background-color: #37aa6e; }

#kodomoennichi {
  border: solid 8px #405da9; }
  #kodomoennichi h3.basic-line::after {
    background-color: #405da9; }

#futmesse {
  border: solid 8px #405da9; }
  #futmesse h3.basic-line::after {
    background-color: #405da9; }

@media screen and (max-width: 767px) {
  .curry_setsumei {
    flex-direction: column; }
    .curry_setsumei .ticket_image {
      width: 100%;
      margin-bottom: 20px; }

  ul.naiyou_list {
    width: 100%; } }
/*--------------------------------------------
  [0X] 体験
---------------------------------------------*/
section#taiken {
  /*	background-image: url("../images/bg_taiken.svg");*/
  background-color: #81c73c; }

.kokosuki ul li {
  font-size: 1.6rem;
  display: inline-block;
  margin-right: 2rem; }
  .kokosuki ul li::before {
    background-color: #009662 !important; }
.kokosuki .chara-list_wrap {
  margin-bottom: 50px; }
  .kokosuki .chara-list_wrap .no-img {
    font-weight: 600;
    margin-top: 25px;
    padding-left: 50px; }
    .kokosuki .chara-list_wrap .no-img span {
      font-size: 1.5rem;
      font-weight: 400; }
.kokosuki .chara-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  width: 100%; }
  .kokosuki .chara-list li {
    width: calc(95%/6);
    margin-right: calc(5%/5);
    text-align: center;
    font-weight: 600;
    font-size: 1.8rem;
    line-height: 1.5;
    margin-bottom: 15px; }
    .kokosuki .chara-list li:nth-of-type(6n) {
      margin-right: 0; }
    .kokosuki .chara-list li span {
      display: block;
      font-size: 1.5rem;
      font-weight: 400; }
      .kokosuki .chara-list li span.kome {
        display: inline; }
    .kokosuki .chara-list li .no-img {
      margin-top: 180px; }

figure.logo_sennnyuu {
  width: 100%; }
  figure.logo_sennnyuu img {
    width: 360px;
    height: auto; }

.guriri_goods .flex_cal2_even {
  margin-bottom: 50px; }
  .guriri_goods .flex_cal2_even > div {
    width: calc(95%/2);
    margin-right: calc(5%/1); }
    .guriri_goods .flex_cal2_even > div:nth-of-type(2n) {
      margin-right: 0; }
    .guriri_goods .flex_cal2_even > div img {
      max-width: 100%; }
.guriri_goods .imgBox img {
  max-width: 600px; }

table.default_table_mini {
  width: 100%; }
  table.default_table_mini th, table.default_table_mini td {
    padding: 15px;
    line-height: 1.5;
    border-top: solid 1px #cccccc; }
    table.default_table_mini th:last-of-type, table.default_table_mini td:last-of-type {
      border-bottom: solid 1px #cccccc; }
  table.default_table_mini th {
    font-size: 1.6rem;
    width: 35%;
    text-align: center; }
  table.default_table_mini td {
    width: 65%; }

.booth-title {
  position: absolute;
  left: 0;
  top: -60px; }

.pokemon_flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between; }
  .pokemon_flex .pickup_txt {
    width: 100%; }
  .pokemon_flex h4.basic_h4 {
    border-bottom: solid 1px #eae600;
    padding-bottom: 10px;
    font-weight: 600;
    font-size: 2.1rem; }
  .pokemon_flex > div {
    width: 48%; }

#Kamishibai ul.article-container, #Forest ul.article-container, #Photo ul.article-container, #CM ul.article-container, #khb_goods ul.article-container {
  align-items: center; }
  #Kamishibai ul.article-container li, #Forest ul.article-container li, #Photo ul.article-container li, #CM ul.article-container li, #khb_goods ul.article-container li {
    border: none;
    margin-bottom: 10px;
    padding-bottom: 0; }
    #Kamishibai ul.article-container li img, #Forest ul.article-container li img, #Photo ul.article-container li img, #CM ul.article-container li img, #khb_goods ul.article-container li img {
      border-radius: 20px; }

table.pickup_table .timetable_mini {
  width: 100%; }
  table.pickup_table .timetable_mini tr {
    border-bottom: solid 1px #cccccc; }
    table.pickup_table .timetable_mini tr:nth-of-type(1) th {
      background-color: rgba(0, 198, 255, 0.1); }
    table.pickup_table .timetable_mini tr:nth-of-type(2) th {
      background-color: rgba(243, 30, 163, 0.1); }
    table.pickup_table .timetable_mini tr:last-of-type {
      border-bottom: none; }
    table.pickup_table .timetable_mini tr th, table.pickup_table .timetable_mini tr td {
      vertical-align: middle; }
    table.pickup_table .timetable_mini tr th {
      border-bottom: none;
      width: 20%; }
    table.pickup_table .timetable_mini tr td {
      border-bottom: none;
      width: 80%; }
      table.pickup_table .timetable_mini tr td p {
        margin-bottom: 15px; }
        table.pickup_table .timetable_mini tr td p:last-of-type {
          margin-bottom: 0; }

ul.announcer_container {
  width: 100%; }
  ul.announcer_container li {
    margin-top: 25px; }
    ul.announcer_container li img {
      max-width: 100%; }
    ul.announcer_container li::before {
      display: none; }

@media screen and (max-width: 900px) {
  .chara-list_wrap .no-img {
    margin-top: 15px;
    padding-left: 0px !important; }
    .chara-list_wrap .no-img span {
      font-size: 1.5rem;
      font-weight: 400; }

  .kokosuki .chara-list li {
    width: calc(95%/3);
    margin-right: calc(5%/2);
    text-align: center;
    font-weight: 600;
    font-size: 1.6rem;
    line-height: 1.5; }
    .kokosuki .chara-list li:nth-of-type(6n) {
      margin-right: calc(5%/2); }
    .kokosuki .chara-list li:nth-of-type(3n) {
      margin-right: 0; }
    .kokosuki .chara-list li span {
      display: block;
      font-size: 1.4rem;
      font-weight: 400; }

  .guriri_goods .flex_cal2_even {
    flex-direction: column;
    margin-bottom: 50px; }
    .guriri_goods .flex_cal2_even > div {
      width: 100%;
      margin-right: 0; }
      .guriri_goods .flex_cal2_even > div:nth-of-type(2n) {
        margin-right: 0; } }
@media screen and (max-width: 767px) {
  table.pickup_table .timetable_mini {
    width: 100%; }
    table.pickup_table .timetable_mini tr {
      border-bottom: solid 1px #cccccc; }
      table.pickup_table .timetable_mini tr:last-of-type {
        border-bottom: none; }
      table.pickup_table .timetable_mini tr th {
        display: block;
        width: 100%; }
      table.pickup_table .timetable_mini tr td {
        display: block;
        width: 100%; }
    table.pickup_table .timetable_mini ul.flex_sp_column.announcer_container {
      margin-bottom: 0;
      padding-bottom: 0; }
      table.pickup_table .timetable_mini ul.flex_sp_column.announcer_container li {
        padding: 0;
        margin: 0;
        text-align: center;
        display: none; }
        table.pickup_table .timetable_mini ul.flex_sp_column.announcer_container li::before {
          display: none; }

  .pokemon_flex {
    flex-direction: column; }
    .pokemon_flex .pickup_txt {
      width: 100%; }
    .pokemon_flex h4.basic_h4 {
      border-bottom: solid 1px #eae600;
      padding-bottom: 10px;
      font-weight: 600;
      font-size: 2.1rem; }
    .pokemon_flex > div {
      width: 100%;
      margin-bottom: 50px; }

  table.default_table_mini {
    width: 100%; }
    table.default_table_mini th, table.default_table_mini td {
      display: block;
      padding: 15px;
      line-height: 1.5;
      border-top: solid 1px #cccccc;
      width: 100%; }
      table.default_table_mini th:last-of-type, table.default_table_mini td:last-of-type {
        border-bottom: solid 1px #cccccc; }
    table.default_table_mini th {
      font-size: 1.6rem;
      width: 100%;
      text-align: center;
      margin-top: 25px;
      padding: 10px; }
    table.default_table_mini td {
      width: 100%; } }
/*--------------------------------------------
  [0X] エンタメ
---------------------------------------------*/
section#entame {
  /*	background-image: url("../images/bg_entame.svg");*/
  background-color: #ff73af; }

h3.entame_date {
  margin-top: 40px;
  border-top: solid 5px #252649;
  padding-top: 15px;
  margin-bottom: 25px; }
  h3.entame_date img {
    height: 60px;
    width: auto;
    margin-right: 1em; }
  h3.entame_date.sat {
    border-color: #00C6FF; }
  h3.entame_date.sun {
    border-color: #F31EA3; }
  h3.entame_date::after {
    display: none; }

#Stage h3.basic-line {
  margin-bottom: 30px;
  vertical-align: middle; }

@media screen and (max-width: 480px) {
  h3.entame_date img {
    display: block; }

  #Stage h3.basic-line {
    margin-bottom: 50px;
    text-align: center; }
    #Stage h3.basic-line img {
      text-align: center;
      display: block;
      width: 80%;
      margin: auto; } }
/*--------------------------------------------
  [0X] スポーツ
---------------------------------------------*/
section#Sports {
  /*	background-image: url("../images/bg_entame.svg");*/
  background-color: #51a3da; }

@media screen and (max-width: 767px) {
  .flex_sp_column {
    flex-direction: column; }
    .flex_sp_column > div, .flex_sp_column > li {
      width: 100%;
      margin-right: 0;
      margin-bottom: 25px; }

  .flex_cal2_even.flex_sp_column {
    flex-direction: column; }
    .flex_cal2_even.flex_sp_column > div {
      width: 100%;
      margin-right: 0;
      margin-bottom: 25px; }
      .flex_cal2_even.flex_sp_column > div:nth-of-type(2n) {
        margin-right: 0; } }
/*--------------------------------------------
  [0X] SDGs
---------------------------------------------*/
section#SDGs {
  /*	background-image: url("../images/bg_entame.svg");*/
  background-color: #43c7cc; }

/*--------------------------------------------
  [0X] 宮城の魅力再発見エリア
---------------------------------------------*/
section#Miyagi {
  /*	background-image: url("../images/bg_taiken.svg");*/
  background-color: #d54733; }
  section#Miyagi ul.article-container li {
    border: none; }
    section#Miyagi ul.article-container li p {
      font-size: 1.6rem;
      text-align: center;
      margin-top: 10px;
      font-weight: 600; }

/*--------------------------------------------
  [0X] 協賛企業
---------------------------------------------*/
#sponsor {
  border-top: solid 2px #9ce486; }
  #sponsor h3.basic-line {
    font-size: 2.1rem;
    margin-bottom: 10px;
    margin-top: 30px;
    padding-bottom: 10px; }
    #sponsor h3.basic-line::after {
      background-color: #42d79e;
      height: 2px; }
  #sponsor ul li {
    font-size: 1.8rem;
    display: inline-block;
    margin-right: 2rem; }

/*--------------------------------------------
  [イベント後追加] CM撮影体験の放送予定
---------------------------------------------*/
.youtube-wrap {
  margin: 0px auto 25px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  width: 100%;
  flex-wrap: wrap; }

.tv-title-box {
  margin-bottom: 10px;
  padding-left: 0px;
  border-left: solid 10px #e4b413; }
  .tv-title-box .date {
    vertical-align: middle;
    padding-left: 0;
    margin-left: 0;
    padding-top: 0;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.6;
    display: block; }
    .tv-title-box .date span {
      display: block;
      margin-top: 0; }

.youtube-wrap.backnumber li.youtube {
  margin-bottom: 40px; }
  .youtube-wrap.backnumber li.youtube iframe {
    border-radius: 15px; }
  .youtube-wrap.backnumber li.youtube:nth-of-type(4n+1) .tv-title-box {
    border-left-color: #fa5240; }
  .youtube-wrap.backnumber li.youtube:nth-of-type(4n+2) .tv-title-box {
    border-left-color: #56d2ee; }
  .youtube-wrap.backnumber li.youtube:nth-of-type(4n+3) .tv-title-box {
    border-left-color: #8dd035; }
  .youtube-wrap.backnumber li.youtube:nth-of-type(4n) .tv-title-box {
    border-left-color: #f6d145; }
.youtube-wrap.backnumber .youtube {
  width: calc(95%/2);
  margin-top: 25px; }
  .youtube-wrap.backnumber .youtube a {
    display: block;
    width: 100%;
    text-align: center; }
  .youtube-wrap.backnumber .youtube p {
    line-height: 1.5;
    padding-left: 15px;
    margin-top: 10px;
    font-weight: 600; }
.youtube-wrap.backnumber .area_youtube {
  max-width: 640px;
  position: relative;
  margin: auto; }
  .youtube-wrap.backnumber .area_youtube .area_youtube_mov {
    position: relative;
    width: 100%;
    padding: 28% 0; }
    .youtube-wrap.backnumber .area_youtube .area_youtube_mov iframe {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      display: block;
      width: 100%;
      height: 100%; }
  .youtube-wrap.backnumber .area_youtube .area_youtube_anchor {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block; }

table.cm_taiken_table.default-table {
  margin: 0px auto 15px;
  width: 100%;
  line-height: 1.5;
  font-size: 1.8rem; }
  table.cm_taiken_table.default-table th {
    padding: 10px 15px;
    vertical-align: middle;
    background-color: #d5c9ff;
    color: #252649;
    border-top: solid 1px #ffffff;
    border-bottom: solid 1px #ffffff;
    text-align: center;
    width: 35%; }
    table.cm_taiken_table.default-table th.doyou {
      background-color: #9eeeff; }
    table.cm_taiken_table.default-table th.nichiyou {
      background-color: #ffc7ea; }
  table.cm_taiken_table.default-table td {
    padding: 10px 15px;
    vertical-align: middle;
    background-color: #ffffff;
    border-top: solid 1px #cccccc;
    border-bottom: solid 1px #cccccc;
    width: 65%; }
    table.cm_taiken_table.default-table td p {
      line-height: 1.5; }

table.default-table tr:first-of-type th {
  border-top: solid 1px #cccccc; }

table.default-table tr:last-of-type th {
  border-bottom: solid 1px #cccccc; }

@media screen and (max-width: 768px) {
  .youtube-wrap {
    flex-direction: column; }

  .youtube-wrap.backnumber .youtube {
    width: 100%;
    align-items: center;
    margin-bottom: 0px; }

  .tv-title-box .date {
    font-size: 1.8rem; } }
h3.h3_green_center {
  text-align: center;
  font-size: 2.6rem;
  font-weight: 600;
  color: #069e5a;
  border-bottom: solid 1px #069e5a;
  padding-bottom: 20px;
  margin-bottom: 0px;
  margin-top: 70px; }

.movie-img {
  width: 100%; }

/*--------------------------------------------
  [07] フッター
---------------------------------------------*/
footer {
  background-color: #29bf7d;
  /*  background-image: url("../../images/bg_footer.png");*/
  padding: 100px 0 200px;
  background-repeat: no-repeat;
  position: relative; }
  footer table {
    width: 100%;
    border-top: solid 8px #D59525;
    border-right: solid 8px #319664;
    border-bottom: solid 8px #08A1D2;
    border-left: solid 8px #CA330D; }
    footer table th {
      padding: 20px 15px;
      vertical-align: middle;
      text-align: center;
      width: 25%;
      background-color: #ffffff; }
      footer table th:last-of-type {
        border-bottom: solid 1px #ffffff; }
    footer table td {
      padding: 20px 15px;
      vertical-align: middle;
      width: 75%;
      padding-left: 25px;
      border-top: solid 1px #ffffff;
      background-color: #ffffff; }
      footer table td:last-of-type {
        border-bottom: solid 1px #ffffff; }

small {
  /*  color: #ffffff;*/
  margin-top: 100px;
  padding-bottom: 10px;
  display: block;
  text-align: center;
  line-height: 1.5; }

#PageTop {
  z-index: 99;
  position: relative; }

a.PageTop {
  display: block;
  position: fixed;
  bottom: 3%;
  right: 3%;
  margin: auto;
  background: url("../images/pagetop.svg");
  background-repeat: no-repeat;
  background-size: contain;
  width: calc(50px * 1.2);
  height: calc(97px * 1.2);
  transition: 0.2s;
  /*display: none;*/ }
  a.PageTop::before {
    content: '';
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: -13px;
    width: 30px;
    height: 30px;
    background-color: #fa1eaa;
    border-radius: 30px;
    transition: 0.3s;
    z-index: 1; }
  a.PageTop::after {
    content: '';
    position: absolute;
    margin: auto;
    left: 0;
    right: 0;
    top: -3px;
    width: 8px;
    height: 8px;
    border-top: solid 3px #ffffff;
    border-right: solid 3px #ffffff;
    transform: rotate(315deg);
    border-radius: 1px;
    transition: 0.1s;
    z-index: 2; }
  a.PageTop:hover {
    opacity: 1;
    background-image: url("../images/pagetop-after.svg");
    bottom: 5%;
    transition: 0.1s; }
    a.PageTop:hover::before {
      top: -40px;
      background-color: #00cdff; }
    a.PageTop:hover::after {
      top: -30px; }

/*フッターナビ*/
ul.sitemap {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: space-between; }
  ul.sitemap li {
    width: 100%;
    margin-bottom: 15px;
    position: relative;
    padding-left: 20px;
    text-align: left;
    margin-right: 10px; }
    ul.sitemap li:first-of-type {
      margin-top: 15px; }
    ul.sitemap li a:hover {
      color: #1da5b3; }
    ul.sitemap li a::before {
      content: '';
      border-style: solid;
      border-width: 2px 2px 0 0;
      border-color: #ffffff;
      transform: rotate(45deg);
      position: absolute;
      left: 0;
      top: 0.5em;
      bottom: auto;
      margin: auto;
      width: 8px;
      height: 8px;
      transition: 0.2s; }
    ul.sitemap li a:hover::before {
      left: 5px;
      transition: 0.2s; }
  ul.sitemap > div > li {
    font-weight: 600; }
    ul.sitemap > div > li a::before {
      border-color: #40c4c2; }
    ul.sitemap > div > li > ul > li {
      font-weight: 400; }
      ul.sitemap > div > li > ul > li a::before {
        border-color: #8cc63f; }
      ul.sitemap > div > li > ul > li > ul > li a::before {
        border-color: #a3a3a3; }

ul.sitemap {
  max-width: 1000px;
  margin: 0 auto;
  font-size: 1.8rem; }
  ul.sitemap > div {
    padding-left: 5%;
    border-left: dashed 1px #c4c6c7; }
    ul.sitemap > div:nth-of-type(1) {
      width: 22%;
      border-left: none; }
    ul.sitemap > div:nth-of-type(2) {
      width: 34%; }
    ul.sitemap > div:nth-of-type(3) {
      width: 44%; }
  ul.sitemap li {
    margin-bottom: 35px; }
    ul.sitemap li:first-of-type {
      margin-top: 30px; }

@media screen and (max-width: 768px) {
  ul.sitemap {
    flex-direction: column;
    width: 100%; }
    ul.sitemap > div:nth-of-type(1), ul.sitemap > div:nth-of-type(2), ul.sitemap > div:nth-of-type(3) {
      width: 100%; }
    ul.sitemap > div li {
      display: block; }

  #Sitemap ul.sitemap {
    font-size: 1.6rem; }
    #Sitemap ul.sitemap > div {
      border: none; }
      #Sitemap ul.sitemap > div:nth-of-type(1), #Sitemap ul.sitemap > div:nth-of-type(2), #Sitemap ul.sitemap > div:nth-of-type(3) {
        width: 100%; }
      #Sitemap ul.sitemap > div li:last-of-type {
        margin-top: 0px; } }
@media screen and (max-width: 767px) {
  footer {
    padding: 25px 0 200px;
    position: relative;
    background-size: cover;
    background-position: center center; }
    footer table {
      width: 100%; }
      footer table th {
        display: block;
        width: 100%; }
      footer table td {
        display: block;
        width: 100%; }

  #PageTop {
    bottom: 0px;
    right: 0px; } }
/*--------------------------------------------
  [99] 標準機能
---------------------------------------------*/
.dela-gothic-one-regular {
  font-family: "Dela Gothic One", sans-serif;
  font-weight: 400;
  font-style: normal; }

/*
  ボタン
---------------------------------------------*/
a.Btn {
  font-size: 18px;
  font-weight: 600;
  text-decoration-line: none;
  max-width: 400px;
  height: 60px;
  line-height: 56px;
  background: #29bf7d;
  color: #ffffff;
  vertical-align: middle;
  position: relative;
  display: block;
  border: solid 2px rgba(255, 255, 255, 0);
  margin: auto;
  text-align: center;
  border-radius: 50px; }
  a.Btn::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 15px;
    margin: auto;
    width: 11px;
    height: 11px;
    border-style: solid;
    border-width: 2px 0px 0 0;
    border-color: #ffffff;
    transform: rotate(45deg);
    transition: 0.6s; }
  a.Btn::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 13px;
    margin: auto;
    width: 50px;
    height: 2px;
    background-color: #ffffff;
    transition: 0.6s; }
  a.Btn:hover {
    background: #ffffff;
    color: #29bf7d;
    border: solid 1px #29bf7d; }
    a.Btn:hover::after {
      border-color: #29bf7d;
      transition: 0.6s; }
    a.Btn:hover::before {
      background-color: #29bf7d; }

a.Btn.btn-red {
  background-color: #CA330D; }
  a.Btn.btn-red:hover {
    background: #ffffff;
    color: #CA330D;
    border: solid 1px #CA330D; }
    a.Btn.btn-red:hover::after {
      border-color: #CA330D;
      transition: 0.6s; }
    a.Btn.btn-red:hover::before {
      background-color: #CA330D; }

a.Btn.btn-green {
  background-color: #009662; }
  a.Btn.btn-green:hover {
    background: #ffffff;
    color: #009662;
    border: solid 1px #009662; }
    a.Btn.btn-green:hover::after {
      border-color: #009662;
      transition: 0.6s; }
    a.Btn.btn-green:hover::before {
      background-color: #009662; }

a.Btn.btn-yellow_w {
  background-color: #ffffff;
  border: solid 2px #DD9B26;
  color: #252649; }
  a.Btn.btn-yellow_w::after {
    border-color: #DD9B26; }
  a.Btn.btn-yellow_w::before {
    background-color: #DD9B26; }
  a.Btn.btn-yellow_w:hover {
    background: #DD9B26;
    color: #ffffff;
    border: solid 2px #DD9B26;
    opacity: 1; }
    a.Btn.btn-yellow_w:hover::after {
      border-color: #ffffff; }
    a.Btn.btn-yellow_w:hover::before {
      background-color: #ffffff; }

@media screen and (max-width: 1000px) {
  a.Btn {
    text-align: left;
    padding-left: 5%; } }
@media screen and (max-width: 480px) {
  a.Btn {
    font-size: 16px;
    padding-right: 50px; }
    a.Btn::after {
      width: 10px;
      height: 10px; }
    a.Btn::before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      right: 13px;
      margin: auto;
      width: 45px;
      height: 2px;
      background-color: #ffffff;
      transition: 0.6s; } }
/*
  微調整用
---------------------------------------------*/
.fz-12 {
  font-size: 1.2rem; }

.fz-14 {
  font-size: 1.4rem !important; }

.fz-15 {
  font-size: 1.5rem; }

.fz-16 {
  font-size: 1.6rem; }

.fz-18 {
  font-size: 1.8rem; }

.fz-21 {
  font-size: 2.1rem; }

.fz-22 {
  font-size: 2.2rem; }

.fz-24 {
  font-size: 2.4rem; }

.fz-26 {
  font-size: 2.6rem; }

.fz-28 {
  font-size: 2.8rem; }

.fz-32 {
  font-size: 3.2rem; }

.fw-400 {
  font-weight: 400; }

.fw-600 {
  font-weight: 600; }

.fw-700 {
  font-weight: 700; }

.fw-900 {
  font-weight: 900; }

.fc-normal {
  color: #33312b; }

.fc-white {
  color: #ffffff; }

.fc-red {
  color: #EF442E; }

.fc-yellow {
  color: #FCCF00; }

.fc-mizuiro {
  color: #0FACE5; }

.fc-pink {
  color: #F0629F; }

.fc-khbpink {
  color: #F31EA3; }

.fc-khbblue {
  color: #00C6FF; }

.fc-khbpurple {
  color: #9E2DFF; }

.fc-green {
  color: #009662; }

/*margin*/
.mgl-1em {
  margin-left: 1em; }

.mgl-10 {
  margin-left: 10px; }

.mgr-1em {
  margin-right: 1em; }

.mgt-0 {
  margin-top: 0px !important; }

.mgt-10 {
  margin-top: 10px !important; }

.mgt-15 {
  margin-top: 15px !important; }

.mgt-20 {
  margin-top: 20px !important; }

.mgt-25 {
  margin-top: 25px !important; }

.mgt-30 {
  margin-top: 30px !important; }

.mgt-40 {
  margin-top: 40px !important; }

.mgt-50 {
  margin-top: 50px !important; }

.mgt-60 {
  margin-top: 60px !important; }

.mgt-70 {
  margin-top: 70px !important; }

.mgt-80 {
  margin-top: 80px !important; }

.mgt-90 {
  margin-top: 90px !important; }

.mgt-100 {
  margin-top: 100px !important; }

.mgb-5 {
  margin-bottom: 5px !important; }

.mgb-10 {
  margin-bottom: 10px !important; }

.mgb-15 {
  margin-bottom: 15px !important; }

.mgb-20 {
  margin-bottom: 20px !important; }

.mgb-25 {
  margin-bottom: 25px !important; }

.mgb-30 {
  margin-bottom: 30px !important; }

.mgb-40 {
  margin-bottom: 40px !important; }

.mgb-50 {
  margin-bottom: 50px !important; }

.mgb-60 {
  margin-bottom: 60px !important; }

.mgb-70 {
  margin-bottom: 70px !important; }

.mgb-80 {
  margin-bottom: 80px !important; }

.mgb-90 {
  margin-bottom: 90px !important; }

.mgb-100 {
  margin-bottom: 100px !important; }

/*padding*/
.pdt-0 {
  padding-top: 0px; }

.pdt-10 {
  padding-top: 10px; }

.pdt-15 {
  padding-top: 15px; }

.pdt-20 {
  padding-top: 20px; }

.pdt-25 {
  padding-top: 25px; }

.pdt-30 {
  padding-top: 30px; }

.pdt-40 {
  padding-top: 40px; }

.pdt-50 {
  padding-top: 50px; }

.pdt-60 {
  padding-top: 60px; }

.pdt-70 {
  padding-top: 70px; }

.pdt-80 {
  padding-top: 80px; }

.pdt-90 {
  padding-top: 90px; }

.pdt-100 {
  padding-top: 100px; }

.pdb-5 {
  padding-bottom: 5px; }

.pdb-10 {
  padding-bottom: 10px; }

.pdb-15 {
  padding-bottom: 15px; }

.pdb-20 {
  padding-bottom: 20px; }

.pdb-25 {
  padding-bottom: 25px; }

.pdb-30 {
  padding-bottom: 30px; }

.pdb-40 {
  padding-bottom: 40px; }

.pdb-50 {
  padding-bottom: 50px; }

.pdb-60 {
  padding-bottom: 60px; }

.pdb-70 {
  padding-bottom: 70px; }

.pdb-80 {
  padding-bottom: 80px; }

.pdb-90 {
  padding-bottom: 90px; }

.pdb-100 {
  padding-bottom: 100px; }

.lh-12 {
  line-height: 1.2 !important; }

.lh-15 {
  line-height: 1.5 !important; }

.disp-block {
  display: block; }

.disp-inline {
  display: inline; }

.ta-center {
  text-align: center; }

.ta-right {
  text-align: right; }

.ta-left {
  text-align: left; }

.mglr-auto {
  margin-right: auto;
  margin-left: auto; }

.indent-kome {
  padding-left: 1em;
  text-indent: -1em; }

.bdrs-15 {
  border-radius: 15px; }

/*
.fz-18 {
  font-size: calc(1.8rem * 0.8);
}
.fz-21 {
  font-size: calc(2.1rem * 0.8);
}
*/
@media screen and (max-width: 900px) {
  .pdt-50_sp {
    padding-top: 50px; } }
@media screen and (max-width: 767px) {
  .ta-center_sp {
    text-align: center; }

  .ta-right_sp {
    text-align: right; }

  .ta-left_sp {
    text-align: left; } }
/*レスポンシブ改行
-------------------------------*/
.br_480 {
  display: none; }

.br_768 {
  display: none; }

.br_767 {
  display: none; }

.br_1000 {
  display: none; }

.br_1200 {
  display: none; }

.br_1440 {
  display: none; }

/*テキスト装飾
-------------------------------*/
.marker_yellow_futo {
  background: linear-gradient(transparent 0%, #ffff66 0%); }

.marker_yellow_hoso {
  background: linear-gradient(transparent 60%, #ffff66 60%); }

/*
  背景パターン
---------------------------------------------*/
.bg-white {
  background: #ffffff; }

.bg-gray {
  background: #eaeaea; }

.bg-shasen {
  background-size: auto auto;
  background-color: white;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 5px, whitesmoke 5px, whitesmoke 10px); }

.bg-shasen_02 {
  background-size: auto auto;
  background-color: white;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 10px, #f7f7f9 10px, #f7f7f9 14px); }

.bg-shasen-bold {
  background-size: auto auto;
  background-color: #bf6258;
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 15px, #b85045 15px, #b85045 30px); }

.bg-hougan {
  background: linear-gradient(0deg, rgba(255, 255, 255, 0) 14px, #e7e7e7 16px), linear-gradient(90deg, rgba(255, 255, 255, 0) 14px, #e7e7e7 16px);
  background-size: 16px 16px; }

.bg-dot-naname {
  background-color: #ffffff;
  background-image: radial-gradient(#f5e5c6 12%, rgba(255, 255, 255, 0) 32%), radial-gradient(#f5e5c6 12%, rgba(255, 255, 255, 0) 32%);
  background-position: 0 0, 8px 8px;
  background-size: 16px 16px; }

.bg-dot-naname-yellow {
  background-color: #f5e961;
  background-image: radial-gradient(#f5efbd 16%, transparent 19%), radial-gradient(#f5efbd 16%, transparent 19%);
  background-position: 0 0, 12px 12px;
  background-size: 24px 24px; }

.bg-dot-hougan {
  background-color: #ffffff;
  background-image: radial-gradient(#C9D9C9 10%, rgba(255, 255, 255, 0) 30%);
  background-size: 15px 15px; }

.bg-gradation {
  background: #6ca861;
  background: linear-gradient(45deg, #6ca861 0%, #379e8e 100%); }

.bg-stripe {
  background-size: auto auto;
  background-color: white;
  background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 15px, #ebca0e 15px, #ebca0e 30px); }

.bg-stripe_asuto {
  background-size: auto auto;
  background-color: #cdf9f6;
  background-image: repeating-linear-gradient(90deg, rgba(205, 249, 246, 0), rgba(205, 249, 246, 0) 30px, #acf5f0 30px, #acf5f0 60px); }

@media screen and (max-width: 600px) {
  .fz-28 {
    font-size: calc(2.8rem * 0.8); }

  .fz-32 {
    font-size: calc(3.2rem * 0.8); }

  .mgt-15_sp {
    margin-top: 15px; }

  .mgb-15_sp {
    margin-bottom: 15px; }

  .block-600 {
    display: block; } }
@media screen and (max-width: 1440px) {
  .br_1440 {
    display: inline; } }
@media screen and (max-width: 1200px) {
  .br_1200 {
    display: inline; }

  .br_pconly {
    display: none; } }
@media screen and (max-width: 1000px) {
  .br_1000 {
    display: inline; } }
@media screen and (max-width: 768px) {
  .br_768 {
    display: inline; }

  .block-768 {
    display: block; } }
@media screen and (max-width: 767px) {
  .br_767 {
    display: inline; } }
@media screen and (max-width: 480px) {
  .br_480 {
    display: inline; }

  .fz-24_sp {
    font-size: 2.4rem; }

  .fz-22_sp {
    font-size: 2.2rem !important; }

  .fz-21_sp {
    font-size: 2.1rem; }

  .fz-18_sp {
    font-size: 1.8rem; } }
/*
 MVスクロールダウンボタン
-----------------------------*/
.scroll {
  position: absolute;
  bottom: 15%;
  left: 0;
  right: 0;
  margin: auto;
  width: 4em;
  height: 4em;
  border: 2px solid #F5F5F5;
  border-radius: 50%;
  cursor: pointer;
  background-color: #009662;
  animation: bgchange 5s ease infinite; }
  .scroll:hover {
    border: 2px solid #009662;
    background-color: #ffffff;
    animation: none; }
  .scroll::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4em;
    height: 4em;
    box-shadow: 0 0 0 0 rgba(0, 150, 98, 0.2);
    border-radius: 50%;
    opacity: 0;
    animation: ripple1 2s infinite; }
  .scroll span {
    width: 18px;
    height: 18px;
    position: absolute;
    top: 32%;
    left: 0;
    right: 0;
    margin: auto;
    transform: rotate(-45deg);
    border-left: 2px solid #F5F5F5;
    border-bottom: 2px solid #F5F5F5;
    z-index: 2; }

.scroll:hover span {
  border-color: #009662; }

@keyframes ripple1 {
  0% {
    opacity: 0; }
  30% {
    opacity: 1; }
  60% {
    box-shadow: 0 0 0 2em rgba(255, 255, 255, 0.4);
    opacity: 0; }
  100% {
    opacity: 0; } }
@keyframes bgchange {
  0% {
    background: #009662; }
  25% {
    background: #78A82C; }
  50% {
    background: #D59525; }
  75% {
    background: #CA330D; }
  /* 90%  {background:#08A1D2;}*/
  100% {
    background: #009662; } }
@media screen and (max-width: 768px) {
  .scroll {
    bottom: 5%;
    width: 50px;
    height: 50px; }
    .scroll span {
      width: 12px;
      height: 12px; } }
/*
  スクロールアニメーション
    (スクロールしたら表示してほしいところにjs-animationをつける)
---------------------------------------------*/
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(40px);
  transition: all 1s; }

.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px); }

.js-animation.js-ani-nomove {
  transform: translateY(0px);
  transition: all 1.2s; }

.js-animation.js-ani-nomove.is-show {
  transform: translateY(0px); }

/*遊び要素*/
#particles-js {
  position: fixed;
  /*描画固定*/
  z-index: -1;
  /*描画を一番下に*/
  width: 100%;
  height: 100%;
  opacity: 0.5; }

#wrapper {
  position: relative;
  /*描画を#particles-jsよりも上にするためposition:relative;を指定*/
  z-index: 1;
  /*z-indexの数字を大きくすることで描画を#particles-jsよりも上に*/
  width: 100%;
  height: 100%; }

@media screen and (max-width: 768px) {
  #particles-js {
    opacity: 0.3; } }
