@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
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, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
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, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  /* add text-decoration */
  text-decoration: none;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
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;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

/* add box-sizing */
*, *::before, *::after {
  box-sizing: border-box;
}

/*========================================
 settings
========================================*/
/* media queries
----------------------------------------*/
/* PC表示用（印刷用） */
/* color
----------------------------------------*/
/* キーカラー */
/* 一般色 */
/* その他 */
/*========================================
 mixin
========================================*/
/* font
----------------------------------------*/
/* font-size（rem・px） */
/* リンクアイコン
----------------------------------------*/
/*
$arr-size：アイコンの大きさ
$arr-mr：アイコンとテキストの余白 margin-right
$arr-mb：アイコンの上下位置の調整 margin-bottom
$arr-width：アイコンの線の太さ デフォルトは2px
$arr-color：アイコンの色 デフォルトはcolor-pink（#ff70b8）
$arr-rotate：アイコンの向き デフォルトは45deg　アコーディオンに表示する場合に角度を変更
*/
/*========================================
1.基本設定
2.ヘッダー
3.グローバルナビ(SP)
4.グローバルナビ(PC)
5.メインエリア
6.フッター
7.印刷時非表示
99.Utilities
========================================*/
/*========================================
　1.基本設定
========================================*/
/* 共通要素
----------------------------------------*/
html {
  font-size: 62.5%;
  font-family: sans-serif;
}

body {
  color: #101010;
  font-size: 1.6rem; /* 16px*/
  line-height: 1.7;
  /* iOS：文字サイズの自動調整を解除 */
  -webkit-text-size-adjust: 100%;
}

html.sp-fixed,
html.sp-fixed body {
  overflow: hidden;
  width: 100%;
}
@media print, screen and (min-width:960px) {
  html.sp-fixed,
  html.sp-fixed body {
    overflow: visible;
  }
}

img {
  max-width: 100%;
}

@media print, screen and (min-width:600px) {
  html {
    height: 100%;
  }
  body.wrap {
    min-height: 100%;
    display: flex;
    flex-direction: column;
  }
  .contents-area {
    flex: 1 1 auto;
  }
}
_:-ms-lang(x)::-ms-backdrop, body.wrap .contents-area {
  min-height: calc(100vh - 80px - 105px);
}

/* inner：header,footer,content-area,page-pathで共通 */
.inner {
  width: 100%;
  padding: 0 15px;
}
@media print, screen and (min-width:600px) {
  .inner {
    padding: 0 30px;
  }
}
@media print, screen and (min-width:960px) {
  .inner {
    max-width: 1060px;
    margin: 0 auto;
    padding: 0 25px;
  }
}

/* 見出し
----------------------------------------*/
/* H1:
　画像付きの場合は.headings1に.{階層名}-bgimgのclassをつける
　画像は/images/に「bgimg_h1.png」を置く
*/
.headings1 {
  margin-bottom: 1.38em;
  padding: 1.2em 0;
  font-size: 28px;
  font-size: 2.8rem;
  border-bottom: 2px solid #0828A5;
}
@media print, screen and (min-width:960px) {
  .headings1 {
    font-size: 36px;
    font-size: 3.6rem;
  }
}
.headings1 h1 {
  line-height: 1.25;
}
.headings1 .lead {
  margin-bottom: 1.42em;
  font-size: 14px;
  font-size: 1.4rem;
}
@media print, screen and (min-width:960px) {
  .headings1 .lead > span {
    display: block;
  }
}
.headings1.service-bgimg {
  padding: 1.2em 0 0.5em;
  background-image: url(../../service/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
}
@media print, screen and (min-width:960px) {
  .headings1.service-bgimg {
    height: 200px;
    padding: 1.2em 0;
    background-position: left calc(50vw - 250px) top 0;
    background-size: auto 200px;
  }
}
.headings1.service-bgimg h1 {
  padding-bottom: 0.5em;
}
.headings1.case-bgimg {
  padding: 1.2em 0 0.5em;
  background-image: url(../../case/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
}
@media print, screen and (min-width:960px) {
  .headings1.case-bgimg {
    height: 200px;
    padding: 1.2em 0;
    background-position: left calc(50vw - 250px) top 0;
    background-size: auto 200px;
  }
}
.headings1.case-bgimg h1 {
  padding-bottom: 0.5em;
}
.headings1.recruit-bgimg {
  padding: 1.2em 0 0.5em;
  background-image: url(../../recruit/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
}
@media print, screen and (min-width:960px) {
  .headings1.recruit-bgimg {
    height: 200px;
    padding: 1.2em 0;
    background-position: left calc(50vw - 250px) top 0;
    background-size: auto 200px;
  }
}
.headings1.recruit-bgimg h1 {
  padding-bottom: 0.5em;
}
.headings1.company-bgimg {
  padding: 1.2em 0 0.5em;
  background-image: url(../../company/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
}
@media print, screen and (min-width:960px) {
  .headings1.company-bgimg {
    height: 200px;
    padding: 1.2em 0;
    background-position: left calc(50vw - 250px) top 0;
    background-size: auto 200px;
  }
}
.headings1.company-bgimg h1 {
  padding-bottom: 0.5em;
}
.headings1.guideline-bgimg {
  padding: 1.2em 0 0.5em;
  background-image: url(../../guideline/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
}
@media print, screen and (min-width:960px) {
  .headings1.guideline-bgimg {
    height: 200px;
    padding: 1.2em 0;
    background-position: left calc(50vw - 250px) top 0;
    background-size: auto 200px;
  }
}
.headings1.guideline-bgimg h1 {
  padding-bottom: 0.5em;
}

/* H2,H3,H4 */
h2 {
  margin-bottom: 0.66em;
  color: #0828A5;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.25;
}
@media print, screen and (min-width:960px) {
  h2 {
    font-size: 30px;
    font-size: 3rem;
  }
}

h3 {
  margin: 0 0 0.6em 1.2em;
  text-indent: -1.2em;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25;
  /* アイコン */
}
@media print, screen and (min-width:960px) {
  h3 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
h3::before {
  content: "";
  display: inline-block;
  width: 0.8em;
  height: 3px;
  margin: 0 0.4em 0.3em 0;
  background-color: #101010;
}

h4 {
  margin-bottom: 0.5em;
  font-size: 18px;
  font-size: 1.8rem;
}
@media print, screen and (min-width:960px) {
  h4 {
    font-size: 20px;
    font-size: 2rem;
  }
}

/* 余白 */
h2 ~ h2,
h3 ~ h3 {
  margin-top: 1.5em;
}

/* リンク
----------------------------------------*/
/* 基本設定 */
a {
  color: #101010;
  text-decoration: none;
}
a:hover {
  color: #ff8dc6;
}

/* テキストリンク：アイコン */
.link {
  display: inline-block;
  margin-left: 12px;
  text-indent: -12px;
}
.link::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 6px 3px 0;
  border-top: solid 2px #ff70b8;
  border-right: solid 2px #ff70b8;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.ico-pdf::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 16px;
  margin: 0 0 3px 5px;
  background-image: url("../images/ico_pdf.png");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.ico-blank::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 13px;
  margin: 0 0 4px 5px;
  background-image: url("../images/ico_blank.png");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.ico-blank-wh::after {
  content: "";
  display: inline-block;
  width: 16px;
  height: 13px;
  margin: 0 0 4px 5px;
  background-image: url("../images/ico_blank_wh.png");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.ico-dl::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 15px;
  margin: 0 0 3px 5px;
  background-image: url("../images/ico_download.png");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

/* テキストリンク：下線 */
.link-txt {
  text-decoration: underline;
}
.link-txt:hover {
  text-decoration: none;
}

/* テキストリンク：ページ内アンカー */
.anchor {
  display: inline-block;
  margin-left: 12px;
  text-indent: -12px;
}
.anchor::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 6px 3px 0;
  border-top: solid 2px #ff70b8;
  border-right: solid 2px #ff70b8;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

/* アンカーリンク着地点のネガティブマージン */
.anchor-point {
  margin-top: -60px;
  padding-top: 60px;
}
@media print, screen and (min-width:960px) {
  .anchor-point {
    margin-top: -90px;
    padding-top: 90px;
  }
}

/* ボタン
----------------------------------------*/
/* 基本形 */
a.btn {
  position: relative;
  display: inline-block;
  padding: 0.75em 1.5em;
  color: #fff;
  line-height: 1.3;
  background-color: #ff70b8;
  /* ボタンカラー */
  /* 矢印アイコン */
  /* メールアイコン */
  /* フッター用 */
}
a.btn:hover {
  text-decoration: none;
  opacity: 0.8;
}
a.btn.btn-bk {
  background-color: #101010;
}
a.btn.btn-arrow {
  padding: 0.75em 1.5em 0.75em 0;
}
a.btn.btn-arrow::before {
  content: "";
  position: absolute;
  display: inline-block;
  top: calc(50% - 1px);
  left: 0;
  width: 3em;
  height: 2px;
  background-color: #fff;
}
a.btn.btn-arrow span {
  position: relative;
  display: inline-block;
  width: calc(100% - 3.5em);
  margin-left: 3.5em;
  text-align: left;
}
a.btn.btn-arrow span::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 0.65em 0 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 5px);
  margin-left: -1.2em;
}
a.btn.btn-mail span::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 15px;
  margin: 0 8px 3px 0;
  background-image: url("../images/ico_mail.png");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
a.btn.footer-contact {
  margin-top: 1em;
  padding: 0.65em 1.5em;
  font-size: 14px;
  font-size: 1.4rem;
}
a.btn.footer-contact span::before {
  width: 16px;
  height: 12px;
  margin: 0 8px 3px 0;
}

/* 画像
----------------------------------------*/
/* 罫線 */
img.border {
  border: 1px solid #eee;
}

/* リンク */
a:hover img {
  opacity: 0.7;
}

/* リスト
----------------------------------------*/
.ico-list li {
  margin: 0 0 0.6em 1.3em;
  text-indent: -1em;
  line-height: 1.5;
}
.ico-list li:last-child {
  margin-bottom: 0;
}
.ico-list li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0.6em 0.24em 0;
  background-color: #606060;
  border-radius: 50%; /*丸くする*/
}

.num-list {
  list-style-type: decimal;
  padding-inline-start: 1em;
}
.num-list li {
  margin-bottom: 0.6em;
}

/* アコーディオンBox
----------------------------------------*/
/* 上だけ罫線 */
.accbox {
  margin: 0;
  padding: 0;
  border-top: 1px solid #dcdcdc;
}
.accbox input {
  display: none;
}
.accbox label {
  position: relative;
  display: block;
  margin: 0;
  padding: 15px 0 10px;
  cursor: pointer;
  transition: all 0.5s;
  /* 矢印 */
  /* labelに入れる要素の余白を0にする */
}
.accbox label::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 0 0 0;
  border-top: solid 2px #ff70b8;
  border-right: solid 2px #ff70b8;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  display: block;
  top: calc(50% - 6px);
  right: 10px;
  transition: 0.5s;
}
.accbox label span {
  /*h4 style*/
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
}
@media print, screen and (min-width:960px) {
  .accbox label span {
    font-size: 20px;
    font-size: 2rem;
  }
}
.accbox label > * {
  width: calc(100% - 30px);
  margin-bottom: 0;
  padding-bottom: 0;
}
.accbox__show {
  overflow: hidden;
  height: 0;
  padding: 0;
  opacity: 0;
  transition: 0.5s;
}
input:checked + label + .accbox__show {
  height: auto;
  padding: 5px 0 15px;
  opacity: 1;
}
.accbox input:checked + label::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media print, screen and (min-width:960px) {
  .accbox label {
    padding: 20px 0 15px;
  }
  .accbox label::after {
    top: calc(50% - 8px);
  }
  .accbox label > * {
    width: calc(100% - 60px);
  }
  .accbox__show {
    padding: 0;
  }
  input:checked + label + .accbox__show {
    padding: 5px 0 15px;
  }
}
/* ニュースアーカイブ */
.news-archive {
  margin: 0;
  padding: 0;
}
.news-archive input {
  display: none;
}
.news-archive label {
  font-size: 14px;
  font-size: 1.4rem;
  position: relative;
  display: block;
  margin: 0;
  padding-right: 30px;
  text-align: right;
  cursor: pointer;
  transition: all 0.5s;
  /* 矢印 */
}
@media print, screen and (min-width:960px) {
  .news-archive label {
    padding-right: 30px;
  }
}
.news-archive label::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 0 0 0 0;
  border-top: solid 2px #ff70b8;
  border-right: solid 2px #ff70b8;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  display: block;
  top: calc(50% - 8px);
  right: 10px;
  transition: 0.5s;
}
.news-archive label .news-archive {
  width: calc(100% - 30px);
  margin-bottom: 0;
  padding-bottom: 0;
}
.news-archive label .news-archive__open {
  display: inline-block;
}
.news-archive label .news-archive__close {
  display: none;
}
.news-archive__show {
  overflow: hidden;
  height: 0;
  padding: 0;
  opacity: 0;
  transition: 0.5s;
}
input:checked + .news-archive__show {
  height: auto;
  opacity: 1;
}
input:checked + .news-archive__show + label::after {
  top: calc(50% - 2px);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
input:checked + .news-archive__show + label .news-archive__open {
  display: none;
}
input:checked + .news-archive__show + label .news-archive__close {
  display: inline-block;
}

/* 表組：table
----------------------------------------*/
/* 基本 */
.table {
  margin: 0;
  padding: 0;
}
.table th, .table td {
  padding: 10px 15px;
  text-align: left;
}
@media print, screen and (min-width:960px) {
  .table th, .table td {
    padding: 20px;
  }
}

/* SPブロック/PC表組 */
.table-block th, .table-block td {
  display: block;
}
@media print, screen and (min-width:960px) {
  .table-block th, .table-block td {
    display: table-cell;
  }
}
@media print, screen and (min-width:600px) {
  .table-block.table-TB th, .table-block.table-TB td {
    display: table-cell;
  }
}

/* 罫線あり */
.table1 th, .table1 td {
  border: 1px solid #dcdcdc;
}
.table1 th {
  background-color: #eef0f9;
}
.table1.table-block th, .table1.table-block td {
  margin-top: -1px;
}

/* 罫線なし背景色 */
.table2 tr {
  background-color: #eef0f9;
}
.table2 tr:nth-child(even) {
  background-color: #f8f9fc;
}
.table2 td {
  padding-top: 0;
  border-bottom: 1px solid #fff;
}
@media print, screen and (min-width:960px) {
  .table2 th, .table2 td {
    padding: 20px;
    border-bottom: 1px solid #fff;
  }
}

/* 罫線なし：SPインライン/PC表組 */
table.noborder tr, table.noborder th, table.noborder td {
  border: 0 !important;
  background-color: transparent !important;
}
table.noborder th, table.noborder td {
  display: inline;
  padding: 0;
  border: 0;
}
@media print, screen and (min-width:960px) {
  table.noborder th, table.noborder td {
    display: table-cell;
  }
}

/* 囲みbox,区切り
----------------------------------------*/
/* 罫線あり */
.box1 {
  padding: 1.2em;
  border: 1px solid #dcdcdc;
}
@media print, screen and (min-width:600px) {
  .box1 {
    padding: 1.8em;
  }
}

/* 区切り */
.box2 {
  padding: 1.2em;
  border-top: 1px solid #dcdcdc;
}
@media print, screen and (min-width:600px) {
  .box2 {
    padding-top: 1.8em;
  }
}

/* 背景色 */
.box3 {
  padding: 1.2em;
  background-color: #eef0f9;
}
@media print, screen and (min-width:600px) {
  .box3 {
    padding: 1.8em;
  }
}

/*========================================
　2.ヘッダー
========================================*/
header {
  position: fixed;
  width: 100%;
  height: 50px;
  background-color: #fff;
  z-index: 10;
}
header .inner {
  position: relative;
}
header .logo {
  display: inline-block;
  padding: 10px 0 0;
}
header .logo img {
  height: 28px;
  vertical-align: middle;
}
header .logo a:hover img {
  opacity: inherit;
}
header input {
  display: none;
}

@media print, screen and (min-width:960px) {
  header {
    height: 80px;
  }
  header .inner {
    height: 60px;
    margin-top: 20px;
  }
  header .logo {
    padding: 0;
  }
  header .logo img {
    height: 40px;
  }
}
@media print {
  header {
    position: static;
  }
}
/*========================================
　3.グローバルナビ(SP)
========================================*/
.menu-btn {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  width: 50px;
  height: 50px;
  background-color: #ff70b8;
  /* メニューアイコン */
}
.menu-btn span, .menu-btn::before, .menu-btn::after {
  content: "";
  position: absolute;
  left: calc(50% - 11px);
  display: inline-block;
  height: 2px;
  background-color: #fff;
}
.menu-btn span {
  overflow: hidden;
  top: 50%;
  width: 18px;
}
.menu-btn::before {
  top: calc(50% - 8px);
  width: 22px;
  transition: 0.2s;
}
.menu-btn::after {
  top: calc(50% + 8px);
  width: 14px;
  transition: 0.2s;
}

/* 閉じるアイコン */
input:checked + .menu-btn span {
  opacity: 0;
}
input:checked + .menu-btn::before {
  top: 50%;
  transform: rotate(45deg);
}
input:checked + .menu-btn::after {
  top: 50%;
  width: 22px;
  transform: rotate(-45deg);
}

/* ドロップダウンメニュー */
.global-nav {
  display: none;
  visibility: hidden;
  opacity: 0;
}

input:checked + * + .global-nav {
  display: block;
  position: fixed;
  top: 50px;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
  width: 100%;
  background-color: #fff;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  visibility: visible;
  opacity: 1;
}
input:checked + * + .global-nav li.nav-menu {
  position: relative;
  margin: 0 20px;
  border-bottom: 1px solid #ff70b8;
}
input:checked + * + .global-nav li.nav-menu::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0 0 0;
  border-top: solid 2px #ff70b8;
  border-right: solid 2px #ff70b8;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  display: block;
  top: calc(50% - 4px);
  right: 20px;
}
input:checked + * + .global-nav li.nav-menu a {
  display: block;
  padding: 20px;
}

.mega-menu {
  display: none;
}

/*========================================
　4.グローバルナビ(PC)
========================================*/
@media print, screen and (min-width:960px) {
  /* 基本デザイン */
  header .menu-btn {
    display: none;
  }
  .global-nav, input:checked + * + .global-nav {
    position: static;
    overflow-y: visible;
    float: right;
    display: flex;
    width: auto;
    height: 40px;
    margin: 0;
    visibility: visible;
    opacity: 1;
    /* お問い合わせ */
  }
  .global-nav li.nav-menu, input:checked + * + .global-nav li.nav-menu {
    border-bottom: 0;
  }
  .global-nav li.nav-menu::after, input:checked + * + .global-nav li.nav-menu::after {
    content: none;
  }
  .global-nav li.nav-menu + li, input:checked + * + .global-nav li.nav-menu + li {
    margin: 0 0 0 15px;
  }
  .global-nav li.nav-menu > a, input:checked + * + .global-nav li.nav-menu > a {
    position: relative;
    display: block;
    height: 60px;
    padding: 5px;
    color: #606060;
    font-size: 15px;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 30px;
    border-bottom: 0;
  }
  .global-nav li.nav-menu > a:hover::after, input:checked + * + .global-nav li.nav-menu > a:hover::after {
    content: "";
    position: absolute;
    top: 35px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #ff70b8;
  }
  .global-nav li.nav-menu.menu7, input:checked + * + .global-nav li.nav-menu.menu7 {
    margin: 0 0 0 15px;
    border-bottom: 0;
  }
  .global-nav li.nav-menu.menu7::after, input:checked + * + .global-nav li.nav-menu.menu7::after {
    content: none;
  }
  .global-nav li.nav-menu.menu7 > a, input:checked + * + .global-nav li.nav-menu.menu7 > a {
    position: relative;
    display: block;
    height: 80px;
    margin-top: -20px;
    padding: 20px 10px 10px;
    color: #fff;
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;
    background-color: #0828A5;
  }
  .global-nav li.nav-menu.menu7 > a::before, input:checked + * + .global-nav li.nav-menu.menu7 > a::before {
    content: "";
    display: block;
    width: 20px;
    height: 15px;
    margin: 0 auto;
    background-image: url("../images/ico_mail.png");
    background-repeat: no-repeat;
    background-size: contain;
  }
  .global-nav li.nav-menu.menu7 > a:hover, input:checked + * + .global-nav li.nav-menu.menu7 > a:hover {
    opacity: 0.7;
  }
  .global-nav li.nav-menu.menu7 > a:hover::after, input:checked + * + .global-nav li.nav-menu.menu7 > a:hover::after {
    content: none;
  }
  /* カレント表示*/
  body.category1 li.menu1 > a::after {
    content: "";
    position: absolute;
    top: 35px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #ff70b8;
  }
  body.category2 li.menu2 > a::after {
    content: "";
    position: absolute;
    top: 35px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #ff70b8;
  }
  body.category3 li.menu3 > a::after {
    content: "";
    position: absolute;
    top: 35px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #ff70b8;
  }
  body.category4 li.menu4 > a::after {
    content: "";
    position: absolute;
    top: 35px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #ff70b8;
  }
  body.category5 li.menu5 > a::after {
    content: "";
    position: absolute;
    top: 35px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #ff70b8;
  }
  body.category6 li.menu6 > a::after {
    content: "";
    position: absolute;
    top: 35px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #ff70b8;
  }
  /* メガメニュー */
  .mega-menu-set {
    position: relative;
    width: 100%;
  }
  .mega-menu {
    position: absolute;
    display: block;
    top: -10px;
    left: 0;
    width: 100%;
    visibility: hidden;
    opacity: 0;
    z-index: 1;
  }
  .mega-menu__box {
    position: relative;
    background-color: #fff;
    border-top: 1px solid #ff70b8;
  }
  .mega-menu .inner {
    height: auto;
    display: flex;
    padding: 20px 25px 30px;
  }
  .mega-menu__ttl {
    width: 15%;
    padding: 10px 0 0;
    font-size: 20px;
    font-size: 2rem;
    border-right: 1px solid #a9a9a9;
  }
  .mega-menu__list {
    display: flex;
    flex-wrap: wrap;
    width: 85%;
    padding: 0 0 0 30px;
  }
  .mega-menu li {
    position: relative;
    width: calc(25% - 20px);
    margin: 10px 0 30px 20px;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .mega-menu li a {
    display: block;
    margin-left: 12px;
    text-indent: -12px;
  }
  .mega-menu li a::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: 0 6px 3px 0;
    border-top: solid 2px #ff70b8;
    border-right: solid 2px #ff70b8;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .mega-menu__visible {
    top: 0;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
    visibility: visible;
    opacity: 1;
  }
  .overlay {
    content: "";
    display: block;
    width: 100%;
    height: 100vw;
    background-color: rgba(16, 16, 16, 0.5);
    z-index: 1;
  }
}
/*========================================
　5.メインエリア
========================================*/
.contents-area {
  padding-top: 50px;
}
@media print, screen and (min-width:960px) {
  .contents-area {
    padding-top: 80px;
  }
}
@media print {
  .contents-area {
    padding-top: 0;
  }
}

section ~ section {
  margin-top: 50px;
}

/* パンくず
----------------------------------------*/
.page-path {
  padding: 0.5em 0;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
}
.page-path li {
  display: inline-block;
  margin-right: 10px;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 1;
}
.page-path li::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin: 0 0 2px 0;
  border-top: solid 1px #606060;
  border-right: solid 1px #606060;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-left: 10px;
}
.page-path li:last-child::after {
  content: none;
}

/* お問い合わせエリア
----------------------------------------*/
.info-area {
  padding: 20px;
  background-color: #eee;
}
@media print, screen and (min-width:960px) {
  .info-area {
    padding: 30px;
  }
}
.info-area p {
  font-size: 14px;
  font-size: 1.4rem;
}
.info-area p ~ p {
  margin-top: 0.75em;
}
.info-area .btn {
  background-color: #101010;
}

/* Column
----------------------------------------*/
.col {
  display: flex;
  flex-wrap: wrap;
  margin: auto;
}
.col__item {
  width: 100%;
  max-width: 640px;
  margin: 0 auto 40px;
  padding: 0;
}
.col__item:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width:600px) {
  .col-2 .col__item, .col-3 .col__item {
    width: calc(50% - 20px);
    margin: 0 0 60px;
    margin-right: 40px;
  }
  .col-2 .col__item:nth-child(even), .col-3 .col__item:nth-child(even) {
    margin-right: 0;
  }
}
@media print, screen and (min-width:960px) {
  .col-3 .col__item {
    width: calc((100% - 80px) / 3);
    margin-right: 40px;
  }
  .col-3 .col__item:nth-child(even) {
    margin-right: 40px;
  }
  .col-3 .col__item:nth-child(3n) {
    margin-right: 0;
  }
}
.col__item .item__list li {
  margin-bottom: 0.6em;
  line-height: 1.25;
}

/*-----  IE11 -----*/
@media print, screen and (min-width:960px) {
  :lang(x)::-ms-backdrop, .col-3 .col__item {
    width: calc((100% - 81px) / 3);
  }
}
/*-----  Edge -----*/
@media print, screen and (min-width:960px) {
  :-ms-lang(x)::backdrop, .col-3 .col__item {
    width: calc((100% - 81px) / 3);
  }
}
.thumb {
  display: block;
}
.thumb__img {
  overflow: hidden;
  display: block;
  width: 100%;
  height: calc((100vw - 30px) * 0.56);
  margin-bottom: 10px;
}
@media print, screen and (min-width:600px) {
  .col-2 .thumb__img, .col-3 .thumb__img {
    height: calc((100vw - 70px) / 2 * 0.56);
    max-height: 187px;
  }
}
@media print, screen and (min-width:960px) {
  .col-2 .thumb__img {
    height: calc((100vw - 40px) / 2 * 0.56);
    max-height: 264px;
  }
  .col-3 .thumb__img {
    height: calc((100vw - 80px) / 3 * 0.56);
    max-height: 168px;
  }
}
.thumb__img > img {
  width: 100%;
  transition: transform 0.4s linear;
}
.thumb__ttl {
  font-size: 20px;
  font-size: 2rem;
  font-weight: bold;
}

a.thumb:hover .thumb__img {
  background-color: #101010;
}
a.thumb:hover .thumb__img > img {
  opacity: 0.6;
  transform: scale(1.07);
}

/* Row
----------------------------------------*/
.row {
  margin-bottom: 1.5em;
}
@media print, screen and (min-width:600px) {
  .row {
    display: table;
    table-layout: fixed;
    width: 100%;
  }
}
.row__item {
  margin-bottom: 2em;
}
.row__item:last-child {
  margin-bottom: 0;
}
@media print, screen and (min-width:600px) {
  .row__item {
    display: table-cell;
    padding-right: 1.5em;
    vertical-align: top;
  }
  .row__item:last-child {
    padding-right: 0;
  }
}

/*========================================
　6.フッター
========================================*/
footer {
  width: 100%;
  margin-top: 5em;
  padding: 20px 0;
  color: #fff;
  background-color: #031044;
}
footer .footer-nav {
  display: flex;
  justify-content: space-between;
}
footer .footer-nav li a {
  color: #fff;
  font-size: 12px;
  font-size: 1.2rem;
}
footer .footer-nav li a:hover {
  opacity: 0.8;
}
footer .twitter img {
  width: 20px;
  height: 20px;
  vertical-align: middle;
}
footer .copyright {
  width: 100%;
  margin-top: 1em;
  font-size: 11px;
  font-size: 1.1rem;
}

@media print, screen and (min-width:600px) {
  footer {
    padding: 30px 0;
  }
  footer .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  footer .footer-nav {
    margin-left: auto;
  }
  footer .footer-nav ul {
    display: flex;
  }
  footer .footer-nav li {
    margin-left: 20px;
  }
  footer .copyright {
    margin-top: 0;
  }
}
/*========================================
　7.印刷用
========================================*/
@media print {
  html {
    font-size: 54.6875%;
  }
  header {
    height: 50px;
  }
  .global-nav,
  .page-path {
    display: none !important;
  }
  .inner {
    padding-left: 1em;
    padding-right: 1em;
  }
  .headings1 {
    padding: 0.6em 0;
  }
  /* IE11のときカラムが印刷されないことの解消 */
  _:lang(x)::-ms-backdrop, .col {
    overflow: hidden;
    display: block;
  }
  _:lang(x)::-ms-backdrop, .col__item {
    float: left;
  }
  /* Edgeのときカラムが印刷されないことの解消 */
  _:-ms-lang(x)::backdrop, .col {
    overflow: hidden;
    display: block;
  }
  _:-ms-lang(x)::backdrop, .col__item {
    float: left;
  }
  /* IE11のときQRの研究開発が印刷されないことの解消 */
  _:lang(x)::-ms-backdrop, #tab-case:checked + label + input + label + .tab__show {
    overflow: visible;
  }
  _:lang(x)::-ms-backdrop, #tab-rd:checked + label + div + .tab__show {
    overflow: visible;
  }
}
/*========================================
　99.Utilities
========================================*/
/* width・height 調整
----------------------------------------*/
.w--10\% {
  width: 10% !important;
}

.w--15\% {
  width: 15% !important;
}

.h--10\% {
  height: 10% !important;
}

.h--15\% {
  height: 15% !important;
}

.w--20\% {
  width: 20% !important;
}

.w--25\% {
  width: 25% !important;
}

.h--20\% {
  height: 20% !important;
}

.h--25\% {
  height: 25% !important;
}

.w--30\% {
  width: 30% !important;
}

.w--35\% {
  width: 35% !important;
}

.h--30\% {
  height: 30% !important;
}

.h--35\% {
  height: 35% !important;
}

.w--40\% {
  width: 40% !important;
}

.w--45\% {
  width: 45% !important;
}

.h--40\% {
  height: 40% !important;
}

.h--45\% {
  height: 45% !important;
}

.w--50\% {
  width: 50% !important;
}

.w--55\% {
  width: 55% !important;
}

.h--50\% {
  height: 50% !important;
}

.h--55\% {
  height: 55% !important;
}

.w--60\% {
  width: 60% !important;
}

.w--65\% {
  width: 65% !important;
}

.h--60\% {
  height: 60% !important;
}

.h--65\% {
  height: 65% !important;
}

.w--70\% {
  width: 70% !important;
}

.w--75\% {
  width: 75% !important;
}

.h--70\% {
  height: 70% !important;
}

.h--75\% {
  height: 75% !important;
}

.w--80\% {
  width: 80% !important;
}

.w--85\% {
  width: 85% !important;
}

.h--80\% {
  height: 80% !important;
}

.h--85\% {
  height: 85% !important;
}

.w--90\% {
  width: 90% !important;
}

.w--95\% {
  width: 95% !important;
}

.h--90\% {
  height: 90% !important;
}

.h--95\% {
  height: 95% !important;
}

.w--100\% {
  width: 100% !important;
}

.w--105\% {
  width: 105% !important;
}

.h--100\% {
  height: 100% !important;
}

.h--105\% {
  height: 105% !important;
}

.w--0 {
  width: 0px !important;
}

.h--0 {
  height: 0px !important;
}

.w--10 {
  width: 10px !important;
}

.h--10 {
  height: 10px !important;
}

.w--20 {
  width: 20px !important;
}

.h--20 {
  height: 20px !important;
}

.w--30 {
  width: 30px !important;
}

.h--30 {
  height: 30px !important;
}

.w--40 {
  width: 40px !important;
}

.h--40 {
  height: 40px !important;
}

.w--50 {
  width: 50px !important;
}

.h--50 {
  height: 50px !important;
}

.w--60 {
  width: 60px !important;
}

.h--60 {
  height: 60px !important;
}

.w--70 {
  width: 70px !important;
}

.h--70 {
  height: 70px !important;
}

.w--80 {
  width: 80px !important;
}

.h--80 {
  height: 80px !important;
}

.w--90 {
  width: 90px !important;
}

.h--90 {
  height: 90px !important;
}

.w--100 {
  width: 100px !important;
}

.h--100 {
  height: 100px !important;
}

.w--110 {
  width: 110px !important;
}

.h--110 {
  height: 110px !important;
}

.w--120 {
  width: 120px !important;
}

.h--120 {
  height: 120px !important;
}

.w--130 {
  width: 130px !important;
}

.h--130 {
  height: 130px !important;
}

.w--140 {
  width: 140px !important;
}

.h--140 {
  height: 140px !important;
}

.w--150 {
  width: 150px !important;
}

.h--150 {
  height: 150px !important;
}

.w--160 {
  width: 160px !important;
}

.h--160 {
  height: 160px !important;
}

.w--170 {
  width: 170px !important;
}

.h--170 {
  height: 170px !important;
}

.w--180 {
  width: 180px !important;
}

.h--180 {
  height: 180px !important;
}

.w--190 {
  width: 190px !important;
}

.h--190 {
  height: 190px !important;
}

.w--200 {
  width: 200px !important;
}

.h--200 {
  height: 200px !important;
}

.w--210 {
  width: 210px !important;
}

.h--210 {
  height: 210px !important;
}

.w--220 {
  width: 220px !important;
}

.h--220 {
  height: 220px !important;
}

.w--230 {
  width: 230px !important;
}

.h--230 {
  height: 230px !important;
}

.w--240 {
  width: 240px !important;
}

.h--240 {
  height: 240px !important;
}

.w--250 {
  width: 250px !important;
}

.h--250 {
  height: 250px !important;
}

.w--260 {
  width: 260px !important;
}

.h--260 {
  height: 260px !important;
}

.w--270 {
  width: 270px !important;
}

.h--270 {
  height: 270px !important;
}

.w--280 {
  width: 280px !important;
}

.h--280 {
  height: 280px !important;
}

.w--290 {
  width: 290px !important;
}

.h--290 {
  height: 290px !important;
}

.w--300 {
  width: 300px !important;
}

.h--300 {
  height: 300px !important;
}

.w--310 {
  width: 310px !important;
}

.h--310 {
  height: 310px !important;
}

.w--320 {
  width: 320px !important;
}

.h--320 {
  height: 320px !important;
}

.w--330 {
  width: 330px !important;
}

.h--330 {
  height: 330px !important;
}

.w--340 {
  width: 340px !important;
}

.h--340 {
  height: 340px !important;
}

.w--350 {
  width: 350px !important;
}

.h--350 {
  height: 350px !important;
}

.w--360 {
  width: 360px !important;
}

.h--360 {
  height: 360px !important;
}

.w--370 {
  width: 370px !important;
}

.h--370 {
  height: 370px !important;
}

.w--380 {
  width: 380px !important;
}

.h--380 {
  height: 380px !important;
}

.w--390 {
  width: 390px !important;
}

.h--390 {
  height: 390px !important;
}

.w--400 {
  width: 400px !important;
}

.h--400 {
  height: 400px !important;
}

.w--410 {
  width: 410px !important;
}

.h--410 {
  height: 410px !important;
}

.w--420 {
  width: 420px !important;
}

.h--420 {
  height: 420px !important;
}

.w--430 {
  width: 430px !important;
}

.h--430 {
  height: 430px !important;
}

.w--440 {
  width: 440px !important;
}

.h--440 {
  height: 440px !important;
}

.w--450 {
  width: 450px !important;
}

.h--450 {
  height: 450px !important;
}

.w--460 {
  width: 460px !important;
}

.h--460 {
  height: 460px !important;
}

.w--470 {
  width: 470px !important;
}

.h--470 {
  height: 470px !important;
}

.w--480 {
  width: 480px !important;
}

.h--480 {
  height: 480px !important;
}

.w--490 {
  width: 490px !important;
}

.h--490 {
  height: 490px !important;
}

.w--500 {
  width: 500px !important;
}

.h--500 {
  height: 500px !important;
}

/* margin,padding 調整
----------------------------------------*/
.m--auto {
  margin: auto !important;
}

.ml--auto {
  margin-left: auto !important;
}

.mr--auto {
  margin-right: auto !important;
}

.mt--0 {
  margin-top: 0px !important;
}

.mt--5 {
  margin-top: 5px !important;
}

.mb--0 {
  margin-bottom: 0px !important;
}

.mb--5 {
  margin-bottom: 5px !important;
}

.ml--0 {
  margin-left: 0px !important;
}

.ml--5 {
  margin-left: 5px !important;
}

.mr--0 {
  margin-right: 0px !important;
}

.mr--5 {
  margin-right: 5px !important;
}

.p--0 {
  padding: 0px !important;
}

.p--5 {
  padding: 5px !important;
}

.pt--0 {
  padding-top: 0px !important;
}

.pt--5 {
  padding-top: 5px !important;
}

.pb--0 {
  padding-bottom: 0px !important;
}

.pb--5 {
  padding-bottom: 5px !important;
}

.pl--0 {
  padding-left: 0px !important;
}

.pl--5 {
  padding-left: 5px !important;
}

.pr--0 {
  padding-right: 0px !important;
}

.pr--5 {
  padding-right: 5px !important;
}

.mt--10 {
  margin-top: 10px !important;
}

.mt--15 {
  margin-top: 15px !important;
}

.mb--10 {
  margin-bottom: 10px !important;
}

.mb--15 {
  margin-bottom: 15px !important;
}

.ml--10 {
  margin-left: 10px !important;
}

.ml--15 {
  margin-left: 15px !important;
}

.mr--10 {
  margin-right: 10px !important;
}

.mr--15 {
  margin-right: 15px !important;
}

.p--10 {
  padding: 10px !important;
}

.p--15 {
  padding: 15px !important;
}

.pt--10 {
  padding-top: 10px !important;
}

.pt--15 {
  padding-top: 15px !important;
}

.pb--10 {
  padding-bottom: 10px !important;
}

.pb--15 {
  padding-bottom: 15px !important;
}

.pl--10 {
  padding-left: 10px !important;
}

.pl--15 {
  padding-left: 15px !important;
}

.pr--10 {
  padding-right: 10px !important;
}

.pr--15 {
  padding-right: 15px !important;
}

.mt--20 {
  margin-top: 20px !important;
}

.mt--25 {
  margin-top: 25px !important;
}

.mb--20 {
  margin-bottom: 20px !important;
}

.mb--25 {
  margin-bottom: 25px !important;
}

.ml--20 {
  margin-left: 20px !important;
}

.ml--25 {
  margin-left: 25px !important;
}

.mr--20 {
  margin-right: 20px !important;
}

.mr--25 {
  margin-right: 25px !important;
}

.p--20 {
  padding: 20px !important;
}

.p--25 {
  padding: 25px !important;
}

.pt--20 {
  padding-top: 20px !important;
}

.pt--25 {
  padding-top: 25px !important;
}

.pb--20 {
  padding-bottom: 20px !important;
}

.pb--25 {
  padding-bottom: 25px !important;
}

.pl--20 {
  padding-left: 20px !important;
}

.pl--25 {
  padding-left: 25px !important;
}

.pr--20 {
  padding-right: 20px !important;
}

.pr--25 {
  padding-right: 25px !important;
}

.mt--30 {
  margin-top: 30px !important;
}

.mt--35 {
  margin-top: 35px !important;
}

.mb--30 {
  margin-bottom: 30px !important;
}

.mb--35 {
  margin-bottom: 35px !important;
}

.ml--30 {
  margin-left: 30px !important;
}

.ml--35 {
  margin-left: 35px !important;
}

.mr--30 {
  margin-right: 30px !important;
}

.mr--35 {
  margin-right: 35px !important;
}

.p--30 {
  padding: 30px !important;
}

.p--35 {
  padding: 35px !important;
}

.pt--30 {
  padding-top: 30px !important;
}

.pt--35 {
  padding-top: 35px !important;
}

.pb--30 {
  padding-bottom: 30px !important;
}

.pb--35 {
  padding-bottom: 35px !important;
}

.pl--30 {
  padding-left: 30px !important;
}

.pl--35 {
  padding-left: 35px !important;
}

.pr--30 {
  padding-right: 30px !important;
}

.pr--35 {
  padding-right: 35px !important;
}

.mt--40 {
  margin-top: 40px !important;
}

.mt--45 {
  margin-top: 45px !important;
}

.mb--40 {
  margin-bottom: 40px !important;
}

.mb--45 {
  margin-bottom: 45px !important;
}

.ml--40 {
  margin-left: 40px !important;
}

.ml--45 {
  margin-left: 45px !important;
}

.mr--40 {
  margin-right: 40px !important;
}

.mr--45 {
  margin-right: 45px !important;
}

.p--40 {
  padding: 40px !important;
}

.p--45 {
  padding: 45px !important;
}

.pt--40 {
  padding-top: 40px !important;
}

.pt--45 {
  padding-top: 45px !important;
}

.pb--40 {
  padding-bottom: 40px !important;
}

.pb--45 {
  padding-bottom: 45px !important;
}

.pl--40 {
  padding-left: 40px !important;
}

.pl--45 {
  padding-left: 45px !important;
}

.pr--40 {
  padding-right: 40px !important;
}

.pr--45 {
  padding-right: 45px !important;
}

.mt--50 {
  margin-top: 50px !important;
}

.mt--55 {
  margin-top: 55px !important;
}

.mb--50 {
  margin-bottom: 50px !important;
}

.mb--55 {
  margin-bottom: 55px !important;
}

.ml--50 {
  margin-left: 50px !important;
}

.ml--55 {
  margin-left: 55px !important;
}

.mr--50 {
  margin-right: 50px !important;
}

.mr--55 {
  margin-right: 55px !important;
}

.p--50 {
  padding: 50px !important;
}

.p--55 {
  padding: 55px !important;
}

.pt--50 {
  padding-top: 50px !important;
}

.pt--55 {
  padding-top: 55px !important;
}

.pb--50 {
  padding-bottom: 50px !important;
}

.pb--55 {
  padding-bottom: 55px !important;
}

.pl--50 {
  padding-left: 50px !important;
}

.pl--55 {
  padding-left: 55px !important;
}

.pr--50 {
  padding-right: 50px !important;
}

.pr--55 {
  padding-right: 55px !important;
}

.mt--60 {
  margin-top: 60px !important;
}

.mt--65 {
  margin-top: 65px !important;
}

.mb--60 {
  margin-bottom: 60px !important;
}

.mb--65 {
  margin-bottom: 65px !important;
}

.ml--60 {
  margin-left: 60px !important;
}

.ml--65 {
  margin-left: 65px !important;
}

.mr--60 {
  margin-right: 60px !important;
}

.mr--65 {
  margin-right: 65px !important;
}

.p--60 {
  padding: 60px !important;
}

.p--65 {
  padding: 65px !important;
}

.pt--60 {
  padding-top: 60px !important;
}

.pt--65 {
  padding-top: 65px !important;
}

.pb--60 {
  padding-bottom: 60px !important;
}

.pb--65 {
  padding-bottom: 65px !important;
}

.pl--60 {
  padding-left: 60px !important;
}

.pl--65 {
  padding-left: 65px !important;
}

.pr--60 {
  padding-right: 60px !important;
}

.pr--65 {
  padding-right: 65px !important;
}

.mt--70 {
  margin-top: 70px !important;
}

.mt--75 {
  margin-top: 75px !important;
}

.mb--70 {
  margin-bottom: 70px !important;
}

.mb--75 {
  margin-bottom: 75px !important;
}

.ml--70 {
  margin-left: 70px !important;
}

.ml--75 {
  margin-left: 75px !important;
}

.mr--70 {
  margin-right: 70px !important;
}

.mr--75 {
  margin-right: 75px !important;
}

.p--70 {
  padding: 70px !important;
}

.p--75 {
  padding: 75px !important;
}

.pt--70 {
  padding-top: 70px !important;
}

.pt--75 {
  padding-top: 75px !important;
}

.pb--70 {
  padding-bottom: 70px !important;
}

.pb--75 {
  padding-bottom: 75px !important;
}

.pl--70 {
  padding-left: 70px !important;
}

.pl--75 {
  padding-left: 75px !important;
}

.pr--70 {
  padding-right: 70px !important;
}

.pr--75 {
  padding-right: 75px !important;
}

.mt--80 {
  margin-top: 80px !important;
}

.mt--85 {
  margin-top: 85px !important;
}

.mb--80 {
  margin-bottom: 80px !important;
}

.mb--85 {
  margin-bottom: 85px !important;
}

.ml--80 {
  margin-left: 80px !important;
}

.ml--85 {
  margin-left: 85px !important;
}

.mr--80 {
  margin-right: 80px !important;
}

.mr--85 {
  margin-right: 85px !important;
}

.p--80 {
  padding: 80px !important;
}

.p--85 {
  padding: 85px !important;
}

.pt--80 {
  padding-top: 80px !important;
}

.pt--85 {
  padding-top: 85px !important;
}

.pb--80 {
  padding-bottom: 80px !important;
}

.pb--85 {
  padding-bottom: 85px !important;
}

.pl--80 {
  padding-left: 80px !important;
}

.pl--85 {
  padding-left: 85px !important;
}

.pr--80 {
  padding-right: 80px !important;
}

.pr--85 {
  padding-right: 85px !important;
}

.mt--90 {
  margin-top: 90px !important;
}

.mt--95 {
  margin-top: 95px !important;
}

.mb--90 {
  margin-bottom: 90px !important;
}

.mb--95 {
  margin-bottom: 95px !important;
}

.ml--90 {
  margin-left: 90px !important;
}

.ml--95 {
  margin-left: 95px !important;
}

.mr--90 {
  margin-right: 90px !important;
}

.mr--95 {
  margin-right: 95px !important;
}

.p--90 {
  padding: 90px !important;
}

.p--95 {
  padding: 95px !important;
}

.pt--90 {
  padding-top: 90px !important;
}

.pt--95 {
  padding-top: 95px !important;
}

.pb--90 {
  padding-bottom: 90px !important;
}

.pb--95 {
  padding-bottom: 95px !important;
}

.pl--90 {
  padding-left: 90px !important;
}

.pl--95 {
  padding-left: 95px !important;
}

.pr--90 {
  padding-right: 90px !important;
}

.pr--95 {
  padding-right: 95px !important;
}

.mt--100 {
  margin-top: 100px !important;
}

.mt--105 {
  margin-top: 105px !important;
}

.mb--100 {
  margin-bottom: 100px !important;
}

.mb--105 {
  margin-bottom: 105px !important;
}

.ml--100 {
  margin-left: 100px !important;
}

.ml--105 {
  margin-left: 105px !important;
}

.mr--100 {
  margin-right: 100px !important;
}

.mr--105 {
  margin-right: 105px !important;
}

.p--100 {
  padding: 100px !important;
}

.p--105 {
  padding: 105px !important;
}

.pt--100 {
  padding-top: 100px !important;
}

.pt--105 {
  padding-top: 105px !important;
}

.pb--100 {
  padding-bottom: 100px !important;
}

.pb--105 {
  padding-bottom: 105px !important;
}

.pl--100 {
  padding-left: 100px !important;
}

.pl--105 {
  padding-left: 105px !important;
}

.pr--100 {
  padding-right: 100px !important;
}

.pr--105 {
  padding-right: 105px !important;
}

/* テキスト位置調整
----------------------------------------*/
.align--left {
  text-align: left !important;
}
.align--right {
  text-align: right !important;
}
.align--center {
  text-align: center !important;
}

/* font
----------------------------------------*/
/* font-size（class） */
.font-2l {
  font-size: 180%;
  /*----- PC -----*/
}
@media print, screen and (min-width:960px) {
  .font-2l {
    font-size: 240%;
  }
}

.font-l {
  font-size: 140%;
  /*----- PC -----*/
}
@media print, screen and (min-width:960px) {
  .font-l {
    font-size: 180%;
  }
}

.font-s {
  font-size: 87.5%;
}

.font-ss {
  font-size: 75%;
}

/* font-weight */
.txt-bold {
  font-weight: bold;
}

.txt-normal {
  font-weight: normal;
}

/* alert */
.txt-red {
  color: #e40000;
}

/* 強調 */
.txt-em {
  color: #0828A5;
}

/* 改行禁止 */
.nowrap {
  white-space: nowrap;
}

/* PC/SP 表示切り替え
----------------------------------------*/
@media screen and (max-width: 768px) {
  .only--pc {
    display: none !important;
  }
}
@media (max-width: 600px) {
  .only--tb {
    display: none !important;
  }
}
@media print, screen and (min-width:600px) {
  .only--sp {
    display: none !important;
  }
}
@media print {
  .only--screen {
    display: none !important;
  }
}

.category3 {
  /*--========================================
     case
  ========================================--*/
  /* 導入事例詳細ページ
  ----------------------------------------*/
}
.category3 .case-item {
  /* 導入事例Indexページ
  ----------------------------------------*/
}
.category3 .case-item .index-logo {
  /* 企業ロゴ */
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  margin-bottom: 0.7em;
  padding: 0 1em;
}
.category3 .case-item .index-logo img {
  width: auto;
  max-width: initial;
  max-width: none;
  max-height: 50px;
}
.category3 .case-item .case-name {
  /* 企業名とサービス名 */
  margin-bottom: 0.5em;
  font-weight: bold;
}
.category3 .case-item .case-name h4 {
  margin-bottom: 0;
}
.category3 .case-item p {
  font-size: 14px;
  font-size: 1.4rem;
}
.category3 .case-item .ico-list {
  /* 企業名とサービス名 */
  font-size: 12px;
  font-size: 1.2rem;
  margin: 0.6em 0 0;
  padding: 0.8em 0.4em;
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
}
.category3 .case-item .ico-list li::before {
  width: 4px;
  height: 4px;
}
.category3 .box1.font-s {
  /*囲み*/
  padding: 1.2em;
}
.category3 .col.mb-0 {
  /*col*/
}
@media print, screen and (min-width:600px) {
  .category3 .col.mb-0 .col__item {
    margin-bottom: 0;
  }
}
.category3 .headings1.case-detale {
  /* 見出し・段落
  ----------------------------------------*/
  /* サービス名・リード文 */
  background-color: #e6eaf6;
  border-bottom: 0;
}
.category3 .headings1.case-detale h1 {
  font-size: 90%;
}
.category3 .headings1.case-detale .name {
  margin: 0.3em 0 0.5em;
  font-size: 68%;
  font-weight: bold;
}
.category3 .headings1.case-detale .lead {
  position: relative;
  margin: 0 0 0 2em;
  font-size: 20px;
  font-size: 2rem;
}
.category3 .headings1.case-detale .lead::before, .category3 .headings1.case-detale .lead::after {
  display: inline-block;
  color: #606060;
  font-family: YuGothic, "Yu Gothic", "メイリオ", sans-serif;
  line-height: 0.3;
  vertical-align: bottom;
  font-size: 50px;
  font-size: 5rem;
}
.category3 .headings1.case-detale .lead::before {
  content: "“";
  position: absolute;
  top: 0.3em;
  left: -0.6em;
  margin-right: 0.2em;
}
.category3 .headings1.case-detale .lead::after {
  content: "”";
}
.category3 .headings1.case-detale .row {
  margin-bottom: 0;
}
.category3 .headings1.case-detale .row .row__item {
  margin-bottom: 1em;
}
.category3 .headings1.case-detale .row .row__item.img {
  margin-bottom: 0;
}
@media print, screen and (min-width:600px) {
  .category3 .headings1.case-detale .row .row__item.img {
    width: 40%;
    max-width: 400px;
  }
}
.category3 .headings1.case-detale .row .row__item.img img {
  display: block;
}
.category3 h3 {
  /* h3 */
  font-size: 16px;
  font-size: 1.6rem;
  margin: 2.5em 0 1em;
  color: #0828A5;
  text-indent: inherit;
}
.category3 h3::before {
  content: none;
}
.category3 h3 ~ .category3 h3 {
  margin-top: 2.5em;
}
h2 + .category3 h3 {
  margin-top: 1.5em;
}
.category3 .par {
  /* 段落 */
  margin-bottom: 1em;
}
.category3 .box-emphasis {
  font-size: 20px;
  font-size: 2rem;
}
.category3 .img-system {
  /* システム概念図
  ----------------------------------------*/
}
@media print, screen and (min-width:960px) {
  .category3 .img-system {
    max-width: 800px;
    margin: auto;
  }
}
.category3 .screen {
  /* 画面イメージ
  ----------------------------------------*/
}
@media print, screen and (min-width:960px) {
  .category3 .screen {
    width: 85%;
  }
}
@media print, screen and (min-width:600px) {
  .category3 .screen .col__item {
    margin-bottom: 0;
  }
}
.category3 .profile-area {
  /* お客様情報
  ----------------------------------------*/
  margin-bottom: 0;
}
@media print, screen and (min-width:600px) {
  .category3 .profile-area {
    width: auto;
  }
}
.category3 .profile-area .profile-logo {
  margin-bottom: 1em;
}
@media print, screen and (min-width:600px) {
  .category3 .profile-area .profile-logo {
    padding-right: 2.4em;
    vertical-align: middle;
  }
}
.category3 .profile-area .profile-logo img {
  max-height: 80px;
}
.category3 .case-tag {
  /* 導入サービスタグ
  ----------------------------------------*/
  padding: 1.2em 0.8em;
  border-top: 1px solid #dcdcdc;
  border-bottom: 1px solid #dcdcdc;
  font-size: 12px;
  font-size: 1.2rem;
}
.category3 .case-tag span {
  display: inline-block;
}
.category3 .case-tag span ~ span::before {
  content: "｜";
  margin-right: 0.3em;
}

/*--========================================
 company
========================================--*/
.category5 {
  /* メッセージ
  ----------------------------------------*/
  /* メッセージ行組 */
  /* コーポレートメッセージ
  ----------------------------------------*/
  /* ミッション図 */
  /* ミッション強調文字 */
  /* ビジョン強調box（box3変形） */
  /* 会社概要
  ----------------------------------------*/
  /* 沿革 */
  /* CSR＆CSV
  ----------------------------------------*/
  /* CSRページ行組 */
  /* CSR活動 */
  /* アクセス
  ----------------------------------------*/
  /* 地図 */
}
.category5 .row-messages > .row__item.img {
  overflow: hidden;
  height: 280px;
}
@media print, screen and (min-width:600px) {
  .category5 .row-messages > .row__item.img {
    width: 35%;
    height: 100%;
  }
}
.category5 .img-mission {
  width: 100%;
  max-width: 800px;
}
.category5 .txt-em {
  margin-bottom: 0.5em;
  font-weight: bold;
}
.category5 .box-vision {
  margin-bottom: 2em;
  padding: 2em;
}
.category5 .box-vision h3 {
  margin-bottom: 0;
  font-weight: normal;
  font-size: 18px;
  font-size: 1.8rem;
}
@media print, screen and (min-width:600px) {
  .category5 .box-vision h3 {
    font-size: 20px;
    font-size: 2rem;
  }
}
.category5 .box-vision h3::before {
  height: 2px;
}
.category5 .box-vision h3 ~ h3 {
  margin-top: 0.6em;
}
.category5 .table-history {
  width: 100%;
}
.category5 .table-history th {
  display: inline-block;
  white-space: nowrap;
}
.category5 .table-history th:first-child {
  padding-right: 5px;
}
.category5 .table-history th:nth-of-type(2) {
  padding-left: 5px;
}
@media print, screen and (min-width:960px) {
  .category5 .table-history th {
    display: table-cell;
    text-align: right;
  }
  .category5 .table-history th:nth-of-type(2) {
    width: 65px;
  }
}
@media print, screen and (min-width:600px) {
  .category5 .row-csr > .row__item.img {
    width: 48%;
  }
}
.category5 .table-csr {
  width: auto;
}
.category5 .table-csr th, .category5 .table-csr td {
  vertical-align: top;
}
.category5 .table-csr th {
  position: relative;
  width: 60px;
  padding: 0 0 40px;
}
@media print, screen and (min-width:600px) {
  .category5 .table-csr th {
    width: 80px;
  }
}
.category5 .table-csr th::before {
  content: "";
  position: absolute;
  left: calc(50% - 1px);
  height: 100%;
  border-left: 2px solid #a9a9a9;
}
.category5 .table-csr th span {
  position: relative;
  display: block;
  width: 60px;
  height: 60px;
  padding: 0 10px;
  color: #fff;
  text-align: center;
  line-height: 60px;
  background-color: #ff70b8;
  border-radius: 30px;
}
@media print, screen and (min-width:600px) {
  .category5 .table-csr th span {
    width: 80px;
    height: 80px;
    padding: 0 20px;
    line-height: 80px;
    border-radius: 40px;
  }
}
.category5 .table-csr td {
  padding: 10px 20px 40px;
}
.category5 .table-csr tr:last-child th::before {
  content: none;
}
@media all and (-ms-high-contrast: none) {
  .category5 *::-ms-backdrop, .category5 .table-csr th::before {
    height: 20px;
  }
}
.category5 .txt-address {
  margin-bottom: 2em;
}
.category5 .txt-address span {
  display: inline-block;
}
.category5 #map {
  width: 100%;
  height: 350px;
  margin: 50px 0;
  color: #101010;
}
@media print, screen and (min-width:960px) {
  .category5 #map {
    height: 500px;
  }
}
.category5 #map img {
  max-width: none !important;
}
.category5 #map .map_ballon {
  margin: 5px;
  line-height: 1.5;
  white-space: nowrap;
}
.category5 #map .map_ballon em {
  font-style: normal;
  font-weight: bold;
}

/*--========================================
 quants
========================================--*/
/* area
----------------------------------------*/
.cont-quants {
  background-color: #f7f8fc;
  background-color: #f7f8fc;
  background-color: #eef0f9;
}

.category1 {
  /* H1
  ----------------------------------------*/
  /* タブ
  ----------------------------------------*/
  /* メッセージ行組 */
  /* 書籍のご案内
  ----------------------------------------*/
}
.category1 footer {
  margin-top: 0;
}
.category1 .headings1 {
  margin-bottom: 0;
  padding: 1.2em 0 2em;
  border-bottom: 0;
  background-color: #aae5fe;
  background-image: url("../../quants/images/img_h1_quants.png");
  background-position: left calc(50vw - 780px) top 0;
  background-repeat: no-repeat;
  background-size: cover;
  /* PC:画面幅1500以上は画面幅に合わせて拡大する */
}
@media print, screen and (min-width:600px) {
  .category1 .headings1 {
    background-position: center top;
  }
}
@media print, screen and (min-width:960px) {
  .category1 .headings1 {
    height: 320px;
    padding: 1.6em 0 0;
    background-size: auto 320px;
  }
}
@media screen and (min-width: 1500px) {
  .category1 .headings1 {
    background-size: cover;
  }
}
.category1 .headings1 h1 {
  font-weight: normal;
  line-height: 1;
}
.category1 .headings1 h1::after {
  content: "";
  display: block;
  width: 100px;
  height: 3px;
  margin-top: 0.6em;
  background-color: #0828A5;
}
.category1 .headings1 .sub {
  font-size: 16px;
  font-size: 1.6rem;
}
.category1 .headings1 .lead {
  margin: 2em 0 0;
  font-size: 14px;
  font-size: 1.4rem;
}
@media print, screen and (min-width:600px) {
  .category1 .headings1 .lead > span {
    display: block;
  }
}
.category1 .tab {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  justify-content: space-around;
  align-items: center;
  text-align: center;
}
.category1 .tab input {
  display: none;
}
.category1 .tab label {
  width: calc((100% - 4.2rem) / 3);
  margin-top: -1.8em;
  padding: 0.8em 0.5em;
  background-color: #fff;
  border-top: 2px solid #0828A5;
  cursor: pointer;
  transition: all 0.2s;
  /* labelに入れる要素の余白を0にする */
}
@media print, screen and (min-width:600px) {
  .category1 .tab label {
    padding: 1.2em;
  }
}
.category1 .tab label > * {
  margin: 0;
  padding: 0;
  line-height: 1.2;
}
.category1 .tab #tab-case + label,
.category1 .tab #tab-rd + label {
  margin-right: 0;
}
.category1 .tab input:checked + label {
  color: #fff;
  background-color: #0828A5;
}
.category1 .tab .tab__show {
  overflow: hidden;
  width: 100%;
  height: 0;
  padding: 0;
  border-top: 0;
  opacity: 0;
}
.category1 .tab #tab-case:checked + * + * + * + * + * + .tab__show,
.category1 .tab #tab-rd:checked + * + * + * + * + .tab__show,
.category1 .tab #tab-book:checked + * + * + * + .tab__show {
  height: auto;
  padding: 2em 0;
  text-align: left;
  opacity: 1;
}
.category1 .tab .col__item {
  padding: 1.2em;
  background-color: #fff;
}
@media print, screen and (min-width:960px) {
  .category1 .tab .col__item {
    padding: 2em;
  }
}
.category1 .tab .col__item h4 {
  margin-bottom: 1.2em;
  color: #0828A5;
  line-height: 1.3;
}
.category1 .tab .box3 {
  margin-top: 1.2em;
  padding: 0.8em 1.2em;
  color: #606060;
  background-color: #fafafa;
  font-size: 14px;
  font-size: 1.4rem;
}
.category1 .box-book {
  padding: 1.2em;
  background-color: #fff;
}
@media print, screen and (min-width:600px) {
  .category1 .box-book {
    margin-bottom: 3em;
    padding: 2.4em;
  }
}
.category1 .box-book .item-txt {
  margin-bottom: 1.25em;
}
@media print, screen and (min-width:600px) {
  .category1 .box-book .item-txt {
    width: calc(100% - 250px);
    max-width: calc(67% - 2.4em);
    float: right;
  }
}
.category1 .box-book .item-txt h2 {
  margin-bottom: 0.25em;
}
.category1 .box-book .item-img {
  margin-bottom: 1.25em;
  text-align: center;
}
@media print, screen and (min-width:600px) {
  .category1 .box-book .item-img {
    width: 33%;
    min-width: 210px;
    margin-right: 2.4em;
    float: left;
  }
}
.category1 .box-book .item-img img {
  width: 80%;
}
@media print, screen and (min-width:600px) {
  .category1 .box-book .item-img img {
    width: 100%;
    max-width: 300px;
  }
}
.category1 .box-book .table1 {
  width: 100%;
}
@media print, screen and (min-width:600px) {
  .category1 .box-book .table1 {
    width: auto;
  }
}
.category1 .box-book .table1 th, .category1 .box-book .table1 td {
  padding: 0.5em 1.2em;
  font-size: 14px;
  font-size: 1.4rem;
}
.category1 .box-book .table1 th {
  white-space: nowrap;
}
.category1 .box-book .col-4 .col__item {
  margin: 0;
  padding: 0;
}
@media print, screen and (min-width:600px) {
  .category1 .box-book .col-4 .col__item {
    width: auto;
    margin-right: 1em;
  }
  .category1 .box-book .col-4 .col__item:last-child {
    margin-right: 0;
  }
}
.category1 .box-book h4 {
  clear: both;
}
.category1 .box-book .box1 {
  padding: 1em;
}
@media print, screen and (min-width:600px) {
  .category1 .box-book .box1 {
    padding: 1.5em;
  }
}
.category1 .box-book .box1 p, .category1 .box-book .box1 table td {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media screen and (max-width:480px) {
  .category1 .box-book .box1 table td {
    display: inline;
  }
}

/*--========================================
 recruit
========================================--*/
.category4 {
  /* 採用情報TOP
  ----------------------------------------*/
  /* 新卒採用情報
  ----------------------------------------*/
  /* トピックスエリア */
  /* バナー掲載エリア */
  /* 社長メッセージ
  ----------------------------------------*/
  /* プロフィールエリア */
  /* キャリア採用情報
  ----------------------------------------*/
  /* 募集職種：表 */
  /* 選考プロセス */
  /* インタビュー
  ----------------------------------------*/
  /* メンバーカラー */
  /* インタビューindex */
  /* インタビューナビゲーション */
  /* インタビューindex */
  /* インタビューナビゲーション */
  /* インタビューindex */
  /* インタビューナビゲーション */
  /* インタビューindex */
  /* インタビューナビゲーション */
  /* インタビューindex */
  /* インタビューナビゲーション */
  /* インタビューindex */
  /* インタビューナビゲーション */
  /* タイムテーブル囲みBOX */
  /* タイムテーブル */
  /* 社員インタビューナビゲーション */
  /* 社員インタビューindex */
  /* 女性社員座談会
  ----------------------------------------*/
  /* 新入社員研修
  ----------------------------------------*/
  /* 採用に関するFAQ
  ----------------------------------------*/
  /* ページ内アンカーリスト */
  /* アンカー着地点 */
  /* Q&Aリスト */
}
.category4 .recruit-top .col__item:last-child {
  margin-bottom: 40px;
}
@media print, screen and (min-width:600px) {
  .category4 .recruit-top .col__item:last-child {
    margin-bottom: 60px;
  }
}
.category4 .recruit-topics {
  margin-bottom: 3em;
}
.category4 .recruit-topics span {
  display: block;
}
@media print, screen and (min-width:600px) {
  .category4 .recruit-topics span {
    display: inline-block;
  }
}
@media print, screen and (min-width:600px) {
  .category4 .recruit-topics span ~ span {
    margin-left: 1.2em;
  }
}
.category4 .recruit-banner-area .box1 {
  padding: 0;
}
@media screen and (max-width:480px) {
  .category4 .recruit-banner-area .box1 {
    width: 100%;
  }
}
.category4 .recruit-banner-area .box1 a {
  display: block;
  padding: 0.5em 1.5em 0.75em;
}
@media screen and (max-width:480px) {
  .category4 .recruit-banner-area .col {
    justify-content: center;
  }
}
.category4 .recruit-banner-area .col li + li {
  margin-left: 30px;
}
@media screen and (max-width:480px) {
  .category4 .recruit-banner-area .col li + li {
    margin-left: 0;
    margin-top: 20px;
  }
}
.category4 .recruit-banner-area .banner {
  overflow: hidden;
  height: 50px;
}
@media print, screen and (min-width:600px) {
  .category4 .messages .profile .box-profile {
    margin: 2em 0 0;
  }
}
.category4 .careers-jobs .table1 {
  width: 100%;
}
.category4 .careers-jobs .table1 th {
  padding: 10px 20px;
}
.category4 .process {
  margin-bottom: 1em;
  list-style-type: none;
}
@media print, screen and (min-width:600px) {
  .category4 .process {
    display: flex;
  }
}
.category4 .process li {
  position: relative;
  margin: 0 0 40px;
  padding: 1.2em 0;
  text-align: center;
  background-color: #eef0f9;
  border: 1px solid #dcdcdc;
}
@media print, screen and (min-width:600px) {
  .category4 .process li {
    width: calc((100% - 120px) / 4);
    margin: 0 40px 0 0;
  }
}
.category4 .process li::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 0 0 0;
  border-top: solid 2px #0828A5;
  border-right: solid 2px #0828A5;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  bottom: -24px;
  left: calc(50% - 6px);
}
@media print, screen and (min-width:600px) {
  .category4 .process li::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 0 0 0;
    border-top: solid 2px #0828A5;
    border-right: solid 2px #0828A5;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: calc(50% - 6px);
    bottom: auto;
    left: auto;
    right: -24px;
  }
}
.category4 .process li:last-child {
  margin: 0;
}
.category4 .process li:last-child::after {
  content: none;
}
.category4 .member1 {
  /* タイムテーブル囲みBOX */
}
.category4 .member1 h3 {
  border-bottom: 3px solid #008400;
}
.category4 .member1 .box-profile {
  background-color: #cce6cc;
}
.category4 .member1 .box-timetable {
  background-color: #e6f3e6;
}
.category4 .member1 .box-timetable::after {
  background: repeating-linear-gradient(-45deg, #fff, #fff 10px, #e6f3e6 5px, #e6f3e6 15px);
  background-color: #e6f3e6;
}
.category4 .member1 .box-timetable th span {
  background-color: #e6f3e6;
}
.category4 .interview-index .col__item:nth-child(1) .thumb::after {
  background-color: #b3dab3;
}
.category4 .interview-nav .col__item:nth-child(1) .thumb::after {
  background-color: #b3dab3;
}
.category4 .member2 {
  /* タイムテーブル囲みBOX */
}
.category4 .member2 h3 {
  border-bottom: 3px solid #0cafe6;
}
.category4 .member2 .box-profile {
  background-color: #ceeffa;
}
.category4 .member2 .box-timetable {
  background-color: #e7f7fd;
}
.category4 .member2 .box-timetable::after {
  background: repeating-linear-gradient(-45deg, #fff, #fff 10px, #e7f7fd 5px, #e7f7fd 15px);
  background-color: #e7f7fd;
}
.category4 .member2 .box-timetable th span {
  background-color: #e7f7fd;
}
.category4 .interview-index .col__item:nth-child(2) .thumb::after {
  background-color: #b6e7f8;
}
.category4 .interview-nav .col__item:nth-child(2) .thumb::after {
  background-color: #b6e7f8;
}
.category4 .member3 {
  /* タイムテーブル囲みBOX */
}
.category4 .member3 h3 {
  border-bottom: 3px solid #f88b26;
}
.category4 .member3 .box-profile {
  background-color: #fee8d4;
}
.category4 .member3 .box-timetable {
  background-color: #fef3e9;
}
.category4 .member3 .box-timetable::after {
  background: repeating-linear-gradient(-45deg, #fff, #fff 10px, #fef3e9 5px, #fef3e9 15px);
  background-color: #fef3e9;
}
.category4 .member3 .box-timetable th span {
  background-color: #fef3e9;
}
.category4 .interview-index .col__item:nth-child(3) .thumb::after {
  background-color: #fddcbe;
}
.category4 .interview-nav .col__item:nth-child(3) .thumb::after {
  background-color: #fddcbe;
}
.category4 .member4 {
  /* タイムテーブル囲みBOX */
}
.category4 .member4 h3 {
  border-bottom: 3px solid #f66eb4;
}
.category4 .member4 .box-profile {
  background-color: #fde2f0;
}
.category4 .member4 .box-timetable {
  background-color: #fef1f8;
}
.category4 .member4 .box-timetable::after {
  background: repeating-linear-gradient(-45deg, #fff, #fff 10px, #fef1f8 5px, #fef1f8 15px);
  background-color: #fef1f8;
}
.category4 .member4 .box-timetable th span {
  background-color: #fef1f8;
}
.category4 .interview-index .col__item:nth-child(4) .thumb::after {
  background-color: #fcd4e9;
}
.category4 .interview-nav .col__item:nth-child(4) .thumb::after {
  background-color: #fcd4e9;
}
.category4 .member5 {
  /* タイムテーブル囲みBOX */
}
.category4 .member5 h3 {
  border-bottom: 3px solid #00aeae;
}
.category4 .member5 .box-profile {
  background-color: #ccefef;
}
.category4 .member5 .box-timetable {
  background-color: #e6f7f7;
}
.category4 .member5 .box-timetable::after {
  background: repeating-linear-gradient(-45deg, #fff, #fff 10px, #e6f7f7 5px, #e6f7f7 15px);
  background-color: #e6f7f7;
}
.category4 .member5 .box-timetable th span {
  background-color: #e6f7f7;
}
.category4 .interview-index .col__item:nth-child(5) .thumb::after {
  background-color: #b3e7e7;
}
.category4 .interview-nav .col__item:nth-child(5) .thumb::after {
  background-color: #b3e7e7;
}
.category4 .member6 {
  /* タイムテーブル囲みBOX */
}
.category4 .member6 h3 {
  border-bottom: 3px solid #1260b9;
}
.category4 .member6 .box-profile {
  background-color: #d0dff1;
}
.category4 .member6 .box-timetable {
  background-color: #e7eff8;
}
.category4 .member6 .box-timetable::after {
  background: repeating-linear-gradient(-45deg, #fff, #fff 10px, #e7eff8 5px, #e7eff8 15px);
  background-color: #e7eff8;
}
.category4 .member6 .box-timetable th span {
  background-color: #e7eff8;
}
.category4 .interview-index .col__item:nth-child(6) .thumb::after {
  background-color: #b8cfea;
}
.category4 .interview-nav .col__item:nth-child(6) .thumb::after {
  background-color: #b8cfea;
}
.category4 .interview {
  /* 写真回り込み */
}
.category4 .interview h3 {
  position: relative;
  margin: 0 0 1.2em;
  padding: 0 0 0.5em;
  text-indent: 0;
}
.category4 .interview h3::before {
  content: none;
}
.category4 .interview .img-left {
  margin-bottom: 20px;
}
@media print, screen and (min-width:600px) {
  .category4 .interview .img-left {
    width: 40%;
    max-width: 400px;
    margin-bottom: 0;
    margin-right: 1.5em;
  }
}
.category4 .interview .img-right {
  margin-top: 20px;
}
@media print, screen and (min-width:600px) {
  .category4 .interview .img-right {
    width: 40%;
    max-width: 400px;
    margin-top: 0;
    margin-left: 1.5em;
  }
}
.category4 .profile {
  position: relative;
  margin-bottom: 4em;
}
@media print, screen and (min-width:600px) {
  .category4 .profile {
    min-height: 400px;
    padding-top: 3em;
  }
}
@media print, screen and (min-width:600px) {
  .category4 .profile .img-profile {
    position: absolute;
    overflow: hidden;
    top: 0;
    right: 0;
    height: calc((100vw - 30px) * 0.56);
    max-height: 400px;
    z-index: -1;
  }
}
.category4 .profile .img-profile img {
  width: 100%;
  max-width: 800px;
  height: auto;
}
.category4 .profile .box-profile {
  position: relative;
  margin: 0.6em 0 0;
  padding: 1.5em;
}
@media print, screen and (min-width:600px) {
  .category4 .profile .box-profile {
    width: 50%;
    margin: 0;
    padding: 2.5em;
  }
}
.category4 .profile .box-profile p {
  font-size: 87.5%;
}
.category4 .profile .box-profile p ~ p {
  margin-top: 0.8em;
}
.category4 .profile h2 {
  color: #101010;
  font-weight: normal;
  font-size: 30px;
  font-size: 3rem;
}
@media print, screen and (min-width:600px) {
  .category4 .profile h2 {
    font-size: 36px;
    font-size: 3.6rem;
  }
}
@media print, screen and (min-width:600px) {
  .category4 .member4 .profile .img-profile {
    right: auto;
    left: 0;
  }
  .category4 .member4 .profile .box-profile {
    position: absolute;
    right: 0;
  }
}
.category4 .box-timetable {
  position: relative;
  width: calc(100% - 15px);
  margin-bottom: 40px;
  padding: 1.5em;
}
@media print, screen and (min-width:600px) {
  .category4 .box-timetable {
    width: calc(100% - 50px);
    padding: 2.5em 3em;
  }
}
.category4 .box-timetable::after {
  content: "";
  position: absolute;
  top: 30px;
  bottom: -15px;
  left: 30px;
  right: -15px;
  z-index: -1;
}
@media print, screen and (min-width:600px) {
  .category4 .box-timetable::after {
    bottom: -30px;
    right: -50px;
  }
}
.category4 .timetable {
  margin-bottom: 0;
}
.category4 .timetable table {
  width: 100%;
}
.category4 .timetable th, .category4 .timetable td {
  vertical-align: top;
}
.category4 .timetable th {
  position: relative;
  width: 30px;
  padding: 0 0 1em;
}
.category4 .timetable th::before {
  content: "";
  position: absolute;
  left: calc(50% - 1px);
  height: 100%;
  border-left: 2px solid #a9a9a9;
}
.category4 .timetable th span {
  position: relative;
  display: block;
  width: 30px;
  height: 30px;
  text-align: center;
  border: 2px solid #ff70b8;
  border-radius: 15px;
  /*----- 短針 -----*/
  /*----- 長針 -----*/
}
.category4 .timetable th span::before, .category4 .timetable th span::after {
  content: "";
  position: absolute;
  border-left: 3px solid #ff70b8;
}
.category4 .timetable th span::before {
  height: calc(50% - 5px);
}
.category4 .timetable th span.h9::before {
  top: calc(50% - 4px);
  left: 9px;
  transform: rotate(90deg);
}
.category4 .timetable th span.h9.m30::before {
  transform: rotate(105deg);
}
.category4 .timetable th span.h10::before {
  top: calc(50% - 6px);
  left: 8px;
  transform: rotate(-60deg);
}
.category4 .timetable th span.h11::before {
  top: calc(50% - 7px);
  left: 9px;
  transform: rotate(-30deg);
}
.category4 .timetable th span.h12::before {
  top: 5px;
  left: calc(50% - 1px);
}
.category4 .timetable th span.h12.m30::before {
  left: 50%;
  transform: rotate(15deg);
}
.category4 .timetable th span.h13::before {
  top: calc(50% - 7px);
  right: 9px;
  transform: rotate(30deg);
}
.category4 .timetable th span.h14::before {
  top: calc(50% - 6px);
  right: 8px;
  transform: rotate(60deg);
}
.category4 .timetable th span.h15::before {
  top: calc(50% - 4px);
  right: 8px;
  transform: rotate(90deg);
}
.category4 .timetable th span.h16::before {
  bottom: calc(50% - 6px);
  right: 8px;
  transform: rotate(-60deg);
}
.category4 .timetable th span.h17::before {
  bottom: calc(50% - 7px);
  right: 9px;
  transform: rotate(-30deg);
}
.category4 .timetable th span.h18::before {
  bottom: 6px;
  left: calc(50% - 1px);
}
.category4 .timetable th span.h19::before {
  bottom: calc(50% - 7px);
  left: 10px;
  transform: rotate(30deg);
}
.category4 .timetable th span::after {
  left: calc(50% - 1px);
  height: calc(50% - 2px);
}
.category4 .timetable th span.m0::after {
  top: 3px;
}
.category4 .timetable th span.m30::after {
  bottom: 3px;
}
.category4 .timetable td {
  padding: 0 0 1em 0.65em;
}
.category4 .timetable td:nth-of-type(1) {
  color: #ff70b8;
  font-weight: bold;
}
.category4 .timetable tr:last-child th::before {
  content: none;
}
.category4 .timetable tr:last-child th, .category4 .timetable tr:last-child td {
  padding-bottom: 0;
}
@media all and (-ms-high-contrast: none) {
  .category4 *::-ms-backdrop, .category4 .timetable th::before {
    height: 20px;
  }
}
@media print, screen and (min-width:600px) {
  .category4 .interview-nav .col-5 .col__item {
    width: calc((99.99% - 60px) / 3);
    margin: 10px 30px 20px 0;
  }
  .category4 .interview-nav .col-5 .col__item:nth-child(3n) {
    margin-right: 0;
  }
}
@media print, screen and (min-width:960px) {
  .category4 .interview-nav .col-5 .col__item {
    width: calc((99.9% - 100px) / 5);
    margin: 10px 25px 0 0;
  }
  .category4 .interview-nav .col-5 .col__item:nth-child(3n) {
    margin: 10px 25px 0 0;
  }
  .category4 .interview-nav .col-5 .col__item:last-child {
    margin-right: 0;
  }
}
.category4 .interview-nav .thumb {
  position: relative;
  margin-bottom: 0;
  font-size: 87.5%;
  line-height: 1.25;
}
.category4 .interview-nav .thumb::after {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  right: 5px;
  z-index: -1;
}
@media print, screen and (min-width:600px) {
  .category4 .interview-nav .thumb::after {
    height: calc((100vw - 178px) / 3 * 0.56);
    max-height: 107px;
  }
}
@media print, screen and (min-width:960px) {
  .category4 .interview-nav .thumb::after {
    height: calc((100vw - 167px) / 5 * 0.56);
    max-height: 88px;
  }
}
.category4 .interview-nav .thumb__img {
  width: calc(100% - 5px);
  margin-left: 10px;
}
@media print, screen and (min-width:600px) {
  .category4 .interview-nav .thumb__img {
    height: calc((100vw - 178px) / 3 * 0.56);
    max-height: 107px;
  }
}
@media print, screen and (min-width:960px) {
  .category4 .interview-nav .thumb__img {
    height: calc((100vw - 167px) / 5 * 0.56);
    max-height: 88px;
  }
}
.category4 .interview-index .thumb {
  position: relative;
}
.category4 .interview-index .thumb::after {
  content: "";
  position: absolute;
  top: -20px;
  left: 0;
  right: 10px;
  height: calc((100vw - 45px) * 0.56);
  z-index: -1;
}
@media print, screen and (min-width:600px) {
  .category4 .interview-index .thumb::after {
    height: calc((100vw - 160px) / 2 * 0.56);
  }
}
@media print, screen and (min-width:960px) {
  .category4 .interview-index .thumb::after {
    height: calc((100vw - 180px) / 3 * 0.56);
    max-height: 157px;
  }
}
.category4 .interview-index .thumb__img {
  width: calc(100% - 20px);
  height: calc((100vw - 50px) * 0.56);
  margin-left: 20px;
}
@media print, screen and (min-width:600px) {
  .category4 .interview-index .thumb__img {
    height: calc((100vw - 160px) / 2 * 0.56);
  }
}
@media print, screen and (min-width:960px) {
  .category4 .interview-index .thumb__img {
    height: calc((100vw - 180px) / 3 * 0.56);
    max-height: 157px;
  }
}
.category4 .txt-att-recruit {
  margin-top: 2em;
  font-size: 14px;
  font-size: 1.4rem;
}
@media print, screen and (min-width:600px) {
  .category4 .txt-att-recruit {
    text-align: right;
  }
}
.category4 .women .headings1 {
  margin-bottom: 0;
  border-bottom-color: #ff70b8;
}
.category4 .women .headings1 p {
  font-size: 65%;
}
.category4 .women h3 {
  margin-bottom: 1.5em;
  line-height: 1.5;
}
.category4 .women .women-profile {
  margin-bottom: 3em;
  padding: 1.6em 0;
  font-size: 14px;
  font-size: 1.4rem;
  background-color: #fff1f8;
  /*-----  Edge -----*/
}
@media print, screen and (min-width:600px) {
  .category4 .women .women-profile {
    padding: 3.2em 0 2.4em;
    font-size: 16px;
    font-size: 1.6rem;
  }
}
.category4 .women .women-profile .col__item {
  margin: 0 auto;
}
@media print, screen and (min-width:600px) {
  .category4 .women .women-profile .col__item {
    position: relative;
    width: calc((100% - 160px) / 3);
    margin: 0 80px 0 0;
  }
  .category4 .women .women-profile .col__item:last-child {
    margin-right: 0;
  }
}
.category4 .women .women-profile .col__item::after {
  content: "";
  display: inline-block;
  width: calc(45% - 0.8em);
  height: 30px;
  margin: 0.8em 0 0.5em;
  background-image: url("../images/img_women_cross.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto;
}
@media print, screen and (min-width:600px) {
  .category4 .women .women-profile .col__item::after {
    position: absolute;
    width: 30px;
    height: calc((100vw - 220px) / 3 * 0.67);
    top: 0;
    right: -50px;
    margin: 0;
  }
}
@media print, screen and (min-width:960px) {
  .category4 .women .women-profile .col__item::after {
    height: 30px;
    top: 28%;
  }
}
.category4 .women .women-profile .col__item:last-child::after {
  content: none;
}
.category4 .women .women-profile .col__item > * {
  display: table-cell;
  vertical-align: top;
}
@media print, screen and (min-width:600px) {
  .category4 .women .women-profile .col__item > * {
    display: block;
  }
}
@media print, screen and (min-width:960px) {
  .category4 .women .women-profile :-ms-lang(x)::backdrop, .category4 .women .women-profile .col__item {
    width: calc((100% - 162px) / 3);
  }
}
.category4 .women .women-profile .img {
  width: 45%;
  padding: 0 0.8em 0 0;
  z-index: 0;
}
@media print, screen and (min-width:600px) {
  .category4 .women .women-profile .img {
    width: 100%;
    margin: 0 0 0.8em;
    padding: 0;
  }
}
.category4 .women .women-profile .img img {
  position: relative;
  display: block;
}
.category4 .women .women-profile .txt .name {
  color: #ff70b8;
  font-weight: bold;
  font-size: 20px;
  font-size: 2rem;
}
.category4 .women .talk dl {
  display: table-row;
}
.category4 .women .talk dt {
  display: table-cell;
  padding: 0 0 1.2em;
  color: #ff70b8;
  font-weight: bold;
  vertical-align: top;
  white-space: nowrap;
}
.category4 .women .talk dd {
  display: table-cell;
  padding: 0 0 1.2em 1.2em;
  vertical-align: top;
}
.category4 .women .row .img {
  position: relative;
  margin-bottom: 3em;
}
@media print, screen and (min-width:600px) {
  .category4 .women .row .img {
    width: 40%;
    padding: 0 0 1em;
  }
}
.category4 .women .row .img::after {
  content: "";
  position: absolute;
  top: 30px;
  left: 30px;
  width: calc(100% - 30px);
  height: calc((100vw - 60px) * 0.67);
  background: repeating-linear-gradient(-45deg, #fff, #fff 10px, #fff1f8 5px, #fff1f8 15px);
  background-color: #fff1f8;
  z-index: -1;
}
@media print, screen and (min-width:600px) {
  .category4 .women .row .img::after {
    height: calc((40vw - 60px) * 0.67);
  }
}
@media print, screen and (min-width:960px) {
  .category4 .women .row .img::after {
    height: calc((40vw - 30px) * 0.67);
    max-height: 254px;
  }
}
.category4 .women .row .img img {
  width: calc(100% - 30px);
}
@media print, screen and (min-width:600px) {
  .category4 .women .row__item.img + .row__item.txt {
    padding-left: 1.5em;
  }
}
.category4 .training {
  position: relative;
  /*----- 吹き出し位置 -----*/
}
.category4 .training::after {
  content: "";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}
.category4 .training::before {
  content: "";
  position: absolute;
  left: 6px;
  height: 100%;
  border-left: 4px solid #a9a9a9;
}
@media print, screen and (min-width:960px) {
  .category4 .training::before {
    left: calc(50% - 2px);
  }
}
.category4 .training ul {
  width: calc(100% - 40px);
  margin-left: 40px;
}
@media print, screen and (min-width:960px) {
  .category4 .training ul {
    width: 100%;
    margin: 0;
  }
}
.category4 .training li {
  /*----- 印刷 -----*/
}
@media print, screen and (min-width:960px) {
  .category4 .training li {
    width: calc(50% - 40px);
  }
  .category4 .training li.left {
    float: left;
  }
  .category4 .training li.right {
    float: right;
    margin-left: 80px;
  }
  .category4 .training li.tr2, .category4 .training li.tr4 {
    clear: left;
  }
}
@media print {
  .category4 .training li.tr2, .category4 .training li.tr4 {
    clear: left;
  }
}
.category4 .training .img {
  margin-bottom: 2em;
}
.category4 .training dl {
  margin-bottom: 2em;
  padding: 20px;
  background-color: #eef0f9;
}
.category4 .training dt {
  position: relative;
  margin-bottom: 0.6em;
  padding-bottom: 0.6em;
  font-weight: bold;
  font-size: 18px;
  font-size: 1.8rem;
  border-bottom: 1px solid #dcdcdc;
}
.category4 .training dt::before, .category4 .training dt::after {
  content: "";
  position: absolute;
}
.category4 .training dt::before {
  top: 50%;
  left: -60px;
  margin-top: -20px;
  border: 20px solid transparent;
  border-right: 20px solid #eef0f9;
}
.category4 .training dt::after {
  top: calc(50% - 8px);
  left: -60px;
  width: 16px;
  height: 16px;
  background-color: #ff70b8;
  border-radius: 8px;
}
.category4 .training dt span {
  font-size: 14px;
  font-size: 1.4rem;
}
@media print, screen and (min-width:960px) {
  .category4 .training .left dt::before {
    left: calc(100% + 20px);
    border-right: 0;
    border-left: 20px solid #eef0f9;
  }
  .category4 .training .left dt::after {
    left: auto;
    right: -68px;
  }
  .category4 .training .right dt::before {
    right: calc(100% + 20px);
  }
  .category4 .training .right dt::after {
    left: -68px;
  }
}
.category4 .qa-anchor span {
  display: inline-block;
  margin-right: 2em;
}
.category4 .qa-anchor span:last-child {
  margin-right: 0;
}
.category4 .faq-area section {
  position: relative;
}
.category4 .faq-area .anchor-position {
  position: absolute;
  top: -60px;
}
@media print, screen and (min-width:960px) {
  .category4 .faq-area .anchor-position {
    top: -90px;
  }
}
.category4 .qa-list dt {
  margin-bottom: 0.5em;
  padding-left: 1.3em;
  color: #0828A5;
  text-indent: -1.3em;
  font-size: 18px;
  font-size: 1.8rem;
}
@media print, screen and (min-width:600px) {
  .category4 .qa-list dt {
    font-size: 20px;
    font-size: 2rem;
  }
}
.category4 .qa-list dt::before {
  content: "Q";
  margin-right: 0.5em;
}
.category4 .qa-list dd {
  padding-bottom: 1.2em;
  padding-left: 1.3em;
  text-indent: -1.3em;
  border-bottom: 1px solid #eee;
}
@media print, screen and (min-width:600px) {
  .category4 .qa-list dd {
    padding-left: 1.5em;
    text-indent: -1.5em;
  }
}
.category4 .qa-list dd::before {
  content: "A";
  margin-right: 0.5em;
  vertical-align: middle;
  font-size: 18px;
  font-size: 1.8rem;
}
@media print, screen and (min-width:600px) {
  .category4 .qa-list dd::before {
    font-size: 20px;
    font-size: 2rem;
  }
}
.category4 .qa-list dd ~ dt {
  margin-top: 1.2em;
}

/*--========================================
 searvice
========================================--*/
/* 共通
----------------------------------------*/
/* カラム */
.service-item .col__item {
  display: flex;
  flex-direction: column;
}
.service-item .col__item > div {
  width: 100%;
  min-height: 0%;
  margin-bottom: 1em;
}
.service-item .col__item > div:last-child {
  margin-bottom: 0;
}
.service-item .col__item > div ~ div {
  margin-top: auto;
}
.service-item .col__item .box3 {
  margin-top: 0;
}
.service-item .service-item-img {
  display: block;
  width: 100%;
}
.service-item .item__list {
  margin: 0.8em auto 0;
  font-size: 14px;
  font-size: 1.4rem;
}
.service-item h2 {
  margin-bottom: 1em;
  padding-bottom: 0.5em;
  color: #101010;
  font-size: 24px;
  font-size: 2.4rem;
  border-bottom: 1px solid #a9a9a9;
}
.service-item .service-item-img + h4 {
  margin-top: 0.8em;
}
.service-item h4 ~ h4 {
  margin-top: 1.2em;
}
.service-item h5 {
  margin-bottom: 0.5em;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
}
.service-item p {
  font-size: 14px;
  font-size: 1.4rem;
}
.service-item .sub-title {
  font-size: 16px;
  font-size: 1.6rem;
  font-weight: bold;
}
.service-item .box3 {
  padding: 1.2em;
}
.service-item .btn-overview {
  margin-top: -40px;
  margin-bottom: 50px;
}

/* 導入実績BOX：共通.box3に上側マージンを設定したもの */
.box-case {
  margin-top: 2em;
  padding: 1.2em;
  background-color: #eef0f9;
}

/* 導入事例：企業情報 */
@media print, screen and (min-width:600px) {
  .profile-area {
    width: auto;
  }
}

.profile-logo {
  margin-bottom: 0;
}
@media print, screen and (min-width:600px) {
  .profile-logo {
    vertical-align: middle;
  }
}

.category2 {
  /*
  変則レイアウト：Row行の中で画像を列表示
  　・analysis.html：株式分析コンテンツ
  　・fx-simulation.html：FXシミュレーション
  　・web-chart.html：Webサイト向けチャート
  */
  /*
  変則レイアウト：画面キャプチャ複数表示
  　・screening.html：スクリーニング
  　・simulation.html：積立シミュレーション
  　・fund-contents.html：投資信託コンテンツ
  */
  /* サービスターゲットタグ */
  /* サービスTOP
  ----------------------------------------*/
  /* サムネイルアイコン */
  /* コンサルティング
  ----------------------------------------*/
  /* スクリーニング
  ----------------------------------------*/
  /* オプション価格計算ツール
  ----------------------------------------*/
  /* 投資信託コンテンツ
  ----------------------------------------*/
  /* BtoC
  ----------------------------------------*/
}
@media print, screen and (min-width:600px) {
  .category2 .row.combo .row__item {
    width: 40%;
  }
  .category2 .row.combo .row__item.img {
    width: 60%;
  }
  .category2 .row.combo .row__item .col-2 .col__item {
    width: calc((100% - 40px) / 2);
    margin: 0 0 30px;
    margin-right: 40px;
  }
  .category2 .row.combo .row__item .col-2 .col__item:nth-child(even) {
    margin-right: 0;
  }
}
.category2 .img-layer {
  position: relative;
  z-index: 0;
  width: 100%;
  height: calc((100vw - 30px) * 0.765);
}
@media print, screen and (min-width:600px) {
  .category2 .img-layer {
    height: calc((50vw - 60px) * 0.765);
  }
}
@media print, screen and (min-width:960px) {
  .category2 .img-layer {
    height: calc((100vw - 80px) / 3 * 0.765);
    max-height: 230px;
  }
}
.category2 .img-layer .img-pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 98%;
  margin: 0;
}
.category2 .img-layer .img-pop {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 55%;
  z-index: 1;
}
.category2 .img-layer .img-sp {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 30%;
  z-index: 1;
}
@media print, screen and (min-width:960px) {
  .category2 .col-2 .img-layer {
    height: calc((50vw - 20px) * 0.765);
    max-height: 320px;
  }
}
.category2 .col-2 .img-layer .img-pc {
  width: 80%;
}
.category2 .col-2 .img-layer .img-sp {
  width: 25%;
}
.category2 .tag-area {
  margin: 0 0 0.5em;
}
.category2 .tag-area span {
  padding: 0.3em 0.8em;
  font-size: 14px;
  font-size: 1.4rem;
}
.category2 .tag-area span.tag-bb {
  background-color: #86d7f3;
}
.category2 .tag-area span.tag-bc {
  background-color: #fcc593;
}
.category2 .tag-area span.tag-bbc {
  background-color: #80d7d7;
}
.category2 .tag-area span ~ span {
  margin-left: 0.6em;
}
.category2 .service-top-item .col__item {
  text-align: center;
}
.category2 .service-top-item .thumb__ico {
  display: block;
}
.category2 .service-top-item .thumb__ico > img {
  width: auto;
}
.category2 .service-top-item .item__list {
  display: table;
  width: auto;
  margin: 1em auto 0;
  text-align: left;
}
.category2 .process {
  /* ワンストップコンサルティング */
  margin-top: 1em;
  list-style-type: none;
}
@media print, screen and (min-width:600px) {
  .category2 .process {
    display: flex;
  }
}
.category2 .process li {
  position: relative;
  margin: 0 0 40px;
  padding: 1.2em 0.5em;
  text-align: center;
  background-color: #eef0f9;
  border: 1px solid #dcdcdc;
}
@media print, screen and (min-width:600px) {
  .category2 .process li {
    width: calc((100% - 120px) / 4);
    margin: 0 40px 0 0;
  }
}
.category2 .process li::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  margin: 0 0 0 0;
  border-top: solid 2px #0828A5;
  border-right: solid 2px #0828A5;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  bottom: -24px;
  left: calc(50% - 6px);
}
@media print, screen and (min-width:600px) {
  .category2 .process li::after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 0 0 0;
    border-top: solid 2px #0828A5;
    border-right: solid 2px #0828A5;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    top: calc(50% - 6px);
    bottom: auto;
    left: auto;
    right: -24px;
  }
}
.category2 .process li:last-child {
  margin: 0;
}
.category2 .process li:last-child::after {
  content: none;
}
.category2 .process h4 {
  margin-bottom: 0;
  color: #0828A5;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width:480px) {
  .category2 .businessdata .row__item {
    /*----- TBのtable-cellを解除する -----*/
    display: block;
  }
  .category2 .businessdata .row__item.img {
    margin-top: 2em;
    text-align: center;
  }
}
@media screen and (max-width:480px) and (min-width:960px) {
  .category2 .businessdata .row__item.img {
    width: 56%;
  }
}
.category2 .itsms {
  /* AWS運用支援プログラム：ITSMSサービス運用の概要図 */
  margin: 20px auto 40px;
  background: #f1f1f1;
}
.category2 .itsms_inner {
  padding: 20px;
}
@media print, screen and (min-width:960px) {
  .category2 .itsms_inner {
    padding: 30px;
  }
}
.category2 .itsms_caption {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1em;
}
.category2 .itsms_graph {
  text-align: center;
}
.category2 .itsms_graph_text {
  padding: 24px;
  margin: 0 auto;
  border: solid 1px #7f7f7f;
}
.category2 .itsms_graph_text p {
  line-height: 1.5;
}
@media print, screen and (min-width:600px) {
  .category2 .itsms_graph_text ul {
    display: flex;
    gap: 20px;
  }
}
.category2 .itsms_graph_text li {
  margin-bottom: 1em;
  padding: 16px;
  background: #6a6a6a;
  color: #fff;
  text-align: center;
  line-height: 1.4;
}
@media print, screen and (min-width:600px) {
  .category2 .itsms_graph_text li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 33.3333333333%;
  }
}
.category2 .itsms_graph img {
  display: block;
  margin: auto;
}
.category2 .screening {
  /*----- TB表示のときmy株幅100% -----*/
  /*----- PC表示のときmy株幅2/3サイズ -----*/
}
@media print, screen and (min-width:600px) {
  .category2 .screening .col__item:nth-child(2) {
    width: 100%;
    max-width: none;
    margin-right: 0;
  }
  .category2 .screening .img-layer .img-pc, .category2 .screening .img-layer .img-pc2 {
    width: auto;
    height: 96%;
  }
  .category2 .screening .img-layer .img-pc2 {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
  }
  .category2 .screening .img-layer .img-pop {
    width: 35%;
    left: 27%;
  }
}
@media print, screen and (min-width:960px) {
  .category2 .screening .col__item:nth-child(2) {
    width: calc((100% - 80px) / 3 * 2 + 40px);
    max-width: none;
    margin-right: 0;
  }
}
.category2 .option {
  /*----- TB表示のときテキスト幅100% -----*/
}
@media print, screen and (min-width:600px) and (max-width: 959px) {
  .category2 .option .col__item:first-child {
    width: 100%;
    max-width: auto;
    max-width: initial;
    margin: 0 0 40px;
  }
  .category2 .option .col__item:nth-of-type(2) {
    margin-right: 40px;
  }
  .category2 .option .col__item:nth-of-type(3) {
    margin-right: 0;
  }
}
.category2 .fund-contents {
  /*----- TB表示のとき幅100% -----*/
  /*----- PC表示のとき幅2/3サイズ -----*/
}
@media print, screen and (min-width:600px) {
  .category2 .fund-contents .col__item:nth-child(1) {
    width: 100%;
    max-width: none;
    margin-right: 0;
    flex-direction: row;
  }
  .category2 .fund-contents .col__item:nth-child(1) .img {
    margin-left: 20px;
  }
}
@media print, screen and (min-width:960px) {
  .category2 .fund-contents .col__item:nth-child(1) {
    width: calc((100% - 80px) / 3 * 2 + 40px);
    max-width: none;
    margin-right: 40px;
  }
  .category2 .fund-contents .col__item:nth-child(2) {
    margin-right: 0;
  }
}
.category2 .service_btoc .row {
  margin-bottom: 2em;
  word-break: break-all;
}
@media print, screen and (min-width:600px) {
  .category2 .service_btoc .row {
    /*----- TB -----*/
    margin-bottom: 4em;
    display: table;
    table-layout: fixed;
    width: 100%;
  }
}
.category2 .service_btoc .row__item.img {
  margin-top: 1em;
}
@media print, screen and (min-width:600px) {
  .category2 .service_btoc .row__item.img {
    /*----- TB -----*/
    width: 40%;
    padding-left: 1.5em;
  }
}

.news-list {
  /* ニュースリスト */
  display: table;
  margin-bottom: 1.5em;
}
.news-list li {
  padding: 1em 0;
  border-bottom: 1px dotted #101010;
}
@media print, screen and (min-width:600px) {
  .news-list__date, .news-list__ttl {
    display: table-cell;
  }
}
.news-list__date {
  width: 7em;
}

.category6 {
  /*--========================================
   news
  ========================================--*/
}
.category6 .headings1 .date {
  margin-bottom: 0.5em;
  font-size: 16px;
  font-size: 1.6rem;
}
.category6 .headings1 .subtitle {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.35;
  margin-top: 0.2em;
}
@media print, screen and (min-width:960px) {
  .category6 .headings1 .subtitle {
    font-size: 28px;
    font-size: 2.8rem;
  }
}
.category6 section .news-list {
  width: 100%;
}
.category6 section label {
  display: flex;
  justify-content: space-between;
}
.category6 section label > a {
  display: inline-block;
}
.category6 section label > a.next {
  margin-left: 12px;
  margin-right: auto;
  text-indent: -12px;
}
.category6 section label > a.next::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 6px 3px 0;
  border-top: solid 2px #ff70b8;
  border-right: solid 2px #ff70b8;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform: rotate(-135deg);
}
.category6 section label > a.prev {
  margin-left: auto;
}
.category6 section label > a.prev::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 6px 3px 0;
  border-top: solid 2px #ff70b8;
  border-right: solid 2px #ff70b8;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  margin: 0 0 3px 6px;
}
.category6 section.news_article_area h2, .category6 section.news_article_area h3, .category6 section.news_article_area h4 {
  margin-top: 1.5em;
}
.category6 section.news_article_area p {
  margin-bottom: 0.5em;
}
.category6 section.news_article_area a {
  /* テキストリンク：下線 */
  text-decoration: underline;
}
.category6 section.news_article_area a:hover {
  text-decoration: none;
}
.category6 section.news_article_area a[target=_blank]::after, .category6 section.news_article_area a[href$=".pdf"]::after {
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.category6 section.news_article_area a[target=_blank].noicon::after, .category6 section.news_article_area a[href$=".pdf"].noicon::after {
  content: none;
}
.category6 section.news_article_area a[target=_blank]::after {
  width: 16px;
  height: 13px;
  margin: 0 0 4px 5px;
  background-image: url("/images/ico_blank.png");
}
.category6 section.news_article_area a[href$=".pdf"]::after {
  width: 15px;
  height: 16px;
  margin: 0 0 3px 5px;
  background-image: url("/images/ico_pdf.png");
}
.category6 section.news_article_area ul, .category6 section.news_article_area ol {
  margin-bottom: 1em;
}
.category6 section.news_article_area ul li, .category6 section.news_article_area ol li {
  margin: 0 0 0.6em 1.3em;
  text-indent: -1em;
  line-height: 1.5;
}
.category6 section.news_article_area ul li:last-child, .category6 section.news_article_area ol li:last-child {
  margin-bottom: 0;
}
.category6 section.news_article_area ul li::before, .category6 section.news_article_area ol li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0.6em 0.24em 0;
  background-color: #606060;
  border-radius: 50%; /*丸くする*/
}
.category6 section.news_article_area ol {
  list-style-type: decimal;
  padding-inline-start: 1em;
}
.category6 section.news_article_area ol li {
  margin-bottom: 0.6em;
}

/* color
----------------------------------------*/
/* キーカラー */
.qrtop {
  /*--========================================
   top
  ========================================--*/
  /*----------------------------------------
  コンテンツ
  ----------------------------------------*/
}
.qrtop .mainimage {
  /*----------------------------------------
  メインビジュアル
  ----------------------------------------*/
  /* H1（.headings1）の変形*/
  display: flex;
  height: 100%;
  margin-bottom: 0;
  color: #fff;
  border-bottom: 0;
  background-image: url("/images/top/main.png");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: cover;
}
@media print, screen and (min-width:600px) {
  .qrtop .mainimage {
    padding: 3em 0;
  }
}
@media print, screen and (min-width:960px) {
  .qrtop .mainimage {
    height: 450px;
    background-size: auto 450px;
  }
}
@media screen and (min-width: 1500px) {
  .qrtop .mainimage {
    /*----- PC:画面幅1500以上は画面幅に合わせて拡大する -----*/
    background-size: cover;
  }
}
.qrtop .mainimage h1 {
  margin-bottom: 0.1em;
  font-weight: normal;
}
@media print, screen and (min-width:960px) {
  .qrtop .mainimage h1 {
    font-size: 60px;
    font-size: 6rem;
  }
}
.qrtop .mainimage .lead {
  font-size: 16px;
  font-size: 1.6rem;
}
@media print, screen and (min-width:960px) {
  .qrtop .mainimage .lead {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
.qrtop h2 {
  margin: 0 0 0.35em;
  color: #0828A5;
  font-size: 30px;
  font-size: 3rem;
  font-weight: normal;
}
@media print, screen and (min-width:960px) {
  .qrtop h2 {
    margin: 0 0 0.5em;
    font-size: 42px;
    font-size: 4.2rem;
  }
  .top-quants .qrtop h2 {
    font-size: 36px;
    font-size: 3.6rem;
  }
}
.qrtop h2 .ruby {
  margin-left: 1em;
  font-size: 18px;
  font-size: 1.8rem;
}
@media print, screen and (min-width:960px) {
  .qrtop h2 .ruby {
    font-size: 20px;
    font-size: 2rem;
  }
}
.top-quants .qrtop h2 .ruby {
  margin-left: 0;
}
.qrtop a.btn.btn-arrow {
  /* さらに詳しくボタン*/
  margin-top: 2em;
  white-space: nowrap;
  font-size: 14px;
  font-size: 1.4rem;
}
.qrtop a.btn.btn-arrow span::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin: 0 0.65em 0 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 4px);
  margin-left: -1em;
}
.qrtop section .inner {
  padding-top: 2em;
  padding-bottom: 3em;
}
@media print, screen and (min-width:960px) {
  .qrtop section .inner {
    padding-top: 3em;
  }
}
@media print, screen and (min-width:960px) {
  .qrtop section {
    /*----- PC版のみインデントと改行 -----*/
  }
  .qrtop section p {
    padding-left: 40px;
  }
  .qrtop section p span {
    display: inline-block;
  }
}
.qrtop .top-news {
  /* ニュース
  ----------------------------------------*/
  background-color: #e6eaf6;
}
@media print, screen and (min-width:600px) {
  .qrtop .top-news {
    background: linear-gradient(to right, #101010 50%, #e6eaf6 50%);
  }
}
.qrtop .top-news .inner {
  padding: 0;
  background: #e6eaf6;
}
@media print, screen and (min-width:600px) {
  .qrtop .top-news .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
  }
  .qrtop .top-news .inner > * {
    padding: 1em;
  }
}
.qrtop .top-news h2 {
  margin: 0;
  padding: 1em;
  color: #fff;
  background-color: #101010;
  font-size: 14px;
  font-size: 1.4rem;
}
@media print, screen and (min-width:600px) {
  .qrtop .top-news h2 {
    width: 8%;
    min-width: 70px;
    padding: 0 1em;
  }
}
.qrtop .top-news .news-box {
  padding: 1em;
  font-size: 14px;
  font-size: 1.4rem;
}
@media print, screen and (min-width:600px) {
  .qrtop .top-news .news-box {
    overflow: hidden;
    width: 92%;
    max-width: calc(100% - 70px);
    padding: 0 1em;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .qrtop .top-news .news-box .news-list__date {
    display: inline-block;
    width: 6em;
  }
  .qrtop .top-news .news-box .news-list__ttl {
    display: inline;
  }
}
.qrtop .top-topics {
  /* トピックス
  ----------------------------------------*/
}
.qrtop .top-topics .col__item:last-child {
  margin-bottom: 0;
}
.qrtop .top-topics .col__item:hover {
  opacity: 0.7;
}
@media print, screen and (min-width:960px) {
  .qrtop .top-topics .inner {
    padding-bottom: 4em;
  }
  .qrtop .top-topics .col__item {
    margin-bottom: 0;
  }
}
.qrtop .top-topics a:hover {
  color: #606060;
}
.qrtop .img-box.img {
  overflow: hidden;
  text-align: center;
}
.qrtop .img-box.img img {
  display: block;
}
.qrtop .txt-box {
  background-color: #eee;
  font-size: 14px;
  font-size: 1.4rem;
}
@media print, screen and (min-width:600px) {
  .qrtop .txt-box {
    min-height: 100px;
  }
}
.qrtop .txt-box p {
  padding: 0.6em 1em 1.2em !important;
}
.qrtop .txt-box .tag {
  display: inline-block;
  padding: 0.3em 0.8em;
  color: #fff;
  background-color: #0828A5;
}
.qrtop .top-quants {
  /* 金融工学×フィンテック×AI（QRのの研究開発）
  ----------------------------------------*/
  background-color: #e6eaf6;
}
@media print, screen and (min-width:960px) {
  .qrtop .top-quants {
    background: -moz-linear-gradient(left, #e6eaf6 50%, transparent 50%);
    background: -webkit-linear-gradient(left, #e6eaf6 50%, transparent 50%);
    background: linear-gradient(to right, #e6eaf6 50%, transparent 50%);
    margin-bottom: 70px;
  }
}
.qrtop .top-quants .inner {
  overflow: hidden;
  background: -moz-linear-gradient(left, #e6eaf6 95%, transparent 95%);
  background: -webkit-linear-gradient(left, #e6eaf6 95%, transparent 95%);
  background: linear-gradient(to right, #e6eaf6 95%, transparent 95%);
}
.qrtop .top-quants .row {
  position: relative;
  margin-bottom: 0;
}
@media print, screen and (min-width:600px) {
  .qrtop .top-quants .row {
    width: 100%;
  }
}
.qrtop .top-quants .row__item {
  margin-bottom: 0;
}
@media print, screen and (min-width:600px) {
  .qrtop .top-quants .row__item.txt {
    width: 64%;
  }
}
.qrtop .top-quants .row__item.img {
  position: absolute;
  top: -4em;
  right: -4em;
  width: 80%;
  opacity: 0.25;
}
@media print, screen and (min-width:600px) {
  .qrtop .top-quants .row__item.img {
    position: relative;
    top: auto;
    right: auto;
    width: 36%;
    max-width: 380px;
    text-align: center;
    vertical-align: middle;
    opacity: 1;
  }
  .qrtop .top-quants .row__item.img img {
    max-width: 380px;
  }
}
.qrtop .top-service {
  /* サービス
  ----------------------------------------*/
}
@media print, screen and (min-width:960px) {
  .qrtop .top-service {
    position: relative;
  }
}
.qrtop .top-service .txt {
  background-color: #00066b;
}
@media print, screen and (min-width:960px) {
  .qrtop .top-service .txt {
    position: relative;
    z-index: 0;
    width: calc(50% - 120px);
  }
}
.qrtop .top-service .txt .inner {
  background-color: #00066b;
}
@media print, screen and (min-width:960px) {
  .qrtop .top-service .txt .inner {
    max-width: 380px;
    margin: 0 0 0 auto;
  }
}
.qrtop .top-service .txt h2, .qrtop .top-service .txt p {
  color: #fff;
}
.qrtop .top-service .menu {
  background-color: #e6eaf6;
}
@media print, screen and (min-width:960px) {
  .qrtop .top-service .menu {
    margin: -280px 0 70px;
    background: -moz-linear-gradient(right, #e6eaf6 50%, transparent 50%);
    background: -webkit-linear-gradient(right, #e6eaf6 50%, transparent 50%);
    background: linear-gradient(to left, #e6eaf6 50%, transparent 50%);
  }
  .qrtop .top-service .menu .inner {
    background: -moz-linear-gradient(right, #e6eaf6 95%, transparent 95%);
    background: -webkit-linear-gradient(right, #e6eaf6 95%, transparent 95%);
    background: linear-gradient(to left, #e6eaf6 95%, transparent 95%);
  }
}
.qrtop .top-service-menu {
  letter-spacing: -0.4em;
}
@media print, screen and (min-width:960px) {
  .qrtop .top-service-menu {
    max-width: 560px;
    margin: 0 0 0 auto;
  }
}
.qrtop .top-service-menu li {
  display: inline-block;
  width: 50%;
  margin: 20px 0 0;
  letter-spacing: normal;
  vertical-align: top;
}
@media print, screen and (min-width:600px) {
  .qrtop .top-service-menu li {
    width: 25%;
    min-width: 135px;
  }
}
.qrtop .top-service-menu span {
  display: block;
  margin: 0 0 10px;
  text-align: center;
  line-height: 1.35;
  font-weight: bold;
}
.qrtop .top-recruit {
  /* 採用情報
  ----------------------------------------*/
  background-color: #e6eaf6;
}
@media print, screen and (min-width:960px) {
  .qrtop .top-recruit {
    width: calc(50% - 60px);
    background: -moz-linear-gradient(left, #e6eaf6 80%, transparent 80%);
    background: -webkit-linear-gradient(left, #e6eaf6 90%, transparent 80%);
    background: linear-gradient(to right, #e6eaf6 80%, transparent 80%);
  }
}
.qrtop .top-recruit .inner {
  background: -moz-linear-gradient(left, #e6eaf6 90%, transparent 90%);
  background: -webkit-linear-gradient(left, #e6eaf6 90%, transparent 90%);
  background: linear-gradient(to right, #e6eaf6 90%, transparent 90%);
}
@media print, screen and (min-width:960px) {
  .qrtop .top-recruit .inner {
    max-width: 430px;
    margin: 0 0 0 auto;
  }
}
.qrtop .top-company {
  /* 会社情報
  ----------------------------------------*/
  background-color: #e6eaf6;
}
@media print, screen and (min-width:960px) {
  .qrtop .top-company {
    width: 50%;
    margin: -260px 0 0 auto;
    background: -moz-linear-gradient(right, #e6eaf6 90%, transparent 90%);
    background: -webkit-linear-gradient(right, #e6eaf6 90%, transparent 90%);
    background: linear-gradient(to left, #e6eaf6 90%, transparent 90%);
  }
}
.qrtop .top-company .inner {
  background: -moz-linear-gradient(right, #e6eaf6 90%, transparent 90%);
  background: -webkit-linear-gradient(right, #e6eaf6 90%, transparent 90%);
  background: linear-gradient(to left, #e6eaf6 90%, transparent 90%);
}
@media print, screen and (min-width:960px) {
  .qrtop .top-company .inner {
    max-width: 490px;
    margin: 0 auto 0 0;
  }
  .qrtop .top-company .inner p {
    padding-left: 90px;
  }
}/*# sourceMappingURL=style.css.map */