@charset "UTF-8";
/*============================================================================================================
	module css
============================================================================================================*/
.mB100 { margin-bottom: 100px; }
@media screen and (max-width: 767px) { .mB100 { margin-bottom: 50px; } }

.pB0 { padding-bottom: 0 !important; }
@media screen and (max-width: 767px) { .pB0 { padding-bottom: 30px !important; } }

/*------------------------------------------
	枠内にfitするimg
------------------------------------------*/
.imgFitBox { overflow: hidden; }
.imgFitBox img { width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover; object-position: center;'; }
.imgFitBox.contain { /* fit = contain */ }
.imgFitBox.contain img { object-fit: contain; font-family: 'object-fit: contain; object-position: center;'; }

/*------------------------------------------
	hoverで拡大するimg
------------------------------------------*/
.imgLinkBox { overflow: hidden; }
.imgLinkBox img { -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; width: 100%; height: 100%; object-fit: cover; font-family: 'object-fit: cover; object-position: center;'; }
@media screen and (min-width: 768px) { .imgLinkBox:hover { filter: alpha(opacity=100); -moz-opacity: 1; opacity: 1; }
  .imgLinkBox:hover img { -webkit-transform: scale(1.05); -ms-transform: scale(1.05); transform: scale(1.05); } }

/*------------------------------------------ スクロールされたらフェードイン
------------------------------------------*/
.fade-in { opacity: 0.1; transform: translate(0, 80px); transition: all 500ms; }
.fade-in.scrollin { opacity: 1; transform: translate(0, 0); }
@media screen and (max-width: 767px) { .fade-in { transform: translate(0, 50px); } }

/*------------------------------------------
	flex set
------------------------------------------*/
/* flex01 (両端配置 / 高さ100%揃え) */
.flex01, .modWrap02 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

/* flex02 (両端配置 / 上寄せ / 高さ要素次第) */
.flex02 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

/* flex03 (両端配置 / 水平中央配置 / 高さ要素次第) */
.flex03 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

/* flex04 (左寄せ / 上寄せ / 高さ100%揃え) */
.flex04 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }

/* flex05 (左寄せ / 上寄せ / 高さ要素次第) */
.flex05 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; }

/* flex06 (左寄せ / 水平中央配置 / 高さ要素次第) */
.flex06 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

/* flex07 (中央配置 / 高さ100%揃え) */
.flex07, .modTtl02 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }

/* flex08 (中央配置 / 水平中央配置 / 高さ要素次第) */
.flex08, .modTtl02 .ttl { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

/* flex09 (余白均等配置 / 高さ100%揃え) */
.flex09 { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-justify-content: space-around; -ms-flex-pack: distribute; justify-content: space-around; }

/*------------------------------------------
	modBtn
------------------------------------------*/
/*	modBtn01 (Read more)
---------------------------*/
.modBtn01 { display: table; color: #fff; font-size: 11px; font-weight: 500; }
.modBtn01 a { display: block; padding-right: 43px; background: url(../img/ico/ico_arrow02.png) no-repeat 97% center; background-size: 32px; }
.modBtn01 a:hover { background-position: right center; opacity: 1; }

/*	.modBtn02_
---------------------------*/
/* white */
.modBtn02_w, .modBtn02_n, .modBtn02_n_wide, .modBtn02_n2 { color: #fff; width: 140px; text-align: center; font-size: 13px; font-weight: bold; }
.modBtn02_w > *, .modBtn02_n > *, .modBtn02_n_wide > *, .modBtn02_n2 > * { padding: 5px 15px; display: block; border: 1px solid #fff; position: relative; }
.modBtn02_w > * span, .modBtn02_n > * span, .modBtn02_n_wide > * span, .modBtn02_n2 > * span { position: relative; z-index: 3; }
@media screen and (min-width: 768px) { .modBtn02_w > *:before, .modBtn02_n > *:before, .modBtn02_n_wide > *:before, .modBtn02_n2 > *:before { content: ""; display: block; width: 100%; height: 100%; position: absolute; bottom: 100%; left: 0; right: 0; margin: auto; opacity: 0; background: #E50012; z-index: 2; pointer-events: none; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
  .modBtn02_w > *:hover, .modBtn02_n > *:hover, .modBtn02_n_wide > *:hover, .modBtn02_n2 > *:hover { color: #fff; opacity: 1; border-color: #E50012; }
  .modBtn02_w > *:hover:before, .modBtn02_n > *:hover:before, .modBtn02_n_wide > *:hover:before, .modBtn02_n2 > *:hover:before { top: 0; bottom: 0; opacity: 1; pointer-events: auto; } }

/* navy */
.modBtn02_n, .modBtn02_n_wide { color: #0058A2; }
.modBtn02_n > *, .modBtn02_n_wide > * { background: #fff; border-color: #0058A2; }

.modBtn02_n2 > * { background: #0058A2; border-color: #0058A2; }

/* wide */
.modBtn02_n_wide { width: 100%; font-size: 18px; }
.modBtn02_n_wide a { padding: 15px 10px; }
@media screen and (max-width: 767px) { .modBtn02_n_wide { font-size: 16px; }
  .modBtn02_n_wide a { padding: 10px; } }

/*------------------------------------------
	modTtl
------------------------------------------*/
/*	modTtl01_
---------------------------*/
.modTtl01_w, .modTtl01_n { color: #fff; font-size: 28px; font-weight: 500; text-align: center; letter-spacing: 3px; margin-bottom: 50px; }
.modTtl01_w span, .modTtl01_n span { display: block; font-size: 14px; font-weight: normal; letter-spacing: 1.5px; margin-top: 25px; position: relative; }
.modTtl01_w span:before, .modTtl01_n span:before { content: ""; display: block; width: 100px; height: 2px; background: #000; position: absolute; left: 0; right: 0; top: -14px; margin: auto; background: #fff; }
@media screen and (max-width: 767px) { .modTtl01_w, .modTtl01_n { font-size: 22px; margin-bottom: 25px; }
  .modTtl01_w span, .modTtl01_n span { font-size: 12px; margin-top: 15px; }
  .modTtl01_w span:before, .modTtl01_n span:before { width: 60px; height: 1px; top: -9px; } }

.modTtl01_n { color: #0058A2; }
.modTtl01_n span:before { background: #0058A2; }

/*	modTtl02
---------------------------*/
.modTtl02 { min-height: 182px; padding: 30px 10px 40px; margin-bottom: 50px; background: #E50012; }
.modTtl02 .ttl { color: #fff; font-size: 32px; font-weight: 500; text-align: center; letter-spacing: 3px; }
@media all and (-ms-high-contrast: none) { .modTtl02 .ttl { min-height: 110px; } }
.modTtl02 _:-ms-lang(x) .ttl, .modTtl02 _::-webkit-meter-bar .ttl, .modTtl02 body .ttl { min-height: 110px; }
@media screen and (max-width: 767px) { .modTtl02 { display: block; min-height: 100%; padding: 20px 10px; margin-bottom: 20px; }
  .modTtl02 .ttl { display: block; font-size: 18px; min-height: 100%; } }

/*	modTtl03
---------------------------*/
.modTtl03 { color: #fff; text-align: center; font-size: 18px; padding: 10px; border: 1px solid #C8C8C8; background: #0058A2; }
.modTtl03.light { color: #fff; text-align: center; font-size: 18px; padding: 10px; border: 1px solid #557FAC; background:#557FAC; }
.modTtl03 + * { border-top: none !important; }
@media screen and (max-width: 767px) { .modTtl03 { font-size: 16px; } }

/*	modTtl04
---------------------------*/
.modTtl04 { color: #0058A2; text-align: center; font-size: 20px; font-weight: bold; letter-spacing: 3px; padding: 10px 5px; margin-bottom: 50px; border-top: 1px solid #0058A2; border-bottom: 1px solid #0058A2; }
@media screen and (max-width: 767px) { .modTtl04 { font-size: 18px; margin-bottom: 20px; } }

/*	modTtl05
---------------------------*/
.modTtl05 { color: #0058A2; font-size: 32px; font-weight: bold; margin-bottom: 30px; }
@media screen and (max-width: 767px) { .modTtl05 { font-size: 20px; margin-bottom: 20px; } }

/*------------------------------------------
	modNavigation
------------------------------------------*/
/*	modNavigation01_
---------------------------*/
.modNavigation01_w, .modNavigation01_n { color: #fff; display: table; text-align: center; font-size: 12px; margin: 0 auto; }
.modNavigation01_w li, .modNavigation01_n li { width: 50px; height: 50px; float: left; line-height: 50px; position: relative; }
.modNavigation01_w li.current, .modNavigation01_n li.current, .modNavigation01_w li a:hover, .modNavigation01_n li a:hover { color: #0058A2; opacity: 1; background: #fff; }
.modNavigation01_w li a, .modNavigation01_n li a { display: block; width: 100%; height: 100%; }
.modNavigation01_w li.first i, .modNavigation01_n li.first i, .modNavigation01_w li.prev i, .modNavigation01_n li.prev i, .modNavigation01_w li.next i, .modNavigation01_n li.next i, .modNavigation01_w li.last i, .modNavigation01_n li.last i { width: 15px; height: 15px; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.modNavigation01_w li.first a, .modNavigation01_n li.first a, .modNavigation01_w li.prev a, .modNavigation01_n li.prev a, .modNavigation01_w li.next a, .modNavigation01_n li.next a, .modNavigation01_w li.last a, .modNavigation01_n li.last a { color: inherit !important; }
.modNavigation01_w li.first a:hover, .modNavigation01_n li.first a:hover, .modNavigation01_w li.prev a:hover, .modNavigation01_n li.prev a:hover, .modNavigation01_w li.next a:hover, .modNavigation01_n li.next a:hover, .modNavigation01_w li.last a:hover, .modNavigation01_n li.last a:hover { background-color: inherit !important; }
.modNavigation01_w li.first.first a:hover i, .modNavigation01_n li.first.first a:hover i, .modNavigation01_w li.first.prev a:hover i, .modNavigation01_n li.first.prev a:hover i, .modNavigation01_w li.prev.first a:hover i, .modNavigation01_n li.prev.first a:hover i, .modNavigation01_w li.prev.prev a:hover i, .modNavigation01_n li.prev.prev a:hover i, .modNavigation01_w li.next.first a:hover i, .modNavigation01_n li.next.first a:hover i, .modNavigation01_w li.next.prev a:hover i, .modNavigation01_n li.next.prev a:hover i, .modNavigation01_w li.last.first a:hover i, .modNavigation01_n li.last.first a:hover i, .modNavigation01_w li.last.prev a:hover i, .modNavigation01_n li.last.prev a:hover i { left: -5px; }
.modNavigation01_w li.first.last a:hover i, .modNavigation01_n li.first.last a:hover i, .modNavigation01_w li.first.next a:hover i, .modNavigation01_n li.first.next a:hover i, .modNavigation01_w li.prev.last a:hover i, .modNavigation01_n li.prev.last a:hover i, .modNavigation01_w li.prev.next a:hover i, .modNavigation01_n li.prev.next a:hover i, .modNavigation01_w li.next.last a:hover i, .modNavigation01_n li.next.last a:hover i, .modNavigation01_w li.next.next a:hover i, .modNavigation01_n li.next.next a:hover i, .modNavigation01_w li.last.last a:hover i, .modNavigation01_n li.last.last a:hover i, .modNavigation01_w li.last.next a:hover i, .modNavigation01_n li.last.next a:hover i { right: -5px; }
@media screen and (max-width: 767px) { .modNavigation01_w, .modNavigation01_n { font-size: 10px; }
  .modNavigation01_w li, .modNavigation01_n li { width: 33px; height: 33px; line-height: 33px; } }

.modNavigation01_n { color: #0058A2; }
.modNavigation01_n li.current, .modNavigation01_n li a:hover { color: #fff; background: #0058A2; }

/*	modNavigation02_
---------------------------*/
.modNavigation02_w .prev, .modNavigation02_n .prev, .modNavigation02_w .next, .modNavigation02_n .next { color: #fff; display: table; width: 85px; font-size: 13px; overflow: visible; }
.modNavigation02_w .prev a, .modNavigation02_n .prev a, .modNavigation02_w .next a, .modNavigation02_n .next a { display: block; position: relative; border-bottom: 1px solid #fff; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.modNavigation02_w .prev span, .modNavigation02_n .prev span, .modNavigation02_w .next span, .modNavigation02_n .next span { display: table; position: relative; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.modNavigation02_w .prev, .modNavigation02_n .prev { float: left; }
.modNavigation02_w .prev span, .modNavigation02_n .prev span { margin: 0 0 0 auto; }
.modNavigation02_w .next, .modNavigation02_n .next { float: right; }
.modNavigation02_w .back, .modNavigation02_n .back { margin: 0 auto; }
@media screen and (min-width: 768px) { .modNavigation02_w .prev a:hover, .modNavigation02_n .prev a:hover { -webkit-transform: translateX(-5px); -ms-transform: translateX(-5px); transform: translateX(-5px); }
  .modNavigation02_w .prev a:hover span, .modNavigation02_n .prev a:hover span { -webkit-transform: translateX(10px); -ms-transform: translateX(10px); transform: translateX(10px); }
  .modNavigation02_w .next a:hover, .modNavigation02_n .next a:hover { -webkit-transform: translateX(5px); -ms-transform: translateX(5px); transform: translateX(5px); }
  .modNavigation02_w .next a:hover span, .modNavigation02_n .next a:hover span { -webkit-transform: translateX(-10px); -ms-transform: translateX(-10px); transform: translateX(-10px); } }
@media screen and (max-width: 767px) { .modNavigation02_w .perv, .modNavigation02_n .perv, .modNavigation02_w .next, .modNavigation02_n .next { margin-bottom: 25px; }
  .modNavigation02_w .back, .modNavigation02_n .back { clear: both; } }

.modNavigation02_n .prev, .modNavigation02_n .next { color: #0058A2; }
.modNavigation02_n .prev a, .modNavigation02_n .next a { border-bottom: 1px solid #0058A2; }

/*------------------------------------------
	modWrap
------------------------------------------*/
/*	modWrap01
---------------------------*/
.modWrap01 { overflow: hidden; }
.modWrap01 > *:nth-of-type(1) { width: 70%; float: right; }
.modWrap01 > *:nth-of-type(2) { width: 28%; float: left; }
.modWrap01 + .modWrap01 { margin-top: 35px; }
@media screen and (max-width: 767px) { .modWrap01 img { width: 90%; margin: 0 auto; display: block; }
  .modWrap01 > * { width: 100% !important; float: none !important; }
  .modWrap01 > *:nth-of-type(1) { margin-bottom: 20px; } }

/*	modWrap02
---------------------------*/
.modWrap02 > * { margin: 0; }
.modWrap02 .txtBox { width: 47%; position: relative; }
.modWrap02 .txtBox .btn { position: absolute; bottom: 0; }
.modWrap02 .imgBox { width: 49%; text-align: center; }
@media screen and (max-width: 767px) { .modWrap02 { display: block; }
  .modWrap02 .txtBox { width: 100%; margin-bottom: 20px; position: static; }
  .modWrap02 .txtBox .btn { position: static; margin-top: 20px; }
  .modWrap02 .imgBox { width: 100%; } }

/*------------------------------------------
	modTable
------------------------------------------*/
/*	modTable01
---------------------------*/
.modTable01 { background: #fff; border: 1px solid #C8C8C8; }
.modTable01 th, .modTable01 td { font-size: 14px; padding: 22px 18px; vertical-align: top; border-bottom: 1px solid #C8C8C8; }
.modTable01 th { font-weight: 500; text-align: center; border-right: 1px solid #C8C8C8; }
.modTable01 + * { margin-top: 50px; }
@media screen and (max-width: 767px) { .modTable01 { border-bottom: none; }
  .modTable01 th, .modTable01 td { padding: 10px; display: block; width: 100% !important; }
  .modTable01 th { text-align: left; font-weight: bold; border-right: none; }
  .modTable01 td { font-size: 13px; }
  .modTable01 + * { margin-top: 30px; } }

/*------------------------------------------
	modList
------------------------------------------*/
/*	modList0101
---------------------------*/
.modList01, .modList01_big { counter-reset: number; }
.modList01 li, .modList01_big li { font-size: 14px; padding-left: 18px; margin-bottom: 5px; position: relative; }
.modList01 li:before, .modList01_big li:before { counter-increment: number; content: counter(number) "."; position: absolute; top: 0; left: 0; }

/* big */
.modList01_big { margin-left: 15px; }
.modList01_big li { font-size: 15px; font-weight: bold; }
@media screen and (max-width: 767px) { .modList01_big li { font-size: 14px; } }

/*# sourceMappingURL=module.css.map */
