@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Roboto:400,700&display=swap');

html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var,b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  display:block;
}
audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  color: #333;
  line-height: 1.0;
}

br {letter-spacing:0;}
ul, li {list-style:none;}
img, a img {border:0; text-decoration:none; vertical-align:top;}
mark {background:#ff0; color:#000;}
b, strong {font-weight:bold;}
table {border-collapse:collapse; border-spacing:0;}
td, th {padding:0;}
hr {box-sizing:content-box; height:0;}
button, input, optgroup, select, textarea {color:inherit; font:sans-serif; margin:0;}
button {overflow: visible;}
button, select {text-transform:none;}
button, html input[type="button"], input[type="reset"], input[type="submit"] {-webkit-appearance:button; cursor:pointer;}
input[type="checkbox"], input[type="radio"] {box-sizing:border-box; padding:0;}
textarea {overflow:auto;}

/*div:after, ul:after {content:""; display:block; clear:both;}*/
.cf:before,
.cf:after {content:""; display:table;}
.cf:after {clear:both;}
.cf {zoom:1;}

a {
  transition: all .3s ease;
  background-color:transparent;
  outline:0;
}
a:link    {color:#3366CC; text-decoration:none;}
a:visited {color:#3366CC; text-decoration:none;}
a:hover   {color:#1a428c; text-decoration:underline;}
a:active  {color:#99CCFF; text-decoration:none;}

/* -------------------------------------------------------
Layout
---------------------------------------------------------- */
html,
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}








/* -------------------------------------------------------
for SmartPhone
---------------------------------------------------------- */
@media only screen and (max-width:1199px){
  body {
    font-family: 'Roboto', sans-serif;
  }

  .pcv {
    display: none;
  }
  .fw-b {
    font-weight: bold;
  }
  .ff-sans {
    font-family: 'Roboto', sans-serif;
  }

  /* header */
  .header {
    height: 60px;
    background: #fff;
  }
  .header_wrap {
  }
  .site_name {
    padding: 8px 16px 0;
  }
  .site_name img {
    height: 48px;
  }

  /* s-nav */
  .drawer-menu a {
    color: #111;
  }
  .drawer-menu-item img {
    height: 24px;
  }

  .s_search_box {
    margin-top: 16px;
    padding: 0 16px;
  }
  .s_search_box input[type="text"] {
    box-sizing: border-box;
    width: 10em;
    height: 36px;
    padding: 0 8px;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 16px;
  }
  .s_search_box input[type="submit"] {
    box-sizing: border-box;
    margin-left: 2px;
    padding: 10px 8px;
    background: #f99345;
    border: 0;
    border-radius: 3px;
    color: #fff;
    font-size: 16px;
    letter-spacing: .1em;
    line-height: 1.0;
  }
/*
  .lang_list {
    letter-spacing: -0.4em;
    margin-top: 24px;
    padding: 0 8px;
    text-align: center;
  }
  .lang_list li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 16px 16px;
  }
  .lang_list li a {
    display: block;
    padding: .5em 1em;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #111;
    text-decoration: none;
  }
*/
  .lang_list {
    margin-top: 24px;
    text-align: center;
  }
  .lang_list span {
    display: inline-block;
    margin: 0 16px 16px;
  }
  .lang_list span a {
    display: block;
    padding: .5em 1em;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #111;
    text-decoration: none;
  }


  .drawer-menu li.noborder {
    border-bottom: 0;
  }
  .sns-s {
    margin-top: 16px;
    text-align: center;
  }
  .sns-s span {
    display: inline-block;
    margin: 0 12px 8px;
  }
  .sns-s a {
    color: #111;
  }
  .sns-s span img {
    height: 32px;
  }

  /* fv */

  .fv_wrap {
    position: relative;
    width: 100%;
    height: 240px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  /*
  .fv_img img {
    width: 100%;
  }
  */
  /*
  .fv_wrap {
    display: none;
  }
  */

  /* TOP
  --------------------------------------------*/
  /* top_contents */
  .top_contents {
    padding: 40px 0;
  }

  .top_section_wrap + .top_section_wrap {
    margin-top: 80px;
  }




  /* TOP観光ガイドボランティア */
  .top_volunteer_wrap {
    box-sizing: border-box;
    margin: 16px;
    padding: 32px 16px;
    background: #fff;
  }
  .top_volunteer_fl {
    margin-top: 32px;
  }
  .top_volunteer_fl .t_v_fl_img {
    text-align: center;
  }
  .t_v_fl_img img {
    max-width: 100%;
  }
  .top_volunteer_fl .t_v_fl_txt {
    margin-top: 32px;
    line-height: 1.8;
  }
  .t_v_fl_txt p + p {
    margin-top: 1em;
  }


  /* Contents
  --------------------------------------------*/
  .contents {
    padding: 40px 0;
  }

  .exp_t_l_block {
    margin-top: 80px;
  }


  .section_title {
    text-align: center;
  }
  .section_title.s_result {
    padding: 16px 8px;
    background: #f7f7f7;
    text-align: left;
  }
  .section_title h2 {
    margin-bottom: 16px;
  }
  /*
  .section_title h2:after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -3px;
    width: 50%;
    border-bottom: 3px solid #379802;
  }
  */
  .section_title h2 {
    color: #111;
    font-size: 140%;
    letter-spacing: .1em;
  }
  .section_title.s_result h2 {
    margin: 0;
    font-size: 120%;
    letter-spacing: normal;
    line-height: 1.4;
  }
  .section_title.s_result h2 span {
    display: block;
    font-size: 16px;
  }

  .section_title p {
    color: #666;
    font-size: 80%;
    letter-spacing: .1em;
  }
  .section_title h2 img {
    width: 240px;
  }
  .section_title .kiyamabasics img {
    width: 100%;
    max-width: 180px;
  }
  .section_title .kiyamameguri img {
    width: 100%;
    max-width: 180px;
  }
  .section_title a {
    color: #111;
    text-decotion: none;
  }

  /* contents flex */
  .contents_fl_wrap {}
  .contents_fl_wrap .main {}
  .contents_fl_wrap .side {
    margin-top: 40px;
  }


  /* btn */
  .more,
  .topics_more {
    margin-top: 32px;
    text-align: center;
  }
  .more a,
  .topics_more a {
    display: inline-block;
    padding: 1em 3em;
    background: #f99345;
    /*border: 1px solid #f2b657;*/
    border-radius: 4px;
    color: #fff;
    text-decoration: none;
  }

  .back {
    margin-top: 32px;
    text-align: center;
  }
  .back a {
    display: inline-block;
    padding: 1em 1em;
    background: #f99345;
    border-radius: 4px;
    color: #fff;
    font-size: 90%;
    text-decoration: none;
  }

  /* topics */
  .topics_list li {
    position: relative;
    display: flex;
    box-sizing: border-box;
    padding: 16px 24px 16px 16px;
    line-height: 1.4;
  }
  .topics_list li:nth-child(even) {
    background: #f7f7f7;
  }
  .topics_list li:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    color: #ccc;
  }
  .topics_list li .date {
    display: block;
  }
  .topics_list li a {
    display: block;
    flex: 1;
    padding-left: 16px;
    color: #111;
  }

  /* event spot */
  .event_wrap,
  .spot_wrap {
    margin-top: 40px;
  }
  .event_wrap li,
  .spot_wrap li {
    padding: 0 16px;
    vertical-align: top;
  }
  .event_wrap li + li,
  .spot_wrap li + li {
    margin-top: 40px;
  }
  .event_wrap li a {
    color: #222;
    text-decoration: none;
  }

  .spot_wrap li a {
    color: #111;
  }

  .spot_img {
    position: relative;
    width: 100%;
    max-width: 400px;
    height: 222px;
    overflow: hidden;
    text-align: center;
  }

  .spot_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 400px;
    height: auto;
  }

  .event_img {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .event_img:before {
    content:"";
    display: block;
    /*padding-top: 75%;*/
    padding-top: 61%;
  }
  .event_img img {
    position: absolute;
    /*
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    */
    top: 0;
     right: 0;
     left: 0;
     margin: auto;
    width: 100%;
    max-width: 400px;
    height: auto;
  }

  .event_img .sub_cate_iyasi,
  .event_img .sub_cate_kurasi,
  .event_img .sub_cate_mono {
    position: absolute;
    top: 0;
    left: 0;
    padding: .5em;
    font-size: 12px;
    z-index: 99;
  }
  .event_img .sub_cate_iyasi {
    background: #b4eae7;
    color: #111;
  }
  .event_img .sub_cate_kurasi {
    background: #f7c95d;
    color: #111;
  }
  .event_img .sub_cate_mono {
    background: #f7d9e4;
    color: #111;
  }


  .event_title {
    margin-top: .8em;
    font-size: 100%;
    line-height: 1.2;
  }
  .event_date {
    margin-top: .8em;
    font-size: 90%;
  }
  .event_desc {
    margin-top: .5em;
    font-size: 90%;
    line-height: 1.5;
  }
  .spot_name {
    margin-top: .5em;
    font-size: 100%;
    font-weight: bold;
    text-align: center;
  }




  /* 一覧ページfv */
  .exp_list_fv {
    position: relative;
    width: 100%;
    height: 160px;
    z-index: -1;
    overflow: hidden;
  }
  .spot_list_fv {
    position: relative;
    width: 100%;
    height: 100px;
    background: url(../images/list_fv_bg.jpg) repeat center;
    z-index: -1;
    overflow: hidden;
  }
/*
  .spot_list_fv:before,
  .shop_list_fv:before {
    content: '';
    background: inherit;
    -webkit-filter: blur(5px);
    -moz-filter: blur(5px);
    -o-filter: blur(5px);
    -ms-filter: blur(5px);
    filter: blur(5px);
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    z-index: -1;
  }
*/
  .spot_list_fv .overlay-b,
  .shop_list_fv .overlay-b,
  .exp_list_fv .overlay-b {
    width: 100%;
    height: 100%;
    /*background-color: rgba(0,0,0,0.5);*/
  }
  .spot_list_fv .category_name,
  .shop_list_fv .category_name,
  .exp_list_fv .category_name {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit- translateY(-50%);
    width: 100%;
    color: #fff;
    font-size: 140%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: .1em;
    text-align: center;
    text-shadow: 0 0 7px #000;
  }

  .exp_list_fv .category_name img {
    height: 40px;
  }
  .spot_list_fv .category_name img,
  .shop_list_fv .category_name img {
    height: 40px;
  }

  .spot_list_fv {}
  .shop_list_fv {}
  .exp_list_fv {}

  /* event monthly */
  .monthly_link {
    padding-bottom: 16px;
  }
  .monthly_link .year {
    margin-top: 8px;
    margin-bottom: 24px;
    text-align: center;
  }
  .monthly_link .year_wrap {
    display: table;
    width: 100%;
  }
  .monthly_link .year_wrap .year_prev,
  .monthly_link .year_wrap .year_next {
    display: table-cell;
    vertical-align: top;
  }
  .monthly_link .year_wrap .year_prev {
    width: 35%;
    text-align: right;
  }
  .monthly_link .year_wrap .year_current {
    display: table-cell;
    width: 30%;
    text-align: center;
    vertical-align: bottom;
  }
  .monthly_link .year_wrap .year_next {
    width: 35%;
    text-align: left;
  }
  .monthly_link .year_wrap .year_prev a,
  .monthly_link .year_wrap .year_next a {
    display: inline-block;
    /*width: 32px;*/
    padding: .2em .5em;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #111;
    font-size: 150%;
    text-align: center;
  }

  .monthly_link .year_current span {
    display: inline-block;
    padding-bottom: 8px;
    font-weight: bold;
    font-size: 120%;
  }
  .monthly_link ul {
    letter-spacing: -0.4em;
    padding: 0 8px;
    text-align: center;
  }
  .monthly_link ul li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 4px 8px;
  }
  .monthly_link ul li a {
    display: block;
    width: 3em;
    padding: .6em 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #111;
    font-size: 14px;
    text-decoration: none;
    text-align: center;
  }
  .monthly_link ul li a:hover {
    border: 1px solid #379802;
    color: #379802;
  }
  .monthly_link ul li a.nm {
    background: #379802;
    border: 1px solid #379802;
    color: #fff;
  }

  .season_link_wrap {
    margin-bottom: 80px;
    text-align: center;
  }
  .season_link_bt1,
  .season_link_bt2,
  .season_link_bt3,
  .season_link_bt4 {
    display: inline-block;
    margin: 0 8px;
  }
  .season_link_bt1 a,
  .season_link_bt2 a,
  .season_link_bt3 a,
  .season_link_bt4 a {
    display: block;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: #fff;
    font-size: 24px;
    text-decoration: none;
    line-height: 48px;
    text-align: center;
  }
  .season_link_bt1 a {background: #ed90b2;}
  .season_link_bt2 a {background: #4fc1b4;}
  .season_link_bt3 a {background: #b25e5e;}
  .season_link_bt4 a {background: #b776db;}
  .season_link_wrap a:hover {
    opacity: .5;
  }

  .season_block + .season_block {
    margin-top: 100px;
  }

  .season_block_title {
    text-align: center;
  }
  .season_block_title .season_logo {
    display: inline-block;
    vertical-align: middle;
  }
  .season_block_title .season_logo img {
    height: 48px;
  }
  .season_block_title .season1_txt,
  .season_block_title .season2_txt,
  .season_block_title .season3_txt,
  .season_block_title .season4_txt {
    display: inline-block;
    width: 48px;
    height: 48px;
    margin-left: 16px;
    border-radius: 50%;
    color: #fff;
    font-size: 24px;
    line-height: 48px;
    text-align: center;
  }

  .season_block_title .season1_txt {background: #ed90b2;}
  .season_block_title .season2_txt {background: #4fc1b4;}
  .season_block_title .season3_txt {background: #b25e5e;}
  .season_block_title .season4_txt {background: #b776db;}


  .page_nav {
    margin-top: 40px;
    text-align: center;
  }
  .page_nav ul {
    letter-spacing: -0.4em;
  }
  .page_nav li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 8px 8px;
  }
  .page_nav li a {
    display: block;
    width: 2em;
    height: 2em;
    background: #f99345;
    border-radius: 3px;
    color: #fff;
    text-decoration: none;
    line-height: 2em;
    text-align: center;
  }
  .page_nav li.om {
    width: 32px;
    height: 32px;
    margin: 0;
    color: #999;
    font-size: 16px;
    text-decoration: none;
    line-height: 32px;
    text-align: center;
  }

  /* spot_fv */
  .spot_fv {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
  }
  .spot_fv img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit- translate(-50%, -50%);
    width: 100%;
  }

  /* exp_textlist */
  .exp_textlist {
    margin-top: 32px;
  }
  .exp_textlist li {
    position: relative;
    padding: 1em;
    background: #fff;
    line-height: 1.4;
  }
  .exp_textlist li:nth-child(even) {
    background: #f7f7f7;
  }
  .exp_textlist li:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 8px;
    color: #f2b657;
  }
  .exp_textlist li a {
    color: #111;
  }

  /* article */
  .article {
    padding: 0 16px;
  }
  .article_title {
    margin-bottom: 16px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 130%;
  }
  .article_title h1 {
    color: #111;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: .05em;
  }

  .topics_date {
    margin-top: 8px;
    color: #999;
    font-size: 12px;
    text-align: left;
  }

  /* article_title 個別設定 */
  .spot_body .article_title {
    text-align: center;
  }

  .topics_body .article_title {
    padding: .5em;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    line-height: 1.4;
  }
  .exp_body .article_title h1 {
    min-height: 40px;
    padding-left: 48px;
    background: url(../images/kiyamabasics.svg) no-repeat;
    background-size: auto 32px;
    background-position: 0 8px;
  }



  .article_title .property {
    margin-top: 1em;
    font-size: 12px;
    line-height: 1.4;
    text-align: center;
  }

  .article_body {
    padding: 16px;
    background: #fff;
    line-height: 1.8;
  }

  .article_body h1,
  .article_body h2 {
    padding: 8px 16px;
    background: #fcdda9;
    font-size: 120%;
    font-weight: bold;
  }

  .article_body img {
    width: 100%;
    max-width: 100% !important;
    height: auto !important;
  }
  .article_body img + img {
  	display: block;
  	margin-top: 16px;
  }

  .article_body .tag_bg {
    margin-top: 24px;
    padding: 16px;
    background: #f7f7f7;
  }
  .article_body .tag_bg p {
    font-size: 14px;
  }

  .article_body .tagcloud {
    margin-top: 8px;
    letter-spacing: -0.4em;
  }
  .article_body .tagcloud li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 8px 8px 0;
  }
  .article_body .tagcloud li a {
    position: relative;
    display: block;
    padding: 6px 8px 6px 24px;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #111;
    font-size: 14px;
    text-decoration: none;
  }
  .article_body .tagcloud li a:before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f02b";
    position: absolute;
    left: 8px;
    color: #999;
  }
  .article_body .tagcloud li a:hover {
    opacity: .5;
  }

  .article_body .in_category {
    margin-top: 32px;
  }
  .article_body .in_category .cate_name {
    display: inline-block;
    margin-right: 8px;
    padding: 4px 8px;
    background: #fff8ed;
    font-size: 14px;
  }
  .article_body .in_category a {
    color: #333;
  }

  .article_body .sns_share {
    margin-top: 16px;
  }
  .article_body .sns_share ul {
    letter-spacing: -0.4em;
  }
  .article_body .sns_share ul li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 16px;
  }
  .article_body .sns_share ul li a {
    display: block;
    font-size: 24px;
    text-decoration: none;
  }
  .article_body .sns_share ul li a.fb_bt {
    color: #3b5998;
  }
  .article_body .sns_share ul li a.tw_bt {
    color: #55acee;
  }

  .spot_info_block {
    margin-top: 80px;
  }
  .spot_info_block h2 {
    margin-bottom: 8px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 700;
  }


  /* イベント基本情報 */
  .basicinfo_title {
    margin-top: 80px;
    margin-bottom: 8px;
  }
  .basicinfo_title h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 700;
  }
  .basicinfo {
  }
  .basicinfo table {
    width: 100%;
  }
  .basicinfo tr,
  .basicinfo th,
  .basicinfo td {
    display: block;
  }
  .basicinfo th {
    padding: .2em .5em;
    background: #f7f7f7;
    font-size: 80%;
    font-weight: normal;
    text-align: left;
  }
  .basicinfo td {
    padding: .5em .5em 1em;
    line-height: 1.6;
  }
  .basicinfo .postalcode {
    display: block;
  }
  .basicinfo a.tel {
    display: block;
    background: #fff;
    border: 1px solid #111;
    color: #111;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    line-height: 40px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
  }
  .basicinfo a.tel:before {
    content: "\f879";
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    margin-right: 8px;
    font-size: 18px;
  }
  .basicinfo .gmap {
    display: block;
  }
  .basicinfo .official_sns {
    margin-top: 16px;
  }
  .basicinfo .official_sns .yt,
  .basicinfo .official_sns .fb,
  .basicinfo .official_sns .tw,
  .basicinfo .official_sns .is {
    display: inline-block;
  }
  .basicinfo .official_sns .yt a,
  .basicinfo .official_sns .fb a,
  .basicinfo .official_sns .tw a,
  .basicinfo .official_sns .is a {
    display: block;
    margin-bottom: 8px;
    padding: .5em 1em;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #111;
    text-decoration: none;
  }


  /* about us */
  .info_intro {
    margin-top: 40px;
    padding: 1em;
    background: #fff;
    line-height: 1.6;
  }
  .info_wrap {
    margin-top: 40px;
  }
  .info_table {
    padding: 0 16px;
  }
  .info_map {
    margin-top: 32px;
    padding: 0 16px;
  }
  .info_table table {
    width: 100%;
  }
  .info_table tr,
  .info_table th,
  .info_table td {
    display: block;
  }
  .info_table th {
    margin-bottom: .5em;
    font-size: 80%;
    font-weight: normal;
    text-align: left;
  }
  .info_table td {
    padding-bottom: 1.5em;
    line-height: 1.8;
  }
  .info_table td .postalcode {
    display: block;
  }
  .info_map iframe {
    width: 100%;
    height: 240px;
  }

  .relate_link_block {
    margin-top: 40px;
    padding: 24px 16px;
    background: #fff;
  }
  .relate_link_block .r_l_title {
    font-size: 100%;
  }
  .relate_link_block ul {
    margin-top: 1em;
    padding-left: 1em;
  }
  .relate_link_block ul li + li {
    margin-top: 1em;
  }

  .coop {
    margin-top: 32px;
    padding-left: 1em;
  }
  .coop .coop_box {
    font-size: 90%;
  }
  .coop .coop_box + .coop_box {
    margin-top: 1em;
  }


  /* ガイド */
  .guide_wrap {
    margin: 16px 8px;
    padding: 16px;
    background: #fff;
  }
  .guide_fl {
  }
  .guide_table {
  }
  .guide_img {
    margin-top: 16px;
    text-align: center;
  }
  .guide_table {
    margin-top: 16px;
  }
  .guide_table table {
    width: 100%;
  }
  .guide_table tr,
  .guide_table th,
  .guide_table td {
    display: block;
    line-height: 1.8;
  }
  .guide_table th {
    padding: .6em 1em;
    background: #eee;
    font-size: 90%;
    font-weight: normal;
    text-align: left;
  }
  .guide_table td {
    padding: .5em .5em 1.5em;
  }
  .guide_img img {
    width: 100%;
    max-width: 400px;
  }

  .guide_att {
    margin-top: 16px;
    font-weight: bold;
    text-decoration: underline;
    line-height: 1.8;
  }

  .guide_info {
    margin-top: 32px;
    line-height: 1.8;
  }
  .guide_info span {
    display: block;
  }

  /* side */
  .side {
    padding-top: 32px;
    border-top: 1px dotted #ccc;
  }
  .side_box {
    padding: 0 16px;
  }
  .side_box + .side_box {
    margin-top: 32px;
  }

  .side_box_title {
    background: #fcead1;
    padding: 1em 0;
    text-align: center;
  }
  .side_box_title i {
    margin-right: 8px;
  }
  .side_box_title h3.exp_title img,
  .side_box_title h3.event_title img {
    display: inline-block;
    height: 18px;
    margin-right: 8px;
  }

  .new_events_list {
    margin-top: 16px;
  }
  .new_events_list li {
    padding: 0 .5em 1em;
    border-bottom: 1px dotted #ddd;
    line-height: 1.6;
  }
  .new_events_list li + li {
    margin-top: 1em;
  }
  .new_events_list li a {
    color: #111;
    text-decoration: none;
  }
  .new_events_list li a:after {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f0da";
    margin-left: 8px;
    color: #379802;
  }
  .new_events_list li a:hover {
    color: #774e56;
  }

  .related_list li {
    border-bottom: 1px dotted #ccc;
  }
  .related_list li a {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 8px 0;
    color: #111;
  }
  .related_list li a .rlt_img {
    width: 20%;
    height: auto;
    max-width: 80px;
    max-height: 52px;
    overflow: hidden;
    vertical-align: top;
  }
  .related_list li a .rlt_img img {
    width: 100%;
  }
  .related_list li a .rlt_title {
    flex: 1;
    padding-left: 1em;
    font-family: 'Roboto', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: bold;
    line-height: 1.2;
    vertical-align: top;
  }

  .side_box .tag_list {
    letter-spacing: -0.4em;
    margin-top: 16px;
  }
  .side_box .tag_list li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 4px 8px;
  }
  .side_box .tag_list li a {
    position: relative;
    display: block;
    padding: 8px 12px 8px 28px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
    color: #111;
    font-size: 14px;
    text-decoration: none;
  }
  .side_box .tag_list li a:before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f02b";
    position: absolute;
    left: 8px;
    color: #f9ac70;
  }



  /* gototop */
  .gototop {
    position: fixed;
    right: 0;
    bottom: 0;
  }
  .gototop a {
    display: block;
    width: 60px;
    height: 60px;
    box-sizing: border-box;
    background: #f99345;
    color: #fff;
    line-height: 60px;
    text-align: center;
    z-index: 5;
  }
/*
  .mp {
    margin-bottom: 32px;
    padding: 0 16px;
    font-size: 12px;
  }
  .mp span {
    display: inline-block;
    margin-right: 1.5em;
  }
  .mp a {
    color: #333;
  }
*/
  /* footer
  --------------------------------------------*/
  .footer {
    margin-top: auto;
    background: #f99345;
  }
  .footer .inner {
    padding: 16px;
    color: #fff;
    line-height: 1.6;
  }
  .footer_logo {
    text-align: center;
  }
  .footer_info {
    margin-top: 16px;
  }
  .f_name {
    /*font-weight: bold;*/
  }
  .footer .address,
  .footer .b-h,
  .footer .f_tel,
  .footer .email {
    font-size: 12px;
  }
  .footer .email a {
    color: #fff;
    text-decoration: underline;
  }

  .footer_logo img {
    width: 200px;
  }

  .footer_link {
    padding-top: 16px;
    font-size: 14px;
    line-height: 1.8;
  }
  .footer_link span {
    display: inline-block;
    margin: 0 .5em;
  }
  .footer_link a {
    color: #fff;
  }


  .footer_sns .bn_link {
    margin-top: 16px;
  }
  .footer_sns .bn_link span {
    display: inline-block;
    margin-bottom: 8px;
  }
  .footer_sns .bn_link span img {
    height: 32px
  }

  .cp {
    margin-top: 24px;
    font-size: 10px;
    text-align: center;
  }

}/* end SP */


/* -------------------------------------------------------
for TAB
---------------------------------------------------------- */
@media screen and (min-width:481px) and (max-width:1199px) {
  /* event spot */
  .event_wrap,
  .spot_wrap {
    letter-spacing: -0.4em;
    margin-top: 40px;
    text-align: center;
    vertical-align: top;
  }
  .event_wrap li,
  .spot_wrap li {
    letter-spacing: normal;
    display: inline-block;
    width: 50%;
    max-width: 400px;
    box-sizing: border-box;
    margin-bottom: 40px;
    padding: 0 16px;
    vertical-align: top;
  }
  .event_wrap li + li,
  .spot_wrap li + li {
    margin-top: 0;
  }

  .spot_img {
    position: relative;
    width: 100%;
    max-width: 400px;
    height: 240px;
    max-height: 300px;
    overflow: hidden;
    text-align: center;
  }

  .spot_img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
    max-width: 400px;
    height: auto;
  }

  .event_img {
    position: relative;
    width: 100%;
    overflow: hidden;
  }
  .event_img:before {
    content:"";
    display: block;
    /*padding-top: 75%;*/
    padding-top: 61%;
  }
  .event_img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
    width: 100%;
    height: auto;
    z-index: 1;
  }

  .event_img .sub_cate_iyasi,
  .event_img .sub_cate_kurasi,
  .event_img .sub_cate_mono {
    position: absolute;
    top: 0;
    left: 0;
    padding: .5em;
    font-size: 12px;
    z-index: 99;
  }
  .event_img .sub_cate_iyasi {
    background: #b4eae7;
    color: #111;
  }
  .event_img .sub_cate_kurasi {
    background: #f7c95d;
    color: #111;
  }
  .event_img .sub_cate_mono {
    background: #f7d9e4;
    color: #111;
  }

  .event_title,
  .spot_name {
    margin-top: .5em;
    font-size: 100%;
    font-weight: bold;
    line-height: 1.2;
    text-align: left;
  }

  .section_title.s_result h2 span {
    display: inline-block;
    font-size: 16px;
  }


}/* end TAB */


/* -------------------------------------------------------
for PC
---------------------------------------------------------- */
@media only screen and (min-width:1200px){
  body {
    background: url(../images/bg_1.jpg) repeat center top;
    font-family: 'Roboto', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', "メイリオ", sans-serif;
    font-weight: 500;
    zoom:1;
  }
  _:lang(x)::-ms-backdrop, body {
    font-family: "メイリオ", Meiryo, sans-serif;
  }


  .spv {
    display: none;
  }
  .fw-b {
    font-family: 'Roboto', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: bold;
  }
  .ff-sans {
    font-family: 'Roboto', '游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', "メイリオ", sans-serif;
  }

  /* header */
  .header {
    background: #fff;
  }
  .header .intro {
    width: 1200px;
    margin: 0 auto;
    padding-top: 8px;
    color: #666;
    font-size: 12px;
  }
  .header .header_wrap {
    width: 1200px;
    height: 100px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header_wrap .title {
    flex: 1;
    padding: 16px 0;
  }
  .header_wrap .h_sns {
    margin-left: 32px;
  }
  .header_wrap .lang_box {
    margin-left: 32px;
  }
  .title .site_name {
    font-size: 18px;
    font-weight: bold;
    letter-spacing: .05em;
  }
  .site_name a {
    text-decoration: none;
  }
  .h_sns ul {
    letter-spacing: -0.4em;
  }
  .h_sns ul li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 8px;
  }
  .h_sns a {
    color: #111;
    font-size: 24px;
    font-weight: normal;
    text-decoration: none;
  }

  .lang_box {
    position: relative;
    width: 140px;
    z-index: 1000;
  }
  .lang_box label {
    display: block;
    padding: 10px 8px;
    margin-bottom: 5px;
    background: #f99345;
    border-radius: 3px;
    color: #fff;
    cursor: pointer;
    text-align: center;
  }
  .lang_box label:hover {
    opacity: .7;
  }
  .lang_box input[type="checkbox"].on-off,
  .lang_box input[type="checkbox"].on-off + div {
    display: none;
  }
  .lang_box input[type="checkbox"].on-off:checked + div {
    display: block;
  }
  .lang_box div {
    position: absolute;
    top: 38px;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid #eee;
    z-index: 1001;
  }
  .lang_box div ul {
    padding-left: 16px;
  }
  .lang_box div li {
    line-height: 2.0;
  }
  .lang_box div li a {
    color: #111;
  }

  .h_search_box {
    vertical-align: top;
  }
  .h_search_box input[type="text"] {
    box-sizing: border-box;
    width: 14em;
    height: 36px;
    padding: 0 8px 0 32px;
    background: url(../images/search_icon.svg) no-repeat 4px center;
    background-size: 24px auto;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 16px;
  }
  .h_search_box input[type="submit"] {
    box-sizing: border-box;
    margin-left: 2px;
    padding: 10px 8px;
    background: #f99345;
    border: 0;
    border-radius: 3px;
    color: #fff;
    font-size: 16px;
    letter-spacing: .1em;
    line-height: 1.0;
  }
  .h_search_box input[type="submit"]:hover {
    opacity: .7;
  }

  /* gnav */
  .gnav {
    background: #fff;
    border-bottom: 1px solid #eee;
    z-index: 999;
  }

  .gnav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1200px;
    margin: 0 auto;
    box-sizing: border-box;
    border-left: 1px solid #eee;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    z-index: 100;
  }
  .gnav ul > li {
    width: 25%;
    box-sizing: border-box;
    border-right: 1px solid #eee;
    text-align: center;
  }
  .gnav ul > li img {
    display: inline-block;
    margin-top: 16px;
  }
  .gnav > ul li a {
    display: block;
    box-sizing: border-box;
    background: rgba(255,255,255,1.0);
    color: #222;
    text-decoration: none;
    line-height: 56px;
    transition: all .3s;
  }
  .gnav ul > li a i {
    margin-right: 8px;
    color: #f99345;
    font-size: 24px;
  }
  /*
  .gnav ul li a:hover {
    background: #f27d10;
    color: #fff;
  }
  */
  .trigger {
    cursor: pointer;
  }
  .gnav ul li > ul {
    position: absolute;
    display: none;
    border-left: 0;
    width: 240px;
    z-index: 99;
  }
  .gnav ul li ul li {
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #ddd;
    border-right: 0;
    border-left: 0;
    float: none;
    text-align: left;
  }
  .gnav ul li ul li a {
    position: relative;
    /*padding: 1em 1em 1em 2em;*/
    padding-left: 1.5em;
    border: none;
    font-size: 16px;
  }
  .gnav ul li ul li a:after {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f105";
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    color: #f99345;
  }
  .gnav ul li ul li a:hover {
    background: #f99345;
    color: #fff;
  }


  .gnav ul li img {
    display: inline-block;
    height: 24px;
    margin-right: 8px;
  }
  .gnav .gnc1 i {color: #61c1cc;}
  .gnav .gnc2 i {color: #f2c357;}
  .gnav .gnc3 i {color: #91c96e;}
  .gnav .gnc4 i {color: #ed90b2;}

  /* fv */
  .fv_wrap {
    position: relative;
    width: 100%;
    height: 520px;
    overflow: hidden;
    /*background-position: center;*/
    background-repeat: no-repeat;
    /*background-size: cover;*/
  }
  /*
  .fv_img img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit- translate(-50%, -50%);
    width: 100%;
  }
  */
  .top_fv_txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit- translate(-50%, -50%);
    width: 100%;
    text-align: center;
  }
  .top_fv_txt .catch {
    color: #fff;
    font-size: 3vw;
    font-weight: bold;
  }



  /* TOP
  --------------------------------------------*/
  /* top_contents */
  .top_contents {
    /*padding-bottom: 80px;*/
  }

  .top_section_wrap {}
  .top_section_wrap + .top_section_wrap {
    margin-top: 112px;
  }

  .top_section_wrap.top_exp_bg {
    padding-bottom: 112px;
    /*padding-top: 80px;*/
    /*background: url(../images/bg_1.jpg) repeat center top;*/
    /*
    background: -moz-linear-gradient(top, #fcf9f4, #fff);
    background: -webkit-gradient(linear, left top, left bottom, from(#fcf9f4), to(#fff));
    background: linear-gradient(#fcf9f4, #fff);
    */
  }
  .top_section_wrap.top_topics_bg {
    padding: 80px 0;
    background: #fff;
  }

  .top_section {
    width: 1200px;
    box-sizing: border-box;
    margin: 0 auto;
  }




  /* TOP観光ガイドボランティア */
  .top_volunteer_wrap {
    width: 100%;
    box-sizing: border-box;
    padding: 56px 40px;
    background: #fff;
  }
  .top_volunteer_fl {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin-top: 32px;
  }
  .top_volunteer_fl .t_v_fl_img {
    width: 560px;
  }
  .top_volunteer_fl .t_v_fl_txt {
    flex: 1;
    padding-left: 40px;
    line-height: 1.8;
  }
  .t_v_fl_txt p + p {
    margin-top: 1em;
  }
  .top_volunteer_fl .t_v_fl_img img {
    width: 100%;
  }


  /* Contents
  --------------------------------------------*/
  .contents {
    padding-bottom: 116px;
    /*background: url(../images/bg_1.jpg) repeat center top;*/
    /*
    background: -moz-linear-gradient(top, #fcf9f4, #fff);
    background: -webkit-gradient(linear, left top, left bottom, from(#fcf9f4), to(#fff));
    background: linear-gradient(#fcf9f4, #fff);
    */
  }



  .section {
    width: 1200px;
    box-sizing: border-box;
    margin: 0 auto;
  }
  .section + .section {
    margin-top: 112px;
  }
  .section.listpage {
    padding-top: 80px;
  }


  .section_title {
    text-align: center;
  }
  .section_title.s_result {
    border-bottom: 1px solid #fcead1;
    text-align: left;
  }
  .section_title h2 {
    /*display: inline-block;*/
    margin: 0 0 12px;
    padding: 0 0 12px;
    position: relative;
    /*border-bottom: 4px solid #7ebc1a;*/
    font-family: 'Noto Sans JP', sans-serif;
  }
/*
  .section_title h2:after {
    content: ".";
    line-height: 0;
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: -3px;
    width: 50%;
    border-bottom: 3px solid #379802;
  }
*/
  .section_title h2 {
    color: #111;
    font-size: 180%;
    letter-spacing: .1em;
  }
  .section_title.s_result h2 {
    font-size: 150%;
  }
  .section_title a {
    color: #111;
    text-decotion: none;
  }

  .section_title p {
    color: #666;
    font-size: 14px;
    letter-spacing: .1em;
  }
  .section_title h2 img {
    height: 48px;
  }
  .section_title .kiyamabasics img {
    width: 180px;
  }
  .section_title .kiyamameguri img {
    width: 240px;
  }


  /* contents flex */
  .contents_fl_wrap {
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 0 auto;
    padding-top: 80px;
  }
  .contents_fl_wrap .main {
    width: 860px;
  }
  .contents_fl_wrap .side {
    width: 300px;
  }


  /* btn */
  .more {
    text-align: center;
  }
  .more a {
    display: inline-block;
    padding: 1em 3em;
    background: #f99345;
    border-radius: 4px;
    color: #fff;
    font-size: 120%;
    text-decoration: none;
    /*box-shadow: 0 2px 3px rgba(0,0,0,0.2);*/
  }
  .more a.top {
    color: #fff;
  }
  .more a:hover {
    opacity: .7;
  }

  .topics_more {
    margin-top: 24px;
    text-align: center;
  }
  .topics_more a {
    display: inline-block;
    padding: 1em 3em;
    background: #f99345;
    border-radius: 4px;
    color: #fff;
    font-size: 100%;
    text-decoration: none;
    /*box-shadow: 0 2px 3px rgba(0,0,0,0.2);*/
  }
  .topics_more a:hover {
    opacity: .7;
  }


  .back {
    margin-top: 40px;
    text-align: center;
  }
  .back a {
    display: inline-block;
    padding: 1em 3em;
    background: #f99345;
    border-radius: 4px;
    color: #fff;
    font-size: 100%;
    text-decoration: none;
  }
  .back a:hover {
    opacity: .7;
  }


  /* page_path */
  .page_path {
    width: 1200px;
    margin: 24px auto 0;
  }
  .page_path ul {
    letter-spacing: -0.4em;
  }
  .page_path ul li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 8px;
    color: #666;
    font-size: 12px;
  }
  .page_path ul li:after {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f105";
    margin-left: 8px;
    color: #999;
  }
  .page_path ul li a {
    color: #f27d10;
  }
  .page_path ul li:last-child:after {
    content: "";
  }

  /* topics */
  .topics_wrap {
    margin-top: 32px;
  }

  .topics_wrap.top_tl {
    width: 960px;
    margin-right: auto;
    margin-left: auto;
  }
  .topics_list li {
    position: relative;
    padding: 16px 8px 16px 32px;
    background: #fff;
  }
  .topics_list li:nth-child(even) {
    background: #f7f7f7;
  }
  .topics_list li:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 8px;
    color: #f2b657;
  }
  .topics_list li .date {
    display: inline-block;
    width: 8em;
  }
  .topics_list li a {
    color: #111;
  }

  /* event spot */
  .event_wrap,
  .spot_wrap {
    width: 1200px;
    margin-top: 56px;
  }
  .event_wrap li,
  .spot_wrap li {
    display: inline-block;
    width: 360px;
    box-sizing: border-box;
    margin: 0 16px 56px;
    vertical-align: top;
  }

  .event_wrap li a {
    color: #222;
    text-decoration: none;
    opacity: 1;
  }
  .event_wrap li a:hover {
    color: #999;
  }
  .event_wrap li a:hover img {
    opacity: .5;
  }
  .event_wrap li a:hover .sub_cate {
    opacity: .5;
  }

  .spot_wrap li a {
    color: #111;
    text-decoration: none;
  }
  .spot_wrap li a:hover {
    color: #999;
  }
  .spot_wrap li a:hover img {
    opacity: .5;
  }
  .event_img,
  .spot_img {
    position: relative;
    width: 100%;
    height: 222px;
    overflow: hidden;
  }
  .event_img img,
  .spot_img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
    z-index: 1;
  }
  .event_img .sub_cate_iyasi,
  .event_img .sub_cate_kurasi,
  .event_img .sub_cate_mono {
    position: absolute;
    top: 0;
    left: 0;
    padding: .5em;
    font-size: 12px;
    z-index: 99;
  }
  .event_img .sub_cate_iyasi {
    background: #b4eae7;
    color: #111;
  }
  .event_img .sub_cate_kurasi {
    background: #f7c95d;
    color: #111;
  }
  .event_img .sub_cate_mono {
    background: #f7d9e4;
    color: #111;
  }

  .event_title {
    margin-top: 1em;
    font-size: 16px;
    letter-spacing: 1px;
    line-height: 1.2;
  }
  .event_desc {
    margin-top: 1em;
    font-size: 14px;
    line-height: 1.5;
  }
  .event_date {
    margin-top: .8em;
    font-size: 14px;
  }
  .spot_name {
    margin-top: .5em;
    font-size: 16px;
    letter-spacing: 1px;
  }

  /* 一覧ページfv */
  .exp_list_fv {
    position: relative;
    width: 100%;
    height: 300px;
    z-index: -1;
    overflow: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 0;
  }
  .spot_list_fv {
    position: relative;
    width: 100%;
    height: 160px;
    background: url(../images/list_fv_bg.jpg) repeat center top;
  }
  .shop_list_fv {}
  .exp_list_fv .overlay-b {
    /*
    width: 100%;
    height: 300px;
    background-color: rgba(0,0,0,0.5);
    background: url(../images/overlay.png) repeat left top;
    z-index: 1;
    */
  }
  .spot_list_fv .category_name,
  .shop_list_fv .category_name,
  .exp_list_fv .category_name {
  /*
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit- translate(-50%, -50%);
    */
    color: #111;
    font-size: 30px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    letter-spacing: .1em;
    /*text-shadow: 0 0 7px rgba(0,0,0,1.0);*/
    z-index: 1;
    width: 100%;
    text-align: center;
  }
  .shop_list_fv .category_name img,
  .exp_list_fv .category_name img {
    height: 48px;
    filter: drop-shadow(0 2px 4px #000);
  }
  .spot_list_fv .category_name img {
    height: 48px;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    margin: -24px auto 0;
  }

  .spot_list_fv {}
  .shop_list_fv {}

  /* spot_fv */
  .spot_fv {
    position: relative;
    width: 100%;
    height: 300px;
    overflow: hidden;
  }
  .spot_fv img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit- translate(-50%, -50%);
    width: 100%;
  }

  /* exp_textlist */
  .exp_textlist {
    width: 800px;
    margin: 40px auto 0;
  }
  .exp_textlist li {
    position: relative;
    padding: 1em 1em 1em 2em;
    background: #fff;
    font-family: 'Roboto', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: bold;
  }
  .exp_textlist li:nth-child(even) {
    background: #f7f7f7;
  }
  .exp_textlist li:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 8px;
    color: #f2b657;
  }
  .exp_textlist li a {
    color: #111;
  }

  /* event monthly */
  .monthly_link {
    margin-top: 40px;
  }
  .monthly_link .year {
    margin-bottom: 24px;
  }
  .monthly_link .year_wrap {
    display: table;
    width: 200px;
    margin: 0 auto;
    padding: 0;
  }
  .monthly_link .year_wrap .year_prev,
  .monthly_link .year_wrap .year_next {
    display: table-cell;
    vertical-align: top;
  }
  .monthly_link .year_wrap .year_prev {
    width: 50px;
    text-align: right;
  }
  .monthly_link .year_wrap .year_current {
    display: table-cell;
    width: 100px;
    text-align: center;
    vertical-align: bottom;
  }
  .monthly_link .year_wrap .year_next {
    width: 50px;
    text-align: left;
  }
  .monthly_link .year_wrap .year_prev a,
  .monthly_link .year_wrap .year_next a {
    display: inline-block;
    width: 32px;
    color: #111;
    font-size: 20px;
    line-height: 32px;
    text-align: center;
  }
  .monthly_link .year_wrap .year_prev a:hover,
  .monthly_link .year_wrap .year_next a:hover {
    color: #379802;
  }
  .monthly_link .year_current span {
    display: inline-block;
    padding-bottom: 8px;
    font-size: 18px;
    font-weight: bold;
  }

  .monthly_link ul {
    letter-spacing: -0.4em;
    text-align: center;
  }
  .monthly_link ul li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 16px;
  }
  .monthly_link ul li a {
    display: block;
    padding: .6em 1.2em;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    color: #111;
    font-size: 14px;
    text-decoration: none;
  }
  .monthly_link ul li a:hover {
    background: #379802;
    border: 1px solid #379802;
    color: #fff;
  }
  .monthly_link ul li a.nm {
    background: #379802;
    border: 1px solid #379802;
    color: #fff;
  }

  .season_link_wrap {
    margin-bottom: 120px;
    text-align: center;
  }
  .season_link_bt1,
  .season_link_bt2,
  .season_link_bt3,
  .season_link_bt4 {
    display: inline-block;
    margin: 0 16px;
  }
  .season_link_bt1 a,
  .season_link_bt2 a,
  .season_link_bt3 a,
  .season_link_bt4 a {
    display: block;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    color: #fff;
    font-size: 32px;
    text-decoration: none;
    line-height: 64px;
    text-align: center;
  }
  .season_link_bt1 a {background: #ed90b2;}
  .season_link_bt2 a {background: #4fc1b4;}
  .season_link_bt3 a {background: #b25e5e;}
  .season_link_bt4 a {background: #b776db;}
  .season_link_wrap a:hover {
    opacity: .5;
  }

  .season_block + .season_block {
    margin-top: 100px;
  }

  .season_block_title {
    text-align: center;
  }
  .season_block_title .season_logo {
    display: inline-block;
    vertical-align: middle;
  }
  .season_block_title .season_logo img {
    height: 48px;
  }
  .season_block_title .season1_txt,
  .season_block_title .season2_txt,
  .season_block_title .season3_txt,
  .season_block_title .season4_txt {
    display: inline-block;
    width: 48px;
    height: 48px;
    margin-left: 16px;
    border-radius: 50%;
    color: #fff;
    font-size: 24px;
    line-height: 48px;
    text-align: center;
  }

  .season_block_title .season1_txt {background: #ed90b2;}
  .season_block_title .season2_txt {background: #4fc1b4;}
  .season_block_title .season3_txt {background: #b25e5e;}
  .season_block_title .season4_txt {background: #b776db;}



  /* page_nav */
  .page_nav {
    margin-top: 40px;
    text-align: center;
  }
  .page_nav ul {
    letter-spacing: -0.4em;
  }
  .page_nav li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 8px;
  }
  .page_nav li a {
    display: block;
    width: 32px;
    height: 32px;
    background: #f99345;
    border-radius: 3px;
    color: #fff;
    font-size: 16px;
    text-decoration: none;
    line-height: 32px;
    text-align: center;
    vertical-align: top;
  }
  .page_nav li a:hover {
    opacity: .7;
  }
  .page_nav li.om {
    width: 32px;
    height: 32px;
    margin: 0;
    color: #999;
    font-size: 16px;
    text-decoration: none;
    line-height: 32px;
    text-align: center;
  }


  /* side --------------------------- */
  .side_box + .side_box {
    margin-top: 40px;
  }
  /* event side */
  .side_box_title {
    padding: 1em;
    /*background: #fff;*/
    border-bottom: 1px solid #f7e3c0;
  }
  .side_box_title h3 {
    font-size: 18px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
  }
  .side_box_title h3.spot_title i {
    margin-right: .5em;
    color: #61c1cc;
  }
  .side_box_title h3.shop_title i {
    margin-right: .5em;
    color: #f2c357;
  }
  .side_box_title h3.stay_title i {
    margin-right: .5em;
    color: #ed90b2;
  }
  .side_box_title h3.tag_title i {
    margin-right: .5em;
    color: #ed90b2;
  }
  .side_box_title h3.exp_title img,
  .side_box_title h3.event_title img {
    display: inline-block;
    height: 18px;
    margin-right: 8px;
  }

  .new_events_list {}
  .new_events_list li {
    padding: 0 .5em 1em;
    border-bottom: 1px dotted #ddd;
    line-height: 1.6;
  }
  .new_events_list li:first-child {
    padding-top: 1em;
  }
  .new_events_list li + li {
    margin-top: 1em;
  }
  .new_events_list li a {
    color: #111;
    text-decoration: none;
  }
  .new_events_list li a:after {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f0da";
    margin-left: 8px;
    color: #f99345;
  }
  .new_events_list li a:hover {
    opacity: .5;
  }

  .related_list li {
    border-bottom: 1px dotted #ccc;
  }
  .related_list li a {
    display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 8px 0;
    color: #111;
    text-decoration: none;
  }
  .related_list li a:hover {
    opacity: .5;
  }
  .related_list li a .rlt_img {
    height: auto;
    max-width: 80px;
    max-height: 52px;
    vertical-align: top;
  }
  .related_list li a .rlt_img img {
    width: 100%;
  }
  .related_list li a .rlt_title {
    flex: 1;
    padding-left: 1em;
    font-family: 'Roboto', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: bold;
    line-height: 1.2;
    vertical-align: top;
  }


  .side_box .tag_list {
    letter-spacing: -0.4em;
    margin-top: 16px;
  }
  .side_box .tag_list li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 4px 8px;
  }
  .side_box .tag_list li a {
    position: relative;
    display: block;
    padding: 8px 12px 8px 28px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
    color: #111;
    font-size: 14px;
    text-decoration: none;
  }
  .side_box .tag_list li a:before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f02b";
    position: absolute;
    left: 8px;
    color: #f9ac70;
  }
  .side_box .tag_list li a:hover {
    opacity: .5;
  }


  /* article */
  .article.shop_body,
  .article.topics_body {
    width: 1200px;
    margin: 0 auto;
    padding-top: 80px;
  }

  .article_title {
    margin-bottom: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 28px;
  }
  .article_title h1 {
    color: #111;
    font-weight: 700;
    letter-spacing: .05em;
  }

  .topics_date {
    margin-top: 16px;
    color: #999;
    font-family: 'Roboto', sans-serif;
    font-size: 14px;
    text-align: left;
  }

  /* article_title 個別設定 */
  .spot_body .article_title {
    line-height: 1.4;
    text-align: left;
  }
  .shop_body .article_title,
  .recommend_body .article_title {
    text-align: center;
  }

  .exp_body .article_title {
    line-height: 1.4;
    text-align: left;
  }
  .exp_body .article_title h1 {
    min-height: 40px;
    padding-left: 48px;
    background: url(../images/kiyamabasics.svg) no-repeat;
    background-size: 40px 32px;
    background-position: 0 8px;
  }

  .topics_body .article_title {
    margin-bottom: 16px;
    padding: 0 .5em .4em;
    line-height: 1.4;
    text-align: left;
  }

  .article_title .property {
    margin-top: 1em;
    font-size: 16px;
    font-weight: 400;
  }

  .article_body {
    padding: 40px;
    background: #fff;
    line-height: 1.8;
  }

  .article_body h1,
  .article_body h2 {
    font-size: 24px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
  }

  .article_body strong {
    font-family: 'Roboto', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: bold;
  }

  .article_body p {
    letter-spacing: .05em;
  }
  .article_body img {
    max-width: 100%;
    height: auto !important;
    max-height: 640px;
  }
  .article_body.size-m img {
    max-width: 100%;
    height: auto !important;
    max-height: 585px;
  }

  .article_body table {
    /*width: 100%;*/
    margin: 32px 0;
    border: 1px solid #ddd;
  }
  .article_body th,
  .article_body td {
    padding: 1em 1em;
    border: 1px solid #ddd;
    line-height: 1.8;
  }
  .article_body th {
    background: #f7f7f7;
    font-weight: normal;
    text-align: left;
  }

  .article_body .sns_share {
    margin-top: 32px;
  }
  .article_body .sns_share ul {
    letter-spacing: -0.4em;
  }
  .article_body .sns_share ul li {
    letter-spacing: normal;
    display: inline-block;
    margin-right: 16px;
  }
  .article_body .sns_share ul li a {
    display: block;
    font-size: 24px;
    text-decoration: none;
  }
  .article_body .sns_share ul li a.fb_bt {
    color: #3b5998;
  }
  .article_body .sns_share ul li a.tw_bt {
    color: #55acee;
  }

  .article_body .in_category {
    margin-top: 40px;
  }
  .article_body .in_category .cate_name {
    display: inline-block;
    margin-right: 8px;
    padding: 4px 8px;
    background: #fff8ed;
    font-size: 14px;
  }
  .article_body .in_category a {
    color: #333;
  }

  .article_body .tagcloud {
    margin-top: 40px;
    letter-spacing: -0.4em;
  }
  .article_body .tagcloud li {
    letter-spacing: normal;
    display: inline-block;
    margin: 0 8px 8px 0;
  }
  .article_body .tagcloud li a {
    position: relative;
    display: block;
    padding: 6px 12px 6px 28px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 3px;
    color: #111;
    font-size: 14px;
    text-decoration: none;
  }
  .article_body .tagcloud li a:before {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f02b";
    position: absolute;
    left: 8px;
    color: #f9ac70;
  }
  .article_body .tagcloud li a:hover {
    opacity: .5;
  }


  /* 観光スポット基本情報 */
  .spot_info_block {
    margin-top: 80px;
  }
  .spot_info_block h2 {
    margin-bottom: 8px;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 700;
  }


  /* イベント基本情報 */
  .basicinfo_title {
    margin-top: 80px;
    margin-bottom: 8px;
  }
  .basicinfo_title h2 {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 20px;
    font-weight: 700;
  }
  .basicinfo {
    padding: 32px;
    background: #f9f9f9;
  }
  .basicinfo table {
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
  }
  .basicinfo th,
  .basicinfo td {
    padding: .5em 1em;
    line-height: 1.8;
    vertical-align: top;
  }
  .basicinfo th {
    width: 7em;
    background: #f7f5ed;
    text-align: left;
    vertical-align: middle;
  }
  .basicinfo td {
    background: #fff;
  }
  .basicinfo .postalcode {
    display: inline-block;
    margin-right: 1em;
  }
  .basicinfo a.tel {
    color: #111;
    text-decoration: none;
  }

  .basicinfo .gmap {
    display: block;
  }

  .basicinfo .site a:after {
    font-family: "Font Awesome 5 free";
    font-weight: 900;
    content: "\f35d";
    margin-left: 8px;
  }
  .basicinfo .official_sns {
    margin-top: 16px;
  }
  .basicinfo .official_sns .yt,
  .basicinfo .official_sns .fb,
  .basicinfo .official_sns .tw,
  .basicinfo .official_sns .is {
    display: inline-block;
  }
  .basicinfo .official_sns .yt a,
  .basicinfo .official_sns .fb a,
  .basicinfo .official_sns .tw a,
  .basicinfo .official_sns .is a {
    display: block;
    margin-bottom: 8px;
    padding: .2em .5em;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 3px;
    color: #111;
    text-decoration: none;
  }

  /* about us */
  .info_intro {
    margin-top: 40px;
    padding: 40px;
    background: #fff;
    line-height: 1.9;
  }
  .info_wrap {
    display: flex;
    justify-content: space-between;
    width: 1200px;
    margin: 80px auto 0;
  }
  .info_table {
    flex: 1;
    padding-right: 40px;
  }
  .info_map {
    width: 480px;
  }
  .info_table table {
    width: 100%;
  }
  .info_table th,
  .info_table td {
    padding: 1em;
    line-height: 1.8;
  }
  .info_table th {
    width: 8em;
    font-weight: normal;
    text-align: left;
  }
  .info_table td .postalcode {
    display: inline-block;
    margin-right: 1em;
  }
  .info_map iframe {
    width: 100%;
    height: 360px;
  }

  .relate_link_block {
    margin-top: 40px;
    padding: 40px;
    background: #fff;
  }
  .relate_link_block .r_l_title {
    font-size: 120%;
  }
  .relate_link_block ul {
    margin-top: 1em;
    padding-left: 1em;
  }
  .relate_link_block ul li + li {
    margin-top: 1em;
  }

  .coop {
    margin-top: 32px;
    padding-left: 1em;
  }
  .coop .coop_box {
    display: inline-block;
  }
  .coop .coop_box + .coop_box {
    margin-left: 2em;
  }

  /* ガイド */
  .guide_wrap {
    margin-top: 40px;
    padding: 40px;
    background: #fff;
  }
  .guide_fl {
    display: flex;
    justify-content: space-between;
  }
  .guide_table {
    flex: 1;
    padding-right: 40px;
  }
  .guide_img {
    width: 300px;
  }
  .guide_table table {
    width: 100%;
  }
  .guide_table th,
  .guide_table td {
    line-height: 1.8;
  }
  .guide_table th {
    width: 7em;
    padding: 1em 0;
    font-weight: normal;
    -moz-text-align-last: justify;
    text-align-last: justify;
  }
  .guide_table td {
    padding: 1em 0 1em 3em;
  }
  .guide_img img {
    width: 100%;
  }
  .guide_att {
    margin-top: 40px;
    padding: 1em;
    background: #f7f3e8;
    font-size: 120%;
    font-weight: bold;
    text-decoration: underline;
  }

  .guide_info {
    margin-top: 32px;
  }
  .guide_info span {
    display: inline-block;
    margin-right: 2em;
  }

/*
  .mp {
    width: 1200px;
    margin: 0 auto 32px;
    font-size: 12px;
    text-align: right;
  }
  .mp span {
    display: inline-block;
    margin-right: 1.5em;
  }
  .mp a {
    color: #333;
  }
*/



  /* footer
  -----------------------------------------*/
  .footer {
    margin-top: auto;
    /*background: #f99345;*/
    background: url(../images/footer_bg.jpg) repeat center top;
  }
  .footer .inner {
    width: 1200px;
    margin: 0 auto;
    padding: 32px 0;
    color: #fff;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 1px;
  }

  .footer_wrap {
    display: flex;
    justify-content: space-between;
  }
  .footer_logo {
    width: 240px;
  }
  .footer_logo img {
    width: 200px;
  }
  .footer_info {
    flex: 1;
  }
  .f_name {}
  .footer .address,
  .footer .b-h,
  .footer .f_tel,
  .footer .email {
    font-size: 12px;
  }
  .footer .email a {
    color: #fff;
  }
  .footer_sns {
    line-height: 1.0;
  }
  .footer_sns a {
    color: #fff;
    text-decoration: none;
  }
  .footer_sns img {
    height: 32px;
  }

  .bn_link {
    margin-top: 8px;
  }
  .footer_link {
    margin: 0 32px;
    padding-top: 16px;
    font-size: 14px;
    line-height: 1.8;
  }
  .footer_link span {
    display: inline-block;
    margin: 0 .5em;
  }
  .footer_link a {
    color: #fff;
  }

  .cp {
    font-size: 10px;
    text-align: right;
  }

  /* gototop */
  .gototop {
    position: fixed;
    right: 8px;
    bottom: 186px;
    z-index: 100;
  }
  .gototop a {
    display: block;
    width: 48px;
    height: 48px;
    box-sizing: border-box;
    background: #f99345;
    color: #fff;
    line-height: 48px;
    text-align: center;
  }

}/* end PC */


