@charset "UTF-8";
/* ---------- setting ---------- ---------- */
.mod-doc a { color: #333; text-decoration: underline; }

.mod-doc p { line-height: 2; margin-bottom: 1em; letter-spacing: 0.05em; }

p.mod-text-note { position: relative; padding-left: 1.5em; }

p.mod-text-note:before { content: "※"; position: absolute; left: 3px; top: 0; }

p.mod-text-dot { position: relative; padding-left: 1.5em; }

p.mod-text-dot:before { content: "・"; position: absolute; left: 0.25em; top: 0; }

.mod-anim-pc { opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; transition-delay: 0.2s; transition-duration: 0.7s; transition-property: opacity,transform; }

.mod-anim-pc.is-fade.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.mod-anim { opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; transition-delay: 0.2s; transition-duration: 0.7s; transition-property: opacity,transform; }

.mod-anim.is-fade.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }

.mod-anim.is-top { -ms-transform: translate(0, -100px); transform: translate(0, -100px); }

.mod-anim.is-top.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; -ms-transform: translate(0, 0); transform: translate(0, 0); }

.mod-anim.is-bottom { -ms-transform: translate(0, 100px); transform: translate(0, 100px); }

.mod-anim.is-bottom.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; -ms-transform: translate(0, 0); transform: translate(0, 0); }

.mod-anim.is-right.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; -ms-transform: translate(0, 0); transform: translate(0, 0); }

.mod-anim.is-left.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; -ms-transform: translate(0, 0); transform: translate(0, 0); }

.mod-anim.is-zoom { -ms-transform: scale(0, 0); transform: scale(0, 0); }

.mod-anim.is-zoom.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; -ms-transform: scale(1, 1); transform: scale(1, 1); }

.mod-anim.is-zoom2 { -ms-transform: scale(0, 0); transform: scale(0, 0); transition-timing-function: cubic-bezier(0, 0.75, 0.6, 1.4); }

.mod-anim.is-zoom2.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; -ms-transform: scale(1, 1); transform: scale(1, 1); }

.mod-anim.is-zoom3 { -ms-transform: scale(0, 0); transform: scale(0, 0); transition-timing-function: cubic-bezier(0.8, 0, 0, 0.4); }

.mod-anim.is-zoom3.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; -ms-transform: scale(1, 1); transform: scale(1, 1); }

.mod-anim.is-blur { filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="15" /></filter></svg>#filter'); filter: blur(15px); transition-property: opacity,transform,filter; -webkit-backface-visibility: hidden; backface-visibility: hidden; }

.mod-anim.is-blur.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter'); filter: blur(0); }

.mod-anim.is-text { overflow: hidden; opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; display: inline-block; }

.mod-anim.is-text .mod-anim__inner { display: block; position: relative; height: 100%; transition-property: transform; transition-duration: 0.5s; -ms-transform: translate(-100%, 0); transform: translate(-100%, 0); }

.mod-anim.is-text .mod-anim__inner:after { content: ""; display: block; position: absolute; top: 0px; left: 0px; width: 100%; bottom: 0px; background: #888; transition-property: transform; transition-delay: 0.7s; transition-duration: 0.5s; -ms-transform: translate(0, 0); transform: translate(0, 0); }

.mod-anim.is-text.is-delay-02.js-active .mod-anim__inner { transition-delay: 0.2s; }

.mod-anim.is-text.is-delay-04.js-active .mod-anim__inner { transition-delay: 0.4s; }

.mod-anim.is-text.is-delay-06.js-active .mod-anim__inner { transition-delay: 0.6s; }

.mod-anim.is-text.js-active .mod-anim__inner { -ms-transform: translate(0, 0); transform: translate(0, 0); }

.mod-anim.is-text.js-active .mod-anim__inner:after { -ms-transform: translate(100%, 0); transform: translate(100%, 0); }

.mod-anim.is-delay-00 { transition-delay: 0s; }

.mod-anim.is-delay-01 { transition-delay: 0.1s; }

.mod-anim.is-delay-02 { transition-delay: 0.2s; }

.mod-anim.is-delay-03 { transition-delay: 0.3s; }

.mod-anim.is-delay-04 { transition-delay: 0.4s; }

.mod-anim.is-delay-05 { transition-delay: 0.5s; }

.mod-anim.is-delay-06 { transition-delay: 0.6s; }

.mod-anim.is-delay-07 { transition-delay: 0.7s; }

.mod-anim.is-delay-08 { transition-delay: 0.8s; }

.mod-anim.is-delay-09 { transition-delay: 0.9s; }

.mod-anim.is-delay-10 { transition-delay: 1.0s; }

.mod-anim.is-delay-11 { transition-delay: 1.1s; }

.mod-anim.is-delay-12 { transition-delay: 1.2s; }

.mod-anim.is-delay-13 { transition-delay: 1.3s; }

.mod-anim.is-delay-14 { transition-delay: 1.4s; }

.mod-anim.is-delay-15 { transition-delay: 1.5s; }

.mod-anim.is-delay-16 { transition-delay: 1.6s; }

.mod-anim.is-delay-17 { transition-delay: 1.7s; }

.mod-anim.is-delay-18 { transition-delay: 1.8s; }

.mod-anim.is-delay-19 { transition-delay: 1.9s; }

.mod-anim.is-delay-20 { transition-delay: 2.0s; }

/* ----------------------------------------------------------
loop
---------------------------------------------------------- */
.mod-anim.is-fadeloop.js-active { animation: infinite_loop_opacity 1s ease-in-out 0s infinite alternate; }

.mod-anim.is-vertical-loop.js-active { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; animation: infinite_loop_bounce 1s ease-in-out 0s infinite alternate; }

.mod-anim.is-rotate { display: block; opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; animation: infinite_loop_rotate 1s linear 0s infinite; }

/* ----------------------------------------------------------
@keyframes
---------------------------------------------------------- */
@keyframes infinite_loop_opacity { 0% { opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
  100% { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; } }

@keyframes infinite_loop_bounce { 0% { transform: translate3d(0, 0, -5px); }
  100% { transform: translate3d(0, 5px, 0); } }

@keyframes infinite_loop_rotate { 0% { transform: rotate(0deg); }
  100% { transform: rotate(359deg); } }

@media print, screen and (min-width: 768px){
 .mod-anim.is-right{ -ms-transform: translate(6.94444vw, 0); transform: translate(6.94444vw, 0); }
 .mod-anim.is-left{ -ms-transform: translate(-6.94444vw, 0); transform: translate(-6.94444vw, 0); }
 .mod-index-news{ display: -ms-flexbox; display: flex; }
 .mod-index-news ._date{ width: 8.33333vw; }
 .mod-btn-more-wrap{ transition-duration: 0.4s; }
 .mod-btn-more-wrap:hover{ opacity: 0.8; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; }
 .mod-btn-more-wrap:hover .mod-btn-more:before{ width: 11.11111vw; opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
 .mod-btn-more-wrap:hover .mod-btn-more:after{ left: 11.11111vw; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; width: 0; }
 .mod-btn-more-wrap:hover .mod-btn-more.is-contact:before{ width: 5.55556vw; }
 .mod-btn-more-wrap:hover .mod-btn-more.is-contact:after{ left: 5.55556vw; }
 .mod-btn-more{ display: inline-block; width: 15.27778vw; font-size: 1.11111vw; position: relative; text-align: right; font-weight: bold; }
 .mod-btn-more:before{ content: ""; display: block; position: absolute; top: 50%; left: 0px; transition-duration: 0.4s; transition-delay: 0.2s; width: 0; height: 1px; background: #000; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
 .mod-btn-more:after{ content: ""; display: block; position: absolute; top: 50%; left: 0px; transition-duration: 0.4s; width: 11.11111vw; height: 1px; background: #000; }
 .mod-btn-more.is-contact{ width: 12.5vw; }
 .mod-btn-more.is-contact:after{ width: 5.55556vw; }
 .mod-index-title{ font-weight: bold; font-size: 4.16667vw; line-height: 1.4; }
 .mod-index-title-link{ font-weight: bold; font-size: 4.16667vw; line-height: 1.3; position: relative; cursor: pointer; transition-duration: 0.4s; padding-right: 9.02778vw; }
 .mod-index-title-link:hover{ color: #fff; }
 .mod-index-title-link:hover:after{ -ms-transform: translate(0.69444vw, 0); transform: translate(0.69444vw, 0); }
 .mod-index-title-link:after{ content: ""; transition-duration: 0.4s; display: block; position: absolute; top: -0.27778vw; right: 0; background: url(/common/images/icon/icon_arrow_a.svg) left top no-repeat; background-size: contain; width: 6.25vw; height: 6.25vw; }
 .mod-index-work-links{ font-weight: normal; font-size: 5.83333vw; text-align: left; color: #ddd; position: relative; display: -ms-flexbox; display: flex; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; z-index: 10; }
 .mod-index-work-links li{ margin: 1.38889vw 0; }
 .mod-index-work-links a{ color: #DDDDDD; display: block; line-height: 1.0; position: relative; cursor: pointer; transition-duration: 0.4s; font-weight: normal; }
 .mod-index-work-links a:hover{ color: #fff; }
 .mod-index-work-links a:hover:before{ width: 100%; }
 .mod-index-work-links a:hover:after{ left: 100%; width: 0; }
 .mod-index-work-links a:before{ content: ""; position: absolute; left: 0px; width: 0; bottom: 0px; height: 0.34722vw; background: #ddd; transition-duration: 0.4s; transition-delay: 0.2s; }
 .mod-index-work-links a:after{ content: ""; position: absolute; left: 0px; width: 100%; bottom: 0px; height: 0.34722vw; background: #ddd; transition-duration: 0.4s; }
 .mod-index-work-vis{ pointer-events: none; position: fixed; z-index: 5; top: 0px; left: 0px; width: 10px; height: 10px; }
 .mod-index-work-vis.is-show:after{ opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
 .mod-index-work-vis:after{ opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; transition-duration: 0.4s; content: ""; display: block; position: absolute; top: 0; left: 0; -ms-transform: translate(-50%, -50%); transform: translate(-50%, -50%); background: url(/images/index/work/p11.png) left top no-repeat; background-size: contain; width: 17.36111vw; height: 17.36111vw; }
 .mod-index-work-vis.is-p1:after{ background-image: url(/images/index/work/p11.png); }
 .mod-index-work-vis.is-p2:after{ background-image: url(/images/index/work/p12.png); }
 .mod-index-work-vis.is-p3:after{ background-image: url(/images/index/work/p13.png); }
 .mod-index-work-vis.is-p4:after{ background-image: url(/images/index/work/p14.png); }
 .mod-index-work-vis.is-p5:after{ background-image: url(/images/index/work/p15.png); }
 .mod-index-work-vis.is-p6:after{ background-image: url(/images/index/work/p16.png); }
 .mod-footer-sns ul li{ display: inline-block; margin-left: 0.69444vw; }
 .mod-footer-sns ul img{ width: 1.73611vw; }
 .mod-footer-sns ul img img{ width: 100%; }
 .mod-news-list{ border-bottom: 1px solid #000; padding-bottom: 5.55556vw; }
 .mod-news-list li + li{ margin-top: 5.55556vw; padding-top: 5.55556vw; border-top: 1px solid #000; }
 .mod-news-list ._item{ display: -ms-flexbox; display: flex; }
 .mod-news-list ._item ._date{ width: 20.83333vw; }
 .mod-news-list ._item ._date p{ font-size: 1.25vw; }
 .mod-news-list ._item ._texts{ -ms-flex: 1; flex: 1; }
 .mod-news-list ._item ._texts h3{ margin-bottom: 2.43056vw; font-size: 1.11111vw; }
 .mod-news-list ._item ._texts p{ font-size: 1.11111vw; }
 .mod-news-list ._item ._image{ margin-top: 4.16667vw; }
 .mod-news-list ._item ._image img{ width: 100%; }
 .mod-news-pager{ text-align: center; }
 .mod-news-pager ul{ display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; }
 .mod-news-pager ul li{ margin: 0 0.69444vw; }
 .mod-news-pager ul a{ display: block; width: 3.47222vw; height: 3.47222vw; font-size: 1.11111vw; border-radius: 50%; transition-duration: 0.4s; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; }
 .mod-news-pager ul a:hover{ background: #000; color: #fff; }
 .mod-news-pager ul a.is-current{ background: #000; color: #fff; }
 .mod-pagelink{ display: -ms-flexbox; display: flex; width: 40vw; -ms-flex-wrap: wrap; flex-wrap: wrap; }
 .mod-pagelink li{ margin-right: 1.38889vw; margin-bottom: 1.38889vw; }
 .mod-pagelink a{ position: relative; font-size: 2.22222vw; display: inline-block; font-weight: bold; line-height: 1.2; transition-duration: 0.4s; }
 .mod-pagelink a:hover{ color: #fff; }
 .mod-pagelink a:hover:before{ width: 100%; }
 .mod-pagelink a:hover:after{ left: 100%; width: 0; }
 .mod-pagelink a:before{ content: ""; display: block; position: absolute; bottom: 0px; left: 0px; width: 0px; height: 1px; background: #000; transition-duration: 0.4s; transition-delay: 0.2s; }
 .mod-pagelink a:after{ content: ""; display: block; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px; background: #000; transition-duration: 0.4s; }
 .mod-table.is-A{ width: 100%; }
 .mod-table.is-A th{ padding: 0.83333vw 0; line-height: 1.8; width: 25%; font-size: 1.11111vw; }
 .mod-table.is-A td{ padding: 0.83333vw 0; line-height: 1.8; font-size: 1.11111vw; }
 .mod-dl.is-A dl{ margin: 0; font-size: 1.11111vw; line-height: 2; }
 .mod-dl.is-A dl + dl{ margin-top: 2.08333vw; }
 .mod-dl.is-A dl dt{ margin: 0; display: block; font-weight: bold; }
 .mod-dl.is-A dl dd{ margin: 1.04167vw 0 0 0.34722vw; display: block; padding-left: 2.08333vw; border-left: 1px solid #000; } }

@media screen and (max-width: 767px){
 .mod-anim.is-right{ -ms-transform: translate(50px, 0); transform: translate(50px, 0); }
 .mod-anim.is-left{ -ms-transform: translate(-50px, 0); transform: translate(-50px, 0); }
 .mod-index-news{ line-height: 1.8; }
 .mod-index-news ._text{ margin-top: 1.33333vw; }
 .mod-btn-more-wrap{ transition-duration: 0.2s; }
 .mod-btn-more-wrap:hover{ opacity: 0.8; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; }
 .mod-btn-more-wrap:hover .mod-btn-more:before{ width: 21.33333vw; opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
 .mod-btn-more-wrap:hover .mod-btn-more:after{ left: 21.33333vw; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; width: 0; }
 .mod-btn-more{ display: inline-block; width: 34.66667vw; font-size: 4.26667vw; position: relative; text-align: right; font-weight: bold; }
 .mod-btn-more:before{ content: ""; display: block; position: absolute; top: 50%; left: 0; transition-duration: 0.4s; transition-delay: 0.2s; width: 0; height: 1px; background: #000; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; }
 .mod-btn-more:after{ content: ""; display: block; position: absolute; top: 50%; left: 0; transition-duration: 0.2s; width: 21.33333vw; height: 1px; background: #000; }
 .mod-index-title{ font-weight: bold; font-size: 10.66667vw; line-height: 1.4; }
 .mod-index-title-link{ font-weight: bold; font-size: 10.66667vw; line-height: 1.3; position: relative; cursor: pointer; transition-duration: 0.2s; padding-right: 17.33333vw; }
 .mod-index-title-link:hover{ color: #fff; }
 .mod-index-title-link:hover:after{ -ms-transform: translate(1.33333vw, 0); transform: translate(1.33333vw, 0); }
 .mod-index-title-link:after{ content: ""; transition-duration: 0.2s; display: block; position: absolute; top: 1.06667vw; right: 0; background: url(/common/images/icon/icon_arrow_a.svg) left top no-repeat; background-size: contain; width: 12vw; height: 12vw; }
 .mod-index-work-links{ font-weight: normal; font-size: 11.2vw; text-align: left; color: #ddd; font-weight: bold; }
 .mod-index-work-links li{ margin: 5.33333vw 0; }
 .mod-index-work-links a{ color: #DDDDDD; display: inline-block; line-height: 1.0; position: relative; cursor: pointer; transition-duration: 0.2s; }
 .mod-index-work-links a:after{ content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 0.26667vw; background: #ddd; }
 .mod-footer-sns ul li{ display: inline-block; margin-left: 4.53333vw; }
 .mod-footer-sns ul img{ width: 6.4vw; }
 .mod-footer-sns ul img img{ width: 100%; }
 .mod-news-list{ border-bottom: 1px solid #000; padding-bottom: 10.66667vw; }
 .mod-news-list li + li{ margin-top: 21.33333vw; padding-top: 21.33333vw; border-top: 1px solid #000; }
 .mod-news-list ._item{ padding-left: 10.66667vw; padding-right: 10.66667vw; }
 .mod-news-list ._item ._texts{ margin-top: 10.66667vw; }
 .mod-news-list ._item ._texts h3{ margin-bottom: 6.66667vw; }
 .mod-news-list ._item ._image{ margin-top: 5.33333vw; margin-right: -10.66667vw; }
 .mod-news-list ._item ._image img{ width: 100%; }
 .mod-news-pager{ text-align: center; }
 .mod-news-pager ul{ display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-wrap: wrap; flex-wrap: wrap; }
 .mod-news-pager ul li{ margin: 0 1.33333vw; }
 .mod-news-pager ul a{ display: block; width: 10.66667vw; height: 10.66667vw; font-size: 3.2vw; border-radius: 50%; transition-duration: 0.4s; display: -ms-flexbox; display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-align: center; align-items: center; }
 .mod-news-pager ul a:hover{ background: #000; color: #fff; }
 .mod-news-pager ul a.is-current{ background: #000; color: #fff; }
 .mod-pagelink{ display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
 .mod-pagelink li{ margin-right: 2.66667vw; margin-bottom: 4vw; }
 .mod-pagelink a{ position: relative; font-size: 4.26667vw; display: inline-block; font-weight: bold; line-height: 1.2; }
 .mod-pagelink a:after{ content: ""; display: block; position: absolute; bottom: 0px; left: 0px; right: 0px; height: 1px; background: #000; }
 .mod-table.is-A{ width: 100%; }
 .mod-table.is-A th{ display: block; padding: 2.66667vw 0 1.33333vw 0; line-height: 1.8; }
 .mod-table.is-A td{ display: block; padding: 0 0 2.66667vw 0; line-height: 1.8; }
 .mod-dl.is-A dl{ margin: 0; line-height: 2; }
 .mod-dl.is-A dl + dl{ margin-top: 8vw; }
 .mod-dl.is-A dl dt{ margin: 0; display: block; font-weight: bold; }
 .mod-dl.is-A dl dd{ margin: 1.33333vw 0 0 1.33333vw; display: block; padding-left: 4vw; border-left: 1px solid #000; } }

/*# sourceMappingURL=maps/mod.css.map */
