@charset "UTF-8";
@media only screen and (max-width: 599px) {
    .pageHeader h1 {
        font-size: 16px;
    }
    .wrapper {
        height: auto;
    }
    .main_contents {
        padding: 0 20px;
        box-sizing: border-box;
    }
    #header-text, #header-nav {
        display: none;
    }
    .head_container {
        height: 80px;
        background-color: #fff;
        border-bottom: none;
    }
    .header__logo {
        display: block;
        position: static;
        cursor: pointer;
        margin: 8px auto;
        background: none;
    }
    .header__logo:hover {
        background: none;
    }
    .header__logo img {
        display: block;
        width: 150px;
        height: auto;
    }
    .headerLink__button {
        display: block;
        margin: 14px auto;
    }
    .headerLink__button button{
        background: #fcccd4;
        padding: 10px 30px;
        width: 85%;
        border: 2px solid #fcccd4;
        color: #fff;
        border-radius: 8px;
        font-size: 16px;
    }
    .ec-headerRole__cart {
        top: 2em;
        right: 2em;
    }
    .merit_row {
        display: block;
        height: auto;
        padding: 10px 0;
    }
    .merit_disp {
        height: auto;
    }
    .box, .top_copy {
        width: 100%;
        padding: 0;
    line-height: 1.7;
    }
    .box p, .top_copy p {
        font-size: 16px;
    }
    .box h2, .top_copy h2 {
        font-size: 17.5px;
    }
    .top_copy {
    padding: 0px 18px;
    }
    .top_copy a {
        font-size: 12px;
    }
    .box__title {
        width: 100%;
    }
    .box__txt {
        padding: 25px;
    }
    .box__txt p{
        font-size: 1.1em;
    }
    .form-title {
        font-size: 18px;
    }
    .login__form__wrapper {
        padding: 3px 12px 10px 12px;
        margin-bottom: 10px;
    }
    .login__form button {
        width: 80%;
    }
    .login__form span {
        margin-bottom: 0;
    }
    .border-middle {
        margin: 0 0 18px 0!important;
    }
    .border-middle:before {
        width: 23%;
    }
    .border-middle:after {
        width: 23%;
    }
    .news__box {
        width: 100%;
        margin: 0;
    }
    .news_txt {
        padding: 20px;
        font-size: 1.1em;          
    }
    .ec-newsRole .ec-newsRole__newsItem:not(:last-of-type) {
        padding-bottom: 8px;
        margin-bottom: 8px;
    }
    #footer-logo {
        display: none;
    }
    .wrapper__inner {
        padding-bottom: 570px;
        margin-bottom: 10px;
        padding-top: 80px;
        width: 100%;
    }
    .footer {
        height: 570px;
    }
    .footer-menu {
        display: block;
        width: 100%;
    }
    .footer-menu__list {
        width: 100%;
        padding: 0;
    }
    .footer__bottom {
        display: block;
        width: 100%;
        line-height: 1.8;
        font-size: 1.0em;
    }
    .footer_txt {
        padding: 0;
    }
    .footer_txt, .copyright {
        display: block;
        margin: 0;
    }
    .footer_txt li {
        float: none;
        margin: 0;
    }
    .ec-mypageRole {
        padding: 16px 0;
    }
    .browse_key #hyphen1, .browse_key #hyphen2 {
        display: none;
    }
    .browse_key .d-block {
        margin: 12px 0 22px;
        line-height: 1.9;
    }
    .browse_key {
        display: block;
        margin: 24px auto;
    }
    .browse_key_text {
        margin-bottom: 5px;
    }
    .browse_key .col {
        width: 100%;
    }
    .browse_key_button {
        width: 100%;
    }
    .browse_key_exp h2 {
        font-size: 0.9em;
    }
    .browse_key_exp-txt {
        line-height: 1.7;
        font-size: 0.8em;
    }
    .ec-registerRole {
        margin: 0 auto;
        padding: 10px 0 0 0;
    }
    .ec-off1Grid {
        padding: 0 10px;
    }
    .ec-borderedDefs dl {
        padding: 15px 0 4px;
    }
    .ec-borderedDefs dt {
        padding: 10px 0;
        width: 100%;
    }
    .ec-borderedDefs dd {
        width: 100%;
        margin: 0 0 10px;
    }
    .ec-off3Grid {
        padding: 10px;
    }
    .ec-reportDescription {
        font-size: 14px;
        line-height: 1.8;
    }
    .registerComplete_disp {
        width: 100%;
        font-size: 14px;
        line-height: 1.5;
    }
    .registerComplete_disp ul {
        padding-left: 28px;
    }
    .registerComplete_disp .setting_method {
        padding: 0;
        line-height: 1.5;
    }
    .item_img {
        width: 100% !important;
        max-width: 400px !important;
        max-height: 400px !important;
    }
    .item_nav {
        display: none;
    }
    .breadcrumbs {
        border-top: 1px solid #ccc;
    }
    .companey_login {
        padding: 0;
    }
    .copy_for_company {
        width: 100%;
        margin-bottom: 30px;
    }
    .copy_text .text-lg {
        font-size: 28px;
    }
    .copy_for_company .copy_text {
        margin-top: 12px;
    }
    .company_merit .merit_text {
        line-height: 2;
    }
    .merit_boxs {
        display: block;
    }
    .merit_box01, .merit_box02 {
        width: 100%;
        margin-bottom: 30px;
    }
    .merit_box01 .merit_box_top {
        width: inherit;
        height: 240px;
    }
    .merit_box_top_title span::after {
        left: 80px;
    }
    .merit_box01 .merit_box_bottom, .merit_box02 .merit_box_bottom {
        width: inherit;
        height: 200px;
    }
    .company_merit .merit_subtitle {
        padding-left: 0px;
        margin-top: 28px;
    }
    .company_merit .merit_subtitle span {
        font-size: 1.4em;
    }
    .merit_box02 .merit_box_top {
        width: inherit;
        height: 315px;
    }
    .company_merit .merit_title .merit_img {
        display: none;
    }
    table.tradelaw-table {
        width: 100%;
        margin: 20px 0;
        font-size: 0.8em;
    }
    table.tradelaw-table tbody tr {
        margin: 10px 0;
    }
    table.tradelaw-table tbody th, table.tradelaw-table tbody td {
        display: list-item;
        border: none;
        padding: 0;
        text-align: left;
        list-style: none;
        margin: 0;
        width: 100%;
    }
    table.tradelaw-table tbody th {
        display: block;
        background: none;
        white-space: normal;
        padding-bottom: 5px;
        margin-bottom: 10px;
        border-bottom: 1px solid #ccc;
        font-weight: bold;
        width: auto;
    }
    table.tradelaw-table tbody tr + tr th {
        margin-top: 30px;
    }
    .ec-contactRole {
        padding-left: 0;
        padding-right: 0;
    }
    .ec-contactRole .section {
        margin-bottom: 0px;
    }
    .ec-contactRole .contact_disc {
        padding-left: 0px;
    }
    .ec-halfInput input[type='text'] {
        width: 100%;
        margin: 5px 0;
    }      
    .contact_cautions, .contact_number {
        padding: 20px;
    }
    .contact_subHeading {
        font-size: 12px;
    }
    .contact_cautions p, .contact_number p {
        font-size: 0.7em;
    }
    .contact_privacy {
        margin: 30px 0;
    }
    .contact_privacy p {
        padding: 15px;
        font-size: 0.7em;
    }
    .contact_number h3 {
        font-size: 0.8em;
    }
    .ec-blockBtn--action {
        width: 100%;
    }
    .contact_form_wrapper dl {
        display: block;
        padding: 0;
        margin-bottom: 32px;
    }
    .contact_for_company dl:not(:last-child) {
        margin-bottom: 12px;
    }
    .contact_form_wrapper dt {
        width: 80%;
        text-align: left;
        height: 35px;
        margin-bottom: 0px;
    }
    .contact_form_wrapper dd {
        width: 100%;
        margin-left: 0;
    }
    .contact-item {
        position: static;
        text-align: left;
        width: 70%;
        margin: 0;
    }
    .contact-required, .contact-required-left, .contact-required-normal {
        position: static;
    }
    .contact-required-left {
        margin: 0 1.3em 0 0;
    }
    .contact_form_wrapper ul {
        font-size: 0.9em;
        padding-left: 18px;
    }
    .contact_for_company {
        padding: 20px 10px;
    }
    .contact_for_company p {
        font-size: 12px;
        padding-left: 8px;
    }
    .zipInputHelp span {
        border-radius: 8px;
    padding: 4px 5px;
    font-size: 0.7em;
    }
    .contact_form_wrapper {
        font-size: 12px;
        margin-bottom: 24px;
    }
    .ec-halfInput input[type='text'] {
        height: 36px;
    }
    .ec-input input, .ec-halfInput input, .ec-numberInput input, .ec-zipInput input, .ec-telInput input, .ec-select input, .ec-birth input {
        height: 36px;
    }
    .ec-zipInput {
        width: 100%;
    }
    .ec-headerRole__cart{
        display: none;
    }
    .header-subMenu {
        display: block;
        border: none;
        border-radius: 0;
        box-shadow: 4px 4px 8px 0 hsl(0deg 0% 89% / 30%);
        font-size: 14px;
        height: auto;
        padding: 10px 20px;
        position: static;
        transition: .1s linear;
        width: 100%;
        list-style: none;
    }      
    .header-subMenu:before {
        display: none;
    }
    .history_table {
        display: block;
        font-size: 1em;
    }
    .history_table thead {
        display: block;
    }
    .history_table thead tr {
        display: block;
    }
    .history_table thead tr th {
        width: 30%;
        padding: 10px;
    }
    .history_table tbody tr td {
        padding: 8px 2px;
        line-height: 1.7;
        box-sizing: border-box;
    }
    .history_table thead tr td:first-child,
    .history_table tbody tr td:first-child {
        width: 20%;
    }
    .history_table thead tr th:not(:first-child),
    .history_table tbody tr td:not(:first-child) {
        width: 40%;
    }
    .history_table thead tr th:last-child,
    .history_table tbody tr td:last-child {
        width: 25%;
    }

    .history_table tbody tr td .not_payment {
    display: block;
    margin: 0;
    width: 60px;
    }
    .ec-editRole {
        padding: 0;
    }
    .browse_key_disc {
        font-size: 0.8em;
        padding: 12px 10px;
        line-height: 1.8;
    }
    .contact_inquiry_notice {
        line-height: 1.8;
        font-size: 0.75em;
        margin: 8px 0;
    }
    .ec-contactConfirmRole {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    .contact_confirm {
        padding: 20px 8px;
        width: 100%;
    }
    .contact_confirm dl {
        display: block;
        margin: 0;
        flex-wrap: nowrap;
    }
    .contact_confirm dt {
        text-align: left;
        width: 100%;
        font-size: 16px;
    }
    .contact_confirm dd {
        width: 100%;
        font-size: 0.85em;
    }
    .contact_button-fix, .contact_button-send {
        margin: 18px 10px;
    }
    .order_history h1 span::after {
        width: 115%;
    }
    .order_detail-head {
        display: block;
    }
    .order_detail-headItem {
        width: 90%;
        padding: 10px 20px;
        font-size: 1.3em;
        margin: 10px auto;
    }
    .order_detail-body, .order_detail-body_half {
        font-size: 1.3em;
        padding: 20px 22px;
    }
    .additional_fee {
        font-size: 0.9em;
    }
    .order_detail-wrap {
        display: block;
    }
    .order_detail-body_half {
        width: 100%;
        box-sizing: border-box;
    }
    .breadcrumbs {
        padding: 0;
    }
    .breadcrumb  {
        padding-left: 10px;
    }
    .breadcrumb li {
        font-size: 1em;
    }
    .payment .payment_subtitle01 {
        font-size: 1.35em;
        margin-bottom: 10px;
    }
    .payment .payment_subtitle02 {
        font-size: 1.2em;
        padding-left: 0;
        margin-bottom: 18px;
    }
    .payment .payment_subtitle02::after {
        left: -2px;
    width: 110%;
    }

    .payment p {
        padding-left: 0;
        line-height: 1.9;
        font-size: 1em;
        margin-bottom: 8px;
    }
    .delivery_provider {
        display: block;
        padding-left: 0;
    }
    .delivery_provider .delivery_provider-item:not(:last-child) {
        margin-right: 0;
    }
    .delivery_provider .delivery_provider-item {
        padding: 8px 18px;
        margin: 8px 0;
        width: 100%;
        font-size: 1.2em;
        box-sizing: border-box;
    }
    .img__block img {
        max-width: 300px;
        width: 80%;
        margin: 0 auto;
    }
    .help_guide-item .help_guide-title .step_img {
        display: none;
    }
    .company_merit .merit_title .merit_subTitle, .help_guide-item .help_guide-title .step_title {
    margin: 0;    
    }
    .company_merit .merit_title, .help_guide-item .help_guide-title {
        font-size: 1.6em;
        display: block;
        margin: 0;
    padding: 0;
    }
    .company_merit .merit_title::after {
        bottom: -10px;
    }
    .company_merit .merit_title .merit_subTitle::after, .help_guide-item .help_guide-title .step_title::after {
        bottom: 12px;
        width: 50%;
    }
    .step_txt {
        font-size: 24px;
    }
    .merit_subText {
        font-size: 24px;
    }
    .merit_num {
        font-size: 42px;
    }
    .help_guide-item {
        margin-bottom: 3em;
    }
    .help_guide-item img {
        width: 100%;
        margin: 30px 0;
    }
    .help_guide-text {
        font-size: 1.15em;
    }
    .help_guide-text:first-of-type {
        padding-top: 24px;
    }
    .help_guide_cautions {
        padding: 20px;
    }
    .help_guide_subHeading {
        font-size: 1.1em;
    }
    .help_guide_cautions p {
        font-size: 1.0em;
    }
    .faqRole {
        padding-left: 0;
        padding-right: 0;
    }
    .faq_category-wrap {
        padding: 0;
    }
    .faq_category-inner_wrap {
        display: block;
    }
    .faq_category-inner_wrap .faq_category-item {
        border-bottom: 1px solid inherit;
        box-shadow: none;
        width: 100%;
        display: flex;
        margin: 10px 0;
        box-sizing: border-box;
    }
    .faq_section {
        padding: 100px 0 20px;
        margin-top: -80px;
    }
    .faq_section h2 {
        margin: -72px 0 8px;
        padding: 90px 0 10px;
        font-size: 14px;
    }
    .faq_item .faq_item-title {
        font-size: 12px;
    }
    .faq_item .faq_item-text {
        padding: 12px 20px;
        font-size: 12px;
    }
    .faq_item-text ol{
        padding-left: 0;
    }
    .faq_item-text h4 {
        font-size: 14px;
        margin-top: 24px;
        line-height: 2;
    }
    .faq_category-item i {
        font-size: 24px;
        padding: 0;
        width: 33px;
    }
    .faq_item-text ul {
        padding-left: 10px;
    }
    .faq_category-item p {
        margin: 0 0 0 8px;
    }
    .ec-cartCompleteRole {
        padding-left: 0;
        padding-right: 0;
    }
    .cartComplete_wrap {
        padding: 10px 20px;
        margin: 20px 0 40px;
    }
    .ec-reportHeading h1, .ec-reportHeading h2, .ec-reportHeading h3, .ec-reportHeading h4, .ec-reportHeading h5, .ec-reportHeading h6, .ec-reportHeading p {
        font-size: 18px;
    }
    .ec-reportHeading {
        border-top: none;
    }
    .cartComplete_wrap .btn-to_top {
        width: 60%;
    }
    .banner_page .row {
        display: block;
        padding-left: 10px;
    }
    .banner_link {
        margin: 0 0 32px;
        width: 100%;
    }
    .banner_link .banner_img {
        height: auto;
    }
    .developper_page {
        width: auto;
    }
    .developper_page p, .banner_link a, .banner_link-sq_01 a, .banner_link-sq_02 a {
        margin-top: 10px;
    }
    .banner_link-sq_01, .banner_link-sq_02 {
        margin: 0 0 32px;
        width: 100%;
    }
    .banner_link-sq_01 .banner_img-sq_01 {
        height: 210px;
    }
    .banner-disp-qr p {
        padding-left: 0;
    }
    .section-qr {
        padding-left: 0px;
    }
    .developper_page .section:first-child, .payment .section:first-child {
        margin-bottom: 35px;
    }
    .agreement .ec-off1Grid .ec-off1Grid__cell {
        width: 100%;
    }
    .agreement p {
        font-size: 12px;
    }
    .agreement ol {
        padding-left: 36px;
    }
    .agreement ul {
        padding-left: 18px;
        font-size: 12px;
    }
    .agreement section p:nth-of-type(2) {
        padding-left: 18px;
    }
    .privacy_policy, .agreement {
        padding-bottom: 40px;
    }
    .customer_news {
        padding-bottom: 30px;
        width: 100%;
    }
    .customer_news ul {
        padding-left: 10px;
    }
    .ec-input .fa-eye, .ec-input .fa-eye-off {
        top: .6em;
        right: 1em;
    }
    .ec-cartRow .ec-cartRow__contentColumn {
        display: block;
    }
    .ec-cartRow .ec-cartRow__img {
        display: block;
        width: 60%;
        padding-right: 0px;
        box-sizing: border-box;
        padding: 0 5px;
    }
    .ec-cartRow .ec-cartRow__summary {
        display: block;
        margin-left: 0px;
        font-weight: bold;
        width: auto;
        padding: 0 5px;
        font-size: 11px;
        line-height: 1.7;
    }
    .mypage_index_title01::after, .mypage_index_title02::after {
        width: 105%;
    }
    .mypage_acd-open, .mypage_acd-close {
        width: 100%;
    }
    .mypage_acd-open i, .mypage_acd-close i {
        top: 1.05em;
        right: 5.5em;
    }
    .customer_news_detail {
        width: 100%;
    }
    .ec-mypageRole .ec-blockBtn--cancel {
        width: 100%;
    }
    .ec-withdrawRole .ec-blockBtn--cancel {
        width: 100%;
    }
    .ec-registerCompleteRole .ec-blockBtn--cancel {
        width: 100%;
    }
    .ec-withdrawConfirmRole .ec-blockBtn {
        width: 100%;
    }
    .ec-contactRole .ec-blockBtn--action {
        font-size: 17px;
        width: 100%;
        margin: 0 auto;
    }
    .productRole span {
        display: inline;
    }
    .shopping__form {
        padding-bottom: 0;
    }
    .shopping__form select {
        font-size: 15px;
    }
    .shopping__form input[type="number"] {
        font-size: 15px;
    }
    .shopping__form .detail_quantity {
        margin-right: 14px;
    }
    .ec-productRole .ec-productRole__price .ec-price {
        display: flex;
        align-items: baseline;
    }
    .ec-productRole__tags {
        padding: 8px 14px;
    }
    .shopping_login_wrapper .ec-login {
        padding: 30px 24px 60px;
    }
    .shopping_login_wrapper .ec-grid2 .ec-grid2__cell {
        width: 100%;
    }
    .ec-orderRole {
        padding-left: 0;
        padding-right: 0;
    }
    .usage_environment section:not(:last-child) {
        padding-bottom: 0;
    }
    .usage_environment .bg-box {
        padding: 12px;
    }
    .usage_environment h3 {
        font-size: 16px;
    }
    .ec-orderRole .ec-orderRole__summary {
        position: relative;
    }
    .ec-cartRole .ec-blockBtn--action, .ec-cartRole .ec-cartRole__actions .ec-blockBtn--cancel {
        width: 100%;
    }
}

@media only screen and (min-width: 600px) and (max-width: 1025px){
    header {
        height: 170px;
    }
    .wrapper__inner {
        padding-top: 170px;
        width: 100%;
    }
    .header a {
        padding-top: 0px;
    }
    .header__logo {
        top: 32px;
    }
    .header-nav {
        top: 32px
    }
    .header__link, .ec-headerRole__cart {
        line-height: 1;
    }
    .main_contents {
        padding: 0 20px;
        box-sizing: border-box;
    }
    .box {
        width: 80%;
        margin-bottom: 0;
    }
    .box__title p {
        font-size: 1em;
    }

    .login__form__wrapper {
        width: 80%;
    }
    .merit_row {
        margin-bottom: 22px;
    }
    .box-md {
        width: 50%;
        height: 500px;
        margin: 0 10px;
        box-sizing: border-box;
    }
    .box__title {
        width: 100%;
    }
    .box__txt p {
        font-size: 1.3em;
    }
    .box p, .top_copy p {
        line-height: 1.7;
        /* font-size: 1em; */
    }
    .merit_disp {
        height: 170px;
    }
    .order_detail-headItem {
        padding: 10px 28px;
        font-size: 1.4em;
        margin: 0 10px;
    }
    .order_detail-wrap {
        display: block;
    }
    .order_detail-body_half {
        width: 100%;
        box-sizing: border-box;
    }
    .ec-productRole__price {
        text-align: right;
    }
    .merit_box01, .merit_box02 {
        width: 50%;
        margin: 0 10px;
        box-sizing: border-box;
    }
    .merit_box01 .merit_box_top, .merit_box02 .merit_box_top,
    .merit_box01 .merit_box_bottom, .merit_box02 .merit_box_bottom {
        width: auto;
        box-sizing: border-box;
    }
    .merit_box02 .merit_box_bottom {
        height: 190px;
    }
    .login__form__wrapper {
        width: 50%;
        box-sizing: border-box;
        margin-bottom: 0;
    }
    .merit_subText {
        font-size: 20px;
    }
    .merit_num {
        font-size: 38px;
    }
    .company_merit .merit_title .merit_subTitle {
        margin: 0 20px 0;
    }
    .company_merit .merit_title {
        font-size: 16px;
        margin: 0;
        padding: 5px 0;
    }
    .step_txt {
        font-size: 28px;
    }
    .step_num {
        font-size: 42px;
    }
    .company_merit .merit_text {
        line-height: 1.8;
        font-size: 14px;
        padding-top: 0px;
        padding: 0 8px;
        margin-top: 18px;
    }
    .top_copy {
        width: 50%;
        padding: 0px 18px;
    }
    .top_copy a {
        font-size: 14px;
    }
    .login__form p {
        margin: 18px 0;
    }
    .login__form button:first-child {
        margin-bottom: 0;
    }
    .mypage_index_title01::after, .mypage_index_title02::after {
        width: 105%;
    }
    .mypage_acd-open i, .mypage_acd-close i {
        right: 14.5em;
    }
    .float-left {
        padding: 10px 0;
    }
    .float__item {
        margin-right: 18px;
        width: 220px;
    }
    .float__item img {
        width: 220px;
    height: 150px;
    }
    .product__text p {
        font-size: 12px;
    }
    .product__text h2 {
        font-size: 14px;
    }
    .product__text p, .product__text h2 {
        margin-top: 5px;
    }
    .ec-zipInput {
        width: 100%;
    }
    .ec-contactRole .contact_disc {
        padding-left: 80px;
    }
    .contact-item {
        width: 70%;
    }
    .contact-required-left {
        left: -22px;
    }
    .footer-menu__list {
        padding: 0 50px;
    }
    .company_merit .merit_title, .help_guide-item .help_guide-title {
        font-size: 16px;
    }
    .help_guide-item img {
        width: 100%;
        margin: 30px 0;
    }
    .ec-cartRole .ec-cartRole__actions .ec-blockBtn--cancel {
        padding: 0;
    }
    .ec-orderRole .ec-orderRole__detail {
        width: 60%;
    }
    .ec-orderRole .ec-orderRole__summary {
        width: 40%;
    }
    .ec-totalBox .ec-totalBox__spec {
        font-size: 14px;
    }
    .ec-totalBox .ec-totalBox__price {
        font-size: 20px;
    }
    .shopping_login_wrapper .ec-grid2 .ec-grid2__cell {
    width: 100%;
    }
    #shopping_order_payment_type_0_body dt {
        width: 50%;
    }
}