
img{
    vertical-align:top;
}

body {
    background: #ffffff;
}

.back {
    background-color: #ffd99c;
    border: solid 2px #ffb400;
    width: 90%;
    margin: 2% 5%;
    border-radius: 10px; /* CSS3草案 */
    -webkit-border-radius: 10px; /* Safari,Google Chrome用 */
    -moz-border-radius: 10px; /* Firefox用 */
}

@media screen and (min-width: 641px) {
    .photo-box {
        display: flex;
    }

    .photo-box .photo {
        width: 38%;
    }

    .photo-box .right {
        width: 60%;
        margin: 0 0 0 auto;
    }

    .photo-box p {
        padding: 0;
        margin: 0;
    }
    .sub {
        font-size: 1.7em;
        font-weight: 900;
        padding: 1% 2% 1.5% 2%;
        line-height: 130%;
    }

    .sub2 {
        font-size: 1.4em;
        padding: 0% 2%;
        line-height: 160%;
    }

    .flo-rig {
        float: right;
        width: 38%;
        margin-right: 2%;
    }

    .flo-rig2 {
        float: right;
        width: 54%;
        margin: 0% 3%;
        font-size: 1.4em;
    }

    .flo-lef {
        float: left;
        width: 38%;
        margin-right: 2%;
    }

    .flo-lef2 {
        float: left;
        width: 54%;
        margin: 0% 3%;
        font-size: 1.4em;
    }

    .item {
        display: inline-block;
        width: 31%;
        margin: 0% 1% 3% 1%;
    }

    .flo50 {
        float: left;
        width: 48%;
        margin: 1%;
        font-size: 1.2em;
        line-height: 130%;
    }

    .flo50r {
        float: right;
        width: 48%;
        margin: 1%;
        font-size: 1.2em;
        line-height: 130%;
    }

    .mar {
        margin-top: 11%;
    }

    .mar2 {
        font-size: 1.3em;
        font-weight: 900;
        color: #a80000;
    }
}

@media screen and (max-width: 640px) {
    .sub {
        font-size: 1.1em;
        font-weight: 900;
        padding: 3% 2% 0.5% 2%;
        line-height: 130%;
    }

    .flo-rig {
        width: 80%;
        margin: 2% 10%;
    }

    .flo-rig2 {
        width: 96%;
        margin: 0% 2%;
    }

    .flo-lef {
        width: 80%;
        margin: 2% 10%;
    }

    .flo-lef2 {
        width: 96%;
        margin: 0% 2%;
    }

    .item {
        width: 90%;
        margin: 2% 5%;
    }

    .flo50 {
        float: left;
        width: 90%;
        margin: 2% 5%;
        font-size: 1em;
        line-height: 140%;
    }

    .flo50r {
        float: right;
        width: 90%;
        margin: 2% 5%;
        font-size: 1em;
        line-height: 140%;
    }

    .mar {
        margin-top: 20%;
    }

    .mar2 {
        font-size: 1.3em;
        font-weight: 900;
        color: #a80000;
        padding-top: 8%;
    }
}

@media screen and (min-width: 641px) {
    .sp-only {
        display: none;
    }

    .pc-only {
        display: block;
    }

    #page {
        text-align: left;
        width: 960px;
        max-width: 100%;
        margin: 0 auto;
    }

    .flex.begie {
        background: #F8F4EF;
    }

    .flex {
        display: flex;
        justify-content: space-between;
    }

    .flex img {
        width: 42% !important;
        margin-left: 4em;
    }

    iframe.youtube {
        height: 240px;
        width: 440px;
    }
}

@media screen and (max-width: 640px) {
    #page {
        text-align: left;
    }

    .thumb {
        width: 48%;
        padding: 1%;
    }

    .sp-only {
        display: block;
    }

    .pc-only {
        display: none;
    }

    body {
        margin: 0;
        padding: 0;
        width: 100%;
    }

    img {
        margin: 0;
        padding: 0;
        width: 100%;
    }

    .mb-1 {
        margin-bottom: 1em !important;
    }

    .mb-2 {
        margin-bottom: 1.5em !important;
    }

    .mb-3 {
        margin-bottom: 2em !important;
    }

    .mb-4 {
        margin-bottom: 3em !important;
    }

    .mb-5 {
        margin-bottom: 6em !important;
    }

    .sp-only p {
        font-size: 1.35em;
    }

    div.text-box p {
        /*font-size: 1.35em !important;*/
    }

    .text-box {
        padding-bottom: 0em !important;
    }

    .text-box.main {
        padding: 1em;
        line-height: 1.75;
    }


    .text-box.ans {
        background: #C64C33;
        padding: 1em;
        line-height: 1.75;
    }

    .text-box.ans p {
        color: #F8F4EF;
        margin: 0;
    }

    .hosoku-text-box {
        background: #4A3836;
        padding: 1em;
        line-height: 1.75;
    }

    .hosoku-text-box p {
        color: white;
    }

    span.yellow {
        color: yellow;
    }

    span.red {
        color: #A42E28;
    }

    .problem-wrap {
        width: 90%;
        margin: 0 auto;
    }

    .ans-box {
        border: solid 10px #B07E4C;
        padding: 1em;
        position: relative;
        margin: 3em 0 0 0;
    }

    .ans-box .ico {
        position: absolute;
        width: 22%;
        left: -1.8em;
        top: -1.8em;
    }

    .brown-border-rite {
        background: #473937;
        color: white;
        border-radius: 10px;
        padding: 1em;
        margin: 0;
    }

    .waku {
        border: solid 5px black;
        padding: 1em;
        margin: 0;
    }

    .waku .photo-list {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        margin-bottom: 1em;
    }

    .waku .arw {
        width: 19%;
        margin: 0.5em auto;
    }

    .waku .tl {
        margin-bottom: 1.5em;
    }

    .waku p {
        margin: 0;
    }

    .fine-wrap .waku {
        width: 90%;
        margin: 0 auto 3em;
    }

    .youtube-box {
        padding: 0 0 2em;
    }

    .youtube-box.begie {
        background: #FBF0D5;
    }

    .youtube-box.red {
        background: #FBF3EC;
    }

    .youtube {
        width: 100%;
        margin-top:20px;
        min-height: 220px;
    }

    .anker-btn {
        margin: 1em 0 !important;
    }

    .anker-btn a:after {
        content: ">>>";
        color: white;
        margin: 1em 0 1em 0.5em;
    }

    .anker-btn a {
        text-align: center;
        display: block;
        background: #0D6241;
        color: white;
        padding: 0.5em 1em;
        font-size: 1em !important;
        border-radius: 1em;
        text-decoration: none;
    }

    .ld_yellow {
        background: #FBC000;
        color: #402011;
        padding: 1em;
        font-size: 2.5em !important;
        font-weight: 800;
        margin: 0 !important;
    }

    .ld_orange {
        background: #F39801;
        color: white;
        padding: 0.5em;
        font-size: 2.5em !important;
        font-weight: 800;
        margin: 0 !important;
    }

    .photo-wrap {
        display: inline;
    }

    .photo-wrap li {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        width: 90%;
        margin: 0 auto;
    }

    .photo-wrap li p {
        margin-bottom: 2em !important;
        text-align: left !important;
    }

    .photo-wrap li img {
        width: 100%;
        margin-bottom: 1em;
    }

    .interview {
        background: #C64C33;
        color: white;
        font-size: 2em !important;
        margin: 0 !important;
        padding: 0.5em;
        font-weight: 800;
    }

    .interview-box {
        background: #FEF7E7;
        padding: 1em;
    }

    .catch {
        font-weight: 800;
        font-size: 1.75em !important;
    }

    dl.table {
        display: flex;
        flex-wrap: wrap;
        margin: 0 auto 0.3em;
    }

    dl.table dt:first-of-type {
        border-top: solid 1px var(--d-color-thin-3);
        border-top-left-radius: 5px;
    }

    dl.table dd:first-of-type {
        border-top: solid 1px var(--d-color-thin-3);
        border-top-right-radius: 5px;
    }

    dl.table dt {
        font-size: 1.1em;
        width: 26%;
        padding: 0.5em;
        border-left: solid 1px var(--d-color-thin-3);
        border-bottom: solid 1px var(--d-color-thin-3);
        background-color: var(--d-color-thin-4);
        line-height: 1.6;
    }

    dl.table dd {
        font-size: 1.1em;
        width: 74%;
        padding: 0.5em;
        border-left: solid 1px var(--d-color-thin-3);
        border-right: solid 1px var(--d-color-thin-3);
        border-bottom: solid 1px var(--d-color-thin-3);
        line-height: 1.6;
    }

    dl.table dt:last-of-type {
        border-bottom-left-radius: 5px;
    }

    dl.table dd:last-of-type {
        border-bottom-right-radius: 5px;
    }

    .bn-list img {
        margin-bottom: 1em
    }

    .highlight {
        text-decoration: underline; /* 下線 */
        text-decoration-thickness: 0.5em; /* 線の太さ */
        text-decoration-color: rgba(255, 228, 0, 0.4); /* 線の色 */
        text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
        text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
        font-size: 2em !important;
        font-weight: 800;
    }

    .ld_fadeout {
        padding: 0.5em 1em;
        text-align: center;
        color: white;
        font-weight: 800;
        font-size: 2em !important;
        /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+50,000000+100&0+0,1+21,1+50,1+80,0+100 */
        background: -moz-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 21%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%); /* FF3.6-15 */
        background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 21%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 21%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#00000000', GradientType=1); /* IE6-9 */
    }


    .ld_yellow {
        background: #FBC000;
        color: #402011;
        padding: 0.3em;
        font-size: 2em !important;
        font-weight: 800;
        margin: 0 !important;
        text-align: center;
    }

    .ld_red {
        background: #3390c6;
        color: white;
        padding: 0.5em;
        font-size: 1.4em !important;
        font-weight: 800;
        text-align: center;
    }

    .ld_orange {
        background: #F39801;
        color: white;
        padding: 0.5em;
        font-size: 1.5em !important;
        font-weight: 800;
        margin: 0 !important;
        text-align: center;
    }

    .ld_green {
        background: #00be62;
        color: white;
        padding: 0.5em;
        font-size: 1.4em !important;
        font-weight: 800;
        text-align: center;
    }

    .red {
        color: #A42E28;
    }

}

@media screen and (min-width: 641px) {
    .bn-list{
        margin: 1em 0 0 0;
    }
    .bn-list img {
        margin-bottom: 1em;
        width: 80%;
    }

    .ld_fadeout {
        padding: 0.5em 1em;
        text-align: center;
        color: white;
        font-weight: 800;
        font-size: 2em !important;
        /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#000000+0,000000+50,000000+100&0+0,1+21,1+50,1+80,0+100 */
        background: -moz-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 21%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%); /* FF3.6-15 */
        background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 21%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 21%, rgba(0, 0, 0, 1) 50%, rgba(0, 0, 0, 1) 80%, rgba(0, 0, 0, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#00000000', GradientType=1); /* IE6-9 */
    }

    .ld_red {
        color: #3390c6;
        font-size: 2em !important;
        font-weight: 800;
        text-align: center;
    }

    .ld_yellow {
        background: #FBC000;
        color: #402011;
        padding: 0.3em;
        font-size: 2.8em !important;
        font-weight: 800;
        margin: 0 !important;
        text-align: center;
    }

    .ld_red {
        background: #3390c6;
        color: white;
        padding: 0.5em;
        font-size: 2.5em !important;
        font-weight: 800;
    }

    .ld_orange {
        background: #F39801;
        color: white;
        padding: 0.5em;
        font-size: 2.5em !important;
        font-weight: 800;
        margin: 0 !important;
        text-align: center;
    }

    .ld_green {
        background: #00be62;
        color: white;
        padding: 0.5em;
        font-size: 2.5em !important;
        font-weight: 800;
        text-align: center;
    }

    img {
        width: 100%;
    }

    .in-success {
        display: flex;
    }

    .in-success .left {
        width: 58%;
    }

    .in-success .right {
        width: 40%;
        margin: 0 0 0 auto;
    }

    .brown-space {
        background: #473937;
        padding: 1em;
        border-radius: 2em;
        margin-top: 1em;
    }

    .brown-space.text {
        color: white;
        line-height: 1.7;
    }

    .problem-tl {
        width: 100%;
        margin: 0 auto 3em !important;
    }

    .fs-big {
        font-size: 3rem;
    }

    .area-box {
        display: flex
    }

    .area-box .photo {
        width: 48%;
        margin: 0 0 0 auto;
    }

    .area-box .right {
        width: 50%;
    }

    .area-box .right p {
        line-height: 1.7;
    }

    .thumb {
        width: 30%;
    }
    .thumb p{
        /*font-size: 1.3rem;*/
        margin: 0 0 1em 0;
    }

    .begie-radius {
        margin: 1em 0 0 0;
        background: #FAE8C2;
        border-radius: 70px;
        padding: 1em 2em;
    }

    .begie-radius p {
        line-height: 1.7;
    }

    .youtube-box {
        display: flex;
        align-items: center;
        margin: 0 0 2em 0;
    }

    .youtube-box .photo {
        width: 48%;
        margin: 0 auto 0 0;
    }

    .youtube-box .youtube-space {
        width: 50%;
    }

    .place-box {
        display: flex;
        width: 95%;
        margin: 0 auto;
    }

    .place-box .photo {
        width: 48%;
        margin: 0 auto 0 0;
    }

    .place-box .place {
        width: 48%;
        margin: 0 0 0 auto;
    }
    .margin {
        padding: 3em;
    }
}

.bg-b {
    background: #242424;
    color:#fff;
    padding: 1em;
}
.mg-t20 {
    margin:20px 0 0;
}
.mg-t40 {
    margin:40px 0 0;
}
.mg-tb20 {
    margin:20px 0 20px;
}
.mg-tb40 {
    margin:40px 0 40px;
}

.thumb-photo-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.wrap {
    padding-left:0%;
    padding-right:0%;
}
@media screen and (max-width: 640px) {
    .wrap {
        padding-left:5%;
        padding-right:5%;
    }
}
 .v-space {
    background: #F9F4EE;
    padding: 2em;
}

.red {
    color: #db362c;
    font-weight: 800;
}
.bg-begie {
    background: #FDF6E4;
}
.text-box.begie {
    background: #FEF7E7;
    padding: 1em;
    line-height: 1.75;
}
.bg-blue {
    background: #3390c6;
    color: #fff;
}
.text-box.bg-blue {
    background: #FEF7E7;
    padding: 1em;
    line-height: 1.75;
}
.bg-green {
    background: #00be62;
    color: #fff;
}
.text-box.bg-green {
    background: #00be62;
    padding: 1em;
    line-height: 1.75;
}
.text {
    line-height: 1.7;
    margin: 0 auto !important;
    padding: 1em;
}
.success-box {
    border: solid 20px #B79A7A;
    padding: 1em;
    margin: 0 0 6em 0;
}
.merit-box {
    border: solid 3px black;
    padding: 2em;
    margin-bottom: 3em !important;
}
.v-name {
    width: 100%;
    margin: 0 auto;
    text-align: left;
    font-size: 2rem;
    font-weight: 900;
    margin-bottom: 20px;
}
.v-name2 {
    background: #000;
    color: #fff;
    width: 100%;
    padding:12px 0;
    font-size: 1.6rem;
    font-weight: 900;
    margin-bottom: 20px;
    text-align: center;
    margin-top:20px;
}
.v-tl {
    background: #c60140;
    color: white;
    padding: 0.5em;
    font-size: 1.8em !important;
    font-weight: 800;
    text-align: left;
    margin-bottom: 20px;
}

.mt3 {
    margin-top: 3em !important;
}
.interview-wrap {
    display: flex;
    flex-wrap: wrap;
}
.interview-wrap .box {
    width: 48%;
    margin-bottom: 2em;
}

.interview-wrap .box:nth-of-type(2n) {
    margin: 0 0 2em auto;
}

.interview-wrap .highlight {
    color: #A52F28;
    font-size: 1.6rem !important;
    margin-bottom: 8px;
}
.interview-wrap-riv {
    display: flex;
    flex-direction:row-reverse;
    flex-wrap: wrap;
}
.interview-wrap-riv .box {
    width: 48%;
    margin-bottom: 2em;
}

.interview-wrap-riv .box:nth-of-type(2n) {
    margin: 0 2em 0 0;
}

.interview-wrap-riv .highlight {
    color: #A52F28;
    font-size: 1.6rem !important;
    margin-bottom: 8px;
}
.color-red{
    color: #db362c;
    padding: 0.5em;
    font-size: 2.5em !important;
    font-weight: 800;
    margin: 0 0 20px!important;
    margin-bottom: 20px;
}
@media screen and (max-width: 640px) {
    .v-space {
        padding: 2em 1em;
    }
    .interview-wrap .box {
        width: 100%;
        margin-bottom: 2em;
    }
    .interview-wrap-riv .box {
        width: 100%;
        margin-bottom: 2em;
    }
    .interview-wrap-riv .box:nth-of-type(2n) {
        margin: 0 0 2em 0;
    }
    .place-box .photo {
        margin-bottom: 2em;
    }
    .merit-box {
        margin:0 1em;
        padding: 1em;
    }
    .color-red{
        color: #db362c;
        padding: 0;
        font-size: 1.4em !important;
        font-weight: 800;
        margin: 0 0 20px!important;
    }
}
/*その他と主な共通部分は省略*/
.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
  margin: 20px auto;
}

a.btn--green {
  color: #fff;
  background-color: #c60140;
  text-decoration: none;
}

a.btn--green:hover {
  color: #fff;
  background: #ea004b;
}

a.btn--green.btn--cubic {
  border-bottom: 5px solid #9e0033;
}

a.btn--green.btn--cubic:hover {
  /*margin-top: 3px;*/
  border-bottom: 2px solid #00662d;
}

a.btn-c {
  font-size: 1.5rem;
  position: relative;
  padding: 1.5rem 3rem 1.5rem 2rem;
  border-radius: 100vh;
  width: 90%;
}

a.btn-c i.fa {
  margin-right: 1rem;
}

a.btn-c:before {
  font-family: 'Font Awesome 5 Free';
  font-size: 1.6rem;
  line-height: 1;
  position: absolute;
  top: calc(50% - .8rem);
  right: 1rem;
  margin: 0;
  padding: 0;
  content: '\f054';
}

#form {
    width: 100%;
    margin: 0 auto !important;
    color: #FFF;
}
#form {
    padding: 10px 30px;
}
#form p {
    margin-bottom: 0;
}
#form th{
    text-align: left;
}
.cmn_box01 {
    background: #1f1a18;
    border: solid 1px #372f2e;
}

span.wpcf7-list-item{display: block;}
.wpcf7-list-item-label{color:#FFF;}
/* -------------------- */

.form_read{padding-bottom:10px;}
#form{
padding:10px 30px;
}
#form table{
width:100%;
}
#form th,
#form td{ padding:10px;
border-bottom:dotted 1px #635f5e;
}
#form th{ width:30%; font-weight:bold;}
#form td{ width:70%;}
#form .btn{
padding:20px 0;
text-align:center;
}
#form .your-zip input,
#form .your-zip2 input,
#form .your-pref select,
#form .your-pref2 select{
margin-bottom:5px;
background:#fffccc;
}
#form input,
#form textarea {
background:#fffccc;
}
.wpcf7-not-valid-tip{
/*color:#000;*/
}
#form small{
font-weight:normal;
font-size:85%;
}
#form .must{
color:#ab131f;
}

h3.highlight:before{
    position: absolute;
    content: url("/img//tokyo-lp/ico-kaiketsu.png");
    display: inline-block;
    top:-0.75em;
    left: 0;
}
h3.highlight {
    position: relative;
    margin-bottom: 1em;
    padding: 0 0 0 5em;
    color: #A42E28;
}
.highlight {
    text-decoration: underline; /* 下線 */
    text-decoration-thickness: 0.5em; /* 線の太さ */
    text-decoration-color: rgba(255, 228, 0, 0.4); /* 線の色 */
    text-underline-offset: -0.2em; /* 線の位置。テキストに重なるようにやや上部にする */
    text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */
    font-size: 2em !important;
    font-weight: 800;
}

@media screen and (max-width: 640px) {
    a.btn-c {
      font-size: 1.2rem;
    }
    h3.highlight {
        padding: 3em 0 0 0;
    }
    #form{
    margin:0;
    padding:5%;
    }

    tbody tr{
        display: block;
        margin-bottom: 1.5em;
    }

    #form tbody th,
    #form tbody td{
        display: list-item;
        list-style-type: none;
        border: none;
        padding:0;
        margin:0 auto;
        width:100%;
    }

    #form.cmn_box01 table{
    width:90%;
    margin:0 auto;
    }

    .cmn_box01{
    padding:5%;
    margin:0 auto;
    width:100%;
    }

    #form table tbody th{
    border:none;
    margin-bottom:0;
    width:100%;
    }

    #form .wpcf7-text, #form textarea{
    width:95%;
    }

    #form input.wpcf7-submit{
    width:100%;
    margin:0 auto;
    }

    #form .btn{
    padding:0;
    }

    #form .wpcf7-response-output{
    margin:0;
    padding:0;
    }
}
.bfb_closed {
    display: none;
}
.bfb_view_sp {
    background-color:rgba(255 255 255 / 85%);
}

.width-max800 {
    width: 100%;
    max-width: 800px;
    margin: auto;
}

.achievement-headline {
  text-align: center;
  line-height: 1.2;
}

.achievement-headline__top,
.achievement-headline__bottom {
  font-weight: 900;
  color: #000;
}

.achievement-headline__top {
  font-size: clamp(36px, 4vw, 72px);
  margin-bottom: 8px;
}

.achievement-headline__bottom {
  font-size: clamp(44px, 5vw, 84px);
}

.achievement-headline__gold {
  position: relative;
  display: inline-block;
  padding: 0 0.05em;
  font-size: 1.25em;
  font-weight: 900;
  line-height: 1;

  /* 金色 */
  background: linear-gradient(
    to bottom,
    #fff7cc 0%,
    #f5dd7a 18%,
    #d9a91b 45%,
    #fff2a9 62%,
    #c79210 82%,
    #f5de7d 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;

}

.ranking-awards {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}

.ranking-award {
  flex: 1;
  text-align: center;
}

.ranking-award__text {
  color: #b21212;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.02em;
  margin-bottom: 20px;
}

.ranking-award__rank {
  color: #b21212;
  font-size: 48px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 12px;
}

.ranking-award__rank span {
  font-size: 1.9em;
  font-weight: 900;
  line-height: 1;
}

.ranking-award__badge img {
  width: 250px;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.ranking-awards__note {
  margin-top: 30px;
  text-align: right;
  font-weight: 500;
  line-height: 1.5;
  color: #222;
}

/* スマホでも3つ横並びのまま */
@media (max-width: 767px) {
  .ranking-awards {
    gap: 12px;
  }

  .ranking-award__text {
    font-size: 10px;
    margin-bottom: 8px;
  }

  .ranking-award__rank {
    font-size: 18px;
    margin-bottom: 6px;
  }

  .ranking-award__rank span {
    font-size: 1.8em;
  }

  .ranking-award__badge img {
    width: 95px;
  }

  .ranking-awards__note {
    margin-top: 16px;
    line-height: 1.5;
  }
}

.youtube2 {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
.youtube2 iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
  z-index:1;
}

.lead-red {
    background: #000;
    line-height: 1.8;
}
.lead-red:after {
    border-color: #000 transparent transparent transparent;
}
.navy-box-wrap {
    background: #F96400;
}
.navy-box-wrap .radius-box .title {
    border-bottom: solid 1px #F96400;
    color: #F96400;
    font-weight: 900;
}
.navy-min-radius {
    background: #F96400;
}
.annual-income {
    color: #000;
}
.attention {
    color: #F96400;
    font-size: 1.2em;
}

.navy-box-wrap .radius-box:nth-of-type(1) .title:before {
    background-image: url("../../img/lp_misorado/ico-01.png");
}
.navy-box-wrap .radius-box:nth-of-type(2) .title:before {
    background-image: url("../../img/lp_misorado/ico-02.png");
}
.navy-box-wrap .radius-box:nth-of-type(3) .title:before {
    background-image: url("../../img/lp_misorado/ico-03.png");
}
.marker-green {
    color: #F96400;
}
.marker-blue {
    color: #F96400;
}
h2.int {
    font-family: auto;
    font-size:2em;
    border-top: solid 2px #000;
    border-bottom: solid 2px #000;
    color: #000;
    margin: 40px 0 20px;
    text-align: center;
    font-weight: 900;
    padding: 1em 0;
}

.sec1 {
    background-image: url("https://ramenkeiei.com/misorado/wp-content/themes/site/assets/img/p3-bg.png");
    background-size: 7%;
    padding: 4em 0;
}
.body {
    padding: 0 3em;
    font-family: "Noto Sans Japanese", -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Arial, メイリオ, Meiryo, sans-serif;
}
.thumb li{
    width: 20%;
    margin: 0.5em;
}
.reason-box{
    margin: 0 0 3em;
}
.reason-box:last-of-type{
    margin: 0;
}
#.reason-box .catch{
    font-weight: 800;
    font-family: var(--font-f-gothic);
    text-align: center;
    color: #070647;
}
#.sec1 .body{
    padding: 0 3em;
}
#.sec3 .body{
    padding: 3em;
}
.record-box .title::before{
    content: '実績';
    display: inline;
    background-color: #A32F42;
    color: white;
    padding: 0.5em;
    font-size: 1.3em;
    font-weight: 800;
    margin: 0 0.75em 0 0;
}
.record-box .title{
    background-color: white;
    color: #A32F42;
    font-size: 1.3em;
    font-weight: 800;
    border: solid 3px #A32F42;
    border-top-right-radius: 0.25em;
    border-bottom-right-radius: 0.25em;
    margin:2em 0 1em;
}
.record-box .title p:first-of-type{
    background-size: 5%;
    background-repeat: no-repeat;
    padding: 0 0 0 3em;
    font-size: 1.2em;
    font-weight: 600;
    margin: 0;
    border-bottom: solid 1px #ccc;
    background-position: 1%;
}
.record-box .flex .left{
    width: 45%;
}
.record-box .flex .right{
    width: 53%;
    margin: 0 0 0 auto;
}
.reason-box .title{
    background-size: 10%;
    background-repeat: no-repeat;
    padding: 0.8em 0 1em 4em;
    margin:0 0 1em;
    font-size: 1.3em;
    font-weight: 600;
    color: #A32F42;
}
.flex-center{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.flex-center li{
    display: flex;
    justify-content: center;
    width: 100%;
}

.record-box .flex{
    display: flex;
    flex-wrap: wrap;
}
.record-box .flex table{
    background: #fff;
    width: 100%;
    margin-bottom: 1em;
}
.record-box .flex table tr.bg-red{
    background-color: #A32F42;
    color: white;
}
.record-box .flex table thead{
    background: var(--d-color-thin-2);
}

.record-box .flex table th{

}
.record-box .flex table td{

}
.record-box .flex thead td{
    background: #ececec;
}
.record-box .flex table{
    border-top: solid 1px #000;
    border-left: solid 1px #000;
}
.record-box .flex td,
.record-box .flex th{
    padding:0.25em 1em;
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
}

.record-box .flex td{
    text-align: right;
}
.record-box .right .text{
    font-size: 1.1em;
    font-weight: 600;
}
.record-box .right .ico-tsumari{
    background-repeat: no-repeat;
    padding: 0.35em 0 0.35em 0;
    font-size: 1.2em;
    font-weight: 600;
    color: #A32F42;
}

.record-box .title p:last-of-type{
    font-size: 1.2em;
    font-weight: 600;
    margin: 0;
    color: #A32F42;
    padding-bottom: 1em;
}

.reason-box .flex{
    display: flex;
    flex-wrap: wrap;
}
.catch-big-text{
    font-weight: 800;
    font-family: var(--font-f-gothic);
    font-size: 1.5em;
    background: linear-gradient(transparent 50%, #ffff7f 50%);
}
.catch-big-text.red{
    color: #A32F42;
}
.sub-title{
    color: #A32F42;
    font-size: 1.5em;
    font-weight: 800;
}
.record-box .flex table tr.bg-red {
    background-color: #A32F42;
    color: white;
}
.keiko_yellow {
    background: linear-gradient(transparent 50%, #ffff7f 50%);
}

@media screen and (max-width:889px){
    .body {
        padding: 0 5%;
    }
    .company-lead {
        background-color: #A32F42;
        color: white;
        font-size: var(--d-font-size-2);
        font-weight: 600;
        font-family: var(--font-f-gothic);
        padding: 0.25em 0 0.25em 0.5em;
        line-height: 1.5;
    }
    .blue-lead{
        font-size: var(--d-font-size-3);
        font-family: var(--font-f-gothic);
        padding: 0.5em 0.25em;
    }
    #track-record .sub-title{
        font-size: var(--d-font-size-4);
        line-height: 1.5;
    }
    .support-box .big-text{
        font-size: var(--d-font-size-3);
    }
    .brown-lead-slush-wrap p.position-start img{
        position: absolute;
        left: 0.35em;
        top: 0;
        width: 50px;
    }

    .brown-lead-slush-wrap p.position-end img{
        position: absolute;
        right: 0.5em;
        bottom: -0.5em;
        width: 50px;
    }
    .pc-only{
        display: none;
    }
    .sp-only{
        display: block;
    }
    .brown-lead-slush{
        padding: 1em;
        font-size: var(--d-font-size-3);
    }
    .white-bg-title{
        font-size: var(--d-font-size-3);
    }
    .problem-box-wrap{
        background-color: white;
        border-radius: 1em;
        padding: 2em 1.5em;
        margin-bottom: 2.5em;
    }
    .problem-box-wrap:nth-of-type(3){
        margin-bottom: 0;
    }

    .movie{
        display: flex;
        justify-content: center;
        margin-bottom: 1em;
    }
    .movie iframe{
        width: 100%;
        height: 16em;
    }
    .sec1{
        width: 100%;
        padding: 1em;
    }
    .sec2{
        width: 100%;
        padding: 1em;
    }
    .sec3 .body,
    .sec4 .body{
        width: 100%;
        padding:0 1em;
    }
    .bn{
        margin-bottom: 1em;
    }
    .catch-big-text{
        font-size: var(--d-font-size-4);
        line-height: 1.5;
    }
    .catch{
        font-size: var(--d-font-size-1);
        margin-bottom: 1em;
        line-height: 1.75;
    }


    .reason-box .flex li:nth-of-type(1){
        width: 100%;
        margin: 0;
    }
    .reason-box .flex li:nth-of-type(2){
        width: 100%;
        margin: 0;
    }
    #corpo .flex .photo{
        width: 100%;
        order: 1;
        margin-bottom: 1em;
    }
    #corpo .flex .text{
        width: 100%;
        margin: 0;
        order: 2;
    }

    .study-point-box .text{
        width: 100% !important;
        margin: 0 !important;
        order: 2 !important;
    }
    .study-point-box .photo{
        width: 100% !important;
        margin: 0 0 1em !important;
        order: 1 !important;
    }

    .point-box .title{
        background-repeat: no-repeat;
        padding: 0 0 0 2em;
        font-size: var(--d-font-size-4);
        line-height: 1.5;
        font-weight: 600;
        color: var(--attention-color);
        background-size: 13%;
    }

    .review-main .left{
        width: 100%;
    }
    .review-main .right{
        width: 100%;
        margin: 0;
    }
    .qa-box .photo img{
        margin: 0 auto;
    }
    .qa-box:nth-of-type(2n) .flex .photo{
        width: 100%;
        order: 1;
        justify-content: center;
    }
    .qa-box .flex .text{
        width: 100% !important;
        margin: 0 0 2em 0 !important;
    }
    .qa-box .flex .photo{
        width: 100% !important;
        margin: 0 0 1em 0 !important;
    }
    .qa-box:nth-of-type(2n+1) .flex .text{
        width: 100%;
    }
    .review-navi li{
        width: 48%;
        margin: 0.25em;
    }
    .howto-wrap .howto-box{
        width: 100%;
        margin: 0;
    }
    .kodawari-wrap .kodawari-box{
        width: 100%;
        margin: 0;
    }
    .brown-lead{
        font-size: var(--d-font-size-4);
    }
    .success-box .title{
        padding: 1em 0;
        font-weight: 800;
        font-size: var(--d-font-size-3);
        color: var(--attention-color);
        line-height: 1;
        margin-bottom: 0 !important;
    }
    .problem-box .title::after{
        overflow: hidden;
        margin: 0.5em 0 0 0;
    }

    .success-box .title::after{
        display: block;
        content: url("../../assets/img/title-under-red.png");
        line-height: 1;
        overflow: hidden;
        margin: 0.5em 0 0 0;
    }
     .develop-box .title{
        padding: 1em 0;
        font-weight: 600;
        font-size: var(--d-font-size-3);
        color: white;
        background: rgb(226,29,29);
        text-align: center;
        background: linear-gradient(90deg, rgba(226,29,29,0) 0%, rgba(226,30,30,1) 10%, rgba(225,34,34,1) 50%, rgba(231,21,21,1) 90%, rgba(231,21,21,0) 100%);
        line-height: 1.5;
    }
    .success-flex .left{
        width: 100%;
    }
    .success-flex .right{
        width: 100%;
    }
    .point-box ul{
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 1em;
    }
    .point-box li{
        width: 100%;
        margin-bottom: 1em;
    }

    .title-block{
        text-align: center;
        padding: 1em;
    }
    #corpo .title{
        padding: 0.5em;
        margin: 0 auto;
        font-size: var(--d-font-size-4);
        font-family: var(--font-f-gothic);
        font-weight: 600;
    }
    #corpo .body{
        background-image: url("../../assets/img/p6-bg.png");
        background-size: 9%;
        padding: 1em;
    }
    table.company{
        width: 100%;
    }
    table.company td,
    table.company th{
        padding: 0.5em;
        font-family: var(--font-f-mincho);
    }
    #corpo .flex.main .title.ff-mincho{
        letter-spacing: -2px;
        font-size: var(--d-font-size-3);
    }
    p.company-title{
        font-size: var(--d-font-size-3);
    }
    .line_button_wrap{
        width: 90%;
        margin: 0 0 1em;
    }
    .red_btn{
        width: 90%;
        margin: 0;
    }
    .btn_space{
        margin: 1em 0 auto;
        justify-content: center;
    }
    .line_button_wrap p{
        font-size: var(--d-font-size-3);
        font-weight: 600;
        color: white;
        line-height: 1.5;
        padding: 0 0 0 2em;
        background-image: url(../../assets/img/ico-telnum.png);
        background-repeat: no-repeat;
        background-size: 10%;
        background-position: 1.3em 0.35em;
        margin: 0 !important;
    }
    #review .body{
        width: 100%;
        padding:0 1em;
    }
    .qa-box p.position img{
        position: absolute;
        width: 22%;
        left: -4.3em;
        top: -5.7em;
    }
    .qa-box .q{
        background-color: white;
        font-size: var(--d-font-size-3);
        font-family: var(--font-f-gothic);
        border: solid 8px #C64C34;
        color: #C64C34;
        font-weight: 600;
        background-position: 100%;
        background-repeat: no-repeat;
        background-size: 18%;
        padding: 0.2em 0.1em 0.2em 3em;
        margin-bottom: 1.5em;
        line-height: 1.3;
    }
    .review-main .catch{
        font-size: var(--d-font-size-5);
        font-family: var(--font-f-gothic);
        color: var(--attention-color);
        line-height: 1.4;
    }
    .store-name-catch{
        position: relative;
        display: inline-block;
        padding: 7px 10px;
        min-width: 120px;
        width: 100%;
        color: #000;
        font-size: var(--d-font-size-3);
        line-height: 1.5;
        font-family: var(--font-f-mincho);
        font-weight: 600;
        text-align: center;
    }
    .review-main .sub-catch{
        font-size: var(--d-font-size-2);
        font-family: var(--font-f-gothic);
        font-weight: 600;
        text-align: center;
        letter-spacing: -1px;
    }
    .brown-lead-hukidashi{
        position: relative;
        display: flex;
        justify-content: center;
        width: 90%;
        margin: 0 auto;
        background: #33160B;
        color: yellow;
        font-weight: 800;
        font-size: var(--d-font-size-5);
        text-align: center;
        margin-bottom: 0.75em;
        line-height: 1.3;
        padding: 0.5em;
    }
    #system section .body{
        padding: 0 1em;
    }
    #system .main{
        padding: 1em 0 0;
    }

    #system .reason-box .reason .photo{
        width: 100%;
        margin-bottom: 1em;
        order: 1;
    }
    #system .reason-box .reason .text{
        width: 100%;
        order: 2;
    }
    .thumb li{
        width: 40%;
        margin: 0.5em;
    }
    .reason-box{
        margin: 0;
    }
    #track-record .sec1 .body{
        padding: 0 1em;
    }
    #track-record .sec3 .body{
        padding: 1em;
    }
    .record-box .title p:first-of-type{
        background-size: 16%;
        background-repeat: no-repeat;
        padding: 0 0 0 3em;
        font-size: var(--d-font-size-3);
        font-weight: 600;
        margin: 0;
        border-bottom: solid 1px #ccc;
        background-position: 1%;
    }
    .record-box .title p:last-of-type{
        line-height: 1.5;
    }
    .record-box .flex .left{
        width: 100%;
        order: 2;
        margin-bottom: 0em;
    }
    .record-box .flex .right{
        width: 100%;
        order: 1;
        margin-bottom: 1em;
    }
    .record-box .right .ico-tsumari{
        background-repeat: no-repeat;
        padding: 0.35em 0 0.35em 0;
        font-size: var(--d-font-size-3);
        font-weight: 600;
        color: var(--attention-color);
        line-height: 1.5;
        margin: 0;
    }
    .reason-box .title{
        background-size: 14%;
        background-repeat: no-repeat;
        padding: 0 0 0 2.5em;
        margin: 0 0 1em;
        font-size: var(--d-font-size-3);
        font-weight: 600;
        color: var(--attention-color);
        line-height: 1.35;
        background-position: 0 center;
    }
    .reason-box{
        margin-bottom: 3em;
    }
    .reason-box .flex li:nth-of-type(1){
        margin-bottom: 1em;
    }
    #study .thumbnail-box{
        width: 100%;
    }
    #study .hukidashi img{
    }
    #study .face-photo{
        margin: 0 auto;
        order: 2;
    }
    #study .main-lead{
        position: relative;
        display: inline-block;
        padding: 0.5em;
        width: 100%;
        color: white;
        font-size: var(--d-font-size-2);
        font-weight: 600;
        background: #C64C34;
        line-height: 1.5;
        text-align: center;
    }
    #study .lead{
        padding: 0 0.5em 0.5em;
        color: #C64C34;
        border-left: solid 2px #C64C34;
        border-bottom: solid 2px #C64C34;
        font-weight: 600;
        font-size: var(--d-font-size-2);
        line-height: 1.5;
    }

    #study .staff-box .box .photo{
        width: 100% !important;
        margin: 0 0 1em !important;
        order: 1 !important;
    }
    #study .staff-box .box .text{
        width: 100% !important;
        margin: 0 0 3em 0 !important;
        order: 2 !important;
    }
    #review .bn{
        padding: 0;
    }
    .study-point-box .title{
        color: white;
        font-size: var(--d-font-size-3);
        font-weight: 600;
        background-size: 15%;
        background-repeat: no-repeat;
        padding: 0.5em 0 0.75em 3em;
        line-height: 1.5;
        background-position: 2% 40%;
        margin: 0;
    }
    #study p.hukidashi{
        width: 100%;
        order: 1;
    }
    .fuchidori {
        background: orange;
        padding: 0.5em 0;
        margin: 0 !important;
        line-height: 1.5;
        text-align: center;
        font-size: var(--d-font-size-4);
        font-family: var(--font-f-gothic);
        font-weight: 600;
        color: white;
        text-shadow:1px 1px 0 #000, -1px -1px 0 #000,
        -1px 1px 0 #000, 1px -1px 0 #000,
        0px 1px 0 #000,  0-1px 0 #000,
        -1px 0 0 #000, 1px 0 0 #000;
    }
    .support-box .left{
        order: 2;
        width: 100%;
    }
    .support-box .right{
        order: 1;
        width: 100%;
        margin: 0 0 1em ;
    }
    #product-appeal .support-box .right{
        margin: 0;
    }
    .problem-box .title{
        background-repeat: no-repeat;
        background-size: 20%;
        padding: 0 0 0 3em;
        font-size: var(--d-font-size-3);
        font-weight: 600;
        color: var(--attention-color);
        line-height: 1.35;
        margin: 0;
    }
    .problem-box .left{
        width: 100%;
    }
    .problem-box .right{
        width: 100%;
        margin: 0;
    }
    .under-arrow{
        width: 50%;
        left: 40%;
    }
    .success-icon img{
        position: absolute;
        width: 25%;
        left: -1em;
        top: 3em;
        transform: rotate(3deg);
    }
    .support-main{
        background-size: 100%;
        min-height: 700px;
        padding: 28em 1em 1em 1em;
    }
    .support-main .position a{
        position: absolute;
        display: block;
        right: -1em;
        top: -13.5em;
        width: 60%;
    }
    .footer-navi{
        display: flex;
        flex-wrap: wrap;
    }
    .footer-navi li{
        width: 50%;
        justify-content: center;
    }
    .footer-navi li a{
        display: block;
        padding: 0.5em 0;
        background: black;
        color: white;
        font-size: var(--d-font-size);
        font-family: var(--font-f-mincho);
        text-align: center;
    }
    .movie-wrap{
        background-color: #000;
        padding: 1em;
        margin-bottom:2em;
    }
    .lead-red{
        letter-spacing: -1px;
        line-height: 1.7;
    }
    .lead-black {
        font-size: 0.8em;
    }
}



.reason-box .flex p{
    margin: 1em 0 0 0;
    background: #F3EADD;
    padding: 1em;
    text-align: center;
}
#track-record .sec1{
    background-image: url("../../assets/img/p3-bg.png");
    background-size: 7%;
    padding: 0;
}

.otoiawase{
    background:#292929;
    padding:1% 0;
}
.contact-table{
    margin:4%;
    color:#fff;
}
.contact-table th,.contact-table td{
    border-bottom:solid 1px rgb(87, 87, 87);
    padding:1%;
}
@media screen and (min-width:641px){
    .contact-table th{
        width:30%;
    }
}
@media screen and (max-width:640px){
    .contact-table th,.contact-table td{
        display:block; 
    }
    h1,h2{
        padding: 0;
        margin: 0;
        font-size: 1em;
        line-height: 1.3;
        font-weight: 400;
    }
}

.works-bar {
    background-color: #000;
    color: #fff;
    padding: 0.5em 3em;
    font-size: 1.6em;
    font-weight: 900;
    text-align: center;
}
.works-bar2 {
    background-color: #f8c100;
    /*color: #fff;*/
    padding: 1em 1em;
    font-weight: 900;
    display: inline-block;
    margin-bottom: 1em;
    width: 100%;
}

.shiny_btn01 {
  display: inline-block;
  position: relative;
  width: 100%;
  min-height: 100px;
  max-width: 500px; /* ボタン幅 */
  padding: .7em 0em;
  background-color: #00af08; /* 背景色 */
  color: #fff !important;
  box-shadow: 0 3px 0 0 #005b04; /* 影の色 */
  border-radius: 10px;
  font-size: 1.7em;
  font-weight: bold; /* 文字の太さ */
  color: #fff; /* 文字の色 */
  text-align: center;
  text-decoration: none !important;
  overflow: hidden;
  transition: 0.3s;
  line-height: 1.4;
}
.shiny_btn01::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  transition: 0.2s;
  animation: shiny_btn01 3s ease-in-out infinite;
}

.shiny_btn02 {
  display: inline-block;
  position: relative;
  width: 100%;
  min-height: 100px;
  max-width: 500px; /* ボタン幅 */
  padding: 1em 0em;
  background-color: #e7261b; /* 背景色 */
  color: #fff !important;
  box-shadow: 0 3px 0 0 #995100; /* 影の色 */
  border-radius: 10px;
  font-size: 1.7em;
  font-weight: bold; /* 文字の太さ */
  color: #fff; /* 文字の色 */
  text-align: center;
  text-decoration: none !important;
  overflow: hidden;
  transition: 0.3s;
}
.shiny_btn02::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #fff;
  transition: 0.2s;
  animation: shiny_btn01 3s ease-in-out infinite;
}

/* マウスオーバーした際のデザイン */
.shiny_btn02:hover {
  text-decoration: none;
  color: #fff;
  box-shadow: none;
  -webkit-transform: translateY(3px);
}

/* マウスオーバーした際のデザイン */
.shiny_btn01:hover {
  text-decoration: none;
  color: #fff;
  box-shadow: none;
  -webkit-transform: translateY(3px);
}

/* 光るアニメーション */
@-webkit-keyframes shiny_btn01 {
  0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
  80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
  81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
  100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}

.bar02-bgb {
    background-color: #126a97;
    padding: 2%;
    border-radius: 20px;
    color: #fff;
    margin:20px 0;
}
.bar02-bgr {
    background-color: #d40037;
    padding: 2%;
    border-radius: 20px;
    color: #fff;
    margin:20px 0;
}
.bar02-sec01 {
    padding-top: 30px;
    padding-right: 16px;
    padding-bottom: 30px;
    padding-left: 16px;
}
.bar02-sec02 {
    background-color: #fff;
    border-radius: 60px;
    padding: 8px 16px;
    text-align: justify;
    color: #126a97;
    margin: 20px 0;
    font-weight: 900;
}
.bar02-sec03 {
    padding-top: 30px;
    padding-right: 16px;
    padding-bottom: 30px;
    padding-left: 16px;
}
.bar02-sec04 {
    background-color: #fff;
    border-radius: 60px;
    padding: 8px 16px;
    text-align: justify;
    color: #d40037;
    margin: 20px 0;
    font-weight: 900;
}

/* 上三角形 */
.triangle-top {
  background: linear-gradient(to bottom, green, yellow);
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
/* 右三角形 */
.triangle-right {
  background: linear-gradient(to right, green, yellow);
  clip-path: polygon(0 0, 0 100%, 100% 50%);
}
/* 下三角形 */
.triangle-bottom {
  background-color: #d40037;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
/* 左三角形 */
.triangle-left {
  background: linear-gradient(to left, green, yellow);
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
}
/* 共通のスタイル */
.triangle {
/*   background-color: #333; */
  height: 50px;
  width: 100%;
}


@media screen and (min-width:641px){
    .flo33 {
        width:31%;
        margin: 1%;
    }
    .flo50 {
        width:50%;
        padding: 1%;
    }
    
}
@media screen and (max-width:640px){
    .flo33 {
        width:100%;
        margin-bottom: 5%;
    }
    .flo50 {
        width:100%;
        margin-bottom: 5%;
    }
    .shiny_btn01 {
        min-height: auto;
    }
    .shiny_btn02 {
        min-height: auto;
    }
    .single-landing_pt .box_business .president p, .single-landing_pt .box_business .post_body p, .tax-business_ct .box_business .president p, .tax-business_ct .box_business .post_body p, #business .box_business .president p, #business .box_business .post_body p {
    margin: 10px 0 30px;
    }
}


.support{
    border: 6px solid #d40037;
    border-radius: 20px;
    padding-top: 30px;
    padding-right: 16px;
    padding-bottom: 30px;
    padding-left: 16px;
    text-align: justify;
}

.support div:first-of-type {
    font-weight: 900;
    color: #d40037;
}
.support div:nth-of-type(2) {
    font-size: 0.8em;
}

/* m&a LP */

.flex-container {
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-flex-direction: row; /* Safari */
  flex-direction:         row;
  flex-wrap: wrap;
}
.flex-container-bt {
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-flex-direction: row; /* Safari */
  flex-direction:         row;
  flex-wrap: wrap;
  -webkit-justify-content:space-between;
  -moz-justify-content:space-between;
  justify-content:space-between;
}
.flex-container-riv {
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-flex-direction: row-reverse; /* Safari */
  flex-direction:         row-reverse;
  flex-wrap: wrap;
}
.flex-container-cen {
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-justify-content: center; /* Safari */
  justify-content:         center;
  flex-wrap: wrap;
}

.mtb-40 {
    margin-top: 40px;
    margin-bottom: 40px;
}
.mb-20 {
    margin-bottom: 20px;
}
.mb-40 {
    margin-bottom: 40px;
}
.mb-60 {
    margin-bottom: 60px;
}

.text-center-pc {
    text-align: center;
}
@media screen and (max-width:767px){
    .text-center-pc {
        text-align: left;
    }
}

.lp-container {
    padding: 5% 5%;
}
@media screen and (max-width:767px){
    .lp-container {
        padding: 5% 5%;
    }
}

.blue {
    color: #2f4e8f;;
}
.red {
    color: #d40037;
}
.bg-red {
    background-color: #d40037;
    color: #fff;
}
.bg-gray {
    background-color: #f5f5f5;
    position: relative;
}
.bg-gray::after {
  content: "";
    position: absolute;
    height: 60px;
    width: 100%;
    clip-path: polygon(0 0,50% 100%,100% 0);/* ココ */
    background-color: #f5f5f5;/* デモは青色の部分 */
    left: 0;
    bottom: -60px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
}
@media screen and (max-width:767px){
    .bg-gray::after {
        height: 30px;
        bottom: -30px; /* bottomにピッタリくっつけたいので三角の高さ分下にずらす */
    }
}
.fw900 {
    font-weight:900;
}
.fs2x {
    font-size: 200%;
    line-height: 180%;
}
@media screen and (max-width:767px){
    .fs2x {
        font-size: 120%;
        line-height: 160%;
    }
}

@media screen and (max-width:767px){
    .br-pc {
        display: none;
    }
}
.cta {
    padding: 5% 0;
}

.qa-flo01 {
    width: 40%;
}
.qa-flo02 {
    width: 55%;
    margin-right: 5%;
    text-align: justify;
}
.qa-flo01.riv{
    width: 40%;
}
.qa-flo02.riv{
    width: 55%;
    margin-left: 5%;
    margin-right: 0%;
    text-align: justify;
}
@media screen and (max-width:767px){
    .qa-flo01 {
        width: 100%;
    }
    .qa-flo02 {
        width: 100%;
        margin-top: 1em;
        margin-left: 0;
    }
    .qa-flo01.riv{
        width: 100%;
    }
    .qa-flo02.riv{
        width: 100%;
        margin-top: 1em;
        margin-left: 0;
    }
}

@media (min-width: 768px) {
    .pcv {

    }
    .spv {
        display: none !important;
    }
    .br-sp {
        display: none;
    }
}
@media screen and (max-width:767px){
    .pcv {
        display: none !important;
    }
    .spv {

    }
}

#form {
    width: 100%;
    font-size: 80%;
}
#form p {
    margin: 0;
}

@media screen and (max-width: 640px) {
    #form input.wpcf7-submit {
        width: 100%;
        margin: 0 auto;
    }
}
@media screen and (max-width: 640px) {
    #form .wpcf7-text, #form textarea {
        min-width: 100%;
    }
}


.problem-head,.solution-head {
  display: flex;
  align-items: center;
  gap: 32px;
  margin-bottom: 24px;
}

.problem-head__label {
  flex-shrink: 0;
  background: #2f2d2d;
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  padding: 22px 36px;
  min-width: 220px;
  text-align: center;
}

.problem-head__title {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  color: #2f2d2d;
}
.solution-head__label {
  flex-shrink: 0;
  background: #3390c6;
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  padding: 22px 36px;
  min-width: 220px;
  text-align: center;
}
.solution-head__label__green {
  flex-shrink: 0;
  background: #00be62;
  color: #fff;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  padding: 22px 36px;
  min-width: 220px;
  text-align: center;
}

.solution-head__title {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  color: #3390c6;
}
.solution-head__title__green {
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  color: #00be62;
}

/* スマホでは縦並び */
@media (max-width: 767px) {
  .problem-head,.solution-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }

  .problem-head__label,.solution-head__label {
    min-width: auto;
    width: 100%;
    font-size: 22px;
    padding: 16px 20px;
    text-align: center;
  }
  .problem-head__label,.solution-head__label__green {
    min-width: auto;
    width: 100%;
    font-size: 22px;
    padding: 16px 20px;
    text-align: center;
  }

  .problem-head__title,.solution-head__title__green {
    font-size: 22px;
    line-height: 1.4;
  }
}

.simple-cta-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  width: 100%;
  max-width: 1480px;
  min-height: 128px;
  padding: 20px 36px;
  background: #c60140;
  color: #fff;
  text-decoration: none;
  border-radius: 9999px;
  position: relative;
  transition: transform 0.2s ease, opacity 0.2s ease;
  box-sizing: border-box;
}

.simple-cta-btn::after {
  content: "";
  position: absolute;
  left: 24px;
  right: 24px;
  bottom: -6px;
  height: 12px;
  background: #980031;
  border-radius: 9999px;
  z-index: -1;
}

.simple-cta-btn__text {
  font-size: clamp(28px, 3vw, 52px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
}

.simple-cta-btn__arrow {
  position: absolute;
  right: 48px;
  top: 50%;
  transform: translateY(-50%);
  font-size: clamp(34px, 3vw, 52px);
  font-weight: 700;
  line-height: 1;
}

.simple-cta-btn:hover {
  transform: translateY(2px);
  opacity: 0.96;
}

.simple-cta-btn:hover::after {
  bottom: -3px;
}

@media screen and (max-width: 768px) {
  .simple-cta-btn {
    min-height: 82px;
    padding: 16px 24px;
  }

  .simple-cta-btn::after {
    left: 14px;
    right: 14px;
    bottom: -4px;
    height: 8px;
  }

  .simple-cta-btn__text {
    font-size: 24px;
  }

  .simple-cta-btn__arrow {
    right: 24px;
    font-size: 28px;
  }
}