@charset "UTF-8";
h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,th,td,section,div {margin: 0;padding: 0;font-weight: 400;}
ul,ul li {list-style-type: none;}
input,textarea,select {font-size: 1rem;}
form,input,textarea {margin: 0;}
table {border-collapse: collapse;border-spacing: 0;}
caption,th {text-align: left;font-weight: normal;vertical-align: top;}
a {outline: none;}
img,a img {vertical-align: bottom;border: none;margin: 0;padding: 0;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal;}
/*clearfix*/
.clearfix::after {content: "";display: block;clear: both;height: 0;visibility: hidden;}
*html .clearfix {height: 1%}
.clearfix {display: block}
* {-moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box;}

*:hover {transition: 0.7s;}

html {scroll-behavior: smooth;}/*スムーススクロール*/

/*js-animation*/
.js-animation {opacity: 0;visibility: hidden;transform: translateY(100px);transition: all 1.5s;}
.js-animation.is-show {opacity: 1;visibility: visible;transform: translateY(0px);}

body {color: #222;margin: 0 auto;padding: 0;text-align: center;
font: 90%/180% "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Hiragino Kaku Gothic Pro", "Osaka", arial, Helvetica, sans-serif;
font-family: "Noto Sans JP", sans-serif;
font-family: "Kiwi Maru", serif;font-weight: 400;font-style: normal;/*丸ゴシック Kiwi Maru font-weight 300・400・500*/
-webkit-text-size-adjust: 100%;}

/*リンク*/
a:link {color: #31accb;text-decoration: underline;} a:visited {color: #31accb;text-decoration: underline;} a:hover,a:active {color: #222; text-decoration: none;}
/*PC*/
.w-pc {}
.w-sp {display: none !important;}
.anc {display: block;padding-top: 80px;margin-top: -80px;}
/*SP*/
@media print, screen and (max-width: 750px){
.w-pc {display: none !important;}
.w-sp {display: inline-block !important;}
.anc {display: block;padding-top: 70px;margin-top: -70px;}
}

/*ヘッダー*/
header {position: fixed;z-index: 999;width: 100%;height: 80px;background-color: #fff;box-shadow: 0px 5px 5px rgba(0,0,0,.05);text-align: left;}
header #header-in {width: 1300px;margin: 0 auto;}
header #logo-wrap {float: left;width: 9%;margin: 5px 0 0 2%;}
header #logo-wrap #logo {width: 100%;}
@media print, screen and (max-width: 1200px){
header #header-in {width: 1000px;}
header #logo-wrap {width: 12%;}
}
@media print, screen and (max-width: 750px){
header {height: 60px;min-width: 320px;}
header #header-in {width: auto;}
header #logo-wrap {width: 13%;margin: 3px 0 0 15px;}
header #logo-wrap #logo {width: 100%;}
}
@media print, screen and (max-width: 600px){
header #logo-wrap {width: 15%;}
}
@media print, screen and (max-width: 480px){
header #logo-wrap {width: 20%;}
}
@media print, screen and (max-width: 375px){
header #logo-wrap {width: 24%;}
}

#navi {width: 100%;}
#navi input {display: none;}/*チェックボックスを非表示*/

/* 上部メニュー */
#menu-wrap {float: right;margin: 23px 2% 0 0;}
#menu {margin: 0 auto;}
#menu li {position: relative;margin: 0 auto;padding: 0 4px;font-size: 1rem;line-height: 1;white-space: nowrap;text-align: center;}
#menu > li {float: left;}
#menu li a {display: inline-block;text-decoration: none;letter-spacing: 0.02rem;padding: .4rem .8rem .4rem .9rem;color: #fff;background-color: #ee5832;border-radius: 2rem;}
#menu li a > img {margin: 0 0 0 3px;vertical-align: text-top;width: auto;height: 25px;}
#menu li a:hover {opacity: 0.7;}
#menu li:last-child a {background-color: #0f3867;}
#menu > li .pd {display: none;}/* パソコンでは V を非表示 */
#menu-navibtn {display: none;cursor: pointer;cursor: hand;}
@media print, screen and (max-width: 1200px){
#menu-wrap {float: right;margin: 24px 1% 0 0;}
#menu li {padding: 0 2px;font-size: .9rem;}
#menu li a {padding: .5rem .6rem .4rem .7rem;}
#menu li a > img {margin: 0 0 0 2px;}
}

/* スマホ用 */
@media print, screen and (max-width: 750px){
#navi {background: transparent !important;height: auto;width: 100%;border-top: none;}
#menu-wrap {margin: 0px 0 0;width: 100%;}
#menu {float: none;opacity: 0;transition: 0s;width: 0;height: 0;display: none;}/* 基本非表示 */
#menu li {width: 100%;float: none;padding: 0;line-height: 1;font-size: .95rem;border-bottom: 1px solid #ddd;white-space: nowrap;background-color: rgba(255,255,255,.8);}
#menu li a > img {display: none;}

#menu li a, #menu li:last-child a {color: #333;padding: 1.1rem 0;width: 100%;background-color: transparent;}
#menu li a.v::after {font-family: FontAwesome;content: '\f107';margin-left: 8px;color: #555;}
#menu > li .pd {display: inline-block;}
#menu li:first-child {border-top: 1px solid #ddd;}
#menu li i {padding: 0 6px;}
#menu-navibtn:checked ~ #navi {overflow-y: scroll;overflow-x: hidden;height: 100%;}/* メニューを移動させないため */
/* ハンバーガーがクリックされた時のメニュー */
#menu-navibtn:checked ~ * #menu {opacity: 1;transition: .3s;width: 100%;height: 100vh;min-height: 100vh;display: block;}/* 表示 */
#menu-navibtn:checked ~ * #menu > li {max-height: inherit;overflow-y: visible;}
}

/* ドロップダウンメニュー 子メニュー */
#menu li ul {position: absolute;}
#menu > li > ul li {display: none;padding: 0px 10px 10px;background-color: #fff;border-left: 5px solid #ddd;border-right: 1px solid #ddd;border-bottom: none;}
#menu > li > ul li a {font-size: .8rem;}
#menu > li > ul li a::after {font-family: FontAwesome;content: '\f105';margin-left: 8px;}
#menu li ul li:first-child {border-top: 1px solid #ddd;}
#menu li ul li:last-child {border-bottom: 1px solid #ddd;}
#menu > li > ul {margin: 8px 0 0 -25px;width: auto;}/* ドロップダウンメニューの位置 */

/* ドロップダウンメニュー 子メニュー パソコン用 */
@media screen and (min-width: 751px){
/*#menu > li > ul li:hover {background: #eee;}*/
#menu > li:hover > ul > li {display: block;}
}

/* ドロップダウンメニュー 子メニュー スマホ用 */
@media screen and (max-width: 750px){
/* ハンバーガーメニューがクリックされた時 */
#menu-navibtn:checked ~ * #menu {display: block;}
#menu-navibtn:checked ~ * #menu > li {max-height: inherit;overflow-y: visible;}

#menu {margin: 7px auto 50px;padding-bottom: 20px;width: 100%;background-color: rgba(255,255,255,.9);}
#menu > li ul {line-height: 20px;}
#menu > li > label:hover {cursor: pointer;cursor: hand;}
#menu li ul {position: static;}
/* ドロップダウンメニュー 子メニュー（スマホ）*/
#menu > li > ul {margin-left: initial;position: relative;}
#menu li ul li:first-child {border: none;}
#menu ul li:last-child {border-bottom: none;}
#menu > li > ul li {border-left: 1px solid #fff;border-right: 1px solid #fff;/*display: block;スマホ時 子メニュー表示*/
width: 100%;margin: 0 auto;padding: 0;}
#menu > li > ul li a {display: inline-block;width: 100%;padding: .7rem 0;}
#menu li ul li ul {top: inherit;left: 0;}
#menu li ul li:last-child {border-bottom: none;}
/* 子メニューがクリックされた時 */
#menu input[type="checkbox"]:checked ~ label ~ ul > li {max-height: inherit;overflow-y: visible;display: block;}
}

/* ハンバーガー */
#navi #navibtn {display: none;}
@media print, screen and (max-width: 750px){
#navi #navibtn {display: block;position: absolute;top: 10px;right: 20px;}
#navibtn span {display: block;width: 50px;height: 40px;background-color: transparent;}
#navibtn span span {display: block;overflow: hidden;width: 1px;height: 1px;}
#navibtn span span::before, #navibtn span span::after, #navibtn span::after {
position: absolute;left: 10px;content:"";width: 40px;height: 3px;background-color: #31accb;}
/* 上の棒 */
#navibtn span span::before {top: 10px;}
#menu-navibtn:checked ~ #navi label#navibtn span span::before {top: 19px;transform: rotate(-45deg);-webkit-transform: rotate(-45deg);transition: .2s;}
/* 下の棒 */
#navibtn span::after {bottom: 11px;}
#menu-navibtn:checked ~ #navi label#navibtn > span::after {bottom: 18px;transform: rotate(-135deg);-webkit-transform: rotate(-135deg);transition: .2s;}
/* 中の棒 */
#navibtn span span::after {top: 18px;}
#menu-navibtn:checked ~ #navi label#navibtn span span::after {display: none;}
}

/*囲み*/
main {width: 100%;margin-top: 80px;padding: 0;display: inline-block;text-align: left;}
section {width: 100%;}
section.sc-2nd {padding: 50px 0;background-color: #f3f3f3;}
.cont {width: 90%;max-width: 930px;margin: 0 auto 70px;padding: 30px 50px 60px;background-color: #fff;border-radius: 4px;box-shadow: 2px 2px 6px rgba(0,0,0,.05);}
.cont.cont-edu {margin-bottom: 0px;}
.cont.cont-shadow {box-shadow: none;margin-bottom: 0;}
.cont.cont-btm {margin-bottom: 40px;padding: 0px 45px;box-shadow: none;}
.box-btm {display: block;width: 100%;margin: 60px auto 0;padding: 30px 15px 25px;background-color: #eaf7fa;border-radius: 15px;}
@media print, screen and (max-width: 750px){
main {margin-top: 60px;min-width: 320px;}
section.sc-2nd {padding: 20px 0;}
.cont {width: 94%;margin: 0 auto 35px;padding: 0px 10px 25px;}
.cont.cont-btm {padding: 0px 0px;}
.box-btm {width: 94%;margin: 30px auto 0;}
}

/*メインビジュアル*/
.main-vw {position: relative;}
.main-vt {position: absolute;left: 10%;top: 150px;font-size: 95px;line-height: 1.15;font-weight: 500;color: #111;z-index: 2;
text-shadow:1px 1px 15px #fff,-1px 1px 15px #fff,1px -1px 15px #fff,-1px -1px 15px #fff,
0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff,0 0 10px #fff;}
.main-vp {position: absolute;left: 10%;top: 400px;font-size: 40px;line-height: 1.25;font-weight: 500;color: #111;z-index: 2;letter-spacing: 0rem;
text-shadow:0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;}
.main-vi {margin: 0 auto;padding-top: 10px;width: 100%;z-index: 1;}
@media print, screen and (max-width: 1280px){
.main-vt {top: 120px;font-size: 75px;}
.main-vp {top: 310px;font-size: 32px;}
}
@media print, screen and (max-width: 1080px){
.main-vt {top: 110px;font-size: 68px;}
.main-vp {top: 280px;font-size: 28px;}
}
@media print, screen and (max-width: 900px){
.main-vt {top: 90px;font-size: 58px;}
.main-vp {top: 240px;font-size: 23px;}
}
@media print, screen and (max-width: 750px){
.main-vt {left: 7%;top: 40px;font-size: 74px;}
.main-vp {left: 7.5%;top: 230px;font-size: 30px;}
.main-vi {padding-top: 0px;}
}
@media print, screen and (max-width: 700px){
.main-vt {top: 36px;font-size: 60px;}
.main-vp {top: 200px;font-size: 25px;}
}
@media print, screen and (max-width: 640px){
.main-vt {top: 32px;font-size: 55px;}
.main-vp {top: 170px;font-size: 22px;}
}
@media print, screen and (max-width: 480px){
.main-vt {top: 25px;font-size: 45px;}
.main-vp {top: 140px;font-size: 18px;}
}
@media print, screen and (max-width: 390px){
.main-vt {top: 20px;font-size: 39px;}
.main-vp {top: 120px;font-size: 16px;}
}
@media print, screen and (max-width: 360px){
.main-vt {top: 20px;font-size: 36px;}
.main-vp {top: 108px;font-size: 14px;}
}
@media print, screen and (max-width: 321px){
.main-vt {top: 20px;font-size: 32px;}
.main-vp {top: 100px;font-size: 13px;}
}

/*仕切り線*/
.hr-line {border: none;width: 98%;margin: 10px auto 0;padding: 0 0 3px;
background-image : linear-gradient(to right, #31accb, #31accb 2px, transparent 2px, transparent 8px);background-size: 10px 2px;background-position: left bottom;background-repeat: repeat-x;}
@media print, screen and (max-width: 750px){
.hr-line {width: 90%;}
}

/*フレックスボックス*/
.flexbox {display: flex;flex-flow: row wrap;flex-wrap: wrap;
display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;}
.flexbox.flexbox-ct {align-items: center;}
.flexbox.flexbox-ed {align-items: end;}
.box1a {-webkit-box-ordinal-group:1;-ms-flex-order:1;-webkit-order:1;order:1;}
.box2a {-webkit-box-ordinal-group:2;-ms-flex-order:2;-webkit-order:2;order:2;}
.box1b {-webkit-box-ordinal-group:1;-ms-flex-order:1;-webkit-order:1;order:1;}
.box2b {-webkit-box-ordinal-group:2;-ms-flex-order:2;-webkit-order:2;order:2;}
@media print, screen and (max-width: 750px){
.box1a {-webkit-box-ordinal-group:1;-ms-flex-order:1;-webkit-order:1;order:1;}
.box2a {-webkit-box-ordinal-group:2;-ms-flex-order:2;-webkit-order:2;order:2;}
.box1b {-webkit-box-ordinal-group:2;-ms-flex-order:2;-webkit-order:2;order:2;}
.box2b {-webkit-box-ordinal-group:1;-ms-flex-order:1;-webkit-order:1;order:1;}
}
.fw00 {width:100%;}
.fw10 {width: 10%;}
.fw20 {width: 20%;}
.fw30 {width: 30%;}
.fw32 {width: 32%;}
.fw33 {width: 33.333%;}
.fw35 {width: 35%;}
.fw40 {width: 40%;}
.fw45 {width: 45%;}
.fw50 {width: 50%;}
.fw55 {width: 55%;}
.fw60 {width: 60%;}
.fw66 {width: 66.666%;}
.fw65 {width: 65%;}
.fw70 {width: 70%;}
.fw80 {width: 80%;}
.fw90 {width: 87%;}
@media print, screen and (max-width: 750px){
.fw00, .fw10, .fw20, .fw30, .fw33, .fw35, .fw40, .fw45, .fw50, .fw55, .fw60, .fw66, .fw65, .fw70, .fw80, .fw90 {width: 100%;}
.fw10-w {width: 10%;}
.fw20-w {width: 20%;}
.fw30-w {width: 30%;}
.fw40-w {width: 40%;}
.fw45-w {width: 45%;}
.fw50-w {width: 50%;}
.fw55-w {width: 55%;}
.fw60-w {width: 60%;}
.fw70-w {width: 70%;}
.fw80-w {width: 80%;}
.fw90-w {width: 87%;}
}

/*メインビジュアル*/
.main-visual {width: 100%;margin: 0 auto;padding-top: 10px;display: block;}
.main-visual.main-visual-company-top {padding-top: 0px;}
.main-visual.main-visual-company-btm {margin-bottom: 50px;}
@media print, screen and (max-width: 750px){
.main-visual {padding-top: 5px;}
.main-visual.main-visual-company-btm {margin-bottom: 15px;}
}

/*見出し*/
h2 {position: relative;font-size: 48px;line-height: 1.2;letter-spacing: .1rem;width: 90%;margin: 25px auto 0;color: #1e4478;}
h2 span {padding: 0 0 10px 80px;display: block;font-weight: 500;}
h2 span::before {position: absolute;top: -10px;left: 0px;content: '';display: inline-block;width: 72px;height: 79px;background-size: contain;background-repeat: no-repeat;}
h2.ico-human span::before {background-image: url(../img/ico/ico-human.png);}
h2.ico-foreigner span::before {background-image: url(../img/ico/ico-foreigner.png);}
h2.ico-education span::before {background-image: url(../img/ico/ico-education.png);}
h2.ico-recruit span::before {background-image: url(../img/ico/ico-recruit.png);}
h3 {font-size: 2.5rem;line-height: 1.2;letter-spacing: .1rem;margin: 0 auto 50px;text-align: center;color: #31accb;font-weight: 500;}
h3 > strong {width: 100%;margin: 0 auto;padding: 0 30px;background-size: 15px;background-image: url(../img/service/service-t-l.svg),url(../img/service/service-t-r.svg);
background-repeat: no-repeat,no-repeat;background-position: left 0px top 60%,right 0px top 60%;font-weight: 400;}
h3 span.hearing-t {font-size: 1.6rem;letter-spacing: .01rem;margin: 0 auto;padding: 5px 20px;border-radius: 5px;color: #31accb;background-color: #fff;font-weight: 500;}
h3.intro-t {font-size: 1.5rem;letter-spacing: .2rem;margin: 0 auto;padding: 0 10px 15px;color: #333;width: 90%;}
h3.intro-t span {padding: 0 30px 10px 90px;background-size: 43px;background-repeat: no-repeat;font-weight: 500;}
h3.intro-t.ico-foreigner1 span {background-image: url(../img/ico/ico-foreigner1.png);}
h3.intro-t.ico-foreigner2 span {background-image: url(../img/ico/ico-foreigner2.png);}
h3.intro-t.ico-foreigner1 span, h3.intro-t.ico-foreigner2 span {background-position: left 35px top -2px;}
h4 {font-size: 1.25rem;line-height: 1.5;letter-spacing: -0.01rem;width: 90%;margin: 5px auto;color: #333;padding: 20px 5px 0;border-top: solid 1px #1e4478;}
h4.service-t {font-size: 1.7rem;width: 80%;margin: 15px auto 0;border-top: none;}
h4.recruit-t {font-size: 1.2rem;border-bottom: solid 2px #31accb;border-top: none;margin: 0 auto 30px;padding-bottom: 10px;}
h5 {margin: 0 auto 35px;text-align: center;}
h5 span {font-size: 1.4rem;line-height: 1.1;letter-spacing: .1rem;margin: 0 auto;padding: .4rem 2rem .5rem;color: #fff;background-color: #31accb;border-radius: 2.1rem;font-weight: 500;}
h5.company-t span {font-size: 1.1rem;padding: .5rem 2rem .6rem;border-radius: 2rem;display: block;width: 16rem;}
h5.training-t1, h5.training-t2 {margin: 10px auto 5px;}
h5.training-t1 {padding-left: 15%;}
h5.training-t2 {padding-right: 15%;}
h5.training-t1::after {content: '';display: inline-block;background-size: contain;vertical-align: middle;margin-left: 20px;width: 109px;height: 103px;background-image: url(../img/edu/edu-map1.png);}
h5.training-t2::before {content: '';display: inline-block;background-size: contain;vertical-align: middle;margin-right: 20px;width: 123px;height: 103px;background-image: url(../img/edu/edu-map2.png);}
.training-t2-img {width: 43%;float: left;margin: 0 20px 70px 0;}
h5.school-t {width: 90%;max-width: 100%;font-size: 1.1rem;line-height: 1.1;letter-spacing: .01rem;margin: 0 0 5px;padding: 0 0 10px;text-align: left;color: #333;background-color: transparent;border-radius: 0;
border-bottom: solid 2px #31accb;font-weight: 500;}
h6 {width: 100%;font-size: .85rem;line-height: 1.6;letter-spacing: .01rem;font-weight: normal;margin: 0 auto 30px;text-align: center;color: #333;}
h6 span {font-size: 1.3rem;background: linear-gradient(transparent 65%, #e0f3f7 50%);padding: 0px 7px 2px;}
@media print, screen and (max-width: 750px){
h2 {font-size: 1.5rem;}
h2 span {padding: 0 0 10px 50px;}
h2 span::before {top: -8px;width: 40px;height: 43.8889px;}
h3 {font-size: 1.4rem;margin: 10px auto 30px;}
h3 span.hearing-t {font-size: 1.05rem;padding: 7px 15px;}
h3.intro-t {width: 100%;margin: 0 auto;padding: 0;font-size: 1.1rem;letter-spacing: -0.1px;line-height: 1.3;}
h3.intro-t span {padding: 0 5px 7px 37px;background-size: 27px;}
h3.intro-t.ico-foreigner1 span, h3.intro-t.ico-foreigner2 span {background-position: left 2px top 0px;}
h4 {font-size: .95rem;padding: 12px 3px 0;}
h4.service-t {font-size: 1.3rem;width: 90%;}
h4.recruit-t {padding: 12px 3px 8px;line-height: 1.3;}
h5 span {font-size: 1.1rem;}
h5.training-t1 {padding-left: 0%;margin-top: 40px;}
h5.training-t2 {padding-right: 0%;margin-top: 40px;}
h5.training-t1::after, h5.training-t2::before {margin: 20px auto 0;}
h5.training-t2::before {width: 0px;height: 0px;background-image: none;}
h5.training-t2::after {content: '';display: inline-block;background-size: contain;vertical-align: middle;margin-top: 10px;width: 123px;height: 103px;background-image: url(../img/edu/edu-map2.png);}
.training-t2-img {width: 96%;float: none;margin: 0 auto 20px;display: block;}
h5.school-t {margin: 0 auto;}
h6 {width: 96%;margin: 15px auto 25px;}
h6 span {font-size: 1.1rem;}
}

p {font-weight: 300;}
p.service-p {width: 78%;margin: 10px auto 25px;font-size: 1rem;line-height: 1.4;}
p.hearing-p {width: 86%;margin: -20px auto 20px;font-size: 1.25rem;line-height: 1.5;}
p.intro-p {width: 85%;margin: 0 auto 20px;padding-top: 15px;font-size: 1.2rem;line-height: 1.7;letter-spacing: -0.02rem;border-top: solid 4px #31accb;}
p.edu-p {width: 76%;margin: 0 auto;font-size: 1.05rem;line-height: 1.7;}
p.school-p {width: 100%;margin: 0 auto;padding: 0;font-size: .95rem;line-height: 1.6;}
@media print, screen and (max-width: 750px){
p.service-p, p.hearing-p, p.intro-p, p.edu-p, p.school-p {width: 89%;margin: 10px auto 20px;font-size: .95rem;line-height: 1.7;}
p.intro-p {width: 94%;font-size: .9rem;text-align: justify;text-justify: inter-ideograph;}
p.edu-p {width: 85%;}
p.school-p > a {text-decoration: none;}
}

/*ふりがな*/
.rt {font-size: .7rem;letter-spacing: 0rem;font-weight: 100;
font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, 游ゴシック体, "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;}
.ruby {ruby-position: above;ruby-align: inherit;ruby-overhang: auto;}
@media print, screen and (max-width: 750px){
.rt {font-size: .5rem;}
}

/*採用までの流れ*/
.flow-lst {width: 98%;margin: 0 auto;display: flex;flex-flow: row wrap;}
.flow-lst > li {width: calc(20% - 24px);margin: 0 auto 5px;font-size: .9rem;line-height: 1.4;position: relative;}
.flow-lst > li > img {width: 100%;margin: 0 auto 5px;}
.flow-lst > li::after {font-family: FontAwesome;content: '\f0da';font-size: 35px;position: absolute;top: 20%;right: -20px;color: #98d5e5;}
.flow-lst > li:last-child::after {content: none;}
@media print, screen and (max-width: 750px){
.flow-lst > li {width: calc(96% - 0px);margin: 0 auto 30px;font-size: .95rem;text-align: center;}
.flow-lst > li > img {width: 60%;margin: 0 auto 5px;display: block;}
.flow-lst > li::after {content: none;}
.flow-lst > li::before {font-family: FontAwesome;content: '\f0d7';font-size: 40px;position: absolute;top: -43px;left: 45%;color: #98d5e5;}
.flow-lst > li:first-child::before {content: none;}
.flow-lst > li:last-child {margin: 0 auto 10px;}
}

/*教育・研修*/
.edu-tbl {width: 75%;margin: 0 auto 30px;}
.edu-tbl tr th {width: 45%;}
.edu-tbl tr td {width: 55%;}
@media print, screen and (max-width: 750px){
.edu-tbl {width: 96%;margin: 0 auto 0px;}
.edu-tbl tr th, .edu-tbl tr td {width: 100%;display: block;}
}

/*イラスト*/
.illust {width: 100%;margin: 0 auto;}
.illust.ill01 {width: 75%;margin: 0 0 0 25px;}
.illust.ill02 {width: 90%;margin: 15px 0 0 20px;}
.illust.ill03 {width: 90%;margin: 0 0 20px 10px;}
.illust.ill04 {width: 26%;margin: 0 0 70px 15px;float: right;}
.illust.ill05 {width: 100%;margin: 10px auto 0;}
@media print, screen and (max-width: 750px){
.illust {display: block;}
.illust.ill01, .illust.ill02, .illust.ill03, .illust.ill04, .illust.ill05 {width: 70%;margin: 10px auto;float: none;}
.illust.ill04 {width: 96%;margin: 10px auto 20px;}
}

/*ボタン*/
a.btn-a {text-decoration: none;display: block;width: 60%;margin: 0 auto 10px;padding: 15px 0 0;color: #fff;background-color: #ee5832;border-radius: 15px;font-size: 1.2rem;line-height: 1.3;text-align: center;box-shadow: 5px 6px 1px rgba(128,128,128,.3);}
a.btn-a.btn-a-w {width: 30%;}
a.btn-a:hover {box-shadow: none;opacity: .8;}
a.btn-a > span {display: block;width: 100%;margin: 14px auto 0;padding: 0 0 2px;background-color: #f1795b;border-radius: 0 0 15px 15px;font-size: 1.8rem;line-height: 1;font-weight: 500;}
@media print, screen and (max-width: 750px){
a.btn-a, a.btn-a.btn-a-w {width: 75%;font-size: 1rem;padding: 10px 0 0;}
a.btn-a > span {margin: 10px auto 0;}
}

/*会社概要*/
.mv-t {position: relative;margin: 0 auto;width: 100%;}
.mv-t > img {width: 100%;z-index: 1;}
.mv-t .t2 {position: absolute;left: 50%;top: 55%;transform: translate(-50%, -50%);z-index: 2;
font-size: 55px;line-height: 1.9;letter-spacing: 0.3rem;text-align: center;margin: 0 auto;padding: 0;color: #fff;text-shadow: 3px 3px 8px rgba(0,0,0, 0.9);font-weight: 500;}
.mv-t .t2 > img {width: 110px;margin: 0 auto;}
@media print, screen and (max-width: 1200px){
.mv-t .t2 {font-size: 45px;}
.mv-t .t2 > img {width: 85px;}
}
@media print, screen and (max-width: 750px){
.mv-t .t2 {left: 48%;}
.mv-t .t2 > img {width: 75px;margin-right: 8px;}
}
@media print, screen and (max-width: 640px){
.mv-t .t2 {font-size: 35px;}
.mv-t .t2 > img {width: 60px;}
}
@media print, screen and (max-width: 480px){
.mv-t .t2 {font-size: 26px;letter-spacing: 0.1rem;text-shadow: 2px 2px 5px rgba(0,0,0, 0.9);}
.mv-t .t2 > img {width: 45px;}
}

.comp-dl {width: 90%;max-width: 550px;margin: 0 auto 50px;}
.comp-dl dt, .comp-dl dd {font-size: 1.05rem;line-height: 1.5;padding: .8rem .5rem;}
.comp-dl dt {width: 7rem;text-align-last: justify;}
.comp-dl dd {margin: -3.2rem 0 0 7rem;padding-left: 1.2rem;border-bottom: 1px solid #ccc;}
@media print, screen and (max-width: 750px){
.comp-dl {width: 88%;}
.comp-dl dt, .comp-dl dd {width: 100%;display: block;font-size: 1rem;margin: 0 auto;padding: 0;}
.comp-dl dt {text-align-last: inherit;padding: .7rem 0 .3rem;border-bottom: dotted 1px #ccc;}
.comp-dl dd {padding: .3rem 0 .7rem;}
}

/*Googleマップ*/
.gmap-wrap {width: 100%;margin: 0 auto;max-width: 640px;height: auto;padding-bottom: 15px;}
.gmap {height: 0;overflow: hidden;padding-bottom: 56.25%;position: relative;}
.gmap iframe,.gmap object,.gmap embed {position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
a.gmap-txt {font-size: .9rem;text-align: right;width: 100%;margin: 5px auto;display: inline-block;color: #222;text-decoration: none;}
a.gmap-txt span::after {content: '';background-image: url(../img/ico/ico-map.png);display: inline-block;
width: 13px;height: 10px;margin-left: 3px;background-size: contain;background-repeat: no-repeat;}
a.gmap-txt:hover, a.gmap-txt:active {color: #222;text-decoration: underline;}
a.gmap-txt:visited {color: #222;text-decoration: none;}
@media print, screen and (max-width: 750px){
.gmap-wrap {width: 88%;margin: 0 auto 20px;}
}

/*事業内容*/
.biz-lst {width: 100%;margin: 0 auto 60px;max-width: 750px;padding-left: 9%;}
.biz-lst li {width: 100%;margin: 0 auto 9px;font-size: .95rem;line-height: 1.3;text-indent: -0.95rem;padding-left: 0.95rem;}
.biz-lst li::before {font-family: FontAwesome;content: '\f0c8';margin-right: 8px;font-size: .4rem;color: #31accb;vertical-align: super;}

/*沿革*/
.history-tbl {width: 100%;margin: 0 auto 10px;max-width: 720px;}
.history-tbl th, .history-tbl td {padding: 0px 10px 15px 15px;font-size: .95rem;line-height: 1.5;vertical-align: top;}
.history-tbl th {width: 9rem;padding: 0;background-image: url(../img/history/history-hr.png);
background-repeat: no-repeat;background-position: right 9px;background-size: 92px;}
.history-tbl th span {background-color: #d6eef5;padding: .3rem .9rem .4rem;border-radius: 1.65rem;line-height: 1;display: inline-block;}
.history-tbl th.rgt {text-align: right;}
.history-tbl th.rgt > span {margin-right: 2.4rem;}
.history-tbl th.rgt > span b {font-weight: normal;}
.history-tbl td {width: auto;}
@media print, screen and (max-width: 750px){
.biz-lst {width: 80%;padding-left: 0%;}
.history-tbl {width: 86%;}
.history-tbl th, .history-tbl td {width: 100%;display: block;}
.history-tbl th {background-image: none;}
.history-tbl th.rgt {text-align: left;}
.history-tbl th {padding: 0px 0px 3px;}
.history-tbl td {padding: 5px 15px 21px;}
}

/*採用情報*/
.rec-navi {display: flex;flex-flow: row wrap;width: 90%;margin: 0 auto 20px;}
.rec-navi li {width: calc(44% - 0px);margin: 0 3% 15px;}
.rec-navi li a {text-decoration: none;color: #fff;background-color: #ee5832;margin: 0 auto 5px;padding: .8rem .3rem .7rem;font-size: 1rem;line-height: 1;letter-spacing: 0.1rem;border-radius: 2.5rem;
width: 100%;display: inline-block;text-align: center;box-shadow: 4px 6px 1px rgba(128,128,128,.3);}
.rec-navi li a:hover {opacity: 0.8;box-shadow: none;}
.rec-navi li a span::before {content: '';display: inline-block;background-size: contain;vertical-align: middle;margin-right: 3px;transform: translatey(-1px);
width: 24px;height: 24px;background-image: url(../img/ico/ico-rec-navi.svg);background-repeat: no-repeat;}
@media print, screen and (max-width: 750px){
.rec-navi {width: 80%;margin: 0 auto 5px;}
.rec-navi li {width: calc(96% - 0px);margin: 0 2% 10px;}
}

/*お問い合わせ*/
.contact-wrap {width: 100%;padding: 0 15% 60px 0;background-image: url(../img/ico/men.svg);background-repeat: no-repeat;background-position: right 25px top 5px;background-size: 60px;}
h3.contact-t {width: 90%;margin: 0 auto 30px;font-size: 2rem;line-height: 1.2;letter-spacing: .1rem;text-align: center;color: #ee5832;font-weight: 500;
border-bottom: solid 3px #ee5832;padding: 0 0 10px;}
@media print, screen and (max-width: 750px){
.contact-wrap {padding: 0 0% 30px 0;background-size: 12%;background-position: right 10px top 60px;}
h3.contact-t {font-size: 1.8rem;}
}

a.contact-btn {width: 20rem;margin: 0 auto;padding: 1rem 1rem 1.2rem;font-size: 1.3rem;line-height: 1;letter-spacing: .01rem;border-radius: 3.3rem;
text-decoration: none;display: block;text-align: center;color: #fff;background-color: #31accb;box-shadow: 4px 6px 1px rgba(128,128,128,.3);}
a.contact-btn:hover {opacity: 0.7;box-shadow: none;}
a.contact-btn::after {content: '';display: inline-block;background-size: contain;vertical-align: baseline;margin-left: 5px;
width: 19px;height: 14px;background-image: url(../img/ico/ico-contact-btn.png);background-repeat: no-repeat;}
@media print, screen and (max-width: 750px){
a.contact-btn {width: 14.5rem;margin: 0 auto 30px;padding: 1rem 0 1.1rem;font-size: 1rem;letter-spacing: .02rem;border-radius: 3rem;}
}

.ft-navi {width: 90%;margin: 0 auto 20px;}
.ft-navi li {width: 100%;margin: 0 auto 8px;font-size: 1rem;line-height: 1.2;}
.ft-navi li::before {font-family: FontAwesome;content: '\f111';margin-right: 8px;font-size: 1rem;color: #ee5832;vertical-align: top;}
.ft-navi li > ul {width: 88%;margin: 0 auto;}
.ft-navi li > ul li {width: 100%;margin: 0 auto;font-size: .95rem;}
.ft-navi li > ul li::before {font-family: FontAwesome;content: '\f111';margin-right: 8px;font-size: .3rem;color: #0f3867;vertical-align: middle;}
.ft-navi li a, .ft-navi li ul li a {text-decoration: none;color: #0f3867;}
.ft-navi li a:hover, .ft-navi li ul li a:hover {text-decoration: underline;}
@media print, screen and (max-width: 750px){
.ft-navi {width: 80%;margin: 0 auto 0px;}
.ft-navi li {font-size: 1.1rem;}
.ft-navi li > ul {width: 80%;margin: 5px auto 12px;}
.ft-navi li > ul li {margin: 0 auto 7px;line-height: 1.2;}
.ft-navi li > ul li::before {vertical-align: super;}
}

/*フッター*/
footer {width: 100%;margin: 35px auto 0;padding: 20px 0 25px;text-align: center;background-color: #31accb;}
footer address {font-style: normal;font-size: 12px;letter-spacing: .06rem;margin: 0 auto;color: #fff;font-weight: 300;}
@media print, screen and (max-width: 750px){
footer {margin: 0 auto;padding: 7px 0 45px;}
footer address {font-size: .7rem;}
}

/*ページトップ*/
#page-top {position: fixed;bottom: 10px;right: 0px;z-index: 999;}
#page-top a {color: #fff;background-color: #31accb;border: solid 3px #fff;border-right: none;border-radius: 50% 0px 0px 50%;display: block;
text-decoration: none;font-size: 11px;letter-spacing: 0.02rem;padding: 5px 0px 3px 3px;width: 55px;opacity: 1;text-align: center;}
#page-top a:hover {opacity: 0.8;}
#page-top a::before {font-family: FontAwesome;content: "\f106";font-weight: normal;font-size: 50px;display: block;margin-bottom: -6px;}

/*フローティングバナー*/
.floating-banner {position: fixed;z-index: 999;bottom: 220px;right: 0px;width: 40px;height: auto;}
.floating-banner.ft-bnr1 {bottom: 220px;}
.ft-bnr-wrap {}
.ft-bnr-bg {width: 100%;height: auto;background-color: #fff007;border: solid 3px #fff;border-right: none;
border-radius: 25px 0px 0px 25px;box-shadow: -2px 2px 5px rgba(128,128,128,.1);position: absolute;top: 0;right: 0;}
.ft-bnr-bg.ft-bnr-bg-cl1 {background-color: #0f3867;}
.ft-bnr-bg > a {writing-mode: vertical-rl;font-size: 16px;line-height: 1.1;letter-spacing: 0.1rem;color: #fff;text-decoration: none;display: block;padding: 15px 5px 13px 10px;}
@media print, screen and (max-width: 750px){
.floating-banner {bottom: 0px;left: 0px;width: auto;height: auto;}
.floating-banner.ft-bnr1 {bottom: 38px;left: 5%;width: 35%;}
.ft-bnr-bg {width: auto;height: auto;border: solid 3px #fff;border-bottom: none;
border-radius: 10px 10px 0px 0px;box-shadow: 2px -2px 5px rgba(128,128,128,.1);left: 0;}
.ft-bnr-bg.ft-bnr-bg-cl1::before {top: -17px;left: -20px;width: 40px;}
.ft-bnr-bg > a {writing-mode: horizontal-tb;font-size: .9rem;line-height: 1;letter-spacing: 0.05rem;padding: 10px 1% 12px;}
}

/*セキュリティーポリシー*/
.policy-wrap {width: 90%;max-width: 930px;margin: 0 auto;padding: 60px 70px;background-color: #fff;border-radius: 4px;box-shadow: 2px 2px 6px rgba(0,0,0,.05);}
h4.policy-c {width: 100%;margin: 0 auto 30px;padding: 0;font-size: 1.1rem;border-top: none;}
ol.policy-l {width: 92%;margin: 0 auto 20px;padding: 0;}
ol.policy-l li {width: 100%;margin: 0 auto 10px;padding: 0;font-size: 1rem;line-height: 1.5;font-weight: 300;}
.policy-s {width: 92%;margin: 0 auto 10px;padding: 0;font-size: 1rem;line-height: 1.4;text-align: right;}
@media print, screen and (max-width: 750px){
.policy-wrap {padding: 30px 8%;}
h4.policy-c {font-size: .95rem;}
ol.policy-l li {font-size: .85rem;text-align: justify;text-justify: inter-ideograph;}
.policy-s {font-size: .85rem;}
}

/*END*/