@charset "UTF-8";
/* ===== Normalize =============================================
   normalize.css v2.1.3 | MIT License | git.io/normalize
   ==================================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden], template {
  display: none;
}

html {
  background: #fff;
  color: #000;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

html,
button,
input,
select,
textarea {
    font-family: "FP-ヒラギノ角ゴ StdN W2", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif;
/*   font-family: sans-serif; */
}

body {
  margin: 0;
}

a {
  background: transparent;
}
a:focus {
  outline: thin dotted;
}
a:hover, a:active {
  outline: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

h2 {
  font-size: 1.5em;
  margin: 0.83em 0;
}

h3 {
  font-size: 1.17em;
  margin: 1em 0;
}

h4 {
  font-size: 1em;
  margin: 1.33em 0;
}

h5 {
  font-size: 0.83em;
  margin: 1.67em 0;
}

h6 {
  font-size: 0.75em;
  margin: 2.33em 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: 800;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

code,
kbd,
pre,
samp {
/*  font-family: monospace, serif; */
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: "“" "”" "‘" "’";
}

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

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
  white-space: normal;
}

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
}

button, input {
  line-height: normal;
}

button,
select {
  text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
input[disabled] {
  cursor: default;
}

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

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

input[type=search] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type=search]::-webkit-search-cancel-button, input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

/* ===== scss settings =============================================
   Author:
   ==================================================================== */
/* ===== mixin =============================================
   ==================================================================== */
/* =======================
	Initialize
	======================================================= */
* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  background: #fff;
}

body {
/*  font-family: "FP-ヒラギノ角ゴ StdN W2", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif; */
  font-size: clamp(1.4rem, 1rem + 0.4vw , 1.7rem);
  font-weight: 500;
  font-style: normal;
  line-height: 1;
  font-smoothing: antialiased;
  box-sizing: border-box;
  background: #fff;
  color: #000;
  min-height: 100vh;
  position: relative;
  --space-xs: clamp(1.0rem, 0.5rem + 0.5vw, 1.875rem);
  --space-sm: calc(var(--space-xs) * 1.5);
  --space-md: calc(var(--space-xs) * 2);
  --space-lg: calc(var(--space-xs) * 3);
  --space-xl: calc(var(--space-xs) * 4);
  --space-xxl: calc(var(--space-xs) * 5);
}
@media only screen and (max-width: 1000px) {
  body {
    -webkit-text-size-adjust: 100%;
    word-wrap: break-word;
  }
}
body.is_mb_menuOpen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}

ul {
  margin: 0;
  padding: 0;
}

p {
  margin: 0 0 1rem;
  line-height: 1.8;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 800;
  margin: 0;
}

a {
  color: #333;
  text-decoration: none;
  transition: color 0.2s ease-in-out, background 0.2s ease-in-out;
}
a:hover {
  color: #333;
  transition: color 0.3s ease-in-out, background 0.3s ease-in-out;
}

hr {
  border: 0;
  height: 0;
  border-top: 1px solid #c8c8c8;
  margin: var(--space-lg) 0;
}
@media only screen and (max-width: 767px) {
  hr {
    margin: var(--space-sm) 0;
  }
}

.ly_header {
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 0 var(--space-md);
  padding: 0 var(--space-sm);
  background: #fff;
/*  height: 62px; */
  height: 100px;
  width: 100%;
  border-bottom: 1px solid #c8c8c8;
  transition: transform 0.5s ease-in-out;
}
@media only screen and (max-width: 1000px) {
  .ly_header {
    gap: 0 var(--space-xs);
    padding: 0 var(--space-xs);
  }
}
@media only screen and (max-width: 767px) {
  .ly_header {
    height: 50px;
    padding: 0 var(--space-sm);
  }
  .ly_header--myPage {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
  }
}

.logoBox {
  width: 300px;
}
@media only screen and (max-width: 1000px) {
  .logoBox {
    width: 230px;
  }
}
@media only screen and (max-width: 767px) {
  .logoBox {
    width: 170px;
    margin: 0 auto;
  }
  .ly_header--myPage .logoBox {
    margin: 0 var(--space-sm) 0 0;
  }
}
.logoBox img {
  width: 100%;
  display: block;
}

.pg_staff .ly_footer {
  border-top: 1px solid #c8c8c8;
}
@media only screen and (max-width: 767px) {
  .ly_footer {
    flex-direction: column;
    align-items: center;
    gap: var(--space-xs) 0;
  }
}

.footerTop {
  background: #f8f8f8;
}
.footerTopInner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1400px;
  margin: 0 auto;
  padding: var(--space-sm) var(--space-lg);
}
@media only screen and (max-width: 767px) {
  .footerTopInner {
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm) 0;
  }
}

.footerTextLink {
  display: flex;
  gap: 0 var(--space-lg);
  align-items: center;
}
.footerTextLink__item {
  display: block;
}
.footerTextLink__item a {
  font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
  display: inline-flex;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .footerTextLink__item a {
    font-size: clamp(0.9rem, 0.8rem + 0.1vw , 1.2rem);
  }
}

.footerSns {
  display: flex;
  gap: 0 var(--space-sm);
}
.footerSns__item {
  display: block;
}
.footerSns__link {
  display: flex;
}
.footerSns__link img {
  width: 30px;
  height: 30px;
  display: block;
  transition: opacity 0.3s ease-in-out;
}
.footerSns__link:hover img {
  opacity: 0.5;
}

.footerBottom {
/* 宇田川がいじる前のオリジナル
  background: #fff;
  padding: var(--space-lg) 0;
*/
    background: #000;
    padding: 0.3em 0;
    color: #fff;
}
.footerBottomInner {
  display: flex;
  gap: 0 var(--space-xl);
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 var(--space-lg);
/* ↓追加 T.Utagawa*/
  justify-content: center;
/* ↑追加 T.Utagawa*/
}
@media only screen and (max-width: 767px) {
  .footerBottomInner {
    flex-direction: column;
    align-items: center;
    gap: var(--space-sm) 0;
  }
}

.footerCompanyName {
  width: 200px;
}
.footerCompanyName a {
  display: block;
}
.footerCompanyName img {
  width: auto;
  height: 100%;
  display: block;
}
@media only screen and (max-width: 767px) {
  .footerCompanyName {
    width: 140px;
  }
}

.copyrights {
  text-align: center;
  font-size: clamp(0.9rem, 0.8rem + 0.1vw , 1.2rem);
}
@media only screen and (max-width: 767px) {
  .copyrights {
    line-height: 1.6;
  }
}

.ly_content {
  min-height: calc(100vh - 62px - 154px);
  position: relative;
}
.pg_staff .ly_content {
  min-height: calc(100vh - 62px - 99px);
}
@media only screen and (max-width: 767px) {
  .ly_content {
    min-height: calc(100vh - 50px - 46px - 126px);
  }
  .ly_header--myPage + .ly_content {
    padding-top: 50px;
  }
}

.ly_entrance {
  display: flex;
  max-width: 1240px;
  min-height: inherit;
  align-items: center;
  flex-wrap: wrap;
  padding: var(--space-lg) var(--space-lg);
  margin: 0 auto;
}
.ly_entranceChild {
  display: flex;
  justify-content: center;
  gap: 0 var(--space-lg);
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .ly_entranceChild {
    flex-direction: column;
    gap: var(--space-sm) 0;
  }
}

.ly_mypage {
  max-width: 1000px;
  min-height: inherit;
  padding: var(--space-lg) var(--space-lg);
  margin: 0 auto;
}
@media only screen and (max-width: 1000px) {
  .ly_mypage {
    padding: var(--space-sm) var(--space-sm);
  }
}
.ly_mypage--reserve {
  max-width: 1240px;
}

.ly_mypageBlock {
  display: flex;
  width: 100%;
  gap: 0 var(--space-xl);
}
@media only screen and (max-width: 767px) {
  .ly_mypageBlock {
    flex-wrap: wrap;
    gap: 0;
  }
}
.ly_mypageBlockChild {
  width: 100%;
}
.ly_mypageBlockChild--registration {
  width: calc(70% - var(--space-xl));
  font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
}
@media only screen and (max-width: 767px) {
  .ly_mypageBlockChild--registration {
    width: 100%;
  }
}
.ly_mypageBlockChild--ticket {
  width: 30%;
}
@media only screen and (max-width: 767px) {
  .ly_mypageBlockChild--ticket {
    width: 100%;
  }
}
.ly_mypageBlockChild--staff .pr_mypageBox:first-of-type {
  margin-bottom: 0;
  border-bottom: none;
}
.ly_mypageBlockChild--staff .pr_mypageBox:nth-child(2) {
  border-top: 0;
  margin-top: calc(var(--space-lg) * -1);
}
.ly_card {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md) var(--space-md);
}

.cp_headName {
  margin-right: auto;
  margin-left: var(--space-sm);
}
@media only screen and (max-width: 1000px) {
  .cp_headName {
    margin-left: 0;
    font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
  }
}

@media only screen and (max-width: 767px) {
  .cp_mainNav {
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    background: #fff;
    display: none;
  }
  .cp_mainNav.is_active {
    display: block;
  }
}
.cp_mainNav__grp {
  display: flex;
  gap: 0 10px;
}
@media only screen and (max-width: 1100px) {
  .cp_mainNav__grp {
    gap: 0 5px;
  }
}
@media only screen and (max-width: 1000px) {
  .cp_mainNav__grp {
    gap: 0 2px;
  }
}
@media only screen and (max-width: 767px) {
  .cp_mainNav__grp {
    flex-wrap: wrap;
    padding: var(--space-md) 0 var(--space-xl);
  }
}
.cp_mainNav__item {
  display: block;
}
@media only screen and (max-width: 767px) {
  .cp_mainNav__item {
    width: 100%;
    opacity: 0;
  }
  .is_active .cp_mainNav__item {
    animation-name: menuToLeft;
    animation-duration: 0.4s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
  }
  .cp_mainNav__item:nth-child(1) {
    animation-delay: 0.05s;
  }
  .cp_mainNav__item:nth-child(2) {
    animation-delay: 0.1s;
  }
  .cp_mainNav__item:nth-child(3) {
    animation-delay: 0.15s;
  }
  .cp_mainNav__item:nth-child(4) {
    animation-delay: 0.2s;
  }
  .cp_mainNav__item:nth-child(5) {
    animation-delay: 0.25s;
  }
  .cp_mainNav__item:nth-child(6) {
    animation-delay: 0.3s;
  }
  .cp_mainNav__item:nth-child(7) {
    animation-delay: 0.35s;
  }
  .cp_mainNav__item:nth-child(8) {
    animation-delay: 0.4s;
  }
  .cp_mainNav__item:nth-child(9) {
    animation-delay: 0.45s;
  }
  .cp_mainNav__item:nth-child(10) {
    animation-delay: 0.5s;
  }
}
.cp_mainNav__link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 calc(var(--space-md) / 1.5);
  position: relative;
  height: 40px;
  text-align: center;
}
@media only screen and (max-width: 1240px) {
  .cp_mainNav__link {
    padding: 0 calc(var(--space-xs) / 1.5);
  }
}
@media only screen and (max-width: 1100px) {
  .cp_mainNav__link {
    padding: 0 calc(var(--space-xs) / 3);
  }
  .cp_mainNav__link .cp_iconBlank {
    margin-left: 2px;
  }
}
@media only screen and (max-width: 1000px) {
  .cp_mainNav__link {
    padding: 0 calc(var(--space-xs) / 3);
    font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
  }
}
@media only screen and (max-width: 767px) {
  .cp_mainNav__link {
    justify-content: flex-start;
    padding: var(--space-md) var(--space-xl);
    height: auto;
    font-size: clamp(1.4rem, 1rem + 0.4vw , 1.7rem);
  }
  .cp_mainNav__link::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: var(--space-md);
    width: 10px;
    border-top: 1px solid #000;
  }
}
.cp_mainNav__link::before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
}
@media only screen and (max-width: 767px) {
  .cp_mainNav__link::before {
    display: none;
  }
}
.cp_mainNav__link:hover {
  color: #cc0000;
}
.cp_mainNav__link:hover::before {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #cc0000;
  transition: width ease-in-out 0.15s;
}
.cp_mainNav__link--logout {
  background: #fff;
  transition: all ease-in-out 0.15s;
  border: 1px solid #999;
  font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.5rem);
  padding: 0 var(--space-sm);
}
@media only screen and (max-width: 1100px) {
  .cp_mainNav__link--logout {
    padding: 0 calc(var(--space-xs) / 1.5);
    font-size: 0.75em;
  }
}
@media only screen and (max-width: 1000px) {
  .cp_mainNav__link--logout {
    padding: 0 calc(var(--space-xs) / 4);
  }
}
@media only screen and (max-width: 767px) {
  .cp_mainNav__link--logout {
    padding: var(--space-xs) var(--space-sm);
    height: auto;
    width: 10em;
    text-align: center;
    justify-content: center;
    margin-top: var(--space-md);
    margin-left: var(--space-md);
  }
  .cp_mainNav__link--logout::after {
    display: none;
  }
}
.cp_mainNav__link--logout:hover {
  background: #000;
  border-color: #000;
  color: #fff;
}
.cp_mainNav__link--logout:hover::before {
  display: none;
}

@keyframes menuToLeft {
  from {
    opacity: 0;
    transform: translateX(10px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.cp_mobileMenuBtn {
  display: none;
}
@media only screen and (max-width: 767px) {
  .cp_mobileMenuBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0px;
    right: 0px;
    display: block;
    width: 44px;
    height: 44px;
    text-align: center;
    line-height: 1;
  }
  .cp_mobileMenuBtn::before {
    content: "";
    background-image: url(../../img/humberger.svg);
    display: block;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    width: 44px;
    height: 44px;
    transition: background-image ease-in-out 0.15s;
  }
  .is_mbMenuOpen .cp_mobileMenuBtn::before {
    background-image: url(../../img/humberger_close.svg);
    transition: background-image ease-in-out 0.15s;
  }
}

.cp_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0px var(--space-md);
  min-width: 220px;
  height: 44px;
  border: 1px solid #777;
  text-decoration: none;
  transition: all 0.3s ease;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  position: relative;
  overflow: hidden;
  z-index: 1;
  background: #fff;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .cp_btn {
    min-width: 160px;
    border-color: #777;
  }
}
.cp_btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background-color: #cc0000;
  transition: left 0.3s ease;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .cp_btn::before {
    display: none;
  }
}
.cp_btn:hover {
  border-color: #cc0000;
  color: #fff;
}
.cp_btn:hover::before {
  left: 0;
}
.cp_btn--primary {
  background-color: #000;
  border-color: #000;
  border: none;
  color: #fff;
}
.cp_btn--primary:hover {
  background-color: rgba(255, 0, 0, 0.3);
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .cp_btn--primary:hover {
    border: none;
  }
}
.cp_btn--wh {
  border-color: #fff;
  color: #fff;
}
.cp_btn--sm {
  height: 30px;
  min-width: -moz-fit-content;
  min-width: fit-content;
  font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
}
@media only screen and (max-width: 767px) {
  .cp_btn--sm {
    padding: 0 var(--space-xs);
    font-size: clamp(1.1rem, 0.8rem + 0.1vw , 1.2rem);
  }
}
.cp_btn--cancel {
  background: #eee;
  color: #666;
  border-color: #999;
  min-width: auto;
}
.cp_btn--cancel::before {
  background: #aaa;
}
.cp_btn--cancel:hover {
  border-color: #999;
}
.cp_btn--arrow::after {
  content: "";
  border-top: 1px solid #666;
  border-left: 1px solid #666;
  transform: rotate(135deg);
  width: 6px;
  height: 6px;
  display: inline-flex;
  margin-left: 6px;
  transition: all 0.3s ease-in-out;
}
.cp_btn--arrow:hover::after {
  transform: translateX(3px) rotate(135deg);
  border-color: #fff;
}
@media only screen and (max-width: 767px) {
  .cp_btn--arrow:hover::after {
    transform: rotate(135deg);
  }
}
.cp_btn--arrow.cp_btn--primary::after {
  border-color: #fff;
}
.cp_btn.cp_btn--wh::after {
  border-color: #fff;
}
.cp_btn--remove {
  min-width: 80px;
  background: #ddd;
  padding: 0;
}
@media only screen and (max-width: 767px) {
  .cp_btn--remove {
    min-width: 50px;
    height: 30px;
    font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
  }
}
.cp_btn--remove:hover {
  border-color: #666;
  color: #000;
  background: #bbb;
}
.cp_btn--remove::before {
  content: "";
  position: relative;
  top: auto;
  left: auto;
  background-color: transparent;
  transition: none;
  z-index: auto;
  background-image: url("/img/icon_remove.svg");
  background-size: 20px;
  background-repeat: no-repeat;
  display: inline-flex;
  width: 20px;
  height: 20px;
}
@media only screen and (max-width: 767px) {
  .cp_btn--remove::before {
    background-size: 16px;
    width: 16px;
    height: 16px;
  }
}
.cp_btn--close:hover {
  border-color: #666;
  color: #000;
  background: #bbb;
}
.cp_btn--close::before {
  content: "";
  position: relative;
  top: auto;
  left: auto;
  background-color: transparent;
  transition: none;
  z-index: auto;
  background-image: url("/img/icon_remove.svg");
  background-size: 20px;
  background-repeat: no-repeat;
  display: inline-flex;
  width: 20px;
  height: 20px;
}
@media only screen and (max-width: 767px) {
  .cp_btn--close::before {
    background-size: 16px;
    width: 16px;
    height: 16px;
  }
}

.cp_iconBack::before {
  content: "";
  border-top: 1px solid #666;
  border-left: 1px solid #666;
  transform: rotate(-45deg);
  width: 6px;
  height: 6px;
  display: inline-flex;
  margin-right: 6px;
}

.cp_textLink {
  line-height: 1.4;
  text-decoration: underline;
  display: inline-flex;
}

.cp_addBtn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #777;
  cursor: pointer;
  transition: transform 0.3s ease;
}
@media only screen and (max-width: 767px) {
  .cp_addBtn {
    width: 40px;
    height: 40px;
  }
}
.cp_addBtn img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.cp_addBtn:hover {
  transform: scale(1.1);
}

.cp_inputElm {
  width: 100%;
}

.cp_required {
  font-style: normal;
  color: #fff;
  font-weight: normal;
  background: #ff2200;
  display: inline-flex;
  align-items: center;
  padding: 0px 4px 0px;
  width: 4em;
  height: 18px;
  text-align: center;
  justify-content: center;
  font-size: clamp(0.9rem, 0.8rem + 0.1vw , 1.2rem);
}
.cp_required--abs {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .cp_required--abs {
    position: relative;
    top: auto;
    transform: translateY(0);
    margin-left: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .cp_required {
    font-size: clamp(0.9rem, 0.8rem + 0.1vw , 1.2rem);
    height: 15px;
    padding: 0 2px 0;
  }
}

.cp_formMsg {
  margin: 0 0 var(--space-md);
  text-align: center;
  padding: var(--space-sm) var(--space-md);
  line-height: 1.6;
  color: #377a2c;
  background: #E1F9E1;
}
@media only screen and (max-width: 767px) {
  .cp_formMsg {
    padding: calc(var(--space-xs)) var(--space-sm);
    text-align: left;
  }
}
.cp_formMsg--plain {
  color: #000;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .cp_formMsg--plain {
    padding-right: 0;
    padding-left: 0;
  }
}

.cp_error {
  margin: 10px 0;
  color: #ff2200;
  background: rgba(255, 50, 0, 0.1);
  border: 1px solid #ff2200;
  box-sizing: border-box;
  padding: 12px;
  border-radius: 5px;
  width: 100%;
    /* 宇田川追加 */
  line-height: 1.2em;
}

.cp_formInit input[type=text],
.cp_formInit input[type=password],
.cp_formInit input[type=number],
.cp_formInit input[type=email],
.cp_formInit input[type=tel],
.cp_formInit textarea {
  border: 1px solid #b2b2b2;
  border-radius: 6px;
  padding: 8px 12px;
  height: 44px;
  box-sizing: border-box;
  background: #fff;
  line-height: 1.4;
/*  font-family: "FP-ヒラギノ角ゴ StdN W2", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif; */
}
.cp_formInit input[type=text]:focus,
.cp_formInit input[type=password]:focus,
.cp_formInit input[type=number]:focus,
.cp_formInit input[type=email]:focus,
.cp_formInit input[type=tel]:focus,
.cp_formInit textarea:focus {
  outline: none;
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
  border: 1px solid #000 !important;
  background: rgba(64, 158, 255, 0.2) !important;
}
.cp_formInit input[type=text].is-error,
.cp_formInit input[type=password].is-error,
.cp_formInit input[type=number].is-error,
.cp_formInit input[type=email].is-error,
.cp_formInit input[type=tel].is-error,
.cp_formInit textarea.is-error {
  background: rgba(255, 50, 0, 0.1);
  border: 1px solid #ff2200;
}
@media only screen and (max-width: 767px) {
  .cp_formInit input[type=text],
  .cp_formInit input[type=password],
  .cp_formInit input[type=number],
  .cp_formInit input[type=email],
  .cp_formInit input[type=tel],
  .cp_formInit textarea {
    font-size: 16px;
    font-size: 1.6rem;
    padding: 6px 15px;
    height: 38px;
  }
}
.cp_formInit ::-moz-placeholder {
  color: #aaa;
/*  font-family: "FP-ヒラギノ角ゴ StdN W2", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif; */
}
.cp_formInit ::placeholder {
  color: #aaa;
/*  font-family: "FP-ヒラギノ角ゴ StdN W2", "メイリオ", Meiryo, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "Hiragino Kaku Gothic Pro", sans-serif; */
}
@media only screen and (max-width: 767px) {
  .cp_formInit ::-moz-placeholder {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .cp_formInit ::placeholder {
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.cp_formInit--complete {
  padding-top: var(--space-lg);
}
@media only screen and (max-width: 767px) {
  .cp_formInit--complete {
    padding-top: 0;
  }
}

.cp_formItem {
  display: flex;
  margin: 0px 0 var(--space-lg);
  gap: 0 var(--space-md);
}
@media only screen and (max-width: 767px) {
  .cp_formItem {
    display: block;
  }
}
.cp_formItem--add {
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .cp_formItem--add {
    display: flex;
  }
}
.formInit--confirm .cp_formItem {
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
}
@media only screen and (max-width: 767px) {
  .pr_entranceBox--login .cp_formItem {
    padding: 0 var(--space-sm);
    margin-bottom: var(--space-xs);
  }
}
.ly_mypageBlockChild--registration .cp_formItem {
  margin-bottom: 0;
}
@media only screen and (max-width: 767px) {
  .ly_mypageBlockChild--registration .cp_formItem {
    margin-bottom: var(--space-xs);
  }
}
.pr_mypageBox--userEditComplete .cp_formItem {
  margin-bottom: var(--space-xs);
}
.cp_formItem__label {
  width: 270px;
  box-sizing: border-box;
  padding-right: 32px;
  line-height: 1.2;
  display: flex;
  height: 40px;
  align-items: center;
  position: relative;
  color: #333;
/*  font-family: "FP-ヒラギノ角ゴ StdN W4"; */
}
@media only screen and (max-width: 767px) {
  .cp_formItem__label {
    margin: 0 0 calc(var(--space-xs) / 2);
    height: auto;
    padding-right: 0;
    width: 100%;
  }
  .cp_formItem__label br {
    display: none;
  }
}
.cp_formInit--confirm .cp_formItem__label {
  font-size: 12px;
  font-size: 1.2rem;
  color: #999;
}
.pr_entranceBox--login .cp_formItem__label {
  width: 120px;
  padding-right: 0;
}
@media only screen and (max-width: 767px) {
  .pr_entranceBox--login .cp_formItem__label {
    width: 100%;
    margin: 0;
    font-size: clamp(1.1rem, 0.8rem + 0.1vw , 1.2rem);
  }
}
.ly_mypageBlockChild--registration .cp_formItem__label {
  width: 120px;
  padding-right: 0;
  color: #999;
}
@media only screen and (max-width: 767px) {
  .ly_mypageBlockChild--registration .cp_formItem__label {
    width: 100%;
    margin: 0;
    font-size: clamp(1.1rem, 0.8rem + 0.1vw , 1.2rem);
  }
}
.pr_mypageBox--userEditComplete .cp_formItem__label {
  width: 120px;
  padding-right: 0;
  color: #999;
}
@media only screen and (max-width: 767px) {
  .pr_mypageBox--userEditComplete .cp_formItem__label {
    width: 100%;
    margin: 0;
    font-size: clamp(1.1rem, 0.8rem + 0.1vw , 1.2rem);
  }
}
.cp_formItem__input {
  width: calc(100% - 270px - var(--space-md));
  margin: 0;
  padding: 0;
  min-height: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  line-height: 1.4;
}
.cp_formItem__input--multi {
  flex-direction: row;
  justify-content: flex-start;
  gap: 0 var(--space-md);
  align-items: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .cp_formItem__input--multi {
    gap: 0 var(--space-xs);
  }
}
@media only screen and (max-width: 767px) {
  .cp_formItem__input {
    min-height: auto;
    padding: 5px 0;
    width: 100%;
  }
}
.pr_entranceBox--login .cp_formItem__input {
  width: calc(100% - 120px - var(--space-md));
}
@media only screen and (max-width: 767px) {
  .pr_entranceBox--login .cp_formItem__input {
    width: 100%;
  }
}
.ly_mypageBlockChild--registration .cp_formItem__input {
  width: calc(100% - 120px - var(--space-md));
}
@media only screen and (max-width: 767px) {
  .ly_mypageBlockChild--registration .cp_formItem__input {
    width: 100%;
  }
}
.cp_formItem__inputChild {
  width: calc(33.33% - var(--space-md) * 2 / 3);
  display: flex;
  gap: 0 10px;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .cp_formItem__inputChild {
    width: calc(33.33% - var(--space-xs) * 2 / 3);
    gap: 0;
  }
}
.cp_formItem__inputChild label {
  width: 3em;
}
.cp_formInit--confirm .cp_formItem__inputChild label {
  color: #999;
  width: 2em;
}
.cp_formItem__inputChild--2col {
  width: calc(50% - var(--space-md) / 2);
}
@media only screen and (max-width: 767px) {
  .cp_formItem__inputChild--2col {
    width: calc(50% - var(--space-xs) / 2);
  }
}
.cp_formItem__inputChild--2colHasBtn {
  width: calc(50% - var(--space-md) * 2 / 3 - 53px);
}
@media only screen and (max-width: 767px) {
  .cp_formItem__inputChild--2colHasBtn {
    width: calc(50% - var(--space-xs) * 2 / 3 - 30px);
  }
}
.cp_formItem__inputChild--btn {
  width: 80px;
}
@media only screen and (max-width: 767px) {
  .cp_formItem__inputChild--btn {
    width: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .cp_formItem__input--mbVertical .cp_formItem__inputChild {
    width: 100%;
    margin-bottom: var(--space-xs);
  }
}
.cp_formItem__inputChild--org1 {
  width: 13em;
}
.cp_formItem__inputChild--org2 {
  width: calc(100% - 13em - 8em - var(--space-md) * 2);
}
.cp_formItem__inputChild--org3 {
  width: 8em;
}
@media only screen and (max-width: 767px) {
  .cp_formItem__input--visitingTime .cp_formItem__inputChild {
    width: calc(50% - var(--space-md) / 2);
  }
}
.cp_formItem__input--department .cp_formItem__inputChild {
  width: calc(25% - var(--space-md) * 3 / 4);
}

.cp_formItem__btn {
  width: auto;
  margin-top: calc(var(--space-xs) / 2);
}

.cp_formItem__input input[type=checkbox] {
  display: none;
}
.cp_formItem__input input[type=checkbox] + label {
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 5px 0 5px 26px;
  vertical-align: middle;
  cursor: pointer;
  width: auto;
}
@media only screen and (max-width: 767px) {
  .cp_formItem__input input[type=checkbox] + label {
    display: block;
    padding-bottom: 0px;
  }
}
.cp_formItem__input input[type=checkbox] + label:hover:after,
.cp_formItem__input input[type=checkbox]:checked + label:after {
  border-color: #cc0000;
}
.cp_formItem__input input[type=checkbox] + label:after {
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 2px;
  content: "";
  background: #fff;
  z-index: 0;
}
.cp_formItem__input input[type=checkbox] + label:before {
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #cc0000;
  border-bottom: 3px solid #cc0000;
  content: "";
  opacity: 0;
  transform: rotate(45deg);
  z-index: 1;
}
.cp_formItem__input input[type=checkbox]:checked + label:before {
  opacity: 1;
}
.cp_formItem__input input[type=radio] {
  /* display: none; */
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.cp_formItem__input input[type=radio] + label {
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  padding: 5px 0 5px 26px;
  vertical-align: middle;
  cursor: pointer;
  width: auto;
}
@media only screen and (max-width: 767px) {
  .cp_formItem__input input[type=radio] + label {
    display: block;
    padding-bottom: 0px;
  }
}
.cp_formItem__input input[type=radio] + label:hover:after,
.cp_formItem__input input[type=radio]:checked + label:after {
  border-color: #cc0000;
}
.cp_formItem__input input[type=radio] + label:after {
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 50%;
  content: "";
  background: #fff;
  z-index: 0;
}
.cp_formItem__input input[type=radio] + label:before {
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #cc0000;
  border-bottom: 3px solid #cc0000;
  content: "";
  opacity: 0;
  transform: rotate(45deg);
  z-index: 1;
}
.cp_formItem__input input[type=radio]:checked + label:before {
  opacity: 1;
}

.cp_formSubTitle {
  font-size: clamp(1.6rem, 1.2rem + 1.0vw , 2.8rem);
  margin: 0 0 var(--space-md);
}

.cp_formFellowNote {
  background: #f0f0f0;
  padding: var(--space-md) var(--space-lg);
  margin: var(--space-md) 0 var(--space-lg);
  line-height: 1.6;
}

.cp_formNote {
  font-size: clamp(1.0rem, 1rem + 0.4vw , 1.3rem);
  margin: var(--space-xs) 0 0;
  color: #333;
}

.cp_formTextArea {
  margin-top: var(--space-md);
  text-align: center;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  .cp_formTextArea {
    text-align: left;
  }
}

.cp_formBtn {
  margin: var(--space-lg) auto;
  text-align: center;
  display: flex;
  gap: 0 var(--space-md);
  justify-content: center;
}

.cp_formTextLinkBox {
  text-align: center;
}

.cp_selectMenu {
  display: block;
  padding: 0;
  position: relative;
  /* Set options to normal weight */
  /* ------------------------------------  */
  /* START OF UGLY BROWSER-SPECIFIC HACKS */
  /* ----------------------------------  */
  /* FIREFOX won't let us hide the native select arrow, so we have to make it wider than needed and clip it via overflow on the parent container.
     The percentage width is a fallback since FF 4+ supports calc() so we can just add a fixed amount of extra width to push the native arrow out of view. We're applying this hack across all FF versions because all the previous hacks were too fragile and complex.
     You might want to consider not using this hack and using the native select arrow in FF. Note this makes the menus wider than the select button because they display at the specified width and aren't clipped. Targeting hack via http://browserhacks.com/#hack-758bff81c5c32351b02e10480b5ed48e */
  /* Show only the native arrow */
  display: block;
  border-radius: 3px;
  box-shadow: none;
  width: 100%;
}
.cp_selectMenu::before, .cp_selectMenu::after {
  content: "";
  display: block;
  position: absolute;
  pointer-events: none;
  z-index: 2;
}
.cp_selectMenu select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  background: none;
  box-sizing: border-box;
  width: 100%;
  height: 44px;
  margin: 0;
  border: 1px solid transparent;
  font-size: 16px;
  outline: none;
  background: #fff;
  /* Focus style */
}
.cp_selectMenu select:focus {
  background-color: transparent;
  outline: none;
}
@media only screen and (max-width: 767px) {
  .cp_selectMenu select {
    height: 38px;
  }
}
.cp_selectMenu option {
  font-weight: normal;
}
.cp_selectMenu x:-o-prefocus, .cp_selectMenu::after {
  display: none;
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .cp_selectMenu select::-ms-expand {
    display: none;
  }
  .cp_selectMenu select:focus::-ms-value {
    background: transparent;
    color: #000;
  }
}
@-moz-document url-prefix() {
  .cp_selectMenu {
    overflow: hidden;
  }
  .cp_selectMenu select {
    width: 120%;
    width: calc(100% + 3em);
    /* Firefox focus has odd artifacts around the text, this kills that. See https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-focusring */
  }
  @supports (-moz-appearance: none) {
    .cp_selectMenu select {
      width: 100%;
    }
  }
  .cp_selectMenu select:-moz-focusring {
    color: transparent;
    text-shadow: 0 0 0 #000;
  }
}
@supports (-moz-appearance: none) {
  .cp_selectMenu {
    width: 100%;
  }
}
.cp_selectMenu::before, .cp_selectMenu::after {
  content: "";
  display: block;
  position: absolute;
  pointer-events: none;
  border: 1px solid transparent;
  width: 0;
  height: 0;
  right: 16px;
}
.cp_selectMenu::before {
  bottom: 55%;
  border-width: 0 6.5px 8px 6.5px;
  border-bottom-color: #D6D6D6;
}
.cp_selectMenu::after {
  border-width: 8px 6.5px 0 6.5px;
  border-top-color: #D6D6D6;
  top: 55%;
}
@-moz-document url-prefix() {
  .cp_selectMenu {
    border-right: 1px solid #E6E6E6;
  }
  .cp_selectMenu:hover {
    border-right: 1px solid #000;
  }
}
.cp_selectMenu:hover select {
  box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1) inset;
  border-color: #000;
}
.cp_selectMenu:hover select:focus {
  outline-color: transparent;
}
.cp_selectMenu:hover::before {
  border-bottom-color: #000;
}
.cp_selectMenu:hover::after {
  border-top-color: #000;
}
.cp_selectMenu select {
  border: 1px solid #ccc;
  border-radius: 6px;
  font-weight: 400;
  color: inherit;
  padding: 0px 15px;
  line-height: normal;
  transition: border-color 0.2s ease, outline 0.2s ease;
}
.cp_selectMenu select:focus {
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.3) inset;
  outline: 1px solid #000;
  outline-offset: -1px;
}
.cp_selectMenu select[disabled], .cp_selectMenu select:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.cp_selectMenu select:not(:focus):invalid {
  color: #C7C7C7;
}

.cp_commonTitle {
/*  font-family: "FP-ヒラギノ角ゴ StdN W4"; */
  font-size: clamp(2.0rem, 1.6rem + 1.5vw , 3.4rem);
/*  margin-bottom: var(--space-sm); */
  position: relative;
}
.cp_commonTitle:not(.nodot)::after,
.pr_entranceBox__head::after {
  background: radial-gradient(circle farthest-side, #cc0000, #cc0000 60%, transparent 60%, transparent);
  background-size: 8px;
  content: "";
  display: inline-block;
  height: 8px;
  width: 24px;
  position: absolute;
  bottom: -13px;
  left: 0;
  right: 0;
  margin: auto;
}

.cp_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 9998;
  display: none;
}
.is_mbMenuOpen .cp_overlay {
  display: block;
}

.cp_iconBlank {
  margin-left: 6px;
}
@media only screen and (max-width: 767px) {
  .cp_iconBlank {
    margin-left: 4px;
  }
}
.cp_iconBlank::before {
  content: "";
  background-image: url(/img/icon_blank.svg);
  background-repeat: no-repeat;
  display: flex;
  width: 14px;
  height: 20px;
  background-size: contain;
}
@media only screen and (max-width: 767px) {
  .cp_iconBlank::before {
    width: 10px;
    height: 14px;
  }
}
.cp_iconBlank--inHead {
  transform: translateY(-50%);
  height: 10px;
}
@media only screen and (max-width: 1000px) {
  .cp_iconBlank--inHead {
    height: 14px;
  }
  .cp_iconBlank--inHead::before {
    width: 10px;
    height: 14px;
  }
}

.cp_categoryLabel {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 1px 10px 0;
  height: 20px;
  max-width: 7em;
}
@media only screen and (max-width: 1000px) {
  .cp_categoryLabel {
    padding: 1px 5px 0;
    height: 14px;
    font-size: 0.9em;
  }
}
.cp_categoryLabel--life {
  background: #7197c3;
}
.cp_categoryLabel--health {
  background: #f0855d;
}
.cp_categoryLabel--brain {
  background: #21adde;
}
.cp_categoryLabel--earth {
  background: #35aba3;
}
.cp_categoryLabel--universe {
  background: #9b7cab;
}
.cp_categoryLabel--quantum {
  background: #e6b258;
}
.cp_categoryLabel--core {
  background: #888888;
}

.cp_speech {
  position: relative;
  display: block;
  width: calc(25% - var(--space-md) * 3 / 4);
  background: #fff;
  padding: var(--space-md) var(--space-sm);
  line-height: 1.4;
  cursor: pointer;
  border: 1px solid #e0e0e0;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 767px) {
  .cp_speech {
    width: 100%;
    padding-top: var(--space-xs);
    padding-bottom: var(--space-xs);
  }
}
.cp_speech--2col {
  width: calc(50% - var(--space-md) * 3 / 4);
}
@media only screen and (max-width: 767px) {
  .cp_speech--2col {
    width: 100%;
  }
}
.cp_speech.st_full {
  background: #e0e0e0;
  color: #666;
  cursor: default;
}
.cp_speech.st_full::after {
  display: none;
}
.cp_speech.st_full:hover {
  border-color: #e0e0e0;
}
.cp_speech::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  z-index: 0;
  transition: border 0.2s ease-in-out;
  border-width: 3px;
  border-style: solid;
  border-color: transparent;
}
.cp_speech:hover::after {
  border-color: rgb(231, 146, 0);
}
.cp_speech__date {
  display: block;
  margin-bottom: calc(var(--space-xs) / 2);
}
@media only screen and (max-width: 767px) {
  .cp_speech__date {
    display: inline-flex;
  }
}
.cp_speech__time {
  display: block;
  font-size: 0.8em;
  margin-bottom: calc(var(--space-xs) / 2);
}
@media only screen and (max-width: 767px) {
  .cp_speech__time {
    display: inline-flex;
  }
}
.cp_speech__place {
  font-size: 0.9em;
}
.cp_speech__id {
  display: block;
  font-size: 0.8em;
  margin-bottom: calc(var(--space-xs) / 2);
}
.cp_speech__title {
  display: block;
/*  font-family: "FP-ヒラギノ角ゴ StdN W4"; */
  font-weight: bold;
  margin-bottom: calc(var(--space-xs) / 2);
}
.cp_speech__speaker {
  display: block;
}
.cp_speech__keyNoteBox:first-of-type {
  margin-bottom: var(--space-xs);
}

.cp_seminarDateNav__grp {
  display: flex;
  gap: 0 var(--space-md);
}
@media only screen and (max-width: 767px) {
  .cp_seminarDateNav__grp {
    gap: 0 var(--space-xs);
    justify-content: center;
  }
}
.cp_seminarDateNav__item {
  display: block;
  list-style: none;
}
@media only screen and (max-width: 767px) {
  .cp_seminarDateNav__item {
    width: calc(50% - var(--space-md) * 1 / 2);
  }
}
.cp_seminarDateNav__btn {
  background: #000;
  color: #fff;
  border: none;
  text-align: center;
  line-height: 1.4;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .cp_seminarDateNav__btn {
    min-width: -moz-fit-content;
    min-width: fit-content;
    width: 100%;
  }
}

.cp_reservedList {
  width: 100%;
  line-height: 1.4;
  border-bottom: 1px solid #ddd;
  font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
}
@media only screen and (max-width: 767px) {
  .cp_reservedList {
    display: block;
  }
}
.cp_reservedList tr {
  border-top: 1px solid #ddd;
}
.cp_reservedList tr:first-of-type {
  border-top: 1px solid #ddd;
}
.cp_reservedList tr:nth-child(odd) {
  background: #fff;
}
.cp_reservedList tr:nth-child(even) {
  background: #f9f9f9;
}
@media only screen and (max-width: 767px) {
  .cp_reservedList tr {
    display: flex;
    flex-wrap: wrap;
    padding: var(--space-xs);
  }
}
.cp_reservedList td {
  padding: var(--space-xs) 0;
}
@media only screen and (max-width: 767px) {
  .cp_reservedList td {
    padding: 0;
  }
}
.cp_reservedList td.td__date {
  padding-left: var(--space-sm);
  width: 10em;
}
@media only screen and (max-width: 767px) {
  .cp_reservedList td.td__date {
    font-size: clamp(1.1rem, 0.8rem + 0.1vw , 1.2rem);
    width: 80%;
    padding-left: 0;
  }
  .cp_reservedList td.td__date br {
    display: none;
  }
}
.cp_reservedList td.td__id {
  width: 5em;
}
@media only screen and (max-width: 767px) {
  .cp_reservedList td.td__id {
    font-size: clamp(1.1rem, 0.8rem + 0.1vw , 1.2rem);
    width: 20%;
  }
}
@media only screen and (max-width: 767px) {
  .cp_reservedList td.td__title {
    width: 100%;
  }
}
.cp_reservedList td.td__speaker {
  width: 13em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .cp_reservedList td.td__speaker {
    width: 100%;
    text-align: left;
    font-size: clamp(1.1rem, 0.8rem + 0.1vw , 1.2rem);
  }
}

.cp_seminarBlock__head {
  margin: var(--space-xl) 0;
  background: #ddd;
  border-left: 3px solid #000;
  padding: var(--space-sm) var(--space-md) calc(var(--space-sm) / 2);
}
@media only screen and (max-width: 767px) {
  .cp_seminarBlock__head {
    margin: var(--space-lg) calc(var(--space-xs) * -1) var(--space-sm);
    padding: var(--space-sm) var(--space-xs) calc(var(--space-sm) / 2);
    width: calc(100% + var(--space-xs) * 2);
  }
}
.cp_seminarBlock__title {
/*  font-family: "FP-ヒラギノ角ゴ StdN W4"; */
  font-weight: bold;
  margin-bottom: calc(var(--space-xs) / 2);
}

@media only screen and (max-width: 767px) {
  .cp_seminarCal {
    font-size: clamp(0.9rem, 0.8rem + 0.1vw , 1.2rem);
    width: calc(100% + var(--space-xs) * 2);
    margin: 0 calc(var(--space-xs) * -1);
  }
}
.cp_seminarCal__head {
  display: flex;
  width: 100%;
  text-align: center;
  align-items: center;
  line-height: 1.5;
  border-bottom: 1px solid #666;
}
.cp_seminarCal__headItem {
  width: 18%;
}
.cp_seminarCal__headItem--time {
  width: 10%;
}
.cp_seminarCal__timeLine {
  height: 50px;
  display: flex;
  width: 100%;
}
.cp_seminarCal__timeLine:first-of-type {
  margin-top: 50px;
}
.cp_seminarCal__timeLine:nth-of-type(even) {
  background: #f9f9f9;
}
.cp_seminarCal__timeLine--separator {
  justify-content: center;
  align-items: center;
  font-size: clamp(1.6rem, 1.2rem + 1.0vw , 2.8rem);
  margin-bottom: var(--space-md);
}
.cp_seminarCal__timeLine--adjust {
  height: 0;
}
.cp_seminarCal__timeLine--pm {
  margin-top: var(--space-lg);
}
.cp_seminarCal__timeLineItem {
  width: 18%;
  border-top: 1px solid #999;
  position: relative;
}
.cp_seminarCal__timeLine:nth-of-type(even) .cp_seminarCal__timeLineItem {
  border-top: dashed 1px #999;
}
.cp_seminarCal__timeLineItem--time {
  width: 10%;
  text-align: center;
  border: none;
}
.cp_seminarCal__timeLine:nth-of-type(even) .cp_seminarCal__timeLineItem--time {
  border: none;
}
.cp_seminarCal__timeLineLegend {
  transform: translateY(-50%);
  display: block;
}

.cp_seminarCard {
  background: #fff;
  height: 99px;
  display: flex;
  flex-wrap: wrap;
  gap: calc(var(--space-xs) / 5) calc(var(--space-xs) / 2);
  margin: 0 calc(var(--space-xs) / 4);
  padding: var(--space-xs) var(--space-xs);
  line-height: 1.4;
  cursor: pointer;
  border: 1px solid #e0e0e0;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 1;
  transition: border 0.2s ease-in-out;
  font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
}
@media only screen and (max-width: 1000px) {
  .cp_seminarCard {
    padding: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .cp_seminarCard {
    padding: 3px;
    font-size: clamp(0.9rem, 0.8rem + 0.1vw , 1.2rem);
    gap: 1px;
    margin: 0;
  }
}
.cp_seminarCard::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 6px);
  height: calc(100% - 6px);
  z-index: -1;
  transition: border 0.2s ease-in-out;
  border-width: 3px;
  border-style: solid;
  border-color: transparent;
}
.cp_seminarCard:hover::after {
  border-color: rgb(231, 146, 0);
}
.cp_seminarCard--hasGap {
  transform: translateY(50px);
}
.cp_seminarCard--outside {
  background: #fcffcb;
}
.cp_seminarCard.st_full {
  background: #e0e0e0;
  color: #666;
  cursor: default;
}
.cp_seminarCard.st_full::after {
  display: none;
}
.cp_seminarCard.st_full:hover {
  border-color: #e0e0e0;
}
.cp_seminarCard.st_disabled {
  cursor: default;
}
.cp_seminarCard.st_disabled::after {
  display: none;
}
.cp_seminarCard.st_disabled::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.cp_seminarCard.st_disabled:hover {
  border-color: #f9f9f9;
}
.cp_seminarCard__id {
  display: inline-flex;
  background: #eee;
  justify-content: center;
/*  font-family: "DINNextLTPro-Regular", Sans-serif; */
  padding: 2px 7px 0;
  height: 20px;
}
@media only screen and (max-width: 1000px) {
  .cp_seminarCard__id {
    height: 14px;
    padding: 1px 5px 0;
  }
}
.cp_seminarCard__title {
/*  font-family: "FP-ヒラギノ角ゴ StdN W4"; */
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  width: 100%;
}
@media only screen and (max-width: 1000px) {
  .cp_seminarCard__title {
    -webkit-line-clamp: 3;
    height: 4em;
  }
}
@media only screen and (max-width: 767px) {
  .cp_seminarCard__title {
    -webkit-line-clamp: 5;
    height: 6.5em;
  }
}

.cp_seminarHidden {
  display: none;
}

.cp_status {
  position: absolute;
  z-index: 2;
  top: -15px;
  left: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 2px 10px;
  font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
}
@media only screen and (max-width: 1000px) {
  .cp_status {
    padding: 1px 6px;
    left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .cp_status {
    padding: 1px 2px;
    left: 0;
    font-size: clamp(0.9rem, 0.8rem + 0.1vw , 1.2rem);
  }
}
.st_full .cp_status {
  background: #000000;
  color: #fff;
}
.st_few .cp_status {
  background: #f00;
  color: #fff;
}
.st_reserved .cp_status {
  background: rgb(12, 163, 52);
  color: #fff;
}
.cp_status::before {
  content: "";
}
.st_full .cp_status::before {
  content: "満席";
}
.st_few .cp_status::before {
  content: "残席わずか";
}
.st_reserved .cp_status::before {
  content: "予約済み";
}

/* 追加のアニメーション */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.cp_formItem--fellow.fadeIn {
  animation: fadeIn 0.3s forwards;
}

/* 削除のアニメーション */
@keyframes fadeOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(20px);
  }
}
.cp_formItem--fellow.fadeOut {
  animation: fadeOut 0.3s forwards;
}

.cp_modal {
  background: #fff;
  width: 880px;
  margin: 0 auto;
}
@media only screen and (max-width: 1000px) {
  .cp_modal {
    width: 90%;
    max-height: 80vh;
    overflow-y: auto;
    margin-top: 2vh;
  }
}
@media only screen and (max-width: 767px) {
  .cp_modal {
    width: calc(100% - var(--space-sm) * 2);
    font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
  }
}
.cp_modal__inner {
  padding: var(--space-md);
  position: relative;
}
.cp_modal__closeBtn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .cp_modal__closeBtn {
    width: 40px;
    height: 40px;
    top: 0;
    right: 0;
  }
}
.cp_modal__closeBtn::before {
  content: "";
  position: relative;
  top: auto;
  left: auto;
  background-color: transparent;
  transition: none;
  z-index: auto;
  background-image: url("/img/icon_remove.svg");
  background-size: cover;
  background-repeat: no-repeat;
  display: inline-flex;
  width: 44px;
  height: 44px;
}
@media only screen and (max-width: 767px) {
  .cp_modal__closeBtn::before {
    width: 40px;
    height: 40px;
  }
}
.cp_modal__head {
  margin-bottom: calc(var(--space-md) / 1);
}
@media only screen and (max-width: 767px) {
  .cp_modal__head {
    margin-bottom: 0;
  }
}
.cp_modal__id {
  margin-bottom: calc(var(--space-sm) / 2);
  line-height: 1.5;
}
.cp_modal__title {
/*  font-family: "FP-ヒラギノ角ゴ StdN W4"; */
  font-weight: bold;
  margin-bottom: calc(var(--space-sm) / 2);
  font-size: clamp(1.6rem, 1.2rem + 1.0vw , 2.8rem);
  line-height: 1.5;
}
.cp_modal__speaker {
  margin-bottom: calc(var(--space-sm) / 2);
  line-height: 1.5;
}
.cp_modal__body {
  line-height: 1.6;
  margin-bottom: calc(var(--space-md) / 1);
}
@media only screen and (max-width: 767px) {
  .cp_modal__body {
    font-size: clamp(1.2rem, 1.0rem + 0.1vw , 1.4rem);
  }
}
.cp_modal__confirmText {
  text-align: center;
  font-size: clamp(1.6rem, 1.2rem + 1.0vw , 2.8rem);
}
.cp_modal__foot {
  display: flex;
  justify-content: center;
  gap: 0 var(--space-md);
}

.js_agreeBtn {
  display: none;
}

.js_disagreeBtn {
  display: none;
}

.js_closeModalBtn {
  display: none;
}

.pr_entranceHead {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: var(--space-md) auto var(--space-lg);
}
.pr_entranceHead__title {
  font-size: clamp(2.0rem, 1.6rem + 1.5vw , 3.4rem);
}
.pr_entranceBox {
  width: 45%;
  background: #fff;
  text-align: center;
  border: 1px solid #c8c8c8;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  padding: var(--space-lg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .pr_entranceBox {
    width: 100%;
    padding: var(--space-md) var(--space-xs);
  }
}

.pr_entranceBox__head {
  position: relative;
  min-height: 90px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: var(--space-lg);
}
@media only screen and (max-width: 767px) {
  .pr_entranceBox__head {
    min-height: -moz-min-content;
    min-height: min-content;
    margin-bottom: var(--space-md);
  }
}
.pr_entranceBox__headLabel {
/*  font-family: "FP-ヒラギノ角ゴ StdN W4"; */
  margin-bottom: var(--space-xs);
}

.pr_entranceBox__headLabel2 {
  margin-bottom: var(--space-xs);
}

.pr_entranceBox__body {
  width: 100%;
}
.pr_entranceBox__body p {
  line-height: 2;
}

.pr_formWrapper {
  max-width: 950px;
  margin: 0 auto var(--space-xxl);
  padding: var(--space-xxl) var(--space-md) 0;
  position: relative;
  box-sizing: border-box;
  background: #fff;
}
@media only screen and (max-width: 1100px) {
  .pr_formWrapper {
    padding-right: 30px;
    padding-left: 30px;
  }
}
@media only screen and (max-width: 1000px) {
  .pr_formWrapper {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .pr_formWrapper {
    width: calc(100% - 10px);
    word-wrap: break-word;
    padding-top: var(--space-md);
    padding-right: 14px;
    padding-left: 14px;
  }
}
.pr_formWrapper__head {
  text-align: center;
  margin-bottom: var(--space-lg);
}
.pr_mypageBox {
  margin-bottom: var(--space-xl);
}
@media only screen and (max-width: 767px) {
  .pr_mypageBox {
    margin-bottom: var(--space-md);
  }
}
.pr_mypageBox--hasBorder {
  border: 1px solid #e0e0e0;
  padding: 0 var(--space-lg) var(--space-lg);
}
@media only screen and (max-width: 767px) {
  .pr_mypageBox--hasBorder {
    padding: 0 var(--space-md) var(--space-md);
  }
}
.pr_mypageBox__head {
  display: flex;
  align-items: center;
  margin: var(--space-lg) 0 var(--space-lg);
  gap: 0 var(--space-md);
}
.pr_mypageBox__head--jcsb {
  justify-content: space-between;
}
.pr_mypageBox__headTitle {
/*  font-family: "FP-ヒラギノ角ゴ StdN W4"; */
  font-size: clamp(1.6rem, 1.2rem + 1.0vw , 2.8rem);
  position: relative;
}
.pr_mypageBox__headTitle::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 20px;
  border-top: 2px solid #cc0000;
  left: -28px;
}
@media only screen and (max-width: 767px) {
  .pr_mypageBox__headTitle::before {
    width: 13px;
    left: -20px;
  }
}
.pr_reserveBlock {
  margin: 0 0 var(--space-lg);
}
.pr_reserveBlock__head {
  margin: 0 0 var(--space-lg);
  position: relative;
}
.pr_reserveBlock__head::before {
  content: "";
  display: block;
  border-bottom: 3px solid #e0e0e0;
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 100%;
}
.pr_reserveBlock__head::after {
  content: "";
  display: block;
  border-bottom: 3px solid #cc0000;
  position: absolute;
  bottom: -10px;
  left: 0;
  width: 10%;
}
.pr_reserveBlock__title {
  font-size: clamp(1.6rem, 1.2rem + 1.0vw , 2.8rem);
}
.br_inPc {
  display: none;
}
@media only screen and (min-width: 767px) {
  .br_inPc {
    display: inline;
  }
}

.br_inSp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .br_inSp {
    display: inline;
  }
}

.txt_accent {
  color: #fff500;
}

.txt_red {
  color: #ff3c4e;
}

.bg_black {
  background-color: rgba(0, 0, 0, 0.8);
  display: inline;
}

.txt_center {
  text-align: center;
}

.txt_sm {
  font-size: clamp(1.3rem, 1.0rem + 0.1vw , 1.4rem);
}

.basicLightbox {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0.01;
  transition: opacity 0.4s ease;
  z-index: 10001;
  will-change: opacity;
  overflow: scroll;
}
.basicLightbox--visible {
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .basicLightbox {
    align-items: flex-start;
  }
}
.basicLightbox__placeholder {
  max-width: 100%;
  transform: scale(0.9);
  transition: transform 0.4s ease;
  z-index: 1;
  will-change: transform;
}
.basicLightbox__placeholder > img:first-child:last-child,
.basicLightbox__placeholder > video:first-child:last-child,
.basicLightbox__placeholder > iframe:first-child:last-child {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  max-width: 95%;
  max-height: 95%;
}
.basicLightbox__placeholder > video:first-child:last-child,
.basicLightbox__placeholder > iframe:first-child:last-child {
  pointer-events: auto;
}
.basicLightbox__placeholder > img:first-child:last-child,
.basicLightbox__placeholder > video:first-child:last-child {
  width: auto;
  height: auto;
}
.basicLightbox--img .basicLightbox__placeholder, .basicLightbox--video .basicLightbox__placeholder, .basicLightbox--iframe .basicLightbox__placeholder {
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.basicLightbox--visible .basicLightbox__placeholder {
  transform: scale(1);
}

/* 宇田川追加 */
.lh-base {
    line-height: 1.5em;
}
.text-center {
    text-align: center !important;
}

/**********************************
    利用規約
***********************************/
.term {
    width: 100%;
    height: 260px;
    overflow-y: scroll;
    border: 1px solid #ccc;
    padding: 13px;
    background: #f9f9f9;

    font-family: "Hiragino Sans", "Noto Sans JP", sans-serif;
    line-height: 1.8;
    margin: 20px;
    color: #333;
}
.term h1 {
    text-align: center;
    margin-bottom: 40px;
}
.term h2 {
    margin-top: 30px;
    border-bottom: 2px solid #007acc;
    padding-bottom: 5px;
    color: #007acc;
}
.term p {
    margin: 10px 0;
}
.term ul {
    margin: 10px 0 10px 20px;
}

/**********************************
    成功処理結果 表示
***********************************/
.cp_success {
    margin: 10px 0;
    color: #377a2c;
    background: #E1F9E1;
    border: 1px solid #377a2c;
    box-sizing: border-box;
    padding: 12px;
    border-radius: 5px;
    width: 100%;
    line-height: 1.2em;
}

/**********************************
    Vueの表示の乱れ対策
***********************************/
[v-cloak] {
    display: none;
}

