
img{
    vertical-align:top;
}

.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;
    }

    body {
        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) {

    .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%;
        min-height: 180px;
    }

    .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: #C64C33;
        color: white;
        padding: 0.5em;
        font-size: 1.4em !important;
        font-weight: 800;
    }

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

    .red {
        color: #A42E28;
    }

}

@media screen and (min-width: 1025px) {
    .bn-list{
        margin: 1em 0 0 0;
    }
    .bn-list img {
        margin-bottom: 1em;
        width: 80%;
    }
    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;
    }

    .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: #EA3628;
        font-size: 2em !important;
        font-weight: 800;
    }

    .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: #C64C33;
        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;
    }

    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;
    }

    .v-tl {
        width: 100%;
        margin: 0 auto;
    }

    .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: #000;
    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;
}
.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-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 1.7rem;
    font-weight: 900;
}

.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: 2rem !important;
    margin: 0;
}
.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: 2rem !important;
    margin: 0;
}
.color-red{
    color: #db362c;
    padding: 0.5em;
    font-size: 2.5em !important;
    font-weight: 800;
    margin: 0 !important;
}
@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 !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: #094;
  text-decoration: none;
}

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

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

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;
}

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;
}
@media screen and (max-width: 640px) {
    #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;
    }
}