
/*カラー規定
*
*  black:#171717
*  red:#df4a4b
*  gray:#a09998
*  gray_bk:#f5f5f5
*
*/

/******************************

共通部分

******************************/
span.inline-br {
    display: inline-block;
}
h2.midashi {
    text-align: center;
    line-height: 120%;
    font-size: 3rem;
    letter-spacing: .5px;
    max-width: 95%;
    margin: 1rem auto;
}

h2.midashi span {
    display: block;
    font-size: 1.2rem;
    letter-spacing: 1px;
}

.bg_red h2.midashi {
    color: #fff;
}

section.bg_red {
    background-color: #df4a4b;
}
section.bg_bk {
    background-color: #171717;
    color: #fff;
}
.bg_bk h2.midashi {
    color: #fff;
}
.flexbox {
    display: flex;
}


/****************/
/*header部分*/
/****************/
a.head_entry {
    margin-left: auto;
    background-color: #df4a4b;
    color: #fff;
    top: 0;
    right: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    width: 150px;
    z-index: 2;
}
nav.globalMenuSp {
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background: #171717;
    color: #fff;
    transform: translateY(-100%);
    transition: all 0.4s;
    width: 100%;
    padding-top: 2rem;
    padding-bottom: 2rem;
}
 
nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    width: 80%;
}
 
nav.globalMenuSp ul li {
    font-size: 1.1em;
    list-style-type: none;
    width: 100%;
    border-bottom: 1px dotted #fff;
    padding: 1.6rem 0;
}
 
nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
nav.globalMenuSp ul li a {
    color: #fff;
    font-size: 2rem;
}
nav.globalMenuSp ul li a span {
    display: block;
    font-size: 1.4rem;
    letter-spacing: -.2px;
    color: #d9b504;
}
nav.globalMenuSp.active {
    transform: translateY(0%);
}
nav.globalMenuSp.active {
    overflow: hidden;
    height: 100%;
}
html.hidden{
    overflow: hidden;
}
.navToggle {
    display: block;
    position: fixed;
    right: 0;
    top: 0;
    width: 60px;
    height: 60px;
    cursor: pointer;
    z-index: 3;
    background: #171717;
    text-align: center;
}
 
.navToggle span {
    display: block;
    position: absolute;
    width: 30px;
    border-bottom: solid 3px #eee;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
 
.navToggle span:nth-child(1) {
    top: 25px;
    right: 0;
    left: 0;
    margin: 0 auto;
}
 
.navToggle span:nth-child(2) {
    top: 35px;
    right: 0;
    left: 0;
    margin: 0 auto;
}
.navToggle.active span:nth-child(1) {
    top: 50%;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.navToggle.active span:nth-child(2) {
    top: 50%;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}
.nav .entry_text {
    margin: 4rem 0;
}
.nav .entry_text{
    display: flex;
    justify-content: center;
}
.entry_text.sp_content {
    display: none;
}

/****************/
/*main部分*/
/****************/
section#main {
    position: relative;
    padding: 0 0;
    margin-bottom: -6px;
    background-color: #df4a4b;
}

.main_midashi {
    max-width: 90%;
    width: 1000px;
    height: 100%;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
}

.main_textarea_inner {
    height: 100%;
}

.main_textarea {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 100%;
}

.text_anime {
    position: relative;
}

.main_inner {
    text-align: center;
    right: 0;
    left: 0;
}

.main_bg {
    background-image: url(../images/main_bg.png);
    background-position-x: center;
    background-position-y: top;
    background-size: cover;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
    height: 90%;
}

.bk_bg {
    background-color: #df4a4b;
}

.top_ttl {
    position: absolute;
    bottom: 43%;
    left: 0;
    right: 0;
}

.top_midashi {
    color: #fff;
    line-height: 200%;
    letter-spacing: 2px;
    font-size: 1.8rem;
    position: absolute;
    bottom: 20%;
    left: 0;
    right: 0;
}

.top_company {
    max-width: 800px;
    width: 90%;
    margin: auto;
    background-color: #fff;
    border-radius: 200px;
    color: #171717;
    display: flex;
    max-height: 120px;
    align-items: center;
    justify-content: center;
}
.top_company_inner {
    width: 100%;
}

/*
.top_company ul {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
}
*/
/* 大手企業が続々導入中！のスタイル */
.top_company_inner p {
    font-size: 2.8rem;
    font-weight: bold;
    margin: 0;
    padding: 2rem 0;
    text-align: center;
}

.scroll_anime {
    position: absolute;
    right: 0;
    left: 0;
    bottom: 0;
    margin-bottom: 0px;
}

.scroll_loop {
    overflow: hidden;
}

.scroll_anime p {
    letter-spacing: 1px;
    font-size: 1.4rem;
    color: #fff;
}

.scroll_loop img {
    animation: loop2 1.2s linear infinite;
    width: auto;
    height: 100%;
}
@keyframes loop2 {
0% {
    transform: translateY(-120%);
}
100% {
    transform: translateY(120%);
}
}


/****************/
/*HAVE TROUBLE部分*/
/****************/

section#trouble {
    padding-top: 10rem;
    padding-bottom: 7rem;
    position: relative;
    z-index: 0;
}

.trouble_inner {
    margin-top: 4rem;
}

.trouble_list li {
    width: calc(90%/3);
    margin: 5px 5px;
    text-align: center;
    color: #171717;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 5px;
    border-radius: 30px;
    font-size: 1.4rem;
    height: 50px;
    flex-wrap: wrap;
}

ul.trouble_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

/****************/
/*BOOKS CATEGORY部分*/
/****************/

.books_txtarea p {
    text-align: center;
    line-height: 180%;
    margin: 0 auto 5rem auto;
    max-width: 90%;
    width: 1000px;
}

.books_lineup .books_lineuplist li {
    width: calc(18%/1);
    margin: 5px 5px;
    text-align: center;
    color: #171717;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 5px;
    font-size: 1.4rem;
    height: 20px;
    box-shadow: 0px 0px 10px #f5f5f5;
}

.books_lineup ul.books_lineuplist {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

.books_lineup {
    margin: auto;
    padding: 0px;
    max-width: 90%;
    width: 1000px;
    position: relative;
}

.books_lineup .attention li {
    font-size: 1.2rem;
}

.books_lineup ul.attention {
    position: absolute;
    right: 0;
    margin-top: 0;
}
div#slider {
    margin: 0 auto;
    width: 100%;
    height: 350px;
    text-align: left;
    position: relative;
    overflow: hidden;
}
#slider ul li {
    height: auto;
    float: left;
    display: inline;
    margin: 1.5rem 1rem;
    text-align: center;
}

/****************/
/*secret_content部分*/
/****************/

.secret_content h3.sec_midashi {
    color: #fff;
    /* font-family: serif; */
    font-family: 'Noto Sans JP', sans-serif; /* 明示的に指定 */
    letter-spacing: 1px;
    font-weight: normal;
    font-size: 2.8rem;
    text-align: center;
    margin-top: 0;
}

.secret_inner .flexbox {
    width: 80%;
    margin: 0 auto;
}

.secret_text {
    margin-top: 0;
    padding-left: 2rem;
    width: 80%;
    line-height: 200%;
    color: #fff;
}

.secret_text p {
    margin-top: 0;
}

/****************/
/*entry部分*/
/****************/

.entry_inner {
    width: 70%;
    margin: auto;
    text-align: center;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 5rem;
}

.entry_bg {
    height: 250px;
    width: 100%;
    position: absolute;
    background-image: url(../images/entry_bg.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}

.entry_text {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.entry_text p {
    width: 100%;
    font-size: 2.6rem;
    letter-spacing: 2px;
    margin-bottom: 5rem;
    color: #fff;
    font-weight: bold;
}

a.entry_btn {
    background-color: #df4a4b;
    color: #fff;
    border-radius: 37px;
    align-items: center;
    display: flex;
    justify-content: center;
    margin: 0;
    max-width: 350px;
    width: 80%;
    padding: 1.6rem 0;
}

/****************/
/*scene部分*/
/****************/
.scene_bg {
    background-image: url(../images/scene_bg.png);
    width: 80%;
    margin: 0 auto;
    height: 300px;
    position: absolute;
    right: 0;
    left: 0;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index: -1;
}

.scene_box_inner {
    text-align: center;
    background-color: #fff;
    padding: 2rem 2rem;
    box-shadow: 0px 3px 10px #f5f5f5;
    margin-bottom: 4rem;
}

.scene_box {
    width: 70%;
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 20rem;
}

.scene_box_inner ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 2rem;
    margin-bottom: 0;
}

.scene_box_inner ul li {
    width: calc(80%/2);
    margin: 10px 10px;
    color: #fff;
    letter-spacing: .5px;
    background-color: #171717;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5px 5px;
    border-radius: 30px;
    font-size: 1.4rem;
    height: 50px;
}

/****************/
/*reason部分*/
/****************/
.reason_inner {
    width: 70%;
    margin: auto;
    padding-top: 2rem;
}

.reason_box {
    background-color: #ffffff;
    padding: 2rem 0;
    border-radius: 20px;
    margin-bottom: 1rem;
}

.reason_ttl {
    text-align: center;
    cursor: pointer;
    display: flex;
    align-items: center;
    position: relative;
}

.reason_ttl h3 {
    text-align: left;
    width: 84%;
    margin: 1rem auto;
    margin-right: 8rem;
}

.reason_ttl h3::after {
    content: url(../images/yajirushi.png);
    position: absolute;
    right: 5rem;
    bottom: 30%;
}

#reason_toggle div.reason_open {
    display: none;
}

.reason_open {
    width: 85%;
    margin: 1rem auto;
    padding: 1rem 0;
    border-top: 1px solid;
}

.reason_ttl.yajirushi_close h3::after {
    transform: rotateX(180deg);
}
/****************/
/*plan部分*/
/****************/

.plan_inner {
    width: 80%;
    margin: 0 auto;
}

.plan_box {
    background-color: #fff;
    border-radius: 15px;
    padding-bottom: 2rem;
    margin-bottom: 5rem;
}

p.plan_midashi {
    background-color: #a09998;
    text-align: center;
    color: #fff;
    font-size: 2.4rem;
    padding: 1.4rem 0rem 1.4rem 0;
    border-radius: 15px 15px 0 0;
    position: relative;
    z-index: 5;
    margin-top: 5rem;
}

.plan_box ul {
    display: flex;
    color: #171717;
    width: 90%;
    margin: 0 auto;
}
p.plan_midashi span {
    display: block;
    font-size: 1.6rem;
    margin-top: 1rem;
}
.plan_box li.fee {
    width: 50%;
    text-align: center;
}

.plan_box li.info {
    width: 50%;
    text-align: center;
}
span.red_txt {
    color: #df4a4b;
    font-weight: bold;
    font-size: 1.8rem;
}
span.plan_min_midashi {
    display: block;
    text-align: center;
    margin-bottom: 1rem;
    border: 1px solid #a09998;
    width: fit-content;
    margin: 0rem auto 1rem auto;
    padding: .4rem 2rem;
}
span.delete_line {
    text-decoration: line-through;
}
span.plan_emphasis {
    font-size: 1.5em;
		font-weight: bold;
}
.plan_inner a.entry_btn {
    margin: auto;
}

/****************/
/*voice部分*/
/****************/

.voice_box {
    background-color: #f5f5f5;
    margin-top: 12rem;
}

.voice_box .flexbox_r {
    display: flex;
    flex-direction: row-reverse;
    width: 80%;
    margin: auto;
}

.voice_img, .voice_text {
    width: 50%;
}

.voice_text {
    padding-top: 5rem;
}

.voice_img {
    position: relative;
    top: -40px;
    right: 0;
}

.voice_box .flexbox {
    width: 80%;
    margin: auto;
}

.flexbox .voice_tex_inner {
    margin-left: 3rem;
}
p.campany_name {
    color: #df4a4b;
}

.voice_text a {
    padding: 1.6rem 8rem;
    background-color: #171717;
    color: #fff;
    display: inline-block;
    margin-top: 3rem;
    border-radius: 30px;
}



.modal{
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
}
.modal__bg{
    background: rgba(17,17,17,.8);
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal.js-modal_01,.modal.js-modal_02,.modal.js-modal_03,.modal.js-modal_04 {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 999;
}
.modal__content{
    background: #fff;
    left: 50%;
    padding: 40px;
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    width: 70%;
    border-radius: 20px;
    overflow: auto;
}

.popup_inner p {
    text-align: justify;
}
/****************/
/*flow部分*/
/****************/
.flow_inner {
    width: 70%;
    margin: auto;
    padding-top: 4rem;
}

.flow_box {
    background-color: #171717;
    padding: 1rem 0;
    border-radius: 20px;
    margin-bottom: 1rem;
    color: #fff;
}

.flow_box ul {
    display: flex;
    align-items: center;
    text-align: center;
    cursor: pointer;
    margin: 1rem 0;
}

li.flow_step {
    width: 20%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

li.flow_info {
    color: #fff;
    padding-left: 5rem;
    border-left: 1px solid #fff;
    margin-right: 5rem;
    text-align: left;
    font-size: 2rem;
    line-height: 170%;
}

li.flow_info span {
    display: block;
    font-size: 1.4rem;
}

.flow_box_01,.flow_box_02,.flow_box_03 {
    margin-bottom: 7rem;
    position: relative;
}

.flow_box_01::after, .flow_box_02::after, .flow_box_03::after {
    content: url(../images/flow_yajirushi.png);
    position: absolute;
    left: 0;
    right: 0;
    text-align: center;
    bottom: -50%;
}

/****************/
/*contact部分*/
/****************/

.contact_content .sec_inner {
    background-color: #df4a4b;
    color: #fff;
    max-width: 1000px;
    width: 90%;
    margin: 1rem auto;
    padding: 3rem 0;
}
.form tbody tr td input {
    width: 97%;
    margin: .6rem 0;
    padding: 1.2rem .4rem 1.2rem 1rem;
    border: none;
}

.form tbody tr.col1_line td input {
    width: 94%;
}

.contact_inner {
    max-width: 800px;
    width: 90%;
    margin: 4rem auto;
}

table.form {
    width: 100%;
}

.form tbody tr.radio_line td input {
    width: initial;
    margin: 2rem .2rem 2rem 1rem;
}

.form tbody tr.radio_line td {
    font-size: 1.4rem;
}

.textarea_input textarea {
    width: 97%;
    margin: .6rem 0;
    padding: 1.2rem .4rem 1.2rem 1rem;
    border: none;
}

p.privacy_check {
    text-align: center;
    font-size: 1.4rem;
}

p.privacy_check a {
    color: #fff;
    text-decoration: underline;
}

p.form_submit input {
    background: none;
    box-shadow: none;
    border: 1px solid #fff;
    color: #fff;
    letter-spacing: 3px;
    max-width: 250px;
    width: 80%;
    padding: 1rem 0;
}

p.form_submit {
    text-align: center;
    margin-top: 5rem;
}

/****************/
/*footer部分*/
/****************/
footer {
    background-color: #171717;
    text-align: center;
}

.footer_main {
    padding: 3rem 0;
    color: #fff;
}

.footer_box ul li a {
    color: #fff;
    font-size: 1.4rem;
}
.footer_company a {
    color: #fff;
}
p.footer_company {
    line-height: 180%;
    font-size: 1.4rem;
}
.footer_box ul {
    display: flex;
    justify-content: center;
    margin: 0;
    align-items: center;
}

/*
.footer_box ul li {
    padding: 0 2rem;
    margin-bottom: 0;
    display: flex;
    align-items: center;
}
*/
/*
.footer_box ul li:first-child {
    border-right: 1px solid #fff;
}

.footer_box ul li:last-child {
    border-left: 1px solid #fff;
}
*/
  .footer_box ul li {
      padding: 0 2rem;
      margin-bottom: 0;
      display: flex;
      align-items: center;
      border-right: 1px solid #fff;  /* 全てのliに右側の縦線を追加 */
  }
  .footer_box ul li:last-child {
      border-right: none;  /* 最後の要素の右側の縦線を削除 */
  }
/**************************/
/*comfirmページ*/
/**************************/
p.return_form {
    margin-top: 2rem;
}

p.return_form a {
    color: #fff;
    letter-spacing: 3px;
    font-size: 1.2rem;
}

/**************************/
/*thanksページ*/
/**************************/
.thanks_txt {
    width: 90%;
    margin: auto;
    padding: 3rem 0;
    text-align: center;
}
.thanks_txt a.entry_btn {
    border: 1px solid;
    margin: 4rem auto 0 auto;
}


/**************************/
/*privacyページ*/
/**************************/
.privacy_content .sec_inner {
    width: 90%;
    margin: auto;
}

.privacy_content h2.midashi {
    margin-bottom: 5rem;
}

.privacy_content .privacy_txt p.midashi {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    margin-top: 3rem;
}

.privacy_content .privacy_txt p.sub_midashi {
    font-weight: bold;
    font-size: 1.8rem;
}
/**************************/
/**************************/
/**************************

■ ここからレスポンシブ設定

**************************/
/**************************/
/**************************/
.pc_content{
    display: block;
}  
.sp_content{
    display: none;
}
.tab_content{
    display: none;
}
@media screen and (max-width: 680px){
    .pc_content{
        display: none;
    }
    .sp_content{
        display: block;
    }
    .pc_content_tab{
        display: block;
    }  
    .entry_text.sp_content {
        display: flex;
    }
    .entry_text.pc_content {
        display: none;
    }
}

@media screen and (max-width: 896px){
    .pc_content_tab{
        display: none;
    }
    .tab_content{
        display: block;
    }
    .learn_inner.tab_content {
        overflow: hidden;
    }
}

@media screen and (max-width: 960px){
    .top_ttl {
        width: 40%;
        margin: auto;
        bottom: 48%;
    }
}

@media screen and (max-width: 896px){
    .trouble_list li {
        width: calc(40%/1);
    }
    
    .books_lineup .books_lineuplist li {
        width: calc(17%/1);
    }
    
    .secret_inner .flexbox {
        width: 90%;
    }
    
    .entry_inner {
        width: 90%;
    }
    
    .scene_box {
        width: 90%;
        margin-top: 2rem;
        padding-top: 15rem;
    }
    
    .scene_bg {
        width: 100%;
    }
    
    .scene_box_inner ul li {
        width: calc(90%/2);
    }
    
    .reason_inner {
        width: 90%;
    }
    
    .reason_ttl h3 {
        width: 81%;
    }
    
    .voice_box .flexbox_r,.voice_box .flexbox {
        width: 90%;
    }
    
    .voice_text {
        padding-top: 2rem;
    }
    
    .voice_text a {
        margin-top: 1rem;
        margin-bottom: 2rem;
    }
    
    .plan_box ul {
        width: 95%;
    }
    
    .plan_box li.info {
        width: 50%;
    }
    
    .flow_inner {
        width: 90%;
    }
    .flow_step figure img {
        width: 80%;
    }
}

@media screen and (max-width: 680px){
    nav.globalMenuSp ul li {padding: 1rem 0;}

    nav.globalMenuSp ul li a {
        font-size: 1.4rem;
    }
    
    nav.globalMenuSp ul li a span {
        font-size: 1.2rem;
    }
    figure.main_text_bg {
        width: 150%;
        margin: auto;
        text-align: center;
        display: block;
    }
    
    .text_anime {
        overflow: hidden;
    }

    
    a.head_entry {
        padding: 0;
        font-size: 1.2rem;
        line-height: 100%;
        height: 60px;
        width: 80px;
        text-align: center;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
    }
    .top_ttl {
        width: 45%;
        margin: auto;
        bottom: 50%;
    }
    
    .top_midashi {
        bottom: 22%;
    }
    
    .top_company_inner ul li img {
        width: 70%;
    }
    .grad-wrap {
        position: relative;
        margin-bottom: 2rem;
    }

    .grad-wrap {
        position: relative;
        margin-bottom: 2rem;
      }
      .grad-wrap + .grad-wrap {
        margin-top: 40px;
      }
      .grad-item {
        position: relative;
        overflow: hidden;
      }
      .grad-item.is-hide {
        height: 190px; /*隠した後の高さ*/
      }
      .grad-item p + p {
        margin-top: 1em;
      }
      .grad-item::before {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        content: "";
        width: 100%;
        height: 40px; /*グラデーションで隠す高さ*/
        background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
        background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
      }
      .grad-trigger.is-show {
        bottom: -2em;
      }
      .grad-trigger::after {
          content: url(../images/yajirushi_w.png);
          position: absolute;
          left: 1.4rem;
      }
      .grad-trigger::before {
          content: "全書籍カテゴリーを見る";
      }
      .grad-trigger.is-show::after {
        transform: rotate(-180deg);
      }
      .grad-trigger.is-show::before {
          content: "閉じる";
      }
      .grad-trigger.is-show + .grad-item::before {
        display: none;
      }
      .books_lineup .books_lineuplist li {
        width: 28%;
    }
    a.all_open {
        background-color: #df4a4b;
        color: #fff;
        width: 80%;
        margin: auto;
        padding: 10px 0;
        text-align: center;
        position: absolute;
        bottom: -20px;
        left: 0;
        right: 0;
        z-index: 1;
    }
    a.all_open:hover{
        opacity: 1;
    }
    .entry_bg {
        background-size: auto;
        border-radius: 30px;
        height: 200px;
    }
    .entry_text p {
        margin-bottom: 2rem;
        font-size: 2.2rem;
    }

    .trouble_list li {
        width: calc(45%/1);
    }
    
    .secret_inner .flexbox {
        display: block;
        text-align: center;
    }
    
    .secret_text {
        width: 100%;
        padding: 0;
        text-align: left;
    }
    
    .scene_box_inner ul li {
        width: 100%;
    }
    .scene_bg {
        background-size: cover;
        background-position-x: 100%;
    }
    .reason_ttl h3 {
        text-align: left;
        width: 80%;
        margin-right: 5rem;
    }
    .reason_ttl h3::after {
        right: 3rem;
    }
    .reason_open {
        width: 90%;
    }
    
    .voice_box .flexbox_r, .voice_box .flexbox {
        width: 95%;
    }
    
    .voice_text a {padding: 1rem 5rem;}
    
    .plan_inner {
        width: 90%;
    }
    .plan_box li.fee {
        font-size: 1.2rem;
    }
    
    .plan_box li.info {
        font-size: 1.2rem;
    }
    p.plan_midashi span {
        font-size: 1.2rem;
    }
    
    .plan_box li.fee,.plan_box li.info {
        display: block;
        width: 100%;
    }
    span.red_txt {
        font-size: 1.4rem;
    }
    .plan_box ul {
        display: block;
        text-align: center;
    }
    
    .plan_box li.fee {
        margin-bottom: 2rem;
    }
    p.plan_midashi {
        font-size: 1.6rem;
    }
    li.flow_info {
        padding-left: 2rem;
        line-height: 170%;
    }
    
    li.flow_info span {
        line-height: initial;
    }
    
    li.flow_step {
        min-width: 20%;
    }

    .form tbody tr.col1_line td {
        display: block;
    }
    
    .form tbody tr.col1_line td input {
        width: 97%;
    }
    .radio_line td span {
        display: inline-block;
    }
    
    .form tbody tr.radio_line td input {
        margin: 1rem .2rem 1rem 1rem;
    }
}


@media screen and (max-width: 480px){
    .scroll_anime {
        bottom: 0%;
    }
    
    .scroll_anime p {
        font-size: 1rem;
    }
    
    .scroll_loop {
        height: 40px;
        width: 1px;
        margin: auto;
    }
    
    .top_midashi {
        bottom: 18%;
        width: 100%;
    }
    
    /* スマホサイズでも倍のサイズに */
    .top_company_inner p {
        font-size: 2.8rem;
        margin-bottom: 0;
    }
    
    .top_company_inner ul li img {
        width: 60%;
    }
    
    .top_company ul {
        width: 90%;
        margin: 1rem auto;
    }
    
    .top_midashi p {
        font-size: 1.4rem;
        line-height: initial;
    }
    
    .top_ttl {
        bottom: 50%;
    }
.trouble_list li {
    width: calc(46.5%/1);
    padding: 1.8rem .2rem;
    border-radius: 10px;
    margin: 5px 1px;
    font-size: 1.2rem;
    height: 35px;
}

h2.midashi {
    font-size: 1.8rem;
}

.books_lineup .books_lineuplist li {
    width: calc(40%/1);
}

.secret_content h3.sec_midashi {
    font-size: 2rem;
}

p {
    font-size: 1.2rem;
}

.secret_text p {
    line-height: 180%;
}

.reason_box {
    padding: 1rem 0;
    border-radius: 15px;
}

.reason_ttl {
    padding: 0 5px;
    padding-right: 4rem;
}

.reason_ttl h3 {
    font-size: 1.4rem;
    padding-left: .8rem;
    font-weight: normal;
    margin-right: 1rem;
    width: 90%;
}

.reason_ttl h3::after {
    right: 1.6rem;
}

.voice_box .flexbox_r, .voice_box .flexbox {
    display: block;
    text-align: center;
    width: 100%;
    padding-top: 2rem;
}

.voice_img, .voice_text {
    width: 80%;
    margin: auto;
    position: initial;
}
.flexbox .voice_tex_inner {
    margin-left: 0;
}
.voice_img, .voice_text {
    padding-top: 0;
}

.voice_box {
    margin-top: 7rem;
}

li.flow_info {
    font-size: 1.4rem;
    padding-left: .8rem;
    font-weight: normal;
    margin-right: 2rem;
}

li.flow_info span {
    font-size: 1.2rem;
}

.flow_box_01, .flow_box_02, .flow_box_03 {
    margin-bottom: 4rem;
}

.flow_box_01::after, .flow_box_02::after, .flow_box_03::after {
    bottom: -30%;
    zoom: 50%;
}
p.footer_company {
    font-size: 1rem;
}

.footer_box ul li a {
    font-size: 1rem;
}

}

/* 確認画面の入力フィールドのスタイル */
input[readonly], 
textarea[readonly] {
    background-color: #ffe8e8;  /* より濃い薄い赤 */
    border: 1px solid #ffb3b3;  /* より濃い赤の枠線 */
    color: #333;  /* 文字は読みやすい黒 */
    cursor: not-allowed;  /* カーソルを禁止マークに */
}

/* 確認画面のradio_lineクラスのテキストフィールドを通常の幅に戻す */
.comfirm_content .form tbody tr.radio_line td input[readonly] {
    width: 97%;
    margin: .6rem 0;
}

/* チェックボックスは背景色の影響を受けないように */
input[type="checkbox"][readonly] {
    background-color: transparent;
}
