@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru:wght@500&family=Noto+Sans+JP:wght@400;700&display=swap');

#page-top {position: fixed;bottom: 40px;right: 40px;width: 60px; z-index:400;}
@media screen and (max-width: 896px) {
	#page-top {position: fixed;bottom: 5px;right: 5px;width: 30px; z-index:400;}
}

a:hover {transition: .5s all;}

.kiwi {font-family: 'Kiwi Maru', serif; font-weight: 500!important;}

.bgWH {background-color: #FFF;}
.bgBL {background-color: #0C53AE;}
.bgGR {background-color: #1AB750;}
.bgLGR {background-color: #EDF8F4;}
.bgGRY {background-color: #EEEEEE;}
.txtWH {color: #FFF;}
.txtBL {color: #0C53AE;}
.txtGR {color: #1AB750;}

.clone-nav {position: fixed;top: 0;left: 0;z-index: 2; width: 100%; transition: .3s; transform: translateY(-100%);}
.is-show {transform: translateY(0);}
.clone-nav {text-align: center; width: 100%; background: #FFF;}

.ratioBox {position: relative;width: 100%;height: auto;}
.ratio1-1:before {content: "";display: block;padding-top: 100%; /* 1:1 */}
.ratio2-1:before {content: "";display: block;padding-top: 50%; /* 2:1 */}
.ratio3-2:before {content: "";display: block;padding-top: 66%; /* 3:2 */}
.ratio4-3:before {content: "";display: block;padding-top: 75%; /* 4:3 */}
.ratioInner {position: absolute;top: 0; left: 0;width: 100%;height: 100%;}

header {position: relative; border-top: 5px solid #0C53AE; padding: 0 40px;}
header h1 {display: inline-block; padding: 5px 20px; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; margin-top: -5px;}
.logo {width: 250px;}
.logo a {color: #222;}
#headBtn {width: 250px;}
#headBtn .contact a {line-height: 50px; font-size: 18px; font-weight: 700; text-align: center; background: #1AB750; color: #FFF; display: block; width: 100%; border-radius: 28px; border: 2px solid #1AB750;}
#headBtn .contact a::before {content: ""; display: inline-block; width: 24px; height: 33px; background: url("../img/cmn/mail_wh.svg") no-repeat; background-size: contain; margin-right: 8px;}
#headBtn .contact a:hover {color: #1AB750; background: #FFF;}
#headBtn .contact a:hover::before {content: ""; display: inline-block; width: 24px; height: 33px; background: url("../img/cmn/mail_gr.svg") no-repeat; background-size: contain; margin-right: 8px;}
#hanburger {display: none;}
.global_menu {margin-right: 20px;}
.global_menu ul {letter-spacing: -.4em;}
.menu_button,span.span1,span.span2,span.span3 {display: none;}
.menu {display: inline-block; position: relative; letter-spacing: normal; background: url("../img/cmn/bg_nav.svg") no-repeat center top 5px;}
.menu::after {content: ''; width: 30px; height: 3px; display: inline-block; background-color: #1AB750; position: absolute; bottom: 0; left: calc(50% - 15px); border-radius: 1.5px;}
.menu {text-align: center; margin: 0 5px;}
.menu > a {color: #222222; display: block; padding: 11px 15px 19px; text-align: center; font-size: 18px; font-weight: 700;}
.menu:hover {background: url("../img/cmn/bg_nav2.svg") no-repeat center top 5px #FFD0E7; border-radius: 5px; transition: .5s all;}
.menu:hover::after {content: ''; width: 50px; height: 3px; display: inline-block; background-color: #1AB750; position: absolute; bottom: 0; left: calc(50% - 25px); border-radius: 1.5px; transition: .5s all;}
@media screen and (max-width: 1180px) {
  header {padding: 0 30px;}
  .menu {margin: 0;}
  .menu > a {padding: 11px 10px 19px;}
}
@media screen and (max-width: 1080px) {
  #headBtn {width: 200px;}
  .logo {width: 200px;}
}
@media screen and (max-width: 980px) {
  header {padding: 0 15px;}
  .logo {width: 180px;}
  #headBtn {width: 180px;}
  #headBtn .contact a {line-height: 40px; font-size: 16px;}
  .menu > a {font-size: 16px;}
}
@media screen and (max-width: 896px) {
  #hanburger,.menu_button,span.span1,span.span2,span.span3 {display: block;}
  #headBtn {display: none;}
  .global_menu a {display: block; padding: 10px 30px;}
  .menu:hover > a {background: #EDEBE4;}
  .child_menu > li > a:hover {background: #ffb6c1;}
  .child_menu {width: 100%; left: 0; color: #333; background: #EDEBE4;}
  .menu:hover .child_menu {visibility: visible;}
  .child_menu a:hover {color: #fff;}
  .menu_button {width: 50px; height: 50px; position: fixed; top: 0; right: 0; background: #0C53AE; z-index: 10;}
  span.span1,span.span2,span.span3 {width: 30px; height: 1px; background-color: #FFF; position: absolute; right: 10px; transition: .3s; z-index: 100;}
  .span1 {top: 11px;}
  .span2 {top: 20px;}
  .span3 {top: 28px;}
  #hanburger:checked ~ .menu_button {top: 0;}
  #hanburger:checked ~ .span2 {display: none;}
  #hanburger:checked ~ .span1 {width: 34px; transform: rotate(45deg); top: 20px; right: 8px;}
  #hanburger:checked ~ .span3 {width: 34px; transform: rotate(-45deg); top: 20px; right: 8px;}
  .global_menu {visibility: hidden; width: 100%; height: 100%; position: fixed; top: 0; left: 0; color: #222; overflow-y: scroll; text-align: center; background: #FFF;}
  #hanburger:checked ~ .global_menu {visibility: visible; z-index: 5;}
  .menu {display: block; background: url("../img/cmn/bg_nav.svg") no-repeat left top 5px;}
  .global_menu a {display: block; width: 100%;}
  .global_menu a:hover {background: #EDEBE4;}
  .menu::after {bottom: 0; left: 0; border-radius: 1.5px;}
  .menu > a {padding: 10px 20px; text-align: left;}
  .menu > a {padding: 15px 20px; text-align: left; border-bottom: 1px solid #CCC;}
}
@media screen and (max-width: 500px) {
  header h1 {padding: 5px 5px; font-size: 10px!important;}
  .logo .txt14 {font-size: 12px!important;}
  .logo {width: 150px;}
}

aside {display: block;}
#cmnbtm {background: url("../img/cmn/bg_foot.jpg") no-repeat center; background-size: cover; padding: 50px 0 30px;}
#cmnbtm .icon,#recruit .icon,#contact01 .icon {width: 30px; display: inline-block; margin-right: 15px;}
footer {padding: 50px 0 0; border-top: 5px solid #0C53AE;}
footer a {color: #222!important;}
footer a:hover {color: #0C53AE;}
footer #navi {width: 610px;}
footer #navi ul {text-align: right; letter-spacing: -.4em; margin: 0 0 20px;}
footer #navi li {margin: 0 0 10px 40px; letter-spacing: normal; display: inline-block; padding: 0 0 0 28px; background: url("../img/cmn/arrow_bl.svg") no-repeat left center; background-size: 18px;}
footer #navi li a:hover {text-decoration: underline;}
.tel {width: 280px;}
.footCopy {text-align: center; padding: 15px 10px;}
.footCopy small {font-size: 16px; color: #FFF;}
#ftNavi {display: none;}
@media screen and (max-width: 1024px) {
  footer,footer h2.txt16 {font-size: 14px;}
  footer #navi {width: 520px;}
  footer .tel {width: 200px;}
}
@media screen and (max-width: 896px) {
  .tel {width: 200px;}
  #cmnbtm .flex.spbt,#recruit .flex.spbt {justify-content: center;}
  footer h2 {line-height: 1.5;}
  footer .mb20 {width: 100%; text-align: center;}
  footer .logo {margin: 0 auto; width: 150px;}
	footer {margin-bottom: 50px; padding: 40px 0;}
  footer #navi {width: 100%; text-align: center;}
  footer #navi ul {text-align: center; margin: 0 0 10px;}
  footer #navi li {margin: 0 10px 10px;}
  footer .flex.spbt.alEnd {justify-content: center;}
  footer .tel,footer .btn300 {margin: 0 auto 20px;}
  footer {padding: 30px 0 0;}
  footer .container.mb30 {margin-bottom: 0!important;}
  .footCopy small {font-size: 14px;}
	#ftNavi {display: block; background: #0C53AE; letter-spacing: -.4em; position: fixed; z-index: 5; bottom: 0; border-top: 1px solid #FFF; width: 100%;}
	#ftNavi ul {text-align: center; font-size: 10px; font-weight: bold;}
	#ftNavi li {letter-spacing: normal; display: inline-block; width: 25%;}
	#ftNavi li a {display: block; padding: 5px 0; color: #FFF; border-left: 1px solid #0C67DB; border-right: 1px solid #09438D;}
	#ftNavi li:first-child a {border-left: none;}
	#ftNavi li:last-child a {border-right: none;}
	#ftNavi li span {width: 24px; margin: 0 auto 5px; display: block;}
}

.w1300 {width: 100%; max-width: 1334px; padding-left: 0; padding-right: 0;}
.w1500 {width: 100%; max-width: 1520px; padding-left: 0; padding-right: 0;}
.container {width: 100%; max-width: 1212px; padding-left: 0; padding-right: 0;}
.containers {width: 100%; max-width: 888px; padding-left: 0; padding-right: 0;}
.mlr,.container,.containers {margin-left: auto; margin-right: auto;}
.mlr5 {margin-left: 5px; margin-right: 5px;}
.mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {margin-left: 20px; margin-right: 20px;}
.col1 {width: calc(16.6666% - 40px);}
.col2,.box3 {width: calc(33.3333% - 40px);}
.col3 {width: calc(50% - 40px);}
.col4 {width: calc(66.6666% - 40px);}
.col5 {width: calc(83.3333% - 40px);}
.col6 {width: calc(100% - 40px);}
.box4 {width: calc(25% - 30px); margin-left: 15px; margin-right: 15px;}
.btn300 {width: 100%; max-width: 300px; line-height: 1.5!important;}
.w50 {width: 50%;}
.w46 {width: calc(46% - 50px);}
.w54 {width: calc(54% - 50px);}
@media screen and (max-width: 896px) {
  .containers {width: calc(100% - 30px);}
  .mlr20,.col1,.col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {margin-left: 15px; margin-right: 15px;}
  .mlr5 {margin-left: 0; margin-right: 0;}
  .col1 {width: calc(16.6666% - 30px);}
  .col2,.box3 {width: calc(33.3333% - 30px);}
  .col3 {width: calc(50% - 30px);}
  .col4 {width: calc(66.6666% - 30px);}
  .col5 {width: calc(83.3333% - 30px);}
  .col6 {width: calc(100% - 30px);}
  .w46 {width: calc(46% - 30px);}
  .w54 {width: calc(54% - 30px);}
}
@media screen and (max-width: 568px) {
  .col1 {width: calc(33.3333% - 30px);}
  .col2,.col3,.col4,.col5,.col6,.box3,.w46,.w54 {width: calc(100% - 30px);}
  .flex.flexWrap.mlr5 {margin-left: 15px; margin-right: 15px; justify-content: space-between;}
  .box4 {width: calc(50% - 7.5px); margin-left: 0; margin-right: 0;}
}

ul.dot {list-style: disc; margin-left: 1.5em;}
ul.num {list-style: decimal; margin-left: 1.5em;}
dl.bdrBL {width: 100%;}
dl.bdrBL dt {width: 240px; font-weight: 700; padding: 0 0 20px; margin-bottom: 20px; border-bottom: 2px solid #0C53AE;}
dl.bdrBL dd {width: calc(100% - 240px); padding: 0 20px 20px; margin-bottom: 20px; border-bottom: 2px solid #CCCCCC;}
@media screen and (max-width: 869px) {
  dl.bdrBL dt {width: 100%;}
  dl.bdrBL dd {width: 100%;}
}

table {width: 100%;}
table tr:nth-child(odd) {background-color: #F6F5EA;}
table tr:nth-child(even) {background-color: #EEEEEE;}
table th,table td {padding: 10px 20px; font-weight: normal; line-height: 1.7; text-align: left; vertical-align: top}
table.sdata th {width: 60px;}
table.menu {max-width: 480px;}
table.menu th {width: 112px; padding: 10px 0; text-align: center;}
table.menu th.bgBR {background-color: #410007; color: #FFF;}
table.menu td {background-color: #EEEEEE;}
table.price1 th,table.price1 td,table.price2 th,table.price2 td {text-align: center;}
table.price1 {width: 456px;}
table.price2 {width: 224px;}
table .w112 {width: 112px; padding: 10px 0;}
table .w152 {width: 152px; padding: 10px 0;}
@media screen and (max-width: 500px) {
	table th {border-bottom: 1px solid #FFF;}
  table th, table td {display: block; width: clac(100% - 40px);}
}

.ttlmarkC {background: url("../img/cmn/bg_ttl1.png") no-repeat center bottom; background-size: auto 40px; padding-bottom: 50px; margin-bottom: 30px;}
.ttlmark1 {background: url("../img/cmn/bg_ttl2.png") no-repeat left center; background-size: 50px auto; padding-left: 65px; line-height: 50px; margin-bottom: 20px;}
.ttlmark2 {background-image: url("../img/cmn/bg_ttl2.png"),url("../img/cmn/bg_ttl2.png"); background-repeat: no-repeat,no-repeat; background-position: left center,right center; background-size: 50px auto,50px auto; padding-left: 65px; padding-right: 65px; line-height: 50px; margin-bottom: 30px; display: inline-block;}
.ttlubdrC,.ttlubdrL {position: relative; padding-bottom: 23px; margin-bottom: 30px;}
.ttlubdrC::after,.ttlubdrL::after {content: ''; width: 60px; height: 3px; display: inline-block; background-color: #1AB750; position: absolute; bottom: 0; left: calc(50% - 30px); border-radius: 1.5px;}
.ttlubdrL::after {left: 0;}
.boxGR1,.boxGR2 {min-width: 150px; display: inline-block; padding: 7px 15px; margin-right: 20px; border-radius: 5px; text-align: center;}
.boxGR1 {background: #1AB750;}
.boxGR2 {background: #FFF; border: 1px solid #1AB750;}
@media screen and (max-width: 896px) {
  .ttlmarkC {background-size: 140px auto; padding-bottom: 50px; margin-bottom: 20px;}
}

.bdrr20 {border-radius: 20px;}
#kv {position: relative; margin: 0 0 60px;}
#kv .kvImg {height: 20vh; min-height: 400px; margin: 0 40px 20px; position: relative;}
#kv .kvImg h2 {font-size: 45px; background: rgba(26,160,38,.6); border-radius: 10px; position:  absolute; top: 50%; left: 0; right: 0; padding: 8px 10px; width: 90%; max-width: 848px; margin: 0 auto; text-align: center; transform: translateY(-50%); -webkit-transform: translateY(-50%);}
#kv .mainImg {height: 100%; width: 100%; border-radius: 20px;}
#kv .subImg {width: 404px; position: absolute; bottom: 0; right: 0; z-index: 1;}
#kv .bread {padding: 0 0 0 30px; width: 100%;}
#kv .bread li {display: inline-block; margin-right: 10px; padding-right: 16px; background: url("../img/cmn/bread.svg") no-repeat center right; background-size: 6px 14px; color: #222; font-size: 12px;}
#kv .bread li a {color: #222; text-decoration: underline;}
#kv .bread li:last-child {margin-right: 0; padding-right: 0; background: none;}
@media screen and (max-width: 1180px) {
  #kv .kvImg {margin: 0 30px 20px;}
}
@media screen and (max-width: 896px) {
  .bdrr20 {border-radius: 10px;}
  #kv .kvImg {margin: 0 15px 10px; min-height: 130px;}
  #kv .kvImg h2 {font-size: 5vw;}
  #kv .subImg {width: 30%;}
  #kv .bread {padding: 0 30% 0 15px; width: 100%;}
}

.obj01,.obj02,.obj03,.obj04,.obj05,.obj06,.obj07,.obj08,.obj09 {position: absolute; z-index: 1;}
.obj01 {width: 195px;}
.obj02 {width: 404px;}
.obj03 {width: 516px;}
.obj04 {width: 366px;}
.obj05 {width: 310px;}
.obj06 {width: 280px;}
.obj07 {width: 245px;}
.obj08 {width: 230px;}
.obj09 {width: 357px;}

#top01 {position: relative; overflow: hidden; padding: 0 40px 45px;}
#topMain .slide-item {position: relative;}
#topMain .slick-list {padding: 0 23% 0 0;}
#topMain .slide-item {border-radius: 20px; margin: 0 20px 0 0; overflow: hidden; background-size: cover; background-position: center;}
#topMain.slick-slider {margin-bottom: 0!important;}
#top01 .inner {position: absolute; left: 70px; bottom: 185px; z-index: 1; max-width: 700px; width: calc(100% - 90px);}
#top01 h2 span {background: #FFF; display: inline-block; background: #FFF; padding: 5px 15px; margin-bottom: 5px;}
#top01 .obj01 {left: 0; bottom: 0;}
#top01 .obj02 {right: 15%; bottom: 0;}
#topNews.containers {border-radius: 10px; box-shadow: 3px 3px 3px rgba(0,0,0,.3); margin-top: -10px;}
#topNews h2 {width: 150px; padding: 25px 10px; border-top-left-radius: 10px; border-bottom-left-radius: 10px;}
#topNews .news {padding: 20px 30px; width: calc(100% - 150px);}
.news .date {margin-right: 10px;}
.newsMore {display: inline-block; border-bottom: 2px solid #000; padding-bottom: 5px;}
#top02 {padding: 40px 40px 60px; width: 100%; overflow-x: hidden;}
#top02 .inner {width: 100%; max-width: 1600px;}
#top02 .obj03 {right: 23.5%; top: 0; z-index: -1;}
#top02 .obj04 {right: -30px; bottom: 0;}
#top02 .container {position: absolute; right: 0; left: 0; bottom: 90px; z-index: 1;}
#top02 .col4,#top05 .col3 {padding: 40px; border-radius: 20px; box-shadow: 3px 3px 3px rgba(0,0,0,.3);}
#top03 .obj05 {left: 0; top: -165px;}
#top03 .inner {box-shadow: 0 0 6px rgba(0,0,0,.3); position: relative;}
#top03 .num {width: 50px; line-height: 50px; text-align: center; position: absolute; top: 0; left: 0; color: #FFF;}
#top03 .txt {padding: 15px 20px;}
#top03 .arrow a {display: block; background: url("../img/cmn/arrow_wh.svg") no-repeat right 20px center; padding: 15px 50px 15px 20px;}
#top03 .arrow a:hover {background-position: right 10px center;}
#top03 .obj06 {max-width: 280px; width: 80%; right: 0; position: absolute; bottom: -10px;}
#top04 {padding: 0 0 60px; margin-top: -10px;}
#top04 .inner {background: url("../img/top/04-01.jpg") no-repeat center; padding: 50px 0;}
#top04 .col4 {position: absolute; right: 0; top: -100px; z-index: 1;}
#top05 {padding: 0 0 60px; max-width: 1680px; width: 100%;}
#top05 .col3 {position: absolute; bottom: 50px;}
#top05 .col4 {margin-left: calc(33.333% + 20px);}
#top05 .obj09 {bottom: -15px; left: 0;}
#service02 .w50 {width: calc(50% - 15px);}
#service02 .obj05 {left: 0; bottom: -80px; width: 382px;}
#service03 {width: 100%; overflow-x: hidden; padding-bottom: 100px; overflow-y: hidden;}
#service03 .obj04 {bottom: 0; right: -30px;}
#service04 {margin-top: -70px;}
#service04 .obj09 {bottom: -10px; left: 0; width: 416px;}
#service05 .txt,#service06 .txt {padding: 25px 40px;}
#company02 .w50 {width: calc(50% + 20px);}
#company02 .w50.bgWH {padding: 40px; border-radius: 20px; box-shadow: 3px 3px 3px rgba(0,0,0,.3); position: absolute; top: 50%; margin-left: calc(50% - 40px); transform: translateY(-50%); -webkit-transform: translateY(-50%);}
#company03 .inner {width: 100%; max-width: 1372px;}
#company03 .obj07 {right: 100px; top: -145px;}
#company03 .obj08 {left: 0; bottom: -10px;}
#company04 {padding-bottom: 160px; overflow-x: hidden;} 
#company04 .obj09 {right: -30px; bottom: 0;}
#company05 {margin-top: -100px;}
#recruit {padding-bottom: 60px; overflow-x: hidden;}
#recruit .obj09 {right: -30px; bottom: 0;}
#news .news {padding: 0 0 20px; margin-bottom: 20px; border-bottom: 2px solid #CCCCCC; position: relative;}
#news .news::after{content: ""; display: block; width: 240px; height: 2px; background-color: #0097A7; position: absolute; bottom: -2px; left: 0;}
#news .obj04 {right: 0; bottom: -50px;}
#news .post {padding-bottom: 20px; margin-bottom: 20px; border-bottom: 2px solid #CCCCCC;}
#news .post p {margin-bottom: 20px;}
#news .post p:last-child {margin-bottom: 0;}
#faq .obj08 {right: 20px; bottom: -10px;}
dl.question,dl.answer {display: flex;}
dl.question {align-items: center;}
dl.answer {align-items: flex-start; margin-bottom: 10px;}
dl.question dt,dl.answer dt {width: 50px; line-height: 45px; padding-bottom: 5px; font-size: 30px; margin-right: 20px; border-radius: 50%; text-align: center; color: #FFF; margin-bottom: 20px;}
dl.question dd,dl.answer dd {width: calc(100% - 70px); font-size: 20px; margin-bottom: 20px;}
dl.answer dd {font-size: 16px;}
dl.question dt {background: #1AB750;}
dl.answer dt {background: #CC0000;}
#contact02 .obj09 {left: 0; bottom: -10px;}
.catNav li {display: inline-block; margin: 0 15px 20px; line-height: 40px; letter-spacing: normal;}
.catNav li a {display: block; padding: 5px 30px; color: #0C53AE; background: #FFF; border: 2px solid #0C53AE; border-radius: 25px;}
.catNav li a:hover {color: #FFF; background: #0C53AE;}
.catNav li.active a {color: #FFF; background: #0C53AE; border-radius: 25px;}
.infoList li {margin: 0 15px 20px;}
.infoList li a {padding: 5px 35px 5px 0; border-bottom: 1px solid #0C53AE; color: #0C53AE; font-weight: 700; background: url("../img/information/icon.svg") no-repeat right center; background-size: 20px auto;}
@media screen and (max-width: 1500px) {
  .obj03 {width: 30%;}
  #top02 .obj03 {right: 18.5%;}
  #top02 {padding: 60px 40px 60px;}
  #top02 .container {bottom: 60px;}
}
@media screen and (max-width: 1490px) {
  .obj04 {width: 20%;}
  .obj09 {width: 20%;}
}
@media screen and (max-width: 1300px) {
  .obj04,.obj05 {width: 30%;}
  .obj08 {width: 20%; position: relative;}
  #top02 .col4,#top05 .col3 {padding: 20px;}
  #news .obj04 {position: relative; margin-left: 70%;}
  #contact02 .obj09 {position: relative;}
}
@media screen and (max-width: 1180px) {
  .obj01 {width: 120px;}
  .obj02 {width: 304px;}
  .obj07 {width: 25%;}
  #top01 {padding: 0 30px 45px;}
  #top01 .inner {left: 30px; bottom: 120px;}
  #top01 .obj02 {right: 10%;}
  #topMain .slick-list {padding: 0 15% 0 0;}
  #top02 {padding: 60px 30px 60px;}
  #top02 .obj03 {right: 12.5%;}
  #top02 .container {bottom: 30px;}
  #top02 .w50 {width: 60%;}
  #top04 .col4 {top: -60px;}
  #service02 .obj05 {left: 0; bottom: -20px; width: 30%;}
  #service04 .obj09 {bottom: -10px; left: 0; width: 45%;}
  #company03 .obj07 {right: 0; top: -100px;}
}
@media screen and (max-width: 980px) {
  .obj03 {width: 45%;}
  .obj09 {width: 30%;}
  #top01 {padding: 0 15px 45px;}
  #top01 h2.kiwi.txt40.txt500.lh15 {font-size: 3.5vw;}
  #top02 {padding: 40px 15px 60px;}
  #top02 .obj03 {right: 20px;}
  #top02 .container.jcEnd {position: relative; justify-content: flex-start; bottom: 0;}
  #top02 .w50 {margin-left: 40%; margin-top: -15%;}
  #top04 {padding: 0 0 40px;}
  #top04 .col4 {top: 0; bottom: 0;}
  #top05 .col3 {bottom: 0;}
  #top05 .col4 {margin-left: calc(20% + 20px); width: calc(80% - 20px);}
  #top05 .obj09 {left: inherit; right: 0;}
  #recruit .obj09 {position: relative; margin-left: 70%;}
}
@media screen and (max-width: 915px) {
  #top01 .txt50.EN.mb20.lh12 {margin-bottom: 10px!important;}
}
@media screen and (max-width: 869px) {
  .obj01 {width: 15%;}
  .obj02 {width: 30%;}
  #top01 .inner {bottom: 70px;}
  #top01 .obj02 {right: 0;}
  #topMain .slide-item {border-radius: 10px; margin: 0 10px 0 0;}
  #topNews h2 {width: 100%; padding: 15px 10px; border-top-left-radius: 10px; border-bottom-left-radius: 0; border-top-right-radius: 10px;}
  #topNews .news {padding: 15px 20px; width: 100%;}
  #top02 .col4,#top05 .col3 {border-radius: 10px;}
  #top05 .col3 {width: 70%;}
  #service05 .txt,#service06 .txt {padding: 15px 20px;}
  #company02 .w50.bgWH {position: relative; padding: 20px; border-radius: 10px; top: 0; margin-left: auto; margin-right: auto; transform: translateY(0); -webkit-transform: translateY(0); width: 80%;}
  #company02 .w50 {width: 100%; margin-top: -50px;}
  #company03 .obj07 {right: 0; top: -120px;}
}
@media screen and (max-width: 760px) {
  #top04 .col2 {width: calc(100% - 30px); padding-bottom: 200px; position: relative; z-index: 1;}
  #top04 .col4 {width: calc(100% - 330px); top: inherit; bottom: -10px;}
  #top04 .inner {padding: 30px 0 0;}
  #top05 .col3 {position: relative;}
  #top05 .col4 {margin-top: -60px;}
  #top05 .obj09 {left: 0; right: inherit;}
  #service02 .w50.mb20 {width: calc(100% - 15px); margin-bottom: 0!important;}
}
@media screen and (max-width: 660px) {
  #top04 .col2 {padding-bottom: 15%;}
}
@media screen and (max-width: 568px) {
  .obj03 {width: 45%;}
  .obj09 {width: 45%;}
  #topMain .slick-list {padding: 0;}
  #topMain .slide-item {margin: 0;}
  #top02 {padding: 80px 15px 60px;}
  #top02 .w50 {margin-left: 0; width: 100%;}
  #top03 .obj05 {left: 0; top: -60px;}
  #top03 .obj06 {position: relative; width: 25%; margin-left: 75%;}
  #top03 .pb40 {padding-bottom: 0; margin-top: -60px;}
  #top03 .col2:nth-child(5) {margin-bottom: 0!important;}
  #top04 .col2 {padding-bottom: 0;}
  #top04 .col4 {width: 100%; top: inherit; bottom: -10px; position: relative;}
  #top05 .col3 {bottom: 0; width: 80%; margin: 0 auto;}
  #top05 .col4 {margin-left: 15px; width: calc(100% - 30px);}
  #company04 .obj09,#recruit .obj09 {position: relative; margin-left: 55%;}
}



