@charset "UTF-8";

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

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

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

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

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

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

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

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

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

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

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

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

blockquote,
body,
code,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
legend,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
  margin: 0;
  padding: 0
}

fieldset,
img {
  border: 0
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
  font-weight: 400;
  font-style: normal
}

li {
  list-style: none
}

caption,
th {
  text-align: left
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: 400
}

q:after,
q:before {
  content: ""
}

abbr,
acronym {
  font-variant: normal;
  border: 0
}

sup {
  vertical-align: text-top
}

sub {
  vertical-align: text-bottom
}

input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit
}

legend {
  color: #000
}

img,
svg {
  vertical-align: middle;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.nikken_logo_svg {
  width: 100%;
  max-width: 100%;
}

/* PC */
@media (min-width: 769px) {
  .nikken_logo_svg {
    max-width: 70%;
  }

  .footer_nikken_logo_svg {
    max-width: 40%;
    margin: 0 auto;
  }
}

/* SP */
@media (max-width: 769px) {
  .footer_nikken_logo_svg {
    max-width: 20%;
    margin: 0 auto;
  }
}

body,
html {
  zoom: 1;
  width: 100%;
  height: 100%
}

body {
  -webkit-text-size-adjust: 100%
}

img {
  vertical-align: middle;
  ;
}

code,
kbd,
pre,
samp,
tt {
  font-family: monospace;
  line-height: 100%
}

section {
  position: relative
}

a {
  position: relative;
  text-decoration: none
}

table {
  width: 100%;
  font: 100%;
  font-size: inherit;
  border-collapse: collapse
}

li {
  position: relative
}

.abs {
  position: absolute
}

.hide {
  visibility: hidden
}

.show {
  visibility: visible
}

.bold {
  font-weight: 700
}

.left {
  float: left
}

.right {
  float: right
}

#__bs_notify__ {
  display: none !important
}

.pc-indent p,
.pc-indent span {
  display: block;
  margin-left: 0
}

.sp-indent p,
.sp-indent span {
  display: inline
}

.pc-br {
  display: block
}

.sp-br {
  display: inline-block
}

br.pc-only {
  display: block
}

br.sp-only {
  display: none
}


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

  .pc-indent p,
  .pc-indent span {
    display: inline;
    margin-left: 0
  }

  .sp-indent p,
  .sp-indent span {
    display: block
  }

  .pc-br {
    display: inline-block
  }

  .sp-br {
    display: block
  }

  br.pc-only {
    display: none
  }

  br.sp-only {
    display: block
  }
}

.float {
  display: block
}

.float:after,
.float:before {
  display: table;
  content: " "
}

.float:after {
  clear: both
}

.float {
  zoom: 1
}

.flexbox {
  display: block;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -js-display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.flexbox {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

.flexbox li {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start
}

.flexbox .box {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start
}

.flexbox.between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between
}

.flex-dl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap
}

*,
:after,
:before {
  box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box
}

.trans {
  -webkit-transition: all .25s ease;
  transition: all .25s ease
}

.table-cell {
  display: table
}

.table-cell .cell {
  display: table-cell
}

.fixed {
  position: fixed;
  width: 100%;
  height: 100%
}

.btn-disabled {
  cursor: default;
  pointer-events: none
}

.inline-group {
  display: block
}

.inline-group .inline {
  display: inline-block
}

.pcshow {
  display: block
}

.spshow {
  display: none
}

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

  .spshow {
    display: block
  }

  .sp100 {
    width: 100%
  }
}

.valign-center {
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center
}

.noto {
  font-family: "Noto Sans JP", sans-serif, sans-serif
}

.noto-min {
  font-family: "Noto Serif Japanese", serif, serif
}

@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium")
}

@font-face {
  font-family: "Yu Gothic M";
  font-weight: 700;
  src: local("Yu Gothic Bold")
}

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

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

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

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

body,
html {
  position: relative;
  width: 100%;
  min-width: 1200px;
  height: auto
}

body {
  position: relative;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-overflow-scrolling: touch;
  /* -webkit-print-color-adjust: exact;サポートされなさすぎなので非表示にしてます */
}

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

  body,
  html {
    min-width: 100%
  }

  body {
    min-width: 100%
  }
}

body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400
}

body p {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  letter-spacing: .05em
}

body p span {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit
}

@media only screen and (max-width:767px) {
  body p {
    font-size: 10px;
    line-height: 16px;
    letter-spacing: .05
  }
}

.color--orange {
  color: #e2864f
}

.color--blue {
  color: #1b578a
}

.color--pink {
  color: #e72d5d
}

[class*=inner] {
  position: relative;
  height: inherit;
  margin: 0 auto
}

.inner880 {
  width: 880px
}

.inner898 {
  width: 898px
}

.inner992 {
  width: 992px
}

.inner1080 {
  width: 1080px
}

.inner1160 {
  width: 1160px
}

.inner1200 {
  width: 1200px
}

.inner1200 h1 {
  width: 515px;
  margin: 0 auto;
}

.inner1080 h1 {
  width: 515px;
  margin: 0 auto;
}

.inner1200 .no {
  width: 100px;
  margin: 0 auto;
}


@media only screen and (max-width:767px) {
  [class*=inner] {
    width: auto;
    margin: auto
  }
}

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

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

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

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

header {
  width: 100%;
  height: 108px;
  padding: 40px 0 0
}

header dt {
  width: 280px;
  height: 68px;
  padding: 0 0 0 40px
}

header dd {
  width: calc(100% - 280px);
  height: 68px;
  padding: 17px 0 0 30px;
  background: #e2864f
}

header dd p {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1em
}

header dd p:nth-of-type(2) {
  padding: 5px 0 0;
  font-size: 16px;
  letter-spacing: .16em
}

@media only screen and (max-width:767px) {
  header {
    height: 60px;
    padding: 10px 0 0
  }

  header dt {
    width: 105px;
    height: 50px;
    padding: 8px 0 0 10px
  }

  header dt img {
    height: 34px
  }

  header dd {
    width: calc(100% - 105px);
    height: 50px;
    padding: 7px 0 0 15px;
    background: #e2864f
  }

  header dd p {
    font-size: 9px;
    line-height: 1em
  }

  header dd p:nth-of-type(2) {
    padding: 2px 0 0;
    font-size: 11px;
    line-height: 13px
  }
}

#menu-btn {
  position: absolute;
  z-index: 999;
  top: 40px;
  right: 0;
  width: 136px;
  height: 68px;
  cursor: pointer;
  background: #092b37
}

#menu-btn.fixed {
  position: fixed;
  top: 0
}

#menu-btn.open span {
  opacity: 0
}

#menu-btn.open:before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg)
}

#menu-btn.open:after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg)
}

#menu-btn p {
  margin: 30px 0 0 20px;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .16em
}

#menu-btn span,
#menu-btn:after,
#menu-btn:before {
  position: absolute;
  top: 0;
  right: 24px;
  bottom: 0;
  display: block;
  width: 28px;
  height: 4px;
  margin: auto;
  -webkit-transition: all .1s cubic-bezier(.39, .575, .565, 1);
  transition: all .1s cubic-bezier(.39, .575, .565, 1);
  background: #e2864f
}

#menu-btn:after,
#menu-btn:before {
  z-index: 2;
  content: ""
}

#menu-btn:before {
  -webkit-transform: translate(0, -10px);
  -ms-transform: translate(0, -10px);
  transform: translate(0, -10px)
}

#menu-btn:after {
  -webkit-transform: translate(0, 10px);
  -ms-transform: translate(0, 10px);
  transform: translate(0, 10px)
}

@media only screen and (max-width:767px) {
  #menu-btn {
    top: 10px;
    width: 50px;
    height: 50px
  }

  #menu-btn.fixed {
    position: fixed;
    top: 0
  }

  #menu-btn.open span {
    opacity: 0
  }

  #menu-btn.open:before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
  }

  #menu-btn.open:after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
  }

  #menu-btn p {
    display: none
  }

  #menu-btn span,
  #menu-btn:after,
  #menu-btn:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 18px;
    height: 2px
  }

  #menu-btn:before {
    -webkit-transform: translate(0, -6px);
    -ms-transform: translate(0, -6px);
    transform: translate(0, -6px)
  }

  #menu-btn:after {
    -webkit-transform: translate(0, 6px);
    -ms-transform: translate(0, 6px);
    transform: translate(0, 6px)
  }
}

#menu {
  position: absolute;
  z-index: 888;
  top: 108px;
  right: 0;
  display: none;
  width: calc(100% - 280px);
  height: 200px;
  padding: 40px 0 0 100px;
  background: #092b37
}

#menu.fixed {
  position: fixed;
  top: 68px;
  right: 0
}

#menu.open {
  display: block
}

#menu .left:nth-of-type(2) {
  margin: 0 0 0 50px
}

#menu li {
  width: 300px;
  margin: 20px 0 0
}

#menu li:nth-of-type(1) {
  margin: 0
}

#menu li a {
  display: block;
  padding: 0 0 10px;
  color: #d9d9d9;
  font-size: 14px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .16em;
  border-bottom: 1px solid #e2864f
}

@media screen and (min-width:768px) {
  #menu li a {
    -webkit-transition: all .2s cubic-bezier(.39, .575, .565, 1);
    transition: all .2s cubic-bezier(.39, .575, .565, 1)
  }

  #menu li a:hover {
    color: #fff;
    border-bottom: 1px solid #fff
  }
}

@media only screen and (max-width:767px) {
  #menu {
    top: 60px;
    right: 0;
    width: 100%;
    height: auto;
    padding: 30px 35px 45px 35px
  }

  #menu.fixed {
    position: fixed;
    top: 50px;
    right: 0
  }

  #menu .left {
    float: none;
    width: 100%
  }

  #menu .left:nth-of-type(2) {
    margin: 20px 0 0
  }

  #menu li {
    width: 100%;
    margin: 20px 0 0
  }

  #menu li:nth-of-type(1) {
    margin: 0
  }

  #menu li a {
    display: block;
    padding: 0 0 10px;
    font-size: 12px;
    line-height: 1em
  }
}

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

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

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

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

/* 以下、新規追加スタイル ここから　*/
/* footer nav */
footer nav {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 25px 50px;
  background: #092b37
}

footer nav ul {
  display: flex;
  flex-direction: row;
  justify-content: center;
}

footer nav ul a {
  margin: 0 15px;
}

footer nav li {
  border-left: 1px solid #fff;
  border-right: 1px solid #fff;
}

footer nav li+li {
  border-left: 0;
  border-right: 1px solid #fff;
}

footer nav p,
footer nav ul a {
  color: #fff;
  font-size: small;
}

footer nav span {
  margin-left: 16px;
}

footer nav ul a:hover {
  color: #E2864F;
}


@media only screen and (max-width:767px) {
  footer nav {
    padding: 35px 15px;
  }

  footer nav li {
    border-left: 1px solid #fff;
    border-right: 0;
  }

  footer nav li+li {
    border-left: 1px solid #fff;
    border-right: 0;
  }

  footer nav p,
  footer nav ul a {
    font-size: x-small;
  }

  footer nav span {
    display: flex;
    flex-direction: column;
    margin: 0;
  }

  footer nav ul {
    flex-direction: column;
    row-gap: 13px;
  }
}

/* footer .logo-tagline */
footer .logo-tagline {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 45px 50px;
  background: #fff
}

footer .nikken-logo {
  width: 145px;
}

footer .tagline {
  width: 380px;
}

@media only screen and (max-width:767px) {
  footer .logo-tagline {
    flex-direction: column-reverse;
    row-gap: 10px;
  }

  footer .nikken-logo {
    width: 150px;
  }

  footer .tagline {
    width: 150px;
  }
}
/* 以上、新規追加スタイル　ここまで */


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

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

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

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

button,
input,
select,
textarea {
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: inherit;
  vertical-align: middle;
  border: none;
  border-radius: 0;
  outline: 0;
  background: 0 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none
}

input::-ms-clear,
input::-ms-reveal {
  visibility: hidden
}

select::-ms-expand {
  display: none
}

button {
  cursor: pointer
}

input[type=email]:focus,
input[type=text]:focus,
textarea:focus {
  border-color: #e2864f !important
}

input[type=radio]:focus+label {
  color: #e2864f
}

input[type=radio]:focus+label:before {
  border-color: #e2864f
}

.select-item select.focus {
  border-color: #e2864f !important
}

input[type=submit]:focus {
  background: rgba(226, 134, 79, .85)
}

input[type=email],
input[type=text],
textarea {
  font-size: 16px;
  line-height: 1em
}

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

  input[type=email],
  input[type=text],
  textarea {
    font-size: 12px;
    line-height: 1.6em
  }
}

input[type=email],
input[type=text] {
  width: 100%;
  height: auto;
  padding: 5px 5px;
  border: 1px solid #ccc
}

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

  input[type=email],
  input[type=text] {
    border: 1px solid #ccc
  }
}

.select {
  position: relative;
  display: inline-block
}

.select:before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 10px;
  bottom: 0;
  width: 10px;
  height: 9px;
  margin: auto;
  content: "";
  border-width: 9px 5px 0 5px;
  border-style: solid;
  border-color: #424242 transparent transparent transparent
}

.select select {
  border: 1px solid #ccc;
  background: #fff
}

.select.focus select {
  border-color: #e2864f !important
}

@media only screen and (max-width:767px) {
  .select {
    position: relative;
    display: inline-block
  }

  .select:before {
    position: absolute;
    z-index: 1;
    top: 3px;
    right: 8px;
    bottom: 0;
    width: 6px;
    height: 5px;
    margin: auto;
    content: "";
    border-width: 5px 3px 0 3px;
    border-style: solid;
    border-color: #424242 transparent transparent transparent
  }

  .select select {
    border: 1px solid #ccc;
    background: #fff
  }

  .select.focus select {
    border-color: #e2864f !important
  }
}

input[type=radio] {
  display: none
}

input[type=radio]+label {
  position: relative;
  display: inline-block;
  margin: 0;
  padding: 2px 2px 2px 30px;
  cursor: pointer
}

input[type=radio]+label:after,
input[type=radio]+label:before {
  position: absolute;
  display: inline-block;
  content: ""
}

input[type=radio]+label:before {
  top: 50%;
  left: 0;
  width: 22px;
  height: 22px;
  margin-top: -9px;
  border: 1px solid #858585;
  border-radius: 100%;
  background: #fff
}

input[type=radio]:checked+label:after {
  position: absolute;
  top: 50%;
  left: 5px;
  width: 12px;
  height: 12px;
  margin-top: -4px;
  content: "";
  border-radius: 100%;
  background: #424242
}

@media only screen and (max-width:767px) {
  input[type=radio]+label {
    padding: 0 0 0 20px
  }

  input[type=radio]+label:before {
    width: 13px;
    height: 13px;
    margin-top: -6px
  }

  input[type=radio]:checked+label:after {
    left: 3px;
    width: 7px;
    height: 7px;
    margin-top: -3px
  }
}

textarea {
  width: 100%;
  height: auto;
  min-height: 200px;
  padding: 5px 5px;
  resize: vertical;
  border: 1px solid #ccc
}

@media only screen and (max-width:767px) {
  textarea {
    border: 1px solid #ccc
  }
}

@media all and (-ms-high-contrast:none) {

  ::-ms-backdrop,
  main {
    display: block
  }
}

#wrapper {
  width: 100%;
  min-width: 1200px;
  height: auto
}

@media only screen and (max-width:767px) {
  #wrapper {
    width: auto;
    min-width: 100%;
    height: auto
  }
}

#mainvisual {
  margin: 62px 0 0
}

#mainvisual .bg {
  z-index: 0
}

#mainvisual h1 {
  z-index: 1
}

@media only screen and (max-width:767px) {
  #mainvisual {
    margin: 45px 0 0
  }
}

.ttl--border_bottom {
  text-align: center
}

.ttl--border_bottom p {
  display: inline-block;
  min-width: 400px;
  margin: 0 0 60px;
  padding: 0 0 20px;
  font-size: 30px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .2em;
  border-bottom: 1px solid #e2864f
}

@media only screen and (max-width:767px) {
  .ttl--border_bottom p {
    min-width: 240px;
    margin: 0 0 30px;
    padding: 0 0 10px;
    font-size: 18px;
    line-height: 1em
  }
}

#pagetop {
  position: fixed;
  z-index: 999;
  right: 20px;
  bottom: 15px;
  display: none;
  -webkit-transition: all .2s cubic-bezier(.39, .575, .565, 1);
  transition: all .2s cubic-bezier(.39, .575, .565, 1);
}

#pagetop img {
  height: 60px;
}

#pagetop:hover {
  opacity: .7;
}

@media only screen and (max-width:767px) {
  #pagetop {
    display: none !important
  }
}

body #top-requirements {
  margin: 60px 0 0;
  padding: 0 0 150px
}

body #top-requirements .blocks .block {
  margin: 80px 0 0
}

body #top-requirements .blocks .block:nth-of-type(1) {
  margin: 0
}

body #top-requirements .blocks .block h3 {
  padding: 0 0 0 20px;
  font-size: 18px;
  font-weight: 700;
  line-height: 40px;
  letter-spacing: .2em;
  background: #f3f0e9
}

body #top-requirements .blocks .block:nth-of-type(1) dd,
body #top-requirements .blocks .block:nth-of-type(1) dt {
  font-size: 14px;
  line-height: 24px;
  border-bottom: 1px solid #d4d4d4
}

body #top-requirements .blocks .block:nth-of-type(1) dt {
  width: 150px;
  padding: 20px 0 20px 20px;
  font-weight: 700;
  letter-spacing: .2em
}

body #top-requirements .blocks .block:nth-of-type(1) dd {
  width: calc(100% - 150px);
  padding: 20px 0;
  letter-spacing: .05em
}

body #top-requirements .blocks .block:nth-of-type(2) p {
  margin: 40px 0
}


body #entry-banner,
body #entry-banner-link {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 90px
}

body #entry-banner .scrollArea,
body #entry-banner-link .scrollArea {
  z-index: 3;
  bottom: auto;
  left: auto;
  width: 100%;
  height: 90px;
  text-align: center;
  background: #ebaa83
}

body #entry-banner .scrollArea.fixed,
body #entry-banner-link .scrollArea.fixed {
  position: fixed;
  bottom: 0;
  left: 0
}

body #entry-banner .scrollArea a,
body #entry-banner-link .scrollArea a {
  display: inline-block;
  background: #e2864f
}

@media screen and (min-width:768px) {

  body #entry-banner .scrollArea a,
  body #entry-banner-link .scrollArea a {
    -webkit-transition: all .2s cubic-bezier(.39, .575, .565, 1);
    transition: all .2s cubic-bezier(.39, .575, .565, 1)
  }

  body #entry-banner .scrollArea a:hover,
  body #entry-banner-link .scrollArea a:hover {
    background: #092b37;
  }
}

body #entry-form {
  padding: 80px 0;
  background: #f1f1f1
}

body #entry-form .h2 {
  padding-top: 80px
}

body #entry-form dl dd,
body #entry-form dl dt {
  border-bottom: 1px dashed #000
}

body #entry-form dl dd label,
body #entry-form dl dt label {
  font-size: 16px;
  line-height: 34px
}

body #entry-form dl dt {
  width: 140px;
  padding: 20px 0
}

body #entry-form dl dd {
  width: calc(100% - 140px);
  padding: 20px 0
}

body #entry-form dl dt.single {
  width: 100%
}

body #entry-form dl dt.single+dd {
  width: 0
}

body #entry-form .required {
  color: red;
  font-weight: 700
}

body #entry-form .small {
  font-size: 12px;
  line-height: 22px
}

body #entry-form .address ol>li:nth-of-type(1) .label {
  padding: 0 8px 0 0
}

body #entry-form .address table td,
body #entry-form .address table th {
  padding: 20px 0 0
}

body #entry-form .address table th {
  width: 160px
}

body #entry-form .address table td {
  width: calc(100% - 160px)
}

body #entry-form .form-sex label {
  line-height: 18px
}

body #entry-form .form-sex .cell:nth-of-type(1) {
  padding: 0 30px 0 0
}

body #entry-form .form-mail label br {
  display: none
}

body #entry-form .form-policy .ttl {
  font-size: 16px;
  font-weight: 700;
  line-height: 1em
}

body #entry-form .form-policy .ttl+p {
  margin: 15px 0 0
}

body #entry-form .form-policy .table-cell .cell:nth-of-type(1) {
  padding: 0 45px 0 0
}

body #entry-form .inline-scroll {
  overflow-y: scroll;
  width: 100%;
  height: 270px;
  margin: 30px 0 40px;
  padding: 0 40px;
  border: 1px solid #ccc;
  background: #fff
}

body #entry-form .inline-scroll p {
  padding: 35px 0;
  font-size: 14px;
  line-height: 22px
}

body #entry-form input[type=text] {
  width: 340px;
  height: 34px;
  padding: 5px 10px;
  border: 1px solid #ccc;
  background: #fff
}

body #entry-form input[type=text].size60 {
  width: 60px
}

body #entry-form input[type=text].size80 {
  width: 80px
}

body #entry-form input[type=text].size100 {
  width: 100px
}

body #entry-form input[type=text].sizeFull {
  width: 100%
}

body #entry-form input[type=text]:placeholder-shown {
  color: #8f8f8f
}

body #entry-form input[type=text]::-webkit-input-placeholder {
  color: #8f8f8f
}

body #entry-form input[type=text]:-moz-placeholder {
  opacity: 1;
  color: #8f8f8f
}

body #entry-form input[type=text]::-moz-placeholder {
  opacity: 1;
  color: #8f8f8f
}

body #entry-form input[type=text]:-ms-input-placeholder {
  color: #8f8f8f
}

body #entry-form select {
  height: 34px;
  padding: 0 10px
}

body #entry-form select.size80 {
  width: 80px
}

body #entry-form select.size110 {
  width: 110px
}

body #entry-form .table-cell .cell .label {
  padding: 0 8px;
  line-height: 34px
}

body #entry-form .btn-submit {
  margin: 40px 0 0;
  text-align: center
}

body #entry-form .btn-submit input[type=submit] {
  width: 250px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 60px;
  letter-spacing: .16em;
  cursor: pointer;
  border-radius: 8px;
  background: #e2864f
}

@media screen and (min-width:768px) {
  body #entry-form .btn-submit input[type=submit] {
    -webkit-transition: all .2s cubic-bezier(.39, .575, .565, 1);
    transition: all .2s cubic-bezier(.39, .575, .565, 1)
  }

  body #entry-form .btn-submit input[type=submit]:hover {
    background: #092b37
  }
}

@media only screen and (max-width:767px) {
  body #top-requirements {
    margin: 30px 0 0;
    padding: 0 20px 50px
  }

  body #top-requirements .blocks .block {
    margin: 30px 0 0
  }

  body #top-requirements .blocks .block h3 {
    padding: 0 0 0 10px;
    font-size: 12px;
    line-height: 30px
  }

  body #top-requirements .blocks .block:nth-of-type(1) dd,
  body #top-requirements .blocks .block:nth-of-type(1) dt {
    font-size: 10px;
    line-height: 16px
  }

  body #top-requirements .blocks .block:nth-of-type(1) dt {
    width: 70px;
    padding: 15px 0;
    letter-spacing: 0
  }

  body #top-requirements .blocks .block:nth-of-type(1) dd {
    width: calc(100% - 70px);
    padding: 15px 0
  }

  body #top-requirements .blocks .block:nth-of-type(2) p {
    margin: 20px 0
  }

  body #top-requirements .blocks .block:nth-of-type(2) .gra {
    text-align: center
  }

  body #top-requirements .blocks .block:nth-of-type(2) .gra img {
    width: 250px
  }

  body #entry-banner,
  body #entry-banner-link {
    height: 80px
  }

  body #entry-banner .scrollArea,
  body #entry-banner-link .scrollArea {
    height: 80px
  }

  body #entry-banner .scrollArea a img,
  body #entry-banner-link .scrollArea a img {
    height: 80px
  }

  body #entry-form {
    padding: 40px 20px 45px
  }

  body #entry-form .h2 {
    padding-top: 40px
  }

  body #entry-form dl dd label,
  body #entry-form dl dt label {
    font-size: 11px;
    line-height: 25px
  }

  body #entry-form dl dt {
    width: 65px;
    padding: 10px 0
  }

  body #entry-form dl dd {
    width: calc(100% - 65px);
    padding: 10px 0
  }

  body #entry-form dl dt.single {
    width: 100%
  }

  body #entry-form dl dt.single+dd {
    width: 0
  }

  body #entry-form .small {
    font-size: 10px;
    line-height: 15px
  }

  body #entry-form .address ol>li:nth-of-type(1) .label {
    padding: 0 5px 0 0;
    font-size: 11px
  }

  body #entry-form .address table td,
  body #entry-form .address table th {
    display: block;
    width: 100%;
    padding: 0 0 0
  }

  body #entry-form .address table th {
    padding: 10px 0 3px;
    font-size: 11px;
    line-height: 1em
  }

  body #entry-form .form-sex label {
    line-height: 25px
  }

  body #entry-form .form-sex .cell:nth-of-type(1) {
    padding: 0 15px 0 0
  }

  body #entry-form .form-mail label {
    display: inline-block;
    line-height: 15px !important
  }

  body #entry-form .form-mail label br {
    display: block
  }

  body #entry-form .form-supplementary {
    padding: 20px 0 !important
  }

  body #entry-form .form-policy {
    padding: 15px 0 !important
  }

  body #entry-form .form-policy .ttl {
    font-size: 14px;
    line-height: 1em
  }

  body #entry-form .form-policy .ttl+p {
    margin: 10px 0 0
  }

  body #entry-form .form-policy .table-cell .cell:nth-of-type(1) {
    padding: 0 20px 0 0
  }

  body #entry-form .inline-scroll {
    width: 100%;
    height: 135px;
    margin: 15px 0 15px;
    padding: 0 15px
  }

  body #entry-form .inline-scroll p {
    padding: 20px 0;
    font-size: 10px;
    line-height: 15px
  }

  body #entry-form input[type=text] {
    width: 100%;
    height: 25px;
    padding: 2px 5px
  }

  body #entry-form input[type=text].size60 {
    width: 45px
  }

  body #entry-form input[type=text].size80 {
    width: 50px
  }

  body #entry-form input[type=text].size100 {
    width: 60px
  }

  body #entry-form input[type=text].sizeFull {
    width: 100%
  }

  body #entry-form input[type=text]:placeholder-shown {
    color: #8f8f8f
  }

  body #entry-form input[type=text]::-webkit-input-placeholder {
    color: #8f8f8f
  }

  body #entry-form input[type=text]:-moz-placeholder {
    opacity: 1;
    color: #8f8f8f
  }

  body #entry-form input[type=text]::-moz-placeholder {
    opacity: 1;
    color: #8f8f8f
  }

  body #entry-form input[type=text]:-ms-input-placeholder {
    color: #8f8f8f
  }

  body #entry-form select {
    height: 25px;
    padding: 0 10px;
    font-size: 11px
  }

  body #entry-form select.size80 {
    width: 50px
  }

  body #entry-form select.size110 {
    width: 80px
  }

  body #entry-form .table-cell .cell .label {
    padding: 0 8px;
    line-height: 25px
  }

  body #entry-form .btn-submit {
    margin: 40px 0 0;
    text-align: center
  }

  body #entry-form .btn-submit input[type=submit] {
    width: 250px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 60px;
    letter-spacing: .16em;
    cursor: pointer;
    border-radius: 8px;
    background: #e2864f
  }

  .scrollArea img {
    padding: 0 140px;
    width: 520px;
  }
}

@media only screen and (max-width:767px) and (min-width:768px) {
  body #entry-form .btn-submit input[type=submit] {
    -webkit-transition: all .2s cubic-bezier(.39, .575, .565, 1);
    transition: all .2s cubic-bezier(.39, .575, .565, 1)
  }

  body #entry-form .btn-submit input[type=submit]:hover {
    opacity: .7
  }
}

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

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

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

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

body.top #mainvisual {
  width: 100%;
  height: 813px
}

body.top #mainvisual .bg {
  position: absolute;
  top: 213px;
  right: 0;
  left: 0;
  width: 100%;
  height: 600px;
  background: url(../img/top/top_mainp_pc.jpg) no-repeat center
}

body.top #mainvisual h1 {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center
}

body.top #top-movie {
  position: relative;
  margin: 35px 0 0
}

body.top #top-movie .ttl {
  position: relative;
  height: 200px;
  padding: 95px 0 0;
  text-align: center
}

body.top #top-movie .ttl:before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 1px;
  height: 200px;
  margin: auto;
  content: "";
  background: #e0c5b4
}

body.top #top-movie .ttl p {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1em
}

body.top #top-movie .ttl p:nth-of-type(1) {
  padding: 0 40px 0 25px;
  color: #092b37;
  letter-spacing: 1em
}

body.top #top-movie .ttl p:nth-of-type(2) {
  padding: 0 0 0 40px;
  color: #e2864f;
  letter-spacing: 1.8em
}

body.top #top-movie #youtube {
  position: relative;
  display: block;
  width: 100%;
  padding: 0 0 56.25%;
  background: #000
}

body.top #top-movie #youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

body.top #top-movie #youtube-cs img {
  width: 100%
}

body.top #top-menu {
  margin: 120px 0 0;
  padding: 0 0 150px
}

body.top #top-menu li {
  width: 48.2%
}

body.top #top-menu li:nth-of-type(even) {
  margin-left: 3.6%
}

body.top #top-menu li:nth-of-type(n+3) {
  margin-top: 40px
}

body.top #top-menu a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 20px 20px 30px;
  text-align: center;
  background: #f3f0e9
}

body.top #top-menu a .img {
  position: relative;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 240px
}

body.top #top-menu a .img:before {
  position: absolute;
  z-index: 1;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 50px;
  height: 89px;
  margin: auto;
  content: "";
  background: url(../img/top/top_menu_arrow_pc.png) no-repeat
}

body.top #top-menu a p {
  padding: 30px 0 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .24em
}

body.top #top-menu a p span {
  font-size: 12px
}

body.top #top-menu a p br {
  display: none
}

@media screen and (min-width:768px) {
  body.top #top-menu a .img img {
    -webkit-transition: all .2s cubic-bezier(.39, .575, .565, 1);
    transition: all .2s cubic-bezier(.39, .575, .565, 1)
  }

  body.top #top-menu a:hover .img img {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05)
  }
}

@media only screen and (max-width:767px) {
  body.top #mainvisual {
    width: 100%;
    height: 396px
  }

  body.top #mainvisual .bg {
    position: absolute;
    top: 107px;
    right: 0;
    left: 0;
    width: 100%;
    height: 290px;
    background: url(../img/top/top_mainp_pc.jpg) no-repeat center;
    background-size: cover
  }

  body.top #mainvisual h1 {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto
  }

  body.top #mainvisual h1 img {
    height: 165px
  }

  body.top #top-movie {
    margin: 20px 0 0;
    padding: 0 20px
  }

  body.top #top-movie .ttl {
    height: 100px;
    padding: 45px 0 0
  }

  body.top #top-movie .ttl:before {
    height: 100px
  }

  body.top #top-movie .ttl p {
    font-size: 11px;
    line-height: 1em
  }

  body.top #top-movie .ttl p:nth-of-type(1) {
    padding: 0 20px 0 15px
  }

  body.top #top-movie .ttl p:nth-of-type(2) {
    padding: 0 0 0 20px
  }

  body.top #top-menu {
    margin: 40px 0 0;
    padding: 0 20px 80px
  }

  body.top #top-menu li {
    width: 48.2%
  }

  body.top #top-menu li:nth-of-type(even) {
    margin-left: 3.6%
  }

  body.top #top-menu li:nth-of-type(n+3) {
    margin-top: 3.6%
  }

  body.top #top-menu a {
    padding: 8px 8px 20px
  }

  body.top #top-menu a .img {
    height: 80px
  }

  body.top #top-menu a .img img {
    width: 100%
  }

  body.top #top-menu a .img:before {
    width: 25px;
    height: 44px;
    background: url(../img/top/top_menu_arrow_sp.png) no-repeat;
    background-size: 100% auto
  }

  body.top #top-menu a p {
    padding: 15px 0 0;
    font-size: 11px;
    line-height: 16px;
    letter-spacing: .1em
  }

  body.top #top-menu a p span {
    font-size: 9px
  }

  body.top #top-menu a p br {
    display: block
  }

  body.top #top-menu a.single p {
    padding: 21px 0 0
  }

  .scrollArea img {
    padding: 0 70px;
    width: 400px;
  }
}

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

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

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

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

body.letswork #mainvisual {
  width: 100%;
  height: 660px
}

body.letswork #mainvisual .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 660px;
  background: url(../img/letswork/letswork_mainp_pc.jpg) no-repeat center
}

body.letswork #mainvisual h1 {
  position: relative;
  z-index: 1;
  height: 460px;
  padding: 115px 0 0;
  text-align: center
}

body.letswork #mainvisual .lower {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 200px
}

body.letswork #mainvisual .lower .left {
  width: 43%;
  height: 200px;
  padding: 70px 0 0 50px;
  background: #096c8e
}

body.letswork #mainvisual .lower .left h2 span {
  display: block
}

body.letswork #mainvisual .lower .left h2 .sttl {
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .1em
}

body.letswork #mainvisual .lower .left h2 .ttl {
  padding: 15px 0 0;
  color: #fff;
  font-size: 30px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .1em
}

body.letswork #mainvisual .lower .right {
  position: relative;
  width: 57%;
  height: 200px;
  padding: 25px 0 0 110px;
  background: rgba(0, 0, 0, .7)
}

body.letswork #mainvisual .lower .right li {
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 38px;
  letter-spacing: .05em
}

body.letswork #mainvisual .lower .right li span {
  color: #e2864f
}

body.letswork #mainvisual .lower .right:before {
  position: absolute;
  top: 30px;
  left: -55px;
  width: 164px;
  height: 140px;
  content: "";
  background: url(../img/letswork/letswork_balloon_merit_pc.png) no-repeat 0 0
}

body.letswork #letswork-prologue {
  margin: 100px 0 0
}

body.letswork #letswork-prologue .h3 {
  text-align: center
}

body.letswork #letswork-prologue .h3 h3 {
  position: relative;
  display: inline-block;
  padding: 5px 0 0;
  font-size: 26px;
  font-weight: 700;
  line-height: 40px;
  text-align: center;
  letter-spacing: .2em
}

body.letswork #letswork-prologue .h3 h3:after,
body.letswork #letswork-prologue .h3 h3:before {
  position: absolute;
  top: 0;
  width: 25px;
  height: 92px;
  content: ""
}

body.letswork #letswork-prologue .h3 h3:before {
  left: -60px;
  background: url(../img/common/bracket_left_pc.png) no-repeat 0 0
}

body.letswork #letswork-prologue .h3 h3:after {
  right: -60px;
  background: url(../img/common/bracket_right_pc.png) no-repeat 0 0
}

body.letswork #letswork-prologue li {
  width: 46.3%;
  margin: 70px 0 0
}

body.letswork #letswork-prologue li:nth-of-type(even) {
  margin-left: 7.4%
}

body.letswork #letswork-prologue li h4 {
  display: block;
  margin: 0 0 30px;
  padding: 0 0 15px;
  font-size: 40px;
  font-weight: 700;
  line-height: 52px;
  letter-spacing: .1em;
  border-bottom: 1px solid #e2864f
}

body.letswork #letswork-voice {
  position: relative;
  margin: 80px 0 0;
  padding: 0 0 215px;
  background: #f3f0e9
}

body.letswork #letswork-voice:before {
  position: absolute;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 1200px;
  height: 1410px;
  margin: auto;
  content: "";
  background: url(../img/letswork/letswork_voice_bg_pc.png) no-repeat top center
}

body.letswork #letswork-voice li {
  width: 46.3%
}

body.letswork #letswork-voice li:nth-of-type(even) {
  margin-left: 7.4%
}

body.letswork #letswork-voice li:nth-of-type(1) {
  padding: 90px 0 0
}

body.letswork #letswork-voice li:nth-of-type(2) {
  padding: 250px 0 0
}

body.letswork #letswork-voice li:nth-of-type(3) {
  padding: 140px 0 0
}

body.letswork #letswork-voice li:nth-of-type(4) {
  padding: 250px 0 0
}

body.letswork #letswork-voice li .box {
  position: relative;
  display: block;
  padding: 70px 30px 40px;
  text-align: center;
  border: 4px solid #e2864f;
  background: #fff
}

body.letswork #letswork-voice li .box .no {
  position: absolute;
  position: absolute;
  top: -45px;
  right: 0;
  left: 0;
  width: 80px;
  height: 100px;
  margin: auto;
  color: #fff;
  font-size: 60px;
  font-weight: 700;
  line-height: 95px;
  text-align: center;
  background: #00698e
}

body.letswork #letswork-voice li .box .ttl {
  font-size: 20px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: .2em
}

body.letswork #letswork-voice li .box .txt {
  padding: 35px 0 0;
  font-size: 14px;
  line-height: 26px;
  text-align: left;
  letter-spacing: .1em
}

body.letswork #letswork-message {
  padding: 0 0 120px
}

body.letswork #letswork-message .inner992 {
  padding: 50px 0 40px;
  text-align: center;
  border-right: 10px solid #f3f0e9;
  border-bottom: 10px solid #f3f0e9;
  border-left: 10px solid #f3f0e9
}

body.letswork #letswork-message .inner992 p {
  color: #e2864f;
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: .2em
}

body.letswork #top-requirements {
  margin: 60px 0 0
}

@media only screen and (max-width:767px) {
  body.letswork #mainvisual {
    width: 100%;
    height: auto
  }

  body.letswork #mainvisual .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 250px;
    background: url(../img/letswork/letswork_mainp_sp.jpg) no-repeat center;
    background-size: cover
  }

  body.letswork #mainvisual h1 {
    height: 250px;
    padding: 30px 0 0;
    text-align: center
  }

  body.letswork #mainvisual h1 img {
    height: 180px
  }

  body.letswork #mainvisual .lower {
    height: auto
  }

  body.letswork #mainvisual .lower .left,
  body.letswork #mainvisual .lower .right {
    float: none;
    margin: auto
  }

  body.letswork #mainvisual .lower .left {
    width: 100%;
    height: auto;
    padding: 15px 0 20px;
    text-align: center
  }

  body.letswork #mainvisual .lower .left h2 .sttl {
    font-size: 11px;
    line-height: 1em
  }

  body.letswork #mainvisual .lower .left h2 .ttl {
    padding: 5px 0 0;
    font-size: 17px;
    letter-spacing: .2em
  }

  body.letswork #mainvisual .lower .right {
    width: 100%;
    height: auto;
    padding: 70px 20px 20px;
    background: #191919
  }

  body.letswork #mainvisual .lower .right li {
    font-size: 12px;
    line-height: 25px;
    letter-spacing: 0
  }

  body.letswork #mainvisual .lower .right:before {
    position: absolute;
    top: -10px;
    left: 30px;
    width: 70px;
    height: 70px;
    background: url(../img/letswork/letswork_balloon_merit_sp.png) no-repeat 0 0;
    background-size: 100% auto
  }

  body.letswork #letswork-prologue {
    margin: 40px 0 0
  }

  body.letswork #letswork-prologue .h3 h3 {
    padding: 10px 0 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 21px;
    text-align: center;
    letter-spacing: .2em
  }

  body.letswork #letswork-prologue .h3 h3:after,
  body.letswork #letswork-prologue .h3 h3:before {
    position: absolute;
    top: 0;
    width: 21px;
    height: 78px;
    content: "";
    background-size: 100% auto !important
  }

  body.letswork #letswork-prologue .h3 h3:before {
    left: -30px;
    background: url(../img/common/bracket_left_sp.png) no-repeat 0 0
  }

  body.letswork #letswork-prologue .h3 h3:after {
    right: -30px;
    background: url(../img/common/bracket_right_sp.png) no-repeat 0 0
  }

  body.letswork #letswork-prologue ul {
    padding: 0 20px
  }

  body.letswork #letswork-prologue li {
    width: 100%;
    margin: 20px 0 0
  }

  body.letswork #letswork-prologue li:nth-of-type(even) {
    margin-left: 0
  }

  body.letswork #letswork-prologue li:nth-of-type(1) {
    margin: 30px 0 0
  }

  body.letswork #letswork-prologue li h4 {
    margin: 0 0 20px;
    padding: 0 0 5px;
    font-size: 25px;
    line-height: 30px
  }

  body.letswork #letswork-voice {
    margin: 50px 0 0;
    padding: 0 0 150px
  }

  body.letswork #letswork-voice:before {
    display: none
  }

  body.letswork #letswork-voice li {
    width: 100%
  }

  body.letswork #letswork-voice li:nth-of-type(even) {
    margin-left: 0
  }

  body.letswork #letswork-voice li:nth-of-type(1) {
    padding: 120px 40px 0
  }

  body.letswork #letswork-voice li:nth-of-type(2) {
    padding: 120px 40px 0
  }

  body.letswork #letswork-voice li:nth-of-type(3) {
    padding: 120px 40px 0
  }

  body.letswork #letswork-voice li:nth-of-type(4) {
    padding: 120px 40px 0
  }

  body.letswork #letswork-voice li .box {
    position: relative;
    z-index: 1;
    padding: 40px 20px 15px
  }

  body.letswork #letswork-voice li .box .no {
    position: absolute;
    position: absolute;
    top: -20px;
    right: 0;
    left: 0;
    width: 40px;
    height: 50px;
    margin: auto;
    font-size: 30px;
    line-height: 45px
  }

  body.letswork #letswork-voice li .box .ttl {
    font-size: 13px;
    line-height: 18px
  }

  body.letswork #letswork-voice li .box .txt {
    padding: 25px 0 0;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: .05em
  }

  body.letswork #letswork-voice li:after,
  body.letswork #letswork-voice li:before {
    position: absolute;
    content: "";
    background-size: 100% auto !important
  }

  body.letswork #letswork-voice li:nth-of-type(1):before {
    top: 0;
    right: 0;
    width: 220px;
    height: 150px;
    background: url(../img/letswork/letswork_voice_bg_sp01.png) no-repeat 0 0
  }

  body.letswork #letswork-voice li:nth-of-type(2):before {
    top: -10px;
    right: 0;
    left: 0;
    width: 320px;
    height: 150px;
    margin: auto;
    background: url(../img/letswork/letswork_voice_bg_sp02.png) no-repeat 0 0
  }

  body.letswork #letswork-voice li:nth-of-type(3):before {
    top: 0;
    left: 0;
    width: 220px;
    height: 150px;
    background: url(../img/letswork/letswork_voice_bg_sp03.png) no-repeat 0 0
  }

  body.letswork #letswork-voice li:nth-of-type(4):before {
    top: 0;
    right: 0;
    width: 220px;
    height: 150px;
    background: url(../img/letswork/letswork_voice_bg_sp04.png) no-repeat 0 0
  }

  body.letswork #letswork-voice li:nth-of-type(4):after {
    bottom: -115px;
    left: 0;
    width: 220px;
    height: 150px;
    background: url(../img/letswork/letswork_voice_bg_sp05.png) no-repeat 0 0
  }

  body.letswork #letswork-message {
    padding: 0 20px 70px
  }

  body.letswork #letswork-message .inner992 {
    padding: 30px 25px 35px;
    border-right: 5px solid #f3f0e9;
    border-bottom: 5px solid #f3f0e9;
    border-left: 5px solid #f3f0e9
  }

  body.letswork #letswork-message .inner992 p {
    font-size: 13px;
    line-height: 18px;
    text-align: left;
    letter-spacing: .1em
  }

  body.letswork #top-requirements {
    margin: 30px 0 0
  }
}

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

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

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

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

body.comp #mainvisual {
  width: 100%;
  height: 300px
}

body.comp #mainvisual .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
  background: url(../img/common/comp_mainp_pc.jpg) no-repeat center
}

body.comp #mainvisual h1 {
  position: relative;
  z-index: 1;
  height: 300px;
  padding: 115px 0 0;
  text-align: center
}

body.comp #comp-message {
  padding: 70px 0 150px;
  text-align: center
}

body.comp #comp-message p {
  font-size: 15px;
  line-height: 40px;
  letter-spacing: .1em
}

body.comp #comp-message p:nth-of-type(1) {
  padding: 0 0 40px;
  font-weight: 700
}

@media only screen and (max-width:767px) {
  body.comp #mainvisual {
    width: 100%;
    height: 150px
  }

  body.comp #mainvisual .bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 150px;
    background: url(../img/common/comp_mainp_sp.jpg) no-repeat center;
    background-size: cover
  }

  body.comp #mainvisual h1 {
    height: 150px;
    padding: 55px 0 0;
    text-align: center
  }

  body.comp #mainvisual h1 img {
    height: 46px
  }

  body.comp #comp-message {
    padding: 50px 20px 80px;
    text-align: left
  }

  body.comp #comp-message p {
    font-size: 13px;
    line-height: 26px;
    letter-spacing: .05em
  }

  body.comp #comp-message p:nth-of-type(1) {
    padding: 0 0 30px
  }
}

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

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

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

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

body.about #mainvisual {
  width: 100%;
  height: 600px
}

body.about #mainvisual .bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 600px;
  margin: auto;
  background: url(../img/about/about_mainp_pc.jpg) no-repeat center
}

body.about #mainvisual h1 {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  padding: 190px 0 0;
  text-align: center
}

body.about #about-message {
  margin: 90px 0 0;
  padding: 0 0 140px
}

body.about #about-message h2 {
  color: #e2864f;
  font-size: 26px;
  font-weight: 700;
  line-height: 46px;
  text-align: center;
  letter-spacing: .24em
}

body.about #about-message .h3 {
  position: relative;
  margin: 30px 0 0;
  text-align: center
}

body.about #about-message .h3 h3 {
  display: inline-block;
  color: #e2864f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .24em
}

body.about #about-message .h3:after,
body.about #about-message .h3:before {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 300px;
  height: 1px;
  margin: auto;
  content: "";
  background: #e2864f
}

body.about #about-message .h3:before {
  left: 0
}

body.about #about-message .h3:after {
  right: 0
}

body.about #about-message .note {
  width: 800px;
  margin: 110px auto 0;
  padding: 0 0 40px;
  background: url(../img/about/about_note_grid_pc.png) repeat-y 0 0
}

body.about #about-message .note p {
  margin: 40px 0 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 40px;
  text-align: center;
  letter-spacing: .1em
}

body.about #about-message .note p:nth-of-type(1) {
  margin: 0
}

body.about #about-message .note p.double {
  margin: 80px 0 0
}

@media only screen and (max-width:767px) {
  body.about #mainvisual {
    width: 100%;
    height: 290px
  }

  body.about #mainvisual .bg {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 290px;
    margin: auto;
    background: url(../img/about/about_mainp_sp.jpg) no-repeat center;
    background-size: cover
  }

  body.about #mainvisual h1 {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    margin: auto;
    padding: 60px 0 0;
    text-align: center
  }

  body.about #mainvisual h1 img {
    height: 165px
  }

  body.about #about-message {
    margin: 45px 0 0;
    padding: 0 20px 75px
  }

  body.about #about-message h2 {
    font-size: 16px;
    line-height: 25px;
    letter-spacing: .1em
  }

  body.about #about-message .h3 {
    margin: 20px 0 0
  }

  body.about #about-message .h3 h3 {
    font-size: 12px;
    line-height: 1em
  }

  body.about #about-message .h3:after,
  body.about #about-message .h3:before {
    top: 5px;
    width: calc(50% - 120px)
  }

  body.about #about-message .note {
    width: auto;
    margin: 50px auto 0;
    padding: 0 0 30px;
    background: url(../img/about/about_note_grid_sp.png) repeat 0 0;
    background-size: 280px auto
  }

  body.about #about-message .note p {
    margin: 30px 0 0;
    font-size: 12px;
    line-height: 30px;
    text-align: left
  }

  body.about #about-message .note p:nth-of-type(1) {
    margin: 0
  }

  body.about #about-message .note p.double {
    margin: 30px 0 0
  }

  body.about #about-message .note p.pc-br br {
    display: none
  }
}

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

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

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

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

body.future #mainvisual {
  width: 100%;
  height: 600px
}

body.future #mainvisual .bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 600px;
  margin: auto;
  background: url(../img/future/future_mainp_pc.jpg) no-repeat center
}

body.future #mainvisual h1 {
  position: relative;
  padding: 65px 0 0 100px
}

body.future #mainvisual p {
  position: relative;
  padding: 65px 0 0 100px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: .1em
}

body.future #future-diary {
  padding: 100px 0 140px
}

body.future #future-diary ul {
  position: relative
}

body.future #future-diary ul:before {
  position: absolute;
  top: 0;
  left: 255px;
  width: 4px;
  height: 100%;
  content: "";
  background: #e2864f
}

body.future #future-diary ul li {
  padding: 0 0 80px
}

body.future #future-diary ul li .h2 {
  padding: 0 0 0 180px
}

body.future #future-diary ul li .h2 .tag,
body.future #future-diary ul li .h2 h2 {
  display: inline-block;
  vertical-align: top
}

body.future #future-diary ul li .h2 h2 {
  padding: 25px 0 0 30px;
  color: #e2864f;
  font-size: 24px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .24em
}

body.future #future-diary ul li dl {
  padding: 20px 0 0
}

body.future #future-diary ul li dl dt {
  width: 330px;
  padding: 0 30px 0 0
}

body.future #future-diary ul li dl dd {
  width: calc(100% - 330px)
}

body.future #future-diary ul li dl dd p {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: .1em
}

body.future #future-diary ul li dl dd .pic {
  margin: 40px 0 0
}

body.future #future-diary .last-message {
  padding: 40px 0;
  border: 1px solid #e2864f
}

body.future #future-diary .last-message p {
  color: #e2864f;
  font-size: 20px;
  font-weight: 700;
  line-height: 1em;
  text-align: center;
  letter-spacing: .24em
}

@media only screen and (max-width:767px) {
  body.future #mainvisual {
    width: 100%;
    height: auto
  }

  body.future #mainvisual .bg {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 310px;
    margin: auto;
    background: url(../img/future/future_mainp_sp.jpg) no-repeat center;
    background-size: cover
  }

  body.future #mainvisual h1 {
    padding: 170px 0 0;
    text-align: center
  }

  body.future #mainvisual h1 img {
    height: 165px
  }

  body.future #mainvisual p {
    padding: 25px 20px 0;
    color: #333;
    font-size: 13px;
    line-height: 22px
  }

  body.future #future-diary {
    padding: 60px 20px 80px
  }

  body.future #future-diary ul:before {
    position: absolute;
    top: 0;
    left: 35px;
    width: 2px
  }

  body.future #future-diary ul li {
    padding: 0 0 45px
  }

  body.future #future-diary ul li .h2 {
    padding: 0
  }

  body.future #future-diary ul li .h2 .tag,
  body.future #future-diary ul li .h2 h2 {
    display: inline-block;
    vertical-align: top
  }

  body.future #future-diary ul li .h2 .tag img {
    height: 40px;
    width: 50px;
  }

  body.future #future-diary ul li .h2 h2 {
    padding: 0 0 0 15px;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: .2em
  }

  body.future #future-diary ul li dl {
    padding: 20px 0 0
  }

  body.future #future-diary ul li dl dd,
  body.future #future-diary ul li dl dt {
    width: 100%
  }

  body.future #future-diary ul li dl dd img,
  body.future #future-diary ul li dl dt img {
    width: 100%
  }

  body.future #future-diary ul li dl dt {
    padding: 0 0 20px 75px
  }

  body.future #future-diary ul li dl dd {
    padding: 0 0 0 75px
  }

  body.future #future-diary ul li dl dd p {
    font-size: 12px;
    line-height: 20px;
    letter-spacing: .05em
  }

  body.future #future-diary ul li dl dd .pic {
    margin: 15px 0 0
  }

  body.future #future-diary .last-message {
    padding: 20px 15px
  }

  body.future #future-diary .last-message p {
    font-size: 14px;
    line-height: 20px;
    letter-spacing: .15em
  }
}

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

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

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

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

body.interview #interview-menu {
  position: relative;
  min-height: 600px;
  padding: 0 0 165px
}

body.interview #interview-menu .bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 600px;
  margin: auto;
  background: url(../img/interview/interview_mainp_pc.jpg) no-repeat center
}

body.interview #interview-menu .h1 {
  position: relative;
  padding: 120px 0 0;
  text-align: center
}

body.interview #interview-menu .h1 p {
  padding: 20px 0 0;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: .1em
}

body.interview #interview-menu .menu {
  margin: 80px 0 0
}

body.interview #interview-menu .menu li {
  width: 30.5%
}

body.interview #interview-menu .menu li:nth-of-type(n+2) {
  margin-left: 4.25%
}

body.interview #interview-menu .menu li a {
  display: block;
  min-height: 580px;
  padding: 30px 0 0;
  text-align: center;
  border: 1px solid #f3f0e9;
  background: #f3f0e9
}

body.interview #interview-menu .menu li a .ttl {
  padding: 30px 0 25px;
  color: #e2864f;
  font-size: 15px;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: .1em
}

body.interview #interview-menu .menu li a .name {
  font-size: 14px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .16em
}

body.interview #interview-menu .menu li a .name .small {
  font-size: 11px
}

body.interview #interview-menu .menu li a .name .area {
  display: block;
  padding: 10px 0 0;
  font-size: 11px;
  font-weight: 400;
  line-height: 16px
}

body.interview #interview-menu .menu li a .name+.name {
  margin: 15px 0 0
}

@media screen and (min-width:768px) {
  body.interview #interview-menu .menu li a {
    -webkit-transition: all .2s cubic-bezier(.39, .575, .565, 1);
    transition: all .2s cubic-bezier(.39, .575, .565, 1)
  }

  body.interview #interview-menu .menu li a:hover {
    border: 1px solid #e2864f;
    background: #fff
  }
}

@media only screen and (max-width:767px) {
  body.interview #interview-menu {
    min-height: 370px;
    padding: 0 0 80px
  }

  body.interview #interview-menu .bg {
    height: 370px;
    background: url(../img/interview/interview_mainp_sp.jpg) no-repeat center;
    background-size: cover
  }

  body.interview #interview-menu .h1 {
    padding: 80px 0 0
  }

  body.interview #interview-menu .h1 img {
    height: 134px
  }

  body.interview #interview-menu .h1 p {
    padding: 20px 0 0;
    font-size: 13px;
    line-height: 22px
  }

  body.interview #interview-menu .menu {
    margin: 40px 0 0;
    padding: 0 20px
  }

  body.interview #interview-menu .menu li {
    width: 100%
  }

  body.interview #interview-menu .menu li:nth-of-type(n+2) {
    margin: 20px 0 0
  }

  body.interview #interview-menu .menu li a {
    min-height: inherit;
    padding: 20px 0 25px
  }

  body.interview #interview-menu .menu li a .pic img {
    width: 190px
  }

  body.interview #interview-menu .menu li a .ttl {
    padding: 20px 0 25px;
    font-size: 14px;
    line-height: 23px;
    letter-spacing: .07em
  }

  body.interview #interview-menu .menu li a .name {
    font-size: 13px;
    line-height: 1em
  }

  body.interview #interview-menu .menu li a .name .small {
    font-size: 9px
  }

  body.interview #interview-menu .menu li a .name .area {
    padding: 10px 0 0;
    font-size: 10px;
    line-height: 14px
  }

  body.interview #interview-menu .menu li a .name+.name {
    margin: 15px 0 0
  }
}

body.interview-child.p01 #mainvisual .bg {
  background: url(../img/interview/interview01_mainp_pc.jpg) no-repeat center
}

body.interview-child.p02 #mainvisual .bg {
  background: url(../img/interview/interview02_mainp_pc.jpg) no-repeat center
}

body.interview-child.p03 #mainvisual .bg {
  background: url(../img/interview/interview03_mainp_pc.jpg) no-repeat center
}

body.interview-child.p03 #mainvisual .profile {
  height: 420px
}

@media only screen and (max-width:767px) {
  body.interview-child.p01 #mainvisual .bg {
    background: url(../img/interview/interview01_mainp_sp.jpg) no-repeat top center
  }

  body.interview-child.p02 #mainvisual .bg {
    background: url(../img/interview/interview02_mainp_sp.jpg) no-repeat top center
  }

  body.interview-child.p03 #mainvisual .bg {
    background: url(../img/interview/interview03_mainp_sp.jpg) no-repeat top center
  }

  body.interview-child.p03 #mainvisual .profile {
    height: auto
  }
}

body.interview-child #mainvisual {
  position: relative;
  display: block;
  width: 100%;
  height: 600px;
  margin-bottom: 260px
}

body.interview-child #mainvisual .bg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 600px;
  margin: auto
}

body.interview-child #mainvisual .profile {
  position: absolute;
  right: 60px;
  bottom: 0;
  width: 330px;
  height: 300px;
  padding: 30px 40px 0;
  text-align: center;
  background: #f3f0e9
}

body.interview-child #mainvisual .profile .no {
  padding: 0 0 40px
}

body.interview-child #mainvisual .profile .name {
  font-size: 16px;
  font-weight: 700;
  line-height: 1em;
  text-align: left;
  letter-spacing: .16em
}

body.interview-child #mainvisual .profile .name .small {
  font-size: 11px
}

body.interview-child #mainvisual .profile .name .area {
  display: block;
  padding: 10px 0 0;
  font-size: 11px;
  font-weight: 400;
  line-height: 16px
}

body.interview-child #mainvisual .profile .name+.name {
  margin: 10px 0 0;
  padding: 15px 0 0;
  border-top: 1px dotted #333
}

body.interview-child #mainvisual h1 {
  position: relative;
  padding: 550px 0 0;
  text-align: center
}

body.interview-child #interview-talk .block:nth-of-type(1) {
  padding: 0 0 80px
}

body.interview-child #interview-talk .block:nth-of-type(2) {
  padding: 80px 0;
  background: #f3f0e9
}

body.interview-child #interview-talk .block:nth-of-type(3) {
  padding: 80px 0 120px
}

body.interview-child #interview-talk .flexbox .cell:nth-of-type(1) {
  width: 690px;
  padding: 0 50px 0 0
}

body.interview-child #interview-talk .flexbox .cell:nth-of-type(2) {
  width: 390px
}

body.interview-child #interview-talk h2 {
  position: relative;
  height: 80px;
  margin: 0 0 30px;
  padding: 35px 0 0 30px;
  font-size: 22px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .2em
}

body.interview-child #interview-talk h2:after,
body.interview-child #interview-talk h2:before {
  position: absolute;
  top: 0;
  left: 0;
  content: ""
}

body.interview-child #interview-talk h2:before {
  width: 80px;
  height: 1px;
  background: #e2864f
}

body.interview-child #interview-talk h2:after {
  width: 1px;
  height: 80px;
  background: #e2864f
}

body.interview-child #interview-talk h2+p {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: .075em
}

body.interview-child #interview-talk dt:nth-of-type(1),
body.interview-child #interview-talk dt:nth-of-type(1)+dd {
  padding: 0
}

body.interview-child #interview-talk dt {
  width: 80px;
  padding: 35px 0 0
}

body.interview-child #interview-talk dt p {
  font-size: 14px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: .1em
}

body.interview-child #interview-talk dd {
  width: calc(100% - 80px);
  padding: 35px 0 0
}

body.interview-child #interview-talk dd p {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: .075em
}

body.interview-child #interview-talk dl+.pic,
body.interview-child #interview-talk p+.pic {
  margin: 60px 0 0
}

body.interview-child #interview-private {
  padding: 0 0 140px
}

body.interview-child #interview-private .block {
  padding: 25px 45px 55px;
  border: 4px solid #f4c2a5
}

body.interview-child #interview-private .block .ttl {
  padding: 0 0 50px;
  text-align: center
}

body.interview-child #interview-private .block .ttl .sttl {
  display: block;
  color: #e2864f;
  font-size: 14px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .16em
}

body.interview-child #interview-private .block .ttl .txt {
  display: inline-block;
  margin: 15px 0 0;
  padding: 15px 0 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1em;
  letter-spacing: .2em;
  border-top: 1px solid #e2864f
}

body.interview-child #interview-private .block .left {
  width: 520px
}

body.interview-child #interview-private .block .right {
  width: 420px
}

body.interview-child #interview-private .block .right p {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: .075em
}

body.interview-child #interview-private .block dt {
  width: 80px
}

body.interview-child #interview-private .block dt p {
  font-size: 14px;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: .1em
}

body.interview-child #interview-private .block dd {
  width: calc(100% - 80px)
}

body.interview-child #interview-private .block dd p {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: .075em
}

@media only screen and (max-width:767px) {
  body.interview-child #mainvisual {
    position: relative;
    width: 100%;
    height: auto;
    margin-bottom: 50px
  }

  body.interview-child #mainvisual .inner1200 {
    padding: 200px 0 0
  }

  .inner1200 h1 {
    width: 275px;
  }

  .inner1200 .no {
    width: 60px;
    margin: 0 auto;
  }

  .inner1080 h1 {
    width: 275px;
    margin: 0 auto;
  }

  body.interview-child #mainvisual .bg {
    height: 250px;
    background-size: cover !important
  }

  body.interview-child #mainvisual .profile {
    position: absolute;
    position: relative;
    right: auto;
    bottom: auto;
    width: 270px;
    height: auto;
    margin: 0 auto 0;
    padding: 20px 25px 35px
  }

  body.interview-child #mainvisual .profile .no {
    padding: 0 0 25px
  }

  body.interview-child #mainvisual .profile .no img {
    height: 47px
  }

  body.interview-child #mainvisual .profile .name {
    font-size: 13px;
    line-height: 1em
  }

  body.interview-child #mainvisual .profile .name .small {
    font-size: 9px
  }

  body.interview-child #mainvisual .profile .name .area {
    display: block;
    padding: 10px 0 0;
    font-size: 11px;
    font-weight: 400;
    line-height: 16px
  }

  body.interview-child #mainvisual h1 {
    padding: 35px 0 0
  }

  body.interview-child #mainvisual h1 img {
    width: 280px
  }

  body.interview-child #interview-talk .block:nth-of-type(1) {
    padding: 0 20px 40px
  }

  body.interview-child #interview-talk .block:nth-of-type(2) {
    padding: 40px 20px
  }

  body.interview-child #interview-talk .block:nth-of-type(3) {
    padding: 40px 20px
  }

  body.interview-child #interview-talk .flexbox .cell:nth-of-type(1) {
    width: 100%;
    padding: 0
  }

  body.interview-child #interview-talk .flexbox .cell:nth-of-type(2) {
    width: 100%
  }

  body.interview-child #interview-talk h2 {
    height: auto;
    margin: 0 0 25px;
    padding: 15px 0 0 20px;
    font-size: 15px;
    line-height: 23px
  }

  body.interview-child #interview-talk h2:before {
    width: 40px
  }

  body.interview-child #interview-talk h2:after {
    height: 40px
  }

  body.interview-child #interview-talk h2+p {
    font-size: 12px;
    line-height: 20px;
    letter-spacing: .05em
  }

  body.interview-child #interview-talk dt:nth-of-type(1),
  body.interview-child #interview-talk dt:nth-of-type(1)+dd {
    padding: 0
  }

  body.interview-child #interview-talk dt {
    width: 65px;
    padding: 20px 0 0
  }

  body.interview-child #interview-talk dt p {
    font-size: 12px;
    font-weight: 700;
    line-height: 20px;
    letter-spacing: .01em
  }

  body.interview-child #interview-talk dd {
    width: calc(100% - 65px);
    padding: 20px 0 0
  }

  body.interview-child #interview-talk dd p {
    font-size: 12px;
    line-height: 20px;
    letter-spacing: .05em
  }

  body.interview-child #interview-talk dl+.pic {
    margin: 30px 0 0;
    text-align: center
  }

  body.interview-child #interview-talk .half {
    margin: 30px 0 0;
    text-align: center
  }

  body.interview-child #interview-talk .half img {
    width: 195px
  }

  body.interview-child #interview-private {
    padding: 0 20px 80px
  }

  body.interview-child #interview-private .block {
    padding: 20px 15px 15px;
    border: 2px solid #f4c2a5
  }

  body.interview-child #interview-private .block .ttl {
    padding: 0 0 30px
  }

  body.interview-child #interview-private .block .ttl .sttl {
    font-size: 10px;
    line-height: 1em
  }

  body.interview-child #interview-private .block .ttl .txt {
    margin: 10px 0 0;
    padding: 10px 0 0;
    font-size: 15px;
    font-weight: 700;
    line-height: 23px;
    letter-spacing: .1em
  }

  body.interview-child #interview-private .block .left,
  body.interview-child #interview-private .block .right {
    float: none;
    margin: auto
  }

  body.interview-child #interview-private .block .left,
  body.interview-child #interview-private .block .right {
    width: 100%
  }

  body.interview-child #interview-private .block .left {
    padding: 30px 0 0
  }

  body.interview-child #interview-private .block .right p {
    font-size: 12px;
    line-height: 20px
  }

  body.interview-child #interview-private .block dt {
    width: 60px
  }

  body.interview-child #interview-private .block dt p {
    font-size: 12px;
    line-height: 20px
  }

  body.interview-child #interview-private .block dd {
    width: calc(100% - 60px)
  }

  body.interview-child #interview-private .block dd p {
    font-size: 12px;
    line-height: 20px
  }
}