/* --------------------------
 * loading
-------------------------- */
#loading {content: '';position: fixed;top: 0;left: 0;width: 100%;height: 100%;background-color:#fff;z-index: 99999999999;pointer-events: none;}
#loading.off {display: none;}
#loading .fa-spin {opacity: 0.2;position: fixed; top: 0;left: 0;bottom: 0;right: 0;margin:auto;width: 50px;height: 50px;line-height: 50px;text-align: center;font-size: 24px;color: #595643;}

/* mainVisual */
#mainVisual {width: 100%;z-index: 0;padding-top: 150px;position: relative;}
#mainVisual .inner {display: block;position: relative; width: 100%;height: 500px;padding-top: 150px;}
#mainVisual .inner h1 {margin-bottom: 75px;overflow: hidden;}
#mainVisual .inner h1 .en {line-height: 1em;font-size: 4.2rem;margin-bottom: 50px;letter-spacing: 4px;}
#mainVisual .inner h1 .ja {line-height: 1em;font-size: 1.6rem;letter-spacing: 4px;}
#mainVisual .inner h1 .en span {overflow: hidden;position:relative;display:inline-block;left:-100%;}
#mainVisual .inner h1 .en span::before {content: '';background-color: #f5f5f5;display: block;position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
#mainVisual .inner h1 .ja span {overflow: hidden;position:relative;display:inline-block;left:-100%;}
#mainVisual .inner h1 .ja span::before {content: '';background-color: #f5f5f5;display: block;position: absolute;top: 0;left: 0;width: 100%;height: 100%;}
#mainVisual .inner h1.active .en span {left:0%;-webkit-transition: all .3s .5s ease;transition: all .3s .5s ease;}
#mainVisual .inner h1.active .en span::before {left:100%;-webkit-transition: all .3s 1s ease;transition: all .3s 1s ease;}
#mainVisual .inner h1.active .ja span {left:0%;-webkit-transition: all .3s .5s ease;transition: all .3s .5s ease;}
#mainVisual .inner h1.active .ja span::before {left:100%;-webkit-transition: all .3s 1s ease;transition: all .3s 1s ease;}

@media screen and (max-width: 1023px) {
    #mainVisual {width: 100%;padding-top: 80px;}
    #mainVisual .inner {height: auto;padding: 50px 0 70px;}
    #mainVisual .inner .container-sm {padding: 0 50px;}
    #mainVisual .inner h1 {margin-bottom: 50px;}
    #mainVisual .inner h1 .en {font-size: 3.2rem;margin-bottom: 30px;letter-spacing: 3px;}
    #mainVisual .inner h1 .ja {font-size: 1.4rem;letter-spacing: 3px;}
}
@media screen and (max-width: 767px) {
    #mainVisual {width: 100%;padding-top: 60px;}
    #mainVisual .inner {height: auto;padding: 60px 0 60px;}
    #mainVisual .inner .container-sm {padding: 0 20px;}
    #mainVisual .inner h1 {margin-bottom: 40px;}
    #mainVisual .inner h1 .en {font-size: 2.8rem;margin-bottom: 20px;letter-spacing: 2px;}
    #mainVisual .inner h1 .ja {font-size: 1.2rem;letter-spacing: 2px;}
}

/* common */
#content {position: relative;display: block;}
#content .borderTitle {border-bottom: 2px solid #00A29A;padding-bottom: 35px;font-size: 3.0rem;letter-spacing: 4px;margin-bottom: 35px;}
@media screen and (max-width: 1023px) {
    #content .borderTitle {padding-bottom: 25px;font-size: 2.4rem;letter-spacing: 3px;margin-bottom: 25px;}
}
@media screen and (max-width: 767px) {
    #content .borderTitle {text-align: center;padding-bottom: 20px;font-size: 1.6rem;letter-spacing: 1px;margin-bottom: 40px;}
}

#about {padding-bottom: 100px;}
#about .block {position: relative;margin-top: 150px;}
#about .block.first {position: relative;margin-top: 0px;}
#about .block::before {z-index: -1;content: '';background-color: #F9F9F9;position: absolute;top:400px;width:calc(100% - 100px);height:calc(100% - 400px);display: block;}
#about .block .mainImg {height: 500px;display: block;background-color: #ccc;position: relative;margin-bottom: 100px;background-position: center;background-repeat: no-repeat;background-size: cover;}
#about .block.left .mainImg::before {content:'';position: absolute;top: 0;left: 0;width: 100%;height: 100%;display: block;background-color: #fff;z-index: 9;}
#about .block.right .mainImg::before {content:'';position: absolute;top: 0;right: 0;width: 100%;height: 100%;display: block;background-color: #fff;z-index: 9;}

#about .block .mainImg h1 {opacity: 0;text-align: center;width: 100%;display: block;position: absolute;bottom: -17px;left: 0;font-size: 4.8rem;color:#00A29A;line-height: 1em;letter-spacing: 2px;}
#about .block.left::before {left: 100px;}
#about .block.right::before {left: 0px;}
#about .block.left .mainImg {margin-right: 100px;}
#about .block.right .mainImg {margin-left: 100px;}
#about .block.left .mainImg h1 {padding-left: 100px;}
#about .block.right .mainImg h1 {padding-right: 100px;}
#about .block .mainImg.img01 {background-image: url(../images/misc/about_01.jpg);}
#about .block .mainImg.img02 {background-image: url(../images/misc/about_02.jpg);}
#about .block .mainImg.img03 {background-image: url(../images/misc/about_03.jpg);}
#about .block .mainImg.img04 {background-image: url(../images/misc/about_04.jpg);}
#about .block .container-sm {}
#about .block .container-sm .flexWrap {padding-bottom: 100px;}
#about .block .container-sm .flexWrap h2 {opacity: 0;width: 300px;font-size: 2.1rem;letter-spacing: 4px;line-height: 2.2em;}
#about .block .container-sm .flexWrap h3 {opacity: 0;width:calc(100% - 300px);font-size: 1.6rem;letter-spacing: 2px;line-height: 2.4em;}
#about .block .container-sm .btn {opacity: 0;position: absolute;right: 0;bottom: -30px;}

#about .block.left.active .mainImg::before {left: -100%;-webkit-transition: all .5s ease;transition: all .5s ease;}
#about .block.right.active .mainImg::before {left:inherit;right: -100%;-webkit-transition: all .5s ease;transition: all .5s ease;}
#about .block.active .mainImg h1 {-webkit-animation: leftin .5s .3s forwards;animation: leftin .5s .3s forwards;}
#about .block.active .container-sm .flexWrap h2 {-webkit-animation: btmin .5s .5s forwards;animation: btmin .5s .5s forwards;}
#about .block.active .container-sm .flexWrap h3 {-webkit-animation: btmin .5s .6s forwards;animation: btmin .5s .6s forwards;}
#about .block.active .container-sm .btn {-webkit-animation: btmin .5s .7s forwards;animation: btmin .5s .7s forwards;}
@media screen and (max-width: 1280px) {
    #about .block::before {width:calc(100% - 50px);}
    #about .block.left::before {left: 50px;}
    #about .block.right::before {left: 0px;}
    #about .block.left .mainImg {margin-right: 50px;}
    #about .block.right .mainImg {margin-left: 50px;}
    #about .block.left .mainImg h1 {padding-left: 50px;}
    #about .block.right .mainImg h1 {padding-right: 50px;}
    #about .block .mainImg h1 {font-size: 3.8rem;}
}
@media screen and (max-width: 1140px) {
    #about .block::before {width:100%;}
    #about .block.left::before {left: 0px;}
    #about .block.right::before {left: 0px;}
    #about .block .container-sm .btn {position: absolute;right: 50px;bottom: -30px;}
}
@media screen and (max-width: 1023px) {
    #about {padding-bottom: 50px;}
    #about .block {position: relative;margin-top: 100px;}
    #about .block .mainImg {height: 400px;margin-bottom: 75px;}
    #about .block::before {top:300px;width:100%;height:calc(100% - 300px);}
    #about .block .mainImg h1 {bottom: -15px;font-size: 3.2rem;}
    #about .block.left .mainImg {margin-right: 25px;}
    #about .block.right .mainImg {margin-left: 25px;}
    #about .block.left .mainImg h1 {padding-left: 25px;}
    #about .block.right .mainImg h1 {padding-right: 25px;}
    #about .block .container-sm .flexWrap {padding-bottom: 75px;}
    #about .block .container-sm .flexWrap h2 {width: 250px;font-size: 1.8rem;letter-spacing: 4px;line-height: 2.2em;}
    #about .block .container-sm .flexWrap h3 {width:calc(100% - 250px);font-size: 1.4rem;letter-spacing: 2px;line-height: 2.2em;}
}
@media screen and (max-width: 767px) {
    #about .block {position: relative;margin-top: 40px;}
    #about .block .mainImg {height: 240px;margin-bottom: 60px;}
    #about .block.left .mainImg {margin-right: 20px;}
    #about .block.right .mainImg {margin-left: 20px;}
    #about .block.left .mainImg h1 {padding-left: 20px;}
    #about .block.right .mainImg h1 {padding-right: 20px;}
    #about .block .mainImg h1 {bottom: -10px;font-size: 2.4rem;}
    #about .block::before {content: none;}
    #about .block .container-sm .flexWrap {padding-bottom: 20px;}
    #about .block .container-sm .flexWrap h2 {width:100%;font-size: 1.8rem;letter-spacing: 2px;line-height: 2.2em;margin-bottom: 20px;text-align: center;}
    #about .block .container-sm .flexWrap h3 {width:100%;font-size: 1.3rem;letter-spacing: 1px;line-height: 2.2em;}
    #about .block .container-sm .btn {position:relative;right:inherit;bottom:inherit;margin: 10px auto 60px;}
}

#practice {padding-bottom: 100px;}
#practice .container-sm {}
#practice .container-sm ul {}
#practice .container-sm ul li {opacity: 0;margin-bottom: 100px;}
#practice .container-sm ul li h2 {position: relative;font-size: 2.4rem;line-height: 2em;padding: 50px 0px 40px 100px;letter-spacing: 4px;}
#practice .container-sm ul li h2::before {content: '';display: block;position: absolute; top: 0;left: 0;width: 100%;height:calc(100% + 12px);border-top: 1px solid #ddd;border-left: 1px solid #ddd;}
#practice .container-sm ul li h2 span {color: #00A29A;font-style: italic;font-size: 1.8rem;margin-right: 20px;position:absolute;top:48px;left: 50px;}
#practice .container-sm ul li h3 {font-size: 1.4rem;margin-left: 130px;line-height: 2em;position:relative;letter-spacing: 2px;}
#practice .container-sm ul li h3::before {content: '';display: block;position: absolute; top: 11px;left: -130px;width: 100px;height:1px;background-color: #ddd;}
#practice .container-sm ul li h4 {margin-top: 50px;margin-bottom: 15px;font-size: 1.4rem;margin-left: 130px;line-height: 2em;position:relative;letter-spacing: 2px;}
#practice .container-sm ul li .download {position: relative;padding-left: 20px;background-color: #F9F9F9;margin-left: 130px;height: 50px;line-height: 50px;font-size: 1.4rem;}
#practice .container-sm ul li .download a {background-color:#00A29A; color: #fff;position: absolute;top:0;right: 0;height: 50px;line-height: 50px;text-align: center;width: 200px;}
#practice .note {opacity: 0;background-color: #F9F9F9;padding: 35px 50px;font-size: 1.4rem;line-height: 2.4em;}

#practice .container-sm ul li.active {-webkit-animation: leftin .5s forwards;animation: leftin .5s forwards;}
#practice .note.active {-webkit-animation: leftin .5s forwards;animation: leftin .5s forwards;}
@media screen and (max-width: 1023px) {
    #practice {padding-bottom: 75px;}
    #practice .container-sm ul li {margin-bottom: 75px;}
    #practice .container-sm ul li h2 {font-size: 1.8rem;padding: 30px 0px 20px 70px;letter-spacing: 1px;}
    #practice .container-sm ul li h2 span {font-size: 1.6rem;top:28px;left: 30px;}
    #practice .container-sm ul li h3 {font-size: 1.3rem;margin-left: 100px;line-height: 2em;position:relative;letter-spacing: 2px;}
    #practice .container-sm ul li h3::before {left: -100px;width: 70px;}
    #practice .container-sm ul li h4 {margin-top: 30px;margin-bottom: 10px;font-size: 1.3rem;margin-left: 100px;}
    #practice .container-sm ul li .download {padding-left: 15px;margin-left: 100px;height: 40px;line-height: 40px;font-size: 1.3rem;}
    #practice .container-sm ul li .download a {height: 40px;line-height: 40px;width: 130px;}
    #practice .note {background-color: #F9F9F9;padding: 30px 45px;font-size: 1.3rem;line-height: 2.2em;}
}
@media screen and (max-width: 767px) {
    #practice {padding-bottom: 40px;}
    #practice .container-sm ul li {margin-bottom: 40px;}
    #practice .container-sm ul li h2 {font-size: 1.6rem;padding: 20px 0px 10px 60px;letter-spacing: 1px;}
    #practice .container-sm ul li h2 span {font-size: 1.4rem;top:19px;left: 22px;}
    #practice .container-sm ul li h3 {font-size: 1.2rem;margin-left: 60px;line-height: 2em;position:relative;letter-spacing: 1px;}
    #practice .container-sm ul li h3::before {left: -60px;width: 40px;}
    #practice .container-sm ul li h4 {margin-top: 30px;margin-bottom: 10px;font-size: 1.2rem;margin-left: 60px;}
    #practice .container-sm ul li .download {padding-left: 15px;margin-left: 60px;height: 65px;line-height: 30px;font-size: 1.2rem;letter-spacing: 0;}
    #practice .container-sm ul li .download a {height: 30px;line-height: 30px;width: 100%;position: absolute;top: inherit;bottom: 0;}
    #practice .note {background-color: #F9F9F9;padding: 30px 45px;font-size: 1.3rem;line-height: 2.2em;}

}

#attorneysfee {position: relative;padding-bottom: 50px;}
#attorneysfee .mainImg {display: block;height: 500px;width: 100%;background-color: #000;background-repeat: no-repeat;background-size: cover;background-position:  center;background-image: url(../images/misc/fee.jpg);}
#attorneysfee .mainImg::before {content:'';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background-color: #fff;}
#attorneysfee .container-sm {opacity: 0;background-color: #fff;margin-top:-60px;}
#attorneysfee::before {z-index: -1;content: '';background-color: #F9F9F9;position: absolute;top:100px;width:100%;height:100%;display: block;}
#attorneysfee .flexWrap {padding: 25px 60px;}
#attorneysfee .item {}
#attorneysfee .item a {text-align: center;border: 2px solid #eee;padding: 25px 25px;display: block;}
#attorneysfee .item a img {width: 50px;margin: 0 auto 25px;}
#attorneysfee .item a h2 {font-size: 1.4rem;letter-spacing: 1px;line-height:1.6em;}
#attorneysfee .item a h2.first {font-size: 1.6rem;letter-spacing: 2px;line-height:50px;}
#attorneysfee .item a p {font-family: 'Lato', serif;font-weight:300;font-size: 1.2rem;border-top: 1px solid #ddd;padding-top: 10px;margin-top: 15px;letter-spacing: 2px;}
#attorneysfee .item a:hover {border: 2px solid #00A29A;}
#attorneysfee.active .mainImg::before {left:100%;-webkit-transition: all .5s ease;transition: all .5s ease;}
#attorneysfee.active .container-sm {-webkit-animation: btmin .5s .5s forwards;animation: btmin .5s .5s forwards;}
@media screen and (max-width: 1124px) {
    #attorneysfee {position: relative;padding-bottom: 0px;}
    #attorneysfee .container-sm {margin: 0 10px;width: auto;margin-top:-60px;}
    #attorneysfee .flexWrap {padding: 25px 0px;}
    #attorneysfee .item a {padding: 20px;}
}
@media screen and (max-width: 1023px) {
    #attorneysfee {position: relative;padding-bottom: 0px;}
    #attorneysfee .mainImg {height: 400px;}
    #attorneysfee .container-sm {margin: 0 50px;width: auto;margin-top:-50px;}
    #attorneysfee .flexWrap {padding: 30px 0px;}
    #attorneysfee .item {width: 50%;}
    #attorneysfee .item a {text-align: center;border: 2px solid #eee;padding: 25px 25px;display: block;}
    #attorneysfee .item a h2 {font-size: 1.4rem;letter-spacing: 1px;line-height:1.6em;}
    #attorneysfee .item a h2.first {font-size: 1.4rem;letter-spacing: 1px;line-height:50px;}
    #attorneysfee .item a p {font-size: 1rem;}
    #attorneysfee::before {top:50px;}
}
@media screen and (max-width: 767px) {
    #attorneysfee .mainImg {height: 320px;background-image: url(../images/misc/fee_sp.jpg);}
    #attorneysfee .container-sm {margin: 0 20px 20px;margin-top:-20px;padding: 20px 20px 0;}
    #attorneysfee .flexWrap {padding: 0px 0px;}
    #attorneysfee .item {width: 100%;}
    #attorneysfee .item {margin-bottom: 20px;}
    #attorneysfee .item a {padding: 20px;}
    #attorneysfee .item a img {width: 30px;margin: 0 auto 20px;}
    #attorneysfee .item a h2 {font-size: 1.3rem;letter-spacing: 1px;line-height:1.6em;}
    #attorneysfee .item a h2.first {font-size: 1.3rem;letter-spacing: 1px;line-height:50px;}
}

#policy {font-size: 1.4rem;line-height: 2.2em;padding-bottom: 100px;}
#policy .note {background-color: #F9F9F9;padding: 35px 50px;margin-bottom: 50px;}
#policy dl {}
#policy dl > dt {text-align: left;letter-spacing: 0px;width: 30%;border-top: 1px solid #ddd;display: block;margin: 0;padding:20px 0px;float: left;}
#policy dl > dd {width: 70%;border-top: 1px solid #ddd;display: block;margin: 0;padding:20px 0;margin-left: 30%;padding-left: 40px;}
#policy dl > dd a {text-decoration: underline;color: #00A29A;}
#policy dl > dd p {font-weight:bold;margin-bottom: 25px;}
#policy dl > dd ul {letter-spacing: 1px;margin-top:10px;}
#policy dl > dd ul li {padding-left: 5px;margin-top: 5px;display: list-item;list-style-type:decimal;margin-left: 25px;}
#policy dl > dd ul li:first-child {margin-top: 0;}
#policy dl > dd ul li > ul {margin-bottom: 10px;}
#policy dl > dd ul li > ul > li {list-style-type: katakana;}
#policy dl > dd .text-right {margin-top: 20px;}
@media screen and (max-width: 1023px) {
    #policy .note {padding: 25px;margin-bottom: 25px;}
    #policy {font-size: 1.3rem;line-height: 2.1em;padding-bottom: 50px;}
}
@media screen and (max-width: 767px) {
    #policy {font-size: 1.3rem;line-height: 2.1em;padding-bottom: 40px;}
    #policy .note {padding: 20px;margin-bottom: 20px;}
    #policy dl > dt {padding: 15px　0;width: 100%;float:none;font-size: 1.4rem;font-weight: bold;}
    #policy dl > dd {padding: 0 0 15px;width: 100%;margin-left:0;padding-left: 0;border-top: none;}
}


#member {padding-bottom: 100px;}
#member .container-sm {opacity: 0;}
#member .container-sm ul {}
#member .container-sm ul.border {padding-top: 50px;position: relative;}
#member .container-sm ul.border::before {content:'';position: absolute; top: 25px;left: 25px;width: calc(100% - 50px);height: 1px;display: block;background-color: #eee;}
#member .container-sm ul li:nth-child(1),
#member .container-sm ul li:nth-child(2),
#member .container-sm ul li:nth-child(3),
#member .container-sm ul li:nth-child(4),
#member .container-sm ul li:nth-child(5),
#member .container-sm ul li:nth-child(6),
#member .container-sm ul li:nth-child(7),
#member .container-sm ul li:nth-child(8) {opacity: 0;}
#member .container-sm ul li .office {font-size: 1.8rem;letter-spacing: 3px;}
#member .container-sm ul li a {text-align: center;line-height: 1em;}
#member .container-sm ul li a figure {overflow: hidden;margin-bottom: 25px;position: relative;}
#member .container-sm ul li a figure span {position: absolute;bottom: 0;right: 0;display: block;background-color: #00A29A;width: 60px;height: 20px;line-height: 20px;font-size: 1.0rem;text-align: center;color: #fff;}

#member .container-sm ul li a figure::before {position: absolute;top: 0;left: -60%;z-index: 0;content: '';width: 180%;height: 100%;background:rgba(255,255,255,0.25);transform-origin: right top;transform: skewX(30deg) scale(0, 1);transition: transform .3s;-webkit-transition:transform .3s ease;}
#member .container-sm ul li a:hover figure::before {  transform-origin: left top;transform: skewX(30deg) scale(1, 1);z-index: 999;}

#member .container-sm ul li a p {margin-bottom: 25px;font-size: 1rem;line-height:10px;height:10px;}
#member .container-sm ul li a h3 .ja {font-size: 1.8rem;letter-spacing: 6px;margin: 0 0 15px;}
#member .container-sm ul li a h3 .en {font-size: 1rem;letter-spacing: 2px;margin: 0;}
#member .note { text-align: center;padding: 75px 0 150px;}

#member .container-sm.active {-webkit-animation: btmin .5s 1s forwards;animation: btmin .5s 1s forwards;}
#member .container-sm.active ul li:nth-child(1) {-webkit-animation: btmin .5s 1.2s forwards;animation: btmin .5s 1.2s forwards;}
#member .container-sm.active ul li:nth-child(2) {-webkit-animation: btmin .5s 1.3s forwards;animation: btmin .5s 1.3s forwards;}
#member .container-sm.active ul li:nth-child(3) {-webkit-animation: btmin .5s 1.4s forwards;animation: btmin .5s 1.4s forwards;}
#member .container-sm.active ul li:nth-child(4) {-webkit-animation: btmin .5s 1.5s forwards;animation: btmin .5s 1.5s forwards;}
#member .container-sm.active ul li:nth-child(5) {-webkit-animation: btmin .5s 1.6s forwards;animation: btmin .5s 1.6s forwards;}
#member .container-sm.active ul li:nth-child(6) {-webkit-animation: btmin .5s 1.7s forwards;animation: btmin .5s 1.7s forwards;}
#member .container-sm.active ul li:nth-child(7) {-webkit-animation: btmin .5s 1.8s forwards;animation: btmin .5s 1.8s forwards;}
#member .container-sm.active ul li:nth-child(8) {-webkit-animation: btmin .5s 1.9s forwards;animation: btmin .5s 1.9s forwards;}
@media screen and (max-width: 1023px) {
    #member .container-sm ul.border {padding-top: 40px;}
    #member .container-sm ul.border::before {content:'';position: absolute; top: 20px;left: 20px;width: calc(100% - 35px);height: 1px;display: block;background-color: #eee;}
    #member .container-sm ul li {width: 33.3333%;}
    #member .container-sm ul li a p {margin-bottom: 15px;font-size: 1rem;}
    #member .container-sm ul li a h3 .ja {font-size: 1.6rem;letter-spacing: 6px;margin: 0 0 15px;}
    #member .container-sm ul li a h3 .en {font-size: 1rem;letter-spacing: 3px;margin: 0;}
    #member .container-sm ul li.top {width: 100%;}
    #member .container-sm ul li .office {font-size: 1.8rem;letter-spacing: 2px;text-align: center;margin:10px 0px;}
}
@media screen and (max-width: 767px) {
    #member .container-sm ul {margin: 0 -10px;}
    #member .container-sm ul li {width: 50%!important;padding: 0 10px 40px;}
    #member .container-sm ul li a p {margin-bottom: 10px;font-size: 1rem;}
    #member .container-sm ul li a h3 .ja {font-size: 1.4rem;letter-spacing: 4px;margin: 0 0 10px;}
    #member .container-sm ul li a h3 .en {font-size: 1rem;letter-spacing: 2px;margin: 0;}
    #member .container-sm ul.border {padding-top: 40px;}
    #member .container-sm ul.border::before {content:'';position: absolute; top: 0px;left: 10px;width: calc(100% - 20px);}
    #member .container-sm ul li.top {width: 100%!important;}
    #member .container-sm ul li .office {font-size: 1.6rem;letter-spacing: 2px;text-align: center;margin:0px 0px;}
    #member .note { text-align: center;padding: 0px 20px 40px;font-size: 1.2rem;}
}

#detail {padding-bottom: 100px;opacity: 0;}
#detail .top {position: relative;padding-bottom: 50px;margin-bottom: 100px;}
#detail .top::before {content: '';background-color: #F9F9F9;position: absolute;bottom: 0;left: 0;width: 100%;height:calc(100% - 180px);}
#detail .top .item_inner {display: block;margin-left: 75px;}
#detail .top figure {position: relative;}
#detail .top figure span {position: absolute;bottom: 0;right: 0;display: block;background-color: #00A29A;width: 100px;height: 30px;line-height: 30px;font-size: 1.4rem;text-align: center;color: #fff;}
#detail .top .name {height: 180px;}
#detail .top .name p {font-size: 1.4rem;margin-bottom: 25px;line-height: 1.6em;}
#detail .top .name .ja {font-size: 4.2rem;margin-bottom: 25px;letter-spacing: 10px;line-height: 1em;}
#detail .top .name .en {font-size: 1.8rem;letter-spacing: 5px;line-height: 1em;}
#detail .top .lang {font-size: 1.6rem;padding-left: 100px;margin-top: 50px;position: relative;}
#detail .top .lang h2 {position: absolute; top:0;left: 0;line-height: 20px;}
#detail .top .lang ul { font-size: 0;margin: 0;padding: 0;}
#detail .top .lang ul li {margin-right: 5px;padding:0 15px;line-height: 25px;font-size: 1.3rem;display: inline-block;border: 1px solid #000;background-color: #fff;}
#detail .top .lang .profile {height: 42px;width: 100%;display: block;border: 1px solid #ddd;background-color: #fff;margin-top: 5px;transition: all .3s ease;-webkit-transition:all .3s ease;}
#detail .top .lang .profile a {position: relative;line-height: 40px;padding-left: 15px;font-size: 1.3rem;display: block;}
#detail .top .lang .profile a img {width: 25px;margin-right: 15px;}
#detail .top .lang .profile a .fa-arrow-alt-circle-down {position: absolute; right: 10px;top: 50%;color: #ccc;font-size: 1.8rem;margin-top: -9px;transition: all .3s ease;-webkit-transition:all .3s ease;}
#detail .top .lang .profile:hover {border: 1px solid #000;}
#detail .top .lang .profile a:hover .fa-arrow-alt-circle-down {color: #ff0000;}

#detail .top .contact {font-size: 1.6rem;padding-left: 100px;margin-top: 35px;position: relative;}
#detail .top .contact h2 {position: absolute; top:0;left: 0;}
#detail .top .contact ul {letter-spacing: 2px;padding-bottom: 25px;}
#detail .top .contact ul li {font-size: 1.8rem;margin-bottom: 7px;}
#detail .top .contact ul li:last-child {margin-bottom: 0;}
#detail .top .contact ul li span {font-size: 1.3rem;margin-right: 5px;}
#detail .top .contact ul.url li span {display: block;width: 100%;}
#detail .top .contact ul.url li a {font-size: 1.4rem;color: #00A29A;text-decoration: underline;}
#detail .top .contact .btn {width: 100%!important;}
#detail .top .contact p {font-size: 1.3rem;margin-top: 15px;line-height: 1.8em;}

#detail .top .inner {position: relative;margin-top: 100px;}
#detail .top .inner .title {position: absolute; top: 0;left: 0;}
#detail .top .inner .title .link {margin-top: 150px;}
#detail .top .inner .postList {padding-left: 250px;min-height: 300px;}
#detail .top .inner .postList dl {}
#detail .top .inner .postList dl dt {padding-left: 50px;width: 180px;float: left;}
#detail .top .inner .postList dl dt .cat {border: 1px solid #000;background-color: #fff;line-height: 24px;text-align: center;font-size: 1.2rem;margin-bottom: 10px;}
#detail .top .inner .postList dl dt .date {text-align: center;letter-spacing: 1px;letter-spacing: 2px;}
#detail .top .inner .postList dl dd {margin-left: 200px;margin-bottom: 25px;}
#detail .top .inner .postList dl dd a {opacity: 1;transition: all .3s ease;-webkit-transition:all .3s ease;}
#detail .top .inner .postList dl dd a h2 {line-height: 2.4em;padding-bottom: 20px;margin-bottom: 20px;transition: all .3s ease;-webkit-transition:all .3s ease;}
#detail .top .inner .postList dl dd a:hover h2,
#detail .top .inner .postList dl dd a:hover ul {opacity: 0.5!important;}

#detail .middle {}
#detail .middle h1 {z-index: 0;margin-bottom: 100px;font-size: 2.4rem;position: relative;text-align: center;}
#detail .middle h1 span {display: inline-block;background-color: #fff;padding: 0 50px;}
#detail .middle h1::before {content:'';width: 100%;height: 1px;background-color: #000;display: block;position: absolute; top: 50%;left: 0;z-index: -1;}
#detail .middle h2 {font-size: 2.1rem;padding-left: 50px;line-height: 1rem;margin-bottom: 50px;display: block;position: relative;letter-spacing: 3px;}
#detail .middle h2::before {content: '';width: 30px;height: 1px;background-color: #707070;display: block; position: absolute;left: 0;top: 50%;}
#detail .middle .textArea {font-size: 1.5rem;line-height: 2.2em;margin-bottom: 100px;}
#detail .middle ul {font-size: 1.5rem;margin-bottom: 100px;}
#detail .middle ul li:first-child {border-top: 1px solid #eee;}
#detail .middle ul li:nth-of-type(even) {background-color: #F9F9F9;}
#detail .middle ul li {padding: 15px 35px;border-bottom: 1px solid #eee;display: block;}
#detail .middle ul li a {color:#00A29A;}
#detail .middle ul li a img {width: 20px;margin-right: 5px;}
#detail .middle ul li a .fa-external-link-alt {margin-left: 5px;font-size: 1.2rem;}
#detail .middle ul li a:hover {color:#D61F15;text-decoration: underline;}
#detail .middle dl {font-size: 1.5rem;margin-bottom: 100px;}
#detail .middle dl dt {width: 300px;float: left;padding: 15px 35px;border-top: 1px solid #eee;text-align: right;}
#detail .middle dl dd {margin-left: 300px;padding: 15px 35px;border-top: 1px solid #eee;}
#detail .middle dl dt:nth-of-type(even),
#detail .middle dl dd:nth-of-type(even) {background-color: #F9F9F9;}
#detail .middle dl{border-bottom: 1px solid #eee;}

#detail .bottom {padding-top: 50px;}
#detail .bottom .contactArea {background-color: #F9F9F9;padding: 50px 25px;border: 1px solid #ddd;}
#detail .bottom .contactArea .item {padding: 0 25px!important;}
#detail .bottom .contactArea figure {position: relative;}
#detail .bottom .contactArea figure span {position: absolute;bottom: 0;right: 0;display: block;background-color: #00A29A;width: 80px;height: 25px;line-height: 25px;font-size: 1.3rem;text-align: center;color: #fff;}
#detail .bottom .contactArea .name {padding-top: 60px;}
#detail .bottom .contactArea .name .katagaki {font-size: 1rem;letter-spacing: 2px;margin-bottom: 35px;}
#detail .bottom .contactArea .name .ja {font-size: 3.2rem;letter-spacing: 6px;margin-bottom: 20px;}
#detail .bottom .contactArea .name .en {font-size: 1.2rem;letter-spacing: 3px;}
#detail .bottom .contactArea h2 {font-size: 1.6rem;margin-top: 60px;margin-bottom: 25px;}
#detail .bottom .contactArea ul {letter-spacing: 2px;padding-bottom: 8px;}
#detail .bottom .contactArea ul li {font-size: 1.8rem;margin-bottom: 7px;}
#detail .bottom .contactArea ul li:last-child {margin-bottom: 0;}
#detail .bottom .contactArea ul li span {font-size: 1.3rem;margin-right: 5px;}
#detail .bottom .contactArea .btn {width: 100%!important;margin-top: 25px;}
@media screen and (max-width: 1124px) {
    #detail .top .item_inner {display: block;margin-left: 50px;}
}
@media screen and (max-width: 1023px) {
    #detail {padding-bottom: 0px;}
    #detail .top {position: relative;padding-bottom: 25px;margin-bottom: 75px;}
    #detail .top::before {height:calc(100% - 150px);}
    #detail .top .item_inner {display: block;margin-left: 50px;}
    #detail .top .item:first-child {width: 40%;}
    #detail .top .item:last-child {width: 60%;}
    #detail .top .name {height: 150px;}
    #detail .top .name p {font-size: 1.3rem;letter-spacing: 2px;margin-bottom: 25px;line-height: 1em;}
    #detail .top .name .ja {font-size: 3rem;margin-bottom: 25px;letter-spacing: 10px;line-height: 1em;}
    #detail .top .name .en {font-size: 1.3rem;letter-spacing: 4px;line-height: 1em;}
    #detail .top .lang {font-size: 1.4rem;padding-left: 80px;}
    #detail .top .lang ul {margin-bottom: 15px;}
    #detail .top .lang ul li {padding:0 10px;font-size: 1.1rem;}
    #detail .top .lang .profile a {font-size: 1.2rem;}
    #detail .top .lang .profile a img {width: 20px;}
    #detail .top .contact {font-size: 1.6rem;padding-left: 80px;margin-top: 35px;position: relative;}
    #detail .top .contact h2 {position: absolute; top:0;left: 0;}
    #detail .top .contact ul li {font-size: 1.5rem;margin-bottom: 7px;}
    #detail .top .contact ul li span {font-size: 1.2rem;}
    #detail .top .contact .btn {width: 100%;}
    #detail .top .contact p {font-size: 1.1rem;letter-spacing: 0;}
    #detail .top .inner {position: relative;margin-top: 100px;}
    #detail .top .inner .title {margin-bottom: 50px;position: relative; top: inherit;left: inherit;text-align: center;}
    #detail .top .inner .title .link {margin: 50px auto 0;}
    #detail .top .inner .postList {padding-left:0px;min-height:auto;}
    #detail .top .inner .postList dl {}
    #detail .top .inner .postList dl dt {padding-left: 0px;width: 120px;float: left;}
    #detail .top .inner .postList dl dt .cat {font-size: 1.2rem;}
    #detail .top .inner .postList dl dt .date {font-size: 1.2rem;text-align: center;letter-spacing: 1px;letter-spacing: 2px;}
    #detail .top .inner .postList dl dd {margin-left: 160px;margin-bottom: 25px;}
    #detail .top .inner .postList dl dd a h2 {font-size: 1.4rem;padding-bottom: 20px;margin-bottom: 20px;}

    #detail .middle {}
    #detail .middle h1 {margin-bottom: 50px;font-size: 2.1rem;}
    #detail .middle h1 span {padding: 0 30px;}
    #detail .middle h2 {font-size: 1.8rem;padding-left: 30px;margin-bottom: 50px;}
    #detail .middle h2::before {width: 20px;}
    #detail .middle .textArea {font-size: 1.4rem;line-height: 2.2em;margin-bottom: 50px;}
    #detail .middle ul {font-size: 1.4rem;margin-bottom: 50px;}
    #detail .middle ul li {padding: 15px 15px;letter-spacing: 0px;}
    #detail .middle dl {font-size: 1.4rem;margin-bottom: 50px;}
    #detail .middle dl dt {width: 180px;padding: 15px 15px;}
    #detail .middle dl dd {margin-left: 180px;padding: 15px 15px;}

    #detail .bottom {padding-top: 50px;}
    #detail .bottom .contactArea {background-color: #F9F9F9;padding: 30px 15px;border: 1px solid #ddd;}
    #detail .bottom .contactArea .item {padding: 0 15px!important;}
    #detail .bottom .contactArea .name {padding-top: 30px;padding-left: 15px;}
    #detail .bottom .contactArea .name .katagaki {font-size: 1rem;letter-spacing: 1px;margin-bottom: 25px;}
    #detail .bottom .contactArea .name .ja {font-size: 2.4rem;letter-spacing: 6px;margin-bottom: 20px;}
    #detail .bottom .contactArea .name .en {font-size: 1.1rem;letter-spacing: 2px;}
    #detail .bottom .contactArea h2 {font-size: 1.6rem;margin-top: 0px;margin-bottom: 20px;}
    #detail .bottom .contactArea ul {letter-spacing: 2px;padding-bottom: 8px;}
    #detail .bottom .contactArea ul li {font-size: 1.4rem;margin-bottom: 5px;}
    #detail .bottom .contactArea ul li span {font-size: 1.2rem;margin-right: 5px;}
    #detail .bottom .contactArea .btn {width: 100%!important;margin-top: 15px;}
    #detail .bottom .contactArea .btn span {display: none;}
}
@media screen and (max-width: 767px) {
    #detail {padding-bottom: 40px;}
    #detail .top {position: relative;padding-bottom: 20px;margin-bottom: 40px;}
    #detail .top::before {content: '';background-color: #F9F9F9;position: absolute;bottom: 0;left: 0;width: 100%;height:calc(100% - 180px);}
    #detail .top .item_inner {display: block;margin-left: 0px;}
    #detail .top .item:first-child {width: 100%;margin-bottom: 40px;}
    #detail .top .item:last-child {width: 100%;}
    #detail .top .name {height: 140px;text-align: center;padding-bottom: 0;}
    #detail .top .name p {font-size: 1.2rem;margin-bottom: 20px;line-height: 1em;}
    #detail .top .name .ja {font-size: 2.8rem;margin-bottom: 20px;letter-spacing: 5px;line-height: 1em;}
    #detail .top .name .en {font-size: 1.2rem;letter-spacing: 4px;line-height: 1em;}

    #detail .top .lang {font-size: 1.4rem;padding-left: 80px;margin-top: 0px;position: relative;}
    #detail .top .lang h2 {position: absolute; top:0;left: 0;line-height: 20px;}
    #detail .top .lang ul { font-size: 0;margin: 0;padding: 0;margin-bottom: 20px;}
    #detail .top .lang ul li {margin-right: 5px;padding:0 15px;line-height: 20px;font-size: 1.1rem;display: inline-block;border: 1px solid #000;background-color: #fff;}
    #detail .top .lang .profile {height: 42px;width: 100%;display: block;border: 1px solid #ddd;background-color: #fff;margin-top: 5px;transition: all .3s ease;-webkit-transition:all .3s ease;}
    #detail .top .lang .profile a {position: relative;line-height: 40px;padding-left: 15px;font-size: 1.3rem;display: block;}
    #detail .top .lang .profile a img {width: 25px;margin-right: 15px;}
    #detail .top .lang .profile a .fa-arrow-alt-circle-down {position: absolute; right: 10px;top: 50%;color: #ccc;font-size: 1.8rem;margin-top: -9px;transition: all .3s ease;-webkit-transition:all .3s ease;}
    #detail .top .lang .profile:hover {border: 1px solid #000;}
    #detail .top .lang .profile a:hover .fa-arrow-alt-circle-down {color: #ff0000;}

    #detail .top .contact {font-size: 1.4rem;padding-left: 80px;margin-top: 20px;position: relative;}
    #detail .top .contact ul {letter-spacing: 2px;padding-bottom: 25px;}
    #detail .top .contact ul li {font-size: 1.4rem;margin-bottom: 5px;}
    #detail .top .contact ul li span {font-size: 1.2rem;margin-right: 5px;}

    #detail .top .inner {position: relative;margin-top: 60px;}
    #detail .top .inner .title {position:relative; top: inherit;left: inherit;}
    #detail .top .inner .title .link {margin: 40px auto;}
    #detail .top .inner .postList {padding-left: 0px;}
    #detail .top .inner .postList dl {}
    #detail .top .inner .postList dl dt {padding-left: 0px;width: 100%;float: left;}
    #detail .top .inner .postList dl dt .cat {line-height: 20px;padding: 0 20px;text-align: center;font-size: 1.1rem;margin-bottom: 20px;float: left;margin-right: 20px;}
    #detail .top .inner .postList dl dt .date {text-align: left;letter-spacing: 1px;letter-spacing: 1px;font-size: 1.2rem;}
    #detail .top .inner .postList dl dd {margin-left: 0;margin-bottom: 20px;}
    #detail .top .inner .postList dl dd a {opacity: 1;transition: all .3s ease;-webkit-transition:all .3s ease;}
    #detail .top .inner .postList dl dd a h2 {font-size: 1.3rem;line-height: 1.8em;padding-bottom: 15px;margin-bottom: 15px;}
    #detail .top h2 {font-size: 1.3rem;letter-spacing: 0;}

    #detail .middle {}
    #detail .middle h1 {margin-bottom: 40px;font-size: 1.8rem;}
    #detail .middle h1 span {padding: 0 30px;}
    #detail .middle h2 {font-size: 1.6rem;padding-left: 30px;margin-bottom: 60px;}
    #detail .middle h2::before {width: 15px;}
    #detail .middle .textArea {font-size: 1.3rem;line-height: 2em;margin-bottom: 40px;}
    #detail .middle ul {font-size: 1.3rem;margin-bottom: 40px;}
    #detail .middle ul li {padding: 10px 10px;}

    #detail .middle dl {font-size: 1.3rem;margin-bottom: 60px;}
    #detail .middle dl dt {width: 100%;float:none;padding: 10px 10px 0;text-align: left;}
    #detail .middle dl dd {margin-left: 0;padding: 0px 10px 10px;border-top:none;}
    #detail .middle dl{border-bottom: 1px solid #eee;}

    #detail .bottom {padding-top: 20px;}
    #detail .bottom .contactArea {background-color: #F9F9F9;padding: 30px 10px;border: 1px solid #ddd;}
    #detail .bottom .contactArea .item {padding: 0;}
    #detail .bottom .contactArea .name {padding-top: 40px;text-align: center;}
    #detail .bottom .contactArea .name .katagaki {font-size: 1rem;letter-spacing: 2px;margin-bottom: 20px;}
    #detail .bottom .contactArea .name .ja {font-size: 3rem;letter-spacing: 6px;margin-bottom: 20px;}
    #detail .bottom .contactArea .name .en {font-size: 1.1rem;letter-spacing: 3px;}
    #detail .bottom .contactArea h2 {text-align: center;font-size: 1.4rem;margin-top: 20px;margin-bottom: 20px;}
    #detail .bottom .contactArea ul {text-align: center;letter-spacing: 2px;padding-bottom: 5px;}
    #detail .bottom .contactArea ul li {font-size: 1.4rem;margin-bottom: 5px;}
    #detail .bottom .contactArea ul li span {font-size: 1.2rem;margin-right: 5px;}
    #detail .bottom .contactArea .btn {width: 100%!important;margin-top: 20px;}
}
@media screen and (max-width: 340px) {
    #detail .top .lang ul { font-size: 0;margin: 0;padding: 0;margin-bottom: 20px;}
    #detail .top .lang ul li {padding:0 10px;font-size: 1rem;}
    #detail .top .contact p {font-size: 1rem;letter-spacing: 0;}

}

#news {opacity: 0;}
#news .container-sm {padding: 0 0 75px;}
#news .container-sm .borderTitle {text-align: center;margin-bottom: 75px;font-size: 2.4rem;padding-bottom: 20px;letter-spacing: 2px;}
#news .container-sm .postList {}
#news .container-sm .postList dl {}
#news .container-sm .postList dl dt {width: 150px;float: left;}
#news .container-sm .postList dl dt .cat {border: 1px solid #000;line-height: 24px;text-align: center;font-size: 1.2rem;margin-bottom: 10px;}
#news .container-sm .postList dl dt .date {text-align: center;letter-spacing: 1px;letter-spacing: 2px;}
#news .container-sm .postList dl dd {margin-left: 175px;margin-bottom: 50px;}
#news .container-sm .postList dl dd a {opacity: 1;transition: all .3s ease;-webkit-transition:all .3s ease;}
#news .container-sm .postList dl dd a h2 {line-height: 2.2em;border-bottom: 1px solid #eee;padding-bottom: 10px;margin-bottom: 10px;transition: all .3s ease;-webkit-transition:all .3s ease;}
#news .container-sm .postList dl dd a h2 .new {color: #A31089;font-size: 1.3rem;margin-left: 10px;}
#news .container-sm .postList dl dd a ul {font-size: 0;transition: all .3s ease;-webkit-transition:all .3s ease;}
#news .container-sm .postList dl dd a ul li {line-height: 20px;display: inline-block;font-size: 1.2rem;margin-right: 30px;position: relative;}
#news .container-sm .postList dl dd a ul li::before {content:'';height: 15px; width: 1px;background-color: #000;display: block;position: absolute;right: -15px;top: 3px;transform: rotate(30deg);}
#news .container-sm .postList dl dd a ul li:last-child::before {content: none;}
#news .container-sm .postList dl dd a:hover h2,
#news .container-sm .postList dl dd a:hover ul {opacity: 0.5!important;}
@media screen and (max-width: 1124px) {
    #news .container-sm {padding: 0 50px 75px;}
}
@media screen and (max-width: 1023px) {
    #news .container-sm .borderTitle {margin-bottom: 50px;font-size: 2.1rem;padding-bottom: 15px;letter-spacing: 1px;}
    #news {padding-bottom: 25px;}
    #news .container-sm {padding: 0 35px;}
    #news .container-sm .postList dl dt {padding-left: 0px;width: 120px;float: left;}
    #news .container-sm .postList dl dt .cat {border: 1px solid #000;line-height: 20px;text-align: center;font-size: 1.1rem;margin-bottom: 10px;}
    #news .container-sm .postList dl dt .date {font-size: 1.1rem;text-align: center;letter-spacing: 2px;}
    #news .container-sm .postList dl dd {margin-left: 150px;margin-bottom: 50px;}
    #news .container-sm .postList dl dd a h2 {font-size: 1.3rem;line-height: 2.0em;padding-bottom: 15px;margin-bottom: 15px;}
    #news .container-sm .postList dl dd a ul {font-size: 0;transition: all .3s ease;-webkit-transition:all .3s ease;}
    #news .container-sm .postList dl dd a ul li {line-height: 20px;display: inline-block;font-size: 1.2rem;margin-right: 30px;position: relative;}
    #news .container-sm .postList dl dd a ul li::before {content:'';height: 15px; width: 1px;background-color: #000;display: block;position: absolute;right: -15px;top: 3px;transform: rotate(30deg);}
    #news .container-sm .postList dl dd a ul li:last-child::before {content: none;}
}
@media screen and (max-width: 767px) {
    #news .container-sm .borderTitle {margin-bottom: 50px;font-size: 1.8rem;padding-bottom: 15px;letter-spacing: 1px;}
    #news .container-sm {padding: 0 0px;}
    #news .container-sm .postList {padding: 0 20px}
    #news .container-sm .postList dl dt {padding-left: 0px;width:auto;float:none;margin-bottom: 15px;}
    #news .container-sm .postList dl dt .cat {width: 100px;font-size: 1.0rem;margin-bottom: 0px;float: left;margin-right: 20px;}
    #news .container-sm .postList dl dt .date {font-size: 1.1rem;text-align: left;letter-spacing: 2px;}
    #news .container-sm .postList dl dd {margin-left: 0px;margin-bottom: 40px;}
    #news .container-sm .postList dl dd a h2 {font-size: 1.3rem;line-height: 2rem;padding-bottom: 10px;margin-bottom: 10px;}
    #news .container-sm .postList dl dd a ul li {line-height: 20px;display: inline-block;font-size: 1.1rem;margin-right: 20px;position: relative;}
    #news .container-sm .postList dl dd a ul li::before {height: 12px; width: 1px;right: -10px;top: 3px;}
}

#access {padding-bottom: 100px;opacity: 0;}
#access h1.station {padding: 100px 0 50px;text-align: center;font-size: 1.8rem;line-height: 24px;}
#access h1.station span {display: inline-block;width:18px;height: 18px;margin-right: 10px;border: 5px solid #F62E36;border-radius: 9px;-webkit-border-radius: 9px;position: relative;bottom:-2px;}
#access h2 {font-size: 2.1rem;position: relative;width: 100%;margin-bottom: 25px;}
#access h2 span {display:inline-block;background-color: #fff;padding: 0 50px;}
#access h2 span::before {content: '';position: absolute;top: 50%;left: 0;width: 100%;height: 1px;background-color: #000;z-index: -1;}
#access h3 {font-size: 1.8rem;text-align: center;margin-bottom: 25px;}
#access .col-2 .item {margin-bottom: 50px;}
#access .address {margin-bottom: 25px;font-size: 1.4rem;}
#access dl {font-size: 1.4rem;letter-spacing: 2px;}
#access dl dt {width: 50px;float: left;}
#access dl dd {width:calc(100% - 50px);margin-left: 50px;}
#access .col-3 .item p {margin: 25px auto 0;border-radius: 15px;-webkit-border-radius: 15px;overflow:hidden;border: 1px solid #ddd;font-size: 1.1rem;z-index: 9999;width: 150px;height: 32px;line-height: 30px;display: block;text-align: center; color: #fff;}
#access .col-3 .item p a {background: #fff;color: #000;display: block;height: 30px;line-height: 30px;}
#access .col-3 .item p a:hover {color: #fff;background-color: #00A29A;}
#access .col-3 .item p:hover {border: 1px solid #00A29A;}
@media screen and (max-width: 1023px) {
    #access {padding-bottom: 0px;}
    #access .title {text-align: center;margin-bottom: 50px;}
    #access .container-sm {padding-bottom: 25px;}
    #access h1.station {padding: 100px 0 50px;text-align: center;font-size: 1.6rem;line-height: 24px;}
    #access h1.station span {width:16px;height: 16px;margin-right: 10px;border: 4px solid #F62E36;border-radius: 8px;-webkit-border-radius: 8px;}
    #access .address {margin-bottom: 25px;font-size: 1.2rem;}
    #access dl {font-size: 1.3rem;letter-spacing: 2px;}
    #access h2 {font-size: 1.8rem;position: relative;width: 100%;margin-bottom: 25px;}
    #access h3 {font-size: 1.6rem;text-align: center;margin-bottom: 25px;}
    #access .col-3 .item p {font-size: 1rem;width: 130px;}
}
@media screen and (max-width: 767px) {
    #access .container-sm {margin-top: 0px;padding-bottom: 0px;}
    #access h1.station {margin: 0 auto;padding: 60px 0px 40px;width: 260px;text-align: center;font-size: 1.4rem;line-height: 2.4em;}
    #access h1.station span {width:16px;height: 16px;margin-right: 10px;border: 4px solid #F62E36;border-radius: 8px;-webkit-border-radius: 8px;}
    #access .item {padding: 0 20px;}
    #access .address {margin-bottom: 10px;font-size: 1.2rem;}
    #access dl {font-size: 1.2rem;letter-spacing: 1px;}
    #access dl dt {width: 40px;}
    #access dl dd {width:calc(100% - 40px);margin-left: 40px;}
    #access h2 {font-size: 1.6rem;text-align: left;position: relative;width: 100%;margin-bottom: 20px;}
    #access h3 {font-size: 1.6rem;text-align: left;margin-bottom: 20px;}
    #access .col-3 .item p {float: right;font-size: 1rem;width: 130px;margin-bottom: 40px;margin-top: 20px;}
    #access h2 span {text-align: center;display:block;background-color: #f5f5f5;padding:10px 0px;margin: 0 -20px 40px;}
    #access h2 span::before {content:none;}
}

#recDetail {opacity: 0;padding-bottom: 50px;}
#recDetail h1 {text-align: center;font-size: 3.0rem;margin-bottom: 100px;letter-spacing: 4px;}
#recDetail dl.list > dd ul {letter-spacing: 1px;margin-top:-15px!important;padding-top: 0!important;margin-bottom: 30px;}

#recDetail .recruit_desc {padding-bottom: 100px;}
#recDetail .recruit_desc h2 {text-align: center;line-height: 2.0em;margin-bottom: 50px;font-size: 2.1rem; letter-spacing: 2px;}
#recDetail .recruit_desc h3 {margin-bottom: 50px;font-size: 1.6rem;}
#recDetail .recruit_desc h3 span.marker {display:inline-block;background: linear-gradient(transparent 60%, #ffff66 60%);}
#recDetail .recruit_desc h3 p {position: relative;text-align: center;margin-bottom: 20px;}
#recDetail .recruit_desc h3 p::before {z-index: -1;content: '';height: 1px;width: 100%;display: block;background-color: #ddd;position: absolute;top: 50%;left: 0px;}
#recDetail .recruit_desc h3 p > span {font-size: 1.8rem;display:inline-block;color: #000;background-color:#fff;padding: 0 20px;}
#recDetail .recruit_desc h4 {position: relative;font-size: 1.4rem;padding:25px 25px 20px;background-color: #f5f5f5;border: 1px solid #ddd;}
#recDetail .recruit_desc h4 p {margin-bottom: 5px;position: absolute;top: -15px;}
#recDetail .recruit_desc h4 p > span {line-height: 1em;display:inline-block;color: #fff;background-color: #00A29A;font-weight: bold;padding: 5px 20px;}

#process {margin-bottom: 100px;background-color: #f9f9f9;padding-bottom: 100px;margin-top: 100px;}
#process .title {position: relative;top: -15px;}
#process img.pc {display:block;}
#process img.sp {display:none;}

#process .title {opacity: 0;}
#process img {opacity: 0;}
#process.active .title {-webkit-animation: leftin .5s forwards;animation: leftin .5s forwards;}
#process.active img {-webkit-animation: btmin 1s forwards;animation: btmin 1s forwards;}

#entryBtn {margin-bottom: 150px;}
#entryBtn .entry {width: 500px;margin: 0 auto 20px;}
#entryBtn .entry a {position: relative;display: block;background-color: #A31008;color: #fff;font-size: 2.4rem;height: 100px;line-height: 100px;text-align: center;}
#entryBtn .entry a .fa-chevron-right {position: absolute;right: 25px;top: 50%;line-height: 1em;margin-top: -12px;}
#entryBtn .entry a:hover {background-color: #F0170C;}
#entryBtn .contactLink {width: 500px;margin: 0 auto;}
#entryBtn .contactLink a {font-size: 1.6rem;position: relative;line-height: 1em;display: block;height: 60px;line-height: 60px;text-align: center;background-color: #f9f9f9;border: 1px solid #ddd;}
#entryBtn .contactLink a .fa-chevron-right {position: absolute;right: 25px;top: 50%;margin-top: -8px;}
#entryBtn .contactLink a:hover {background-color: #ddd;}
@media screen and (max-width: 1023px) {
    #recDetail h1 {font-size: 2.4rem;margin-bottom: 50px;letter-spacing: 3px;}
    #process {margin-bottom: 50px;padding-bottom: 50px;margin-top: 100px;}
    #process .title {position: relative;top: -15px;margin-bottom: 40px;}
    #entryBtn {margin-bottom: 75px;}
    #entryBtn .entry {width: 400px;margin: 0 auto 15px;}
    #entryBtn .entry a {font-size: 1.8rem;height: 80px;line-height: 80px;}
    #entryBtn .entry a .fa-chevron-right {font-size: 1.6rem;right: 25px;top: 50%;margin-top: -8px;}
    #entryBtn .contactLink {width: 400px;}
    #entryBtn .contactLink a {font-size: 1.4rem;height: 50px;line-height: 50px;}
    #entryBtn .contactLink a .fa-chevron-right {font-size: 1.3rem;margin-top: -7px;}

    #recDetail .recruit_desc {padding-bottom: 50px;}
    #recDetail .recruit_desc h2 {margin-bottom: 50px;font-size: 1.8rem; letter-spacing: 1px;}
    #recDetail .recruit_desc h3 {margin-bottom: 50px;font-size: 1.4rem;}
    #recDetail .recruit_desc h3 br {display: none;}
    #recDetail .recruit_desc h3 span.marker {display:block;background:none;margin-top: 20px;color: #00A29A;}
    #recDetail .recruit_desc h3 p {position: relative;text-align: center;margin-bottom: 20px;}
    #recDetail .recruit_desc h3 p::before {z-index: -1;content: '';height: 1px;width: 100%;display: block;background-color: #ddd;position: absolute;top: 50%;left: 0px;}
    #recDetail .recruit_desc h3 p > span {font-size: 1.6rem;padding: 0 20px;}
    #recDetail .recruit_desc h4 {position: relative;font-size: 1.3rem;padding:25px 20px 15px;background-color: #f5f5f5;border: 1px solid #ddd;}
    #recDetail .recruit_desc h4 p {margin-bottom: 5px;top: -10px;}
    #recDetail .recruit_desc h4 p > span {line-height: 1em;font-size: 1.3rem;padding: 5px 20px;}

}
@media screen and (max-width: 767px) {
    #recDetail h1 {font-size: 2.1rem;margin-bottom: 40px;letter-spacing: 3px;}

    #recDetail .recruit_desc h2 {text-align: left;margin-bottom:35px;font-size: 1.6rem; letter-spacing: 1px;}
    #recDetail .recruit_desc h3 {margin-bottom: 35px;font-size: 1.3rem;}
    #recDetail .recruit_desc h3 p > span {font-size: 1.5rem;padding: 0 15px;}
    #recDetail .recruit_desc h3 span.marker {font-size: 1.3rem;}

    #process {margin-bottom: 40px;padding-bottom: 40px;margin-top: 80px;}
    #process .title {position: relative;top: -15px;margin-bottom: 20px;}
    #process img.pc {display:none;}
    #process img.sp {display:block;}

    #entryBtn {margin-bottom:40px;}
    #entryBtn .entry {width: 300px;margin: 0 auto 15px;}
    #entryBtn .entry a {font-size: 1.8rem;height: 60px;line-height: 60px;}
    #entryBtn .entry a .fa-chevron-right {font-size: 1.4rem;right: 20px;top: 50%;margin-top: -7px;}
    #entryBtn .contactLink {width: 300px;}
    #entryBtn .contactLink a {font-size: 1.3rem;height: 40px;line-height: 40px;}
    #entryBtn .contactLink a .fa-chevron-right {font-size: 1.2rem;margin-top: -7px;right: 20px;}
}

#recruit {padding-top: 220px;}
#recruit .message {position: relative;padding-bottom: 125px;margin-bottom: 200px;}
#recruit .message::before {content: '';position: absolute;top: 15px;left: 0;width: 100%;height:calc(100% - 15px);background-color: #f9f9f9;display: block;}
#recruit .message .title {opacity: 0;margin-bottom: 220px;}
#recruit .message h2 {opacity: 0;font-size: 2.1rem;margin-bottom: 50px;line-height: 2.4em;letter-spacing: 3px;}
#recruit .message h3 {opacity: 0;font-size: 1.4rem;line-height: 2.4em;letter-spacing: 2px;}
#recruit .message .mainImg {opacity: 0;height: 440px;background-color: #000;width:100%;position: absolute; top: -220px;right: -300px;background-image:url(../images/misc/recruit_main.jpg);background-position: center;background-size: cover;}
#recruit .message .anchor {opacity: 0;height: 100px;width: 668px;position: absolute;bottom: -175px;left: 50%;margin-left:-334px;}
#recruit .message .anchor a {position:relative; height: 100px;width: 668px;background-color: #00A29A;display: block;color: #fff;font-size: 1.8rem;text-align: center;padding-top: 25px;letter-spacing: 2px;}
#recruit .message .anchor a .fa-chevron-down {position: absolute;left:50%;bottom: 20px;margin-left: -7px;font-size: 1.4rem;}
#recruit .message .anchor a:hover {background-color: #00635E;}

#recruit .message .active .mainImg {-webkit-animation: rightin .5s forwards;animation: rightin .5s forwards;}
#recruit .message .active .title {-webkit-animation: leftin .5s forwards;animation: leftin .5s forwards;}
#recruit .message .active h2 {-webkit-animation: leftin .5s forwards;animation: leftin .5s forwards;}
#recruit .message .active h3 {-webkit-animation: leftin .5s .2s forwards;animation: leftin .5s .2s forwards;}
#recruit .message .active .anchor{-webkit-animation: btmin .5s .4s forwards;animation: btmin .5s .4s forwards;}

#recruit .feature {margin-bottom: 150px;}
#recruit .feature .title {opacity: 0;}
#recruit .feature h2 {opacity: 0;width: 710px; margin: 0 auto;font-size: 2.1rem;text-align: center;margin-bottom: 60px;line-height: 2.4em;letter-spacing: 2px;}
#recruit .feature .item {opacity: 0;}
#recruit .feature .item h3 {font-size: 2.4rem;line-height: 1em;text-align: center;margin-top: 35px;margin-bottom: 25px;}
#recruit .feature .item h3 span {display: block;color: #00A29A;font-size: 1.2rem;margin-top: 10px;}
#recruit .feature .item h4 {font-size: 1.4rem;letter-spacing: 2px;}
#recruit .feature .item .btn {border: 1px solid #000;}

#recruit .feature .active .title {-webkit-animation: leftin .5s forwards;animation: leftin .5s forwards;}
#recruit .feature .active h2 {-webkit-animation: leftin .5s .2s forwards;animation: leftin .5s .2s forwards;}
#recruit .feature .active .item:nth-child(1) {-webkit-animation: btmin .5s forwards;animation: btmin .5s orwards;}
#recruit .feature .active .item:nth-child(2) {-webkit-animation: btmin .5s .2s forwards;animation: btmin .5s .2s forwards;}
#recruit .feature .active .item:nth-child(3) {-webkit-animation: btmin .5s .4s forwards;animation: btmin .5s .4s forwards;}

#recruit .postList {background-color: rgba(0,162,154,0.1);padding-bottom: 100px;margin-bottom: -50px;}
#recruit .postList .title {opacity: 0;position: relative;top: -15px;margin-bottom: 50px;}
#recruit .postList .item {opacity: 0;}
#recruit .postList .item a {position: relative;background-color: #fff;display: block;padding-bottom: 50px;}
#recruit .postList .item a figure {overflow: hidden;display: block;position:relative;}
#recruit .postList .item a figure::before {position: absolute;top: 0;left: -60%;z-index: 0;content: '';width: 180%;height: 100%;background:rgba(255,255,255,0.25);transform-origin: right top;transform: skewX(30deg) scale(0, 1);transition: transform .3s;-webkit-transition:transform .3s ease;}
#recruit .postList .item a:hover figure::before {  transform-origin: left top;transform: skewX(30deg) scale(1, 1);z-index: 999;}
#recruit .postList .item a::before {content:'';position: absolute;right: 0;bottom:0;width: 0;height: 0;border-style: solid;border-width: 0 0 15px 15px;border-color: transparent transparent #00a29a transparent;}
#recruit .postList .item a h2 {padding: 50px 50px 25px;text-align: center;font-size: 1.8rem;letter-spacing: 2px;}
#recruit .postList .item a .link {position: relative;margin:0 auto;width: 200px;height: 50px;border: 1px solid #000;font-size: 14px;line-height: 52px;padding: 0 20px;transition: all .3s ease;-webkit-transition:all .3s ease;}
#recruit .postList .item a .link span {display: block;position: absolute; top: 20px;right: 20px;height: 8px;width: 8px;border-top: 1px solid #000;border-right: 1px solid #000;transform: rotate(45deg);transition: all .3s ease;-webkit-transition:all .3s ease;}
#recruit .postList .item a:hover {box-shadow: 0px 0px 25px rgba(0,0,0,0.2);}
#recruit .postList .item a:hover .link {background-color: #00A29A;color: #fff;border: 1px solid #00A29A;}
#recruit .postList .item a:hover .link span {right: 15px;border-top: 1px solid #fff;border-right: 1px solid #fff;}
#recruit .postList .title.active {-webkit-animation: leftin .5s forwards;animation: leftin .5s forwards;}
#recruit .postList .col-3.active .item:nth-child(1) {-webkit-animation: btmin .5s forwards;animation: btmin .5s orwards;}
#recruit .postList .col-3.active .item:nth-child(2) {-webkit-animation: btmin .5s .2s forwards;animation: btmin .5s .2s forwards;}
#recruit .postList .col-3.active .item:nth-child(3) {-webkit-animation: btmin .5s .4s forwards;animation: btmin .5s .4s forwards;}


@media screen and (max-width: 1023px) {
    #recruit {padding-top: 100px;}
    #recruit .message {position: relative;padding-bottom: 100px;margin-bottom: 150px;}
    #recruit .message .title {margin-bottom: 140px;}
    #recruit .message h2 {font-size: 1.8rem;margin-bottom: 50px;line-height: 2.4em;letter-spacing: 3px;}
    #recruit .message h3 {font-size: 1.4rem;line-height: 2.4em;letter-spacing: 2px;}
    #recruit .message h3 br {display: none;}
    #recruit .message .mainImg {height: 240px;width:calc(100% - 260px);position: absolute; top: -100px;right: 0px;}
    #recruit .message .anchor {width: 500px;bottom: -150px;margin-left:-250px;}
    #recruit .message .anchor a {width: 500px;font-size: 1.6rem;}
    #recruit .message .anchor a .fa-chevron-down {font-size: 1.3rem;}

    #recruit .feature {margin-bottom: 100px;}
    #recruit .feature h1 {margin-bottom: 50px;}
    #recruit .feature h2 {width:100%; margin: 0;font-size: 1.8rem;text-align: center;margin-bottom: 35px;line-height: 2.4em;letter-spacing: 2px;}
    #recruit .feature .col-2 .item {}
    #recruit .feature .col-2 .item h3 {font-size: 1.8rem;line-height: 1em;text-align: center;margin-top: 35px;margin-bottom: 25px;}
    #recruit .feature .col-2 .item h3 span {font-size: 1.1rem;margin-top: 10px;}
    #recruit .feature .col-2 .item h4 {font-size: 1.3rem;letter-spacing: 1px;}
    #recruit .feature .col-3 .item {width: 33.3333%;}
    #recruit .feature .col-3 .item .btn {width: 100%;}
    #recruit .feature .col-3 .item .btn a {font-size: 1.2rem;}

    #recruit .postList {padding-bottom: 50px;margin-bottom: -50px;}
    #recruit .postList .title {margin-bottom: 25px;}
    #recruit .postList .item a {padding-bottom: 35px;}
    #recruit .postList .item a::before {border-width: 0 0 10px 10px;}
    #recruit .postList .item a h2 {padding: 35px 0px 25px;font-size: 1.6rem;letter-spacing: 1px;}
    #recruit .postList .item a .link {position: relative;margin:0 auto;width: 150px;height: 32px;border: 1px solid #000;font-size: 1.2rem;line-height: 31px;padding: 0 15px;}
    #recruit .postList .item a .link span {display: block;position: absolute; top: 12px;right: 15px;height: 6px;width: 6px;}
    #recruit .postList .item a:hover {box-shadow: 0px 0px 25px rgba(0,0,0,0.2);}
    #recruit .postList .item a:hover .link {background-color: #00A29A;color: #fff;border: 1px solid #00A29A;}
    #recruit .postList .item a:hover .link span {right: 15px;border-top: 1px solid #fff;border-right: 1px solid #fff;}
}
@media screen and (max-width: 767px) {
    #recruit {padding-top: 0px;}
    #recruit .message {position: relative;padding-bottom: 80px;margin-bottom: 100px;}
    #recruit .message::before {content: '';position: absolute;top: 15px;left: 0;width: 100%;height:calc(100% - 15px);background-color: #f9f9f9;display: block;}
    #recruit .message .title {margin-bottom: 300px;}
    #recruit .message .mainImg {height: 240px;background-color: #000;width:100%;position: absolute; top: 80px;right: -20px;}
    #recruit .message h2 {font-size: 1.6rem;margin-bottom: 40px;line-height: 2.2em;letter-spacing: 2px;}
    #recruit .message h2 br,
    #recruit .message h3 br {display: none;}
    #recruit .message h3 {font-size: 1.3rem;line-height: 2.2em;letter-spacing: 1px;}
    #recruit .message .mainImg {height: 240px;background-color: #000;width:100%;position: absolute; top: 80px;right: -20px;}
    #recruit .message .anchor {height: 80px;width: 300px;position: absolute;bottom: -120px;left: 50%;margin-left:-150px;}
    #recruit .message .anchor a {position:relative; height: 80px;width: 300px;font-size: 1.6rem;padding-top: 20px;letter-spacing: 2px;}
    #recruit .message .anchor a .fa-chevron-down {left:50%;bottom: 10px;margin-left: -7px;font-size: 1.3rem;}

    #recruit .feature {margin-bottom: 75px;}
    #recruit .feature h1 {margin-bottom: 50px;}
    #recruit .feature h2 {width:100%; margin: 0;font-size: 1.6rem;text-align: left;margin-bottom: 40px;line-height: 2.2em;letter-spacing: 1px;}
    #recruit .feature h2 br {display: none;}

    #recruit .feature .col-2 .item {padding-bottom: 40px;}
    #recruit .feature .col-2 .item h3 {font-size: 1.8rem;line-height: 1em;text-align: center;margin-top: 35px;margin-bottom: 25px;}
    #recruit .feature .col-2 .item h3 span {font-size: 1.1rem;margin-top: 10px;}
    #recruit .feature .col-2 .item h4 {font-size: 1.3rem;letter-spacing: 1px;}

    #recruit .feature .col-3 .item {padding-bottom: 10px;width: 100%;}
    #recruit .feature .col-3 .item .item .btn {width: 100%;}
    #recruit .feature .col-3 .item .item .btn a {font-size: 1.2rem;}

    #recruit .postList {padding-bottom: 40px;margin-bottom: 0px;}
    #recruit .postList .title {margin-bottom: 0px;}
    #recruit .postList .item {margin:40px 20px 0px;}
    #recruit .postList .item a {padding-bottom: 30px;}
    #recruit .postList .item a h2 {padding: 30px 0px 20px;font-size: 1.4rem;letter-spacing: 1px;}
}


.fadeIn.active {opacity: 1;-webkit-animation: btmin .5s 1s forwards;animation: btmin .5s 1s forwards;}
