@charset "utf-8";


/* common ---------------- */
article>section { padding:60px 0 100px; }

#pan { margin:0 auto; max-width:1000px; padding:15px 0; }
#pan li { display:inline-block; font-size:13px; }
#pan li:not(:last-child):after { content:">"; padding-left:15px; padding-right:10px; }
#pan li:last-child { color:#ff7d19; }

.bnr{ margin:clamp(1.5em,6.0vw,60px) auto; text-align: center; }

/* title */
.pageTitle {
    min-height:300px; overflow:hidden; position:relative;
    font-size:2.8125em; font-weight:bold; text-align:center; line-height:1.5;
    background-color:#ffedd3;
    background-image:linear-gradient(-45deg, #fff 10%, transparent 10%, transparent 50%, #fff 50%, #fff 60%, transparent 60%, transparent);
    background-size:7px 7px;
    background-attachment:fixed; }
.pageTitle::before { content:""; position:absolute; top:0; left:0;
    background:url("../img/deco_ttl.png") no-repeat; width:385px; height:85px; }
.pageTitle>span {
    display:block; width:100%; position:absolute; top:50%; left:50%;
    transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); }

  /* pageTitle.color */
  .pageTitle.navy { background-color:#e7e9ef; }
  .pageTitle.navy::before { background-image:url("../img/deco_ttl-navy.png") }

  .pageTitle.purple { background-color:#fcedf3; }
  .pageTitle.purple::before { background-image:url("../img/deco_ttl-purple.png") }

  /* pageTitle.sub */
  .pageTitle .sub { display:block; font-size:.4em; line-height:1.5; }
  .pageTitle .sub::before, .pageTitle .sub::after {
    content:""; display:inline-block; width:0; height:0; border-style:solid;
  }
  .pageTitle .sub::before {
    vertical-align:top; margin-right:7px;
    border-width:10px 10px 0 0;
    border-color:#45341d transparent transparent transparent;
    }
  .pageTitle .sub::after {
    vertical-align:bottom; margin-left:7px;
    border-width:0 0 10px 10px;
    border-color:transparent transparent #45341d transparent;
    }


/* tbl */
.tbl { border-top:1px solid #ccc; }
.tbl .row > * { padding:.4em 0.5em; }
.tbl .row:last-child, .tbl2 .row:last-child { margin-bottom:0; }
.tbl .row dt {align-items: center; font-weight:bold; background:#ffedd3; border-bottom:1px solid #ccc; }
.tbl .row dd .detail{ margin-left: 2em; font-size: .85em; }
.tbl .row dd .detail a{ text-decoration: underline; color: #ff7d19; }

.tbl2 .row { display:-webkit-flex; display:flex; margin-bottom:.6em;
  -webkit-box-align:start; -ms-flex-align:start; align-items:flex-start; }
.tbl2 .row dt { padding:.2em .8em; width:7em; background:#ccd6df; text-align:center; }
.tbl2 .row dd { padding:.2em 0 .2em 1em; -webkit-box-flex:1;-ms-flex:1;flex:1; }

.lead { text-align:center; margin-bottom:50px; }

.listBox>li { margin-bottom:50px; }
.listBox .txtBox { padding:0 1em; }

ul.check { text-align:left; }
ul.check li::before { content:url("../img/deco_check.png");  }

ul.disc_or,ul.disc_br { text-align:left; font-weight:normal; }
ul.disc_or li ,ul.disc_br li { margin-bottom:10px; }
ul.disc_or li span, ul.disc_br li span, p.disc_or,p.disc_br { font-weight:bold; }
ul.disc_or li span, p.disc_or span,ul.disc_or li::before, p.disc_or::before  { color:#ff7d19; }
ul.disc_or li::before, ul.disc_br li::before, p.disc_or::before, p.disc_br::before { content:"●"; }


.pageNav { padding:30px 0 50px; }
[class^="pageNav-"] { width:13.5%; }
[class^="pageNav-"] a { z-index:2; overflow:hidden; position:relative;
    display:block; text-align:center; padding:.6em .5em; border-radius:10px;
    font-size:.8em; letter-spacing:0;
    border:2px solid; background:#fff;
}
[class^="pageNav-"] a::before { content:"";
    position:absolute; bottom:0; right:0;
    border:10px solid transparent;
    border-bottom:10px solid #fff100;
    border-right:10px solid #fff100;
}
.pageNav-pink a { border-color:#ff4180 ; }
.pageNav-orange a { border-color:#ff7900 ; }
.pageNav-green a { border-color:#00bf6c ; }
.pageNav-blue a { border-color:#2d78de ; }
.pageNav-purple a { border-color:#9b2ad5 ; }



/* contents ---------------- */

.bnr_topics_member a { display: inline-block; overflow: hidden; border-radius: 15px; border: 2px solid #ff7f1d; }

/* --------------------------------
about 学生会館とは
----------------------------------- */
#about_lead { padding:0 0 120px;
    background:url("../img/about/bg_kyoto.png") no-repeat center /cover,
    url("../img/about/deco_gr.png") no-repeat right bottom /100%; }
#about_lead #pan>*,#about_lead #pan a { color:#fff!important; }
#about_lead .leadBox { text-align:center; color:#fff; }
#about_lead .leat_ttl { margin-bottom:1em; font-size:2.5em; font-weight:bold; line-height:1.5; letter-spacing:.1em; }


/* difference ドーミーは学生寮とはどう違うの？------------ */
#difference { padding:60px 0 120px; background:url("../img/about/deco_or.png") no-repeat left bottom; }

.circle { position:relative; }
.circleBox { overflow:hidden; text-align:center; border-radius:100%; }
.circleBox .ttl { padding:1.5em .5em 1em; font-size:1.25em; font-weight:bold; line-height:1.5; }
.circle figure { position:absolute; }

.before .circleBox { position:relative; width:375px; height:375px; background:#f3f3f3; }
.before .circleBox .ttl { background:#a0a0a0; color:#fff; }
.before figure { bottom:40px; left:50%; transform:translate(-50%,-50%); }
.before .circleBox .txtBox { padding:0 40px; }
.before .circleBox .txtBox>p:nth-child(2) { font-size:1.375em; font-weight:bold; line-height:1.5; }

.after.circle::before { content:""; position:absolute; top:40%; left:-50px; background:url("../img/about/deco_arrow.png") no-repeat; width:35px; height:24px; }
.after .circleBox { width:500px; height:500px;
    background:url("../img/about/deco_girl.png") no-repeat left 45% bottom -20px,
    #fff url("../img/about/bg_pink.png") no-repeat top center/cover;
    border:16px solid #ff4180; }
.after .circleBox .ttl { font-size:1.875em; color:#ff4180; }
.after ul.check { padding:0 40px; }
.after ul.check li { font-size:1.125em ; text-indent:-1.5em; padding-left:2em; }
.after figure { right:-70px; bottom:30px; }


/* compare 比べてみよう！------------ */
#compare { position:relative;}
#compare::before,#compare::after { content:""; z-index:-1; position:absolute; top:0; bottom:0; width:50%; height:100%; }
#compare::before { left:0;
    background-color:#ff8623;
    background-image:linear-gradient(-45deg, rgba(255, 255, 255, .3) 10%, transparent 10%, transparent 50%, rgba(255, 255, 255, .3) 50%, rgba(255, 255, 255, .3) 60%, transparent 60%, transparent);
    background-size:7px 7px;
    background-attachment:fixed; }
#compare::after { right:0;
    background-color:#ffbd2f;
    background-image:linear-gradient(-45deg, rgba(255, 255, 255, .3) 10%, transparent 10%, transparent 50%, rgba(255, 255, 255, .3) 50%, rgba(255, 255, 255, .3) 60%, transparent 60%, transparent);
    background-size:7px 7px;
    background-attachment:fixed; }

#compare .secTtl { position:absolute; top:-80px; left:50%;
    padding:.7em; line-height:1.2;
    background:#fff; border:6px solid #ff7900; border-radius:10px;
    transform:translate(-50%,0); -webkit-transform:translate(-50%,0);
    max-width:1000px; width:100%; }
#compare .secTtl span.orange { color:#ff7900; }


#about .hide { display:block; }


.compareBox { position:relative; margin-bottom:60px; background:#fff; }
.compareBox.facility { margin-bottom:0; }
.compareBox .ttl_stripe { font-size:1.75em; }
.compareBox .flex { padding-top:30px; }
.compareBox .flex>* { width:50%; padding:30px; }
.compareBox .dormy { border-right:1px dashed rgb(69 52 29 / .5); }
.compareBox .ttl {
    text-align:center; position:absolute; top:-25px; left:50%;
    padding:0 2em; color:#fff; font-size:1.75em; font-weight:bold;
    transform:translate(-50%,0); -webkit-transform:translate(-50%,0);
    width:auto; height:0;
    border-bottom:50px solid #ff4180; border-left:20px solid transparent; border-right:20px solid transparent; }
.compareBox.safety .ttl { border-bottom-color:#ff7900; }
.compareBox.room .ttl { border-bottom-color:#00bf6c; }
.compareBox.facility .ttl { border-bottom-color:#2d78de; }

/*上段イラスト部分*/
.compareBox.illust { background:none; }
.compareBox.illust .flex>* { position:relative; padding:30px 30px 10px; }
.compareBox.illust .dormy { border-right:none; }

.compareBox.illust .fukidashi { position:absolute; top:50%; left:0;
    margin:0 auto; padding:1em 2em; background:#fff;
    font-size:1.125em; font-weight:bold;
    transform:translate(0,-50%); -webkit-transform:translate(0,-50%); }
.compareBox.illust .fukidashi::before { content:"";
    position:absolute; top:50%; right:-10px;
    border-top:10px solid transparent; border-bottom:10px solid transparent; border-left:10px solid #fff;
    transform:translate(0,-50%); -webkit-transform:translate(0,-50%); }

.compareBox.illust .apart .fukidashi { right:0; left:auto; }
.compareBox.illust .apart .fukidashi::before { right:auto; left:-10px; -webkit-transform:translate(0,-50%) scale(-1,1); transform:translate(0,-50%) scale(-1,1); }

.compareBox.illust .dormy figure { float:right; }
.compareBox.illust .apart figure { float:left; }


/*設備を比べる 料金表*/
.tbl_price { width:100%; border:1px solid #ccc; }
.tbl_price th, .tbl_price td { padding:.5em; }
.tbl_price th { font-weight:bold; background:#ffedd3; border:1px solid #ccc; }
.tbl_price td { border:1px solid #ccc; }
.tbl_price>tbody>tr:first-child td:nth-child(2),
.tbl_price>tbody>tr:last-child td:nth-child(2),
.tbl_price>tbody>tr>td:first-child { font-weight:bold; text-align:center; }
.tbl_price>tbody>tr:first-child td:nth-child(3),
.tbl_price>tbody>tr:last-child td:nth-child(3),
.tbl_price>tbody>tr>td:nth-child(2) { text-align:right; }


/* support 一人暮らしサポート ------------ */
#support::before { content:""; position:absolute; top:-20px; left:0;
    background:url("../img/about/support.png") no-repeat top left; width:578px; height:142px; }

[class^="supBox-"] { margin-bottom:50px; background:#fff; border:4px solid; }
[class^="supBox-"]:last-child { margin-bottom:0; }
[class^="supBox-"] .txtBox { padding:30px; font-weight:normal; }
[class^="supBox-"] .subTtl { margin:0 auto; color:#fff; font-size:1.5em; }

[class^="supBox-"] .opList { margin:30px auto; }
[class^="supBox-"] .opList>* { width:49%; padding:20px; background:#fffbeb; border-radius:10px; }
[class^="supBox-"] .opList .ttl { margin:0 auto 1em; text-align:center; font-size:1em; font-weight:bold;  line-height:1.5;}
[class^="supBox-"] .opList p { margin:0 auto; font-size:.87em; }
[class^="supBox-"] .opList figure { float:left; margin-right:10px; }

.supBox-pink { border-color:#ff4180; }
.supBox-pink .subTtl { background:#ff4180; }
.supBox-pink .opList .ttl { color:#ff4180 ; }

.supBox-orange { border-color:#ff7900; }
.supBox-orange .subTtl { background:#ff7900; }
.supBox-orange .opList .ttl { color:#ff7900 ; }

.supBox-green { border-color:#00bf6c; }
.supBox-green .subTtl { background:#00bf6c; }
.supBox-green .opList .ttl { color:#00bf6c ; }

.supBox-purple { border-color:#832248; }
.supBox-purple .subTtl { background:#832248; }
.supBox-purple .opList .ttl { color:#832248 ; }

.ttl_tri { position:relative; padding-left:1.5em; font-size:1.25em; font-weight:bold; }
.ttl_tri::before { content:""; position:absolute; top:0; left:0; background:url("../img/deco_tri.png") no-repeat left top; width:25px; height:16px; }

.system .opList>* { width:32%; }

.telBox { text-align:center; padding-top:30px; border-top:1px dashed rgb(128 102 66 / .5); line-height:1.5; }
.telBox>* { margin:0 auto; }
.telBox .txt { font-size:1.25em; font-weight:bold; }
.telBox .tel { font-size:2.5em; font-weight:bold; }
.telBox .tel a { display:inline; }


/* guide 体験入館・見学のご案内 ------------ */
#guide { position:relative; }
#guide::after { content:""; z-index:5; position:absolute; top:-50px; right:0;
    background:url(../img/top/deco_pink03.png) no-repeat; width:114px; height:135px; }
#guide .contactBox { padding:40px; background:rgb(255 255 255 / .8); }
#guide .contactBox>* { padding-top:0; text-align:center; }
#guide .telBox { line-height:1.8; border-top:none; }
#guide .formBox .txt { margin-top:0; font-size:1.25em; font-weight:bold; }



/* --------------------------------
charm 学生会館の魅力
----------------------------------- */
#charm{ overflow: hidden; }
[class^="charmBox-"] { padding-top:0; }

.charmTtl { position:relative; min-height:250px; margin-bottom:30px; border-top:4px solid #ff4180; }
.charmTtl h2 { position:absolute; top:50%; left:12%; color:#fff; font-size:1.75em; transform:translate(0,-50%); -webkit-transform:translate(0,-50%); }
.charmTtl h2 span { z-index:1; display:inline-block; position:relative; padding:.5em 2em; font-weight:bold; }
.charmTtl h2 span::before{ content:""; z-index:-1; position:absolute; top:0; left:0; right:0; bottom:0; transform:skewX(-20deg); -webkit-transform:skewX(-20deg); background-color:#ff4180; }
#charm .subTtl { margin-bottom:1em; font-size:1.8em; }

.pointList li { background:#fff; margin-bottom:30px; }
.pointList li>* { width:50%; }
.pointList li figure { position:relative; overflow:hidden; }
.pointList li:nth-child(2n) figure { order:2; }
.pointList li figure::before { content:"";
    position:absolute; top:0; right:-12%; bottom:0; left:93%;
    transform:skewX(-10deg); -webkit-transform:skewX(-10deg);
    background-color:#fff; }
.pointList li:nth-child(2n) figure::before { right:93%; left:-7%; }
.pointList li figure img { width:100%; height:100%; object-fit:cover; }
.pointList li .txtBox { padding:30px; }
.pointList li .txtBox .point { position:relative; display:inline-block; margin:0 auto 1em; padding:0 1em; font-size:15px; color:#fff; background:#ff4180; }
.pointList li .txtBox .point::after { content:""; position:absolute; right:-20px;
    height:0; width:0;
    border-bottom:40px solid #ff4180; border-right:20px solid transparent;}
.pointList li .txtBox .point span { font-size:1.5em; }
.pointList li .txtBox .ttl { font-size:1.5em; font-weight:bold; color:#ff4180; line-height:1.5; }
.pointList li .txtBox .ttl+p { letter-spacing:0; font-size:.98em; font-weight:normal; line-height:1.7; }


.memoBox { position:relative; margin-top:50px; padding:30px; background:#fff; border:6px solid #dcdcdc; }
.memoBox::before { content:""; position:absolute; right:-30px; top:-30px;
  background:url("../img/about/charm/deco_mast_blue.png") no-repeat; width:122px; height:118px;
}
.memoBox ul.flex li { width:23%; text-align:center; margin-bottom:20px; font-size:.9em; }
.orBox { padding:20px; background:#ffedd3; }
.orBox .ttl { text-align:center; margin-bottom:1em; padding-bottom:1em; font-size:1.25em; font-weight:bold; line-height:1.5; border-bottom:1px dashed rgb(128 102 66 / .5); }


/*食事について----------*/
.charmBox-pink.bg_square { background-color:#fff6f8; }
#meal .charmTtl {
  background :url(../img/about/charm/secTtl_meal.jpg) no-repeat center /cover; }

.menuBox { margin-bottom:20px; }

.menuBox .menu_ttl { position:relative; text-align:center; width:20%; height:204px; color:#fff;
    background-color:#ff7900;
    background-image:linear-gradient(-45deg, rgba(255, 255, 255, .2) 10%, transparent 10%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 60%, transparent 60%, transparent);
    background-size:7px 7px;
    background-attachment:fixed; }

.menuBox .menu_ttl .inBox { position:absolute; top:50%; left:50%;
    width:100%; padding-top:40px;
    background:url("../img/about/charm/deco_sun.png") no-repeat top center /35px;
    transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%);
     }

.menuBox .menu_ttl .inBox h4 { line-height:1.4; font-size:1.2em; font-weight:500; }
.menuBox .menu_ttl .inBox h4 span { font-size:12px; font-weight:100; }
.menuBox .menu_ttl .inBox>p { margin:1em auto 0;  }

.menuBox.dinner .menu_ttl { background-color:#4366ff; }
.menuBox.dinner .menu_ttl .inBox { background-size:30px;
    padding-top:35px; background-image:url("../img/about/charm/deco_moon.png");  }

.menuBox .menu_img { position:relative; width:40%; }
.menuBox .menu_img .flag { position:absolute; right:20px; top:0;
text-align:center; width:60px; height:60px; margin:0; padding:.8em;
color:#fff; }
.menuBox .menu_img .flag span { font-size:1.25em; font-weight:bold; }
.menuBox .menu_img.western .flag { background:url("../img/about/charm/flag_blue.png") no-repeat center; }
.menuBox .menu_img.japanese .flag { background:url("../img/about/charm/flag_orange.png") no-repeat center; }
.menuBox .menu_img .txt { margin:0 ; font-weight:normal;letter-spacing:0; font-size:.87em; }


/*安心・安全について----------*/
.charmBox-orange.bg_square { background-color:#fff8f1; }
#safety .charmTtl { border-top-color:#ff7900;
  background :url("../img/about/charm/secTtl_safety.jpg") no-repeat center /cover; }
.charmBox-orange .charmTtl h2 span::before { background-color:#ff7900;}
.charmBox-orange .pointList li .txtBox .point { background:#ff7900; }
.charmBox-orange .pointList li .txtBox .point::after { border-bottom-color:#ff7900;}
.charmBox-orange .pointList li .txtBox .ttl { color:#ff7900; }

.charmBox-orange .memoBox::before { background-image:url("../img/about/charm/deco_mast_pink.png"); }
#safety .orBox .flex>* { font-size:.9em; font-weight:normal; }
#safety .orBox .soudan .flex p { display:inline-block;　margin:0 auto; }
#safety .orBox figure { float:left; margin-right:10px; }
.soudan { width:30%; padding:10px 20px 10px; background:#fff; border-radius:10px;  }
.soudan p { margin-bottom:.5em!important; font-size:1.1em; }
.soudan .marker { margin:0 auto; display:inline-block;}
.hotline { width:68%; }


/*居室について----------*/
.charmBox-green.bg_square { background-color:#f5fcf9; }
#room .charmTtl { border-top-color:#00bf6c;
  background :url("../img/about/charm/secTtl_room.jpg") no-repeat center /cover; }
.charmBox-green .charmTtl h2 span::before { background-color:#00bf6c;}
.charmBox-green .pointList li .txtBox .point { background:#00bf6c; }
.charmBox-green .pointList li .txtBox .point::after { border-bottom-color:#00bf6c;}
.charmBox-green .pointList li .txtBox .ttl { color:#00bf6c; }

.charmBox-green .memoBox::before { background-image:url("../img/about/charm/deco_mast_yellow.png"); }
.charmBox-green .memoBox ul.flex li { width:25%; }


/*設備について----------*/
.charmBox-blue.bg_square { background-color:#f7fafe; }
#facility .charmTtl { border-top-color:#2d78de;
  background :url("../img/about/charm/secTtl_facility.jpg") no-repeat center /cover; }
.charmBox-blue .charmTtl h2 span::before { background-color:#2d78de;}
.charmBox-blue .pointList li .txtBox .point { background:#2d78de; }
.charmBox-blue .pointList li .txtBox .point::after { border-bottom-color:#2d78de;}
.charmBox-blue .pointList li .txtBox .ttl { color:#2d78de; }

.charmBox-blue .memoBox::before { background-image:url("../img/about/charm/deco_mast_green.png"); }


/*館長・寮母ご夫妻にいつも気を付けていること----------*/
#owner {  overflow:hidden;}
#owner>.inner { z-index:0; position:relative; }

.ownerBox { z-index:1; padding-top:100px; text-align:center; }
.ownerBox .name { display:inline-block; margin:0 auto; padding:1em 3em; color:#fff; background:#45341d; border-radius:100px; }

.comeBox { z-index:-1; position:absolute; bottom:100px; right:0; left:0; }
.comeBox>* { position:relative; width:38%; padding:20px 30px; }
.comeBox>div::before { z-index:-1; content:""; position:absolute; bottom:-65px; left:50%;
    background:url("../img/about/charm/deco_fukidashi.png") no-repeat;
    width:545px; height:468px;
    transform:translate(-50%,0); -webkit-transform:translate(-50%,0);
}

.comeBox h4 { font-size:1.125em; font-weight:bold; color:#ff7900; }


/*交流イベント----------*/
#event .charmTtl { border-top-color:#9b2ad5;
  background :url("../img/about/charm/secTtl_event.jpg") no-repeat center /cover; }
.charmBox-purple .charmTtl h2 { left:50%; transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); }
.charmBox-purple .charmTtl h2 span::before { background-color:#9b2ad5;}

/*イベントカレンダー*/
.eventcal { z-index:0;  position:relative; }
.eventcal:before { content:""; position:absolute; top:15%; bottom:0; left:50%; width:2px; height:57%; background:#ffa749; }

[class^="eventBox-"] { float:left; position:relative; margin-bottom:170px; padding:20px;
    background:#fff; border:4px solid #ffa749; border-top-right-radius:30px; border-bottom-left-radius:30px; }
.eventcal [class^="eventBox-"]:nth-child(2n) { float:right;
    border-top-right-radius:0; border-bottom-left-radius:0; border-top-left-radius:30px; border-bottom-right-radius:30px; }
.eventBox-aug { margin-top:150px; margin-bottom:100px; }


[class^="eventBox-"]::before,[class^="eventBox-"]::after { content:""; position:absolute; top:50%;  }

[class^="eventBox-"]::before { right:-98px; width:20px; height:20px; background:#ffa749; border-radius:50%; }
.eventcal [class^="eventBox-"]:nth-child(2n)::before { right:auto; left:-96px; }

[class^="eventBox-"]::after { z-index:-1; width:100%; top:53%; right:-98px; border-bottom:2px dashed #ffa749 ; }
.eventcal [class^="eventBox-"]:nth-child(2n)::after { right:auto; left:-96px; }


[class^="deco-"] { position:absolute; }
.eventBox-apr .deco-01 { right:0; bottom:-120px; }
.eventBox-aug .deco-01 { right:0; top:-180px; }
.eventBox-aug .deco-02 { left:0; bottom:-80px; }
.eventBox-nov .deco-01 { right:-50px; bottom:-40px; }
.eventBox-nov .deco-02 { left:0; bottom:-180px; }
.eventBox-dec .deco-01 { right:0; bottom:0; }
.eventBox-dec .deco-02 { right:0; bottom:-100px; }

.eventcal .month { position:absolute; top:10px; left:-10px; margin:0; padding:0 1em; background:#ffa749; color:#fff; font-size:20px; }



/* --------------------------------
interview インタビュー
----------------------------------- */
#interview .anc_box li + li{margin-left:1em}
#interview .anc_box{margin-bottom:1em;}
#interview .anc_box li{ width:48%; font-size:0.9em; font-weight:normal;line-height:1.6em;border-radius:1em;}
#interview .anc_box a{display:block; padding:1em 1em 1em 1.5em;}
#interview .anc_box a::before { content:""; position:absolute; bottom:0; right:0; border:10px solid transparent; border-bottom:10px solid #fff100; border-right:10px solid #fff100;}
#interview .anc_box span{ padding-left:0; font-size:1.5em; font-weight:bold;}
#interview .anc_box .anc_aizawa{ position:relative; display:inline-block; background:#b2e91e;}
#interview .anc_box .anc_aizawa::after{ content:""; display:inline-block; position:absolute; right:0; bottom:0; width:100%; height:100%; background:url(../img/interview/btn_ph_ai.png) right bottom no-repeat; z-index:10;padding-top:7.5em; }
#interview .anc_box .anc_fujinawa{ position:relative; display:inline-block; background:#62d1f3;}
#interview .anc_box .anc_fujinawa::after{ content:""; display:inline-block; position:absolute; right:4em; bottom:0; width:100%; height:100%; background:url(../img/interview/btn_ph_fuji.png) right bottom no-repeat; z-index:10;padding-top:7.5em; }
#interview #aizawa{ position:relative; background:url(../img/interview/main_aizawa.png) center top / contain no-repeat ; }
#interview #fujinawa{ position:relative; background:url(../img/interview/main_fujinawa.png) center top / contain no-repeat ; }
#interview .inTtl{ position:relative; font-weight:bold; font-size:2em; color:#fff; }
#interview .inTtl span{z-index:1; position:relative; display:inline-block; padding:0 .8em;}
#interview .inTtl span { margin-top:.5em;}
#interview .inTtl span::before{ content:""; position:absolute; top:50%; left:0; width:100%; height:100%; z-index:-1; background:#45341d; transform:translate(0,-50%) skew(-30deg); -webkit-transform:translate(0,-50%) skew(-30deg);}
#interview .name{text-align:left; font-weight:normal; font-size:0.8em;}
#interview .name span{font-weight:bold; font-size:1.2em; }
#interview #aizawa > .inner,#interview #fujinawa > .inner{ padding-top:25vw; }
#interview .qlist{ margin-top:3em; }
#interview .qlist dt{ background:#fffdcd;padding:1em 1em 1em 3em ; font-weight:bold; font-size:1.2em;border-radius:.5em;position:relative; }
#interview .qlist dt::before{ content:'Q';
    display:inline-block; text-align:center; margin-right:.5em;
    position:absolute; top:auto ; left:.65em;
    width:1.5em; height:1.5em;
    color:#fff; background:#ff7900;
    border-radius:100%;
    font-family:'M PLUS Rounded 1c', sans-serif; font-size:1.2em; font-weight:bold;
    line-height:1.5;
    }
#interview .qlist dd{padding:1em;}
#interview .qlist .lit_in{margin-bottom:1em;}
#interview .ph_list li{width:33%;}
#interview #fujinawa{ margin:7em 0 6em;}



/* --------------------------------
parent 保護者の皆様へ
----------------------------------- */
.pareTtl { position:relative; text-align:center; min-height:250px; margin-bottom:60px; border-top:4px solid #45341d; background:url(../img/parent/ttl_pare_ph.jpg) top center /cover no-repeat; }
.pareTtl h2 { position:absolute; top:50%; left:50%; color:#45341d; font-size:1.75em; transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); }
.pareTtl h2 span { z-index:1; display:inline-block; position:relative; padding:.5em 2em; font-weight:bold; }
.pareTtl h2 span::before{ content:""; z-index:-1; position:absolute; top:0; left:0; right:0; bottom:0; transform:skewX(-20deg); -webkit-transform:skewX(-20deg); background-color:rgb(255 255 255 / 0.9); }

#pare_lead { padding-top:0!important; }
#pare_lead .pareTtl { border-top:none; background-image:url("../img/parent/parent_ph.jpg"); }

#parent .lead_ttl{ margin-bottom:1em; font-size:1.8em; font-weight:bold; text-align:center;}
#parent .bg_square{ padding-top:0;}
#parent .pointList li .txtBox .point::after { border-bottom-width:27px; }
#parent .pointList li.orange .txtBox .point { background:#ff7900; }
#parent .pointList li.orange .txtBox .point::after { border-bottom-color:#ff7900; }
#parent .pointList li.orange .txtBox .ttl { color:#ff7900; }
#parent .pointList li.green .txtBox .point { background:#00bf6c; }
#parent .pointList li.green .txtBox .point::after { border-bottom-color:#00bf6c; }
#parent .pointList li.green .txtBox .ttl { color:#00bf6c; }
#parent .pointList li.blue .txtBox .point { background:#2d78de; }
#parent .pointList li.blue .txtBox .point::after { border-bottom-color:#2d78de; }
#parent .pointList li.blue .txtBox .ttl { color:#2d78de; }
#parent .pointList li.purple .txtBox .point { background:#9b2ad5; }
#parent .pointList li.purple .txtBox .point::after { border-bottom-color:#9b2ad5; }
#parent .pointList li.purple .txtBox .ttl { color:#9b2ad5; }

#nyukyo_support { padding:80px 0; }
#nyukyo_support .btn_con { margin:60px auto 0; }

#choose .subTtl { font-size:1.5em; margin-bottom:1em; }
#choose .lead { margin-bottom:0; }
#choose .lead>p { margin:0 auto; }
#choose .img_logo {margin:1em auto 60px; width:100%; max-width:180px; }
#choose .img_logo img { width:100%; }
#choose .pareTtl { border-top:none; background-image:url("../img/parent/ttl_choose.jpg"); }


/* --------------------------------
search 物件検索結果
----------------------------------- */
#search .search-form { margin-bottom: 3em; border: 2px solid #fed917; }

.result section { padding-block: clamp(40px, 5vw, 50px); }
.result_li > li { position: relative; display:flex; flex-wrap:wrap; align-items: flex-start; gap: 20px 6%; width: 100%;  padding: 2em; border-radius: 20px; border: 2px solid #d1c9bd; background-color: #fff; box-shadow: 6px 6px 20px #eaeaea; }
/* .result_li > li::before, .result_li > li::after {
  content: ""; position: absolute; width: 40px; height: 40px; border-style: solid; border-color: #fed917;
}
.result_li > li::before { top: 8px; right: 8px; border-radius: 0 15px 0 0; border-width: 2px 2px 0 0; }
.result_li > li::after { bottom: 8px; left: 8px; border-radius: 0 0 0 15px; border-width: 0 0 2px 2px; } */
.result_li > li + li { margin-top: 1.5em; }
.result_li .img { position: relative; width: 46%; border-radius: 10px; overflow: hidden; }
.result_li .img .gender {
  position: absolute; top: 0; left: 0; display: inline-block; margin-block: 0; padding: .2em 1em; border-radius: 0 0 5px 0; color: #FFF;
}
.result_li .img .gender.ml { background-color: #ffa749; }
.result_li .img .gender.mens { background-color: #41a1be; }
.result_li .img .gender.ladies { background-color: #ff5f83; }
.result_li .info { width: 48%; }
.result_li .info > div { margin-bottom: 1em; padding-bottom: .5em; align-items: center; border-bottom: 2px solid #eee; }
.result_li .name { font-size: 1.6em; font-weight: bold; }
.result_li .comment { height: 100%; margin: 0; padding: .2em 1em; font-size: .88em; color: #fff; background: #2d78de; border-radius: 100px; }
.result_li .copy span { display: inline-block; padding: .3em 1.5em .2em; font-size: .88em; background: #ffd2d2; font-weight: bold; }

.result_li .feature { margin-block: 0.5em 1.4em; font-size: .92em; }
.result_li .feature li { position: relative; padding-left: 1.5em; }
.result_li .feature li::before {
  content: ""; position: absolute; top: .2em; left: 0; width: 1em; height: 1.4em; background: center / 100% no-repeat;
}
.result_li .feature li.traffic::before { background-image: url(../img/icon/train_org.svg); }
.result_li .feature li.room_type::before { background-image: url(../img/icon/screen_org.svg); }

.result_li .btn_con { margin-bottom: 0; }

.equip_li li { margin: 0 5px 5px 0; padding: .2em 1em; font-size: 12px; border-radius: 3px; background-color: #ffdec5; }
.ui-widget-content { max-height: 400px; overflow-y: auto; }

/* --------------------------------
privacy プライバシーポリシー
----------------------------------- */
#privacy .ttl_stripe { text-align:left; }


/* --------------------------------
contact お問い合わせ
----------------------------------- */
/*フォーム切り替えタブ*/
.formTab { margin-bottom:50px; }
.formTab li {  width:24%; padding:1em 0; border-radius:10px; background:#ddd; }
.formTab li a { display:block; }

.formTab li:first-child.active { background:#ff4180; }
.formTab li:nth-child(2).active { background:#00bf6c; }
.formTab li:nth-child(3).active { background:#ff7d19; }
.formTab li:last-child.active { background:#2d78de; }
.formTab li.active a { color:#fff; }

.req { display:inline-block; margin-left:auto; padding:0 .5em; height:20px; color:#fff; background:#ff7d19; font-size:.7em; font-weight:normal; }
.any { display:inline-block; margin-left:auto; padding:0 .5em; height:20px; color:#ff7d19; background:#fff; font-size:.7em; font-weight:normal; border:1px solid #ff7d19; }

/*送信・戻るボタン*/
.submit { margin-top:50px; }
.submit>* {  display:block; margin:0 auto; }
.submit_next { padding:.8em 2.5em; font-size:1.2em!important; font-weight:bold; background:#ff7d19; color:#ffffff; border-radius:10px!important; cursor: pointer; }
.submit_next.result { position: relative; display: inline-block; margin-top: 5px; padding-left: 3.5em; background: #2d78de; }
.submit_next.result::before { content: ""; position: absolute; width: 16px; height: 20px; top: 23px; left: 35px; background: url(../img/pdf-file.png)center / 100% no-repeat; }
.submit_next.result:hover { color: #FFF; }
.submit_back { border:2px solid #ccc!important; font-size:1.2em!important; font-weight:bold; border-radius:10px!important; background:#fff; }

/* application 入館のお申込み ---------------- */
#application .lead dl { padding: 1.2em; border: 2px solid #ff7d19; }
#application .lead dt { display: block; position: relative; cursor:pointer;  }
#application .lead dt::after{ content: ""; position: absolute; display: block; width: 10px; top: 50%; left: 75%; height: 10px; border-bottom: 2px solid #ff7d19; border-right: 2px solid #ff7d19; transform: rotate(45deg) translateY(-50%); }
#application .lead dd { display:none; padding-bottom: 1em; }
#application .lead p { width: fit-content; margin: 1.5em auto; border-bottom: 1px solid #ff7d19;  }
#application .lead dt.open::after{ content: ""; position: absolute; display: block; width: 10px; top: 40%; left: 76%; height: 10px; border-bottom: 2px solid #ff7d19; border-right: 2px solid #ff7d19; transform: rotate(225deg) translateY(-50%); }



/* contact お問い合わせ完了 ---------------- */
#contact .thanks .dormy_labo { margin: 0 auto 5em; }
.thanks .info { margin:60px auto 80px; border-top:1px solid #ccc; }
.thanks .tel {margin:0 auto; }
/*.thanks .tel a { padding-left:0; }*/
/*.thanks .tel a::before { display:none!important; }*/

.slash { display: flex; justify-content: center; align-items: center; position: relative; margin-bottom: 0.3em; color: #ff7d19; font-size: 1.4em; }
.slash::before, .slash::after { content: ""; width: 38px; height: 4px; margin: 0px 7px; background-color: #ff7d19; }
.slash::before { transform: rotate(65deg); }
.slash::after { transform: rotate(-65deg); }
.dormy_labo img { border: 5px solid #ff7d19; border-radius: 15px; }


/* --------------------------------
fee 料金シミュレーション
----------------------------------- */
#fee dd{ font-weight:normal; }

#fee .compareBox { border:solid #45341d; border-radius:10px;}
#fee .compareBox .flex { padding:0; }
#fee .hide {display:block;}
#fee #case{ background:#fffdcd; }

#fee .total { border:solid #45341d;  border-radius:10px; margin-top:1em;}
#fee .total dl{ border-radius:10px; }

#fee #case .ttl_stripe::before { border-left:solid 20px #fffdcd; }
#fee #case .ttl_stripe::after { border-bottom:solid 55px #fffdcd;}

#fee #case h2{ font-size:1.75em; position:relative; }
#fee #case h2::before {
content:""; top:0; left:25%; border-bottom:0.6em solid transparent; border-left:0.6em solid #ffa749; position:absolute;z-index:100;}
#fee #case h2::after {
content:""; bottom:0; right:25%; border-top:0.6em solid transparent; border-right:0.6em solid #ffa749; position:absolute; z-index:100; }

#fee #case h3{ margin:2em 0 0.5em; }
#fee #case h4{ font-size:1.2em; background:#45341d; color:#fff; padding:5px 0; }
#fee #case .sp_tabwrap .dormy p.sp_none,
#fee #case .sp_tabwrap .apart p.sp_none{ font-size:19px; margin:0 0 0.5em 0; }

#case .tbl.nyukan dd { text-align:center; font-size:1.2em; }
#case .tbl.nyukan>div:last-child dt,#case .tbl.nyukan>div:last-child dd { border-top:2px solid #ccc; }
#case .tbl.nyukan>div:last-child dd { font-weight:bold; }
#fee #details .btn_con { margin:3em 0 0 0; }



/* form */
.c-form + .conTitle { margin-top:2em; }
.c-form { margin:1em 0 2em; padding: 0 10px; border-top:2px solid #ffa749; border-bottom:2px solid #ffa749; }
.c-form > div > dt { font-weight: bold; }
.c-form > div > dt, .c-form > div > dd {
  padding:1.5em 1em; position:relative; }
.c-form > div:not(:last-child) > dt,
.c-form > div:not(:last-child) > dd { border-bottom:1px solid #ccc; }
.c-form .require {
  position:absolute; top:1.8rem; right:15px;
  display:inline-block; margin-left:.5em; padding:.1em .5em 0;
  color:#ec5b5b; font-size:.75em; font-weight:bold;
  background:#fff; border:1px solid #ec5b5b;
  }
.c-form .eq > label { width:8em; }
.c-form label input { margin-right:5px; }

.selectbox { display:inline-block; position:relative; }
.selectbox > select {
  -webkit-appearance:none; appearance:none;
  padding:.3em 1.5em .3em .5em; font-size:1em; background:#fff;
  border:2px solid #d0d6e1;  border-radius:5px;
  }
.selectbox::after{
  content:""; display:block; width:6px; height:6px;
  position:absolute; right:10px; top:40%;
  border-bottom:#333 1px solid;
  border-right:#333 1px solid;
  transform:rotate(45deg) translateY(-30%);
  }
.box_cost { padding: 20px; border: 2px solid #ffa749; border-radius: 10px; background: #fffbf6; }
.box_cost + .box_cost { margin-top: 40px;}

.initial_cost { margin-top: 60px; }
.price_txt { margin: 25px 0 0; text-align: center; line-height: 1.4; }
.price_txt em { font-size: 2.4em; }
.price_txt span { display: inline-block; margin-right: .5em; padding: 2px 20px; border-radius: 30px; background-color:#ffdfbe; }

.price_note { margin: 0; padding-block: .5em; font-size: .85em; text-align: center; border-bottom: 1.5px solid #ffa749;}

.c-tbl > div { display: -webkit-flex; display: flex; margin-bottom: 1em; }
.c-tbl > div dt { min-width: 10em; margin-bottom: 0; border-bottom: 1px solid #ffa749; }
.c-tbl > div dd { text-align: right; border-bottom: 1px solid #e9dfd4; -webkit-box-flex: 1; -ms-flex: 1; flex: 1; }
.c-tbl > div > * { padding: 0.5em 0 0.5em 0.5em; }
.ttl_stripe2 {
  position: relative; text-align: center; padding: 5px 1.5em; font-size: 1.5em; color: #fff; background: #ffa749; border-radius: 10px;
}
.c-tbl.mt1 { margin-top: 1em; }

.question { display:inline-block; margin-left: 5px; padding: 10px; vertical-align: sub; background: url(../img/icon_question.svg) center / cover no-repeat; cursor: pointer; }
.question.in-row { padding: 0; margin-right: auto; width: 20px; height: 20px; background-size: contain;}
.question.in-row + .req { margin-left: 5px;}
.modal {
  opacity: 0; visibility: hidden; position: fixed; top: 0; left: 0; bottom: 0; right: 0; overflow-y: auto; transition: all 0.4s; z-index: 999;
}
.modal.is-show { opacity: 1; visibility: visible; }
.modal_inner { position: relative;; top: 0; left: 0; width: 100%; min-height: 100%; padding: 50px 0; }
.modal_bg, .modal_bg2 { opacity: 0; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); cursor: pointer; }

.modal_cont {
  opacity: 0; position: absolute; top: 50%; left: 50%; width: 100%; max-width: 600px; transform: translateY(-50%) translateX(-50%); -webkit-transform: translateY(-50%) translateX(-50%); background-color: #fff; border-radius: 10px; text-align: left;
}
.modal_cont > div { position:relative; padding: 50px 30px 30px; }
.modal_cont .close, .modal_cont .close2 { position: absolute; top: 20px; right:20px; width: 40px; height: 40px; margin: 0; background: url(../img/icon_close.svg) center / cover no-repeat; }

.modal.is-show .modal_bg, .modal.is-show .modal_bg2,
.modal.is-show .modal_cont { opacity: 1; }

.explanation {
    position: relative;
    display: inline-block;
    padding: 0 16px 0 0;
    color: #ff7d19;
    vertical-align: middle;
    text-decoration: none;
    font-size: .8em;
    cursor: pointer;
}
.explanation::before,
.explanation::after{
    position: absolute;
    top: 2px;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.explanation::before {
  width: 12px;
  height: 12px;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  background: #ff7d19;
}
.explanation::after {
  right: 1px;
  box-sizing: border-box;
  width: 3px;
  height: 3px;
  border: 3px solid transparent;
  border-left: 3px solid #fff;
}

/* --------------------------------
interview インタビュー
----------------------------------- */
#interview .anc_box li + li{margin-left:1em}
#interview .anc_box{margin-bottom:1em;}
#interview .anc_box li{ width:48%; font-size:0.9em; font-weight:normal;line-height:1.6em;border-radius:1em;}
#interview .anc_box a{display:block; padding:1em 1em 1em 1.5em;}
#interview .anc_box a::before { content:""; position:absolute; bottom:0; right:0; border:10px solid transparent; border-bottom:10px solid #fff100; border-right:10px solid #fff100;}
#interview .anc_box span{ padding-left:0; font-size:1.5em; font-weight:bold;}
#interview .anc_box .anc_aizawa{ position:relative; display:inline-block; background:#b2e91e;}
#interview .anc_box .anc_aizawa::after{ content:""; display:inline-block; position:absolute; right:0; bottom:0; width:100%; height:100%; background:url(../img/interview/btn_ph_ai.png) right bottom no-repeat; z-index:10;padding-top:7.5em; pointer-events:none; }
#interview .anc_box .anc_fujinawa{ position:relative; display:inline-block; background:#62d1f3;}
#interview .anc_box .anc_fujinawa::after{ content:""; display:inline-block; position:absolute; right:4em; bottom:0; width:100%; height:100%; background:url(../img/interview/btn_ph_fuji.png) right bottom no-repeat; z-index:10;padding-top:7.5em; pointer-events:none; }
#interview #aizawa{ position:relative; background:url(../img/interview/main_aizawa.png) center top / contain no-repeat ; }
#interview #fujinawa{ position:relative; background:url(../img/interview/main_fujinawa.png) center top / contain no-repeat ; }
#interview .inTtl{ position:relative; font-weight:bold; font-size:2em; color:#fff; }
#interview .inTtl span{z-index:1; position:relative; display:inline-block; padding:0 .8em;}
#interview .inTtl span { margin-top:.5em;}
#interview .inTtl span::before{ content:""; position:absolute; top:50%; left:0; width:100%; height:100%; z-index:-1; background:#45341d; transform:translate(0,-50%) skew(-30deg); -webkit-transform:translate(0,-50%) skew(-30deg);}
#interview .name{text-align:left; font-weight:normal; font-size:0.8em;}
#interview .name span{font-weight:bold; font-size:1.2em; }
#interview #aizawa > .inner,#interview #fujinawa > .inner{ padding-top:25vw; }
#interview .qlist{ margin-top:3em; }
#interview .qlist dt{ background:#fffdcd;padding:1em 1em 1em 3em ; font-weight:bold; font-size:1.2em;border-radius:.5em;position:relative; }
#interview .qlist dt::before{ content:'Q';
    display:inline-block; text-align:center; margin-right:.5em;
    position:absolute; top:auto ; left:.65em;
    width:1.5em; height:1.5em;
    color:#fff; background:#ff7900;
    border-radius:100%;
    font-family:'M PLUS Rounded 1c', sans-serif; font-size:1.2em; font-weight:bold;
    line-height:1.5;
    }
#interview .qlist dd{padding:1em;}
#interview .qlist .lit_in{margin-bottom:1em;}
#interview .ph_list li{width:33%;}
#interview #fujinawa{ margin:7em 0 6em;}


/* ---------------------------------------
よくある質問
----------------------------------------- */
#faq article>section:not(:last-child) { padding:80px 0 0; }
#faq article { padding-bottom:100px; background:#fffdcd; }
#faq [class^="pageNav-"] {width:24%; margin-bottom:7px; }
#faq .pageNav { padding:30px 0 0;}

.faqList .row { padding:0 1em; background:#fff; border-radius:10px; position:relative; }

.faqList dt,.faqList dd { position:relative; }
.faqList dt::before,.faqList dd::before {
    text-align:center; position:absolute; top:50%; left:0;
    width:40px; height:40px; color:#fff;
    font-size:1.5rem; line-height:1.75; border-radius:100%;
    transform:translate(0,-50%); -webkit-transform:translate(0,-50%);
    font-family:fot-tsukuardgothic-std, sans-serif; font-weight:600;
}
.faqList dt::before { content:"Q"; background:#ff7900; }
.faqList dd::before { content:"A"; background:#45341d; top:0; transform:none; }

.faqList dt { margin-bottom:1em; padding:1em 1em 1em 2.5em; font-size:1.3em; }
.faqList dt:hover { cursor:pointer; color:#ff7f1d; transition:all .3s; }

.faqList dt::after { content:"";
  position:absolute; top:50%; right:10px;
  width:10px; height:10px;
  border-top:2px solid #ff7900; border-right:2px solid #ff7900;
  transform:rotate(135deg) translate(-50%,0);
  -webkit-transform:rotate(135deg) translate(-50%,0);
  -ms-transition:all .5s; transition:all .5s;
}

.faqList dt.open { border-bottom:1px dashed #ff7900; }
.faqList dt.open::after { transform:rotate(-45deg); }
.faqList dd { display:none; margin-bottom:30px; padding-bottom:1.5em; padding-left:3.5em; font-weight:normal; }

.faqList .row dd .telBox{ margin-top:1em; padding-top:1em; border-top:1px dashed rgb(128 102 66 / .5); }
.faqList .row dd .telBox p{ margin:0; }

.faqList .row dd a{ word-break:break-all; color:#ff7900; font-size:1.2em; font-weight:bold; }
.faqList .row dd a.outerlink{ background:url(/img/faq/icon_outerlink.svg) no-repeat 0 45%; padding-left:1.8em;  font-size:16px; }

.faqList .row dd em{ font-size:1.2em; font-weight:500; line-height:1.5; }

.faqList ul { margin-top:1em; font-size:.9em; }
.faqList ul>li { margin-bottom:10px; }


/* ---------------------------------------
入館までの流れ
----------------------------------------- */
#flow #step ol{ list-style:none; padding-left:0; }

#flow #step .stepBox{ min-height:119px; padding-left:140px; margin:60px 0; }
#flow #step .stepBox h3{ font-size:1.3em; font-weight:bold; line-height:2.6; padding-left:1em; border-bottom:2px solid #ff4180; }
#flow #step .stepBox p{ font-weight:normal;  }
#flow #step .stepBox p.txt{ padding:1em 0; margin:0; }
#flow #step .stepBox p.attention{ background:#ffedd3; display:inline-block; padding:1em 2em; margin:0; }
#flow #step .stepBox p.attention a { text-decoration:underline; }

#flow #step .stepBox span{ position:relative; padding:10px 20px; margin:-2.5em 1.5em 0 0; color:#45341d; z-index:200; }
/*#flow #step .stepBox span.date08{ margin-top:-4.5em; }*/

#flow #step .stepBox span:before{
    content:"";
    z-index:-1;
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    font-size:.8em;
    transform:skewX(-20deg);
    -webkit-transform:skewX(-20deg);
    background-color:#fff;
    border:1px solid #45341d; }

#flow #step #step01{ background:url(/img/flow/step01.png) no-repeat; }
#flow #step #step02{ background:url(/img/flow/step02.png) no-repeat; }
#flow #step #step03{ background:url(/img/flow/step03.png) no-repeat; }
#flow #step #step04{ background:url(/img/flow/step04.png) no-repeat; }
#flow #step #step05{ background:url(/img/flow/step05.png) no-repeat; }
#flow #step #step06{ background:url(/img/flow/step06.png) no-repeat; }
#flow #step #step07{ background:url(/img/flow/step07.png) no-repeat; }
#flow #step #step08{ background:url(/img/flow/step08.png) no-repeat; }

#flow #step ol>li:nth-child(2) h3,
#flow #step ol>li:nth-child(6) h3{ border-bottom-color:#ff7900; }
#flow #step ol>li:nth-child(3) h3,
#flow #step ol>li:nth-child(7) h3{ border-bottom-color:#00bf6c; }
#flow #step ol>li:nth-child(4) h3,
#flow #step ol>li:nth-child(8) h3{ border-bottom-color:#2c78de; }


/*#flow #step #step01 p,#flow #step #step05 p{ border-color:#ff4180; }
#flow #step #step02 p,#flow #step #step06 p{ border-color:#ff7900; }
#flow #step #step03 p,#flow #step #step07 p{ border-color:#00bf6c; }
#flow #step #step04 p,#flow #step #step08 p{ border-color:#2c78de; }*/

#flow #paytime h2{ margin-bottom:1em; }
#flow #paytime .btn_con { margin-top:2em; }

#flow #paytime .inner div.flowWrap {
    position:relative;
    text-align:center;
    width:30%;
    padding:30px;
    background:#fff;
    border-radius:10px;
}
#flow #paytime .inner div.flowWrap:not(:last-child):after {
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
    border-left:20px solid #45341d;
    bottom:50%;
    content:"";
    display:block;
    right:-12%;
    position:absolute;
    width:0;
    z-index:1000; }

#flow #paytime .inner div.flowWrap h3{ font-size:1.3em; font-weight:bold; color:#ff7d19; border-bottom:solid 2px #ff7d19; }
#flow #paytime .inner div.flowWrap h3 span{ font-weight:normal; font-size:16px; color:#45341d; }
#flow #paytime .inner div.flowWrap ul.disc_or{ margin-top:1em; }
#flow #paytime .inner div.flowWrap p{ font-weight:normal; margin-bottom:0; }

#flow #guide::after {
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    background:url(../img/top/deco_pink02.png) no-repeat left;
    width:97px;
    height:166px;
    z-index:5;}
#flow #guide .contactBox { background:#fffbeb; }
/*#flow .telBox { text-align:center; padding-top:30px; line-height:1.5; }
#flow .telBox > * { margin:0 auto; }
#flow .telBox .txt { font-size:1.25em; font-weight:bold; }
#flow .telBox .tel { font-size:2.5em; font-weight:bold; }
#flow .telBox .tel a { display:inline; }*/

/*-----------------------------------------------------------------
Ryukoku Student Home banner
------------------------------------------------------------------*/
.ryukoku_bnr { text-align: center; margin-bottom:50px;}


/* --------------------------------
RA制度について
----------------------------------- */
#ra section{ padding: 90px 0; }
#ra .secTtl{ margin-bottom: 1em; font-size: 1.88em; }
.ra_box{ background: #fff; border: solid 3px #f58020; }
.ra_box .ra-ttl{
    background: #f58020;
    color: #fff;
    text-align: center;
    font-size: 1.88em;
    font-weight: bold;
}
.ra_box .ra-ttl .small{ font-size: .65em; }
.ra-list{ padding:1.5em; }
.ra-list li{ width:25%; text-align: center; }
.ra-list li .ttl{ margin: .65em 0 0; color: #f58020; font-size: 1.2em; }
.ra-notes span{ margin-right: 0.5em; padding: 0.15em 0.45em; background: #f58020; color: #fff; }

#ra .pointList li:last-child{ margin-bottom: 0; }
#ra .pointList li .txtBox .point{ background: #f58020; }
#ra .pointList li .txtBox .point::after { border-bottom-color:#f58020;}
#ra .pointList li .txtBox .ttl { color:#f58020; }

#ra .memoBox{ padding: 30px 60px 50px; }
#ra .memoBox::before { background-image:url("../img/about/charm/deco_mast_pink.png"); }
.mail_btn{ margin-top: 4em; }
.mail_btn a{
    position: relative;
    display: inline-block;
    padding:1.5em 7em 1.5em 4em;
    font-size: 1.55em;
    background: #cf3f34;
    color: #fff;
    border-radius: 10px;
}
.mail_btn a:hover{ background: #ff6f64; }
.mail_btn a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 1.5em;
    transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    width: 33px;
    height: 25px;
    background: url(../img/icon_mail.svg) center / contain no-repeat;
}
.mail_btn a::after {
    position: absolute;
    content: "";
    right: 2em;
    top: 50%;
    width: 12px;
    height: 12px;
    border-top: 3px solid;
    border-right: 3px solid;
    -webkit-transform: rotate(45deg) translateY(-50%);
    transform: rotate(45deg) translateY(-50%);
}


/* --------------------------------
FSS制度について
----------------------------------- */
#fss{ color: #333; }
#fss article>section { padding: 80px 0 100px; }
#fss .pageTitle{ background: url(/img/fss/pageTitle.jpg) no-repeat center /cover; color: #fff; }
#fss .pageTitle::before{ background: url(/img/fss/deco_ttl.png) no-repeat; }
#fss #pan li:last-child{ color: #004d9b; }
#fss .secTtl{ margin-bottom: 1em; letter-spacing: .1em; }
#fss .secTtl .en{ display: block; font-size: .37em; color: #004d9b; letter-spacing: 0;}
#fss .lead_img figure{ width:49%; }

.terms_list li{
    position: relative;
    width:31.5%;
    margin-right: 2.75%;
    padding: 3.5em 1.5em 1.5em 1.5em;
    background: #fff;
}
.terms_list li:nth-child(3n){ margin-right: 0; }
.terms_list li:nth-child(n+4){ margin-top: 2.75%; }
.terms_list li .terms_num{
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    padding: 0.4em 1em;
    background: #004d9b;
    color: #fff;
}
.terms_list li .terms_num::before{
    content: "";
    position: absolute;
    right: -10px;
    top: 0;
    height: 0;
    width: 0;
    border-top: 40px solid #004d9b;
    border-right: 10px solid transparent;
}
.terms_list li .terms_ico{ width:40%; margin:auto; }
.terms_list li .terms_ico img{ object-fit: contain; width:100%; height: 100px; }
.terms_list li p{ margin-top: 1.5em; font-size: .94em; text-align: center; }


.flow_list { position:relative; }
.flow_list::before {
    display:block;
    content:"";
    position:absolute;
    top:75px;
    left: 7.5px;
    width:2px;
    height:75%;
    background:#e2e2e2;
    z-index: 0;
}
.flow_list em {
    position:relative;
    width: 16px;
    height: 16px;
    display:table-cell;
    color:#fff;
    text-align:center;
    vertical-align:middle;
    font-size: .9em;
    background:#004d9b;
    border-radius:50%;
    letter-spacing: 0;
}
.flow_list > div > dt { padding-top: 70px; padding-right: 20px; }
.flow_list dd { padding: 40px; border-radius: 5px; flex: 1; background: #fff; }
.flow_list > div:nth-child(2n+1) dd{ background: #ecf6ff; }
.flow_list .flow_ttl{ color:#004d9b; font-size: 1.5em; font-weight: 600; letter-spacing: 0.15em; }
.flow_list .flow_txt{ margin:.5em 0 0 0; }

#fss .pointList li .txtBox .point{ background: #004d9b; }
#fss .pointList li .txtBox .point::after { border-bottom-color:#004d9b;}
#fss .pointList li .txtBox .ttl { color:#004d9b; }

#fss .tbl .row dt{ background: #ecf6ff; }
#fss .mail_btn{ margin-bottom: 4em; }

#fss #kanazawa_box{ display: none; }
#fss form .wide label{ width: 100%; margin: 0; }
#fss .req{ background: #004d9b; }

/* --------------------------------
ブログ（トピックス）
----------------------------------- */
#blog-topics .post-list > li { margin-bottom: 2em; padding-bottom: 1em; border-bottom: 1px solid #c2c2c2;}
#blog-topics .post-list > li > a { display: flex; }
#blog-topics .post-list .tmb { align-self: baseline; width: clamp(100px,25vw,170px); overflow: hidden; position: relative;}
#blog-topics .post-list .tmb::before { display: block; padding-top: 75%; content: "";}
#blog-topics .post-list .tmb img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
#blog-topics .post-list .post-info { flex: 1; margin-left: 1em;}
#blog-topics .post-list .post-info .cat { margin: 0; padding: .25em .5em; background: #ff7d19; border-radius: .5em; color: #fff; font-size: .85em; line-height: 1.3;}
#blog-topics .post-list .post-info .date { margin: 0 0 0 1em;}
#blog-topics .post-list .post-info .title { margin-top: .4em; font-size: 1.1em; line-height: 1.4;}
#blog-topics #side { align-self: baseline; padding: 2em 1em 3em; background: #f2f2f2; border-radius: 1em;}
#blog-topics #side h2 { margin-bottom: .35em; padding-left: .5em; font-size: 1.3em; }
#blog-topics #contents { margin-top: 3em; padding-bottom: 3em;}

#blog-topics #toc_container { margin-top: 1.5em;}
#blog-topics .mt-2 { margin-top: 1.8em;}

/* ================================================================
  レスポンシブ
=================================================================== */
/* 600以上(PC・タブレット) */
@media screen and (min-width:600px) {
  /* common ---------------- */
  /* tbl */
  .tbl .row { display:-webkit-flex; display:flex; }
  .tbl .row > * { padding:1em 1.5em; }
  .tbl .row dt { width:26%; min-width:10em; margin-bottom:0; }
  .tbl .row dd { border-bottom:1px solid #ccc; background:#fff; -webkit-box-flex:1;-ms-flex:1; flex:1; }

  .tbl2 .row dd { padding-left:1.5em; }

  .eventBox-dec .deco-01 { right:-60px; }

  .tbl_price .ws-nowrap { white-space: nowrap; }

  /* form */
  .c-form > div { display:-webkit-flex; display:flex; }
  .c-form > div > dt { width:25%; }
  .c-form > div > dd { flex:1; -webkit-box-flex:1; }

}



/* 960px以上(PC) */
@media screen and (min-width:960px) {



}



/* ================================================================
  タブレット
=================================================================== */
/* 1024以下 (タブレット横以下) */
@media screen and (max-width:1024px) {
  /* common ---------------- */
  .pageTitle { min-height:200px; font-size:2em; }

  /* pageTitle.sub */
  .pageTitle .sub { font-size:.6em; }


  /* --------------------------------
  about 学生会館とは
  ----------------------------------- */
  /* difference ドーミーは学生寮とはどう違うの？------------ */
  #difference .flex { display:block; }
  .before.circle { float:left; }
  .before figure { bottom:0; transform:translate(-50%,0); }
  .after.circle { float:right; }
  .after.circle::before { top:-30px; left:40%; transform:rotate(80deg) translate(0,-50%); background-size:25px; }
  .after figure { right:0; }

  /* compare 比べてみよう！------------ */
  #compare .secTtl { width:94%; }
  #compare .secTtl span.orange { font-size:.8em; }

  .after.circle::before { top:-10px; left:20%; transform:rotate(40deg) translate(0,-50%); }
  .after .circleBox { width:470px; height:470px; }
  .after figure { bottom:30px; width:150px; }

  #difference .btn_con { margin-top:40px; }

  .compareBox.illust .fukidashi { padding:10px; font-size:1em; line-height:1.5;}



}



/* 959以下 (タブレット以下) */
@media screen and (max-width:959px) {
.tb_none { display:none; }

.pageNav::after { content:""; width:32%; }
[class^="pageNav-"] { width:32%; margin-bottom:10px; }

.bnr{ width:90%; }

.telBox .tel { font-size:2em; }

/*設備を比べる 料金表*/
.tbl_price { font-size: .85em }


/* --------------------------------
charm 学生会館の魅力
----------------------------------- */
.charmTtl { min-height:180px; }
.charmTtl h2 { left:40px; }
.charmTtl h2 span { padding:.2em 1em; }

.pointList li:nth-child(2n) figure::before { left:-10%; }
.pointList li .txtBox { padding:20px; }
.pointList li .txtBox .point { font-size:10px; }
.pointList li .txtBox .point::after { border-bottom-width:27px; border-right-width:10px; right:-10px;  }
.pointList li .txtBox .ttl { font-size:1.25em; }
.pointList li .txtBox .ttl+p { font-size:.9em; }

.before .circleBox .txtBox>p:nth-child(2) { font-size:1.2em; }

/*食事について----------*/
.menuBox .menu_img .flag { width:50px; height:50px; padding:.3em; right:10px; background-size:50px!important;}

/*安心・安全について----------*/
.soudan { padding:10px 20px; }
.soudan p { font-size:1em; }


/*館長・寮母ご夫妻にいつも気を付けていること----------*/
#owner .secTtl { font-size:1.8em; line-height: 1.5;}
.ownerBox { padding-top:150px; }
.comeBox { bottom:20px; }
.comeBox>* { padding:10px; }
.ownerBox figure { width:28%; margin:0 auto; }
.comeBox h4 { font-size:1em; }
.comeBox>div p { font-weight:normal; font-size:.9em; }
.ownerBox .name { padding:.5em 2em; }


/*交流イベント----------*/
.eventcal { overflow:hidden; }
.eventcal:before { top:0; height:90%; }
[class^="eventBox-"] { max-width:380px; }
[class^="eventBox-"],.eventcal [class^="eventBox-"]:nth-child(2n) { margin-bottom:60px; }
[class^="eventBox-"]::before,[class^="eventBox-"]::after { display:none; }
[class^="eventBox-"] figure { margin-bottom:10px; }
[class^="eventBox-"] .disc_or { margin:0 auto; }
.eventBox-aug { margin-top:0; margin-bottom:0; }
.eventBox-apr .deco-01 { right:-240px; bottom:0; }
.eventBox-aug .deco-01 { right:auto; left:-450px; top:0; }
.eventBox-aug .deco-02 {  left:-130px; bottom:0; }
.eventBox-nov .deco-02 { top:0; right:-330px; bottom:auto; left:auto; width:85%; }
.eventBox-dec .deco-01 { right:0; bottom:-28px; width:10%;  }
.eventBox-dec .deco-02 { right:auto; bottom:-13px; left:-320px; }


/*料金シミュレーション----------*/

#fee #case h2::before {
content:""; top:0; left:20%; border-bottom:0.6em solid transparent; border-left:0.6em solid #ffa749; position:absolute;z-index:100;}
#fee #case h2::after {
content:""; bottom:0; right:20%; border-top:0.6em solid transparent; border-right:0.6em solid #ffa749; position:absolute; z-index:100; }

#fee #case .ttl_stripe.short::before { border-bottom:solid 55px transparent; }
#fee #case .ttl_stripe.short::after { border-bottom:solid 55px #fffdcd; }
#fee #case .ttl_stripe::before { border-bottom:solid 100px transparent; }
#fee #case .ttl_stripe::after { border-bottom:solid 100px #fffdcd; }


/* --------------------------------
interview インタビュー
----------------------------------- */
#interview .anc_box li{width:48%}
#interview .anc_box li + li{margin-left:.5em}


/* ---------------------------------------
入館までの流れ
----------------------------------------- */
#flow #step .stepBox h3 { font-size:1.1em; line-height:1.8; }

#flow #step .stepBox span{ margin:0; }
#flow #step .stepBox span.date08{ margin:0; }
#flow #step .stepBox span{ padding:5px 10px; }
#flow #step .stepBox span.date04{ margin:1em 0 0 0; }

#flow #paytime .inner div.flowWrap { padding:20px; }

/*#flow .telBox .tel { font-size:2em; }*/

/* ---------------------------------------
保護者の皆様へ
----------------------------------------- */
#parent .pointList li .txtBox .point::after { border-bottom-width:18px; }

/* --------------------------------
RA制度について
----------------------------------- */
#ra section{ padding: 70px 0; }
#ra .lead{ text-align: left; }
.ra-list li{ width: 31%; }
.ra-list li .ra-icon{ width: 65%; display: block; margin: auto; }
.ra-list li .ttl{ font-size: 1em; }

#ra .memoBox { padding: 20px 20px 30px; }

.mail_btn{ margin-top: 3em; }
.mail_btn a{ font-size: 1.35em; }
.mail_btn a::before{ width: 27px; height: 17px; }


/* --------------------------------
FSS制度について
----------------------------------- */
.terms_list li { width: 48.5%; margin-right: 3%; }
.terms_list li:nth-child(2n) { margin-right: 0; }
.terms_list li:nth-child(3n) { margin-right: auto; }
.terms_list li:nth-child(n+3) { margin-top: 3%; }

}



/* ================================================================
  スマホ
=================================================================== */
@media screen and (max-width:599px){
/* common ---------------- */
article>section { padding:10px 0 80px; }

.pageTitle { min-height:120px;}
.pageTitle::before {  background-size:180px; }

#pan { width:92%; }

/* tbl */
.tbl { border-top:none; }
.tbl .row { margin-bottom:.5em; }
.tbl .row dt { border-bottom:none; }
.tbl .row dd .detail{ margin-left: 0; }
.tbl .row dd .kome { margin-top: .3em;}

.pageNav { padding:10px 0 40px; }
[class^="pageNav-"] { width:49%; margin-bottom:2%; }
[class^="pageNav-"] a { font-size:.87em; line-height:1.2; }

/* --------------------------------
about 学生会館とは
----------------------------------- */
#about_lead .leadBox { padding-top:20px; }
#about_lead .leat_ttl { font-size:1.8em; }

/* difference ドーミーは学生寮とはどう違うの？------------ */
.circleBox .ttl { padding:1em .5em .5em; }
.before.circle,.after.circle { float:none; }

.before .circleBox { width:290px; height:290px; margin:0 auto 50px;}
.before figure { right:0; left:auto; width:100px; transform:none; }

.after .circleBox { width:300px; height:300px; border:7px solid #ff4180; background-image:none, url(../img/about/bg_pink.png); }
.after .circleBox .ttl { font-size:1.5em; }
.after figure { width:40%; }
.after ul.check { padding:0 30px; }
.after ul.check li { font-size:1em; }


/* compare 比べてみよう！------------ */
#compare .secTtl { padding:.5em 0; font-size:1.5em; border:5px solid #ff7900; }
#compare .secTtl span.big { font-size:1.2em;}

/* タブ------------------------ */
.sp_tabwrap { padding:50px 10px 10px; }
#about .hide,#fee .hide { display:none; }
#tab { overflow:hidden; position:relative; z-index:1; text-align:center; }
#tab li { width:50%; padding:10px 0; background:#CCC; border-radius:5px 5px 0 0; cursor:pointer; }
#tab .active { background:#ff7900; color:#FFF; }
#tab .active.tab_apart { background:#ffbd2f; color:#FFF; }
.content_wrap { background:#FFF; border:4px solid; }
.dormy.content_wrap { border-color:#ff7900; }
.apart.content_wrap { border-color:#ffbd2f; }

.compareBox { background:rgb(255 255 255 / 0.8); }
.compareBox .ttl { font-size:1.2em; width:70%; padding:0; }
.compareBox .ttl span { display:block; margin-top:.5em; }
.compareBox .flex { padding-top:0; }
.compareBox .flex>* { width:100%; padding:10px; font-size:.9em; }
.compareBox .dormy { border-right:4px solid #ff7900; }

.compareBox.illust { margin-bottom:30px; }
.compareBox.illust .flex { padding-top:50px; }
.compareBox.illust .flex>* { width:50%; padding:10px; }
.compareBox.illust .fukidashi { text-align:center; position:relative; top:0; padding:.5em; font-size:1em; line-height:1.2; }
.compareBox.illust .fukidashi::before { top:auto; bottom:-25px; right:50%; transform:translate(0,-50%) rotate(90deg); -webkit-transform:translate(0,-50%) rotate(90deg); }
.compareBox.illust .apart .fukidashi::before { left:50%; transform:translate(0,-50%) rotate(90deg); -webkit-transform:translate(0,-50%) rotate(90deg); }
.compareBox.illust figure { float:none; }

/*設備を比べる 料金表*/
/*.tbl_price th, .tbl_price td { display:block; width:100%; border:none;}
.tbl_price th { border-bottom:1px solid #ccc; }
.tbl_price td { border-bottom:1px solid #ccc;  }
.tbl_price>tbody>tr:first-child td:nth-child(2), .tbl_price>tbody>tr:last-child td:nth-child(2), .tbl_price>tbody>tr>td:first-child { text-align:left; background:#eee; }
.tbl_price>tbody>tr:last-child td:nth-child(2) { display:none; }
.tbl_price>tbody>tr:last-child td:nth-child(3) { border-bottom:none; }*/


/* support 一人暮らしサポート ------------ */
#support::before { top:-10px; width:100%; background-size:80%;}

[class^="supBox-"] { margin-bottom:30px; }
[class^="supBox-"] .subTtl { padding:.3em 0 .4em; }
[class^="supBox-"] .txtBox { padding:15px; }
[class^="supBox-"] .txtBox .ttl_tri+p { margin:.5em auto 1em; }
[class^="supBox-"] .opList { margin:0 auto 30px; }
[class^="supBox-"] .opList>* { padding:10px; width:100%; margin-bottom:10px; }
[class^="supBox-"] .opList .ttl { margin:.5em auto; }
/*[class^="supBox-"] .opList figure { float:none; }*/

.catalog .opList li:last-child figure { min-height:200px; }

.telBox .tel { font-size:1.8em; }


/* guide 体験入館・見学のご案内 ------------ */
#guide::after { width:70px; background-size:70px; }
#guide .contactBox { padding:20px; }


/* --------------------------------
charm 学生会館の魅力
----------------------------------- */
[class^="charmBox-"] { padding-bottom:60px; }
.charmTtl { min-height:120px; text-align:center; margin-bottom:20px; }
.charmTtl h2 { width:100%; left:50%; font-size:1.6em; -webkit-transform:translate(-50%,-50%); transform:translate(-50%,-50%); }
.charmTtl h2 span { padding:0 1em; }
#charm .subTtl { font-size:1.4em; }

.pointList li { margin-bottom:15px; }
.pointList li>* { width:100%; }
.pointList li:nth-child(2n) figure { order:1; }
.pointList li figure { height:160px; }
.pointList li figure::before { display:none; }
.pointList li:nth-child(2n) figure::before { right:0; left:0; }
.pointList li .txtBox { position:relative; padding:15px; }
.pointList li:nth-child(2n) .txtBox { order:2; }
.pointList li .txtBox .point { position:absolute; top:-27px; left:0; }


.memoBox { padding:15px; margin-top:30px; }
.memoBox::before { right:-20px; top:-20px; width:60px; height:60px; background-size:60px; }
.memoBox ul.flex li,.charmBox-green .memoBox ul.flex li { width:48%; }
.orBox { padding:10px; }
.orBox .ttl { margin-bottom:.5em; padding-bottom:.5em;  }



/*食事について----------*/
.menuBox { padding:5px;
    justify-content:space-between; -webkit-justify-content:space-between;
    background-color:#ff7900;
    background-image:linear-gradient(-45deg, rgba(255, 255, 255, .2) 10%, transparent 10%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 60%, transparent 60%, transparent);
    background-size:7px 7px;
    background-attachment:fixed; }
.menuBox.dinner { background-color:#4366ff; }

.menuBox .menu_ttl { background:none; width:100%; height:50px; }

.menuBox .menu_ttl .inBox { position:initial; top:auto; left:auto; text-align:left ;transform:none; -webkit-transform:none; padding:10px 40px;
background-position:top 7px left; background-size:30px; }

.menuBox .menu_ttl .inBox h4 { display:inline-block; }
.menuBox .menu_ttl .inBox>p { margin:0 auto; display:inline-block; padding-left:.5em; }
.menuBox.dinner .menu_ttl .inBox { padding:10px 40px!important; }

.menuBox.dinner .menu_ttl { background-color:transparent; }

.menuBox .menu_img { width:49%; }
.menuBox .menu_img .flag { right:5px; padding:0; width:30px; height:30px; background-size:30px!important; }
.menuBox .menu_img .flag span { font-size:1em; }
.menuBox .menu_img .txt { padding:.5em; background:#fff; font-size:.75em; line-height:1.5; }



/* --------------------------------
search 物件検索結果
----------------------------------- */
.result_li > li { padding: 2.7em 1em 1em; gap: 0; }
/* .result_li > li::before { top: 0; right: 0; }
.result_li > li::after { bottom: 0; left: 0; } */
.result_li .img { position: static; width: 100%; order: 2;  }
.result_li .img .gender { right: 0; left: 0; border-radius: 18px 18px 0 0; }

.result_li .info { display: contents; width: 100%; }
.result_li .info > div { width: 100%; }
.result_li .info .feature { order: 4; }
.result_li .info .equip_li { order: 5; }
.result_li .info .btn_con { order: 6; width: 100%; }
.result_li .copy { margin-block: 0 1em; }
.result_li .btn_con { text-align: center; }
.equip_li li { padding: .2em .5em; }

/*安心・安全について----------*/
#safety .orBox .flex>* { width:100%; }
#safety .orBox .soudan { margin-top:10px; }
.soudan p { margin-bottom:0!important; }


/*館長・寮母ご夫妻にいつも気を付けていること----------*/
#owner .secTtl { font-size:1.5em; }
.ownerBox { padding-top:0; }
.comeBox h4 { text-align:left; }
.ownerBox figure { width:60%; margin:0 auto; background:#fff; border-radius:50%;}
.comeBox { position:relative; margin-top:20px; }
.comeBox>* { width:100%; padding:10px; margin:10px auto 0; }
.comeBox>div:not(:last-child) { border-bottom:1px dashed #c4b8a8; }


/*交流イベント----------*/
#event .lead { font-size:.9em; font-weight:normal; }
[class^="eventBox-"] { padding:15px; }
[class^="eventBox-"], .eventcal [class^="eventBox-"]:nth-child(2n) { margin-bottom:100px; }
.eventBox-apr .deco-01 { right:0; bottom:-70px; width:38%;}
.eventBox-aug .deco-01 { right:auto; top:-85px; left:-50px; width:60%; }
.eventBox-aug .deco-02 { left:0; bottom:-80px; }
.eventBox-nov .deco-01 { right:-10px; width:18%; }
.eventBox-nov .deco-02 { top:auto; right:0; left:0; bottom:-80px; width:55%;}
.eventBox-dec .deco-01 { right:0; bottom:-15px; width:8%; }
.eventBox-dec .deco-02 { right:40px; left:auto; bottom:-80px; width:50%; }



/* --------------------------------
experience 見学のお申込み
----------------------------------- */
#experience .lead { margin-bottom: 30px; }

/* --------------------------------
application 入館のお申込み
----------------------------------- */
#application .formTab { margin-bottom:10px; }
#application .lead { margin-bottom: 20px; }
#application .lead dt { padding-right: 1em; font-size: 1.1em; }
#application .lead p { width: unset; margin: 1.5em auto; padding: 1em; border-bottom: none; background: #ffedd3;  }
#application .lead dt::after{ left: unset; right: 3px; }
#application .lead dt.open::after{ left: unset; right: -4px; }


/* --------------------------------
contact お問い合わせ
----------------------------------- */
.formTab { margin-bottom: 20px; }
.formTab li { width:49%; margin-bottom:2%; }
.req { margin-top:4px; margin-left:2em; }
.submit { margin-top:30px; }
.question.in-row { margin-top: 4px;}

/* contact お問い合わせ完了 ---------------- */
.thanks .info {  margin:30px auto 60px; }
.slash { font-size: 1.3em; line-height: 1.3; }
.slash::before, .slash::after { width: 45px; height: 3px; margin: 0px 13px; }
.dormy_labo img { border: 4px solid #ff7d19; }

/* --------------------------------
fee 料金シミュレーション
----------------------------------- */
#fee .compareBox { border:none; }
#fee #case .tbl,
#fee #details .tbl{ background:#fff; }
#fee #case .sp_tabwrap { padding:20px 10px 10px; }

#fee #case h2::before {
content:""; top:0; left:0; border-bottom:0.6em solid transparent; border-left:0.6em solid #ffa749; position:absolute;z-index:100;}
#fee #case h2::after {
content:""; bottom:0; right:0; border-top:0.6em solid transparent; border-right:0.6em solid #ffa749; position:absolute; z-index:100; }

.c-form { padding: 0; border: 0; }
.c-form > div > dt { padding:.5em 1em; background:#ffdfbe; }
.c-form > div > dd { padding:1em; }
.c-form > div:not(:last-child) > dt,
.c-form > div:not(:last-child) > dd { border-bottom: none; }
.c-form .require { top:8px; }

.box_cost { padding: 15px; }
.ttl_stripe2 { padding: 3px 1.5em; font-size: 1.4em; }
.price_txt { margin: 20px 0 0 ; }
.price_txt span { padding: 2px 18px 3px; }
.c-tbl > div dt { min-width: 6em; }
.c-tbl { margin-top: 15px; }
.modal_cont { width: calc(100% - 40px); }
.explanation { float: right; margin-top: 3px; }

.submit_next.result::before { top: 21px; }


/* --------------------------------
interview インタビュー
----------------------------------- */
#interview .anc_box{margin-bottom:2em;}
#interview .anc_box li{ width:47%;font-size:0.85em;}
#interview .anc_box span{ padding-left:0; font-size:1.3em; font-weight:bold;}
#interview #aizawa{ position:relative; background:url(../img/interview/main_aizawa.png) center top / 120% no-repeat ; }
#interview #fujinawa{ position:relative; background:url(../img/interview/main_fujinawa.png) center top / 120% no-repeat ; }
#interview .inTtl{ position:relative; font-weight:bold; font-size:1.3em; color:#fff; }
#interview .qlist dt{ font-size:1em; }
#interview .anc_box .anc_aizawa::after{ background:url(../img/interview/btn_ph_ai.png) right bottom / 53% no-repeat;right:-1.4em;}
#interview .anc_box .anc_fujinawa::after{ background:url(../img/interview/btn_ph_fuji.png) right bottom / 40% no-repeat ;right:1em;}


/* --------------------------------
parent 保護者の皆様へ
----------------------------------- */
#parent article>section { padding:60px 0; }

.pareTtl { margin-bottom:50px; min-height:180px; }
.pareTtl h2 {  width:85%; font-size:1.5em; line-height:1.5; }

#pare_lead .pareTtl {  background-position:top left 55%; }
#parent .lead_ttl { text-align:left; font-size:1.5em; }

#parent .lead_ttl+div.center { text-align:left; }
.pointList li .txtBox { padding:20px; }
#parent .pointList li .txtBox .point { font-size:1em; }
#parent .pointList li .txtBox .ttl { font-size:1.2em; }
#parent .pointList li .txtBox .point::after { border-bottom-width:27px; }

#nyukyo_support .secTtl { font-size:1.5em; }
#nyukyo_support .secTtl .small { font-size:.6em; }
#nyukyo_support p.txt { text-align:left; }

#choose .subTtl { text-align:left; font-size:1.2em;}
#choose .lead { text-align:left; }
#choose .img_logo { margin:20px auto 50px; }



/* --------------------------------
faq よくある質問
----------------------------------- */
  #faq [class^="pageNav-"] { width:49%; margin-bottom:5px; }
  #faq .pageNav { padding:30px 0; }
  #faq article>section:not(:last-child) {padding:50px 0 0;}
  #faq article { padding-bottom:50px;}

  .faqList dt { padding:1em 1em 1em 2.2em; font-size:1.15em; line-height:1.5; }
  .faqList dd { padding-left:2.5em; }
  .faqList dt::before,.faqList dd::before { top:17px; width:30px; height:30px; line-height:1.7;
    transform:none; font-size:1rem;}
  .faqList dd::before { top:0; }
  .faqList dt::after { right:0; }

  .faqList .row dd em { font-size:1.15em; }


/* --------------------------------
flow 入館までの流れ
----------------------------------- */
#flow article>section:not(:first-child) { padding:60px 0; }
#flow article>section:first-child { padding:0 0 60px; }

#flow #step #step01,
#flow #step #step02,
#flow #step #step03,
#flow #step #step04,
#flow #step #step06{ background-position:top 0 left; background-size:85px; }

#flow #step #step05,
#flow #step #step07,
#flow #step #step08{ background-position:top 0 left; background-size:85px; padding-top:2em; }

#flow #step #step05 { padding-top:0; }

#flow #step .stepBox { padding-left:0; margin:0 auto 30px!important; }
#flow #step .stepBox h3 { padding:0.5em 0 0.5em 5.5em; }
#flow #step .stepBox p.txt { width:95%; margin:0 auto; }
#flow #step .stepBox p.attention { margin-bottom:20px; }
#flow #step .stepBox span { float:none; display:inline-block; margin:0 auto 20px 1em!important; }

#flow #guide::after { display:none; }

#flow #paytime .inner div.flowWrap { width:100%; margin-bottom:2em; padding:10px 30px; }
#flow #paytime .inner div.flowWrap:not(:last-child):after {
    border-top:15px solid #45341d;
    border-right:10px solid transparent;
    border-left:10px solid transparent;
    border-bottom:0;
    bottom:-24px;
    right:50%;
}
/*#flow .telBox { padding-top:20px; }
#flow .telBox .tel { font-size:1.8em; }*/

/* --------------------------------
RA制度について
----------------------------------- */
#ra section{ padding: 50px 0; }
#ra .secTtl { font-size: 1.4em; }
.ra-list{ padding:1.5em 1em; }
.ra-list li{ width: 50%; }
.ra-list li:nth-child(n+3){margin-top:1em;}
.ra-list li .ttl{ font-size:.9em; }

#ra .memoBox{ padding:20px 15px; }

.mail_btn a{ width: 100%; padding:1.5em 2em 1.5em 3.7em; text-align: left; font-size: 1.2em; }
.mail_btn a::after{ right:1.5em; }


/* --------------------------------
FSS制度について
----------------------------------- */
#fss .pageTitle::before{ background-size: 180px; }
#fss article>section { padding: 60px 0; }
#fss .secTtl{ font-size: 1.8em; }
#fss .secTtl .en{ margin-top: .5em; }
#fss #lead .lead{ text-align: left; }

.terms_list li { width: 100%; margin-right: 0; }
.terms_list li:nth-child(n+2) { margin-top: 4%; }
#fss .tbl .row dt .small { display: block; width: 100%; }

.flow_list dd { padding: 25px; }


}


@media screen and (max-width:595px) {



}




@media screen and (max-width:320px) {
#about_lead .leat_ttl { font-size:1.7em; }
#difference .secTtl { font-size:1.6em; }

}



















