@charset "UTF-8";
/**↓↓利用中↓↓*******************************************************/
/*tableで使用*/
/*赤系であれば色味変更可*/
/*MOLカラーバージョン（colorMOLは$colorMainと同じ*/
/*MOLサブカラー*/
/**数字を変更する場合は「common.js」のbamListの横幅を取得箇所の数字も変更する**/
/*新フォーマット用コンテンツサイズ*/
/**色まだ未使用のため変更可**/
/**↓↓MOLリニューアル用追加分↓↓*******************************************************/
/**↓↓ここから下は変更不可↓↓*******************************************************/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 上配置*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*下から上へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*横複数行でかつ逆から配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*テキスト設定*/
/**keyframes*******************************************************/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Noto+Sans:wght@700&family=Zen+Kaku+Gothic+New:wght@400;500;700&display=swap");
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*line-heightでできてしまうの余白を先頭と最後の行だけ取り除く************/
/**幅レスポンシブ/新フォーマット用。幅1100に対しての％。px100の場合9.0%で約100px***************/
/*フォントサイズレスポンシブ/新フォーマット用。幅520-1100に対しての設定***************/
/**media query mixin設定*******************************************************/
/*
ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
*/
/**↓↓利用中↓↓*******************************************************/
/*tableで使用*/
/*赤系であれば色味変更可*/
/*MOLカラーバージョン（colorMOLは$colorMainと同じ*/
/*MOLサブカラー*/
/**数字を変更する場合は「common.js」のbamListの横幅を取得箇所の数字も変更する**/
/*新フォーマット用コンテンツサイズ*/
/**色まだ未使用のため変更可**/
/**↓↓MOLリニューアル用追加分↓↓*******************************************************/
/**↓↓ここから下は変更不可↓↓*******************************************************/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 上配置*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*下から上へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*横複数行でかつ逆から配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*テキスト設定*/
/**keyframes*******************************************************/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*line-heightでできてしまうの余白を先頭と最後の行だけ取り除く************/
/**幅レスポンシブ/新フォーマット用。幅1100に対しての％。px100の場合9.0%で約100px***************/
/*フォントサイズレスポンシブ/新フォーマット用。幅520-1100に対しての設定***************/
/**media query mixin設定*******************************************************/
/*
ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
*/
html, body, div, h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, hr, table, tr, th, td, tbody, tfoot, thead, img, iframe, span, object, pre, blockquote, abbr, a, address, cite, code, del, dfn, em, sup, strong, sub, ins, kbd, q, samp, small, var, b, i, fieldset, form, label, legend, caption, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, button, input {
  margin: 0;
  padding: 0;
  outline: 0;
  list-style: none;
  vertical-align: baseline;
  border: none;
  font: inherit;
  font-style: normal;
  font-weight: 400;
  font-size: 100%; }

article, aside, details, figcaption, figure, footer, header, nav, section, menu, hgroup {
  display: block; }

*, *::before, *::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  display: block;
  background: #FFF; }

body {
  overflow-x: hidden;
  width: 100%;
  min-width: 320px;
  -webkit-text-size-adjust: 100%;
  line-height: 1;
  font-family: 'Zen Kaku Gothic New', "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  word-wrap: break-word;
  overflow-wrap: break-word;
  color: #000;
  background: #FFF; }

body.fixed {
  position: fixed;
  left: 0; }

input[type="button"], input[type="text"], input[type="submit"] {
  font-family: 'Zen Kaku Gothic New', "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 400; }

strong {
  font-weight: 500; }

/* IE8-11 */
@media screen\0  {
  body,
  input[type="button"], input[type="text"], input[type="submit"],
  .sNav-select select {
    font-family: 'Segoe UI', Meiryo, "メイリオ", sans-serif; } }
img, video {
  max-width: 100%;
  vertical-align: middle;
  height: auto; }

video {
  cursor: pointer; }

sub {
  vertical-align: baseline;
  line-height: 0;
  font: inherit;
  font-size: 70%; }

sup {
  vertical-align: super;
  padding-top: 0.2em;
  line-height: 0;
  font: inherit;
  font-size: 70%; }

hr {
  background: none;
  border-top: none;
  border-bottom: 1px solid transparent;
  border-left: none;
  border-right: none; }

/*新フォーマットページ統一で_common.scssを削除した場合、BAMの/inc/bamRead.htmlと/inc/bamPopup.htmlでhr.lineDotを使っているからそこだけ注意（newBasicClassに用意したとはいえ確認が必要）*/
/*hr, hr.line, hr.lineDot {
	clear:both;
	margin:1.5em 0;
	height:1px;
	border-top:1px solid transparent;
	background:none !important;
	border-bottom:none !important;
	border-left:none !important;
	border-right:none !important;
}
hr.line {
	border-top:1px solid $colorThinmain;
}
hr.lineDot {
	border-top:1px dotted $colorMain;
}
hr.lineDot::after {
	position: static;
}*/
input[type="button"], input[type="text"], input[type="submit"] {
  -webkit-appearance: none;
  border-radius: 0; }

/*@include mq-max(tb) {
	hr {
		margin:1em 0;
	}
}*/
/*********************************************************
 ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
 コンテンツデフォルトの幅：1100
 その枠が1カラムの時に設定できます（カラム化していると左右のmargin分余白ができてしまう分狭くなる可能性あり）
*********************************************************/
@media screen and (min-width: 840px) {
  ._cInner {
    max-width: 1100px;
    width: calc(100% - 200px);
    margin: 0 auto; }

  ._secH2Pad {
    padding: 80px 0; }

  ._secH3Pad {
    padding: 60px 0; } }
@media all and (min-width: 1366px) {
  ._cInner {
    width: 1100px; }

  ._secH2Pad {
    padding: 110px 0; }

  ._secH3Pad {
    padding: 60px 0; } }
@media screen and (max-width: 840px) {
  ._cInner {
    width: calc(100% - 120px);
    margin: 0 auto; }

  ._secH2Pad {
    padding: 80px 0; }

  ._secH3Pad {
    padding: 60px 0; } }
@media screen and (max-width: 520px) {
  ._cInner {
    width: calc(100% - 60px);
    margin: 0 auto; }

  ._secH2Pad {
    padding: 40px 0; }

  ._secH3Pad {
    padding: 30px 0; } }
/*********************************************************
 ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
 コンテンツデフォルトの幅：1100

 その枠が2カラム以上で、かつ左右のmargin分余白が10p指定の場合、かつスマホ版では1カラムの場合
 例：↓こんな感じで左右に10pxの余白を設定した場合
     li {
        margin-left: 10px;
        margin-right: 10px;
     }
*********************************************************/
@media screen and (min-width: 840px) {
  ._cInner02 {
    max-width: calc(1100px + 20px);
    /*全体画面の左右余白を100pxとりたいので-180pxを指定*/
    width: calc(100% - 180px);
    margin: 0 auto; } }
@media all and (min-width: 1366px) {
  ._cInner02 {
    /*幅は1100にしたいが、横並びの余白を20pxとりたいので、+20pxを設定*/
    width: calc(1100px + 20px); } }
@media screen and (max-width: 840px) {
  ._cInner02 {
    width: calc(100% - 40px);
    margin: 0 auto; } }
/**↓↓利用中↓↓*******************************************************/
/*tableで使用*/
/*赤系であれば色味変更可*/
/*MOLカラーバージョン（colorMOLは$colorMainと同じ*/
/*MOLサブカラー*/
/**数字を変更する場合は「common.js」のbamListの横幅を取得箇所の数字も変更する**/
/*新フォーマット用コンテンツサイズ*/
/**色まだ未使用のため変更可**/
/**↓↓MOLリニューアル用追加分↓↓*******************************************************/
/**↓↓ここから下は変更不可↓↓*******************************************************/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 上配置*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*下から上へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*横複数行でかつ逆から配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*テキスト設定*/
/**keyframes*******************************************************/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*line-heightでできてしまうの余白を先頭と最後の行だけ取り除く************/
/**幅レスポンシブ/新フォーマット用。幅1100に対しての％。px100の場合9.0%で約100px***************/
/*フォントサイズレスポンシブ/新フォーマット用。幅520-1100に対しての設定***************/
/**media query mixin設定*******************************************************/
/*
ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
*/
/*********************************************************
 accordion（基本フォーマット）※accWrapのみのclassにstyleを追加しないでください。
*********************************************************/
.accWrap {
  clear: both; }
  .accWrap ._accTtl {
    cursor: pointer;
    /*PH版ポップアップメニューの表示無効設定*/
    -moz-user-select: none;
    -ms-user-select: none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -webkit-touch-callout: none;
    user-select: none;
    touch-callout: none; }
  .accWrap ._accClose {
    display: none; }

@media all and (min-width: 840px) {
  .accWrap ._accTtl {
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    opacity: 1.0; }
  .accWrap ._accTtl:hover {
    opacity: .6; } }
/*********************************************************
 プラスマイナスの開閉アコーディオン
*********************************************************/
.accWrap.puramai ._accTtl {
  padding: 15px 40px 15px 15px;
  background: #f2f2ef;
  margin: 1em 0 0.5em 0;
  position: relative; }
.accWrap.puramai ._accTtl::before, .accWrap.puramai ._accTtl::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  background-color: #0068b7; }
.accWrap.puramai ._accTtl::before {
  width: 13px;
  height: 3px;
  top: 0px;
  right: 16px; }
.accWrap.puramai ._accTtl::after {
  width: 3px;
  height: 13px;
  top: 0px;
  right: 21px;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out; }
.accWrap.puramai ._accTtl.acTtlOpen::before {
  background-color: transparent; }
.accWrap.puramai ._accTtl._accTtlOpen::after {
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg); }

/*********************************************************
 開閉をボタンのように表示
*********************************************************/
.accWrap.accBtn ._accTtl {
  width: 300px;
  padding: 20px 40px 20px 20px;
  margin: 1em auto 40px auto;
  text-align: center; }

/*********************************************************
 テキスト文章途中で開閉
*********************************************************/
.accWrap.accTxt ._accTtl {
  display: inline-block;
  color: #0068b7;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  padding-right: 25px;
  position: relative; }
.accWrap.accTxt ._accTtl:hover, .accWrap.accTxt ._accTtl._accTtlOpen {
  text-decoration: none; }
.accWrap.accTxt ._accTtl::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  /*position: absolute;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;*/
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-top: 1px solid #0068b7;
  border-right: 1px solid #0068b7;
  content: "";
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  border-top: 2px solid #0068b7;
  border-right: 2px solid #0068b7; }
.accWrap.accTxt ._accTtl._accTtlOpen::after {
  top: 0;
  bottom: -5px;
  /*position: absolute;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;*/
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-top: 1px solid #0068b7;
  border-right: 1px solid #0068b7;
  content: "";
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-top: 2px solid #0068b7;
  border-right: 2px solid #0068b7; }
.accWrap.accTxt ._accClose .disc, .accWrap.accTxt ._accClose .num, .accWrap.accTxt ._accClose .alpha, .accWrap.accTxt ._accClose .txt {
  padding-left: 1px; }

/**↓↓利用中↓↓*******************************************************/
/*tableで使用*/
/*赤系であれば色味変更可*/
/*MOLカラーバージョン（colorMOLは$colorMainと同じ*/
/*MOLサブカラー*/
/**数字を変更する場合は「common.js」のbamListの横幅を取得箇所の数字も変更する**/
/*新フォーマット用コンテンツサイズ*/
/**色まだ未使用のため変更可**/
/**↓↓MOLリニューアル用追加分↓↓*******************************************************/
/**↓↓ここから下は変更不可↓↓*******************************************************/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 上配置*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*下から上へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*横複数行でかつ逆から配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*テキスト設定*/
/**keyframes*******************************************************/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*line-heightでできてしまうの余白を先頭と最後の行だけ取り除く************/
/**幅レスポンシブ/新フォーマット用。幅1100に対しての％。px100の場合9.0%で約100px***************/
/*フォントサイズレスポンシブ/新フォーマット用。幅520-1100に対しての設定***************/
/**media query mixin設定*******************************************************/
/*
ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
*/
/*=========================================================================
 アイコン・リスト
=========================================================================*/
/*-------------------------
アイコン設定
---------------------------*/
.pdf {
  background: url(../img/ico/ico-pdf_Red.svg) right center no-repeat;
  padding: 2px 27px 3px 0;
  margin-right: 3px;
  background-size: 20px auto; }
  @media screen and (max-width: 840px) {
    .pdf {
      background-size: 17px auto; } }

span.pdf {
  white-space: nowrap;
  font-size: 14px;
  background: url(../img/ico/ico-pdf_Red.svg) left center no-repeat;
  padding-left: 22px;
  padding: 2px 0 3px 27px;
  margin-left: 5px;
  background-size: 20px auto; }
  @media screen and (max-width: 840px) {
    span.pdf {
      font-size: 12px;
      background-size: 17px auto; } }

.window {
  background: url(../img/ico/ico-window.svg) right center no-repeat;
  padding: 0 22px 0 0;
  margin-right: 3px;
  background-size: 17px auto; }

.arrow, .arrowList a {
  background: url(../img/ico/ico-arrow.svg) right center no-repeat;
  padding: 0 25px 0 0;
  margin-right: 3px;
  background-size: 18px auto; }

/*↓テキストカラーは_newUnderContents.scssで指定*/
.arrowListBlock a {
  display: block;
  background: url(../img/ico/ico-arrow.svg) right center no-repeat;
  background-size: 18px auto;
  padding: 9px 30px 9px 0;
  text-decoration: none !important;
  margin-right: 0; }
  @media screen and (min-width: 840px) {
    .arrowListBlock a {
      background-position: right 10px center;
      -webkit-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; } }

.arrowListBlock a.window {
  background: url(../img/ico/ico-window.svg) right center no-repeat;
  background-size: 17px auto; }
  @media screen and (min-width: 840px) {
    .arrowListBlock a.window {
      background-position: right 10px center; } }

@media screen and (min-width: 840px) {
  .arrowListBlock a:hover, .arrowListBlock a.window:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration: underline !important;
    background-position: right center; } }

.contactTel {
  background: url("../img/ico/ico-contactTel.svg") no-repeat;
  background-position: left top 5px;
  background-size: 14px auto;
  padding-left: 25px; }

.contactMail {
  background: url("../img/ico/ico-contactMail.svg") no-repeat;
  background-position: left top 9px;
  background-size: 18px auto;
  padding-left: 25px; }

.contactAcc {
  background: url("../img/ico/ico-contactAccess.svg") no-repeat;
  background-position: left top 5px;
  background-size: 14px auto;
  padding-left: 25px; }

/*-------------------------
liのスタイル
---------------------------*/
.li1m > li {
  margin-bottom: 30px; }

.li1m-h > li {
  margin-bottom: 15px; }

.li1m > li:last-child, .li1m-h > li:last-child {
  margin-bottom: 0 !important; }

ul.disc,
ul.circle {
  margin-left: 1.25em; }

ul.num,
ul.alpha {
  margin-left: 1em; }

/*circle*/
ul.disc li ul.circle li,
ul.txt li ul.circle li,
ul.alpha li ul.circle li,
ul.circle li {
  list-style: circle;
  padding-left: 0;
  text-indent: 0; }

/*alpha*/
ul.num li ul.alpha li,
ul.disc li ul.alpha li,
ul.txt li ul.alpha li,
ul.alpha li {
  list-style: lower-alpha;
  padding-left: 0.25em;
  text-indent: 0; }

/*txt*/
ul.num li ul.txt > li,
ul.disc li ul.txt > li,
ul.disc li ul.txt > li:before,
ul.alpha li ul.txt > li,
ul.txt > li {
  list-style: none;
  text-indent: -1.3em;
  padding-left: 1.6em; }

/*num*/
ul.disc li ul.num li,
ul.txt li ul.num li,
ul.alpha li ul.num li,
ul.num li {
  list-style: decimal;
  padding-left: 0.25em;
  text-indent: 0; }

/*disc*/
ul.num li ul.disc li,
ul.txt li ul.disc li,
ul.alpha li ul.disc li,
ul.disc li {
  list-style: disc;
  padding-left: 0;
  text-indent: 0; }

ul.none li {
  list-style: none; }

/*下矢印*/
ul.btmArrowList li, .btmArrow {
  display: inline-block;
  position: relative;
  padding-left: 20px; }
  ul.btmArrowList li a, .btmArrow a {
    color: #000;
    text-decoration: none !important; }

ul.btmArrowList li::before, .btmArrow::before {
  display: block;
  position: absolute;
  left: 0;
  top: 6px;
  content: '';
  /*position: absolute;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;*/
  display: block;
  width: 8px;
  height: 8px;
  margin: auto;
  border-top: 1px solid #0068b7;
  border-right: 1px solid #0068b7;
  content: "";
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg); }

.btmArrow::before {
  left: 5px;
  top: 8px; }
  @media screen and (max-width: 840px) {
    .btmArrow::before {
      top: 6px; } }

/*-------------------------
liタグのカラム設定
---------------------------*/
@media screen and (min-width: 840px) {
  ._col2list, ._col3list {
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }

  ._col2list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    ._col2list li {
      width: calc(50% - 16px); }

  ._col3list {
    width: calc(100% + 16px);
    margin-left: -8px; }
    ._col3list li {
      width: calc(100% / 3 - 16px);
      margin-left: 8px;
      margin-right: 8px; }

  /*discとnumのみ調整*/
  .disc._col2list li, .num._col2list li {
    width: calc(50% - 25px - 1.25em); }

  .disc._col3list, .num._col3list {
    width: calc(100% + 80px);
    margin-left: calc(-40px + 1.25em) !important; }
    .disc._col3list li, .num._col3list li {
      margin-left: 40px;
      margin-right: 0;
      width: calc(100% / 3 - 40px - 1.25em); } }
._collist {
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  ._collist li {
    white-space: nowrap;
    margin-right: 10px;
    margin-left: 10px; }

/*-------------------------
anc（ページ内リンク）
---------------------------*/
.anc {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.4; }
  .anc::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  .anc::after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  .anc li {
    background: #0068b7; }
    .anc li a, .anc li span {
      font: inherit;
      color: #FFF;
      text-decoration: none; }
    .anc li a {
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      text-align: center;
      width: 100%;
      height: 100%;
      padding: 0 40px;
      position: relative; }
    .anc li a::after {
      position: absolute;
      top: auto;
      right: 30px;
      bottom: auto;
      /*position: absolute;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;*/
      display: block;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: 1px solid #0068b7;
      border-right: 1px solid #0068b7;
      content: "";
      -ms-transform: rotate(135deg);
      -webkit-transform: rotate(135deg);
      transform: rotate(135deg);
      border-top: 1px solid #FFF;
      border-right: 1px solid #FFF; }

@media screen and (min-width: 840px) {
  .anc {
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 16px);
    margin-left: -8px;
    margin-bottom: 90px !important; }
    .anc li {
      height: 80px;
      margin: 0 8px 16px 8px;
      position: relative;
      z-index: 0; }
    .anc li::after {
      position: absolute;
      bottom: 0;
      left: 0;
      z-index: -1;
      width: 0;
      height: 100%;
      content: "";
      background-image: -webkit-linear-gradient(left, #0068b7, #00a0dc);
      background-image: -o-linear-gradient(left, #0068b7, #00a0dc);
      background-image: linear-gradient(to right, #0068b7, #00a0dc);
      -webkit-transition: 0.2s ease-in-out;
      transition: 0.2s ease-in-out;
      opacity: 0; }
    .anc li:hover::after {
      width: 100%;
      opacity: 1; }

  .anc._col2list li {
    width: calc(50% - 16px); }

  .anc._col3list li {
    width: calc(100% / 3 - 16px); }

  .anc._col4list li {
    width: calc(25% - 16px); } }
@media screen and (max-width: 840px) {
  .anc {
    margin-bottom: 60px !important; }
    .anc li {
      height: 60px;
      margin-bottom: 20px; } }
/*=========================================================================
 画像配置
=========================================================================*/
/*-------------------------
キャプション
---------------------------*/
figcaption, .cap {
  display: block !important;
  margin-top: 10px;
  font-size: 12px;
  /**PC：XD:63（16.8÷フォントサイズ12px）**/
  line-height: 1.4;
  text-align: right; }
  figcaption::before, .cap::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  figcaption::after, .cap::after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }

.capPhoto {
  display: table !important; }

/*-------------------------
右（左）寄せ
---------------------------*/
.rPhoto, .rPhoto-m, .rPhoto-s, .rPhoto-ss, .rPhoto._keep, .rPhoto-m._keep {
  float: right;
  margin: 5px 0 25px 46px;
  display: table;
  text-align: center; }
  @media screen and (max-width: 840px) {
    .rPhoto, .rPhoto-m, .rPhoto-s, .rPhoto-ss, .rPhoto._keep, .rPhoto-m._keep {
      margin: 5px 0 30px 30px; } }

.lPhoto, .lPhoto-m, .lPhoto-s, .lPhoto-ss, .lPhoto._keep, .lPhoto-m._keep {
  float: left;
  margin: 5px 46px 25px 0;
  display: table;
  text-align: center; }
  @media screen and (max-width: 840px) {
    .lPhoto, .lPhoto-m, .lPhoto-s, .lPhoto-ss, .lPhoto._keep, .lPhoto-m._keep {
      margin: 5px 30px 30px 0; } }

.rPhoto, .lPhoto {
  /*width : calc(50% - 25px);*/
  width: calc(50% - 8px); }
  @media screen and (max-width: 520px) {
    .rPhoto, .lPhoto {
      float: none;
      width: auto;
      margin: 0 auto 30px auto; } }

.rPhoto-m, .lPhoto-m {
  width: calc(100% / 3 - 10px); }
  @media screen and (max-width: 840px) {
    .rPhoto-m, .lPhoto-m {
      /*width : calc(50% - 25px);*/
      width: calc(50% - 8px); } }
  @media screen and (max-width: 520px) {
    .rPhoto-m, .lPhoto-m {
      float: none;
      width: auto;
      margin: 0 auto 30px auto; } }

.rPhoto-s, .lPhoto-s {
  width: calc(24% - 1px); }
  @media screen and (max-width: 520px) {
    .rPhoto-s, .lPhoto-s {
      width: calc(50% - 5px);
      max-width: 160px; } }

.rPhoto-ss, .lPhoto-ss {
  width: calc(20% - 1px);
  min-width: 150px; }
  @media screen and (max-width: 520px) {
    .rPhoto-ss, .lPhoto-ss {
      width: calc(33% - 5px);
      max-width: 160px; } }

/*2カラム維持*/
.rPhoto._keep, .lPhoto._keep {
  /*width : calc(50% - 25px);*/
  width: calc(50% - 8px); }
  @media screen and (max-width: 520px) {
    .rPhoto._keep, .lPhoto._keep {
      width: calc(50% - 5px); } }

.rPhoto-m._keep, .lPhoto-m._keep {
  width: calc(100% / 3 - 10px); }
  @media screen and (max-width: 840px) {
    .rPhoto-m._keep, .lPhoto-m._keep {
      width: calc(50% - 5px); } }
  @media screen and (max-width: 520px) {
    .rPhoto-m._keep, .lPhoto-m._keep {
      width: calc(50% - 5px); } }

@media screen and (max-width: 840px) {
  .rPhoto._keep, .rPhoto-m._keep, .rPhoto-s {
    margin: 5px 0 30px 30px; } }
@media screen and (max-width: 520px) {
  .rPhoto._keep, .rPhoto-m._keep, .rPhoto-s {
    margin: 5px 0 20px 20px; } }

@media screen and (max-width: 840px) {
  .lPhoto._keep, .lPhoto-m._keep, .lPhoto-s {
    margin: 5px 30px 30px 0; } }
@media screen and (max-width: 520px) {
  .lPhoto._keep, .lPhoto-m._keep, .lPhoto-s {
    margin: 5px 20px 20px 0; } }

/*直後にh4があるr(l)Photoの指定*/
.rPhoto:has(+ h4), .lPhoto:has(+ h4), .rPhoto-m:has(+ h4), .lPhoto-m:has(+ h4), .rPhoto-s:has(+ h4), .lPhoto-s:has(+ h4) {
  margin-top: 0; }

/*-------------------------
まだ未使用（調整可）
---------------------------*/
figure .window {
  background: url(../img/ico/ico-window.svg) right center no-repeat;
  padding: 0 18px 0 0;
  background-size: 14px auto; }

figcaption a.pdf, .cap a.pdf, a figcaption .pdf, .cap .pdf {
  background-size: 12px auto;
  background-position: right center;
  padding: 0 12px 0 0; }

a figcaption .pdf, .cap .pdf {
  background-position: right top 5px; }

.photo, .photo950, .photo800, .photo600, .photoAuto, .photoNormal {
  display: table;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 50px;
  width: 100%; }
  @media screen and (max-width: 520px) {
    .photo, .photo950, .photo800, .photo600, .photoAuto, .photoNormal {
      margin-bottom: 30px; } }

.photo._left, .photo950._left, .photo800._left, .photo600._left, .photoAuto._left, .photoNormal._left {
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 50px; }
  @media screen and (max-width: 520px) {
    .photo._left, .photo950._left, .photo800._left, .photo600._left, .photoAuto._left, .photoNormal._left {
      margin-bottom: 30px; } }

li .photo, li .photo950, li .photo800, li .photo600, li .photoAuto, li .photoNormal,
li .photo._left, li .photo950._left, li .photo800._left, li .photo600._left, li .photoAuto._left, li .photoNormal_left {
  margin-bottom: 20px; }

.photo {
  max-width: 1100px; }

.photo950 {
  max-width: 950px; }

.photo800 {
  max-width: 800px; }

.photo600 {
  max-width: 600px; }

.photoAuto {
  width: auto; }

.photoNormal, .photoNormal_left {
  margin-bottom: 30px; }

/*直後にtxtSmallがある場合のphotoの指定*/
.photo:has(+ .txtSmall), .photo950:has(+ .txtSmall), .photo800:has(+ .txtSmall), .photo600:has(+ .txtSmall), .photoAuto:has(+ .txtSmall), .photoNormal:has(+ .txtSmall)
.photo.left:has(+ .txtSmall), .photo950.left:has(+ .txtSmall), .photo800.left:has(+ .txtSmall), .photo600.left:has(+ .txtSmall), .photoAuto.left:has(+ .txtSmall), .photoNormal.left:has(+ .txtSmall) {
  margin-bottom: 20px; }

/*--カラム--*/
.col {
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  @media screen and (min-width: 840px) {
    .col {
      margin-bottom: 50px; } }
  @media screen and (max-width: 840px) {
    .col {
      margin-bottom: 30px; } }

.col:nth-last-child(1) {
  margin-bottom: 0; }

.colAuto {
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: calc(100% + 10px);
  margin-left: -10px; }
  .colAuto figure, .colAuto li {
    margin: 0 10px 20px 10px; }

.col._col2 figure img, .col._col2 li img,
.col._col3 figure img, .col._col3 li img,
.col._col4 figure img, .col._col4 li img,
.col._col5 figure img, .col._col5 li img,
.colAuto figure img, .colAuto li img {
  display: block;
  margin: 0 auto; }

@media screen and (min-width: 840px) {
  .col._col2 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .col._col2 figure, .col._col2 li {
      /*width : calc(50% - 25px);*/
      width: calc(50% - 8px);
      margin-bottom: 40px; }
    .col._col2 figure:nth-last-child(1), .col._col2 li:nth-last-child(1),
    .col._col2 figure:nth-last-child(2):nth-child(2n+1), .col._col2 li:nth-last-child(2):nth-child(2n+1) {
      margin-bottom: 0; }

  .col._col3 {
    width: calc(100% + 16px);
    margin-left: -8px; }
    .col._col3 figure, .col._col3 li {
      width: calc(100% / 3 - 16px);
      margin: 0 8px 16px 8px; }
    .col._col3 figure:nth-last-child(1), .col._col3 li:nth-last-child(1),
    .col._col3 figure:nth-last-child(2):nth-child(3n+1), .col._col3 li:nth-last-child(2):nth-child(3n+1),
    .col._col3 figure:nth-last-child(2):nth-child(3n+2), .col._col3 li:nth-last-child(2):nth-child(3n+2),
    .col._col3 figure:nth-last-child(3):nth-child(3n+1), .col._col3 li:nth-last-child(3):nth-child(3n+1) {
      margin-bottom: 0; }

  .col._col4 {
    width: calc(100% + 16px);
    margin-left: -8px; }
    .col._col4 figure, .col._col4 li {
      width: calc(25% - 16px);
      margin: 0 8px 16px 8px; }
    .col._col4 figure:nth-last-child(1), .col._col4 li:nth-last-child(1),
    .col._col4 figure:nth-last-child(2):nth-child(4n+1), .col._col4 li:nth-last-child(2):nth-child(4n+1),
    .col._col4 figure:nth-last-child(2):nth-child(4n+2), .col._col4 li:nth-last-child(2):nth-child(4n+2),
    .col._col4 figure:nth-last-child(2):nth-child(4n+3), .col._col4 li:nth-last-child(2):nth-child(4n+3),
    .col._col4 figure:nth-last-child(3):nth-child(4n+1), .col._col4 li:nth-last-child(3):nth-child(4n+1),
    .col._col4 figure:nth-last-child(3):nth-child(4n+2), .col._col4 li:nth-last-child(3):nth-child(4n+2),
    .col._col4 figure:nth-last-child(4):nth-child(4n+1), .col._col4 li:nth-last-child(4):nth-child(4n+1) {
      margin-bottom: 0; }
    .col._col4 figcaption, .col._col4 .cap {
      margin-top: 5px; }

  .col._col5 {
    width: calc(100% + 16px);
    margin-left: -8px; }
    .col._col5 figure, .col._col5 li {
      width: calc(20% - 16px);
      margin: 0 8px 16px 8px; }
    .col._col5 figure:nth-last-child(1), .col._col5 li:nth-last-child(1),
    .col._col5 figure:nth-last-child(2):nth-child(5n+1), .col._col5 li:nth-last-child(2):nth-child(5n+1),
    .col._col5 figure:nth-last-child(2):nth-child(5n+2), .col._col5 li:nth-last-child(2):nth-child(5n+2),
    .col._col5 figure:nth-last-child(2):nth-child(5n+3), .col._col5 li:nth-last-child(2):nth-child(5n+3),
    .col._col5 figure:nth-last-child(2):nth-child(5n+4), .col._col5 li:nth-last-child(2):nth-child(5n+4),
    .col._col5 figure:nth-last-child(3):nth-child(5n+1), .col._col5 li:nth-last-child(3):nth-child(5n+1),
    .col._col5 figure:nth-last-child(3):nth-child(5n+2), .col._col5 li:nth-last-child(3):nth-child(5n+2),
    .col._col5 figure:nth-last-child(3):nth-child(5n+3), .col._col5 li:nth-last-child(3):nth-child(5n+3),
    .col._col5 figure:nth-last-child(4):nth-child(5n+1), .col._col5 li:nth-last-child(4):nth-child(5n+1),
    .col._col5 figure:nth-last-child(4):nth-child(5n+2), .col._col5 li:nth-last-child(4):nth-child(5n+2),
    .col._col5 figure:nth-last-child(5):nth-child(5n+1), .col._col5 li:nth-last-child(5):nth-child(5n+1) {
      margin-bottom: 0; }
    .col._col5 figcaption, .col._col5 .cap {
      margin-top: 5px; }

  /*直後に.capがある.col._col2、.col._col3、.col._col4の指定*/
  .col._col2._keep:has(+ .cap), .col._col3._keep:has(+ .cap), .col._col4._keep:has(+ .cap) {
    margin-bottom: 0; }
    .col._col2._keep:has(+ .cap) figure, .col._col2._keep:has(+ .cap) li, .col._col3._keep:has(+ .cap) figure, .col._col3._keep:has(+ .cap) li, .col._col4._keep:has(+ .cap) figure, .col._col4._keep:has(+ .cap) li {
      margin-bottom: 16px; }

  .col._col2._keep:has(+ .cap) figure:nth-last-child(1), .col._col2._keep:has(+ .cap) li:nth-last-child(1),
  .col._col2._keep:has(+ .cap) figure:nth-last-child(2):nth-child(2n+1), .col._col2._keep:has(+ .cap) li:nth-last-child(2):nth-child(2n+1) {
    margin-bottom: 0; }

  .col._col3._keep:has(+ .cap) figure:nth-last-child(1), .col._col3._keep:has(+ .cap) li:nth-last-child(1),
  .col._col3._keep:has(+ .cap) figure:nth-last-child(2):nth-child(3n+1), .col._col3._keep:has(+ .cap) li:nth-last-child(2):nth-child(3n+1),
  .col._col3._keep:has(+ .cap) figure:nth-last-child(2):nth-child(3n+2), .col._col3._keep:has(+ .cap) li:nth-last-child(2):nth-child(3n+2),
  .col._col3._keep:has(+ .cap) figure:nth-last-child(3):nth-child(3n+1), .col._col3._keep:has(+ .cap) li:nth-last-child(3):nth-child(3n+1) {
    margin-bottom: 0; }

  .col._col4._keep:has(+ .cap) figure:nth-last-child(1), .col._col4._keep:has(+ .cap) li:nth-last-child(1),
  .col._col4._keep:has(+ .cap) figure:nth-last-child(2):nth-child(4n+1), .col._col4._keep:has(+ .cap) li:nth-last-child(2):nth-child(4n+1),
  .col._col4._keep:has(+ .cap) figure:nth-last-child(2):nth-child(4n+2), .col._col4._keep:has(+ .cap) li:nth-last-child(2):nth-child(4n+2),
  .col._col4._keep:has(+ .cap) figure:nth-last-child(2):nth-child(4n+3), .col._col4._keep:has(+ .cap) li:nth-last-child(2):nth-child(4n+3),
  .col._col4._keep:has(+ .cap) figure:nth-last-child(3):nth-child(4n+1), .col._col4._keep:has(+ .cap) li:nth-last-child(3):nth-child(4n+1),
  .col._col4._keep:has(+ .cap) figure:nth-last-child(3):nth-child(4n+2), .col._col4._keep:has(+ .cap) li:nth-last-child(3):nth-child(4n+2),
  .col._col4._keep:has(+ .cap) figure:nth-last-child(4):nth-child(4n+1), .col._col4._keep:has(+ .cap) li:nth-last-child(4):nth-child(4n+1) {
    margin-bottom: 0; } }
@media screen and (max-width: 840px) {
  .col._col2, .col._col3, .col._col4, .col._col2._keep {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    margin-left: 0; }
    .col._col2 figure, .col._col2 li, .col._col3 figure, .col._col3 li, .col._col4 figure, .col._col4 li, .col._col2._keep figure, .col._col2._keep li {
      width: calc(50% - 10px);
      margin: 0 0 20px 0; }
    .col._col2 figure:nth-last-child(1), .col._col2 li:nth-last-child(1),
    .col._col2 figure:nth-last-child(2):nth-child(2n+1), .col._col2 li:nth-last-child(2):nth-child(2n+1), .col._col3 figure:nth-last-child(1), .col._col3 li:nth-last-child(1),
    .col._col3 figure:nth-last-child(2):nth-child(2n+1), .col._col3 li:nth-last-child(2):nth-child(2n+1), .col._col4 figure:nth-last-child(1), .col._col4 li:nth-last-child(1),
    .col._col4 figure:nth-last-child(2):nth-child(2n+1), .col._col4 li:nth-last-child(2):nth-child(2n+1), .col._col2._keep figure:nth-last-child(1), .col._col2._keep li:nth-last-child(1),
    .col._col2._keep figure:nth-last-child(2):nth-child(2n+1), .col._col2._keep li:nth-last-child(2):nth-child(2n+1) {
      margin-bottom: 0; }

  .col._col5 {
    width: calc(100% + 10px);
    margin-left: -5px; }
    .col._col5 figure, .col._col5 li {
      width: calc(100% / 3 - 10px);
      margin: 0 5px 10px 5px; }
    .col._col5 figure:nth-last-child(1), .col._col5 li:nth-last-child(1),
    .col._col5 figure:nth-last-child(2):nth-child(3n+1), .col._col5 li:nth-last-child(2):nth-child(3n+1),
    .col._col5 figure:nth-last-child(2):nth-child(3n+2), .col._col5 li:nth-last-child(2):nth-child(3n+2),
    .col._col5 figure:nth-last-child(3):nth-child(3n+1), .col._col5 li:nth-last-child(3):nth-child(3n+1) {
      margin-bottom: 0; }

  /*直後に.capがある.col._col2、.col._col3、.col._col4の指定*/
  .col._col2._keep:has(+ .cap), .col._col3._keep:has(+ .cap), .col._col4._keep:has(+ .cap) {
    margin-bottom: 0; }
    .col._col2._keep:has(+ .cap) figure, .col._col2._keep:has(+ .cap) li, .col._col3._keep:has(+ .cap) figure, .col._col3._keep:has(+ .cap) li, .col._col4._keep:has(+ .cap) figure, .col._col4._keep:has(+ .cap) li {
      margin-bottom: 20px; }
    .col._col2._keep:has(+ .cap) figure:nth-last-child(1), .col._col2._keep:has(+ .cap) li:nth-last-child(1),
    .col._col2._keep:has(+ .cap) figure:nth-last-child(2):nth-child(2n+1), .col._col2._keep:has(+ .cap) li:nth-last-child(2):nth-child(2n+1), .col._col3._keep:has(+ .cap) figure:nth-last-child(1), .col._col3._keep:has(+ .cap) li:nth-last-child(1),
    .col._col3._keep:has(+ .cap) figure:nth-last-child(2):nth-child(2n+1), .col._col3._keep:has(+ .cap) li:nth-last-child(2):nth-child(2n+1), .col._col4._keep:has(+ .cap) figure:nth-last-child(1), .col._col4._keep:has(+ .cap) li:nth-last-child(1),
    .col._col4._keep:has(+ .cap) figure:nth-last-child(2):nth-child(2n+1), .col._col4._keep:has(+ .cap) li:nth-last-child(2):nth-child(2n+1) {
      margin-bottom: 0; } }
@media screen and (max-width: 520px) {
  .col._col2 figure, .col._col2 li, .col._col3 figure, .col._col3 li {
    width: 100%;
    margin-bottom: 20px; }
  .col._col2 figure:nth-last-child(2):nth-child(2n+1), .col._col2 li:nth-last-child(2):nth-child(2n+1), .col._col3 figure:nth-last-child(2):nth-child(2n+1), .col._col3 li:nth-last-child(2):nth-child(2n+1) {
    margin-bottom: 20px; }
  .col._col2 figure:nth-last-child(1), .col._col2 li:nth-last-child(1), .col._col3 figure:nth-last-child(1), .col._col3 li:nth-last-child(1) {
    margin-bottom: 0; }

  .col._col2._keep figure, .col._col2._keep li, .col._col3._keep figure, .col._col3._keep li, .col._col4 figure, .col._col4 li {
    width: calc(50% - 5px);
    margin: 0 0 20px 0; }

  .col._col5 {
    width: calc(100% + 10px);
    margin-left: -5px; }
    .col._col5 figure, .col._col5 li {
      width: calc(100% / 3 - 10px);
      margin: 0 5px 10px 5px; }

  .fnone figure, .fnone li {
    width: 100% !important;
    margin-bottom: 20px !important; }
  .fnone figure:nth-last-child(1), .fnone li:nth-last-child(1) {
    margin-bottom: 0 !important; }

  .col figure.fnone, .col li.fnone {
    width: 100%;
    margin-bottom: 20px !important; }

  .col figure.fnone:nth-last-child(1), .col li.fnone:nth-last-child(1) {
    margin-bottom: 0 !important; }

  /*直後に.capがある.col._col2、.col._col3、.col._col4の指定*/
  .col._col2._keep:has(+ .cap), .col._col3._keep:has(+ .cap), .col._col4._keep:has(+ .cap) {
    margin-bottom: 0; }
    .col._col2._keep:has(+ .cap) figure, .col._col2._keep:has(+ .cap) li, .col._col3._keep:has(+ .cap) figure, .col._col3._keep:has(+ .cap) li, .col._col4._keep:has(+ .cap) figure, .col._col4._keep:has(+ .cap) li {
      margin-bottom: 10px; } }
/*-------------------------
拡大マークの追加
---------------------------*/
.imgZoom {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: block; }

a.imgZoom img {
  opacity: 1.0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }

.imgZoom::before {
  position: absolute;
  background: url(../img/ico/ico-zoom.svg) no-repeat;
  bottom: 3px;
  right: 3px;
  content: '';
  width: 17px;
  height: 17px;
  z-index: 2; }
  @media screen and (max-width: 520px) {
    .imgZoom::before {
      background-size: 12px auto;
      bottom: 1px;
      right: 1px;
      width: 13px;
      height: 13px; } }

a:hover .imgZoom::before,
a.imgZoom:hover::before,
a.imgZoom:hover img {
  opacity: 0.6; }
  @media screen and (max-width: 840px) {
    a:hover .imgZoom::before,
    a.imgZoom:hover::before,
    a.imgZoom:hover img {
      opacity: 1.0; } }

.zoomTxt {
  color: #005396;
  font-weight: 500;
  text-align: center; }
  .zoomTxt span {
    display: inline-block;
    background: url("../img/ico/ico-zoomBlue.svg") left center no-repeat;
    padding-left: 30px; }

/*=========================================================================
 box
=========================================================================*/
.box {
  padding: 15px 20px;
  margin-bottom: 30px !important; }

.box02 {
  padding: 30px 40px;
  margin-bottom: 30px !important; }
  @media screen and (max-width: 840px) {
    .box02 {
      padding: 20px; } }

.box03 {
  padding: 20px;
  margin-bottom: 30px !important; }
  @media screen and (max-width: 840px) {
    .box03 {
      padding: 15px; } }

.box50 {
  padding: 50px;
  margin-bottom: 30px !important; }
  @media screen and (max-width: 840px) {
    .box50 {
      padding: 30px; } }
  @media screen and (max-width: 520px) {
    .box50 {
      padding: 20px; } }

/*.box:last-child、.box02:last-child、.box03:last-child、.box50:last-childは設定しないよう注意（カラム化した場合、BOXの高さが揃わなくなる）*/
.boxmar0b .box, .boxmar0b .box02, .boxmar0b .box50,
.box > p:last-child, .box > ul:last-child, .box > dl:last-child, .box > dl dd:last-child, .box > table:last-child, .box > figure:last-child,
.box02 > p:last-child, .box02 > ul:last-child, .box02 > dl:last-child, .box02 > dl dd:last-child, .box02 > table:last-child, .box02 > figure:last-child,
.box03 > p:last-child, .box03 > ul:last-child, .box03 > dl:last-child, .box03 > dl dd:last-child, .box03 > table:last-child, .box03 > figure:last-child,
.box50 > p:last-child, .box50 > ul:last-child, .box50 > dl:last-child, .box50 > dl dd:last-child, .box50 > table:last-child, .box50 > figure:last-child {
  margin-bottom: 0 !important; }

@media screen and (max-width: 840px) {
  .boxmar0b .box, .boxmar0b .box02, .boxmar0b .box50 {
    margin-bottom: 30px !important; } }

.boxmar0b .box:last-child, .boxmar0b .box02:last-child, .boxmar0b .box50:last-child {
  margin-bottom: 0; }

/*=========================================================================
 .boxCol2, .boxCol3, .boxCol4
=========================================================================*/
.boxCol2 {
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 50px !important; }
  .boxCol2 > li, .boxCol2 ._col2Inner {
    margin-bottom: 40px;
    width: calc(50% - 16px); }
  .boxCol2 > li:nth-last-child(1), .boxCol2 ._col2Inner:nth-last-child(1),
  .boxCol2 > li:nth-last-child(2):nth-child(2n+1), .boxCol2 ._col2Inner:nth-last-child(2):nth-child(2n+1) {
    margin-bottom: 0; }
  .boxCol2 > figure._col2Inner {
    margin-top: 5px; }
    @media screen and (max-width: 840px) {
      .boxCol2 > figure._col2Inner {
        margin-bottom: 30px; } }

.boxCol2._marSpace50 > li, .boxCol2._marSpace50 ._col2Inner {
  width: calc(50% - 25px); }

.boxCol3 {
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
  margin-left: 0;
  margin-bottom: 50px !important; }
  .boxCol3 > li, .boxCol3 ._col3Inner {
    margin-bottom: 50px;
    /*3カラム内のlinkBtnの幅は100%*/ }
    .boxCol3 > li .linkBtn, .boxCol3 ._col3Inner .linkBtn {
      width: 100%; }

.boxCol4 {
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: calc(100% + 16px);
  margin-bottom: 50px !important; }
  .boxCol4 > li, .boxCol4 ._col4Inner {
    margin-bottom: 40px; }

.boxCol2._mar16b > li, .boxCol2._mar16b ._col2Inner, .boxCol2._mar16b ._col3Inner, .boxCol2._mar16b ._col4Inner, .boxCol3._mar16b > li, .boxCol3._mar16b ._col2Inner, .boxCol3._mar16b ._col3Inner, .boxCol3._mar16b ._col4Inner, .boxCol4._mar16b > li, .boxCol4._mar16b ._col2Inner, .boxCol4._mar16b ._col3Inner, .boxCol4._mar16b ._col4Inner {
  margin-bottom: 16px !important; }

a._col2Inner, a._col3Inner {
  display: block;
  text-decoration: none; }

.boxCol2:nth-last-child(1),
.boxCol3:nth-last-child(1),
.boxCol4:nth-last-child(1) {
  margin-bottom: 0 !important; }

@media screen and (min-width: 840px) {
  .boxCol2 {
    /*直前にlPhoto-sがある_col2Innerの指定*/
    /*直後に._col2InnerがあるlPhoto-sの指定*/
    /*2カラム後にlPhoto-sを左に配置した場合*/ }
    .boxCol2 .lPhoto-s + ._col2Inner {
      width: calc(100% - 24% - 46px); }
    .boxCol2 .lPhoto-s:has(+ ._col2Inner) img {
      width: 100%; }
    .boxCol2 .boxCol2 {
      /*直前にlPhoto-sがある_col2Innerの指定*/ }
      .boxCol2 .boxCol2 > .lPhoto-s {
        width: 21%;
        margin: 0 25px 25px 0; }
      .boxCol2 .boxCol2 .lPhoto-s + ._col2Inner {
        width: calc(100% - 21% - 25px); }

  .boxCol3 li, .boxCol3 ._col3Inner {
    width: calc(50% - 16px);
    margin: 0 8px 50px 8px; }
  .boxCol3 li:nth-last-child(1), .boxCol3 ._col3Inner:nth-last-child(1),
  .boxCol3 li:nth-last-child(2):nth-child(3n+1), .boxCol3 ._col3Inner:nth-last-child(2):nth-child(3n+1),
  .boxCol3 li:nth-last-child(2):nth-child(3n+2), .boxCol3 ._col3Inner:nth-last-child(2):nth-child(3n+2),
  .boxCol3 li:nth-last-child(3):nth-child(3n+1), .boxCol3 ._col3Inner:nth-last-child(3):nth-child(3n+1) {
    margin-bottom: 0; }
  .boxCol3 .linkBtn._btnS ._link {
    font-size: 14px; }

  .boxCol4 {
    margin-left: -8px; }
    .boxCol4 li, .boxCol4 ._col4Inner {
      width: calc(25% - 16px);
      margin: 0 8px 40px 8px; }
    .boxCol4 li:nth-last-child(1), .boxCol4 ._col4Inner:nth-last-child(1),
    .boxCol4 li:nth-last-child(2):nth-child(4n+1), .boxCol4 ._col4Inner:nth-last-child(2):nth-child(4n+1),
    .boxCol4 li:nth-last-child(2):nth-child(4n+2), .boxCol4 ._col4Inner:nth-last-child(2):nth-child(4n+2),
    .boxCol4 li:nth-last-child(2):nth-child(4n+3), .boxCol4 ._col4Inner:nth-last-child(2):nth-child(4n+3),
    .boxCol4 li:nth-last-child(3):nth-child(4n+1), .boxCol4 ._col4Inner:nth-last-child(3):nth-child(4n+1),
    .boxCol4 li:nth-last-child(3):nth-child(4n+2), .boxCol4 ._col4Inner:nth-last-child(3):nth-child(4n+2),
    .boxCol4 li:nth-last-child(4):nth-child(4n+1), .boxCol4 ._col4Inner:nth-last-child(4):nth-child(4n+1) {
      margin-bottom: 0; }
    .boxCol4 .linkBtn._btnS ._link {
      font-size: 14px; } }
@media screen and (max-width: 840px) {
  .boxCol2 li, .boxCol2 ._col2Inner {
    width: 100%; }
  .boxCol2 li:nth-last-child(1), .boxCol2 ._col2Inner:nth-last-child(1) {
    margin-bottom: 0; }

  .boxCol2._marSpace50 > li, .boxCol2._marSpace50 ._col2Inner {
    width: 100%; }

  .boxCol3 li, .boxCol3 ._col3Inner {
    width: 100%; }
  .boxCol3 li:nth-last-child(1), .boxCol3 ._col3Inner:nth-last-child(1) {
    margin-bottom: 0; }

  .boxCol4 li, .boxCol4 ._col4Inner {
    width: 100%; }
  .boxCol4 li:nth-last-child(1), .boxCol4 ._col4Inner:nth-last-child(1) {
    margin-bottom: 0; }

  .boxCol2 {
    /*直後に._col2InnerがあるlPhoto-sの指定*/
    /*2カラム後にlPhoto-sを左に配置した場合*/ }
    .boxCol2 .lPhoto-s:has(+ ._col2Inner) {
      width: calc(24% - 1px);
      max-width: auto;
      margin: 0 16px 30px 0; }
      .boxCol2 .lPhoto-s:has(+ ._col2Inner) img {
        width: 100%; }
    .boxCol2 .boxCol2 {
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 100%;
      /*直前にlPhoto-sがある_col2Innerの指定*/ }
      .boxCol2 .boxCol2 > .lPhoto-s {
        width: calc(24% - 1px);
        margin: 0 16px 25px 0; }
      .boxCol2 .boxCol2 .lPhoto-s + ._col2Inner {
        width: calc(100% - 24% - 16px); } }
@media screen and (max-width: 520px) {
  .boxCol2 > li, .boxCol2 ._col2Inner {
    width: 100%; }
  .boxCol2 > li:nth-last-child(1), .boxCol2 ._col2Inner:nth-last-child(1),
  .boxCol2 > li:nth-last-child(2):nth-child(2n+1), .boxCol2 ._col2Inner:nth-last-child(2):nth-child(2n+1) {
    margin-bottom: 0; }

  .boxCol2._marSpace50 > li, .boxCol2._marSpace50 ._col2Inner {
    width: 100%; }

  .boxCol2 {
    /*直前にlPhoto-sがある_col2Innerの指定*/
    /*直後に._col2InnerがあるlPhoto-sの指定*/
    /*2カラム後にlPhoto-sを左に配置した場合*/ }
    .boxCol2 .lPhoto-s + ._col2Inner {
      width: calc(100% - 24% - 46px); }
    .boxCol2 .lPhoto-s:has(+ ._col2Inner) img {
      width: 100%; }
    .boxCol2 .boxCol2 {
      /*直前にlPhoto-sがある_col2Innerの指定*/ }
      .boxCol2 .boxCol2 > .lPhoto-s {
        width: 21%;
        margin: 0 25px 25px 0; }
      .boxCol2 .boxCol2 .lPhoto-s + ._col2Inner {
        width: calc(100% - 21% - 25px); }

  .boxCol3 li, .boxCol3 ._col3Inner {
    width: 100%;
    margin: 0 8px 50px 8px; }
  .boxCol3 li:nth-last-child(1), .boxCol3 ._col3Inner:nth-last-child(1),
  .boxCol3 li:nth-last-child(2):nth-child(3n+1), .boxCol3 ._col3Inner:nth-last-child(2):nth-child(3n+1),
  .boxCol3 li:nth-last-child(2):nth-child(3n+2), .boxCol3 ._col3Inner:nth-last-child(2):nth-child(3n+2),
  .boxCol3 li:nth-last-child(3):nth-child(3n+1), .boxCol3 ._col3Inner:nth-last-child(3):nth-child(3n+1) {
    margin-bottom: 0; }
  .boxCol3 .linkBtn._btnS ._link {
    font-size: 14px; }

  .boxCol4 {
    margin-left: -8px; }
    .boxCol4 li, .boxCol4 ._col4Inner {
      width: 100%;
      margin: 0 8px 40px 8px; }
    .boxCol4 li:nth-last-child(1), .boxCol4 ._col4Inner:nth-last-child(1),
    .boxCol4 li:nth-last-child(2):nth-child(4n+1), .boxCol4 ._col4Inner:nth-last-child(2):nth-child(4n+1),
    .boxCol4 li:nth-last-child(2):nth-child(4n+2), .boxCol4 ._col4Inner:nth-last-child(2):nth-child(4n+2),
    .boxCol4 li:nth-last-child(2):nth-child(4n+3), .boxCol4 ._col4Inner:nth-last-child(2):nth-child(4n+3),
    .boxCol4 li:nth-last-child(3):nth-child(4n+1), .boxCol4 ._col4Inner:nth-last-child(3):nth-child(4n+1),
    .boxCol4 li:nth-last-child(3):nth-child(4n+2), .boxCol4 ._col4Inner:nth-last-child(3):nth-child(4n+2),
    .boxCol4 li:nth-last-child(4):nth-child(4n+1), .boxCol4 ._col4Inner:nth-last-child(4):nth-child(4n+1) {
      margin-bottom: 0; }
    .boxCol4 .linkBtn._btnS ._link {
      font-size: 14px; } }
.numList {
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .numList li, .numList > div, .numList > dl {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .numList li ._num, .numList > div ._num, .numList > dl ._num {
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 40px;
      height: 100%;
      background: #0068b7;
      color: #FFF;
      font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif; }
    .numList li ._box, .numList > div ._box, .numList > dl ._box {
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: calc(100% - 40px);
      height: 100%;
      padding: 20px 30px;
      border: 1px solid #0068b7;
      color: #0068b7;
      font-size: 14px;
      font-weight: 500;
      line-height: 1.7;
      letter-spacing: 0.05em; }
      .numList li ._box span, .numList > div ._box span, .numList > dl ._box span {
        font: inherit; }
    .numList li > p, .numList > div > p, .numList > dl > p {
      margin: 0; }

.numList._txtNormal ._box {
  display: block;
  font-weight: 400;
  letter-spacing: 0;
  color: #000; }

.boxCol2.numList li {
  width: calc(50% - 8px); }

@media screen and (min-width: 840px) {
  .numList li, .numList > div, .numList > dl {
    margin-bottom: 20px; } }
@media screen and (max-width: 840px) {
  .numList li, .numList > div, .numList > dl, .boxCol2.numList li, .boxCol2.numList > div, .boxCol2.numList > dl {
    width: 100%;
    margin-bottom: 10px; }
    .numList li ._box, .numList > div ._box, .numList > dl ._box, .boxCol2.numList li ._box, .boxCol2.numList > div ._box, .boxCol2.numList > dl ._box {
      font-size: 12px; }

  .numList._txtNormal ._box {
    font-size: 14px; } }
/*------
役員構成
--------*/
@media screen and (min-width: 840px) {
  .boxCol2._lPhoto-s figure {
    width: calc(24% - 1px); }
  .boxCol2._lPhoto-s .rWrap {
    width: calc(100% - 24% - 19px);
    margin-left: 20px; }
  .boxCol2._lPhoto-s ._col2Inner {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: calc(50% - 25px); }
    .boxCol2._lPhoto-s ._col2Inner figure {
      width: calc(50% + 1px); }
    .boxCol2._lPhoto-s ._col2Inner .rWrap {
      width: calc(100% - 50% - 21px); } }
@media screen and (max-width: 840px) {
  .boxCol2._lPhoto-s {
    display: block; }
    .boxCol2._lPhoto-s figure {
      margin-bottom: 22px; } }

/*=========================================================================
フローの設定
=========================================================================*/
.arrowBtm {
  position: relative;
  padding-bottom: 50px;
  margin-bottom: 15px !important; }

.arrowBtm > .box {
  margin-bottom: 0 !important; }

.arrowBtm::after {
  position: absolute;
  left: calc(50% - 40px);
  top: auto;
  right: auto;
  bottom: 0;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 35px 40px 0 40px;
  border-color: #e2e2e2 transparent transparent transparent;
  content: "";
  margin: auto; }

/*直前にarrowBtmある場合のdl,div,p,ulの指定*/
.arrowBtm + dl, .arrowBtm + div, .arrowBtm + p, .arrowBtm + ul, .arrowBtm + table {
  margin-top: 0 !important; }

/*=========================================================================
iframeBox
=========================================================================*/
.iframeBox {
  margin-bottom: 50px !important;
  width: 100%;
  padding-top: 56.25%;
  position: relative; }
  @media screen and (max-width: 840px) {
    .iframeBox {
      margin-bottom: 40px; } }

.iframeBox iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important; }

/*直後に.capがある.iframeBoxの指定*/
.iframeBox:has(+ .cap) {
  margin-bottom: 0 !important; }

.iframeBox:last-child {
  margin-bottom: 0 !important; }

/*=========================================================================
table
=========================================================================*/
table {
  border-collapse: collapse;
  width: 100%;
  border: 1px solid #00a0dc; }
  table th, table td {
    padding: 10px;
    border: 1px solid #00a0dc; }
    table th p:last-child, table th ul:last-child, table th figure:last-child, table td p:last-child, table td ul:last-child, table td figure:last-child {
      margin-bottom: 0; }
  table th {
    background: #f2f6fa;
    text-align: center; }
  table td {
    background: #FFF; }
  table thead {
    /*thead内で直後にtrがあるtrの指定*/ }
    table thead tr th {
      color: #FFF;
      background: #0068b7;
      border-right: 1px solid #FFF;
      vertical-align: middle; }
    table thead tr th:last-child {
      border-right: none;
      border-left: 1px solid #FFF; }
    table thead tr:has(+ tr) th {
      border-bottom: 1px solid #FFF; }
    table thead tr:has(+ tr) th._bdNone {
      border-bottom: none; }

table._thBlue {
  border: 1px solid #5d5d5d; }
  table._thBlue th {
    background: #0068b7;
    text-align: center;
    color: #FFF;
    border-top: 1px solid #5d5d5d;
    border-bottom: 1px solid #FFF;
    border-left: none;
    border-right: none; }
    @media screen and (max-width: 840px) {
      table._thBlue th {
        border: none; } }
  table._thBlue tr:last-child th {
    border-bottom: none; }
  table._thBlue thead tr th {
    color: #000;
    background: #d9e9ee;
    border: 1px solid #5d5d5d; }
  table._thBlue thead tr:last-child th {
    border-bottom: #5d5d5d; }

@media screen and (max-width: 840px) {
  table {
    border: 1px solid #00a0dc; }
    table th, table td {
      width: 100%;
      display: block;
      border: none; }
    table tr th {
      border-top: 1px solid #00a0dc; }
    table tr td {
      border-top: 1px dotted #00a0dc; }
    table tr:first-child th:first-child {
      border-top: none; }

  table.tblNormal th, table.tblNormal td, .wScrollWrap table th, .wScrollWrap table td {
    width: auto;
    display: table-cell;
    border: 1px solid #00a0dc; }
  table.tblNormal tr td, .wScrollWrap table tr td {
    border-top: 1px solid #00a0dc; }
  table.tblNormal thead, .wScrollWrap table thead {
    /*thead内で直後にtrがあるtrの指定*/ }
    table.tblNormal thead tr th, .wScrollWrap table thead tr th {
      border-right: 1px solid #FFF;
      border-top: none; }
    table.tblNormal thead tr th:last-child, .wScrollWrap table thead tr th:last-child {
      border-right: none; }
    table.tblNormal thead tr:has(+ tr) th, .wScrollWrap table thead tr:has(+ tr) th {
      border-bottom: 1px solid #FFF; }
    table.tblNormal thead tr:has(+ tr) th._bdNone, .wScrollWrap table thead tr:has(+ tr) th._bdNone {
      border-bottom: none; }

  table._thBlue tr {
    /*直前にthがある場合のtdの指定*/ }
    table._thBlue tr th + td {
      border-top: 1px solid #5d5d5d; }

  table.tblNormal._thBlue, .wScrollWrap table._thBlue {
    border: 1px solid #5d5d5d; }
    table.tblNormal._thBlue tr, .wScrollWrap table._thBlue tr {
      /*直前にthがある場合のtdの指定*/ }
      table.tblNormal._thBlue tr th, .wScrollWrap table._thBlue tr th {
        border-top: 1px solid #5d5d5d;
        border-bottom: 1px solid #FFF;
        border-left: none;
        border-right: none; }
      table.tblNormal._thBlue tr th + td, .wScrollWrap table._thBlue tr th + td {
        border-top: 1px solid #5d5d5d; }
    table.tblNormal._thBlue tr:last-child th, .wScrollWrap table._thBlue tr:last-child th {
      border-bottom: none; }
    table.tblNormal._thBlue thead, .wScrollWrap table._thBlue thead {
      /*thead内で直後にtrがあるtrの指定*/ }
      table.tblNormal._thBlue thead tr th, .wScrollWrap table._thBlue thead tr th {
        border: 1px solid #5d5d5d; }
      table.tblNormal._thBlue thead tr:has(+ tr) th, .wScrollWrap table._thBlue thead tr:has(+ tr) th {
        border-bottom: 1px solid #5d5d5d; } }
table.horizontalLineTable {
  border: none; }
  table.horizontalLineTable th, table.horizontalLineTable td {
    border-top: none !important;
    border-right: none !important;
    border-left: none !important;
    border-bottom: 1px dotted #0068b7; }
  table.horizontalLineTable td + td {
    border-left: 1px solid #fff; }

/*--セルの設定--*/
table.thC th, table.tdC td, table tr.thC th, table tr.tdC td {
  text-align: center; }

table.thR th, table.tdR td, table tr.thR th, table tr.tdR td {
  text-align: right; }

table.thL th, table.tdL td, table tr.thL th, table tr.tdL td {
  text-align: left; }

table.alignC th, table.alignC td {
  vertical-align: middle; }

table.thNowrap th, table th.thNowrap, table tr.thNowrap th {
  white-space: nowrap; }

table th.thWrap, table tr.thWrap th {
  white-space: normal; }

/*=========================================================================
 block float
=========================================================================*/
.blockL, .ph-blockL {
  float: left; }

.blockR, .ph-blockR {
  float: right; }

.center {
  margin: 0 auto !important; }

.block {
  display: block !important; }

.nowrapBlock {
  overflow: hidden; }

.flex {
  display: -webkit-flex;
  display: flex; }

._flexHC {
  /*@include flex-hc;*/
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important; }

._flexWC {
  /*@include flex-wc;*/
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important; }

._flexWL {
  /*@include flex-wl;*/
  -webkit-box-pack: start !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important; }

._flexWR {
  /*@include flex-wr;*/
  -webkit-box-pack: end !important;
  -ms-flex-pack: end !important;
  justify-content: flex-end !important; }

.flexHcWc {
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100%; }

._flexWrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

._flexNowrap {
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap; }

._flexReverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

@media screen and (max-width: 840px) {
  .blockL, .blockR {
    float: none; } }
/*=========================================================================
 背景に画像を配置
=========================================================================*/
.bgImg {
  display: block;
  position: relative;
  /*↓画像の高さはマチマチなのでそれぞれに新規で設定してください*/
  /*padding: 13.223% 0 0 0;*/ }
  .bgImg > img {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100% !important;
    height: 100% !important; }
  .bgImg > ._txt {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    color: #FFF;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 20px; }
    .bgImg > ._txt ._txtSmall {
      font-size: 14px; }
    .bgImg > ._txt ._txtBig {
      font-size: 22px;
      font-weight: 500; }
    @media screen and (max-width: 840px) {
      .bgImg > ._txt {
        padding: 0 15px !important; }
        .bgImg > ._txt ._txtSmall {
          font-size: 12px; }
        .bgImg > ._txt ._txtBig {
          font-size: 20px; } }

a.bgImg > ._txt {
  padding: 0 50px 0 20px; }

a.bgImg::after {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: '';
  background: url(../img/ico/ico-arrowWhite.svg) no-repeat;
  background-size: 18px auto;
  background-position: right 20px center;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  @media screen and (max-width: 840px) {
    a.bgImg::after {
      background-position: right 15px center; } }

@media screen and (min-width: 840px) {
  a.bgImg:hover::after {
    background-position: right 10px center; } }

/*=========================================================================
 説明リスト
=========================================================================*/
/*5枚画像カラムの一番左画像にグリッド位置を揃えてます*/
@media screen and (min-width: 840px) {
  .nowrapBlock {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%; }
    .nowrapBlock dt {
      width: calc(20% - 8px);
      margin-right: 8px;
      margin-bottom: 10px; }
    .nowrapBlock dd {
      width: calc(80% - 8px);
      margin-left: 8px;
      margin-bottom: 10px; }
    .nowrapBlock > div {
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 100%; } }
@media screen and (max-width: 840px) {
  .nowrapBlock dt {
    margin-bottom: 5px; }
  .nowrapBlock dd {
    margin-bottom: 30px; } }

/*直後にtxtSmallがあるnowrapBlockの指定*/
@media screen and (max-width: 840px) {
  .nowrapBlock:has(+ .txtSmall) dd:last-child {
    margin-bottom: 0; } }

/*4枚画像カラムの一番左画像にグリッド位置を揃えてます*/
@media screen and (min-width: 840px) {
  .nowrapBlock._col4 dt {
    width: calc(25% - 8px); }
  .nowrapBlock._col4 dd {
    width: calc(75% - 8px); } }

/*：コロン追加*/
@media screen and (min-width: 840px) {
  .nowrapBlock.expColon dd {
    text-indent: -1em;
    padding-left: 1.3em; }
  .nowrapBlock.expColon dd::before {
    content: "："; } }

.definition dt {
  margin-bottom: 1px;
  padding: 10px;
  background: #d9e9ee; }
.definition dd {
  margin-bottom: 1px;
  padding: 10px;
  background: #f2f2ef; }
@media screen and (min-width: 840px) {
  .definition {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%; }
    .definition dt {
      width: calc(25% - 1px);
      margin-right: 1px; }
    .definition dd {
      width: 75%; } }

/*=========================================================================
.contactForm
=========================================================================*/
.definition .contactForm {
  width: 100%;
  margin-bottom: 1px; }
  @media screen and (min-width: 840px) {
    .definition .contactForm {
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -ms-flex-wrap: nowrap;
      flex-wrap: nowrap; } }
  .definition .contactForm dt {
    margin: 0 1px 0 0;
    font-weight: 500; }
    @media screen and (max-width: 840px) {
      .definition .contactForm dt {
        width: 100%;
        margin: 0 0 1px 0; } }
  .definition .contactForm dd {
    margin: 0; }

form.contact input, form.contact select, form.contact textarea {
  font-family: 'Zen Kaku Gothic New', "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
  border: none;
  outline: none;
  padding: 5px;
  margin: 2px 0;
  width: 100%; }
form.contact label {
  white-space: nowrap; }
form.contact input[type=button], form.contact input[type=submit], form.contact input[type=reset] {
  cursor: pointer;
  width: 200px;
  height: 60px;
  margin-right: 5px;
  margin-left: 5px;
  background: -webkit-linear-gradient(white, #efefef);
  background: -o-linear-gradient(white, #efefef);
  background: linear-gradient(white, #efefef);
  border: 1px solid #FFF;
  outline: 1px solid #c4c4c4;
  color: #000; }
form.contact input[type=button]:hover, form.contact input[type=submit]:hover, form.contact input[type=reset]:hover {
  background: #FFF; }
form.contact input::placeholder {
  color: #c6c6c6; }
form.contact input::focus::placeholder {
  color: transparent; }

/*=========================================================================
.aLinkPh（枠・画像含め丸ごとリンク）
=========================================================================*/
.aLinkPh {
  border: 1px solid #c4c4c4;
  font-size: 14px;
  line-height: 1.4;
  margin-bottom: 30px;
  color: #000 !important;
  text-decoration: none !important; }
  .aLinkPh .lPhoto-m, .aLinkPh .lPhoto-s, .aLinkPh .lPhoto-ss {
    display: block !important;
    float: none !important; }
  @media screen and (min-width: 840px) {
    .aLinkPh {
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 20px 30px;
      /*直前に.lPhoto-m(-s,--ss)がある場合のp、div、ul、dlの指定*/ }
      .aLinkPh .lPhoto-m, .aLinkPh .lPhoto-s, .aLinkPh .lPhoto-ss {
        margin: 0 30px 0 0 !important;
        min-width: auto; }
      .aLinkPh .lPhoto-m + div, .aLinkPh .lPhoto-m + p, .aLinkPh .lPhoto-m + ul, .aLinkPh .lPhoto-m + dl {
        width: calc(100% - 33.3% - 20px); }
      .aLinkPh .lPhoto-s + div, .aLinkPh .lPhoto-s + p, .aLinkPh .lPhoto-s + ul, .aLinkPh .lPhoto-s + dl {
        width: calc(100% - 24% - 20px); }
      .aLinkPh .lPhoto-ss + div, .aLinkPh .lPhoto-ss + p, .aLinkPh .lPhoto-ss + ul, .aLinkPh .lPhoto-ss + dl {
        width: calc(100% - 20% - 20px); } }
  @media screen and (max-width: 840px) {
    .aLinkPh {
      display: block;
      padding: 20px; }
      .aLinkPh .lPhoto-m, .aLinkPh .lPhoto-s, .aLinkPh .lPhoto-ss {
        margin: 0 auto 20px auto;
        width: 100%;
        max-width: 100%; }
        .aLinkPh .lPhoto-m img, .aLinkPh .lPhoto-s img, .aLinkPh .lPhoto-ss img {
          text-align: center; } }
  .aLinkPh span.pdf {
    background-size: 17px auto;
    font-size: 12px; }
  .aLinkPh > div, .aLinkPh > p, .aLinkPh > ul, .aLinkPh > dl {
    margin-bottom: 0; }

@media screen and (min-width: 840px) {
  .aLinkPh:hover {
    color: #000 !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important; } }

/*直後にtxtSmallがあるtableの指定*/
.aLinkPh:has(+ .txtSmall) {
  margin-bottom: 20px; }

/*2カラムにした場合*/
.boxCol2 .aLinkPh {
  margin-bottom: 0; }
  @media screen and (min-width: 840px) {
    .boxCol2 .aLinkPh {
      padding: 15px 20px; }
      .boxCol2 .aLinkPh .lPhoto-m, .boxCol2 .aLinkPh .lPhoto-s, .boxCol2 .aLinkPh .lPhoto-ss {
        margin: 0 20px 0 0 !important; } }

/*=========================================================================
 tab
=========================================================================*/
.tab, .tab-nojs {
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  width: 100%;
  margin-bottom: 2px !important; }

.tab li, .tab-nojs li {
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 70px;
  cursor: pointer;
  color: #FFF;
  line-height: 1.4;
  padding: 10px 15px;
  background: rgba(0, 83, 150, 0.4);
  -moz-border-radius: 5px 5px 0 0/5px 5px 0 0;
  -webkit-border-radius: 5px 5px 0 0/5px 5px 0 0;
  border-radius: 5px 5px 0 0/5px 5px 0 0;
  -webkit-transition: 0.2s ease-in-out;
  transition: 0.2s ease-in-out; }
  .tab li a, .tab-nojs li a {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none !important;
    color: #FFF; }

.tab li.active, .tab-nojs li.active, .tab li:hover, .tab-nojs li:hover {
  background: #005396;
  height: 80px; }

._col2tab li {
  width: calc(50% - 1px); }

._col3tab li {
  width: calc(100% / 3 - 1px); }

.tabArea {
  display: none;
  opacity: 0; }

.tabArea.active {
  display: block;
  animation: fadeIn 1s ease 0s 1 forwards;
  -webkit-animation: fadeIn 1s ease 0s 1 forwards; }

/*=========================================================================
 txt
=========================================================================*/
.txtBlack {
  color: #000 !important; }

.txtWhite {
  color: #FFF !important; }

.txtGray {
  color: #5d5d5d !important; }

.txtMain, .txtMOL, dl.dtMain dt {
  color: #0068b7 !important; }

dl.dtMain dt {
  font-weight: 700; }

.txtAqua {
  color: #00a0dc !important; }

.txtLink {
  color: #0068b7 !important; }

.txtRed {
  color: #c20000 !important; }

.txtEn {
  font-weight: 500;
  font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif; }

.txtEnBold {
  font-weight: 700 !important;
  font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif; }

small, .txtSmall, .txtSmall02 {
  font-size: 12px !important; }
  small .pdf, .txtSmall .pdf, .txtSmall02 .pdf {
    background: url(../img/ico/ico-pdf_Red.svg) right center no-repeat;
    padding: 0 22px 1px 0;
    background-size: 14px auto;
    margin-right: 3px; }
  small a.window, .txtSmall a.window, .txtSmall02 a.window {
    background: url(../img/ico/ico-window.svg) right center no-repeat;
    padding-right: 20px;
    margin-right: 3px;
    background-size: 14px auto; }
  small .contactTel, small .contactAcc, .txtSmall .contactTel, .txtSmall .contactAcc, .txtSmall02 .contactTel, .txtSmall02 .contactAcc {
    background-position: left top 4px;
    background-size: 12px auto; }
  small .contactMail, .txtSmall .contactMail, .txtSmall02 .contactMail {
    background-position: left top 7px;
    background-size: 16px auto; }
  small span, small p, small dt, small dd, small li, small a, small div, small dl, .txtSmall span, .txtSmall p, .txtSmall dt, .txtSmall dd, .txtSmall li, .txtSmall a, .txtSmall div, .txtSmall dl, .txtSmall02 span, .txtSmall02 p, .txtSmall02 dt, .txtSmall02 dd, .txtSmall02 li, .txtSmall02 a, .txtSmall02 div, .txtSmall02 dl {
    font: inherit; }

.txtSmall02 {
  font-size: 14px !important; }
  @media screen and (max-width: 840px) {
    .txtSmall02 {
      font-size: 12px !important; } }

.txtBig, .txtBig02 {
  font-size: 18px !important;
  font-weight: 500; }
  @media screen and (max-width: 840px) {
    .txtBig, .txtBig02 {
      font-size: 16px !important; } }

.txtBig02 {
  font-size: 20px !important;
  font-weight: 500;
  line-height: 1.4; }
  @media screen and (max-width: 840px) {
    .txtBig02 {
      font-size: 18px !important; } }

.txtBigH2 {
  font-size: clamp(22px, 2.5vw, 28px) !important;
  line-height: 1.5 !important;
  font-weight: 500; }

.txtBigH3 {
  font-size: clamp(18px, 2.18vw, 24px) !important;
  line-height: 1.7 !important;
  font-weight: 500; }

.txtBigH4 {
  font-size: clamp(16px, 1.8vw, 20px) !important;
  line-height: 1.7 !important;
  font-weight: 500; }

.txtBig .txtNormal, .txtBig02 .txtNormal, .txtBigH2 .txtNormal, .txtBigH3 .txtNormal, .txtBigH4 .txtNormal {
  font-size: 16px !important;
  font-weight: 400; }
  @media screen and (max-width: 840px) {
    .txtBig .txtNormal, .txtBig02 .txtNormal, .txtBigH2 .txtNormal, .txtBigH3 .txtNormal, .txtBigH4 .txtNormal {
      font-size: 16px !important; } }
.txtBig span, .txtBig p, .txtBig dt, .txtBig dd, .txtBig li, .txtBig a, .txtBig div, .txtBig dl, .txtBig02 span, .txtBig02 p, .txtBig02 dt, .txtBig02 dd, .txtBig02 li, .txtBig02 a, .txtBig02 div, .txtBig02 dl, .txtBigH2 span, .txtBigH2 p, .txtBigH2 dt, .txtBigH2 dd, .txtBigH2 li, .txtBigH2 a, .txtBigH2 div, .txtBigH2 dl, .txtBigH3 span, .txtBigH3 p, .txtBigH3 dt, .txtBigH3 dd, .txtBigH3 li, .txtBigH3 a, .txtBigH3 div, .txtBigH3 dl, .txtBigH4 span, .txtBigH4 p, .txtBigH4 dt, .txtBigH4 dd, .txtBigH4 li, .txtBigH4 a, .txtBigH4 div, .txtBigH4 dl {
  font: inherit; }

.txtMedium {
  font-weight: 500 !important; }
  .txtMedium span, .txtMedium p, .txtMedium dt, .txtMedium dd, .txtMedium li, .txtMedium a, .txtMedium div, .txtMedium dl {
    font: inherit; }
  .txtMedium .txtSmall, .txtMedium .txtSmall02 {
    font-weight: 400; }

.txtNormal {
  font-weight: 400 !important;
  font-size: 16px !important; }
  .txtNormal span, .txtNormal p, .txtNormal dt, .txtNormal dd, .txtNormal li, .txtNormal a, .txtNormal div, .txtNormal dl {
    font: inherit; }

.txtRegular {
  font-weight: 400 !important; }

.txtR, .txtRC {
  text-align: right !important; }

.txtL, .txtLC {
  text-align: left !important; }

.txtC, .txtCL {
  text-align: center !important; }

.txtJ {
  text-align: justify !important; }

.txtSpacing0 {
  letter-spacing: 0 !important; }

.txtSpacing01 {
  letter-spacing: 0.1em !important; }

.txtOblique, em {
  font-style: oblique !important;
  font: inherit; }

.txtUnderline {
  text-decoration: underline; }

.txtLabel, .txtLabel02 {
  display: inline-block;
  height: 20px;
  padding: 3px 10px 5px 10px;
  font-size: 11px !important;
  line-height: 1.0 !important;
  font-weight: 500 !important;
  background: #0068b7;
  color: #FFF;
  text-align: center; }

.txtLabel02 {
  background: #00a0dc; }

.nowrap {
  white-space: nowrap; }

.break {
  word-break: break-all; }

.alignC {
  vertical-align: middle; }

/*縦書き*/
.txtVertical {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  writing-mode: vertical-rl; }

/*=========================================================================
テキストインデント
=========================================================================*/
.exp01 {
  text-indent: -0.8em;
  padding-left: 1em; }

.exp01b {
  text-indent: -1.35em;
  padding-left: 1.6em; }

.exp02 {
  text-indent: -1.8em;
  padding-left: 2em; }

.exp02b {
  text-indent: -2.4em;
  padding-left: 2.7em; }

.exp03 {
  text-indent: -3em;
  padding-left: 2.9em; }

.exp04 {
  text-indent: -4em;
  padding-left: 3.9em; }

/*=========================================================================
 background / border color
=========================================================================*/
/*-------------------------
background / border color
---------------------------*/
.bgPaleBlue, tr.bgPaleBlue th, tr.bgPaleBlue td {
  background: #f2f6fa !important; }

.bgTGray, tr.bgTGray th, tr.bgTGray td {
  background: #f2f2ef !important; }

.bgSGray, tr.bgSGray th, tr.bgSGray td {
  background: #c4c4c4 !important; }

.bgMain, tr.bgMain th, tr.bgMain td {
  background: #0068b7 !important;
  color: #FFF; }

.bgPoint, tr.bgPoint th, tr.bgPoint td {
  background: #ffd500 !important; }

.bgThinblue, tr.bgThinblue th, tr.bgThinblue td {
  background: #d9e9ee !important; }

.bgWhite, tr.White th, tr.White td {
  background: #FFF !important; }

.bgGra, tr.bgGra th, tr.bgGra td {
  background-image: -webkit-linear-gradient(left, #0068b7, #00a0dc);
  background-image: -o-linear-gradient(left, #0068b7, #00a0dc);
  background-image: linear-gradient(to right, #0068b7, #00a0dc);
  color: #FFF; }

.bgMOL, tr.bgMOL th, tr.bgMOL td {
  background: #005396 !important;
  color: #FFF; }

.bgMOL20, tr.bgMOL20 th, tr.bgMOL20 td {
  background: rgba(0, 83, 150, 0.2) !important; }

.bgMOL10, tr.bgMOL10 th, tr.bgMOL10 td {
  background: rgba(0, 83, 150, 0.1) !important; }

.bgMOL05, tr.bgMOL05 th, tr.bgMOL05 td {
  background: rgba(0, 83, 150, 0.05) !important; }

.bgRed05, tr.bgRed05 th, tr.bgRed05 td {
  background: rgba(194, 0, 0, 0.05) !important; }

/*border*/
.bdMain, .bdMOL {
  border: 1px solid #0068b7; }

.bdPoint {
  border: 1px solid #ffd500; }

.bdGray {
  border: 1px solid #c4c4c4; }

._bdBold {
  border-width: 3px !important; }

._bdDot {
  border-style: dotted !important; }

/*-------------------------
line（hr.lineは_common.scssに設定あり（新フォーマット変更後は、_common.scssのほうは削除しても可））
---------------------------*/
.line {
  border-bottom: 1px solid #000; }

.lineGray {
  border-bottom: 1px solid #5d5d5d; }

.linePoint {
  border-bottom: 1px solid #ffd500; }

.lineMain {
  border-bottom: 1px solid #0068b7; }

._lineBold {
  border-bottom-width: 3px; }

._lineDot {
  border-bottom-style: dotted !important; }

hr.lineDot {
  border-top: 1px dotted #0068b7;
  margin: 50px 0 30px 0 !important; }

/*=========================================================================
スクロールアイコン表示
=========================================================================*/
.wScrollWrap {
  margin-bottom: 30px; }
  .wScrollWrap figure, .wScrollWrap table {
    margin-bottom: 10px !important; }
  .wScrollWrap figcaption {
    margin-bottom: 0; }
  .wScrollWrap .photo {
    margin-bottom: 10px; }
  @media screen and (max-width: 840px) {
    .wScrollWrap {
      width: 100%;
      overflow-x: scroll; }
      .wScrollWrap figure, .wScrollWrap table {
        width: 956px; }
      .wScrollWrap figcaption {
        text-align: left; } }

.wScrollWrap:last-child {
  margin-bottom: 0; }

/*直後にtxtSmallがあるwScrollWrapの指定*/
.wScrollWrap:has(+ .txtSmall) {
  margin-bottom: 10px; }

/*=========================================================================
scroll-hint（/assets/js/scrollhint/scroll-hint.min.jsを使用するためのCSSです。scroll-hint.min.jsとセットで使います。）
=========================================================================*/
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0; }
  10% {
    opacity: 1; }
  50%,
  100% {
    transform: translateX(-40px);
    opacity: 0; } }
.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)); }

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)); }

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)); }

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 50px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 100px;
  border-radius: 5px;
  transition: opacity .3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.8);
  text-align: center;
  padding: 20px 10px 10px 10px; }

.wScrollWrap-tall .scroll-hint-icon {
  top: 200px; }

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none; }

.scroll-hint-text {
  font-size: 12px;
  color: #FFF;
  margin-top: 5px;
  font-family: 'Montserrat', 'Zen Kaku Gothic New', "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 600;
  letter-spacing: 0.05em; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: .8; }

.scroll-hint-icon:before {
  display: inline-block;
  width: 27px;
  height: 44px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url("/assets/img/ico/ico-finger.svg"); }

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url("/assets/img/ico/ico-finger-arrow.svg");
  opacity: 0;
  transition-delay: 2.4s; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1; }

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2; }

/*-------------------------
リンク指アイコン
---------------------------*/
.finger {
  cursor: pointer; }

/*=========================================================================
 width・height・margin・padding
=========================================================================*/
/*-------------------------
width
---------------------------*/
.wAuto {
  width: auto !important; }

.w1 {
  width: 1% !important;
  white-space: nowrap; }

.w5 {
  width: 5% !important; }

.w10 {
  width: 10% !important; }

.w15 {
  width: 15% !important; }

.w20 {
  width: 20% !important; }

.w25 {
  width: 25% !important; }

.w30 {
  width: 30% !important; }

.w35 {
  width: 35% !important; }

.w40 {
  width: 40% !important; }

.w45 {
  width: 45% !important; }

.w50 {
  width: 50% !important; }

.w55 {
  width: 55% !important; }

.w60 {
  width: 60% !important; }

.w65 {
  width: 65% !important; }

.w70 {
  width: 70% !important; }

.w75 {
  width: 75% !important; }

.w80 {
  width: 80% !important; }

.w85 {
  width: 85% !important; }

.w90 {
  width: 90% !important; }

.w95 {
  width: 95% !important; }

.w100 {
  width: 100% !important; }

.w30px {
  width: 30px !important; }

.w50px {
  width: 50px !important; }

.w100px {
  width: 100px !important; }

.w150px {
  width: 150px !important; }

.w200px {
  width: 200px !important; }

.w250px {
  width: 250px !important; }

.w300px {
  width: 300px !important; }

.w350px {
  width: 350px !important; }

.w400px {
  width: 400px !important; }

.w450px {
  width: 450px !important; }

.w500px {
  width: 500px !important; }

.w550px {
  width: 550px !important; }

.w600px {
  width: 600px !important; }

.w650px {
  width: 650px !important; }

.w700px {
  width: 700px !important; }

.w750px {
  width: 750px !important; }

.w800px {
  width: 800px !important; }

.w01a {
  width: 80% !important; }

.w01b {
  width: 20% !important; }

.w02a {
  width: 70% !important; }

.w02b {
  width: 30% !important; }

@media screen and (max-width: 840px) {
  .w01a, .w01b, .w02a, .w02b, .w03a, .w03b {
    width: 100% !important; }

  .w01a._keep {
    width: 80% !important; }

  .w01b._keep {
    width: 20% !important; }

  .w02a._keep {
    width: 70% !important; }

  .w02b._keep {
    width: 30% !important; } }
/*-------------------------
height
---------------------------*/
.hAuto {
  height: auto !important; }

.h100 {
  height: 100% !important; }

.h50 {
  height: 50% !important; }

.h55px {
  height: 55px; }

.h80px {
  height: 80px; }

.h55px, .h80px {
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

/*-------------------------
margin
---------------------------*/
.mar0t {
  margin-top: 0 !important; }

.mar5t {
  margin-top: 5px !important; }

.mar10t {
  margin-top: 10px !important; }

.mar15t {
  margin-top: 15px !important; }

.mar20t {
  margin-top: 20px !important; }

.mar30t {
  margin-top: 30px !important; }

.mar40t {
  margin-top: 40px !important; }

.mar50t {
  margin-top: 50px !important; }

.mar60t {
  margin-top: 60px !important; }

.mar70t {
  margin-top: 70px !important; }

.mar80t {
  margin-top: 80px !important; }

.mar90t {
  margin-top: 90px !important; }

.mar100t {
  margin-top: 100px !important; }

.mar0b {
  margin-bottom: 0 !important; }

.mar1b {
  margin-bottom: 1px !important; }

.mar5b {
  margin-bottom: 5px !important; }

.mar10b {
  margin-bottom: 10px !important; }

.mar15b {
  margin-bottom: 15px !important; }

.mar20b {
  margin-bottom: 20px !important; }

.mar30b {
  margin-bottom: 30px !important; }

.mar40b {
  margin-bottom: 40px !important; }

.mar50b {
  margin-bottom: 50px !important; }

.mar60b {
  margin-bottom: 60px !important; }

.mar70b {
  margin-bottom: 70px !important; }

.mar80b {
  margin-bottom: 80px !important; }

.mar90b {
  margin-bottom: 90px !important; }

.mar100b {
  margin-bottom: 100px !important; }

.mar0l {
  margin-left: 0 !important; }

.mar5l {
  margin-left: 5px !important; }

.mar10l {
  margin-left: 10px !important; }

.mar15l {
  margin-left: 15px !important; }

.mar20l {
  margin-left: 20px !important; }

.mar30l {
  margin-left: 30px !important; }

.mar40l {
  margin-left: 40px !important; }

.mar50l {
  margin-left: 50px !important; }

.mar60l {
  margin-left: 60px !important; }

.mar70l {
  margin-left: 70px !important; }

.mar80l {
  margin-left: 80px !important; }

.mar90l {
  margin-left: 90px !important; }

.mar100l {
  margin-left: 100px !important; }

.mar0r {
  margin-right: 0 !important; }

.mar5r {
  margin-right: 5px !important; }

.mar10r {
  margin-right: 10px !important; }

.mar15r {
  margin-right: 15px !important; }

.mar20r {
  margin-right: 20px !important; }

.mar30r {
  margin-right: 30px !important; }

.mar40r {
  margin-right: 40px !important; }

.mar50r {
  margin-right: 50px !important; }

.mar60r {
  margin-right: 60px !important; }

.mar70r {
  margin-right: 70px !important; }

.mar80r {
  margin-right: 80px !important; }

.mar90r {
  margin-right: 90px !important; }

.mar100r {
  margin-right: 100px !important; }

.mar0 {
  margin: 0 !important; }

.mar10 {
  margin: 10px !important; }

.mar20 {
  margin: 20px !important; }

.mar30 {
  margin: 30px !important; }

.mar40 {
  margin: 40px !important; }

.mar50 {
  margin: 50px !important; }

.mar60 {
  margin: 60px !important; }

.mar70 {
  margin: 70px !important; }

.mar80 {
  margin: 80px !important; }

.mar90 {
  margin: 90px !important; }

.mar100 {
  margin: 100px !important; }

.marAuto {
  margin: auto !important; }

.mb {
  margin-bottom: 1em !important; }

.mbAuto {
  margin-bottom: auto !important; }

/*MOL上余白パターン*/
.mt01 {
  margin-top: 30px !important; }
  @media screen and (max-width: 840px) {
    .mt01 {
      margin-top: 20px !important; } }

.mt02 {
  margin-top: 50px !important; }
  @media screen and (max-width: 840px) {
    .mt02 {
      margin-top: 30px !important; } }

.mt03 {
  margin-top: 60px !important; }
  @media screen and (max-width: 840px) {
    .mt03 {
      margin-top: 40px !important; } }

.mt04 {
  margin-top: 80px !important; }
  @media screen and (max-width: 840px) {
    .mt04 {
      margin-top: 50px !important; } }

.mt05 {
  margin-top: 100px !important; }
  @media screen and (max-width: 840px) {
    .mt05 {
      margin-top: 60px !important; } }

/*MOL下余白パターン(mb02,mb03,mb05は使用済だが、他はまだ変更可)*/
ul.mb01 > li, dl.mb01 > dt, .mb01 {
  margin-bottom: 30px !important; }
  @media screen and (max-width: 840px) {
    ul.mb01 > li, dl.mb01 > dt, .mb01 {
      margin-bottom: 20px !important; } }

ul.mb02 > li, dl.mb02 > dt, .mb02 {
  margin-bottom: 50px !important; }
  @media screen and (max-width: 840px) {
    ul.mb02 > li, dl.mb02 > dt, .mb02 {
      margin-bottom: 30px !important; } }

.mb03 {
  margin-bottom: 60px !important; }
  @media screen and (max-width: 840px) {
    .mb03 {
      margin-bottom: 40px !important; } }

.mb04 {
  margin-bottom: 80px !important; }
  @media screen and (max-width: 840px) {
    .mb04 {
      margin-bottom: 50px !important; } }

.mb05 {
  margin-bottom: 100px !important; }
  @media screen and (max-width: 840px) {
    .mb05 {
      margin-bottom: 60px !important; } }

ul.mb01 li:last-child, ul.mb02 li:last-child {
  margin-bottom: 0 !important; }

.mar0bWrap p, .mar0bWrap table, .mar0bWrap ul, .mar0bWrap ol, .mar0bWrap dl, .mar0bWrap dt, .mar0bWrap dd, .mar0bWrap li {
  margin-bottom: 0 !important; }

/*-------------------------
padding
---------------------------*/
.pad0 {
  padding: 0 !important; }

.pad10 {
  padding: 10px !important; }

.pad15 {
  padding: 15px !important; }

.pad20 {
  padding: 20px !important; }

.pad30 {
  padding: 30px !important; }

.pad40 {
  padding: 40px !important; }

.pad50 {
  padding: 50px !important; }

.pad60 {
  padding: 60px !important; }

.pad70 {
  padding: 70px !important; }

.pad80 {
  padding: 80px !important; }

.pad90 {
  padding: 90px !important; }

.pad100 {
  padding: 100px !important; }

.pad0t {
  padding-top: 0 !important; }

.pad5t {
  padding-top: 5px !important; }

.pad10t {
  padding-top: 10px !important; }

.pad20t {
  padding-top: 20px !important; }

.pad30t {
  padding-top: 30px !important; }

.pad40t {
  padding-top: 40px !important; }

.pad50t {
  padding-top: 50px !important; }

.pad60t {
  padding-top: 60px !important; }

.pad70t {
  padding-top: 70px !important; }

.pad80t {
  padding-top: 80px !important; }

.pad90t {
  padding-top: 90px !important; }

.pad100t {
  padding-top: 100px !important; }

.pad0b {
  padding-bottom: 0 !important; }

.pad5b {
  padding-bottom: 5px !important; }

.pad10b {
  padding-bottom: 10px !important; }

.pad20b {
  padding-bottom: 20px !important; }

.pad30b {
  padding-bottom: 30px !important; }

.pad40b {
  padding-bottom: 40px !important; }

.pad50b {
  padding-bottom: 50px !important; }

.pad60b {
  padding-bottom: 60px !important; }

.pad70b {
  padding-bottom: 70px !important; }

.pad80b {
  padding-bottom: 80px !important; }

.pad90b {
  padding-bottom: 90px !important; }

.pad100b {
  padding-bottom: 100px !important; }

.pad0l {
  padding-left: 0 !important; }

.pad5l {
  padding-left: 5px !important; }

.pad10l {
  padding-left: 10px !important; }

.pad20l {
  padding-left: 20px !important; }

.pad30l {
  padding-left: 30px !important; }

.pad40l {
  padding-left: 40px !important; }

.pad50l {
  padding-left: 50px !important; }

.pad60l {
  padding-left: 60px !important; }

.pad70l {
  padding-left: 70px !important; }

.pad80l {
  padding-left: 80px !important; }

.pad90l {
  padding-left: 90px !important; }

.pad100l {
  padding-left: 100px !important; }

.pad0r {
  padding-right: 0 !important; }

.pad5r {
  padding-right: 5px !important; }

.pad10r {
  padding-right: 10px !important; }

.pad20r {
  padding-right: 20px !important; }

.pad30r {
  padding-right: 30px !important; }

.pad40r {
  padding-right: 40px !important; }

.pad50r {
  padding-right: 50px !important; }

.pad60r {
  padding-right: 60px !important; }

.pad70r {
  padding-right: 70px !important; }

.pad80r {
  padding-right: 80px !important; }

.pad90r {
  padding-right: 90px !important; }

.pad100r {
  padding-right: 100px !important; }

.pad0lr {
  padding-left: 0 !important;
  padding-right: 0 !important; }

.pad10lr {
  padding-left: 10px !important;
  padding-right: 10px !important; }

.pad20lr {
  padding-left: 20px !important;
  padding-right: 20px !important; }

.pad30lr {
  padding-left: 30px !important;
  padding-right: 30px !important; }

.pad40lr {
  padding-left: 40px !important;
  padding-right: 40px !important; }

.pad50lr {
  padding-left: 50px !important;
  padding-right: 50px !important; }

.pad0tb {
  padding-top: 0 !important;
  padding-bottom: 0 !important; }

.pad10tb {
  padding-top: 10px !important;
  padding-bottom: 10px !important; }

.pad20tb {
  padding-top: 20px !important;
  padding-bottom: 20px !important; }

.pad30tb {
  padding-top: 30px !important;
  padding-bottom: 30px !important; }

.pad40tb {
  padding-top: 40px !important;
  padding-bottom: 40px !important; }

.pad50tb {
  padding-top: 50px !important;
  padding-bottom: 50px !important; }

.pad60tb {
  padding-top: 60px !important;
  padding-bottom: 60px !important; }

.pad70tb {
  padding-top: 70px !important;
  padding-bottom: 70px !important; }

.pad80tb {
  padding-top: 80px !important;
  padding-bottom: 80px !important; }

.pad90tb {
  padding-top: 90px !important;
  padding-bottom: 90px !important; }

.pad100tb {
  padding-top: 100px !important;
  padding-bottom: 100px !important; }

/*padding余白パターン*/
.pad01r {
  padding-right: 30px !important; }
  @media screen and (max-width: 840px) {
    .pad01r {
      padding-right: 0 !important; } }

.pad01l {
  padding-left: 30px !important; }
  @media screen and (max-width: 840px) {
    .pad01l {
      padding-left: 0 !important; } }

.pad01b {
  padding-bottom: 30px !important; }
  @media screen and (max-width: 840px) {
    .pad01b {
      padding-bottom: 0 !important; } }

.pad01t {
  padding-top: 30px !important; }
  @media screen and (max-width: 840px) {
    .pad01t {
      padding-top: 0 !important; } }

.pad01 {
  padding: 30px !important; }
  @media screen and (max-width: 840px) {
    .pad01 {
      padding: 30px 20px !important; } }

.pad02 {
  padding: 20px !important; }
  @media screen and (max-width: 840px) {
    .pad02 {
      padding: 15px !important; } }

/*-------------------------
840px以下
---------------------------*/
@media screen and (max-width: 840px) {
  .txtLC, .txtRC {
    text-align: center !important; }

  .txtCL {
    text-align: left !important; }

  .ph-mar0 {
    margin: 0 !important; }

  .ph-mar0t {
    margin-top: 0 !important; }

  .ph-mar0b {
    margin-bottom: 0 !important; }

  .ph-mar0l {
    margin-left: 0 !important; }

  .ph-mar0r {
    margin-right: 0 !important; }

  .ph-pad0 {
    padding: 0 !important; }

  .ph-pad0t {
    padding-top: 0 !important; }

  .ph-pad0b {
    padding-bottom: 0 !important; }

  .ph-pad30b {
    padding-bottom: 30px !important; }

  .ph-pad0l {
    padding-left: 0 !important; }

  .ph-pad0r {
    padding-right: 0 !important; }

  .ph-w100 {
    width: 100% !important; }

  .ph-maxw100 {
    max-width: 100% !important; }

  .ph-maxw600px {
    max-width: 600px !important; }

  .ph-maxw550px {
    max-width: 550px !important; }

  .ph-maxw500px {
    max-width: 500px !important; }

  .ph-maxw450px {
    max-width: 450px !important; }

  .ph-maxw400px {
    max-width: 400px !important; }

  .ph-maxw350px {
    max-width: 350px !important; }

  .ph-maxw300px {
    max-width: 300px !important; }

  .ph-maxw250px {
    max-width: 250px !important; }

  .ph-maxw200px {
    max-width: 200px !important; }

  .w1 {
    width: auto !important;
    white-space: normal; }

  .w550px, .w600px, .w650px, .w700px, .w750px, .w800px {
    width: 100% !important; }

  .h55px, .h80px {
    height: auto;
    display: block; }

  .ph-txtNormal {
    font-size: 16px !important; } }
@media screen and (max-width: 520px) {
  .w300px .w350px, .w400px, .w450px, .w500px {
    width: 100% !important; }

  .ph-maxw400px, .ph-maxw350px {
    max-width: 300px; } }
/*=========================================================================
画面幅での表示・非表示
=========================================================================*/
@media screen and (min-width: 840px) {
  .pcNone {
    display: none !important; } }
@media screen and (max-width: 840px) {
  .phNone {
    display: none !important; } }
@media screen and (min-width: 520px) {
  .pcNone02 {
    display: none !important; } }
@media screen and (max-width: 520px) {
  .phNone02 {
    display: none !important; } }
/*=========================================================================
  clerfix
=========================================================================*/
.clearNone {
  clear: none !important; }

.clear {
  clear: both; }

.cf,
.box,
.box02,
.box50,
.aLinkPh,
dl.nowrapBlock {
  zoom: 1;
  /* float解除 for IE6/7  */ }

.cf:after, .cf:before,
.box:after, .box:before,
.box02:after, .box02:before,
.box50:after, .box50:before,
.aLinkPh:after, .aLinkPh:before,
dl.nowrapBlock:after, dl.nowrapBlock:before {
  content: "";
  clear: both;
  display: block; }

/**↓↓利用中↓↓*******************************************************/
/*tableで使用*/
/*赤系であれば色味変更可*/
/*MOLカラーバージョン（colorMOLは$colorMainと同じ*/
/*MOLサブカラー*/
/**数字を変更する場合は「common.js」のbamListの横幅を取得箇所の数字も変更する**/
/*新フォーマット用コンテンツサイズ*/
/**色まだ未使用のため変更可**/
/**↓↓MOLリニューアル用追加分↓↓*******************************************************/
/**↓↓ここから下は変更不可↓↓*******************************************************/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 上配置*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*下から上へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*横複数行でかつ逆から配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*テキスト設定*/
/**keyframes*******************************************************/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*line-heightでできてしまうの余白を先頭と最後の行だけ取り除く************/
/**幅レスポンシブ/新フォーマット用。幅1100に対しての％。px100の場合9.0%で約100px***************/
/*フォントサイズレスポンシブ/新フォーマット用。幅520-1100に対しての設定***************/
/**media query mixin設定*******************************************************/
/*
ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
*/
#wrap {
  position: relative; }

header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10;
  letter-spacing: 0;
  line-height: 1.1;
  width: 100%; }

/*#en header {
    letter-spacing: 0.02em;
}*/
/*********************************************************
.header（ヘッダーメニュー）
*********************************************************/
.header {
  width: 100%;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(6px);
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

@media all and (min-width: 1023px) {
  header {
    height: 80px; }

  .header {
    height: 80px;
    padding: 0 0 0 20px; }
    .header #logo {
      width: 250px;
      height: auto;
      align-content: center; }

  #en .header #logo {
    width: 250px; }

  nav#gnavWrap {
    width: calc(100% - 500px);
    margin-right: 170px;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    /*--gNavLow---*/ }
    nav#gnavWrap a, nav#gnavWrap a:hover {
      display: block;
      text-decoration: none; }
    nav#gnavWrap .gNav {
      display: -webkit-flex;
      display: flex; }
    nav#gnavWrap .gNav > li {
      margin-right: 30px; }
    nav#gnavWrap .gNav > li:last-child {
      margin-right: 0; }
    nav#gnavWrap .gNav > li > a {
      padding: 5px 0 30px 0;
      color: #000;
      font-size: 16px;
      font-weight: 500; }
    nav#gnavWrap .gNav > li:hover > a {
      color: #0068b7; }
    nav#gnavWrap .gNav > li > a,
    nav#gnavWrap .gNav > li.gNavLowWrap > a {
      display: block;
      position: relative; }
    nav#gnavWrap .gNav > li > a:before,
    nav#gnavWrap .gNav > li.gNavLowWrap > a:before {
      position: absolute;
      bottom: 0;
      left: 50%;
      content: "";
      width: 0;
      height: 3px;
      background-color: transparent;
      transition-duration: 0.3s;
      transition-delay: 0.1s;
      transform: translateX(-50%); }
    nav#gnavWrap .gNav > li:hover > a:before,
    nav#gnavWrap .gNav > li.gNavLowWrap:hover > a:before {
      width: 100%;
      background-color: #00a0dc; }
    nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow {
      position: absolute;
      left: 0;
      top: 95px;
      background-image: -webkit-linear-gradient(left, #0068b7, #00a0dc);
      background-image: -o-linear-gradient(left, #0068b7, #00a0dc);
      background-image: linear-gradient(to right, #0068b7, #00a0dc);
      width: 100%;
      visibility: hidden;
      opacity: 0;
      z-index: 1;
      -webkit-transition: 0.4s ease-in-out;
      transition: 0.4s ease-in-out;
      transition-delay: 0.2s; }
      nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl {
        display: none;
        width: calc(100% - 12px);
        padding: 50px 0 60px 0;
        margin: 0 auto;
        color: #FFF; }
        nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl a {
          display: block;
          color: #FFF;
          text-decoration: none;
          font: inherit; }
        nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl a:hover {
          color: #0068b7;
          text-decoration: none; }
        nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dt {
          font-size: 34px;
          margin: 0 14px 37px 14px; }
          nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dt .enRuby {
            display: block;
            font-size: 16px;
            font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
            margin-bottom: 4px;
            font-weight: 600; }
        nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul {
          display: -webkit-flex;
          display: flex;
          -webkit-box-pack: start;
          -ms-flex-pack: start;
          justify-content: flex-start;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
          nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li {
            width: calc(25% - 28px);
            margin: 0 14px 0 14px;
            border-bottom: 1px solid #FFF; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li a {
              display: -webkit-flex;
              display: flex;
              -webkit-box-align: center;
              -ms-flex-align: center;
              align-items: center;
              padding: 5px 30px 5px 8px;
              height: 53px;
              font-size: 16px;
              font-weight: 500;
              line-height: 1.5;
              position: relative; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li a::after {
              position: absolute;
              top: 0;
              bottom: 0;
              right: 11px;
              /*position: absolute;
              top: auto;
              right: auto;
              bottom: auto;
              left: auto;*/
              display: block;
              width: 8px;
              height: 8px;
              margin: auto;
              border-top: 1px solid #0068b7;
              border-right: 1px solid #0068b7;
              content: "";
              -ms-transform: rotate(45deg);
              -webkit-transform: rotate(45deg);
              transform: rotate(45deg);
              border-top: 1px solid #FFF;
              border-right: 1px solid #FFF; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li a::before {
              position: absolute;
              top: 0;
              bottom: 0;
              right: 10px;
              width: 21px;
              height: 1px;
              margin: auto;
              background: #FFF;
              content: ""; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li a.header-window {
              background: url(../img/ico/ico-window_White.svg) no-repeat;
              background-position: right 13px center;
              background-size: 17px auto; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li a.header-window::before, nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li a.header-window::after {
              border: none;
              background-color: transparent; }
          nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li:hover {
            background: #FFF; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li:hover a {
              color: #0068b7; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li:hover a:before {
              background: #0068b7; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li:hover a:after {
              border-top: 1px solid #0068b7;
              border-right: 1px solid #0068b7; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li:hover a.header-window {
              background: url(../img/ico/ico-window.svg) no-repeat;
              background-position: right 13px center;
              background-size: 17px auto; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li:hover a.header-window::before, nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li:hover a.header-window::after {
              border: none;
              background-color: transparent; }
    nav#gnavWrap .gNav > li.gNavLowWrap:hover .gNavLow {
      visibility: visible;
      opacity: 1; }
      nav#gnavWrap .gNav > li.gNavLowWrap:hover .gNavLow dl {
        display: block; }

  #en nav#gnavWrap .gNav > li > a {
    font-size: 18px;
    font-weight: 500; }

  .gnavContact {
    position: absolute;
    top: 23px;
    right: 170px; }
    .gnavContact a {
      color: #000;
      font-weight: 500;
      background: url("../img/ico/ico-mail.svg") left 1px no-repeat;
      background-size: 20px auto;
      padding-left: 25px;
      padding-bottom: 2px;
      font-size: 12px; }
    .gnavContact a:hover {
      color: #0068b7; } }
@media all and (max-width: 1023px) {
  .header {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 0 0 15px;
    height: 60px; }
    .header #logo {
      width: 200px;
      max-width: 200px;
      height: auto; }

  #en .header #logo {
    width: 200px;
    max-width: 200px; } }
@media all and (max-width: 520px) {
  .header {
    padding: 0 0 0 10px; }
    .header #logo {
      width: 100%; }

  #en .header {
    padding: 0 0 0 10px; }
    #en .header #logo {
      width: 100%; } }
/*********************************************************
menuBtn
*********************************************************/
.menuBtn {
  position: fixed;
  z-index: 14;
  right: 0;
  top: 0;
  width: 80px;
  height: 80px;
  cursor: pointer;
  background: #00a0dc; }
  .menuBtn .menuLines {
    display: block;
    position: relative;
    margin-top: 20px; }
  .menuBtn .menuLines::before, .menuBtn .menuLines::after {
    position: absolute;
    right: 20px;
    margin: auto;
    width: 40px;
    height: 1px;
    background: #fff;
    content: "";
    -webkit-transition: 0.4s ease-in-out;
    transition: 0.4s ease-in-out; }
  .menuBtn .menuLines::before {
    top: 13px; }
  .menuBtn .menuLines::after {
    top: 25px; }

@media all and (max-width: 1023px) {
  .menuBtn .menuLines {
    margin-top: 10px; }
  .menuBtn .menuLines::before, .menuBtn .menuLines::after {
    right: 10px; } }
.menuBtn.menuBtnActive {
  /**position: absolute;をつけても#smnavWrapをfixにしているため効かない**/
  /*position: absolute;*/
  background: none; }
  .menuBtn.menuBtnActive .menuLines::before, .menuBtn.menuBtnActive .menuLines::after {
    background: #FFF; }
  .menuBtn.menuBtnActive .menuLines::before {
    -webkit-transform: translateY(2px) rotate(-315deg);
    transform: translateY(2px) rotate(-315deg);
    top: 15px; }
  .menuBtn.menuBtnActive .menuLines::after {
    -webkit-transform: translateY(-12px) rotate(315deg);
    transform: translateY(-12px) rotate(315deg);
    top: 29px; }

@media all and (max-width: 1023px) {
  .menuBtn {
    width: 60px;
    height: 60px; } }
/*********************************************************
#langSwitching
ハンバーガーメニュー開いている時は「langSwitchingActive」のclassが追加される。
レイアウトは①ヘッダー表示時と②ハンバーガーメニュー表示時もどちらも同じ。
マークアップは1つだが、掲載位置が①と②で異なるので、position: absolute;でそれぞれ絶対位置を決めている。
②の位置指定（#langSwitching.langSwitchingActive）は、smnav.scssに記述。
*********************************************************/
#langSwitching {
  position: fixed;
  top: 28px;
  right: 106px;
  z-index: 11;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  visibility: visible; }
  #langSwitching li a, #langSwitching li ._currentPage, #langSwitching li ._noLink {
    display: inline-block;
    padding: 5px 0 2px 0;
    text-align: right;
    text-decoration: none;
    font-size: 13px; }
  #langSwitching li a:hover {
    text-decoration: none; }
  #langSwitching li ._currentPage, #langSwitching li ._noLink {
    opacity: .5; }
  #langSwitching li:first-child {
    padding-right: 4px; }
  #langSwitching li:last-child {
    padding-left: 10px;
    position: relative; }
    #langSwitching li:last-child a {
      text-align: left; }
  #langSwitching li:last-child::before {
    position: absolute;
    top: 5px;
    left: -2px;
    content: "/";
    color: #000; }
  #langSwitching li a {
    position: relative;
    color: #000; }
  #langSwitching li a::after {
    position: absolute;
    display: block;
    bottom: 0;
    content: "";
    width: 100%;
    height: 1px;
    background-color: #000; }
  #langSwitching li a:hover {
    color: #0068b7; }
  #langSwitching li a:hover::after {
    background-color: #0068b7; }

@media all and (max-width: 1023px) {
  #langSwitching {
    visibility: hidden; } }
#langSwitching.langSwitchingActive {
  visibility: visible;
  max-width: 400px;
  right: 320px;
  top: 20px;
  z-index: 13; }
  #langSwitching.langSwitchingActive li:last-child::before {
    color: #FFF; }
  #langSwitching.langSwitchingActive li a, #langSwitching.langSwitchingActive li ._currentPage, #langSwitching.langSwitchingActive li ._noLink {
    color: #FFF; }
  #langSwitching.langSwitchingActive li a::after {
    background-color: #FFF; }

@media all and (max-width: 520px) {
  #langSwitching.langSwitchingActive {
    max-width: 100%;
    left: 30px; } }
/*********************************************************
表示出し入れ
*********************************************************/
@media all and (max-width: 1023px) {
  nav#gnavWrap, .gnavContact {
    display: none; } }
/*********************************************************
ニュースを開いている時のgnav表示
*********************************************************/
@media all and (min-width: 1023px) {
  #wrap.cInfo nav#gnavWrap .gNav > li#gnavInfo > a:before,
  #wrap.cInfo nav#gnavWrap .gNav > li#gnavInfo.gNavLowWrap > a:before {
    /*width: 100%;
    background-color: $colorLink;*/ } }
/**↓↓利用中↓↓*******************************************************/
/*tableで使用*/
/*赤系であれば色味変更可*/
/*MOLカラーバージョン（colorMOLは$colorMainと同じ*/
/*MOLサブカラー*/
/**数字を変更する場合は「common.js」のbamListの横幅を取得箇所の数字も変更する**/
/*新フォーマット用コンテンツサイズ*/
/**色まだ未使用のため変更可**/
/**↓↓MOLリニューアル用追加分↓↓*******************************************************/
/**↓↓ここから下は変更不可↓↓*******************************************************/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 上配置*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*下から上へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*横複数行でかつ逆から配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*テキスト設定*/
/**keyframes*******************************************************/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*line-heightでできてしまうの余白を先頭と最後の行だけ取り除く************/
/**幅レスポンシブ/新フォーマット用。幅1100に対しての％。px100の場合9.0%で約100px***************/
/*フォントサイズレスポンシブ/新フォーマット用。幅520-1100に対しての設定***************/
/**media query mixin設定*******************************************************/
/*
ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
*/
/*********************************************************
smnavWrap（ハンバーガー開いてる時のレイアウト）
*********************************************************/
#smnavWrap {
  display: none; }

#smnavWrap.smnavWrapActive {
  display: block; }

#smnavWrap ._inner {
  width: 100%;
  margin: 0 auto; }

#smnavWrap {
  background: #0068b7;
  position: absolute;
  z-index: 12;
  top: 0;
  right: 0;
  width: 100%;
  max-width: 400px;
  min-height: 100vh;
  color: #FFF;
  /**menuBTtnとlangSwitchingが絶対配置になる原因ここから****/
  position: fixed;
  height: 100%;
  /**menuBTtnとlangSwitchingが絶対配置になる原因ここまで****/
  overflow-x: hidden; }
  #smnavWrap a {
    color: #FFF;
    text-decoration: none; }
  #smnavWrap .smnavMenu dt, #smnavWrap .smnavMenu .smnavSingle {
    border-bottom: 1px solid #FFF; }
  #smnavWrap .smnavMenu dd ul li {
    border-bottom: 1px solid #FFF; }
  #smnavWrap .smnavMenu dt, #smnavWrap .smnavMenu .smnavSingle {
    font-weight: 700; }
    #smnavWrap .smnavMenu dt a, #smnavWrap .smnavMenu .smnavSingle a {
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      height: 53px;
      padding: 5px 10px;
      font: inherit;
      position: relative; }
    #smnavWrap .smnavMenu dt a::after, #smnavWrap .smnavMenu .smnavSingle a::after {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 10px;
      /*position: absolute;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;*/
      display: block;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: 1px solid #0068b7;
      border-right: 1px solid #0068b7;
      content: "";
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      border-top: 1px solid #FFF;
      border-right: 1px solid #FFF; }
    #smnavWrap .smnavMenu dt a::before, #smnavWrap .smnavMenu .smnavSingle a::before {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 9px;
      width: 18px;
      height: 1px;
      margin: auto;
      background: #FFF;
      content: ""; }
  #smnavWrap .smnavMenu dd ul li a {
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 46px;
    padding: 5px 10px 5px 10px;
    font-size: 14px !important;
    line-height: 1.2;
    font-weight: 500;
    position: relative; }
  #smnavWrap .smnavMenu dd ul li a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 10px;
    /*position: absolute;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;*/
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    border-top: 1px solid #0068b7;
    border-right: 1px solid #0068b7;
    content: "";
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 6px;
    height: 6px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF; }
  #smnavWrap .smnavMenu dd ul li a.smnav-window {
    background: url(../img/ico/ico-window_White.svg) no-repeat;
    background-position: right 5px center;
    background-size: 12px auto; }
  #smnavWrap .smnavMenu dd ul li a.smnav-window::after {
    border: none; }
  #smnavWrap .smnavMenu dt:hover, #smnavWrap .smnavMenu dd ul li:hover, #smnavWrap .smnavMenu .smnavSingle:hover {
    background: #FFF; }
    #smnavWrap .smnavMenu dt:hover a, #smnavWrap .smnavMenu dd ul li:hover a, #smnavWrap .smnavMenu .smnavSingle:hover a {
      color: #0068b7 !important; }
    #smnavWrap .smnavMenu dt:hover a::after, #smnavWrap .smnavMenu dd ul li:hover a::after, #smnavWrap .smnavMenu .smnavSingle:hover a::after {
      border-top: 1px solid #0068b7;
      border-right: 1px solid #0068b7; }
    #smnavWrap .smnavMenu dt:hover a.smnav-window, #smnavWrap .smnavMenu dd ul li:hover a.smnav-window, #smnavWrap .smnavMenu .smnavSingle:hover a.smnav-window {
      background: url(../img/ico/ico-window) no-repeat;
      background-position: right 5px center;
      background-size: 12px auto; }
    #smnavWrap .smnavMenu dt:hover a.smnav-window::after, #smnavWrap .smnavMenu dd ul li:hover a.smnav-window::after, #smnavWrap .smnavMenu .smnavSingle:hover a.smnav-window::after {
      border: none; }
  #smnavWrap .smnavMenu dt:hover a::before, #smnavWrap .smnavMenu .smnavSingle:hover a::before {
    background: #0068b7; }

@media all and (min-width: 1023px) {
  #smnavWrap {
    padding: 100px 50px 0 50px; }
    #smnavWrap .smnavMenu {
      margin-bottom: 60px; }
      #smnavWrap .smnavMenu dt, #smnavWrap .smnavMenu .smnavSingle {
        font-size: 20px; }
      #smnavWrap .smnavMenu dt.smnavLowTtl {
        display: block; }
      #smnavWrap .smnavMenu dd ul li {
        margin-left: 18px; }
      #smnavWrap .smnavMenu ._mt {
        margin-top: 25px; } }
/*1100(+左右20pxを追加した数字)以下の「_inner」幅を100%にする**/
@media all and (max-width: 1023px) {
  #smnavWrap {
    /*言語切り替えを上部に絶対配置するため、上部に余白をとる*/
    padding: 80px 40px 0 40px;
    overflow-y: scroll; }
    #smnavWrap .phNone {
      display: none; }
    #smnavWrap .smnavMenu {
      margin-bottom: 68px;
      margin-left: 0; }
      #smnavWrap .smnavMenu dd ul li {
        margin-left: 20px; }
        #smnavWrap .smnavMenu dd ul li a::after {
          right: 10px; }
      #smnavWrap .smnavMenu dt, #smnavWrap .smnavMenu .smnavSingle {
        font-size: 16px; }
      #smnavWrap .smnavMenu dt:hover, #smnavWrap .smnavMenu dd ul li:hover, #smnavWrap .smnavMenu .smnavSingle:hover {
        background: transparent; }
        #smnavWrap .smnavMenu dt:hover a, #smnavWrap .smnavMenu dd ul li:hover a, #smnavWrap .smnavMenu .smnavSingle:hover a {
          color: #FFF !important; }
        #smnavWrap .smnavMenu dt:hover a::after, #smnavWrap .smnavMenu dd ul li:hover a::after, #smnavWrap .smnavMenu .smnavSingle:hover a::after {
          border-top: 1px solid #FFF;
          border-right: 1px solid #FFF; }
        #smnavWrap .smnavMenu dt:hover a.smnav-window, #smnavWrap .smnavMenu dd ul li:hover a.smnav-window, #smnavWrap .smnavMenu .smnavSingle:hover a.smnav-window {
          background: url(../img/ico/ico-window_White.svg) no-repeat;
          background-position: right 5px center;
          background-size: 12px auto; }
        #smnavWrap .smnavMenu dt:hover a.smnav-window::after, #smnavWrap .smnavMenu dd ul li:hover a.smnav-window::after, #smnavWrap .smnavMenu .smnavSingle:hover a.smnav-window::after {
          border: none; }
      #smnavWrap .smnavMenu dt:hover a::before, #smnavWrap .smnavMenu .smnavSingle:hover a::before {
        background: #FFF; }
      #smnavWrap .smnavMenu dt a::after {
        right: 10px;
        border-top: 1px solid #FFF;
        border-right: 1px solid #FFF; }
      #smnavWrap .smnavMenu dt a::before {
        display: block; }
      #smnavWrap .smnavMenu dt.smnavLowTtl {
        display: block; }
      #smnavWrap .smnavMenu ._mt {
        margin-top: 0; }
    #smnavWrap .smnavLow {
      display: block; }
    #smnavWrap .smnavLow.smnavLowActive {
      display: block; } }
@media all and (max-width: 520px) {
  #smnavWrap {
    width: 100%;
    max-width: 100%; } }
/**↓↓利用中↓↓*******************************************************/
/*tableで使用*/
/*赤系であれば色味変更可*/
/*MOLカラーバージョン（colorMOLは$colorMainと同じ*/
/*MOLサブカラー*/
/**数字を変更する場合は「common.js」のbamListの横幅を取得箇所の数字も変更する**/
/*新フォーマット用コンテンツサイズ*/
/**色まだ未使用のため変更可**/
/**↓↓MOLリニューアル用追加分↓↓*******************************************************/
/**↓↓ここから下は変更不可↓↓*******************************************************/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 上配置*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*下から上へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*横複数行でかつ逆から配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*テキスト設定*/
/**keyframes*******************************************************/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*line-heightでできてしまうの余白を先頭と最後の行だけ取り除く************/
/**幅レスポンシブ/新フォーマット用。幅1100に対しての％。px100の場合9.0%で約100px***************/
/*フォントサイズレスポンシブ/新フォーマット用。幅520-1100に対しての設定***************/
/**media query mixin設定*******************************************************/
/*
ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
*/
/*********************************************************
footer
*********************************************************/
footer {
  display: -webkit-flex;
  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;
  background: #00a0dc;
  padding: 28px 0;
  min-height: 60px; }

@media all and (min-width: 840px) {
  footer .footer {
    max-width: 1100px;
    width: calc(100% - 200px);
    margin: 0 auto; } }
@media all and (min-width: 1366px) {
  footer .footer {
    /*width: $cInner;*/ } }
@media all and (max-width: 840px) {
  footer {
    padding: 12px 0; }
    footer .footer {
      width: calc(100% - 120px);
      margin: 0 auto;
      display: -webkit-flex;
      display: flex;
      align-items: center; } }
.footer {
  position: relative;
  color: #FFF; }
  .footer a, .footer a:hover {
    display: block;
    color: #FFF;
    text-decoration: none; }
  .footer .fnav {
    font-size: 12px;
    line-height: 1.4; }
    .footer .fnav a.window {
      background: url(../img/ico/ico-window_White.svg) right center no-repeat;
      padding: 0 22px 0 0;
      margin-right: 3px;
      background-size: 14px auto; }
  .footer .pagetop {
    position: absolute;
    right: 0;
    font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
    font-size: 12px;
    font-weight: 400; }

@media all and (min-width: 840px) {
  .footer .fnav ul {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: 83px; }
    .footer .fnav ul li {
      padding-right: 12px;
      margin-right: 10px;
      border-right: 1px solid #FFF; }
      .footer .fnav ul li a:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px; }
    .footer .fnav ul li:last-child {
      border-right: none; }
  .footer .copyright {
    font-size: 12px; }
  .footer .pagetop {
    top: 2px; }
    .footer .pagetop a {
      padding-right: 15px;
      position: relative; }
      .footer .pagetop a br {
        display: none; }
    .footer .pagetop a::after {
      position: absolute;
      top: 3px;
      bottom: 0;
      right: 0;
      margin: auto;
      /*position: absolute;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;*/
      display: block;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: 1px solid #0068b7;
      border-right: 1px solid #0068b7;
      content: "";
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      border-top: 1px solid #FFF;
      border-right: 1px solid #FFF; } }
@media all and (max-width: 840px) {
  .footer .fnav {
    margin-bottom: 35px; }
    .footer .fnav ul {
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: calc(100% - 60px); }
      .footer .fnav ul li {
        padding-right: 10px;
        margin: 0 10px 10px 0;
        border-right: 1px solid #FFF; }
      .footer .fnav ul li:last-child {
        border-right: none; }
  .footer .copyright {
    display: block;
    font-size: 10px !important;
    text-align: left; }
  .footer .pagetop {
    top: 0;
    right: 0; }
    .footer .pagetop a {
      text-align: center;
      line-height: 1.25;
      position: relative;
      padding-top: 12px; }
    .footer .pagetop a::after {
      position: absolute;
      top: 0;
      right: 0;
      left: 0;
      margin: auto;
      /*position: absolute;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;*/
      display: block;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: 1px solid #0068b7;
      border-right: 1px solid #0068b7;
      content: "";
      -ms-transform: rotate(-45deg);
      -webkit-transform: rotate(-45deg);
      transform: rotate(-45deg);
      border-top: 1px solid #FFF;
      border-right: 1px solid #FFF; }
    .footer .pagetop br {
      display: block; } }
@media all and (max-width: 520px) {
  footer {
    padding: 46px 0; }
    footer .footer {
      width: calc(100% - 60px); }
      footer .footer .pagetop {
        top: -20px;
        right: 0; } }
/**↓↓利用中↓↓*******************************************************/
/*tableで使用*/
/*赤系であれば色味変更可*/
/*MOLカラーバージョン（colorMOLは$colorMainと同じ*/
/*MOLサブカラー*/
/**数字を変更する場合は「common.js」のbamListの横幅を取得箇所の数字も変更する**/
/*新フォーマット用コンテンツサイズ*/
/**色まだ未使用のため変更可**/
/**↓↓MOLリニューアル用追加分↓↓*******************************************************/
/**↓↓ここから下は変更不可↓↓*******************************************************/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 上配置*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*下から上へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*横複数行でかつ逆から配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*テキスト設定*/
/**keyframes*******************************************************/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*line-heightでできてしまうの余白を先頭と最後の行だけ取り除く************/
/**幅レスポンシブ/新フォーマット用。幅1100に対しての％。px100の場合9.0%で約100px***************/
/*フォントサイズレスポンシブ/新フォーマット用。幅520-1100に対しての設定***************/
/**media query mixin設定*******************************************************/
/*
ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
*/
/*********************************************************
underContents
*********************************************************/
.underContents {
  padding: 0 0 100px 0;
  font-size: 16px;
  line-height: 1.7;
  font-weight: 400;
  /*直後にh3があるhrの指定*/
  /*下記以外追加しないよう注意※追加する場合は、_newBasicClass.scss内に記載してある一番上の階層class（ulやtableのanc,boxCol2,boxCol3等）のmargin-bottomの数値が下記の数値になるため*/
  /*直後にtxtSmallがあるtableの指定*/
  /*直前にp,dl,tableがある場合のcol、p、figure、table、divの指定（同じブロック内で異なる要素が続く場合の上余白を50px）*/
  /*直前にtable、dl、mar5b、mar10bがある場合の.wScrollWrap,.txtSmall,table,divの指定*/
  /*underContentsの直下で、かつ直後にh2があるfigureの指定*/ }
  .underContents::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.7) * 0.5em); }
  .underContents::after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.7) * 0.5em); }
  @media screen and (max-width: 840px) {
    .underContents {
      padding: 0 0 60px 0;
      font-size: 16px; } }
  .underContents a {
    color: #0068b7;
    text-decoration: underline;
    text-decoration-thickness: 1px; }
  .underContents a:hover {
    text-decoration: none; }
    @media screen and (max-width: 840px) {
      .underContents a:hover {
        text-decoration: underline;
        text-decoration-thickness: 1px; } }
  .underContents .txtLinkBlack a {
    color: #000;
    text-decoration: none; }
  @media screen and (min-width: 840px) {
    .underContents .txtLinkBlack a:hover {
      text-decoration: underline;
      text-decoration-thickness: 1px; } }
  .underContents .arrowListBlock a {
    color: #000; }
  .underContents strong {
    font-weight: 700; }
  .underContents hr {
    clear: both;
    margin: 100px 0 0 0; }
    @media screen and (max-width: 840px) {
      .underContents hr {
        margin: 70px 0 0 0; } }
  .underContents hr:has(+ h3) {
    margin: 40px 0 0 0; }
    @media screen and (max-width: 840px) {
      .underContents hr:has(+ h3) {
        margin: 30px 0 0 0; } }
  .underContents p, .underContents table, .underContents ul, .underContents ol, .underContents dl {
    margin-bottom: 30px; }
  .underContents li p, .underContents li table, .underContents li ul, .underContents li ol, .underContents li dl {
    margin-bottom: 20px; }
  .underContents .mar0bBelow p, .underContents .mar0bBelow table, .underContents .mar0bBelow ul, .underContents .mar0bBelow ol, .underContents .mar0bBelow dl {
    margin-bottom: 0; }
  .underContents table:has(+ .txtSmall) {
    margin-bottom: 5px; }
  .underContents p + .col, .underContents p + figure, .underContents p + table, .underContents p + div,
  .underContents dl + .col, .underContents dl + p, .underContents dl + figure, .underContents dl + table, .underContents dl + div,
  .underContents table + .col, .underContents table + p, .underContents table + figure, .underContents table + div {
    margin-top: 50px; }
  .underContents p:last-child, .underContents table:last-child, .underContents ul:last-child, .underContents ol:last-child, .underContents dl:last-child {
    margin-bottom: 0; }
  .underContents .wScrollWrap p + .col, .underContents .wScrollWrap p + figure, .underContents .wScrollWrap p + table, .underContents .wScrollWrap p + div,
  .underContents .wScrollWrap dl + .col, .underContents .wScrollWrap dl + p, .underContents .wScrollWrap dl + figure, .underContents .wScrollWrap dl + table, .underContents .wScrollWrap dl + div,
  .underContents .wScrollWrap table + .col, .underContents .wScrollWrap table + p, .underContents .wScrollWrap table + figure, .underContents .wScrollWrap table + div, .underContents li p + .col, .underContents li p + figure, .underContents li p + table, .underContents li p + div,
  .underContents li dl + .col, .underContents li dl + p, .underContents li dl + figure, .underContents li dl + table, .underContents li dl + div,
  .underContents li table + .col, .underContents li table + p, .underContents li table + figure, .underContents li table + div {
    margin-top: 0; }
  .underContents table + .txtSmall, .underContents dl + .txtSmall, .underContents .mar5b + .wScrollWrap, .underContents .mar5b + table, .underContents .mar5b + div, .underContents .mar5b + .col, .underContents .mar5b + figure, .underContents .mar10b + .wScrollWrap, .underContents .mar10b + table, .underContents .mar10b + div, .underContents .mar10b + .col, .underContents .mar10b + figure {
    margin-top: 0; }
  .underContents .innerWrap {
    width: 820px;
    margin: 0 auto 50px auto; }
    @media screen and (max-width: 1023px) {
      .underContents .innerWrap {
        width: 100%; } }
  .underContents .innerWrap:nth-last-child(1) {
    margin: 0 auto; }
  .underContents > figure:has(+ h2) {
    margin-bottom: 100px; }

/**********************************
h2 h3 h4
***********************************/
.underContents h2 {
  font-weight: 500;
  padding-bottom: 0;
  margin-bottom: 50px;
  position: relative;
  font-size: 24px;
  line-height: 1.4; }
  @media screen and (max-width: 840px) {
    .underContents h2 {
      font-size: 20px; } }
.underContents h2::after {
  position: absolute;
  left: -24px;
  top: 8px;
  content: '';
  margin: auto;
  content: "";
  display: inline-block;
  background-image: url("/polaris/assets/img/ico/ico-star.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 10px;
  height: 20px; }
  @media screen and (max-width: 840px) {
    .underContents h2::after {
      left: -20px;
      top: 6px;
      width: 8px;
      height: 20px; } }
.underContents h2.underLine {
  border-bottom: 1px solid #005396;
  padding-bottom: 9px;
  color: #0068b7; }
  .underContents h2.underLine::after {
    display: none; }
.underContents h3 {
  font-weight: 500;
  position: relative;
  font-size: 20px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding-left: 19px;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 46px;
  color: #000000; }
  @media screen and (max-width: 840px) {
    .underContents h3 {
      font-size: 16px;
      padding-left: 12px;
      margin-top: 0;
      margin-bottom: 30px; } }
.underContents h3::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3px;
  height: 100%;
  content: "";
  background: #00a0dc; }
.underContents h4 {
  font-weight: 500;
  position: relative;
  font-size: 18px;
  line-height: 1.4;
  padding-left: 19px;
  margin-top: 60px;
  margin-bottom: 20px; }
  @media screen and (max-width: 840px) {
    .underContents h4 {
      font-size: 16px;
      padding-left: 12px;
      margin-top: 16px;
      margin-bottom: 10px; } }
.underContents h4::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3px;
  height: 100%;
  content: "";
  background: #cccccc; }
.underContents .txtLead {
  font-weight: 500;
  color: #0068b7;
  font-size: 22px;
  border-bottom: none !important;
  line-height: 1.4;
  padding: 0;
  margin-bottom: 25px; }
  .underContents .txtLead::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  .underContents .txtLead::after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  @media screen and (max-width: 840px) {
    .underContents .txtLead {
      font-size: 18px;
      padding-left: 0; } }
.underContents .txtLead._txtBig {
  font-size: 36px; }
.underContents .ttlLink {
  display: block;
  padding: 0;
  border: none;
  margin-bottom: 30px;
  font-weight: 500;
  font-size: 20px; }
  .underContents .ttlLink a {
    display: block;
    padding: 0 30px 5px 0;
    border-bottom: 1px solid #005396;
    text-decoration: none !important;
    background: url(../img/ico/ico-arrow.svg) no-repeat;
    background-position: right bottom 15px;
    background-size: 18px auto;
    color: #005396;
    font: inherit; }
    @media screen and (min-width: 840px) {
      .underContents .ttlLink a {
        background-position: right 10px bottom 15px;
        -webkit-transition: 0.3s ease-in-out;
        transition: 0.3s ease-in-out; } }
    @media screen and (max-width: 840px) {
      .underContents .ttlLink a {
        padding: 0 30px 10px 0; } }
  @media screen and (max-width: 840px) {
    .underContents .ttlLink {
      font-size: 16px; } }
@media screen and (min-width: 840px) {
  .underContents .ttlLink:hover a {
    background-position: right bottom 15px; } }
.underContents .txtLead::after, .underContents .ttlLink:after {
  position: relative; }
.underContents h5 {
  font-weight: 500;
  font-size: 18px;
  margin-bottom: 15px; }
  @media screen and (max-width: 840px) {
    .underContents h5 {
      font-size: 16px;
      margin-bottom: 10px; } }
.underContents h2 span, .underContents h3 span, .underContents h4 span, .underContents h5 span {
  font: inherit; }

/**********************************
第二階層 見出し（画像あり）
***********************************/
@media screen and (min-width: 840px) {
  .cIndex {
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 16px);
    margin-left: -8px; } }
@media screen and (min-width: 840px) {
  .cIndex li {
    width: calc(100% / 3 - 16px);
    margin: 0 8px 16px 8px; } }
@media screen and (max-width: 840px) {
  .cIndex li {
    margin-bottom: 20px; } }
.cIndex li a {
  display: block;
  position: relative; }
  .cIndex li a ._cImg {
    width: 100%;
    height: 66.6%;
    overflow: hidden;
    position: relative; }
    .cIndex li a ._cImg img {
      display: block;
      width: 100%; }
      @media screen and (min-width: 840px) {
        .cIndex li a ._cImg img {
          -webkit-transform: scale(1);
          transform: scale(1);
          -webkit-transition: 0.4s ease-in-out;
          transition: 0.4s ease-in-out; } }
  .cIndex li a ._cImg::after {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    content: '';
    width: 100%;
    height: 100%;
    background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.7) 100%);
    background-image: -o-linear-gradient(rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.7) 100%);
    background-image: linear-gradient(rgba(255, 255, 255, 0) 50%, rgba(0, 0, 0, 0.7) 100%); }
  .cIndex li a ._ttl {
    display: block;
    position: absolute;
    left: 0;
    bottom: 15px;
    padding: 0 20px;
    color: #FFF;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4; }
@media screen and (min-width: 840px) {
  .cIndex li a:hover ._cImg img {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); } }
@media screen and (max-width: 840px) {
  .cIndex li:nth-last-child(1) {
    margin-bottom: 0; } }

.cIndex:nth-last-child(1) {
  margin-bottom: 0; }

@media screen and (min-width: 840px) {
  .cIndex._col2 {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    margin-left: 0; }
    .cIndex._col2 li {
      width: calc(50% - 8px);
      margin: 0 0 20px 0; }
    .cIndex._col2 li:nth-last-child(1), .cIndex._col2 li:nth-last-child(2):nth-child(2n+1) {
      margin-bottom: 0; } }

@media screen and (min-width: 840px) {
  .cIndex._col3 {
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 16px);
    margin-left: -8px; }
    .cIndex._col3 li {
      width: calc(100% / 3 - 16px);
      margin: 0 8px 16px 8px; }
    .cIndex._col3 li:nth-last-child(1),
    .cIndex._col3 li:nth-last-child(2):nth-child(3n+1),
    .cIndex._col3 li:nth-last-child(2):nth-child(3n+2),
    .cIndex._col3 li:nth-last-child(3):nth-child(3n+1) {
      margin-bottom: 0; } }

.cIndex._col2 li a ._cImg::before, .cIndex._col3 li a ._cImg::before {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 100%;
  height: 100%;
  z-index: 1 !important;
  background: url("../img/ico/ico-arrowCircle.svg") no-repeat;
  background-position: right 29px bottom 23px; }
  @media screen and (max-width: 840px) {
    .cIndex._col2 li a ._cImg::before, .cIndex._col3 li a ._cImg::before {
      background-position: right 16px bottom 22px;
      background-size: 30px auto; } }
.cIndex._col2 li a ._ttl, .cIndex._col3 li a ._ttl {
  left: 10px;
  bottom: 30px;
  font-size: 17px;
  font-weight: 700;
  padding-right: 60px; }
  @media screen and (max-width: 840px) {
    .cIndex._col2 li a ._ttl, .cIndex._col3 li a ._ttl {
      font-size: 16px;
      left: -2px;
      bottom: 18px; } }
.cIndex._col2 li a.pdf, .cIndex._col3 li a.pdf {
  background: none;
  padding: 0;
  margin-right: 0; }
  .cIndex._col2 li a.pdf ._cImg::before, .cIndex._col3 li a.pdf ._cImg::before {
    background: url(../img/ico/ico-pdf_Red.svg) no-repeat;
    background-size: 25px auto;
    background-position: right 29px bottom 23px; }
.cIndex._col2 li a.window, .cIndex._col3 li a.window {
  background: none;
  padding: 0;
  margin-right: 0; }
  .cIndex._col2 li a.window ._cImg::before, .cIndex._col3 li a.window ._cImg::before {
    background: url(../img/ico/ico-window_White.svg) no-repeat;
    background-size: 25px auto;
    background-position: right 29px bottom 23px; }
@media screen and (min-width: 840px) {
  .cIndex._col2 li.w100, .cIndex._col3 li.w100 {
    margin-bottom: 20px; } }
.cIndex._col2 li.w100 a, .cIndex._col3 li.w100 a {
  text-decoration: none; }
  @media screen and (min-width: 840px) {
    .cIndex._col2 li.w100 a ._cImg, .cIndex._col3 li.w100 a ._cImg {
      width: 100%;
      height: 324px;
      overflow: hidden; }
    .cIndex._col2 li.w100 a ._ttl, .cIndex._col3 li.w100 a ._ttl {
      left: auto;
      right: 30px; } }
@media screen and (min-width: 840px) {
  .cIndex._col2 li.w100 a._bg ._cImg, .cIndex._col3 li.w100 a._bg ._cImg {
    width: 100%;
    height: 66.6%;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .cIndex._col2 li.w100 a._bg ._cImg span, .cIndex._col3 li.w100 a._bg ._cImg span {
      display: block; }
    .cIndex._col2 li.w100 a._bg ._cImg ._img, .cIndex._col3 li.w100 a._bg ._cImg ._img {
      width: 50%; }
      .cIndex._col2 li.w100 a._bg ._cImg ._img img, .cIndex._col3 li.w100 a._bg ._cImg ._img img {
        width: 100%; }
    .cIndex._col2 li.w100 a._bg ._cImg ._bgGrad, .cIndex._col3 li.w100 a._bg ._cImg ._bgGrad {
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 35%, #0068b7 49%, #00a0dc 100%);
      background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0) 35%, #0068b7 49%, #00a0dc 100%);
      background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 35%, #0068b7 49%, #00a0dc 100%); }
  .cIndex._col2 li.w100 a._bg ._txtLead, .cIndex._col3 li.w100 a._bg ._txtLead {
    position: absolute;
    right: 0;
    top: 0;
    color: #FFF !important;
    text-decoration: none !important;
    padding: 0 40px 0 20px;
    width: 45%;
    height: 100%;
    letter-spacing: 0.05em;
    font-size: clamp(12px, 1.1vw, 16px);
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .cIndex._col2 li.w100 a._bg ._txtLead span, .cIndex._col3 li.w100 a._bg ._txtLead span {
      display: block;
      margin-top: -10px; }
      .cIndex._col2 li.w100 a._bg ._txtLead span ._txtSmall, .cIndex._col3 li.w100 a._bg ._txtLead span ._txtSmall {
        margin-top: 5px;
        font-size: clamp(10px, 12px, 12px); } }
@media screen and (max-width: 840px) {
  .cIndex._col2 li.w100 a._bg ._cImg::before, .cIndex._col3 li.w100 a._bg ._cImg::before {
    background: none; }
  .cIndex._col2 li.w100 a._bg ._txtPart, .cIndex._col3 li.w100 a._bg ._txtPart {
    background-image: -webkit-linear-gradient(bottom, #00a0dc, #0068b7);
    background-image: -o-linear-gradient(bottom, #00a0dc, #0068b7);
    background-image: linear-gradient(to top, #00a0dc, #0068b7);
    padding: 20px 15px 25px 15px;
    position: relative; }
    .cIndex._col2 li.w100 a._bg ._txtPart ._txtLead, .cIndex._col3 li.w100 a._bg ._txtPart ._txtLead {
      display: block;
      color: #FFF;
      margin-bottom: 20px; }
    .cIndex._col2 li.w100 a._bg ._txtPart ._ttl, .cIndex._col3 li.w100 a._bg ._txtPart ._ttl {
      position: static;
      padding: 0; }
  .cIndex._col2 li.w100 a._bg ._txtPart::before, .cIndex._col3 li.w100 a._bg ._txtPart::before {
    position: absolute;
    left: 0;
    top: 0;
    content: '';
    width: 100%;
    height: 100%;
    z-index: 1 !important;
    background: url("../img/ico/ico-arrowCircle.svg") no-repeat;
    background-position: right 16px bottom 22px;
    background-size: 30px auto; } }
.cIndex._col2 li.w100 a._bg ._cImg::after, .cIndex._col3 li.w100 a._bg ._cImg::after {
  position: static; }

@media screen and (min-width: 840px) {
  .cIndex._col3 li a ._cImg::before {
    background-position: right 16px bottom 10px;
    background-size: 34px auto; }
  .cIndex._col3 li a ._ttl {
    left: 0;
    bottom: 15px;
    font-size: 16px; }
  .cIndex._col3 li a.pdf ._cImg::before {
    background-position: right 16px bottom 10px;
    background-size: 23px auto; }
  .cIndex._col3 li a.window ._cImg::before {
    background-position: right 16px bottom 12px;
    background-size: 23px auto; } }
/**********************************
第三階層 見出し（上から画像・見出し・説明の順で並んでいる場合）
***********************************/
.imgTopIndex {
  text-decoration: none !important; }
  .imgTopIndex dt, .imgTopIndex ._ttl {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    margin-bottom: 13px;
    color: #0068b7;
    text-decoration: none; }
    .imgTopIndex dt::before, .imgTopIndex ._ttl::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
    .imgTopIndex dt::after, .imgTopIndex ._ttl::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
    .imgTopIndex dt figure, .imgTopIndex ._ttl figure {
      margin-bottom: 15px; }
      @media screen and (max-width: 840px) {
        .imgTopIndex dt figure, .imgTopIndex ._ttl figure {
          margin-bottom: 20px; } }
  .imgTopIndex dd, .imgTopIndex ._read {
    font-size: 16px;
    line-height: 1.7;
    text-decoration: none;
    color: #000; }
    .imgTopIndex dd::before, .imgTopIndex ._read::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.7) * 0.5em); }
    .imgTopIndex dd::after, .imgTopIndex ._read::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.7) * 0.5em); }
  .imgTopIndex span, .imgTopIndex a, .imgTopIndex sub, .imgTopIndex sup {
    font: inherit; }
  .imgTopIndex ._detail {
    display: block;
    margin-bottom: 13px; }

/**********************************
第四階層 見出し（テキストのみの場合）
***********************************/
.cIndexTxt li {
  margin-bottom: 30px; }
  .cIndexTxt li a, .cIndexTxt li a:hover {
    color: #005396 !important;
    text-decoration: none !important; }
  .cIndexTxt li a {
    display: block;
    height: 80px;
    background: #f2f2ef;
    font-weight: 500;
    line-height: 1.4;
    position: relative; }
    .cIndexTxt li a span {
      font: inherit; }
    .cIndexTxt li a .ttl {
      display: -webkit-flex;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: 100%;
      height: 100%;
      position: relative;
      padding-right: 50px;
      padding-left: 40px;
      letter-spacing: 0;
      text-align: center; }
    .cIndexTxt li a .ttl::before, .cIndexTxt li a .ttl::after {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 24px;
      margin: auto;
      content: "";
      -webkit-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; }
    .cIndexTxt li a .ttl::before {
      /*position: absolute;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;*/
      display: block;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: 1px solid #0068b7;
      border-right: 1px solid #0068b7;
      content: "";
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      border-top: 1px solid #005396;
      border-right: 1px solid #005396; }
    .cIndexTxt li a .ttl::after {
      width: 21px;
      height: 1px;
      background: #005396; }
    .cIndexTxt li a .ttl._pdf::before, .cIndexTxt li a .ttl._pdf::after {
      border: none;
      width: auto;
      height: auto;
      background: none; }
    .cIndexTxt li a .ttl._pdf::after {
      position: absolute;
      right: 25px;
      top: 0;
      bottom: 0;
      margin: auto;
      width: 25px;
      height: 32px;
      content: url("../img/ico/ico-pdf_Red.svg"); }
  .cIndexTxt li a:before {
    position: absolute;
    left: 0;
    top: 0;
    content: "";
    width: 10px;
    height: 80px;
    background-image: -webkit-linear-gradient(bottom, #0068b7, #00a0dc);
    background-image: -o-linear-gradient(bottom, #0068b7, #00a0dc);
    background-image: linear-gradient(to top, #0068b7, #00a0dc); }
  @media screen and (min-width: 840px) {
    .cIndexTxt li a:hover .ttl::before, .cIndexTxt li a:hover .ttl::after {
      right: 18px; }
    .cIndexTxt li a:hover .ttl._pdf::after {
      right: 25px; } }

/*********************************************************
bnrLink（バナーリンク）
*********************************************************/
a.bnrLink:hover img {
  opacity: 0.8; }

/*********************************************************
relatedLink（関連リンク）
*********************************************************/
.relatedLink {
  margin: 0 auto 30px auto;
  border: 1px solid #c4c4c4;
  font-size: 14px;
  line-height: 1.4; }
  @media screen and (min-width: 840px) {
    .relatedLink {
      padding: 30px 40px; }
      .relatedLink a {
        color: #000 !important;
        text-decoration: none !important; }
      .relatedLink a:hover {
        color: #000 !important;
        text-decoration: underline !important;
        text-decoration-thickness: 1px !important; } }
  @media screen and (max-width: 840px) {
    .relatedLink {
      margin: 0 auto 30px auto;
      padding: 20px; }
      .relatedLink a {
        color: #000 !important;
        text-decoration: none !important; } }
  .relatedLink .pdf {
    background-size: 17px auto; }
  .relatedLink span.pdf {
    background-size: 17px auto;
    font-size: 12px; }
  .relatedLink li {
    /*display: block;*/
    margin-bottom: 15px; }
  .relatedLink li:last-child {
    margin-bottom: 0; }
  .relatedLink dt {
    font-weight: 500;
    font-size: 18px;
    margin-bottom: 20px; }
    @media screen and (max-width: 840px) {
      .relatedLink dt {
        font-size: 16px; } }
  .relatedLink dd:last-child {
    margin-bottom: 0; }
  .relatedLink ul:last-child {
    margin-bottom: 0; }

.relatedLink:last-child {
  margin: 0 auto !important; }
  @media screen and (max-width: 840px) {
    .relatedLink:last-child {
      margin: 0 auto !important; } }

.relatedLink._txtLink a {
  color: #0068b7 !important; }

/*直前に.relatedLinkがある場合の.col._col3の指定*/
@media screen and (min-width: 840px) {
  .relatedLink + .col._col3 {
    margin-top: 30px; } }
@media screen and (max-width: 840px) {
  .relatedLink + .col._col3 figure {
    margin: 0 0 10px 0 !important; }
    .relatedLink + .col._col3 figure img {
      max-width: 260px; } }

/*直前に.relatedLinkがない場合はimg画像に._bnrを追加する*/
@media screen and (max-width: 840px) {
  .col._col3 figure img._bnr {
    max-width: 260px; } }

/*年月日を入れる場合*/
.relatedLink._time li time, .relatedLink._time li a, .relatedLink._time li ._noLink, .relatedLink._time ._txtSmall time, .relatedLink._time ._txtSmall a, .relatedLink._time ._txtSmall ._noLink {
  display: block; }
@media screen and (min-width: 840px) {
  .relatedLink._time li, .relatedLink._time ._txtSmall {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    /*直後にaがあるtimeの指定*/
    /*直前にtimeがある場合のa.、_noLinkの指定*/ }
    .relatedLink._time li time:has(+ a), .relatedLink._time li time:has(+ ._noLink), .relatedLink._time ._txtSmall time:has(+ a), .relatedLink._time ._txtSmall time:has(+ ._noLink) {
      width: 110px; }
    .relatedLink._time li time + a, .relatedLink._time li time + ._noLink, .relatedLink._time ._txtSmall time + a, .relatedLink._time ._txtSmall time + ._noLink {
      width: calc(100% - 110px); } }
@media screen and (max-width: 840px) {
  .relatedLink._time li, .relatedLink._time ._txtSmall {
    display: block; }
    .relatedLink._time li time, .relatedLink._time ._txtSmall time {
      margin-bottom: 5px; } }

@media screen and (min-width: 840px) {
  #en .relatedLink._time li, #en .relatedLink._time ._txtSmall {
    /*直後にaがあるtimeの指定*/
    /*直前にtimeがある場合のaの指定*/ }
    #en .relatedLink._time li time:has(+ a), #en .relatedLink._time li time:has(+ ._noLink), #en .relatedLink._time ._txtSmall time:has(+ a), #en .relatedLink._time ._txtSmall time:has(+ ._noLink) {
      width: 130px; }
    #en .relatedLink._time li time + a, #en .relatedLink._time li time + ._noLink, #en .relatedLink._time ._txtSmall time + a, #en .relatedLink._time ._txtSmall time + ._noLink {
      width: calc(100% - 130px); } }

table.relatedLinkTable {
  border: 1px solid #c4c4c4; }
  table.relatedLinkTable th, table.relatedLinkTable td {
    border: 1px solid #c4c4c4; }
  @media screen and (min-width: 840px) {
    table.relatedLinkTable td.relatedLink {
      padding: 10px 40px; } }
  @media screen and (max-width: 840px) {
    table.relatedLinkTable th, table.relatedLinkTable td, table.relatedLinkTable td.relatedLink {
      border: none;
      margin: 0 auto 0 auto !important;
      padding: 20px;
      border-bottom: 1px solid #c4c4c4; }
    table.relatedLinkTable tr:last-child td:last-child, table.relatedLinkTable tr:last-child td.relatedLink:last-child {
      border-bottom: none; }
    table.relatedLinkTable tr > td.relatedLink {
      border-bottom: 1px dotted #c4c4c4; } }

/*********************************************************
BOXごとリンク
*********************************************************/
.aLinkBox {
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #000 !important;
  text-decoration: none !important;
  margin-bottom: 20px !important; }
  .aLinkBox figure {
    width: 170px;
    margin-right: 16px; }
    @media screen and (max-width: 520px) {
      .aLinkBox figure {
        width: 130px !important; } }
  .aLinkBox ._ttl {
    width: calc(100% - 186px);
    color: #000; }
    @media screen and (max-width: 520px) {
      .aLinkBox ._ttl {
        width: calc(100% - 146px); } }

@media screen and (min-width: 840px) {
  .aLinkBox:hover {
    text-decoration: underline !important;
    text-decoration-thickness: 1px; } }

/*********************************************************
txtSet txt800
*********************************************************/
.txtSet {
  font-size: 16px;
  letter-spacing: 0.075em;
  line-height: 2.2;
  margin-bottom: 50px; }
  .txtSet p, .txtSet ul, .txtSet table {
    margin-bottom: 20px; }
  @media screen and (max-width: 840px) {
    .txtSet {
      font-size: 14px;
      letter-spacing: 0.05em;
      margin-bottom: 30px; }
      .txtSet p, .txtSet ul, .txtSet table {
        margin-bottom: 15px; }
      .txtSet .rPhoto, .txtSet .lPhoto {
        padding-top: 10px; } }
  .txtSet .txtSmall, .txtSet .txtSmall02 {
    line-height: 1.7; }
  .txtSet .exp01 {
    text-indent: -1.0em;
    padding-left: 1.3em; }
  .txtSet .exp01b {
    text-indent: -1.50em;
    padding-left: 1.9em; }
  .txtSet .exp02 {
    text-indent: -2.4em;
    padding-left: 2.7em; }
  .txtSet .exp02b {
    text-indent: -2.9em;
    padding-left: 3.3em; }
  .txtSet table {
    letter-spacing: 0;
    line-height: 1.4; }
  @media screen and (max-width: 840px) {
    .txtSet .exp01 {
      text-indent: -1em;
      padding-left: 1em; }
    .txtSet .exp01b {
      text-indent: -1.5em;
      padding-left: 1.5em; }
    .txtSet .exp02 {
      text-indent: -2.1em;
      padding-left: 2.1em; }
    .txtSet .exp02b {
      text-indent: -2.5em;
      padding-left: 2.5em; } }

.txt800 {
  width: 800px;
  margin-left: auto;
  margin-right: auto; }

.txtSet > .txt800 {
  margin-bottom: 30px; }
  @media screen and (max-width: 840px) {
    .txtSet > .txt800 {
      margin-bottom: 20px; } }

@media screen and (max-width: 1023px) {
  .txt800 {
    width: 100%; } }
/*=========================================================================
  clerfix
=========================================================================*/
.yymm {
  zoom: 1;
  /* float解除 for IE6/7  */ }

.yymm:after, .yymm:before {
  content: "";
  clear: both;
  display: block; }

/**↓↓利用中↓↓*******************************************************/
/*tableで使用*/
/*赤系であれば色味変更可*/
/*MOLカラーバージョン（colorMOLは$colorMainと同じ*/
/*MOLサブカラー*/
/**数字を変更する場合は「common.js」のbamListの横幅を取得箇所の数字も変更する**/
/*新フォーマット用コンテンツサイズ*/
/**色まだ未使用のため変更可**/
/**↓↓MOLリニューアル用追加分↓↓*******************************************************/
/**↓↓ここから下は変更不可↓↓*******************************************************/
/*アイテム横軸 中央よせ*/
/*アイテム横軸 左側よせてに配置*/
/*アイテム横軸 右側よせてに配置（右から配置ではないので注意）*/
/*アイテム縦軸 上配置*/
/*アイテム縦軸 中央配置*/
/*アイテム縦軸 後尾配置*/
/*最初と最後のアイテムは端に残りは等間隔*/
/*全てのアイテムは等間隔*/
/*上から下へ垂直方向*/
/*下から上へ垂直方向*/
/*アイテム横軸 右から配置*/
/*横一行に配置*/
/*横複数行に配置*/
/*横複数行でかつ逆から配置*/
/*角丸*/
/*矢印 135が下、-45が上向き、45が右*/
/*テキスト設定*/
/**keyframes*******************************************************/
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/*line-heightでできてしまうの余白を先頭と最後の行だけ取り除く************/
/**幅レスポンシブ/新フォーマット用。幅1100に対しての％。px100の場合9.0%で約100px***************/
/*フォントサイズレスポンシブ/新フォーマット用。幅520-1100に対しての設定***************/
/**media query mixin設定*******************************************************/
/*
ブレイクポイント：ヘッダー切り替えは1023、TOPは1919, 1366, 840, 520、CONTENTSは1023, 840, 520
*/
/*********************************************************
contentsWrap（大枠基本設定）
*********************************************************/
@media all and (min-width: 1023px) {
  .contentsWrap {
    margin-top: 80px; } }
@media all and (max-width: 1023px) {
  .contentsWrap {
    margin-top: 60px; } }
/*********************************************************
pNav
*********************************************************/
#pNav {
  background: rgba(0, 83, 150, 0.05); }
  #pNav ul {
    padding: 12px 0 10px 0; }
    #pNav ul li {
      display: inline-block;
      position: relative;
      padding-right: 13px;
      margin-right: 11px;
      margin-top: 3px; }
    #pNav ul li::after {
      display: inline-block;
      position: absolute;
      right: 0;
      bottom: 2px;
      /*position: absolute;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;*/
      display: block;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: 1px solid #0068b7;
      border-right: 1px solid #0068b7;
      content: "";
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      width: 6px;
      height: 6px;
      border-top: 1px solid #000;
      border-right: 1px solid #000; }
    #pNav ul li:last-child::after {
      position: static;
      border: none; }
    #pNav ul li a, #pNav ul li span {
      font-weight: 500;
      font-size: 12px;
      line-height: 1.4; }
      #pNav ul li a::before, #pNav ul li span::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.4) * 0.5em); }
      #pNav ul li a::after, #pNav ul li span::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.4) * 0.5em); }
    #pNav ul li a {
      color: #0068b7;
      text-decoration: underline;
      text-decoration-thickness: 1px; }

@media screen and (max-width: 840px) {
  #pNav ul {
    padding: 6px 0 5px 0; }
    #pNav ul li {
      margin-top: 5px; } }
/**********************************
MV
***********************************/
.main {
  position: relative;
  overflow: hidden;
  width: 100%;
  -webkit-background-size: cover;
  background-size: cover;
  background-repeat: no-repeat;
  /*840*/ }
  @media screen and (min-width: 840px) {
    .main {
      background-position: right center;
      background-image: url("/polaris/assets/img/img-main.jpg");
      padding-top: 44%; } }
  @media screen and (max-width: 1023px) {
    .main {
      background-position: right center;
      background-image: url("/polaris/assets/img/img-main.jpg");
      padding-top: 48%; } }
  @media screen and (max-width: 840px) {
    .main {
      background-position: right top;
      background-image: url("/polaris/assets/img/img-main-sp.jpg");
      padding-top: 120%; } }
  @media screen and (max-width: 520px) {
    .main {
      background-position: right top;
      background-image: url("/polaris/assets/img/img-main-sp.jpg");
      padding-top: 140%; } }
  .main .mainBg {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100%; }
    @media screen and (max-width: 840px) {
      .main .mainBg {
        height: 100%; } }
    .main .mainBg img {
      -moz-user-select: none;
      -ms-user-select: none;
      -khtml-user-select: none;
      -webkit-user-select: none;
      -webkit-touch-callout: none;
      user-select: none;
      touch-callout: none; }

.copyL .mainTxt {
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #FFF; }
  @media screen and (min-width: 840px) {
    .copyL .mainTxt {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 4.1%;
      bottom: 0;
      margin-bottom: 10%; }
    @-moz-document url-prefix() {
      .copyL .mainTxt {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 40px;
        margin-bottom: 0; } } }
  @media screen and (max-width: 1366px) {
    .copyL .mainTxt {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      width: 90%;
      height: 39%;
      position: absolute;
      left: 5%;
      bottom: 12%;
      margin-top: 0; }
    @-moz-document url-prefix() {
      .copyL .mainTxt {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 5px;
        margin-bottom: 80px; } } }
  @media screen and (max-width: 840px) {
    .copyL .mainTxt {
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: 90%;
      height: 39%;
      position: absolute;
      left: 5%;
      bottom: 20%;
      margin-top: 0; } }
  @media screen and (max-width: 520px) {
    .copyL .mainTxt {
      bottom: 25%;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; } }
  .copyL .mainTxt dt {
    font-weight: 600;
    opacity: 0;
    text-shadow: 0 2px 20px rgba(38, 59, 112, 0.8); }
    @media screen and (min-width: 840px) {
      .copyL .mainTxt dt {
        animation: fadeIn 0.2s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.2s linear 0.3s 1 forwards;
        width: 100%;
        margin-left: 0;
        font-size: 5.5vw; } }
    @media screen and (max-width: 840px) {
      .copyL .mainTxt dt {
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards;
        width: 90%;
        margin: 0;
        font-size: 10.5vw;
        text-align: center; } }
    @media screen and (max-width: 520px) {
      .copyL .mainTxt dt {
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards;
        width: 100%;
        margin: 0;
        font-size: 10.5vw;
        line-height: 1.0;
        text-align: center; } }
  .copyL .mainTxt dd {
    font-weight: 400;
    opacity: 0;
    text-shadow: 0 2px 20px rgba(38, 59, 112, 0.8);
    letter-spacing: 0.08em;
    line-height: 1.5;
    /*840*/ }
    .copyL .mainTxt dd::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.5) * 0.5em); }
    .copyL .mainTxt dd::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.5) * 0.5em); }
    @media screen and (min-width: 840px) {
      .copyL .mainTxt dd {
        margin-top: 1.5em;
        font-size: 1.7vw;
        animation: fadeIn 0.2s linear 1.6s 1 forwards;
        -webkit-animation: fadeIn 0.2s linear 1.6s 1 forwards; } }
    @media screen and (max-width: 840px) {
      .copyL .mainTxt dd {
        margin-top: 1.5em;
        font-size: 3.3vw;
        width: 90%;
        text-align: center;
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards; } }
    @media screen and (max-width: 520px) {
      .copyL .mainTxt dd {
        margin-top: 1.5em;
        font-size: 3.3vw;
        width: 100%;
        text-align: center;
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards; } }

#en .main .mainTxt dd {
  letter-spacing: 0;
  font-size: 1.35vw; }
  @media screen and (max-width: 840px) {
    #en .main .mainTxt dd {
      font-size: 2.7vw; } }

/**********************************
h1LineWrap
***********************************/
.h1LineWrap {
  position: relative;
  padding: 10px 0 10px 0;
  margin: 100px auto 55px auto; }
  @media screen and (max-width: 840px) {
    .h1LineWrap {
      padding: 0;
      margin: 60px auto 30px auto; } }
  .h1LineWrap h1 {
    color: #000000;
    font-weight: 400;
    font-size: 34px;
    line-height: 1.4; }
    @media screen and (max-width: 840px) {
      .h1LineWrap h1 {
        font-size: 20px; } }
    .h1LineWrap h1 span, .h1LineWrap h1 a {
      font: inherit; }
    .h1LineWrap h1 ._num, .h1LineWrap h1 ._cat {
      display: block;
      font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
      font-weight: 700; }
    .h1LineWrap h1 ._num {
      font-size: 20px;
      line-height: 1.2;
      margin-bottom: 6px; }
      @media screen and (max-width: 840px) {
        .h1LineWrap h1 ._num {
          font-size: 16px; } }
    .h1LineWrap h1 ._cat {
      font-size: 28px;
      line-height: 1.2;
      margin-bottom: 1px; }
      @media screen and (max-width: 840px) {
        .h1LineWrap h1 ._cat {
          font-size: 16px; } }

/**********************************
Information h1
***********************************/
.h1LineWrap.informationH1 {
  position: relative;
  padding: 10px 0 10px 0;
  margin: 100px auto 55px auto; }
  @media screen and (max-width: 840px) {
    .h1LineWrap.informationH1 {
      padding: 0;
      margin: 50px auto 30px auto; } }
  .h1LineWrap.informationH1 h1 {
    color: #000000;
    font-weight: 400;
    font-size: 34px;
    line-height: 1.4; }
    .h1LineWrap.informationH1 h1::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
    .h1LineWrap.informationH1 h1::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
    @media screen and (max-width: 840px) {
      .h1LineWrap.informationH1 h1 {
        font-size: 20px; } }
    .h1LineWrap.informationH1 h1 span, .h1LineWrap.informationH1 h1 a {
      font: inherit; }
    .h1LineWrap.informationH1 h1 ._num, .h1LineWrap.informationH1 h1 ._cat {
      display: block;
      font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
      font-weight: 700; }
    .h1LineWrap.informationH1 h1 ._num {
      font-size: 20px;
      line-height: 1.2;
      margin-bottom: 6px; }
      @media screen and (max-width: 840px) {
        .h1LineWrap.informationH1 h1 ._num {
          font-size: 16px; } }
    .h1LineWrap.informationH1 h1 ._cat {
      font-size: 28px;
      line-height: 1.2;
      margin-bottom: 1px; }
      @media screen and (max-width: 840px) {
        .h1LineWrap.informationH1 h1 ._cat {
          font-size: 16px; } }
    .h1LineWrap.informationH1 h1::after {
      display: none; }

.h1LineWrap::before {
  position: absolute;
  left: -30px;
  top: 20px;
  content: '';
  margin: auto;
  content: "";
  display: inline-block;
  background-image: url("/polaris/assets/img/ico/ico-star.svg");
  background-size: cover;
  background-repeat: no-repeat;
  width: 16px;
  height: 30px; }
  @media screen and (max-width: 840px) {
    .h1LineWrap::before {
      left: -20px;
      top: 6px;
      width: 8px;
      height: 20px; } }

.h1LineWrap.informationH1 h1::before {
  display: none; }

/*右にアイコンがある場合のh1*/
@media screen and (min-width: 840px) {
  .h1IcoWrap {
    display: -webkit-flex;
    display: flex;
    margin-bottom: 100px; }
    .h1IcoWrap .h1LineWrapIco {
      width: calc(100% - 230px); }
      .h1IcoWrap .h1LineWrapIco ._lead {
        font-size: 16px;
        padding-right: 60px; } }
@media all and (min-width: 1023px) {
  .h1IcoWrap .h1LineWrapIco {
    width: 76%; } }
@media screen and (max-width: 840px) {
  .h1IcoWrap {
    margin-bottom: 60px; }
    .h1IcoWrap .h1LineWrapIco ._lead {
      font-size: 16px; } }
.h1IcoWrap .h1LineWrapIco .h1LineWrap {
  margin-bottom: 40px; }
.h1IcoWrap .h1LineWrapIco ._lead {
  line-height: 1.7;
  font-weight: 400; }
  .h1IcoWrap .h1LineWrapIco ._lead::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.7) * 0.5em); }
  .h1IcoWrap .h1LineWrapIco ._lead::after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.7) * 0.5em); }
@media screen and (min-width: 840px) {
  .h1IcoWrap figure._ico {
    margin-top: 95px;
    width: 200px;
    text-align: right; } }
@media all and (min-width: 1023px) {
  .h1IcoWrap figure._ico {
    width: 24%; } }
@media screen and (max-width: 840px) {
  .h1IcoWrap figure._ico {
    text-align: center;
    margin-bottom: 30px; } }
.h1IcoWrap figure._ico img {
  width: 100%;
  max-width: 240px; }

/**********************************
下層用　h2 _newUnderContents.scss
***********************************/
/**********************************
トップページ用　h2
***********************************/
#polarisTop .underContents {
  /**********************************
  h3 h4
  ***********************************/ }
  #polarisTop .underContents h2 {
    color: #000000;
    font-weight: 500;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 65px;
    position: relative;
    line-height: 1.0; }
    @media screen and (max-width: 1023px) {
      #polarisTop .underContents h2 {
        margin-top: 0;
        margin-bottom: 65px; } }
    @media screen and (max-width: 840px) {
      #polarisTop .underContents h2 {
        font-size: 20px;
        margin-top: 0;
        margin-bottom: 40px; } }
    #polarisTop .underContents h2 .h2ttlEn {
      font-size: 64px;
      letter-spacing: 0.05em;
      display: block;
      padding-bottom: 15px; }
      @media all and (max-width: 1280px) {
        #polarisTop .underContents h2 .h2ttlEn {
          font-size: 54px; } }
      @media all and (max-width: 1023px) {
        #polarisTop .underContents h2 .h2ttlEn {
          font-size: 44px; } }
      @media screen and (max-width: 520px) {
        #polarisTop .underContents h2 .h2ttlEn {
          font-size: 32px;
          padding-bottom: 8px; } }
    #polarisTop .underContents h2 .h2ttl {
      font-size: 20px;
      letter-spacing: 0.05em;
      color: #00a0dc; }
      @media screen and (max-width: 840px) {
        #polarisTop .underContents h2 .h2ttl {
          font-size: 16px; } }
      @media screen and (max-width: 520px) {
        #polarisTop .underContents h2 .h2ttl {
          font-size: 14px; } }
    #polarisTop .underContents h2::after {
      position: absolute;
      left: -50px;
      top: 12px;
      content: '';
      margin: auto;
      content: "";
      display: inline-block;
      background-image: url("/polaris/assets/img/ico/ico-star.svg");
      background-size: cover;
      background-repeat: no-repeat;
      width: 24px;
      height: 50px; }
      @media all and (max-width: 1280px) {
        #polarisTop .underContents h2::after {
          left: -35px;
          top: 10px;
          width: 18px;
          height: 35px; } }
      @media all and (max-width: 1023px) {
        #polarisTop .underContents h2::after {
          left: -35px;
          top: 10px;
          width: 18px;
          height: 35px; } }
      @media screen and (max-width: 520px) {
        #polarisTop .underContents h2::after {
          left: -20px;
          top: 12px;
          width: 8px;
          height: 20px; } }
  #polarisTop .underContents h3 {
    font-weight: 500;
    position: relative;
    font-size: 22px;
    line-height: 1.0;
    letter-spacing: 0.05em;
    padding-left: 19px;
    padding-bottom: 0;
    margin-top: 0;
    margin-bottom: 46px;
    color: #000000; }
    @media screen and (max-width: 840px) {
      #polarisTop .underContents h3 {
        font-size: 16px;
        padding-left: 12px;
        margin-top: 0;
        margin-bottom: 30px; } }
  #polarisTop .underContents h3::after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 3px;
    height: 100%;
    content: "";
    background: #00a0dc; }
  #polarisTop .underContents h2 + h3 {
    padding-top: 0; }
  #polarisTop .underContents h4 {
    font-weight: 500;
    position: relative;
    font-size: 18px;
    line-height: 1.4;
    padding-left: 19px;
    margin-top: 60px;
    margin-bottom: 20px; }
    @media screen and (max-width: 840px) {
      #polarisTop .underContents h4 {
        font-size: 16px;
        padding-left: 12px;
        margin-top: 16px;
        margin-bottom: 10px; } }
  #polarisTop .underContents h4::after {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 3px;
    height: 100%;
    content: "";
    background: #cccccc; }
  #polarisTop .underContents h4.lineH4 {
    margin-top: 0 !important;
    font-size: 16px;
    color: #0068b7;
    position: relative;
    display: inline-block;
    padding-left: 60px !important; }
    #polarisTop .underContents h4.lineH4:before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: inline-block;
      width: 45px;
      height: 1px;
      background-color: #0068b7; }
    #polarisTop .underContents h4.lineH4::after {
      display: none !important; }
    @media screen and (max-width: 840px) {
      #polarisTop .underContents h4.lineH4 {
        font-size: 16px;
        padding-left: 34px !important;
        margin-bottom: 10px; }
        #polarisTop .underContents h4.lineH4:before {
          top: 50%;
          left: 0;
          width: 25px; } }
  #polarisTop .underContents .txtLead {
    font-weight: 500;
    color: #0068b7;
    font-size: 22px;
    border-bottom: none !important;
    line-height: 1.4;
    padding: 0;
    margin-bottom: 25px; }
    #polarisTop .underContents .txtLead::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
    #polarisTop .underContents .txtLead::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
    @media screen and (max-width: 840px) {
      #polarisTop .underContents .txtLead {
        font-size: 18px;
        padding-left: 0; } }
  #polarisTop .underContents .txtLead._txtBig {
    font-size: 36px; }
  #polarisTop .underContents .ttlLink {
    display: block;
    padding: 0;
    border: none;
    margin-bottom: 30px;
    font-weight: 500;
    font-size: 20px; }
    #polarisTop .underContents .ttlLink a {
      display: block;
      padding: 0 30px 5px 0;
      border-bottom: 1px solid #005396;
      text-decoration: none !important;
      background: url(../img/ico/ico-arrow.svg) no-repeat;
      background-position: right bottom 15px;
      background-size: 18px auto;
      color: #005396;
      font: inherit; }
      @media screen and (min-width: 840px) {
        #polarisTop .underContents .ttlLink a {
          background-position: right 10px bottom 15px;
          -webkit-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; } }
      @media screen and (max-width: 840px) {
        #polarisTop .underContents .ttlLink a {
          padding: 0 30px 10px 0; } }
    @media screen and (max-width: 840px) {
      #polarisTop .underContents .ttlLink {
        font-size: 16px; } }
  @media screen and (min-width: 840px) {
    #polarisTop .underContents .ttlLink:hover a {
      background-position: right bottom 15px; } }
  #polarisTop .underContents .txtLead::after, #polarisTop .underContents .ttlLink:after {
    position: relative; }
  #polarisTop .underContents h5 {
    font-weight: 500;
    font-size: 18px;
    margin-bottom: 15px; }
    @media screen and (max-width: 840px) {
      #polarisTop .underContents h5 {
        font-size: 16px;
        margin-bottom: 10px; } }
  #polarisTop .underContents h2 span, #polarisTop .underContents h3 span, #polarisTop .underContents h4 span, #polarisTop .underContents h5 span {
    font: inherit; }

/*********************************************************
以下は、MOLで使用しているstyle「_newContentsStyle.scss」をグループ会社用に調整したもの。
*********************************************************/
/*********************************************************
infoList
*********************************************************/
.infoList {
  border-top: 1px solid #5d5d5d; }
  .infoList li {
    border-bottom: 1px solid #5d5d5d; }
    .infoList li a, .infoList li .noLink {
      display: block;
      color: #000;
      text-decoration: none;
      position: relative; }
      .infoList li a time, .infoList li .noLink time {
        font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
        font-weight: 400; }
    .infoList li a:after, .infoList li a:before {
      position: absolute;
      top: 0;
      bottom: 0;
      content: ""; }
    .infoList li a::after {
      right: 30px;
      /*position: absolute;
      top: auto;
      right: auto;
      bottom: auto;
      left: auto;*/
      display: block;
      width: 8px;
      height: 8px;
      margin: auto;
      border-top: 1px solid #0068b7;
      border-right: 1px solid #0068b7;
      content: "";
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      border-top: 1px solid #00a0dc;
      border-right: 1px solid #00a0dc; }
    .infoList li a::before {
      right: 29px;
      width: 18px;
      height: 1px;
      margin: auto;
      background: #00a0dc;
      content: ""; }
  .infoList li a time, .infoList li .noLink time, .infoList li.cat-pr a time, .infoList li.cat-pr .noLink time, .infoList li.cat-news a time, .infoList li.cat-news .noLink time {
    padding-right: 130px;
    position: relative; }
  .infoList li a time:after, .infoList li .noLink time:after, .infoList li.cat-pr a time:after, .infoList li.cat-pr .noLink time:after, .infoList li.cat-news a time:after, .infoList li.cat-news .noLink time:after {
    position: absolute;
    left: 0px;
    top: 2px;
    content: "";
    width: 100px;
    height: 20px;
    letter-spacing: 0;
    white-space: nowrap;
    font-size: 12px;
    color: #00a0dc;
    border: 1px solid #00a0dc;
    display: flex;
    align-items: center;
    justify-content: center;
    text-indent: 0; }
  .infoList li.cat-pr a time:after, .infoList li.cat-pr .noLink time:after {
    content: "プレスリリース"; }
  .infoList li.cat-news a time:after, .infoList li.cat-news .noLink time:after {
    content: "お知らせ"; }

#en .infoList li a time:after, #en .infoList li .noLink time:after, #en .infoList li.cat-pr a time:after, #en .infoList li.cat-pr .noLink time:after, #en .infoList li.cat-news a time:after, #en .infoList li.cat-news .noLink time:after {
  font-size: 78%; }
#en .infoList li.cat-pr a time:after, #en .infoList li.cat-pr .noLink time:after {
  content: "Press Release"; }
#en .infoList li.cat-news a time:after, #en .infoList li.cat-news .noLink time:after {
  content: "Information"; }

#informationList .infoList li a:hover {
  background: #f2f6fa; }

@media screen and (min-width: 840px) {
  .infoList li a, .infoList li .noLink {
    font-size: 16px;
    line-height: 1.7;
    padding: 30px 80px 30px 20px;
    padding-left: 256px;
    text-indent: -160px; }
    .infoList li a time, .infoList li .noLink time {
      display: inline-block;
      font-size: 14px; }
  .infoList li a:hover {
    background: #e5edf4;
    text-decoration: underline;
    text-decoration-thickness: 1px; }
  .infoList li a:after, .infoList li a:before {
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out; }
  .infoList li a:hover::after {
    right: 25px;
    border-top: 1px solid #00a0dc;
    border-right: 1px solid #00a0dc; }
  .infoList li a:hover::before {
    right: 24px;
    background: #00a0dc; }

  /*インフォメーション一覧（カテゴリあり）*/
  .infoList._txtNormalCat li a, .infoList._txtNormalCat li .noLink {
    font-size: 16px;
    padding: 18px 80px 18px 280px;
    text-indent: -130px; } }
@media screen and (max-width: 840px) {
  .infoList li a, .infoList li .noLink {
    display: block;
    font-size: 14px;
    line-height: 1.7;
    padding: 20px 36px 18px 0; }
    .infoList li a time, .infoList li .noLink time {
      display: block;
      font-size: 14px;
      margin-bottom: 7px;
      text-decoration: underline;
      text-decoration-color: #FFF; }
  .infoList li a, .infoList li a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px; }
  .infoList li a::after {
    right: 11px;
    border-top: 1px solid #0068b7;
    border-right: 1px solid #0068b7; }
  .infoList li a::before {
    right: 11px;
    background: #0068b7; }
  .infoList li a time:after, .infoList li .noLink time:after, .infoList li.cat-pr a time:after, .infoList li.cat-pr .noLink time:after, .infoList li.cat-news a time:after, .infoList li.cat-news .noLink time:after {
    left: 87px;
    top: 0; }

  #en .infoList li a time, li.cat-pr a time, li.cat-news a time {
    font-size: 14px; }
  #en .infoList li a time:after, #en .infoList li .noLink time:after, li.cat-pr a time:after, li.cat-pr .noLink time:after, li.cat-news a time:after, li.cat-news .noLink time:after {
    left: 11em; }

  /*インフォメーション一覧（カテゴリあり）*/
  .infoList._txtNormalCat li a, .infoList._txtNormalCat li .noLink {
    font-size: 16px;
    padding: 20px 36px 18px 0;
    text-indent: 0; } }
.informationLink a.arrow {
  color: #000000;
  text-decoration: none; }
  .informationLink a.arrow:hover {
    text-decoration: underline; }

/*--------------------------------------------------------------------------
 pagination
---------------------------------------------------------------------------*/
.cInfo nav.pagination-container ul {
  border: none;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  transition: 0.3s;
  border-radius: 0px;
  overflow: hidden;
  margin-top: 50px; }
.cInfo #infoWrap nav.pagination-container ul.pagination > li {
  margin: 0;
  border: none; }
  .cInfo #infoWrap nav.pagination-container ul.pagination > li a {
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 0;
    padding: 15px 18px 13px;
    line-height: 1;
    background: #f6f6f6;
    color: #222;
    text-decoration: none; }
  .cInfo #infoWrap nav.pagination-container ul.pagination > li:hover a {
    background: #0068b7;
    color: #fff; }
.cInfo #infoWrap nav.pagination-container ul.pagination > li.navi-active a {
  background: #0068b7;
  color: #fff; }
.cInfo #infoWrap nav.pagination-container li.first {
  display: none; }
.cInfo #infoWrap nav.pagination-container li.last {
  display: none; }
.cInfo #infoWrap nav.pagination-container li.page.navi-active a {
  background: #ebfcfe;
  transform: scale(1.2); }
.cInfo #infoWrap nav.pagination-container .page-item.prev.disabled a.page-link {
  color: #ccc;
  background: #fff;
  pointer-events: none; }
.cInfo #infoWrap nav.pagination-container .page-item.next.disabled a.page-link {
  color: #ccc;
  background: #fff;
  pointer-events: none; }

/*********************************************************
linkBtn（青リンクボタン表示）
*********************************************************/
a.linkBtn, a.linkBtn:hover {
  color: #FFF !important;
  text-decoration: none !important; }

a.linkBtn {
  display: block;
  margin: 0 auto;
  background: #0068b7;
  position: relative;
  z-index: 0; }
  a.linkBtn ._link {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    font-weight: 500;
    position: relative;
    padding-right: 40px;
    padding-left: 35px;
    letter-spacing: 0;
    text-align: center; }
  a.linkBtn ._link::before, a.linkBtn ._link::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 24px;
    margin: auto;
    content: "";
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }
  a.linkBtn ._link::before {
    /*position: absolute;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;*/
    display: block;
    width: 8px;
    height: 8px;
    margin: auto;
    border-top: 1px solid #0068b7;
    border-right: 1px solid #0068b7;
    content: "";
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF; }
  a.linkBtn ._link::after {
    width: 21px;
    height: 1px;
    background: #FFF; }
  a.linkBtn ._link._pdf::before, a.linkBtn ._link._pdf::after {
    border: none;
    width: auto;
    height: auto;
    background: none; }
  a.linkBtn ._link._pdf::after {
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 25px;
    height: 32px;
    content: url("../img/ico/ico-pdf_Red.svg"); }

a.linkBtn._reverse, a.linkBtn._reverse:hover {
  color: #0068b7 !important; }

a.linkBtn._reverse {
  background: #FFF; }
  a.linkBtn._reverse ._link::before {
    border-top: 1px solid #0068b7;
    border-right: 1px solid #0068b7; }
  a.linkBtn._reverse ._link::after {
    background: #0068b7; }

@media screen and (min-width: 840px) {
  a.linkBtn {
    width: 400px;
    height: 80px; }
    a.linkBtn ._link {
      font-size: 20px;
      line-height: 1.4; }

  a.linkBtn::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    content: "";
    background: #00a0e9;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0; }

  a.linkBtn:hover::after {
    width: 100%;
    opacity: 1; }

  a.linkBtn:hover ._link::before, a.linkBtn:hover ._link::after {
    right: 18px; }
  a.linkBtn:hover ._link._pdf::after {
    right: 15px; }

  a.linkBtn._btnS {
    width: 270px;
    height: 60px; }
    a.linkBtn._btnS ._link {
      font-size: 16px;
      line-height: 1.4; }

  a.linkBtn._reverse {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; }

  a.linkBtn._reverse:hover {
    color: #FFF !important; }
    a.linkBtn._reverse:hover ._link::before {
      border-top: 1px solid #FFF;
      border-right: 1px solid #FFF; }
    a.linkBtn._reverse:hover ._link::after {
      background: #FFF; }

  a.linkBtn._reverse::after {
    background: #0068b7; } }
@media screen and (max-width: 840px) {
  a.linkBtn, a.linkBtn._btnS {
    width: 100%;
    max-width: 335px;
    height: 60px; }
    a.linkBtn ._link, a.linkBtn._btnS ._link {
      font-size: 16px;
      line-height: 1.4; } }
@media all and (max-width: 350px) {
  a.linkBtn, a.linkBtn._btnS {
    width: 100%; } }
/*----------------------------------------------------------------------------
    pdfLinkBtnList
-----------------------------------------------------------------------------*/
.pdfLinkBtnList {
  width: 100%;
  display: flex;
  flex-wrap: wrap; }

.pdfLinkBtnList li {
  margin-bottom: 10px;
  margin-right: 10px; }

.pdfLinkBtnList li:last-of-type {
  margin-right: 0; }

.pdfLinkBtnList a.linkBtn._btnS {
  width: 267px; }

@media screen and (max-width: 840px) {
  .pdfLinkBtnList li {
    width: calc(50% - 10px); }

  .pdfLinkBtnList a.linkBtn._btnS {
    width: 100%;
    max-width: 100%;
    height: 60px; } }
@media screen and (max-width: 520px) {
  .pdfLinkBtnList {
    justify-content: center; }

  .pdfLinkBtnList li {
    width: 100%;
    max-width: 90vw;
    margin-right: 0; } }
/*********************************************************
Information
*********************************************************/
.bgWave {
  position: relative;
  margin-top: -5.3%;
  padding: 5.3% 0 20px 0;
  background-image: url("/polaris/assets/img/bg-wave.svg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top left; }
  @media screen and (max-width: 520px) {
    .bgWave {
      margin-top: -8.3%;
      padding: 8.3% 0 20px 0; } }

.bgWave2 {
  position: relative;
  margin-top: -5.2%;
  padding-bottom: 20px;
  width: 100%;
  aspect-ratio: 100 / 5.3;
  background-image: url("/polaris/assets/img/bg-wave.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: top center; }
  @media screen and (max-width: 520px) {
    .bgWave2 {
      margin-top: -8.3%;
      aspect-ratio: 100 / 13.3; } }

/* Firefox */
@-moz-document url-prefix() {
  .bgWave {
    display: none; }

  .kazari {
    position: relative; }

  .kazari2:before {
    position: relative;
    background: #f2f6fa; }

  .kazari::before {
    content: "";
    inset: -8.3vw 0 auto;
    aspect-ratio: 1300 / 204;
    -webkit-mask-image: url("/polaris/assets/img/bg-wave.png");
    mask-image: url("/polaris/assets/img/bg-wave.png");
    position: absolute;
    width: 100%;
    height: auto;
    background-position: top left;
    background-repeat: repeat;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 100%;
    mask-size: 100%;
    -webkit-mask-position: center;
    mask-position: center;
    mask-mode: alpha; } }
#polarisTop .underContents #ancInfo {
  background: #f2f6fa;
  padding-bottom: 60px; }
  #polarisTop .underContents #ancInfo h2 {
    margin-top: 0; }
    @media screen and (max-width: 1023px) {
      #polarisTop .underContents #ancInfo h2 {
        margin-top: 0; } }
    @media screen and (max-width: 840px) {
      #polarisTop .underContents #ancInfo h2 {
        margin-top: 0; } }

.infoList li a.noLink {
  pointer-events: none;
  text-decoration: none; }

.infoList li a.noLink::before,
.infoList li a.noLink::after {
  display: none; }

/*********************************************************
About Us
*********************************************************/
@media screen and (max-width: 840px) {
  #ancAboutWrap .boxCol2 {
    flex-direction: column; }
  #ancAboutWrap ._imgPhoto {
    padding-left: 15px; } }
@media screen and (max-width: 520px) {
  #ancAboutWrap ._imgPhoto {
    padding-left: 15px; } }
#ancAboutWrap #imgAboutus {
  position: relative;
  width: calc(100% - 50px);
  height: auto;
  margin-left: 50px; }
  #ancAboutWrap #imgAboutus:after {
    position: absolute;
    content: "";
    display: block;
    background: url("/polaris/assets/img/img-aboutus1.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: auto;
    padding-top: 56.25%;
    position: absolute;
    left: -30px;
    top: 40px; }
  @media screen and (max-width: 840px) {
    #ancAboutWrap #imgAboutus {
      width: 60%;
      height: auto;
      margin: 30px auto 30px auto; }
      #ancAboutWrap #imgAboutus .boxCol2 ._col2Inner {
        width: 100%; }
      #ancAboutWrap #imgAboutus:after {
        left: -15px;
        top: 20px; } }
  @media screen and (max-width: 520px) {
    #ancAboutWrap #imgAboutus {
      width: 100%;
      height: auto; }
      #ancAboutWrap #imgAboutus:after {
        left: -15px;
        top: 20px; } }

/*********************************************************
企業理念
*********************************************************/
@media screen and (max-width: 840px) {
  #ancPrinciple .boxCol2 {
    flex-direction: column-reverse; }
  #ancPrinciple ._imgPhoto {
    padding-left: 15px; } }
@media screen and (max-width: 520px) {
  #ancPrinciple ._imgPhoto {
    padding-left: 15px; } }
#ancPrinciple #imgPrinciple {
  position: relative;
  width: calc(100% - 50px);
  height: auto; }
  #ancPrinciple #imgPrinciple:before {
    position: absolute;
    content: "";
    display: block;
    background: url("/polaris/assets/img/img-principle.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: auto;
    padding-top: 56.25%;
    position: absolute;
    right: -30px;
    top: 40px; }
  @media screen and (max-width: 840px) {
    #ancPrinciple #imgPrinciple {
      width: 60%;
      height: auto;
      margin: 30px auto 30px auto; }
      #ancPrinciple #imgPrinciple .boxCol2 ._col2Inner {
        width: 100%; }
      #ancPrinciple #imgPrinciple:before {
        left: -15px;
        top: 20px; } }
  @media screen and (max-width: 520px) {
    #ancPrinciple #imgPrinciple {
      width: 100%;
      height: auto;
      margin: 30px auto 30px auto; }
      #ancPrinciple #imgPrinciple:before {
        left: -15px;
        top: 20px; } }
#ancPrinciple .txtPrinciple {
  color: #00a0dc;
  font-size: 36px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.4; }
  @media screen and (max-width: 1023px) {
    #ancPrinciple .txtPrinciple {
      font-size: 32px; } }
  @media screen and (max-width: 520px) {
    #ancPrinciple .txtPrinciple {
      font-size: 22px;
      margin-bottom: 20px; } }

#en #ancPrinciple .txtPrinciple {
  font-size: 28px;
  letter-spacing: 0.01em;
  line-height: 1.3; }
  @media screen and (max-width: 1023px) {
    #en #ancPrinciple .txtPrinciple {
      font-size: 22px; } }
  @media screen and (max-width: 520px) {
    #en #ancPrinciple .txtPrinciple {
      font-size: 22px;
      margin-bottom: 20px; } }

/*********************************************************
事業案内
*********************************************************/
#secServices figcaption {
  font-size: 11px;
  line-height: 1.2;
  margin-top: 4px; }
#secServices .boxCol3 ._col3Inner {
  width: calc(100% / 3 - 2px);
  margin: 0 1px 50px 0; }
#secServices .boxCol3 ._col3Inner:last-child .serviceName {
  padding-top: 5px; }
#secServices .boxCol3 > dl dt .serviceName {
  display: block;
  padding-top: 20px;
  margin-left: 0;
  padding-left: 15px;
  font-size: 20px;
  line-height: 1.2;
  color: #00a0dc;
  font-weight: 500; }
#secServices .boxCol3 > dl dd {
  position: relative;
  padding: 20px 40px 40px 15px; }
@media screen and (max-width: 1023px) {
  #secServices .boxCol3 ._col3Inner {
    width: calc(100% / 3 - 2px);
    margin: 0 1px 50px 0; }
  #secServices .boxCol3 > dl dt .serviceName {
    font-size: 18px;
    padding-left: 0; }
  #secServices .boxCol3 > dl dd {
    padding: 20px 20px 40px 0; } }
@media screen and (max-width: 840px) {
  #secServices .boxCol3 ._col3Inner {
    width: calc(50% - 25px);
    margin: 0 auto 0 auto; }
  #secServices .boxCol3 > dl dt .serviceName {
    padding-top: 20px;
    padding-left: 0;
    margin-left: 0;
    font-size: 18px; }
  #secServices .boxCol3 > dl dd {
    padding: 20px 0 40px 0; } }
@media screen and (max-width: 520px) {
  #secServices .boxCol3 ._col3Inner {
    width: 100%;
    margin: 0 auto 10px auto; }
  #secServices .boxCol3 > dl dt .serviceName {
    padding-top: 20px;
    padding-left: 0;
    margin-left: 0;
    font-size: 18px; }
  #secServices .boxCol3 > dl dd {
    padding: 10px 0 30px 0; } }

#en #secServices .boxCol3 ._col3Inner dt figure {
  margin-bottom: 15px; }

/*********************************************************
採用情報
*********************************************************/
#secRecruit table {
  margin-bottom: 50px; }
  #secRecruit table th {
    min-width: 200px; }

/*********************************************************
メールリンク
*********************************************************/
a.mailLink {
  text-decoration: none; }
  a.mailLink:hover {
    text-decoration: underline; }

/*********************************************************
メッセージボックス
*********************************************************/
.messageBox {
  padding: 40px 40px 20px 40px;
  margin-bottom: 0 !important;
  background: rgba(0, 83, 150, 0.1);
  zoom: 1;
  clear: both;
  display: block; }
  .messageBox:before {
    content: "";
    clear: both;
    display: block; }
  @media screen and (max-width: 840px) {
    .messageBox {
      padding: 20px 20px 20px 20px; } }

/*********************************************************
組織図
*********************************************************/
.organizationImg {
  width: 80%;
  height: auto; }
  @media screen and (max-width: 1023px) {
    .organizationImg {
      width: 100%; } }

/*********************************************************
access
*********************************************************/
.access {
  background: rgba(0, 83, 150, 0.05);
  margin-top: 30px; }

/*--------------------------------------------------------------------------
  scroll animation
---------------------------------------------------------------------------*/
/* fade zoom */
.fade-type-zoom.show {
  transition: 8s;
  transform: scale(1.06); }

/* fade up */
.fade-type-up {
  transform: translateY(50px);
  opacity: 0; }

.fade-type-up.show {
  transition: .6s;
  transform: translateY(0);
  opacity: 1; }

.show .fade-type-up {
  transition: .6s;
  transform: translateY(0);
  opacity: 1; }

.show .fade-type-up:nth-child(2) {
  transition-delay: .4s; }

.show .fade-type-up:nth-child(3) {
  transition-delay: .8s; }

.show .fade-type-up:nth-child(4) {
  transition-delay: 1.2s; }

.show .fade-type-up:nth-child(5) {
  transition-delay: 1.6s; }

.show .fade-type-up:nth-child(6) {
  transition-delay: 2s; }

.show .fade-type-up:nth-child(7) {
  transition-delay: 2.4s; }

.show .fade-type-up:nth-child(8) {
  transition-delay: 2.8s; }

.show .fade-type-up:nth-child(9) {
  transition-delay: 3.2s; }

/* fade left */
.fade-type-left {
  transform: translateX(50px);
  opacity: 0; }

.fade-type-left.show {
  transition: .8s;
  transform: translateX(0);
  opacity: 1; }

.show .fade-type-left {
  transition: .8s;
  transform: translateX(0);
  opacity: 1; }

.show .fade-type-left:nth-child(2) {
  transition-delay: .2s; }

.show .fade-type-left:nth-child(3) {
  transition-delay: .4s; }

.show .fade-type-left:nth-child(4) {
  transition-delay: .6s; }

.show .fade-type-left:nth-child(5) {
  transition-delay: .8s; }

.show .fade-type-left:nth-child(6) {
  transition-delay: 1s; }

.show .fade-type-left:nth-child(7) {
  transition-delay: 1.2s; }

.show .fade-type-left:nth-child(8) {
  transition-delay: 1.4s; }

.show .fade-type-left:nth-child(9) {
  transition-delay: 1.6s; }

/* fade right */
.fade-type-right {
  transform: translateX(-50px);
  opacity: 0; }

.fade-type-right.show {
  transition: .8s;
  transform: translateX(0);
  opacity: 1; }

.show .fade-type-right {
  transition: .8s;
  transform: translateX(0);
  opacity: 1; }

.show .fade-type-right:nth-child(2) {
  transition-delay: .2s; }

.show .fade-type-right:nth-child(3) {
  transition-delay: .4s; }

.show .fade-type-right:nth-child(4) {
  transition-delay: .6s; }

.show .fade-type-right:nth-child(5) {
  transition-delay: .8s; }

/* img right*/
.fade-type-slide {
  position: relative; }

.fade-type-slide::after {
  content: '';
  display: block;
  width: 100%;
  transform: scaleX(1);
  transform-origin: 100% 0;
  height: 100%;
  background-color: #005396;
  position: absolute;
  top: 0;
  right: 0; }

.fade-type-slide.show::after {
  transition: .6s;
  transform: scaleX(0); }

/* single marker */
.fade-type-marker {
  background: linear-gradient(to right, transparent 50%, rgba(255, 165, 0, 0.3) 50%);
  background: linear-gradient(to right, transparent 50%, rgba(255, 165, 0, 0.3) 50%);
  background-repeat: repeat-x;
  background-size: 200% .6em;
  background-position: 0 .6em;
  padding-bottom: .6em; }

.fade-type-marker.show {
  transition: all 1.2s ease;
  background-position: -100% .6em; }

/* bgextendTxt */
.bgextend {
  animation-name: bgextendBgAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  position: relative;
  overflow: hidden;
  opacity: 0; }

.subtitle {
  letter-spacing: 0.05em;
  color: #1f7ea1;
  display: block; }
