@charset "UTF-8";

.top-service .slide-content-area { font-size:17px;}
.top-mv-01 .text-area-01 .text-01 { font-size:40px;}
.top-service .txt-area-01 { font-size:39px;}
.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-mv-01 .text-area-01 .text-01,
.top-mv-01 .text-area-01 .text-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; position:relative;}
.top-mv-01 .text-area-01 .text-01 { position:absolute; left:0; top:32.772%; -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%); transform:translateY(-50%);}
.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; background:#f7f7f7;}
.top-aboutus .title-area-01 { padding-bottom:75px;}
.top-aboutus .link-format-02 { margin-top:1.9444em;}
.top-service { width:100%; overflow:hidden; background:#f7f7f7; padding-top:165px; padding-bottom:145px;}
.top-service .title-area-01 { padding-bottom:70px;}
.top-service .format-inner { align-items:flex-start;}
.top-service .txt-area-01 { padding-top:155px; padding-bottom:0;}
.top-service .content-format-01 .img-area-01 { padding-top:155px; padding-bottom:195px;}
.top-service .number-ttl-format-01 { padding-bottom:7.9545%;}
.top-service .link-format-02 { margin-top:1.9444em;}
.top-service .slide-content-area { width:100%; position:relative;}
.top-service .slide-content { width:100%; overflow:hidden;}
.top-service .slide-content::before { display:block; background:#fff; width:90%; height:100%; left:50%; top:0; position:absolute; -webkit-transform:translateX(-50%); -moz-transform:translateX(-50%); -ms-transform:translateX(-50%); -o-transform:translateX(-50%); transform:translateX(-50%);}
.top-service .slide { width:100%;}
.top-service .slide-nav-area { max-width:1200px; width:100%; padding-top:195px; position:absolute; -webkit-transform:translateX(-50%); -moz-transform:translateX(-50%); -ms-transform:translateX(-50%); -o-transform:translateX(-50%); transform:translateX(-50%); left:50%; bottom:0;}
.top-service .slide-nav { position:absolute; right:0; top:0; width:35%; height:46.1538%; background:#f7f7f7; display:flex; justify-content:center; align-items:center;}
.top-service .slide-nav * { line-height:1.5;}
.top-service .slick-arrow { width:3.5294em; height:3.5294em; border-radius:50%; overflow:hidden;}
.top-service .slick-arrow::before { width:100%; height:100%; content:""; display:block; background-position:center center; background-repeat:no-repeat; background-size:1.9412em auto; background-color:rgba(235,235,235,0); -webkit-transition:background-color .4s; -moz-transition:background-color .4s; -ms-transition:background-color .4s; -o-transition:background-color .4s; transition:background-color .4s;}
body.sp .top-service .slick-arrow.hover::before { background-color:#ebebeb;}
.top-service .slick-prev::before { background-image:url("../images/common/slide-arrow-prev.svg");}
.top-service .slick-next::before { background-image:url("../images/common/slide-arrow-next.svg");}
.top-service .slide-index { margin-right:1.7em; margin-left:2em; display:flex; justify-content:center; align-items:center;}
.top-service .slide-index * { line-height:1.5; font-weight:normal; font-family:"游ゴシック Medium","Yu Gothic Medium","游ゴシック",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","メイリオ","Meiryo",
sans-serif;}
.top-service .slide-index strong { letter-spacing:.3em;}
.top-service .slide-index span { margin-right:.7em; margin-left:.85em; vertical-align:-0.01em; line-height:0;}
.top-company { width:100%; overflow:hidden; background:#f7f7f7; padding-bottom:145px;}
.top-company .title-area-02 { padding-bottom:2.1875em;}
.top-company .content-format-01 .txt-area-01 { padding-top:170px; padding-bottom:170px;}
.top-company .link-format-02 { 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%;}
.top-aboutus .title-area-01 { padding-bottom:5.597%;}
.top-service { padding-top:12.3134%; padding-bottom:10.8209%;}
.top-service .title-area-01 { padding-bottom:5.2239%;}
.top-service .txt-area-01 { padding-top:12.8524%;}
.top-service .content-format-01 .img-area-01 { padding-top:12.8524%; padding-bottom:16.1692%;}
.top-service .slide-nav-area { padding-top:14.5522%; width:90%;}
.top-company { padding-bottom:10.8209%;}
.top-company .content-format-01 .txt-area-01 { padding-top:14.0962%; padding-bottom:14.0962%;}
}

@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%;}
}

@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%;}
.top-aboutus .title-area-01 { padding-bottom:7.8125%;}
.top-aboutus .link-format-02 { width:82.5%; margin-top:2.2727em;}
.top-service { padding-top:12.3698%; padding-bottom:10.4167%;}
.top-service .title-area-01 { padding-bottom:7.8125%;}
.top-service .txt-area-01 { padding-top:10.4167%; padding-bottom:10.4167%;}
.top-service .content-format-01 .img-area-01 { padding-top:0; padding-bottom:0; order:1;}
.top-service .number-ttl-format-01 { padding-bottom:5.787%;}
.top-service .link-format-02 { width:82.5%; margin-top:2.2727em;}
.top-service .slide-content { position:relative;}
.top-service .slide-content::before { content:"";}
.top-service .slide-nav-area { position:relative; left:auto; bottom:auto; -webkit-transform:translateX(0); -moz-transform:translateX(0); -ms-transform:translateX(0); -o-transform:translateX(0); transform:translateX(0); padding-top:14.4676%; margin-right:auto; margin-left:auto;}
.top-service .slide-nav { width:100%; height:100%;}
.top-company { 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-02 { 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-02 { margin-top:1.9318em;}
.top-service .link-format-02 { margin-top:1.9318em;}
.top-company .link-format-02 { 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 .slide-content-area { font-size:11px;}
.top-service .txt-area-01 { font-size:20px;}
.top-mv-01 .text-area-01 .text-01 { font-size:21px;}
}

@media (min-width:768.1px) and (max-width:1340px) {
.top-service .slide-content-area { font-size:calc(11px + (1vw - 7.68px) * 1.049);}
.top-mv-01 .text-area-01 .text-01 { font-size:calc(34px + (1vw - 7.68px) * 1.049);}
.top-service .txt-area-01 { font-size:calc(22px + (1vw - 7.68px) * 2.972);}
}

@media (min-width:400.1px) and (max-width:768px) {
.top-service .slide-content-area { font-size:calc(11px + (1vw - 4px) * 2.9891);}
.top-service .txt-area-01 { font-size:calc(20px + (1vw - 4px) * 5.163);}
.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-company .company { width:60.3535%;}
}

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

@media (max-height:800px) {
.top-mv-01 .text-area-01 .text-01 { -webkit-transform:translateY(0); -moz-transform:translateY(0); -ms-transform:translateY(0); -o-transform:translateY(0); transform:translateY(0); top:15.544%;}
}

@media (hover:hover) and (pointer:fine) {
.top-service .slick-arrow:hover::before { background-color:#ebebeb;}
}