@charset "UTF-8";
/*==================================================
* Basic
==================================================*/
.pageMain {
  font-family: "Helvetica Neue", Helvetica, Arial, a-otf-gothic-bbb-pr6n, -apple-system, BlinkMacSystemFont, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  color: #000;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 1px;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box; }
  .pageMain *,
  .pageMain *:before,
  .pageMain *:after {
    box-sizing: border-box; }
  .pageMain h1, .pageMain h2, .pageMain h3, .pageMain h4 {
    letter-spacing: 2px; }

h1, h2, h3, h4 {
  line-height: 1.25; }

ul, li {
  list-style: none; }

a {
  text-decoration: none;
  color: initial; }

img {
  vertical-align: bottom;
  border: 0px;
  max-width: 100%;
  height: auto; }

input, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit;
  border: 1px solid #aaa;
  width: 100%;
  max-width: 100%;
  padding: 8px;
  margin: 8px 0 16px; }

input[type="radio"] {
  border: none;
  width: inherit;
  max-width: 100%;
  padding: 0; }

.clearfix:after {
  content: "";
  display: table;
  clear: both; }

/*==================================================
* layout
==================================================*/
@media screen and (max-width: 835px) {
  .pc-only {
    display: none !important; } }

@media screen and (min-width: 836px) {
  .sp-only {
    display: none !important; } }

@media screen and (min-width: 520px) {
  .max520-only {
    display: none !important; } }

.alignleft {
  float: left;
  margin-right: 12px;
  max-width: 50%; }

.alignright {
  float: right;
  margin-left: 12px;
  max-width: 50%; }

.aligncenter {
  text-align: center;
  display: block;
  margin-left: auto;
  margin-right: auto; }

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

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

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

.d-ib {
  display: inline-block !important; }

.d-block {
  display: block !important; }

.d-flex {
  display: -ms-flexbox !important;
  display: flex !important;
  -ms-flex-align: center;
      align-items: center; }
  .d-flex--wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .d-flex--between {
    -ms-flex-pack: justify;
        justify-content: space-between; }

.lh-0 {
  line-height: 0 !important; }

.lh-1 {
  line-height: 1 !important; }

.lh-125 {
  line-height: 1.25 !important; }

.lh-15 {
  line-height: 1.5 !important; }

.lh-2 {
  line-height: 2 !important; }

.m-0 {
  margin: 0 !important; }

.mt-0,
.my-0 {
  margin-top: 0 !important; }

.mr-0,
.mx-0 {
  margin-right: 0 !important; }

.mb-0,
.my-0 {
  margin-bottom: 0 !important; }

.ml-0,
.mx-0 {
  margin-left: 0 !important; }

.m-05 {
  margin: 2.5px !important; }

.mt-05,
.my-05 {
  margin-top: 2.5px !important; }

.mr-05,
.mx-05 {
  margin-right: 2.5px !important; }

.mb-05,
.my-05 {
  margin-bottom: 2.5px !important; }

.ml-05,
.mx-05 {
  margin-left: 2.5px !important; }

.m-1 {
  margin: 5px !important; }

.mt-1,
.my-1 {
  margin-top: 5px !important; }

.mr-1,
.mx-1 {
  margin-right: 5px !important; }

.mb-1,
.my-1 {
  margin-bottom: 5px !important; }

.ml-1,
.mx-1 {
  margin-left: 5px !important; }

.m-2 {
  margin: 10px !important; }

.mt-2,
.my-2 {
  margin-top: 10px !important; }

.mr-2,
.mx-2 {
  margin-right: 10px !important; }

.mb-2,
.my-2 {
  margin-bottom: 10px !important; }

.ml-2,
.mx-2 {
  margin-left: 10px !important; }

.m-3 {
  margin: 15px !important; }

.mt-3,
.my-3 {
  margin-top: 15px !important; }

.mr-3,
.mx-3 {
  margin-right: 15px !important; }

.mb-3,
.my-3 {
  margin-bottom: 15px !important; }

.ml-3,
.mx-3 {
  margin-left: 15px !important; }

.m-4 {
  margin: 20px !important; }

.mt-4,
.my-4 {
  margin-top: 20px !important; }

.mr-4,
.mx-4 {
  margin-right: 20px !important; }

.mb-4,
.my-4 {
  margin-bottom: 20px !important; }

.ml-4,
.mx-4 {
  margin-left: 20px !important; }

.m-5 {
  margin: 25px !important; }

.mt-5,
.my-5 {
  margin-top: 25px !important; }

.mr-5,
.mx-5 {
  margin-right: 25px !important; }

.mb-5,
.my-5 {
  margin-bottom: 25px !important; }

.ml-5,
.mx-5 {
  margin-left: 25px !important; }

.m-6 {
  margin: 30px !important; }

.mt-6,
.my-6 {
  margin-top: 30px !important; }

.mr-6,
.mx-6 {
  margin-right: 30px !important; }

.mb-6,
.my-6 {
  margin-bottom: 30px !important; }

.ml-6,
.mx-6 {
  margin-left: 30px !important; }

.m-7 {
  margin: 35px !important; }

.mt-7,
.my-7 {
  margin-top: 35px !important; }

.mr-7,
.mx-7 {
  margin-right: 35px !important; }

.mb-7,
.my-7 {
  margin-bottom: 35px !important; }

.ml-7,
.mx-7 {
  margin-left: 35px !important; }

.m-8 {
  margin: 40px !important; }

.mt-8,
.my-8 {
  margin-top: 40px !important; }

.mr-8,
.mx-8 {
  margin-right: 40px !important; }

.mb-8,
.my-8 {
  margin-bottom: 40px !important; }

.ml-8,
.mx-8 {
  margin-left: 40px !important; }

.m-9 {
  margin: 45px !important; }

.mt-9,
.my-9 {
  margin-top: 45px !important; }

.mr-9,
.mx-9 {
  margin-right: 45px !important; }

.mb-9,
.my-9 {
  margin-bottom: 45px !important; }

.ml-9,
.mx-9 {
  margin-left: 45px !important; }

.m-10 {
  margin: 50px !important; }

.mt-10,
.my-10 {
  margin-top: 50px !important; }

.mr-10,
.mx-10 {
  margin-right: 50px !important; }

.mb-10,
.my-10 {
  margin-bottom: 50px !important; }

.ml-10,
.mx-10 {
  margin-left: 50px !important; }

.m-11 {
  margin: 55px !important; }

.mt-11,
.my-11 {
  margin-top: 55px !important; }

.mr-11,
.mx-11 {
  margin-right: 55px !important; }

.mb-11,
.my-11 {
  margin-bottom: 55px !important; }

.ml-11,
.mx-11 {
  margin-left: 55px !important; }

.m-12 {
  margin: 60px !important; }

.mt-12,
.my-12 {
  margin-top: 60px !important; }

.mr-12,
.mx-12 {
  margin-right: 60px !important; }

.mb-12,
.my-12 {
  margin-bottom: 60px !important; }

.ml-12,
.mx-12 {
  margin-left: 60px !important; }

.p-0 {
  padding: 0 !important; }

.pt-0,
.py-0 {
  padding-top: 0 !important; }

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

.pb-0,
.py-0 {
  padding-bottom: 0 !important; }

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

.p-05 {
  padding: 2.5px !important; }

.pt-05,
.py-05 {
  padding-top: 2.5px !important; }

.pr-05,
.px-05 {
  padding-right: 2.5px !important; }

.pb-05,
.py-05 {
  padding-bottom: 2.5px !important; }

.pl-05,
.px-05 {
  padding-left: 2.5px !important; }

.p-1 {
  padding: 5px !important; }

.pt-1,
.py-1 {
  padding-top: 5px !important; }

.pr-1,
.px-1 {
  padding-right: 5px !important; }

.pb-1,
.py-1 {
  padding-bottom: 5px !important; }

.pl-1,
.px-1 {
  padding-left: 5px !important; }

.p-2 {
  padding: 10px !important; }

.pt-2,
.py-2 {
  padding-top: 10px !important; }

.pr-2,
.px-2 {
  padding-right: 10px !important; }

.pb-2,
.py-2 {
  padding-bottom: 10px !important; }

.pl-2,
.px-2 {
  padding-left: 10px !important; }

.p-3 {
  padding: 15px !important; }

.pt-3,
.py-3 {
  padding-top: 15px !important; }

.pr-3,
.px-3 {
  padding-right: 15px !important; }

.pb-3,
.py-3 {
  padding-bottom: 15px !important; }

.pl-3,
.px-3 {
  padding-left: 15px !important; }

.p-4 {
  padding: 20px !important; }

.pt-4,
.py-4 {
  padding-top: 20px !important; }

.pr-4,
.px-4 {
  padding-right: 20px !important; }

.pb-4,
.py-4 {
  padding-bottom: 20px !important; }

.pl-4,
.px-4 {
  padding-left: 20px !important; }

.p-5 {
  padding: 25px !important; }

.pt-5,
.py-5 {
  padding-top: 25px !important; }

.pr-5,
.px-5 {
  padding-right: 25px !important; }

.pb-5,
.py-5 {
  padding-bottom: 25px !important; }

.pl-5,
.px-5 {
  padding-left: 25px !important; }

.p-6 {
  padding: 30px !important; }

.pt-6,
.py-6 {
  padding-top: 30px !important; }

.pr-6,
.px-6 {
  padding-right: 30px !important; }

.pb-6,
.py-6 {
  padding-bottom: 30px !important; }

.pl-6,
.px-6 {
  padding-left: 30px !important; }

.p-7 {
  padding: 35px !important; }

.pt-7,
.py-7 {
  padding-top: 35px !important; }

.pr-7,
.px-7 {
  padding-right: 35px !important; }

.pb-7,
.py-7 {
  padding-bottom: 35px !important; }

.pl-7,
.px-7 {
  padding-left: 35px !important; }

.p-8 {
  padding: 40px !important; }

.pt-8,
.py-8 {
  padding-top: 40px !important; }

.pr-8,
.px-8 {
  padding-right: 40px !important; }

.pb-8,
.py-8 {
  padding-bottom: 40px !important; }

.pl-8,
.px-8 {
  padding-left: 40px !important; }

.p-9 {
  padding: 45px !important; }

.pt-9,
.py-9 {
  padding-top: 45px !important; }

.pr-9,
.px-9 {
  padding-right: 45px !important; }

.pb-9,
.py-9 {
  padding-bottom: 45px !important; }

.pl-9,
.px-9 {
  padding-left: 45px !important; }

.p-10 {
  padding: 50px !important; }

.pt-10,
.py-10 {
  padding-top: 50px !important; }

.pr-10,
.px-10 {
  padding-right: 50px !important; }

.pb-10,
.py-10 {
  padding-bottom: 50px !important; }

.pl-10,
.px-10 {
  padding-left: 50px !important; }

.p-11 {
  padding: 55px !important; }

.pt-11,
.py-11 {
  padding-top: 55px !important; }

.pr-11,
.px-11 {
  padding-right: 55px !important; }

.pb-11,
.py-11 {
  padding-bottom: 55px !important; }

.pl-11,
.px-11 {
  padding-left: 55px !important; }

.p-12 {
  padding: 60px !important; }

.pt-12,
.py-12 {
  padding-top: 60px !important; }

.pr-12,
.px-12 {
  padding-right: 60px !important; }

.pb-12,
.py-12 {
  padding-bottom: 60px !important; }

.pl-12,
.px-12 {
  padding-left: 60px !important; }

.m-auto {
  margin: auto !important; }

.mt-auto,
.my-auto {
  margin-top: auto !important; }

.mr-auto,
.mx-auto {
  margin-right: auto !important; }

.mb-auto,
.my-auto {
  margin-bottom: auto !important; }

.ml-auto,
.mx-auto {
  margin-left: auto !important; }

/*==================================================
* various
==================================================*/
p {
  margin-bottom: 16px; }
  p:last-child {
    margin-bottom: 0; }

strong {
  font-weight: bold;
  font-size: 100%; }

.font-mincho {
  font-family: "Times New Roman", "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, serif; }

.font-goth {
  font-family: "Helvetica Neue", Helvetica, Arial, a-otf-gothic-bbb-pr6n, -apple-system, BlinkMacSystemFont, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif; }

.font-xxl {
  font-size: 36px; }

.font-xl {
  font-size: 28px; }

.font-lg {
  font-size: 20px; }

.font-md {
  font-size: 16px; }

.font-sm {
  font-size: 15px; }

.font-xs {
  font-size: 12px; }

.font-xxs {
  font-size: 10px; }

.font-normal {
  font-weight: normal !important; }

.font-bold {
  font-weight: bold !important; }

.text-shadow {
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.5); }

.bg-w {
  background: #fff !important; }

.bg-bk {
  background: #000 !important; }

.color-danger {
  color: #ed1b2f !important; }

.sepper {
  margin-left: -14px;
  margin-right: -14px; }
  .sepper .sepper__box--2 {
    width: calc( 100% / 2);
    margin-top: 28px;
    padding-left: 14px;
    padding-right: 14px; }
  .sepper .sepper__box--3 {
    width: calc( 100% / 3);
    margin-top: 28px;
    padding-left: 14px;
    padding-right: 14px; }
  .sepper .sepper__box--4 {
    width: calc( 100% / 4);
    margin-top: 28px;
    padding-left: 14px;
    padding-right: 14px; }
  @media screen and (min-width: 641px) {
    .sepper {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .sepper--reverse {
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }
      .sepper--vc {
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-line-pack: center;
            align-content: center; } }
  @media screen and (min-width: 641px) and (min-width: 836px) {
    .sepper .sepper__box--2:nth-child(-n+2) {
      margin-top: 0; }
    .sepper .sepper__box--3:nth-child(-n+3) {
      margin-top: 0; }
    .sepper .sepper__box--4:nth-child(-n+4) {
      margin-top: 0; } }
  @media screen and (min-width: 641px) and (max-width: 835px) {
    .sepper .sepper__box--2,
    .sepper .sepper__box--3,
    .sepper .sepper__box--4 {
      width: calc( 100% / 2); }
      .sepper .sepper__box--2:nth-child(-n+2),
      .sepper .sepper__box--3:nth-child(-n+2),
      .sepper .sepper__box--4:nth-child(-n+2) {
        margin-top: 0; } }
  @media screen and (max-width: 640px) {
    .sepper .sepper__box--2,
    .sepper .sepper__box--3,
    .sepper .sepper__box--4 {
      width: 100%;
      margin-top: 20px; }
      .sepper .sepper__box--2:first-child,
      .sepper .sepper__box--3:first-child,
      .sepper .sepper__box--4:first-child {
        margin-top: 0; } }

.pageMain {
  display: block;
  padding-top: 88px;
  font-weight: 400; }

.inner {
  width: 1260px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 30px;
  padding-right: 30px; }
  @media screen and (max-width: 835px) {
    .inner {
      padding-left: 20px;
      padding-right: 20px; } }
  .inner--sm {
    width: 800px; }

body.page header#header {
  transform: none; }

.ttl-cmn {
  font-size: 24px;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  margin-top: 48px;
  margin-bottom: 24px;
  padding-bottom: 20px;
  color: #48494b;
  border-bottom: 1px solid #f00; }
  .ttl-cmn:first-child {
    margin-top: 0; }
  .ttl-cmn__remark {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-left: 12px;
    font-size: 14px;
    letter-spacing: 0; }
  .ttl-cmn--add {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  @media screen and (max-width: 835px) {
    .ttl-cmn--add .ttl-cmn__txt {
      padding-bottom: 44px; }
    .ttl-cmn--add .ttl-cmn__remark {
      position: absolute;
      left: 0;
      margin: 0;
      bottom: 0; } }

.ttl-sm {
  font-size: 16px;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  margin-top: 20px;
  margin-bottom: 10px; }
  .ttl-sm:first-child {
    margin-top: 0; }


h4.ttl-sm {
  font-size: 16px;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  color: #777777;
  position: relative;
  margin-top: 10px;
  margin-bottom: 14px;
  /* padding-left: 18px; */
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(0,0,0,0.1); }
  .ttl-sm:first-child {
    margin-top: 0; }


.ttl-num {
  margin-top: 12px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  font-size: 16px;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  .ttl-num__num {
    display: block;
    margin-bottom: 4px;
    color: #ed1b2f; }

.ttl-xs {
  font-size: 15px;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  margin-top: 20px;
  margin-bottom: 10px; }
  .ttl-xs:first-child {
    margin-top: 0; }

.declaration {
  font-size: 19px; }

.table-mesh, .table-mesh--3col, .table-mesh--gray {
  width: 100%;
  margin-bottom: 52px;
  border-spacing: 0; }
  .table-mesh--3col {
    table-layout: fixed;
  }
  .table-mesh th, .table-mesh td,.table-mesh--3col th, .table-mesh--3col td, .table-mesh--gray th, .table-mesh--gray td,.table-mesh--gray th, .table-mesh--gray td {
    padding: 14px 24px 16px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  .table-mesh th, .table-mesh--3col th, .table-mesh--gray th{
    min-width: 140px;
    padding-left: 0;
    padding-top: 16px;
    font-size: 16px;
    font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
    font-weight: 600;
    line-height: 1.5;
    border-right: 1px solid rgba(0, 0, 0, 0.1); }
  .table-mesh--3col tr th:first-child + td  {
    padding-right: 5px;
    border-right: 1px solid rgba(0, 0, 0, 0.1); }
  .table-mesh td,
  .table-mesh--3col td {
    padding-right: 0; }
  .table-mesh--gray td {
    padding-right: 10px;
  }
  .table-mesh tr:last-child th,
  .table-mesh tr:last-child td,
  .table-mesh--3col tr:last-child th,
  .table-mesh--3col tr:last-child td,
  .table-mesh--gray tr:last-child th,
  .table-mesh--gray tr:last-child td {
    border-bottom: none; }
  .table-mesh:last-child,
  .table-mesh--3col:last-child,
  .table-mesh--gray:last-child {
    margin-bottom: 0; }
  .table-mesh--3col td:last-child {
    border-left: 1px solid rgba(0,0,0,0,1);
  }
  .table-mesh--narrow th, .table-mesh--narrow td {
    padding-top: 12px;
    padding-bottom: 12px; }
  .table-mesh--narrow th {
    padding-right: 12px;
    font-size: 15px; }
  .table-mesh--narrow td {
    padding-left: 16px; }
  .table-mesh--gray  {
    background-color: #f5f5f5; }
  .table-mesh--gray th{
    padding-left: 16px;
  }
  .th-120 th {
    width: 120px;
    min-width: 120px;
    padding-right: 16px;
  }
  .table-mesh--3col .small  {
    font-size: 12px;
    padding: 16px 24px 16px;
  }
  @media screen and (max-width: 835px) {
    .table-mesh th, .table-mesh td {
      display: block;
      width: 100%;
      padding: 20px 0;
      border: none; }
    .table-mesh--gray th, .table-mesh--gray td {
      display: block;
      width: 100%;
      padding: 20px 0 20px 16px;
      border: none; }
    .table-mesh tr:last-child th,
    .table-mesh th,
    .table-mesh--gray tr:last-child th,
    .table-mesh--gray th {
      padding-bottom: 2px;
      font-size: 15px; }
    .table-mesh tr:last-child td,
    .table-mesh td,
    .table-mesh--gray tr:last-child td,
    .table-mesh--gray td {
      padding-top: 2px;
      border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
    .table-mesh tr:last-child th,
    .table-mesh tr:last-child td,
    .table-mesh--3col tr:last-child th,
    .table-mesh--3col tr:last-child td,
    .table-mesh--gray tr:last-child th,
    .table-mesh--gray tr:last-child td {
      border-bottom: none; }
    .table-mesh--3col td {
      padding: 14px 0 16px 18px;}
    .table-mesh--3col.th-120 th {
      width: 105px;
      min-width: 100px;
    }
    .table-mesh--3col .small  {
      font-size: 14px;
    } }

.bd-list__item {
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1); }
  .bd-list__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none; }

.check-list,
.square-list {
  margin-top: 20px;
  margin-bottom: 40px; }
  .check-list:first-child,
  .square-list:first-child {
    margin-top: 0; }
  .check-list:last-child,
  .square-list:last-child {
    margin-bottom: 0; }
  .check-list__item,
  .square-list__item {
    margin-bottom: 8px;
    position: relative;
    padding-left: 32px; }
  .square-list__narrow{
    margin-top: 8px;
    margin-bottom: 18px;
  }

.check-list__item:before, .check-list__item:after {
  content: "";
  display: block;
  position: absolute;
  height: 2px;
  background: #ed1c24;
  top: 16px; }

.check-list__item:before {
  left: 10px;
  width: 12px;
  transform: rotate(-52deg);
  transform-origin: left bottom; }

.check-list__item:after {
  left: 4px;
  width: 6px;
  transform: rotate(44deg);
  transform-origin: right bottom; }

.square-list__item:before {
  content: "";
  display: block;
  position: absolute;
  width: 5px;
  height: 5px;
  background: #ed1c24;
  top: 12px;
  left: 10px; }

.num-ol {
  margin-left: 28px;
  margin-bottom: 24px; }
  .num-ol:last-child {
    margin-bottom: 0; }
  .num-ol .num-ol {
    margin-top: 20px; }
    .num-ol .num-ol:last-child {
      margin-bottom: 24px; }
  .num-ol__item {
    margin-bottom: 12px;
    padding-left: 8px;
    list-style-type: decimal-leading-zero; }
    .num-ol__item:last-child {
      margin-bottom: 0; }
  .num-ol--hl .num-ol__item::marker {
    color: #ed1b2f; }

.with-icon {
  position: relative;
  padding-right: 80px; }
  .with-icon__anc {
    position: absolute;
    display: block;
    width: 72px;
    height: 100%;
    top: 0;
    right: 0;
    border-left: 1px solid rgba(0, 0, 0, 0.05); }
  .with-icon--map .with-icon__anc:before {
    content: "";
    display: block;
    width: 18px;
    height: 19px;
    position: absolute;
    top: calc(50% - 10px);
    left: calc(50% - 9px);
    background: url(../img/icon_map.svg) no-repeat center top/18px; }
  .with-icon--map .with-icon__anc:hover:before {
    background-position: center bottom; }
  .with-icon.with-icon--tbl {
    padding-right: 68px; }
    .with-icon.with-icon--tbl .with-icon__anc {
      width: 60px;
      height: calc( 100% - 16px);
      top: 8px; }
      @media screen and (max-width: 835px) {
        .with-icon.with-icon--tbl .with-icon__anc {
          height: calc( 100% + 16px);
          top: -22px; } }

.catalog__img img {
  box-shadow: 8px 8px 16px rgba(0, 0, 0, 0.3); }

.catalog__ttl {
  margin-bottom: 20px;
  font-size: 19px;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  line-height: 1.4; }

@media screen and (min-width: 836px) {
  .catalog {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
    .catalog__img {
      width: 40%; }
    .catalog__body {
      width: 60%;
      padding-left: 8%; } }

@media screen and (max-width: 835px) {
  .catalog__img {
    margin-bottom: 20px; } }

.p-btn {
  position: relative;
  display: inline-block;
  min-width: 200px;
  padding: 12px 16px;
  text-align: center;
  cursor: pointer; }
  .p-btn-wrap .p-btn {
    margin: 0 10px; }
    @media screen and (max-width: 835px) {
      .p-btn-wrap .p-btn {
        margin-bottom: 10px; } }
  .p-btn--bd {
    font-size: 13px;
    font-weight: bold;
    font-style: oblique;
    text-align: left;
    border: 2px solid #000;
    padding-top: 8px;
    padding-bottom: 8px; }
  .p-btn--pdf {
    padding-right: 44px; }
    .p-btn--pdf:before {
      content: "";
      display: block;
      width: 20px;
      height: 20px;
      position: absolute;
      top: calc( 50% - 10px);
      right: 16px;
      background: url(../img/icon_pdf.svg) no-repeat center/18px; }
  .p-btn--translucent {
    position: relative;
    min-width: 190px;
    font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
    font-weight: 600;
    font-size: 16px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border: 1px solid #fff;
    transition: .2s; }
    .p-btn--translucent:before {
      content: "";
      position: absolute;
      left: -1px;
      bottom: -1px;
      display: block;
      width: 0;
      height: 2px;
      background: #ed1b2f;
      transition: .2s; }
    .p-btn--translucent.active, .p-btn--translucent:hover {
      background: rgba(255, 255, 255, 0.3); }
      .p-btn--translucent.active:before, .p-btn--translucent:hover:before {
        width: calc(100% + 2px); }

.link-cmn {
  text-decoration: underline; }
  .link-cmn:hover {
    text-decoration: none; }

.link-external {
  position: relative;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  letter-spacing: 2px;
  display: inline-block;
  line-height: 1.25;
  margin-bottom: 20px;
  padding-bottom: 8px;
  padding-right: 28px;
  border-bottom: 2px solid #000; }
  p + .link-external {
    position: relative;
    top: -6px; }
  .link-external:before, .link-external:after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    right: 0; }
  .link-external:before {
    width: 9px;
    height: 10px;
    border-top: 2px solid #f00;
    border-right: 2px solid #f00; }
  .link-external:after {
    width: 11px;
    height: 2px;
    transform: rotate(-45deg);
    transform-origin: right bottom;
    background: #f00; }

.text-sup {
  font-size: 11px;
  color: #797979; }

.page-bnr {
  width: 500px;
  max-width: 100%;
  margin: 20px auto 0;
  text-align: center; }
  .page-bnr a {
    transition: .2s; }
    .page-bnr a:hover {
      opacity: .8; }
  .page-bnr img {
    box-shadow: 0 0 48px rgba(0, 0, 0, 0.1); }

.aside-box {
  margin: 32px 0;
  padding: 28px;
  background: #f5f5f5; }

.page-hero {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  height: 400px;
  padding-left: 20px;
  padding-right: 20px; }
  .page-hero__ttl {
    max-width: 100%; }
    .page-hero__ttl--main, .page-hero__ttl--sub {
      display: block; }
  .page-hero--cmn {
    padding-top: 120px;
    padding-bottom: 120px;
    text-align: center;
    line-height: 1.25;
    color: #fff; }
    .page-hero--cmn .page-hero__ttl--main {
      font-size: 35px;
      font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
      font-weight: 600; }
    .page-hero--cmn .page-hero__ttl--sub {
      font-size: 12px;
      font-weight: bold;
      font-style: oblique; }
      .page-hero--cmn .page-hero__ttl--sub:not(:last-child) {
        margin-bottom: 20px; }
      .page-hero--cmn .page-hero__ttl--sub:not(:first-child) {
        margin-top: 12px;
        font-size: 14px; }
    .page-hero--cmn .page-hero__date {
      margin-top: 20px;
      font-size: 14px;
      font-weight: 400; }
    .page-hero--cmn .page-hero__icon {
      width: 96px;
      margin: 0 auto 20px;
      padding: 0 12px 20px;
      text-align: center;
      border-bottom: 1px solid rgba(255, 255, 255, 0.5); }
      .page-hero--cmn .page-hero__icon img {
        height: 60px; }
    .page-hero--cmn .page-hero__txt {
      margin-top: 12px; }
    .page-hero--cmn .page-hero__btns {
      margin-top: 28px; }
  .page-hero--nobg {
    padding-top: 108px;
    padding-bottom: 0;
    margin-bottom: -28px;
    min-height: 0;
    color: inherit; }
  .page-hero--telecommunications {
    background: url(../img/business/telecommunications/bg_hero.jpg) no-repeat center/cover; }
  .page-hero--mobile {
    background: url(../img/business/mobile/bg_hero.jpg) no-repeat center/cover; }
  .page-hero--check {
    background: url(../img/business/check/bg_hero.jpg) no-repeat center/cover; }
  .page-hero--network {
    background: url(../img/business/network/bg_hero.jpg) no-repeat center/cover; }
  .page-hero--information {
    background: url(../img/newsdetail/bg_hero.jpg) no-repeat center/cover; }
  .page-hero--recruit {
    background: url(../img/recruit/bg_hero.jpg) no-repeat center/cover; }
  .page-hero--contact {
    background: url(../img/contact/bg_hero.jpg) no-repeat center/cover; }
  .page-hero--company {
    background: url(../img/company/bg_hero.jpg) no-repeat left 43% center/cover;
    padding-left: 8%; }
    .page-hero--company .page-hero__ttl {
      font-weight: normal; }
      .page-hero--company .page-hero__ttl--main {
        font-size: 44px;
        font-style: oblique; }
      .page-hero--company .page-hero__ttl--sub {
        margin-top: 16px;
        font-size: 22px;
        letter-spacing: 2px; }
  @media screen and (max-width: 835px) {
    .page-hero--company {
      padding: 0 20px; }
      .page-hero--company .page-hero__ttl--main {
        line-height: 1.2;
        letter-spacing: 3px; }
      .page-hero--company .page-hero__ttl--sub {
        margin-top: 8px; }
    .page-hero--cmn {
      min-height: 380px;
      padding-top: 80px;
      padding-bottom: 80px; }
      .page-hero--cmn .page-hero__ttl--main {
        font-size: 28px; }
    .page-hero--nobg {
      padding-bottom: 40px; } }

.pageCts {
  padding: 108px 0; }
  @media screen and (max-width: 835px) {
    .pageCts {
      padding: 68px 0; } }

.over-img {
  margin-left: -30px;
  margin-right: -30px;
  margin-bottom: 20px; }
  @media screen and (max-width: 835px) {
    .over-img {
      margin-left: -20px;
      margin-right: -20px; } }

@media screen and (min-width: 1026px) {
  .book-cts {
    display: -ms-flexbox;
    display: flex;
    padding-left: 8%; }
    .book-cts__nav {
      width: 360px;
      border-left: 1px solid rgba(0, 0, 0, 0.1); }
    .book-cts__body {
      width: calc( 100% - 360px); } }

@media screen and (min-width: 1368px) {
  .book-cts__nav {
    width: 400px; }
  .book-cts__body {
    width: calc( 100% - 400px); } }

.book-nav {
  font-size: 20px;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  padding: 26px 20px; }
  .book-nav__anc {
    position: relative;
    color: #48494b;
    transition: .2s;
    letter-spacing: 2px; }
    .book-nav__anc--current:before, .book-nav__anc--current:after {
      content: "";
      display: block;
      position: absolute;
      top: calc( 50% - 3px); }
    .book-nav__anc--current:before {
      background: #b00c0c; }
    .book-nav__anc--current:after {
      background: #f00; }
  @media screen and (min-width: 1026px) {
    .book-nav {
      position: -webkit-sticky;
      position: sticky;
      top: -100px;
      padding: 240px 0px 60px;
      font-size: 17px; }
      .book-nav__item {
        margin-bottom: 12px; }
      .book-nav__anc {
        color: #8b8c91; }
        .book-nav__anc:hover, .book-nav__anc--current {
          padding-left: 28px;
          color: #48494b; }
        .book-nav__anc--current:before, .book-nav__anc--current:after {
          left: -1px;
          width: 10px;
          height: 6px;
          transform-origin: right center; }
        .book-nav__anc--current:before {
          transform: skewY(-36deg); }
        .book-nav__anc--current:after {
          transform: skewY(36deg); } }
  @media screen and (max-width: 1025px) {
    .book-nav__anc {
      display: block;
      pointer-events: none; }
      .book-nav__anc--current:before, .book-nav__anc--current:after {
        right: 10px;
        height: 10px;
        width: 6px;
        transform-origin: center bottom; }
      .book-nav__anc--current:before {
        transform: skewX(36deg); }
      .book-nav__anc--current:after {
        transform: skewX(-36deg); }
    .book-nav__anc:not(.book-nav__anc--current) {
      display: none; } }

.book-sheet {
  padding: 12% 16%;
  background: #f5f5f5; }
  .book-sheet--greeting {
    padding-right: 36%;
    background: url(../img/company/greeting.png) no-repeat right 8% bottom/28%, linear-gradient(to bottom, #b19781, #cebdad); }
  @media screen and (max-width: 835px) {
    .book-sheet {
      padding: 68px 20px; }
      .book-sheet--greeting {
        padding-bottom: 24%; } }
    @media screen and (max-width: 835px) and (max-width: 450px) {
      .book-sheet--greeting {
        background: url(../img/company/greeting.png) no-repeat right 12px bottom/48%, linear-gradient(to bottom, #b19781, #cebdad); } }
  @media screen and (max-width: 640px) {
    .book-sheet--greeting {
      padding-bottom: 36%; } }
  @media screen and (max-width: 480px) {
    .book-sheet--greeting {
      padding-bottom: 48%; } }

.bizBtmLinks__item {
  margin-top: 28px; }
  .bizBtmLinks__item:first-child {
    margin-top: 0; }

.bizBtmLinks__card {
  position: relative;
  display: block;
  padding: 40px;
  padding-top: 120px;
  color: #fff;
  overflow: hidden; }
  .bizBtmLinks__card:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transition: .2s;
    background-size: cover;
    background-position: center;
    z-index: 0; }
  .bizBtmLinks__card--telecommunications:before {
    background-image: url(../img/business/link_01.jpg); }
  .bizBtmLinks__card--check:before {
    background-image: url(../img/business/link_02.jpg); }
  .bizBtmLinks__card--mobile:before {
    background-image: url(../img/business/link_03.jpg); }
  .bizBtmLinks__card--network:before {
    background-image: url(../img/business/link_04.jpg); }
  .bizBtmLinks__card:hover:before {
    transform: scale(1.1); }

.bizBtmLinks__cts {
  position: relative;
  z-index: 1; }

.bizBtmLinks__icon {
  margin-bottom: 20px; }
  .bizBtmLinks__icon img {
    height: 48px; }

.bizBtmLinks__ttl {
  min-height: 96px;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-size: 22px;
  font-weight: 600;
  line-height: 28px;
  letter-spacing: 0px; }

.bizBtmLinks__btn {
  width: 120px; }

@media screen and (max-width: 835px) {
  .bizBtmLinks__card {
    padding: 20px;
    padding-top: 80px; }
  .bizBtmLinks__ttl {
    font-size: 18px; } }

.greeting-prof {
  margin-top: 36px;
  line-height: 1.5; }
  .greeting-prof__name {
    margin-bottom: 8px;
    font-size: 28px; }
  .greeting-prof__belong {
    font-size: 17px;
    font-weight: bold; }

.history-list {
  position: relative;
  margin-left: 24px;
  padding-top: 20px;
  padding-left: 56px;
  padding-bottom: 16px;
  border-left: 1px solid rgba(0, 0, 0, 0.1); }
  .history-list > dt {
    position: relative;
    font-size: 16px;
    font-weight: bold; }
    .history-list > dt:before, .history-list > dt:after {
      content: "";
      display: block;
      position: absolute;
      background: #999; }
    .history-list > dt:before {
      width: 15px;
      height: 15px;
      top: 8px;
      left: -64px;
      border: 4px solid #f5f5f5;
      border-radius: 50%; }
    .history-list > dt:after {
      width: 24px;
      height: 1px;
      top: 15px;
      left: -56px; }
  .history-list > dd {
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    margin-bottom: 20px; }
    .history-list > dd:last-child {
      margin-bottom: 0; }
  .history-list--passed {
    margin-top: 45px; }
    .history-list--passed:before {
      content: "";
      position: absolute;
      top: -35px;
      left: 0;
      display: block;
      height: 25px;
      border-left: 1px dotted rgba(0, 0, 0, 0.1); }
  .history-list--last {
    padding-bottom: 0; }
  @media screen and (max-width: 835px) {
    .history-list {
      margin-left: 14px;
      padding-left: 28px; }
      .history-list > dt:before {
        left: -35px; }
      .history-list > dt:after {
        width: 15px;
        left: -28px; } }

.map-offices {
  position: relative;
  padding: 1.8% 20%;
  background: #f9f9f9; }
  .map-offices__txt {
    position: absolute;
    right: 5.3%;
    bottom: 10%;
    max-width: 185px;
    width: 12%; }
  @media screen and (max-width: 835px) {
    .map-offices {
      padding-left: 8%;
      padding-right: 8%; }
      .map-offices__txt {
        width: 18%;
        right: auto;
        bottom: auto;
        left: 5.3%;
        top: 10%; } }

.contact-form {
  margin-top: 80px; }
  .contact-form input:not([type="submit"]),
  .contact-form textarea {
    border-style: none;
    color: inherit;
    width: 100%;
    max-width: 100%;
    margin: 0;
    background: #f7f7f7; }
    .contact-form input:not([type="submit"]):focus,
    .contact-form textarea:focus {
      outline: none; }
  .contact-form input,
  .contact-form textarea {
    padding: 24px 28px; }
  .contact-form input[type="radio"] {
    border: none;
    width: inherit;
    max-width: 100%;
    padding: 0; }

.required-mark {
  font-size: 12px;
  color: #ed1b2f; }

.help-block {
  color: #ed1b2f; }

.form-label {
  margin-top: 16px;
  margin-bottom: 12px;
  display: block;
  font-size: 15px;
  font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
  color: #48494b; }

.page .submits {
  text-align: center;
  margin-top: 48px; }
  .page .submits__btn {
    display: inline-block;
    width: 240px;
    margin: 0 4px;
    padding: 8px 12px;
    font-size: 18px;
    vertical-align: top;
    line-height: 48px;
    color: #fff;
    background: #000;
    border: none;
    cursor: pointer;
    transition: .2s; }
    .page .submits__btn:not(.submits__btn--back):hover {
      color: #fff;
      background: #333; }
    .page .submits__btn--back {
      background: #ddd;
      color: #000; }
      .page .submits__btn--back:hover {
        background: #ccc; }

.checkbox__parts {
  padding-left: 40px;
  position: relative;
  margin-right: 32px; }
  .checkbox__parts:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    border: 1px solid #c2c2c2;
    background: #f7f7f7; }

.checkbox__input {
  display: none; }
  .checkbox__input:checked + .checkbox__parts:after {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 7px;
    width: 20px;
    height: 12px;
    transform: rotate(-45deg);
    border-bottom: 4px solid #ed1b2f;
    border-left: 4px solid #ed1b2f; }

.portal--recruit {
  color: #fff; }

@media screen and (min-width: 836px) {
  .portal {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    height: 55vw;
    max-height: calc(100vh - 88px); }
    .portal__wing {
      width: 50%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center; }
      .portal__wing:not(:last-child) {
        border-left: 1px solid rgba(255, 255, 255, 0.2); }
    .portal__feather {
      position: relative;
      height: 50%;
      width: 100%; }
      .portal__feather:not(:last-child):before {
        content: "";
        display: block;
        width: 60%;
        height: 1px;
        background: rgba(255, 255, 255, 0.4);
        position: absolute;
        bottom: 0;
        right: 20%; }
    .portal--recruit {
      background: url(../img/recruit/bg.jpg) no-repeat center/cover; } }

@media screen and (max-width: 835px) {
  .portal__feather {
    background: #272727; }
    .portal__feather:not(:first-child) {
      border-top: 1px solid rgba(255, 255, 255, 0.1); } }

.vr-intro {
  max-width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  /*上下中央揃え*/
  -ms-flex-pack: center;
      justify-content: center;
  /*左右中央揃え*/ }
  .vr-intro__cts {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl; }
  .vr-intro__ttl {
    position: relative;
    display: inline-block;
    font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
    font-weight: 600;
    font-size: 35px;
    margin-left: 16px;
    padding-left: 16px;
    border-left: 1px solid rgba(255, 255, 255, 0.3); }
    .vr-intro__ttl:before {
      content: "";
      display: block;
      width: 1px;
      height: 32px;
      position: absolute;
      left: 0;
      top: 0;
      background: #ed1b2f; }
  .vr-intro__txt {
    font-size: 20px;
    letter-spacing: 6px; }
  @media screen and (max-width: 835px) {
    .portal--recruit .vr-intro {
      position: relative;
      background: #000; }
    .vr-intro:before {
      content: "";
      display: block;
      position: absolute;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0;
      background: url(../img/recruit/bg.jpg) no-repeat center/cover; }
    .vr-intro__cts {
      position: relative;
      padding-top: 100px;
      padding-bottom: 100px;
      z-index: 1; }
    .vr-intro__ttl {
      font-size: 32px; } }

.entrance-card {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  height: 100%;
  text-align: center;
  transition: .2s;
  color: #fff; }
  .entrance-card__ttl {
    position: relative;
    padding-bottom: 36px;
    line-height: 1.25;
    letter-spacing: 2px; }
    .entrance-card__ttl--main, .entrance-card__ttl--sub {
      display: block; }
    .entrance-card__ttl--main {
      font-family: a-otf-midashi-go-mb31-pr6n, "Helvetica Neue", Helvetica, Arial, -apple-system, BlinkMacSystemFont, a-otf-gothic-bbb-pr6n, YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "メイリオ", Meiryo, sans-serif;
      font-weight: 600;
      font-size: 32px; }
    .entrance-card__ttl--sub {
      font-size: 12px;
      font-weight: bold;
      font-style: oblique;
      margin-bottom: 8px; }
    .entrance-card__ttl:before, .entrance-card__ttl:after {
      content: "";
      position: absolute;
      bottom: 0;
      display: block;
      height: 2px;
      background: #fff;
      transition: .2s; }
    .entrance-card__ttl:before {
      left: calc(50% - 22px);
      width: 44px; }
    .entrance-card__ttl:after {
      right: calc(50% - 22px);
      width: 10px;
      transform: rotate(45deg);
      transform-origin: right top; }
  @media screen and (min-width: 836px) {
    .entrance-card:hover {
      background: rgba(0, 0, 0, 0.6); }
      .entrance-card:hover .entrance-card__ttl:before, .entrance-card:hover .entrance-card__ttl:after {
        background: #ed1b2f; } }
  @media screen and (max-width: 835px) {
    .entrance-card {
      padding-top: 32px;
      padding-bottom: 32px; }
      .entrance-card__ttl {
        padding-bottom: 28px; }
        .entrance-card__ttl:before, .entrance-card__ttl:after {
          background: #ed1b2f; } }

.js-rec-cts {
  display: none; }
  .js-rec-cts.active {
    display: block; }


.career-imgHolder{
  width: 100%;
  display: flex;
  gap: 20px 10px;
}

.career-imgArea{
  width: calc((100% - 10px) / 2);
  aspect-ratio: 1 / .667;
}

.career-imgArea img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media only screen and (max-width: 480px) {
  .career-imgHolder{
    flex-direction: column;
  }
  .career-imgArea{
    width: 100%;
  }
}
