@charset "utf-8";
@font-face {
    font-family: 'mushin';
    src: url('../font/mushin.otf') format('opentype');
}
/* **********************
  RESET
********************** */
* {
    margin:0;
    padding:0;
    box-sizing: border-box;
}
body {
    width:640px;
    margin:0 auto;
    font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica,sans-serif;
    font-size:28px;
    -webkit-text-size-adjust: none;
    background: #FFF;
    padding-bottom: 120px;
}
h1,h2,h3,h4,h5 {
    font-weight:normal;
    line-height: 1.5;
}
h1 {
    display: inline-block;
    vertical-align: middle;
}
li {
    list-style-type:none;
}
figure{
  text-align: center;
}
img {
    border:0;
    height: auto;
    max-width: 100%;
    vertical-align: middle;
    -ms-interpolation-mode: bicubic;
}
b{
  color: #E60000;
  font-weight: 700;
}


/* clearfix */
.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

/* margin */
.mt0{ margin-top:0 !important; }
.mt10{ margin-top:5px !important; }
.mt20{ margin-top:10px !important; }
.mt30{ margin-top:15px !important; }
.mt40{ margin-top:20px !important; }
.mt50{ margin-top:25px !important; }

.ml20{ margin-left:10px;}

.alC{ text-align:center;}


.wrap {
  width:640px;
  background: #F0EBE6;
}

.inner{
  width: 600px;
  margin: auto;
}

/* **********************
  CONTENT
********************** */
.midashi{
  display: flex;
  align-items: flex-end;
  height: 140px;
  overflow: visible;
}

#point{
  padding-top: 80px;
  position: relative;
}
#point:before{
  content: "";
  display: block;
  width: 100%;
  height: 160px;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
#point .inner{
  padding-bottom: 80px;
  position: relative;
}
#point h2{
  margin-bottom: 30px;
}
#point p{
  margin-bottom: 40px;
  font-size: 20px;
  line-height: calc(32/20);
}

#stop{
  padding: 40px;
  background: url(../img/stop-bg.jpg) no-repeat center/cover;
}
#stop .inner{
  width: auto;
  padding: 40px;
  background-color: rgba(255,255,255,0.8);
}
#stop h2{
  text-align: center;
}
#stop p{
  font-size: 18px;
}

#nayami{
  background: url(../img/bg.png) repeat center;
}
#nayami .inner{
  padding-top: 80px;
  padding-bottom: 80px;
}

#step{
  margin-bottom: 80px;
}
#step .inner{
  width: 560px;
  padding-top: 56px;
}
.step-wrap{
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 30px;
  position: relative;
}
.step-wrap:not(:last-child){
  padding-bottom: 60px;
}
.step-wrap:not(:last-child):after{
  content: "";
  display: block;
  width: 8px;
  height: 100%;
  background-color: #004098;
  position: absolute;
  left: 86px;
  top: 0;
  z-index: -1;
}
.step-lead{
  margin-bottom: 20px;
}
.step-text p{
  font-size: 18px;
  line-height: calc(24/14);
}

#question .inner{
  width: 560px;
  padding-top: 60px;
}
#question .inner:last-child{
  padding-bottom: 60px;
}
#question p{
  margin: 1.5em 0;
  font-size: 18px;
  line-height: calc(24/14);
}
.question1-2{
  margin-bottom: 20px;
}

#anshin{
  margin-bottom: 80px;
}
#anshin .inner{
  margin: 20px auto;
  padding-top: 10px;
  background-color: #fff;
}
#anshin .inner:first-child{
  margin-top: 30px;
}
#anshin p{
  padding: 20px 30px;
  font-size: 18px;
  line-height: calc(24/14);
}

#faq{
  padding-top: 80px;
  padding-bottom: 40px;
  background: url(../img/bg.png) repeat center top;
}
#faq h2{
  width: 600px;
  margin: 0 auto 50px;
  font-size: 24px;
  line-height: 41px;
}
#faq .inner{
  width: 540px;
}
#faq dl{
  font-size: 18px;
  font-weight: 700;
  line-height: calc(28/18);
}
#faq dt{
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  margin-bottom: 20px;
  color: #004098;
}
#faq dt:before{
  content:"";
  display: inline-block;
  flex: none;
  width: 40px;
  height: 40px;
  background: url(../img/q.png) no-repeat center/contain;
}
#faq dd{
  display: flex;
  gap: 10px;
}
#faq dd:not(:last-child){
  margin-bottom: 60px;
}
#faq dd:before{
  content:"";
  display: inline-block;
  flex: none;
  width: 40px;
  height: 40px;
  background: url(../img/a.png) no-repeat center/contain;
}

/* **********************
  メインビジュアル
********************** */
#mv{
  position:relative;
  background: #ffffff;
  margin-top: 26px;
}

#mv .cta-panel{
  background-color: #142761;
  display: flex;
  flex-direction: column;
  gap: 42px;
  padding: 52px 20px;
}
/* **********************
  FOOTER
********************** */
#footer{
    background: #F0F0F0;
    padding: 50px;
    color: #323232;
}
#footer address{
    font-size: 14px;
    font-weight: 400;
    font-style:normal;
    line-height: calc(20/14);
}
#footer address h2{
  margin-bottom: 0.5em;
  font-size: 20px;
  font-weight: 700;
}
#footer address p {
  padding-bottom: 1rem;
}
#footer .bottom{
  margin-top: 20px;
  font-size: 14px;
  font-weight: 400;
  line-height: calc(20/14);
}

#copyright{
  font-size: 12px;
  padding: 30px 0;
  background: #797979;
  color:#FFF;
  text-align: center;
}


/* **********************
  フロートボタン
********************** */

#float_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width:640px;
  height: 120px;
  margin:0 auto;
  background-color: rgba(10,20,30,0.8);
 position: fixed;
 bottom: 0;
 z-index:20;
}
#float_btn input{
  vertical-align: bottom;
}

.obi {
    position: fixed; top: 0px; left: calc(50% - (750px / 2));
    width: 750px; padding: 34px 20px; background: rgba(255,241,0,.8); text-align: left; }
.obi .table { width: 100%; }
.obi .table .cell { vertical-align: middle; }
.obi .table .cell02 { width: 22px; }
.obi .table .cell01 { width: calc(100% - 22px); }
.obi .table .cell01 p { font-size: 28px; color: #000; font-weight: bold; }


.table { display: table; width: 100%; }
.table .cell { display: table-cell; }




/* **********************
  フォーム
********************** */

.formArea {
}
.formArea img {
  display: block;
  margin: 0 auto;
}
.formArea .soudan ul{
  display: -webkit-flex;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 600px;
  height: 95px;
  margin: 0 auto 40px;
}
.mv+.formArea{
  margin-top: -68px;
}

.checked_list{
  background: #F0F064;
  padding: 40px;
}

.checked_list li{
    list-style-type:none;
    line-height: 2.0;
    padding: 0 0 0 55px;
    position:relative;
    color: #323232;
    font-size: 26px;
    font-weight: bold;
}
.checked_list li:after{
    content:' ';
    display:block;
    width: 32px;
    height: 32px;
    position:absolute;
    left: 12px;
    top: 8px;
    text-align:center;background:url("../img/check.png") 0 0 no-repeat;
    background-size:100% auto;
}
.checked_list p{
    text-align: center;
    font-size: 28px;
    color: #E60000;
    font-weight: bold;
}


/* **********************
  ライトボックス
********************** */

.lightbox {position:fixed;top:50%;left:50%;margin:-338px 0 0 -310px;width:620px;height:676px;background:rgba(0,0,0,0.7);display:none; z-index:999; cursor: pointer;}
.lightbox .lightbox_inner {
    background-color: #ffffff;
    width: 93.75%;
    height: auto;
    left: 3.125%;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    padding: 35px 10px;
    position: relative;
    cursor: auto;
}
.lightbox .lightbox_close {position:absolute;top:10px;left:560px;width:50px;height:50px;}
.lightbox dl {position:absolute;top:95px;left:0;width:100%;color:#FFF;}
.lightbox dt {margin-bottom:15px;width:100%;font-size:115%;font-weight:bold;text-align:center;}
.lightbox dd {width:100%;font-size:100%;text-align:center;}
.lightbox .lightbox_btn {position:absolute;top:315px;left:4px;width:612px;height:212px;display:block;}
.lightbox .lightbox_img {position:absolute;top:542px;left:20px;width:580px;height:50px;}

#lightbox1.lightbox {
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    margin: 0;
}
#lightbox1.lightbox .phone_head {
    font-size: 26px;
    font-weight: bold;
    padding:0 0 10px;
}
#lightbox1.lightbox p b{
  color: #E60000;
  font-size: 36px;
}
#lightbox1.lightbox #btnConfArea{
  margin-top: -10px;
}
#lightbox1.lightbox #btnConfArea p{
  font-size: 28px;
}

#popup_phone {
    vertical-align: middle;
    height: 80px;
    border: 2px solid #cccccc;
    width: 386px;
    padding: 16px;
    font-size: 32px;
    border-radius: 5px 0 0 5px;
}

#phone_submit {
    vertical-align: middle;
    margin-left: -2px;
}

#phone_form_err {
    color: #ff0000;
    font-size: 24px;
    font-weight: bold;
    margin-top: 10px;
}

#lightbox1.lightbox .head_text{
    color:#ed0224;
    font-size: 20px;
    font-weight: bold;
    margin-top:30px;
}

#formAreaFirst {
    margin-top: 13px;
}

.scroll_form {
    background: -moz-linear-gradient(top, #86c74c, #3c8f13);
    background: -webkit-linear-gradient(top, #86c74c, #3c8f13);
    background: linear-gradient(to bottom, #86c74c, #3c8f13);
    display: block;
    width: 90%;
    margin: 16px auto 32px;
    color: #ffffff;
    text-decoration: none;
    font-size: 36px;
    line-height: 1;
    padding: 28px 0 26px;
    border: 2px solid #478510;
    border-radius: 6px;
    box-shadow: 0 0 2px 2px #92cd54 inset;
    position: relative;
}

.youtube_box{
    text-align: center;
    margin-bottom:30px;
}

.youtube_box img{
    margin-bottom:25px;
}

/* popup story 0409  change 0522*/


.btn-list{
    height: auto;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    justify-content: center;
    margin: 20px 0 30px 0;
    position: relative;
}

.btn-list li{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  list-style: none;
  width: 64px;
  height: 64px;
}

.btn-list li.next-stage:after {
    display: none
}
.btn-list li span {
  display: flex;
  align-items: center;
  flex:none;
  width: 64px;
  height: 64px;
  margin: 0 auto;
  border-radius: 100%;
  background-color: #fff;
  border: 8px solid #004098;
  color: #fff;
  text-align: center;
  font-weight: bold;
  position: relative;
  z-index: 1;
}

.btn-list li .now-btn {
  width: 24px;
  height: 24px;
  border-radius: 24px;
  color: #fff;
  animation-iteration-count: infinite;
  background-color: #004098;
}

.btn-list li.loading_img{
  justify-content: center;
  width: 230px;
  padding:0;
  margin-top: 58px;
  margin-left: -10px;
  margin-right: -10px;
}

.btn-list li.next-stage .bp_step_title {
    color: #bdbdbd;
    fill: currentColor;
    box-shadow: 4px 0 4px #fff, -4px 0 4px #fff;
}
.btn-list li.next-stage span{
  border-color: #bdbdbd;
}

.btn-list span.bicon {
    font-size: 9px;
    line-height: 13px;
}
.btn-list .bp_step_title {
    font-weight: 700;
    margin-top: 4px;
    white-space: nowrap;
    text-align: center;
    font-size: 32px;
}

.btn-list .next-stage p {
    opacity: .5;
    font-weight: 400
}

.animated {
    animation-duration: 1s;
    animation-fill-mode: both;
}

@keyframes flash_btn {
    from,
    50%,
    to {
        opacity: 1;
    }
    25%,
    75% {
        opacity: 0;
    }
}
.flash_btn {
    animation-name: flash_btn;
}


/* lastweek_contact */
.lastweek_contact{
    padding: 20px 15px;
    background: yellow;
    width: 90%;
    margin: 15px auto 0;
    font-size: 1.2rem;
    font-weight: bold;
}

/* ラジオ出演履歴 */
.radio_historybox{
    border-bottom: 10px solid #fff30c;
    margin: -10px 0 40px
}

.radio_history_title{
    text-align: center;
    margin: 20px 0 10px;
}

.radio_history_ul{
    width: 90%;
    list-style: none;
    height: 300px;
    overflow-y: scroll;
    margin: 20px auto;
    font-size: 22px;
}

.radio_history_list{
    margin-bottom: 15px;
    border-bottom:1px dotted #000;
}


/* **********************
  LP TOP
********************** */

/* 人数の表示 */
#float_num{
    position: fixed;
    left: 120%;
    top: 0;
    background: rgba(0,0,0,.5);
    width: 100%;
    text-align: center;
    color: #fff;
    padding: 14px 4px;
    -webkit-transition: .8s ease-in-out;
    transition: .8s ease-in-out;
}
#float_num.fadeInRight{
    left:0;
}
#float_num span{
    color: #fff100;
}

/* フォーカス強調 */
#btnConfArea{
    text-align: center;
    margin: 60px 0 0;
}
#btnConfArea .inquery_form_class{
    margin-bottom: 20px;
}
#btnConfArea .inquery_form_class input{
    max-width: 100%;
    vertical-align: bottom;
}
.required_item_phone{
  display: none;
}
.formbody{
    padding: 2px;
    border: 6px solid transparent;
}
.flash_border{
    border: 6px solid transparent;
    border-radius: 6px;
    animation: flash 1.8s infinite linear;
    -webkit-animation: flash 1.8s infinite linear;
    -moz-animation: flash 1.8s infinite linear;
}
@keyframes flash{
    0% {border-color: #ff0000;}
    50% {border-color: transparent;}
    100% {border-color: #ff0000;}
}
@-webkit-keyframes flash{
    0% {border-color: #ff0000;}
    50% {border-color: transparent;}
    100% {border-color: #ff0000;}
}
@-moz-keyframes flash{
    0% {border-color: #ff0000;}
    50% {border-color: transparent;}
    100% {border-color: #ff0000;}
}


.box2, .box3 {
    float: left;
    border-color: yellow; }

.boxA {
    border: none;
    &:after {
        content: "";
        display: block;
        clear: both;
    }
}

.swiper-slide{
    text-align: center;
}

.color-acom{
    color: white;
    background-color: rgb(250,0,27);
}
.color-lake{
    color: white;
    background-color: rgb(60,179,72);
}
.color-promise{
    color: black;
    background-color: rgb(255,231,7);
}
.color-life{
    color: white;
    background-color: rgb(6,85,164);
}
.color-aiful{
    color: white;
    background-color: rgb(218,32,50);
}
.color-aeon{
    color: white;
    background-color: rgb(172,29,122);
}
.color-jcb{
    color: white;
    background-color: rgb(0,79,148);
}
.color-nicos{
    color: white;
    background-color: rgb(230,0,0);
}
.color-saison{
    color: white;
    background-color: rgb(15,33,139);
}
.color-orico{
    color: white;
    background-color: rgb(255,60,0);
}
a:hover, input[type="image"]:hover{
    opacity: 0.7;
    cursor: pointer;
}
#sec10 dt:hover{
    opacity: 0.7;
    cursor: pointer;
}
.note {
    padding:0.5em 1em;
    background: linear-gradient(#ccc 1px, transparent 1px) #F8F5DC;
    line-height: 1.5em;
    overflow: hidden;
}

.tx_dashed {
      text-decoration: underline dashed #707070;
}

.headimg{
    display: inline-block;
}
.headimg img{
    margin: auto 3px;
}
#privacy {
  padding: 40px;
}
#privacy h2 {
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 1rem;
}
#privacy p {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 1rem;
}

