@charset "UTF-8";
/* =====================================
	index
===================================== */

/* --- ロード画面 --- */

#splash{
    position: fixed;
    top: 0;
    left: 0;
    background: #fff;
    z-index: 1000;
    width: 100%;
    height: 100vh;
}

#splash .wrap{
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#splash .wrap > svg{
    margin: 0 auto;
    display: block;
}

#splash svg .logo{
    fill: #0086d1;
}

#splash #splash_text{
    text-align: center;
    margin-top: 10px;
}

#splash #splash_text svg{
    display: none!important;
}

/* --- メイン画像 --- */

.visual{
    width: 100%;
    height: auto;
	aspect-ratio:1300 / 882;
    position: relative;
    background: url("../img/kv_pc.jpg") center;
    background-size: cover;
}

.visual .inner{
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
}

.visual::before{
    content: "";
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    transform: translateX(2%);
    opacity: 0;
}

.visual .inner h1{
	padding:3.2vw 0 0 4vw;
    font-size: 3.8461538461538463vw;
    font-weight: normal;
    line-height: 1.457;
    color: #fff;
    position: absolute;
    top: 37%;
    left: 6.5%;
    transform: translateY(-50%);
    letter-spacing: 0.02em;
    text-shadow: 0px 0px 0.307692vw rgba(0, 0, 0, 0.2);
    background: url("../img/text_bg.png") top left no-repeat;
    background-size: 4.615384615384616vw auto;
}

.en_page .visual .inner h1{
    font-size: 2.6vw;
    letter-spacing: 0;
	line-height:1.6;
}

.en_page .visual .inner h1 .wrap01 {
	font-weight:500;
}

.en_page .visual .inner h1 .wrap02, .en_page .visual .inner h1 .wrap03 {
    font-size: 3.3vw;
	font-weight:500;
	line-height:1.1;
}

.visual .inner h1 .subTxt{
    font-size: 1.8461538461538463vw;
    line-height: 1.57;
    display: block;
    margin-top: 2.307692307692308vw;
    letter-spacing: 0;
}

.en_page .visual .inner h1 .subTxt{
    font-size: 70%;
	font-weight:normal;
}

.visual .inner h1 .wrap{
    position: relative;
}

.visual .inner h1 .wrap .txt{
    opacity: 0;
}

.visual .inner h1 .wrap::before{
    content: "";
    width: 0;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: #fff;
    z-index: 5;
}

.visual .inner h1 .wrap01::before, .visual .inner h1 .wrap02::before{
    height: 90%;
}

.loaded .visual .inner h1 .wrap01 .txt{
    animation: txtAnime .8s ease 1s forwards;
}

.loaded .visual .inner h1 .wrap02 .txt{
    animation: txtAnime .8s ease 1.2s forwards;
}

.loaded .visual .inner h1 .wrap03 .txt{
    animation: txtAnime .8s ease 1.4s forwards;
}

.loaded .visual .inner h1 .wrap04 .txt{
    animation: txtAnime .8s ease 1.6s forwards;
}

.loaded .visual .inner h1 .wrap05 .txt{
    animation: txtAnime .8s ease 1.8s forwards;
}

.loaded .visual .inner h1 .wrap01::before{
    animation: txtOverlayAnime .8s ease 1s forwards;
}

.loaded .visual .inner h1 .wrap02::before{
    animation: txtOverlayAnime .8s ease 1.2s forwards;
}

.loaded .visual .inner h1 .wrap03::before{
    animation: txtOverlayAnime .8s ease 1.4s forwards;
}

.loaded .visual .inner h1 .wrap04::before{
    animation: txtOverlayAnime .8s ease 1.6s forwards;
}

.loaded .visual .inner h1 .wrap05::before{
    animation: txtOverlayAnime .8s ease 1.8s forwards;
}

@keyframes txtAnime{
    0%{
        opacity: 0;
    }
    48%{
        opacity: 0;
    }
    52%{
        opacity: 1;
    }
    100%{
        opacity: 1;
    }
}

@keyframes txtOverlayAnime{
    0%{
        width: 0;
        left: 0;
        right: auto;
    }
    48%{
        width: 100%;
        left: 0;
        right: auto;
    }
    52%{
        width: 100%;
        left: auto;
        right: 0;
    }
    100%{
        width: 0;
        left: auto;
        right: 0;
    }
}

/* --- 会社概要 --- */

#about{
    width: 100%;
	margin-top: -10%;
    padding: 0 1.538462vw 9.230769vw;
    position: relative;
    background: url("../img/linkArea_bg-top_pc.png") bottom left no-repeat;
    background-size: contain;
}

#about .inner{
    width: 100%;
    max-width: 73.076923vw;
    margin: 0 auto;
}

#about h2{
    font-size: 1.2307692307692308vw;
    line-height: 1;
    font-weight: 400;
    color: #666;
    vertical-align: middle;
    margin-bottom: 3.769231vw;
}

#about h2 span{
	display: block;
    font-size: 4.615384615384616vw;
    color: #0086d1;
    vertical-align: middle;
    margin-bottom: 1.153846vw;
}

#about ul{
    width: 100%;
    margin: 0 auto;
}

#about ul li p{
	font-size:1.0769vw;
}

#about .company-info li{
    width:calc((100% - clamp(40px,-17.928436911487758px + 7.532956685499058vw,80px)) / 2);
    box-sizing:border-box;
    margin:0 0 1.923077vw;
    padding:0 0 1.538462vw;
    border-bottom:0.076923vw solid #E6E6E6;
	position: relative;
}

#about .company-info li p:nth-of-type(1){
	width: 6.153846vw;
	margin-bottom: 0.615385vw;
	display: inline-block;
	text-align: center;
    background: url("../img/company_bg.png") center center no-repeat;
    background-size: contain;
	color: #fff;
}

#about .company-info li p.long{
	width: 12.4vw !important;
    background: url("../img/company_bg_long.png") center center no-repeat;
    background-size: contain;
}

#about .company-info li p:nth-of-type(2){
	line-height:2.4;
}

#about .btnType01{
	position: absolute;
	bottom: 1.538462vw;
	right: 0;
}

#about h3{
    font-weight: bold;
    color: #0086D1;
    font-size: 1.5385vw;
    margin-top: 3.8462vw;
}

#about .about_bottom{
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    padding-bottom: 8.4615vw;
}

#about .about_bottom > div{
    width:calc((100% - clamp(40px,-17.928436911487758px + 7.532956685499058vw,80px)) / 2);
	position: relative;
}

#about .ir table{
	width:100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin-top: 1.5385vw;
	border-top: 1px solid #E5E5E5;
}

#about .ir table th{
	width:10%;
    padding:1.5385vw 2.1538vw !important;
    font-size: 1.0769vw;
    font-weight: normal;
    color: #808080;
    padding: 0;
    font-family: 'Oswald', 'Noto Sans JP', sans-serif;
    background: url("../img/company_arrow.png") right center no-repeat;
    background-size: auto 15%;
	border-bottom: 1px solid #E5E5E5;
}

#about .ir table td{
    padding-left:1.1538vw;
    padding-right: 2.1538vw;
    font-size: 1.0769vw;
    position: relative;
    border-bottom: 1px solid #E5E5E5;
}

#about .ir table td::before{
	display:none;
}

#about .ir table td .ico_pdf{
	background-color: #999999;
	color: #fff;
	font-size: 0.9231vw;
	font-weight: bold;
	padding: 0 0.5em;
	margin: 0 1em;
}

#about .ir p{
	margin-top: 1.5385vw;
}

#about .ir p a{
    font-size: 1.0769vw;
	text-decoration: underline;
    position: relative;
	padding: 0 1.5385vw 0 2vw;
}

#about .ir p a::before{
  content: "";
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-top: solid 1px #0086D1;
  border-right: solid 1px #0086D1;
  position: absolute;
  left: -0;
  top: 50%;
  transform: rotate(45deg);
  transition: 0.3s all ease;
}

#about .ir p a::after{
    content: "";
    width: 14px;
    height: 14px;
    margin-top: -7px;
    position: absolute;
    right: 0;
    top: 50%;
    background: url("../img/ico_win.svg") no-repeat center center;
    background-size: cover;
}

#about .company_link h3{
	margin-bottom:2.3077vw;
}


#about .company_link ul{
	margin:0 auto;
}

#about .company_link ul li + li{
	margin-top:2.3077vw;
}

#about .ir p{
	border-top: 1px solid #E5E5E5;
	border-bottom: 1px solid #E5E5E5;
	padding:1.5385vw 2.1538vw 1.5385vw 1.1538vw !important;
}


#about .company_link a{
	text-align:center;
	font-size:1.0769vw;
	display:block;
}

#about .company_link a:hover{
	opacity:0.6;
}

#about .company_link img{
    width:100%;
	max-width:23.0769vw;
	margin:0 auto 10px auto;
	display:inlin-block;
	border:#CDCDCD 1px solid;
}

/* --- リンク --- */

.linkArea{
    width: 100%;
	padding-bottom:2.307692vw;
    background: url("../img/linkArea_bg-body_pc.png") top left;
    background-size: 100% 100%;
}

.linkArea .inner{
    width: 100%;
    max-width: 73.076923vw;
    margin: 0 auto;
}

.linkArea ul{
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.linkArea ul li{
    width: 48.2%;
}

.linkArea ul li a{
    width: 100%;
    padding: 3.076923vw 3.076923vw 2.307692vw;
    display: block;
	border-radius:1.538462vw;
    position: relative;
    background-color: #fff;
}

.linkArea ul li a:hover{
    opacity: 1;
}

.linkArea ul li a h2{
    font-size: 1.0769vw;
    line-height: 1;
    color: 4D4D4D;
    margin: auto;
    display: block;
}

.linkArea ul li a h2 span{
    font-size: 2.9231vw;
    font-weight: 400;
    color: #0086d1;
    display: block;
	margin-bottom:1.153846vw;
}


.linkArea ul li a::after{
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    position: absolute;
    bottom: 10px;
    right: 10px;
    background-image: url('../img/btn01.png');
    background-position: center;
    background-size: contain;
}

.linkArea ul li a:hover::after{
    background-image: url('../img/btn02.png');
}

/* --- NEWS --- */

.news{
    width: 100%;
    padding: 21.538462vw 0 15.384615vw;
    background: url("../img/linkArea_bg-bottom_pc.png") top left no-repeat;
    background-size: contain;
}

.news .inner{
    width: 100%;
    max-width: 61.538462vw;
    margin: 0 auto;
}

.news .inner .ttlArea{
    width: 100%;
	position: relative;
}

.news .inner .ttlArea h2{
    line-height: 1;
    font-weight: 400;
    color: #b2b2b2;
    margin: 0 0 4.230769vw auto;
    display: block;
}

.news .inner .ttlArea h2 span{
    font-size: 4.615384615384616vw;
    color: #0086d1;
    margin-bottom: 0.384615vw;
    display: block;
}

.news .inner .ttlArea .txtLinkType02{
	position:absolute;
	top:0;
	right:0;
}


@media screen and (min-width:769px){

#about .company-info li:nth-last-child(-n+2){
	border-bottom:none;
}

}


@media screen and (max-width:768px){

/* --- ロード画面 --- */

#splash{
    width: 100%;
    height: 100svh;
}

#splash .wrap > svg{
    width:27.867vw;
}

#splash #splash_text{
    margin-top: 1.33vw;
    font-size: 3.27467vw!important;
}

/* --- メイン画像 --- */

.visual{
	aspect-ratio:750 / 606;
    background: url("../img/kv_sp.jpg") center;
    background-size: cover;
}

.visual .inner h1{
    font-size: 5.066666666666666vw;
    top: 13.5vw;
    left: 2vw;
    transform: translateY(0);
}

.visual .inner h1 .subTxt{
    margin-top: 1.33vw;
    font-size: 2.666666666666667vw;
	letter-spacing: 0;
}

.en_page .visual .inner h1{
    top: 16vw;
    font-size: 2.8vw;
	line-height:1.6;
}

.en_page .visual .inner h1 .wrap02, .en_page .visual .inner h1 .wrap03 {
    font-size: 4vw;
}

.en_page .visual .inner h1 .wrap04, .en_page .visual .inner h1 .wrap05 {
    font-size: 2.666666666666667vw;
	line-height:1.1;
}

.en_page .visual .inner h1 .subTxt{
    font-size: 70%;
	font-weight:normal;
}

.visual p a{
    font-size: 2.4vw;
    line-height: 1.167;
    bottom: 4vw;
    left: 3.33vw;
    transform: translateX(0);
    padding: 0 3.467vw 0.933vw 0;
}

/* --- 会社概要 --- */

#about{
    padding: 8.933vw 0 15vw;
    background: url("../img/linkArea_bg-top_sp.png") bottom left no-repeat;
    background-size: contain;
}

#about .inner{
    max-width: none;
}

#about h2{
    font-size: 3.24267vw;
    margin: 0 0 8.8vw 6.4vw;
}

#about h2 span{
    font-size: 11.252vw;
    margin-right: 2.933vw;
}

#about ul{
    padding: 0 7.33vw;
    margin: 0;
}

#about ul li{
    width: 100%;
}

#about ul li p{
	font-size:3.4667vw;
}

#about .company-info li{
    width:100%;
    margin:0 0 5.3333vw;
    padding:0 0 3.7333vw;
}

#about .company-info li p:nth-of-type(1){
	width: 16vw;
    font-size: 2.6vw;
}

#about .company-info li p.long{
	width: 32vw !important;
}

#about .btnType01{
	bottom: 3.2vw;
}

#about .about_bottom{
	display: block;
	padding: 0px 7.33vw 8vw;
}

#about h3{
	font-size: 4.8vw;
	margin-top: 13.3333vw;
}

#about .ir table{
	margin-top: 5.3333vw;
	border-top: 1px solid #E5E5E5;
}

#about .ir table th{
	padding:4.5385vw 5.3333vw 4.5385vw 4vw !important;
	font-size: 3.2vw;
	font-weight: normal;
	color: #808080;
	background: url("../img/company_arrow.png") right center no-repeat;
	background-size: auto 15%;
}

#about .ir table td{
	padding-left: 3.7333vw;
    padding-right: 4vw;
	font-size: 3.2vw;
	position: relative;
}

#about .ir table td .ico_pdf{
	font-size: 3.2vw;
}

#about .ir p{
	margin-top: 5.3333vw;
	padding:4.5385vw 0 4.5385vw 3.1538vw !important;
}

#about .ir p a{
    font-size: 3.2vw;
	padding: 0 6.1333vw 0 5.3333vw;
}

#about .company_link a{
	font-size:3.2vw;
}

#about .company_link a:hover{
	opacity:1;
}


#about .company_link img{
	max-width:69.3333vw;
}

#about .company_link h3{
	margin-bottom:8vw;
}

#about .about_bottom > div{
    width:100%;
}

#about .company_link ul li + li{
	margin-top:8vw;
}

/* --- リンク --- */

.linkArea{
    padding: 0 7.33vw;
    background: url("../img/linkArea_bg-body_sp.png") top left;
    background-size: 100% 100%;
}

.linkArea .inner{
    max-width: none;
}

.linkArea ul{
    display: block;
}

.linkArea ul li{
    width: 100%;
}

.linkArea ul li + li{
    margin-top: 3.7333vw;
}

.linkArea ul li a{
    padding: 8.4vw 7.733vw 7.733vw;
	border-radius:2.666667vw;
}

.linkArea ul li a h2{
    margin: 0;
    font-size: 2.6667vw;
}

.linkArea ul li a h2 span{
    margin-bottom: 2.2vw;
    font-size: 6.9333vw;
}

.linkArea ul li a .viewAll{
    font-size: 3.164vw;
    line-height: 3.6vw;
    bottom: 3.2vw;
    right: 4.267vw;
}

.linkArea ul li a .viewAll span{
    top: -1.5vw;
}

.linkArea ul li a .viewAll svg{
    width: 3.6vw;
    margin-left: 0.8vw;
}

/* --- NEWS --- */

.news{
    padding: 26vw 0 30vw;
    background: url("../img/linkArea_bg-bottom_sp.png") top left no-repeat;
    background-size: contain;
}

.news .inner{
    display: block;
    max-width: none;
}

.news .inner .ttlArea{
    width: 88vw;
	margin:0 auto;
    padding-left: 0;
}

.news .inner .ttlArea h2{
    margin: 0 auto 10.67vw;
    text-align: center;
}

.news .inner .ttlArea h2 span{
    font-size: 11.252vw;
    margin-bottom: 0.67vw;
}

.news .inner .ttlArea .txtLinkType02{
	position:absolute;
	top:auto;
	bottom: 0;
	right:0;
}

}
