@charset "UTF-8";
/*========================================
 settings
========================================*/
/* media queries
----------------------------------------*/
/* PC表示用（印刷用） */
/* color
----------------------------------------*/
/* キーカラー */
/* 一般色 */
/* その他 */
/* 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;
}

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 {
  /*
	// Chrome（Windows）の画像のぼやけを解消する
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	*/
}

.img img {
  width: 100%;
}

/*----- TB -----*/
@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;
  /*----- TB -----*/
  /*----- PC -----*/
}

@media print, screen and (min-width: 600px) {
  .inner {
    padding: 0 30px;
  }
}

@media print, screen and (min-width: 960px) {
  .inner {
    max-width: 980px;
    margin: 0 auto;
    padding: 0;
  }
}

/* 見出し
----------------------------------------*/
/* 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;
  /*----- PC -----*/
}

@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;
  /*----- PC -----*/
}

@media print, screen and (min-width: 960px) {
  .headings1 .lead > span {
    display: block;
  }
}

.headings1.service-bgimg {
  padding: 1.2em 0 .5em;
  background-image: url(/service/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
  /*----- PC -----*/
}

@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: .5em;
}

.headings1.case-bgimg {
  padding: 1.2em 0 .5em;
  background-image: url(/case/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
  /*----- PC -----*/
}

@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: .5em;
}

.headings1.recruit-bgimg {
  padding: 1.2em 0 .5em;
  background-image: url(/recruit/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
  /*----- PC -----*/
}

@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: .5em;
}

.headings1.company-bgimg {
  padding: 1.2em 0 .5em;
  background-image: url(/company/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
  /*----- PC -----*/
}

@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: .5em;
}

.headings1.guideline-bgimg {
  padding: 1.2em 0 .5em;
  background-image: url(/guideline/images/bgimg_h1.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: cover;
  /*----- PC -----*/
}

@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: .5em;
}

/* H2,H3,H4 */
h2 {
  margin-bottom: .66em;
  color: #0828A5;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.25;
  /*----- PC -----*/
}

@media print, screen and (min-width: 960px) {
  h2 {
    font-size: 30px;
    font-size: 3rem;
  }
}

h3 {
  margin: 0 0 .6em 1.2em;
  text-indent: -1.2em;
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.25;
  /*----- PC -----*/
  /* アイコン */
}

@media print, screen and (min-width: 960px) {
  h3 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

h3::before {
  content: "";
  display: inline-block;
  width: .8em;
  height: 3px;
  margin: 0 .4em .3em 0;
  background-color: #101010;
}

h4 {
  margin-bottom: .5em;
  font-size: 18px;
  font-size: 1.8rem;
  /*----- PC -----*/
}

@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("/common/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("/common/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("/common/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("/common/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;
  /*----- PC -----*/
}

@media print, screen and (min-width: 960px) {
  .anchor-point {
    margin-top: -90px;
    padding-top: 90px;
  }
}

/* ボタン
----------------------------------------*/
/* 基本形 */
a.btn {
  position: relative;
  display: inline-block;
  padding: .75em 1.5em;
  color: #fff;
  line-height: 1.3;
  background-color: #ff70b8;
  /* ボタンカラー */
  /* 矢印アイコン */
  /* メールアイコン */
  /* フッター用 */
}

a.btn:hover {
  text-decoration: none;
  opacity: .8;
}

a.btn.btn-bk {
  background-color: #101010;
}

a.btn.btn-arrow {
  padding: .75em 1.5em .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("/common/images/ico_mail.png");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

a.btn.footer-contact {
  margin-top: 1em;
  padding: .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: .7;
}

/* リスト
----------------------------------------*/
.ico-list li {
  margin: 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 .6em .24em 0;
  background-color: #606060;
  border-radius: 50%;
  /*丸くする*/
}

/* アコーディオン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 .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: .5s;
}

.accbox label > * {
  width: calc(100% - 30px);
  margin-bottom: 0;
  padding-bottom: 0;
}

.accbox__show {
  overflow: hidden;
  height: 0;
  padding: 0;
  opacity: 0;
  transition: .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);
}

/*----- PC -----*/
@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;
  }
}

/* 表組：table
----------------------------------------*/
/* 基本 */
.table {
  margin: 0;
  padding: 0;
}

.table th, .table td {
  padding: 10px 15px;
  text-align: left;
  /*----- PC -----*/
}

@media print, screen and (min-width: 960px) {
  .table th, .table td {
    padding: 20px;
  }
}

/* SPブロック/PC表組 */
.table-block th, .table-block td {
  display: block;
  /*----- PC -----*/
}

@media print, screen and (min-width: 960px) {
  .table-block th, .table-block td {
    display: table-cell;
  }
}

.table-block.table-TB th, .table-block.table-TB td {
  /*----- TB -----*/
}

@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 {
  /*----- PC -----*/
}

.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;
  /*----- PC -----*/
}

@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;
  /*----- TB -----*/
}

@media print, screen and (min-width: 600px) {
  .box1 {
    padding: 1.8em;
  }
}

/* 区切り */
.box2 {
  padding: 1.2em;
  border-top: 1px solid #dcdcdc;
  /*----- TB -----*/
}

@media print, screen and (min-width: 600px) {
  .box2 {
    padding-top: 1.8em;
  }
}

/* 背景色 */
.box3 {
  padding: 1.2em;
  background-color: #eef0f9;
  /*----- TB -----*/
}

@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;
}

/*----- PC -----*/
@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: .2s;
}

.menu-btn::after {
  top: calc(50% + 8px);
  width: 14px;
  transition: .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 .2s ease;
  transition: all .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 {
    margin: 0 0 0 15px;
    border-bottom: 0;
  }
  .global-nav li.nav-menu::after, input:checked + * + .global-nav li.nav-menu::after {
    content: none;
  }
  .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("/common/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: .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 0 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 .2s ease;
    transition: all .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;
  /*----- PC -----*/
}

@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: .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;
  /*----- PC -----*/
}

@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: .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;
  /*----- TB -----*/
  /*----- PC -----*/
}

.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: .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) * .56);
  margin-bottom: 10px;
  /*----- TB -----*/
  /*----- PC -----*/
}

@media print, screen and (min-width: 600px) {
  .col-2 .thumb__img, .col-3 .thumb__img {
    height: calc(((100vw - 70px) / 2) * .56);
    max-height: 187px;
  }
}

@media print, screen and (min-width: 960px) {
  .col-2 .thumb__img {
    height: calc(((100vw - 40px) / 2) * .56);
    max-height: 264px;
  }
  .col-3 .thumb__img {
    height: calc(((100vw - 80px) / 3) * .56);
    max-height: 168px;
  }
}

.thumb__img > img {
  width: 100%;
  transition: transform .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: .6;
  transform: scale(1.07);
}

/* Row
----------------------------------------*/
.row {
  margin-bottom: 1.5em;
  /*----- TB -----*/
}

@media print, screen and (min-width: 600px) {
  .row {
    width: auto;
  }
}

.row__item {
  margin-bottom: 2em;
  /*----- TB -----*/
}

.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;
  }
}

/* ニュースリスト
----------------------------------------*/
.news-list {
  display: table;
  margin-bottom: 1.5em;
}

.news-list li {
  padding: 1em 0;
  border-bottom: 1px dotted #101010;
}

.news-list__date, .news-list__ttl {
  /*----- TB -----*/
}

@media print, screen and (min-width: 600px) {
  .news-list__date, .news-list__ttl {
    display: table-cell;
  }
}

.news-list__date {
  width: 7em;
}

.category6 .headings1 .date {
  margin-bottom: .5em;
  font-size: 16px;
  font-size: 1.6rem;
}

/*========================================
　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: .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;
}

/*----- TB -----*/
@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: .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 調整
----------------------------------------*/
.w--0 {
  width: 0% !important;
}

.w--1 {
  width: 1% !important;
}

.w--2 {
  width: 2% !important;
}

.w--3 {
  width: 3% !important;
}

.w--4 {
  width: 4% !important;
}

.w--5 {
  width: 5% !important;
}

.w--6 {
  width: 6% !important;
}

.w--7 {
  width: 7% !important;
}

.w--8 {
  width: 8% !important;
}

.w--9 {
  width: 9% !important;
}

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

.w--11 {
  width: 11% !important;
}

.w--12 {
  width: 12% !important;
}

.w--13 {
  width: 13% !important;
}

.w--14 {
  width: 14% !important;
}

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

.w--16 {
  width: 16% !important;
}

.w--17 {
  width: 17% !important;
}

.w--18 {
  width: 18% !important;
}

.w--19 {
  width: 19% !important;
}

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

.w--21 {
  width: 21% !important;
}

.w--22 {
  width: 22% !important;
}

.w--23 {
  width: 23% !important;
}

.w--24 {
  width: 24% !important;
}

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

.w--26 {
  width: 26% !important;
}

.w--27 {
  width: 27% !important;
}

.w--28 {
  width: 28% !important;
}

.w--29 {
  width: 29% !important;
}

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

.w--31 {
  width: 31% !important;
}

.w--32 {
  width: 32% !important;
}

.w--33 {
  width: 33% !important;
}

.w--34 {
  width: 34% !important;
}

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

.w--36 {
  width: 36% !important;
}

.w--37 {
  width: 37% !important;
}

.w--38 {
  width: 38% !important;
}

.w--39 {
  width: 39% !important;
}

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

.w--41 {
  width: 41% !important;
}

.w--42 {
  width: 42% !important;
}

.w--43 {
  width: 43% !important;
}

.w--44 {
  width: 44% !important;
}

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

.w--46 {
  width: 46% !important;
}

.w--47 {
  width: 47% !important;
}

.w--48 {
  width: 48% !important;
}

.w--49 {
  width: 49% !important;
}

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

.w--51 {
  width: 51% !important;
}

.w--52 {
  width: 52% !important;
}

.w--53 {
  width: 53% !important;
}

.w--54 {
  width: 54% !important;
}

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

.w--56 {
  width: 56% !important;
}

.w--57 {
  width: 57% !important;
}

.w--58 {
  width: 58% !important;
}

.w--59 {
  width: 59% !important;
}

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

.w--61 {
  width: 61% !important;
}

.w--62 {
  width: 62% !important;
}

.w--63 {
  width: 63% !important;
}

.w--64 {
  width: 64% !important;
}

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

.w--66 {
  width: 66% !important;
}

.w--67 {
  width: 67% !important;
}

.w--68 {
  width: 68% !important;
}

.w--69 {
  width: 69% !important;
}

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

.w--71 {
  width: 71% !important;
}

.w--72 {
  width: 72% !important;
}

.w--73 {
  width: 73% !important;
}

.w--74 {
  width: 74% !important;
}

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

.w--76 {
  width: 76% !important;
}

.w--77 {
  width: 77% !important;
}

.w--78 {
  width: 78% !important;
}

.w--79 {
  width: 79% !important;
}

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

.w--81 {
  width: 81% !important;
}

.w--82 {
  width: 82% !important;
}

.w--83 {
  width: 83% !important;
}

.w--84 {
  width: 84% !important;
}

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

.w--86 {
  width: 86% !important;
}

.w--87 {
  width: 87% !important;
}

.w--88 {
  width: 88% !important;
}

.w--89 {
  width: 89% !important;
}

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

.w--91 {
  width: 91% !important;
}

.w--92 {
  width: 92% !important;
}

.w--93 {
  width: 93% !important;
}

.w--94 {
  width: 94% !important;
}

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

.w--96 {
  width: 96% !important;
}

.w--97 {
  width: 97% !important;
}

.w--98 {
  width: 98% !important;
}

.w--99 {
  width: 99% !important;
}

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

/* margin 調整
----------------------------------------*/
.mt--0 {
  margin-top: 0px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mb--100 {
  margin-bottom: 100px !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;
  }
}
