@charset "UTF-8";
/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 外部ファイルの読み込み */
/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 外部フォントCSSファイルの読み込み*/
@import url("https://fonts.googleapis.com/css?family=Montserrat:400i,600i|Noto+Sans+JP:400,700|Roboto+Condensed:400,700&display=swap&subset=japanese");
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: リセットCSS と body要素の文字（色・書体）と背景色*/
/* Body要素の背景色 */
/* Body要素の文字色 */
/* Body要素の書体 */
/* リセット用のプレイスフォルダ */
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td, body, html {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  font-style: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

body, html {
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  background-color: #fff;
  color: #000000;
}
body a {
  color: #045caa;
  text-decoration: none;
}
body a:hover {
  color: #205dbf;
  text-decoration: underline;
}
body {
  font-family: -apple-system, BlinkMacSystemFont, "Noto Sans JP", "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  font-size: 100%;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5em;
}

/* リセット処理関数 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: メディアクエリー*/
/* 切り替えポイントの設定 */
/* 処理 */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: クリアフィックス*/
/* Class と ステークホルダー の名称設定 */
/* 処理 */
body:after, html:after, .clearfix:after {
  content: "";
  display: block;
  clear: both;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: スクリーンリーダー*/
/* スクリーンリーダーテキスト の名称設定 */
/* 処理 */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
}

/*
WYSIWYGエディタに関わる部分の設定し、ステークホルダーにてサイトの随所で再利用します。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
NOTE

・ リセットCSS適用後に再設定するための定義です。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
INDEX

#01 要素の基本定義

	#01-01 Colors
		font-color
		background-color
		background-image
		border-color（ top, right, bottom, left ）

	#01-02 font-family
		font-family
		@include (WebFontの読み込み)

	#01-03 border-style
		border-style

	#01-04 Fonts ( font-color font-family 以外を定義 ) 
		font
		line-height
		…

	#01-03 Box Model (梱包される親の横幅を100％使った時の定義)
		margin
		border-size
		padding
		…

	#01-05 layout
		display
		width
		height
		float
		…

#02 WYSIWYG部分の設定

/*
┌─────────────────────────────
│ #01 要素の基本定義
│ 
*/
.wysiwyg table, .wysiwyg dl, .wysiwyg ol, .wysiwyg ul, .wysiwyg p, .wysiwyg h6, .wysiwyg h5, .wysiwyg h4, .wysiwyg h3, .wysiwyg h2, .wysiwyg h1 {
  margin-left: auto;
  margin-right: auto;
}

.wysiwyg table, .wysiwyg dl, .wysiwyg ol, .wysiwyg ul, .wysiwyg p, .wysiwyg h6, .wysiwyg h5, .wysiwyg h4, .wysiwyg h3, .wysiwyg h2, .wysiwyg h1 {
  margin-bottom: 2em;
}
@media only screen and (max-width: 640px) {
  .wysiwyg table, .wysiwyg dl, .wysiwyg ol, .wysiwyg ul, .wysiwyg p, .wysiwyg h6, .wysiwyg h5, .wysiwyg h4, .wysiwyg h3, .wysiwyg h2, .wysiwyg h1 {
    margin-bottom: 3vw;
  }
}

.wysiwyg span {
  display: inline;
}

.wysiwyg h1 {
  font-size: 2.5em;
  line-height: 1.2;
}

.wysiwyg h2 {
  font-size: 2em;
  line-height: 1.2;
}

.wysiwyg h3 {
  font-size: 1.75em;
  line-height: 1.2;
}

.wysiwyg h4 {
  font-size: 1.5em;
  line-height: 1.2;
}

.wysiwyg h5 {
  font-size: 1.25em;
  line-height: 1.2;
}

.wysiwyg h6 {
  font-size: 1em;
  line-height: 1.2;
}

.wysiwyg strong {
  font-weight: bold;
}

.wysiwyg img {
  max-width: 100%;
}

.wysiwyg ul {
  list-style: disc;
}
.wysiwyg ul ul,
.wysiwyg ul ol {
  width: auto;
  margin-bottom: 0;
}

.wysiwyg ol {
  list-style: decimal;
}
.wysiwyg ol ul,
.wysiwyg ol ol {
  width: auto;
  margin-bottom: 0;
}

.wysiwyg li {
  margin-left: 1.5em;
}

/*
┌─────────────────────────────
│ #02 WYSIWYG部分の設定
│ 
*/
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: リセットCSS と サイトの初期設定 */
html * {
  box-sizing: border-box;
  font-feature-settings: "palt";
  word-break: break-all;
}

body {
  position: relative;
}
@media only screen and (max-width: 1000px) {
  body {
    font-size: 0.9375em;
  }
}
@media only screen and (max-width: 640px) {
  body {
    font-size: 0.875em;
  }
}
body img {
  vertical-align: middle;
}

:focus {
  outline: 0;
}

ol,
ul {
  list-style: none;
}

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

caption,
th,
td {
  font-weight: normal;
  text-align: left;
}

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

blockquote,
q {
  quotes: "" "";
}

a img {
  border: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: WYSIWYGエディタ「 TinyMCE 」の記事の表示設定 */
.wysiwyg {
  max-width: 1100px;
  width: 100%;
  margin: 1em auto 0;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .wysiwyg {
    margin: 1em auto 2.5em;
  }
}
.wysiwyg img {
  max-width: 100%;
  height: auto;
}
.wysiwyg table {
  word-break: break-all;
}
.wysiwyg .entry-header {
  margin-bottom: 30px;
}
.wysiwyg .entry-header .meta {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  width: 100%;
  margin: 0.8em 0 0;
}
.wysiwyg .entry-header time {
  margin-right: 0.5em;
}
.wysiwyg .entry-header .news-category01 {
  background-color: #003891;
  border-radius: 5px;
  color: #fff;
  font-size: 80%;
  line-height: 1.8em;
  padding: 0 0.4em;
  margin: 0;
}
.wysiwyg .entry-header .news-category02 {
  background-color: #e8e5e2;
  border-radius: 5px;
  color: #003891;
  font-size: 80%;
  line-height: 1.8em;
  padding: 0 0.4em;
  margin: 0;
}
.wysiwyg .entry-header h1 {
  color: #003891;
  font-size: 1.3125em;
  font-weight: bold;
  width: 100%;
  margin: 0;
  text-align: left;
  box-sizing: border-box;
  line-height: 1.4;
}
.wysiwyg .back-button-wrapper {
  margin: 60px auto;
}
@media only screen and (max-width: 1000px) {
  .wysiwyg .back-button-wrapper {
    margin: 60px auto 25px;
  }
}
.wysiwyg .alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 640px) {
  .wysiwyg .alignleft {
    float: none;
    margin-right: 0;
    margin-bottom: 3vw;
    width: 100%;
  }
}
.wysiwyg .alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 640px) {
  .wysiwyg .alignright {
    float: none;
    margin-left: 0;
    margin-bottom: 3vw;
    width: 100%;
  }
}
.wysiwyg .aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 640px) {
  .wysiwyg .aligncenter {
    width: 100%;
  }
}
.wysiwyg h2 {
  color: #003891;
  font-size: 2em;
  font-weight: bold;
  border-bottom: 1px solid #003891;
  margin-bottom: 24px;
  padding-bottom: 18px;
  padding-left: 20px;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .wysiwyg h2 {
    font-size: 1.2em;
    padding-left: 15px;
    padding-bottom: 8px;
    margin-bottom: 14px;
  }
}
.wysiwyg h2:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  margin-bottom: 18px;
  width: 5px;
  background-color: #003891;
}
@media only screen and (max-width: 640px) {
  .wysiwyg h2:after {
    width: 4px;
    margin-bottom: 8px;
  }
}
.wysiwyg h3 {
  font-size: 1.25em;
  font-weight: bold;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: テーブルスタイル */
.wysiwyg table {
  border-collapse: collapse;
  width: 100%;
}
.wysiwyg table tr {
  border-bottom: 1px solid #003891;
}
.wysiwyg table tr:first-child {
  border-top: 1px solid #003891;
}
.wysiwyg table th, .wysiwyg table td {
  font-size: 0.8125em;
  padding: 0.6em;
  vertical-align: middle;
}
.wysiwyg table th {
  padding-right: 0;
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 番号ありリスト */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 番号ありリスト */
.disc-list {
  list-style: disc;
}
.disc-list ul,
.disc-list ol {
  width: auto;
  margin-bottom: 0;
}
.disc-list li {
  margin-left: 2em;
}

.disc-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}
.disc-list li {
  width: calc(33.333% - 2em);
  line-height: 2;
}
@media only screen and (max-width: 640px) {
  .disc-list li {
    width: calc(100% - 2em);
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 共通スタイル */
.en {
  font-family: "Montserrat", sans-serif;
  font-style: italic;
}

.gradation-01 {
  background: -moz-linear-gradient(left, #0071ba, #008d9a);
  background: -webkit-linear-gradient(left, #0071ba, #008d9a);
  background: linear-gradient(to right, #0071ba, #008d9a);
}

.gradation-02 {
  background: -moz-linear-gradient(left, #003891, #450091);
  background: -webkit-linear-gradient(left, #003891, #450091);
  background: linear-gradient(to right, #003891, #450091);
}

@media only screen and (max-width: 640px) {
  .nosp {
    display: none;
  }
}

.nopc {
  display: none;
}
@media only screen and (max-width: 640px) {
  .nopc {
    display: block;
  }
}

.flex-box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

.container {
  max-width: 1280px;
  width: 90%;
  margin: 0 auto;
  padding: 3em 0;
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: サイドバーありスタイル */
#main {
  width: calc(100% - 250px);
}
#main-wrapper {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
#main-wrapper.container {
  padding: 1.5em 0;
}
@media only screen and (max-width: 1000px) {
  #main-wrapper {
    display: block;
  }
}
@media only screen and (max-width: 1000px) {
  #main {
    width: 100%;
  }
}

#sidebar-wrapper {
  width: 250px;
}
@media only screen and (max-width: 1000px) {
  #sidebar-wrapper {
    width: 100%;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ボタンのスタイル */
/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
.back-button-wrapper .back-button, .button {
  color: #fff;
  display: inline-block;
  font-size: 0.9375em;
  line-height: 1.2;
  text-align: center;
  min-width: 230px;
  padding: 1em;
  text-decoration: none;
  transition-duration: 0.1s;
}
.back-button-wrapper .back-button:hover, .button:hover {
  opacity: 0.8;
  transition-duration: 0.1s;
}
.button-small {
  min-width: 170px;
}

.button-medium {
  min-width: 280px;
}

.button-large {
  font-size: 1.875em;
  width: 45%;
  padding: 2em 1em;
}
@media only screen and (max-width: 640px) {
  .button-large {
    font-size: 1.625em;
  }
}

#sidebar ul li a, .button-arrow-right, .button-arrow-left {
  position: relative;
}
#sidebar ul li a:before, .button-arrow-right:before, .button-arrow-left:before, #sidebar ul li a:after, .button-arrow-right:after, .button-arrow-left:after {
  content: "";
  display: inline-block;
  margin: auto;
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  vertical-align: baseline;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.button-more-right, .button-more-left {
  position: relative;
}
.button-more-right span, .button-more-left span {
  font-size: 60%;
  position: absolute;
  top: 42%;
}
.button-more-right:before, .button-more-left:before, .button-more-right:after, .button-more-left:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  box-sizing: border-box;
  width: 80px;
  height: 1px;
  vertical-align: middle;
}
@media only screen and (max-width: 640px) {
  .button-more-right:before, .button-more-left:before, .button-more-right:after, .button-more-left:after {
    width: 30px;
  }
}
.button-wrapper {
  position: relative;
  z-index: 5;
}

.button-medium.button-more-left, .button-medium.button-more-right {
  text-align: left;
}

.button-arrow-left:before {
  transform: rotate(-135deg);
  margin-right: 2px;
}
.button-arrow-left:after {
  display: none;
}
.button-arrow-right {
  padding-left: 1em;
}
.button-arrow-right:before {
  display: none;
}
.button-arrow-right:after {
  margin-left: 2px;
}
.button-more-left {
  margin: 0 0 0 20px;
}
.button-more-left span {
  left: 70px;
}
@media only screen and (max-width: 640px) {
  .button-more-left span {
    left: 25px;
  }
}
.button-more-left.button-medium span {
  top: 35%;
}
@media only screen and (max-width: 640px) {
  .button-more-left.button-medium span {
    top: 33%;
  }
}
.button-more-left:before {
  left: -20px;
}
@media only screen and (max-width: 640px) {
  .button-more-left:before {
    left: -15px;
  }
}
.button-more-left:after {
  display: none;
}
.button-more-left.gradation-01:before {
  background: linear-gradient(90deg, #00a79b 0, #00a79b 20px, #fff 20px, #fff 100%);
}
@media only screen and (max-width: 640px) {
  .button-more-left.gradation-01:before {
    background: linear-gradient(90deg, #00a79b 0, #00a79b 15px, #fff 20px, #fff 100%);
  }
}
.button-more-left.gradation-01:after {
  display: none;
}
.button-more-left.gradation-02:before {
  background: linear-gradient(90deg, #2e3190 0, #2e3190 20px, #fff 20px, #fff 100%);
}
@media only screen and (max-width: 640px) {
  .button-more-left.gradation-02:before {
    background: linear-gradient(90deg, #2e3190 0, #2e3190 15px, #fff 20px, #fff 100%);
  }
}
.button-more-left.gradation-02:after {
  display: none;
}

.button-more-right {
  margin: 0 20px 0 0;
}
.button-more-right span {
  right: 70px;
}
@media only screen and (max-width: 640px) {
  .button-more-right span {
    right: 25px;
  }
}
.button-more-right.button-medium span {
  top: 35%;
}
@media only screen and (max-width: 640px) {
  .button-more-right.button-medium span {
    top: 33%;
  }
}
.button-more-right:before {
  display: none;
}
.button-more-right:after {
  right: -20px;
}
@media only screen and (max-width: 640px) {
  .button-more-right:after {
    right: -15px;
  }
}
.button-more-right.gradation-01:before {
  display: none;
}
.button-more-right.gradation-01:after {
  background: linear-gradient(90deg, #fff 0, #fff 60px, #00a79b 60px, #00a79b 100%);
}
@media only screen and (max-width: 640px) {
  .button-more-right.gradation-01:after {
    background: linear-gradient(90deg, #fff 0, #fff 15px, #00a79b 60px, #00a79b 100%);
  }
}
.button-more-right.gradation-02:before {
  display: none;
}
.button-more-right.gradation-02:after {
  background: linear-gradient(90deg, #fff 0, #fff 60px, #2e3190 60px, #2e3190 100%);
}
@media only screen and (max-width: 640px) {
  .button-more-right.gradation-02:after {
    background: linear-gradient(90deg, #fff 0, #fff 15px, #2e3190 60px, #2e3190 100%);
  }
}

.button-group-01 .container {
  margin-top: -2em;
  padding-top: 0;
}
@media only screen and (max-width: 1000px) {
  .button-group-01 .container {
    padding-bottom: 1.5em;
  }
}
.button-group-01 .flex-box {
  justify-content: space-between;
}
@media only screen and (max-width: 1000px) {
  .button-group-01 .flex-box {
    display: block;
  }
}
@media only screen and (max-width: 1000px) {
  .button-group-01 .button-large {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 640px) {
  .button-group-01 .button-large {
    display: block;
    width: 90%;
    margin: auto;
    padding: 2em 1em;
  }
}
@media only screen and (max-width: 1000px) {
  .button-group-01 .button-large:first-child {
    margin-bottom: 1em;
  }
}

@media only screen and (max-width: 1000px) {
  .button-group-03 .container {
    padding-bottom: 1.5em;
  }
}
.button-group-03 .flex-box {
  justify-content: space-between;
}
@media only screen and (max-width: 1000px) {
  .button-group-03 .flex-box {
    display: block;
  }
}
.button-group-03 .button-large {
  padding: 3em 1em;
}
@media only screen and (max-width: 1000px) {
  .button-group-03 .button-large {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 640px) {
  .button-group-03 .button-large {
    display: block;
    width: 90%;
    margin: auto;
    padding: 2em 1em;
  }
}
.button-group-03 .button-large.gradation-01 {
  background: -moz-linear-gradient(left, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-01.jpg);
  background: -webkit-linear-gradient(left, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-01.jpg);
  background: linear-gradient(to right, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-01.jpg);
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 1000px) {
  .button-group-03 .button-large.gradation-01 {
    margin-bottom: 1em;
  }
}
.button-group-03 .button-large.gradation-02 {
  background: -moz-linear-gradient(left, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-02.jpg);
  background: -webkit-linear-gradient(left, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-02.jpg);
  background: linear-gradient(to right, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-02.jpg);
  background-size: cover;
  background-position: top center;
}

.button-group-04 .container {
  padding-top: 0;
}
@media only screen and (max-width: 1000px) {
  .button-group-04 .container {
    padding-bottom: 1.5em;
  }
}
.button-group-04 .button-large {
  display: block;
  width: 90%;
  padding: 3em 1em;
  margin: auto;
}
@media only screen and (max-width: 1000px) {
  .button-group-04 .button-large {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 640px) {
  .button-group-04 .button-large {
    display: block;
    width: 90%;
    margin: auto;
    padding: 2em 1em;
  }
}
.button-group-04 .button-large.gradation-01 {
  background: -moz-linear-gradient(left, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-04.jpg);
  background: -webkit-linear-gradient(left, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-04.jpg);
  background: linear-gradient(to right, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-04.jpg);
  background-size: cover;
  background-position: center;
}
.button-group-04 .button-large.gradation-02 {
  background: -moz-linear-gradient(left, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-02.jpg);
  background: -webkit-linear-gradient(left, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-02.jpg);
  background: linear-gradient(to right, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-02.jpg);
  background-size: cover;
  background-position: top center;
}

.button-group-05 .container {
  padding-top: 4em;
  padding-bottom: 1.5em;
}
@media only screen and (max-width: 1000px) {
  .button-group-05 .container {
    padding-bottom: 1.5em;
  }
}
@media only screen and (max-width: 1000px) {
  .button-group-05 .flex-box {
    display: block;
  }
}
.button-group-05 .button-large {
  display: block;
  width: 100%;
  padding: 3em 1em;
  margin: auto;
}
@media only screen and (max-width: 1000px) {
  .button-group-05 .button-large {
    width: 100%;
    margin: 0;
  }
}
@media only screen and (max-width: 640px) {
  .button-group-05 .button-large {
    display: block;
    width: 90%;
    margin: auto;
    padding: 2em 1em;
    font-size: 1.375em;
  }
}
.button-group-05 .button-large:first-child.gradation-01 {
  background: -moz-linear-gradient(left, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-03.jpg);
  background: -webkit-linear-gradient(left, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-03.jpg);
  background: linear-gradient(to right, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-03.jpg);
  background-size: cover;
  background-position: center;
}
.button-group-05 .button-large:first-child.gradation-02 {
  background: -moz-linear-gradient(left, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-05.jpg);
  background: -webkit-linear-gradient(left, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-05.jpg);
  background: linear-gradient(to right, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-05.jpg);
  background-size: cover;
  background-position: center;
}
@media only screen and (max-width: 1000px) {
  .button-group-05 .button-large:first-child {
    margin-bottom: 1em;
  }
}
.button-group-05 .button-large:last-child.gradation-01 {
  background: -moz-linear-gradient(left, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-04.jpg);
  background: -webkit-linear-gradient(left, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-04.jpg);
  background: linear-gradient(to right, rgba(0, 113, 186, 0.85), rgba(0, 141, 154, 0.85)), url(../images/background-button-04.jpg);
  background-size: cover;
  background-position: center;
}
.button-group-05 .button-large:last-child.gradation-02 {
  background: -moz-linear-gradient(left, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-06.jpg);
  background: -webkit-linear-gradient(left, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-06.jpg);
  background: linear-gradient(to right, rgba(0, 56, 145, 0.85), rgba(69, 0, 145, 0.85)), url(../images/background-button-06.jpg);
  background-size: cover;
  background-position: center;
}

.button-block {
  display: block;
  margin: auto;
  text-align: center;
}

.back-button-wrapper {
  text-align: center;
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 背景スタイル */
.background {
  background-image: url(../images/bg-2.png);
  background-size: 3px 3px;
  background-position: center;
}

.background-gray {
  background: #666;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: セクションタイトル */
.section-title {
  font-size: 3.75em;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 28px;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .section-title {
    font-size: 2.7142857143em;
  }
}
@media screen and (max-width: 350px) {
  .section-title {
    font-size: 2.1428571429em;
  }
}
.section-title:after {
  content: "";
  display: block;
  background-color: #003891;
  width: 45px;
  height: 4px;
  position: absolute;
  bottom: -12px;
}
.title-left .section-title:after {
  left: 5px;
  margin: auto;
}
.title-right .section-title:after {
  right: 5px;
  margin: auto;
}
@media only screen and (max-width: 640px) {
  #home-system .title-right .section-title:after, #recruit_home #home-welfare .title-right .section-title:after {
    right: auto;
    left: 5px;
    margin: auto;
  }
}
.title-center .section-title:after {
  left: 0;
  right: 0;
  margin: auto;
}
.section-title-wrapper.title-left {
  text-align: left;
}
.section-title-wrapper.title-right {
  text-align: right;
}
@media only screen and (max-width: 640px) {
  #home-system .section-title-wrapper.title-right, #recruit_home #home-welfare .section-title-wrapper.title-right {
    text-align: left;
  }
}
.section-title-wrapper.title-center {
  text-align: center;
}
.section-title-wrapper p {
  font-size: 1.25em;
  padding: 0 5px;
}
@media only screen and (max-width: 640px) {
  .section-title-wrapper p {
    font-size: 1.1428571429em;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: parts用の外部ファイル読み込み */
#header {
  background-color: #fff;
  position: relative;
  z-index: 999;
  padding: 16px 36px 16px 24px;
}
#header .container {
  padding: 0;
}
@media only screen and (max-width: 1000px) {
  #header {
    padding: 0;
  }
  #header .container {
    padding: 5px 0;
    width: 100%;
  }
}

#header-nav {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media only screen and (max-width: 1000px) {
  #header-nav {
    display: block;
  }
}
#header-nav .flex-box {
  align-items: center;
  position: relative;
  z-index: 999;
}
@media only screen and (max-width: 1000px) {
  #header-nav .flex-box {
    justify-content: space-between;
  }
}
#header-nav .logo {
  width: 310px;
  height: 48px;
}
@media only screen and (max-width: 1000px) {
  #header-nav .logo {
    width: 240px;
    height: 37px;
    margin-left: 5%;
  }
}
@media only screen and (max-width: 640px) {
  #header-nav .logo {
    width: 200px;
    height: 30px;
  }
}
#header-nav .logo a {
  display: block;
}
#header-nav .logo a:hover {
  opacity: 0.8;
}
#header-nav .logo a img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}
#header-nav .corporate-link-01 {
  margin-left: 1em;
  position: relative;
  background: #27A0C6;
  padding: 8px 48px 8px 24px;
  border-radius: 24px;
  color: #fff;
  text-decoration: none;
}
@media only screen and (max-width: 1000px) {
  #header-nav .corporate-link-01 {
    display: none;
  }
}
#header-nav .corporate-link-01:hover {
  opacity: 0.8;
}
#header-nav .corporate-link-01:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../images/icon-link.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px 20px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 16px;
  margin: auto;
}

#global-nav ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  gap: 28px;
}
#global-nav li.sp_only {
  display: none;
}
#global-nav li a {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  font-size: 1em;
  text-decoration: none;
  justify-content: center;
  color: #030303;
  font-weight: bold;
}
#global-nav li a:hover {
  opacity: 0.8;
}
#global-nav li.corporate-link-02 {
  display: none;
}
@media only screen and (max-width: 1000px) {
  #global-nav li.corporate-link-02 {
    display: block;
  }
}

@media only screen and (max-width: 1000px) {
  /* Fixed reset */
  #mobile-head {
    background-color: #fff;
    position: relative;
    width: 78px;
    height: 78px;
    padding: 28px;
    float: right;
    cursor: pointer;
  }

  /* Toggle Button */
}
@media only screen and (max-width: 1000px) and (max-width: 640px) {
  #mobile-head {
    width: 58px;
    height: 58px;
    padding: 18px;
  }
}
@media only screen and (max-width: 1000px) {
  #global-nav {
    position: absolute;
    top: 88px;
    width: 100%;
    text-align: center;
    z-index: -1;
    transition: opacity 0.25s, visibility 0s ease 0.25s;
    opacity: 0;
    visibility: hidden;
    padding: 0;
  }
}
@media only screen and (max-width: 1000px) and (max-width: 640px) {
  #global-nav {
    top: 68px;
  }
}
@media only screen and (max-width: 1000px) {
  #global-nav ul {
    display: block;
    float: none;
    max-width: 100%;
    width: 100%;
    padding: 24px 16px;
    box-sizing: border-box;
  }
  #global-nav ul li {
    width: 100% !important;
    border: 0 !important;
    padding: 0;
    box-sizing: border-box;
    margin: auto;
    border-bottom: 1px solid #ccc !important;
    &:first-child {
      border-top: 1px solid #ccc !important;
    }
  }
  #global-nav ul li.sp_only {
    display: block;
  }
  #global-nav ul li:last-child {
    display: block;
  }
  #global-nav ul li a {
    display: block;
    padding: 16px;
    text-align: left;
    font-weight: normal;
    font-size: 17px;
    font-weight: 500;
    color: #003891;
  }
  #global-nav ul li a:hover {
    background-color: #fff;
    color: #003891;
  }
  #global-nav ul li.corporate-link-02 a {
    font-size: 1em;
    border: 1px solid #003891;
    color: #003891;
    background-color: #fff;
    position: relative;
  }
  #global-nav ul li.corporate-link-02 a:hover {
    opacity: 0.8;
  }
  #global-nav ul li.corporate-link-02 a:after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-image: url(../images/icon-link.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 20px 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 215px;
    right: 0;
    margin: auto;
  }
}
@media only screen and (max-width: 1000px) {
  #global-nav-bg {
    content: "";
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.96);
    margin: auto;
    z-index: -1;
    display: none;
  }
}
@media only screen and (max-width: 1000px) {
  #nav-toggle {
    position: absolute;
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
    width: 26px;
    height: 22px;
  }
  #nav-toggle span {
    display: inline-block;
    transition: all 0.4s;
    box-sizing: border-box;
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    background-color: #003891;
  }
  #nav-toggle span:nth-child(1) {
    top: 0;
  }
  #nav-toggle span:nth-child(2) {
    margin: auto;
    top: 0;
    bottom: 0;
  }
  #nav-toggle span:nth-child(3) {
    bottom: 0;
  }
}
@media only screen and (max-width: 1000px) {
  .open {
    /* #global-nav スライドアニメーション */
  }
  .open #nav-toggle span:nth-child(1) {
    -webkit-transform: translateY(9px) rotate(-45deg);
    transform: translateY(9px) rotate(-45deg);
  }
  .open #nav-toggle span:nth-child(2) {
    opacity: 0;
  }
  .open #nav-toggle span:nth-child(3) {
    -webkit-transform: translateY(-9px) rotate(45deg);
    transform: translateY(-9px) rotate(45deg);
  }
  .open #global-nav {
    transition-delay: 0s;
    opacity: 1;
    visibility: visible;
    z-index: 99;
  }
  .open #global-nav-bg {
    display: block;
  }
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: パンくずリスト*/
#header-breadcrumb {
  max-width: 1100px;
  width: 90%;
  margin: 1em auto;
  font-size: 1em;
}
@media only screen and (max-width: 640px) {
  #header-breadcrumb-wrapper {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  #header-breadcrumb {
    margin: 1em auto;
  }
}
#header-breadcrumb li {
  display: inline-block;
}
#header-breadcrumb li + li:before {
  content: ">";
  padding: 0 0.5em;
}
#header-breadcrumb li a {
  color: #450091;
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 共通フッター*/
#footer {
  position: relative;
  z-index: 5;
}

#footer-menu {
  background-color: #333;
}
@media only screen and (max-width: 1000px) {
  #footer-menu {
    position: relative;
  }
}
#footer-menu .container {
  padding: 3em 0;
}
@media only screen and (max-width: 1000px) {
  #footer-menu .container {
    padding: 2em 0 60px;
  }
}
#footer-menu .flex-box {
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  #footer-menu .flex-box {
    display: block;
  }
}
#footer-menu .logo {
  width: 26%;
}
@media only screen and (max-width: 1000px) {
  #footer-menu .logo {
    width: 300px;
  }
}
@media only screen and (max-width: 640px) {
  #footer-menu .logo {
    width: 85%;
    margin: auto auto 2em;
  }
}
#footer-menu .logo a {
  display: block;
}
#footer-menu .logo a:hover {
  opacity: 0.8;
}
#footer-menu .logo a img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}
#footer-menu ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1000px) {
  #footer-menu ul {
    flex-wrap: wrap;
  }
}
#footer-menu li {
  display: inline-block;
  position: relative;
}
#footer-menu li:after {
  background-color: #fff;
  content: "";
  display: block;
  width: 1px;
  height: 1em;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
}
#footer-menu li:last-child:after {
  content: none;
}
@media only screen and (max-width: 1000px) {
  #footer-menu li {
    width: 50%;
  }
  #footer-menu li:nth-child(2):after {
    content: none;
  }
}
@media only screen and (max-width: 640px) {
  #footer-menu li {
  }
  #footer-menu li:after {
    display: none;
  }
}
#footer-menu li a {
  color: #fff;
  display: block;
  font-size: 0.875em;
  text-decoration: none;
  padding: 0 1em;
  text-align: center;
}
#footer-menu li a:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 1000px) {
  #footer-menu li a {
    padding: 0.5em;
  }
}
@media only screen and (max-width: 640px) {
  #footer-menu li a {
    font-size: 0.8125em;
    padding: 0.5em;
  }
}

#page-top a {
  display: block;
  width: 64px;
  height: 78px;
}
#page-top a:hover {
  opacity: 0.8;
}
#page-top a img {
  width: 64px;
  height: 78px;
  vertical-align: middle;
}
@media only screen and (max-width: 1000px) {
  #page-top {
    position: absolute;
    bottom: 0;
    right: 2%;
  }
  #page-top a {
    width: 40px;
    height: 50px;
  }
  #page-top a img {
    width: 40px;
    height: 50px;
  }
}

#copyright {
  background-color: #fff;
}
#copyright .container {
  padding: 1em 0;
}
#copyright p {
  color: #979797;
  font-size: 0.8125em;
  line-height: 1.5;
  text-align: right;
}
@media only screen and (max-width: 640px) {
  #copyright p {
    font-size: 0.5714285714em;
    text-align: center;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: サイドバー */
#sidebar {
  box-sizing: border-box;
  margin-left: 1.8em;
  padding: 1em;
}
@media only screen and (max-width: 1000px) {
  #sidebar {
    margin-left: 0;
    padding: 0;
  }
}
#sidebar h3 {
  border-bottom: 2px solid #003891;
  font-weight: bold;
  padding-bottom: 0.2em;
  margin-bottom: 0.4em;
}
#sidebar ul {
  margin-bottom: 0.8em;
}
#sidebar ul li a {
  color: #000000;
  display: inline-block;
  font-size: 0.9375em;
  padding: 0.4em 0.2em 0.4em 0.8em;
  text-decoration: none;
}
#sidebar ul li a:hover {
  text-decoration: underline;
}
#sidebar ul li a:before {
  border: 6px solid transparent;
  border-left: 6px solid #003891;
  left: 0;
}
#sidebar ul li a:after {
  display: none;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ページネーション*/
.pagination .nav-links {
  margin: 40px 0;
  text-align: center;
}
.pagination .nav-links a,
.pagination .nav-links span {
  display: inline-block;
  width: 50px;
  line-height: 48px;
  border: 1px solid #003891;
  margin: 0 5px;
  font-size: 1.1em;
  color: #003891;
  text-decoration: none;
}
@media only screen and (max-width: 640px) {
  .pagination .nav-links a,
.pagination .nav-links span {
    width: 35px;
    line-height: 33px;
    margin: 0;
    font-size: 0.8em;
  }
}
.pagination .nav-links a:hover,
.pagination .nav-links span:hover {
  background: #003891;
  border-color: #003891;
  color: #fff;
}
.pagination .nav-links .current {
  background: #003891;
  border-color: #003891;
  color: #fff;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#home-news {
  position: relative;
  z-index: 5;
}
#home-news .container {
  position: relative;
}
#recruit_fresh #home-news .container {
  padding-top: 0;
}
@media only screen and (max-width: 1000px) {
  #recruit_fresh #home-news .container {
    padding-top: 3em;
  }
}
@media only screen and (max-width: 1000px) {
  #home-news .container {
    width: 95%;
    margin-right: 0;
  }
}
@media only screen and (max-width: 640px) {
  #home-news .container {
    padding-bottom: 0;
  }
}
#home-news .flex-box {
  width: 100%;
  justify-content: space-between;
}
@media only screen and (max-width: 1000px) {
  #home-news .flex-box {
    display: block;
  }
}
@media only screen and (max-width: 1000px) {
  #home-news .section-title {
    display: block;
  }
}
@media only screen and (max-width: 1000px) and (max-width: 1000px) {
  #home-news .section-title:after {
    left: 5px;
    right: auto;
  }
}
@media only screen and (max-width: 1000px) {
  #home-news .section-title-wrapper {
    text-align: left;
  }
}
#home-news .button-wrapper {
  position: absolute;
  bottom: 24px;
  right: 0;
}
@media only screen and (max-width: 1000px) {
  #home-news .button-wrapper {
    top: 4em;
    bottom: auto;
  }
}

.news-list {
  background-color: #f0f0f0;
  padding: 1.5em 0;
  width: 80%;
  max-height: 250px;
  overflow-y: auto;
}
@media only screen and (max-width: 1000px) {
  .news-list {
    width: 100%;
  }
}
.news-list .news_line {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .news-list .news_line {
    display: block;
    padding: 0.5em 0;
  }
}
.news-list .news_line:nth-child(odd) {
  background-color: #f0f0f0;
}
.news-list .news_line div:first-child {
  width: 22%;
  padding: 0.5em 0 0.5em 2em;
}
.news-list .news_line div:last-child {
  width: 78%;
  padding: 0.5em 2em 0.5em 1em;
}
@media only screen and (max-width: 640px) {
  .news-list .news_line div:first-child {
    width: 100%;
    padding: 0 1em;
  }
  .news-list .news_line div:last-child {
    width: 100%;
    padding: 0 1em;
  }
}
.news-list .news_line a {
  color: #000;
  display: block;
  text-decoration: none;
  padding: 0.5em 0;
}
@media only screen and (max-width: 640px) {
  .news-list .news_line a {
    padding: 0.2em 0 0.5em;
  }
}
.news-list .news_line a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

.news-list_career {
  background-color: #f0f0f0;
  padding: 1.5em 0;
  width: 78%;
  max-height: 250px;
  overflow-y: auto;
}
@media screen and (max-width: 1300px) {
  .news-list_career {
    width: 72%;
  }
}
@media only screen and (max-width: 1000px) {
  .news-list_career {
    width: 100%;
  }
}
.news-list_career .news_line {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .news-list_career .news_line {
    display: block;
    padding: 0.5em 0;
  }
}
.news-list_career .news_line:nth-child(odd) {
  background-color: #f0f0f0;
}
.news-list_career .news_line div:first-child {
  width: 22%;
  padding: 0.5em 0 0.5em 2em;
}
.news-list_career .news_line div:last-child {
  width: 78%;
  padding: 0.5em 2em 0.5em 1em;
}
@media only screen and (max-width: 640px) {
  .news-list_career .news_line div:first-child {
    width: 100%;
    padding: 0 1em;
  }
  .news-list_career .news_line div:last-child {
    width: 100%;
    padding: 0 1em;
  }
}
.news-list_career .news_line a {
  color: #000;
  display: block;
  text-decoration: none;
  padding: 0.5em 0;
}
@media only screen and (max-width: 640px) {
  .news-list_career .news_line a {
    padding: 0.2em 0 0.5em;
  }
}
.news-list_career .news_line a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#home-wanted {
  overflow: hidden;
  position: relative;
  z-index: 5;
}
#home-wanted .container {
  padding: 5em 0;
  margin: 1em auto;
}
@media only screen and (max-width: 1000px) {
  #home-wanted .container {
    margin: 0 2% 0 auto;
    padding: 3em 0;
  }
}
@media only screen and (max-width: 640px) {
  #home-wanted .container {
    margin: 0 auto;
    padding: 3em 0 1.5em;
  }
}
#home-wanted .bg-box {
  width: 70%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: -1;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 0.8) 80%, white 100%), url(../images/background-wanted.jpg);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
@media only screen and (max-width: 1000px) {
  #home-wanted .bg-box {
    width: 60%;
    background-position: 68% center;
    background-size: cover;
  }
}
@media only screen and (max-width: 640px) {
  #home-wanted .bg-box {
    background-image: url(../images/background-wanted.jpg);
    width: 100%;
    position: static;
    padding-top: 60%;
  }
}
#home-wanted .text-box {
  width: 30%;
  margin: 0 0 0 auto;
}
@media only screen and (max-width: 1000px) {
  #home-wanted .text-box {
    width: 310px;
  }
}
@media only screen and (max-width: 640px) {
  #home-wanted .text-box {
    width: 100%;
  }
}
#home-wanted .message {
  padding: 1.5em 5px 2.5em;
}
#home-wanted .button-wrapper {
  margin-top: 2.5em;
  text-align: right;
}
@media only screen and (max-width: 640px) {
  #home-wanted .button-wrapper {
    text-align: center;
  }
}
@media only screen and (max-width: 1000px) {
  #home-wanted .button-medium {
    min-width: 230px;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#home-number {
  position: relative;
  z-index: 5;
}
#home-number .container {
  position: relative;
  padding: 3em 0 5em;
  margin-bottom: 5em;
}
@media only screen and (max-width: 640px) {
  #home-number .container {
    margin: 0 auto;
    padding: 3em 0 1.5em;
  }
}
#home-number .bg-box {
  width: 70%;
  height: 315px;
  position: absolute;
  top: 70px;
  right: 0;
  margin: auto;
  z-index: -1;
  background-image: url(../images/background-number.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 1000px) {
  #home-number .bg-box {
    width: 60%;
    background-size: cover;
  }
}
@media only screen and (max-width: 640px) {
  #home-number .bg-box {
    width: 100%;
    height: auto;
    position: static;
    padding-top: 60%;
  }
}
#home-number .text-box {
  width: 30%;
  margin: 0 auto 0 0;
}
@media only screen and (max-width: 1000px) {
  #home-number .text-box {
    width: 310px;
  }
}
@media only screen and (max-width: 640px) {
  #home-number .text-box {
    width: 100%;
  }
}
#home-number .button-wrapper {
  margin-top: 2.5em;
}
@media only screen and (max-width: 640px) {
  #home-number .button-wrapper {
    text-align: center;
  }
}
@media only screen and (max-width: 1000px) {
  #home-number .button-medium {
    min-width: 230px;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#home-system {
  position: relative;
  z-index: 5;
}
#home-system .container {
  position: relative;
  padding: 3em 0 5em;
  margin-bottom: 5em;
}
@media only screen and (max-width: 640px) {
  #home-system .container {
    margin: 0 auto;
    padding: 3em 0 1.5em;
  }
}
#home-system .bg-box {
  width: 70%;
  height: 315px;
  position: absolute;
  top: 70px;
  left: 0;
  margin: auto;
  z-index: -1;
  background-image: url(../images/background-system.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 1000px) {
  #home-system .bg-box {
    width: 60%;
    background-size: cover;
  }
}
@media only screen and (max-width: 640px) {
  #home-system .bg-box {
    width: 100%;
    height: auto;
    position: static;
    padding-top: 60%;
  }
}
#home-system .text-box {
  width: 30%;
  margin: 0 0 0 auto;
}
@media only screen and (max-width: 1000px) {
  #home-system .text-box {
    width: 310px;
  }
}
@media only screen and (max-width: 640px) {
  #home-system .text-box {
    width: 100%;
  }
}
#home-system .button-wrapper {
  text-align: right;
  margin-top: 2.5em;
}
@media only screen and (max-width: 640px) {
  #home-system .button-wrapper {
    text-align: center;
  }
}
@media only screen and (max-width: 1000px) {
  #home-system .button-medium {
    min-width: 230px;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#home-welfare {
  position: relative;
  z-index: 5;
}
#home-welfare .container {
  position: relative;
  padding: 3em 0 5em;
  margin-bottom: 5em;
}
@media only screen and (max-width: 640px) {
  #home-welfare .container {
    margin: 0 auto;
    padding: 3em 0 1.5em;
  }
}
#home-welfare .bg-box {
  width: 70%;
  height: 315px;
  position: absolute;
  top: 70px;
  right: 0;
  margin: auto;
  z-index: -1;
  background-image: url(../images/background-welfare.jpg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 1000px) {
  #home-welfare .bg-box {
    width: 60%;
    background-size: cover;
  }
}
@media only screen and (max-width: 640px) {
  #home-welfare .bg-box {
    width: 100%;
    height: auto;
    position: static;
    padding-top: 60%;
  }
}
#home-welfare .text-box {
  width: 30%;
  margin: 0 auto 0 0;
}
@media only screen and (max-width: 1000px) {
  #home-welfare .text-box {
    width: 310px;
  }
}
@media only screen and (max-width: 640px) {
  #home-welfare .text-box {
    width: 100%;
  }
}
#home-welfare .button-wrapper {
  margin-top: 2.5em;
}
@media only screen and (max-width: 640px) {
  #home-welfare .button-wrapper {
    text-align: center;
  }
}
@media only screen and (max-width: 1000px) {
  #home-welfare .button-medium {
    min-width: 230px;
  }
}

#recruit_home #home-welfare .bg-box {
  right: auto;
  left: 0;
  background-position: top center;
}
#recruit_home #home-welfare .text-box {
  margin: 0 0 0 auto;
}
#recruit_home #home-welfare .button-wrapper {
  text-align: right;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#home-internship {
  position: relative;
  z-index: 5;
}
#home-internship .container {
  position: relative;
  padding: 3em 0 5em;
  margin-bottom: 5em;
}
@media only screen and (max-width: 640px) {
  #home-internship .container {
    margin: 0 auto;
    padding: 3em 0 1.5em;
  }
}
#home-internship .bg-box {
  width: 70%;
  height: 315px;
  position: absolute;
  top: 70px;
  right: 0;
  margin: auto;
  z-index: -1;
  background-image: url(../images/background-internship.jpg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 1000px) {
  #home-internship .bg-box {
    width: 60%;
    background-size: cover;
  }
}
@media only screen and (max-width: 640px) {
  #home-internship .bg-box {
    width: 100%;
    height: auto;
    position: static;
    padding-top: 60%;
  }
}
#home-internship .text-box {
  width: 40%;
  margin: 0 auto 0 0;
}
@media only screen and (max-width: 1000px) {
  #home-internship .text-box {
    width: 310px;
  }
}
@media only screen and (max-width: 640px) {
  #home-internship .text-box {
    width: 100%;
  }
}
#home-internship .button-wrapper {
  margin-top: 2.5em;
}
@media only screen and (max-width: 640px) {
  #home-internship .button-wrapper {
    text-align: center;
  }
}
@media only screen and (max-width: 1000px) {
  #home-internship .button-medium {
    min-width: 230px;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
.home-link {
  position: relative;
  z-index: 5;
}
.home-link .flex-box {
  justify-content: space-between;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .home-link .flex-box {
    display: block;
  }
}
.home-link .title-box {
  width: 45%;
  margin: 0 20px;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .home-link .title-box {
    width: 100%;
    margin: 0;
  }
}
.home-link .title-box p {
  color: #fff;
  font-size: 1.875em;
  padding: 3em 1em;
  width: 100%;
  text-align: center;
  position: relative;
  z-index: 4;
}
.home-link .title-box.company-link {
  background-image: url(../images/background-company.jpg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 640px) {
  .home-link .title-box.company-link {
    margin-bottom: 5em;
  }
}
.home-link .title-box.company-link:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(110, 172, 180, 0.6);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.home-link .title-box.business-link {
  background-image: url(../images/background-business.jpg);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover;
}
.home-link .title-box.business-link:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(51, 51, 51, 0.4);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.home-link .title-box .button-wrapper {
  text-align: center;
  position: absolute;
  bottom: -35px;
  right: 0;
  left: 0;
  margin: auto;
}
@media only screen and (max-width: 1000px) {
  .home-link .title-box .button-medium {
    min-width: 230px;
  }
}
.home-link .title-box .button-more-right {
  margin: 0;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#home-column {
  position: relative;
  z-index: 5;
}

.column-list {
  max-width: 960px;
  margin: 2.5em auto 0;
  max-height: 360px;
  overflow-y: auto;
}
.column-list .news_line {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .column-list .news_line {
    display: block;
    padding: 0.5em 0;
  }
}
.column-list .news_line:nth-child(odd) {
  background-color: #f0f0f0;
}
.column-list .news_line:nth-child(even) {
  background-color: #fff;
}
.column-list .news_line div:first-child {
  width: 22%;
  padding: 0.5em 0 0.5em 2em;
}
.column-list .news_line div:last-child {
  width: 78%;
  padding: 0.5em 2em 0.5em 1em;
}
@media only screen and (max-width: 640px) {
  .column-list .news_line div:first-child {
    width: 100%;
    padding: 0 1em;
  }
  .column-list .news_line div:last-child {
    width: 100%;
    padding: 0 1em;
  }
}
.column-list .news_line a {
  color: #000;
  display: block;
  text-decoration: none;
  padding: 0.5em 0;
}
@media only screen and (max-width: 640px) {
  .column-list .news_line a {
    padding: 0.2em 0 0.5em;
  }
}
.column-list .news_line a:hover {
  opacity: 0.8;
  text-decoration: underline;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
#hero {
  position: relative;
}
#hero .hero-image {
  position: relative;
  z-index: -1;
  width: 100%;
  padding-top: 50%;
}
#hero .hero-image:before {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  margin: auto;
  background-image: url(../images/hero01.png);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
}
#hero .hero-image:after {
  content: "";
  display: block;
  width: 50%;
  height: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
  background-image: url(../images/hero02.png);
  background-position: center right;
  background-repeat: no-repeat;
  background-size: contain;
}
#hero .hero-text {
  width: 428px;
  height: 278px;
  position: absolute;
  z-index: 5;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media only screen and (max-width: 1000px) {
  #hero .hero-text {
    width: 285px;
    height: 185px;
  }
}
@media only screen and (max-width: 640px) {
  #hero {
  }
  #hero .hero-image {
    padding-top: 0;
    display: flex;
  }
  #hero .hero-image:before,
  #hero .hero-image:after {
    position: relative;
    width: 50%;
    height: 100%;
    aspect-ratio: 1 / 2;
    background-size: auto 200%;
  }
  #hero .hero-image:before {
    background-position: center right;
    background-size: auto 83%;
  }
  #hero .hero-image:after {
    background-position: center left;
    background-size: auto 62%;
  }
}
#hero .hero-text img {
  width: 100%;
  vertical-align: middle;
  margin-top: -24px;
}

#each-hero {
  position: relative;
  height: 666px;
  overflow: hidden;
}
@media only screen and (max-width: 1000px) {
  #each-hero {
    height: 400px;
  }
}
#each-hero .title-background-01 {
  width: 60%;
  height: 666px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
  background-image: url(../images/background-fresh-04.jpg);
}
#recruit_career #each-hero .title-background-01 {
  background-image: url(../images/background-career-02.jpg);
}
@media only screen and (max-width: 1000px) {
  #each-hero .title-background-01 {
    height: 400px;
  }
}
@media only screen and (max-width: 640px) {
  #each-hero .title-background-01 {
    margin-top: 120px;
    width: 100%;
    background-position: top center;
  }
}
#each-hero .title-background-02 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-size: 100% 101%;
  background-position: top -1px right;
  background-image: url(../images/background-fresh-00.png);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page-id-2131 #each-hero .title-background-02 {
  background-image: url(../images/background-career-00.png);
}
@media only screen and (max-width: 640px) {
  #each-hero .title-background-02 {
    background-image: url(../images/background-common-01.png);
  }
  .page-id-2131 #each-hero .title-background-02 {
    background-image: url(../images/background-common-01.png);
  }
}
#each-hero .hero-title-wrapper {
  text-align: center;
  position: absolute;
  right: 0;
  left: 50%;
  top: 30%;
  margin: auto;
  z-index: 5;
  color: #fff;
  width: 400px;
}
@media only screen and (max-width: 1000px) {
  #each-hero .hero-title-wrapper {
    width: 230px;
  }
}
@media only screen and (max-width: 640px) {
  #each-hero .hero-title-wrapper {
    top: 0;
    bottom: auto;
    left: 0;
    right: auto;
    width: 300px;
    padding: 2em 3.5em 3em 0.5em;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: top right;
    background-image: url(../images/background-fresh-03.png);
  }
  #recruit_career #each-hero .hero-title-wrapper {
    background-image: url(../images/background-career-01.png);
  }
}
#each-hero .img-box {
  width: 100%;
  height: 160px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media only screen and (max-width: 640px) {
  #each-hero .img-box {
    height: 120px;
  }
}
#each-hero h2 {
  font-size: 3.875em;
  margin-top: 1.5em;
}
@media only screen and (max-width: 1000px) {
  #each-hero h2 {
    font-size: 2.4375em;
    margin-top: 1em;
  }
}
@media only screen and (max-width: 640px) {
  #each-hero h2 {
    text-align: right;
    font-size: 1.875em;
  }
}

#home-message_list {
  position: relative;
  z-index: 5;
}
@media only screen and (max-width: 1000px) {
  #home-message_list .container {
    padding-top: 1.5em;
  }
}
@media only screen and (max-width: 640px) {
  #home-message_list .container {
    padding-top: 3em;
    padding-bottom: 0;
  }
}
#home-message_list ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}
@media only screen and (max-width: 1000px) {
  #home-message_list ul {
    justify-content: center;
  }
}
@media only screen and (max-width: 640px) {
  #home-message_list ul {
    margin-top: 2.5em;
    margin-bottom: 0;
  }
}
#home-message_list li {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  margin: 0 20px;
  width: calc( ( 100% / 2 ) - 40px );
}
#home-message_list li:nth-child(even) {
  margin-top: 150px;
}
@media only screen and (max-width: 1000px) {
  #home-message_list li:nth-child(even) {
    margin-top: 100px;
  }
}
@media only screen and (max-width: 640px) {
  #home-message_list li:nth-child(even) {
    margin-top: 0;
  }
}
@media only screen and (max-width: 1000px) {
  #home-message_list li {
    width: calc( ( 100% / 2 ) - 10px );
    margin: 0 5px;
  }
}
@media only screen and (max-width: 640px) {
  #home-message_list li {
    width: 100%;
    margin: 0 0 3em;
  }
}
#home-message_list a {
  color: #fff;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  width: 100%;
}
#home-message_list a:hover {
  opacity: 0.8;
}
#home-message_list .img-box {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 360px;
  width: 95%;
}
@media only screen and (max-width: 1000px) {
  #home-message_list .img-box {
    height: 250px;
  }
}
#home-message_list .text-box {
  width: 95%;
  padding: 1.2em 1.2em 30px;
  position: relative;
}
#home-message_list .text-box span {
  font-size: 14px;
  position: absolute;
  bottom: 10px;
  left: 80px;
}
@media only screen and (max-width: 640px) {
  #home-message_list .text-box span {
    left: 40px;
  }
}
#home-message_list .text-box:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 20px;
  margin: auto;
  box-sizing: border-box;
  width: 90px;
  height: 1px;
  vertical-align: middle;
  background: linear-gradient(90deg, #00a79b 0, #00a79b 20px, #fff 20px, #fff 100%);
  left: -20px;
}
@media only screen and (max-width: 640px) {
  #home-message_list .text-box:after {
    width: 50px;
  }
}
#home-message_list .text-box-wrapper {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  width: 100%;
  min-height: 180px;
  margin-top: -2em;
}
@media only screen and (max-width: 640px) {
  #home-message_list .text-box-wrapper {
    min-height: auto;
  }
}
#home-message_list .text-box h3 {
  font-size: 1.375em;
  line-height: 1.4;
  text-align: left;
  margin-bottom: 1em;
}
#home-message_list .text-box .text {
  display: block;
  text-align: right;
  margin: 0;
}
#home-message_list .text-box .text li {
  display: inline-block;
  width: auto;
  margin: 0;
}
#home-message_list .text-box p {
  text-align: right;
}

#faq {
  position: relative;
  z-index: 5;
}
#faq .lead {
  color: #FFF;
  font-size: 2.25em;
  line-height: 1.6;
  text-align: center;
  margin: 1em 0 2em;
}
@media only screen and (max-width: 640px) {
  #faq .lead {
    font-size: 1.875em;
    margin: 0 0 1.5em;
  }
}
#faq .lead span {
  padding: 2px 4px;
}
#faq .tab-menu {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#faq .tab-menu-wrapper {
  overflow-x: auto;
}
#faq .tab-menu li {
  background-color: #a7b5b8;
  cursor: pointer;
  color: #fff;
  font-size: 1.25em;
  text-align: center;
  width: calc( ( 100% / 4 ) - 30px );
  padding: 1em 0.2em;
}
#faq .tab-menu li.select {
  background-color: #008d9a;
}
@media only screen and (max-width: 1000px) {
  #faq .tab-menu li {
    width: calc( ( 100% / 4 ) - 10px );
    padding: 1em 0.2em;
  }
}
@media screen and (max-width: 800px) {
  #faq .tab-menu li {
    display: inline-block;
    width: 180px;
    padding: 1em 0.5em;
    width: auto;
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) {
  #faq .tab-menu {
    display: inline-block;
    width: 760px;
    width: 440px;
  }
}
#faq .tab-title {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: flex-end;
  padding: 1em 0 2em;
}
@media only screen and (max-width: 640px) {
  #faq .tab-title {
    display: block;
  }
}
#faq .tab-title h2 {
  font-size: 2.5em;
  font-weight: bold;
  line-height: 1;
}
@media only screen and (max-width: 640px) {
  #faq .tab-title h2 {
    font-size: 2.25em;
  }
}
#faq .tab-title p {
  font-size: 1.25em;
  margin-left: 1em;
}
@media only screen and (max-width: 640px) {
  #faq .tab-title p {
    margin-top: 1em;
    margin-left: 0;
  }
}
#faq .faq_list {
  background-color: #fff;
  padding: 2em;
}
@media screen and (max-width: 800px) {
  #faq .faq_list {
    padding: 1em 0.5em;
    position: relative;
  }
  #faq .faq_list:after {
    // content: "";
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    margin: auto;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    vertical-align: baseline;
    border-top: 2px solid #808080;
    border-right: 2px solid #808080;
    -webkit-transform: rotate(445deg);
    transform: rotate(45deg);
    -webkit-animation: icon-animetion 2s infinite linear alternate;
    animation: icon-animetion 2s infinite linear alternate;
  }
}
#faq .faq-number {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: right center;
  background-image: url(../images/icon-faq.png);
  width: 60px;
  height: 60px;
}
#faq .faq-number p {
  color: #008d9a;
  font-size: 1.75em;
}
#faq .faq-number p span {
  font-size: 16px;
}
#faq .each {
  display: none;
}
#faq .each.select {
  display: block;
}
#faq dl {
  border-top: 1px solid #008d9a;
  padding: 2em 1em 2.5em;
}
#faq dl:last-child {
  border-bottom: 1px solid #008d9a;
}
@media only screen and (max-width: 640px) {
  #faq dl {
    padding: 1em 0.5em 1.5em;
  }
}
#faq dt {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
#faq dt .text {
  color: #008d9a;
  font-size: 1.625em;
  line-height: 1.2;
  padding: 0.5em;
  width: calc( 100% - 60px );
}
@media only screen and (max-width: 640px) {
  #faq dt .text {
    font-size: 1.375em;
  }
}
#faq dd {
  padding: 0.8em 0 0 70px;
}
@media only screen and (max-width: 640px) {
  #faq dd {
    padding: 0.8em 0 0 0;
  }
}

@-webkit-keyframes icon-animetion {
  0% {
    -webkit-transform: translate(0, 0) rotate(45deg);
  }
  50% {
    -webkit-transform: translate(-5px, 0) rotate(45deg);
  }
  100% {
    -webkit-transform: translate(0, 0) rotate(45deg);
  }
}
@keyframes icon-animetion {
  0% {
    transform: translate(0, 0) rotate(45deg);
  }
  50% {
    transform: translate(-5px, 0) rotate(45deg);
  }
  100% {
    transform: translate(0, 0) rotate(45deg);
  }
}
#interview {
  margin-top: 3em;
}

.interview-contents {
  position: relative;
  z-index: 5;
}
.interview-contents .container {
  padding: 2em 0;
}
.interview-contents .separate {
  margin: auto;
  max-width: 960px;
  width: 100%;
}
.interview-contents .title {
  color: #FFF;
  font-size: 2.25em;
  line-height: 1.6;
  margin: 0 0 0.5em;
}
@media only screen and (max-width: 640px) {
  .interview-contents .title {
    font-size: 1.875em;
  }
}
.interview-contents .title span {
  padding: 2px 4px;
}
.interview-contents .faq-number {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: right center;
  background-image: url(../images/icon-interview.png);
  width: 60px;
  height: 60px;
}
#recruit_career_interview .interview-contents .faq-number {
  background-image: url(../images/icon-interview-02.png);
}
.interview-contents .faq-number p {
  color: #0071ba;
  font-size: 1.75em;
}
#recruit_career_interview .interview-contents .faq-number p {
  color: #003891;
}
.interview-contents .faq-number p span {
  font-size: 16px;
}
.interview-contents dl {
  background-color: #fff;
  padding: 0.5em;
}
.interview-contents dt {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  margin-bottom: 1.6em;
}
.interview-contents dt .text {
  color: #0071ba;
  font-size: 1.625em;
  line-height: 1.2;
  padding: 0.5em;
  width: calc( 100% - 60px );
}
#recruit_career_interview .interview-contents dt .text {
  color: #003891;
}
@media only screen and (max-width: 640px) {
  .interview-contents dt .text {
    font-size: 1.375em;
  }
}
.interview-contents dd {
  line-height: 1.8;
}
.interview-contents .flex-box {
  justify-content: space-between;
  margin: 2em 0;
}
@media only screen and (max-width: 1000px) {
  .interview-contents .flex-box {
    display: block;
  }
}
.interview-contents .flex-box dl {
  width: calc( 100% - 430px );
}
@media only screen and (max-width: 1000px) {
  .interview-contents .flex-box dl {
    width: 100%;
  }
}
.interview-contents .img-box {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  width: 370px;
  height: 370px;
  position: relative;
}
.interview-contents .img-box.img-left {
  display: none;
}
@media only screen and (max-width: 1000px) {
  .interview-contents .img-box {
    margin: 1em auto 3em;
  }
  .interview-contents .img-box.img-right {
    display: none;
  }
  .interview-contents .img-box.img-left {
    display: block;
  }
}
@media only screen and (max-width: 640px) {
  .interview-contents .img-box {
    width: 250px;
    height: 250px;
  }
}
.interview-contents .img-box:after {
  content: "";
  display: block;
  background: -moz-linear-gradient(left, #0071ba, #008d9a);
  background: -webkit-linear-gradient(left, #0071ba, #008d9a);
  background: linear-gradient(to right, #0071ba, #008d9a);
  width: 370px;
  height: 370px;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: -1;
}
#recruit_career_interview .interview-contents .img-box:after {
  background: -moz-linear-gradient(left, #003891, #450091);
  background: -webkit-linear-gradient(left, #003891, #450091);
  background: linear-gradient(to right, #003891, #450091);
}
@media only screen and (max-width: 640px) {
  .interview-contents .img-box:after {
    width: 250px;
    height: 250px;
  }
}

#message_list {
  position: relative;
  z-index: 5;
}
#message_list .slick-dots {
  top: auto;
  bottom: -10%;
}
#message_list .slick-prev, #message_list .slick-next {
  width: 20px;
  height: 20px;
  top: auto;
  bottom: -10%;
}
#message_list .slick-prev:before, #message_list .slick-next:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  box-sizing: border-box;
  width: 20px;
  height: 20px;
  vertical-align: baseline;
  border-top: 2px solid #0071ba;
  border-right: 2px solid #0071ba;
}
#message_list .slick-prev {
  left: 0;
}
#message_list .slick-prev:before {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
}
#message_list .slick-next {
  right: 0;
}
#message_list .slick-next:before {
  -webkit-transform: rotate(445deg);
  transform: rotate(45deg);
}
#message_list ul {
  width: 100%;
  margin-top: 2.5em;
}
#message_list li {
  margin: 0 20px;
}
#message_list a {
  color: #fff;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  text-decoration: none;
  width: 100%;
}
#message_list a:hover {
  opacity: 0.8;
}
#message_list .img-box {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  height: 250px;
  width: 95%;
}
#message_list .text-box {
  width: 95%;
  padding: 1.2em 1.2em 30px;
  position: relative;
}
#message_list .text-box span {
  font-size: 14px;
  position: absolute;
  bottom: 10px;
  left: 80px;
}
@media only screen and (max-width: 640px) {
  #message_list .text-box span {
    left: 30px;
  }
}
#message_list .text-box:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 20px;
  margin: auto;
  box-sizing: border-box;
  width: 90px;
  height: 1px;
  vertical-align: middle;
  background: linear-gradient(90deg, #00a79b 0, #00a79b 20px, #fff 20px, #fff 100%);
  left: -20px;
}
@media only screen and (max-width: 640px) {
  #message_list .text-box:after {
    width: 30px;
  }
}
#message_list .text-box-wrapper {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  width: 100%;
  min-height: 180px;
  margin-top: -2em;
}
#message_list .text-box h3 {
  font-size: 1.375em;
  line-height: 1.4;
  text-align: left;
  margin-bottom: 1em;
}
#message_list .text-box .text {
  display: block;
  text-align: right;
  margin: 0;
}
#message_list .text-box .text li {
  display: inline-block;
  width: auto;
  margin: 0;
}
#message_list .text-box p {
  text-align: right;
}

#career-wanted {
  position: relative;
  z-index: 5;
}
#career-wanted .container {
  text-align: center;
}
@media only screen and (max-width: 640px) {
  #career-wanted .container {
    padding: 3em 0 1em;
  }
}
#career-wanted .flex-box {
  justify-content: space-between;
}
@media only screen and (max-width: 640px) {
  #career-wanted .flex-box {
    flex-wrap: wrap;
  }
}
#career-wanted .lead-01 {
  margin-top: 2em;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 640px) {
  #career-wanted .lead-01 {
    margin-top: 2em;
    margin-bottom: 1em;
  }
}
#career-wanted .lead-02 {
  margin-top: 1em;
  line-height: 2;
}
@media only screen and (max-width: 640px) {
  #career-wanted .lead-02 {
    margin-top: 2em;
  }
}
#career-wanted .career-message {
  background: url(../images/background-wanted-message.png) no-repeat;
  background-size: 100% auto;
  background-position: center;
  position: relative;
  margin: 0 5px;
  width: calc( ( 100% / 4 ) - 10px );
  padding-top: 30%;
}
@media only screen and (max-width: 640px) {
  #career-wanted .career-message {
    padding-top: 50%;
    width: calc( ( 100% / 2 ) );
    margin-left: 0;
    margin-right: 0;
  }
  #career-wanted .career-message:nth-child(2) {
    margin-top: 40px;
  }
  #career-wanted .career-message:nth-child(3) {
    margin-top: -45px;
  }
  #career-wanted .career-message:nth-child(4) {
    margin-top: 0;
  }
}
#career-wanted .career-message img {
  position: absolute;
  width: 75%;
  height: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

#add-info {
  margin: 3em 0 0;
}
#add-info .container {
  position: relative;
  z-index: 5;
  padding: 3em 0 5em;
}
#add-info .section-title {
  color: #fff;
  font-size: 1.875em;
  font-weight: normal;
}
#add-info .section-title:after {
  background-color: #fff;
  bottom: -18px;
}
#add-info ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  margin-top: 3em;
}
@media only screen and (max-width: 1000px) {
  #add-info ul {
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 640px) {
  #add-info ul {
    display: block;
    margin-top: 4em;
  }
}
#add-info li {
  margin: 0 15px;
  width: calc( ( 100% / 3 ) - 30px );
}
@media only screen and (max-width: 640px) {
  #add-info li {
    width: 90%;
    margin: 1.5em auto;
  }
}
#add-info a {
  border: 1px solid #fff;
  color: #fff;
  display: block;
  padding: 1em 0.5em;
  position: relative;
  text-align: center;
  text-decoration: none;
}
#add-info a:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  box-sizing: border-box;
  width: 50px;
  height: 1px;
  vertical-align: middle;
  background-color: #fff;
  left: -18px;
}
@media only screen and (max-width: 1000px) {
  #add-info a:after {
    max-width: 50px;
    width: 5vw;
    left: -15px;
  }
}
@media only screen and (max-width: 640px) {
  #add-info a:after {
    width: 50px;
    left: -18px;
  }
}
#add-info a:hover {
  background-color: #fff;
  color: #0071ba;
}
#add-info a:hover:after {
  background-color: #0071ba;
}

#entry {
  position: relative;
  z-index: 5;
}
#entry .container {
  padding: 3em 0 5em;
}
#entry .button-block {
  width: 60%;
  margin-top: 2em;
}
@media only screen and (max-width: 1000px) {
  #entry .button-block {
    width: 100%;
  }
}
@media only screen and (max-width: 640px) {
  #entry .button-block {
    width: 90%;
  }
}
#entry ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2em;
}
@media only screen and (max-width: 640px) {
  #entry ul {
    display: block;
  }
}
#entry li {
  max-width: 555px;
  width: 100%;
  margin: 0 20px;
}
@media only screen and (max-width: 640px) {
  #entry li {
    margin: auto;
  }
  #entry li:first-child {
    margin: auto auto 2em;
  }
}
#entry a {
  display: block;
  border: 1px solid #003891;
}
#entry a:hover {
  opacity: 0.8;
}
#entry a img {
  width: 100%;
  vertical-align: middle;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ページタイトル*/
@media only screen and (max-width: 1000px) {
  #recruit_fresh_interview #page-title-wrapper, #recruit_career_interview #page-title-wrapper {
    margin-bottom: 5em;
  }
}
#page-title-wrapper #page-title {
  position: relative;
  height: 445px;
}
@media only screen and (max-width: 1000px) {
  #page-title-wrapper #page-title {
    height: auto;
  }
  #recruit_fresh_interview #page-title-wrapper #page-title, #recruit_career_interview #page-title-wrapper #page-title {
    height: 500px;
  }
}
#page-title-wrapper #page-title .title-background-01 {
  width: 60%;
  height: 445px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right center;
  background-image: url(../images/background-guide.jpg);
}
.page-id-2162 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-business-02.jpg);
}
.page-id-2150 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-wanted-02.jpg);
}
.page-id-2152 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-number.jpg);
}
.page-id-2148 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-system-02.jpg);
}
.page-id-2182 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-wanted-02.jpg);
}
.page-id-2145 #page-title-wrapper #page-title .title-background-01, 
.page-id-2133 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-system-02.jpg);
}
.page-template-page-faq-fresh-php #page-title-wrapper #page-title .title-background-01,
.page-template-page-faq-career-php #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-faq.jpg);
}
.fresh-interview-01 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-fresh-interview-01.jpg);
}
.fresh-interview-02 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-fresh-interview-02.jpg);
}
.fresh-interview-03 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-fresh-interview-03.jpg);
}
.fresh-interview-04 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-fresh-interview-04.jpg);
}
.career-interview-01 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-career-interview-01.jpg);
}
.career-interview-02 #page-title-wrapper #page-title .title-background-01 {
  background-image: url(../images/background-career-interview-02.jpg);
}
@media only screen and (max-width: 1000px) {
  #page-title-wrapper #page-title .title-background-01 {
    height: 340px;
  }
  #recruit_fresh_interview #page-title-wrapper #page-title .title-background-01, #recruit_career_interview #page-title-wrapper #page-title .title-background-01 {
    width: 100%;
    background-position: center;
  }
}
@media only screen and (max-width: 640px) {
  #page-title-wrapper #page-title .title-background-01 {
    width: 100%;
  }
}
#page-title-wrapper #page-title .title-background-02 {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 60%;
  height: 445px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center right;
  background-image: url(../images/baclground-page-title-02.png);
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
#recruit_fresh_interview #page-title-wrapper #page-title .title-background-02 {
  background-image: url(../images/baclground-page-title-05.png);
}
#recruit_career_interview #page-title-wrapper #page-title .title-background-02 {
  background-image: url(../images/baclground-page-title-06.png);
}
.page-template-page-guide-career-php #page-title-wrapper #page-title .title-background-02 {
  background-image: url(../images/baclground-page-title-07.png);
}
#recruit_career_system #page-title-wrapper #page-title .title-background-02 {
  background-image: url(../images/baclground-page-title-07.png);
  top: -3px;
  height: 450px;
}
@media only screen and (max-width: 1000px) {
  #page-title-wrapper #page-title .title-background-02 {
    height: 340px;
  }
  #recruit_fresh_interview #page-title-wrapper #page-title .title-background-02, #recruit_career_interview #page-title-wrapper #page-title .title-background-02 {
    top: auto;
    width: 100%;
    background-image: url(../images/baclground-page-title-03.png);
    height: 500px;
  }
  #recruit_career_system #page-title-wrapper #page-title .title-background-02 {
    height: 345px;
  }
}
@media only screen and (max-width: 640px) {
  #page-title-wrapper #page-title .title-background-02 {
    top: auto;
    width: 100%;
    background-image: url(../images/baclground-page-title-03.png);
  }
  .page-template-page-guide-career-php #page-title-wrapper #page-title .title-background-02 {
    background-image: url(../images/baclground-page-title-03.png);
  }
  #recruit_career_system #page-title-wrapper #page-title .title-background-02 {
    background-image: url(../images/baclground-page-title-03.png);
    top: auto;
    height: 340px;
  }
}
#recruit_fresh_interview #page-title-wrapper #page-title .section-title, #recruit_career_interview #page-title-wrapper #page-title .section-title {
  font-size: 1.625em;
  font-weight: normal;
  margin-bottom: 30px;
  margin-top: 2em;
}
@media only screen and (max-width: 1000px) {
  #recruit_fresh_interview #page-title-wrapper #page-title .section-title, #recruit_career_interview #page-title-wrapper #page-title .section-title {
    margin-top: 0;
  }
}
#recruit_fresh_interview #page-title-wrapper #page-title .section-title:after, #recruit_career_interview #page-title-wrapper #page-title .section-title:after {
  background-color: #fff;
  width: 40px;
  height: 1px;
  bottom: -10px;
}
#page-title-wrapper #page-title .section-title-wrapper {
  z-index: 5;
  color: #fff;
}
#recruit_fresh_interview #page-title-wrapper #page-title .section-title-wrapper, #recruit_career_interview #page-title-wrapper #page-title .section-title-wrapper {
  padding-left: 60px;
}
@media only screen and (max-width: 1000px) {
  #page-title-wrapper #page-title .section-title-wrapper {
    padding-left: 45px;
  }
  #recruit_fresh_interview #page-title-wrapper #page-title .section-title-wrapper {
    background: -moz-linear-gradient(left, #0071ba, #008d9a);
    background: -webkit-linear-gradient(left, #0071ba, #008d9a);
    background: linear-gradient(to right, #0071ba, #008d9a);
    width: 95%;
    position: absolute;
    left: 0;
    bottom: -50px;
    padding: 2em 1em;
  }
  #recruit_career_interview #page-title-wrapper #page-title .section-title-wrapper {
    background: -moz-linear-gradient(left, #003891, #450091);
    background: -webkit-linear-gradient(left, #003891, #450091);
    background: linear-gradient(to right, #003891, #450091);
    width: 95%;
    position: absolute;
    left: 0;
    bottom: -50px;
    padding: 2em 1em;
  }
}
@media only screen and (max-width: 640px) {
  #page-title-wrapper #page-title .section-title-wrapper {
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center;
    background-image: url(../images/baclground-page-title-04.png);
    width: 320px;
    position: absolute;
    right: 0;
    bottom: 0;
    padding: 2em 0 4em 18%;
  }
  .page-template-page-guide-career-php #page-title-wrapper #page-title .section-title-wrapper {
    background-image: url(../images/baclground-page-title-08.png);
  }
  #recruit_career_system #page-title-wrapper #page-title .section-title-wrapper {
    background-image: url(../images/baclground-page-title-08.png);
  }
}
#page-title-wrapper #page-title .section-title:after {
  background-color: #fff;
}
#page-title-wrapper #page-title ul li {
  margin-bottom: 0.5em;
}
#page-title-wrapper #page-title ul .title {
  font-size: 1.75em;
  line-height: 1.4;
}
#page-title-wrapper #page-title ul .name {
  font-size: 1.75em;
}
#page-title-wrapper #page-title ul .name span {
  font-size: 50%;
}
#page-title-wrapper #page-title ul .dept {
  display: inline-block;
  border: 1px solid #fff;
  font-size: 0.9375em;
  text-align: center;
  padding: 5px;
}
@media only screen and (max-width: 1000px) {
  #page-title-wrapper #page-title ul .dept {
    text-align: left;
  }
}
#page-title-wrapper #page-title p {
  position: relative;
  z-index: 5;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: jsライブラリ専用外部ファイル読み込み */
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: slickスライダーの共通設定*/
/* Slider */
.slick-loading .slick-list {
  background: #fff url("./../images/ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 30px;
  width: 30px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  -webkit-transform: translate(0, 11%);
  -ms-transform: translate(0, 11%);
  transform: translate(0, 11%);
  padding: 0;
  border: none;
  outline: none;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media only screen and (max-width: 1000px) {
  .slick-prev,
.slick-next {
    -webkit-transform: translate(0, 14%);
    -ms-transform: translate(0, 14%);
    transform: translate(0, 14%);
  }
}
@media only screen and (max-width: 640px) {
  .slick-prev,
.slick-next {
    -webkit-transform: translate(0, 20%);
    -ms-transform: translate(0, 20%);
    transform: translate(0, 20%);
  }
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 30px;
  line-height: 0;
  color: #003891;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -14px;
  z-index: 2;
}
[dir=rtl] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir=rtl] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -14px;
  z-index: 2;
}
[dir=rtl] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir=rtl] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 20px;
}
@media only screen and (max-width: 1000px) {
  .slick-dotted.slick-slider {
    margin-bottom: 10px;
  }
}

.slick-dots {
  position: absolute;
  // top: -30px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 1px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  color: #003891;
  opacity: 0.25;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "■";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: #003891;
  opacity: 1;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}


.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
@media screen and (max-width: 768px) {
  padding: 16px;
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.slider {
  display: none;
}
.slider * {
  box-sizing: border-box;
  line-height: 0;
}
.slider.slick-slider {
  display: block;
}
.slider .slick-track .slick-slide a:hover {
  opacity: 0.8;
}
.slider .slick-track .slick-slide img {
  width: 100%;
  height: auto;
  margin: auto;
  vertical-align: middle;
  display: block;
}
.slider .slick-arrow {
  z-index: 9;
  width: 26px;
  height: 39px;
  margin: auto;
  top: 0;
  bottom: 0;
  transform: none;
}
.slider .slick-arrow:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-image: url(../images/slider-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 1;
}
.slider .slick-arrow:hover {
  opacity: 0.8;
}
.slider .slick-arrow.slick-prev {
  left: 10px;
  transform: rotate(180deg);
}
@media only screen and (max-width: 640px) {
  .slider .slick-arrow.slick-prev {
    left: 0;
  }
}
.slider .slick-arrow.slick-next {
  right: 10px;
}
@media only screen and (max-width: 640px) {
  .slider .slick-arrow.slick-next {
    right: 0;
  }
}
.slider .slick-dots {
  bottom: 20px;
}
.slider .slick-dots li {
  width: 15px;
  height: 15px;
}
.slider .slick-dots li button {
  width: 15px;
  height: 15px;
  background: #fff;
  border: 1px solid #003891;
  border-radius: 50%;
}
.slider .slick-dots li button:before {
  content: none;
}
.slider .slick-dots li.slick-active button {
  background: #003891;
}
.slider.slick-dotted {
  margin-bottom: 0;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: ページ外部ファイル読み込み */
/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
#wanted {
  position: relative;
  z-index: 5;
}
#wanted img {
  width: 100%;
  height: auto;
}
#wanted .container {
  padding: 5em 0;
  max-width: 1090px;
}
@media only screen and (max-width: 640px) {
  #wanted .container {
    padding: 3em 0;
  }
}
#wanted .lead-01 {
  color: #000;
  font-size: 1.5625em;
  font-weight: bold;
  font-style: italic;
  margin-top: 0.5em;
}
@media only screen and (max-width: 640px) {
  #wanted .lead-01 {
    font-size: 1.25em;
  }
}
#wanted .txt-italic {
  margin-top: 0.5em;
}
@media only screen and (max-width: 640px) {
  #wanted .txt-italic {
    font-size: 1.25em;
  }
}
#wanted .terms {
  margin: 5em -15px;
}
@media only screen and (max-width: 640px) {
  #wanted .terms {
    display: block;
    margin: 3.5em auto;
  }
}
#wanted .terms div {
  margin: 0 15px;
  width: calc(100% / 3 - 30px);
}
@media only screen and (max-width: 640px) {
  #wanted .terms div {
    margin: auto auto 15px;
    width: 100%;
  }
  #wanted .terms div p {
    display: table-cell;
  }
}
#wanted .terms .num {
  width: 60px;
  height: 63px;
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 640px) {
  #wanted .terms .num {
    width: 50px;
    height: 53px;
  }
}
#wanted .terms .txt {
  color: #000;
  font-size: 1.5625em;
  font-style: oblique;
  line-height: 1.75;
}
@media only screen and (max-width: 640px) {
  #wanted .terms .txt {
    padding-left: 0.5em;
  }
}
#wanted .message h3 {
  color: #000;
  font-style: italic;
  font-size: 2.625em;
  font-weight: bold;
  margin-bottom: 0.5em;
  padding: 0.5em 0;
  position: relative;
}
@media only screen and (max-width: 640px) {
  #wanted .message h3 {
    font-size: 1.875em;
    line-height: 2.2;
    margin-bottom: 0;
    padding-top: 0;
  }
}
#wanted .message h3 span {
  font-size: 50%;
  font-style: normal;
  font-weight: normal;
  padding-left: 1em;
}
@media only screen and (max-width: 640px) {
  #wanted .message h3 span {
    color: #003891;
    display: block;
    padding-left: 0;
  }
}
#wanted .message h3:after {
  content: "";
  display: block;
  background-color: #003891;
  width: 45px;
  height: 2px;
  position: absolute;
  bottom: 5px;
  left: 0;
  margin: auto;
}
@media only screen and (max-width: 640px) {
  #wanted .message h3:after {
    bottom: 45px;
  }
}
#wanted .message .txt {
  font-size: 1em;
  line-height: 2;
  margin-bottom: 2em;
}
#wanted .message .thumb {
  float: right;
  margin: 0 0 1em 3em;
  width: 220px;
  width: 40%;
  max-width: 640px;
}
@media only screen and (max-width: 640px) {
  #wanted .message .thumb {
    margin: 0 0 1em 1em;
    max-width: 220px;
    width: 50%;
    width: 100%;
  }
}
#wanted .message .thumb p {
  margin: 1em auto auto;
  text-align: center;
  width: 75%;
}
@media only screen and (max-width: 640px) {
  #wanted .message .thumb p {
    display: none;
  }
}
@media only screen and (max-width: 640px) {
  #wanted .message .nopc img {
    width: 130px;
  }
  #wanted .message .nopc p {
    margin-bottom: 1.5em;
  }
}

.txt-bg-gradation span {
  background: linear-gradient(90deg, #0071BA, #008D9A);
  box-sizing: border-box;
  color: #fff;
  font-size: 1.875em;
  display: inline;
  line-height: 2;
  margin: 0.25em auto;
  padding: 0.25em;
}
.txt-bg-gradation span.gradation-02 {
  background: -moz-linear-gradient(left, #003891, #450091);
  background: -webkit-linear-gradient(left, #003891, #450091);
  background: linear-gradient(to right, #003891, #450091);
}
@media only screen and (max-width: 640px) {
  .txt-bg-gradation span {
    line-height: 1.5;
    padding: 0;
  }
}

/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
.page-id-2145 .lead {
  margin-bottom: 5em;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .lead {
    margin-bottom: 3em;
  }
}

.page-id-2145 {
  position: relative;
  z-index: 5;
}
.page-id-2145 img {
  width: 100%;
  height: auto;
}
.page-id-2145 .container {
  padding: 5em 0;
  max-width: 1090px;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .container {
    padding: 3em 0;
  }
}
.page-id-2145 .txt-italic {
  margin-top: 0.5em;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .txt-italic {
    font-size: 1.25em;
  }
}
.page-id-2145 .lead {
  font-size: 1em;
  line-height: 2;
}
.page-id-2145 .flow {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: stretch;
  position: relative;
}
.page-id-2145 .flow-wrapper {
  margin: 4em auto 6em;
}
.page-id-2145 .flow .month {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 1.875em;
  color: #fff;
  text-align: center;
  width: 90px;
  vertical-align: middle;
  position: relative;
  padding-top: 20px;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .flow .month {
    padding-top: 1em;
    vertical-align: top;
    width: 75px;
  }
}
.page-id-2145 .flow .month span {
  font-size: 60%;
  font-weight: normal;
  padding-top: 5px;
}
.page-id-2145 .flow .month::after {
  content: " ";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 0;
  right: 0;
  bottom: -18px;
  margin: auto;
  border-style: solid;
  border-width: 18px 45px 0 45px;
  border-color: #007bff transparent transparent transparent;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .flow .month::after {
    border-width: 15px 37.5px 0 37.5px;
    bottom: -15px;
  }
}
.page-id-2145 .flow .txt-box {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 1em 1.5em;
  vertical-align: middle;
  width: calc( 70% - 90px );
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .flow .txt-box {
    width: calc( 100% - 75px );
    padding: 1em 0 1em 1.5em;
  }
}
.page-id-2145 .flow .td-head {
  color: #2E3190;
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.25;
  margin-bottom: 0.25em;
  width: 100%;
}
.page-id-2145 .flow .txt {
  font-size: 1em;
  line-height: 1.75;
  margin-bottom: 1em;
  width: 100%;
}
.page-id-2145 .flow .img-box {
  padding: 1em 0;
}
.page-id-2145 .flow .img-box.nosp {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 30%;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .flow .img-box.nosp {
    display: none;
  }
}
.page-id-2145 .flow .img-box img {
  width: 100%;
  vertical-align: middle;
}
.page-id-2145 .flow .last {
  border-top: 2px solid #2E3190;
  border-bottom: 2px solid #2E3190;
  color: #2E3190;
  font-size: 1.5625em;
  font-style: italic;
  padding: 0.75em 0;
  text-align: center;
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .flow .last {
    font-size: 1.375em;
    line-height: 1.25;
    width: 100%;
  }
}
.page-id-2145 .flow.details-01 {
  z-index: 7;
}
.page-id-2145 .flow.details-01 .month {
  background: #54C2F0;
}
.page-id-2145 .flow.details-01 .month::after {
  border-color: #54C2F0 transparent transparent transparent;
}
.page-id-2145 .flow.details-02 {
  z-index: 6;
}
.page-id-2145 .flow.details-02 .month {
  background: #36AEE2;
}
.page-id-2145 .flow.details-02 .month::after {
  border-color: #36AEE2 transparent transparent transparent;
}
.page-id-2145 .flow.details-03 {
  z-index: 5;
}
.page-id-2145 .flow.details-03 .month {
  background: #009AD2;
}
.page-id-2145 .flow.details-03 .month::after {
  border-color: #009AD2 transparent transparent transparent;
}
.page-id-2145 .flow.details-04 {
  z-index: 4;
}
.page-id-2145 .flow.details-04 .month {
  background: #0087C2;
}
.page-id-2145 .flow.details-04 .month::after {
  border-color: #0087C2 transparent transparent transparent;
}
.page-id-2145 .flow.details-04 .txt-box {
  // width: calc( 50% - 90px );
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .flow.details-04 .txt-box {
    width: calc( 100% - 75px );
  }
}
.page-id-2145 .flow.details-04 .img-box {
  // width: 50%;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .flow.details-04 .img-box.nopc {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .flow.details-04 .img-box {
    width: 100%;
  }
}
.page-id-2145 .flow.details-04 .img-box img {
  // width: 50%;
}
.page-id-2145 .flow.details-05 {
  z-index: 3;
}
.page-id-2145 .flow.details-05 .month {
  background: #0077B3;
}
.page-id-2145 .flow.details-05 .month::after {
  border-color: #0077B3 transparent transparent transparent;
}
.page-id-2145 .flow.details-06 {
  z-index: 2;
}
.page-id-2145 .flow.details-06 .month {
  background: #0067A5;
}
.page-id-2145 .flow.details-06 .month::after {
  border-color: #0067A5 transparent transparent transparent;
}
.page-id-2145 .flow.details-07 {
  z-index: 1;
}
.page-id-2145 .flow.details-07 .month {
  background: #005897;
}
.page-id-2145 .flow.details-07 .month::after {
  border-color: #005897 transparent transparent transparent;
}
@media only screen and (max-width: 1000px) {
  .page-id-2145 .flow.details-07 .txt-box {
    width: calc( 100% - 90px );
  }
}
.page-id-2145 .terms {
  margin: 5em -25px;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .terms {
    display: block;
    margin: 2em auto;
  }
}
.page-id-2145 .terms div {
  margin: 0 25px;
  width: calc(100% / 3 - 50px);
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .terms div {
    margin: auto auto 25px;
    width: 100%;
  }
  .page-id-2145 .terms div:nth-child(3) .num {
    align-items: center;
    display: inline-flex;
  }
}
.page-id-2145 .terms .num {
  color: #2E3190;
  font-size: 1.5625em;
}
.page-id-2145 .terms .num img {
  width: 60px;
  height: 63px;
  margin-bottom: 0.5em;
  margin-right: 0.5em;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .terms .num img {
    width: 50px;
    height: 53px;
  }
}
.page-id-2145 .terms .head {
  color: #2E3190;
  font-size: 1.0625em;
  font-weight: bold;
}
.page-id-2145 .terms .txt {
  font-size: 1em;
  line-height: 2;
  margin-bottom: 1.5em;
  text-align: justify;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .terms .txt {
    margin-bottom: 1em;
  }
}
.page-id-2145 .terms small {
  color: #2E3190;
  font-size: 0.8125em;
  display: inline-block;
  padding-bottom: 0.5em;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .terms small {
    font-size: 0.53125em;
  }
  .page-id-2145 .terms small.nosp {
    display: none;
  }
}
.page-id-2145 .system-1 .content-ttl {
  text-align: center;
}
.page-id-2145 .system-1 .content-ttl .txt {
  font-size: 1.1875em;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .system-1 .content-ttl .txt {
    font-size: 1em;
  }
}
.page-id-2145 .system-1 .content-ttl .txt-bg-gradation span {
  font-size: 2.0625em;
  font-feature-settings: normal;
}
.page-id-2145 .section-title-wrapper {
  margin-bottom: 3em;
}
.page-id-2145 .section-title-wrapper .section-title {
  font-size: 4.375em;
  margin: 0 auto 0.75em;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .section-title-wrapper .section-title {
    font-size: 3.125em;
  }
}
.page-id-2145 .section-title-wrapper p {
  font-weight: normal;
}
.page-id-2145 .attitude {
  margin: 5em auto;
}
.page-id-2145 .attitude .txt {
  font-size: 1em;
  line-height: 2;
}
.page-id-2145 .attitude .figure {
  margin: 2em auto 4em;
  width: 85%;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .attitude .figure {
    width: 100%;
  }
}
.page-id-2145 .attitude .txt-bg-gradation {
  margin-bottom: 0.5em;
  text-align: center;
}
.page-id-2145 .attitude .t-center {
  font-size: 1.1875em;
  text-align: center;
}
.page-id-2145 .system-image {
  margin: 5em auto;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .system-image {
    overflow: scroll;
  }
}
.page-id-2145 .system-image .figure {
  margin: 2em auto 4em;
  width: 85%;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .system-image .figure {
    background: #fff;
    margin: 1em auto 0;
    min-width: 960px;
  }
}
.page-id-2145 .system-image .nopc {
  font-size: 1.125em;
}
.page-id-2145 .condition {
  margin: 5em auto;
}
.page-id-2145 .condition .stack-box {
  margin-bottom: 5em;
  position: relative;
  background-repeat: no-repeat;
  background-size: 500px auto;
  background-position: left top;
  padding-top: 100px;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .condition .stack-box {
    background-size: contain;
    margin-bottom: 0;
    padding-top: 50%;
  }
}
.page-id-2145 .condition .stack-box:nth-child(2) {
  background-image: url(../images/condition-01.jpg);
}
.page-id-2145 .condition .stack-box:nth-child(3) {
  background-image: url(../images/condition-02.jpg);
  background-position: right top;
}
.page-id-2145 .condition .stack-box:nth-child(4) {
  background-image: url(../images/condition-03.jpg);
}
.page-id-2145 .condition .stack-box .img {
  width: 500px;
  z-index: 1;
}
.page-id-2145 .condition .stack-box .img.right {
  margin: auto 0 auto auto;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .condition .stack-box .img {
    width: 100%;
  }
}
.page-id-2145 .condition .stack-box .box {
  background: #fff;
  margin: 0 0 0 auto;
  padding: 2em;
  max-width: 640px;
  width: 80%;
  min-height: 280px;
  z-index: 10;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .condition .stack-box .box {
    margin: auto;
    min-height: inherit;
    padding: 1.5em;
    width: 90%;
  }
}
.page-id-2145 .condition .stack-box .box.left {
  margin: 0 auto 0 0;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .condition .stack-box .box.left {
    margin: auto;
  }
}
.page-id-2145 .condition .stack-box .box .ttl {
  display: inline-flex;
  align-items: center;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .condition .stack-box .box .ttl {
    display: block;
    margin-bottom: 0.5em;
  }
}
.page-id-2145 .condition .stack-box .box .ttl small {
  display: inline-block;
  font-size: 1.1875em;
  font-weight: bold;
  padding-left: 1em;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .condition .stack-box .box .ttl small {
    font-size: 1.0625em;
    padding-left: 0;
  }
}
.page-id-2145 .condition .stack-box .box .txt {
  font-size: 0.9375em;
  line-height: 1.75;
}
.page-id-2145 .voice .flex-box {
  flex-wrap: wrap;
  margin: 0 -10px;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .voice .flex-box {
    width: 100%;
    margin: auto;
  }
}
.page-id-2145 .voice .flex-box > div:nth-child(odd) .txt {
  position: relative;
}
.page-id-2145 .voice .flex-box > div:nth-child(odd) .txt:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: auto;
  border-style: solid;
  border-width: 28px 30px 0 0;
  border-color: #037fab transparent transparent transparent;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .voice .flex-box > div:nth-child(odd) .txt {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }
  .page-id-2145 .voice .flex-box > div:nth-child(odd) .txt:after {
    top: 0;
    bottom: 0;
    left: -25px;
    right: auto;
    border-width: 0 28px 25px 0;
    border-color: transparent #0071BA transparent transparent;
  }
  .page-id-2145 .voice .flex-box > div:nth-child(odd) .name {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }
}
.page-id-2145 .voice .flex-box > div:nth-child(even) .txt {
  position: relative;
}
.page-id-2145 .voice .flex-box > div:nth-child(even) .txt:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  bottom: -20px;
  left: 0;
  right: 0;
  margin: auto;
  border-style: solid;
  border-width: 0 30px 28px 0;
  border-color: transparent #037fab transparent transparent;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .voice .flex-box > div:nth-child(even) .txt:after {
    top: 0;
    bottom: 0;
    right: -25px;
    left: auto;
    border-width: 25px 28px 0 0;
    border-color: #008D9A transparent transparent transparent;
  }
}
.page-id-2145 .voice .flex-box .gradation .txt {
  background: linear-gradient(90deg, #0071BA, #008D9A);
  box-sizing: border-box;
  color: #fff;
  font-size: 0.9375em;
  line-height: 1.75;
  padding: 1.5em;
}
.page-id-2145 .voice .flex-box .gradation .name {
  text-align: center;
  width: 72px;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .voice .flex-box .gradation {
    display: flex;
    margin-bottom: 1.5em;
  }
  .page-id-2145 .voice .flex-box .gradation .txt {
    padding: 1em;
  }
}
.page-id-2145 .voice .flex-box .w35 {
  padding: 0 10px;
  width: 35%;
}
.page-id-2145 .voice .flex-box .w35 .txt {
  min-height: 150px;
}
.page-id-2145 .voice .flex-box .w35 .name {
  margin: 1.5em 70% 2em 30%;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .voice .flex-box .w35 {
    width: 100%;
  }
  .page-id-2145 .voice .flex-box .w35 .txt {
    width: calc(100% - 100px);
  }
  .page-id-2145 .voice .flex-box .w35 .name {
    margin: auto auto auto 0;
  }
}
.page-id-2145 .voice .flex-box .w65 {
  padding: 0 10px;
  width: 65%;
}
.page-id-2145 .voice .flex-box .w65 .name {
  margin: 1em 45% 2em 55%;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .voice .flex-box .w65 {
    width: 100%;
  }
  .page-id-2145 .voice .flex-box .w65 .txt {
    width: calc(100% - 100px);
  }
  .page-id-2145 .voice .flex-box .w65 .name {
    margin: auto 0 auto auto;
  }
}
.page-id-2145 .voice .flex-box .w55 {
  padding: 0 10px;
  width: 55%;
}
.page-id-2145 .voice .flex-box .w55 .name {
  margin: 1.5em 65% 2em 35%;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .voice .flex-box .w55 {
    width: 100%;
  }
  .page-id-2145 .voice .flex-box .w55 .txt {
    width: calc(100% - 100px);
  }
  .page-id-2145 .voice .flex-box .w55 .name {
    margin: auto auto auto 0;
  }
}
.page-id-2145 .voice .flex-box .w45 {
  padding: 0 10px;
  width: 45%;
}
.page-id-2145 .voice .flex-box .w45 .txt {
  min-height: 125px;
}
.page-id-2145 .voice .flex-box .w45 .name {
  margin: 1em 45% 2em 55%;
}
@media only screen and (max-width: 640px) {
  .page-id-2145 .voice .flex-box .w45 {
    width: 100%;
  }
  .page-id-2145 .voice .flex-box .w45 .txt {
    width: calc(100% - 100px);
  }
  .page-id-2145 .voice .flex-box .w45 .name {
    margin: auto 0 auto auto;
  }
}

/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
#welfare {
  position: relative;
  z-index: 5;
}
#welfare img {
  width: 100%;
  height: auto;
}
#welfare .container {
  padding: 5em 0;
  max-width: 1090px;
}
@media only screen and (max-width: 640px) {
  #welfare .container {
    padding: 3em 0;
  }
}
#welfare .txt-bg-gradation-sub {
  font-size: 1.25em;
  margin-bottom: 3em;
}
@media only screen and (max-width: 640px) {
  #welfare .txt-bg-gradation-sub {
    font-size: 1.125em;
    margin-bottom: 2em;
  }
}
@media only screen and (max-width: 640px) {
  #welfare .welfare-1 {
    margin-bottom: 0;
  }
}
#welfare .welfare-1 .stack-box {
  margin-bottom: 2em;
}
@media only screen and (max-width: 640px) {
  #welfare .welfare-1 .stack-box {
    margin-bottom: 1em;
  }
}
#welfare .welfare-1 .num {
  color: #2E3190;
  font-size: 1.5625em;
}
@media only screen and (max-width: 640px) {
  #welfare .welfare-1 .num {
    font-size: 1.375em;
  }
}
#welfare .welfare-1 .num img {
  width: 60px;
  height: 63px;
  margin-right: 0.5em;
}
@media only screen and (max-width: 640px) {
  #welfare .welfare-1 .num img {
    width: 45px;
    height: 48px;
  }
}
#welfare .welfare-1 .txt {
  line-height: 1.75;
  margin-left: 70px;
}
@media only screen and (max-width: 640px) {
  #welfare .welfare-1 .txt {
    margin-left: 55px;
  }
}
#welfare .welfare-1 .txt .flex-box {
  margin: 0 -20px;
}
#welfare .welfare-1 .txt .flex-box dl {
  margin: 0 20px;
  width: calc(100% / 2 - 40px);
}
@media only screen and (max-width: 640px) {
  #welfare .welfare-1 .txt .flex-box {
    margin: auto;
    display: block;
  }
  #welfare .welfare-1 .txt .flex-box dl {
    margin: 10px auto;
    width: 100%;
  }
}
#welfare .welfare-1 .txt dl dt {
  color: #2e3190;
  font-size: 1.25em;
  font-weight: bold;
}
@media only screen and (max-width: 640px) {
  #welfare .welfare-1 .txt dl dt {
    font-size: 1.125em;
  }
}
#welfare .welfare-1 .txt dl dd .sp01 {
  border: 1px solid #008d9a;
  color: #008d9a;
  display: block;
  font-size: 1.0625em;
  font-weight: bold;
  margin: 0.25em auto;
  padding: 0.25em 0;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  #welfare .welfare-1 .txt dl dd .sp01 {
    font-size: 1em;
  }
}
#welfare .welfare-1 .txt dl dd .under-line {
  color: #2e3190;
  text-decoration: underline;
}

/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
#guide {
  position: relative;
  z-index: 5;
}
#guide img {
  width: 100%;
  height: auto;
}
#guide .container {
  padding: 5em 0;
  max-width: 1090px;
}
@media only screen and (max-width: 640px) {
  #guide .container {
    padding: 3em 0;
  }
}
#guide .txt-bg-gradation {
  margin-bottom: 4em;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  #guide .txt-bg-gradation {
    margin-bottom: 2em;
  }
}
#guide .guide-1 .flow-wrapper {
  max-width: 930px;
  margin: auto;
  width: 100%;
}
#guide .guide-1 .flow-wrapper .flow {
  display: -webkit-box;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
}
#guide .guide-1 .flow-wrapper .flow .head {
  background: #D2E9E9;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  padding: 1em;
  width: 175px;
  vertical-align: top;
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper .flow .head {
    padding: 0.75em;
    width: 30%;
  }
}
#guide .guide-1 .flow-wrapper .flow .txt-box {
  background: #fff;
  line-height: 1.75;
  padding: 1em;
  width: calc(100% - 175px);
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper .flow .txt-box {
    padding: 0.75em;
    width: 70%;
  }
}
#guide .guide-1 .flow-wrapper .flow .txt-box dl {
  display: flex;
  border-bottom: 1px dotted #000;
  padding: 0.5em;
}
#guide .guide-1 .flow-wrapper .flow .txt-box dl:first-child {
  border-top: 1px dotted #000;
  margin-top: 1em;
}
#guide .guide-1 .flow-wrapper .flow .txt-box dl:last-child {
  margin-bottom: 1em;
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper .flow .txt-box dl {
    display: block;
  }
}
#guide .guide-1 .flow-wrapper .flow .txt-box dl dt {
  width: 25%;
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper .flow .txt-box dl dt {
    font-weight: bold;
    width: 100%;
  }
}
#guide .guide-1 .flow-wrapper .flow .txt-box dl dd {
  width: 75%;
}
#guide .guide-1 .flow-wrapper .flow .txt-box dl dd span {
  display: inline-block;
}
#guide .guide-1 .flow-wrapper .flow .txt-box dl dd span:nth-child(1) {
  width: 60%;
}
#guide .guide-1 .flow-wrapper .flow .txt-box dl dd span:nth-child(2) {
  width: 40%;
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper .flow .txt-box dl dd {
    width: 100%;
  }
  #guide .guide-1 .flow-wrapper .flow .txt-box dl dd span {
    display: block;
  }
  #guide .guide-1 .flow-wrapper .flow .txt-box dl dd span:nth-child(1), #guide .guide-1 .flow-wrapper .flow .txt-box dl dd span:nth-child(2) {
    width: 100%;
  }
}
#guide .guide-1 .flow-wrapper .flow .txt-box .schedule img {
  width: 100%;
}
#guide .guide-1 .flow-wrapper .flow .txt-box .t-right {
  text-align: right;
}
#guide .guide-1 .flow-wrapper .flow .txt-box .mt {
  margin-top: 0.5em;
}
#guide .guide-1 .flow-wrapper th {
  background: #D2E9E9;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  padding: 1em;
  width: 175px;
  vertical-align: top;
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper th {
    padding: 0.75em;
    width: 30%;
  }
}
#guide .guide-1 .flow-wrapper td {
  background: #fff;
  line-height: 1.75;
  padding: 1em;
  width: calc(100% - 175px);
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper td {
    padding: 0.75em;
    width: 70%;
  }
}
#guide .guide-1 .flow-wrapper td .t-right {
  text-align: right;
}
#guide .guide-1 .flow-wrapper td .mt {
  margin-top: 0.5em;
}
#guide .guide-1 .flow-wrapper td dl {
  display: flex;
  border-bottom: 1px dotted #000;
  padding: 0.5em;
}
#guide .guide-1 .flow-wrapper td dl:first-child {
  border-top: 1px dotted #000;
  margin-top: 1em;
}
#guide .guide-1 .flow-wrapper td dl:last-child {
  margin-bottom: 1em;
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper td dl {
    display: block;
  }
}
#guide .guide-1 .flow-wrapper td dl dt {
  width: 25%;
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper td dl dt {
    font-weight: bold;
    width: 100%;
  }
}
#guide .guide-1 .flow-wrapper td dl dd {
  width: 75%;
}
#guide .guide-1 .flow-wrapper td dl dd span {
  display: inline-block;
}
#guide .guide-1 .flow-wrapper td dl dd span:nth-child(1) {
  width: 60%;
}
#guide .guide-1 .flow-wrapper td dl dd span:nth-child(2) {
  width: 40%;
}
@media only screen and (max-width: 640px) {
  #guide .guide-1 .flow-wrapper td dl dd {
    width: 100%;
  }
  #guide .guide-1 .flow-wrapper td dl dd span {
    display: block;
  }
  #guide .guide-1 .flow-wrapper td dl dd span:nth-child(1), #guide .guide-1 .flow-wrapper td dl dd span:nth-child(2) {
    width: 100%;
  }
}

/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
#number {
  position: relative;
  z-index: 5;
}
#number img {
  width: 100%;
  height: auto;
}
#number .container {
  padding: 5em 0;
  max-width: 1090px;
}
@media only screen and (max-width: 640px) {
  #number .container {
    padding: 3em 0;
  }
}
#number .txt-bg-gradation {
  margin-bottom: 4em;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  #number .txt-bg-gradation {
    margin-bottom: 2em;
  }
}
#number .flex-box {
  margin: 10px 15px;
  justify-content: center;
}
@media only screen and (max-width: 640px) {
  #number .flex-box {
    display: block;
  }
}
#number .flex-box .box {
  margin: 0 15px;
  width: calc(100% / 3 - 30px);
}
@media only screen and (max-width: 640px) {
  #number .flex-box .box {
    margin: auto auto 2em;
    max-width: 500px;
    width: 100%;
  }
}
#number .flex-box .box p {
  font-size: 1.25em;
  color: #2E3190;
  margin-top: 0.35em;
  text-align: center;
}
#number .flex-box .img-box {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: relative;
}
#number .flex-box .img-box:before {
  content: "";
  background-color: #A0B1BA;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  width: 100%;
  height: 100px;
  background: url(../images/number-deco-1.png) no-repeat center top/cover;
}
@media only screen and (max-width: 640px) {
  #number .flex-box .img-box:before {
    background-size: cover;
    height: 152px;
    top: -1px;
  }
}
#number .flex-box .img-box:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100px;
  background: url(../images/number-deco-2.png) no-repeat center bottom/contain;
}
@media only screen and (max-width: 640px) {
  #number .flex-box .img-box:after {
    background-size: cover;
    height: 152px;
    bottom: -1px;
  }
}
#number .flex-box .img-box#b01 {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../images/number-1.jpg);
  background-size: cover;
}
#number .flex-box .img-box#b02 {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../images/number-2.jpg);
  background-size: cover;
}
#number .flex-box .img-box#b03 {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../images/number-3.jpg);
  background-size: cover;
}
#number .flex-box .img-box#b04 {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../images/number-4.jpg);
  background-size: cover;
}
#number .flex-box .img-box#b05 {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../images/number-5.jpg);
  background-size: cover;
}

/*note: INDEXの表示は、コメントの「 index: 」でハイライト表示してください。*/
#internship {
  position: relative;
  z-index: 5;
}
#internship img {
  width: 100%;
  height: auto;
}
#internship .container {
  padding: 5em 0;
  max-width: 1090px;
}
@media only screen and (max-width: 640px) {
  #internship .container {
    padding: 3em 0;
  }
}
#internship .txt-bg-gradation {
  margin-bottom: 4em;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  #internship .txt-bg-gradation {
    margin-bottom: 2em;
  }
}
#internship .t-center {
  color: red;
  font-weight: bold;
  text-align: center;
  margin: auto auto 10px;
}
#internship table {
  max-width: 930px;
  margin: 60px auto;
  width: 100%;
}
#internship table th {
  background: #D2E9E9;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  padding: 1em;
  width: 175px;
  vertical-align: top;
}
@media only screen and (max-width: 640px) {
  #internship table th {
    padding: 0.75em;
    width: 30%;
  }
}
#internship table td {
  background: #fff;
  line-height: 1.75;
  padding: 1em;
  width: calc(100% - 175px);
}
@media only screen and (max-width: 640px) {
  #internship table td {
    padding: 0.75em;
    width: 70%;
  }
}
#internship table td .t-right {
  text-align: right;
}
#internship table td .mt {
  margin-top: 0.5em;
}
#internship table td dl {
  display: flex;
  border-bottom: 1px dotted #000;
  padding: 0.5em;
}
#internship table td dl:first-child {
  border-top: 1px dotted #000;
  margin-top: 1em;
}
#internship table td dl:last-child {
  margin-bottom: 1em;
}
@media only screen and (max-width: 640px) {
  #internship table td dl {
    display: block;
  }
}
#internship table td dl dt {
  width: 25%;
}
@media only screen and (max-width: 640px) {
  #internship table td dl dt {
    font-weight: bold;
    width: 100%;
  }
}
#internship table td dl dd {
  width: 75%;
}
#internship table td dl dd span {
  display: inline-block;
}
#internship table td dl dd span:nth-child(1) {
  width: 60%;
}
#internship table td dl dd span:nth-child(2) {
  width: 40%;
}
@media only screen and (max-width: 640px) {
  #internship table td dl dd {
    width: 100%;
  }
  #internship table td dl dd span {
    display: block;
  }
  #internship table td dl dd span:nth-child(1), #internship table td dl dd span:nth-child(2) {
    width: 100%;
  }
}
#internship .entry li {
  display: inline-block;
  width: 45%;
  margin: 2%;
}
@media only screen and (max-width: 640px) {
  #internship .entry li {
    width: 100%;
    margin: 2% 0;
  }
}
#internship .entry a {
  display: block;
  border: 1px solid #003891;
}
#internship .entry a:hover {
  opacity: 0.8;
}
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: お知らせのアーカイブ*/
#post-archive .list {
  margin-top: 1.5em;
  margin-bottom: 3em;
}
@media only screen and (max-width: 1000px) {
  #post-archive .list {
    margin-bottom: 30px;
  }
}
#post-archive .list .news-category01 {
  background-color: #003891;
  border-radius: 5px;
  color: #fff;
  font-size: 80%;
  line-height: 1.8em;
  padding: 0 0.4em;
}
#post-archive .list .news-category02 {
  background-color: #e8e5e2;
  border-radius: 5px;
  color: #003891;
  font-size: 80%;
  line-height: 1.8em;
  padding: 0 0.4em;
}
#post-archive .list .flex-box {
  align-items: center;
  padding: 0.2em 0;
}
#post-archive .list .img-box {
  border: 1px solid #003891;
  background-color: #fff;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  width: 120px;
  height: 70px;
}
#post-archive .list .no-img-box {
  border: 1px solid #003891;
  background-color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  width: 120px;
  height: 70px;
}
#post-archive .list time {
  margin-right: 0.5em;
}
#post-archive .list dl {
  width: 100%;
  padding: 0.8em 0;
  margin-left: 0.5em;
}
#post-archive .list dt {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 0.4em;
}
#post-archive .list dd {
  width: 100%;
}
#post-archive .list a {
  border-top: 1px dashed #000000;
  display: block;
  text-decoration: none;
}
#post-archive .list a:hover {
  opacity: 0.8;
}
#post-archive .list a:last-child {
  border-bottom: 1px dashed #000000;
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/* 2025.09にリニューアルした際に追加する外部ファイル読み込み */
/*
┌─────────────────────────────
│ front-page.php
│ 
*/
a img {
  vertical-align: bottom;
}

img {
  max-width: 100%;
  height: auto;
  /*高さ自動*/
}

.home {
  color: #292929;
}
.home .inner {
  max-width: 1040px;
  margin: auto;
  padding: 0 16px;
}
.home .flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.home .flex._reverse {
  flex-direction: row-reverse;
}
.home .c_figure {
  width: 49%;
}
.home .c_text {
  width: 49%;
}
.home .c_text .sec_title .jp {
  margin-top: 16px;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 4px;
}
.home .c_text .sec_title .jp:before {
  content: "";
  display: block;
  background: #045CAA;
  width: 64px;
  height: 3px;
}
.home .c_text .text_box {
  margin: 16px 0;
}
.home .c_text .btn_box .text_btn {
  display: inline-block;
  background: #045CAA url(../images/icon_arrow01_white.svg) center center no-repeat;
  background-position: center right 16px;
  width: 280px;
  padding: 16px;
  border-radius: 32px;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  line-height: 1;
  text-decoration: none;
  transition: 0.3s;
}
.home .c_text .btn_box .text_btn:hover {
  background: #1671c1 url(../images/icon_arrow01_white.svg) center center no-repeat;
  background-position: center right 16px;
}

._number {
  margin-top: 80px;
}
._number .c_text .sec_title .jp:before {
  background: #27A0C6;
}
._number .c_text .btn_box .text_btn {
  background: #27A0C6 url(../images/icon_arrow01_white.svg) center center no-repeat;
  background-position: center right 16px;
}
._number .c_text .btn_box .text_btn:hover {
  background: #1c84a4 url(../images/icon_arrow01_white.svg) center center no-repeat;
  background-position: center right 16px;
}

._career {
  margin-top: 80px;
  margin: 40px auto;
}
._career .c_text .sec_title .jp:before {
  background: #FFBF00;
}
._career .c_text .btn_box .text_btn {
  background: #FFBF00 url(../images/icon_arrow01_white.svg) center center no-repeat;
  background-position: center right 16px;
}
._career .c_text .btn_box .text_btn:hover {
  background: #fcdb77 url(../images/icon_arrow01_white.svg) center center no-repeat;
  background-position: center right 16px;
}

._welfare {
  margin-top: 80px;
}
._welfare .c_text .sec_title .jp:before {
  background: #F40004;
}
._welfare .c_text .btn_box .text_btn {
  background: #F40004 url(../images/icon_arrow01_white.svg) center center no-repeat;
  background-position: center right 16px;
}
._welfare .c_text .btn_box .text_btn:hover {
  background: #ed5254 url(../images/icon_arrow01_white.svg) center center no-repeat;
  background-position: center right 16px;
}
@media screen and (max-width: 768px) {
  .home .flex {
    display: block;
  }
  .home .c_figure {
    width: 100%;
  }
  .home .c_text {
    width: 100%;
  }
  .home .c_text .sec_title {
    width: 83%;
    margin: auto;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/
/*index: 投稿がない場合 */
.no-post {
  font-size: 2.5em;
  font-weight: bold;
  text-align: center;
  width: 100%;
  margin: 2em auto 4em;
}
@media only screen and (max-width: 640px) {
  .no-post {
    font-size: 2em;
    margin: 2em auto;
  }
}
