@charset "UTF-8";
/*
============================================================
 リセットスタイルシート
 ----------------------------------------------------------
 概要：ブラウザ毎の初期設定を全てクリア
============================================================
*/
/*
================= 目次 =================

// 基本設定
// タグ初期値クリア
// 画像初期値クリア
// リストスタイルクリア
// テーブルスタイルクリア
// イタリック体クリア

========================================
*/
/*-------------------------------------
// 基本設定
-------------------------------------*/
/* サイト全体にborder-box使用 */
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  background: #ffffff;
  font-family: "メイリオ", "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", sans-serif;
  font-size: 10px;
  font-size: 62.5%;
  font-style: normal;
  font-weight: normal;
  color: #333;
  line-height: 1.5;
  overflow-y: scroll;
}

body {
  min-height: 100vh;
  font-size: 1.6em;
  /* スマホ横置きで文字サイズが変わらないように */
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/*-------------------------------------
// タグ初期値クリア
-------------------------------------*/
body, h1, h2, h3, h4, h5, h6, p, ul, ol, li, img, table, th, td, dl, dt, dd, div, object, iframe, blockquote, pre, abbr, address, site, code,
header, hgroup, menu, nav, section, article, footer fieldset,
form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

/*-------------------------------------
// 画像初期値クリア
-------------------------------------*/
img {
  border: 0; /* (リンクを設定した)画像のボーダーをリセット */
  line-height: 0;
  vertical-align: bottom; /* 画像の下の隙間(ディセンダ)をなくす */
  max-width: 100%; /* はみ出し禁止 */
}

/*-------------------------------------
// リストスタイルクリア
-------------------------------------*/
ul, dl, ol, li {
  list-style: none; /* リストマークのリセット */
}

/*-------------------------------------
// テーブルスタイルクリア
-------------------------------------*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*-------------------------------------
// イタリック体クリア
-------------------------------------*/
address {
  font-style: normal;
}

/*-------------------------------------
// フォーム
-------------------------------------*/
input, select {
  vertical-align: middle;
  position: relative;
  top: -1px; /* middleは英小文字の中央なので日本語向け微調整 */
}

textarea {
  line-height: 1.2;
}

/* font-family */
/* フォントサイズ */
/* 右回転 */
@-webkit-keyframes rotate_right {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate_right {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* 左回転 */
@-webkit-keyframes rotate_left {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
@keyframes rotate_left {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(-360deg);
            transform: rotate(-360deg);
  }
}
/* X軸回転 */
@-webkit-keyframes rotate_x {
  0% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
}
@keyframes rotate_x {
  0% {
    -webkit-transform: rotateX(0);
            transform: rotateX(0);
  }
  100% {
    -webkit-transform: rotateX(360deg);
            transform: rotateX(360deg);
  }
}
/* Y軸回転 */
@-webkit-keyframes rotate_y {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@keyframes rotate_y {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
  }
  100% {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
/* 上に上がりながら消える */
@-webkit-keyframes float_out_up {
  from {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
@keyframes float_out_up {
  from {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
  to {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
}
/* 下に下がりながら表示 */
@-webkit-keyframes float_in_down {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
@keyframes float_in_down {
  from {
    opacity: 0;
    -webkit-transform: translateY(-100px);
            transform: translateY(-100px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}
.theme-bg {
  background-color: #F6F7EB !important;
}

.theme-text {
  color: #333 !important;
}

.theme-border {
  border: 1px solid #357886 !important;
}

#header {
  background-color: #FFF;
  color: #333;
}

.main {
  background-color: #FFF;
  color: #333;
}

.theme-tokyo .theme-bg {
  background-color: #333;
  color: #F6F7EB !important;
}

.theme-tokyo .theme-text {
  color: #CCC !important;
}

.theme-tokyo .theme-border {
  border: 1px solid #666 !important;
}

.theme-tokyo #header {
  background-color: #000 !important;
  color: #CCC !important;
}

.theme-tokyo .main {
  background-color: #333 !important;
  color: #FFF !important;
}

/* 基本文字色 */
html {
  color: #333;
}

/* フォント */
body {
  font-family: "Noto Sans Japanese", Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
}

.font-noto {
  font-family: "Noto Sans Japanese", Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif;
}

.font-meiryo {
  font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.font-mono {
  font-family: Consolas, "Courier New", Courier, Monaco, "Osaka－等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", monospace;
}

.font-msgo {
  font-family: "Osaka－等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", Consolas, "Courier New", Courier, Monaco, monospace;
}

.font-btn {
  font-family: "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", sans-serif;
}

/*
================= 目次 =================

// 余白設定
// ブレイクポイント別表示設定
// フォント・装飾設定
// 配置設定
// 表示設定
// フォーム用ユーティリティ
// テーブル用ユーティリティ
// 汎用パーツ集

========================================
*/
/*-------------------------------------
// 余白設定（Bootstrap方式）
-------------------------------------*/
/* 【マージン】 */
.mt-0 {
  margin-top: 0em !important;
}

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

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

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

.mx-0 {
  margin-left: 0em !important;
  margin-right: 0em !important;
}

.my-0 {
  margin-top: 0em !important;
  margin-bottom: 0em !important;
}

.m-0 {
  margin-top: 0em !important;
  margin-right: 0em !important;
  margin-bottom: 0em !important;
  margin-left: 0em !important;
}

/* 【パディング】 */
.pt-0 {
  padding-top: 0em !important;
}

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

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

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

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

.py-0 {
  padding-top: 0em !important;
  padding-bottom: 0em !important;
}

.p-0 {
  padding-top: 0em !important;
  padding-right: 0em !important;
  padding-bottom: 0em !important;
  padding-left: 0em !important;
}

/* 【ネガティブマージン】 */
.mt-n0 {
  margin-top: 0em !important;
}

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

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

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

.mx-n0 {
  margin-left: 0em !important;
  margin-right: 0em !important;
}

.my-n0 {
  margin-top: 0em !important;
  margin-bottom: 0em !important;
}

.m-n0 {
  margin-top: 0em !important;
  margin-right: 0em !important;
  margin-bottom: 0em !important;
  margin-left: 0em !important;
}

/* 【マージン】 */
.mt-1 {
  margin-top: 0.5em !important;
}

.mr-1 {
  margin-right: 0.5em !important;
}

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

.ml-1 {
  margin-left: 0.5em !important;
}

.mx-1 {
  margin-left: 0.5em !important;
  margin-right: 0.5em !important;
}

.my-1 {
  margin-top: 0.5em !important;
  margin-bottom: 0.5em !important;
}

.m-1 {
  margin-top: 0.5em !important;
  margin-right: 0.5em !important;
  margin-bottom: 0.5em !important;
  margin-left: 0.5em !important;
}

/* 【パディング】 */
.pt-1 {
  padding-top: 0.5em !important;
}

.pr-1 {
  padding-right: 0.5em !important;
}

.pb-1 {
  padding-bottom: 0.5em !important;
}

.pl-1 {
  padding-left: 0.5em !important;
}

.px-1 {
  padding-left: 0.5em !important;
  padding-right: 0.5em !important;
}

.py-1 {
  padding-top: 0.5em !important;
  padding-bottom: 0.5em !important;
}

.p-1 {
  padding-top: 0.5em !important;
  padding-right: 0.5em !important;
  padding-bottom: 0.5em !important;
  padding-left: 0.5em !important;
}

/* 【ネガティブマージン】 */
.mt-n1 {
  margin-top: -0.5em !important;
}

.mr-n1 {
  margin-right: -0.5em !important;
}

.mb-n1 {
  margin-bottom: -0.5em !important;
}

.ml-n1 {
  margin-left: -0.5em !important;
}

.mx-n1 {
  margin-left: -0.5em !important;
  margin-right: -0.5em !important;
}

.my-n1 {
  margin-top: -0.5em !important;
  margin-bottom: -0.5em !important;
}

.m-n1 {
  margin-top: -0.5em !important;
  margin-right: -0.5em !important;
  margin-bottom: -0.5em !important;
  margin-left: -0.5em !important;
}

/* 【マージン】 */
.mt-2 {
  margin-top: 1em !important;
}

.mr-2 {
  margin-right: 1em !important;
}

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

.ml-2 {
  margin-left: 1em !important;
}

.mx-2 {
  margin-left: 1em !important;
  margin-right: 1em !important;
}

.my-2 {
  margin-top: 1em !important;
  margin-bottom: 1em !important;
}

.m-2 {
  margin-top: 1em !important;
  margin-right: 1em !important;
  margin-bottom: 1em !important;
  margin-left: 1em !important;
}

/* 【パディング】 */
.pt-2 {
  padding-top: 1em !important;
}

.pr-2 {
  padding-right: 1em !important;
}

.pb-2 {
  padding-bottom: 1em !important;
}

.pl-2 {
  padding-left: 1em !important;
}

.px-2 {
  padding-left: 1em !important;
  padding-right: 1em !important;
}

.py-2 {
  padding-top: 1em !important;
  padding-bottom: 1em !important;
}

.p-2 {
  padding-top: 1em !important;
  padding-right: 1em !important;
  padding-bottom: 1em !important;
  padding-left: 1em !important;
}

/* 【ネガティブマージン】 */
.mt-n2 {
  margin-top: -1em !important;
}

.mr-n2 {
  margin-right: -1em !important;
}

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

.ml-n2 {
  margin-left: -1em !important;
}

.mx-n2 {
  margin-left: -1em !important;
  margin-right: -1em !important;
}

.my-n2 {
  margin-top: -1em !important;
  margin-bottom: -1em !important;
}

.m-n2 {
  margin-top: -1em !important;
  margin-right: -1em !important;
  margin-bottom: -1em !important;
  margin-left: -1em !important;
}

/* 【マージン】 */
.mt-3 {
  margin-top: 1.5em !important;
}

.mr-3 {
  margin-right: 1.5em !important;
}

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

.ml-3 {
  margin-left: 1.5em !important;
}

.mx-3 {
  margin-left: 1.5em !important;
  margin-right: 1.5em !important;
}

.my-3 {
  margin-top: 1.5em !important;
  margin-bottom: 1.5em !important;
}

.m-3 {
  margin-top: 1.5em !important;
  margin-right: 1.5em !important;
  margin-bottom: 1.5em !important;
  margin-left: 1.5em !important;
}

/* 【パディング】 */
.pt-3 {
  padding-top: 1.5em !important;
}

.pr-3 {
  padding-right: 1.5em !important;
}

.pb-3 {
  padding-bottom: 1.5em !important;
}

.pl-3 {
  padding-left: 1.5em !important;
}

.px-3 {
  padding-left: 1.5em !important;
  padding-right: 1.5em !important;
}

.py-3 {
  padding-top: 1.5em !important;
  padding-bottom: 1.5em !important;
}

.p-3 {
  padding-top: 1.5em !important;
  padding-right: 1.5em !important;
  padding-bottom: 1.5em !important;
  padding-left: 1.5em !important;
}

/* 【ネガティブマージン】 */
.mt-n3 {
  margin-top: -1.5em !important;
}

.mr-n3 {
  margin-right: -1.5em !important;
}

.mb-n3 {
  margin-bottom: -1.5em !important;
}

.ml-n3 {
  margin-left: -1.5em !important;
}

.mx-n3 {
  margin-left: -1.5em !important;
  margin-right: -1.5em !important;
}

.my-n3 {
  margin-top: -1.5em !important;
  margin-bottom: -1.5em !important;
}

.m-n3 {
  margin-top: -1.5em !important;
  margin-right: -1.5em !important;
  margin-bottom: -1.5em !important;
  margin-left: -1.5em !important;
}

/* 【マージン】 */
.mt-4 {
  margin-top: 2em !important;
}

.mr-4 {
  margin-right: 2em !important;
}

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

.ml-4 {
  margin-left: 2em !important;
}

.mx-4 {
  margin-left: 2em !important;
  margin-right: 2em !important;
}

.my-4 {
  margin-top: 2em !important;
  margin-bottom: 2em !important;
}

.m-4 {
  margin-top: 2em !important;
  margin-right: 2em !important;
  margin-bottom: 2em !important;
  margin-left: 2em !important;
}

/* 【パディング】 */
.pt-4 {
  padding-top: 2em !important;
}

.pr-4 {
  padding-right: 2em !important;
}

.pb-4 {
  padding-bottom: 2em !important;
}

.pl-4 {
  padding-left: 2em !important;
}

.px-4 {
  padding-left: 2em !important;
  padding-right: 2em !important;
}

.py-4 {
  padding-top: 2em !important;
  padding-bottom: 2em !important;
}

.p-4 {
  padding-top: 2em !important;
  padding-right: 2em !important;
  padding-bottom: 2em !important;
  padding-left: 2em !important;
}

/* 【ネガティブマージン】 */
.mt-n4 {
  margin-top: -2em !important;
}

.mr-n4 {
  margin-right: -2em !important;
}

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

.ml-n4 {
  margin-left: -2em !important;
}

.mx-n4 {
  margin-left: -2em !important;
  margin-right: -2em !important;
}

.my-n4 {
  margin-top: -2em !important;
  margin-bottom: -2em !important;
}

.m-n4 {
  margin-top: -2em !important;
  margin-right: -2em !important;
  margin-bottom: -2em !important;
  margin-left: -2em !important;
}

/* 【マージン】 */
.mt-5 {
  margin-top: 2.5em !important;
}

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

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

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

.mx-5 {
  margin-left: 2.5em !important;
  margin-right: 2.5em !important;
}

.my-5 {
  margin-top: 2.5em !important;
  margin-bottom: 2.5em !important;
}

.m-5 {
  margin-top: 2.5em !important;
  margin-right: 2.5em !important;
  margin-bottom: 2.5em !important;
  margin-left: 2.5em !important;
}

/* 【パディング】 */
.pt-5 {
  padding-top: 2.5em !important;
}

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

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

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

.px-5 {
  padding-left: 2.5em !important;
  padding-right: 2.5em !important;
}

.py-5 {
  padding-top: 2.5em !important;
  padding-bottom: 2.5em !important;
}

.p-5 {
  padding-top: 2.5em !important;
  padding-right: 2.5em !important;
  padding-bottom: 2.5em !important;
  padding-left: 2.5em !important;
}

/* 【ネガティブマージン】 */
.mt-n5 {
  margin-top: -2.5em !important;
}

.mr-n5 {
  margin-right: -2.5em !important;
}

.mb-n5 {
  margin-bottom: -2.5em !important;
}

.ml-n5 {
  margin-left: -2.5em !important;
}

.mx-n5 {
  margin-left: -2.5em !important;
  margin-right: -2.5em !important;
}

.my-n5 {
  margin-top: -2.5em !important;
  margin-bottom: -2.5em !important;
}

.m-n5 {
  margin-top: -2.5em !important;
  margin-right: -2.5em !important;
  margin-bottom: -2.5em !important;
  margin-left: -2.5em !important;
}

/* 【マージン】 */
.mt-6 {
  margin-top: 3em !important;
}

.mr-6 {
  margin-right: 3em !important;
}

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

.ml-6 {
  margin-left: 3em !important;
}

.mx-6 {
  margin-left: 3em !important;
  margin-right: 3em !important;
}

.my-6 {
  margin-top: 3em !important;
  margin-bottom: 3em !important;
}

.m-6 {
  margin-top: 3em !important;
  margin-right: 3em !important;
  margin-bottom: 3em !important;
  margin-left: 3em !important;
}

/* 【パディング】 */
.pt-6 {
  padding-top: 3em !important;
}

.pr-6 {
  padding-right: 3em !important;
}

.pb-6 {
  padding-bottom: 3em !important;
}

.pl-6 {
  padding-left: 3em !important;
}

.px-6 {
  padding-left: 3em !important;
  padding-right: 3em !important;
}

.py-6 {
  padding-top: 3em !important;
  padding-bottom: 3em !important;
}

.p-6 {
  padding-top: 3em !important;
  padding-right: 3em !important;
  padding-bottom: 3em !important;
  padding-left: 3em !important;
}

/* 【ネガティブマージン】 */
.mt-n6 {
  margin-top: -3em !important;
}

.mr-n6 {
  margin-right: -3em !important;
}

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

.ml-n6 {
  margin-left: -3em !important;
}

.mx-n6 {
  margin-left: -3em !important;
  margin-right: -3em !important;
}

.my-n6 {
  margin-top: -3em !important;
  margin-bottom: -3em !important;
}

.m-n6 {
  margin-top: -3em !important;
  margin-right: -3em !important;
  margin-bottom: -3em !important;
  margin-left: -3em !important;
}

/* 【マージン】 */
.mt-7 {
  margin-top: 3.5em !important;
}

.mr-7 {
  margin-right: 3.5em !important;
}

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

.ml-7 {
  margin-left: 3.5em !important;
}

.mx-7 {
  margin-left: 3.5em !important;
  margin-right: 3.5em !important;
}

.my-7 {
  margin-top: 3.5em !important;
  margin-bottom: 3.5em !important;
}

.m-7 {
  margin-top: 3.5em !important;
  margin-right: 3.5em !important;
  margin-bottom: 3.5em !important;
  margin-left: 3.5em !important;
}

/* 【パディング】 */
.pt-7 {
  padding-top: 3.5em !important;
}

.pr-7 {
  padding-right: 3.5em !important;
}

.pb-7 {
  padding-bottom: 3.5em !important;
}

.pl-7 {
  padding-left: 3.5em !important;
}

.px-7 {
  padding-left: 3.5em !important;
  padding-right: 3.5em !important;
}

.py-7 {
  padding-top: 3.5em !important;
  padding-bottom: 3.5em !important;
}

.p-7 {
  padding-top: 3.5em !important;
  padding-right: 3.5em !important;
  padding-bottom: 3.5em !important;
  padding-left: 3.5em !important;
}

/* 【ネガティブマージン】 */
.mt-n7 {
  margin-top: -3.5em !important;
}

.mr-n7 {
  margin-right: -3.5em !important;
}

.mb-n7 {
  margin-bottom: -3.5em !important;
}

.ml-n7 {
  margin-left: -3.5em !important;
}

.mx-n7 {
  margin-left: -3.5em !important;
  margin-right: -3.5em !important;
}

.my-n7 {
  margin-top: -3.5em !important;
  margin-bottom: -3.5em !important;
}

.m-n7 {
  margin-top: -3.5em !important;
  margin-right: -3.5em !important;
  margin-bottom: -3.5em !important;
  margin-left: -3.5em !important;
}

/* 【マージン】 */
.mt-8 {
  margin-top: 4em !important;
}

.mr-8 {
  margin-right: 4em !important;
}

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

.ml-8 {
  margin-left: 4em !important;
}

.mx-8 {
  margin-left: 4em !important;
  margin-right: 4em !important;
}

.my-8 {
  margin-top: 4em !important;
  margin-bottom: 4em !important;
}

.m-8 {
  margin-top: 4em !important;
  margin-right: 4em !important;
  margin-bottom: 4em !important;
  margin-left: 4em !important;
}

/* 【パディング】 */
.pt-8 {
  padding-top: 4em !important;
}

.pr-8 {
  padding-right: 4em !important;
}

.pb-8 {
  padding-bottom: 4em !important;
}

.pl-8 {
  padding-left: 4em !important;
}

.px-8 {
  padding-left: 4em !important;
  padding-right: 4em !important;
}

.py-8 {
  padding-top: 4em !important;
  padding-bottom: 4em !important;
}

.p-8 {
  padding-top: 4em !important;
  padding-right: 4em !important;
  padding-bottom: 4em !important;
  padding-left: 4em !important;
}

/* 【ネガティブマージン】 */
.mt-n8 {
  margin-top: -4em !important;
}

.mr-n8 {
  margin-right: -4em !important;
}

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

.ml-n8 {
  margin-left: -4em !important;
}

.mx-n8 {
  margin-left: -4em !important;
  margin-right: -4em !important;
}

.my-n8 {
  margin-top: -4em !important;
  margin-bottom: -4em !important;
}

.m-n8 {
  margin-top: -4em !important;
  margin-right: -4em !important;
  margin-bottom: -4em !important;
  margin-left: -4em !important;
}

/* 【マージン】 */
.mt-9 {
  margin-top: 4.5em !important;
}

.mr-9 {
  margin-right: 4.5em !important;
}

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

.ml-9 {
  margin-left: 4.5em !important;
}

.mx-9 {
  margin-left: 4.5em !important;
  margin-right: 4.5em !important;
}

.my-9 {
  margin-top: 4.5em !important;
  margin-bottom: 4.5em !important;
}

.m-9 {
  margin-top: 4.5em !important;
  margin-right: 4.5em !important;
  margin-bottom: 4.5em !important;
  margin-left: 4.5em !important;
}

/* 【パディング】 */
.pt-9 {
  padding-top: 4.5em !important;
}

.pr-9 {
  padding-right: 4.5em !important;
}

.pb-9 {
  padding-bottom: 4.5em !important;
}

.pl-9 {
  padding-left: 4.5em !important;
}

.px-9 {
  padding-left: 4.5em !important;
  padding-right: 4.5em !important;
}

.py-9 {
  padding-top: 4.5em !important;
  padding-bottom: 4.5em !important;
}

.p-9 {
  padding-top: 4.5em !important;
  padding-right: 4.5em !important;
  padding-bottom: 4.5em !important;
  padding-left: 4.5em !important;
}

/* 【ネガティブマージン】 */
.mt-n9 {
  margin-top: -4.5em !important;
}

.mr-n9 {
  margin-right: -4.5em !important;
}

.mb-n9 {
  margin-bottom: -4.5em !important;
}

.ml-n9 {
  margin-left: -4.5em !important;
}

.mx-n9 {
  margin-left: -4.5em !important;
  margin-right: -4.5em !important;
}

.my-n9 {
  margin-top: -4.5em !important;
  margin-bottom: -4.5em !important;
}

.m-n9 {
  margin-top: -4.5em !important;
  margin-right: -4.5em !important;
  margin-bottom: -4.5em !important;
  margin-left: -4.5em !important;
}

/* 【マージン】 */
.mt-10 {
  margin-top: 5em !important;
}

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

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

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

.mx-10 {
  margin-left: 5em !important;
  margin-right: 5em !important;
}

.my-10 {
  margin-top: 5em !important;
  margin-bottom: 5em !important;
}

.m-10 {
  margin-top: 5em !important;
  margin-right: 5em !important;
  margin-bottom: 5em !important;
  margin-left: 5em !important;
}

/* 【パディング】 */
.pt-10 {
  padding-top: 5em !important;
}

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

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

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

.px-10 {
  padding-left: 5em !important;
  padding-right: 5em !important;
}

.py-10 {
  padding-top: 5em !important;
  padding-bottom: 5em !important;
}

.p-10 {
  padding-top: 5em !important;
  padding-right: 5em !important;
  padding-bottom: 5em !important;
  padding-left: 5em !important;
}

/* 【ネガティブマージン】 */
.mt-n10 {
  margin-top: -5em !important;
}

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

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

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

.mx-n10 {
  margin-left: -5em !important;
  margin-right: -5em !important;
}

.my-n10 {
  margin-top: -5em !important;
  margin-bottom: -5em !important;
}

.m-n10 {
  margin-top: -5em !important;
  margin-right: -5em !important;
  margin-bottom: -5em !important;
  margin-left: -5em !important;
}

/*-------------------------------------
// ブレイクポイント別表示設定
// [生成されるクラス例]
//   .max-2s-block
//   .max-3s-inline
//   .max-2l-inline-block
//   .min-s-inline
//   .range-xl-block
// [使用例]
//   <div class="max-2s-block">ウィンドウ幅～428px以下でのみblock要素として表示</div>
-------------------------------------*/
.max-xs-block {
  display: none;
}
@media screen and (max-width: 320px) {
  .max-xs-block {
    display: block;
  }
}

.min-xs-block {
  display: none;
}
@media print, (min-width: 321px) {
  .min-xs-block {
    display: block;
  }
}

.range-xs-block {
  display: none;
}
@media screen and (min-width: 0px) and (max-width: 320px) {
  .range-xs-block {
    display: block;
  }
}

.max-xs-inline {
  display: none;
}
@media screen and (max-width: 320px) {
  .max-xs-inline {
    display: inline;
  }
}

.min-xs-inline {
  display: none;
}
@media print, (min-width: 321px) {
  .min-xs-inline {
    display: inline;
  }
}

.range-xs-inline {
  display: none;
}
@media screen and (min-width: 0px) and (max-width: 320px) {
  .range-xs-inline {
    display: inline;
  }
}

.max-xs-inline-block {
  display: none;
}
@media screen and (max-width: 320px) {
  .max-xs-inline-block {
    display: inline-block;
  }
}

.min-xs-inline-block {
  display: none;
}
@media print, (min-width: 321px) {
  .min-xs-inline-block {
    display: inline-block;
  }
}

.range-xs-inline-block {
  display: none;
}
@media screen and (min-width: 0px) and (max-width: 320px) {
  .range-xs-inline-block {
    display: inline-block;
  }
}

.max-3s-block {
  display: none;
}
@media screen and (max-width: 375px) {
  .max-3s-block {
    display: block;
  }
}

.min-3s-block {
  display: none;
}
@media print, (min-width: 376px) {
  .min-3s-block {
    display: block;
  }
}

.range-3s-block {
  display: none;
}
@media screen and (min-width: 321px) and (max-width: 375px) {
  .range-3s-block {
    display: block;
  }
}

.max-3s-inline {
  display: none;
}
@media screen and (max-width: 375px) {
  .max-3s-inline {
    display: inline;
  }
}

.min-3s-inline {
  display: none;
}
@media print, (min-width: 376px) {
  .min-3s-inline {
    display: inline;
  }
}

.range-3s-inline {
  display: none;
}
@media screen and (min-width: 321px) and (max-width: 375px) {
  .range-3s-inline {
    display: inline;
  }
}

.max-3s-inline-block {
  display: none;
}
@media screen and (max-width: 375px) {
  .max-3s-inline-block {
    display: inline-block;
  }
}

.min-3s-inline-block {
  display: none;
}
@media print, (min-width: 376px) {
  .min-3s-inline-block {
    display: inline-block;
  }
}

.range-3s-inline-block {
  display: none;
}
@media screen and (min-width: 321px) and (max-width: 375px) {
  .range-3s-inline-block {
    display: inline-block;
  }
}

.max-2s-block {
  display: none;
}
@media screen and (max-width: 428px) {
  .max-2s-block {
    display: block;
  }
}

.min-2s-block {
  display: none;
}
@media print, (min-width: 429px) {
  .min-2s-block {
    display: block;
  }
}

.range-2s-block {
  display: none;
}
@media screen and (min-width: 376px) and (max-width: 428px) {
  .range-2s-block {
    display: block;
  }
}

.max-2s-inline {
  display: none;
}
@media screen and (max-width: 428px) {
  .max-2s-inline {
    display: inline;
  }
}

.min-2s-inline {
  display: none;
}
@media print, (min-width: 429px) {
  .min-2s-inline {
    display: inline;
  }
}

.range-2s-inline {
  display: none;
}
@media screen and (min-width: 376px) and (max-width: 428px) {
  .range-2s-inline {
    display: inline;
  }
}

.max-2s-inline-block {
  display: none;
}
@media screen and (max-width: 428px) {
  .max-2s-inline-block {
    display: inline-block;
  }
}

.min-2s-inline-block {
  display: none;
}
@media print, (min-width: 429px) {
  .min-2s-inline-block {
    display: inline-block;
  }
}

.range-2s-inline-block {
  display: none;
}
@media screen and (min-width: 376px) and (max-width: 428px) {
  .range-2s-inline-block {
    display: inline-block;
  }
}

.max-s-block {
  display: none;
}
@media screen and (max-width: 575px) {
  .max-s-block {
    display: block;
  }
}

.min-s-block {
  display: none;
}
@media print, (min-width: 576px) {
  .min-s-block {
    display: block;
  }
}

.range-s-block {
  display: none;
}
@media screen and (min-width: 429px) and (max-width: 575px) {
  .range-s-block {
    display: block;
  }
}

.max-s-inline {
  display: none;
}
@media screen and (max-width: 575px) {
  .max-s-inline {
    display: inline;
  }
}

.min-s-inline {
  display: none;
}
@media print, (min-width: 576px) {
  .min-s-inline {
    display: inline;
  }
}

.range-s-inline {
  display: none;
}
@media screen and (min-width: 429px) and (max-width: 575px) {
  .range-s-inline {
    display: inline;
  }
}

.max-s-inline-block {
  display: none;
}
@media screen and (max-width: 575px) {
  .max-s-inline-block {
    display: inline-block;
  }
}

.min-s-inline-block {
  display: none;
}
@media print, (min-width: 576px) {
  .min-s-inline-block {
    display: inline-block;
  }
}

.range-s-inline-block {
  display: none;
}
@media screen and (min-width: 429px) and (max-width: 575px) {
  .range-s-inline-block {
    display: inline-block;
  }
}

.max-m-block {
  display: none;
}
@media screen and (max-width: 767px) {
  .max-m-block {
    display: block;
  }
}

.min-m-block {
  display: none;
}
@media print, (min-width: 768px) {
  .min-m-block {
    display: block;
  }
}

.range-m-block {
  display: none;
}
@media screen and (min-width: 576px) and (max-width: 767px) {
  .range-m-block {
    display: block;
  }
}

.max-m-inline {
  display: none;
}
@media screen and (max-width: 767px) {
  .max-m-inline {
    display: inline;
  }
}

.min-m-inline {
  display: none;
}
@media print, (min-width: 768px) {
  .min-m-inline {
    display: inline;
  }
}

.range-m-inline {
  display: none;
}
@media screen and (min-width: 576px) and (max-width: 767px) {
  .range-m-inline {
    display: inline;
  }
}

.max-m-inline-block {
  display: none;
}
@media screen and (max-width: 767px) {
  .max-m-inline-block {
    display: inline-block;
  }
}

.min-m-inline-block {
  display: none;
}
@media print, (min-width: 768px) {
  .min-m-inline-block {
    display: inline-block;
  }
}

.range-m-inline-block {
  display: none;
}
@media screen and (min-width: 576px) and (max-width: 767px) {
  .range-m-inline-block {
    display: inline-block;
  }
}

.max-init-block {
  display: none;
}
@media screen and (max-width: 767px) {
  .max-init-block {
    display: block;
  }
}

.min-init-block {
  display: none;
}
@media print, (min-width: 768px) {
  .min-init-block {
    display: block;
  }
}

.range-init-block {
  display: none;
}
@media screen and (min-width: 576px) and (max-width: 767px) {
  .range-init-block {
    display: block;
  }
}

.max-init-inline {
  display: none;
}
@media screen and (max-width: 767px) {
  .max-init-inline {
    display: inline;
  }
}

.min-init-inline {
  display: none;
}
@media print, (min-width: 768px) {
  .min-init-inline {
    display: inline;
  }
}

.range-init-inline {
  display: none;
}
@media screen and (min-width: 576px) and (max-width: 767px) {
  .range-init-inline {
    display: inline;
  }
}

.max-init-inline-block {
  display: none;
}
@media screen and (max-width: 767px) {
  .max-init-inline-block {
    display: inline-block;
  }
}

.min-init-inline-block {
  display: none;
}
@media print, (min-width: 768px) {
  .min-init-inline-block {
    display: inline-block;
  }
}

.range-init-inline-block {
  display: none;
}
@media screen and (min-width: 576px) and (max-width: 767px) {
  .range-init-inline-block {
    display: inline-block;
  }
}

.max-l-block {
  display: none;
}
@media screen and (max-width: 1024px) {
  .max-l-block {
    display: block;
  }
}

.min-l-block {
  display: none;
}
@media print, (min-width: 1025px) {
  .min-l-block {
    display: block;
  }
}

.range-l-block {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .range-l-block {
    display: block;
  }
}

.max-l-inline {
  display: none;
}
@media screen and (max-width: 1024px) {
  .max-l-inline {
    display: inline;
  }
}

.min-l-inline {
  display: none;
}
@media print, (min-width: 1025px) {
  .min-l-inline {
    display: inline;
  }
}

.range-l-inline {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .range-l-inline {
    display: inline;
  }
}

.max-l-inline-block {
  display: none;
}
@media screen and (max-width: 1024px) {
  .max-l-inline-block {
    display: inline-block;
  }
}

.min-l-inline-block {
  display: none;
}
@media print, (min-width: 1025px) {
  .min-l-inline-block {
    display: inline-block;
  }
}

.range-l-inline-block {
  display: none;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .range-l-inline-block {
    display: inline-block;
  }
}

.max-2l-block {
  display: none;
}
@media screen and (max-width: 1280px) {
  .max-2l-block {
    display: block;
  }
}

.min-2l-block {
  display: none;
}
@media print, (min-width: 1281px) {
  .min-2l-block {
    display: block;
  }
}

.range-2l-block {
  display: none;
}
@media screen and (min-width: 1025px) and (max-width: 1280px) {
  .range-2l-block {
    display: block;
  }
}

.max-2l-inline {
  display: none;
}
@media screen and (max-width: 1280px) {
  .max-2l-inline {
    display: inline;
  }
}

.min-2l-inline {
  display: none;
}
@media print, (min-width: 1281px) {
  .min-2l-inline {
    display: inline;
  }
}

.range-2l-inline {
  display: none;
}
@media screen and (min-width: 1025px) and (max-width: 1280px) {
  .range-2l-inline {
    display: inline;
  }
}

.max-2l-inline-block {
  display: none;
}
@media screen and (max-width: 1280px) {
  .max-2l-inline-block {
    display: inline-block;
  }
}

.min-2l-inline-block {
  display: none;
}
@media print, (min-width: 1281px) {
  .min-2l-inline-block {
    display: inline-block;
  }
}

.range-2l-inline-block {
  display: none;
}
@media screen and (min-width: 1025px) and (max-width: 1280px) {
  .range-2l-inline-block {
    display: inline-block;
  }
}

.max-3l-block {
  display: none;
}
@media screen and (max-width: 1440px) {
  .max-3l-block {
    display: block;
  }
}

.min-3l-block {
  display: none;
}
@media print, (min-width: 1441px) {
  .min-3l-block {
    display: block;
  }
}

.range-3l-block {
  display: none;
}
@media screen and (min-width: 1281px) and (max-width: 1440px) {
  .range-3l-block {
    display: block;
  }
}

.max-3l-inline {
  display: none;
}
@media screen and (max-width: 1440px) {
  .max-3l-inline {
    display: inline;
  }
}

.min-3l-inline {
  display: none;
}
@media print, (min-width: 1441px) {
  .min-3l-inline {
    display: inline;
  }
}

.range-3l-inline {
  display: none;
}
@media screen and (min-width: 1281px) and (max-width: 1440px) {
  .range-3l-inline {
    display: inline;
  }
}

.max-3l-inline-block {
  display: none;
}
@media screen and (max-width: 1440px) {
  .max-3l-inline-block {
    display: inline-block;
  }
}

.min-3l-inline-block {
  display: none;
}
@media print, (min-width: 1441px) {
  .min-3l-inline-block {
    display: inline-block;
  }
}

.range-3l-inline-block {
  display: none;
}
@media screen and (min-width: 1281px) and (max-width: 1440px) {
  .range-3l-inline-block {
    display: inline-block;
  }
}

.max-xl-block {
  display: none;
}
@media screen and (max-width: 1600px) {
  .max-xl-block {
    display: block;
  }
}

.min-xl-block {
  display: none;
}
@media print, (min-width: 1601px) {
  .min-xl-block {
    display: block;
  }
}

.range-xl-block {
  display: none;
}
@media screen and (min-width: 1441px) and (max-width: 1600px) {
  .range-xl-block {
    display: block;
  }
}

.max-xl-inline {
  display: none;
}
@media screen and (max-width: 1600px) {
  .max-xl-inline {
    display: inline;
  }
}

.min-xl-inline {
  display: none;
}
@media print, (min-width: 1601px) {
  .min-xl-inline {
    display: inline;
  }
}

.range-xl-inline {
  display: none;
}
@media screen and (min-width: 1441px) and (max-width: 1600px) {
  .range-xl-inline {
    display: inline;
  }
}

.max-xl-inline-block {
  display: none;
}
@media screen and (max-width: 1600px) {
  .max-xl-inline-block {
    display: inline-block;
  }
}

.min-xl-inline-block {
  display: none;
}
@media print, (min-width: 1601px) {
  .min-xl-inline-block {
    display: inline-block;
  }
}

.range-xl-inline-block {
  display: none;
}
@media screen and (min-width: 1441px) and (max-width: 1600px) {
  .range-xl-inline-block {
    display: inline-block;
  }
}

/*-------------------------------------
// 回転アニメーション
// [生成されるクラス例]
//   .rotate-r-2s（2秒で右回転）
//   .rotate-l-1s（1秒で左回転）
//   .rotate-x-3s（3秒でX軸回転）
//   .rotate-y-2s（2秒でY軸回転）
-------------------------------------*/
.rotate-r-1 {
  -webkit-animation: 1s linear infinite rotate_right;
          animation: 1s linear infinite rotate_right;
  display: inline-block;
}

.rotate-r-2 {
  -webkit-animation: 2s linear infinite rotate_right;
          animation: 2s linear infinite rotate_right;
  display: inline-block;
}

.rotate-r-3 {
  -webkit-animation: 3s linear infinite rotate_right;
          animation: 3s linear infinite rotate_right;
  display: inline-block;
}

.rotate-l-1 {
  -webkit-animation: 1s linear infinite rotate_left;
          animation: 1s linear infinite rotate_left;
  display: inline-block;
}

.rotate-l-2 {
  -webkit-animation: 2s linear infinite rotate_left;
          animation: 2s linear infinite rotate_left;
  display: inline-block;
}

.rotate-l-3 {
  -webkit-animation: 3s linear infinite rotate_left;
          animation: 3s linear infinite rotate_left;
  display: inline-block;
}

.rotate-x-1 {
  -webkit-animation: 1s linear infinite rotate_x;
          animation: 1s linear infinite rotate_x;
  display: inline-block;
}

.rotate-x-2 {
  -webkit-animation: 2s linear infinite rotate_x;
          animation: 2s linear infinite rotate_x;
  display: inline-block;
}

.rotate-x-3 {
  -webkit-animation: 3s linear infinite rotate_x;
          animation: 3s linear infinite rotate_x;
  display: inline-block;
}

.rotate-y-1 {
  -webkit-animation: 1s linear infinite rotate_y;
          animation: 1s linear infinite rotate_y;
  display: inline-block;
}

.rotate-y-2 {
  -webkit-animation: 2s linear infinite rotate_y;
          animation: 2s linear infinite rotate_y;
  display: inline-block;
}

.rotate-y-3 {
  -webkit-animation: 3s linear infinite rotate_y;
          animation: 3s linear infinite rotate_y;
  display: inline-block;
}

/*-------------------------------------
// フォント・装飾設定
-------------------------------------*/
/* 文字サイズ */
.size-xs {
  font-size: 0.5em !important;
}

.size-3s {
  font-size: 0.7em !important;
}

.size-2s {
  font-size: 0.8em !important;
}

.size-s {
  font-size: 0.9em !important;
}

.size-r {
  font-size: 1em !important;
}

.size-n {
  font-size: 1em !important;
}

.size-m {
  font-size: 1.1em !important;
}

.size-l {
  font-size: 1.2em !important;
}

.size-2l {
  font-size: 1.3em !important;
}

.size-3l {
  font-size: 1.4em !important;
}

.size-xl {
  font-size: 1.6em !important;
}

/* 文字色 */
.color-black {
  color: #000 !important;
}

.color-white {
  color: #FFF !important;
}

.color-gray {
  color: #999 !important;
}

.color-darkgray {
  color: #666 !important;
}

.color-silver {
  color: #CCC !important;
}

.color-red {
  color: #D7000F !important;
}

.color-blue {
  color: #0265CF !important;
}

/* 背景色 */
.bg-black {
  background-color: #000 !important;
}

.bg-white {
  background-color: #FFF !important;
}

.bg-gray {
  background-color: #999 !important;
}

.bg-silver {
  background-color: #CCC !important;
}

/* 太字有無 */
.weight-3s, .weight-thin {
  font-weight: 100 !important;
}

.weight-2s, .weight-light {
  font-weight: 200 !important;
}

.weight-s, .weight-demilight {
  font-weight: 300 !important;
}

.weight-r, .weight-n, .weight-regular {
  font-weight: 400 !important;
}

.weight-l, .weight-medium {
  font-weight: 500 !important;
}

.weight-2l, .weight-bold {
  font-weight: 600 !important;
}

.weight-3l, .weight-black {
  font-weight: 700 !important;
}

/* アンダーライン有無 */
.underline {
  text-decoration: underline !important;
}

.underline:hover {
  text-decoration: underline !important;
}

.underline-none {
  text-decoration: none !important;
}

/* ボーダー無し */
.border-none {
  border: none !important;
}

/*-------------------------------------
// 配置設定
-------------------------------------*/
/* 行間 */
.line-xs {
  line-height: 1 !important;
}

.line-3s {
  line-height: 1.1 !important;
}

.line-2s {
  line-height: 1.2 !important;
}

.line-s {
  line-height: 1.3 !important;
}

.line-r {
  line-height: 1.4 !important;
}

.line-n {
  line-height: 1.4 !important;
}

.line-m {
  line-height: 1.5 !important;
}

.line-l {
  line-height: 1.6 !important;
}

.line-2l {
  line-height: 1.7 !important;
}

.line-3l {
  line-height: 1.8 !important;
}

.line-xl {
  line-height: 2 !important;
}

/* 文字寄せ */
.text-center {
  text-align: center !important;
}

.text-left {
  text-align: left !important;
}

.text-right {
  text-align: right !important;
}

.text-middle {
  display: table-cell;
  vertical-align: middle !important;
}

/* フロート */
.float-left, .floatL {
  float: left;
}

.float-right, .floatR {
  float: right;
}

.float-clear, .floatC {
  clear: both;
}

/* ブロック中央寄せ */
.center {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.center-xy {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.center-x {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.center-y {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* clearfix */
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/* flex */
/* 単純なfloatに近い（左寄せ＋右端折返し） */
.flex-wrap {
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  /* 均等列 */
}
.flex-wrap.flex-wrap-2 > * {
  width: 50%;
}
.flex-wrap.flex-wrap-3 > * {
  width: 33.3%;
}
.flex-wrap.flex-wrap-4 > * {
  width: 25%;
}
.flex-wrap.flex-wrap-5 > * {
  width: 20%;
}

/* 折り返しなし配置（左寄せ＋折返しなし縮小） */
.flex-nowrap {
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
}

/*-------------------------------------
// 表示設定
-------------------------------------*/
/* ホバー透過クラス */
.hover-opa {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.hover-opa:hover {
  opacity: 0.8;
}

/* 表示設定 */
.disp-none {
  display: none !important;
}

.disp-inline {
  display: inline;
}

.disp-block {
  display: block;
}

.disp-inline-block {
  display: inline-block;
}

.disp-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.disp-table-cell {
  display: table-cell;
}

/* スマホ版のみ表示／非表示 */
@media screen and (max-width: 767px) {
  .sp-none {
    display: none !important;
  }
}

.sp-inline {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .sp-inline {
    display: inline !important;
  }
}

.sp-block {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .sp-block {
    display: block !important;
  }
}

.sp-inline-block {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .sp-inline-block {
    display: inline-block !important;
  }
}

/* スマホ版のみ上書き（※PCのdisplay:noneなし） */
@media screen and (max-width: 767px) {
  .sp-only-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media screen and (max-width: 767px) {
  .sp-only-table-cell {
    display: table-cell !important;
  }
}

/*-------------------------------------
// 印刷時設定
-------------------------------------*/
/* 印刷時 非表示 */
@media print {
  .print-none {
    display: none !important;
  }
}
/* 印刷時 表示 */
@media print {
  .print-inline,
  .print-block,
  .print-inline-block {
    display: none !important;
  }
  .print-inline {
    display: inline !important;
  }
  .print-block {
    display: block !important;
  }
  .print-inline-block {
    display: inline-block !important;
  }
}
/* 印刷時 改ページ */
@media print {
  .page-breaker {
    page-break-before: always;
  }
}
/*-------------------------------------
// フォーム用ユーティリティ
-------------------------------------*/
/*-------------------------------------
// フォーム要素max-widthクラス（文字数ベース）
//   全角10文字分幅 -> .w-zen-10
//   半角20も自分幅 -> .w-han-20
-------------------------------------*/
/* 全角 */
.w-zen-1 {
  max-width: 57px;
}

.w-zen-2 {
  max-width: 74px;
}

.w-zen-3 {
  max-width: 91px;
}

.w-zen-4 {
  max-width: 108px;
}

.w-zen-5 {
  max-width: 125px;
}

.w-zen-6 {
  max-width: 142px;
}

.w-zen-7 {
  max-width: 159px;
}

.w-zen-8 {
  max-width: 176px;
}

.w-zen-9 {
  max-width: 200px;
}

.w-zen-10 {
  max-width: 200px;
}

.w-zen-11 {
  max-width: 200px;
}

.w-zen-12 {
  max-width: 250px;
}

.w-zen-13 {
  max-width: 250px;
}

.w-zen-14 {
  max-width: 250px;
}

.w-zen-15 {
  max-width: 300px;
}

.w-zen-16 {
  max-width: 300px;
}

.w-zen-17 {
  max-width: 300px;
}

.w-zen-18 {
  max-width: 350px;
}

.w-zen-19 {
  max-width: 350px;
}

.w-zen-20 {
  max-width: 350px;
}

.w-zen-21 {
  max-width: 400px;
}

.w-zen-22 {
  max-width: 400px;
}

.w-zen-23 {
  max-width: 400px;
}

.w-zen-24 {
  max-width: 450px;
}

.w-zen-25 {
  max-width: 450px;
}

.w-zen-26 {
  max-width: 450px;
}

.w-zen-27 {
  max-width: 500px;
}

.w-zen-28 {
  max-width: 500px;
}

.w-zen-29 {
  max-width: 500px;
}

.w-zen-30 {
  max-width: 550px;
}

.w-zen-31 {
  max-width: 550px;
}

.w-zen-32 {
  max-width: 550px;
}

.w-zen-33 {
  max-width: 600px;
}

.w-zen-34 {
  max-width: 600px;
}

.w-zen-35 {
  max-width: 600px;
}

.w-zen-36 {
  max-width: 650px;
}

.w-zen-37 {
  max-width: 650px;
}

.w-zen-38 {
  max-width: 650px;
}

.w-zen-39 {
  max-width: 700px;
}

.w-zen-40 {
  max-width: 700px;
}

.w-zen-41 {
  max-width: 700px;
}

.w-zen-42 {
  max-width: 750px;
}

.w-zen-43 {
  max-width: 750px;
}

.w-zen-44 {
  max-width: 750px;
}

.w-zen-45 {
  max-width: 800px;
}

.w-zen-46 {
  max-width: 800px;
}

.w-zen-47 {
  max-width: 800px;
}

.w-zen-48 {
  max-width: 800px;
}

.w-zen-49 {
  max-width: 800px;
}

.w-zen-50 {
  max-width: 800px;
}

.w-zen-51 {
  max-width: 800px;
}

.w-zen-52 {
  max-width: 800px;
}

.w-zen-53 {
  max-width: 800px;
}

.w-zen-54 {
  max-width: 800px;
}

.w-zen-55 {
  max-width: 800px;
}

.w-zen-56 {
  max-width: 800px;
}

.w-zen-57 {
  max-width: 800px;
}

.w-zen-58 {
  max-width: 800px;
}

.w-zen-59 {
  max-width: 800px;
}

.w-zen-60 {
  max-width: 800px;
}

.w-zen-61 {
  max-width: 800px;
}

.w-zen-62 {
  max-width: 800px;
}

.w-zen-63 {
  max-width: 800px;
}

.w-zen-64 {
  max-width: 800px;
}

.w-zen-65 {
  max-width: 800px;
}

.w-zen-66 {
  max-width: 800px;
}

.w-zen-67 {
  max-width: 800px;
}

.w-zen-68 {
  max-width: 800px;
}

.w-zen-69 {
  max-width: 800px;
}

.w-zen-70 {
  max-width: 800px;
}

.w-zen-71 {
  max-width: 800px;
}

.w-zen-72 {
  max-width: 800px;
}

.w-zen-73 {
  max-width: 800px;
}

.w-zen-74 {
  max-width: 800px;
}

.w-zen-75 {
  max-width: 800px;
}

.w-zen-76 {
  max-width: 800px;
}

.w-zen-77 {
  max-width: 800px;
}

.w-zen-78 {
  max-width: 800px;
}

.w-zen-79 {
  max-width: 800px;
}

.w-zen-80 {
  max-width: 800px;
}

.w-zen-81 {
  max-width: 800px;
}

.w-zen-82 {
  max-width: 800px;
}

.w-zen-83 {
  max-width: 800px;
}

.w-zen-84 {
  max-width: 800px;
}

.w-zen-85 {
  max-width: 800px;
}

.w-zen-86 {
  max-width: 800px;
}

.w-zen-87 {
  max-width: 800px;
}

.w-zen-88 {
  max-width: 800px;
}

.w-zen-89 {
  max-width: 800px;
}

.w-zen-90 {
  max-width: 800px;
}

.w-zen-91 {
  max-width: 800px;
}

.w-zen-92 {
  max-width: 800px;
}

.w-zen-93 {
  max-width: 800px;
}

.w-zen-94 {
  max-width: 800px;
}

.w-zen-95 {
  max-width: 800px;
}

.w-zen-96 {
  max-width: 800px;
}

.w-zen-97 {
  max-width: 800px;
}

.w-zen-98 {
  max-width: 800px;
}

.w-zen-99 {
  max-width: 800px;
}

.w-zen-100 {
  max-width: 800px;
}

.w-zen-101 {
  max-width: 800px;
}

.w-zen-102 {
  max-width: 800px;
}

.w-zen-103 {
  max-width: 800px;
}

.w-zen-104 {
  max-width: 800px;
}

.w-zen-105 {
  max-width: 800px;
}

.w-zen-106 {
  max-width: 800px;
}

.w-zen-107 {
  max-width: 800px;
}

.w-zen-108 {
  max-width: 800px;
}

.w-zen-109 {
  max-width: 800px;
}

.w-zen-110 {
  max-width: 800px;
}

.w-zen-111 {
  max-width: 800px;
}

.w-zen-112 {
  max-width: 800px;
}

.w-zen-113 {
  max-width: 800px;
}

.w-zen-114 {
  max-width: 800px;
}

.w-zen-115 {
  max-width: 800px;
}

.w-zen-116 {
  max-width: 800px;
}

.w-zen-117 {
  max-width: 800px;
}

.w-zen-118 {
  max-width: 800px;
}

.w-zen-119 {
  max-width: 800px;
}

.w-zen-120 {
  max-width: 800px;
}

.w-zen-121 {
  max-width: 800px;
}

.w-zen-122 {
  max-width: 800px;
}

.w-zen-123 {
  max-width: 800px;
}

.w-zen-124 {
  max-width: 800px;
}

.w-zen-125 {
  max-width: 800px;
}

.w-zen-126 {
  max-width: 800px;
}

.w-zen-127 {
  max-width: 800px;
}

.w-zen-128 {
  max-width: 800px;
}

.w-zen-129 {
  max-width: 800px;
}

.w-zen-130 {
  max-width: 800px;
}

.w-zen-131 {
  max-width: 800px;
}

.w-zen-132 {
  max-width: 800px;
}

.w-zen-133 {
  max-width: 800px;
}

.w-zen-134 {
  max-width: 800px;
}

.w-zen-135 {
  max-width: 800px;
}

.w-zen-136 {
  max-width: 800px;
}

.w-zen-137 {
  max-width: 800px;
}

.w-zen-138 {
  max-width: 800px;
}

.w-zen-139 {
  max-width: 800px;
}

.w-zen-140 {
  max-width: 800px;
}

.w-zen-141 {
  max-width: 800px;
}

.w-zen-142 {
  max-width: 800px;
}

.w-zen-143 {
  max-width: 800px;
}

.w-zen-144 {
  max-width: 800px;
}

.w-zen-145 {
  max-width: 800px;
}

.w-zen-146 {
  max-width: 800px;
}

.w-zen-147 {
  max-width: 800px;
}

.w-zen-148 {
  max-width: 800px;
}

.w-zen-149 {
  max-width: 800px;
}

.w-zen-150 {
  max-width: 800px;
}

.w-zen-151 {
  max-width: 800px;
}

.w-zen-152 {
  max-width: 800px;
}

.w-zen-153 {
  max-width: 800px;
}

.w-zen-154 {
  max-width: 800px;
}

.w-zen-155 {
  max-width: 800px;
}

.w-zen-156 {
  max-width: 800px;
}

.w-zen-157 {
  max-width: 800px;
}

.w-zen-158 {
  max-width: 800px;
}

.w-zen-159 {
  max-width: 800px;
}

.w-zen-160 {
  max-width: 800px;
}

.w-zen-161 {
  max-width: 800px;
}

.w-zen-162 {
  max-width: 800px;
}

.w-zen-163 {
  max-width: 800px;
}

.w-zen-164 {
  max-width: 800px;
}

.w-zen-165 {
  max-width: 800px;
}

.w-zen-166 {
  max-width: 800px;
}

.w-zen-167 {
  max-width: 800px;
}

.w-zen-168 {
  max-width: 800px;
}

.w-zen-169 {
  max-width: 800px;
}

.w-zen-170 {
  max-width: 800px;
}

.w-zen-171 {
  max-width: 800px;
}

.w-zen-172 {
  max-width: 800px;
}

.w-zen-173 {
  max-width: 800px;
}

.w-zen-174 {
  max-width: 800px;
}

.w-zen-175 {
  max-width: 800px;
}

.w-zen-176 {
  max-width: 800px;
}

.w-zen-177 {
  max-width: 800px;
}

.w-zen-178 {
  max-width: 800px;
}

.w-zen-179 {
  max-width: 800px;
}

.w-zen-180 {
  max-width: 800px;
}

.w-zen-181 {
  max-width: 800px;
}

.w-zen-182 {
  max-width: 800px;
}

.w-zen-183 {
  max-width: 800px;
}

.w-zen-184 {
  max-width: 800px;
}

.w-zen-185 {
  max-width: 800px;
}

.w-zen-186 {
  max-width: 800px;
}

.w-zen-187 {
  max-width: 800px;
}

.w-zen-188 {
  max-width: 800px;
}

.w-zen-189 {
  max-width: 800px;
}

.w-zen-190 {
  max-width: 800px;
}

.w-zen-191 {
  max-width: 800px;
}

.w-zen-192 {
  max-width: 800px;
}

.w-zen-193 {
  max-width: 800px;
}

.w-zen-194 {
  max-width: 800px;
}

.w-zen-195 {
  max-width: 800px;
}

.w-zen-196 {
  max-width: 800px;
}

.w-zen-197 {
  max-width: 800px;
}

.w-zen-198 {
  max-width: 800px;
}

.w-zen-199 {
  max-width: 800px;
}

.w-zen-200 {
  max-width: 800px;
}

/* 半角 */
.w-han-1 {
  max-width: 60px;
}

.w-han-2 {
  max-width: 70px;
}

.w-han-3 {
  max-width: 80px;
}

.w-han-4 {
  max-width: 90px;
}

.w-han-5 {
  max-width: 100px;
}

.w-han-6 {
  max-width: 110px;
}

.w-han-7 {
  max-width: 120px;
}

.w-han-8 {
  max-width: 130px;
}

.w-han-9 {
  max-width: 140px;
}

.w-han-10 {
  max-width: 150px;
}

.w-han-11 {
  max-width: 160px;
}

.w-han-12 {
  max-width: 170px;
}

.w-han-13 {
  max-width: 180px;
}

.w-han-14 {
  max-width: 190px;
}

.w-han-15 {
  max-width: 200px;
}

.w-han-16 {
  max-width: 200px;
}

.w-han-17 {
  max-width: 200px;
}

.w-han-18 {
  max-width: 200px;
}

.w-han-19 {
  max-width: 200px;
}

.w-han-20 {
  max-width: 250px;
}

.w-han-21 {
  max-width: 250px;
}

.w-han-22 {
  max-width: 250px;
}

.w-han-23 {
  max-width: 250px;
}

.w-han-24 {
  max-width: 250px;
}

.w-han-25 {
  max-width: 300px;
}

.w-han-26 {
  max-width: 300px;
}

.w-han-27 {
  max-width: 300px;
}

.w-han-28 {
  max-width: 300px;
}

.w-han-29 {
  max-width: 300px;
}

.w-han-30 {
  max-width: 350px;
}

.w-han-31 {
  max-width: 350px;
}

.w-han-32 {
  max-width: 350px;
}

.w-han-33 {
  max-width: 350px;
}

.w-han-34 {
  max-width: 350px;
}

.w-han-35 {
  max-width: 400px;
}

.w-han-36 {
  max-width: 400px;
}

.w-han-37 {
  max-width: 400px;
}

.w-han-38 {
  max-width: 400px;
}

.w-han-39 {
  max-width: 400px;
}

.w-han-40 {
  max-width: 450px;
}

.w-han-41 {
  max-width: 450px;
}

.w-han-42 {
  max-width: 450px;
}

.w-han-43 {
  max-width: 450px;
}

.w-han-44 {
  max-width: 450px;
}

.w-han-45 {
  max-width: 500px;
}

.w-han-46 {
  max-width: 500px;
}

.w-han-47 {
  max-width: 500px;
}

.w-han-48 {
  max-width: 500px;
}

.w-han-49 {
  max-width: 500px;
}

.w-han-50 {
  max-width: 550px;
}

.w-han-51 {
  max-width: 550px;
}

.w-han-52 {
  max-width: 550px;
}

.w-han-53 {
  max-width: 550px;
}

.w-han-54 {
  max-width: 550px;
}

.w-han-55 {
  max-width: 600px;
}

.w-han-56 {
  max-width: 600px;
}

.w-han-57 {
  max-width: 600px;
}

.w-han-58 {
  max-width: 600px;
}

.w-han-59 {
  max-width: 600px;
}

.w-han-60 {
  max-width: 650px;
}

.w-han-61 {
  max-width: 650px;
}

.w-han-62 {
  max-width: 650px;
}

.w-han-63 {
  max-width: 650px;
}

.w-han-64 {
  max-width: 650px;
}

.w-han-65 {
  max-width: 700px;
}

.w-han-66 {
  max-width: 700px;
}

.w-han-67 {
  max-width: 700px;
}

.w-han-68 {
  max-width: 700px;
}

.w-han-69 {
  max-width: 700px;
}

.w-han-70 {
  max-width: 750px;
}

.w-han-71 {
  max-width: 750px;
}

.w-han-72 {
  max-width: 750px;
}

.w-han-73 {
  max-width: 750px;
}

.w-han-74 {
  max-width: 750px;
}

.w-han-75 {
  max-width: 800px;
}

.w-han-76 {
  max-width: 800px;
}

.w-han-77 {
  max-width: 800px;
}

.w-han-78 {
  max-width: 800px;
}

.w-han-79 {
  max-width: 800px;
}

.w-han-80 {
  max-width: 800px;
}

.w-han-81 {
  max-width: 800px;
}

.w-han-82 {
  max-width: 800px;
}

.w-han-83 {
  max-width: 800px;
}

.w-han-84 {
  max-width: 800px;
}

.w-han-85 {
  max-width: 800px;
}

.w-han-86 {
  max-width: 800px;
}

.w-han-87 {
  max-width: 800px;
}

.w-han-88 {
  max-width: 800px;
}

.w-han-89 {
  max-width: 800px;
}

.w-han-90 {
  max-width: 800px;
}

.w-han-91 {
  max-width: 800px;
}

.w-han-92 {
  max-width: 800px;
}

.w-han-93 {
  max-width: 800px;
}

.w-han-94 {
  max-width: 800px;
}

.w-han-95 {
  max-width: 800px;
}

.w-han-96 {
  max-width: 800px;
}

.w-han-97 {
  max-width: 800px;
}

.w-han-98 {
  max-width: 800px;
}

.w-han-99 {
  max-width: 800px;
}

.w-han-100 {
  max-width: 800px;
}

.w-han-101 {
  max-width: 800px;
}

.w-han-102 {
  max-width: 800px;
}

.w-han-103 {
  max-width: 800px;
}

.w-han-104 {
  max-width: 800px;
}

.w-han-105 {
  max-width: 800px;
}

.w-han-106 {
  max-width: 800px;
}

.w-han-107 {
  max-width: 800px;
}

.w-han-108 {
  max-width: 800px;
}

.w-han-109 {
  max-width: 800px;
}

.w-han-110 {
  max-width: 800px;
}

.w-han-111 {
  max-width: 800px;
}

.w-han-112 {
  max-width: 800px;
}

.w-han-113 {
  max-width: 800px;
}

.w-han-114 {
  max-width: 800px;
}

.w-han-115 {
  max-width: 800px;
}

.w-han-116 {
  max-width: 800px;
}

.w-han-117 {
  max-width: 800px;
}

.w-han-118 {
  max-width: 800px;
}

.w-han-119 {
  max-width: 800px;
}

.w-han-120 {
  max-width: 800px;
}

.w-han-121 {
  max-width: 800px;
}

.w-han-122 {
  max-width: 800px;
}

.w-han-123 {
  max-width: 800px;
}

.w-han-124 {
  max-width: 800px;
}

.w-han-125 {
  max-width: 800px;
}

.w-han-126 {
  max-width: 800px;
}

.w-han-127 {
  max-width: 800px;
}

.w-han-128 {
  max-width: 800px;
}

.w-han-129 {
  max-width: 800px;
}

.w-han-130 {
  max-width: 800px;
}

.w-han-131 {
  max-width: 800px;
}

.w-han-132 {
  max-width: 800px;
}

.w-han-133 {
  max-width: 800px;
}

.w-han-134 {
  max-width: 800px;
}

.w-han-135 {
  max-width: 800px;
}

.w-han-136 {
  max-width: 800px;
}

.w-han-137 {
  max-width: 800px;
}

.w-han-138 {
  max-width: 800px;
}

.w-han-139 {
  max-width: 800px;
}

.w-han-140 {
  max-width: 800px;
}

.w-han-141 {
  max-width: 800px;
}

.w-han-142 {
  max-width: 800px;
}

.w-han-143 {
  max-width: 800px;
}

.w-han-144 {
  max-width: 800px;
}

.w-han-145 {
  max-width: 800px;
}

.w-han-146 {
  max-width: 800px;
}

.w-han-147 {
  max-width: 800px;
}

.w-han-148 {
  max-width: 800px;
}

.w-han-149 {
  max-width: 800px;
}

.w-han-150 {
  max-width: 800px;
}

.w-han-151 {
  max-width: 800px;
}

.w-han-152 {
  max-width: 800px;
}

.w-han-153 {
  max-width: 800px;
}

.w-han-154 {
  max-width: 800px;
}

.w-han-155 {
  max-width: 800px;
}

.w-han-156 {
  max-width: 800px;
}

.w-han-157 {
  max-width: 800px;
}

.w-han-158 {
  max-width: 800px;
}

.w-han-159 {
  max-width: 800px;
}

.w-han-160 {
  max-width: 800px;
}

.w-han-161 {
  max-width: 800px;
}

.w-han-162 {
  max-width: 800px;
}

.w-han-163 {
  max-width: 800px;
}

.w-han-164 {
  max-width: 800px;
}

.w-han-165 {
  max-width: 800px;
}

.w-han-166 {
  max-width: 800px;
}

.w-han-167 {
  max-width: 800px;
}

.w-han-168 {
  max-width: 800px;
}

.w-han-169 {
  max-width: 800px;
}

.w-han-170 {
  max-width: 800px;
}

.w-han-171 {
  max-width: 800px;
}

.w-han-172 {
  max-width: 800px;
}

.w-han-173 {
  max-width: 800px;
}

.w-han-174 {
  max-width: 800px;
}

.w-han-175 {
  max-width: 800px;
}

.w-han-176 {
  max-width: 800px;
}

.w-han-177 {
  max-width: 800px;
}

.w-han-178 {
  max-width: 800px;
}

.w-han-179 {
  max-width: 800px;
}

.w-han-180 {
  max-width: 800px;
}

.w-han-181 {
  max-width: 800px;
}

.w-han-182 {
  max-width: 800px;
}

.w-han-183 {
  max-width: 800px;
}

.w-han-184 {
  max-width: 800px;
}

.w-han-185 {
  max-width: 800px;
}

.w-han-186 {
  max-width: 800px;
}

.w-han-187 {
  max-width: 800px;
}

.w-han-188 {
  max-width: 800px;
}

.w-han-189 {
  max-width: 800px;
}

.w-han-190 {
  max-width: 800px;
}

.w-han-191 {
  max-width: 800px;
}

.w-han-192 {
  max-width: 800px;
}

.w-han-193 {
  max-width: 800px;
}

.w-han-194 {
  max-width: 800px;
}

.w-han-195 {
  max-width: 800px;
}

.w-han-196 {
  max-width: 800px;
}

.w-han-197 {
  max-width: 800px;
}

.w-han-198 {
  max-width: 800px;
}

.w-han-199 {
  max-width: 800px;
}

.w-han-200 {
  max-width: 800px;
}

/* textareaの高さ（大体文字サイズベース） */
.h-textarea-1 {
  height: calc(1em * 1 * 1.2 + 1em);
}

.h-textarea-2 {
  height: calc(1em * 2 * 1.2 + 1em);
}

.h-textarea-3 {
  height: calc(1em * 3 * 1.2 + 1em);
}

.h-textarea-4 {
  height: calc(1em * 4 * 1.2 + 1em);
}

.h-textarea-5 {
  height: calc(1em * 5 * 1.2 + 1em);
}

.h-textarea-6 {
  height: calc(1em * 6 * 1.2 + 1em);
}

.h-textarea-7 {
  height: calc(1em * 7 * 1.2 + 1em);
}

.h-textarea-8 {
  height: calc(1em * 8 * 1.2 + 1em);
}

.h-textarea-9 {
  height: calc(1em * 9 * 1.2 + 1em);
}

.h-textarea-10 {
  height: calc(1em * 10 * 1.2 + 1em);
}

.h-textarea-11 {
  height: calc(1em * 11 * 1.2 + 1em);
}

.h-textarea-12 {
  height: calc(1em * 12 * 1.2 + 1em);
}

.h-textarea-13 {
  height: calc(1em * 13 * 1.2 + 1em);
}

.h-textarea-14 {
  height: calc(1em * 14 * 1.2 + 1em);
}

.h-textarea-15 {
  height: calc(1em * 15 * 1.2 + 1em);
}

.h-textarea-16 {
  height: calc(1em * 16 * 1.2 + 1em);
}

.h-textarea-17 {
  height: calc(1em * 17 * 1.2 + 1em);
}

.h-textarea-18 {
  height: calc(1em * 18 * 1.2 + 1em);
}

.h-textarea-19 {
  height: calc(1em * 19 * 1.2 + 1em);
}

.h-textarea-20 {
  height: calc(1em * 20 * 1.2 + 1em);
}

/*-------------------------------------
// テーブル用ユーティリティ
-------------------------------------*/
/* スマホ時ブロック化テーブル（※2列用） */
@media screen and (max-width: 767px) {
  .sp-table-vertical {
    /* 親子すべてブロック化 */
    /* 調整 */
    /* 余白調整 */
  }
  .sp-table-vertical,
  .sp-table-vertical thead,
  .sp-table-vertical tbody,
  .sp-table-vertical tr,
  .sp-table-vertical th,
  .sp-table-vertical td {
    width: 100% !important;
    display: block;
  }
  .sp-table-vertical th {
    font-size: 1.5rem;
    text-align: left;
    border-bottom: none;
  }
  .sp-table-vertical td {
    padding-left: 12px;
    padding-bottom: 2rem;
  }
  .sp-table-vertical tr:not(:last-child) td {
    border-bottom: none;
  }
}

/* th幅調整器（PC用） */
@media print, (min-width: 768px) {
  .pc-th-adjuster th {
    min-width: 150px;
    width: 25%;
  }
}

/*-------------------------------------
// 汎用パーツ集
-------------------------------------*/
/*
* Noto Sans Japanese (japanese) http://www.google.com/fonts/earlyaccess
 */
@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 100;
  src: url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff2") format("woff2"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.woff") format("woff"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Thin.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 200;
  src: url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2") format("woff2"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff") format("woff"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 300;
  src: url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2") format("woff2"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff") format("woff"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 400;
  src: url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff2") format("woff2"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.woff") format("woff"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Regular.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 500;
  src: url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff2") format("woff2"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.woff") format("woff"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Medium.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 600;
  src: url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff2") format("woff2"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.woff") format("woff"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Bold.otf") format("opentype");
}
@font-face {
  font-family: "Noto Sans Japanese";
  font-style: normal;
  font-weight: 700;
  src: url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff2") format("woff2"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.woff") format("woff"), url("//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Black.otf") format("opentype");
}
/*
================= 目次 =================

// 全体レイアウト
// 基本HTMLタグ初期設定
// ------------------------------
// 見出し
// リスト
// 記事ブロック調整（※直下のみ）
// 入力フォームテーブル
// バッジ
// ボタン
// メッセージボックス
// ボックス
// インラインテキストメニュー
// アイコン（ElegantIcons）
// ------------------------------
// その他 案件固有パーツ
// 旧デザイン移行（→調整）

========================================
*/
/* 基本背景色 */
html {
  background-color: #46A2E0;
}

@media print {
  html {
    background-color: transparent;
  }
}
/*-------------------------------------
// 全体レイアウト
-------------------------------------*/
#header {
  height: 89px;
  width: 100%;
}

#contents {
  width: 1200px;
  margin: 0 auto;
  z-index: 0;
}
#contents::after {
  content: "";
  display: block;
  clear: both;
}
#contents .main {
  width: 100%;
  padding: 10px 30px 40px;
  background-color: #FFF;
  float: right;
}
#contents .side {
  width: 300px;
  float: left;
  position: fixed;
  top: 89px;
  left: 0;
  overflow-y: auto;
  z-index: 20;
}

#footer {
  background-color: #46A2E0;
  color: #FFF;
  padding: 20px 20px 0;
  width: 100%;
}

.sub {
  width: 300px;
}

.panel {
  padding: 0 2rem;
}
@media screen and (max-width: 767px) {
  .panel {
    padding: 0 1rem;
  }
}
@media screen and (max-width: 575px) {
  .panel {
    padding: 0 0.5rem;
  }
}
.panel .panel-inner {
  word-wrap: break-word;
}

@media print, (min-width: 768px) {
  .sub {
    position: fixed;
    width: 100%;
    height: 32px;
    top: 57px;
    left: 0;
    z-index: 10;
  }
  /* ★フッター下余白対策★ */
  #body-wrapper {
    position: relative;
    /* 印刷時 */
  }
  #body-wrapper #contents {
    padding-bottom: 400px;
  }
  #body-wrapper #contents .main {
    min-height: calc(100vh - 89px - 400px);
  }
  .site-warning-on #body-wrapper #contents .main {
    min-height: calc(100vh - 89px - 400px - 30px);
  }
  #mypage #body-wrapper #contents .main {
    min-height: calc(100vh - 89px - 400px - 30px);
  }
  #mypage.site-warning-on #body-wrapper #contents .main {
    min-height: calc(100vh - 89px - 400px - 30px - 30px);
  }
  #body-wrapper #footer {
    position: absolute;
    bottom: 0;
  }
}
@media print, print and (min-width: 768px) {
  #body-wrapper #contents {
    padding-bottom: 0;
  }
  #body-wrapper #contents .main {
    min-height: 0;
  }
  #body-wrapper #footer {
    position: relative;
  }
}
/*-------------------------------------
// 基本HTMLタグ初期設定
-------------------------------------*/
/* リンク */
a {
  font-weight: 400; /* 少し太め */
  color: #2374AB;
  text-decoration: none;
  outline: none;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  /* ホバー効果削除 */
}
a:hover {
  color: #dc4e37;
  text-decoration: underline;
}
a:focus {
  color: #dc4e37;
  text-decoration: underline;
}
a:active {
  color: #cc3b24;
  text-decoration: underline;
}
a img:hover {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
a img:hover:hover {
  opacity: 0.8;
}
a.no-hover {
  -webkit-transition: none;
  transition: none;
}
a.no-hover:hover {
  color: #2374AB;
  text-decoration: none;
}
a.no-hover:focus {
  color: #2374AB;
  text-decoration: none;
}
a.no-hover:active {
  color: #2374AB;
  text-decoration: none;
}
a.no-hover img:hover {
  -webkit-transition: none;
  transition: none;
  opacity: 1;
}

/* テーブル */
table {
  width: 100%;
}
table th, table td {
  padding: 12px 6px 12px 8px;
  border: 1px solid #CCC;
}
table th {
  font-weight: 500;
  background-color: #F6F6F6;
  vertical-align: middle;
  line-height: 1.2;
}
table.no-border th, table.no-border td {
  border: none;
}

/* 入力フォーム共通 */
form, .form {
  /* プレースホルダ */
  /* Webkit */
  /* Firefox 19以降 */
  /* Firefox 18以前 */
  /* Windows IE */
  /* 他 */
}
form input[type=text],
form input[type=email],
form input[type=tel],
form input[type=password],
form textarea, .form input[type=text],
.form input[type=email],
.form input[type=tel],
.form input[type=password],
.form textarea {
  width: 96%;
  font-family: "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
form input[type=text],
form input[type=email],
form input[type=tel],
form input[type=password],
form textarea,
form select, .form input[type=text],
.form input[type=email],
.form input[type=tel],
.form input[type=password],
.form textarea,
.form select {
  background-color: #FCFCFC;
  border: 1px solid #bfbfbf;
  padding: 0.5em 0.2em 0.4em 0.5em;
  margin: 5px;
  font-size: 1em;
}
form input[type=text]:hover,
form input[type=email]:hover,
form input[type=tel]:hover,
form input[type=password]:hover,
form textarea:hover,
form select:hover, .form input[type=text]:hover,
.form input[type=email]:hover,
.form input[type=tel]:hover,
.form input[type=password]:hover,
.form textarea:hover,
.form select:hover {
  background-color: #FFFCEF;
  border: 1px solid #a6a6a6;
}
form input[type=text]:focus,
form input[type=email]:focus,
form input[type=tel]:focus,
form input[type=password]:focus,
form textarea:focus,
form select:focus, .form input[type=text]:focus,
.form input[type=email]:focus,
.form input[type=tel]:focus,
.form input[type=password]:focus,
.form textarea:focus,
.form select:focus {
  background-color: #FFFCEF;
  border: 1px solid #efc200;
  outline: none;
}
form textarea, .form textarea {
  resize: vertical;
}
form select, .form select {
  padding: 0.4em 0.4em 0.3em 0.5em;
}
form input[type=image]:hover, .form input[type=image]:hover {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
form input[type=image]:hover:hover, .form input[type=image]:hover:hover {
  opacity: 0.8;
}
form input[type=submit]:not(.btn),
form input[type=button]:not(.btn), .form input[type=submit]:not(.btn),
.form input[type=button]:not(.btn) {
  line-height: 1.2;
  margin: 5px 10px;
  padding: 6px 5px 4px;
}
form fieldset legend, .form fieldset legend {
  color: #000000;
  font-size: 1.8rem;
  font-weight: 500;
}
form label, .form label {
  display: inline-block;
  font-size: 1em;
  cursor: pointer;
  padding: 0.1em 0.5em 0.1em 0;
  margin-right: 0.5em;
}
form label:hover, form label:focus, .form label:hover, .form label:focus {
  color: #dc4e37;
}
form ::-webkit-input-placeholder, .form ::-webkit-input-placeholder {
  color: #AAA !important;
  font-size: 0.9em;
  line-height: 1.4;
}
form ::-moz-placeholder, .form ::-moz-placeholder {
  color: #666 !important;
  font-size: 0.9em;
}
form input:-ms-input-placeholder, .form input:-ms-input-placeholder {
  color: #AAA !important;
  font-size: 0.9em;
}
form ::-webkit-input-placeholder, .form ::-webkit-input-placeholder {
  color: #666 !important;
  font-size: 0.9em;
}
form ::-moz-placeholder, .form ::-moz-placeholder {
  color: #666 !important;
  font-size: 0.9em;
}
form :-ms-input-placeholder, .form :-ms-input-placeholder {
  color: #666 !important;
  font-size: 0.9em;
}
form ::-ms-input-placeholder, .form ::-ms-input-placeholder {
  color: #666 !important;
  font-size: 0.9em;
}
form ::placeholder, .form ::placeholder {
  color: #666 !important;
  font-size: 0.9em;
}

/* 等幅系フォントタグ */
pre, code, var, samp, kbd {
  font-family: Consolas, "Courier New", Courier, Monaco, "Osaka－等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", monospace;
}

code {
  font-size: 1em;
  margin: 0 2px;
  padding: 2px 4px 1px;
  white-space: pre-wrap;
  color: #D7000F;
  border-radius: 3px;
  background-color: #F9F2F4;
  letter-spacing: 0.3px;
}

/* 強調テキスト */
strong, .strong {
  font-weight: 600;
}

/* 強調マーカー */
mark, .mark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(0%, #FFF560));
  background: linear-gradient(transparent 65%, #FFF560 0%);
  text-decoration: none !important;
  font-weight: 500;
}

/*-------------------------------------
// パンくずリスト
-------------------------------------*/
.breadcrumb {
  position: relative;
  z-index: 1;
  font-size: 0.85em;
}
@media screen and (max-width: 575px) {
  .breadcrumb {
    font-size: 0.8em;
  }
}

/*-------------------------------------
// 見出し
// ・h系タグ単独(クラスなし)だと見出しスタイルは適用されない
// ・h系タグである必要はない
// ・数字に応じたレベルの見出しになる
// ・例：class="h2"
-------------------------------------*/
.h1, .article.article-wysiwyg > h1, .article.cke_editable > h1, .article-wysiwyg.cke_editable > h1, .cke_editable > h1,
.h2,
.article.article-wysiwyg > h2,
.article.cke_editable > h2,
.article-wysiwyg.cke_editable > h2,
.cke_editable > h2,
.h3,
.article.article-wysiwyg > h3,
.article.cke_editable > h3,
.article-wysiwyg.cke_editable > h3,
.cke_editable > h3,
.h4,
.article.article-wysiwyg > h4,
.article.cke_editable > h4,
.article-wysiwyg.cke_editable > h4,
.cke_editable > h4,
.h5,
.article.article-wysiwyg > h5,
.article.cke_editable > h5,
.article-wysiwyg.cke_editable > h5,
.cke_editable > h5,
.h6,
.article.article-wysiwyg > h6,
.article.cke_editable > h6,
.article-wysiwyg.cke_editable > h6,
.cke_editable > h6 {
  position: relative;
  line-height: 1.2;
  margin: 2.1em 0 1.2em;
}

.h1, .article.article-wysiwyg > h1, .article.cke_editable > h1, .article-wysiwyg.cke_editable > h1, .cke_editable > h1,
.h2,
.article.article-wysiwyg > h2,
.article.cke_editable > h2,
.article-wysiwyg.cke_editable > h2,
.cke_editable > h2,
.h3,
.article.article-wysiwyg > h3,
.article.cke_editable > h3,
.article-wysiwyg.cke_editable > h3,
.cke_editable > h3,
.h4,
.article.article-wysiwyg > h4,
.article.cke_editable > h4,
.article-wysiwyg.cke_editable > h4,
.cke_editable > h4 {
  margin: 2em 0 1em;
}

.h5, .article.article-wysiwyg > h5, .article.cke_editable > h5, .article-wysiwyg.cke_editable > h5, .cke_editable > h5,
.h6,
.article.article-wysiwyg > h6,
.article.cke_editable > h6,
.article-wysiwyg.cke_editable > h6,
.cke_editable > h6 {
  margin: 1.5em 0 0.5em;
}

/* フォントサイズまとめ */
.h1, .article.article-wysiwyg > h1, .article.cke_editable > h1, .article-wysiwyg.cke_editable > h1, .cke_editable > h1 {
  font-size: 1.5em;
}

.h2, .article.article-wysiwyg > h2, .article.cke_editable > h2, .article-wysiwyg.cke_editable > h2, .cke_editable > h2 {
  font-size: 2.6rem;
}

.h3, .article.article-wysiwyg > h3, .article.cke_editable > h3, .article-wysiwyg.cke_editable > h3, .cke_editable > h3 {
  font-size: 2.1rem;
}

.h4, .article.article-wysiwyg > h4, .article.cke_editable > h4, .article-wysiwyg.cke_editable > h4, .cke_editable > h4 {
  font-size: 1.8rem;
}

.h5, .article.article-wysiwyg > h5, .article.cke_editable > h5, .article-wysiwyg.cke_editable > h5, .cke_editable > h5 {
  font-size: 1.8rem;
}

.h6, .article.article-wysiwyg > h6, .article.cke_editable > h6, .article-wysiwyg.cke_editable > h6, .cke_editable > h6 {
  font-size: 1.6rem;
}

.h1, .article.article-wysiwyg > h1, .article.cke_editable > h1, .article-wysiwyg.cke_editable > h1, .cke_editable > h1 {
  font-weight: 500;
  margin: 0;
}

.h2, .article.article-wysiwyg > h2, .article.cke_editable > h2, .article-wysiwyg.cke_editable > h2, .cke_editable > h2 {
  font-weight: 500;
  color: #FFF;
  background-color: #46A2E0;
  padding: 0.3em 0.5em 0.3em;
  line-height: 1.05;
}

.h3, .article.article-wysiwyg > h3, .article.cke_editable > h3, .article-wysiwyg.cke_editable > h3, .cke_editable > h3 {
  font-weight: 600;
  color: #238ad0;
  margin: 2.3em 0 1.2em;
  padding: 0.6em 0.8em 0.4em;
  border-bottom: 2px solid #46A2E0;
  position: relative;
  padding-left: 20px !important;
  /* Modifier（線なし） */
  /* Modifier（三角形なし） */
  /* Modifier（色違い） */
}
.h3::after, .article.article-wysiwyg > h3::after, .article.cke_editable > h3::after, .article-wysiwyg.cke_editable > h3::after, .cke_editable > h3::after {
  content: "";
  width: 0;
  height: 0;
  color: #46A2E0;
  text-decoration: none;
  border-style: solid;
  border-width: 10px 0 10px 15px;
  border-color: transparent transparent transparent #46A2E0;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -8px;
}
.h3--no-border {
  border: none;
  padding-bottom: 0;
}
.h3--no-border::after {
  margin-top: -2px;
}
.h3--no-arrow, .article.article-wysiwyg > h3, .article.cke_editable > h3, .article-wysiwyg.cke_editable > h3, .cke_editable > h3 {
  padding-left: 5px !important;
}
.h3--no-arrow::after, .article.article-wysiwyg > h3::after, .article.cke_editable > h3::after, .article-wysiwyg.cke_editable > h3::after, .cke_editable > h3::after {
  content: none;
}
.h3--color-red {
  color: #D7000F;
  border-color: #D7000F;
}
.h3--color-red::after {
  border-color: transparent transparent transparent #D7000F;
}

.h4, .article.article-wysiwyg > h4, .article.cke_editable > h4, .article-wysiwyg.cke_editable > h4, .cke_editable > h4 {
  font-weight: 500;
  color: #111214;
  padding: 0.3em 0.5em;
  margin-left: 3px;
  border-left: 7px solid #3097dc;
  /* Modifier（線なし） */
}
.h4--no-border {
  border: none;
  padding-left: 0;
  font-weight: 600;
  color: #207fbf;
}

.h5, .article.article-wysiwyg > h5, .article.cke_editable > h5, .article-wysiwyg.cke_editable > h5, .cke_editable > h5 {
  font-weight: 500;
  color: #060606;
}

.h6, .article.article-wysiwyg > h6, .article.cke_editable > h6, .article-wysiwyg.cke_editable > h6, .cke_editable > h6 {
  font-weight: 500;
}

.h1, .article.article-wysiwyg > h1, .article.cke_editable > h1, .article-wysiwyg.cke_editable > h1, .cke_editable > h1,
.h2,
.article.article-wysiwyg > h2,
.article.cke_editable > h2,
.article-wysiwyg.cke_editable > h2,
.cke_editable > h2,
.h3,
.article.article-wysiwyg > h3,
.article.cke_editable > h3,
.article-wysiwyg.cke_editable > h3,
.cke_editable > h3,
.h4,
.article.article-wysiwyg > h4,
.article.cke_editable > h4,
.article-wysiwyg.cke_editable > h4,
.cke_editable > h4,
.h5,
.article.article-wysiwyg > h5,
.article.cke_editable > h5,
.article-wysiwyg.cke_editable > h5,
.cke_editable > h5,
.h6,
.article.article-wysiwyg > h6,
.article.cke_editable > h6,
.article-wysiwyg.cke_editable > h6,
.cke_editable > h6 {
  clear: both;
}

/* WYSIWYGエディタ用見出し */
/* ■管理画面 CKEditor編集エリア（.cke_editable）も同様 */
.cke_editable > h1, .cke_editable .h1, .cke_editable .article.article-wysiwyg > h1, .article-wysiwyg.cke_editable > h1, .article.cke_editable > h1, .cke_editable > h1 {
  margin-top: 1.5em;
}
.cke_editable > h2, .cke_editable .h2, .cke_editable .article.article-wysiwyg > h2, .article-wysiwyg.cke_editable > h2, .article.cke_editable > h2, .cke_editable > h2 {
  margin-top: 1.5em;
}
.cke_editable > h3, .cke_editable .h3, .cke_editable .article.article-wysiwyg > h3, .article-wysiwyg.cke_editable > h3, .article.cke_editable > h3, .cke_editable > h3 {
  margin-top: 1.2em;
}
.cke_editable > h4, .cke_editable .h4, .cke_editable .article.article-wysiwyg > h4, .article-wysiwyg.cke_editable > h4, .article.cke_editable > h4, .cke_editable > h4 {
  margin: 1em 0 0.8em;
}
.cke_editable > h5, .cke_editable .h5, .cke_editable .article.article-wysiwyg > h5, .article-wysiwyg.cke_editable > h5, .article.cke_editable > h5, .cke_editable > h5 {
  margin: 1em 0 0.8em;
}
.cke_editable > h6, .cke_editable .h6, .cke_editable .article.article-wysiwyg > h6, .article-wysiwyg.cke_editable > h6, .article.cke_editable > h6, .cke_editable > h6 {
  margin: 1em 0 0.8em;
}
.cke_editable p {
  margin-bottom: 0.8em;
}

/* 見出しの中のボタンやリンク */
.item-in-heading {
  position: absolute;
  right: 0;
  /* 見出し別 */
}
.item-in-heading__link {
  color: #46A2E0;
  padding-right: 30px;
  position: relative;
}
.item-in-heading__link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: unset;
  right: 15px;
  width: 12px;
  height: 12px;
  margin-top: -5px;
  border-top: 2px solid #46A2E0;
  border-right: 2px solid #46A2E0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.item-in-heading__link:hover {
  text-decoration: none;
}
.h2 .item-in-heading__link, .article.article-wysiwyg > h2 .item-in-heading__link, .cke_editable > h2 .item-in-heading__link {
  color: #FFF;
  font-size: 0.7em;
  font-weight: 400;
  padding-right: 30px;
  position: relative;
}
.h2 .item-in-heading__link::before, .article.article-wysiwyg > h2 .item-in-heading__link::before, .cke_editable > h2 .item-in-heading__link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: unset;
  right: 15px;
  width: 11px;
  height: 11px;
  margin-top: -4.5px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.h2 .item-in-heading__link:hover, .article.article-wysiwyg > h2 .item-in-heading__link:hover, .cke_editable > h2 .item-in-heading__link:hover {
  color: #1c6da4 !important;
}
@media screen and (max-width: 767px) {
  .h2 .item-in-heading__link, .article.article-wysiwyg > h2 .item-in-heading__link, .cke_editable > h2 .item-in-heading__link {
    bottom: -2em;
    right: -0.5em;
    color: #46A2E0;
    font-weight: 500;
  }
  .h2 .item-in-heading__link::before, .article.article-wysiwyg > h2 .item-in-heading__link::before, .cke_editable > h2 .item-in-heading__link::before {
    border-color: #46A2E0;
  }
}
.h3 .item-in-heading__link, .article.article-wysiwyg > h3 .item-in-heading__link, .cke_editable > h3 .item-in-heading__link {
  font-size: 0.8em;
  font-weight: 600;
  padding-right: 30px;
  position: relative;
}
.h3 .item-in-heading__link::before, .article.article-wysiwyg > h3 .item-in-heading__link::before, .cke_editable > h3 .item-in-heading__link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: unset;
  right: 15px;
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-top: 2px solid #46A2E0;
  border-right: 2px solid #46A2E0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .h3 .item-in-heading__link, .article.article-wysiwyg > h3 .item-in-heading__link, .cke_editable > h3 .item-in-heading__link {
    bottom: -2.3em;
    right: -0.5em;
  }
}
.h4 .item-in-heading__link, .article.article-wysiwyg > h4 .item-in-heading__link, .cke_editable > h4 .item-in-heading__link {
  font-size: 0.8em;
  font-weight: 600;
  padding-right: 30px;
  position: relative;
}
.h4 .item-in-heading__link::before, .article.article-wysiwyg > h4 .item-in-heading__link::before, .cke_editable > h4 .item-in-heading__link::before {
  content: "";
  position: absolute;
  top: 50%;
  left: unset;
  right: 15px;
  width: 10px;
  height: 10px;
  margin-top: -4px;
  border-top: 2px solid #46A2E0;
  border-right: 2px solid #46A2E0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .h4 .item-in-heading__link, .article.article-wysiwyg > h4 .item-in-heading__link, .cke_editable > h4 .item-in-heading__link {
    bottom: -1.7em;
    right: -0.5em;
  }
}

/* 業種アイコン */
[class^=icon-gyosyu-], [class*=" icon-gyosyu-"] {
  font-size: 2em;
  margin-right: 5px;
  position: relative;
  top: 0;
  left: 0;
}

/* 見出し内業種アイコン */
/* [MEMO:子要素に <i class="heading-gyosyu-*">を配置のこと] */
.heading-gyosyu {
  position: relative;
  margin-left: 2.6em;
  padding-left: 0.5em !important;
  /* 見出しレベル別 */
}
.heading-gyosyu [class^=icon-gyosyu-], .heading-gyosyu [class*=" icon-gyosyu-"] {
  position: absolute;
  top: 50%;
  left: -1.3em;
  margin-top: -0.5em;
  font-size: 2.1em;
}
.heading-gyosyu.h2, .article.article-wysiwyg > h2.heading-gyosyu, .cke_editable > h2.heading-gyosyu {
  margin-left: 2.5em;
}
.heading-gyosyu.h2 [class^=icon-gyosyu-], .article.article-wysiwyg > h2.heading-gyosyu [class^=icon-gyosyu-], .cke_editable > h2.heading-gyosyu [class^=icon-gyosyu-], .heading-gyosyu.h2 [class*=" icon-gyosyu-"], .article.article-wysiwyg > h2.heading-gyosyu [class*=" icon-gyosyu-"], .cke_editable > h2.heading-gyosyu [class*=" icon-gyosyu-"] {
  left: -1.3em;
}
.heading-gyosyu.h3::after, .article.article-wysiwyg > h3.heading-gyosyu::after, .cke_editable > h3.heading-gyosyu::after {
  content: none;
}
.heading-gyosyu.h3 [class^=icon-gyosyu-], .article.article-wysiwyg > h3.heading-gyosyu [class^=icon-gyosyu-], .cke_editable > h3.heading-gyosyu [class^=icon-gyosyu-], .heading-gyosyu.h3 [class*=" icon-gyosyu-"], .article.article-wysiwyg > h3.heading-gyosyu [class*=" icon-gyosyu-"], .cke_editable > h3.heading-gyosyu [class*=" icon-gyosyu-"] {
  left: -1.3em;
  margin-top: -0.3em;
}
.heading-gyosyu.h4, .article.article-wysiwyg > h4.heading-gyosyu, .cke_editable > h4.heading-gyosyu {
  margin-left: 2.1em;
  border: none;
}
.heading-gyosyu.h4 [class^=icon-gyosyu-], .article.article-wysiwyg > h4.heading-gyosyu [class^=icon-gyosyu-], .cke_editable > h4.heading-gyosyu [class^=icon-gyosyu-], .heading-gyosyu.h4 [class*=" icon-gyosyu-"], .article.article-wysiwyg > h4.heading-gyosyu [class*=" icon-gyosyu-"], .cke_editable > h4.heading-gyosyu [class*=" icon-gyosyu-"] {
  left: -1.1em;
  margin-top: -0.5em;
  font-size: 1.8em;
}
.heading-gyosyu.h4 [class^=icon-gyosyu-]::before, .article.article-wysiwyg > h4.heading-gyosyu [class^=icon-gyosyu-]::before, .cke_editable > h4.heading-gyosyu [class^=icon-gyosyu-]::before, .heading-gyosyu.h4 [class*=" icon-gyosyu-"]::before, .article.article-wysiwyg > h4.heading-gyosyu [class*=" icon-gyosyu-"]::before, .cke_editable > h4.heading-gyosyu [class*=" icon-gyosyu-"]::before {
  color: #333;
}

/*-------------------------------------
// リスト
//                          ul, ol, dl
-------------------------------------*/
/* リスト */
/* [MEMO:親要素にクラスが付いている場合のみレイアウトを適用する] */
ul.list-style-normal > li, .article.article-wysiwyg ul > li, .article-wysiwyg.cke_editable ul > li, .article.cke_editable ul > li, .cke_editable ul > li, ul.list-style-normal > dd, .article.article-wysiwyg ul > dd, .article-wysiwyg.cke_editable ul > dd, .article.cke_editable ul > dd, .cke_editable ul > dd, ol.list-style-normal > li, .article.article-wysiwyg ol > li, .article-wysiwyg.cke_editable ol > li, .article.cke_editable ol > li, .cke_editable ol > li, ol.list-style-normal > dd, .article.article-wysiwyg ol > dd, .article-wysiwyg.cke_editable ol > dd, .article.cke_editable ol > dd, .cke_editable ol > dd, dl.list-style-normal > li, .article.article-wysiwyg dl > li, .article-wysiwyg.cke_editable dl > li, .article.cke_editable dl > li, .cke_editable dl > li, dl.list-style-normal > dd, .article.article-wysiwyg dl > dd, .article-wysiwyg.cke_editable dl > dd, .article.cke_editable dl > dd, .cke_editable dl > dd {
  line-height: 1.3;
}

ul.list-style-normal, .article.article-wysiwyg ul, .article-wysiwyg.cke_editable ul, .article.cke_editable ul, .cke_editable ul {
  margin: 0.5em 0 0.5em 2em;
}
ul.list-style-normal ol, .article.article-wysiwyg ul ol, .article-wysiwyg.cke_editable ul ol, .article.cke_editable ul ol, .cke_editable ul ol, ul.list-style-normal ul, .article.article-wysiwyg ul ul, .article-wysiwyg.cke_editable ul ul, .article.cke_editable ul ul, .cke_editable ul ul {
  margin: 0.5em 0 0.5em 1em;
}
ul.list-style-normal li, .article.article-wysiwyg ul li, .article-wysiwyg.cke_editable ul li, .article.cke_editable ul li, .cke_editable ul li {
  margin: 0 0 0.3em;
}
ul.list-style-normal > li, .article.article-wysiwyg ul > li, .article-wysiwyg.cke_editable ul > li, .article.cke_editable ul > li, .cke_editable ul > li {
  list-style: disc;
}

ol.list-style-normal, .article.article-wysiwyg ol, .article-wysiwyg.cke_editable ol, .article.cke_editable ol, .cke_editable ol {
  margin: 0.5em 0 0.5em 2.5em;
}
ol.list-style-normal ol, .article.article-wysiwyg ol ol, .article-wysiwyg.cke_editable ol ol, .article.cke_editable ol ol, .cke_editable ol ol, ol.list-style-normal ul, .article.article-wysiwyg ol ul, .article-wysiwyg.cke_editable ol ul, .article.cke_editable ol ul, .cke_editable ol ul {
  margin: 0.5em 0 0.5em 1em;
}
ol.list-style-normal li, .article.article-wysiwyg ol li, .article-wysiwyg.cke_editable ol li, .article.cke_editable ol li, .cke_editable ol li {
  margin: 0 0 0.3em;
  padding-left: 0.5em;
}
ol.list-style-normal > li, .article.article-wysiwyg ol > li, .article-wysiwyg.cke_editable ol > li, .article.cke_editable ol > li, .cke_editable ol > li {
  list-style: decimal;
}

dl.list-style-normal, .article.article-wysiwyg dl, .article-wysiwyg.cke_editable dl, .article.cke_editable dl, .cke_editable dl {
  margin: 0.5em 0 0.5em 1em;
}
dl.list-style-normal dt, .article.article-wysiwyg dl dt, .article-wysiwyg.cke_editable dl dt, .article.cke_editable dl dt, .cke_editable dl dt {
  font-weight: 500;
}
dl.list-style-normal dd, .article.article-wysiwyg dl dd, .article-wysiwyg.cke_editable dl dd, .article.cke_editable dl dd, .cke_editable dl dd {
  margin: 0 0 0.5em 1em;
}

/*-------------------------------------
// 記事ブロック調整（※直下のみ）
//                            .article
// ※主に見出し(.h*)系のインデントを調整
// ※.articleの直下にのみ適用
-------------------------------------*/
.article, .cke_editable {
  /*-------------------------------------
  // WYSIWYGブロック調整
  //            .article.article-wysiwyg
  // ※WYSIWYGエディタで生成されるHTMLやCSSを調整
  -------------------------------------*/
}
@media print, (min-width: 768px) {
  .article, .cke_editable {
    padding: 1.5rem 1.5rem 1.5rem 3rem;
  }
  .article > .h1, .cke_editable > .h1, .article.article-wysiwyg > h1, .article-wysiwyg.cke_editable > h1, .article.cke_editable > h1, .cke_editable > h1 {
    margin-left: -2.5rem;
  }
  .article > .h2, .cke_editable > .h2, .article.article-wysiwyg > h2, .article-wysiwyg.cke_editable > h2, .article.cke_editable > h2, .cke_editable > h2 {
    margin-left: -2.5rem;
  }
  .article > .h3, .cke_editable > .h3, .article.article-wysiwyg > h3, .article-wysiwyg.cke_editable > h3, .article.cke_editable > h3, .cke_editable > h3 {
    margin-left: -2rem;
  }
  .article > .h4, .cke_editable > .h4, .article.article-wysiwyg > h4, .article-wysiwyg.cke_editable > h4, .article.cke_editable > h4, .cke_editable > h4 {
    margin-left: -1.5rem;
  }
  .article > .h5, .cke_editable > .h5, .article.article-wysiwyg > h5, .article-wysiwyg.cke_editable > h5, .article.cke_editable > h5, .cke_editable > h5 {
    margin-left: -1rem;
  }
  .article > .h6, .cke_editable > .h6, .article.article-wysiwyg > h6, .article-wysiwyg.cke_editable > h6, .article.cke_editable > h6, .cke_editable > h6 {
    margin-left: -0.8rem;
  }
}
@media screen and (max-width: 767px) {
  .article, .cke_editable {
    padding: 0.5rem 0.5rem 0.5rem 1rem;
  }
  .article > .h1, .cke_editable > .h1, .article.article-wysiwyg > h1, .article-wysiwyg.cke_editable > h1, .article.cke_editable > h1, .cke_editable > h1 {
    margin-left: -1rem;
  }
  .article > .h2, .cke_editable > .h2, .article.article-wysiwyg > h2, .article-wysiwyg.cke_editable > h2, .article.cke_editable > h2, .cke_editable > h2 {
    margin-left: -1rem;
  }
  .article > .h3, .cke_editable > .h3, .article.article-wysiwyg > h3, .article-wysiwyg.cke_editable > h3, .article.cke_editable > h3, .cke_editable > h3 {
    margin-left: -1rem;
  }
  .article > .h4, .cke_editable > .h4, .article.article-wysiwyg > h4, .article-wysiwyg.cke_editable > h4, .article.cke_editable > h4, .cke_editable > h4 {
    margin-left: -0.5rem;
  }
  .article > .h5, .cke_editable > .h5, .article.article-wysiwyg > h5, .article-wysiwyg.cke_editable > h5, .article.cke_editable > h5, .cke_editable > h5 {
    margin-left: -0.5rem;
  }
  .article > .h6, .cke_editable > .h6, .article.article-wysiwyg > h6, .article-wysiwyg.cke_editable > h6, .article.cke_editable > h6, .cke_editable > h6 {
    margin-left: 0rem;
  }
}
.article.article-wysiwyg img, .cke_editable img {
  margin: 2rem 4%;
  max-width: 92%;
  height: auto !important;
}
@media screen and (max-width: 767px) {
  .article.article-wysiwyg img, .cke_editable img {
    float: none !important;
    display: block !important;
    margin: 3rem auto;
  }
}
@media print, (min-width: 768px) {
  .article.article-wysiwyg img, .cke_editable img {
    margin: 1.5rem 3% 2.5rem;
  }
}
.article.article-wysiwyg pre, .cke_editable pre {
  white-space: break-spaces;
}

/*-------------------------------------
// 入力フォームテーブル
//                    table.form-table
-------------------------------------*/
.form-table {
  width: 96%;
  margin: 0 auto;
  border: 1px solid #E0E0E0;
  border-left: 5px solid #46A2E0;
  font-weight: 400;
  /* 入力制限 例：[半角6桁]など */
  /* 注釈 */
  /* エラーメッセージ */
  /* エラーハイライト */
  /* チェックボックス＋ラジオボタン -> ブロックごとハイライト */
  /* checkbox+radio 選択肢全体ボックス */
  /* 必須アイコン と 任意アイコン */
  /* 必須 */
  /* 任意 */
  /* IMEモード */
  /* 制御なし */
  /* ON */
  /* OFF */
  /* 無効 */
}
.form-table th,
.form-table td {
  padding: 12px 20px 11px 20px;
  border: none;
  border-top: 1px solid #E0E0E0;
}
.form-table tr:first-child th,
.form-table tr:first-child td {
  border-top: none;
}
.form-table th {
  min-width: 200px;
  width: 30%;
  text-align: left;
  background-color: #F6F6F6;
  font-size: 1.4rem;
}
.form-table td {
  text-align: left;
}
.form-table p {
  margin-bottom: 0; /* いったんクリア */
}
.form-table .input-caption {
  font-size: 0.9em;
  padding-left: 5px;
  color: #666;
}
.form-table .input-note {
  font-size: 0.9em;
  padding-left: 5px;
}
.form-table .input-note:first-of-type {
  margin-top: 0.5em;
}
.form-table .invalid-feedback {
  font-size: 0.9em;
  font-weight: 500;
  padding-left: 5px;
  margin-top: 0.5em;
  color: #DC3545;
}
.form-table .is-invalid input[type=text],
.form-table .is-invalid input[type=password],
.form-table .is-invalid input[type=tel],
.form-table .is-invalid input[type=email],
.form-table .is-invalid textarea,
.form-table .is-invalid select,
.form-table input[type=text].is-invalid,
.form-table input[type=password].is-invalid,
.form-table input[type=tel].is-invalid,
.form-table input[type=email].is-invalid,
.form-table textarea.is-invalid,
.form-table select.is-invalid {
  border: 1px solid #FF6060;
}
.form-table .is-invalid input[type=text]:not(:hover):not(:focus),
.form-table .is-invalid input[type=password]:not(:hover):not(:focus),
.form-table .is-invalid input[type=tel]:not(:hover):not(:focus),
.form-table .is-invalid input[type=email]:not(:hover):not(:focus),
.form-table .is-invalid textarea:not(:hover):not(:focus),
.form-table .is-invalid select:not(:hover):not(:focus),
.form-table input[type=text].is-invalid:not(:hover):not(:focus),
.form-table input[type=password].is-invalid:not(:hover):not(:focus),
.form-table input[type=tel].is-invalid:not(:hover):not(:focus),
.form-table input[type=email].is-invalid:not(:hover):not(:focus),
.form-table textarea.is-invalid:not(:hover):not(:focus),
.form-table select.is-invalid:not(:hover):not(:focus) {
  background-color: #FFF3F3;
}
.form-table .box-check-radio.is-invalid {
  background-color: #ffdfdf;
}
.form-table .box-check-radio {
  padding: 0.6em 0.8em 0.5em 0.6em;
  display: inline-block;
  position: relative;
}
.form-table .form-check-input {
  position: static;
  margin: -2px 4px 0px 6px;
}
.form-table .required th .in-th,
.form-table .optional th .in-th {
  padding-right: 50px !important;
  position: relative;
  z-index: 1;
}
.form-table .required th .in-th::before,
.form-table .optional th .in-th::before {
  position: absolute;
  top: 50%;
  right: 4px;
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  padding: 3px 4px 3px;
  border-radius: 3px;
  margin-top: -10px;
}
.form-table .required th .in-th::before {
  content: "必須";
  background-color: #DC3545;
  color: #FFF;
  border: 1px solid #DC3545;
}
.form-table .optional th .in-th::before {
  content: "任意";
  background-color: #666;
  color: #FFF;
  border: 1px solid #666;
}
.form-table .ime-auto {
  ime-mode: auto;
}
.form-table .ime-active {
  ime-mode: active;
}
.form-table .ime-inactive {
  ime-mode: inactive;
}
.form-table .ime-disabled {
  ime-mode: disabled;
}

/*-------------------------------------
// バッジ（本文内使用）
-------------------------------------*/
.badge {
  background-color: #999;
  color: #FFF;
  border: 1px solid #999;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1;
  text-align: center;
  padding: 3px 4px 3px;
  margin: 0 3px;
  border-radius: 3px;
  vertical-align: middle;
  position: relative;
  top: -1px;
  /* 必須バッジ */
  /* 任意バッジ */
}
.badge.badge-required {
  background-color: #DC3545;
  color: #FFF;
  border: 1px solid #DC3545;
}
.badge.badge-optional {
  background-color: #666;
  color: #FFF;
  border: 1px solid #666;
}

/*-------------------------------------
// ボタン
//   [使用例]基本btnは必ず指定
//    class="btn"
//    class="btn btn-blue"
-------------------------------------*/
/* ボタン共通 */
.btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #444;
  cursor: pointer;
  font-family: Arial, "ＭＳ Ｐゴシック", Osaka, "ヒラギノ角ゴ Pro W3", sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  padding: 6px 18px 5px;
  text-shadow: 0 1px rgba(255, 255, 255, 0.8);
  background-color: #F6F6F6;
  border: 1px solid #cbcbcb;
  background-repeat: no-repeat;
  display: inline-block;
  text-align: center;
  line-height: 24px; /* ★縦位置が1pxずれるのを防ぐ。ずれたらこの値を1pxずらしてみる。単位無しはダメ。 */
  margin: 2px 4px;
  /* トランジション効果 */
  -webkit-transition: color 100ms ease-in-out 0s, background-color 100ms ease-in-out 0s, border-color 100ms ease-in-out 0s, z-index 100ms ease-in-out 0s, -webkit-box-shadow 100ms ease-in-out 0s;
  transition: color 100ms ease-in-out 0s, background-color 100ms ease-in-out 0s, border-color 100ms ease-in-out 0s, z-index 100ms ease-in-out 0s, -webkit-box-shadow 100ms ease-in-out 0s;
  transition: color 100ms ease-in-out 0s, background-color 100ms ease-in-out 0s, border-color 100ms ease-in-out 0s, box-shadow 100ms ease-in-out 0s, z-index 100ms ease-in-out 0s;
  transition: color 100ms ease-in-out 0s, background-color 100ms ease-in-out 0s, border-color 100ms ease-in-out 0s, box-shadow 100ms ease-in-out 0s, z-index 100ms ease-in-out 0s, -webkit-box-shadow 100ms ease-in-out 0s;
  /* 疑似要素 */
}
.btn:hover, .btn:focus {
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  text-decoration: none;
  background-color: #F0F0F0;
  color: #444;
  border-color: #B9B9B9;
}
.btn:active {
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: #333;
}
.btn.disabled, .btn[disabled], .btn:disabled {
  -webkit-box-shadow: none;
          box-shadow: none;
  background: none;
  text-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.7;
}

/* ボタンカラーバリエーション */
/* (基本の.btnクラスと一緒に使用) */
.btn {
  /* 白抜きボタン */
}
.btn.btn-blue, .btn.btn-bookmark {
  color: #fff;
  background-color: #0071C0;
  border-color: #006bb6;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-blue:hover, .btn.btn-bookmark:hover, .btn.btn-blue:focus, .btn.btn-bookmark:focus {
  background-color: #0080da;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.btn.btn-blue:active, .btn.btn-bookmark:active {
  color: #fff;
  background-color: #005997;
  border-color: #004d83;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.btn.btn-green {
  color: #fff;
  background-color: #04873D;
  border-color: #047d39;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-green:hover, .btn.btn-green:focus {
  background-color: #05a048;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.btn.btn-green:active {
  color: #fff;
  background-color: #035f2b;
  border-color: #024c22;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.btn.btn-red, .btn.btn-entry {
  color: #fff;
  background-color: #B80016;
  border-color: #ae0015;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-red:hover, .btn.btn-entry:hover, .btn.btn-red:focus, .btn.btn-entry:focus {
  background-color: #d20019;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.btn.btn-red:active, .btn.btn-entry:active {
  color: #fff;
  background-color: #8f0011;
  border-color: #7b000f;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.btn.btn-yellow {
  color: #fff;
  background-color: #F29A02;
  border-color: #e89402;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-yellow:hover, .btn.btn-yellow:focus {
  background-color: #fda610;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.btn.btn-yellow:active {
  color: #fff;
  background-color: #ca8002;
  border-color: #b57301;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.btn.btn-brown {
  color: #fff;
  background-color: #94766B;
  border-color: #8e7167;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-brown:hover, .btn.btn-brown:focus {
  background-color: #9f847a;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.btn.btn-brown:active {
  color: #fff;
  background-color: #7c635a;
  border-color: #705a51;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.btn.btn-black {
  color: #fff;
  background-color: #22333B;
  border-color: #1e2d35;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-black:hover, .btn.btn-black:focus {
  background-color: #2b414b;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.btn.btn-black:active {
  color: #fff;
  background-color: #131d21;
  border-color: #0c1114;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.btn.btn-gray {
  color: #fff;
  background-color: #999;
  border-color: #949494;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-gray:hover, .btn.btn-gray:focus {
  background-color: #a6a6a6;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.btn.btn-gray:active {
  color: #fff;
  background-color: #858585;
  border-color: #7a7a7a;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.btn.btn-nega {
  color: #fff;
  background-color: #666;
  border-color: #616161;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-nega:hover, .btn.btn-nega:focus {
  background-color: #737373;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
.btn.btn-nega:active {
  color: #fff;
  background-color: #525252;
  border-color: #474747;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}
.btn.btn-alt-blue, .btn.btn-to-parent {
  color: #0062a7;
  background-color: #FFF;
  border-color: #0071C0;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-alt-blue:hover, .btn.btn-to-parent:hover {
  color: #FFF;
  background-color: #0071C0;
  border-color: #0068b1;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.btn.btn-alt-green {
  color: #036e32;
  background-color: #FFF;
  border-color: #04873D;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-alt-green:hover {
  color: #FFF;
  background-color: #04873D;
  border-color: #047836;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.btn.btn-alt-red {
  color: #9f0013;
  background-color: #FFF;
  border-color: #B80016;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-alt-red:hover {
  color: #FFF;
  background-color: #B80016;
  border-color: #a90014;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.btn.btn-alt-yellow {
  color: #d98a02;
  background-color: #FFF;
  border-color: #F29A02;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-alt-yellow:hover {
  color: #FFF;
  background-color: #F29A02;
  border-color: #e39002;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.btn.btn-alt-brown {
  color: #856a60;
  background-color: #FFF;
  border-color: #94766B;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-alt-brown:hover {
  color: #FFF;
  background-color: #94766B;
  border-color: #8b6f65;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.btn.btn-alt-black {
  color: #19252b;
  background-color: #FFF;
  border-color: #22333B;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-alt-black:hover {
  color: #FFF;
  background-color: #22333B;
  border-color: #1c2b31;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.btn.btn-alt-gray {
  color: #8c8c8c;
  background-color: #FFF;
  border-color: #999;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-alt-gray:hover {
  color: #FFF;
  background-color: #999;
  border-color: #919191;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.btn.btn-alt-nega {
  color: #595959;
  background-color: #FFF;
  border-color: #666;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn.btn-alt-nega:hover {
  color: #FFF;
  background-color: #666;
  border-color: #5e5e5e;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
          box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

/* アイコン付ボタン */
/* (基本の.btnクラスと一緒に使用) */
.btn {
  /* ローディング中 */
  /* 正常完了 */
}
.btn.btn-loading {
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.7;
}
.btn.btn-loading::before {
  font-family: "ElegantIcons";
  content: "\e02d" !important;
  margin-right: 0.8em;
  font-weight: normal;
  font-size: 1.2em;
  line-height: 1;
  position: relative;
  top: 1px;
  display: inline-block;
  -webkit-animation: 1s linear infinite rotate_right;
          animation: 1s linear infinite rotate_right;
}
.btn.btn-completed::before {
  font-family: "ElegantIcons";
  content: "Z" !important;
  margin-right: 0.8em;
  font-weight: normal;
  font-size: 1.2em;
  line-height: 1;
  position: relative;
  top: 2px;
}

/* ボタン大きさバリエーション     */
/* (基本の.btnクラスと一緒に使用) */
.btn {
  /* 最小ボタン */
  /* 小さ目ボタン */
  /* 薄目ボタン */
  /* 中くらいボタン */
  /* 大き目ボタン */
  /* 特大ボタン */
  /* 極大ボタン */
  /* 最大幅（94%）ボタン */
}
.btn.btn-xsmall {
  font-size: 1.2rem;
  padding: 2px 6px 2px;
  font-weight: normal;
  line-height: 14px;
}
.btn.btn-small {
  font-size: 1.2rem;
  padding-right: 9px;
  padding-left: 9px;
  line-height: 14px;
}
.btn.btn-thin {
  padding-right: 16px;
  padding-left: 16px;
  line-height: 16px;
}
.btn.btn-mid {
  padding: 7px 30px 6px;
  font-size: 1.5rem;
  min-width: 110px;
}
@media screen and (max-width: 575px) {
  .btn.btn-mid {
    padding-left: 20px;
    padding-right: 20px;
    min-width: 100px;
  }
}
@media screen and (max-width: 428px) {
  .btn.btn-mid {
    padding-left: 16px;
    padding-right: 16px;
    min-width: 60px;
  }
}
.btn.btn-big {
  padding: 10px 40px 8px;
  font-size: 1.6rem;
  min-width: 130px;
}
@media screen and (max-width: 575px) {
  .btn.btn-big {
    padding-left: 30px;
    padding-right: 30px;
    min-width: 100px;
  }
}
@media screen and (max-width: 428px) {
  .btn.btn-big {
    padding-left: 20px;
    padding-right: 20px;
    min-width: 80px;
  }
}
.btn.btn-xbig, .btn.btn-to-parent {
  font-size: 1.8rem;
  padding: 12px 80px 10px;
  min-width: 150px;
}
@media screen and (max-width: 575px) {
  .btn.btn-xbig, .btn.btn-to-parent {
    padding-left: 40px;
    padding-right: 40px;
    min-width: 120px;
  }
}
@media screen and (max-width: 428px) {
  .btn.btn-xbig, .btn.btn-to-parent {
    padding-left: 30px;
    padding-right: 30px;
    min-width: 100px;
  }
}
@media screen and (max-width: 375px) {
  .btn.btn-xbig, .btn.btn-to-parent {
    padding-left: 20px;
    padding-right: 20px;
  }
}
.btn.btn-extrabig {
  font-size: 2rem;
  padding: 20px 100px 19px;
  min-width: 200px;
}
@media screen and (max-width: 767px) {
  .btn.btn-extrabig {
    padding-left: 80px;
    padding-right: 80px;
    min-width: 180px;
  }
}
@media screen and (max-width: 575px) {
  .btn.btn-extrabig {
    padding-left: 60px;
    padding-right: 60px;
    min-width: 160px;
  }
}
@media screen and (max-width: 428px) {
  .btn.btn-extrabig {
    padding-left: 40px;
    padding-right: 40px;
    min-width: 120px;
  }
}
@media screen and (max-width: 375px) {
  .btn.btn-extrabig {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.btn.btn-max {
  font-size: 2rem;
  padding: 20px 0 19px;
  width: 94%;
  margin-left: 3%;
  margin-right: 3%;
}

/* 矢印付きボタン */
.btn.btn-arrow-left, .btn.btn-to-parent, .btn.btn-arrow-left--down, .btn.btn-arrow-left--up,
.btn.btn-arrow-right,
.btn.btn-arrow-right--down,
.btn.btn-arrow-right--up {
  /* 左矢印 */
  /* 右矢印 */
  /* 共通：白抜き調整（色違い） */
  /* 共通：デフォルトボタン矢印色 */
}
.btn.btn-arrow-left.btn-xsmall, .btn.btn-xsmall.btn-to-parent, .btn.btn-xsmall.btn-arrow-left--down, .btn.btn-xsmall.btn-arrow-left--up {
  padding-left: 18px;
  position: relative;
}
.btn.btn-arrow-left.btn-xsmall::before, .btn.btn-xsmall.btn-to-parent::before, .btn.btn-xsmall.btn-arrow-left--down::before, .btn.btn-xsmall.btn-arrow-left--up::before {
  content: "";
  position: absolute;
  top: 50%;
  right: unset;
  left: 7px;
  width: 7px;
  height: 7px;
  margin-top: -3.5px;
  border-top: 2px solid #FFF;
  border-left: 2px solid #FFF;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.btn.btn-arrow-left.btn-small, .btn.btn-small.btn-to-parent, .btn.btn-small.btn-arrow-left--down, .btn.btn-small.btn-arrow-left--up {
  padding-left: 25px;
  position: relative;
}
.btn.btn-arrow-left.btn-small::before, .btn.btn-small.btn-to-parent::before, .btn.btn-small.btn-arrow-left--down::before, .btn.btn-small.btn-arrow-left--up::before {
  content: "";
  position: absolute;
  top: 50%;
  right: unset;
  left: 10px;
  width: 9px;
  height: 9px;
  margin-top: -4px;
  border-top: 2px solid #FFF;
  border-left: 2px solid #FFF;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.btn.btn-arrow-left.btn-thin, .btn.btn-thin.btn-to-parent, .btn.btn-thin.btn-arrow-left--down, .btn.btn-thin.btn-arrow-left--up {
  padding-left: 30px;
  position: relative;
}
.btn.btn-arrow-left.btn-thin::before, .btn.btn-thin.btn-to-parent::before, .btn.btn-thin.btn-arrow-left--down::before, .btn.btn-thin.btn-arrow-left--up::before {
  content: "";
  position: absolute;
  top: 50%;
  right: unset;
  left: 12px;
  width: 9px;
  height: 9px;
  margin-top: -4px;
  border-top: 2px solid #FFF;
  border-left: 2px solid #FFF;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.btn.btn-arrow-left.btn-mid, .btn.btn-mid.btn-to-parent, .btn.btn-mid.btn-arrow-left--down, .btn.btn-mid.btn-arrow-left--up {
  padding-left: 40px;
  position: relative;
}
.btn.btn-arrow-left.btn-mid::before, .btn.btn-mid.btn-to-parent::before, .btn.btn-mid.btn-arrow-left--down::before, .btn.btn-mid.btn-arrow-left--up::before {
  content: "";
  position: absolute;
  top: 50%;
  right: unset;
  left: 14px;
  width: 11px;
  height: 11px;
  margin-top: -5px;
  border-top: 2px solid #FFF;
  border-left: 2px solid #FFF;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.btn.btn-arrow-left.btn-big, .btn.btn-big.btn-to-parent, .btn.btn-big.btn-arrow-left--down, .btn.btn-big.btn-arrow-left--up {
  padding-left: 45px;
  position: relative;
}
.btn.btn-arrow-left.btn-big::before, .btn.btn-big.btn-to-parent::before, .btn.btn-big.btn-arrow-left--down::before, .btn.btn-big.btn-arrow-left--up::before {
  content: "";
  position: absolute;
  top: 50%;
  right: unset;
  left: 14px;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  border-top: 2px solid #FFF;
  border-left: 2px solid #FFF;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media print, (min-width: 576px) {
  .btn.btn-arrow-left.btn-xbig, .btn.btn-to-parent, .btn.btn-xbig.btn-arrow-left--down, .btn.btn-xbig.btn-arrow-left--up {
    position: relative;
  }
  .btn.btn-arrow-left.btn-xbig::before, .btn.btn-to-parent::before, .btn.btn-xbig.btn-arrow-left--down::before, .btn.btn-xbig.btn-arrow-left--up::before {
    content: "";
    position: absolute;
    top: 50%;
    right: unset;
    left: 20px;
    width: 14px;
    height: 14px;
    margin-top: -6.5px;
    border-top: 2px solid #FFF;
    border-left: 2px solid #FFF;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media screen and (max-width: 575px) {
  .btn.btn-arrow-left.btn-xbig, .btn.btn-to-parent, .btn.btn-xbig.btn-arrow-left--down, .btn.btn-xbig.btn-arrow-left--up {
    padding-left: 45px;
    position: relative;
  }
  .btn.btn-arrow-left.btn-xbig::before, .btn.btn-to-parent::before, .btn.btn-xbig.btn-arrow-left--down::before, .btn.btn-xbig.btn-arrow-left--up::before {
    content: "";
    position: absolute;
    top: 50%;
    right: unset;
    left: 20px;
    width: 12px;
    height: 12px;
    margin-top: -6.5px;
    border-top: 2px solid #FFF;
    border-left: 2px solid #FFF;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media print, (min-width: 429px) {
  .btn.btn-arrow-left.btn-extrabig, .btn.btn-extrabig.btn-to-parent, .btn.btn-extrabig.btn-arrow-left--down, .btn.btn-extrabig.btn-arrow-left--up {
    position: relative;
  }
  .btn.btn-arrow-left.btn-extrabig::before, .btn.btn-extrabig.btn-to-parent::before, .btn.btn-extrabig.btn-arrow-left--down::before, .btn.btn-extrabig.btn-arrow-left--up::before {
    content: "";
    position: absolute;
    top: 50%;
    right: unset;
    left: 25px;
    width: 14px;
    height: 14px;
    margin-top: -6.5px;
    border-top: 2px solid #FFF;
    border-left: 2px solid #FFF;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media screen and (max-width: 428px) {
  .btn.btn-arrow-left.btn-extrabig, .btn.btn-extrabig.btn-to-parent, .btn.btn-extrabig.btn-arrow-left--down, .btn.btn-extrabig.btn-arrow-left--up {
    padding-left: 45px;
    position: relative;
  }
  .btn.btn-arrow-left.btn-extrabig::before, .btn.btn-extrabig.btn-to-parent::before, .btn.btn-extrabig.btn-arrow-left--down::before, .btn.btn-extrabig.btn-arrow-left--up::before {
    content: "";
    position: absolute;
    top: 50%;
    right: unset;
    left: 25px;
    width: 12px;
    height: 12px;
    margin-top: -6.5px;
    border-top: 2px solid #FFF;
    border-left: 2px solid #FFF;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media print, (min-width: 768px) {
  .btn.btn-arrow-left.btn-max, .btn.btn-max.btn-to-parent, .btn.btn-max.btn-arrow-left--down, .btn.btn-max.btn-arrow-left--up {
    position: relative;
  }
  .btn.btn-arrow-left.btn-max::before, .btn.btn-max.btn-to-parent::before, .btn.btn-max.btn-arrow-left--down::before, .btn.btn-max.btn-arrow-left--up::before {
    content: "";
    position: absolute;
    top: 50%;
    right: unset;
    left: 30px;
    width: 18px;
    height: 18px;
    margin-top: -8.5px;
    border-top: 2px solid #FFF;
    border-left: 2px solid #FFF;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
@media screen and (max-width: 767px) {
  .btn.btn-arrow-left.btn-max, .btn.btn-max.btn-to-parent, .btn.btn-max.btn-arrow-left--down, .btn.btn-max.btn-arrow-left--up {
    padding-left: 45px;
    position: relative;
  }
  .btn.btn-arrow-left.btn-max::before, .btn.btn-max.btn-to-parent::before, .btn.btn-max.btn-arrow-left--down::before, .btn.btn-max.btn-arrow-left--up::before {
    content: "";
    position: absolute;
    top: 50%;
    right: unset;
    left: 30px;
    width: 18px;
    height: 18px;
    margin-top: -8.5px;
    border-top: 2px solid #FFF;
    border-left: 2px solid #FFF;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

.btn.btn-arrow-right.btn-xsmall, .btn.btn-xsmall.btn-arrow-right--down, .btn.btn-xsmall.btn-arrow-right--up {
  padding-right: 18px;
  position: relative;
}
.btn.btn-arrow-right.btn-xsmall::before, .btn.btn-xsmall.btn-arrow-right--down::before, .btn.btn-xsmall.btn-arrow-right--up::before {
  content: "";
  position: absolute;
  top: 50%;
  left: unset;
  right: 7px;
  width: 7px;
  height: 7px;
  margin-top: -3.5px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.btn.btn-arrow-right.btn-small, .btn.btn-small.btn-arrow-right--down, .btn.btn-small.btn-arrow-right--up {
  padding-right: 25px;
  position: relative;
}
.btn.btn-arrow-right.btn-small::before, .btn.btn-small.btn-arrow-right--down::before, .btn.btn-small.btn-arrow-right--up::before {
  content: "";
  position: absolute;
  top: 50%;
  left: unset;
  right: 10px;
  width: 9px;
  height: 9px;
  margin-top: -4px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.btn.btn-arrow-right.btn-thin, .btn.btn-thin.btn-arrow-right--down, .btn.btn-thin.btn-arrow-right--up {
  padding-right: 30px;
  position: relative;
}
.btn.btn-arrow-right.btn-thin::before, .btn.btn-thin.btn-arrow-right--down::before, .btn.btn-thin.btn-arrow-right--up::before {
  content: "";
  position: absolute;
  top: 50%;
  left: unset;
  right: 12px;
  width: 9px;
  height: 9px;
  margin-top: -4px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.btn.btn-arrow-right.btn-mid, .btn.btn-mid.btn-arrow-right--down, .btn.btn-mid.btn-arrow-right--up {
  padding-right: 40px;
  position: relative;
}
.btn.btn-arrow-right.btn-mid::before, .btn.btn-mid.btn-arrow-right--down::before, .btn.btn-mid.btn-arrow-right--up::before {
  content: "";
  position: absolute;
  top: 50%;
  left: unset;
  right: 14px;
  width: 11px;
  height: 11px;
  margin-top: -5px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.btn.btn-arrow-right.btn-big, .btn.btn-big.btn-arrow-right--down, .btn.btn-big.btn-arrow-right--up {
  padding-right: 45px;
  position: relative;
}
.btn.btn-arrow-right.btn-big::before, .btn.btn-big.btn-arrow-right--down::before, .btn.btn-big.btn-arrow-right--up::before {
  content: "";
  position: absolute;
  top: 50%;
  left: unset;
  right: 14px;
  width: 11px;
  height: 11px;
  margin-top: -6px;
  border-top: 2px solid #FFF;
  border-right: 2px solid #FFF;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media print, (min-width: 576px) {
  .btn.btn-arrow-right.btn-xbig, .btn.btn-arrow-right.btn-to-parent, .btn.btn-xbig.btn-arrow-right--down, .btn.btn-arrow-right--down.btn-to-parent, .btn.btn-xbig.btn-arrow-right--up, .btn.btn-arrow-right--up.btn-to-parent {
    position: relative;
  }
  .btn.btn-arrow-right.btn-xbig::before, .btn.btn-arrow-right.btn-to-parent::before, .btn.btn-xbig.btn-arrow-right--down::before, .btn.btn-arrow-right--down.btn-to-parent::before, .btn.btn-xbig.btn-arrow-right--up::before, .btn.btn-arrow-right--up.btn-to-parent::before {
    content: "";
    position: absolute;
    top: 50%;
    left: unset;
    right: 20px;
    width: 14px;
    height: 14px;
    margin-top: -6.5px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}
@media screen and (max-width: 575px) {
  .btn.btn-arrow-right.btn-xbig, .btn.btn-arrow-right.btn-to-parent, .btn.btn-xbig.btn-arrow-right--down, .btn.btn-arrow-right--down.btn-to-parent, .btn.btn-xbig.btn-arrow-right--up, .btn.btn-arrow-right--up.btn-to-parent {
    padding-right: 45px;
    position: relative;
  }
  .btn.btn-arrow-right.btn-xbig::before, .btn.btn-arrow-right.btn-to-parent::before, .btn.btn-xbig.btn-arrow-right--down::before, .btn.btn-arrow-right--down.btn-to-parent::before, .btn.btn-xbig.btn-arrow-right--up::before, .btn.btn-arrow-right--up.btn-to-parent::before {
    content: "";
    position: absolute;
    top: 50%;
    left: unset;
    right: 20px;
    width: 12px;
    height: 12px;
    margin-top: -6.5px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}
@media print, (min-width: 429px) {
  .btn.btn-arrow-right.btn-extrabig, .btn.btn-extrabig.btn-arrow-right--down, .btn.btn-extrabig.btn-arrow-right--up {
    position: relative;
  }
  .btn.btn-arrow-right.btn-extrabig::before, .btn.btn-extrabig.btn-arrow-right--down::before, .btn.btn-extrabig.btn-arrow-right--up::before {
    content: "";
    position: absolute;
    top: 50%;
    left: unset;
    right: 25px;
    width: 14px;
    height: 14px;
    margin-top: -6.5px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}
@media screen and (max-width: 428px) {
  .btn.btn-arrow-right.btn-extrabig, .btn.btn-extrabig.btn-arrow-right--down, .btn.btn-extrabig.btn-arrow-right--up {
    padding-right: 45px;
    position: relative;
  }
  .btn.btn-arrow-right.btn-extrabig::before, .btn.btn-extrabig.btn-arrow-right--down::before, .btn.btn-extrabig.btn-arrow-right--up::before {
    content: "";
    position: absolute;
    top: 50%;
    left: unset;
    right: 25px;
    width: 12px;
    height: 12px;
    margin-top: -6.5px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}
@media print, (min-width: 768px) {
  .btn.btn-arrow-right.btn-max, .btn.btn-max.btn-arrow-right--down, .btn.btn-max.btn-arrow-right--up {
    position: relative;
  }
  .btn.btn-arrow-right.btn-max::before, .btn.btn-max.btn-arrow-right--down::before, .btn.btn-max.btn-arrow-right--up::before {
    content: "";
    position: absolute;
    top: 50%;
    left: unset;
    right: 30px;
    width: 18px;
    height: 18px;
    margin-top: -8.5px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}
@media screen and (max-width: 767px) {
  .btn.btn-arrow-right.btn-max, .btn.btn-max.btn-arrow-right--down, .btn.btn-max.btn-arrow-right--up {
    padding-right: 45px;
    position: relative;
  }
  .btn.btn-arrow-right.btn-max::before, .btn.btn-max.btn-arrow-right--down::before, .btn.btn-max.btn-arrow-right--up::before {
    content: "";
    position: absolute;
    top: 50%;
    left: unset;
    right: 30px;
    width: 18px;
    height: 18px;
    margin-top: -8.5px;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}

.btn.btn-arrow-left.btn-alt-blue:hover::before, .btn.btn-to-parent:hover::before, .btn.btn-alt-blue.btn-arrow-left--down:hover::before, .btn.btn-alt-blue.btn-arrow-left--up:hover::before, .btn.btn-arrow-left.btn-alt-green:hover::before, .btn.btn-alt-green.btn-arrow-left--down:hover::before, .btn.btn-alt-green.btn-arrow-left--up:hover::before, .btn.btn-arrow-left.btn-alt-red:hover::before, .btn.btn-alt-red.btn-arrow-left--down:hover::before, .btn.btn-alt-red.btn-arrow-left--up:hover::before, .btn.btn-arrow-left.btn-alt-yellow:hover::before, .btn.btn-alt-yellow.btn-arrow-left--down:hover::before, .btn.btn-alt-yellow.btn-arrow-left--up:hover::before, .btn.btn-arrow-left.btn-alt-brown:hover::before, .btn.btn-alt-brown.btn-arrow-left--down:hover::before, .btn.btn-alt-brown.btn-arrow-left--up:hover::before, .btn.btn-arrow-left.btn-alt-gray:hover::before, .btn.btn-alt-gray.btn-arrow-left--down:hover::before, .btn.btn-alt-gray.btn-arrow-left--up:hover::before, .btn.btn-arrow-left.btn-alt-black:hover::before, .btn.btn-alt-black.btn-arrow-left--down:hover::before, .btn.btn-alt-black.btn-arrow-left--up:hover::before, .btn.btn-arrow-left.btn-alt-nega:hover::before, .btn.btn-alt-nega.btn-arrow-left--down:hover::before, .btn.btn-alt-nega.btn-arrow-left--up:hover::before,
.btn.btn-arrow-right.btn-alt-blue:hover::before,
.btn.btn-alt-blue.btn-arrow-right--down:hover::before,
.btn.btn-alt-blue.btn-arrow-right--up:hover::before,
.btn.btn-arrow-right.btn-alt-green:hover::before,
.btn.btn-alt-green.btn-arrow-right--down:hover::before,
.btn.btn-alt-green.btn-arrow-right--up:hover::before,
.btn.btn-arrow-right.btn-alt-red:hover::before,
.btn.btn-alt-red.btn-arrow-right--down:hover::before,
.btn.btn-alt-red.btn-arrow-right--up:hover::before,
.btn.btn-arrow-right.btn-alt-yellow:hover::before,
.btn.btn-alt-yellow.btn-arrow-right--down:hover::before,
.btn.btn-alt-yellow.btn-arrow-right--up:hover::before,
.btn.btn-arrow-right.btn-alt-brown:hover::before,
.btn.btn-alt-brown.btn-arrow-right--down:hover::before,
.btn.btn-alt-brown.btn-arrow-right--up:hover::before,
.btn.btn-arrow-right.btn-alt-gray:hover::before,
.btn.btn-alt-gray.btn-arrow-right--down:hover::before,
.btn.btn-alt-gray.btn-arrow-right--up:hover::before,
.btn.btn-arrow-right.btn-alt-black:hover::before,
.btn.btn-alt-black.btn-arrow-right--down:hover::before,
.btn.btn-alt-black.btn-arrow-right--up:hover::before,
.btn.btn-arrow-right.btn-alt-nega:hover::before,
.btn.btn-alt-nega.btn-arrow-right--down:hover::before,
.btn.btn-alt-nega.btn-arrow-right--up:hover::before {
  border-color: #FFF;
}
.btn.btn-arrow-left.btn-alt-blue::before, .btn.btn-to-parent::before, .btn.btn-alt-blue.btn-arrow-left--down::before, .btn.btn-alt-blue.btn-arrow-left--up::before,
.btn.btn-arrow-right.btn-alt-blue::before,
.btn.btn-alt-blue.btn-arrow-right--down::before,
.btn.btn-alt-blue.btn-arrow-right--up::before {
  border-color: #0071C0;
}
.btn.btn-arrow-left.btn-alt-green::before, .btn.btn-alt-green.btn-to-parent::before, .btn.btn-alt-green.btn-arrow-left--down::before, .btn.btn-alt-green.btn-arrow-left--up::before,
.btn.btn-arrow-right.btn-alt-green::before,
.btn.btn-alt-green.btn-arrow-right--down::before,
.btn.btn-alt-green.btn-arrow-right--up::before {
  border-color: #04873D;
}
.btn.btn-arrow-left.btn-alt-red::before, .btn.btn-alt-red.btn-to-parent::before, .btn.btn-alt-red.btn-arrow-left--down::before, .btn.btn-alt-red.btn-arrow-left--up::before,
.btn.btn-arrow-right.btn-alt-red::before,
.btn.btn-alt-red.btn-arrow-right--down::before,
.btn.btn-alt-red.btn-arrow-right--up::before {
  border-color: #B80016;
}
.btn.btn-arrow-left.btn-alt-yellow::before, .btn.btn-alt-yellow.btn-to-parent::before, .btn.btn-alt-yellow.btn-arrow-left--down::before, .btn.btn-alt-yellow.btn-arrow-left--up::before,
.btn.btn-arrow-right.btn-alt-yellow::before,
.btn.btn-alt-yellow.btn-arrow-right--down::before,
.btn.btn-alt-yellow.btn-arrow-right--up::before {
  border-color: #F29A02;
}
.btn.btn-arrow-left.btn-alt-brown::before, .btn.btn-alt-brown.btn-to-parent::before, .btn.btn-alt-brown.btn-arrow-left--down::before, .btn.btn-alt-brown.btn-arrow-left--up::before,
.btn.btn-arrow-right.btn-alt-brown::before,
.btn.btn-alt-brown.btn-arrow-right--down::before,
.btn.btn-alt-brown.btn-arrow-right--up::before {
  border-color: #94766B;
}
.btn.btn-arrow-left.btn-alt-gray::before, .btn.btn-alt-gray.btn-to-parent::before, .btn.btn-alt-gray.btn-arrow-left--down::before, .btn.btn-alt-gray.btn-arrow-left--up::before,
.btn.btn-arrow-right.btn-alt-gray::before,
.btn.btn-alt-gray.btn-arrow-right--down::before,
.btn.btn-alt-gray.btn-arrow-right--up::before {
  border-color: #999;
}
.btn.btn-arrow-left.btn-alt-black::before, .btn.btn-alt-black.btn-to-parent::before, .btn.btn-alt-black.btn-arrow-left--down::before, .btn.btn-alt-black.btn-arrow-left--up::before,
.btn.btn-arrow-right.btn-alt-black::before,
.btn.btn-alt-black.btn-arrow-right--down::before,
.btn.btn-alt-black.btn-arrow-right--up::before {
  border-color: #22333B;
}
.btn.btn-arrow-left.btn-alt-nega::before, .btn.btn-alt-nega.btn-to-parent::before, .btn.btn-alt-nega.btn-arrow-left--down::before, .btn.btn-alt-nega.btn-arrow-left--up::before,
.btn.btn-arrow-right.btn-alt-nega::before,
.btn.btn-alt-nega.btn-arrow-right--down::before,
.btn.btn-alt-nega.btn-arrow-right--up::before {
  border-color: #666;
}
.btn.btn-arrow-left.btn-default::before, .btn.btn-default.btn-to-parent::before, .btn.btn-default.btn-arrow-left--down::before, .btn.btn-default.btn-arrow-left--up::before,
.btn.btn-arrow-right.btn-default::before,
.btn.btn-default.btn-arrow-right--down::before,
.btn.btn-default.btn-arrow-right--up::before {
  border-color: #444;
}

/* 矢印付きボタン バリエーション（上向き／下向き） */
.btn-arrow-left--up::before {
  -webkit-transform: rotate(45deg) !important;
          transform: rotate(45deg) !important;
  margin-top: -0.2em !important;
}

.btn-arrow-left--down::before {
  -webkit-transform: rotate(-135deg) !important;
          transform: rotate(-135deg) !important;
  margin-top: -0.6em !important;
}

.btn-arrow-right--up::before {
  -webkit-transform: rotate(-45deg) !important;
          transform: rotate(-45deg) !important;
  margin-top: -0.2em !important;
}

.btn-arrow-right--down::before {
  -webkit-transform: rotate(135deg) !important;
          transform: rotate(135deg) !important;
  margin-top: -0.6em !important;
}

/* 検索ボタン（検索キーワード窓用） */
.search-box {
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: left;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}
.search-box__input, .search-box__btn {
  margin: 0 !important;
  height: 32px !important;
  vertical-align: middle !important;
}
.search-box__input {
  border-color: #666 !important;
}
.search-box__btn.btn-serach {
  background-color: #666 !important;
  color: #FFF !important;
  border: none !important;
  position: relative;
  top: -1px;
  text-indent: -9999px;
  width: 42px;
  padding: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.search-box__btn.btn-serach:hover {
  opacity: 0.8;
}
.search-box__btn.btn-serach:hover, .search-box__btn.btn-serach:focus, .search-box__btn.btn-serach:active {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.search-box__btn.btn-serach::before {
  text-indent: 0;
  font-family: "ElegantIcons";
  content: "U";
  font-size: 18px;
  font-weight: normal;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

/*-------------------------------------
// ガイダンス固有ボタン
// ※通常のbtnの色指定の代わりに指定
//    class="btn btn-entry btn-big"
-------------------------------------*/
.btn-entry strong {
  padding: 0 0.2em;
  font-size: 1.8em;
  position: relative;
  top: 0.1em;
}

.btn-bookmark strong {
  padding: 0 0.2em;
  font-size: 1.8em;
  position: relative;
  top: 0.1em;
}

/* フッター固定ボタン */
.btn-foot {
  /* 未ボタン共通 */
  /* 右矢印 */
}
.btn-foot.btn-bookmark, .btn-foot.btn-entry {
  min-width: 320px;
  padding-left: 30px;
  padding-right: 30px;
}
.btn-foot.btn-big.btn-arrow-right::before, .btn-foot.btn-big.btn-arrow-right--up::before, .btn-foot.btn-big.btn-arrow-right--down::before {
  right: 20px;
  width: 16px;
  height: 16px;
}
@media screen and (max-width: 575px) {
  .btn-foot.btn-big.btn-arrow-right::before, .btn-foot.btn-big.btn-arrow-right--up::before, .btn-foot.btn-big.btn-arrow-right--down::before {
    right: 13px;
    width: 13px;
    height: 13px;
  }
}

/* 正方形ボタン */
.btn-square {
  font-family: "Noto Sans Japanese", Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", sans-serif !important;
  width: 88px;
  height: 88px;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1.2;
  text-shadow: none;
  font-weight: 600;
  font-size: 0.9em;
  position: relative;
}
.btn-square:hover, .btn-square:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn-square--register {
  background-color: #0071C0;
  border-color: #0065ac;
  color: #FFF;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn-square--register:hover, .btn-square--register:focus {
  background-color: #0080da;
  border-color: #00538d;
  color: #FFF;
}
.btn-square--qr, .btn-square--login, .btn-square--logout {
  background-color: #FFF500;
  border-color: #f0e600;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
  color: #333;
}
.btn-square--qr:hover, .btn-square--qr:focus, .btn-square--login:hover, .btn-square--login:focus, .btn-square--logout:hover, .btn-square--logout:focus {
  background-color: #fff966;
  border-color: #e6dd00;
}
.btn-square--mypage {
  background-color: #004199;
  border-color: #003885;
  color: #FFF;
  text-shadow: 0 1px rgba(0, 0, 0, 0.1);
}
.btn-square--mypage:hover, .btn-square--mypage:focus {
  background-color: #004cb3;
  border-color: #002b66;
  color: #FFF;
}

/* SNSボタン */
.btn.btn-sns {
  background-color: transparent;
  border: none;
  font-size: 33px;
  padding: 0;
  margin: 0 2px;
  height: 42px;
  width: 42px;
  text-align: center;
  position: relative;
  text-shadow: none;
}
.btn.btn-sns .icon {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.btn.btn-sns .icon::before {
  color: #585858;
}
.btn.btn-sns:hover, .btn.btn-sns:focus, .btn.btn-sns:active {
  -webkit-box-shadow: none;
          box-shadow: none;
}
.btn.btn-sns .social_facebook:hover::before {
  color: #1778f2;
}
.btn.btn-sns .social_twitter {
  font-size: 36px;
}
.btn.btn-sns .social_twitter:hover::before {
  color: #1d9bf0;
}

/* 親ページへ戻るボタン */
/*-------------------------------------
// メッセージボックス
//   [使用例]基本msgは必ず指定
//    class="msg"
//    class="msg msg-ok"
-------------------------------------*/
/* 共通 */
.msg {
  position: relative;
  font-weight: 400;
  font-size: 1.5rem;
  background: none no-repeat scroll 26px 50% #FCFCFC;
  border: 1px solid #CCC;
  color: #666;
  width: 96%;
  margin: 10px auto;
  padding: 12px 30px 12px 60px;
  border-radius: 2px;
}
.msg::before {
  position: absolute;
  top: 52%;
  left: 34px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-family: "ElegantIcons";
  color: #666;
  font-size: 21px;
  z-index: 1;
}
.msg .msg__title {
  font-weight: 600;
  font-size: 1.1em;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .msg {
    padding-left: 40px;
    padding-right: 12px;
    line-height: 1.2;
  }
  .msg::before {
    left: 20px;
  }
}

/* バリエーション */
.msg {
  /* 情報通知 */
  /* 正常完了 */
  /* エラー */
  /* ワーニング */
  /* デバッグ */
  /* 各アイコン */
}
.main .msg p {
  margin: 0.5em 0;
}

.msg.msg-info {
  background-color: #FFFCF6;
  border-color: #BFA7A7;
  color: #4F3636;
}
.msg.msg-ok {
  background-color: #eff5ff;
  border-color: #3778df;
  color: #2057af;
}
.msg.msg-ng {
  background-color: #FFF1EF;
  border-color: #EF6868;
  color: #DF0D0D;
}
.msg.msg-warning {
  background-color: #FFF8EE;
  border-color: #DA861F;
  color: #7D3F00;
}
.msg.msg-debug {
  background-color: #F6F6F6;
  border-color: #999;
  color: #1D1E22;
}
.msg.msg-info::before {
  content: "\e060";
  color: #866363;
}
.msg.msg-ok::before {
  content: "\e052";
  color: #2057af;
}
.msg.msg-ng::before {
  content: "\e051";
  color: #DF0D0D;
}
.msg.msg-warning::before {
  content: "\e063";
  color: #e37d0e;
}
.msg.msg-debug::before {
  content: "\e038";
  color: #666666;
}

/*-------------------------------------
// ボックス
// .btnと同様にマルチクラス定義
-------------------------------------*/
/* 初期 */
.box, .box.box-panel {
  margin: 1em 3%;
  padding: 1.5em 4%;
  background-color: #FCFCFC;
  border: 1px solid #BBB;
  border-radius: 2px;
  /* ダークテーマ */
  /* パネル */
  /* 余白狭め */
  /* 背景色のみ（ボーダーなし） */
  /* 背景色のみ（ボーダーなし） */
  /* ソースコード表示BOX */
  /* コラム欄（のようなイメージ） */
}
.box:not(.box-pre)::after {
  content: "";
  display: block;
  clear: both;
}
@media print, (min-width: 768px) {
  .box, .box.box-panel {
    padding: 1.5em 2em;
  }
}
.box.box-dark, .box.box-pre {
  margin: 1em 3%;
  padding: 1.5em 4%;
  background-color: #22333B;
  border: 1px solid #999;
  border-radius: 2px;
  color: #CCC;
}
@media print, (min-width: 768px) {
  .box.box-dark, .box.box-pre {
    padding: 1.5em 2em;
  }
}
.box.box-panel {
  -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
          box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1);
}
.box.box-narrow {
  padding: 1.5em 1em;
  margin: 0.4em 1%;
}
@media print, (min-width: 1281px) {
  .box.box-narrow {
    padding: 1.5em 1em;
  }
}
.box.box-background {
  border: none;
  background-color: #F0F6F9;
}
.box.box-background-pink {
  border: none;
  background-color: #ffefef;
}
.box.box-pre {
  font-family: Consolas, "Courier New", Courier, Monaco, "Osaka－等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", monospace;
  font-size: 1.35rem;
  overflow-x: auto;
  display: block;
  white-space: pre;
}
@media screen and (max-width: 767px) {
  .box, .box.box-panel, .box.box-dark, .box.box-pre {
    padding-top: 1.2em;
    padding-bottom: 1.2em;
  }
}
@media screen and (max-width: 575px) {
  .box, .box.box-panel, .box.box-dark, .box.box-pre {
    padding-top: 1em;
    padding-bottom: 1em;
  }
}
@media screen and (max-width: 375px) {
  .box, .box.box-panel, .box.box-dark, .box.box-pre {
    padding-top: 0.8em;
    padding-bottom: 0.8em;
  }
}
.box-column {
  border: none;
  background-color: transparent;
  margin: 1em 3% 1em 4%;
  padding: 1em 0 1em 2em;
  border-left: 6px solid #E0E0E0;
  color: #585858;
  font-size: 1.45rem;
  /* 強調したコラム欄 */
}
.box-column__title {
  color: #333;
  font-weight: 500;
  font-size: 1.7rem;
  margin: 0 0 0.5em -10px;
}
.box-column__body {
  line-height: 1.4;
  font-size: 1.45rem;
}
.box-column.box-column-strong {
  border-color: #46A2E0;
  color: #333;
}

/*-------------------------------------
// アイコン（ElegantIcons）
// 例 <span class="icon icon_calendar">
// 注意 サブクラスを作成する場合、Icomoonと区別するためハイフン使用禁止->アンダースコアで結合すること
-------------------------------------*/
.icon {
  font-size: 1.1em;
  margin-right: 6px;
  position: relative;
  top: 1px;
  left: 0;
  /* 正方形ボタン内アイコン */
  /* スマホ時ヘッダー固定表示用 */
}
.icon.icon_bg_square {
  font-size: 70px;
  margin: 0;
  z-index: -1;
  margin-top: 2px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.icon.icon_bg_square::before {
  color: #FFF;
  text-shadow: none;
}
.btn-square {
  position: relative;
  z-index: 1;
}

.icon.icon_color_mypage::before {
  color: #46A2E0;
}
.icon.icon_color_register::before {
  color: #004199;
}
@media screen and (max-width: 767px) {
  .icon.icon_bg_square--sp {
    font-size: 45px;
  }
}

/*-------------------------------------
// インラインテキストメニュー
//                          .text-menu
-------------------------------------*/
.text-menu {
  /* デフォルト白文字 */
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
  /* Modifier（黒文字） */
}
.text-menu .text-menu__item {
  padding: 0 1em 2px;
  margin: 0.3em 0;
  border-left: 1px solid #FFF;
  line-height: 1;
  position: relative;
}
.text-menu .text-menu__item::after {
  display: block;
  border-right: 1px solid #FFF;
  width: 1px;
  height: 1em;
  top: 0;
  right: -1px;
  content: "";
  position: absolute;
}
.text-menu .text-menu__item a {
  font-size: 1.4rem;
}
.text-menu .text-menu__item a:not(:hover) {
  color: #FFF;
}
.text-menu--black .text-menu__item {
  border-color: #666;
}
.text-menu--black .text-menu__item::after {
  border-color: #666;
}
.text-menu--black .text-menu__item a:not(:hover) {
  color: #333;
}

/*==========================================================================
// その他 案件固有パーツ
==========================================================================*/
/*-------------------------------------
// ローディング画像
-------------------------------------*/
.load-indicator {
  position: relative;
  left: 50%;
  top: 50%;
}
.load-indicator img {
  margin: -12px 0 0 -12px;
}

/*-------------------------------------
// 見出しの中の日付
-------------------------------------*/
.title .date {
  position: absolute;
  display: block;
  font-size: 0.8em;
  right: 1em;
  bottom: -1.8em;
}

/*-------------------------------------
// 問合せ先（企業ガイダンス運営事務局）
-------------------------------------*/
.contact-list {
  margin: 40px auto !important;
  width: 520px;
  padding: 30px 10px;
  background-color: #FCFCFC;
  border: 1px solid #CCC;
  border-radius: 10px;
}
.contact-list__title {
  font-size: 0.9em;
  width: 170px;
  float: left;
  text-align: right;
  font-weight: 600;
  clear: both;
}
.contact-list__detail {
  font-size: 0.9em;
  width: 320px;
  float: left;
  text-align: left;
  padding-left: 10px;
}
.contact-list__detail a {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .contact-list {
    width: 100%;
    padding: 0 !important;
    border: none;
    margin: 20px auto 10px !important;
    background-color: transparent;
  }
  .contact-list__title {
    text-align: left;
    padding-left: 15px;
    width: auto !important;
  }
  .contact-list__detail {
    padding-left: 0px;
    width: auto !important;
  }
}

/*-------------------------------------
// タブUI
-------------------------------------*/
.tab-area {
  margin: 2em auto 1em;
  position: relative;
  z-index: 1;
}

.tab-list {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  /* レスポンシブ */
}
.tab-list__item {
  background-color: #FFF;
  margin: 0;
  padding: 0;
  width: 25%;
  border-top: 2px solid #46A2E0;
  border-bottom: 2px solid #46A2E0;
  border-left: 1px solid #46A2E0;
  border-right: 1px solid #46A2E0;
  text-align: center;
  vertical-align: middle;
  line-height: 1.3;
}
.tab-list__item a,
.tab-list__item span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #238ad0;
  font-weight: 600;
  font-size: 1.1em;
  padding: 0.7em 0.1em 0.6em;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.tab-list__item a:not(.is-active):hover {
  background-color: #F0F6F9;
}
.tab-list__item:first-child {
  border-left-width: 2px;
}
.tab-list__item:last-child {
  border-right-width: 2px;
}
.tab-list__item.is-active {
  border-color: #46A2E0;
  background-color: #46A2E0;
  font-weight: 600;
}
.tab-list__item.is-active a,
.tab-list__item.is-active span {
  color: #FFF;
}
@media screen and (max-width: 767px) {
  .tab-list__item a,
  .tab-list__item span {
    font-size: 0.9em;
    letter-spacing: -1px;
  }
}

/*-------------------------------------
// Pagenate
// （page-navi.php）
-------------------------------------*/
.page-navi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  margin: 1.5em 0.5em;
  /* ページング */
  /* 件数表示 */
}
.page-navi__pagenate {
  text-align: right;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
}
.page-navi__count {
  text-align: left;
  -ms-flex-preferred-size: 250px;
      flex-basis: 250px;
}
.page-navi .pagenate {
  position: relative;
}
.page-navi .pagenate ul {
  margin: 0 auto;
  padding: 0 !important;
}
.page-navi .pagenate ul li {
  background-color: #FFF;
  border: 1px solid #393F4D;
  display: inline-block;
  height: 30px;
  width: 30px;
  text-align: center;
  list-style: none outside none;
}
.page-navi .pagenate ul li a,
.page-navi .pagenate ul li span {
  font-size: 1.5rem;
  line-height: 28px;
}
.page-navi .pagenate ul li a {
  display: block;
  line-height: 28px;
  color: #393F4D;
  text-decoration: none;
}
.page-navi .pagenate ul li a:hover, .page-navi .pagenate ul li a:active {
  background-color: #666;
  color: #FFF;
  text-decoration: none;
}
.page-navi .pagenate ul li span, .page-navi .pagenate ul li.current span {
  background-color: #393F4D;
  color: #FFF;
  display: block;
}
.page-navi .pagenate ul li.no-page {
  border-color: #999;
}
.page-navi .pagenate ul li.no-page span {
  background-color: #E0E0E0;
  color: #999;
}
.page-navi .pagenate ul li.prev, .page-navi .pagenate ul li.next {
  font-size: 0.9em;
  width: 50px;
}
.page-navi .pagenate ul li.first, .page-navi .pagenate ul li.last {
  width: 36px;
}
.page-navi .page-count__current {
  font-size: 1.2em;
  font-weight: 500;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .page-navi {
    /* 件数表示 */
  }
  .page-navi__count {
    text-align: center;
    -ms-flex-preferred-size: 100px;
        flex-basis: 100px;
    position: relative;
    top: -0.5em;
  }
  .page-navi .pagenate .prev-next {
    display: none;
  }
  .page-navi .page-count__current {
    padding-left: 0;
  }
}

/*-------------------------------------
// 行リスト（共通）※最新のお知らせ5件、等
-------------------------------------*/
.line-list {
  margin: 1.2em 0;
}
.line-list__date {
  display: inline-block;
}
.line-list__tag {
  display: inline-block;
  margin-left: 0.6em;
  font-size: 0.9em;
}
.line-list__title {
  padding-left: 0.5em;
  margin-top: 0.2em;
  font-size: 1.3em;
}
.line-list__title a {
  font-size: 0.9em;
  line-height: 1.25;
  display: block;
  position: relative;
  padding-left: 20px;
  text-decoration: underline;
}
.line-list__title a::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 7px;
  height: 7px;
  margin-top: -3px;
  left: 2px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  border-right-width: 1px;
  border-right-style: solid;
  border-top-width: 1px;
  border-top-style: solid;
}
.line-list__title a.new {
  position: relative;
  padding-left: 2.2em;
  margin-left: 2px;
}
.line-list__title a.new::before {
  border: none;
}
.line-list__title a.new::after {
  position: absolute;
  top: 0.35em;
  left: 0;
  display: block;
  width: 2.2em;
  height: 1.2em;
  line-height: 1.3;
  padding: 0 0 0 1px;
  content: "NEW";
  font-size: 0.85em;
  font-weight: bold;
  text-align: center;
  font-family: "Osaka－等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", monospace;
  background-color: #D7000F;
  color: #FFF;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .line-list__title a.new::after {
    padding-right: 1px;
    font-weight: normal;
  }
}
.line-list__title a.new::before {
  border: none;
}
.line-list__title a.new::after {
  top: 0.15em;
}
.line-list__title a:not(:hover) {
  color: #585858;
}
@media screen and (max-width: 767px) {
  .line-list__date {
    font-size: 0.9em;
  }
  .line-list__tag {
    font-size: 0.8em;
  }
  .line-list__title {
    font-size: 1.1em;
  }
}

/*-------------------------------------
// フッター固定 エントリーメニュー
-------------------------------------*/
#footerFloatingMenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 84px;
  position: fixed;
  left: 0;
  bottom: 0;
  z-index: 5;
  text-align: center;
  padding: 0;
  background-color: rgba(255, 255, 255, 0.92); /* 白背景バージョン */
  /*	background-color: rgba(  0,  0,  0,.70);	*/ /* 黒背景バージョン */
  text-align: center;
  -webkit-box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.4);
          box-shadow: 0 0 3px 1px rgba(0, 0, 0, 0.4);
}
#footerFloatingMenu .footer-entry {
  width: 1200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#footerFloatingMenu .footer-entry .btn {
  margin-left: 2em;
  margin-right: 2em;
  /* レスポンシブ */
}
#footerFloatingMenu .footer-entry .btn .sub-text-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  #footerFloatingMenu .footer-entry .btn .sub-text {
    display: none;
  }
  #footerFloatingMenu .footer-entry .btn .sub-text-sp {
    display: inline;
  }
  #footerFloatingMenu .footer-entry .btn.btn-foot.btn-bookmark, #footerFloatingMenu .footer-entry .btn.btn-foot.btn-entry {
    font-size: 0.9em;
    min-width: 0;
    width: 40%;
    margin-left: 5%;
    margin-right: 5%;
    padding-left: 0;
    padding-right: 0;
  }
  #footerFloatingMenu .footer-entry .btn.btn-foot.btn-bookmark.btn-arrow-right, #footerFloatingMenu .footer-entry .btn.btn-foot.btn-bookmark.btn-arrow-right--up, #footerFloatingMenu .footer-entry .btn.btn-foot.btn-bookmark.btn-arrow-right--down, #footerFloatingMenu .footer-entry .btn.btn-foot.btn-entry.btn-arrow-right, #footerFloatingMenu .footer-entry .btn.btn-foot.btn-entry.btn-arrow-right--up, #footerFloatingMenu .footer-entry .btn.btn-foot.btn-entry.btn-arrow-right--down {
    padding-right: 25px;
  }
}
@media screen and (max-width: 575px) {
  #footerFloatingMenu .footer-entry .btn {
    margin-left: 3% !important;
    margin-right: 3% !important;
  }
  #footerFloatingMenu .footer-entry .btn:not(.btn-sumi) {
    font-size: 0.8em !important;
  }
  #footerFloatingMenu .footer-entry .btn.btn-arrow-right, #footerFloatingMenu .footer-entry .btn.btn-arrow-right--up, #footerFloatingMenu .footer-entry .btn.btn-arrow-right--down {
    padding-right: 15px !important;
  }
}
@media screen and (max-width: 428px) {
  #footerFloatingMenu .footer-entry .btn:not(.btn-sumi) {
    font-size: 0.7em !important;
  }
}
@media screen and (max-width: 375px) {
  #footerFloatingMenu .footer-entry .btn:not(.btn-sumi) {
    font-size: 0.65em !important;
  }
  #footerFloatingMenu .footer-entry .btn.btn-arrow-right, #footerFloatingMenu .footer-entry .btn.btn-arrow-right--up, #footerFloatingMenu .footer-entry .btn.btn-arrow-right--down {
    padding-right: 0 !important;
  }
  #footerFloatingMenu .footer-entry .btn.btn-arrow-right::before, #footerFloatingMenu .footer-entry .btn.btn-arrow-right--up::before, #footerFloatingMenu .footer-entry .btn.btn-arrow-right--down::before {
    content: none;
  }
}
@media screen and (max-width: 767px) {
  #footerFloatingMenu {
    height: 68px;
  }
}

/*-------------------------------------
// 動画
-------------------------------------*/
/* 動画エリア */
.PR_Movie {
  position: relative;
  margin: 0.5em 0;
  text-align: center;
}
.PR_Movie img {
  max-width: 100%;
}
.PR_Movie:hover img {
  opacity: 0.7;
}
.PR_Movie + a {
  display: block;
  width: 180px;
  margin: 15px auto 0;
}

/* 再生ボタン */
.PlayBtn {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.PlayBtn a {
  display: block;
  height: 100%;
}
.PlayBtn a:before { /*白丸 */
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50px;
  height: 50px;
  margin-top: -25px;
  margin-left: -25px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
}
.PlayBtn a:after { /* 赤三角 */
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  margin-top: -16px;
  margin-left: -8px;
  border: 16px solid transparent;
  border-left: 25px solid #B80016;
}

/*-------------------------------------
// 会社紹介スライドショー
// [使用ライブラリ：jquery.magnific-popup.js]
-------------------------------------*/
.mfp-close {
  font-size: 4em;
}

.mfp-counter,
.mfp-title {
  font-size: 1.2em;
}

.mfp-wrap,
.mfp-bg {
  z-index: 9999;
}

.slide-container a {
  display: block;
  text-align: center;
  margin: 0px auto;
  max-width: 100%;
}
.slide-container a span {
  display: block;
  text-align: center;
  margin: 0px auto 8px;
  padding: 8px;
  max-width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}
.slide-container a span .play-slideshow {
  display: block;
  position: absolute;
  background: rgba(245, 245, 245, 0.85);
  padding: 2em 0;
  font-size: 1.2em;
  font-weight: 600;
  width: 350px;
  max-width: 90%;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
}

/*-------------------------------------
// バナー＆関連リンク リスト
-------------------------------------*/
.banner-list {
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  align-items: stretch;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 5vw 0 4vw;
  /* レスポンシブ */
}
.banner-list__item {
  width: 49%;
  text-align: center;
  margin: 1em 0;
}
@media screen and (max-width: 767px) {
  .banner-list {
    margin: 10vw 0 8vw;
  }
  .banner-list__item {
    margin: 1.8vw 0;
  }
}
@media screen and (max-width: 575px) {
  .banner-list__item {
    width: 100%;
  }
}

/* 関連リンク */
.kanren-link {
  text-align: left;
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: flex-start;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  /* レスポンシブ */
}
.kanren-link__head {
  margin-left: 0.5em;
  position: relative;
  top: -0.6em;
}
.kanren-link .kanren-list__title {
  font-weight: 600;
  float: left;
  clear: both;
}
.kanren-link .kanren-list__link {
  float: left;
}
@media screen and (max-width: 767px) {
  .kanren-link {
    display: block;
    margin-top: 1.5em;
  }
  .kanren-link__head {
    margin-bottom: 0;
  }
  .kanren-link__body {
    padding-left: 1em;
    font-size: 0.9em;
  }
}

/*==========================================================================
// 旧デザイン移行（→調整）
==========================================================================*/
/*-------------------------------------
// 参加企業数表示（共通）
//                        #cnt_company
-------------------------------------*/
#cnt_company {
  font-size: 1.4em;
  font-weight: bold;
  position: relative;
  left: 0;
  top: -0.4em;
}
#cnt_company .cnt_company_num {
  color: #bf000e;
  font-size: 1.5em;
  padding: 0 0.2em;
}
#cnt_company a.cnt_company_num {
  text-decoration: none;
}
#cnt_company a.cnt_company_num:hover {
  text-decoration: underline;
}
#cnt_company .cnt_company_sign {
  font-weight: normal;
  padding-left: 0.3em;
  font-size: 0.8em;
}
#cnt_company .cnt_company_biko {
  font-size: 0.8em;
  font-weight: normal;
  position: absolute;
  bottom: 10px;
  right: 0;
  padding-right: 2em;
}
@media screen and (max-width: 575px) {
  #cnt_company .cnt_company_biko {
    bottom: -1.5em;
    padding-right: 0.8em;
    font-size: 0.7em;
  }
}
#cnt_company.h3::after, .article.article-wysiwyg > h3#cnt_company::after, .cke_editable > h3#cnt_company::after {
  top: 58%;
}

/*-------------------------------------
// お知らせカテゴリー タグ（共通）
//                             .cattag
-------------------------------------*/
.cattag {
  display: inline-block;
  font-size: 0.9em;
  font-weight: 200;
  text-decoration: none !important;
  background-color: #585858;
  color: #FFF !important;
  padding: 1px 8px 2px;
  margin: 2px;
  min-width: 8rem;
  text-align: center;
  /* サイズ小さめ */
}
.cattag:empty {
  display: none;
}
.cattag.cattag-mini {
  font-size: 0.8em;
  padding: 0px 6px 1px;
  margin: 1px 2px 1px;
  min-width: 7rem;
  position: relative;
  top: -1px;
}

/*-------------------------------------
// リスト系（共通）
// ・企業一覧
// ・お知らせ一覧（企業）
// ・お知らせ一覧（運営事務局）
// ・先輩一覧
// ・イベント一覧
-------------------------------------*/
.list-item {
  border-bottom: 2px solid #DDD;
  margin: 30px 0;
  padding-bottom: 30px;
  /* NEWアイコン */
  /* ボーダーがない場合 */
  /* 画像＋テキスト リスト */
  /* 件名（社名、お知らせタイトル、氏名） */
  /* 概要文 */
  /* 左 */
  /* 右 */
  /*-------------------------------------
  // レスポンシブ
  -------------------------------------*/
  /*-------------------------------------
  // 参加企業一覧（Modifier）
  // /GUIDANCE/[YYYY]/kigyo_list
  //                   .list-item--kigyo
  -------------------------------------*/
  /* 社名外出し */
}
.list-item .new {
  position: relative;
  padding-left: 2.2em;
  margin-left: 2px;
}
.list-item .new::before {
  border: none;
}
.list-item .new::after {
  position: absolute;
  top: 0.35em;
  left: 0;
  display: block;
  width: 2.2em;
  height: 1.2em;
  line-height: 1.3;
  padding: 0 0 0 1px;
  content: "NEW";
  font-size: 0.85em;
  font-weight: bold;
  text-align: center;
  font-family: "Osaka－等幅", Osaka-mono, "ＭＳ ゴシック", "MS Gothic", monospace;
  background-color: #D7000F;
  color: #FFF;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .list-item .new::after {
    padding-right: 1px;
    font-weight: normal;
  }
}
.info_list.is_mix .list-item {
  border: none;
  margin: 0;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .info_list.is_mix .list-item {
    padding-bottom: 10px;
  }
  .info_list.is_mix .list-item .info-head {
    margin-bottom: 0.8em;
  }
}
.list-item .list-item__inner {
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.list-item .list-item__title {
  font-size: 1.4em;
  font-weight: 600;
  vertical-align: middle;
  margin-bottom: 0.5em;
  color: #BF000E;
}
.list-item .list-item__title img {
  vertical-align: middle;
  padding-left: 10px;
}
.list-item .list-item__title a {
  text-decoration: underline;
  color: #BF000E;
  font-weight: 500;
}
.list-item .list-item__title a:hover {
  color: #dc4e37;
}
.list-item .list-item__title a.new {
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .list-item .list-item__title {
    font-size: 1.3em;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .list-item .list-item__title {
    font-size: 1.2em;
  }
}
.list-item .list-item__info {
  padding: 0 1em;
  margin: 1em 0;
  /* ...続きを見る */
}
@media screen and (max-width: 767px) {
  .list-item .list-item__info {
    margin: 0.6em 0;
    padding: 0;
  }
}
@media screen and (max-width: 375px) {
  .list-item .list-item__info {
    font-size: 0.9em;
  }
}
@media screen and (max-width: 320px) {
  .list-item .list-item__info {
    display: none;
  }
}
.list-item .list-item__info a.more_info {
  padding-left: 1.5em;
  font-weight: 500;
  text-decoration: underline;
}
.list-item .list-item__left {
  width: 26%;
  max-height: 200px;
  overflow: hidden;
  text-align: center;
  /* 画像 */
}
.list-item .list-item__left > div {
  text-align: center;
}
.list-item .list-item__left .comimg {
  height: auto;
  max-width: 85%;
  max-height: 214px;
}
.list-item .list-item__right {
  width: 73%;
  padding-left: 2%;
  /* 日付とタグ */
}
.list-item .list-item__right .list-item__head {
  position: relative;
}
.list-item .list-item__right .list-item__head__date {
  position: absolute;
  top: 0.2em;
  right: 1em;
  font-size: 1.1em;
  font-weight: 500;
  color: #585858;
}
@media screen and (max-width: 767px) {
  .list-item {
    font-size: 0.9em;
    margin: 25px 0;
    padding-bottom: 25px;
  }
}
@media screen and (max-width: 375px) {
  .list-item .list-item__right .list-item__head__date {
    right: 0;
    font-size: 1em;
  }
}
.list-item--kigyo .list-item__title {
  font-size: 1.45em;
  padding-right: 0;
  line-height: 1.3;
  margin-bottom: 0.7em;
}
.list-item--kigyo .list-item__title .checkbox-on {
  text-indent: -2em;
  margin-left: 2em;
}
.list-item--kigyo .list-item__title .checkbox-off {
  margin-left: 1.5em;
}
@media screen and (max-width: 767px) {
  .list-item--kigyo .list-item__title {
    line-height: 1.4;
  }
  .list-item--kigyo .list-item__title .checkbox-on {
    margin-left: 1.2em;
  }
  .list-item--kigyo .list-item__title .checkbox-on a {
    margin-left: 5px;
  }
  .list-item--kigyo .list-item__title .checkbox-off {
    margin-left: 0.5em;
  }
}
.list-item--kigyo .list-item__inner {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; /* 上寄せ */
  position: relative;
  /* 左→右 */
  /* 右→左 */
  /* 概要 */
  /* 企業登録情報 */
  /* 3ボタンエリア */
  /* 3ボタン共通 */
  /* ブックマークしました */
  /* お知らせリンク・先輩紹介リンク */
}
@media screen and (max-width: 767px) {
  .list-item--kigyo .list-item__inner {
    padding-bottom: 5em;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .list-item--kigyo .list-item__inner {
    padding-bottom: 4em;
  }
}
.list-item--kigyo .list-item__inner .list-item__left {
  width: 34%;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.list-item--kigyo .list-item__inner .list-item__right {
  width: 66%;
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  padding-left: 3em;
  padding-bottom: 3.5em;
  position: relative;
  /* 業種 */
}
@media screen and (max-width: 767px) {
  .list-item--kigyo .list-item__inner .list-item__right {
    padding-left: 3%;
    padding-bottom: 0;
  }
}
.list-item--kigyo .list-item__inner .list-item__right .detail_gyosyu {
  margin-left: -0.5em;
}
.list-item--kigyo .list-item__inner .list-item__right .detail_gyosyu span {
  color: #666;
  font-size: 0.9em;
}
.list-item--kigyo .list-item__inner .list-item__info {
  color: #444;
}
.list-item--kigyo .list-item__inner .list-item__sub {
  position: absolute;
  display: inline-block;
  top: -3px;
  right: 5px;
}
@media screen and (max-width: 767px) {
  .list-item--kigyo .list-item__inner .list-item__sub {
    position: relative;
    top: 0;
    left: 0;
    margin: 0.5em 0 0.3em;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .list-item--kigyo .list-item__inner .list-item__sub .btn {
    padding: 4px 3px 3px;
  }
}
.list-item--kigyo .list-item__inner .detail_button {
  position: absolute;
  bottom: 0;
  left: 0;
  padding-left: 2em;
}
@media screen and (max-width: 767px) {
  .list-item--kigyo .list-item__inner .detail_button {
    bottom: -4.5em;
    left: 0;
    padding-left: 0;
    width: 89vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .list-item--kigyo .list-item__inner .detail_button {
    padding-bottom: -4em;
  }
}
.entry-close .list-item--kigyo .list-item__inner .detail_button {
  text-align: center;
}
.entry-open .list-item--kigyo .list-item__inner .detail_button {
  text-align: left;
}
.list-item--kigyo .list-item__inner .kigyo_btn {
  display: inline-block;
  margin-right: 5px; /* 10px */
}
.list-item--kigyo .list-item__inner .kigyo_btn .btn {
  min-width: 190px;
}
@media screen and (max-width: 767px) {
  .list-item--kigyo .list-item__inner .kigyo_btn {
    width: 50%;
    margin: 0 8px;
  }
  .list-item--kigyo .list-item__inner .kigyo_btn .btn {
    min-width: 0;
    width: 100%;
    /* ボタン大調整 */
    padding: 8px 10px 7px;
    font-size: 0.9em;
  }
  .list-item--kigyo .list-item__inner .kigyo_btn .btn::before {
    content: none; /* スマホは矢印トル */
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .list-item--kigyo .list-item__inner .kigyo_btn {
    margin: 0 3px;
  }
  .list-item--kigyo .list-item__inner .kigyo_btn .btn {
    padding: 5px 4px 4px;
  }
}
.list-item--kigyo .list-item__inner .btn.msg-ok {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.list-item--kigyo .list-item__inner .sub-info-tag {
  display: inline-block;
  font-size: 1em;
  text-decoration: none;
  background: #EEE;
  color: #333;
  padding: 0.4em 0.8em;
}
.list-item--kigyo .list-item__inner .sub-info-tag:hover {
  text-decoration: underline;
}
.list-item--kigyo .list-item__inner .sub-info-tag:empty {
  display: none;
}

/*-------------------------------------
// 画像サムネイル系一覧（動画・スライド等）
-------------------------------------*/
.thumb-list {
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: stretch;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.thumb-list__item {
  width: 33%;
  padding: 0 3%;
  margin-bottom: 2em;
}
.thumb-list__image {
  margin-bottom: 0.5em;
}
.thumb-list__head {
  font-size: 1.1em;
}
.thumb-list__head a {
  font-weight: 600;
}
.thumb-list__sub {
  font-size: 0.8em;
  color: #585858;
}
@media screen and (max-width: 767px) {
  .thumb-list__item {
    width: 50%;
    padding: 0 3%;
    margin-bottom: 2em;
  }
}

/*-------------------------------------
// お知らせ一覧系（事務局／企業）
-------------------------------------*/
.info_list_detail {
  width: 100%;
}

list-item:last-child .info_list_detail {
  padding-bottom: 0;
  border-bottom: none;
}

/* 事務局の場合 */
.info_list.is_jimu .detail_gyosyu,
.info_list.is_jimu .info_list .detail_gyosyu {
  position: absolute;
  top: -3px;
  left: 7em;
}

/*-------------------------------------
// 説明会・イベント一覧系
-------------------------------------*/
.event-list {
  /* レイアウト */
  /* 項目別 */
  /* レスポンシブ */
  /* ページ別調整 */
}
.event-list__item {
  vertical-align: middle;
}
.event-list__head {
  font-size: 1.1em;
  border-left: none;
  border-right: none;
  border-color: #46A2E0;
  border-width: 2px;
  background-color: #F0F6F9;
  border-bottom: none;
}
.event-list__attr {
  vertical-align: middle;
  border-left: none;
  border-right: none;
}
.event-list .attr-date {
  width: 230px;
  font-weight: 500;
  padding-left: 1em;
}
.event-list .attr-date__main {
  font-size: 1.1em;
}
.event-list .attr-date__sub {
  font-size: 0.9em;
  font-weight: 400;
}
.event-list .attr-title__name {
  font-size: 1.3em;
  font-weight: 600;
  color: #238ad0;
}
.event-list .attr-title__title {
  font-size: 1.1em;
  font-weight: 400;
}
.event-list .attr-detail {
  text-align: center;
  width: 170px;
}
@media screen and (max-width: 767px) {
  .event-list {
    display: block;
    /* 項目別 */
  }
  .event-list__thead, .event-list__tbody, .event-list__item, .event-list__head, .event-list__attr {
    display: block;
    width: 100%;
    border: none;
    padding: 0;
  }
  .event-list__thead.attr-date, .event-list__thead.attr-title, .event-list__thead.attr-place, .event-list__thead.attr-detail, .event-list__tbody.attr-date, .event-list__tbody.attr-title, .event-list__tbody.attr-place, .event-list__tbody.attr-detail, .event-list__item.attr-date, .event-list__item.attr-title, .event-list__item.attr-place, .event-list__item.attr-detail, .event-list__head.attr-date, .event-list__head.attr-title, .event-list__head.attr-place, .event-list__head.attr-detail, .event-list__attr.attr-date, .event-list__attr.attr-title, .event-list__attr.attr-place, .event-list__attr.attr-detail {
    width: 100%;
  }
  .event-list__thead {
    display: none;
  }
  .event-list__item {
    border-left: 4px solid #46A2E0;
    background-color: #F0F6F9;
    margin: 1.5em 0;
    padding: 1em;
    border-radius: 3px;
    -webkit-box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
            box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.2);
  }
  .event-list .attr-date {
    padding-left: 0;
  }
  .event-list .attr-title__title {
    margin-top: 0.5em;
    padding-left: 0.5em;
  }
  .event-list .attr-place {
    margin-top: 0.5em;
    padding-left: 1em;
    color: #585858;
    font-size: 0.9em;
  }
  .event-list .attr-detail {
    text-align: right;
    margin-top: 1em;
  }
}
.event .event-list .attr-title__name {
  text-decoration: underline;
  font-size: 1.2em;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  .event .event-list .attr-title__name {
    padding-left: 0;
  }
}

/*-------------------------------------
// 【共通パーツ】先輩社員インタビュー
// /GUIDANCE/[YYYY]/senior_list
// /GUIDANCE/[YYYY]/senior/cd/[XXXXX]/seq/[Z]
//   body#senior.senior       先輩詳細ページ
//   body#kigyo.senior_list   先輩一覧ページ（全企業／企業別）
//    └ .senior_list            【共通パーツ】先輩詳細 および 先輩一覧（全企業／企業別）
//        ├ .senior_list_detail    (一覧ページ)各先輩
//        └ .profile               (詳細ページ)各先輩
//            └ .senior_data        【共通パーツ】先輩基本情報
-------------------------------------*/
/* 一覧 */
.senior_list {
  /* レスポンシブ */
}
.senior_list .list-item__left {
  width: 33%;
}
.senior_list .list-item__right {
  width: 66%;
}
.senior_list .list-item__left {
  max-height: 240px;
  /* 先輩写真 */
}
.senior_list .list-item__left .comimg {
  max-height: 240px;
}
.senior_list .list-item__left .profile img {
  border: 1px solid #BBB;
  padding: 3px;
}
.senior_list .list-item__right {
  /* 社名 */
  /* キャッチコピー */
}
.senior_list .list-item__right .list-item__kigyo a {
  font-weight: 600;
  font-size: 1.1em;
}
.senior_list .list-item__right .list-item__title {
  font-size: 1.5em;
  margin: 1em 0 0.5em 0;
}
.senior_list .list-item__right .list-item__title, .senior_list .list-item__right .list-item__title a {
  color: #238ad0;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .senior_list {
    line-height: 1.2;
  }
  .senior_list .list-item__right .list-item__btn-detail {
    margin-top: 4em !important;
  }
  .senior_list .list-item__right .list-item__title {
    font-size: 1.2em;
    margin: 0.5em 0 0 0;
    border-left-width: 5px;
  }
}

/* 【共通パーツ】先輩基本情報 */
.senior_data {
  padding: 13px 0 0 16px;
  /* 氏名 */
  /* 職種 */
  /* レスポンシブ */
}
.senior_data .name {
  position: relative;
  border-bottom: 1px solid #999999;
}
.senior_data .name a {
  text-decoration: none;
}
.senior_data .name .name_kanji {
  font-size: 1.3em;
  font-weight: 600;
  padding-right: 1em;
}
.senior_data .name .name_kana {
  color: #999999;
  /*display: block;*/
  padding-top: 0.3em;
  font-size: 0.9em;
  letter-spacing: -0.2px;
}
.senior_data .name .join_year {
  position: absolute;
  right: 0;
  padding-right: 1em;
}
.senior_data .job {
  padding: 0.5em;
  font-size: 1em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .senior_data {
    padding-left: 6px;
  }
  .senior_data .name .name_kana {
    position: absolute;
    left: 1px;
    bottom: -1.8em;
    display: block;
  }
  .senior_data .name .join_year {
    left: 1px;
    bottom: -3.3em;
  }
  .senior_data .job {
    display: none;
  }
  .senior_data .section {
    margin-bottom: 0.3em;
  }
}

/*
================= 目次 =================

// jQueryUI（カレンダー）

========================================
*/
/*-------------------------------------
// jQueryUI（カレンダー）
// jquery.ui.datepicker-ja.min.js
-------------------------------------*/
.ui-datepicker {
  width: 15em !important;
}
.ui-datepicker .ui-datepicker-title {
  font-size: 0.95em;
}
.ui-datepicker th {
  font-size: 0.8em;
}
.ui-datepicker td span, .ui-datepicker td a {
  line-height: 1.5;
  font-size: 0.8em;
}
.ui-datepicker .ui-state-highlight,
.ui-datepicker .ui-widget-content .ui-state-highlight,
.ui-datepicker .ui-widget-header .ui-state-highlight {
  border-color: #d8ab3d !important; /* 本日マーカーが薄いので */
}
.ui-datepicker .ui-datepicker-current-day a.ui-state-active {
  border-width: 2px;
}
.ui-datepicker .ui-datepicker-prev-hover {
  top: 2px !important;
  left: 2px !important;
  -webkit-transition: none;
  transition: none;
}
.ui-datepicker .ui-datepicker-next-hover {
  top: 2px !important;
  right: 2px !important;
  -webkit-transition: none;
  transition: none;
}

/* 入力エリアのカレンダーアイコン */
input.datepickers {
  background: url(../js/lib/datepicker/ico_cal.png) no-repeat scroll 95% 50%;
  background-color: rgba(0, 0, 0, 0);
  width: 100px;
}

/*-------------------------------------
// Drawer（ドロワーメニュー）
// drawer.min.js
-------------------------------------*/
.gnav.drawer-nav {
  width: 300px;
  color: initial;
  background-color: #46A2E0;
  z-index: 20;
  overflow-y: auto;
}
@media screen and (max-width: 767px) {
  .gnav.drawer-nav {
    padding-bottom: 30px;
  }
}

.drawer-hamburger {
  padding: 16px 12px 22px !important;
  top: 0px !important;
  width: 26px !important;
  z-index: 20 !important;
  background-color: #FFF !important;
}

.drawer-overlay {
  z-index: 5 !important;
}

@media print, (min-width: 768px) {
  .drawer-hamburger {
    display: none !important;
  }
  .drawer-nav {
    -webkit-transition: none !important;
    transition: none !important;
  }
  .drawer-open .drawer-overlay {
    display: none;
  }
  /* 左メニュー */
  .drawer--left .drawer-nav,
  .drawer--left .drawer-hamburger,
  .drawer--left.drawer-open .drawer-nav,
  .drawer--left.drawer-open .drawer-navbar .drawer-hamburger {
    left: 0 !important;
  }
  /* 右メニュー */
  .drawer--right .drawer-nav,
  .drawer--right .drawer-hamburger,
  .drawer--right.drawer-open .drawer-nav,
  .drawer--right.drawer-open .drawer-navbar .drawer-hamburger {
    right: 0 !important;
  }
}
@media screen and (max-width: 767px) {
  .gnav.drawer-nav {
    width: 315px;
  }
  /* 左メニュー */
  /* 右メニュー */
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .gnav.drawer-nav {
    width: 270px;
  }
}
@media screen and (max-width: 767px) {
  .drawer--left:not(.drawer-open) .drawer-nav {
    left: -315px !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .drawer--left:not(.drawer-open) .drawer-nav {
    left: -270px !important;
  }
}
@media screen and (max-width: 767px) {
  .drawer--left.drawer-open .drawer-hamburger {
    left: 315px !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .drawer--left.drawer-open .drawer-hamburger {
    left: 270px !important;
  }
}
@media screen and (max-width: 767px) {
  .drawer--right:not(.drawer-open) .drawer-nav {
    right: -315px !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .drawer--right:not(.drawer-open) .drawer-nav {
    right: -270px !important;
  }
}
@media screen and (max-width: 767px) {
  .drawer--right.drawer-open .drawer-hamburger {
    right: 315px !important;
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .drawer--right.drawer-open .drawer-hamburger {
    right: 270px !important;
  }
}
/* 【特記】右メニュー時（コンテンツをすべて左に寄せる） */
@media print, (min-width: 768px) {
  .drawer--right .header-main {
    left: 0;
  }
  .drawer--right .main {
    float: left !important;
  }
  .drawer--right #footer {
    margin-left: 0;
  }
}
@media screen and (max-width: 767px) {
  .drawer--right .logo {
    padding: 0 14rem 0 0rem;
  }
}

/*
================= 目次 =================

//
//
//

========================================
*/
@media print, (min-width: 768px) {
  #header {
    background-color: #46A2E0 !important;
  }
}

/*-------------------------------------
// ヘッダーメイン
-------------------------------------*/
.header-main {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 89px;
  z-index: 5;
  background-color: #FFF;
  -webkit-box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
          box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.3);
  border-bottom: 1px solid #238ad0;
  /* Modifier（セミナー専用ヘッダー） */
  /* Modifier（ロゴのみシンプル） */
}
.header-main__inner {
  width: 1200px;
  margin: 0 auto;
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: flex-start;
  -webkit-box-pack: flex-start;
  -ms-flex-pack: flex-start;
  align-items: initial;
  -webkit-box-align: initial;
  -ms-flex-align: initial;
}
.header-type--seminar .header-main {
  position: relative;
}
.header-type--seminar .header-main__inner {
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header-type--seminar .header-main__inner .logo {
  height: auto;
}

.header-type--simple {
  height: 51px !important;
}
.header-type--simple .header-main {
  height: 51px;
}
.header-type--simple .header-main__inner {
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.header-type--simple .header-main__inner .logo {
  height: auto;
}

/*-------------------------------------
// ヘッダーワーニング
// （YYYY年3月卒業予定の方は・・・）
-------------------------------------*/
#header.site-warning {
  border-top-width: 30px;
  height: 119px;
}
#header.site-warning .header-warning {
  color: #ff0;
  font-weight: bold;
  position: fixed;
  text-align: center;
  top: 0px;
  background-color: #000;
  left: 0;
  width: 100%;
  font-size: 1em;
  z-index: 999;
  height: 30px;
  line-height: 30px;
}
@media screen and (max-width: 1280px) {
  #header.site-warning .header-warning {
    font-size: 0.9em;
  }
}
@media screen and (max-width: 1024px) {
  #header.site-warning .header-warning {
    font-size: 0.85em;
  }
}
@media screen and (max-width: 767px) {
  #header.site-warning .header-warning {
    font-size: 0.8em;
  }
}
#header.site-warning .header-warning a {
  color: #FFF;
  text-decoration: none;
}
#header.site-warning .header-warning a:hover {
  text-decoration: underline;
  color: #FF0;
}
#header.site-warning .header-warning strong {
  color: #FF0;
  font-size: 1.1em;
}
#header.site-warning .header-main {
  top: 30px;
}
#header.site-warning .sub {
  top: 87px;
}

/*-------------------------------------
// サイトロゴ（タイトル）
-------------------------------------*/
.logo {
  height: 100%;
  display: inline-block;
}
.logo__title {
  font-size: 2.8rem;
  margin: 6px 0 0.1em 0;
  display: inline-block;
}
.logo__link, .logo__link:hover {
  color: #333;
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  align-items: stretch;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
}
.logo__image {
  max-height: 60px;
  width: 350px;
}
.logo__sub {
  display: inline-block;
  padding: 0 0 0 25px;
  font-size: 1.6rem;
  font-weight: 500;
  color: #3f3f3f;
}

/*-------------------------------------
// ヘッダー他
-------------------------------------*/
.header-main {
  /* SNSメニュー */
}
.header-main .header-main__extra {
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: left;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}
.header-main .header-main__extra-sns {
  padding-bottom: 0 !important;
  margin: 7px 15px 0 15px;
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: left;
  -webkit-box-pack: left;
  -ms-flex-pack: left;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}
.header-main .header-main__extra-sns .gnav__item .btn {
  margin: 6px 0.5rem 0;
}

.sub__button .info-badge {
  position: absolute;
  top: 4px;
  right: 3px;
  font-size: 12px !important;
  line-height: 1.5;
}
.drawer-open .sub__button .info-badge {
  display: none;
}

/*-------------------------------------
// スクロール表示／非表示
-------------------------------------*/
@media print, (min-width: 768px) {
  #header.js-float-in-down .header-main,
  #header.js-float-in-down .sub {
    -webkit-animation: float_in_down 0.5s forwards;
            animation: float_in_down 0.5s forwards;
  }
  #header.js-float-out-up .header-main,
  #header.js-float-out-up .sub {
    -webkit-animation: float_out_up 0.5s forwards;
            animation: float_out_up 0.5s forwards;
  }
}
@media screen and (max-width: 767px) {
  #header.js-float-in-down .header-main,
  #header.js-float-in-down .sub__button,
  #header.js-float-in-down .sub__body {
    -webkit-animation: float_in_down 0.5s forwards;
            animation: float_in_down 0.5s forwards;
  }
  #header.js-float-out-up .header-main,
  #header.js-float-out-up .sub__button,
  #header.js-float-out-up .sub__body {
    -webkit-animation: float_out_up 0.5s forwards;
            animation: float_out_up 0.5s forwards;
  }
}
/*
================= 目次 =================

//
//
//

========================================
*/
/*-------------------------------------
// グローバルナビ
-------------------------------------*/
.gnav__item {
  position: relative;
}
.gnav__item a:hover, .gnav__item a:focus, .gnav__item a:active {
  text-decoration: none;
}
.gnav__item.is-active a {
  font-weight: 500;
}

@media print, (min-width: 768px) {
  .gnav {
    /* メインメニュー */
    /* 会員メニュー */
    /* サブメニュー */
    /* 企業キーワード検索ボックス */
  }
  .gnav.drawer-nav {
    position: relative;
    top: 0;
    width: 1200px;
    height: auto;
    margin: 0 auto;
    background-color: transparent;
    overflow: visible;
  }
  .gnav__list.gnav-main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 1200px;
  }
  .gnav__list.gnav-main .gnav__item {
    font-size: 1.55rem;
    letter-spacing: -1px;
  }
  .gnav-main::before, .gnav__list.gnav-main .gnav__item::after {
    content: "";
    width: 2px;
    height: 1.2em;
    background-color: #666;
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -0.55em;
  }
  .gnav__list.gnav-main .gnav__item::after {
    right: 0;
  }
  .gnav-main::before {
    left: 0;
  }
  .gnav__list.gnav-main .gnav__item a {
    padding: 0 1.2rem;
    color: #585858;
    font-weight: 600;
  }
  .gnav__list.gnav-main .gnav__item a:hover, .gnav__list.gnav-main .gnav__item a:focus, .gnav__list.gnav-main .gnav__item a:active {
    color: #dc4e37;
  }
  .gnav__list.gnav-member {
    position: absolute;
    top: -57px;
    right: 0;
    display: -webkit-box;
    display: flex;
    display: -ms-flexbox;
    justify-content: right;
    -webkit-box-pack: right;
    -ms-flex-pack: right;
    align-items: stretch;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
  }
  .gnav__list.gnav-member .gnav__item .btn {
    margin: 0;
  }
  .gnav__list.gnav-member .mypage-menu {
    display: none;
  }
  .gnav__list.gnav-member .btn-square--mypage .info-badge {
    right: 6px;
    top: 4px;
    font-size: 0.8em;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 22px;
    height: 22px;
  }
  .gnav__list.gnav-sub {
    display: none;
  }
  .gnav__list.gnav-search {
    position: absolute;
    top: -45px;
    right: 400px;
  }
  .gnav__list.gnav-search .gnav-search__box {
    width: 280px;
  }
}
/*-------------------------------------
// ページマーカ
// ※is_active等付加ではなくページidとの組み合わせから
-------------------------------------*/
.gnav {
  /* メインメニュー */
  /* 会員メニュー */
  /* サブメニュー */
}
#top .gnav .gnav-main__top a, #guidance .gnav .gnav-main__guidance a, #kigyo.kigyo_list .gnav .gnav-main__company a, #kigyo.kigyo .gnav .gnav-main__company a, #kigyo.senior_list .gnav .gnav-main__company a, #kigyo.senior .gnav .gnav-main__company a, #kigyo.info_list.is_kigyo .gnav .gnav-main__companynews a, #kigyo.info_list.is_jimu .gnav .gnav-main__news a, #kigyo.info.is_kigyo .gnav .gnav-main__companynews a, #kigyo.info.is_jimu .gnav .gnav-main__news a, #kigyo.event_list .gnav .gnav-main__event a, #guidebook .gnav .gnav-main__company a, #diagnosis .gnav .gnav-main__diagnosis a, #tips .gnav .gnav-main__tips a, #diagnosis .gnav .gnav-main__special a, #tips .gnav .gnav-main__special a, #support .gnav .gnav-main__special a, #special .gnav .gnav-main__special a, #news .gnav .gnav-main__news a, #gokui_mendan .gnav .gnav-main__card a, #print_pdf .gnav .gnav-main__card a, #toroku .gnav .gnav-main__card a {
  font-weight: 700;
}
@media print, (min-width: 768px) {
  #top .gnav .gnav-main__top a, #guidance .gnav .gnav-main__guidance a, #kigyo.kigyo_list .gnav .gnav-main__company a, #kigyo.kigyo .gnav .gnav-main__company a, #kigyo.senior_list .gnav .gnav-main__company a, #kigyo.senior .gnav .gnav-main__company a, #kigyo.info_list.is_kigyo .gnav .gnav-main__companynews a, #kigyo.info_list.is_jimu .gnav .gnav-main__news a, #kigyo.info.is_kigyo .gnav .gnav-main__companynews a, #kigyo.info.is_jimu .gnav .gnav-main__news a, #kigyo.event_list .gnav .gnav-main__event a, #guidebook .gnav .gnav-main__company a, #diagnosis .gnav .gnav-main__diagnosis a, #tips .gnav .gnav-main__tips a, #diagnosis .gnav .gnav-main__special a, #tips .gnav .gnav-main__special a, #support .gnav .gnav-main__special a, #special .gnav .gnav-main__special a, #news .gnav .gnav-main__news a, #gokui_mendan .gnav .gnav-main__card a, #print_pdf .gnav .gnav-main__card a, #toroku .gnav .gnav-main__card a {
    /* PC */
    color: #dc4e37;
  }
}
@media screen and (max-width: 767px) {
  #top .gnav .gnav-main__top a, #guidance .gnav .gnav-main__guidance a, #kigyo.kigyo_list .gnav .gnav-main__company a, #kigyo.kigyo .gnav .gnav-main__company a, #kigyo.senior_list .gnav .gnav-main__company a, #kigyo.senior .gnav .gnav-main__company a, #kigyo.info_list.is_kigyo .gnav .gnav-main__companynews a, #kigyo.info_list.is_jimu .gnav .gnav-main__news a, #kigyo.info.is_kigyo .gnav .gnav-main__companynews a, #kigyo.info.is_jimu .gnav .gnav-main__news a, #kigyo.event_list .gnav .gnav-main__event a, #guidebook .gnav .gnav-main__company a, #diagnosis .gnav .gnav-main__diagnosis a, #tips .gnav .gnav-main__tips a, #diagnosis .gnav .gnav-main__special a, #tips .gnav .gnav-main__special a, #support .gnav .gnav-main__special a, #special .gnav .gnav-main__special a, #news .gnav .gnav-main__news a, #gokui_mendan .gnav .gnav-main__card a, #print_pdf .gnav .gnav-main__card a, #toroku .gnav .gnav-main__card a {
    /* スマホ */
    background-color: #1f7cba;
  }
}
@media screen and (max-width: 767px) {
  #mypage.mypage_gcode .gnav .gnav-member__gcode a {
    /* スマホのみ */
    font-weight: 700;
  }
}
@media screen and (max-width: 767px) {
  #faq .gnav .gnav-sub__faq a, #bookmark .gnav .gnav-sub__bookmark a {
    /* スマホのみ */
    font-weight: 500;
    text-decoration: underline;
  }
}

/*-------------------------------------
// マイページメニュー追加
//
-------------------------------------*/
#mypage .mypage__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.mypage__menu {
  position: fixed;
  top: 32px;
  left: 0;
  display: none;
  z-index: 1;
  background-color: #004199;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  padding: 0em;
  -webkit-box-shadow: 0px 2px 6px rgba(0, 65, 153, 0.5);
          box-shadow: 0px 2px 6px rgba(0, 65, 153, 0.5);
}
@media screen and (max-width: 1200px) {
  .mypage__menu {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .mypage__menu {
    position: unset;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.mypage__menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 1200px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  padding: 5px 20px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .mypage__menu__list {
    width: 100%;
    font-size: 0.9em;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0;
  }
}
.mypage__menu__list__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-right: 2px solid #fff;
  padding: 0 15px;
  position: relative;
  font-size: 0.85em;
}
.mypage__menu__list__item:last-child {
  border-right: 0px solid #fff;
}
@media screen and (max-width: 767px) {
  .mypage__menu__list__item {
    padding: 0;
    width: 100%;
    border-right: 0;
  }
}
.mypage__menu__list__item .icon {
  color: #82dfff;
}
.mypage__menu__link {
  color: #fff;
  width: 100%;
}
.mypage__menu__link:hover {
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .mypage__menu__link {
    padding: 6px 0;
    font-size: 1.6rem;
    display: block;
    text-align: center;
    background-color: #0071C0;
    border: 1px solid #00538d;
    color: #FFF;
    text-shadow: 0 1px rgba(0, 0, 0, 0.1);
  }
}
@media screen and (max-width: 767px) and (max-width: 375px) {
  .mypage__menu__link {
    font-size: 1.45rem;
  }
}
@media screen and (max-width: 767px) {
  .mypage__menu__link:hover, .mypage__menu__link:focus {
    background-color: #0080da;
    border-color: #004474;
    color: #FFF;
  }
}
.mypage__menu__link__txt:hover {
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .mypage__menu__link .icon {
    display: none;
  }
}
.mypage__menu__link__badge {
  width: 20px;
  height: 20px;
  left: 3px;
  top: -5px;
  font-size: 12px !important;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .mypage__menu__link__badge {
    top: 7px;
    left: unset;
    right: 5px;
  }
}

.info-badge {
  background: #ce0f19;
  color: #fff;
  border-radius: 50%;
  display: inline-block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  z-index: 1;
  width: 18px;
  height: 18px;
  font-size: 0.8em;
}
/*
================= 目次 =================

// 
// 
// 

========================================
*/
/*-------------------------------------
// メインコンテンツ共通
-------------------------------------*/
.main {
  /* 段落 */
}
.main p {
  margin-bottom: 0.8em;
}

/*
================= 目次 =================

// 
// 
// 

========================================
*/
/*-------------------------------------
// サイドコンテンツ
-------------------------------------*/
/*
================= 目次 =================

// 
// 
// 

========================================
*/
/*-------------------------------------
// フッターメイン
-------------------------------------*/
.footer-main {
  width: 1200px;
  margin: 0 auto;
  background-color: #46A2E0;
  text-align: center;
  /* SNSリンク */
  /* フッターロゴ */
}
.footer-main__list {
  margin: 0 auto;
}
.footer-main .extra-sns {
  margin: 10px 30px;
  display: -webkit-box;
  display: flex;
  display: -ms-flexbox;
  justify-content: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  align-items: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
}
.footer-main .extra-sns__item {
  padding: 10px;
}
.footer-main .extra-sns__item .icon {
  font-size: 38px;
}
.footer-main .extra-sns__item .icon::before, .footer-main .extra-sns__item .icon:hover::before {
  color: #FFF;
}
.footer-main .extra-sns__item .icon:hover::before {
  opacity: 0.8;
}
.footer-main .footer-sign {
  margin: 40px auto 20px;
}
.footer-main .footer-sign__logo {
  width: 186px;
  height: auto;
  margin-bottom: 20px;
}
.footer-main .footer-sign__contact {
  font-size: 1.4rem;
}

/*-------------------------------------
// ページトップへ
-------------------------------------*/
.to-top {
  display: none;
  position: fixed;
  bottom: 120px;
  right: 15px;
  z-index: 5;
  background-color: #FFF;
  border-bottom: 1px solid #238ad0;
  border-top: 3px solid #238ad0;
  -webkit-box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.2);
          box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.2);
}
.to-top__link {
  display: block;
  width: 64px;
  height: 64px;
  padding-top: 4px;
  line-height: 1em;
  text-align: center;
  text-decoration: none;
  font-size: 48px;
  border-left: 1px solid #CCC;
  border-right: 1px solid #CCC;
  color: #1D1E22;
}
.to-top__link:hover, .to-top__link:active, .to-top__link:focus {
  color: #1D1E22;
  text-decoration: none;
}
.to-top__link:hover .to-top__arrow {
  top: 0px;
}
.to-top__arrow {
  position: relative;
  left: -1px;
  top: 3px;
  -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}

/*-------------------------------------
// コピーライト
-------------------------------------*/
.footer-address {
  margin: 30px auto 5px;
}
.footer-address__copyright {
  text-align: center;
  font-size: 1.3rem;
  color: #FFF;
}
.footer-address__english {
  display: inline-block;
}

/*
================= 目次 =================

// 
// 
// 

========================================
*/
/*-------------------------------------
// 
-------------------------------------*/
/*
================= 目次 =================

// 会員登録
//
//

========================================
*/
.error {
  margin: 0;
  padding: 0;
  color: #EE0000;
  font-size: 1.1em;
}

.input-error {
  background-color: #FFF1EF !important;
  border-color: #EF6868 !important;
}
.input-error.chk_wrap {
  display: inline-block;
  margin-right: 2%;
  padding: 0.5em 0 0.5em 0.5em;
}
.input-error.chk_wrap--mypage {
  display: inline-block;
  padding: 0.5em 0 0.5em 0.8em;
}

.in_table_form {
  /*会員登録*/
  /*マイページ*/
}
.in_table_form label:hover {
  color: #dc4e37;
}
.in_table_form .other_item {
  border-bottom: 2px dotted #cccccc;
  margin-bottom: 5px;
  margin-right: 5%;
  padding-bottom: 3px;
}
.in_table_form .check_textarea {
  padding-right: 3%;
  word-break: break-word;
}
.in_table_form .check_textarea p {
  border-bottom: 2px solid #e0e0e0;
  margin-bottom: 5px;
}
.in_table_form .toggle_area__caut {
  margin-bottom: 1em;
  display: block;
}
@media screen and (max-width: 767px) {
  .in_table_form dt {
    border-top: 2px solid #46A2E0 !important;
  }
}
.in_table_form dt .attention {
  color: #D7000F !important;
}
.in_table_form dd .search-tbl__main_item.job_item {
  margin-right: 3%;
}
.in_table_form dd .subtitle {
  margin: 0.6em 0.3em 0.2em;
  font-weight: 500;
  color: #238ad0;
  border-bottom: 1px solid #46A2E0;
  position: relative;
  left: -0.4em;
  pointer-events: none;
}
.in_table_form dd .subtitle input[type=checkbox] {
  display: none;
}
.in_table_form dd .subtitle label {
  font-size: 1.1em;
}
.in_table_form dd .subtitle label:hover, .in_table_form dd .subtitle label:focus {
  color: #dc4e37;
}
.in_table_form .input-disabled label {
  pointer-events: none;
}
.in_table_form .input-disabled--limit {
  color: #999;
}
.in_table_form .in_table_form__content {
  border-left: 1px solid #E0E0E0;
}
.in_table_form .in_table_form__content .other_item, .in_table_form .in_table_form__content .check_textarea p {
  border-bottom: 2px solid #e0e0e0;
  margin-bottom: 5px;
}
.in_table_form .in_table_form__content th {
  width: 25%;
  text-align: left;
  font-size: 1.7rem;
}
@media screen and (max-width: 767px) {
  .in_table_form .in_table_form__content th {
    border-top: 2px solid #46A2E0 !important;
  }
}
.in_table_form .in_table_form__content th .attention {
  color: #D7000F !important;
}
@media print, (min-width: 768px) {
  .in_table_form .in_table_form__content td {
    padding-left: 25px;
  }
}
.in_table_form .in_table_form__content td .subtitle {
  margin: 0.6em 0 0.2em;
  font-weight: 500;
  font-size: 1.1em;
  color: #238ad0;
  border-bottom: 1px solid #46A2E0;
  position: relative;
  left: -0.4em;
  pointer-events: none;
}
.in_table_form .in_table_form__content td .subtitle input[type=checkbox] {
  display: none;
}
.in_table_form .in_table_form__content td .subtitle label {
  font-size: 1.1em;
}
.in_table_form .in_table_form__content td .subtitle label:hover, .in_table_form .in_table_form__content td .subtitle label:focus {
  color: #dc4e37;
}

.scout_doui_wrap {
  border: 1px solid #CCC;
  background-color: #F6F6F6;
}/*# sourceMappingURL=style.css.map */