@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Allura&display=swap');

body {
    font-family: 'Noto Sans JP', sans-serif;
    line-height: 1.5em;
    overflow-wrap: break-word;
	  -webkit-text-size-adjust: 100%;
}

html {
    scroll-behavior: smooth;
}

/*=== NAVBAR ===*/
#main-nav {
    background: #fff;
}

.logo {
    width: 70%;
}

.nav-item {
/*    font-size: 14px;*/
    font-size: 12px;
    padding: 0 5px;
    position: relative;
}

.nav-item a {
    padding: 0 5px;
}

.nav-item:not(:last-child)::before {
    content: "";
    height: 60%;
    width: 1px;
    position: absolute;
    right: 0;
    top: 8px;
    background-color: #999;
}

/*=== HOME SECTION ===*/
#home-section {
/*     background: url(../images/top-banner.jpg); */
/*	background: url(https://magenta-beryllium5807.znlc.jp/wordpress/wp-content/uploads/2023/10/top-banner.png); */
	background: url(/wp-content/uploads/2023/10/top-banner.png); 
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    min-height: 700px;
}

#home-section .home-inner {
/*    margin-top: 110px;*/
    margin-top: 75px;
}

#home-section-lower {
    background: url(../images/top-banner-lower.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    min-height: 700px;
    display: none;
}

#home-section-lower .home-inner {
/*    margin-top: 110px;*/
    margin-top: 75px;
}

#home-section-campaign {
    background: url(../images/campaign-top-banner.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    min-height: 530px;
    position: relative;
}

#home-section-campaign .home-inner {
/*    margin-top: 110px;*/
    margin-top: 75px;
}

#wp-fullbody {
    margin-top: 80px;
}

/*=== HOME HEAD ===*/
#home-head-section {
    background: #333;
    color: #fff;
    padding: 30px 0;
}

.head-item {
    background: #fff;
    color: #000;
/*    padding: 30px 10px;*/
/*    height: 125px;*/
    padding: 10px 10px;
    height: 100px;
}

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

.head-item .item-wrap {
    width: 100%;
    font-size: 14px;
}

.head-item .left-item {
    display: inline-block;
    vertical-align: middle;
    width: 20%;
    padding-top: 18px;
}

.head-item .left-item img {
    width: 50px;
/*    height: auto;*/
    height: 50px;
    object-fit: contain;
}

.head-item .middle-item {
    padding-left: 5px;
    display: inline-block;
    vertical-align: middle;
    width: 60%;
    text-align: center;
    padding-top: 15px;
}

.head-item .middle-item.middle-item-last {
    padding-top: 5px;
}

.head-item .right-item {
    padding-left: 5px;
    display: inline-block;
    vertical-align: middle;
    width: 10%;
    padding-top: 12px;
}

.head-item .right-item img {
    display: inline-block;
    width: 20px;
}

.head-item .middle-item2 {
    margin-top: -10px;
}

/*=== COMPARE SECTION ===*/
#compare-section {
    background: url(../images/compare-bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    min-height: 400px;
}

.compare-wrap {
    padding-top: 100px;
}

.compare-header {
    font-weight: 700;
    font-size: 32px;
    margin-bottom: 20px;
}

.compare-wrap2 {
    text-align: center;
    margin-top: 40px;
}

.col3 {
    text-align: center;
    display: inline-block;
    padding: 0 10px;
    font-size: 18px;
}

.col3 img {
    width: 60px;
    height: auto;
}

.col3:nth-child(2) {
    font-weight: 700;
    vertical-align: top;
    font-size: 24px;
    padding-top: 20px;
    padding-left: 0;
}

/*=== COMPARE SECTION TABLE ===*/
#compare-table {
    margin-top: -15px;
    background-color: #f4f4f4;
    padding-bottom: 60px;
}

.compare-item {
    margin-bottom: 20px;
    border: 1px solid #000;
    border-radius: 12px;
}

.no1 {
    background: #fff;
    vertical-align: middle;
    padding: 40px 10px 40px 40px;
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

.no1 img {
    height: 48px;
    width: auto;
    margin-right: 10px;
}

.no1 span:first-child {
/*    display: inline-block;*/
/*    vertical-align: middle;*/
    display: block;
    width: 15%;
    float: left;
}

.no1 span:last-child {
/*    display: inline-block;*/
/*    text-align: left;*/
    text-align: center;
/*    vertical-align: middle;*/
    display: block;
    width: 85%;
    float: left;
}

.no2 {
    background: #000;
    color: #fff;
    text-align: center;
    padding: 20px 10px 20px 10px;
}

.no2 img {
    height: 48px;
    width: auto;
    margin-top: 10px;
}

.no3 {
    background: #d8d8d8;
    vertical-align: middle;
    padding: 40px 10px 40px 40px;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.no3 img {
    height: 48px;
    width: auto;
    margin-right: 10px;
}

.no3 span:first-child {
/*
    display: inline-block;
    vertical-align: middle;
*/
    display: block;
    width: 15%;
    float: left;
}

.no3 span:last-child {
/*    display: inline-block;*/
/*    text-align: left;*/
/*    vertical-align: middle;*/
    text-align: center;
    display: block;
    width: 85%;
    float: left;
}

.my-no {
    line-height: 275%;
}

.compare-item:not(:first-child) .no1 {
    background: #d8d8d8;
}

.compare-item:not(:first-child) .no3 {
    background: #fff;
}

/*=== TITLE HEAD SECTION ===*/
#title-head-section {
    background: url(../images/bg-stripe.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;

}

.title-wrap {
    text-align: center;
    padding: 40px 0;
}

.title-jp {
    font-weight: 700;
    font-size: 24px;
    padding-bottom: 8px;
    border-bottom: 1px solid #999;
    width: fit-content;
    display: block;
    margin: 0 auto;
}

.title-en {
    color: #666;
    text-transform: uppercase;
}

/*=== PRICE PLAN SECTION ===*/
#price-plan-section {
    padding: 40px 0 80px;
}

.phone-icon {
    height: 24px;
    display: inline-block;
    vertical-align: top;
}

.mail-icon {
    height: 14px;
    display: inline-block;
    vertical-align: middle;
}

.mail-icon2 {
    height: 20px;
    display: inline-block;
    vertical-align: middle;
}

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

.txt-bold {
    font-weight: 700;
    font-size: 16px;
}

.txt-xl-bold {
    font-weight: 900;
}

.txt-border {
    border: 2px solid #000;
    padding: 2px 30px;   
}

.add-note {
    font-weight: 900;
    background: #fff;
}

.txt-underline {      
    background: linear-gradient(transparent 70%, #f3a719 50%);
/*
    text-decoration: underline;
    text-decoration-color: #f3a719;
    text-decoration-thickness: 50%;
    text-underline-offset: -0.7em;
*/
}

.price-table table,
.price-table-sp table {
    border-collapse: collapse;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    table-layout: fixed;
    text-align: center;
}

.price-table table tr,
.price-table-sp table tr{
    background-color: #fff;
    padding: .35em;
    border-bottom: 1px solid #b7b7b7;
}

.price-table table th,
.price-table table td,
.price-table-sp table th,
.price-table-sp table td

{
    padding: 1em 10px 1em 1em;
    border-right: 1px solid #b7b7b7;
}

.price-table table th,
.price-table-sp table th,
{
    font-size: .95em;
}

.price-table table thead tr,
.price-table-sp table thead tr {
    background-color: #333;
    color: #fff;
}

.price-table table thead tr th.bg-yellow {
    background-color: #f3a719;
    color: #000;
    padding-bottom: 30px;
}

.price-table table tbody th {
    background: #f3f3f3;
    color: #000;
    border-left: 1px solid #b7b7b7;
}

.yellow-br {
    border-left: 3px solid #f3a719 !important;
    border-right: 3px solid #f3a719 !important;
}

.yellow-br-btm {
    border-bottom: 3px solid #f3a719;
}

.bubble {
    text-align: left;
    display: block;
    font-size: 12px;
    background: #ff6600;
    color: #fff;
    width: fit-content;
    padding: 2px 10px;
    border-radius: 20px;
    position: relative;
}

.bubble:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -16px;
    width: 0;
    height: 0;
    border-top: solid 8px #ff6600;
    border-left: solid 5px transparent;
    border-right: solid 1px transparent;
}

.txt {
    text-align: left;
    font-size: .85em;
}

.txt2 {
    text-align: center;
    font-size: .85em;
}

.align-top {
    vertical-align: top;
}

.price {
    text-align: center;
    color: #000;
    font-weight: 700;
    font-size: 19px;
}

.non {
    background: #fff;
    border-left: 1px solid #b7b7b7;
    border-top: 1px solid #b7b7b7;
}

.sp-show {
    display: none;
}

.clear {
    clear: both;
}

@media screen and (max-width: 600px) {
    /*
    table {
        border: 0;
        width: 100%;
    }

    table th {
        background-color: #167F92;
        display: block;
        border-right: none;
    }

    table thead {
        border: none;
        clip: rect(0 0 0 0);
        height: 1px;
        margin: -1px;
        overflow: hidden;
        padding: 0;
        position: absolute;
        width: 1px;
    }

    table tr {
        display: block;
        margin-bottom: .625em;
    }

    table td {
        border-bottom: 1px solid #bbb;
        display: block;
        font-size: .8em;
        text-align: right;
        position: relative;
        padding: .625em .625em .625em 11em;
        border-right: none;
    }

    table td::before {
        content: attr(data-label);
        font-weight: bold;
        position: absolute;
        left: 10px;
        color: #000;
    }

    table td:last-child {
        border-bottom: 0;
    }

    table tbody th {
        color: #fff;
        background: #000;
    }
*/

    .price-table-sp table tbody th {
        display: block;
        background: #333;
        color: #fff;
        font-weight: 700;
    }

    .price-table-sp table {
        width: 100%;
    }

    .price-table-sp table tr {
        display: block;
        /*        margin-bottom: .625em;*/
        margin-bottom: 0;
        padding-top: 0;
        border-bottom: none;
    }

    .price-table-sp table td {
        border: 1px solid #bbb;
        display: inline-block;
        font-size: .9em;
        text-align: left;
        padding: 10px 10px;
        vertical-align: middle;
    }

    .price-table-sp table td.left-title {
        width: 46%;
        background: #f3f3f3;
        float: left;
        text-align: center;
        font-weight: 700;
        vertical-align: middle;
        min-height: 70px;
    }

    .price-table-sp table td.right-desc.txt-left {
        text-align: left;
    }

    .price-table-sp table td.right-desc {
        width: 54%;
        text-align: center;
        float: left;
        vertical-align: middle;
        min-height: 70px;
    }

    .price {
        font-size: 20px !important;
    }

    .same-height {
        min-height: 100px !important;
    }

    .same-height2 {
/*        min-height: 120px !important;*/
        min-height: 173px!important;
    }

    .same-height3 {
/*        min-height: 150px !important;*/
        min-height: 178px !important;
    }

    .same-height4 {
/*        min-height: 170px !important;*/
        min-height: 198px !important;
    }

    .clear {
        clear: both;
    }

    .price-table-sp table tbody th.bg-yellow {
        background-color: #f3a719;
        color: #000;
        padding-bottom: 30px;
    }

    .yellow-br-lf {
        border-left: 3px solid #f3a719 !important;
    }

    .yellow-br-rt {
        border-right: 3px solid #f3a719 !important;
    }

    .yellow-br-btm2 {
        border-bottom: 3px solid #f3a719 !important;
    }


}

/*=== SECTION MERIT1 ===*/
.bubble2 {
    text-align: center;
    display: block;
    font-size: 12px;
    background: #000;
    color: #fff;
    width: fit-content;
    padding: 2px 10px;
    border-radius: 20px;
    position: relative;
    margin: 40px auto 20px;
}

.bubble2:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    width: 0;
    height: 0;
    border-top: solid 8px #000;
    border-left: solid 5px transparent;
    border-right: solid 5px transparent;
}

.title-head {
    font-weight: 700;
    font-size: 24px;
    position: relative;
    display: inline-block;
    padding: 0 170px;
    text-align: center;
}

.title-head:before,
.title-head:after {
    position: absolute;
    top: 50%;
    width: 150px;
    height: 1px;
    content: '';
    border-top: solid 1px #333;
}

.title-head:before {
    left: 0;
}

.title-head:after {
    right: 0;
}

.txt-desc {
    padding: 40px 0;
}

#sec-merit4 .txt-desc {
    padding: 20px 0;
}

#sec-merit1 {
    padding: 0 0 40px 0;
}

.mywrap {
    display: flex;
}

.flex3 {
    flex-basis: 33.33%;
    border: 1px solid #999;
}

.flex3:nth-child(2) {
/*     border-left: none;
    border-right: none; */
}

.flex2 {
    flex-basis: 50%;
    border: 1px solid #999;
}

.img-sec-banner {
    background: url(../images/sec-banner1.png);
    background-repeat: no-repeat;
    background-size: cover;
    /*    background-position: center center;*/
    min-height: 120px;
    position: relative;
}

.img-sec-banner2 {
    background: url(../images/sec-banner2.png);
    background-repeat: no-repeat;
    background-size: cover;
    /*    background-position: center center;*/
    min-height: 120px;
    position: relative;
}

.sec-title {
    color: #fff;
    position: absolute;
    top: 50%;
    transform: translateY(-50%; );
    left: 8%;
    font-size: 18px;
    font-weight: 700;
}

.sec-desc1 {
    position: relative;
    padding: 20px 20px 20px 70px;
}

.sec-desc2 {
    position: relative;
    padding: 20px 20px 20px 70px;
}

.sec-desc3 {
    position: relative;
    padding: 20px 20px 20px 70px;
}

.sec-desc1::before {
    position: absolute;
    content: "1";
    top: 40px;
    left: 20px;
    font-family: 'Allura', cursive;
    font-size: 70px;
    color: #999;
}

.sec-desc2::before {
    position: absolute;
    content: "2";
    top: 40px;
    left: 20px;
    font-family: 'Allura', cursive;
    font-size: 70px;
    color: #999;
}

.sec-desc3::before {
    position: absolute;
    content: "3";
    top: 40px;
    left: 20px;
    font-family: 'Allura', cursive;
    font-size: 70px;
    color: #999;
}

.mt40 {
    margin-top: 40px;
}

/*=== SECTION MERIT2 ===*/
#sec-merit2 {
    padding: 0 0 40px 0;
}

.bg-gray {
    background: #ececec;
}

.bg-white {
    background: #fff;
}

.flex3-wrapper {
    display: flex;
    flex-wrap: wrap;
}

.sec-desc {
    flex-basis: 100%;
    padding: 20px;
}

.sec-img {
    flex-basis: 100%;
}

.sec-img img {
    width: 100%;
}

.sec-desc-title {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 5px;
}

/*=== SECTION MERIT3 ===*/
#sec-merit3 {
    padding: 0 0 40px 0;
}

/*=== SECTION MERIT4 ===*/
#sec-merit4 {
    padding: 0 0 40px 0;
/*    min-height: 600px;*/
/*    margin-bottom: -20px;*/
}

/*=== SECTION FUNCTION ===*/
#sec-function {
    padding: 80px 0 80px 0;
}

.mt20 {
    margin-top: 20px;
}

.mywrap2 {
    display: flex;
    column-gap: 20px;
    margin-bottom: 20px;
    width: 100%;
}

.flex3a {
    flex-basis: calc(100%/3);
    border: 1px solid #999;
    border-radius: 15px;
}

.myborder {
    border: 1px solid #999;
    border-radius: 15px;
}

.flex3-wrapper2 {
    display: flex;
    flex-wrap: wrap;
    height: 380px;
    margin-bottom: 30px;
}

.sec-desc-title img {
    height: 40px;
    width: auto;
    margin-right: 10px;
}

.sec-desc-title .icon-food {
    height: auto;
    width: 45px;
    margin-right: 10px;
}

.sec-desc4 .sec-desc-title {
    height: 40px;
    margin-bottom: 20px;
}

.sec-img2 {
    height: 167px;
}

.sec-img2 img {
    width: 100%;
    height: 167px;
    object-fit: cover;
}

/*=== SECTION FLOW 1 ===*/
#sec-flow1 {
    padding: 40px 0 20px 0;
}

.title-flow-round {
    font-weight: 700;
    font-size: 20px;
    border: 2px solid #ccc;
    border-radius: 25px;
    padding: 10px 20px;
    width: fit-content;
    background: #fff;
}

.gray-line {
    background: #ccc;
    height: 2px;
    position: relative;
    top: -25px;
    z-index: -1;
}

.flow-desc {
    margin: 30px 0 50px;
    padding-left: 40px;
}

.title-flow {
    font-weight: 700;
    font-size: 20px;
    padding: 15px 0;
}

.m40 {
    margin: 40px 0;
}

.flow-chart {
    margin: 30px auto;
    max-width: 1000px;
}

.flow-item {
    display: flex;
    margin-bottom: 30px;
}

.flow-num {
    flex-basis: 15%;
    position: relative;
}

.flow-num-txt {
    background: #333;
    color: #fff;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
    height: 100px;
    width: 100px;
    border-radius: 50%;
    font-weight: 700;
    padding-top: 25px;
    position: absolute;
    top: 50%;
    left: 15%;
    transform: translateY(-50%);
}

.flow-num-txt span {
    font-size: 22px;
    position: relative;
}

.flow-num-txt span.flow-line::after {
    content: "";
    position: absolute;
    border-right: 2.5px dotted #333;
    height: 80px;
/*    left: 27%;*/
    left: 50%;
    top: 180%;
}

.flow-txt {
    flex-basis: 55%;
    position: relative;
}

.flow-txt-wrap {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.flow-txt-head {
    font-weight: 700;
    font-size: 20px;
    padding: 0 0 10px;
}

.flow-img {
    flex-basis: 30%;
}

.flow-img img {
    width: 100%;
    height: 150px;
/*    object-fit: contain;*/
    object-fit: cover;
/*    padding-right: 40px;*/
}

.txt-title {
    font-weight: 700;
    font-size: 24px;
    margin-top: 10px;
}

/*=== SECTION FLOW 2 ===*/
#sec-flow2 {
    padding: 0 0 40px 0;
}

.box-wrap {
    display: flex;
    column-gap: 20px;
    width: 100%;
    margin-top: 30px;
}

.box50 {
    flex-basis: 50%;
    border: 2px solid #ccc;
    padding: 30px 30px 10px;
}

.box-title {
    font-weight: 700;
    text-align: center;
    font-size: 26px;
}

.box-title span {
    font-size: 22px;
}

.box-title2 {
    text-align: center;
    margin-top: 10px;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
    background: #f2f2f3;
    margin: 10px 70px 30px;
}

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

.box-img img {
    width: 60%;
}

.box-img1 img {
    width: 52%;
    margin-bottom: 5%;
}

.box-img2 img {
    width: 45%;
}

.box-price-wrap {
    display: flex;
    margin: 30px 0;
}

.box-price1 {
    flex-basis: 45%;
    padding-left: 20%;
    padding-top: 26px;
}

.arrow-right {
    flex-basis: 10%;
    align-self: flex-end;
}

.arrow-right img {
    width: 60%;
}

.box-price2 {
    flex-basis: 45%;
}

.strike {
    font-weight: 700;
    font-size: 20px;
    text-decoration: line-through;
    text-decoration-thickness: 1px;
}

.box-bubble {
    background: #000;
    color: #fff;
    padding: 5px 20px;
    border-radius: 25px;
    width: fit-content;
}

.price-big {
    font-weight: 700;
    font-size: 36px;
    margin-top: 10px;
}

/*=== SECTION FLOW 3 ===*/
#sec-flow3 {
    padding: 0 0 40px 0;
}

.mywrap3 {
    display: flex;
    column-gap: 20px;   
}

/*=== SECTION NEWS ===*/
#sec-news {
    padding: 60px 0 90px 0;
}

.news-wrap {
    text-align: left;
    margin: 60px 0 30px 0;    
}

.news-item {
    padding: 20px 0;
    border-bottom: 1px solid #a0a0a0;  
    display: flex;   
    column-gap: 20px;
}

.news-imp {   
    background: #000;
    color: #fff;
    padding: 10px 10px;
    text-align: center;
    flex-basis: 10%;    
}

.news-date {    
    background: #f0f0f0;
    color: #000;
    padding: 10px 10px;
    text-align: center;
    flex-basis: 10%;
}

.news-title {   
    flex-basis: 90%;
    align-self: center;
}

.icon-pdf {
    width: 120px;
    height: auto;
    vertical-align: middle;
    margin-left: 40px;
}

/*=== SECTION SALES 1 ===*/
#sec-sales1 {
    padding: 60px 0 90px 0;
}

.img-sec-banner3 {
    background: url(../images/img-sales1.png);
    background-repeat: no-repeat;
    background-size: contain;
    /*    background-position: center center;*/
    min-height: 120px;
    position: relative;
    background-color: #f0f0f0;
}

.sec-title3 {
    color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);    
    font-size: 18px;
    font-weight: 700;   
}

.sales-table {
    margin-top: 40px;
}

.row1-wrap {
    display: flex;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.row1-item {
    flex-basis: calc(100%/3);
    background: #333;
    color: #fff;
    text-align: center;
    padding: 15px 10px;
}

.row1-item:nth-child(2) {
    border-left: 1px solid #b3b3b3;
    border-right: 1px solid #b3b3b3;
}

.row2-wrap {
    display: flex;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.row2-item {
    flex-basis: calc(100%/3);      
    text-align: center;
    padding: 15px 10px;
    border: 1px solid #b3b3b3;
}

.img-sec-banner4 {
    background: url(../images/img-sales2.png);
    background-repeat: no-repeat;
    background-size: contain;
    /*    background-position: center center;*/
    min-height: 120px;
    position: relative;
    background-color: #f0f0f0;
}

/*=== SECTION SALES 2 ===*/
#sec-sales2 {
    padding: 0 0 60px;
}

.table-chart {
    display: flex;
    margin-bottom: 20px;
/*    border: 1px solid #000;*/
}

.chart-img {
    flex-basis: 11%;
    justify-content: center;
    align-self: center;
}

.chart-round {
    background: #000;
    color: #fff;
    border-radius: 50%;
    width: 100px;
    height: 100px;
/*    margin: 0 auto;*/
    position: relative;
    margin-right: 40px;
}

.chart-round img {
    width: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

.chart-desc {
    flex-basis: 89%;
    padding: 20px 0;
}

.chart-desc-title {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 20px;
}

img.img-chart-round1 {
    width: 50%;
}

/*=== SECTION SALES 3 ===*/
#sec-sales3 {
    padding: 80px 0 80px 0;
}


/*=== SECTION PRIVACY ===*/
#sec-privacy {
    padding: 60px 0 60px 0;
}

.privacy-title {
    font-weight: 700;
}

/*=== CONTACT SECTION ===*/
.contact {
    text-align: center;
}

table.list {
    margin: 0 auto;
}

table.list tbody tr td {
    padding: 0 0 20px 0;
}


table.list tbody tr td.ttd1 {
    width: 35%;
}

table.list tbody tr td.ttd2 {
    width: 65%;
}

.ttd1 span.req {
    background: #000;
    color: #fff;
    padding: 3px 10px;
    float: right;
    margin-right: 20px;
    border-radius: 5px;
}

.ttd1 span.noreq {
    background: #ececec;
    color: #000;
    padding: 3px 10px;
    float: right;
    margin-right: 20px;
    border-radius: 5px;
    border: 1px solid #bcbaba;
}

.submit-btn {
    background: #000;
    color: #fff;
    padding: 5px 20px;
    border-radius: 5px;
    cursor: pointer;
    border: 1px solid #000;
}

.submit-btn:hover {
    background: #fff;
    color: #000;
    border: 1px solid #000;
    transition: 0.5s;
}

#end_form {
    color: #ff014c;
    margin-top: -30px;
    padding-left: 35px;
}

p.center {
    margin-top: 20px;
}

.no-border {
    border: none;
    padding-left: 0;
}

span.wpcf7-list-item.first {
    margin-left: 0;
}

/*=== FOOTER SECTION ===*/
.sec-footer {
    text-align: center;
    padding: 25px 0;
    border-top: 1px solid #000;
    font-size: 14px;
}

.sec-footer a {
    text-decoration: none;
    color: #000;
}

.ft-logo {
    width: 4.5%;
    margin-right: 20px;
}

.sec-copyright {
    padding: 20px 0;
    background: #000;
    color: #fff;
    font-size: 14px;
    text-align: center;
}

/*=== ADDITION CONTENTS ===*/
.my-txt-wrap {
/*
    border-top: 1px solid #f3a719;
    border-bottom: 1px solid #f3a719;
*/
    padding: 10px 0;
}

.my-txt-wrap2 {
/*    border-bottom: 1px solid #f3a719;*/
    padding: 10px 0;
}

.my-txt-wrap3 {   
    padding: 50px 0 60px;
}

.txt-emp-big {
    font-weight: 700;
    font-size: 26px;
}

.my-add-wrap {
    display: flex;
    column-gap: 40px;
    width: 100%;
    margin-bottom: 20px;
}

.add-box {
    position: relative;
    flex-basis: calc(100%/4);
    border: 1px solid #a5a5a5;   
    background: #fff;
    text-align: center;
}

.add-box:nth-child(1)::before {
    content: "1.";
    position: absolute;
/*    background: #fbf8f9;*/
/*    border: 2px solid #fbf8f9;*/
    color: #fff;
    width: 35px;
    height: 35px;
    text-align: center;
    font-size: 40px;
    line-height: 26px;
    top: 10px;
    left: 10px;
}

.add-box:nth-child(2)::before {
    content: "2.";
    position: absolute;
/*    background: #fbf8f9;*/
/*    border: 2px solid #fbf8f9;*/
    color: #000;
    width: 35px;
    height: 35px;
    text-align: center;
    font-size: 40px;
    line-height: 26px;
    top: 10px;
    left: 10px;
}

.add-box:nth-child(3)::before {
    content: "3.";
    position: absolute;
/*    background: #fbf8f9;*/
/*    border: 2px solid #fbf8f9;*/
    color: #000;
    width: 35px;
    height: 35px;
    text-align: center;
    font-size: 40px;
    line-height: 26px;
    top: 10px;
    left: 10px;
}

.add-box:nth-child(4)::before {
    content: "4.";
    position: absolute;
/*    background: #fbf8f9;*/
/*    border: 2px solid #fbf8f9;*/
    color: #000;
    width: 35px;
    height: 35px;
    text-align: center;
    font-size: 40px;
    line-height: 26px;
    top: 10px;
    left: 10px;
}

.add-box::after {
/*
    content: "▶";
    position: absolute;
    font-size: 30px;
    top: 50%;
    transform: translateY(-50%);
    right: -37px;
    color: #fcabb6;
*/
}

.add-box:nth-child(4):after {
    content: unset;
}

.add-box p {
/*     display: none; */
}

.add-box p img {
	display:inline-block;
	width: 100%;
    height: auto;
}

.add-box img {
    width: 100%;
    height: auto;
/*    margin-bottom: 20px;*/
}

.img-add-box {
    width: 100%;
    height: auto;
}

#sec-thanks {
    padding: 60px 0 60px 0;
}

.my-mgt-80 {
    margin-top: 80px;
}

.news-title a {
    color: #000;
}

/*=== CAMPAIGN SECTION ===*/
#sec-camp1 {
    padding: 40px 0 80px;
}

.txt-camp {
    font-weight: 700;
    font-size: 48px;
    line-height: 1.4em;  
    text-align: left;
}

.txt-camp-desc {
    line-height: 1.4em;
    margin-top: 30px;   
    text-align: left;
}

.img-hand-qr {
    width: 100%;
}

.scan-qr-wrap {
    margin-top: 40px;
}

.img-QR {
    width: 50%;
}

.img-QR2 {
    width: 50%;
    position: relative;   
}

.img-scanme {
    width: 20%;
    position: absolute;
    right: 10px;
    top: -15px;
}

.txt-qr {
    background: #000;
    color: #fff;
    width: fit-content;
    padding: 10px 25px;
    border-radius: 25px;
    margin: 0 auto;
}

.btn-goto {
    background: #f3a71e;
    color: #fff;   
    padding: 5px;    
    font-size: 26px;
    text-align: center;
    width: fit-content;
    margin: 80px auto 0;
}

.btn-goto-inner {
    outline: 1px solid #fff;
    padding: 30px;
}

.btn-goto a {
    text-decoration: none;
    color: #fff;    
}

.btn-arrow {
    width: 20px;
    height: auto;
    margin-right: 10px;
}

.title-wrap2 {
    text-align: center;
    padding: 80px 0 0;
}

.title-jp2 {
    font-weight: 700;
    font-size: 32px;    
    display: block;
    margin: 0 auto;
}

.bg-gray3 {
    background: #ececec;
    border-radius: 25px;
    display: flex;
    flex-wrap: nowrap;
    padding: 20px 0;
}

.gray-left {
    flex-basis: 40%;
    font-weight: 700;
    vertical-align: middle;
    font-size: 20px;
    align-self: center;
    text-align: center;
}

.gray-right {
    flex-basis: 80%;
    align-self: center;
}

#sec-function2 {
    padding: 80px 0 0 0;
}

.pd-btm-40 {
/*    padding-bottom: 40px;*/
}

.header-black {
    background: #323432;
    color: #fff;
    padding: 10px;
    margin-bottom: 5px;
    font-size: 18px;
    font-weight: 700;
}

.txt-camp-desc2 {
    display: flex;
    flex-wrap: nowrap;
    border: 1px solid #323432;
    padding: 20px 10px;
}

.txt-camp-left {
    flex-basis: 45%;
    align-self: center;
}

.txt-camp-right {
    flex-basis: 55%;
    align-self: center;
}

.txt-camp-small {
    font-weight: 700;
}

.txt-camp-emp {
    font-size: 32px;
    font-weight: 700;
    margin-top: 10px;
}

.txt-camp-wrap {
    position: relative;
}

.txt-camp-wrap::before {
    position: absolute;
    content: "";
/*    background-image: url('https://magenta-beryllium5807.znlc.jp/wordpress/wp-content/uploads/2023/02/img-deco-left.png');*/ 
    background-image: url('/wp-content/uploads/2023/02/img-deco-left.png'); 
    top: 0;
    left: 15%;
    background-size: 27px 80px;
    display: inline-block;
    width: 27px; 
    height: 80px;
}

.txt-camp-wrap::after {
    position: absolute;
    content: "";
/*    background-image: url('https://magenta-beryllium5807.znlc.jp/wordpress/wp-content/uploads/2023/02/img-deco-right.png'); */ 
    background-image: url('/wp-content/uploads/2023/02/img-deco-right.png'); 
    top: 0;
    right: 15%;
    background-size: 27px 80px;
    display: inline-block;
    width: 27px; 
    height: 80px;
}

.txt-bold {
    font-weight: 700;
}

.txt-yellow {
    color: #f3a71e;
}

.font-18 {
    font-size: 18px;
}

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

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

.br-834 {
    display: none;
}

.txt-camp-note {
    text-align: center;
}

ul.my-camp-ul {
    text-align: left;
    display: inline-block;
}

ul.my-camp-ul li {
    list-style: none;  
    position: relative;
}

ul.my-camp-ul li:nth-child(1)::before {
    position: absolute;
    content: "※1．";
    left: -37px;
    top: 0;
}

ul.my-camp-ul li:nth-child(2)::before {
    position: absolute;
    content: "※2．";
    left: -37px;
    top: 0;
}

ul.my-camp-ul li:nth-child(3)::before {
    position: absolute;
    content: "※3．";
    left: -37px;
    top: 0;
}

ul.my-camp-ul li:nth-child(4)::before {
    position: absolute;
    content: "※4．";
    left: -37px;
    top: 0;
}

#sec-camp3 {
    margin-top: 80px;
}

.title-flow-round2 {
    font-weight: 700;
    font-size: 20px;
    border: 2px solid #000;
    border-radius: 25px;
    padding: 10px 80px;
    width: fit-content;
    background: #fff;
}

.log-in-note {
    background: #f3f3f3;
    width: 80%;
    margin-left: 20%;
    padding: 50px 20px 20px 40px;
    position: relative;
    top: -25px;
    z-index: -1;
    margin-bottom: 50px;
}

.log-desc1 {
    position: relative;
    padding-left: 20px;
}

.log-desc1::before {
    position: absolute;
    content: "A.";
    top: 0;
    left: -15px;
    font-size: 28px;
    font-weight: 700;
}

.log-desc2 {
    position: relative;
    padding-left: 20px;
}

.log-desc2::before {
    position: absolute;
    content: "B.";
    top: 50%;
    transform: translateY(-50%);
    left: -15px;
    font-size: 28px;
    font-weight: 700;
}

.flow-item2 {
    display: flex;   
    min-height: 142px;
    margin-top: 80px;
}

.flow-num-wrap {
    flex-basis: 15%;
    position: relative;
    top: -25px;
}

.flow-num-wrap2 {
    flex-basis: 15%;
    position: relative;   
}

.flow-txt-wrap2 {
    position: absolute;
/*
    top: 50%;
    transform: translateY(-50%);
*/
}

.flow-num2 {    
    background: #323432;
    color: #fff;
    text-align: center;   
    margin: 0 auto;
    height: 60px;
    width: 60px;
    border-radius: 50%;
    font-weight: 700;
    position: relative;    
}

.flow-num2::after {
    content: "";
    position: absolute;
    border-right: 12px solid #f3f3f3;
    height: 180px;  
    left: 40%;
    top: 90%;
    z-index: -1;
}

.flow-num2-last::after {
    display: none;
}

.flow-num-txt2 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 26px;
}

.flow-txt2 {
    flex-basis: 85%;
    position: relative;
}

.flow-txt-sm {
    font-size: 14px;
}

.flow-icon {
    margin-bottom: 20px;
}

.icon-apple {
    display: inline-block;
    width: 150px;
    height: auto;
    margin-right: 20px;
}

.icon-google {
    display: inline-block;
    width: 150px;
    height: auto;
}

.txt-end-flow-wrap {
    text-align: center;
    font-weight: 700;
    font-size: 20px;   
    margin-top: 130px;
}

.txt-end-flow {
    position: relative;
}

.img-music {
    position: absolute;
    top: 60px;
    left: 36.5%;
    height: 80px;
    width: auto;
}

.col50 a {
    text-decoration: none;
}

.head-item2 {
    background: #000;
    color: #fff;
    padding: 20px 10px;    
    font-weight: 700;
    text-align: center;
}

.img-camp-ft {
    width: 40%;
    display: block;
    margin: 0 auto;
}

.txt-camp-ft {
    text-align: center;
    font-weight: 700;
    font-size: 22px;
}

.link-camp-ft {
    text-align: center;
    margin-top: 10px;
}

.link-camp-ft a {
    color: #000;
}

.txt-campagin-banner {
    position: absolute;
    top: 10%;
    right: 3%;
    color: #fff;
}

.txt-camp1 {
    font-size: 50px;
    font-weight: 700;
    line-height: 1.4em;
}

.txt-camp2 {
    margin-top: 20px;
    font-size: 24px;
    line-height: 1.4em;
    font-weight: 700;
}

.img-wifi {
    width: 25px;
    height: auto;
    display: inline-block;
    margin-top: -46px;
    margin-left: 5px;
}

.txt-camp-sm {
    font-size: 16px;
    margin-left: -20px;
}

.txt-normal {
    font-weight: 400;
}

.txt-camp-uline {
    position: relative;
    padding: 0 8px;
}

.txt-camp-uline::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 30%;
    background: rgba(255,255,255,0.5);  
    left: 0;
    bottom: 3px;
    transform: skew(-15deg);
}

.txt-camp-top-wrap {
    position: relative;
    left: 13%;
}

.img-camp-wrap {
    position: relative;
    left: -37%;
}
