@import url("https://fonts.googleapis.com/css2?family=Jost:wght@500&family=Noto+Sans+JP:wght@400;500;600;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Jost:wght@500&family=Noto+Sans+JP:wght@400;500;600;700&display=swap");

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent
}

body {
  line-height: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block
}

ul,
ol {
  list-style: none
}

blockquote,
q {
  quotes: none
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  text-decoration: none
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold
}

del {
  text-decoration: line-through
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

table {
  border-collapse: collapse;
  border-spacing: 0
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0
}

input,
select {
  vertical-align: middle
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  appearance: none
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

ul {
  list-style: none
}

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

a {
  outline: none
}

@media (max-width: 1024px) {
  .-pc {
    display: none
  }
}

@media (min-width: 1025px) {
  .-pc {
    display: block
  }
}

.-tab {
  display: none
}

@media (min-width: 768px) {
  .-tab {
    display: block
  }
}

@media (min-width: 1025px) {
  .-tab {
    display: none
  }
}

@media (max-width: 1024px) {
  .-sptab {
    display: block
  }
}

@media (min-width: 1025px) {
  .-sptab {
    display: none
  }
}

.-sp {
  display: none
}

@media (max-width: 767px) {
  .-sp {
    display: block
  }
}

.is-none {
  display: none
}

.is-disabled {
  pointer-events: none
}

.is-noactive {
  pointer-events: none
}

:root {
  --color-bg-list: linear-gradient(to right, #fafbfe, #fbf9fb), #FFF;
  --shadow-list: inset 0px 0px 0.5rem 0.5rem rgba(219, 54, 125, 0.01)
}

html {
  font-size: clamp(0.875rem, calc(0.688rem + 0.39vw), 1rem)
}

body {
  font-family: "Noto Sans JP", sans-serif, "メイリオ", "Meiryo", sans-serif;
  font-weight: 500;
  color: #000000
}

body a {
  color: #c24078;
  text-decoration: underline
}

@media (hover: hover) and (pointer: fine) {
  body a:hover {
    text-decoration: none
  }
}

#loading {
  background: #fff;
  position: fixed;
  width: 100%;
  height: 100vh;
  z-index: 100
}

a {
  color: inherit
}

svg {
  width: 100%;
  height: auto
}

@media (max-width: 767px) {
  .pc {
    display: none
  }
}

@media (min-width: 768px) {
  .sp {
    display: none
  }
}

.btn_base {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-grow: 1;
  flex-grow: 1;
  max-width: 70vw;
  margin: auto;
  position: relative;
  border-radius: 100px;
  color: #fff;
  background: #000;
  transition: .1s ease-in-out;
  padding: 1em;
  line-height: 1.5em;
  font-weight: 600;
  font-size: .9rem;
  text-decoration: none
}

@media (min-width: 768px) {
  .btn_base {
    max-width: 310px;
    padding: 1.2em 1em;
    font-size: .9rem
  }
}

@media (min-width: 1025px) {
  .btn_base {
    font-size: 1rem
  }

  .btn_base:hover {
    box-shadow: none;
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px)
  }
}

.btn_base span {
  width: calc(100% - 1em);
  padding-left: 1em;
  text-align: center
}

.btn_base::after {
  display: inline-block;
  content: '';
  right: 0;
  top: 0;
  bottom: 0;
  width: .6em;
  height: 1em;
  background: url(/images/common/ico_arrow-dot.svg) no-repeat;
  background-size: cover
}

.btn_pagetop {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background: #000;
  border-radius: 100px;
  position: fixed;
  z-index: 2;
  bottom: -300px;
  opacity: 0;
  border: 1px solid #fff;
  width: 50px;
  height: 50px;
  right: 25px;
  transition: .1s ease-in-out
}

.btn_pagetop::before {
  content: '';
  display: block;
  width: .6em;
  height: 1em;
  background: url(/images/common/ico_arrow-dot.svg) no-repeat;
  background-size: cover;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg)
}

.btn_pagetop.is-active {
  opacity: 1
}

.btn_pagetop.is-active {
  bottom: 25px
}

@media (min-width: 1025px) {
  .btn_pagetop:hover {
    background: #000;
    box-shadow: none;
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px)
  }

  .btn_pagetop:hover::before {
    border-color: #fff
  }
}

.titCol {
  width: 100%;
  position: relative;
  overflow: hidden
}

.titCol:before {
  pointer-events: none;
  content: "";
  position: absolute;
  z-index: -4;
  top: 0;
  left: 0;
  background: url(/images/common/bg_base_sp.webp) no-repeat center/cover;
  width: 100%;
  height: 100%
}

@media (min-width: 768px) {
  .titCol:before {
    background: url(/images/common/bg_base_pc.webp) repeat-y center/100% auto
  }
}

.titCol:after {
  pointer-events: none;
  content: "";
  background: url(/images/common/eff_line_sp.webp) no-repeat top center/100% auto;
  position: absolute;
  z-index: -3;
  top: 50%;
  left: 0;
  aspect-ratio: 750/461;
  width: 100%;
  height: auto;
  translate: 0 -28%
}

@media (min-width: 768px) {
  .titCol:after {
    background: url(/images/common/eff_line_pc.webp) no-repeat top center/contain;
    top: 50%;
    left: 50%;
    aspect-ratio: 2000/485;
    width: min(156vw, 2000px);
    height: auto;
    translate: -50% -33%
  }
}

.titCol .titColInner {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column;
  flex-flow: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: min(85vw, 590px);
  margin: auto;
  padding-block: 3.4rem
}

.titCol .titColInner::before {
  pointer-events: none;
  content: "";
  background: url(/images/common/eff_left_sp.webp) no-repeat bottom left/100% auto;
  position: absolute;
  z-index: -1;
  bottom: 0;
  left: 0;
  aspect-ratio: 423/446;
  width: 56.4%
}

@media (min-width: 768px) {
  .titCol .titColInner::before {
    background: url(/images/common/eff_left_pc.webp) no-repeat bottom left/100% auto;
    bottom: 50%;
    left: 0;
    aspect-ratio: 1133/1200;
    width: min(56.5vw, 1133px);
    height: auto;
    translate: 0 50%
  }
}

.titCol .titColInner::after {
  pointer-events: none;
  content: "";
  background: url(/images/common/eff_right_sp.webp) no-repeat top right/100% auto;
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  aspect-ratio: 258/394;
  width: 34.4%
}

@media (min-width: 768px) {
  .titCol .titColInner::after {
    background: url(/images/common/eff_right_pc.webp) no-repeat top right/100% auto;
    top: 50%;
    right: 0;
    aspect-ratio: 638/847;
    width: min(31.75vw, 638px);
    height: auto;
    translate: 0 -50%
  }
}

.colGray {
  --color-bg-list: #FFF;
  --shadow-list: none;
  background: url(/images/common/bg_base_contents_pc.webp) repeat-y top right/100% auto
}

.sectionInner {
  margin: auto;
  width: min(85%, 1200px);
  padding: 10vw 0
}

@media (min-width: 768px) {
  .sectionInner {
    padding: 7vw 0
  }
}

@media (min-width: 1025px) {
  .sectionInner {
    padding: 100px 0
  }
}

.tit {
  display: grid;
  -webkit-justify-content: stretch;
  justify-content: stretch;
  -webkit-align-items: center;
  align-items: center;
  grid-template-columns: 3rem auto;
  gap: 1rem 0.5rem;
  font-family: "Noto Sans JP", sans-serif, "メイリオ", "Meiryo", sans-serif;
  font-size: 2rem;
  word-break: break-all
}

.tit::before {
  content: "";
  display: inline-block;
  background: url(/images/common/ico_tit.png) no-repeat center/contain;
  aspect-ratio: 73/71;
  height: auto;
  -webkit-margin-end: 0.5rem;
  margin-inline-end: 0.5rem
}

@media (min-width: 768px) {
  .tit {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    align-items: center;
    font-size: 2.5rem
  }

  .tit::before {
    -webkit-flex-shrink: 0;
    flex-shrink: 0;
    width: clamp(2.25rem, calc(-1.219rem + 7.23vw), 4.563rem)
  }
}

.tit:has(span) {
  grid-template-rows: auto -webkit-min-content;
  grid-template-rows: auto min-content;
  font-family: "Jost", serif;
  font-weight: 500;
  font-size: 2.5rem;
  line-height: 0.7;
  text-transform: uppercase
}

@media (min-width: 768px) {
  .tit:has(span) {
    -webkit-align-items: flex-end;
    align-items: flex-end;
    font-size: clamp(2.813rem, calc(-1.406rem + 8.79vw), 5.625rem)
  }
}

.tit:has(span) span {
  grid-column: 2/3;
  font-family: "Noto Sans JP", sans-serif, "メイリオ", "Meiryo", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: .075em;
  display: block
}

@media (min-width: 768px) {
  .tit:has(span) span {
    -webkit-margin-start: 1rem;
    margin-inline-start: 1rem;
    font-size: clamp(0.625rem, calc(-0.313rem + 1.95vw), 1.25rem)
  }
}

.stit {
  background: linear-gradient(to right, #fafbfe, #fbf9fb);
  box-shadow: inset 0px 0px 0.5rem 0.5rem rgba(219, 54, 125, 0.01);
  border-left: 2px solid #db367d;
  margin-block: 3rem 2rem;
  margin-inline: auto;
  padding: 0.6rem 1.25rem;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: .05em
}

@media (min-width: 768px) {
  .stit {
    font-size: 1.87rem
  }
}

.btnList {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: column;
  flex-flow: column;
  gap: 1rem
}

@media (min-width: 768px) {
  .btnList {
    -webkit-flex-flow: row;
    flex-flow: row;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    gap: 3.12rem
  }

  .btnList .btn_base {
    width: 310px;
    margin: 0
  }
}

.newsList {
  display: grid;
  gap: 0.625rem
}

.newsList>li {
  background: var(--color-bg-list);
  box-shadow: var(--shadow-list);
  border-left: 2px solid #db367d
}

.newsList>li>* {
  display: block;
  padding: 1.6rem;
  color: #000;
  text-decoration: none
}

@media (min-width: 768px) {
  .newsList>li>* {
    padding: 1.87rem
  }
}

@media (hover: hover) and (pointer: fine) {
  .newsList>li>* {
    transition: .2s ease-in-out
  }

  .newsList>li>*:hover {
    opacity: .5
  }
}

.newsList>li dl {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: center;
  align-items: center;
  gap: 1.4rem
}

.newsList>li dl dt {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: -webkit-fit-content;
  width: fit-content;
  font-weight: 800;
  line-height: 1
}

.newsList>li dl dd {
  width: 100%;
  line-height: 1.6
}

.newsList>li dl dd.cat {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  background: #c24078;
  width: -webkit-fit-content;
  width: fit-content;
  padding: 0.2rem;
  font-weight: 600;
  line-height: 1;
  color: #FFF
}

@media (min-width: 768px) {
  .newsList>li dl {
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap
  }

  .newsList>li dl dd {
    width: 100%
  }

  .newsList>li dl dd.cat {
    -webkit-flex-shrink: 0;
    flex-shrink: 0
  }
}

.newsList:not(:has(li)) {
  text-align: center;
  padding-block: 4rem
}

[role="tablist"] {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  width: 90%;
  margin: 0 auto
}

[role="tablist"] [role="tab"] {
  position: relative;
  z-index: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  padding-block: 0.8rem;
  color: #000;
  text-decoration: none;
  font-size: 1rem
}

[role="tablist"] [role="tab"]:after {
  content: "|";
  position: absolute;
  top: 50%;
  right: 0;
  color: #dbdbdb;
  translate: 50% -50%
}

[role="tablist"] [role="tab"][aria-selected="true"] {
  font-weight: 700;
  color: #c24078
}

@media (max-width: 767px) {
  [role="tablist"] li:nth-of-type(4n):after {
    display: none
  }
}

@media (min-width: 768px) {
  [role="tablist"] {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: stretch;
    align-items: stretch;
    width: -webkit-fit-content;
    width: fit-content;
    -webkit-padding-end: 2rem;
    padding-inline-end: 2rem
  }

  [role="tablist"] [role="tab"] {
    padding: 0.8rem 1rem;
    word-break: keep-all
  }

  [role="tablist"] [role="tab"]:last-of-type:after {
    display: none
  }
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  [role="tablist"] [role="tab"] {
    transition: font-weight 0.5s, color 0.5s
  }

  [role="tablist"] [role="tab"]:hover {
    cursor: pointer;
    font-weight: 700;
    color: #c24078
  }
}

[role="tabpanel"][hidden] {
  display: none
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0
}

ul {
  list-style: none
}

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

a {
  outline: none
}

@media (max-width: 1024px) {
  .-pc {
    display: none
  }
}

@media (min-width: 1025px) {
  .-pc {
    display: block
  }
}

.-tab {
  display: none
}

@media (min-width: 768px) {
  .-tab {
    display: block
  }
}

@media (min-width: 1025px) {
  .-tab {
    display: none
  }
}

@media (max-width: 1024px) {
  .-sptab {
    display: block
  }
}

@media (min-width: 1025px) {
  .-sptab {
    display: none
  }
}

.-sp {
  display: none
}

@media (max-width: 767px) {
  .-sp {
    display: block
  }
}

.is-none {
  display: none
}

.is-disabled {
  pointer-events: none
}

.is-noactive {
  pointer-events: none
}

.preload * {
  transition-property: none !important
}

.p-groupHeader-01 {
  background-color: #fff;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  align-items: stretch;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  height: 76px
}

.p-groupHeader-01,
.p-groupHeader-01 * {
  margin: 0;
  padding: 0;
  border: 0;
  font-style: normal;
  font-size: 14px;
  font-weight: 400;
  vertical-align: baseline;
  box-sizing: border-box
}

.p-groupHeader-01 a {
  transition: opacity .3s
}

.p-groupHeader-01 a:hover img {
  transition: opacity .3s;
  opacity: .5
}

.p-groupHeader-01 img {
  max-width: 100%;
  height: auto;
  vertical-align: middle
}

.p-groupHeader__groupLogo {
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  padding: 8px 16px
}

.p-groupHeader__groupLogo--sp {
  display: none
}

.p-groupHeader-01 .p-groupHeader__groupLogo--pc {
  width: 176px
}

.p-groupHeader__inner {
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  position: relative;
  padding: 8px 16px 8px 0
}

@media (max-width: 767px) {
  .p-groupHeader__inner {
    padding: 8px calc(32px + 16px + 8px) 8px 0
  }
}

.p-groupHeader-02 .p-groupHeader__inner {
  padding: 4px 0
}

.p-groupHeader__companyLogo {
  -webkit-flex: 0 1 auto;
  flex: 0 1 auto;
  margin: 7px 0 0 auto
}

.p-groupHeader__companyLogo img {
  width: auto;
  max-height: 18px;
  vertical-align: middle
}

.p-groupHeader__lineElement {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: stretch;
  align-items: stretch;
  width: 100%
}

.p-groupHeader-01 .p-groupHeader__lineElement {
  background: url(/images/common/lineElement-01.webp) no-repeat left top/100%;
  height: 8px
}

.p-groupHeader__spMenuBtn {
  display: none
}

.p-groupHeader__spMenuBtn>span {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: #9ea2a2;
  border-radius: 10px;
  transition: all .3s;
  top: 0;
  bottom: 0;
  margin: auto 0
}

.is-spNavOpen .p-groupHeader__spMenuBtn>span {
  background: transparent;
  transition: .3s
}

.p-groupHeader__spMenuBtn>span:after,
.p-groupHeader__spMenuBtn>span:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background: #9ea2a2;
  border-radius: 10px;
  transition: all .3s
}

.p-groupHeader__spMenuBtn>span:before {
  top: -12px
}

.p-groupHeader__spMenuBtn>span:after {
  bottom: -12px
}

@media (max-width: 768px) {
  #l-wrapper #l-header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 20
  }
}

@media screen and (max-width: 768px) {
  .p-groupHeader-01 {
    height: 56px;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 20
  }

  .p-groupHeader-02 {
    height: 32px
  }

  .p-groupHeader-02 .p-groupHeader__groupLogo {
    padding-top: 7px
  }

  .p-groupHeader__groupLogo--sp {
    display: block
  }

  .p-groupHeader-01 .p-groupHeader__groupLogo--sp {
    width: 60px;
    -webkit-transform: translateY(2px);
    transform: translateY(2px)
  }

  .p-groupHeader__groupLogo--pc {
    display: none
  }

  .p-groupHeader__companyLogo {
    margin: 0
  }

  .p-groupHeader__companyLogo img {
    max-height: 15px
  }

  .p-groupHeader-01 .p-groupHeader__lineElement {
    height: 6px
  }

  .p-groupHeader__spMenuBtn {
    display: block;
    width: 32px;
    height: 32px;
    position: relative;
    margin: 0 0 0 auto
  }
}

@media (max-width: 767px) {
  #header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    left: 0;
    z-index: 20
  }

  #header #l-header {
    border-bottom: 1px solid #eaeae9
  }
}

nav {
  display: block;
  position: fixed;
  z-index: 0;
  top: 0;
  left: 0;
  background: #FFF;
  width: 100%;
  height: 100%;
  -webkit-padding-before: 56px;
  padding-block-start: 56px;
  pointer-events: none;
  translate: 0 -100%;
  transition: translate 0.5s
}

nav.isOpen {
  pointer-events: all;
  translate: 0 0
}

nav ul {
  overflow-y: scroll;
  width: 100%;
  height: 100%;
  -webkit-padding-after: 2rem;
  padding-block-end: 2rem
}

nav ul li {
  border-bottom: 1px solid #eaeae9
}

nav ul li a {
  display: block;
  padding-block: 2rem;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  color: #000;
  text-decoration: none
}

@media (hover: hover) and (pointer: fine) {
  nav ul li a {
    transition: color 0.5s
  }

  nav ul li a:hover {
    color: #c24078
  }
}

nav ul li:first-of-type {
  border-top: 1px solid #eaeae9
}

nav ul li.contact {
  margin-inline: auto;
  border-top: none;
  display: -webkit-flex;
  display: flex
}

nav ul li.contact a {
  -webkit-flex: 1;
  flex: 1;
  position: relative;
  z-index: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  gap: 1em;
  background: #f5f5f5;
  padding: 1.5em 1em;
  font-size: 1rem;
  white-space: nowrap
}

nav ul li.contact a:not(:last-child) {
  border-right: 1px solid #dddddd
}

nav ul li.contact a::before {
  display: inline-block;
  content: '';
  aspect-ratio: 30/50;
  width: .6em;
  height: auto;
  background: #d30000;
  -webkit-mask: url(/images/common/ico_arrow-dot.svg) no-repeat center/contain;
  mask: url(/images/common/ico_arrow-dot.svg) no-repeat center/contain
}

nav ul li.isActive a {
  color: #c24078
}

@media (min-width: 768px) {
  nav {
    position: static;
    z-index: auto;
    height: auto;
    pointer-events: all;
    translate: 0 0;
    -webkit-padding-before: 0;
    padding-block-start: 0
  }

  nav ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: stretch;
    align-items: stretch;
    overflow-y: visible;
    width: 100%;
    height: auto;
    -webkit-margin-before: 0;
    margin-block-start: 0;
    border-top: 1px solid #f5f5f5;
    border-bottom: 1px solid #f5f5f5;
    -webkit-padding-start: 1rem;
    padding-inline-start: 1rem;
    -webkit-padding-after: 0;
    padding-block-end: 0
  }

  nav ul li {
    border-bottom: none
  }

  nav ul li a {
    box-sizing: border-box;
    position: relative;
    z-index: 0;
    padding: 1.2em 1em;
    font-size: clamp(0.75rem, calc(0.125rem + 1vw), 1.125rem)
  }

  nav ul li a:after {
    content: "";
    position: absolute;
    z-index: 1;
    left: 50%;
    bottom: 0;
    background: #c24078;
    width: 0;
    height: 3px;
    translate: -50% 0
  }

  nav ul li:first-of-type {
    border-top: none
  }

  nav ul li.contact {
    width: auto;
    -webkit-margin-before: 0;
    margin-block-start: 0;
    -webkit-margin-end: 0;
    margin-inline-end: 0;
    border-top: none
  }

  nav ul li.contact a {
    position: relative;
    z-index: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    gap: 1em;
    padding: 0.75em 1.4em;
    font-size: clamp(0.75rem, calc(0.125rem + 0.8vw), 1.125rem);
    line-height: 1.2
  }

  nav ul li.contact a::before {
    width: .4em
  }

  nav ul li.contact a:after {
    display: none
  }

  nav ul li.isActive a {
    color: #000
  }

  nav ul li.isActive a:after {
    width: calc(100% - 2em)
  }
}

#btnNav {
  position: fixed;
  z-index: 40;
  top: 10px;
  right: 6px;
  display: block;
  aspect-ratio: 1/1;
  width: 40px;
  height: auto
}

#btnNav span {
  position: absolute;
  top: 50%;
  left: 50%;
  background: #c24078;
  width: 70%;
  height: 2px;
  translate: -50% -50%;
  border-radius: 100vmax;
  transition: scale 0.5s 0.5s
}

#btnNav:before,
#btnNav:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #c24078;
  width: 70%;
  height: 2px;
  translate: -50% -50%;
  border-radius: 100vmax;
  transition: top 0.5s 0.5s, rotate 0.5s
}

#btnNav:before {
  top: calc(50% - 8px)
}

#btnNav:after {
  top: calc(50% + 8px)
}

#btnNav.isOpen span {
  scale: 0 1;
  transition: scale 0.5s
}

#btnNav.isOpen:before,
#btnNav.isOpen:after {
  transition: top 0.5s, rotate 0.5s 0.5s
}

#btnNav.isOpen:before {
  top: calc(50% - 0px);
  rotate: z 45deg
}

#btnNav.isOpen:after {
  top: calc(50% + 0px);
  rotate: z -45deg
}

@media (min-width: 768px) {
  #btnNav {
    display: none
  }
}

footer {
  background: #000;
  color: #fff
}

.footerInner {
  text-align: center;
  padding: 1.6em
}

@media (min-width: 1025px) {
  .footerInner {
    padding: 2em
  }
}

.footerInner .txtLinkList {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 2rem;
  -webkit-padding-after: 2.8rem;
  padding-block-end: 2.8rem;
  font-size: 0.9rem
}

.footerInner .txtLinkList li a {
  color: #FFF;
  text-decoration: none
}

@media (hover: hover) and (pointer: fine) {
  .footerInner .txtLinkList li a {
    transition: color 0.5s
  }

  .footerInner .txtLinkList li a:hover {
    color: #ccc
  }
}

.footerInner .bnrList {
  width: 100%;
  max-width: 1500px;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 auto 2.5vw
}

@media (min-width: 768px) {
  .footerInner .bnrList {
    margin: 0 auto
  }
}

@media (min-width: 1025px) {
  .footerInner .bnrList {
    max-width: 1500px;
    margin: 0 auto 15px
  }
}

.footerInner .bnrList li {
  width: calc((100% - 4vw) / 1.5);
  margin: 0 1vw 2vw
}

@media (min-width: 768px) {
  .footerInner .bnrList li {
    width: calc((100% - 10vw) / 4)
  }
}

@media (min-width: 1025px) {
  .footerInner .bnrList li {
    width: calc((100% - 70px) / 5);
    margin: 0 5px 10px
  }
}

@media (min-width: 1025px) {
  .footerInner .bnrList li a img {
    transition: .2s ease-in-out
  }

  .footerInner .bnrList li a img:hover {
    opacity: .5
  }
}

.footerInner .bnrList li img {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: .3s ease-in-out
}

.footerInner .footerLinkList {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 2em;
  letter-spacing: .1em
}

.footerInner .footerLinkList li {
  margin: 0 2em .75em
}

.footerInner .footerLinkList li a:hover {
  border-bottom: 1px solid rgba(255, 255, 255, 0.75)
}

.copyrights {
  font-size: .7rem;
  letter-spacing: .05em
}

@media (min-width: 768px) {
  .copyrights {
    font-size: .9rem
  }
}

@media (min-width: 1025px) {
  .copyrights {
    font-size: .8rem
  }
}

#snav {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 90%;
  margin: 1rem auto;
  font-size: 1rem
}

#snav li a {
  position: relative;
  z-index: 0;
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  padding-block: 0.8rem;
  color: #000;
  text-decoration: none
}

#snav li a:after {
  content: "|";
  position: absolute;
  top: 50%;
  right: 0;
  color: #dbdbdb;
  translate: 0 -50%
}

#snav li.act a {
  font-weight: 700;
  color: #c24078
}

@media (max-width: 767px) {
  #snav li:nth-of-type(2n) a:after {
    display: none
  }
}

@media (min-width: 768px) {
  #snav {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: stretch;
    align-items: stretch;
    width: 100%;
    padding-inline: 2rem
  }

  #snav li a {
    padding: 0.8rem 1rem
  }

  #snav li a:after {
    content: "|";
    position: absolute;
    top: 50%;
    right: 0;
    color: #dbdbdb;
    translate: 0 -50%
  }
}

@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  #snav li a {
    transition: font-weight 0.5s, color 0.5s
  }

  #snav li a:hover {
    font-weight: 700;
    color: #c24078
  }
}

.titCol .titColInner {
  min-height: 10rem
}

@media (min-width: 768px) {
  .titCol .titColInner {
    min-height: 13.75rem
  }
}

.titCol h1 {
  display: grid;
  gap: 0.5rem;
  font-family: "Noto Sans JP", sans-serif, "メイリオ", "Meiryo", sans-serif;
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 1;
  text-align: center
}

.titCol h1:has(span) {
  font-family: "Jost", serif;
  font-size: 3rem;
  text-transform: uppercase;
  font-weight: 500
}

.titCol h1:has(span) span {
  font-family: "Noto Sans JP", sans-serif, "メイリオ", "Meiryo", sans-serif;
  font-size: 1.25rem;
  font-weight: 600
}

@media (min-width: 768px) {
  .titCol h1 {
    font-size: clamp(2.188rem, calc(-1.094rem + 6.84vw), 4.375rem)
  }

  .titCol h1:has(span) {
    font-size: clamp(2.813rem, calc(-1.406rem + 8.79vw), 5.625rem)
  }

  .titCol h1:has(span) span {
    font-size: clamp(0.625rem, calc(-0.313rem + 1.95vw), 1.25rem)
  }
}

.linkList {
  display: grid;
  gap: 1rem
}

.linkList li {
  background: linear-gradient(to right, #fafbfe, #fbf9fb), #fff;
  box-shadow: inset 0px 0px 0.5rem 0.5rem rgba(219, 54, 125, 0.01);
  border-top: 1px solid #e4e4e4;
  border-bottom: 1px solid #e4e4e4;
  font-size: 1rem;
  font-weight: 500;
  word-break: normal
}

.linkList li>* {
  position: relative;
  z-index: 0;
  display: -webkit-flex;
  display: flex;
  gap: 1rem;
  -webkit-flex-flow: column;
  flex-flow: column;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: stretch;
  align-items: stretch;
  width: 100%;
  height: 100%;
  padding: 1.5rem;
  line-height: 1.2;
  word-break: keep-all;
  overflow-wrap: break-word
}

.linkList li>*:has(img) {
  gap: 0.8rem;
  display: grid;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  text-align: center;
  padding-inline: 2.5rem
}

.linkList li>*:has(img) img {
  margin-inline: auto
}

.linkList li>*:has(img) p {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: 100%
}

.linkList li>*:has(h2) {
  -webkit-flex-flow: column;
  flex-flow: column;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-items: stretch;
  align-items: stretch
}

.linkList li>*:has(h2) h2 {
  color: #c24078;
  line-height: 1
}

.linkList li>*:has(h2) p {
  word-break: normal;
  overflow-wrap: normal
}

.linkList li>a {
  -webkit-padding-end: 2.5rem;
  padding-inline-end: 2.5rem;
  color: #000;
  text-decoration: none
}

.linkList li>a::after {
  display: inline-block;
  content: '';
  position: absolute;
  top: 50%;
  right: 1rem;
  width: .6em;
  height: 1em;
  background: #d30000;
  -webkit-mask: url(/images/common/ico_arrow-dot.svg) no-repeat center/cover;
  mask: url(/images/common/ico_arrow-dot.svg) no-repeat center/cover;
  translate: 0 -50%
}

@media (hover: hover) and (pointer: fine) {
  .linkList li>a {
    transition: opacity 0.5s
  }

  .linkList li>a:hover {
    opacity: 0.5
  }
}

@media (min-width: 768px) {
  .linkList {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem
  }
}

.newsList {
  -webkit-margin-before: 2rem;
  margin-block-start: 2rem
}

/* 追加 */
@media screen and (max-width: 768px) {
    
.foot_btm {
    background: #d2628f;
    padding: 4vw 0 1vw;
    color: #fff;
}
.foot_btm_inner {
    width: 92%;
    margin: 0 auto;
}
.foot_btm_ttl {
    font-weight: 400;
    font-size: 3.73vw;
    margin-bottom: 1em;
    letter-spacing: 0.1em;
}
.foot_btm_txt {
    font-size: 3.73vw;
    font-weight: 400;
    line-height: 1.4em;
    max-width: 42rem;
    letter-spacing: 0.1em;
}

.job_head {
    box-sizing: border-box;
    
}
.job_head .job_head_link {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.job_head .job_head_link li {
    font-size: 1.6rem;
    margin-left: 2.8rem;
}
.job_head .job_head_link li a {
    color: #414141;
    text-decoration: none;
}
.job_head .job_head_link .l01 {
    margin-left: 2.5rem;
}
.job_head .job_head_link .l01 a {
    display: block;
    font-size: 1.4rem;
    border-radius: 0.4rem;
    width: 10rem;
    text-align: center;
    background: #d2628f;
    box-sizing: border-box;
    border: solid 1px #d2628f;
    color: #fff;
    padding: 0.7rem 0;
}
.job_head .job_head_link .l01 a:hover {
    background: #fff;
    color: #d2628f;
}
.job_head .job_head_link .l02 {
    margin-left: 0.9rem;
}
.job_head .job_head_link .l02 a {
    display: block;
    font-size: 1.4rem;
    border-radius: 0.4rem;
    width: 10rem;
    text-align: center;
    background: #fff;
    box-sizing: border-box;
    border: solid 1px #d2628f;
    color: #d2628f;
    padding: 0.7rem 0;
}
.job_head .job_head_link .l02 a:hover {
    background: #d2628f;
    color: #fff;
}
.ancr {
    position: relative;
}
.ancr:hover {
    opacity: 0.9;
    cursor: pointer;
}
.anca {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
}
    .pconly {
        display: none !important;
    }
.mv {
    position: relative;
    z-index: 1;
}
.mv .mv_img {
    position: relative;
    z-index: 1;
}
.mv .mv_img img {
    width: 100%;
}
.mv .mv_info {
    position: relative;
    z-index: 2;
    margin-top: -10rem;
}
.mv .mv_inner {
    width: 92%;
    margin: 0 auto;
}
.mv .mv_box {
    width: 100%;
}
.mv .mv_box a:hover {
    opacity: 0.9;
}
.mv .mv_box.topics {
    margin-bottom: 4vw;
    box-sizing: border-box;
    background: url("../images/job/topics_ttl.png") no-repeat center left 1rem #fff;
    background-size: 2.6vw;
    border: solid 1px #414141;
    border-radius: 2vw;
    position: relative;
    padding: 4.5vw 5vw 4.5vw 9vw;
    color: #414141;
    position: relative;
}
.mv .mv_box.topics::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 2vw;
    transform: translateY(-50%);
    width: 2.4vw;
    height: 3rem;
    background: url("../images/job/arr_02.png") no-repeat center;
    background-size: contain;
}
.mv .mv_box.topics .cat {
    display: inline-block;
    color: #fff;
    font-size: 3.73vw;
    font-weight: 700;
    padding: 1vw 3vw;
    background: #f4b500;
    border-radius: 1vw;
    vertical-align: middle;
}
.mv .mv_box.topics .date {
    display: inline-block;
    vertical-align: middle;
    font-size: 3.73vw;
    margin-left: 4vw;
}
.mv .mv_box.topics .ttl {
    font-size: 3.9vw;
    line-height: 1.6em;
    margin-top: 1vw;
}
    
    .p-groupHeader__groupLogo {
        width: 25.6vw;
    }

    .p-groupHeader-01 {
        height: 0;
    }
    
    .head_menu {
        padding-top: 4.53vw;
        background: #fff;
    }
    .head_menu .head_menu_inner {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 4vw;
        box-sizing: border-box;
    }
    .head_menu .head_menu_logo {
        width: 28.9vw;
    }
    .head_menu .head_menu_btn01 {
        width: 22.4vw;
    }
    .head_menu .head_menu_btn01 a {
        color: #fff;
        font-size: 3.2vw;
        font-weight: 700;
        display: block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
        background: #dd7aa1;
        border-radius: 1vw;
        padding: 2vw 0;
        border: solid 1px #dd7aa1;
        text-decoration: none;
    }
    .head_menu .head_menu_btn02 {
        width: 22.4vw;
    }
    .head_menu .head_menu_btn02 a {
        color: #dd7aa1;
        font-size: 3.2vw;
        font-weight: 700;
        display: block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
        background: #fff;
        border: solid 1px #dd7aa1;
        border-radius: 1vw;
        padding: 2vw 0;
        text-decoration: none;
    }
    .head_menu #menu {
        display: none;
    }
    .head_menu #menu:checked + label {
        background-image: url("../images/job/menu_02.png");
    }
    .head_menu #menu:checked + label + .menu_box {
        left: 0;
        transition: 0.3s;
        opacity: 1;
        visibility: visible;
        transition-property: all !important;
    }
    .head_menu label {
        width: 9.3vw;
        display: block;
        height: 9.3vw;
        background: url("../images/job/menu_01.png") no-repeat center;
        background-size: contain;
        position: relative;
        z-index: 4;
    }
    .head_menu .menu_box {
        position: absolute;
        transition: 0.3s;
        left: 100vw;
        opacity: 0;
        visibility: hidden;
        top: 0;
        height: 100vh;
        overflow-y: scroll;
        box-sizing: border-box;
        padding: 23vw 4vw 4vw;
        width: 100%;
        z-index: 2;
        background: #dd7aa1;
    }
    .head_menu .menu_box_list {
        padding-bottom: 60vw;
    }
    .head_menu .menu_box_list li {
        margin-bottom: 4vw;
    }
    .head_menu .menu_box_list li a {
        padding: 4vw 5vw;
        box-sizing: border-box;
        color: #dd7aa1;
        display: block;
        width: 100%;
        text-decoration: none;
        font-size: 4.8vw;
        background: url("../images/job/arr_03.png") no-repeat center right 3vw #fff;
        background-size: 6.6vw;
        border-radius: 1vw;
    }
    .head_menu .menu_box_list2 {
        color: #fff;
        letter-spacing: 0.1em;
        margin-bottom: 8vw;
    }
    .head_menu .menu_box_list2 dt {
        font-size: 3.73vw;
        line-height: 1.5em;
        font-weight: 500;
        margin-top: 8vw;
    }
    .head_menu .menu_box_list2 dd {
        padding: 0.4vw 1.4vw;
        border-left: solid 1px #fff;
        line-height: 1.4em;font-size: 3.73vw;
    }
    .head_menu .menu_box_list2 dd a {
        color: #fff;
        text-decoration: none;
        margin: 0.8vw 0;
        font-size: 3.73vw;
    }
    .head_menu .pp {
        font-size: 3.73vw;
        margin-bottom: 12vw;
    }
    .head_menu .pp a {
        color: #fff;
        text-decoration: none;
    }
    .head_menu .menu_box_btns {
        display: flex;
        justify-content: center;
    }
    .head_menu .menu_box_btns .menu_box_btn a {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 5.73vw;
        font-weight: 700;
        padding: 2vw 0;
        border-radius: 1vw;
        text-decoration: none;
    }
    .head_menu .menu_box_btns .menu_box_btn:nth-child(1) {
        margin-right: 5vw;
    }
    .head_menu .menu_box_btns .menu_box_btn {
        width: 40.9vw;
    }
    .head_menu .menu_box_btns a.btn01 {
        background: #fff;
        border: solid 1px #fff;
        color: #dd7aa1;
    }
    .head_menu .menu_box_btns a.btn02 {
        background: #dd7aa1;
        border: solid 1px #fff;
        color: #fff;
    }
    .head_menu {}
    .head_menu .head_menu_name {
        text-align: right;
        box-sizing: border-box;
        padding: 4vw;
    }
    .head_menu .head_menu_name img {
        width: 56.4vw;
    }
    
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
}
.job_head {
    position: fixed;
    left: 0;
    top: 76px;
    width: 100%;
    z-index: 5;
    background: #fff;
}
main {
    margin-top: 25.8vw;
}
.foot_head {
    background: #ececec;
    padding: 6.6vw 0;
}
.foot_head .foot_head_inner {
    width: 92%;
    max-width: 120rem;
    margin: 0 auto;
}
.foot_head .foot_head_box {
    width: 100%;
    background: url("../images/job/arr_01.png") no-repeat center right 2.66vw #d2628f;
    background-size: 6.6vw;
    box-sizing: border-box;
    border-radius: 2vw;
    padding: 2vw 2.6vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 4vw;
}
    .foot_head .foot_head_box:last-child {
        margin-bottom: 0;
    }
.foot_head .foot_head_box_left {
    width: 27.6vw;
}
.foot_head .foot_head_box_right {
    width: calc(100% - 30vw);
    color: #fff;
    font-size: 4.2vw;
    line-height: 1.5em;
    font-weight: 500;
}
.recArea {
    padding: 10rem 0;
}
.recArea .recArea_ttl {
    background: url("../images/job/recruit_ttkbg.png") no-repeat center left -15vw;
    background-size: 196vw;
    padding-top: 19vw;
    margin-bottom: 6.5vw;
}
.recArea .recArea_ttl .ttl {
     width: 92%;
    margin: 0 auto;
    font-size: 4.26vw;
    color: #d2628f;
    font-weight: 500;
}
.recArea .recArea_boxes {
    width: 92%;
    max-width: 120rem;
    margin: 0 auto;
}
.recArea .recArea_boxes .recArea_box {
    width: 100%;
    position: relative;
    margin-bottom: 4vw;
}
    .recArea .recArea_boxes .recArea_box:last-child {
        margin-bottom: 0;
    }
.recArea .recArea_boxes .recArea_box_btn {
    width: 38vw;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 7.6vw;
}
.recArea .recArea_boxes .recArea_box_btn:hover {
    opacity: 0.9;
    cursor: pointer;
}

#nav {
    display: none;
}
#footer {
    display: none;
}

.jobs_head {
    background: url("../images/job/job_bg_sp.png") no-repeat center;
    background-size: cover;
    text-align: center;
    color: #fff;
    font-size: 4.26vw;
    font-weight: 500;
    padding: 10vw 0;
}

.jobArea {
    padding: 6vw 0 10vw;
}
.jobArea .jobArea_ttl {
    font-size: 3.73vw;
    font-weight: 700;
    color: #d2628f;
    margin-bottom: 6vw;
    position: relative;
}
.jobArea .jobArea_ttl span {
    width: 92%;
    margin: 0 auto;
    position: relative;
    display: block;
}
.jobArea .jobArea_ttl span::before {
    content: '';
    position: absolute;
    display: block;
    height: 1px;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    right: 100%;
    background: #d2628f;
    margin-right: 2vw;
}
.jobArea .jobArea_table {
    box-sizing: border-box;
    overflow-x: scroll;
    margin-left: 4vw;
    position: relative;
}
    @keyframes animation {
  0%{
      left: 17vw;
      opacity: 1;
  }

  20% {
   left: 34vw;
      opacity: 0.6;
  }

  40%{
    left: 17vw;
      opacity: 1;
  }

  60%{
    left: 34vw;
      opacity: 0.6;
  }
  80%{
    left: 17vw;
      opacity: 1;
  }

  100%{
    opacity: 0;
      left: 34vw;
  }
}
    .jobArea .jobArea_table::before {
        content: '';
        display: block;
        width: 58.6vw;
        height: 69vw;
        background: url("../images/job/sc_img.png") no-repeat center;
        background-size: contain;
        position: absolute;
        top: 22vw;
        left: 17vw;
        animation-name: animation;
        animation-fill-mode: forwards;
        animation-delay: 0.5s;
        animation-duration: 2.5s;
    }
.jobArea .jobArea_table table {
    width: 273vw;
}
.jobArea .jobArea_table table tr {}
.jobArea .jobArea_table table tr th {
    background: #d2628f;
    font-size: 3.73vw;
    line-height: 1.6em;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
    border: solid 1px #fff;
    color: #fff;
    padding: 1.5vw;
}
.jobArea .jobArea_table table tr td {
    font-size: 4.2vw;
    line-height: 1.6em;
    color: #414141;
    border: solid 1px #414141;
    padding: 2vw 4vw;
    vertical-align: middle;
}
.jobArea .jobArea_table table tr th.left {
    text-align: left;
    padding: 3vw;
}

.event_head {
    background: url("../images/job/event_bg_sp.png") no-repeat center;
    background-size: cover;
    text-align: center;
    color: #fff;
    font-size: 4.26vw;
    font-weight: 500;
    padding: 10vw 0;
}
.event_body {
    position: relative;
    background: url("../images/job/event_bgmain_sp.png") no-repeat center top;
    background-size: cover;
}
.event_body::before {
   display: none;
}
.event_body .event_body_inner {
    padding: 8.8vw 0;
    width: 92%;
    margin: 0 auto;
}
.event_body .event_body_inner .event_boxes {}
.event_body .event_body_inner .event_boxes .event_box {
    background: #fff;
    margin-bottom: 4vw;
    display: flex;
    justify-content: space-between;
}
.event_body .event_body_inner .event_boxes .event_box:last-child {
    margin-bottom: 0;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left {
    width: 17.3vw;
    background: #d2628f;
    justify-content: center;
    align-items: center;
    color: #fff;
    display: flex;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt {
    width: 100%;
    text-align: center;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt .txt1 {
    font-size: 4.8vw;
    font-family: "Roboto Condensed", sans-serif;
    font-style: italic;
    font-weight: 400;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt .txt2 {
    font-size: 13.3vw;
    font-style: italic;
    font-family: "Roboto Condensed", sans-serif;
    letter-spacing: -0.05em;
    font-weight: 400;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt .txt2 span {
    font-size: 3.73vw;
    font-style: normal;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt {}
.event_body .event_body_inner .event_boxes .event_box .event_box_left {}
.event_body .event_body_inner .event_boxes .event_box .event_box_right {
    width: calc(100% - 17.3vw);
    box-sizing: border-box;
    padding: 2.6vw;
    color: #414141;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .event_box_ttl {
    font-size: 4.26vw;
    line-height: 1.5em;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls {
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl {
    display: flex;
    justify-content: space-between;
    margin-top: 2.66vw;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl dt {
    font-size: 3.73vw;
    color: #fff;
    font-weight: 700;
    width: 16vw;
    text-align: center;
}
    .event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl dt span {
        display: block;
    line-height: 1.6em;
    background: #d2628f;
    }
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl dd {
    width: calc(100% - 19vw);
    font-size: 4.26vw;
    line-height: 1.4em;
}
    .event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl dd a {
        text-decoration: underline;
    }
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl dd span {
    font-style: italic;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 6vw;
    font-weight: 400;
}
}
@media screen and (min-width: 769px) {
    .sponly {
        display: none !important;
    }
    
    .foot_line {
        background: url("../images/job/foot_bg.svg") no-repeat right top #414141;
        padding: 30px 0;
        background-size: 1100px;
    }
    .foot_line .inner {
        width: 90%;
        max-width: 1200px;
        margin: 0 auto;
    }
    .foot_line .inner img {
        width: 160px;
    }
    
.foot_btm {
    background: #d2628f;
    padding: 22px 0 30px;
    color: #fff;
}
.foot_btm_inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}
.foot_btm_ttl {
    font-weight: 400;
    font-size: 14px;
    margin-bottom: 1em;
    letter-spacing: 0.1em;
}
.foot_btm_txt {
    font-size: 10px;
    font-weight: 400;
    line-height: 1.4em;
    max-width: 420px;
    letter-spacing: 0.1em;
}

.job_head {
    box-sizing: border-box;
    padding: 20px 25px;
}
.job_head .job_head_link {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.job_head .job_head_link li {
    font-size: 16px;
    margin-left: 28px;
}
.job_head .job_head_link li a {
    color: #414141;
    text-decoration: none;
}
.job_head .job_head_link .l01 {
    margin-left: 25px;
}
.job_head .job_head_link .l01 a {
    display: block;
    font-size: 14px;
    border-radius: 4px;
    width: 100px;
    text-align: center;
    background: #d2628f;
    box-sizing: border-box;
    border: solid 1px #d2628f;
    color: #fff;
    padding: 7px 0;
}
.job_head .job_head_link .l01 a:hover {
    background: #fff;
    color: #d2628f;
}
.job_head .job_head_link .l02 {
    margin-left: 9px;
}
.job_head .job_head_link .l02 a {
    display: block;
    font-size: 14px;
    border-radius: 4px;
    width: 100px;
    text-align: center;
    background: #fff;
    box-sizing: border-box;
    border: solid 1px #d2628f;
    color: #d2628f;
    padding: 7px 0;
}
.job_head .job_head_link .l02 a:hover {
    background: #d2628f;
    color: #fff;
}
.ancr {
    position: relative;
}
.ancr:hover {
    opacity: 0.9;
    cursor: pointer;
}
.anca {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: block;
}

.mv {
    position: relative;
    z-index: 1;
}
.mv .mv_img {
    position: relative;
    z-index: 1;
}
.mv .mv_img img {
    width: 100%;
}
.mv .mv_info {
    position: relative;
    z-index: 2;
    margin-top: -100px;
}
.mv .mv_inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.mv .mv_box {
    width: 49%;
}
.mv .mv_box a:hover {
    opacity: 0.9;
}
.mv .mv_box.topics {
    box-sizing: border-box;
    background: url("../images/job/topics_ttl.png") no-repeat center left 1rem #fff;
    background-size: 14px;
    border: solid 1px #414141;
    border-radius: 5px;
    position: relative;
    padding: 18px 56px;
    color: #414141;
    position: relative;
}
.mv .mv_box.topics::before {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    width: 15px;
    height: 30px;
    background: url("../images/job/arr_02.png") no-repeat center;
    background-size: contain;
}
.mv .mv_box.topics .cat {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    padding: 7px 20px;
    background: #f4b500;
    border-radius: 0.5rem;
    vertical-align: middle;
}
.mv .mv_box.topics .date {
    display: inline-block;
    vertical-align: middle;
    font-size: 16px;
    margin-left: 10px;
}
.mv .mv_box.topics .ttl {
    font-size: 18px;
    line-height: 1.6em;
    margin-top: 10px;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 5;
}
.job_head {
    position: fixed;
    left: 0;
    top: 76px;
    width: 100%;
    z-index: 5;
    background: #fff;
}
main {
    margin-top: 146px;
}
.foot_head {
    background: #ececec;
    padding: 58px 0;
}
.foot_head .foot_head_inner {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.foot_head .foot_head_box {
    width: 48%;
    background: url("../images/job/arr_01.png") no-repeat center right 15px #d2628f;
    background-size: 35px;
    box-sizing: border-box;
    border-radius: 10px;
    padding: 20px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.foot_head .foot_head_box_left {
    width: 110px;
}
.foot_head .foot_head_box_right {
    width: calc(100% - 130px);
    color: #fff;
    font-size: 15px;
    line-height: 1.6em;
    font-weight: 500;
}
.recArea {
    padding: 100px 0;
}
.recArea .recArea_ttl {
    background: url("../images/job/recruit_ttkbg.png") no-repeat center;
    background-size: 1470px;
    padding-top: 120px;
    margin-bottom: 40px;
}
.recArea .recArea_ttl .ttl {
     width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    font-size: 24px;
    color: #d2628f;
    font-weight: 500;
}
.recArea .recArea_boxes {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}
.recArea .recArea_boxes .recArea_box {
    width: 48.5%;
    position: relative;
}
.recArea .recArea_boxes .recArea_box_btn {
    width: 45%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 37px;
}
.recArea .recArea_boxes .recArea_box_btn:hover {
    opacity: 0.9;
    cursor: pointer;
}

#nav {
    display: none;
}
#footer {
    display: none;
}

.jobs_head {
    background: url("../images/job/job_bg.png") no-repeat center;
    background-size: cover;
    text-align: center;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    padding: 90px 0;
}

.jobArea {
    padding: 90px 0 100px;
}
.jobArea .jobArea_ttl {
    font-size: 24px;
    font-weight: 700;
    color: #d2628f;
    margin-bottom: 75px;
    position: relative;
}
.jobArea .jobArea_ttl span {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
    position: relative;
    display: block;
}
.jobArea .jobArea_ttl span::before {
    content: '';
    position: absolute;
    display: block;
    height: 1px;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    right: 100%;
    background: #d2628f;
    margin-right: 15px;
}
.jobArea .jobArea_table {
    width: 90%;
    max-width: 1100px;
    margin: 0 auto;
}
.jobArea .jobArea_table table {
    width: 100%;
}
.jobArea .jobArea_table table tr {}
.jobArea .jobArea_table table tr th {
    background: #d2628f;
    font-size: 18px;
    line-height: 1.6em;
    font-weight: 500;
    text-align: center;
    vertical-align: middle;
    border: solid 1px #fff;
    color: #fff;
    min-width: 107px;
}
.jobArea .jobArea_table table tr td {
    font-size: 16px;
    line-height: 1.6em;
    color: #414141;
    border: solid 1px #414141;
    padding: 15px 30px;
    vertical-align: middle;
}
.jobArea .jobArea_table table tr th.left {
    text-align: left;
    padding: 10px 20px;
}

.event_head {
    background: url("../images/job/event_bg.png") no-repeat center;
    background-size: cover;
    text-align: center;
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    padding: 90px 0;
}
.event_body {
    position: relative;
    background: url("../images/job/event_bgmain.png") no-repeat center top;
    background-size: cover;
}
.event_body::before {
    content: '';
    width: 110px;
    height: 700px;
    background: url("../images/job/event_bgeng.png") no-repeat left top;
    background-size: contain;
    position: absolute;
    left: 0;
    top: 10px;
}
.event_body .event_body_inner {
    padding: 120px 0;
    width: calc(100% - 220px);
    max-width: 1000px;
    margin: 0 auto;
}
.event_body .event_body_inner .event_boxes {}
.event_body .event_body_inner .event_boxes .event_box {
    background: #fff;
    margin-bottom: 40px;
    display: flex;
    justify-content: space-between;
}
.event_body .event_body_inner .event_boxes .event_box:last-child {
    margin-bottom: 0;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left {
    width: 130px;
    background: #d2628f;
    justify-content: center;
    align-items: center;
    color: #fff;
    display: flex;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt {
    width: 100%;
    text-align: center;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt .txt1 {
    font-size: 36px;
    font-family: "Roboto Condensed", sans-serif;
    font-style: italic;
    font-weight: 400;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt .txt2 {
    font-size: 100px;
    font-style: italic;
    font-family: "Roboto Condensed", sans-serif;
    letter-spacing: -0.05em;
    font-weight: 400;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt .txt2 span {
    font-size: 24px;
    font-style: normal;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_left .txt {}
.event_body .event_body_inner .event_boxes .event_box .event_box_left {}
.event_body .event_body_inner .event_boxes .event_box .event_box_right {
    width: calc(100% - 130px);
    box-sizing: border-box;
    padding: 18px 26px;
    color: #414141;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .event_box_ttl {
    font-size: 30px;
    line-height: 1.5em;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls {
    display: flex;
    flex-wrap: wrap;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl {
    width: 50%;
    display: flex;
    justify-content: space-between;
    margin-top: 18px;
    align-items: center;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl dt {
    font-size: 18px;
    color: #fff;
    font-weight: 700;
    line-height: 1.5em;
    background: #d2628f;
    width: 70px;
    text-align: center;
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl dd {
    width: calc(100% - 90px);
}
.event_body .event_body_inner .event_boxes .event_box .event_box_right .dls dl dd span {
    font-style: italic;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 36px;
    font-weight: 400;
}
}

/*# sourceMappingURL=maps/news.css.map */