.ui-autocomplete {
    z-index:3000 !important;
}

.illust-selected {
    border: 5px solid #75ff75 !important;
}

.card-w-25 {
    width: 25%;
}


@media (max-width: 991.98px) {
    .fs-2 {
        font-size: 1.3rem !important;
    }
    .fs-5 {
        font-size: 0.8rem !important;
    }
    .card-w-25 {
        width: 100%;
    }
}

.main-back {
    background: #dfd7e4;
}

.main-header {
    background: #d0a4eb;
}

.main-contents {
    padding-top: 80px;
}

.dropdown-item:hover {
    background: #d0a4eb;
}

#page_top{
    width: 90px;
    height: 90px;
    position: fixed;
    right: 0;
    bottom: 0;
    opacity: 0.6;
}

#page_top a{
    position: relative;
    display: block;
    width: 90px;
    height: 90px;
    text-decoration: none;
}

#page_top a::before{
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: #7c20b6;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -40px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}

#page_top a::after{
    content: 'PAGE TOP';
    font-size: 13px;
    color: #fff;
    position: absolute;
    top: 45px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
    color: #7c20b6;
}

.table_design01 {
    border-collapse: collapse;
    width: 100%;
    caption-side: top;
}
.table_design01 th, .table_design01 td {
    border: 2px solid #fff;
    background-color: #e6f1f6;
    padding: 1em;
}
.table_design01 th {
    background-color: #4d9bc1;
    color: #fff;
    font-weight: bold;
    text-align: center;
    width: 20%;
    min-width: 4em;
}
@media screen and (max-width: 767px) {
  .table_design01 {
    width: 100%;
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-all;
  }
  .table_design01 th,
  .table_design01 td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
}

.table_design02 {
    border-collapse: collapse;
    width: 100%;
    caption-side: top;
}
.table_design02 th, .table_design02 td {
    border: 2px solid #fff;
    background-color: #ebf6e6;
    padding: 1em;
}
.table_design02 th {
    background-color: #abcf81;
    color: #fff;
    font-weight: bold;
    text-align: center;
    width: 20%;
    min-width: 4em;
}
@media screen and (max-width: 767px) {
  .table_design02 {
    width: 100%;
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-all;
  }
  .table_design02 th,
  .table_design02 td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
}

#rangeB {
    appearance:none;
    width:90%;
    height:20px;
}
@media screen and (max-width: 767px) {
  #rangeB {
    width:80%;
  }
}

#rangeB::-webkit-slider-runnable-track {
    height:20px;
    background:linear-gradient(90deg,#fff,pink);
    border-radius:5px;
}

#rangeB::-webkit-slider-thumb {
    appearance:none;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#fff;
    border:solid 2px pink;
}

#rangeB::-moz-range-track {
    height:20px;
    background:linear-gradient(90deg,#fff,pink);
    border-radius:5px;
}

#rangeB::-moz-range-thumb {
    width:16px;
    height:16px;
    border-radius:50%;
    background:#fff;
    border:solid 2px pink;
}

.balloon-012 {
    display: grid;
    gap: 1em 0;
    padding: 25px 15px;
    background-color: #769ece;
}

.balloon-012__section {
    display: flex;
    align-items: center;
    gap: 0 15px;
}

.balloon-012__img {
    width: 10em;
    height: 10em;
    border-radius: 50%;
}
@media screen and (max-width: 767px) {
  .balloon-012__img {
    width: 3em;
    height: 3em;
  }
}

.balloon-012__p {
    display: inline-block;
    position: relative;
    max-width: 100%;
    margin: 0;
    padding: .4em .8em;
    border-radius: 20px;
    color: #333;
}

.balloon-012__p.left {
    background-color: #fff;
}

.balloon-012__p.right {
    background-color: #beffd1;
    margin-left: auto;
}

.balloon-012__p::before {
    position: absolute;
    bottom: 35px;
    width: 20px;
    height: 30px;
    content: '';
}

.balloon-012__p.left::before {
    left: -10px;
    border-radius: 0 0 0 15px;
    box-shadow: -3px -15px 0 -7px white inset;
}

.balloon-012__p.right::before {
    right: -10px;
    border-radius: 0 0 15px 0;
    box-shadow: 3px -15px 0 -7px #beffd1 inset;
}

h1 {
    color: #364e96;/*文字色*/
    padding: 0.5em 0;/*上下の余白*/
    border-top: solid 3px #364e96;/*上線*/
    border-bottom: solid 3px #364e96;/*下線*/
}

h2 {
    padding: 0.4em 0.5em;/*文字の上下 左右の余白*/
    color: #494949;/*文字色*/
    background: #f4f4f4;/*背景色*/
    border-left: solid 5px #7db4e6;/*左線*/
    border-bottom: solid 3px #d7d7d7;/*下線*/
}

.box8 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #232323;
    background: #e6f1f6;
    border-left: solid 10px #4d9bc1;
}
.box8 p {
    margin: 0;
    padding: 0;
}

.review-container{
    display: flex;
}
.score{
    font-size: 2.4em;
    margin-right: 10px
}
.star-rating {
    display: flex;
    position: relative;
    height: 36px;
    line-height: 1;
}
.star-rating span {
    display: inline-block;
    width: 36px;
    height: 36px;
}
.star-rating span:not(:first-child) {
    margin-left: 4px
}
.star-rating > span {
    background: url(../img/icon_star_edge.png) no-repeat 0 0;
    background-size: 36px 36px
}
.star-rating-front {
    position: absolute;
    top: 0;
    left: 0;
    height: 36px;
    overflow: hidden;
    white-space: nowrap
}
.star-rating-front > span {
    background: url(../img/icon_star.png) no-repeat 0 0;
    background-size: 36px 36px
}
.star-rating-0 .star-rating-front {
    width: 0px;
}
.star-rating-1 .star-rating-front {
    width: 18px;
}
.star-rating-2 .star-rating-front {
    width: 36px;
}
.star-rating-3 .star-rating-front {
    width: 58px;
}
.star-rating-4 .star-rating-front {
    width: 76px;
}
.star-rating-5 .star-rating-front {
    width: 98px;
}
.star-rating-6 .star-rating-front {
    width: 114px;
}
.star-rating-7 .star-rating-front {
    width: 138px;
}
.star-rating-8 .star-rating-front {
    width: 154px;
}
.star-rating-9 .star-rating-front {
    width: 178px;
}
.star-rating-10 .star-rating-front {
    width: 194px;
}

.review-container-mini{
    display: flex;
    position: absolute;
    right: 0;
    padding-right: 10px;
}
.star-rating-mini {
    display: flex;
    position: relative;
    height: 24px;
    line-height: 1;
}
.star-rating-mini span {
    display: inline-block;
    width: 24px;
    height: 24px;
}
.star-rating-mini span:not(:first-child) {
    margin-left: 2px
}
.star-rating-mini > span {
    background: url(../img/icon_star_edge.png) no-repeat 0 0;
    background-size: 24px 24px
}
.star-rating-mini .star-rating-front {
    position: absolute;
    top: 0;
    left: 0;
    height: 24px;
    overflow: hidden;
    white-space: nowrap
}
.star-rating-mini .star-rating-front > span {
    background: url(../img/icon_star.png) no-repeat 0 0;
    background-size: 24px 24px
}
.star-rating-0-mini .star-rating-front {
    width: 0px;
}
.star-rating-1-mini .star-rating-front {
    width: 12px;
}
.star-rating-2-mini .star-rating-front {
    width: 24px;
}
.star-rating-3-mini .star-rating-front {
    width: 38px;
}
.star-rating-4-mini .star-rating-front {
    width: 50px;
}
.star-rating-5-mini .star-rating-front {
    width: 64px;
}
.star-rating-6-mini .star-rating-front {
    width: 76px;
}
.star-rating-7-mini .star-rating-front {
    width: 90px;
}
.star-rating-8-mini .star-rating-front {
    width: 102px;
}
.star-rating-9-mini .star-rating-front {
    width: 116px;
}
.star-rating-10-mini .star-rating-front {
    width: 128px;
}

.card-click:hover{
    background: #d0a4eb;
}

.ellipsis-1 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 1; /* ここを2や3に変更することで、行数を指定 */
    max-height: calc(1.7em * 1);
}
.ellipsis-6{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 6;
    max-height: calc(1.7em * 6);
}

a.btn_menu {
    width: 100%;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    position: relative;
    margin: auto;
    padding: 1rem 4rem;
    font-weight: bold;
    color: #9227d9;
    background: #ddbcf8;
    transition: 0.3s ease-in-out;
}
a.btn_menu::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border: 2px solid #9227d9;
    transition: 0.2s;
}
a.btn_menu:hover {
    background: #9227d9;
    color: #fff;
}
a.btn_menu:hover::before {
    top: 0;
    left: 0;
}

a.btn_menu_sub {
    width: 100%;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    position: relative;
    margin: auto;
    padding: 1rem 4rem;
    font-weight: bold;
    color: #27acd9;
    background: #e1f3f9;
    transition: 0.3s ease-in-out;
}
a.btn_menu_sub::before {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border: 2px solid #27acd9;
    transition: 0.2s;
}
a.btn_menu_sub:hover {
    background: #27acd9;
    color: #fff;
}
a.btn_menu_sub:hover::before {
    top: 0;
    left: 0;
}

.btn_main {
    width: 100%;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    margin: auto;
    padding: 10px 40px;
    font-weight: bold;
    border: 2px solid #27acd9;
    color: #27acd9;
    border-radius: 100vh;
    transition: 0.5s;
}
.btn_main:hover {
    color: #fff;
    background: #27acd9;
}
.btn_main:disabled{
    border: 2px solid #9b9b9b;
    color: #9b9b9b;
    background: none;
    filter:brightness(0.8);
    cursor:not-allowed;
}
.btn_sub {
    width: 100%;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    margin: auto;
    padding: 10px 40px;
    font-weight: bold;
    border: 2px solid #e2cb01;
    color: #e2cb01;
    border-radius: 100vh;
    transition: 0.5s;
}
.btn_sub:hover {
    color: #fff;
    background: #e2cb01;
}
.btn_sub:disabled{
    border: 2px solid #9b9b9b;
    color: #9b9b9b;
    background: none;
    filter:brightness(0.8);
    cursor:not-allowed;
}
.btn_tri {
    width: 100%;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    margin: auto;
    padding: 10px 40px;
    font-weight: bold;
    border: 2px solid #52b90d;
    color: #52b90d;
    border-radius: 100vh;
    transition: 0.5s;
}
.btn_tri:hover {
    color: #fff;
    background: #52b90d;
}
.btn_tri:disabled{
    border: 2px solid #9b9b9b;
    color: #9b9b9b;
    background: none;
    filter:brightness(0.8);
    cursor:not-allowed;
}
.btn_del {
    width: 100%;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    margin: auto;
    padding: 10px 40px;
    font-weight: bold;
    border: 2px solid #d97d27;
    color: #d97d27;
    border-radius: 100vh;
    transition: 0.5s;
}
.btn_del:hover {
    color: #fff;
    background: #d97d27;
}
.btn_del:disabled{
    border: 2px solid #9b9b9b;
    color: #9b9b9b;
    background: none;
    filter:brightness(0.8);
    cursor:not-allowed;
}
.btn_disabled {
    width: 100%;
    display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    margin: auto;
    padding: 10px 40px;
    font-weight: bold;
    border: 2px solid #9b9b9b;
    color: #9b9b9b;
    border-radius: 100vh;
    transition: 0.5s;
}
