@charset "utf-8";
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent
}
body {
  line-height: 1
}
article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block
}
ul, ol {
  list-style: none
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}
del {
  text-decoration: line-through;
}
abbr[title], dfn[title] {
  border-bottom: 1px dotted #000;
  cursor: help;
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}
input, select {
  vertical-align: middle;
  -webkit-appearance: none;
  appearance: none;
}
*:focus {
  outline: none;
}
/*========================================
  BASIC
=======================================*/
* {
  box-sizing: border-box;
}
html {
  font-size: 10px;
  scroll-behavior: smooth;
}
html, body {
  -webkit-text-size-adjust: 100%
}
body {
  color: #212229;
  font-family: 'Roboto', 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  background: #fff;
  scroll-behavior: smooth;
  background: #fff;
}
a {
  color: #1287DB;
  text-decoration: none;
}
a:hover {}
a:active {}
img {
  max-width: 100%;
  height: auto;
}
button {
  border: none;
  background: none;
  font-family: 'Roboto', 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  display: inline-block;
}
button:hover {
  cursor: pointer;
}
/* clearfix */
.cf:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden
}
.cf {
  display: inline-block;
}
* html .cf {
  height: 1%;
}
.cf {
  display: block;
}
/* 
    COLOR STATUS 
    black   #212229
    primary #EB4755
    red     #DC3E53
    link.   #1287DB
*/
/*=======================================
  COMMON PARTS
=======================================*/
/* animated */
.animate__animated {
  opacity: 0;
}
.animate__animated.active {
  opacity: 1;
}
.animate__delay-01s {
  animation-delay: 0.1s;
}
.animate__delay-02s {
  animation-delay: 0.2s;
}
.animate__delay-03s {
  animation-delay: 0.3s;
}
.animate__delay-04s {
  animation-delay: 0.4s;
}
.animate__delay-05s {
  animation-delay: 0.5s;
}
.animate__delay-06s {
  animation-delay: 0.6s;
}
/* display */
.pcNone {
  display: none;
}
/*.row */
.row {
  width: 100%;
  position: relative;
}
.bg-color-gray {
  background: #F5F5F5;
}
.bg-color-red {
  background: #DC3E53;
}
.bg-redLiner {
  background: url(../images/bg_redliner.png) no-repeat center left;
}
.bg-grayLine:after {
  content: "";
  width: 100%;
  height: 50%;
  background: #F5F5F5;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
}
.row > .content {
  max-width: 1440px;
  padding: 120px 32px;
  width: 100%;
  margin: 0 auto;
}
.row.cta-recruit-wrap > .content {
  padding: 0 32px 120px;
}
.page-plan .row > .content {
  padding: 80px 32px;
}
.page-plan .row.bg-redLiner > .content {
  padding: 160px 32px;
}
.row > .content.center {
  text-align: center;
}
.row > .content .sectionTitle {
  margin: 0 0 32px;
  text-align: center;
}
.row > .content .sectionDescription {
  margin: 0 0 80px;
  text-align: center;
}
.page-plan .row > .content .sectionDescription {
  margin: 0 0 40px;
}
.sectionDescription > p {
  margin: 0 0 40px;
}
.sectionDescription > p:last-child {
  margin: 0;
}
.page-general .row > .content {
  max-width: 1104px;
  padding: 80px 32px 80px;
}
.page-general .row > .content.top120 {
  padding-top: 120px;
}
.row > .content.min {
  max-width: 840px;
  padding: 120px 32px;
  width: 100%;
  margin: 0 auto;
}
.page-term .row > .content .sectionTitle {
  text-align: left;
}
/* title */
.title-Xlarge {
  font-size: 5.6rem;
  font-weight: 700;
  line-height: 1.4;
}
.title-large {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.5;
}
.title-medium {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
}
.title-small {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
}
.title-Xsmall {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
}
.title-Xlarge b, .title-large b, .title-medium b, .title-small b, .title-Xsmall b {
  color: #F53D56;
}
.title-Xlarge.subTitle, .title-large.subTitle, .title-medium.subTitle, .title-small.subTitle, .title-Xsmall.subTitle {
  margin-top: 80px;
}
.sectionTitle.smallLine:after {
  content: "";
  width: 80px;
  height: 1px;
  margin: 16px auto 0;
  border-bottom: 1px solid #EB4755;
  display: block;
}
.sectionTitle .redRubi {
  color: #EB4755;
  font-size: 1.6rem;
  display: block;
}
.sectionTitle .blackRubi {
  color: #212229;
  font-size: 1.6rem;
  display: block;
}
.sectionTitle .sectionLine {
  height: 1px;
  margin: 0 0 20px;
  display: block;
  background: #F5F5F5;
}
.sectionTitle .sectionLine .line {
  width: 80px;
  height: 1px;
  display: block;
  background: #EB4755;
}
/*.text */
.text-Xlarge {
  font-size: 1.8rem;
  line-height: 2;
}
.text-large {
  font-size: 1.6rem;
  line-height: 2;
}
.text-default {
  font-size: 1.4rem;
  line-height: 2;
}
.text-default > p {
  margin: 2em 0 0;
}
.text-align-right {
  text-align: right;
}
.text-align-center {
  text-align: center;
}
.text-last-update {
  margin-top: 40px;
}
.text-white {
  color: #fff;
}
/* br */
br.sp {
  display: none;
}
/* button */
.button {
  font-weight: 700;
  text-align: center;
  display: block;
  border-radius: 40px;
}
.button-link-red {
  width: 100%;
  max-width: 360px;
  padding: 22px 0;
  margin: 0 auto;
  color: #fff;
  font-size: 2rem;
  background: #EB4755;
  box-shadow: 0px 6px 12px #C6CAD2;
}
.button-link-red:hover {
  background: #2A364C;
}
.button-link-red-mini {
  width: 100%;
  max-width: 240px;
  padding: 18px 0;
  margin: 0 auto;
  color: #fff;
  font-size: 1.6rem;
  background: #EB4755;
  box-shadow: 0px 6px 12px #C6CAD2;
}
.button-link-red-mini:hover {
  background: #2A364C;
}
.button-link-gray {
  max-width: 240px;
  padding: 18px 0;
  margin: 0 auto;
  color: #212229;
  font-size: 1.6rem;
  background: #F5F5F5;
  box-shadow: 0px 6px 12px #C6CAD2;
}
.button-link-gray:hover {
  color: #fff;
  background: #2A364C;
}
.button-link-gray-big {
  width: 100%;
  max-width: 360px;
  padding: 22px 0;
  margin: 0 auto;
  color: #212229;
  font-size: 2rem;
  background: #F5F5F5;
  box-shadow: 0px 6px 12px #C6CAD2;
}
.button-link-gray-big:hover {
  color: #fff;
  background: #2A364C;
}
.button-link-border-clear {
  padding: 10px 20px;
  color: #fff;
  border: 1px solid #fff;
}
.button-link-border-clear:hover {
  color: #F53D56;
  background: #fff;
}
.button-link-dark-gray {
  max-width: 240px;
  padding: 18px 0;
  margin: 0 auto;
  color: #fff;
  font-size: 1.6rem;
  background: #2A364C;
  box-shadow: 0px 6px 12px #C6CAD2;
}
.button-link-dark-gray:hover {
  color: #212229;
  background: #F5F5F5;
}
.button-link-dark-gray-big {
  max-width: 360px;
  padding: 22px 0;
  margin: 0 auto;
  color: #fff;
  font-size: 2rem;
  background: #2A364C;
  box-shadow: 0px 6px 12px #C6CAD2;
}
.button-link-dark-gray-big:hover {
  color: #212229;
  background: #F5F5F5;
}
.button-link-green {
  max-width: 240px;
  padding: 18px 0;
  margin: 0 auto;
  color: #fff;
  font-size: 1.6rem;
  background: #06C755;
  box-shadow: 0px 6px 12px #C6CAD2;
}
.button-link-green:hover {
  color: #06C755;
  background: #fff;
}
.button-link-footer {
  max-width: 240px;
  padding: 18px 0;
  margin: 0 auto;
  color: #fff;
  font-size: 1.6rem;
  background: #2A364C;
  box-shadow: 0px 6px 12px #454545;
}
.button-link-footer:hover {
  color: #212229;
  background: #F5F5F5;
}
.button-link-white {
  max-width: 240px;
  padding: 18px 0;
  margin: 0 auto;
  color: #2A364C;
  font-size: 1.6rem;
  background: #fff;
  box-shadow: 0px 6px 12px #C6CAD2;
}
.button-link-white:hover {
  color: #fff;
  background: #2A364C;
}
/*.list */
.list-servicePoint {}
.list-servicePoint > li {
  padding: 12px 14px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
}
.list-servicePoint .check {
  padding: 14px 14px;
  margin: 8px 0;
  box-shadow: 0px 4px 8px #F5F7FA;
  border: 1px solid #F5F5F5;
  border-radius: 4px;
}
.list-servicePoint span {
  margin: 8px 0 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.75;
  display: block;
}
.icon-listArrow {
  padding: 0 0 0 30px;
  position: relative;
}
.icon-listArrow:before {
  content: "";
  width: 24px;
  height: 24px;
  background: url(../images/icon_list_arrow.png) no-repeat;
  background-size: 100%;
  display: inline-block;
  position: absolute;
  top: calc(50% - 12px);
  left: 0px;
}
.icon-listArrow.contact:before {
  margin: 0 8px 0 0;
  position: relative;
  top: 3px;
}
.normalList-disc {
  list-style: disc;
}
.normalList-disc li {
  margin: 1em 0 1em 1.5em;
}
.normalList-disc li li {
  margin: .5em 0 .5em 1.5em;
}
.normalList-decimal {
  list-style: decimal;
}
.normalList-decimal li {
  margin: 1em 0 1em 1.5em;
}
.normalList-decimal li li {
  margin: .5em 0 .5em 1.5em;
}
.justify-content_space-between {
  justify-content: space-between;
}
/*.tags */
.tags {
  margin: 0 0 -8px;
  font-size: 0;
}
.tag-item {
  padding: 0 4px;
  margin: 0 8px 8px 0;
  font-size: 1.2rem;
  line-height: 24px;
  display: inline-block;
  font-weight: bold;
}
.tag-item:last-child {
  margin: 0 0 8px 0;
}
.tag-free {
  border: 1px solid #000000;
}
.tag-red {
  background: linear-gradient(90deg, #F53D56 0%, #FF7366 100%);
  color: #fff;
}
.tag-pink {
  background: #FFD9D9;
  color: #EB4755;
}
.tag-gray {
  background: #F5F7FA;
  color: #2A364C;
}
/*.margin*/
.mt-0 {
  margin-top: 0 !important;
}
.mt-1 {
  margin-top: 0.5rem !important;
}
.mt-2 {
  margin-top: 1rem !important;
}
.mt-3 {
  margin-top: 1.5rem !important;
}
.mt-4 {
  margin-top: 2rem !important;
}
.mt-5 {
  margin-top: 2.5rem !important;
}
.mt-6 {
  margin-top: 3rem !important;
}
.mt-7 {
  margin-top: 3.5rem !important;
}
.mt-8 {
  margin-top: 4rem !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.mb-1 {
  margin-bottom: 0.5rem !important;
}
.mb-2 {
  margin-bottom: 1rem !important;
}
.mb-3 {
  margin-bottom: 1.5rem !important;
}
.mb-4 {
  margin-bottom: 2rem !important;
}
.mb-5 {
  margin-bottom: 2.5rem !important;
}
.mb-6 {
  margin-bottom: 3rem !important;
}
.mb-7 {
  margin-bottom: 3.5rem !important;
}
.mb-8 {
  margin-bottom: 4rem !important;
}
/*.padding*/
.pt-0 {
  padding-top: 0 !important;
}
.pt-1 {
  padding-top: 0.5rem !important;
}
.pt-2 {
  padding-top: 1rem !important;
}
.pt-3 {
  padding-top: 1.5rem !important;
}
.pt-4 {
  padding-top: 2rem !important;
}
.pt-5 {
  padding-top: 2.5rem !important;
}
.pt-6 {
  padding-top: 3rem !important;
}
.pt-7 {
  padding-top: 3.5rem !important;
}
.pt-8 {
  padding-top: 4rem !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pb-1 {
  padding-bottom: 0.5rem !important;
}
.pb-2 {
  padding-bottom: 1rem !important;
}
.pb-3 {
  padding-bottom: 1.5rem !important;
}
.pb-4 {
  padding-bottom: 2rem !important;
}
.pb-5 {
  padding-bottom: 2.5rem !important;
}
.pb-6 {
  padding-bottom: 3rem !important;
}
.pb-7 {
  padding-bottom: 3.5rem !important;
}
.pb-8 {
  padding-bottom: 4rem !important;
}
/*.font*/
.bold {
  font-weight: bold;
}
.block {
  display: block;
  width: 100%;
}
.center {
  text-align: center !important;
}
.bg-white {
  background: #fff;
}
/*=======================================
  BASE LAYOUT
=======================================*/
/* #wrapper */
#wrapper {
  overflow: hidden;
}
/* #header */
#header {
  background: #fff;
}
#header .content {
  max-width: 1440px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
#siteName {
  margin: 0 0 0 32px;
  display: flex;
  align-items: center;
}
#gNav {
  font-size: 1.4rem;
}
#gNav .inner {
  display: flex;
  align-items: center;
}
#gNav .list {
  display: flex;
  font-weight: 700;
}
#gNav .list li {
  margin: 0 40px 0 0;
}
#gNav .list a {
  color: #212229;
}
#gNav .list a:hover {
  color: #EB4755;
}
#gNav .gNav-cta-link {
  padding: 0 32px;
  color: #fff;
  line-height: 80px;
  display: block;
  background: #EB4755;
  flex-shrink: 0;
}
#gNav .gNav-cta-link:hover {
  background: #2A364C;
}
/* #contents */
#contents {}
/* #main*/
#main {}
/* #footer */
#pankuz {
  background: #E5E5E5;
  line-height: 42px;
  border-top: 1px solid #E6E6E6;
  border-bottom: 1px solid #E6E6E6;
}
#pankuz ul {
  max-width: 1440px;
  padding: 0 50px;
  margin: 0 auto;
  display: flex;
}
#pankuz li {
  font-size: 1.3rem;
}
#pankuz li:after {
  content: "";
  width: 6px;
  height: 10px;
  margin: 0 16px;
  background: url(../images/icon_pankz_arrow.png) no-repeat center left;
  background-size: 100%;
  display: inline-block;
}
#pankuz li:last-child:after {
  display: none;
}
#pankuz a {
  text-decoration: underline;
}
#footer {
  background: #111;
}
#footerContent {
  max-width: 1440px;
  padding: 40px 30px;
  margin: 0 auto;
  color: #fff;
}
#footerContent .inBox {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#footerContent-siteName {
  order: 1;
}
#footerContent-Menu {
  order: 2;
}
#footerContent-Menu .list {
  display: flex;
}
#footerContent-Menu li {
  margin: 0 0 0 40px;
}
#footerContent-Menu a {
  color: #fff;
  font-size: 1.4rem;
}
#footerContent-Menu a:hover {
  color: #DC3E53;
}
#copyright {
  margin: 40px 0 0;
}
/*=======================================
  CONTENTS PARTS
=======================================*/
/* page header */
#header-home {
  padding: 40px 0;
}
#header-home .content {
  padding: 0 0 0 50px;
  justify-content: space-between;
  position: relative;
}
#header-home .kyachiImage {
  margin: 0 140px 0 0;
}
#header-home .kyachiImage .image {}
#header-home .kyachiImage .image.item-1 {
  width: 633px;
  position: absolute;
  top: 80px;
  left: 40%;
  z-index: -1;
}
#header-home .kyachiImage .image.item-2 {
  width: 593px;
  position: absolute;
  top: 0;
  left: 48%;
  z-index: -2;
}
#header-home .note {
  height: 900px;
  padding: 160px 0 0 16px;
}
#header-home .note h1 {
  margin: 0 0 59px;
  text-shadow: 1px 1px 1px #fff;
  text-align: left;
}
#header-home .note p {
  padding: 0 0 0 16px;
  margin: 0 0 88px;
  text-shadow: 1px 1px 1px #fff;
}
#header-home .note .button {
  max-width: 240px;
  margin: 0 0 0 16px;
}
#header-home .note .scroll {
  position: absolute;
  bottom: 0;
  left: 50px;
}
#header-home .note .scroll a {
  display: inline-block;
  z-index: 2;
  padding: 10px 10px 110px;
  overflow: hidden;
  color: #000;
  font-size: 14px;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
#header-home .note .scroll a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #000;
}
#header-home .note .scroll a::after {
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
#header-general {
  position: relative;
}
#header-general .content {
  min-height: 392px;
  padding-top: 80px;
  padding-bottom: 80px;
  text-align: center;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
#header-general .inner {
  width: 100%;
}
#header-general .title {
  margin: 0 0 16px;
}
#header-general .bg {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 0;
}
#header-service {
  overflow: hidden;
}
#header-service .content {
  padding-top: 0;
  padding-bottom: 0;
}
#header-service .inner {
  height: 640px;
  position: relative;
}
#header-service .title {
  height: 100%;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
  text-shadow: 1px 1px 4px #F5F5F5;
}
#header-service .image {
  position: absolute;
  bottom: 0;
  right: -200px;
  z-index: 1;
}
#header-company {}
#header-company .content {
  max-width: 100%;
  width: 100%;
  height: 600px;
  padding: 0;
  overflow: hidden;
  position: relative;
}
#header-company .image {}
#header-company .image img {
  width: 100%;
  height: 600px;
  object-fit: cover;
}
#header-company .inner {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
}
#header-company .title {
  width: 100%;
  padding: 0 30px;
  color: #fff;
  font-weight: 400;
  text-align: center;
}
/* flexCard */
.flexCard {
  width: 100%;
  display: flex;
  flex-wrap: wrap; /*justify-content:space-between;*/
}
.flexCard ._item .image {
  margin: 0 0 16px;
}
.flexCard ._item .title {
  margin: 0 0 16px;
}
.flexCard.flex3 {
  margin-bottom: -40px;
}
.flexCard.flex3 ._item {
  max-width: 380px;
  width: 29.3%;
  margin: 0 2% 40px;
}
.flexCard.flex2 {
  margin-bottom: -60px;
  justify-content: space-between;
}
.flexCard.flex2 ._item {
  max-width: 540px;
  width: 50%;
  margin: 0 0 60px;
}
.flexCard.center {}
.flexCard.center ._item {
  text-align: center;
}
.flexCard.arrow {}
.flexCard.arrow ._item {
  position: relative;
}
.flexCard.arrow ._item:after {
  content: "";
  width: 40px;
  height: 100px;
  background: url(../images/bg_arrow.png) no-repeat;
  display: block;
  margin-top: -50px;
  position: absolute;
  top: 50%;
  right: -40px;
}
.flexCard.arrow ._item:last-child:after {
  display: none;
}
/*.flexList */
.flexList {}
.flexList ._item {
  width: 100%;
  display: flex;
  align-items: center;
}
.flexList.flexSideImage {
  counter-reset: num;
}
.flexList.flexSideImage ._item {
  margin: 0 0 100px;
}
.flexList.flexSideImage ._item .image {
  width: 40%;
  order: 1;
}
.flexList.flexSideImage ._item:nth-child(even) .image {
  order: 2;
}
.flexList.flexSideImage ._item .note {
  width: 60%;
  padding: 0 0 0 60px;
  position: relative;
  order: 2;
}
.flexList.flexSideImage ._item .note:before {
  counter-increment: num;
  content: "0"counter(num);
  color: #F5F5F5;
  font-size: 28.8rem;
  position: absolute;
  z-index: -1;
  font-family: Century Gothic Pro, 'Roboto', 'Noto Sans JP', "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  ;
  font-weight: bold;
}
.flexList.flexSideImage ._item:nth-child(even) .note {
  padding: 0;
  margin: 0 60px 0 0;
  order: 1;
}
.flexList.flexSideImage .title {
  margin: 0 0 28px;
}
.flexList.home {
  padding-top: 80px;
}
.flexList.home ._item {
  margin: 0 0 180px;
}
.flexList.home ._item .note:before {
  top: -140px;
  right: 0;
}
.flexList.service {}
.flexList.service ._item {
  margin: 80px 0 140px;
}
.flexList.service ._item:last-child {
  margin: 80px 0 0;
}
.flexList.service ._item .image {
  width: 52%;
}
.flexList.service ._item .note {
  width: 48%;
  align-self: stretch;
  display: flex;
  align-items: center;
}
.flexList.service ._item .note:before {
  top: 0;
  right: 0;
}
.flexList.ourBusiness {
  padding: 40px 0 0;
}
.flexList.ourBusiness ._item {
  position: relative;
}
.flexList.ourBusiness ._item .note {
  padding: 0 0 0 80px;
  position: relative;
}
.flexList.ourBusiness ._item .note:before {
  top: 50%;
  right: 0;
  margin-top: -.6em;
}
.flexList.members {
  max-width: 1060px;
  margin: 0 auto;
}
.flexList.members ._item {
  align-items: stretch;
}
.flexList.members ._item .note {
  display: flex;
  align-items: center;
}
.flexList.members ._item .note:before {
  content: "";
  width: 149px;
  height: 288px;
  background: url(../images/icon_members.png) no-repeat top center;
  top: 0;
  right: 0;
  display: block;
}
.flexList.members ._item:nth-child(even) .note:before {
  right: 60px;
}
.flexList.members .meta {
  margin: 0 0 36px;
  display: flex;
  align-items: center;
  position: relative;
}
.flexList.members .meta:after {
  content: '';
  width: 100%;
  height: 1px;
  background: #EB4755;
  position: absolute;
  top: 50%;
  left: 0;
  z-index: -1;
}
.flexList.members .name {
  background: #fff;
}
.flexList.members .skill {
  padding: 0 16px 0;
  background: #fff;
}
/*.flexReviewer */
.flexReviewer {
  padding: 60px 0 0;
  margin-bottom: -60px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.page-plan .flexReviewer {
  padding: 20px 0 0;
}
.flexReviewer ._item {
  max-width: 360px;
  width: 29.3%;
  margin: 0 2% 60px;
}
.flexReviewer .link {
  color: #212229;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, .1);
  display: flex;
  flex-direction: column;
}
.flexReviewer .reviewerTitle {
  width: 100%;
  background: #fff;
  padding: 12px 24px;
}
.flexReviewer .reviewerTitle h3 {
  font-size: 1.6rem;
  line-height: 1.6;
}
.reviewerCard {
  padding: 24px;
  background: rgba(255, 255, 255, 0.85);
}
.reviewerCard .head {
  margin: 0 0 18px;
  display: flex;
  align-items: center;
}
.reviewerCard .image {
  width: 60px;
  margin: 0 10px 0 0;
  flex-shrink: 0;
}
.reviewerCard .note {
  line-height: 1.75;
}
.reviewerCard .label {
  font-size: 1.6rem;
  display: block;
}
.reviewerCard .label-sub {
  font-size: 1.3rem;
  display: block;
}
.reviewerCard .text {
  font-size: 1.4rem;
  line-height: 1.75;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.flexReviewer .link ._link {
  position: relative;
  background: #2A364C;
  font-size: 1.4rem;
  color: #fff;
  padding: 12px 24px;
}
.flexReviewer .link ._link:after {
  position: absolute;
  right: 24px;
  content: "→";
}
.flexReviewer .link:hover {
  opacity: 0.85;
}
.flexReviewer .link:hover ._link {
  background: #EB4755;
}
@media screen and (max-width: 640px) {
  .flexReviewer {
    width: 100%;
    padding: 0 20px 16px 0;
    margin: 0 0 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: scroll;
  }
  .flexReviewer ._item {
    width: 307px;
    margin: 0 0 0 20px;
    flex-shrink: 0;
  }
  .reviewerCard {
    padding: 25px;
  }
  .reviewerCard .head {
    margin: 0 0 18px;
    display: flex;
    align-items: center;
  }
  .reviewerCard .text {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
/*.plan */
.flexPlan {
  margin: 40px auto 80px;
  box-shadow: 0px 4px 8px #F5F7FA;
}
.page-plan .flexPlan {
  margin-bottom: 0;
}
.planCard {
  display: flex;
  flex-direction: column;
  width: 25%;
  padding: 36px 20px;
  border: 1px solid #F5F5F5;
}
.planCard.check {
  border: 1px solid #EB4755;
  background: #FFD9D9;
}
.planCard .cardFlex {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.planCard .title {
  margin: 0 0 10px;
}
.planCard .text {
  margin: 0 0 20px;
}
.planCard .value {
  font-weight: 700;
}
.planCard .value .yen {
  font-size: 2.8rem;
}
.planCard .value .num {
  font-size: 4.4rem;
}
.planCard .value .month {
  font-size: 1.6rem;
}
.planCard .value .subText {
  margin: 8px 0 0;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1.75;
  display: block;
}
.planCard .list {
  margin: 24px 0 40px;
  text-align: left;
}
.planCard .list li {
  padding: 6px 0 6px 12px;
  position: relative;
}
/*.serviceFullListBox */
.serviceFullList {
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
}
.serviceFullList .serviceTitle {
  padding: 8px 0;
  color: #fff;
  text-align: center;
  background: #000000;
}
.serviceFullList > ._item {
  margin: 0 0 80px;
  border: 1px solid #F5F5F5;
  box-shadow: 0px 4px 8px #F5F7FA;
}
.serviceList {
  padding: 60px 40px 36px 40px;
}
.serviceList ._item {
  padding: 24px 16px;
  align-items: flex-start;
}
.serviceList .image {
  width: 200px;
  flex-shrink: 0;
}
.serviceList .note {
  padding: 0 0 0 20px;
}
.serviceList .note .name {
  margin-top: 8px;
}
.page-plan .serviceList {
  max-width: 1140px;
  padding: 0;
  margin: 0 auto;
}
.serviceListSub {
  padding: 60px 40px 36px 40px;
}
.serviceList ~ .serviceListSub, .serviceListSub ~ .serviceListSub {
  padding: 0 40px 36px 40px;
}
.serviceListSub ._item {
  padding: 0;
  align-items: flex-start;
}
.serviceListSub .image {
  width: 200px;
  flex-shrink: 0;
}
.serviceListSub .note {
  padding: 0;
}
.serviceListSub .note .name {
  margin-top: 8px;
}
/*.page-plan .serviceListSub{max-width:1140px;padding:0;margin:0 auto;}*/
/* developerMessage */
.developerMessage {}
.developerMessageBox {
  max-width: 1160px;
  padding: 0 0 60px;
  margin: 0 auto 0;
  justify-content: center;
}
.developerMessageBox .image {
  width: 50%;
}
.developerMessageBox .note {
  width: 50%;
  padding: 0 0 0 40px;
}
.developerMessageBox .note p {
  margin: 0 0 30px;
}
/*.freePlan */
.freePlan {
  max-width: 906px;
  padding: 48px 90px;
  margin: 0 auto;
  border: 1px solid #F5F5F5;
  box-shadow: 0px 4px 8px #F5F7FA;
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
}
.freePlan li {
  width: 50%;
  position: relative;
}
/*.planTable */
.planTable {
  max-width: 1180px;
  margin: 0 auto;
}
.basicTable {
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.7;
  text-align: left;
}
.basicTable thead {
  color: #fff;
  font-weight: 700;
  text-align: center;
  background: #000;
}
.basicTable thead th {
  border-right: 1px solid #fff;
}
.basicTable thead th {
  width: 180px;
}
.basicTable thead th:first-child {
  width: 280px;
}
.basicTable tbody {}
.basicTable tbody tr:nth-child(odd) {
  background: #F5F5F5;
}
.basicTable tbody tr:nth-child(odd) td {
  border-right: 1px solid #fff;
}
.basicTable tbody tr:nth-child(even) td {
  border-right: 1px solid #F5F5F5;
}
.basicTable tbody tr:nth-child(even) td:last-child {
  border-right: none;
}
.basicTable th, .basicTable td {
  padding: 24px 16px;
}
.basicTable tbody th, .basicTable tbody td {
  font-weight: 400;
}
.basicTable th {}
.basicTable td {}
.basicTable .right {
  text-align: right;
}
.basicTable .center {
  text-align: center;
}
.basicTable.check1 thead th:nth-of-type(1) {
  background: #EB4755;
}
.basicTable.check1 tbody td:nth-of-type(1) {
  background: #FFD9D9;
  border-bottom: 1px solid #fff;
}
.basicTable.check2 thead th:nth-of-type(2) {
  background: #EB4755;
}
.basicTable.check2 tbody td:nth-of-type(2) {
  background: #FFD9D9;
  border-bottom: 1px solid #fff;
}
.basicTable.check3 thead th:nth-of-type(3) {
  background: #EB4755;
}
.basicTable.check3 tbody td:nth-of-type(3) {
  background: #FFD9D9;
  border-bottom: 1px solid #fff;
}
.basicTable.check4 thead th:nth-of-type(4) {
  background: #EB4755;
}
.basicTable.check4 tbody td:nth-of-type(4) {
  background: #FFD9D9;
  border-bottom: 1px solid #fff;
}
.basicTable.check5 thead th:nth-of-type(5) {
  background: #EB4755;
}
.basicTable.check5 tbody td:nth-of-type(5) {
  background: #FFD9D9;
  border-bottom: 1px solid #fff;
}
.basicTable.check6 thead th:nth-of-type(6) {
  background: #EB4755;
}
.basicTable.check6 tbody td:nth-of-type(6) {
  background: #FFD9D9;
  border-bottom: 1px solid #fff;
}
/*.qaList */
.qaList {
  width: 840px;
  margin: 0 auto;
}
.qaList ._item {
  padding: 0 0 0 20px;
  margin: 0 0 40px;
  position: relative;
}
.qaList ._item:before {
  content: "";
  width: 8px;
  height: 13.5px;
  background: url(../images/icon_qa_arrow.png) no-repeat;
  background-size: 100%;
  display: inline-block;
  position: absolute;
  top: 8px;
  left: 0;
}
.qaList ._item.active:before {
  transform: rotate(90deg);
}
.qaList span {
  display: block;
}
.qaList .q {
  font-weight: 700;
  cursor: pointer;
}
.qaList .a {
  width: 100%;
}
/*.redMessageRow */
.redMessageRow {
  background: #DC3E53;
}
.row.redMessageRow .content {
  padding-top: 120px;
  padding-bottom: 120px;
  color: #fff;
  position: relative;
}
.row.redMessageRow.message .content {
  padding-top: 120px;
  padding-bottom: 80px;
  color: #fff;
}
.redMessageRow .image {
  position: absolute;
  top: 0;
  left: 0;
}
.redMessageRow p {
  margin: 0 0 2em;
}
.redMessageRow p:last-child {
  margin: 0;
}
/*.members */
.row.members .content {
  padding-bottom: 0;
}
/*.companyInfo */
.companyInfo {
  max-width: 1055px;
  padding: 40px 0;
  margin: 0 auto;
  display: flex;
}
.companyInfo .info {
  width: 45%;
  margin: 0 20px 0 0;
}
.companyInfo .info .logo {
  margin: 0 0 48px;
}
.companyInfo .info table {
  text-align: left;
}
.companyInfo .info table th {
  padding: 8px 40px 8px 0;
}
.companyInfo .info table td {
  padding: 8px 0;
}
.companyInfo .map {
  width: 55%;
}
.companyInfo .map iframe {
  width: 100%;
}
/*.counterInfo */
.counterInfo {
  padding: 30px 20px 80px;
  margin: 40px 0;
  text-align: center;
}
.counterInfo-title {
  margin: 0 0 16px;
  font-size: 2rem;
  font-weight: 700;
}
.counterInfo-name {
  margin: 0 0 16px;
  font-size: 1.8rem;
  font-weight: 700;
}
.counterInfo-description {
  font-size: 1.4rem;
  line-height: 28px;
}
/*.termFlexList */
.termFlexList {
  display: flex;
  justify-content: space-between;
}
.termFlexList .left {
  margin: /*0 60px 0 0*/ 0 0;
}
.termFlexList .right {
  max-width: 360px;
}
.termFlexList .left .title {
  margin-bottom: 16px;
}
.termFlexList .left li:first-child {
  margin-top: 0;
}
.termWarning {}
.termWarning .label {
  margin: 0 0 8px;
  display: flex;
  align-items: center;
}
.termWarning .label i {
  margin: 0 6px 0 0;
}
.termWarning .label span {
  font-size: 1.4rem;
}
.termWarning .inner {
  padding: 16px 20px;
  background: #F5F5F5;
}
.termWarning .inner p {
  font-size: 1.4rem;
  line-height: 2;
  font-weight: 700;
}
/* page-contact */
.page-contact .row .content .sectionTitle {
  margin-bottom: 60px;
}
.page-contact .checkTitle {
  margin: 0 0 20px;
}
.page-contact .button-link-gray {
  margin-top: 40px;
}
/*.contactQList */
.contactQList {
  margin: 40px 0 -20px;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.contactQList ._item {
  max-width: 320px;
  width: 32%;
  margin: 0 0 40px;
  display: flex;
}
.contactQList a {
  width: 100%;
  padding: 20px;
  color: #212229;
  font-size: 1.4rem;
  line-height: 1.75;
  border: 1px solid #F5F5F5;
  box-shadow: 0px 4px 8px #F5F7FA;
  display: flex;
}
.contactQList a:hover {
  border: 1px solid #EB4755;
}
.contactQList a:before {
  content: "";
  width: 15px;
  height: 17px;
  margin: 0 8px 0 0;
  background: url(../images/icon_q.png) no-repeat;
  background-size: 100%;
  flex-shrink: 0;
  position: relative;
  top: 4px;
}
/* contactForm */
#contactFormWrap {
  max-width: 600px;
  padding: 0;
  margin: 0 auto;
}
.form-body {}
.form-item {
  width: 100%;
  margin: 0 0 40px;
  display: flex;
}
.form-item-check {
  text-align: center;
  display: block;
}
.form-item-submit {}
.form-label {
  width: 240px;
  padding: 12px 0 0 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  flex-shrink: 0;
}
.form-label.required:after {
  content: "*";
  padding: 0 0 0 4px;
  color: #EB4755;
}
.form-parts {
  width: 100%;
  font-size: 1.4rem;
  position: relative;
}
.form-box {
  position: relative;
}
.form-box label::after {
  content: "";
  width: 6px;
  height: 6px;
  border-bottom: 1px solid #2A364C;
  border-right: 1px solid #2A364C;
  position: absolute;
  top: calc(50% - 6px/2 - 2px);
  right: 20px;
  display: block;
  transform: rotate(45deg);
}
.form-select {
  width: 100%;
  padding: 14px 10px;
  line-height: 2;
  border: 1px solid #E6E6E6;
  background: #fff;
  cursor: pointer;
  position: relative;
}
.form-input {
  width: 100%;
  padding: 10px;
  line-height: 2;
  border: 1px solid #E6E6E6;
}
.form-textarea {
  width: 100%;
  padding: 10px;
  line-height: 2;
  border: 1px solid #E6E6E6;
}
.form-input::placeholder, .form-textarea::placeholder {
  font-size: 1.4rem;
  color: #212229;
  opacity: .5;
}
.form-error {
  display: inline-block;
  margin-top: 6px;
  font-weight: bold;
}
.form-checkbox {
  margin-top: 60px;
  font-size: 1.4rem;
  line-height: 24.5px;
}
.form-checkbox input[type="checkbox"] {
  display: none;
}
.form-checkbox input[type="checkbox"] + label {
  padding-left: 25px;
  padding-right: 10px;
  display: none;
  cursor: pointer;
  display: inline-block;
  position: relative;
}
.form-checkbox input[type="checkbox"] + label::before {
  content: "";
  width: 20px;
  height: 20px;
  margin-top: -10px;
  display: block;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 50%;
  border: 1px solid #E6E6E6;
  background-color: #FFF;
}
.form-checkbox input[type="checkbox"]:checked + label::after {
  content: "";
  width: 18px;
  height: 9px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  left: 3px;
  transform: rotate(-45deg);
  display: block;
  box-sizing: border-box;
  border-bottom: 3px solid;
  border-left: 3px solid;
  border-color: #EB4755;
}
.form-submit {
  width: 100%;
}
/*.cta */
.ctaMailForm {
  max-width: 500px;
  margin: 36px auto 0;
}
.ctaMailForm-body {
  margin: 0 0 36px;
  background: #fff;
  display: flex;
  align-items: center;
  box-shadow: 0px 4px 8px #F5F7FA;
  border-radius: 4px;
  overflow: hidden;
}
.ctaMailForm-input {
  width: 100%;
  padding: 0 16px;
  font-size: 1.8rem;
  border: none;
}
.ctaMailForm-input::placeholder {
  opacity: 0.5;
}
.ctaMailForm-submit {
  width: 148px;
  margin: 0;
  color: #fff;
  font-size: 1.8rem;
  line-height: 56px;
  font-weight: 700;
  background: #EB4755;
  flex-shrink: 0;
}
.ctaMailForm-submit:hover {
  background: #2A364C;
}
.ctaMailForm .link {
  color: #212229;
  font-size: 1.6rem;
}
.ctaMailForm .link:before {
  content: "";
  width: 8px;
  height: 13.5px;
  margin: 0 16px 0 0;
  background: url(../images/icon_linkarrow.png) no-repeat;
  background-size: 100%;
  display: inline-block;
}
.ctaMailForm .link:hover {
  text-decoration: underline;
}
.bg-color-red .title-medium {
  color: #fff;
}
.bg-color-red .ctaMailForm-body {
  box-shadow: none;
  border: 1px solid #fff;
}
.bg-color-red .link {
  color: #fff;
}
.bg-color-red .link:before {
  background: url(../images/icon_linkarrow_white.png) no-repeat;
  background-size: 100%;
}
.bg-color-red.footerCta .content {
  padding-top: 70px;
  padding-bottom: 50px;
}
.ctaContact {}
.ctaContact .title {
  margin-bottom: 40px;
}
.cta-recruit {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
}
.cta-recruit .note {
  color: #fff;
  background: linear-gradient(90deg, #F53D56 0%, #FF7366 100%);
  display: flex;
  align-items: center;
  order: 1;
}
.cta-recruit .inner {
  padding: 40px 62px 40px 90px;
}
.cta-recruit .title {
  margin: 0 0 24px;
}
.cta-recruit .text {
  margin: 0 0 54px;
}
.cta-recruit .image {
  width: 60%;
  order: 2;
}
.cta-recruit .image img {
  height: 100%;
  object-fit: cover;
}
/*.video*/
.video {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  border: 1px solid #F5F5F5;
  box-shadow: 0px 4px 8px rgb(0 0 0 / 10%);
}
.video ~ .button {
  margin-top: 54px;
}
/*.rule */
.Rule {
  width: 90%;
  margin: 0 auto;
  font-size: 1.4rem;
}
.Rule dl {
  overflow: hidden;
  display: table;
  width: 100%;
  padding-bottom: 5px;
  border-bottom: 1px dotted #BFBFBF;
  margin-bottom: 15px;
  line-height: 1.4;
}
.Rule dl dt {
  display: table-cell;
  vertical-align: top;
  box-sizing: border-box;
  width: 35%;
  padding: 0 2% 0 0
}
.Rule dl dd {
  display: table-cell;
  vertical-align: top;
  box-sizing: border-box;
  width: 65%;
}
/*.landing*/
#landing .txtEnd {
  margin-bottom: 4rem !important;
}
#landing .landingKv {
  width: 100%;
  max-width: 292px;
}
#landing .landingKv .catchTxt {
  text-align: center;
  margin-bottom: 1rem !important;
  font-size: 1.6rem;
  padding: 0;
}
#landing .landingKv .button {
  width: 100%;
  max-width: 260px;
  font-size: 2rem !important;
  padding: 18px 0 !important;
  margin: 2rem auto 0 !important;
}
.footer_cta {
  background: #F5F5F5;
}
.footer_cta.row .content {
  max-width: 1440px;
  padding: 40px 32px;
  width: 100%;
  margin: 0 auto;
}
/*.price*/
.priceBlock {
  width: 660px;
  height: auto;
  margin: 30px auto;
}
.priceBox {
  display: flex;
  justify-content: space-between;
  align-items: stretch
}
.priceBox .boxInner {
  width: 200px;
  padding: 15px 10px;
}
.priceBox .boxInner .label {
  display: inline-block;
  padding: 8px 12px;
  border-radius: 12px;
  line-height: 1;
  letter-spacing: 1px;
}
.priceBox .boxInner .pick {
  font-size: 2.25rem;
  font-weight: bold;
}
.priceBox .box-red {
  color: #EB4755;
  border: 6px solid #EB4755;
  border-radius: 12px;
}
.priceBox .box-red .label {
  color: white;
  background: #EB4755;
}
.priceBox .box-red .pick {
  font-size: 5rem;
}
.priceBox .box-green {
  color: #3CB371;
  border: 6px solid #3CB371;
  border-radius: 12px;
}
.priceBox .box-green .label {
  color: white;
  background: #3CB371;
}
.priceBox .box-green .pick {
  font-size: 5rem;
}
.priceBox .box-blue {
  color: #4755eb;
  border: 6px solid #4755eb;
  border-radius: 12px;
}
.priceBox .box-blue .label {
  color: white;
  background: #4755eb;
}
.priceBox .box-blue .pick {
  line-height: 1.4;
  margin-top: 20px;
}
.priceTable {
  width: 660px;
  margin: 0 auto 80px;
}
.priceTable .basicTable thead th:first-child {
  width: 180px;
}
.optionTitle {
  line-height: 1.4;
  margin-bottom: 10px;
}
.flexCard.flex2.optionList ._item {
  margin-bottom: 20px;
}
/*===========================

 1024px under display 
 tablet

=============================*/
@media screen and (max-width: 1024px) {
  /*=======================================
      COMMON PARTS
    =======================================*/
  /*.row */
  .row {}
  .row > .content {
    padding: 80px 4%;
  }
  .page-plan .row > .content {
    padding: 80px 4%;
  }
  .page-plan .row.bg-redLiner > .content {
    padding: 80px 4%;
  }
  .page-general .row > .content {
    padding: 80px 4%;
  }
  .page-general .row > .content.top120 {
    padding-top: 120px;
  }
  .row > .content.min {
    padding: 60px 4%;
  }
  /* title */
  .title-Xlarge {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .title-large {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .title-medium {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .title-small {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .title-Xsmall {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
  }
  /*.text */
  .text-Xlarge {
    font-size: 1.4rem;
    line-height: 2;
  }
  .text-large {
    font-size: 1.4rem;
    line-height: 2;
  }
  .text-default {
    font-size: 1.4rem;
    line-height: 2;
  }
  .text-default > p {
    margin: 2em 0 0;
  }
  .text-align-right {
    text-align: right;
  }
  .text-align-center {
    text-align: center;
  }
  .text-last-update {
    margin-top: 40px;
  }
  /*.list */
  .list-servicePoint {}
  .list-servicePoint > li {
    font-size: 1.6rem;
  }
  .list-servicePoint > li span {
    font-size: 1.4rem;
  }
  .icon-listArrow {
    padding: 0 0 0 30px;
    position: relative;
  }
  .icon-listArrow:before {
    top: 1px;
  }
  /*=======================================
      BASE LAYOUT
    =======================================*/
  /* #header */
  #header {}
  #header .content {
    height: 50px;
    border-bottom: 1px solid #EBEBEB;
    position: relative;
  }
  #siteName {
    width: 126px;
    height: 50px;
    margin: 0;
    padding: 0 0 0 16px;
    flex-shrink: 0;
  }
  #gNav {
    width: 300px;
    position: relative;
    top: 70px;
    right: 4px;
    z-index: 999;
  }
  #gNav:before {
    content: "";
    width: 52px;
    height: 49px;
    background: url(../images/icon_gnav_menu.png) no-repeat center center #EB4755;
    background-size: 100%;
    display: block;
    position: absolute;
    top: -70px;
    right: -4px;
    cursor: pointer;
  }
  #gNav.active:before {
    background: url(../images/icon_gnav_menu_active.png) no-repeat center center #EB4755;
    background-size: 100%;
  }
  #gNav .inner {
    display: block;
    background: #F5F5F5;
    border-radius: 8px;
    border: 2px solid #EB4755;
    box-shadow: -8px 6px 10px rgba(0, 0, 0, .5);
    display: none;
  }
  #gNav .inner:before {
    content: "";
    position: absolute;
    top: -36px;
    right: 0px;
    border: 20px solid transparent;
    border-bottom: 30px solid #EB4755;
    z-index: -1;
  }
  #gNav.active .inner {
    display: block;
  }
  #gNav .list {
    display: block;
  }
  #gNav .list li {
    margin: 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #e3e3e3;
  }
  #gNav .list li:first-child {
    border-top: none;
  }
  #gNav .list a {
    padding: 16px 20px;
    display: block;
  }
  #gNav .list a:hover {
    color: #EB4755;
  }
  #gNav .gNav-cta-link {
    padding: 0;
    margin: 16px;
    line-height: 50px;
    text-align: center;
    border-radius: 8px;
  }
  #gNav .gNav-cta-link:hover {
    background: #2A364C;
  }
  /*=======================================
      CONTENTS PARTS
    =======================================*/
  /* page header */
  #header-home {}
  #header-home .content {
    padding: 0 0 0 2%;
  }
  #header-home .kyachiImage {
    margin: 0;
  }
  #header-home .kyachiImage .image {}
  #header-home .kyachiImage .image.item-1 {
    width: 433px;
  }
  #header-home .kyachiImage .image.item-2 {
    width: 393px;
  }
  #header-home .note {
    height: 660px;
    padding: 120px 0 0 16px;
  }
  #header-home .note h1 {}
  #header-home .note p {}
  #header-home .note .button {}
  #header-home .note .scroll {
    left: 8px;
  }
  #header-general {}
  #header-general .content {
    min-height: 292px;
  }
  #header-general .bg {
    width: 240px;
  }
  #header-service {}
  #header-service .inner {
    height: 340px;
  }
  #header-service .image {
    width: 70%;
  }
  #header-company {}
  #header-company .content {
    height: 400px;
  }
  #header-company .image img {
    height: 400px;
  }
  /*.flexList */
  .flexList {}
  .flexList ._item {
    width: 100%;
    display: flex;
    align-items: center;
  }
  .flexList.flexSideImage {}
  .flexList.flexSideImage ._item {
    margin: 0 0 100px;
  }
  .flexList.flexSideImage ._item .image {}
  .flexList.flexSideImage ._item .note {}
  .flexList.flexSideImage ._item .note:before {
    font-size: 20rem;
  }
  .flexList.flexSideImage .title {
    margin: 0 0 28px;
  }
  .flexList.home {
    padding-top: 40px;
  }
  .flexList.home ._item {
    margin: 0 0 120px;
  }
  .flexList.home ._item .note:before {
    top: -60px;
  }
  .flexList.service {}
  .flexList.service ._item .image {
    width: 40%;
  }
  .flexList.service ._item .note {
    width: 60%;
  }
  .flexList.ourBusiness {}
  .flexList.ourBusiness ._item .note {
    padding: 0 0 0 60px;
  }
  /*.flexReviewer */
  .flexReviewer {}
  .flexReviewer ._item {
    width: 46%;
  }
  /*.plan */
  .flexPlan {
    align-items: center;
  }
  .planCard {
    width: 25%;
    padding: 36px 20px;
    border: 1px solid #F5F5F5;
  }
  .planCard.check {
    border: 1px solid #EB4755;
    background: #FFD9D9;
  }
  .planCard .title {
    font-size: 1.4rem;
  }
  .planCard .text {
    font-size: 1.2rem;
  }
  .planCard .value {}
  .planCard .value .yen {
    font-size: 1.8rem;
  }
  .planCard .value .num {
    font-size: 2.4rem;
  }
  .planCard .value .month {
    font-size: 1.2rem;
  }
  /*.serviceFullListBox */
  .serviceList {
    padding: 40px 4%;
  }
  .serviceList ._item {
    display: block;
  }
  .serviceList .image {
    width: 100%;
    text-align: center;
  }
  .serviceList .note {
    padding: 0;
  }
  .page-plan .serviceList {
    padding-bottom: 0;
    margin-bottom: -80px;
  }
  .serviceListSub {
    padding: 40px 4%;
  }
  .serviceList ~ .serviceListSub, .serviceListSub ~ .serviceListSub {
    padding: 0 4% 40px;
  }
  .serviceListSub ._item {
    display: block;
  }
  .serviceListSub.flexCard.flex3 ._item {
    margin-bottom: 30px;
  }
  .serviceListSub .image {
    width: 100%;
    text-align: center;
  }
  .serviceListSub .note {
    padding: 0;
  }
  .page-plan .serviceListSub {
    padding-bottom: 0;
    margin-bottom: -80px;
  }
  /* developerMessage */
  .developerMessage {}
  .developerMessageBox {
    width: 540px;
    margin: 0 auto;
    display: block;
  }
  .developerMessageBox .image {
    width: 100%;
  }
  .developerMessageBox .note {
    width: 100%;
    padding: 40px 0;
  }
  /*.freePlan */
  .freePlan {
    padding: 48px 40px;
  }
  /*.plan */
  .flexPlan {
    align-items: stretch;
  }
  .flexPlan .button {
    font-size: 1.6rem;
  }
  /*.planTable */
  .planTable {}
  .basicTable {
    font-size: 1.4rem;
  }
  .basicTable thead {}
  .basicTable thead th {
    vertical-align: middle;
  }
  /*.companyInfo */
  .companyInfo {
    width: 600px;
    padding: 40px 0;
    margin: 0 auto;
    display: block;
  }
  .companyInfo .info {
    width: 100%;
    margin: 0 0 40px;
  }
  .companyInfo .info .logo {
    text-align: center;
  }
  .companyInfo .info table {
    margin: 0 auto;
  }
  .companyInfo .map {
    width: 100%;
  }
  .companyInfo .map iframe {
    width: 100%;
  }
  /*.cta */
  .cta-recruit {}
  .cta-recruit .inner {
    padding: 40px;
  }
  .cta-recruit .text {
    margin: 0 0 24px;
  }
  /*.landing*/
  #landing .landingKv .catchTxt {
    font-size: 1.4rem;
  }
  #landing .button {
    font-size: 1.6rem !important;
  }
}
/*===========================

 767px under display

=============================*/
@media screen and (max-width: 767px) {
  /*.price*/
  .priceBlock {
    width: 100%;
  }
  .priceBox {
    display: flex;
    flex-wrap: wrap;
  }
  .priceBox .boxInner {
    max-width: 48%;
    width: 100%;
    box-sizing: border-box;
  }
  .priceBox .boxInner .pick {
    font-size: 2.25rem;
  }
  .priceBox .box-red .pick {
    font-size: 5rem;
  }
  .priceBox .box-green .pick {
    font-size: 5rem;
  }
  .priceBox .box-blue {
    max-width: 100%;
    width: 100%;
    margin-top: 20px;
  }
  .priceBox .box-blue .pick {
    font-size: 3.5rem;
    line-height: 1.2;
  }
  .priceBox .box-blue .pick span {
    font-size: 2.25rem;
  }
  .priceTable {
    width: 100%;
  }
}
/*===========================

 640px under display

=============================*/
@media screen and (max-width: 640px) {
  /*=======================================
      COMMON PARTS
    =======================================*/
  /* display */
  .spNone {
    display: none;
  }
  .pcNone {
    display: block;
  }
  /*.row */
  .row {}
  .row > .content {
    padding: 40px 6%;
  }
  .page-plan .row > .content {
    padding: 60px 4%;
  }
  .row.cta-recruit-wrap > .content {
    padding: 0 6% 60px;
  }
  .page-plan .row.bg-redLiner > .content {
    padding: 80px 0;
  }
  .page-general .row > .content.top120 {
    padding-top: 120px;
  }
  .row > .content.min {
    padding: 60px 4%;
  }
  .row > .content .sectionTitle {
    margin: 0 0 24px;
  }
  .row > .content .sectionDescription {
    margin: 0 0 40px;
    text-align: center;
  }
  .bg-redLiner {
    background: url(../images/bg_reviewer_sp.png) no-repeat top left;
    background-size: cover;
  }
  .row.reviewer > .content {
    padding: 80px 0 160px;
    margin-bottom: -60px;
  }
  .page-plan .row.reviewer > .content {
    padding: 60px 0 160px;
  }
  /* title */
  .title-Xlarge {
    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.4;
  }
  .title-large {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .title-medium {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .title-small {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .title-Xsmall {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
  }
  .sectionTitle.title-medium, .sectionTitle.title-Xlarge {
    font-size: 2.4rem;
  }
  /* text */
  .text-left-sp {
    text-align: left !important;
  }
  /* button */
  .button-link-red {
    padding: 10px 0;
    font-size: 2rem;
    line-height: 40px;
  }
  /* br */
  br.sp {
    display: inline;
  }
  br.spNone {
    display: none;
  }
  /*=======================================
      BASE LAYOUT
    =======================================*/
  /* #wrapper */
  #wrapper {}
  /* #contents */
  #contents {}
  /* #main*/
  #main {}
  /* #footer */
  #pankuz {}
  #pankuz ul {
    padding: 0 6%;
  }
  #footer {position: relative;}
  #footerContent {
    padding: 32px 6% 24px;
    margin: 0 auto;
    color: #fff;
  }
  #footerContent .inBox {
    display: block;
  }
  #footerContent-siteName {
    text-align: center;
  }
  #footerContent-siteName img {
    width: 126px;
  }
  #footerContent-Menu {}
  #footerContent-Menu .list {
    display: block;
  }
  #footerContent-Menu li {
    margin: 0 0 32px;
  }
  #footerContent-Menu a {
    opacity: .6;
  }
  #footerContent-Menu a:hover {
    color: #DC3E53;
  }
  #copyright {
    margin: 20px 0 0;
    text-align: center;
    opacity: .6;
    font-size: 1.2rem;
  }
  /*=======================================
      CONTENTS PARTS
    =======================================*/
  /* page header */
  #header-home {
    padding: 8px 0 40px;
  }
  #header-home .content {
    padding: 0 6%;
  }
  #header-home .kyachiImage {
    width: 100%;
    height: 300px;
    margin: 0 0 0 0;
    position: relative;
  }
  #header-home .kyachiImage .image {}
  #header-home .kyachiImage .image.item-1 {
    width: 100%;
    padding: 0 0 0 20%;
    top: 0;
    left: 0;
  }
  #header-home .kyachiImage .image.item-2 {
    width: 76%;
    top: 0;
    left: 0;
  }
  #header-home .note {
    height: auto;
    padding: 0;
  }
  #header-home .note h1 {
    margin: 0 0 16px;
  }
  #header-home .note p {
    padding: 0;
    margin: 0 0 38px;
  }
  #header-home .note .button {
    max-width: 240px;
    margin: 0 auto;
  }
  #header-home .note .scroll {
    display: none;
  }
  #header-service {
    overflow: visible;
    padding-bottom: 60px;
    margin-bottom: 60px;
  }
  #header-service .content {
    padding-top: 60px;
    overflow: visible;
  }
  #header-service .inner {
    height: auto;
    position: relative;
  }
  #header-service .title {
    margin-bottom: 34px;
    display: block;
  }
  #header-service .image {
    width: 100%;
    padding: 0 2%;
    margin-bottom: -120px;
    position: static;
  }
  #header-company {}
  #header-company .title {
    font-size: 2.8rem;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, .5);
  }
  #header-general {}
  #header-general .content {
    min-height: 133px;
    padding-top: 20px;
    padding-bottom: 4px;
  }
  .page-plan #header-general .content {
    padding-top: 60px;
    padding-bottom: 44px;
  }
  #header-general .bg {
    width: 98px;
  }
  /* flexCard */
  .flexCard {
    display: block;
  }
  .flexCard ._item .image {
    margin: 0 0 8px;
    text-align: center;
  }
  .flexCard ._item .title {
    margin: 0 0 16px;
    font-size: 2rem;
  }
  .flexCard.flex3 {
    margin-bottom: 0;
  }
  .flexCard.flex3 ._item {
    max-width: 100%;
    width: 100%;
    margin: 0 0 60px;
  }
  .flexCard.flex3 ._item:last-child {
    margin: 0 0 0px;
  }
  .flexCard.flex2 {
    margin-bottom: 0;
  }
  .flexCard.flex2 ._item {
    max-width: 100%;
    width: 100%;
    margin: 0 0 60px;
  }
  .flexCard.center {}
  .flexCard.center ._item {
    text-align: center;
  }
  .flexCard.arrow {}
  .flexCard.arrow ._item {}
  .flexCard.arrow ._item:after {
    display: none;
  }
  /*.flexList */
  .flexList {}
  .flexList ._item {
    width: 100%;
    display: block;
  }
  .flexList.flexSideImage {}
  .flexList.flexSideImage ._item {
    margin: 0 0 60px;
  }
  .flexList.flexSideImage ._item .image {
    width: 100%;
    margin: 0 0 12px;
  }
  .flexList.flexSideImage ._item .note {
    width: 100%;
    padding: 0;
  }
  .flexList.flexSideImage ._item .note:before {
    font-size: 14.4rem;
  }
  .flexList.flexSideImage ._item:nth-child(even) .note {
    padding: 0;
  }
  .flexList.flexSideImage .title {
    margin: 0 0 16px;
    font-size: 2rem;
  }
  .flexList.home {
    padding-top: 0;
  }
  .flexList.home ._item {}
  .flexList.home ._item .image {
    width: 100%;
    margin: 0 0 32px;
  }
  .flexList.home ._item .note:before {
    top: -40px;
    right: 0;
  }
  .flexList.service {}
  .flexList.service ._item {
    margin: 0 0 100px;
  }
  .flexList.service ._item:last-child {
    margin: 80px 0 0;
  }
  .flexList.service ._item .note:before {
    top: -20px;
    right: 0;
  }
  .flexList.ourBusiness {
    padding: 0;
  }
  .flexList.ourBusiness ._item .image {
    margin: 0 0 40px;
  }
  .flexList.ourBusiness ._item .note {
    padding: 0;
    position: relative;
  }
  .flexList.ourBusiness ._item .note:before {
    margin-top: -0.7em;
  }
  .flexList.ourBusiness ._item .title {
    margin: 0 0 32px;
  }
  .flexList.members {}
  .flexList.members ._item {}
  .flexList.members ._item .image {
    padding: 0 20px;
    margin-bottom: 40px;
  }
  .flexList.members ._item .note {}
  .flexList.members ._item .note:before {
    width: 75px;
    height: 144px;
    top: 0;
    right: 0;
    background-size: 100%;
  }
  .flexList.members ._item:nth-child(even) .note:before {
    right: 0;
  }
  .flexList.members .title {
    margin: 0 0 20px;
  }
  .flexList.members .meta {
    margin: 0 0 24px;
  }
  .flexList.members .meta:after {
    content: '';
    width: 100%;
    height: 1px;
    background: #EB4755;
    position: absolute;
    top: 50%;
    left: 0;
    z-index: -1;
  }
  .flexList.members .name {
    background: #fff;
  }
  .flexList.members .skill {
    padding: 0 16px 0;
    background: #fff;
  }
  /*.flexReviewer */
  .flexReviewer {
    width: 100%;
    padding: 0 20px 16px 0;
    margin: 0 0 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: scroll;
  }
  .page-plan .flexReviewer {
    padding: 20px 20px 16px 0;
  }
  .flexReviewer ._item {
    width: 307px;
    margin: 0 0 0 20px;
    flex-shrink: 0;
  }
  .reviewerCard {
    padding: 25px;
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid #F5F5F5;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, .1);
    border-radius: 4px;
  }
  .reviewerCard .head {
    margin: 0 0 18px;
    display: flex;
    align-items: center;
  }
  .reviewerCard .image {
    width: 60px;
    margin: 0 20px 0 0;
    flex-shrink: 0;
  }
  .reviewerCard .note {
    line-height: 1.75;
  }
  .reviewerCard .label {
    font-size: 1.6rem;
    display: block;
  }
  .reviewerCard .label-sub {
    font-size: 1.3rem;
    display: block;
  }
  .reviewerCard .text {
    font-size: 1.4rem;
    line-height: 1.75;
  }
  /*.plan */
  .flexPlan {
    margin: 40px 2% 40px;
    padding: 0;
    display: block;
  }
  .planCard {
    width: 96%;
  }
  .planCard.check {}
  .planCard .title {
    font-size: 2rem;
  }
  .planCard .text {
    font-size: 1.4rem;
  }
  .planCard .value {
    font-weight: 700;
  }
  .planCard .value .yen {
    font-size: 2.8rem;
  }
  .planCard .value .num {
    font-size: 4.4rem;
  }
  .planCard .value .month {
    font-size: 1.6rem;
  }
  .planCard .value .subText {
    margin: 8px 0 0;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.75;
    display: block;
  }
  .planCard .list {
    margin: 24px 0 40px;
    text-align: left;
  }
  .planCard .list li {
    padding: 6px 0;
  }
  .planCard .button {
    max-width: 240px;
    padding-top: 6px;
    padding-bottom: 6px;
  }
  /*.serviceFullListBox */
  .serviceFullList > ._item {
    margin: 0 0 60px;
  }
  .serviceList {
    padding: 20px 2%;
  }
  .serviceList ._item {
    margin-bottom: 10px !important;
  }
  .serviceList ._item:last-child {
    margin-bottom: 0px !important;
  }
  .serviceList .name {
    font-size: 1.6rem;
  }
  /* developerMessage */
  .developerMessage {}
  .developerMessageBox {
    width: 100%;
    padding-bottom: 0px;
  }
  .developerMessageBox .image {}
  .developerMessageBox .note {
    width: 100%;
    padding: 20px 0 0;
  }
  /*.freePlan */
  .freePlan {
    padding: 28px 24px;
    display: block;
  }
  .freePlan li {
    width: 100%;
    padding: 10px 0;
    font-size: 1.6rem;
  }
  .freePlan .icon-listArrow:before {
    top: 2px;
  }
  /*.planTable */
  .planTable {
    margin: 0 -5% 0 0;
    overflow-x: scroll;
  }
  .basicTable {
    width: 100%;
    font-size: 1.4rem;
  }
  .basicTable thead {}
  .basicTable thead th {
    vertical-align: middle;
  }
  .basicTable thead th:first-child {
    width: 210px;
  }
  /*.qaList */
  .qaList-wrap .content {
    padding-top: 0 !important;
  }
  .qaList {
    width: 100%;
  }
  .qaList ._item {
    font-size: 1.6rem;
  }
  .qaList span {
    display: block;
  }
  .qaList .q {
    font-weight: 700;
    cursor: pointer;
  }
  .qaList .active .q {
    margin-bottom: 10px;
  }
  /*.redMessageRow */
  .redMessageRow {}
  .row.redMessageRow .content {
    padding: 70px 3% 60px;
  }
  .redMessageRow .sectionTitle {
    font-size: 2.4rem;
  }
  .redMessageRow.message .sectionTitle {
    font-size: 2rem;
  }
  .redMessageRow p {
    margin: 0 0 2em;
  }
  .redMessageRow p:last-child {
    margin: 0;
  }
  /* company reviewer */
  .page-company .reviewer .sectionTitle {
    padding: 0 6%;
    font-size: 2rem;
  }
  /*.companyInfo */
  .companyInfo {
    width: 100%;
    padding: 20px 0;
  }
  .companyInfo .info {}
  .companyInfo .info .logo {
    margin: 0 0 28px;
  }
  .companyInfo .info table {
    width: 100%;
  }
  .companyInfo .map {}
  .companyInfo .map iframe {
    height: 250px;
  }
  /* page-privacy */
  .page-privacy .row > .content.top120 {
    padding-top: 60px;
  }
  .page-privacy .sectionTitle.title-small {
    font-size: 2rem;
  }
  /*.counterInfo */
  .counterInfo {
    padding: 30px 20px 30px;
    margin: 40px 0;
    text-align: center;
  }
  .counterInfo-title {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .counterInfo-name {
    font-size: 1.4rem;
  }
  .counterInfo-description {
    font-size: 1.3rem;
  }
  /* page-term */
  .page-term .row > .content.top120 {
    padding-top: 32px;
  }
  .page-term .sectionTitle.title-small {
    margin-bottom: 40px;
    font-size: 2rem;
  }
  /*.termFlexList */
  .termFlexList {
    display: block;
  }
  .termFlexList .left {
    margin: 0;
  }
  .termFlexList .right {
    max-width: 100%;
    margin-top: 40px;
  }
  /* page-contact */
  .page-contact .sectionTitle.title-small {
    margin-bottom: 40px;
    font-size: 2rem;
  }
  .page-contact .sectionTitle.title-Xsmall {
    margin-bottom: 40px !important;
    font-size: 2rem;
  }
  .page-contact .icon-listArrow {
    padding-left: 0;
  }
  .page-contact .icon-listArrow:before {
    display: block;
    margin: 0 auto 8px;
  }
  /*.contactQList */
  .contactQList {
    margin: 40px 0 0;
    text-align: left;
    display: block;
  }
  .contactQList ._item {
    max-width: 100%;
    width: 100%;
    margin: 0 0 20px;
  }
  /* contactForm */
  #contactFormWrap {
    max-width: 100%
  }
  .form-body {}
  .form-item {
    display: block;
  }
  .form-item-submit {}
  .form-label {
    width: 100%;
    padding: 0;
    margin-bottom: 8px;
    font-size: 1.6rem;
    display: block;
  }
  .form-checkbox {
    margin-top: 40px;
    text-align: left;
  }
  .form-checkbox input[type="checkbox"] + label {
    padding-left: 20px;
  }
  .form-checkbox input[type="checkbox"] + label::before {
    width: 16px;
    height: 16px;
    margin-top: 0;
    top: 4px;
  }
  .form-checkbox input[type="checkbox"]:checked + label::after {
    width: 16px;
    height: 7px;
    margin-top: 0;
    top: 4px;
  }
  /*.cta */
  .cta-formWrap {}
  .cta-formWrap .title-medium {
    font-size: 2.4rem;
  }
  .ctaMailForm {
    margin: 24px auto 0;
  }
  .ctaMailForm-body {
    margin: 0 0 24px;
  }
  .ctaMailForm-input {
    font-size: 1.4rem;
  }
  .ctaMailForm-submit {
    width: 124px;
    font-size: 1.4rem;
    line-height: 48px;
  }
  .ctaMailForm .link {
    font-size: 1.4rem;
  }
  .ctaMailForm .link:before {
    margin: 0 8px 0 0;
    position: relative;
    top: 2px;
  }
  .bg-color-red.footerCta .content {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .ctaContact {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .ctaContact .title {
    margin-bottom: 28px;
    font-size: 2rem;
  }
  .ctaContact .button {
    width: 240px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 1.6rem;
  }
  .cta-recruit {
    display: block;
  }
  .cta-recruit .note {
    display: flex;
    align-items: center;
  }
  .cta-recruit .inner {
    padding: 30px;
  }
  .cta-recruit .title {
    margin: 0 0 24px;
    font-size: 2.4rem;
  }
  .cta-recruit .text {
    margin: 0 0 36px;
  }
  .cta-recruit .image {
    width: 100%;
    height: 180px;
  }
  .cta-recruit .image img {
    width: 100%;
    height: 180px;
  }
  .cta-recruit .button {
    font-size: 1.6rem
  }
  /*.rule */
  .Rule {
    width: 100%;
  }
  /*.landing*/
  #landing .landingKv {
    max-width: none;
  }
  #landing .landingKv .catchTxt {
    font-size: 1.4rem;
  }
  #landing .button {
    font-size: 1.4rem !important;
    line-height: 1.4;
  }
  /*----------------------------------------*/
}
/*========================================
triplex調整
======================*/
#header-home .kyachiImage {
  height: auto;
}
#header-home .kyachiImage .image.item-1 {
  width: 75%;
  padding: 0;
  right: -40px;
  left: inherit;
  top: 10px;
}
#header-home .kyachiImage .image.item-2 {
  left: inherit;
  right: -100px;
  top: -30px;
  opacity: 0.5 !important;
}
#header-home .note h1 {
  font-size: min(6.5vw, 46px)
}
rt, .pink {
  color: #EB4755
}
.bg_pink {
  background-color: #EB4755;
  color: white;
  text-shadow: none;
  padding: 4px;
  margin-right: 4px;
  border-radius: 4px;
}
#header-home .note p {
  font-weight: bold
}
.catchTxt02 {
  text-align: center;
  font-size: min(5.5vw, 26px);
  line-height: 1.5;
  background-color: white;
  margin-bottom: 28px !important;
}
#header-home p.text-Xlarge.txtEnd {
  margin-bottom: min(5vw, 3rem) !important;
  font-size: min(4vw, 30px) !important;
}
.br_pc {
  display: block;
}
@media (min-width:550px) {
  #header-home .kyachiImage .image.item-1 {
    right: -60px;
  }
}
@media (min-width:641px) {
  #header-home .note {
    padding: 0;
    padding-left: 5%;
    height: auto;
  }
  #header-home .note h1 {
    margin-bottom: 24px;
  }
  #header-home .note p {
    padding-left: 0;
  }
  #header-home .kyachiImage .image.item-1 {
    right: 2%;
    width: 60%;
    max-width: 633px;
  }
  #header-home .kyachiImage .image.item-2 {
    width: 55vw;
    right: -80px;
    top: -50px;
    max-width: 593px;
  }
  #landing .landingKv {
    max-width: 100%;
  }
  .catchTxt02 {
    margin-bottom: 40px !important;
  }
  #landing .landingKv .catchTxt {
    font-size: 2.0rem;
  }
}
@media (min-width:1024px) {
  .br_pc {
    display: none;
  }
  #header-home .kyachiImage .image.item-1 {
    right: 0;
    width: 60%;
    top: 40px;
  }
  #header-home .kyachiImage .image.item-2 {
    left: inherit;
    right: -120px;
    top: 0px;
    opacity: 1 !important;
  }
  #landing .landingKv {
    max-width: 450px;
  }
  .text-Xlarge {
    line-height: 1.7;
  }
  .catchTxt02 {
    text-align: left;
    background: none;
    font-weight: normal !important;
  }
  #landing .landingKv .catchTxt {
    text-align: left;
  }
  #landing .landingKv .button {
    margin: 20px 0 0 16px !important;
  }
  #header-home p.text-Xlarge.txtEnd {
    font-weight: normal;
  }
  .bg_pink {
    padding: 4px 8px;
    margin-right: 8px;
  }
  #animate_move {
    padding-top: 160px;
  }
}
@media (min-width:1300px) {
  #header-home .kyachiImage .image.item-1 {
    right: 15%;
  }
  #header-home .kyachiImage .image.item-2 {
    right: 100px;
  }
}
.lec rt {
  color: inherit;
  font-size: 12px;
  margin-bottom: 4px;
}