/*  #mainImg
================================================ */
#mainImg { background: url(../img/privacy/bg_main01_sp.png) no-repeat center; background-size: cover; }

@media screen and (min-width: 600px) { #mainImg { background: url(../img/privacy/bg_main01_pc.png) no-repeat center; background-size: cover; } }

/*  .secPrivacy
================================================ */
.secPrivacy .inner { padding-top: 30px; }

.secPrivacy .list { margin-top: 25px; }

.secPrivacy .list .item { position: relative; padding-left: 25px; }

.secPrivacy .list .item + .item { margin-top: 25px; }

.secPrivacy .list .item span { position: absolute; top: -1px; left: 0; font-style: italic; font-size: 1.5rem; font-weight: bold; }

.secPrivacy .subList { margin-top: 25px; }

.secPrivacy .subList .subItem { text-indent: -2em; padding-left: 20px; }

.secPrivacy .subList .subItem + .subItem { margin-top: 30px; }

.secPrivacy .subList .subItem dl { text-indent: 0; }

.secPrivacy .subList .subItem dl + dl { margin-top: 20px; }

.secPrivacy .table { margin-top: 20px; border-top: 1px solid  #e7e7e7; border-left: 1px solid  #e7e7e7; border-bottom: 1px solid  #e7e7e7; }

.secPrivacy .table th { vertical-align: middle; background-color: #b3bfc8; border-right: 1px solid  #e7e7e7; border-bottom: 1px solid  #edf1f4; padding: 13px 0; font-size: 1.4rem; color: #fff; text-align: center; }

.secPrivacy .table th:nth-of-type(1) { width: 15%; }

.secPrivacy .table th:nth-of-type(2) { width: 35%; }

.secPrivacy .table th:nth-of-type(3) { width: 50%; }

.secPrivacy .table td { vertical-align: middle; border-right: 1px solid  #e7e7e7; border-bottom: 1px solid  #edf1f4; padding: 10px 14px; font-size: 1.4rem; color: #003873; line-height: 1.85; text-align: center; }

.secPrivacy .table td:last-of-type { text-align: left; }

.secPrivacy .subTit { background: #dde7ee; border-left: 4px solid #0051a6; margin-top: 25px; padding: 10px 21px; font-size: 1.7rem; line-height: 1.52941; color: #003873; font-weight: bold; }

.secPrivacy .txt { margin-top: 30px; }

.secPrivacy .txt .cat { font-weight: 900; }

.secPrivacy .info { background-color: #fff; padding: 5px 25px 30px; }

.secPrivacy .info dl { margin-top: 30px; }

.secPrivacy .info dl dt span { padding-bottom: 2px; border-bottom: 1px solid #003873; line-height: 1.8; font-weight: bold; }

.secPrivacy .info dl dd { margin-top: 5px; }

.secPrivacy .areaName { margin-top: 20px; }

.secPrivacy .areaName .sign { display: inline-block; float: right; }

.secPrivacy .areaName .date { margin-bottom: 15px; }

.secPrivacy .areaName .company { font-size: 1.3rem; }

.secPrivacy .areaName .name span { display: inline-block; position: relative; padding-right: 2px; vertical-align: baseline; }

.secPrivacy .areaName .name .large { font-size: 2rem; font-weight: 700; }

.secPrivacy .areaName .name .nameImg { display: inline-block; width: 92px; }

@media screen and (min-width: 600px) { .secPrivacy .inner { padding-top: 90px; }
  .secPrivacy .list { margin-top: 40px; }
  .secPrivacy .list .item { padding-left: 30px; }
  .secPrivacy .list .item span { top: -4px; font-size: 2rem; }
  .secPrivacy .table { margin-top: 30px; }
  .secPrivacy .table th { padding: 21px 0; font-size: 1.6rem; }
  .secPrivacy .table th:nth-of-type(1) { width: 120px; }
  .secPrivacy .table th:nth-of-type(2) { width: 200px; }
  .secPrivacy .table th:nth-of-type(3) { width: auto; }
  .secPrivacy .table td { padding: 21px 14px; font-size: 1.6rem; }
  .secPrivacy .subTit { margin-top: 45px; padding: 12px 28px; font-size: 2.4rem; }
  .secPrivacy .info { padding: 15px 60px 60px; }
  .secPrivacy .areaName { margin-top: 35px; }
  .secPrivacy .areaName .date { margin-top: 0; margin-bottom: 35px; }
  .secPrivacy .areaName .company { font-size: 1.6rem; }
  .secPrivacy .areaName .name span { padding-right: 0; }
  .secPrivacy .areaName .name .large { font-size: 2.6rem; }
  .secPrivacy .areaName .name .nameImg { width: 120px; } }

/*  #policy
================================================ */
#policy { background: url(../img/common/bg_patter02.png) repeat; background-size: 18px 18px; margin: 0 -25px; padding: 12px 25px; }

#policy .inner { padding-top: 20px; padding-bottom: 20px; }

#policy .introBox { background: #fff; box-shadow: 0px 1px 10px 0px rgba(0, 0, 0, 0.15); padding: 5px 25px 30px; }

@media screen and (min-width: 600px) { #policy { background: url(../img/common/bg_patter02.png) repeat; background-size: 36px 36px; margin: 0 -200%; padding: 30px 200%; }
  #policy .inner { padding-top: 70px; padding-bottom: 20px; }
  #policy .introBox { margin-top: 60px; padding: 30px 60px 50px; } }

/*  .box
================================================ */
.box { margin-top: 45px; background-color: #dde7ee; }

@media screen and (min-width: 600px) { .box { margin-top: 70px; } }

/*  #authorization
================================================ */
#authorization .inner { padding-top: 45px; }

@media screen and (min-width: 600px) { #authorization .inner { padding-top: 75px; } }

/*  #mark
================================================ */
#mark .inner { padding-top: 45px; padding-bottom: 40px; }

@media screen and (min-width: 600px) { #mark .inner { padding-top: 90px; padding-bottom: 80px; } }

/*  #recruit
================================================ */
#recruit .list .item b {font-weight: bold;}
#recruit .dlist {background-color: #edf1f4; padding: 16px 20px; margin-top: 20px; }
#recruit .dlist .term {font-weight: bold; font-size: 1.5rem;}
#recruit .btnBox {margin-top: 30px; border: 3px solid #003873;}
#recruit .btnBox .box {margin-top: 0; padding: 16px 30px; background: none; display: none;}
#recruit .btnBox .btn {background-color: #003873; outline: none; cursor: pointer; color: #fff; font-size: 1.5rem; font-weight: bold; padding: 9px 0; text-align: center; border: 3px solid #003873; width: 100%; position: relative;}
#recruit .btnBox .btn .ico {width: 15px; height: 15px; position: absolute; top: 22px; right: 15px;}
#recruit .btnBox .btn .ico::before, #recruit .btnBox .btn .ico::after {content: ''; display: block; position: absolute; background-color: #fff;}
#recruit .btnBox .btn .ico::before {width: 100%; height: 1px; top: 7px; left: 0; right: 0;}
#recruit .btnBox .btn .ico::after {width: 1px; height: 100%; top: 0; bottom: 0; left: 7px; transition: all .2s ease;}
#recruit .btnBox .btn.on .ico::after {transform: rotate(90deg); transform-origin: center;}
#recruit .access { border-bottom: 1px solid #e7e7e7;}
#recruit .btnBox .subTit { border: 1px solid #003873; background-color: #fff; padding: 3px 0; font-size: 1rem; color: #003873; letter-spacing: 0.1em; text-align: center; margin-top: 0;}
#recruit .accessBox { display: table; margin-top: 10px; padding-bottom: 22px;}
#recruit .accessTit { display: table-cell; width: 64px; border-radius: 10px; background-color: #003873; padding: 5px 0; vertical-align: middle; font-size: 1.4rem; color: #fff; letter-spacing: 0.1em; text-align: center; }
#recruit .accessTxt { display: table-cell; vertical-align: middle; padding-left: 10px; font-size: 1.4rem; line-height: 1.45; color: #003873; font-weight: bold; }
#recruit .areaTel { padding-top: 19px; }
#recruit .telBox { box-shadow: 0px 2px 18px 2px rgba(0, 0, 0, 0.15), inset 0px -6px 0px 0px rgba(181, 193, 202, 0.004); border-radius: 5px; margin-top: 9px; border: 1px solid #003873; text-align: center; }
#recruit .telBox a { display: block; padding: 7px 0 3px; text-decoration: none; }
#recruit .telBox a span { position: relative; text-align: center; padding-left: 32px; font-size: 2.8rem; color: #003873; font-weight: bold; letter-spacing: 0; }
#recruit .telBox a span:before { content: ""; display: block; position: absolute; top: 50%; left: 8px; width: 18px; height: 22px; margin-top: -11px; background: url(../img/common/ico_tel02.png) no-repeat center; background-size: 100%; }

@media screen and (min-width: 600px) {
  #recruit .dlist {padding: 30px; margin-top: 30px;}
  #recruit .btnBox {width: 650px; margin: 50px auto 0;}
  #recruit .btnBox .box {padding: 24px 26px;}
  #recruit .btnBox .boxInner {display: flex; justify-content: space-between;}
  #recruit .btnBox .subTit {font-size: 1.4rem;}
  #recruit .telBox {border: none; box-shadow: none;}
  #recruit .access {width: 288px; border-bottom: none;}
  #recruit .areaTel {width: 288px; padding-top: 0;}
  #recruit .telBox a span {font-size: 3.8rem; padding-left: 46px;}
  #recruit .telBox a span:before {width: 24px; height: 36px; top: 17px;}
}