@charset 'utf-8';

/* reset
------------------------------------------------ */
body,div,pre,p,a,img,form,fieldset,input,textarea,select,option,
dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,table,th,td,embed,object,
figure,figcaption {
  margin: 0;
  padding: 0;
}
html { height: 100vh; font-size: 62.5%; }
body {
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'MS P Gothic', Osaka, Arial, Helvetica, Verdana, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
  color: #534741;
}

*,
*:before,
*:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; letter-spacing: 0.02em; }

ul,ol { list-style: none; }
img { width: auto; height: auto; max-width: 100%; border: none; vertical-align: top; }
picture { display: block; position: relative; width: 100%; }
.object-fit-img { width: 100%; height: 100%; max-width: inherit; object-fit: cover; font-family: 'object-fit: cover;'; }
a { text-decoration: none; color: #534741; }
.device-click a { transition: 0.4s ease; }
.device-click a:hover { opacity: 0.8; }

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

@media screen and (min-width: 769px) {
  *,
  *:before,
  *:after { letter-spacing: 0.08em; }
  .visible-sp { display: none !important; }
  .visible-pc { display: inherit !important; }
}

/* clearfix
------------------------------------------------ */
.clearfix { clear: both; }
.clearfix:before,.clearfix:after { content: ' '; display: table; }
.clearfix:after { clear: both; }

/* header
------------------------------------------------ */
.exhibition-hd { position: relative; padding: 20px 0; }
.exhibition-hd-logo { margin: 0 auto; }
.exhibition-hd-logo.standard { width: 200px; }
.exhibition-hd-logo img { width: 100%; max-width: inherit; }
.exhibition-hd-title { text-align: center; font-size: 1.8rem; }

@media screen and (min-width: 769px) {
  .exhibition-hd { padding: 30px 0; }
  .exhibition-hd-logo.standard { width: 260px; }
  .exhibition-hd-title { font-size: 2.4rem; }
}

/* main
------------------------------------------------ */
.exhibition-main { display: block; position: relative; padding: 40px 0; width: 100%; }

@media screen and (min-width: 769px) {
  .exhibition-main { padding: 100px 0; }
}

/* content
------------------------------------------------ */
.exhibition-content { position: relative; }

@media screen and (max-width: 768px) {
  .exhibition-content { margin: 0 20px; }
}

@media screen and (min-width: 769px) {
  .exhibition-content { margin: 0 auto; padding: 0 20px; max-width: 1040px; }
}

/* post
------------------------------------------------ */
.exhibition-post { position: relative; }
.exhibition-post-hd { position: relative; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid #ccc; }
.exhibition-post-title { text-align: center; font-size: 1.8rem; font-weight: 700; line-height: 1.4; }
.exhibition-post-title + .exhibition-post-introduction { margin-top: 20px; }
.exhibition-post-introduction { font-size: 1.6rem; line-height: 1.6; }
.exhibition-post-content { font-size: 1.8rem; line-height: 1.8; }
.exhibition-post-content .required { display: inline-block; margin: 2px 6px 0 0; padding: 2px 4px; background-color: #e53935; border-radius: 4px; vertical-align: top; font-size: 1rem; color: #fff; }
.exhibition-post-content p + p { margin-top: 1.8em; }
.exhibition-post-content h2 { font-size: 1.8rem; }
.exhibition-post-content form[name='form1'] { display: block; width: 100%; }
.exhibition-post-content form[name='form1'] h1 { display: none; font-size: 1.8rem; font-weight: 700; line-height: 1.4; }
.exhibition-post-content form[name='form1'] h1 + p { display: none; margin: 20px 0; padding-bottom: 20px; border-bottom: 1px solid #ccc; font-weight: 400; }

.exhibition-post-content.is-show-title form[name='form1'] h1 { display: block; }
.exhibition-post-content.is-show-introduction form[name='form1'] h1 + p { display: block; }

.exhibition-post-content form[name='form1'] h2 { margin: 40px 0 20px; font-size: 1.8rem; font-weight: 700; }
.exhibition-post-content form[name='form1'] p { font-weight: 700; }
.exhibition-post-content form[name='form1'] p.f-w-normal { font-weight: 400; }
.exhibition-post-content form[name='form1'] p.separate-title { margin: 20px 0 10px; font-size: 1.6rem; font-weight: 700; }
.exhibition-post-content form[name='form1'] p.p-label { display: flex; flex-flow: row-reverse; justify-content: flex-end; align-items: center; margin: 20px 0 10px; font-weight: 700; }
.exhibition-post-content form[name='form1'] p.p-label .required { margin: 0 0 0 6px; }
.exhibition-post-content form[name='form1'] p + p { margin-top: 1em; }
.exhibition-post-content form[name='form1'] input,
.exhibition-post-content form[name='form1'] select,
.exhibition-post-content form[name='form1'] textarea,
.exhibition-post-content form[name='form1'] button { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; }
.exhibition-post-content form[name='form1'] input[type='text'],
.exhibition-post-content form[name='form1'] input[type='email'],
.exhibition-post-content form[name='form1'] input[type='tel'],
.exhibition-post-content form[name='form1'] input[type='number'],
.exhibition-post-content form[name='form1'] select,
.exhibition-post-content form[name='form1'] textarea,
.exhibition-post-content form[name='form1'] button { margin-top: 6px; margin-bottom: 12px; padding: 8px; font-family: inherit; font-size: 1.6rem; color: #534741; }
.exhibition-post-content form[name='form1'] input[type='text'],
.exhibition-post-content form[name='form1'] input[type='email'],
.exhibition-post-content form[name='form1'] input[type='tel'],
.exhibition-post-content form[name='form1'] input[type='number'],
.exhibition-post-content form[name='form1'] select,
.exhibition-post-content form[name='form1'] textarea { width: 100%; background-color: #fff; border: 1px solid #cfcfcf; border-radius: 8px; }
.exhibition-post-content form[name='form1'] input[type='text']:disabled,
.exhibition-post-content form[name='form1'] input[type='email']:disabled,
.exhibition-post-content form[name='form1'] input[type='tel']:disabled,
.exhibition-post-content form[name='form1'] input[type='number']:disabled,
.exhibition-post-content form[name='form1'] select:disabled,
.exhibition-post-content form[name='form1'] textarea:disabled { background-color: #efefef; border-color: #999; color: #666; opacity: 1; }
.exhibition-post-content form[name='form1'] input[name$='sei'],
.exhibition-post-content form[name='form1'] input[name$='mei'] { width: 34%; }
.exhibition-post-content form[name='form1'] input[name$='sei'] { margin: 0 10px; }
.exhibition-post-content form[name='form1'] input[name$='mei'] { margin-left: 10px; }
.exhibition-post-content form[name='form1'] input[maxlength='3'] { margin: 0 10px; width: 28%; }
.exhibition-post-content form[name='form1'] input[maxlength='4'] { margin-left: 10px; width: 42%; }
.exhibition-post-content form[name='form1'] input[maxlength='7'] { margin-left: 10px; width: 60%; }
.exhibition-post-content form[name='form1'] input[type='checkbox'] { margin-right: 6px; }
.exhibition-post-content form[name='form1'] input.datepicker { width: 42%; }
.exhibition-post-content form[name='form1'] select { min-width: 40%; width: auto; }
.exhibition-post-content form[name='form1'] .form-group { margin-bottom: 40px; }
.exhibition-post-content form[name='form1'] .form-datepicker { margin-bottom: 10px; }
.exhibition-post-content form[name='form1'] .form-check { padding-left: 0; }
.exhibition-post-content form[name='form1'] .form-check + .form-check { margin-top: 8px; }
.exhibition-post-content form[name='form1'] .form-check label { display: flex; align-items: center; position: relative; padding: 6px 8px; background: none; border: 1px solid #cfcfcf; border-radius: 8px; cursor: pointer; }
.exhibition-post-content form[name='form1'] .form-check input { width: 22px; height: 22px; border: 2px solid rgba(0,0,0,0.25); border-radius: 50%; }
.exhibition-post-content form[name='form1'] .form-check span { position: relative; margin-left: 8px; width: calc(100% - 30px); font-size: 1.6rem; }
.exhibition-post-content form[name='form1'] .form-check input:checked { background-color: #1e88e5; border-color: #1e88e5; }
.exhibition-post-content form[name='form1'] .form-check input:checked + span::before { content: ''; position: absolute; top: 50%; left: -24px; margin-top: -5px; width: 10px; height: 10px; background-color: #fff; border-radius: 50%; }
.exhibition-post-content form[name='form1'] .form-check input:disabled + span { position: unset; }
.exhibition-post-content form[name='form1'] .form-check input:disabled + span::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #efefef; z-index: -1; }
.exhibition-post-content form[name='form1'] .form-check input[type='checkbox'] { border-radius: 4px; }
.exhibition-post-content form[name='form1'] .form-check input[type='checkbox']:checked + span::before { left: -31px; margin-top: -6px; transform: rotate(-45deg); width: 12px; height: 8px; background: none; border-bottom: 2px solid #fff; border-left: 2px solid #fff; border-radius: 0; }
.exhibition-post-content form[name='form1'] input[type='submit'] { display: block; padding: 16px; width: 100%; text-align: center; padding: 0.8em; background-color: #1e88e5; border: 1px solid #1e88e5; border-radius: 8px; font-family: inherit; font-size: 1.8rem; color: #fff; cursor: pointer; }
.exhibition-post-content form[name='form1'] input[type='submit']:disabled { background-color: #efefef; border-color: #999; color: #666; }
.exhibition-post-content form[name='form1'] .uniqid-error { display: inline-block; padding-bottom: 10px; vertical-align: top; color: #c00; }
.exhibition-post-content form[name='form1'] .uniqid-error.hidden { display: none; }
.exhibition-post-content form[name='form1'] .uniqid-button { display: block; width: 100%; text-align: center; cursor: pointer; }
.exhibition-post-content form[name='form1'] .uniqid-button-confirm { margin-bottom: 40px; padding: 16px; background-color: #e6af38; border: 1px solid #e6af38; border-radius: 8px; color: #fff; }

.exhibition-back { margin-top: 20px; text-align: center; font-size: 1.6rem; line-height: 1.2; }
.exhibition-back > a { display: block; margin: 0 auto; padding: 20px 10px; max-width: 300px; background-color: #c90; color: #fff; }

.exhibition-form-ssl { margin-top: 40px; text-align: center; }
.exhibition-form-ssl > span { display: inline-flex; align-items: center; padding: 10px 16px; background-color: #fff; border: 1px solid #090; vertical-align: top; font-size: 1.2rem; line-height: 1.2; color: #090; }
.exhibition-form-ssl > span::before { content: ''; display: block; margin-right: 14px; width: 30px; height: 43px; background: url(../img/icon_lock1.svg) no-repeat center center; background-size: 100% 100%; }

.datepicker { font-size: 1.6rem !important; }
.dropdown-menu { min-width: 24rem !important; }
.datepicker table { width: 100%; }
.datepicker td,
.datepicker th { width: 28px !important; height: 28px !important; }
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover { color: #eee !important; }

@media screen and (max-width: 768px) {
  .exhibition-post-content form[name='form1'] p.f-w-normal { font-size: 1.4rem; }
}

@media screen and (min-width: 769px) {
  .exhibition-post-hd { margin-bottom: 30px; padding-bottom: 30px; }
  .exhibition-post-title { font-size: 2.6rem; }
  .exhibition-post-introduction { margin: 0 auto; max-width: 600px; font-size: 1.6rem; }
  .exhibition-post-title + .exhibition-post-introduction { margin-top: 30px; }
  .exhibition-post-content { font-size: 1.8rem; }
  .exhibition-post-content h2 { font-size: 2.2rem; }
  .exhibition-post-content .required { margin: 5px 8px 0 0; }
  .exhibition-post-content form[name='form1'] h2 { font-size: 2rem; }
  .exhibition-post-content form[name='form1'] { margin: 0 auto; max-width: 600px; }
  .exhibition-post-content form[name='form1'] h1 { margin-bottom: 40px; font-size: 2.4rem; }
  .exhibition-post-content form[name='form1'] h1 + p { margin: 30px 0; padding-bottom: 30px; font-size: 1.6rem; }
  .exhibition-post-content form[name='form1'] p.f-w-normal { font-size: 1.6rem; }
  .exhibition-post-content form[name='form1'] p.separate-title { font-size: 1.8rem; }
  .exhibition-post-content form[name='form1'] p.p-label { margin: 40px 0 10px; }
  .exhibition-post-content form[name='form1'] p.p-label .required { margin-left: 8px; }
  .exhibition-post-content form[name='form1'] input[type='text'],
  .exhibition-post-content form[name='form1'] input[type='email'],
  .exhibition-post-content form[name='form1'] input[type='tel'],
  .exhibition-post-content form[name='form1'] input[type='number'],
  .exhibition-post-content form[name='form1'] select,
  .exhibition-post-content form[name='form1'] textarea,
  .exhibition-post-content form[name='form1'] button { margin-top: 10px; margin-bottom: 20px; font-size: 1.6rem; }
  .exhibition-post-content form[name='form1'] input[name$='sei'],
  .exhibition-post-content form[name='form1'] input[name$='mei'] { width: 32%; }
  .exhibition-post-content form[name='form1'] input[maxlength='3'] { width: 20%; }
  .exhibition-post-content form[name='form1'] input[maxlength='4'] { width: 30%; }
  .exhibition-post-content form[name='form1'] input[maxlength='7'] { width: 50%; }
  .exhibition-post-content form[name='form1'] input.datepicker { width: 30%; }
  .exhibition-post-content form[name='form1'] select { min-width: 30%; width: auto; }
  .exhibition-form-ssl > span { padding: 10px 20px; font-size: 1.6rem; }
  .exhibition-form-ssl > span::before { margin-right: 20px; width: 40px; height: 58px; }
  .exhibition-post-additional { margin: 40px auto 0; max-width: 600px; font-size: 1.4rem; }
}

/* footer
------------------------------------------------ */
.exhibition-ft { position: relative; padding: 20px 0; border-top: 1px solid #333; }
.exhibition-ft-logo { margin: 0 auto; width: 200px; }
.exhibition-ft-logo img { width: 100%; max-width: inherit; }
.exhibition-ft-copyright { margin-top: 15px; text-align: center; font-size: 1rem; line-height: 1.2; }
.exhibition-ft-copyright > small { font-size: inherit; }

@media screen and (min-width: 769px) {
  .exhibition-ft { padding: 30px 0; }
  .exhibition-ft-logo { width: 300px; }
  .exhibition-ft-copyright { margin-top: 30px; font-size: 1.4rem; }
}