@charset "utf-8";

/* about */
.before figure {bottom: 11px;}
#compare .secTtl{top: -100px;}
#about #choose.bg_square {padding-top: 0;}
#charm .pageNav>li {width: 18%;}
.compareBox .ttl {letter-spacing: 0.008em;  padding: 0 1em;}

 /* charm */
.menuBox .menu_img .flag span {font-size: .8em; letter-spacing: .05em;}
.menuBox .menu_img .flag {background: #fa560e; right: 10px; top: 0; text-align: center; width: 95px; height: 45px; margin: 0; padding: 0.8em;}
.menuBox .menu_img.western .flag {background: #18b9f4;}
.menuBox .menu_img.japanese .flag {background: #fa560e;}

/* fee */
#fee h2.secTtl {letter-spacing: .01em; line-height: 1.4;}


/* flow */
#flow #step .stepBox span {margin: 0em 1.5em 0 0;}
#flow #paytime .inner div.flowWrap h3 {line-height: 1.35; padding-bottom: 0.7em;}
#flow #step .stepBox h3 {line-height: 1.5; padding-bottom: .8em;}

/* Interview */
#interview .anc_box a {padding: 1.3em 1em 1.2em 1.5em;}

/* parent */
.pointList li .txtBox .ttl {font-size: 1.2em; line-height: 1.35;}

/* ra */
.pointList li figure::before {bottom: -1px;}

/* privacy */
#privacy .listBox .txtBox {line-height: 1.75;}

/* Form */
.c-form.tbl .row dt { display: flex; align-items: center; padding-right: 6em; position: relative;}
.c-form.tbl .row dt .req,
.c-form.tbl .row dt .any { position: absolute; right: 1em; top: 50%; transform: translateY(-50%); margin: 0;}

#fee #case .ttl_stripe::after { border-bottom: solid 85px #fffdcd;}

.formTab {gap: 1em; justify-content: center;}

/* application */

#application .lead dl { padding: 1.2em 3em; }
#application .lead dt::after { left: 81%; }
#application .lead dt.open::after { left: 82%; }
#application .lead ul { padding-top: 0.5em; }

/* ================================================================
  レスポンシブ
=================================================================== */

/* 600以上(PC・タブレット) */
@media screen and (min-width: 600px) {
  /* Form */
  .c-form.tbl { border: none;}
  .c-form.tbl .row { border-bottom: 1px solid #ccc;}
  .c-form.tbl .row:first-of-type { border-top: 1px solid #ccc;}
  .c-form.tbl .row dt,
  .c-form.tbl .row dd { border: none;}

  .c-form.tbl .row dt { width: 19em;}
  .c-form.tbl .row dd { align-self: center;}
  #about .compareBox .ttl {font-size: 1.6em;}
 


}

/* 960px以上(PC) */
@media screen and (min-width: 960px) {
 /* charm */
 [class^="pageNav-"] a {line-height: 1.35; min-height: 54px; display: flex; align-items: center; justify-content: center;}
.hotline {display: flex;} 
.hotline figure {width: 20%;}
.hotline p {width: 78%; margin: 0;}
#about .compareBox .ttl.safety {width: 58%; font-size: 1.7em;}

}



/* ================================================================
  タブレット
=================================================================== */
/* 1024以下 (タブレット横以下) */
@media screen and (max-width: 1024px) {
  .after figure {bottom: -28px;}
  #about .facility .tbl_price { letter-spacing: 0.01em; font-size: .9em;} 
}

@media screen and (max-width: 959px) {
/* about */
.before .circleBox .txtBox>p:nth-child(2) {font-size: 1.1em; margin-top: -0.5em;}
#about .compareBox .ttl {width: 85%;}
.compareBox.safety .ttl>span {font-size: .9em;}

/* flow */
#flow #step .stepBox span.date04 {margin: 0;}

.formTab li {width: 45%;}


}



/* ================================================================
  スマホ
=================================================================== */

@media screen and (max-width: 599px){
  /* about */
  .after figure {width: 34%}
  #tab li {line-height: 1.4;display: flex; align-items: center; justify-content: center;}

  .secTtl {line-height: 1.35;}
  [class^="supBox-"] .subTtl {line-height: 1.35;}
  .tbl_price th, .tbl_price td {padding: 0.5em 0.35em;}
  .catalog .opList li:last-child figure {width: 46%}

  .compareBox.illust .dormy figure {margin-top: .9em;}
  .compareBox.illust .fukidashi { min-height: 63px; display: flex; align-items: center; justify-content: center;}
  .compareBox.illust .flex {    padding-top: 65px;}

  /* charm */
  .menuBox .menu_img .flag {width: 70px; height: 30px; padding: 0.1em;}
  .menuBox .menu_img .txt {min-height: 115px;}
  .menuBox.morning .menu_img {margin-top: 2em;}
  .menuBox .menu_ttl .inBox {padding: 10px 20px 10px 40px;}
  [class^="pageNav-"] a {min-height: 51px; display: flex; align-items: center; justify-content: center;}

  #charm .pageNav>li {width: 32%;}

  #about .compareBox .ttl {width: 90%;}

  /* fee */
  #flow #step li>h3 {line-height: 1.5;}
  #flow #step #step01, #flow #step #step02, #flow #step #step04 {background-position: top 23px left;}
  #flow #step #step03 {background-position: top 43px left;}
  #flow #step #step05 {background-position: top 0px left;}


  /* flow */
  #flow #step .stepBox h3 {line-height: 1.5; padding:0.5em 0 0.5em 6em; font-size: 1.1em;}
  #flow #paytime .inner div.flowWrap h3 {padding-bottom: 0.3em;}

  /* fss */
  #fss .secTtl .en {margin-top: 1.5em;}

  /* Interview */
  #interview .anc_box>ul {gap: .6em;}
  #interview .anc_box li {width: 100%;}
  #interview .anc_box .anc_fujinawa {margin-left: 0;}
  #interview .anc_box .anc_aizawa::after {background: url(/img/interview/btn_ph_ai.png) right bottom / 33% no-repeat; right: 1.2em;}
  #interview .anc_box .anc_fujinawa::after {background: url(/img/interview/btn_ph_fuji.png) right bottom / 25% no-repeat; right: 3.5em;}
  #interview .anc_box a {padding: 1em 0.8em 1em 2em; line-height: 1.55;}

  /* parent */
  #parent .lead_ttl {line-height: 1.6;}
  .pareTtl h2 {line-height: 1.35;}

  /* Form */
  .c-form.tbl .row dt { padding-right: 5em;}

  /* application */
    #application .lead dl { padding-inline: 1.2em; }
    #application .lead dt::after { left: unset; right: 15px;}
    #application .lead dt.open::after { left: unset; right: 10px;}

}