@charset "UTF-8";
/*-------------------------------------------*/
/* COMMON(サイト基本設定)                      */
/*-------------------------------------------*/
/*▼▼▼▼▼▼▼▼▼▼▼reset ▼▼▼▼▼▼▼▼▼▼▼▼*/
/*要素のフォントサイズやマージン・パディングをリセットしています*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-weight: normal;
}

/*行の高さをフォントサイズと同じにしています*/
body {
  line-height: 1;
}

/*新規追加要素のデフォルトはすべてインライン要素になっているので、section要素などをブロック要素へ変更しています*/
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

strong {
  font-weight: bold;
}

/*nav要素内ulのマーカー（行頭記号）を表示しないようにしています*/
/*nav ul {
    list-style:none;
}*/
ol, ul {
  list-style: none;
}

/*引用符の表示が出ないようにしています*/
blockquote, q {
  quotes: none;
}

/*blockquote要素、q要素の前後にコンテンツを追加しないように指定しています*/
blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

/*a要素のフォントサイズなどをリセットしフォントの縦方向の揃え位置を親要素のベースラインに揃えるようにしています*/
a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* ins要素のデフォルトをセットし、色を変える場合はここで変更できるようにしています */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* mark要素のデフォルトをセットし、色やフォントスタイルを変える場合はここで変更できるようにしています
また、mark要素とは、文書内の検索結果で該当するフレーズをハイライトして、目立たせる際に使用するようです。*/
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

/*テキストに打ち消し線が付くようにしています*/
del {
  text-decoration: line-through;
}

/*IEではデフォルトで点線を下線表示する設定ではないので、下線がつくようにしています
また、マウスオーバー時にヘルプカーソルの表示が出るようにしています*/
abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

/*隣接するセルのボーダーを重ねて表示し、間隔を0に指定しています*/
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/*水平罫線のデフォルトである立体的な罫線を見えなくしています*/
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

/*縦方向の揃え位置を中央揃えに指定しています*/
input, select {
  vertical-align: middle;
}

/*画像を縦に並べた時に余白が出ないように*/
img {
  vertical-align: top;
  font-size: 0;
  line-height: 0;
}

/*box-sizingを全ブラウザに対応*/
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/*▼▼▼▼▼▼▼▼▼▼▼BASE基本設定(import) ▼▼▼▼▼▼▼▼▼▼▼▼*/
* {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-style: normal;
}

html {
  margin-top: 0 !important;
}

body {
  margin: 0;
  padding: 0;
  font-family: YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", sans-serif;
  width: 100%;
  height: 100%;
  background: #FEFEFE;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  line-height: 1.8;
}

.noto {
  font-family: "Noto Sans JP", sans-serif;
}

.barlow {
  font-family: "Barlow", sans-serif;
}

.nunito {
  font-family: "Nunito Sans", sans-serif !important;
  font-weight: 700;
}

.din {
  font-family: din-condensed, sans-serif !important;
  font-weight: 400;
  font-style: normal;
}

a {
  outline: none;
  text-decoration: none;
}

a:link {
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

a img {
  border: none;
}

li {
  list-style-type: none;
}

.noto {
  font-family: "Noto Sans JP", sans-serif;
}

/*-------------------------------------------*/
/* フォーム部品 　 　 　 　                     */
/*-------------------------------------------*/
/* iOSでのデフォルトスタイルをリセット */
input[type=submit],
input[type=button] {
  border-radius: 0px;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
       appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
input[type=submit]::-webkit-search-decoration,
input[type=button]::-webkit-search-decoration {
  display: none;
}
input[type=submit]::focus,
input[type=button]::focus {
  outline-offset: -2px;
}

input:focus, select:focus, textarea:focus {
  outline: 0px transparent solid;
}

input, label, select, textarea {
  vertical-align: middle;
}

input, select, textarea {
  color: #3E3E3E;
  padding: 1em;
  background: #E4E4E4;
  border: none;
  width: 100%;
  font-size: 16px;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

input[type=submit],
input[type=button] {
  background: transparent;
  color: #fff;
  font-weight: bold;
  padding: 1em 0;
  text-align: left;
}

input::-webkit-input-placeholder {
  color: #B7B7B7;
}

input::-moz-placeholder {
  color: #B7B7B7;
}

input:-ms-input-placeholder {
  color: #B7B7B7;
}

input::-ms-input-placeholder {
  color: #B7B7B7;
}

input::placeholder {
  color: #B7B7B7;
}

input::-webkit-input-placeholder {
  color: #B7B7B7;
}

input::-moz-placeholder {
  color: #B7B7B7;
}

input:-ms-input-placeholder {
  color: #B7B7B7;
}

input::-ms-input-placeholder {
  color: #B7B7B7;
}

input::placeholder {
  color: #B7B7B7;
}

textarea::-webkit-input-placeholder {
  color: #B7B7B7;
}

textarea::-moz-placeholder {
  color: #B7B7B7;
}

textarea:-ms-input-placeholder {
  color: #B7B7B7;
}

textarea::-ms-input-placeholder {
  color: #B7B7B7;
}

textarea::placeholder {
  color: #B7B7B7;
}

input:-ms-input-placeholder {
  color: #B7B7B7;
}

input[type=text], input[type=email] {
  font-size: 16px;
}
input[type=text].mwidth, input[type=email].mwidth {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
input[type=text]:focus, input[type=email]:focus {
  background: #E4E4E4;
}

textarea {
  border: 1px solid #E0E7E8;
  width: 100%;
  padding: 10px;
  font-size: 16px;
  border-radius: 0 !important;
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
textarea:focus {
  background: #E4E4E4;
}

/**********ラジオボタンとチェックボックス***********/
input[type=radio], input[type=checkbox] {
  display: none;
}

.radio, .checkbox {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  margin: 0 10px 4px 0;
  padding: 8px 8px 8px 36px;
  border-radius: 8px;
  background-color: #ffffff;
  vertical-align: middle;
  cursor: pointer;
}

.radio:hover, .checkbox:hover {
  background-color: #E4E4E4;
}

.radio:hover:after, .checkbox:hover:after {
  border-color: #E0E7E8;
}

.radio:after, .checkbox:after {
  -webkit-transition: border-color 0.2s linear;
  transition: border-color 0.2s linear;
  position: absolute;
  top: 50%;
  left: 9px;
  display: block;
  margin-top: -10px;
  width: 16px;
  height: 16px;
  border: 2px solid #E0E7E8;
  border-radius: 6px;
  content: "";
}

.radio:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 14px;
  display: block;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #E03124;
  content: "";
  opacity: 0;
}

input[type=radio]:checked + .radio:before {
  opacity: 1;
}

.checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 15px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid #E03124;
  border-bottom: 3px solid #E03124;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}

.selectWrap {
  width: 260px;
  display: inline-block;
  position: relative;
  padding: 0 30px 0 0;
  background: #E4E4E4;
}
.selectWrap::after {
  content: "▼";
  font-size: 0.8em;
  display: block;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%) scaleX(1.5);
      -ms-transform: translateY(-50%) scaleX(1.5);
          transform: translateY(-50%) scaleX(1.5);
}

.mw_wp_form_confirm .selectWrap {
  background: transparent;
  padding: 0;
}
.mw_wp_form_confirm .selectWrap::after {
  content: none;
}

select {
  width: 100%;
}
select option {
  padding: 0.8em;
}

.req:after {
  content: "*";
  color: #002248;
  font-weight: bold;
}

/*-------------------------------------------*/
/* 404見つかりませんでした                      */
/*-------------------------------------------*/
#not_found .inner {
  border-bottom: 1px solid #e6e6e6;
  padding: 30px 0 60px 0;
}
#not_found .inner h1 {
  color: #4b4b4b;
  font-size: 120px;
  text-align: center;
  font-weight: normal;
  margin-bottom: 30px;
}
#not_found .inner .lead {
  font-size: 35px;
  text-align: center;
  vertical-align: middle;
  margin-bottom: 30px;
}
#not_found .inner .lead span {
  vertical-align: middle;
  font-size: 16px;
}
#not_found .inner .text {
  font-size: 13px;
  text-align: center;
  line-height: 1.6;
}
#not_found .totop {
  text-align: center;
  padding: 60px 0;
}
#not_found .totop a {
  display: inline-block;
  padding: 20px 60px;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  background: #bcbcbc;
  color: #fff;
}

/*▲▲▲▲▲▲▲▲▲▲▲　BASE基本設定終了 ▲▲▲▲▲▲▲▲▲▲*/
html {
  color: #001538;
}

body {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.03em;
  background-image: url(../images/common/bg_line_sp.png);
  background-repeat: repeat-y;
  background-size: 100% auto;
}
@media all and (min-width: 751px) {
  body {
    font-size: 15px;
    background-image: url(../images/common/bg_line_pc.png);
  }
}
@media all and (min-width: 1367px) {
  body {
    background-size: 1366px auto;
    background-position: center;
  }
}

a {
  color: #001538;
}

a:link {
  color: #003a89;
}

a:visited {
  color: #003a89;
}

a:hover {
  color: #002248;
}

@media all and (min-width: 1025px) {
  a img {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  a:hover img {
    opacity: 0.8;
  }
}

.nonSP {
  display: block !important;
}
@media all and (max-width: 750px) {
  .nonSP {
    display: none !important;
  }
}

.forSP {
  display: none !important;
}
@media all and (max-width: 750px) {
  .forSP {
    display: block !important;
  }
  .forSP.inline {
    display: inline !important;
  }
}

.forTB {
  display: none !important;
}
@media all and (max-width: 1024px) {
  .forTB {
    display: block !important;
  }
  .forTB.inline {
    display: inline !important;
  }
}

.forPC {
  display: none !important;
}
@media all and (min-width: 1025px) {
  .forPC {
    display: block !important;
  }
  .forPC.inline {
    display: inline !important;
  }
}

@media all and (min-width: 1025px) {
  .forSPTB {
    display: none;
  }
}

.nonGT {
  display: block !important;
}
@media all and (min-width: 1367px) {
  .nonGT {
    display: none !important;
  }
}

img.fit-cover {
  font-family: "object-fit: cover";
}

img.fit-contain {
  font-family: "object-fit: contain";
}

.noMgnT {
  margin-top: 0 !important;
}

.noMgnB {
  margin-bottom: 0 !important;
}

.noPdgT {
  padding-top: 0 !important;
}

.noPdgB {
  padding-bottom: 0 !important;
}

.addMgnT {
  margin-top: 40px;
}
@media all and (min-width: 751px) {
  .addMgnT {
    margin-top: 35px;
  }
}

.addMgnB {
  margin-bottom: 50px;
}
@media all and (min-width: 751px) {
  .addMgnB {
    margin-bottom: 60px;
  }
}
@media all and (min-width: 1025px) {
  .addMgnB {
    margin-bottom: 80px;
  }
}

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

.image img {
  width: 100%;
}

.bg_white {
  background: #fff;
}

.bg_navy {
  background: #e0e7e8;
}

.bg_gray {
  background: #e4e4e4;
}

.color_white {
  color: #fff;
}

.align_center {
  text-align: center;
}

.align_left {
  text-align: left;
}

.align_right {
  text-align: right;
}

@media all and (min-width: 751px) {
  .pc_align_right {
    text-align: right;
  }
  .pc_align_center {
    text-align: center;
  }
}
.bold {
  font-weight: bold;
}

.eng {
  font-family: "Nunito Sans", sans-serif;
  font-weight: 600;
}

.rel {
  position: relative;
}

.abs {
  position: absolute;
}

.pen {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #fff972));
  background: linear-gradient(transparent 60%, #fff972 60%);
}

.box_shadow {
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.line {
  border: 1px solid #b5b5b5;
  margin: 70px 0 0 0;
}

.top {
  margin-top: 40px;
}
@media all and (min-width: 751px) {
  .top {
    margin-top: 70px;
  }
}

.bottom {
  margin-bottom: 30px;
}
@media all and (min-width: 751px) {
  .bottom {
    margin-bottom: 40px;
  }
}

hr.border {
  margin-top: 30px;
  background: #e8e8e8;
}

.box_border_u {
  padding-bottom: 1em;
  border-bottom: 2px solid #e4e4e4;
}
@media all and (min-width: 751px) {
  .box_border_u {
    padding-bottom: 25px;
  }
}

.lead {
  color: #002248;
}

sup {
  vertical-align: super;
  font-size: 0.6em;
}

sub {
  vertical-align: sub;
  font-size: 0.6em;
}

/* 読み込み中マーク */
.wpcf7-spinner {
  display: none;
}

/* 未入力や送信完了の際に表示されるテキスト */
.wpcf7-response-output {
  display: none;
}

#zipcode::-webkit-input-placeholder {
  color: transparent;
}

#zipcode::-moz-placeholder {
  color: transparent;
}

#zipcode:-ms-input-placeholder {
  color: transparent;
}

#zipcode::-ms-input-placeholder {
  color: transparent;
}

#zipcode::placeholder {
  color: transparent;
}

#autozip {
  display: none !important;
}

/*=================
  ボタン
=================*/
.btnWrap {
  text-align: left;
  margin-top: 40px;
}
.btnWrap.align_right {
  text-align: right;
}
.btnWrap.align_left {
  text-align: left;
}
.btnWrap.align_center {
  text-align: center;
}
@media all and (min-width: 751px) {
  .btnWrap.pc_align_right {
    text-align: right;
  }
  .btnWrap.pc_align_center {
    text-align: center;
  }
}

#return {
  margin-top: 60px;
}
@media all and (min-width: 751px) {
  #return {
    margin-top: 80px;
  }
}
@media all and (min-width: 1025px) {
  #return {
    margin-top: 80px;
  }
}

.btn_switch {
  cursor: pointer;
  display: inline-block;
  position: relative;
  border: 1px solid #003a89;
  background: #003a89;
  text-decoration: none !important;
  padding: 0 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 400px;
  text-align: left;
}
.btn_switch:not(.input_page) {
  padding: 0.93em 30px;
}
.btn_switch.input_page {
  padding: 0;
}
.btn_switch.input_page input {
  padding: 1.5em 30px;
}
.btn_switch input {
  cursor: pointer;
}
.btn_switch .text {
  margin-top: 0;
  line-height: 1;
  color: #fff;
  font-size: 15px;
}
.btn_switch .switch {
  display: inline-block;
  position: absolute;
  width: 33px;
  height: 16px;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.btn_switch .switch .bar {
  position: absolute;
  display: inline-block;
  width: 16px;
  height: 2px;
  background: #fff;
  right: 16px;
  top: calc(50% - 1px);
  z-index: 2;
}
.btn_switch .switch .round {
  position: absolute;
  width: 16px;
  height: 16px;
  background: #003a89;
  border: 4px solid #fff;
  border-radius: 50%;
  bottom: 0;
  right: 0px;
  z-index: 3;
}
@media all and (max-width: 750px) {
  .btn_switch.sp_wide {
    max-width: 100%;
  }
}
@media all and (min-width: 751px) {
  .btn_switch {
    max-width: 300px;
  }
}
@media all and (min-width: 1025px) {
  .btn_switch {
    border-color: #013a89;
    background: transparent;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .btn_switch .text {
    color: #003a89;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .btn_switch .switch .bar {
    background: #003a89;
    right: 0;
  }
  .btn_switch .switch .round {
    background: transparent;
    right: 16px;
    border-color: #003a89;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .btn_switch.pc_white {
    border-color: #fff;
  }
  .btn_switch.pc_white .text {
    color: #fff;
  }
  .btn_switch.pc_white .switch .bar {
    background: #fff;
  }
  .btn_switch.pc_white .switch .round {
    border-color: #fff;
  }
  .btn_switch:hover {
    background: #003a89;
  }
  .btn_switch:hover .text {
    color: #fff;
  }
  .btn_switch:hover .switch .bar {
    background: #fff;
    right: 16px;
  }
  .btn_switch:hover .switch .round {
    background: #003a89;
    border-color: #fff;
    right: 0;
  }
}

.btn_switch_indigo {
  display: inline-block;
  position: relative;
  border: 1px solid #001538;
  background: #001538;
  padding: 0 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 400px;
  text-align: left;
  line-height: 58px;
  margin: 10px 10px 10px 0;
}
.btn_switch_indigo .text {
  margin-top: 0;
  line-height: 1;
  color: #fff;
  font-size: 15px;
}
.btn_switch_indigo .switch {
  display: inline-block;
  position: absolute;
  width: 33px;
  height: 16px;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
.btn_switch_indigo .switch .bar {
  position: absolute;
  display: inline-block;
  width: 16px;
  height: 2px;
  background: #fff;
  right: 16px;
  top: calc(50% - 1px);
  z-index: 2;
}
.btn_switch_indigo .switch .round {
  position: absolute;
  width: 16px;
  height: 16px;
  background: #001538;
  border: 4px solid #fff;
  border-radius: 50%;
  bottom: 0;
  right: 0px;
  z-index: 3;
}
@media all and (max-width: 750px) {
  .btn_switch_indigo {
    margin: 5px 0;
  }
  .btn_switch_indigo.sp_wide {
    max-width: 100%;
  }
}
@media all and (min-width: 751px) {
  .btn_switch_indigo {
    max-width: 330px;
  }
}
@media all and (min-width: 1025px) {
  .btn_switch_indigo {
    border-color: #013a89;
    background: transparent;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .btn_switch_indigo .text {
    color: #001538;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .btn_switch_indigo .switch .bar {
    background: #001538;
    right: 0;
  }
  .btn_switch_indigo .switch .round {
    background: transparent;
    right: 16px;
    border-color: #001538;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .btn_switch_indigo.pc_white {
    border-color: #fff;
  }
  .btn_switch_indigo.pc_white .text {
    color: #fff;
  }
  .btn_switch_indigo.pc_white .switch .bar {
    background: #fff;
  }
  .btn_switch_indigo.pc_white .switch .round {
    border-color: #fff;
  }
  .btn_switch_indigo:hover {
    background: #001538;
  }
  .btn_switch_indigo:hover .text {
    color: #fff;
  }
  .btn_switch_indigo:hover .switch .bar {
    background: #fff;
    right: 16px;
  }
  .btn_switch_indigo:hover .switch .round {
    background: #001538;
    border-color: #fff;
    right: 0;
  }
}

a.btn_search {
  display: inline-block;
  position: relative;
  border: 1px solid #003a89;
  background: #003a89;
  padding: 0 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 400px;
  text-align: left;
  line-height: 58px;
  margin-top: 0;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  letter-spacing: 0.1em;
}
a.btn_search::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/common/icon_search.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 25.4px;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media all and (min-width: 751px) {
  a.btn_search {
    max-width: 300px;
  }
}
@media all and (min-width: 1025px) {
  a.btn_search {
    background: #fff;
    color: #003a89;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  a.btn_search::after {
    background: url(../images/common/icon_search_navy.svg) no-repeat;
  }
  a.btn_search:hover {
    background: #003a89;
    color: #fff;
  }
  a.btn_search:hover::after {
    background: url(../images/common/icon_search.svg) no-repeat;
  }
}

a.btn_pdf {
  display: inline-block;
  position: relative;
  border: 1px solid #606060;
  background: #606060;
  padding: 0 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 400px;
  text-align: left;
  line-height: 58px;
  margin-top: 0;
  color: #fff;
  font-weight: bold;
  font-size: 13px;
}
a.btn_pdf::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/product/icon_pdf.svg) no-repeat;
  background-size: contain;
  width: 20px;
  height: 25.4px;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media all and (max-width: 750px) {
  a.btn_pdf {
    margin-bottom: 20px;
  }
}
@media all and (min-width: 751px) {
  a.btn_pdf {
    max-width: 300px;
    font-size: 15px;
  }
}
@media all and (min-width: 1025px) {
  a.btn_pdf {
    background: #fff;
    color: #606060;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  a.btn_pdf::after {
    background: url(../images/product/icon_pdf_gray.svg) no-repeat;
  }
  a.btn_pdf:hover {
    background: #606060;
    color: #fff;
  }
  a.btn_pdf:hover::after {
    background: url(../images/product/icon_pdf.svg) no-repeat;
  }
}

a.btn_download,
a.btn_download2 {
  display: inline-block;
  position: relative;
  border: 1px solid #808080;
  background: #808080;
  padding: 10px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 400px;
  text-align: left;
  margin-top: 0;
  color: #fff;
  font-weight: bold;
  font-size: 13px;
  min-height: 58px;
  line-height: 1.5;
}
a.btn_download span,
a.btn_download2 span {
  font-weight: inherit;
  font-size: inherit;
}
a.btn_download::after,
a.btn_download2::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/capabilities/icon_download.svg) no-repeat;
  background-size: contain;
  width: 25px;
  height: 25.4px;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media all and (max-width: 750px) {
  a.btn_download,
  a.btn_download2 {
    margin: 5px 0 20px 0;
  }
}
@media all and (min-width: 751px) {
  a.btn_download,
  a.btn_download2 {
    max-width: 330px;
    font-size: 15px;
    padding: 6px 30px;
  }
}
@media all and (min-width: 1025px) {
  a.btn_download,
  a.btn_download2 {
    background: #fff;
    color: #808080;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  a.btn_download::after,
  a.btn_download2::after {
    background: url(../images/capabilities/icon_download_gray.svg) no-repeat;
  }
  a.btn_download:hover,
  a.btn_download2:hover {
    background: #808080;
    color: #fff;
  }
  a.btn_download:hover::after,
  a.btn_download2:hover::after {
    background: url(../images/capabilities/icon_download.svg) no-repeat;
  }
}
a.btn_download:center,
a.btn_download2:center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
a.btn_download:center span,
a.btn_download2:center span {
  margin-top: 0;
}

a.btn_link,
a.btn_link2 {
  display: inline-block;
  position: relative;
  border: 1px solid #808080;
  background: #808080;
  padding: 10px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  max-width: 400px;
  text-align: left;
  margin-top: 0;
  color: #fff;
  font-weight: bold;
  font-size: 13px;
  line-height: 1.5;
  min-height: 60px;
}
a.btn_link span,
a.btn_link2 span {
  font-weight: inherit;
  font-size: inherit;
}
a.btn_link::after,
a.btn_link2::after {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/capabilities/icon_link.svg) no-repeat;
  background-size: contain;
  width: 38px;
  height: 25.4px;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media all and (max-width: 750px) {
  a.btn_link,
  a.btn_link2 {
    margin: 5px 0 20px 0;
  }
}
@media all and (min-width: 751px) {
  a.btn_link,
  a.btn_link2 {
    max-width: 330px;
    font-size: 15px;
    padding: 6px 30px;
  }
}
@media all and (min-width: 1025px) {
  a.btn_link,
  a.btn_link2 {
    background: #fff;
    color: #808080;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  a.btn_link::after,
  a.btn_link2::after {
    background: url(../images/capabilities/icon_link_gray.svg) no-repeat;
  }
  a.btn_link:hover,
  a.btn_link2:hover {
    background: #808080;
    color: #fff;
  }
  a.btn_link:hover::after,
  a.btn_link2:hover::after {
    background: url(../images/capabilities/icon_link.svg) no-repeat;
  }
}

a.btn_link2,
a.btn_download2 {
  min-height: 60px;
}
a.btn_link2 span,
a.btn_download2 span {
  position: absolute;
  left: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: calc(100% - 110px);
  margin-top: 0;
}
@media all and (max-width: 750px) {
  a.btn_link2,
  a.btn_download2 {
    margin: 5px 0;
  }
}
@media all and (min-width: 751px) {
  a.btn_link2,
  a.btn_download2 {
    margin: 0px 10px 10px 0;
  }
}

/*=================
  リスト形式
=================*/
.list_border.topborder {
  border-top: 1px solid #e4e4e4;
}
.list_border li {
  border-bottom: 1px solid #e4e4e4;
  padding: 1em 0;
}
.list_border li .label {
  margin-bottom: 10px;
  font-weight: bold;
}
.list_border li .image {
  margin-top: 1em;
}
@media all and (min-width: 751px) {
  .list_border li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding: 25px 0;
  }
  .list_border li .label {
    width: 25%;
    margin-bottom: 0;
    padding-right: 30px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .list_border li .data {
    width: 75%;
  }
}

.list_column {
  margin-top: 50px;
}
.list_column li + li {
  margin-top: 50px;
}
.list_column li .label {
  margin-bottom: 10px;
  font-weight: bold;
}
.list_column li .image {
  margin-top: 1em;
}
@media all and (min-width: 751px) {
  .list_column {
    margin-top: 60px;
  }
  .list_column li + li {
    margin-top: 60px;
  }
  .list_column li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .list_column li .label {
    width: 25%;
    margin-bottom: 0;
  }
  .list_column li .data {
    width: 75%;
  }
}

/*=================
  inner
=================*/
.inner {
  text-align: left;
  margin: 0 5.33%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

@media all and (max-width: 750px) {
  .innerSP,
  .innerSPTB {
    margin: 0 5.33%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media all and (min-width: 751px) {
  .inner,
  .innerSPTB,
  .innerTB {
    margin: 0 6.07%;
    max-width: 1200px;
  }
}
@media all and (min-width: 1025px) {
  .inner,
  .innerTB,
  .innerPC {
    margin: 0 6.07%;
    max-width: 1200px;
  }
  .innerSPTB {
    margin: 0;
  }
}
@media all and (min-width: 1367px) {
  .innerGT {
    margin: 0 6.07%;
    max-width: 1366px;
  }
}
@media screen and (min-width: 1366px) {
  .inner,
  .innerTB,
  .innerPC,
  .innerGT {
    margin: 0 auto;
  }
}
.inner.single,
.innerPC.single {
  max-width: 900px;
}
@media screen and (min-width: 1066px) {
  .inner.single,
  .innerPC.single {
    margin: 0 auto;
  }
}

.contents {
  position: relative;
  min-height: calc(100vh - 560px);
  padding-top: 60px;
  margin-bottom: 60px;
}
@media all and (min-width: 751px) {
  .contents {
    padding-top: 70px;
    margin-bottom: 90px;
    min-height: calc(100vh - 440px);
  }
}
@media all and (min-width: 1025px) {
  .contents {
    min-height: calc(100vh - 480px);
  }
}
@media screen and (min-width: 1201px) {
  .contents {
    padding-top: 100px;
  }
}

/*=================
  secton
=================*/
.section {
  padding: 50px 0 80px;
}
.section.addBorder {
  border-top: 1px solid #c9c9c9;
}
@media all and (min-width: 751px) {
  .section {
    padding: 60px 0;
  }
  .section.noLR {
    padding-left: 0;
    padding-right: 0;
  }
}
@media all and (min-width: 1025px) {
  .section {
    padding: 80px 0;
  }
}

/*=================
  secton2
=================*/
.section2 {
  padding: 50px 0 80px;
}
.section2.addBorder {
  border-top: 1px solid #c9c9c9;
}
@media all and (min-width: 751px) {
  .section2 {
    padding: 60px 0;
  }
  .section2.noLR {
    padding-left: 0;
    padding-right: 0;
  }
}
@media all and (min-width: 1025px) {
  .section2 {
    padding: 40px 0;
  }
}

/*=================
  table
=================*/
section table {
  width: 100%;
}
section th,
section td {
  padding: 10px;
  border: 1px solid #ddd;
}
section th {
  background: #f4f4f4;
}

.seat_flow {
  margin: 20px 0;
}
.seat_flow table {
  width: 100%;
}
.seat_flow th,
.seat_flow td {
  padding: 10px;
}
.seat_flow th {
  width: 12%;
  text-align: center;
}
.seat_flow td {
  text-align: center;
}

.blue_pc {
  background-color: #f6faff;
  border-top: 3px solid #fff;
}

.grey_pc {
  background-color: #f6f6f6;
  border-top: 3px solid #fff;
}

@media all and (max-width: 750px) {
  .seat_flow {
    display: block;
    width: 100%;
  }
  .seat_flow thead {
    display: block;
    float: left;
    overflow-x: scroll;
  }
  .seat_flow tbody {
    display: block;
    width: auto;
    overflow-x: auto;
    white-space: nowrap;
  }
  .seat_flow th {
    display: block;
    width: auto;
  }
  .seat_flow tbody tr {
    display: inline-block;
    margin: 0 -3px;
  }
  .seat_flow td {
    display: block;
  }
  .seat_flow th,
  .seat_flow td {
    padding: 10px 7px;
  }
  .blue_pc,
  .grey_pc {
    background-color: #fff;
  }
  .blue_sp {
    background-color: #f6faff;
    border-top: 3px solid #fff;
  }
  .grey_sp {
    background-color: #f6f6f6;
    border-top: 3px solid #fff;
  }
}
/*=================
  3column
=================*/
.flexbox {
  margin: 20px 0;
}
@media all and (min-width: 751px) {
  .flexbox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media all and (max-width: 750px) {
  .center {
    margin: 20px 0;
  }
}
@media all and (min-width: 751px) {
  .center {
    margin: 0 40px;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media all and (min-width: 751px) {
  .left,
  .right {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

@media all and (max-width: 750px) {
  .left_20 {
    margin: 20px 0;
  }
}
@media all and (min-width: 751px) {
  .left_20 {
    margin: 0 20px 0 0;
  }
}

@media all and (max-width: 750px) {
  .right_20 {
    margin: 20px 0;
  }
}
@media all and (min-width: 751px) {
  .right_20 {
    margin: 0 0 0 20px;
  }
}

/*=================
  text
=================*/
.text {
  margin-top: 30px;
  letter-spacing: 0;
}
.text.noMgn {
  margin-top: 0;
}

.mid_text {
  margin-top: 15px;
  font-weight: bold;
  font-size: 16px;
}
@media all and (min-width: 751px) {
  .mid_text {
    font-size: 20px;
  }
}

/*=================
  Title
=================*/
.pHead_bg {
  margin-bottom: 40px;
  background-size: cover;
  background-position: center;
  height: 200px;
}
@media all and (min-width: 751px) {
  .pHead_bg {
    margin-bottom: 60px;
    height: 250px;
    background-size: cover;
    background-position: center;
  }
}

.page_title {
  padding: 70px 5.33%;
  height: 100%;
  color: #fff;
}
.page_title .eng {
  font-weight: bold;
  font-size: 36px;
  line-height: 1;
}
.page_title .ja {
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media all and (min-width: 751px) {
  .page_title {
    padding: 95px 6.07% 80px;
  }
  .page_title .eng {
    font-size: 52px;
  }
  .page_title .ja {
    font-size: 17px;
  }
}

.sec_title {
  line-height: 1.2;
  color: #003a89;
}
.sec_title .eng {
  font-weight: bold;
  line-height: 1;
  font-size: 36px;
  color: inherit;
}
.sec_title .ja {
  font-size: 13px;
  color: inherit;
  margin-top: 5px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
@media all and (min-width: 751px) {
  .sec_title .eng {
    font-size: 52px;
  }
  .sec_title .ja {
    font-size: 17px;
    margin-top: 10px;
  }
}

.list_title {
  line-height: 1.2;
}
.list_title .ja {
  font-size: 22px;
  color: #001f53;
  font-weight: bold;
}
.list_title .eng {
  font-weight: bold;
  line-height: 1.2;
  font-size: 14px;
  font-family: "Nunito Sans", sans-serif;
  margin-top: 5px;
  color: #003a89;
  letter-spacing: 0.05em;
}
@media all and (min-width: 751px) {
  .list_title .ja {
    font-size: 26px;
  }
  .list_title .eng {
    font-size: 13px;
    margin-top: 10px;
  }
}

/*=================
  columns
=================*/
.columns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media all and (max-width: 750px) {
  .columns {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .columns > li, .columns > .column {
    width: 100%;
  }
  .columns > li:last-child, .columns > .column:last-child {
    margin-bottom: 0;
  }
}
@media all and (min-width: 751px) {
  .columns {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .columns > li, .columns > .column {
    width: 47%;
  }
  .columns > li.image, .columns > .column.image {
    width: 42.5%;
  }
  .columns > li.text, .columns > .column.text {
    margin-top: 0;
    width: 54.2%;
  }
}

/*=================
  loading
=================*/
#loader-bg {
  display: none;
  position: relative;
  background: #002248;
  color: #001538;
  text-align: center;
  width: 100%;
  height: 100%;
  line-height: 100%;
  margin: 0 auto;
  overflow: hidden;
  z-index: 10000;
}

#loading_bar1,
#loading_bar2,
#loading_bar3 {
  display: block;
  position: fixed;
  width: 1px;
  height: 0vw;
  background: #808080;
  right: 0;
  top: 46.1333333vw;
  -webkit-transform-origin: right top;
      -ms-transform-origin: right top;
          transform-origin: right top;
  -webkit-transform: rotate(60.2deg);
      -ms-transform: rotate(60.2deg);
          transform: rotate(60.2deg);
  z-index: 1100;
  -webkit-transition: all 0.3s cubic-bezier(0.51, 0.09, 0.21, 0.73);
  transition: all 0.3s cubic-bezier(0.51, 0.09, 0.21, 0.73);
}

#loading_bar2 {
  z-index: 1101;
  background: #fff;
}

#loading_bar3 {
  z-index: 1102;
  background: #002248;
}

#loadingWrap {
  position: relative;
  right: 0;
  -webkit-transition: all 0.8s cubic-bezier(0.51, 0.09, 0.21, 0.73);
  transition: all 0.8s cubic-bezier(0.51, 0.09, 0.21, 0.73);
  overflow-x: hidden;
}

@media all and (min-width: 751px) {
  #loading_bar1,
  #loading_bar2,
  #loading_bar3 {
    top: 0;
    right: 43.076867vw;
    -webkit-transform: rotate(18.4deg);
        -ms-transform: rotate(18.4deg);
            transform: rotate(18.4deg);
    -webkit-transition: all 0.5s cubic-bezier(0.51, 0.09, 0.21, 0.73);
    transition: all 0.5s cubic-bezier(0.51, 0.09, 0.21, 0.73);
  }
}
/*=================
  haeder
=================*/
#header {
  position: fixed;
  background: #002248;
  width: 100%;
  z-index: 1002;
  padding: 22px 20px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media all and (min-width: 751px) {
  #header {
    padding: 18px 0;
  }
}
#header.fixed {
  position: fixed;
  top: 0;
}
#header .logo_h {
  height: 16px;
  width: auto;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#header .logo_h img {
  height: 100%;
  width: auto;
}
#header .logo_h a {
  display: block;
}
#header ul.gmenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media all and (min-width: 1025px) {
  #header ul.gmenu > li:first-child {
    width: 250px;
  }
  #header ul.gmenu > li:last-child {
    width: calc(100% - 270px);
  }
}
@media all and (min-width: 751px) {
  #header {
    padding: 24px 6.07%;
    height: 70px;
  }
  #header .logo_h {
    height: 22.06px;
  }
}
@media all and (min-width: 1025px) {
  #header {
    padding: 23px 50px;
  }
}
@media screen and (min-width: 1201px) {
  #header {
    padding: 0 40px 0;
    height: 80px;
  }
  #header ul.gmenu {
    padding-right: 90px;
    height: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

#menu a .eng {
  font-family: "Nunito Sans", sans-serif;
  color: #a3a3a3;
  font-size: 12px;
  font-weight: bold;
}
#menu a .ja {
  color: #fff;
  font-weight: bold;
  font-size: 15px;
}
@media screen and (max-width: 1200px) {
  #menu {
    display: block;
    position: fixed;
    padding: 30px 0 40px;
    top: 60px;
    left: 100%;
    z-index: 1000;
    width: 100%;
    height: 100%;
    text-align: left;
    background: rgb(0, 30, 60);
    background: linear-gradient(150deg, rgb(0, 30, 60) 0%, rgb(0, 30, 60) 50%, rgb(0, 41, 72) 100%);
    -webkit-transition: all 0.8s cubic-bezier(0.51, 0.09, 0.21, 0.73);
    transition: all 0.8s cubic-bezier(0.51, 0.09, 0.21, 0.73);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #menu .scrollbar {
    overflow-y: auto;
    position: fixed;
    height: 100%;
    width: 100%;
    padding-bottom: 100px;
  }
  #menu ul {
    color: #fff;
  }
  #menu ul li {
    border-top: 1px solid #003155;
    padding: 0 35px;
  }
  #menu ul li:last-child {
    border-bottom: 1px solid #003155;
  }
  #menu ul li a {
    position: relative;
    display: block;
    line-height: 60px;
    height: 60px;
    width: 100%;
    height: 100%;
  }
  #menu ul li a span {
    display: inline-block;
  }
  #menu ul li a .ja {
    position: relative;
    z-index: 1;
    font-size: 15px;
  }
  #menu ul li a .ja span {
    font-weight: inherit;
  }
  #menu ul li a .ja .ani2 {
    display: none;
  }
  #menu ul li a .eng {
    font-size: 32px;
    font-weight: 900;
    color: #013a89;
    opacity: 0.3;
    text-align: right;
    position: absolute;
    right: 0px;
    z-index: 0;
  }
  #menu .address {
    text-align: right;
    font-size: 11px;
    color: #687889;
    padding: 35px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #menu .address a {
    color: inherit;
  }
}
@media screen and (min-width: 751px) and (max-width: 1200px) {
  #menu {
    top: 70px;
  }
}
@media screen and (min-width: 1201px) {
  #menu {
    display: block;
    margin-left: auto;
  }
  #menu ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  #menu ul li {
    margin: 0 10px;
  }
  #menu ul li a {
    display: block;
    width: 100%;
    height: 100%;
    color: #707070;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    padding: 25px 0;
  }
  #menu ul li a span {
    display: block;
    text-align: center;
    line-height: 1em;
  }
  #menu ul li a .eng,
  #menu ul li a .ja {
    white-space: nowrap;
    line-height: 1;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #menu ul li a .ja {
    font-size: 14px;
    letter-spacing: 0.05em;
    height: 14px;
    overflow: hidden;
  }
  #menu ul li a .ja span {
    display: block;
    font-weight: inherit;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    line-height: 1;
  }
  #menu ul li a .ja .ani1 {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
  }
  #menu ul li a .ja .ani2 {
    -webkit-transform: translateY(110%);
        -ms-transform: translateY(110%);
            transform: translateY(110%);
  }
  #menu ul li a .eng {
    font-size: 11px;
    padding-top: 5px;
  }
  #menu ul li a:hover .ja .ani1 {
    -webkit-transform: translateY(-110%);
        -ms-transform: translateY(-110%);
            transform: translateY(-110%);
  }
  #menu ul li a:hover .ja .ani2 {
    -webkit-transform: translateY(-100%);
        -ms-transform: translateY(-100%);
            transform: translateY(-100%);
  }
}
@media all and (min-width: 1367px) {
  #menu ul li {
    margin: 0 20px;
  }
}
#menu .has_submenu {
  position: relative;
}
@media screen and (max-width: 1200px) {
  #menu .has_submenu::before {
    content: "";
    position: absolute;
    right: 35px;
    top: 25px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
            transform: rotate(135deg);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #menu .has_submenu.active::before {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
#menu .has_submenu ul {
  display: none;
  padding-bottom: 12px;
}
@media screen and (min-width: 1201px) {
  #menu .has_submenu ul {
    opacity: 0;
    visibility: hidden;
    display: block;
    padding: 6px 16px;
    position: absolute;
    left: 0;
    top: 66px;
    border-radius: 6px;
    z-index: 4;
    background: #f2f2f2;
    width: 160px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}
#menu .has_submenu ul li {
  margin: 0;
  padding: 0;
  border: none;
}
#menu .has_submenu ul li a {
  display: block;
}
@media screen and (max-width: 1200px) {
  #menu .has_submenu ul li a {
    line-height: 40px;
    height: 40px;
  }
  #menu .has_submenu ul li a::before {
    color: #fff;
    content: "-";
    padding-right: 10px;
  }
  #menu .has_submenu ul li a span {
    color: #fff;
    font-size: 14px;
    font-weight: 400;
  }
}
@media screen and (min-width: 1201px) {
  #menu .has_submenu ul li a {
    padding: 12px 0;
    border-bottom: 1px solid #c9c9c9;
  }
  #menu .has_submenu ul li a span {
    text-align: left;
    color: #001538;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
  }
}
#menu .has_submenu ul li:last-child a {
  border: none;
}
@media screen and (min-width: 1201px) {
  #menu .has_submenu:hover ul {
    visibility: visible;
    opacity: 1;
  }
}

#pageHome.scroll #menu .has_submenu ul {
  top: 80px;
}

#btnMenu {
  display: block;
  position: absolute;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 60px;
  height: 60px;
  top: 0px;
  right: 0px;
  background: #fff;
  z-index: 1010;
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
#btnMenu span {
  display: block;
  position: absolute;
  height: 2px;
  width: 26px;
  left: 17px;
  background: #165bba;
  opacity: 1;
  right: 0;
  -webkit-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
          transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}
#btnMenu span:nth-child(1) {
  top: 21px;
}
#btnMenu span:nth-child(2) {
  top: 30px;
}
#btnMenu span:nth-child(3) {
  top: 39px;
  width: 18px;
}
@media all and (min-width: 751px) {
  #btnMenu {
    width: 70px;
    height: 70px;
  }
  #btnMenu span {
    left: 22px;
  }
  #btnMenu span:nth-child(1) {
    top: 26px;
  }
  #btnMenu span:nth-child(2) {
    top: 35px;
  }
  #btnMenu span:nth-child(3) {
    top: 44px;
    width: 18px;
  }
}
@media screen and (min-width: 1201px) {
  #btnMenu {
    display: none !important;
  }
}

#lang {
  position: fixed;
  top: 20px;
  right: 80px;
}
#lang .bogo-language-switcher {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#lang .bogo-language-switcher li .bogo-language-name {
  color: #939393;
}
#lang .bogo-language-switcher li .bogo-language-name a {
  display: inline-block;
  color: #939393;
  line-height: 20px;
  font-family: "Nunito Sans", sans-serif !important;
  font-weight: 700;
}
#lang .bogo-language-switcher li + li::after {
  content: "/";
  color: #fff;
  margin: 0 3px;
}
#lang .bogo-language-switcher li.current .bogo-language-name a {
  color: #fff;
}
@media all and (min-width: 751px) {
  #lang {
    right: 100px;
  }
}
@media screen and (min-width: 1201px) {
  #lang {
    right: 40px;
    top: 25px;
  }
  #lang .bogo-language-switcher li .bogo-language-name a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #lang .bogo-language-switcher li .bogo-language-name a:hover {
    color: #fff972;
  }
}

@media screen and (max-width: 1200px) {
  body.open #menu {
    left: 0;
  }
}
body.open #btnMenu span:nth-child(2) {
  top: 46%;
  width: 0%;
  right: 50%;
}
body.open #btnMenu span:nth-child(1) {
  top: 28px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
}
body.open #btnMenu span:nth-child(3) {
  top: 28px;
  width: 26px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
      transform: rotate(-45deg);
}
@media all and (min-width: 751px) {
  body.open #btnMenu span:nth-child(1),
  body.open #btnMenu span:nth-child(3) {
    top: 33px;
  }
}
@media screen and (max-width: 1200px) {
  body.open#pageHome #header {
    background: #002248;
  }
  body.open#pageHome #btnMenu {
    background: #fff;
  }
  body.open#pageHome #btnMenu span {
    background: #003a89;
  }
}

/*=================
  footer
=================*/
#footer {
  position: relative;
  background: url(../images/common/footer_bg_sp.jpg) no-repeat;
  background-size: cover;
  padding: 50px 0;
  width: 100%;
  color: #003a89;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media all and (min-width: 751px) {
  #footer {
    padding: 65px 0;
    background: url(../images/common/footer_bg_pc.jpg) no-repeat;
    background-size: cover;
  }
}
#footer.fixed {
  position: fixed;
  bottom: 0;
}
#footer .f_logo {
  max-width: 296px;
  display: inline-block;
}
#footer .f_logo img {
  height: 27.39px;
  max-width: 296px;
}
#footer .address {
  font-size: 13px;
  line-height: 2.15;
  font-weight: 500;
}
#footer .address a {
  text-decoration: underline;
}
@media all and (max-width: 750px) {
  #footer .address span,
  #footer .address a {
    display: block;
  }
}
@media all and (min-width: 751px) {
  #footer .address {
    font-size: 14px;
    margin-top: 40px;
  }
  #footer .address span + a {
    margin-left: 20px;
  }
  #footer .address + .address {
    margin-top: 20px;
  }
}
#footer .copyright {
  font-size: 11px;
  margin-top: 40px;
}
@media all and (min-width: 751px) {
  #footer .copyright {
    font-size: 15px;
    line-height: 1;
  }
}
#footer .f_wrap {
  position: relative;
}
@media all and (max-width: 750px) {
  #footer .f_wrap {
    padding-bottom: 320px;
  }
  #footer .f_wrap .pc_right {
    margin-top: 40px;
    max-width: 400px;
  }
  #footer .f_wrap .address {
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #footer .f_wrap .address:nth-of-type(1) {
    bottom: 145px;
  }
}
@media all and (min-width: 751px) {
  #footer .f_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #footer .f_wrap .pc_left {
    width: 50%;
    max-width: none;
  }
  #footer .f_wrap .pc_right {
    width: 50%;
    max-width: none;
  }
}
#footer {
  /*フッターメニュー*/
}
#footer .f_menu_cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
#footer .f_menu {
  width: 50%;
  padding-left: 10px;
  border-left: 1px solid #d9d9d9;
}
#footer .f_menu li {
  width: 100%;
  line-height: 1;
}
#footer .f_menu li + li {
  margin-top: 20px;
}
#footer .f_menu a {
  color: #003a89;
  font-size: 14px;
  white-space: nowrap;
}
#footer .f_menu a .eng {
  font-weight: 800;
}
@media all and (min-width: 751px) {
  #footer .f_menu {
    text-align: left;
  }
  #footer .f_menu a {
    font-size: 17px;
  }
}
@media all and (min-width: 1025px) {
  #footer .f_menu {
    text-align: left;
    padding-left: 30px;
  }
  #footer .f_menu li + li {
    margin-top: 22px;
  }
  #footer .f_menu .hvr-underline-from-left::before {
    background-color: #003a89;
  }
  #footer .f_menu .hvr-underline-from-left span {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #footer .f_menu .hvr-underline-from-left:hover span {
    color: #001538;
  }
}
#footer .f_menu .submenu li {
  margin: 10px 0;
}
@media all and (min-width: 1025px) {
  #footer .f_menu .submenu li {
    margin: 12px 0;
  }
}
#footer .f_menu .submenu li a span {
  font-weight: 400;
  font-size: 12px;
}
@media all and (min-width: 1025px) {
  #footer .f_menu .submenu li a span {
    font-size: 14px;
  }
}
#footer .f_menu .submenu li a span::before {
  content: "-";
  padding-right: 5px;
}

/*=================
  goTop
=================*/
#goTop {
  position: fixed;
  right: 20px;
  bottom: 50px;
  width: 20px;
  z-index: 10;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#goTop img {
  width: 100%;
}
#goTop a {
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#goTop a img {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
#goTop a img:nth-child(1) {
  width: 10px;
  margin-bottom: 20px;
}
#goTop a img:nth-child(2) {
  width: 23px;
}
@media all and (min-width: 751px) {
  #goTop {
    width: 23px;
    right: 30px;
    bottom: 65px;
  }
}
@media all and (min-width: 1025px) {
  #goTop {
    right: 50px;
  }
  #goTop a:hover img:nth-child(1) {
    margin-bottom: 40px;
  }
}

/*=================
  topics
=================*/
/*=================
  カテゴリ一覧
=================*/
.catelist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.catelist li {
  display: inline-block;
  margin-bottom: 20px;
}
.catelist li:not(:last-child) {
  margin-right: 22px;
}
.catelist li a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 40px;
  padding: 0 20px;
  border: 1px solid #e03124;
  color: #e03124;
  font-weight: bold;
  border-radius: 30px;
  font-size: 12px;
  text-align: center;
}
.catelist li.selected a {
  background: #e03124;
  color: #fefefe;
}
@media all and (min-width: 751px) {
  .catelist {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .catelist li a {
    line-height: 50px;
    padding: 30px;
    min-width: 130px;
    font-size: 14px;
    line-height: 48px;
    padding: 0 27px;
  }
}
@media all and (min-width: 1025px) {
  .catelist li a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .catelist li a:hover {
    background: #e03124;
    color: #fefefe;
  }
}

/*=================
  ページネーション
=================*/
.pagination {
  text-align: center;
  margin: 50px auto 0;
}
@media all and (min-width: 751px) {
  .pagination {
    margin: 80px auto 0;
  }
}

.wp-pagenavi {
  position: relative;
}
.wp-pagenavi span,
.wp-pagenavi a {
  font-family: "Nunito Sans", sans-serif;
  font-size: 14px;
  display: inline-block;
  padding: 0;
  text-align: center;
  line-height: 20px;
  border: none;
  margin: 0 10px;
}
.wp-pagenavi span {
  color: #003a89;
  border-bottom: 2px solid #003a89;
}
.wp-pagenavi a {
  color: #808080;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
  width: 30px;
  height: 30px;
  line-height: 20px;
  margin: 0;
  color: transparent;
  position: relative;
}
.wp-pagenavi .previouspostslink::after,
.wp-pagenavi .nextpostslink::after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  top: 5px;
}
.wp-pagenavi .previouspostslink::after {
  border-top: 1px solid #707070;
  border-left: 1px solid #707070;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.wp-pagenavi .nextpostslink::after {
  right: 0px;
  border-top: 1px solid #707070;
  border-right: 1px solid #707070;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media all and (min-width: 751px) {
  .wp-pagenavi {
    display: inline-block;
    padding: 0 75px;
  }
}
@media all and (min-width: 1025px) {
  .wp-pagenavi a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .wp-pagenavi a::before, .wp-pagenavi a::after {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .wp-pagenavi a:hover {
    color: #003a89;
  }
  .wp-pagenavi .previouspostslink:hover,
  .wp-pagenavi .nextpostslink:hover {
    color: transparent;
    border-color: #003a89;
  }
  .wp-pagenavi .previouspostslink:hover::before,
  .wp-pagenavi .nextpostslink:hover::before {
    background: #003a89;
  }
  .wp-pagenavi .previouspostslink:hover::after,
  .wp-pagenavi .nextpostslink:hover::after {
    border-color: #003a89;
  }
}

/*=================
  パンくず
=================*/
#breadcrumb {
  padding: 15px 0;
}
#breadcrumb .breadlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 1.5;
}
#breadcrumb .breadlist li {
  position: relative;
  display: inline;
}
#breadcrumb .breadlist li a,
#breadcrumb .breadlist li span {
  margin-bottom: 3px;
  color: #002248;
}
#breadcrumb .breadlist li:not(:first-child) {
  padding-left: 30px;
}
#breadcrumb .breadlist li:not(:first-child)::before {
  position: absolute;
  top: 0.7em;
  left: 9px;
  display: block;
  content: "";
  margin: 0;
  width: 0.5em;
  height: 1px;
  background: #002248;
}
@media all and (min-width: 751px) {
  #breadcrumb .breadlist li:not(:first-child)::before {
    left: 11px;
  }
}
@media all and (min-width: 1025px) {
  #breadcrumb .breadlist li a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #breadcrumb .breadlist li a.hvr-underline-from-left::before {
    background: #003a89;
  }
  #breadcrumb .breadlist li a:hover {
    color: #003a89;
  }
}

/*↑↑↑↑↑↑↑↑↑↑COMMON(サイト基本設定終了）↑↑↑↑↑↑↑↑↑↑↑*/
/*=================
  HOME
=================*/
#pageHome:not(.scroll) #header {
  background: transparent;
}
#pageHome:not(.scroll) .contents {
  padding-top: 0;
}
#pageHome:not(.scroll) #btnMenu {
  background: transparent;
}
#pageHome:not(.scroll) #btnMenu span {
  background: #fff;
}
#pageHome #top_mv {
  position: relative;
  overflow: hidden;
}
#pageHome #top_mv::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 1;
}
#pageHome #top_mv .top_lead {
  position: absolute;
  width: calc(100% - 40px);
  top: 53%;
  left: 0px;
  padding: 0 5.33%;
  color: #fff;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageHome #top_mv .top_lead_img {
  max-width: 70%;
  width: 260px;
}
#pageHome #top_mv .top_lead_text {
  margin-top: 50px;
  font-weight: bold;
  font-size: 13px;
}
@media all and (max-width: 750px) {
  #pageHome #top_mv::after {
    bottom: -22%;
    left: -15%;
    width: 1100px;
    height: 600px;
    background: linear-gradient(200deg, #003c9a 0%, #004476 51.72%, #007bbe 100%);
    opacity: 0.7;
    -webkit-transform: rotate(-28deg);
        -ms-transform: rotate(-28deg);
            transform: rotate(-28deg);
  }
}
@media (max-width: 750px) and (min-width: 501px) {
  #pageHome #top_mv::after {
    bottom: -10%;
    height: 700px;
  }
}
@media all and (min-width: 751px) {
  #pageHome #top_mv::after {
    top: -7%;
    left: -20%;
    width: 80%;
    height: 100%;
    background: -webkit-gradient(linear, right top, left top, from(#003c9a), color-stop(51.72%, #004476), to(#007bbe));
    background: linear-gradient(-90deg, #003c9a 0%, #004476 51.72%, #007bbe 100%);
    opacity: 0.65;
    -webkit-transform: rotate(-70deg);
        -ms-transform: rotate(-70deg);
            transform: rotate(-70deg);
  }
  #pageHome #top_mv .top_lead {
    padding: 0 6.07%;
  }
  #pageHome #top_mv .top_lead_img {
    width: 477px;
    max-width: 35%;
  }
  #pageHome #top_mv .top_lead_text {
    font-size: 1.6105417vw;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_mv .top_lead {
    padding: 0 6.07%;
  }
}
@media all and (min-width: 1367px) {
  #pageHome #top_mv .top_lead_text {
    font-size: 22px;
  }
}
#pageHome #slider .slick-slide img {
  -webkit-transform-origin: center top;
      -ms-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: 4s ease-out 1s;
  transition: 4s ease-out 1s;
}
#pageHome #slider .slick-active img {
  -webkit-transform: scale(1.1);
      -ms-transform: scale(1.1);
          transform: scale(1.1);
}
#pageHome #top_about {
  background: url(../images/home/about_bg_sp.png) no-repeat;
  background-size: 1155px 802px;
  background-position: right -20px bottom -20px;
  padding-bottom: 0;
  position: relative;
  overflow: hidden;
}
@media all and (min-width: 751px) {
  #pageHome #top_about {
    background: url(../images/home/about_bg_pc.png) no-repeat;
    background-size: 1366px 949px;
    background-position: right bottom -10px;
    padding-top: 50px;
  }
}
#pageHome #top_news .n_title,
#pageHome #top_news .data {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageHome #top_news .n_title {
  background: #003a89;
  padding: 20px;
  line-height: 1;
}
#pageHome #top_news .n_title .eng {
  color: #fff;
  font-size: 24px;
}
#pageHome #top_news .n_title .ja {
  margin-top: 10px;
  font-size: 13px;
  font-weight: bold;
  color: #fff972;
  letter-spacing: 0.05em;
}
#pageHome #top_news .data {
  background: #f2f2f2;
  position: relative;
  padding: 20px 70px 20px 20px;
}
#pageHome #top_news .data a {
  display: block;
  color: #001b48;
}
#pageHome #top_news .title {
  font-size: 13px;
  line-height: 1.5;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageHome #top_news .date {
  font-size: 13px;
  line-height: 1;
  margin-bottom: 5px;
}
#pageHome #top_news .n_more {
  position: absolute;
  right: 20px;
  top: 16px;
}
#pageHome #top_news .n_more a {
  display: inline-block;
  position: relative;
  padding-bottom: 16px;
}
#pageHome #top_news .n_more .text {
  margin-top: 0;
  color: #003a89;
  letter-spacing: 0.1em;
}
#pageHome #top_news .n_more .switch {
  display: inline-block;
  position: absolute;
  width: 33px;
  height: 16px;
  right: 0;
  bottom: 0;
}
#pageHome #top_news .n_more .switch .bar {
  position: absolute;
  display: inline-block;
  width: 33px;
  height: 2px;
  background: #003a89;
  right: 0;
  bottom: 7px;
  z-index: 2;
}
#pageHome #top_news .n_more .switch .round {
  position: absolute;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 4px solid #003a89;
  border-radius: 50%;
  bottom: 0;
  right: 0px;
  z-index: 3;
}
@media all and (max-width: 750px) {
  #pageHome #top_news {
    padding: 0;
  }
}
@media all and (min-width: 751px) {
  #pageHome #top_news .cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 15px;
  }
  #pageHome #top_news .n_title {
    width: 210px;
  }
  #pageHome #top_news .n_title .eng {
    font-size: 28px;
  }
  #pageHome #top_news .n_title .ja {
    font-size: 15px;
  }
  #pageHome #top_news .data {
    width: calc(100% - 210px);
    line-height: 1;
  }
  #pageHome #top_news .date,
  #pageHome #top_news .title {
    font-size: 14px;
  }
  #pageHome #top_news .n_more {
    top: 25px;
  }
  #pageHome #top_news .n_more a {
    padding-bottom: 25px;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_news .n_more {
    top: 50%;
    right: 45px;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  #pageHome #top_news .n_more a {
    padding: 0 50px 0 0;
  }
  #pageHome #top_news .n_more .switch {
    bottom: 0px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageHome #top_news .n_more .switch .round {
    right: 28px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageHome #top_news .n_more:hover .switch .round {
    right: 0;
  }
  #pageHome #top_news .data {
    padding: 37px 0px 37px 45px;
  }
  #pageHome #top_news .data a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #pageHome #top_news .date {
    width: 115px;
    margin-bottom: 0;
  }
  #pageHome #top_news .title {
    width: calc(100% - 115px);
  }
}
#pageHome #top_column .n_title,
#pageHome #top_column .data {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageHome #top_column .n_title {
  background: #3278d8;
  padding: 20px;
  line-height: 1;
}
#pageHome #top_column .n_title .eng {
  color: #fff;
  font-size: 24px;
}
#pageHome #top_column .n_title .ja {
  margin-top: 10px;
  font-size: 13px;
  font-weight: bold;
  color: #fff972;
  letter-spacing: 0.05em;
}
#pageHome #top_column .data {
  background: #f2f2f2;
  position: relative;
  padding: 20px 70px 20px 20px;
}
#pageHome #top_column .data a {
  display: block;
  color: #001b48;
}
#pageHome #top_column .title {
  font-size: 13px;
  line-height: 1.5;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageHome #top_column .date {
  font-size: 13px;
  line-height: 1;
  margin-bottom: 5px;
}
#pageHome #top_column .n_more {
  position: absolute;
  right: 20px;
  top: 16px;
}
#pageHome #top_column .n_more a {
  display: inline-block;
  position: relative;
  padding-bottom: 16px;
}
#pageHome #top_column .n_more .text {
  margin-top: 0;
  color: #003a89;
  letter-spacing: 0.1em;
}
#pageHome #top_column .n_more .switch {
  display: inline-block;
  position: absolute;
  width: 33px;
  height: 16px;
  right: 0;
  bottom: 0;
}
#pageHome #top_column .n_more .switch .bar {
  position: absolute;
  display: inline-block;
  width: 33px;
  height: 2px;
  background: #003a89;
  right: 0;
  bottom: 7px;
  z-index: 2;
}
#pageHome #top_column .n_more .switch .round {
  position: absolute;
  width: 16px;
  height: 16px;
  background: #fff;
  border: 4px solid #003a89;
  border-radius: 50%;
  bottom: 0;
  right: 0px;
  z-index: 3;
}
@media all and (max-width: 750px) {
  #pageHome #top_column {
    padding: 0;
  }
}
@media all and (min-width: 751px) {
  #pageHome #top_column .cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  #pageHome #top_column .n_title {
    width: 210px;
  }
  #pageHome #top_column .n_title .eng {
    font-size: 28px;
  }
  #pageHome #top_column .n_title .ja {
    font-size: 15px;
  }
  #pageHome #top_column .data {
    width: calc(100% - 210px);
    line-height: 1;
  }
  #pageHome #top_column .date,
  #pageHome #top_column .title {
    font-size: 14px;
  }
  #pageHome #top_column .n_more {
    top: 25px;
  }
  #pageHome #top_column .n_more a {
    padding-bottom: 25px;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_column .n_more {
    top: 50%;
    right: 45px;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  #pageHome #top_column .n_more a {
    padding: 0 50px 0 0;
  }
  #pageHome #top_column .n_more .switch {
    bottom: 0px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageHome #top_column .n_more .switch .round {
    right: 28px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageHome #top_column .n_more:hover .switch .round {
    right: 0;
  }
  #pageHome #top_column .data {
    padding: 37px 0px 37px 45px;
  }
  #pageHome #top_column .data a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #pageHome #top_column .date {
    width: 115px;
    margin-bottom: 0;
  }
  #pageHome #top_column .title {
    width: calc(100% - 115px);
  }
}
#pageHome #top_feature1 {
  overflow: hidden;
  padding-bottom: calc(25vw + 40px);
  letter-spacing: 0.03em;
}
#pageHome #top_feature1 .image {
  position: absolute;
  width: 50vw;
  height: 50vw;
  -webkit-animation: spin 20s linear infinite;
          animation: spin 20s linear infinite;
}
#pageHome #top_feature1 .feature_num {
  color: #003a89;
  position: absolute;
  -webkit-transform-origin: left top;
      -ms-transform-origin: left top;
          transform-origin: left top;
  -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
          transform: rotate(90deg);
  left: 20px;
  top: 0;
  font-size: 12px;
  font-weight: 600;
}
#pageHome #top_feature1 .big_lead {
  padding-left: 50px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageHome #top_feature1 .big_lead span {
  display: inline-block;
  font-size: 32px;
  font-weight: bold;
  color: #001538;
  line-height: 1;
  padding-bottom: 5px;
}
#pageHome #top_feature1 .big_lead span:nth-of-type(n + 2) {
  margin-top: 20px;
}
#pageHome #top_feature1 .big_lead span em {
  color: #003a89;
  font-weight: bold;
  font-size: inherit;
  letter-spacing: -0.08em;
}
#pageHome #top_feature1 .text {
  line-height: 2.46;
}
@media all and (max-width: 750px) {
  #pageHome #top_feature1 .image {
    bottom: -25vw;
    left: 25vw;
  }
  #pageHome #top_feature1 .text {
    margin-top: 50px;
  }
}
@media all and (min-width: 751px) {
  #pageHome #top_feature1 {
    position: relative;
    padding: 80px 0 80px 25%;
    overflow: visible;
  }
  #pageHome #top_feature1 .image {
    width: 30vw;
    height: 30vw;
    top: calc(50% - 15vw);
    left: calc(-15vw - 30px);
  }
  #pageHome #top_feature1 .big_lead {
    padding: 0;
  }
  #pageHome #top_feature1 .big_lead span:nth-of-type(2) {
    margin-left: -5px;
    margin-top: 0;
  }
  #pageHome #top_feature1 .feature_num {
    font-size: 17px;
    left: -30px;
  }
  #pageHome #top_feature1 .btnWrap {
    text-align: left;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_feature1 .image {
    width: 350px;
    height: 350px;
    top: calc(50% - 175px);
    left: -258px;
  }
  #pageHome #top_feature1 .big_lead span {
    font-size: 50px;
  }
  #pageHome #top_feature1 .text {
    margin-top: 60px;
  }
  #pageHome #top_feature1 .feature_num {
    left: -70px;
  }
  #pageHome #top_feature1 .btnWrap {
    margin-top: 60px;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1184px) {
  #pageHome #top_feature1 .big_lead span:nth-of-type(1) {
    margin-bottom: 20px;
  }
}
@media all and (min-width: 1367px) {
  #pageHome #top_feature1 .image {
    left: -175px;
  }
}
#pageHome #top_features ul li:nth-of-type(1) {
  background: url(../images/home/feature2_sp.jpg) no-repeat;
  background-size: cover;
}
#pageHome #top_features ul li:nth-of-type(2) {
  background: url(../images/home/feature3_sp.jpg) no-repeat;
  background-size: cover;
}
#pageHome #top_features ul li:nth-of-type(3) {
  background: url(../images/home/feature4_sp.jpg) no-repeat;
  background-size: cover;
}
#pageHome #top_features ul li:nth-of-type(4) {
  background: url(../images/home/feature5_sp.jpg) no-repeat;
  background-size: cover;
}
#pageHome #top_features .feature {
  padding: 50px 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fff;
}
#pageHome #top_features .feature_title {
  line-height: 1;
}
#pageHome #top_features .feature_title .feature_num {
  font-size: 12px;
  color: #fff972;
  font-weight: 600;
}
#pageHome #top_features .feature_title .title {
  font-size: 22px;
  font-weight: bold;
  margin-top: 0.5em;
}
#pageHome #top_features .text {
  line-height: 2.3;
}
@media all and (min-width: 751px) {
  #pageHome #top_features .feature_title {
    position: relative;
  }
  #pageHome #top_features .feature_title .feature_num {
    font-size: 17px;
    position: absolute;
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
    -webkit-transform-origin: top left;
        -ms-transform-origin: top left;
            transform-origin: top left;
    left: -30px;
    top: 0;
  }
  #pageHome #top_features .feature_title .title {
    font-size: 28px;
    margin-top: 0;
  }
  #pageHome #top_features .feature {
    width: 70%;
    padding: 70px 0 70px 50px;
  }
  #pageHome #top_features ul li:nth-of-type(1) {
    background: url(../images/home/feature2_pc.jpg) no-repeat;
    background-size: cover;
  }
  #pageHome #top_features ul li:nth-of-type(2) {
    background: url(../images/home/feature3_pc.jpg) no-repeat;
    background-size: cover;
  }
  #pageHome #top_features ul li:nth-of-type(3) {
    background: url(../images/home/feature4_pc.jpg) no-repeat;
    background-size: cover;
  }
  #pageHome #top_features ul li:nth-of-type(4) {
    background: url(../images/home/feature5_pc.jpg) no-repeat;
    background-size: cover;
  }
  #pageHome #top_features ul li:nth-of-type(2n + 1) .feature {
    margin-right: auto;
  }
  #pageHome #top_features ul li:nth-of-type(2n) .feature {
    margin-left: auto;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_features .feature {
    width: 50%;
    padding: 70px 0 70px 50px;
  }
}
@media all and (max-width: 750px) {
  #pageHome #top_product {
    background: url(../images/home/bg_japanesepaper.jpg);
    background-size: 600px 826px;
  }
}
#pageHome #top_product .list_products {
  margin-top: 50px;
}
#pageHome #top_product .list_products li:nth-child(n+2) {
  margin-top: 20px;
}
#pageHome #top_product .list_products .btnWrap {
  margin-top: 0;
}
#pageHome #top_product .box_shadow {
  background: #fff;
}
#pageHome #top_product .card {
  border-top: 8px solid #003a89;
}
#pageHome #top_product .card_header {
  padding: 30px 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageHome #top_product .product_title {
  line-height: 1;
}
#pageHome #top_product .product_title .ja {
  color: #001f53;
  font-size: 22px;
  font-weight: bold;
}
#pageHome #top_product .product_title .eng {
  font-size: 12px;
  color: #003a89;
  margin-top: 10px;
  font-weight: 600;
}
@media all and (min-width: 751px) {
  #pageHome #top_product .pc_cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #pageHome #top_product .pc_cols .col {
    width: 50%;
  }
  #pageHome #top_product .btnWrap {
    margin-top: 0;
    text-align: right;
  }
  #pageHome #top_product .btnWrap .btn_switch {
    max-width: 300px;
  }
  #pageHome #top_product .list_products {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #pageHome #top_product .list_products li:nth-child(1) .text {
    margin-top: 0;
  }
  #pageHome #top_product .list_products li:nth-child(n+2) {
    margin-top: 40px;
    width: 31%;
  }
  #pageHome #top_product .list_products .btnWrap {
    margin-top: 10px;
    text-align: right;
  }
  #pageHome #top_product .card_header {
    padding: 30px;
  }
  #pageHome #top_product .product_title .ja {
    font-size: 28px;
  }
  #pageHome #top_product .product_title .eng {
    font-size: 15px;
  }
}
#pageHome #top_search {
  background: url(../images/home/bg_navy.jpg);
  background-size: cover;
}
#pageHome #top_search .title_search {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  display: inline-block;
  position: relative;
  margin-top: 50px;
}
#pageHome #top_search .title_search.noMgnT {
  margin-top: 0;
}
#pageHome #top_search .title_search::after {
  content: "";
  display: inline-block;
  position: absolute;
  right: -30px;
  top: calc(50% - 5px);
  margin-left: 10px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 7px 0 7px;
  border-color: #fff972 transparent transparent transparent;
}
#pageHome #top_search .list_search li {
  margin-top: 30px;
}
#pageHome #top_search .search_card {
  position: relative;
  display: block;
  height: 100%;
  background: #013876;
}
#pageHome #top_search .search_card .keyword_num {
  position: absolute;
  z-index: 1;
  width: 50px;
  height: 50px;
  padding: 8px;
  font-size: 12px;
  line-height: 1;
  color: #fff972;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageHome #top_search .search_card .keyword_num::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 50px 50px 0 0;
  border-color: #165bba transparent transparent transparent;
  z-index: -1;
  left: 0;
  top: 0;
}
#pageHome #top_search .search_card .image {
  text-align: center;
}
#pageHome #top_search .search_card .image img {
  width: 140px;
  height: 140px;
}
#pageHome #top_search .search_card .caption {
  border: 3px solid #165bba;
  position: relative;
  width: 100%;
  height: 60px;
  line-height: 1.3;
  background: #165bba;
  color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  letter-spacing: -0.02em;
}
#pageHome #top_search .search_card .caption span {
  display: block;
  position: absolute;
  font-size: 14px;
  text-align: center;
  width: 95%;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
#pageHome #top_search .list_keywords {
  margin-top: 35px;
}
#pageHome #top_search .list_keywords li {
  margin: 0 10px 15px 0;
  display: inline-block;
}
#pageHome #top_search .list_keywords li a {
  display: inline-block;
  padding: 0 15px;
  white-space: nowrap;
  color: #fff;
  font-size: 13px;
  background: #013876;
  border: 3px solid #165bba;
  border-radius: 30px;
  line-height: 35px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media all and (max-width: 750px) {
  #pageHome #top_search .list_search li {
    padding: 0 15px;
  }
}
@media all and (min-width: 751px) {
  #pageHome #top_search .title_search {
    font-size: 28px;
  }
  #pageHome #top_search .title_search::after {
    border-width: 16px 10px 0 10px;
  }
  #pageHome #top_search .list_search {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #pageHome #top_search .list_search li {
    width: 32%;
  }
  #pageHome #top_search .search_card .caption span {
    font-size: 15px;
  }
  #pageHome #top_search .list_keywords li a {
    padding: 0 20px;
    font-size: 14px;
    line-height: 38px;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_search .list_search li {
    width: 19%;
  }
  #pageHome #top_search .search_card {
    overflow: hidden;
  }
  #pageHome #top_search .search_card .image {
    -webkit-transform: scale(1);
        -ms-transform: scale(1);
            transform: scale(1);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageHome #top_search .search_card .caption {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageHome #top_search .search_card:hover .image {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
  }
  #pageHome #top_search .search_card:hover .caption {
    background: #013876;
  }
  #pageHome #top_search .list_keywords li a:hover {
    background: #165bba;
  }
}
@media all and (max-width: 1024px) {
  #pageHome #top_capability .list_capa li {
    margin-top: 20px;
  }
  #pageHome #top_capability .list_capa .title_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 1.2;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #pageHome #top_capability .list_capa .title_wrap .ja {
    padding-top: 5px;
    font-size: 18px;
    color: #001f53;
    font-weight: bold;
  }
  #pageHome #top_capability .list_capa .title_wrap .eng {
    margin-top: 5px;
    color: #808080;
    font-size: 12px;
  }
  #pageHome #top_capability .list_capa .no {
    width: 75px;
    color: #013a89;
    font-family: "Barlow", sans-serif;
    font-weight: 600;
    font-size: 52px;
    padding-bottom: 5px;
  }
  #pageHome #top_capability .list_capa .btn_switch {
    max-width: none;
  }
}
@media all and (min-width: 751px) {
  #pageHome #top_capability .list_capa {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #pageHome #top_capability .list_capa li {
    width: 48%;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_capability .list_capa {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 30px -7% 0 0;
  }
  #pageHome #top_capability .list_capa .item > a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
  }
  #pageHome #top_capability .list_capa .item > a::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgb(0, 20, 51);
    background: -webkit-gradient(linear, left bottom, left top, from(rgb(0, 20, 51)), to(rgb(0, 42, 100)));
    background: linear-gradient(0deg, rgb(0, 20, 51) 0%, rgb(0, 42, 100) 100%);
    border: none;
    opacity: 0;
    left: 0;
    top: 0;
    z-index: 1;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageHome #top_capability .list_capa .item > a .title_wrap {
    position: absolute;
    color: #fff;
    opacity: 1;
    left: calc(50% - 15px);
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    padding-top: 50px;
    opacity: 0;
    z-index: 2;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageHome #top_capability .list_capa .item > a .title_wrap .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  #pageHome #top_capability .list_capa .item > a .title_wrap .eng {
    display: inline-block;
    margin-right: 10px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    color: #b7b7b7;
    font-size: 12px;
    white-space: nowrap;
    line-height: 1;
    margin-top: -50px;
  }
  #pageHome #top_capability .list_capa .item > a .title_wrap .ja {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    white-space: nowrap;
    font-weight: bold;
    font-size: 22px;
    line-height: 1.2;
  }
  #pageHome #top_capability .list_capa .item > a .no {
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1;
    font-size: 22px;
    padding-bottom: 10px;
    border-bottom: 1px solid #fff;
  }
  #pageHome #top_capability .list_capa .item > a {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #pageHome #top_capability .list_capa .item > a:hover::after {
    opacity: 0.7;
  }
  #pageHome #top_capability .list_capa .item > a:hover .title_wrap {
    opacity: 1;
  }
}
#pageHome #top_recruit .cols .col {
  position: relative;
}
#pageHome #top_recruit .texts {
  background: url(../images/home/recruit_bg_sp.jpg) no-repeat;
  background-size: cover;
  color: #fff;
  padding: 50px 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageHome #top_recruit .texts .sec_title .ja {
  color: #fff972;
}
#pageHome #top_recruit .texts .sec_title .eng {
  color: #fff;
}
@media all and (max-width: 1024px) {
  #pageHome #top_recruit .cols .col:nth-child(2) {
    margin-top: -65px;
    z-index: 2;
  }
}
@media all and (min-width: 751px) {
  #pageHome #top_recruit .cols .texts {
    padding: 50px 75px;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_recruit .cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  #pageHome #top_recruit .cols .col:nth-child(1) {
    width: 53.5%;
    margin-right: -3.5%;
  }
  #pageHome #top_recruit .cols .col:nth-child(2) {
    width: 49%;
  }
  #pageHome #top_recruit .cols .texts {
    background: url(../images/home/recruit_bg_pc.jpg) no-repeat;
    background-size: cover;
  }
}
#pageHome #top_recruit .btnWrap a {
  margin-bottom: 10px;
}
#pageHome #top_recruit .btnWrap a:last-child {
  margin-bottom: 0;
}
#pageHome #top_links #top_sustainability,
#pageHome #top_links #top_contact {
  padding: 50px 20px;
  position: relative;
}
#pageHome #top_links #top_sustainability .rel,
#pageHome #top_links #top_contact .rel {
  z-index: 2;
}
#pageHome #top_links #top_sustainability::before,
#pageHome #top_links #top_contact::before {
  content: "";
  display: block;
  position: absolute;
  right: 15px;
  top: 25px;
  z-index: 1;
}
#pageHome #top_links #top_sustainability {
  background: url(../images/home/sustainability_bg_sp.jpg) no-repeat;
  background-size: cover;
  color: #fff;
}
#pageHome #top_links #top_sustainability::before {
  background: url(../images/home/sustainability_bg2.svg) no-repeat;
  width: 189px;
  height: 188.96px;
}
#pageHome #top_links #top_sustainability .sec_title .ja {
  color: #fff972;
}
#pageHome #top_links #top_sustainability .sec_title .eng {
  color: #fff;
}
#pageHome #top_links #top_contact {
  background: url(../images/home/contact_bg_sp.jpg) no-repeat;
  background-size: cover;
}
#pageHome #top_links #top_contact::before {
  background: url(../images/home/contact_bg2.svg) no-repeat;
  width: 187.83px;
  height: 131px;
}
@media all and (max-width: 1024px) {
  #pageHome #top_links .cols .col + .col {
    margin-top: 50px;
  }
}
@media all and (min-width: 751px) {
  #pageHome #top_links #top_sustainability,
  #pageHome #top_links #top_contact {
    padding: 50px 60px;
  }
  #pageHome #top_links #top_sustainability::before,
  #pageHome #top_links #top_contact::before {
    top: 40px;
    right: 50px;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_links #top_sustainability,
  #pageHome #top_links #top_contact {
    padding: 65px 60px;
  }
  #pageHome #top_links #top_sustainability {
    background: url(../images/home/sustainability_bg_pc.jpg) no-repeat;
    background-size: cover;
  }
  #pageHome #top_links #top_contact {
    background: url(../images/home/contact_bg_pc.jpg) no-repeat;
    background-size: cover;
  }
  #pageHome #top_links .cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #pageHome #top_links .cols .col {
    width: 49%;
    height: 100%;
  }
}
@media all and (min-width: 1025px) {
  #pageHome #top_recruit .sec_title .eng,
  #pageHome #top_links .sec_title .eng {
    font-size: 3.8vw;
  }
}
@media all and (min-width: 1367px) {
  #pageHome #top_recruit .sec_title .eng,
  #pageHome #top_links .sec_title .eng {
    font-size: 52px;
  }
}

@-webkit-keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/*=================
  会社概要
=================*/
#pageAbout .pHead_bg {
  background: url(../images/about/page_head_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media all and (min-width: 751px) {
  #pageAbout .pHead_bg {
    background: url(../images/about/page_head_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
#pageAbout #greeting .boss_corp,
#pageAbout #greeting .boss_name {
  display: inline-block;
  background: #fff;
  color: #003a89;
  line-height: 40px;
  font-weight: bold;
  padding: 0 20px;
}
#pageAbout #greeting .boss_corp {
  font-size: 13px;
}
#pageAbout #greeting .boss_name {
  margin-top: 10px;
  font-size: 17px;
}
@media all and (max-width: 750px) {
  #pageAbout #greeting .pc_cols .col + .col {
    margin-top: 40px;
  }
  #pageAbout #greeting .image {
    padding: 40px 0 0 0;
  }
}
@media all and (min-width: 751px) {
  #pageAbout #greeting .pc_cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #pageAbout #greeting .pc_cols .col:nth-child(1) {
    width: 300px;
  }
  #pageAbout #greeting .pc_cols .col:nth-child(2) {
    width: calc(100% - 300px - 8.33%);
  }
  #pageAbout #greeting .image {
    padding: 60px 0 0 6.07%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  #pageAbout #greeting .abs {
    right: 6.07%;
    bottom: 50px;
  }
  #pageAbout #greeting .boss_corp {
    font-size: 15px;
  }
  #pageAbout #greeting .boss_name {
    margin-top: 10px;
    font-size: 20px;
  }
}
@media all and (min-width: 1367px) {
  #pageAbout #greeting .image {
    padding: 60px 6.07% 0 6.07%;
  }
  #pageAbout #greeting .abs {
    right: calc(50px + 6.17%);
  }
}
#pageAbout #greeting .image_sp {
  display: block;
}
@media all and (min-width: 751px) {
  #pageAbout #greeting .image_sp {
    display: none;
  }
}
#pageAbout #greeting .image_pc {
  display: none;
}
@media all and (min-width: 751px) {
  #pageAbout #greeting .image_pc {
    display: block;
  }
}
#pageAbout .bg_gray {
  padding: 70px 0 50px;
}
#pageAbout .bg_gray .bg_white {
  padding: 0 15px 50px;
  max-width: 1000px;
}
#pageAbout .bg_gray .bg_white:not(:first-child) {
  margin-top: 50px;
}
#pageAbout .bg_gray .bg_white h3 {
  margin-top: 1em;
  letter-spacing: 0;
  font-weight: bold;
}
#pageAbout .bg_gray .bg_white h3 > br {
  display: none;
}
#pageAbout .bg_gray .bg_white p:not(.nunito) {
  margin-top: 1em;
  letter-spacing: 0;
}
#pageAbout .bg_gray .sec_title {
  position: relative;
  top: -15px;
}
@media all and (max-width: 750px) {
  #pageAbout .bg_gray:first-child(section) {
    margin-top: -15px;
  }
}
@media all and (min-width: 751px) {
  #pageAbout .bg_gray {
    width: 93.93%;
    padding: 70px 0 50px;
    margin: 70px 0 0 6.07%;
  }
  #pageAbout .bg_gray .bg_white {
    margin-left: 7%;
    margin-right: 40px;
    padding: 0 40px 50px;
  }
  #pageAbout .bg_gray .sec_title {
    top: 0px;
    left: -70px;
    padding: 30px 0 10px;
  }
  #pageAbout .bg_gray .bg_white:first-child {
    margin-top: 0;
  }
}
@media all and (min-width: 1025px) {
  #pageAbout .bg_gray .sec_title {
    left: -120px;
  }
  #pageAbout .bg_gray .bg_white {
    padding: 0 85px 50px;
  }
}
#pageAbout #group .list_border a {
  color: #002248;
}
#pageAbout #group .list_border a img {
  display: inline-block;
  padding: 4px 0 0 5px;
}
@media all and (max-width: 750px) {
  #pageAbout #group .pc_cols .col {
    padding: 1em 0;
  }
  #pageAbout #group .pc_cols .col:first-child {
    padding-top: 0;
  }
  #pageAbout #group .pc_cols .col:last-child {
    padding-bottom: 0;
  }
  #pageAbout #group .pc_cols .col + .col {
    border-top: 1px solid #e4e4e4;
  }
  #pageAbout #group .list_border a {
    font-size: 15px;
    letter-spacing: 0;
  }
  #pageAbout #group .list_border .data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #pageAbout #group .list_border .data .image {
    margin-bottom: 20px;
  }
}
#pageAbout #group .about_bnr {
  margin-top: 20px;
}
@media all and (min-width: 751px) {
  #pageAbout #group .list_border a img {
    padding: 7px 0 0 7px;
  }
  #pageAbout #group .pc_cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  #pageAbout #group .pc_cols .col {
    width: 50%;
  }
  #pageAbout #group .pc_cols .col .label {
    width: 100%;
  }
  #pageAbout #group .about_bnr {
    margin-top: 30px;
  }
  #pageAbout #group .yko_logo {
    width: 100%;
    max-width: 187px;
  }
}
@media all and (min-width: 1025px) {
  #pageAbout #group a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageAbout #group a img {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageAbout #group a:hover {
    color: #003a89;
  }
  #pageAbout #group a:hover .icon {
    -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
            transform: scale(1.2);
    -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
            transform-origin: left bottom;
  }
}
#pageAbout #access .list_office {
  margin-top: 40px;
}
#pageAbout #access .list_office li {
  margin-top: 40px;
}
#pageAbout #access .list_office a {
  color: #001538;
}
#pageAbout #access .ggmap {
  position: relative;
  padding-bottom: 80%;
  height: 0;
  overflow: hidden;
  margin-top: 1em;
}
#pageAbout #access .ggmap iframe,
#pageAbout #access .ggmap object,
#pageAbout #access .ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 750px) {
  #pageAbout #access .howto {
    margin-top: 10px;
  }
  #pageAbout #access .howto .col {
    padding: 10px 0;
  }
  #pageAbout #access .howto .col + .col {
    border-top: 1px solid #e4e4e4;
  }
}
@media all and (min-width: 751px) {
  #pageAbout #access .list_office {
    margin-top: 50px;
  }
  #pageAbout #access .list_office li {
    margin-top: 50px;
  }
  #pageAbout #access .ggmap {
    padding-bottom: 400px;
  }
  #pageAbout #access .howto {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 1em;
  }
  #pageAbout #access .howto .col {
    width: 50%;
  }
  #pageAbout #access .map_wrap {
    margin-right: 60px;
  }
  #pageAbout #access .map_wrap .btn_switch {
    position: absolute;
    right: -60px;
    top: 400px;
    max-width: none;
    width: 400px;
    -webkit-transform-origin: right top;
        -ms-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  #pageAbout #access .map_wrap {
    /*
    .btn_switch {
      position: absolute;
      right: 0;
      top: 0;
      width: 60px;
      height: 100%;
      padding:25px 20px;

      .text {
        writing-mode: vertical-rl;
      }
      .switch {
        top: auto;
        bottom: 25px;
        right: 50%;
        transform:translateX(50%);
        .bar {
          height: 16px;
          width: 2px;
          top: auto;

        }
      }

    }
    */
  }
}
@media all and (min-width: 1025px) {
  #pageAbout #access .map_wrap .btn_switch:not(:hover) {
    background: #fff;
  }
}

/*=================
  サステナビリティ
=================*/
#pageSustainability .pHead_bg {
  background: url(../images/sustainability/page_head_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media all and (min-width: 751px) {
  #pageSustainability .pHead_bg {
    background: url(../images/sustainability/page_head_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
#pageSustainability #lead {
  max-width: 932.64px;
  margin: 0 auto;
}
#pageSustainability #lead .image {
  margin-top: 50px;
}
#pageSustainability #lead .text {
  font-size: 15px;
}
@media all and (min-width: 751px) {
  #pageSustainability #lead .text {
    text-align: center;
  }
  #pageSustainability #lead .image {
    margin: 85px 0 0;
  }
}
#pageSustainability #info .list_sdg .cols {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#pageSustainability #info .list_sdg .texts {
  width: calc(100% - 90px);
}
#pageSustainability #info .list_sdg .text {
  letter-spacing: -0.02em;
}
#pageSustainability #info .list_sdg .image {
  width: 70px;
}
#pageSustainability #info .list_sdg .title {
  font-size: 17px;
  letter-spacing: 0;
  line-height: 1;
  font-weight: bold;
  margin-bottom: 20px;
}
@media all and (max-width: 750px) {
  #pageSustainability #info .list_sdg li {
    padding: 30px 0;
  }
  #pageSustainability #info .list_sdg li:first-child {
    padding-top: 0;
  }
  #pageSustainability #info .list_sdg li + li {
    border-top: 1px solid #e4e4e4;
  }
}
@media all and (min-width: 751px) {
  #pageSustainability #info .list_sdg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #pageSustainability #info .list_sdg li {
    width: 45.8333333%;
  }
  #pageSustainability #info .list_sdg li:nth-of-type(odd) {
    margin-right: 30px;
  }
  #pageSustainability #info .list_sdg li:nth-of-type(n + 3) {
    margin-top: 60px;
  }
  #pageSustainability #info .list_sdg .title {
    font-size: 20px;
    line-height: 1.3;
    vertical-align: top;
  }
}
@media all and (min-width: 1025px) {
  #pageSustainability #info .list_sdg li:nth-of-type(odd) {
    margin-right: 50px;
  }
  #pageSustainability #info .list_sdg li:nth-of-type(n + 3) {
    margin-top: 80px;
  }
  #pageSustainability #info .list_sdg .image {
    width: 170px;
  }
  #pageSustainability #info .list_sdg .texts {
    width: calc(100% - 190px);
  }
  #pageSustainability #info .list_sdg .title {
    font-size: 24px;
  }
}
#pageSustainability #repeat2 {
  padding: 30px 0 80px;
}
@media all and (min-width: 751px) {
  #pageSustainability #repeat2 {
    padding: 110px 0 80px;
  }
}
#pageSustainability .repeatBoxRead {
  overflow-wrap: anywhere;
}

/*=================
  ニュース
=================*/
#archiveNews .pHead_bg,
#singleNews .pHead_bg {
  background: url(../images/news/page_head_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media all and (min-width: 751px) {
  #archiveNews .pHead_bg,
  #singleNews .pHead_bg {
    background: url(../images/news/page_head_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}

#archiveNews .lists li {
  border-top: 1px solid #dbdbdb;
}
#archiveNews .lists li:last-child {
  border-bottom: 1px solid #dbdbdb;
}
#archiveNews .lists li a {
  color: #002248;
  display: block;
  padding: 20px 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media all and (min-width: 751px) {
  #archiveNews .lists li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 40px;
  }
  #archiveNews .lists li .date {
    width: calc((100% - 80px) / 4);
  }
  #archiveNews .lists li .title {
    width: calc((100% - 80px) * 3 / 4);
  }
}
@media all and (min-width: 1025px) {
  #archiveNews .lists li a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #archiveNews .lists li a:hover {
    background: #003a89;
    color: #fff;
  }
}

#singleNews .post_title {
  font-size: 18px;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 20px;
  line-height: 1.5;
  border-bottom: 1px solid #4678d1;
  color: #002248;
}
#singleNews .post_title {
  font-size: 22px;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

/*=================
  問い合わせ
=================*/
#pageContact .pHead_bg,
#pageConfirm .pHead_bg,
#pageComplete .pHead_bg {
  background: url(../images/contact/page_head_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media all and (min-width: 751px) {
  #pageContact .pHead_bg,
  #pageConfirm .pHead_bg,
  #pageComplete .pHead_bg {
    background: url(../images/contact/page_head_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
#pageContact .head_lead,
#pageConfirm .head_lead,
#pageComplete .head_lead {
  color: #002248;
}
@media all and (min-width: 751px) {
  #pageContact .head_lead,
  #pageConfirm .head_lead,
  #pageComplete .head_lead {
    text-align: center;
  }
}
#pageContact #status ul,
#pageConfirm #status ul,
#pageComplete #status ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 335px;
  margin: 0 auto;
  gap: 0 73px;
}
@media all and (min-width: 751px) {
  #pageContact #status ul,
  #pageConfirm #status ul,
  #pageComplete #status ul {
    gap: 0 220px;
  }
}
#pageContact #status ul li,
#pageConfirm #status ul li,
#pageComplete #status ul li {
  position: relative;
}
#pageContact #status ul li span,
#pageConfirm #status ul li span,
#pageComplete #status ul li span {
  font-weight: bold;
  color: #001538;
  opacity: 0.2;
  line-height: 1.5;
}
#pageContact #status ul li::before,
#pageConfirm #status ul li::before,
#pageComplete #status ul li::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 200%;
  height: 1px;
  background: #d5e3f7;
  bottom: -16px;
  left: 10px;
}
#pageContact #status ul li:not(:last-child)::after,
#pageConfirm #status ul li:not(:last-child)::after,
#pageComplete #status ul li:not(:last-child)::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 10px;
  height: 10px;
  border: 3px solid #d5e3f7;
  background: #fff;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  bottom: -20px;
  left: 0;
}
#pageContact #status ul li.commit span,
#pageConfirm #status ul li.commit span,
#pageComplete #status ul li.commit span {
  opacity: 1;
}
#pageContact #status ul li.commit::before,
#pageConfirm #status ul li.commit::before,
#pageComplete #status ul li.commit::before {
  background: #3278d8;
}
#pageContact #status ul li.commit::after,
#pageConfirm #status ul li.commit::after,
#pageComplete #status ul li.commit::after {
  border-color: #3278d8;
}
@media all and (max-width: 750px) {
  #pageContact #status ul,
  #pageConfirm #status ul,
  #pageComplete #status ul {
    gap: 0 50px;
  }
  #pageContact #status ul li span,
  #pageConfirm #status ul li span,
  #pageComplete #status ul li span {
    display: block;
  }
  #pageContact #status ul li:last-child::before,
  #pageConfirm #status ul li:last-child::before,
  #pageComplete #status ul li:last-child::before {
    width: 100%;
    left: 0;
  }
}
@media all and (min-width: 751px) {
  #pageContact #status ul,
  #pageConfirm #status ul,
  #pageComplete #status ul {
    max-width: 695px;
    gap: 0 220px;
  }
  #pageContact #status ul li::before,
  #pageConfirm #status ul li::before,
  #pageComplete #status ul li::before {
    left: calc(100% + 10px);
    bottom: 14px;
    width: calc(200% - 30px);
  }
  #pageContact #status ul li:not(:last-child)::after,
  #pageConfirm #status ul li:not(:last-child)::after,
  #pageComplete #status ul li:not(:last-child)::after {
    left: calc(100% + 10px);
    bottom: 10px;
  }
  #pageContact #status ul li:last-child::before,
  #pageConfirm #status ul li:last-child::before,
  #pageComplete #status ul li:last-child::before {
    content: none;
  }
}
#pageContact .input_area,
#pageConfirm .input_area,
#pageComplete .input_area {
  margin-top: 30px;
}
#pageContact .input_area > li,
#pageConfirm .input_area > li,
#pageComplete .input_area > li {
  margin-bottom: 30px;
}
@media all and (min-width: 751px) {
  #pageContact .input_area > li,
  #pageConfirm .input_area > li,
  #pageComplete .input_area > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #002248;
  }
  #pageContact .input_area > li .title,
  #pageConfirm .input_area > li .title,
  #pageComplete .input_area > li .title {
    width: 25%;
  }
  #pageContact .input_area > li .data,
  #pageConfirm .input_area > li .data,
  #pageComplete .input_area > li .data {
    width: 75%;
  }
  #pageContact .input_area > li .data.post,
  #pageConfirm .input_area > li .data.post,
  #pageComplete .input_area > li .data.post {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 5px;
    width: 190px;
  }
  #pageContact .input_area > li .data.tel, #pageContact .input_area > li .data.fax,
  #pageConfirm .input_area > li .data.tel,
  #pageConfirm .input_area > li .data.fax,
  #pageComplete .input_area > li .data.tel,
  #pageComplete .input_area > li .data.fax {
    width: 280px;
  }
}
#pageContact .post,
#pageConfirm .post,
#pageComplete .post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 5px;
  width: 190px;
}
#pageContact .tel,
#pageContact .fax,
#pageConfirm .tel,
#pageConfirm .fax,
#pageComplete .tel,
#pageComplete .fax {
  width: 280px;
}
#pageContact .title,
#pageConfirm .title,
#pageComplete .title {
  font-weight: bold;
  margin-bottom: 15px;
}
#pageContact .maxW,
#pageConfirm .maxW,
#pageComplete .maxW {
  max-width: 100%;
}
@media all and (min-width: 751px) {
  #pageContact .pc_flex .wpcf7-form-control,
  #pageConfirm .pc_flex .wpcf7-form-control,
  #pageComplete .pc_flex .wpcf7-form-control {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
#pageContact .pc_flex,
#pageConfirm .pc_flex,
#pageComplete .pc_flex {
  /**********ラジオボタンとチェックボックス***********/
}
#pageContact .pc_flex .wpcf7-list-item,
#pageConfirm .pc_flex .wpcf7-list-item,
#pageComplete .pc_flex .wpcf7-list-item {
  margin: 0;
  display: block;
}
@media all and (min-width: 1025px) {
  #pageContact .pc_flex .wpcf7-list-item,
  #pageConfirm .pc_flex .wpcf7-list-item,
  #pageComplete .pc_flex .wpcf7-list-item {
    min-width: 49%;
    display: inline-block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
#pageContact,
#pageConfirm,
#pageComplete {
  /**********ラジオボタンとチェックボックス***********/
}
#pageContact .wpcf7-list-item-label,
#pageContact .mwform-checkbox-field-text,
#pageConfirm .wpcf7-list-item-label,
#pageConfirm .mwform-checkbox-field-text,
#pageComplete .wpcf7-list-item-label,
#pageComplete .mwform-checkbox-field-text {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transition: background-color 0.2s linear;
  transition: background-color 0.2s linear;
  position: relative;
  display: inline-block;
  margin: 0 20px 10px 0;
  padding: 2px 2px 2px 40px;
  background-color: transparent;
  line-height: 30px;
  vertical-align: middle;
  cursor: pointer;
  color: #000;
}
@media all and (min-width: 751px) {
  #pageContact .wpcf7-list-item-label,
  #pageContact .mwform-checkbox-field-text,
  #pageConfirm .wpcf7-list-item-label,
  #pageConfirm .mwform-checkbox-field-text,
  #pageComplete .wpcf7-list-item-label,
  #pageComplete .mwform-checkbox-field-text {
    line-height: 40px;
    padding-left: 50px;
  }
}
#pageContact .mwform-checkbox-field-text,
#pageConfirm .mwform-checkbox-field-text,
#pageComplete .mwform-checkbox-field-text {
  margin-bottom: 20px;
}
#pageContact .mwform-checkbox-field-text,
#pageConfirm .mwform-checkbox-field-text,
#pageComplete .mwform-checkbox-field-text {
  color: #3b4043;
}
#pageContact .wpcf7-list-item-label::after,
#pageContact .mwform-checkbox-field-text::after,
#pageConfirm .wpcf7-list-item-label::after,
#pageConfirm .mwform-checkbox-field-text::after,
#pageComplete .wpcf7-list-item-label::after,
#pageComplete .mwform-checkbox-field-text::after {
  content: "";
  display: block;
  position: absolute;
  width: 30px;
  height: 30px;
  top: 12px;
  left: 0;
}
@media all and (min-width: 751px) {
  #pageContact .wpcf7-list-item-label::after,
  #pageContact .mwform-checkbox-field-text::after,
  #pageConfirm .wpcf7-list-item-label::after,
  #pageConfirm .mwform-checkbox-field-text::after,
  #pageComplete .wpcf7-list-item-label::after,
  #pageComplete .mwform-checkbox-field-text::after {
    width: 40px;
    height: 40px;
  }
}
#pageContact .wpcf7-list-item-label::before,
#pageContact .mwform-checkbox-field-text::before,
#pageConfirm .wpcf7-list-item-label::before,
#pageConfirm .mwform-checkbox-field-text::before,
#pageComplete .wpcf7-list-item-label::before,
#pageComplete .mwform-checkbox-field-text::before {
  content: "";
  display: block;
  position: absolute;
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  opacity: 0;
  z-index: 1;
}
#pageContact .wpcf7-list-item-label::after,
#pageConfirm .wpcf7-list-item-label::after,
#pageComplete .wpcf7-list-item-label::after {
  margin-top: -11px;
}
#pageContact .wpcf7-list-item-label::before,
#pageConfirm .wpcf7-list-item-label::before,
#pageComplete .wpcf7-list-item-label::before {
  top: 8px;
  left: 7px;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #003a89;
}
@media all and (min-width: 751px) {
  #pageContact .wpcf7-list-item-label::before,
  #pageConfirm .wpcf7-list-item-label::before,
  #pageComplete .wpcf7-list-item-label::before {
    top: 11px;
    left: 10px;
    width: 18px;
    height: 18px;
  }
}
#pageContact .mwform-checkbox-field-text::after,
#pageConfirm .mwform-checkbox-field-text::after,
#pageComplete .mwform-checkbox-field-text::after {
  margin-top: -11px;
  border-radius: 4px;
}
#pageContact .mwform-checkbox-field-text::before,
#pageConfirm .mwform-checkbox-field-text::before,
#pageComplete .mwform-checkbox-field-text::before {
  top: 7px;
  left: 11px;
  width: 8px;
  height: 15px;
  border-right: 2px solid #003a89;
  border-bottom: 2px solid #003a89;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media all and (min-width: 751px) {
  #pageContact .mwform-checkbox-field-text::before,
  #pageConfirm .mwform-checkbox-field-text::before,
  #pageComplete .mwform-checkbox-field-text::before {
    top: 11px;
    left: 16px;
  }
}
#pageContact .wpcf7-list-item-label::after,
#pageContact .mwform-checkbox-field-text::after,
#pageConfirm .wpcf7-list-item-label::after,
#pageConfirm .mwform-checkbox-field-text::after,
#pageComplete .wpcf7-list-item-label::after,
#pageComplete .mwform-checkbox-field-text::after {
  background-color: #d9e6ff;
}
#pageContact input[type=radio]:checked + .wpcf7-list-item-label::before,
#pageConfirm input[type=radio]:checked + .wpcf7-list-item-label::before,
#pageComplete input[type=radio]:checked + .wpcf7-list-item-label::before {
  opacity: 1;
}
#pageContact input[type=checkbox]:checked + .wpcf7-list-item-label::before,
#pageConfirm input[type=checkbox]:checked + .wpcf7-list-item-label::before,
#pageComplete input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  opacity: 1;
}
#pageContact .text + .mwform-checkbox-field-text,
#pageConfirm .text + .mwform-checkbox-field-text,
#pageComplete .text + .mwform-checkbox-field-text {
  margin-top: 15px;
}
#pageContact,
#pageConfirm,
#pageComplete {
  /**********ラジオボタンとチェックボックスEND***********/
}
#pageContact .mw_wp_form .horizontal-item + .horizontal-item,
#pageConfirm .mw_wp_form .horizontal-item + .horizontal-item,
#pageComplete .mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0px;
}
@media all and (max-width: 750px) {
  #pageContact .mw_wp_form .horizontal-item + .horizontal-item,
  #pageConfirm .mw_wp_form .horizontal-item + .horizontal-item,
  #pageComplete .mw_wp_form .horizontal-item + .horizontal-item {
    display: block;
  }
}
#pageContact .privacy,
#pageConfirm .privacy,
#pageComplete .privacy {
  text-align: center;
}
#pageContact .privacy a,
#pageConfirm .privacy a,
#pageComplete .privacy a {
  font-weight: bold;
}
#pageContact .privacy input[type=checkbox],
#pageConfirm .privacy input[type=checkbox],
#pageComplete .privacy input[type=checkbox] {
  display: none;
}
#pageContact .privacy .acceptance,
#pageConfirm .privacy .acceptance,
#pageComplete .privacy .acceptance {
  margin-top: 30px;
}
#pageContact .privacy .mwform-checkbox-field-text::after,
#pageConfirm .privacy .mwform-checkbox-field-text::after,
#pageComplete .privacy .mwform-checkbox-field-text::after {
  border-radius: 0;
}
#pageContact .privacy .mwform-checkbox-field-text,
#pageConfirm .privacy .mwform-checkbox-field-text,
#pageComplete .privacy .mwform-checkbox-field-text {
  position: relative;
  display: inline-block;
  margin: 0;
  border-radius: 8px;
  background-color: #ffffff;
  vertical-align: middle;
  cursor: pointer;
}
@media all and (min-width: 751px) {
  #pageContact .privacy,
  #pageConfirm .privacy,
  #pageComplete .privacy {
    margin-top: 60px;
  }
}
@media all and (min-width: 1025px) {
  #pageContact .privacy,
  #pageConfirm .privacy,
  #pageComplete .privacy {
    margin-top: 80px;
  }
}
#pageContact .submit_area,
#pageConfirm .submit_area,
#pageComplete .submit_area {
  margin-top: 30px;
  text-align: center;
  letter-spacing: 0.05em;
}
#pageContact .submit_area .prev,
#pageConfirm .submit_area .prev,
#pageComplete .submit_area .prev {
  margin-bottom: 20px;
}
#pageContact .submit_area .prev .btn_switch,
#pageConfirm .submit_area .prev .btn_switch,
#pageComplete .submit_area .prev .btn_switch {
  border: 1px solid #707070;
  background: #707070;
}
#pageContact .submit_area .prev .btn_switch .switch .round,
#pageConfirm .submit_area .prev .btn_switch .switch .round,
#pageComplete .submit_area .prev .btn_switch .switch .round {
  background: #707070;
}
@media all and (min-width: 751px) {
  #pageContact .submit_area,
  #pageConfirm .submit_area,
  #pageComplete .submit_area {
    margin-top: 60px;
  }
  #pageContact .submit_area > li,
  #pageConfirm .submit_area > li,
  #pageComplete .submit_area > li {
    display: inline-block;
  }
  #pageContact .submit_area input,
  #pageConfirm .submit_area input,
  #pageComplete .submit_area input {
    width: 240px;
  }
}
@media all and (min-width: 1025px) {
  #pageContact .submit_area,
  #pageConfirm .submit_area,
  #pageComplete .submit_area {
    margin-top: 80px;
  }
  #pageContact .submit_area .prev input,
  #pageContact .submit_area .next input,
  #pageConfirm .submit_area .prev input,
  #pageConfirm .submit_area .next input,
  #pageComplete .submit_area .prev input,
  #pageComplete .submit_area .next input {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageContact .submit_area .prev .btn_switch,
  #pageConfirm .submit_area .prev .btn_switch,
  #pageComplete .submit_area .prev .btn_switch {
    border: 1px solid #707070;
    background: #fff;
    color: #707070;
  }
  #pageContact .submit_area .prev .btn_switch input,
  #pageConfirm .submit_area .prev .btn_switch input,
  #pageComplete .submit_area .prev .btn_switch input {
    color: #707070;
  }
  #pageContact .submit_area .prev .btn_switch .switch .bar,
  #pageConfirm .submit_area .prev .btn_switch .switch .bar,
  #pageComplete .submit_area .prev .btn_switch .switch .bar {
    background: #707070;
  }
  #pageContact .submit_area .prev .btn_switch .switch .round,
  #pageConfirm .submit_area .prev .btn_switch .switch .round,
  #pageComplete .submit_area .prev .btn_switch .switch .round {
    border-color: #707070;
    background: #fff;
  }
  #pageContact .submit_area .prev .btn_switch:hover,
  #pageConfirm .submit_area .prev .btn_switch:hover,
  #pageComplete .submit_area .prev .btn_switch:hover {
    background: #707070;
    color: #fff;
  }
  #pageContact .submit_area .prev .btn_switch:hover input,
  #pageConfirm .submit_area .prev .btn_switch:hover input,
  #pageComplete .submit_area .prev .btn_switch:hover input {
    color: #fff;
  }
  #pageContact .submit_area .prev .btn_switch:hover .switch .bar,
  #pageConfirm .submit_area .prev .btn_switch:hover .switch .bar,
  #pageComplete .submit_area .prev .btn_switch:hover .switch .bar {
    background: #fff;
  }
  #pageContact .submit_area .prev .btn_switch:hover .switch .round,
  #pageConfirm .submit_area .prev .btn_switch:hover .switch .round,
  #pageComplete .submit_area .prev .btn_switch:hover .switch .round {
    border-color: #fff;
    background: #707070;
  }
}
#pageContact .mw_wp_form_input .submit_area,
#pageConfirm .mw_wp_form_input .submit_area,
#pageComplete .mw_wp_form_input .submit_area {
  text-align: center;
}
#pageContact .mw_wp_form_input .submit_area li:nth-child(1),
#pageConfirm .mw_wp_form_input .submit_area li:nth-child(1),
#pageComplete .mw_wp_form_input .submit_area li:nth-child(1) {
  display: none;
}
@media all and (min-width: 751px) {
  #pageContact .mw_wp_form_confirm .submit_area,
  #pageConfirm .mw_wp_form_confirm .submit_area,
  #pageComplete .mw_wp_form_confirm .submit_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
#pageContact .mw_wp_form_confirm .privacy,
#pageConfirm .mw_wp_form_confirm .privacy,
#pageComplete .mw_wp_form_confirm .privacy {
  display: none;
}
#pageContact .mw_wp_form_complete,
#pageConfirm .mw_wp_form_complete,
#pageComplete .mw_wp_form_complete {
  text-align: center;
}
#pageContact,
#pageConfirm,
#pageComplete {
  /* エラーメッセージ */
}
#pageContact .mw_wp_form .error,
#pageConfirm .mw_wp_form .error,
#pageComplete .mw_wp_form .error {
  margin-top: 15px;
  font-size: 12px;
}

#pageContact #recaptcha {
  text-align: center;
  margin: 20px auto 0;
  max-width: 335px;
}
#pageContact #recaptcha input[type=text] {
  text-align: center;
}

/*=================
  プライバシーポリシー
=================*/
#pagePrivacy #privacypolicy .lists li + li,
#pageSitepolicy #privacypolicy .lists li + li,
#pageSitemap #privacypolicy .lists li + li {
  margin-top: 1rem;
}
#pagePrivacy #privacypolicy .pc_cols,
#pageSitepolicy #privacypolicy .pc_cols,
#pageSitemap #privacypolicy .pc_cols {
  margin-top: 30px;
}
@media all and (min-width: 751px) {
  #pagePrivacy #privacypolicy .pc_cols,
  #pageSitepolicy #privacypolicy .pc_cols,
  #pageSitemap #privacypolicy .pc_cols {
    margin-top: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #pagePrivacy #privacypolicy .pc_cols .col:nth-child(1),
  #pageSitepolicy #privacypolicy .pc_cols .col:nth-child(1),
  #pageSitemap #privacypolicy .pc_cols .col:nth-child(1) {
    width: 25%;
  }
  #pagePrivacy #privacypolicy .pc_cols .col:nth-child(2),
  #pageSitepolicy #privacypolicy .pc_cols .col:nth-child(2),
  #pageSitemap #privacypolicy .pc_cols .col:nth-child(2) {
    width: 75%;
  }
}
#pagePrivacy #customer .table,
#pageSitepolicy #customer .table,
#pageSitemap #customer .table {
  margin-top: 20px;
}
#pagePrivacy #customer .table th,
#pagePrivacy #customer .table td,
#pageSitepolicy #customer .table th,
#pageSitepolicy #customer .table td,
#pageSitemap #customer .table th,
#pageSitemap #customer .table td {
  padding: 1rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: 1px solid #808080;
}
#pagePrivacy #customer .table thead th,
#pageSitepolicy #customer .table thead th,
#pageSitemap #customer .table thead th {
  background: #f0f6ff;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  width: 50%;
}
#pagePrivacy #customer .table_list,
#pageSitepolicy #customer .table_list,
#pageSitemap #customer .table_list {
  padding-left: 1rem;
}
#pagePrivacy #customer .table_list li,
#pageSitepolicy #customer .table_list li,
#pageSitemap #customer .table_list li {
  list-style-type: disc;
}
@media all and (min-width: 751px) {
  #pagePrivacy #customer,
  #pageSitepolicy #customer,
  #pageSitemap #customer {
    margin-top: 30px;
  }
  #pagePrivacy #customer .list_border .label,
  #pageSitepolicy #customer .list_border .label,
  #pageSitemap #customer .list_border .label {
    padding-left: 1rem;
  }
}
@media all and (min-width: 1025px) {
  #pagePrivacy #customer .table th,
  #pageSitepolicy #customer .table th,
  #pageSitemap #customer .table th {
    padding: 40px 35px;
  }
  #pagePrivacy #customer .table td,
  #pageSitepolicy #customer .table td,
  #pageSitemap #customer .table td {
    padding: 40px 50px;
  }
  #pagePrivacy #customer .list_border .label,
  #pageSitepolicy #customer .list_border .label,
  #pageSitemap #customer .list_border .label {
    padding-left: 35px;
  }
}
#pagePrivacy .big,
#pageSitepolicy .big,
#pageSitemap .big {
  font-size: 1.2em;
  font-weight: bold;
}
@media all and (max-width: 750px) {
  #pagePrivacy .big,
  #pageSitepolicy .big,
  #pageSitemap .big {
    margin-bottom: 30px;
  }
}
#pagePrivacy .text + .big,
#pageSitepolicy .text + .big,
#pageSitemap .text + .big {
  margin-top: 50px;
}
@media all and (min-width: 751px) {
  #pagePrivacy .text + .big,
  #pageSitepolicy .text + .big,
  #pageSitemap .text + .big {
    margin-top: 60px;
  }
}

#pagePrivacy .pHead_bg {
  background: url(../images/privacy/page_head_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media all and (min-width: 751px) {
  #pagePrivacy .pHead_bg {
    background: url(../images/privacy/page_head_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
@media all and (max-width: 750px) {
  #pagePrivacy .sec_title .eng {
    font-size: 14px;
  }
  #pagePrivacy .sec_title .ja {
    font-size: 22px;
  }
}

/*=================
  サイトポリシー
=================*/
#pageSitepolicy .pHead_bg {
  background: url(../images/sitepolicy/page_head_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media all and (min-width: 751px) {
  #pageSitepolicy .pHead_bg {
    background: url(../images/sitepolicy/page_head_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}

/*=================
  サイトマップ
=================*/
#pageSitemap .pHead_bg {
  background: url(../images/sitemap/page_head_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media all and (min-width: 751px) {
  #pageSitemap .pHead_bg {
    background: url(../images/sitemap/page_head_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
#pageSitemap #sitemap {
  line-height: 2.3;
}
#pageSitemap #sitemap .pc_cols .lv1 a {
  color: #001538;
  font-weight: bold;
  line-height: 1.5;
}
#pageSitemap #sitemap .pc_cols .lv2 {
  padding-left: 1rem;
}
#pageSitemap #sitemap .pc_cols .lv2 a {
  color: #808080;
  line-height: 1.5;
}
@media all and (max-width: 750px) {
  #pageSitemap #sitemap .pc_cols {
    border-left: 1px solid #d8d8d8;
    padding-left: 20px;
  }
}
@media all and (min-width: 751px) {
  #pageSitemap #sitemap .pc_cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    width: 80%;
    margin: 0 auto;
  }
  #pageSitemap #sitemap .pc_cols .col {
    width: 50%;
    max-width: 300px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-left: 1px solid #d8d8d8;
    padding-left: 30px;
  }
}

/*=================
  製品・技術カテゴリ(共通)
=================*/
#categories .cat_list {
  margin-top: 30px;
}
#categories .cat_list li {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#categories .cat_list li a {
  display: block;
  position: relative;
}
#categories .cat_list li a::after {
  content: "";
  display: block;
  position: absolute;
  width: 10px;
  height: 10px;
  right: 9.33%;
  bottom: calc(50% - 7px);
  border-bottom: 2px solid #808080;
  border-right: 2px solid #808080;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}
#categories .cat_list li a span {
  display: block;
}
#categories .cat_list li a .eng {
  color: #808080;
  line-height: 1.5;
  font-size: 11px;
}
#categories .cat_list li a .ja {
  font-size: 15px;
  line-height: 1;
  font-weight: bold;
  color: #003a89;
}
@media all and (max-width: 750px) {
  #categories .cat_list li a {
    padding: 15px 9.33%;
  }
  #categories .cat_list li {
    border-top: 1px solid #e4e4e4;
  }
  #categories .cat_list li:last-child {
    border-bottom: 1px solid #e4e4e4;
  }
}
@media all and (min-width: 751px) {
  #categories .cat_list {
    margin-top: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #categories .cat_list li {
    width: 24%;
  }
  #categories .cat_list li a {
    border: 1px solid #c7c7c7;
    padding-right: 30px;
    height: 100%;
    padding: 12px 20px;
  }
  #categories .cat_list li a span {
    text-align: center;
  }
  #categories .cat_list li a .eng {
    font-size: 13px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #categories .cat_list li a .ja {
    margin-top: 0px;
    font-size: 16px;
  }
  #categories .cat_list li a::after {
    content: none;
  }
}
@media all and (min-width: 1025px) {
  #categories .cat_list li a {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #categories .cat_list li a:hover {
    border-color: #013a89;
  }
}

/*=================
  製品
=================*/
#pageProducts .pHead_bg,
#singleProduct .pHead_bg {
  background: url(../images/product/page_head_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media all and (min-width: 751px) {
  #pageProducts .pHead_bg,
  #singleProduct .pHead_bg {
    background: url(../images/product/page_head_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}

#pageProducts .product_title {
  padding-bottom: 1em;
  border-bottom: 7px solid #ebebeb;
  line-height: 1;
}
#pageProducts .product_title .eng,
#pageProducts .product_title .ja {
  display: block;
}
#pageProducts .product_title .ja {
  font-weight: bold;
  font-size: 18px;
}
#pageProducts .product_title .eng {
  color: #808080;
  line-height: 1;
}
@media all and (min-width: 751px) {
  #pageProducts .product_title .eng,
  #pageProducts .product_title .ja {
    display: inline-block;
  }
  #pageProducts .product_title .ja {
    font-size: 26px;
  }
  #pageProducts .product_title .eng {
    font-size: 17px;
    margin-left: 1em;
  }
}
#pageProducts .product_sub_title {
  font-size: 15px;
  font-weight: bold;
  color: #003a89;
  border-left: 5px solid #003a89;
  padding-left: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-height: 1;
}
@media all and (min-width: 751px) {
  #pageProducts .product_sub_title {
    font-size: 16px;
  }
}
#pageProducts .list_wrap {
  padding-top: 30px;
}
#pageProducts .list_wrap + .list_wrap {
  padding-top: 50px;
}
@media all and (min-width: 751px) {
  #pageProducts .list_wrap {
    padding-top: 40px;
  }
  #pageProducts .list_wrap + .list_wrap {
    padding-top: 60px;
  }
}
#pageProducts .product_list {
  padding-top: 20px;
}
#pageProducts .product_list .product_name {
  margin-top: 15px;
  color: #001f53;
  font-weight: bold;
  line-height: 1.5;
}
#pageProducts .product_list a {
  display: block;
}
@media all and (max-width: 750px) {
  #pageProducts .product_list li + li {
    margin-top: 30px;
  }
}
@media all and (min-width: 751px) {
  #pageProducts .product_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #pageProducts .product_list::after {
    content: "";
    display: inline-block;
    width: 32%;
  }
  #pageProducts .product_list a .image {
    overflow: hidden;
  }
  #pageProducts .product_list a img {
    height: 21vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #pageProducts .product_list li {
    width: 32%;
  }
  #pageProducts .product_list li:nth-of-type(n + 4) {
    margin-top: 60px;
  }
}
@media all and (min-width: 1025px) {
  #pageProducts .product_list a img {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageProducts .product_list a .product_name {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  #pageProducts .product_list a:hover img {
    -webkit-transform: scale(1.1);
        -ms-transform: scale(1.1);
            transform: scale(1.1);
  }
  #pageProducts .product_list a:hover .product_name {
    color: #003a89;
  }
}
@media all and (min-width: 1367px) {
  #pageProducts .product_list a img {
    height: 289px;
  }
}
#pageProducts #deveropment_flow {
  margin-top: 50px;
}
#pageProducts .flow_title {
  text-align: center;
  margin-top: 50px;
}
#pageProducts .flow_title .ja {
  font-size: 17px;
  font-weight: bold;
  line-height: 1;
}
#pageProducts .flow_title .eng {
  color: #808080;
  line-height: 1;
  margin-top: 10px;
}
@media all and (min-width: 751px) {
  #pageProducts .flow_title .ja {
    font-size: 20px;
  }
  #pageProducts .flow_title .eng {
    font-size: 17px;
  }
}
#pageProducts .flowlist {
  margin-bottom: 50px;
}
#pageProducts .flowlist li {
  margin-top: 30px;
  position: relative;
  padding: 15px 30px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: #f2f2f2;
}
#pageProducts .flowlist li + li::before {
  content: "";
  position: absolute;
  left: calc(50% - 2px);
  bottom: 100%;
  width: 4px;
  height: 30px;
  background: #f2f2f2;
}
#pageProducts .flowlist .no {
  position: absolute;
  left: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  font-size: 15px;
}
#pageProducts .flowlist .flow_name {
  font-weight: bold;
  font-size: 15px;
  color: #002248;
  text-align: center;
}
@media all and (min-width: 751px) {
  #pageProducts .flowlist {
    margin-bottom: 60px;
  }
  #pageProducts .flowlist li {
    padding: 20px 80px;
  }
  #pageProducts .flowlist .no {
    left: 40px;
    font-size: 17px;
  }
  #pageProducts .flowlist .flow_name {
    font-size: 17px;
    line-height: 1.8;
  }
}

#singleProduct .section a {
  text-decoration: underline;
}
#singleProduct .parent_category {
  padding-bottom: 10px;
  border-bottom: 5px solid #efefef;
  margin-bottom: 20px;
}
#singleProduct .parent_category .eng,
#singleProduct .parent_category .ja {
  display: block;
}
#singleProduct .parent_category .ja {
  font-weight: bold;
  font-size: 20px;
}
#singleProduct .parent_category .eng {
  color: #808080;
  line-height: 1;
}
@media all and (min-width: 751px) {
  #singleProduct .parent_category {
    padding-bottom: 15px;
    margin-bottom: 30px;
    border-bottom-width: 7px;
    line-height: 1;
  }
  #singleProduct .parent_category .eng,
  #singleProduct .parent_category .ja {
    display: inline-block;
  }
  #singleProduct .parent_category .ja {
    font-size: 28px;
  }
  #singleProduct .parent_category .eng {
    font-size: 17px;
    margin-left: 1em;
  }
}
#singleProduct #product_thumb {
  overflow-x: hidden;
  width: calc(100% + 14px);
  margin-right: -14px;
  line-height: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
#singleProduct #product_thumb li {
  padding: 13px 13px 0 0;
  display: inline-block;
}
#singleProduct #product_thumb img {
  width: 74px;
  height: 55px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media all and (min-width: 751px) {
  #singleProduct #product_thumb li {
    padding: 20px 13px 0 0;
  }
}
@media all and (max-width: 750px) {
  #singleProduct #return {
    margin-top: 0;
  }
}
#singleProduct .sub_category {
  font-size: 13px;
  display: inline-block;
  background: #003a89;
  color: #fff;
  line-height: 1;
  padding: 5px 2em;
}
#singleProduct .product_name {
  font-size: 17px;
  font-weight: bold;
  margin-bottom: 20px;
}
#singleProduct .sub_title {
  border-left: 8px solid #165bba;
  color: #003a89;
  font-weight: bold;
  font-size: 17px;
  padding: 0px 0 0 10px;
  line-height: 1.2;
}
#singleProduct .text {
  margin-top: 20px;
}
#singleProduct .text + .sub_title {
  margin-top: 50px;
}
#singleProduct .min_title {
  position: relative;
  line-height: 1.5;
  font-weight: bold;
  margin: 30px 0 1em;
  padding-left: 25px;
  font-size: 13px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#singleProduct .min_title::before {
  content: "◆";
  position: absolute;
  font-size: 15px;
  top: 0px;
  left: 0;
}
#singleProduct .btn_pdf {
  min-height: 58px;
  line-height: 1.3;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  margin-right: auto;
  text-decoration: none !important;
}
#singleProduct .btn_pdf::after {
  background: url(../images/capabilities/icon_download.svg) no-repeat;
  background-size: contain;
}
#singleProduct .btn_pdf .pdf_name_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-right: 22px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#singleProduct .btn_pdf .pdf_name_wrap span {
  font-size: inherit;
  font-weight: bold;
  display: block;
  width: 100%;
}
#singleProduct .btn_pdf .pdf_name_wrap .pdf_name_sub {
  font-size: 0.9em;
  line-height: 1.2;
}
@media all and (max-width: 750px) {
  #singleProduct .contents .pc_cols .col:nth-child(2) {
    margin-top: 50px;
  }
  #singleProduct .btn_switch .text {
    font-size: 13px;
  }
}
@media all and (min-width: 751px) {
  #singleProduct .sub_category {
    margin-bottom: 10px;
  }
  #singleProduct .product_name {
    font-size: 24px;
  }
  #singleProduct .sub_title {
    margin-top: 60px;
  }
  #singleProduct .pc_cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  #singleProduct .pc_cols .col:nth-child(1) {
    width: 41%;
  }
  #singleProduct .pc_cols .col:nth-child(2) {
    width: 50%;
  }
  #singleProduct .btn_pdf {
    margin-left: 0;
  }
  #singleProduct .btn_pdf,
  #singleProduct .btn_download,
  #singleProduct .btn_link {
    margin-top: 70px;
  }
  #singleProduct .min_title {
    font-size: 15px;
  }
}
@media all and (min-width: 1025px) {
  #singleProduct .btn_pdf::after {
    background-image: url(../images/capabilities/icon_download_gray.svg);
    background-size: contain;
  }
  #singleProduct .btn_pdf:hover::after {
    background-image: url(../images/capabilities/icon_download.svg);
    background-size: contain;
  }
}

/*=================
  技術
=================*/
#pageCapabilities .pHead_bg {
  background: url(../images/capabilities/page_head_sp.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media all and (min-width: 751px) {
  #pageCapabilities .pHead_bg {
    background: url(../images/capabilities/page_head_pc.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
#pageCapabilities .btnWrap.adjust {
  margin-top: 10px;
  line-height: 0;
}
@media all and (min-width: 751px) {
  #pageCapabilities .btnWrap.adjust {
    margin-top: 0;
  }
}
@media all and (min-width: 751px) {
  #pageCapabilities #categories .cat_list {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #pageCapabilities #categories .cat_list li {
    width: 32.25%;
  }
  #pageCapabilities #categories .cat_list li:nth-of-type(n + 4) {
    margin-top: 15px;
  }
}
#pageCapabilities .category_title {
  color: #003a89;
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  max-width: 100%;
}
#pageCapabilities .category_title .no,
#pageCapabilities .category_title .ja {
  display: inline-block;
  line-height: 1;
}
#pageCapabilities .category_title .no {
  font-size: 14px;
  margin-right: 1rem;
}
#pageCapabilities .category_title .ja {
  font-size: 18px;
  font-weight: bold;
}
@media all and (min-width: 751px) {
  #pageCapabilities .category_title {
    margin-bottom: 40px;
    vertical-align: top;
  }
  #pageCapabilities .category_title .no,
  #pageCapabilities .category_title .ja {
    line-height: 26px;
  }
  #pageCapabilities .category_title .no {
    font-size: 20px;
    line-height: 1;
  }
  #pageCapabilities .category_title .ja {
    font-size: 26px;
  }
}
#pageCapabilities .sub_title {
  border-left: 10px solid #165bba;
  color: #003a89;
  font-weight: bold;
  padding: 0px 0 0 10px;
  line-height: 1.2;
  margin: 40px 0 20px;
}
#pageCapabilities .sub_title2 {
  margin: 60px 0 20px;
}
@media all and (max-width: 750px) {
  #pageCapabilities .sub_title2 {
    margin: 40px 0 20px;
  }
}
#pageCapabilities .min_title {
  position: relative;
  line-height: 1.5;
  font-weight: bold;
  margin: 0.5em 0;
  padding-left: 25px;
  font-size: 13px;
}
@media all and (min-width: 751px) {
  #pageCapabilities .min_title {
    font-size: 15px;
  }
}
#pageCapabilities .min_title {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#pageCapabilities .min_title::before {
  content: "◆";
  position: absolute;
  font-size: 15px;
  top: 0px;
  left: 0;
}
#pageCapabilities .capability_name {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.5;
}
@media all and (min-width: 751px) {
  #pageCapabilities .capability_name {
    font-size: 22px;
  }
}
#pageCapabilities .capability_name_2 {
  font-size: 16px;
  font-weight: bold;
  margin: 20px 0;
  line-height: 1.5;
}
@media all and (min-width: 751px) {
  #pageCapabilities .capability_name_2 {
    font-size: 22px;
    margin: 0 0 20px 0;
  }
}
#pageCapabilities .capability_list li + li {
  margin-top: 50px;
}
@media all and (max-width: 750px) {
  #pageCapabilities .capability_list .texts {
    margin-top: 30px;
  }
  #pageCapabilities .capability_list .pc_cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media all and (min-width: 751px) {
  #pageCapabilities .capability_list li + li {
    margin-top: 60px;
  }
  #pageCapabilities .capability_list .pc_cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  #pageCapabilities .capability_list .texts {
    width: 50%;
  }
  #pageCapabilities .capability_list .texts_2 {
    width: 60%;
  }
  #pageCapabilities .capability_list .image {
    width: 46%;
  }
  #pageCapabilities .capability_list .image_2 {
    width: 36%;
  }
}
#pageCapabilities {
  /*===========
  .scroll-box
  ===========*/
}
@media all and (max-width: 750px) {
  #pageCapabilities .scroll-box {
    overflow-x: scroll;
    width: 100%;
  }
  #pageCapabilities .scroll-box img {
    max-width: 270%;
  }
}

@media all and (min-width: 1025px) {
  #pageSustainability .repeatBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 80px;
  }
}
@media all and (max-width: 750px) {
  #pageSustainability .repeatBox {
    margin-bottom: 30px;
    display: block;
  }
}
#pageSustainability .repeatBox:last-child {
  margin-bottom: 0;
}
@media all and (min-width: 1025px) {
  #pageSustainability .repeatBox .repeatBoxImg {
    margin: 0 3%;
    width: 41%;
  }
}
@media all and (max-width: 750px) {
  #pageSustainability .repeatBox .repeatBoxImg {
    width: 100%;
    margin-bottom: 20px;
  }
}
#pageSustainability .repeatBox .repeatBoxRead {
  overflow-wrap: anywhere;
}
@media all and (min-width: 1025px) {
  #pageSustainability .repeatBox .repeatBoxRead {
    width: 50%;
    padding: 0 3% 0 25px;
  }
}
#pageSustainability .repeatBox .repeatBoxRead h2 {
  color: #003a89;
  font-weight: bold;
  width: 100%;
}
@media all and (min-width: 1025px) {
  #pageSustainability .repeatBox .repeatBoxRead h2 {
    font-size: 26px;
    line-height: 26px;
    margin-bottom: 30px;
  }
}
@media all and (max-width: 750px) {
  #pageSustainability .repeatBox .repeatBoxRead h2 {
    font-size: 20px;
    margin-bottom: 15px;
  }
}
#pageSustainability .repeatBox .repeatBoxRead p {
  word-break: normal;
}
@media all and (min-width: 1025px) {
  #pageSustainability #download {
    padding-top: 120px;
  }
}
@media all and (max-width: 750px) {
  #pageSustainability #download {
    padding-top: 60px;
  }
}
@media all and (max-width: 750px) {
  #pageSustainability #download .btnWrap {
    margin-top: 15px;
  }
}
#pageSustainability #download a.btn_download {
  min-height: initial;
  max-width: initial;
  margin-bottom: 15px;
}
@media all and (min-width: 1025px) {
  #pageSustainability #download a.btn_download {
    width: 47%;
    margin: 0 10px;
  }
}
@media all and (max-width: 750px) {
  #pageSustainability #download a.btn_download {
    padding: 23px 30px;
  }
}
#pageSustainability #download a.btn_download span.text {
  margin-top: 0;
  padding: 10px 0;
  display: inline-block;
}
@media all and (max-width: 750px) {
  #pageSustainability #download a.btn_download span.text {
    padding: 0;
  }
}
/*# sourceMappingURL=style.css.map */