@charset "UTF-8";
/*
NOTICE: Proprietary Source Code
Copyright (c) Best Bridge LLC. All Rights Reserved.

本コードは全工程を電子署名により証拠保全済みです。
不正流用が発覚した場合、以下の措置を講じます。
1. 法的手続き（損害賠償請求等）
2. 貴社の納品先（クライアント）への侵害事実および利用停止の通知
*/

/*==============================================================
main
==============================================================*/
main{
z-index:6000;
/*--*/
position:relative;
/*--*/
display:block;
width:100%;
height:auto;
margin:0;
border-top:solid 60px #F4F4F4;
padding:0;
background-color:#F4F4F4;
}

/*==============================================================
●main>h1#top（トップ）
==============================================================*/
main>h1#top{
position:relative;
/*--*/
display:block;
width:100%;
height:auto;
margin-bottom:20px;
border:0;
padding:0;
background-color:#F4F4F4;
}

/*==TOP文字==*/
main>h1#top>span.text{
z-index:7002;
/*----*/
position:absolute;
top:60px;
left:20px;
/*--*/
display:block;
width:auto;
height:auto;
margin:0;
border:0;
padding:0;
/*--*/
text-align:left;
line-height:1.4;
font-size:clamp(24px,3vw,40px);
font-weight:bold;
color:#666;
text-decoration:none;
}

@media screen and (max-width:1400px){
main>h1#top>span.text{
top:30px;
}
}

@media screen and (max-width:900px){
main>h1#top>span.text{
top:20px;
}
}

@media screen and (max-width:800px){
main>h1#top>span.text{
top:10px;
}
}

@media screen and (max-width:700px){
main>h1#top>span.text{
top:auto;
bottom:0;
left:0;
/*--*/
display:block;
width:100%;
height:auto;
margin:0;
border:0;
padding:0;
background-image:none;
/*--*/
text-align:center;
font-size:clamp(20px,5vw,36px);
}
}

/*==TOP画像==*/
main>h1#top>img.pc{
z-index:7001;
/*----*/
position:relative;
/*--*/
display:block;
width:100%;
height:auto;
margin:0;
border:0;
padding:0;
}

@media screen and (max-width:700px){
main>h1#top>img.pc{
display:none;
}
}

main>h1#top>img.sp{
display:none;
}

@media screen and (max-width:700px){
main>h1#top>img.sp{
position:relative;
/*--*/
display:block;
width:100%;
height:auto;
margin:0;
border:0;
padding:0;
}
}

/*==============================================================
●main>h1#page（2階層目のページ）
==============================================================*/
main>h1#page{
position:relative;
/*--*/
display:block;
width:100%;
height:auto;
margin-bottom:20px;
border:0;
padding:0;
}

/*==ページ文字==*/
main>h1#page>span.text{
z-index:7002;
/*----*/
position:absolute;
top:50%;
left:0;
transform:translateY(-50%);
/*--*/
display:block;
width:100%;
height:auto;
margin:0;
border:0;
padding:0 0 0 2%;
/*--*/
text-align:left;
line-height:1.6;
font-size:clamp(24px,3vw,40px);
font-weight:bold;
color:#666;
}

@media screen and (max-width:700px){
main>h1#page>span.text{
position:relative;
top:auto;
left:auto;
transform:none;
/*--*/
display:block;
width:100%;
height:auto;
margin:0;
border:0;
padding:40px 0 40px 0;
background:url("../img/top_cover_sp_back320.png") left bottom / 320px 100px no-repeat,linear-gradient(to right,#F90,#FC6);
/*--*/
text-align:center;
line-height:1.6;
font-size:clamp(20px,5vw,36px);
font-weight:bold;
color:#FFF;
}
}

/*==ページ画像==*/
main>h1#page>img{
z-index:7001;
/*----*/
position:relative;
/*--*/
display:block;
width:100%;
height:auto;
margin:0;
border:0;
border-radius:0;
padding:0;
}

@media screen and (max-width:700px){
main>h1#page>img{
display: none;
}
}

/*==============================================================
●main>nav>ol.breadcrumb（パンくず）
==============================================================*/
main>nav>ol.breadcrumb{
position:relative;
/*--*/
display:block;
width:90%;
max-width:1200px;
height:auto;
margin:0 auto 30px auto;
border:0;
padding:0;
}

main>nav>ol.breadcrumb>li{
position:relative;
/*--*/
display:inline-block;
width:auto;
height:auto;
margin:0;
border:0;
padding:0;
/*--*/
text-align:left;
line-height:1.6;
font-size:14px;
font-weight:bold;
color:#666;
}

main>nav>ol.breadcrumb>li>a{
position:relative;
/*--*/
display:inline;
width:auto;
height:auto;
margin:0;
border:0;
padding:0;
/*--*/
text-align:left;
line-height:1.6;
font-size:14px;
font-weight:bold;
color:#F90;
text-decoration:none;
}

main>nav>ol.breadcrumb>li::before{
padding:0 5px;
/*--*/
content:url(../img/all_icon_arrow_right_breadcrumb.png);
}

main>nav>ol.breadcrumb>li:first-child::before{
padding:0 3px;
/*--*/
content:url(../img/all_icon_home.png);
}

/*==============================================================
●main>nav>ul.nav_img（画像ナビ）
==============================================================*/
main>nav>ul.nav_img{
position:relative;
/*--*/
display:flex;
width:90%;
max-width:1200px;
height:auto;
margin:0 auto;
border:0;
padding:0;
/*--*/
flex-direction:row;/*方向*/
flex-wrap:wrap;/*改行*/
justify-content:space-between;/*横揃え*/
align-items:stretch;/*縦揃え*/
}

/*==li==*/
main>nav>ul.nav_img>li{
position:relative;
/*--*/
display:block;
flex-basis:23%;
height:auto;
margin-bottom:40px;
border:0;
padding:0;
}

@media screen and (max-width:700px) {
main>nav>ul.nav_img>li{
flex-basis:48%;
}	
}

main>nav>ul.nav_img>li.hid{
visibility:hidden;
}

/*==a==*/
main>nav>ul.nav_img>li>a{
position:relative;
/*--*/
display:block;
width:100%;
height:auto;
margin:0;
border:0;
padding:0;
text-decoration:none;
}

/*==aのimg画像==*/
main>nav>ul.nav_img>li>a>img{
position:relative;
/*--*/
display:block;
width:100%;
height:auto;
margin-bottom:6px;
border:0;
border-radius:5px;
padding:0;
background-color:#FFF;
}

/*==aのspan文字==*/
main>nav>ul.nav_img>li>a>span{
position:relative;
/*--*/
display:block;
width:100%;
height:auto;
margin:0;
border:0;
padding:0;
/*--*/
text-align:center;
line-height:1.4;
font-size:14px;
font-weight:bold;
color:#666;
}

/*==============================================================
●main>nav>ul.nav_text（文字ナビ）
==============================================================*/
main>nav>ul.nav_text{
position:relative;
/*--*/
display:flex;
width:90%;
max-width:1200px;
height:auto;
margin:0 auto 70px auto;
border:0;
padding:0;
/*--*/
flex-direction:row;/*方向*/
flex-wrap:wrap;/*改行*/
justify-content:space-between;/*横揃え*/
align-items:stretch;/*縦揃え*/
}

/*==li==*/
main>nav>ul.nav_text>li{
position:relative;
/*--*/
display:flex;
flex-basis:48%;
height:auto;
margin-bottom:20px;
border:0;
padding:0;
}

@media screen and (max-width:700px) {
main>nav>ul.nav_text>li{
flex-basis:100%;
}	
}

/*==a==*/
main>nav>ul.nav_text>li>a{
position:relative;
/*--*/
display:block;
width:100%;
height:100%;
margin:0;
border:0;
border-radius:5px;
padding:16px 10px 16px 36px;
background-color:#DDD;
/*--*/
text-align:left;
line-height:1.6;
font-size:16px;
font-weight:bold;
color:#666;
}

main>nav>ul.nav_text>li>a::before{
position:absolute;
top:20px;
left:10px;
content:url(../img/all_icon_arrow_down_orange.png);
}