@charset "UTF-8";

/*** l-main ***/
.main-wrap {
    position: relative;
    display: flex;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
}

/*** main-sidenavi ***/
.main-sidenavi,
.main-sidenavi-album {
    flex: 0 0 300px;
    position: fixed;
    width: 300px;
    z-index: 50;
    left: 0;
    height: calc(100vh - 64px);
    overflow-y: auto;
}
.main-sidenavi .main-sidenavi-inner,
.main-sidenavi-album .main-sidenavi-inner {
    padding: 24px 0 50px;
}
.main-sidenavi .main-sidenavi-inner {
    background: url(/img_v4/bg_nav.png) 100% 0px no-repeat;
}
.main-sidenavi .menber {
    font-size: 10px;
    padding: 0 22px;
    color: var(--main-color);
    font-style: italic;
    position: relative;
    top: 5px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 400;
}
.main-sidenavi .pro-profile {
    padding: 0 8px;
}

.main-sidenavi .pro-profile a {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
    gap: 8px;
    padding: 12px;
}
.main-sidenavi .pro-profile a:hover {
    border-radius: 18px;
    background: rgb(0, 0, 0, .05);
}
.main-sidenavi .pro-profile a:hover img {
    opacity: 1;
}
.main-sidenavi .pro-profile .thumbnail {
    width: 56px;
    height: 56px;
    border-radius: 8px;
}
.main-sidenavi .pro-profile .name {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.2;
    margin-bottom: 8px;
}
.main-sidenavi .pro-profile .title {
    font-size: 11px;
    line-height: 1.4;
    color: #454545;
}
.main-sidenavi .comttxt {
    margin: 0 20px 0px;
    font-size: 11px;
    line-height: 1.5;
    color: #777;
}
/* menu-list */
.menu-list a {
    padding: 12px;
    margin: 4px 0;
    font-size: 16px;
    line-height: 1.3;
    display: flex;
    align-items: center;
}
.menu-list a:hover {
    border-radius: 8px;
    background: rgb(0, 0, 0, .05);
}
.menu-list a .icon {
    display: flex;
    align-items: center;
    height: 24px;
    width: 24px;
}
.main-sidenavi .menu-list.interview {
    padding: 10px 20px 0;
}
.main-sidenavi .interview a {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.16);
    margin-bottom: 20px;
    padding: 12px 15px 12px 25px;
    background: url(/img_v4/bg_menu-interview.jpg) 50% 50% no-repeat;
    background-size: cover;
    border-radius: 6px;
    position: relative;
    color: #fff;
    font-weight: 700;
    height: 100px;
}
.main-sidenavi .interview a:before {
    z-index: 1;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    border-radius: 6px;
    background-color: rgba(0, 50, 100, 0.5);
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.main-sidenavi .interview a:hover img {
    opacity: 1;
}
.main-sidenavi .interview a:hover:before {
    background-color: rgba(0, 50, 100, 0.7);
}
.main-sidenavi .interview a .txt {
    position: relative;
    padding-left: 0;
    font-size: 14px;
    z-index: 3;
}
.main-sidenavi .interview a img {
    width: 80px;
    z-index: 3;
    background:#ffffff70;
}
.main-sidenavi .interview a .txt img {
    height: 19px;
    max-width: 74px;
}
.main-sidenavi .interview a .icon {
    background-image: url(/img_v4/ico_interview.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.main-sidenavi .menu-list.movie {
    padding: 15px 20px 0;
}
.main-sidenavi .menu-list.movie + .menu-list.interview {
    padding-top: 5px;
}
.main-sidenavi .movie button {
    background-color: #fff;
    display: grid;
    cursor: pointer;
    grid-template-columns: 1fr 130px;
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid #d9d9d9;
    width: 100%;
    align-items: center;
}
.main-sidenavi .movie button:hover img {
    opacity: .7;
}
.main-sidenavi .movie button .txt {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 10px;
    justify-content: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 700;
}
.main-sidenavi .movie button .txt-label {
    display: grid;
    align-items: center;
    font-size: 9px;
    border-radius: 5px;
    padding: 4.5px 8px 4.1px 7px;
    font-weight: 700;
    height: 20px;
    color: #fff;
    letter-spacing: 0.14em;
    background-color: var(--main-color);
    gap: 4px;
    line-height: 1;
    grid-template-columns: 11px auto;
}
.main-sidenavi .movie button .txt-label svg {
    aspect-ratio: 1 / 1;
    width: 100%;
}
.main-sidenavi .movie button img {
    height: 114px;
    width: 100%;
    transition: opacity 0.3s;
    object-fit: cover;
}
.main-sidenavi .menu-list.pro-original {
    padding: 0 20px 30px;
}
.menu-list .profile a .icon,
.menu-list .top a .icon {
    background-image: url(/img_v4/ico_profile.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .profile.active a .icon,
.menu-list .top.active a .icon {
    background-image: url(/img_v4/ico_profile_h.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .column a .icon {
    background-image: url(/img_v4/ico_column.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .column.active a .icon {
    background-image: url(/img_v4/ico_column_h.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .voice a .icon {
    background-image: url(/img_v4/ico_voice.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .voice.active a .icon {
    background-image: url(/img_v4/ico_voice_h.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .seminar a .icon {
    background-image: url(/img_v4/ico_seminar.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .seminar.active a .icon {
    background-image: url(/img_v4/ico_seminar_h.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .gallery a .icon {
    background-image: url(/img_v4/ico_gallery.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .gallery.active a .icon {
    background-image: url(/img_v4/ico_gallery_h.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .free a .icon,
.menu-list .service1 a .icon,
.menu-list .service2 a .icon {
    background-image: url(/img_v4/ico_free.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .free.active a .icon,
.menu-list .service1.active a .icon,
.menu-list .service2.active a .icon {
    background-image: url(/img_v4/ico_free_h.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .direct a .icon {
    background-image: url(/img_v4/ico_direct.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list .direct.active a .icon {
    background-image: url(/img_v4/ico_direct_h.svg);
    background-size: 24px 24px;
    background-repeat: no-repeat;
}
.menu-list a .txt {
    padding-left: 16px;
    display: flex;
    align-items: center;
    width: calc(100% - 24px);
}
.menu-list .active a .txt {
    font-weight: 700;
}

/*** main-contents ***/
.main-contents {
    display: flex;
    flex: 1 1 100%;
    flex-direction: column;
    min-width: 0;
    margin-left: 300px;
    margin-right: 320px;
}
.frame_pro_contents {
    max-width: 740px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 50px 20px;
}
.frame_pro_contents h1 {
    font-size: 29px;
    line-height: 1.5;
    margin-bottom: 25px;
    color: #333;
}
.frame_pro_contents .hd-btm-flex {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    padding-top: 15px;
}
.frame_pro_contents .hd-btm-flex .post-auther a {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}
.frame_pro_contents .hd-btm-flex .post-auther .thumbnail {
    width: 26px;
    height: 26px;
    border-radius: 7px;
}
.frame_pro_contents .hd-btm-flex .post-auther .name {
    margin-left: 10px;
    font-size: 13px;
}
.frame_pro_contents .hd-btm-flex .post-date-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: auto;
}
.frame_pro_contents .hd-btm-flex .post-date {
    font-size: 12px;
    color: #b7b7b7;
    margin: 0;
    line-height: 1.5;
    display: flex;
    align-items: center;
}
.frame_pro_contents .hd-btm-flex .post-date.update {
    padding-left: 8px;
    border-left: 1px solid #ddd;
    margin-left: 8px;
    position: relative;
}
.frame_pro_contents .hd-btm-flex .post-date.update::after {
    content: "";
    display: inline-block;
	width:14px;
	height:14px;
    background-image:url(/img_v4/ico_update.svg);
    background-size: 14px 14px;
    background-repeat: no-repeat;
}
.frame_pro_contents .post-theme {
    margin-top: 3px;
    font-size: 12px;
    color: #b7b7b7;
    line-height: 1.5;
}
.frame_pro_contents .post-theme a {
    color: #b7b7b7;
}
.frame_pro_contents .post-btm-sec {
    padding-top: 50px;
    padding-bottom: 20px;
}

/** breadcrumbs **/
.wrap_breadcrumbs {
    margin: 0 auto;
    width: 100%;
}
.frame_breadcrumbs {
    padding: 18px 20px;
}
.frame_breadcrumbs ol {
    margin: 0 auto;
    line-height: 1;
}
.frame_breadcrumbs ol li {
    display: inline-block;
    list-style: none;
    position: relative;
    margin-right: 30px;
    line-height: 1.8;
    font-size: 12px;
    letter-spacing: -.5px;
    color: #999;
}
.frame_breadcrumbs ol li::after {
    content: '';
    width: 6px;
    height: 6px;
    margin-top: -4px;
    border-top: solid 1px #b1b1b1;
    border-right: solid 1px #939393;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: -15px;
}
.frame_breadcrumbs ol li:last-child::after { display:none;}

.frame_breadcrumbs ol li.bcl-last:hover {
    background-color: #f1f0f0;
    border-radius: 4px;
}
.frame_breadcrumbs ol a{
	color: #9e9e9e;
	text-decoration: none;
}
.frame_breadcrumbs ol a:hover {
    color: #202020;
    border-bottom: 1px solid #202020;
}

/** footer **/
.l-footer {
    width: 100%;
}
.l-footer-container {
    background: var(--main-color);
    padding: 0 20px;
    overflow: hidden;
}
.l-footer-container .ft-back {
    max-width: 740px;
    margin: 50px auto 50px;
    color: #fff;
}
.l-footer-container .ft-back .tit {
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 14px;
}
.l-footer-container .ft-back .txt {
    font-size: 14px;
    line-height: 1.6;
}
.l-footer-container .ft-back .txt a {
    color: #fff;
    text-decoration: underline;
}
.l-footer-container .ft-back .txt a:hover {
    opacity: .8;
}
.l-footer-container .ft-back .link {
    font-size: 12px;
}
.l-footer-container .ft-back .link a {
    color: #fff;
}
.l-footer-container .ft-back .link a:hover,
.l-footer-container .related-service a:hover {
    text-decoration: underline;
}
.l-footer-container .ft-logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 50px;
}
.l-footer-container .ft-logo-wrap .areaLogo {
    width: 150px;
}
.l-footer-container .footer-link {
    padding: 30px 0;
}
.l-footer-container .footer-link ul {
    display: flex;
    justify-content: center;
    margin: 10px 0;
    gap: 24px;
}
.l-footer-container .footer-link ul a {
    color: #fff;
    font-size: 13px;
    line-height: 1.5;
}
.l-footer-container .footer-link ul a:hover {
    border-bottom: 1px solid #fff;
}
.l-footer-container .footer-link ul a.blank::after {
    -webkit-mask: url(/img_v4/ico_blank.svg) no-repeat center center / contain;
    mask-image: url(/img_v4/ico_blank.svg);
    mask-repeat: no-repeat;
    mask-position: center center;
    mask-size: contain;
    background-color: #fff;
    background-image: unset;
}
.l-footer-container .related-service {
    padding: 20px;
}
.l-footer-container .related-service ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin-bottom: 35px;
}
.l-footer-container .related-service a {
    opacity: .7;
    color: #fff;
    font-size: 12px;
}

.l-footer-container .copy {
    opacity: .7;
    color: #fff;
    text-align: center;
    font-size: 12px;
    padding: 10px 10px 100px;
}

/* 最近みたプロ */
div#frame_footer_recent {
    max-width: 740px;
    margin: 0 auto;
}
#frame_footer_recent_inner {
    margin: 0 auto;
    padding: 27px 0 0;
    width: auto;
    overflow: hidden;
}
#frame_footer_recent_inner .tit {
    text-align: center;
    font-size: 13px;
    margin-bottom: 17px;
    color: #fff;
}
#recentView-wrap ul {
    display: flex;
    justify-content: flex-start;
    gap: 15px;
}
#recentView-wrap ul:after {
    content: '';
    display: block;
    clear: both;
}
#recentView-wrap ul li {
    width: auto;
    max-width: 74px;
    margin: 0;
    flex-shrink: 0;
}
#recentView-wrap ul li a {
    display: block;
}
#recentView-wrap ul li img {
    height: auto;
    border-radius: 6px;
}
#recentView-wrap ul li a span {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #fff;
    display: none;
}
#recentView-wrap ul li:nth-child(8n) {
    margin-right: 0;
}
#recentView-wrap .tooltip::after {
    max-width: 74px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
/*** main-sidebar ***/
.main-sidebar {
    flex: 0 0 320px;
    position: fixed;
    width: 320px;
    z-index: 1;
    right: 0;
    height: calc(100vh - 64px);
    overflow-y: auto;
}
.main-sidebar .main-sidebar-inner {
    padding: 32px 32px 50px 20px;
}
.main-sidebar .pro-contact .tit {
    position: relative;
    font-weight: 700;
    font-size:14px;
}

.main-sidebar .pro-contact li a,
.main-sidebar .pro-contact li button {
    height: 54px;
    background: #fff;
    border: 2px solid var(--main-color);
    border-radius: 35px;
    transition: .2s;
    color: var(--main-color);
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    display: flex;
    align-items: center;
    margin: 16px 0;
    padding: 12px 24px;
    position: relative;
    letter-spacing: 0.016em;
}
.main-sidebar .pro-contact li a:before,
.main-sidebar .pro-contact li button:before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    vertical-align: top;
    margin-right: 14px;
}
.main-sidebar .pro-contact li.mail a {
    border-width: 2px;
    border-style: solid;
    border-color: var(--main-color);
    background-color: var(--main-color);
    color: #fff;
}
.main-sidebar .pro-contact li.mail a:hover {
    transform: scale(1.02);
    box-shadow: rgba(0, 0, 0, 0.02) 0px 0px 0px 1px, rgba(0, 0, 0, 0.1) 0px 8px 16px 0px;
}
.main-sidebar .pro-contact li.mail a:before {
    background-image: url(/img_v4/ico_mail_w.svg);
    background-size: 25px 25px;
    background-repeat: no-repeat;
}
.main-sidebar .pro-contact li.mail a:hover::before {
    background-image: url(/img_v4/ico_mail_w.svg);
    background-size: 25px 25px;
    background-repeat: no-repeat;
}
.main-sidebar .pro-contact li.line a {
    border: 2px solid #06c755;
    color: #06c755;
}
.main-sidebar .pro-contact li.line a:hover {
    background-color: #06c755;
    color: #fff;
}
.main-sidebar .pro-contact li.line a:before {
    background-image: url(/img_v4/ico_line.svg);
    background-size: 25px 25px;
    background-repeat: no-repeat;
}
.main-sidebar .pro-contact li.doc a {
    height: 46px;
    border: 1px solid #BBB;
    color: #666;
}
.main-sidebar .pro-contact li.doc a:hover {
    background: #f3f3f3;
    color: #222;
}
.main-sidebar .pro-contact li.doc a:before {
    background-image: url(/img_v4/ico_mail.svg);
    background-size: 25px 25px;
    background-repeat: no-repeat;
}
.main-sidebar .pro-contact li.phone button {
    height: 46px;
    border: 1px solid #BBB;
    color: #666;
    width: 100%;
}
.main-sidebar .pro-contact li.phone button:hover {
    background: #f3f3f3;
    color: #222;
    cursor: pointer;
}
.main-sidebar .pro-contact li.phone button:before {
    background-color: var(--main-color);
    -webkit-mask: url(/img_v4/ico_phone_w.svg) center / 25px 25px no-repeat;
    mask: url(/img_v4/ico_phone_w.svg) center / 25px 25px no-repeat;
}

/* contactbtn */
.contactbtn {
    display: none;
}
/* sp-footerbar */
#sp-footerbar {
    display: none;
}
/* js-micromodal / base */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 90;
}
.modal-overlay::before {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    text-indent: 0;
    color: #fff;
    top: 14px;
    left: 15px;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    -webkit-font-smoothing: antialiased;
    text-transform: none;
    content: "×";
    font-size: 40px;
    height: 28px;
}
.modal-container {
    max-width: 650px;
    width: 100%;
    max-height: 100vh;
    overflow-y: auto;
    box-sizing: border-box;
}
.modal-container-box {
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 2px 5px rgba(0,0,0,.3);
}
@media screen and (max-width: 480px) { 
  .modal-container {
    max-width: 500px;
    max-height: 90vh;
    max-width: unset;
    margin: 0 15px;
    width: 100%;
  }
}
@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes mmslideIn {
    from {
        transform: translateY(15%);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-10%);
    }
}
.modal {
    display: none;
}
.modal.is-open {
    display: block;
}
.modal[aria-hidden="false"] .modal-overlay {
    animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}
.modal[aria-hidden="false"] .modal-container {
    animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}
.modal[aria-hidden="true"] .modal-overlay {
    animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}
.modal[aria-hidden="true"] .modal-container {
    animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}
.modal .modal-container,
.modal .modal-overlay {
    will-change: transform;
}
/* // js-micromodal / base */

/* js-micromodal */
#modal-1-content .tit {
    padding: 16px 16px 12px;
    text-align: center;
    line-height: 1.4;
    font-size: 12px;
}
#modal-1-content .tel {
    padding: 0 16px 18px;
}
#modal-1-content .tel a {
    text-align: center;
    display: flex;
    flex-direction: column;
    border: 1px solid #d5d5d5;
    padding: 10px;
    border-radius: 12px;
    position: relative;
}
#modal-1-content .tel a .arr-right {
    display: none;
}
#modal-1-content .tel a .tap {
    display: none;
}
#modal-1-content .tel a .num {
    font-size: 24px;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #333;
    padding: 10px 0 18px;
}
#modal-1-content .tel a .num::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    vertical-align: top;
    margin-right: 4px;
    background-color: var(--main-color);
    -webkit-mask: url(/img_v4/ico_phone_w.svg) center / 22px 22px no-repeat;
    mask: url(/img_v4/ico_phone_w.svg) center / 22px 22px no-repeat;
}
#modal-1-content .tel a .tel-memo {
    font-size: 13px;
    line-height: 1.6;
    margin: 8px 4px 0;
    text-align: left;
}
#modal-1-content .attention {
    font-size: 15px;
    color: #FF3333;
    line-height: 1.3;
    margin-bottom: 10px;
    font-weight: 700;
}
#modal-3-content .tit {
    padding: 16px 16px 0;
    text-align: center;
    line-height: 1.4;
    font-size: 12px;
}
#modal-3-content .pro-contact {
    padding: 0 16px 6px;
}
#modal-3-content .pro-contact li {
    margin: 16px 0;
}
#modal-3-content .pro-contact li a {
    height: 54px;
    background: #fff;
    border: 2px solid var(--main-color);
    border-radius: 35px;
    transition: .2s;
    color:#fff;
    font-size: 16px;
    font-weight: 700;
    text-align: left;
    display: flex;
    align-items: center;
    padding: 14px 5vw 14px 16vw;
    position: relative;
    letter-spacing: 0.016em;
}
#modal-3-content .pro-contact li a:before {
    content: "";
    display: inline-block;
    width: 25px;
    height: 25px;
    vertical-align: top;
    margin-right: 10px;
}
#modal-3-content .pro-contact li.mail a {
    background-color: var(--main-color);
}
#modal-3-content .pro-contact li.mail a:before {
    background-image: url(/img_v4/ico_mail_w.svg);
    background-size: 25px 25px;
    background-repeat: no-repeat;
}
#modal-3-content .pro-contact li.mail a:hover::before {
    background-image: url(/img_v4/ico_mail_w.svg);
    background-size: 25px 25px;
    background-repeat: no-repeat;
}
#modal-3-content .pro-contact li.line a:before {
    background-image: url(/img_v4/ico_line.svg);
    background-size: 25px 25px;
    background-repeat: no-repeat;
}
#modal-3-content .pro-contact li.doc a {
    height: 46px;
    border: 1px solid #BBB;
    color: #666;
}
#modal-3-content .pro-contact li.doc a:hover {
    background: #f3f3f3;
    color: #222;
}
#modal-3-content .pro-contact li.doc a:before {
    background-image: url(/img_v4/ico_mail.svg);
    background-size: 25px 25px;
    background-repeat: no-repeat;
}

/* arr */
.arr-left {
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    position: relative;
    width: 8px;
    height: 8px;
    transform: translateX(25%) rotate(-135deg);
    flex-shrink: 0;
}
.arr-right {
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    position: relative;
    width: 8px;
    height: 8px;
    transform: translateX(-25%) rotate(45deg);
    flex-shrink: 0;
}
.arr-left::before,
.arr-left::after,
.arr-right::before,
.arr-right::after {
    content: '';
    position: absolute;
    background: currentColor;
    border-radius: 0.1em;
}
  
.arr-left::before,
.arr-right::before {
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
}
  
.arr-left::after,
.arr-right::after {
    top: 0;
    right: 0;
    bottom: 0;
    width: 2px;
}

/**======== pages ========**/

/**---- profile ----**/
.profile-header {
    background: #f7f6f4;
}
.profile-header-inner {
    max-width: 740px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    padding: 50px 20px 30px;
}
.profile-header .pro-profile-views .comttxt {
    margin-top: 20px;
    font-size: 11px;
    line-height: 1.5;
    color: #777;
}
.profile-header .pro-profile-views-inner {
    display: flex;
    -webkit-box-align: flex-end;
    align-items: flex-end;
    gap: 30px;
}
.profile-header .pro-profile-views .pro-img {
    position: relative;
}
.profile-header .pro-profile-views .pro-img .bg-img {
    display: none;
}
.profile-header .pro-profile-views .pro-img img {
    width: 200px;
    border-radius: 15px;
}
.belt {
    line-height: 18px;
    position: relative;
    height: 18px;
    margin: 4px auto;
    text-align: center;
    color: #fff;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 2px;
    background: #e9a304;
    background-image: linear-gradient(45deg, #ff782e, #e9a304);
} 
.belt:before,
.belt:after {
    position: absolute;
    top: 0;
    display: block;
    height: 18px;
    content: '';
    background-image: linear-gradient(45deg, #ff782e, #e9a304);
} 
.belt:before {
    left: -13px;
    border: 9px solid #ff782e;
    border-left-width: 4px;
    border-left-color: transparent;
} 
.belt:after {
    right: -13px;
    border: 9px solid #e9a304;
    border-right-width: 4px;
    border-right-color: transparent;
}
.belt span {
    position: relative;
    display: block;
}
.profile-header .pro-profile-views .pro-img .belt {
    width: 176px;
    font-size: 13px;
    letter-spacing: 3px;
}
.profile-header .pro-profile-views .pro-info-body {
    margin-bottom: 2px;
}
.profile-header .pro-profile-views .pro-info-body .menber {
    font-size: 11px;
    color: #eb0000;
    font-style: italic;
    position: relative;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 400;
}
.profile-header .pro-profile-views .pro-info-body .name {
    font-size: 29px;
    line-height: 1.3;
    font-weight: 700;
    margin: 10px 0 16px;
    letter-spacing: 1px;
}
.profile-header .pro-profile-views .pro-info-body .pro-title {
    line-height: 1.3;
    font-size: 14px;
    margin-bottom: 4px;
}
.profile-header .pro-profile-views .pro-info-body .pro-affiliation {
    line-height: 1.3;
    font-size: 13px;
    color: #8a8a8a;
}
.profile-header .pro-profile-views .pro-info-body .pro-personal-sec {
    margin-top: 10px;
}
.profile-header .pro-profile-views .pro-info-body .pro-personal-movie {
    margin-top: 22px;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2px;
    gap: 10px;
}
.pro-personal-movie button {
    display: grid;
    cursor: pointer;
    grid-template-columns: 11px auto;
    border-radius: 5px;
    gap: 4px;
    border: 1px solid #333333;
    font-size: 12px;
    font-weight: 400;
    padding: 5px 6px 4px 10px;
    align-items: center;
    transition: background-color .3s;
}
.pro-personal-movie button:hover {
    background-color: #fff;
}
.pro-personal-movie button svg {
    aspect-ratio: 1 / 1;
    width: 100%;
}
.profile-header .comttxt {
    margin: 0;
    font-size: 11px;
    line-height: 1.5;
    color: #8f8f8f;
    padding-top: 24px;
}
.personal-link li.etc button:hover {
    color: #3480ce;
    text-decoration: underline;
}
.personal-link li.etc button span {
    display: block;
}

/* js-micromodal */
.modal-container.sns {
    max-width: 560px;
    min-width: 450px;
    margin: 24px 40px;
    overflow: hidden;
}
.modal-container.sns .modal-content {
    padding-bottom: 20px;
}
#modal-4-content .tit {
    padding: 20px 26px 12px;
    line-height: 1.4;
    font-size: 16px;
    font-weight: 700;
}
#modal-4-content .sns-box {
    padding: 20px 26px 6px;
    max-height: 65vh;
    overflow-y: auto;
}
#modal-4-content .sns-box .personal-link {
    gap: 22px;
    padding-top: 0px;
    flex-direction: column;
    align-items: flex-start;
}
#modal-4-content .sns-box .personal-link li {
    width: 100%;
}
#modal-4-content .sns-box .personal-link li a {
    width: auto;
    min-height: 30px;
    display: flex;
    align-items: center;
}
#modal-4-content .sns-box .personal-link .x a {
    background: url(/img_v4/ico_x.svg) 0 center / 20px auto no-repeat;
}
#modal-4-content .sns-box .personal-link .facebook a {
    background: url(/img_v4/ico_facebook.svg) 0 center / 24px auto no-repeat;
}
#modal-4-content .sns-box .personal-link .instagram a {
    background: url(/img_v4/ico_instagram.svg) 0 center / 23px auto no-repeat;
}
#modal-4-content .sns-box .personal-link .youtube a {
    background: url(/img_v4/ico_youtube.png) 0 center / 26px auto no-repeat;
}
#modal-4-content .sns-box .personal-link .website a {
    background: url(/img_v4/ico_website.svg) 0 center / 26px auto no-repeat;
}
#modal-4-content .sns-box .personal-link .rss a {
    background: url(/img_v4/ico_rss.svg) 0 center / 25px auto no-repeat;
}
#modal-4-content .sns-box .personal-link li a .txt {
    padding-left: 40px;
    text-align: left;
}
#modal-4-content .sns-box .personal-link li a p {
    display: block;    
    line-height: 1.4;
    margin: 0;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
#modal-4-content .sns-box .personal-link li a .to {
    font-weight: 700;
}
#modal-4-content .sns-box .personal-link li a .title {
    font-weight: normal;
    font-size: 12px;
    display: inline;
    margin: 0 0 0 6px;
    padding: 0;
}
#modal-4-content .sns-box .personal-link li a .url {
    color: #014099;
    overflow: hidden;
    white-space: nowrap;
    width: 250px;
    text-overflow: ellipsis;
}
#message-movie .modal-overlay:before {
    display: none;
}
#message-movie .modal-container {
    max-width: 735px;
}
#message-movie .modal-container-box {
    background: none;
}
#message-movie .message-movie-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px
}
#message-movie .message-movie-content .player {
    aspect-ratio: 16 / 9;
    width: 100%;
}
#message-movie .message-movie-content .player iframe {
    height: 100%;
    width: 100%;
}
#message-movie .message-movie-content .close-button {
    font-size: 17px;
    font-weight: 700;
    display: grid;
    grid-template-columns: 25px auto;
    align-items: center;
    justify-content: center;
    height: 47px;
    /* margin-right: 30px; */
    width: 200px;
    border-radius: 100px;
    color: #6e6e6e;
    gap: 14px;
    cursor: pointer;
    padding-right: 12px;
    background-color: #fff;
    transition: background-color .3s, color .3s;
}
#message-movie .message-movie-content .close-button:hover {
    background-color: var(--main-color);
    color: #fff;
}
#message-movie .message-movie-content .close-button:hover .ico {
    color: #fff;
}
#message-movie .message-movie-content .close-button .ico {
    aspect-ratio: 1 / 1;
    width: 100%;
    position: relative;
    rotate: 45deg;
    color: var(--main-color);
    transition: color .3s;
}
#message-movie .message-movie-content .close-button .ico::before,
#message-movie .message-movie-content .close-button .ico::after {
    content: '';
    position: absolute;
    width: 3px;
    left: calc(50% - 1.5px);
    top: 0;
    height: 100%;
    background-color: currentColor;
}
#message-movie .message-movie-content .close-button .ico::after {
    rotate: 90deg
}
@media screen and (max-width: 480px) {
    #message-movie .modal-container {
        margin: 0 5px;
    }
    #message-movie .message-movie-content {
        gap: 20px
    }
    #message-movie .message-movie-content .close-button {
        font-size: 15px;
        height: 42.5px;
        width: 181px;
        grid-template-columns: 23px auto;
        gap: 11px;
    }
    #message-movie .message-movie-content .close-button .ico::before,
    #message-movie .message-movie-content .close-button .ico::after {
        width: 2px;
        left: calc(50% - 1px);
    }
}

.frame_pro_contents .pro-appeal-sec {
    padding: 0 0 30px;
    border-bottom: 1px solid #e9e9e9;
    margin-bottom: 55px;
}
.frame_pro_contents .pro-appeal-sec .appeal-tit {
    font-size: 24px;
    margin-bottom: 15px;
    font-weight: 700;
    line-height: 1.4;
}
.frame_pro_contents .pro-appeal-sec .appeal-txt {
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 15px;
}

.frame_pro_contents .pro-profile-blk {
    margin: 0;
    padding-top: 55px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e9e9e9;
}
.frame_pro_contents .pro-profile-blk.sec-interview {
    padding-top: 0;
}
.frame_pro_contents .pro-profile-blk h2 {
    font-weight: 700;
    font-size: 20px;
    margin-bottom: 20px;
    padding-left: 18px;
    position: relative;
}
.frame_pro_contents .pro-profile-blk h2::before {
    background-color: var(--main-color);
    content: "";
    display: inline-block;
    height: 2px;
    left: 0;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 10px;
}

.frame_pro_contents .sec-interview a {
    display: flex;
    flex-direction: column;
    max-width: 520px;
    background: #fff;
    border: 1px solid #d3d3d3;
    margin: 0 auto;
    position: relative;
    border-radius: 8px;
    box-shadow: 0 6px 8px 0 rgba(1,41,58,.1);
}
.frame_pro_contents .sec-interview a:hover {
    box-shadow: none;
}
.frame_pro_contents .sec-interview .bn-main {
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    position: relative;
    overflow: hidden;
}
.frame_pro_contents .sec-interview .bn-main .logo-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    width: 50%;
    gap: 10px;
    flex-direction: column;
}
.frame_pro_contents .sec-interview .bn-main .logo-wrap .area-logo img {
    height: auto;
    max-height: 40px;
}
.frame_pro_contents .sec-interview .bn-main .logo-wrap .op-logo img {
    height: 34px;
}
.frame_pro_contents .sec-interview .bn-main .img-wrap {
    width: 50%;
    position: relative;
    overflow: hidden;
    background: #ededed;
    border-top-right-radius: 8px;
}
.frame_pro_contents .sec-interview .pro-imagecut {
    z-index: 1;
    position: relative;
    object-fit: contain;
    width: 100%;
    height: 100%;
    opacity: 1;
}
.frame_pro_contents .sec-interview .pro-imagecut-bg {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0%, -50%) scale(1.2);
    opacity: 0.2;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.frame_pro_contents .sec-interview .pro-imagecut {
    z-index: 1;
    height: 150px;
}
.frame_pro_contents .sec-interview .txt {
    width: 100%;
    padding: 18px 15px 20px;
    margin: 0;
    z-index: 4;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    position: relative;
    background: #f9f9f9;
    border-bottom-right-radius: 8px;
    border-bottom-left-radius: 8px;
}
.frame_pro_contents .sec-interview .txt .tit {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.4;
}
.frame_pro_contents .sec-interview .txt .job {
    margin-top: 10px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    color: #898989;
}
.frame_pro_contents .sec-interview .comttxt-reg {
    margin: 0;
    font-size: 11px;
    line-height: 1.5;
    color: #8f8f8f;
    text-align: center;
    padding-top: 10px;
}
.frame_pro_contents .pro-profile-blk .txt-body {
    margin: 20px 0;
    line-height: 1.6;
    font-size: 14px;
    color: #333;
}
.frame_pro_contents .pro-profile-blk.sec04 {
    border-bottom: none;
    margin-bottom: 0;
}
.frame_pro_contents .pro-profile-blk.sec04 dl {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    margin: 20px 0 0;
    line-height: 1.6;
    font-size: 13px;
    color: #616161;
    border-top: 1px solid #ddd;
}
.frame_pro_contents .pro-profile-blk.sec04 dt {
    font-weight: 700;
    flex-basis: 20%;
    padding: 16px;
    border-bottom: 1px solid #e3e1df;
}
.frame_pro_contents .pro-profile-blk.sec04 dd {
    flex-basis: 80%;
    padding: 16px;
    border-bottom: 1px solid #e3e1df;
}
.frame_pro_contents .pro-profile-blk.sec04 dd .another {
    font-size: 12px;
    color: #888;
}
.frame_pro_contents .pro-profile-blk.sec04 dd .map-link a {
    margin-top: 10px;
}
.map-link a {
    background-color: #fff;
    border: solid #ccc;
    border-radius: 5px;
    border-width: 1px 1px 3px;
    box-sizing: border-box;
    color: #333;
    font-size: 12px;
    line-height: 1;
    padding: 7px 13px;
    display: inline-block;
}

.map-link a:hover {
    background-color: #f9f9f9;
    text-decoration: none;
}
span.icon-map {
    position: relative;
    display: flex;
    align-items: center;
}
span.icon-map::before {
    content: "";
    background: url(/img_v4/ico_map-pin.svg) no-repeat;
    background-size: 14px 14px;
    width: 14px;
    height: 14px;
    margin-right: 5px;
}

/*続きを読む/閉じる非表示*/
.more-link-after .close{
    display: none;
}

/**---- columnList ----**/
.pro_list_header {
    background: url(/img_v4/bg_header-column.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    padding-top: 25%;
}
.pro_list_header::before {
    background-color: rgba(85, 85, 85, 0.5);
    background-color: rgba(0, 50, 100, 0.5);
    background-color: rgb(40, 68, 95, 0.5);
    background-color: rgb(111, 111, 111, .5);
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.pro_list_header h1,
.pro_list_header .page-title {
    font-size: 34px;
    color: #fff;
    z-index: 3;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    transform: translate(-50%, -50%);
}
.post-auther-sec.view-top {
    display: none;
}

.columnList .pro_entries_wrap .theme-title {
    margin-bottom: 20px;
    font-size: 17px;
}
.pro_entries_wrap {
    margin-bottom: 60px;
}
.pro_entries_list {
    position: relative;
    margin-bottom: 20px;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
}
.pro_entries_list .pro_column_footer {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 18px 15px;
}
.pro_entries_list .pro_column_footer .post-auther img {
    width: 28px;
    margin-right: 8px;
    border-radius: 4px;
}
.pro_entries_list .pro_column_footer .post-date {
    font-size: 12px;
    color: #b7b7b7;
    margin: 0;
    line-height: 1.5;
}
.pro_entries_list .pro_column_footer .post-date .post-theme {
    border: 1px solid #dadada;
    border-radius: 20px;
    font-size: 11px;
    line-height: 1.5;
    padding: 2px 8px;
    display: inline-block;
    background: #fff;
    color: #b7b7b7;
    margin:0 0 0 10px;
}
.pro_entries_list .post-link {
    display: flex;
    flex-direction: column;
}
.pro_entries_list .pro_column_body {
    margin-top: 18px;
    padding: 0 18px;
    display: flex;
    gap: 15px;
}
.pro_entries_list .pro_column_body .column-txt {
    width: calc(100% - 70px);
}
.pro_entries_list .pro_column_body .post-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
    color: #333;
    margin-bottom: 32px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    min-height: 60px;
}
.pro_entries_list .pro_column_body .post-txt {
    line-height: 1.5;
    font-size: 12px;
    color: #a3a3a3;
    margin-bottom: 20px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.pro_entries_list .pro_column_body .column-images {
    width: 70px;
    height: 70px;
    overflow: hidden;
    flex-shrink: 0;
}
.pro_entries_list .pro_column_body .column-images img {
    text-align: center;
    border-radius: 4px;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    width: 100%;
}

/**---- mp-ie ----**/
.mp-ie {
    padding: 20px 0;
}
.mp-ie .page_one {
    display: flex;
    justify-content: center;
    flex-flow: row wrap;
    padding: 0;
}
.mp-ie .page_one div {
    margin: 0 4px;
}

.mp-ie .page_one .other_p,
.mp-ie .page_one .current_p {
    display: block;
}

.mp-ie .page_one .prev_p {
    float: none;
    width: 64px;
    margin: 0 10px 4px 0;
}

.mp-ie .page_one .next_p {
    float: none;
    width: 64px;
    margin: 0 0 4px 10px;
}

.mp-ie .page_one div a {
    border: solid 1px #ccc;
}
.mp-ie .page_one .prev_p a,
.mp-ie .page_one .next_p a {
    padding: 0;
}

.mp-ie .page_one div.next_p span,
.mp-ie .page_one div.prev_p span {
    display: none;
}


.mp-ie .page_one div {
    margin: 0 4px 4px;
    font-size: 14px;
}

.mp-ie .page_one div.ten {
    width: 20px;
    text-align: center;
    line-height: 40px;
    display: block;
}

.mp-ie .page_one div a,
.mp-ie .page_one div span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    box-sizing: border-box;
    border-radius: 4px;
    font-family: "Plus Jakarta Sans", sans-serif;
}

.mp-ie .page_one .current_p span {
    border: solid 1px #a1a1a1;
    background-color: #e3e3e3;
    font-weight: 700;
}

.mp-ie .page_one div a:hover {
    border: solid 1px #a1a1a1;
    background-color: #e3e3e3;
    text-decoration: none;
}

.mp-ie .page_one div.next_p a,
.mp-ie .page_one div.prev_p a {
    position: relative;
    width: auto;
}

.mp-ie .page_one div.next_p a:after {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin: -6px 0 0 -8px;
    border-top: solid 1px #222;
    border-right: solid 1px #222;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.mp-ie .page_one div.prev_p a:after {
    display: block;
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin: -6px 0 0 -3px;
    border-top: solid 1px #222;
    border-right: solid 1px #222;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
}
/**---- pager ----**/
.frame_pro_contents .pager-wrap-bottom {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
.pager-wrap-bottom {
    margin: 60px 0;
    position: relative;
}
.pager-lst {
    display: flex;
    justify-content: center;
    font-family: "Plus Jakarta Sans", sans-serif;
    padding: 4px 0;
}
.pager-lst div {
    font-size: 15px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pager-lst .current_p {
    background-color: #b2b2b2;
    border-radius: 25%;
    color: #fff;
}
.pager_btn {
    position: absolute;
    top:0;
    bottom: 0;
}
.pager_btn.next {
    right:0;
}
.pager_btn.prev {
    left:0;
}
.pager_btn .next_p {
    margin-left: auto;
}
.pager_btn .prev_p {
    margin-right: auto;
}
.pager_btn .next_p a,
.pager_btn .prev_p a {
    background: #ededed;
    border-radius: 6px;
    padding: 16px 12px;
    display: block;
    position: relative;
}
.pager_btn .next_p a:hover,
.pager_btn .prev_p a:hover {
    background-color: #e3e3e3;
}
.pager_btn .next_p a {
    padding-right: 30px;
}
.pager_btn .next_p a:after {
    content: '';
    position: absolute;
    right: 13px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 1px solid #353535;
    border-right: 1px solid #353535;
    transform: translate(0, -50%) rotate(45deg);
}
.pager_btn .prev_p a {
    padding-left: 30px;
}
.pager_btn .prev_p a:after {
    content: '';
    position: absolute;
    left: 13px;
    top: 50%;
    width: 8px;
    height: 8px;
    border-top: 1px solid #353535;
    border-right: 1px solid #353535;
    transform: translate(0, -50%) rotate(-135deg);
}

/**---- column ----**/
.frame_pro_contents .bodytext {
    min-height: 200px;
}
.frame_pro_contents .bodytext p img {
    width: auto;
    max-width: 100%;
    max-height: 800px;   
    margin: 30px auto;
    display: block;
    border: 1px solid #f1efef;
    box-sizing: border-box;
}
.frame_pro_contents .bodytext .v-wrap {
    text-align: center;
    display: block;
    margin: 30px 0;
    box-sizing: border-box;
}
.frame_pro_contents .bodytext .v-wrap iframe {
    max-width: 100%;
}
.frame_pro_contents .bodytext h2 {
    margin: 80px 0 30px;
    font-size: 24px;
    line-height: 1.6;
    border-left: 6px solid var(--main-color);
    padding-left: 15px;
}
.frame_pro_contents .bodytext h3 {
    margin: 60px 0 30px;
    font-size: 20px;
    line-height: 1.7;
    border-bottom: 1px solid #e1e1e1;
    padding-bottom: 4px;
}
.frame_pro_contents .bodytext h4,
.frame_pro_contents .bodytext h5,
.frame_pro_contents .bodytext h6 {
    margin: 60px 0 30px;
    font-size: 18px;
    line-height: 1.7;
}
.frame_pro_contents .bodytext p {
    margin: 30px 0;
    line-height: 1.8;
    font-size: 16px;
}
.frame_pro_contents .bodytext ul,
.frame_pro_contents .bodytext ol {
    margin: 30px 0 30px 18px;
    line-height: 1.5;
}
.frame_pro_contents .bodytext ol {
    list-style: decimal;
}
.frame_pro_contents .bodytext ul {
    list-style: disc;
}
.frame_pro_contents .bodytext li {
    font-size: 16px;
    margin-bottom: 15px;
}
.frame_pro_contents .bodytext blockquote {
    font-size: 14px;
    padding: 30px;
    margin: 30px 0;
    background: #EDEDED;
    position: relative;
}
.frame_pro_contents .bodytext blockquote::before {
    position: absolute;
    top: 10px;
    left: 12px;
    background: url(/img/icon/icon_quote_01.png) no-repeat;
    background-size: contain;
    width: 28px;
    height: 28px;
    display: inline-block;
    content: "";
}
.frame_pro_contents .bodytext blockquote::after {
    position: absolute;
    bottom: 10px;
    right: 12px;
    background: url(/img/icon/icon_quote_02.png) no-repeat;
    background-size: contain;
    width: 28px;
    height: 28px;
    display: inline-block;
    content: "";
}
.frame_pro_contents .bodytext blockquote p,
.frame_pro_contents .bodytext blockquote li {
    font-size: 14px;
}
.frame_pro_contents .bodytext .common_box_list {
    font-size: 14px;
    margin: 30px 0;
    padding: 20px;
    background-color: #fcfcfc;
    border: 1px solid #eee;
}
.frame_pro_contents .bodytext .common_box_list .common_box_list__title {
    font-size: 14px;
    font-weight: 700;
    margin: 0;
}
.frame_pro_contents .bodytext .common_box_list .common_box_list__item {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
    padding: 0;
}
.frame_pro_contents .bodytext .common_box_list .common_box_list__item a {
    padding: 8px 0 8px 14px;
    margin: 0;
    color: #7d7a72;
    text-decoration: none;
    display: block;
    position: relative;
}
.frame_pro_contents .bodytext .common_box_list .common_box_list__item a::before {
    background: var(--sub-color);
    border-radius: 1000px;
    flex: none;
    height: 3px;
    width: 3px;
    max-width: 100%;
    content: "";
    position: absolute;
    top: 45%;
    left: 3px;
}
.frame_pro_contents .bodytext .common_box_list .common_box_list__item a:hover {
    color: #444;
    text-decoration: underline;
}
.frame_pro_contents .bodytext .common_box {
    font-size: 14px;
    margin: 30px 0;
    padding: 20px;
    background-color: #f7f6f4;
}
.frame_pro_contents .bodytext .common_box p {
    font-size: 14px;
    margin: 15px 0;
}
.frame_pro_contents .bodytext .common_box ol,
.frame_pro_contents .bodytext .common_box ul {
    margin: 15px 0 15px 18px;
}
.frame_pro_contents .bodytext .common_box li {
    font-size: 14px;
}
.frame_pro_contents .bodytext table {
    margin: 30px 0;
    width: 100%;
    border: 1px solid #DDDDDD;
    box-sizing: border-box;
}
.frame_pro_contents .bodytext table th,
.frame_pro_contents .bodytext table td {
    font-size: 14px;
    font-weight: normal;
    text-align: left;
    line-height: 1.3;
    padding: 12px 10px;
    border: 1px solid #DDDDDD;
}
.frame_pro_contents .bodytext table th {
    background: #EFEFE2;
}
.frame_pro_contents .bodytext a.linklist {
    text-decoration: underline;
}
.column-footer {
    margin-top: 50px;
    padding-top: 10px;
    border-top: 1px dotted #d5d4d4;
}
.frame_pro_contents .column-footer h2,
.frame_pro_contents .column-footer h3,
.frame_pro_contents .column-footer h4,
.frame_pro_contents .column-footer h5,
.frame_pro_contents .column-footer h6 {
    margin: 10px 0;
    color: #666;
    font-size: 16px;
    line-height: 1.5;
}
.frame_pro_contents .column-footer p {
    color: #666;
    font-size: 14px;
    line-height: 1.5;
    margin: 10px 0;
}
.column-direct {
    text-align: center;
    margin: 0 auto;
    padding: 50px 0 0;
}
.column-direct p {
    margin-bottom: 15px;
    color: #777;
    font-size: 12px;
    line-height: 1.3;
}
.column-direct a {
    font-size: 16px;
    line-height: 1.3;
    padding: 16px 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #8dd0dd;
    background-image: linear-gradient(to right, #25aae1, #30dd8a);
    border-radius: 6px;
    color: #fff;
    box-shadow: 0 1px 6px #0000001f;
    width: 350px;
    margin: 0 auto;
}
/* post-auther-sec */
.post-auther-sec .auther-profile {
    padding: 20px;
    background: #f7f7f7;
    border-radius: 8px;
    margin: 40px 0 12px;
}
.auther-profile .menber {
    font-size: 10px;
    margin-bottom: 10px;
    color: var(--main-color);
    font-style: italic;
    position: relative;
    font-family: "Plus Jakarta Sans", sans-serif;
    font-weight: 400;
}
.auther-profile .pro-profile {
    display: flex;
    align-items: flex-start;
    gap: 20px;
}

.auther-profile .pro-profile .thumbnail {
    width: 80px;
    height: 80px;
    border-radius: 8px;
}
.auther-profile .pro-profile .band {
    -webkit-align-items: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #e9a304;
    background-image: linear-gradient(45deg, #ff782e, #e9a304);
    bottom: 10px;
    color: #ffffff;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    font-size: 11px;
    font-weight: 700;
    height: 18px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    left: 0;
    top: 3px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    right: 0;
    text-align: center;
    width: 80px;
}
.auther-profile .pro-profile .band::before,
.auther-profile .pro-profile .band::after {
    border-style: solid;
    content: '';
    position: absolute;
    top: 0;
}
.auther-profile .pro-profile .band::before {
    border-color: transparent transparent transparent #f7f7f7;
    border-width: 9px 0 9px 3px;
    left: 0;
}
.auther-profile .pro-profile .band::after {
    border-color: transparent #f7f7f7 transparent transparent;
    border-width: 9px 3px 9px 0;
    right: 0;
}
.auther-profile .pro-profile .name {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 8px;
}
.auther-profile .pro-profile .title {
    font-size: 11px;
    line-height: 1.4;
    color: #454545;
    font-weight: 400;
    margin-left: 3px;
}
.auther-profile .pro-profile .affiliation {
    margin-bottom: 15px;
    font-size: 11px;
    line-height: 1.2;
    color: #888;
}
.auther-profile .pro-profile .txt {
    line-height: 1.5;
    margin-bottom: 10px;
}
.personal-link {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    padding-top: 3px;
}
.personal-link li a{
    display: block;
    width: 24px;
    height: 24px;
}
.personal-link li a span {
    display: none;
}
.personal-link .x a {
    background: url(/img_v4/ico_x.svg) center / 14px auto no-repeat;
}
.personal-link .facebook a {
    background: url(/img_v4/ico_facebook.svg) center / 18px auto no-repeat;
}
.personal-link .instagram a {
    background: url(/img_v4/ico_instagram.svg) center / 17px auto no-repeat;
}
.personal-link .youtube a {
    background: url(/img_v4/ico_youtube.png) center / 20px auto no-repeat;
}
.personal-link .website a {
    background: url(/img_v4/ico_website.svg) center / 20px auto no-repeat;
}
.personal-link .rss a {
    background: url(/img_v4/ico_rss.svg) center / 19px auto no-repeat;
}
.personal-link li.etc button {
    width: auto;
    vertical-align: middle;
    display: table-cell;
    font-size: 12px;
    color: #014099;
    cursor: pointer;
}
.post-auther-sec .comttxt {
    margin: 0;
    font-size: 11px;
    line-height: 1.5;
    color: #777;
}

/* post-recommend */
.frame_pro_contents .post-recommend {
    border-top: 1px solid #dadada;
    padding-top: 48px;
    margin-top: 48px;
    margin-bottom: 48px;
}
.frame_pro_contents .post-recommend .title {
    font-weight: 700;
    margin-bottom: 20px;
    font-size: 14px;
}
.frame_pro_contents .post-recommend li {
    line-height: 1.5;
    font-size: 15px;
    padding: 8px 0;
    font-weight: 700;
}
.frame_pro_contents .post-recommend a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.frame_pro_contents .post-recommend .article-img {
    width: 90px;
    margin-left: 12px;
    border-radius: 5px;
    overflow: hidden;
}
.frame_pro_contents .post-recommend .article-img img {
    aspect-ratio: 3 / 2;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.frame_pro_contents .post-recommend .article-text {
    width: calc(100% - 102px);
}
.frame_pro_contents .post-recommend .article-text .section-title {
    line-height: 1.3;
}
/* post-picup */
.frame_pro_contents .post-picup {
    border-top: 1px solid #dadada;
    padding-top: 48px;
    margin-bottom: 48px;
}
.contents-body + .post-picup {
    margin-top: 48px;
}
.frame_pro_contents .post-picup .title {
    font-weight: 700;
    margin-bottom: 20px;
    font-size: 15px;
}
.frame_pro_contents .post-picup ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: auto;
    padding-top: 0px;
}
.frame_pro_contents .post-picup li {
    line-height: 1.5;
    font-size: 15px;
    margin: 0 20px 40px 0;
    font-weight: 700;
    position: relative;
    width: calc((100% - 20px) / 2);
}
.frame_pro_contents .post-picup li a {
    position: relative;
    display: block;
}
.frame_pro_contents .post-picup li::before {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: flex-start;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -5px;
    font-size: 29px;
    font-family: "Plus Jakarta Sans", sans-serif;
    line-height: 1;
    font-weight: 700;
    margin: auto !important;
    color: var(--main-color);
    font-style: italic;
    z-index: 4;
}
.frame_pro_contents .post-picup li:nth-child(1)::before {
	content: "1";
}
.frame_pro_contents .post-picup li:nth-child(2)::before {
	content: "2";
}
.frame_pro_contents .post-picup li:nth-child(3)::before {
	content: "3";
}
.frame_pro_contents .post-picup li:nth-child(4)::before {
	content: "4";
}
.frame_pro_contents .post-picup li:nth-child(5)::before {
	content: "5";
}
.frame_pro_contents .post-picup li:nth-child(1) {
    width: 100%;
}
.frame_pro_contents .post-picup li:nth-child(1) .img-parent:before {
    padding-top: 40%;
}
.frame_pro_contents .post-picup li:nth-child(1) .article-text {
    padding: 30px;
}
.frame_pro_contents .post-picup li:nth-child(1) .article-text .section-title {
    font-size: 18px;
}
.frame_pro_contents .post-picup li:nth-child(odd) {
    margin-right: 0;
}
.frame_pro_contents .post-picup .article-img::before {
    background: rgb(247 246 244 / 85%);
    z-index: 2;
    position: relative;
    border-radius: 8px;
    border: 1px solid #f2f2f2;
} 
.frame_pro_contents .post-picup .article-img .thumbnail-wrap {
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    justify-content: center;
    z-index: 1;
}
.frame_pro_contents .post-picup .article-img .thumbnail-wrap img {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.frame_pro_contents .post-picup .article-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 5;
    width: 100%;
    padding: 20px;
}
.frame_pro_contents .post-picup .article-text .section-title {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    display: -webkit-box;
}

/* post-theme */
.frame_pro_contents .post-theme-wrap {
    border-top: 1px solid #dadada;
    padding-top: 48px;
    margin-bottom: 48px;
}
.frame_pro_contents .post-theme-wrap .title {
    font-weight: 700;
    margin-bottom: 20px;
    font-size: 15px;
}
.frame_pro_contents .post-theme-wrap ul {
    display: flex;
    -webkit-column-gap: 6px;
    column-gap: 6px;
    row-gap: 10px;
    -webkit-box-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.frame_pro_contents .post-theme-wrap li a {
    display: inline-block;
    padding: 8px 14px;
    border: 1px solid #dadada;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1.2;
    max-width: 320px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    min-width: 60px;
    text-align: center;
}
.frame_pro_contents .post-theme-wrap li a:hover {
    background-color: #f3f3f3;
}
/* #more-list */
#more-list li.is-hidden {
    display:none;
}
#more-list + .list-btn {
    padding-top: 10px;
}
#more-list + .list-btn.is-btn-hidden{
    display:none;
}

/* post-back */
.post-back-wrap {
    text-align: center;
    margin: 48px 0;
}
.post-back-wrap a {
    display: inline-block;
    border: 1px solid #333;
    padding: 14px 15px;
    min-width: 200px;
    border-radius: 30px;
}
.post-back-wrap a:hover {
    background-color: #333;
    color: #fff;
}
/* pro-interview-wrap */
.pro-interview-wrap {
    padding-top: 40px;
    max-width: 700px;
    margin: 0 auto;
}
.pro-interview-wrap a {
    display: flex;
    flex-direction: column;
    height: 200px;
    background: #fff;
    border: 1px solid #333;
    border-bottom: 0;
    margin: 0 auto;
    position: relative;
}
.pro-interview-wrap .bn-main {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    position: relative;
}
.pro-interview-wrap .bn-main .logo-wrap {
    width: 50%;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    padding: 12px;
    gap: 8px;
}
.pro-interview-wrap .bn-main .logo-wrap .area-logo {
    margin: 0;
}
.pro-interview-wrap .bn-main .logo-wrap .area-logo img {
    height: auto;
    max-height: 48px;
}
.pro-interview-wrap .bn-main .logo-wrap .op-logo {
    margin-bottom: 28px;
}
.pro-interview-wrap .bn-main .logo-wrap .op-logo img {
    height: 38px;
}
.pro-interview-wrap .bn-main .img-wrap {
    width: 50%;
    height: 100%;
    background-color: #ededed;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}
.pro-interview-wrap .pro-imagecut {
    z-index: 1;
    position: relative;
    object-fit: contain;
    width: 100%;
    height: 100%;
    opacity: 1;
    transform: scale(1.05);
}
.pro-interview-wrap .pro-imagecut-bg {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0%, -50%) scale(1.2);
    opacity: 0.2;
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.pro-interview-wrap .txt {
    width: 100%;
    max-width: 80%;
    background: #eb0000;
    background: linear-gradient(90deg, #f92929, #eb0000);
    color: #ffff;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    padding: 12px;
    margin: 0;
    border-radius: 50px;
    z-index: 4;
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -webkit-box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 2px 3px rgb(0 0 0 / 20%);
}
.pro-interview-wrap .txt:hover {
    background: #c70000;
}
.pro-interview-wrap .txt::after {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 16px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}
.pro-interview-wrap .btmtxt {
    font-size: 15px;
    line-height: 1.4;
    color: #454545;
    background: #f9f5f1;
    font-weight: 700;
    padding: 13px 10px;
    text-align: center;
    border-bottom: 1px solid #333;
    border-right: 1px solid #333;
    border-left: 1px solid #333;
}
/* pro-movie-wrap */
.pro-movie-wrap {
    margin-top: 30px;
    padding: 42px 0 42px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}
.pro-movie-wrap+.pro-interview-wrap {
    padding-top: 0;
}
.pro-movie-wrap button {
    max-width: 521px;
    cursor: pointer;
    overflow: hidden;
    border: 1px solid #353535;
    transition: opacity 0.3s;
}
.pro-movie-wrap button:hover {
    opacity: .7;
}
.pro-movie-wrap img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}
.pro-movie-wrap .btmtxt {
    font-size: 20px;
    line-height: 1.4;
    letter-spacing: 0.04em;
    color: #454545;
    font-weight: 700;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 14px;
}
.pro-movie-wrap .btmtxt::before {
    content: "";
    height: 2px;
    width: 10px;
    background-color: var(--main-color);
}
/* pro-manu-wrap */
.pro-manu-wrap {
    display: none;
}
/* pro-direct-wrap */
.pro-direct-wrap {
    display: none;
}

/**---- seminarList ----**/
.frame_pro_contents.seminarList {
    max-width: unset;
}
.pro_list_header.seminarList {
    background: url(/img_v4/bg_header-seminar.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    padding-top: 25%;
}
.frame_pro_contents.seminarList .pro_card_wrap {
    margin-bottom: 60px;
    gap: 30px 20px;
    display: flex;
    flex-wrap: wrap;
    width: auto;
}
.frame_pro_contents.seminarList .pro_card_list {
    position: relative;
    margin: 0;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: calc(25% - 15px);
    min-width: 290px;
}
.frame_pro_contents.seminarList .pro_card_list .post-link {
    display: block;
}
.frame_pro_contents.seminarList .pro_card_list .post-images {
    overflow: hidden;
    position: relative;
}
.frame_pro_contents.seminarList .pro_card_list .post-images.close:before {
    background-color:rgba(0, 0, 0, 0.4);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    border-radius: 4px 4px 0 0;
    content: "終了";
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    letter-spacing: 1px;
    font-weight: 700;
}
.frame_pro_contents.seminarList .pro_card_list .post-images img {
    aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 4px 4px 0 0;
}
.frame_pro_contents.seminarList .pro_card_list .post-body {
    padding: 13px 12px 15px;
}
.frame_pro_contents.seminarList .pro_card_list .post-body .status {
    font-size: 11px;
    padding: 5px 10px;
}
.frame_pro_contents.seminarList .pro_card_list .post-body .post-date {
    margin-bottom: 10px;
    font-size: 13px;
    color: #888;
}
.frame_pro_contents.seminarList .pro_card_list .post-body .post-title {
    margin: 5px 0 10px;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    min-height: 48px;
}
.pro_card_list .pro_card_footer {
    padding: 0px 12px 12px;
}
.pro_card_list .pro_card_footer .post-auther a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.pro_card_list .pro_card_footer .post-auther img {
    width: 24px;
    margin-right: 6px;
    border-radius: 4px;
}
/**---- seminar ----**/
.frame_pro_contents.seminar h1 {
    margin-bottom: 15px;
}
.frame_pro_contents .entry-status {
    margin-bottom: 10px;
}
.frame_pro_contents .entry-status .status {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    padding: 6px 12px;
    background: #003E9A;
    border-radius: 3px;
    color: #fff;
    text-align: center;
    float: none;
    border-radius: 3px;
    min-width: 60px;
}
.frame_pro_contents .entry-status .status.accepting {
    background: #F44336;
    color: #fff;
}
.frame_pro_contents .entry-status .status.stop {
    background: #003E9A;
    color: #fff;
}
.frame_pro_contents .entry-status .status.close {
    background: #E4E8F0;
    color: #737373;
}
.frame_pro_contents .entry-status .status.opening {
    background: #29d16e;
    color: #fff;
}
.frame_pro_contents .entry-status .tit {
    margin-left: 15px;
    color: #999;
    font-size: 12px;
}
.frame_pro_contents .post-period-wrap {
    margin-bottom: 20px;
}
.frame_pro_contents .post-period {
    font-size: 15px;
    color: #666;
}
.frame_pro_contents .post-recommend .article-text .entryDate {
    margin-top: 3px;
}
.frame_pro_contents .post-recommend .article-text .entryDate .status {
    display: inline-block;
    font-size: 11px;
    line-height: 1;
    padding: 4px 8px;
    margin-right: 10px;
    background: #003E9A;
    border-radius: 3px;
    color: #fff;
    text-align: center;
    float: none;
    border-radius: 3px;
    font-weight: normal;
    min-width: 54px;
}
.frame_pro_contents .post-recommend .article-text .entryDate .status.close {
    background: #E4E8F0;
    color: #737373;
}
.frame_pro_contents .post-recommend .article-text .entryDate .status.opening {
    background: #29d16e;
    color: #fff;
}
.frame_pro_contents .post-recommend .article-text .entryDate .date {
    font-weight: normal;
    font-size: 13px;
    color: #a7a7a7;
}
.seminar_detail_img {
    background: #f7f7f7;
}
.seminar_detail_img img {
    width: auto;
    max-width: 100%;
    max-height: 400px;
    margin: 20px auto 40px;
    display: block;
}

/**---- galleryList ----**/
.frame_pro_contents.galleryList {
    max-width: unset;
}
.pro_list_header.galleryList {
    background: url(/img_v4/bg_header-gallery.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    padding-top: 25%;
}
.frame_pro_contents.galleryList .pro_card_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 30px 10px;
    margin-bottom: 60px;
}
.frame_pro_contents.galleryList .pro_card_list {
    position: relative;
    width: calc(25% - 8px);
    margin: 0;
}
.frame_pro_contents.galleryList .pro_card_list .post-link {
    display: block;
}
.frame_pro_contents.galleryList .pro_card_list .album-images {
    overflow: hidden;
    border-radius: 6px;
    position: relative;
    border: 1px solid #e9e9e9;
}
.frame_pro_contents.galleryList .pro_card_list .album-images img {
    aspect-ratio: 1 / 1;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.frame_pro_contents.galleryList .pro_card_list .album-images .num-wrap {
    display: none;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 2;
}
.frame_pro_contents.galleryList .pro_card_list .album-images .num-wrap span {
    font-size: 12px;
    margin-left: 3px;
}
.frame_pro_contents.galleryList .pro_card_list .photo-ex {
    padding-top: 10px;
}
.frame_pro_contents.galleryList .pro_card_list .album-tit {
    font-size: 16px;
    margin-bottom: 3px;
    font-weight: 700;
    line-height: 1.3;
    color: #333;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.frame_pro_contents.galleryList .pro_card_list .num {
    color: #ababab;
    font-size: 13px;
}
.frame_pro_contents.galleryList .pro_card_list .num span {
    font-size: 12px;
}

.frame_pro_contents.galleryList .pro_card_list .post-link:hover .num-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: rgb(0, 0, 0, .4);

}
.frame_pro_contents.galleryList .pro_card_list .post-link:hover img {
    opacity: 1;
}

/**---- gallery ----**/
.main-wrap.gallery .main-sidenavi-album {
    height: 100vh;
    border-right:1px solid #e8e9ea;
    display: block;
}
.main-wrap.gallery .main-sidenavi-album .main-sidenavi-inner{
    background: none;
}
.main-wrap.gallery .main-sidenavi-album .back-wrap {
    padding: 0 15px 30px;
}
.main-wrap.gallery .main-sidenavi-album .back-wrap a {
    display: flex;
    align-items: center;
}

.main-wrap.gallery .main-sidenavi-album .back-wrap .thumbnail {
    width: 24px;
    border-radius: 4px;
    margin-right: 5px;
    margin-left: 10px;
}
.main-wrap.gallery .main-sidenavi-album .back-wrap .name {
    font-size: 13px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}

.main-wrap.gallery .main-contents {
    margin-right: 120px;
    padding: 24px 0 20px;
    height: 100vh;
    justify-content: center;
}
.gallery-entry-header {
    padding: 0 30px;
}
.gallery-entry-header h1 {
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 16px;
    color: #333;
}
.gallery-entry-header .album_description {
    font-size: 13px;
    line-height: 1.4;
    color: #999;
}
.gallery-entry-description {
    display: none;
}
.main-wrap.gallery .footer .copy {
    text-align: center;
    color: #cbcbcb;
    font-size: 14px;
    padding: 0;
}
.main-wrap.gallery .sns-wrap {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 50;
}
.main-wrap.gallery .close-btn {
    position: absolute;
    top: 20px;
    right: 30px;
}

/*--- js .swiper ---*/
.main-wrap.gallery .wrapper{
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin:0 auto;
    max-width:1200px;
}
.main-wrap.gallery .wrapper-inner{
    max-width: 900px;
    width:100%;
    margin: 0 auto;
    position: relative;
}
.main-wrap.gallery .swiper.swiper_main {
    height: 100vw;
    max-height: 675px;
}
.main-wrap.gallery .swiper_main .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #f7f7f7;
    border-radius: 10px;
}
.main-wrap.gallery .swiper_main .swiper-slide img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6px;
}
.main-wrap.gallery .swiper_main .swiper-slide > span{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 150px;
    background: #000;
    color: #0080ff;
    font-size: 36px;
    font-weight: bold;
}
/* arrow */
.main-wrap.gallery .swiper-button-prev,
.main-wrap.gallery .swiper-button-next{
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto;
    display: grid;
    place-content: center;
    width: 6.4rem;
    height: 6.4rem;
    cursor: pointer;
}
@media screen and (max-width: 699px) {
    .main-wrap.gallery .swiper-button-prev,
    .main-wrap.gallery .swiper-button-next{
        width: 20px;
        height: 20px;
    }
}

.main-wrap.gallery .swiper-button-prev::before,
.main-wrap.gallery .swiper-button-next::before{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    background: rgb(0 0 0 / 30%);
    z-index: -1;
    -webkit-transition: .8s cubic-bezier(.2, 1, .2, 1);
    transition: .8s cubic-bezier(.2, 1, .2, 1);
}
.main-wrap.gallery .swiper-button-prev::after,
.main-wrap.gallery .swiper-button-next::after{
    width: 12px;
    height: 12px;
    content: "";
    border: solid #fff;
    border-width: 3px 3px 0 0;
    opacity: .8;
	position: relative;
}
@media screen and (max-width: 699px) {
    .main-wrap.gallery .swiper-button-prev::after,
    .main-wrap.gallery .swiper-button-next::after{
        width: 8px;
        height: 8px;
        border: solid #fff;
        border-width: 2px 2px 0 0;
    }
}
.main-wrap.gallery .swiper-button-prev::after{
    -webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
    left: 1px;
}
.main-wrap.gallery .swiper-button-next::after{
    -webkit-transform: rotate(45deg);
	transform: rotate(45deg);
    right: 1px;
}

.main-wrap.gallery .swiper-button-prev{
    left: 20px;
}
@media screen and (max-width: 699px) {
    .main-wrap.gallery .swiper-button-prev{
        left: 10px;
    }
}

.main-wrap.gallery .swiper-button-next{
    right: 20px;
}
@media screen and (max-width: 699px) {
    .main-wrap.gallery .swiper-button-next{
        right: 10px;
    }
}

.main-wrap.gallery .swiper-button-prev:hover::before,
.main-wrap.gallery .swiper-button-next:hover::before {
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}
/* dots */
.main-wrap.gallery .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0px;
    margin-top:10px;
    position: relative;
}
.main-wrap.gallery .swiper-pagination span{
    width: 6px;
    height: 6px;
    margin:0 3px!important;
}
.main-wrap.gallery .swiper-pagination span.swiper-pagination-bullet-active{
    background: #2f2f2f;
}

.main-wrap.gallery .swiper.swiper_text {
    padding: 20px 15px 30px;
    line-height:1.6;
}
.main-wrap.gallery .swiper.swiper_text .txt {
    font-size: 13px;
    line-height: 1.4;
    color: #666;
}
/*--- //js .swiper ---*/

/**---- voiceList ----**/
.pro_list_header.voiceList {
    background: url(/img_v4/bg_header-voice.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    padding-top: 25%;
}
.voiceList .voice-lead {
    margin-bottom: 40px;
    line-height: 1.5;
    font-size: 13px;
    color: #999;
}
.voiceList .tab-Container ul {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}
.voiceList .tab-Container li.tab__button {
    text-align: center;
    min-width: 130px;
}
.voiceList .tab-Container li.tab__tit {
    width: auto;
    font-size: 12px;
}
.voiceList .tab-Container li.tab__tit span {
    font-weight: 700;
    font-size: 17px;
    font-family: "Plus Jakarta Sans", sans-serif;
}
.voiceList .tab-Container li a {
    display: block;
    padding: 10px 12px;
    border-radius: 7px;
    font-size: 12px;
    background: #f8f8f8;
    color: #737373;
}
.voiceList .tab-Container li.active a {
    font-weight: 700;
    background: #ededed;
    color: #676767;
}
.voiceList .tab-Container li a:hover {
    background: #e6e6e6;
}

.pro_list_header.voice {
    background: url(/img_v4/bg_header-voice.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    padding-top: 25%;
}
.review_balloon {
    border-bottom: 1px solid #e3e3e3;
    padding-top: 30px;
}
.review_balloon_comment_head {
    padding-bottom: 12px;
}
.review_balloon_comment_head h2 {
    font-size: 16px;
    line-height: 1.5;
}
.review_balloon_comment_head h2 .review-article:hover {
    text-decoration: underline;
}
.review_balloon_comment_head .date {
    font-size: 12px;
    color: #888;
    margin-bottom: 10px;
}
.review_balloon_comment_body {
    padding-bottom: 13px;
}
.review_balloon_comment_body p {
    font-size: 16px;
    line-height: 1.7;
}
.review-photo {
    padding-bottom: 13px;
    overflow: hidden;
}
.review-photo img {
    width: 150px;
    text-align: center;
    border-radius: 4px;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    border: 1px solid #e9e9e9;
}
.review-user-info {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
}
.review-user-info-inner {
    width: 50%;
    display: flex;
}
.review-user-info img.user-icon {
    border-radius: 100%;
    height: 30px;
    width: 30px;
}
.review-user-info .user-txt {
    line-height: 1.3;
    font-size: 12px;
    color: #888;
    padding-left: 8px;
}
.review-user_name span {
    font-size: 10px;
    margin-left: 3px;
}

.review-user-info-btm {
    padding-top: 5px;
    margin-bottom: 15px;
}
.review-user-info-btm p {
    line-height: 1.4;
    font-size: 12px;
    padding-top: 6px;
    color: #aaa;
}
.review-user-info-btm p span:last-child {
    border-left: 1px solid #d7d7d7;
    padding-left: 7px;
    margin-left: 7px;
}
.review-user-request {
    line-height: 1.4;
    font-size: 12px;
    padding-top: 20px;
    padding-bottom: 15px;
    color: #aaa;
    display: block;
}
.review-date {
    line-height: 1.4;
    font-size: 12px;
    padding-top: 6px;
    color: #888;
}
.review-attribute .vote {
    margin-top: 10px;
    font-size: 14px;
}
.review-attribute .vote a {
    cursor: pointer;
}
.voice-att-txt {
    color: #a1a1a1;
    margin-top: 15px;
    line-height: 1.3;
    font-size: 12px;
}

/**---- freeList ----**/
.pro_list_header.freeList {
    background: url(/img_v4/bg_header-free.jpg);
    background-size: cover;
    background-position: center;
    position: relative;
    padding-top: 25%;
}
.frame_pro_contents.freeList .pro_entries_list {
    display: flex;
    padding: 22px 12px 15px;
    margin-bottom: 0;
    border: 0;
    border-bottom: 1px solid #e3e3e3;
    border-radius: 0;
}
.frame_pro_contents.freeList .pro_entries_list .post-link {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
    position: relative;
}
.frame_pro_contents.freeList .pro_entries_list .pro_free_body {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
.frame_pro_contents.freeList .pro_entries_list .post-title {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    color: #333;
    margin-bottom: 25px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.frame_pro_contents.freeList .pro_entries_list .post-txt {
    line-height: 1.5;
    font-size: 12px;
    color: #999999;
    padding-top: 5px;
    margin-bottom: 20px;
}
.frame_pro_contents.freeList .pro_entries_list .pro_free_images {
    overflow: hidden;
    flex-shrink: 0;
}
.frame_pro_contents.freeList .pro_entries_list .pro_free_images img {
    width: 120px;
    text-align: center;
    border-radius: 6px;
    margin-left: 12px;
    aspect-ratio: 4 / 3;
    height: auto;
    object-fit: cover;
}

/**---- free ----**/
.frame_pro_contents.free .entry-name {
    margin-bottom: 18px;
}
.frame_pro_contents.free .entry-name .tit {
    font-weight: 700;
    background: var(--sub-color);
    color: var(--main-color);
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 12px;
    min-width: 76px;
    display: inline-block;
    text-align: center;
}
.free_detail_img {
    background: #f7f7f7;
}
.free_detail_img img {
    width: auto;
    max-width: 100%;
    max-height: 400px;
    margin: 20px auto 40px;
    display: block;
}

/**---- thanks ----**/
.frame_pro_contents.thanks {
    padding-bottom: 100px;
}
.frame_pro_contents.thanks .endtit {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 40px;
}
.frame_pro_contents.thanks .endtxt {
    margin: 20px 0;
    line-height: 1.6;
    font-size: 15px;
}

/* page-nav */
.cont-nav{
	position: relative;
    display: flex;
    align-items: flex-start;
    border-top: 1px solid #dadada;
    margin-top: 48px;
}
.cont-nav:before {
    position: absolute;
    top: 15px;
    left: 50%;
    display: block;
    width: 1px;
    height: calc(100% - 32px);
    content: "";
    background-color: #f2f2f2;
}
.cont-nav .page-nav-wrap {
	box-sizing: border-box;
    width: 50%;
}
.cont-nav .page-nav-wrap a {
    padding-top: 30px;
    padding-bottom: 40px;
    display: block;
}
.cont-nav .page-nav-wrap.prev {
	padding: 0 26px 0 32px;
}
.page-nav-wrap.prev::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 1px #575757;
    border-right: solid 1px #575757;
    position: absolute;
    top: 52%;
    left: 8px;
    margin-top: -4px;
    transform: rotate(225deg);
	transition: all .3s;
}
.page-nav-wrap.prev:hover::after {
	left: 0;
}
.cont-nav .page-nav-wrap.next {
	padding: 0 32px 0 26px;
	text-align: right;
	margin-left: auto;
}
.page-nav-wrap.next::after {
    content: '';
    width: 6px;
    height: 6px;
    border: 0;
    border-top: solid 1px #575757;
    border-right: solid 1px #575757;
    position: absolute;
    top: 52%;
    right: 8px;
    margin-top: -4px;
    transform: rotate(45deg);
	transition: all .3s;
}
.page-nav-wrap.next:hover::after {
	right: 0;
}
.cont-nav .page-nav-wrap span {
	color: #999;
	font-size: 13px;
}
.page-nav-prev,
.page-nav-next {
	margin-top: 5px;
	display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-weight: 700;
	line-height: 1.6;
	font-size: 14px;
	color: #333;
	text-decoration: none;
}

/* 画像の縦横比を維持 */
.img-parent {
	position: relative;
	width: 100%;
}
.img-parent:before {
	content: "";
	display: block;
	padding-top: 56.25%;/*16:9*/
}
.img-child {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}
/* サムネイル拡大 */
a.expansion:hover, a.expansion:active, a.expansion:focus {
    opacity: 1;
}
a.expansion img {
	transition: all 0.6s ease-out 0s;
}
a.expansion:hover img, a.expansion:active img, a.expansion:focus img {
	transform: scale(1.15);
}

/* モーダル背景固定/汎用 */
.no_scroll {
  position: fixed;
  left: 0;
  right: 0;
  overflow: hidden;
}


/**======== singlelayout ========**/
.frame_single_contents {
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;
    padding: 20px 20px 0;
}
.navi-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 15px;
    padding-right: 16px;
    background-color: hsla(0,0%,100%,.9);
    border-bottom: 1px solid #e8e9ea;
    height: 44px;
    position: sticky;
    top: 0;
    z-index: 10;
}
.navi-header .back-wrap {
    max-width: 80%;
}
.navi-header .back-wrap a {
    display: flex;
    align-items: center;
    height: 44px;
    min-width: 44px;
}
.navi-header .back-wrap .arr-left {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 8px;
  height: 8px;
  transform: translateX(25%) rotate(-135deg);
  flex-shrink: 0;
}

.navi-header .back-wrap .thumbnail {
    width: 24px;
    border-radius: 4px;
    margin-right: 5px;
    margin-left: 10px;
}
.navi-header .back-wrap .name {
    font-size: 13px;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
}
.footer .copy {
    text-align: center;
    color: #767676;
    padding: 0 0 20px;
    font-size: 14px;
}

/** inquery **/
.inquiry_main_form_wrap {
    margin-bottom: 30px;
}
.inquiry_main_comment {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    padding: 8px;
    border-radius: 10px;
    background: #f7f4f0;
}
.inquiry_main_comment img {
    width: 60px;
    margin-right: 12px;
    border-radius: 6px;
}
.inquiry_comment_txt {
    font-size: 13px;
    line-height: 1.5;
}

.inquiry_main_lead .memo {
    font-size: 13px;
    margin-bottom: 20px;
    line-height: 1.3;
}

.inquiry_main_form dl {
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-start;
    padding-bottom: 20px;
}
.inquiry_main_form dl dt {
    font-weight: 700;
    line-height: 1.5;
    font-size: 16px;
    margin-top: 10px;
    margin-bottom: 4px;
    width: 100%;
}
.inquiry_main_form dl dd {
    width: 100%;
}
.inquiry_main_form_item dl {
    padding-bottom: 0;
}
.inquiry_main_form dl .inquiry_main_form_item dt {
    font-weight: 400;
    font-size: 14px;
}
.inquiry_main_form dl .inquiry_main_form_item dt:first-child {
    margin-top: 0;
}
.inquiry_main_form dl dd input,
.inquiry_main_form dl dd textarea {
    width: 100%;
    font-size: 16px;
    line-height: 1.5;
    border: 1px solid #ccc;
    padding: 8px;
    background-color: #f9f9f9;
    border-radius: 10px;
}
::placeholder{
  color:#ccc
}

.inquiry_main_form dl dd textarea {
  min-height: 100px;
}
.inquiry_main_form dl dd input:requi#eb0000,
.inquiry_main_form dl dd textarea:requi#eb0000,
.inquiry_main_form dl dd input:valid,
.inquiry_main_form dl dd textarea:valid {
  border: 1px solid #ccc;
  background-color: #f9f9f9;
}

.error-message-header{
    line-height: 1.6;
    padding: 20px;
    font-size: 16px;
    text-align: center;
    color: #f44040;
    background: #ffdede;
    font-weight: 700;
}

.error-message{
  margin-top: 7px;
  color: #f44040;
  font-weight: 700;
}
span.hissu {
    color: #f88585;
    font-size: 13px;
    font-weight: 400;
}

.inquiry_main_form .agree-txt {
    text-align: center;
    line-height: 1.5;
    font-size: 13px;
}
.inquiry_main_form_submit {
    text-align: center;
    margin-top: 20px;
    margin-bottom: 150px;
}
.inquiry_main_form_submit input#confirm {
    display: inline-block;
    width: 195px;
    height: 50px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 50px;
    border-radius: 25px;
    background: #2887EB;
    background: linear-gradient(90deg,#eb5526 0,#ef681c);
    text-align: center;
    cursor: pointer;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}
.inquiry_main_form_submit input#confirm:hover {
    -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.3), 0 1px 3px 1px rgba(0,0,0,.15);
    box-shadow: 0 1px 2px rgba(0,0,0,.3), 0 1px 3px 1px rgba(0,0,0,.15);
    background: #257cd7;
    background: linear-gradient(90deg,#eb5526 0,#ef681c);
}

.accordion-wrap .accordion {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #666;
    font-weight: 700;
    cursor: pointer;
    border-radius: 5px;
    background: #f2f2f2;
    text-align: center;
}
.accordion-wrap .accordion span {
    font-weight: 400;
    font-size: 11px;
    margin-top: 9px;
    display: inline-block;
    color: #999;
}
.accordion-wrap .accordion::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}
.accordion.active-accord::after {
    transform: rotate(225deg);
}
.accordion-wrap .panel {
    transform: translateY(-10px);
    margin-top: 20px;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
}

.inquiry_main_form dl dd input:disabled,
.material .inquiry_main_form dl dd input:disabled {
    background: #efefef;
    opacity: 1;
}
.inquiry_main_form dl dd input:disabled::placeholder,
.material .inquiry_main_form dl dd input:disabled::placeholder {
    color: #787878;
}

.inquiry_main_form dl .txt {
    margin-top: 15px;
    font-size: 13px;
}

/** inquery material **/
.container.material {
    background: #f7f4f0;
}
.material .inquiry_main_comment {
    background-color: #fff;
}
.material .inquiry_main_form dl dd input,
.material .inquiry_main_form dl dd textarea {
  background-color: #fff;
}

/** map **/
#map { height: calc(100vh - 44px); width: 100%}

/**voice**/
.review_balloon_comment {
    padding-bottom: 40px;
}
.back-list-link a {
    border-top: 1px solid #e3e3e3;
    border-bottom: 1px solid #e3e3e3;
    padding-top: 20px;
    padding-bottom: 20px;
    text-align: center;
    display: block;
}
.voice .voice-att-txt {
    color: #a1a1a1;
    margin-top: 15px;
    line-height: 1.3;
    font-size: 12px;
    margin-bottom: 50px
}

/* ------------------------------------ */
/* ▼responsive */
/* ------------------------------------ */
@media screen and (max-width: 1400px) {
    /**---- gallery ----**/
    .main-wrap.gallery .main-contents {
        flex: 1 1 100%;
        margin-right: 0px;
    }
    .main-wrap.gallery .close-btn {
        display: none;
    }

}

@media screen and (max-width: 1319px) {
    .main-contents {
        flex: unset;
        margin-right: 0;
        width: 100%;
    }
    .l-footer-container .ft-back {
        margin: 0 auto;
        padding: 25px 0px 0;
    }
    .main-sidebar {
        position: fixed;
        bottom: 86px;
        right: 0;
        z-index: 50;
        flex-direction: column;
        width: 320px;
        height: auto;
        box-shadow: none;
        transition: transform .3s;
        transform: translateX(100%);
        flex: unset;
        overflow-y: unset;
    }
    .main-sidebar.active {
        transform: translateX(0);
    }
    .main-sidebar .main-sidebar-inner {
        padding: 16px;
        background: #fff;
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }
    .main-sidebar.active .main-sidebar-inner {
        filter: drop-shadow(0px 2px 4px #ccc);
    }
    /* contactbtn */
	.contactbtn{
        display: block;
		position: fixed;
        bottom: 32px;
        right: 30px;
        cursor: pointer;
        border-radius: 50px;
        overflow: hidden;
        z-index: 51;
        background: #9E9E9E;
        padding: 10px;
        color: #fff;
        line-height: 1.2;
        text-align: center;
        padding: 12px 14px;
	}	
	.contactbtn .contactbtn-area{
		transition: all .4s;
	}	
	.contactbtn span{
		display: inline-block;
	}	
	.contactbtn.active .contactbtn-area{
		transform: rotateX(360deg);
	}

}

@media screen and (max-width: 979px) {
    .main-wrap {
        flex-direction: column;
    }
    .main-contents {
        flex: unset;
        margin-left: 0;
        margin-right: 0;
    }
    .main-sidenavi,
    .main-sidenavi-album {
        flex: unset;
        width: 100%;
        height: auto;
        position: relative;
    }
    .main-sidenavi .main-sidenavi-inner {
        background: none;
    }

    /* menu-list */
    .main-sidenavi .menu-list.pro-original {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #e5e5e5;
    }
    .main-sidenavi .menu-list.pro-original li {
        width: 50%;
    }
    .main-sidenavi .menu-list.pro-original a {
        margin: 0;
    }
    /* breadcrumbs */
    .frame_breadcrumbs ol {
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        white-space: nowrap;
        margin-right: calc(50% - 50vw);
    }
    .frame_breadcrumbs ol::-webkit-scrollbar {
        display: none;
    }
    .frame_breadcrumbs ol li {
        line-height: 1.5;
    }

    /** footer **/
    .l-footer-container .footer-link ul,
    .l-footer-container .related-service ul {
        justify-content: flex-start;
        gap: 14px;
        flex-wrap: wrap;
    }
    .l-footer-container .footer-link ul li,
    .l-footer-container .related-service ul li {
        width: calc((100% - 14px) / 2);
    }
    .l-footer-container .related-service {
        padding: 0;
    }
    #recentView-wrap ul {
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        white-space: nowrap;
        margin-right: calc(50% - 50vw);
    }
    #recentView-wrap ul::-webkit-scrollbar {
        display: none;
    }
    #recentView-wrap ul li a {
        width: 60px;
    }
    .l-footer-container .ft-back .tit {
        font-size: 15px;
    }
    .l-footer-container .ft-back .txt {
        font-size: 12px;
    }

    /**---- seminarList ----**/
    .frame_pro_contents.seminarList {
        max-width: 740px;
    }
    .frame_pro_contents.seminarList .pro_card_wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 30px 20px;
    }
    .frame_pro_contents.seminarList .pro_card_list {
        width: calc((100% - 20px) / 2);
        min-width: auto;
    }

    /**---- gallery ----**/
    .main-wrap.gallery .main-sidenavi-album {
        height: auto;
    }
    .main-wrap.gallery .main-sidenavi-album header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding-left: 15px;
        padding-right: 16px;
        background-color: hsla(0,0%,100%,.9);
        border-bottom: 1px solid #e8e9ea;
        height: 44px;
    }
    .main-wrap.gallery .main-sidenavi-album .main-sidenavi-inner {
        padding: 0;
    }
    .main-wrap.gallery .main-sidenavi-album .back-wrap {
        padding: 0;
    }
    .gallery-entry-header {
        display: none;
    }
    .main-wrap.gallery .main-contents {
        height: unset;
        padding-top: 0;
    }
    .swiper.swiper_text .txt {
        font-size: 12px;
        line-height: 1.3;
    }
    .gallery-entry-description {
        display: block;
        padding: 0 20px;
        margin-bottom: 80px;
    }
    .gallery-entry-description .tit {
        margin-bottom: 12px;
        font-size: 15px;
        line-height: 1.3;
    }
    .gallery-entry-description .txt {
        line-height: 1.6;
        font-size: 14px;
    }
    .main-wrap.gallery .sns-wrap {
        bottom: 18px;
        right: 20px;
    }
    .main-wrap.gallery .sns-wrap .share li.share-txt {
        display: none;
    }

}

@media screen and (max-width: 479px) {
    
    header.site-header {
        position: relative;
        top: auto;
    }
    .site-header-in {
        height: 48px;
        margin: 0 16px;
    }
    .logo-wrap {
        gap:10px;
    }
    .logo-wrap .area-logo img {
        height: 25px;
    }
    .logo-wrap .op-logo img {
        height: 23px;
    }
    .site-header-in .hd-txtcopy {
        display: none;
    }
    #hd-menubtn {
        width: 32px;
        height: 48px;
    }
    #hd-menubtn .menubtn-area .on:before {
        top: 5px;
        width: 26px;
        height: 26px;
        -webkit-mask: url(/img_v4/ico_map.svg) center / 26px 26px no-repeat;
        mask: url(/img_v4/ico_map.svg) center / 26px 26px no-repeat;
    }
    #hd-menubtn .menubtn-area .text {
        font-size: 10px;
        margin-bottom: 5px;
    }
    #hd-menubtn.active span {
        height: 2px;
    }
    #hd-menubtn.active span:nth-of-type(1) {
        top: 20px;
        left: 10px;
    }
    #hd-menubtn.active span:nth-of-type(3) {
        top: 32px;
        left: 10px;
    }

    .sp-hd-sticky {
        display: block;
        position: sticky;
        top: 0;
        background: #fff;
        z-index: 10;
    }
    .sp-hd-sticky ul.hd-menu-list {
        padding: 0;
        display: flex;
        overflow-x: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
        width: 100%;
        border-bottom: 1px solid #dadada;
    }
    .sp-hd-sticky ul.hd-menu-list::-webkit-scrollbar {
        display: none;
    }
    .sp-hd-sticky ul.hd-menu-list li {
        flex-shrink: 0;
    }
    .sp-hd-sticky ul.hd-menu-list li.active {
        border-bottom: 2px solid var(--main-color);
    }
    .sp-hd-sticky ul.hd-menu-list li.profile a {
        padding-left: 16px;
    }
    .sp-hd-sticky ul.hd-menu-list a {
        font-size: 12px;
        margin:0;
        padding: 12px;
        line-height: 1.3;
        display: flex;
        align-items: center;
    }
    .sp-hd-sticky ul.hd-menu-list a .txt {
        padding: 0;
        width: auto;
    }

    /*** main-sidenavi ***/
    .main-sidenavi {
        transition: transform .3s;
        transform: translateY(100%);
        position: fixed;
        bottom: 0;
        display: block;
        z-index: 81;
        background-color: #fff;
        border-radius: 12px 12px 0 0;
    }
    .main-sidenavi.active {
        bottom: 0;
        transform: translateY(0);
        height: 93%;
    }
    .main-sidenavi.active .main-sidenavi-inner {
        height: 100%;
        overflow-y: auto;
        overscroll-behavior-y: contain;
    }
    .main-sidenavi .comttxt {
        font-size: 10px;
    }

    /* menu-list */
    .menu-list a {
        margin: 0;
        padding: 10px;
        font-size: 14px;
    }
    .main-sidenavi .menu-list.pro-original {
        border-bottom: 0;
    }
    .main-sidenavi .menu-list.pro-original li {
        border-bottom: 1px solid #f1f1f1;
        width: 100%;
    }
    .main-sidenavi .interview a {
        margin-bottom: 10px;
    }
    .main-sidenavi .interview a .txt br {
        display: none;
    }

    /*** main-contents ***/
    .frame_pro_contents {
        padding: 30px 0;
    }
    .frame_pro_contents .contents-body {
        padding-right:18px;
        padding-left: 18px;
    }
    .frame_pro_contents .pro_card_wrap {
        padding-right: 12px;
        padding-left: 12px;
    }
    .frame_pro_contents h1 {
        font-size: 23px;
        margin-bottom: 20px;
        color: #333;
    }
    .frame_pro_contents .hd-btm-flex {
        padding-top: 7px;
    }
    .frame_pro_contents .post-btm-sec {
        padding-top: 30px;
        padding-bottom: 15px;
    }

    /** footer **/
    .l-footer-container .footer-link ul {
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        flex-direction: column;
    }
    .l-footer-container .footer-link ul li {    
        width: auto;
    }
    .l-footer-container .footer-link ul a {
        font-size: 12px;
        line-height: 1.3;
        font-weight: 700;
    }
    .l-footer-container .related-service ul {
        justify-content: flex-start;
        align-items: center;
        flex-wrap: wrap;
        gap: 12px;
        flex-direction: column;
    }
    .l-footer-container .related-service ul li {
        width: auto;
    }
    .l-footer-container .related-service a {
        font-size: 12px;
    }

    #frame_footer_recent_inner {
        overflow: unset;
    }
    /*** main-sidebar ***/
    /* contactbtn */
    .contactbtn {
        display: none;     
    }

    /* sp-footerbar */
    #sp-footerbar {
        display: block;
        position: fixed;
        bottom: 0;
        width: 100%;
        z-index: 82;
    }
    #sp-footerbar .btn-wrap {
        background: #fff;
        width: 100%;
        display: flex;
        border-top: 1px solid #e0e0e0;
        max-height: 56px;
    }
    #sp-footerbar .btn-wrap li {
        text-align: center;
        flex: 1;
        transition: .2s;
    }
    #sp-footerbar .btn-wrap li a,
    #sp-footerbar .btn-wrap li button {
        display: block;
        padding: 34px 5px 6px;
        width: 100%;
        position: relative;
    }
    #sp-footerbar .btn-wrap li a::before,
    #sp-footerbar .btn-wrap li button::before  {
        position: absolute;
        top: 9px;
        left: 50%;
        transform: translateX(-50%);
        content: "";
        display: inline-block;
    }
    #sp-footerbar .btn-wrap li .txt {
        font-size: 11px;
        font-weight: 700;
        line-height: 1.2;
        color: #454545;
        z-index: 2;
        position: relative;
    }
    #sp-footerbar .btn-wrap li#fb-interview a::before,
        #sp-footerbar .btn-wrap li#fb-interview button::before {
        width: 22px;
        height: 22px;
        vertical-align: top;
        background-color: var(--main-color);
        -webkit-mask: url(/img_v4/ico_interview.svg) center / 22px 22px no-repeat;
        mask: url(/img_v4/ico_interview.svg) center / 22px 22px no-repeat;
    }
    #sp-footerbar .btn-wrap li#fb-tel a::before,
    #sp-footerbar .btn-wrap li#fb-tel button::before {
        width: 22px;
        height: 22px;
        vertical-align: top;
        background-color: var(--main-color);
        -webkit-mask: url(/img_v4/ico_phone_w.svg) center / 22px 22px no-repeat;
        mask: url(/img_v4/ico_phone_w.svg) center / 22px 22px no-repeat;
    }
    #sp-footerbar .btn-wrap li#fb-line a::before,
    #sp-footerbar .btn-wrap li#fb-line button::before {
        background-image: url(/img_v4/ico_line.svg);
        background-size: 22px 22px;
        background-repeat: no-repeat;
        width: 22px;
        height: 22px;
    }
    #sp-footerbar .btn-wrap li#fb-contact {
        background-color: var(--main-color);
    }
    #sp-footerbar .btn-wrap li#fb-contact a::before,
    #sp-footerbar .btn-wrap li#fb-contact button::before {
        background-image: url(/img_v4/ico_mail_w.svg);
        background-size: 22px 22px;
        background-repeat: no-repeat;
        width: 22px;
        height: 22px;
    }
    #sp-footerbar .btn-wrap li#fb-contact .txt {
        color: #fff;
    }
    #sp-footerbar .btn-wrap li#fb-menu img {
        width: 28px;
        border-radius: 50%;
        position: absolute;
        top: 19px;
        left: 50%;
        transform: translateY(-50%) translateX(-50%);
    }
    #sp-footerbar .btn-wrap li#fb-menu.active {
        background-color: #d7d7d7;
    }
    .fixed__overlay {
        height: 100vh;
        width: 100%;
        background: rgba(0,0,0,.5);
        position: fixed;
        top: 0;
        left: 0;
        z-index: 80;
        transition: all .2s;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        cursor: pointer;
    }
    .fixed__overlay.active {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }
    /*hd-menubtn クリック時*/
    #sp-footerbar.active {
        z-index: 0;
    }

    /* js-micromodal */
    #modal-1-content .tit {
        padding: 16px 16px 12px;
        text-align: center;
        line-height: 1.4;
        font-size: 12px;
    }
    #modal-1-content .tel {
        padding: 0 16px 18px;
    }
    #modal-1-content .tel a {
        text-align: center;
        display: flex;
        flex-direction: column;
        border: 1px solid #d5d5d5;
        padding: 10px;
        border-radius: 12px;
        position: relative;
    }
    #modal-1-content .tel a .arr-right {
        display: block;
        position: absolute;
        right: 6px;
        top: 42%;
    }
    #modal-1-content .tel a .tap {
        font-size: 10px;
        color: #666;
        background: #b5b5b5;
        display: inline-block;
        color: #fff;
        padding: 2px 8px;
        border-radius: 12px;
        width: fit-content;
        margin: 0 auto 4px;
    }
    #modal-1-content .tel a .num {
        font-size: 24px;
        font-family: "Plus Jakarta Sans", sans-serif;
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        color: #333;
        padding: 2px 0 5px;
    }
    #modal-1-content .tel a .num::before {
        content: "";
        display: inline-block;
        width: 22px;
        height: 22px;
        vertical-align: top;
        margin-right: 4px;
        background-color: var(--main-color);
        -webkit-mask: url(/img_v4/ico_phone_w.svg) center / 22px 22px no-repeat;
        mask: url(/img_v4/ico_phone_w.svg) center / 22px 22px no-repeat;
    }
    #modal-1-content .tel a .tel-memo {
        font-size: 11px;
        line-height: 1.3;
        margin: 8px 4px 0;
        text-align: left;
    }
    #modal-1-content .attention {
        font-size: 13px;
        color: #FF3333;
        line-height: 1.3;
        margin-bottom: 10px;
        font-weight: 700;
    }
    #modal-3-content .tit {
        padding: 16px 16px 0;
        text-align: center;
        line-height: 1.4;
        font-size: 12px;
    }
    #modal-3-content .pro-contact {
        padding: 0 16px 6px;
    }
    #modal-3-content .pro-contact li {
        margin: 16px 0;
    }
    #modal-3-content .pro-contact li a {
        height: 54px;
        background: #fff;
        border: 2px solid var(--main-color);
        border-radius: 35px;
        transition: .2s;
        color:#fff;
        font-size: 16px;
        font-weight: 700;
        text-align: left;
        display: flex;
        align-items: center;
        padding: 14px 5vw 14px 16vw;
        position: relative;
        letter-spacing: 0.016em;
    }
    #modal-3-content .pro-contact li a:before {
        content: "";
        display: inline-block;
        width: 25px;
        height: 25px;
        vertical-align: top;
        margin-right: 10px;
    }
    #modal-3-content .pro-contact li.mail a {
        background-color: var(--main-color);
    }
    #modal-3-content .pro-contact li.mail a:before {
        background-image: url(/img_v4/ico_mail_w.svg);
        background-size: 25px 25px;
        background-repeat: no-repeat;
    }
    #modal-3-content .pro-contact li.mail a:hover::before {
        background-image: url(/img_v4/ico_mail_w.svg);
        background-size: 25px 25px;
        background-repeat: no-repeat;
    }
    #modal-3-content .pro-contact li.line a:before {
        background-image: url(/img_v4/ico_line.svg);
        background-size: 25px 25px;
        background-repeat: no-repeat;
    }
    #modal-3-content .pro-contact li.doc a {
        height: 46px;
        border: 1px solid #BBB;
        color: #666;
    }
    #modal-3-content .pro-contact li.doc a:hover {
        background: #f3f3f3;
        color: #222;
    }
    #modal-3-content .pro-contact li.doc a:before {
        background-image: url(/img_v4/ico_mail.svg);
        background-size: 25px 25px;
        background-repeat: no-repeat;
    }

    /* sns */
    .hd-btm-flex .sns-wrap {
        margin-left: auto;
    }

    /**---- profile ----**/
    .profile-header-inner {
        padding: 0;
    }
    .profile-header .pro-profile-views-inner {
        flex-direction: column;
        gap: 15px;
    }
    .profile-header .pro-profile-views .pro-img {
        width: 100%;
        text-align: center;
        overflow: hidden;
        padding: 20px 20px 15px;
    }
    .profile-header .pro-profile-views .pro-img::before {
        background-color: #493933b5;
        /*background-color: #4b4b4bb5;*/
        /*background-color: #878787b5;*/
        bottom: 0;
        content: '';
        height: auto;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 100%;
        z-index: 1;
    }
    .profile-header .pro-profile-views .pro-img .bg-img {
        width: 100%;
        height: auto;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        filter: blur(3px);
        display: block;
    }
    .profile-header .pro-profile-views .pro-img img,
    .profile-header .pro-profile-views .pro-img .band {
        width: 200px;
        z-index: 1;
        position: relative;
    }
    .profile-header .pro-profile-views .pro-img .belt {
        z-index: 1;
        position: relative;
    }
    .profile-header .pro-profile-views .pro-img .bg-img img {
        width: 100%;
    }
    .profile-header .pro-profile-views .pro-info-body {
        padding: 0 20px;
        width: 100%;
    }
    .profile-header .pro-profile-views .pro-info-body .menber {
        font-size: 10px;
    }
    .profile-header .pro-profile-views .pro-info-body .name {
        font-size: 24px;
    }
    .profile-header .pro-profile-views .pro-info-body .pro-title {
        font-size: 12px;
    }
    .profile-header .pro-profile-views .pro-info-body .pro-affiliation {
        font-size: 11px;
    }
    .profile-header .pro-profile-views .pro-info-body .pro-personal-movie {
        margin-top: 8px;
        padding: 0 4px;
        margin-bottom: 0px;
    }
    .pro-personal-movie button {
        grid-template-columns: 12px auto;
        border-radius: 2.5px;
        padding: 5px 3px 4px 6px;
    }
    .profile-header .comttxt {
        font-size: 10px;
        padding: 14px 20px;
    }
    /* js-micromodal */
    .modal-container.sns {
        max-width: 560px;
        min-width: auto;
        margin: 12px 20px;
    }

    .frame_pro_contents .pro-appeal-sec {
        margin-bottom: 30px;
        padding: 0 18px 30px;
        border-bottom: 10px solid #f3f2f1;
    }
    .frame_pro_contents .pro-appeal-sec .appeal-txt {
        font-size: 14px;
    }
    .frame_pro_contents .pro-profile-blk {
        padding: 30px 18px;
    }
    .frame_pro_contents .pro-profile-blk h2 {
        font-size: 18px;
    }
    .frame_pro_contents .pro-profile-blk .txt-body {
        font-size: 13px;
    }
    .frame_pro_contents .pro-profile-blk.sec04 dl {
        width: calc(100% + 20px);
        margin-left: -10px;
        margin-right: -10px;
    }
    .frame_pro_contents .pro-profile-blk.sec04 dt {
        padding: 13px 0 13px 12px;
    }
    .frame_pro_contents .pro-profile-blk.sec04 dd {
        padding: 13px 12px 13px 10px;
    }
    .frame_pro_contents .sec-interview .bn-main .logo-wrap {
        flex-direction: column;
        align-items: center;
    }
    .frame_pro_contents .sec-interview .bn-main .logo-wrap .area-logo {
        margin: 8px 12px 4px;
    }
    .frame_pro_contents .sec-interview .bn-main .logo-wrap .area-logo img {
        max-width: 146px;
    }
    .frame_pro_contents .sec-interview .bn-main .logo-wrap .op-logo img {
        height: 30px;
    }
    .frame_pro_contents .sec-interview .txt {
        font-size: 15px;
        padding-right: 22px;
    }
    .frame_pro_contents .sec-interview .txt::after {
        right: 10px;
        width: 8px;
        height: 8px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
        transform: rotate(45deg);
    }


    /**---- columnList ----**/
    .pro_list_header h1,
    .pro_list_header .page-title {
        font-size: 25px;
    }
    .post-auther-sec.view-top {
        display: block;
    }
    .post-auther-sec.view-top .auther-profile {
        margin: 0;
        border-radius: 0;
        background: #f3f2f1;
        padding-bottom: 22px;
    }
    .post-auther-sec.view-top .auther-profile .txt-link a {
        color: #888;
        font-size: 10px;
        border: 1px solid #c5c3c3;
        padding: 3px 8px;
        border-radius: 50px;
    }
    
    .frame_pro_contents.columnList {
        padding-top: 0;
    }
    .frame_pro_contents.columnList .pro_entries_wrap {
        padding-top: 5px;
        overflow: hidden;
    }
    .columnList .pro_entries_wrap .theme-title {
        margin: 8px 10px 0;
        font-size: 15px;
    }
    .pro_entries_wrap {
        margin-bottom: 15px;
    }
    .columnList .pro_entries_list {
        border: 1px solid #e5e5e5;
        margin-bottom: 0;
        background: #fff;
        margin: 14px 10px;
        border-radius: 6px;
    }
    .pro_entries_list .pro_column_footer {
        padding: 0 12px 12px;
    }
    .pro_entries_list .pro_column_footer .post-auther img {
        width: 24px;
    }
    .pro_entries_list .pro_column_footer .post-date .post-theme {
        font-size: 10px;
    }
    .pro_entries_list .pro_column_body {
        padding: 0 12px;
        gap: 10px;
    }
    .pro_entries_list .pro_column_body .post-title {
        font-size: 17px;
        margin-bottom: 15px;
        min-height: 50px;
    }
    .pro_entries_list .pro_column_body .post-txt {
        margin-bottom: 10px;
        overflow: hidden;
        display: -webkit-box;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 11px;
    }
    .pro_entries_list .pro_column_body .column-images {
        width: 60px;
        height: 60px;
    }

    .pro_entries_list .pro_column_images {
        height: 100px;
    }
    .pro_column_images::before {
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
    }
    .pro_entries_list .pro_column_images img {
        max-height: 100px;
        border-top-left-radius: 6px;
        border-top-right-radius: 6px;
    }
    .pro_entries_list .pro_column_footer {
        padding: 10px 12px 12px;
    }

    /**---- mp-ie ----**/
    .mp-ie {
        padding: 20px 16px;
    }
    .mp-ie .page_one {
        flex-wrap: nowrap;
        align-items: center;
    }
    .mp-ie .page_one div {
        margin: 0;
    }
    .mp-ie .page_one div a,
    .mp-ie .page_one div span {
        width: 30px;
        height: 30px;
        line-height: 30px;
        border: 0;
    }
    .mp-ie .page_one div.ten {
        line-height: 30px;
    }
    .mp-ie .page_one .prev_p,
    .mp-ie .page_one .next_p {
        width: auto;
        margin: 0;
    }
    .mp-ie .page_one .current_p span {
        border: 0;
    }
    .mp-ie .page_one div.next_p a,
    .mp-ie .page_one div.prev_p a {
        position: relative;
        width: auto;
        border: 1px solid #e3e3e3;
        width: 24px;
    }
    .mp-ie .page_one div.next_p a:after {
        content: '';
        position: absolute;
        right: 41%;
        top: 50%;
        width: 8px;
        height: 8px;
        border-top: 2px solid #c3c3c3;
        border-right: 2px solid #c3c3c3;
        transform: translate(0, -50%) rotate(45deg);
    }
    .mp-ie .page_one div.prev_p a:after {
        content: '';
        position: absolute;
        left: 41%;
        top: 50%;
        width: 8px;
        height: 8px;
        border-top: 2px solid #c3c3c3;
        border-right: 2px solid #c3c3c3;
        transform: translate(0, -50%) rotate(-135deg);
    }
    /**---- pager ----**/
    .pager-wrap-bottom {
        margin: 15px 0 100px;
        position: relative;
    }
    .pager_btn {
        top: 45px;
    }
    .pager-lst {
        padding: 0;
    }
    .pager-lst .current_p {
        background: none;
        color:unset;
        font-weight: 700;
    }
    .pager-lst div {
        font-size: 14px;
        width: 30px;
        height: 30px;
    }
    .pager_btn.next {
        right: 10px;
    }
    .pager_btn.prev {
        left: 10px;
    }
    .pager_btn .next_p a,
    .pager_btn .prev_p a {
        font-size: 13px;
    }

    /**---- column ----**/
    .frame_pro_contents .bodytext p img {
        margin: 25px 0;
    }
    .frame_pro_contents .bodytext .v-wrap {
        margin: 25px 0;
    }
    .frame_pro_contents .bodytext h2 {
        margin: 60px 0 0 0;
        font-size: 20px;
        line-height: 1.5;
        padding-left: 10px;
        border-left-width: 5px;
    }   
    .frame_pro_contents .bodytext h3 {
        margin: 40px 0 0 0;
        font-size: 18px;
        line-height: 1.6;
    }
    .frame_pro_contents .bodytext h4,
    .frame_pro_contents .bodytext h5,
    .frame_pro_contents .bodytext h6 {
        margin: 35px 0 0 0;
        font-size: 17px;
    }
    .frame_pro_contents .bodytext p {
        margin-top: 25px;
        margin-bottom: 25px;
        line-height: 1.8;
        font-size: 15px;
    }
    .frame_pro_contents .bodytext ul,
    .frame_pro_contents .bodytext ol {
        margin-top: 25px;
        margin-bottom: 25px;
    }
    .frame_pro_contents .bodytext li {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .frame_pro_contents .bodytext blockquote {
        font-size: 13px;
        padding: 25px;
        margin: 25px 0;
    }
    .frame_pro_contents .bodytext blockquote::before,
    .frame_pro_contents .bodytext blockquote::after {
        width: 24px;
        height: 24px;
    }
    .frame_pro_contents .bodytext blockquote p,
    .frame_pro_contents .bodytext blockquote li {
        font-size: 13px;
    }
    .frame_pro_contents .bodytext .common_box_list {
        font-size: 13px;
        margin: 25px 0;
        padding: 15px;
    }
    .frame_pro_contents .bodytext .common_box_list .common_box_list__title {
        font-size: 13px;
    }
    .frame_pro_contents .bodytext .common_box_list .common_box_list__item {
        font-size: 13px;
    }
    .frame_pro_contents .bodytext .common_box {
        font-size: 13px;
        margin: 25px 0;
        padding: 15px;
    }
    .frame_pro_contents .bodytext .common_box p {
        font-size: 13px;
    }
    .frame_pro_contents .bodytext .common_box li {
        font-size: 13px;
    }
    .frame_pro_contents .bodytext table {
        margin-top: 25px;
        margin-bottom: 25px;
    }
    .frame_pro_contents .bodytext table th,
    .frame_pro_contents .bodytext table td {
        font-size: 13px;
        font-weight: normal;
    }
    .column-footer {
        margin-top: 35px;
        padding-top: 10px;
    }
    .frame_pro_contents .column-footer h2,
    .frame_pro_contents .column-footer h3,
    .frame_pro_contents .column-footer h4,
    .frame_pro_contents .column-footer h5,
    .frame_pro_contents .column-footer h6 {
        margin: 10px 0;
        font-size: 15px;
        line-height: 1.5;
    }
    .frame_pro_contents .column-footer p {
        font-size: 13px;
        line-height: 1.5;
        margin: 10px 0;
    }
    .column-direct p {
        font-size: 11px;
        margin-bottom: 12px;
    }
    .column-direct a {
        width: 100%;
        max-width: 300px;
        font-size: 15px;
    }
    .frame_pro_contents .post-theme-wrap li a {
        font-size: 12px;
    }
    .frame_pro_contents.column .hd-btm-flex .hd-info-wrap {
        width: calc(100% - 130px);
    }
    .post-auther-sec .auther-profile {
        padding: 17px;
        margin-top: 20px;
    }
    .auther-profile .pro-profile {
        gap: 13px;
    }
    .auther-profile .pro-profile .thumbnail {
        width: 56px;
        height: 56px;
    }
    .auther-profile .pro-profile .band {
        width: 56px;
        font-size: 11px;
    }
    .auther-profile .pro-profile .name {
        font-size: 15px;
    }
    .auther-profile .pro-profile .title,
    .auther-profile .pro-profile .affiliation {
        font-size: 10px;
    }
    .auther-profile .pro-profile .txt {
        font-size: 12px;
    }

    /* post-recommend */
    .frame_pro_contents .post-recommend {
        padding: 30px 18px 0;
        margin: 30px 0 0;
    }
    .frame_pro_contents .post-recommend li {
        font-size: 14px;
    }
    /* post-picup */
    .frame_pro_contents .post-picup {
        padding: 30px 18px 0;
        margin: 5px 0 0;
    }
    .frame_pro_contents .post-picup li {
        margin: 0 16px 20px 0;
    }
    .frame_pro_contents .post-picup .article-text {
        padding: 10px;
    }
    .frame_pro_contents .post-picup .article-text .section-title {
        font-size: 13px;
    }
    .frame_pro_contents .post-picup li:nth-child(1) .article-text {
        padding: 15px;
    }
    .frame_pro_contents .post-picup li:nth-child(1) .article-text .section-title {
        font-size: 16px;
    }
    /* post-theme */
    .frame_pro_contents .post-theme-wrap {
        padding: 30px 18px 0;
    }
    .frame_pro_contents .post-theme-wrap .list-btn a {
        font-size: 13px;
    }
    /* post-back */
    .post-back-wrap {
        margin: 25px 0;
    }
    .post-back-wrap a {
        padding: 14px 13px;
        font-size: 13px;
    }

    /* pro-interview-wrap */
    .pro-interview-wrap {
        padding: 30px 12px;
        background: #f3f2f1;
    }
    .pro-interview-wrap a {
        border: 0;
        border-radius: 12px;
        overflow: hidden;
        box-shadow: 1.8rem 1.8rem 3rem 0 rgba(0,0,0,0.1);
    }
    .pro-interview-wrap .bn-main .logo-wrap .op-logo img {
        height: 30px;
    }
    .pro-interview-wrap .pro-imagecut {
        transform: scale(1);
    }
    .pro-interview-wrap .btmtxt {
        text-align: left;
        border: 0;
        padding: 7px 10px 0;
        background: none;
    }
    /* pro-movie-wrap */
    .pro-movie-wrap {
        margin-top: 16px;
        padding: 26px 12px 26px;
        background: #f3f2f1;
        flex-direction: column-reverse;
        gap: 0;
    }
    .pro-movie-wrap button {
        border: 0;
        border-radius: 12px;
        box-shadow: 1.8rem 1.8rem 3rem 0 rgba(0, 0, 0, 0.1);
    }
    .pro-movie-wrap .btmtxt {
        font-size: 15px;
        padding: 7px 10px 0;
    }
    .pro-movie-wrap .btmtxt:before {
        display: none;
    }
    /* pro-manu-wrap */
    .pro-manu-wrap {
        display: block;
        padding: 15px 18px 0;
    }
    .pro-manu-wrap li a {
        background: #f7f6f4;
        border-radius: 50px;
        margin-bottom: 6px;
        font-size: 13px;
    }
    /* pro-direct-wrap */
    .pro-direct-wrap {
        display: block;
        padding: 30px 12px;
        background: url(/img_v4/bg_direct-wrap.png?p2) center center no-repeat;
        background-size: contain;
        margin-top: 30px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        aspect-ratio: 16 / 9;
        width: 100%;
    }
    .pro-direct-wrap a {
        display: block;
        text-align: center;
    }
    .pro-direct-wrap .bn-main {
        text-align: left;
    }
    .pro-direct-wrap .bn-main .text-wrap p {
        font-weight: 700;
        font-size: 20px;
        line-height: 1.4;
    }
    .pro-direct-wrap .txt {
        font-size: 15px;
        margin-top: 30px;
        display: inline-block;
        padding: 15px;
        border-radius: 6px;
        background: #00BCD4;
        background-image: linear-gradient(to right, #25aae1, #30dd8a);
        color: #fff;
        box-shadow: 0px 2px 3px rgb(0 0 0 / 20%);
    }
    /**---- seminarList ----**/
    .frame_pro_contents.seminarList {
        padding-top: 15px;
    }
    .frame_pro_contents.seminarList .pro_card_wrap {
        gap: 15px;
        margin-bottom: 30px;
    }
    .frame_pro_contents.seminarList .pro_card_list {
        width: 100%;
    }
    .frame_pro_contents.seminarList .pro_card_list .post-body {
        padding: 8px 12px 10px;
    }
    .frame_pro_contents.seminarList .pro_card_list .post-body .post-title {
        min-height: none;
        margin: 0;
    }

    /**---- seminar ----**/
    .frame_pro_contents.seminar .post-period-wrap {
        margin-bottom: 10px;
    }
    .frame_pro_contents.seminar .post-period {
        font-size: 14px;
    }
    .seminar_detail_img img {
        max-height: 230px;
    }
    /**---- galleryList ----**/
    .frame_pro_contents.galleryList {
        padding-top: 16px;
    }
    .frame_pro_contents.galleryList .pro_card_wrap {
        gap: 16px 10px;
        margin-bottom: 30px;
    }
    .frame_pro_contents.galleryList .pro_card_list {
        width: calc((100% - 10px) / 2);
    }
    .frame_pro_contents.galleryList .pro_card_list .album-tit {
        font-size: 14px;
    }
    .frame_pro_contents.galleryList .pro_card_list .num {
        font-size: 12px;
    }
    /**---- gallery ----**/
    .main-wrap.gallery .swiper_main .swiper-slide {
        border-radius: 0;
    }
    .main-wrap.gallery .swiper_main .swiper-slide img {
        border-radius: 0;
    }
    .main-wrap.gallery .main-sidenavi-album {
        position: sticky;
        top: 0;
    }
    .main-wrap.gallery .footer .copy {
        font-size: 12px;
    }

    /**---- voiceList ----**/
    .frame_pro_contents.voiceList {
        padding-top: 0;
    }
    .voiceList .voice-lead {
        margin-bottom: 15px;
        font-size: 12px;
        padding: 20px 18px 0;
    }
    .voiceList .tab-Container ul {
        gap: 8px;
        flex-wrap: nowrap;
        padding: 16px 18px 10px;
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
        overflow: auto;
        white-space: nowrap;
        margin-right: calc(50% - 50vw);
        margin-bottom: 0;
    }
    .voiceList .tab-Container ul::-webkit-scrollbar {
        display: none;
    }
    .voiceList .tab-Container li.tab__button {
        min-width: auto;
    }
    .voiceList .tab-Container li.tab__tit {
        font-size: 11px;
    }
    .voiceList .tab-Container li.tab__tit span {
        font-size: 15px;
    }
    .voiceList .tab-Container li.active a {
        font-size: 11px;
    }
    .voiceList .review_balloon {
        padding: 24px 18px 0;
    }
    .review_balloon_comment_body p {
        font-size: 15px;
        line-height: 1.6;
    }
    .review_balloon_comment_body .more-link-after a {
        font-size: 15px;
    }
    .voice-att-txt {
        padding-left: 16px;
        padding-right: 16px;
        font-size: 11px;
    }

    /**---- freeList ----**/
    .frame_pro_contents.freeList {
        padding-top: 0;
    }
    .frame_pro_contents.freeList .pro_entries_list {
        border:none;
        border-radius: 0;
        margin-bottom: 0;
        padding: 20px 18px 15px;
        border-bottom: 1px solid #e3e3e3;
    }
    .frame_pro_contents.freeList .pro_entries_list .post-title {
        font-size: 17px;
        line-height: 1.3;
        margin-bottom: 14px;
    }
    .frame_pro_contents.freeList .pro_entries_list .post-txt {
        line-height: 1.4;
        margin-bottom: 0;
        overflow: hidden;
        display: -webkit-box;
        text-overflow: ellipsis;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        max-height: 50px;
        padding-top: 4px;
    }
    .frame_pro_contents.freeList .pro_entries_list .pro_free_images img {
        width: 100px;
    }
    .free_detail_img img {
        max-height: 230px;
    }
    
    /* page-nav */
    .cont-nav {
        margin-top: 30px;
        min-height: 80px;
    }
    .cont-nav .page-nav-wrap.next {
        padding: 0 20px 0 26px;
    }
    .cont-nav .page-nav-wrap.prev {
        padding: 0 20px 0 26px;
    }
    .cont-nav .page-nav-wrap a {
        padding: 13px 0 16px;
    }
    .cont-nav .page-nav-wrap span {
        font-size: 12px;
    }
    .page-nav-prev,
    .page-nav-next {
        font-size: 12px;
    }

    /* inquiry */
    .error-message-header {
        line-height: 1.3;
        padding: 15px;
        font-size: 14px;

    }


}