@charset "UTF-8";

.top-service .service-item-01 .item-01>:nth-child(2) { font-size:18px;}
.top-service .service-item-01 .service-01 { font-size:28px;}
.top-mv-01 .text-area-01 .text-01 { font-size:40px;}
.top-mv-01 .main-visual-01,
.top-mv-01 .text-area-01 .text-01 strong { filter:alpha(opacity=0); -webkit-opacity:0; -moz-opacity:0; -ms-opacity:0; -o-opacity:0; opacity:0;}
.top-service .service-item-01 a { -webkit-transition:opacity 0.4s; -moz-transition:opacity 0.4s; -ms-transition:opacity 0.4s; -o-transition:opacity 0.4s; transition:opacity 0.4s;}
.top-mv-01 .text-area-01 .text-01,
.top-mv-01 .text-area-01 .text-01 *,
.top-service .service-item-01 .item-01>* { font-weight:normal; font-family:"ヒラギノ明朝 ProN W3","HiraMinProN-W3","Noto Serif JP","HG明朝E","ＭＳ Ｐ明朝","MS PMincho","MS 明朝",
serif;}
.top-mv-01 { width:100%; height:100vh; padding-top:80px; padding-bottom:80px; overflow:hidden;}
.top-mv-01 .main-visual-wrap { width:calc(100% - 90px); height:100%; margin-left:auto; position:relative;}
.top-mv-01 .main-visual-01 { display:flex; align-items:center; justify-content:center; position:absolute; width:100%; height:100%; left:0; top:0; filter:blur(0.1rem); animation-name:fade_in_blur; animation-duration:1500ms; animation-delay:800ms; animation-fill-mode:forwards; animation-timing-function:ease-out; animation-iteration-count:1;}
.top-mv-01 .main-visual-01 picture { height:100%;}
.top-mv-01 .main-visual-01 img { object-fit:cover; width:100%; height:100%;}
.top-mv-01 .text-area-01 { position:absolute; width:100%; height:100%; left:0; top:0; display:flex; align-items:center;}
.top-mv-01 .text-area-01 .text-01 * { letter-spacing:.3em; line-height:1.6;}
.top-mv-01 .text-area-01 .text-01 strong { background:#fff; display:block; padding-top:.05em; padding-right:.3em; padding-bottom:.15em; padding-left:.6em; width:fit-content; transform:translate3d(-2.5em, 0, 0); filter:blur(0.02rem); animation-name:main_visual_text; animation-duration:300ms; animation-fill-mode:forwards; animation-timing-function:ease-out; animation-iteration-count:1;}
.top-mv-01 .text-area-01 .text-01 strong:nth-of-type(1) { animation-delay:2200ms;}
.top-mv-01 .text-area-01 .text-01 strong:nth-of-type(2) { animation-delay:2400ms;}
.top-mv-01 .text-area-01 .text-01 strong:nth-of-type(3) { animation-delay:2600ms;}
.top-mv-01 .text-area-01 .text-01 strong:nth-of-type(4) { animation-delay:2800ms;}
.top-mv-01 .text-area-01 .text-01 strong+strong { margin-top:0.525em;}
.top-mv-01 .text-area-01 .text-01 span { color:#ae0015;}
.scroll-01 { position:absolute; left:45px; top:100vh; -webkit-transform:translate(-50%, -50%); -moz-transform:translate(-50%, -50%); -ms-transform:translate(-50%, -50%); -o-transform:translate(-50%, -50%); transform:translate(-50%, -50%); width:1.4px; height:150px;}
.scroll-01 .line { position:absolute; width:100%; height:100%; left:0; top:0; overflow:hidden;}
.scroll-01 .line::before { content:""; display:block; background-color:#707070; position:absolute; width:100%; height:100%; left:0; top:0; -webkit-animation-name:scroll_bar; -moz-animation-name:scroll_bar; -ms-animation-name:scroll_bar; -o-animation-name:scroll_bar; animation-name:scroll_bar; -webkit-animation-duration:3s; -moz-animation-duration:3s; -ms-animation-duration:3s; -o-animation-duration:3s; animation-duration:3s; -webkit-animation-iteration-count:infinite; -moz-animation-iteration-count:infinite; -ms-animation-iteration-count:infinite; -o-animation-iteration-count:infinite; animation-iteration-count:infinite; -webkit-animation-timing-function:cubic-bezier(0.05, 0.9, 0.05); -moz-animation-timing-function:cubic-bezier(0.05, 0.9, 0.05); -ms-animation-timing-function:cubic-bezier(0.05, 0.9, 0.05); -o-animation-timing-function:cubic-bezier(0.05, 0.9, 0.05); animation-timing-function:cubic-bezier(0.05, 0.9, 0.05); -webkit-animation-fill-mode:none; -moz-animation-fill-mode:none; -ms-animation-fill-mode:none; -o-animation-fill-mode:none; animation-fill-mode:none; -webkit-animation-delay:0; -moz-animation-delay:0; -ms-animation-delay:0; -o-animation-delay:0; animation-delay:0; -webkit-animation-direction:normal; -moz-animation-direction:normal; -ms-animation-direction:normal; -o-animation-direction:normal; animation-direction:normal;}
.scroll-01 figure:nth-of-type(1) { height:51.3333%; overflow:hidden; position:absolute; left:0; top:0; -webkit-transform:translate(-45%, -100%); -moz-transform:translate(-45%, -100%); -ms-transform:translate(-45%, -100%); -o-transform:translate(-45%, -100%); transform:translate(-45%, -100%);}
.scroll-01 figure:nth-of-type(1) img { height:80.5195%; width:auto; float:left;}
.txt-format-01 { text-align:justify; text-justify:inter-ideograph; word-break:break-all;}
.top-aboutus { width:100%; overflow:hidden; padding-top:110px; padding-bottom:145px; background:#f5f6f8;}
.top-aboutus .title-area-01 { padding-bottom:75px;}
.top-aboutus .link-format-01 { margin-top:1.9444em;}
.top-service { width:100%; padding-top:110px; padding-bottom:145px;}
.top-service .title-area-01 { padding-bottom:50px;}
.top-service .content-01 { max-width:1120px; width:90%; margin-left:auto; margin-right:auto; display:flex; justify-content:space-between;}
.top-service .content-01.a .service-item-01 { animation-name:fade_in_up;}
.top-service .service-item-01 { width:49.4643%;}
.top-service .service-item-01:nth-child(2) { animation-delay:300ms;}
.top-service .service-item-01 a { display:block; width:100%;}
.top-service .service-item-01 .img-01 { width:100%; overflow:hidden;}
.top-service .service-item-01 .img-01 img { width:100%; height:auto; float:left;}
.top-service .service-item-01 .number-01,
.top-service .service-item-01 .number-02 { overflow:hidden; border-width:0 0 0 2px; border-color:#1e2d6e; border-style:solid; padding-top:.3em; padding-bottom:.3em;}
.top-service .service-item-01 .number-01 img,
.top-service .service-item-01 .number-02 img { float:right; height:auto;}
.top-service .service-item-01 .number-01 { width:3.1071em;}
.top-service .service-item-01 .number-01 img { width:1.9643em;}
.top-service .service-item-01 .number-02 { width:3.25em;}
.top-service .service-item-01 .number-02 img { width:2.1071em;}
.top-service .service-item-01 .service-01 { display:flex; align-items:flex-start; padding-top:0.7143em;}
.top-service .service-item-01 .item-01 { padding-top:.15em; padding-left:1em;}
.top-service .service-item-01 .item-01>:nth-child(1) { line-height:1.5; letter-spacing:.08em;}
.top-service .service-item-01 .item-01>:nth-child(2) { margin-top:.35em; padding-left:.05em; display:block; line-height:1.5; letter-spacing:.08em;}
.top-service .link-format-01 { margin-top:2.5em; margin-right:auto; margin-left:auto;}
.top-company { width:100%; overflow:hidden; padding-top:145px; padding-bottom:145px; background:#f5f6f8;}
.top-company .title-area-02 { padding-bottom:2.1875em;}
.top-company .content-format-01 .txt-area-01 { padding-top:150px; padding-bottom:150px;}
.top-company .link-format-01 { margin-top:1.9444em;}

@-webkit-keyframes scroll_bar {
from { transform:translateY(-100%);}
49% { transform:translateY(0%);}
51% { transform:translateY(0%);}
to { transform:translateY(100%);}
}

@-moz-keyframes scroll_bar {
from { transform:translateY(-100%);}
49% { transform:translateY(0%);}
51% { transform:translateY(0%);}
to { transform:translateY(100%);}
}

@-ms-keyframes scroll_bar {
from { transform:translateY(-100%);}
49% { transform:translateY(0%);}
51% { transform:translateY(0%);}
to { transform:translateY(100%);}
}

@-o-keyframes scroll_bar {
from { transform:translateY(-100%);}
49% { transform:translateY(0%);}
51% { transform:translateY(0%);}
to { transform:translateY(100%);}
}

@keyframes scroll_bar {
from { transform:translateY(-100%);}
49% { transform:translateY(0%);}
51% { transform:translateY(0%);}
to { transform:translateY(100%);}
}

@-webkit-keyframes main_visual_text {
from { opacity:0; transform:translate3d(-2.5em, 0, 0);}
30% { filter:blur(0.02rem);}
to { opacity:1; transform:translate3d(0, 0, 0); filter:blur(0);}
}

@-moz-keyframes main_visual_text {
from { opacity:0; transform:translate3d(-2.5em, 0, 0);}
30% { filter:blur(0.02rem);}
to { opacity:1; transform:translate3d(0, 0, 0); filter:blur(0);}
}

@-ms-keyframes main_visual_text {
from { opacity:0; transform:translate3d(-2.5em, 0, 0);}
30% { filter:blur(0.02rem);}
to { opacity:1; transform:translate3d(0, 0, 0); filter:blur(0);}
}

@-o-keyframes main_visual_text {
from { opacity:0; transform:translate3d(-2.5em, 0, 0);}
30% { filter:blur(0.02rem);}
to { opacity:1; transform:translate3d(0, 0, 0); filter:blur(0);}
}

@keyframes main_visual_text {
from { opacity:0; transform:translate3d(-2.5em, 0, 0);}
30% { filter:blur(0.02rem);}
to { opacity:1; transform:translate3d(0, 0, 0); filter:blur(0);}
}

@media (min-width:550px) and (max-height:420px) {
.top-mv-01 { min-height:420px;}
}

@media (min-width:650px) and (max-height:500px) {
.top-mv-01 { min-height:500px;}
}

@media (min-width:850px) and (max-height:550px) {
.top-mv-01 { min-height:550px;}
}

@media (min-width:1000px) and (max-height:580px) {
.top-mv-01 { min-height:580px;}
}

@media (min-width:1200px) and (max-height:600px) {
.top-mv-01 { min-height:600px;}
}

@media (min-width:1340.1px) and (max-height:650px) {
.top-mv-01 { min-height:650px;}
}

@media (max-width:1340px) {
.top-aboutus { padding-top:8.209%; padding-bottom:10.8209%;}
.top-aboutus .title-area-01 { padding-bottom:5.597%;}
.top-service { padding-top:8.209%; padding-bottom:10.8209%;}
.top-service .title-area-01 { padding-bottom:3.7313%;}
.top-company { padding-top:10.8209%; padding-bottom:10.8209%;}
.top-company .content-format-01 .txt-area-01 { padding-top:12.4378%; padding-bottom:12.4378%;}
}

@media (max-width:900px) {
.top-mv-01 { padding-top:8.8889%; padding-bottom:8.8889%;}
.top-mv-01 .main-visual-wrap { width:90%;}
.scroll-01 { left:5%; height:auto; padding-top:16.6667%;}
.top-service .service-item-01 .number-01 { width:2.7964em;}
.top-service .service-item-01 .number-01 img { width:1.7679em;}
.top-service .service-item-01 .number-02 { width:2.925em;}
.top-service .service-item-01 .number-02 img { width:1.8964em;}
.top-service .service-item-01 .item-01 { padding-left:.85em;}
}

@media (max-width:768px) {
.top-mv-01 { padding-top:13.0208%; padding-bottom:13.0208%;}
.scroll-01 { padding-top:21.7448%;}
.top-aboutus { padding-top:12.3698%; padding-bottom:5.8594%;}
.top-aboutus .title-area-01 { padding-bottom:7.8125%;}
.top-aboutus .link-format-01 { width:82.5%; margin-top:2.2727em;}
.top-service { padding-top:12.3698%;}
.top-service .title-area-01 { padding-bottom:7.8125%;}
.top-service .content-01 { display:block; width:76.5%;}
.top-service .service-item-01 { width:100%;}
.top-service .service-item-01+.service-item-01 { padding-top:9.872%;}
.top-service .service-item-01 .number-01 { width:3.0625em;}
.top-service .service-item-01 .number-01 img { width:2.0625em;}
.top-service .service-item-01 .number-02 { width:3.2188em;}
.top-service .service-item-01 .number-02 img { width:2.2188em;}
.top-service .link-format-01 { width:76.5%; margin-top:2.2727em;}
.top-company { padding-top:0; padding-bottom:10.4167%;}
.top-company .title-area-02 { width:95%; margin-right:auto; margin-left:auto; padding-bottom:7.8125%;}
.top-company .title-area-02 .en { margin-right:auto; margin-left:auto;}
.top-company .link-format-01 { width:82.5%; margin-top:2.2727em;}
}

@media (max-width:768px) and (max-height:768px) {
.top-mv-01 { padding-bottom:5.8594%;}
}

@media (max-width:500px) {
.top-aboutus .link-format-01 { margin-top:1.9318em;}
.top-company .link-format-01 { margin-top:1.9318em;}
}

@media (max-width:450px) {
.top-mv-01 { padding-top:14.4444%; padding-bottom:14.4444%;}
.scroll-01 figure:nth-of-type(1) { height:74.6667%; -webkit-transform:translate(-44%, -100%); -moz-transform:translate(-44%, -100%); -ms-transform:translate(-44%, -100%); -o-transform:translate(-44%, -100%); transform:translate(-44%, -100%);}
.scroll-01 figure:nth-of-type(1) img { height:77.6786%;}
}

@media (max-width:450px) and (max-height:768px) {
.top-mv-01 { padding-bottom:8.4635%;}
}

@media (max-width:400px) {
.top-service .service-item-01 .item-01>:nth-child(2) { font-size:11px;}
.top-service .service-item-01 .service-01 { font-size:17px;}
.top-mv-01 .text-area-01 .text-01 { font-size:21px;}
}

@media (max-width:380px) {
.top-service .service-item-01 .number-01 { width:2.7563em;}
.top-service .service-item-01 .number-01 img { width:1.8563em;}
.top-service .service-item-01 .number-02 { width:2.8969em;}
.top-service .service-item-01 .number-02 img { width:1.9969em;}
.top-service .service-item-01 .item-01 { padding-left:.8em;}
}

@media (min-width:768.1px) and (max-width:1340px) {
.top-service .service-item-01 .item-01>:nth-child(2) { font-size:calc(13px + (1vw - 7.68px) * .8741);}
.top-service .service-item-01 .service-01 { font-size:calc(21px + (1vw - 7.68px) * 1.2238);}
.top-mv-01 .text-area-01 .text-01 { font-size:calc(34px + (1vw - 7.68px) * 1.049);}
}

@media (min-width:400.1px) and (max-width:768px) {
.top-service .service-item-01 .item-01>:nth-child(2) { font-size:calc(11px + (1vw - 4px) * 2.9891);}
.top-service .service-item-01 .service-01 { font-size:calc(17px + (1vw - 4px) * 4.0761);}
.top-mv-01 .text-area-01 .text-01 { font-size:calc(21px + (1vw - 4px) * 5.163);}
}

@media (max-width:1200px) and (min-width:768.1px) {
.top-aboutus .aboutus { width:20.5263%;}
.top-service .service { width:16.0526%;}
.top-company .company { width:60.3535%;}
}

@media (max-width:1000px) and (min-width:768.1px) {
.top-company .company { width:50.8727%;}
}

@media (hover:hover) and (pointer:fine) {
.top-service .service-item-01 a:hover { filter:alpha(opacity=70); -webkit-opacity:.7; -moz-opacity:.7; -ms-opacity:.7; -o-opacity:.7; opacity:.7;}
}