.c1 {
  color: #4B1D87; }

.c2 {
  color: #94CA14; }

.c3 {
  color: #DA7E81; }

.c4 {
  color: #F4F3F5; }

.c5 {
  color: linear-gradient(93deg, #442A65, #54197B); }

.c6 {
  color: linear-gradient(93deg, #94CA14, #3FBC4C); }

.c7 {
  color: linear-gradient(93deg, #DA7E81, #C90668); }

a.btn_1, .btn_2, a.btn_3,
.btn_3, a.btn_4,
.btn_4, .btn_5 a {
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.2); }

a.btn_1, .btn_5 a {
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1); }

.btn_2, .btn_2.icon-right i, .btn_2.icon-left i, a.btn_3 .icon i,
.btn_3 .icon i, a.btn_4 .icon i,
.btn_4 .icon i, .btn_6,
a.btn_6 {
  transition: all ease 0.2s; }

*[class*="ov"] {
  -webkit-transition: all .3s;
  transition: all .3s; }

.ov50:hover {
  opacity: 0.25;
  filter: progid:DXImageTransform.Microsoft.Alpha(Enabled=1,Style=0,Opacity=25); }

.ov50:hover {
  opacity: 0.50;
  filter: progid:DXImageTransform.Microsoft.Alpha(Enabled=1,Style=0,Opacity=50); }

.ov75:hover {
  opacity: 0.75;
  filter: progid:DXImageTransform.Microsoft.Alpha(Enabled=1,Style=0,Opacity=75); }

.oi25:hover img {
  opacity: 0.25;
  filter: progid:DXImageTransform.Microsoft.Alpha(Enabled=1,Style=0,Opacity=25); }

.oi50:hover img {
  opacity: 0.50;
  filter: progid:DXImageTransform.Microsoft.Alpha(Enabled=1,Style=0,Opacity=50); }

.oi75:hover img {
  opacity: 0.75;
  filter: progid:DXImageTransform.Microsoft.Alpha(Enabled=1,Style=0,Opacity=75); }

.oi {
  display: block; }

.oi img {
  background-color: transparent; }

.oi:hover {
  background-color: transparent; }

.oi:hover img {
  visibility: hidden; }

.f_bold {
  font-weight: bold; }

.link_1 {
  padding-left: 15px;
  background: url(../image/icon/icon_link.gif) no-repeat left center; }

.hl_1 {
  text-align: center; }
  .hl_1 .hl {
    display: inline-block;
    margin-bottom: 30px;
    padding-bottom: 10px;
    font-size: 3.2rem;
    line-height: 1.6;
    font-weight: 500;
    border-bottom: 1px solid #4B1D87; }
    @media (max-width: 767px) {
      .hl_1 .hl {
        font-size: 2rem; } }
    .hl_1 .hl span {
      display: block;
      font-size: 1.7rem;
      color: #4B1D87; }
      @media (max-width: 767px) {
        .hl_1 .hl span {
          font-size: 1.2rem; } }
  @media (max-width: 767px) {
    .hl_1 .hl_comment {
      font-size: 1.4rem;
      text-align: left; } }

.hl_2 {
  text-align: left; }
  .hl_2.-center {
    text-align: center; }
  .hl_2 .hl {
    display: inline-block;
    margin-bottom: 30px;
    padding-bottom: 10px;
    font-size: 3.2rem;
    line-height: 1.6;
    font-weight: 500; }
    @media (max-width: 767px) {
      .hl_2 .hl {
        font-size: 2rem; } }
    .hl_2 .hl span {
      display: block;
      font-size: 1.7rem;
      color: #4B1D87; }
      @media (max-width: 767px) {
        .hl_2 .hl span {
          font-size: 1.2rem; } }
  @media (max-width: 767px) {
    .hl_2 .hl_comment {
      font-size: 1.4rem;
      text-align: left; } }

a.btn_1 {
  display: inline-block;
  padding: 15px 30px;
  background: linear-gradient(93deg, #94CA14, #3FBC4C);
  text-decoration: none;
  font-weight: bold;
  color: #FFF; }
  a.btn_1 i {
    margin-right: 0.5em;
    vertical-align: middle; }

.btn_2 {
  display: block;
  position: relative;
  width: 100%;
  padding: 5px 5px;
  border: 3px solid #94CA14;
  border-radius: 100px;
  font-size: 1.6rem;
  background: #94CA14;
  color: #FFF;
  font-weight: bold;
  -webkit-appearance: none; }
  .style--login_box .btn_2 {
    padding: 10px; }
  .btn_2:hover {
    background: #FFF;
    color: #94CA14; }
    .btn_2:hover.icon-right i[class*="arrow"] {
      right: 10px; }
    .btn_2:hover.icon-left i[class*="arrow"] {
      left: 10px; }
  .btn_2.icon-right i {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%); }
  .btn_2.icon-left i {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%); }

a.btn_3,
.btn_3 {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 500px;
  padding: 15px;
  background: linear-gradient(93deg, #442A65, #54197B);
  color: #FFF;
  text-decoration: none;
  overflow: hidden;
  text-align: center; }
  a.btn_3 strong.yu-mincho,
  .btn_3 strong.yu-mincho {
    font-size: 2rem; }
  a.btn_3 span,
  .btn_3 span {
    margin-left: 1em;
    font-size: 1.4rem;
    opacity: 0.75; }
  a.btn_3 .icon,
  .btn_3 .icon {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 60px;
    display: block;
    vertical-align: middle;
    border-bottom: 80px solid rgba(16, 10, 10, 0.25);
    border-left: 10px solid transparent; }
    a.btn_3 .icon i,
    .btn_3 .icon i {
      position: absolute;
      top: calc(50% + 34px);
      right: 0;
      transform: translate(-50%, -50%);
      opacity: 0.75; }
  a.btn_3:hover .icon i,
  .btn_3:hover .icon i {
    right: -5px; }

a.btn_4,
.btn_4 {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 500px;
  padding: 15px;
  background: linear-gradient(93deg, #442A65, #54197B);
  color: #FFF;
  text-decoration: none;
  overflow: hidden;
  text-align: center; }
  a.btn_4 strong.yu-mincho,
  .btn_4 strong.yu-mincho {
    font-size: 2rem; }
  a.btn_4 span,
  .btn_4 span {
    margin-left: 1em;
    font-size: 1.4rem;
    opacity: 0.75; }
  a.btn_4 .icon,
  .btn_4 .icon {
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 60px;
    display: block;
    vertical-align: middle;
    border-bottom: 80px solid rgba(16, 10, 10, 0.25);
    border-left: 10px solid transparent; }
    a.btn_4 .icon i,
    .btn_4 .icon i {
      position: absolute;
      top: calc(50% + 34px);
      right: 0;
      transform: translate(-50%, -50%);
      opacity: 0.75; }
  a.btn_4:hover .icon i,
  .btn_4:hover .icon i {
    right: -5px; }

.btn_5 a {
  display: inline-block;
  position: relative;
  width: 100%;
  max-width: 380px;
  text-align: center;
  font-weight: normal;
  padding: 15px 30px;
  padding-right: 93px;
  background: linear-gradient(93deg, #DA7E81, #C90668);
  text-decoration: none;
  font-weight: bold;
  color: #FFF; }
  .btn_5 a strong {
    font-size: 2rem; }
  .btn_5 a:after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 78px;
    height: 100px;
    background: url("../image/content/top/char.png") no-repeat center center;
    background-size: cover; }
  .btn_5 a i {
    margin-right: 0.5em;
    vertical-align: middle; }

.btn_6,
a.btn_6 {
  display: block;
  padding: 30px;
  border: 3px solid #4B1D87;
  color: #4B1D87 !important;
  text-align: center; }
  .btn_6:hover,
  a.btn_6:hover {
    background: #4B1D87;
    color: #FFF !important; }

.tbl_reserve thead th {
  padding: 10px 15px;
  background: #4B1D87;
  font-weight: bold;
  color: #FFF; }
.tbl_reserve tbody th {
  padding: 7px 0;
  background: #F4F3F5;
  border: 1px solid #FFF;
  text-align: center;
  font-size: 1.4rem;
  color: #666; }
.tbl_reserve tbody td {
  max-width: 200px;
  padding: 20px 10px;
  border-bottom: 1px solid #DDD; }
  .tbl_reserve tbody td.name {
    padding: 20px 0; }
    .tbl_reserve tbody td.name .flex {
      display: flex;
      align-items: center; }
      .tbl_reserve tbody td.name .flex .photo a {
        display: block; }
        .tbl_reserve tbody td.name .flex .photo a .back {
          width: 70px;
          height: 70px;
          margin-right: 20px;
          border-radius: 5px;
          background-position: center center;
          background-repeat: no-repeat;
          background-size: cover; }
      .tbl_reserve tbody td.name .flex dl dt a {
        font-weight: bold;
        color: #4B1D87; }
      .tbl_reserve tbody td.name .flex dl dd {
        color: #666; }
  .tbl_reserve tbody td.reserve {
    width: 5em;
    padding: 20px;
    text-align: center;
    vertical-align: middle; }
    .tbl_reserve tbody td.reserve span,
    .tbl_reserve tbody td.reserve a {
      display: block;
      padding: 5px;
      border-radius: 5px; }
      .tbl_reserve tbody td.reserve span.ok,
      .tbl_reserve tbody td.reserve a.ok {
        background: #F9FCF2;
        color: #94CA14; }
      .tbl_reserve tbody td.reserve span.so,
      .tbl_reserve tbody td.reserve a.so {
        background: #FCF7F8;
        color: #DA7E81; }
      .tbl_reserve tbody td.reserve span.ng,
      .tbl_reserve tbody td.reserve a.ng {
        background: #FFF;
        color: #B9B9B9; }
  .tbl_reserve tbody td.date {
    text-align: center;
    vertical-align: middle; }
    .tbl_reserve tbody td.date .sat {
      color: #008DCB; }
    .tbl_reserve tbody td.date .sun {
      color: #A40000; }

.tbl_calendar {
  width: 100%; }
  .tbl_calendar thead tr th {
    padding-bottom: 5px;
    font-size: 1.2rem;
    text-align: center;
    color: #999; }
  .tbl_calendar tbody tr td {
    position: relative;
    width: calc(100% / 7 );
    height: 30px;
    border: 1px solid #DDD;
    vertical-align: middle;
    text-align: center; }
    .tbl_calendar tbody tr td em {
      position: absolute;
      left: 2px;
      top: 0px;
      font-size: 1.0rem;
      font-weight: normal; }
    .tbl_calendar tbody tr td span,
    .tbl_calendar tbody tr td a {
      display: block;
      padding: 2px;
      border-radius: 5px; }
      .tbl_calendar tbody tr td span i,
      .tbl_calendar tbody tr td a i {
        font-size: 1.4rem; }
  .tbl_calendar tbody tr .ok a {
    background: #F9FCF2;
    color: #94CA14; }
  .tbl_calendar tbody tr .so a {
    background: #FCF7F8;
    color: #DA7E81; }
  .tbl_calendar tbody tr .ng span {
    background: #FFF;
    color: #B9B9B9; }

.tbl_come tbody tr th {
  padding-right: 5px; }
.tbl_come tbody tr:not(:last-child) th, .tbl_come tbody tr:not(:last-child) td {
  padding-bottom: 1em; }

.ul_1 {
  margin-bottom: -7px; }
  .ul_1 li {
    display: inline-block;
    margin: 0 7px 7px 0;
    padding: 2px 10px;
    border: 1px solid #4B1D87;
    border-radius: 3px;
    color: #4B1D87;
    font-size: 1.2rem; }

.gallery_list ul {
  display: flex;
  flex-wrap: wrap; }
  .gallery_list ul li {
    width: 20%;
    height: 200px;
    overflow: hidden; }
    @media (max-width: 767px) {
      .gallery_list ul li {
        width: 50%;
        height: 120px; } }

.navi ul {
  display: flex;
  justify-content: center; }

.navi ul,
.navi ul li {
  padding: 0;
  margin: 0; }

.navi ul {
  list-style: none; }

.navi li a {
  display: block; }

.navi li a img {
  background-color: transparent; }

.navi li a:hover {
  background-color: transparent; }

.navi li a:hover img {
  opacity: 0.75; }

#base .pos_al {
  text-align: left; }

#base .pos_ac {
  text-align: center; }

#base .pos_ar {
  text-align: right; }

#base .pos_vt {
  vertical-align: top; }

#base .pos_vm {
  vertical-align: middle; }

#base .pos_vb {
  vertical-align: bottom; }

#base .fl_left {
  float: left; }

#base .fl_right {
  float: right; }

#base .fl_left .fl_image {
  margin: 0 15px 5px 0; }

#base .fl_right .fl_image {
  margin: 0 0 5px 15px; }

* html .fl_left,
* html .fl_right {
  display: inline; }

#base .mb5 {
  margin-bottom: 5px; }

#base .mb10 {
  margin-bottom: 10px; }

#base .mb15 {
  margin-bottom: 15px; }

#base .mb20 {
  margin-bottom: 20px; }

#base .mb25 {
  margin-bottom: 25px; }

#base .mb30 {
  margin-bottom: 30px; }

#base .mb35 {
  margin-bottom: 35px; }

#base .mb40 {
  margin-bottom: 40px; }

#base .mb45 {
  margin-bottom: 45px; }

#base .mb50 {
  margin-bottom: 50px; }

.list_pager {
  margin-bottom: 20px; }

.list_pager ul {
  text-align: center; }

.list_pager ul li {
  display: inline; }

.list_pager ul li strong {
  display: -moz-inline-box;
  display: inline-block;
  padding: 2px 7px 4px;
  background: #EEE;
  border: 1px #CCC solid; }

.list_pager ul li a {
  display: -moz-inline-box;
  display: inline-block;
  padding: 2px 7px 4px;
  border: 1px #CCC solid; }

.list_pager ul li a:hover {
  background: #406E6E;
  color: #FFF;
  border: 1px solid #406E6E; }
