a.phone {
  cursor: default
}

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

html {
  font-size: 62.5%
}

html,
body {
  width: 100%
}

* {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit
}

a,
a:visited {
  color: inherit;
  text-decoration: none
}

a:hover {
  opacity: .8;
  transition: .3s;
  cursor: pointer
}

a img:hover {
  opacity: .9;
  transition: .3s
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block
}

*,
::before,
::after {
  box-sizing: border-box;
  list-style-type: none
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit
}

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

ol,
ul {
  list-style: none
}

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

[hidden] {
  display: none !important
}

[disabled] {
  cursor: not-allowed
}

:focus:not(:focus-visible) {
  outline: none
}

.sr-only {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  left: -9999px;
  top: -9999px
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-size: 1.6rem;
  letter-spacing: 0;
  line-height: 1.8;
  color: #111;
  background-color: #fff
}

@media screen and (max-width: 1023px) {
  body {
    font-size: 1.5rem
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 1.4rem
  }
}

body.corporate {
  font-family: "Zen Kaku Gothic New", sans-serif
}

.mdm {
  font-weight: 500
}

.bold {
  font-weight: 700
}

.en {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  color: #19ffef
}

.intr {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0;
  line-height: 1
}

h2,
h3,
h4,
h5,
h6 {
  font-weight: 500
}

.nrw {
  letter-spacing: -0.05em
}

.ta-cntr {
  text-align: center
}

.hd28 {
  font-size: 1.75em
}

@media screen and (max-width: 767px) {
  .hd28 {
    font-size: 1.5em
  }
}

.lg-block {
  display: none
}

@media screen and (max-width: 1279px) {
  .lg-block {
    display: block
  }
}

.lg-none {
  display: block
}

@media screen and (max-width: 1279px) {
  .lg-none {
    display: none
  }
}

.pc-only {
  display: block
}

@media screen and (max-width: 1023px) {
  .pc-only {
    display: none
  }
}

.md-only {
  display: none
}

@media screen and (max-width: 1023px) {
  .md-only {
    display: block
  }
}

.md-block {
  display: none
}

@media screen and (max-width: 1023px) {
  .md-block {
    display: block
  }
}

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

.md-none {
  display: inline-block
}

@media screen and (max-width: 1023px) {
  .md-none {
    display: none
  }
}

.sm-only {
  display: none
}

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

.sm-none {
  display: inline-block
}

@media screen and (max-width: 767px) {
  .sm-none {
    display: none
  }
}

.xs-only {
  display: none
}

@media screen and (max-width: 500px) {
  .xs-only {
    display: block
  }
}

.xs-none {
  display: block
}

@media screen and (max-width: 500px) {
  .xs-none {
    display: none
  }
}

.spTel {
  pointer-events: none
}

@media screen and (max-width: 1023px) {
  a.spTel {
    pointer-events: auto
  }
}

main {
  background-color: #fff;
  overflow: hidden;
  padding-top: 90px
}

@media screen and (max-width: 767px) {
  main {
    padding-top: 60px
  }
}

.corporate main {
  padding-top: 80px
}

@media screen and (max-width: 767px) {
  .corporate main {
    padding-top: 60px
  }
}

.sec {
  padding: 120px 0
}

@media screen and (max-width: 1279px) {
  .sec {
    padding: 80px 0
  }
}

@media screen and (max-width: 767px) {
  .sec {
    padding: 60px 0
  }
}

.sct {
  padding: 100px 0
}

.sct.bg {
  background-color: #ecf5f8
}

@media screen and (max-width: 1279px) {
  .sct {
    padding: 80px 0
  }
}

@media screen and (max-width: 767px) {
  .sct {
    padding: 50px 0
  }
}

.sec .container {
  max-width: 1200px;
  margin: 0 auto
}

@media screen and (max-width: 1279px) {
  .sec .container {
    width: 100%;
    padding: 0 6%
  }
}

.breadcrumb {
  padding: .2em 0 .5em
}

.breadcrumb.bg-wht {
  background-color: #fff;
  text-align: right
}

.breadcrumb .inr {
  max-width: 1192px;
  margin: 0 auto
}

.breadcrumb .inr span {
  color: #8a8a8a
}

.breadcrumb .inr a,
.breadcrumb .inr .breadcrumb_last {
  margin: 0;
  font-size: .75em;
  letter-spacing: .05em;
  line-height: 1.4;
  color: #8a8a8a
}

.breadcrumb .inr a:hover {
  color: #111
}

@media screen and (max-width: 1279px) {
  .breadcrumb {
    max-width: 100%;
    padding: 8px 20px 12px
  }
}

.cnt {
  max-width: 1200px;
  margin: 0 auto
}

@media screen and (max-width: 1279px) {
  .cnt {
    max-width: 100%;
    padding: 0 20px
  }
}

@media screen and (max-width: 767px) {
  .cnt {
    padding: 0 15px
  }
}

.w-cnt {
  max-width: 1440px;
  margin: 0 auto
}

@media screen and (max-width: 1600px) {
  .w-cnt {
    max-width: 1200px
  }
}

@media screen and (max-width: 1279px) {
  .w-cnt {
    max-width: 100%;
    padding: 0 20px
  }
}

@media screen and (max-width: 767px) {
  .w-cnt {
    padding: 0 15px
  }
}

.page main,
.error404 main {
  background-color: #ecf5f8
}

.page main .page-mv,
.error404 main .page-mv {
  padding-top: 80px
}

.page main .page-mv .hd-cntr .en::first-letter,
.error404 main .page-mv .hd-cntr .en::first-letter {
  text-transform: uppercase
}

.page.corporate main,
.error404.corporate main {
  background-color: #fff
}

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

  .page main .page-mv,
  .error404 main .page-mv {
    padding-top: 60px
  }
}

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

  .page main .page-mv,
  .error404 main .page-mv {
    padding-top: 40px
  }
}

.page-sec {
  padding-top: 0
}

.page-sec .cnt {
  border-radius: 4px;
  padding: 80px 120px;
  background-color: #fff
}

.page-sec .cnt .read-text {
  margin-bottom: 60px
}

.page-sec .cnt .unit:not(:last-of-type) {
  margin-bottom: 80px
}

.page-sec .cnt .unit.done {
  max-width: 670px;
  margin: 0 auto
}

.page-sec .cnt .unit .page-hd {
  margin-bottom: 1em;
  font-size: 1.5em
}

.page-sec .cnt .unit .txt-wrap p:not(:last-of-type) {
  margin-bottom: 2em
}

.page-sec .cnt .unit .txt-wrap ul {
  margin-top: 1em
}

.page-sec .cnt .company-name {
  margin-top: 2em;
  padding-top: 1em;
  border-top: solid 1px #b6b8c0;
  text-align: right
}

.page-sec .cnt .btn-wrap {
  margin-bottom: 0
}

.page-sec .cnt .btn-wrap .entry {
  width: 280px;
  height: 80px;
  border-radius: 999px
}

@media screen and (max-width: 1279px) {
  .page-sec {
    padding-top: 0
  }

  .page-sec .cnt {
    margin: 0 40px;
    padding: 80px 100px
  }
}

@media screen and (max-width: 1023px) {
  .page-sec {
    padding-top: 0
  }

  .page-sec .cnt {
    padding: 80px 60px
  }
}

@media screen and (max-width: 767px) {
  .page-sec .cnt {
    margin: 0 20px;
    padding: 40px 30px
  }

  .page-sec .cnt .read-text {
    margin-bottom: 40px
  }

  .page-sec .cnt .unit:not(:last-of-type) {
    margin-bottom: 60px
  }

  .page-sec .cnt .unit .page-hd {
    font-size: 1.28em
  }

  .page-sec .cnt .unit .txt-wrap p:not(:last-of-type) {
    margin-bottom: 2em
  }

  .page-sec .cnt .unit .txt-wrap p.ta-cntr {
    text-align: left
  }

  .page-sec .cnt .unit .txt-wrap ul {
    margin-top: 1em
  }

  .page-sec .cnt .btn-wrap .entry {
    width: 240px;
    height: 60px
  }
}

.cv {
  padding: 20px 0 30px;
  background-color: #0052cc;
  text-align: center
}

.cv .entry {
  margin: 0 auto
}

.cv p {
  display: inline-block;
  font-weight: 500;
  font-size: .875em;
  letter-spacing: .05em;
  color: #fff;
  padding: .5em .7em .5em .9em;
  position: relative
}

.cv p:before,
.cv p:after {
  position: absolute;
  top: .9em;
  height: 1em;
  content: ""
}

.cv p:before {
  border-left: solid 2px #fff;
  left: 0;
  transform: rotate(-30deg)
}

.cv p:after {
  border-right: solid 2px #fff;
  right: 0;
  transform: rotate(30deg)
}

.corporate .cv p {
  color: #dee2ee
}

.corporate .cv p:before {
  border-left: solid 2px #dee2ee
}

.corporate .cv p:after {
  border-right: solid 2px #dee2ee
}

.flow-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -moz-column-gap: 60px;
  column-gap: 60px;
  position: relative
}

.flow-list::before {
  content: "";
  width: 60%;
  height: 1px;
  background-color: #0052cc;
  position: absolute;
  left: 20%;
  top: 90px
}

.flow-list li {
  position: relative;
  z-index: 5
}

.flow-list li figure {
  width: 180px;
  margin: 0 auto 1em;
  position: relative
}

.flow-list li figure .flow-num {
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 9999px;
  background-color: #0c142e;
  font-size: 1.125em;
  line-height: 50px;
  text-align: center;
  color: #fff;
  position: absolute;
  left: 0;
  top: 0
}

.flow-list li .flow-ttl {
  text-align: center;
  font-weight: 700;
  font-size: 1.5em;
  margin-bottom: .6em
}

.flow-list li .desc {
  color: #8a8a8a;
  line-height: 1.6
}

@media screen and (max-width: 1279px) {
  .flow-list {
    -moz-column-gap: 40px;
    column-gap: 40px
  }

  .flow-list li figure {
    margin: 0 auto 1.5em
  }

  .flow-list li .flow-ttl {
    font-size: 1.4em;
    line-height: 1.33;
    margin-bottom: .8em
  }
}

@media screen and (max-width: 767px) {
  .flow-list {
    margin-top: 36px;
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
    column-gap: 0;
    row-gap: 80px
  }

  .flow-list::before {
    display: none
  }

  .flow-list li {
    padding: 0 15px
  }

  .flow-list li:not(:last-of-type) {
    position: relative
  }

  .flow-list li:not(:last-of-type)::after {
    content: "";
    width: 18px;
    height: 20px;
    background: url(./img/common/ico-arw-down.png) no-repeat center/contain;
    position: absolute;
    bottom: -50px;
    left: 50%;
    transform: translateX(-50%)
  }

  .flow-list li figure {
    margin: 0 auto 1em
  }

  .flow-list li .flow-ttl {
    font-size: 1.4em;
    line-height: 1.33;
    margin-bottom: .6em
  }
}

.hd-cntr {
  text-align: center;
  margin-bottom: 3em
}

.hd-cntr .en {
  font-size: 6em
}

.hd-cntr .jp {
  font-size: 1.2em;
  line-height: 1.33;
  color: #0c142e;
  margin-top: .1em
}

.hd-cntr.mt .jp {
  margin-top: .8em
}

@media screen and (max-width: 1279px) {
  .hd-cntr {
    margin-bottom: 2.4em
  }

  .hd-cntr .en {
    font-size: 5.2em
  }

  .hd-cntr .jp {
    font-size: 1.125em;
    line-height: 1.33;
    color: #0c142e;
    margin-top: .1em
  }
}

.heading .intr {
  display: block;
  font-size: 8rem;
  letter-spacing: -0.01em;
  line-height: 1;
  color: #0052cc;
  margin-bottom: .1em;
  position: relative;
  left: -5px
}

.heading h2 {
  display: inline-block;
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.4;
  color: #0052cc;
  margin: 0 4px 2em
}

@media screen and (max-width: 1279px) {
  .heading .intr {
    font-size: 6rem
  }

  .heading h2 {
    font-size: 1.6rem
  }
}

@media screen and (max-width: 767px) {
  .heading .intr {
    font-size: 5.8rem
  }
}

a.entry {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 240px;
  height: 80px;
  border-radius: 40px
}

a.entry span {
  font-weight: 700;
  font-size: 1.25em;
  color: #0c142e
}

a.entry.ylw {
  background-color: #e6ff00
}

a.entry.ylw span {
  color: #0c142e
}

a.entry.trq {
  background-color: #19ffef
}

a.entry.trq span {
  color: #0c142e
}

a.entry.gray {
  background-color: #dee2ee
}

a.entry.wht {
  background-color: #fff
}

a.entry.navy {
  background-color: #0c142e
}

a.entry.navy span {
  color: #fff;
  font-size: 1em;
  letter-spacing: .05em
}

@media screen and (max-width: 1279px) {
  a.entry {
    width: 220px;
    height: 70px
  }

  a.entry span {
    font-size: 1.125em
  }
}

@media screen and (max-width: 767px) {
  a.entry {
    height: 60px
  }

  a.entry.ylw {
    width: 160px
  }
}

.entry.btn {
  position: relative;
  overflow: hidden;
  text-decoration: none;
  outline: none
}

.entry.btn span {
  z-index: 5
}

.entry.btnshine:before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(200, 230, 0, 0) 0%, rgba(230, 255, 180, 0.9) 100%);
  transform: skewX(-25deg)
}

.entry.btnshine:hover {
  opacity: 1
}

.entry.btnshine:hover:before {
  -webkit-animation: shine 1s;
  animation: shine 1s
}

.entry.gray.btnshine:before,
.entry.blue.btnshine:before,
.entry.navy.btnshine:before {
  background: linear-gradient(to right, rgba(200, 230, 0, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  transform: skewX(-25deg)
}

.entry.wht.btnshine {
  transition: ease .3s
}

.entry.wht.btnshine:before {
  background: transparent
}

.entry.wht.btnshine:hover {
  background-color: #19ffef
}

@-webkit-keyframes shine {
  100% {
    left: 125%
  }
}

@keyframes shine {
  100% {
    left: 125%
  }
}

.smoothText {
  overflow: hidden;
  display: block
}

.smoothTextTrigger {
  transition: .5s ease-in-out;
  transform: translate3d(0, 100%, 0) skewY(12deg);
  transform-origin: left;
  display: block
}

.smoothTextTrigger.smoothTextAppear {
  transform: translate3d(0, 0, 0) skewY(0)
}

.fadeRight {
  -webkit-animation-name: fadeRightAnime;
  animation-name: fadeRightAnime;
  -webkit-animation-duration: .7s;
  animation-duration: .7s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0
}

@-webkit-keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(50px)
  }

  to {
    opacity: 1;
    transform: translateX(0)
  }
}

@keyframes fadeRightAnime {
  from {
    opacity: 0;
    transform: translateX(50px)
  }

  to {
    opacity: 1;
    transform: translateX(0)
  }
}

.fadeRightTrigger {
  opacity: 0
}

.fadeUp {
  -webkit-animation-name: fadeUpAnime;
  animation-name: fadeUpAnime;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.fadeUpTrigger {
  opacity: 0
}

.fadeLeft {
  -webkit-animation-name: fadeLeftAnime;
  animation-name: fadeLeftAnime;
  -webkit-animation-duration: .7s;
  animation-duration: .7s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0
}

@-webkit-keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-50px)
  }

  to {
    opacity: 1;
    transform: translateX(0)
  }
}

@keyframes fadeLeftAnime {
  from {
    opacity: 0;
    transform: translateX(-50px)
  }

  to {
    opacity: 1;
    transform: translateX(0)
  }
}

.fadeLeftTrigger {
  opacity: 0
}

.zoomIn {
  -webkit-animation-name: zoomInAnime;
  animation-name: zoomInAnime;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

@-webkit-keyframes zoomInAnime {
  from {
    transform: scale(0.7);
    opacity: 0
  }

  to {
    transform: scale(1);
    opacity: 1
  }
}

@keyframes zoomInAnime {
  from {
    transform: scale(0.7);
    opacity: 0
  }

  to {
    transform: scale(1);
    opacity: 1
  }
}

.zoomOut {
  -webkit-animation-name: zoomOutAnime;
  animation-name: zoomOutAnime;
  -webkit-animation-duration: .8s;
  animation-duration: .8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

@-webkit-keyframes zoomOutAnime {
  from {
    transform: scale(1.4);
    opacity: 0
  }

  to {
    transform: scale(1);
    opacity: 1
  }
}

@keyframes zoomOutAnime {
  from {
    transform: scale(1.4);
    opacity: 0
  }

  to {
    transform: scale(1);
    opacity: 1
  }
}

.fadeDown {
  -webkit-animation-name: fadeDownAnime;
  animation-name: fadeDownAnime;
  -webkit-animation-duration: .5s;
  animation-duration: .5s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0
}

@-webkit-keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

@keyframes fadeDownAnime {
  from {
    opacity: 0;
    transform: translateY(-100px)
  }

  to {
    opacity: 1;
    transform: translateY(0)
  }
}

.fadeDownTrigger {
  opacity: 0;
  z-index: 999
}

.fadeIn {
  -webkit-animation-name: fadeInAnime;
  animation-name: fadeInAnime;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0
}

@-webkit-keyframes fadeInAnime {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes fadeInAnime {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

.floating {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 10;
  -webkit-animation-delay: .4s;
  animation-delay: .4s;
  opacity: 0;
  transform: translateX(200px)
}

.floating.LeftMove {
  -webkit-animation: LeftAnime .5s forwards;
  animation: LeftAnime .5s forwards
}

@-webkit-keyframes LeftAnime {
  from {
    opacity: 0;
    transform: translateX(200px)
  }

  to {
    opacity: 1;
    transform: translateX(0)
  }
}

@keyframes LeftAnime {
  from {
    opacity: 0;
    transform: translateX(200px)
  }

  to {
    opacity: 1;
    transform: translateX(0)
  }
}

.floating.RightMove {
  -webkit-animation: RightAnime .5s forwards;
  animation: RightAnime .5s forwards
}

@-webkit-keyframes RightAnime {
  from {
    opacity: 1;
    transform: translateX(0)
  }

  to {
    opacity: 1;
    transform: translateX(200px)
  }
}

@keyframes RightAnime {
  from {
    opacity: 1;
    transform: translateX(0)
  }

  to {
    opacity: 1;
    transform: translateX(200px)
  }
}

.floating a.entry {
  width: 180px;
  height: 60px;
  border-radius: 30px
}

.floating a.entry span {
  font-size: 1em
}

@media screen and (max-width: 767px) {
  .floating a.entry {
    width: 150px
  }
}

#header {
  width: 100%;
  height: 80px;
  background-color: #fff;
  position: fixed;
  z-index: 9999;
  box-shadow: 5px 6px 18px 0 rgba(0, 0, 0, .05)
}

#header .hd-logo {
  position: absolute;
  width: 66px;
  top: 10px;
  left: 40px
}

#header .hd-logo a {
  display: inline-block;
  width: 100%;
  position: relative
}

#header .hd-logo a:after {
  content: "人生はひとつの仕事で終わらない";
  width: 360px;
  height: 1.2em;
  position: absolute;
  right: -390px;
  top: .8em;
  font-size: 1.125em;
  letter-spacing: .01em
}

#header .hd-logo a img {
  width: 100%;
  height: auto
}

#header .corp {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 160px;
  margin: 0 0 0 auto;
  height: 80px;
  padding-right: 10px;
  background-color: #0052cc;
  text-align: center;
  letter-spacing: .01em;
  line-height: 1.33;
  color: #fff;
  position: relative
}

#header .corp:before {
  content: "";
  position: absolute;
  left: -66px;
  bottom: 0;
  border-left: 66px solid transparent;
  border-bottom: 80px solid #0052cc
}

@media screen and (max-width: 767px) {
  #header {
    height: 60px
  }

  #header .hd-logo {
    width: calc(100% - 135px);
    top: 7px;
    left: 12px
  }

  #header .hd-logo a {
    display: inline-block;
    width: 100%;
    position: relative
  }

  #header .hd-logo a:after {
    content: "人生はひとつの\a仕事で終わらない";
    white-space: pre;
    width: 9em;
    right: 0px;
    left: 60px;
    top: 8px;
    font-size: 1.2rem;
    line-height: 1.33
  }

  #header .hd-logo a img {
    width: 50px
  }

  #header .corp {
    width: 85px;
    height: 60px;
    font-size: 1.2rem;
    padding-right: 10px
  }

  #header .corp:before {
    left: -50px;
    border-left: 50px solid transparent;
    border-bottom: 60px solid #0052cc
  }
}

#header.job-search-hd {
  height: 90px
}

#header.job-search-hd .hd-logo {
  width: 100px;
  top: 15px;
  left: 40px
}

#header.job-search-hd .hd-logo a:after {
  content: "";
  width: 180px;
  height: 18px;
  right: 0px;
  left: 110px;
  top: 22px;
  background: url(./img/common/tagline.svg) no-repeat center/contain
}

#header.job-search-hd .hd-logo a img {
  width: 100%;
  height: auto
}

#header.job-search-hd .corp {
  width: 180px;
  height: 90px;
  padding-right: 0;
  background-color: #0052cc;
  letter-spacing: .05em
}

#header.job-search-hd .corp:before {
  display: none
}

@media screen and (max-width: 1600px) {
  #header.job-search-hd .hd-logo {
    left: 20px
  }
}

@media screen and (max-width: 1279px) {
  #header.job-search-hd .corp {
    background-color: #19ffef;
    color: #0c142e;
    height: 70px
  }

  #header.job-search-hd .corp span {
    line-height: 1.4
  }
}

@media screen and (max-width: 767px) {
  #header.job-search-hd {
    height: 60px
  }

  #header.job-search-hd .hd-logo {
    width: 65px;
    top: 10px;
    left: 15px
  }

  #header.job-search-hd .hd-logo a:after {
    content: "";
    width: 160px;
    height: 27px;
    right: 0px;
    left: 74px;
    top: 7px
  }

  #header.job-search-hd .corp span {
    font-size: 1.5rem
  }
}

#header.job-search-hd nav ul {
  list-style: none;
  display: flex;
  justify-content: center
}

#header.job-search-hd nav ul li {
  position: relative
}

#header.job-search-hd nav ul li a {
  display: block;
  text-decoration: none;
  font-weight: 500;
  font-size: .9375em;
  color: #0c142e;
  padding: 26px 25px;
  transition: ease .3s
}

#header.job-search-hd nav ul li a:hover {
  color: #0052cc
}

@media screen and (max-width: 1439px) {
  #header.job-search-hd nav ul li a {
    padding: 26px 20px
  }
}

@media screen and (max-width: 1279px) {
  #header.job-search-hd nav {
    padding: 0
  }

  #header.job-search-hd nav ul {
    display: block
  }

  #header.job-search-hd nav ul li a {
    padding: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .2)
  }

  #header.job-search-hd nav.panelactive ul li a {
    color: #19ffef
  }
}

@media screen and (max-width: 767px) {
  #header.job-search-hd nav ul li a {
    font-size: 1.5rem
  }
}

@media screen and (max-width: 1279px) {
  #g-nav {
    position: fixed;
    z-index: 999;
    top: 0;
    right: -100vw;
    width: 100%;
    height: 100vh;
    background: #0c142e;
    transition: ease .3s
  }

  #g-nav.panelactive {
    right: 0
  }

  #g-nav.panelactive #g-nav-list {
    position: fixed;
    z-index: 999;
    width: auto;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch
  }

  #g-nav ul {
    width: 360px;
    margin: 0 auto 30px
  }

  #g-nav ul li {
    list-style: none;
    text-align: center
  }

  #g-nav ul li a {
    text-decoration: none;
    padding: 10px;
    display: block;
    text-transform: uppercase;
    letter-spacing: .1em
  }
}

@media screen and (max-width: 767px) {
  #g-nav ul {
    width: 100vw
  }
}

.g-nav-openbtn {
  display: none
}

@media screen and (max-width: 1279px) {
  .g-nav-openbtn {
    display: block;
    position: fixed;
    z-index: 9999;
    top: 20px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px
  }

  .g-nav-openbtn .openbtn-area {
    transition: ease .3s
  }

  .g-nav-openbtn span {
    display: inline-block;
    transition: ease .3s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background: #0c142e;
    width: 45%
  }

  .g-nav-openbtn span:nth-of-type(1) {
    top: 15px
  }

  .g-nav-openbtn span:nth-of-type(2) {
    top: 23px
  }

  .g-nav-openbtn span:nth-of-type(3) {
    top: 31px
  }

  .g-nav-openbtn.active .openbtn-area {
    transform: rotateY(-360deg)
  }

  .g-nav-openbtn.active span {
    background: #fff
  }

  .g-nav-openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-135deg);
    width: 30%
  }

  .g-nav-openbtn.active span:nth-of-type(2) {
    opacity: 0
  }

  .g-nav-openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(135deg);
    width: 30%
  }
}

@media screen and (max-width: 767px) {
  .g-nav-openbtn {
    top: 5px
  }
}

.nav01c li a {
  position: relative
}

.nav01c li a:hover:after {
  transform: scale(1, 1)
}

.nav01c li a:after {
  content: "";
  position: absolute;
  bottom: 6px;
  left: 20%;
  width: 58%;
  height: 2px;
  background: transparent;
  transition: ease .3s;
  transform: scale(0, 1);
  transform-origin: left top
}

.nav01c li.current a {
  color: #eee
}

.nav01c li.current a:after {
  transform: scale(1, 1)
}

@media screen and (max-width: 1279px) {
  .nav01c li a:after {
    display: none
  }
}

#header {
  transition: ease .3s
}

#header nav {
  width: 100%;
  transition: ease .3s
}

#header nav #g-nav-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: ease .3s
}

#header nav #g-nav-list .menu-flex {
  margin: 0 30px 0 auto;
  transition: ease .3s
}

#header nav .btns {
  transition: ease .2s
}

#header nav .btns a {
  transition: ease .2s
}

#header nav .btns a.en {
  font-size: 1.6rem
}

#header .open-btn {
  display: none
}

@media screen and (max-width: 1439px) {
  #header nav #g-nav-list .menu-flex {
    margin: 0 20px 0 auto
  }
}

@media screen and (max-width: 1279px) {
  #header nav {
    width: 360px
  }

  #header nav #g-nav-list {
    width: auto;
    justify-content: flex-start;
    flex-direction: column;
    padding: 70px 0 50px
  }

  #header nav #g-nav-list .menu-flex {
    margin: 0 auto
  }

  #header nav .btns {
    height: 70px
  }

  #header nav .btns a {
    line-height: 70px;
    width: 280px;
    padding: 0
  }
}

@media screen and (max-width: 767px) {
  #header nav {
    width: 100%
  }
}

footer {
  padding: 50px 0 55px;
  border-top: solid 1px #dee2ee;
  background-color: #fff
}

footer .container {
  max-width: 1200px;
  margin: 0 auto
}

footer .container .fig {
  display: flex;
  margin-bottom: 36px
}

footer .container .fig .bitmix {
  width: 119px;
  margin-right: 40px
}

footer .container .fig .skill-design {
  width: 78px
}

footer .container .fig figure img {
  width: 100%
}

footer .container .fig figure figcaption {
  font-size: 1.2rem
}

footer .container .end-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

footer .container .end-flex ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

footer .container .end-flex ul li {
  padding-right: 1.5em;
  margin-right: 1.5em;
  font-size: 1.4rem;
  letter-spacing: .1em;
  line-height: 1
}

footer .container .end-flex ul li:not(:last-child) {
  border-right: solid 1px #dee2ee
}

footer .container .end-flex ul li:last-child {
  font-size: 1.2rem;
  margin-right: 0;
  padding-right: 0
}

footer .container .end-flex p {
  font-size: 1.2rem;
  letter-spacing: .1em
}

@media screen and (max-width: 1279px) {
  footer {
    padding: 40px 0 45px
  }

  footer .container {
    max-width: 100%;
    padding: 0 6%
  }

  footer .container .end-flex ul {
    margin-bottom: 10px
  }

  footer .container .end-flex ul p {
    font-size: 1.1rem
  }
}

@media screen and (max-width: 1023px) {
  footer .container .end-flex ul {
    width: 100%
  }

  footer .container .end-flex ul li {
    width: 100%;
    border-top: solid 1px #dee2ee;
    font-size: 1.2rem
  }

  footer .container .end-flex ul li:not(:last-child) {
    border-right: 0;
    margin-right: 0;
    padding-right: 0
  }

  footer .container .end-flex ul li a {
    padding: 10px 0;
    display: block
  }

  footer .container .end-flex ul li:last-child {
    padding: 36px 0 0
  }
}

footer.job-search-ft {
  padding: 60px 0;
  border-top: 0px;
  background-color: #e4f4fd
}

footer.job-search-ft .cnt {
  max-width: 1440px;
  margin: 0 auto
}

footer.job-search-ft .cnt a .cap {
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: .05em;
  line-height: 1;
  color: #0c142e
}

footer.job-search-ft .cnt a .ft-logo {
  width: 136px;
  margin-top: 12px
}

footer.job-search-ft .cnt .ft-flex {
  margin-top: 1em;
  display: flex;
  justify-content: space-between;
  align-items: flex-end
}

footer.job-search-ft .cnt .ft-flex .ft-sitemap {
  display: flex;
  flex-wrap: wrap
}

footer.job-search-ft .cnt .ft-flex .ft-sitemap li {
  margin-right: 30px
}

footer.job-search-ft .cnt .ft-flex .ft-sitemap li a {
  font-weight: 500;
  font-size: .875em;
  color: #0c142e;
  padding-left: 1em;
  position: relative
}

footer.job-search-ft .cnt .ft-flex .ft-sitemap li a::before {
  content: "";
  width: 10px;
  height: 10px;
  background: url(./img/common/ico-arw-right.png) no-repeat center/contain;
  position: absolute;
  left: 0;
  top: .4em
}

footer.job-search-ft .cnt .ft-flex .gry-lines {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end
}

footer.job-search-ft .cnt .ft-flex .gry-lines li {
  font-size: 1.2rem;
  letter-spacing: .05em;
  color: #8a8a8a
}

@media screen and (max-width: 1600px) {
  footer.job-search-ft .cnt {
    max-width: 1200px
  }

  footer.job-search-ft .cnt .ft-flex .ft-sitemap {
    width: calc(100% - 360px)
  }

  footer.job-search-ft .cnt .ft-flex .gry-lines {
    width: 360px
  }
}

@media screen and (max-width: 1279px) {
  footer.job-search-ft .cnt {
    max-width: 100%;
    padding: 0 40px
  }

  footer.job-search-ft .cnt .ft-flex {
    flex-wrap: wrap;
    margin-top: 2em
  }

  footer.job-search-ft .cnt .ft-flex .ft-sitemap {
    flex-wrap: wrap
  }
}

@media screen and (max-width: 1023px) {
  footer.job-search-ft .cnt .ft-flex {
    margin-top: 2em
  }

  footer.job-search-ft .cnt .ft-flex .ft-sitemap {
    width: 100%
  }

  footer.job-search-ft .cnt .ft-flex .ft-sitemap li {
    margin-right: 0;
    width: 28%
  }

  footer.job-search-ft .cnt .ft-flex .ft-sitemap li a {
    font-size: .9375em
  }

  footer.job-search-ft .cnt .ft-flex .gry-lines {
    width: 100%;
    justify-content: flex-start;
    margin-top: 1em
  }

  footer.job-search-ft .cnt .ft-flex .gry-lines li:not(:last-child) {
    margin-right: 30px
  }
}

@media screen and (max-width: 767px) {
  footer.job-search-ft {
    padding: 40px 0
  }

  footer.job-search-ft .cnt {
    padding: 0 20px
  }

  footer.job-search-ft .cnt .ft-flex .ft-sitemap li {
    margin-bottom: 8px;
    width: 50%
  }
}

.line {
  max-width: 1440px;
  margin: 100px auto;
  padding: 60px 120px;
  background-color: #07b53b
}

.line .line-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

.line .line-flex .ttl-area {
  width: 50%
}

.line .line-flex .ttl-area h2 {
  font-size: 1.875em;
  color: #e6ff00;
  border-bottom: solid 1px #fff;
  padding-bottom: 24px;
  margin-bottom: 24px
}

.line .line-flex .ttl-area h2 .line-logo {
  width: 80%;
  margin-bottom: 10px
}

.line .line-flex .ttl-area p {
  color: #fff;
  line-height: 1.6
}

.line .line-flex .friend {
  width: 46%;
  padding: 24px 80px 30px;
  background-color: #fff;
  border-radius: 4px
}

.line .line-flex .friend h3 {
  text-align: center;
  font-size: 1.5em;
  color: #07b53b;
  margin-bottom: 1em
}

.line .line-flex .friend .add-flex {
  display: flex;
  justify-content: space-between
}

.line .line-flex .friend .add-flex div p {
  text-align: center;
  font-size: .875em;
  line-height: 1.3;
  margin-bottom: .4em
}

.line .line-flex .friend .add-flex .scan .qr {
  width: 120px
}

.line .line-flex .friend .add-flex .scan .qr img {
  width: 100%
}

.line .line-flex .friend .add-flex .tap .line-btn-wrap {
  margin: 12px auto 0
}

.line .line-flex .friend .add-flex .tap .line-btn-wrap a {
  display: block;
  max-width: 220px;
  margin: 0 auto
}

@media screen and (max-width: 1600px) {
  .line {
    max-width: 1200px;
    padding: 60px 80px
  }

  .line .line-flex .friend {
    padding: 24px 60px 30px
  }

  .line .line-flex .friend .add-flex .scan .qr {
    width: 100px
  }
}

@media screen and (max-width: 1279px) {
  .line {
    max-width: 100%;
    margin: 80px 6% 100px;
    padding: 30px 40px
  }

  .line .line-flex .ttl-area {
    width: 50%
  }

  .line .line-flex .ttl-area h2 {
    font-size: 1.5em;
    padding-bottom: 20px;
    margin-bottom: 20px
  }

  .line .line-flex .ttl-area h2 .line-logo {
    margin-bottom: 8px
  }

  .line .line-flex .friend {
    width: 46%;
    padding: 24px 30px 24px
  }

  .line .line-flex .friend h3 {
    font-size: 1.5em
  }

  .line .line-flex .friend .tap .line-btn-wrap a {
    max-width: 200px
  }
}

@media screen and (max-width: 1023px) {
  .line {
    margin: 0;
    padding: 50px 6% 100px
  }

  .line .line-flex .ttl-area {
    width: 45%
  }

  .line .line-flex .ttl-area h2 .line-logo {
    width: 100%
  }

  .line .line-flex .friend {
    width: 52%;
    padding: 20px 30px
  }

  .line .line-flex .friend .add-flex .tap .line-btn-wrap {
    margin: 16px auto 0
  }

  .line .line-flex .friend .add-flex .tap .line-btn-wrap a {
    max-width: 180px
  }
}

@media screen and (max-width: 767px) {
  .line {
    padding: 50px 20px 100px
  }

  .line .line-flex {
    flex-direction: column
  }

  .line .line-flex .ttl-area {
    width: 100%;
    padding: 0 15px;
    margin-bottom: 20px
  }

  .line .line-flex .ttl-area h2 .line-logo {
    width: 100%
  }

  .line .line-flex .friend {
    width: 100%;
    padding: 25px 0 30px
  }

  .line .line-flex .friend h3 {
    margin-bottom: .6em
  }

  .line .line-flex .friend .add-flex {
    justify-content: center
  }

  .line .line-flex .friend .add-flex .tap p {
    font-size: 1em
  }
}

.fadeDownTrigger {
  opacity: 1
}

.entry #header .corp,
.apply #header .corp,
.recruiter #header .corp {
  display: none
}

.entry .page-sec .cnt,
.recruiter .page-sec .cnt,
.apply .page-sec .cnt {
  max-width: 960px;
  padding: 0;
  background-color: transparent;
  margin: 0 auto
}

.entry .page-sec .cnt .form-desc,
.recruiter .page-sec .cnt .form-desc,
.apply .page-sec .cnt .form-desc {
  margin-bottom: 30px
}

.entry .page-sec .cnt .form dl,
.recruiter .page-sec .cnt .form dl,
.apply .page-sec .cnt .form dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.entry .page-sec .cnt .form dl dt,
.recruiter .page-sec .cnt .form dl dt,
.apply .page-sec .cnt .form dl dt {
  width: 24%;
  padding: 10px 1.2em;
  background-color: #0c142e;
  color: #fff;
  text-align: left;
  font-weight: 400;
  margin-bottom: 10px
}

.entry .page-sec .cnt .form dl dt .required,
.entry .page-sec .cnt .form dl dt .optional,
.recruiter .page-sec .cnt .form dl dt .required,
.recruiter .page-sec .cnt .form dl dt .optional,
.apply .page-sec .cnt .form dl dt .required,
.apply .page-sec .cnt .form dl dt .optional {
  display: none
}

.entry .page-sec .cnt .form dl dd,
.recruiter .page-sec .cnt .form dl dd,
.apply .page-sec .cnt .form dl dd {
  width: 75%;
  margin-bottom: 10px
}

.entry .page-sec .cnt .form .error_blank,
.recruiter .page-sec .cnt .form .error_blank,
.apply .page-sec .cnt .form .error_blank {
  display: block;
  margin: 10px 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  color: #ff4d4d
}

.entry .page-sec .cnt .form input[type=text],
.entry .page-sec .cnt .form input[type=email],
.entry .page-sec .cnt .form textarea,
.recruiter .page-sec .cnt .form input[type=text],
.recruiter .page-sec .cnt .form input[type=email],
.recruiter .page-sec .cnt .form textarea,
.apply .page-sec .cnt .form input[type=text],
.apply .page-sec .cnt .form input[type=email],
.apply .page-sec .cnt .form textarea {
  background: #fff;
  border: solid 1px #fff;
  padding: 10px;
  display: block;
  width: 100%;
  font-size: 1.6rem;
  letter-spacing: .1em;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.entry .page-sec .cnt .form textarea,
.recruiter .page-sec .cnt .form textarea,
.apply .page-sec .cnt .form textarea {
  height: 100px
}

.entry .page-sec .cnt .form .btn__submit,
.recruiter .page-sec .cnt .form .btn__submit,
.apply .page-sec .cnt .form .btn__submit {
  display: block;
  margin: auto;
  padding: 20px
}

.entry .page-sec .cnt .form .btn__submit input[type=button],
.recruiter .page-sec .cnt .form .btn__submit input[type=button],
.apply .page-sec .cnt .form .btn__submit input[type=button] {
  display: block;
  width: 280px;
  margin: 0 auto 90px;
  height: 60px;
  border-radius: 30px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
  line-height: 55px;
  color: #fff;
  background: #0052cc;
  cursor: pointer;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: all .3s
}

.entry .page-sec .cnt .form .btn__submit :hover input[type=button],
.recruiter .page-sec .cnt .form .btn__submit :hover input[type=button],
.apply .page-sec .cnt .form .btn__submit :hover input[type=button] {
  background: #0c142e
}

.entry .page-sec .cnt .form #agreement,
.recruiter .page-sec .cnt .form #agreement,
.apply .page-sec .cnt .form #agreement {
  border-bottom: 0px
}

.entry .page-sec .cnt .form #agreement #agree_check,
.recruiter .page-sec .cnt .form #agreement #agree_check,
.apply .page-sec .cnt .form #agreement #agree_check {
  font-weight: 500;
  font-size: 1.4rem
}

.entry .page-sec .cnt .form #agreement #agree_check a,
.recruiter .page-sec .cnt .form #agreement #agree_check a,
.apply .page-sec .cnt .form #agreement #agree_check a {
  text-decoration: underline
}

.entry .page-sec .cnt .form #agreement #agree_check .error_check,
.recruiter .page-sec .cnt .form #agreement #agree_check .error_check,
.apply .page-sec .cnt .form #agreement #agree_check .error_check {
  color: red;
  margin: 3px 0 10px;
  font-weight: 500;
  line-height: 1;
  font-size: 1.2rem
}

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

  .entry .page-sec .cnt,
  .recruiter .page-sec .cnt,
  .apply .page-sec .cnt {
    padding: 0 20px
  }

  .entry .page-sec .cnt .form dl dt,
  .recruiter .page-sec .cnt .form dl dt,
  .apply .page-sec .cnt .form dl dt {
    width: 27%
  }

  .entry .page-sec .cnt .form dl dd,
  .recruiter .page-sec .cnt .form dl dd,
  .apply .page-sec .cnt .form dl dd {
    width: 71.6%
  }
}

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

  .entry .page-sec .cnt .form dl dt,
  .recruiter .page-sec .cnt .form dl dt,
  .apply .page-sec .cnt .form dl dt {
    width: 100%;
    padding: 0 10px;
    margin-bottom: 0
  }

  .entry .page-sec .cnt .form dl dd,
  .recruiter .page-sec .cnt .form dl dd,
  .apply .page-sec .cnt .form dl dd {
    width: 100%
  }

  .entry .page-sec .cnt .form dl dd:not(:last-child),
  .recruiter .page-sec .cnt .form dl dd:not(:last-child),
  .apply .page-sec .cnt .form dl dd:not(:last-child) {
    margin-bottom: 10px
  }

  .entry .page-sec .cnt .form .btn__submit input[type=button],
  .recruiter .page-sec .cnt .form .btn__submit input[type=button],
  .apply .page-sec .cnt .form .btn__submit input[type=button] {
    width: 80%
  }

  .entry .page-sec .cnt .desc,
  .recruiter .page-sec .cnt .desc,
  .apply .page-sec .cnt .desc {
    text-align: left
  }
}

.pp-wrap {
  max-width: 960px;
  margin: 0 auto;
  background-color: #fff;
  margin-top: 50px
}

@media screen and (max-width: 1279px) {
  .pp-wrap {
    max-width: 100%;
    padding-top: 0 40px
  }
}

@media screen and (max-width: 767px) {
  .pp-wrap {
    padding-top: 0 20px
  }
}

.pp-wrap .read-text {
  margin-bottom: 60px
}

.pp-wrap .unit:not(:last-of-type) {
  margin-bottom: 80px
}

.pp-wrap .unit .pp-ttl {
  margin-bottom: 1em
}

.pp-wrap .unit .txt-wrap p:not(:last-of-type) {
  margin-bottom: 2em
}

.pp-wrap .unit .txt-wrap ul {
  margin-top: 1em
}

.pp-wrap .company-name {
  margin-top: 2em;
  padding-top: 1em;
  border-top: solid 1px #b6b8c0;
  text-align: right
}

@media screen and (max-width: 767px) {
  .pp-wrap .read-text {
    margin-bottom: 40px
  }

  .pp-wrap .unit:not(:last-of-type) {
    margin-bottom: 60px
  }

  .pp-wrap .unit .pp-ttl {
    margin-bottom: 1em
  }

  .pp-wrap .unit .txt-wrap p:not(:last-of-type) {
    margin-bottom: 2em
  }

  .pp-wrap .unit .txt-wrap ul {
    margin-top: 1em
  }
}

.mw_wp_form_confirm .form-desc,
.mw_wp_form_confirm .agr-policy {
  display: none
}

.mw_wp_form_confirm .form-tbl tr td {
  background-color: #fff;
  border: solid 1px #b6b8c0;
  min-height: 50px;
  padding: 10px
}

@media screen and (max-width: 767px) {
  .mw_wp_form_confirm .form-tbl tr td {
    min-height: 40px
  }
}

.agr-policy {
  margin-top: 40px
}

.agr-policy .policy-ttl {
  text-align: center
}

.agr-policy .pp-wrap {
  margin-top: 10px;
  border-radius: 0px
}

.agr-policy .policy-box {
  width: 100%;
  height: 200px;
  border: 1px solid #b6b8c0;
  overflow-y: scroll;
  padding: 20px 24px
}

.agr-policy .policy-box .read-text {
  font-size: .875em;
  line-height: 1.6;
  letter-spacing: .01em;
  margin-bottom: 30px
}

.agr-policy .policy-box .company-name {
  font-size: .9375em
}

.agr-policy .policy-box .unit:not(:last-of-type) {
  margin-bottom: 40px
}

.agr-policy .policy-box .unit .pp-ttl {
  margin-bottom: .5em;
  font-size: 1em
}

.agr-policy .policy-box .unit .txt-wrap p {
  font-size: .875em
}

.agr-policy .policy-box .unit .txt-wrap p:not(:last-of-type) {
  margin-bottom: 1em
}

.agr-policy .policy-box .unit .txt-wrap ul {
  margin-top: .5em;
  font-size: .875em
}

@media screen and (max-width: 767px) {
  .agr-policy {
    margin-top: 20px
  }
}

.btn-wrap .form-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 300px;
  height: 70px;
  border-radius: 4px;
  background-color: #0052cc;
  color: #fff;
  margin: 0 auto 40px;
  border: 0px;
  font-size: 1.125em;
  font-weight: 500;
  cursor: pointer;
  transition: ease .3s
}

.btn-wrap .form-btn:hover {
  background-color: #0c142e
}

.thanks-message {
  padding: 70px 0;
  background-color: #dee2ee
}

.thanks-message .container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center
}

.thanks-message .container .logo {
  width: 220px;
  margin: 0 auto 30px;
  padding-right: 20px
}

.thanks-message .container .logo img {
  width: 100%
}

.thanks-message .container h1 {
  width: 100%;
  position: static;
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: .4em
}

.thanks-message .container p {
  text-align: center;
  line-height: 1.5
}

.thanks-message .container h2 {
  text-align: center;
  font-weight: 400;
  font-size: 1.6rem;
  margin: 2.4em 0 .4em
}

.thanks-message .container .case-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.thanks-message .container .case-flex .case {
  width: 49%;
  padding: 20px 30px 24px;
  background-color: #fff
}

.thanks-message .container .case-flex .case h3 {
  font-size: 1.6rem;
  margin-bottom: .4em
}

.thanks-message .container .case-flex .case p {
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.5
}

@media screen and (max-width: 1279px) {
  .thanks-message .container {
    width: 100%;
    padding: 0 6%
  }

  .thanks-message .container h2 {
    line-height: 1.4;
    margin-bottom: 1em
  }

  .thanks-message .container .case-flex .case h3 {
    line-height: 1.4;
    margin-bottom: 1em
  }
}

@media screen and (max-width: 767px) {
  .thanks-message {
    padding: 50px 0
  }

  .thanks-message .container .logo {
    width: 180px;
    margin: 0 auto 30px;
    padding-right: 10px
  }

  .thanks-message .container h1 {
    margin: 0 auto 1.2em;
    line-height: 1.33
  }

  .thanks-message .container h2 {
    text-align: left;
    font-size: 1.4rem
  }

  .thanks-message .container .case-flex .case {
    width: 100%
  }

  .thanks-message .container .case-flex .case:not(:last-child) {
    margin-bottom: 20px
  }

  .thanks-message .container p {
    text-align: left
  }
}

#splash {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: #0c142e;
  text-align: center;
  color: #fff
}

#splash #splash_logo {
  width: 320px;
  overflow: hidden;
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%)
}

#splash #splash_logo:before {
  -webkit-animation: splash_logo 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  animation: splash_logo 2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  background: #0c142e;
  bottom: 0;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1
}

#splash #splash_logo svg {
  width: 200px
}

#splash #splash_logo #mask .st0 {
  fill: none;
  stroke: #fff;
  stroke-width: 90;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
  stroke-dasharray: 1500;
  stroke-dashoffset: 1500
}

@-webkit-keyframes splash_logo {
  100% {
    transform: translateX(100%)
  }
}

@keyframes splash_logo {
  100% {
    transform: translateX(100%)
  }
}

.splashbg {
  display: none;
  content: "";
  position: fixed;
  transform: scale(100);
  background-color: #0c142e;
  z-index: 999;
  top: calc(50% - 1rem);
  left: calc(50% - 1rem);
  width: 2rem;
  height: 2rem
}

body {
  background: #fff
}

body.appear {
  background: #fff
}

body.appear .splashbg {
  display: block;
  border-radius: 50%;
  -webkit-animation-name: PageAnime;
  animation-name: PageAnime;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards
}

@-webkit-keyframes PageAnime {
  0% {
    transform: scale(100)
  }

  100% {
    transform: scale(0);
    display: none
  }
}

@keyframes PageAnime {
  0% {
    transform: scale(100)
  }

  100% {
    transform: scale(0);
    display: none
  }
}

#wrapper {
  background: #fff;
  overflow-x: hidden
}

body.appear #wrapper {
  -webkit-animation-name: PageAnimeAppear;
  animation-name: PageAnimeAppear;
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-delay: .8s;
  animation-delay: .8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0
}

@-webkit-keyframes PageAnimeAppear {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

.mv .target {
  background-image: url(./img/lp/top/bg-mv.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover
}

.mv .target .tg-inr {
  max-width: 81.77vw;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.mv .target .tg-inr .txt-area {
  width: 31vw;
  padding: 11vw 0
}

.mv .target .tg-inr .txt-area .sub-copy {
  width: 100%;
  margin-bottom: 20px
}

.mv .target .tg-inr .txt-area .main-copy {
  width: 89%;
  margin-bottom: 30px
}

.mv .target .tg-inr .txt-area .status {
  display: flex
}

.mv .target .tg-inr .txt-area .status h3 {
  padding: .2em .6em .3em;
  border: solid 1px rgba(12, 20, 46, .5);
  font-size: 1.125em;
  line-height: 1;
  color: #0c142e
}

.mv .target .tg-inr .txt-area .status h3:not(:last-child) {
  margin-right: 8px
}

@media screen and (max-width: 1279px) {
  .mv .target .tg-inr {
    max-width: 91.77vw
  }

  .mv .target .tg-inr .txt-area {
    width: 41vw
  }

  .mv .target .tg-inr .txt-area .sub-copy {
    margin-bottom: 16px
  }
}

@media screen and (max-width: 1023px) {
  .mv .target .tg-inr {
    justify-content: center
  }

  .mv .target .tg-inr .txt-area {
    width: 100%;
    text-align: center;
    padding: 8vw 0 0
  }

  .mv .target .tg-inr .txt-area .main-copy {
    margin: 0 auto 30px
  }

  .mv .target .tg-inr .txt-area .status {
    justify-content: center
  }
}

@media screen and (max-width: 767px) {
  .mv .target .tg-inr {
    max-width: 100vw
  }

  .mv .target .tg-inr .txt-area {
    padding: 32px 26px 0
  }

  .mv .target .tg-inr .txt-area .sub-copy {
    margin-bottom: 3px
  }

  .mv .target .tg-inr .txt-area .main-copy {
    width: 75%;
    margin: 0 auto 14px
  }

  .mv .target .tg-inr .txt-area .status h3 {
    padding: .2em .6em .3em;
    font-size: 1.2rem
  }

  .mv .target .tg-inr .txt-area .status h3:not(:last-child) {
    margin-right: 5px
  }
}

@media screen and (min-width: 1921px) {
  .mv .target .tg-inr {
    max-width: 1570px
  }

  .mv .target .tg-inr .txt-area {
    width: 595px;
    padding: 211px 0
  }
}

.mv .target {
  background-position: right 36% bottom
}

.mv .target .tg-inr .fig {
  width: 49.77vw;
  display: flex;
  align-items: flex-end;
  position: relative;
  overflow: hidden
}

.mv .target .tg-inr .fig figure {
  position: absolute;
  bottom: -2px
}

.mv .target .tg-inr .fig figure:nth-child(1) {
  -webkit-animation-delay: .4s;
  animation-delay: .4s;
  left: 0;
  width: 29vw;
  height: 29vw
}

.mv .target .tg-inr .fig figure:nth-child(2) {
  -webkit-animation-delay: .8s;
  animation-delay: .8s;
  left: 19.84vw;
  bottom: -40px;
  width: 18.49vw;
  height: 24vw;
  z-index: 5
}

.mv .target .tg-inr .fig figure:nth-child(3) {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
  left: 32.9vw;
  width: 16.98vw;
  height: 24.42vw
}

@media screen and (max-width: 1023px) {
  .mv .target .tg-inr .fig {
    width: 100%;
    min-height: 54vw
  }

  .mv .target .tg-inr .fig figure:nth-child(1) {
    width: 58%;
    height: auto
  }

  .mv .target .tg-inr .fig figure:nth-child(2) {
    left: 37%;
    bottom: -30px;
    width: 38%;
    height: auto
  }

  .mv .target .tg-inr .fig figure:nth-child(3) {
    left: 66%;
    width: 34%;
    height: auto
  }
}

@media screen and (max-width: 767px) {
  .mv .target .tg-inr .fig {
    width: 100%;
    min-height: 54vw
  }

  .mv .target .tg-inr .fig figure:nth-child(1) {
    bottom: -7vw;
    width: 58%;
    height: auto
  }

  .mv .target .tg-inr .fig figure:nth-child(2) {
    left: 39%
  }
}

@media screen and (min-width: 1921px) {
  .mv .target .tg-inr .fig {
    width: 956px
  }

  .mv .target .tg-inr .fig figure:nth-child(1) {
    width: 556px;
    height: 556px;
    left: 0
  }

  .mv .target .tg-inr .fig figure:nth-child(2) {
    left: 381px;
    bottom: -40px;
    width: 355px;
    height: 461px
  }

  .mv .target .tg-inr .fig figure:nth-child(3) {
    left: 632px;
    width: 326px;
    height: 469px
  }
}

.mv .offer {
  background-color: #0c142e;
  padding: 2vw 0
}

.mv .offer .of-inr {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 19vw
}

.mv .offer .of-inr h2 {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s;
  margin-right: 30px;
  text-align: center;
  font-weight: 500;
  font-size: 3rem;
  line-height: 1.33;
  color: #e6ff00
}

.mv .offer .of-inr .entry {
  -webkit-animation-delay: 1.6s;
  animation-delay: 1.6s
}

@media screen and (max-width: 1279px) {
  .mv .offer {
    padding: 36px 0
  }

  .mv .offer .of-inr {
    padding-left: 240px
  }

  .mv .offer .of-inr h2 {
    margin-right: 20px;
    font-size: 2.4rem
  }
}

@media screen and (max-width: 1023px) {
  .mv .offer {
    padding: 36px 40px
  }

  .mv .offer .of-inr h2 {
    margin-right: 10px;
    font-size: 1.8rem
  }
}

@media screen and (max-width: 767px) {
  .mv .offer {
    padding: 12px 0 24px
  }

  .mv .offer .of-inr {
    padding-left: 54%;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    z-index: 10
  }

  .mv .offer .of-inr h2 {
    text-align: left;
    font-size: 1.5rem;
    margin-right: 0;
    margin-left: 12px;
    margin-bottom: 12px
  }
}

.mv {
  overflow: hidden;
  position: relative
}

.mv .phone {
  width: 19vw;
  height: 14.95vw;
  position: absolute;
  left: calc((100% - (19vw + 626px))/2);
  bottom: -3.125vw
}

@media screen and (max-width: 1279px) {
  .mv .phone {
    width: 240px;
    height: 189px;
    left: calc((100% - 763px)/2);
    bottom: 0
  }
}

@media screen and (max-width: 1023px) {
  .mv .phone {
    left: calc((100% - 682px)/2)
  }
}

@media screen and (max-width: 767px) {
  .mv .phone {
    left: 3%;
    z-index: 5
  }
}

.playlogo {
  width: 100%;
  padding-top: 20px
}

.playlogo .fig {
  margin: 0 20px;
  vertical-align: middle
}

@media screen and (max-width: 767px) {
  .playlogo {
    padding-top: 10px
  }

  .playlogo .fig {
    margin: 0 10px
  }
}

.slick-track {
  display: flex;
  align-items: center
}

.fig-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

.fig-flex.reverse {
  flex-direction: row-reverse
}

.fig-flex .txt-area {
  width: 46%
}

.fig-flex .fig {
  width: 50%
}

@media screen and (max-width: 1023px) {
  .fig-flex .txt-area {
    width: 100%;
    margin-bottom: 40px
  }

  .fig-flex .fig {
    width: 100%
  }
}

@media screen and (max-width: 767px) {
  .fig-flex .txt-area {
    margin-bottom: 25px
  }
}

.service .fig-flex .fig {
  padding: 40px;
  border: solid 1px #dee2ee;
  text-align: center
}

.service .fig-flex .fig h3 {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.4;
  color: #0052cc;
  margin-bottom: .5em
}

.service .fig-flex .fig .jobs {
  width: 100%;
  margin: 0 auto;
  margin-top: 1.5em
}

.service .fig-flex .fig .jobs figcaption {
  display: inline-block;
  margin-top: 1em;
  padding: .1em 1em .2em;
  background-color: #0052cc;
  text-align: center;
  font-weight: 500;
  font-size: 1.25em;
  color: #fff
}

.service .fig-flex .fig .logo-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center
}

.service .fig-flex .fig .logo-list li {
  margin: 10px
}

@media screen and (max-width: 1279px) {
  .service {
    margin-top: 20px
  }

  .service .fig-flex .fig {
    padding: 30px 10px
  }

  .service .fig-flex .fig h3 {
    font-size: 1.125em
  }

  .service .fig-flex .fig .jobs {
    width: 90%
  }

  .service .fig-flex .fig .logo-list li {
    margin: 10px 0
  }

  .service .fig-flex .fig .logo-list li img {
    max-width: 80%
  }
}

@media screen and (max-width: 767px) {
  .service .fig-flex .fig {
    padding: 30px 10px
  }

  .service .fig-flex .fig h3 {
    font-size: 1.125em;
    margin-bottom: 1.2em
  }

  .service .fig-flex .fig .jobs {
    width: 100%
  }

  .service .fig-flex .fig .logo-list li {
    margin: 5px -5px
  }

  .service .fig-flex .fig .logo-list li img {
    max-width: 70%
  }
}

.trouble {
  background-color: #dee2ee;
  padding-top: 100px;
  padding-bottom: 0
}

.trouble .tr-inr .center {
  text-align: center;
  font-size: 3.6rem;
  line-height: 1.25;
  color: #0c142e;
  margin-bottom: 1.25em
}

.trouble .tr-inr .tr-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 100px
}

.trouble .tr-inr .tr-flex li {
  width: 360px;
  margin: 0 60px
}

.trouble .tr-inr .tr-flex li .balloon {
  position: relative;
  display: inline-block;
  background-color: #fff;
  padding: 1em 0;
  border-radius: 4px;
  width: 320px;
  text-align: center;
  margin-bottom: 24px
}

.trouble .tr-inr .tr-flex li .balloon:before {
  content: "";
  position: absolute;
  border: solid 12px transparent;
  border-top: solid 12px #fff;
  top: 100%
}

.trouble .tr-inr .tr-flex li .balloon p {
  margin: 0;
  padding: 0;
  font-weight: 500;
  line-height: 1.5
}

.trouble .tr-inr .tr-flex li:nth-child(1) .balloon:before {
  right: 60px
}

.trouble .tr-inr .tr-flex li:nth-child(2) .balloon:before {
  left: 60px
}

.trouble .tr-inr .tr-flex li figure {
  width: 100%
}

@media screen and (max-width: 1279px) {
  .trouble {
    padding-top: 80px
  }

  .trouble .tr-inr .center {
    font-size: 3rem
  }

  .trouble .tr-inr .tr-flex {
    margin-bottom: 80px
  }

  .trouble .tr-inr .tr-flex li {
    width: 40%;
    margin: 0 4%
  }

  .trouble .tr-inr .tr-flex li .balloon {
    width: 89%;
    margin: 0 5% 24px
  }
}

@media screen and (max-width: 1023px) {
  .trouble .tr-inr .center {
    font-size: 3rem
  }

  .trouble .tr-inr .tr-flex {
    justify-content: space-between
  }

  .trouble .tr-inr .tr-flex li {
    width: 47%;
    margin: 0
  }

  .trouble .tr-inr .tr-flex li .balloon {
    width: 89%
  }
}

@media screen and (max-width: 767px) {
  .trouble {
    padding-top: 60px
  }

  .trouble .tr-inr .center {
    font-size: 2.4rem
  }

  .trouble .tr-inr .tr-flex {
    margin-bottom: 20px
  }

  .trouble .tr-inr .tr-flex li {
    width: 100%;
    padding: 0 8%
  }

  .trouble .tr-inr .tr-flex li:not(:last-child) {
    margin-bottom: 40px
  }

  .trouble .tr-inr .tr-flex li .balloon {
    width: 100%;
    margin: 0 0 24px
  }
}

.trouble .solve {
  background-color: #0c142e;
  padding: 50px 0;
  text-align: center;
  position: relative
}

.trouble .solve h3 {
  font-weight: 700;
  font-size: 3.6rem;
  line-height: 1.5;
  margin-bottom: 10px;
  color: #e6ff00
}

.trouble .solve p {
  font-size: 1.125em;
  line-height: 1.5;
  color: #fff
}

.trouble .solve:after {
  content: "";
  position: absolute;
  border: solid 90px transparent;
  border-top: solid 60px #0c142e;
  top: 100%;
  left: 50%;
  transform: translateX(-50%)
}

@media screen and (max-width: 1279px) {
  .trouble .solve {
    padding: 40px 0
  }

  .trouble .solve h3 {
    font-size: 3rem
  }
}

@media screen and (max-width: 767px) {
  .trouble .solve {
    padding: 90px 0 0
  }

  .trouble .solve h3 {
    font-size: 2rem;
    font-weight: 500
  }

  .trouble .solve p {
    font-size: 1em
  }

  .trouble .solve:before {
    content: "";
    position: absolute;
    border: solid 50vw transparent;
    border-top: solid 16vw #dee2ee;
    top: 0;
    left: 50%;
    transform: translateX(-50%)
  }

  .trouble .solve:after {
    border: solid 50vw transparent;
    border-top: solid 16vw #0c142e
  }
}

.strength .fig-flex .fig {
  height: 386px;
  background-image: url(./img/lp/top/strength.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative
}

.strength .fig-flex .fig .notification {
  width: 330px;
  height: 330px;
  position: absolute;
  left: 30px;
  top: 50px
}

.strength .fig-flex .fig .notification h3 {
  padding-left: 20px;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 1.25;
  color: #0c142e;
  margin-bottom: 10px
}

.strength .fig-flex .fig .notification figure {
  width: 100%;
  position: relative;
  bottom: -20px
}

@media screen and (max-width: 1279px) {
  .strength {
    margin-top: 20px
  }

  .strength .fig-flex .fig {
    height: 300px
  }

  .strength .fig-flex .fig .notification {
    width: 55%
  }

  .strength .fig-flex .fig .notification h3 {
    padding-left: 0
  }
}

@media screen and (max-width: 1023px) {
  .strength .fig-flex .fig .notification {
    width: 40%;
    top: 30px;
    left: 40px
  }
}

@media screen and (max-width: 767px) {
  .strength {
    padding: 100px 0 0
  }

  .strength .fig-flex {
    overflow: hidden
  }

  .strength .fig-flex .fig {
    margin: 0 calc(50% - 50vw);
    width: 100vw
  }

  .strength .fig-flex .fig .notification {
    width: 68%;
    top: 48px;
    left: 4%
  }

  .strength .fig-flex .fig .notification h3 {
    padding-left: 6%;
    font-size: 2.2rem;
    margin-bottom: 20px
  }
}

.adviser {
  background-color: #dee2ee;
  overflow: hidden
}

.adviser .av-inr .heading h2 .wide {
  letter-spacing: .1em
}

.adviser .av-inr .av-box {
  position: relative
}

.adviser .av-inr .av-box:not(:last-child) {
  margin-bottom: 120px
}

.adviser .av-inr .av-box .txt-area {
  margin-left: 60px;
  margin-top: 60px;
  background-color: #fff;
  padding: 40px 60px 50px 40%
}

.adviser .av-inr .av-box .txt-area .txt-inr .av-heading {
  padding-bottom: 1.2em;
  margin-bottom: 30px;
  position: relative
}

.adviser .av-inr .av-box .txt-area .txt-inr .av-heading::before,
.adviser .av-inr .av-box .txt-area .txt-inr .av-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0
}

.adviser .av-inr .av-box .txt-area .txt-inr .av-heading::before {
  width: 100%;
  height: 2px;
  background-color: #dee2ee
}

.adviser .av-inr .av-box .txt-area .txt-inr .av-heading::after {
  width: 100px;
  height: 2px;
  background-color: #0052cc
}

.adviser .av-inr .av-box .txt-area .txt-inr .av-heading h3 {
  font-weight: 500;
  font-size: 1.5em;
  letter-spacing: -0.05em;
  color: #0c142e
}

.adviser .av-inr .av-box .txt-area .txt-inr .av-heading h3 .wide {
  letter-spacing: .1em
}

.adviser .av-inr .av-box .txt-area .txt-inr .av-heading p {
  font-size: .875em
}

.adviser .av-inr .av-box figure {
  width: 40%;
  position: absolute;
  left: 0;
  top: -60px
}

.adviser .av-inr .av-box figure img {
  width: 100%
}

.adviser .av-inr .av-box.reverse .txt-area {
  margin-right: 60px;
  margin-left: 0;
  padding: 40px 40% 50px 60px
}

.adviser .av-inr .av-box.reverse figure {
  left: auto;
  right: 0
}

@media screen and (max-width: 1279px) {
  .adviser .av-inr .av-box:not(:last-child) {
    margin-bottom: 100px
  }

  .adviser .av-inr .av-box .txt-area {
    margin-left: 40px;
    margin-top: 40px;
    padding: 40px 40px 50px 40%
  }

  .adviser .av-inr .av-box figure {
    top: -40px
  }

  .adviser .av-inr .av-box.reverse .txt-area {
    margin-right: 40px;
    padding: 40px 40% 50px 40px
  }
}

@media screen and (max-width: 1023px) {
  .adviser .av-inr .av-box .txt-area {
    padding: 43vw 40px 50px 40px
  }

  .adviser .av-inr .av-box figure {
    width: 72%
  }

  .adviser .av-inr .av-box.reverse .txt-area {
    padding: 43vw 40px 50px 40px
  }
}

@media screen and (max-width: 767px) {
  .adviser .av-inr .av-box {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%)
  }

  .adviser .av-inr .av-box:not(:last-child) {
    margin-bottom: 80px
  }

  .adviser .av-inr .av-box .txt-area {
    margin-left: 20px;
    padding: 55vw 30px 40px 30px
  }

  .adviser .av-inr .av-box .txt-area .txt-inr .av-heading::after {
    width: 70px
  }

  .adviser .av-inr .av-box figure {
    width: 88%
  }

  .adviser .av-inr .av-box.reverse .txt-area {
    margin-right: 20px;
    margin-left: 0;
    padding: 55vw 30px 40px 30px
  }
}

.flow {
  padding-top: 100px
}

.flow .flow-inr .heading h2 {
  margin-bottom: 1em;
  color: #0c142e
}

.flow .flow-inr .heading .intr {
  color: #0c142e
}

.flow .flow-inr .step-list {
  padding-top: 36px
}

.flow .flow-inr .step-list li {
  padding: 60px 0;
  background-color: #dee2ee;
  position: relative
}

.flow .flow-inr .step-list li:not(:last-child) {
  margin-bottom: 70px
}

.flow .flow-inr .step-list li .bg {
  width: 1000px;
  margin: 0 auto
}

.flow .flow-inr .step-list li .bg .intr {
  text-align: center;
  font-size: 6rem;
  line-height: 1;
  position: absolute;
  left: 0;
  right: 0;
  top: -0.5em;
  margin: 0;
  color: transparent;
  background-color: #0c142e;
  background-image: url(./img/lp/top/bg-stripe.png);
  -webkit-background-clip: text
}

.flow .flow-inr .step-list li .bg .step-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

.flow .flow-inr .step-list li .bg .step-flex figure {
  width: 48%
}

.flow .flow-inr .step-list li .bg .step-flex .desc {
  width: 48%
}

.flow .flow-inr .step-list li .bg .step-flex .desc h3 {
  font-weight: 700;
  font-size: 2.4rem;
  color: #0c142e
}

@media screen and (max-width: 1279px) {
  .flow {
    padding-top: 60px
  }

  .flow .flow-inr .step-list {
    padding-top: 0
  }

  .flow .flow-inr .step-list li {
    padding: 40px 0
  }

  .flow .flow-inr .step-list li:not(:last-child) {
    margin-bottom: 60px
  }

  .flow .flow-inr .step-list li .bg {
    width: 100%;
    padding: 0 6%
  }

  .flow .flow-inr .step-list li .bg .intr {
    font-size: 4.8rem
  }

  .flow .flow-inr .step-list li .bg .step-flex .desc h3 {
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: .6em
  }
}

@media screen and (max-width: 767px) {
  .flow .flow-inr .step-list {
    padding-top: 24px
  }

  .flow .flow-inr .step-list li {
    margin: 0 calc(50% - 50vw);
    width: 100vw
  }

  .flow .flow-inr .step-list li:not(:last-child) {
    padding: 50px 0 40px;
    margin-bottom: 46px
  }

  .flow .flow-inr .step-list li .bg .intr {
    font-size: 4rem
  }

  .flow .flow-inr .step-list li .bg .step-flex figure {
    width: 100%;
    margin-bottom: 20px
  }

  .flow .flow-inr .step-list li .bg .step-flex .desc {
    width: 100%
  }

  .flow .flow-inr .step-list li .bg .step-flex .desc h3 {
    text-align: center;
    margin-bottom: .6em
  }
}

.faq .fac-inr {
  max-width: 960px
}

.faq .fac-inr .heading {
  text-align: center
}

.faq {
  padding: 30px 0
}

.faq .faq-inr .qa-list dl {
  position: relative;
  margin: 10px 0 0;
  cursor: pointer
}

.faq .faq-inr .qa-list dl:first-child {
  margin-top: 0
}

.faq .faq-inr .qa-list dl:after {
  position: absolute;
  top: 24px;
  right: 40px;
  display: block;
  width: 20px;
  height: 20px;
  margin: auto;
  content: "";
  transform: rotate(135deg);
  border-top: 2px solid #0c142e;
  border-right: 2px solid #0c142e
}

.faq .faq-inr .qa-list dl dt {
  position: relative;
  margin: 0;
  padding: 20px 100px 20px 100px;
  background: #dee2ee;
  font-size: 1.8rem
}

.faq .faq-inr .qa-list dl dt:before {
  text-align: center;
  font-family: "Inter", sans-serif;
  font-style: italic;
  font-size: 6rem;
  line-height: 1;
  color: #fff;
  position: absolute;
  top: 3px;
  left: 30px;
  display: block;
  width: 60px;
  height: 60px;
  content: "Q"
}

.faq .faq-inr .qa-list dl dd {
  position: relative;
  margin: 0;
  padding: 20px 100px 24px 100px;
  background-color: #0052cc;
  line-height: 1.7;
  color: #fff
}

.faq .faq-inr .qa-list dl dd:before {
  text-align: center;
  font-family: "Inter", sans-serif;
  font-style: italic;
  font-size: 6rem;
  line-height: 1;
  color: #fff;
  position: absolute;
  top: 4px;
  left: 30px;
  display: block;
  width: 60px;
  height: 60px;
  content: "A"
}

.faq .faq-inr .qa-list dl dd p:not(:last-child) {
  margin-bottom: .8em
}

.faq .faq-inr .qa-list .open:after {
  top: 36px;
  transform: rotate(-45deg)
}

@media screen and (max-width: 1279px) {
  .faq .faq-inr .qa-list dl:after {
    width: 16px;
    height: 16px
  }

  .faq .faq-inr .qa-list dl dt {
    padding: 15px 100px 15px 100px;
    font-size: 1.7rem
  }

  .faq .faq-inr .qa-list dl dt:before {
    font-size: 5rem;
    width: 50px;
    height: 50px
  }

  .faq .faq-inr .qa-list dl dd {
    position: relative;
    margin: 0;
    padding: 15px 100px 20px 100px
  }

  .faq .faq-inr .qa-list dl dd:before {
    font-size: 5rem;
    width: 50px;
    height: 50px
  }

  .faq .faq-inr .qa-list .open:after {
    top: 30px
  }
}

@media screen and (max-width: 1023px) {
  .faq .faq-inr {
    width: 100%;
    padding: 0 6%
  }

  .faq .faq-inr .qa-list dl:after {
    width: 10px;
    height: 10px;
    right: 20px
  }

  .faq .faq-inr .qa-list dl dt {
    padding: 15px 60px 15px 70px
  }

  .faq .faq-inr .qa-list dl dt:before {
    left: 16px
  }

  .faq .faq-inr .qa-list dl dd {
    padding: 15px 60px 20px 70px
  }

  .faq .faq-inr .qa-list dl dd:before {
    left: 16px
  }
}

@media screen and (max-width: 767px) {
  .faq {
    padding: 20px 0
  }

  .faq .faq-inr .qa-list dl:after {
    right: 10px;
    top: 50%;
    margin-top: -6px
  }

  .faq .faq-inr .qa-list dl dt {
    padding: 15px 30px 15px 44px;
    font-size: 1.5rem;
    line-height: 1.5
  }

  .faq .faq-inr .qa-list dl dt:before {
    left: 2px;
    font-size: 3.6rem;
    width: 40px
  }

  .faq .faq-inr .qa-list dl dd {
    padding: 15px 30px 15px 44px
  }

  .faq .faq-inr .qa-list dl dd:before {
    left: 4px;
    font-size: 3.6rem;
    width: 40px
  }
}

.mission .ms-inr .heading h2,
.mission .ms-inr .heading .intr {
  color: #0c142e
}

.mission .ms-inr .fig {
  display: flex;
  flex-wrap: wrap;
  justify-content: center
}

.mission .ms-inr .fig figure {
  width: 400px
}

.mission .ms-inr .fig .ms-list {
  position: relative;
  top: -8px
}

.mission .ms-inr .fig .ms-list li {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 40px
}

.mission .ms-inr .fig .ms-list li h3 {
  line-height: 1.4;
  margin-right: 24px
}

.mission .ms-inr .fig .ms-list li h3 .intr {
  font-size: 2.8rem;
  line-height: 1
}

.mission .ms-inr .fig .ms-list li:nth-child(1) {
  margin-left: -96px
}

.mission .ms-inr .fig .ms-list li:nth-child(1) h3 {
  color: #0052cc
}

.mission .ms-inr .fig .ms-list li:nth-child(2) {
  margin-left: -48px
}

.mission .ms-inr .fig .ms-list li:nth-child(2) h3 {
  color: #0c142e
}

.mission .ms-inr .fig .ms-list li:nth-child(3) {
  margin-left: 8px
}

.mission .ms-inr .fig .ms-list li:nth-child(3) h3 {
  color: #ff9d28
}

.mission .ms-inr .fig .ms-list li p {
  line-height: 1.7;
  position: relative;
  top: -3px
}

@media screen and (max-width: 1279px) {
  .mission .ms-inr .fig figure {
    width: 360px
  }

  .mission .ms-inr .fig .ms-list li {
    margin-bottom: 32px
  }

  .mission .ms-inr .fig .ms-list li:nth-child(1) {
    margin-left: -90px
  }

  .mission .ms-inr .fig .ms-list li p {
    width: 24em
  }
}

@media screen and (max-width: 1023px) {
  .mission .ms-inr .fig figure {
    margin-bottom: 40px
  }

  .mission .ms-inr .fig .ms-list li {
    margin-bottom: 38px
  }

  .mission .ms-inr .fig dl dt {
    border-bottom: 3px
  }

  .mission .ms-inr .fig dl dt h3 {
    display: inline-block;
    font-size: 2.4rem;
    letter-spacing: .05em;
    padding-bottom: 2px;
    margin-bottom: 8px
  }

  .mission .ms-inr .fig dl dt:nth-of-type(1) h3 {
    color: #0052cc;
    border-bottom: solid 2px #0052cc
  }

  .mission .ms-inr .fig dl dt:nth-of-type(2) h3 {
    color: #0c142e;
    border-bottom: solid 2px #0c142e
  }

  .mission .ms-inr .fig dl dt:nth-of-type(3) h3 {
    color: #ff9d28;
    border-bottom: solid 2px #ff9d28
  }

  .mission .ms-inr .fig dl dd:not(:last-child) {
    margin-bottom: 18px
  }
}

@media screen and (max-width: 767px) {
  .mission .ms-inr .fig {
    margin: 0 calc(50% - 50vw);
    width: 100vw
  }

  .mission .ms-inr .fig figure {
    width: 250px;
    margin-bottom: 30px
  }

  .mission .ms-inr .fig .ms-list {
    top: -5px
  }

  .mission .ms-inr .fig .ms-list li {
    margin-bottom: 22px
  }

  .mission .ms-inr .fig .ms-list li h3 {
    margin-right: 0
  }

  .mission .ms-inr .fig .ms-list li h3 .intr {
    font-size: 1.8rem
  }

  .mission .ms-inr .fig .ms-list li:nth-child(1) {
    margin-left: -60px
  }

  .mission .ms-inr .fig .ms-list li:nth-child(2) {
    margin-left: -30px
  }

  .mission .ms-inr .fig dl {
    padding: 0 6%
  }
}

.seminar .sn-inr .sn-list li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.seminar .sn-inr .sn-list li:not(:last-child) {
  margin-bottom: 60px
}

.seminar .sn-inr .sn-list li .fig {
  width: 50%
}

.seminar .sn-inr .sn-list li .fig img {
  width: 100%
}

.seminar .sn-inr .sn-list li .txt-area {
  width: 46%
}

.seminar .sn-inr .sn-list li .txt-area .date-flex {
  display: flex;
  align-items: center;
  margin-bottom: 30px
}

.seminar .sn-inr .sn-list li .txt-area .date-flex .mark {
  width: 120px;
  height: 40px;
  background-color: #0052cc;
  color: #fff;
  text-align: center;
  letter-spacing: .05em;
  line-height: 40px;
  margin-right: 20px
}

.seminar .sn-inr .sn-list li .txt-area .date-flex h4 {
  font-weight: 500;
  font-size: 1.125em;
  color: #0052cc
}

.seminar .sn-inr .sn-list li .txt-area h3 {
  font-weight: 500;
  font-size: 1.5em;
  letter-spacing: 0;
  line-height: 1.4;
  color: #0c142e;
  margin-bottom: 30px
}

.seminar .sn-inr .sn-list li .txt-area a {
  width: 240px;
  height: 60px;
  border-radius: 30px;
  text-align: center;
  line-height: 60px
}

.seminar .sn-inr .sn-list li.close .txt-area .date-flex .mark {
  background-color: #dee2ee
}

.seminar .sn-inr .sn-list li.close .txt-area .date-flex h4 {
  color: #dee2ee
}

.seminar .sn-inr .sn-list li.close .txt-area a {
  display: none
}

@media screen and (max-width: 1279px) {
  .seminar .sn-inr .sn-list li .txt-area {
    width: 48%
  }

  .seminar .sn-inr .sn-list li .txt-area .date-flex {
    margin-bottom: 24px
  }

  .seminar .sn-inr .sn-list li .txt-area .date-flex .mark {
    font-size: .875em;
    margin-right: 16px
  }

  .seminar .sn-inr .sn-list li .txt-area .date-flex h4 {
    font-size: 1em
  }

  .seminar .sn-inr .sn-list li .txt-area h3 {
    font-size: 1.25em;
    margin-bottom: 24px
  }

  .seminar .sn-inr .sn-list li .txt-area a {
    width: 200px;
    height: 50px;
    border-radius: 25px;
    line-height: 50px
  }
}

@media screen and (max-width: 1023px) {
  .seminar .sn-inr .sn-list li:not(:last-child) {
    margin-bottom: 80px
  }

  .seminar .sn-inr .sn-list li .fig {
    width: 100%;
    margin-bottom: 20px
  }

  .seminar .sn-inr .sn-list li .txt-area {
    width: 100%
  }

  .seminar .sn-inr .sn-list li .txt-area .date-flex {
    margin-bottom: 20px
  }

  .seminar .sn-inr .sn-list li .txt-area .date-flex .mark {
    font-size: 1em
  }

  .seminar .sn-inr .sn-list li .txt-area h3 {
    margin-bottom: 20px
  }

  .seminar .sn-inr .sn-list li .txt-area a {
    width: 240px;
    margin: 0 auto
  }
}

@media screen and (max-width: 767px) {
  .seminar .sn-inr .sn-list li .txt-area .date-flex .mark {
    width: 110px;
    margin-right: 12px
  }
}

.seminar .sn-inr .movie {
  margin-top: 100px
}

.seminar .sn-inr .movie h3 {
  font-weight: 500;
  font-size: 2.8rem;
  line-height: 1;
  color: #0052cc
}

.seminar .sn-inr .movie .mv-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  position: relative
}

.seminar .sn-inr .movie .mv-list::after {
  width: 30%;
  content: ""
}

.seminar .sn-inr .movie .mv-list li {
  width: 30%;
  margin-top: 2em
}

.seminar .sn-inr .movie .mv-list li .mv-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  margin-bottom: 16px
}

.seminar .sn-inr .movie .mv-list li .mv-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%
}

.seminar .sn-inr .movie .mv-list li .fig {
  width: 100%;
  margin-bottom: 16px
}

.seminar .sn-inr .movie .mv-list li .fig img {
  width: 100%
}

.seminar .sn-inr .movie .mv-list li h4 {
  font-weight: 500;
  line-height: 1.4
}

@media screen and (max-width: 1279px) {
  .seminar .sn-inr .movie {
    margin-top: 80px
  }

  .seminar .sn-inr .movie h3 {
    font-size: 2.4rem
  }
}

@media screen and (max-width: 767px) {
  .seminar .sn-inr .movie {
    margin-top: 60px
  }

  .seminar .sn-inr .movie h3 {
    font-size: 2rem
  }

  .seminar .sn-inr .movie .mv-list li {
    width: 100%;
    margin-bottom: 1em
  }
}

.entry.pink {
  width: 220px;
  height: 60px;
  border-radius: 30px;
  background-color: #fb304b;
  margin-top: 20px
}

.entry.pink span {
  font-size: 1em;
  color: #fff
}

.entry.pink.btnshine:before {
  background: linear-gradient(to right, rgba(200, 230, 0, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  transform: skewX(-25deg)
}

@keyframes shine {
  100% {
    left: 125%
  }
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
  section.flow .container>ul li .bg .en {
    background-image: none;
    color: #fff
  }
}

.moe .floating {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 10;
  opacity: 0;
  transform: translateX(240px)
}

.moe .floating.LeftMove {
  -webkit-animation: LeftAnime .5s forwards;
  animation: LeftAnime .5s forwards
}

@keyframes LeftAnime {
  from {
    opacity: 0;
    transform: translateX(240px)
  }

  to {
    opacity: 1;
    transform: translateX(0)
  }
}

.moe .floating.RightMove {
  -webkit-animation: RightAnime .5s forwards;
  animation: RightAnime .5s forwards
}

@keyframes RightAnime {
  from {
    opacity: 1;
    transform: translateX(0)
  }

  to {
    opacity: 1;
    transform: translateX(240px)
  }
}

.moe .floating a.entry {
  width: 220px;
  height: 60px;
  border-radius: 30px;
  background-color: #fe97a5
}

.moe .floating a.entry span {
  font-size: 1em;
  color: #fff
}

@media screen and (max-width: 767px) {
  .moe .floating {
    right: 10px
  }

  .moe .floating a.entry {
    width: 180px
  }
}

.moe .entry.pink.btnshine:before {
  background: linear-gradient(to right, rgba(200, 230, 0, 0) 0%, rgba(255, 255, 255, 0.4) 100%);
  transform: skewX(-25deg)
}

@keyframes shine {
  100% {
    left: 125%
  }
}

.moe #header {
  position: absolute;
  background-color: transparent;
  box-shadow: none
}

.moe #header .hd-logo {
  top: 20px;
  left: 40px;
  width: 136px
}

.moe #header .hd-logo a:after {
  color: #fff;
  font-weight: 500;
  letter-spacing: .05em
}

@media screen and (max-width: 1279px) {
  .moe #header .hd-logo {
    top: 16px;
    left: 20px
  }

  .moe #header .hd-logo a:after {
    font-size: 1em
  }
}

@media screen and (max-width: 767px) {
  .moe #header .hd-logo {
    left: 4vw
  }

  .moe #header .hd-logo a:after {
    font-size: 1em
  }
}

.moe #header .corp {
  display: none
}

.moe main {
  padding-top: 0
}

.moe .mv {
  background-color: #fb304b
}

.moe .mv .mv-flex {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  overflow: hidden
}

.moe .mv .mv-flex .txt-area {
  padding-top: 30px;
  z-index: 5
}

.moe .mv .mv-flex .txt-area.fadeRight {
  -webkit-animation-delay: .4s;
  animation-delay: .4s
}

.moe .mv .mv-flex .txt-area h2 {
  font-weight: 500;
  font-size: 3em;
  line-height: 1.5;
  color: #fff;
  margin-bottom: 1em
}

.moe .mv .mv-flex .txt-area p {
  font-style: italic;
  font-size: 1.125em;
  letter-spacing: .1em;
  line-height: 1.7;
  color: #fff
}

.moe .mv .mv-flex figure {
  width: 40%;
  opacity: 0
}

.moe .mv .mv-flex figure img {
  width: 100%
}

@media screen and (max-width: 1279px) {
  .moe .mv .mv-flex {
    max-width: 100%
  }

  .moe .mv .mv-flex .txt-area {
    padding-top: 50px;
    padding-left: 6vw
  }

  .moe .mv .mv-flex .txt-area h2 {
    font-size: 2.6em
  }

  .moe .mv .mv-flex .txt-area p {
    font-size: 1em
  }
}

@media screen and (max-width: 1023px) {
  .moe .mv .mv-flex .txt-area {
    padding-top: 70px;
    padding-left: 4vw
  }

  .moe .mv .mv-flex .txt-area h2 {
    font-size: 2.2em
  }

  .moe .mv .mv-flex .txt-area p {
    font-size: .875em
  }
}

@media screen and (max-width: 767px) {
  .moe .mv .mv-flex {
    align-items: flex-end
  }

  .moe .mv .mv-flex .txt-area {
    position: absolute;
    padding: 0 0 30px 4vw
  }

  .moe .mv .mv-flex .txt-area h2 {
    font-size: 2em;
    margin-bottom: 1em
  }

  .moe .mv .mv-flex figure {
    width: 100%
  }
}

.moe .sec {
  padding: 0 0 100px;
  overflow: hidden
}

.moe .sec .moe-heading {
  background-color: #282828;
  padding: 50px 0 72px;
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  margin-bottom: 90px;
  z-index: 5
}

.moe .sec .moe-heading.pink {
  background-color: #fb304b
}

.moe .sec .moe-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 50px 100vw;
  border-color: transparent transparent #fff transparent
}

.moe .sec .moe-heading h2 {
  font-weight: 500;
  font-style: italic;
  font-size: 1.875em;
  letter-spacing: .2em;
  line-height: 1;
  color: #fff;
  position: relative;
  display: inline-block;
  padding: 0 1em
}

.moe .sec .moe-heading h2::before,
.moe .sec .moe-heading h2::after {
  position: absolute;
  content: "";
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #fff;
  border-radius: 3px
}

.moe .sec .moe-heading h2::before {
  left: 0;
  transform: rotate(-25deg)
}

.moe .sec .moe-heading h2::after {
  right: 0;
  transform: rotate(25deg)
}

@media screen and (max-width: 1279px) {
  .moe .sec {
    padding: 0 0 90px
  }

  .moe .sec .moe-heading {
    padding: 40px 0 55px;
    margin-bottom: 80px
  }

  .moe .sec .moe-heading::after {
    border-width: 0 0 30px 100vw
  }

  .moe .sec .moe-heading h2 {
    font-size: 1.75em
  }
}

@media screen and (max-width: 1023px) {
  .moe .sec {
    padding: 0 0 80px
  }

  .moe .sec .moe-heading {
    padding: 30px 0 48px;
    margin-bottom: 60px
  }

  .moe .sec .moe-heading h2 {
    font-size: 1.5em
  }
}

@media screen and (max-width: 767px) {
  .moe .sec {
    padding: 0 0 60px
  }

  .moe .sec .moe-heading {
    padding: 30px 0 48px;
    margin-bottom: 40px
  }

  .moe .sec .moe-heading h2 {
    font-size: 1.25em;
    letter-spacing: .15em
  }
}

.moe .first-career .moe-heading h2.fadeUp {
  -webkit-animation-delay: .8s;
  animation-delay: .8s
}

.moe .first-career .prize {
  text-align: center;
  margin-bottom: 60px
}

.moe .first-career .prize.fadeUp {
  -webkit-animation-duration: .8s;
  animation-duration: .8s
}

.moe .first-career .prize figure {
  width: 60px;
  margin: 0 auto 10px
}

.moe .first-career .prize figure img {
  width: 100%
}

.moe .first-career .prize .frame {
  display: inline-block;
  padding: 0 30px;
  position: relative
}

.moe .first-career .prize .frame::before {
  width: 40px;
  height: 100px;
  content: url(./img/lp/moe/laural-l.png);
  position: absolute;
  left: -40px;
  top: 0
}

.moe .first-career .prize .frame::after {
  width: 40px;
  height: 100px;
  content: url(./img/lp/moe/laural-r.png);
  position: absolute;
  right: -40px;
  top: 0
}

.moe .first-career .prize .frame p {
  font-weight: 500;
  font-size: 1.125em;
  color: #f40424;
  margin-top: 1em;
  line-height: 1.4
}

.moe .first-career .prize .frame h3 {
  font-weight: 500;
  font-size: 2.25em;
  color: #f40424;
  line-height: 1.6
}

.moe .first-career .fig {
  width: 420px;
  margin: 0 auto;
  background-color: #fb304b;
  padding: 10px;
  margin-bottom: 60px
}

.moe .first-career .fig.fadeUp {
  -webkit-animation-duration: .8s;
  animation-duration: .8s
}

.moe .first-career .fig img {
  width: 100%
}

.moe .first-career .desc {
  position: relative;
  padding: 60px 0
}

.moe .first-career .desc.fadeUp {
  -webkit-animation-duration: .8s;
  animation-duration: .8s
}

.moe .first-career .desc::before {
  width: 100px;
  height: 100px;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  background-image: url(./img/lp/moe/frame-l.png);
  background-size: contain
}

.moe .first-career .desc::after {
  width: 100px;
  height: 100px;
  position: absolute;
  right: 0;
  bottom: 0;
  content: "";
  background-image: url(./img/lp/moe/frame-r.png);
  background-size: contain
}

.moe .first-career .desc p {
  text-align: center
}

.moe .first-career .desc p:not(:last-child) {
  margin-bottom: 1em
}

.moe .first-career .desc p .strong {
  color: #f40424;
  font-weight: 500
}

@media screen and (max-width: 1279px) {
  .moe .first-career .prize {
    margin-bottom: 50px
  }

  .moe .first-career .prize .frame p {
    font-size: 1em
  }

  .moe .first-career .prize .frame h3 {
    font-size: 2em
  }

  .moe .first-career .fig {
    width: 420px;
    margin-bottom: 50px
  }

  .moe .first-career .desc {
    padding: 50px 0
  }

  .moe .first-career .desc::before {
    width: 80px;
    height: 80px
  }

  .moe .first-career .desc::after {
    width: 80px;
    height: 80px
  }
}

@media screen and (max-width: 1023px) {
  .moe .first-career .fig {
    width: 380px;
    margin-bottom: 50px
  }

  .moe .first-career .desc {
    padding: 30px 40px
  }

  .moe .first-career .desc p {
    text-align: left;
    line-height: 2
  }

  .moe .first-career .desc p:not(:last-child) {
    margin-bottom: 1.6em
  }
}

@media screen and (max-width: 767px) {
  .moe .first-career .moe-heading {
    background-color: #fb304b
  }

  .moe .first-career .prize {
    margin-bottom: 30px
  }

  .moe .first-career .prize .frame {
    padding: 0 12px
  }

  .moe .first-career .prize .frame h3 {
    font-size: 1.6em;
    line-height: 2
  }

  .moe .first-career .fig {
    width: 320px;
    margin-bottom: 30px
  }

  .moe .first-career .desc {
    padding: 0
  }

  .moe .first-career .desc::before,
  .moe .first-career .desc::after {
    background-image: none
  }

  .moe .first-career .desc p {
    text-align: left;
    line-height: 2
  }

  .moe .first-career .desc p:not(:last-child) {
    margin-bottom: 1.6em
  }
}

.moe .history .work-flex {
  display: flex;
  flex-direction: column;
  margin-bottom: 100px
}

.moe .history .work-flex .fig {
  width: 560px;
  padding: 10px;
  background-color: #fb304b;
  position: relative;
  z-index: 5;
  margin: 0 calc((100vw - 1200px)/2 + 15px) 0 auto
}

.moe .history .work-flex .fig img {
  width: 100%
}

.moe .history .work-flex .txt-area {
  width: 75%;
  background-color: #faf3f3;
  margin-top: -240px
}

.moe .history .work-flex .txt-area .txt-inr {
  padding: 90px 0 90px calc((100vw - 1200px)/2 + 15px + 6vw)
}

.moe .history .work-flex .txt-area .txt-inr h4 {
  font-weight: 400;
  font-style: italic;
  font-size: 1.5em;
  letter-spacing: .1em;
  color: #fb304b
}

.moe .history .work-flex .txt-area .txt-inr ul {
  padding-left: 10px
}

.moe .history .work-flex .txt-area .txt-inr ul li {
  margin-top: 30px;
  display: flex;
  flex-wrap: wrap;
  align-items: center
}

.moe .history .work-flex .txt-area .txt-inr ul li span {
  display: inline-block;
  line-height: 1;
  letter-spacing: .05em
}

.moe .history .work-flex .txt-area .txt-inr ul li .dot {
  margin-right: 24px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #fb304b;
  position: relative;
  bottom: -2px
}

.moe .history .work-flex .txt-area .txt-inr ul li .dot .line {
  width: 1px;
  height: 48px;
  background-color: #fb304b;
  position: absolute;
  left: 50%;
  top: -48px;
  transform: translateX(-50%)
}

.moe .history .work-flex .txt-area .txt-inr ul li .event {
  margin: 0 20px
}

.moe .history .work-flex .txt-area .txt-inr ul li .point {
  padding: 3px 8px 5px;
  background-color: #fb304b;
  font-weight: 500;
  color: #fff
}

.moe .history .inter-flex {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto 20px
}

.moe .history .inter-flex::before {
  width: 75vw;
  height: 563px;
  background-color: #faf3f3;
  position: absolute;
  top: 80px;
  right: calc((100vw - 1200px)/2*-1);
  content: "";
  z-index: 1
}

.moe .history .inter-flex .fig-flex {
  display: flex;
  justify-content: space-between;
  width: 58%;
  position: relative;
  z-index: 5
}

.moe .history .inter-flex .fig-flex .l-fig,
.moe .history .inter-flex .fig-flex .r-fig {
  width: 46.55%
}

.moe .history .inter-flex .fig-flex .l-fig img,
.moe .history .inter-flex .fig-flex .r-fig img {
  width: 100%
}

.moe .history .inter-flex .fig-flex .r-fig {
  margin-top: 220px
}

.moe .history .inter-flex .profile {
  margin-left: 90px;
  position: relative;
  z-index: 5
}

.moe .history .inter-flex .profile .group {
  margin-bottom: 20px
}

.moe .history .inter-flex .profile .group h4 {
  font-weight: 400;
  font-style: italic;
  font-size: 1.5em;
  letter-spacing: .1em;
  color: #fb304b
}

.moe .history .inter-flex .profile .group ul {
  padding-left: 10px
}

.moe .history .inter-flex .profile .group ul li {
  margin-top: .25em;
  padding-left: 1.5em;
  position: relative
}

.moe .history .inter-flex .profile .group ul li::before {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #fb304b;
  position: absolute;
  left: 0;
  bottom: 30%;
  content: ""
}

@media screen and (max-width: 1279px) {
  .moe .history .work-flex {
    margin-bottom: 80px
  }

  .moe .history .work-flex .fig {
    width: 46%;
    margin: 0 6% 0 auto
  }

  .moe .history .work-flex .txt-area .txt-inr {
    padding: 50px 0 70px 6%
  }

  .moe .history .inter-flex {
    max-width: 100%;
    padding: 0 6%
  }

  .moe .history .inter-flex::before {
    width: 85vw;
    height: 500px;
    top: 50px;
    right: -6%
  }

  .moe .history .inter-flex .fig-flex {
    width: 54%
  }

  .moe .history .inter-flex .fig-flex .l-fig,
  .moe .history .inter-flex .fig-flex .r-fig {
    width: 48%
  }

  .moe .history .inter-flex .fig-flex .r-fig {
    margin-top: 220px
  }

  .moe .history .inter-flex .profile {
    margin-left: 70px
  }

  .moe .history .inter-flex .profile .group {
    margin-bottom: 10px
  }

  .moe .history .inter-flex .profile .group ul li {
    margin-top: .2em
  }
}

@media screen and (max-width: 1023px) {
  .moe .history .work-flex {
    margin-bottom: 60px
  }

  .moe .history .work-flex .fig {
    padding: 8px
  }

  .moe .history .work-flex .txt-area {
    margin-top: -120px
  }

  .moe .history .work-flex .txt-area .txt-inr {
    padding: 40px 0 60px 6%
  }

  .moe .history .inter-flex::before {
    width: 85vw;
    height: 450px;
    top: 40px
  }

  .moe .history .inter-flex .fig-flex {
    width: 63%
  }

  .moe .history .inter-flex .fig-flex .l-fig,
  .moe .history .inter-flex .fig-flex .r-fig {
    width: 49%
  }

  .moe .history .inter-flex .fig-flex .r-fig {
    margin-top: 200px
  }

  .moe .history .inter-flex .profile {
    margin-left: 40px
  }

  .moe .history .inter-flex .profile .group ul li {
    margin-top: .1em
  }
}

@media screen and (max-width: 767px) {
  .moe .history .work-flex {
    margin-bottom: 50px
  }

  .moe .history .work-flex .fig {
    width: 80%;
    padding: 6px
  }

  .moe .history .work-flex .txt-area {
    width: 85vw;
    margin-top: -60px
  }

  .moe .history .work-flex .txt-area .txt-inr {
    padding: 90px 0 70px 6vw
  }

  .moe .history .work-flex .txt-area .txt-inr ul li {
    margin-top: 20px
  }

  .moe .history .work-flex .txt-area .txt-inr ul li:nth-child(2) .dot .line {
    height: 32px;
    top: -32px
  }

  .moe .history .work-flex .txt-area .txt-inr ul li .dot {
    margin-right: 16px;
    bottom: -1px
  }

  .moe .history .work-flex .txt-area .txt-inr ul li .dot .line {
    height: 58px;
    top: -58px
  }

  .moe .history .work-flex .txt-area .txt-inr ul li .event {
    margin: 0 15px
  }

  .moe .history .work-flex .txt-area .txt-inr ul li .point {
    margin-left: 68px;
    margin-top: 6px;
    font-size: .875em
  }

  .moe .history .inter-flex {
    margin-bottom: 50px
  }

  .moe .history .inter-flex::before {
    height: 430px;
    top: 68vw;
    right: 0
  }

  .moe .history .inter-flex .fig-flex {
    width: 100%
  }

  .moe .history .inter-flex .fig-flex .l-fig,
  .moe .history .inter-flex .fig-flex .r-fig {
    width: 48%
  }

  .moe .history .inter-flex .fig-flex .r-fig {
    margin-top: 50px
  }

  .moe .history .inter-flex .profile {
    margin-left: 18vw
  }

  .moe .history .inter-flex .profile .group ul li {
    margin-top: .1em
  }
}

.moe .tech .moe-heading {
  margin-bottom: 80px
}

.moe .tech .tc-inr .prize {
  text-align: center;
  margin-bottom: 60px
}

.moe .tech .tc-inr .prize figure {
  width: 90px;
  margin: 0 auto 10px
}

.moe .tech .tc-inr .prize figure img {
  width: 100%
}

.moe .tech .tc-inr .prize .frame {
  display: inline-block;
  padding: 0 30px;
  position: relative
}

.moe .tech .tc-inr .prize .frame::before {
  width: 40px;
  height: 100px;
  content: url(./img/lp/moe/laural-l.png);
  position: absolute;
  left: -40px;
  top: 0
}

.moe .tech .tc-inr .prize .frame::after {
  width: 40px;
  height: 100px;
  content: url(./img/lp/moe/laural-r.png);
  position: absolute;
  right: -40px;
  top: 0
}

.moe .tech .tc-inr .prize .frame p {
  font-weight: 500;
  font-size: 1.125em;
  color: #f40424;
  margin-top: 1em;
  line-height: 1.4
}

.moe .tech .tc-inr .prize .frame h3 {
  font-weight: 500;
  font-size: 2.25em;
  color: #f40424;
  line-height: 1.6
}

.moe .tech .tc-inr .step-list {
  padding-top: 36px;
  margin-bottom: 60px
}

.moe .tech .tc-inr .step-list li {
  padding: 30px 0;
  background-color: #faf3f3;
  position: relative;
  opacity: 0
}

.moe .tech .tc-inr .step-list li:not(:last-child) {
  margin-bottom: 70px
}

.moe .tech .tc-inr .step-list li .bg {
  width: 1080px;
  margin: 0 auto
}

.moe .tech .tc-inr .step-list li .bg .intr {
  text-align: center;
  font-size: 6rem;
  letter-spacing: 0;
  line-height: 1;
  position: absolute;
  left: 0;
  right: 0;
  top: -0.5em;
  margin: 0;
  color: #fe97a5
}

.moe .tech .tc-inr .step-list li .bg .step-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

.moe .tech .tc-inr .step-list li .bg .step-flex figure {
  width: 37%
}

.moe .tech .tc-inr .step-list li .bg .step-flex figure img {
  width: 100%
}

.moe .tech .tc-inr .step-list li .bg .step-flex .desc {
  width: 59.25%
}

.moe .tech .tc-inr .step-list li .bg .step-flex .desc h3 {
  font-weight: 700;
  font-size: 1.25em;
  line-height: 1.25;
  margin-bottom: .8em
}

.moe .tech .tc-inr .step-list li .bg .step-flex .desc p .strong {
  color: #f40424;
  font-weight: 500
}

@media screen and (max-width: 1279px) {
  .moe .tech .moe-heading {
    margin-bottom: 60px
  }

  .moe .tech .tc-inr .prize {
    margin-bottom: 50px
  }

  .moe .tech .tc-inr .prize .frame p {
    font-size: 1em
  }

  .moe .tech .tc-inr .prize .frame h3 {
    font-size: 2em
  }

  .moe .tech .tc-inr .step-list li {
    padding: 60px 0 50px
  }

  .moe .tech .tc-inr .step-list li:not(:last-child) {
    margin-bottom: 60px
  }

  .moe .tech .tc-inr .step-list li .bg {
    width: 100%;
    padding: 0 40px
  }

  .moe .tech .tc-inr .step-list li .bg .intr {
    font-size: 4.8rem
  }

  .moe .tech .tc-inr .step-list li .bg .step-flex .desc h3 {
    font-size: 1.125em;
    margin-bottom: 1em
  }

  .moe .tech .tc-inr .step-list li .bg .step-flex .desc p {
    font-size: 1em
  }
}

@media screen and (max-width: 1023px) {
  .moe .tech .moe-heading {
    margin-bottom: 40px
  }

  .moe .tech .tc-inr .prize {
    margin-bottom: 40px
  }

  .moe .tech .tc-inr .step-list {
    margin-bottom: 40px
  }

  .moe .tech .tc-inr .step-list li {
    padding: 50px 0 40px
  }

  .moe .tech .tc-inr .step-list li .bg .step-flex figure {
    width: 50%;
    margin: 0 auto 30px
  }

  .moe .tech .tc-inr .step-list li .bg .step-flex .desc {
    width: 100%
  }

  .moe .tech .tc-inr .step-list li .bg .step-flex .desc h3 {
    text-align: center
  }
}

@media screen and (max-width: 767px) {
  .moe .tech .tc-inr .prize {
    margin-bottom: 30px
  }

  .moe .tech .tc-inr .prize .frame {
    padding: 0 12px
  }

  .moe .tech .tc-inr .prize .frame h3 {
    font-size: 1.6em;
    line-height: 2
  }

  .moe .tech .tc-inr .step-list {
    padding-top: 24px
  }

  .moe .tech .tc-inr .step-list li:not(:last-child) {
    margin-bottom: 46px
  }

  .moe .tech .tc-inr .step-list li .bg {
    padding: 0 24px
  }

  .moe .tech .tc-inr .step-list li .bg .intr {
    font-size: 4rem
  }

  .moe .tech .tc-inr .step-list li .bg .step-flex figure {
    width: 100%;
    margin-bottom: 20px
  }

  .moe .tech .tc-inr .step-list li .bg .step-flex .desc {
    width: 100%
  }

  .moe .tech .tc-inr .step-list li .bg .step-flex .desc h3 {
    font-size: 1.8rem;
    line-height: 1.4
  }
}

.moe .tech .tc-inr .summary {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center
}

.moe .tech .tc-inr .summary figure {
  width: 31.5%;
  margin-right: 30px
}

.moe .tech .tc-inr .summary figure img {
  width: 100%
}

.moe .tech .tc-inr .summary .txt-area {
  width: calc(68.5% - 30px);
  position: relative
}

.moe .tech .tc-inr .summary .txt-area::before {
  width: 100px;
  height: 1px;
  background-color: #f40424;
  transform: rotate(-18deg);
  position: absolute;
  left: 0;
  top: 0;
  content: ""
}

.moe .tech .tc-inr .summary .txt-area::after {
  width: 100px;
  height: 1px;
  background-color: #f40424;
  transform: rotate(18deg);
  position: absolute;
  left: 0;
  bottom: 0;
  content: ""
}

.moe .tech .tc-inr .summary .txt-area p {
  padding: 40px 0 40px 30px;
  font-weight: 500;
  font-size: 1.125em;
  letter-spacing: 0;
  line-height: 2;
  color: #f40424
}

@media screen and (max-width: 1023px) {
  .moe .tech .tc-inr .summary {
    max-width: 100%
  }

  .moe .tech .tc-inr .summary figure {
    width: 31.5%;
    margin-right: 20px
  }

  .moe .tech .tc-inr .summary .txt-area {
    width: calc(68.5% - 20px)
  }

  .moe .tech .tc-inr .summary .txt-area p {
    padding: 30px 0 30px 20px
  }
}

@media screen and (max-width: 767px) {
  .moe .tech .tc-inr .summary {
    flex-direction: column-reverse
  }

  .moe .tech .tc-inr .summary figure {
    width: 60%;
    margin: 0 auto
  }

  .moe .tech .tc-inr .summary .txt-area {
    width: 100%;
    margin-bottom: 1.5em
  }

  .moe .tech .tc-inr .summary .txt-area::before {
    width: 1px;
    height: 100px;
    left: 10px;
    bottom: 0;
    top: auto
  }

  .moe .tech .tc-inr .summary .txt-area::after {
    width: 1px;
    height: 100px;
    left: auto;
    right: 10px
  }

  .moe .tech .tc-inr .summary .txt-area p {
    padding: 0 30px;
    text-align: center;
    font-size: 1em
  }
}

.moe .second-career {
  padding-bottom: 100px !important
}

.moe .second-career .moe-heading {
  margin-bottom: -50px;
  padding: 50px 0 22px
}

.moe .second-career .moe-heading::after {
  bottom: -50px;
  z-index: 2;
  border-width: 0 0 50px 100vw;
  border-color: transparent transparent transparent #282828
}

.moe .second-career .bg-pink {
  background-color: #fb304b
}

.moe .second-career .bg-pink .sc-inr .message-flex {
  display: flex;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 100px
}

.moe .second-career .bg-pink .sc-inr .message-flex .fig {
  width: 50%
}

.moe .second-career .bg-pink .sc-inr .message-flex .fig img {
  width: 100%
}

.moe .second-career .bg-pink .sc-inr .message-flex .desc {
  width: 42.5%;
  padding-top: 100px
}

.moe .second-career .bg-pink .sc-inr .message-flex .desc p {
  color: #fff
}

.moe .second-career .bg-pink .sc-inr .message-flex .desc p:not(:last-child) {
  margin-bottom: 1.5em
}

.moe .second-career .sns {
  max-width: 960px;
  margin: 0 auto;
  background-image: url(./img/lp/moe/bg-sns.jpg);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover
}

.moe .second-career .sns .sns-inr {
  padding: 110px 0 60px;
  text-align: center
}

.moe .second-career .sns .sns-inr .sns-links {
  position: relative;
  margin-bottom: 120px
}

.moe .second-career .sns .sns-inr .sns-links h3 {
  font-weight: 400;
  font-style: italic;
  font-size: 1.875em;
  letter-spacing: .2em;
  color: #fff;
  margin-bottom: .4em
}

.moe .second-career .sns .sns-inr .sns-links .link-flex {
  display: flex;
  justify-content: center
}

.moe .second-career .sns .sns-inr .sns-links .link-flex a {
  display: block;
  width: 50px;
  margin: 0 8px
}

.moe .second-career .sns .sns-inr .sns-links .link-flex a img {
  width: 100%
}

.moe .second-career .sns .sns-inr .sns-links .follow {
  width: 267px;
  height: 122px;
  position: absolute;
  right: 100px;
  bottom: -90px
}

.moe .second-career .sns .sns-inr .sns-links .follow img {
  width: 100%
}

.moe .second-career .sns .sns-inr .target {
  color: #fb304b
}

.moe .second-career .sns .sns-inr .target h3 {
  font-weight: 500;
  font-size: 1.25em;
  letter-spacing: .01em;
  margin-bottom: .2em
}

.moe .second-career .sns .sns-inr .target .dot-list {
  display: flex;
  flex-direction: column;
  align-items: center
}

.moe .second-career .sns .sns-inr .target .dot-list li {
  display: inline-block;
  padding: 0 1.1em;
  position: relative;
  font-weight: 500
}

.moe .second-career .sns .sns-inr .target .dot-list li::before,
.moe .second-career .sns .sns-inr .target .dot-list li::after {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #fb304b;
  position: absolute;
  top: 40%;
  content: ""
}

.moe .second-career .sns .sns-inr .target .dot-list li::before {
  left: 0
}

.moe .second-career .sns .sns-inr .target .dot-list li::after {
  right: 0
}

@media screen and (max-width: 1279px) {
  .moe .second-career .moe-heading {
    margin-bottom: -30px;
    padding: 40px 0 22px
  }

  .moe .second-career .moe-heading::after {
    bottom: -30px;
    border-width: 0 0 30px 100vw
  }

  .moe .second-career .bg-pink .sc-inr {
    padding: 0
  }

  .moe .second-career .bg-pink .sc-inr .message-flex {
    margin-bottom: 80px
  }

  .moe .second-career .bg-pink .sc-inr .message-flex .fig {
    width: 45%
  }

  .moe .second-career .bg-pink .sc-inr .message-flex .desc {
    width: 50%;
    padding-top: 60px;
    padding-left: 6%
  }

  .moe .second-career .sns {
    max-width: 100%;
    margin: 0 6%
  }
}

@media screen and (max-width: 1023px) {
  .moe .second-career .moe-heading {
    margin-bottom: -30px;
    padding: 40px 0 22px
  }

  .moe .second-career .moe-heading::after {
    bottom: -30px;
    border-width: 0 0 30px 100vw
  }

  .moe .second-career .bg-pink .sc-inr {
    padding: 0 6%
  }

  .moe .second-career .bg-pink .sc-inr .message-flex {
    margin-bottom: 60px
  }

  .moe .second-career .bg-pink .sc-inr .message-flex .fig {
    width: 80%;
    margin: 0 auto 30px
  }

  .moe .second-career .bg-pink .sc-inr .message-flex .desc {
    width: 70%;
    margin: 0 auto 50px;
    padding-top: 0;
    padding-left: 0
  }

  .moe .second-career .sns .sns-inr .sns-links .follow {
    width: 180px;
    height: 122px;
    position: absolute;
    right: 60px;
    bottom: -120px
  }
}

@media screen and (max-width: 767px) {
  .moe .second-career .bg-pink .sc-inr {
    padding: 0
  }

  .moe .second-career .bg-pink .sc-inr .message-flex .fig {
    width: 100%;
    margin: 0 auto 30px
  }

  .moe .second-career .bg-pink .sc-inr .message-flex .desc {
    width: 100%;
    padding: 0 6%;
    margin-bottom: 40px
  }

  .moe .second-career .sns {
    max-width: 330px;
    margin: 0 auto;
    background-position: center top 90%;
    background-size: 250%
  }

  .moe .second-career .sns .sns-inr {
    padding: 13.33vw 0 8vw
  }

  .moe .second-career .sns .sns-inr .sns-links h3 {
    font-size: 1.5em
  }

  .moe .second-career .sns .sns-inr .sns-links .link-flex a {
    width: 40px;
    margin: 0 12px
  }

  .moe .second-career .sns .sns-inr .sns-links .follow {
    width: 120px;
    height: 80px;
    right: 20px;
    bottom: -72px
  }

  .moe .second-career .sns .sns-inr .target h3 {
    font-size: 1.2em;
    line-height: 1.4;
    margin-bottom: .8em
  }

  .moe .second-career .sns .sns-inr .target .dot-list li {
    padding: 0 1.1em;
    line-height: 1.4
  }

  .moe .second-career .sns .sns-inr .target .dot-list li::before,
  .moe .second-career .sns .sns-inr .target .dot-list li::after {
    top: 7px
  }

  .moe .second-career .sns .sns-inr .target .dot-list li::after {
    background-color: transparent
  }
}

#moe-contact .moe-heading {
  margin-bottom: -50px;
  padding: 50px 0 22px
}

#moe-contact .moe-heading::after {
  bottom: -50px;
  z-index: 2;
  border-width: 0 0 50px 100vw;
  border-color: transparent transparent transparent #282828
}

#moe-contact #contactform {
  background-color: #faf3f3;
  padding-top: 160px
}

@media screen and (max-width: 1279px) {
  #moe-contact .moe-heading {
    margin-bottom: -30px;
    padding: 40px 0 22px
  }

  #moe-contact .moe-heading::after {
    bottom: -30px;
    border-width: 0 0 30px 100vw
  }

  #moe-contact #contactform {
    background-color: #faf3f3;
    padding-top: 120px
  }
}

@media screen and (max-width: 1023px) {
  #moe-contact .moe-heading {
    margin-bottom: -30px;
    padding: 40px 0 22px
  }

  #moe-contact .moe-heading::after {
    bottom: -30px;
    border-width: 0 0 30px 100vw
  }
}

.moe .entry-form .inner {
  max-width: 960px;
  margin: 0 auto
}

.moe .entry-form .inner .desc {
  text-align: center;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.7;
  margin-bottom: 2em
}

.moe .section--6 .inner .form dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.moe .section--6 .inner .form dl dt {
  width: 24%;
  padding: 10px 1.2em;
  background-color: #fb304b;
  color: #fff;
  text-align: left;
  font-weight: 500;
  font-size: 1.125em;
  margin-bottom: 10px
}

.moe .section--6 .inner .form dl dt .required,
.moe .section--6 .inner .form dl dt .optional {
  display: none
}

.moe .section--6 .inner .form dl dd {
  width: 75%
}

.moe .section--6 .inner .form dl dd.join label {
  background: #fff;
  padding: 10px 10px;
  display: block;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.moe .section--6 .inner .form dl dd.place li:first-child {
  background: #fff;
  padding-top: 10px
}

.moe .section--6 .inner .form dl dd.place li:last-child {
  background: #fff;
  padding-bottom: 10px
}

.moe .section--6 .inner .form dl dd.place li label {
  background: #fff;
  padding: 2px 10px;
  display: block;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.moe .section--6 .inner .form .error_blank {
  display: block;
  margin: 10px 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  color: #ff4d4d
}

.moe .section--6 .inner .form input[type=text],
.moe .section--6 .inner .form input[type=email],
.moe .section--6 .inner .form textarea {
  background: #fff;
  border: solid 1px #fff;
  padding: 10px;
  display: block;
  width: 100%;
  font-size: 1.6rem;
  letter-spacing: .1em;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.moe .section--6 .inner .form textarea {
  height: 200px
}

.moe .section--6 .inner .form .btn__submit {
  display: block;
  margin: auto;
  padding: 20px
}

.moe .section--6 .inner .form .btn__submit input[type=button] {
  display: block;
  width: 280px;
  margin: 0 auto 90px;
  height: 60px;
  border-radius: 30px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
  line-height: 55px;
  color: #fff;
  background: #282828;
  cursor: pointer;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: all .3s
}

.moe .section--6 .inner .form .btn__submit :hover input[type=button] {
  background: #fe97a5
}

.moe .section--6 .inner .form #agreement {
  border-bottom: 0px
}

.moe .section--6 .inner .form #agreement #agree_check {
  font-weight: 500;
  font-size: 1.4rem
}

.moe .section--6 .inner .form #agreement #agree_check a {
  text-decoration: underline
}

.moe .section--6 .inner .form #agreement #agree_check .error_check {
  color: red;
  margin: 3px 0 10px;
  font-weight: 500;
  line-height: 1;
  font-size: 1.2rem
}

.moe .section--6 p {
  font-size: 1.1rem;
  line-height: 2;
  font-weight: 900;
  text-align: center
}

@media screen and (max-width: 1023px) {
  .moe .section--6 .inner {
    width: 100%;
    padding: 0 6%
  }

  .moe .section--6 .inner .form dl dt {
    width: 27%
  }

  .moe .section--6 .inner .form dl dd {
    width: 71.6%
  }
}

@media screen and (max-width: 767px) {
  .moe .section--6 .inner {
    width: 100%;
    padding: 0 6%
  }

  .moe .section--6 .inner .form dl dt {
    width: 100%;
    padding: 0 10px;
    margin-bottom: 0
  }

  .moe .section--6 .inner .form dl dd {
    width: 100%
  }

  .moe .section--6 .inner .form dl dd:not(:last-child) {
    margin-bottom: 10px
  }

  .moe .section--6 .inner .form .btn__submit input[type=button] {
    width: 80%
  }

  .moe .section--6 .inner .desc {
    text-align: left
  }
}

form#mail_form dl dt span.optional {
  background: #337ab7;
  border: 1px solid #2e6da4
}

form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
  display: block;
  color: red;
  margin-top: 3px
}

span.loading {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border-top: 5px solid rgba(255, 255, 255, .2);
  border-right: 5px solid rgba(255, 255, 255, .2);
  border-bottom: 5px solid rgba(255, 255, 255, .2);
  border-left: 5px solid #fff;
  transform: translateZ(0);
  -webkit-animation: load-circle 1s linear infinite;
  animation: load-circle 1s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px
}

@-webkit-keyframes load-circle {
  0% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(360deg)
  }
}

@keyframes load-circle {
  0% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(360deg)
  }
}

.moe .thanks #header {
  background-color: #fb304b;
  height: 100px
}

.moe .thanks main {
  padding-top: 100px
}

@media screen and (max-width: 1279px) {
  .moe .thanks #header {
    height: 95px
  }

  .moe .thanks main {
    padding-top: 95px
  }
}

@media screen and (max-width: 767px) {
  .moe .thanks #header {
    height: 80px
  }

  .moe .thanks main {
    padding-top: 80px
  }
}

.moe .thanks-message {
  padding: 70px 0;
  background-color: #faf3f3
}

.moe .thanks-message .container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center
}

.moe .thanks-message .container .logo {
  width: 220px;
  margin: 0 auto 30px;
  padding-right: 20px
}

.moe .thanks-message .container .logo img {
  width: 100%
}

.moe .thanks-message .container h1 {
  width: 100%;
  position: static;
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: .4em
}

.moe .thanks-message .container p {
  text-align: center;
  line-height: 1.5
}

.moe .thanks-message .container h2 {
  text-align: center;
  font-weight: 400;
  font-size: 1.6rem;
  margin: 2.4em 0 .4em
}

.moe .thanks-message .container .case-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.moe .thanks-message .container .case-flex .case {
  width: 49%;
  padding: 20px 30px 24px;
  background-color: #fff
}

.moe .thanks-message .container .case-flex .case h3 {
  font-size: 1.6rem;
  margin-bottom: .4em
}

.moe .thanks-message .container .case-flex .case p {
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.5
}

@media screen and (max-width: 1279px) {
  .moe .thanks-message .container {
    width: 100%;
    padding: 0 6%
  }

  .moe .thanks-message .container h2 {
    line-height: 1.4;
    margin-bottom: 1em
  }

  .moe .thanks-message .container .case-flex .case h3 {
    line-height: 1.4;
    margin-bottom: 1em
  }
}

@media screen and (max-width: 767px) {
  .moe .thanks-message {
    padding: 50px 0
  }

  .moe .thanks-message .container .logo {
    width: 180px;
    margin: 0 auto 30px;
    padding-right: 10px
  }

  .moe .thanks-message .container h1 {
    margin: 0 auto 1.2em;
    line-height: 1.33
  }

  .moe .thanks-message .container h2 {
    text-align: left;
    font-size: 1.4rem
  }

  .moe .thanks-message .container .case-flex .case {
    width: 100%
  }

  .moe .thanks-message .container .case-flex .case:not(:last-child) {
    margin-bottom: 20px
  }

  .moe .thanks-message .container p {
    text-align: left
  }
}

.entry-form {
  padding-bottom: 0 !important;
  padding-top: 0 !important
}

.entry-form #contactform {
  padding-top: 100px
}

.entry-form .inner .desc {
  margin-top: -20px;
  margin-bottom: 40px;
  font-weight: 500
}

@media screen and (max-width: 1023px) {
  .entry-form #contactform {
    padding-top: 80px
  }
}

@media screen and (max-width: 767px) {
  .entry-form #contactform {
    padding-top: 60px
  }
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
  section.flow .container>ul li .bg .en {
    background-image: none;
    color: #fff
  }
}

.entry-form {
  padding: 60px 0 10px;
  background-color: #dee2ee
}

.entry-form .inner {
  max-width: 960px;
  margin: 0 auto
}

.entry-form .inner .heading {
  text-align: center
}

.entry-form .inner .heading .intr {
  margin-bottom: 0
}

.entry-form .inner .heading h2 {
  margin-bottom: 1.5em
}

.entry-form .inner .desc {
  text-align: center;
  font-weight: 400;
  font-size: 1.6rem;
  line-height: 1.7;
  margin-bottom: 2em
}

.section--6 .inner .form dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.section--6 .inner .form dl dt {
  width: 24%;
  padding: 10px 1.2em;
  background-color: #0c142e;
  color: #fff;
  text-align: left;
  font-weight: 500;
  font-size: 1.125em;
  margin-bottom: 10px
}

.section--6 .inner .form dl dt .required,
.section--6 .inner .form dl dt .optional {
  display: none
}

.section--6 .inner .form dl dd {
  width: 75%
}

.section--6 .inner .form dl dd.join label {
  background: #f5f5f5;
  padding: 10px 10px;
  display: block;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.section--6 .inner .form dl dd.place li:first-child {
  background: #f5f5f5;
  padding-top: 10px
}

.section--6 .inner .form dl dd.place li:last-child {
  background: #f5f5f5;
  padding-bottom: 10px
}

.section--6 .inner .form dl dd.place li label {
  background: #f5f5f5;
  padding: 2px 10px;
  display: block;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.section--6 .inner .form .error_blank {
  display: block;
  margin: 10px 0;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  color: #ff4d4d
}

.section--6 .inner .form input[type=text],
.section--6 .inner .form input[type=email],
.section--6 .inner .form textarea {
  background: #fff;
  border: solid 1px #fff;
  padding: 10px;
  display: block;
  width: 100%;
  font-size: 1.6rem;
  letter-spacing: .1em;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.section--6 .inner .form textarea {
  height: 200px
}

.section--6 .inner .form .btn__submit {
  display: block;
  margin: auto;
  padding: 20px
}

.section--6 .inner .form .btn__submit input[type=button] {
  display: block;
  width: 280px;
  margin: 0 auto 90px;
  height: 60px;
  border-radius: 30px;
  text-align: center;
  font-weight: 700;
  font-size: 2rem;
  line-height: 55px;
  color: #fff;
  background: #0052cc;
  cursor: pointer;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: all .3s
}

.section--6 .inner .form .btn__submit :hover input[type=button] {
  background: #0c142e
}

.section--6 .inner .form #agreement {
  border-bottom: 0px
}

.section--6 .inner .form #agreement #agree_check {
  font-weight: 500;
  font-size: 1.4rem
}

.section--6 .inner .form #agreement #agree_check a {
  text-decoration: underline
}

.section--6 .inner .form #agreement #agree_check .error_check {
  color: red;
  margin: 3px 0 10px;
  font-weight: 500;
  line-height: 1;
  font-size: 1.2rem
}

.section--6 p {
  font-size: 1.1rem;
  line-height: 2;
  font-weight: 900;
  text-align: center
}

@media screen and (max-width: 1023px) {
  .section--6 .inner {
    width: 100%;
    padding: 0 6%
  }

  .section--6 .inner .form dl dt {
    width: 27%
  }

  .section--6 .inner .form dl dd {
    width: 71.6%
  }
}

@media screen and (max-width: 767px) {
  .section--6 .inner {
    width: 100%;
    padding: 0 6%
  }

  .section--6 .inner .form dl dt {
    width: 100%;
    padding: 0 10px;
    margin-bottom: 0
  }

  .section--6 .inner .form dl dd {
    width: 100%
  }

  .section--6 .inner .form dl dd:not(:last-child) {
    margin-bottom: 10px
  }

  .section--6 .inner .form .btn__submit input[type=button] {
    width: 80%
  }

  .section--6 .inner .desc {
    text-align: left
  }
}

form#mail_form dl dt span.optional {
  background: #337ab7;
  border: 1px solid #2e6da4
}

form#mail_form dl dd span.error_blank,
form#mail_form dl dd span.error_format,
form#mail_form dl dd span.error_match {
  display: block;
  color: red;
  margin-top: 3px
}

span.loading {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border-top: 5px solid rgba(255, 255, 255, .2);
  border-right: 5px solid rgba(255, 255, 255, .2);
  border-bottom: 5px solid rgba(255, 255, 255, .2);
  border-left: 5px solid #fff;
  transform: translateZ(0);
  -webkit-animation: load-circle 1s linear infinite;
  animation: load-circle 1s linear infinite;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px
}

@-webkit-keyframes load-circle {
  0% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(360deg)
  }
}

@keyframes load-circle {
  0% {
    transform: rotate(0deg)
  }

  100% {
    transform: rotate(360deg)
  }
}

.thanks-message {
  padding: 70px 0;
  background-color: #dee2ee
}

.thanks-message .container {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center
}

.thanks-message .container .logo {
  width: 220px;
  margin: 0 auto 30px;
  padding-right: 20px
}

.thanks-message .container .logo img {
  width: 100%
}

.thanks-message .container h1 {
  width: 100%;
  position: static;
  text-align: center;
  font-size: 2.4rem;
  margin-bottom: .4em
}

.thanks-message .container p {
  text-align: center;
  line-height: 1.5
}

.thanks-message .container h2 {
  text-align: center;
  font-weight: 400;
  font-size: 1.6rem;
  margin: 2.4em 0 .4em
}

.thanks-message .container .case-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.thanks-message .container .case-flex .case {
  width: 49%;
  padding: 20px 30px 24px;
  background-color: #fff
}

.thanks-message .container .case-flex .case h3 {
  font-size: 1.6rem;
  margin-bottom: .4em
}

.thanks-message .container .case-flex .case p {
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.5
}

@media screen and (max-width: 1279px) {
  .thanks-message .container {
    width: 100%;
    padding: 0 6%
  }

  .thanks-message .container h2 {
    line-height: 1.4;
    margin-bottom: 1em
  }

  .thanks-message .container .case-flex .case h3 {
    line-height: 1.4;
    margin-bottom: 1em
  }
}

@media screen and (max-width: 767px) {
  .thanks-message {
    padding: 50px 0
  }

  .thanks-message .container .logo {
    width: 180px;
    margin: 0 auto 30px;
    padding-right: 10px
  }

  .thanks-message .container h1 {
    margin: 0 auto 1.2em;
    line-height: 1.33
  }

  .thanks-message .container h2 {
    text-align: left;
    font-size: 1.4rem
  }

  .thanks-message .container .case-flex .case {
    width: 100%
  }

  .thanks-message .container .case-flex .case:not(:last-child) {
    margin-bottom: 20px
  }

  .thanks-message .container p {
    text-align: left
  }
}

.entry-form {
  padding-bottom: 0 !important;
  padding-top: 0 !important
}

.entry-form #contactform {
  padding-top: 100px
}

.entry-form .inner .desc {
  margin-top: -20px;
  margin-bottom: 40px;
  font-weight: 500
}

@media screen and (max-width: 1023px) {
  .entry-form #contactform {
    padding-top: 80px
  }
}

@media screen and (max-width: 767px) {
  .entry-form #contactform {
    padding-top: 60px
  }
}

.seminar .summary .sm-tbl {
  width: 960px;
  margin: 0 auto
}

.seminar .summary .sm-tbl tr th,
.seminar .summary .sm-tbl tr td {
  border: solid 1px #dee2ee;
  font-size: 1.125em
}

.seminar .summary .sm-tbl tr th {
  background-color: #0052cc;
  color: #fff;
  width: 20%;
  padding: 20px;
  font-weight: 500
}

.seminar .summary .sm-tbl tr td {
  background-color: #f5f5f5;
  padding: 20px 40px
}

.seminar .summary .sm-tbl tr td .hall {
  margin-bottom: .3em
}

.seminar .summary .sm-tbl tr td .add {
  font-size: .875em;
  margin-bottom: .4em
}

.seminar .summary .sm-tbl tr td a {
  font-size: .875em;
  color: #0052cc
}

@media screen and (max-width: 1279px) {
  .seminar .summary .sm-tbl {
    width: 100%;
    padding: 0 6%
  }
}

@media screen and (max-width: 1023px) {
  .seminar .summary .sm-tbl tr th {
    width: 36%;
    padding: 15px
  }

  .seminar .summary .sm-tbl tr td {
    padding: 15px 20px
  }
}

.seminar .overview {
  background-color: #0052cc
}

.seminar .overview .ov-inr .ct-heading .en,
.seminar .overview .ov-inr .ct-heading h2 {
  color: #fff
}

.seminar .overview .ov-inr .lead {
  color: #fff;
  text-align: center;
  margin-bottom: 40px;
  margin-top: -20px
}

.seminar .overview .ov-inr .step-list {
  padding-top: 36px;
  margin-bottom: 40px
}

.seminar .overview .ov-inr .step-list li {
  padding: 60px 0;
  background-color: #dee2ee;
  position: relative
}

.seminar .overview .ov-inr .step-list li:not(:last-child) {
  margin-bottom: 70px
}

.seminar .overview .ov-inr .step-list li .bg {
  width: 1000px;
  margin: 0 auto
}

.seminar .overview .ov-inr .step-list li .bg .intr {
  text-align: center;
  font-size: 6rem;
  line-height: 1;
  position: absolute;
  left: 0;
  right: 0;
  top: -0.5em;
  margin: 0;
  color: #0c142e
}

.seminar .overview .ov-inr .step-list li .bg .step-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center
}

.seminar .overview .ov-inr .step-list li .bg .step-flex figure {
  width: 48%
}

.seminar .overview .ov-inr .step-list li .bg .step-flex .desc {
  width: 48%
}

.seminar .overview .ov-inr .step-list li .bg .step-flex .desc h3 {
  font-weight: 700;
  font-size: 2.9rem;
  line-height: 1.25;
  color: #0c142e;
  margin-bottom: .8em
}

.seminar .overview .ov-inr .step-list li .bg .step-flex .desc p {
  font-size: 1.25em;
  line-height: 1.5em
}

.seminar .overview .ov-inr .step-list li .bg .step-flex .desc .speaker {
  font-size: 1em;
  line-height: 1.5em;
  margin-top: 1em
}

@media screen and (max-width: 1279px) {
  .seminar .overview {
    padding-top: 60px
  }

  .seminar .overview .ov-inr .lead {
    margin-bottom: 60px
  }

  .seminar .overview .ov-inr .step-list {
    padding-top: 0
  }

  .seminar .overview .ov-inr .step-list li {
    padding: 40px 0
  }

  .seminar .overview .ov-inr .step-list li:not(:last-child) {
    margin-bottom: 60px
  }

  .seminar .overview .ov-inr .step-list li .bg {
    width: 100%;
    padding: 0 6%
  }

  .seminar .overview .ov-inr .step-list li .bg .intr {
    font-size: 4.8rem
  }

  .seminar .overview .ov-inr .step-list li .bg .step-flex .desc h3 {
    font-size: 2rem;
    line-height: 1.2;
    margin-bottom: .6em
  }

  .seminar .overview .ov-inr .step-list li .bg .step-flex .desc p {
    font-size: 1em
  }
}

@media screen and (max-width: 767px) {
  .seminar .overview .ov-inr .lead {
    margin-bottom: 40px
  }

  .seminar .overview .ov-inr .step-list {
    padding-top: 24px
  }

  .seminar .overview .ov-inr .step-list li:not(:last-child) {
    padding: 50px 0 40px;
    margin-bottom: 46px
  }

  .seminar .overview .ov-inr .step-list li .bg .intr {
    font-size: 4rem
  }

  .seminar .overview .ov-inr .step-list li .bg .step-flex figure {
    width: 100%;
    margin-bottom: 20px
  }

  .seminar .overview .ov-inr .step-list li .bg .step-flex .desc {
    width: 100%
  }

  .seminar .overview .ov-inr .step-list li .bg .step-flex .desc h3 {
    text-align: center;
    margin-bottom: .6em;
    font-size: 2rem;
    line-height: 1.4
  }
}

.seminar .recommend .rec-list {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between
}

.seminar .recommend .rec-list li {
  width: calc(50% - 10px);
  height: 100px;
  margin: 0 5px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25em;
  line-height: 1.25;
  color: #fff
}

.seminar .recommend .rec-list li:nth-child(1),
.seminar .recommend .rec-list li:nth-child(4),
.seminar .recommend .rec-list li:nth-child(5) {
  background-color: #0052cc
}

.seminar .recommend .rec-list li:nth-child(2),
.seminar .recommend .rec-list li:nth-child(3),
.seminar .recommend .rec-list li:nth-child(6) {
  background-color: #0c142e
}

@media screen and (max-width: 1023px) {
  .seminar .recommend .rec-list li {
    width: 100%;
    height: 80px;
    font-size: 1.125em
  }

  .seminar .recommend .rec-list li:nth-child(3) {
    background-color: #0052cc
  }

  .seminar .recommend .rec-list li:nth-child(4) {
    background-color: #0c142e
  }
}

@media screen and (max-width: 767px) {
  .seminar .recommend {
    padding-top: 160px !important
  }
}

.sec .ct-heading {
  text-align: center
}

.sec .ct-heading .en {
  display: block;
  font-size: .875em;
  letter-spacing: .1em;
  line-height: 1;
  color: #0c142e;
  margin-bottom: 1.4em
}

.sec .ct-heading h2 {
  font-size: 3em;
  letter-spacing: 0em;
  line-height: 1;
  color: #0c142e;
  padding-bottom: .7em;
  margin-bottom: 1.125em;
  position: relative
}

.sec .ct-heading h2:after {
  content: "";
  width: 1.125em;
  height: 5px;
  margin: 0 auto;
  background-color: #e6ff00;
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-left: -0.5625em
}

@media screen and (max-width: 1279px) {
  .sec .ct-heading h2 {
    font-size: 2.4em
  }
}

@media screen and (max-width: 767px) {
  .sec .ct-heading .en {
    font-size: .75em;
    margin-bottom: 1.2em
  }

  .sec .ct-heading h2 {
    font-size: 1.9em;
    padding-bottom: .9em;
    margin-bottom: 1.25em
  }
}

.seminar .mv {
  height: 100vh;
  padding: 40px;
  background-color: #e6ff00;
  position: relative
}

.seminar .mv .bg-flex {
  display: flex;
  justify-content: center;
  height: calc(100vh - 80px)
}

.seminar .mv .bg-flex div {
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  width: 50%
}

.seminar .mv .bg-flex .left-bg {
  background-image: url(./img/lp/seminar/presenter01.jpg)
}

.seminar .mv .bg-flex .right-bg {
  background-image: url(./img/lp/seminar/presenter02.jpg?20220725)
}

@media screen and (max-width: 1279px) {
  .seminar .mv {
    height: 68vw;
    padding: 20px
  }

  .seminar .mv .bg-flex {
    height: calc(68vw - 40px)
  }
}

@media screen and (max-width: 1279px) {
  .seminar .mv {
    height: 70vw
  }

  .seminar .mv .bg-flex {
    height: calc(70vw - 40px)
  }
}

@media screen and (max-width: 767px) {
  .seminar .mv {
    height: 160vw;
    padding: 20px
  }

  .seminar .mv .bg-flex {
    height: calc(160vw - 40px);
    flex-direction: column
  }

  .seminar .mv .bg-flex div {
    width: 100%;
    height: 80vw
  }

  .seminar .mv .bg-flex .right-bg {
    background-image: url(./img/lp/seminar/presenter02-sp.jpg?20220725)
  }
}

.seminar .mv .front-flex {
  position: absolute;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  padding: 36vh 40px 0;
  display: flex;
  justify-content: space-between
}

.seminar .mv .front-flex .name {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: .05em;
  color: #fff;
  padding: 1.5vh 20px 0
}

.seminar .mv .front-flex .name.l-name {
  -webkit-animation-delay: .2s;
  animation-delay: .2s
}

.seminar .mv .front-flex .name.r-name {
  padding-right: 40px;
  -webkit-animation-delay: .6s;
  animation-delay: .6s
}

.seminar .mv .front-flex .name p {
  font-size: 1em;
  line-height: 1.2
}

.seminar .mv .front-flex .name h2 {
  font-size: 2.4em;
  line-height: 1.2;
  padding-top: .5em;
  margin-right: 2px
}

@media screen and (max-width: 1279px) {
  .seminar .mv .front-flex {
    padding: 26vw 20px 0
  }

  .seminar .mv .front-flex .name {
    padding: .8em 20px 0
  }

  .seminar .mv .front-flex .name.r-name {
    padding-right: 20px
  }

  .seminar .mv .front-flex .name p {
    font-size: .875em
  }

  .seminar .mv .front-flex .name h2 {
    font-size: 2em;
    padding-top: .5em
  }
}

@media screen and (max-width: 1023px) {
  .seminar .mv .front-flex {
    padding: 22vw 20px 0
  }

  .seminar .mv .front-flex .name.r-name {
    padding-right: 10px
  }

  .seminar .mv .front-flex .name h2 {
    font-size: 1.6em
  }
}

@media screen and (max-width: 767px) {
  .seminar .mv .front-flex {
    flex-direction: column;
    justify-content: center
  }

  .seminar .mv .front-flex .name {
    padding: .8em 10px 0
  }

  .seminar .mv .front-flex .name.r-name {
    margin: 0 0 15vw auto
  }

  .seminar .mv .front-flex .name p {
    font-size: .75em;
    white-space: nowrap
  }

  .seminar .mv .front-flex .name h2 {
    font-size: 1.4em;
    white-space: nowrap;
    margin-right: 2px
  }
}

.seminar .mv .front-flex .seminar-ttl {
  text-align: center
}

.seminar .mv .front-flex .seminar-ttl .date {
  width: 14vw;
  margin: 0 auto 1.2vw
}

.seminar .mv .front-flex .seminar-ttl h1 {
  margin-bottom: 1vw
}

.seminar .mv .front-flex .seminar-ttl h1 span {
  display: inline-block;
  background-color: #0c142e;
  line-height: 1;
  color: #fff
}

.seminar .mv .front-flex .seminar-ttl h1 span.sub {
  font-size: 2.4vw;
  padding: .24em .36em
}

.seminar .mv .front-flex .seminar-ttl h1 span.main {
  font-size: 4.4vw;
  padding: .15em .2em;
  margin-left: 3em
}

.seminar .mv .front-flex .seminar-ttl h2 {
  font-size: 1vw;
  color: #fff;
  margin-bottom: 2.4vw
}

@media screen and (max-width: 1279px) {
  .seminar .mv .front-flex {
    height: auto
  }

  .seminar .mv .front-flex .seminar-ttl .date {
    width: 160px;
    margin: 0 auto 2vw
  }

  .seminar .mv .front-flex .seminar-ttl h1 {
    margin-bottom: 1.4vw
  }

  .seminar .mv .front-flex .seminar-ttl h1 span.sub {
    font-size: 3vw;
    padding: .24em .36em
  }

  .seminar .mv .front-flex .seminar-ttl h1 span.main {
    font-size: 5vw;
    padding: .15em .2em;
    margin-left: 3em
  }

  .seminar .mv .front-flex .seminar-ttl h2 {
    font-size: 1em;
    margin-bottom: 20px
  }
}

@media screen and (max-width: 1023px) {
  .seminar .mv .front-flex .seminar-ttl .date {
    width: 140px;
    margin: 0 auto 20px
  }

  .seminar .mv .front-flex .seminar-ttl h1 {
    margin-bottom: 10px
  }

  .seminar .mv .front-flex .seminar-ttl h2 {
    margin-bottom: 20px
  }
}

@media screen and (max-width: 767px) {
  .seminar .mv .front-flex {
    height: 160vw
  }

  .seminar .mv .front-flex .seminar-ttl .date {
    width: 120px;
    margin: 0 auto 10px
  }

  .seminar .mv .front-flex .seminar-ttl h1 {
    margin-bottom: 5px;
    line-height: 1.5
  }

  .seminar .mv .front-flex .seminar-ttl h1 span.sub {
    font-size: 4vw;
    padding: .3em .36em
  }

  .seminar .mv .front-flex .seminar-ttl h1 span.main {
    font-size: 7vw;
    padding: .18em .2em;
    margin-left: 1.5em
  }

  .seminar .mv .front-flex .seminar-ttl h2 {
    margin-bottom: 10px
  }

  .seminar .mv .front-flex .seminar-ttl a.entry {
    position: absolute;
    bottom: calc(-77vw - 10px);
    left: 50%;
    margin-left: -120px;
    width: 240px
  }
}

.fadeDownTrigger {
  opacity: 1
}

.seminar {
  font-family: "Yu Gothic", 游ゴシック, YuGothic, 游ゴシック体, "游ゴシック Medium", "Yu Gothic Medium", "ヒラギノ角ゴ Pro W3", メイリオ, sans-serif;
  font-weight: 500;
  letter-spacing: .01em
}

.seminar h1,
.seminar h2,
.seminar h3 {
  font-weight: 500
}

.seminar .bold {
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: bold
}

.seminar main {
  padding-top: 0
}

.seminar main .sec {
  padding: 100px 0
}

.seminar main a.entry {
  width: 320px;
  height: 60px;
  margin: 0 auto;
  font-size: 1.4rem
}

.seminar main a.entry.blue {
  background-color: #0052cc;
  color: #fff
}

.seminar main a.entry.blue span {
  color: #fff
}

.seminar main a.entry.ylw {
  background-color: #e6ff00
}

@media screen and (max-width: 1023px) {
  .seminar main {
    padding-top: 0
  }

  .seminar main .sec {
    padding: 80px 0
  }
}

@media screen and (max-width: 767px) {
  .seminar main {
    padding-top: 0
  }

  .seminar main .sec {
    padding: 60px 0
  }

  .seminar main .sec .container {
    padding: 0 4%
  }

  .seminar main a.entry {
    width: 280px;
    height: 60px;
    margin: 0 auto;
    font-size: 1.4rem
  }
}

.seminar #header {
  position: absolute;
  background-color: transparent;
  box-shadow: none
}

.seminar #header .hd-logo {
  top: 60px;
  left: 60px;
  width: 160px
}

.seminar #header .hd-logo a:after {
  color: #fff
}

@media screen and (max-width: 1279px) {
  .seminar #header .hd-logo {
    top: 30px;
    left: 30px;
    width: 120px
  }
}

.seminar #header .corp {
  display: none
}