/**
 * JPCのCSS定義。
 * 2024-10-11 about us iframe
 */

* {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    scroll-behavior: smooth;
    overflow-x: hidden;
}

body {
    font-size: 16px;
    /*font-family: 'Roboto', 'Noto Sans JP', sans-serif;*/
    font-family: 'Noto Sans JP', sans-serif;
    width: 100vw;
}

input {
    font-size: 16px;
}

img {
    max-width: 100%;
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

a:visited {
    color: unset;
}

a.border-left,
.border-left a {
    border-left: 1px solid #000;
}

.container {
    padding: 0 30px;
    width: 100%;
    margin: 0 auto;
}

.flexbox {
    display: flex;
}

.box-2 {
    width: 50%;
    width: calc(100% / 2);
}

.box-3 {
    width: 33%;
    width: calc(100% / 3);
    padding: 0 15px;
}

.box-4 {
    width: 25%;
    width: calc(100% / 4);
    padding: 0 0 0 0;
}

ul li {
    list-style: none;
}

#wrap {
    min-height: calc(100vh - 300px);
    width: 100%;
}

.red {
    color: red;
}

.bold {
    font-weight: bold;
}

.border-none {
    border: none !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mb00 {
    margin-bottom: 0 !important;
}

.mb15 {
    margin-bottom: 15px !important;
}


h2{
    font-size: 26px;
}
@media screen and (max-width: 1024px) {
    body {}
}

@media screen and (max-width: 1024px) {
    .container {
        padding: 0 10px;
    }

    h2 {
        font-size: 24px;
    }
}


/* ------------------------------
button
 ------------------------------ */

.button-wrapper {
    clear: both;
    position: relative;
    max-width: 225px;
    margin-left: auto;
    margin-right: auto;
    padding: 24px 0;
    text-align: center;
}

.button {
    display: block;
    width: 100%;
    padding: 10px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    color: #fff;
    background-color: #000;
    text-decoration: none;
}

.button:hover {
    color: #fff;
    text-decoration: none;
}

.button:visited {
    color: #fff;
}

.button-red {
    color: #fff;
    background-color: red;
}

.button-red:hover {
    color: #fff;
    text-decoration: none;
}

.button-color {
    display: block;
    width: 100%;
    padding: 10px;
    line-height: 1;
    text-align: center;
    color: #fff;
    background-color: #000;
    border: 1px solid #000 !important;
    text-decoration: none;
}

.button-color:hover {
    border: 1px solid #000 !important;
    color: #fff;
    text-decoration: none;
}

.button-wrapper .button,
.button-wrapper .button-color {
    padding: 12px 40px;
}

.button-wrapper ul li {
    display: inline-block;
    margin: 0 5px;
}

.button-2column {
    max-width: 400px;
}

.linknone .button {
    cursor: none;
    pointer-events: none;
}

.linknone .button:hover {}

@media screen and (max-width:1024px) {
    .button-wrapper ul li {
        display: block;
        max-width: 60%;
        margin: 0 auto 24px auto;
    }

    .button,
    .button-color {
        padding: 12px;
        font-weight: normal;
    }

    .button:hover,
    .button-color:hover {
        text-decoration: none;
    }
}

.btn-message {
    background-color: red;
}

.btn-message:hover {
    text-decoration: underline;
}


/* ------------------------------
title
 ------------------------------ */

h2.page-title {
    font-size: 24px;
    display: flex;
    align-items: center;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    line-height: 1;
    display: inline-block;
}

h2.page-title .page-title-btn {
    margin-left: auto;
}

h2.page-title .page-title-btn a {
    display: block;
    padding: 8px;
    font-size: 14px;
}

h2.page-title .page-title-btn a:hover {
    background-color: #000 !important;
}

.left-page-title {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.see-all {
    padding-left: 60px;
}

.see-all {
    font-weight: bold;
    line-height: 1;
}

.see-all a {
    color: #000;
    font-size: 16px;
    font-weight: normal;
}

.sub-title p {
    font-size: 18px;
}

@media screen and (max-width: 1024px) {
    .left-page-title {
        margin-bottom: 0;
    }

    .see-all {
        font-size: 16px;
    }
}


/* ------------------------------
　loading
 ------------------------------ */

.bl_loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    color: #fff;
    font-size: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    opacity: 1;
    visibility: visible;
    transition: 0.3s;
    z-index: 1000;
}

.bl_loading.loaded {
    opacity: 0;
    visibility: hidden;
}

.loading_logo {
    width: 100%;
    max-width: 350px;
    text-align: center;
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    margin: 0 auto;
}

.bl_loadingText p {
    font-weight: bold;
    color: #000;
    text-align: center;
    font-size: 20px;
}

@media screen and (max-width: 1024px) {
    .loading_logo {
        width: 100%;
        max-width: 250px;
    }
}


/* ------------------------------
#header
 ------------------------------ */

#header {
    width: 100%;
    position: sticky;
    top: 0;
    background-color: #f7f7f7;
    z-index: 105;
    margin-bottom: 15px;
}

#header .container {
    display: flex;
    padding: 0 0 0 0;
}

.header-logo {
    width: 300px;
    min-width: 300px;
    margin-left: 30px;
    padding-top: 15px;
}

.header-logo img {
    width: 300px;
    min-width: 300px;
}

.header-logo h1 {
    margin: 0 0 0 0;
}

.header-right {
    margin-left: auto;
}

.header-right-above {
    display: flex;
    justify-content: flex-end;
}

.header-right-above ul {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.header-right-above ul li {
    list-style-type: none;
    border: none;
}

.header-right-above a {
    text-decoration: none;
    color: #000;
}

ul.header-sign {
    display: flex;
}

ul.header-sign li {
    background-color: red;
}

ul.header-sign li:first-child {
    background-color: #3d3d3d;
}

ul.header-sign li a {
    color: #fff;
    width: 92px;
    display: flex;
    height: 92px;
    justify-content: center;
    align-items: center;
}

ul.header-sign li a:hover {
    font-weight: bold;
}

ul.header-other {
    text-align: right;
    padding: 15px 15px 0 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    max-width: 492px;
}

ul.header-other li:first-child {
    margin-right: 15px;
    line-height: 1.4;
}

ul.header-other li:nth-child(2) {
    margin-right: 15px;
}

ul.header-other li:last-child {
    width: 100%;
    padding-left: 52px;
}

ul.header-other li a {
    font-weight: bold;
    padding-right: 5px;
    padding-left: 5px;
}

ul.header-other li a:hover {
    text-decoration: underline;
}

ul.header-other li {}

.tooltip {
    position: relative;
    cursor: pointer;
    display: inline-block;
}

.tooltip p {
    margin: 0;
    padding: 0;
}

.tooltip:hover .description {
    display: inline-block;
    z-index: 6;
}

.description {
    position: absolute;
    display: none;
    margin: 1.5em 0;
    padding: 7px 10px;
    max-width: 310px;
    z-index: 2;
    color: #fff;
    font-size: 14px;
    background: #FFF;
    border: solid 1px #ff0000;
    background-color: #ff0000;
    box-sizing: border-box;
    margin-left: -230px;
}

.description:before {
    content: "";
    position: absolute;
    top: -31px;
    right: 10%;
    margin-left: -17px;
    border: 17px solid transparent;
    border-bottom: 17px solid #ff0000;
    z-index: 2;
}

.description p {
    margin: 0;
    padding: 0;
}

.header-banner {
    margin: 0 auto;
    text-align: center;
    padding: 10px;
    height: 80px;
}

.header-banner img {
    max-width: 100%;
    max-height: 100%;
}

@media screen and (max-width: 1024px) {
    ul.header-other li:nth-child(2) {
        display: none;
    }
}


/* ------------------------------
#navigation
 ------------------------------ */

#navigation {
    margin-top: 15px;
    padding: 15px 30px;
    position: relative;
}

#navigation ul {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    width: 100%;
    display: flex;
    /* justify-content: space-around; */
}

#navigation ul li {
    margin: 0 auto;
}

#navigation ul li a {
    display: block;
    width: 100%;
    font-weight: bold;
    line-height: 1;
    color: #000;
    text-decoration: none;
    font-size: 16px;
    text-align: center;
    margin: 0 auto;
    /* max-width: 80px; */
    /* overflow: hidden; */
    white-space: nowrap;
    /* text-overflow: ellipsis; */
    overflow: unset;
}

#navigation ul li.non-scripted {
    margin: 0 0 0 2%;
}
#navigation ul li.slash {
    margin: 0 5px;
}
#navigation ul li.scripted {
    margin: 0 2% 0 0;
}

#navigation ul li:first-child {
    margin-left: 0;
}

#navigation ul li:last-child {
    margin-right: 0;
}

#navigation ul li:nth-child(10),
#navigation ul li:last-child {}

li.nav-border {
    border-left: 1px solid #000;
}

#navigation ul li:nth-child(10) a:before,
#navigation ul li:last-child a:before {}

#navigation ul li.nav-seller:hover,
#navigation ul li:first-child:hover,
#navigation ul li:last-child:hover,
#navigation ul li:nth-child(2):hover {
    text-decoration: underline !important;
}

#sp-nav {
    width: 63px;
    height: 63px;
    background-color: #f7f7f7;
    position: relative;
    cursor: pointer;
}

.sp-nav {
    position: relative;
    margin: 5px 0 0 5px;
}

#sp-nav span {
    display: inline-block;
    transition: all .4s;
    /*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background: #3d3d3d;
    width: 45%;
}

#sp-nav span:nth-of-type(1) {
    top: 15px;
}

#sp-nav span:nth-of-type(2) {
    top: 23px;
}

#sp-nav span:nth-of-type(3) {
    top: 31px;
}


/*activeクラスが付与されると線が回転して×に*/

#header.active #sp-nav span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

#header.active #sp-nav span:nth-of-type(2) {
    opacity: 0;
    /*真ん中の線は透過*/
}

#header.active #sp-nav span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

.dropdown-lists {
    width: 100%;
    position: absolute;
    top: 100%;
    /* 親項目の直下に配置 */
    left: 0;
    padding: 30px 30px 0px 30px;
    background-color: rgba(0, 0, 0, 0.85);
    color: #fff;
    z-index: 5;
    display: none;
}

#navigation ul li .dropdown-lists h3,
#navigation ul li .dropdown-lists ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
    justify-content: flex-start;
    margin-bottom: 10px;
}

#navigation ul li .dropdown-lists .footage-dropdown-lists {
    margin-top: 18px;
}

#navigation .dropdown-lists li {
    display: inline-block;
    width: calc(100% / 6);
    max-width: calc(100% / 6);
    margin-bottom: 10px;
    flex: auto;
    margin: 0 0 10px 0;
}

#navigation .dropdown-lists li:nth-child(50),
#navigation .dropdown-lists li:nth-child(51),
#navigation .dropdown-lists li:nth-child(52) {
    max-width: calc(100% / 6);
}

#navigation .dropdown-lists.dropdown-events li {
    max-width: calc(100% / 3);
    width: calc(100% / 3);
}

#navigation .dropdown-lists li:first-child {}

#navigation ul li .dropdown-lists li:nth-child(10),
#navigation ul li .dropdown-lists li:last-child {
    border-left: none;
    padding-left: 0%;
}

#navigation .dropdown-lists.dropdown-events li:first-child {
    max-width: calc(100% / 3);
    width: calc(100% / 3);
}

#navigation .dropdown-az li {
    display: inline-block;
    width: calc(100% / 17);
    margin-bottom: 10px;
    max-width: 290px;
}

#navigation .dropdown-lists li a {
    color: #fff;
    text-align: left;
    line-height: 1.8;
    overflow: auto;
    max-width: unset;
    padding: 0 0 0 0;
}

#navigation .dropdown-lists li a:hover {
    text-decoration: underline;
}

#navigation ul li .dropdown-lists li:nth-child(11),
#navigation ul li .dropdown-lists li:last-child {
    border-left: none;
    padding-left: 0;
}

#navigation ul li .dropdown-lists li:first-child {
    width: 100%;
    max-width: 100%;
}

#navigation .dropdown-lists .footage-dropdown-lists li,
#navigation .dropdown-lists .footage-dropdown-lists li:first-child {
    width: calc(100% / 6);
    max-width: calc(100% / 6);
    font-weight: bold;
    line-height: 1.8;
}

#navigation .dropdown-lists .footage-dropdown-lists li:first-child:hover {
    text-decoration: none !important;
}

.menu-label {
    pointer-events: none;
    cursor: pointer;
}

.dropdown-lists-ul {
    margin-bottom: 20px !important;
}


#header.active #navigation_sp,
#header #navigation_sp {
    display: none;
}

#header.active #mobile-menu-backdrop,
#header #mobile-menu-backdrop {
    display: none;
}

/* タブレット向け */
@media screen and (max-width: 1200px) {
    #navigation ul li a {
        font-size: 14px;
    }
}

/* スマートフォン向け */

@media screen and (max-width: 1024px) {
    #header #navigation_sp {
        display: inherit;
        width: 0%;
        margin-left: auto;
        transition: width 0.5s;
        position: fixed;
        right: 0;
        z-index: 9;
    }

    #header #mobile-menu-backdrop {
        background-color: rgba(0, 0, 0, .5);
        height: 100%;
        position: fixed;
        right: 0;
        top: 89px;
        width: 0%;
        z-index: 8;
        display: block;
    }

    #header.active .nav-sp{
        width: 0%;
        transition: width 0.5s;
    }

    #navigation_sp ul {
        margin: 0 0 0 0;
        padding: 0 0 0 0;
    }

    #navigation_sp {
        background-color: #fff;
        max-height: calc(100vh - 100px);
        overflow-y: scroll;
    }

    #navigation_sp ul {
        display: block;
        background-color: #fff;
    }

    #navigation_sp ul li {
        display: block;
        text-align: left;
        width: 100%;
        position: relative;
        padding: 10px 0;
        margin: 0 15px;
        border-bottom: 2px solid #eee;
    }
    
    #navigation_sp ul li:last {
        border-bottom: none;
    }

    #navigation_sp ul li a {
        padding: 0px;
        color: #000;
        border-bottom: 1px solid #fff;
        font-size: 16px;
        font-weight: bold;
        display: block;
        text-align: left;
        margin-left: 10px;
    }

    #navigation_sp ul li a:hover {
        text-decoration: none;
    }

    #header.active #navigation_sp {
        display: block;
        padding: 0 0 0 0;
        overflow-x: hidden;
        width: 80%;
        margin-left: auto;
        position: fixed;
        right: 0;
        z-index: 9;
        scrollbar-width: none;
        transition: width 0.5s;
    }

    #header.active #mobile-menu-backdrop {
        display: block;
        width:100%;
    }

    #header.active .nav-sp{
        width: 100%;
        background-color: #000;
        opacity: 0.3;
        position: absolute;
        top: 0;
        left: 0;
    }

    #navigation_sp .dropdown-lists li {
        width: 100%;
        max-width: 100%;
    }

    #navigation_sp .dropdown-lists li a {
        line-height: 1.8;
        padding: 0px;
        font-size: 16px;
        color: #000;
        text-align: center;
    }

    #navigation_sp .dropdown-az li {
        display: inline-block;
        width: calc(100% / 8);
        margin-bottom: 10px;
        max-width: 290px;
    }

    #navigation_sp .dropdown-lists {
        background-color: #fff;
        overflow-y: auto !important;
        /* スクロールバーを表示 */
        max-height: calc(100vh - 136px);
    }

    #header #navigation_sp ul li .dropdown-lists ul {
        padding: 0 15px;
        width: 100%;
        display: block;
    }

    #header #navigation_sp ul li .dropdown-lists ul li:last-child {
        padding-bottom: 20px;
    }

    .icon-wrap {
        position: absolute;
        right: 5px;
        top: 50%;
        transform: translatey(-50%);
        width: 38px;
        height: 38px;
        background-color: transparent;
    }

    /* .icon-wrapの中でプラスを中央に位置させるために.iconを親要素に設定 */
    .icon {
        position: relative;
        display: inline-block;
        width: 100%;
        height: 100%;
    }

    /* プラスアイコン */
    /* ２本の線を.icon-wrapの中央に並行に重ねる */
    .icon:before,
    .icon:after {
        position: absolute;
        content: "";
        display: block;
        transition: all 0.3s;
        background-color: #000;
        left: 50%;
        top: 50%;
        width: 50%;
        height: 2px;
        transform: translate(-50%, -50%);
    }

    /* そのうち1本を縦にする */
    .icon:before {
        transform: translate(-50%, -50%) rotate(90deg);
    }

    /* プラスアイコンクリック後、マイナスにする */
    .icon.open:before {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    .menu-label {
        pointer-events: auto;
        cursor: pointer;
        position: relative;
    }

    .menu-sub {
        /* font-weight: normal!important; */
        padding: 5px 0px!important;
    }

    .dropdown-lists {
        top: auto;
        position: relative;
        padding: 0;
    }

    #navigation_sp .dropdown-lists.dropdown-events {
        display: block;
    }

    #navigation_sp .dropdown-lists.dropdown-events h3 {
        color: #000;
        text-align: center;
        display: block;
        padding: 0 15px;
    }

    #navigation_sp .dropdown-lists.dropdown-events li {
        max-width: 100%;
        width: 100%;
        margin-right: 0;
    }
}


/* ------------------------------
 search2{
 ------------------------------ */

dl.search2 {
    position: relative;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    margin-top: 21px;
}

dl.search2 dt {
    background-color: #fff;
    border-radius: 4px;
}

dl.search2 dt input {
    width: 100%;
    padding: 5px 10px;
    background: none;
    border: none;
    min-width: 320px;
    box-sizing: border-box;
    /* border: 1px solid #ccc; */
    border-radius: 4px;
    background: #fff;
    border-radius: 4px;
}

dl.search2 dt input::placeholder {
    color: #ccc;
}

dl.search2 dt i {
    width: 15px;
    position: absolute;
    right: 35px;
    top: 8px;
    font-size: 14px;
    color: #666666;
}

dl.search2 dd {
    position: absolute;
    top: 0;
    right: 0;
    background: #333;
}

p#advanced_serach_button {
    cursor: pointer;
    height: 29px;
    width: 26px;
    overflow: hidden;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

p#advanced_serach_button i {
    font-size: 14px;
    color: #fff;
    font-weight: bold;
}

@media screen and (max-width:1024px) {
    dl.search2 dd {
        background: transparent;
        top: -22px;
    }

    p#advanced_serach_button i {
        color: #7e7e7e;
    }
}


/* ------------------------------
#header .main-slider-container
 ------------------------------ */

#header .main-slider-container {}

#header .main-slider-container .swiper-wrapper {
    padding-bottom: 0px;
}

#header .main-slider-container .swiper-container {
    position: relative;
    padding: 20px 0 0 0;
    /* max-height: 100px; */
    min-height: 50px;
}

#header .main-slider-container .swiper-container .swiper-slide {
    text-align: center;
    line-height: 1;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

#header .main-slider-container .swiper-slide .slider-full,
#header .main-slider-container .swiper-slide .slider-full a {
    /*
    max-height: 100px;
    max-width: 600px;
    */
    display: flex;
    justify-content: center;
    align-items: baseline;
}

#header .main-slider-container .swiper-container .swiper-slide img {
    display: inline;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    align-self: center;
}

#header .main-slider-container .swiper-container .swiper-button-white:focus {
    outline: none;
}


/* ------------------------------
#top-slider
 ------------------------------ */

.main-slider-container {
    position: relative;
    width: 100%;
    padding: 0 30px;
    overflow: hidden;
    margin-bottom: 40px;
}

.main-slider-container .slider-item .slider-inner {

}

.main-slider-container .slider-item .slider-inner .slider-thum,
.main-slider-container .slider-item .slider-inner .slider-text {
    width: 100%;
}

.main-slider-container .slider-item .slider-inner .slider-thum {
    width: 100%;
    min-width: 100%;
    background-color: #f7f7f7;
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 500px;
}

.main-slider-container .slider-item .slider-inner .slider-text {
    padding: 0 30px;
    max-height: 490px;
    overflow: hidden;
}

.main-slider-container .slider-item .slider-inner .slider-text h2 {
    font-size: 38px;
    font-weight: bold;
    margin-top: 0;
}

.main-slider-container .slider-item .slider-inner .slider-text p {
    font-size: 20px;
    line-height: 2;
    word-wrap: break-word;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 14;
    max-height: 410px;
}

.main-slider-container .slider-item a:hover {
    text-decoration: none;
}

.main-slider-container .swiper-wrapper {
    padding-bottom: 50px;
}

.main-slider-container .swiper-slide .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 500px;
    margin: 0 auto;
}

.main-slider-container .swiper-slide .slider-full {
    max-height: 500px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.main-slider-container .swiper-slide .slider-full img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 500px;
}


.main-slider-container .swiper-pagination {
    bottom: -40px;
}

.main-slider-container {
    overflow: hidden;
    width: 100%;
}

.main-slider-container .slider-item .slider-thum {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    background-color: #f7f7f7;
    min-height: 500px;
}

.main-slider-container .slider-item .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#sub-silder.main-slider-container {
    margin-bottom: 10px;
}

#sub-silder.main-slider-container .slider-item .slider-inner .slider-text {
  padding-left: 0;
}

#sub-silder.main-slider-container .slider-item .slider-inner .slider-text h2 {
  font-size: 34px;
  margin-bottom: 10px;
}

@media screen and (max-width: 1024px) {
    #sub-silder.main-slider-container .slider-item .slider-inner .slider-text h2 {
        font-size: 20px;
    }
}

#recommended-slider {
    position: relative;
    width: 100%;
    padding: 0 30px;
    overflow: hidden;
    margin-bottom: 18px;
}

#recommended-slider .slider-item .slider-thum {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 280px;
    position: relative;
    background-color: #f7f7f7;
}

#recommended-slider .slider-item .slider-thum a {
    position: initial;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 100;
    cursor: pointer;
}

#recommended-slider .slider-item .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#recommended-slider .slider-item .slider-caption {
    position: relative;
    bottom: 0;
    text-align: center;
    padding-top: 5px;
}

.recommended-slider {
    overflow: hidden;
    width: 100%;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 0px)!important;
    right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 0px)!important;
    left: auto;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 16px !important;
    font-weight: bold!important;
    color: #fff;

}



.swiper-button-next:hover:after,
.swiper-button-prev:hover:after {
    font-size: 16px !important;
    font-weight: bold!important;
    color: red;
}



.swiper-container {
    overflow: hidden;
}

#main-slider {
    margin-top: 15px;
}

#main-slider .swiper-button-next,
#main-slider .swiper-button-prev,
#recommended-slider .swiper-button-next,
#recommended-slider .swiper-button-prev {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    padding: 24px 16px;
    border-radius: 6px;
    width: auto;
    background-color: rgba(0, 0, 0, 0.8);
    border: 1px solid #fff;
    height: auto;
    opacity: 0.5;
}


#sub-silder .swiper-button-next,
#sub-silder .swiper-button-prev{
    position: absolute;
    top: 50%;
    /* transform: translateY(calc(-50% - 14vh)); */
    padding: 24px 16px;
    border-radius: 6px;
    width: auto;
    background-color: rgba(0, 0, 0, 0.8);
    border: 1px solid #fff;
    height: auto;
    opacity: 0.5;
}

@media screen and (max-width: 1024px) {
    #sub-silder .swiper-button-next, #sub-silder .swiper-button-prev {
        /* transform: translateY(calc(-50% - 12vh)); */
    }
}

#banner-slider .swiper-button-next,
#banner-slider .swiper-button-prev,
#sellers-slider .swiper-button-next,
#sellers-slider .swiper-button-prev,
#links .swiper-button-next,
#links .swiper-button-prev,
#news-slider .swiper-button-next,
#news-slider .swiper-button-prev  {
    top: 41%;
    padding: 24px 16px;
    border-radius: 6px;
    width: auto;
    background-color: rgba(0, 0, 0, 0.8);
    border: 1px solid #fff;
    height: auto;
    opacity: 0.5;
}




@media screen and (max-width:1024px) {

    #recommended-slider .swiper-button-next,
    #recommended-slider .swiper-button-prev {
        margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
    }
}


/* モーダルを開くボタン */

.modal-open {}


/* モーダルと背景の指定 */

.modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    background: rgba(0, 0, 0, 50%);
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    box-sizing: border-box;
    z-index: 1000;
}


/* モーダルの擬似要素の指定 */

.modal:before {
    content: "";
    display: inline-block;
    vertical-align: middle;
    height: 100%;
    margin-left: -0.2em;
}


/* クラスが追加された時の指定 */

.modal.is-active {
    opacity: 1;
    visibility: visible;
}


/* モーダル内側の指定 */

.modal-container {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    max-width: 940px;
}


/* モーダルを閉じるボタンの指定 */

.modal-close {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    /* top: -20px; */
    right: 0;
    width: 40px;
    height: 40px;
    color: #fff;
    background: #000;
    border-radius: 50%;
    cursor: pointer;
}


/* モーダルのコンテンツ部分の指定 */

.modal-content {
    background-color: #000;
    padding: 20px;
}

.modal-content iframe {
    border: none;
    max-width: 900px;
}

#banner-slider,
#sellers-slider,
#links {
    position: relative;
    width: 100%;
    padding: 0 30px;
    overflow: hidden;
    margin-bottom: 40px;
}

#sellers-slider {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #dbdbdb;

}

#banner-slider .slider-item .slider-thum,
#sellers-slider .slider-item .slider-thum,
#links .slider-item .slider-thum {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px;
    position: relative;
}

#banner-slider .slider-item .slider-thum img,
#sellers-slider .slider-item .slider-thum img,
#links .slider-item .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

@media screen and (max-width:1024px) {

    #recommended-slider,
    .main-slider-container,
    #banner-slider,
    #links {
        margin-bottom: 30px;
    }

    #sellers-slider {
        margin-bottom: 0px;
        border-bottom: none;
    }

    #links,
    .main-slider-container,
    #sellers-slider,
    #recommended-slider,
    #banner-slider,
    #links {
        padding: 0 10px;
    }

    .main-slider-container .slider-item .slider-inner .slider-thum {
        width: 100%;
        min-width: 100%;
        min-height: 200px;
        display: block;
    }

    .main-slider-container .slider-item .slider-inner .slider-text{
        max-height: 600px;
        overflow: hidden;
    }

    #recommended-slider .slider-item .slider-caption {
        /* display: none; */
        text-align: left;
    }

    .main-slider-container .sub-slider .swiper-wrapper {
        padding-bottom: 0px;
    }

    .main-slider-container .sub-slider .slider-item .slider-inner {
        display: block;
    }

    .main-slider-container .sub-slider .slider-item .slider-inner .slider-text {
        width: 100%;
        padding: 0 0 0 0;
        swiper-slide-active
    }

    #main-slider .swiper-button-next,
    #main-slider .swiper-button-prev {
        top: 41%;
        transform: none;
    }

    #sub-silder .swiper-button-next,
    #sub-silder .swiper-button-prev {

    }

    .main-slider-container .sub-slider .slider-item .slider-inner .slider-text h2 {
        font-size: 20px;
        margin-bottom: 0;
        margin-top: 10px;
    }

    .main-slider-container .sub-slider .slider-item .slider-inner .slider-text p {
        font-size: 16px;
        line-height: 1.4
        max-height: 250px;
    }

    .main-slider-container#sub-silder {
        margin-bottom: 20px;
    }

    .main-slider-container#sub-silder .swiper-wrapper {
        margin-bottom:0px;
        padding-bottom: 30px;
    }

    .swiper-pagination{
        /* display:none; */
    }

    #sellers-slider .slider-item .slider-thum,
    #links .slider-item .slider-thum {
        height: 100px;
    }

    #sellers-slider .left-page-title {
       padding-bottom: 0;
    }

    #links .left-page-title{
        padding-bottom:10px!important;
    }
}

@media screen and (max-width:600px) {
    #links .left-page-title{
        padding-bottom:5px!important;
    }
}

@media screen and (max-width:500px) {
    #links .left-page-title{
        padding-bottom:0px!important;
    }
}

@media screen and (max-width:1024px) {
    .modal-container {
        max-width: 100vw;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
    }

    .modal-content {
        width: 100%;
        min-height: 100%;
        padding: 10px;
        height: auto;
        overflow-y: scroll;
    }

    .modal-content iframe {
        border: none;
        max-width: 100%;
        min-height: 100vh;
        width: 100%;
    }

    .modal-close {
        padding-top: 100px;
        font-size: 30px;
        font-weight: bold;
        width: 50px;
        height: 50px;
    }
}

#top-banner-slider .main-slider-container .swiper-slide .slider-full {
  max-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#top-banner-slider .main-slider-container .swiper-slide .slider-full img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

@media screen and (max-width:1024px) {
    #top-banner-slider .main-slider-container .swiper-wrapper {
        padding-bottom: 20px;
    }
}

/********************** 以下のスライダーは使わなければ、消す ******************************/

#top-slider {
    width: 100%;
    margin-bottom: 60px;
}

.top-slider-container {
    padding: 0 30px;
    margin: 0 auto;
    height: 500px;
}

#top-slider .top-slider-container .slick-slider {
    /*height: calc(60vh + 50px);*/
    height: 500px;
}

#top-slider .slider-item .slider-inner a,
#top-slider .slider-item .slider-inner {
    display: flex;
    min-height: 1000px;
}

#top-slider .slider-item a {
    color: #000;
    text-decoration: none;
}

#top-slider .slider-item a:hover {
    text-decoration: none;
}

#top-slider .slider-item {
    max-height: 500px;
}

#top-slider .slider-item .slider-inner a img {
    width: 100%;
    height: auto;
}

#top-slider .slider-item .slider-full {
    max-height: 500px;
    display: flex;
    align-items: flex-start;
}

#top-slider .slider-item .slider-full img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
    margin: 0 auto;
}

#top-slider .slick-prev,
#top-slider .slick-next {
    height: auto;
    top: calc(50% - 25px);
    display: none !important;
}

#top-slider .slider-item .slider-thum {
    width: 50vw;
    min-width: 50vw;
    background-color: #f7f7f7;
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 500px;
}

#top-slider .slider-item .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    object-fit: contain;
}

#top-slider .slider-item .slider-text {
    padding-left: 40px;
}

#top-slider .slider-item .slider-text h2 {
    font-size: 38px;
    font-weight: bold;
    margin-top: 0;
}

#top-slider .slider-item .slider-text p {
    font-size: 20px;
    line-height: 1.8;
}

#top-slider .slick-dots {
    bottom: -50px;
}

.top-slider-container .slick-prev:before,
.top-slider-container .slick-next:before {
    display: none;
}

.top-slider-container .arrow-img {
    opacity: 1;
}

.top-slider-container .arrow-img:hover {
    opacity: 0.8;
}

.top-slider-container .slick-prev,
.top-slider-container .slick-next {
    top: calc(50% - 50px);
    margin-top: 0;
}

#top-slider-mobile {
    padding: 0 10px;
    margin-bottom: 60px;
}

#top-slider-mobile ul {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}

#top-slider-mobile .slider-thum {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    object-fit: contain;
    background-color: #f7f7f7;
}

#top-slider-mobile .slider-thum img {
    width: auto;
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    object-fit: contain;
}

#top-slider-mobile .slider-text p {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    /* 任意の行数を指定 */
}

#top-slider-mobile .slick-dots li {
    width: 10px;
    height: 10px;
    margin: 0 5px;
}

#top-slider-mobile .slick-dots {
    bottom: -20px;
}

#top-slider-mobile .slick-dots li button {
    width: 10px;
    height: 10px;
}


/* ------------------------------
#recommended
 ------------------------------ */

#recommended {
    width: 100%;
    overflow: hidden;
    margin-bottom: 40px;
}

#recommended .top-slider-container {
    padding: 0 30px;
    height: auto;
}

#recommended .slider-inner {
    padding: 0 10px;
}

#recommended .slider {}

#recommended .page-title {}

#recommended .slider-item .slider-thum {
    background-color: #f7f7f7;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 280px;
    position: relative;
}

#recommended .slider-item .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

#recommended .slider-item .slider-caption {
    position: relative;
    bottom: 0;
    text-align: center;
    padding-top: 5px;
}

#recommended .slick-prev img {
    margin-top: -20px;
}

#recommended .slick-next img {
    margin-top: -20px;
}

@media screen and (max-width:1024px) {
    #recommended .top-slider-container {
        padding: 0 10px;
    }

    #recommended .slider-caption {
        display: none;
    }

    #recommended .slider-inner {
        padding: 0 0 0 0;
    }
}


/* ------------------------------
#sellers
 ------------------------------ */

#sellers {
    width: 100%;
    overflow: hidden;
    margin-bottom: 40px;
}

#sellers .top-slider-container {
    padding: 0 30px;
    height: auto;
}

#sellers .top-slider-container h2 {
    margin-bottom: 0;
}

#sellers .page-title {
    padding-left: 10px;
}

#sellers .slider-inner {
    padding: 0 10px;
}

#sellers .slider-item .slider-thum {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 120px;
    position: relative;
}

#sellers .slider-item .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


/* ------------------------------
#links
 ------------------------------ */

.links-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.links-item {
    width: calc(50% - 10px);
    margin-bottom: 10px;
    border: 1px solid #ccc;
    border: 0;
}


/* ------------------------------
#news
 ------------------------------ */
.flex{
    display: flex;
}
#news .container {

}

#news .flex-left,
#news .flex-right{
    width: 50%;
}

#news .flex-left .news-item,
#news .flex-right .program-item{
    height: 240px;
}

#news .flex-right .program-item{
    padding:0;
    border-bottom: solid 1px #eeeeee;
}

#news .flex-right .program-item .news-item{
    /* max-height: 220px; */
    padding: 15px 0;
    border-bottom: none;
}

#news .flex-right .program-item .news-item .news-thum img{
    max-height: 160px;
}

@media screen and (max-width:1300px) {
    #open-news-list-page .news-seller-logo{
        width:50px;
    }
}

@media screen and (max-width:1024px) {
    #open-news-list-page .news-seller-logo{
        width:100px;
    }
}

#news .flex-right .program-item .news-item .news-text{
    height: auto;
    overflow: unset;
    text-overflow: unset;
    line-break: anywhere;
}

.news {
    padding-bottom: 20px;
}

.news-text p {
    margin-top: 0;
    max-width: 70%;
}

.news-text span,
.news-text em {
    margin-top: 0;
    font-style: normal;
}

.news-text em {
    font-size: 18px;
    line-height: 1.4;
}

.news-text span.company-name {
    font-size: 14px;
}

.news-text a {
    margin-top: 0;
    color: #000;
    text-decoration: none;
    font-size: 24px;
    line-height: 1.4;
    font-weight: bold;
}

.news-text a:hover {
    color: #000;
    text-decoration: underline;
}

.news-detail {
    padding-top: 24px;
    padding-bottom: 120px;
}

.news-date p {
    font-size: 13px;
}

.news-date.pc p {
    text-align: right;
    padding-bottom: 24px;
}

.news-title {
    margin-top: 12px;
}

.news-title h2 {
    font-family: 'M PLUS 1p', sans-serif;
    /*font-style: italic;*/
    color: #303030;
    padding: 18px 0px;
}

.news-item {
    border-bottom: solid 1px #eeeeee;
    padding: 15px 0;
    margin: 0 0 0 0;
    display: flex;
}

.news-thum {
    float: left;
    width: 300px;
    min-width: 300px;
    max-height: 200px;
    margin-right: 30px;
    overflow: hidden;
}

.news-thum a{
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 200px;
}

.news-thum img {
    -moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
    width: auto;
    height: auto;
    max-height: 200px;
    max-width: 100%;
    display: block;
}

.news-thum:hover>a>img {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    filter: brightness(1.2);
}

.news-text {
    float: left;
    width: 80%;
}

.news-list-btn {
    position: absolute;
    right: 5px;
    top: 5px;
    width: 85px;
}

.news-list-btn a {
    line-height: 0.65;
}

.newsBody img,
.newsBody iframe {
    max-width: 100%;
}

.newsBody img {
    height: auto !important;
}

.list-news {}

@media screen and (max-width:1024px) {
    .news-thum {
        float: left;
        width: 20%;
        margin-right: 15px;
        min-width: 150px;
        overflow: hidden;
    }

    .news-thum img {
        /* width: 100%; */
        display: block;
    }

    .news-text {
        float: left;
        width: 75%;
    }

    .news-text p {
        padding: 0 0 0 0;
        margin: 0 0 0 0;
        font-size: 14px;
        line-height: 1.4;
    }

    .news-text span {
        font-size: 16px;
    }

    .news-text span.company-name {
        font-size: 13px;
    }
}

@media screen and (max-width:1024px) {
    .news {
        padding-bottom: 0px;
    }

    .news-text span,
    .news-text em {
        /*font-family: Helvetica, Arial, sans-serif;*/
        font-style: normal;
        font-size: 18px;
        line-height: 1.4;
        display: block;
    }

    .news-text p {}

    .news-text p span {
        font-size: 13px;
        margin-bottom: 5px;
    }

    .news-text a {
        display: block;
    }

    .news-text a:hover {
        color: #17225f;
        text-decoration: none;
    }

    .news-title h2 {
        padding: 0px;
        font-size: 18px;
    }

    .news-title {
        margin-top: 24px;
        margin-bottom: 24px;
    }

    .news-detail {
        padding-top: 0;
        padding-bottom: 20px;
    }

    .news-detail p {
        margin-bottom: 12px;
    }
}

#content-wrap.left {
    width: 100%;
}

.right {
    width: 100%;
    margin: 0 0 20px 30px;
}
.left{
        padding-bottom: 20px;
}

#main.news-detail-top {
        padding-top: 17px;
}
@media screen and (max-width: 1024px) {
    #main.news-detail-top {
        padding-top: 0px;
    }
}

.news-detail-top #detail-content {
    width: 1000px;
    margin: 0 auto 20px auto;
}

@media screen and (max-width:1024px) {
    .news-detail-top #detail-content {
        width: 100%;
    }
}

/* ------------------------------
.footer
 ------------------------------ */

footer {
    padding-top: 15px;
}

#footer {
    background-color: #000;
    padding: 30px 0;
    position: sticky;
    top: 100vh;
}

.footer-nav {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}

.footer-nav li {
    margin-bottom: 20px;
}

.footer-other {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    display: flex;
    justify-content: center;
}

.footer-nav {
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.footer-nav li {}

.footer-navigation li a {
    color: #fff;
    display: block;
}

.footer-other {
    clear: both;
}

.footer-nav li a {
    display: block;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    white-space: nowrap;
    text-align: center;
}

.footer-nav li:nth-child(10),
.footer-nav li:nth-child(12) {}

.footer-other li a {
    border-left: 1px solid #fff;
    padding: 0 15px;
    font-weight: bold;
}

.footer-other li:first-child a {
    border-left: none;
}

footer {
    color: #fff;
    text-align: center;
}

#footer_google_translate_element {
    display: none;
}

#footer .footer-nav li a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 1024px) {
    .footer-nav {
        display: none;
    }

    .footer-other {
        flex-wrap: wrap;
        margin-bottom: 20px;
    }

    .footer-navigation li {
        margin-bottom: 10px;
    }

    footer {
        padding-top: 0;
    }

    footer,
    .footer-navigation li a {
        font-size: 16px;
    }

    #footer_google_translate_element {
        width: 100%;
        height: 80px;
        display: block;
        text-align: center;
    }
}


/*================================================
 *  Other
 ================================================*/

.clearfix::after {
    content: " ";
    display: block;
    clear: both;
}

#banners img {
    max-width: 300px;
}

.arrow {
    position: relative;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    top: 0px;
    /*  left:62%;*/
    /*float:right;*/
    width: 40px;
    height: 30px;
}

.arrow:hover {
    opacity: 0.5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha(opacity=50)";
}

.arrow::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 40px;
    height: 30px;
    border: 2px solid #000;
}

.arrow::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    left: 15px;
    box-sizing: border-box;
    width: 15px;
    height: 15px;
    border: 12px solid transparent;
    border-left: 12px solid gray;
}

.search_box {
    position: fixed;
    z-index: 150;
    right: -120%;
    top: 0px;
    border: 1px solid #ccc;
    background-color: rgba(255, 255, 255, 0.95);
    transition: 0.5s ease;
    max-width: 400px;
    height: calc(100% - 12px);
    overflow-y: scroll;
}

.search_box.on {
    top: 50px;
    max-height: none;
    height: calc(100% - 50px);
}

.search_box .search_form {
    padding: 0 0 25px 0px;
    position: relative;
}

.translated-ltr .search_box {
    top: 118px;
}

.search_box::-webkit-scrollbar {
    display: none;
}

.search_box.active {
    right: 0;
}

.search_close {
    font-size: 0;
    position: absolute;
    right: 20px;
    top: 28px;
    cursor: pointer;
    width: 30px;
    height: 30px;
    top: 4px;
}

.search_close:after {
    display: block;
    width: 30px;
    content: " ";
    background-color: #fff;
    height: 2px;
    transform: rotate(45deg);
    position: relative;
    top: 18px;
}

.search_close:before {
    display: block;
    width: 30px;
    content: " ";
    background-color: #fff;
    height: 2px;
    transform: rotate(-45deg);
    position: relative;
    top: 20px;
    position: relative;
}

a.search_close {
    overflow: unset;
}

.search_title {
    font-size: 21px;
    font-weight: bold;
    color: #fff;
    background-color: #000;
    margin-bottom: 35px;
    padding: 10px 0;
    text-align: center;
}

.search_subtitle {
    font-weight: bold;
    margin-bottom: 15px;
    font-size: 18px;
    padding: 0 15px;
}

.search_form input[type="text"] {
    padding: 7px;
    border: 1px solid #ddd;
    background: #ffffff;
    background: -moz-radial-gradient(center, ellipse cover, #ffffff 56%, #f1f1f1 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #ffffff 56%, #f1f1f1 100%);
    background: radial-gradient(ellipse at center, #ffffff 56%, #f1f1f1 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f1f1f1', GradientType=1);
    margin-bottom: 20px;
    width: 92%;
    box-sizing: border-box;
    margin-left: 15px;
    margin-right: 15px;
}

.search_form input::-webkit-input-placeholder {
    color: #ccc;
}

.search_check_area label {
    width: 50%;
    display: inline-flex;
    float: left;
    margin-bottom: 5px;
    font-size: 14px;
    position: relative;
    line-break: anywhere;
}

.search_check_area>label:first-of-type {
    width: 100%;
}

.search_check_area label input {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    width: 15px;
    height: 15px;
    background-color: #aaaaaa;
    position: relative;
    top: 2px;
    margin-right: 20px;
    transition: 0.1s ease;
}

.search_close a {
    overflow: auto;
}

@media all and (-ms-high-contrast:none) {

    *::-ms-backdrop,
    .search_check_area label input+span {
        display: none;
    }

    /* IE11 */
    *::-ms-backdrop,
    .search_radio_area label input:checked+span {
        display: none;
    }

    /**::-ms-backdrop, .search_select_left::after { background-color: rgba(0,0,0,0) !important; }*/
    *::-ms-backdrop,
    .search_select_left::after {
        content: "\f077";
        position: absolute;
        z-index: 0;
        right: 0px;
        height: 36px;
        width: 25px;
        background-color: #555;
        text-align: -webkit-center;
        padding-top: 9px;
        box-sizing: border-box;
        color: #0050ff;
        font-size: 13px;
        text-align: center;
    }

    .search_select_left::after {
        content: "\25BC";
        position: absolute;
        z-index: 0;
        right: 0px;
        height: 36px;
        width: 25px;
        background-color: #555;
        text-align: -webkit-center;
        padding-top: 9px;
        box-sizing: border-box;
        color: #0050ff;
        font-size: 13px;
        text-align: center;
    }

    ::-ms-expand {
        display: none;
    }
}

@media all and (-ms-high-contrast:none) {

    *::-ms-backdrop,
    .search_close:after {
        top: 6px;
    }

    *::-ms-backdrop,
    .search_close:before {
        top: 7px;
    }
}

.search_check_area label input+span {
    font-size: 0;
}

.search_check_area label input+span:before {
    content: "";
    border-bottom: 3px solid rgba(255, 255, 255, 0);
    border-right: 3px solid rgba(255, 255, 255, 0);
    width: 3px;
    height: 10px;
    display: inline-block;
    position: absolute;
    left: 10px;
    z-index: 10;
    transition: 0.1s ease;
    transform: rotate(45deg);
    top: 4px;
}

.search_check_area label input:checked+span:before {
    border-bottom: 3px solid rgb(0, 0, 0);
    border-right: 3px solid rgb(0, 0, 0);
}

.search_check_area {
    margin-bottom: 20px;
}

.search_genre_btn {
    display: block;
    width: 95px;
    text-align: center;
    padding: 5px;
    background-color: #fff;
    text-align: center;
    color: #fff;
    margin-left: auto;
    clear: both;
    font-size: 11.5px;
    transition: 0.3s ease;
    cursor: pointer;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
    transition: 0.2s;
}

.search_genre_btn:hover {
    color: #fff;
    text-decoration: none;
}

.search_select {
    float: left;
    width: 45%;
}

.search_select_center {
    width: 10%;
    float: left;
    text-align: center;
    padding-top: 7px;
    margin: 0 0 0 0;
}

.search_select {
    width: 100%;
    -webkit-appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding: 7px;
    box-sizing: border-box;
    border: 0;
    background-color: rgba(0, 0, 0, 0);
    position: relative;
    z-index: 100;
    font-size: 14px;
}

.search_select_left {
    float: left;
    width: 43%;
    margin-bottom: 40px;
    position: relative;
    border: 1px solid #ddd;
    background: #ffffff;
    background: -moz-radial-gradient(center, ellipse cover, #ffffff 56%, #f1f1f1 100%);
    background: -webkit-radial-gradient(center, ellipse cover, #ffffff 56%, #f1f1f1 100%);
    background: radial-gradient(ellipse at center, #ffffff 56%, #f1f1f1 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f1f1f1', GradientType=1);
    box-sizing: border-box;
    overflow: hidden;
}

.search_select:after {
    display: block;
    position: absolute;
    content: "";
}

.search_radio_area {
    /*    border-top: 1px solid #eee;
    padding-top: 20px;*/
    margin-bottom: 20px;
    padding: 0 15px;
}

.search_select_left:after {
    content: "\25BC";
    position: absolute;
    z-index: 0;
    right: 0;
    height: 36px;
    width: 25px;
    background-color: #555;
    text-align: center;
    padding-top: 8px;
    box-sizing: border-box;
    color: #fff;
    font-size: 9px;
}

_::-webkit-full-page-media,
_:future,
:root .search_select_left:after {
    padding-top: 9px;
}

.search_radio_area label {
    width: 50%;
    float: left;
    display: inline-flex;
    position: relative;
}

#categoriesA.search_radio_area label {
    margin-bottom: 8px;
    font-size: 14px;
}

#categoriesA.search_radio_area>label:first-of-type {
    width: 100%;
}

.search_radio_area input {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    width: 20px;
    height: 20px;
    background-color: #aaa;
    border-radius: 100%;
    margin-right: 20px;
    position: relative;
    top: -2px;
}

.search_radio_area label span {
    font-size: 0;
    width: 10px;
    height: 10px;
    background-color: rgba(0, 0, 0, 0);
    display: block;
    position: absolute;
    left: 10px;
    transition: 0.3s ease;
    top: 6px;
    border-radius: 100%;
}

.search_select_box,
#categoriesB {
    padding: 0 15px;
}


/* Hack for Safari 6.1-7.0 */

@media screen and (-webkit-min-device-pixel-ratio:0) and (min-color-index:0) {
    .search_radio_area label span {
        left: 10px !important;
    }
}


/* 最新のsafari用 */

_::-webkit-full-page-media,
_:future,
:root .search_radio_area label span {
    left: 7px !important;
}


/* 古いsafari用 */

@media screen and (-webkit-min-device-pixel-ratio:0) {

    ::i-block-chrome,
    .search_radio_area label span {
        left: 7px !important;
    }
}

.search_radio_area label input:checked+span {
    background-color: #fff;
}

.search_form .submit_btn {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -ms-appearance: none;
    background-color: #000;
    text-align: center;
    border: none;
    color: #fff;
    padding: 10px;
    font-size: 16px;
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
    transition: 0.3s ease;
    margin: 0 15px;
    width: 92%;
    display: block;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
    transition: 0.2s;
    height: 40px;
    overflow: hidden;
}

.search_form .submit_btn:hover {
    font-weight: bold;
}


/* ------------------------------
 sidebar
 ------------------------------ */

#sidebar {
    box-sizing: border-box;
    overflow: hidden;
    width: 100%;
    margin-bottom: 40px;
}

#sidebar ul {
    padding: 0;
    margin: 0;
}

#sidebar ul li {
    list-style: none;
    float: left;
}

#sidebar ul li:nth-child(4n+1) {
    grid-column: span 1; /* 4番目ごとに新しい行を開始 */
}

/* 4番目のアイテムだけに::afterを適用 */
#sidebar ul li:nth-of-type(4) {
    /* clear: both; */

}


#sidebar ul li a {
    display: block;
    padding: 0 15px 10px 0;
    color: #000;
}
#sidebar ul li.active a,
#sidebar ul li a:hover{
    font-weight: bold!important;
}

#sidebar ul.en li:first-child {
    width: 100%;
    float: none;
}

#sidebar ul.en li {
    width: 25%;
    float: left;
}

@media screen and (max-width:1024px) {
    #sidebar {
        display: none;
    }
}


/* ------------------------------
 タグ
 ------------------------------ */

.tag {
    padding-bottom: 10px;
}

.tag,
.tags ul {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    margin-bottom: 0px;
}

.tags ul li {
    list-style: none;
    display: inline-block;
    color: #000;
    padding: 4px 10px;
    background-color: #ffffff;
    margin-bottom: 4px;
    font-size: 11px;
    line-height: 11px;
    border: 1px solid;
}

.tags ul.icon-genre {}

.tags ul li.icon-quality {
    list-style: none;
    display: inline-block;
    /* color: #ffffff; */
    padding: 4px 10px;
    /* background-color: #002473; */
    margin-bottom: 4px;
    font-size: 11px;
    line-height: 11px;
}

.tags ul li.icon-video-quality {
    list-style: none;
    display: inline-block;
    padding: 4px 10px;
    color: #fff;
    background-color: #000;
    margin-bottom: 4px;
    font-size: 11px;
    line-height: 11px;
    border-color: #000;
}

.tag ul li {
    list-style: none;
    display: inline-block;
    margin-bottom: 4px;
    font-size: 16px;
    line-height: 16px;
}

.tag ul li a.button,
.tag ul li a.button-color {
    font-size: 11px;
    font-weight: normal;
    padding: 4px 8px;
    width: auto;
}

.tag ul li a.button:hover,
.tag ul li a.button-color:hover {
    text-decoration: none;
}

.tags-color {
    margin-bottom: 12px;
}

.tag-keyword ul li {
    font-size: 18px;
    font-weight: bold;
    margin-right: 15px;
}

.tags ul li:first-child {}

#single:checked~.card .card__item .case-item .tags ul li.new-icon {
    display: none;
}

#single:checked~.card .card__item .tags ul{
    margin-bottom: 10px;
}

#multi:checked~.card .card__item .case-item .tags ul li.new-icon {
    background-color: red;
}

#single:checked~.card .card__item .case-item .case-thum {
    max-height: 170px;
}

#single:checked~.card .card__item .case-item .case-thum img {
    margin: 0 auto;
    max-height: 170px;
}

@media screen and (max-width:1024px) {
    .tags {
        padding-bottom: 0px;
    }

    #single:checked~.card .card__item .case-item .case-thum {
        max-height: 750px;
    }

    #single:checked~.card .card__item .case-item .tags ul{
        margin-bottom: 0px;
    }
}


/* ------------------------------
 並べ替え
 ------------------------------ */

.item-count-title {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
}

.item-count-wrapper {
    position: relative;
    bottom: -13px;
}

@media screen and (max-width:1024px) {
    .item-count-wrapper {
        bottom: 0px;
    }
}

.c-radio {
    display: none;
}

.btn {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    width: 60px;
    height: 24px;
    margin: 0 0 0 auto;
}

.btn__multi,
.btn__single {
    width: 24px;
    height: 24px;
    cursor: pointer;
}

.btn__multi span,
.btn__single span {
    display: block;
    background: #ccc;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.btn__multi:hover span,
.btn__multi:hover span:after,
.btn__single:hover span,
.btn__single:hover span:after {
    background: #aaa;
}

.btn__multi {
    position: relative;
}

.btn__multi span {
    display: block;
    width: 11px;
    height: 11px;
}

.btn__multi span:first-child {
    margin-bottom: 2px;
}

.btn__multi span:after {
    content: "";
    position: absolute;
    right: 0;
    width: 11px;
    height: 11px;
    background: #ccc;
    border-radius: 2px;
    transition: all 0.3s ease;
}

.btn__single span {
    wdith: 24px;
    height: 11px;
}

.btn__single span:first-child {
    margin-bottom: 2px;
}

.card {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
    justify-content: safe flex-start;
}

.card__item {
    position: relative;
    height: 100%;
    width: 31%;
    width: calc(100% / 3);
    padding: 0 20px;
    margin-bottom: 20px;
}

#single:checked~.card .card__item {
    width: 50%;
    margin: 0 0 0 0;
    padding: 15px 0;
    height: auto;
}

#single:checked~.card.tv-program-part-container {
    margin-left: 5px;
    margin-right: 5px;
}

#single:checked~.card.tv-program-part-container .detail-head-company,
#multi:checked~.card.tv-program-part-container .detail-head-company {
    display: inline-block;
    width: 200px;
}

#single:checked~.card.tv-program-part-container .detail-head-company img{
    position: absolute;
    top: 15px;
    /* margin-top: 15px; */
}

#single:checked~.card.tv-program-part-container .detail-head-company img:nth-child(odd) {
    right: 15px;
}

#single:checked~.card.tv-program-part-container .detail-head-company img:nth-child(even) {
    right: 0;
}

#multi:checked~.card.tv-program-part-container .detail-head-company img{
    position: absolute;
    top: 3px;
    right: 15px;
}

#single:checked~.card.tv-program-part-container .detail-head-company-sp,
#multi:checked~.card.tv-program-part-container .detail-head-company-sp {
    display: none;
}

#single:checked~.card .card__item.item_left {
    padding-right: 20px;
}

#single:checked~.card .card__item.item_right {
    padding-left: 20px;
}

#iframe-programs-container {
    margin: 0 15px;
}

@media screen and (max-width:1024px) {
    .btn.btn_sp {
        width: 90px;
    }

    .btn__multi_sp,
    .btn__single_sp,
    .btn__image_sp {
        width: 24px;
        height: 24px;
        cursor: pointer;
    }

    .btn__multi_sp span,
    .btn__single_sp span,
    .btn__image_sp span {
        display: block;
        background: #ccc;
        border-radius: 2px;
        transition: all 0.3s ease;
    }

    .btn__multi_sp:hover span,
    .btn__multi_sp:hover span:after,
    .btn__single_sp:hover span,
    .btn__single_sp:hover span:after,
    .btn__image_sp:hover span,
    .btn__image_sp:hover span:after {
        background: #aaa;
    }

    .btn__multi_sp {
        position: relative;
    }

    .btn__multi_sp div {
        display: flex;
        margin-bottom: 1px;
    }

    .btn__multi_sp div span {
        display: block;
        width: 6px;
        height: 6px;
        margin: 0 1px;
    }

    .btn__single_sp div {
        display: flex;
        margin: 2px 0;
    }

    .btn__single_sp div:first-child {
        display: flex;
        margin: 2px 0 2px 0;
    }

    .btn__single_sp div:last-child {
        display: flex;
        margin: 2px 0 4px 0;
    }

    .btn__single_sp div span {
        width: 19px;
        height: 4px;
    }

    .btn__single_sp div span:first-child {
        width: 4px;
        height: 4px;
        margin-right: 1px;
    }

    .btn__image_sp div:first-child {
        display: flex;
        margin: 2px 0 2px 0;
    }

    .btn__image_sp div:last-child {
        display: flex;
        margin: 2px 0 4px 0;
    }

    .btn__image_sp div span {
        width: 24px;
        height: 4px;
    }

    #single:checked~.card .card__item:nth-child(odd) {
        padding-right: 0px;
        padding-left: 0px;
    }

    #single:checked~.card .card__item:nth-child(even) {
        padding-left: 0px;
    }

    #single:checked~.card.tv-program-part-container {
        margin-left: 0px;
        margin-right: 0px;
    }

    #single:checked~.card .card__item .case-item .case-thum img {
        height: auto;
    }

    #multi:checked~.card .card__item .case-title a {
        font-size: 18px;
    }

    #multi:checked~.card .card__item .case-sub-title {
        display: none;
    }

    #multi:checked~.card .card__item .case-desc {
        display: none;
    }

    #iframe-programs-container {
        margin: 0 0
    }

    #single:checked~.card.tv-program-part-container .detail-head-company-sp {
        display: inline-block;
        width: 70px;
    }

    #single:checked~.card.tv-program-part-container .detail-head-company-sp img,
    #multi:checked~.card.tv-program-part-container .detail-head-company-sp img {
        position: relative;
        max-width: 70px;
        margin-left: 15px;
        margin-top: 5px;
    }
}

#single:checked~.card .card__item__3 {
    width: calc(100% / 3);
    padding: 0 15px;
    margin-bottom: 15px;
}

#single:checked~.card .card__item span {
    top: 20px;
    left: 20px;
    font-size: 16px;
}

#multi:checked~.card {
    padding-top: 15px;
}

#multi:checked~.btn .btn__multi {
    cursor: default;
}

#multi:checked~.btn .btn__multi span {
    background: #3b4144;
}

#multi:checked~.btn .btn__multi span:after {
    background: #3b4144;
}

#multi:checked~.flexbox .btn .btn__multi span {
    background: #3b4144;
}

#multi:checked~.flexbox .btn .btn__multi span:after {
    background: #3b4144;
}

#multi:checked .card__item {
    position: relative;
    min-width: 310px;
    max-height: 100%;
    margin: 0 0 25px 25px;
    width: 25%;
}

#multi:checked~.card .card__item .program-thum {
    width: 100%;
    height: 240px;
    align-items: center;
    justify-content: center;
}

#multi:checked~.card .card__item .program-thum {}

#multi:checked~.card .card__item .program-thum img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
}

#multi:checked~.card .card__item .program-thum .new-icon {
    display: none;
}

#multi:checked~.card .card__item .program-thum .contents-item-new-block {
    display: block;
}

#multi:checked~.card .card__item .arrow {
    display: none;
}

#single:checked~.btn .btn__single {
    cursor: default;
}

#single:checked~.btn .btn__single span {
    background: #3b4144;
}

#single:checked~.flexbox .btn .btn__single span {
    background: #3b4144;
}

.single-program-title {
    display: none;
}

.single-program-title span {
    display: block;
    font-size: 15px !important;
}

.single-program-title p {
    font-size: 16px;
    line-height: 1;
}

.image-single-program-title p {
    font-size: 13px;
    word-break: break-word;
}

#single:checked~.card .card__item .program-title {
    display: none;
}

#single:checked~.card .card__item .single-program-title {
    display: block;
    /* float: left; */
    /* margin-left: 30px; */
    position: relative;
    /* max-width: 650px; */
    z-index: 0;
}

#single:checked~.card .card__item .single-program-title a img {
    display: inline-block;
    position: relative;
    top: 6px;
    width: 40px;
    height: 26px;
}

.single-program-title ul {}

.card__item .clearfix {
    display: flex;
}

#multi:checked~.card .card__item {
    height: auto;
}

#multi:checked~.card .card__item .clearfix {
    display: block;
}

body#salescompany #single:checked~.card .card__item .image-single-program-title {
    text-align: left;
    display: block;
    float: left;
    margin-left: 30px;
    position: relative;
    max-width: 650px;
    max-width: 420px;
}

body#salescompany #single:checked~.card .card__item .single-program-title {
    text-align: left;
    max-width: 485px;
}

body#salescompany .program-thum {
    position: relative;
    overflow: hidden;
    width: 230px;
    height: 150px;
    text-align: center;
    cursor: pointer;
    vertical-align: middle;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
}

body#salescompany .tags ul {
    text-align: left;
}

body#salescompany .arrow {
    padding: 0;
}

#single:checked~.card .card__item .program-thum {
    float: left;
}

#single:checked~.card .card__item .program-thum .new-icon {
    /*display:block;*/
    position: absolute;
    left: 0;
    top: 0;
}

#single:checked~.card .card__item .program-thum .contents-item-new-block {
    display: none;
}

@media all and (-ms-high-contrast:none) {

    *::-ms-backdrop,
    #single:checked~.card .card__item .program-thum {
        display: -ms-flexbox;
    }

    /* IE11 */
    *::-ms-backdrop,
    #multi:checked~.card .card__item .program-thum {
        display: block;
    }

    /* IE11 */
}

.single-program-title h4 {
    border-bottom: none;
    font-size: 19px;
    font-weight: bold;
    color: #000;
    line-height: 1.8;
    margin-bottom: 5px;
    margin-top: 0;
    font-family: 'Noto Sans JP', 'Roboto', sans-serif;
    word-break: break-word;
}

.image-single-program-title h4 {
    border-bottom: none;
    font-size: 18px;
    font-weight: bold;
    color: #000;
    line-height: 1.8;
}

.single-program-title .sub-subject {
    font-family: 'Noto Sans JP', 'Roboto', sans-serif;
    color: #ae9364;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 5px;
    word-break: break-word;
    padding-top: 0;
}

.single-program-title .sub-title {
    font-size: 14px;
    margin-bottom: 15px;
    word-break: break-word;
}

.card__item.first_item {}

#list-content,
.case-content {
    width: 100%;
    position: relative;
}

.case-item {
    display: flex;
    width: 100%;
}

.case-thum {
    width: 50%;
    position: relative;
}

.iframe-aspect {
    width: 50%;
    aspect-ratio: 16 / 9;
    position: relative;
}

.iframe-aspect iframe {
    width: 100%;
    height: auto;
    max-height: 100% !important;
}

.flexbox-exhibitor-profile .iframe-aspect {}

.flexbox-exhibitor-profile .iframe-aspect iframe {}

.case-text {
    width: calc(100% - 150px);
}

.case-title {
    font-weight: bold;
    font-size: 24px;
    line-height: 1.2;
    padding: 0 0 0 0;
    margin: 0 0 10px 0;
    color: #000;
}

.case-title h2 {
    margin-top: 0;
    padding-top: 0;
    font-size: 24px;
}

.case-sub-title {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    color: #303030;
    font-size: 16px;
    font-weight: bold;
}

.case-title a {
    color: #000;
    word-wrap: break-word;
}

.case-sub-title a {
    color: #0066B6;
}

#single:checked~.card .card__item .tags {
    display: none;
    min-height: 28px;
}

#multi:checked~.card .card__item .tags {
    display: block;
    overflow: hidden;
    min-height: 55px;
    padding-top: 3px;
}

#multi:checked~.card .card__item .case-item {
    display: block;
}

#multi:checked~.card .card__item .case-item .case-thum {
    width: 100%;
    text-align: center;
    max-width: 100%;
    margin-bottom: 10px;
    min-height: 250px;
    max-height: 250px;
    margin-top: 20px;
}

#multi:checked~.card .card__item .case-item .case-thum img {
    max-height: 250px;
    margin: 0 auto;
}

#multi:checked~.card .card__item .case-item .case-text {
    width: 100%;
    padding-left: 0;
}

#single:checked~.card .card__item.odd-item .case-text {
    padding-right: 15px;
}

#single:checked~.card .card__item.even-item {
    padding-left: 15px;
}

#single:checked~.card .card__item.even-item .case-text {
    padding-right: 0px;
}

#multi:checked~.card .card__item .case-thum a {
    position: relative;
    display: block;
}

#single:checked~.card .card__item__3 .case-thum a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}

#single:checked~.card .card__item__3 .case-thum a img {}

#multi:checked~.card .card__item .case-item .case-thum img.ws {
    width: 100%;
    height: auto;
    object-fit: contain;
}

#multi:checked~.card .card__item .case-item .case-thum img.hs {}

#single:checked~.card .card__item .case-thum,
}

#single:checked~.card .card__item .case-thum a,
#single:checked~.card .card__item .case-thum a img {
    max-height: 250px;
}

#single:checked~.card .card__item .tags ul li.new-icon {
    display: none;
}

#multi:checked~.card .card__item .tags ul li.new-icon {
    background-color: red;
    color: #fff;
    border-color: red;
}

.icon-movie {
    position: absolute;
    top: auto;
    right: 0;
    bottom: 0;
    width: auto;
    margin: 0 0 0 0;
}

.icon-movie img {
    width: 60px !important;
}

.icon-movie img:hover {
    -webkit-transform: scale(1) !important;
    -moz-transform: scale(1) !important;
    -o-transform: scale(1) !important;
    -ms-transform: scale(1) !important;
    transform: scale(1) !important;
}

#multi:checked~.card .card__item .case-thum .icon-new {
    display: none;
}

#multi:checked~.card .card__item .case-thum .icon-movie {}

#multi:checked~.card .card__item .case-title {
    width: 100%;
    overflow: hidden;
    line-height: 1.4;
}

#multi:checked~.card .card__item .case-title a {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

#multi:checked~.card .card__item .case-desc {
    max-width: 100%;
    width: 100%;
}

#multi:checked~.card .card__item .case-desc p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    line-height: 1.8;
}

#multi:checked~.card .card__item .case-desc p {
    text-overflow: "...";
}

#single:checked~.card .card__item .case-desc p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    text-overflow: "...";
}

.card__item.odd-item.card__item__3 .case-thum a {
    display: flex;
    justify-content: center;
    align-items: center;
    max-height: 160px;
}

.card__item.odd-item.card__item__3 .case-thum a img {
    width: auto;
    height: auto;
    object-fit: contain;
    max-height: 160px;
}

.icon-movie img {
    width: 50px !important;
}

.icon-new {
    position: absolute;
    right: 0;
    top: 0;
    background-color: red;
    color: #fff;
    padding: 5px;
    font-size: 11px;
    margin: 0 0 0 0;
    z-index: 1;
    list-style: none;
}

#list-content {}

#list-content .flexbox {
    flex-wrap: wrap;
    margin-left: -15px;
    margin-right: -15px;
    position: relative;
}

.list-content .tags ul{
    width: 80%;
}

.flex-list {
    justify-content: flex-start;
}

.flexbox.flex-list {
    padding: 0 15px;
}

.list-item {
    margin-bottom: 20px;
    overflow: hidden;
}

.list-item img {
    max-width: 100%;
    max-height: 100%;
}

.list-item a {
    display: flex;
    height: 75px;
    align-items: center;
    color: #000;
}

.list-desc {
    display: none;
}

.list-item .list-thum a {
    height: 100px;
}

p.list-title {
    margin: 0 0 0 0;
}

.flex-left {
    width: 60%;
}

.flex-right {
    width: 40%;
}

.flex-left {
    margin-bottom: 20px;
    padding-right: 20px;
}

.flex-left a {
    color: #000;
}

.flexbox-exhibitor-profile .flex-left h2 {
    margin-top: 0;
    padding-top: 0;
    font-size: 26px;
}

.case-thum {
    width: 225px;
    min-width: 225px;
    max-width: 225px;
    margin-right: 20px;
    overflow: hidden;
}

.list-item img,
.case-thum img {
    width: 100%;
    display: block;
}

.case-thum img {
    -moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
    max-width: 100%;
    max-height: 100%;
    width: auto;
}

.list-item img {
    -moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    margin: 0 auto;
}

.list-item img:hover,
.case-thum img:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 0.6;
}

.case-detail .case-thum img {
    pointer-events: none;
}

.flexbox.flexbox-event .case-thum {
    width: 300px;
    min-width: 300px;
    max-width: 300px;
}

.flexbox.flexbox-artist .case-thum {
    width: 200px;
    min-width: 200px;
    max-width: 200px;
}

.flexbox.flexbox-staff .case-thum {
    width: 200px;
    min-width: 200px;
    max-width: 200px;
}

.flexbox.flexbox-exhibitor .case-thum {
    width: 200px;
    min-width: 200px;
    max-width: 200px;
}

.flex-staff {
    padding-left: 20px;
}

.flexbox.flexbox-exhibitor.flexbox-exhibitor-profile .flex-left {
    border-right: 1px solid #ddd;
    margin-bottom: 0;
    padding-bottom: 15px;
}

.flexbox.flexbox-exhibitor.flexbox-exhibitor-profile .flex-left .case-thum {
    margin: 0 auto;
}

.flexbox.flexbox-exhibitor.flexbox-exhibitor-profile .case-thum {
    width: 50%;
    min-width: 50%;
    max-width: 50%;
}

.flexbox.flexbox-exhibitor.flexbox-exhibitor-profile .case-text {
    width: 50%;
}

.flexbox.flexbox-exhibitor.flexbox-exhibitor-profile .case-text h2 {
    margin-top: 0;
}

.case-search .flexbox.flexbox-event .case-thum {
    width: 200px;
    min-width: 200px;
    max-width: 200px;
}

.flexbox.flexbox-artist .case-thum img {
    -moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
}

.flexbox.flexbox-artist .case-thum:hover>a img {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 0.8;
}

.flexbox.flexbox-exhibitor-profile .case-item,
.flexbox.flexbox-exhibitor-profile .case-item img,
.flexbox.flex-buyer-profile .case-thum,
.flexbox.flex-buyer-profile .case-thum img {
    /*
      -ms-interpolation-mode: nearest-neighbor;
      image-rendering: -webkit-optimize-contrast;
      image-rendering: -moz-crisp-edges;
      image-rendering: -o-crisp-edges;
      image-rendering: pixelated;
      */

    -webkit-transform: unset;
    -moz-transform: unset;
    -o-transform: unset;
    -ms-transform: unset;
    transform: unset;
    opacity: unset;
    filter: unset;
}

.flexbox.flexbox-exhibitor-profile .case-item:hover>img,
.flexbox.flex-buyer-profile .case-thum:hover>img,
.flexbox.flexbox-exhibitor.flexbox-exhibitor-profile .case-thum:hover>img {
    /*
      -ms-interpolation-mode: nearest-neighbor;
      image-rendering: -webkit-optimize-contrast;
      image-rendering: -moz-crisp-edges;
      image-rendering: -o-crisp-edges;
      image-rendering: pixelated;
      */
}

.flexbox.flexbox-exhibitor {
    border-bottom: 1px solid #ddd;
}

.flexbox-artist,
.flexbox-staff {
    flex-wrap: wrap;
}

.flexbox-artist .case-item,
.flexbox-staff .case-item {
    width: 100%;
    padding-bottom: 15px;
    padding-top: 15px;
}

.case-text ul {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
}

.flexbox-artist .case-text,
.flexbox-staff .case-text {
    width: 100%;
}

.flex-left .tags ul li {
    margin-right: 10px;
}

.flex-left .tags ul li:first-child {}

.flex-left .case-text {
    width: 100%;
}

.case-text h1 {
    margin: 0 0 10px 0;
    padding: 0 0 0 0;
}

.flex-programs,
.flex-staff {
    margin-top: 30px;
}

#sort {
    display: flex;
    align-items: center;
    position: absolute;
    right: 15px;
    top: -30px;
}

#sort.program-list-sort{
    top: -40px;
}

.sort_checkbox {
    width: 100px;
}

#sort-select-form {
    width: 100%;
}

.sort_box {
    width: 280px;
}

.sort_box>p {
    flex-shrink: 0;
    font-weight: 600;
    font-size: 14px;
    font-size: clamp(12px, 1.4vw, 16px);
}

.select_outer {
    position: relative;
    background-color: #ccc;
}

.sort_box select {
    position: relative;
    padding: 10px 1.5em;
    width: 100%;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.45;
    font-size: clamp(12px, 1.4vw, 16px);
    background-color: transparent;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    outline: none;
    color: #fff;
    border: 0;
    z-index: 30;
    cursor: pointer;
    font-family: 'Noto Sans JP', sans-serif;
}

.sort_box select:focus {}

.sort_box option {
    background-color: #ccc;
}

.select_outer:before {
    content: "";
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    height: 100%;
    width: 40px;
    height: 100%;
    background-color: #333;
    color: #fff;
    font-size: 12px;
}

.select_outer:after {
    content: "";
    position: absolute;
    display: block;
    top: 38%;
    right: 6%;
    transform: translateY(-50%);
    color: #fff;
    width: 5px;
    height: 5px;
    border-top: 2px solid;
    border-right: 2px solid;
    transform: rotate(135deg);
    text-align: center;
    z-index: 50;
}

.flexbox-wrapper {
    display: flex;
    align-items: center;
}

.flexbox-wrapper #sort {
    position: relative;
    margin-left: auto;
    top: 0;
}

@media screen and (max-width:1024px) {
    .card__item {
        position: relative;
        height: 100%;
        width: 100%;
        margin: 0;
        margin-bottom: 20px;
        border-bottom: 1px solid #ccc;
        padding: 0 0;
    }

    #single:checked~.card .card__item {
        width: 100%;
        padding: 0 0 0 0;
    }

    #single:checked~.card .card__item .case-item .case-thum {
        min-height: 121px;
        min-width: 121px;
        max-width: 121px;
        margin-top: 0px;
        margin-right: 20px;
        overflow: auto;
        display: block;
    }

    #single:checked~.card .card__item .case-item .case-thum img.hs {
        min-height: auto;
    }

    #single:checked~.card .card__item .case-item {
        display: flex;
        flex-wrap: wrap;
        padding: 10px 0;
    }

    #single:checked~.card .card__item .tags {
        width: 100%;
        margin-top: 10px;
    }

    #single:checked~.card .card__item .case-item .case-text {
        width: calc(100% - 141px);
        padding-right: 0;
        padding-left: 0;
        margin-top: -3px;
    }

    .case-content .btn {
        display: none;
    }

    #single:checked~.card .card__item .tags {
        display: block;
    }

    .case-title {
        font-size: 24px;
        max-width: calc(100% - 30px);
    }

    .item-count-title {
        font-size: 15px;
    }

    .icon-movie {
        position: absolute;
        right: 0;
        top: 14px;
    }

    .icon-movie img {
        width: 30px !important;
    }

    .sort_box {}

    .case-content {
        padding-top: 15px;
    }

    .list-desc {
        display: block;
    }

    .list-desc.elipsis {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        overflow: hidden;
        text-overflow: "...";
    }

    .box-4 {
        width: 100%;
    }

    .list-item {
        padding-right: 0;
        display: flex;
        align-items: center;
        border-bottom: 1px solid #ccc;
        margin-bottom: 0;
    }

    .list-thum {
        width: 30%;
        min-width: 100px;
        padding: 10px 0;
        margin-right: 10px;
    }

    .list-item {
        padding: 15px 0px;
    }

    .list-item .list-title {
        margin-top: 0;
    }

    .list-item .list-title a {
        margin-top: 0;
        display: block;
        height: auto;
        font-size: 16px;
        font-weight: bold;
    }

    #sort {
        display: flex;
        align-items: center;
        position: relative;
        right: 0;
        top: 0px;
        justify-content: flex-end;
    }

    #sort.program-list-sort{
        top: 0px;
    }
    
    #list-content #sort{
        justify-content: flex-start;
        margin-left: -4px;
    }

    .flexbox-wrapper #sort .sort_box {
        width: 200px;
    }

    .flex-left,
    .flex-right {
        width: 100%;
        margin: 0 0 0 0;
        padding: 0 0 0 0;
        border-left: none;
    }

    .flexbox.flexbox-exhibitor.flexbox-exhibitor-profile .case-thum {
        min-height: 120px;
        min-width: 100%;
        max-width: 100%;
        margin: 0 0 0 0;
        display: flex;
        align-items: center;
    }

    .flexbox.flexbox-exhibitor.flexbox-exhibitor-profile .case-text {
        width: 100%;
    }

    .flexbox.flexbox-exhibitor-profile .case-item img {
        max-height: 100% !important;
        width: 100%;
        height: auto;
    }

    .case-item {
        display: block;
    }

    .iframe-aspect {
        margin-top: 20px;
        width: 100%;
        aspect-ratio: 16 / 9;
        position: relative;
    }

    .case-text {
        padding-right: 0;
    }

    .flexbox-staff .staff-contact-button {
        position: absolute;
        top: calc(120px /2);
        left: 120px;
    }

    .flexbox-staff .case-item {
        position: relative;
    }

    #single:checked~.card .card__item .case-desc p {
        padding-right: 0;
    }

    .case-sub-title {
        font-size: 15px;
    }

    #multi:checked~.card .card__item {
        width: 47%;
        border-bottom: none;
        margin-bottom: 0;
    }

    #multi:checked~.card .card__item.item_right {
        margin-left:auto;
    }

    #multi:checked~.card .card__item:item_left {
        margin-right:auto;
    }

    #multi:checked~.card .card__item .case-item .case-thum{
        max-width: 100%;
        width: 100%;
        min-width: 100%;
        min-height: 120px;
        max-height: 120px;
        background-color: #CCC;
        align-content: center;
    }

    #multi:checked~.card .card__item .case-item .case-thum img {
        max-height: 120px;
        object-fit: contain;
    }

    #multi:checked~.card .card__item .case-item .case-thum .tags{
        display: none !important;
    }

    #multi:checked~.card .card__item .case-item .case-text .case-sub-title,
    #multi:checked~.card .card__item .case-item .case-text . {
        display: none;
    }

    #multi:checked~.card .card__item .case-item .case-text .icon-movie {
        top: 19px;
    }

    #multi:checked~.card .card__item .case-title a{
        text-decoration: none;
    }

    #image:checked~.card .card__item {
        width: 100%;
        padding: 0 0 0 0;
    }

    #image:checked~.card .card__item:nth-child(odd) {
        padding-right: 0px;
    }

    #image:checked~.card .card__item:nth-child(even) {
        padding-left: 0px;
    }

    #image:checked~.card.tv-program-part-container {
        margin-left: 0px;
        margin-right: 0px;
    }

    #image:checked~.card .card__item .case-item {
        display: flex;
        margin-bottom: 10px;
    }

    #image:checked~.card .card__item .case-title {
        margin-top: -6px;
        line-height: 0.9em;
    }

    #image:checked~.card .card__item .case-title a {
        font-size: 16px;
    }

    #image:checked~.card .card__item .case-sub-title {
        display: none;
    }

    #image:checked~.card .card__item .case-desc {
        display: none;
    }

    #image:checked~.card .card__item .detail-head-company-sp {
        display: none;
    }

    #image:checked~.card .card__item .case-item .case-thum {
        min-height: auto;
        max-height: 141px;
        min-width: 141px;
        max-width: 141px;
        margin-top: 0px;
        margin-right: 20px;
        overflow: auto;
        display: block;
        background-color: rgb(230, 230, 230);
    }

    #image:checked~.card .card__item .case-item .case-thum img {
        margin: 0 auto;
    }

    #image:checked~.card .card__item .case-item .case-text {
        width: calc(100% - 141px);
        padding-right: 0;
        padding-left: 0;
        margin-top: -3px;
    }

    #image:checked~.card .card__item .case-item .icon-movie {
        top: 0;
    }

    #image:checked~.card .card__item .case-item .case-thum .tags{
        display: none !important;
    }

    #image:checked~.card .card__item .case-item .case-text .case-sub-title,
    #image:checked~.card .card__item .case-item .case-text . {
        display: none;
    }
}

.arrow {
    position: relative;
    /* padding: 0 0 0 16px; */

    margin-left: 10px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
    font-size: 15px;
    /* top: 20px; */
    /* left: 62%; */

    float: right;
    width: 40px;
    height: 30px;
}

/* ------------------------------
 #breadcrumbs
 ------------------------------ */
#breadcrumbs {
    position: relative;
}

/*================================================
 *  rich text editor
 ================================================*/
.rich-text-editor {
    font-size: 16px;
}

.rich-text-editor h1,
.rich-text-editor h2,
.rich-text-editor h3,
.rich-text-editor h4,
.rich-text-editor h5,
.rich-text-editor h6,
.rich-text-editor p,
.rich-text-editor span,
.rich-text-editor strong,
.rich-text-editor em,
.rich-text-editor a {
    line-height: inherit;
    width: initial;
    height: initial;
    padding: initial;
    margin: initial;
    float: initial;
    background-color: initial;
    background: initial;
    border: initial;
    text-decoration: initial;
    outline: initial;
    vertical-align: initial;
    word-break: break-word;
    font-weight: normal;
}

.rich-text-editor strong h1,
.rich-text-editor strong h2,
.rich-text-editor strong h3,
.rich-text-editor strong h4,
.rich-text-editor strong h5,
.rich-text-editor strong h6,
.rich-text-editor strong p,
.rich-text-editor strong span,
.rich-text-editor strong em,
.rich-text-editor strong a,
.rich-text-editor strong {
    font-weight: bold;
}

.rich-text-editor ul li,
.rich-text-editor ol li {
    list-style-position: inside;
}

.rich-text-editor ul li {
    list-style-type: disc;
}

.rich-text-editor img {
    max-width: 100%;
    height: auto !important;
    max-height: 100%;
}

.rich-text-editor p {
    margin: 0 0 10px 0;
}

.rich-text-editor sup {
    vertical-align: super;
    font-size: smaller;
}

.rich-text-editor iframe {
    /*height: calc(100vw / 5);*/
}


.rich-text-editor td a {
    display: block;
    overflow: hidden;
    text-decoration: none;
}


.rich-text-editor td a:hover{
    text-decoration: underline;
}


.rich-text-editor a{
    display: inline;
    overflow: hidden;
}

.rich-text-editor a img{
    -moz-transition: -moz-transform 0.2s linear;
    -webkit-transition: -webkit-transform 0.2s linear;
    -o-transition: -o-transform 0.2s linear;
    -ms-transition: -ms-transform 0.2s linear;
    transition: transform 0.2s linear;
    overflow: hidden;
}


.rich-text-editor a img:hover {
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
    opacity: 0.6;
}


@media screen and (max-width:1024px) {
    .rich-text-editor iframe {
        width: 100%;
        height: calc(100vw / 1.9);
    }

    .rich-text-editor table td{
        display: block;
    }
}

@media screen and (max-width:400px) {
    .rich-text-editor table{
        width: 100%!important;
    }
}

/* ------------------------------
sns
 ------------------------------ */
.sns-wrapper {
    width: 100%;
    margin: 20px 0;
}

.sns-wrapper .sp-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.sns-icon {
    display: flex;
    align-items: center;
}

.icon-weibo,
.icon-facebook,
.icon-twitter,
.icon-google,
.icon-favarite,
.icon-print,
.icon-reddit,
.icon-pocket,
.icon-mail,
.icon-line,
.icon-linked-in {
    margin: 5px 20px 5px 0px;
    padding: 0px;
}

.icon-print {
    margin: 0px 0px 0 0;
}

.icon-print,
.icon-favarite {
    max-height: 25px;
}

.icon-mail img,
.icon-print img,
.icon-favarite img {
    max-height: 25px;
    width: 100%;
    max-width: 25px;
}

.icon-twitter {
    min-width: 30px;
    margin-right: 15px;
}

.icon-twitter img {
    width: 25px;
    height: 25px;
}

#sns .sns-wrapper .sp-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ------------------------------
 詳細画面
 ------------------------------ */
#main {
    min-height: calc(100vh - 300px);
    padding-top: 30px;
}

#main .flexbox {
    display: block;
}

#main .flexbox.flex-list {
    display: flex;
}

#main .title-wrapper {
    display: flex;
    align-items: center;
}

#main .title-wrapper h2 {
    margin-top: 0;
}

#main .title-wrapper .sns-wrapper {
    margin-left: auto;
}

#detail-content {
    width: 100%;
    margin-bottom: 20px;
    padding-top: 5px;
    position: relative;
}

.detail-head {
    position: relative;
    min-height: 77px;
}

.detail-sns {
    position: absolute;
    right: 0;
    top: 0;
}

#main #detail-content .flexbox {
    align-items: flex-start;
}

.detail-title {
    font-weight: bold;
    font-size: 26px;
    line-height: 1;
    padding: 0 0 0 0;
    margin: 0 0 10px 0;
    color: #000;
    width: 100%;
}

.detail-sub-title {
    padding: 0 0 0 0;
    margin: 0 0 10px 0;
    color: #000;
    font-size: 16px;
    font-weight: bold;
    width: 100%;
}

a.btn-contact,
.btn-contact {
    display: inline-block;
    padding: 10px;
    background-color: red;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    white-space: nowrap;
}

.detail-head-contact .btn-contact:hover {
    text-decoration: underline;
}

.detail-head-left {
    width: 70%;
}

.detail-head-right {
    display: flex;
    justify-content: flex-end;
    width: 30%;
    align-items: flex-start;
    min-width: 200px;
}

.detail-head-company {
    width: 150px;
    margin-left: auto;
    padding-right: 15px;
    text-align: right;
}

.detail-head-company img {
    max-height: 45px;
    max-width: 150px;
    width: auto;
    height: auto;
}

.detail-head-sns {
    position: absolute;
    right: 0;
    top: 0
}

.detail-head .tags {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    padding-top: 15px;
}

.detail-head .tags ul {
    margin-right: 20px;
}

.detail-slider {
    width: 40%;
    position: relative;
    overflow: hidden;
}

.detail-slider-40 {
    width: 40%;
    position: relative;
}

.detail-slider-40 .slider2 {
    padding-bottom: 20px;
}

.body-margin {
    margin-bottom: 100px;
}

.body-margin-small {
    margin-bottom: 40px;
}

.detail-body {
    margin-top: 20px;
    position: relative;
}

.detail-text {
    width: 60%;
    padding-left: 40px;
    font-size: 16px;
    position: relative;
}

.detail-text-time {
    margin-bottom: 20px;
    position: relative;
    margin-top: -48px;
    max-width: 60%;
    float: right;
    word-break: break-word;
}

.detail-body-60 .detail-text-time {
    max-width: 40%;
}

.detail-body-60 .detail-text {
    width: 100%;
    padding-left: 0px;
    font-size: 16px;
}

.detail-body-60 .detail-slider {
    width: 60%;
    margin-right: 40px;
}

.detail-text p {
    padding: 0;
    margin: 0;
    font-size: 15px;
}

.detail-text a {
    color: #000;
}

.detail-text-time p {
    font-weight: bold;
    color: #000;
    text-align: right;
    font-size: 16px;
    margin: 0 0 0 0;
}

.slider-case {}

.caption {
    text-align: center;
}

.swiper--wrapper {
    /* wrapperのサイズを調整 */

    width: 100%;
    height: 300px;
}

.swiper-slide {
    width: 100%;
    height: 100%;
}

.swiper-container,
.swiper-horizontal,
.swiper-slide .slider-item {
    position: relative;
    margin: 0 0 0 0 !important;
}

.swiper-slide .slider-thum {
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 400px;
    margin: 0 auto;
}

.swiper-slide .slider-thum iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: 100%
}

.detail-slider .swiper-button-next,
.detail-slider .swiper-button-prev {
    top: calc(50% - 10%);
    position: absolute;
    padding: 24px 16px;
    border-radius: 6px;
    width: auto;
    background-color: rgba(0, 0, 0, 0.8);
    border: 1px solid #fff;
    height: auto;
    opacity: 0.5;
}

.detail-slider-40 .no-text .swiper-button-next,
.detail-slider-40 .no-text .swiper-button-prev {
    top: calc(50% - 5%);
}

.detail-slider-40 .swiper-button-next,
.detail-slider-40 .swiper-button-prev {
    top: calc(50% - 8%);
    position: absolute;
    padding: 24px 16px;
    border-radius: 6px;
    width: auto;
    background-color: rgba(0, 0, 0, 0.8);
    border: 1px solid #fff;
    height: auto;
    opacity: 0.5;
}

.detail-slider-40 .no-text .swiper-button-next,
.detail-slider-40 .no-text .swiper-button-prev {
    top: calc(50% - 2%);
}

.detail-slider-40 .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 500px;
    margin: 0 auto;
}

.detail-slider-40 .swiper-horizontal>.swiper-pagination-bullets,
.detail-slider-40 .swiper-pagination-bullets.swiper-pagination-horizontal,
.detail-slider-40 .swiper-pagination-custom,
.detail-slider-40 .swiper-pagination-fraction,
.detail-slider-40 .swiper-pagination {
    bottom: 0;
}

.detail-slider p.caption {
    margin: 15px auto;
    font-size: 14px;
}

.detail-slider .swiper-wrapper {
    padding-bottom: 20px;
}

/*
.detail-slider .swiper-horizontal>.swiper-pagination-bullets,
.detail-slider .swiper-pagination-bullets.swiper-pagination-horizontal
{
    bottom: -10px;
}
*/
.detail-slider-40 .swiper-wrapper-photo .slider-thum img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
}

.head-btn-icon-sns {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.slider1,
.slider2 {
    padding-bottom: 40px;
}

.slider1.no-text,
.slider2.no-text,
.detail-slider .slider2.no-text .swiper-wrapper {
    padding-bottom: 0;
}

#detail-content .card__item .case-item .case-thum {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.slider2.no-text p.caption {
    display: none;
}

@media screen and (max-width:1024px) {
    #main .flexbox {
        display: block;
    }

    .detail-head {
        min-height: auto;
    }

    .detail-head-left {
        width: 100%;
    }

    .detail-slider-40,
    .detail-slider,
    .detail-body-60 .detail-slider {
        width: 100%;
        margin-right: 0;
    }

    .detail-head-right {
        display: none;
    }

    .detail-head-contact {
        text-align: center;
        padding: 60px 0;
    }

    a.btn-contact,
    .btn-contact {
        padding: 10px 60px;
        font-size: 16px;
    }

    .detail-text {
        margin-bottom: 20px;
        padding-left: 0;
        width: 100%;
    }

    .detail-slider .swiper-wrapper {
        display: flex;
        place-items: center;
    }

    .flexbox.flexbox-staff .case-thum {
        width: 100px !important;
        min-width: 100px !important;
        max-width: 100px !important;
    }

    .flex-staff {
        padding-left: 0;
    }

    .detail-slider {
        margin-bottom: 0px;
    }

    .detail-head .tags ul {
        width: 100%;
    }

    .detail-title {
        font-size: 24px;
    }

    .slider1,
    .slider2 {
        padding-bottom: 0px;
    }

    .detail-text-time {
        margin-top: -20px;
        max-width: 100%;
        float: unset;
    }

    .detail-body-60 .detail-text-time {
        max-width: 100%;
    }

    .detail-slider .slider2.no-text .swiper-wrapper,
    .slider2.no-text {
        padding-bottom: 0;
    }

    .detail-slider p.caption {
        margin-bottom: 0;
    }

    .detail-slider .swiper-button-next, 
    .detail-slider .swiper-button-prev {
        top: calc(50% - 8%);
    }

    .detail-slider .no-text .swiper-button-next, 
    .detail-slider .no-text .swiper-button-prev {
        top: calc(50% - 5%);
    }
}

.slick-slide {
    position: relative;
}

.detail-slider .slider-item .slider-thum iframe {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: 100%;
    border: none;
}

.slider-case .slick-slide .caption {
    position: absolute;
    left: 0;
    bottom: -10px;
    z-index: 2;
    width: 100%;
    font-size: 11px;
}

.slider-case.slick-slider .slick-track,
.slider-case.slick-slider .slick-list {}

.slider-case {
    margin-bottom: 10px;
}

.slider-case .slider-item {
    padding-bottom: 30px;
}

.slider-case.slider-m .slider-item {
    padding-bottom: 10px;
}

.slider-case .slider-item .slider-thum {
    position: relative;
    width: 100%;
    max-height: 530px;
}

.slider-case .slider-item .slider-thum iframe {}

.slider-case .slider-item .slider-thum img,
.slider-case .slider-item .slider-thum iframe {
    margin: 0 auto;
    max-width: 100%;
    display: block;
    position: relative;
    top: 0;
    /* left: 50%; */

    -webkit-transform: translate(-50%, -50%);
    transform: translate(0%, 0%);
    max-height: 530px;
    width: auto;
}

.slider-case .slider-item .slider-thum iframe {
    width: 100%;
}

.slider-case .slick-prev,
.slider-case .slick-next {
    top: 0;
    margin-top: 0;
    opacity: 0.5;
    height: 100%;
}

.slider.slider-case {
    overflow: initial !important;
    margin-bottom: 10px;
    max-height: 530px;
}

.slider.slider-case .slick-dots {
    position: relative;
    bottom: 0;
}

.slider.slider-case.slider-m .slick-dots {
    margin-top: 0;
}

.no-caption .slick-dots {
    bottom: 0;
}

.slider-case .slick-prev {
    left: -50px;
    height: calc(100% - 40px);
    display: none !important;
}

.slider-case .slick-next {
    right: -50px;
    height: calc(100% - 40px);
    display: none !important;
}

#slider {
    width: 100%;
    /* height: 610px; */

    margin: 00px auto 30px auto;
    position: relative;
}

#slider .inner {
    width: 100%;
    padding: 0 0 0 0;
}

#slider .slider {
    width: 100%;
    width: 100%;
    overflow: hidden;
}

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

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

#slider h2 {
    position: absolute;
    bottom: 4%;
    left: 2%;
    color: #fff;
    font-size: 38px;
    margin: 0 0 0 0;
}

#slider h2 span {
    display: block;
    font-size: 20px;
}

#slider .map {
    position: absolute;
    right: 2%;
    bottom: 5%;
    width: 30%;
    max-width: 250px;
}

#slider .map img,
#slider ul li img {
    width: 100%;
    height: auto;
    display: block;
}

.thumb-item {
    max-width: 100%;
    margin: 0 auto 5px;
}

.thumb-item-nav {
    max-width: 100%;
    margin: 0 auto;
}

.thumb-item-nav li {
    margin: 4.5px;
}

#slider .slick-prev,
#slider .slick-next {
    top: 50%;
    margin-top: -50px;
}

#slider {
    width: 100%;
    /* height: 610px; */

    margin: 00px auto 30px auto;
    position: relative;
}

#slider .inner {
    width: 100%;
    padding: 0 0 0 0;
}

#slider .slider {
    width: 100%;
    width: 100%;
    overflow: hidden;
}

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

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

#slider h2 {
    position: absolute;
    bottom: 4%;
    left: 2%;
    color: #fff;
    font-size: 38px;
    margin: 0 0 0 0;
}

#slider h2 span {
    display: block;
    font-size: 20px;
}

#slider .map {
    position: absolute;
    right: 2%;
    bottom: 5%;
    width: 30%;
    max-width: 250px;
}

#slider .map img,
#slider ul li img {
    width: 100%;
    height: auto;
    display: block;
}

.thumb-item {
    max-width: 100%;
    margin: 0 auto 5px;
}

.thumb-item-nav {
    max-width: 100%;
    margin: 0 auto;
}

.thumb-item-nav li {
    margin: 4.5px;
}

#slider .slick-prev,
#slider .slick-next {
    top: 50%;
    margin-top: -50px;
}

#partners .slick-prev,
#partners .slick-next,
#video-productions .slick-prev,
#video-productions .slick-next {
    top: 50%;
    margin-top: -25px;
}

#slider .slick-prev {
    left: 25px;
}

#slider .slick-next {
    right: 25px;
}

#partners .arrow-img,
#video-productions .arrow-img {
    display: none;
}

#partners .slick-prev,
#partners .slick-next,
#video-productions .slick-prev,
#video-productions .slick-next {
    top: 50%;
    margin-top: -25px;
    margin-left: -15px;
    width: 50px;
    height: 50px;
}

.slider-season .slick-prev,
.slider-season .slick-next {
    top: 50%;
    margin-top: -50px;
    width: 50px;
    height: 50px;
}

#partners .slick-next,
#video-productions .slick-next {
    margin-right: -15px;
}

.slick-prev:before {
    font-family: "FontAwesome" !important;
    font-size: 40px !important;
    display: inline-block;
    content: '\f104';
    color: #000 !important;
}

.slick-next:before {
    font-family: "FontAwesome" !important;
    font-size: 40px !important;
    display: inline-block;
    content: '\f105';
    color: #000 !important;
}

#slider .slick-prev:before,
#slider .slick-next:before {
    display: none;
}

.slider-season,
#video-productions,
#partners {
    margin-bottom: 20px;
}

.slider-season h3,
#video-productions h3,
#partners h3 {
    margin-bottom: 0px;
    font-size: 28px;
}

.slider-season {
    padding-right: 10px;
}

.slider-season .movie-item {
    margin: 0 0px 0 10px;
}

.slick-dots li button:before {
    font-size: 48px !important;
}

.slider.slider-case.slider-m {
    margin-bottom: 40px;
}

#detail-content .case-thum img {
    max-height: 150px;
    margin: 0 auto;
}

.detail-slider .slider-item.slider-iframe {
    margin: 0 0 0 0 !important;
}

/*
_::-webkit-full-page-media, _:future, :root .detail-slider .slider-item .slider-thum {
          position: relative;
          width: 100%;
          padding-top: 0;
}

_::-webkit-full-page-media, _:future, :root .detail-slider .slider-item .slider-thum iframe{
  position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
}
*/

/* テストVimeo動画従来仕様番組 */
.vimeo-fixed {
    position: relative;
    height: 0;
    padding: 0 0 56.25%;
    overflow: hidden;
}

.vimeo-fixed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: 100%;
}

.vimeo-responsive {
    padding-top: 0;
}

#main .flexbox.tv-program-detail-box,
#main .flexbox.tv-station-detail-box
{
    display:flex;
}

@media screen and (max-width: 1024px) {
    #main .flexbox.tv-program-detail-box,
    #main .flexbox.tv-station-detail-box
    {
        display:block;
    }

    #main .flexbox.tv-program-detail-box .detail-title {
        font-size: 26px;
    }
}

.more-from{
    text-decoration: underline;
}

.more-from:hover{
    color: #7F7F7F;
}

/* ------------------------------
  Sign in
 ------------------------------ */
#lean_overlay {
    position: fixed;
    z-index: 100;
    top: 0px;
    left: 0px;
    height: 100%;
    width: 100%;
    background: #ffffff;
    display: none;
}

/* Sign up */
#signup-wrapper {
    background-color: #ffffff;
    width: 500px;
    padding: 0;
    display: none;
    border: solid 1px #7f7f7f;
}

.modal-title-block {
    background-color: #0066b6;
    color: #ffffff;
    text-align: center;
    padding-top: 10px;
}

.modal-title-block {
    margin: 0;
    padding: 5px 0;
    font-size: 1.13rem;
    line-height: 1.13rem;
}

.modal-title-block p {
    margin: 0px;
}

.modal-form {
    padding: 0 30px 10px 30px;
}

.modal-form-tbl {
    width: 100%;
    padding-top: 10px;
}

.modal-form-tbl td {
    padding: 10px;
}

.modal-form-tbl input[type="text"],
.modal-form-tbl input[type="password"] {
    display: block;
    width: 100%;
    font-size: 14px;
    border: 1px solid #999999;
    -webkit-appearance: none;
    border-radius: 0;
}

.modal-form-zipcode input[type="text"] {
    display: inline;
    width: 40%;
    -webkit-appearance: none;
}

.modal-form-btn-block {
    text-align: center;
}

.modal-form-btn-block button[type="submit"] {
    padding: 10px 50px;
    background-color: red;
    color: #ffffff;
    outline: 0;
    border: none;
    font-size: 14px;
    -webkit-appearance: none;
    border-radius: 0;
}

.modal-form-btn-block button[type="submit"]:hover {
    color: #ffffff;
}

.modal-form-btn-block button[type="submit"]:focus {
    background-color: black;
    color: #ffffff;
}

/* Sign in */
#signin-wrapper {
    background-color: #ffffff;
    width: 500px;
    padding: 0;
    display: none;
    border: solid 1px #7f7f7f;
}

a.modal-link,
a.modal-link:hover {
    color: #3366ff;
    text-decoration: underline;
}

.modal-bottm-block {
    border-top: solid 1px #7f7f7f;
    margin: 0 30px;
}

.modal-bottm-block p {
    text-align: center;
    margin: 0;
    padding: 10px 0;
}

/* Settings */
#settings-wrapper {
    background-color: #ffffff;
    width: 500px;
    padding: 0;
    display: none;
    border: solid 1px #7f7f7f;
}

.contents-contact-img-block-mic {
    text-align: center;
}

.load-more-mic {
    text-align: center;
    margin-top: 20px;
    width: 100%;
}

.load-more-mic input[type="button"] {
    cursor: pointer;
    background-color: #e0e0e0;
    color: #585858;
    padding: 10px 35px;
    border-radius: 0px;
    /* CSS3草案 */

    -webkit-border-radius: 0px;
    /* Safari,Google Chrome用 */

    -moz-border-radius: 0px;
    /* Firefox用 */

    border: none;
    outline: 0;
    -webkit-appearance: none;
}

.load-more-mic input[type="button"]:hover {}

.Form-Table-mic {
    border: 1px solid #999999;
    border-collapse: collapse;
}

.Form-Table-mic td {
    color: #333333;
    padding: 10px;
}

@media screen and (max-width: 1024px) {
    .modal-content {
        background-color: rgb(0, 0, 0, 0.7);
    }
}

/* ------------------------------
  Sign up
 ------------------------------ */
.answer_input_text {
    margin-bottom: 20px;
}

/* ------------------------------
 お問い合わせ
 ------------------------------ */
#form-content {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    margin-bottom: 40px;
}

#form-content .left-contents-wrapper p {
    margin-top: 0;
}

#form-content h2 {
    margin-top: 0;
}

table.inquiryTable {
    width: 100%;
    background-color: #f7f7f7;
    max-width: 800px;
    margin: 0 auto;
    display: block;
}

table.inquiryTable tbody {
    padding: 15px;
    display: block;
}

table.inquiryTable th {
    text-align: left;
}

table.inquiryTable td {
    padding: 10px;
    width: 100%;
}

table.contactTable td {
    width: 100%;
}

table.inquiryTable td input {
    width: 100%;
    padding: 10px;
    border: 0;
    margin-left: 0;
    position: relative;
}

table.inquiryTable td:first-child {
    width: 30%;
    min-width: 200px;
}

table.inquiryTable td select {
    border: none;
    padding: 10px;
    width: 100%;
    min-width: 100%;
    -webkit-appearance: none;
    appearance: none;
    border: none;
    border-radius: 0px;
}

table.inquiryTable td.foot {
    text-align: center;
    border: none;
}

table.inquiryTable .note {
    color: #555555;
    padding: 2px 0 3px 0;
    font-size: smaller;
    text-align: left !important;
}

table.inquiryTable td input.shortSize {}

table.inquiryTable td input.middleSize {}

table.inquiryTable td input.longSize {}

table.inquiryTable td textarea {
    width: 100%;
    border: none;
    padding: 10px;
    resize: vertical;
    font-size: 16px;
}

.errorMessage {
    margin: 0 0 20px 0;
    padding: 0 0 0 0;
}

.submit {
    background: red;
    color: #fff;
    padding: 10px;
    border: none !important;
    outline: none !important;
    text-align: center;
    width: 140px !important;
    cursor: pointer;
}

#submit {
    background: red;
    color: #fff;
    padding: 10px;
    border: none;
    outline: none;
    text-align: center;
    width: 140px;
}

#cancel {
    background: #444;
    color: #fff;
    padding: 10px;
    border: none;
    outline: none;
    text-align: center;
    width: 140px;
    margin-right: 0;
}

#backBtn {
    background: #444;
    color: #fff;
    padding: 10px;
    border: none;
    outline: none;
    text-align: center;
    width: 140px;
}

#not-submit {
    background: black;
    color: #fff;
    padding: 10px;
    border: none;
    outline: none;
    text-align: center;
    width: 140px;
    pointer-events: none;
}

.submit:hover,
#submit:hover,
#cancel:hover,
#backBtn:hover {
    font-weight: bold;
}

.footer-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    line-height: 1;
}

.footer-btn #privacy_check {
    width: 20px;
    margin-right: 10px;
}

.footer-btn a {
    margin-left: 5px;
}

.footer-submit {
    text-align: center;
}

.footer-submit input {
    margin-right: 15px;
}

#static-content {
    width: 100%;
}

#static-content .left-contents-sns-wrapper {
    display: flex;
    justify-content: flex-end;
}

#inquiry-form div {
    text-align: center;
    justify-content: center;
}

.inquiryTable-footer td {
    width: 100%;
}

table.inquiryTable tr {
    width: 100%;
    display: block;
    border-bottom: 1px solid #fff;
}

table.inquiryTable tr:last-child {
    border-bottom: none;
}

table.inquiryTable th:first-child {
    min-width: 200px;
    max-width: 210px;
}

table.innerTable {}

table.innerTable tbody {
    padding: 0 0 0 0;
}

table.innerTable tbody td {
    padding-left: 0;
}

table.innerTable td input {
    margin-left: 0;
}

@media screen and (max-width: 1024px) {
    #main .flexbox .left-contents-wrapper {
        margin: 0 0 0 0;
        padding-left: 0px;
        padding-right: 0px;
    }

    table.inquiryTable {
        margin-left: 0px;
        margin-right: 0px;
        width: 100%;
        max-width: 100%;
    }

    table.inquiryTable th,
    table.inquiryTable td {
        display: block;
    }

    table.inquiryTable td:first-child {
        width: 100%;
        min-width: 200px;
    }

    .footer-submit {}

    .footer-submit input {
        margin-right: 0px;
    }

    .inquiryTable-footer td {
        width: 100%;
    }

    table.inquiryTable tbody {
        padding: 10px;
    }

    .footer-submit input {
        margin-right: 10px;
    }

    .footer-submit {
        text-align: left;
        display: flex;
        justify-content: center;
    }

    table.inquiryTable th:first-child {
        width: auto;
        min-width: inherit;
        min-width: 20px;
        min-width: 120px;
    }
}

/* ------------------------------
 cookie-info
 ------------------------------ */
.cookie-info {
    background: #aac0cd;
    width: 100%;
    padding: 10px;
    position: fixed;
    z-index: 999;
    bottom: 0;
    display: none;
    border-bottom: 0;
    padding: 20px 0;
    top: auto;
}

.cookie-info .container {
    position: relative;
    /* width: 1040px; */
    margin: 0 auto;
    display: flex;
    align-items: center;
}

.cookie-info .container p {
    font-size: 12px;
    color: #000;
    margin: 0 0 0 0;
    /* max-width: 600px; */
}

.cookie-info a,
.cookie-info a:hover,
.cookie-info a:visited {
    color: #fff;
}

.cookie-info .cookie-info-accept .btn-accept {
    /* display: none; */
    background-color:#000;
    width: 150px !important;
}

.cookie-info .cookie-info-accept .btn-reject {
    /* display: none; */
    background-color:#000;
    width: 150px !important;
}

.cookie-info .container .cookie-info-accept .btn-accept:hover,
.cookie-info .container .cookie-info-accept .btn-reject:hover {
    font-weight: bold;
}

.cookie-info-accept {
    position: relative;
}

.cookie-info .btn-close {
    background-color: transparent;
    border: none;
    cursor: pointer;
}

.cookie-info .btn-close img {
    width: 30px;
    min-width: 30px;
    height: 30px;
}

.cookie-info-accept {
    margin-left: auto;
}

@media screen and (max-width: 1024px) {
    .cookie-info .container {
        width: 100%;
    }

    .cookie-info .container .cookie-info-accept .btn-close {
        right: 15px;
    }
}

/* ------------------------------
 page-top
 ------------------------------ */
#page-top {
    position: fixed;
    bottom: 30px;
    right: 50px;
    font-size: 77%;
    z-index: 20;
    margin-bottom: 0;
    display: none;
}

#page-top a {
    background-color: #000;
    text-decoration: none;
    color: #fff;
    width: 60px;
    padding: 10px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}

#page-top a:hover {
    text-decoration: none;
    font-weight: bold;
}

#page-top a i {
    font-size: 36px;
}

#page-top a img {
    display: block;
    width: 30px;
    margin: 0 auto;
}

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

.loader-block {
    text-align: center;
    padding: 40px 0 15px 0;
    clear: both;
    width: 100%;
}

.logo-text {
    background-color: #000;
    width: 100%;
    margin: 0 auto;
}

.logo-text p {
    margin: 0 25px;
    color: white;
    padding: 5px;
    float: left;
    font-size: 16px;
    width: 320px;
}

.logo-text p img {
    display: block;
    width: 100%;
    height: 100%;
}

.logo-text:after {
    content: "";
    display: block;
    clear: both;
}

.logo-text p a {
    color: #fff;
}

.newsTitle {
    font-weight: bold;
    font-size: 24px;
}

.social {
    margin-left: auto;
}



ul.alphabetical-list {
    width: 70%;
}

ul.alphabetical-list li {
    border-bottom: none !important;
    margin-bottom: 0px !important;
    display: inline-block;
    width: 4%;
    margin: 10px;
}

.link-member-only-mic {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ------------------------------
programs
 ------------------------------ */
#programs {
    margin-bottom: 10px;
}

#programs ul {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#programs ul li {
    width: 49%;
    display: block;
    font-weight:bold;
}

#programs ul li a {
    display: block;
    padding: 10px;
    text-align: center;
    margin-bottom: 10px;
    background-color: #000;
    color: #fff;
}

#programs ul li a:hover {
    text-decoration: none;
}

@media screen and (max-width: 400px) {
    #programs ul li a {
      font-size: 14px;
    }
}

@media screen and (max-width: 370px) {
    #programs ul li a {
      font-size: 13px;
    }
}

@media screen and (max-width: 340px) {
    #programs ul li a {
      font-size: 12px;
    }
}

/*------------------------------------
特性ページ用
------------------------------------ */
#static-content-programs {
    margin-top: 40px;
    margin-bottom: 40px;
}

.programs-left,
.programs-right {
    width: 50%;
}

.programs-left {
    padding-right: 40px;
}

.programs-text p {
    margin: 0;
}

.programs-company {
    width: 320px;
    padding-right: 20px;
}

.programs-staff {
    width: 140px;
    padding-right: 20px;
}

.programs-staff-name {}

.programs-staff-name p {
    margin: 0;
}

.programs-item {
    border-bottom: 1px solid #ccc;
    margin-bottom: 20px;
}

@media screen and (max-width: 1024px) {

    .programs-left,
    .programs-right {
        width: 100%;
    }

    .programs-company {
        margin: 0 auto;
    }
}

/*------------------------------------
アンケート画面
------------------------------------ */
#enquete {}

#enquete .container {
    max-width: 800px;
    margin: 0 auto;
}

#enquete h1 {
    max-width: 200px;
    margin: 0 auto;
    padding-top: 10vh;
}

.enquete {
    text-align: center;
}

.enquete input {
    border: 1px solid #ccc;
    width: 100%;
    padding: 10px;
}

.enquete input {
    border: 1px solid #ccc;
    width: 100%;
    padding: 10px;
}

.enquete input[type="radio"],
.enquete input[type="checkbox"] {
    border: 1px solid #ccc;
    width: 30px;
    padding: 10px;
    width: auto;
    margin-right: 10px;
}

.enquete .rich-text-editor,
.enquete .rich-text-editor p {
    width: 100%;
}

#enquete-login {
    max-width: 225px;
}

.form-section {
    display: flex;
    text-align: left;
    align-items: center;
}

.form-section p {
    width: 200px;
    margin-right: 15px;
}

.form-section h4 {
    font-weight: normal;
}

.form-control {
    border: 1px solid #ccc;
    width: 100%;
    padding: 10px;
    font-size: 16px;
}

.enquete-form {
    margin-bottom: 60px;
}

.enquete-form p {
    text-align: left;
}

.enquete-check {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 40px;
}

.enquete-check #agree {
    width: 14px;
    margin: 0 0 0 0;
    margin-right: 15px;
}

#submit-btn {
    border: none;
}

/* 送信ボタン */
#submit-btn {
    cursor: pointer;
    /* ポインターカーソルを表示 */
}

#submit-btn[disabled] {
    background-color: #ccc;
    cursor: not-allowed;
    /* クリック不可のカーソルを表示 */
}

@media screen and (max-width: 1024px) {
    .form-section p {
        width: 100%;
    }

    .form-section p br {
        display: none;
    }

    .form-section {
        display: block;
    }
}

/*------------------------------------
レスポンシブ用追加
------------------------------------ */
.signInTable {
    background-color: #f7f7f7;
    max-width: 800px;
    margin: 0 auto;
}

.signInTable tbody {
    padding: 15px;
    display: block;
}

table.signInTable td {
    border: none;
    width: 100%;
}

table.newidTable {
    background-color: transparent;
}

.submit-btn {
    position: relative;
    text-align: center;
    padding-top: 15px;
}

.submit-password {}

.submit-password a,
.submit-password a:hover {
    color: #000;
}

table.newidTable .submit-btn .submit-password {}

@media screen and (max-width: 1024px) {
    table.signInTable td {
        display: block;
        width: 100%;
    }

    .signInTable tbody {}

    table.signInTable td:first-child {
        width: 100%;
        min-width: 100%;
    }

    table.signInTable tr {
        width: 100%;
        display: block;
    }

    #form-content {
        position: relative;
        width: 100%;
    }

    table.signInTable .submit-btn {
        margin: 0 auto;
        text-align: center;
    }

    table.newidTable .submit-btn .submit-password {
        margin-left: 0px;
    }
}

/*------------------------------------
レスポンシブ用追加
------------------------------------ */
.pc {
    display: block !important;
}
.pc-flex {
    display: flex !important;
}

.sp {
    display: none !important;
}

/* スマートフォン向け */
@media screen and (max-width: 1024px) {
    body {
        font-size: 15px;
    }

    .logo-text p {
        font-size: 14px;
        display: block;
        width: 100%;
        margin: 0 0 0 0;
        text-align: center;
    }

    .logo-text p img {
        width: 70%;
        max-width: 300px;
        margin: 0 auto;
    }

    .pc {
        display: none !important;
    }

    .pc-flex {
        display: none !important;
    }

    .sp {
        display: block !important;
    }

    .header-logo {
        width: 80px;
        min-width: 80px;
        margin-left: 10px;
        margin-top: 10px;
        padding-top: 0;
    }

    .header-logo img {
        width: 80px;
        min-width: 80px;
    }

    dl.search2 dt {
        display: none;
    }

    p#advanced_serach_button {
        border-left: none;
    }

    p#advanced_serach_button i {
        font-size: 24px;
    }

    ul.header-other li:first-child {
        display: none;
    }

    ul.header-sign li a {
        font-size: 12px;
        line-height: 1;
        width: 60px;
        height: 60px;
    }

    #page-top {
        bottom: 10px;
        right: 13px;
    }

    .search_box {
        max-width: 100vw;
    }

    #main {
        padding-top: 0;
    }
}

/* ビューポートの向き横向き(横長)の場合に適用 */
@media (orientation: landscape) {}

/* ビューポートの向き縦向き(縦長)の場合に適用 */
@media (orientation: portrait) {}

/* 修正は以下に追加していく方針 2023.09.29*/
#list-content,
.case-content {
    /* width: 100%; */

    width: auto;
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
    padding-left: 15px;
    padding-right: 15px;
}
#main #open-news-list-page {
    margin-top: -15px;
}

#main #open-news-list-page{
    display: flex;
    flex-wrap: wrap;
}

#main #open-news-list-page .news-item{
    width: calc(50% - 15px);
}

#main #open-news-list-page .news-item:nth-child(2n) {
    margin-left: 15px;
}

#main #open-news-list-page .news-item:nth-child(2n+1) {
    margin-right: 15px;
}

#main #open-news-list-page .news-item .news-text{
    padding-right: 10px;
    position: relative;
}

.news-seller-logo{
    position: absolute;
    right: 0;
    top: 0;
    width: 100px;
    text-align:right;
}

#detail-content .news-seller-logo{
    width: 100%;
    max-width: 180px;
    top: -10px;
}

@media screen and (max-width:1024px) {
    #detail-content .news-seller-logo{
        width: 100%;
        max-width: 100px;
    }
}

.news-seller-logo img{
	max-height: 40px;
}

#list-content.list-news{

}

#list-content.list-sellers {
    padding: 0 0 0 0;
}

.card.tv-program-part-container {
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
    width: auto;
}

.left-contents-wrapper {
    padding-left: 15px;
    padding-right: 15px;
}

#tv-programs-container {
    position: relative;
    margin-left: -15px;
    margin-right: -15px;
}

.flexbox-wrapper .case-title {
    padding-left: 15px;
}

.sns-block-mic {
    margin-top: 20px;
}

table.inquiryTable h4 {
    margin: 0;
    margin-bottom: 10px;
}

.flex-genre {
    flex-wrap: wrap;
}

.flex-genre-item {
    width: calc(100%/3);
    display: flex;
    justify-content: flex-start;
    margin-bottom: 15px;
    align-items: baseline;
}

.flex-genre-item input {
    width: 15px !important;
    margin-right: 10px;
    min-width: 15px;
    margin-top: 6px;
}

@media screen and (max-width:1024px) {

    input[type="button"],
    input[type="text"],
    input[type="submit"],
    input[type="image"],
    textarea {
        -webkit-appearance: none;
        border-radius: 0;
    }

    .search_form input[type="text"] {
        margin-bottom: 5px;
    }

    .search_radio_area {
        margin-bottom: -5px;
    }

    .search_check_area {
        margin-bottom: -15px;
    }

    .search_form .submit_btn {
        margin-top: 20px;
    }

    .search_genre_btn {
        height: 5px;
    }

    .search_select_left{
        margin-bottom: 5px;
    }

    .card.tv-program-part-container {
        position: relative;
        margin-left: 0px;
        margin-right: 0px;
        width: 100%;
    }

    #single:checked~.card .card__item {
        padding-right: 15px;
    }

    #list-content .flexbox {
        margin-left: 0;
        margin-right: 0;
    }

    .box-3,
    .box-4 {
        padding: 0 0 0 0;
    }

    #tv-programs-container {
        position: relative;
        margin-left: 0px;
        margin-right: 0px;
    }

    .flexbox-wrapper .case-title {
        padding-left: 0px;
    }

    .flexbox.flexbox-exhibitor.flexbox-exhibitor-profile .flex-left {
        border-right: none;
    }

    .flex-genre-item {
        width: 50%;
        margin-bottom: 8px;
        align-items: self-start;
    }

    .flex-genre-item input {
        margin-top: 4px;
    }

    _::-webkit-full-page-media, _:future, :root .flex-genre-item input {
        margin-top: 2px;
    }

    #main #open-news-list-page .news-item{
        width: 100%;
    }
    #main #open-news-list-page .news-item:nth-child(2n) {
        margin-left: 0px;
    }

    #main #open-news-list-page .news-item:nth-child(2n+1) {
        margin-right: 0px;
    }

    .news-seller-logo{
        width: 70px;
    }
    
    .free_text_1 {
        max-width: 80%!important;
    }
}

/*------------------------------------
events
------------------------------------ */
.events-head {}

.events-head .sort_box select {
    padding-right: 55px;
}

#main .events-head .title-wrapper {
    display: flex;
    align-items: center;
}

#events-sort {
    width: 305px;
    position: relative;
    margin-left: auto;
    margin-top: -40px;
}

.sp-sort {}

.sp-sort .sort_box {
    width: 100%;
}

.sp-sort .select_outer:after {
    right: 14px;
}

.events-head h2 {
    margin-top: 0;
}

@media screen and (max-width:1024px) {
    .events-head {
        margin-bottom: 20px;
    }

    #events-sort {
        margin-top: 0px;
        width: 100%;
        max-width: 80%;
        margin-left: auto;
    }

    .events-head h2 {
        font-size: 24px;
    }
}

/*------------------------------------
swiperカスタマイズ
------------------------------------ */
body .swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 15px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 15px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2);
}

body .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 8px);
}

body .swiper-pagination-bullet.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-inactive-opacity, 1);
}

/*------------------------------------
#bannerList
------------------------------------ */
#bannerList p {
    margin: 0 0 0 0;
    margin-bottom: 15px;
}

/*------------------------------------
Seller 
------------------------------------ */
.seller-item {
    text-align: center;
    justify-content: center;
    display: flex;
}

.seller-item-left{
    width: 65%;
    display: inline-block;
    padding-right: 20px;
    vertical-align: top;
}

.seller-item-right{
    width: 25%;
    display: inline-block;
    vertical-align: top;
}

.seller-thum {
    max-width: 50%;
    margin-right: 15px;
}

@media screen and (max-width:1024px) {
    .seller-item {
        text-align: center;
        justify-content: center;
        display: block;
    }

    .seller-item-left{
        width: 100%;
        display: block;
        padding-right: 0px;
    }

    .seller-item-right{
        width: 100%;
        display: block;
    }

    .seller-thum {
        max-width: 100%;
        margin-right: 0px;
    }
}

/*------------------------------------
fontサイズ切り替え
------------------------------------ */

.news-detail-top #detail-content.font-s .newsTitle {
    font-weight: bold;
    font-size: 20px;
}

.news-detail-top #detail-content.font-m .newsTitle {
    font-weight: bold;
    font-size: 24px;
}

.news-detail-top #detail-content.font-l .newsTitle {
    font-weight: bold;
    font-size: 28px;
}

.news-detail-top #detail-content.font-s .newsDate {
    font-size: 14px;
}

.news-detail-top #detail-content.font-m .newsDate {
    font-size: 16px;
}

.news-detail-top #detail-content.font-l .newsDate {
    font-size: 18px;
}

.news-detail-top #detail-content.font-s .newsBody {
    font-size: 14px;
}

.news-detail-top #detail-content.font-m .newsBody {
    font-size: 16px;
}

.news-detail-top #detail-content.font-l .newsBody {
    font-size: 18px;
}

.news-detail-top #detail-content.font-s .newsDocs {
    font-size: 14px;
}

.news-detail-top #detail-content.font-m .newsDocs {
    font-size: 16px;
}

.news-detail-top #detail-content.font-l .newsDocs {
    font-size: 18px;
}

.news-detail-top #detail-content.font-s .newsUrls {
    font-size: 14px;
}

.news-detail-top #detail-content.font-m .newsUrls {
    font-size: 16px;
}

.news-detail-top #detail-content.font-l .newsUrls {
    font-size: 18px;
}

.program-list-content.font-s .program-list-title {
    font-size: 24px;
}

.program-list-content.font-m .program-list-title {
    font-size: 28px;
}

.program-listl-content.font-l .program-list-title {
    font-size: 32px;
}

.program-list-content.font-s .item-count-title {
    font-size: 20px;
}

.program-list-content.font-m .item-count-title {
    font-size: 22px;
}

.program-listl-content.font-l .item-count-title {
    font-size: 24px;
}

.program-list-content.font-s .case-title {
    font-size: 20px;
}

.program-list-content.font-m .case-title {
    font-size: 24px;
}

.program-listl-content.font-l .case-title {
    font-size: 28px;
}

.program-list-content.font-s .case-sub-title {
    font-size: 14px;
}

.program-list-content.font-m .case-sub-title {
    font-size: 16px;
}

.program-listl-content.font-l .case-sub-title {
    font-size: 18px;
}

.program-list-content.font-s .tv-program-synopsis {
    font-size: 14px;
}

.program-list-content.font-m .tv-program-synopsis {
    font-size: 16px;
}

.program-list-content.font-l .tv-program-synopsis {
    font-size: 18px;
}

.program-detail-content.font-s .detail-title {
    font-size: 22px;
}

.program-detail-content.font-m .detail-title {
    font-size: 26px;
}

.program-detail-content.font-l .detail-title {
    font-size: 30px;
}

.program-detail-content.font-s .detail-sub-title {
    font-size: 14px;
}

.program-detail-content.font-m .detail-sub-title {
    font-size: 16px;
}

.program-detail-content.font-l .detail-sub-title {
    font-size: 18px;
}

.program-detail-content.font-s .title-wrapper h3 {
    font-size: 1.17em;
}

.program-detail-content.font-m .title-wrapper h3 {
    font-size: 1.17em;
}

.program-detail-content.font-l .title-wrapper h3 {
    font-size: 1.32em;
}

.program-detail-content.font-s .detail-text {
    font-size: 14px;
}

.program-detail-content.font-m .detail-text {
    font-size: 16px;
}

.program-detail-content.font-l .detail-text {
    font-size: 18px;
}

.program-detail-content.font-s .tv-program-synopsis {
    font-size: 14px;
}

.program-detail-content.font-m .tv-program-synopsis {
    font-size: 16px;
}

.program-detail-content.font-l .tv-program-synopsis {
    font-size: 18px;
}

.tv-station-detail-box.font-s .flex-left h2 {
    font-size: 22px;
}

.tv-station-detail-box.font-m .flex-left h2 {
    font-size: 26px;
}

.tv-station-detail-box.font-l .flex-left h2 {
    font-size: 30px;
}

.tv-station-detail-box.font-s .seller-item-left,
.tv-station-detail-box.font-s .seller-item-right {
    font-size: 14px;
}

.tv-station-detail-box.font-m .seller-item-left,
.tv-station-detail-box.font-m .seller-item-right {
    font-size: 16px;
}

.tv-station-detail-box.font-l .seller-item-left,
.tv-station-detail-box.font-l .seller-item-right {
    font-size: 18px;
}

.tv-station-detail-box.font-s .rich-text-editor,
.tv-station-detail-box.font-s .seller-item-left .rich-text-editor,
.tv-station-detail-box.font-s .seller-item-right .rich-text-editor{
    font-size: 14px;
}

.tv-station-detail-box.font-m .rich-text-editor,
.tv-station-detail-box.font-m .seller-item-left .rich-text-editor,
.tv-station-detail-box.font-m .seller-item-right .rich-text-editor {
    font-size: 16px;
}

.tv-station-detail-box.font-l .rich-text-editor,
.tv-station-detail-box.font-l .seller-item-left .rich-text-editor,
.tv-station-detail-box.font-l .seller-item-right .rich-text-editor {
    font-size: 18px;
}

.company-detail-program-list.font-s .case-title {
    font-size: 20px;
}

.company-detail-program-list.font-m .case-title {
    font-size: 24px;
}

.company-detail-program-list.font-l .case-title {
    font-size: 28px;
}

.company-detail-program-list.font-s .case-sub-title {
    font-size: 14px;
}

.company-detail-program-list.font-m .case-sub-title {
    font-size: 16px;
}

.company-detail-program-list.font-l .case-sub-title {
    font-size: 18px;
}

.company-detail-program-list.font-s .tv-program-synopsis {
    font-size: 14px;
}

.company-detail-program-list.font-m .tv-program-synopsis {
    font-size: 16px;
}

.company-detail-program-list.font-l .tv-program-synopsis {
    font-size: 18px;
}

.event-detail-content.font-s .event-title h2 {
    font-size: 22px;
}

.event-detail-content.font-m .event-title h2 {
    font-size: 26px;
}

.event-detail-content.font-l .event-title h2 {
    font-size: 30px;
}

.event-detail-content.font-s .rich-text-editor {
    font-size: 14px;
}

.event-detail-content.font-m .rich-text-editor {
    font-size: 16px;
}

.event-detail-content.font-l .rich-text-editor {
    font-size: 18px;
}

.event-detail-content.font-s #list-content .list-item p {
    font-size: 14px;
}

.event-detail-content.font-m #list-content .list-item p {
    font-size: 16px;
}

.event-detail-content.font-l #list-content .list-item p {
    font-size: 18px;
}

.event-detail-content.font-s .case-title {
    font-size: 20px;
}

.event-detail-content.font-m .case-title {
    font-size: 24px;
}

.event-detail-content.font-l .case-title {
    font-size: 28px;
}

.event-detail-content.font-s .case-sub-title {
    font-size: 14px;
}

.event-detail-content.font-m .case-sub-title {
    font-size: 16px;
}

.event-detail-content.font-l .case-sub-title {
    font-size: 18px;
}

.event-detail-content.font-s .case-desc {
    font-size: 14px;
}

.event-detail-content.font-m .case-desc {
    font-size: 16px;
}

.event-detail-content.font-l .case-desc {
    font-size: 18px;
}

.event-detail-content.font-s .programs-item .case-title.sub-title p {
    font-size: 16px;
}

.event-detail-content.font-m .programs-item .case-title.sub-title p {
    font-size: 18px;
}

.event-detail-content.font-l .programs-item .case-title.sub-title p {
    font-size: 20px;
}

.event-detail-content.font-s .programs-item .programs-text {
    font-size: 14px;
}

.event-detail-content.font-m .programs-item .programs-text {
    font-size: 16px;
}

.event-detail-content.font-l .programs-item .programs-text {
    font-size: 18px;
}

.event-detail-content.font-s .programs-item .programs-staff-name {
    font-size: 14px;
}

.event-detail-content.font-m .programs-item .programs-staff-name {
    font-size: 16px;
}

.event-detail-content.font-l .programs-item .programs-staff-name {
    font-size: 18px;
}

/*------------------------------------
Other 
------------------------------------ */

@media screen and (min-width:1025px) {
    .pc-margin-0 {
        margin: 0 !important;
    }
}
@media screen and (max-width:1024px) {
    #static-content .newsBody .aboutus-wrapper iframe{
            width: 100%!important;
            height: calc(100vw / 1.9)!important;
        }
}

@media screen and (max-width:1024px) {
    .online-catalog-sp{
        margin-top: 0px;
        display: none!important;
    }
}

.program-list-title{
    font-size: 28px;
}

.company-detail-program-list .flexbox-wrapper .case-title {
    padding-left: 0;
}

.company-detail-program-list #sort {
    right: 0;
}

.company-detail-program-list #iframe-programs-container {
    margin: 0;
}

@media screen and (max-width:1024px) {
    .program-list-title{
        width: 100%;
        font-size: 20px;
    }
}

#user_regist .event-td{
    /* padding-bottom: 60px; */
}

@media screen and (max-width:1024px) {
    .user-form-h2 {
        font-size: 22px;
    }
    #user_regist #not-submit,
    #user_regist #submit,
    #user_regist #cancel {
        width: 120px;
    }
}

.sort-asc {
    position: relative;
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: #000;
    clip-path: polygon(90% 40%, 60% 40%, 60% 100%, 40% 100%, 40% 40% , 10% 40%, 50% 0%);
}

.sort-asc.clicked {
    background-color:#ccc;
}

.sort-desc{
    position: relative;
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: #000;
    clip-path: polygon(90% 60%, 60% 60%, 60% 0%, 40% 0%, 40% 60% , 10% 60%, 50% 100%);
}

.sort-desc.clicked {
    background-color:#ccc;
}

@media screen and (max-width:1024px) {
    .sort-asc,
    .sort-desc{
        width: 14px;
        height: 18px;
    }
}

#main-slider .left-page-title,
#sub-silder .left-page-title,
#recommended-slider .left-page-title,
#open-top-page .left-page-title{
    margin-bottom: 0px;
}

#open-top-page .left-page-title{
    padding-bottom: 0px;
}

#open-top-page .news{
    padding-bottom: 0px;
}

#open-top-page .news .news-item{
    padding-top: 5px;
}

#open-top-page .news .news-item .news-text{
    position: relative;
    overflow: hidden;
    text-overflow: ellipsis;
    /* max-height: 205px; */
}

#open-top-page .news .news-item .news-text p{
    width: 70%;
}

@media screen and (max-width:1200px) {
    #open-top-page .news-seller-logo{
        width:50px;
    }

}

.btn.sort-button-sp {
    display: none;
}

@media screen and (max-width:1024px) {
    .btn.sort-button-sp {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        width: 60px;
        height: 24px;
        margin: 0 0 0 auto;
        margin-top: -8px;
    }
}

.no_scroll {
  position: fixed;
  left: 0;
  right: 0;
  overflow: hidden;
}

::-webkit-full-page-media, :future, :root .sp-menu-bottom{
  display: block!important;
  height:100px;
  background-color: rgba(0, 0, 0, .5);
}

.rich_text_anchor {
   text-decoration: none;
}

.rich_text_anchor:hover {
   text-decoration: underline;
}

a#title_sort1,
a#year_sort1,
a#title_sort2,
a#year_sort2 {
   cursor: pointer;
}

a#title_sort1:hover,
a#year_sort1:hover,
a#title_sort2:hover,
a#year_sort2:hover {
   text-decoration: none;
}

.prefecture-link {
    color: #000;
    text-decoration: none;
    line-height: 1.2;
    font-weight: bold;
}

.prefecture-link:hover {
    color: #000;
    text-decoration: underline;
}

.prefecture-title-image{
    margin-top: 15px;
    position: relative;
}

.prefecture-title-image .p-map{
    position: absolute;
    right: 2%;
    bottom: 5%;
    width: 30%;
    max-width: 250px;
}

.prefecture-sort #sort {
    top: -50px;
}

.prefecture-program-item {
    width: calc(100% / 4);
    margin-bottom: 20px;
}

.prefecture-detail-title{
    position: absolute;
    bottom: 4%;
    left: 2%;
    color: #fff;
    font-size: 38px;
    margin: 0 0 0 0;
}

.prefecture-detail-title span{
    display: block;
    font-size: 20px;
}

@media screen and (max-width:1024px) {
    .prefecture-title-image{
        margin-top: 35px;
    }

    .prefecture-title-image .p-map{
        max-width: 28%;
    }

    .prefecture-detail-text {
        max-width: 100%;
        margin: 0 15px;
    }

    .prefecture-sns {
        margin: 20px 15px;
    }

    .prefecture-program-box,
    .prefecture-link-box {
        margin: 0 15px;
    }

    .prefecture-program-box{
        padding-left: 15px;
        padding-right: 15px;
    }

    .prefecture-sort #sort {
        top: 0px;
        justify-content: flex-end !important;
        margin-right: 15px;
    }

    .prefecture-program-item {
        width: calc(100% / 2);
    }

    .prefecture-detail-title{
        font-size: 28px;
    }
}
