html{-webkit-text-size-adjust:100%;}

/*for ios input reset*/
input{-webkit-appearance: none;}
/* pc sp control ====================================================== */
.forpc{display:none!important}
.forsp{display:block!important}

.pc { display: none !important; }
.sp { display: block !important; }

/* head common ====================================================== */
.headsp{}
.headsp a{display:block;width:200px;margin:0 auto;}
/* common ====================================================== */
article.fadein,
article.formbox{margin:100px 5%}
header{background:#e4e8ea url(../../images/mv.jpg) no-repeat bottom right; background-size:170vw;height:108vh;padding: 10vh 0 0 0;}
header a{display:block;width: 90vw;margin: 0 auto}

#cycle{margin: 1em auto;padding: 0; width: calc(100vw - 65px);}
#cycle a{width: 80vw;display: block; margin: 0 2vw;}
#cycle a img{width: 100%;}
.slick-track{width: 100vw;margin: 0; padding: 0;}

h1{font-size: 160%;margin-bottom: 10px; text-align: center;}
h2{font-size: 5.5vw;margin-bottom: 50px; text-align: center;}
p{font-size: 100%;margin-bottom:2em;}


#width100{background: url(../../images/b2bk.png) left center no-repeat,url(../../images/b2img.png) right top no-repeat;background-size: 40vw,100vw;padding: 50vh 5% 0;}
.b2l{width:100%;}


/*font-size*/
.caution,
.merit div.w2 div:last-child p,
#width100 p,
.w3 p{font-size:95%;line-height:140%;}

.career div{width: 100%;margin-top: 1em;border-top: thin solid #eee;padding: 2em 0;}
.career div:first-child{padding: 0;margin: 0;border: 0;}
.career div img{margin-bottom: 1em;}

.formbox{max-width: 960px!important;}

.error-text{border: double 4px red; padding: 1em;margin: 1em 0;}
.error-text ul li{list-style: circle; list-style-position: inside; color: red;}

table{width: 100%;}
table tbody{width: 100%;}
table tbody tr{text-align: left;border-bottom: #ccc 1px solid; padding-bottom: 1em;margin-bottom: 1em;display: block;}
table tbody tr th{display:block;width: 100%;padding-top: 0.4em;font-weight: normal;margin-bottom: 0.5em;}
table tbody tr td{display:block;width: 100%;}
table tbody tr td input[type="text"],
table tbody tr td select,
table tbody tr td textarea{width: 100%;background: #eee; border: 0;padding:0.2em; font-size: 102%;}
table tbody tr td textarea{height: 8em;}
.inputbut{text-align: center;}
.inputbut input,.inputbut a{width: 70%; border: 0;background:#e50e80; color: #fff;font-size: 130%; font-weight: bold;padding: 0.2em; margin: 2em auto 2em;}

.caution{background: #f2f2f2; text-align: center;line-height:180%;padding: 1em;}
.merit h3{font-size: 4.5vw;margin-bottom: 1em;text-decoration: underline; /* 下線 */text-decoration-thickness: 1em; /* 線の太さ */text-decoration-color: rgba(247, 228, 231, 0.4); /* 線の色 */text-underline-offset: -0.5em; /* 線の位置。テキストに重なるようにやや上部にする */text-decoration-skip-ink: none; /* 下線と文字列が重なる部分でも下線が省略されない（線が途切れない） */}

.anchr{padding: 50px 0 0 0; margin:-50px 0 0 0;display: block;height:0.001vh;}

/*voice*/
.line-bc {padding: 20px 10px;margin: 15px auto;text-align: right;}
.fukidashi {width: 100%;margin: 10px 0;overflow: hidden;}  
.fukidashi .faceicon {width: 130px;text-align: center;margin-bottom: 39px;}
.fukidashi .faceicon img{width: 100%;height: auto;border-radius: 50%;margin-bottom: 10px;}
.fukidashi .chatting {width: 100%;text-align: left;}
.says {display: inline-block;position: relative; padding: 15px;border-radius: 30px;background: #d6f2ee;line-height: 180%;z-index: 2;}
.says:after {content: "";display: inline-block;position: absolute;top: -39px; left: 11%;border: 5vw solid transparent;border-right: 38px solid #d6f2ee;-webkit-transform: rotate(90deg);transform: rotate(90deg);z-index: 0;}
.says p {margin: 0;padding: 0;z-index: 10;    position: relative;}
/* QA */
.qa {margin: 0px;}
.qa__block {  display: flex;  flex-direction: column;  min-width: 200px;}
.qa__item {display: inline-block;}
.qa__head {position: relative;text-align: left;padding: 20px 30px 20px 20px;background: #000;color: #fff;cursor: pointer;width: 100%;line-height: 140%;}
.qa__head:after {content: "";border-top: 1px solid #fff;border-left: 1px solid #fff;display: inline-block;width: 10px;height: 10px;transform: rotate(-135deg) translateY(9px);position: absolute;right: 20px;top: 50%;transition: transform .4s;}
.qa__body {position: relative;background: #fff;color: black;border: transparent;padding: 0 20px;line-height: 0;opacity: 0;transition: line-height 0.4s, padding 0.4s, opacity 0.4s;}
.qa__body.is-open {padding: 20px;line-height: 1.5;opacity: 1;}
.qa__head.is-open::after {transform: rotate(45deg) translateY(-10px);}
.qa__item:not(:first-child) {margin-top: 2px;}
.qa__head::before{content:"Q.";}
.qa__body{display: flex;}
.qa__body::before{content: "A.";}

footer{background: #f2f2f2; text-align:left;color: #222;padding: 0 5% 110px;}
footer h3{font-size: 130%;margin: 2em 0 1em;display: block;}
footer #box{max-width: 980px;margin: 0 auto;padding: 2em 0;}
footer a{color: #222;}
footer p{margin-bottom: 0.2em;}
a.flm{border: 1px solid #aaa;padding: 0.5em 1em;}
.telmail{border-top: 1px dotted #666;padding-top: 1em;margin-top: 1em;}
.access{border-top: 1px dotted #666;padding-top: 1em;margin-top: 1em;font-size: 90%;}

.ttlogo{ position: fixed; left:0px;top: 0px;z-index: 9999; width: 100vw;background: rgba(255,255,255,0.5);padding: 10px 3vw;}
.ttlogo img{display: block;width: 300px;}



/*ADD*/

.b4{background: #2d81b1;color: #fff;display: flex;}
.stripe {
  background: repeating-linear-gradient(-45deg, #f3fcff, #f3fcff 5px, #f8feff 5px, #f8feff 10px);
  padding: 50px 5%;
}
.grd {
  background-image: linear-gradient(90deg, #99293d, #2d81b1);
  color: #fff;
  text-align: center;
  padding: 50px 5%;
  margin-bottom: 50px;
}

.bkform{background-color:#faf8ef;padding: 50px 5%;}
.bkqanda{background-color:#e6ecf8;padding: 50px 5%;}

.bkform article,
.bkqanda article,
.grd article,
.stripe article{margin: 0 auto;padding: 0;}

.present a{    max-width: 650px;margin: 2em auto;display: block;}
.mini{font-size: 70%;line-height: 140%;}

.stripe{padding: 3em 10vw 1em; text-align: center;line-height: 1.5em;}
.b4{display: block!important;}
.b4 h1,.b4 h2{text-align: left;}

.b4 h1{font-size: 222%!important;}
.b4 h2{font-size: 112%!important;}

.b4r{width: 100%;margin:0 0 0 auto;}
.b4 img{width: 100%;display: block;}
.b4l{padding: 50px 10vw 50px 10vw;}

#merit{}
#merit h2{margin-bottom: 20px!important;font-size: 100%;
  background:#76afcc;
  display: block;
  padding: 0.5em;
  color: #fff;
}
#merit h3{display: block;width: 100%;margin-bottom: 5px;}
#merit div{display: flex;flex-wrap: wrap; align-items: center;}
#merit div div{width:100%;line-height: 130%;}
#merit div div:last-of-type{width: 100%;padding: 2em 5% 0;}

.scb{}
.scb h3{text-align: center;font-size: 3vw;margin-bottom: 1em;}
.sceen{}
.sceen div{width: 90%;margin: 0 5% 2em; text-align: center;color: #fff;background: #99293d;font-size: 130%;padding: 1em 0; border-radius: 15px;font-weight: bold;}


table.pri{    width: 100%;display: block;border-right: #000 1px solid;}
table.pri tbody{    width: 100%;display: block;}
table.pri tbody tr{font-size: 98%;margin: 0;padding: 0;border-bottom: #000 1px solid;display: flex;}
table.pri tbody tr th{width: 20%;text-align: center; font-weight: normal;background: #e4e4e4;padding: 1em 0;vertical-align: middle;margin: 0;}
table.pri tbody tr td{width: 23%;text-align: center;border-left: #000 1px solid;padding: 1em 0;vertical-align: middle;margin: 0;line-height: 1.5;}
table.pri tbody tr small{font-size: 10px;}

table.pri tbody tr:nth-of-type(1) th{background: #fff;}
table.pri tbody tr:nth-of-type(1) td:nth-of-type(1){background: #d6a0a0;color: #fff;}
table.pri tbody tr td:nth-of-type(1){background: #fcf7f7;}


.texla{margin: 2em 0!important; line-height: 180%;font-size: 95%;}

.present div{background: url(../../images/book.png) no-repeat top center; background-size: 90%;}
.present a{width: 100%;margin: 1em auto 3em;}

.present p.liner{    width: 52%;
  margin: 0 auto;
  line-height: 140%;}




/* 20250626追加 */

.gkan1{line-height: 1.6em;font-size: 80%;margin-top: 20px;}
.h1txt{margin-top:40px;line-height: 1.0em;font-size: 180%;}
.h2txt{margin: 20px 0 30px 0;font-size: 120%;}
.ptxt1{font-size: 80%;line-height: 150%;}
.h200{line-height: 1.6em;margin-bottom: 20px;}
.ptxt00{line-height: 1.6em;margin-bottom: 20px;}

#merit .h2md{padding: 20px;font-size: 160%;line-height: 1.4em;}
#merit .h3txt1{margin-top:0px;font-size: 120%;line-height: 1.6em;}
#merit .ptxt2{margin-top:0px;font-size: 100%;line-height: 1.5em;margin-bottom: 20px;}

.h3reason{font-size: 120%;}
.sceen .reason1{line-height: 1.6em;font-size: 120%;margin: 10px;}

.txtpre{margin: 30px 0;font-size: 110%;line-height: 160%;}
.imgpre{width:206px;margin: 0 auto;}
.txtpre1{text-align: left;margin: 30px 0;font-size: 90%;line-height: 160%;}

.fmtxt{line-height: 1.6em;}

.pleft{text-align: left;font-size: 80%;}

#box h3,p{font-size: 80%;}
.flm{font-size:80%;padding: 6px;}





/*
#fixb{position: fixed;width: 50vw;right: 0; bottom: 0;}
#fixb a{width: 25vw;float: right;}
#fixb a:last-of-type{width: 25vw!important;}
*/

.kbnr{width:100%;text-align: center;
   position: fixed;
   bottom: 0px;
   z-index: 9999;
}
.kbnrimg{ width:96%; /*画像の全体幅*/
  display: inline-block;
  margin: 0;
}

    .pc { display: none !important; }
    .sp { display: block !important; }

/* Effect ==================================================== */
@keyframes blinking {
  0%   { opacity: 0; }
  100% { opacity: 1; }
}
.blink {
  animation: blinking 1s ease-in-out infinite alternate;
}
.info{
  margin: 10px auto 20px;
  padding: 1rem;
  width: 85%;
  background-color: #fff;
  border: 3px solid #2a768d;
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.4em;
}