@charset "UTF-8";

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
body,sub,sup{position:relative}a:active,a:hover,input:focus{outline:0}abbr,acronym,fieldset,img,input,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}blockquote,body,dd,div,dl,dt,fieldset,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}address,caption,cite,code,dfn,th,var{font-style:normal;font-weight:400}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}q:after,q:before{content:''}a,img{vertical-align:top;display:inline-block}html{font-size:62.5%;line-height:1.75}body{margin:0;font-family:'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',Meiryo,メイリオ,Osaka,'MS PGothic',arial,helvetica,sans-serif}*{-webkit-box-sizing:border-box;box-sizing:border-box}a,a:hover{text-decoration:none}


/* ===========================================
共通
=========================================== */
body {
  color: #323746;
  font-size: 1.4rem;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
body.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow-y: auto;
}
.wrap {
}
a {
  color: #000;
}
.pcOnly {
  display: block;
}
.tabOnly {
  display: none;
}
.ipadOnly {
  display: none;
}
.spOnly {
  display: none;
}
.l-column {
  max-width: 1040px;
  margin: 0 auto;
}
.flexWrap {
  display: flex;
}
.content {
  width: calc(100% - 240px);
  margin-left: 240px;
}
.internalLinks {
  position: relative;
}
.internalLinksTarget {
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 1280px) {
}

@media screen and (max-width: 1039px) {
  .l-column {
    max-width: calc(100% - 200px);
  }
}

@media screen and (max-width: 959px) {
  .l-column {
    max-width: calc(100% - 100px);
  }
  .content {
    width: 100%;
    padding-top: 60px;
    margin-left: 0;
  }
  .home .content {
    padding-top: 0;
  }
  .internalLinks {
    position: relative;
  }
  .internalLinksTarget {
    display: block;
    position: absolute;
    top: -80px;
    left: 0;
  }
}

.btn {
  width: 100%;
  height: 100%;
  min-height: 48px;
  padding-top: 2px;
  color: #fff;
  font-size: 1.6rem;
  line-height: 2.125;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #3d3d3d;
  border-radius: 4px;
  transition: 0.03s;
}
_:-ms-input-placeholder, :root .btn {
  padding-top: 6px;
}
.btn:hover {
  opacity: 1;
  text-decoration: underline;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .btn {
    min-height:40px;
    padding-top: 0;
    font-size: 1.2rem;
  }
  .btn:hover {
    font-size: 1.2rem;
  }
}


@media screen and (max-width: 767px) {
  body {
    font-family: "Noto Sans JP";
  }
  .wrap {
  }
  .index .wrap {
  }
  .pcOnly {
    display: none;
  }
  .tabOnly {
    display: none;
  }
  .ipadOnly {
    display: none;
  }
  .spOnly {
    display: block;
  }
  .l-column {
    max-width: 100%;
    width: 100%;
  }
}
.js-clickable {
  cursor: pointer;
}


/* ===========================================
header
=========================================== */
.header {
  width: 241px;
  height: 100%;
  padding: 60px 0 0;
  position: fixed;
  top: 0;
  z-index: 99;
  display: flex;
  flex-direction: column;
  background-color: #fff;
}
.header .logMain {
  margin-bottom: 45px;
  flex: 0 0 auto;
  text-align: center;
}
.header .logMain a {
  transition: .3s;
}
.header .logMain a:hover {
  opacity: 0.6;
}
.header .logMain img {
  width: 116px;
  height: auto;
}
.header .navWrap {
  height: 100%;
  padding-bottom: 35px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.header .navWrap::-webkit-scrollbar {
  display:none;
}
.header .gnav {
  margin-bottom: 50px;
  flex: 1 0 auto;
}
.header .gnav li {
  display: flex;
  position: relative;
}
.header .gnav li {
  width: 100%;
  height: 52px;
  padding: 0 10px 0 39px;
  display: flex;
  align-items: center;
  transition: .3s;
  font-size: 1.5rem;
  position: relative;
  cursor: pointer;
}
_:-ms-input-placeholder, :root .header .gnav li {
  padding-top: 6px;
}
.header .gnav li a {
  padding: 7px 5px 3px 0;
  margin-bottom: 2px;
}
.header .gnav .list > li > a {
  font-weight: bold;
}
.header .gnav li.active > a {
  background: radial-gradient(circle farthest-side, #EE6600, #EE6600 33.333%, transparent 33.333%, transparent);
  background-size: 6px 2px;
  background-position: left bottom;
  background-repeat: repeat-x;
}
.header .subNav {
  width: 260px;
  height: 100%;
  padding: 177px 0;
  position: fixed;
  top: 0;
  left: 240px;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  background: #E7F7FD;
  overflow-y: auto;
  transition: .3s;
  -ms-overflow-style: none;
  scrollbar-width: none;
  pointer-events: none;
}
.header .subNav::-webkit-scrollbar {
  display:none;
}
.header .subNav a {
  padding: 0;
  position: relative;
  transition: .3s;
}
.header .subNav a:after {
  content: "";
  width: calc(100% + 6px);
  height: 2px;
  position: absolute;
  top: 30px;
  left: -3px;
  z-index: 10;
  display: inline-block;
  background: radial-gradient(circle farthest-side, #EE6600, #EE6600 33.333%, transparent 33.333%, transparent);
  background-size: 6px 2px;
  pointer-events: none;
  opacity: 0;
}
.header .subNav li:hover a:after {
  opacity: 1;
}
.header .gnav li:hover,
.header .gnav li.is-active {
  background-color: #e7f7fd;
}
.header .gnav .list > li:hover > a {
  background: radial-gradient(circle farthest-side, #EE6600, #EE6600 33.333%, transparent 33.333%, transparent);
  background-size: 6px 2px;
  background-position: left bottom;
  background-repeat: repeat-x;
}
.header .gnav .subNav.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.header .gNavFooter {
  margin-top: auto;
}
.header .trendNavi {
  margin: 0 0 20px 39px
}
.header .trendNavi a {
  transition: .3s;
}
.header .trendNavi a:hover {
  opacity: 0.6;
}
.header .langNav {
  margin-left: 39px;
  padding-top: 1px;
  padding-left: 18px;
  display: flex;
  align-items: center;
  background: url(../img/common/ico_language.png) no-repeat left center / 18px auto;
  line-height: 1.5;
}
_:-ms-input-placeholder, :root .header .langNav {
  padding-top: 6px;
}
.header .langNav a {
  padding: 0 10px;
  font-size: 1.25rem;
  display: block;
}
.header .langNav li + li a {
  border-left: 1px solid #000;
}
.header .langNav a:hover {
  text-decoration: underline;
}
.header .menuBtn {
  display: none;
}
.gnavOverlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
}
/* 英語版ナビ */
.gnav {
  display: none;
}
.gnav.active {
  display: block;
}
.header.eng .gnav li a {
  font-family: 'Roboto', sans-serif;
  font-weight: 300;
}
.header.eng .trendNavi {
  display: none;
}
@media screen and (min-width: 960px) {
  .header .navWrap {
    height: 100% !important;
    display: flex !important;
  }
}

@media screen and (max-width: 959px) {
  .header {
    width: 100%;
    height: 80px;
    padding: 12px 30px 21px 30px;
    flex-direction: row;
    align-items: center;
    overflow-y: visible;
    background-color: #fff;
    transition: .3s;
  }
  .header .logMain {
    width: 60px;
    margin-bottom: 0;
  }
  .header .logMain img {
    width: 100%;
    height: auto;
  }
  .header .navWrap {
    width: calc(100% + 56px);
    /*padding: 0 0 100px;*/
    background-color: #fff;
    display: none;
    position: absolute;
    top: 70px;
    left: -26px;
    overflow-y: visible;
  }
  .header .gnav {
    height: calc(100% - 90px);
    padding-top: 85px;
    margin-bottom: 0;
    padding-bottom: 30px;
    overflow-y: auto;
  }
  .header .gnav li {
    height: auto;
    padding-left: 50px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    position: relative;
    visibility: visible;
    opacity: 1;
  }
  .header .gnav .list > li:after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    position: absolute;
    top: 15px;
    right: 63px;
    transform: rotate(225deg);
  }
  .header .gnav .list > li.is-active:after {
    top: 15px;
    transform: rotate(45deg);
  }
  .header .gnav .list > li.js-spDirectLink:after {
    content: normal;
  }
  .header .gnav li a {
    font-weight: normal;
  }
  .header .gnav li > a {
    font-size: 1.8rem;
  }
  _:-ms-input-placeholder, :root .header .gnav li > a {
    padding-top: 6px;
  }
  .header .subNav li:hover a:after {
    opacity: 0;
  }
  .header .gnav li:hover,
  .header .gnav li.is-active {
    background-color: #fff;
  }
  .header .gnav .list > li:hover > a  {
    background: none;
  }
  .header .subNav {
    width: calc(100% + 50px);
    height: 0;
    padding: 18px 19px 0;
    margin-left: -50px;
    position: static;
    background-color: #fff;
    pointer-events: auto;
    transition: 0s;
  }
  .header  .subNav.is-active {
    height: 100%;
    visibility: visible;
    opacity: 1;
  }
  .header .subNav li a {
    font-size: 1.5rem;
  }
  .header .subNav li + li {
    margin-top: 18px;
  }
  .header .subNav li:last-child {
    padding-bottom: 30px;
  }
  .header .trendNavi {
    width: 144px;
    margin: 0 0 15px 50px;
  }
  .header .trendNavi a {
    transition: .3s;
  }
  .header .trendNavi a:hover {
    opacity: 0.6;
  }
  .header .trendNavi img {
    width: 100%;
    height: auto;
  }
  .header .langNav {
    margin-left: 50px;
    padding-left: 12px;
    display: flex;
    align-items: center;
    background: url(../img/common/ico_language.png) no-repeat left center / 18px auto;
    line-height: 1.5;
  }
  .header .langNav li + li a {
    border-left: 1px solid #000;
  }
  .header .langNav a {
    padding: 0 19px;
    font-size: 1.4rem;
  }
  .header .langNav a:hover {
    opacity: 0.6;
  }

  /* メニューボタン */
   .header .menuBtn {
    width: 35px;
    height: 35px;
    margin-top: 0;
    position: absolute;
    top: 50%;
    right: 28px;
    z-index: 9999;
    transform: translateY(calc(-50% + 6px));
    display: block;
  }
  _:-ms-input-placeholder, :root .header .menuBtn {
    margin-top: -10px;
  }
   .header .menuBtn span {
    display: inline-block;
    transition: all .4s;
    box-sizing: border-box;
  }

  .header .menuBtn.is-active {
    width: 35px;
  }
   .header .menuBtn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
  }
  .header .menuBtn span,
  .header .menuBtn.active span {
    background-color: #173747;
  }
   .header .menuBtn span:nth-of-type(1) {
    top: 0;
  }
   .header .menuBtn span:nth-of-type(2) {
    top: 11px;
  }
   .header .menuBtn span:nth-of-type(3) {
    top: 22px;
  }

   .header .menuBtn.is-active {
    width: 35px;
    right: 27px;
  }
   .header .menuBtn.is-active span:nth-of-type(1) {
    transform: translateY(11px) rotate(-45deg);
  }
   .header .menuBtn.is-active span:nth-of-type(2) {
    opacity: 0;
  }
   .header .menuBtn.is-active span:nth-of-type(3) {
    transform: translateY(-11px) rotate(45deg);
  }

  /* 英語版トップ */
  .header.eng .langNav {
    margin-top: 35px;
  }
  .header.eng .gnav {
    padding-bottom: 60px;
  }
  .header.eng.transparent {
    background: transparent;
  }
  .header.eng.transparent.is-active {
    background: #FFF;
  }
  .header.eng .gnav .list > li:after {
    transform: rotateZ(135deg)
  }
  .header.eng .gnav .list {
    margin-top: -23px;
  }
  .header.eng .gnav .list li {
    margin-top: 23px;
  }
}

@media screen and (max-width: 767px) {
  .header {
    height: 60px;
    padding: 2px 30px 1px 26px;
  }
  .header .logMain {
    width: 43px;
  }
  .header .navWrap {
    top: 59px;
  }

  /* メニューボタン */
  .header .menuBtn {
    width: 20px;
    height: 19px;
    margin-top: -4px;
    right: 28px;
  }
  .header .menuBtn span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
  }
  .header .menuBtn.is-active {
    width: 20px;
    right: 27px;
  }
  .header .menuBtn span:nth-of-type(1) {
    top: 0;
  }
  .header .menuBtn span:nth-of-type(2) {
    top: 7px;
  }
  .header .menuBtn span:nth-of-type(3) {
    top: 14px;
  }
  .header .menuBtn.is-active span:nth-of-type(1) {
    transform: translateY(5px) rotate(-45deg);
  }
  .header .menuBtn.is-active span:nth-of-type(2) {
    opacity: 0;
  }
  .header .menuBtn.is-active span:nth-of-type(3) {
    transform: translateY(-9px) rotate(45deg);
  }
}


/* ===========================================
footer
=========================================== */
.footer {
  background-color: #f8f8f8;
}
.footer .banArea {
  padding: 38px 57px 40px;
  border-bottom: 1px solid #ddd;
}
.footer .banArea .inner {
  position: relative;
}
.footer .banList {
  width: calc(100% - 190px);
  padding: 0 34px 0 29px;
  border-right: 1px solid #535353;
  display: flex;
  flex: 1;
}
.footer .banList .slick-list {
  margin-left: -8px;
}
.footer .banList .item {
  padding: 0 7px 0 8px;
}
.footer .banList a {
  outline-style: none;
  transition: .3s;
}
.footer .banList a:hover {
  opacity: 0.6;
}
.footer .banList .slick-arrow {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 23px;
  height: 11px;
  color: transparent;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transition: .3s;
}
.footer .banList .slick-arrow:hover {
  opacity: 0.6;
}
.footer .banList .slick-prev {
  left: 3px;
}
.footer .banList .slick-next {
  right: 16px;
}
.footer .banList .slick-arrow:before {
  content: "";
  width: 17px;
  height: 17px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.footer .banList .slick-prev:before {
  border-left: 1px solid #535353;
  border-bottom: 1px solid #535353;
}
.footer .banList .slick-next:before {
  border-top: 1px solid #535353;
  border-right: 1px solid #535353;
}
.footer .banList img {
  width: 100%;
  height: auto;
}
.footer .snsBox {
  padding-left: 40px;
  font-size: 1.4rem;
  line-height: 1.714285714;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.footer .snsBox a {
  padding-top: 1px;
  display: flex;
  align-items: center;
  transition: .3s;
}
.footer .snsBox a img {
  transition: .3s;
}
.footer .snsBox a:hover {
  text-decoration: underline;
}
.footer .snsBox a:hover img {
  opacity: 0.6;
}
.footer .snsBox span {
  width: 46px;
  height: 46px;
  margin-left: 10px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}
.footer .footerNav {
  max-width: 1154px;
  padding: 34px 57px 48px;
}
.footer .footerNav .pcNav {
  display: flex;
}
.footer .pcNav .item {
  padding-right: 20px;
}
.footer .pcNav .item:last-child {
  padding-right: 0;
}
.footer .pcNav .service {
  width: 25.8%;
}
.footer .pcNav .about {
  width: 24.6%;
}
.footer .pcNav .sponsor {
  width: 24.5%;
}
.footer .pcNav .sponsor .mt {
  margin-top: 41px;
}
.footer .pcNav .recruit {
  width: 14%;
  min-width: 8em;
}
.footer .pcNav .information dt {
  margin-bottom: 13px;
  font-size: 1.4rem;
}
.footer .spNav {
  display: none;
}
.footer .pcNav dt {
  margin-bottom: 22px;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
}
.footer .pcNav dd {
  margin-bottom: 9px;
  font-size: 1.4rem;
  line-height: 1.5;
}
.footer .pcNav a:hover {
  text-decoration: underline;
}
.footer .footerBottom {
  padding: 17px 57px 23px;
  background-color: #ebebeb;
}
.footer .footerBottom .flexWrap {
  margin-bottom: 15px;
  align-items: center;
}
.footer .footerBottom .logo {
  margin-right: 14px;
}
.footer .footerBottom .logo a {
  transition: .3s;
}
.footer .footerBottom .logo a:hover {
  opacity: 0.6;
}
.footer .footerUtility {
  display: flex;
  align-items: center;
}
.footer .footerUtility li {
  border-right: 1px solid #333333;
}
.footer .footerUtility li + li + li {
  border-right: none;
}
.footer .footerUtility a {
  padding: 0 18px;
  font-size: 1.2rem;
  line-height: 1.2;
  display: flex;
  align-items: center;
}
.footer .footerUtility a .img {
  margin-left: 8px;
  display: inline-block;
  transition: .3s;
}
.footer .footerUtility a:hover {
  text-decoration: underline;
}
.footer .footerUtility a:hover .img {
  opacity: 0.7;
}
.footer .footerUtility .privacy {
  display: flex;
  align-items: center;
}
.footer .footerUtility .privacy a {
  padding-right: 11px;
}
.footer .footerUtility .privacy .img a {
  padding: 0;
}
.footer .footerBottom .snsBox {
  display: none;
}
.footer .footerBottom .copy {
  font-size: 1.2rem;
}

/* 英語版フッター */
.footer .footerBottom.eng {
  display: none;
}
.footer.eng .banArea,
.footer.eng .footerNav,
.footer.eng .footerBottom,
.footer .footerBottom.eng {
  display: none;
}
.footer.eng .footerBottom.eng {
  display: block;
}
.footer.eng .footerBottom {
  padding: 24px 57px 25px;
}
.footer.eng .flexWrap {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0;
}
.footer.eng .copyBox {
  display: flex;
  align-items: center;
}
.footer.eng .footerBottom .logo {
  margin-right: 20px;
}
@media screen and (max-width: 1280px) {
  .footer .pcNav .information dt {
    white-space: nowrap;
  }
}

@media screen and (max-width: 1039px) {
  .footer .banArea {
    padding: 38px 0 40px;
  }
  .footer .footerNav .pcNav {
    padding: 0;
  }
  .footer .footerBottom .inner {
    padding: 0 100px;
  }
  .footer .footerNav {
    max-width: calc(100% - 200px);
    padding-left: 0;
    padding-right: 0;
  }
  .footer .footerBottom {
    padding: 17px 0 23px;
  }
}
@media screen and (max-width: 1024px) {
  .footer .pcNav dt {
    font-size: 1.4rem;
    white-space: nowrap;
  }
}

@media screen and (max-width: 959px) {
  .footer .banArea {
    padding: 38px 0 40px;
  }
  .footer .footerBottom .inner {
    padding: 0 50px;
  }
  .footer .footerNav {
    max-width: calc(100% - 100px);
  }
}

@media screen and (max-width: 767px) {
  .footer .banArea {
    padding: 40px 0 38px;
    margin: 0 24px;
    border-bottom: 1px solid #ddd;
  }
  .footer .banList {
    width: 100%;
    padding: 0 23px 0 17px;
    border-right: none;
  }
  .footer .banList .slick-list {
    margin-right: -15px;
  }
  .footer .banList .slick-arrow:before {
    width: 9px;
    height: 9px;
  }
  .footer .banList .slick-prev {
    left: -11px;
  }
  .footer .banList .slick-next {
    right: -12px;
  }
  .footer .banList .item {
    padding: 0 4px;
  }
  .footer .banList .item:nth-child(3) {
    display: none;
  }
  .footer .banArea .snsBox {
    display: none;
  }
  .footer .footerNav {
    max-width: 100%;
    padding: 39px 0 23px;
  }
  .footer .pcNav {
    display: none !important;
  }
  .footer .spNav {
    padding: 0 24px;
    display: flex;
    flex-wrap: wrap;
  }
  .footer .spNav li {
    width: 50%;
    padding: 0 10px 0 4px;
    margin-bottom: 16px;
  }
  .footer .spNav li a {
    font-size: 1.4rem;
    font-weight: bold;
  }
  .footer .spNav li a:hover {
    text-decoration: underline;
  }
  .footer .footerBottom {
    padding: 32px 20px 23px;
    background-color: #ebebeb;
  }
  .footer .footerBottom .inner {
    padding: 0 24px;
  }
  .footer .footerBottom .flexWrap {
    margin-bottom: 12px;
    align-items: center;
    flex-direction: column;
  }
  .footer .footerBottom .logo {
    width: 39px;
    height: 33px;
    margin-right: 0;
    order: 3;
  }
  .footer .footerBottom .logo img {
    width: 100%;
    height: auto;
  }
  .footer .footerUtility {
    width: 100%;
    margin-bottom: 36px;
    display: flex;
    align-items: center;
    order: 1;
  }
  .footer .footerUtility li {
    width: 50%;
    border-right: #000;
  }
  .footer .footerUtility li + li {
    border-right: none;
  }
  .footer .footerUtility a {
    padding: 0;
    font-size: 1.2rem;
    line-height: 1.2;
    display: flex;
    align-items: center;
  }
  .footer .footerUtility a:hover {
    text-decoration: underline;
  }
  .footer .footerUtility a .img {
    width: 29px;
    height: 29px;
    margin-left: 8px;
    display: inline-block;
  }
  .footer .footerUtility a .img img {
    width: 100%;
    height: auto;
  }
  .footer .footerUtility .privacy a {
    padding-right: 10px;
  }
  .footer .footerUtility .privacy img {
    width: 29px;
    height: auto;
  }
  .footer .footerBottom .snsBox {
    margin-top: 23px;
    margin-bottom: -2px;
    padding-left: 0;
    display: block;
    position: static;
    order: 2;
  }
  .footer .footerBottom .copy {
    font-size: 1rem;
    text-align: center;
    order: 4;
  }

  /* 英語版 */
  .footer.eng .flexWrap {
    flex-direction: column-reverse;
  }
  .footer.eng .copyBox {
    flex-direction: column;
  }
  .footer.eng .footerBottom {
    padding: 19px 57px 9px;
  }
  .footer.eng .footerBottom .logo {
    margin: 20px 0 12px 0;
  }
  .footer.eng .privacy img {
    width: 29px;
    height: 29px;
  }
}

/* ===========================================
TOP
=========================================== */

/*KVエリア*/
.indexKvArea {
  width: 100%;
  position: relative;
}
.indexKvArea .titBox {
  max-width: 100%;
  position: absolute;
  top: 31.5%;
  left: 63px;
  z-index: 10;
}
.indexKvArea .tit {
  margin-bottom: 46px;
}
.indexKvArea .txt {
  padding-left: 20px;
  font-size: 1.5rem;
  line-height: 2.533333333;
  letter-spacing: 0.15em;
}
.indexKvArea .txt span {
  display: none;
}
.indexKvArea .infoBox {
  width: 326px;
  padding: 20px 20px 25px;
  background-color: #fff;
  position: absolute;
  bottom: 40px;
  right: 60px;
  z-index: 10;
}
.indexKvArea .infoBox:before {
  content: "";
  width: 0;
  height: 0;
  border-top: 10px solid #EE6600;
  border-left: 10px solid #EE6600;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  position: absolute;
  top: 0;
  left: 0;
}
.indexKvArea .infoBox .tit {
  margin-bottom: 7px;
  color: #e60;
  font-size: 1.6rem;
  font-weight: bold;
  display: flex;
  align-items: center;
}
.indexKvArea .infoBox .tit span {
  padding-left: 15px;
  color: #848484;
  font-size: 1.4rem;
  font-weight: normal;
}
.indexKvArea .infoBox dd {
}
.indexKvArea .infoBox dd a {
  width: 100%;
  font-size: 1.3rem;
  max-height: 44px;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.indexKvArea .infoBox dd a:hover {
  text-decoration: underline;
}
.indexKvArea .list {
  position: relative;
  z-index: 1;
}
.indexKvArea .list img {
  width: 100%;
  height: auto;
}
.indexKvArea .list .slick-slide {
  margin-top: -40px;
}
.indexKvArea .pcOnly {
  display: block;
}
.indexKvArea .spOnly {
  display: none;
}
.indexKvArea .slick-dots {
  position: absolute;
  top: 50%;
  right: 61px;
  margin-top: -45px;
}
.indexKvArea .slick-dots li {
  width: 10px;
  height: 10px;
  margin-bottom: 16px;
}
.indexKvArea .slick-dots li + li {
}
.indexKvArea .slick-dots button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #8b8b8b;
  color: transparent;
}
.indexKvArea .slick-dots .slick-active button {
  background-color: #00aaeb;
}
@media screen and (max-width: 1280px) {
  .indexKvArea .titBox {
    width: 47.8767694%;
  }
  .indexKvArea .tit {
    width: 100%;
    margin-bottom: 32px;
  }
  .indexKvArea .tit img {
    width: 100%;
    height: auto;
  }
  .indexKvArea .txt {
    padding-left: 10px;
    text-indent: 0;
    font-size: 1.4rem;
    line-height: 2.142857143;
    letter-spacing: 0;
  }
}
@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .indexKvArea {
    width: 100%;
    margin-top: 60px;
    margin-bottom: 49px;
  }
  .indexKvArea .titBox {
    width: calc(100% - 48px);
    top: 5.5%;
    left: 24px;
  }
  .indexKvArea .tit {
    width: 100%;
    margin-bottom: 32px;
  }
  .indexKvArea .tit img {
    max-width: 327px;
    width: 100%;
    height: auto;
  }
  .indexKvArea .txt {
    padding-left: 10px;
    text-indent: 0;
    font-size: 1.4rem;
    line-height: 2.142857143;
    letter-spacing: 0;
  }
  .indexKvArea .txt span {
    display: inline-block;
  }
  .indexKvArea .infoBox {
    width: calc(100% - 50px);
    padding: 21px 20px 21px;
    bottom: -55px;
    right: 0;
    box-shadow: 0 0 24px rgba(0, 0, 0, .1)
  }
  .indexKvArea .infoBox:before {
    border-top: 8px solid #EE6600;
    border-left: 8px solid #EE6600;
    border-right: 8px solid transparent;
    border-bottom: 8px solid transparent;
  }
  .indexKvArea .infoBox .tit {
    margin-bottom: 6px;
    letter-spacing: 0.1em;
  }
  .indexKvArea .infoBox .tit span {
    font-size: 1.2rem;
  }
  .indexKvArea .infoBox dd a {
    font-size: 1.2rem;
  }
  .indexKvArea .infoBox dd span {
    padding-left: 15px;
  }
  .indexKvArea .pcOnly {
    display: none;
  }
  .indexKvArea .spOnly {
    display: block;
  }
  .indexKvArea .slick-dots {
    display: none !important;
  }
}

/*TOPページ共通*/
.indexSection {
  padding: 106px 0 0;
}
.secTit {
  padding-bottom: 13px;
  margin-bottom: 47px;
  font-size: 4rem;
  text-align: center;
  position: relative;
}
.secTit span {
  display: block;
  margin-top: -6px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}
.secTit:after {
  content: "";
  width: 60px;
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .indexSection {
    padding: 60px 0 0;
  }
  .secTit {
    padding-bottom: 11px;
    margin-bottom: 32px;
    font-size: 2.4rem;
  }
  .secTit span {
    margin-top: 2px;
    font-size: 1rem;
    letter-spacing: 0.1em;
  }
  .secTit:after {
    width: 40px;
  }
}

/*マイナビについて*/
.aboutArea {
  overflow: hidden;
}
.aboutArea .secTit:after {
  background-color: #00AAEB;
}
.aboutArea .list {
  flex-wrap: wrap;
}
.aboutArea .list a {
  color: #fff;
  position: relative;
  transition: .3s;
  width: 100%;
  height: 100%;
}
.aboutArea .list a:after {
  content: "";
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.aboutArea .list a:hover {
  opacity: 0.6;
}
.aboutArea .list li {
  width: 33.333333%;
}
.aboutArea .list img {
  width: 100%;
  height: auto;
}
.aboutArea .list .txt {
  padding-top: 7px;
  color: #fff;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  transform: translate(-50%, -50%);
}
.aboutArea .list .txt span {
  margin-bottom: -4px;
  font-size: 3.6rem;
  font-family: Arial;
  line-height: 1.3;
  white-space: nowrap;
  display: block;
}

@media screen and (max-width: 1280px) {
  .aboutArea .list .txt span {
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 1024px) {
  .aboutArea .list .txt span {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .aboutArea .list {
    flex-wrap: wrap;
  }
  .aboutArea .list li {
    width: 50%;
  }
  .aboutArea .list .txt {
    padding-top: 0;
    font-size: 0.8rem;
  }
  .aboutArea .list .txt span {
    margin-bottom: -2px;
    font-size: 1.6rem;
  }
}

/*トレンドnavi*/
.trendNaviArea {
  padding: 106px 60px 100px;
  background: url(../img/index/bg_trend_navi_pc.png) repeat left top / 32px auto;
}
.trendNaviArea .secTit:after {
  background-color: #E63082;
}
.trendNaviArea .l-column > .txt {
  margin-bottom: 56px;
  font-size: 1.65rem;
  text-align: center;
  line-height: 1.75;
}
.trendNaviArea .list {
  margin-bottom: 85px;
}
.trendNaviArea .list li {
  width: 33.33333%;
  padding: 0 31px;
}
.trendNaviArea .list a {
  width: 100%;
  position: relative;
  transition: .3s;
}
.trendNaviArea .list a:hover {
  opacity: 1;
}
.trendNaviArea .list a:hover img{
  transform: scale(1.1);
  transition: all .5s ease;
}
.trendNaviArea .list .img {
  overflow: hidden;
  margin-bottom: 25px;
}
.trendNaviArea .list .img img {
  width: 100%;
  height: auto;
  transition: all .5s ease;
}
.trendNaviArea .list .img .new {
  width: 50px;
  height: 50px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  border-radius: 50px;
  background-color: #e63082;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -25px;
  left: -25px;
  z-index: 10;
}
_:-ms-input-placeholder, :root .trendNaviArea .list .img .new {
  padding-top: 6px;
}
.trendNaviArea .list .tit {
  margin-bottom: 13px;
  font-size: 1.5rem;
  line-height: 1.4;
}
.trendNaviArea .list .tit .date {
  margin-bottom: -3px;
  color: #6e6e6e;
  font-size: 1.4rem;
  line-height: 1.714285714;
  display: block;
}
.trendNaviArea .list .tit .ttl{
  text-decoration: underline;
}
.trendNaviArea .list a:hover .tit .ttl {
  font-weight: bold;
}
.trendNaviArea .list .txt {
  color: #6e6e6e;
  font-size: 1.6rem;
  line-height: 1.3125;
}
.trendNaviArea .more {
  width: 180px;
  margin: 0 auto;
  display: flex;
}
.trendNaviArea .more a {
  padding-top: 0;
}

@media screen and (max-width: 1039px) {
  .trendNaviArea {
    padding: 106px 0 100px;
  }
}

@media screen and (max-width: 959px) {
  .trendNaviArea {
    padding: 106px 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .trendNaviArea {
    padding: 60px 24px 27px 24px;
    background: url(../img/index/bg_trend_navi_sp.png) repeat left top / 32px auto;
  }
  .trendNaviArea .secTit:after {
    background-color: #EE6600;
  }
  .trendNaviArea .l-column > .txt {
    margin-bottom: 53px;
    font-size: 1.4rem;
    line-height: 1.857142857;
    text-align: left;
  }
  .trendNaviArea .list {
    margin-top: -35px;
    margin-bottom: 62px;
    flex-wrap: wrap;
  }
  .trendNaviArea .list li {
    width: 50%;
    margin-top: 35px;
    padding: 0 10px;
  }
  .trendNaviArea .list .img {
    margin-bottom: 8px;
  }
  .trendNaviArea .list .img .new {
    width: 28px;
    height: 28px;
    font-size: .9rem;
    top: -16px;
    left: -12px;
  }
  .trendNaviArea .list .tit {
    margin-bottom: 10px;
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .trendNaviArea .list .tit .date {
    margin-bottom: 3px;
    font-size: 1rem;
    line-height: 1.714285714;
    display: block;
  }
  .trendNaviArea .list .txt {
    color: #6e6e6e;
    font-size: 1rem;
    line-height: 1.5;
  }
  .trendNaviArea .more {
    width: 118px;
    transform: translateX(-5px);
  }
}

/*ニュースリリース・お知らせ*/
.informationArea {
  padding: 107px 57px 102px;
}
.informationArea .inner {
  width: 100%;
  padding: 0 20px;
}
.informationArea .item {
  width: calc(50% - 20px);
  flex: 1 1 auto;
}
.informationArea .item + .item {
  margin-left: 40px;
}
.informationArea .item .tit {
  padding: 0 0 18px 8px;
  font-size: 3rem;
  line-height: 1.666666667;
  display: flex;
  align-items: center;
}
.informationArea .newsBox .tit {
  border-bottom: 1px solid #EE6600;
}
.informationArea .informationBox .tit {
  border-bottom: 1px solid #006C3B;
}
.informationArea .item .tit .btn {
  width: 120px;
  height: 34px;
  margin-left: auto;
  min-height: 34px;
}
.informationArea .item .list a {
  min-height: 73px;
  padding: 20px 20px 22px 9px;
  display: flex;
  border-bottom: 1px solid #DDDDDD;
}
.informationArea .item .date {
  padding-right: 34px;
  color: #6e6e6e;
  font-size: 1.4rem;
}
.informationArea .item .list a:hover .txt {
  text-decoration: underline;
}
.informationArea .item .txt {
  font-size: 1.5rem;
  line-height: 1.714285714;
}

@media screen and (max-width: 1039px) {
  .informationArea {
    padding: 106px 0 83px;
  }
  .informationArea .inner {
    padding: 0 100px;
  }
}
@media screen and (max-width: 1024px) {
  .informationArea .item .tit {
    font-size: 2rem;
  }
  .informationArea .item .tit .btn {
    width: 90px;
  }
}

@media screen and (max-width: 959px) {
  .informationArea .inner {
    padding: 0 50px;
  }
  .informationArea .item .tit {
    font-size: 2.3rem;
    white-space: nowrap;
  }
  .informationArea .item .tit .btn {
    width: 100px;
  }
}

@media screen and (max-width: 767px) {
  .informationArea {
    padding: 106px 0 83px;
  }
  .informationArea .l-column {
    padding: 0 25px;
    flex-direction: column;
  }
  .informationArea .item {
    width: 100%;
  }
  .informationArea .item + .item {
    margin-top: 38px;
    margin-left: 0;
  }
  .informationArea .item .tit {
    padding: 0 0 24px;
    font-size: 2rem;
    line-height: 1.666666667;
  }
  .informationArea .newsBox .tit {
    border-bottom: 1px solid #EE6600;
  }
  .informationArea .informationBox .tit {
    border-bottom: 1px solid #006C3B;
  }
  .informationArea .item .tit .btn {
    width: 90px;
    height: 28px;
    padding-top: 0;
    margin-top: 4px;
    font-size: 1.2rem;
  }
  .informationArea .item .list a {
    padding: 14px 5px 11px 9px;
    border-bottom: 1px solid #DDDDDD;
    transition: .3s;
  }
  .informationArea .item .list a:hover {
    opacity: .8;
  }
  .informationArea .item .date {
    padding-right: 17px;
    font-size: 1.2rem;
  }
  .informationArea .item .txt {
    margin-top: -2px;
    font-size: 1.4rem;
    line-height: 1.857142857;
  }
}
/* ===========================================
スポンサーシップ
=========================================== */
.sponsorship .contentsInner {
  padding: 70px 59px 80px;
}
.sponsorship .sponsorshipMenu + .contentsInner {
  padding: 78px 90px 102px;
}
.sponsorshipArea .titBox {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.sponsorshipArea .titBox > .tit {
  width: 100%;
  margin-bottom: 40px;
  color: #00aaeb;
  font-size: 3.6rem;
  text-align: center;
  line-height: 1.5;
}
.sponsorshipArea  .sponsorshipAboutBox {
  margin-bottom: 76px;
}
.sponsorshipAboutBox .linkBox > li .img {
  margin-bottom: 0;
}
.sponsorshipAboutBox .linkBox > li .linkWrap span.txt {
  min-height: 0;
  padding: 43px 5px 11px 0;
  font-weight: bold;
  margin-right: 40px;
}
.sponsorshipAboutBox .linkBox > li .linkWrap .subTxt {
  min-height: 0;
  color: #707070;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.666666667;
  position: absolute;
  bottom: -13px;
  left: 0;
  white-space: nowrap;
}
.sponsorshipAboutBox .linkBox > li .subTxt:after {
  content: normal;
}
.sponsorshipAboutBox .linkBox > li > .linkWrap:before,
.sponsorshipAboutBox .linkBox > li > .linkWrap:after {
}
.sponsorshipAboutBox .linkBox > li .linkWrap {
  min-height: 0;
  margin-top: 44px;
}
.sponsorshipListArea .barTit {
  display: flex;
  align-items: center;
}
.sponsorshipListArea .barTit .btn {
  width: 120px;
  height: 34px;
  min-height: 0;
  margin-left: auto;
}
.sponsorshipListArea .barTit .btn:hover {
  opacity: 1;
}
.sponsorshipListArea .barTit .btn a {
  color: #FFF;
}
.sponsorshipListArea .list a {
  width: 100%;
  min-height: 54px;
  padding: 14px 30px 14px 0;
  font-size: 1.4rem;
  display: flex;
  border-bottom: 1px solid #ddd;
  position: relative;
}
.sponsorshipListArea .list .date {
  margin-right: 25px;
  color: #6e6e6e;
  line-height: 1.714285714;
}
.sponsorshipListArea .list .txt {
  font-size: 1.5rem;
}
.sponsorshipListArea .list li a:hover .txt {
  text-decoration: underline;
}
@media screen and (max-width: 1039px) {
  .sponsorship .l-column {
    max-width: calc(100% - 100px);
  }
  .sponsorship .contentsInner {
      padding: 80px 0 100px;
  }
  .sponsorship .contentsInner {
    padding: 80px 0 100px;
  }
  .sponsorship .sponsorshipMenu + .contentsInner {
    padding: 78px 0 102px;
  }
}
@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 959px) {
  .sponsorshipArea .titBox > .tit {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767px) {
  .sponsorship .l-column {
    max-width: 100%;
  }
  .sponsorship .contentsInner {
    padding: 61px 24px 57px;
  }
  .sponsorship .sponsorshipMenu + .contentsInner {
    padding: 64px 24px 78px
  }
  .sponsorship .kvArea .titBox .tit {
    white-space: nowrap;
  }
  .sponsorshipArea .titBox > .tit {
    margin-bottom: 17px;
    font-size: 2.2rem;
  }
  .sponsorshipArea .lead {
    max-width: 100%;
    font-size: 1.4rem;
    line-height: 1.7143;
    box-sizing: border-box;
    padding: 0;
  }
  .sponsorshipArea .sponsorshipAboutBox {
    margin-bottom: 63px;
  }
  .sponsorshipAboutBox .linkBox > li {
    margin-top: 38px;
  }
  .sponsorshipAboutBox .linkBox > li .img {
    margin-bottom: 0;
  }
  .sponsorshipAboutBox .linkBox > li > .linkWrap,
  .sponsorshipAboutBox .linkBox > li .linkWrap span {
    min-height: 0;
  }
  .sponsorshipAboutBox .linkBox > li > .linkWrap {
    font-size: 1.6rem;
  }
  .sponsorshipAboutBox .linkBox > li .linkWrap span {
    padding: 0px 5px 0px 0;
    font-size: 1.4rem;
    min-height: 0;
  }
  .sponsorshipAboutBox .linkBox > li .linkWrap .subTxt {
    min-height: 0;
    color: #707070;
    font-size: 1rem;
    line-height: 1.666666667;
    position: absolute;
    top: 25px;
    left: 0;
  }
  .sponsorshipAboutBox .linkBox > li .subTxt:after {
    content: normal;
  }
  .sponsorshipListArea .barTit .btn {
    width: 90px;
    min-height: 34px;
  }
  .sponsorshipListArea .barTit {
    padding: 0px 0px 9px 15px;
  }
  .sponsorshipListArea .list a {
    padding: 14px 0 16px;
    font-size: 1.4rem;
    flex-direction: column;
    position: relative;
  }
  .sponsorshipListArea .list .date {
    margin-right: 0;
    margin-bottom: 5px;
    font-size: 1.2rem;
  }
  .sponsorshipListArea .list .txt {
    font-size: 1.4rem;
  }
}

/* スポンサーシップ　ニュース */
.sponsorship .informationListArea .category.sports {
  background-color: #6E6E6E;
}
@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .sponsorship .informationListArea .category.sports {
    background-color: transparent;
    color: #6E6E6E;
  }
  .sponsorship .searchArea {
    margin-bottom: 28px;
  }
  .sponsorship .searchArea .inputBox {
    width: 100%;
  }
  .sponsorship .inputBox {
    display: block;
    margin-top: 5px;
  }
}

/* 契約アスリート・チーム */
.sponsorship .secTit:after {
  background-color: #00AAEB;
}
.athleteList,
.sponsorList {
  display: flex;
  flex-wrap: wrap;
  margin-left: -55px;
}
.athleteList li,
.sponsorList li {
  width: calc( 100% / 3 - 65px );
  margin: 0 0 65px 55px;
}
.athleteList li a,
.sponsorList li a {
  transition: .3s;
}
.athleteList li a:hover,
.sponsorList li a:hover {
  opacity: .7;
}
.athleteList li .img,
.sponsorList li .img {
  width: 100%;
}
.athleteList li .img img,
.sponsorList li .img img {
  width: 100%;
  height: auto;
}
.athleteList .playerForm,
.sponsorList .teamForm {
  display: inline-block;
  color: #FFF;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 5px 16px;
  margin-top: 11px;
}
.playerForm.belongs {
  background: #00AAEB;
}
.playerForm.contract {
  background: #006C3B;
}
.teamForm.title {
  background: #EE6600;
}
.teamForm.contract {
  background: #005EAB;
}
.athleteList .name,
.sponsorList .name {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 9px;
}
.athleteList .name span,
.sponsorList .name span {
  font-size: 1.4rem;
  color: #6E6E6E;
  font-weight: 400;
  display: block;
  margin-top: 1px;
}

@media screen and (max-width: 1024px) {
  .sponsorship .secTit {
    font-size: 3rem;
  }
}

@media screen and (max-width: 959px) {
  .sponsorship .secTit {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767px) {
  .athleteList,
  .sponsorList {
    margin: 0 0 35px;
    justify-content: space-between;
  }
  .sponsorList {
    margin-bottom: 0;
  }
  .athleteList li,
  .sponsorList li {
    margin: 0 0 24px;
    width: calc( 100% / 2 - 12px );
  }
  .athleteList .img,
  .sponsorList .img {
    width: 100%;
  }
  .athleteList .img img,
  .sponsorList .img img {
    width: 100%;
    height: auto;
  }
  .athleteList .playerForm,
  .sponsorList .teamForm {
    font-size: 1rem;
    padding: 4px 15px;
  }
  .athleteList .name,
  .sponsorList .name {
    margin-top: 7px;
    line-height: 1.3125;
  }
  .athleteList .name span,
  .sponsorList .name span {
    font-size: 1rem;
    margin-top: 9px;
  }
}

/* スポーツイベント */
.sponsorship .secTit.culture:after {
  background-color: #006C3B;
}
.eventList,
.cultureList {
  display: flex;
  flex-wrap: wrap;
  margin-left: -55px;
}
.eventList li,
.cultureList li {
  width: calc( 100% / 3 - 65px );
  margin: 0 0 65px 55px;
}
.eventList li a,
.cultureList li a {
  transition: .3s;
}
.eventList li a:hover,
.cultureList li a:hover {
  opacity: .7;
}
.eventList li .img,
.cultureList li .img {
  width: 100%;
}
.eventList li .img img,
.cultureList li .img img {
  width: 100%;
  height: auto;
}
.eventList .eventsForm,
.cultureList .eventsForm {
  display: inline-block;
  color: #FFF;
  font-size: 1.2rem;
  font-weight: bold;
  padding: 5px 16px;
  margin-top: 11px;
}
.eventsForm.sponsor {
  background: #00AAEB;
}
.eventsForm.special {
  background: #006C3B;
}
.eventsForm.cooperation {
  background: #005EAB;
}
.eventList .name,
.cultureList .name {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3125;
  margin-top: 13px;
}
.eventList .name span,
.cultureList .name span {
  font-size: 1.4rem;
  color: #6E6E6E;
  font-weight: 400;
  display: block;
  margin-top: 8px;
  line-height: 1;
}
.sponsorship.athletes .btn,
.sponsorship.event .btn {
  background: #000000;
  width: 180px;
  margin: 15px auto 0;
}
.sponsorship.athletes .btn a,
.sponsorship.event .btn a {
  color: #FFF;
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 959px) {
  .eventList .name,
  .cultureList .name {
    margin-top: 7px;
  }
}

@media screen and (max-width: 767px) {
  
  .eventList,
  .cultureList {
    margin: 0 0 35px;
    justify-content: space-between;
  }
  .cultureList {
    margin-bottom: 0;
  }
  .eventList li,
  .cultureList li {
    margin: 0 0 24px;
    width: calc( 100% / 2 - 12px );
  }
  .eventList .img,
  .cultureList .img {
    width: 100%;
  }
  .eventList .img img,
  .cultureList .img img {
    width: 100%;
    height: auto;
  }
  .eventList .eventsForm,
  .cultureList .eventsForm {
    font-size: 1rem;
    padding: 4px 15px;
  }
  .eventList .name,
  .cultureList .name {
    font-size: 1.6rem;
    margin-top: 7px;
  }
  .eventList .name span,
  .cultureList .name span {
    font-size: 1rem;
    margin-top: 4px;
  }
  .sponsorship.event .btn {
    width: 118px;
    margin: 18px auto 0;
  }
}
/* 選手個別ページ */
.athletesProfile .kvArea:after {
  width: 100%;
  background: rgba(0,0,0,0.2);
}
.athletesProfile .kvArea .titBox .tit {
  padding-bottom: 0;
}
.athletesProfile .kvArea .titBox .tit span {
  font-size: 1.8rem;
}
.athletesProfile .secTit {
  margin-bottom: 60px;
}
.athletesProfile .secTit:after {
  background-color: #005EAB;
}
.profileWrap {
  display: flex;
  align-items: flex-start;
}
.profileWrap .img {
  border: 1px solid #707070;
  margin-right: 59px;
}
.profileWrap .txtBox {
  margin-top: -3px;
}
.profileWrap .name {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 14px;
}
.profileWrap .table {
  width: 100%;
  table-layout: fixed;
}
.profileWrap .table th {
  font-size: 1.6rem;
  font-weight: bold;
  color: #6E6E6E;
  width: 76px;
  vertical-align: top;
}
.profileWrap .table td {
  font-size: 1.6rem;
  color: #6E6E6E;
  word-break: break-all;
  word-wrap: break-word;
  vertical-align: top;
}
.profileWrap .table td a {
  color: #005EAB;
  text-decoration: underline;
}
.profileWrap .table td a:hover {
  color: #002644;
  font-weight: bold;
}
.performanceArea {
  margin-top: 101px;
}
.performanceArea .barTit {
  padding: 1px 10px 12px 30px;
  margin-top: 101px;
}
.performanceArea .barTit:before {
  height: calc(100% - 14px);
}

.performanceArea .list li {
  display: flex;
  width: 100%;
  min-height: 50px;
  padding: 12px 10px 12px 0;
  font-size: 1.5rem;
  display: flex;
  border-bottom: 1px solid #ddd;
  position: relative;
}
.performanceArea .list .date {
  margin-right: 70px;
  color: #6e6e6e;
  line-height: 1.714285714;
  font-size: 1.4rem;
  flex-shrink: 0;
}

@media screen and (max-width: 1024px) {
}

@media screen and (max-width: 959px) {
  .performanceArea .list li {
    padding-right: 10px;
  }
}

@media screen and (max-width: 767px) {
  .athletesProfile .kvArea .titBox .tit span {
    font-size: 1.2rem;
  }
  .athletesProfile .secTit {
    margin-bottom: 27px;
  }
  .profileWrap {
    flex-direction: column;
  }
  .profileWrap .img {
    width: 100%;
    margin: 0 0 30px 0;
  }
  .profileWrap .img img {
    width: 100%;
    height: auto;
  }
  .profileWrap .table th {
    width: 74px;
  }
  .performanceArea {
    margin-top: 51px;
  }
  .performanceArea .barTit {
    padding: 1px 0 12px 15px;
    margin-top: 0;
  }
  .performanceArea .list li {
    padding: 14px 0 15px;
    font-size: 1.4rem;
    flex-direction: column;
    position: relative;
  }
  .performanceArea .list .date {
    margin-right: 0;
    margin-bottom: 5px;
    font-size: 1.2rem;
  }
}
/* ===========================================
中面共通
=========================================== */
.kvArea {
  width: 100%;
  position: relative;
}
.kvArea:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: url(../img/common/bg-kv.png) left center repeat-y;
  background-size: 100% auto;
}
.kvArea .titBox {
  position: absolute;
  top: 50%;
  left: 58px;
  z-index: 10;
  transform: translateY(-50%);
}
.kvArea .titBox .tit {
  padding-bottom: 14px;
  color: #000;
  font-size: 4rem;
  font-family: "Noto Sans JP";
}
.athletesProfile .kvArea .titBox .tit{
  color: #fff;
}
.kvArea .titBox .tit span {
  margin-top: -7px;
  font-size: 1.4rem;
  display: block;
}
.kvArea img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .kvArea {
    width: 100%;
  }
  .kvArea:after {
    width: 100%;
    background: url(../img/common/bg-kv_sp.png) top center repeat-y;
    background-size: 100% auto;
  }
  .kvArea .titBox {
    left: 0;
    transform: none;
    top: 0px;
  }
  .postKvArea.kvArea .titBox,.athletesProfile .kvArea .titBox {
    top: 10px;
    transform: translateY(-50%);
    top: 50%;
  }
  .kvArea .titBox .tit {
    padding-bottom: 2px;
    font-size: 3rem;
    text-align: center;
  }
  .kvArea .titBox .tit span {
    margin-top: -5px;
    font-size: 1.2rem;
  }
}

.selecthBox {
  display: inline-block;
  position: relative;
}
.selecthBox:after {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%) rotate(45deg);
  margin-top: -3px;
  pointer-events: none;
}
.selecthBox select {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  box-sizing: content-box;
  height: 34px;
  display: flex;
  align-items: center;
  padding: 0 45px 0 20px;
  outline: none;
}
@-moz-document url-prefix() {
  .selecthBox select {
    background: initial;
    color: initial ;
  }
}
_:-ms-input-placeholder, :root .selecthBox select {
  padding-top: 6px;
}
.selecthBox select::-ms-expand {
  display: none;
}
.inputBox {
  position: relative;
  display: inline-block;
}
.inputBox .input {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 35px;
  border: 1px solid #d6e8ef;
  border-radius: 18px;
  background-color: #f2fafd;
  display: flex;
  align-items: center;
  padding: 0 35px 0 20px;
  color: #575757;
}
_:-ms-input-placeholder, :root .inputBox .input {
  padding-top: 6px;
}
.inputBox .input::-webkit-input-placeholder {
  color: #575757;
  font-weight: normal;
}
.inputBox .input:-ms-input-placeholder {
  color: #575757;
  font-weight: normal;
}
.inputBox .input::-moz-placeholder {
  color: #575757;
  font-weight: normal;
}
.inputBox .submit input {
  width: 15px;
  height: 15px;
  color: transparent;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  background: transparent url(../img/common/ico_search.png) no-repeat center / cover;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .inputBox {
    display: none;
  }
}

.contentsInner {
  padding: 80px 59px 100px;
}
.barTit {
  padding: 1px 10px 19px 30px;
  font-size: 3rem;
  line-height: 1.3;
  border-bottom: 1px solid #969393;
  position: relative;
}
.barTit:before {
  content: "";
  width: 6px;
  height: calc(100% - 19px);
  position: absolute;
  left: 0;
  top: 0;
  background-color: #00aaeb;
}

@media screen and (max-width: 1039px) {
  .contentsInner {
    padding: 80px 0 100px;
  }
  .companyAboutArea .titBox {
    margin: 0;
    padding: 0;
  }
}

@media screen and (max-width: 959px) {
  .contentsInner {
    padding: 80px 0 100px;
  }
}

@media screen and (max-width: 767px) {
  .contentsInner {
    padding: 59px 24px 60px;
  }
  .barTit {
    padding: 0px 10px 12px 15px;
    font-size: 2rem;
    line-height: 1.3;
  }
  .barTit:before {
    width: 5px;
    height: calc(100% - 16px);
    top: 2px;
  }
}

.informationListArea + .informationListArea {
  margin-top: 83px;
}
.informationListArea .list li {
  display: flex;
}
.informationListArea .list a {
  width: 100%;
  min-height: 54px;
  padding: 14px 177px 14px 0;
  font-size: 1.4rem;
  display: flex;
  border-bottom: 1px solid #ddd;
  position: relative;
}
.informationListArea .list .date {
  margin-right: 25px;
  color: #6e6e6e;
  line-height: 1.714285714;
}
.informationListArea .list .category {
  width: 100px;
  height: 31px;
  padding-top: 2px;
  margin-left: auto;
  color: #000;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}
_:-ms-input-placeholder, :root .informationListArea .list .category {
  padding-top: 6px;
}
.category.entire {
  background-color: #00aaeb;
}
.category.research {
  background-color: #006C3B;
}
.category.service {
  background-color: #EE6600;
}
.category.other {
  background-color: #E63082;
}
.informationListArea .list a:hover .txt {
  text-decoration: underline;
}
.informationListArea.topics .list a {
  padding-right: 0;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .informationListArea + .informationListArea {
    margin-top: 60px;
  }
  .informationListArea .list a {
    padding: 14px 0 15px;
    font-size: 1.4rem;
    flex-direction: column;
    position: relative;
  }
  .informationListArea .list .date {
    margin-right: 0;
    margin-bottom: 5px;
    font-size: 1.2rem;
  }
  .informationListArea .list .category {
    width: auto;
    height: auto;
    padding-top: 0;
    font-size: 1.2rem;
    border-radius: 5px;
    display: block;
    top: 14px;
    right: auto;
    left: 78px;
    transform: translateY(0);
  }
  .category.entire {
    background-color: transparent;
    color: #00aaeb !important;
  }
  .category.research {
    background-color: transparent;
    color: #006C3B !important;
  }
  .category.service {
    background-color: transparent;
    color: #EE6600 !important;
  }
  .category.other {
    background-color: transparent;
    color: #E63082 !important;
  }
}

/*ニュース・お知らせ個別記事*/
.content .postKvArea {
  width: 100%;
  min-height: 170px;
}
.content .postKvArea:after {
  width: 100%;
  background: rgba(230, 247, 253, 0.5);
}
.content.post .contentsInner .titBox {
  position: relative;
}
.content.post .contentsInner .titBox .dateBox {
  margin-bottom: 19px;
  display: flex;
  align-items: center;
}
.content.post .contentsInner .titBox .date {
  margin-right: 20px;
  font-size: 1.5rem;
  display: inline-block;
}
.content.post .contentsInner .titBox .category {
  min-width: 100px;
  height: 31px;
  padding-bottom: 1px;
  color: #fff;
  font-size: 1.4rem;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
}
_:-ms-input-placeholder, :root .content.post .contentsInner .titBox .category {
  padding-top: 6px;
}
.content.post .contentsInner .titBox .tit {
  padding-bottom: 24px;
  margin-bottom: 39px;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.5;
  border-bottom: 1px solid #969393;
}
.content.post .contentsInner .titBox .back {
  position: absolute;
  top: -3px;
  right: 0;
}
.content.post .back {
  text-align: right;
}
.content.post .back a {
  font-size: 1.4rem;
  position: relative;
}
.content.post .back a:before {
  content: "";
  width: 12px;
  height: 13px;
  background: url(../img/common/ico_arrow_back.png) no-repeat center / cover;
  position: absolute;
  top: 5px;
  left: -15px;
}
.content.post .back a:hover {
  text-decoration: underline;
}
.content.post .subTit {
  padding-bottom: 22px;
  margin-bottom: 22px;
  font-size: 1.9rem;
  line-height: 1.473684211;
  position: relative;
}
.content.post .subTit:after {
  content: "";
  width: 60px;
  height: 2px;
  text-align: left;
  border: none;
  background-color: #00aaeb;
  position: absolute;
  bottom: 0;
  left: 0;
}

/* ===========================================
記事内クラス
=========================================== */
.content.post .post-content {
  word-wrap: break-word;
}
.content.post .post-content p {
  line-height: 1.714285714;
}
.content.post .post-content img {
  max-width: 100%;
  height: auto;
}
.content.post .post-content a:hover {
  text-decoration: underline;
}

/*横並び 左揃え*/
.content.post .post-content .alignL {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
/*横並び 中央揃え*/
.content.post .post-content .alignC {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
}
/*中央寄せ*/
.content.post .post-content .aligncenter {
  margin: 0 auto;
  display: block;
}
/*横並び 右揃え*/
.content.post .post-content .alignR {
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  flex-wrap: wrap;
}
/*下線*/
.content.post .post-content .textDecoU {
  text-decoration: underline;
}
/*太字*/
.content.post .post-content strong {
  font-weight: bold;
}
/*リスト*/
.content.post .post-content .disc {
  margin-left: 1.5em;
  list-style: disc;
}


@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .content .postKvArea {
    min-height: 140px;
  }
  .content .postKvArea:after {
    width: 100%;
    background: linear-gradient(to right, rgba(0,170,235,.85), rgba(0,170,235,.85) 40%, rgba(0,170,235,0));
  }
  .content .postKvArea .tit {
    padding-bottom: 0px;
  }
  .content .postKvArea .tit span {
    margin-top: -8px;
    font-size: 1.5rem;
  }
  .content.post .contentsInner {
    font-family: "Noto Sans JP";
  }
  .content.post .contentsInner .titBox {
    position: relative;
  }
  .content.post .contentsInner .titBox .dateBox {
    margin-bottom: 14px;
    display: flex;
    align-items: center;
  }
  .content.post .contentsInner .titBox .date {
    margin-right: 18px;
    font-size: 1.2rem;
    display: inline-block;
  }
  .content.post .contentsInner .titBox .category {
    min-width: 64px;
    height: 25px;
    padding-bottom: 1px;
    margin-top: -2px;
    font-size: 1.2rem;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .content.post .category.entire {
    background-color: #00aaeb !important;
  }
  .content.post .category.research {
    background-color: #006C3B !important;
  }
  .content.post .category.service {
    background-color: #EE6600 !important;
  }
  .content.post .category.other {
    background-color: #E63082 !important;
  }
  .content.post .contentsInner .titBox .tit {
    padding-bottom: 24px;
    margin-bottom: 24px;
    font-size: 2rem;
    line-height: 1.65;
  }
  .content.post .contentsInner .titBox .back {
    padding-right: 0;
    position: absolute;
    top: -10px;
    right: 0;
  }
  .content.post .back {
    padding-right: 7px;
  }
  .content.post .back a {
    font-size: 1.2rem;
  }
  .content.post .back a:before {
    width: 8px;
    height: 8px;
    top: 5px;
    left: -17px;
  }
  .content.post .post-content h2 {
    padding-bottom: 18px;
    margin-bottom: 22px;
    font-size: 1.9rem;
    line-height: 1.473684211;
    position: relative;
  }
  .content.post .post-content p {
    line-height: 1.75;
  }
  .content.post .post-content img {
    width: 100%;
    display: block;
  }
  .content.post .post-content a:hover {
    text-decoration: underline;
  }
}

/* ===========================================
ニュース
=========================================== */
.searchArea {
  width: 100%;
  margin-right: 17px;
  margin-bottom: 36px;
  display: flex;
  align-items: center;
}
.searchArea .selecthBox {
  margin-right: 17px;
  background-color: #ddd;
  border-radius: 5px;
}
.searchArea .inputBox {
  width: 204px;
  margin-left: auto;
}
.newsNote {
  margin-bottom: 40px;
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.4rem;
  line-height: 1.714285714;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .searchArea {
    width: 100%;
    margin-right: 17px;
    margin-bottom: 13px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .searchArea .selecthBox {
    margin-right: 15px;
    margin-bottom: 15px;
  }
  .searchArea .selecthBox.category {
    margin-right: 0;
  }
  .searchArea .inputBox {
    width: 204px;
    margin-left: auto;
  }
  .newsNote {
    margin-bottom: 64px;
    padding-left: 0;
    text-indent: 0;
    font-size: 1.2rem;
    line-height: 1.833333333;
  }
}

/* ===========================================
会社情報
=========================================== */
/*リンクボックス*/
.linkBox {
  width: calc(100% + 50px);
  margin: -20px 0 0 -50px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
.linkBox > li {
  width: calc(50% - 50px);
  margin: 50px 0 0 49px;
}
.linkBox > li .img {
  margin-bottom: 31px;
}
.linkBox > li .img img {
  width: 100%;
  height: auto;
}
.linkBox > li > .linkWrap {
  padding-right: 50px;
  font-size: 1.9rem;
  display: flex;
  align-items: center;
  position: relative;
  border-bottom: 2px solid #DEDEDE;
  transition: .3s;
}
.linkBox > li > a.linkWrap:hover {
  opacity: 0.6;
}
.linkBox > li > .linkWrap:before,
.linkBox > li > .linkWrap:after {
  content: "";
  margin: -1px 1px 0 0;
  position: absolute;
}
.linkBox > li > .linkWrap:before {
  width: 26px;
  height: 1px;
  top: 50%;
  right: 19px;
  transform: translateY(-50%);
  background-color: #000;
}
.linkBox > li > .linkWrap:after {
  width: 15px;
  height: 15px;
  border-right: 1px solid #000;
  top: 50%;
  right: 21px;
  transform: translateY(-50%) rotate(-45deg);
}
.linkBox > li .linkWrap span.txt {
  padding-right: 15px;
  display: inline-flex;
  position: relative;
  padding-bottom: 11px;
}
.linkBox .js-clickable {
  transition: .3s;
}
.linkBox .js-clickable:hover {
  opacity: 0.6
}
.linkBox .js-clickable:hover a,.list.linkBox .js-clickable a:hover{
  opacity: 1
}
.linkBox > li .linkWrap span.txt:after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  bottom: -2px;
  left: 0;
  background-color: #00AAEB;
}
.linkBox > li .linkWrap span.txt span {
  position: relative;
}
.linkBox > li .linkWrap span.icon-pdf {
  background-position: left top 7px;
  background-size: auto 19px;
  padding-right: 35px;
  flex: 1;
  white-space: nowrap;
  padding-bottom: 11px;
}
span.icon-pdf {
  background: url(../img/common/pdf_icon.svg) left center no-repeat;
  padding-left: 25px;
  margin-left: 10px;
  background-size: auto 100%;
}
.linkBox > li .linkWrap span.txt span img {
  margin-left: 15px;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
}
.linkBox > li .linkWrap span.txt span.fwB {
  
}
.linkBox > li .linkWrap span.txt span.fwB img{
  bottom: 8px;
  margin-left: 20px;
}
.linkBox .inList {
  margin-top: 10px;
}
.linkBox .inList li {
  width: 100%;
  margin: 0;
}

.linkBox .inList li a span {
  padding-right: 20px;
  position: relative;
}

.linkBox .inList a:hover span {
  font-weight: bold;
}
.linkBox .inList a:hover span:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: #000;
  left: 0;
  bottom: 0;
}

@media screen and (max-width: 1039px) {
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .linkBox {
    width: 100%;
    margin: 0;
    display: flex;
  }
  .linkBox > li {
    width: 100%;
    margin: 30px 0 0 0;
  }
  .linkBox .wHalf {
    width: calc(50% - 16px);
  }
  .linkBox > li .img {
    margin-bottom: 24px;
  }
  .linkBox > li .img img {
    width: 100%;
    height: auto;
  }
  .linkBox > li > .linkWrap {
    padding-right: 40px;
    font-size: 1.4rem;
  }
  .linkBox > li > .linkWrap:before,
  .linkBox > li > .linkWrap:after {
    margin: -1px 1px 0 0;
  }
  .linkBox > li > .linkWrap:before {
    width: 20px;
    right: 14px;
  }
  .linkBox > li > .linkWrap:after {
    width: 10px;
    height: 10px;
    right: 16px;
  }
  .linkBox > li .linkWrap span {
    padding-right: 0;
  }
  .linkBox > li .linkWrap span.txt {
    padding-bottom: 9px;
  }
  .linkBox .inList {
    margin-top: 14px;
  }
  .linkBox .inList li {
    width: 100%;
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
  }
  .linkBox .inList li a span {
    padding-right: 10px;
  }
  span.icon-pdf {
    padding-left: 20px;
    margin-left: 5px;
  }
  .linkBox > li .linkWrap span.icon-pdf {
    background-position: left top 2px;
    padding-bottom: 9px;
  }
  .l-column .linkBox  li span.img-new-tab {
    top: 40%;
    transform: none;
    right: 50px;
    min-height: 0;
  }
}


.company .postKvArea {
  width: 100%;
  min-height: 170px;
}
.company .postKvArea:after {
  width: 100%;
}
.companyAboutArea .titBox {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.companyAboutArea .titBox > .tit {
  width: 100%;
  margin-bottom: 15px;
  color: #00aaeb;
  font-size: 3.6rem;
  text-align: center;
}
.companyAboutArea .lead {
  max-width: 800px;
  width: 100%;
  padding: 0 80px;
  font-size: 1.5rem;
  line-height: 1.6;
}
.companyAboutBox {
  margin-bottom: 83px;
  display: flex;
  flex-direction: column;
}
.companyAboutBox .linkBox {
  width: calc(100% + 80px);
  margin: -2px 0 0 -80px;
}
.companyAboutBox .linkBox > li {
  width: calc(50% - 80px);
  margin: 47px 0 0 79px;
}
.companyAboutBox .linkBox > li .img {
  margin-bottom: 42px;
}
.companyServiceArea {
  width: calc(100% + 118px);
  margin: 0 -59px;
}
.companyServiceArea a {
  display: block;
  transition: .3s;
}
.companyServiceArea a:hover {
  opacity: 0.8;
}
.companyServiceArea .list {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.companyServiceArea .list:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(46, 139, 175, 0.4);
  pointer-events: none;
}
.companyServiceArea li {
  width: 25%;
  padding-top: 22.5%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
.companyServiceArea .img1 {
  background-image: url('../img/company/index/img_service_01.jpg');
}
.companyServiceArea .img2 {
  background-image: url('../img/company/index/img_service_02.jpg');
}
.companyServiceArea .img3 {
  background-image: url('../img/company/index/img_service_03.jpg');
}
.companyServiceArea .img4 {
  background-image: url('../img/company/index/img_service_04.jpg');
}
.companyServiceArea .img5 {
  background-image: url('../img/company/index/img_service_05.jpg');
}
.companyServiceArea .img6 {
  background-image: url('../img/company/index/img_service_06.jpg');
}
.companyServiceArea .txtBox {
  width: 50%;
  padding-top: 0;
  color: #fff;
  display: flex;
  background: none;
  background-color: #00aaeb;
  overflow: hidden;
  position: relative;
  z-index: 10;
}
.companyServiceArea .txtBox .inner {
  width: 100%;
  padding: 4% 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
.companyServiceArea .txtBox .tit {
  padding-right: 36px;
  position: relative;
  margin-bottom: 11px;
  font-size: 2.8rem;
  line-height: 1.3;
  font-weight: bold;
}
.companyServiceArea .txtBox .tit:before,
.companyServiceArea .txtBox .tit:after {
  content: "";
  margin: -1px 1px 0 0;
  position: absolute;
  transition: .35s;
}
.companyServiceArea .txtBox .tit:before {
  width: 26px;
  height: 1px;
  top: calc(50% + 4px);
  right: -5px;
  transform: translateY(-50%);
  background-color: #fff;
}
.companyServiceArea .txtBox .tit:after {
  width: 15px;
  height: 15px;
  border-right: 1px solid #fff;
  top: calc(50% + 4px);
  right: -3px;
  transform: translateY(-50%) rotate(-45deg);
}
.companyServiceArea a:hover .txtBox .tit:before {
  right: -9px;
  transition: .35s;
}
.companyServiceArea a:hover .txtBox .tit:after {
  right: -6px;
  transition: .35s;
}
.companyServiceArea .txtBox .txt {
  text-align: center;
  white-space: nowrap;
}
.companyServiceArea .txtBox .link {
  position: absolute;
  bottom: 10%;
  right: 11%;
}

.companyServiceArea img {
  width: 100%;
  height: auto;
}


@media screen and (max-width: 1039px) {
  .companyAboutArea .titBox {
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .companyServiceArea {
    width: 100%;
    margin: 0;
  }
}


@media screen and (max-width: 959px) {
  .companyAboutArea .titBox {
    margin: 0;
    padding: 0;
  }
  .companyServiceArea {
    width: auto;
    margin: 0;
  }
  .companyAboutArea .titBox > .tit {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767px) {
  .company .kvArea:after {
    width: 100%;
    background: url(../img/common/bg-kv_sp.png) top center repeat-y;
    background-size: 100% auto;
  }
  .content .postKvArea {
    min-height: 140px;
  }
  .content .postKvArea:after {
    width: 100%;
    background: #e6f7fd;
    opacity: 0.46;
  }
  .companyAboutArea .titBox {
    margin: 0 -24px;
    padding: 0;
  }
  .companyAboutArea .titBox > .tit {
    margin-bottom: 19px;
    font-size: 2.2rem;
    line-height: 1.5;
    text-align: center;
  }
  .companyAboutArea .lead {
    max-width: 800px;
    padding: 0 24px;
    font-size: 1.4rem;
    line-height: 1.714285714;
  }
  .companyAboutBox {
    display: block;
  }
  .companyAboutBox .l-column {
    margin-bottom: 60px;
  }
  .companyAboutBox .linkBox {
    width: calc(100% + 16px);
    margin: -2px 0 0 -16px;
  }
  .companyAboutBox .linkBox > li {
    width: 100%;
    margin: 40px 0 0 16px;
  }
  .companyAboutBox .linkBox > li .img {
    margin-bottom: 33px;
  }
  .companyServiceArea {
    width: calc(100% + 48px);
    margin: 0 -24px;
  }
  .companyServiceArea li {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .companyServiceArea .img1 {
    width: 50%;
    padding-top: 44.9468085%;
    background-image: url('../img/company/index/img_service_sp.jpg');
  }
  .companyServiceArea .img2,
  .companyServiceArea .img3,
  .companyServiceArea .img4,
  .companyServiceArea .img5,
  .companyServiceArea .img6 {
    display: none;
  }
  .companyServiceArea .txtBox {
    width: 50%;
    padding-top: 0;
  }
  .companyServiceArea .txtBox .inner {
    padding: 0 20px;
  }
  .companyServiceArea .txtBox .tit {
    padding-right: 18px;
    margin-bottom: 6px;
    font-size: .8rem;
  }
  .companyServiceArea .txtBox .tit:before,
  .companyServiceArea .txtBox .tit:after {
    margin: 0 1px 0 0;
  }
  .companyServiceArea .txtBox .tit:before {
    width: 8px;
    top: calc(50% + 1px);
    right: 0;
  }
  .companyServiceArea .txtBox .tit:after {
    width: 5px;
    height: 5px;
    top: calc(50% + 1px);
    right: 0;
  }
  .companyServiceArea .txtBox .txt {
    font-size: 1.2rem;
    line-height: 1.5;
  }
}

/*テーブル共通*/
.companyList {
  width: 100%;
  font-size: 1.5rem;
  line-height: 1.533333333;
  table-layout: fixed;
}
.companyList > li {
  display: flex;
}
.companyList li > .listHead {
  vertical-align: top;
  flex-shrink: 0;
}
.companyList li > .listHead .inner {
  padding: 20px 0 16px 4px;
  font-weight: bold;
}
.companyList .listBody {
  width: 100%;
  padding: 19px 0 16px 48px;
  overflow-x: hidden;
}
.wrap-table {
  overflow-x: auto;
}
.indtList li {
  display: flex;
}
.indtList .body {
  flex: 1;
}
.memberList li + li {
  margin-top: 23px;
}
.memberList li:after {
  content: "";
  display: block;
  clear: both;
}
.memberList li.mtWide {
  margin-top: 46px;
}
.memberList .post {
  width: 8em;
  padding-right: 1em;
  float: left;
}
.memberList .name {
  overflow: hidden;
}
.memberList .description {
  clear: both;
  line-height: 1.533333333;
}
.locationList .indent {
  display: block;
  margin-left: 7px;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .companyList {
    font-size: 1.4rem;
    line-height: 1.642857143;
  }
  .companyList li > .listHead {
    vertical-align: top;
  }
  .companyList li > .listHead .inner {
    padding: 10px 0 12px 32px;
    text-indent: -21px;
    font-weight: bold;
    position: relative;
  }
  .companyList .listBody {
    padding: 14px 0 12px 19px;
  }
  .memberList li + li {
    margin-top: 23px;
  }
  .memberList li:after {
    content: "";
    display: block;
    clear: both;
  }
  .memberList li.mtWide {
    margin-top: 23px;
  }
  .memberList .post {
    width: 63%;
    max-width: 8em;
    padding-right: 1em;
    float: left;
  }
  .memberList .name {
    overflow: hidden;
  }
  .memberList .description {
    padding-left: 1em;
    text-indent: -1em;
    clear: both;
    font-size: 1.3rem;
    line-height: 1.769230769;
  }
}

/*トップメッセージ */
.message .messageArea {
  display: flex;
}
.message .imgBox {
  width: 278px;
  margin-right: 28.5px;
}
.message .imgBox .img {
  width: 278px;
}
.message .imgBox .img img {
  width: 100%;
}
.message .imgBox .txtBox {
  margin-top: 14.5px;
}
.message .imgBox .txtBox .title {
  color: #666;
  font-size: 1.4rem;
  line-height: 1.5;
}
.message .imgBox .txtBox .name {
  margin-top: 8px;
  font-size: 1.8rem;
  line-height: 1.333333333;
}
.message .messageBox {
  flex: 1;
}
.message .messageBox .txt {
  font-size: 1.5rem;
  line-height: 1.6;
}
.message .messageBox .signature {
  margin-top: 23px;
  text-align: right;
}

@media screen and (max-width: 767px) {
  .message .messageArea {
    display: block;
  }
  .message .imgBox {
    width: 100%;
    margin-right: 0;
  }
  .message .imgBox .img {
    width: 100%;
  }
  .message .imgBox .img img {
    width: 100%;
    height: auto;
  }
  .message .imgBox .txtBox {
    margin-top: 13px;
  }
  .message .imgBox .txtBox .title {
    font-size: 1.2rem;
  }
  .message .imgBox .txtBox .name {
    margin-top: 4px;
  }
  .message .messageBox {
    margin-top: 32px;
  }
  .message .messageBox .txt {
    font-size: 1.4rem;
    line-height: 1.714285714;
  }
  .message .messageBox .signature {
    margin-top: 35px;
  }
  .message .messageBox .signature img {
    width: 180px;
    height: auto;
  }
}
/*企業理念・マイナビブランド*/
.philosophyArea + .philosophyArea {
  margin-top: 80px;
}
.philosophyArea .barTit + .flexBox {
  margin-top: 40px;
}
.philosophyArea .flexBox {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.philosophyArea .flexBox + .flexBox {
  margin-top: 60px;
}
.philosophyArea .flexBox.reverse {
  flex-direction: row-reverse;
  text-align: right;
}
.philosophyArea .flexBox .txtBox {
  flex: 1;
}
.philosophyArea .flexBox .subTit {
  margin-top: -6.5px;
  font-size: 2.6rem;
  line-height: 1.5;
}
.philosophyArea .flexBox .txt {
  margin: 13.5px 0 -6px;
  color: #333;
  font-size: 1.5rem;
  line-height: 1.8;
}
.philosophyArea .flexBox .img {
  width: 42.3076923%;
  min-width: ;
  margin-left: 30px;
}
.philosophyArea .flexBox .img  img{
  width: 100%;
}
.philosophyArea .flexBox.reverse .img {
  margin: 0 30px 0 0;
}
.philosophyArea .column {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.philosophyArea .column  .logo {
  width: 467px;
  margin: 40px 0 0 167px;
  text-align: center;
}
.philosophyArea .column .logo img {
  text-align: center;
  margin: 0 auto;
}
.philosophyArea .column .flexBox {
  width: 100%;
  margin-top: 27px;
  display: flex;
  justify-content: space-between;
}
.philosophyArea .column .txtBox {
  width: calc((100% - 32px) / 2);
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
}
.philosophyArea .column .txtBox .titBox {
  height: 100%;
}
.philosophyArea .column .txtBox .tit {
  padding-left: 29px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.333333333;
  position: relative;
}
.philosophyArea .column .txtBox .tit:before {
  width: 20px;
  height: 1px;
  background: #00aaeb;
  content: "";
  display: block;
  position: absolute;
  top: 12px;
  left: 0;
}
.philosophyArea .column .txtBox .txt {
  margin-top: 12px;
  font-size: 1.4rem;
  line-height: 1.714285714;
}

@media screen and (max-width: 959px) {
  .philosophyArea .flexBox .subTit {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 767px) {
  .philosophyArea .barTit + .flexBox {
    margin-top: 30px;
  }
  .philosophyArea .flexBox {
    display: block;
  }
  .philosophyArea .flexBox.reverse {
    text-align: left;
  }
  .philosophyArea .flexBox .subTit {
    margin-top: -5px;
    font-size: 2rem;
  }
  .philosophyArea .flexBox .txt {
    margin: 21.5px 0 -3.5px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .philosophyArea .flexBox .img {
    width: 100%;
    margin: 22px 0 0 0;
  }
  .philosophyArea .flexBox .img img {
    width: 100%;
  }
  .philosophyArea .flexBox.reverse .img {
    margin: 22px 0 0 0;
  }
  .philosophyArea .column {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .philosophyArea .column  .logo {
    width: 246px;
    margin: 30px 0 0 18px;
    text-align: center;
  }
  .philosophyArea .column .logo img {
    width: 100%;
    height: auto;
  }
  .philosophyArea .column .flexBox {
    width: 100%;
    margin-top: 26px;
    display: block;
  }
  .philosophyArea .column .txtBox {
    width: 100%;
  }
  .philosophyArea .column .txtBox + .txtBox {
    margin-top: 29px;
  }
  .philosophyArea .column .txtBox .tit {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .philosophyArea .column .txtBox .txt {
    margin: 11px 0 0 0;
  }
}

/*会社概要*/
.listProfile > li {
  background: linear-gradient(to right, #00aaeb, #00aaeb 200px, #ddd 200px , #ddd);
  background-position: top left;
  background-size: 100% 1px;
  background-repeat: no-repeat;
}
.listProfile .listHead {
  width: 200px;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .listProfile li > .listHead {
    width: 114px;
  }
  .listProfile > li {
    background: linear-gradient(to right, #00aaeb, #00aaeb 114px, #ddd 114px , #ddd);
    background-position: top left;
    background-size: 100% 1px;
    background-repeat: no-repeat;
  }
  .listProfile .indtList {
    margin-left: -10px;
  }
  .company.eng .companyList li > .listHead .inner {
    text-indent: 0;
    padding-left: 4px;
  }
  .company.eng .listProfile .indtList {
    text-indent: -10px;
    margin-left: 0;
  }
}

/*行動憲章*/
.charterArea .charter-blueL {
  border-bottom: #00aaeb 1px solid;
  padding-bottom: 1rem;
}
.charter-mb10 {
  display: inline-block;
  margin-bottom: 10px;
}
.charterArea dl {
  margin-top: 1rem;
}
.charterArea dd {
  border-bottom: 1px dotted #9b9999;
  margin-bottom: 1rem;
  padding-left: 2em;
  padding-bottom: 1rem;
}
.charter-bold {
  font-weight: bold;
}
.charterArea .seitei {
  float: right;
  clear: both;
}
@media screen and (max-width: 767px){
  .charter-mb10 {
    margin-bottom: 5px;
  }
}

/*沿革*/
.listHistory {
  width: 100%;
}
.listHistory li > .listHead {
  width: 96px;
}
.listHistory > li {
  background: linear-gradient(to right, #00aaeb 0%, #00aaeb 96px, #ddd 96px , #ddd 100%);
  background-position: top left;
  background-size: 200% 1px;
  background-repeat: no-repeat;
}
.listHistory li > .listHead .inner {
  color: #005eab;
  text-align: right;
  padding: 19px 19px 0 10px;
}
.listHistory .listBody {
  padding: 18px 0 27px 48px;
}
.listHistory .liYear {
  padding: 0 0 14px 3px;
  background: none;
}
.listHistory .liYear .list {
  width: 100%;
}
.listHistory .liYear .list li {
  display: flex;
}
.listHistory .liYear .list li + li {
  margin-top: -1px;
}
.listHistory .liYear .list .head {
  width: 96px;
  padding-right: 22px;
  margin-right: 31px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: right;
  line-height: 1.866666667;
  flex-shrink: 0;
}
.listHistory .liYear .list .body {
  line-height: 1.866666667;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .listHistory > li {
    background: linear-gradient(to right, #00aaeb 0%, #00aaeb 84px, #ddd 84px , #ddd 100%);
    background: -webkit-linear-gradient(to right, #00aaeb 0%, #00aaeb 84px, #ddd 84px , #ddd 100%);
    background-position: top left;
    background-size: 100% 1px;
    background-repeat: no-repeat;
  }
  .listHistory li > .listHead,
  .listHistory li > .listHead .inner:before {
    width: 84px;
  }
  .listHistory li > .listHead .inner {
    padding-right: 16px;
  }
  .listHistory .listBody {
    padding: 13px 0 0 19px;
  }
  .listHistory .indtList {
    margin-left: -10px;
  }
  .listHistory .liYear {
    padding: 0 0 23px 0;
  }
  .listHistory .liYear .list li + li {
    margin-top: 0;
  }
  .listHistory .liYear .list .head {
    width: 86px;
    margin-right: 14px;
    padding: 0 17px 0 10px;
    font-size: 1.4rem;
    line-height: 1.642857143;
  }
  .listHistory .liYear .list .body {
    line-height: 1.642857143;
  }
}

/* グループ企業・パートナー企業 */
.groupWrap + .barTit {
  margin-top: 80px;
}
.groupWrap .item {
  border-bottom: 1px solid #ddd;
  position: relative;
}
.groupWrap .item:after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  position: absolute;
  top: 26px;
  right: 30px;
  transform: rotate(225deg);
  pointer-events: none;
}
.group .groupWrap:first-of-type .item:first-of-type:after {
  transform: rotate(45deg);
}
.group .groupWrap:first-of-type .item.is-active:first-of-type:after {
  transform: rotate(225deg);
}
.group .groupWrap:first-of-type .item:first-of-type .inner {
  display: block;
}
.groupWrap .item.is-active:after {
  transform: rotate(45deg);
}
.groupWrap .item .inner {
  display: none;
}
.groupWrap .item .flexWrap {
  display: flex;
  align-items: flex-start;
}
.groupWrap .img {
  margin: 0 25px 25px 0;
}
.groupWrap .subTit {
  padding: 21px 0 20px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.333333333;
  transition: .3s;
  cursor: pointer;
}
.groupWrap .subTit:hover {
  opacity: .6;
}
.groupWrap .txt {
  font-size: 1.5rem;
  line-height: 1.8;
  padding-right: 68px;
  margin-bottom: 24px;
}
.groupWrap .associatedBtn {
  display: block;
  margin-bottom: 30px;
}
.groupWrap .associatedBtn a {
  font-size: 1.2rem;
  border: 1px solid #000000;
  padding: 3px 35px;
  border-radius: 4px;
}
.groupWrap .associatedBtn a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  
  .groupWrap .subTit {
    font-size: 1.6rem;
    padding: 21px 50px 20px 0;
  }
  .groupWrap .subTit:hover {
    opacity: 1;
  }
  .groupWrap .item .flexWrap {
    flex-direction: column;
    align-items: center;
  }
  .groupWrap .img {
    margin: -10px 0 8px 0;
  }
  .groupWrap .txt {
    font-size: 1.4rem;
    line-height: 1.7143;
    padding-right: 0;
    margin-bottom: 18px;
  }
  .groupWrap .associatedBtn {
    text-align: center;
    margin-bottom: 22px;
  }
  .groupWrap .associatedBtn a {
    padding: 6px 36px;
  }
  .groupWrap + .barTit {
    margin-top: 62px;
  }
}

/* ===========================================
サステナビリティ
=========================================== */
.sustainabilityArea {
  color: #000;
}
.sustainabilityArea .lead {
  font-size: 2rem;
}
.sustainabilityArea .linkBox li span {
  font-size: 1.8rem;
  font-weight: bold;
}
.sustainabilityArea .linkBox .txt {
  margin-top: 19px;
  line-height: 1.714285714;
}

@media screen and (max-width: 767px) {
  .sustainabilityArea .lead {
    font-size: 1.5rem;
  }
  .sustainabilityArea .linkBox li span {
    font-size: 1.6rem;
  }
}

/*sustainability 社会・地域創生*/
.social {
  color: #000;
}
.socialArea + .socialArea {
  margin-top: 75px;
}
.social .subTit {
  padding-left: 30px;
  margin-top: 37px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.333333333;
  position: relative;
}
.social .subTit:before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  background: #00AAEB;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.social .txt {
  margin-top: 12px;
  font-size: 1.4rem;
  line-height: 1.714285714;
}
.social .txt + .subTit {
  margin-top: 52px;
}
.social .socialList {
  margin-top: -15px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.social .socialList li {
  width: calc((100% - 50px) / 2);
  margin-top: 50px;
}
.social .socialList li img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .social .socialArea + .socialArea {
    margin-top: 55px;
  }
  .social .subTit {
    padding-left: 28px;
    margin-top: 22px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .social .subTit:before {
    top: 12px;
    left: 0;
  }
  .social .txt {
    margin-top: 18px;
  }
  .social .txt + .subTit {
    margin-top: 38px;
  }
  .social .socialList {
    margin-top: 35px;
    display: block;
  }
  .social .socialList li {
    width: 100%;
    margin-top: 20px;
  }
}

/*働き方・ダイバーシティ*/
.diversity {
  color: #000;
}
.diversityArea + .diversityArea {
  margin-top: 75px;
}
.diversity .barTit + .txt {
  margin-top: 35px;
}
.diversity .subTit {
  padding-left: 30px;
  margin-top: 37px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.333333333;
  position: relative;
}
.diversity .subTit:before {
  content: "";
  width: 20px;
  height: 1px;
  background: #00AAEB;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
.diversity .txt {
  margin-top: 22px;
  font-size: 1.4rem;
  line-height: 1.714285714;
}
.diversity .txt + .subTit {
  margin-top: 32px;
}
.diversity .txtBox {
  display: flex;
  margin-top: 27px;
  align-items: flex-start;
}
.diversity .txtBox .txt {
  margin-top: -5px;
}
.diversity .txtBox .img {
  width: auto;
  height: 140px;
  margin-right: 50px;
}

@media screen and (max-width: 767px) {
  .diversity .diversityArea + .diversityArea {
    margin-top: 55px;
  }
  .diversity .subTit {
    padding-left: 28px;
    margin-top: 22px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .diversity .subTit:before {
    top: 12px;
    left: 0;
  }
  .diversity .txt {
    margin-top: 18px;
  }
  .diversity .txt + .subTit {
    margin-top: 38px;
  }
  .diversity .txtBox {
    display: block;
    margin-top: 16px;
    align-items: flex-start;
  }
  .diversity .txtBox .txt {
    margin-top: 15px;
  }
  .diversity .txtBox + .subTit {
    margin-top: 38px;
  }
}

/*CM紹介*/
.cmArea .linkBox {
  width: calc(100% + 50px);
  margin: -20px 0 0 -50px;
}
.cmArea .linkBox > li {
  width: calc(50% - 50px);
  margin: 50px 0 0 49px;
}
.cmArea .linkBox .img {
  margin-bottom: 31px;
  position: relative;
  padding-top: 48.888888889%;
  overflow: hidden;
}
.cmArea .linkBox .img img {
  position: absolute;
  top: 0;
  left: 0;
}
.cmArea .linkBox a {
  font-size: 1.6rem;
  line-height: 1.5;
  padding-right: 100px;
}
.cmArea .linkBox a > span.txt {
  padding-bottom: 13px;
  flex-direction: column;
  padding-right: 5px;
}
.linkBox  li span.img-new-tab {
  top: 44%;
  position: absolute;
  right: 60px;
  transform: translateY(-44%);
  padding: 0;
}
.linkBox  li span.img-new-tab img {
  display: block;
}
.cmArea .linkBox a .fwB {
  min-height: 0;
  font-weight: bold;
  display: block;
}
.cmArea .linkBox a .fwB:after {
  content: normal;
}

@media screen and (max-width: 959px) {
  .cmArea .linkBox a {
  }
}

@media screen and (max-width: 767px) {
  .cmArea .linkBox {
    width: 100%;
    margin: 0;
  }
  .cmArea .linkBox > li {
    width: 100%;
    margin: 30px 0 0 0;
  }
  .cmArea .linkBox .img {
    margin-bottom: 24px;
  }
  .cmArea .linkBox a {
    line-height: 1.6875;
    padding-right: 80px;
  }
  .cmArea .linkBox a > span {
    padding-bottom: 15px;
    flex-direction: column;
  }
  .cmArea .linkBox a .fwB {
    min-height: 0;
    font-weight: bold;
    display: block;
  }
  .cmArea .linkBox a .fwB:after {
    content: normal;
  }
  .cmArea .linkBox  li span.img-new-tab {
    margin: 0;
    padding: 0;
    min-height: 0;
  }
  
}

/* ===========================================
サービス
=========================================== */
/* index */
.service .contentsInner {
  padding: 60px 59px 100px;
}
.service .tabs {
  flex-wrap: wrap;
  justify-content: center;
  margin: 0 0 -18px -19px;
}
.service .tabs li {
  width: calc( 100% / 4 - 19px );
  max-width: 224px;
  margin: 0 0 18px 19px;
}
.service .tabContentWrap {
  margin-top: 60px;
}
.service .tabContent {
  margin-bottom: 50px;
}
.service .tabContent:last-child {
  margin-bottom: 0;
}
.service .tabContent p:nth-last-of-type(2) {
  padding-right: 0;
}
.service .tabBox {
  display: flex;
  border: 1px solid #DDDDDD;
  border-radius: 4px;
  padding: 30px 38px 37px;
}
.service .tabBox + .tabBox {
  margin-top: 50px;
}
.service .imgBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: 26px;
}
.service .imgBox .btnWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 19px;
}
.service .imgBox .serviceBtn a {
  border: 1px solid #000;
  font-size: 1.2rem;
  padding: 4px 40px;
  border-radius: 4px;
  transition: opacity .3s;
  white-space: nowrap;
}
.service .imgBox .serviceBtn a:hover {
  text-decoration: underline;
}
.service .snsBtnWrap {
  display: flex;
  margin-top: 17px;
}
.service .snsBtn a {
  transition: opacity .3s;
}
.service .snsBtn a:hover {
  opacity: .8;
}
.service .snsBtn + .snsBtn {
  margin-left: 20px;
}
.service .tabBox .txtBox {
  margin-top: 11px;
}
.service .tabBox .txtBox .subTit {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.3334;
}
.service .tabBox .txtBox .txt {
  margin-top: 12px;
  line-height: 1.6429;
}

.groupServiceArea {
  margin-top: 84px;
}
.groupServiceArea .barTit {
  margin-bottom: 51px;
}
.groupServiceList {
  display: flex;
  flex-wrap: wrap;
  margin: 0 0 -50px -50px;
}
.groupServiceList li {
  width: calc( 100% / 2 - 51px );
  min-height: 198px;
  padding: 19px 37px;
  margin: 0 0 50px 50px;
  border: 1px solid #DDDDDD;
}
.groupServiceList li .companyName {
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  height: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.groupServiceList li .txt {
  font-size: 1.6rem;
  margin-top: 17px;
  line-height: 1.4375;
}
.groupServiceList li .owner {
  font-size: 1.3rem;
  margin-top : 14px;
}
@media screen and (max-width: 1039px) {
  .service .contentsInner {
    padding: 59px 0 60px;
  }
  .service .l-column {
    max-width: calc(100% - 100px);
  }
  .service .tabBox {
    flex-direction: column;
    position: relative;
    padding-bottom: 143px;
  }
  .service .imgBox .btnWrap {
    position: absolute;
    left: 50%;
    bottom: 30px;
    transform: translateX(-50%);
  }
  .service .snsBtnWrap {
    margin-top: 23px;
  }
  .service .tabBox .txtBox {
    margin-top: 23px;
  }
  .service .tabBox .txtBox .txt {
    margin-top: 21px;
  }
}
@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .service .l-column {
    max-width: 100%;
  }
  .service .contentsInner {
    padding: 59px 24px 60px;
  }
  .service .tabs {
    margin: 0;
  }
  .service .tabs li {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }
  .service .tabContentWrap {
    margin-top: 50px;
  }
  .service .tabBox + .tabBox {
    margin-top: 24px;
  }
  .service .tabBox .txtBox .subTit {
    text-align: center;
  }
  .service .imgBox {
    margin-right: 0;
  }
  .service .imgBox .img {
    width: 100%;
    padding: 0 33px;
  }
  .service .imgBox .img img {
    width: 100%;
    height: auto;
  }
  .service .imgBox .btnWrap {
    position: absolute;
    bottom: 30px;
  }
  .service .snsBtnWrap {
    margin-top: 23px;
  }
  .service .tabBox {
    padding: 22px 25px 143px;
  }
  .service .tabBox .txtBox {
    margin-top: 23px;
  }
  .service .tabBox .txtBox .txt {
    margin-top: 21px;
  }
  .groupServiceArea .barTit {
    margin-bottom: 40px;
  }
  .groupServiceList {
    margin-left: 0;
  }
  .groupServiceList li {
    width: 100%;
    min-height: auto;
    padding: 23px 23px 28px 23px;
    margin: 0 0 24px 0;
  }
  .groupServiceList li .companyName {
    line-height: 1.2728;
  }
  .groupServiceList li .txt {
    font-size: 1.4rem;
  }
  .groupServiceList li .owner {
    margin-top: 21px;
  }
}

/* ===========================================
アクセス
=========================================== */
/*index*/
.accessAboutBox .linkBox > li .img {
  margin-bottom: 0;
}
.accessAboutBox .linkBox > li .linkWrap span {
  min-height: 0;
  padding: 23px 5px 22px 0;
  font-weight: bold;
}
.accessAboutBox .linkBox > li .linkWrap .subTxt {
  min-height: 0;
  color: #707070;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.666666667;
  position: absolute;
  bottom: -13px;
  left: 0;
  white-space: nowrap;
}
.accessAboutBox .linkBox > li .subTxt:after {
  content: normal;
}
.accessAboutBox .linkBox > li > .linkWrap:before,
.accessAboutBox .linkBox > li > .linkWrap:after {
  margin-top: 5px;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .accessAboutBox .linkBox > li .img {
    margin-bottom: 0;
  }
  .accessAboutBox .linkBox > li > .linkWrap,
  .accessAboutBox .linkBox > li .linkWrap span {
    min-height: 72px;
  }
  .accessAboutBox .linkBox > li > .linkWrap {
    font-size: 1.6rem;
  }
  .accessAboutBox .linkBox > li .linkWrap .subTxt {
    min-height: 0;
    color: #707070;
    font-size: 1rem;
    line-height: 1.666666667;
    position: absolute;
    top: 25px;
    left: 0;
  }
  .accessAboutBox .linkBox > li .subTxt:after {
    content: normal;
  }
}

/*アクセス中面*/
.tabs {
  margin-bottom: 51px;
}
.tabs li {
  display: flex;
  width: calc((100% - 97px) / 7);
}
.tabs li + li {
  margin-left: 16px;
}
.tabs a {
  width: 100%;
  height: 100%;
  min-height: 38px;
  padding: 2px 3px 2px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background-color: #DDDDDD;
  transition: .3s;
}
.tabs a:hover {
  opacity: 0.6;
}
.tabs .is-active {
}
.tabs .is-active {
  color: #fff;
  background-color: #005EAB;
  pointer-events: none;
}
_:-ms-input-placeholder, :root .tabs a {
  padding-top: 6px;
}
.tabContent:not(.is-active) {
  display: none;
}

@media screen and ( max-width:959px) {
  .tabs a {
    font-size: 1.1rem;
  }
}

@media screen and (min-width: 768px) {
  .tabs {
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .tabsWrap {
    margin-bottom: 30px;
    background-color: #ddd;
    border-radius: 5px;
    position: relative;
  }
  .tabsWrap:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #000;
    border-left: 2px solid #000;
    position: absolute;
    top: 12px;
    right: 16px;
    transform: rotate(225deg);
    pointer-events: none;
  }
  .tabsSwitchTxt {
    padding: 5px 16px 5px 20px;
  }
  .tabs {
    display: none;
  }
  .tabs li {
    width: 100%;
  }
  .tabs li + li {
    margin-left: 0;
  }
  .tabs li:last-child a {
    border-radius: 0 0 4px 4px;
  }
  .tabs a {
    padding: 5px 16px 5px 20px;
    text-align: left;
    justify-content: flex-start;
    border-radius: 0;
  }
}

.access .tabContentWrap .barTit {
  margin-bottom: -3px;
}
.access .tabContentWrap .tabBox {
  margin-bottom: 55px;
}
.access .tabContentWrap .item {
  border-bottom: 1px solid #ddd;
  position: relative;
}
.access .tabContentWrap .item:after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
  position: absolute;
  top: 26px;
  right: 30px;
  transform: rotate(225deg);
  pointer-events: none;
}
.access .tabContentWrap .item.is-active:after {
  transform: rotate(45deg);
}
.access .tabContentWrap .headOffice .item {
  border-bottom: none;
}
.access .tabContentWrap .headOffice .item:after {
  content: normal;
}
.access .tabContentWrap .subTit {
  padding: 21px 0 20px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.333333333;
  transition: .3s;
  cursor: pointer;
}
.access .tabContentWrap .subTit:hover {
  
}
.access .tabContentWrap .headOffice .subTit {
  cursor: default;;
}
.access .tabContentWrap .headOffice .subTit:hover {
  opacity: 1;
}
_:-ms-input-placeholder, :root .access .tabContentWrap .subTit {
  padding: 24px 0 16px;
}
.access .tabContentWrap .item .inner {
  margin: 0 0 24px 30px;
  display: none;
  position: relative;
}
.access .tabContentWrap .headOffice .inner {
  display: block !important;
}
.access .tabContentWrap .txt + .txt {
  margin-top: 10px;
}
.tabContent p:nth-last-of-type(2) {
  padding-right: 240px;
}
.access .tabContentWrap .txt a {
  color: #00aaeb;
  word-break: break-all;
}
.access .tabContentWrap .txt a:hover {
  text-decoration: underline;
}
.access .tabContentWrap .btnMap {
  width: 180px;
  display: flex;
  position: absolute;
  bottom: 4px;
  right: 56px;
}
.access .tabContentWrap .btnMap a {
  width: 100%;
  min-height: 30px;
  font-size: 1.2rem;
  border: 1px solid #000;
  border-radius: 4px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: .3s;
}
.access .tabContentWrap .btnMap a:hover {
  opacity: 0.6;
}
.access .tabContentWrap .btnMap a:before,
.access .tabContentWrap .btnMap a:after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%) ;
}
.access .tabContentWrap .btnMap a:before {
  width: 9px;
  height: 14px;
  margin-top: 1px;
  background: url(../img/common/ico_map.png) no-repeat center / cover;
  left: 10px;
}
.access .tabContentWrap .btnMap a:after {
  width: 11px;
  height: 9px;
  margin-top: 1px;
  background: url(../img/common/ico_outlink.png) no-repeat center / cover;
  right: 9px;
}
.access .btnBack {
  width: 180px;
  display: flex;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
  .access .tabContentWrap .barTit {
    margin-bottom: -3px;
  }
  .access .tabContentWrap .tabBox {
    margin-bottom: 55px;
  }
  .access .tabContentWrap .item {
    position: relative;
    border-bottom: 1px solid #ddd;
  }
  .access .tabContentWrap .item:after {
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #000;
    border-left: 2px solid #000;
    position: absolute;
    top: 26px;
    right: 30px;
    transform: rotate(225deg);
    pointer-events: none;
  }
  .access .tabContentWrap .item.is-active:after {
    transform: rotate(45deg);
  }
  .access .tabContentWrap .headOffice .item {
    border-bottom: none;
  }
  .access .tabContentWrap .headOffice .item:after {
    content: normal;
  }
  .access .tabContentWrap .subTit {
    padding: 21px 0;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.333333333;
  }
  .access .tabContentWrap .item .inner {
    padding-right: 0;
    margin: 0 0 24px 0;
    display: none;
  }
  .access .tabContentWrap .headOffice .inner {
    display: block !important;
  }
  .access .tabContentWrap .txt + .txt {
    margin-top: 10px;
  }
  .tabContent p:nth-last-of-type(2) {
    padding-right: 0;
  }
  .access .tabContentWrap .btnMap {
    width: 180px;
    margin-top: 20px;
    display: flex;
    position: static;
  }
  .access .tabContentWrap .btnMap a {
    width: 100%;
    min-height: 30px;
    font-size: 1.2rem;
    border: 1px solid #000;
    border-radius: 4px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transition: .3s;
  }
  .access .tabContentWrap .btnMap a:hover {
    opacity: 0.6;
  }
  .access .tabContentWrap .btnMap a:before,
  .access .tabContentWrap .btnMap a:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%) ;
  }
  .access .tabContentWrap .btnMap a:before {
    width: 9px;
    height: 14px;
    margin-top: 1px;
    background: url(../img/common/ico_map.png) no-repeat center / cover;
    left: 10px;
  }
  .access .tabContentWrap .btnMap a:after {
    content: normal;
  }
  .access .btnBack {
    width: 118px;
  }
}

/* ===========================================
採用情報
=========================================== */
.contentsInner.recruit {
  padding-bottom: 44px;
}
.recruitNote {
  margin-bottom: 40px;
  font-size: 1.4rem;
  line-height: 1.714285714;
}
.recruitNote .highlight {
  color: #00AAEB;
}
.recruitArea {
  padding-bottom: 76px;
}
.recruitArea:last-of-type {
  padding-bottom: 0;
}
.recruitArea .barTit {
  margin-bottom: 19px;
}
.recruitArea .recruitNote {
  margin-bottom: 15px;
}
.recruitNote a:hover {
  text-decoration: underline;
  text-decoration-color: #00AAEB;
  opacity: 1;
}
.recruitArea .img {
  margin-bottom: 57px;
  position: relative;
}
.recruitArea .img:after {
  content: "";
  width: 60px;
  height: 2px;
  background-color: #00AAEB;
  position: absolute;
  bottom: -31px;
  left: 0;
  transform: translateY(50%);
}
.recruitArea:last-of-type .img:after {
  display: none;
}
.recruitArea a:hover.underline {
  text-decoration: underline;
  opacity: 1;
}
.recruitArea .img a {
  transition: .3s;
}
.recruitArea .img a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 767px) {
  .contentsInner.recruit {
    padding-bottom: 7px;
  }
  .recruitArea {
    padding-bottom: 60px;
  }
  .recruitArea .recruitNote {
    margin-bottom: 16px;
  }
  .recruitArea .img {
    margin-bottom: 48px;
  }
  .recruitArea .img img {
    width: 100%;
    height: auto;
  }
  .recruitArea .img:after {
    width: 40px;
    height: 2px;
    bottom: -27px;
  }
  .recruitArea .txt a {
    display: inline;
  }
}
/* 採用における個人情報の取り扱いについて */
.r_privacyArea {
  max-width: calc(100% - 100px);
  margin: 0 auto;
}
.r_privacyArea .lead {
  border-bottom: 1px solid #969393;
  padding-bottom: 16px;
  margin-bottom: 34px;
}
.r_privacyArea .txtBox {
  border-bottom: 1px solid #969393;
  padding: 0 20px 34px;
  margin-bottom: 34px;
}
.r_privacyArea .txtBox:last-of-type {
  margin-bottom: 21px;
}
.r_privacyArea .txtBox .tit {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 18px;
}
.r_privacyArea .txtBox .tit + .txt {
  padding: 0 20px;
}
.r_privacyArea .txtBox a {
 color: #00AAEB;
 display: inline;
}
.r_privacyArea .txtBox a:hover {
  text-decoration: underline;
}
.r_privacyArea .img a {
  transition: .3s;
}
.r_privacyArea .img a:hover {
  opacity: 0.6;
}

@media screen and (max-width: 767px) {
  .r_privacyArea {
    max-width: 100%;
  }
  .content.r_privacy .postKvArea {
    min-height: 178px;
  }
  .r_privacy .contentsInner {
    padding-bottom: 81px;
  }
  .r_privacyArea .lead {
    margin: 22px 0 22px;
    padding-bottom: 28px;
    line-height: 1.6;
  }
  .r_privacyArea .txtBox {
    padding: 0 0 19px;
    margin-bottom: 22px;
  }
  .r_privacyArea .txtBox .tit {
    font-size: 1.6rem;
    margin-bottom: 18px;
    line-height: 1.5;
  }
  .r_privacyArea .txtBox .tit + .txt {
    padding: 0;
  }
  .r_privacyArea .img {
    width: 48px;
    height: 48px;
  }
  .r_privacyArea .img img {
    width: 100%;
    height: auto;
  }
}

/* ===========================================
プライバシー
=========================================== */
.privacy .kvArea .tit {
  white-space: nowrap;
}
.privacyArea .lead {
   border-bottom: 1px solid #969393;
   padding-bottom: 22px;
   margin-bottom: 34px;
}
.privacyArea .lead .privacyAreaLink {
  color: #00AAEB;
}
.privacyArea .lead .privacyAreaLink:hover {
  text-decoration: underline;
}
.privacyArea .txtBox {
   border-bottom: 1px solid #969393;
   padding-bottom: 34px;
   margin-bottom: 34px;
}
.privacyArea .aboutArea {
  margin-bottom: 56px;
}
.privacyArea .aboutArea .txtBox:last-child,
.privacyArea .guidelineArea .txtBox:last-child {
   border-bottom: none;
   margin-bottom: 0;
   padding-bottom: 0;
}
.privacyArea .txtBox .tit {
   font-size: 1.8rem;
   font-weight: bold;
   margin-bottom: 18px;
}
.privacyArea .txtBox .tit + .txt {
   padding: 0 20px;
}
.privacyArea .txtBox a {
  color: #00AAEB;
}
.privacyArea .txtBox a:hover {
  text-decoration: underline;
}
.privacyArea .txtBox .img a {
  transition: .3s;
}
.privacyArea .txtBox .img a:hover {
  opacity: 0.6;
}
.privacyArea .txtBox.signature {
  display: flex;
  justify-content: space-between;
}
.privacyArea .txtBox.signature .txt {
  text-align: right;
}
.privacyArea .guidelineArea {
  border: 1px #00AAEB solid;
  padding: 33px 20px;
}
.info_privacy .r_privacyArea {
  max-width: 100%;
}
.info_privacy .postKvArea .tit {
  font-size: 3.1rem;
  line-height: 1.096;
  padding-bottom: 0;
  margin-top: 2px;
}
.info_privacy .postKvArea .tit span {
  margin-top: 14px;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .privacyArea {
    line-height: 1.72;
  }
  .privacyArea .aboutArea {
    margin-bottom: 58px;
  }
  .privacyArea .lead {
    line-height: 1.6;
    padding-bottom: 28px;
    margin-bottom: 29px;
  }
  .privacyArea .aboutArea .txtBox:first-of-type {
    line-height: 1.6;
  }
  .privacyArea .txtBox {
    padding-bottom: 25px;
    margin-bottom: 25px;
  }
  .privacyArea .txtBox .tit {
    font-size: 1.6rem;
    margin-bottom: 18px;
    line-height: 1.5;
  }
  .privacyArea .txtBox .tit + .txt {
    padding: 0;
  }
  .privacyArea .txtBox.signature {
    flex-direction: column;
  }
  .privacyArea .txtBox.signature .img {
    width: 50px;
    height: 50px;
  }
  .privacyArea .txtBox.signature .img img {
    width: 100%;
    height: auto;
  }
  .privacyArea .txtBox.signature .txt {
    margin-top: 22px;
  }
  .privacyArea .guidelineArea {
    padding: 29px 20px;
  }
  .info_privacy .lead {
    margin-top: 0;
  }
}

/* ===========================================
サイトマップ
=========================================== */
.sitemapArea .sitemapBox + .sitemapBox {
  margin-top: 52px;
}
.sitemapArea .sitemapBox .tit {
  padding: 1px 0 18px 19px;
  margin-bottom: 25px;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.2;
  border-bottom: 1px solid #ddd;
  position: relative;
}
_:-ms-input-placeholder, :root .sitemapArea .sitemapBox .tit {
  padding-top: 5px;
}
.sitemapArea .sitemapBox .tit:before {
  content: "";
  width: 0;
  height: 0;
  border-left: 9px solid #000;
  border-top: 7px solid transparent;
  border-right: 8px solid transparent;
  border-bottom: 7px solid transparent;
  position: absolute;
  top: 6px;
  left: 0;
}
.sitemapArea .sitemapBox .tit a:hover {
  text-decoration: underline;
}
.sitemapArea .sitemapBox .list {
  padding: 0 30px;
  margin-top: -22px;
  display: flex;
  flex-wrap: wrap;
}
.sitemapArea .sitemapBox .list li {
  width: 33.33333%;
  padding-right: 20px;
  margin-top: 22px;
}
.sitemapArea .sitemapBox .list li:nth-child(3n + 1) {
  width: calc(33.33333% - 30px);
}
.sitemapArea .sitemapBox .list a {
  font-size: 1.6rem;
  line-height: 1.5;
}
.sitemapArea .sitemapBox .list a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 1024px) and (min-width: 959px) {
  .ipadOnly {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .tabOnly {
    display: block;
  }
  .sitemapArea .sitemapBox .list li {
    padding-right: 35px;
  }
}
@media screen and (max-width: 959px) and (min-width: 768px) {
}

@media screen and (max-width: 767px) {
  .sitemapArea .sitemapBox + .sitemapBox {
    margin-top: 63px;
  }
  .sitemapArea .sitemapBox .tit {
    padding: 2px 0 15px 19px;
    margin-bottom: 25px;
    font-size: 1.8rem;
    line-height: 1.333333333;
  }
  .sitemapArea .sitemapBox .tit:before {
    left: 1px;
  }
  .sitemapArea .sitemapBox .tit a:hover {
    text-decoration: underline;
  }
  .sitemapArea .sitemapBox .list {
    padding: 0 18px;
    flex-direction: column;
  }
  .sitemapArea .sitemapBox .list li,
  .sitemapArea .sitemapBox .list li:nth-child(3n + 1) {
    width: 100%;
    padding-right: 0;
  }
  .sitemapArea .sitemapBox .list a {
    font-size: 1.6rem;
  }
}

/* ===========================================
お問合わせ
=========================================== */
/*共通*/
.info .barTit {
  margin-bottom: 50px;
}
.info .btn {
  min-height: 38px;
  font-size: 1.6rem;
  line-height: 1.0625;
}
_:-ms-input-placeholder, :root .info .btn {
  padding-top: 14px;
}
.info .btnContact,
.info .btnContents,
.info .btnPressRelease  {
  background-color: #005EAB;
}
.info .btnContact:hover,
.info .btnContents:hover,
.info .btnPressRelease:hover  {
  text-decoration: underline;
  font-size: 18px;
}
.info .btnCorporate {
  background-color: #00B2B3;
}
.info .btnStudents,
.info .btnSeeker,
.info .btnUser {
  background-color: #005EAB;
}
.infoList {
  display: flex;
  flex-wrap: wrap;
}
.infoServiceBox .infoList:last-child {
  margin-bottom: 16px;
}
.infoList .item {
  width: calc(50% - 24px);
  padding: 0 40px;
  border: 1px solid #DDDDDD;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.infoList .item:nth-child(odd) {
  margin-right: 47px;
}
.infoList .item .list {
  width: 100%;
  display: flex;
  justify-content: center;
}
.infoList .item li {
  max-width: 175px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.infoList .item .txt {
  font-size: 1.6rem;
  line-height: 1.5;
}

@media screen and (max-width: 1280px) {
  .infoList {
    display: flex;
    flex-wrap: wrap;
  }
  .infoList .item .list {
    flex-direction: column;
    justify-content: start;
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .info .barTit {
    margin-bottom: 30px;
  }
  .info .btn {
    padding-bottom: 2px;
  }
  .infoList {
    flex-direction: column;
  }
  .infoList .item {
    width: 100%;
    padding: 0 40px;
    flex-direction: column;
  }
  .infoList .item:nth-child(odd) {
    margin: 0 0 30px;
  }
  .infoList .item .list {
    flex-direction: column;
    align-items: center;
  }
  .infoList .item li {
    max-width: 100%;
  }
}

/*当社に関するお問合せ*/
.infoArea {
  margin-bottom: 56px;
}
.infoArea .infoList {
  margin-bottom: 16px;
  display: flex;
  flex-wrap: wrap;
}
.infoArea .infoList .item {
  padding: 21px 39px 36px;
}
.infoArea .infoList .item .tit {
  margin-bottom: 13px;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1.681818182;
  text-align: center;
}
.infoArea .infoList .item .tit span {
  margin-top: -5px;
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.5;
  display: block;
}
.infoArea .infoList .item .list {
  margin-bottom: 22px;
}
.infoArea .infoList .item li {
  width: calc(50% - 5px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.infoArea .infoList .item li:nth-child(odd) {
  margin-right: 10px;
}
.infoArea .infoList .item li a {
  height: auto;
}
.infoArea .infoList .item .tel {
  transform: translateX(-12px);
}
.infoArea .infoList .item .tel a {
  pointer-events: none;
}
.infoArea .infoList .item .tel span {
  font-size: 2rem;
  font-weight: bold;
  word-break: break-all;
  line-height: 1.2;
}
.infoArea .infoList .item .txt {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.5;
}
.infoArea .note {
  font-size: 1.6rem;
  line-height: 1.5;
}
.infoArea .note + .note {
  margin-top: 10px;
}
.infoArea .note a {
  color: #00aaeb;
}
.infoArea .note a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 1280px) {
  .infoArea .infoList .item li {
    width: 100%;
    max-width: 247px;
  }
  .infoArea .infoList .item li:nth-child(odd) {
    margin: 0 0 16px 0;
  }
  .infoArea .infoList .item {
    padding: 18px 30px 33px;
  }
  .infoArea .infoList .item .tel {
    transform: translateX(0);
  }
  .infoArea .infoList .item .tel span {
  }
}

@media screen and (max-width: 767px) {
  .infoArea {
    margin-bottom: 62px;
  }
  .infoArea .infoList {
    margin-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
  }
  .infoArea .infoList .item {
    padding: 27px 19px 32px;
  }
  .infoArea .infoList .item .tit {
    margin-bottom: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .infoArea .infoList .item .tit span {
    margin-top: -1px;
  }
  .infoArea .infoList .item .list {
    margin-bottom: 31px;
  }
  .infoArea .infoList .item li {
    width: 100%;
    max-width: 247px;
  }
  .infoArea .infoList .item li:nth-child(odd) {
    margin: 0 0 16px 0;
  }
  .infoArea .infoList .item .tel {
    transform: translateX(0);
  }
  .infoArea .infoList .item .tel a {
    pointer-events: all;
  }
  .infoArea .infoList .item .tel span {
    font-size: 2rem;
    line-height: 1.2;
  }
  .infoArea .infoList .item .txt {
    font-size: 1.4rem;
    line-height: 1.5;
  }
  .infoArea .note {
    padding-left: 1em;
    text-indent: -1em;
  }
  .infoArea .note + .note {
    margin-top: 21px;
  }
  .infoArea .note a {
    padding-left: 1em;
    text-indent: -1em;
  }
}

/*サービスに関するお問合せ*/
.infoServiceArea {
  margin-bottom: 80px;
}
.infoServiceArea .infoServiceBox + .infoServiceBox {
  margin-top: 78px;
}
.infoServiceArea .infoServiceList {
  margin-bottom: 70px;
  display: flex;
}
.infoServiceArea .infoServiceList li {
  width: calc((100% - 60px) / 5);
  display: flex;
}
.infoServiceArea .infoServiceList li + li {
  margin-left: 15px;
}
.infoServiceArea .infoServiceList a {
  width: 100%;
  min-height: 38px;
  padding: 2px 5px 3px 31px;
  line-height: 1.2;
  border: 1px solid #000;
  border-radius: 4px;
  display: flex;
  align-items: center;
  position: relative;
  transition: .3s;
}
_:-ms-input-placeholder, :root .infoServiceArea .infoServiceList a {
  padding-top: 6px;
}
.infoServiceArea .infoServiceList a:hover {
  opacity: 0.6;
}
.infoServiceArea .infoServiceList a:after {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: -2px;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%) rotate(225deg);
  pointer-events: none;
}
.infoServiceArea .infoServiceBox > .tit {
  margin-bottom: 25px;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.307692308;
  text-align: center;
}
.infoServiceArea .infoServiceBox .infoList .item {
  min-height: 215px;
  padding-top: 29px;
  padding-bottom: 16px;
  margin-top: 50px;
  justify-content: flex-start;
}
.infoServiceArea .infoServiceBox .infoList:first-of-type .item {
  margin-top: 0;
}
.infoServiceArea .infoServiceBox .subTit {
  padding-bottom: 0;
  padding: 0 10px;
  margin: 0 -40px 26px;
}
.infoServiceArea .infoServiceBox .subTit img {
  max-width: 100%;
  height: auto;
}
.infoServiceArea .infoServiceBox .subTit:after {
  content: normal;
}
.infoServiceArea  .infoServiceBox .list {
  margin-bottom: 7px;
}
.infoServiceArea .infoServiceBox .list.singleBtnList li {
  width: 100%;
}
.infoServiceArea .infoServiceBox .list li {
  width: calc(50% - 10px);
}
.infoServiceArea .infoServiceBox .list li + li {
  margin-left: 20px;
}
.infoServiceArea .infoServiceBox .txt {
  width: 100%;
  margin-top: 10px;
  font-size: 1.4rem;
}

@media screen and (max-width: 1280px) {
  .infoServiceArea  .infoServiceBox .item {
    min-height: 0;
  }
  .infoArea .infoList .item .list {
    flex-direction: column;
    align-items: center;
  }
  .infoServiceArea  .infoServiceBox .list li {
    width: 100%;
    max-width: 247px;
  }
  .infoServiceArea  .infoServiceBox .list li + li {
    margin: 20px 0 0;
  }
}

@media screen and (max-width: 1024px) {
  .infoServiceArea .infoServiceBox .subTit {
    margin: 0 -40px 15px;
  }
}

@media screen and (max-width: 767px) {
  .infoServiceArea {
    margin-bottom: 60px;
  }
  .infoServiceArea .infoServiceBox + .infoServiceBox {
    margin-top: 63px;
  }
  .infoServiceArea .infoServiceList {
    margin-top: -10px;
    margin-bottom: 62px;
    flex-wrap: wrap;
  }
  .infoServiceArea .infoServiceBox .infoList:first-of-type .item {
    margin-top: 24px;
  }
  .infoServiceArea .infoServiceBox .infoList:first-of-type .item:first-of-type {
    margin-top: 0;
  }
  .infoServiceArea .infoServiceBox .infoList .item {
    margin-top: 24px;
  }
  .infoServiceArea .infoServiceList li {
    width: calc(50% - 5px);
    margin-top: 10px;
  }
  .infoServiceArea .infoServiceList li + li {
    margin-left: 0;
  }
  .infoServiceArea .infoServiceList li:nth-child(odd) {
    margin-right: 10px;
  }
  .infoServiceArea .infoServiceList a {
    min-height: 38px;
    padding: 1px 5px 3px 28px;
    font-size: 1.2rem;
  }
  .infoServiceArea .infoServiceList a:after {
    width: 6px;
    height: 6px;
  }
  .infoServiceArea  .infoServiceBox {
    position: relative;
  }
  .info a.target {
    position: absolute;
    top: -60px;
    left: 0;
  }
  .infoServiceArea  .infoServiceBox > .tit {
    margin-bottom: 28px;
    font-size: 1.8rem;
  }
  .infoServiceArea  .infoServiceBox .item {
    min-height: 0;
    padding-top: 29px;
    padding-bottom: 28px;
    margin-top: 24px;
    margin-bottom: 0;
    justify-content: flex-start;
  }
  .infoServiceArea  .infoServiceBox .subTit {
    padding-bottom: 0;
    margin: 0 -18px 20px;
  }
  .infoServiceArea  .infoServiceBox .subTit:after {
    content: normal;
  }
  .infoServiceArea  .infoServiceBox .list {
    margin-bottom: 10px;
  }
  .infoServiceArea  .infoServiceBox .list.singleBtnList li {
    width: 100%;
  }
  .infoServiceArea .infoServiceBox .list li {
    width: 100%;
    max-width: 247px;
  }
  .infoServiceArea  .infoServiceBox .list li + li {
    margin: 20px 0 0;
  }
  .infoServiceArea  .infoServiceBox .txt {
    margin: 0 -15px;
    font-size: 1.2rem;
    line-height: 1.5;
  }
}

/*TPOINTの利用手続きに関して*/
.tpointArea {
  padding: 46px 49px 20px;
  border: 1px solid #ddd;
  border-radius: 4px;
  position: relative;
}
.tpointArea .target {
  position: absolute;
  top: 0;
}
.tpointArea > .tit {
  margin-bottom: 23px;
  display: flex;
  align-items: center;
}
.tpointArea > .tit img {
  margin-right: 30px;
}
.tpointArea > .tit span {
  padding-top: 8px;
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.2;
}
.tpointArea > .txt {
  margin-bottom: 6px;
  font-size: 1.6rem;
  line-height: 1.5;
}
.tpointArea .tpointList {
  padding: 0 30px;
}
.tpointArea .tpointList li {
  width: 100%;
  padding: 27px 0 26px;
  display: flex;
  align-items: center;
}
.tpointArea .tpointList li + li {
  border-top: 1px solid #DDDDDD;
}
.tpointArea .tpointList .txtBox {
  padding-right: 20px;
}
.tpointArea .tpointList .tit {
  margin-bottom: 7px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.333333333;
}
.tpointArea .tpointList .txt {
  font-size: 1.6rem;
  line-height: 1.5;
}
.tpointArea .tpointList .btnWrap {
  width: 100%;
  max-width: 175px;
  margin-left: auto;
}

@media screen and (max-width: 959px) {
}

@media screen and (max-width: 767px) {
  .tpointArea {
    padding: 29px 24px 9px;
  }
  .tpointArea .target {
    top: -2px;
  }
  .tpointArea > .tit {
    margin-bottom: 29px;
    flex-direction: column;
    align-items: center;
  }
  .tpointArea > .tit img {
    width: 60%;
    height: auto;
    margin-right: 0;
  }
  .tpointArea > .tit span {
    padding-top: 18px;
    font-size: 1.8rem;
  }
  .tpointArea > .txt {
    margin-bottom: 9px;
  }
  .tpointArea .tpointList {
    padding: 0;
  }
  .tpointArea .tpointList li {
    width: 100%;
    padding: 28px 0 30px;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .tpointArea .tpointList .txtBox {
    margin-bottom: 16px;
    padding-right: 0;
  }
  .tpointArea .tpointList .tit {
    margin-bottom: 1px;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: center;
  }
  .tpointArea .tpointList .txt {
    font-size: 1.4rem;
    line-height: 1.714285714;
    text-align: center;
  }
  .tpointArea .tpointList .btnWrap {
    width: 100%;
    max-width: 247px;
    margin-left: 0;
    padding: 0;
  }
}

/* ===========================================
404ページ
=========================================== */
.sitemapBox.xxx {
  margin-top: 40px;
}
.sitemapBox.xxx .tit {
  margin-bottom: 35px;
}

/* ===========================================
英語ページ
=========================================== */
/* トップページ */
.indexKvArea.eng {
  min-height: 450px;
}
.indexKvArea.eng:after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: transparent linear-gradient(128deg, #0093E9 40%, #80D0C7 100%) 0% 0% no-repeat;
}
.indexKvArea.eng .titBox {
  top: calc( 50% + 9px );
  transform: translateY(-50%);
}
.indexKvArea.eng .titBox .tit {
  font-family: 'Roboto', sans-serif;
  font-size: 7rem;
  font-weight: 900;
  color: #FFF;
  letter-spacing: 0.05em;
  margin-bottom: 17px;
  line-height: 1.2;
}
.indexKvArea.eng .titBox .txt {
  font-family: 'Roboto', sans-serif;
  font-size: 1.8rem;
  color: #FFF;
  line-height: 1.8889;
}
.engNaviArea {
  padding: 106px 60px 100px;
  background: url(../img/index/bg_trend_navi_pc.png) repeat left top / 32px auto;
}
.engPageMenu section {
  display: flex;
  font-family: 'Roboto', sans-serif;
  align-items: center;
  justify-content: space-between;
}
.engPageMenu section + section {
  margin-top: 80px;
}
.engPageMenu section:nth-child(2n) {
  flex-direction: row-reverse;
}
.engPageMenu section .secTit {
  padding-bottom: 6px;
  margin-bottom: 25px;
  text-align: right;
  white-space: nowrap;
}
.engPageMenu section:nth-child(2n) .secTit {
  text-align: left;
}
.engPageMenu section .secTit:after {
  background: #00AAEB;
  left: auto;
  right: 0;
  transform: none;
}
.engPageMenu section:nth-child(2n) .secTit:after {
  right: auto;
  left: 0;
}
.engPageMenu section .img {
  width: 55%;
  max-width: 601px;
  min-width: 360px;
}
.engPageMenu section .img img {
  width: 100%;
  height: auto;
}
.engPageMenu .aboutusArea .img {
  margin-left: -60px;
}
.engPageMenu .txtBox {
  margin: 0 0 10px 0;
  overflow: hidden;
}
.engPageMenu .list {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.8rem;
  margin-right: -50px;
  justify-content: flex-end;
  margin-bottom: -10px;
}
.engPageMenu .list li {
  margin: 0 50px 10px 0;
}
.engPageMenu .list li a {
  position: relative;
  padding-right: 20px;
  transition: .3s opacity;
  white-space: nowrap;
}
.engPageMenu .list li a:hover {
  opacity: .6;
}
.engPageMenu .serviceArea .list {
  justify-content: flex-start;
}
.engPageMenu .aboutusArea .list li a:after {
  content: '';
  width: 5px;
  height: 10px;
  background: url(../img/eng/index/ico_arrow.png) no-repeat center / cover;
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 1039px) {
  .engNaviArea .l-column {
    max-width: 100%;
  }
  .engPageMenu .serviceArea .img {
    margin-right: -60px;
  }
}
@media screen and (max-width: 767px) {
  .indexKvArea.eng {
    margin-bottom: 0;
    min-height: 354px;
  }
  .indexKvArea.eng:after {
    background: transparent linear-gradient(151deg, #0093E9 28%, #80D0C7 100%) 0% 0% no-repeat;
  }
  .indexKvArea.eng .titBox {
    top: calc( 50% + 20px );
  }
  .indexKvArea.eng .titBox .tit {
    font-size: 5rem;
    width: 100%;
    white-space: nowrap;
    margin-bottom: 10px;
  }
  .indexKvArea.eng .titBox .txt {
    font-size: 1.4rem;
    line-height: 2.4286;
  }
  .engNaviArea {
    padding: 24px 24px 64px 24px;
  }
  .engPageMenu section {
    align-items: flex-end;
  }
  .engPageMenu section,
  .engPageMenu section:nth-child(2n) {
    flex-direction: column;
  }
  .engPageMenu section:nth-child(2n) {
    align-items: flex-start;
  }
  .engPageMenu section + section {
    margin-top: 46px;
  }
  .engPageMenu section .secTit {
    font-size: 3.2rem;
    margin: 11px 0 20px;
    padding-bottom: 8px;
  }
  .engPageMenu section .img {
    width: calc( 100% + 24px );
    min-width: 100%;
    height: auto;
  }
  .engPageMenu .aboutusArea .img {
    margin-left: -24px;
  }
  .engPageMenu .serviceArea .img {
    margin-right: -24px;
  }
  .engPageMenu .list {
    font-size: 1.6rem;
    margin-right: -44px;
  }
  .engPageMenu .list li {
    margin-right: 44px;
  }
}

/* ===========================================
ABOUT US
=========================================== */
.aboutusLinkArea {
  display: flex;
  width: 512px;
  margin-bottom: 40px;
}
.aboutusLinkArea p + p {
  margin-left: 31px;
}
.aboutusLinkArea .btn  {
  width: 241px;
  color: #000;
  background: #FFF;
  border: 1px solid #000;
}
.aboutusLinkArea .btn:hover  {
  background: #000;
  opacity: 1;
  color: #FFF;
}
.aboutusLinkArea p.active .btn  {
  background: #000;
  opacity: 1;
  pointer-events: none;
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .aboutusLinkArea {
    width: 100%;
  }
  .aboutusLinkArea p {
    width: calc( 100% / 2 - 15px );
  }
  .aboutusLinkArea .btn {
    width: 100%;
  }
}

/* ===========================================
SERVICES
=========================================== */
.service.eng .lead {
  font-size: 1.6rem;
  margin-bottom: 57px;
}
.service.eng .leadArea {
  margin: 0 0 56px;
}
.service.eng .engInfoArea .engInfoItem + .engInfoItem {
  margin-top: 60px;
}
.service.eng .engInfoArea .engInfoItem .barTit {
  margin-bottom: 35px;
}
.service.eng .engInfoArea .lead {
  font-size: 1.4rem;
  margin-bottom: 24px;
}
.service.eng .engGroupItem .subTit {
  font-size: 1.8rem;
  font-weight: bold;
  padding-left: 29px;
  margin-bottom: 15px;
  position: relative;
}
.service.eng .engGroupItem .subTit:before {
  content: '';
  width: 20px;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
  background: #00AAEB;
  display: block;
  position: absolute;
  left: 0;
}
.service.eng .engInfoItem .list,
.service.eng .engGroupItem .list {
  display: flex;
  flex-wrap: wrap;
  margin: 24px 0 -25px -20px;
}
.service.eng .engInfoItem .list li,
.service.eng .engGroupItem .list li {
  min-width: 330px;
  width: auto;
  margin: 0 0 25px 20px;
}
.service.eng .engGroupArea {
  margin-top: 55px;
}
.service.eng .engGroupArea .engGroupItem + .engGroupItem {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .service.eng .lead {
    font-size: 1.5rem;
    margin-bottom: 45px;
  }
  .service.eng .engInfoArea .engInfoItem .barTit {
    margin-bottom: 25px;
  }
  .service.eng .engInfoItem .list,
  .service.eng .engGroupItem .list {
    margin: 0 0 -15px -15px;
  }
  .service.eng .engInfoItem .list li,
  .service.eng .engGroupItem .list li {
    min-width: calc( 100% / 2 - 15px );
    width: auto;
    margin: 0 0 15px 10px;
  }
  .service.eng .engInfoItem .list li img,
  .service.eng .engGroupItem .list li img {
    /* width: 100%; */
    height: 28px;
  }
  .service.eng .engGroupItem .subTit {
    font-size: 1.6rem;
  }
  .service.eng .engGroupArea {
    margin-top: 35px;
  }
}