/* global
------------------------------------- */
#container { padding: 0 0 50px; }

@media all and (min-width: 600px) { #container { padding-bottom: 100px; } }

/*  #news
================================================== */
#news { padding: 34px 0 30px; }

#news .headArea { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

#news .headArea .head .en { font-size: 2.6rem; }

#news .headArea .head .jp { line-height: 3.5; font-size: 1.3rem; color: #b6b5b5; display: inline-block; margin: 0 0 0 5px; }

#news .headArea .btn { width: 138px; }

#news .headArea .btn a { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; height: 36px; border-radius: 50px; background: #7cbc00; color: #fff; text-decoration: none; font-size: 1.2rem; }

#news .headArea .btn a:before { content: ''; position: absolute; top: 50%; right: 10px; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); width: 6px; height: 10px; background: url(../img/common/arw_right02.png) no-repeat center center; background-size: contain; }

#news .archive { padding: 16px 0 0; }

@media all and (min-width: 600px) { #news { padding: 93px 0 30px; }
  #news .box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  #news .headArea { width: 17%; display: block; box-sizing: border-box; }
  #news .headArea .head .en { font-size: 3.6rem; display: block; margin: 0 0 0 7px; line-height: 1.1; }
  #news .headArea .head .jp { line-height: 1.1; font-size: 1.5rem; margin: 0 0 0 7px; }
  #news .headArea .btn { width: 96%; margin-top: 38px; }
  #news .headArea .btn a { height: 40px; font-size: 1.3rem; letter-spacing: .06em; }
  #news .headArea .btn a:before { right: 23px; width: 8px; height: 12px; }
  #news .archive { width: 77%; padding: 0; } }

/*  #intro
================================================ */
#intro .inner { padding-top: 30px; padding-bottom: 70px; }

#intro .mtit { position: relative; padding-bottom: 37px; text-align: center; font-size: 2.3rem; font-weight: 500; }

#intro .mtit:before { content: ''; position: absolute; top: -23px; left: 22px; width: 108px; height: 27px; background: url(../img/home/txt_intro01.png) no-repeat center center; background-size: contain; }

#intro .mtit strong { position: relative; color: #7cbc00; position: relative; }

#intro .mtit strong:before { content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 2px; background-size: auto auto; background-repeat: repeat-x; background-color: white; background-image: repeating-linear-gradient(135deg, transparent, transparent 3px, #7cbc00 3px, #7cbc00 6px); }

#intro .list .item { position: relative; background: #fff; box-shadow: 0px 3px 10px 0px rgba(4, 0, 0, 0.2); border-radius: 10px; }

@media all and (min-width: 600px) { #intro .list .item { box-shadow: 0px 6px 20px 0px rgba(4, 0, 0, 0.3); } }

#intro .list .item + .item { margin-top: 30px; }

#intro .list .item .label { position: absolute; top: -17px; left: -5px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 70px; height: 70px; background: linear-gradient(134deg, #249729, #43b081); border: 2px solid #fff; border-radius: 100%; text-align: center; color: #fff; font-size: 1.2rem; line-height: 1.4; box-sizing: border-box; }

#intro .list .item .detail { padding: 15px 20px 30px; }

#intro .list .item .detail .sub { text-align: center; color: #7cbc00; font-size: 1.3rem; font-weight: 500; line-height: 1.57; }

#intro .list .item .detail .tit { text-align: center; font-size: 1.8rem; font-weight: 500; line-height: 1.8; }

#intro .list .item .detail .tit .small { display: block; font-size: 1.3rem; }

#intro .list .item .detail .txt { padding-top: 9px; }

#intro .list .item .detail .btn { padding-top: 15px; }

@media all and (max-width: 350px) { #intro .mtit { font-size: 2rem; } }

@media all and (min-width: 600px) { #intro .inner { padding-top: 58px; padding-bottom: 90px; }
  #intro .mtit { position: relative; left: 50%; display: inline-block; padding-bottom: 44px; -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); transform: translate(-50%, 0); font-size: 2.6rem; }
  #intro .mtit:before { top: -15px; left: -50px; }
  #intro .mtit strong:before { bottom: -8px; }
  #intro .list { display: -webkit-box; display: -ms-flexbox; display: flex; margin: 0 -10px; }
  #intro .list .item { width: calc(50% - 10px); margin: 0 10px; box-sizing: border-box; }
  #intro .list .item + .item { margin-top: 0; }
  #intro .list .item .label { top: -26px; left: -7px; width: 90px; height: 90px; font-size: 1.4rem; line-height: 1.35; }
  #intro .list .item .detail { padding: 13px 65px 40px; }
  #intro .list .item .detail .sub { font-size: 1.6rem; }
  #intro .list .item .detail .tit { font-size: 2.2rem; }
  #intro .list .item .detail .tit .small { display: inline-block; vertical-align: baseline; font-size: 1.1rem; }
  #intro .list .item .detail .txt { padding-top: 17px; font-size: 1.5rem; }
  #intro .list .item .detail .btn { padding-top: 24px; } }

/* #guidance
------------------------------------- */
#guidance .inner { position: relative; padding-top: 54px; padding-bottom: 45px; }

#guidance .inner:before { content: ''; position: absolute; top: 70px; left: -30px; width: 145px; height: 180px; background: url(../img/home/bg_guidance01.png) no-repeat center center; background-size: contain; z-index: -1; -webkit-transform: rotate(8deg); -ms-transform: rotate(8deg); transform: rotate(8deg); }

#guidance .headTit .mtit { font-weight: 400; }

#guidance .list { padding-top: 43px; }

#guidance .list .item:not(:last-child) { padding-bottom: 40px; }

#guidance .list .item .detail { padding-top: 20px; }

#guidance .list .item .detail .tit { text-align: center; font-size: 1.8rem; font-weight: 500; line-height: 1.6; }

#guidance .list .item .detail .txt { padding-top: 6px; }

#guidance .list .item .detail .btn { padding: 15px 20px 0; }

#guidance .bnrWrap { background: #7cbc00; margin: 50px -15px 0; padding: 30px 0; }

#guidance .bnrArea { max-width: 345px; margin: 0 auto; }

#guidance .bnrArea .bnr a { display: block; border-radius: 5px; box-shadow: 0 2px 10px 2px rgba(2, 4, 0, 0.15); }

#guidance .bnrArea .bnr a img { border-radius: 5px; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

#guidance .bnrArea .bnr + .bnr { margin-top: 15px; }

@media all and (min-width: 600px) { #guidance .inner { padding-top: 80px; padding-bottom: 60px; }
  #guidance .inner:before { top: 173px; left: -153px; width: 217px; height: 233px; -webkit-transform: rotate(0); -ms-transform: rotate(0); transform: rotate(0); }
  #guidance .lead { text-align: center; }
  #guidance .list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-top: 55px; margin: 0 -14px; }
  #guidance .list .item { width: calc(100% / 3 - 28px); margin: 0 14px; box-sizing: border-box; }
  #guidance .list .item:not(:last-child) { padding-bottom: 0; }
  #guidance .list .item:nth-child(n+4) { padding-top: 64px; }
  #guidance .list .item .detail { padding-top: 23px; }
  #guidance .list .item .detail .txt { padding-top: 8px; font-size: 1.5rem; height: 5.4em; }
  #guidance .list .item .detail .btn { padding: 45px 20px 0; }
  #guidance .list .item .detail .btn a { height: 40px; font-size: 1.3rem; }
  #guidance .bnrWrap { background: url(../img/common/bg_contact01_pc.png) no-repeat center center; background-size: cover; margin: 80px -100% 0px; padding: 45px 0; }
  #guidance .bnrArea { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; max-width: 100%; margin: 0 -12px; }
  #guidance .bnrArea .bnr { width: calc(50% - 24px); margin: 0 12px; }
  #guidance .bnrArea .bnr a { border-radius: 10px; box-shadow: 0 3px 15px 3px rgba(2, 4, 0, 0.15); }
  #guidance .bnrArea .bnr + .bnr { margin-top: 0; border-radius: 10px; } }

/* #trouble
------------------------------------- */
#trouble .firstSec { position: relative; }

#trouble .firstSec .inner { position: relative; padding-top: 30px; padding-bottom: 55px; }

#trouble .firstSec .headTit .mtit { font-size: 2rem; line-height: 1.6; }

#trouble .firstSec .headTit .mtit .marker { font-size: 2.3rem; background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #ddecc0)); background: linear-gradient(transparent 50%, #ddecc0 50%); }

#trouble .firstSec .bgText { position: absolute; bottom: 30px; right: 5px; font-size: 7.5rem; line-height: 1; color: rgba(204, 203, 203, 0.2); z-index: 0; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }

#trouble .firstSec .list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding-top: 22px; }

#trouble .firstSec .list .item { position: relative; width: calc(50% - 18px); box-sizing: border-box; margin: 0 9px 20px; }

#trouble .firstSec .list .item .num { position: absolute; top: 7px; left: 20px; font-size: 2.2rem; line-height: 1; letter-spacing: 0; }

#trouble .firstSec .list .item .img { box-shadow: 0px 3px 10px 0px rgba(4, 0, 0, 0.2); border-radius: 100%; border: 4px solid #7cbc00; }

@media all and (min-width: 600px) { #trouble .firstSec .list .item .img { box-shadow: 0px 6px 20px 0px rgba(4, 0, 0, 0.3); } }

#trouble .firstSec .list .item .btn { position: absolute; right: 5px; bottom: 0; }

#trouble .firstSec .list .item .btn a { display: block; width: 35px; height: 35px; border: 1px solid #fff; background: #7cbc00 url(../img/common/arw_right02.png) no-repeat center; background-size: 5px auto; border-radius: 100%; box-shadow: 0px 3px 10px 0px rgba(4, 0, 0, 0.2); box-sizing: border-box; }

@media all and (min-width: 600px) { #trouble .firstSec .list .item .btn a { box-shadow: 0px 6px 20px 0px rgba(4, 0, 0, 0.3); } }

#trouble .secondSec { min-height: 180px; background: url(../img/home/bg_trouble03_sp.png) no-repeat center bottom/cover; }

@media all and (max-width: 599px) { #trouble .secondSec { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; padding: 20px 15px; box-sizing: border-box; }
  #trouble .secondSec .box { position: relative; width: 100%; max-width: 375px; text-align: center; background: #29af10; }
  #trouble .secondSec .box:before { content: ''; position: absolute; top: 3px; left: 3px; width: calc(100% - 6px); height: calc(100% - 6px); border: 1px solid #90dec0; box-sizing: border-box; }
  #trouble .secondSec .box .link { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; padding: 4px; text-decoration: none; }
  #trouble .secondSec .box .link:after { content: ''; display: block; position: absolute; right: 7px; bottom: 7px; z-index: 1; width: 0; height: 0; border-style: solid; border-width: 0 0 10px 10px; border-color: transparent transparent #23a201 transparent; }
  #trouble .secondSec .box .img { position: relative; display: inline-block; width: 80px; height: 80px; overflow: hidden; }
  #trouble .secondSec .box .img img { position: absolute; width: auto; height: auto; top: 50%; left: 50%; min-width: 100%; min-height: 100%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); -webkit-backface-visibility: hidden; backface-visibility: hidden; }
  @supports (object-fit: cover) { #trouble .secondSec .box .img img { position: static; width: 100%; height: 100%; top: 0; left: 0; object-fit: cover; object-position: 0 0; -webkit-transform: none; -ms-transform: none; transform: none; } }
  #trouble .secondSec .box .txt { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  #trouble .secondSec .box .tit { display: inline-block; line-height: 1.4; text-align: left; color: #fff; font-size: 1.5rem; font-weight: 500; letter-spacing: .1em; }
  #trouble .secondSec .box .tit em, #trouble .secondSec .box .tit i { position: relative; padding-bottom: 7px; display: inline-block; line-height: 1.3; vertical-align: baseline; font-size: 1.8rem; font-weight: bold; color: #fbff93; }
  #trouble .secondSec .box .tit em:before, #trouble .secondSec .box .tit i:before { content: ""; position: absolute; left: 0; bottom: 3px; width: 100%; height: 2px; background-size: auto auto; background-repeat: repeat-x; background-color: #7cbc00; background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, #fff 2px, #fff 5px); } }

@media all and (max-width: 599px) and (max-width: 374px) { #trouble .secondSec .box .tit { font-size: 1.4rem; }
  #trouble .secondSec .box .tit em, #trouble .secondSec .box .tit i { font-size: 1.6rem; } }

@media all and (min-width: 600px) { #trouble .firstSec .inner { padding-top: 84px; padding-bottom: 10px; }
  #trouble .firstSec .bgText { bottom: -45px; font-size: 15rem; letter-spacing: .06em; }
  #trouble .firstSec .headTit .mtit { font-size: 2.8rem; }
  #trouble .firstSec .headTit .mtit .marker { font-size: 3.6rem; }
  #trouble .firstSec .lead { text-align: center; }
  #trouble .firstSec .list { padding-top: 45px; margin: 0 38px; }
  #trouble .firstSec .list .item { width: calc(100% / 5 - 24px); margin: 0 12px 20px; }
  #trouble .firstSec .list .item .num { font-size: 2.6rem; }
  #trouble .firstSec .list .item .btn { right: 7px; bottom: 3px; }
  #trouble .firstSec .list .item .btn a { width: 40px; height: 40px; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #trouble .firstSec .list .item .btn a:hover { opacity: .7; }
  #trouble .secondSec { padding: 165px 0 57px; background-image: url(../img/home/bg_trouble03_pc.png); }
  #trouble .secondSec .box { position: relative; top: -14px; margin-bottom: -14px; max-width: 1500px; margin: 0 auto; background: #29af10; text-align: center; }
  #trouble .secondSec .box:before { content: ""; position: absolute; top: 5px; left: 5px; width: calc(100% - 10px); height: calc(100% - 10px); border: 1px solid #90dec0; box-sizing: border-box; }
  #trouble .secondSec .box .link { display: -webkit-box; display: -ms-flexbox; display: flex; position: relative; padding: 6px; text-decoration: none; -webkit-transition: all 0.3s ease; transition: all 0.3s ease; }
  #trouble .secondSec .box .link:after { content: ''; display: block; position: absolute; right: 15px; bottom: 15px; z-index: 1; width: 0; height: 0; border-style: solid; border-width: 0 0 20px 20px; border-color: transparent transparent #23a201 transparent; }
  #trouble .secondSec .box .link:hover { opacity: .7; }
  #trouble .secondSec .box .img { position: relative; display: inline-block; width: 30%; max-width: 460px; height: 288px; overflow: hidden; }
  #trouble .secondSec .box .img img { position: absolute; width: auto; height: auto; top: 50%; left: 50%; min-width: 100%; min-height: 100%; -webkit-transform: translateX(-50%) translateY(-50%); -ms-transform: translateX(-50%) translateY(-50%); transform: translateX(-50%) translateY(-50%); }
  @supports (object-fit: cover) { #trouble .secondSec .box .img img { position: static; width: 100%; height: 100%; top: 0; left: 0; object-fit: cover; object-position: 0 0; -webkit-transform: none; -ms-transform: none; transform: none; } }
  #trouble .secondSec .box .txt { -webkit-box-flex: 1; -ms-flex: 1; flex: 1; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; position: relative; padding-bottom: 30px; }
  #trouble .secondSec .box .txt:after { content: ''; display: block; position: absolute; right: 50px; bottom: -6px; width: 168px; height: 120px; background: url(../img/home/bnr_trouble02.png) center bottom no-repeat; }
  #trouble .secondSec .box .tit { display: inline-block; line-height: 1.5; text-align: left; color: #fff; font-size: 3.9rem; font-weight: 500; letter-spacing: .1em; }
  #trouble .secondSec .box .tit em, #trouble .secondSec .box .tit i { position: relative; padding-bottom: 7px; display: inline-block; line-height: 1.6; vertical-align: baseline; font-size: 5rem; font-weight: bold; color: #fbff93; }
  #trouble .secondSec .box .tit em:before, #trouble .secondSec .box .tit i:before { content: ""; position: absolute; left: 0; bottom: 8px; width: 100%; height: 2px; background-size: auto auto; background-repeat: repeat-x; background-color: #7cbc00; background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, #fff 2px, #fff 5px); } }

@media all and (min-width: 600px) and (max-width: 1560px) { #trouble .secondSec { padding-right: 30px; padding-left: 30px; }
  #trouble .secondSec .box { width: 100%; } }

@media all and (min-width: 600px) and (max-width: 1280px) { #trouble .secondSec .box .txt:after { right: 30px; }
  #trouble .secondSec .box .tit { font-size: 3rem; }
  #trouble .secondSec .box .tit em, #trouble .secondSec .box .tit i { font-size: 4rem; } }

/* feature
------------------------------------- */
#feature .inner { padding-top: 45px; padding-bottom: 50px; }

#feature .headTit { padding-bottom: 30px; }

#feature .headTit .mtit { font-size: 1.8rem; }

#feature .headTit .mtit .maker { display: inline-block; vertical-align: baseline; font-size: 2.3rem; }

#feature .headTit .mtit .large { display: inline-block; vertical-align: baseline; font-size: 3.1rem; }

#feature .list .item + .item { margin-top: 30px; }

#feature .list .item .box { position: relative; background: #fff; box-shadow: 0px 4px 15px 0px rgba(4, 0, 0, 0.1), inset 0px 0px 0px 14px rgba(241, 241, 241, 0.004); }

#feature .list .item .box:before { content: ""; position: absolute; top: 6px; left: 6px; width: calc(100% - 14px); height: calc(100% - 14px); border: 1px solid #f1f1f1; }

#feature .list .item .box .detail { position: relative; padding: 184px 20px 30px; overflow: hidden; }

#feature .list .item .num { position: absolute; top: 0; left: 0; padding: 3px 0 0 7px; font-size: 3rem; line-height: 1; letter-spacing: 0; color: #fff; text-align: center; box-sizing: border-box; }

#feature .list .item .num span { position: relative; z-index: 1; }

#feature .list .item .num:before { content: ""; position: absolute; left: -70px; top: -70px; background: #8fc722; width: 120px; height: 125px; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); z-index: 0; }

#feature .list .item .img { position: absolute; top: -10px; left: 50%; -webkit-transform: translate(-50%, 0); -ms-transform: translate(-50%, 0); transform: translate(-50%, 0); width: 180px; z-index: 1; }

#feature .list .item .tit { font-size: 1.8rem; font-weight: 500; line-height: 1.5; text-align: center; }

#feature .list .item .txt { padding-top: 10px; }

#feature .btn { padding: 30px 20px 0; }

@media all and (min-width: 600px) { #feature { background: url(../img/common/bg_pattern05_pc.png) no-repeat center bottom; background-size: cover; }
  #feature .inner { padding-top: 105px; padding-bottom: 90px; }
  #feature .headTit { padding-bottom: 65px; }
  #feature .headTit .mtit { font-size: 2.8rem; }
  #feature .headTit .mtit .maker { font-size: 3.6rem; background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #ddecc0)); background: linear-gradient(transparent 75%, #ddecc0 75%); }
  #feature .headTit .mtit .large { font-size: 6rem; }
  #feature .list { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0 -12px; }
  #feature .list .item { width: calc(100% / 3 - 25px); margin: 0 12px; display: -webkit-box; display: -ms-flexbox; display: flex; }
  #feature .list .item + .item { margin-top: 0; }
  #feature .list .item:nth-child(n+ 4) { margin-top: 30px; }
  #feature .list .item .box .detail { padding: 255px 0px 38px; }
  #feature .list .item .num { font-size: 3rem; }
  #feature .list .item .img { top: -13px; width: 258px; }
  #feature .list .item .txt { font-size: 1.5rem; padding: 10px 38px 0; }
  #feature .btn { padding: 40px 0 0; width: 370px; box-sizing: border-box; }
  #feature .btn a { height: 60px; } }

/* message
------------------------------------- */
#message .inner { padding-top: 42px; padding-bottom: 50px; }

#message .headTit { padding-bottom: 31px; }

#message .sec + .sec { padding-top: 40px; }

#message .sec.first .secTit { margin-left: -14px; }

#message .sec.second .img { padding-bottom: 28px; }

#message .sec .img { padding-bottom: 20px; }

#message .sec .sub { padding-top: 5px; font-size: 1.8rem; font-weight: 500; color: #7cbc00; line-height: 1.5; }

#message .sec .txt { margin-top: 9px; background: url(../img/common/bg_marker01_sp.png); background-size: auto 2em; background-position: bottom left; line-height: 2; }

@media all and (min-width: 600px) { #message .inner { position: relative; width: 1560px; padding-top: 53px; padding-bottom: 78px; }
  #message .headTit { position: absolute; top: 93px; left: 30px; padding-bottom: 0; }
  #message .sec { display: -webkit-box; display: -ms-flexbox; display: flex; }
  #message .sec + .sec { padding-top: 0; }
  #message .sec.first .detail { padding-top: 173px; }
  #message .sec.first .secTit { margin-left: 0; }
  #message .sec.first .sub { padding-left: 15px; }
  #message .sec.first .txt { margin-left: 15px; }
  #message .sec.second .img { position: relative; margin-top: -73px; }
  #message .sec.second .detail { padding: 78px 0 0 25px; }
  #message .sec:nth-child(odd) .img { -webkit-box-ordinal-group: 1; -ms-flex-order: 0; order: 0; padding: 0 58px 0 12px; }
  #message .sec .img { padding-bottom: 0; -webkit-box-ordinal-group: 3; -ms-flex-order: 2; order: 2; padding-left: 73px; }
  #message .sec .detail { width: 750px; }
  #message .sec .sub { padding-top: 15px; font-size: 1.8rem; }
  #message .sec .txt { margin-top: 33px; font-size: 1.5rem; line-height: 2.6; background-size: auto 2.6em; } }

@media all and (min-width: 600px) and (max-width: 1560px) { #message .inner { width: 1200px; }
  #message .inner .sec + .sec { padding-top: 20px; }
  #message .inner .sec.second .img { margin-top: -20px; } }

/* #ticker
------------------------------------- */
#ticker { position: relative; }

#ticker:before { content: ""; position: absolute; top: 0; left: 0; background: #f7f7f7; width: 100%; height: 50%; }

#ticker .slider .item { padding: 0 10px; }

@media all and (min-width: 600px) { #ticker .slider { width: 100%; }
  #ticker .slider .item { min-width: 280px; }
  #ticker .slider .slick-track { display: -webkit-box; display: -ms-flexbox; display: flex; width: 100%; } }

/* #recruit
------------------------------------- */
#recruit { position: relative; background: #edf3e0; }

#recruit:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 90px; background: #fff; }

#recruit .inner { position: relative; padding-top: 46px; padding-bottom: 50px; }

#recruit .detail { padding-top: 50px; }

#recruit .detail .headTit { position: relative; font-size: 1.8rem; font-weight: 500; }

#recruit .detail .headTit span { position: relative; z-index: 1; }

#recruit .detail .headTit:before { content: ''; position: absolute; top: -30px; right: 22px; width: 86px; height: 80px; background: url(../img/home/txt_rectuit01.png) no-repeat center center; background-size: contain; }

#recruit .detail .txt { padding-top: 13px; }

#recruit .detail .btn { padding: 17px 20px 0; }

@media all and (min-width: 600px) { #recruit { background: #fff; }
  #recruit:before { background: #edf3e0; left: auto; right: 0; height: 100%; width: 100%; border-radius: 15px; -webkit-transform: translateX(456px); -ms-transform: translateX(456px); transform: translateX(456px); }
  #recruit .inner { position: relative; margin-top: 130px; padding-top: 28px; padding-bottom: 73px; }
  #recruit .img { position: absolute; top: -30px; left: -350px; }
  #recruit .detail { padding-left: calc(50% + 27px); box-sizing: border-box; }
  #recruit .detail .headTit { font-size: 2.6rem; }
  #recruit .detail .headTit:before { top: -10px; right: 12px; width: 106px; height: 79px; }
  #recruit .detail .txt { padding-top: 25px; font-size: 1.5rem; }
  #recruit .detail .btn { padding: 30px 10px 0; margin-left: 0; width: 370px; }
  #recruit .detail .btn a { height: 60px; } }
