@charset "UTF-8";
/* common */
html {
  font-family: "Yu Gothic Medium","游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  line-height: 1.8;
  word-break: break-all;
  position: relative; }

* {
  box-sizing: border-box; }

p {
  font-size: 0.95rem; }

.spn {
  display: none !important; }

li {
  vertical-align: top; }

.bold {
  font-weight: bold; }

.text_l {
  text-align: left; }

.text_r {
  text-align: right; }

.text_c {
  text-align: center; }

.white {
  color: #fff; }

.text_title {
  font-size: 1.2rem;
  font-weight: bold;
  line-height: 1.5;
  margin: 10px 0;
  display: inline-block; }

.w100p {
  width: 100%; }

.red {
  color: #D5007E; }

table {
  width: 100%;
  margin-bottom: 3%;
  border-collapse: collapse; }

th, td {
  border: solid 1px #fff;
  padding: 3% 4%;
  box-sizing: border-box; }

th {
  vertical-align: top;
  text-align: left; }

/* block(all) */
[class^="inner-box"] > p {
  line-height: 2.0;
  letter-spacing: 1.5px;
  font-size: 1rem; }

[class*="btn"] {
  transition: all 0.5s ease; }

.btn {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding: 12px 30px;
  background: #fff;
  text-align: center;
  align-items: center;
  border-radius: 5px;
  text-decoration: none;
  line-height: 1.4;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2); }
  .btn i {
    margin-right: 10px;
    font-size: 1.15rem; }

.btn + .btn {
  margin-left: 20px; }

/* mixin */
.mb_xsmall {
  margin-bottom: 10px; }

.mb_small {
  margin-bottom: 20px; }

.mb_normal {
  margin-bottom: 40px; }

.mb_large {
  margin-bottom: 60px; }

.mb_xlarge {
  margin-bottom: 80px; }

.mt_xsmall {
  margin-top: 10px; }

.mt_small {
  margin-top: 20px; }

.mt_normal {
  margin-top: 40px; }

.mt_large {
  margin-top: 60px; }

.mt_xlarge {
  margin-top: 80px; }

.ui-widget-content {
  border: none !important;
  background-color: #fff !important;
  background-image: none !important;
  box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.3); }

input.js-ui-date-input-calendar {
  border: solid 1px #ddd;
  padding: 2vw; }

#ui-datepicker-div th {
  width: auto; }
#ui-datepicker-div .ui-widget-header {
  border: none;
  background-image: none;
  background-color: #eee; }
#ui-datepicker-div .ui-datepicker {
  padding: .5em .5em 0; }
#ui-datepicker-div .ui-datepicker th {
  width: auto;
  max-width: 14%; }
#ui-datepicker-div .ui-state-default {
  border: 1px solid #fff;
  border-radius: 5px;
  background-image: none;
  color: #000; }
#ui-datepicker-div .ui-state-hover {
  border: solid 1px #eee;
  background-image: none;
  background-color: #fafafa;
  color: #0094FF; }
#ui-datepicker-div .ui-state-highlight {
  color: #fff;
  background-color: #0094FF; }
#ui-datepicker-div .ui-datepicker-buttonpane button {
  font-size: .8rem;
  padding: .4em .8rem; }
#ui-datepicker-div button.ui-state-default {
  background-color: #000;
  color: #fff;
  font-weight: normal;
  margin: .5em .2em 1em; }
#ui-datepicker-div button.ui-state-hover {
  opacity: .5; }
#ui-datepicker-div .ui-state-active {
  background: #E25686;
  color: #fff; }

html {
  color: #424242; }

header {
  box-sizing: border-box;
  background: #003679;
  color: #fff;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 98;
  border-bottom: 5px solid #E25686; }

.link-type-a {
  padding: 18px 20px 18px 20px;
  border-bottom: 1px solid #fff; }

.link-type-b a {
  padding: 18px 20px 18px 20px;
  border: none;
  margin-top: 0;
  margin-left: 0; }

@media screen and (min-width: 768px) {
  .header-inner {
    max-width: 1000px;
    margin: auto; }

  .link-type-a {
    padding: 18px 8px 18px 8px;
    border-bottom: none; }

  .link-type-b a {
    border: solid 1px #fff;
    margin-left: 8px;
    margin-right: 8px;
    padding: 0px 10px;
    margin-top: 15px; } }
/* common */
.title-h2 {
  text-align: center;
  font-size: 34px;
  font-weight: bold;
  width: 100%;
  padding: 86px 0 20px 0; }
  @media screen and (max-width: 740px) {
    .title-h2 {
      font-size: 18px;
      padding: 4% 0 20px 0; } }

/* kv */
#kv {
  margin-top: 65px;
  background-image: url("../img/kv-img.png");
  background-repeat: no-repeat;
  background-position: center bottom;
  position: relative;
  background-size: 100% auto;
  padding-top: 49.66%;
  height: 0; }
  @media screen and (max-width: 740px) {
    #kv {
      background-image: url("../img/kv-img-sm.png");
      padding-top: 79.46%; } }

.kv-inner {
  max-width: 1000px;
  margin: auto; }

.kv-txt {
  position: absolute;
  bottom: 8vh;
  left: 11vw; }
  @media screen and (max-width: 740px) {
    .kv-txt {
      bottom: 4vh; } }

.kv-txt img {
  max-width: 34vw;
  min-width: 28vw;
  width: 398px; }
  @media screen and (max-width: 740px) {
    .kv-txt img {
      max-width: 50vw; } }

/* section01 */
#section01 {
  background-image: url("../img/section01-bg.png");
  background-repeat: repeat;
  background-position: center bottom; }
  @media screen and (max-width: 740px) {
    #section01 {
      background-size: 600px; } }

.section01-inner {
  max-width: 1000px;
  margin: auto;
  text-align: center;
  padding: 120px 20px 100px 20px; }
  @media screen and (max-width: 740px) {
    .section01-inner {
      padding: 60px 4%; } }

.sc01-txt01 {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 40px;
  letter-spacing: 0.2em; }
  @media screen and (max-width: 740px) {
    .sc01-txt01 {
      font-size: 22px;
      letter-spacing: 0.1em; } }

.sc01-txt02 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 40px;
  letter-spacing: 0.2em; }
  @media screen and (max-width: 740px) {
    .sc01-txt02 {
      font-size: 20px;
      letter-spacing: 0; } }

.sc01-txt03 {
  font-size: 16px;
  margin-bottom: 40px; }
  @media screen and (max-width: 740px) {
    .sc01-txt03 {
      font-size: 12px; } }

.sc01-txt04 {
  font-size: 16px; }
  @media screen and (max-width: 740px) {
    .sc01-txt04 {
      font-size: 12px; } }

/* section02 */
@media screen and (max-width: 740px) {
  #section02 {
    padding-top: 3%; } }

.interview-block {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  padding: 100px 0; }
  @media screen and (max-width: 960px) {
    .interview-block {
      display: block;
      padding: 30px 0; } }

.interview-block > div {
  width: 50%; }
  @media screen and (max-width: 960px) {
    .interview-block > div {
      width: 100%; } }

.interview-box {
  display: block;
  padding: 0 6%; }
  @media screen and (max-width: 960px) {
    .interview-box {
      padding: 6%; } }

.interview_img {
  background-size: cover;
  background-position: center center;
  height: 475px; }
  @media screen and (max-width: 960px) {
    .interview_img {
      min-height: 400px; } }
  @media screen and (max-width: 740px) {
    .interview_img {
      min-height: 220px;
      height: 100%;
      background-size: 100%;
      background-repeat: no-repeat; } }

.blue {
  background-color: #E5F3FC; }

.pink {
  background-color: #FBEDF3; }

.pht01 {
  background-image: url("../img/interview_img01.jpg"); }

.pht02 {
  background-image: url("../img/interview_img02.jpg"); }

.pht03 {
  background-image: url("../img/interview_img03.jpg"); }

.pht04 {
  background-image: url("../img/interview_img04.jpg"); }

.rev {
  flex-direction: row-reverse; }

.interview-personal-box {
  overflow: hidden;
  margin-bottom: 10px; }
  @media screen and (max-width: 740px) {
    .interview-personal-box {
      margin-bottom: 20px; } }

.interview--icon {
  color: #DE829E;
  font-weight: bold;
  font-size: 18px;
  border-bottom: 2px;
  display: inline-block;
  line-height: 1;
  margin-right: 28px;
  margin-bottom: 20px; }
  @media screen and (max-width: 740px) {
    .interview--icon {
      font-size: 20px;
      margin-bottom: 20px; } }

.interview--icon:after {
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  background: linear-gradient(left, #F44786, #EB90B7); }

.interview--icon span {
  font-size: 30px;
  margin-left: 5px; }
  @media screen and (max-width: 740px) {
    .interview--icon span {
      font-size: 26px; } }

.interview--personal {
  background-color: #fff;
  text-align: center;
  padding: 5px 10px;
  display: inline-block;
  font-size: 14px; }
  @media screen and (max-width: 740px) {
    .interview--personal {
      width: 100%; } }

.interview-txt-box p {
  font-size: 18px;
  line-height: 2;
  text-align: justify;
  text-justify: inter-ideograph; }
  @media screen and (max-width: 740px) {
    .interview-txt-box p {
      font-size: 14px;
      line-height: 1.8; } }

.interview-txt-box .catch {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 16px; }
  @media screen and (max-width: 740px) {
    .interview-txt-box .catch {
      font-size: 20px; } }

/* section03 */
#section03 {
  width: 100%; }

.dot {
  background-size: 60px 60px;
  margin: 0 auto;
  background-image: radial-gradient(#F7DEEC 12%, #ffffff 12%); }

.section03-inner {
  max-width: 980px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 100px; }
  @media screen and (max-width: 960px) {
    .section03-inner {
      display: block; } }
  @media screen and (max-width: 740px) {
    .section03-inner {
      padding-top: 50px;
      padding-bottom: 50px; } }

.step--box {
  width: 310px;
  background-color: #F4F4F7;
  padding: 30px;
  box-sizing: border-box;
  margin-bottom: 20px; }
  @media screen and (max-width: 960px) {
    .step--box {
      width: 70%;
      margin: auto auto 20px auto;
      text-align: center; } }
  @media screen and (max-width: 740px) {
    .step--box {
      width: 90%; } }

.step--icon {
  display: inline-block;
  color: #DE829E;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.2;
  margin-bottom: 10px; }
  @media screen and (max-width: 740px) {
    .step--icon {
      font-size: 20px; } }

.step--icon:after {
  content: "";
  display: block;
  height: 3px;
  width: 100%;
  background: linear-gradient(left, #F44786, #EB90B7); }

.step--icon span {
  display: inline-block;
  color: #DE829E;
  font-weight: bold;
  font-size: 24px;
  margin-left: 5px; }
  @media screen and (max-width: 740px) {
    .step--icon span {
      font-size: 26px; } }

.step--box img {
  max-width: 100%; }

.step_txt {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 10px; }
  @media screen and (max-width: 740px) {
    .step_txt {
      font-size: 20px; } }

.step--fst {
  background-color: #DE829E;
  color: #fff;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center; }
  .step--fst .step_txt {
    margin-bottom: 0; }

.step--fst .step_txt {
  font-size: 34px;
  letter-spacing: 0.1em;
  line-height: 1.2; }
  @media screen and (max-width: 740px) {
    .step--fst .step_txt {
      font-size: 18px; } }

.step--fst .step_txt span {
  letter-spacing: 0; }

.font_18 {
  font-size: 18px; }

.font_16 {
  font-size: 16px; }

/* section04 */
#section04 {
  width: 100%; }

.section04-inner {
  max-width: 1000px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 4% 60px 4%;
  box-sizing: border-box; }
  @media screen and (max-width: 960px) {
    .section04-inner {
      max-width: 670px; } }
  @media screen and (max-width: 640px) {
    .section04-inner {
      max-width: 330px;
      margin: auto auto 0 auto;
      padding-bottom: 40px; } }

.works--box {
  width: 260px;
  position: relative;
  margin-bottom: 60px;
  text-align: center; }
  @media screen and (max-width: 640px) {
    .works--box {
      margin: auto auto 50px auto; } }

.works--box img {
  max-width: 218px; }

.works--txt {
  position: absolute;
  background-color: #DE829E;
  color: #fff;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  padding: 6px;
  bottom: -18px;
  width: 100%;
  border-radius: 10px; }
  @media screen and (max-width: 640px) {
    .works--txt {
      font-size: 20px; } }

/* section05 */
#section05 {
  width: 100%;
  background: linear-gradient(to bottom, #F596B3, #DE829E); }

.title-section05 {
  color: #ffffff;
  margin-bottom: 40px; }
  @media screen and (max-width: 740px) {
    .title-section05 {
      margin-bottom: 20px; } }

.section05-inner {
  max-width: 1000px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 30px 0 100px 0; }
  @media screen and (max-width: 960px) {
    .section05-inner {
      display: block;
      padding: 40px 0 20px 0; } }

.nagare--box {
  /*width: 200px;*/
  width: 30%;
  color: #fff;
  text-align: center; }
  @media screen and (max-width: 960px) {
    .nagare--box {
      width: 80%;
      margin: auto auto 100px auto; } }
  @media screen and (max-width: 640px) {
    .nagare--box {
      margin: auto auto 30px auto;
      border-bottom: 1px solid #fcdcdc;
      padding-bottom: 30px; } }

.nagare--box:last-child {
  border: none; }

.nagare_img01 {
  width: 140px;
  margin-bottom: 40px; }
  @media screen and (max-width: 960px) {
    .nagare_img01 {
      margin-bottom: 10px; } }

.nagare--txt01 {
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px; }
  @media screen and (max-width: 640px) {
    .nagare--txt01 {
      font-size: 20px;
      margin-bottom: 10px;
      text-align: center; } }

.nagare--txt02 {
  text-align: left;
  text-align: justify;
  text-justify: inter-ideograph; }
  @media screen and (max-width: 640px) {
    .nagare--txt02 {
      text-align: center; } }

/* section06 */
#section06 {
  width: 100%;
  background-color: #F4F4F7;
  padding: 60px 20px;
  box-sizing: border-box; }
  @media screen and (max-width: 740px) {
    #section06 {
      padding: 40px 4% 20px 4%; } }

.section06-inner {
  max-width: 760px;
  margin: auto;
  background-color: #fff;
  padding: 20px;
  box-sizing: border-box; }

.recruit--h3 {
  width: 100%;
  background-color: #DE829E;
  border-radius: 6px;
  color: #fff;
  font-size: 24px;
  text-align: center;
  padding: 6px;
  box-sizing: border-box;
  margin-bottom: 26px; }
  @media screen and (max-width: 640px) {
    .recruit--h3 {
      font-size: 18px; } }

.font_bold {
  font-weight: bold; }

.font_12 {
  font-size: 12px; }

.mb_20 {
  margin-bottom: 20px; }

.recruit--box {
  width: 96%;
  margin: auto auto 40px auto; }

.recruit-2row {
  display: flex; }
  @media screen and (max-width: 740px) {
    .recruit-2row {
      display: block; } }

.left-column {
  font-weight: bold;
  width: 14%; }
  @media screen and (max-width: 740px) {
    .left-column {
      width: 100%; } }

.right-column {
  width: 86%; }
  @media screen and (max-width: 740px) {
    .right-column {
      width: 100%; } }

/* block_inq */
.bn {
  border: none; }

#block_inq {
  background-color: #003679;
  padding-bottom: 80px;
  padding-top: 60px; }
  @media screen and (max-width: 740px) {
    #block_inq {
      padding-top: 40px; } }
  #block_inq .inner-box {
    width: 100%;
    max-width: 1060px;
    margin: auto;
    background-color: #fff;
    padding: 60px 20px; }
    @media screen and (max-width: 740px) {
      #block_inq .inner-box {
        padding: 4%;
        margin-bottom: 4%; } }
  #block_inq .first-ttl {
    border-left: solid 1px #D21010;
    color: #D21010;
    font-size: 0.8rem;
    padding-left: 20px;
    font-weight: bold;
    margin-bottom: 15px; }
  #block_inq .second-ttl {
    border-left: solid 1px #000;
    font-size: 0.8rem;
    padding-left: 20px;
    font-weight: bold;
    margin-bottom: 15px; }
  #block_inq .bri-date input[type=text] {
    width: 20%;
    margin-right: 15px; }
  #block_inq dl {
    margin-bottom: 60px; }
  #block_inq dl:last-child {
    margin-bottom: 0; }
  #block_inq .candidate {
    margin: 15px 0;
    font-size: 0.8rem; }
  #block_inq label {
    margin-right: 10px; }
    #block_inq label:last-child {
      margin-right: 0; }
  #block_inq .error {
    color: #D94B90;
    background-color: #ffebf2;
    font-weight: bold;
    padding: 10px 15px;
    margin: 6px 0; }

th {
  width: 26%; }

input[type=image] {
  max-width: 400px;
  width: 100%; }

table input[type=text],
table textarea {
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  border: solid 1px #ddd;
  background-color: #f5f5f5; }

input[type=radio],
input[type=checkbox] {
  margin-right: 5px; }

select {
  padding: 10px;
  border: solid 1px #ddd; }

.icon_must {
  vertical-align: middle;
  margin: 0 5px;
  max-width: 40px; }

#cell_age input {
  width: 10%; }

.form-cv,
.form-back {
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  cursor: pointer; }
  .form-cv:hover,
  .form-back:hover {
    opacity: 0.8; }

.block_inq-title {
  color: #fff; }

.thanks_block {
  text-align: center; }

.thanks_block .thanks_catch {
  width: 60%;
  max-width: 230px;
  margin-bottom: 40px; }

.thanks_catch_ttl img {
  width: 80%;
  max-width: 800px;
  margin: 0 auto 40px; }

/* footer */
footer {
  background: #012653;
  text-align: center;
  padding: 3%;
  border-top: 18px solid #E90082;
  color: #fff; }

footer a {
  color: #fff;
  text-decoration: none; }

footer small {
  font-style: normal;
  font-size: 0.7rem;
  display: block;
  margin-top: 1%; }

#btn_top {
  position: fixed;
  right: 1%;
  bottom: 10%;
  display: none;
  z-index: 999;
  box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.2);
  background-color: #fff;
  border-radius: 100%;
  overflow: hidden; }

.btn {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  padding: 16px 0;
  background: #fff;
  justify-content: center;
  border-radius: 6px;
  text-decoration: none;
  line-height: 1.4; }

[class*="btn"] {
  transition: all 0.5s ease; }

.entry {
  max-width: 320px;
  margin: auto;
  text-align: center;
  background: #DE829E;
  color: #fff;
  border: solid 1px #DE829E;
  font-size: 24px;
  font-weight: bold; }
  .entry:hover {
    background: #fff;
    color: #DE829E;
    border: solid 1px #DE829E; }

/**************************************************************************************************************************

 スマホ

**************************************************************************************************************************/
@media screen and (max-width: 740px) {
  .spn {
    display: flex !important; }

  .pc {
    display: none; }

  table, tbody, tr, th, td {
    display: block;
    width: 100% !important;
    font-size: 0.8rem; }

  tr, th, td {
    padding-right: 0;
    padding-left: 0; }

  tr {
    border-bottom: solid 1px #ccc;
    padding-bottom: 20px; }

  tr + tr {
    margin-top: 20px; }

  th {
    padding-bottom: 2%;
    border-right: none; }

  th + td {
    padding-top: 0; }

  .img_btn_col li {
    width: 100%;
    padding: 0;
    float: none; }

  p {
    font-size: 0.8rem; }

  h2 br {
    display: none; }

  #cell_age input {
    width: 30%; }

  #block_inq {
    padding-bottom: 0; }

  #block_inq .bri-date input[type=text] {
    width: 30%; }

  .form-cv {
    text-align: center; }
    .form-cv input {
      max-width: 140px; }

  .entry-area {
    width: 100%; }
    .entry-area.row2 {
      width: 100%; }
      .entry-area.row2 input {
        width: 100%; }
    .entry-area .btn + .btn {
      margin: 0 auto; }
    .entry-area input {
      width: 100%; }

  select {
    box-sizing: border-box;
    border: solid 1px #ddd;
    background-color: #f5f5f5; }

  #block_inq label {
    display: inline-block;
    margin: 6px 6% 0 0; }

  #block_inq dl {
    margin-bottom: 10%;
    border-bottom: solid 1px #ccc; }
    #block_inq dl:last-child {
      border-bottom: none; }

  #block_inq lable:after {
    content: "\A";
    white-space: pre; }

  /* block(all) */
  .thanks_text {
    font-size: 0.8rem; }

  /* footer */
  footer {
    padding: 5% 0;
    font-size: 0.6rem; }

  footer small {
    font-size: 0.6rem; }

  #btn_top {
    visibility: hidden; }

  #cv-btn-navi .tel, #cv-btn-navi .entry {
    padding: 4% 2%;
    justify-content: center;
    font-size: 0.75rem; }
  #cv-btn-navi .tel-pc {
    display: none; }

  input.js-ui-date-input-calendar {
    border: solid 1px #ddd;
    padding: 2vw; }

  table.ui-datepicker-calendar {
    display: table !important; }
    table.ui-datepicker-calendar tr {
      display: table !important;
      width: 100% !important;
      border-bottom: none;
      padding-bottom: 0px; }
    table.ui-datepicker-calendar tr + tr {
      margin-top: 0px; }
    table.ui-datepicker-calendar th, table.ui-datepicker-calendar td {
      display: inline-block !important;
      width: 13.5% !important; }

  /** norton_btn -add 20190218 **/
  .norton_btn tr {
    border: none !important; } }
/**************************************************************************************************************************

 タブレット

**************************************************************************************************************************/
/**************************************************************************************************************************

 デスクトップ＆ノートPC

**************************************************************************************************************************/
