@charset 'UTF-8';
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */

  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  min-width: 1120px;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  margin: .67em 0;
  font-size: 2em;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
          text-decoration: underline;
          text-decoration: underline dotted;
  /* 2 */

  -webkit-text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b, strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code, kbd, samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub, sup {
  position: relative;
  line-height: 0;
  vertical-align: baseline;
  font-size: 75%;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button, input, optgroup, select, textarea {
  /* 1 */
  margin: 0;
  /* 1 */
  line-height: 1.15;
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button, input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button, select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button, [type='button'], [type='reset'], [type='submit'] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring, [type='button']:-moz-focusring, [type='reset']:-moz-focusring, [type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: .35em .75em .625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  /* 2 */
  display: table;
  box-sizing: border-box;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
  color: inherit;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type='checkbox'], [type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button, [type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

.bmod_box_detail_02 .info::after, .bmod_comp_result_01 .info::after {
  content: '';
  display: block;
  clear: both;
}

[id^='str_'] > [class^='bmod_']:last-child, [class^='bmod_'] > [class^='bmod_']:last-child, .dmc_contents > [class^='bmod_']:last-child, [id^='str_'] > [class^='tmod_']:last-child, [class^='bmod_'] > [class^='tmod_']:last-child, .dmc_contents > [class^='tmod_']:last-child, [id^='str_'] > [class^='fmod_']:last-child, [class^='bmod_'] > [class^='fmod_']:last-child, .dmc_contents > [class^='fmod_']:last-child, [class^='bmod_tbl_'] td > [class^='bmod_']:last-child, [class^='bmod_tbl_'] td > [class^='tmod_']:last-child, [class^='bmod_tbl_'] td > [class^='fmod_']:last-child, .fmod_radio_01 .dmc_txt > [class^='bmod_']:last-child, .fmod_radio_01 .dmc_txt > [class^='tmod_']:last-child {
  margin-bottom: 0;
}

/* base */
html {
  font-size: 62.5%;
}

body {
  background: #f7f7f7;
  line-height: 1.5;
  letter-spacing: .005em;
  font-family: 'Open Sans', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', sans-serif;
  font-size: 1.4rem;
  color: #000;
}

@media only screen and (max-width: 768px) {
  body {
    min-width: 0;
  }
}

*, *::before, *::after {
  box-sizing: border-box;
}

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

dl, dt, dd {
  padding: 0;
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  padding: 0;
  margin: 0;
  font-size: 1.4rem;
  font-weight: normal;
}

p {
  padding: 0;
  margin: 0;
}

figure {
  margin: 0;
}

img {
  border: 0;
  outline: 0;
  vertical-align: bottom;
}

strong {
  font-weight: bold;
}

em {
  font-style: normal;
  font-weight: bold;
}

button {
  padding: 0;
  margin: 0;
  background: transparent;
  border: none;
  cursor: pointer;
  line-height: inherit;
  color: inherit;
}

button:active {
  outline: none;
}

button, input, optgroup, select, textarea {
  font-family: 'Open Sans', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', sans-serif !important;
}

button[disabled] {
  cursor: default;
}

/* header */
#str_header {
  margin-bottom: 24px;
  background: #333;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  #str_header {
    margin-bottom: 16px;
  }
}

#str_header .dmc_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1280px;
  padding: 0 40px;
  margin: auto;
}

@media only screen and (max-width: 768px) {
  #str_header .dmc_inner {
    padding: 0 16px;
  }
}

@media only screen and (max-width: 768px) {
  #str_header .dmc_inner {
    padding: 0;
  }
}

#str_header .site_title {
  margin: 16px 0;
}

@media only screen and (max-width: 768px) {
  #str_header .site_title {
    margin: 12px 0 12px 12px;
  }
}

#str_header .site_title a {
  display: block;
  width: 180px;
  height: 48px;
  overflow: hidden;
  background-image: url('../images/site_logo_pc.png');
  background-size: 180px 48px;
  text-indent: 100%;
  white-space: nowrap;
}

#str_header .site_title .logo {
  display: block;
  width: 180px;
  height: 48px;
  overflow: hidden;
  background-image: url('../images/site_logo_pc.png');
  background-size: 180px 48px;
}

@media only screen and (max-width: 768px) {
  #str_header .site_title a {
    width: 105px;
    height: 28px;
    background-image: url('../images/site_logo_pc.png');
    background-size: 105px 28px;
  }

  #str_header .site_title .logo {
    width: 105px;
    height: 28px;
    background-image: url('../images/site_logo_pc.png');
    background-size: 105px 28px;
  }
}

#str_header .user_nav {
  display: flex;
}

#str_header .user_nav > li {
  margin-right: 28px;
}

@media only screen and (max-width: 768px) {
  #str_header .user_nav > li {
    margin-right: 0;
  }
}

#str_header .user_nav > li:last-child {
  margin-right: 0;
}

#str_header .user_nav > li a {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  #str_header .user_nav > li a {
    display: table-cell;
    width: 52px;
    height: 52px;
    text-align: center;
    vertical-align: middle;
    font-size: 1rem;
  }
}

#str_header .user_nav > li a::before {
  content: '';
  display: inline-block;
  margin-right: 9px;
  margin-bottom: -2px;
}

@media only screen and (max-width: 768px) {
  #str_header .user_nav > li a::before {
    display: block;
    margin: auto;
  }
}

#str_header .user_nav > li._entry a::before {
  width: 16px;
  height: 18px;
  background-image: url(/common/images/sprite.png);
  background-position: -104px -54px;
  background-size: 122px 88px;
}

#str_header .user_nav > li._mypage a::before {
  width: 18px;
  height: 18px;
  background-image: url(/common/images/sprite.png);
  background-position: -104px -36px;
  background-size: 122px 88px;
}

#str_header .user_nav > li._login a::before {
  width: 20px;
  height: 18px;
  background-image: url(/common/images/sprite.png);
  background-position: -55px -41px;
  background-size: 122px 88px;
}

#str_header .user_nav > li._logout a::before {
  width: 18px;
  height: 18px;
  background-image: url(/common/images/sprite.png);
  background-position: -104px -18px;
  background-size: 122px 88px;
}

/* bc navi */
#str_bcnav {
  margin-top: -24px;
  margin-bottom: 45px;
  background-color: #ebebeb;
}

@media only screen and (max-width: 768px) {
  #str_bcnav {
    display: none;
  }
}

#str_bcnav ul {
  width: 100%;
  max-width: 1280px;
  padding: 0 40px;
  padding-top: 12px;
  padding-bottom: 12px;
  margin: auto;
}

@media only screen and (max-width: 768px) {
  #str_bcnav ul {
    padding: 0 16px;
  }
}

#str_bcnav ul > li {
  display: inline;
  letter-spacing: -.05em;
}

#str_bcnav ul > li > a[href] {
  text-decoration: none;
}

@media only screen and (min-width: 767px) {
  #str_bcnav ul > li > a[href]:hover, #str_bcnav ul > li > a[href]:focus, #str_bcnav ul > li > a[href]:active {
    text-decoration: underline;
  }
}

#str_bcnav ul > li > a[href]::after {
  content: '';
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-left: 9px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  -webkit-transform: rotate(45deg) skew(-15deg, -15deg) translate(-2px);
          transform: rotate(45deg) skew(-15deg, -15deg) translate(-2px);
}

/* local navi */
.str_localnav {
  display: flex;
  padding: 24px 90px;
  margin-bottom: 40px;
  background-color: #e3e3e3;
}

@media only screen and (max-width: 768px) {
  .str_localnav {
    flex-wrap: wrap;
    padding: 12px 40px;
  }
}

.str_localnav > li {
  display: flex;
  flex-basis: 100%;
  margin-right: 40px;
}

@media only screen and (max-width: 768px) {
  .str_localnav > li {
    flex-shrink: 1;
    margin-right: 0;
    margin-bottom: 8px;
  }
}

.str_localnav > li:last-child {
  margin-right: 0;
}

.str_localnav > li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 12px;
  background-color: #666;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2);
  text-align: center;
  font-weight: bold;
  color: #fff;
}

.str_localnav > li a[href] {
  background-color: #fff;
  color: #000;
}

@media only screen and (min-width: 767px) {
  .str_localnav > li a[href]:hover, .str_localnav > li a[href]:focus, .str_localnav > li a[href]:active {
    opacity: .7;
    text-decoration: none;
  }
}

/* to calendar */
#toCalendar {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1;
}

@media only screen and (max-width: 768px) {
  #toCalendar {
    bottom: 20px;
  }
}

#toCalendar a {
  display: block;
  position: relative;
  width: 44px;
  height: 44px;
  overflow: hidden;
  background-color: #666;
  border-radius: 50%;
  text-indent: 100%;
  white-space: nowrap;
}

@media only screen and (min-width: 767px) {
  #toCalendar a:hover, #toCalendar a:focus, #toCalendar a:active {
    opacity: .7;
  }
}

#toCalendar a::after {
  content: '';
  display: block;
  position: absolute;
  left: 50%;
  width: 20px;
  height: 20px;
  margin-top: -5px;
  margin-left: -10px;
  background-image: url(/common/images/sprite.png);
  background-position: -84px 0;
  background-size: 122px 88px;
}

#toCalendar a::before {
  content: '';
  display: block;
  position: absolute;
  top: 8px;
  left: 50%;
  width: 9px;
  height: 9px;
  margin-left: -5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

/* footer */
#str_footer {
  position: relative;
  background-color: #ebebeb;
}

#str_footer #toTop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1;
}

@media only screen and (max-width: 768px) {
  #str_footer #toTop {
    bottom: 20px;
  }
}

#str_footer #toTop a {
  display: block;
  position: relative;
  width: 44px;
  height: 44px;
  overflow: hidden;
  background-color: #666;
  border-radius: 50%;
  text-indent: 100%;
  white-space: nowrap;
}

@media only screen and (min-width: 767px) {
  #str_footer #toTop a:hover, #str_footer #toTop a:focus, #str_footer #toTop a:active {
    opacity: .7;
  }
}

#str_footer #toTop a::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 16px;
  height: 16px;
  margin-top: -2px;
  margin-left: -8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

#str_footer .footer_aside {
  /* padding: 39px 30px 35px;*/
  padding: 10px 0px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  #str_footer .footer_aside {
    padding: 14px 16px 12px;
  }
}

#str_footer .footer_aside .hdg {
  margin-bottom: 12px;
  line-height: 1.4;
  font-size: 2rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  #str_footer .footer_aside .hdg {
    font-size: 1.4rem;
  }
}

#str_footer .footer_aside .dmc_info {
  margin-top: -6px;
}

@media only screen and (max-width: 768px) {
  #str_footer .footer_aside .dmc_info {
    margin-top: -11px;
  }
}

#str_footer .footer_aside .dmc_info .tel {
  margin-bottom: 10px;
  line-height: 1.0625;
  letter-spacing: .03em;
  font-size: 2rem;
}

@media only screen and (max-width: 768px) {
  #str_footer .footer_aside .dmc_info .tel {
    margin-bottom: 5px;
  }
}

#str_footer .footer_aside .dmc_info .tel a {
  color: #000;
}

#str_footer .footer_nav {
  padding: 15px;
  background-color: #e3e3e3;
  text-align: center;
  font-size: 13px;
}

#str_footer .footer_nav > li {
  display: inline-block;
  margin-right: 12px;
  margin-left: 12px;
}

@media only screen and (max-width: 768px) {
  #str_footer .footer_nav > li {
    display: block;
    margin-bottom: 13px;
  }
}

@media only screen and (max-width: 768px) {
  #str_footer .footer_nav > li:last-child {
    margin-bottom: 0;
  }
}

#str_footer .footer_nav > li a {
  color: #333;
}

/* str_copyright */
#str_copyright {
  padding: 6px 16px;
  background: #cecece;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  #str_copyright {
    padding: 9px 16px;
  }
}

#str_copyright small {
  line-height: 1.35714;
  letter-spacing: 0;
  /*font-size: 1.4rem;*/
  font-size: 80%;
}

@media only screen and (max-width: 768px) {
  #str_copyright small {
    font-size: 1.2rem;
  }
}

/* structure */
#str_content {
  width: 100%;
  max-width: 1280px;
  padding: 0 40px;
  padding-bottom: 64px;
  margin: auto;
}

@media only screen and (max-width: 768px) {
  #str_content {
    padding: 0 16px;
  }
}

@media only screen and (max-width: 768px) {
  #str_content {
    width: 100%;
    padding: 0 10px 40px;
  }
}

/* str_main */
/* dmc_contents */
#str_main > [class^='bmod_']:last-child {
  margin-bottom: 24px;
}

[class^='bmod_'] {
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  [class^='bmod_'] {
    margin-bottom: 24px;
  }
}

[class^='tmod_'] {
  margin-bottom: 18px;
}

@media only screen and (max-width: 768px) {
  [class^='tmod_'] {
    margin-bottom: 12px;
  }
}

[class^='tmod_'] [class^='imod_']:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  [class^='fmod_'] {
    margin-bottom: 24px;
  }
}

/* text */
.tmod_txt_01 {
  margin-bottom: 18px;
}

.imod_strong_01 {
  display: inline-block;
  color: #c63232;
}

.imod_strong_02 {
  display: inline-block;
  font-weight: normal;
  color: #2975cc;
}

.imod_em_01 {
  color: #fff;
}

.imod_lead_01 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
}

.imod_note_01 {
  position: relative;
  padding-left: 12px;
  margin-bottom: 3px;
  font-size: 1.2rem;
}

.imod_note_01 .mark {
  position: absolute;
  top: 0;
  left: 0;
}

.imod_note_01 .mark._strong {
  color: #c63232;
}

.bmod_alert_01 {
  padding: 13px 12px 11px;
  margin-bottom: 16px;
  background-color: #fff0f1;
  text-align: center;
  font-size: 1.6rem;
}

.bmod_alert_01 strong {
  font-weight: normal;
}

.imod_formtext_01 {
  display: inline-block;
  margin-right: 34px;
  margin-left: 12px;
  font-size: 1.6rem;
  font-weight: bold;
}

.imod_caution_01 {
  margin-bottom: 0;
  text-align: right;
  font-size: 1.6rem;
}

.imod_caution_01 .num {
  display: inline-block;
  margin-right: 4px;
  margin-left: 9px;
  font-size: 2.4rem;
  color: #c63232;
}

/* hedding */
[class^='tmod_hdg_'] {
  font-weight: bold;
}

.dmc_txt > [class^='tmod_hdg_'] {
  margin-top: 0;
}

[class^='bmod_box'] > [class^='bmod_hdg']:first-child {
  margin-top: 0;
}

.tmod_hdg_01 {
  margin-bottom: 52px;
  font-size: 3.6rem;
}

@media only screen and (max-width: 768px) {
  .tmod_hdg_01 {
    margin-bottom: 45px;
    font-size: 2.8rem;
  }
}

.tmod_hdg_01 + .tmod_hdg_05 {
  margin-top: -30px;
}

.tmod_hdg_02 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 3.2rem;
  color: #c63232;
}

@media only screen and (max-width: 768px) {
  .tmod_hdg_02 {
    margin-right: -10px;
    margin-left: -10px;
    font-size: 1.6rem;
  }
}

.tmod_hdg_02 span {
  display: flex;
  /*flex: 1 0 auto;*/
  justify-content: center;
  max-width: 70%;
  white-space: nowrap;
}

.tmod_hdg_02::before, .tmod_hdg_02:after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #c63232;
}

.tmod_hdg_02::before {
  margin-right: 22px;
}

@media only screen and (max-width: 768px) {
  .tmod_hdg_02::before {
    margin-right: 18px;
  }
}

.tmod_hdg_02::after {
  margin-left: 22px;
}

@media only screen and (max-width: 768px) {
  .tmod_hdg_02::after {
    margin-left: 18px;
  }
}

.tmod_hdg_01 + .tmod_hdg_02 {
  margin-top: -15px;
}

.tmod_hdg_03 {
  position: relative;
  padding-left: 20px;
  margin-top: 18px;
  margin-bottom: 18px;
  font-size: 2.4rem;
}

.tmod_hdg_03::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  height: calc(100% - .54em);
  margin: auto;
  background-color: #c63232;
}

.tmod_hdg_04 {
  margin-top: 18px;
  margin-bottom: 18px;
  font-size: 2rem;
}

.tmod_hdg_05 {
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 1.6rem;
}

.tmod_hdg_04 + .tmod_hdg_05 {
  margin-top: -13px;
}

.bmod_hdg_grand {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 23px;
}

@media only screen and (max-width: 768px) {
  .bmod_hdg_grand {
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 33px;
  }
}

.bmod_hdg_grand .hdg {
  flex: 0 0 auto;
  font-size: 4.4rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_hdg_grand .hdg {
    margin-bottom: 27px;
    font-size: 2.8rem;
  }
}

.bmod_hdg_grand .hdg::before {
  content: '';
  display: inline-block;
  margin-right: 16px;
}

.bmod_hdg_grand .hdg._lottery::before {
  width: 40px;
  height: 41px;
  margin-bottom: -2px;
  background-image: url(/common/images/sprite.png);
  background-position: 0 0;
  background-size: 122px 88px;
}

@media only screen and (max-width: 768px) {
  .bmod_hdg_grand .hdg._lottery::before {
    width: 26px;
    height: 27px;
    background-image: url(/common/images/sprite.png);
    background-position: 0 -41px;
    background-size: 122px 88px;
  }
}

.bmod_hdg_grand .hdg._ticket::before {
  width: 44px;
  height: 27px;
  margin-bottom: 6px;
  background-image: url(/common/images/sprite.png);
  background-position: -40px 0;
  background-size: 122px 88px;
}

@media only screen and (max-width: 768px) {
  .bmod_hdg_grand .hdg._ticket::before {
    width: 29px;
    height: 18px;
    margin-bottom: 1px;
    background-image: url(/common/images/sprite.png);
    background-position: -26px -41px;
    background-size: 122px 88px;
  }
}

.bmod_hdg_grand .link_anc {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.bmod_hdg_grand .link_anc > li {
  display: flex;
  align-items: center;
  padding-left: 24px;
}

.bmod_hdg_grand .link_anc > li::after {
  content: '';
  display: inline-block;
  width: 1px;
  height: 1.2em;
  margin-left: 24px;
  background-color: #333;
}

.bmod_hdg_grand .link_anc > li:last-child {
  margin-right: 0;
}

.bmod_hdg_grand .link_anc > li:last-child::after {
  display: none;
}

@media only screen and (max-width: 768px) {
  .bmod_hdg_grand .link_anc > li:last-child::after {
    display: inline-block;
  }
}

.bmod_hdg_grand .link_anc > li a {
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
}

.bmod_hdg_grand .link_anc > li a::before {
  content: '';
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 16px;
  margin-bottom: 4px;
  border-top: 2px solid #c63232;
  border-right: 2px solid #c63232;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}

.performance_list + .bmod_hdg_grand {
  margin-top: 36px;
}

/* burette list */
.tmod_list_01 > li {
  position: relative;
  padding-left: 9px;
  font-size: 1.4rem;
}

.tmod_list_01 > li::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: .6em;
  left: 0;
  width: 2px;
  height: 2px;
  margin-right: 7px;
  margin-bottom: 2px;
  background: #000;
  border-radius: 50%;
}

.tmod_list_01 > li:last-child {
  margin-bottom: 0;
}

/* order list */
.tmod_list_02 > li {
  display: table;
}

.tmod_list_02 > li .num {
  display: table-cell;
  padding-right: 5px;
}

.tmod_list_02 > li .num2 {
  display: table-cell;
  padding-right: 5px;
  min-width: 2.6em;
  white-space: nowrap;
}

.tmod_list_02 > li .txt {
  display: table-cell;
}

/* information list */
.tmod_list_info_01 > li {
  margin-bottom: 9px;
}

.tmod_list_info_01 > li:last-child {
  margin-bottom: 0;
}

.tmod_list_info_01 > li > dl dt, .tmod_list_info_01 > li > dl dd {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: bold;
}

.tmod_list_info_01 > li > dl dt {
  margin-right: 12px;
}

.tmod_list_info_01 > li > dl dd strong {
  font-weight: bold;
}

/* define list */
/* notice list */
.tmod_list_note_01 > li {
  position: relative;
  padding-left: 12px;
  font-size: 1.2rem;
}

.tmod_list_note_01 .mark {
  position: absolute;
  top: 0;
  left: 0;
}

.tmod_list_note_01 .mark._strong {
  color: #c63232;
}

/* bmod_list_step_01 */
.bmod_list_step_01 {
  margin-bottom: 32px;
  border-bottom: 1px solid #ccc;
}

.bmod_list_step_01 > li {
  display: inline-block;
  margin-right: 13px;
  margin-bottom: 16px;
  font-size: 1.6rem;
  font-weight: bold;
  color: #999;
}

@media only screen and (max-width: 768px) {
  .bmod_list_step_01 > li {
    margin-right: 12px;
    margin-bottom: 8px;
  }
}

.bmod_list_step_01 > li::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  margin-bottom: -3px;
  margin-left: 15px;
  border-color: transparent transparent transparent #999;
  border-style: solid;
  border-width: 9px 0 9px 8px;
}

@media only screen and (max-width: 768px) {
  .bmod_list_step_01 > li::after {
    margin-left: 0;
  }
}

.bmod_list_step_01 > li:last-child::after {
  display: none;
}

.bmod_list_step_01 > li .num {
  display: inline-block;
  width: 26px;
  height: 26px;
  padding-top: 1px;
  margin-right: 8px;
  background: #999;
  border-radius: 50%;
  text-align: center;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .bmod_list_step_01 > li .txt {
    display: none;
  }
}

.bmod_list_step_01 > li[aria-current='step'] {
  color: #8a6e1c;
}

.bmod_list_step_01 > li[aria-current='step'] .num {
  background-color: #8a6e1c;
}

[class^='bmod_tbl'] [class^='tmod_list_'] > li {
  margin-bottom: 0;
}

a[href] {
  text-decoration: none;
  word-break: break-all;
  color: #05a;
}

@media only screen and (min-width: 767px) {
  a[href]:hover, a[href]:focus, a[href]:active {
    text-decoration: underline;
  }
}

a[href] .icon {
  display: inline-block;
  height: auto;
  margin-right: 7px;
}

a[href] .icon._blank {
  margin-bottom: 5px;
  margin-left: 7px;
}

a[href] .icon._pdf {
  margin-bottom: 3px;
  margin-left: 6px;
}

/* link */
/* link list */
.tmod_link_list_01._inline li {
  display: inline-block;
}

/* link box */
/* anchor link */
/* link panel */
[class^='bmod_btn_'] a, [class^='bmod_btn_'] button, [class^='imod_btn'] {
  text-decoration: none;
}

@media only screen and (min-width: 767px) {
  [class^='bmod_btn_'] a:hover, [class^='bmod_btn_'] a:focus, [class^='bmod_btn_'] a:active, [class^='bmod_btn_'] button:hover, [class^='bmod_btn_'] button:focus, [class^='bmod_btn_'] button:active, [class^='imod_btn']:hover, [class^='imod_btn']:focus, [class^='imod_btn']:active {
    opacity: .7;
    text-decoration: none;
  }
}

/* button */
.bmod_btn_01 {
  margin-top: 100px;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .bmod_btn_01 {
    margin-top: 24px;
  }
}

.bmod_btn_01 a {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 312px;
  padding: 11px 20px 9px;
  background-color: transition;
  border: solid 2px #000;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
}

@media only screen and (max-width: 768px) {
  .bmod_btn_01 a {
    max-width: 100%;
  }
}

.bmod_btn_01 a::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 6px;
  width: 0;
  height: 0;
  margin-top: -4px;
  border-color: transparent #000 transparent transparent;
  border-style: solid;
  border-width: 4px 6px 4px 0;
}

.bmod_btn_02 {
  text-align: center;
}

.bmod_btn_02 a, .bmod_btn_02 button {
  display: inline-block;
  width: 100%;
  max-width: 314px;
  padding: 12px 20px 10px;
  background-color: #c63232;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2);
  text-align: center;
  font-weight: bold;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .bmod_btn_02 a, .bmod_btn_02 button {
    max-width: 100%;
  }
}

.bmod_btn_02._small {
  margin-bottom: 0;
  text-align: left;
}

.bmod_btn_02._small a, .bmod_btn_02._small button {
  width: auto;
  max-width: 100%;
  padding: 8px 16px 9px;
}

.bmod_btn_02._inline {
  display: inline-block;
  margin-left: 12px;
}

@media only screen and (max-width: 768px) {
  .bmod_btn_02._inline {
    display: block;
    margin-top: -16px;
    margin-left: 0;
  }
}

.bmod_btn_03 {
  margin-top: 64px;
}

@media only screen and (max-width: 768px) {
  .bmod_btn_03 {
    margin-top: 40px;
  }
}

.bmod_btn_03 a, .bmod_btn_03 button {
  display: block;
  width: 100%;
  max-width: 400px;
  padding: 13px 20px 11px;
  margin: auto;
  background-color: #000;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2);
  text-align: center;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: bold;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .bmod_btn_03 a, .bmod_btn_03 button {
    max-width: 100%;
  }
}

@media only screen and (min-width: 767px) {
  .bmod_btn_03 a:hover, .bmod_btn_03 a:focus, .bmod_btn_03 a:active, .bmod_btn_03 button:hover, .bmod_btn_03 button:focus, .bmod_btn_03 button:active {
    opacity: .7;
    text-decoration: none;
  }
}

.bmod_btn_03 button:disabled, .bmod_btn_03 a:not([href]) {
  background-color: #cecece;
  cursor: default;
  pointer-events: none;
  color: #fff;
}

.bmod_btn_03._prev a, .bmod_btn_03._prev button {
  background-color: #cecece;
}

/* button list */
.bmod_btn_list_01 {
  display: flex;
  justify-content: center;
  margin-top: 64px;
}

@media only screen and (max-width: 768px) {
  .bmod_btn_list_01 {
    flex-wrap: wrap;
    margin-top: 40px;
  }
}

.bmod_btn_list_01 > li {
  display: flex;
  flex-basis: 400px;
  margin-right: 16px;
  margin-left: 16px;
}

@media only screen and (max-width: 768px) {
  .bmod_btn_list_01 > li {
    flex-basis: 100%;
    margin-right: 0;
    margin-left: 0;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_btn_list_01 > li:first-child {
    order: 2;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_btn_list_01 > li:last-child {
    order: 1;
    margin-bottom: 8px;
  }
}

.bmod_btn_list_01 > li a, .bmod_btn_list_01 > li button {
  display: block;
  width: 100%;
  max-width: 400px;
  padding: 13px 20px 11px;
  background-color: #fff;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2);
  text-align: center;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: bold;
  color: #000;
}

@media only screen and (max-width: 768px) {
  .bmod_btn_list_01 > li a, .bmod_btn_list_01 > li button {
    max-width: 100%;
  }
}

@media only screen and (min-width: 767px) {
  .bmod_btn_list_01 > li a:hover, .bmod_btn_list_01 > li a:focus, .bmod_btn_list_01 > li a:active, .bmod_btn_list_01 > li button:hover, .bmod_btn_list_01 > li button:focus, .bmod_btn_list_01 > li button:active {
    opacity: .7;
    text-decoration: none;
  }
}

.bmod_btn_list_01 > li a._prev, .bmod_btn_list_01 > li button._prev {
  background-color: #cecece;
}

.bmod_btn_list_01 > li a._next, .bmod_btn_list_01 > li button._next {
  background-color: #000;
  color: #fff;
}

.bmod_btn_list_01 > li button:disabled, .bmod_btn_list_01 > li a:not([href]) {
  background-color: #cecece;
  cursor: default;
  pointer-events: none;
  color: #fff;
}

/* img */
.bmod_img_01 {
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .bmod_img_01 {
    width: 100%;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_img_01 img {
    height: auto;
    max-width: 100%;
  }
}

.bmod_img_01 .caption {
  display: block;
  margin-top: 5px;
  text-align: center;
}

.bmod_img_01._border img {
  border: solid 1px #ccc;
}

.bmod_img_box_01 .col {
  margin-bottom: 20px;
}

.bmod_img_box_01 .bmod_img_01 {
  margin-bottom: 0;
}

.bmod_img_box_01 .bmod_img_01 img {
  width: 100%;
  height: auto;
}

/* layout */
.bmod_lyt_01 {
  display: flex;
}

@media only screen and (max-width: 768px) {
  .bmod_lyt_01 {
    display: block;
  }
}

.bmod_lyt_01 .tmod_txt_01 {
  margin-right: 16px;
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  .bmod_lyt_01 .tmod_txt_01 {
    margin-right: 0;
    margin-bottom: 12px;
  }
}

.bmod_lyt_01._image_first .tmod_txt_01 {
  order: 2;
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 16px;
}

@media only screen and (max-width: 768px) {
  .bmod_lyt_01._image_first .tmod_txt_01 {
    margin-left: 0;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_lyt_01._image_first .tmod_txt_01 + .bmod_img_01 {
    margin-top: 12px;
  }
}

.bmod_lyt_01 .bmod_img_01 + .tmod_txt_01 {
  margin-right: 0;
  margin-bottom: 0;
  margin-left: 16px;
}

@media only screen and (max-width: 768px) {
  .bmod_lyt_01 .bmod_img_01 + .tmod_txt_01 {
    margin-left: 0;
  }
}

.bmod_lyt_01._text_first .bmod_img_01 {
  order: 2;
}

.bmod_lyt_01._text_first .bmod_img_01 + .tmod_txt_01 {
  margin-right: 16px;
  margin-bottom: 0;
  margin-left: 0;
}

@media only screen and (max-width: 768px) {
  .bmod_lyt_01._text_first .bmod_img_01 + .tmod_txt_01 {
    margin-right: 0;
  }
}

.bmod_lyt_01._image_large .bmod_img_01 {
  flex: 1 1 560px;
}

.bmod_lyt_01._image_large .bmod_img_01 img {
  width: 100%;
  height: auto;
}

.bmod_lyt_01._image_large .tmod_txt_01 {
  flex: 1 1 576px;
}

/* colmun */
.bmod_column_01 {
  display: flex;
}

@media only screen and (max-width: 768px) {
  .bmod_column_01 {
    display: block;
  }
}

.col {
  margin-right: 16px;
}

[class*=' _col'] .col {
  margin-bottom: 15px;
}

@media only screen and (max-width: 768px) {
  [class*=' _col'] .col {
    margin-bottom: 8px;
  }
}

[class*=' _col'] .col:last-child {
  margin-bottom: 0;
}

._col1 > .col {
  width: 100%;
  margin-right: 0;
}

@media only screen and (max-width: 768px) {
  ._col1 > .col {
    width: 100%;
  }
}

._col2 > .col {
  flex-basis: calc(100% / 2 - 16px * 1 / 2);
}

@media only screen and (max-width: 768px) {
  ._col2 > .col {
    flex-basis: 100%;
  }
}

._col2 > .col:nth-child(2n+1) {
  clear: both;
}

._col2 > .col:nth-child(2n) {
  margin-right: 0;
}

._col2 > .col:nth-last-child(-n+2) {
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  ._col2 > .col:nth-last-child(-n+2) {
    margin-bottom: 8px;
  }
}

@media only screen and (max-width: 768px) {
  ._col2 > .col:last-child {
    margin-bottom: 0;
  }
}

._col3 > .col {
  flex-basis: calc(100% * .33333 - 16px * 2 / 3);
}

@media only screen and (max-width: 768px) {
  ._col3 > .col {
    flex-basis: 100%;
  }
}

._col3 > .col:nth-child(3n) {
  margin-right: 0;
}

._col3 > .col:nth-child(3n+1) {
  clear: both;
}

._col3 > .col:nth-last-child(-n+3) {
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  ._col3 > .col:nth-last-child(-n+3) {
    margin-bottom: 8px;
  }
}

@media only screen and (max-width: 768px) {
  ._col3 > .col:last-child {
    margin-bottom: 0;
  }
}

._col4 > .col {
  width: calc(100% / 4 - 16px * 3 / 4);
}

@media only screen and (max-width: 768px) {
  ._col4 > .col {
    width: 100%;
  }
}

._col4 > .col:nth-child(4n+1) {
  clear: both;
}

._col4 > .col:nth-child(4n) {
  margin-right: 0;
}

._col4 > .col:nth-last-child(-n+4) {
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  ._col4 > .col:nth-last-child(-n+4) {
    margin-bottom: 8px;
  }
}

@media only screen and (max-width: 768px) {
  ._col4 > .col:last-child {
    margin-bottom: 0;
  }
}

[class^='bmod_hdg_'] + [class^='bmod_box_'] {
  margin-top: 40px;
}

@media only screen and (max-width: 768px) {
  [class^='bmod_hdg_'] + [class^='bmod_box_'] {
    margin-top: 20px;
  }
}

.bmod_box_01 {
  padding: 18px 23px;
  background-color: #fff;
  border: 1px solid #ccc;
}

.bmod_box_01 .hdg {
  margin-bottom: 16px;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
}

.bmod_box_01._step {
  position: relative;
  margin-bottom: 120px;
}

.bmod_box_01._step:after {
  content: '';
  display: block;
  position: absolute;
  bottom: -62px;
  left: 50%;
  width: 0;
  height: 0;
  margin-left: -55px;
  border-color: #bababa transparent transparent transparent;
  border-style: solid;
  border-width: 30px 55px 0 55px;
}

.bmod_box_info_01 {
  display: flex;
  align-items: center;
  padding: 16px 24px;
  margin-bottom: 50px;
  background-color: #fff;
}

@media only screen and (max-width: 768px) {
  .bmod_box_info_01 {
    flex-wrap: wrap;
  }
}

.bmod_box_info_01 .hdg {
  flex: 0 0 auto;
  margin-right: 21px;
  font-weight: bold;
  color: #c63232;
}

@media only screen and (max-width: 768px) {
  .bmod_box_info_01 .hdg {
    width: 100%;
    margin-right: 0;
    margin-bottom: 8px;
    text-align: center;
  }
}

.bmod_box_info_01 .list {
  padding-left: 32px;
  border-left: 1px solid #ccc;
}

@media only screen and (max-width: 768px) {
  .bmod_box_info_01 .list {
    padding-top: 8px;
    padding-left: 0;
    border-top: 1px solid #ccc;
    border-left: none;
  }
}

.bmod_box_info_01 .list p {
  margin-bottom: 0;
  line-height: 1.8;
}

.bmod_box_info_01.jsReadMoreArea {
  position: relative;
  padding-right: 48px;
  overflow: hidden;
}

.bmod_box_info_01.jsReadMoreArea .list {
  width: 100%;
  min-width: 0;
}

.bmod_box_info_01.jsReadMoreArea .list .btn {
  position: absolute;
  top: 16px;
  right: 24px;
  width: 20px;
  height: 20px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.bmod_box_info_01.jsReadMoreArea .list .btn::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 9px;
  right: 0;
  width: 20px;
  height: 2px;
  background-color: #000;
}

html.noJs .bmod_box_info_01.jsReadMoreArea .list .btn {
  display: none;
}

html:not(.noJs) .bmod_box_info_01.jsReadMoreArea.jsClose .jsReadMoreContent {
  width: 100%;
  height: 25px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html:not(.noJs) .bmod_box_info_01.jsReadMoreArea.jsClose .btn::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  right: 9px;
  width: 2px;
  height: 20px;
  background-color: #000;
}

.bmod_box_info_01 + .bmod_list_step_01 {
  margin-top: -24px;
}

.bmod_box_detail_01 {
  display: flex;
  margin-bottom: 59px;
  font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 {
    flex-wrap: wrap;
    justify-content: center;
  }
}

.bmod_box_detail_01 .dmc_img {
  display: flex;
  flex: 1 0 auto;
  order: 1;
  margin-right: 36px;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 .dmc_img {
    flex-basis: 100%;
    justify-content: center;
    margin-right: 0;
    margin-bottom: 16px;
  }
}

.bmod_box_detail_01 .dmc_img img {
  width: 350px;
}

.bmod_box_detail_01 .dmc_content {
  flex: 0 1 100%;
  order: 2;
}

.bmod_box_detail_01 .accepting {
  font-size: 1.4rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 .accepting {
    margin-top: 11px;
    font-size: 1.2rem;
  }
}

.bmod_box_detail_01 .accepting .tag {
  display: inline-block;
  padding: 2px 8px 1px;
  margin-top: 11px;
  margin-right: 7px;
  margin-left: 0;
  background-color: #2972cc;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 .accepting .tag {
    display: block;
    max-width: 87px;
    padding: 4px 2px 3px;
    margin: 5px auto;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 .tmod_hdg_01 {
    margin-bottom: 10px;
    text-align: center;
    font-size: 2.2rem;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 .tmod_txt_01 {
    text-align: center;
    font-size: 1.4rem;
  }
}

.bmod_box_detail_01 .tmod_list_01 {
  margin-top: 42px;
  margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 .tmod_list_01 {
    margin-top: 0;
    margin-bottom: 5px;
  }
}

.bmod_box_detail_01 .tmod_list_01 > li {
  font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 .tmod_list_01 > li {
    font-size: 1.2rem;
  }
}

.bmod_box_detail_01 .imod_link_01 {
  font-size: 1.4rem;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 .imod_link_01 {
    font-size: 1.2rem;
  }
}

.bmod_box_detail_01 .bmod_img_01 {
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_01 .bmod_img_01 img {
    max-width: 160px;
  }
}

.bmod_box_detail_02 {
  display: flex;
  padding: 24px;
  background-color: #e3e3e3;
  font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_02 {
    flex-wrap: wrap;
  }
}

.bmod_box_detail_02 .dmc_img {
  display: flex;
  flex: 0 0 117px;
  order: 1;
  height: 161px;
  margin-right: 24px;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_02 .dmc_img {
    flex-basis: 100%;
    justify-content: center;
    height: auto;
    margin-right: 0;
    margin-bottom: 16px;
  }
}

.bmod_box_detail_02 .dmc_img .bmod_img_01 {
  margin-bottom: 0;
}

.bmod_box_detail_02 .dmc_img img {
  width: 100%;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_02 .dmc_img img {
    max-width: 160px;
  }
}

.bmod_box_detail_02 .dmc_content {
  flex: 0 1 100%;
  order: 2;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_02 .dmc_content {
    display: block;
  }
}

.bmod_box_detail_02 .dmc_content p:last-child, .bmod_box_detail_02 .dmc_content dl:last-child {
  margin-bottom: 0;
}

.bmod_box_detail_02 .hdg {
  margin-top: -5px;
  margin-bottom: 4px;
  font-size: 2.4rem;
  font-weight: bold;
}

.bmod_box_detail_02 .date {
  flex: 1 1 100%;
  font-size: 1.8rem;
  font-weight: bold;
}

.bmod_box_detail_02 .info {
  display: flex;
  margin-top: 2px;
  margin-bottom: 16px;
  font-size: 1.8rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_02 .info {
    display: block;
  }
}

.bmod_box_detail_02 .info dt, .bmod_box_detail_02 .info dd {
  margin-bottom: 5px;
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_02 .info dt, .bmod_box_detail_02 .info dd {
    float: left;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_box_detail_02 .info dt {
    clear: both;
  }
}

.bmod_box_detail_02 .info dt::after {
  content: '：';
  display: inline-block;
}

.bmod_box_detail_02 .info dt::before {
  content: '';
  display: inline-block;
  margin-right: 9px;
  margin-bottom: -4px;
}

.bmod_box_detail_02 .info dt._location::before {
  width: 19px;
  height: 20px;
  background-image: url(/common/images/sprite.png);
  background-position: -84px -20px;
  background-size: 122px 88px;
}

.bmod_box_detail_02 .info dt._time::before {
  width: 19px;
  height: 20px;
  background-image: url(/common/images/sprite.png);
  background-position: 0 -68px;
  background-size: 122px 88px;
}

.bmod_box_detail_02 .info dt._seat::before {
  width: 19px;
  height: 20px;
  background-image: url(/common/images/sprite.png);
  background-position: -84px -40px;
  background-size: 122px 88px;
}

.bmod_box_detail_02 .info dd {
  margin-right: 16px;
}

.bmod_box_detail_02 .info + .imod_note_01 {
  margin-top: -5px;
}

/* table */
.bmod_tbl_01 table {
  width: 100%;
  border: 1px solid #ccc;
  border-collapse: collapse;
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_01 table {
    border: none;
    border-bottom: 1px solid #ccc;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_01 table col {
    width: 100% !important;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_01 tr {
    display: list-item;
    width: 100%;
    overflow: hidden;
    list-style: none;
  }
}

.bmod_tbl_01 th, .bmod_tbl_01 td {
  padding: 12px 14px;
  border: 1px solid #ccc;
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_01 th, .bmod_tbl_01 td {
    display: list-item;
    width: 100%;
    list-style: none;
    border-bottom: none;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_01 th._float, .bmod_tbl_01 td._float {
    display: table-cell;
    width: 731px;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_01 th._float + ._float, .bmod_tbl_01 td._float + ._float {
    margin-left: -1px;
  }
}

.bmod_tbl_01 th {
  background-color: #ebebeb;
  text-align: left;
  vertical-align: middle;
  font-weight: normal;
  color: #010101;
}

.bmod_tbl_01 td {
  background-color: #fff;
}

.bmod_tbl_01 .tag {
  display: inline-block;
  padding: 2px 8px 1px;
  margin-left: 16px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
}

.bmod_tbl_01 .tag._required {
  background-color: #e25d0c;
}

.bmod_tbl_01 .tag._any {
  background-color: #727272;
}

.bmod_tbl_01._fixed table {
  table-layout: fixed;
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_01._fixed table {
    table-layout: auto;
  }
}

.bmod_tbl_02 table {
  width: 100%;
  border-spacing: 0 16px;
  font-size: 1.8rem;
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_02 table {
    border-spacing: 0 8px;
  }
}

.bmod_tbl_02 th {
  padding: 32px 10px 30px 24px;
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_02 th {
    padding-left: 18px;
  }
}

.bmod_tbl_02 td {
  padding: 20px 24px 18px 10px;
  text-align: right;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_tbl_02 td {
    padding-right: 18px;
  }
}

.bmod_tbl_02 tbody tr {
  background-color: #e3e3e3;
}

.bmod_tbl_02 tfoot tr {
  background-color: #fff;
}

.bmod_tbl_02 tfoot th, .bmod_tbl_02 tfoot td {
  border: 1px solid #ccc;
}

.bmod_tbl_02 tfoot th {
  border-right: none;
}

.bmod_tbl_02 tfoot td {
  border-left: none;
}

/* form */
input[type='submit'] {
  cursor: pointer;
}

.jsSp input[type='text'], .jsSp input[type='password'], .jsSp input[type='email'] {
  -webkit-transform: scale(.8);
          transform: scale(.8);
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  font-size: 1.6rem;
}

input[type='number'] {
  -moz-appearance: textfield;
}

input[type='number']::-webkit-outer-spin-button, input[type='number']::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

p + input {
  margin-top: 4px;
}

[class^='fmod_select'] {
  margin-bottom: 0;
}

@media only screen and (max-width: breakSP) {
  [class^='fmod_select'] {
    margin-bottom: 12px;
  }
}

.jsSp [class^='fmod_select'] select {
  -webkit-transform: scale(.8);
          transform: scale(.8);
  -webkit-transform-origin: 0 50%;
          transform-origin: 0 50%;
  font-size: 1.6rem;
}

[class^='fmod_'] p + label, [class^='bmod_'] p + label, [class^='tmod_'] p + label {
  display: inline-block;
  margin-top: 4px;
}

.fmod_text_01 {
  max-width: 100%;
  padding: 10px 15px;
  border: 1px solid #999;
}

@media only screen and (max-width: 768px) {
  .fmod_select_01 {
    margin-bottom: -8px !important;
  }
}

.fmod_select_01 label {
  display: inline-block;
}

.fmod_select_01 select {
  padding: 10px 12px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #fff;
  background-image: url('/common/images/icon_form_select.png');
  background-repeat: no-repeat;
  background-position: right 15px center;
  border: solid 1px #999;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .fmod_select_01 select {
    margin-bottom: 8px;
  }
}

.fmod_select_01 select::-ms-expand {
  display: none;
}

.fmod_select_01 select:disabled {
  background-image: url('/common/images/icon_form_select_disabled.png');
  color: #ccc;
}

.fmod_textarea_01 {
  width: 100%;
  max-height: 340px;
  min-width: 100%;
  padding: 12px;
  margin-bottom: 0;
  border: solid 1px #ccc;
  border-radius: 4px;
}

.fmod_textarea_01::-webkit-scrollbar {
  width: 14px;
  background: #f5f5f5;
}

.fmod_textarea_01::-webkit-scrollbar-thumb {
  width: 4px;
  background-color: #666;
  border: solid 5px #f5f5f5;
  border-radius: 10px;
}

.fmod_radio_01 {
  margin-bottom: 60px;
}

@media only screen and (max-width: 768px) {
  .fmod_radio_01 {
    margin-bottom: 40px;
  }
}

.fmod_radio_01 .item {
  display: flex;
  position: relative;
  align-items: center;
  width: 100%;
  padding: 20px 24px 18px 66px;
  margin-top: 16px;
  background-color: #e3e3e3;
}

@media only screen and (max-width: 768px) {
  .fmod_radio_01 .item {
    display: block;
    padding: 20px 18px 18px 66px;
    margin-top: 8px;
  }
}

.fmod_radio_01 .item:first-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
  .fmod_radio_01 .item .fmod_select_01 {
    text-align: right;
  }
}

.fmod_radio_01 .item .fmod_select_01 label {
  margin-left: 20px;
}

.fmod_radio_01 .item .fmod_select_01 .imod_formtext_01 {
  margin-right: 0;
}

.fmod_radio_01 .imod_caution_01 + .item {
  margin-top: 0;
}

.fmod_radio_01 .dmc_txt {
  flex: 1 0 auto;
  height: 100%;
  max-width: 100%;
}

.fmod_radio_01 .dmc_txt > .hdg {
  display: block;
  margin-bottom: 5px;
  font-size: 1.8rem;
  font-weight: bold;
}

.fmod_radio_01 .dmc_txt > .txt {
  display: block;
  margin-bottom: 3px;
}

.fmod_radio_01 .dmc_txt label {
  display: inline-block;
  margin-bottom: 5px;
  border: 1px solid transparent;
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: bold;
}

.fmod_radio_01 .dmc_txt label::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 25px;
  width: 18px;
  height: 18px;
  margin-top: -10px;
  background-color: #f5f5f5;
  border: solid 1px #777;
  border-radius: 50%;
}

.fmod_radio_01 input[type='radio'] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.fmod_radio_01 input[type='radio']:checked + .dmc_txt::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 30px;
  z-index: 1;
  width: 8px;
  height: 8px;
  margin-top: -5px;
  background: #076f9f;
  border-radius: 50%;
}

.fmod_radio_01 input[type='radio']:focus + .dmc_txt label {
  border: dotted 1px #666;
}

.fmod_radio_01 .fmod_select_01 {
  flex: 0 0 auto;
  margin-left: 8px;
}

@media only screen and (max-width: 768px) {
  .fmod_radio_01 .fmod_select_01 {
    margin-left: 0;
  }
}

.fmod_radio_01 .fmod_select_01 .imod_formtext_01 {
  font-size: 1.8rem;
}

.fmod_radio_01 .bmod_tbl_01.jsTglContent {
  margin-bottom: 0;
}

.fmod_radio_01 .bmod_tbl_01.jsTglContent table {
  margin-top: 16px;
}

.fmod_radio_02 label {
  display: inline-block;
  border: 1px solid transparent;
  cursor: pointer;
}

.fmod_radio_02 label::before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  background-color: #f5f5f5;
  border: solid 1px #777;
  border-radius: 50%;
}

.fmod_radio_02 input[type='radio'] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.fmod_radio_02 input[type='radio'] + .txt {
  margin-left: 24px;
  border: dotted 1px transparent;
}

.fmod_radio_02 input[type='radio']:checked + .txt::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 6px;
  z-index: 1;
  width: 8px;
  height: 8px;
  margin-top: -4px;
  background: #076f9f;
  border-radius: 50%;
}

.fmod_radio_02 input[type='radio']:focus + .txt {
  border: dotted 1px #666;
}

.fmod_radio_02 .list > li {
  display: inline-block;
  position: relative;
  margin-right: 9px;
}

.fmod_submit_01 {
  text-align: center;
}

.fmod_submit_01 input {
  display: inline-block;
  width: 304px;
  padding: 16px 25px 11px;
  background-color: #f7f7f7;
  border: solid 1px #ccc;
  border-radius: 4px;
  cursor: pointer;
}

@media only screen and (max-width: 768px) {
  .fmod_submit_01 input {
    display: block;
    width: 100%;
  }
}

.fmod_submit_01 input._conversion {
  background: #333;
  border: 1px solid #333;
  color: #fff;
}

.fmod_submit_01 input._conversion::before, .fmod_submit_01 input._conversion::after {
  border-top: solid 1px #fff;
}

.fmod_submit_02 {
  margin-top: -3px;
  text-align: center;
}

.fmod_submit_02 input {
  width: 304px;
  padding: 13px 25px;
  background-color: #333;
  border: solid 1px #ccc;
  border-radius: 4px;
  cursor: pointer;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .fmod_submit_02 input {
    display: block;
    width: 100%;
  }
}

@media only screen and (min-width: 767px) {
  .fmod_submit_02 input:hover, .fmod_submit_02 input:focus, .fmod_submit_02 input:active {
    background: #717171;
  }
}

.fmod_check_01 .hdg {
  margin-bottom: 13px;
}

.fmod_check_01 input {
  position: absolute;
  opacity: 0;
}

.fmod_check_01 input:checked + .txt::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 4px;
  width: 9px;
  height: 6px;
  margin-top: -4px;
  border: solid 2px #1244a6;
  border-top: none;
  border-right: none;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.fmod_check_01 input:focus + .txt {
  border: dotted 1px #777;
}

.fmod_check_01 .txt {
  display: inline-block;
  position: relative;
  padding-left: 26px;
  border: solid 1px transparent;
  cursor: pointer;
}

.fmod_check_01 .txt::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  background: #fff;
  border: solid 1px #777;
  border-radius: 3px;
}

.fmod_check_01 .list > li {
  margin-bottom: 11px;
}

/* 座席指定 */
.bmod_comp_seat_01 {
  display: flex;
}

@media only screen and (max-width: 1200px) {
  .bmod_comp_seat_01 {
    display: block;
  }
}

.bmod_comp_seat_01 .dmc_overall {
  margin: 0 auto 40px;
}

.bmod_comp_seat_01 .dmc_overall .dmc_overall_inner {
  flex: 0 0 290px;
  max-width: 290px;
  margin: auto;
}
.bmod_comp_seat_01 .dmc_overall .dmc_overall_inner_zoom {
  flex: 0 0 290px;
  max-width: 500px;
  margin: auto;
}

.bmod_comp_seat_01 .dmc_overall .tmod_list_note_01:last-child {
  margin-top: 10px;
}

.bmod_comp_seat_01 .dmc_seat_block {
  flex-basis: 870px;
  margin-left: 40px;
}

@media only screen and (max-width: 1200px) {
  .bmod_comp_seat_01 .dmc_seat_block {
    margin-left: 0;
  }
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner {
  display: flex;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner {
    display: block;
  }
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc {
  padding: 12px 24px 24px;
  background-color: #fff;
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc:first-child {
  position: relative;
  flex: 1 1 362px;
  margin-right: 72px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc:first-child {
    display: block;
    margin-right: 0;
    margin-bottom: 72px;
  }
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc:first-child::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: -48px;
  width: 0;
  height: 0;
  margin-top: -27px;
  border-color: transparent transparent transparent #999;
  border-style: solid;
  border-width: 27px 0 27px 24px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc:first-child::after {
    top: auto;
    right: auto;
    bottom: -50px;
    left: 50%;
    margin-top: 0;
    margin-left: -27px;
    border-color: #999 transparent transparent transparent;
    border-style: solid;
    border-width: 24px 27px 0 27px;
  }
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc:last-child {
  flex: 1 0 265px;
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc .hdg {
  margin-bottom: 12px;
  font-size: 1.6rem;
  font-weight: bold;
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc .hdg em {
  color: #c63232;
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc .bmod_box_01 {
  padding: 14px 15px 7px;
  margin-bottom: 11px;
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc .seat_type > li {
  margin-bottom: 7px;
  font-size: 1.4rem;
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc .seat_type > li img {
  margin-right: 7px;
}

.bmod_comp_seat_01 .dmc_seat_block .dmc_seat_block_inner .dmc .bmod_btn_02 {
  margin-bottom: 0;
}

.bmod_comp_seat_01 .dmc_img {
  margin-bottom: 16px;
  text-align: center;
}

.bmod_comp_seat_01 .floor_list {
  display: flex;
}

.bmod_comp_seat_01 .floor_list > li {
  display: flex;
  align-items: center;
  flex-basis: 50%;
  justify-content: center;
}

.bmod_comp_seat_01 .floor_list > li a, .bmod_comp_seat_01 .floor_list > li button {
  width: 100%;
  height: 42px;
  background-color: #999;
  border: 1px solid #ccc;
  font-size: 1.6rem;
  color: #fff;
}

.bmod_comp_seat_01 .floor_list > li a.jsActive, .bmod_comp_seat_01 .floor_list > li button.jsActive {
  background-color: #8a6e1c;
  border: 1px solid #8a6e1c;
  font-weight: bold;
}

.bmod_comp_seat_01 .block_select {
  width: 100%;
  margin-bottom: 8px;
  border: 1px solid #ccc;
  border-collapse: collapse;
  text-align: center;
  font-size: 1.2rem;
}

.bmod_comp_seat_01 .block_select thead th, .bmod_comp_seat_01 .block_select thead td {
  background-color: #e3e3e3;
  border: 1px solid #ccc;
  font-weight: normal;
}

.bmod_comp_seat_01 .block_select tbody th, .bmod_comp_seat_01 .block_select tbody td {
  border: 1px solid #ccc;
}

.bmod_comp_seat_01 .block_select tbody th {
  background-color: #e3e3e3;
  font-weight: normal;
}

.bmod_comp_seat_01 .block_select a {
  display: inline-block;
  text-decoration: underline;
}

.bmod_comp_seat_01 .block_select img {
  vertical-align: middle;
}

.bmod_comp_seat_01 .block_select_list {
  text-align: center;
}

.bmod_comp_seat_01 .block_select_list > li {
  display: inline-block;
  margin-right: 6px;
  margin-left: 6px;
  font-size: 1.2rem;
  font-weight: bold;
}

.bmod_comp_seat_01 .block_select_list > li::before {
  content: '';
  display: inline-block;
  margin-right: 4px;
  margin-bottom: -4px;
}

.bmod_comp_seat_01 .block_select_list > li._circle {
  color: #2975cc;
}

.bmod_comp_seat_01 .block_select_list > li._circle::before {
  width: 18px;
  height: 18px;
  background-image: url(/common/images/sprite.png);
  background-position: -104px 0;
  background-size: 122px 88px;
}

.bmod_comp_seat_01 .block_select_list > li._triangle {
  color: #ee7600;
}

.bmod_comp_seat_01 .block_select_list > li._triangle::before {
  width: 20px;
  height: 17px;
  background-image: url(/common/images/sprite.png);
  background-position: -19px -68px;
  background-size: 122px 88px;
}

.bmod_comp_seat_01 .block_select_list > li._xmark {
  color: #666;
}

.bmod_comp_seat_01 .block_select_list > li._xmark::before {
  width: 16px;
  height: 16px;
  background-image: url(/common/images/sprite.png);
  background-position: -38px -68px;
  background-size: 122px 88px;
}

.bmod_comp_seat_01 .seat_select {
  margin-bottom: 13px;
  border-collapse: collapse;
}

@media only screen and (max-width: 1200px) {
  .bmod_comp_seat_01 .seat_select {
    margin-right: auto;
    margin-left: auto;
  }
}

.bmod_comp_seat_01 .seat_select th, .bmod_comp_seat_01 .seat_select td {
  padding: 4px 0 3px;
}

.bmod_comp_seat_01 .seat_select th {
  width: 54px;
  text-align: center;
  font-size: 1.2rem;
  font-weight: normal;
}

.bmod_comp_seat_01 .seat_select + .seat_select {
  margin-top: 28px;
}

.bmod_comp_seat_01 .reserved_seat {
  margin-bottom: 36px;
}

.bmod_comp_seat_01 .reserved_seat > li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 6px;
  margin-bottom: 24px;
  border-bottom: 1px solid #ccc;
}

.bmod_comp_seat_01 .reserved_seat > li:last-child {
  margin-bottom: 0;
}

.bmod_comp_seat_01 .reserved_seat .btn {
  padding: 11px 15px 13px;
  background-color: #cecece;
  box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .2);
  text-align: center;
  font-weight: bold;
  color: #000;
}

/* ログインボックス */
.bmod_comp_login_01 {
  display: flex;
  margin-bottom: 40px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_login_01 {
    display: block;
  }
}

.bmod_comp_login_01 .dmc {
  display: flex;
  flex-direction: column;
  width: 50%;
  margin-right: 30px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_login_01 .dmc {
    display: block;
    width: 100%;
    margin-right: 0;
  }
}

.bmod_comp_login_01 .dmc:last-child {
  margin-right: 0;
}

.bmod_comp_login_01 .box {
  padding-right: 24px;
  padding-left: 24px;
  background-color: #ebebeb;
  border: 1px solid #ccc;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_login_01 .box {
    margin-bottom: 24px;
  }
}

.bmod_comp_login_01 .box + .box {
  margin-top: 24px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_login_01 .box + .box {
    margin-top: 0;
  }
}

.bmod_comp_login_01 .hdg {
  padding: 7px 10px 6px;
  margin: 0 -24px 21px;
  background-color: #999;
  border-bottom: 1px solid #ccc;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
}

.bmod_comp_login_01 .lead {
  margin-bottom: 16px;
  text-align: center;
  font-weight: bold;
}

.bmod_comp_login_01 .input_txt {
  margin-bottom: 25px;
  font-size: 1.6rem;
}

.bmod_comp_login_01 .input_txt + .input_txt {
  margin-top: -8px;
}

.bmod_comp_login_01 .fmod_text_01 {
  display: block;
  margin-top: 3px;
  margin-bottom: 20px;
}

.bmod_comp_login_01 .bmod_btn_02 {
  margin-bottom: 18px;
}

.bmod_comp_login_01 .tmod_link_list_01 {
  text-align: center;
}

/* 会員規約 */
.bmod_comp_agreement_01 {
  height: 316px;
  overflow-y: scroll;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-right: none;
  font-size: 1.4rem;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_agreement_01 {
    height: auto;
    overflow: visible;
  }
}

.bmod_comp_agreement_01::-webkit-scrollbar {
  width: 10px;
}

.bmod_comp_agreement_01::-webkit-scrollbar-track {
  margin-top: -1px;
  margin-bottom: -1px;
  background-color: #999;
  box-shadow: -1px 0 0 #e1e1e1;
  border-left: 1px solid #f7f7f7;
}

.bmod_comp_agreement_01::-webkit-scrollbar-thumb {
  background-color: #444;
  box-shadow: -1px 0 0 #e1e1e1;
  border-left: 1px solid #f7f7f7;
}

.bmod_comp_agreement_01 .dmc_inner {
  padding: 11px 20px;
}

/* 抽選申込・内容確認 */
.bmod_comp_lottery_01 {
  margin-bottom: 40px;
}

.bmod_comp_lottery_01 .item {
  padding: 20px 24px 5px;
  margin-bottom: 16px;
  background-color: #e3e3e3;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_lottery_01 .item {
    margin-bottom: 8px;
  }
}

.bmod_comp_lottery_01 .item > dt {
  padding-bottom: 3px;
  margin-bottom: 16px;
  border-bottom: 1px solid #bebebe;
  font-size: 2rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_lottery_01 .item > dt {
    font-size: 1.8rem;
  }
}

.bmod_comp_lottery_01 .item > dt .tag {
  display: inline-block;
  position: relative;
  top: -3px;
  padding: 2px 8px 1px;
  margin-left: 9px;
  font-size: 1.2rem;
  font-weight: bold;
  color: #fff;
}

.bmod_comp_lottery_01 .item > dt .tag._required {
  background-color: #e25d0c;
}

.bmod_comp_lottery_01 .item > dt .tag._any {
  background-color: #727272;
}

.bmod_comp_lottery_01 .item > dd {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.bmod_comp_lottery_01 .item + .bmod_tbl_02 {
  margin-top: -16px;
}

.bmod_comp_lottery_01 .detail {
  display: flex;
  align-items: center;
  margin-right: 10px;
  margin-bottom: 16px;
  font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_lottery_01 .detail {
    margin-bottom: 8px;
  }
}

.bmod_comp_lottery_01 .detail:last-child {
  margin-right: 0;
}

.bmod_comp_lottery_01 .detail dt {
  flex: 0 0 auto;
  margin-right: 8px;
  font-weight: bold;
}

.bmod_comp_lottery_01 .detail dt label {
  display: inline-block;
}

.bmod_comp_lottery_01 .detail dd .imod_strong_01 {
  font-size: 1.4rem;
}

.bmod_comp_lottery_01 .fmod_select_01 select {
  font-weight: normal;
}

.bmod_comp_lottery_01 .fmod_select_01 select.jsError {
  background-color: #fff0f1;
}

.bmod_comp_lottery_01 .total {
  flex: 1 1 auto;
  text-align: right;
  font-size: 1.6rem;
}

.bmod_comp_lottery_01 + .bmod_tbl_02 {
  margin-top: -40px;
}

/* 抽選内容・結果 */
.bmod_comp_result_01 .item {
  display: flex;
  margin-bottom: 24px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_result_01 .item {
    display: block;
  }
}

.bmod_comp_result_01 .dmc {
  display: flex;
  flex: 0 0 30%;
  flex-direction: column;
  background-color: #e3e3e3;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_result_01 .dmc {
    display: block;
  }
}

.bmod_comp_result_01 .dmc:first-child {
  flex: 1 1 auto;
  width: 100%;
  padding: 10px 24px;
  margin-right: 8px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_result_01 .dmc:first-child {
    margin-right: 0;
    margin-bottom: 8px;
  }
}

.bmod_comp_result_01 .dmc a {
  display: flex;
  align-items: flex-start;
  flex-basis: 100%;
  flex-direction: column;
  padding: 10px 26px 12px 24px;
  color: #000;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_result_01 .dmc a {
    display: block;
  }
}

@media only screen and (min-width: 767px) {
  .bmod_comp_result_01 .dmc a:hover, .bmod_comp_result_01 .dmc a:focus, .bmod_comp_result_01 .dmc a:active {
    opacity: .7;
    text-decoration: none;
  }
}

.bmod_comp_result_01 .title {
  margin-bottom: 5px;
  font-size: 2.4rem;
  font-weight: bold;
}

.bmod_comp_result_01 .data {
  margin-bottom: 5px;
  font-size: 1.8rem;
  font-weight: bold;
}

.bmod_comp_result_01 .info {
  margin-bottom: 2px;
  font-size: 1.4rem;
}

.bmod_comp_result_01 .info dt, .bmod_comp_result_01 .info dd {
  float: left;
  margin-bottom: 1px;
}

.bmod_comp_result_01 .info dt {
  clear: both;
  font-weight: bold;
}

.bmod_comp_result_01 .info dt::after {
  content: '：';
  display: inline-block;
}

.bmod_comp_result_01 .info dd strong + strong {
  margin-left: 1em;
}

.bmod_comp_result_01 .tag {
  padding: 2px 21px 3px;
  margin-top: 8px;
  margin-bottom: 12px;
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_result_01 .tag {
    display: inline-block;
  }
}

.bmod_comp_result_01 .tag._win {
  background-color: #e25d0c;
}

.bmod_comp_result_01 .tag._reject {
  background-color: #727272;
}

.bmod_comp_result_01 .confirm {
  display: flex;
  align-items: flex-end;
  flex: 1 1 100%;
  justify-content: flex-end;
  width: 100%;
  font-weight: bold;
  color: #05a;
}

.bmod_comp_result_01 .confirm::after {
  content: '';
  display: inline-block;
  width: 9px;
  height: 9px;
  margin: 8px 0 6px 3px;
  border-top: solid 2px #05a;
  border-right: solid 2px #05a;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

/* カレンダー */
.bmod_comp_calendar_01 {
  margin-bottom: 100px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 {
    margin-bottom: 40px;
  }
}

.bmod_comp_calendar_01 .dmc_hdg {
  display: flex;
  align-items: flex-end;
  margin-bottom: 16px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .dmc_hdg {
    display: block;
    margin-bottom: 5px;
  }
}

.bmod_comp_calendar_01 .dmc_hdg .hdg {
  margin-right: 37px;
  line-height: 1;
  font-size: 3.6rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .dmc_hdg .hdg {
    margin-bottom: 6px;
    font-size: 2.4rem;
  }
}

.bmod_comp_calendar_01 .fmod_select_01 {
  flex: 1 1 auto;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .fmod_select_01 {
    display: block;
    margin-bottom: -3px !important;
  }
}

.bmod_comp_calendar_01 .fmod_select_01 select {
  font-weight: normal;
}

.bmod_comp_calendar_01 .seat_list {
  display: flex;
  align-items: center;
  margin-bottom: -4px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .seat_list {
    justify-content: flex-end;
    margin-bottom: 0;
  }
}

.bmod_comp_calendar_01 .seat_list > li {
  margin-right: 16px;
  font-size: 1.4rem;
  font-weight: bold;
}

.bmod_comp_calendar_01 .seat_list > li._circle {
  color: #2975cc;
}

.bmod_comp_calendar_01 .seat_list > li._triangle {
  color: #ee7600;
}

.bmod_comp_calendar_01 .seat_list > li._xmark {
  color: #666;
}

.bmod_comp_calendar_01 .seat_list > li:last-child {
  margin-right: 0;
}

.bmod_comp_calendar_01 .seat_list > li img {
  margin-right: 8px;
  margin-bottom: 3px;
}

.bmod_comp_calendar_01 .tbl_calendar {
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid #999;
  border-collapse: collapse;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar {
    margin-bottom: 10px;
  }
}

.bmod_comp_calendar_01 .tbl_calendar th, .bmod_comp_calendar_01 .tbl_calendar td {
  width: 14.2857%;
  background-color: #fff;
  border: 1px solid #999;
  font-weight: bold;
}

.bmod_comp_calendar_01 .tbl_calendar th._blank, .bmod_comp_calendar_01 .tbl_calendar td._blank {
  background-color: #e3e3e3;
  color: #666;
}

.bmod_comp_calendar_01 .tbl_calendar thead {
  font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar thead {
    font-size: 1rem;
  }
}

.bmod_comp_calendar_01 .tbl_calendar thead th {
  padding: 2px 5px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar thead th {
    padding: 0 5px;
  }
}

.bmod_comp_calendar_01 .tbl_calendar thead th._sunday {
  color: #d81d1d;
}

.bmod_comp_calendar_01 .tbl_calendar thead th._saturday {
  color: #1b5bc7;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar tbody {
    font-size: 1rem;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar tbody tr:nth-child(odd) th, .bmod_comp_calendar_01 .tbl_calendar tbody tr:nth-child(odd) td {
    border-bottom: none;
  }
}

.bmod_comp_calendar_01 .tbl_calendar tbody tr:nth-child(odd) th {
  line-height: 1.45;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar tbody tr:nth-child(odd) th {
    line-height: 1;
  }
}

.bmod_comp_calendar_01 .tbl_calendar tbody tr:nth-child(even) td {
  height: 120px;
  padding: 10px 2px;
  vertical-align: middle;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar tbody tr:nth-child(even) td {
    height: 92px;
    padding: 0 2px 2px;
    border-top: none;
  }
}

.bmod_comp_calendar_01 .tbl_calendar .list > li {
  position: relative;
  width: 100%;
  max-width: 120px;
  margin: 0 auto 2px;
  line-height: 2.2;
  text-align: center;
}

.bmod_comp_calendar_01 .tbl_calendar .list > li:last-child {
  margin-bottom: 0;
}

.bmod_comp_calendar_01 .tbl_calendar .list > li a {
  display: block;
  position: relative;
  color: #000;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar .list > li a {
    padding-top: 2px;
    padding-bottom: 12px;
    line-height: 1;
  }
}

@media only screen and (min-width: 767px) {
  .bmod_comp_calendar_01 .tbl_calendar .list > li a:hover, .bmod_comp_calendar_01 .tbl_calendar .list > li a:focus, .bmod_comp_calendar_01 .tbl_calendar .list > li a:active {
    opacity: .7;
    text-decoration: none;
  }
}

.bmod_comp_calendar_01 .tbl_calendar .list > li a::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 13%;
  width: 0;
  height: 0;
  margin-top: -3px;
  border-color: #000 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 3px 0 3px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar .list > li a::after {
    top: auto;
    right: 0;
    bottom: 3px;
    left: 0;
    margin: 0 auto;
  }
}

.bmod_comp_calendar_01 .tbl_calendar .list > li._surplus a, .bmod_comp_calendar_01 .tbl_calendar .list > li._little a {
  padding-right: 25px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar .list > li._surplus a, .bmod_comp_calendar_01 .tbl_calendar .list > li._little a {
    padding-right: 0;
  }
}

.bmod_comp_calendar_01 .tbl_calendar .list > li._surplus {
  background-color: #e5f1ff;
}

.bmod_comp_calendar_01 .tbl_calendar .list > li._surplus a::after {
  border-color: #2975cc transparent transparent transparent;
}

.bmod_comp_calendar_01 .tbl_calendar .list > li._little {
  background-color: #ffe9d4;
}

.bmod_comp_calendar_01 .tbl_calendar .list > li._little a::after {
  border-color: #ee7600 transparent transparent transparent;
}

.bmod_comp_calendar_01 .tbl_calendar .list > li._full {
  padding-right: 25px;
  background-color: #d2d2d2;
  color: #747474;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar .list > li._full {
    padding: 2px 0;
    line-height: 1;
  }
}

.bmod_comp_calendar_01 .tbl_calendar .list > li img {
  margin-right: 10px;
  margin-bottom: 8px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .tbl_calendar .list > li img {
    display: block;
    width: 8px;
    height: 8px;
    margin: 0 auto;
  }
}

.bmod_comp_calendar_01 .list_price {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  margin-bottom: 20px;
  font-size: 1.6rem;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_price {
    justify-content: space-around;
    margin-bottom: 9px;
    font-size: 1.4rem;
    margin-right: 0px;
  }
}

.bmod_comp_calendar_01 .list_price .price {
	margin-left: 30px;
}

.bmod_comp_calendar_01 .list_price .price dt {
  margin-right: 10px;
  font-weight: bold;
  text-align: center;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_price .price {
    margin-left: 0px;
  }
  .bmod_comp_calendar_01 .list_price .price dt {
    margin-bottom: 5px;
    font-size: 0.8em;
  }
  .bmod_comp_calendar_01 .list_price .price dd {
    margin-bottom: 5px;
    font-size: 0.9em;
  }
}

.bmod_comp_calendar_01 .list_price .price dd {
  margin-right: 10px;
}

.bmod_comp_calendar_01 .list_price .price dd:last-of-type {
  margin-right: 0;
}

.bmod_comp_calendar_01 .list_schedule {
  margin-bottom: 16px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule {
    margin-bottom: 8px;
  }
}

.bmod_comp_calendar_01 .list_schedule:last-child {
  margin-bottom: 0;
}

.bmod_comp_calendar_01 .list_schedule .hdg {
  padding: 3px 24px 4px;
  margin-bottom: 3px;
  background-color: #333;
  font-size: 2.4rem;
  font-weight: bold;
  color: #fff;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .hdg {
    padding-left: 14px;
    margin-right: -8px;
    margin-left: -8px;
  }
}

.bmod_comp_calendar_01 .list_schedule .hdg .week {
  font-size: 1.6rem;
}

.bmod_comp_calendar_01 .list_schedule .item {
  display: flex;
  align-items: center;
  padding: 16px 24px 12px 0;
  margin-bottom: 2px;
  background-color: #e3e3e3;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .item {
    display: block;
    padding: 6px 8px 12px;
    margin-right: -8px;
    margin-left: -8px;
  }
}

.bmod_comp_calendar_01 .list_schedule .item .time {
  display: flex;
  align-items: center;
  flex: 0 0 110px;
  justify-content: center;
  letter-spacing: .15em;
  font-size: 1.6rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .item .time {
    display: block;
    margin-bottom: 7px;
  }
}

.bmod_comp_calendar_01 .list_schedule .dmc {
  flex-basis: 100%;
  padding-left: 22px;
  border-left: 1px solid #bbb;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .dmc {
    padding-top: 12px;
    padding-left: 0;
    border-top: 1px solid #bbb;
    border-left: none;
  }
}

.bmod_comp_calendar_01 .list_schedule .seats {
  display: flex;
  margin-bottom: 11px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .seats {
    flex-wrap: wrap;
    margin-bottom: 8px;
  }
}

.bmod_comp_calendar_01 .list_schedule .seats > li {
  flex: 1 1 100%;
  margin-right: 12px;
  background-color: #fff;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .seats > li {
    flex-basis: auto;
    max-width: calc(33.33% - 3px);
    margin-right: 3px;
    margin-bottom: 3px;
  }
}

.bmod_comp_calendar_01 .list_schedule .seats > li:last-child {
  margin-right: 0;
}

.bmod_comp_calendar_01 .list_schedule .seats > li a, .bmod_comp_calendar_01 .list_schedule .seats > li._full span {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  height: 100%;
  padding: 11px 15px 12px 16px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .seats > li a, .bmod_comp_calendar_01 .list_schedule .seats > li._full span {
    padding: 11px 25px 12px 8px;
  }
}

.bmod_comp_calendar_01 .list_schedule .seats > li a {
  position: relative;
  padding: 11px 25px 12px 16px;
  color: #000;
}

@media only screen and (min-width: 767px) {
  .bmod_comp_calendar_01 .list_schedule .seats > li a:hover, .bmod_comp_calendar_01 .list_schedule .seats > li a:focus, .bmod_comp_calendar_01 .list_schedule .seats > li a:active {
    opacity: .7;
    text-decoration: none;
  }
}

.bmod_comp_calendar_01 .list_schedule .seats > li a::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 9px;
  width: 0;
  height: 0;
  margin-top: -5px;
  border-color: transparent transparent transparent #000;
  border-style: solid;
  border-width: 4px 0 4px 6px;
}

.bmod_comp_calendar_01 .list_schedule .seats > li._full {
  background-color: #a3a3a3;
}

.bmod_comp_calendar_01 .list_schedule .seat_class {
  flex: 1 1 auto;
  margin-right: 5px;
  white-space: nowrap;
}

.bmod_comp_calendar_01 .list_schedule .status {
  flex-wrap: nowrap;
  text-align: right;
  font-size: 1.2rem;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .status {
    display: inline-block;
    flex-basis: auto;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
  }
}

.bmod_comp_calendar_01 .list_schedule .status::before {
  content: '';
  display: inline-block;
  margin-right: 4px;
  margin-bottom: -3px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .status::before {
    display: none;
  }
}

.bmod_comp_calendar_01 .list_schedule .status._circle {
  color: #2975cc;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .status._circle {
    width: 18px;
    height: 18px;
    background-image: url(/common/images/sprite.png);
    background-position: -104px 0;
    background-size: 122px 88px;
  }
}

.bmod_comp_calendar_01 .list_schedule .status._circle::before {
  width: 18px;
  height: 18px;
  background-image: url(/common/images/sprite.png);
  background-position: -104px 0;
  background-size: 122px 88px;
}

.bmod_comp_calendar_01 .list_schedule .status._triangle {
  color: #ee7600;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .status._triangle {
    width: 20px;
    height: 17px;
    background-image: url(/common/images/sprite.png);
    background-position: -19px -68px;
    background-size: 122px 88px;
  }
}

.bmod_comp_calendar_01 .list_schedule .status._triangle::before {
  width: 20px;
  height: 17px;
  background-image: url(/common/images/sprite.png);
  background-position: -19px -68px;
  background-size: 122px 88px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .status._xmark {
    width: 16px;
    height: 16px;
    background-image: url(/common/images/sprite.png);
    background-position: -39px -68px;
    background-size: 122px 88px;
  }
}

.bmod_comp_calendar_01 .list_schedule .status._xmark::before {
  width: 16px;
  height: 16px;
  background-image: url(/common/images/sprite.png);
  background-position: -39px -68px;
  background-size: 122px 88px;
}

.bmod_comp_calendar_01 .list_schedule .info {
  display: flex;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .info {
    display: block;
  }
}

.bmod_comp_calendar_01 .list_schedule .info dt {
  white-space: nowrap;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .info dt {
    display: inline;
  }
}

.bmod_comp_calendar_01 .list_schedule .info dt::after {
  content: '：';
  display: inline-block;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_calendar_01 .list_schedule .info dd {
    display: inline;
  }
}

/* js */
.jsHide {
  display: none !important;
}

.jsTelLink a {
  color: inherit;
}

/* toggle */
.jsTglArea .jsTglContent {
  overflow: hidden;
  transition: height 500ms;
}

.jsTglArea .jsTglBtnIcon {
  display: inline-block;
  width: 0;
  height: 0;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.jsTglArea .jsTglBtn {
  position: relative;
}

.jsTglArea .jsTglBtn::before, .jsTglArea .jsTglBtn::after {
  right: 20px;
  width: 14px;
  height: 2px;
  background: #f7f7f7;
}

.jsTglArea .jsTglBtn::after {
  margin-top: -1px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.jsOpen .jsTglArea .jsTglBtn::after {
  display: none !important;
}

/* tab area */
/* slick base css */
.slick-slider {
  display: block;
  position: relative;
  box-sizing: border-box;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;

  -webkit-touch-callout: none;
   -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  display: block;
  position: relative;
  padding: 0;
  margin: 0;
  overflow: hidden;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track, .slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}

.slick-track {
  display: block;
  position: relative;
  top: 0;
  left: 0;
}

.slick-track:before, .slick-track:after {
  content: '';
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir='rtl'] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
  margin: auto;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* carousel */
.bmod_comp_performance_list {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_performance_list {
    align-items: center;
    flex-direction: column;
  }
}

@media only screen and (max-width: 1296px) {
  .bmod_comp_performance_list {
    justify-content: center;
  }
}

.bmod_comp_performance_list .item {
  width: 300px;
  margin-bottom: 21px;
}

.bmod_comp_performance_list .item a {
  display: block;
  padding: 16px;
}

@media only screen and (min-width: 767px) {
  .bmod_comp_performance_list .item a:hover, .bmod_comp_performance_list .item a:focus, .bmod_comp_performance_list .item a:active {
    background-color: #cecece;
    text-decoration: none;
  }
}

@media only screen and (max-width: 768px) {
  .bmod_comp_performance_list .itemlist {
    background-color: #fff;
  }
}

.bmod_comp_performance_list .dmc_img {
  display: flex;
  align-items: center;
  width: 268px;
  height: 384px;
  margin-bottom: 16px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_performance_list .dmc_img {
    width: 117px;
    height: 161px;
    margin: 0 auto 16px;
  }
}

.bmod_comp_performance_list .dmc_img img {
  width: 100%;
}

.bmod_comp_performance_list .dmc_detail {
  font-weight: bold;
  color: #000;
}

.bmod_comp_performance_list .dmc_detail .term {
  margin-bottom: 19px;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_performance_list .dmc_detail .term {
    margin-bottom: 12px;
  }
}

.bmod_comp_performance_list .dmc_detail .term .tag {
  display: inline-block;
  padding: 0 7px 0 8px;
  margin-right: 7px;
  color: #fff;
}

.bmod_comp_performance_list .dmc_detail .term .tag._accept {
  background-color: #2972cc;
}

.bmod_comp_performance_list .dmc_detail .term .tag._before {
  background-color: #8a6e1c;
}

.bmod_comp_performance_list .dmc_detail .term .tag._soldout {
  background-color: #747474;
}
.bmod_comp_performance_list .dmc_detail .title {
  margin-bottom: 15px;
  font-size: 1.8rem;
  font-weight: bold;
}

@media only screen and (max-width: 768px) {
  .bmod_comp_performance_list .dmc_detail .title {
    margin-bottom: 6px;
  }
}

.bmod_comp_performance_list .dmc_detail .duration {
  font-size: 1.2rem;
}

.jsCarousel_01._single .slick-dots {
  display: none;
}

.jsCarousel_01 .slick-prev, .jsCarousel_01 .slick-next {
  position: absolute;
  border-bottom: 1px solid transparent;
  font-weight: bold;
}

@media only screen and (min-width: 767px) {
  .jsCarousel_01 .slick-prev:hover, .jsCarousel_01 .slick-prev:focus, .jsCarousel_01 .slick-prev:active, .jsCarousel_01 .slick-next:hover, .jsCarousel_01 .slick-next:focus, .jsCarousel_01 .slick-next:active {
    border-bottom: 1px solid #000;
  }
}

.jsCarousel_01 .slick-prev {
  bottom: 0;
  left: 16px;
}

.jsCarousel_01 .slick-prev::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 7px;
  margin-bottom: 3px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  -webkit-transform: rotate(-135deg) skew(-15deg, -15deg) translate(-5px);
          transform: rotate(-135deg) skew(-15deg, -15deg) translate(-5px);
}

.jsCarousel_01 .slick-next {
  right: 16px;
  bottom: 0;
}

.jsCarousel_01 .slick-next::after {
  content: '';
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 8px;
  margin-bottom: 3px;
  border-top: solid 2px #000;
  border-right: solid 2px #000;
  -webkit-transform: rotate(45deg) skew(-15deg, -15deg) translate(5px);
          transform: rotate(45deg) skew(-15deg, -15deg) translate(5px);
}

.jsCarousel_01 .slick-dots {
  margin-top: 2px;
  text-align: center;
}

.jsCarousel_01 .slick-dots li {
  display: inline-block;
  margin: 0 10px;
}

.jsCarousel_01 .slick-dots li button {
  font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', sans-serif !important;
  font-size: 1.4rem;
  font-weight: bold;
  color: #000;
}

@media only screen and (min-width: 767px) {
  .jsCarousel_01 .slick-dots li button:hover, .jsCarousel_01 .slick-dots li button:focus, .jsCarousel_01 .slick-dots li button:active {
    text-decoration: underline;
  }
}

.jsCarousel_01 .slick-dots li.slick-active button {
  text-decoration: underline;
}

.jsCarousel_01 .slider_btn {
  display: inline-block;
  position: relative;
  width: 13px;
  height: 14px;
  margin-bottom: 2px;
  margin-left: 12px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

.jsCarousel_01 .slider_btn .btn {
  display: block;
  top: 2px;
  width: 13px;
  height: 14px;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

@media only screen and (min-width: 767px) {
  .jsCarousel_01 .slider_btn .btn:hover, .jsCarousel_01 .slider_btn .btn:focus, .jsCarousel_01 .slider_btn .btn:active {
    opacity: .7;
  }
}

.jsCarousel_01 .slider_btn .btn::before, .jsCarousel_01 .slider_btn .btn::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  width: 4px;
  height: 13px;
  background: #fff;
}

.jsCarousel_01 .slider_btn .btn::before {
  left: 0;
}

.jsCarousel_01 .slider_btn .btn::after {
  right: 0;
}

.jsCarousel_01 .slider_btn .btn.jsStop::before {
  width: 0;
  height: 0;
  background: transparent;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
  border-width: 7px 0 7px 12px;
}

.jsCarousel_01 .slider_btn .btn.jsStop::after {
  display: none;
}

/* adjust */
.w_5 {
  width: 5% !important;
}

.w_6 {
  width: 6% !important;
}

.w_7 {
  width: 7% !important;
}

.w_8 {
  width: 8% !important;
}

.w_9 {
  width: 9% !important;
}

.w_10 {
  width: 10% !important;
}

.w_11 {
  width: 11% !important;
}

.w_12 {
  width: 12% !important;
}

.w_13 {
  width: 13% !important;
}

.w_14 {
  width: 14% !important;
}

.w_15 {
  width: 15% !important;
}

.w_16 {
  width: 16% !important;
}

.w_17 {
  width: 17% !important;
}

.w_18 {
  width: 18% !important;
}

.w_19 {
  width: 19% !important;
}

.w_20 {
  width: 20% !important;
}

.w_21 {
  width: 21% !important;
}

.w_22 {
  width: 22% !important;
}

.w_23 {
  width: 23% !important;
}

.w_24 {
  width: 24% !important;
}

.w_25 {
  width: 25% !important;
}

.w_26 {
  width: 26% !important;
}

.w_27 {
  width: 27% !important;
}

.w_28 {
  width: 28% !important;
}

.w_29 {
  width: 29% !important;
}

.w_30 {
  width: 30% !important;
}

.w_31 {
  width: 31% !important;
}

.w_32 {
  width: 32% !important;
}

.w_33 {
  width: 33% !important;
}

.w_34 {
  width: 34% !important;
}

.w_35 {
  width: 35% !important;
}

.w_36 {
  width: 36% !important;
}

.w_37 {
  width: 37% !important;
}

.w_38 {
  width: 38% !important;
}

.w_39 {
  width: 39% !important;
}

.w_40 {
  width: 40% !important;
}

.w_41 {
  width: 41% !important;
}

.w_42 {
  width: 42% !important;
}

.w_43 {
  width: 43% !important;
}

.w_44 {
  width: 44% !important;
}

.w_45 {
  width: 45% !important;
}

.w_46 {
  width: 46% !important;
}

.w_47 {
  width: 47% !important;
}

.w_48 {
  width: 48% !important;
}

.w_49 {
  width: 49% !important;
}

.w_50 {
  width: 50% !important;
}

.w_51 {
  width: 51% !important;
}

.w_52 {
  width: 52% !important;
}

.w_53 {
  width: 53% !important;
}

.w_54 {
  width: 54% !important;
}

.w_55 {
  width: 55% !important;
}

.w_56 {
  width: 56% !important;
}

.w_57 {
  width: 57% !important;
}

.w_58 {
  width: 58% !important;
}

.w_59 {
  width: 59% !important;
}

.w_60 {
  width: 60% !important;
}

.w_61 {
  width: 61% !important;
}

.w_62 {
  width: 62% !important;
}

.w_63 {
  width: 63% !important;
}

.w_64 {
  width: 64% !important;
}

.w_65 {
  width: 65% !important;
}

.w_66 {
  width: 66% !important;
}

.w_67 {
  width: 67% !important;
}

.w_68 {
  width: 68% !important;
}

.w_69 {
  width: 69% !important;
}

.w_70 {
  width: 70% !important;
}

.w_71 {
  width: 71% !important;
}

.w_72 {
  width: 72% !important;
}

.w_73 {
  width: 73% !important;
}

.w_74 {
  width: 74% !important;
}

.w_75 {
  width: 75% !important;
}

.w_76 {
  width: 76% !important;
}

.w_77 {
  width: 77% !important;
}

.w_78 {
  width: 78% !important;
}

.w_79 {
  width: 79% !important;
}

.w_80 {
  width: 80% !important;
}

.w_81 {
  width: 81% !important;
}

.w_82 {
  width: 82% !important;
}

.w_83 {
  width: 83% !important;
}

.w_84 {
  width: 84% !important;
}

.w_85 {
  width: 85% !important;
}

.w_86 {
  width: 86% !important;
}

.w_87 {
  width: 87% !important;
}

.w_88 {
  width: 88% !important;
}

.w_89 {
  width: 89% !important;
}

.w_90 {
  width: 90% !important;
}

.w_91 {
  width: 91% !important;
}

.w_92 {
  width: 92% !important;
}

.w_93 {
  width: 93% !important;
}

.w_94 {
  width: 94% !important;
}

.w_95 {
  width: 95% !important;
}

.w_96 {
  width: 96% !important;
}

.w_97 {
  width: 97% !important;
}

.w_98 {
  width: 98% !important;
}

.w_99 {
  width: 99% !important;
}

.w_100 {
  width: 100% !important;
}

.w_0px {
  width: 0;
}

.w_10px {
  width: 10px;
}

.w_20px {
  width: 20px;
}

.w_30px {
  width: 30px;
}

.w_40px {
  width: 40px;
}

.w_50px {
  width: 50px;
}

.w_60px {
  width: 60px;
}

.w_70px {
  width: 70px;
}

.w_80px {
  width: 80px;
}

.w_90px {
  width: 90px;
}

.w_100px {
  width: 100px;
}

.w_110px {
  width: 110px;
}

.w_120px {
  width: 120px;
}

.w_130px {
  width: 130px;
}

.w_140px {
  width: 140px;
}

.w_150px {
  width: 150px;
}

.w_160px {
  width: 160px;
}

.w_170px {
  width: 170px;
}

.w_180px {
  width: 180px;
}

.w_190px {
  width: 190px;
}

.w_200px {
  width: 200px;
}

.w_210px {
  width: 210px;
}

.w_220px {
  width: 220px;
}

.w_230px {
  width: 230px;
}

.w_240px {
  width: 240px;
}

.w_250px {
  width: 250px;
}

.w_260px {
  width: 260px;
}

.w_270px {
  width: 270px;
}

.w_280px {
  width: 280px;
}

.w_290px {
  width: 290px;
}

.w_300px {
  width: 300px;
}

.w_310px {
  width: 310px;
}

.w_320px {
  width: 320px;
}

.w_330px {
  width: 330px;
}

.w_340px {
  width: 340px;
}

.w_350px {
  width: 350px;
}

.w_360px {
  width: 360px;
}

.w_370px {
  width: 370px;
}

.w_380px {
  width: 380px;
}

.w_390px {
  width: 390px;
}

.w_400px {
  width: 400px;
}

.w_410px {
  width: 410px;
}

.w_420px {
  width: 420px;
}

.w_430px {
  width: 430px;
}

.w_440px {
  width: 440px;
}

.w_450px {
  width: 450px;
}

.w_460px {
  width: 460px;
}

.w_470px {
  width: 470px;
}

.w_480px {
  width: 480px;
}
.w_10em {
  width: 10em;
}
.w_20em {
  width: 20em;
}
.w_30em {
  width: 30em;
}
.w_40em {
  width: 40em;
}
.w_50em {
  width: 50em;
}
.w_60em {
  width: 60em;
}
.w_70em {
  width: 70em;
}
.w_80em {
  width: 80em;
}
.w_90em {
  width: 90em;
}
.w_100em {
  width: 100em;
}
.w_110em {
  width: 110em;
}
.w_120em {
  width: 120em;
}
.w_130em {
  width: 130em;
}
.w_140em {
  width: 140em;
}
.w_150em {
  width: 150em;
}
.w_160em {
  width: 160em;
}
.w_170em {
  width: 170em;
}
.w_180em {
  width: 180em;
}
.w_190em {
  width: 190em;
}
.w_200em {
  width: 200em;
}
.w_210em {
  width: 210em;
}
.w_220em {
  width: 220em;
}
.w_230em {
  width: 230em;
}
.w_240em {
  width: 240em;
}
.w_250em {
  width: 250em;
}
.w_260em {
  width: 260em;
}
.w_270em {
  width: 270em;
}
.w_280em {
  width: 280em;
}
.w_290em {
  width: 290em;
}
.w_300em {
  width: 300em;
}
.w_310em {
  width: 310em;
}
.w_320em {
  width: 320em;
}
.w_330em {
  width: 330em;
}
.w_340em {
  width: 340em;
}
.w_350em {
  width: 350em;
}
.w_360em {
  width: 360em;
}
.w_370em {
  width: 370em;
}
.w_380em {
  width: 380em;
}
.w_390em {
  width: 390em;
}
.w_400em {
  width: 400em;
}
@media only screen and (max-width: 768px) {
  .sp_w_100 {
    width: 100% !important;
  }
}

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

.align_l {
  text-align: left !important;
}

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

.float_l {
  float: left !important;
}

.float_r {
  float: right !important;
}

@media only screen and (max-width: 768px) {
  .none_sp {
    display: none;
  }
}

@media only screen and (min-width: 769px) {
  .none_pc {
    display: none;
  }
}

.none {
  display: none;
}

input[readonly] {
	border-width:0px;
	border-style:none;
	margin: 0px;
	padding: 0px;
	background-color: #FFFFFF;
}
input[readonly]::-webkit-input-placeholder {
	color: #FFFFFF;
}
input[readonly]::-moz-placeholder {
	color: #FFFFFF;
}
input[readonly]:-ms-input-placeholder {
	color: #FFFFFF;
}
/* PC用 */
img.pc {
	display: block !important;
}
img.sp {
	display: none !important;
}
/* スマホ用 */
@media only screen and (max-width: 769px) {
	img.pc {
		display: none !important;
	}
	img.sp {
		display: block !important;
	}
}

/* 東宝ナビザーブ新規追加用(2025/10/06) */
.registration_table{
  display: table;
  width: 450px;
  max-width: 450px;
  margin: 2em auto 0;
  padding: 0;
  border: 1px solid #000;
  border-spacing: 0;
}

.registration_table .table{
  display: table-row;
}

.registration_table .cell{
  display: table-cell;
  border-left: 1px solid #000;
  border-top: 1px solid #000;
  padding: 1px 0;
  text-align: center;
  width: 150px;
}

.registration_table .table:first-child .cell{
  border-top: none;
}

.registration_table .table .cell:first-child{
  border-left: none;
}

.registration_table .cell.title{
  font-weight: bold;
  background: #ebebeb;
}

.registration_table .cell:empty{
  background: linear-gradient(
    9deg, #ebebeb, #ebebeb 48%, #000 50%, #000 50%, #ebebeb 52%, #ebebeb
  );
}

@media only screen and (max-width: 768px) {
  .registration_table{
    width: 300px;
    max-width: 300px;
  }
  .registration_table .cell{
    width: 100px;
  }
  .registration_table .cell:empty{
    background: linear-gradient(
      12deg, #ebebeb, #ebebeb 48.5%, #000 49.5%, #000 50.5%, #ebebeb 51.5%, #ebebeb
    );
  }


