@charset "UTF-8";
/*!
Theme Name: TOYOURA 2026 (2019ver1.2からのリファクタ版)
Description: 2026リニューアル版。TOYOURA 2019 ver1.2 をベースに、WordPress 6.x / PHP 8.3 対応、MW WP Form→CF7移行、過去年度テンプレ整理などのリファクタを実施。SCSSビルドはdart-sass（npm run build）で管理。
Theme URI:
Author: ARTARAKT
Author URI: http://artarakt.com
Version: 2.0
Text Domain:
Domain Path: /languages/
Tags:
*/
/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/
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;
  font-weight: normal;
  box-sizing: border-box;
}

body {
  line-height: 0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul, li {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after {
  content: "";
  content: none;
}

q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

img {
  border: 0;
  vertical-align: top;
}

em {
  font-style: italic;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 0;
  padding: 0;
}

input, select, textarea {
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

input:focus, textarea:focus, select:focus {
  outline: none;
}

html {
  overflow-y: scroll;
}

body {
  color: #5a3c1e;
  background-image: url(images/bg_01.jpg);
  /*スタンダード*/
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
  /*游ゴシックバージョン*/
  /*
  	font-family: 游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  */
  font-size: 13px;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  body {
    font-size: 75%;
  }
}
a, h1, h2, h3, h4, h5, h6 {
  color: #5a3c1e;
}

b, strong {
  font-weight: bold;
}

a {
  transition-duration: 0.3s;
}

.content_detail a,
.page a, #Organization td a, .content a,
.detail a,
.free_content a {
  color: #739eb6;
  font-weight: bold;
  border-bottom: 1px solid #739eb6;
}
.content_detail a:hover,
.page a:hover, #Organization td a:hover, .content a:hover,
.detail a:hover,
.free_content a:hover {
  border-bottom: 1px solid transparent;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  body {
    min-width: 320px;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
a.btn, .wp-pagenavi a, .submit input, #action-button button, #subscription-cancel-button {
  display: block;
  width: 100%;
  max-width: 220px;
  margin: 0 auto;
  font-size: 13px;
  line-height: 40px;
  height: 40px;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #f0e1cd;
  border-radius: 20px;
  background-color: rgba(255, 255, 255, 0.8);
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: 95% center;
  color: #5a3c1e !important;
  cursor: pointer;
}
a.btn.small, .wp-pagenavi a.small, .submit input.small, #action-button button.small, #subscription-cancel-button.small {
  width: 134px;
  line-height: 38px;
  height: 38px;
  background-position: 90% center;
}
a.btn.ss, .wp-pagenavi a.ss, .submit input.ss, #action-button button.ss, #subscription-cancel-button.ss {
  width: 44px;
  line-height: 44px;
  height: 44px;
  background-image: none;
}

.btn_request {
  position: relative;
  display: block;
  width: 100%;
  max-width: 225px;
  height: 38px;
  line-height: 38px;
  cursor: pointer;
  background-color: #e66e64;
  border: 1px solid #f0e1cd;
  border-radius: 20px;
  color: #ffffff;
  background-image: url(images/icon_02.png);
  background-position: 95% center;
  background-repeat: no-repeat;
  box-sizing: border-box;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  text-align: center;
}
.btn_request:hover {
  opacity: 0.7;
}

.cf:after {
  content: "";
  display: block;
  clear: both;
  overflow: hidden;
}

.video {
  width: 100%;
  height: 0;
  margin-bottom: 1rem;
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}

.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

/*Image Riseup + Fadein*/
.rise {
  transition-delay: 0.1s;
  transition-duration: 0.5s;
  opacity: 0;
  transform: translate(0, 40px);
  -webkit-transform: translate(0, 40px);
}

.arise {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}

.fade {
  transition-duration: 0.5s;
  opacity: 0;
  transform: translate(0, 10px);
  -webkit-transform: translate(0, 10px);
}

.fades {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}

.td100ms {
  transition-delay: 0.1s;
}

.td200ms {
  transition-delay: 0.2s;
}

.td400ms {
  transition-delay: 0.4s;
}

.td600ms {
  transition-delay: 0.6s;
}

.td800ms {
  transition-delay: 0.8s;
}

/*14px基準*/
.tx10 {
  font-size: 72% !important;
} /*renders 10px */
.tx11 {
  font-size: 79% !important;
} /*renders 11px */
.tx12 {
  font-size: 86% !important;
} /*renders 12px */
.tx13 {
  font-size: 93% !important;
} /*renders 14px */
.tx14 {
  font-size: 100% !important;
} /*renders 14px */
.tx15 {
  font-size: 108% !important;
} /*renders 15px */
.tx16 {
  font-size: 115% !important;
} /*renders 16px */
.tx17 {
  font-size: 122% !important;
} /*renders 17px */
.tx18 {
  font-size: 129% !important;
} /*renders 18px */
.tx19 {
  font-size: 136% !important;
} /*renders 19px */
.tx20 {
  font-size: 143% !important;
} /*renders 20px */
.tx21 {
  font-size: 150% !important;
} /*renders 21px */
.tx22 {
  font-size: 158% !important;
} /*renders 22px */
.tx23 {
  font-size: 165% !important;
} /*renders 23px */
.tx24 {
  font-size: 172% !important;
} /*renders 24px */
.tx25 {
  font-size: 179% !important;
} /*renders 25px */
.tx26 {
  font-size: 186% !important;
} /*renders 26px */
/* text-align */
.tx_L {
  text-align: left !important;
}

.tx_C {
  text-align: center !important;
}

.tx_R {
  text-align: right !important;
}

.tx_j {
  text-align: justify;
  text-justify: inter-ideograph !important;
}

/* vertical-align */
.va_T {
  vertical-align: top !important;
}

.va_M {
  vertical-align: middle !important;
}

.va_B {
  vertical-align: bottom !important;
}

/* float */
.fl_L {
  float: left !important;
}

.fl_R {
  float: right !important;
}

.fl_n {
  float: none !important;
}

/* overflow */
.hidden {
  overflow: hidden !important;
}

.scroll {
  overflow: scroll !important;
}

.scroll-y {
  overflow-y: scroll !important;
}

/* line-height */
.lh0 {
  line-height: 0 !important;
}

.lh10 {
  line-height: 1 !important;
}

.lh11 {
  line-height: 1.1 !important;
}

.lh12 {
  line-height: 1.2 !important;
}

.lh13 {
  line-height: 1.3 !important;
}

.lh14 {
  line-height: 1.4 !important;
}

.lh15 {
  line-height: 1.5 !important;
}

.lh16 {
  line-height: 1.6 !important;
}

.lh17 {
  line-height: 1.7 !important;
}

.lh175 {
  line-height: 1.75 !important;
}

.lh18 {
  line-height: 1.8 !important;
}

.lh19 {
  line-height: 1.9 !important;
}

.lh20 {
  line-height: 2 !important;
}

/* clearfix */
.cFix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.cFix {
  min-height: 1px;
}

* html .cFix {
  height: 1px; /*\*/ /*/ height: auto; overflow: hidden; /**/
}

/* margin */
.m0 {
  margin: 0 !important;
}

.m1 {
  margin: 1px !important;
}

.m2 {
  margin: 2px !important;
}

.m3 {
  margin: 3px !important;
}

.m4 {
  margin: 4px !important;
}

.m5 {
  margin: 5px !important;
}

.m6 {
  margin: 6px !important;
}

.m7 {
  margin: 7px !important;
}

.m8 {
  margin: 8px !important;
}

.m9 {
  margin: 9px !important;
}

.m10 {
  margin: 10px !important;
}

.m15 {
  margin: 15px !important;
}

.m20 {
  margin: 20px !important;
}

.m25 {
  margin: 25px !important;
}

.m30 {
  margin: 30px !important;
}

.m35 {
  margin: 35px !important;
}

.m40 {
  margin: 40px !important;
}

.m45 {
  margin: 45px !important;
}

.m50 {
  margin: 50px !important;
}

.m55 {
  margin: 55px !important;
}

.m60 {
  margin: 60px !important;
}

.m65 {
  margin: 65px !important;
}

.m70 {
  margin: 70px !important;
}

.m75 {
  margin: 75px !important;
}

.m80 {
  margin: 80px !important;
}

.m85 {
  margin: 85px !important;
}

.m90 {
  margin: 90px !important;
}

.m95 {
  margin: 95px !important;
}

.m100 {
  margin: 100px !important;
}

.m110 {
  margin: 110px !important;
}

.m120 {
  margin: 120px !important;
}

.m130 {
  margin: 130px !important;
}

.m140 {
  margin: 140px !important;
}

.m150 {
  margin: 150px !important;
}

.m160 {
  margin: 160px !important;
}

.m170 {
  margin: 170px !important;
}

.m180 {
  margin: 180px !important;
}

.m190 {
  margin: 190px !important;
}

.m200 {
  margin: 200px !important;
}

.m220 {
  margin: 220px !important;
}

.m240 {
  margin: 240px !important;
}

.m260 {
  margin: 260px !important;
}

.m280 {
  margin: 280px !important;
}

.m300 {
  margin: 300px !important;
}

.m0A {
  margin: 0 auto !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mt1 {
  margin-top: 1px !important;
}

.mt3 {
  margin-top: 3px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt7 {
  margin-top: 7px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mt85 {
  margin-top: 85px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mt95 {
  margin-top: 95px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mrA {
  margin-right: auto !important;
}

.mr0 {
  margin-right: 0px !important;
}

.mr1 {
  margin-right: 1px !important;
}

.mr3 {
  margin-right: 3px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr7 {
  margin-right: 7px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mr85 {
  margin-right: 85px !important;
}

.mr90 {
  margin-right: 90px !important;
}

.mr95 {
  margin-right: 95px !important;
}

.mr100 {
  margin-right: 100px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb1 {
  margin-bottom: 1px !important;
}

.mb3 {
  margin-bottom: 3px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb7 {
  margin-bottom: 7px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb85 {
  margin-bottom: 85px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb95 {
  margin-bottom: 95px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.mlA {
  margin-left: auto !important;
}

.ml0 {
  margin-left: 0px !important;
}

.ml1 {
  margin-left: 1px !important;
}

.ml3 {
  margin-left: 3px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml7 {
  margin-left: 7px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.ml80 {
  margin-left: 80px !important;
}

.ml85 {
  margin-left: 85px !important;
}

.ml90 {
  margin-left: 90px !important;
}

.ml95 {
  margin-left: 95px !important;
}

.ml100 {
  margin-left: 100px !important;
}

/* padding */
.p0 {
  padding: 0 !important;
}

.p1 {
  padding: 1px !important;
}

.p2 {
  padding: 2px !important;
}

.p3 {
  padding: 3px !important;
}

.p4 {
  padding: 4px !important;
}

.p5 {
  padding: 5px !important;
}

.p6 {
  padding: 6px !important;
}

.p7 {
  padding: 7px !important;
}

.p8 {
  padding: 8px !important;
}

.p9 {
  padding: 9px !important;
}

.p10 {
  padding: 10px !important;
}

.p15 {
  padding: 15px !important;
}

.p20 {
  padding: 20px !important;
}

.p25 {
  padding: 25px !important;
}

.p30 {
  padding: 30px !important;
}

.p35 {
  padding: 35px !important;
}

.p40 {
  padding: 40px !important;
}

.p45 {
  padding: 45px !important;
}

.p50 {
  padding: 50px !important;
}

.p55 {
  padding: 55px !important;
}

.p60 {
  padding: 60px !important;
}

.p65 {
  padding: 65px !important;
}

.p70 {
  padding: 70px !important;
}

.p75 {
  padding: 75px !important;
}

.p80 {
  padding: 80px !important;
}

.p85 {
  padding: 85px !important;
}

.p90 {
  padding: 90px !important;
}

.p95 {
  padding: 95px !important;
}

.p100 {
  padding: 100px !important;
}

.p110 {
  padding: 110px !important;
}

.p120 {
  padding: 120px !important;
}

.p130 {
  padding: 130px !important;
}

.p140 {
  padding: 140px !important;
}

.p150 {
  padding: 150px !important;
}

.p160 {
  padding: 160px !important;
}

.p170 {
  padding: 170px !important;
}

.p180 {
  padding: 180px !important;
}

.p190 {
  padding: 190px !important;
}

.p200 {
  padding: 200px !important;
}

.p220 {
  padding: 220px !important;
}

.p240 {
  padding: 240px !important;
}

.p260 {
  padding: 260px !important;
}

.p280 {
  padding: 280px !important;
}

.p300 {
  padding: 300px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pt1 {
  padding-top: 1px !important;
}

.pt3 {
  padding-top: 3px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt7 {
  padding-top: 7px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pt85 {
  padding-top: 85px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pt95 {
  padding-top: 95px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pr1 {
  padding-right: 1px !important;
}

.pr3 {
  padding-right: 3px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr7 {
  padding-right: 7px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pr85 {
  padding-right: 85px !important;
}

.pr90 {
  padding-right: 90px !important;
}

.pr95 {
  padding-right: 95px !important;
}

.pr100 {
  padding-right: 100px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pb1 {
  padding-bottom: 1px !important;
}

.pb3 {
  padding-bottom: 3px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb7 {
  padding-bottom: 7px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pb85 {
  padding-bottom: 85px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pb95 {
  padding-bottom: 95px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pl1 {
  padding-left: 1px !important;
}

.pl3 {
  padding-left: 3px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl7 {
  padding-left: 7px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.pl80 {
  padding-left: 80px !important;
}

.pl85 {
  padding-left: 85px !important;
}

.pl90 {
  padding-left: 90px !important;
}

.pl95 {
  padding-left: 95px !important;
}

.pl100 {
  padding-left: 100px !important;
}

/* width */
.w5 {
  width: 5px !important;
}

.w10 {
  width: 10px !important;
}

.w15 {
  width: 15px !important;
}

.w20 {
  width: 20px !important;
}

.w25 {
  width: 25px !important;
}

.w30 {
  width: 30px !important;
}

.w35 {
  width: 35px !important;
}

.w40 {
  width: 40px !important;
}

.w45 {
  width: 45px !important;
}

.w50 {
  width: 50px !important;
}

.w55 {
  width: 55px !important;
}

.w60 {
  width: 60px !important;
}

.w65 {
  width: 65px !important;
}

.w70 {
  width: 70px !important;
}

.w75 {
  width: 75px !important;
}

.w80 {
  width: 80px !important;
}

.w85 {
  width: 85px !important;
}

.w90 {
  width: 90px !important;
}

.w95 {
  width: 95px !important;
}

.w100 {
  width: 100px !important;
}

.w110 {
  width: 110px !important;
}

.w120 {
  width: 120px !important;
}

.w130 {
  width: 130px !important;
}

.w140 {
  width: 140px !important;
}

.w150 {
  width: 150px !important;
}

.w160 {
  width: 160px !important;
}

.w170 {
  width: 170px !important;
}

.w180 {
  width: 180px !important;
}

.w190 {
  width: 190px !important;
}

.w200 {
  width: 200px !important;
}

.w210 {
  width: 210px !important;
}

.w220 {
  width: 220px !important;
}

.w230 {
  width: 230px !important;
}

.w240 {
  width: 240px !important;
}

.w250 {
  width: 250px !important;
}

.w260 {
  width: 260px !important;
}

.w270 {
  width: 270px !important;
}

.w280 {
  width: 280px !important;
}

.w290 {
  width: 290px !important;
}

.w300 {
  width: 300px !important;
}

.w5p {
  width: 5% !important;
}

.w10p {
  width: 10% !important;
}

.w15p {
  width: 15% !important;
}

.w20p {
  width: 20% !important;
}

.w25p {
  width: 25% !important;
}

.w30p {
  width: 30% !important;
}

.w33p {
  width: 33% !important;
}

.w35p {
  width: 35% !important;
}

.w40p {
  width: 40% !important;
}

.w45p {
  width: 45% !important;
}

.w50p {
  width: 50% !important;
}

.w55p {
  width: 55% !important;
}

.w60p {
  width: 60% !important;
}

.w65p {
  width: 65% !important;
}

.w70p {
  width: 70% !important;
}

.w75p {
  width: 75% !important;
}

.w80p {
  width: 80% !important;
}

.w85p {
  width: 85% !important;
}

.w90p {
  width: 90% !important;
}

.w95p {
  width: 95% !important;
}

.w100p {
  width: 100% !important;
}

.bold {
  font-weight: bold !important;
}

.weightNormal {
  font-weight: normal !important;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
/*-----------------------------
  header
------------------------------*/
#TopHeader {
  width: 100%;
  margin: 0 auto;
  background-color: #fffef7;
}

.local_navi {
  background-image: url(images/bg_05.jpg);
}

#HNavi {
  border-top: 1px solid #f0e1cd;
  border-bottom: 1px solid #f0e1cd;
}
#HNavi ul {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}
#HNavi ul li {
  width: 16.3%;
  height: 100px;
  float: left;
  border: 1px solid #f0e1cd;
  border-bottom: 0;
  border-top: 0;
  border-left: 0;
  box-sizing: border-box;
  text-align: center;
  padding: 1% 0;
  background-image: url(images/icon_01.png);
  background-repeat: no-repeat;
  background-position: 99% 99%;
  background-color: #fffef7;
}
#HNavi ul .logo {
  width: 18.5%;
  border-left: 1px solid #f0e1cd;
  box-sizing: border-box;
  background: 0;
  background-color: #fffef7;
}
#HNavi ul li a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 1% 0;
}
#HNavi ul .logo img {
  max-width: 100%;
}

#LNavi p {
  padding: 5px 10px;
  box-sizing: border-box;
}
#LNavi ul {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  overflow: hidden;
  padding-left: 20px;
  box-sizing: border-box;
}
#LNavi ul li {
  float: left;
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 13px;
  margin-right: 6%;
  height: 46px;
  line-height: 46px;
  font-size: 108%;
}
#LNavi ul li.no {
  margin-right: 0;
}
#LNavi ul li.last {
  float: right;
  border-radius: 8px;
  background: 0;
  margin: 0;
  padding: 0;
  font-size: 100%;
}

#ChangeLanguage {
  display: block;
  background-color: #fcf9ed;
  width: 110px;
  height: 28px;
  line-height: 28px;
  text-align: center;
  margin: 9px 0;
  border: 1px solid #f0e1cd;
  border-radius: 14px;
}

.bread_crumb {
  width: 100%;
  background-image: url(images/bg_01.jpg);
}
.bread_crumb .box {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}
.bread_crumb .box ul {
  overflow: hidden;
  padding: 0 20px;
  box-sizing: border-box;
}
.bread_crumb .box ul li {
  float: left;
  padding: 0 7px;
  height: 46px;
  line-height: 46px;
}

/*-----------------------------
  Common Contents
------------------------------*/
#Content {
  width: 100%;
}

.content table {
  font-size: 15px;
}
.content p {
  font-size: 15px;
  line-height: 1.5rem;
  margin-bottom: 1em;
}
.content p img {
  max-width: 100%;
  height: auto;
}
.content strong, .content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
  font-weight: bold;
}
.content h1 {
  font-size: 2em;
  line-height: 1.6em;
}
.content h2 {
  font-size: 2em;
  line-height: 1.6em;
  margin: 0.65em 0;
}
.content h3 {
  font-size: 1.6em;
  line-height: 1.5em;
  margin-bottom: 0.6em;
}
.content h4 {
  font-size: 1.4em;
  line-height: 1.4em;
  margin-bottom: 0.55em;
}
.content h5 {
  font-size: 1.2em;
  line-height: 1em;
  margin-bottom: 0.5em;
}

.content.form {
  max-width: 750px;
}
.content.form table {
  width: 100%;
}
.content.form th {
  width: 35%;
  padding: 0.5rem 1rem;
  border: 1px solid lightgray;
  vertical-align: middle;
}
.content.form td {
  width: 65%;
  padding: 0.5rem 1rem;
  border: 1px solid lightgray;
}

.index_section {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto 60px;
  padding: 0 20px;
  box-sizing: border-box;
}
.index_section .title {
  overflow: hidden;
  margin-bottom: 10px;
}
.index_section .title h3 {
  float: left;
}
.index_section .title a {
  float: right;
}
.index_section .list {
  margin-bottom: 50px;
  display: flex;
  flex-wrap: wrap;
}
.index_section .list li {
  width: 32.6%;
  margin-right: 1.1%;
  margin-bottom: 10px;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid #f0e1cd;
  background-color: white;
  padding: 0.5%;
  border-radius: 3px;
}
.index_section .list li:nth-child(3n) {
  margin-right: 0;
}
.index_section .list li:nth-child(3n+1) {
  clear: both;
}
.index_section .list li span.pr_close {
  display: block;
  position: absolute;
  z-index: 99;
  top: 0;
  right: 0;
  padding: 3px 8px 0 9px;
  background: #64a064;
  color: white;
  font-weight: bold;
  font-size: 0.7rem;
  letter-spacing: 1px;
  opacity: 0.9;
}
.index_section .list li .box {
  position: relative;
  overflow: hidden;
}
.index_section .list li img {
  width: 100%;
  height: auto;
}
.index_section .list li .information {
  position: absolute;
  bottom: 0;
  background-color: rgba(40, 30, 20, 0.7);
  width: 100%;
  height: auto;
  box-sizing: border-box;
  padding: 2% 5%;
  background-image: url("images/icon_03.png");
  background-repeat: no-repeat;
  background-position: 99% 90%;
}
.index_section .list li .information p {
  color: #ffffff;
  font-size: 139%;
  line-height: 1.3em;
  margin-bottom: 1%;
}
.index_section .list li .information p.small {
  font-size: 100%;
  line-height: 1.2em;
  margin: 0;
}

/*-----------------------------
  Main Visual
------------------------------*/
#MainVisual {
  width: 100%;
  margin: 0 auto 60px;
  border-bottom: 5px solid #64a064;
}
#MainVisual.index {
  text-align: center;
  background-image: url(images/bg_about.jpg);
  background-repeat: no-repeat;
  background-position: 70% center;
  background-size: cover;
  padding-bottom: 50px;
  margin-bottom: 50px;
  border: 0;
}
#MainVisual.index h2 {
  padding: 70px 0 30px;
  height: auto;
}
#MainVisual.index p {
  font-size: 108%;
  line-height: 2.2em;
  margin-bottom: 30px;
}
#MainVisual h2 img {
  margin: 0 auto;
}
#MainVisual.stay {
  line-height: 0;
}
#MainVisual.stay h2 {
  width: 100%;
  background-image: url(images/bg_stay.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
#MainVisual.stay h2 img {
  float: right;
}
#MainVisual .mask {
  width: 100%;
  overflow: hidden;
}
#MainVisual .mask img {
  float: right;
}

@media screen and (max-width: 1300px) {
  #MainVisual .mask ul li:nth-child(2) {
    width: 100%;
    min-width: 980px;
    overflow: hidden;
  }
}
ul li .shop {
  box-sizing: border-box;
  padding: 2% 5%;
}
ul li .shop p {
  font-size: 93%;
}

.btn_area {
  overflow: hidden;
}
.btn_area.sp {
  padding-top: 2px;
}
.btn_area a {
  width: 49.5%;
  border: 1px solid #f0e1cd;
  border-radius: 3px;
  background-color: #f5ebd2;
  line-height: 45px;
  text-align: center;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: 30% center;
}
.btn_area a.tel {
  float: left;
  background-image: url(images/icon_08.png);
  background-size: 15px 12px;
}
.btn_area a.map {
  float: right;
  background-image: url(images/icon_09.png);
  background-size: 12px 12px;
}

/*-----------------------------
  Footer
------------------------------*/
#Footer {
  width: 100%;
  background-image: url(images/bg_04.jpg);
}
#Footer .footer_inner {
  width: 100%;
}

#FNavi {
  background-color: #fffef7;
  border-top: 1px solid #f0e1cd;
  border-bottom: 1px solid #f0e1cd;
}
#FNavi ul {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
}
#FNavi ul li {
  width: 18%;
  height: 100px;
  border-left: 1px solid #f0e1cd;
  border-right: 0;
  box-sizing: border-box;
  text-align: center;
  background-image: url(images/icon_01.png);
  background-repeat: no-repeat;
  background-position: 99% 99%;
  background-color: #fffef7;
}
#FNavi ul li a {
  display: block;
  padding: 7% 0 1%;
  width: 100%;
  height: 100%;
}
#FNavi ul li.sns {
  width: 10%;
  border-right: 1px solid #f0e1cd;
  padding: 0 0 0 2%;
}
#FNavi ul li.sns #Twitter {
  display: block;
  width: 100%;
  height: 50px;
  text-align: left;
}

#SiteMapNavi {
  width: 980px;
  margin: 30px auto;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
}
#SiteMapNavi .box {
  width: 16.6%;
}
#SiteMapNavi .box ul li {
  font-size: 108%;
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 15px;
  margin-bottom: 4%;
}

.footer_inner ul.bnr {
  width: 980px;
  margin: 0 auto 2%;
  display: flex;
  justify-content: space-between;
}
.footer_inner ul.bnr li {
  width: 23.5%;
  margin-right: 2%;
  padding: 2px;
  box-sizing: border-box;
  background-color: white;
  border-radius: 3px;
  border: 1px solid #f0e1cd;
}
.footer_inner ul.bnr li:last-child {
  margin-right: 0;
}
.footer_inner ul.bnr li img {
  width: 100%;
}

p.copy {
  font-size: 85%;
  text-align: center;
  line-height: 60px;
  background-image: url(images/bg_05.jpg);
}

/*-----------------------------
  Social
------------------------------*/
#twitter-widget-0 {
  padding: 25px 0 0;
}

.fb-like {
  height: 50px;
}

.fb_iframe_widget span {
  padding: 15px 0;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #SpHeader {
    position: fixed;
    width: 100%;
    box-sizing: border-box;
    border: 1px solid #f0e1cd;
    background-image: url(images/bg_01.jpg);
    z-index: 9999;
  }
  #SpHeader .left {
    float: left;
  }
  #SpHeader .left h1 img {
    height: 50px;
    margin: 5px 0 5px 12px;
  }
  #SpHeader .right {
    float: right;
  }
  #SpHeader .right .head_btn {
    overflow: hidden;
  }
  #SpHeader .right .head_btn li {
    float: left;
    margin: 10px 12px 10px 0;
    box-sizing: border-box;
  }
  #SpHeader .right .head_btn li.en {
    display: block;
    width: 40px;
    height: 40px;
    line-height: 40px;
    border: 1px solid #784a30;
    border-radius: 50%;
    text-align: center;
    margin: 10px 5px 10px 0;
  }
  .panel_btn {
    display: block;
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #e6dcbe;
  }
  .panel_btn:hover {
    background: #fafafa;
  }
  .panel_btn span {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    margin: -1px 0 0 -7px;
    background: #784a30;
    transition: 0.2s;
  }
  .panel_btn span:before, .panel_btn span:after {
    display: block;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 14px;
    height: 2px;
    background: #784a30;
    transition: 0.3s;
  }
  .panel_btn span:before {
    margin-top: -6px;
  }
  .panel_btn span:after {
    margin-top: 4px;
  }
  .panel_btn .close {
    background: transparent;
  }
  .panel_btn .close:before, .panel_btn .close:after {
    margin-top: 0;
  }
  .panel_btn .close:before {
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  .panel_btn .close:after {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }
  .panel {
    display: none;
    position: absolute;
    z-index: 99999;
    background-color: rgb(255, 255, 255);
    width: 100%;
    left: 0;
    top: 60px;
  }
  .panel_list_01 {
    overflow: hidden;
  }
  .panel_list_01 li {
    float: left;
    width: 50%;
    box-sizing: border-box;
    border-right: 1px solid #f0e1cd;
    border-bottom: 1px solid #f0e1cd;
  }
  .panel_list_01 li:nth-child(2n) {
    border-right: 0;
  }
  .panel_list_01 li img {
    width: 100%;
  }
  .panel_list_02 {
    overflow: hidden;
    box-sizing: border-box;
    padding: 10px 20px;
    background-color: #f0e9d8;
  }
  .panel_list_02 li {
    float: left;
    width: 50%;
    background-image: url(images/icon_02.png);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 20px;
    padding-top: 10px;
    padding-bottom: 10px;
    box-sizing: border-box;
    background-color: #f0e9d8;
  }
  .panel_list_02 li a {
    font-size: 100%;
  }
  .panel a.close_btn {
    display: block;
    padding: 10px 0;
    text-align: center;
    background-color: #e0d6bf;
  }
  #SliderArea.type_sp {
    padding-top: 62px;
  }
  .bread_crumb {
    clear: both;
    padding-top: 60px;
  }
  .bread_crumb .box ul {
    padding: 0 10px;
  }
  .bread_crumb .box ul li {
    height: 30px;
    line-height: 30px;
    font-size: 12px;
    padding: 0 4px;
  }
  .bread_crumb .box ul li:last-child {
    max-width: 160px;
  }
  /* Content */
  #MainVisual {
    margin: 0 auto 10px;
    overflow: hidden;
  }
  #MainVisual .mask {
    display: none;
  }
  #MainVisual h2 {
    height: auto;
    background: 0;
  }
  #MainVisual img {
    float: none;
    width: 100%;
  }
  #MainVisual.stay {
    border-bottom: 3px solid #64a064;
  }
  #MainVisual.index {
    background-position: 70% top;
    padding-bottom: 20px;
  }
  #MainVisual.index h2 {
    margin: 0 auto;
    padding: 25px 0 15px;
  }
  #MainVisual.index h2 img {
    width: 56%;
    margin: 0 auto;
  }
  #MainVisual.index p {
    font-size: 100%;
    line-height: 2em;
  }
  .index_section {
    padding: 0 10px;
    border-bottom: 1px solid #e1d2be;
    margin: 0 auto;
  }
  .index_section .title h3 {
    width: 98%;
  }
  .index_section .title h3 img {
    width: 100%;
  }
  .index_section#Food .list {
    height: 600px;
    overflow: hidden;
  }
  .index_section .list {
    margin-bottom: 0;
  }
  .index_section .list li {
    width: 100%;
  }
  .index_section .list li .information p {
    font-size: 100%;
  }
  .index_section .list li .information p.small {
    font-size: 85%;
  }
  .index_section p.more.sp {
    position: relative;
    margin-bottom: 35px;
  }
  .index_section p.more.sp a {
    display: block;
    text-align: center;
    border: 1px solid rgb(118, 73, 47);
    width: 100%;
    height: 30px;
    border-radius: 15px;
    line-height: 30px;
    position: absolute;
    bottom: -15px;
    background-color: #fffef7;
  }
  /* footer */
  #SpFNavi ul {
    overflow: hidden;
  }
  #SpFNavi ul li {
    float: left;
    width: 50%;
    box-sizing: border-box;
    border-right: 1px solid #f0e1cd;
    border-bottom: 1px solid #f0e1cd;
    background-color: #fffef7;
  }
  #SpFNavi ul li:nth-child(2n) {
    border-right: 0;
  }
  #SpFNavi ul li.sns {
    position: relative;
  }
  #SpFNavi ul li img {
    width: 100%;
  }
  #FNavi ul li.sns {
    width: 10%;
    border-right: 1px solid #f0e1cd;
    padding: 0;
  }
  #FNavi ul li.sns #Twitter {
    display: block;
    width: 100%;
    height: 0px;
  }
  #twitter-widget-0 {
    padding: 0;
  }
  .fb-like {
    height: 0;
  }
  .fb_iframe_widget span {
    padding: 0;
  }
  #SiteMapNavi {
    width: 100%;
    margin: 0;
    padding: 10px 20px;
    box-sizing: border-box;
  }
  #SiteMapNavi .box {
    width: 50%;
  }
  #SiteMapNavi .box ul li {
    font-size: 100%;
  }
  .footer_inner ul.bnr {
    width: 100%;
  }
  p.copy {
    line-height: 2em;
    padding: 10px 20px;
    font-size: 70%;
  }
  #SpTwitter {
    position: absolute;
    top: 50%;
    right: 54%;
    margin-top: -10px;
  }
  .fb-like.fb_iframe_widget {
    position: absolute;
    top: 50%;
    left: 54%;
    margin-top: -10px;
  }
  .fb_iframe_widget span {
    float: left;
  }
  .content table {
    font-size: 13px;
  }
  .content p {
    font-size: 13px;
    line-height: 1.2rem;
  }
  .content strong, .content h1, .content h2, .content h3, .content h4, .content h5, .content h6 {
    font-weight: bold;
  }
  .content h1 {
    font-size: 2em;
    line-height: 1.6em;
  }
  .content h2 {
    font-size: 2em;
    line-height: 1.6em;
    margin: 0.65em 0;
  }
  .content h3 {
    font-size: 1.6em;
    line-height: 1.5em;
    margin-bottom: 0.6em;
  }
  .content h4 {
    font-size: 1.4em;
    line-height: 1.4em;
    margin-bottom: 0.55em;
  }
  .content h5 {
    font-size: 1.2em;
    line-height: 1em;
    margin-bottom: 0.5em;
  }
  .content.form th {
    display: block;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
  }
  .content.form td {
    display: block;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
  }
  .content.form input[type=text]:not(.birth), .content.form input[type=email], .content.form textarea {
    width: 100%;
    box-sizing: border-box;
  }
  .content.form input[type=text].tel, .content.form .mwform-zip-field input[type=text] {
    width: auto;
  }
}
/*--------------------------------------------------------------------------
	レスポンシブ（480px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 480px) {
  .index_section#Food .list {
    height: 450px;
  }
}
/*--------------------------------------------------------------------------
   レスポンシブ（320px)
---------------------------------------------------------------------------*/
@media screen and (max-width: 320px) {
  .index_section#Food .list {
    height: 300px;
  }
}
.popup {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  opacity: 0;
  visibility: hidden;
  transition: 0.6s;
}
.popup.is-show {
  opacity: 1;
  visibility: visible;
}

.popup-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 600px;
  padding: 50px;
  background-image: url(images/bg_01.jpg);
  background-repeat: repeat;
  z-index: 2;
  text-align: center;
}
.popup-inner p {
  margin-bottom: 1rem;
}

/* .popup-inner img {
  width: 60%;
} */
.close-btn {
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  cursor: pointer;
  font-size: 26px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.close-btn i {
  font-size: 20px;
  color: #333;
}

.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
  cursor: pointer;
}

#SliderArea {
  width: 100%;
  margin: 0 auto;
}

#TopSlider li img {
  width: 100%;
  height: auto;
}

#TopThumbnail li {
  width: 25%;
}
#TopThumbnail li img {
  width: 100%;
  height: auto;
}

#Topic {
  display: flex;
  margin-bottom: 40px;
  margin-top: 3rem;
  justify-content: space-between;
}
#Topic .box {
  padding-bottom: 3px;
  overflow: hidden;
  width: calc(100% - 520px);
  background-color: #eee7d2;
  border-radius: 5px;
}
#Topic .left {
  width: 100%;
  text-align: center;
}
#Topic .right {
  width: 100%;
  height: 450px;
  overflow-y: scroll;
}
#Topic .left .flex {
  display: flex;
  justify-content: space-between;
  padding: 10px 20px 5px;
}
#Topic .left .flex .center {
  width: 50%;
  text-align: right;
}
#Topic .left .flex .center a {
  float: right;
}
#Topic h4 {
  font-size: 231%;
  line-height: 1.5em;
  width: 50%;
  text-align: left;
}
#Topic ul {
  background-color: #fffef7;
  display: flex;
  flex-wrap: wrap;
}
#Topic ul li {
  width: 50%;
  box-sizing: border-box;
  overflow: hidden;
  border-top: 1px solid #f0e1cd;
  border-left: 1px solid #f0e1cd;
  border-right: 1px solid #f0e1cd;
}
#Topic ul li a {
  padding: 15px;
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
#Topic ul li a .thumb {
  margin-bottom: 10px;
  width: 100%;
  overflow: hidden;
}
#Topic ul li a .thumb img {
  width: 100%;
  height: auto;
}
#Topic ul li a .date_area {
  display: flex;
}
#Topic ul li p {
  margin-right: 10px;
}
#Topic ul li p:last-child {
  margin: 0;
}
#Topic ul li p.date {
  font-size: 93%;
}
#Topic ul li p.category {
  font-size: 93%;
  width: 100px;
  background-color: #784a30;
  color: #ffffff;
  text-align: center;
  border-radius: 3px;
}
#Topic ul li p.category.event {
  background-color: #d28c1e;
}
#Topic ul li p.content {
  font-size: 108%;
}
#Topic .fbtl {
  max-width: 480px;
  width: 100%;
}
#Topic .fbtl .fb_iframe_widget {
  width: 100% !important;
}
#Topic .fbtl .fb_iframe_widget span, #Topic .fbtl .fb_iframe_widget iframe[style] {
  width: 100% !important;
}
#Topic .fbtl .fb_iframe_widget span {
  padding-top: 0 !important;
}

section.bnr {
  margin: 30px auto;
}
section.bnr a {
  display: block;
  width: 95%;
  max-width: 700px;
  margin: 0 auto;
  border: 1px solid #f0e1cd;
  border-radius: 3px;
  padding: 5px;
  box-sizing: border-box;
  background-color: #fffef7;
}

#Program .bnr {
  display: flex;
}
#Program .bnr.center {
  justify-content: center;
  margin-bottom: 30px;
}
#Program .bnr.center li {
  width: 32.25%;
}
#Program .bnr li {
  width: 24.25%;
  margin-right: 1%;
  border: 1px solid #f0e1cd;
  border-radius: 3px;
  padding: 5px;
  box-sizing: border-box;
  background-color: #fffef7;
}
#Program .bnr li:last-child {
  margin-right: 0;
}
#Program .bnr li img {
  width: 100%;
  height: auto;
}

#Food ul li .shop {
  box-sizing: border-box;
  padding: 2% 5% 0;
}
#Food ul li .shop p {
  font-size: 93%;
}

#Food .list li span.category {
  position: absolute;
  top: 10px;
  right: 10px;
  min-width: 100px;
  padding: 0 10px;
  box-sizing: border-box;
  text-align: center;
  color: white;
  border-radius: 5px;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Program.index_section {
    margin-bottom: 20px;
    border: 0;
  }
  #Content .pc {
    display: none;
  }
  #Food.index_section {
    border-bottom: 0;
  }
  #Food ul li .shop p {
    font-size: 77%;
  }
  #Topic.index_section {
    border-bottom: 0;
    margin-bottom: 20px;
    margin-top: 20px;
  }
  #Topic {
    display: block;
  }
  #Topic .box {
    width: 100%;
    margin-bottom: 10px;
  }
  #Topic .right {
    height: 310px;
  }
  #Topic ul li {
    float: none;
    width: 100%;
    height: auto;
    box-sizing: border-box;
  }
  #Topic ul li.first {
    overflow: hidden;
    height: 50px;
  }
  #Topic ul li.first h4 {
    float: left;
    line-height: 50px;
    font-size: 124%;
    margin: 0;
    margin-left: 15px;
  }
  #Topic ul li.first a {
    float: right;
    margin-right: 15px;
  }
  #Topic ul li p.content {
    font-size: 13px;
    line-height: 17px;
  }
  #Topic ul li a {
    display: flex;
    justify-content: space-between;
  }
  #Topic ul li a .date_area {
    margin-bottom: 5px;
  }
  #Topic ul li a .thumb {
    width: 40%;
    height: auto;
    margin-bottom: 5px;
  }
  #Topic ul li a .thumb img {
    width: 100%;
    height: auto;
  }
  #Topic ul li a .info {
    width: 57%;
  }
  #Topic .left {
    float: none;
    width: 100%;
    text-align: left;
    overflow: hidden;
    padding: 10px;
    box-sizing: border-box;
  }
  #Topic .left .flex {
    padding: 0;
  }
  #Topic .left h4 {
    height: 30px;
    padding: 0;
  }
  #Topic .left h4 img {
    height: 30px;
    padding-top: 5px;
  }
  #Topic .right {
    float: none;
    width: 99%;
    margin: 0 auto 0.25%;
  }
  #Program .bnr {
    display: none;
  }
  #Program .bnr.center {
    display: block;
  }
  #Program .bnr.center li {
    width: 100%;
    margin-bottom: 10px;
  }
  ul.bnr.sp {
    overflow: hidden;
    padding: 0 10px;
    box-sizing: border-box;
  }
  ul.bnr.sp li {
    float: left;
    width: 49%;
    margin-bottom: 2%;
  }
  ul.bnr.sp li:nth-child(2n) {
    float: right;
  }
  ul.bnr.sp li img {
    width: 100%;
  }
}
/*--------------------------------------------------------------------------
   archive
---------------------------------------------------------------------------*/
.archive_title {
  width: 100%;
  background-image: url(images/bg_03.jpg);
  margin-bottom: 40px;
}
.archive_title span {
  display: block;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  font-size: 231%;
  padding: 0 20px;
  box-sizing: border-box;
}
.archive_title span img {
  vertical-align: middle;
}

#Archive {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  overflow: hidden;
}
#Archive h3 {
  font-size: 154%;
  line-height: 60px;
  border-bottom: 1px solid #f0e1cd;
  margin-bottom: 20px;
}
#Archive .archive_area {
  float: left;
  width: 70%;
}
#Archive #Sidebar {
  float: right;
  width: 25%;
}
#Archive .archive_area ul {
  overflow: hidden;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  margin-bottom: 20px;
}
#Archive .archive_area li {
  background-color: #fffef7;
  width: 100%;
  border-bottom: 1px solid #f0e1cd;
  box-sizing: border-box;
  background-image: url(images/icon_01.png);
  background-repeat: no-repeat;
  background-position: 99% 90%;
  padding-left: 20px;
}
#Archive .archive_area li:last-child {
  border: 0;
}
#Archive .archive_area li p {
  display: inline-block;
  line-height: 22px;
  padding: 20px 0;
  margin-right: 10px;
}
#Archive .archive_area li p.date {
  width: 75px;
  font-size: 93%;
}
#Archive .archive_area li p.category {
  width: 86px;
  height: 22px;
  line-height: 22px;
  text-align: center;
  padding: 0;
  border-radius: 3px;
  color: #ffffff;
  background-color: #784a30;
}
#Archive .archive_area li p.information {
  background-color: #2878a0;
}
#Archive .archive_area li p.event {
  background-color: #d28c1e;
}
#Archive .archive_area li p.content {
  font-size: 108%;
  font-weight: bold;
  margin: 0;
}
#Archive .archive_area li a {
  display: block;
  width: 100%;
  height: 100%;
}

.wp-pager {
  position: relative;
}

.wp-pagenavi {
  overflow: hidden;
}
.wp-pagenavi span, .wp-pagenavi a.page {
  display: none;
}

.wp-pager a.previouspostslink {
  float: left;
  max-width: 150px;
  background-image: url(images/icon_04.png);
  background-repeat: no-repeat;
  background-position: 10% center;
}
.wp-pager a.nextpostslink {
  float: right;
  max-width: 150px;
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: 90% center;
}

.wp-pager a.go_list {
  position: absolute;
  width: 200px;
  top: 0;
  left: 50%;
  margin-left: -100px;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  .archive_title {
    margin-bottom: 10px;
  }
  .archive_title span {
    font-size: 139%;
    line-height: 40px;
  }
  #Archive {
    padding: 0 10px;
    box-sizing: border-box;
  }
  #Archive .archive_area {
    width: 100%;
    float: none;
  }
  #Archive h3 {
    font-size: 134%;
    line-height: 30px;
    margin-bottom: 10px;
  }
  #Archive .side_contents h4 {
    font-size: 12px;
    border-radius: 3px;
    padding: 0;
  }
  #Archive .archive_area li {
    width: 100%;
    height: auto;
    float: none;
    padding-left: 10px;
  }
  #Archive .archive_area li:nth-child(2n) {
    float: none;
  }
  #Archive .archive_area li p.date {
    padding: 10px 0 0 0;
  }
  #Archive .archive_area li p.content {
    width: 100%;
    padding: 10px 0;
  }
  #Archive #Sidebar {
    width: 100%;
    float: none;
  }
  .wp-pager {
    height: 42px;
    margin-bottom: 20px;
  }
  .wp-pager a.go_list {
    width: 100%;
    left: 50%;
    margin-left: -50%;
  }
}
/*--------------------------------------------------------------------------
   single
---------------------------------------------------------------------------*/
.single_title {
  width: 100%;
  background-color: #e1dbc6;
  margin-bottom: 60px;
}
.single_title span {
  display: block;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  font-size: 231%;
  padding: 0 20px;
  box-sizing: border-box;
}

#Single {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
#Single article {
  width: 70%;
  float: left;
  margin-bottom: 50px;
}
#Single .title_box {
  border-left: 5px solid #64a064;
  padding: 0 0 0 20px;
  margin-bottom: 30px;
}
#Single .title_box .date {
  font-size: 108%;
  line-height: 1em;
  margin-bottom: 10px;
}
#Single .title_box h3 {
  font-size: 2em;
  line-height: 1.2em;
}
#Single .detail {
  line-height: 2em;
}
#Single .detail p {
  margin-bottom: 1em;
}
#Single .detail strong, #Single .detail h1, #Single .detail h2, #Single .detail h3, #Single .detail h4, #Single .detail h5, #Single .detail h6 {
  font-weight: bold;
}
#Single .detail h1 {
  font-size: 2em;
  line-height: 1.6em;
}
#Single .detail h2 {
  font-size: 2em;
  line-height: 1.6em;
  margin: 0.65em 0;
}
#Single .detail h3 {
  font-size: 1.6em;
  line-height: 1.5em;
  margin-bottom: 0.6em;
}
#Single .detail h4 {
  font-size: 1.4em;
  line-height: 1.4em;
  margin-bottom: 0.55em;
}
#Single .detail h5 {
  font-size: 1.2em;
  line-height: 1em;
  margin-bottom: 0.5em;
}
#Single .detail img {
  max-width: 100%;
  height: auto;
  box-sizing: border-box;
  padding: 5px;
  margin-bottom: 10px;
  border-bottom: 1px solid #f0e1cd;
  border-radius: 5px;
  background-color: white;
}
#Single #Sidebar {
  width: 25%;
  float: right;
}

.pager {
  overflow: hidden;
  border-top: 1px solid #f0e1cd;
  padding-top: 15px;
  margin-top: 50px;
}
.pager p {
  display: block;
}
.pager p.prev {
  float: left;
  padding-left: 20px;
  background-color: rgba(255, 255, 255, 0.3);
  border: 1px solid #f0e1cd;
  border-radius: 20px;
}
.pager p.next {
  float: right;
  padding-right: 20px;
  background-color: rgba(255, 255, 255, 0.3);
  border: 1px solid #f0e1cd;
  border-radius: 20px;
}
.pager p a {
  display: block;
  width: 116px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  font-size: 108%;
}
.pager p.prev a {
  background-image: url(images/icon_04.png);
  background-repeat: no-repeat;
  background-position: left center;
}
.pager p.next a {
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: right center;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  .single_title {
    margin-bottom: 20px;
  }
  .single_title span {
    font-size: 139%;
  }
  #Single article {
    width: 100%;
    float: none;
    margin: 0 0 20px 0;
    padding: 0 10px;
    box-sizing: border-box;
  }
  #Single .title_box {
    padding: 0 15px;
    box-sizing: border-box;
    margin-bottom: 10px;
  }
  #Single .title_box h3 {
    font-size: 124%;
  }
  #Single .title_box .date {
    font-size: 12px;
  }
  #Single .detail {
    font-size: 13px;
    line-height: 1.4rem;
  }
  #Single .detail h1 {
    font-size: 1.4em;
    line-height: 1.8em;
  }
  #Single .detail h2 {
    font-size: 1.4em;
    line-height: 1.8em;
    margin: 0.65em 0;
  }
  #Single .detail h3 {
    font-size: 1.2em;
    line-height: 1.6em;
    margin-bottom: 0.6em;
  }
  #Single .detail h4 {
    font-size: 1.2em;
    line-height: 1.6em;
    margin-bottom: 0.55em;
  }
  #Single .detail h5 {
    font-size: 1em;
    line-height: 1.5em;
    margin-bottom: 0.5em;
  }
  #Single .detail img {
    width: 100%;
    height: auto;
  }
  .pager {
    margin-top: 20px;
    padding-top: 10px;
  }
  .pager p a {
    font-size: 85%;
    width: 88px;
    height: 30px;
    line-height: 30px;
  }
}
/*--------------------------------------------------------------------------
   archive-column
---------------------------------------------------------------------------*/
#ArchiveColumn #TopSlider {
  margin-bottom: 0;
}

#Message {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  background-image: url(images/bg_02.png);
  background-repeat: no-repeat;
  background-position: center 45%;
  height: 600px;
}
#Message h2 {
  font-size: 139%;
  padding-top: 55px;
  margin-bottom: 30px;
}
#Message h2 img {
  margin-top: 10px;
}
#Message h3 {
  font-size: 170%;
  margin-bottom: 15px;
}
#Message p {
  font-size: 108%;
  line-height: 2.2em;
}

#Columns {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}
#Columns h4 {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 231%;
  padding: 20px;
  line-height: 1.5em;
}
#Columns p {
  font-size: 108%;
  padding: 0 20px;
}
#Columns ul li {
  overflow: hidden;
  background-color: #fffef7;
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  border: 1px solid #f0e1cd;
  margin-bottom: 20px;
}
#Columns .photo {
  float: left;
  width: 49.5%;
}
#Columns .photo img {
  width: 100%;
  height: auto;
}
#Columns li:nth-child(2n) .photo {
  float: right;
}
#Columns .txt {
  float: right;
  width: 49.5%;
}
#Columns li:nth-child(2n) .txt {
  float: left;
}
#Columns .number {
  color: #ffffff;
  font-size: 154%;
  height: 50px;
  line-height: 50px;
  padding: 0 20px;
  box-sizing: border-box;
  font-family: "Libre Baskerville", serif;
  font-style: italic;
}
#Columns li:nth-child(3n-2) .number {
  background-color: #64a064;
}
#Columns li:nth-child(3n-1) .number {
  background-color: #2878a0;
}
#Columns li:nth-child(3n) .number {
  background-color: #d28c1e;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Message {
    height: 520px;
    background-image: url(images/bg_02_sp.png);
    background-size: 640px 520px;
    background-position: center;
  }
  #Message h2 {
    padding: 15px 0 0 0;
    margin: 0 0 10px 0;
    font-size: 85%;
  }
  #Message h2 img {
    width: 54%;
    max-width: 303px;
    margin-top: 5px;
  }
  #Message h3 {
    font-size: 100%;
    margin: 0px auto 10px;
    width: 180px;
  }
  #Message p {
    font-size: 77%;
    line-height: 1.8em;
  }
  #SpColumns ul {
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
    margin-bottom: 5%;
  }
  #SpColumns li {
    background-color: #ffffff;
    border: 1px solid #f0e1cd;
    padding: 5px;
    box-sizing: border-box;
    margin-bottom: 2%;
  }
  #SpColumns .photo {
    position: relative;
  }
  #SpColumns .photo img {
    width: 100%;
  }
  #SpColumns .photo p {
    display: block;
    width: 98%;
    line-height: 37px;
    font-size: 93%;
    color: #ffffff;
    position: absolute;
    bottom: 2%;
    left: 1%;
    padding-left: 15px;
    box-sizing: border-box;
    background-color: rgba(85, 129, 86, 0.8);
  }
  #SpColumns li:nth-child(2) .photo p {
    background-color: rgba(62, 117, 136, 0.8);
  }
  #SpColumns li:nth-child(3) .photo p {
    background-color: rgba(175, 129, 52, 0.8);
  }
  #SpColumns .txt {
    background-image: url(images/icon_01.png);
    background-repeat: no-repeat;
    background-position: right bottom;
  }
  #SpColumns .txt h4 {
    font-size: 124%;
    padding: 10px 10px 5px;
    box-sizing: border-box;
  }
}
/*--------------------------------------------------------------------------
   体験プログラム詳細ページ
---------------------------------------------------------------------------*/
#SingleColumn {
  text-align: center;
}
#SingleColumn #MainVisual img {
  width: 100%;
}
#SingleColumn .article_area {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  background-color: #fffef7;
}
#SingleColumn h3 {
  font-size: 231%;
  line-height: 1.5em;
  border-bottom: 3px solid #64a064;
  padding-bottom: 30px;
  margin-bottom: 50px;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
#SingleColumn .content_top p {
  font-size: 108%;
  line-height: 2.2em;
  margin-bottom: 50px;
}
#SingleColumn .content_top .number {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: 154%;
  color: #64a064;
  font-style: italic;
  margin-bottom: 0;
}
#SingleColumn .sub_visual {
  margin-bottom: 50px;
}
#SingleColumn .content h4 {
  font-size: 185%;
  font-weight: bold;
  margin-bottom: 10px;
}
#SingleColumn .content p {
  font-size: 120%;
  line-height: 2.2em;
}
#SingleColumn .pager {
  margin-bottom: 60px;
  border: 0;
  margin: 0;
  padding: 0;
  background-image: url(images/bg_01.jpg);
}
#SingleColumn .pager ul {
  overflow: hidden;
  width: 1000px;
  margin: 0 auto;
}
#SingleColumn .pager ul li {
  text-align: left;
}
#SingleColumn .pager ul li div {
  width: 300px;
  height: 90px;
  overflow: hidden;
  border: 1px solid #f0e1cd;
  border-radius: 3px;
  padding: 2px;
  box-sizing: border-box;
  background-color: #fffef7;
}
#SingleColumn .pager ul li div img {
  width: 110px;
  height: auto;
  float: left;
}
#SingleColumn .pager ul li div p {
  width: 160px;
  float: right;
  padding-right: 10px;
}
#SingleColumn .pager .prev {
  float: left;
}
#SingleColumn .pager .next {
  float: right;
}
#SingleColumn .pager .btn {
  position: relative;
  bottom: 65px;
  margin: 0 auto;
  display: block;
  width: 200px;
  height: 40px;
  line-height: 40px;
  border: 1px solid #f0e1cd;
  border-radius: 20px;
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: 95% center;
  background-color: #fffef7;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  .single_column_title span {
    font-size: 139%;
    line-height: 40px;
    background-position: 10px center;
    padding: 0 50px;
  }
  #SingleColumn #MainVisual {
    margin-bottom: 15px;
  }
  #SingleColumn .article_area .description {
    width: 100%;
    padding: 0 15px;
    margin-bottom: 20px;
    box-sizing: border-box;
  }
  #SingleColumn .article_area .description h3 {
    font-size: 124%;
    line-height: 1.5em;
  }
  #SingleColumn .article_area .description p {
    font-size: 85%;
    margin-bottom: 0;
  }
  #SingleColumn .article_area section {
    width: 100%;
    padding: 0 10px;
    margin-bottom: 20px;
    box-sizing: border-box;
  }
  #SingleColumn .article_area section .left, #SingleColumn .article_area section .right {
    width: 100%;
    float: none;
  }
  #SingleColumn .article_area section h4 {
    font-size: 108%;
    margin: 10px 0;
  }
  #SingleColumn .article_area section h5 {
    font-size: 93%;
  }
  #SingleColumn .article_area section p {
    font-size: 77%;
  }
  #SingleColumn .pager {
    margin-bottom: 20px;
    width: 100%;
    padding: 10px 10px 0;
    box-sizing: border-box;
  }
}
/*--------------------------------------------------------------------------
   single-programs
---------------------------------------------------------------------------*/
.single_program_title {
  width: 100%;
  background-color: #e1dbc6;
  margin-bottom: 60px;
}
.single_program_title span {
  display: block;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  font-size: 231%;
  box-sizing: border-box;
  background-image: url(images/icon_06.png);
  background-repeat: no-repeat;
  background-position: 30px center;
  padding: 0 70px;
}
.single_program_title span img {
  vertical-align: middle;
}

#SinglePrograms {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
#SinglePrograms .description {
  width: 100%;
  margin-bottom: 40px;
}
#SinglePrograms .description .cf {
  margin-bottom: 40px;
}
#SinglePrograms .description .flex {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
#SinglePrograms .description .left {
  width: 48%;
}
#SinglePrograms .description .left img {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  background-color: #fffef7;
  padding: 5px;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
}
#SinglePrograms .description .right {
  width: 48%;
}
#SinglePrograms .description .right h3 {
  font-size: 247%;
  line-height: 1.4em;
  margin-bottom: 10px;
}
#SinglePrograms .description .right p {
  font-size: 108%;
  line-height: 2em;
}
#SinglePrograms .description .right .box {
  width: 100%;
  box-sizing: border-box;
  padding: 4px 5px;
  background-color: #fffef7;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  margin: 20px 0 15px;
}
#SinglePrograms .description .right th {
  width: 115px;
  background-color: #64a064;
  color: #ffffff;
  border-bottom: 1px solid #f0e1cd;
  box-shadow: 0 0 0 1px #fffef7 inset;
  font-size: 124%;
}
#SinglePrograms .description .right td {
  width: 340px;
  border-bottom: 1px solid #f0e1cd;
  padding: 10px 0 10px 20px;
  box-sizing: border-box;
}
#SinglePrograms .description .right tr:last-child th, #SinglePrograms .description .right tr:last-child td {
  border: 0;
}
#SinglePrograms .description .right .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#SinglePrograms .description .right a.btn {
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  font-size: 170%;
  background-color: #e66e64;
  color: #ffffff;
  border-radius: 25px;
  text-align: center;
  background-image: url(images/icon_04.png);
  background-position: 95% center;
  background-repeat: no-repeat;
  box-sizing: border-box;
  margin-bottom: 15px;
}
#SinglePrograms .description .right a.btn01 {
  display: block;
  float: left;
  width: 48%;
  height: 38px;
  line-height: 38px;
  font-size: 108%;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  border: 1px solid #f0e1cd;
  text-align: center;
  background-image: url(images/icon_02.png);
  background-position: 95% center;
  background-repeat: no-repeat;
  box-sizing: border-box;
}
#SinglePrograms .description .right a.btn02 {
  display: block;
  float: right;
  width: 48%;
  height: 38px;
  line-height: 38px;
  font-size: 108%;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  border: 1px solid #f0e1cd;
  text-align: center;
  background-image: url(images/icon_02.png);
  background-position: 95% center;
  background-repeat: no-repeat;
  box-sizing: border-box;
}
#SinglePrograms form input:last-child {
  position: relative;
  top: 38px;
  cursor: pointer;
  display: block;
  width: 48%;
  height: 38px;
  font-size: 108%;
  background-color: #e66e64;
  border: 1px solid rgb(240, 225, 205);
  border-radius: 20px;
  color: #ffffff;
  background-image: url(images/icon_02.png);
  background-position: 95% center;
  background-repeat: no-repeat;
  box-sizing: border-box;
}
#SinglePrograms form input:last-child:hover {
  opacity: 0.7;
}
#SinglePrograms .gallery {
  margin-bottom: 40px;
}
#SinglePrograms .gallery ul {
  overflow: hidden;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
#SinglePrograms .gallery li {
  width: 100%;
  max-width: 320px;
  margin-right: 10px;
  margin-bottom: 10px;
  padding: 5px;
  box-sizing: border-box;
  border-radius: 5px;
  border: 1px solid #f0e1cd;
  background-color: #fffef7;
}
#SinglePrograms .gallery li:nth-of-type(3n) {
  margin-right: 0;
}
#SinglePrograms .gallery li p {
  padding: 10px 15px 5px;
  box-sizing: border-box;
  font-size: 93%;
  line-height: 1.5em;
}
#SinglePrograms .gallery li img {
  width: 100%;
}
#SinglePrograms .gallery .taiken_title {
  font-size: 1.4rem;
}
#SinglePrograms .gallery .taiken_report {
  margin-bottom: 1rem;
}
#SinglePrograms .gallery .taiken_report a {
  color: #739eb6;
  font-weight: bold;
}
#SinglePrograms .free_content {
  margin-bottom: 40px;
  padding: 15px 30px;
  background-color: #fffef7;
  border: 1px solid #f0e1cd;
  border-radius: 5px 5px 0 0;
}
#SinglePrograms .content {
  width: 100%;
  box-sizing: border-box;
  padding: 5px;
  background-color: #fffef7;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  margin-bottom: 40px;
}
#SinglePrograms .content h4 {
  text-align: center;
  width: 100%;
  background-color: #64a064;
  border-radius: 3px;
  color: #ffffff;
  font-size: 154%;
  line-height: 55px;
}
#SinglePrograms .content table {
  width: 100%;
}
#SinglePrograms .content th {
  width: 225px;
  background-color: #f5ebd2;
  border-bottom: 1px solid #f0e1cd;
  box-shadow: 0 0 0 1px #fffef7 inset;
  font-size: 124%;
  text-align: left;
  padding-left: 20px;
  box-sizing: border-box;
}
#SinglePrograms .content td {
  border-bottom: 1px solid #f0e1cd;
  padding: 10px 0 10px 20px;
  box-sizing: border-box;
}
#SinglePrograms .content td a {
  margin: 10px 0;
}
#SinglePrograms .content tr:last-child th, #SinglePrograms .content tr:last-child td {
  border: 0;
}
#SinglePrograms .add_note {
  margin-bottom: 20px;
}
#SinglePrograms .add_note .box {
  background-color: #fffef7;
  padding: 15px 30px;
  border: 1px solid #f0e1cd;
  border-radius: 5px 5px 0 0;
}
#SinglePrograms .add_note .box.last {
  border-radius: 0 0 5px 5px;
  border-top: 0;
}
#SinglePrograms .add_note h5 {
  font-size: 108%;
  font-weight: bold;
  margin-bottom: 5px;
}
#SinglePrograms .guide {
  width: 100%;
  padding: 5px;
  box-sizing: border-box;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  background-color: #fffef7;
  margin-bottom: 60px;
}
#SinglePrograms .guide h4 {
  width: 100%;
  line-height: 56px;
  border-radius: 5px;
  text-align: center;
  background-color: #2878a0;
  font-size: 154%;
  color: #ffffff;
  margin-bottom: 5px;
}
#SinglePrograms .guide .box {
  overflow: hidden;
}
#SinglePrograms .guide .left {
  float: left;
  width: 43%;
  padding: 5px;
  box-sizing: border-box;
  border: 1px solid #f0e1cd;
  background-color: #fffef7;
}
#SinglePrograms .guide .left .ab {
  width: 100%;
  position: relative;
}
#SinglePrograms .guide .left img {
  width: 100%;
  height: auto;
}
#SinglePrograms .guide .left .name_box {
  position: absolute;
  bottom: 0;
  background-color: rgba(40, 30, 20, 0.7);
  width: 100%;
  height: auto;
  box-sizing: border-box;
  color: #ffffff;
  font-size: 139%;
  padding: 5px 20px;
}
#SinglePrograms .guide .right {
  float: right;
  width: 56%;
}
#SinglePrograms .guide .right h5 {
  font-size: 124%;
  margin-bottom: 10px;
}
#SinglePrograms .guide .right p {
  font-size: 93%;
}
#SinglePrograms a.app_btn {
  display: block;
  margin: 0 auto 40px;
  border: 1px solid #f0e1cd;
  width: 200px;
  height: 40px;
  border-radius: 20px;
  color: #ffffff;
  text-align: center;
  line-height: 40px;
  background-color: #e66e64;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  .single_program_title {
    margin-bottom: 20px;
  }
  #SinglePrograms {
    padding: 0 10px;
    box-sizing: border-box;
  }
  #SinglePrograms .description .cf {
    margin-bottom: 20px;
  }
  #SinglePrograms .description .left, #SinglePrograms .description .right {
    float: none;
    width: 100%;
  }
  #SinglePrograms .description .right .flex {
    justify-content: center;
    flex-wrap: wrap;
  }
  #SinglePrograms .description .right .flex a {
    margin-bottom: 10px;
  }
  #SinglePrograms .description .right .flex a.btn02 {
    float: none;
    width: 100%;
    max-width: 225px;
  }
  #SinglePrograms .description .flex {
    display: block;
  }
  #SinglePrograms .right h3 {
    font-size: 16px;
    padding: 10px 10px 0;
    box-sizing: border-box;
  }
  #SinglePrograms .right p {
    font-size: 10px;
    padding: 0 10px;
    box-sizing: border-box;
    overflow: hidden;
  }
  #SinglePrograms .right .box {
    margin: 10px 0;
  }
  #SinglePrograms .right th {
    font-size: 12px;
    padding: 10px 20px 10px 10px;
    line-height: 1em;
    vertical-align: top;
    text-align: left;
  }
  #SinglePrograms .right td {
    width: 490px;
    font-size: 11px;
    padding: 10px;
  }
  #SinglePrograms form input:last-child {
    width: 200px;
    position: inherit;
    margin: 0 auto 20px;
  }
  #SinglePrograms .right p a.btn02 {
    float: none;
    width: 200px;
    margin: 0 auto;
  }
  #SinglePrograms .gallery {
    margin-bottom: 20px;
  }
  #SinglePrograms .gallery ul {
    display: block;
  }
  #SinglePrograms .gallery li {
    float: none;
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  #SinglePrograms .gallery li p {
    font-size: 12px;
    padding: 10px 5px 5px;
  }
  #SinglePrograms .free_content {
    padding: 0 10px;
    box-sizing: border-box;
    margin-bottom: 20px;
  }
  #SinglePrograms .guide {
    margin-bottom: 20px;
  }
  #SinglePrograms .guide h4 {
    font-size: 12px;
    line-height: 30px;
  }
  #SinglePrograms .guide .left {
    float: none;
    width: 100%;
  }
  #SinglePrograms .guide .right {
    float: none;
    width: 100%;
  }
  #SinglePrograms .guide .right h5 {
    padding: 0 5px;
    margin-bottom: 0;
  }
  #SinglePrograms .guide .right p {
    padding: 0 5px;
  }
  #SinglePrograms .content {
    margin-bottom: 20px;
  }
  #SinglePrograms .content h4 {
    font-size: 12px;
    line-height: 28px;
  }
  #SinglePrograms .content th {
    width: 110px;
    font-size: 12px;
    padding: 10px;
    line-height: 1.5em;
  }
  #SinglePrograms .content td {
    font-size: 11px;
    padding: 10px;
  }
  #SinglePrograms .add_note {
    margin-right: 0 5px 20px;
  }
  #SinglePrograms .add_note .box {
    padding: 15px;
  }
  #SinglePrograms .add_note h5 {
    font-size: 12px;
  }
  #SinglePrograms .add_note p {
    font-size: 10px;
  }
  #SinglePrograms a.app_btn {
    margin-bottom: 25px;
  }
}
/*--------------------------------------------------------------------------
   サイドバー共通
---------------------------------------------------------------------------*/
#Sidebar .side_contents {
  width: 100%;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  background-color: white;
  padding-top: 5px;
  margin-bottom: 20px;
}

.side_contents h4 {
  font-size: 124%;
  line-height: 45px;
  color: #ffffff;
  background-color: #64a064;
  text-align: center;
  padding: 5px;
  box-sizing: border-box;
  border-radius: 5px;
  margin: 0 5px;
}

/*--------------------------------------------------------------------------
   Singleページのサイドバー
---------------------------------------------------------------------------*/
#CategoryArea ul li {
  border-bottom: 1px solid #f0e1cd;
  line-height: 45px;
  padding-left: 15px;
}
#CategoryArea ul li:last-child {
  border-bottom: 0;
}
#CategoryArea ul li a {
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 15px;
  display: block;
}

#TopicsArea ul li {
  border-bottom: 1px solid #f0e1cd;
  padding: 5px 10px;
  background-image: url(images/icon_01.png);
  background-repeat: no-repeat;
  background-position: 98% 92%;
}
#TopicsArea ul li:last-child {
  border-bottom: 0;
}
#TopicsArea ul li .date {
  font-size: 93%;
}
#TopicsArea ul li .content {
  font-size: 108%;
}

#ArchiveArea ul li {
  border-bottom: 1px solid #f0e1cd;
  line-height: 40px;
  padding-left: 15px;
}
#ArchiveArea ul li:last-child {
  border-bottom: 0;
}
#ArchiveArea ul li a {
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 15px;
  display: block;
}

/*--------------------------------------------------------------------------
   見る遊ぶ食べる泊まるカテゴリーカラーセット
---------------------------------------------------------------------------*/
#Shop span.default {
  background-color: #e66e64;
}
#Shop span.default.レストラン {
  background-color: #e66e64;
}
#Shop span.default.居酒屋 {
  background-color: #2878a0;
}
#Shop span.default.洋食 {
  background-color: #64a064;
}
#Shop span.default.カフェ {
  background-color: #784a30;
}
#Shop span.default.テイクアウト {
  background-color: #a88a80;
}
#Shop span.default.スナック {
  background-color: #d28c1e;
}
#Shop span.default.民宿・ゲストハウス {
  background-color: #c8d21e;
}
#Shop span.default.温泉・ホテル {
  background-color: #6eaabe;
}
#Shop span.default.ドライブイン {
  background-color: #d26e8c;
}
#Shop span.default.寿司 {
  background-color: #e7aab2;
}
#Shop span.default.道の駅 {
  background-color: #d26e8c;
}

/*--------------------------------------------------------------------------
   見る遊ぶ食べる泊まる詳細ページのサイドバー
---------------------------------------------------------------------------*/
#Shop #Sidebar ul {
  margin: 0 5px;
  box-sizing: border-box;
}
#Shop #Sidebar ul li {
  overflow: hidden;
  border-bottom: 1px solid #f0e1cd;
  padding: 5px 0;
  background-image: url(images/icon_01.png);
  background-repeat: no-repeat;
  background-position: 99% 96%;
  transition-duration: 0.3s;
}
#Shop #Sidebar ul li:last-child {
  border: 0;
}
#Shop #Sidebar ul li:hover {
  border-bottom: 1px solid #64a064;
}
#Shop #Sidebar ul li a {
  display: block;
  width: 100%;
  height: 100%;
}
#Shop #Sidebar ul li .flex {
  display: flex;
  justify-content: space-between;
}
#Shop #Sidebar ul li .thumb {
  width: 80px;
  overflow: hidden;
}
#Shop #Sidebar ul li .thumb img {
  width: 100%;
  height: auto;
}
#Shop #Sidebar ul li .list_info {
  width: calc(100% - 85px);
  font-size: 12px;
  line-height: 16px;
}
#Shop #Sidebar ul li span {
  margin: 3px 0;
  padding: 1px 5px;
  min-width: 86px;
  border-radius: 3px;
  display: inline-block;
  box-sizing: border-box;
  text-align: center;
  color: #ffffff;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Single #Sidebar {
    width: 100%;
    float: none;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .side_contents h4 {
    line-height: 27px;
    font-size: 93%;
  }
  #CategoryArea ul {
    overflow: hidden;
  }
  #CategoryArea ul li {
    width: 50%;
    float: left;
    box-sizing: border-box;
    border-top: 1px solid #f0e1cd;
    border-right: 1px solid #f0e1cd;
    border-bottom: 0;
  }
  #CategoryArea ul li:first-child, #CategoryArea ul li:nth-child(2) {
    border-top: 0;
  }
  #CategoryArea ul li:nth-child(2n) {
    border-right: 0;
  }
  #CategoryArea ul li a {
    font-size: 85%;
  }
  #TopicsArea ul li {
    background-image: url(images/icon_01.png);
    background-repeat: no-repeat;
    background-position: 99% 96%;
  }
  #ArchiveArea ul li .date {
    font-size: 77%;
  }
  #ArchiveArea ul li .content {
    font-size: 93%;
  }
  #ArchiveArea ul li {
    width: 50%;
    float: left;
    box-sizing: border-box;
    border-top: 1px solid #f0e1cd;
    border-right: 1px solid #f0e1cd;
    border-bottom: 0;
  }
  #ArchiveArea ul li:first-child, #ArchiveArea ul li:nth-child(2) {
    border-top: 0;
  }
  #ArchiveArea ul li:nth-child(2n) {
    border-right: 0;
  }
  #ArchiveArea ul li a {
    font-size: 85%;
  }
  #ArchiveArea ul {
    overflow: hidden;
  }
}
/*--------------------------------------------------------------------------
   キャンプ場
---------------------------------------------------------------------------*/
.camp .mask {
  overflow: hidden;
}

#MainVisual.camp h2 {
  background-image: url(images/bg_camp.jpg);
  background-position: center top;
}
#MainVisual.camp h2 img {
  float: right;
}

#MainVisual.camp {
  width: 100%;
  margin: 0 auto 60px;
  border-bottom: 5px solid #64a064;
  line-height: 0;
}

#Booking {
  max-width: 700px;
  margin: 50px auto;
  padding: 2rem;
  background: white;
  border-radius: 5px;
}

/*--------------------------------------------------------------------------
   見る・遊ぶ一覧
---------------------------------------------------------------------------*/
#MainVisual.view h2 {
  background-image: url(images/bg_view.jpg);
}

.view #StayList ul li .shop {
  padding: 2% 1%;
  min-height: 55px;
}

/*--------------------------------------------------------------------------
   体験する一覧
---------------------------------------------------------------------------*/
#MainVisual.program h2 {
  background-image: url(images/bg_program.jpg);
  background-position: center top;
}

/*--------------------------------------------------------------------------
   イベント
---------------------------------------------------------------------------*/
#MainVisual.event h2 {
  background-image: url(images/bg_event.jpg);
}

#MainVisual.koboro h2 {
  background-image: url(images/bg_koboro.jpg);
}

/*--------------------------------------------------------------------------
   イベント、キャンプレイアウト
---------------------------------------------------------------------------*/
#EventList ul {
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
  max-width: 1300px;
  margin: 0 auto;
}
#EventList ul li {
  width: 100%;
  overflow: hidden;
  background-color: #fffef7;
  display: flex;
  justify-content: space-between;
}
#EventList ul li .left {
  width: 32%;
  min-width: 320px;
  margin-right: 2%;
}
#EventList ul li .left img {
  width: 100%;
}
#EventList ul li .right {
  width: 65%;
}
#EventList ul li .right a.btn {
  margin: 0;
}
#EventList h3 {
  line-height: 62px;
  font-size: 154%;
  font-weight: bold;
  border-bottom: 2px solid #64a064;
}
#EventList p.date {
  font-size: 108%;
  line-height: 40px;
  border-bottom: 1px solid #f0e1cd;
  background-image: url(images/icon_10.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 40px;
  margin-bottom: 15px;
}
#EventList p.content {
  font-size: 108%;
  line-height: 2em;
  margin-bottom: 15px;
}
#EventList a.btn {
  display: block;
  width: 220px;
  height: 40px;
  line-height: 40px;
  font-weight: bold;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #f0e1cd;
  border-radius: 20px;
  background-color: #ffffff;
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: 95% center;
}

/*--------------------------------------------------------------------------
   運営団体について
---------------------------------------------------------------------------*/
.page_title {
  font-size: 231%;
  line-height: 70px;
  width: 100%;
  background-color: #e0d8c3;
  margin-bottom: 50px;
}
.page_title span {
  display: block;
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding-left: 25px;
  box-sizing: border-box;
}
.page_title span img {
  vertical-align: middle;
}

#Organization {
  width: 100%;
  max-width: 980px;
  margin: 0px auto;
}
#Organization p {
  font-size: 108%;
  margin-bottom: 30px;
}
#Organization h3 {
  line-height: 60px;
  font-size: 154%;
}
#Organization table {
  font-size: 108%;
  width: 100%;
  margin-bottom: 40px;
}
#Organization th, #Organization td {
  border-bottom: 1px dotted #e6d7b4;
  padding: 8px 0;
}
#Organization tr:first-child th, #Organization tr:first-child td {
  border-top: 1px dotted #e6d7b4;
}
#Organization th {
  font-weight: bold;
  text-align: left;
  width: 250px;
  line-height: 1em;
}
#Organization th span {
  border-left: 3px solid #64a064;
  height: 14px;
  margin-right: 15px;
}

/*--------------------------------------------------------------------------
   アクセスマップ
---------------------------------------------------------------------------*/
#Access {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
#Access .guide {
  margin-bottom: 40px;
}
#Access .guide img {
  width: 100%;
  height: auto;
  margin-bottom: 15px;
}
#Access .guide p {
  font-size: 108%;
  margin-bottom: 60px;
}
#Access .case {
  overflow: hidden;
  width: 100%;
}
#Access .case > .left {
  width: 73%;
  float: left;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  padding: 5px;
  background-color: #fffef7;
  box-sizing: border-box;
}
#Access .case > .right {
  width: 25%;
  float: right;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  padding: 5px;
  background-color: #fffef7;
  box-sizing: border-box;
}
#Access .case > .right ul {
  margin-top: 50px;
  padding-left: 20px;
  box-sizing: border-box;
}
#Access .case > .right ul li {
  margin-bottom: 30px;
}
#Access h3 {
  width: 100%;
  font-size: 124%;
  line-height: 43px;
  text-align: center;
  color: #fff;
  background-color: #64a064;
  border-radius: 5px;
}
#Access h4 {
  font-size: 124%;
  font-weight: bold;
  margin-bottom: 10px;
}
#Access .box {
  margin-top: 5px;
  overflow: hidden;
  height: 230px;
}
#Access .box li {
  margin-bottom: 10px;
}
#Access .box > .left {
  width: 50%;
  float: left;
  border-right: 1px solid #f0e1cd;
  box-sizing: border-box;
  padding: 15px 20px 15px 15px;
}
#Access .box > .right {
  width: 50%;
  float: right;
  box-sizing: border-box;
  padding: 15px 20px;
}

/*--------------------------------------------------------------------------
   免責事項
---------------------------------------------------------------------------*/
#Policy {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
#Policy h3 {
  font-size: 154%;
  font-weight: bold;
  line-height: 56px;
  border-bottom: 1px solid #f0e1cd;
  margin-bottom: 25px;
}
#Policy section {
  margin-bottom: 30px;
  padding-bottom: 25px;
  border-bottom: 1px solid #f0e1cd;
}

.use_images p {
  margin-bottom: 20px;
}
.use_images p:last-child {
  margin-bottom: 0;
}
.use_images ul {
  margin-bottom: 20px;
  padding-left: 30px;
  box-sizing: border-box;
}
.use_images ul li {
  list-style-type: disc;
  list-style-position: inside;
}

/*--------------------------------------------------------------------------
   サイトマップ
---------------------------------------------------------------------------*/
#SiteMap {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
#SiteMap .a {
  border-top: 1px solid #f0e1cd;
  border-bottom: 1px solid #f0e1cd;
  margin-bottom: 30px;
}
#SiteMap .a li {
  line-height: 52px;
  border-top: 1px dotted #f0e1cd;
  line-height: 52px;
  border-top: 1px dotted #f0e1cd;
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 20px;
  box-sizing: border-box;
}
#SiteMap .a li:first-child {
  border-top: 0;
}
#SiteMap .b {
  margin-bottom: 60px;
}
#SiteMap .b li {
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 15px;
  box-sizing: border-box;
}

/*--------------------------------------------------------------------------
   よくあるご質問
---------------------------------------------------------------------------*/
#QandA {
  width: 100%;
  max-width: 980px;
  margin: 0 auto 60px;
}
#QandA h3 {
  font-size: 154%;
  font-weight: bold;
  line-height: 60px;
  margin-top: 40px;
  border-bottom: 1px solid #f0e1cd;
}
#QandA h3:before {
  content: "";
  width: 22px;
  height: 22px;
  background-image: url(images/icon_07.png);
  background-repeat: no-repeat;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 3px;
  margin-right: 15px;
}
#QandA p {
  font-size: 108%;
  line-height: 2em;
  padding: 20px 0;
  border-bottom: 1px solid #f0e1cd;
}

#Shipping {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 100px 10px;
  box-sizing: border-box;
}
#Shipping h2 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
#Shipping p {
  margin-bottom: 1rem;
}
#Shipping .red {
  font-size: 0.8rem;
  color: red;
}
#Shipping .center {
  text-align: center;
}
#Shipping .submit {
  display: flex;
  justify-content: center;
  align-items: baseline;
  margin: 2rem auto;
}
#Shipping .address, #Shipping .free {
  width: 100%;
  box-sizing: border-box;
}
#Shipping table {
  width: 100%;
}
#Shipping table th, #Shipping table td {
  padding: 5px 10px;
  text-align: left;
  border-bottom: 1px solid #fdfdfd;
}
#Shipping table th input, #Shipping table td input {
  padding: 0 5px;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #StayList.view ul li .shop {
    min-height: 0px;
  }
  /*--------------------------------------------------------------------------
     運営団体について
  ---------------------------------------------------------------------------*/
  .page_title {
    font-size: 139%;
    line-height: 40px;
    margin-bottom: 15px;
  }
  #Organization {
    padding: 0 10px;
    box-sizing: border-box;
  }
  #Organization p {
    font-size: 85%;
    margin-bottom: 15px;
  }
  #Organization h3 {
    line-height: 35px;
    font-size: 124%;
  }
  #Organization table {
    font-size: 100%;
  }
  #Organization tbody, #Organization tr, #Organization th, #Organization td {
    display: block;
    width: 100%;
  }
  #Organization th {
    border-bottom: 0;
    padding-top: 12px;
  }
  #Organization td {
    border-top: 0;
    padding: 0px 20px 8px;
    box-sizing: border-box;
    font-size: 85%;
  }
  #Organization tr:first-child td {
    border-top: 0;
  }
  /*--------------------------------------------------------------------------
     アクセスマップ
  ---------------------------------------------------------------------------*/
  #Access {
    padding: 0 10px;
    box-sizing: border-box;
  }
  #Access h3 {
    font-size: 93%;
    line-height: 28px;
  }
  #Access h4 {
    font-size: 93%;
  }
  #Access .guide {
    margin-bottom: 15px;
  }
  #Access .guide p {
    font-size: 85%;
  }
  #Access .case > .left {
    width: 100%;
    float: none;
    margin-bottom: 10px;
  }
  #Access .box {
    height: auto;
  }
  #Access .box > .left {
    width: 100%;
    float: none;
    padding: 5px 10px;
    border-bottom: 1px solid #f0e1cd;
    border-right: 0;
  }
  #Access .box > .right {
    width: 100%;
    float: none;
    padding: 5px 10px;
    border-bottom: 1px solid #f0e1cd;
    border-right: 0;
    border-bottom: 0;
  }
  #Access .box li {
    font-size: 77%;
    margin-bottom: 5px;
  }
  #Access .case > .right {
    width: 100%;
    float: none;
  }
  #Access .case > .right ul {
    margin-top: 0;
    padding-left: 10px;
  }
  #Access .case > .right ul li {
    margin-bottom: 5px;
  }
  #Access iframe {
    width: 100%;
    height: auto;
  }
  /*--------------------------------------------------------------------------
     ご利用規約
  ---------------------------------------------------------------------------*/
  #Policy {
    padding: 0 10px;
    box-sizing: border-box;
  }
  #Policy p {
    font-size: 85%;
  }
  #Policy h3 {
    font-size: 124%;
    line-height: 30px;
    margin-bottom: 5px;
  }
  .use_images p {
    margin-bottom: 15px;
  }
  .use_images ul {
    padding-left: 15px;
    margin-bottom: 15px;
  }
  .use_images ul li {
    font-size: 85%;
  }
  #Policy section {
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
  /*--------------------------------------------------------------------------
     サイトマップ
  ---------------------------------------------------------------------------*/
  #SiteMap {
    padding: 0 10px;
    box-sizing: border-box;
  }
  #SiteMap a {
    display: block;
  }
  #SiteMap .a {
    margin-bottom: 15px;
  }
  #SiteMap .a li {
    font-size: 85%;
    line-height: 40px;
    padding-left: 15px;
  }
  #SiteMap .b {
    margin-bottom: 30px;
  }
  #SiteMap .b li {
    font-size: 85%;
    line-height: 30px;
  }
  /*--------------------------------------------------------------------------
     イベント一覧
  ---------------------------------------------------------------------------*/
  #EventList ul {
    padding: 0;
  }
  #EventList ul li {
    display: block;
  }
  #EventList ul li .left {
    position: relative;
    width: 100%;
    margin-right: 0;
    padding: 5px;
    box-sizing: border-box;
  }
  #EventList ul li .left .area {
    position: relative;
    overflow: visible;
  }
  #EventList ul li .left .information {
    position: absolute;
    bottom: 0;
    background-color: rgba(40, 30, 20, 0.7);
    width: 100%;
    height: auto;
    box-sizing: border-box;
    padding: 2% 5%;
    background-image: url("images/icon_03.png");
    background-repeat: no-repeat;
    background-position: 99% 90%;
  }
  #EventList ul li .right {
    width: 100%;
  }
  #EventList ul li .right a.btn {
    margin: 0 auto 10px;
  }
  #EventList ul h3 {
    padding: 10px 0 5px 10px;
    line-height: 1.2rem;
    border: 0;
    font-size: 15px;
  }
  #EventList ul p.date {
    margin: 0 5px;
    padding-top: 5px;
    padding-bottom: 5px;
    font-size: 12px;
    line-height: 18px;
    background-position: 3% center;
  }
  #EventList ul p.content {
    font-size: 13px;
    line-height: 1.2rem;
    padding: 10px;
    box-sizing: border-box;
    margin: 0;
  }
  #Shipping table th, #Shipping table td {
    display: block;
  }
  #Shipping table th {
    border-bottom: 0;
  }
}
/*--------------------------------------------------------------------------
   見る遊ぶ食べる泊まる、詳細画面レイアウト
---------------------------------------------------------------------------*/
#Shop {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  overflow: hidden;
}
#Shop h3 {
  font-size: 200%;
  line-height: 1em;
}
#Shop h3 span {
  display: inline-block;
  margin-left: 15px;
  padding: 0 5px;
  min-width: 86px;
  height: 24px;
  font-size: 12px;
  line-height: 24px;
  background-color: rgb(40, 120, 160);
  color: rgb(255, 255, 255);
  text-align: center;
  vertical-align: top;
  border-radius: 3px;
  box-sizing: border-box;
}
#Shop .shop_area {
  float: left;
  width: 70%;
  margin-bottom: 15px;
}
#Shop #Sidebar {
  float: right;
  width: 25%;
}

.shop_name {
  border-left: 5px solid #64a064;
  padding-left: 20px;
  margin-bottom: 20px;
}
.shop_name p {
  font-size: 108%;
  padding-left: 5px;
  box-sizing: border-box;
  line-height: 1em;
  margin-bottom: 10px;
}

.shop_content .main_photo {
  width: 100%;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  padding: 5px;
  box-sizing: border-box;
  background-color: #ffffff;
  margin-bottom: 15px;
}
.shop_content .main_photo img {
  width: 100%;
  height: auto;
}

.the_content h1, .the_content h2 {
  margin-bottom: 1rem;
  font-size: 1.3rem;
  font-weight: bold;
}
.the_content h3, .the_content h4 {
  margin-bottom: 1rem;
  font-size: 1.2rem;
  font-weight: bold;
}
.the_content h5, .the_content h6 {
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: bold;
}
.the_content p {
  margin-bottom: 1rem;
}
.the_content p img {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  padding: 5px;
  background: white;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
}

.multiple-calendar {
  margin-bottom: 0px !important;
}
.multiple-calendar table {
  margin-bottom: 20px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 5px;
  border: 1px solid #f0e1cd;
}
.multiple-calendar td {
  border: 1px solid rgba(200, 200, 200, 0.2);
}

span.option-note {
  padding-left: 1rem;
  font-size: 0.8rem;
}

.calendar-time-mark, .calendar-mark, .calendar-marking {
  line-height: 0.8;
  font-size: 0.8rem;
}

.calendar-mark.camp_mb {
  margin-bottom: 10px;
}

.calendar-marking {
  padding-left: 5px;
}

a.booking-timelink {
  color: #739eb6;
  font-size: 1rem;
  font-weight: bold;
}

.calendar-daylink {
  color: #739eb6;
  font-weight: bold;
  border-bottom: 1px solid #739eb6;
}
.calendar-daylink:hover {
  border-bottom: 1px solid transparent;
}

.monthly-prev-next a, span.no-link {
  display: block;
  margin: 0 auto;
  padding: 0 10px;
  font-size: 13px;
  line-height: 40px;
  height: 40px;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #f0e1cd;
  border-radius: 20px;
  background-color: rgba(255, 255, 255, 0.8);
}

span.no-link {
  background-color: rgba(255, 255, 255, 0.1);
}

.content-form .booking-seimei {
  width: 1rem !important;
}

.mtssb-daily-action button {
  cursor: pointer;
  padding: 0 20px;
  font-size: 13px;
  line-height: 40px;
  height: 40px;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #f0e1cd;
  border-radius: 20px;
  background-color: rgba(255, 255, 255, 0.8);
}

.subscription-cancel {
  width: 20%;
}

.content_detail {
  margin-bottom: 50px;
}
.content_detail h4 {
  font-size: 154%;
  line-height: 50px;
  font-weight: bold;
}
.content_detail > p {
  margin-bottom: 25px;
}
.content_detail ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  overflow: hidden;
}
.content_detail ul li {
  width: 32%;
}
.content_detail ul li:last-child {
  margin-right: 0;
}
.content_detail ul li img {
  width: 100%;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  padding: 5px;
  box-sizing: border-box;
  background-color: #ffffff;
  margin-bottom: 15px;
}
.content_detail ul li p {
  line-height: 20px;
}

.shop_information {
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  padding: 5px;
  box-sizing: border-box;
  background-color: #ffffff;
  margin-bottom: 40px;
}
.shop_information h5 {
  text-align: center;
  color: #ffffff;
  font-size: 154%;
  line-height: 55px;
  background-color: #64a064;
  border-radius: 3px;
  margin-bottom: 5px;
}
.shop_information table {
  width: 100%;
  margin-bottom: 5px;
}
.shop_information th {
  width: 185px;
  font-size: 124%;
  font-weight: bold;
  background-color: #f5ebd2;
  text-align: left;
  padding-left: 15px;
  box-sizing: border-box;
  border-bottom: 1px solid #f0e1cd;
  box-shadow: 0 0 0 1px #fffef7 inset;
}
.shop_information td {
  box-sizing: border-box;
  border-bottom: 1px solid #f0e1cd;
  font-size: 108%;
  line-height: 22px;
  padding: 10px 0 10px 15px;
}
.shop_information td span {
  font-size: 143%;
}
.shop_information iframe {
  width: 100%;
  vertical-align: bottom;
}

.list_card {
  margin-bottom: 80px;
}
.list_card ul {
  overflow: hidden;
  border-top: 1px solid #f0e1cd;
  border-left: 1px solid #f0e1cd;
  display: flex;
  flex-wrap: wrap;
}
.list_card ul li {
  width: 33.3%;
  border-right: 1px solid #f0e1cd;
  border-bottom: 1px solid #f0e1cd;
  box-sizing: border-box;
  overflow: hidden;
  padding: 2px;
  background-color: #ffffff;
  background-image: url(images/icon_01.png);
  background-repeat: no-repeat;
  background-position: 99% 96%;
  transition-duration: 0.3s;
}
.list_card ul li:hover {
  border-bottom: 1px solid #64a064;
}
.list_card ul li a {
  display: block;
}
.list_card ul li .flex {
  display: flex;
  justify-content: space-between;
}
.list_card ul li .thumb {
  width: 80px;
  overflow: hidden;
}
.list_card ul li .thumb img {
  width: 100%;
  height: auto;
}
.list_card ul li .list_info {
  width: calc(100% - 85px);
  font-size: 12px;
  line-height: 16px;
}
.list_card ul li span {
  margin: 3px 0;
  padding: 1px 5px;
  min-width: 86px;
  border-radius: 3px;
  display: inline-block;
  box-sizing: border-box;
  text-align: center;
  color: #ffffff;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Shop {
    margin-top: 20px;
  }
  #Shop .shop_area {
    float: none;
    width: 100%;
    padding: 0 10px;
    box-sizing: border-box;
  }
  #Shop #Sidebar {
    display: none;
  }
  .shop_name {
    padding-left: 10px;
    margin-left: 5px;
    margin-bottom: 10px;
  }
  #Shop h3 {
    font-size: 16px;
    line-height: 24px;
  }
  .shop_name p {
    font-size: 12px;
    line-height: 1.8em;
    margin-bottom: 5px;
    padding-left: 0;
  }
  .shop_content img.main_photo {
    margin-bottom: 10px;
  }
  /*--------------------------------------------------------------------------
     stay
  ---------------------------------------------------------------------------*/
  .list_card ul li {
    width: 50%;
  }
  .list_card ul li img {
    float: left;
    width: 50%;
    height: auto;
  }
  .list_card ul li span {
    width: 44%;
    float: right;
    margin: 5px 3% 0;
    font-size: 10px;
  }
  .list_card ul li p {
    width: 44%;
    margin: 0 3%;
    float: right;
    font-size: 10px;
  }
  .content_detail {
    margin-bottom: 0;
  }
  .content_detail h4 {
    font-size: 16px;
    line-height: 1.5em;
    margin-bottom: 0.6rem;
  }
  .content_detail > p {
    font-size: 13px;
    margin-bottom: 5px;
  }
  .content_detail ul li {
    float: none;
    width: 100%;
    margin-right: 0;
    margin-bottom: 20px;
  }
  .content_detail ul li img {
    margin-bottom: 5px;
  }
  .content_detail ul li p {
    font-size: 13px;
    padding: 0 10px;
    box-sizing: border-box;
  }
  .shop_information h5 {
    font-size: 13px;
    line-height: 30px;
  }
  .shop_information th {
    width: auto;
    font-size: 13px;
    padding: 0 10px;
  }
  .shop_information td {
    font-size: 13px;
    padding: 5px 0 5px 5px;
  }
  .shop_information td span {
    font-size: 14px;
  }
  .shop_information iframe {
    height: 320px;
  }
  .content-form th,
  .content-form td {
    font-size: 0.8rem;
    line-height: 1.2rem;
  }
  span.option-note {
    font-size: 0.7rem;
    display: inherit;
    padding-left: 0;
  }
  .content-form .booking-seimei {
    width: 1rem;
  }
  .day-calendar table {
    width: 100%;
  }
  th.day-left {
    font-size: 0.9rem;
  }
  .calendar-mark, .calendar-marking, .calendar-time-mark {
    line-height: 0.8;
    font-size: 0.7rem;
  }
  .mix-calendar th, .timetable-calendar th, .multiple-calendar th, .monthly-calendar th {
    font-size: 0.8rem;
  }
  .list-calendar h3, .timetable-calendar h3, .multiple-calendar h3, .monthly-calendar h3 {
    text-align: center;
  }
  .calendar-caption {
    font-size: 0.9rem;
  }
  .calendar-mark .article-name {
    font-size: 0.7rem !important;
  }
  .calendar-mark a span {
    line-height: 0.7rem !important;
  }
}
/*--------------------------------------------------------------------------
   お問い合わせ
---------------------------------------------------------------------------*/
#Contact {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
#Contact h3 {
  width: 100%;
  line-height: 56px;
  text-align: center;
  font-size: 154%;
  color: #ffffff;
  background-color: #64a064;
  border-radius: 5px;
  margin-bottom: 5px;
}
#Contact section {
  border: 1px solid #f0e1cd;
  background-color: #fffef7;
  padding: 5px;
  border-radius: 5px;
  box-sizing: border-box;
  margin-bottom: 40px;
}
#Contact .faq .answer {
  display: none;
}
#Contact .faq .question {
  background-image: url(images/icon_07.png);
  background-repeat: no-repeat;
  background-position: 15px center;
  padding-left: 50px;
  line-height: 52px;
  color: #2878a0;
  text-decoration: underline;
  cursor: pointer;
  border-bottom: 1px dotted #e6d7b4;
}
#Contact .faq ul li a {
  display: block;
  margin: 15px auto;
  width: 240px;
  height: 40px;
  line-height: 40px;
  border: 1px solid #f0e1cd;
  border-radius: 20px;
  text-align: center;
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: 95% center;
  font-size: 108%;
  font-weight: bold;
}
#Contact .tel p {
  font-size: 108%;
  text-align: center;
  margin-bottom: 25px;
}
#Contact .tel span {
  font-size: 1.4rem;
  font-weight: bold;
}
#Contact .form table {
  width: 100%;
}
#Contact .form th {
  width: 204px;
  background-color: #f5ebd2;
  border-bottom: 1px solid #f0e1cd;
  box-shadow: 0 0 0 1px #fffef7 inset;
  font-size: 124%;
  text-align: left;
  padding-left: 20px;
  vertical-align: top;
  line-height: 54px;
}
#Contact .form th span {
  font-size: 13px;
  color: #c80000;
  padding-left: 10px;
}
#Contact .form td {
  border-bottom: 1px solid #f0e1cd;
  padding: 0 0 0 20px;
  box-sizing: border-box;
  vertical-align: middle;
}
#Contact .form td input {
  height: 34px;
  padding-left: 10px;
  box-sizing: border-box;
}
#Contact .form tr:last-child th, #Contact .form tr:last-child td {
  border-bottom: 0;
}
#Contact a.send_form {
  display: block;
  width: 310px;
  height: 56px;
  line-height: 56px;
  font-size: 170%;
  text-align: center;
  margin: 0 auto 60px;
  color: #ffffff;
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: 95% center;
  background-color: #e66e64;
  border-radius: 28px;
}
#Contact .wpcf7-list-item {
  margin-right: 30px;
}
#Contact input {
  border: 1px solid #f0e1cd;
  border-radius: 3px;
  background-color: #ffffff;
}
#Contact textarea {
  border: 1px solid #f0e1cd;
  border-radius: 3px;
  background-color: #ffffff;
  margin: 10px 0;
}
#Contact section.plus_two {
  background-color: inherit;
  padding: 0px;
  border: 0px none;
  text-align: center;
}
#Contact section.plus_two a {
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 15px;
}
#Contact input.wpcf7-submit {
  display: block;
  margin: 0 auto 40px;
  border: 1px solid #f0e1cd;
  width: 310px;
  height: 60px;
  border-radius: 30px;
  color: #ffffff;
  text-align: center;
  line-height: 60px;
  background-color: #e66e64;
  font-size: 22px;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  /*--------------------------------------------------------------------------
      お問い合わせ
   ---------------------------------------------------------------------------*/
  #Contact .faq .question {
    line-height: 1.8em;
    padding: 15px 0 15px 50px;
    box-sizing: border-box;
  }
  #Contact section {
    border-bottom: 20px;
  }
  #Contact h3 {
    font-size: 13px;
    line-height: 28px;
  }
  #Contact .form th {
    display: block;
    width: 100%;
    font-size: 13px;
    line-height: 30px;
    box-sizing: border-box;
  }
  #Contact .form th span {
    font-size: 11px;
  }
  #Contact .form td {
    display: block;
    width: 100%;
    padding: 5px 0;
  }
  #Contact .form td input {
    width: 100%;
  }
  #Contact textarea {
    width: 100%;
    height: 100px;
    box-sizing: border-box;
  }
  #Contact .wpcf7-list-item {
    display: block;
    margin: 0 0 0 20px;
  }
  #Contact .form td .wpcf7-list-item input {
    width: auto;
  }
  #Contact .wpcf7-list-item-label {
    font-size: 13px;
  }
  #Contact input.wpcf7-submit {
    width: 50%;
    height: 40px;
    font-size: 15px;
    line-height: 40px;
  }
}
/*--------------------------------------------------------------------------
   お申し込み
---------------------------------------------------------------------------*/
#Request {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
}
#Request h3 {
  width: 100%;
  line-height: 56px;
  text-align: center;
  font-size: 154%;
  color: #ffffff;
  background-color: #64a064;
  border-radius: 5px;
  margin-bottom: 5px;
}
#Request section {
  border: 1px solid #f0e1cd;
  background-color: #fffef7;
  padding: 5px;
  border-radius: 5px;
  box-sizing: border-box;
  margin-bottom: 40px;
}
#Request .tel p {
  font-size: 108%;
  text-align: center;
  margin-bottom: 25px;
}
#Request .tel span {
  font-size: 1.4rem;
  font-weight: bold;
}
#Request .form table {
  width: 100%;
}
#Request .form th {
  width: 234px;
  background-color: #f5ebd2;
  border-bottom: 1px solid #f0e1cd;
  box-shadow: 0 0 0 1px #fffef7 inset;
  font-size: 124%;
  text-align: left;
  padding-left: 20px;
  vertical-align: top;
  line-height: 54px;
  font-weight: bold;
}
#Request .form th span {
  font-size: 13px;
  color: #c80000;
  padding-left: 10px;
}
#Request .form th span.small {
  display: inline-block;
  font-size: 13px;
  color: #5a3c1e;
  line-height: 1.5em;
}
#Request .form td {
  border-bottom: 1px solid #f0e1cd;
  padding: 0 0 0 20px;
  box-sizing: border-box;
  vertical-align: middle;
}
#Request .form td input {
  height: 34px;
  padding-left: 10px;
  box-sizing: border-box;
}
#Request .form tr:last-child th, #Request .form tr:last-child td {
  border-bottom: 0;
}
#Request input.btn {
  display: block;
  width: 310px;
  height: 56px;
  line-height: 56px;
  font-size: 170%;
  text-align: center;
  margin: 0 auto 60px;
  color: #ffffff;
  background-image: url(images/icon_02.png);
  background-repeat: no-repeat;
  background-position: 95% center;
  background-color: #e66e64;
  border-radius: 28px;
}
#Request .wpcf7-list-item {
  margin-right: 30px;
}
#Request input {
  border: 1px solid #f0e1cd;
  border-radius: 3px;
  background-color: #ffffff;
}
#Request textarea {
  border: 1px solid #f0e1cd;
  border-radius: 3px;
  background-color: #ffffff;
  margin: 10px 0;
}
#Request section.plus_one {
  padding: 0;
}

.plus_one div {
  padding: 20px 30px;
}
.plus_one h4 {
  font-size: 108%;
  font-weight: bold;
}
.plus_one .caution {
  border-bottom: 1px solid #f0e1cd;
}

/*ホタテ釣り選手権大会の固定ページ専用CSS*/
#Wsc {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
#Wsc .center {
  text-align: center;
}
#Wsc .main {
  position: relative;
  width: 100%;
  height: 700px;
  background-image: url(images/wsc_bg_2026.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center 10%;
}
#Wsc .main.group {
  height: auto;
  aspect-ratio: 1200/710;
  min-height: 350px;
  max-height: 550px;
  background-image: url(images/wsc2026/wsc_gp_bg.jpg);
  background-position: left center;
}
#Wsc .main.group #TitleGroup {
  display: flex;
  position: relative;
  width: 100%;
  height: 100%;
  justify-content: flex-end;
  align-items: center;
  text-align: right;
}
#Wsc .main h1 {
  position: absolute;
  bottom: 20px;
  left: 0;
  width: 100%;
  text-align: center;
}
#Wsc .main h1 img {
  width: 80%;
  max-width: 700px;
  height: auto;
}
#Wsc .main h2.single {
  position: absolute;
  top: -10%;
  right: 10%;
  z-index: 9;
}
#Wsc .main h2.single img {
  width: 100%;
  max-width: 380px;
}
#Wsc .main h3.single {
  display: block;
  position: absolute;
  top: 10%;
  left: 10%;
  z-index: 9;
}
@media screen and (max-width: 1000px) {
  #Wsc .main h3.single {
    display: none;
  }
}
#Wsc .main #EventDay {
  position: absolute;
  bottom: 0%;
  right: 1%;
  z-index: 9;
  width: 35%;
  height: auto;
}
#Wsc .main #Award {
  position: absolute;
  top: 67%;
  right: 33%;
  z-index: 9;
  width: 17%;
  height: auto;
}
#Wsc .main #Number {
  position: absolute;
  top: 35%;
  right: 30%;
  z-index: 9;
  width: 30%;
  height: auto;
}
#Wsc .main #TitleGroup {
  position: absolute;
  top: auto;
  bottom: 0%;
  right: 0%;
  width: 65%;
}
#Wsc .main #HeadGroup {
  position: absolute;
  top: 1%;
  left: 20%;
  width: 20%;
  z-index: 9;
}
#Wsc .main #AwardGroup {
  position: absolute;
  top: 13%;
  right: 23%;
  z-index: 9;
  width: 17%;
  height: auto;
}
#Wsc .bnr {
  width: 100%;
  padding: 30px 0 0;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#Wsc .bnr a {
  display: block;
  margin: 15px;
}
#Wsc .rule {
  width: 100%;
  padding: 30px 10px 0;
  text-align: center;
}
#Wsc .rule article {
  position: relative;
  padding-bottom: 56.25%;
  /*アスペクト比 16:9の場合の縦幅*/
  height: 0;
  overflow: hidden;
}
#Wsc .rule article iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#Wsc .rule p {
  margin-bottom: 1rem;
}
#Wsc .rule a {
  border-bottom: 1px solid;
  transition-duration: 0.2s;
}
#Wsc .rule a:hover {
  border-bottom: 0;
}
#Wsc .rule h3 {
  font-size: 1.5em;
  font-weight: bold;
  font-family: serif;
}
#Wsc .rule table {
  margin: 30px auto;
  width: 100%;
  max-width: 600px;
}
#Wsc .rule td:first-child {
  width: 100px;
  background-color: rgba(240, 240, 240, 0.6);
}
#Wsc .tg {
  border-collapse: collapse;
  border-spacing: 0;
}
#Wsc .tg td {
  font-family: Arial, sans-serif;
  font-size: 14px;
  padding: 5px 5px;
  border-style: solid;
  border-width: 1px;
  overflow: hidden;
  word-break: normal;
  border-color: black;
}
#Wsc .tg th {
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  padding: 5px 5px;
  border-style: solid;
  border-width: 1px;
  overflow: hidden;
  word-break: normal;
  border-color: black;
}
#Wsc .tg .tg-0pky {
  border-color: inherit;
  text-align: left;
  vertical-align: middle;
}
#Wsc .tg .tg-0lax {
  text-align: left;
  vertical-align: middle;
}
#Wsc .fbtl {
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
}
#Wsc .fbtl .fb_iframe_widget span {
  padding-top: 0 !important;
}
#Wsc h3 {
  text-align: center;
  font-size: 1.6rem;
}
#Wsc h4 {
  margin-bottom: 30px;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
}
#Wsc .entry {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 0 100px;
}
#Wsc .entry p:not(.note) {
  width: 100%;
  max-width: 500px;
  margin: 1em auto;
  font-size: 110%;
  text-align: center;
}
#Wsc .mw_wp_form_confirm .rule {
  display: none !important;
}

/* #Wsc .main h2 {
  position: absolute;
  top: 25%;
  right: 6%;
  width: 25%;
  z-index: 9;
} */
/* #Wsc .rule img {
  width: 100%;
  max-width: 1000px;
  height: auto;
} */
#WSCEntry {
  background-color: white;
  width: 100%;
}
#WSCEntry th,
#WSCEntry td {
  border-collapse: collapse;
  border: 1px solid #333;
}
#WSCEntry th {
  width: 30%;
  padding: 10px;
  font-size: 110%;
  vertical-align: middle;
}
#WSCEntry th .red {
  color: red;
  font-size: 0.8rem;
}
#WSCEntry td {
  width: 70%;
  padding: 10px;
  vertical-align: top;
}
#WSCEntry td input {
  padding: 3px;
  max-width: 99%;
}
#WSCEntry td ul {
  list-style: disc;
  padding-left: 1em;
  line-height: 1.4em;
}
#WSCEntry td ul li {
  list-style: disc;
  margin-bottom: 0.5em;
}
#WSCEntry td.birth p {
  text-align: left !important;
}
#WSCEntry td.birth input {
  width: 10% !important;
}
#WSCEntry td.birth .mwform-radio-field {
  margin-bottom: 15px;
}
#WSCEntry td .mwform-tel-field input[type=text],
#WSCEntry td .mwform-zip-field input[type=text] {
  margin-bottom: 5px;
}

/*出場者table*/
#Fighter tr td:nth-of-type(1) {
  width: 15%;
}
#Fighter tr td:nth-of-type(2) {
  width: 40%;
}
#Fighter tr td:nth-of-type(3), #Fighter tr td:nth-of-type(4) {
  width: 20%;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Wsc .main {
    height: 450px;
    background-image: url(images/wsc_bg_2026.jpg);
    background-size: auto 110%;
  }
  #Wsc .main h1 {
    width: 100%;
    bottom: 0;
  }
  #Wsc .main h1 img {
    width: 100%;
  }
  #Wsc .main h2.single {
    top: -8%;
    right: 20%;
    margin-right: -80px;
  }
  #Wsc .main h2.single img {
    width: 224px;
  }
  #Wsc .main h3.single {
    top: 2%;
  }
  #Wsc .main #HeadGroup {
    position: absolute;
    top: 2%;
    left: 0%;
    width: 22%;
    z-index: 9;
  }
  #Wsc .main #TitleGroup {
    width: 100%;
  }
  #Wsc .main #AwardGroup {
    top: 3%;
    right: 3%;
    width: 27%;
  }
  #Wsc h3 {
    font-size: 1.1rem;
  }
  #Wsc h4 {
    font-size: 0.9rem;
  }
  #Wsc .entry {
    padding: 30px 20px 100px;
  }
  #WSCEntry {
    table-layout: fixed;
  }
  #WSCEntry th,
  #WSCEntry td {
    width: auto;
    display: block;
    text-align: left;
  }
  #WSCEntry th {
    padding-bottom: 0;
    box-sizing: border-box;
    border-bottom: 0px solid white;
  }
  #WSCEntry td {
    box-sizing: border-box;
    border-top: 0px solid white;
  }
  #WSCEntry td input:not([type=radio]):not([type=checkbox]):not([type=submit]),
  #WSCEntry td textarea,
  #WSCEntry td select {
    padding: 3px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  #WSCEntry td input[type=radio],
  #WSCEntry td input[type=checkbox] {
    transform: scale(1.3);
    margin: 0 6px 0 0;
    vertical-align: middle;
  }
  #WSCEntry td .wpcf7-list-item {
    margin: 4px 18px 4px 0;
  }
  #WSCEntry td .mwform-zip-field input {
    width: 30% !important;
    margin-bottom: 3px;
  }
  #WSCEntry td .mwform-tel-field input {
    width: 20% !important;
    margin-bottom: 3px;
  }
  #WSCEntry td .note {
    font-size: 13px;
    line-height: 20px;
    text-align: left;
  }
  #Fighter {
    border-top: 1px solid #333;
  }
  #Fighter td {
    display: table-cell;
    padding: 5px;
  }
  #Fighter tr td:nth-of-type(1) {
    width: 10%;
  }
  #Fighter tr td:nth-of-type(2) {
    width: 25%;
  }
  #Fighter tr td:nth-of-type(3) {
    width: 22%;
  }
  #Fighter tr td:nth-of-type(3) input {
    width: auto !important;
  }
  #Fighter tr td:nth-of-type(4) {
    width: 20%;
  }
  #Fighter tr td:nth-of-type(4) input {
    width: 60%;
    margin-right: 2%;
  }
}
/*豊浦町オーナー制度固定ページ専用CSS*/
#Owner #SliderArea {
  position: relative;
}
#Owner .mv {
  position: absolute;
  width: 100%;
  top: 25%;
  z-index: 99;
  text-align: center;
}
#Owner .mv p {
  margin-top: 2rem;
  font-size: 1.4rem;
  letter-spacing: 4px;
  color: white;
  text-shadow: 0px 0px 3px #5a3c1e;
  font-family: "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}
#Owner .owned {
  display: flex;
  justify-content: space-between;
}
#Owner .owned li {
  width: 49%;
}
#Owner section {
  width: 100%;
  max-width: 1000px;
  margin: 2rem auto;
  padding: 20px;
  box-sizing: border-box;
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  background-color: white;
}
#Owner section h3, #Owner section h4 {
  font-size: 1.2rem;
  font-weight: bold;
  letter-spacing: 1px;
}
#Owner section .gallery {
  margin-bottom: 20px;
}
#Owner section .gallery ul {
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}
#Owner section .gallery li {
  width: 32%;
  margin-right: 2%;
  padding: 5px;
  box-sizing: border-box;
  border-radius: 5px;
  border: 1px solid #f0e1cd;
  background-color: #fffef7;
}
#Owner section .gallery li:nth-child(3n) {
  margin-right: 0;
}
#Owner section .gallery li p {
  padding: 10px 0 0;
  box-sizing: border-box;
}
#Owner section .gallery li img {
  width: 100%;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Owner .mv p {
    margin-top: 1rem;
    font-size: 0.7rem;
  }
  #Owner .content h2 {
    font-size: 1.6em;
  }
  #Owner section h3, #Owner section h4 {
    font-size: 1rem;
  }
}
/*Camp専用CSS：基本的には共通のを流用すること*/
#Camp .bnr {
  margin-bottom: 1rem;
  padding: 0 30px 0 20px;
  box-sizing: border-box;
}
#Camp .map {
  width: 100%;
  padding: 0 30px 0 20px;
  box-sizing: border-box;
}
#Camp .detail {
  width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
}
#Camp .ttl {
  margin-top: 2rem;
  margin-bottom: 0.8rem;
  padding-left: 10px;
  font-size: 1.1rem;
  border-left: 5px solid green;
  line-height: 1.4rem;
}
#Camp table.campmap {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background-color: white;
  border-top: 1px solid #f0e1cd;
  border-left: 1px solid #f0e1cd;
}
#Camp table.campmap tr.head th {
  border-right: 1px solid #f0e1cd;
}
#Camp table.campmap th {
  font-weight: bold;
  background-color: #f5ebd2;
  text-align: left;
  padding-left: 15px;
  box-sizing: border-box;
  border-bottom: 1px solid white;
  padding: 10px 0 10px 15px;
}
#Camp table.campmap td {
  box-sizing: border-box;
  border-right: 1px solid #f0e1cd;
  border-bottom: 1px solid #f0e1cd;
  padding: 10px 0 10px 15px;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #MainVisual.camp {
    margin-bottom: 30px;
  }
  #Camp {
    padding-bottom: 30px;
  }
  #Camp .map {
    padding: 0 10px;
  }
  #Camp .map iframe {
    height: 300px;
  }
  #Camp .detail {
    padding: 0 10px;
  }
  #Camp table.campmap {
    width: 100%;
  }
  #Camp table.campmap tr.head {
    display: none;
  }
  #Camp table.campmap th, #Camp table.campmap td {
    display: block;
    width: 100%;
  }
  #Camp table.campmap th {
    padding: 10px 0 10px 15px;
    border-right: 1px solid #f0e1cd;
  }
  #Camp table.campmap td {
    padding: 5px 0 5px 15px;
  }
}
#Takeout .mv {
  border-bottom: 3px solid #64a064;
}
#Takeout .content {
  max-width: 1300px;
  width: 100%;
  margin: 0 auto;
  padding: 30px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#Takeout .content article {
  width: 31%;
  background: white;
  padding: 15px;
  margin: 0 1% 2%;
  border-radius: 10px;
  box-sizing: border-box;
}
#Takeout .content article a {
  display: block;
  color: #5a3c1e;
  border-bottom: 0;
}
#Takeout .content article .thumb {
  width: 100%;
}
#Takeout .content article .thumb img {
  width: 100%;
  height: auto;
}
#Takeout .content article h3 {
  margin: 10px 0 0;
  font-size: 1.2rem;
}
#Takeout .content article .cat span {
  display: inline-block;
  padding: 0 5px;
  min-width: 86px;
  height: 24px;
  font-size: 12px;
  line-height: 24px;
  color: rgb(255, 255, 255);
  text-align: center;
  vertical-align: top;
  border-radius: 3px;
  box-sizing: border-box;
}
#Takeout .content article .cat span.delivery {
  background-color: #64a064;
}
#Takeout .content article .cat span.takeout {
  background-color: #a88a80;
}
#Takeout .content article .intro {
  line-height: 1.2rem;
  padding: 5px 0;
  margin: 5px 0;
  border-bottom: 1px dashed #64a064;
}
#Takeout .content article .info {
  line-height: 1.2rem;
  padding: 5px 0;
  margin: 5px 0;
  border-bottom: 1px dashed #64a064;
}
#Takeout .content article .note {
  font-size: 12px;
  line-height: 1.2rem;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Takeout .content {
    padding: 10px;
  }
  #Takeout .content article {
    width: 100%;
    margin: 0 0 2%;
    padding: 10px;
  }
  #Takeout .content article h3 {
    font-size: 0.9rem;
  }
  #Takeout .content article .cat span {
    font-size: 11px;
    padding: 0px 5px;
    min-width: auto;
  }
}
/*Cycling専用CSS：基本的には共通のを流用すること*/
#Cycling {
  padding: 20px;
  margin: 0 auto;
}
#Cycling .detail {
  border: 1px solid #f0e1cd;
  border-radius: 5px;
  background: #fffef7;
  width: 100%;
  padding: 20px;
  box-sizing: border-box;
}
#Cycling .ttl {
  margin-top: 1rem;
  margin-bottom: 0.8rem;
  padding-left: 10px;
  font-size: 1.1rem;
  border-left: 5px solid green;
  line-height: 1.4rem;
}
#Cycling table {
  width: 100%;
  max-width: 480px;
  border-collapse: collapse;
  border-spacing: 0;
  background-color: white;
  border-top: 1px solid #f0e1cd;
  border-left: 1px solid #f0e1cd;
}
#Cycling table tr.head th {
  border-right: 1px solid #f0e1cd;
}
#Cycling table th {
  font-weight: bold;
  background-color: #f5ebd2;
  text-align: left;
  padding-left: 15px;
  box-sizing: border-box;
  border-bottom: 1px solid white;
  padding: 10px 0 10px 15px;
}
#Cycling table td {
  box-sizing: border-box;
  border-right: 1px solid #f0e1cd;
  border-bottom: 1px solid #f0e1cd;
  padding: 10px 0 10px 15px;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Cycling {
    padding: 0;
  }
  #Cycling .detail {
    padding: 0 10px;
  }
  #Cycling table tr.head {
    display: none;
  }
  #Cycling table th, #Cycling table td {
    display: block;
    width: 100%;
  }
  #Cycling table th {
    padding: 10px 0 10px 15px;
    border-right: 1px solid #f0e1cd;
  }
  #Cycling table td {
    padding: 5px 0 5px 15px;
  }
}
/*ホタテ料理コンテスト専用*/
#SContest {
  padding-bottom: 100px;
}
#SContest .center {
  text-align: center;
}
#SContest .mv {
  width: 100%;
  margin-bottom: 50px;
  padding: 50px 0 30px;
  text-align: center;
  background-image: url(images/scon_bg.jpg);
  background-size: cover;
  background-position: left center;
}
#SContest p {
  font-size: 15px;
  line-height: 28.5px;
  font-weight: bold;
  color: #542c0b;
}
#SContest p .big {
  font-size: 18px;
  font-weight: bold;
}
#SContest p.big {
  margin-top: 2rem;
  margin-bottom: 1rem;
  font-size: 28px;
}
#SContest p.notice {
  font-size: 14px;
}
#SContest .content {
  max-width: 960px;
  margin: 0 auto;
}
#SContest ol {
  width: 100%;
  max-width: 780px;
  margin: 0 auto;
}
#SContest ol li {
  margin-bottom: 1rem;
}
#SContest ul.good {
  width: 100%;
  max-width: 640px;
  padding: 0 10px;
  margin: 0 auto;
  box-sizing: border-box;
}
#SContest ul.good li {
  text-align: center;
  margin-bottom: 30px;
}
#SContest ul.good li iframe {
  margin: 0 auto !important;
}
#SContest ul.award {
  display: flex;
  justify-content: space-between;
}
#SContest ul.award li {
  margin: 2%;
  padding: 10px;
  background: white;
  border: 1px solid #e9dac6;
  border-radius: 5px;
  text-align: center;
}
#SContest ul.award li strong {
  font-size: 16px;
}
#SContest ul.award li p {
  line-height: 19px;
  font-weight: 400;
}
#SContest .head {
  margin-bottom: 5px;
  margin-top: 20px;
}
#SContest h2, #SContest h3, #SContest h5 {
  display: inline-block;
  margin: 2rem auto 1rem;
  padding: 10px 30px 7px;
  font-size: 16px;
  font-weight: bold;
  color: white;
  background-color: #542c0b;
  border-radius: 5px;
}
#SContest h4 {
  margin-top: 3rem;
}
#SContest ul.notice {
  padding-left: 1rem;
}
#SContest ul.notice li {
  list-style-type: disc;
  line-height: 18px;
  margin-bottom: 5px;
}

@media screen and (max-width: 640px) {
  #SContest {
    padding-top: 60px;
  }
  #SContest .content {
    padding: 0 15px;
    box-sizing: border-box;
  }
  #SContest p {
    font-size: 13px;
    line-height: 23.5px;
  }
  #SContest ul.award {
    display: block;
  }
  #SContest ul.award li {
    padding: 10px 10px 0px;
  }
}
/*北の収穫祭オンライン専用CSS：基本的には共通のを流用すること*/
#HarvestOnline {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  position: relative;
  background-image: url("images/ho_bg.jpg?20230126");
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  background-color: #009FE8;
}
#HarvestOnline h2 {
  max-width: 874px;
  margin: 0 auto;
  top: 20px;
  z-index: 99;
  position: absolute;
  left: 16%;
}
#HarvestOnline h3 {
  max-width: 467px;
  position: absolute;
  top: 20%;
  left: 3%;
  transition-delay: 0.3s;
}
#HarvestOnline .mask {
  max-width: 550px;
  position: absolute;
  right: 0;
  top: 14%;
  transition-delay: 0.6s;
}
#HarvestOnline .point {
  padding: 660px 10px 30px;
  box-sizing: border-box;
  z-index: 99;
  position: relative;
}
#HarvestOnline .point a img {
  transition-duration: 0.3s;
}
#HarvestOnline .point a:hover img {
  margin-top: -5px;
}
#HarvestOnline .flexbox {
  display: flex;
  margin-top: -3%;
}
#HarvestOnline .point1 {
  max-width: 550px;
}
#HarvestOnline .point2 {
  margin-top: 5%;
  max-width: 550px;
  transition-delay: 0.5s;
}
#HarvestOnline .point3 {
  max-width: 720px;
}
#HarvestOnline .point4 {
  margin-top: 10%;
  max-width: 650px;
  transition-delay: 0.5s;
}
#HarvestOnline .point5 {
  max-width: 550px;
}
#HarvestOnline .point6 {
  margin-top: 4%;
  max-width: 800px;
  transition-delay: 0.5s;
}
#HarvestOnline .center {
  padding: 40px 0 0;
  text-align: center;
}

@media screen and (max-width: 1200px) {
  #HarvestOnline h2 {
    max-width: 700px;
  }
  #HarvestOnline .mask {
    max-width: 400px;
    top: 16%;
  }
  #HarvestOnline h3 {
    max-width: 380px;
    position: absolute;
    top: 19%;
  }
  #HarvestOnline .point {
    padding-top: 540px;
  }
}
@media screen and (max-width: 1000px) {
  #HarvestOnline h2 {
    max-width: 100%;
    position: relative;
    left: 0;
    min-width: 290px;
  }
  #HarvestOnline h3 {
    top: 15%;
    left: 0;
  }
  #HarvestOnline .point {
    padding-top: 240px;
  }
  #HarvestOnline .flexbox {
    display: block;
    margin-top: 0;
  }
  #HarvestOnline .point1, #HarvestOnline .point2, #HarvestOnline .point3, #HarvestOnline .point4, #HarvestOnline .point5, #HarvestOnline .point6 {
    margin: 0 auto;
    transition-delay: 0;
  }
}
@media screen and (max-width: 640px) {
  #HarvestOnline h3 {
    max-width: 200px;
    position: relative;
    top: 10%;
    transition-delay: 0;
    z-index: 2;
  }
  #HarvestOnline .mask {
    max-width: 200px;
    top: 14%;
    transition-delay: 0;
  }
  #HarvestOnline .point {
    padding-top: 40px;
    transition-delay: 0;
  }
  #HarvestOnline .center {
    padding-top: 40px;
  }
  #HarvestOnline .center img {
    width: 180px;
  }
}
/*海産総選挙専用CSS*/
#Kaisan {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
#Kaisan .popup {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  width: 100%;
  background: black;
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
#Kaisan .popup .popup_content {
  background: #fff;
  padding: 20px 20px 20px;
  border-radius: 10px;
  height: 90vh;
  min-width: 300px;
}
#Kaisan .popup .popup_content p {
  height: 95%;
  text-align: center;
}
#Kaisan .popup .popup_content p img {
  height: 100%;
  width: auto;
}
#Kaisan .popup .popup_content .close {
  padding: 5px;
  box-sizing: border-box;
  border-radius: 5px;
  border: 1px solid #f0e1cd;
  background-color: #fffef7;
  cursor: pointer;
}
#Kaisan .show {
  visibility: visible;
  opacity: 1;
}
#Kaisan .center {
  text-align: center;
}
#Kaisan .main {
  position: relative;
  width: 100%;
  height: auto;
  padding: 0 0 20px;
  background-image: url(images/kaisan/bg_kaisan1.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right top;
}
#Kaisan .main h1 {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
#Kaisan .main h1 img {
  max-width: 1180px;
  height: auto;
}
#Kaisan .main #Nami {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
#Kaisan .fbtl {
  margin: 30px auto;
  width: 100%;
  max-width: 500px;
}
#Kaisan .info {
  width: 100%;
  max-width: 1100px;
  margin: 60px auto 0;
}
#Kaisan .info h3 {
  margin-bottom: 30px;
}
#Kaisan .info p {
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: bold;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
#Kaisan .info p.big {
  font-size: 16px;
  line-height: 33px;
}
#Kaisan .info p a {
  border-bottom: 1px solid #5a3c1e;
}
#Kaisan .info p a:hover {
  border-bottom: transparent;
}
#Kaisan .info table {
  width: 100%;
  max-width: 600px;
  margin: 30px auto;
  font-size: 16px;
}
#Kaisan .info table th {
  width: 30%;
  padding: 10px 0;
  text-align: left;
}
#Kaisan .info table td {
  padding: 10px 0;
}
#Kaisan .info table td input[type=text],
#Kaisan .info table td input[type=email],
#Kaisan .info table td textarea {
  width: 100%;
  padding: 2px 10px;
}
#Kaisan .info table td .mwform-radio-field label {
  display: inline-block;
}
#Kaisan .info .present {
  display: flex;
  justify-content: space-between;
}
#Kaisan .info .present div {
  margin: 10px;
  padding: 5px;
  box-sizing: border-box;
  border-radius: 5px;
  border: 1px solid #f0e1cd;
  background-color: #fffef7;
}
#Kaisan .info .submit {
  margin-top: 30px;
}
#Kaisan .info span.red {
  font-size: 10px;
  color: red;
}
#Kaisan .info .listup {
  width: 100%;
  max-width: 1000px;
  margin: 20px auto;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
#Kaisan .info .listup .head {
  width: 25%;
  padding: 50px 20px 20px;
  box-sizing: border-box;
  border: 10px solid #542C0B;
}
#Kaisan .info .listup .head article {
  width: 100%;
}
#Kaisan .info .listup .poster {
  width: 80%;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
}
#Kaisan .info .listup .poster .inpos {
  width: 25%;
}
#Kaisan .info .listup .poster article {
  width: 100%;
  padding: 20px;
  border-top: 10px solid #542C0B;
  border-left: 10px solid #542C0B;
  box-sizing: border-box;
}
#Kaisan .info .listup .poster article:nth-of-type(2n) {
  border-bottom: 10px solid #542C0B;
}
#Kaisan .info .listup .poster article img.post {
  cursor: pointer;
  transition-duration: 0.3s;
  transform: rotate(0);
}
#Kaisan .info .listup .poster article img.post:hover {
  transform: rotate(1deg);
}
#Kaisan .rule {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 60px 0 100px;
}
#Kaisan .rule h4 {
  font-size: 24px;
  margin-bottom: 20px;
}
#Kaisan .rule ul {
  padding-left: 1rem;
  padding-bottom: 1rem;
  box-sizing: border-box;
}
#Kaisan .rule ul li {
  list-style-type: disc;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Kaisan .popup .popup_content p:first-of-type {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #Kaisan .popup .popup_content p:first-of-type img {
    width: 100%;
    height: auto;
  }
  #Kaisan .main h1 img {
    width: 80%;
  }
  #Kaisan section {
    box-sizing: border-box;
  }
  #Kaisan .info {
    padding: 0 10px;
    box-sizing: border-box;
  }
  #Kaisan .info table {
    margin: 10px auto;
    font-size: 13px;
  }
  #Kaisan .info table td input[type=email],
  #Kaisan .info table td input[type=text],
  #Kaisan .info table td textarea {
    width: 90%;
  }
  #Kaisan .info table td .mwform-radio-field label {
    margin-bottom: 10px;
    margin-right: 10px;
  }
  #Kaisan .info p {
    font-size: 13px;
    line-height: 25px;
  }
  #Kaisan .info p.big {
    font-size: 14px;
    line-height: 26px;
  }
  #Kaisan .info .present {
    display: block;
  }
  #Kaisan .info .listup {
    display: block;
    padding: 20px 10px;
    box-sizing: border-box;
  }
  #Kaisan .info .listup .head {
    width: 100%;
    padding-top: 30px;
    border: 5px solid #542C0B;
    border-bottom: 0;
  }
  #Kaisan .info .listup .head article {
    text-align: center;
  }
  #Kaisan .info .listup .head article img {
    width: 150px;
    height: auto;
  }
  #Kaisan .info .listup .poster {
    width: 100%;
  }
  #Kaisan .info .listup .poster .inpos {
    width: 100%;
    display: flex;
  }
  #Kaisan .info .listup .poster .inpos:last-of-type article {
    border-bottom: 5px solid #542C0B;
  }
  #Kaisan .info .listup .poster article {
    width: 50%;
    border-top: 5px solid #542C0B;
    border-left: 5px solid #542C0B;
    border-bottom: 0;
  }
  #Kaisan .info .listup .poster article:nth-of-type(2n) {
    border-right: 5px solid #542C0B;
    border-bottom: 0;
  }
  #Kaisan .rule {
    padding: 0 10px;
  }
}
/*とようらSUPフェスページ専用CSS*/
#Sup {
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
#Sup div {
  box-sizing: border-box;
}
#Sup .center {
  text-align: center;
}
#Sup .main h1 picture, #Sup .main h1 img {
  width: 100%;
  height: auto;
}
#Sup .main .ann {
  display: inline-block;
  width: auto;
  min-width: 280px;
  padding: 20px 20px;
  font-size: 21px;
  font-weight: bold;
  background-color: white;
}
#Sup .entry_bnr {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 0 0;
  text-align: center;
}
#Sup .entry_bnr .note {
  font-size: 1.1rem;
  margin: 1rem 0;
}
#Sup .entry_bnr .note span {
  font-size: 1rem;
}
#Sup .entry_bnr .note a {
  padding: 0;
  border-bottom: 1px solid #5a3c1e;
}
#Sup .entry_bnr .note a:hover {
  border-bottom: 0;
}
#Sup .entry_bnr a {
  padding: 15px 0;
}
#Sup .rule {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 10px 0;
}
#Sup .rule .ttl {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
#Sup .rule .desc {
  font-size: 1.1rem;
}
#Sup .rule p {
  margin-bottom: 1rem;
}
#Sup .rule a {
  border-bottom: 1px solid;
  transition-duration: 0.2s;
}
#Sup .rule a:hover {
  border-bottom: 0;
}
#Sup .rule table {
  margin: 30px auto;
  width: 100%;
  max-width: 600px;
}
#Sup .rule td:first-child {
  width: 100px;
  background-color: rgba(240, 240, 240, 0.6);
}
#Sup .rule .contact {
  margin-bottom: 30px;
}
#Sup .rule .contact .box {
  width: 50%;
  margin: 15px;
}
#Sup .intro {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 60px;
}
#Sup .intro .ttl {
  margin-bottom: 2rem;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
#Sup .intro .timetable picture, #Sup .intro .timetable img {
  max-width: 1000px;
}
#Sup .intro .ph {
  text-align: center;
}
#Sup .intro .ph img {
  max-width: 100%;
}
#Sup .intro .flex {
  justify-content: center;
}
#Sup .intro .flex .box {
  width: 30%;
}
#Sup section .box {
  margin: 1rem;
  padding: 20px;
  border-radius: 20px;
  background-color: white;
}
#Sup section .box .head {
  font-size: 1.1rem;
  font-weight: bold;
}
#Sup section .box .tel {
  font-size: 1.4rem;
  font-weight: bold;
  border: 0;
}
#Sup section .box .note {
  font-size: 0.85rem;
}
#Sup .flex {
  display: flex;
  justify-content: space-between;
}
#Sup .tg {
  border-collapse: collapse;
  border-spacing: 0;
}
#Sup .tg td {
  font-family: Arial, sans-serif;
  font-size: 14px;
  padding: 5px 5px;
  border-style: solid;
  border-width: 1px;
  overflow: hidden;
  word-break: normal;
  border-color: black;
}
#Sup .tg th {
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: normal;
  padding: 5px 5px;
  border-style: solid;
  border-width: 1px;
  overflow: hidden;
  word-break: normal;
  border-color: black;
}
#Sup .tg .tg-0pky {
  border-color: inherit;
  text-align: left;
  vertical-align: middle;
}
#Sup .tg .tg-0lax {
  text-align: left;
  vertical-align: middle;
}
#Sup .sns {
  width: 100%;
  max-width: 800px;
  margin: 30px auto;
}
#Sup .sns .fb {
  width: 100%;
  max-width: 500px;
  margin: 0 auto 30px;
  padding: 15px;
}
#Sup .sns .fb .fb-page,
#Sup .sns .fb .fb-page span,
#Sup .sns .fb .fb-page iframe {
  width: 100% !important;
}
#Sup .faq {
  margin-bottom: 30px;
}
#Sup .faq li {
  margin-bottom: 1rem;
  background-color: white;
  border-radius: 20px;
  padding: 20px 20px 10px;
}
#Sup .faq li p {
  margin-bottom: 10px;
}
#Sup .faq li .q {
  padding-left: 30px;
  position: relative;
  font-size: 1.1rem;
  font-weight: bold;
}
#Sup .faq li .q::before {
  position: absolute;
  top: 8px;
  left: 0;
  content: "Q.";
  color: #64a064;
  font-size: 20px;
  line-height: 1.1rem;
}
#Sup .faq li .a {
  padding-left: 30px;
  position: relative;
}
#Sup .faq li .a::before {
  position: absolute;
  top: 4px;
  left: 0;
  content: "A.";
  color: orangered;
  font-size: 20px;
  line-height: 1rem;
}
#Sup .fbtl {
  max-width: 480px;
  width: 100%;
  margin: 0 auto;
}
#Sup .fbtl .fb_iframe_widget span {
  padding-top: 0 !important;
}
#Sup h3 {
  text-align: center;
  font-size: 1.6rem;
}
#Sup h4 {
  margin-bottom: 30px;
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
}
#Sup .entry {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  padding: 30px 1rem 100px;
}
#Sup .entry p:not(.note) {
  width: 100%;
  max-width: 500px;
  margin: 1em auto;
  font-size: 110%;
  text-align: center;
}
#Sup .mw_wp_form_confirm .rule {
  display: none !important;
}

/* #Wsc .main h2 {
  position: absolute;
  top: 25%;
  right: 6%;
  width: 25%;
  z-index: 9;
} */
/* #Wsc .rule img {
  width: 100%;
  max-width: 1000px;
  height: auto;
} */
#SupEntry {
  background-color: white;
  width: 100%;
}
#SupEntry th, #SupEntry td {
  border-collapse: collapse;
  border: 1px solid #333;
}
#SupEntry th {
  width: 30%;
  padding: 10px;
  font-size: 110%;
  vertical-align: middle;
}
#SupEntry th .red {
  color: red;
  font-size: 0.8rem;
}
#SupEntry td {
  width: 70%;
  padding: 10px;
  vertical-align: top;
}
#SupEntry td input {
  padding: 3px;
  max-width: 99%;
}
#SupEntry td input.age {
  width: 10% !important;
}
#SupEntry td .mwform-radio-field {
  margin-bottom: 15px;
}
#SupEntry td .mwform-tel-field input[type=text], #SupEntry td .mwform-zip-field input[type=text] {
  margin-bottom: 5px;
}
#SupEntry td li {
  list-style-type: disc;
  margin-left: 1rem;
  line-height: 1.1rem;
  margin-bottom: 0.5rem;
}

/*--------------------------------------------------------------------------
   レスポンシブ（640px以下)
---------------------------------------------------------------------------*/
@media screen and (max-width: 640px) {
  #Sup .entry_bnr {
    margin-bottom: 30px;
    padding: 0 1rem;
  }
  #Sup .entry_bnr .note {
    font-size: inherit;
    margin: 1rem 0;
  }
  #Sup .entry_bnr .note span {
    font-size: 0.9rem;
  }
  #Sup .flex {
    display: block;
  }
  #Sup section .box {
    width: 100% !important;
    margin: 15px 0 !important;
  }
  #Sup .intro {
    padding: 0 1rem;
  }
  #Sup .rule {
    padding: 0 1rem;
  }
  #Sup .rule .desc {
    font-size: inherit;
  }
  #Sup .rule .ttl {
    margin-bottom: 1rem;
    font-size: 1.2rem;
    line-height: 2rem;
  }
  #SupEntry th, #SupEntry td {
    width: auto;
    display: block;
    text-align: left;
  }
  #SupEntry th {
    padding-bottom: 0;
    box-sizing: border-box;
    border-bottom: 0px solid white;
  }
  #SupEntry td {
    box-sizing: border-box;
    border-top: 0px solid white;
  }
  #SupEntry td input[type=text], #SupEntry td input[type=email] {
    padding: 3px;
    width: 99%;
  }
  #SupEntry td textarea {
    width: 100%;
  }
  #SupEntry td .mwform-checkbox-field {
    display: block;
    margin-left: 0 !important;
  }
  #SupEntry td .mwform-zip-field input {
    width: 30% !important;
    margin-bottom: 3px;
  }
  #SupEntry td .mwform-tel-field input {
    width: 20% !important;
    margin-bottom: 3px;
  }
  #SupEntry td .note {
    font-size: 13px;
    line-height: 20px;
    text-align: left;
  }
}
/*--------------------------------------------------------------------------
   en quete用
---------------------------------------------------------------------------*/
.enquete {
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
  padding: 1rem 10px 50px;
  box-sizing: border-box;
}
.enquete h2 {
  font-size: 1.2rem;
  padding-left: 10px;
  border-left: 5px solid #64a064;
  margin-bottom: 10px;
}
.enquete table {
  width: 100%;
}
.enquete tr {
  display: block;
  margin-bottom: 10px;
  padding: 10px;
  background-color: white;
  border-radius: 10px;
  box-sizing: border-box;
}
.enquete th, .enquete td {
  display: block;
  width: 100%;
  padding: 5px 10px;
  box-sizing: border-box;
  text-align: left;
}
.enquete th hr, .enquete td hr {
  margin: 10px 0;
  border-top: 1px solid #64a064;
}
.enquete th span {
  display: block;
  font-size: 1.1rem;
  color: green;
  font-weight: bold;
}
.enquete input {
  padding: 2px 5px;
}
.enquete .mwform-radio-field input {
  margin-right: 2px;
}
.enquete p.center {
  padding: 1rem 0;
  text-align: center;
}
