/*==========================================================================*/
/*                     H O V E R    &    P C    O N L Y                     */
/*==========================================================================*/
@media screen and (min-width: 751px) {
    .under main .txt_arrow p {
        width: 350px;
        min-width: 350px;
    }
    #lightboxOverlay, #lightbox {
        min-width: 1260px !important;
        width: 100% !important;
    }
    .under main .image_l {
        float: left;
        margin: 0 50px 0 0;
    }
    .under main .image_r {
        float: right;
        margin: 0 0 0 50px;
    }
    /* BUTTON OVN DETAIL */
    .under main .btn_list {
        display: flex;
        justify-content: center;
        position: relative;
    }
    .under main .btn_list .is_prev {
        position: absolute;
        top: 0;
        left: 150px;
    }
    .under main .btn_list .is_next {
        position: absolute;
        top: 0;
        right: 150px;
    }
    .under main .inner {
        width: 1240px;
    }
    .under main .tb_block.column2 tr:not(:last-child) th {
        border-right: 1px solid #fff;
    }
    .under main .list_anchor .btn a.active:hover {
        opacity: 1;
    }
    /* HOVER */
    .under main #topic_path li a:hover {
        text-decoration: underline;
    }
    .under main .bnn a:hover {
        opacity: 0.7;
    }
    .under main .link:not(a[target=_blank]):hover {
        color: var(--scolor);
    }
    .under main .cnt p a:hover {
        opacity: 0.8;
        text-decoration: none;
    }
    .under main .cnt p a[target=_blank]:hover {
        opacity: 1;
        text-decoration: underline;
    }
    .under main .toc-002 > div:hover {
        opacity: 0.8;
    }
    .under main .toc-002 a:hover {
        color: var(--mcolor);
    }
    .under main .toc-002 > div:hover + .toc-button {
        opacity: 0.8;
    }
    .under main .list_img.col4 .item a:hover {
        opacity: .7;
    }
    .under main .list_link a:hover .txt {
        color: var(--mcolor);
        font-weight: 600;
    }
    .under main .staff_anc .item:hover {
        opacity: 0.8;
    }
    .under main .shop_staff .item {
        cursor: pointer;
    }
    .under main .shop_staff .item:hover .img {
        opacity: 0.8;
    }
    .under main .shop_staff .item:hover .item_ttl {
        opacity: 0.8;
    }
    .under main .link_normal:hover {
        color: var(--mcolor);
        text-decoration: none;
    }
    .under main .uTable_block.custom_wth th {
        width: 32%;
        padding: 15px;
    }
    .under main .uTable_block.custom_wth th.w40{width: 40%;}
    .under main .box_col3_empty {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 30px;
    }
    .under main .box_col3_empty section:nth-child(3) {
        grid-column: span 2 / span 2;
    }
    .under main .box_col3_empty section h4 {
        text-align: left;
        padding-left: 0;
    }
    .under main .box_col3_empty section {
        display: flex;
        align-items: flex-start;
        align-items: center;
        gap: 30px;
        padding: 20px;
    }
    .under main .box_col3_empty section .img {
        width: 150px;
        height: auto;
        margin-bottom: 0;
    }
    .under main .box_col3_empty section:nth-child(1) .img {
        width: 240px;
    }
    .under main .box_col3_empty section:nth-child(2) .img {
        width: 120px;
    }
    .under main .box_col3_empty section:nth-child(3) .img {
        width: 120px;
    }
    #empty.under main .uTable_block.custom_wth .tb_block th {
        width: 27%;
    }
    .under main p.mb30 {
        margin-bottom: 30px;
    }
    .under main .list01_custom {
        margin-left: 100px;
    }
    .under main .list01_custom li {
        font-size: 19px;
    }
    .under main .list01_custom li img {
        position: relative;
        left: -90px;
    }

    .under main .sec01 .sec01_tab .btn span {
        background-color: var(--mcolor);
        color: #fff;
    }

    .under main .sec01 .sec01_tab .btn:hover span {
        background-color: var(--scolor);
        color: var(--mcolor);
    }
    .under main .contact_cta{display: grid;grid-template-columns: repeat(2,1fr);max-width: 1000px;margin: 0 auto;gap: 10px;}
    .under main .uFlex.uFlex_contact{--width-img: 332px;}
    .under main .uFlex.uFlex_contact .img {width: calc(var(--width-img) + 60px);}
    .under main .colflex{display: flex;justify-content: space-between;align-items: center;}
    .under main .colflex .img{flex-shrink: 0;margin-left: 20px;order: 3;}
}
/* END screen-min:751px */
/* END screen-min:751px && screen-max:1500px */
/*==========================================================================*/
/*                        M O B I L E    D E V I C E                        */
/*==========================================================================*/
@media screen and (max-width: 750px) {
    .under main .cnt_flex ul.list01 {
        margin: 0 0 20px 0;
    }
    .under main .cnt_flex {
        flex-direction: column;
    }
    .under main .txt_arrow {
        margin: 0px 0 0 0;
        padding: 40px 0 0 0;
    }
    .under main .txt_arrow::before {
        clip-path: polygon(0 0, 50% 100%, 100% 0);
        top: 0;
        left: calc((100% - 40px)/2);
        width: 40px;
        height: 25px;
    }
    .under main .fs2px {
        font-size: 16px;
    }
    .under main #content {
        padding: 0 0 80px;
    }
    .under main section {
        padding: 0 0 50px;
    }
    .under main .image_r, .under main .image_l {
        float: none;
        display: inline-block;
        width: 100%;
        text-align: center;
        margin: 0 auto 30px !important;
    }
    /*==========================================================              C U S T O M
  ==========================================================*/
    /*  TOP INFO  */
    .under main #topic_path {
        margin-bottom: 15px;
    }
    .under main #topic_path li, .under main #topic_path li a {
        font-size: 14px;
    }
    /*============ HEAD TITLE ============ */
    .under main h2 {
        font-size: 1.4rem;
    }
    .under main h3 {
        font-size: 1.225rem;
    }
    .under main .uh3 {
        font-size: 1.225rem;
    }
    .under main h4:not([class]) {
        font-size: 1.05rem;
    }
    .under main h5 {
        font-size: 1.1375rem;
    }
    .under main h6 {
        font-size: 18px;
    }
    /*============ TABLE ============ */
    .under main table {
        margin-bottom: 30px;
    }
    .under main table th {
        line-height: 1.5em;
    }
    .under main table td, .under main table th {
        padding: 15px 10px;
    }
    .under main table.tb_block tr {
        display: flex;
        flex-direction: column;
    }
    .under main table.tb_block tr:not(:last-child) th {
        border-bottom: none;
    }
    .under main table.tb_block td + td {
        border-top: none;
    }
    .under main table.tb_block th, .under main table.tb_block td {
        width: 100%;
        line-height: 1.8em;
    }
    .under main table.tb_block td p {
        font-size: 100%;
    }

    /*============ LIST ============ */
    /* LIST FAQ */
    .under main .list_faq dl {
        margin-bottom: 30px;
        padding: 15px;
    }
    .under main .list_faq dt span {
        top: 3px;
    }
    .under main .list_faq dt {
        font-size: 16px;
        min-height: 50px;
        padding-bottom: 3px;
    }
    /* List STEP */
    .under main .list_step dl {
        margin-bottom: 20px;
        padding-bottom: 40px;
    }
    /*============ FRAME ============ */
    .under main .frame01 {
        padding: 30px 10px;
    }
    .under main .frame02 {
        padding: 30px 10px;
    }
    .under main .frame_pick {
        padding: 30px 10px;
    }
    /*============ ORTHER ============ */
    .under main .box_map {
        height: 250px;
    }
    /*============ KIJIKAKU ============ */
    .under main .kiji_detail_ct img {
        max-width: 100%;
        max-height: 300px;
    }
    .under main p, .under main td {
        font-size: 140%;
    }
    .under main .u_editor div {
        font-size: 14px;
    }
    .under main .u_editor div p {
        font-size: 100%;
    }
    .under main .frame02.have_img {
        display: flex;
        flex-direction: column;
    }
    .under main .frame02.have_img > * {
        order: 2;
    }
    .under main .frame02.have_img h4, .under main .frame02.have_img h5, .under main .frame02.have_img h6 {
        order: 1;
    }
    .under main .col2 {
        grid-template-columns: repeat(1, 1fr);
        gap: 30px;
    }
    .under main .col3 {
        grid-template-columns: repeat(1, 1fr);
    }
    .under main .toc-002 > ol {
        padding-left: 1em;
    }
    .under main .title_page .ttl {
        font-size: 28px;
    }
    .under main .uFlex {
        padding: 0;
    }
    .under main .uFlex .img {
        position: static;
        margin-left: auto;
        margin-right: auto;
        max-width: 100%;
        margin-bottom: 15px;
    }
    .under main .uFlex > *:last-child {
        margin-bottom: 0;
    }
    .under main .uPoint {
        --space-left: 95px;
    }
    .under main .uPoint .item .ttl {
        font-size: 20px;
        line-height: 1.5em;
        margin-bottom: 10px;
        padding-bottom: 10px;
    }
    .under main .uPoint .item .ttl > span {
        font-size: 12px;
        padding: 6px 5px 5px;
        justify-content: center;
        align-items: center;
        height: 30px;
        margin-right: 20px;
        width: 70px;
        margin-bottom: 10px;
    }
    .under main .uPoint .item .ttl > span .num {
        top: 0;
    }
    .under main .uPoint .item::before, .under main .uPoint .item::after {
        top: 15px;
    }
    .under main .uPoint .item .ttl > span::before {
        border-width: 8px 0 8px 10px;
    }
    .under main .uPoint .item .ttl > span .num::before {
        font-size: 16px;
    }
    .under main .uPoint.only_title .item:not(:last-child) {
        padding-top: 0;
    }
    .under main .uPoint.only_title .item::before, .under main .uPoint.only_title .item::after {
        top: 15px;
    }
    .under main .frame03 {
        padding: 15px;
    }
    .under main .frame03_ct {
        padding: 15px;
    }
    .under main .frame03_ct .big_ttl {
        font-size: 18px !important;
        padding: 10px 15px;
        margin-bottom: 15px;
    }
    .under main .frame03_ct .cnt p {
        font-size: 14px;
    }
    .under main .frame03 h4 {
        padding: 15px;
    }
    .under main .under_col_list dl {
        width: calc((100% - 20px) / 2);
        padding: 10px;
    }
    .under main .under_col_list dd {
        font-size: min(2.8vw, 16px);
        letter-spacing: -0.05em;
        line-height: 1.8em;
    }
    .under main .under_col_list dl:before {
        width: 70px;
        height: 60px;
        font-size: 24px;
        padding: 0 0 0 13px;
    }
    .under main .ttl_big {
        font-size: 18px;
    }
    .under main .circle_img .item_ttl {
        font-size: 20px !important;
    }
    .under main .col3.circle_img .item_ttl {
        font-size: 18px !important;
    }
    .under main .circle_img.shop_staff {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
    .under main .circle_img.shop_staff .desc p {
        font-size: 14px;
    }
    .under main .balloon_frame {
        gap: 30px;
    }
    .under main .balloon_frame:first-child {
        margin-top: 38px;
    }
    .under main .balloon_frame .mes {
        padding: 20px 15px;
        border-radius: 30px;
    }
    .under main .balloon_frame .mes::before {
        width: 28px;
        height: 28px;
        transform: rotate(-44deg);
        right: calc(100% - 13px);
    }
    .under main .balloon_frame .img {
        width: 29%;
        max-width: 200px;
    }
    .under main .balloon_frame .desc p {
        font-size: 14px;
    }
    .under main .balloon_frame_wrap .mes::before {
        left: calc(100% - 13px);
    }
    .under main .balloon_frame .box {
        margin-top: -38px;
        margin-bottom: 10px;
        line-height: 1.5em;
        padding: 5px 6px;
        font-size: 14px;
    }
    .under main .list-river img {
        width: 150px;
    }
    .under main .tb_note {
        margin-bottom: 10px !important;
    }
    .under main .udr_post {
        gap: 20px;
        padding-right: 5px;
    }
    .under main .udr_post dl {
        width: calc(50% - 10px);
        padding: 10px;
    }
    .under main .udr_post dl img {
        max-height: 23.64vw;
    }
    .under main .udr_post .tt {
        font-size: 14px;
    }
    .under main .title_page .en {
        font-size: 2.3125rem;
    }
    .under main #top_info {
        min-height: 35.94vw;
        margin-bottom: 10px;
    }
    .under main #topic_path ul {
        padding: 0;
    }
    .under main .col3.circle_img img {
        width: 240px;
    }
    .under main h2 {
        padding-top: 76px;
    }
    .under main h2::before {
        width: 68px;
        height: 77px;
    }
    .under main .tb_block h4 {
        margin-bottom: 0;
    }
    .under main .uPoint .item p.ttl > span {
        top: 0;
    }
    .under main .tb_block.column2 tbody {
        flex-direction: column;
    }
    .under main .tb_block.column2 tr {
        width: 100%;
    }
    .under main .tb_block.column2 tr h4 {
        font-size: 16px;
    }
    .under main .btn_ovn {
        flex-direction: column;
        gap: 15px;
    }
    .under main .youtube iframe {
        width: 100%;
        height: 300px;
    }
    .under main .under_col_list {
        gap: 10px;
    }
    .under main .under_col_list dl {
        width: calc((100% / 2) - 5px);
        padding: 10px;
    }
    .under main .under_col_list dd {
        font-size: 14px;
    }
    .under main .under_col_list dd strong {
        font-size: 16px;
    }
    .under main .toc-button {
        top: 5px;
    }
    .under main .list01 li {
        font-size: 14px;
    }
    .under main .uFlex {
        margin-bottom: 30px;
    }
    .under main .d_flex {
        gap: 20px;
    }
    .under main .d_flex.col3 {
        flex-direction: column;
        gap: 0;
    }
    .under main .cnt p + section {
        margin-top: 30px;
    }
    .under main section section {
        padding-bottom: 40px;
    }
    .under main .list_img.col4 {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px 10px;
    }
    .under main .list_anchor {
        gap: 6px;
        flex-wrap: nowrap;
    }
    .under main .list_anchor .btn {
        width: calc((100% / 3) - 3px);
        margin: 0;
    }
    .under main .list_anchor .btn a {
        width: 100%;
        font-size: 14px;
    }
    .under main .frame_bnn {
        margin-top: 50px;
    }
    .under main .list_link {
        flex-direction: column;
        gap: 15px;
    }
    .under main .list_link_frame ul {
        gap: 15px;
    }
    .under main .list_link a .img {
        width: 100px;
    }
    .under main .list_link a .txt {
        font-size: 14px;
    }
    .under main .staff_anc {
        max-width: 600px;
        gap: 10px;
        margin: 0 auto 50px;
    }
    .under main .staff_anc .item {
        width: calc((100% / 3) - 10px);
    }
    .under main .staff_anc .item .img img {
        width: 120px;
    }
    .under main .image_c_bnr {
        width: 100%;
    }
    .under main .image_c_bnr a {
        width: 220px;
        left: calc(50% - 50px);
    }
    .under main .image_c_bnr img {
        width: 350px;
    }
    .under main .case_box_table {
        width: 100%;
        max-height: 956px;
    }
    .under main .box_col3 {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
    }
    .under main .contact_btn .h_contact_tel a {
        font-size: 34px;
        text-align: center;
    }
    .under main .contact_btn .h_contact_tel a span {
        background: url(../images/ic_tel_clr.png) left top 5px / 40px 26px no-repeat;
        padding-left: 40px;
    }
    .under main .contact_btn .h_contact_tel .time {
        font-size: 14px;
    }
    .custom_tel .time::before, .h_box .h_contact_tel .time::before {
        letter-spacing: 0;
        font-size: 14px;
    }
    .under main .contact_btn .h_contact_line a {
        width: 280px;
        height: 60px;
        max-width: 68vw;
        font-size: 18px;

    }
    .under main .contact_btn {
        gap: 20px;
    }
    .under main .frame02.uFlex {
        padding: 15px;
    }
    .under main .list_img.col4 .item p {
        font-size: min(3.44vw, 14px);
    }
    .under main .frame02.have_bg {
        background: url(../images/sell_img13.jpg) center bottom no-repeat;
        background-size: cover;
        min-height: 180px;
        display: flex;
        align-items: center;
    }
    .under main h2 > span {
        padding: 0 20px;
    }
    .under main h2 > span::before {
        width: 67px;
        height: 74px;
        left: -10px;
        top: -61px;
        bottom: unset;
    }
    .under main h2 > span::after {
        width: 80px;
        height: 44px;
        right: -15px;
        top: -33px;
        bottom: unset;
    }
    .under main .have_decore .sell_dc {
        top: -40px;
    }
    .under main .sell_dc img {
        width: 80px;
    }
    .under main .under_col_list dt {
        width: 150px;
    }
    .under main .uPoint.have_dc {
        padding-bottom: 0;
        padding-right: 0;
        margin-bottom: 70px;
    }
    .under main .uPoint.have_dc::after {
        bottom: -60px;
        width: 65px;
        height: 62px;
    }
    .under main .box_col3 {
        gap: 30px;
    }
    .under main .box_col3 section {
        padding: 20px;
    }
    .under main .box_col3 section .img {
        width: 100px;
        height: auto;
        margin: 0 auto 20px;
    }
    .under main .box_col3 section:nth-child(2) .img {
        width: 80px;
    }
    .under main .box_col3 section:nth-child(2) .img {
        width: 90px;
    }
    .under main .col3.circle_img h5 {
        font-size: 18px;
        gap: 30px;
    }
    .under main .uPoint_type2 .item {
        flex-direction: column;
        gap: 15px;
    }
    .under main .uPoint_type2 .item h4 > span {
        font-size: 14px;
        padding: 2px 10px;
    }
    #recruit.under main .list_anchor {
        flex-wrap: wrap;
        max-width: 500px;
        margin: 0 auto;
    }
    #recruit.under main .list_anchor .btn {
        width: calc((100% / 2) - 3px);
    }
    .under main .uFlex .img.image_c_bnr {
        position: relative;
    }
    .under main .shop_staff .item .item_ttl {
        font-size: 16px !important;
    }
    .under main .shop_staff .item .item_ttl span {
        font-size: min(3.4vw, 14px);
    }
    .under main .contact_cta{max-width: 343px;margin: 0 auto;}
    .under main .contact_cta_box{padding: 15px 10px;min-height: inherit;}
    .under main .contact_cta_ite{width: 100%;}
    .under main .uFlex.uFlex_contact .desc{margin-bottom: 20px;}
    .under main .uFlex.uFlex_contact .img{margin-bottom: 0;}
    .under main .colflex .img{margin-bottom: 20px;}
}
/* END min-width:1px && screen-max:750px */
/* IPHONE 6 */
/* END min-width:360px && screen-max:750px */
@media screen and (max-width: 375px) {
    .under main .balloon_frame .box {
        font-size: 12px;
    }
    .under main .image_c_bnr {
        max-width: 280px;
    }
    .under main .image_c_bnr a {
        width: 180px;
        left: calc(50% - 40px);
    }
    /* .under main .list_anchor {flex-direction: column;gap: 15px;} */
    /* .under main .list_anchor .btn {width: 250px;} */
    .under main .list_anchor .btn a {
        font-size: 12px;
    }
    #recruit.under main .list_anchor {
        flex-direction: row;
        gap: 6px;
    }
}
/* END min-width:375px && screen-max:750px */
/* IPHONE 14 */
@media screen and (max-width: 440px) {
    /*============ ORTHER ============ */
    .under main .under_col_list dl {
        width: 100%;
    }
    .under main .udr_post {
        flex-direction: column;
    }
    .under main .udr_post dl {
        width: 100%;
    }
    .under main .udr_post dl img {
        max-height: 160px;
    }
    /*============ KIJIKAKU ============ */
    .under .kiji_list dl {
        flex-wrap: wrap;
    }
    .under .kiji_list dd {
        width: 100%;
        margin-top: 10px;
    }
    .under .kiji_list dt img {
        top: inherit;
    }
    .under main .d_flex {
        flex-direction: column;
    }
    .under main .list01.d_flex li {
        display: flex;
        flex-direction: column;
    }
    .under main .list01.d_flex img {
        align-self: center;
    }
    .under main .uPoint .item {
        padding-left: 30px;
    }
    .under main .uPoint .item::after {
        width: 20px;
    }
    .under main .uPoint .item .ttl > span {
        font-size: 10px;
        width: 65px;
    }
    .under main .uPoint {
        --space-left: 90px;
    }
    .under main .staff_anc .item {
        width: calc((100% / 2) - 10px);
    }
}
/* END min-width:440px && screen-max:750px */
@media screen and (max-width: 640px) {
    .under main .circle_img.shop_staff {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 440px) {
    .under main .contact_btn {
        padding:10px 20px !important;
    }
    .under main .contact_btn .h_contact_tel a {
        font-size: 31px;
    }
    .under main .contact_btn .h_contact_tel .time {
        font-size: 12px;
    }

}
@media screen and (max-width: 374px) {
    .under main .contact_btn .h_contact_line a::before{left: 20px;}
    .under main .contact_btn .h_contact_tel a{font-size: 24px;}
    .under main .contact_btn .h_contact_tel .time{font-size: 10px;margin-top: 10px;}

}
/*==========================================================================*/
/*                 F O R   S P E C I F I E D   B R O W S E R                */
/*==========================================================================*/
/* EDGE  */
/* FIREFOX */
@-moz-document url-prefix() {}
/* Safari 10.1+ (which is the latest version of Safari at this time) */
@supports (-webkit-touch-callout: none) {
    /* CSS specific to iOS devices */
}
/*==========================================================================*/
/*                             E N D   A L L                                */
/*==========================================================================*/
/*# sourceMappingURL=under_responsive.css.map */