@charset "UTF-8";

/*ＭＯＤＵＬＥ*/
/* -----------------------------------------------------------------
MODULE CSS
LAST UPDATE: 

*HR
*TEXT
*LINK
*TITLE
*LIST
*BUTTON
*COLUMN
*BOX
*TABLE
*IMG
*FONTSIZE
*jsSetting
*MARGIN/PADDING
*FLOAT/FIG
*clearfix
*HIDE/SHOW
*OVERLAY
*SINGLE
*ORIGINAL
--------------------------------------------------------------------*/
@font-face {
  font-family: "JSI";
  src: url("/jp/teraoka-kansai/recruit/common/fonts/JosefinSans-Italic.woff") format("woff");
}

@font-face {
  font-family: "Lato";
  src: url("/jp/teraoka-kansai/recruit/common/fonts/Lato-Regular.woff") format("woff");
}

@font-face {
  font-family: "LatoB";
  src: url("/jp/teraoka-kansai/recruit/common/fonts/Lato-Black.woff") format("woff");
}

/*--------------------------------
*HR
---------------------------------*/
/*--------------------------------
*TEXT
---------------------------------*/
.fwB {
  font-weight: bold;
}

.roundTtl01 {
  color: #fff;
  background: #333333;
  border-radius: 18px;
  line-height: 1;
  padding: 10px 30px;
  font-size: 1.808rem;
  font-weight: bold;
  display: inline-block;
}

.roundTtl01 span {
  font-size: 1.408rem;
  font-weight: bold;
}

.numTetx01 {
  font-family: LatoB;
  font-size: 7rem;
  font-weight: bold;
  line-height: 1;
  color: #932d83;
}

.numTetx02 {
  font-family: LatoB;
  font-size: 7rem;
  font-weight: bold;
  line-height: 1;
  color: #932d83;
}

.numTetx03 {
  font-family: LatoB;
  font-size: 4.6rem;
  font-weight: bold;
  line-height: 1;
  color: #932d83;
}

.numTetx04 {
  font-family: LatoB;
  font-size: 3rem;
  font-weight: bold;
  line-height: 1;
  color: #848484;
}

.numTetx05 {
  font-family: LatoB;
  font-size: 2.2rem;
  font-weight: bold;
  line-height: 1;
  color: #932d83;
}

.numSubText01 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.2;
}

.numSubText02 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.2;
  white-space: nowrap;
}

.numNotice01 {
  color: #666666;
  font-size: 1.2rem;
  line-height: 1.2;
}

.NotRecruiting {
  text-align: center;
  font-weight: bold;
  background: #932d83;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%) !important;
  padding: 25px;
  color: #fff;
  margin: 40px 0;
}

@media screen and (max-width: 767px) {
  .roundTtl01 {
    font-size: 1.596rem;
  }

  .roundTtl01 span {
    font-size: 1.204rem;
  }

  .numTetx01 {
    font-size: 5rem;
    letter-spacing: -0.05em;
  }

  .numTetx02 {
    font-size: 5rem;
    letter-spacing: -0.05em;
  }

  .numTetx03 {
    font-size: 3.5rem;
    letter-spacing: -0.05em;
  }

  .numTetx04 {
    font-size: 2.3rem;
    letter-spacing: -0.05em;
  }

  .numTetx05 {
    font-size: 1.5rem;
    letter-spacing: -0.05em;
  }

  .numSubText01 {
    font-size: 1.7rem;
  }

  .numSubText02 {
    font-size: 1.4rem;
  }

  .numNotice01 {
    font-size: 0.8rem;
  }

  .NotRecruiting {
    margin: 20px 0 60px;
    font-size: 1.2rem;
  }
}

/*--------------------------------
*LINK
---------------------------------*/
#main a.imgBlank {
  margin: 0;
  background: none;
  padding: 0;
}

/*--------------------------------
*TITLE
---------------------------------*/
.deviceTtl01 {
  font-weight: bold;
  font-size: 3rem;
  color: #932d83;
  border-bottom: 1px solid #932d83;
  padding-bottom: 15px;
  line-height: 1.4;
}

.deviceTtl02 {
  font-weight: bold;
  font-size: 2.4rem;
  border-left: 6px solid #932d83;
  padding-left: 15px;
  line-height: 1.4;
  margin-top: 60px;
}

.deviceTtl03 {
  font-weight: bold;
  font-size: 2rem;
  color: #932d83;
  line-height: 1.4;
  margin-top: 30px;
}

.indentLine01 {
  font-weight: bold;
  font-size: 2rem;
  color: #932d83;
  line-height: 1.4;
  margin-top: 40px;
}

.indentLine01::before {
  content: '';
  width: 20px;
  height: 1px;
  background: #00a69a;
  display: inline-block;
  vertical-align: super;
  margin-right: 15px;
}

.indentLine02 {
  font-weight: bold;
  font-size: 2rem;
  color: #932d83;
  line-height: 1.4;
  margin-top: 40px;
}

.indentLine03 {
  font-weight: bold;
  font-size: 1.5rem;
  color: #932d83;
  line-height 0.8;
  margin-top: 10px;
  border-left: 4px solid #932d83;
  padding-left: 3px;
  margin-left: -5px;
}

@media screen and (max-width: 767px) {
  .deviceTtl01 {
    font-size: 1.89994rem;
    padding-bottom: 10px;
  }

  .deviceTtl02 {
    font-size: 1.70002rem;
    border-left: 6px solid #932d83;
    padding-left: 15px;
    margin-top: 40px;
  }

  .deviceTtl03 {
    font-size: 1.60006rem;
    margin-top: 15px;
  }

  .indentLine01 {
    font-size: 1.60006rem;
    margin-top: 20px;
    text-indent: -35px;
    margin-left: 35px;
  }

  .indentLine02 {
    font-size: 1.60006rem;
    margin-top: 20px;
    text-indent: -35px;
    margin-left: 35px;
  }

  .indentLine03 {
    font-size: 1.2rem;
    color: #932d83;
    line-height 1.0;
    margin-top: 10px;
    border-left: 2px solid #932d83;
    padding-left: 2px;
    margin-left: -5px;
  }
}

/*---------------------------------
*LIST
-----------------------------------*/
/*iconList01*/
.iconList01 li {
  display: inline;
  margin-right: 3px;
}

.iconList01 li img {
  width: 50px;
  height: auto;
}

/*discList01*/
.discList01 li {
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_disc_01.png) no-repeat 0 0.6em;
  padding-left: 20px;
  margin-top: 5px;
  background-size: 11px auto;
}

.discList01 li:first-child {
  margin-top: 0;
}

/*btnList02*/
.btnList02 li {
  text-align: left;
  margin-top: 12px;
}

.btnList02 li a {
  text-align: center;
  min-width: 320px;
  display: inline-block !important;
  line-height: 1;
  padding: 15px 30px !important;
  background: #932d83;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%) !important;
  color: #fff;
  margin-right: 0 !important;
  border-radius: 50px;
  position: relative;
}

.btnList02 li a:hover {
  text-decoration: none !important;
}

.btnList02 li a[target$="_blank"]::after {
  content: '';
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_blank_02.png) no-repeat right center;
  display: inline-block;
  background-size: 11px auto;
  width: 11px;
  height: 9px;
  margin-left: 10px;
  position: absolute;
  right: 25px;
  top: 18px;
}

.btnList02 li a span {
  font-size: 1.2rem;
}

/*galleryList01*/
.galleryList01 {
  width: 100%;
  overflow: hidden;
  padding-right: 80px;
}

.galleryList01 li {
  width: 200px;
  height: 135px;
  overflow: hidden;
  float: left;
  margin-right: 20px;
  margin-top: 20px;
}

.galleryList01 li a {
  display: block;
}

.galleryList01 li a:hover img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.8s;
}

.galleryList01 li:nth-child(5n) {
  margin-right: -80px;
}

/*memberList01*/
.memberList01 {
  margin-top: 0 !important;
}

.memberList01 li {
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_member_01.png) no-repeat 0 0;
  padding-left: 35px;
  font-size: 1.4rem;
  margin-top: 15px;
}

.memberList01 li strong {
  font-weight: bold;
  color: #333;
}

/*thumbList01*/
.thumbList01 {
  text-align: center;
  width: 1100px;
  margin-left: -10px;
}

.thumbList01 li {
  width: 255px;
  display: inline-block;
  vertical-align: top;
  margin: 50px 10px 0 5px;
}

.thumbList01 li a {
  color: #333;
  display: block;
  text-align: left;
}

.thumbList01 li a span {
  line-height: 1;
  width: 100%;
}

.thumbList01 li a span.thumb {
  overflow: hidden;
  width: 255px;
  height: 320px;
  display: block;
}

.thumbList01 li a span.label {
  font-weight: bold;
  font-size: 1.4rem;
  padding: 8px 10px;
  margin-top: 15px;
  display: inline-block;
  background: #932d83;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%) !important;
  width: auto;
  color: #fff;
}

.thumbList01 li a span.name {
  display: block;
  font-family: JSI;
  font-weight: bold;
  font-size: 2.2rem;
  margin: 20px 0 15px 0;
}

.thumbList01 li a span.group {
  display: block;
  font-size: 1.4rem;
  line-height: 1.8;
}

.thumbList01 li a:hover {
  text-decoration: none !important;
  opacity: 1;
}

.thumbList01 li a:hover img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.8s;
}

/*thumbList02*/
.margin_top80 {
  margin: 80px auto 0;
}

.thumbList02 {
  text-align: center;
  width: 1100px;
}

.thumbList02 li {
  width: auto;
  display: inline-block;
  vertical-align: top;
  margin: 20px 10px 0 5px;
}

.thumbList02 li a {
  color: #333;
  display: block;
  text-align: center;
}

.thumbList02 li a span {
  line-height: 1;
  width: 100%;
}

.thumbList02 li a span.thumb {
  overflow: hidden;
  width: 300px;
  height: 200px;
  display: block;
}

.thumbList02 li a span.label {
  font-weight: bold;
  font-size: 1.4rem;
  padding: 8px 10px;
  margin-top: 15px;
  display: inline-block;
  background: #932d83;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%) !important;
  width: auto;
  color: #fff;
}

.thumbList02 li a span.name {
  display: block;
  font-family: JSI;
  font-weight: bold;
  font-size: 2.2rem;
  margin: 10px 0 5px 0;
}

.thumbList02 li a span.group {
  display: block;
  font-size: 1.4rem;
}

.thumbList02 li a:hover {
  text-decoration: none !important;
  opacity: 1;
}

.thumbList02 li a:hover img {
  transform: scale(0.9, 0.9);
  transition-duration: 0.7s;
}

.thumbList02 li a span img {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  object-position: 0px 0px;
  object-fit: cover;
}

/*entryList01*/
.entryList01 {
  width: 100%;
  overflow: hidden;
}

.entryList01 li {
  width: 525px;
  height: 280px;
  overflow: hidden;
  float: left;
  margin-top: 28px;
}

.entryList01 li a {
  display: block !important;
  color: #fff;
  position: relative;
  padding: 0 0 0 295px !important;
  background: none !important;
  margin: 0 !important;
  height: 280px;
  line-height: 2;
}

.entryList01 li a .wrapBox {
  background: #932d83;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%) !important;
  height: 280px;
  padding: 30px 30px 0 30px;
}

.entryList01 li a .name {
  font-weight: bold;
  font-size: 2.4rem;
}

.entryList01 li a em.name_en {
  font-size: 1.4rem;
  border-bottom: 1px solid #abd0cb;
  padding: 5px 0 10px 0;
  margin-bottom: 10px;
  font-family: JSI;
}

.entryList01 li a .text {
  font-size: 1.4rem;
}

.entryList01 li a .text_bottom01 {
  font-size: 1.0rem;
  margin-top: 68px;
  text-align: right;
  margin-right: 10px;
}

.entryList01 li a .text_bottom02 {
  font-size: 1.0rem;
  margin-top: 40px;
  text-align: right;
  margin-right: 10px;
}

.entryList01 li a .text_bottom03 {
  font-size: 1.0rem;
  margin-top: 13px;
  text-align: right;
  margin-right: 10px;
}

.entryList01 li a .text_bottom04 {
  font-size: 1.0rem;
  margin-top: 68px;
}

.entryList01 li a .text_bottom05 {
  font-size: 1.0rem;
  margin-top: 40px;
}

.entryList01 li a:hover {
  text-decoration: none !important;
}

.entryList01 li a::after {
  content: '';
  display: block;
  position: absolute;
  background: url(/jp/teraoka-kansai/recruit/entry/img/icon_blank.png) no-repeat 0 0;
  width: 46px;
  height: 46px;
  background-size: 100% auto;
  right: 0;
  bottom: 0;
}

.entryList01 li:nth-child(2n) {
  margin-left: 30px;
}

.entryList01 li.category01 {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_thumb_001.png) no-repeat 0 0;
}

.entryList01 li.category02 {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_thumb_002.png) no-repeat 0 0;
}

.entryList01 li.category03 {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_thumb_003.png) no-repeat 0 0;
}

.entryList01 li.category04 {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_thumb_004.png) no-repeat 0 0;
}

/*areaNav01*/
.areaNav01 {
  padding: 40px 220px 70px 230px;
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_menu.png) no-repeat #f7f7f7 65px center;
  background-size: 112px auto;
  margin-top: 75px;
}

.areaNav01 li {
  line-height: 1.4;
  margin-top: 20px;
  margin-right: 40px;
  display: inline-block;
}

.areaNav01 li a {
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_arrow_r_01.png) no-repeat right center;
  padding-right: 15px;
  background-size: 6px auto;
  color: #333;
}

.areaNav01 li a.cur,
.areaNav01 li a:hover {
  color: #932d83;
  text-decoration: none !important;
}

.areaNav01 li a.cur {
  pointer-events: none;
  font-weight: bold;
}

/*ttlList01*/
.ttlList01 li {
  margin-top: 20px;
}

.ttlList01 li a strong {
  font-size: 1.8rem;
  font-weight: bold;
  display: inline-block;
  color: #b90cb4;
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_arrow_r_01.png) no-repeat right 0.7em;
  padding-right: 15px;
  background-size: 6px auto;
}

.ttlList01 li a span {
  color: #333333;
  display: block;
  font-size: 1.4rem;
}

.ttlList01 li a:hover {
  text-decoration: none !important;
}

.ttlList01 li:first-child {
  margin-top: 0;
}

/*projectBtn*/
.pjBtn01 {
  width: auto;
  height: 100px;
}

.pjBtn01 li {
  width: 525px;
  height: 100px;
  overflow: hidden;
  float: left;
}

.pjleadBtn01 {
  display: inline-block !important;
  line-height: 1.2;
  padding: 15px 50px !important;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%) !important;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  margin-right:
}

.pjleadBtn01:hover {
  text-decoration: none !important;
}

.pjleadBtn02 {
  display: inline-block !important;
  line-height: 1.2;
  padding: 15px 90px !important;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%) !important;
  color: #fff;
  margin-right: 0 !important;
  text-align: center;
  border-radius: 5px;
}

.pjleadBtn02:hover {
  text-decoration: none !important;
}

.pj_link1 a::after {
  content: '';
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_arrow_r_w_01.png) no-repeat 0 0;
  width: 6px;
  height: 10px;
  background-size: 100% auto;
  position: absolute;
  margin-left: 30px;
  margin-top: -5px;
}

.pj_link2 a::after {
  content: '';
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_arrow_r_w_01.png) no-repeat 0 0;
  width: 6px;
  height: 10px;
  background-size: 100% auto;
  position: absolute;
  margin-left: 70px;
  margin-top: -5px;
}

/*career*/
.career {
  width: 100%;
  margin: 10px auto 0;
  font-size: 1.5rem;
  margin-left: 5px;
}

.career_List01 {
  width: auto;
  margin-top: 10px;
  margin-bottom: 10px;
}

.career_List02 {
  width: auto;
  padding: 0 30px 0 30px;
  margin-top: 5px;
}

.career_List02 li {
  width: auto;
  list-style: disc;
}

@media screen and (max-width: 767px) {

  /*btnList02*/
  .btnList02 li {
    text-align: center;
  }

  .btnList02 li a {
    min-width: 300px;
  }

  .btnList02 li a span {
    font-size: 1.1rem;
  }

  /*galleryList01*/
  .galleryList01 {
    padding-right: 0;
  }

  .galleryList01 li {
    width: calc(50% - 5px);
    height: 29vw;
    margin-right: 5px;
    margin-top: 10px;
    overflow: hidden;
  }

  .galleryList01 li:nth-child(5n) {
    margin-right: 5px;
  }

  .galleryList01 li:nth-child(even) {
    margin-right: 0;
    margin-left: 5px;
  }

  .galleryList01 li:nth-child(odd) {
    clear: left;
  }

  /*memberList01*/
  .memberList01 {
    margin-top: 0 !important;
  }

  .memberList01 li {
    background: url(/jp/teraoka-kansai/recruit/common/img/icon_member_01.png) no-repeat 0 0;
    padding-left: 30px;
    font-size: 1.2rem;
    margin-top: 10px;
    background-size: 20px auto;
  }

  /*thumbList01*/
  .thumbList01 {
    width: 100%;
    margin-left: 0;
    overflow: hidden;
  }

  .thumbList01 li {
    width: 50%;
    display: block;
    margin: 25px 0 0 0;
    float: left;
  }

  .thumbList01 li a span.thumb {
    width: 100%;
    height: auto;
  }

  .thumbList01 li a span.label {
    font-size: 1.1rem;
    padding: 6px 8px;
    margin-top: 10px;
  }

  .thumbList01 li a span.name {
    font-size: 1.8rem;
    margin: 10px 0 5px 0;
  }

  .thumbList01 li a span.group {
    font-size: 1.2rem;
  }

  .thumbList01 li:nth-child(odd) {
    padding-right: 8px;
  }

  .thumbList01 li:nth-child(even) {
    padding-left: 8px;
  }

  /*thumbList02*/
  .margin_top80 {
    margin: 40px auto 0;
  }

  .thumbList02 {
    width: 100%;
    margin-left: 0;
    overflow: hidden;
  }

  .thumbList02 li {
    width: 50%;
    display: block;
    margin: 10px 0 0 0;
    float: left;
  }

  .thumbList02 li a span.thumb {
    width: 100%;
    height: auto;
    text-align: center;
  }

  .thumbList02 li a span.label {
    font-size: 1.1rem;
    padding: 6px 8px;
    margin-top: 10px;
  }

  .thumbList02 li a span.name {
    font-size: 1.8rem;
    margin: 5px 0 5px 0;
  }

  .thumbList02 li a span.group {
    font-size: 0.9rem;
  }

  .thumbList02 li:nth-child(odd) {
    padding-right: 8px;
  }

  .thumbList02 li:nth-child(even) {
    padding-left: 8px;
  }

  .thumbList02 li a span img {
    width: 150px;
    height: 150px;
    object-fit: cover;
  }

  /*entryList01*/
  .entryList01 li {
    width: 100%;
    height: auto;
    float: none;
    margin-top: 20px;
    background-size: 100% auto !important;
  }

  .entryList01 li a {
    padding: 94.9% 0 0 0 !important;
    height: auto;
  }

  .entryList01 li a .wrapBox {
    height: auto;
    padding: 20px 20px 5px 20px;
  }

  .entryList01 li a .name {
    font-size: 1.8rem;
    display: inline-block;
  }

  .entryList01 li a em.name_en {
    font-size: 1.2rem;
    border-bottom: none;
    padding: 0 0 0 10px;
    margin-bottom: 0;
    display: inline-block;
  }

  .entryList01 li a .text {
    font-size: 1.2rem;
    border-top: 1px solid #abd0cb;
    padding-top: 10px;
    margin-top: 5px;
    line-height: 1.6;
  }

  .entryList01 li a .text_bottom01 {
    font-size: 1.0rem;
    margin-top: 28px;
    text-align: right;
    margin-right: 10px;
  }

  .entryList01 li a .text_bottom02 {
    font-size: 1.0rem;
    margin-top: 10px;
    text-align: right;
    margin-right: 10px;
  }

  .entryList01 li a .text_bottom03 {
    font-size: 1.0rem;
    margin-top: 3px;
    text-align: right;
    margin-right: 10px;
  }

  .entryList01 li a .text_bottom04 {
    font-size: 1.0rem;
    margin-top: 28px;
    text-align: right;
    margin-right: 10px;
  }

  .entryList01 li a .text_bottom05 {
    font-size: 1.0rem;
    margin-top: 10px;
    text-align: right;
    margin-right: 10px;
  }

  .entryList01 li a::after {
    width: 38px;
    height: 38px;
  }

  .entryList01 li:nth-child(2n) {
    margin-left: 0;
  }

  /*areaNav01*/
  .areaNav01 {
    padding: 10px 25px 25px 170px;
    background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_menu.png) no-repeat #f7f7f7 23px 30px;
    background-size: 112px auto;
    margin-top: 60px;
  }

  .areaNav01 li {
    margin-top: 15px;
    margin-right: 0;
    display: block;
  }

  /*ttlList01*/
  .ttlList01 {
    padding-bottom: 50px;
  }

  .ttlList01 li {
    margin-top: 20px;
  }

  .ttlList01 li a strong {
    font-size: 1.7rem;
  }

  .ttlList01 li a span {
    font-size: 1.2rem;
  }

  /*projectBtn*/
  .pjBtn01 {
    height: 140;
    margin-bottom: 50px;
  }

  .pjBtn01 li {
    width: 100%;
    height: auto;
    float: none;
    margin-top: 20px;
    background-size: 100% auto !important;
  }

  .pjleadBtn01 {
    font-size: 1.2rem;
    padding: 15px 50px !important;
  }

  .pjleadBtn02 {
    font-size: 1.2rem;
    padding: 15px 78px !important;
    padding-bottom:
  }

  .pj_link2 a::after {
    content: '';
    background: url(/jp/teraoka-kansai/recruit/common/img/icon_arrow_r_w_01.png) no-repeat 0 0;
    width: 6px;
    height: 10px;
    background-size: 100% auto;
    position: absolute;
    margin-left: 58px;
    margin-top: -5px;
  }

  /*career*/
  .career {
    width: 100%;
    margin: 10px auto 0;
    font-size: 1.2rem;
  }

  .career_List01 {
    width: auto;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .career_List02 {
    width: auto;
    padding: 0 20px 0 20px;
    margin-top: 10;
    display: block;
  }
}


/*--------------------------------
*BUTTON
---------------------------------*/
.gdBtn01 {
  display: inline-block !important;
  line-height: 1;
  padding: 15px 50px !important;
  background: #932d83;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%) !important;
  color: #fff;
  margin-right: 0 !important;
  border-radius: 50px;
}

.gdBtn01:hover {
  text-decoration: none !important;
}

.gdBtn01[target$="_blank"]::after {
  content: '';
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_blank_02.png) no-repeat right center;
  display: inline-block;
  background-size: 11px auto;
  width: 11px;
  height: 9px;
  margin-left: 10px;
}

.dataBtn01 a:hover {
  text-decoration: none !important;
}

.dataBtn01 a {
  font-size: 2.0rem;
  width: 350px;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%);
  color: #fff;
  border-radius: 50px;
  line-height: 1;
  padding: 20px 60px 20px 60px;
  text-align: center;
  position: relative;
}

.dataBtn01 a::after {
  content: '';
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_arrow_r_w_01.png) no-repeat 0 0;
  width: 6px;
  height: 10px;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -5px;
}

.dataBtn02 a:hover {
  text-decoration: none !important;
}

.dataBtn02 a {
  font-size: 2.0rem;
  width: 350px;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%);
  color: #fff;
  border-radius: 50px;
  line-height: 1;
  padding: 15px 60px 15px 60px;
  text-align: center;
  position: relative;
}

.dataBtn02 a::after {
  content: '';
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_arrow_r_w_01.png) no-repeat 0 0;
  width: 6px;
  height: 10px;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -5px;
}



@media screen and (max-width: 767px) {
  .gdBtn01 {
    padding: 15px 50px !important;
  }
}

/*--------------------------------
*COLUMN
---------------------------------*/
/*colWrap*/
.colWrap {
  width: 100%;
  overflow: hidden;
}

.colWrap .cellL {
  float: left;
  margin-top: 20px;
}

.colWrap .cellR {
  float: right;
  margin-top: 20px;
}

.colWrap .cellW340 {
  width: 340px;
}

.colWrap .cellW410 {
  width: 410px;
}

.colWrap .cellW380 {
  width: 380px;
}

.colWrap .cellW600 {
  width: 600px;
}

.colWrap .cellW625 {
  width: 625px;
}

.colWrap .cellW670 {
  width: 670px;
}

.deviceTtl01+.colWrap .cellL {
  margin-top: 30px;
}

.deviceTtl01+.colWrap .cellR {
  margin-top: 30px;
}

.colWrapEQ {
  width: 100%;
  overflow: hidden;
}

.colWrapEQ .cell {
  float: left;
  margin-right: 30px;
  margin-top: 20px;
}

.colWrapEQ .cellC {
  float: none;
  margin-left: auto;
  margin-right: auto;
  clear: both;
  padding-top: 20px;
}

.colWrapEQ.col2 {
  padding-right: 30px;
}

.colWrapEQ.col2 .cell {
  width: 50%;
}

.colWrapEQ.col2 .cell:nth-child(2n) {
  margin-right: -30px;
}

.colWrapEQ.col3 {
  padding-right: 60px;
}

.colWrapEQ.col3 .cell {
  width: 33.3333%;
}

.colWrapEQ.col3 .cell:nth-child(3n) {
  margin-right: -60px;
}

/*tableLWrap01*/
.tableLWrap01 {
  display: table;
  margin: 0 auto;
  margin-top: 20px;
}

.tableLWrap01 .tableCell {
  display: table-cell;
  vertical-align: middle;
  padding: 0 13px;
}

.tableLWrap01.w100 {
  width: 100%;
}

@media screen and (max-width: 767px) {

  /*colWrap*/
  .colWrap .cellL {
    float: none;
    margin-top: 10px;
  }

  .colWrap .cellR {
    float: none;
    margin-top: 10px;
  }

  .colWrap .cellW410,
  .colWrap .cellW340,
  .colWrap .cellW380,
  .colWrap .cellW600,
  .colWrap .cellW625,
  .colWrap .cellW670 {
    width: 100%;
  }

  .deviceTtl01+.colWrap .cellL {
    margin-top: 15px;
  }

  .deviceTtl01+.colWrap .cellR {
    margin-top: 15px;
  }

  .colWrapEQ .cell {
    margin-top: 20px;
    margin-right: 15px;
  }

  .colWrapEQ .cellC {
    padding-top: 20px;
  }

  .colWrapEQ.spCol1 .cell {
    width: 100%;
    margin-right: 0;
  }

  .colWrapEQ.spCol1 .cell .cell:nth-child(2n) {
    margin-right: 0;
  }

  .colWrapEQ.spCol1 .cell .deviceTtl03:first-child {
    margin-top: 0;
  }

  .colWrapEQ.col2 {
    padding-right: 30px;
  }

  .colWrapEQ.col2.spCol1 {
    padding-right: 0;
  }

  .colWrapEQ.col3 {
    padding-right: 30px;
  }

  .colWrapEQ.col3 .cell:nth-child(3n) {
    margin-right: -30px;
  }

  .colWrapEQ.col3.spCol1 {
    padding-right: 0;
  }

  .colWrapEQ.col3.spCol1 .cell:nth-child(3n) {
    margin-right: 0;
  }

  /*tableLWrap01*/
  .tableLWrap01 .tableCell {
    padding: 0 15px;
  }
}

/*--------------------------------
*BOX
---------------------------------*/
/*bgBox01*/
.bgBox01 {
  background: #f7f7f7;
  padding: 40px;
  margin-top: 40px;
}

.bgBox01 * {
  margin-top: 0;
}

.bgBox01 .colWrapEQ.col2 .cell:nth-child(1),
.bgBox01 .colWrapEQ.col2 .cell:nth-child(2) {
  margin-top: 0;
}

/*thumbBlock01*/
.thumbBlock01 {
  margin-top: 30px;
  width: 100%;
  overflow: hidden;
}

.thumbBlock01 .imgCell {
  width: 690px;
  float: left;
}

.thumbBlock01 .textCell {
  width: 525px;
  float: left;
  margin-left: -135px;
  background: #fff;
  padding: 40px;
  padding-right: 0;
  margin-top: 40px;
}

.thumbBlock01 .textCell.padL {
  padding: 50px;
  padding-right: 0;
}

.thumbBlock01 .deviceTtl02:first-child {
  margin-top: 0;
}

.thumbBlock01.proCell .textCell {
  margin-left: -310px;
}

/*thumbBlock02*/
.thumbBlock02 {
  margin-top: 30px;
  width: 100%;
  overflow: hidden;
}

.thumbBlock02 .imgCell {
  width: 690px;
  float: right;
  margin-left: -85px;
}

.thumbBlock02 .textCell {
  width: 475px;
  float: left;
  background: #fff;
  padding: 40px;
  padding-left: 0;
  margin-top: 40px;
}

.thumbBlock02 .textCell.padL {
  padding: 50px;
  padding-left: 0;
}

.thumbBlock02 .deviceTtl02:first-child {
  margin-top: 0;
}

.thumbBlock02.proCell .imgCell {
  margin-left: -310px;
}

/*proCell*/
.proCell {
  margin-top: 80px;
  position: relative;
}

.proCell .imgCell {
  width: 900px;
}

.proCell .textCell {
  color: #fff;
  width: 490px;
  margin-top: 80px;
  background: #00ac92;
  background: linear-gradient(90deg, #b90cb4 0%, #932d83 100%);
  padding: 45px;
  position: relative;
  z-index: 2;
}

.proCell .textCell p {
  margin-top: 0;
}

.proCell .textCell .proNum01 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #ffffff;
  color: #8e2a8a;
  /* 紫系の文字色 */
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1;
  padding: 10px 50px 10px 45px;
  position: relative;
  position: absolute;
  top: 40px;
  left: 0;
  clip-path: polygon(0 0, 100% 0, calc(100% - 30px) 100%, 0 100%);
}



/* 右側の斜めカット部分 */
/* .proCell .textCell .proNum01::after {
  content: "";
  position: absolute;
  top: 0;
  right: -20px;
  width: 0;
  height: 0;
  border-top: 50% solid transparent;
  border-bottom: 50% solid transparent;
  border-left: 20px solid #ffffff;
} */

.proCell .textCell .proNum01 .month-ja strong {
  font-size: 2.2rem;
  color: #932d83;
  vertical-align: middle;
}

.proCell .textCell .ttl {
  font-size: 2.4rem;
  line-height: 1.7;
  margin-top: 50px;
  font-weight: bold;
}

/* .proCell .textCell .ttl::after {
  content: '';
  background: url(/jp/teraoka-kansai/recruit/common/img/icon_arrow_r_w_01.png) no-repeat right center;
  width: 10px;
  height: 16px;
  display: inline-block;
  margin-left: 15px;
  margin-bottom: 1px;
} */

.proCell .textCell .lead {
  font-size: 1.4rem;
  margin-top: 10px;
}

.proCell .textCell strong {
  color: #fff;
}

.proCell a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  text-indent: -9999px;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.proCell:hover img {
  transform: scale(1.2, 1.2);
  transition-duration: 0.8s;
  z-index: 1;
  position: relative;
}

/*textTopIndent01*/
.textTopIndent01 {
  background: #fff;
  padding: 20px;
  padding-left: 0;
  margin-right: 35px;
  margin-top: -60px;
  position: relative;
  z-index: 1;
}

/*textTopIndent02*/
.textTopIndent02 {
  background: #fff;
  padding: 40px;
  margin-right: 55px;
  margin-left: 25px;
  margin-top: -80px;
  position: relative;
  z-index: 1;
}

/*textTopIndent03*/
.textTopIndent03 {
  background: #fff;
  padding: 40px;
  margin-right: 40px;
  margin-left: 40px;
  margin-top: -60px;
  position: relative;
  z-index: 1;
  padding-bottom: 0;
}

.textTopIndent03 .indentLine01:first-child {
  margin-top: 0;
}

/*ttlBox01*/
.ttlBox01 {
  background: #fff;
  border-radius: 4px 4px 0 0;
  margin-top: 5px !important;
  text-align: center;
}

.ttlBox01 dt {
  background: #000;
  /* border-radius: 4px 4px 0 0; */
  color: #fff;
  line-height: 1;
  font-size: 2.2rem;
  font-weight: bold;
  padding: 15px;
}

.ttlBox01 dt span {
  font-size: 1.4rem;
  font-family: JSI;
  font-weight: bold;
  display: inline-block;
  margin-left: 15px;
}

.ttlBox01 dt.gdC01 {
  background: #980d65;
  background: linear-gradient(90deg, #4fa3d1 0%, #3b7fb3 100%);
  clip-path: polygon(25px 0, 100% 0, 100% 100%, 0 100%);
}

.ttlBox01 dt.gdC02 {
  background: #a96113;
  background: linear-gradient(90deg, #e36a9c 0%, #e36a9c 100%);
  clip-path: polygon(0 0, calc(100% - 25px) 0, 100% 100%, 0 100%);
}

.ttlBox01 dt.gdC03 {
  background: #029d77;
  background: linear-gradient(90deg, #c87422 0%, #c87422 100%);
  clip-path: polygon(25px 0, 100% 0, 100% 100%, 0 100%);
}

.ttlBox01 dt.gdC04 {
  background: #006599;
  background: linear-gradient(90deg, #86b97a 0%, #6fa565 100%);
  clip-path: polygon(0 0, calc(100% - 25px) 0, 100% 100%, 0 100%);
}

.ttlBox01 dt.gdC05 {
  background: #259b9f;
  background: linear-gradient(90deg, #b90cb4 0%, #932d83 100%);
  clip-path: polygon(25px 0,
      /* 左上の斜め開始位置 */
      calc(100% - 25px) 0,
      /* 右上の斜め開始位置 */
      100% 100%,
      /* 右下 */
      0 100%
      /* 左下 */
    );
}

.ttlBox01 dd {
  padding: 20px 50px 30px;
}

.ttlBox01 dd .subTtl {
  font-weight: bold;
  padding-bottom: 15px;
}

/*.projectTtlBox01*/
.projectTtlBox01 {
  width: 100%;
  overflow: hidden;
}

.projectTtlBox01 .thumb {
  position: relative;
  z-index: 1;
}

.projectTtlBox01 .text {
  width: 740px;
  float: left;
  background: #00ac92;
  background: linear-gradient(90deg, #009da7 0%, #00ac92 100%);
  padding: 40px;
  color: #fff;
  margin-top: -60px;
  position: relative;
  z-index: 2;
}

.projectTtlBox01 .text h2 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.6;
}

.projectTtlBox01 .text p {
  margin-top: 10px;
  line-height: 1.8;
}

.projectTtlBox01 .member {
  width: 305px;
  float: right;
  padding-top: 40px;
}

.projectTtlBox01 .member h2 {
  font-family: JSI;
  font-weight: bold;
  font-size: 2.4rem;
  color: #00a69a;
  line-height: 1;
}

.projectTtlBox01 .member h2::after {
  content: '';
  width: 100px;
  height: 1px;
  background: #00a69a;
  display: inline-block;
  vertical-align: super;
  margin-left: 20px;
}

/*globalNumBox*/
.globalNumBox {
  width: 1020px;
  overflow: hidden;
  margin: 0 auto;
}

.globalNumBox dl.dataBox01 {
  width: 360px;
  float: left;
  margin-top: 0 !important;
  margin-left: -35px;
  text-align: center;
}

.globalNumBox dl.dataBox01 dt {
  font-weight: bold;
  color: #932d83;
  font-size: 1.8rem;
}

.globalNumBox dl.dataBox01 dt span {
  font-size: 1.4rem;
  font-weight: bold;
  margin-left: 5px;
}

.globalNumBox dl.dataBox01 dd {
  background: url(/jp/teraoka-kansai/recruit/common/img/bg_global_num.png) no-repeat 0 0;
  background-size: 350px auto;
  min-height: 70px;
  width: 360px;
  line-height: 70px;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
}

.globalNumBox dl.dataBox01 dd strong {
  color: #fff;
  font-size: 4.8rem;
  font-family: Lato;
  margin-right: 5px;
}

.globalNumBox .dataBox01:first-child {
  margin-left: 0;
}

/*serviceAreaMap*/
.serviceAreaMap {
  position: relative;
  width: 1080px;
  height: 620px;
  margin-top: 30px;
}

.serviceAreaMap .map01 {
  position: absolute;
  top: 0;
  left: 0;
}

.serviceAreaMap .map02 {
  position: absolute;
  top: 0;
  right: 0;
}

.serviceAreaMap .map03 {
  position: absolute;
  bottom: 0;
  left: 0;
}

.serviceAreaMap .map04 {
  position: absolute;
  bottom: 0;
  right: 0;
}

.serviceAreaMap .map05 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 917px;
  height: 230px;
  margin-left: -458px;
  margin-top: -115px;
}

/*gbBox01*/
.gbBox01 {
  padding: 40px;
  background: #932d83;
  background: linear-gradient(90deg, #932d83 0%, #b90cb4 100%) !important;
  color: #fff;
}

.gbBox01 .ttl {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
}

.gbBox01 p {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {

  /*bgBox01*/
  .bgBox01 {
    padding: 15px;
    margin-top: 20px;
  }

  .bgBox01 .colWrapEQ.col2.spCol1 .cell:nth-child(2) {
    margin-top: 20px;
  }

  /*thumbBlock01*/
  .thumbBlock01 {
    margin-top: 15px;
  }

  .thumbBlock01 .imgCell {
    width: 100%;
    float: none;
  }

  .thumbBlock01 .textCell {
    width: 100%;
    float: none;
    margin-left: 0;
    padding: 0;
    margin-top: 15px;
  }

  .thumbBlock01 .textCell.padL {
    padding: 0;
  }

  .thumbBlock01.proCell .textCell {
    margin-left: 0;
  }

  /*thumbBlock02*/
  .thumbBlock02 {
    margin-top: 15px;
  }

  .thumbBlock02 .imgCell {
    width: 100%;
    float: none;
    margin-left: 0;
  }

  .thumbBlock02 .textCell {
    width: 100%;
    float: none;
    padding: 0;
    margin-top: 15px;
  }

  .thumbBlock02 .textCell.padL {
    padding: 0;
  }

  .thumbBlock02.proCell .imgCell {
    margin-left: 0;
  }

  /*proCell*/
  .proCell {
    margin-top: 40px;
  }

  .proCell .imgCell {
    width: 100%;
  }

  .proCell .textCell {
    width: 100%;
    margin-top: 0;
    padding: 20px;
  }

  .proCell .textCell .proNum01 {
    font-size: 0.9rem;
    padding: 6px 15px 3px 15px;
  }

  .proCell .textCell .proNum01 strong {
    font-size: 1.4rem;
  }

  .proCell .textCell .ttl {
    font-size: 1.6rem;
    margin-top: 10px;
  }

  /* .proCell .textCell .ttl::after {
    content: '';
    background: url(/jp/teraoka-kansai/recruit/common/img/icon_arrow_r_w_01.png) no-repeat right center;
    width: 6px;
    height: 9px;
    display: inline-block;
    margin-left: 5px;
    margin-bottom: 1px;
    background-size: 100% auto;
  } */

  .proCell .textCell .lead {
    font-size: 1.1rem;
    margin-top: 5px;
  }

  /*textTopIndent01*/
  .textTopIndent01 {
    padding: 15px;
    padding-left: 0;
    margin-right: 25px;
    margin-top: -20px;
  }

  /*textTopIndent02*/
  .textTopIndent02 {
    padding: 20px;
    margin-right: 10px;
    margin-left: 10px;
    margin-top: -30px;
  }

  /*textTopIndent03*/
  .textTopIndent03 {
    padding: 0;
    margin-right: 0;
    margin-left: 0;
    margin-top: 20px;
  }

  /*ttlBox01*/
  .ttlBox01 {
    margin-top: 0 !important;
  }

  .ttlBox01 dt {
    font-size: 1.4rem;
    padding: 10px;
  }

  .ttlBox01 dt span {
    font-size: 0.9rem;
    margin-left: 10px;
  }

  .ttlBox01 dd {
    padding: 10px 20px 15px;
  }

  .ttlBox01 dd .subTtl {
    padding-bottom: 10px;
    font-size: 1.2rem;
    line-height: 1.6;
  }

  /*.projectTtlBox01*/
  .projectTtlBox01 .text {
    width: 100%;
    float: none;
    padding: 15px 20px;
    margin-top: 0;
  }

  .projectTtlBox01 .text h2 {
    font-size: 1.6rem;
  }

  .projectTtlBox01 .text p {
    margin-top: 10px;
  }

  .projectTtlBox01 .member {
    width: 100%;
    float: none;
    padding-top: 25px;
  }

  .projectTtlBox01 .member h2 {
    font-size: 2rem;
  }

  .projectTtlBox01 .member h2::after {
    content: '';
    width: 60px;
    margin-left: 10px;
  }

  /*globalNumBox*/
  .globalNumBox {
    width: 100%;
  }

  .globalNumBox dl.dataBox01 {
    width: auto;
    float: none;
    margin-top: 0 !important;
    margin-left: 0;
    display: table;
    line-height: 1.2;
  }

  .globalNumBox dl.dataBox01 dt {
    font-size: 1.4rem;
    display: table-cell;
    vertical-align: middle;
    width: 12rem;
  }

  .globalNumBox dl.dataBox01 dt span {
    font-size: 1rem;
  }

  .globalNumBox dl.dataBox01 dd {
    vertical-align: middle;
    display: table-cell;
    background: url(/jp/teraoka-kansai/recruit/common/img/bg_global_num.png) no-repeat 0 0;
    background-size: 210px auto;
    min-height: 40px;
    width: 210px;
    line-height: 40px;
    font-size: 1.2rem;
  }

  .globalNumBox dl.dataBox01 dd strong {
    font-size: 3rem;
  }

  .globalNumBox .dataBox01:first-child {
    margin-left: 0;
  }

  /*serviceAreaMap*/
  .serviceAreaMap {
    width: 100%;
    height: 0;
    margin: 30px auto 0 auto;
    padding-top: 173%;
  }

  .serviceAreaMap .map01 {
    position: absolute;
    top: 0;
    left: 0;
    width: 49.27%;
  }

  .serviceAreaMap .map02 {
    position: absolute;
    top: 0;
    right: 0;
    width: 49.27%;
  }

  .serviceAreaMap .map03 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 49.27%;
  }

  .serviceAreaMap .map04 {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 49.27%;
  }

  .serviceAreaMap img {
    width: 100%;
    height: auto;
  }

  .serviceAreaMap .map05 {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 93.04%;
    height: 48.11%;
    margin-left: -46.37%;
    margin-top: -18.84%;
  }

  .serviceAreaMap .map05 img {
    width: 100%;
    height: auto;
  }

  /*gbBox01*/
  .gbBox01 {
    padding: 15px;
  }

  .gbBox01 .ttl {
    font-size: 1.6rem;
  }

  .gbBox01 p {
    margin-top: 10px;
  }
}

/*--------------------------------- TABLE
-----------------------------------*/
.skeletonLayout01 th {
  padding: 0 10px;
  text-align: center;
  vertical-align: middle;
}

.skeletonLayout01 td {
  padding: 10px;
  text-align: center;
  vertical-align: middle;
}

.skeletonLayout02 th {
  padding: 0 10px;
  text-align: left;
  vertical-align: middle;
}

.skeletonLayout02 td {
  padding: 0 10px;
  text-align: left;
  vertical-align: middle;
}

/*cellLayout*/
table.thlayoutC th {
  text-align: center;
}

table.tdlayoutC td {
  text-align: center;
}

table.thlayoutR th {
  text-align: right;
}

table.tdlayoutR td {
  text-align: right;
}

table.thlayoutL th {
  text-align: left;
}

table.tdlayoutL td {
  text-align: left;
}

table.thVlayoutT th {
  vertical-align: top;
}

table.tdVlayoutT td {
  vertical-align: top;
}

table.thVlayoutM th {
  vertical-align: middle;
}

table.tdVlayoutM td {
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .skeletonLayout01 th {
    padding: 0 5px;
    text-align: center;
    vertical-align: middle;
  }

  .skeletonLayout01 td {
    padding: 5px;
    text-align: center;
    vertical-align: middle;
  }

  .skeletonLayout02 th {
    padding: 0 5px;
    text-align: left;
    vertical-align: middle;
  }

  .skeletonLayout02 td {
    padding: 0 5px;
    text-align: left;
    vertical-align: middle;
  }
}

/*--------------------------------- IMG
-----------------------------------*/
section .imgW105 {
  width: auto;
  height: auto;
  max-width: inherit !important;
  image-rendering: -webkit-optimize-contrast;
}

@media screen and (max-width: 767px) {
  section .imgW105 {
    width: 76px;
    height: auto;
  }

  .imgWSP60 {
    width: 60px;
    height: auto;
  }

  .imgWSP70 {
    width: 70px;
    height: auto;
  }

  .imgWSP100 {
    width: 100px;
    height: auto;
  }

  .imgWSP120 {
    width: 120px;
    height: auto;
  }
}

/*---------------------------------
*FONTSIZE
-----------------------------------*/
.fs12sp10 {
  font-size: 1.2rem !important;
}

.fs14sp12 {
  font-size: 1.4rem !important;
}

.fs16sp14 {
  font-size: 1.6rem !important;
}

.fs18sp14 {
  font-size: 1.8rem !important;
}

@media screen and (max-width: 767px) {
  .fs12sp10 {
    font-size: 1rem !important;
  }

  .fs14sp12 {
    font-size: 1.2rem !important;
  }

  .fs16sp14 {
    font-size: 1.4rem !important;
  }

  .fs18sp14 {
    font-size: 1.4rem !important;
  }
}

/*--------------------------------- jsSetting
-----------------------------------*/
/*---------------------------------
*MARGIN/PADDING
-----------------------------------*/
.mAll0 {
  margin: 0 !important;
}

.pAll0 {
  padding: 0 !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mt0 {
  margin-top: 0px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.ml0 {
  margin-left: 0px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.mr0 {
  margin-right: 0px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mr50 {
  margin-right: 50px !important;
}

/*base:20px*/
.mtx6 {
  margin-top: 120px !important;
}

.mtx5 {
  margin-top: 100px !important;
}

.mtx4 {
  margin-top: 80px !important;
}

.mtx3 {
  margin-top: 60px !important;
}

.mtx2 {
  margin-top: 40px !important;
}

.mtx1 {
  margin-top: 20px !important;
}

.mtx-05 {
  margin-top: 10px !important;
}

/*padding*/
.pb0 {
  padding-bottom: 0px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pt0 {
  padding-top: 0px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pl0 {
  padding-left: 0px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.pr0 {
  padding-right: 0px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pr50 {
  padding-right: 50px !important;
}

@media screen and (max-width: 767px) {
  .mb0-sp {
    margin-bottom: 0px !important;
  }

  .mb5-sp {
    margin-bottom: 5px !important;
  }

  .mb10-sp {
    margin-bottom: 10px !important;
  }

  .mb15-sp {
    margin-bottom: 15px !important;
  }

  .mb20-sp {
    margin-bottom: 20px !important;
  }

  .mb25-sp {
    margin-bottom: 25px !important;
  }

  .mb30-sp {
    margin-bottom: 30px !important;
  }

  .mb35-sp {
    margin-bottom: 35px !important;
  }

  .mb40-sp {
    margin-bottom: 40px !important;
  }

  .mb45-sp {
    margin-bottom: 45px !important;
  }

  .mb50-sp {
    margin-bottom: 50px !important;
  }

  .mt0-sp {
    margin-top: 0px !important;
  }

  .mt5-sp {
    margin-top: 5px !important;
  }

  .mt10-sp {
    margin-top: 10px !important;
  }

  .mt15-sp {
    margin-top: 15px !important;
  }

  .mt20-sp {
    margin-top: 20px !important;
  }

  .mt25-sp {
    margin-top: 25px !important;
  }

  .mt30-sp {
    margin-top: 30px !important;
  }

  .mt35-sp {
    margin-top: 35px !important;
  }

  .mt40-sp {
    margin-top: 40px !important;
  }

  .mt45-sp {
    margin-top: 45px !important;
  }

  .mt50-sp {
    margin-top: 50px !important;
  }

  .ml0-sp {
    margin-left: 0px !important;
  }

  .ml5-sp {
    margin-left: 5px !important;
  }

  .ml10-sp {
    margin-left: 10px !important;
  }

  .ml15-sp {
    margin-left: 15px !important;
  }

  .ml20-sp {
    margin-left: 20px !important;
  }

  .ml25-sp {
    margin-left: 25px !important;
  }

  .ml30-sp {
    margin-left: 30px !important;
  }

  .ml35-sp {
    margin-left: 35px !important;
  }

  .ml40-sp {
    margin-left: 40px !important;
  }

  .ml45-sp {
    margin-left: 45px !important;
  }

  .ml50-sp {
    margin-left: 50px !important;
  }

  .mr0-sp {
    margin-right: 0px !important;
  }

  .mr5-sp {
    margin-right: 5px !important;
  }

  .mr10-sp {
    margin-right: 10px !important;
  }

  .mr15-sp {
    margin-right: 15px !important;
  }

  .mr20-sp {
    margin-right: 20px !important;
  }

  .mr25-sp {
    margin-right: 25px !important;
  }

  .mr30-sp {
    margin-right: 30px !important;
  }

  .mr35-sp {
    margin-right: 35px !important;
  }

  .mr40-sp {
    margin-right: 40px !important;
  }

  .mr45-sp {
    margin-right: 45px !important;
  }

  .mr50-sp {
    margin-right: 50px !important;
  }

  /*base:20px*/
  .mtx6 {
    margin-top: 60px !important;
  }

  .mtx5 {
    margin-top: 50px !important;
  }

  .mtx4 {
    margin-top: 40px !important;
  }

  .mtx3 {
    margin-top: 30px !important;
  }

  .mtx2 {
    margin-top: 20px !important;
  }

  .mtx1 {
    margin-top: 10px !important;
  }

  .mtx-05 {
    margin-top: 5px !important;
  }

  .mtx6SP {
    margin-top: 60px !important;
  }

  .mtx5SP {
    margin-top: 50px !important;
  }

  .mtx4SP {
    margin-top: 40px !important;
  }

  .mtx3SP {
    margin-top: 30px !important;
  }

  .mtx2SP {
    margin-top: 20px !important;
  }

  .mtx1SP {
    margin-top: 10px !important;
  }

  .mtx-05SP {
    margin-top: 5px !important;
  }

  /*padding*/
  .pb0-sp {
    padding-bottom: 0px !important;
  }

  .pb5-sp {
    padding-bottom: 5px !important;
  }

  .pb10-sp {
    padding-bottom: 10px !important;
  }

  .pb15-sp {
    padding-bottom: 15px !important;
  }

  .pb20-sp {
    padding-bottom: 20px !important;
  }

  .pb25-sp {
    padding-bottom: 25px !important;
  }

  .pb30-sp {
    padding-bottom: 30px !important;
  }

  .pb35-sp {
    padding-bottom: 35px !important;
  }

  .pb40-sp {
    padding-bottom: 40px !important;
  }

  .pb45-sp {
    padding-bottom: 45px !important;
  }

  .pb50-sp {
    padding-bottom: 50px !important;
  }

  .pt0-sp {
    padding-top: 0px !important;
  }

  .pt5-sp {
    padding-top: 5px !important;
  }

  .pt10-sp {
    padding-top: 10px !important;
  }

  .pt15-sp {
    padding-top: 15px !important;
  }

  .pt20-sp {
    padding-top: 20px !important;
  }

  .pt25-sp {
    padding-top: 25px !important;
  }

  .pt30-sp {
    padding-top: 30px !important;
  }

  .pt35-sp {
    padding-top: 35px !important;
  }

  .pt40-sp {
    padding-top: 40px !important;
  }

  .pt45-sp {
    padding-top: 45px !important;
  }

  .pt50-sp {
    padding-top: 50px !important;
  }

  .pl0-sp {
    padding-left: 0px !important;
  }

  .pl5-sp {
    padding-left: 5px !important;
  }

  .pl10-sp {
    padding-left: 10px !important;
  }

  .pl15-sp {
    padding-left: 15px !important;
  }

  .pl20-sp {
    padding-left: 20px !important;
  }

  .pl25-sp {
    padding-left: 25px !important;
  }

  .pl30-sp {
    padding-left: 30px !important;
  }

  .pl35-sp {
    padding-left: 35px !important;
  }

  .pl40-sp {
    padding-left: 40px !important;
  }

  .pl45-sp {
    padding-left: 45px !important;
  }

  .pl50-sp {
    padding-left: 50px !important;
  }

  .pr0-sp {
    padding-right: 0px !important;
  }

  .pr5-sp {
    padding-right: 5px !important;
  }

  .pr10-sp {
    padding-right: 10px !important;
  }

  .pr15-sp {
    padding-right: 15px !important;
  }

  .pr20-sp {
    padding-right: 20px !important;
  }

  .pr25-sp {
    padding-right: 25px !important;
  }

  .pr30-sp {
    padding-right: 30px !important;
  }

  .pr35-sp {
    padding-right: 35px !important;
  }

  .pr40-sp {
    padding-right: 40px !important;
  }

  .pr45-sp {
    padding-right: 45px !important;
  }

  .pr50-sp {
    padding-right: 50px !important;
  }
}

/*---------------------------------
*FLOAT/FIG
-----------------------------------*/
.figL {
  float: left !important;
}

.figR {
  float: right !important;
}

.clear {
  clear: both !important;
}

.figC {
  margin-left: auto !important;
  margin-right: auto !important;
}

.layoutC {
  text-align: center !important;
}

.layoutR {
  text-align: right !important;
}

.layoutL {
  text-align: left !important;
}

@media screen and (max-width: 767px) {
  .layoutCsp {
    text-align: center !important;
  }

  .layoutRsp {
    text-align: right !important;
  }

  .layoutLsp {
    text-align: left !important;
  }
}

/*---------------------------------
*clearfix
-----------------------------------*/
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*/
  /*/
height: auto;
overflow: hidden;
/**/
}

/*---------------------------------
*HIDE/SHOW
-----------------------------------*/
.spOnly {
  display: none;
}

.spOnlyI {
  display: none;
}

.pcOnly {
  display: block;
}

.pcOnlyI {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .spOnly {
    display: block;
  }

  .spOnlyI {
    display: inline-block;
  }

  .pcOnly {
    display: none;
  }

  .pcOnlyI {
    display: none;
  }
}

/*---------------------------------
*OVERLAY
-----------------------------------*/
#overlay {
  z-index: 14;
  cursor: pointer;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.5);
}

/*---------------------------------
*SINGLE
-----------------------------------*/
em {
  -webkit-transform: skewX(-15deg);
  -moz-transform: skewX(-15deg);
  -o-transform: skewX(-15deg);
  transform: skewX(-15deg);
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=-0.26794919243112214, M21=0, M22=1, SizingMethod='auto expand')";
  display: block;
}

/*---------------------------------
*ORIGINAL
-----------------------------------*/
/*uniqueBG01*/
.uniqueBG01 {
  background: url("/jp/teraoka-kansai/recruit/img/bg_data_01.png") no-repeat center bottom;
  width: 423px;
  background-size: 100% auto;
  padding-bottom: 50px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/*uniqueBG02*/
.uniqueBG02 {
  background: url("/jp/teraoka-kansai/recruit/img/bg_data_02.png") no-repeat center bottom;
  width: 423px;
  background-size: 100% auto;
  padding-bottom: 50px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/*newGBox*/
.newGBox {
  text-align: center;
  padding: 70px 0 0 0;
  background: url(/jp/teraoka-kansai/recruit/img/thumb_entryg_001.png) no-repeat 0 0;
  background-size: 100% auto;
  min-height: 780px;
  margin-bottom: -60px;
}

.newGBox h2 {
  font-size: 3rem;
  color: #932d83;
  font-weight: bold;
}

/*leadBtn*/
.leadBtn01 {
  text-align: center;
  padding: 40px 0 0 0;
  background-size: 100% aut;
  min-height: 100px;
  margin-bottom: 30px;
}

.leadBtn02 {
  text-align: left;
  padding: 40px 0 0 0;
  background-size: 100% aut;
  min-height: 100px;
  margin-bottom: 30px;
}


/*mapLinkWrap*/
.mapLinkWrap {
  position: relative;
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_1.png), url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_2.png), url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_3.png), url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_4.png), url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_5.png), url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_6.png), url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_7.png), url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link.png);
  background-size: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, auto;
  background-position: 0 0;
  background-repeat: no-repeat;
}

.mapLinkWrap .notice {
  position: absolute;
  top: 0;
  left: 0;
}

.mapLinkWrap img {
  position: relative;
  z-index: 1;
}

.mapLinkWrap.hokkaido_tohoku {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_1.png) no-repeat 0 0;
}

.mapLinkWrap.kanto {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_2.png) no-repeat 0 0;
}

.mapLinkWrap.chubu {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_3.png) no-repeat 0 0;
}

.mapLinkWrap.kansai {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_4.png) no-repeat 0 0;
}

.mapLinkWrap.chugoku {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_5.png) no-repeat 0 0;
}

.mapLinkWrap.shikoku {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_6.png) no-repeat 0 0;
}

.mapLinkWrap.kyushu_okinawa {
  background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_7.png) no-repeat 0 0;
}


@media screen and (max-width: 767px) {

  /*uniqueBG01*/
  .uniqueBG01 {
    background: url("/jp/teraoka-kansai/recruit/img/bg_data_01.png") no-repeat center bottom;
    width: 100%;
    background-size: 100% auto;
    padding-bottom: 30px;
  }

  .uniqueBG02 {
    background: url("/jp/teraoka-kansai/recruit/img/bg_data_02.png") no-repeat center bottom;
    width: 100%;
    background-size: 100% auto;
    padding-bottom: 30px;
  }

  /*newGBox*/
  .newGBox {
    padding: 35px 0 0 0;
    background: url(/jp/teraoka-kansai/recruit/img/thumb_entryg_001_sp.png) no-repeat 0 0;
    background-size: 100% auto;
    min-height: 500px;
    margin-bottom: 0;
    font-size: 1.2rem;
  }

  .newGBox h2 {
    font-size: 1.9rem;
    line-height: 1.6;
  }

  .newGBox .gdBtn01 {
    font-size: 1.4rem;
  }

  /*leadBtn*/
  .leadBtn01 {
    padding: 0;
    background-size: 100% auto;
    min-height: 100px;
    margin-bottom: 5px;
  }

  .dataBtn01 a {
    font-size: 1.4rem;
    padding: 14px 30px 14px 30px;
  }

  .leadBtn02 {
    padding: 15px 0 0 0;
    background-size: 100% auto;
    min-height: 100px;
    margin-bottom: 5px;
  }

  .dataBtn02 a {
    font-size: 1.4rem;
    padding: 14px 30px 14px 30px;
  }

  /*mapLinkWrap*/
  .mapLinkWrap {
    position: relative;
    background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link.png) no-repeat 0 5rem;
    background-size: 100% auto;
    margin-bottom: 30px;
  }

  .mapLinkWrap .notice {
    position: absolute;
    top: 0;
    left: 0;
  }

  .mapLinkWrap img {
    position: relative;
    z-index: 1;
    width: 100%;
    margin-top: 5rem;
  }

  .mapLinkWrap.hokkaido_tohoku {
    background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_1.png) no-repeat 0 5rem;
    background-size: 100% auto;
  }

  .mapLinkWrap.kanto {
    background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_2.png) no-repeat 0 5rem;
    background-size: 100% auto;
  }

  .mapLinkWrap.chubu {
    background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_3.png) no-repeat 0 5rem;
    background-size: 100% auto;
  }

  .mapLinkWrap.kansai {
    background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_4.png) no-repeat 0 5rem;
    background-size: 100% auto;
  }

  .mapLinkWrap.chugoku {
    background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_5.png) no-repeat 0 5rem;
    background-size: 100% auto;
  }

  .mapLinkWrap.shikoku {
    background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_6.png) no-repeat 0 5rem;
    background-size: 100% auto;
  }

  .mapLinkWrap.kyushu_okinawa {
    background: url(/jp/teraoka-kansai/recruit/entry/img/bg_map_link_cur_7.png) no-repeat 0 5rem;
    background-size: 100% auto;
  }
}

/*--------------------------------
*POPUP
---------------------------------*/
.pop-open {
  cursor: pointer;
  text-decoration: underline;
  color: #932d83;
}

/* マウスオーバーでカーソルの形状を変える */
#pop-up {
  display: none;
}

/* label でコントロールするので input は非表示に */
.pop-overlay {
  display: none;
}

/* input にチェックが入るまでは非表示に */
#pop-up:checked+.pop-overlay {
  display: block;
  z-index: 9999;
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
}

.pop-window {
  width: 75%;
  height: 75%;
  background-color: #ffffff;
  border-radius: 6px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overflow: scroll;
  overflow-x: hidden;
}

.pop-text {
  font-size: 1.4rem;
  padding: 0 20px 0;
  text-align: left;
}

.pop-th {
  font-size: 1.4rem;
  line-height: 1.25;
  text-align: center;
  padding: 0.5em;
  border: 1px solid #000;
  color: #FF9800;
  background: #fff5e5;
  font-weight: bold;
}

.pop-td {
  font-size: 1.4rem;
  line-height: 1.25;
  text-align: center;
  padding: 0.5em;
  border: 1px solid #000;
}

.pop-close {
  cursor: pointer;
  position: fixed;
  font-size: 2.0rem;
  top: calc(12.5% - 4.0rem);
  right: 12.5%;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .pop-open {
    cursor: pointer;
    text-decoration: underline;
    color: #932d83;
  }

  /* マウスオーバーでカーソルの形状を変える */
  #pop-up {
    display: none;
  }

  /* label でコントロールするので input は非表示に */
  .pop-overlay {
    display: none;
  }

  /* input にチェックが入るまでは非表示に */
  #pop-up:checked+.pop-overlay {
    display: block;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.8);
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
  }

  .pop-window {
    width: 90%;
    height: 80%;
    background-color: #ffffff;
    border-radius: 6px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: scroll;
    overflow-x: hidden;
  }

  .pop-text {
    font-size: 1.2rem;
    padding: 0 7px 0;
    text-align: left;
  }

  .pop-th {
    font-size: 1.2rem;
    line-height: 1.25;
    text-align: center;
    padding: 0.5em;
    border: 1px solid #000;
    color: #FF9800;
    background: #fff5e5;
    font-weight: bold;
  }

  .pop-td {
    font-size: 1.2rem;
    line-height: 1.25;
    text-align: center;
    padding: 0.5em;
    border: 1px solid #000;
  }

  .pop-close {
    cursor: pointer;
    position: fixed;
    font-size: 2.0rem;
    top: calc(10% - 4.0rem);
    right: 5%;
    color: #fff;
  }
}


/* ===============================
   トップメッセージ：写真と文章の横並び
   =============================== */

.topMessageBox {
  overflow: hidden;
  /* floatの回り込み解除 */
  margin-top: 30px;
}

.topMessagePhoto {
  float: left;
  width: 260px;
  margin-right: 40px;
}

.topMessagePhoto img {
  width: 100%;
  height: auto;
  display: block;
}

.topMessageText {
  overflow: hidden;
  /* float解除＆右側を自動幅に */
  font-size: 1.6rem;
  line-height: 2;
  color: #333;
}

.topMessageText p {
  margin-bottom: 1.5em;
}

.topMessageText .presidentName {
  text-align: right;
  margin-top: 2em;
  font-weight: bold;
}

/* =====================================
   interview triangle decoration
===================================== */
.interviewDeco {
  position: relative;
}

.interviewDeco--leftTop::before,
.interviewDeco--rightTop::after {
  content: "";
  position: absolute;
  width: 40px;
  height: 40px;
  background-repeat: no-repeat;
  background-size: 40px 40px;
  pointer-events: none;
  z-index: 2;
}

.interviewDeco--leftTop::before {
  top: 0;
  left: 0;
  background-image: url(/jp/teraoka-kansai/recruit/interview/img/thumb_interview_01.svg);
}

.interviewDeco--rightTop::after {
  top: 0;
  right: 0;
  background-image: url(/jp/teraoka-kansai/recruit/interview/img/thumb_interview_02.svg);
}

.interviewLeadBlock {
  position: relative;
  display: block;
  padding-top: 46px;
}

.interviewLeadBlock.interviewDeco--leftTop::before {
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {

  .interviewDeco--leftTop::before,
  .interviewDeco--rightTop::after {
    width: 28px;
    height: 28px;
    background-size: 28px 28px;
  }

  .interviewLeadBlock {
    padding-top: 34px;
  }
}

/* =====================================
   interview other members section
===================================== */
.interviewOtherSection {
  background: #f5eaf4;
  padding: 56px 40px 60px;
}

.interviewOtherSection .indentLine02 {
  margin-top: 0;
  text-align: center;
}

.interviewOtherSection .thumbList02 {
  margin: 30px auto 0;
}

.interviewOtherSection .thumbList02 li {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .interviewOtherSection {
    padding: 30px 20px 35px;
  }

  .interviewOtherSection .thumbList02 {
    margin-top: 20px;
  }
}

/* =====================================
   トップメッセージ：スマホ時の写真回り込み調整
===================================== */
@media screen and (max-width: 767px) {
  .topMessageBox {
    overflow: visible;
    margin-top: 25px;
  }

  .topMessagePhoto {
    float: left;
    width: 50%;
    margin: 0 18px 10px 0;
  }

  .topMessagePhoto img {
    width: 100%;
    height: auto;
    display: block;
  }

  .topMessageText {
    display: block;
    overflow: visible;
    font-size: 1.3rem;
    line-height: 2;
  }

  .topMessageText p {
    margin-top: 0;
    margin-bottom: 1.2em;
  }

  .topMessageText .presidentName {
    clear: both;
    text-align: right;
    margin-top: 1.5em;
  }
}


/* =====================================
   interview：スマホ時の三角と本文の重なり回避
===================================== */
@media screen and (max-width: 767px) {

  .thumbBlock01 .textCell.interviewDeco,
  .thumbBlock02 .textCell.interviewDeco {
    padding-top: 34px;
  }

  .thumbBlock01 .textCell.interviewDeco--rightTop::after,
  .thumbBlock02 .textCell.interviewDeco--rightTop::after,
  .thumbBlock01 .textCell.interviewDeco--leftTop::before,
  .thumbBlock02 .textCell.interviewDeco--leftTop::before {
    top: 0;
  }
}


/* =====================================
   参加ビジネスフェア：スマホ時の月表示重なり修正
===================================== */
@media screen and (max-width: 767px) {
  .proCell .textCell .proNum01 {
    position: relative;
    top: auto;
    left: auto;
    display: inline-flex;
    margin-bottom: 18px;
    padding: 8px 34px 8px 28px;
    z-index: 1;
  }

  .proCell .textCell .ttl {
    margin-top: 0;
    clear: both;
  }

  .proCell .textCell .lead {
    margin-top: 12px;
  }
}

/* =====================================
   参加ビジネスフェア：スマホ時の月表示を左端に寄せる
===================================== */
@media screen and (max-width: 767px) {
  .proCell .textCell .proNum01 {
    margin-left: -20px;
  }
}