@charset "UTF-8";
abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
body {
  line-height: 1
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block
}
nav ul, ul {
  list-style: none
}
blockquote, q {
  quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none
}
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}
del {
  text-decoration: line-through
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0
}
input, select {
  vertical-align: middle
}
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0
}
.slick-list:focus {
  outline: none
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand
}
.slick-slider .slick-list, .slick-slider .slick-track {
  transform: translate3d(0, 0, 0)
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto
}
.slick-track:after, .slick-track:before {
  content: "";
  display: table
}
.slick-track:after {
  clear: both
}
.slick-loading .slick-track {
  visibility: hidden
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none
}
[dir=rtl] .slick-slide {
  float: right
}
.slick-slide img {
  display: block
}
.slick-slide.slick-loading img {
  display: none
}
.slick-slide.dragging img {
  pointer-events: none
}
.slick-initialized .slick-slide {
  display: block
}
.slick-loading .slick-slide {
  visibility: hidden
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent
}
.slick-arrow.slick-hidden {
  display: none
}
html {
  font-size: 62.5%
}
body {
  line-height: 1.67;
  color: #1A1818;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  -webkit-print-color-adjust: exact
}
body input[type=text], body textarea {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
}
body a {
  color: #1A1818;
  text-decoration: none
}
body img {
  max-width: 100%
}
*, :after, :before {
  box-sizing: border-box
}
button {
  cursor: pointer
}
main {
  display: block
}
@media (min-width:768px) {
  .only-sp {
    display: none
  }
}
#header {
  padding: 0 15px 0 30px;
  position: fixed;
  width: 100%;
  height: 80px;
  z-index: 100;
  background-color: #fff;
  box-shadow: 0px 3px 3px 0px rgba(0, 0, 0, 0.05)
}
#header .sitelogo {
  padding: 27.5px 0 0
}
#header .sitelogo a img {
  width: 141px;
  vertical-align: middle
}
#header .sitelogo a span {
  margin: 0 0 0 11px;
  display: inline-block;
  color: #EF4D56;
  font-size: 1.7rem;
  font-weight: bold
}
@media (min-width:1000px) {
  #globalNav {
    position: absolute;
    top: 0;
    right: 15px
  }
  #globalNav .navBtn {
    display: none
  }
  #globalNav .navBodyInner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start
  }
  #globalNav ul {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start
  }
  #globalNav ul li {
    margin: 0 0 0 50px;
    line-height: 20px;
    font-size: 1.5rem
  }
  #globalNav ul li a {
    padding: 30px 0 0;
    position: relative;
    display: block;
    height: 80px
  }
  #globalNav ul li a:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #00C4BC;
    opacity: 0;
    transition: opacity ease 0.3s
  }
  #globalNav ul li a:hover:before {
    opacity: 1
  }
  #globalNav .navContact {
    margin-left: 45px;
    padding: 22px 0 0;
    width: 184px
  }
  #globalNav .navContact a {
    border-radius: 17.5px;
    display: block;
    line-height: 35px;
    color: #fff;
    background-color: #00C4BC;
    font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-weight: bold;
    text-align: center;
    transition: opacity ease 0.3s
  }
  #globalNav .navContact a:before {
    margin-right: 7px;
    content: "";
    display: inline-block;
    width: 21px;
    height: 16px;
    background: url("../img/icon_mail.svg") 0 0 no-repeat;
    background-size: contain;
    vertical-align: text-bottom
  }
  #globalNav .navContact a:hover {
    opacity: 0.8
  }
  .anchorPoint {
    margin-top: -80px;
    padding-top: 80px
  }
}
@media (max-width:1200px) {
  #globalNav .navContact, #globalNav ul li {
    margin-left: 15px
  }
  #globalNav ul li {
    font-size: 1.3rem
  }
}
#footer .footerSearch {
  padding: 70px 0 60px;
  position: relative;
  background-color: #585858
}
#footer .footerSearch:before {
  content: "";
  position: absolute;
  top: -40px;
  left: calc(50% - 44px);
  display: block;
  width: 88px;
  height: 81px;
  background: url("../img/illust_shukun.svg") 0 0 no-repeat;
  background-size: contain
}
#footer .footerSearch .footerSearchTitle {
  margin: 0 0 28px;
  color: #fff;
  font-size: 1.9rem;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
  text-align: center
}
#footer .footerSearch .footerSearchTitle span {
  display: inline-block;
  position: relative
}
#footer .footerSearch .footerSearchTitle span:before {
  content: "";
  position: absolute;
  top: 3px;
  left: -50px;
  display: block;
  width: 26px;
  height: 26px;
  background: url("../img/icon_search.svg") 0 0 no-repeat;
  background-size: contain
}
#footer .footerSearch ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center
}
#footer .footerSearch ul li {
  margin: 0 5px;
  width: 145px
}
#footer .footerSearch ul li a {
  border: 1px #fff solid;
  border-radius: 6px;
  display: block;
  line-height: 43px;
  color: #fff;
  font-size: 1.5rem;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: bold;
  text-align: center;
  transition: background-color ease 0.3s
}
@media (min-width:768px) {
  #footer .footerSearch ul li a:hover {
    background-color: rgba(255, 255, 255, 0.1)
  }
}
#footer .footerInner {
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  max-width: 1120px;
  line-height: 55px;
  font-size: 1.1rem;
  font-weight: 500
}
#footer .footerInner ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start
}
#footer .footerInner ul li {
  margin-right: 2em;
  letter-spacing: 0.1em
}
#footer .footerInner ul li a {
  color: #505050
}
#footer .footerInner .copyright {
  padding: 0 40px 0 0;
  color: #505050
}
#contents {
  padding: 80px 0;
  position: relative
}
.section {
  padding-left: 10%;
  padding-right: 10%
}
.bgGray {
  background-color: #F0F0F0
}
.bgGreen {
  background-color: #00C4BC
}
.last {
  margin-bottom: -80px
}
@media (max-width:999px) {
  #contents {
    padding-top: 66px
  }
}
.pagetop {
  position: fixed;
  right: 70px;
  bottom: 70px;
  width: 70px;
  z-index: 50;
  line-height: 1;
  visibility: hidden;
  opacity: 0;
  transition: opacity ease 0.3s, visibility ease 0.3s
}
.pagetop a {
  display: block;
  transition: opacity ease 0.3s
}
@media (min-width:768px) {
  .pagetop a:hover {
    opacity: 0.8
  }
}
.pagetop.show {
  visibility: visible;
  opacity: 1
}
.pagetop.bottom {
  position: absolute;
  bottom: -35px
}
.button {
  text-align: center
}
.button a {
  display: inline-block;
  transition: opacity ease 0.3s
}
@media (min-width:768px) {
  .button a:hover {
    opacity: 0.9
  }
}
.button.btn01 {
  margin-top: 60px
}
.button.btn01 a, .button.btn01 input {
  border-radius: 40px;
  position: relative;
  width: 420px;
  line-height: 80px;
  background-color: #fff;
  color: #00C4BC;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center
}
.button.btn01 a:after, .button.btn01 input:after {
  content: "";
  display: block;
  border-top: 2px #00C4BC solid;
  border-right: 2px #00C4BC solid;
  position: absolute;
  top: 34px;
  right: 42px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  transition: right ease 0.3s
}
@media (min-width:768px) {
  .button.btn01 a:hover:after, .button.btn01 input:hover:after {
    right: 32px
  }
}
.button.btn02 a {
  border-radius: 30px;
  position: relative;
  width: 350px;
  line-height: 60px;
  background-color: #EF4D56;
  color: #fff;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center
}
.button.btn02 a:after {
  content: "";
  display: block;
  border-top: 2px #fff solid;
  border-right: 2px #fff solid;
  position: absolute;
  top: 24px;
  right: 32px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  transition: right ease 0.3s
}
@media (min-width:768px) {
  .button.btn02 a:hover:after {
    right: 22px
  }
}
.button.btn03 {
  display: inline-block;
  position: relative
}
.button.btn03 a, .button.btn03 input {
  border-radius: 40px;
  position: relative;
  width: 420px;
  height: 80px;
  line-height: 80px;
  background-color: #00C4BC;
  color: #fff;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer
}
@media (min-width:768px) {
  .button.btn03 a:hover + .arrow, .button.btn03 input:hover + .arrow {
    right: 32px
  }
}
.button.btn03 .arrow {
  content: "";
  display: block;
  border-top: 2px #fff solid;
  border-right: 2px #fff solid;
  position: absolute;
  top: 34px;
  right: 42px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  transition: right ease 0.3s;
  pointer-events: none
}
.button.btnMyMyLink {
  margin: 80px 0 0
}
.button.btnMyMyLink a {
  margin: 0 auto;
  border-radius: 50px;
  border: 3px #EF4D56 solid;
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  max-width: 700px;
  line-height: 94px
}
.button.btnMyMyLink a .icon {
  margin-right: 35px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center
}
.button.btnMyMyLink a .icon img {
  width: 168px;
  transition: transform ease 0.3s
}
.button.btnMyMyLink a .text {
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: 500
}
.button.btnMyMyLink a .text:after {
  content: "";
  display: block;
  border-top: 2px #EF4D56 solid;
  border-right: 2px #EF4D56 solid;
  position: absolute;
  top: 42px;
  right: 52px;
  width: 10px;
  height: 10px;
  transform: rotate(45deg);
  transition: right ease 0.3s
}
@media (min-width:768px) {
  .button.btnMyMyLink a:hover .icon img {
    transform: translateX(-10px)
  }
  .button.btnMyMyLink a:hover .text:after {
    right: 42px
  }
}
.itemCardInner {
  padding: 20px;
  border-radius: 8px;
  display: block;
  background-color: #fff
}
.itemCard a {
  transition: background-color ease 0.3s
}
@media (min-width:768px) {
  .itemCard a:hover {
    background-color: rgba(255, 255, 255, 0.9)
  }
  .itemCard a:hover .itemCardImg {
    transform: scale(1.1)
  }
}
.itemCardImgWrap {
  margin: 0 0 12px;
  border-radius: 6px;
  width: 100%;
  overflow: hidden
}
.itemCardImg {
  padding-top: 74.2857142857%;
  width: 100%;
  background-image: url(../img/img_item_dummy.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  transition: transform ease 0.3s
}
.itemCardData dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  line-height: 30px;
  font-size: 1.3rem
}
.itemCardData dl dt {
  padding: 0 0 0 21px;
  position: relative;
  font-weight: 400
}
.itemCardData dl dt .icon {
  position: absolute;
  top: 4px;
  left: 0;
  vertical-align: middle
}
.itemCardData dl dd {
  margin-left: 10px
}
.itemCardData dl dd + dt {
  margin-left: 20px
}
.itemCardData dl dd span {
  padding: 0 1em;
  border-radius: 15px;
  display: block;
  background-color: #F8F3EE
}
.itemCardTitle {
  line-height: 22px;
  font-size: 1.3rem
}
.itemCardTitle .itemCardCat {
  margin-right: 5px;
  border-radius: 3px;
  display: inline-block;
  width: 50px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center
}
.itemCardTitle .itemCardCat.catShort {
  background-color: #FF8E79
}
.itemCardTitle .itemCardCat.cat1day {
  background-color: #7CC231
}
.itemCardTitle .itemCardCat.catLong {
  background-color: #CBDF39
}
.itemCardCompany {
  margin: 11px 0 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between
}
.itemCardCompany .itemCardCompanyLogo {
  padding-right: 10px;
  width: 33.3333333333%
}
.itemCardCompany .itemCardCompanyName {
  width: 66.6666666667%;
  line-height: 1.33;
  font-size: 1.2rem
}
.itemCardCompany .itemCardCompanyName:first-child {
  width: 100%
}
.itemCardLarge .itemCardInner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start
}
.itemCardLarge .itemCardImgWrap {
  margin: 0;
  width: 19.4444444444%
}
.itemCardLarge .itemCardImg {
  width: 100%
}
.itemCardLarge .itemCardData {
  padding: 15px 0 0;
  width: 76.8518518519%
}
.itemCardLarge .itemCardTitle {
  margin: 0 0 22px;
  line-height: 30px;
  font-size: 1.9rem
}
.itemCardLarge .itemCardTitle .itemCardCat {
  margin-right: 10px;
  border-radius: 4px;
  width: 80px;
  font-size: 1.5rem
}
.itemCardLarge .itemCardCompany {
  margin-top: 15px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start
}
.itemCardLarge .itemCardCompany .itemCardCompanyLogo {
  padding-right: 10px;
  width: 74px
}
.itemCardLarge .itemCardCompany .itemCardCompanyName {
  width: calc(100% - 74px);
  font-size: 1.3rem
}
.itemCardLarge .itemCardCompany .itemCardCompanyName:first-child {
  width: 100%
}
.itemList {
  margin: 0 auto;
  max-width: 1120px
}
.itemList li + li {
  margin-top: 20px
}
.newsList li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  line-height: 1.31;
  font-size: 1.3rem
}
.newsList li .newsDate {
  width: 100px
}
.newsList li .newsTitle {
  width: calc(100% - 100px)
}
.newsList li .newsTitle a {
  transition: color ease 0.3s
}
.newsList li .newsTitle a:after {
  margin-left: 65px;
  content: "";
  display: inline-block;
  width: 31px;
  height: 7px;
  background: url("../img/top/icon_arrow_r.svg") 0 0 no-repeat;
  background-size: contain;
  opacity: 0;
  transition: opacity ease 0.3s
}
.newsList li .newsTitle a[target=_blank] {
  color: #00C4BC;
  transition: opacity ease 0.3s
}
.newsList li .newsTitle a[target=_blank]:after {
  margin-left: 10px !important;
  width: 11px;
  height: 9px;
  background: url("../img/icon_other.svg") 0 0 no-repeat;
  background-size: contain;
  opacity: 1
}
@media (min-width:768px) {
  .newsList li .newsTitle a:hover {
    color: rgba(26, 24, 24, 0.8)
  }
  .newsList li .newsTitle a[target=_blank]:hover {
    color: #00C4BC;
    opacity: 0.7
  }
  .newsList li .newsTitle a:hover:after {
    opacity: 1
  }
}
.topicPath ul {
  margin: 0 auto 40px;
  padding: 40px 0 0;
  max-width: 1120px
}
.topicPath ul li {
  display: inline-block;
  color: #B2B2B2;
  line-height: 1;
  font-size: 1.3rem
}
.topicPath ul li:after {
  margin: 0 10px;
  content: ">";
  display: inline-block
}
.topicPath ul li:last-child:after {
  display: none
}
.topicPath ul li a {
  padding: 0 0 6px;
  border-bottom: 1px #B2B2B2 solid;
  display: inline-block;
  color: #B2B2B2
}
@media (min-width:768px) {
  .topicPath ul li a:hover {
    border-bottom-color: transparent
  }
}
.searchArea {
  margin: 40px 0 0
}
.searchArea > * {
  margin-left: auto;
  margin-right: auto;
  max-width: 1120px
}
.searchArea .infoSearch {
  margin-bottom: 25px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}
.searchArea .infoSearch .title {
  font-size: 3rem;
  font-weight: 400
}
.searchArea .infoSearch .title .small {
  font-size: 1.9rem
}
.searchArea .infoSearch .searchPanel {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start
}
.searchArea .infoSearch dl {
  margin-left: 10px;
  padding: 0 13px 0 19px;
  border: 3px #D6D6D6 solid;
  border-radius: 8px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  height: 50px
}
.searchArea .infoSearch dl:first-child {
  margin-left: 0
}
.searchArea .infoSearch dl dt {
  margin-right: 20px;
  font-size: 1.3rem
}
.searchArea .infoSearch dl dd {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  font-size: 1.5rem
}
.searchArea .infoSearch dl dd form {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center
}
.searchArea .infoSearch dl dd .selectStatus {
  color: #B2B2B2
}
.searchArea .infoSearch dl dd .selectStatus.selected {
  color: #00C4BC
}
.searchArea .infoSearch dl dd .selectBtn {
  margin-left: 10px;
  line-height: 1;
  cursor: pointer;
  transition: opacity ease 0.3s
}
@media (min-width:768px) {
  .searchArea .infoSearch dl dd .selectBtn:hover {
    opacity: 0.7
  }
}
.searchArea .infoSearch .searchKeyword form input[type=text] {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 0;
  width: 10em;
  background-color: transparent;
  font-size: 1.5rem;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none
}
.searchArea .infoSearch .searchKeyword form input[type=image] {
  outline: none
}
.searchArea .searchData {
  padding: 0 0 15px;
  border-bottom: 1px #D6D6D6 solid;
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  font-size: 1.3rem;
  letter-spacing: 0.025em
}
.searchArea .searchData .searchNum {
  white-space: nowrap
}
.searchArea .searchData .searchNum .num {
  margin: 0 10px;
  color: #00C4BC;
  font-size: 4rem;
  letter-spacing: 0.04em
}
.searchArea .searchData .selectedList {
  margin-left: 28px;
  padding-top: 32px
}
.searchArea .searchData .selectedList ul {
  display: inline-block
}
.searchArea .searchData .selectedList ul li {
  margin-right: 1em;
  display: inline-block;
  color: #00C4BC
}
.searchArea .searchData .selectedList .selectReset {
  display: inline-block;
  color: #2B2E2E;
  text-decoration: underline;
  cursor: pointer
}
@media (min-width:768px) {
  .searchArea .searchData .selectedList .selectReset:hover {
    text-decoration: none
  }
}
.searchArea .searchData + .searchSort {
  padding-top: 30px
}
.searchArea .searchSort {
  padding-bottom: 30px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center
}
.searchArea .searchSort .pageData {
  font-size: 1.3rem
}
.searchArea .searchSort .sortArea {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center
}
.searchArea .searchSort .sortArea .sortSelect {
  margin-right: 20px;
  position: relative
}
.searchArea .searchSort .sortArea .sortSelect select {
  padding-right: 15px;
  border: none;
  border-radius: 0;
  background-color: transparent;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
.searchArea .searchSort .sortArea .sortSelect:after {
  content: "";
  display: block;
  position: absolute;
  top: 9px;
  right: 0;
  pointer-events: none;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 5px 0 5px;
  border-color: #000 transparent transparent transparent
}
.searchArea .searchSort .sortArea ul li {
  margin-left: 5px;
  display: inline-block;
  line-height: 31px;
  font-size: 1.5rem
}
.searchArea .searchSort .sortArea ul li .current {
  border-radius: 50%;
  display: block;
  width: 31px;
  height: 31px;
  color: #fff;
  background-color: #00C4BC;
  text-align: center
}
.searchArea .searchSort .sortArea ul li a {
  border-radius: 50%;
  display: block;
  width: 31px;
  height: 31px;
  color: #2B2E2E;
  background-color: #F0F0F0;
  text-align: center;
  transition: background-color ease 0.3s, color ease 0.3s
}
@media (min-width:768px) {
  .searchArea .searchSort .sortArea ul li a:hover {
    color: #fff;
    background-color: #00C4BC
  }
}
.searchModal {
  padding: 60px 10%;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  pointer-events: none;
  opacity: 0;
  transition: opacity ease 0.6s
}
.searchModal.modalOpen {
  opacity: 1;
  pointer-events: all
}
.searchModal .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #1A2D2E;
  opacity: 0.6
}
.searchModal .searchBody {
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%
}
.searchModal .searchBodyInner {
  margin: 0 auto;
  border-radius: 10px;
  position: relative;
  max-width: 1120px;
  width: 100%;
  max-height: 100%;
  overflow: hidden;
  background-color: #fff
}
.searchModal .searchBody .title {
  padding: 12px 0;
  border-bottom: 1px #D6D6D6 solid;
  color: #2B2E2E;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center
}
.searchModal .searchBody .closeModal {
  position: absolute;
  top: 17px;
  right: 20px;
  cursor: pointer;
  transition: opacity ease 0.3s
}
@media (min-width:768px) {
  .searchModal .searchBody .closeModal:hover {
    opacity: 0.7
  }
}
.searchModal .searchBody .selectorWrap {
  padding: 0 70px;
  overflow-y: auto
}
.searchModal .searchBody .selectorWrap::-webkit-scrollbar {
  width: 10px
}
.searchModal .searchBody .selectorWrap::-webkit-scrollbar-track {
  background: #F0F0F0;
  border: none;
  border-radius: 10px
}
.searchModal .searchBody .selectorWrap::-webkit-scrollbar-thumb {
  background: #00C4BC;
  border-radius: 10px;
  box-shadow: none
}
.searchModal .searchBody ul {
  padding: 20px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start
}
.searchModal .searchBody ul + ul {
  border-top: 1px #D6D6D6 solid
}
.searchModal .searchBody ul.subcat {
  border-style: dotted
}
.searchModal .searchBody ul li {
  margin: 0 0 20px;
  width: 20%;
  color: #2B2E2E;
  line-height: 20px;
  font-size: 1.5rem
}
.searchModal .searchBody .btnSearch {
  line-height: 70px;
  color: #fff;
  background-color: #00C4BC;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  transition: opacity ease 0.3s
}
@media (min-width:768px) {
  .searchModal .searchBody .btnSearch:hover {
    opacity: 0.7
  }
}
.itemCardsWrap {
  padding-top: 60px
}
.itemCardsWrap .itemCards {
  margin: 0 auto;
  max-width: 1120px
}
.itemCardsWrap .itemCards .title {
  margin: 0 0 40px;
  color: #2B2E2E;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em
}
.itemCardsWrap .itemCards .itemList {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start
}
.itemCardsWrap .itemCards .itemList .itemCard {
  margin-right: 3.5714285714%;
  margin-bottom: 30px
}
.itemCardsWrap .itemCards .itemList .itemCard:nth-child(4n) {
  margin-right: 0
}
.itemCardsWrap .itemCards .itemCard {
  margin-top: 0 !important;
  border-radius: 8px;
  width: 22.3214285714%;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1)
}
.itemCardsWrap.bgGray {
  padding-bottom: 60px
}
.itemCardsWrap.bgGreen {
  padding-bottom: 60px
}
.itemCardsWrap.bgGreen .itemCards .title {
  color: #fff
}
.characterList {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between
}
.characterList li {
  padding: 60px 10px;
  border-radius: 10px;
  width: 30.3571428571%;
  background-color: #fff;
  text-align: center;
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1)
}
.characterList li .icon {
  margin-bottom: 30px
}
.characterList li p {
  line-height: 1.59;
  font-size: 1.7rem
}
.IE11 .searchArea .searchSort .sortArea .sortSelect {
  overflow: hidden
}
.IE11 .searchArea .searchSort .sortArea .sortSelect select {
  width: 130%
}
.IE11 .searchArea .infoSearch .searchKeyword form input[type=text] {
  transform: translateY(-2px)
}
@media (min-width:1000px) {
  .IE11 #globalNav .navContact a {
    padding-top: 10px;
    line-height: 1.5;
    height: 35px
  }
  .IE11 #globalNav .navContact a:before {
    transform: translateY(-3px)
  }
}
@media (max-width:999px) {
  .IE11 #globalNav .navContact a {
    padding-top: 5px
  }
  .IE11 #globalNav .navContact a:before {
    transform: translateY(-3px)
  }
}
.topPage .headArea {
  background-color: #00C4BC
}
.topPage .headAreaInner {
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center
}
.topPage .headArea .hero {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  width: calc(50% + 350px);
  width: 75%;
  height: 570px;
  overflow: hidden;
  background: url("../img/top/bg_hero.jpg") center right no-repeat;
  background-size: cover
}
.topPage .headArea .hero:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(26, 45, 46, 0.5);
  pointer-events: none
}
.topPage .headArea .hero #bubble01 {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%
}
@media (max-width:1400px) {
  .topPage .headArea .hero {
    width: calc(100% - 350px)
  }
}
.topPage .headArea .heroInner {
  padding: 134px 20px 0;
  position: relative;
  width: 100%;
  max-width: 1050px
}
.topPage .headArea .heroTitle {
  margin: 0 0 30px;
  line-height: 1.39;
  color: #fff;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3.6rem;
  font-weight: 500;
  text-align: center
}
.topPage .headArea .heroTitle .small {
  font-size: 2.7rem
}
.topPage .headArea .heroSearch {
  margin: 0 auto;
  border-radius: 10px;
  max-width: 600px;
  background-color: #fff
}
.topPage .headArea .heroSearch form {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center
}
.topPage .headArea .heroSearch input[type=text] {
  margin: 0;
  padding: 24px 25px;
  border: none;
  border-radius: 10px;
  width: calc(100% - 100px);
  line-height: 1.5;
  border-color: transparent;
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none
}
.topPage .headArea .heroSearch input[type=text]::placeholder {
  color: #B2B2B2
}
.topPage .headArea .heroSearch .searchBtn {
  position: relative;
  width: 100px
}
.topPage .headArea .heroSearch .searchBtn:after {
  content: "";
  position: absolute;
  top: calc(50% - 10px);
  left: 0;
  display: block;
  width: 21px;
  height: 21px;
  background: url("../img/icon_search_g.svg") 0 0 no-repeat;
  background-size: contain;
  pointer-events: none
}
.topPage .headArea .heroSearch .searchBtn input {
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 10px;
  width: 100%;
  height: 70px;
  color: #505050;
  background-color: transparent;
  font-size: 1.5rem;
  letter-spacing: 0.15em;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  outline: none
}
.topPage .headArea .heroTags {
  margin: 30px auto 0;
  max-width: 600px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start
}
.topPage .headArea .heroTags li {
  margin-right: 2.1666666667%;
  width: 23.3333333333%
}
.topPage .headArea .heroTags li:nth-child(4n) {
  margin-right: 0
}
.topPage .headArea .heroTags li a {
  border-radius: 4px;
  display: block;
  line-height: 45px;
  color: #fff;
  background-color: #00C4BC;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  transition: opacity ease 0.3s
}
@media (min-width:768px) {
  .topPage .headArea .heroTags li a:hover {
    opacity: 0.8
  }
}
.topPage .headArea .latestInfo {
  position: relative;
  width: calc(50% - 350px);
  width: 25%
}
@media (max-width:1400px) {
  .topPage .headArea .latestInfo {
    width: 350px
  }
}
.topPage .headArea .latestInfoInner {
  margin: 0 auto;
  padding: 40px 45px 0;
  width: 100%;
  max-width: 350px
}
.topPage .headArea .latestInfoTitle {
  margin: 0 0 2px;
  text-align: center
}
.topPage .headArea .latestInfoTitleJp {
  margin: 0 0 22px;
  color: #fff;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.1em
}
.topPage .headArea .latestInfoSlider .itemCard {
  margin: 0 5px
}
.topPage .headArea .latestInfoSlider .slick-arrow {
  margin: 0;
  padding: 0;
  border: none;
  border-top: 2px #fff solid;
  border-right: 2px #fff solid;
  border-radius: 0;
  position: absolute;
  top: 150px;
  width: 10px;
  height: 10px;
  background-color: transparent;
  font-size: 0;
  outline: none
}
.topPage .headArea .latestInfoSlider .slick-arrow.slick-next {
  right: -20px;
  transform: rotate(45deg)
}
.topPage .headArea .latestInfoSlider .slick-arrow.slick-prev {
  left: -20px;
  transform: rotate(-135deg)
}
.topPage .headArea .randomMssg {
  margin: 0 auto;
  padding: 0 30px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 350px;
  height: 100px;
  color: #fff;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
  opacity: 0
}
.topPage .headArea .randomMssg span {
  position: relative;
  top: 10px;
  opacity: 0
}
.topPage .headArea .mascot {
  padding: 50px 0 0 90px;
  position: absolute;
  bottom: -42px;
  left: calc(50% - 50px);
  height: 81px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.1rem;
  font-weight: bold;
  letter-spacing: 0.025em
}
.topPage .headArea .mascot:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 88px;
  height: 81px;
  background: url("../img/illust_shukun.svg") 0 0 no-repeat;
  background-size: contain
}
.topPage .pickupNews {
  margin: 0 auto;
  padding: 38px 10% 38px 2.5714285714%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  max-width: 1400px
}
.topPage .pickupNewsWrap {
  border-bottom: 1px #D6D6D6 dotted
}
.topPage .pickupNews .title {
  padding: 3px 23px 0 0;
  width: 68px;
  line-height: 1
}
.topPage .pickupNews .title img {
  width: 44px
}
.topPage .company {
  padding-top: 60px;
  padding-bottom: 90px
}
.topPage .company .title {
  margin: 0 0 18px;
  text-align: center
}
.topPage .company .titleJP {
  margin: 0 0 80px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center
}
.topPage .company .companyList {
  margin: 0 auto;
  max-width: 880px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}
.topPage .company .companyList li {
  margin-left: 1.1363636364%;
  margin-right: 1.1363636364%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 22.7272727273%
}
.topPage .company .companyList li:nth-child(n+4) {
  margin-top: 10px
}
.topPage .company .companyList li img {
  width: 100%
}
.topPage .internship {
  padding: 80px 0 230px;
  position: relative
}
.topPage .internshipWrap {
  position: relative;
  background-color: #00C4BC;
  overflow: hidden
}
.topPage .internshipWrap #bubble02 {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%
}
.topPage .internship .title {
  margin: 0 0 18px;
  text-align: center
}
.topPage .internship .title img {
  width: 298px
}
.topPage .internship .titleJP {
  margin: 0 0 70px;
  color: #fff;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center
}
.topPage .bigBanner {
  margin: -150px auto 0;
  padding: 0 2.5%;
  position: relative;
  max-width: 1400px
}
@media (max-width:1400px) {
  .topPage .bigBanner {
    margin-top: -10.7142857143%
  }
}
.topPage .bigBanner a {
  display: block;
  position: relative;
  color: #fff;
  text-align: center
}
@media (min-width:768px) {
  .topPage .bigBanner a:hover .bannerImg img {
    transform: scale(1.1)
  }
  .topPage .bigBanner a:hover .bannerImg:after {
    background-color: rgba(26, 45, 46, 0.6)
  }
}
.topPage .bigBanner .bannerImg {
  border-radius: 8px;
  position: relative;
  overflow: hidden;
  line-height: 0
}
.topPage .bigBanner .bannerImg img {
  transition: transform ease 0.3s
}
.topPage .bigBanner .bannerImg:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(26, 45, 46, 0.5);
  transition: background-color ease 0.3s
}
.topPage .bigBanner .bannerTxtWrap {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%
}
.topPage .bigBanner .bannerTxt {
  margin: 0 0 14px;
  width: 100%;
  font-size: 1.7rem;
  letter-spacing: 0.1em
}
.topPage .bigBanner .bannerTitle {
  padding-right: 117px;
  position: relative;
  width: 100%;
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.35)
}
.topPage .bigBanner .bannerTitle:after {
  content: "";
  position: absolute;
  top: calc(50% - 5px);
  right: 0;
  display: block;
  width: 51px;
  height: 11px;
  background: url("../img/top/icon_arrow.svg") 0 0 no-repeat;
  background-size: contain
}
.topPage .newsArea {
  margin: 0 auto;
  position: relative;
  max-width: 700px
}
.topPage .newsAreaWrap {
  padding-top: 80px
}
.topPage .newsArea .title {
  margin: 0 0 20px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.topPage .newsArea .title img {
  margin-right: 13px;
  width: 89px
}
.topPage .newsArea .showList {
  position: absolute;
  top: 14px;
  right: 0;
  font-size: 1.3rem
}
.topPage .newsArea .showList a {
  padding-left: 15px;
  position: relative;
  display: block;
  transition: color ease 0.3s
}
.topPage .newsArea .showList a:after {
  content: "";
  display: block;
  border-top: 2px #F14D56 solid;
  border-right: 2px #F14D56 solid;
  position: absolute;
  top: 7px;
  left: 0;
  width: 8px;
  height: 8px;
  transform: rotate(45deg)
}
@media (min-width:768px) {
  .topPage .newsArea .showList a:hover {
    color: rgba(26, 24, 24, 0.8)
  }
}
.topPage .newsArea .newsList li {
  padding: 21px 0;
  border-bottom: 1px #D6D6D6 dotted
}
.topPage .newsArea .newsList li a:after {
  margin-left: 31px
}
.topPage.IE11 .headArea .randomMssg span {
  transform: rotate(0.0001deg)
}
.aboutPage .aboutLead {
  position: relative;
  overflow: hidden;
  background: url("../img/about/bg_bubble.png") center top no-repeat
}
.aboutPage .aboutLead #bubble03 {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%
}
.aboutPage .aboutLeadInner {
  margin: 0 auto;
  padding: 100px 0 90px;
  position: relative;
  max-width: 1120px
}
.aboutPage .aboutLead .leadText {
  margin: 0 0 145px;
  text-align: center
}
.aboutPage .aboutLead .leadText .title {
  margin: 0 0 30px;
  color: #EF4D56;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.4rem;
  font-weight: bold
}
.aboutPage .aboutLead .leadText .title img {
  margin-left: 15px;
  width: 222px;
  vertical-align: middle
}
.aboutPage .aboutLead .leadText .sectionTitle {
  margin: 0 0 45px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
  font-weight: bold
}
.aboutPage .aboutLead .leadText p {
  margin: 0 auto 60px;
  max-width: 688px;
  line-height: 2;
  font-size: 1.5rem
}
.aboutPage .aboutLead .reason .columnTitle {
  margin: 0 0 60px;
  text-align: center;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.aboutPage .aboutLead .reason .columnTitle img {
  margin-bottom: 5px;
  width: 113px
}
.aboutPage .aboutLead .reason .columnTitle span {
  display: block
}
.aboutPage .aboutLead .reason .push {
  margin: 50px 0 30px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center
}
.aboutPage .aboutLead .reason .push:after, .aboutPage .aboutLead .reason .push:before {
  content: "";
  display: block;
  width: 38px;
  height: 42px;
  background: url("../img/about/icon_shape.svg") 0 0 no-repeat;
  background-size: contain
}
.aboutPage .aboutLead .reason .push:after {
  transform: rotateY(180deg)
}
.aboutPage .aboutLead .reason .push p {
  margin: 0 40px;
  line-height: 1.65;
  font-size: 1.7rem;
  letter-spacing: 0.075em;
  text-align: center
}
.aboutPage .aboutLead .reason .push p .em {
  color: #00C4BC
}
.aboutPage .aboutLead .reason .notice {
  text-align: center
}
.aboutPage .aboutLead .reason .notice p {
  color: #888;
  font-size: 1.3rem;
  letter-spacing: 0.075em
}
.aboutPage .aboutCompany {
  background-color: #00C4BC
}
.aboutPage .aboutCompanyInner {
  margin: 0 auto;
  padding: 100px 0 90px;
  position: relative;
  max-width: 1120px
}
.aboutPage .aboutCompany .title {
  text-align: center
}
.aboutPage .aboutCompany .titleJP {
  margin: 5px 0 60px;
  color: #fff;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center
}
.aboutPage .aboutCompany .companyList {
  margin: 0 auto;
  padding: 90px 10.7142857143%;
  border-radius: 10px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  background-color: #fff
}
.aboutPage .aboutCompany .companyList li {
  margin: 0 1.1363636364%;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  width: 22.7272727273%;
  color: #888;
  font-size: 1.3rem;
  letter-spacing: 0.075em
}
.aboutPage .aboutCompany .companyList li:nth-child(n+5) {
  margin-top: 25px
}
.aboutPage .aboutCompany .companyList li img {
  width: 100%
}
.aboutPage .aboutCompany .companyList li .companyLogo img {
  margin: 0 0 5px
}
.aboutPage .aboutCompany .companyList li .companyLogo .name {
  text-align: center
}
.aboutPage .aboutCompany p {
  margin: 60px 0 40px;
  color: #fff;
  font-size: 1.7rem;
  letter-spacing: 0.075em;
  text-align: center
}
.aboutPage .aboutOutline {
  text-align: center
}
.aboutPage .aboutOutlineInner {
  margin: 0 auto;
  padding: 100px 0 0;
  position: relative;
  max-width: 1120px
}
.aboutPage .aboutOutline .sectionTitle {
  margin: 0 0 60px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.aboutPage .aboutOutline .sectionTitle img {
  margin-bottom: 5px;
  width: 124px
}
.aboutPage .aboutOutline .sectionTitle span {
  display: block
}
.aboutPage .aboutOutline .jobDetailInfo {
  margin: 0 0 60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  line-height: 1.67;
  font-size: 1.5rem;
  text-align: left
}
.aboutPage .aboutOutline .jobDetailInfo dt {
  padding: 0 10px 0 70px;
  border-right: 1px #D6D6D6 solid;
  width: 210px
}
.aboutPage .aboutOutline .jobDetailInfo dt ~ dt {
  padding-top: 40px
}
.aboutPage .aboutOutline .jobDetailInfo dd {
  padding: 0 0 0 70px;
  width: calc(100% - 210px)
}
.aboutPage .aboutOutline .jobDetailInfo dd .map {
  margin-top: 20px;
  width: 100%
}
.aboutPage .aboutOutline .jobDetailInfo dd .map iframe {
  width: 100%;
  height: 344px
}
.aboutPage .aboutOutline .jobDetailInfo dd ~ dd {
  padding-top: 40px
}
.aboutPage .aboutOutline .button.btn03 .arrow {
  border: none;
  width: 15px;
  height: 12px;
  background: url("../img/about/icon_other_w.svg") 0 0 no-repeat;
  background-size: contain;
  transform: rotate(0)
}
.internPage .internshipWrap {
  padding: 80px 10%;
  background-color: #F0F0F0
}
.internPage .jobDetail {
  margin: 0 auto;
  padding: 0 0 100px;
  max-width: 840px
}
.internPage .jobDetail .itemCardTitle {
  margin-bottom: 45px;
  line-height: 30px;
  color: #2B2E2E;
  font-size: 1.9rem;
  font-weight: 400
}
.internPage .jobDetail .itemCardTitle .itemCardCat {
  width: 80px;
  font-size: 1.5rem;
  letter-spacing: 0.125em
}
.internPage .jobDetail .itemCardCompany {
  margin-bottom: 45px;
  justify-content: flex-start;
  align-items: center
}
.internPage .jobDetail .itemCardCompany .itemCardCompanyLogo {
  width: auto;
  max-width: 74px
}
.internPage .jobDetail .itemCardCompany .itemCardCompanyName {
  width: calc(100% - 74px);
  font-size: 1.3rem
}
.internPage .jobDetailData {
  margin: 0 0 20px;
  color: #B2B2B2;
  text-align: right;
  font-size: 1.3rem
}
.internPage .jobDetailData span {
  margin-left: 1em;
  display: inline-block
}
.internPage .jobDetailImage {
  margin-bottom: 70px;
  text-align: center
}
.internPage .jobDetail .btn02 {
  margin-top: 45px
}
.internPage .jobDetailSection {
  margin-top: 80px
}
.internPage .jobDetailSection .sectionTitle {
  margin: 0 0 60px;
  padding: 0 0 12px;
  border-bottom: 3px #00C4BC solid;
  color: #2B2E2E;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.internPage .jobDetailSection .sectionTitle .icon {
  margin-right: 10px;
  display: inline-block
}
.internPage .jobDetailSection .sectionTitle .icon img {
  vertical-align: text-top
}
.internPage .jobDetailInfo {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  line-height: 1.67;
  font-size: 1.5rem
}
.internPage .jobDetailInfo dt {
  padding-right: 10px;
  border-right: 1px #D6D6D6 solid;
  width: 140px;
  font-weight: bold
}
.internPage .jobDetailInfo dt ~ dt {
  padding-top: 40px
}
.internPage .jobDetailInfo dd {
  padding: 0 0 0 70px;
  width: calc(100% - 140px)
}
.internPage .jobDetailInfo dd .map {
  margin-top: 20px;
  width: 100%
}
.internPage .jobDetailInfo dd .map iframe {
  width: 100%;
  height: 344px
}
.internPage .jobDetailInfo dd ~ dd {
  padding-top: 40px
}
.formProgress {
  margin: 0 auto 68px;
  max-width: 1120px;
  font-size: 1.5rem;
  text-align: center
}
.formProgress .sectionTitle {
  margin: 0 0 60px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center
}
.formProgress ul {
  border: 1px #D6D6D6 solid;
  border-radius: 8px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  overflow: hidden
}
.formProgress ul li {
  position: relative;
  width: 33.3333333333%;
  line-height: 48px
}
.formProgress ul li:first-child {
  z-index: 3
}
.formProgress ul li:nth-child(2) {
  z-index: 2
}
.formProgress ul li:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 0 24px 20px;
  border-color: transparent transparent transparent #D6D6D6
}
.formProgress ul li:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -19px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 0 24px 20px;
  border-color: transparent transparent transparent #fff
}
.formProgress ul li:last-child:after, .formProgress ul li:last-child:before {
  display: none
}
.formProgress ul li.current {
  color: #00C4BC;
  background-color: #F0F0F0
}
.formProgress ul li.current:after {
  border-color: transparent transparent transparent #F0F0F0
}
.orderedIntern {
  margin: 0 auto;
  padding: 0 0 60px;
  max-width: 1120px
}
.orderedIntern .sectionTitle {
  margin: 0 0 15px;
  color: #2B2E2E;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.orderedIntern .sectionTitle .icon {
  margin-right: 10px;
  display: inline-block
}
.orderedIntern .sectionTitle .icon img {
  vertical-align: text-top
}
.orderedIntern .itemCard {
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.1)
}
.orderedIntern .formBtn {
  margin-top: 60px
}
label {
  line-height: 20px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start
}
label .checkbox {
  margin-right: 10px;
  position: relative
}
label .checkbox input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
label .checkbox input:checked + .checkIcon {
  border-color: #00C4BC;
  background-color: #00C4BC
}
label .checkbox input:checked + .checkIcon:after {
  opacity: 1
}
label .checkbox .checkIcon {
  border: 4px #D6D6D6 solid;
  border-radius: 4px;
  display: block;
  position: relative;
  width: 20px;
  height: 20px
}
label .checkbox .checkIcon:after {
  content: "";
  display: block;
  position: absolute;
  top: 2px;
  left: 1px;
  width: 10px;
  height: 7px;
  background: url("../img/icon_check.svg") 0 0 no-repeat;
  background-size: contain;
  opacity: 0
}
label .label .num {
  color: #00C4BC;
  font-size: 1.3rem
}
label .radioBtn {
  margin-right: 10px;
  position: relative
}
label .radioBtn input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}
label .radioBtn input:checked + .radioIcon:after {
  opacity: 1
}
label .radioBtn .radioIcon {
  border: 1px #707070 solid;
  border-radius: 20px;
  display: block;
  position: relative;
  width: 20px;
  height: 20px
}
label .radioBtn .radioIcon:after {
  content: "";
  border-radius: 10px;
  display: block;
  position: absolute;
  top: 4px;
  left: 4px;
  width: 10px;
  height: 10px;
  background-color: #00C4BC;
  opacity: 0
}
.formSection {
  margin: 0 auto;
  padding: 60px 0 80px;
  max-width: 1120px
}
.formSection .formTxt {
  margin: 0 0 45px;
  padding: 0 0 0 1em;
  font-size: 1.7rem;
  letter-spacing: 0.075em
}
.formSection .sectionTitle {
  margin: 0 0 15px;
  color: #2B2E2E;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.formSection .sectionTitle .icon {
  margin-right: 10px;
  display: inline-block
}
.formSection .sectionTitle .icon img {
  vertical-align: text-top
}
.formSection dl {
  padding: 35px 70px;
  border-radius: 6px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  background-color: #fff
}
.formSection dl + .sectionTitle {
  margin-top: 50px
}
.formSection dl dt {
  padding: 45px 5px 25px 0;
  width: 210px;
  line-height: 21px;
  font-size: 1.5rem;
  letter-spacing: 0.075em
}
.formSection dl dt ~ dt {
  border-top: 1px #D6D6D6 solid
}
.formSection dl dt .require {
  margin-left: 5px;
  display: inline-block;
  width: 50px;
  color: #fff;
  background-color: #FC4422;
  text-align: center
}
.formSection dl dd {
  padding: 25px 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  width: calc(100% - 210px)
}
.formSection dl dd ~ dd {
  border-top: 1px #D6D6D6 solid
}
.formSection dl dd a[href^="tel:"] {
  pointer-events: none;
  cursor: default
}
.formSection .entry {
  width: 100%
}
.formSection .entryTel {
  width: 31.9480519481%
}
.formSection .entryTel + .entryTel {
  margin-left: 2.0779220779%
}
.formSection .entryChoice {
  padding: 19px 0;
  width: auto
}
.formSection .entryChoice + .entryChoice {
  margin-left: 40px
}
.formSection .entrySelect {
  padding: 5px 0
}
.formSection .entrySelect select {
  border: 2px #D6D6D6 solid;
  border-radius: 4px;
  line-height: 30px;
  width: 80px
}
.formSection input[type=mail], .formSection input[type=tel], .formSection input[type=text] {
  padding: 0 20px;
  border: none;
  border-radius: 8px;
  width: 100%;
  height: 54px;
  line-height: 1.5;
  background-color: #F0F0F0;
  font-size: 1.5rem;
  outline: none
}
.formSection input[type=mail].num, .formSection input[type=tel].num, .formSection input[type=text].num {
  margin-right: 0.5em;
  width: 130px
}
.formSection input[type=mail]::placeholder, .formSection input[type=tel]::placeholder, .formSection input[type=text]::placeholder {
  color: #B2B2B2
}
.formSection textarea {
  padding: 15px 20px;
  border: none;
  border-radius: 8px;
  width: 100%;
  max-width: 100%;
  height: 108px;
  background-color: #F0F0F0;
  font-size: 1.5rem;
  outline: none
}
.formSection textarea::placeholder {
  color: #B2B2B2
}
.formSection .formAgreementTxt {
  margin: 60px 0 20px;
  line-height: 1.92;
  font-size: 1.3rem;
  letter-spacing: 0.075em;
  text-align: center
}
.formSection .formAgreementTxt a {
  color: #00C4BC;
  text-decoration: underline
}
@media (min-width:768px) {
  .formSection .formAgreementTxt a:hover {
    text-decoration: none
  }
}
.formSection .formAgreement {
  text-align: center
}
.formSection .formAgreement label {
  display: inline-flex
}
.formSection .formAgreement label + label {
  margin-left: 10px
}
.formBtn {
  margin-top: 25px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center
}
.formBtn label {
  display: inline-flex
}
.formBtn .btnFix {
  margin-top: 20px;
  display: inline-block;
  position: relative
}
.formBtn .btnFix a, .formBtn .btnFix input {
  border-radius: 18px;
  width: 140px;
  height: 35px;
  line-height: 35px;
  background-color: #fff;
  color: #00C4BC;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  transition: opacity ease 0.3s
}
@media (min-width:768px) {
  .formBtn .btnFix a:hover, .formBtn .btnFix input:hover {
    opacity: 0.7
  }
}
.formConfirm dl dt {
  padding: 25px 0
}
.formComplete {
  text-align: center
}
.formComplete .sectionTitle {
  margin-bottom: 40px;
  color: #000;
  font-size: 2rem;
  font-weight: bold
}
.formComplete p {
  margin-bottom: 60px;
  line-height: 2;
  font-size: 1.5rem
}
.contactLead .sectionTitle {
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center
}
.contactLead p {
  margin: 40px 0;
  line-height: 2;
  font-size: 1.5rem;
  text-align: center
}
.contactLead .contactData {
  margin: 0 auto 60px;
  border: 3px #14C4BC solid;
  border-radius: 6px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  height: 80px;
  max-width: 840px
}
.contactLead .contactData .name {
  padding: 0 10px;
  color: #00C4BC;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.8rem;
  font-weight: bold
}
.contactLead .contactData .tel {
  padding: 0 10px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 3rem;
  font-weight: bold
}
.contactLead .contactData .tel a {
  color: #00C4BC;
  pointer-events: none
}
.contactLead .contactData .tel a .icon {
  margin-right: 20px;
  display: inline-block;
  vertical-align: middle
}
.contactLead .contactData .time {
  padding: 0 10px;
  color: #2B2E2E;
  font-size: 1.3rem
}
.newsPage .newsArea {
  margin: 0 auto;
  position: relative;
  max-width: 840px
}
.newsPage .newsArea .title {
  margin: 0 0 20px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.newsPage .newsArea .title img {
  margin-right: 13px;
  width: 89px
}
.newsPage .newsArea .newsList li {
  padding: 21px 0;
  border-bottom: 1px #D6D6D6 dotted
}
.newsPage .newsArea .newsList li a:after {
  margin-left: 31px
}
.newsPage .searchArea .searchSort {
  max-width: 840px
}
.newsPage .searchArea .searchSort .prev {
  margin-right: 10px;
  width: 12px
}
.newsPage .searchArea .searchSort .next {
  margin-left: 10px;
  width: 12px
}
.newsPage .searchArea .searchSort .next a, .newsPage .searchArea .searchSort .prev a {
  display: block;
  line-height: 23px;
  color: #14C4BC;
  font-size: 2rem
}
.newsPage .newsDetail {
  margin: 0 auto;
  max-width: 840px
}
.newsPage .newsDetail .date {
  margin: 0 0 10px;
  font-size: 1.3rem;
  letter-spacing: 0.1em
}
.newsPage .newsDetail .title {
  margin: 0 0 60px;
  font-size: 2.1rem;
  font-weight: 400
}
.newsPage .newsDetail p {
  line-height: 2;
  font-size: 1.5rem
}
.newsPage .newsDetail p + p {
  margin-top: 1em
}
.newsPage .newsDetail > p {
  margin-bottom: 60px
}
.newsPage .newsDetail a {
  color: #00C4BC
}
.newsPage .newsDetail a[target=_blank]:after {
  margin-left: 10px;
  content: "";
  display: inline-block;
  width: 11px;
  height: 9px;
  background: url("../img/icon_other.svg") 0 0 no-repeat;
  background-size: contain
}
.newsPage .newsDetail li {
  position: relative;
  line-height: 2;
  font-size: 1.5rem
}
.newsPage .newsDetail ul {
  margin-top: 3em
}
.newsPage .newsDetail ul li {
  padding-left: 30px
}
.newsPage .newsDetail ul li:before {
  border: 3px #00C4BC solid;
  border-radius: 13px;
  content: "";
  display: block;
  position: absolute;
  top: 11px;
  left: 0;
  width: 13px;
  height: 13px
}
.newsPage .newsDetail ol {
  margin-top: 3em
}
.newsPage .newsDetail ol li {
  padding-left: 30px;
  list-style: none
}
.newsPage .newsDetail ol li:before {
  content: "1";
  display: block;
  position: absolute;
  top: 7px;
  left: 0;
  width: 19px;
  height: 19px;
  line-height: 19px;
  color: #fff;
  background-color: #00C4BC;
  text-align: center
}
.newsPage .newsDetail ol li:nth-child(2):before {
  content: "2"
}
.newsPage .newsDetail ol li:nth-child(3):before {
  content: "3"
}
.newsPage .newsDetail ol li:nth-child(4):before {
  content: "4"
}
.newsPage .newsDetail ol li:nth-child(5):before {
  content: "5"
}
.newsPage .newsDetail ol li:nth-child(6):before {
  content: "6"
}
.newsPage .newsDetail ol li:nth-child(7):before {
  content: "7"
}
.newsPage .newsDetail ol li:nth-child(8):before {
  content: "8"
}
.newsPage .newsDetail ol li:nth-child(9):before {
  content: "9"
}
.newsPage .newsDetail ol li:nth-child(10):before {
  content: "10"
}
.newsPage .newsDetail .bold {
  font-weight: bold
}
.newsPage .newsDetail .image .caption {
  margin-top: 10px;
  font-size: 1.3rem
}
.newsPage .newsDetail .singleImage {
  margin: 0 0 60px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center
}
.newsPage .newsDetail .doubleImage {
  margin: 0 0 60px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between
}
.newsPage .newsDetail .doubleImage .image {
  width: 47.619047619%
}
.newsPage .newsDetail .columnTitle {
  margin-bottom: 60px;
  padding-bottom: 18px;
  border-bottom: 3px #00C4BC solid;
  font-size: 1.9rem;
  font-weight: 400
}
.newsPage .newsDetail .lowerTitle {
  margin-bottom: 30px;
  color: #00C4BC;
  font-size: 1.9rem;
  font-weight: 400
}
.newsPage .newsDetail .column + .column {
  margin-top: 60px
}
.newsPage .newsDetail .photoBlock {
  margin-bottom: 60px
}
.newsPage .newsDetail .photoBlock .image {
  margin: 0 0 40px 40px;
  float: right;
  width: 47.619047619%
}
.newsPage .newsDetail .photoBlock:after {
  content: "";
  display: block;
  clear: both
}
.newsPage .pgenation {
  margin-top: 80px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center
}
.newsPage .pgenation .next, .newsPage .pgenation .prev {
  font-size: 1.5rem;
  font-weight: bold
}
.newsPage .pgenation .next a, .newsPage .pgenation .prev a {
  display: block;
  position: relative;
  color: #00C4BC
}
.newsPage .pgenation .next a:before, .newsPage .pgenation .prev a:before {
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  border-top: 2px #00C4BC solid;
  border-right: 2px #00C4BC solid;
  width: 10px;
  height: 10px
}
.newsPage .pgenation .prev a {
  padding-left: 15px
}
.newsPage .pgenation .prev a:before {
  left: 0;
  transform: rotate(-135deg)
}
.newsPage .pgenation .button.btn03 a {
  margin: 0 35px;
  width: 350px;
  height: 60px;
  line-height: 60px
}
.newsPage .pgenation .next a {
  padding-right: 15px
}
.newsPage .pgenation .next a:before {
  right: 0;
  transform: rotate(45deg)
}
.termsPage .termsArea {
  margin: 0 auto;
  max-width: 840px
}
.termsPage .termsArea .title {
  margin: 0 0 60px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.termsPage .termsArea .title img {
  margin-right: 13px;
  width: 106px
}
.termsPage .termsArea p {
  margin: 0 0 60px;
  line-height: 2;
  font-size: 1.5rem
}
.termsPage .termsArea li {
  line-height: 2;
  font-size: 1.5rem
}
.termsPage .termsArea dl dt {
  margin-bottom: 25px;
  padding-bottom: 20px;
  border-bottom: 3px #EF4D56 solid;
  font-size: 1.9rem;
  font-weight: 400
}
.termsPage .termsArea dl dd + dt {
  margin-top: 60px
}
.termsPage .termsArea dl dd ul li {
  margin-bottom: 30px
}
.termsPage .termsArea dl dd ul li a {
  color: #EF4D56
}
.termsPage .termsArea dl dd ul.ns01 > li {
  padding-left: 30px;
  text-indent: -30px
}
.termsPage .termsArea dl dd ul.ns01 > li.no1:before, .termsPage .termsArea dl dd ul.ns01 > li:before {
  margin-right: 5px;
  content: "(1) ";
  color: #EF4D56
}
.termsPage .termsArea dl dd ul.ns01 > li.no2:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(2):before {
  content: "(2) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no3:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(3):before {
  content: "(3) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no4:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(4):before {
  content: "(4) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no5:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(5):before {
  content: "(5) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no6:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(6):before {
  content: "(6) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no7:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(7):before {
  content: "(7) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no8:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(8):before {
  content: "(8) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no9:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(9):before {
  content: "(9) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no10:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(10):before {
  content: "(10) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no11:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(11):before {
  content: "(11) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no12:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(12):before {
  content: "(12) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no13:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(13):before {
  content: "(13) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no14:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(14):before {
  content: "(14) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no15:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(15):before {
  content: "(15) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no16:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(16):before {
  content: "(16) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no17:before, .termsPage .termsArea dl dd ul.ns01 > li:nth-child(17):before {
  content: "(17) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no1:before {
  content: "(1) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no2:before {
  content: "(2) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no3:before {
  content: "(3) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no4:before {
  content: "(4) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no5:before {
  content: "(5) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no6:before {
  content: "(6) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no7:before {
  content: "(7) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no8:before {
  content: "(8) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no9:before {
  content: "(9) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no10:before {
  content: "(10) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no11:before {
  content: "(11) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no12:before {
  content: "(12) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no13:before {
  content: "(13) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no14:before {
  content: "(14) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no15:before {
  content: "(15) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no16:before {
  content: "(16) "
}
.termsPage .termsArea dl dd ul.ns01 > li.no17:before {
  content: "(17) "
}
.termsPage .termsArea dl dd ul.ns01 > li:last-child {
  margin-bottom: 0
}
.termsPage .termsArea dl dd ul.ns02 > li {
  padding-left: 24px;
  text-indent: -24px
}
.termsPage .termsArea dl dd ul.ns02 > li:before {
  margin-right: 5px;
  content: "1. ";
  color: #EF4D56
}
.termsPage .termsArea dl dd ul.ns02 > li:nth-child(2):before {
  content: "2. "
}
.termsPage .termsArea dl dd ul.ns02 > li:nth-child(3):before {
  content: "3. "
}
.termsPage .termsArea dl dd ul.ns02 > li:nth-child(4):before {
  content: "4. "
}
.termsPage .termsArea dl dd ul.ns02 > li:nth-child(5):before {
  content: "5. "
}
.termsPage .termsArea dl dd ul.ns02 > li:nth-child(6):before {
  content: "6. "
}
.termsPage .termsArea dl dd ul.ns02 > li:nth-child(7):before {
  content: "7. "
}
.termsPage .termsArea dl dd ul.ns02 > li:nth-child(8):before {
  content: "8. "
}
.termsPage .termsArea dl dd ul.ns02 > li:nth-child(9):before {
  content: "9. "
}
.termsPage .termsArea dl dd ul.ns02 > li:nth-child(10):before {
  content: "10. "
}
.termsPage .termsArea dl dd ul.ns02 > ul > ul {
  margin-top: 30px
}
.termsPage .termsArea dl dd p {
  margin: 0
}
.termsPage .termsArea dl dd p + p {
  margin-top: 1em
}
.termsPage .termsArea .supplementary {
  margin-top: 100px
}
.termsPage .termsArea .supplementary p {
  margin: 0
}
.job-formPage .pageTitleArea {
  position: relative;
  background-color: #00C4BC
}
.job-formPage .pageTitleArea:before {
  content: "";
  display: block;
  width: 100%;
  height: 200px;
  opacity: 0.15
}
.job-formPage .pageTitleArea .pageTitle {
  position: absolute;
  top: 50%;
  left: 50%;
  color: #fff;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2.4rem;
  font-weight: bold;
  transform: translate(-50%, -50%)
}
.job-formPage .publishedInfo {
  position: relative;
  overflow: hidden;
  background: url("../img/about/bg_bubble.png") center top no-repeat
}
.job-formPage .publishedInfo #bubble03 {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%
}
.job-formPage .publishedInfoInner {
  margin: 0 auto;
  padding: 80px 0 100px;
  position: relative;
  z-index: 2;
  max-width: 1120px
}
.job-formPage .publishedInfo .leadText {
  margin: 0 0 140px;
  text-align: center
}
.job-formPage .publishedInfo .leadText .sectionTitle {
  margin: 0 0 50px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.job-formPage .publishedInfo .leadText p {
  margin: 0 auto 35px;
  max-width: 688px;
  line-height: 2;
  font-size: 1.5rem
}
.job-formPage .publishedInfo .leadText .button.btn03 .arrow {
  top: 32px;
  transform: rotate(135deg)
}
.job-formPage .publishedInfo .merit {
  margin: 0 0 90px
}
.job-formPage .publishedInfo .merit .columnTitle {
  margin: 0 0 60px;
  text-align: center;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.job-formPage .publishedInfo .merit .columnTitle img {
  margin-bottom: 5px;
  width: 113px
}
.job-formPage .publishedInfo .merit .columnTitle span {
  display: block
}
.job-formPage .publishedInfo .flow .columnTitle {
  margin: 0 0 95px;
  text-align: center;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.7rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.job-formPage .publishedInfo .flow .columnTitle img {
  margin-bottom: 5px;
  width: 90px
}
.job-formPage .publishedInfo .flow .columnTitle span {
  display: block
}
.job-formPage .publishedInfo .flow ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between
}
.job-formPage .publishedInfo .flow ul li {
  padding: 65px 40px 30px;
  border: 3px #14C4BC solid;
  border-radius: 10px;
  position: relative;
  width: 30.3571428571%;
  background-color: #fff;
  text-align: center
}
.job-formPage .publishedInfo .flow ul li:after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 6px);
  right: -10.5882352941%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 10px;
  border-color: transparent transparent transparent #14C4BC
}
.job-formPage .publishedInfo .flow ul li:last-child:after {
  display: none
}
.job-formPage .publishedInfo .flow ul li .label {
  padding: 15px 0 0;
  border-radius: 50%;
  position: absolute;
  top: -47px;
  left: calc(50% - 45px);
  width: 90px;
  height: 90px;
  line-height: 1;
  color: #fff;
  background-color: #14C4BC;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: bold
}
.job-formPage .publishedInfo .flow ul li .label .num {
  padding-top: 5px;
  display: block;
  font-size: 3.6rem
}
.job-formPage .publishedInfo .flow ul li .flowTitle {
  margin: 0 0 20px;
  line-height: 1.59;
  font-size: 1.7rem;
  font-weight: 400;
  letter-spacing: 0.075em
}
.job-formPage .publishedInfo .flow ul li .icon {
  margin: 0 0 20px
}
.job-formPage .publishedInfo .flow ul li p {
  line-height: 1.73;
  font-size: 1.5rem
}
.sitemapPage .sitemapArea {
  margin: 0 auto;
  max-width: 840px
}
.sitemapPage .sitemapArea .title {
  margin: 0 0 50px;
  font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.5rem;
  font-weight: bold;
  letter-spacing: 0.1em
}
.sitemapPage .sitemapArea .title img {
  margin-right: 13px;
  width: 138px;
  vertical-align: middle
}
.sitemapPage .sitemapArea .sitemapList {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between
}
.sitemapPage .sitemapArea .sitemapList ul {
  border-top: 1px #D6D6D6 solid;
  width: 47.619047619%
}
.sitemapPage .sitemapArea .sitemapList ul li {
  border-bottom: 1px #D6D6D6 solid
}
.sitemapPage .sitemapArea .sitemapList ul li .upper {
  padding: 28px 0;
  font-size: 1.7rem
}
.sitemapPage .sitemapArea .sitemapList ul li .upper a {
  color: #2B2E2E
}
.sitemapPage .sitemapArea .sitemapList ul li .upper a[target=_blank]:after {
  margin-left: 10px;
  content: "";
  display: inline-block;
  width: 15px;
  height: 12px;
  background: url("../img/icon_other.svg") 0 0 no-repeat;
  background-size: contain
}
.sitemapPage .sitemapArea .sitemapList ul li dl {
  font-size: 1.5rem
}
.sitemapPage .sitemapArea .sitemapList ul li dl + dl {
  margin: 10px 0 20px
}
.sitemapPage .sitemapArea .sitemapList ul li dl dt {
  margin: 0 0 10px
}
.sitemapPage .sitemapArea .sitemapList ul li dl dd {
  margin: 0 0 10px 10px;
  display: inline-block
}
.sitemapPage .sitemapArea .sitemapList ul li dl dd a:before {
  margin-right: 5px;
  content: ">"
}
@media (max-width:767px) {
  body img {
    width: 100%
  }
}
@media (max-width:767px) {
  .sppb20 {
    padding-bottom: 20px !important
  }
  .only-pc {
    display: none
  }
}
@media (max-width:999px) {
  #header {
    padding: 0 0 0 20px;
    border-bottom: 1px #ddd solid;
    height: 66px
  }
  #header .sitelogo {
    padding: 22.5px 0 0
  }
  #header .sitelogo a img {
    width: 108px
  }
  #header .sitelogo a span {
    margin: 0 0 0 8px;
    font-size: 1.2rem
  }
  #globalNav .navBtn {
    position: absolute;
    top: 0;
    right: 0;
    width: 65px;
    height: 65px;
    background-color: #14C4BC
  }
  #globalNav .navBtn span {
    border-radius: 2px;
    display: block;
    position: absolute;
    top: 31px;
    left: 22px;
    width: 22px;
    height: 2px;
    background-color: #fff
  }
  #globalNav .navBtn span:after, #globalNav .navBtn span:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 22px;
    height: 2px;
    background-color: #fff;
    transition: transform ease 0.3s
  }
  #globalNav .navBtn span:before {
    top: -6px
  }
  #globalNav .navBtn span:after {
    top: 6px
  }
  .menuOpen #globalNav .navBtn span {
    background-color: transparent
  }
  .menuOpen #globalNav .navBtn span:before {
    top: calc(50% - 1px);
    transform: rotate(45deg)
  }
  .menuOpen #globalNav .navBtn span:after {
    top: calc(50% - 1px);
    transform: rotate(-45deg)
  }
  #globalNav .navBody {
    position: fixed;
    top: 66px;
    left: 0;
    width: 100%;
    height: calc(100% - 66px);
    background-color: rgba(20, 196, 188, 0.95);
    opacity: 0;
    visibility: hidden;
    transition: opacity ease 0.6s, visibility ease 0.6s;
    pointer-events: none
  }
  .menuOpen #globalNav .navBody {
    visibility: visible;
    opacity: 1;
    pointer-events: all
  }
  #globalNav .navBodyInner {
    height: 100%;
    overflow: auto
  }
  #globalNav ul {
    margin: 0 auto;
    padding: 53.5px 0 0;
    width: 80vw
  }
  #globalNav ul li {
    margin: 0 0 40px;
    line-height: 20px;
    font-size: 1.8rem
  }
  #globalNav ul li a {
    padding: 0;
    height: auto;
    color: #fff
  }
  #globalNav ul li a:after {
    margin: 0 0 0 15px;
    content: "";
    border-top: 2px #fff solid;
    border-right: 2px #fff solid;
    display: inline-block;
    width: 10px;
    height: 10px;
    transform: rotate(45deg) translateY(-2px)
  }
  #globalNav .navContact {
    margin: 0 auto;
    width: 80vw
  }
  #globalNav .navContact a {
    border-radius: 30px;
    display: block;
    line-height: 60px;
    color: #00C4BC;
    background-color: #fff;
    font-family: "M PLUS Rounded 1c", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center
  }
  #globalNav .navContact a:before {
    margin-right: 7px;
    content: "";
    display: inline-block;
    width: 26px;
    height: 20px;
    background: url("../img/icon_mail_g.svg") 0 0 no-repeat;
    background-size: contain;
    vertical-align: text-bottom
  }
  .anchorPoint {
    margin-top: -66px;
    padding-top: 66px
  }
}
@media (max-width:767px) {
  #footer .footerSearch {
    padding: 60px 0 50px
  }
  #footer .footerSearch ul {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 80vw
  }
  #footer .footerSearch ul li {
    margin: 0 0 10px;
    width: 38.6666666667vw
  }
  #footer .footerInner {
    display: block;
    line-height: 1.5
  }
  #footer .footerInner:first-child {
    border-top: 1px #D6D6D6 solid
  }
  #footer .footerInner ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start
  }
  #footer .footerInner ul li {
    margin-right: 0;
    border-bottom: 1px #D6D6D6 solid;
    width: 50%;
    line-height: 50px;
    font-size: 1.3rem;
    text-align: center
  }
  #footer .footerInner ul li:nth-child(2n) {
    border-left: 1px #D6D6D6 solid
  }
  #footer .footerInner .copyright {
    padding: 37px 0;
    text-align: center
  }
  .pagetop {
    right: 20px;
    bottom: 20px;
    width: 60px
  }
  .pagetop.bottom {
    bottom: -30px
  }
  .button.btn01 {
    margin: 30px 0 0
  }
  .button.btn01 a {
    border-radius: 30px;
    width: 100%;
    line-height: 60px;
    font-size: 4vw
  }
  .button.btn01 a:after {
    top: 25px;
    right: 20px
  }
  .button.btn02 a {
    width: 100%;
    font-size: 4.5333333333vw
  }
  .button.btn02 a:after {
    right: 24px
  }
  .button.btn03 {
    width: 100%
  }
  .button.btn03 a, .button.btn03 input {
    border-radius: 30px;
    width: 100%;
    height: 60px;
    line-height: 60px;
    font-size: 4.5333333333vw
  }
  .button.btn03 .arrow {
    top: 25px;
    right: 26px
  }
  .button.btnMyMyLink {
    margin: 0
  }
  .button.btnMyMyLink a {
    padding: 43px 10% 37px;
    border-radius: 10px;
    display: block;
    line-height: 1.47
  }
  .button.btnMyMyLink a .icon {
    margin: 0 auto;
    display: block
  }
  .button.btnMyMyLink a .text {
    margin-top: 9px;
    text-align: center
  }
  .button.btnMyMyLink a .text:after {
    content: "";
    display: inline-block;
    position: static
  }
  .itemCardInner {
    padding: 10px;
    border-radius: 8px
  }
  .itemCardWrap {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between
  }
  .itemCardImgWrap {
    margin: 0;
    width: 26.6666666667vw
  }
  .itemCardImg {
    margin: 0;
    padding-top: 19.7333333333vw;
    width: 100%
  }
  .itemCardData dl {
    margin-top: -10px;
    display: block
  }
  .itemCardData dl:after {
    content: "";
    display: block;
    clear: both
  }
  .itemCardData dl dt {
    margin-top: 10px;
    float: left;
    clear: left
  }
  .itemCardData dl dd {
    margin-top: 10px;
    float: left
  }
  .itemCardData dl dd + dt {
    margin-left: 0
  }
  .itemCardTitle {
    width: 44vw
  }
  .itemCardTitle .itemCardCat {
    margin-bottom: 5px
  }
  .itemCardCompany {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start
  }
  .itemCardCompany .itemCardCompanyLogo {
    margin-right: 4vw;
    padding-right: 0;
    width: 26.6666666667vw;
    text-align: right
  }
  .itemCardCompany .itemCardCompanyLogo img {
    display: inline;
    width: auto;
    max-width: 100%
  }
  .itemCardCompany .itemCardCompanyName {
    width: 37.3333333333vw
  }
  .itemCardCompany .itemCardCompanyName:first-child {
    margin-left: 30.6666666667vw
  }
  .itemCardLarge .itemCardInner {
    padding: 20px;
    display: block
  }
  .itemCardLarge .itemCardImgWrap {
    width: 100%
  }
  .itemCardLarge .itemCardImg {
    margin: 0;
    padding-top: 51.4666666667vw;
    width: 100%
  }
  .itemCardLarge .itemCardData {
    padding: 10px 0 0;
    width: 100%
  }
  .itemCardLarge .itemCardTitle {
    margin: 0 0 15px;
    width: auto;
    line-height: 28px;
    font-size: 1.8rem
  }
  .itemCardLarge .itemCardCompany {
    margin-top: 20px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start
  }
  .itemCardLarge .itemCardCompany .itemCardCompanyLogo {
    padding-right: 0;
    width: 18.6666666667vw
  }
  .itemCardLarge .itemCardCompany .itemCardCompanyName {
    width: 50.6666666667vw
  }
  .itemCardLarge .itemCardCompany .itemCardCompanyName:first-child {
    margin: 0
  }
  .itemList {
    margin: 0 auto;
    width: 80vw
  }
  .itemList .itemCard {
    margin-right: 0 !important
  }
  .newsList li {
    display: block;
    line-height: 1.69
  }
  .newsList li .newsDate, .newsList li .newsTitle {
    width: auto
  }
  .newsList li .newsTitle {
    margin-top: 8px
  }
  .newsList li .newsTitle a:after {
    display: none
  }
  .newsList li .newsTitle a[target=_blank]:after {
    display: inline-block !important
  }
  .topicPath ul {
    margin-bottom: 20px;
    padding: 25px 0 10px;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap
  }
  .searchArea {
    margin: 30px 0 0
  }
  .searchArea .infoSearch {
    margin-bottom: 15px;
    display: block
  }
  .searchArea .infoSearch .title {
    margin-bottom: 35px;
    line-height: 28px;
    font-size: 2.6rem;
    text-align: center
  }
  .searchArea .infoSearch .title .small {
    font-size: 1.5rem
  }
  .searchArea .infoSearch .searchPanel {
    display: block
  }
  .searchArea .infoSearch dl {
    margin-left: 0;
    padding: 0 10px;
    width: 100%;
    justify-content: flex-start
  }
  .searchArea .infoSearch dl + dl {
    margin-top: 10px
  }
  .searchArea .infoSearch dl dt {
    margin-right: 0;
    width: 4em;
    font-size: 1.3rem
  }
  .searchArea .infoSearch dl dd {
    width: calc(100% - 4em);
    font-size: 1.2rem
  }
  .searchArea .infoSearch dl dd .selectStatus {
    width: calc(100% - 29px)
  }
  .searchArea .infoSearch dl dd .selectBtn {
    margin-left: 0;
    width: 24px
  }
  .searchArea .infoSearch .searchKeyword form input[type=text] {
    width: 100%;
    font-size: 1.2rem
  }
  .searchArea .infoSearch .searchKeyword dt {
    width: 6em
  }
  .searchArea .infoSearch .searchKeyword dd {
    width: calc(100% - 6em)
  }
  .searchArea .searchData {
    padding: 0 0 15px;
    display: block
  }
  .searchArea .searchData .searchNum .num {
    font-size: 3.4rem
  }
  .searchArea .searchData .selectedList {
    margin-left: 0;
    padding-top: 12px
  }
  .searchArea .searchSort {
    display: block
  }
  .searchArea .searchSort .sortArea {
    position: relative;
    display: block
  }
  .searchArea .searchSort .sortArea .sortSelect {
    margin-right: 0;
    padding-top: 3px;
    position: absolute;
    top: -26px;
    right: 0
  }
  .searchArea .searchSort .sortArea .sortSelect:after {
    top: 14px
  }
  .searchArea .searchSort .sortArea ul {
    padding: 30px 0 0;
    text-align: center
  }
  .searchArea .searchSort .sortArea ul li {
    margin: 0 2px
  }
  .searchArea + .recentShowWrap {
    margin-top: 25px
  }
  .searchModal {
    padding: 40px 10%
  }
  .searchModal .searchBody .title {
    padding: 12px 0
  }
  .searchModal .searchBody .selectorWrap {
    padding: 0 8vw
  }
  .searchModal .searchBody ul li {
    width: 50%
  }
  .searchModal .searchBody .btnSearch {
    line-height: 60px
  }
  .itemCardsWrap {
    padding-top: 40px
  }
  .itemCardsWrap .itemCards .itemList {
    display: block
  }
  .itemCardsWrap .itemCards .itemList .itemCard {
    margin-bottom: 0
  }
  .itemCardsWrap .itemCards .itemCard {
    width: 100%
  }
  .itemCardsWrap .itemCards .itemCard + .itemCard {
    margin-top: 10px !important
  }
  .itemCardsWrap.bgGray, .itemCardsWrap.bgGreen {
    padding-bottom: 40px
  }
  .characterList {
    display: block
  }
  .characterList li {
    padding: 35px 10px;
    width: 100%
  }
  .characterList li .icon {
    margin: 0 auto 18px
  }
  .characterList li .icon img {
    width: auto
  }
  .characterList li + li {
    margin-top: 20px
  }
}
@media (max-width:767px) {
  .topPage .headAreaInner {
    display: block
  }
  .topPage .headArea .hero {
    padding: 0 10%;
    display: block;
    width: 100%;
    height: auto;
    background: url("../img/top/bg_hero_sp.jpg") center center no-repeat;
    background-size: cover
  }
  .topPage .headArea .heroInner {
    padding: 55px 0 50px
  }
  .topPage .headArea .heroTitle {
    margin: 0 -10vw 30px;
    line-height: 1.42;
    font-size: 2.6rem;
    white-space: nowrap
  }
  .topPage .headArea .heroTitle .small {
    font-size: 2rem
  }
  .topPage .headArea .heroSearch {
    border-radius: 8px;
    width: 80vw
  }
  .topPage .headArea .heroSearch input[type=text] {
    margin: 0;
    padding: 19px 17px;
    border-radius: 8px;
    width: calc(100% - 37px)
  }
  .topPage .headArea .heroSearch .searchBtn {
    width: 37px
  }
  .topPage .headArea .heroSearch .searchBtn input {
    border-radius: 8px;
    height: 60px;
    font-size: 0
  }
  .topPage .headArea .heroTags {
    margin: 0 auto;
    width: 80vw
  }
  .topPage .headArea .heroTags li {
    margin-top: 10px;
    margin-right: 3.3333333333%;
    width: 48.3333333333%
  }
  .topPage .headArea .heroTags li:nth-child(4n) {
    margin-right: 3.3333333333%
  }
  .topPage .headArea .heroTags li:nth-child(2n) {
    margin-right: 0
  }
  .topPage .headArea .heroTags li a {
    font-size: 1.8rem
  }
  .topPage .headArea .latestInfo {
    padding: 0;
    width: 100%
  }
  .topPage .headArea .latestInfoInner {
    padding: 40px calc(10% - 5px) 0;
    max-width: inherit
  }
  .topPage .headArea .latestInfoTitle {
    margin: 0 0 3px;
    text-align: center
  }
  .topPage .headArea .latestInfoTitle img {
    width: 159px
  }
  .topPage .headArea .latestInfoTitleJp {
    margin: 0 0 33px
  }
  .topPage .headArea .latestInfoSlider .slick-arrow {
    top: 63px
  }
  .topPage .headArea .randomMssg {
    margin: 33px 0 0;
    padding: 0 0 67px;
    position: static;
    width: 100%;
    max-width: inherit;
    height: auto
  }
  .topPage .headArea .mascot {
    bottom: -30px;
    left: 35.2vw
  }
  .topPage .pickupNews {
    padding: 40px 10%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    width: 100%
  }
  .topPage .pickupNews .title {
    padding: 3px 14px 0 0
  }
  .topPage .company {
    padding-top: 52px;
    padding-bottom: 57px
  }
  .topPage .company .title img {
    width: 216px
  }
  .topPage .company .titleJP {
    margin: 0 0 60px
  }
  .topPage .company .companyList {
    width: 80vw
  }
  .topPage .company .companyList li {
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    width: 38.6666666667vw
  }
  .topPage .company .companyList li:nth-child(n+2) {
    margin-top: 10px
  }
  .topPage .internship {
    padding: 60px 0 210px
  }
  .topPage .internship .title {
    margin: 0 0 20px
  }
  .topPage .internship .title img {
    width: 225px
  }
  .topPage .internship .titleJP {
    margin: 0 0 60px
  }
  .topPage .bigBanner {
    margin: -40vw auto 0;
    padding: 0;
    width: 80vw
  }
  .topPage .bigBanner .bannerTxt {
    margin: 0 0 11px
  }
  .topPage .bigBanner .bannerTitle {
    padding-right: 0;
    line-height: 1.25;
    font-size: 8.5333333333vw;
    letter-spacing: 0.05em
  }
  .topPage .bigBanner .bannerTitle:after {
    margin-top: 15px;
    position: static;
    display: block;
    width: 100%;
    height: 11px;
    background: url("../img/top/icon_arrow.svg") top center no-repeat;
    background-size: contain
  }
  .topPage .newsArea {
    max-width: inherit
  }
  .topPage .newsAreaWrap {
    padding-top: 65px
  }
  .topPage .newsArea .title {
    margin: 0 0 10px;
    text-align: center
  }
  .topPage .newsArea .title img {
    margin-right: 0
  }
  .topPage .newsArea .title span {
    padding-top: 10px;
    display: block
  }
  .topPage .newsArea .showList {
    margin: 30px 0 60px;
    position: static;
    text-align: center
  }
  .topPage .newsArea .showList a {
    display: inline-block
  }
  .topPage .newsArea .btnMyMyLink {
    margin: 0
  }
  .topPage .newsArea .btnMyMyLink a {
    padding: 43px 10% 37px;
    border-radius: 10px;
    display: block;
    line-height: 1.47
  }
  .topPage .newsArea .btnMyMyLink a .icon {
    margin: 0 auto;
    display: block
  }
  .topPage .newsArea .btnMyMyLink a .text {
    margin-top: 9px;
    text-align: center
  }
  .topPage .newsArea .btnMyMyLink a .text:after {
    content: "";
    display: inline-block;
    position: static
  }
}
@media (max-width:767px) {
  .aboutPage .aboutLead {
    background: url("../img/about/bg_bubble_sp.png") center top no-repeat;
    background-size: 100% auto
  }
  .aboutPage .aboutLeadInner {
    padding: 35px 0 55px
  }
  .aboutPage .aboutLead .leadText {
    margin: 0 0 65px;
    text-align: center
  }
  .aboutPage .aboutLead .leadText .title {
    margin: 0 0 20px;
    font-size: 2.2rem
  }
  .aboutPage .aboutLead .leadText .title img {
    margin: 0 0 5px;
    width: 222px
  }
  .aboutPage .aboutLead .leadText .title span {
    display: block
  }
  .aboutPage .aboutLead .leadText .sectionTitle {
    margin: 0 0 35px
  }
  .aboutPage .aboutLead .leadText p {
    margin: 0 auto 50px;
    max-width: inherit
  }
  .aboutPage .aboutLead .leadText .button.btn03 a {
    padding: 11px 0;
    line-height: 1.12
  }
  .aboutPage .aboutLead .reason .columnTitle {
    margin: 0 0 40px;
    font-size: 1.5rem
  }
  .aboutPage .aboutLead .reason .columnTitle img {
    margin-bottom: 15px;
    width: 136px
  }
  .aboutPage .aboutLead .reason .push {
    margin: 40px 0 25px;
    display: block
  }
  .aboutPage .aboutLead .reason .push:after, .aboutPage .aboutLead .reason .push:before {
    display: none
  }
  .aboutPage .aboutLead .reason .push p {
    margin: 0
  }
  .aboutPage .aboutCompanyInner {
    padding: 60px 0
  }
  .aboutPage .aboutCompany .title {
    margin: 0 auto 5px;
    width: 182px
  }
  .aboutPage .aboutCompany .titleJP {
    font-size: 1.5rem
  }
  .aboutPage .aboutCompany .companyList {
    margin: 0 auto;
    padding: 60px 10vw;
    display: block
  }
  .aboutPage .aboutCompany .companyList li {
    margin: 0 auto;
    padding: 0;
    display: block;
    width: 53.3333333333vw
  }
  .aboutPage .aboutCompany .companyList li + li {
    margin-top: 30px
  }
  .aboutPage .aboutCompany .companyList li .companyLogo {
    display: block;
    text-align: center
  }
  .aboutPage .aboutCompany p {
    margin: 40px 0 30px
  }
  .aboutPage .aboutOutlineInner {
    padding: 60px 0 0
  }
  .aboutPage .aboutOutline .sectionTitle {
    margin: 0 0 40px;
    font-size: 1.5rem
  }
  .aboutPage .aboutOutline .sectionTitle img {
    margin-bottom: 10px
  }
  .aboutPage .aboutOutline .jobDetailInfo {
    margin-bottom: 30px;
    display: block
  }
  .aboutPage .aboutOutline .jobDetailInfo dt {
    padding: 0;
    border-right: none;
    width: auto
  }
  .aboutPage .aboutOutline .jobDetailInfo dt ~ dt {
    padding-top: 30px
  }
  .aboutPage .aboutOutline .jobDetailInfo dd {
    padding: 5px 0 30px !important;
    width: auto
  }
  .aboutPage .aboutOutline .jobDetailInfo dd .map {
    margin-top: 14px
  }
  .aboutPage .aboutOutline .jobDetailInfo dd .map iframe {
    width: 100%;
    height: 43.7333333333vw
  }
  .aboutPage .aboutOutline .jobDetailInfo dd:last-child {
    padding-bottom: 0 !important
  }
  .aboutPage .aboutOutline .jobDetailInfo dd + dt {
    border-top: 1px #D6D6D6 solid
  }
  .aboutPage .aboutOutline .button.btn03 a {
    padding: 11px 0;
    line-height: 1.12
  }
}
@media (max-width:767px) {
  .internPage .jobDetail {
    padding: 0 0 60px
  }
  .internPage .jobDetail .itemCardTitle {
    margin-bottom: 25px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    flex-direction: column
  }
  .internPage .jobDetail .itemCardCompany {
    margin-bottom: 30px
  }
  .internPage .jobDetailData span {
    margin-left: 0;
    display: block
  }
  .internPage .jobDetailImage {
    margin-bottom: 30px
  }
  .internPage .jobDetail .btn02 {
    margin-top: 30px
  }
  .internPage .jobDetailSection {
    margin-top: 60px
  }
  .internPage .jobDetailSection .sectionTitle {
    margin: 0 0 30px
  }
  .internPage .jobDetailInfo {
    display: block
  }
  .internPage .jobDetailInfo dt {
    padding-right: 0;
    border-right: none;
    width: auto
  }
  .internPage .jobDetailInfo dt ~ dt {
    padding-top: 30px
  }
  .internPage .jobDetailInfo dd {
    padding: 5px 0 30px !important;
    width: auto
  }
  .internPage .jobDetailInfo dd .map {
    margin-top: 14px
  }
  .internPage .jobDetailInfo dd .map iframe {
    width: 100%;
    height: 43.7333333333vw
  }
  .internPage .jobDetailInfo dd:last-child {
    padding-bottom: 0 !important
  }
  .internPage .jobDetailInfo dd + dt {
    border-top: 1px #D6D6D6 solid
  }
}
@media (max-width:767px) {
  .formProgress {
    margin-bottom: 50px
  }
  .formProgress .sectionTitle {
    margin: 0 0 35px;
    font-size: 2rem
  }
  .formProgress ul li:before {
    right: -10px;
    border-width: 24px 0 24px 10px
  }
  .formProgress ul li:after {
    right: -9px;
    border-width: 24px 0 24px 10px
  }
  .orderedIntern .formBtn {
    margin-top: 40px
  }
  label .checkbox {
    margin-right: 5px
  }
  .formSection {
    padding: 40px 0 100px
  }
  .formSection .formTxt {
    margin: 0 0 25px;
    padding: 0
  }
  .formSection dl {
    padding: 20px;
    display: block
  }
  .formSection dl + .sectionTitle {
    margin-top: 60px
  }
  .formSection dl dt {
    padding: 0 0 10px;
    width: auto
  }
  .formSection dl dt ~ dt {
    padding-top: 20px;
    border-top: none
  }
  .formSection dl dd {
    padding: 0 0 20px;
    border-top: none !important;
    border-bottom: 1px #D6D6D6 solid;
    width: 100%
  }
  .formSection dl dd:last-child {
    padding-bottom: 0;
    border-bottom: none
  }
  .formSection dl dd a[href^="tel:"] {
    pointer-events: all;
    cursor: pointer
  }
  .formSection .entryChoice {
    margin: 0 0 20px;
    padding: 0;
    width: 50%
  }
  .formSection .entryChoice + .entryChoice {
    margin-left: 0
  }
  .formSection .entryChoice:nth-last-child(-n+2) {
    margin-bottom: 0
  }
  .formSection .entryChoice.spw100 {
    margin-bottom: 20px;
    width: 100%
  }
  .formSection .entryChoice.spw100:last-child {
    margin-bottom: 0
  }
  .formSection .entrySelect {
    padding: 0;
    white-space: nowrap
  }
  .formSection .entrySelect + .entrySelect {
    padding-top: 5px
  }
  .formSection .entrySelect select {
    width: auto
  }
  .formSection .entrySelect span {
    margin: 0 -0.4em
  }
  .formSection .formAgreementTxt {
    margin: 40px 0 27.5px
  }
  .formSection .formAgreement {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    flex-direction: column
  }
  .formSection .formAgreement label + label {
    margin: 10px 0 0
  }
  .formBtn {
    margin-top: 30px
  }
  .formComplete .sectionTitle {
    margin-bottom: 20px;
    white-space: nowrap
  }
  .formComplete p {
    margin-bottom: 35px
  }
  .formComplete p br {
    display: none
  }
  .contactLead .sectionTitle {
    font-size: 2rem
  }
  .contactLead p {
    margin: 30px 0 25px
  }
  .contactLead .contactData {
    margin: 0 auto 25px;
    padding: 25px 15px;
    display: block;
    height: auto;
    text-align: center
  }
  .contactLead .contactData .name {
    padding: 0 0 0 5px
  }
  .contactLead .contactData .tel {
    padding: 0;
    font-size: 2.7rem;
    letter-spacing: -0.05em
  }
  .contactLead .contactData .tel a {
    pointer-events: all
  }
  .contactLead .contactData .tel a .icon {
    margin-right: 15px;
    width: 24px
  }
  .contactLead .contactData .time {
    padding: 0 0 0 5px
  }
}
@media (max-width:767px) {
  .newsPage .searchArea .searchSort {
    text-align: center
  }
  .newsPage .searchArea .searchSort ul {
    display: inline-block
  }
  .newsPage .searchArea .searchSort .prev {
    margin-right: 10px;
    display: inline-block
  }
  .newsPage .searchArea .searchSort .next {
    margin-left: 10px;
    display: inline-block
  }
  .newsPage .newsDetail .title {
    margin: 0 0 30px
  }
  .newsPage .newsDetail > p {
    margin-bottom: 30px
  }
  .newsPage .newsDetail .singleImage {
    margin: 0 0 30px;
    display: block
  }
  .newsPage .newsDetail .doubleImage {
    margin: 0 0 30px
  }
  .newsPage .newsDetail .doubleImage .image {
    width: 46.6666666667%
  }
  .newsPage .newsDetail .columnTitle {
    margin-bottom: 30px;
    padding-bottom: 15px
  }
  .newsPage .newsDetail .column + .column {
    margin-top: 30px
  }
  .newsPage .newsDetail .photoBlock {
    margin-bottom: 30px
  }
  .newsPage .newsDetail .photoBlock .image {
    margin: 0 0 20px 20px;
    width: 46.6666666667%
  }
  .newsPage .pgenation {
    margin-top: 60px
  }
  .newsPage .pgenation .next a:before, .newsPage .pgenation .prev a:before {
    content: "";
    display: block;
    position: absolute;
    top: 8px;
    border-top: 2px #00C4BC solid;
    border-right: 2px #00C4BC solid;
    width: 10px;
    height: 10px
  }
  .newsPage .pgenation .prev a {
    padding-left: 15px
  }
  .newsPage .pgenation .button.btn03 {
    margin: 0 15px;
    width: 160px
  }
  .newsPage .pgenation .button.btn03 a {
    margin: 0;
    width: 160px
  }
  .newsPage .pgenation .next a {
    padding-right: 15px
  }
}
@media (max-width:767px) {
  .termsPage .termsArea .title {
    margin: 0 0 30px
  }
  .termsPage .termsArea .title img {
    margin-right: 0;
    width: 106px
  }
  .termsPage .termsArea .title span {
    display: block
  }
  .termsPage .termsArea dl dd + dt {
    margin-top: 30px
  }
  .termsPage .termsArea .supplementary {
    margin-top: 50px
  }
}
@media (max-width:767px) {
  .job-formPage .pageTitleArea .pageTitle {
    left: 0;
    font-size: 2rem;
    width: 100%;
    text-align: center;
    transform: translate(0, -50%)
  }
  .job-formPage .publishedInfo {
    background: url("../img/job-form/bg_bubble_sp.png") center top no-repeat;
    background-size: 100% auto
  }
  .job-formPage .publishedInfoInner {
    padding: 40px 0 60px
  }
  .job-formPage .publishedInfo .leadText {
    margin: 0 0 60px
  }
  .job-formPage .publishedInfo .leadText .sectionTitle {
    margin: 0 0 30px
  }
  .job-formPage .publishedInfo .leadText p {
    margin: 0 auto 55px;
    max-width: inherit
  }
  .job-formPage .publishedInfo .leadText .button.btn03 a {
    padding: 11px 0;
    line-height: 1.12
  }
  .job-formPage .publishedInfo .leadText .button.btn03 .arrow {
    top: 23px
  }
  .job-formPage .publishedInfo .merit {
    margin: 0 0 60px
  }
  .job-formPage .publishedInfo .merit .columnTitle {
    margin: 0 0 40px;
    font-size: 1.5rem
  }
  .job-formPage .publishedInfo .merit .columnTitle img {
    margin-bottom: 5px;
    width: 113px
  }
  .job-formPage .publishedInfo .merit .columnTitle span {
    display: block
  }
  .job-formPage .publishedInfo .flow .columnTitle {
    margin: 0 0 85px;
    font-size: 1.5rem
  }
  .job-formPage .publishedInfo .flow ul {
    display: block
  }
  .job-formPage .publishedInfo .flow ul li {
    padding: 65px 10% 50px;
    width: 100%
  }
  .job-formPage .publishedInfo .flow ul li + li {
    margin-top: 100px
  }
  .job-formPage .publishedInfo .flow ul li:after {
    top: auto;
    bottom: -40px;
    right: calc(50% - 12px);
    border-width: 20px 12px 0 12px;
    border-color: #14C4BC transparent transparent transparent
  }
  .job-formPage .publishedInfo .flow ul li .flowTitle {
    line-height: 1.47
  }
  .job-formPage .publishedInfo .flow ul li .icon img {
    width: auto
  }
}
@media (max-width:767px) {
  .sitemapPage .sitemapArea .title {
    margin: 0 0 25px;
    text-align: center
  }
  .sitemapPage .sitemapArea .title img {
    margin-right: 0;
    width: 138px
  }
  .sitemapPage .sitemapArea .title span {
    display: block
  }
  .sitemapPage .sitemapArea .sitemapList {
    display: block
  }
  .sitemapPage .sitemapArea .sitemapList ul {
    width: 100%
  }
  .sitemapPage .sitemapArea .sitemapList ul + ul {
    margin-bottom: 60px;
    border-top: none
  }
  .sitemapPage .sitemapArea .sitemapList ul li .upper a {
    color: #2B2E2E
  }
  .sitemapPage .sitemapArea .sitemapList ul li .upper a[target=_blank]:after {
    margin-left: 10px;
    content: "";
    display: inline-block;
    width: 15px;
    height: 12px;
    background: url("../img/icon_other.svg") 0 0 no-repeat;
    background-size: contain
  }
  .sitemapPage .sitemapArea .sitemapList ul li dl {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start
  }
  .sitemapPage .sitemapArea .sitemapList ul li dl dt {
    width: 100%
  }
  .sitemapPage .sitemapArea .sitemapList ul li dl dd {
    margin: 0 0 10px 10px;
    display: block;
    width: 35%
  }
}
/*# sourceMappingURL=common.css.map */