@charset "UTF-8";
@media screen and (max-width: 767px) {
  .smart_hide {
    display: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 999px) {
  .tablet_hide {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .pc_hide {
    display: none;
  }
}
/* RESET
---------------------------------------------- */
*, *::before, *::after {
  box-sizing: border-box;
}

a:focus,
*:focus {
  outline: none;
}

html {
  font-size: 16px;
}

html body {
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-display: swap;
  letter-spacing: 0.15em;
  color: #333;
}

img,
html body #page .entry-content img {
  box-shadow: 0 0 0 0;
  border-radius: 0 0 0 0;
  vertical-align: middle;
  max-width: 100%;
}

.tof {
  overflow: hidden;
  /* "overflow" の値は "visible" 以外のものを指定する */
  /* Opera 9-10 */
  text-overflow: ellipsis;
  /* IE, WebKit (Safari, Chrome), Firefox 7, Opera 11 */
  white-space: nowrap;
  width: 100%;
  /* IE6 では width の指定が必要 */
}

.center,
.txt-center {
  text-align: center;
}

.t_right {
  text-align: right;
}

.t_left {
  text-align: left;
}

.f_right {
  float: right;
}

.f_left {
  float: left;
}

.full {
  width: 100%;
}

.mg0 {
  margin: 0;
}

a,
.hover {
  transition: 0.6s;
}

a:hover {
  text-decoration: underline;
}

.hover100:hover {
  opacity: 1;
  filter: alpha(opacity=100);
  -ms-filter: "alpha(opacity=100)";
  -moz-opacity: 1;
  -khtml-opacity: 1;
  zoom: 1;
}

.cf {
  clear: both;
}

.cf_after:after {
  content: "";
  display: block;
  clear: both;
}

.none {
  display: none;
}

input {
  display: block;
  width: 96%;
  margin: 0 auto;
}

.pt {
	padding-top: 15px;
}

textarea {
  display: block;
  width: 96%;
  margin: 0 auto;
}

input[type=radio],
input[type=checkbox] {
  display: inline;
  width: auto;
}

.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 1000ms;
}

.fadein.scrollin {
  opacity: 1;
  transform: translate(0, 0);
}

/* BASE
---------------------------------------------- */
html body {
  color: #333;
  width: 100%;
  min-width: 320px;
  padding: 0;
  margin: 0;
}

html body #page {
  background: transparent;
  box-shadow: 0 0 0 0;
  width: 100%;
  max-width: 100%;
  min-width: 320px;
  padding: 0;
  margin: 0 auto;
}

p,
p {
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 180%;
  margin: 0;
}

ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
ul li {
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 180%;
}

dl {
  margin: 0;
  padding: 0;
}
dl dt {
  margin: 0;
  font-size: 13px;
  font-size: 0.8125rem;
}
dl dd {
  margin: 0;
  font-size: 13px;
  font-size: 0.8125rem;
}

a:link,
a:visited {
  color: #343535;
  text-decoration: none;
}
a:link.link_cl,
a:visited.link_cl {
  color: #504084;
  text-decoration: underline;
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
  width: 90%;
}

p.btn {
  text-align: center;
  display: block;
  margin: 0;
}
p.btn a, p.btn button {
  display: block;
  margin: 0 auto;
  font-weight: bold;
  position: relative;
  padding: 15px 20px;
  z-index: 0;
  overflow: hidden;
  opacity: 1;
  border: 1px solid #fff;
  color: #fff;
}
p.btn a span, p.btn button span {
  display: block;
  font-size: 10px;
  font-size: 0.625rem;
  font-weight: bold;
  line-height: 1.3;
}
p.btn a span:first-line, p.btn button span:first-line {
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "viga", sans-serif;
  font-display: swap;
}
p.btn a:before, p.btn button:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 200%;
  background: rgba(23, 19, 65, 0.3);
  z-index: -1;
  transform: rotate(15deg);
  top: -15%;
  right: -87%;
  transition: 0.5s;
}
p.btn a:after, p.btn button:after {
  content: "";
  margin: auto;
  position: absolute;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 15px;
}
p.btn a:hover:before, p.btn button:hover:before {
  right: 0;
  transform: rotate(0deg);
}
p.btn button {
  background: transparent;
}

p.btn_bg {
  text-align: center;
  display: block;
  margin: 0;
}
p.btn_bg a, p.btn_bg button {
  display: inline-block;
  margin: 0 auto;
  font-weight: bold;
  position: relative;
  padding: 15px 80px;
  z-index: 0;
  overflow: hidden;
  opacity: 1;
  border: 1px solid #504084;
  color: #504084;
}
p.btn_bg a span, p.btn_bg button span {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: bold;
}
p.btn_bg a:before, p.btn_bg button:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: #504084;
  z-index: -1;
  top: 0;
  left: -100%;
  transition: 0.5s;
}
p.btn_bg a:after, p.btn_bg button:after {
  content: "";
  margin: auto;
  position: absolute;
  width: 10px;
  height: 10px;
  border-top: 2px solid #504084;
  border-right: 2px solid #504084;
  transform: rotate(45deg);
  right: 15px;
  top: 0;
  bottom: 0;
}
p.btn_bg.btn_bg_re a, p.btn_bg.btn_bg_re button {
  background: #504084;
  color: #fff;
}
p.btn_bg.btn_bg_re a:after, p.btn_bg.btn_bg_re button:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

p.btn_tel {
  display: table;
  margin: auto;
}
p.btn_tel a {
  display: block;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  background: #fff;
  margin: 0 auto;
  border-radius: 100px;
  padding: 5px 10px 5px 5px;
}
p.btn_tel a img {
  width: 43px;
}
p.btn_tel a span.tel_numb {
  font-size: 22px;
  font-size: 1.375rem;
  letter-spacing: 0.05em;
  display: block;
  width: calc(100% - 30px);
  padding: 0 10px;
}
p.btn_tel a span.tel_numb span {
  font-size: 10px;
  font-size: 0.625rem;
  display: block;
  line-height: 1.5;
  margin: 4px 0 0;
}

@media screen and (min-width: 768px) {
  p {
    font-size: 13px;
    font-size: 0.8125rem;
  }

  .inner {
    width: 94%;
  }

  p.btn {
    max-width: 320px;
    margin-right: auto;
    margin-left: auto;
  }
  p.btn_bg a {
    font-size: 16px;
    font-size: 1rem;
    padding: 20px 100px;
  }
}
@media screen and (min-width: 1024px) {
  p {
    font-size: 14px;
    font-size: 0.875rem;
  }

  p.btn_tel {
    pointer-events: none;
  }
  p.btn_tel a {
    border-radius: 100px;
    padding: 5px 10px 5px 5px;
  }
  p.btn_tel a img {
    width: 43px;
  }
  p.btn_tel a span.tel_numb {
    font-size: 22px;
    font-size: 1.375rem;
    letter-spacing: 0.05em;
    display: block;
    width: calc(100% - 30px);
    padding: 0 10px;
  }
  p.btn_tel a span.tel_numb span {
    font-size: 12px;
    font-size: 0.75rem;
    display: block;
    line-height: 1.5;
    margin: 4px 0 0;
  }

  p.btn {
    max-width: 560px;
  }
  p.btn a {
    padding: 24px;
    border-width: 2px;
  }
  p.btn a span {
    font-size: 12px;
    font-size: 0.75rem;
  }
  p.btn a span:first-line {
    font-size: 25px;
    font-size: 1.5625rem;
    font-weight: normal;
    letter-spacing: 0.25em;
  }
  p.btn a:before {
    top: -15%;
    right: -87%;
  }
  p.btn a:after {
    width: 15px;
    height: 15px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    right: 30px;
  }
  p.btn a:hover:before {
    right: 0;
    transform: rotate(0deg);
  }

  p.btn_bg a {
    font-size: 18px;
    font-size: 1.125rem;
    padding: 30px 120px;
  }
  p.btn_bg a:after {
    right: 25px;
  }
  p.btn_bg a:hover {
    color: #fff;
  }
  p.btn_bg a:hover:before {
    left: 0;
  }
  p.btn_bg a:hover:after {
    border-color: #fff;
  }
  p.btn_bg.btn_bg_re a:hover {
    color: #504084;
  }
  p.btn_bg.btn_bg_re a:hover:after {
    border-top: 2px solid #504084;
    border-right: 2px solid #504084;
  }
  p.btn_bg.btn_bg_re a:before {
    background: #fff;
  }
}
header#masthead .logo_area {
  background: #fff;
  height: 99px;
  z-index: 3;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
}
header#masthead .logo_area .logo {
  width: 30%;
  max-width: 155px;
}
header#masthead .logo_area .logo a {
  display: block;
  padding: 15px 15px 15px 0;
}
header#masthead .head_belt {
	height: 52px;
	overflow: hidden;
  position: fixed;
  right: 0;
  top: 0;
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  z-index: 5;
  border-left: solid 1px #ddd;
}
header#masthead .head_belt.sticky {
  position: fixed;
  transition: 0.5s;
}
header#masthead .head_belt.active .head_entry {
  margin: 0 50px 0 0;
}
header#masthead .head_belt .head_entry a {
  color: #504084;
  background: #fff;
  display: block;
  padding: 5px 30px 5px 0px;
  position: relative;
}
header#masthead .head_belt .head_entry a:after {
  content: "";
  position: absolute;
  top: 0;
  right: 17px;
  bottom: 0;
  margin: auto;
  width: 8px;
  height: 8px;
  border-right: 1px solid #504084;
  border-top: 1px solid #504084;
  transform: rotate(45deg);
}
header#masthead .head_belt .head_entry a span {
  display: block;
}
header#masthead .head_belt .head_entry a span.over_spell {
  font-family: "viga", sans-serif;
  font-display: swap;
  font-size: 18px;
  font-size: 1.125rem;
  letter-spacing: 0.25em;
  transform: scale(0.8);
}
header#masthead .head_belt .head_entry a span.under_spell {
  font-size: 10px;
  font-size: 0.625rem;
  transform: scale(0.8);
  letter-spacing: 0.05em;
}

#menu_toggle {
  order: 1;
  cursor: pointer;
  right: 0;
  position: relative;
  z-index: 10;
  top: 0;
  display: block;
  width: 50px;
  padding: 12px 12px 12px;
  transition: right 0.3s ease-in-out;
  transform: translateZ(0);
  border: 0;
  outline: 0;
  background: #504084;
}
#menu_toggle > span {
  font-size: 10px;
  font-size: 0.625rem;
  color: #fff;
  line-height: 1;
  display: table;
  margin: auto;
}
#menu_toggle div {
  position: relative;
  display: block;
  margin: 13px 0 28px;
}
#menu_toggle div span {
  width: 100%;
  height: 2px;
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
#menu_toggle div span:nth-child(1) {
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
}
#menu_toggle div span:nth-child(2) {
  background-color: #fff;
  position: absolute;
  top: -10px;
  left: 0;
}
#menu_toggle div span:nth-child(3) {
  width: 100%;
  background-color: #fff;
  top: 10px;
  position: absolute;
  left: 0;
  content: " ";
}
#menu_toggle.open {
  position: fixed;
  z-index: 15;
  top: 0;
  right: 0;
}
#menu_toggle.open div span:nth-child(1) {
  background: transparent;
}
#menu_toggle.open div span:nth-child(2) {
  transform: rotate(45deg);
  top: 0;
}
#menu_toggle.open div span:nth-child(3) {
  transform: rotate(-45deg);
  top: 0;
  width: 100%;
}

nav#gnav {
  background: #504084;
  position: fixed;
  top: 0;
  width: 100%;
  height: 100vh;
  z-index: 13;
  padding: 0;
  display: none;
  left: 0;
}
nav#gnav.open-nav {
	height: 100%;
  overflow-y: scroll;
  transform: scale(1);
}
@keyframes gnavanim {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
nav#gnav {
  margin: 0 auto 0;
  padding: 10px 0 10px;
}
nav#gnav .nav_area {
  height: 100%;
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
  flex-direction: column;
}
nav#gnav ul.main_menu {
  margin: auto;
  display: block;
  max-width: 300px;
  margin: 55px auto 0;
}
nav#gnav ul.main_menu > li {
  margin: auto;
  position: relative;
  width: 100%;
}
nav#gnav ul.main_menu > li > a {
  color: #fff;
  display: block;
  padding: 10px 10px;
  font-size: 11px;
  font-size: 0.6875rem;
  position: relative;
  opacity: 1;
  color: #fff;
}
nav#gnav ul.main_menu > li > a:first-line {
  font-size: 17px;
  font-size: 1.0625rem;
  font-family: "viga", sans-serif;
  font-display: swap;
}
nav#gnav ul.main_menu > li:not(:first-child) {
  margin: 0px 0 0;
}
nav#gnav ul.main_menu > li .lv02 {
  display: none;
  margin: 0 10px 10px;
}
nav#gnav ul.main_menu > li .lv02 > li {
  font-size: 12px;
  font-size: 0.75rem;
}
nav#gnav ul.main_menu > li .lv02 > li a {
  color: #fff;
  display: block;
  padding: 3px 0;
}
nav#gnav ul.main_menu > li .lv02 > li a:before {
  content: "-";
}
nav#gnav ul.main_menu > li.acr.open > a:before {
  content: none;
}
nav#gnav ul.main_menu > li.acr.open > a:after {
  transform: rotate(0deg);
  transition: 0.5s;
}
nav#gnav ul.main_menu > li.acr > a:before {
  content: "";
  width: 20px;
  height: 1px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
  transition: 0.5s;
}
nav#gnav ul.main_menu > li.acr > a:after {
  content: "";
  width: 20px;
  height: 1px;
  position: absolute;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #fff;
  transform: rotate(90deg);
  transition: 0.5s;
}
nav#gnav .left_area .over_area {
  display: none;
}
nav#gnav .left_area .under_area {
  max-width: 335px;
  margin: 30px auto 0;
}

body.panel-open {
  overflow: hidden;
}

#mainvisual.home_head {
  width: 100%;
  position: relative;
}
#mainvisual.home_head h1 {
  position: absolute;
  top: 15%;
  margin: auto;
  z-index: 2;
  color: #fff;
  width: 90%;
  left: 0;
  right: 0;
}
#mainvisual.home_head h1 span {
  display: block;
}
#mainvisual.home_head h1 span.over_spell {
  font-size: 35px;
  font-size: 2.1875rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  line-height: 1.5;
  font-weight: normal;
}
#mainvisual.home_head h1 span.under_spell {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: bold;
  margin: 10px 0 0;
}
#mainvisual.home_head .visual_area {
  position: relative;
  overflow: hidden;
  background: #504084;
}
#mainvisual.home_head .visual_area:before {
  content: "";
  width: 100%;
  height: 60%;
  background: rgba(80, 64, 132, 0.6);
  transform: skewY(-15deg);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: -18% auto auto;
  z-index: 1;
}
#mainvisual.home_head .visual_area .slide_cont .slick-slide img {
  width: 100%;
}
#mainvisual.home_head .visual_area .slide_cont .slick-slide img.smart_hide {
  display: none;
}
#mainvisual.lower_head {
  width: 100%;
  position: relative;
  padding: 100px 0 75px;
  background-position: center center;
  background-size: cover;
}
#mainvisual.lower_head h1 {
  color: #fff;
  text-align: center;
}
#mainvisual.lower_head h1 span {
  display: block;
}
#mainvisual.lower_head h1 span.over_spell {
  font-size: 35px;
  font-size: 2.1875rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  line-height: 1.5;
  font-weight: normal;
}
#mainvisual.lower_head h1 span.under_spell {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: bold;
}
#mainvisual.lower_head.crosstalk_head {
  background: url(../jpg/head_crosstalk.jpg) no-repeat 45% center / cover;
}
#mainvisual.lower_head.interview_head {
  background-image: url(../jpg/head_interview.jpg);
}
#mainvisual.lower_head.dna_head {
  background-image: url(../jpg/head_dna.jpg);
}
#mainvisual.lower_head.faq_head {
  background-image: url(../jpg/head_faq.jpg);
}
#mainvisual.lower_head.recruit_head {
  background-image: url(../jpg/head_recruit.jpg);
}
#mainvisual.interview_low_head {
  width: 100%;
  position: relative;
}
#mainvisual.interview_low_head h1 {
  margin: auto;
  z-index: 2;
  width: 90%;
  left: 0;
  right: 0;
  bottom: 0;
  position: relative;
  margin: -100px auto 0;
}
#mainvisual.interview_low_head h1 span {
  display: table;
  font-size: 21px;
  font-size: 0.92rem;
  color: #fff;
  background: #504084;
  padding: 0 4px 2px;
  line-height: 1.5;
}
#mainvisual.interview_low_head h1 span:not(:first-child) {
  margin: 8px 0 0;
}
#mainvisual.interview_low_head .visual_lower {
  text-align: center;
  padding: 30px 0 35px;
}
#mainvisual.interview_low_head .visual_lower p.name {
  display: block;
  font-size: 10px;
  font-size: 0.625rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  color: #504084;
}
#mainvisual.interview_low_head .visual_lower p.name:first-line {
  font-family: "viga", sans-serif;
  font-display: swap;
  color: #504084;
  font-size: 19px;
  font-size: 1.1875rem;
  line-height: 1.5;
  letter-spacing: 0.3em;
}
#mainvisual.interview_low_head .visual_lower p.post {
  margin: 10px 0 0;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #575757;
}
#mainvisual.interview_low_head .visual_lower p.min_text {
  font-size: 10px;
  font-size: 0.625rem;
  margin: 10px 0 0;
}

@media screen and (min-width: 768px) {
	
header#masthead .head_belt {
	height: 69px;
}
  header#masthead .logo_area .logo a {
    padding: 0;
    margin: 20px 0 0;
	 transition:0;
  }
  header#masthead .head_belt.active .head_entry {
    margin: 0 70px 0 0;
  }
  header#masthead .head_belt .head_entry a {
    padding: 11px 20px 11px 11px;
  }
  header#masthead .head_belt .head_entry a:after {
    right: 12px;
  }
  header#masthead .head_belt .head_entry a span {
    display: block;
  }
  header#masthead .head_belt .head_entry a span.over_spell {
    transform: scale(1);
  }
  header#masthead .head_belt .head_entry a span.under_spell {
    margin: 5px 0 0;
    transform: scale(1);
  }

  #menu_toggle {
    width: 70px;
    padding: 22px;
  }
  #menu_toggle div {
    margin: 10px 0 25px;
  }
  nav#gnav ul.main_menu {
    max-width: 230px;
    margin: 15px 0;
  }
  nav#gnav ul.main_menu > li {
    margin: auto;
    position: relative;
    width: 100%;
  }
  nav#gnav ul.main_menu > li > a {
    font-size: 11px;
    font-size: 0.6875rem;
    padding: 0;
  }
  nav#gnav ul.main_menu > li > a:first-line {
    font-size: 20px;
    font-size: 1.25rem;
  }
  nav#gnav ul.main_menu > li:not(:first-child) {
    margin: 20px 0 0;
  }
  nav#gnav ul.main_menu > li .lv02 {
    margin: 10px 0px 20px;
  }
  nav#gnav ul.main_menu > li .lv02 > li a {
    padding: 3px 0 3px 10px;
    position: relative;
  }
  nav#gnav ul.main_menu > li .lv02 > li a:before {
    position: absolute;
    left: 0;
    top: auto;
    bottom: auto;
    margin: auto;
  }
  nav#gnav ul.main_menu > li.acr.open > a:before {
    content: none;
  }
  nav#gnav ul.main_menu > li.acr.open > a:after {
    transform: rotate(0deg);
    transition: 0.5s;
  }
  nav#gnav ul.main_menu > li.acr > a:before {
    right: 0px;
  }
  nav#gnav ul.main_menu > li.acr > a:after {
    right: 0px;
  }
  nav#gnav .lr_area {
    display: block;
    -js-display: flex;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    height: 100%;
  }
  nav#gnav .right_area {
    padding: 0 0 0 20px;
    border-left: 1px solid #fff;
  }
  nav#gnav .left_area {
    padding: 0 20px 0 0;
    order: -1;
  }
  nav#gnav .left_area .over_area {
    display: block;
  }
  nav#gnav .left_area .over_area p {
    color: #fff;
    text-align: right;
  }
  nav#gnav .left_area .over_area .nav_mds {
    font-family: "viga", sans-serif;
    font-display: swap;
    font-size: 34px;
    font-size: 2.125rem;
  }
  nav#gnav .left_area .over_area .nav_mds_min {
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
  }
  nav#gnav .left_area .under_area {
    max-width: inherit;
    margin: 30px auto 0;
  }
  nav#gnav .left_area .under_area p.btn {
    margin-right: 0;
  }

  #mainvisual.home_head h1 {
    top: 32%;
    width: 94%;
  }
  #mainvisual.home_head h1 span.over_spell {
    font-size: 40px;
    font-size: 2.5rem;
    line-height: 1.6;
  }
  #mainvisual.home_head h1 span.under_spell {
    font-size: 17px;
    font-size: 1.0625rem;
    margin: 10px 0 0;
  }
  #mainvisual.home_head .visual_area {
    position: relative;
    overflow: hidden;
    background: #504084;
  }
  #mainvisual.home_head .visual_area:before {
    width: 60%;
    height: 100%;
    transform: skew(-17deg, 0deg);
    top: 0;
    left: -10%;
    bottom: 0;
    right: auto;
    margin: 0;
  }
  #mainvisual.home_head .visual_area .slide_cont .slick-slide img {
    width: 100%;
  }
  #mainvisual.home_head .visual_area .slide_cont .slick-slide img.smart_hide {
    display: block;
  }
  #mainvisual.home_head .visual_area .slide_cont .slick-slide img.pc_hide {
    display: none;
  }
  #mainvisual.lower_head {
    padding: 150px 0 90px;
  }
  #mainvisual.lower_head h1 span.over_spell {
    font-size: 50px;
    font-size: 3.125rem;
    line-height: 1.5;
  }
  #mainvisual.lower_head h1 span.under_spell {
    font-size: 17px;
    font-size: 1.0625rem;
  }
  #mainvisual.interview_low_head {
    position: relative;
  }
  #mainvisual.interview_low_head h1 {
    width: 94%;
    max-width: 1200px;
    left: 0;
    right: 0;
    bottom: auto;
    top: 24%;
    position: absolute;
    margin: auto;
  }
  #mainvisual.interview_low_head h1 span {
    font-size: 26px;
    font-size: 1.625rem;
    background: #504084;
    padding: 0 5px 3px;
  }
  #mainvisual.interview_low_head h1 span:not(:first-child) {
    margin: 10px 0 0;
  }
  #mainvisual.interview_low_head .img img {
    width: 100%;
  }
  #mainvisual.interview_low_head .visual_lower {
    padding: 35px 0 35px;
  }
  #mainvisual.interview_low_head .visual_lower p.name {
    font-size: 11px;
    font-size: 0.6875rem;
  }
  #mainvisual.interview_low_head .visual_lower p.name:first-line {
    font-size: 22px;
    font-size: 1.375rem;
  }
  #mainvisual.interview_low_head .visual_lower p.post {
    margin: 15px 0 0;
    font-size: 12px;
    font-size: 0.75rem;
    line-height: 1.9;
  }
  #mainvisual.interview_low_head .visual_lower p.min_text {
    font-size: 11px;
    font-size: 0.6875rem;
    margin: 15px 0 0;
  }
}
@media screen and (min-width: 1024px) {
header#masthead .head_belt {
	height: 89px;
}
  header#masthead .logo_area .logo a {
    margin: 35px 0 0;
	  transition:0;
  }
  header#masthead .head_belt.active .head_entry {
    margin: 0 90px 0 0;
  }
  header#masthead .head_belt .head_entry a {
    padding: 20px 40px 20px 20px;
	height: 89px;
	 transition:0;
  }
  header#masthead .head_belt .head_entry a:after {
    right: 15px;
    width: 10px;
    height: 10px;
    border-right: 2px solid #504084;
    border-top: 2px solid #504084;
    transition: 0.2s;
  }
  header#masthead .head_belt .head_entry a:hover {
    background: #7d6dbc;
    color: #fff;
  }
  header#masthead .head_belt .head_entry a:hover:after {
    right: 13px;
    border-color: #fff;
  }
  header#masthead .head_belt .head_entry a span.under_spell {
    margin: 5px 0 0;
    font-weight: 500;
    line-height: 1.2;
  }

  #menu_toggle {
    width: 90px;
    padding: 32px 28px;
  }
  #menu_toggle div {
    margin: 10px 0 25px;
  }
  #menu_toggle div span:nth-child(2) {
    top: -11px;
  }
  #menu_toggle div span:nth-child(3) {
    top: 11px;
  }

  nav#gnav ul.main_menu {
    max-width: 236px;
    margin: 20px 0;
  }
  nav#gnav ul.main_menu > li > a:first-line {
    letter-spacing: 0.25em;
  }
  nav#gnav ul.main_menu > li:not(:first-child) {
    margin: 26px 0 0;
  }
  nav#gnav ul.main_menu > li .lv02 {
    margin: 12px 0px 30px;
  }
  nav#gnav ul.main_menu > li .lv02 > li {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  nav#gnav ul.main_menu > li .lv02 > li a {
    padding: 2px 0 2px 14px;
  }
  nav#gnav .right_area {
    padding: 0 0 0 35px;
  }
  nav#gnav .left_area {
    padding: 0 35px 0 0;
  }
  nav#gnav .left_area .over_area .nav_mds {
    font-size: 42px;
    font-size: 2.625rem;
    letter-spacing: 0.25em;
  }
  nav#gnav .left_area .over_area .nav_mds_min {
    font-size: 16px;
    font-size: 1rem;
  }
  nav#gnav .left_area .under_area {
    margin: 45px auto 0;
  }
  nav#gnav .left_area .under_area p.btn {
    max-width: 360px;
  }
  nav#gnav .left_area .under_area p.btn a {
    padding: 10px;
  }
  nav#gnav .left_area .under_area p.btn a span {
    font-size: 10px;
    font-size: 0.625rem;
  }
  nav#gnav .left_area .under_area p.btn a span:first-line {
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: normal;
  }
  nav#gnav .left_area .under_area p.btn a:after {
    width: 10px;
    height: 10px;
    right: 15px;
  }

  #mainvisual.home_head h1 {
    max-width: 1200px;
  }
  #mainvisual.home_head h1 span.over_spell {
    font-size: 55px;
    font-size: 3.4375rem;
    line-height: 1.6;
    letter-spacing: 0.2em;
  }
  #mainvisual.home_head h1 span.under_spell {
    font-size: 20px;
    font-size: 1.25rem;
    margin: 15px 0 0;
  }
  #mainvisual.lower_head {
    padding: 170px 0 130px;
  }
  #mainvisual.lower_head h1 span.over_spell {
    font-size: 60px;
    font-size: 3.75rem;
  }
  #mainvisual.lower_head h1 span.under_spell {
    font-size: 18px;
    font-size: 1.125rem;
  }
  #mainvisual.interview_low_head h1 {
    top: 23%;
  }
  #mainvisual.interview_low_head h1 span {
    font-size: 28px;
    font-size: 1.75rem;
    padding: 3px 8px 6px;
    letter-spacing: 0.2em;
  }
  #mainvisual.interview_low_head h1 span:not(:first-child) {
    margin: 15px 0 0;
  }
  #mainvisual.interview_low_head .visual_lower {
    padding: 25px 12px 20px 20px;
    position: absolute;
    bottom: -22%;
    text-align: left;
    background: #fff;
    left: 3%;
  }
  #mainvisual.interview_low_head .visual_lower p.name {
    font-size: 12px;
    font-size: 0.75rem;
  }
  #mainvisual.interview_low_head .visual_lower p.name:first-line {
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: 0.35em;
  }
  #mainvisual.interview_low_head .visual_lower p.post {
    margin: 15px 0 0;
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.9;
  }
  #mainvisual.interview_low_head .visual_lower p.min_text {
    font-size: 11px;
    font-size: 0.6875rem;
    margin: 10px 0 0;
  }
}
@media screen and (min-width: 1200px) {
header#masthead .head_belt {
  height: 99px;
  transition: 0;
}
  header#masthead .head_belt.active .head_entry {
    margin: 0 100px 0 0;
  }
  header#masthead .head_belt .head_entry a {
    padding: 17px 50px 17px 20px;
  height: 99px;
  }
  header#masthead .head_belt .head_entry a:after {
    right: 20px;
    width: 15px;
    height: 15px;
    border-right: 3px solid #504084;
    border-top: 3px solid #504084;
  }
  header#masthead .head_belt .head_entry a span.over_spell {
    font-size: 28px;
    font-size: 1.75rem;
  }
  header#masthead .head_belt .head_entry a span.under_spell {
    margin: 5px 0 0;
    font-weight: 600;
    line-height: 1.4;
  }

  #menu_toggle {
    width: 100px;
    padding: 37px 28px;
  }
  #mainvisual.home_head h1 {
    max-width: 1200px;
  }
  #mainvisual.home_head h1 span.over_spell {
    font-size: 70px;
    font-size: 4.375rem;
    line-height: 1.4;
    letter-spacing: 0.1em;
  }
  #mainvisual.home_head h1 span.under_spell {
    font-size: 26px;
    font-size: 1.625rem;
    margin: 38px 0 0;
    letter-spacing: 0.25em;
  }
  #mainvisual.lower_head {
    padding: 200px 0 160px;
  }
  #mainvisual.lower_head h1 span.over_spell {
    font-size: 70px;
    font-size: 4.375rem;
  }
  #mainvisual.lower_head h1 span.under_spell {
    font-size: 20px;
    font-size: 1.25rem;
  }
  #mainvisual.interview_low_head h1 {
    top: 35%;
  }
  #mainvisual.interview_low_head h1 span {
    font-size: 30px;
    font-size: 1.875rem;
    padding: 3px 8px 6px 12px;
  }
  #mainvisual.interview_low_head h1 span:not(:first-child) {
    margin: 20px 0 0;
  }
  #mainvisual.interview_low_head .visual_lower {
    padding: 30px 30px 30px 40px;
    position: absolute;
    bottom: -22%;
    text-align: left;
    background: #fff;
    left: 3%;
  }
  #mainvisual.interview_low_head .visual_lower p.name {
    font-size: 12px;
    font-size: 0.75rem;
  }
  #mainvisual.interview_low_head .visual_lower p.name:first-line {
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: 0.35em;
  }
  #mainvisual.interview_low_head .visual_lower p.post {
    margin: 22px 0 0;
    font-size: 13px;
    font-size: 0.8125rem;
    letter-spacing: 0.2em;
  }
  #mainvisual.interview_low_head .visual_lower p.min_text {
    font-size: 11px;
    font-size: 0.6875rem;
    margin: 15px 0 0;
  }
}
@media screen and (min-width: 1280px) {
  #mainvisual.interview_low_head h1 {
    top: 30%;
  }
  #mainvisual.interview_low_head .visual_lower {
    bottom: -80px;
    left: calc(50% - 600px);
  }
}
footer#colophon .column_flinks {
  background: #ebe8f7;
}
footer#colophon .column_flinks .inner {
}
footer#colophon .foot_info {
  padding: 45px 0;
  background: #404040;
  color: #fff;
}
footer#colophon .foot_info p.flogo {
  text-align: center;
  margin: auto;
}
footer#colophon .foot_info p.flogo img {
  width: 180px;
  display: table;
  margin: 0 auto 20px;
}
footer#colophon .foot_info p.flogo span {
  font-family: "viga", sans-serif;
  font-display: swap;
  font-size: 11px;
  font-size: 0.6875rem;
}
footer#colophon .foot_info .sub_txt ul {
	margin-top: 25px;
	border-bottom: solid 1px #ddd;
}
footer#colophon .foot_info .sub_txt ul li {
	border-top: solid 1px #ddd;
}
footer#colophon .foot_info .sub_txt ul li a {
	display: block;
	font-size: 12px;
	color: #fff;
	padding: 15px;
	background: url("../svg/ext_link_white.svg") no-repeat left center / 10px;;
}
footer#colophon .foot_info #copyright {
  font-size: 10px;
  font-size: 0.625rem;
  display: block;
  margin: 30px 0 0;
  text-align: center;
}

@media screen and (min-width: 1024px) {
  footer#colophon .column_flinks {
  }
  footer#colophon .column_flinks .inner {
  }
  footer#colophon .foot_info {
    padding: 30px 0;
  }
  footer#colophon .foot_info .inner {
    display: block;
    -js-display: flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  footer#colophon .foot_info p.flogo {
    text-align: left;
    margin: 0;
    display: block;
    -js-display: flex;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  footer#colophon .foot_info p.flogo img {
    width: 160px;
    margin: 0;
    margin: 0 15px 0 0;
  }
  footer#colophon .foot_info p.flogo span {
    line-height: 1.6;
    font-size: 12px;
    font-size: 0.75rem;
  }
  footer#colophon .foot_info .sub_txt ul {
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin-top: 0;
	  padding-bottom: 15px;
		  border-bottom: none;
  }
	  footer#colophon .foot_info .sub_txt ul li {
		  margin-right: 20px;
		  border-top: none;
	  }
	  footer#colophon .foot_info .sub_txt ul li:nth-last-child(1) {
		  margin-right: 0;
	  }
		  footer#colophon .foot_info .sub_txt ul li a {
			  letter-spacing: 0.1em;
			  padding: 0 0 0 15px;
		  }
  footer#colophon .foot_info #copyright {
    margin: 0;
    text-align: right;
  }
}
@media screen and (min-width: 1200px) {
  footer#colophon .column_flinks {
    background-size: cover;
  }
}
.column {
  margin: 0;
  padding: 30px 0;
}
.column.column00 {
  padding-top: 0px;
}

.row {
  margin: 35px 0 0;
}
.row.row00 {
  margin: 0;
}
.row.row_border {
  padding: 15px 0 0;
  margin: 15px 0 0;
}

.img_text .img_area,
.text_img .img_area {
  margin: 0 auto 20px;
}
.img_text .img_area p,
.text_img .img_area p {
  margin: 0;
  text-align: center;
}
.img_text:not(:first-child),
.text_img:not(:first-child) {
  margin: 20px 0 0;
}

h2 {
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: bold;
  margin: 0;
  line-height: 1.6;
}
h2 span.over_spell {
  display: block;
  font-size: 19px;
  font-size: 1.1875rem;
  font-weight: 500;
  letter-spacing: 0.2em;
}
h2 span.over_spell span {
  color: #504084;
}
h2 span.under_spell {
  font-size: 15px;
  font-size: 0.9375rem;
  letter-spacing: 0.2em;
  color: #504084;
}

h2.h2_mds {
  display: block;
  color: #504084;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
  text-align: center;
}
h2.h2_mds:first-line {
  font-size: 30px;
  font-size: 1.875rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  font-weight: normal;
}

h2.h2_mds_s {
  display: block;
  color: #504084;
}
h2.h2_mds_s span {
  display: block;
  text-align: center;
}
h2.h2_mds_s span.over_spell {
  font-size: 30px;
  font-size: 1.875rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  font-weight: normal;
}
h2.h2_mds_s span.under_spell {
  font-size: 12px;
  font-size: 0.75rem;
}

h2.h2_talk {
  text-align: center;
  font-size: 19px;
  font-size: 1.1875rem;
  letter-spacing: 0.04em;
  margin: 0 0 20px;
}

h2.h2_ja {
  text-align: center;
  font-size: 22px;
  font-size: 1.375rem;
}

h2.h2_double {
  text-align: center;
}
h2.h2_double span.over_spell {
  color: #504084;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
}
h2.h2_double span.under_spell {
  font-size: 14px;
  font-size: 0.875rem;
  color: #333;
  line-height: 1.6;
  margin: 8px 0 0;
  display: block;
}

h3 {
  line-height: 1.6;
  margin: 0;
  font-weight: 500;
  font-size: 17px;
  font-size: 1.0625rem;
  color: #504084;
}
h3 span {
  color: #333;
}

h3.h3_talk {
  position: relative;
  text-align: center;
  font-size: 18px;
  font-size: 1.125rem;
  font-weight: 600;
  color: #504084;
  padding: 0 0 30px;
}
h3.h3_talk:after {
  content: "";
  width: 1px;
  height: 15px;
  background: #504084;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
}

h3.h3_path {
  padding: 14px 0 0 34px;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 600;
  position: relative;
  letter-spacing: 0.06em;
  line-height: 1.5;
}
h3.h3_path:before {
  counter-increment: pathn 1;
  content: counter(pathn, decimal-leading-zero);
  font-size: 20px;
  font-size: 1.25rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  position: absolute;
  letter-spacing: 0.05em;
  left: 0;
  top: 0;
  color: #CAC6DA;
}
h3.h3_path:after {
  content: "";
  width: 1px;
  height: 40px;
  transform: rotate(45deg);
  background: #CAC6DA;
  left: 24px;
  top: 6px;
  position: absolute;
}

h3.text_sub_catch {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
}

h3.h3_side_sla {
  display: table;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
h3.h3_side_sla:before, h3.h3_side_sla:after {
  content: "";
  width: 37px;
  height: 43px;
  content: "";
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
h3.h3_side_sla:before {
  background-image: url(../sla_left.html);
  left: -45px;
}
h3.h3_side_sla:after {
  background-image: url(../sla_right.html);
  right: -45px;
}
h3.h3_side_sla span {
  display: block;
  text-align: center;
}
h3.h3_side_sla span.over_spell {
  font-size: 15px;
  font-size: 0.9375rem;
}
h3.h3_side_sla span.under_spell {
  color: #504084;
  font-size: 19px;
  font-size: 1.1875rem;
}

h4 {
  margin: 0;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 500;
  color: #504084;
}

p.text span {
  color: #504084;
}
p.text:not(:first-child) {
  margin: 15px 0 0;
}

p.min_text {
  font-size: 11px;
  font-size: 0.6875rem;
  margin: 8px 0 0;
}

p.sub_catch {
  font-size: 13px;
  font-size: 0.8125rem;
  text-align: center;
  letter-spacing: 0.2em;
  line-height: 2.2;
  font-weight: 500;
}

.divide {
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0;
}
.divide:not(:first-child) {
  margin: 20px 0 0;
}
.divide li:not(:first-child) {
  margin: 20px 0 0;
}
.divide.divide_2 li {
  width: 100%;
}
.divide.divide_3 li {
  width: 100%;
}
.divide.divide_4 li {
  width: 100%;
}
.divide.divide_5 li {
  width: 48%;
}

.divide_interview {
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
}
.divide_interview .box {
  width: 50%;
}
.divide_interview .box .img img {
  width: 100%;
}
.divide_interview .box .text {
  background: #fff;
  padding: 10px;
  margin: 0 0 15px;
}
.divide_interview .box .text .job {
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 700;
  color: #504084;
}
.divide_interview .box .text h3 {
  margin: 2px 0 0;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: 500;
  color: #212121;
}
.divide_interview .box .text p.hire {
  font-size: 11px;
  font-size: 0.6875rem;
}
.divide_interview:not(:first-child) {
  margin: 20px 0 0;
}

.divide_links li a {
  border: 2px solid #504084;
  background: #fff;
  color: #504084;
  position: relative;
  display: block;
  text-align: center;
  padding: 20px 0;
}
.divide_links li a:before {
  content: "";
  z-index: 1;
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.divide_links li a:after {
  content: "";
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-right: 20px solid #504084;
  border-bottom: 20px solid #504084;
  position: absolute;
  right: 0;
  bottom: 0;
}
.divide_links.divide_2 li a span {
  padding: 5px 0 0;
  font-size: 12px;
  font-size: 0.75rem;
  font-weight: 700;
  display: block;
}
.divide_links.divide_2 li a span:first-line {
  font-family: "viga", sans-serif;
  font-display: swap;
  font-weight: normal;
  font-size: 28px;
  font-size: 1.75rem;
}
.divide_links.divide_3 li {
  width: 49%;
}
.divide_links.divide_3 li a {
  border: 1px solid #504084;
  background: #fff;
}
.divide_links.divide_3 li a:before {
  bottom: 4px;
  right: 4px;
  width: 4px;
  height: 4px;
  transform: rotate(45deg);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
.divide_links.divide_3 li a:after {
  border: 10px solid transparent;
  border-right: 10px solid #504084;
  border-bottom: 10px solid #504084;
}
.divide_links.divide_3 li a span {
  display: block;
  font-size: 10px;
  font-size: 0.625rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.divide_links.divide_3 li a span:first-line {
  font-size: 16px;
  font-size: 1rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-display: swap;
  font-weight: bold;
  letter-spacing: 0.1em;
  display: block;
}
.divide_links.divide_3 li a span i.ext_links {
  display: inline-block;
  font-size: inherit;
  text-rendering: auto;
  width: 10px;
  margin: 0 0 0 2px;
  vertical-align: middle;
}
.divide_links.divide_3 li a span i.ext_links:before {
  content: url(../svg/ext_link.svg);
  color: #504084;
}
.divide_links.divide_3 li:not(:first-child) {
  margin: 0 0 0 2%;
}

.divide_box li {
  position: relative;
  background: #fff;
  padding: 30px;
  border: 1px solid #333;
}
.divide_box li:before {
  width: 100%;
  height: 100%;
  content: "";
  background: url(../box_shadow.html) repeat;
  position: absolute;
  bottom: -5px;
  left: 5px;
  z-index: -1;
}

.divide_int {
  margin: 30px 0 0;
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
}
.divide_int .box {
  width: 48%;
  margin: 0 1% 20px;
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.divide_int .box .text_box {
  background: #fff;
  padding: 10px;
  border-radius: 5px;
  width: 100%;
  height: calc(100% - 55px);
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
}
.divide_int .box .text_box p {
  width: 100%;
}
.divide_int .box .text_box p.min_text {
  font-size: 10px;
  font-size: 0.625rem;
  text-align: center;
  padding: 10px 0 0;
  letter-spacing: 0.01em;
  margin: auto 0 0;
}
.divide_int .box p.img {
  width: 100%;
  text-align: center;
  margin: 10px auto 0;
}
.divide_int .box p.img img {
  width: 45px;
}

.divide_effect .text_img {
  margin: 10px 0 0;
}

.divide_btns {
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
.divide_btns li {
  width: 48%;
  margin: 0 1%;
}

.full_img_area {
  width: 100%;
  height: 200px;
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.full_img_area.full_img_reason {
  background-image: url(../bg.html);
  background-size: cover;
}

@media screen and (min-width: 768px) {
  .column {
    padding: 60px 0;
  }
  .column.column00 {
    padding-top: 0px;
  }

  .row {
    margin: 45px 0 0;
  }
  .row.row00 {
    margin: 0;
  }
  .row.row_border {
    padding: 25px 0 0;
    margin: 25px 0 0;
  }

  .img_text,
.text_img {
    display: block;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .img_text .img_area,
.text_img .img_area {
    margin: 0;
    width: 50%;
  }
  .img_text .img_area p,
.text_img .img_area p {
    margin: 0;
    text-align: center;
  }
  .img_text .text_area,
.text_img .text_area {
    width: 46%;
  }
  .img_text.text_img .img_area,
.text_img.text_img .img_area {
    order: 1;
  }
  .img_text:not(:first-child),
.text_img:not(:first-child) {
    margin: 30px 0 0;
  }

  .lr_area {
    display: block;
    -js-display: flex;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  .lr_area .left_area {
    width: 50%;
  }
  .lr_area .right_area {
    width: 50%;
  }

  h2 {
    font-size: 19px;
    font-size: 1.1875rem;
    font-weight: bold;
    margin: 0;
    line-height: 1.6;
  }
  h2 span.over_spell {
    font-size: 24px;
    font-size: 1.5rem;
  }
  h2 span.under_spell {
    font-size: 15px;
    font-size: 0.9375rem;
  }

  h2.h2_mds {
    font-size: 13px;
    font-size: 0.8125rem;
  }
  h2.h2_mds:first-line {
    font-size: 34px;
    font-size: 2.125rem;
    letter-spacing: 0.1em;
  }

  h2.h2_mds_s span.over_spell {
    font-size: 34px;
    font-size: 2.125rem;
    letter-spacing: 0.1em;
  }
  h2.h2_mds_s span.under_spell {
    font-size: 13px;
    font-size: 0.8125rem;
  }

  h2.h2_talk {
    text-align: center;
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: 0.15em;
    margin: 0 0 30px;
  }

  h2.text_catch {
    font-size: 28px;
    font-size: 1.75rem;
    line-height: 1.6;
  }

  h2.h2_ja {
    font-size: 30px;
    font-size: 1.875rem;
  }

  h2.h2_double span.over_spell {
    font-size: 28px;
    font-size: 1.75rem;
  }
  h2.h2_double span.under_spell {
    font-size: 16px;
    font-size: 1rem;
    margin: 8px 0 0;
  }

  h3 {
    font-size: 22px;
    font-size: 1.375rem;
  }

  h3.h3_talk {
    font-size: 20px;
    font-size: 1.25rem;
    padding: 0 0 30px;
  }
  h3.h3_talk:after {
    height: 20px;
  }

  h3.h3_path {
    padding: 16px 0 0 38px;
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
  }
  h3.h3_path:before {
    font-size: 22px;
    font-size: 1.375rem;
  }
  h3.h3_path:after {
    height: 40px;
    left: 26px;
    top: 8px;
  }

  h3.h3_side_sla:before {
    left: -60px;
  }
  h3.h3_side_sla:after {
    right: -60px;
  }
  h3.h3_side_sla span.over_spell {
    font-size: 20px;
    font-size: 1.25rem;
  }
  h3.h3_side_sla span.under_spell {
    color: #504084;
    font-size: 24px;
    font-size: 1.5rem;
  }

  h4 {
    font-size: 18px;
    font-size: 1.125rem;
  }

  p.text {
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 2;
  }
  p.text:not(:first-child) {
    margin: 23px 0 0;
  }

  p.min_text {
    font-size: 12px;
    font-size: 0.75rem;
    margin: 8px 0 0;
  }

  p.sub_catch {
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 0.25em;
  }

  .divide:not(:first-child) {
    margin: 30px 0 0;
  }
  .divide li:not(:first-child) {
    margin: 30px 0 0;
  }
  .divide.divide_2 li {
    width: 100%;
  }
  .divide.divide_4 li {
    width: 48%;
    margin: 0px 4% 0 0;
  }
  .divide.divide_4 li:nth-child(2n) {
    margin: 0px 0 0;
  }
  .divide.divide_4 li:nth-child(3) {
    margin-top: 30px;
  }
  .divide.divide_4 li:nth-child(4) {
    margin-top: 30px;
  }
  .divide.divide_5 li {
    width: 48%;
  }

  .divide_interview .box {
    width: 25%;
  }
  .divide_interview .box .text {
    margin: 0 0 0;
  }
  .divide_interview:not(:first-child) {
    margin: 30px 0 0;
  }

  .divide_effect .text_img {
    margin: 15px 0 0;
  }

  .divide_links.divide_2 {
    display: block;
    -js-display: flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .divide_links.divide_2 li {
    width: 48%;
  }
  .divide_links.divide_2 li:not(:first-child) {
    margin: 0;
  }
  .divide_links.divide_3 li {
    width: 48%;
  }
  .divide_links.divide_3 li:not(:first-child) {
    margin: 0 0 0 4%;
  }
  .divide_links.divide_3 li a {
    border: 2px solid #504084;
  }
  .divide_links.divide_3 li a:before {
    bottom: 8px;
    right: 8px;
    width: 8px;
    height: 8px;
  }
  .divide_links.divide_3 li a:after {
    border: 20px solid transparent;
    border-right: 20px solid #504084;
    border-bottom: 20px solid #504084;
  }
  .divide_links.divide_3 li a span {
    padding: 5px 0 0;
    font-size: 12px;
    font-size: 0.75rem;
  }
  .divide_links.divide_3 li a span:first-line {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .divide_links.divide_3 li a span i.ext_links {
    width: 13px;
    margin: 0 0 0 4px;
  }

  .divide_int {
    margin: 30px 0 0;
  }
  .divide_int .box {
    width: 31%;
    margin: 0 1% 25px;
  }
  .divide_int .box .text_box {
    padding: 12px;
    border-radius: 6px;
    width: 100%;
    height: calc(100% - 75px);
  }
  .divide_int .box .text_box p.text {
    text-align: left;
  }
  .divide_int .box .text_box p.min_text {
    font-size: 11px;
    font-size: 0.6875rem;
    padding: 15px 0 0;
  }
  .divide_int .box p.img {
    margin: 15px auto 0;
  }
  .divide_int .box p.img img {
    width: 60px;
  }

  .full_img_area {
    height: 300px;
  }
}
@media screen and (min-width: 1024px) {
  .column {
    padding: 80px 0;
  }
  .column.column00 {
    padding-top: 0px;
  }

  .row {
    margin: 55px 0 0;
  }
  .row.row00 {
    margin: 0;
  }
  .row.row_border {
    padding: 25px 0 0;
    margin: 25px 0 0;
  }

  .img_text .img_area,
.text_img .img_area {
    margin: 0;
    width: 50%;
  }
  .img_text .img_area p,
.text_img .img_area p {
    margin: 0;
    text-align: center;
  }
  .img_text .text_area,
.text_img .text_area {
    width: 46%;
  }
  .img_text:not(:first-child),
.text_img:not(:first-child) {
    margin: 40px 0 0;
  }

  h2 {
    font-size: 26px;
    font-size: 1.625rem;
  }
  h2 span.over_spell {
    font-size: 30px;
    font-size: 1.875rem;
  }
  h2.h2_talk {
    margin: 0 0 40px;
    font-size: 38px;
    font-size: 2.375rem;
  }

  h2.h2_mds {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.7;
  }
  h2.h2_mds:first-line {
    font-size: 44px;
    font-size: 2.75rem;
    letter-spacing: 0.15em;
  }

  h2.h2_mds_s span.over_spell {
    font-size: 56px;
    font-size: 3.5rem;
    letter-spacing: 0.15em;
  }
  h2.h2_mds_s span.under_spell {
    font-size: 16px;
    font-size: 1rem;
  }

  h2.text_catch {
    font-size: 36px;
    font-size: 2.25rem;
    line-height: 1.5;
    letter-spacing: 0.25em;
  }

  h2.h2_ja {
    font-size: 40px;
    font-size: 2.5rem;
  }

  h2.h2_double span.over_spell {
    font-size: 38px;
    font-size: 2.375rem;
  }
  h2.h2_double span.under_spell {
    font-size: 18px;
    font-size: 1.125rem;
    margin: 12px 0 0;
  }

  h3 {
    font-size: 24px;
    font-size: 1.5rem;
  }

  h3.h3_talk {
    font-size: 28px;
    font-size: 1.75rem;
    padding: 0 0 50px;
  }
  h3.h3_talk:after {
    height: 30px;
  }

  h3.h3_path {
    padding: 16px 0 0 45px;
    font-size: 26px;
    font-size: 1.625rem;
    letter-spacing: 0.1em;
  }
  h3.h3_path:before {
    font-size: 24px;
    font-size: 1.5rem;
  }
  h3.h3_path:after {
    height: 48px;
    left: 30px;
    top: 8px;
  }

  h3.text_sub_catch {
    font-size: 18px;
    font-size: 1.125rem;
  }

  h3.h3_side_sla:before {
    left: -60px;
  }
  h3.h3_side_sla:after {
    right: -60px;
  }
  h3.h3_side_sla span.over_spell {
    font-size: 22px;
    font-size: 1.375rem;
  }
  h3.h3_side_sla span.under_spell {
    font-size: 26px;
    font-size: 1.625rem;
  }

  h4 {
    font-size: 20px;
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: 0.2em;
  }

  p.text {
    line-height: 1.8;
  }
  p.text:not(:first-child) {
    margin: 20px 0 0;
  }

  p.min_text {
    font-size: 12px;
    font-size: 0.75rem;
    margin: 12px 0 0;
  }

  p.sub_catch {
    font-size: 16px;
    font-size: 1rem;
    line-height: 2.4;
  }

  .divide:not(:first-child) {
    margin: 35px 0 0;
  }
  .divide li:not(:first-child) {
    margin: 0px 0 0;
  }
  .divide.divide_2 li {
    width: 48%;
    margin: 0px 4% 0px 0;
  }
  .divide.divide_2 li:nth-child(2n) {
    margin: 0;
  }
  .divide.divide_4 li {
    width: 20%;
    margin: 0 6.5% 0 0;
  }
  .divide.divide_4 li:nth-child(2), .divide.divide_4 li:nth-child(3) {
    margin-top: 0px;
    margin: 0 6.5% 0 0;
  }
  .divide.divide_4 li:nth-child(4) {
    margin-top: 0px;
    margin: 0 0 0 0;
  }
  .divide.divide_5 li {
    width: 48%;
  }

  .divide_box li {
    padding: 45px;
  }
  .divide_interview .box:nth-child(2) {
    margin-top: 30px;
  }
  .divide_interview .box:nth-child(3) {
    margin-top: 60px;
  }
  .divide_interview .box:nth-child(4) {
    margin-top: 90px;
  }
  .divide_interview .box a:hover img {
    transform: scale(1.05);
  }
  .divide_interview .box a:hover .text:before {
    right: 6px;
  }
  .divide_interview .box .img {
    overflow: hidden;
  }
  .divide_interview .box .img img {
    transition: 0.3s;
  }
  .divide_interview .box .text {
    padding: 18px 20px;
    margin: 0 0 0 auto;
    max-width: 310px;
    position: relative;
  }
  .divide_interview .box .text:before {
    content: "";
    z-index: 1;
    position: absolute;
    top: -16px;
    right: 8px;
    width: 8px;
    height: 8px;
    transform: rotate(45deg);
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transition: 0.2s;
  }
  .divide_interview .box .text:after {
    content: "";
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-right: 20px solid #504084;
    border-bottom: 20px solid #504084;
    position: absolute;
    right: 0;
    top: -40px;
  }
  .divide_interview .box .text .job {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .divide_interview .box .text h3 {
    font-size: 16px;
    font-size: 1rem;
  }
  .divide_interview .box .text p.hire {
    font-size: 11px;
    font-size: 0.6875rem;
  }
  .divide_interview:not(:first-child) {
    margin: 35px 0 0;
  }

  .divide_links li a {
    padding: 30px 0;
    overflow: hidden;
  }
  .divide_links li a span {
    z-index: 1;
    position: relative;
  }
  .divide_links li a:before {
    transition: 0.2s;
  }
  .divide_links li a:after {
    transition: 0.5s;
  }
  .divide_links li a:hover {
    color: #fff;
  }
  .divide_links li a:hover:before {
    right: 6px;
  }
  .divide_links li a:hover:after {
    width: 100%;
    height: 100%;
    background: #504084;
    border: none;
    transition: 0.3s;
  }
  .divide_links.divide_2 li a span {
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.2;
    padding: 0;
  }
  .divide_links.divide_2 li a span:first-line {
    font-size: 44px;
    font-size: 2.75rem;
    letter-spacing: 0.18em;
  }
  .divide_links.divide_3 li a span {
    padding: 0 0;
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 0.16em;
    line-height: 1.5;
  }
  .divide_links.divide_3 li a span:first-line {
    font-size: 24px;
    font-size: 1.5rem;
    letter-spacing: 0.15em;
  }
  .divide_links.divide_3 li a span i.ext_links {
    width: 14px;
  }
  .divide_int {
    margin: 35px 0 0;
  }
  .divide_int .box {
    width: 31%;
    margin: 0 1% 25px;
  }
  .divide_int .box .text_box {
    padding: 20px;
    border-radius: 10px;
    height: calc(100% - 110px);
    position: relative;
  }
  .divide_int .box .text_box p.min_text {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .divide_int .box .text_box:after {
    position: absolute;
    width: 0;
    height: 0;
    content: "";
    border: 10px solid transparent;
    border-top-color: #fff;
    bottom: -20px;
    left: 0;
    right: 0;
    margin: auto;
  }
  .divide_int .box p.img {
    margin: 20px auto 0;
  }
  .divide_int .box p.img img {
    width: 90px;
  }

  .full_img_area {
    height: 450px;
    background-attachment: fixed;
  }
}
@media screen and (min-width: 1200px) {
  p.sub_catch {
    font-size: 18px;
    font-size: 1.125rem;
  }

  .divide_interview .box .text {
    padding: 25px 30px;
    transform: translateY(-50px);
  }
  .divide_interview .box .text .job {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .divide_interview .box .text h3 {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .divide_interview .box .text p.hire {
    font-size: 12px;
    font-size: 0.75rem;
  }
  .divide_interview:not(:first-child) {
    margin: 35px 0 0;
  }

  h3.h3_path {
    font-size: 28px;
    font-size: 1.75rem;
    letter-spacing: 0.16em;
  }
  h3.h3_path:before {
    font-size: 24px;
    font-size: 1.5rem;
  }
}
/* home
---------------------------------------------- */
@keyframes rolltext {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
#home {
  overflow: hidden;
}
#home .column01 {
  background: #504084;
  padding-bottom: 0;
}
#home .column01 p {
  color: #fff;
}
#home .column01 .roll_text {
  margin: 20px 0 0;
  width: 100%;
  overflow: hidden;
}
#home .column01 .roll_text p {
  font-family: "viga", sans-serif;
  font-display: swap;
  color: #423873;
  font-size: 170px;
  font-size: 10.625rem;
  margin: 0;
  line-height: 1;
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  letter-spacing: 0.15em;
  animation: rolltext 40s linear infinite;
}
#home .column02 {
  padding: 0;
}
#home .column02 .lr_area div a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  position: relative;
}
#home .column02 .lr_area div a:before {
  content: "";
  z-index: 1;
  position: absolute;
  bottom: 8px;
  right: 8px;
  width: 8px;
  height: 8px;
  transform: rotate(45deg);
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
}
#home .column02 .lr_area div a:after {
  content: "";
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-right: 20px solid #504084;
  border-bottom: 20px solid #504084;
  position: absolute;
  right: 0;
  bottom: 0;
}
#home .column02 .lr_area div a span {
  position: absolute;
  top: auto;
  bottom: auto;
  left: 0;
  right: 0;
  margin: auto;
  text-align: center;
  font-size: 12px;
  font-size: 0.75rem;
  position: absolute;
  line-height: 1.5;
}
#home .column02 .lr_area div a span:first-line {
  font-size: 30px;
  font-size: 1.875rem;
  font-family: "viga", sans-serif;
  font-display: swap;
}
#home .column02 .lr_area div a img {
  width: 100%;
}

#crosstalk {
  counter-reset: numb 0;
}
#crosstalk .column01 {
  background: #504084;
}
#crosstalk .column01 p.sub_catch {
  color: #fff;
  text-align: left;
}
#crosstalk .divide_prof .box {
  display: block;
  -js-display: flex;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
#crosstalk .divide_prof .box:not(:first-child) {
  margin: 30px 0 0;
}
#crosstalk .divide_prof .box .img_area {
  width: 40%;
}
#crosstalk .divide_prof .box .text_area {
  width: 56%;
}
#crosstalk .divide_prof .box .text_area p.name {
  display: block;
  font-size: 10px;
  font-size: 0.625rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  color: #504084;
}
#crosstalk .divide_prof .box .text_area p.name:first-line {
  font-size: 18px;
  font-size: 1.125rem;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  font-display: swap;
  font-weight: 500;
  color: #504084;
  line-height: 1.5;
}
	#crosstalk .divide_prof .box .text_area p.name .rw {
		background: #ef8b1e;
		color: #fff;
		padding: 0 5px;
	}
	#crosstalk .divide_prof .box .text_area p.name .ns {
		background: #84be3f;
		color: #fff;
		padding: 0 5px;
	}
	#crosstalk .divide_prof .box .text_area p.name .th {
		background: #8377a8;
		color: #fff;
		padding: 0 5px;
	}
#crosstalk .divide_prof .box .text_area p.post {
  font-size: 11px;
  font-size: 0.6875rem;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #575757;
}
#crosstalk .column_talk {
  position: relative;
}
#crosstalk .column_talk:before {
  counter-increment: numb 1;
  content: "TALKTHEME." counter(numb, decimal-leading-zero);
  background: #504084;
  color: #fff;
  padding: 4px 0 3px;
  position: absolute;
  left: 0;
  right: 0;
  line-height: 1;
  margin: auto;
  font-size: 11px;
  font-size: 0.6875rem;
  top: -9px;
  width: 110px;
  font-family: "viga", sans-serif;
  font-display: swap;
  letter-spacing: 0.15em;
  text-align: center;
}
#crosstalk .column_talk:after {
  content: "";
  background: #EDEDED;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 135px;
  position: absolute;
  z-index: -1;
}
#crosstalk .column_talk p.talk_text {
  display: block;
  -js-display: flex;
  display: flex;
  align-items: flex-start;
}
#crosstalk .column_talk p.talk_text:not(:first-child) {
  margin: 20px 0 0;
}
#crosstalk .column_talk p.talk_text span {
  display: table;
  color: #fff;
  position: relative;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 0.3em;
  width: 50px;
  text-align: center;
  font-weight: 500;
  padding: 2px 0 3px 1px;
  margin: 0 20px 0 0;
}
#crosstalk .column_talk p.talk_text span.rw {
  background: #ef8b1e;
}
#crosstalk .column_talk p.talk_text span.ns {
  background: #84be3f;
}
#crosstalk .column_talk p.talk_text span.th {
  background: #8377a8;
}
#crosstalk .column_talk p.talk_text span:after {
  content: "";
  width: 0;
  height: 0;
  border: 4px solid transparent;
  transform: rotate(45deg);
  position: absolute;
  right: -4px;
  top: 0;
  bottom: 0;
  margin: auto;
}
#crosstalk .column_talk p.talk_text span.rw:after {
  border-top-color: #ef8b1e;
  border-right-color: #ef8b1e;
}
#crosstalk .column_talk p.talk_text span.ns:after {
  border-top-color: #84be3f;
  border-right-color: #84be3f;
}
#crosstalk .column_talk p.talk_text span.th:after {
  border-top-color: #8377a8;
  border-right-color: #8377a8;
}
#crosstalk .column05 {
  background: #EDEDED;
}
#crosstalk .column05 .row00 {
  padding: 15px;
  border: 1px solid #504084;
  background: #fff;
}
#crosstalk .column05 .row00 p.imgs {
  display: block;
  -js-display: flex;
  display: flex;
  height: auto;
  align-items: flex-start;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin: 13px 0 0;
}
#crosstalk .column05 .row00 p.imgs img {
  width: 48%;
 height: auto;
}

#interview .inner {
  width: 100%;
}
#interview .divide_interview .box .img img {
  object-fit: cover;
  width: 50vw;
  height: 55vw;
}

#interview_low .column01 {
  background: #504084;
  color: #fff;
}
#interview_low .column01 h2 {
  text-align: center;
  font-family: "viga", sans-serif;
  font-display: swap;
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: normal;
}
#interview_low .column01 .path_box {
  position: relative;
  margin: 20px auto 0;
  padding: 0 0 0 28px;
  overflow: hidden;
}
#interview_low .column01 .path_box:before {
  position: absolute;
  content: "";
  left: 7px;
  bottom: 0;
  top: 9px;
  height: 100%;
  width: 1px;
  background: rgba(255, 255, 255, 0.3);
}
#interview_low .column01 .path_box:after {
  content: "";
  position: absolute;
  left: 0px;
  width: 15px;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  bottom: 0;
}
#interview_low .column01 .path_box dl dt {
  font-size: 15px;
  font-size: 0.9375rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  position: relative;
}
#interview_low .column01 .path_box dl dt:before {
  content: "";
  position: absolute;
  left: -28px;
  width: 15px;
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
  top: 0;
  bottom: 0;
  margin: auto;
}
#interview_low .column01 .path_box dl dd {
  font-size: 12px;
  font-size: 0.75rem;
  margin: 5px 0 10px;
  line-height: 1.7;
}
#interview_low .column01 .path_box dl:not(:first-child) {
  margin: 30px 0 0;
}
#interview_low .column02 .row {
  counter-reset: pathn 0;
}
#interview_low .column02 .img_text .img_area,
#interview_low .column02 .text_img .img_area {
  margin: 20px 0 0;
}
#interview_low .column02 .img_text:not(:first-child),
#interview_low .column02 .text_img:not(:first-child) {
  margin: 40px 0 0;
}
#interview_low .column02 .bg_c_box {
  padding: 25px;
  background: #504084;
  color: #fff;
}
#interview_low .column02 .bg_c_box h3 {
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: 600;
  color: #fff;
  margin: 0 0 20px;
}
#interview_low .column02 .bg_c_box .img_area {
  margin: 20px 0 0;
}
#interview_low .column02 .bg_c_box .img_area p {
  text-align: center;
}

#dna .column01 {
  background: #504084;
  color: #fff;
}
#dna .column01 h2.h2_line {
  text-align: center;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.8;
  padding: 0 0 40px;
  margin: 0 auto 20px;
  position: relative;
}
#dna .column01 h2.h2_line:after {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  left: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url(../png/line_sla.png);
  width: 100%;
  height: 22px;
}
#dna .column01 p.sub_catch {
  text-align: left;
}
#dna .column04 {
  background: url("../jpg/bg_recommend_sp.jpg") no-repeat center / cover;
}
#dna .column04 h2 {
  text-align: center;
  color: #fff;
  font-size: 22px;
  font-size: 1.375rem;
  font-weight: bold;
}
#dna .column04 p.sub_catch {
  text-align: center;
  color: #fff;
  margin: 30px auto 25px;
}
#dna .column_latd .row,
#dna .column_qan .row {
  margin: 50px 0 0;
}
#dna .column_latd h3,
#dna .column_qan h3 {
  text-align: center;
  font-weight: bold;
  color: #333;
  font-size: 20px;
  font-size: 1.25rem;
  letter-spacing: 0.1em;
  padding: 30px 0 0;
  position: relative;
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 100%;
}
#dna .column_latd h3:before,
#dna .column_qan h3:before {
  background: #504084;
  font-size: 11px;
  font-size: 0.6875rem;
  font-weight: normal;
  font-family: "viga", sans-serif;
  font-display: swap;
  color: #fff;
  padding: 2px 4px;
  position: absolute;
  top: 0;
  display: table;
  margin: auto;
}
#dna .column_latd p.text:not(:first-child),
#dna .column_qan p.text:not(:first-child) {
  margin: 20px 0 0;
}
#dna .column_latd p.img,
#dna .column_qan p.img {
  text-align: center;
}
#dna .column_latd p.img:not(:first-child),
#dna .column_qan p.img:not(:first-child) {
  margin: 20px 0 0;
}
#dna .column_latd p.min_text,
#dna .column_qan p.min_text {
  margin: 0;
}
#dna .column_latd {
  counter-reset: latd 0;
}
#dna .column_latd h3:before {
  counter-increment: latd 1;
  content: "LOOKING AT THE DATA." counter(latd, decimal-leading-zero);
}
#dna .column_latd .row03 p, #dna .column_latd .row03 h3 {
  position: relative;
}
#dna .column_qan {
  counter-reset: qan 0;
  background: #F5F5F5;
}
#dna .column_qan h3:before {
  counter-increment: qan 1;
  content: "QUESTIONNAIRE." counter(qan, decimal-leading-zero);
}
#dna ul.ul_graph {
  display: block;
  -js-display: flex;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}
#dna ul.ul_graph.ul_graph02 li {
  width: 100%;
}
#dna ul.ul_graph li {
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: bold;
  width: 50%;
  position: relative;
  margin: 3px 0;
}
#dna ul.ul_graph li:before {
  content: "■";
  font-size: 10px;
  font-size: 0.625rem;
  padding: 0 10px 0 0;
}
#dna ul.ul_graph li.li01:before {
  color: #504084;
}
#dna ul.ul_graph li.li02:before {
  color: #58B7D3;
}
#dna ul.ul_graph li.li03:before {
  color: #EE7539;
}
#dna ul.ul_graph li.li04:before {
  color: #F95C5C;
}
#dna ul.ul_graph li.li05:before {
  color: #FFCC0E;
}
#dna ul.ul_graph li.li06:before {
  color: #86C03F;
}
#dna ul.ul_graph li.li07:before {
  color: #D3DA21;
}
#dna ul.ul_graph li.li08:before {
  color: #fff;
}

#dna ul.ul_graph02 li.li01:before {
  color: #504084;
}
#dna ul.ul_graph02 li.li02:before {
  color: #58B7D3;
}
#dna ul.ul_graph02 li.li03:before {
  color: #EE7539;
}
#dna ul.ul_graph02 li.li04:before {
  color: #D3DA21;
}
#dna ul.ul_graph02 li.li05:before {
  color: #FFCC0E;
}
#dna ul.ul_graph02 li.li06:before {
  color: #F95C5C;
}
#dna ul.ul_graph02 li.li07:before {
  color: #fff;
}
#dna ul.ul_graph li span {
  font-size: 21px;
  font-size: 1.3125rem;
  font-family: "viga", sans-serif;
  font-display: swap;
  font-weight: normal;
}
#dna ul.ul_graph li span small {
  font-size: 14px;
  font-size: 0.875rem;
}
#dna ul.ul_rank {
  margin: 20px 0 0;
}
#dna ul.ul_rank li {
  margin: 5px 0 0;
  font-weight: bold;
  border-radius: 5px;
  background: #fff;
  font-size: 14px;
  font-size: 0.875rem;
  padding: 13px;
}
#dna ul.ul_rank li span {
  color: #504084;
  margin: 0 13px 0 0;
}
#dna .box_int {
  display: block;
  -js-display: flex;
  display: flex;
  justify-content: space-between;
  margin: 20px 0 0;
}
#dna .box_int .img {
  width: 70px;
}
#dna .box_int .text_box {
  width: calc(100% - 80px);
}
#dna .box_int .text_box p.text .bgc {
  background: #504084;
  color: #fff;
  display: table;
  font-size: 10px;
  font-size: 0.625rem;
  padding: 0px 4px;
  margin: 0 0 3px;
}
#dna .box_int .text_box p.text .mint {
  color: #333;
  font-size: 11px;
  font-size: 0.6875rem;
}
#dna .box_int .text_box p.min_text {
  margin: 5px 0 0;
}

#recruit dl.dl_recruit {
  margin: 20px auto 0;
}
#recruit dl.dl_recruit dt {
  font-size: 15px;
  font-size: 0.9375rem;
  padding: 10px 10px 0;
  color: #504084;
  line-height: 1.8;
}
#recruit dl.dl_recruit dt:nth-of-type(2n+1) {
  background: rgba(80, 64, 132, 0.1);
}
#recruit dl.dl_recruit dd {
  font-size: 13px;
  font-size: 0.8125rem;
  padding: 5px 10px 10px;
  line-height: 1.8;
}
#recruit dl.dl_recruit dd .min_text {
  font-size: 11px;
  font-size: 0.6875rem;
}
#recruit dl.dl_recruit dd a {
  color: #504084;
  text-decoration: underline;
}
#recruit dl.dl_recruit dd:nth-of-type(2n+1) {
  background: rgba(80, 64, 132, 0.1);
}
#recruit dl.dl_process {
  margin: 20px auto 0;
}
#recruit dl.dl_process dt {
  background: #504084;
  color: #fff;
  font-family: "viga", sans-serif;
  font-display: swap;
  font-size: 15px;
  font-size: 0.9375rem;
  text-align: center;
  padding: 13px;
  font-weight: normal;
}
#recruit dl.dl_process dd {
  padding: 16px;
  text-align: center;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 500;
  background: rgba(80, 64, 132, 0.1);
  position: relative;
  margin: 0 0 40px;
}
#recruit dl.dl_process dd:after {
  content: "";
  width: 10px;
  height: 20px;
  background: url(../png/ico_arrow.png);
  position: absolute;
  left: 0;
  right: 0;
  bottom: -30px;
  margin: auto;
  background-size: contain;
}
#recruit p.process_goal {
  font-size: 16px;
  font-size: 1rem;
  background: #504084;
  padding: 20px;
  color: #fff;
  text-align: center;
  font-weight: 500;
  margin: 0 0 10px;
}

#faq dl.dl_faq {
  margin: 20px auto 0;
}
#faq dl.dl_faq dt {
  padding: 14px 45px 14px 14px;
  background: rgba(80, 64, 132, 0.1);
  font-size: 15px;
  font-size: 0.9375rem;
  line-height: 1.4;
  color: #504084;
  font-weight: 500;
  position: relative;
}
#faq dl.dl_faq dt span {
  position: relative;
  padding: 0 0 0 25px;
  text-indent: -1.6em;
  display: block;
}
#faq dl.dl_faq dt span:before {
  content: "Q.";
  color: #504084;
  font-family: "viga", sans-serif;
  font-display: swap;
  font-size: 20px;
  font-size: 1.25rem;
}
#faq dl.dl_faq dt:not(:first-child) {
  margin: 10px 0 0;
}
#faq dl.dl_faq dt:before {
  content: "";
  width: 15px;
  height: 1px;
  background: #504084;
  position: absolute;
  right: 15px;
  top: 28px;
  transition: 0.3s;
}
#faq dl.dl_faq dt:after {
  content: "";
  width: 1px;
  height: 15px;
  background: #504084;
  position: absolute;
  right: 22px;
  top: 21px;
  transition: 0.3s;
}
#faq dl.dl_faq dt.active:before {
  content: none;
}
#faq dl.dl_faq dt.active:after {
  transform: rotate(90deg);
}
#faq dl.dl_faq dd {
  background: rgba(80, 64, 132, 0.1);
  font-size: 13px;
  font-size: 0.8125rem;
  line-height: 1.4;
  padding: 0 14px 14px 39px;
  text-indent: -1.8em;
  display: none;
}
#faq dl.dl_faq dd a {
  color: #504084;
  text-decoration: underline;
}
#faq dl.dl_faq dd:before {
  content: "A.";
  color: rgba(80, 64, 132, 0.6);
  font-family: "viga", sans-serif;
  font-display: swap;
  font-size: 20px;
  font-size: 1.25rem;
}

@media screen and (min-width: 768px) {
  /* home
  ---------------------------------------------- */
  #home .column01 {
    position: relative;
    padding: 60px 0;
  }
  #home .column01 .inner {
    position: relative;
    z-index: 1;
  }
  #home .column01 .roll_text {
    position: absolute;
    left: 0;
    right: 0;
    margin: 0;
    top: 0;
    bottom: 0;
    display: block;
    -js-display: flex;
    display: flex;
    align-items: center;
  }
  #home .column01 .roll_text p {
    font-size: 200px;
    font-size: 12.5rem;
    letter-spacing: 0.18em;
  }
  #home .column02 .lr_area div a:after {
    border: 20px solid transparent;
    border-right: 20px solid #504084;
    border-bottom: 20px solid #504084;
  }
  #home .column02 .lr_area div a span {
    font-weight: 500;
  }
  #home .column02 .lr_area div a span:first-line {
    font-weight: normal;
  }

  #crosstalk .column01 p.sub_catch {
    text-align: center;
  }
  #crosstalk .divide_prof .box {
    width: 31%;
    flex-direction: column;
    justify-content: flex-start;
  }
  #crosstalk .divide_prof .box:not(:first-child) {
    margin: 0 0 0 2%;
  }
  #crosstalk .divide_prof .box .img_area {
    width: 100%;
  }
  #crosstalk .divide_prof .box .text_area {
    width: 100%;
    text-align: center;
    margin: 15px 0 0;
  }
  #crosstalk .divide_prof .box .text_area p.post {
    margin: 10px 0 0;
  }
  #crosstalk .column_talk {
    padding: 40px 0 70px;
  }
  #crosstalk .column_talk:before {
    padding: 4px 0 3px;
    font-size: 12px;
    font-size: 0.75rem;
    top: -9px;
    width: 120px;
  }
  #crosstalk .column_talk:after {
    height: 220px;
  }
  #crosstalk .column_talk p.talk_text:not(:first-child) {
    margin: 25px 0 0;
  }
  #crosstalk .column_talk p.talk_text span {
    font-size: 12px;
    font-size: 0.75rem;
    width: 50px;
    padding: 2px 0 3px 1px;
    margin: 0 20px 0 0;
  }
  #crosstalk .column05 .row00 {
    padding: 25px;
  }
  #crosstalk .column05 .row00 p.imgs {
    margin: 20px 0 0;
  }
  #crosstalk .column05 .row01 {
    margin: 50px auto 0;
  }

  #interview .inner {
    width: 94%;
    max-width: 1200px;
  }
  #interview .divide_interview .box {
    width: 47%;
  }
  #interview .divide_interview .box:nth-child(2n) {
    margin-left: 6%;
  }
  #interview .divide_interview .box:nth-child(2) {
    margin-top: 0;
  }
  #interview .divide_interview .box:not(:nth-child(1)):not(:nth-child(2)) {
    margin-top: 30px;
  }
  #interview .divide_interview .box .img img {
    width: 100%;
    height: auto;
  }

  #interview_low .column01 h2 {
    font-size: 40px;
    font-size: 2.5rem;
  }
  #interview_low .column01 .path_box {
    margin: 30px auto 0;
    display: table;
  }
  #interview_low .column01 .path_box dl dt {
    font-size: 18px;
    font-size: 1.125rem;
  }
  #interview_low .column01 .path_box dl dd {
    font-size: 14px;
    font-size: 0.875rem;
    margin: 10px 0 15px;
    line-height: 1.8;
  }
  #interview_low .column02 .img_text .img_area, #interview_low .column02 .img_text .text_area,
#interview_low .column02 .text_img .img_area,
#interview_low .column02 .text_img .text_area {
    width: 100%;
  }
  #interview_low .column02 .img_text .img_area,
#interview_low .column02 .text_img .img_area {
    margin: 30px 0 0;
  }
  #interview_low .column02 .img_text:not(:first-child),
#interview_low .column02 .text_img:not(:first-child) {
    margin: 60px 0 0;
  }
  #interview_low .column02 .bg_c_box {
    padding: 45px;
    display: block;
    -js-display: flex;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  #interview_low .column02 .bg_c_box h3 {
    font-size: 25px;
    font-size: 1.5625rem;
    margin: 0 0 25px;
  }
  #interview_low .column02 .bg_c_box .text_area {
    width: calc(100% - 250px);
    padding: 0 20px 0 0;
  }
  #interview_low .column02 .bg_c_box .img_area {
    width: 250px;
    margin: 0;
  }
  #interview_low .column02 .bg_c_box .img_area p {
    text-align: center;
  }

  #dna .column01 h2.h2_line {
    font-size: 26px;
    font-size: 1.625rem;
    padding: 0 0 60px;
    margin: 0 auto 30px;
  }
  #dna .column01 h2.h2_line:after {
    width: 100%;
    height: 22px;
  }
  #dna .column01 p.sub_catch {
    text-align: center;
  }
#dna .column04 {
  background: url("../jpg/bg_recommend.jpg") no-repeat center / cover;
}
  #dna .column04 h2 {
    font-size: 30px;
    font-size: 1.875rem;
  }
  #dna .column04 p.sub_catch {
    margin: 30px auto 25px;
  }
  #dna .column_latd .row,
#dna .column_qan .row {
    margin: 60px 0 0;
  }
  #dna .column_latd h3,
#dna .column_qan h3 {
    font-size: 28px;
    font-size: 1.75rem;
    padding: 35px 0 0;
  }
  #dna .column_latd h3:before,
#dna .column_qan h3:before {
    font-size: 12px;
    font-size: 0.75rem;
    padding: 3px 5px;
  }
  #dna .column_latd p.text:not(:first-child),
#dna .column_qan p.text:not(:first-child) {
    margin: 28px 0 0;
  }
  #dna .column_latd p.img:not(:first-child),
#dna .column_qan p.img:not(:first-child) {
    margin: 28px 0 0;
  }
  #dna .column_latd p.min_text,
#dna .column_qan p.min_text {
    text-align: center;
  }
  #dna .column_latd .row02 p.img img {
    padding: 0 24% 0 0;
  }
  #dna .column_qan .row01 .img_area {
    width: 40%;
  }
  #dna .column_qan .row01 .text_area {
    width: 56%;
  }
  #dna .column_qan .row01 .text_area .text {
    text-align: left;
  }
  #dna .column_qan .row04 .img_area {
    width: 40%;
  }
  #dna .column_qan .row04 .text_area {
    width: 56%;
  }
  #dna .column_qan .row04 .text_area .text {
    text-align: left;
  }
  #dna ul.ul_rank {
    margin: 28px 0 0;
  }
  #dna ul.ul_rank li {
    margin: 10px 0 0;
    border-radius: 6px;
    font-size: 16px;
    font-size: 1rem;
    padding: 15px 25px;
  }
  #dna ul.ul_rank li span {
    color: #504084;
    margin: 0 20px 0 0;
  }
  #dna .box_int {
    margin: 26px 0 0;
  }
  #dna .box_int .img {
    width: 90px;
  }
  #dna .box_int .text_box {
    width: calc(100% - 110px);
  }
  #dna .box_int .text_box p.text {
    text-align: left;
  }
  #dna .box_int .text_box p.text .bgc {
    font-size: 12px;
    font-size: 0.75rem;
    margin: 0 0 6px;
  }
  #dna .box_int .text_box p.text .mint {
    font-size: 12px;
    font-size: 0.75rem;
  }
  #dna .box_int .text_box p.min_text {
    margin: 5px 0 0;
    text-align: left;
  }

  #recruit dl.dl_recruit {
    margin: 30px auto 0;
    display: block;
    -js-display: flex;
    display: flex;
    flex-wrap: wrap;
  }
  #recruit dl.dl_recruit dt {
    width: 185px;
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 20px 30px;
    color: #504084;
    line-height: 1.8;
    font-weight: 500;
    display: block;
    -js-display: flex;
    display: flex;
    align-items: center;
  }
  #recruit dl.dl_recruit dd {
    font-size: 14px;
    font-size: 0.875rem;
    padding: 20px 30px 20px 0;
    width: calc(100% - 185px);
  }
  #recruit dl.dl_recruit dd .min_text {
    font-size: 12px;
    font-size: 0.75rem;
  }
  #recruit dl.dl_process {
    margin: 30px auto 0;
    display: block;
    -js-display: flex;
    display: flex;
    flex-wrap: wrap;
  }
  #recruit dl.dl_process dt {
    font-size: 20px;
    font-size: 1.25rem;
    padding: 30px 15px;
    width: 200px;
    margin: 0 0 50px;
    position: relative;
  }
  #recruit dl.dl_process dt:after {
    content: "";
    width: 20px;
    height: 40px;
    background: url(../png/ico_arrow.png);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -40px;
    margin: auto;
    background-size: contain;
  }
  #recruit dl.dl_process dd {
    width: calc(100% - 200px);
    padding: 10px 35px;
    font-size: 15px;
    font-size: 0.9375rem;
    margin: 0 0 50px;
    display: block;
    -js-display: flex;
    display: flex;
    align-items: center;
  }
  #recruit dl.dl_process dd:after {
    content: none;
  }
  #recruit p.process_goal {
    font-size: 20px;
    font-size: 1.25rem;
    padding: 20px;
    margin: 0 0 20px;
  }

  #faq dl.dl_faq {
    margin: 30px auto 0;
  }
  #faq dl.dl_faq dt {
    padding: 20px 45px 20px 20px;
    font-size: 16px;
    font-size: 1rem;
    line-height: 1.4;
  }
  #faq dl.dl_faq dt span {
    padding: 0 0 0 25px;
    text-indent: -1.6em;
  }
  #faq dl.dl_faq dt span:before {
    font-size: 22px;
    font-size: 1.375rem;
  }
  #faq dl.dl_faq dt:not(:first-child) {
    margin: 15px 0 0;
  }
  #faq dl.dl_faq dt:before {
    width: 20px;
    right: 20px;
    top: 35px;
  }
  #faq dl.dl_faq dt:after {
    height: 20px;
    right: 29px;
    top: 25px;
  }
  #faq dl.dl_faq dd {
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.6;
    padding: 0 20px 20px 45px;
    text-indent: -1.9em;
  }
  #faq dl.dl_faq dd:before {
    font-size: 21px;
    font-size: 1.3125rem;
  }
}
@media screen and (min-width: 1024px) {
  /* home
  ---------------------------------------------- */
  #home .column01 {
    padding: 80px 0;
  }
  #home .column01 .roll_text p {
    font-size: 300px;
    font-size: 18.75rem;
    letter-spacing: 0.18em;
  }
  #home .column02 .lr_area div a {
    overflow: hidden;
  }
  #home .column02 .lr_area div a:before {
    transition: 0.2s;
  }
  #home .column02 .lr_area div a:hover:before {
    right: 6px;
  }
  #home .column02 .lr_area div a:hover img {
    z-index: 0;
    transform: scale(1.1);
    transition: 0.3s;
  }
  #home .column02 .lr_area div a img {
    transition: 0.2s;
  }
  #home .column02 .lr_area div a span {
    z-index: 1;
    font-size: 16px;
    font-size: 1rem;
  }
  #home .column02 .lr_area div a span:first-line {
    font-size: 44px;
    font-size: 2.75rem;
  }

  #crosstalk .column01 {
    padding: 70px 0 190px;
  }
  #crosstalk .divide_prof {
    margin: -205px 0 0;
  }
  #crosstalk .divide_prof .box .text_area {
    margin: 20px 0 0;
  }
  #crosstalk .divide_prof .box .text_area p.name {
    font-size: 12px;
    font-size: 0.75rem;
  }
  #crosstalk .divide_prof .box .text_area p.name:first-line {
    font-size: 20px;
    font-size: 1.25rem;
  }
  #crosstalk .divide_prof .box .text_area p.post {
    margin: 10px 0 0;
    font-size: 13px;
    font-size: 0.8125rem;
    line-height: 1.8;
    letter-spacing: 0.25em;
  }
  #crosstalk .column_talk {
    padding: 45px 0 110px;
  }
  #crosstalk .column_talk:after {
    height: 320px;
  }
  #crosstalk .column_talk p.talk_text {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  #crosstalk .column_talk p.talk_text:not(:first-child) {
    margin: 35px 0 0;
  }
  #crosstalk .column_talk p.talk_text span {
    font-size: 14px;
    font-size: 0.875rem;
    width: 60px;
    padding: 2px 0 3px 2px;
    margin: 0 30px 0 0;
  }
  #crosstalk .column05 .row00 {
    padding: 70px 70px !important;
  }
  #crosstalk .shiga .row00 {
    padding: 70px 70px !important;
  }
  #crosstalk .column05 .row00 p.imgs {
    margin: 40px 0 0;
  }
  #crosstalk .column05 .row00 p.text {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.8;
  }
  #crosstalk .column05 .row01 {
    width: 1020px;
    margin: 90px auto 0;
  }
  #crosstalk .column .row {
	  padding: 0 70px;
  }

  #interview_low .column01 {
    padding: 65px 0 80px;
  }
  #interview_low .column01 h2 {
    font-size: 50px;
    font-size: 3.125rem;
  }
  #interview_low .column01 .path_box {
    margin: 50px auto 0;
    padding: 0;
    display: block;
    -js-display: flex;
    display: flex;
    justify-content: center;
  }
  #interview_low .column01 .path_box:before, #interview_low .column01 .path_box:after {
    content: none;
  }
  #interview_low .column01 .path_box dl {
    width: 100%;
    max-width: 340px;
  }
  #interview_low .column01 .path_box dl dt {
    font-size: 20px;
    font-size: 1.25rem;
  }
  #interview_low .column01 .path_box dl dt:before {
    left: auto;
    width: 1px;
    height: 30px;
    right: 0;
    top: 85px;
  }
  #interview_low .column01 .path_box dl dd {
    font-size: 14px;
    font-size: 0.875rem;
    letter-spacing: 0.15em;
    margin: 60px 0 0px;
    line-height: 1.8;
    position: relative;
    padding: 0 40px 0 0;
  }
  #interview_low .column01 .path_box dl dd:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
    top: -30px;
    left: 0;
    right: 0;
  }
  #interview_low .column01 .path_box dl:not(:first-child) {
    margin: 0px 0 0;
  }
  #interview_low .column01 .path_box dl:first-child dt:after {
    content: "";
    background: rgba(255, 255, 255, 0.3);
    position: absolute;
    width: 1px;
    height: 30px;
    left: 0;
    bottom: 0;
    margin: auto;
    top: 85px;
  }
  #interview_low .column02 .img_text .text_area,
#interview_low .column02 .text_img .text_area {
    width: 45%;
  }
  #interview_low .column02 .img_text .img_area,
#interview_low .column02 .text_img .img_area {
    width: 50%;
    margin: 0;
  }
  #interview_low .column02 .img_text:not(:first-child),
#interview_low .column02 .text_img:not(:first-child) {
    margin: 90px 0 0;
  }
  #interview_low .column02 .img_text .img_area {
    order: -1;
  }
  #interview_low .column02 .row01 {
    margin: 120px 0 0;
  }
  #interview_low .column02 .bg_c_box {
    padding: 60px;
  }
  #interview_low .column02 .bg_c_box h3 {
    font-size: 28px;
    font-size: 1.75rem;
    margin: 0 0 25px;
    line-height: 1.4;
  }
  #interview_low .column02 .bg_c_box .text_area {
    width: calc(100% - 330px);
    padding: 0 45px 0 0;
  }
  #interview_low .column02 .bg_c_box .text_area p {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 2.2;
  }
  #interview_low .column02 .bg_c_box .img_area {
    width: 330px;
  }
  #interview_low .column02 .bg_c_box .img_area p {
    text-align: center;
  }

  #dna .column01 h2.h2_line {
    font-size: 32px;
    font-size: 2rem;
    padding: 0 0 40px;
    margin: 0 auto 30px;
  }
  #dna .column04 h2 {
    font-size: 40px;
    font-size: 2.5rem;
  }
  #dna .column_latd .inner,
#dna .column_qan .inner {
    max-width: 1050px;
  }
  #dna .column_latd .row,
#dna .column_qan .row {
    margin: 120px 0 0;
  }
  #dna .column_latd .row01,
#dna .column_qan .row01 {
    margin: 80px 0 0;
  }
  #dna .column_latd h3,
#dna .column_qan h3 {
    font-size: 40px;
    font-size: 2.5rem;
    padding: 35px 0 0;
  }
  #dna .column_latd h3:before,
#dna .column_qan h3:before {
    font-size: 12px;
    font-size: 0.75rem;
    padding: 3px 5px;
  }
  #dna .column_latd p.text,
#dna .column_qan p.text {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 2;
  }
  #dna .column_latd p.text:not(:first-child),
#dna .column_qan p.text:not(:first-child) {
    margin: 32px 0 0;
  }
  #dna .column_latd p.img:not(:first-child),
#dna .column_qan p.img:not(:first-child) {
    margin: 32px 0 0;
  }
  #dna .column_latd p.min_text,
#dna .column_qan p.min_text {
    margin: 3px 0 0;
  }
  #dna .column_latd .row02 p.img img {
    padding: 0 24% 0 0;
  }
  #dna .column_qan .row01 .img_text {
    align-content: center;
    align-items: center;
  }
  #dna .column_qan .row01 .img_area {
    width: 40%;
  }
  #dna .column_qan .row01 .text_area {
    width: 58%;
  }
  #dna .column_qan .row02,
#dna .column_qan .row03,
#dna .column_qan .row04 {
    width: 1020px;
    margin-left: auto;
    margin-right: auto;
  }
  #dna .column_qan .row02 .img_area,
#dna .column_qan .row03 .img_area,
#dna .column_qan .row04 .img_area {
    width: 337px;
  }
  #dna .column_qan .row02 .text_area,
#dna .column_qan .row03 .text_area,
#dna .column_qan .row04 .text_area {
    width: calc(100% - 400px);
  }
  #dna ul.ul_graph.ul_graph02 li {
    width: 50%;
  }
  #dna ul.ul_graph li {
    font-size: 16px;
    font-size: 1rem;
    margin: 10px 0;
    width: 31%;
    letter-spacing: 0.1em;
  }
  #dna ul.ul_graph li:before {
    font-size: 13px;
    font-size: 0.8125rem;
    padding: 0 6px 0 0;
  }
  #dna ul.ul_graph li span {
    font-size: 24px;
    font-size: 1.5rem;
    margin: 0 0 0 10px;
  }
  #dna ul.ul_graph li span small {
    font-size: 20px;
    font-size: 1.25rem;
  }
  #dna ul.ul_rank {
    margin: 32px 0 0;
  }
  #dna ul.ul_rank li {
    margin: 10px 0 0;
    border-radius: 10px;
    font-size: 22px;
    font-size: 1.375rem;
    padding: 15px 40px;
  }
  #dna ul.ul_rank li span {
    color: #504084;
    margin: 0 40px 0 0;
  }
  #dna .box_int {
    margin: 35px 0 0;
  }
  #dna .box_int .text_box p.text .bgc {
    margin: 0 0 6px;
    padding: 0 6px;
  }
  #dna .box_int .text_box p.min_text {
    margin: 5px 0 0;
    text-align: left;
  }

  #recruit dl.dl_recruit {
    margin: 50px auto 0;
  }
  #recruit dl.dl_recruit dt {
    width: 210px;
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 30px 40px;
  }
  #recruit dl.dl_recruit dd {
    font-size: 15px;
    font-size: 0.9375rem;
    padding: 30px 40px 30px 0;
    width: calc(100% - 210px);
  }
  #recruit dl.dl_process {
    margin: 50px auto 0;
  }
  #recruit dl.dl_process dt {
    font-size: 24px;
    font-size: 1.5rem;
    padding: 35px 0px;
    width: 225px;
  }
  #recruit dl.dl_process dd {
    width: calc(100% - 225px);
    padding: 10px 35px;
    font-size: 15px;
    font-size: 0.9375rem;
  }
  #recruit p.process_goal {
    font-size: 23px;
    font-size: 1.4375rem;
    padding: 30px;
  }

  #faq dl.dl_faq {
    margin: 50px auto 0;
  }
  #faq dl.dl_faq dt {
    padding: 20px 45px 20px 25px;
    font-size: 18px;
    font-size: 1.125rem;
    cursor: pointer;
  }
  #faq dl.dl_faq dt span {
    padding: 0 0 0 0px;
    text-indent: inherit;
  }
  #faq dl.dl_faq dt span:before {
    font-size: 22px;
    font-size: 1.375rem;
    margin: 0 5px 0 0;
  }
  #faq dl.dl_faq dd {
    font-size: 15px;
    font-size: 0.9375rem;
    line-height: 1.6;
    padding: 0 20px 20px 55px;
    text-indent: -2em;
  }
  #faq dl.dl_faq dd:before {
    font-size: 22px;
    font-size: 1.375rem;
    margin: 0 5px 0 0;
  }
}
@media screen and (min-width: 1200px) {
  /* home
  ---------------------------------------------- */
  #home .column01 {
    padding: 90px 0;
  }
  #home .column01 .roll_text p {
    font-size: 350px;
    font-size: 21.875rem;
  }

  #interview_low .column02 .bg_c_box h3 {
    font-size: 28px;
    font-size: 1.75rem;
    margin: 0 0 35px;
  }
  #interview_low .column02 .bg_c_box .text_area {
    width: calc(100% - 340px);
  }
  #interview_low .column02 .bg_c_box .text_area p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  #interview_low .column02 .bg_c_box .img_area {
    width: 340px;
    margin: -75px 0 0;
  }
}


#breadcrumb {
	width: 100%;
	background: #504084;
	padding: 15px 0 15px 0;
}
	#breadcrumb ul {
		display: flex;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
		overflow: auto;
		white-space: nowrap;
		padding-left: 5%;
	}
		#breadcrumb ul li {
			font-size: 12px;
			color: #fff;
			letter-spacing: 0.1em;
			margin-right: 30px;
			position: relative;
		}
		#breadcrumb ul li:before {
			content: "";
			width: 12px;
			height: 1px;
			background: #fff;
			position: absolute;
			top: 12px;
			right: -20px;
		}
		#breadcrumb ul li:nth-last-child(1):before {
			display: none;
		}
			#breadcrumb ul li a {
				display: block;
				font-size: 12px;
				color: #c9c4d9;
				letter-spacing: 0.1em;
			}


@media screen and (min-width: 1200px) {
	#breadcrumb ul {
		width: 94%;
		margin: auto;
		padding-left: 0;
	}
	
}



main {
	padding-top: 99px;
}

@media screen and (max-width: 1199px) {
	header#masthead .logo_area {
	  height: 89px;
	}
	main {
		padding-top: 89px;
	}
}

@media screen and (max-width: 1023px) {
	header#masthead .logo_area {
	  height: 69px;
	}
	main {
		padding-top: 69px;
	}
}

@media screen and (max-width: 767px) {
	header#masthead .logo_area {
	  height: 52px;
	}
	main {
		padding-top: 52px;
	}
}



.row01 .link {
	padding-top: 20px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5em;
	text-align: center;
}
	.row01 .link br {
		display: none;
	}
	.row01 .link a {
		color: #CE1F21;
		text-decoration: underline;
	}
	.row01 .link a:hover {
		text-decoration: none;
	}

@media screen and (max-width: 767px) {
.row01 .link {
	font-size: 14px;
}
	.row01 .link br {
		display: block;
	}
}




.ratio h3 {
	margin-bottom: 20px;
}
	.ratio h3 br {
		display: none;
	}


.ratio table {
	width: 100%;
	border-collapse: collapse;
}
	.ratio table th {
		background: rgba(80, 64, 132, 0.1);
		padding: 20px;
		border: solid 1px #ddd;
		font-size: 0.9375rem;
		font-weight: 500;
		color: #504084;
		text-align: center;
	}
	.ratio table td {
		padding: 20px;
		border: solid 1px #ddd;
		font-size: 0.9375rem;
		font-weight: 500;
		text-align: center;
	}


.ratio .sub_txt {
	padding-top: 10px;
	font-size: 12px;
	text-align: right;
}



@media screen and (max-width: 767px) {
	.ratio h3 {
		margin-bottom: 15px;
	}
		.ratio h3 br {
			display: block;
		}


	.ratio table th {
		padding: 10px;
		font-size: 0.8125rem;
	}
	.ratio table td {
		padding: 10px;
		font-size: 0.8125rem;
	}


	.ratio .sub_txt {
		font-size: 10px;
	}
}

