@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, 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; } }
@media all and (min-width: 1366px) {
  ._cInner {
    width: 1100px; } }
@media screen and (max-width: 840px) {
  ._cInner {
    width: calc(100% - 40px);
    margin: 0 auto; } }
/*********************************************************
 ブレイクポイント：ヘッダー切り替えは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: 850px) {
  .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: #005396; }
.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: #005396;
  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 #005396;
  border-right: 1px solid #005396;
  content: "";
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  border-top: 2px solid #005396;
  border-right: 2px solid #005396; }
.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 #005396;
  border-right: 1px solid #005396;
  content: "";
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-top: 2px solid #005396;
  border-right: 2px solid #005396; }
.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 #005396;
  border-right: 1px solid #005396;
  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: #005396; }
    .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 #005396;
      border-right: 1px solid #005396;
      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, #005396, #00a0dc);
      background-image: -o-linear-gradient(left, #005396, #00a0dc);
      background-image: linear-gradient(to right, #005396, #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 {
  margin-bottom: 50px !important; }
  .boxCol2 > li, .boxCol2 ._col2Inner {
    margin-bottom: 40px; }
  .boxCol2 > figure._col2Inner {
    margin-top: 5px; }
    @media screen and (max-width: 840px) {
      .boxCol2 > figure._col2Inner {
        margin-bottom: 30px; } }

.boxCol3 {
  margin-bottom: 50px !important; }
  .boxCol3 > li, .boxCol3 ._col3Inner {
    margin-bottom: 50px;
    /*3カラム内のlinkBtnの幅は100%*/ }
    .boxCol3 > li .linkBtn, .boxCol3 ._col3Inner .linkBtn {
      width: 100%; }

.boxCol4 {
  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 {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
    .boxCol2 > li, .boxCol2 ._col2Inner {
      /*width: calc(50% - 25px);*/
      width: calc(50% - 8px); }
    .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: calc(50% - 25px); }

  .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 {
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 16px);
    margin-left: -8px; }
    .boxCol3 li, .boxCol3 ._col3Inner {
      width: calc(100% / 3 - 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 {
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: calc(100% + 16px);
    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:nth-last-child(1), .boxCol2 ._col2Inner:nth-last-child(1) {
    margin-bottom: 0; }

  .boxCol3 li:nth-last-child(1), .boxCol3 ._col3Inner:nth-last-child(1) {
    margin-bottom: 0; }

  .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); } }
.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: #005396;
      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 #005396;
      color: #005396;
      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 #5d5d5d; }
  table th, table td {
    padding: 10px;
    border: 1px solid #5d5d5d; }
    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: #d9e9ee;
    text-align: center; }
  table td {
    background: #FFF; }
  table thead {
    /*thead内で直後にtrがあるtrの指定*/ }
    table thead tr th {
      color: #FFF;
      background: #005396;
      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: #005396;
    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 #5d5d5d; }
    table th, table td {
      width: 100%;
      display: block;
      border: none; }
    table tr th {
      border-top: 1px solid #5d5d5d; }
    table tr td {
      border-top: 1px dotted #5d5d5d; }
    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 #5d5d5d; }
  table.tblNormal tr td, .wScrollWrap table tr td {
    border-top: 1px solid #5d5d5d; }
  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 #005396; }
  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: #005396 !important; }

dl.dtMain dt {
  font-weight: 700; }

.txtPoint {
  color: #ffd500 !important; }

.txtLink {
  color: #005396 !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: 14px !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: #005396;
  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
---------------------------*/
.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: #005396 !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, #005396, #00a0dc);
  background-image: -o-linear-gradient(left, #005396, #00a0dc);
  background-image: linear-gradient(to right, #005396, #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 #005396; }

.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 #005396; }

._lineBold {
  border-bottom-width: 3px; }

._lineDot {
  border-bottom-style: dotted !important; }

hr.lineDot {
  border-top: 1px dotted #005396;
  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("../../../molgroup/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("../../../molgroup/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: 2;
  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: 1150px) {
  header {
    height: 80px; }

  .header {
    height: 80px;
    padding: 0 0 0 20px; }
    .header #logo {
      width: 450px;
      height: auto;
      align-content: center; }

  #en .header #logo {
    width: 600px; }

  nav#gnavWrap {
    width: calc(100% - 500px);
    margin-right: 270px;
    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: #005396; }
    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: #005396; }
    nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow {
      position: absolute;
      left: 0;
      top: 95px;
      background-image: -webkit-linear-gradient(left, #005396, #00a0dc);
      background-image: -o-linear-gradient(left, #005396, #00a0dc);
      background-image: linear-gradient(to right, #005396, #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;
        /*幅は1100にしたいが、1128以下だとはみ出してしまうので1128までは左右20pxの余白が空くサイズを設定（ddのliの横並びの余白を14pxなので100-12を指定）。*/
        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: #005396;
          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;
              /**XD:24（24÷フォントサイズ16px）**/
              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 #005396;
              border-right: 1px solid #005396;
              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: #005396; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li:hover a:before {
              background: #005396; }
            nav#gnavWrap .gNav > li.gNavLowWrap .gNavLow dl dd ul li:hover a:after {
              border-top: 1px solid #005396;
              border-right: 1px solid #005396; }
            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: #005396; } }
@media all and (max-width: 1150px) {
  .header {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 0 0 15px;
    height: 60px; }
    .header #logo {
      width: 300px;
      max-width: 300px;
      height: auto; }

  #en .header #logo {
    width: 380px;
    max-width: 380px; } }
@media all and (max-width: 550px) {
  .header {
    padding: 0 0 0 10px; }
    .header #logo {
      width: 100%;
      max-width: 58vw; }

  #en .header {
    padding: 0 0 0 10px; }
    #en .header #logo {
      width: 100%;
      max-width: 62vw; } }
/*********************************************************
molgroupLogo
*********************************************************/
.molgroupLogo {
  position: fixed;
  z-index: 2;
  right: 100px;
  top: 18px;
  width: 80px;
  height: auto; }

@media all and (max-width: 1150px) {
  .molgroupLogo {
    right: 68px;
    top: 14px;
    width: 58px;
    height: auto; } }
@media all and (max-width: 550px) {
  .molgroupLogo {
    right: 66px;
    top: 20px;
    width: 40px;
    height: auto; } }
/*********************************************************
menuBtn
*********************************************************/
.menuBtn {
  position: fixed;
  z-index: 4;
  right: 0;
  top: 0;
  width: 80px;
  height: 80px;
  cursor: pointer;
  background-image: linear-gradient(to bottom, #005396, #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: 1150px) {
  .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: 1150px) {
  .menuBtn {
    width: 60px;
    height: 60px; } }
/*********************************************************
#langSwitching
ハンバーガーメニュー開いている時は「langSwitchingActive」のclassが追加される。
レイアウトは①ヘッダー表示時と②ハンバーガーメニュー表示時もどちらも同じ。
マークアップは1つだが、掲載位置が①と②で異なるので、position: absolute;でそれぞれ絶対位置を決めている。
②の位置指定（#langSwitching.langSwitchingActive）は、smnav.scssに記述。
*********************************************************/
#langSwitching {
  position: fixed;
  top: 28px;
  right: 206px;
  z-index: 3;
  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: #005396; }
  #langSwitching li a:hover::after {
    background-color: #005396; }

@media all and (min-width: 1150px) {
  #langSwitching.langSwitchingActive {
    visibility: hidden; } }
@media all and (max-width: 1150px) {
  #langSwitching {
    visibility: hidden; }

  #langSwitching.langSwitchingActive {
    visibility: visible;
    /**position: absolute;をつけても#smnavWrapをfixにしているため効かない
    position: absolute !important;**/
    max-width: 400px;
    right: 320px;
    top: 20px;
    z-index: 3; }
    #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: 550px) {
  #langSwitching.langSwitchingActive {
    max-width: 100%;
    left: 30px; } }
/*********************************************************
表示出し入れ
*********************************************************/
@media all and (max-width: 1150px) {
  nav#gnavWrap, .gnavContact {
    display: none; } }
/*********************************************************
ニュースを開いている時のgnav表示
*********************************************************/
@media all and (min-width: 1051px) {
  #wrap.cPr nav#gnavWrap .gNav > li#gnavPr > a:before,
  #wrap.cPr nav#gnavWrap .gNav > li#gnavPr.gNavLowWrap > a:before {
    width: 100%;
    background-color: #005396; } }
/**↓↓利用中↓↓*******************************************************/
/*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-image: -webkit-linear-gradient(left, #005396, #00a0dc);
  background-image: -o-linear-gradient(left, #005396, #00a0dc);
  background-image: linear-gradient(to right, #005396, #00a0dc);
  position: absolute;
  z-index: 2;
  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 #005396;
      border-right: 1px solid #005396;
      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 #005396;
    border-right: 1px solid #005396;
    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: #005396 !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 #005396;
      border-right: 1px solid #005396; }
    #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: #005396; }

@media all and (min-width: 1150px) {
  #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: 1150px) {
  #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: 550px) {
  #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 {
  background-image: -webkit-linear-gradient(left, #005396, #00a0dc);
  background-image: -o-linear-gradient(left, #005396, #00a0dc);
  background-image: linear-gradient(to right, #005396, #00a0dc); }

@media all and (min-width: 840px) {
  footer {
    padding: 16px 0; }
    footer .footer {
      max-width: 1100px;
      width: calc(100% - 200px);
      margin: 0 auto; } }
@media all and (min-width: 1366px) {
  footer .footer {
    width: 1100px; } }
@media all and (max-width: 840px) {
  footer {
    padding: 35px 0 39px 0; }
    footer .footer {
      width: calc(100% - 40px);
      margin: 0 auto; } }
.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 {
    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; }
    .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 #005396;
        border-right: 1px solid #005396;
        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: right; }
  .footer .pagetop {
    top: 6px;
    right: 10px; }
    .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 #005396;
      border-right: 1px solid #005396;
      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; } }
/**↓↓利用中↓↓*******************************************************/
/*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;
  /**PC：XD:27.2（27.2÷フォントサイズ16px）、SP：XD:23.8（23.8÷フォントサイズ14px）**/
  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の指定（事業紹介下層メイン画像使用）*/
  /*3カラム内BOXの文字サイズは14px*/ }
  .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: 14px; } }
  .underContents a {
    color: #005396;
    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 .boxCol3, .underContents .boxCol4 {
    font-size: 14px; }
  .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; }
  .underContents .boxCol3 {
    font-size: 14px; }

/*EXPO2025で使用*/
.underContents.noPadMarb {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important; }

/**********************************
h2 h3 h4
***********************************/
.underContents h2 {
  color: #005396;
  font-weight: 500;
  padding-bottom: 11px;
  margin-bottom: 50px;
  position: relative;
  font-size: 28px;
  /**PC：XD:36.4（36.4÷フォントサイズ28px）で1.3のはずだが1.4の指示、SP：XD:28（28÷フォントサイズ20px）**/
  line-height: 1.4; }
  .underContents h2::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  .underContents h2::after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  @media screen and (max-width: 840px) {
    .underContents h2 {
      font-size: 20px; } }
.underContents h2::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  content: "";
  background-image: linear-gradient(90deg, #024D98, #009ADE); }
.underContents h2.bdNone {
  padding-bottom: 0;
  font-size: 36px; }
  @media screen and (max-width: 840px) {
    .underContents h2.bdNone {
      font-size: 24px; } }
.underContents h2.bdNone::after {
  position: static;
  background-image: none; }
.underContents h3 {
  font-weight: 500;
  padding-bottom: 9px;
  border-bottom: 1px solid #000;
  font-size: 24px;
  /**XD:36（36÷フォントサイズ24px）**/
  line-height: 1.5;
  margin-bottom: 40px; }
  @media screen and (max-width: 840px) {
    .underContents h3 {
      font-size: 18px;
      /**XD:28（28÷フォントサイズ18px）**/
      line-height: 1.55;
      margin-bottom: 30px; } }
.underContents h4, .underContents .ttlLineR {
  /*display: inline-block;*/
  font-weight: 500;
  /*border-left: 3px solid $colorMain;*/
  position: relative;
  font-size: 20px;
  /**PC：XD:28（28÷フォントサイズ20px）、SP：XD:22.4（22.4÷フォントサイズ16px）**/
  line-height: 1.4;
  padding-left: 19px;
  margin-bottom: 15px; }
  @media screen and (max-width: 840px) {
    .underContents h4, .underContents .ttlLineR {
      font-size: 16px;
      padding-left: 12px;
      margin-bottom: 10px; } }
.underContents h4::after, .underContents .ttlLineR::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3px;
  height: 100%;
  content: "";
  background: #005396; }
.underContents .txtLead {
  font-weight: 500;
  color: #005396;
  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;
  color: #005396;
  margin-bottom: 15px; }
  @media screen and (max-width: 840px) {
    .underContents h5 {
      font-size: 14px;
      margin-bottom: 10px; } }
.underContents h2._h2ptn01 {
  padding-bottom: 0;
  margin-bottom: 40px; }
  @media screen and (max-width: 840px) {
    .underContents h2._h2ptn01 {
      margin-bottom: 20px; } }
  .underContents h2._h2ptn01 ._enRuby, .underContents h2._h2ptn01 ._ttl {
    display: block;
    line-height: 1.2;
    letter-spacing: 0;
    font: inherit; }
  .underContents h2._h2ptn01 ._enRuby {
    font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 600;
    font-size: 18px; }
    @media screen and (max-width: 840px) {
      .underContents h2._h2ptn01 ._enRuby {
        font-size: 16px; } }
  .underContents h2._h2ptn01 ._ttl {
    font-weight: 400;
    font-size: 45px; }
    @media screen and (max-width: 840px) {
      .underContents h2._h2ptn01 ._ttl {
        font-size: 32px; } }
.underContents h2._h2ptn01::after {
  position: relative;
  height: auto;
  background-image: none; }
.underContents h2 span, .underContents h3 span, .underContents h4 span, .underContents h5 span {
  font: inherit; }

/**********************************
第二階層 見出し（画像あり）
***********************************/
.cIndex {
  /*①↓ここから*/
  /*①↑ここまで　後で削除*/
  /*li:nth-last-child(1),
  li:nth-last-child(2):nth-child(3n+1),
  li:nth-last-child(2):nth-child(3n+2),
  li:nth-last-child(3):nth-child(3n+1) {
      @include mq-min(tb) {
          margin-bottom: 0;
      }
  }*/ }
  @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; } }
  .cIndex li {
    /*②↓ここから*/
    /*②↑ここまで　後で削除*/ }
    @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;
        /**XD:22.4（22.4÷フォントサイズ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;
    /*li:nth-last-child(2):nth-child(3n+1),
    li:nth-last-child(2):nth-child(3n+2),
    li:nth-last-child(3):nth-child(3n+1) {
        margin-bottom: 20px;
    }*/ }
    .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%, #005396 49%, #00a0dc 100%);
      background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0) 35%, #005396 49%, #00a0dc 100%);
      background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 35%, #005396 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, #005396);
    background-image: -o-linear-gradient(bottom, #00a0dc, #005396);
    background-image: linear-gradient(to top, #00a0dc, #005396);
    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;
    /**XD:22.4（22.4÷フォントサイズ16px）**/
    line-height: 1.4;
    margin-bottom: 13px;
    color: #005396;
    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: 14px;
    /**XD:23.8（23.8÷フォントサイズ16px）**/
    line-height: 1.7;
    /**XD:50（50÷1000）**/
    /*letter-spacing: 0.05em;*/
    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 #005396;
      border-right: 1px solid #005396;
      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, #005396, #00a0dc);
    background-image: -o-linear-gradient(bottom, #005396, #00a0dc);
    background-image: linear-gradient(to top, #005396, #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: #005396 !important; }

/*直前に.relatedLinkがある場合の.col._col3の指定*/
@media screen and (min-width: 840px) {
  .relatedLink + .col._col3 {
    /*48行目❶のstyleが効いてしまっている（ margin-top: 45px;）ので、正しい数値に戻す*/
    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ごとリンク（サステナTOPで使用）
*********************************************************/
.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; } }

/*********************************************************
 ////////////////////////////////////////////////////////
 共通化できない、そのページ固有のstyleを記入
  ////////////////////////////////////////////////////////
**********************************************************/
/*********************************************************
歴史
*********************************************************/
.lineHistory > li .yymm {
  white-space: nowrap; }
  .lineHistory > li .yymm span {
    display: block;
    font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
    letter-spacing: 0.02em; }
    .lineHistory > li .yymm span span {
      display: inline; }
  .lineHistory > li .yymm ._yy {
    font-weight: 500; }
    .lineHistory > li .yymm ._yy::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.7) * 0.5em); }
    .lineHistory > li .yymm ._yy::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.7) * 0.5em); }
.lineHistory > li dl, .lineHistory > li ._txtArea {
  margin-bottom: 0 !important;
  padding-bottom: 30px; }
  .lineHistory > li dl dt, .lineHistory > li ._txtArea dt {
    color: #005396;
    font-size: 25px;
    line-height: 1.4;
    margin: 5px 0 20px 0; }
    .lineHistory > li dl dt::before, .lineHistory > li ._txtArea dt::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
    .lineHistory > li dl dt::after, .lineHistory > li ._txtArea dt::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
  .lineHistory > li dl dd, .lineHistory > li ._txtArea dd {
    padding: 20px;
    background: rgba(0, 83, 150, 0.05);
    /*直前にpがある場合のcolの設定*/ }
    .lineHistory > li dl dd p + .col, .lineHistory > li ._txtArea dd p + .col {
      margin-top: 30px; }
.lineHistory > li:last-child dl, .lineHistory > li:last-child ._txtArea {
  padding-bottom: 0; }
@media screen and (min-width: 840px) {
  .lineHistory > li {
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start; }
    .lineHistory > li .yymm {
      width: 200px;
      margin-right: 20px; }
      .lineHistory > li .yymm ._yy {
        margin-top: -2px;
        font-size: 35px;
        width: 140px;
        float: left; }
      .lineHistory > li .yymm ._mm {
        width: 60px;
        padding-top: 8px;
        float: right; }
    .lineHistory > li dl, .lineHistory > li ._txtArea {
      width: calc(100% - 200px - 20px);
      padding-left: 55px;
      position: relative; }
    .lineHistory > li dl:after, .lineHistory > li ._txtArea:after {
      position: absolute;
      top: 13px;
      left: 0;
      content: "";
      width: 11px;
      height: 11px;
      /*@include bgGrade;*/
      background: #005396;
      -moz-border-radius: 50%;
      -webkit-border-radius: 50%;
      border-radius: 50%; }
    .lineHistory > li dl:before, .lineHistory > li ._txtArea:before {
      position: absolute;
      top: 13px;
      left: 5px;
      content: "";
      width: 1px;
      height: 100%;
      background: #c4c4c4; }
  .lineHistory > li:last-child dl:before, .lineHistory > li:last-child ._txtArea:before {
    height: 0%; } }
@media screen and (max-width: 840px) {
  .lineHistory > li {
    padding-left: 40px;
    position: relative; }
    .lineHistory > li .yymm {
      padding-bottom: 10px; }
    .lineHistory > li ._yy {
      font-size: 30px;
      padding-bottom: 5px; }
  .lineHistory > li:after {
    position: absolute;
    top: 22px;
    left: 0;
    content: "";
    width: 11px;
    height: 11px;
    /*@include bgGrade;*/
    background: #005396;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%; }
  .lineHistory > li.onlymm:after {
    top: 6px; }
  .lineHistory > li:before {
    position: absolute;
    top: 18px;
    left: 5px;
    content: "";
    width: 1px;
    height: 100%;
    background: #c4c4c4; }
  .lineHistory > li:last-child:before {
    height: 0%; }
  .lineHistory > li:first-child:before {
    top: 25px; } }

@media screen and (min-width: 840px) {
  .lineHistory.onlyyy > li .yymm {
    width: 130px; }
  .lineHistory.onlyyy > li dl, .lineHistory.onlyyy > li ._txtArea {
    width: calc(100% - 130px - 20px);
    padding-left: 75px; } }

@media screen and (min-width: 840px) {
  .lineHistory.onlyyy._txtNormal > li .yymm {
    width: 85px; }
    .lineHistory.onlyyy._txtNormal > li .yymm ._yy {
      font-size: 20px;
      margin-top: 5px; }
  .lineHistory.onlyyy._txtNormal > li dl, .lineHistory.onlyyy._txtNormal > li ._txtArea {
    width: calc(100% - 85px - 20px);
    padding-left: 45px; }
  .lineHistory.onlyyy._txtNormal > li dl:after, .lineHistory.onlyyy._txtNormal > li ._txtArea:after, .lineHistory.onlyyy._txtNormal > li dl:before, .lineHistory.onlyyy._txtNormal > li ._txtArea:before {
    top: 8px; } }
@media screen and (max-width: 840px) {
  .lineHistory.onlyyy._txtNormal > li {
    padding-left: 30px; }
    .lineHistory.onlyyy._txtNormal > li .yymm ._yy {
      font-size: 20px; }
  .lineHistory.onlyyy._txtNormal > li:before {
    top: 10px; }
  .lineHistory.onlyyy._txtNormal > li:first-child:before {
    top: 15px; }
  .lineHistory.onlyyy._txtNormal > li:after {
    top: 14px; } }

/*********************************************************
グループ企業一覧
*********************************************************/
@media screen and (min-width: 840px) {
  .boxCol2.ttlTopIndex li, .boxCol2.ttlTopIndex ._col2Inner {
    width: calc(50% - 25px); } }

.ttlTopIndex ._detail {
  font-size: 16px;
  /**XD:27.2（27.2÷フォントサイズ16px）**/
  line-height: 1.7;
  /**XD:50（50÷1000）**/
  letter-spacing: 0.05em;
  margin-bottom: 15px; }
  @media screen and (max-width: 840px) {
    .ttlTopIndex ._detail {
      font-size: 14px; } }
.ttlTopIndex .box {
  background: #f2f2ef;
  font-size: 12px;
  /**XD:20.4（20.4÷フォントサイズ12px）**/
  line-height: 1.7;
  /**XD:50（50÷1000）**/
  letter-spacing: 0.05em; }
  .ttlTopIndex .box p {
    margin-bottom: 0; }

/*********************************************************
サステナTOP、サステナ第二階層MENU
*********************************************************/
.sentenceWrap {
  display: block;
  margin-bottom: 20px; }
  @media screen and (max-width: 840px) {
    .sentenceWrap {
      margin-bottom: 15px; } }
  .sentenceWrap .boxCol2 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
  .sentenceWrap dl {
    display: -webkit-flex;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center; }
    .sentenceWrap dl dt {
      color: #005396;
      font-weight: 500;
      font-size: 20px;
      /*通常文字の場合　まだ未使用のため変更可*/
      margin-bottom: 10px; }
      @media screen and (max-width: 840px) {
        .sentenceWrap dl dt {
          margin-bottom: 8px; } }
    .sentenceWrap dl .txtEnBold {
      font-size: 26px;
      line-height: 1.3; }
      .sentenceWrap dl .txtEnBold::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.3) * 0.5em); }
      .sentenceWrap dl .txtEnBold::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.3) * 0.5em); }
    .sentenceWrap dl dd {
      color: #000;
      margin-bottom: 0; }

.boxCol2._mar16b .sentenceWrap {
  margin-bottom: 0; }

a.sentenceWrap, a.sentenceWrap:hover {
  text-decoration: none !important;
  padding-bottom: 20px;
  /*border-bottom: 1px solid #000;*/ }
  @media screen and (max-width: 840px) {
    a.sentenceWrap, a.sentenceWrap:hover {
      padding-bottom: 15px; } }

a.sentenceWrap {
  background-image: url(../img/ico/ico-arrow.svg);
  background-position: right center;
  background-repeat: no-repeat;
  padding-right: 30px;
  background-size: 18px auto; }
  @media screen and (min-width: 840px) {
    a.sentenceWrap {
      background-position: right 10px center;
      -webkit-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out; } }

@media screen and (min-width: 840px) {
  a.sentenceWrap:hover {
    background-position: right center; } }

a.sentenceWrap._bgMOL {
  background-color: #005396;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #FFF;
  position: relative;
  z-index: 0; }
  @media screen and (min-width: 840px) {
    a.sentenceWrap._bgMOL {
      min-height: 140px;
      /*background-position: right 20px center;*/
      padding: 25px 35px 25px 30px;
      margin-bottom: 16px;
      /*直前にlPhoto-sがある_col2Innerの指定*/ }
      a.sentenceWrap._bgMOL .lPhoto-s._ico {
        width: 80px;
        margin-bottom: 0;
        margin: 0 25px 0 0; }
      a.sentenceWrap._bgMOL .lPhoto-s._ico + ._col2Inner {
        width: calc(100% - 105px); } }
  @media screen and (max-width: 840px) {
    a.sentenceWrap._bgMOL {
      /*background-position: right 20px center;*/
      padding: 20px 30px 20px 15px;
      margin-bottom: 10px;
      /*直前にlPhoto-sがある_col2Innerの指定*/ }
      a.sentenceWrap._bgMOL .lPhoto-s._ico {
        width: 50px;
        margin: 0 15px 0 0; }
      a.sentenceWrap._bgMOL .lPhoto-s._ico + ._col2Inner {
        width: calc(100% - 65px); } }
  a.sentenceWrap._bgMOL dl dt, a.sentenceWrap._bgMOL dl dd {
    color: #FFF; }
  a.sentenceWrap._bgMOL ._ttl {
    display: block;
    text-align: center; }

a.sentenceWrap._bgMOL._h80, ._h80 a.sentenceWrap._bgMOL {
  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;
  min-height: 80px;
  padding: 0 35px;
  text-align: center; }
  @media screen and (max-width: 840px) {
    a.sentenceWrap._bgMOL._h80, ._h80 a.sentenceWrap._bgMOL {
      min-height: 70px; } }

a.sentenceWrap._bgMOL::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: 1;
  background-image: url(../img/ico/ico-arrowWhite.svg);
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-size: 18px auto;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  @media screen and (max-width: 840px) {
    a.sentenceWrap._bgMOL::before {
      background-position: right 15px center; } }

@media screen and (min-width: 840px) {
  a.sentenceWrap._bgMOL:hover::before {
    background-position: right 10px center; }

  a.sentenceWrap._bgMOL::after {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
    width: 0;
    height: 100%;
    content: "";
    background-image: -webkit-linear-gradient(left, #005396, #00a0dc);
    background-image: -o-linear-gradient(left, #005396, #00a0dc);
    background-image: linear-gradient(to right, #005396, #00a0dc);
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    opacity: 0; } }
a.sentenceWrap._bgMOL:hover::after {
  width: 100%;
  opacity: 1; }

a.bgImg._bgVision {
  padding: 15.2% 0 0 0;
  margin-bottom: 10px;
  min-height: 74px; }
  a.bgImg._bgVision ._txt {
    line-height: 1.4; }

/*********************************************************
価値創造ストーリー
*********************************************************/
.story-sourceBg {
  background: url("../img/underContentsBg/sustainability-story.jpg") left bottom no-repeat;
  margin-bottom: 40px;
  letter-spacing: 0.075em; }
  .story-sourceBg ._txt {
    color: #FFF;
    padding: 60px 80px;
    font-size: clamp(12px, 1.3vw, 20px);
    /*840-1023*/ }
    .story-sourceBg ._txt ._txtBig {
      font-size: clamp(16px, 2.2vw, 35px);
      line-height: 1.75;
      margin-bottom: 35px; }
      .story-sourceBg ._txt ._txtBig::before {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.75) * 0.5em); }
      .story-sourceBg ._txt ._txtBig::after {
        content: '';
        display: block;
        height: 0;
        width: 0;
        margin-top: calc((1 - 1.75) * 0.5em); }
    @media screen and (min-width: 840px) and (max-width: 1023px) {
      .story-sourceBg ._txt {
        padding: 30px 40px; } }
    @media screen and (max-width: 840px) {
      .story-sourceBg ._txt {
        font-size: 14px;
        padding: 30px 16px 50px 16px; }
        .story-sourceBg ._txt p {
          margin-bottom: 24px; }
        .story-sourceBg ._txt p:last-child {
          margin-bottom: 0; }
        .story-sourceBg ._txt ._txtBig {
          font-size: 20px;
          margin-bottom: 24px; } }

.story-action {
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  color: #FFF;
  margin: 40px 0 !important; }
  .story-action > dl {
    width: 44%;
    padding: 30px 40px;
    margin: 0 !important; }
    .story-action > dl dt {
      font-size: 24px;
      font-weight: 500;
      margin-bottom: 20px; }
      .story-action > dl dt img {
        margin-right: 20px; }
  .story-action > dl:first-child {
    background: #005396; }
  .story-action > dl:last-child {
    background: #00a0dc; }
  .story-action > div {
    width: 12%;
    margin: 0 !important;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .story-action > div span {
      font-size: 18px;
      font-size: clamp(16px, 1.2vw, 18px);
      font-weight: 500;
      line-height: 1.2;
      display: -webkit-flex;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      width: 71%;
      height: 90px;
      background-image: -webkit-linear-gradient(left, #005396, #00a0dc);
      background-image: -o-linear-gradient(left, #005396, #00a0dc);
      background-image: linear-gradient(to right, #005396, #00a0dc);
      position: relative;
      z-index: 1; }
    .story-action > div span::before {
      display: block;
      position: absolute;
      left: 99%;
      top: -25px;
      content: '';
      width: 70px;
      height: 140px;
      background: #00a0dc;
      clip-path: polygon(0 0, 50% 50%, 0 100%);
      z-index: -1; }
  @media screen and (max-width: 840px) {
    .story-action {
      display: block; }
      .story-action > dl {
        width: 100%;
        padding: 24px 18px; }
        .story-action > dl dt {
          font-size: 18px;
          margin-bottom: 10px; }
          .story-action > dl dt img {
            width: 45px;
            height: auto;
            margin-right: 13px; }
      .story-action > div {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-bottom: 40px; }
        .story-action > div span {
          font-size: 18px;
          -webkit-box-align: end;
          -ms-flex-align: end;
          align-items: flex-end;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          width: 144px;
          height: 45px;
          background-image: -webkit-linear-gradient(bottom, #00a0dc, #005396);
          background-image: -o-linear-gradient(bottom, #00a0dc, #005396);
          background-image: linear-gradient(to top, #00a0dc, #005396); }
        .story-action > div span::before {
          left: -28px;
          top: 99%;
          width: 200px;
          height: 30px;
          clip-path: polygon(100% 0, 50% 100%, 0 0); } }

/*********************************************************
EXPO2025
*********************************************************/
.expo2025 .expoTimer {
  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%;
  margin-top: 30px;
  text-align: center; }
  .expo2025 .expoTimer img {
    width: 80px;
    margin-right: 8px; }
  .expo2025 .expoTimer span {
    line-height: 1.2 !important;
    font-size: 25px;
    font-weight: 500; }
  .expo2025 .expoTimer span#day {
    font-size: 35px;
    font-weight: 700;
    color: #005396;
    margin-right: 5px;
    margin-left: 5px; }
.expo2025 .expoBnr img {
  width: 230px; }
.expo2025 .expoWrap {
  margin-top: 80px;
  background: #f2f2ef;
  padding: 100px 0 80px 0; }
  @media screen and (max-width: 840px) {
    .expo2025 .expoWrap {
      margin-top: 50px;
      padding: 30px 0 30px 0; } }
.expo2025 .expoBox {
  background: #FFF;
  padding: 50px 50px 30px 50px;
  margin-bottom: 80px; }
  @media screen and (max-width: 840px) {
    .expo2025 .expoBox {
      padding: 40px 40px 20px 40px;
      margin-bottom: 20px; } }
  @media screen and (max-width: 520px) {
    .expo2025 .expoBox {
      padding: 20px 20px 10px 20px; } }

/*********************************************************
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: 1150px) {
  .contentsWrap {
    margin-top: 80px; } }
@media all and (max-width: 1150px) {
  .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 #005396;
      border-right: 1px solid #005396;
      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: #005396;
      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 bottom;
      background-image: url("/molgroup/sample/assets/img/img-main.jpg");
      padding-top: 44%; } }
  @media screen and (max-width: 840px) {
    .main {
      background-position: center top;
      background-image: url("/molgroup/sample/assets/img/img-main-sp.jpg");
      padding-top: 126%; } }
  .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: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 31.8%;
      height: 100%;
      position: absolute;
      left: 4.1%;
      top: 0; } }
  @media screen and (max-width: 840px) {
    .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; } }
  @media screen and (max-width: 520px) {
    .copyL .mainTxt {
      bottom: 6%; } }
  .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.5%;
        font-size: 4.0vw; } }
    @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.0vw;
        text-align: left; } }
    @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: 90%;
        margin: 0;
        font-size: 13.0vw;
        line-height: 1.0;
        text-align: left; } }
  .copyL .mainTxt dd {
    font-weight: 500;
    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: 6.5%;
        font-size: 1.5vw;
        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.0vw;
        width: 90%;
        text-align: left;
        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: 4.0vw;
        width: 90%;
        text-align: left;
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards; } }

.copyBG .mainTxt {
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  color: #FFF;
  background-image: linear-gradient(to bottom, #005396, #00a0dc); }
  @media screen and (min-width: 840px) {
    .copyBG .mainTxt {
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 33%;
      height: 100%;
      padding: 0 3% 0 3%; } }
  @media screen and (max-width: 840px) {
    .copyBG .mainTxt {
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      width: 100%;
      max-width: 100%;
      height: auto;
      position: absolute;
      left: 0;
      bottom: 0;
      margin: auto;
      padding: 5%; } }
  @media screen and (max-width: 520px) {
    .copyBG .mainTxt {
      bottom: 0; } }
  .copyBG .mainTxt dt {
    font-weight: 500;
    opacity: 0;
    text-shadow: 0 2px 20px rgba(38, 59, 112, 0.8);
    width: 100%; }
    @media screen and (min-width: 840px) {
      .copyBG .mainTxt dt {
        animation: fadeIn 0.2s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.2s linear 0.3s 1 forwards;
        max-width: 6.0em;
        margin-left: 0;
        font-size: 3.9vw;
        line-height: 1.4; } }
    @media screen and (max-width: 840px) {
      .copyBG .mainTxt dt {
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards;
        margin: 0;
        max-width: 100%;
        font-size: 6.0vw;
        line-height: 1.4;
        text-align: left; } }
    @media screen and (max-width: 520px) {
      .copyBG .mainTxt dt {
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards;
        margin: 0;
        font-size: 6.0vw;
        line-height: 1.3;
        text-align: left; } }
  .copyBG .mainTxt dd {
    font-weight: 500;
    opacity: 0;
    text-shadow: 0 2px 20px rgba(38, 59, 112, 0.8);
    letter-spacing: 0.08em;
    width: 100%;
    /*840*/ }
    .copyBG .mainTxt dd::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.5) * 0.5em); }
    .copyBG .mainTxt dd::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.5) * 0.5em); }
    @media screen and (min-width: 840px) {
      .copyBG .mainTxt dd {
        margin-top: 2.5em;
        font-size: 16px;
        line-height: 1.7;
        animation: fadeIn 0.2s linear 1.6s 1 forwards;
        -webkit-animation: fadeIn 0.2s linear 1.6s 1 forwards; } }
    @media all and (max-width: 1280px) {
      .copyBG .mainTxt dd {
        font-size: 1.0vw; } }
    @media screen and (max-width: 840px) {
      .copyBG .mainTxt dd {
        margin-top: 1.0em;
        font-size: 2.5vw;
        line-height: 1.7;
        text-align: left;
        width: 100%;
        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) {
      .copyBG .mainTxt dd {
        margin-top: 1.2em;
        font-size: 12px;
        line-height: 1.6;
        text-align: left;
        width: 100%;
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards; } }

.copyBG::after {
  content: "";
  display: block;
  width: 67%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-position: right bottom;
  background-image: url(/molgroup/sample/assets/img/img-main03.jpg);
  background-repeat: no-repeat;
  background-size: cover; }
  @media screen and (max-width: 840px) {
    .copyBG::after {
      display: none; } }
  @media screen and (max-width: 520px) {
    .copyBG::after {
      display: none; } }

.copyLB .mainTxt {
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  color: #FFF; }
  @media screen and (min-width: 840px) {
    .copyLB .mainTxt {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 4.1%;
      bottom: 6%; } }
  @media screen and (max-width: 840px) {
    .copyLB .mainTxt {
      width: 100%;
      height: 39%;
      position: absolute;
      left: 5%;
      bottom: 12%;
      margin-top: 0; } }
  @media screen and (max-width: 520px) {
    .copyLB .mainTxt {
      bottom: 6%; } }
  .copyLB .mainTxt dt {
    font-weight: 600;
    opacity: 0;
    text-shadow: 0 2px 20px rgba(38, 59, 112, 0.8); }
    @media screen and (min-width: 840px) {
      .copyLB .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: 3.2vw; } }
    @media screen and (max-width: 840px) {
      .copyLB .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.0vw;
        text-align: left;
        line-height: 1.2; } }
    @media screen and (max-width: 520px) {
      .copyLB .mainTxt dt {
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards;
        font-size: 11.0vw; } }
  .copyLB .mainTxt dd {
    font-weight: 500;
    opacity: 0;
    text-shadow: 0 2px 20px rgba(38, 59, 112, 0.8);
    letter-spacing: 0.08em;
    line-height: 1.0;
    /*840*/ }
    .copyLB .mainTxt dd::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.5) * 0.5em); }
    .copyLB .mainTxt dd::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.5) * 0.5em); }
    @media screen and (min-width: 840px) {
      .copyLB .mainTxt dd {
        margin-top: 1.1em;
        font-size: 1.3vw;
        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) {
      .copyLB .mainTxt dd {
        margin-top: 1.0em;
        font-size: 3.0vw;
        width: 90%;
        text-align: left;
        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) {
      .copyLB .mainTxt dd {
        margin-top: 1.0em;
        font-size: 4.0vw;
        width: 90%;
        text-align: left;
        animation: fadeIn 0.3s linear 0.3s 1 forwards;
        -webkit-animation: fadeIn 0.3s linear 0.3s 1 forwards; } }

.copyC .mainTxt {
  display: -webkit-flex;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #FFF; }
  @media screen and (min-width: 840px) {
    .copyC .mainTxt {
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0; } }
  @media screen and (max-width: 840px) {
    .copyC .mainTxt {
      width: 100%;
      height: 39%;
      position: absolute;
      left: 0;
      top: 0;
      margin-top: 30%; } }
  .copyC .mainTxt dt {
    font-weight: 600;
    opacity: 0;
    text-shadow: 0 2px 20px rgba(38, 59, 112, 0.8); }
    @media screen and (min-width: 840px) {
      .copyC .mainTxt dt {
        animation: fadeIn 0.2s linear 1.6s 1 forwards;
        -webkit-animation: fadeIn 0.2s linear 1.6s 1 forwards;
        width: auto;
        margin-left: 0;
        font-size: 8.0vw; } }
    @media screen and (max-width: 840px) {
      .copyC .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 auto 0 auto;
        font-size: 10.0vw;
        text-align: center; } }
    @media screen and (max-width: 520px) {
      .copyC .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 auto 0 auto;
        font-size: 15.0vw;
        line-height: 1.0;
        text-align: center; } }
  .copyC .mainTxt dd {
    font-weight: 500;
    opacity: 0;
    text-shadow: 0 2px 20px rgba(38, 59, 112, 0.8);
    letter-spacing: 0.08em;
    line-height: 1.5;
    /*840*/ }
    .copyC .mainTxt dd::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.5) * 0.5em); }
    .copyC .mainTxt dd::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.5) * 0.5em); }
    @media screen and (min-width: 840px) {
      .copyC .mainTxt dd {
        margin-top: 1em;
        font-size: 2.0vw;
        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) {
      .copyC .mainTxt dd {
        margin-top: 1.5em;
        font-size: 3.0vw;
        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) {
      .copyC .mainTxt dd {
        margin-top: 1.5em;
        font-size: 4.0vw;
        width: 90%;
        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; }

/**********************************
h1LineWrap
***********************************/
.h1LineWrap {
  position: relative;
  padding: 10px 0 10px 25px;
  margin: 100px auto 55px auto; }
  @media screen and (max-width: 840px) {
    .h1LineWrap {
      padding: 8px 0 6px 25px;
      margin: 60px auto 30px auto; } }
  .h1LineWrap h1 {
    color: #005396;
    font-weight: 400;
    font-size: 45px;
    line-height: 1.4; }
    .h1LineWrap h1::before {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
    .h1LineWrap h1::after {
      content: '';
      display: block;
      height: 0;
      width: 0;
      margin-top: calc((1 - 1.4) * 0.5em); }
    @media screen and (max-width: 840px) {
      .h1LineWrap h1 {
        font-size: 22px; } }
    .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; } }

/*PR,information*/
.h1LineWrap.informationH1 {
  position: relative;
  padding: 10px 0 10px 25px;
  margin: 100px auto 55px auto; }
  @media screen and (max-width: 840px) {
    .h1LineWrap.informationH1 {
      padding: 8px 0 6px 25px;
      margin: 60px auto 30px auto; } }
  .h1LineWrap.informationH1 h1 {
    color: #005396;
    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: 22px; } }
    .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::before {
  position: absolute;
  left: 0;
  top: 0;
  content: '';
  width: 10px;
  height: 100%;
  background-image: -webkit-linear-gradient(bottom, #005396, #00a0dc);
  background-image: -o-linear-gradient(bottom, #005396, #00a0dc);
  background-image: linear-gradient(to top, #005396, #00a0dc); }

/*右にアイコンがある場合の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: 1150px) {
  .h1IcoWrap .h1LineWrapIco {
    width: 76%; } }
@media screen and (max-width: 840px) {
  .h1IcoWrap {
    margin-bottom: 60px; }
    .h1IcoWrap .h1LineWrapIco ._lead {
      font-size: 14px; } }
.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: 1150px) {
  .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 h3 h4
***********************************/
#molgroupTop .underContents h2 {
  color: #000000;
  font-weight: 500;
  padding-bottom: 0;
  margin-top: 160px;
  margin-bottom: 110px;
  position: relative;
  text-align: center;
  line-height: 1.4; }
  #molgroupTop .underContents h2::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  #molgroupTop .underContents h2::after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  @media screen and (max-width: 1023px) {
    #molgroupTop .underContents h2 {
      margin-top: 100px;
      margin-bottom: 90px; } }
  @media screen and (max-width: 840px) {
    #molgroupTop .underContents h2 {
      font-size: 20px;
      margin-top: 60px;
      margin-bottom: 60px; } }
  #molgroupTop .underContents h2 .h2ttl {
    font-size: 44px;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 840px) {
      #molgroupTop .underContents h2 .h2ttl {
        font-size: 30px; } }
    @media screen and (max-width: 520px) {
      #molgroupTop .underContents h2 .h2ttl {
        font-size: 26px; } }
  #molgroupTop .underContents h2 .h2ttlEn {
    font-size: 50px; }
    @media screen and (max-width: 840px) {
      #molgroupTop .underContents h2 .h2ttlEn {
        font-size: 34px; } }
    @media screen and (max-width: 520px) {
      #molgroupTop .underContents h2 .h2ttlEn {
        font-size: 28px; } }
  #molgroupTop .underContents h2::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -30px;
    content: '';
    height: 5px;
    width: 40px;
    margin: auto;
    background-image: linear-gradient(90deg, #024D98, #009ADE); }
    @media screen and (max-width: 840px) {
      #molgroupTop .underContents h2::after {
        bottom: -20px; } }
#molgroupTop .underContents h3 {
  font-weight: 500;
  padding-top: 60px;
  padding-bottom: 9px;
  border-bottom: 1px solid #005396;
  color: #005396;
  font-size: 26px;
  line-height: 1.5;
  margin-bottom: 40px; }
  @media screen and (max-width: 840px) {
    #molgroupTop .underContents h3 {
      font-size: 18px;
      line-height: 1.55;
      padding-top: 16px;
      margin-bottom: 30px; } }
#molgroupTop .underContents h2 + h3 {
  padding-top: 0; }
#molgroupTop .underContents h4 {
  font-weight: 500;
  position: relative;
  font-size: 20px;
  line-height: 1.4;
  padding-left: 19px;
  margin-top: 60px;
  margin-bottom: 20px;
  color: #005396; }
  @media screen and (max-width: 840px) {
    #molgroupTop .underContents h4 {
      font-size: 16px;
      padding-left: 12px;
      margin-top: 16px;
      margin-bottom: 10px; } }
#molgroupTop .underContents h4::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 3px;
  height: 100%;
  content: "";
  background: #cccccc; }
#molgroupTop .underContents h4.lineH4 {
  margin-top: 0 !important;
  font-size: 16px;
  color: #005396;
  position: relative;
  display: inline-block;
  padding-left: 60px !important; }
  #molgroupTop .underContents h4.lineH4:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    display: inline-block;
    width: 45px;
    height: 1px;
    background-color: #005396; }
  #molgroupTop .underContents h4.lineH4::after {
    display: none !important; }
  @media screen and (max-width: 840px) {
    #molgroupTop .underContents h4.lineH4 {
      font-size: 14px;
      padding-left: 34px !important;
      margin-bottom: 10px; }
      #molgroupTop .underContents h4.lineH4:before {
        top: 50%;
        left: 0;
        width: 25px; } }
#molgroupTop .underContents .txtLead {
  font-weight: 500;
  color: #005396;
  font-size: 22px;
  border-bottom: none !important;
  line-height: 1.4;
  padding: 0;
  margin-bottom: 25px; }
  #molgroupTop .underContents .txtLead::before {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  #molgroupTop .underContents .txtLead::after {
    content: '';
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 1.4) * 0.5em); }
  @media screen and (max-width: 840px) {
    #molgroupTop .underContents .txtLead {
      font-size: 18px;
      padding-left: 0; } }
#molgroupTop .underContents .txtLead._txtBig {
  font-size: 36px; }
#molgroupTop .underContents .ttlLink {
  display: block;
  padding: 0;
  border: none;
  margin-bottom: 30px;
  font-weight: 500;
  font-size: 20px; }
  #molgroupTop .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) {
      #molgroupTop .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) {
      #molgroupTop .underContents .ttlLink a {
        padding: 0 30px 10px 0; } }
  @media screen and (max-width: 840px) {
    #molgroupTop .underContents .ttlLink {
      font-size: 16px; } }
@media screen and (min-width: 840px) {
  #molgroupTop .underContents .ttlLink:hover a {
    background-position: right bottom 15px; } }
#molgroupTop .underContents .txtLead::after, #molgroupTop .underContents .ttlLink:after {
  position: relative; }
#molgroupTop .underContents h5 {
  font-weight: 500;
  font-size: 18px;
  color: #005396;
  margin-bottom: 15px; }
  @media screen and (max-width: 840px) {
    #molgroupTop .underContents h5 {
      font-size: 14px;
      margin-bottom: 10px; } }
#molgroupTop .underContents h2 span, #molgroupTop .underContents h3 span, #molgroupTop .underContents h4 span, #molgroupTop .underContents h5 span {
  font: inherit; }

#molgroupTop .underContents #ancInfo h2 {
  margin-top: 100px; }
  @media screen and (max-width: 1023px) {
    #molgroupTop .underContents #ancInfo h2 {
      margin-top: 80px; } }
  @media screen and (max-width: 840px) {
    #molgroupTop .underContents #ancInfo h2 {
      margin-top: 60px; } }

/*********************************************************
以下は、MOLで使用しているstyle「_newContentsStyle.scss」をグループ会社用に調整したもの。
*********************************************************/
/*********************************************************
newsList
*********************************************************/
.newsList {
  border-top: 1px solid #5d5d5d; }
  .newsList li {
    border-bottom: 1px solid #5d5d5d; }
    .newsList li a, .newsList li .noLink {
      display: block;
      color: #000;
      text-decoration: none;
      position: relative; }
      .newsList li a time, .newsList 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; }
    .newsList li a:after, .newsList li a:before {
      position: absolute;
      top: 0;
      bottom: 0;
      content: ""; }
    .newsList 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 #005396;
      border-right: 1px solid #005396;
      content: "";
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      border-top: 1px solid #000;
      border-right: 1px solid #000; }
    .newsList li a::before {
      right: 29px;
      width: 18px;
      height: 1px;
      margin: auto;
      background: #000;
      content: ""; }
  .newsList li a time, .newsList li .noLink time, .newsList li.cat-pr a time, .newsList li.cat-pr .noLink time, .newsList li.cat-news a time, .newsList li.cat-news .noLink time {
    padding-right: 130px;
    position: relative; }
  .newsList li a time:after, .newsList li .noLink time:after, .newsList li.cat-pr a time:after, .newsList li.cat-pr .noLink time:after, .newsList li.cat-news a time:after, .newsList 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: #005396;
    border: 1px solid #005396;
    display: flex;
    align-items: center;
    justify-content: center;
    text-indent: 0; }
  .newsList li.cat-pr a time:after, .newsList li.cat-pr .noLink time:after {
    content: "プレスリリース"; }
  .newsList li.cat-news a time:after, .newsList li.cat-news .noLink time:after {
    content: "お知らせ"; }

#en .newsList li a time:after, #en .newsList li .noLink time:after, #en .newsList li.cat-pr a time:after, #en .newsList li.cat-pr .noLink time:after, #en .newsList li.cat-news a time:after, #en .newsList li.cat-news .noLink time:after {
  font-size: 78%; }
#en .newsList li.cat-pr a time:after, #en .newsList li.cat-pr .noLink time:after {
  content: "Press Release"; }
#en .newsList li.cat-news a time:after, #en .newsList li.cat-news .noLink time:after {
  content: "Information"; }

@media screen and (min-width: 840px) {
  .newsList li a, .newsList li .noLink {
    font-size: 16px;
    line-height: 1.7;
    padding: 30px 80px 30px 20px;
    padding-left: 256px;
    text-indent: -160px; }
    .newsList li a time, .newsList li .noLink time {
      display: inline-block;
      font-size: 16px; }
  .newsList li a:hover {
    background: #f2f2ef;
    text-decoration: underline;
    text-decoration-thickness: 1px; }
  .newsList li a:after, .newsList li a:before {
    -webkit-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out; }
  .newsList li a:hover::after {
    right: 25px;
    border-top: 1px solid #005396;
    border-right: 1px solid #005396; }
  .newsList li a:hover::before {
    right: 24px;
    background: #005396; }

  /*インフォメーション一覧（カテゴリあり）*/
  .newsList._txtNormalCat li a, .newsList._txtNormalCat li .noLink {
    font-size: 16px;
    padding: 18px 80px 18px 280px;
    text-indent: -130px; } }
@media screen and (max-width: 840px) {
  .newsList li a, .newsList li .noLink {
    display: block;
    font-size: 14px;
    line-height: 1.7;
    padding: 20px 36px 18px 0; }
    .newsList li a time, .newsList li .noLink time {
      display: block;
      font-size: 14px;
      margin-bottom: 7px;
      text-decoration: underline;
      text-decoration-color: #FFF; }
  .newsList li a, .newsList li a:hover {
    text-decoration: underline;
    text-decoration-thickness: 1px; }
  .newsList li a::after {
    right: 11px;
    border-top: 1px solid #005396;
    border-right: 1px solid #005396; }
  .newsList li a::before {
    right: 11px;
    background: #005396; }
  .newsList li a time:after, .newsList li .noLink time:after, .newsList li.cat-pr a time:after, .newsList li.cat-pr .noLink time:after, .newsList li.cat-news a time:after, .newsList li.cat-news .noLink time:after {
    left: 87px;
    top: 0; }

  /*インフォメーション一覧（カテゴリあり）*/
  .newsList._txtNormalCat li a, .newsList._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; }

/*********************************************************
linkBtn（青リンクボタン表示）
*********************************************************/
a.linkBtn, a.linkBtn:hover {
  color: #FFF !important;
  text-decoration: none !important; }

a.linkBtn {
  display: block;
  margin: 0 auto;
  background: #005396;
  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 #005396;
    border-right: 1px solid #005396;
    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: #005396 !important; }

a.linkBtn._reverse {
  background: #FFF; }
  a.linkBtn._reverse ._link::before {
    border-top: 1px solid #005396;
    border-right: 1px solid #005396; }
  a.linkBtn._reverse ._link::after {
    background: #005396; }

@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-image: -webkit-linear-gradient(left, #005396, #00a0dc);
    background-image: -o-linear-gradient(left, #005396, #00a0dc);
    background-image: linear-gradient(to right, #005396, #00a0dc);
    -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: #005396; } }
@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%; } }
/*********************************************************
information
*********************************************************/
/*********************************************************
企業理念
*********************************************************/
.principleBox {
  padding: 30px 20px 20px 30px;
  background: rgba(0, 83, 150, 0.1); }
  .principleBox dt {
    color: #005396;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: 0.08em; }
  .principleBox dd {
    margin-bottom: 30px; }
  @media screen and (max-width: 840px) {
    .principleBox {
      padding: 20px 20px 20px 20px; }
      .principleBox dt {
        font-size: 18px; }
      .principleBox dd {
        margin-bottom: 16px; } }

/*********************************************************
MOLの企業理念
*********************************************************/
._molprinciple {
  background: rgba(0, 83, 150, 0.1);
  margin: 40px; }
  ._molprinciple > div p:first-of-type {
    font-size: 26px; }
  ._molprinciple .molvision {
    width: 50%;
    padding: 40px; }
  ._molprinciple .molsea {
    width: 50%;
    min-height: 300px;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-background-size: cover !important;
    background-size: cover !important;
    background-repeat: no-repeat;
    overflow: hidden;
    background-position: center center !important;
    background-image: url("/molgroup/sample/assets/img/img-sea.jpg"); }

@media all and (max-width: 1150px) {
  ._molprinciple > div p:first-of-type {
    font-size: 22px; } }
@media screen and (max-width: 1023px) {
  ._molprinciple {
    margin: 20px; } }
@media screen and (max-width: 840px) {
  ._molprinciple {
    margin: 30px; }
    ._molprinciple > div p:first-of-type {
      font-size: 18px; }
    ._molprinciple .molvision {
      width: 100%;
      padding: 30px 30px 30px 30px;
      margin-bottom: 0; }
    ._molprinciple .molsea {
      width: 100%;
      min-height: 300px; } }
@media screen and (max-width: 520px) {
  ._molprinciple {
    margin: 14px; }
    ._molprinciple .molvision {
      padding: 20px 20px 20px 20px; } }
/*********************************************************
MOL CHARTS
*********************************************************/
._molcharts {
  padding: 0 30px 50px 50px; }
  ._molcharts dl.nowrapBlock:before {
    display: none; }
  ._molcharts dl.nowrapBlock:after {
    display: none; }
  ._molcharts dl.nowrapBlock dt {
    width: 9em;
    font-size: 22px;
    font-family: "Montserrat", "Zen Kaku Gothic New", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Yu Gothic medium", "Hiragino Sans", Meiryo, sans-serif;
    font-weight: 500;
    letter-spacing: 0.05em;
    color: #005396; }
  ._molcharts dl.nowrapBlock dt::first-letter {
    display: inline-block;
    padding: 0.1rem 0.45rem 0.15rem 0.55rem;
    margin-right: 2px;
    border-radius: 50%;
    color: white;
    background-color: #005396; }
  ._molcharts dl.nowrapBlock dd {
    width: calc(100% - 13em);
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 0.05em;
    margin-bottom: 30px; }
    ._molcharts dl.nowrapBlock dd ul {
      margin-top: 10px; }
      ._molcharts dl.nowrapBlock dd ul li {
        font-size: 14px; }
  ._molcharts dl.nowrapBlock dd:last-child {
    margin-bottom: 0; }

@media screen and (max-width: 840px) {
  ._molcharts {
    margin-bottom: 0;
    padding: 0; }
    ._molcharts .rPhoto-ss, ._molcharts .lPhoto-ss {
      width: 240px;
      margin: 15px auto;
      float: none; }
    ._molcharts h4 {
      margin-left: 20px; }
    ._molcharts dl.nowrapBlock {
      padding: 30px; }
      ._molcharts dl.nowrapBlock dt {
        width: 100%;
        font-size: 16px;
        margin-bottom: 5px; }
      ._molcharts dl.nowrapBlock dt::first-letter {
        padding: 0.1rem 0.35rem 0.15rem 0.4rem; }
      ._molcharts dl.nowrapBlock dd {
        width: 100%;
        font-size: 15px;
        margin-bottom: 15px; }
        ._molcharts dl.nowrapBlock dd ul {
          margin-top: 0;
          margin-left: 30px; }
          ._molcharts dl.nowrapBlock dd ul li {
            font-size: 13px;
            margin-bottom: 0; } }
/*********************************************************
事業案内
*********************************************************/
#secServices .boxCol2 > dl dt strong {
  display: block;
  padding-top: 30px;
  margin-left: 40px;
  font-size: 22px;
  color: #005396;
  font-weight: 500; }
#secServices .boxCol2 > dl dd {
  position: relative;
  padding: 30px 40px 40px 40px; }
  #secServices .boxCol2 > dl dd::after {
    position: absolute;
    content: "";
    top: 12px;
    left: 50%;
    width: calc(100% - 80px);
    height: 1px;
    background-color: #ccc;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%); }
@media screen and (max-width: 1023px) {
  #secServices .boxCol2 > dl dt strong {
    padding-top: 20px;
    margin-left: 20px;
    font-size: 18px; }
  #secServices .boxCol2 > dl dd {
    padding: 20px; } }
@media screen and (max-width: 840px) {
  #secServices .boxCol2 > dl dt strong {
    padding-top: 20px;
    margin-left: 20px;
    font-size: 18px; }
  #secServices .boxCol2 > dl dd {
    padding: 20px; } }

/*********************************************************
採用情報
*********************************************************/
#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; }
