@charset "utf-8";

/* 基本設定
-------------------------------*/
@font-face {
  font-family: "NotoSerif-B";
  src: url("fonts/NotoSerifJP-Bold.otf") format("opentype");
}
@font-face {
  font-family: "NotoSerif-M";
  src: url("fonts/NotoSerifJP-Medium.otf") format("opentype");
}
@font-face {
  font-family: "NotoSerif-R";
  src: url("fonts/NotoSerifJP-Regular.otf") format("opentype");
}


body {
	font-family: "NotoSerif-R", system-ui,"Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif, -apple-system, BlinkMacSystemFont,"Helvetica Neue";
	font-size: 16px;
	line-height: 1.8em;
	color: #000;
	-webkit-text-size-adjust: 100%;
}
@media only screen and (max-width:710px){
    body {
        font-size: 14px;
        line-height: 1.6em;
    }
}



#wrapper{
	margin:0 auto;
	padding:0;
	width:100%;
	overflow:hidden;
}


/* リンク設定
-------------------------------*/
a{color:#0076ce; text-decoration:none;}
a:hover{color:#666;}
a:active, a:focus{outline:0;}

/* PCで電話リンクしない */
@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}


/* ヘッダー
-------------------------------*/
* html #header{height:1%;}
#header{
    background-color: #fff;
    padding: 10px 0;
    border-bottom: solid 1px #eee;
}
#header .inner{
    width: 95%;
/*    max-width: 1160px;*/
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#header h1{
    width: 320px;
    margin: 0 30px;
    font-size: 12px;
    line-height: 1.4em;
    color: #afafaf;
    
}

@media only screen and (max-width:980px){
    #header .inner{
        justify-content: flex-start;
    }

}
@media only screen and (max-width:600px){
    #header .inner{
        display: block;
    }
    #header .h_logo{
        width: 100%;
        padding-right: 50px;
    }
    #header h1{
        display: none;
    }

}



















/* フッター
-------------------------------*/

#access .inner{
    background-color: #fafafa;
    padding: 90px 2.5%;
    text-align: center;
}
#access .ttl{
    font-family: "NotoSerif-B",serif;
    font-size: 25px;
    line-height: 1.2em;
    padding-top: 20px;
    background: url(../img/common/access_bar.png) center top no-repeat;
    margin-bottom: 20px;
}
#access .fax{
    font-family: "NotoSerif-B",serif;
    font-size: 19px;
    line-height: 1.3em;
    margin-top: 5px;
    margin-bottom: 10px;
}
#access .fax span{font-size: 90%;}

    @media only screen and (max-width:710px){
        #access .inner{
            padding: 40px 2.5%;
        }
        #access .ttl{
            font-size: 22px;
            line-height: 1.2em;
            padding-top: 15px;
        }
    }

.g-map{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 580px;/* 高さの比率 */
    margin-bottom: 50px;
}
.g-map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
    @media only screen and (max-width:810px){
        .g-map{
            padding-top: 55%;/* 高さの比率 */
            margin-bottom: 40px;
        }
    }
    @media only screen and (max-width:420px){
        .g-map{
            padding-top: 70%;/* 高さの比率 */
        }
    }



#footer .inner{
    width: 95%;
    max-width: 1160px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
#footer .inner .f_logo{
    margin-right: 40px;
}
#footer .inner .f_add{
    font-size: 13px;
    line-height: 1.5em;
}

#footer .copy{
    width: 95%;
    max-width: 1160px;
    margin: auto;
	font-size:11px;
    line-height: 1.2em;
    text-align: right;
    padding-top: 10px;
    padding-bottom: 20px;
}

/*  ページトップへ */
#pageTop{
	position:fixed;
	bottom:50px;
	right:20px;
    transition: 0.3s;
}
#pageTop:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}



	@media only screen and (max-width:710px){

        #footer .inner .f_logo{
            width: 100%;
            text-align: center;
            margin-right: 0;
        }
        #footer .inner .f_add{
            width: 100%;
            text-align: center;
            margin: 20px 0;
        }
        #footer .copy{
            width: 95%;
            text-align: center;
        }
		#pageTop img{
			width:45px;
			height:auto;
		}
	}















/* トップページ
-------------------------------*/

.topimg{
    width: 100%;
    height: 844px;
    overflow: hidden;
/*    background: url(../img/top/top_main.png) center top no-repeat; */
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin-bottom: 100px;
}

.topimg .inner{
    position: relative;
}

.topimg .inner .icon1{
    position: absolute;
    top: 0;
    left: -160px;
}
.topimg .inner .icon2{
    position: absolute;
    top: 0;
    right: -160px;
}
.topimg .sub1{
    font-family: "NotoSerif-B",serif;
    font-size: 65px;
    line-height: 1.3em;
    color: #fff;
    text-shadow: 0 0 15px #000;
}

.top00{
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -1;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 1920px;
    height: 100%;
}
.top00 .sub{
    width: 1920px;
    height: 844px;
    position: relative;
}
.top00 .sub .img01{
    position: absolute;
    top: 0;
    left: 0;
}
.top00 .sub .img02{
    position: absolute;
    top: 0;
    left: 680px;
}
.top00 .sub .img03{
    position: absolute;
    top: 0;
    right: 463px;
}
.top00 .sub .img04{
    position: absolute;
    top: 0;
    right: 0;
}

.top00 .sub .img05{
    position: absolute;
    bottom: 0;
    left: 0;
}
.top00 .sub .img06{
    position: absolute;
    bottom: 0;
    left: 457px;
}

.top00 .sub .img07{
    position: absolute;
    bottom: 0;
    right: 684px;
}
.top00 .sub .img08{
    position: absolute;
    bottom: 0;
    right: 0;
}

.fadein {
    opacity: 0;
    animation: fadein 1.0s ease forwards;
}

@keyframes fadein {
    100% {  opacity: 1;}
}
/*以下遅延の指定*/
.time01 {animation-delay: 0.25s;}
.time02 {animation-delay: 0.5s;}
.time03 {animation-delay: 0.75s;}
.time04 {animation-delay: 1s;}
.time05 {animation-delay: 1.25s;}
.time06 {animation-delay: 1.5s;}
.time07 {animation-delay: 1.75s;}
.time08 {animation-delay: 2s;}
.time09 {animation-delay: 2.5s;}

/*
.time01 {animation-delay: 0.5s;}
.time02 {animation-delay: 1s;}
.time03 {animation-delay: 1.5s;}
.time04 {animation-delay: 2s;}
.time05 {animation-delay: 2.5s;}
.time06 {animation-delay: 3s;}
.time07 {animation-delay: 3.5s;}
.time08 {animation-delay: 5s;}
.time09 {animation-delay: 5.5s;}
*/



    @media only screen and (max-width:810px){
        .topimg{
            height: 405px;
        /*    padding: 120px 5% 100px;*/
            background-size: cover;
            margin-bottom: 40px;
        }
        .topimg .inner .icon1{
            display: none;
        }
        .topimg .inner .icon2{
            display: none;
        }
        .topimg .inner .icon1,
        .topimg .inner .icon2{
            width: 12vw;
            height: auto;
        }
        .topimg .sub1{
            font-size: 6vw;
            line-height: 1.3em;
            text-shadow: 0 0 10px #000;
        }
        .topimg .sub2{
            margin-top: 20px;
            text-shadow: 0 0 6px #fff;
        }

        .top00{
            width: 921px;
            height: 405px;
        }
        .top00 .sub{
            width: 921px;
            height: 405px;
        }
        .top00 .sub .img01{
            top: 0;
            left: 0;
            width: 329px;
        }
        .top00 .sub .img02{
            top: 0;
            left: 329px;
            width: 134px;
        }
        .top00 .sub .img03{
            top: 0;
            right: 222px;
            width: 240px;
        }
        .top00 .sub .img04{
            top: 0;
            right: 0;
            width: 222px;
        }

        .top00 .sub .img05{
            bottom: 0;
            left: 0;
            width: 219px;
        }
        .top00 .sub .img06{
            position: absolute;
            bottom: 0;
            left: 219px;
            width: 242px;
        }

        .top00 .sub .img07{
            position: absolute;
            bottom: 0;
            right: 328px;
            width: 133px;
        }
        .top00 .sub .img08{
            position: absolute;
            bottom: 0;
            right: 0;
            width: 328px;
        }
    }

    @media only screen and (max-width:710px){
        .topimg .sub1{
            font-size: 8.5vw;
            line-height: 1.3em;
        }
        .topimg .scroll{
            display: none;
        }
    }
    @media only screen and (max-width:480px){
        .time07 {animation-delay: 1.25s;}

    }
    @media only screen and (max-width:420px){
        .topimg{
            height: 350px;
        }
        .top00{
            width: 921px;
            height: 405px;
        }
        .top00 .sub{
            width: 921px;
            height: 405px;
        }
        .topimg .inner .icon1,
        .topimg .inner .icon2{
            bottom: -20vw;
            width: 16vw;
            height: auto;
        }
        .topimg .sub2{
            font-size: 3vw;
            line-height: 1.6em;
        }
    }


.top-ttl{
    width: 100%;
    max-width: 1360px;
    margin: auto;
    background-image: url(../img/top/top-ttl-kei-bg.png);
    background-position: center 15px;
    background-repeat: no-repeat;
    margin-bottom: 40px;
}
.top-ttl .inner{
    width: 100%;
    max-width: 1160px;
    margin: auto;
    display: flex;
    align-items: center;
}

.top-ttl .cate{
    width: 170px;
    font-family: "NotoSerif-B",serif;
    font-size: 24px;
    line-height: 1.3em;
    padding-left: 20px;
}

    @media only screen and (max-width:1200px){
        .top-ttl .cate{
            padding-left: 30px;
            background-image: url(../img/top/top-ttl-kei.png);
            background-position: -83px 15px;
            background-repeat: no-repeat;
        }
    }
    @media only screen and (max-width:810px){
        .top-ttl .inner{
            display: block;
        }
        .top-ttl .cate{
            font-size: 20px;
            line-height: 1.3em;
            padding-left: 20px;
            background-position: -93px 15px;
        }
        .top-ttl .sub{
            padding: 0 20px;
            margin-top: 15px;
        }
    }




.topimg .scroll{
    position: absolute;
    left: 30px;
    bottom: 30px;
}

.topimg .scroll .kei{
    width: 11px;
    height: 78px;
    background: url(../img/top/scroll_kei.png) center center repeat-y;/* 縦の時は　repeat-y */
    -moz-animation: kurukuru 2s linear infinite;
    animation: kurukuru 2s linear infinite;
}

/* スクロールの矢印　縦にスクロール　 */
@keyframes kurukuru {
    0% {background-position: 0 0;}
    100% {background-position: 0 156px;}
}

@-moz-keyframes kurukuru {
    0% {background-position: 0 0;}
    100% {background-position: 0 156px;}
}
@media only screen and (max-width:710px){
    .top-ttl{
        margin-bottom: 20px;
    }
}










.top01.contents{
    max-width: 1200px;
	margin-bottom: 80px;
}
.top01 .item{
    width: 47.5%;
}
.top01 .item:nth-last-child(-n+2) {
    margin-top: 60px;
}

.top01 .item .img{
    width: 100%;
    max-width: 570px;
    margin: auto;
    padding-bottom: 2px;
    background: -moz-linear-gradient(left, #00a118, #00ff66);
    background: -webkit-linear-gradient(left, #00a118, #00ff66);
    background: linear-gradient(left, #00a118, #00ff66);
}

.top01 .item .txt{
    width: 100%;
    max-width: 546px;
    margin-left: auto;
    margin-top: 20px;
}
.top01 .item .txt .name{
    font-family: "NotoSerif-B",serif;
    font-size: 24px;
    line-height: 1.3em;
    margin-bottom: 10px;
    padding-left: 30px;
    background-image: url(../img/common/maru_ttl01.png);
    background-position: left center;
    background-repeat: no-repeat;
}
.top01 .item .txt .sub{
    width: 77%;
}
.top01 .item .txt .btn{
    width: 17%;
}

.top01 .item.bg_ao .img{
    background: -moz-linear-gradient(left, #0091a1, #00ffd0);
    background: -webkit-linear-gradient(left, #0091a1, #00ffd0);
    background: linear-gradient(left, #0091a1, #00ffd0);
}
.top01 .item.bg_ao .txt .name{
    background-image: url(../img/common/maru_ttl01_ao.png);
}

    @media only screen and (max-width:1200px){
        .top01 .item .txt .sub{
            width: 70%;
        }
        .top01 .item .txt .btn{
            width: 25%;
        }
    }
    @media only screen and (max-width:810px){
        .top01 .item:nth-last-child(-n+2) {
            margin-top: 40px;
        }
        .top01 .item .txt{
            margin-top: 10px;
        }
        .top01 .item .txt .name{
            font-size: 18px;
            line-height: 1.3em;
            margin-bottom: 5px;
            padding-left: 20px;
        }
        .top01 .item .txt .sub{
            width: 100%;
        }
        .top01 .item .txt .btn{
            width: 100%;
            text-align: right;
            margin-top: 10px;
        }
    }
    @media only screen and (max-width:710px){
        .top01 .item{
            width: 100%;
            margin-bottom: 40px;
        }
        .top01 .item:last-child {
            margin-bottom: 0;
        }
        .top01 .item:nth-last-child(-n+2) {
            margin-top: 0;
        }
        .top01 .item .txt .btn{
            margin-top: 5px;
        }
    }


.top02{
    margin-top: 100px;
    height: 888px;
    background: url(../img/top/top02_bg.png) center top no-repeat;
    padding-top: 110px;
    
}
.top02 .top-ttl .inner{
    background-color: transparent;
}
.top02 .top-ttl .cate{
    background-color: #f7f7f7;
}

.top02 .slider{
    width: 100%;
    max-width: 1728px;
    margin: auto;
}

.top02 .slider .item{
    margin-left: 2px;
    margin-right: 8px;
    max-width: 366px;
    background-color: #fff;
    border: solid 1px #e3e3e3;
}

.top02 .slider .txt{
    padding: 20px;
    font-size: 95%;
    line-height: 1.3em;
    min-height: 114px;
}
.top02 .slider .txt .cate{
    display: inline-block;
    border: solid 1px #00a118;
    font-size: 90%;
    line-height: 1.2em;
    color:  #00a118;
    padding: 3px 10px;
    margin-bottom: 10px;
}



.top02 .btn{
    margin-top: 40px;
    padding: 0 5%;
    text-align: right;
}
    @media only screen and (max-width:1333px){
        .top02{
            height: 66vw;
            padding-top: 8.2vw;
            background-size: cover;
        }
    }
    @media only screen and (max-width:810px){
        .top02{
            margin-top: 50px;
            height: auto;
            padding-top: 40px;
            padding-bottom: 80px;
        }
    }
    @media only screen and (max-width:710px){
        .top02 .btn img{
            width: 100px;
            height: auto;
        }
        .top02 .slider .txt{
            padding: 10px;
            min-height: 95px;
        }
    }
    @media only screen and (max-width:480px){
        .top02{
            background-image: none;
            background-color: #f7f7f7;
            padding-bottom: 50px;
        }
    }




.top03{
    width: 100%;
    height: 844px;
    padding-top: 50px;
    background: url(../img/top/top03_bg.png) center bottom no-repeat;
    position: relative;
}
.top03 .txt{
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 500px;
    padding: 40px;
}
.top03 .txt .ttl{
    font-family: "NotoSerif-B",serif;
    font-size: 29px;
    line-height: 1.3em;
    color: #fff;
}
.top03 .txt .lead{
    width: 100%;
    max-width: 340px;
    margin: 20px auto 50px;
}
.top03 .txt .btn{
    text-align: center
}

@media only screen and (max-width:1010px){
    .top03 .txt{
        width: 50%;
    }

}



@media only screen and (max-width:710px){
    .top03{
        height: auto;
        padding-top: 5vw;
        background-image: url(../img/top/top03_bg_sp.jpg);
        background-position: left top;
        background-size: auto 87.88vw;
        margin-bottom: 40px;
    }
    .top03 .txt{
        position: static;
        width: 90%;
        max-width: 500px;
        margin: auto;
        margin-top: 78vw;
        padding-top: 8vw;
        background: url(../img/top/top03_bg_2.png) center top no-repeat;
        background-size: cover;
    }
    .top03 .txt .ttl{
        font-size: 20px;
        line-height: 1.3em;
    }
    .top03 .txt .ttl br{
        display: none;
    }
    .top03 .txt .ttl span{
        display: inline-block;
    }
    .top03 .txt .lead{
        margin: 2vw auto 3vw;
    }
}

.top-seo{
    width: 90%;
    max-width: 1160px;
    margin: 60px auto;
    font-size: 95%;
    line-height: 1.6em;
    color: #c8c8c8;
    text-align: justify;
    text-justify: inter-character;
}





.top04{
    padding: 80px 5%;
}
.top04 .ttl{
    width: 100%;
    max-width: 355px;
    margin: auto;
    text-align: center;
    border-bottom: solid 1px #c8c8c8;
    font-size: 140%;
    line-height: 1.4em;
    font-family: "NotoSerif-B",serif;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
.top04 .sub{
    text-align: center;
    margin-bottom: 50px;
}

.top04 ul{
    width: 100%;
    max-width: 1200px;
    margin:auto;
}

.top04 li{
    width: 47.5%;
}
.g-map{
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 375px;/*高さ比率*/
}
.g-map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.g-map .link{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
}
.g-map .link a{
    display: block;
    width: 140px;
    height: 50px;
}

@media only screen and (max-width:1333px){
    .g-map{
        padding-top: 31%;/*高さ比率*/
    }
}

@media only screen and (max-width:710px){
    .top04{
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .top04 .sub{
        margin-bottom: 20px;
    }
    .top04 li{
        width: 100%;
        max-width: 570px;
        margin: 0 auto 20px;
    }

    .g-map{
        padding-top: 65%;/*高さ比率*/
    }

}
@media only screen and (max-width:390px){
    .top04 .sub{
        text-align: left;
        font-size: 95%;
        line-height: 1.5em;
    }

}


.top05{
    margin-top: 50px;
    height: 866px;
    background: url(../img/top/top05_bg.png) center top no-repeat;
    padding-top: 180px;
	margin-bottom: 100px;
    
}
.top05 .inbox {
	width: 100%;
	max-width: 1360px;
	margin: auto;	
}


.top05 .title {
	font-size: 27px;
	color: #148a3b;
	font-family: "NotoSerif-B",serif;
	margin-bottom: 30px;

}

.top05 .item {
	width: 40%;
}
.top05 .item .btn {
	margin-top: 36px;
}
.top05 .item02 {
	text-align: center;
}
.top05 .item02 a {
	color: #000000;
}
.top05 .item02 p {
	margin-top: 20px;
	
}

.profile{
	position: relative;
	top: -100px;
	display: block;
}

.top06.contents6 {
	width: 100%;
	max-width: 1600px;
	margin: 74px auto 10px;
	/*margin: 74px auto 50px;*/
}
.top06 .item {
	width: 28%;
	margin-bottom: 40px;
}
.top06 .item .shop {
	font-size: 20px;
	border-bottom: solid #c8c8c8 2px;
	padding-left: 30px;
	padding-bottom: 16px;
}

.top06 .item .maptxt {
	margin: 20px 30px;
}

#access_map {
	background-color: #fafafa;
	padding: 30px 0 30px 160px;
	margin-top: 20px;
	margin-bottom: 50px;
}
.top07 .item {
	width: 34%;
	max-width: 507px;
}
.top07 .item .title {
	border: solid #808080 2px;
	box-sizing: border-box;
	padding: 20px;
	font-size: 20px;
	margin-top: 50px;
	margin-bottom: 20px;
}
.top07 .item .subtxt {
	margin-left: 20px;
	margin-bottom: 60px;
}
.top07 .item02 {
	width: 64%;
	height: 580px;
}


@media only screen and (max-width:710px){
	.top05 {
	    margin-top: 30px;
		height: auto;
		padding-top: 100px;
		padding-bottom: 20px;

		}
	.top05 .inbox {
		padding: 0 20px;	
	}	
	
	
	.top05 .title {
		font-size: 20px;
		margin-bottom: 20px;
	}	
	.top05 .item {
		width: 100%;
	}
	.top05 .item02 {
		width: 44%;
		margin: 10px;
}
	.top06 .item {
		width: 90%;
		margin: 0 auto 30px;
	}
	
	.top06 .item .shop {
		font-size: 18px;
		padding-left: 20px;
		padding-bottom: 10px;
	}
	.top06 .item .maptxt {
		margin: 10px 20px;
	}
	
	#access_map {
		padding: 20px 0 ;
		margin-top: 30px;
	}	
	.top07 .item {
		width: 90%;
		margin: 0 auto;
	}	
	.top07 .item .title {
	  padding: 10px;
	  font-size: 18px;
	  margin-top: 20px;
	  margin-bottom: 10px;
	}	
	.top07 .item .subtxt {
		margin-bottom: 20px;
	}	
	
	.top07 .item02 {
		width: 100%;
		height: 300px;
		margin-top: 20px;
	}	

	
}



/* 共通
-------------------------------*/

.ttlbox{
    width: 100%;
    height: 300px;
    margin-bottom: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-family: "NotoSerif-B",serif;
    font-size: 24px;
    line-height: 1.3em;
    background-position: center center;
    background-repeat: no-repeat;
}
.ttlbox.bg_service{
    background-image: url(../img/common/ttl_bg_service.png);
    color: #fff;
}
.ttlbox.bg_results{
    background-image: url(../img/common/ttl_bg_results.png);
}
.ttlbox.bg_results{
    background-image: url(../img/common/ttl_bg_results.png);
}
.ttlbox.bg_company{
    background-image: url(../img/common/ttl_bg_company.png);
}
.ttlbox .en{
    font-size: 50px;
    line-height: 1.2em;
    margin-bottom: 10px;
}

    @media only screen and (max-width:810px){

        .ttlbox{
            height: auto;
            padding: 30px 0;
            margin-bottom: 40px;
            display: block;
            font-size: 16px;
            line-height: 1.3em;
        }
        .ttlbox .en{
            font-size: 24px;
            line-height: 1.2em;
            margin-bottom: 5px;
        }
        main{
            margin-bottom: 50px;
        }

    }



main{
    margin-bottom: 100px;
}
.contents{
    width: 90%;
    max-width: 1160px;
    margin: auto;
}
.flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


.ttl01 .ja{
    font-family: "NotoSerif-B",serif;
    font-size: 24px;
    line-height: 1.2em;
    padding-left: 24px;
    background: url(../img/common/maru_ttl01.png) left center no-repeat;
    margin-bottom: 10px;
}
.ttl01 .en{
    font-size: 12px;
    line-height: 1.2em;
    padding-left: 24px;
}


    @media only screen and (max-width:710px){

        main{
            margin-bottom: 50px;
        }
        .ttl01 .ja{
            font-size: 20px;
            line-height: 1.2em;
            padding-left: 20px;
            margin-bottom: 5px;
        }
        .ttl01 .en{
            font-size: 11px;
            line-height: 1.2em;
            padding-left: 20px;
        }


    }




/* 業務案内
-------------------------------*/
#biz01,
#biz02,
#biz03,
#biz04{
    padding-top: 20px;
    margin-top: -20px;
}
#biz01,
#biz02{
    margin-bottom: 120px;
}
.sev01{
    margin-bottom: 60px;
}
.sev01.matp120 {
	margin-top: 120px;
}
.sev01 .img{
    width: 49%;
}
.sev01 .txt{
    width: 49%;
    max-width: 480px;
}
.sev01 .txt .sub{
    margin-top: 20px;
    border-top: solid 1px #000;
    padding-top: 20px;
    font-family: "NotoSerif-B",serif;
    font-size: 115%;
    line-height: 1.2em;
    color: #00a118;
    margin-bottom: 15px;
}

#biz02 .ttl01 .ja{
    background: url(../img/common/maru_ttl01_ao.png) left center no-repeat;
}

#biz02 .sev01 .txt .sub{
    color: #0094a1;
}


.sev02.flex{
    flex-flow: row-reverse;
    align-items: center;
}
.sev02 .img{
    width: 49%;
}
.sev02 .txt{
    width: 51%;
    background-color: #ebfde9;
    padding: 70px 0;
}
.sev02_b .txt{
    width: 100%;
    background-color: #ebfde9;
    padding: 70px 0;
}


#biz02 .sev02 .txt{
    background-color: #e9fcfd;
}

.sev02 .txt .inner{
    width: 95%;
    max-width: 465px;
    margin: auto;
}
.sev02 .txt dl{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.sev02 .txt dt{
    margin-right: 15px;
}
.sev02 .txt dd{
    font-family: "NotoSerif-B",serif;
    font-size: 20px;
    line-height: 1.2em;
}

.sev02_b .txt .inner{
    width: 95%;
    margin: auto;
}
.sev02_b .txt dl{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.sev02_b .txt dt{
    margin-right: 15px;
}
.sev02_b .txt dd{
    font-family: "NotoSerif-B",serif;
    font-size: 20px;
    line-height: 1.2em;
}




.sev01 .txt02{

}
.sev01 .txt02 .sub{
    margin-top: 20px;
    border-top: solid 1px #000;
    padding-top: 20px;
    font-family: "NotoSerif-B",serif;
    font-size: 115%;
    line-height: 1.2em;
    color: #00a118;
    margin-bottom: 15px;
}

    @media only screen and (max-width:1200px){
        .sev02 .txt{
            padding: 30px 0;
        }
		.sev02_b .txt{
            padding: 30px 0;
        }

    }
    @media only screen and (max-width:810px){
        .sev01{
            margin-bottom: 30px;
        }
        .sev01 .img{
            width: 100%;
            text-align: center;
            margin-top: 30px;
        }
        .sev01 .txt{
            width: 100%;
            max-width: 570px;
            margin: auto;
        }

        .sev02.flex{
            display: block;
        }
        .sev02 .img{
            width: 100%;
            text-align: center;
            margin-top: 30px;
        }
        .sev02 .txt{
            width: 100%;
            max-width: 570px;
            margin: auto;
            padding: 20px 0;
        }
        .sev02 .txt .inner{
        }
		.sev02_b .txt{
            width: 100%;
            max-width: 570px;
            margin: auto;
            padding: 20px 0;
        }
        .sev02_b .txt .inner{
        }

    }

    @media only screen and (max-width:710px){
        #biz01,
        #biz02,
        #biz03{
            margin-bottom: 60px;
        }
        .sev02 .txt dt{
            margin-right: 8px;
        }
        .sev02 .txt dt img{
            width: 40px;
            height: auto;
        }
        .sev02 .txt dd{
            font-size: 16px;
            line-height: 1.2em;
        }
		.sev02_b .txt dt{
            margin-right: 8px;
        }
        .sev02_b .txt dt img{
            width: 40px;
            height: auto;
        }
        .sev02_b .txt dd{
            font-size: 16px;
            line-height: 1.2em;
        }

    }


.sev-gallery{
    margin-bottom: 40px;
}
.sev-gallery li{
    width: 30%;
    text-align: center;
}
.sev-gallery li p {
    margin-top: 35px;
    text-align: center;
    line-height: 1.3em;
    position: relative;
}
.sev-gallery li p::after {
    content: '';
    width: 30px;
    height: 2px;
    display: inline-block;
    background-color: #00a118;
    position: absolute;
    top: -15px;
    left: calc(50% - 15px)
}

.sev-gallery_l{
    margin-bottom: 40px;
}
.sev-gallery_l li{
    width: 48%;
    text-align: center;
}
.sev-gallery_l li p {
    margin-top: 35px;
    text-align: center;
    line-height: 1.3em;
    position: relative;
}
.sev-gallery_l li p::after {
    content: '';
    width: 30px;
    height: 2px;
    display: inline-block;
    background-color: #00a118;
    position: absolute;
    top: -15px;
    left: calc(50% - 15px)
}







#biz02 .sev-gallery li p::after {
    background-color: #0094a1;
}
    @media only screen and (max-width:710px){

        .sev-gallery li{
            width: 47%;
            margin-bottom: 20px;
        }
        .sev-gallery li p {
            margin-top: 25px;
        }
        .sev-gallery li p::after {
            top: -10px;
        }
		
        .sev-gallery_l li{
            width: 47%;
            margin-bottom: 20px;
        }
        .sev-gallery_l li p {
            margin-top: 25px;
        }
        .sev-gallery_l li p::after {
            top: -10px;
        }		
		

    }














/* 実績紹介
-------------------------------*/

.res01{
    margin-bottom: 100px;
}
.res01 .ttl{
    background-color: #ebf7ed;
    padding: 25px 0 15px;
    text-align: center;
    font-family: "NotoSerif-B",serif;
    font-size: 22px;
    line-height: 1.2em;
    margin-bottom: 20px;
}
.res01 .ttl div{
    padding-bottom: 10px;
    background: url(../img/common/access_bar.png) center bottom no-repeat;
}
.ex-ttl{
    width: 90%;
    max-width: 1160px;
    margin: 80px auto 20px;
    border-left: solid 2px #00a118;
    padding-left: 30px;
}
.ex-ttl span.cate{
    border: solid 1px #00a118;
    font-size: 95%;
    line-height: 1.2em;
    color:  #00a118;
    padding: 3px 10px;
    margin-right: 10px;
}
.ex-ttl .period{
    display: inline-block;
}
.ex-ttl div{
    margin-top: 5px;
    font-size: 115%;
    line-height: 1.5em;
}

.ex-list{
    width: 90%;
    max-width: 1160px;
    margin: auto;
}
.ex-list li{
    width: 32%;
    margin-bottom: 30px;
}

.res01 .list_no {
	text-align: center;
	margin: 80px auto;
	font-size: 20px;
}

    @media only screen and (max-width:710px){
        .res01{
            margin-bottom: 50px;
        }
        .res01 .ttl{
            padding: 20px 0 10px;
            font-size: 19px;
            line-height: 1.2em;
        }
        .ex-ttl{
            margin-top: 50px;
            padding-left: 15px;
        }
        .ex-list li{
            width: 48%;
            margin-bottom: 15px;
        }
    }

    @media only screen and (max-width:390px){
        .ex-ttl .period{
            padding-top: 5px;
        }
    }























/* 会社案内
-------------------------------*/

.com01{
    max-width: 990px;
    margin-bottom: 100px;
}

.com01 .ttl01{
    width: 19%;
}
.com01 .txt{
    width: 79%;
}
.com01 .txt .ttl{
    font-family: "NotoSerif-B",serif;
    font-size: 24px;
    line-height: 1.5em;
    color: #00a118;
    margin-bottom: 40px;
}
.com01 .txt .name{
    margin-top: 50px;
    text-align: right;
}
.com01 .txt .name span{
    font-size: 130%;
    line-height: 1.12em;
}
.com01 .txt table{
    width: 100%;
    border: solid 1px #000;
}

.com01 .txt table tr{
    border-bottom: solid 1px #000;
}
.com01 .txt table tr:last-child{
    border-bottom: none;
}
.com01 .txt table th{
    width: 25%;
    padding: 20px 30px;
    background-color: #f1f1f1;
    border-right: solid 1px #000;
}
.com01 .txt table td{
    width: 75%;
    padding: 20px 30px;
    line-height: 1.6em;
}
.com01 .txt p {
	text-indent:-1em;
	padding-left:1em;
	margin-bottom: 8px;
}

.com01 .txt .border {
	border-top: dotted;
	line-height: 170%;
    padding-top: 5px;
}

.com01 .txt .fonb {
	font-family: "NotoSerif-B";
}



    @media only screen and (max-width:810px){
        .com01 .ttl01{
            width: 100%;
            margin-bottom: 30px;
        }
        .com01 .txt{
            width: 100%;
        }
        .com01 .txt .ttl{
            font-family: "NotoSerif-B",serif;
            font-size: 24px;
            line-height: 1.5em;
            color: #00a118;
            margin-bottom: 25px;
        }

    }
    @media only screen and (max-width:710px){
        .com01{
            margin-bottom: 50px;
        }
        .com01 .ttl01{
            margin-bottom: 20px;
        }
        .com01 .txt .ttl{
            font-size: 19px;
            line-height: 1.4em;
            margin-bottom: 10px;
        }
        .com01 .txt .name{
            margin-top: 25px;
        }

        .com01 .txt table th{
            display: inline-block;
            width: 100%;
            padding: 10px 20px;
            border-right: none;
        }
        .com01 .txt table td{
            display: inline-block;
            width: 100%;
            padding: 10px 20px;
        }
    }


@media screen and (min-width: 680px){   
  .pc_br { display:block; }
  .sp_br { display:none; }
}
@media screen and (max-width: 680px){   
  .pc_br { display:none; }
  .sp_br { display:block; }
}






@media only screen and (max-width:810px){
}
@media only screen and (max-width:710px){
}



