@charset 'UTF-8';

.mb60 {
    margin-bottom: 60px;
}

.mb70 {
    margin-bottom: 70px;
}

.mb110 {
    margin-bottom: 110px;
}

.css_effect {
    opacity: 1;
}

.css_effect:hover {
    animation: css_effect 1s ease;
}

@keyframes css_effect {
    0% {
        opacity: 0.3;
    }

    100% {
        opacity: 1;
    }
}

/* -- 1806 C -- */

#header .txtbox {
    margin: 6px auto 0;
}

#header .header_closing {
    display: table;
}

#header .header_closing .logo {
    display: table-cell;
    float: none;
    width: 274px;
    vertical-align: middle;
}

#header .header_closing h1 {
    display: table-cell;
    float: none;
    padding-left: 16px;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: normal;
    vertical-align: middle;
    border-left: 1px solid #c9c9c9;
}

/* ---------- floating nav ---------- */

#gnav {
    box-sizing: border-box;
    width: 100%;
    height: 84px;
    background-color: rgba(255, 255, 255, 0.9);
    border-top: 1px solid #d1c6ba;
    border-bottom: 3px solid #d1c6ba;
}

.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%;
}

/* #gnav ul {
    box-sizing: border-box;
    width: 960px;
    margin: 0 auto;
} */

@media (max-width: 1063px) {
    #gnav ul {
        float: right;
    }
}

#gnav li {
    float: left;
}

#gnav li:not(:nth-of-type(n + 5)) {
    box-sizing: border-box;
    border-right: 1px dotted #d1c6ba;
}

#gnav .gnav_link a {
    display: block;
    height: 0;
    padding-top: 80px;
    overflow: hidden;
}

#gnav #gnav_cont1 a {
    width: 124px;
    background: url(../img/china/1807/nav2/li1_gnav.png) no-repeat center;
}

#gnav #gnav_cont1 a:hover {
    background: #FF6B6B url(../img/china/1807/nav2/li1_gnav_on.png) no-repeat center;
}

#gnav #gnav_cont2 a {
    width: 124px;
    background: url(../img/china/1807/nav2/li2_gnav.png) no-repeat center;
}

#gnav #gnav_cont2 a:hover {
    background: #FF6B6B url(../img/china/1807/nav2/li2_gnav_on.png) no-repeat center;
}

#gnav #gnav_cont3 a {
    width: 124px;
    background: url(../img/china/1807/nav2/li3_gnav.png) no-repeat center;
}

#gnav #gnav_cont3 a:hover {
    background: #FF6B6B url(../img/china/1807/nav2/li3_gnav_on.png) no-repeat center;
}

#gnav #gnav_cont4 a {
    width: 124px;
    background: url(../img/china/1807/nav2/li4_gnav.png) no-repeat center;
}

#gnav #gnav_cont4 a:hover {
    background: #FF6B6B url(../img/china/1807/nav2/li4_gnav_on.png) no-repeat center;
}

#gnav #gnav_cont5 a {
    width: 124px;
    background: url(../img/china/1807/nav2/li5_gnav.png) no-repeat center;
}

#gnav #gnav_cont5 a:hover {
    background: #FF6B6B url(../img/china/1807/nav2/li5_gnav_on.png) no-repeat center;
}

#gnav #gnav_tel {
    box-sizing: border-box;
    width: 171px;
    text-align: center;
}

#gnav #gnav_tel .telbox {
    box-sizing: border-box;
    height: 80px;
    padding-top: 21px;
    background-color: rgba(245, 245, 245, 0.8);
}

#gnav #gnav_tel .tel_img {
    margin-bottom: 4px;
}

#gnav #gnav_btn {
    box-sizing: border-box;
    width: 165px;
    padding: 11px 0 0 7px;
    text-align: center;
}

#gnav #gnav_btn .btn {
    width: 158px;
}

#gnav #gnav_btn .btn a {
    display: block;
    width: 158px;
    height: 57px;
    padding: 0;
    overflow: hidden;
    color: #fff;
    background: linear-gradient(145deg, #FF6B6B 0%, #FA5252 50%, #E03131 100%);
    border-radius: 12px;
    text-align: center;
    font-weight: 700;
    font-size: 14px;
    line-height: 57px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 
        0 4px 8px rgba(255, 107, 107, 0.3),
        0 2px 4px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

#gnav #gnav_btn .btn a:hover {
    transform: translateY(-3px) scale(1.02);
    box-shadow: 
        0 8px 25px rgba(255, 107, 107, 0.4),
        0 4px 8px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    background: linear-gradient(145deg, #FA5252 0%, #E03131 50%, #C92A2A 100%);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

/* ---------- sitenav ---------- */

#sitenav {
    padding: 30px 0 36px;
    background-color: #fff0f0;
}

#sitenav ul {
    display: table;
    width: 960px;
    margin: 0 auto;
}

#sitenav p {
    display: table-cell;
    padding: 15px 0 15px 18px;
}

#sitenav .row {
    display: table-row;
}

#sitenav p a {
    color: #333;
    font-weight: bold;
    font-size: 14px;
}

/* ---------- contents ---------- */

#contents_wrapper .txt {
    color: #2C3E50;
    font-size: 18px;
    line-height: 1.6;
}

#contents {
    background-color: #fffbf5;
}

/* -- closing -- */

#header .header_closing .telbox {
    padding-left: 36px;
    background: url(../img/common/1712/bg_tel_header.png) no-repeat 3px 6px;
}

#header .header_closing .btn a {
    background: linear-gradient(145deg, #FF6B6B 0%, #FA5252 50%, #E03131 100%);
    border-radius: 10px;
    padding: 12px 20px;
    color: white;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 
        0 3px 6px rgba(255, 107, 107, 0.3),
        0 1px 3px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    display: inline-block;
    min-width: 120px;
}

.closing .closingbox .telbox {
    width: 440px;
    margin-left: 0;
}

.closing .closingbox .telbox .right {
    padding-right: 14px;
}

.closing .closingbox .tel_img {
    height: 85px;
    background: url(../img/common/1712/bg_tel_closing.png) no-repeat 0 10px;
}

.closing .closingbox .btn a {
    padding: 0px 48px;
    background: linear-gradient(145deg, #FF6B6B 0%, #FA5252 50%, #E03131 100%);
    border-radius: 16px;
    color: white;
    font-weight: 700;
    font-size: 30px;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 
        0 8px 20px rgba(255, 107, 107, 0.3),
        0 4px 8px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.1);
    display: inline-block;
    text-align: center;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    min-width: 200px;
    height: 70px;
    line-height: 76px;
    position: relative;
    overflow: hidden;
}

.closing .closingbox .btn a::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    transition: left 0.5s;
}

.closing .closingbox .btn a:hover {
    transform: translateY(-4px) scale(1.02);
    box-shadow: 
        0 12px 30px rgba(255, 107, 107, 0.4),
        0 6px 12px rgba(0, 0, 0, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.3);
    background: linear-gradient(145deg, #FA5252 0%, #E03131 50%, #C92A2A 100%);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}

.closing .closingbox .btn a:hover::before {
    left: 100%;
}

#header .header_closing .telbox .tel_img {
    height: 50px;
    background: url(../telimg/1_tel_header_red.gif) no-repeat center;
}

.closing.cnts_closing {
    padding-bottom: 0;
    background-color: transparent;
    border-bottom: none;
}

.closing.cnts_closing h3 {
    height: 200px;
    margin-bottom: 20px;
    background-color: #000;
}

.closing.cnts_closing .inbox {
    padding: 30px 0 39px;
    background-color: #fff;
    border-top: 2px solid #d1c6ba;
    border-bottom: 2px solid #d1c6ba;
}

.closing.cnts_closing .closingbox {
    padding-top: 0;
}

.closing.cnts_closing .closingbox .telbox {
    width: 487px;
}

.closing.cnts_closing .closingbox .telbox .st {
    margin-bottom: 20px;
}

.closing.cnts_closing .closingbox .telbox .tel_img {
    box-sizing: border-box;
    width: 440px;
    margin-left: 10px;
}

.closing.cnts_closing .closingbox .btnbox {
    width: 473px;
}

.closing.cnts_closing .closingbox .btnbox .st {
    margin-bottom: 30px;
}

.closing.cnts_closing .closingbox .btnbox .btn {
    width: 476px;
    margin: 0 auto;
}

/* ---------- plan ---------- */

#plan h3 {
    box-sizing: border-box;
    height: 160px;
    padding-top: 24px;
    background: linear-gradient(135deg, #FF6B6B 0%, #FA5252 25%, #E03131 50%, #C92A2A 75%, #A61E1E 100%);
    position: relative;
    overflow: hidden;
}

#plan h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, transparent 50%, rgba(255, 255, 255, 0.05) 100%);
    pointer-events: none;
}

#plan .bg_inner {
    width: 960px;
    margin: 0 auto;
    padding: 40px 0 80px;
}

#plan table {
    box-sizing: border-box;
    width: 960px;
    margin-right: auto;
    margin-left: auto;
    border-collapse: separate;
    border-spacing: 0;
}

#plan thead tr.no_bg th {
    background-color: inherit;
    border: none;
}

#plan thead tr.paln_list th {
    padding: 10px 0;
    font-weight: bold;
    font-size: 14px;
    border-top: 1px solid #c1c1c1;
}

#plan thead tr:nth-of-type(2) th:nth-of-type(1) {
    width: 304px;
}

#plan thead tr:nth-of-type(2) th:nth-of-type(2) {
    width: 20%;
}

#plan thead tr th.plan_vip {
    width: 23%;
    color: #fff9cf;
    background-color: #c5191f;
}

#plan thead tr th.plan_basic {
    width: 23%;
    color: #fff;
    background-color: #fb9926;
}

#plan thead tr th.plan_light {
    width: 23%;
    color: #fff;
    background-color: #ee9079;
}

#plan th,
#plan td {
    padding: 14px 0;
    line-height: 1.4;
    text-align: center;
    background-color: #fff;
    border-bottom: 1px solid #c1c1c1;
    border-left: 1px solid #c1c1c1;
}

#plan thead tr th.empty {
    background-color: inherit;
    border: none;
}

#plan thead tr th.bdr_btm {
    border-bottom: 1px solid #c1c1c1;
}

#plan tbody th {
    font-size: 16px;
}

#plan tbody td {
    font-weight: bold;
    font-size: 15px;
}

#plan thead tr.paln_list th:last-child,
#plan tbody tr td:last-child {
    border-right: 1px solid #c1c1c1;
}

#plan tbody tr:nth-of-type(1) th {
    font-size: 18px;
}

#plan tbody tr:nth-of-type(1) td {
    font-size: 15px;
}

#plan tbody tr th .stxt {
    font-size: 12px;
}

#plan .bg_gray {
    background-color: #fafafa;
}

#plan tbody tr:nth-of-type(odd) td:nth-of-type(1) {
    background-color: #ffe9e9;
}

#plan tbody tr:nth-of-type(even) td:nth-of-type(1) {
    background-color: #ffd5d5;
}

#plan tbody tr:nth-of-type(odd) td:nth-of-type(2) {
    background-color: #ffefdc;
}

#plan tbody tr:nth-of-type(even) td:nth-of-type(2) {
    background-color: #ffe6c9;
}

#plan tbody tr:nth-of-type(odd) td:nth-of-type(3) {
    background-color: #ffeeea;
}

#plan tbody tr:nth-of-type(even) td:nth-of-type(3) {
    background-color: #ffe4dd;
}

#plan .annotation {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.6;
}

/* ---------- follow ---------- */

#follow h2 {
    box-sizing: border-box;
    height: 160px;
    padding-top: 27px;
    background: linear-gradient(135deg, #FF6B6B 0%, #FA5252 25%, #E03131 50%, #C92A2A 75%, #A61E1E 100%);
    position: relative;
    overflow: hidden;
}

#follow h2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, transparent 50%, rgba(255, 255, 255, 0.05) 100%);
    pointer-events: none;
}

#follow .bg_inner {
    padding: 40px 0 0;
}

#follow .plan_btn {
    margin: 60px 0 80px;
    text-align: center;
}

#follow .bnbox {
    margin-bottom: 100px;
}

/* ----- cycle ----- */

#follow .cyclebox {
    box-sizing: border-box;
    width: 960px;
    margin: 0 auto 70px;
    padding: 46px 29px 32px 17px;
    background: #f8f5f2 url(../img/china/follow/bg_cycle.jpg) no-repeat top;
    border: 1px solid #dedede;
}

#follow .cyclebox ol {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
}

#follow .cyclebox ol li {
    box-sizing: border-box;
}

#follow .cyclebox ol li:nth-child(-n + 2) {
    padding-bottom: 36px;
}

/* #follow .cyclebox ol li:nth-of-type(2) {
    padding-left: 21px;
    background: url(../img/china/follow/ar_cycle.png) no-repeat left 264px,
    url(../img/china/follow/ar2_cycle.png) no-repeat bottom center;
}

#follow .cyclebox ol li:nth-of-type(3) {
    order: 4;
} */

/* #follow .cyclebox ol li:nth-of-type(3) {
    order: 3;
    padding-left: 21px;
    background: url(../img/china/follow/ar3_cycle.png) no-repeat left 264px;
} */
#follow #cycle1 ol li {
    width: 250px;
}
.icon-next {
    max-width: 100%;
    margin-top: 150px;
    margin-left: 10px;
}
.icon-next-sp {
    max-width: 100%;
    margin-top: 20px;
    margin-bottom: 10px;
}

#follow #cycle2.cyclebox {
    margin: 110px auto 70px;
}

/* ----- debut ----- */

#follow #debut {
    margin-top: -84px;
    padding-top: 84px;
}

#follow #debut .mt {
    position: relative;
    box-sizing: border-box;
    height: 280px;
    padding-top: 30px;
    background: #f7ecdd url(../img/china/follow/bg_mt_debut.png) repeat-y center;
    border-top: 4px solid #e2d4bf;
}

#follow #debut .mt::after {
    position: absolute;
    right: 0;
    bottom: -29px;
    left: 0;
    width: 78px;
    height: 29px;
    margin: 0 auto;
    background: url(../img/china/follow/bg_ar_mt_debut.png) no-repeat;
    content: "";
}

#follow #debut .leadbox {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    width: 900px;
    margin: 60px auto;
}

#follow #debut .leadbox .txtbox {
    width: 500px;
}

#follow #debut .leadbox .imgbox {
    width: 355px;
}

#follow .leadbox .txt_link {
    margin-top: 20px;
    font-weight: bold;
    font-size: 16px;
}

#follow #debut .shopbox {
    position: relative;
    box-sizing: border-box;
    width: 960px;
    margin: 0 auto 70px;
    padding: 0 0 40px;
    background-color: #fff;
    border-right: 1px solid #deccb3;
    border-bottom: 1px solid #deccb3;
    border-left: 1px solid #deccb3;
}

#follow #debut .shopbox::before {
    position: absolute;
    top: 0;
    left: -1px;
    width: 960px;
    margin: 0 auto;
    border-top: 7px solid #deccb3;
    content: "";
}

#follow #debut .shopbox .st {
    box-sizing: border-box;
    height: 155px;
    padding-top: 42px;
    text-align: center;
    background-color: #f5eee3;
    border-bottom: 2px dotted #e6e0d5;
}

#follow #debut .shopbox .txt {
    width: 820px;
    margin: 45px auto 0;
}

#follow #debut .shopbox ul {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    width: 820px;
    margin: 46px auto 30px;
}

/* ----- menu ----- */

#follow #menu {
    margin-top: 4px;
    padding-top: 84px;
}

#follow #menu .mt {
    position: relative;
    box-sizing: border-box;
    height: 280px;
    padding-top: 43px;
    background: #f7ecdd url(../img/china/follow/bg_mt_debut.png) repeat-y center;
    border-top: 4px solid #e2d4bf;
}

#follow #menu .mt::after {
    position: absolute;
    right: 0;
    bottom: -29px;
    left: 0;
    width: 78px;
    height: 29px;
    margin: 0 auto;
    background: url(../img/china/follow/bg_ar_mt_debut.png) no-repeat;
    content: "";
}

#follow #menu .leadbox {
    width: 900px;
    margin: 60px auto 80px;
}

#follow #menu .menubox {
    position: relative;
    box-sizing: border-box;
    width: 960px;
    margin: 0 auto 80px;
    padding: 0 0 40px;
    background-color: #fff;
    border-right: 1px solid #deccb3;
    border-bottom: 1px solid #deccb3;
    border-left: 1px solid #deccb3;
}

#follow #menu .menubox::before {
    position: absolute;
    top: 0;
    left: -1px;
    width: 960px;
    margin: 0 auto;
    border-top: 7px solid #deccb3;
    content: "";
}

#follow #menu .menubox .st {
    box-sizing: border-box;
    height: 155px;
    text-align: center;
    background-color: #f5eee3;
    border-bottom: 2px dotted #e6e0d5;
}

#follow #menu .menubox .st img {
    position: relative;
    z-index: 9;
    margin-top: -19px;
}

#follow #menu .menubox .txt {
    width: 840px;
    margin: 35px auto 25px;
}

#follow .stxt {
    font-size: 14px;
}

/* ----- reserve ----- */

#follow #reserve {
    margin-top: 4px;
    padding-top: 84px;
}

#follow #reserve .mt {
    position: relative;
    box-sizing: border-box;
    height: 280px;
    padding-top: 67px;
    background: #f7ecdd url(../img/china/follow/bg_mt_debut.png) repeat-y center;
    border-top: 4px solid #e2d4bf;
}

#follow #reserve .mt::after {
    position: absolute;
    right: 0;
    bottom: -29px;
    left: 0;
    width: 78px;
    height: 29px;
    margin: 0 auto;
    background: url(../img/china/follow/bg_ar_mt_debut.png) no-repeat;
    content: "";
}

#follow #reserve .leadbox {
    width: 900px;
    margin: 60px auto;
}

#follow #reserve .reservebox {
    box-sizing: border-box;
    width: 960px;
    margin: 0 auto 80px;
    padding: 60px 0;
    background-color: #fff;
    border: 1px solid #deccb3;
}

/* ----- analytics ----- */

#follow #analytics {
    margin-top: 4px;
    padding-top: 84px;
}

#follow #analytics .mt {
    position: relative;
    box-sizing: border-box;
    height: 280px;
    padding-top: 67px;
    background: #f7ecdd url(../img/china/follow/bg_mt_debut.png) repeat-y center;
    border-top: 4px solid #e2d4bf;
}

#follow #analytics .mt::after {
    position: absolute;
    right: 0;
    bottom: -29px;
    left: 0;
    width: 78px;
    height: 29px;
    margin: 0 auto;
    background: url(../img/china/follow/bg_ar_mt_debut.png) no-repeat;
    content: "";
}

#follow #analytics .leadbox {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    width: 900px;
    margin: 60px auto 0;
}

#follow #analytics .leadbox .txtbox {
    order: 2;
    width: 440px;
    padding-top: 25px;
}

#follow #analytics .leadbox .imgbox {
    order: 1;
    width: 460px;
}

/* ----- support ----- */

#follow #support {
    margin-top: -4px;
    padding-top: 84px;
}

#follow #support .mt {
    position: relative;
    box-sizing: border-box;
    height: 280px;
    padding-top: 25px;
    background: #f7ecdd url(../img/china/follow/bg_mt_debut.png) repeat-y center;
    border-top: 4px solid #e2d4bf;
}

#follow #support .mt::after {
    position: absolute;
    right: 0;
    bottom: -29px;
    left: 0;
    width: 78px;
    height: 29px;
    margin: 0 auto;
    background: url(../img/china/follow/bg_ar_mt_debut.png) no-repeat;
    content: "";
}

#follow #support .leadbox {
    width: 720px;
    margin: 60px auto;
}

#follow #support .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 960px;
    margin: 0 auto 75px;
}

#follow #support .txt_notes {
    width: 960px;
    margin: 15px auto 25px;
    color: #333;
    font-size: 10px;
    line-height: 1.5;
    text-align: right;
}

/* ---------- approach ---------- */

#approach h2 {
    box-sizing: border-box;
    height: 160px;
    padding-top: 64px;
    background: linear-gradient(135deg, #FF6B6B 0%, #FA5252 25%, #E03131 50%, #C92A2A 75%, #A61E1E 100%);
    position: relative;
    overflow: hidden;
}

#approach h2::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, transparent 50%, rgba(255, 255, 255, 0.05) 100%);
    pointer-events: none;
}

#approach .bg_inner {
    padding: 40px 0 0;
}

#approach .bg_inner > .txt {
    width: 960px;
    margin-right: auto;
    margin-left: auto;
}

#approach .bg_inner .plan_btn {
    margin: 60px 0 80px;
    text-align: center;
}

#approach .approachbox {
    position: relative;
    box-sizing: border-box;
    width: 960px;
    margin: 0 auto 70px;
    background-color: #fff;
    border-right: 1px solid #deccb3;
    border-bottom: 1px solid #deccb3;
    border-left: 1px solid #deccb3;
}

#approach .approachbox::before {
    position: absolute;
    top: 0;
    left: -1px;
    width: 960px;
    margin: 0 auto;
    border-top: 7px solid #deccb3;
    content: "";
}

#approach .approachbox .st {
    box-sizing: border-box;
    text-align: center;
    border-bottom: 1px solid #deccb3;
}

/* ----- approach1 ----- */

#approach #approach1 .box {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 22px 27px 15px;
}

#approach #approach1 .box .txtbox {
    width: 442px;
    padding-top: 20px;
}

#approach #approach1 .box .imgbox {
    width: 428px;
}

#approach #approach1 .box {
    background: url(../img/china/approach/bg_approach1.jpg) no-repeat right top;
}

/* ----- approach2 ----- */

#approach #approach2 .box {
    box-sizing: border-box;
    padding: 30px 49px 45px;
}

/* ----- approach3 ----- */

#approach #approach3 .box {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 54px 28px 45px;
}

#approach #approach3 .box .txtbox {
    width: 430px;
}

#approach #approach3 .box .imgbox {
    width: 438px;
}

#approach #approach3 .box .txt_tl {
    padding-bottom: 10px;
    border-bottom: 1px dotted #acacac;
}

#approach #approach3 .box .txt_tl p {
    padding-left: 14px;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.4;
    border-left: 9px solid #bf3434;
}

#approach #approach3 .box2 {
    box-sizing: border-box;
    padding: 35px 28px 45px;
    background-color: #f6f6f6;
}

#approach #approach3 .box2 .txt_tl {
    padding-bottom: 10px;
    border-bottom: 1px dotted #acacac;
}

#approach #approach3 .box2 .txt_tl p {
    padding-left: 14px;
    font-weight: bold;
    font-size: 26px;
    line-height: 45px;
    border-left: 9px solid #bf3434;
}

#approach .ar_tri {
    width: 0;
    height: 0;
    margin: 60px auto 0;
    border-top: 56px solid #959595;
    border-right: 100px solid transparent;
    border-left: 100px solid transparent;
}

/* ----- debut ----- */

#approach #debut {
    margin-top: 50px;
}

#approach #debut .mt {
    position: relative;
    box-sizing: border-box;
    height: 280px;
    margin-bottom: 50px;
    padding-top: 30px;
    background: #f7ecdd url(../img/china/follow/bg_mt_debut.png) repeat-y center;
    border-top: 4px solid #e2d4bf;
}

#approach #debut .mt::after {
    position: absolute;
    right: 0;
    bottom: -29px;
    left: 0;
    width: 78px;
    height: 29px;
    margin: 0 auto;
    background: url(../img/china/follow/bg_ar_mt_debut.png) no-repeat;
    content: "";
}

/* ---------- why ---------- */

#why h2 {
    box-sizing: border-box;
    height: 212px;
    background-color: #fbdce2;
}

#why .pr_name {
    width: 890px;
    margin: 10px auto 0;
    font-size: 16px;
    line-height: 1.4;
    text-align: right;
}

#why .bg_inner {
    padding: 40px 0 60px;
}

#why #mokuji {
    width: 900px;
    margin: 0 auto 70px;
}

#why #mokuji dl {
    box-sizing: border-box;
    border: 1px solid #c9c6c3;
}

#why #mokuji dt {
    padding: 10px 0;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    background-color: #f2f2f2;
    border-bottom: 1px solid #c9c6c3;
}

#why #mokuji dd {
    box-sizing: border-box;
    padding: 30px 20px 0;
    font-weight: bold;
    font-size: 18px;
    background-color: #fff;
}

#why #mokuji dd ol {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
}

#why #mokuji dd li {
    box-sizing: border-box;
    width: 50%;
}

#why #mokuji dd li:nth-of-type(2),
#why #mokuji dd li:nth-of-type(3) {
    letter-spacing: -1.2px;
}

#why #mokuji dd li:nth-of-type(odd) {
    padding: 0 16px 28px 0;
}

#why #mokuji dd li:nth-of-type(even) {
    padding: 0 0 28px 16px;
}

#why .whybox {
    width: 960px;
    margin-right: auto;
    margin-bottom: 40px;
    margin-left: auto;
}

#why .whybox .mt {
    margin-bottom: 30px;
    padding: 20px 0 10px;
    font-weight: bold;
    font-size: 30px;
    text-align: center;
    border-bottom: 2px solid #b5b2ac;
}

#why .whybox .box {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    margin-right: 30px;
    margin-left: 30px;
}

#why .whybox .box .txtbox {
    width: 455px;
    padding-top: 6px;
    font-feature-settings: "palt";
    letter-spacing: 1px;
}

#why .whybox .box .imgbox {
    width: 420px;
}

#why .whybox .box .txtbox .st {
    font-weight: bold;
    font-size: 24px;
    line-height: 1.5;
}

#why .whybox .column {
    width: 900px;
    margin: 0 auto;
}

#why .whybox .column dl {
    border-top: 8px solid #ddc8b3;
}

#why .whybox .column dt {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 25px 0;
    font-weight: bold;
    font-size: 30px;
    text-align: center;
    background-color: #f7f1e8;
    border-right: 2px solid #e8e4de;
    border-bottom: 2px solid #e8e4de;
    border-left: 2px solid #e8e4de;
}

#why .whybox .column dt span {
    margin-right: 10px;
    padding: 5px 15px;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
    background-color: #6e6e6e;
}

#why .whybox .column dd {
    padding: 25px 0 15px;
    background-color: #fff;
    border-right: 2px solid #e8e4de;
    border-bottom: 2px solid #e8e4de;
    border-left: 2px solid #e8e4de;
}

#why .whybox .column dd .txt {
    margin: 0 55px 40px;
}

#why .whybox .column dd .graph_tl {
    color: #c10002;
    font-weight: bold;
    font-size: 24px;
    text-align: center;
}

#why .whybox .column dd .graph_tl span {
    color: #333;
    font-weight: normal;
    font-size: 12px;
}

#why .txt_link {
    margin: 25px 30px 0 0;
    font-weight: bold;
    font-size: 20px;
    text-align: right;
}

#why .whybox .rankbox {
    margin-right: 30px;
    margin-left: 30px;
}

#why .whybox .rankbox .st {
    font-weight: bold;
    font-size: 26px;
    line-height: 1.5;
}

#why #why2 {
    margin-bottom: 95px;
}

#why #why4 ul {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    width: 900px;
    margin: 0 auto;
}

#why #why4 li {
    width: 280px;
    text-align: center;
}

#why #why4 li .st {
    margin: 12px 0;
    font-weight: bold;
    font-size: 28px;
    font-feature-settings: "palt";
}

#why #why4 li .st span {
    font-size: 18px;
}

/* ---------- qa ---------- */

#qa h3 {
    box-sizing: border-box;
    height: 160px;
    padding-top: 50px;
    background: linear-gradient(135deg, #FF6B6B 0%, #FA5252 25%, #E03131 50%, #C92A2A 75%, #A61E1E 100%);
    position: relative;
    overflow: hidden;
}

#qa h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, transparent 50%, rgba(255, 255, 255, 0.05) 100%);
    pointer-events: none;
}

#qa .bg_inner {
    padding: 60px 0 0;
}

#qa .inbox1 {
    width: 960px;
    margin: 0 auto 80px;
}

#qa .inbox1:last-of-type {
    margin-bottom: 0;
}

#qa .qabox {
    box-sizing: border-box;
    width: 960px;
    margin: 40px auto 0;
    background-color: #fff;
    border: 1px solid #dedede;
}

#qa .qabox:first-child {
    margin-top: 0;
}

#qa .qabox dt {
    display: table;
    padding: 12px 18px 12px 104px;
    background: url(../img/top/ico_q_qa.png) no-repeat 17px 13px;
    cursor: pointer;
}

#qa .qabox dt a {
    position: relative;
    display: table-cell;
    box-sizing: border-box;
    width: 922px;
    height: 73px;
    padding-right: 50px;
    color: #333;
    font-weight: bold;
    font-size: 24px;
    line-height: 1.4;
    letter-spacing: -1.2px;
    text-decoration: none;
    vertical-align: middle;
    outline: none;
}

#qa .qabox dt span {
    position: absolute;
    top: 32px;
    right: 12px;
    display: block;
    width: 27px;
    height: 17px;
    background: url(../img/top/btn_tg_qa.png) no-repeat bottom;
}

#qa .qabox dt.open span {
    background: url(../img/top/btn_tg_qa.png) no-repeat top;
}

#qa .qabox dd {
    display: none;
    padding: 20px 100px 35px 100px;
    background: #fff4f4 url(../img/top/ico_a_qa.png) no-repeat 18px 18px;
    border-top: 1px solid #dedede;
}

#qa .qabox dd .txt {
    margin-top: 12px;
}

#qa .qabox .open {
    display: block;
}

#qa .qabox dt.open {
    margin-bottom: 0;
}

#qa .txt_link {
    margin-top: 12px;
    text-align: right;
}

#qa .txt_link a {
    font-size: 18px !important;
    line-height: 1.6;
}

#qa .rankbox {
    margin-bottom: 100px;
}

#qa .rankbox .inbox1 .qabox:nth-of-type(1) dt {
    background: url(../img/china/faq/ico_rank1_qa.png) no-repeat 17px 20px;
}

#qa .rankbox .inbox1 .qabox:nth-of-type(2) dt {
    background: url(../img/china/faq/ico_rank2_qa.png) no-repeat 17px 20px;
}

#qa .rankbox .inbox1 .qabox:nth-of-type(3) dt {
    background: url(../img/china/faq/ico_rank3_qa.png) no-repeat 17px 20px;
}

#qa .rankbox .inbox1 .qabox:nth-of-type(4) dt {
    background: url(../img/china/faq/ico_rank4_qa.png) no-repeat 17px 20px;
}

#qa .rankbox .inbox1 .qabox:nth-of-type(5) dt {
    background: url(../img/china/faq/ico_rank5_qa.png) no-repeat 17px 20px;
}

#qa .tab_list {
    display: flex;
    justify-content: center;
    border-bottom: 12px solid #de5049;
}

#qa #tab_faq li {
    width: 216px;
}

#qa #tab_faq li:not(:last-of-type) {
    margin-right: 22px;
}

#qa #tab_faq li a {
    display: block;
    height: 0;
    padding-top: 104px;
    overflow: hidden;
    background-image: url(../img/china/faq/tab_faq.png);
}

#qa #tab_faq .tab1 a {
    background-position: 0 0;
}

#qa #tab_faq .tab1 a.on {
    background-position: 0 -104px;
}

#qa #tab_faq .tab2 a {
    background-position: -216px 0;
}

#qa #tab_faq .tab2 a.on {
    background-position: -216px -104px;
}

#qa #tab_faq .tab3 a {
    background-position: -432px 0;
}

#qa #tab_faq .tab3 a.on {
    background-position: -432px -104px;
}

#qa #tab_faq .tab4 a {
    background-position: -648px 0;
}

#qa #tab_faq .tab4 a.on {
    background-position: -648px -104px;
}

#qa .tabbox {
    padding: 70px 0 95px;
    background-color: #f6eee3;
}

#qa .tabbox .inbox1 {
    width: 960px;
    margin: 0 auto;
}

/* ---------- case ---------- */

#case > h3 {
    box-sizing: border-box;
    height: 160px;
    padding-top: 40px;
    background: linear-gradient(135deg, #FF6B6B 0%, #FA5252 25%, #E03131 50%, #C92A2A 75%, #A61E1E 100%);
    position: relative;
    overflow: hidden;
}

#case > h3::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(45deg, rgba(255, 255, 255, 0.1) 0%, transparent 50%, rgba(255, 255, 255, 0.05) 100%);
    pointer-events: none;
}

#case .bg_inner {
    padding: 60px 0 100px;
}

#case .casebox {
    box-sizing: border-box;
    width: 960px;
    margin: 0 auto;
    padding: 50px 29px 39px;
    background-color: #fff;
    border: 1px solid #ddd;
}

#case .casebox .mt {
    margin: 15px 0 10px;
    font-size: 28px;
    text-align: center;
}

#case .casebox h4 {
    margin-top: -70px;
    text-align: center;
}

#case4 .casebox .name {
    margin-bottom: 30px;
    padding-bottom: 9px;
    font-weight: bold;
    font-size: 34px;
    text-align: center;
    border-bottom: 2px solid #cdcdcd;
}

#case4 .casebox .name .sbtxt {
    font-size: 20px;
}

#case .casebox .name {
    margin-bottom: 30px;
    padding-bottom: 9px;
    text-align: center;
    border-bottom: 2px solid #cdcdcd;
}

#case .casebox .name .intxt {
    display: inline-block;
    height: 70px;
    padding-left: 75px;
    font-weight: bold;
    font-size: 34px;
    line-height: 70px;
    background: url(../img/china/1807/ico_case1_voice.png) no-repeat top left;
}

#case .casebox .name .stxt {
    font-weight: normal;
    font-size: 20px;
}

#case .casebox .name .mtxt {
    font-size: 28px;
}

#case .casebox .name .type {
    display: inline-block;
    margin-left: 10px;
    padding: 6px;
    font-size: 20px;
    background-color: #ececec;
}

#case .casebox .imgbox {
    float: right;
    width: 292px;
    margin: 0 0 15px 40px;
    text-align: right;
}

#case .casebox .txtbox .txt {
    font-size: 18px;
    line-height: 1.6;
}

#case #case3 .casebox {
    padding-bottom: 0;
}

#case #case3 .casebox .imgbox {
    float: right;
    width: 318px;
    margin: 0 0 0 40px;
    text-align: right;
}

#case #case3 .casebox .name .intxt {
    padding-left: 300px;
    background: url(../img/china/case/logo_case3_voice.png) no-repeat left center;
}

#case3 .txt_link {
    margin: 20px auto 0;
}

#case4 .casebox .imgbox {
    float: right;
    width: 313px;
    margin: 0 0 15px 20px;
    text-align: right;
}

#case4 .casebox .box1 {
    padding: 18px 20px;
    background-color: #f1f1f1;
}

#case4 .casebox .box1 ul {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
}

#case .exbox {
    box-sizing: border-box;
    width: 960px;
    margin: 0 auto;
    padding: 20px 30px 35px;
    background-color: #fff4f4;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    border-left: 1px solid #ddd;
}

#case .exbox .mt {
    text-align: center;
}

#case .exbox .mt h4 {
    position: relative;
    display: inline-block;
    padding: 0 58px 0 120px;
    color: #ba3e21;
    font-weight: bold;
    font-size: 32px;
    line-height: 73px;
    background: url(../img/china/case/ico_mt_ex.png) no-repeat 55px center;
}

#case .exbox .mt h4::before,
#case .exbox .mt h4::after {
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 42px;
    height: 2px;
    background-color: #b9b2a8;
    content: "";
}

#case .exbox .mt h4::before {
    left: 0;
}

#case .exbox .mt h4::after {
    right: 0;
}

#case .exbox .results {
    display: flex;
    flex-flow: wrap;
    justify-content: space-between;
    box-sizing: border-box;
}

#case .results .databox table {
    box-sizing: border-box;
    width: 400px;
    margin: 45px 0 0 30px;
    border-top: 1px solid #c1c1c1;
    border-left: 1px solid #c1c1c1;
}

#case .results .databox th,
#case .results .databox td {
    padding: 15px 0;
    font-weight: bold;
    font-size: 18px;
    line-height: 1.5;
    border-right: 1px solid #c1c1c1;
    border-bottom: 1px solid #c1c1c1;
}

#case .results .databox th {
    box-sizing: border-box;
    width: 27.5%;
    text-align: center;
}

#case .results .databox tr:nth-of-type(odd) th {
    background-color: #ffd3c9;
}

#case .results .databox tr:nth-of-type(even) th {
    background-color: #ffc4b6;
}

#case .results .databox td {
    padding-left: 15px;
    background-color: #fff;
}

#case .txt_link {
    width: 960px;
    margin: 40px auto 0;
    text-align: right;
}

#case .txt_link a {
    font-weight: bold;
    font-size: 20px;
    line-height: 1.5;
}

/* ---------- company ---------- */

#privacy,
#tokutei,#cookie {
    margin-top: -84px;
    padding-top: 84px;
}

#company #contents {
    padding-top: 60px;
}


.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

.text-red-400 {
    color: rgb(189 0 17);
}

.text-red-600 {
    color: rgb(171 43 26);
}

.text-white {
    color: white;
}

.text-pink-200 {
    color: rgb(254 200 190)
}

.text-pink-400 {
    color: rgb(253 181 170)
}

.bg-pink-200 {
    background-color: rgb(254 200 190)
}

.bg-pink-400 {
    background-color: rgb(253 181 170)
}

.bg-orange {
    background-color: #E25039FF;
}

.border-bottom-gray {
    border-bottom: 2px solid #cdcdcd;
}

.px-1 {
    padding-bottom: 10px;
}

.py-1 {
    padding-top: 10px;
}

.px-2 {
    padding-bottom: 20px;
}

.mt-1 {
    margin-top: 10px;
}

.mb-1 {
    margin-bottom: 10px;
}

.mb-2 {
    margin-bottom: 20px;
}

.mb-3 {
    margin-bottom: 30px;
}

.mb-4 {
    margin-bottom: 40px;
}

.flex {
    display: flex;
}

.inline-block {
    display: inline-block;
}

.ip-china-case-wrap {
    margin-bottom: 60px;
}

.store-box {
    box-sizing: border-box;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 29px 29px 29px;
    background-color: #fff;
    border: 1px solid #ddd;
}

.package-intro-main {
    box-sizing: border-box;
    max-width: 960px;
    margin: 0 auto;
    padding: 40px 70px 50px 70px;
    background-color: #FEF1F0FF;
    border: 1px solid #ddd;
}

.subject {
    width: 100%;
    text-align: center;
    vertical-align: baseline;
}

.font-size-title {
    font-size: 28px;
}

.font-size-sub-title {
    font-size: 24px;
}

.subject > .subject-title {
    display: inline-block;
    padding: 7px 40px;
    position: relative;
    top: -25px;
}

.subject > .subject-title::after {
    content: '';
    position: absolute;
    left: calc(50% - 10px);
    top: 100%;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 13px solid #E25039FF;
    clear: both;
}

.store-intro {
    text-align: center;
    font-size: 28px;
}

.thumbnail-image {
    box-sizing: border-box;
    width: 45%;
}

.store-body-area, .package-intro-main-detail-wrap {
    display: flex;
}

.body-info-detail {
    position: relative;
    padding: 40px 0 20px 20px;
    width: calc(55% - 1px);
    box-sizing: border-box;
    height: 100%;
}

.body-info-detail > table {
    width: 100%;
}

.body-info-detail > table, th, td {
    border: 1px solid #cdcdcd;
    padding: 15px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
}

.package-intro-main-detail {
    width: 75%;
    padding: 30px 40px;
    background-color: white;
    border-radius: 20px;
    border: 1px solid #cdcdcd;
    position: relative;
}

.package-intro-main-detail:before {
    content: "";
    position: absolute;
    border-top: 16px solid transparent;
    border-bottom: 0 solid transparent;
    border-right: 13px solid transparent;
    border-left: 21px solid #cdcdcd;
    top: 80%;
    right: -35px;
}

.package-intro-main-detail:after {
    content: "";
    position: absolute;
    border-top: 15px solid transparent;
    border-bottom: 0 solid transparent;
    border-right: 15px solid transparent;
    border-left: 20px solid white;
    top: 80%;
    right: -35px;
}

.package-intro-main-detail-thumb-image {
    width: 25%;
    position: relative;
}
.package-intro-main-detail-thumb-image > img {
    width: 180%;
    position: absolute;
    bottom: -30px;
    right: -85px;
}

.package-intro-main-title:after,
.package-intro-main-title:before {
    display: inline-block;
    text-align: center;
    font-size: 24px;
    color: rgb(171 43 26);
    content: "—";
    position: relative;
    top: -4px;
}

.package-intro-main-title:after {
    margin-left: 30px;
}

.package-intro-main-title:before {
    margin-right: 30px;
}

@media screen and (max-width: 768px) {
    .store-body-area, .package-intro-main-detail-wrap {
        display: block;
    }

    .thumbnail-image, .body-info-detail {
        width: 100%;
        padding: 0;
    }

    .body-info-detail {
        padding-top: 50px;
    }

    .package-intro-main-detail, .package-intro-main-detail-thumb-image {
        width: 100%;
    }

    .package-intro-main-detail {
        margin-bottom: 20px;
        box-sizing: border-box;
        padding: 30px 20px;
    }

    .package-intro-main {
        padding: 29px;
    }

    .package-intro-main-detail-thumb-image {
        margin: 0 auto;
    }

    .package-intro-main-detail-thumb-image > img {
        width: 100%;
        position: relative;
        top: 0;
        left: 0;
    }

    .package-intro-main-detail:before {
        content: '';
        position: absolute;
        left: calc(50% - 10px);
        top: 100%;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 11px solid transparent;
        border-top: 27px solid #cdcdcd;
        clear: both;
    }

    .package-intro-main-detail:after {
        content: '';
        position: absolute;
        left: calc(50% - 10px);
        top: 100%;
        width: 0;
        height: 0;
        border-left: 10px solid transparent;
        border-right: 10px solid transparent;
        border-top: 25px solid white;
        clear: both;
    }
}

/*
--------------------------------------------------------------------------------
 END OF CSS
--------------------------------------------------------------------------------
*/

/* レスポンシブ対応 - 各ページ用 */
@media screen and (max-width: 768px) {
    /* 大众点评ページ（dazhong-page）のレスポンシブ対応 */
    body.dazhong-page #contents_wrapper {
        zoom: 1 !important;
        transform: none !important;
    }
    
    body.dazhong-page #contents {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    body.dazhong-page #container {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 20px 15px !important;
        box-sizing: border-box !important;
    }
    
    body.dazhong-page #inner {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    body.dazhong-page .tl h1,
    body.dazhong-page .tl h2,
    body.dazhong-page .tl h3 {
        font-size: 18px !important;
        padding: 10px !important;
        line-height: 1.4 !important;
    }
    
    body.dazhong-page .tm {
        font-size: 16px !important;
        padding: 15px !important;
        line-height: 1.5 !important;
    }
    
    body.dazhong-page .txt {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    
    /* フォローページ（follow-page）のレスポンシブ対応 */
    body.follow-page #contents_wrapper {
        zoom: 1 !important;
        transform: none !important;
    }
    
    body.follow-page #follow .bg_inner {
        padding: 20px 15px !important;
    }
    
    body.follow-page #follow h2 {
        font-size: 18px !important;
        padding: 15px !important;
        line-height: 1.4 !important;
    }
    
    body.follow-page #follow .cyclebox {
        margin-bottom: 30px !important;
    }
    
    body.follow-page #follow .cyclebox ol {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    body.follow-page #follow .cyclebox ol li {
        width: 100% !important;
        font-size: 14px !important;
        line-height: 1.5 !important;
        padding: 15px !important;
    }
    
    body.follow-page #follow .leadbox {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    body.follow-page #follow .leadbox .txtbox,
    body.follow-page #follow .leadbox .imgbox {
        width: 100% !important;
    }
    
    body.follow-page #follow .leadbox .imgbox img {
        width: 100% !important;
        height: auto !important;
    }
    
    body.follow-page #follow .mt {
        font-size: 16px !important;
        padding: 15px !important;
        line-height: 1.4 !important;
    }
    
    body.follow-page #follow .txt {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    

    
    /* FAQページ（faq-page）のレスポンシブ対応 */
    body.faq-page #contents_wrapper {
        zoom: 1 !important;
        transform: none !important;
    }
    
    body.faq-page #qa .bg_inner {
        padding: 20px 15px !important;
    }
    
    body.faq-page #qa h3 {
        font-size: 18px !important;
        padding: 15px !important;
        line-height: 1.4 !important;
    }
    
    body.faq-page #qa .qabox {
        margin-bottom: 15px !important;
    }
    
    body.faq-page #qa .qabox dt {
        font-size: 14px !important;
        padding: 12px !important;
        line-height: 1.5 !important;
    }
    
    body.faq-page #qa .qabox dt a {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }
    
    body.faq-page #qa .qabox dd {
        font-size: 13px !important;
        padding: 15px !important;
        line-height: 1.6 !important;
    }
    
    body.faq-page #qa .qabox dd .txt {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    body.faq-page #qa .tab_list {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 5px !important;
    }
    
    body.faq-page #qa #tab_faq li {
        flex: 1 !important;
        min-width: 120px !important;
    }
    
    body.faq-page #qa #tab_faq li a {
        font-size: 12px !important;
        padding: 8px 5px !important;
        line-height: 1.3 !important;
    }
    
    /* 事例ページ（case-page）のレスポンシブ対応 */
    body.case-page #contents_wrapper {
        zoom: 1 !important;
        transform: none !important;
    }
    
    body.case-page #case .bg_inner {
        padding: 20px 15px !important;
    }
    
    body.case-page #case > h3 {
        font-size: 18px !important;
        padding: 15px !important;
        line-height: 1.4 !important;
    }
    
    body.case-page #case .casebox {
        margin-bottom: 30px !important;
        padding: 15px !important;
    }
    
    body.case-page #case .casebox .mt {
        font-size: 16px !important;
        padding: 10px !important;
        line-height: 1.4 !important;
    }
    
    body.case-page #case .casebox h4 {
        font-size: 15px !important;
        padding: 10px !important;
        line-height: 1.4 !important;
    }
    
    body.case-page #case .casebox .name {
        font-size: 14px !important;
        padding: 10px !important;
        line-height: 1.5 !important;
    }
    
    body.case-page #case .casebox .imgbox {
        width: 100% !important;
        margin-bottom: 15px !important;
    }
    
    body.case-page #case .casebox .imgbox img {
        width: 100% !important;
        height: auto !important;
    }
    
    body.case-page #case .casebox .txtbox {
        width: 100% !important;
    }
    
    body.case-page #case .casebox .txtbox .txt {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    body.case-page #case .exbox {
        margin-bottom: 30px !important;
        padding: 15px !important;
    }
    
    body.case-page #case .exbox .mt h4 {
        font-size: 15px !important;
        padding: 10px !important;
        line-height: 1.4 !important;
    }
    
    body.case-page #case .results .databox table {
        width: 100% !important;
        font-size: 12px !important;
        border-collapse: collapse !important;
    }
    
    body.case-page #case .results .databox th,
    body.case-page #case .results .databox td {
        padding: 8px 5px !important;
        font-size: 11px !important;
        line-height: 1.4 !important;
        word-wrap: break-word !important;
    }
    
    /* アプローチページ（approach-page）のレスポンシブ対応 */
    body.approach-page #contents_wrapper {
        zoom: 1 !important;
        transform: none !important;
    }
    
    body.approach-page #approach .bg_inner {
        padding: 20px 15px !important;
    }
    
    body.approach-page #approach h2 {
        font-size: 18px !important;
        padding: 15px !important;
        line-height: 1.4 !important;
    }
    
    body.approach-page #approach .approachbox {
        margin-bottom: 30px !important;
        padding: 15px !important;
    }
    
    body.approach-page #approach .approachbox .st {
        font-size: 16px !important;
        padding: 10px !important;
        line-height: 1.4 !important;
    }
    
    body.approach-page #approach .box {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    body.approach-page #approach .box .txtbox,
    body.approach-page #approach .box .imgbox {
        width: 100% !important;
    }
    
    body.approach-page #approach .box .imgbox img {
        width: 100% !important;
        height: auto !important;
    }
    
    body.approach-page #approach .box .txtbox .txt {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    body.approach-page #approach .box .txt_tl {
        font-size: 14px !important;
        padding: 10px !important;
        line-height: 1.5 !important;
    }
    
    body.approach-page #approach .box .txt_tl p {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    body.approach-page #approach .box2 {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    body.approach-page #approach .box2 .txt_tl {
        font-size: 14px !important;
        padding: 10px !important;
        line-height: 1.5 !important;
    }
    
    body.approach-page #approach .box2 .txt_tl p {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    body.approach-page #approach #debut .mt {
        font-size: 16px !important;
        padding: 15px !important;
        line-height: 1.4 !important;
    }
    
    body.approach-page #why .bg_inner {
        padding: 20px 15px !important;
    }
    
    body.approach-page #why h2 {
        font-size: 18px !important;
        padding: 15px !important;
        line-height: 1.4 !important;
    }
    
    body.approach-page #why .whybox {
        margin-bottom: 30px !important;
        padding: 15px !important;
    }
    
    body.approach-page #why .whybox .mt {
        font-size: 16px !important;
        padding: 10px !important;
        line-height: 1.4 !important;
    }
    
    body.approach-page #why .whybox .box {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    body.approach-page #why .whybox .box .txtbox,
    body.approach-page #why .whybox .box .imgbox {
        width: 100% !important;
    }
    
    body.approach-page #why .whybox .box .imgbox img {
        width: 100% !important;
        height: auto !important;
    }
    
    body.approach-page #why .whybox .box .txtbox .txt {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    body.approach-page #why .whybox .column {
        margin-bottom: 20px !important;
    }
    
    body.approach-page #why .whybox .column dl {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    body.approach-page #why .whybox .column dt {
        font-size: 14px !important;
        padding: 8px !important;
        line-height: 1.4 !important;
    }
    
    body.approach-page #why .whybox .column dd {
        font-size: 13px !important;
        padding: 10px !important;
        line-height: 1.6 !important;
    }
    
    body.approach-page #why .whybox .column dd .txt {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }
    
    body.approach-page #why .whybox .column dd .graph_tl {
        font-size: 12px !important;
        padding: 8px !important;
        line-height: 1.4 !important;
    }
    
    body.approach-page #why .whybox .rankbox {
        margin-bottom: 20px !important;
    }
    
    body.approach-page #why .whybox .rankbox .st {
        font-size: 14px !important;
        padding: 10px !important;
        line-height: 1.4 !important;
    }
    
    body.approach-page #why #why4 ul {
        display: flex !important;
        flex-direction: column !important;
        gap: 15px !important;
    }
    
    body.approach-page #why #why4 li {
        width: 100% !important;
        padding: 15px !important;
    }
    
    body.approach-page #why #why4 li .st {
        font-size: 14px !important;
        padding: 8px !important;
        line-height: 1.4 !important;
    }
    
    body.approach-page #why #why4 li .st span {
        font-size: 13px !important;
        line-height: 1.5 !important;
    }
    
    /* 共通：PC版ヘッダー・ナビゲーション・フッター非表示 */
    body.dazhong-page header:not(.mobile-fixed-header):not(.cf),
    body.follow-page header:not(.mobile-fixed-header):not(.cf),
    body.faq-page header:not(.mobile-fixed-header):not(.cf),
    body.case-page header:not(.mobile-fixed-header):not(.cf),
    body.approach-page header:not(.mobile-fixed-header):not(.cf),
    body.dazhong-page #header,
    body.follow-page #header,
    body.faq-page #header,
    body.case-page #header,
    body.approach-page #header,
    body.dazhong-page .header:not(.mobile-fixed-header),
    body.follow-page .header:not(.mobile-fixed-header),
    body.faq-page .header:not(.mobile-fixed-header),
    body.case-page .header:not(.mobile-fixed-header),
    body.approach-page .header:not(.mobile-fixed-header) {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }
    
    body.dazhong-page nav:not(.mobile-overlay-menu nav),
    body.follow-page nav:not(.mobile-overlay-menu nav),
    body.faq-page nav:not(.mobile-overlay-menu nav),
    body.case-page nav:not(.mobile-overlay-menu nav),
    body.approach-page nav:not(.mobile-overlay-menu nav),
    body.dazhong-page #gnav,
    body.follow-page #gnav,
    body.faq-page #gnav,
    body.case-page #gnav,
    body.approach-page #gnav,
    body.dazhong-page .gnav,
    body.follow-page .gnav,
    body.faq-page .gnav,
    body.case-page .gnav,
    body.approach-page .gnav,
    body.dazhong-page nav#gnav,
    body.follow-page nav#gnav,
    body.faq-page nav#gnav,
    body.case-page nav#gnav,
    body.approach-page nav#gnav,
    body.dazhong-page div#gnav,
    body.follow-page div#gnav,
    body.faq-page div#gnav,
    body.case-page div#gnav,
    body.approach-page div#gnav {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }
    
    body.dazhong-page footer,
    body.follow-page footer,
    body.faq-page footer,
    body.case-page footer,
    body.approach-page footer,
    body.dazhong-page #footer,
    body.follow-page #footer,
    body.faq-page #footer,
    body.case-page #footer,
    body.approach-page #footer,
    body.dazhong-page .footer,
    body.follow-page .footer,
    body.faq-page .footer,
    body.case-page .footer,
    body.approach-page .footer,
    body.dazhong-page #fixed_closing,
    body.follow-page #fixed_closing,
    body.faq-page #fixed_closing,
    body.case-page #fixed_closing,
    body.approach-page #fixed_closing {
        display: none !important;
        visibility: hidden !important;
    }
    
    /* 共通：レスポンシブレイアウト */
    body.dazhong-page,
    body.follow-page,
    body.faq-page,
    body.case-page,
    body.approach-page {
        margin: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
    }
    
    body.dazhong-page article,
    body.follow-page article,
    body.faq-page article,
    body.case-page article,
    body.approach-page article {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* 共通：aside サイドナビゲーション */
    body.dazhong-page aside,
    body.follow-page aside,
    body.faq-page aside,
    body.case-page aside,
    body.approach-page aside {
        width: 100% !important;
        margin-bottom: 20px !important;
        padding: 15px !important;
    }
    
    body.dazhong-page #sitenav,
    body.follow-page #sitenav,
    body.faq-page #sitenav,
    body.case-page #sitenav,
    body.approach-page #sitenav {
        width: 100% !important;
    }
    
    body.dazhong-page #sitenav ul,
    body.follow-page #sitenav ul,
    body.faq-page #sitenav ul,
    body.case-page #sitenav ul,
    body.approach-page #sitenav ul {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    body.dazhong-page #sitenav .row,
    body.follow-page #sitenav .row,
    body.faq-page #sitenav .row,
    body.case-page #sitenav .row,
    body.approach-page #sitenav .row {
        width: 100% !important;
        margin-bottom: 10px !important;
    }
    
    body.dazhong-page #sitenav .row p,
    body.follow-page #sitenav .row p,
    body.faq-page #sitenav .row p,
    body.case-page #sitenav .row p,
    body.approach-page #sitenav .row p {
        width: 100% !important;
        margin-bottom: 5px !important;
    }
    
    body.dazhong-page #sitenav .row p a,
    body.follow-page #sitenav .row p a,
    body.faq-page #sitenav .row p a,
    body.case-page #sitenav .row p a,
    body.approach-page #sitenav .row p a {
        font-size: 12px !important;
        padding: 8px 10px !important;
        line-height: 1.4 !important;
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* 共通：closing-section */
    body.dazhong-page .closingbox_mail a[href="/form"],
    body.follow-page .closingbox_mail a[href="/form"],
    body.faq-page .closingbox_mail a[href="/form"],
    body.case-page .closingbox_mail a[href="/form"],
    body.approach-page .closingbox_mail a[href="/form"] {
        display: block !important;
        width: 90% !important;
        max-width: 300px !important;
        margin: 0 auto 20px !important;
        padding: 15px !important;
        font-size: 16px !important;
        line-height: 1.4 !important;
        text-align: center !important;
        background: linear-gradient(135deg, #FF6B6B 0%, #FA5252 50%, #E03131 100%) !important;
        color: white !important;
        border-radius: 12px !important;
        text-decoration: none !important;
        box-shadow: 0 4px 8px rgba(255, 107, 107, 0.3) !important;
        transition: all 0.3s ease !important;
    }
    
    body.dazhong-page .closingbox_mail div.telbox,
    body.follow-page .closingbox_mail div.telbox,
    body.faq-page .closingbox_mail div.telbox,
    body.case-page .closingbox_mail div.telbox,
    body.approach-page .closingbox_mail div.telbox {
        display: none !important;
    }
    
    body.dazhong-page .closingbox_mail,
    body.follow-page .closingbox_mail,
    body.faq-page .closingbox_mail,
    body.case-page .closingbox_mail,
    body.approach-page .closingbox_mail {
        padding: 30px 20px !important;
        text-align: center !important;
    }
}

/* 640px以下の追加対応 */
@media screen and (max-width: 640px) {
    /* 各ページの文字サイズをさらに調整 */
    body.dazhong-page .tl h1,
    body.dazhong-page .tl h2,
    body.dazhong-page .tl h3,
    body.follow-page #follow h2,
    body.faq-page #qa h3,
    body.case-page #case > h3,
    body.approach-page #approach h2,
    body.approach-page #why h2 {
        font-size: 16px !important;
        padding: 8px !important;
        line-height: 1.3 !important;
    }
    
    body.dazhong-page .tm,
    body.follow-page #follow .mt,
    body.case-page #case .casebox .mt,
    body.approach-page #approach .approachbox .st,
    body.approach-page #why .whybox .mt {
        font-size: 14px !important;
        padding: 10px !important;
        line-height: 1.4 !important;
    }
    
    body.dazhong-page .txt,
    body.follow-page #follow .txt,
    body.case-page #case .casebox .txtbox .txt,
    body.approach-page #approach .box .txtbox .txt,
    body.approach-page #why .whybox .box .txtbox .txt {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }
    
    /* テーブル調整 */
    body.case-page #case .results .databox table {
        font-size: 10px !important;
    }
    
    body.case-page #case .results .databox th,
    body.case-page #case .results .databox td {
        padding: 5px 3px !important;
        font-size: 9px !important;
        line-height: 1.2 !important;
    }
    
    /* FAQ調整 */
    body.faq-page #qa .qabox dt,
    body.faq-page #qa .qabox dt a {
        font-size: 12px !important;
        padding: 10px !important;
        line-height: 1.4 !important;
    }
    
    body.faq-page #qa .qabox dd,
    body.faq-page #qa .qabox dd .txt {
        font-size: 11px !important;
        padding: 12px !important;
        line-height: 1.5 !important;
    }
    
    body.faq-page #qa #tab_faq li a {
        font-size: 10px !important;
        padding: 6px 3px !important;
        line-height: 1.2 !important;
    }
    
    /* サイドナビ調整 */
    body.dazhong-page #sitenav .row p a,
    body.follow-page #sitenav .row p a,
    body.faq-page #sitenav .row p a,
    body.case-page #sitenav .row p a,
    body.approach-page #sitenav .row p a {
        font-size: 10px !important;
        padding: 6px 8px !important;
        line-height: 1.3 !important;
    }
    
    /* closing-section調整 */
    body.dazhong-page .closingbox_mail a[href="/form"],
    body.follow-page .closingbox_mail a[href="/form"],
    body.faq-page .closingbox_mail a[href="/form"],
    body.case-page .closingbox_mail a[href="/form"],
    body.approach-page .closingbox_mail a[href="/form"] {
        font-size: 14px !important;
        padding: 12px !important;
        line-height: 1.3 !important;
    }
}

/* 480px以下の追加対応 */
@media screen and (max-width: 480px) {
    /* 各ページのコンテナ調整 */
    body.dazhong-page #container,
    body.follow-page #container,
    body.faq-page #container,
    body.case-page #container,
    body.approach-page #container {
        padding: 15px 10px !important;
    }

    body.dazhong-page img,
    body.follow-page img,
    body.faq-page img,
    body.plan-page img,
    body.case-page img,
    body.approach-page img {
        width: 100% !important;
        height: auto !important;
    }
    
        body.dazhong-page .tl h1,
    body.dazhong-page .tl h2,
    body.dazhong-page .tl h3,
    body.follow-page #follow h2,
    body.faq-page #qa h3,
    body.case-page #case > h3,
    body.approach-page #approach h2,
    body.approach-page #why h2 {
        font-size: 14px !important;
        padding: 6px !important;
        line-height: 1.2 !important;
    }

    body.case-page #case > h3 {
        height:70px !important;
    }
    body.plan-page #plan h3 {
        height: 240px !important;
    }

    body.dazhong-page .tl h1 img,
    body.dazhong-page .tl h2 img,
    body.dazhong-page .tl h3 img,
    body.follow-page #follow h2 img,
    body.case-page #case > h3 img,
    body.approach-page #approach h2 img,
    body.approach-page #why h2 img {
        width: 100% !important;
        height: auto !important;
    }
    body.faq-page #qa h3 {
        padding: 30px 0 !important;
    }
    body.faq-page #qa h3 img{
        width: 60% !important;
        height: auto !important;
    }
    
    body.dazhong-page .tm,
    body.follow-page #follow .mt,
    body.case-page #case .casebox .mt,
    body.approach-page #approach .approachbox .st,
    body.approach-page #why .whybox .mt {
        font-size: 12px !important;
        padding: 8px !important;
        line-height: 1.3 !important;
    }
    
    body.dazhong-page .txt,
    body.follow-page #follow .txt,
    body.case-page #case .casebox .txtbox .txt,
    body.approach-page #approach .box .txtbox .txt,
    body.approach-page #why .whybox .box .txtbox .txt {
        font-size: 11px !important;
        line-height: 1.4 !important;
    }
    
    /* テーブル最小サイズ調整 */
    body.case-page #case .results .databox table {
        font-size: 9px !important;
    }
    
    body.case-page #case .results .databox th,
    body.case-page #case .results .databox td {
        padding: 4px 2px !important;
        font-size: 8px !important;
        line-height: 1.1 !important;
    }
    
    /* FAQ最小サイズ調整 */
    body.faq-page #qa .qabox dt,
    body.faq-page #qa .qabox dt a {
        font-size: 30px !important;
        padding: 20px 45px !important;
        line-height: 1.3 !important;
    }
    
    body.faq-page #qa .qabox dd,
    body.faq-page #qa .qabox dd .txt {
        font-size: 30px !important;
        padding: 25px 45px !important;
        line-height: 1.4 !important;
    }
    
    body.faq-page #qa #tab_faq li a {
        font-size: 9px !important;
        padding: 5px 2px !important;
        line-height: 1.1 !important;
    }
    
    /* サイドナビ最小サイズ調整 */
    body.dazhong-page #sitenav .row p a,
    body.follow-page #sitenav .row p a,
    body.faq-page #sitenav .row p a,
    body.case-page #sitenav .row p a,
    body.approach-page #sitenav .row p a {
        font-size: 9px !important;
        padding: 5px 6px !important;
        line-height: 1.2 !important;
    }
    
    /* closing-section最小サイズ調整 */
    body.dazhong-page .closingbox_mail a[href="/form"],
    body.follow-page .closingbox_mail a[href="/form"],
    body.faq-page .closingbox_mail a[href="/form"],
    body.case-page .closingbox_mail a[href="/form"],
    body.approach-page .closingbox_mail a[href="/form"] {
        font-size: 12px !important;
        padding: 10px !important;
        line-height: 1.2 !important;
    }
    
    body.dazhong-page .closingbox_mail,
    body.follow-page .closingbox_mail,
    body.faq-page .closingbox_mail,
    body.case-page .closingbox_mail,
    body.approach-page .closingbox_mail {
        padding: 20px 15px !important;
    }

    #qa .txt_link a {
        font-size: 40px !important;
        line-height: 1.6;
    }
}
