@charset "UTF-8";
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

@media print, screen and (min-width: 651px){
.index #slider {
    width: 100%;
    height: 100vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	position: relative
}
.index .catch{
position: absolute;
font-size: clamp(2.0rem, 2.2vw, 3.5rem); 
top: 35vh;
font-weight: 600;
left: 15%;
color: #295402;
text-align: center;
text-shadow: 1px 1px 2px #FFF, 0 0 1em #FFF, 0 0 0.2em #FFF;
}

.index .catch2{

}
.index .catch2 .text_main{
font-size: clamp(4.5rem, 5.0vw, 7.7rem); 
text-shadow: initial;
padding: 20px 0;
color: #FFF
}
.index .catch2 .tel{
font-size: 50px;
}
.index .catch2 a{
display: block;
background-color: rgba(255,255,255,0.8);
color: #295402;
font-size: 20px;
text-align: center;
padding: 10px 0;
font-weight: 500;
border: #FFF 2px solid;
text-shadow: initial;
position: relative;
transition: 0.5s
}
.index .catch2 a:after{
 font-family: FontAwesome;
  content: '\f105'; /* アイコンのunicode */
  position:absolute;
  right:5px;
  top:17px;
  font-size:14px;
  font-weight: 800
}
.index .catch2 a:hover{
  background-color:  #FFF; 
}
.index .box5{
background-image: url("../images/index/bg_box1.jpg");
background-position: top center;
padding: 50px 0
}
.index .box1{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
width: 1500px;
max-width: 100%;
margin: 0 auto 0 auto;
font-size: 1.7rem;
line-height: 180%;
color: #666;
}
.index .box1 .inner{
width: 50%;
position: relative
}
.index .box1 .inner .com{
width: 70%;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
.index .lead{
font-size: 2.8rem;
font-family: "Times New Roman", Times, "serif";
font-weight: bold;
color: #666;
padding-bottom: 30px
}
.index .box1 .inner img{
width: 100%
}
.index .box2{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
flex-direction: row-reverse;
width: 1500px;
max-width: 100%;
margin: 100px auto 0 auto;
font-size: 1.8rem;
line-height: 180%;

}
.index .box2 .inner{
width: 50%;
position: relative
}
.index .box2 .inner .com{
width: 70%;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%)
}
.index .box2 .inner .com a{
display: block;
text-align: center;
padding: 7px 0;
border: #CCC 1px solid;
border-radius: 25px;
width: 80%;
margin: 30px auto 0 auto;
position: relative;
transition: 0.5s
}
.index .box2 .inner .com a:after{
 font-family: FontAwesome;
  content: '\f105'; /* アイコンのunicode */
  position:absolute;
  right:5px;
  top:8px;
  right: 5px;
  font-size:14px;
  font-weight: 800
}
.index .box2 .inner .com a:hover{
  background-color:  #FFF; 
}
.index .box2 .inner img{
width: 100%
}
.index .box3{
background-image: url("../images/index/cg3.png");
background-position: top center;
padding: 50px 0;
text-align: center;
font-size: 2.0rem;
font-weight: 500;
text-shadow: 1px 1px 2px #FFF, 0 0 1em #FFF, 0 0 0.2em #FFF;
}
.index .box3 .tel{
font-size: 4.5rem;
font-weight: 600;
}
.index .box3  a{
display: block;
background-color: rgba(255,255,255,0.8);
color: #295402;
font-size: 20px;
text-align: center;
padding: 20px 0;
font-weight: 500;
border: #FFF 2px solid;
text-shadow: initial;
width: 650px;
max-width: 80%;
margin: 30px auto 0 auto;
position: relative;
transition: 0.5s

}
.index .box3  a:after{
 font-family: FontAwesome;
  content: '\f105'; /* アイコンのunicode */
  position:absolute;
  right:5px;
  top:25px;
  font-size:14px;
  font-weight: 800
}
.index .box3  a:hover{
  background-color:  #FFF; 
}
.index .box4{
background-color: #FFF;
padding: 100px 0;
}
.index .box4 .document{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.index .box4 .document .inner{
width: 48%
}
.index .box4 .document .inner li{
display: block;
padding-bottom: 3px;
margin-bottom: 15px;
border-bottom: #666 1px dotted;
font-size: 1.4rem;
}
.index .box4 .document .inner .name{
font-size: 1.8rem;
font-weight: 500
}
/*会社案内-----------------------------------------*/
.profile{

}
.profile .box1{
padding: 50px 0;
line-height: 180%;
width: 800px;
max-width: 90%;
margin: 0 auto
}
.profile .box1 .catch{
font-size: 2.5rem;
color: #666;
font-weight: 600;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
padding-bottom: 50px;
text-align: center
}
.profile .history td{
border: none;
border-bottom: #666 1px dotted;
margin-bottom: 15px
}
.profile .history td:nth-child(1){
width: 17%;
}
.profile .history td:nth-child(2){

}
/*業務工程-----------------------------------------*/
.flow {
padding: 100px 0
}
.flow .tab-group {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto;
        width: 100%;
		box-sizing: border-box;
        ;
    }
.flow .tab {
        background-color: #FFF;
        color: #013;
        cursor: pointer;
        font-size: 15px;
        font-weight: 500;
        text-align: center;
		padding: 15px 7px;
        width: calc(100% / 4) ;
		border: 1px #017462 solid;
		box-sizing: border-box;
		border-radius: 10px 10px 0 0;
		transition: 0.7s
    }
.flow .tab:hover{
	  background-color: #017462;
    color: #FFF;
	}
.flow .tab.is-active {
        transition: all 0.2s ease-out;
		background-color: #017462;
        color: #FFF;
    }
.flow .tab-none {
        background-color: #DDD;
        border: solid 1px #999;
        border-collapse: collapse;
        box-sizing: border-box;
        color: #999;
        font-size: 15px;
        font-weight: 400;
        list-style: none;
        margin-bottom: 15px;
        padding: 7px 0;
        position: relative;
        text-align: center;
        width: 33% ;
    }
.flow .panel {
        display: none;
    }
.flow .panel.is-show {
        display: block;
		margin-top: 3px;
    }
.flow .box_flow{
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 50px 0 80px 0
}
.flow .box_flow .inner{
box-sizing: border-box;
border: #b3c3c3 1px solid;
padding: 0.5%;
width: 30%;
margin: 0 0.5%
}
.flow .box_flow .inner img{
display: block;
width: 100%;
margin-bottom: 15px;
}
.flow .box_flow .inner .com{
padding: 2%;
font-size: 13px;
line-height: 160%
}
.flow .box_flow .arrow{
width: 3%;
position:relative;
}
.flow .box_flow .arrow i{
position: absolute;
top:50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
font-size:2.5rem
}
.flow .box_flow2{
border-top: #b3c3c3 2px solid;
padding-top: 50px;
position: relative
}
.flow .box_flow2 .photo{
width: 70%;
margin: 0 0 0 auto
}
.flow .box_flow2 .photo img{
width: 100%;
}
.flow .box_flow2 .com{
position: absolute;
padding: 20px 20px;
background-color: rgba(255,255,255,0.7);
font-size: 1.8rem; 
width: 50%;
top:25%;
box-shadow: 3px 3px 3px rgba(0,0,0,0.6);
}
/*Q&Aー---------ー---------ー---------ー---------ー---------ー---------ー---------ー---------ー---------ー---------ー---------*/
.faq{
padding-top: 100px;
}
.faq dl{
border: #179e9c 2px solid;
margin-bottom: 20px;
}
.faq dt{
background-color: #179e9c;
color: #FFF;
font-size: 1.6rem;
font-weight: 500;
width: 650px;
max-width: 80%;
padding: 10px 3%
}
.faq dd{
margin-left: 0;
padding: 3%;
line-height: 180%
}

/*お問い合わせ-----------------------------------------*/
.contact{
padding: 40px 0
}
.contact .box1{
padding-bottom: 50px;
}
.contact table{
	width:100%;
	border-collapse:collapse;
	margin:0;
}
.contact table td{
	border:#361C0A 1px solid;
	padding:1%;
}
.contact table td:nth-child(1){
	border:#361C0A 1px solid;
	background-color:#DFE4E3;
	width:20%;
	text-align:left;
	padding:1%;
	font-weight:normal;
}
.contact table textarea {
width: 80%;
height: 10em;
	border:#CCC 1px solid;
}
.contact table label{
	display:block;
}
.contact table input[type="text"]{
	width:50%;
	border:#CCC 1px solid;
}
.contact table .num input[type="text"]{
	width:10%;
}
.contact table input[type="email"]{
	width:50%;
	border:#CCC 1px solid;
}
.contact input[type="submit"]{
	width:400px;
	border:#FFF 1px solid;
	background-color:#578FCB;
	text-align:center;
	font-weight:bold;
	font-size:16px;
	color:#FFF;;
	padding:6px;
	margin-top:30px;
	margin-bottom:30px;
	display:block;
	cursor:pointer;
	margin-left:auto;
	margin-right:auto;
}
.contact input[type="submit"]:hover{
	background-color:#069
}
.contact input[type="reset"]{
	width:200px;
	border:#FFF 1px solid;
	background-color:#EEE;
	text-align:center;
	font-weight:bold;
	font-size:16px;
	color:#333;;
	padding:3px;
	margin-top:30px;
	margin-bottom:30px;
	display:block;
	cursor:pointer;
	margin-left:auto;
	margin-right:auto;
}
.contact .box2{
padding: 30px 0;
text-align: center;
}

/*個人情報-----------------------------------------*/
.privacy{
padding: 40px 0
}
.privacy .box_privacy{
width: 800px;
max-width: 95%;
margin: 0 ;
}
.privacy dl{
 padding: 20px 0;
 border-top: #CCC 1px solid;
 margin-top: 40px;
}
.privacy dt{
 font-weight: 500;
 padding-bottom: 10px;
}
.privacy dd{
margin-left: 0;
margin-bottom: 30px;
}
}
/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
@media screen and (max-width: 650px){
.index #slider {
    width: 100%;
    height: 70vh;/*スライダー全体の縦幅を画面の高さいっぱい（100vh）にする*/
	position: relative
}
.index .catch{
font-size: clamp(2.0rem, 2.2vw, 3.5rem); 
padding-top: 35vh;
font-weight: 600;
left: 15%;
color: #295402;
text-align: center;
text-shadow: 1px 1px 2px #FFF, 0 0 1em #FFF, 0 0 0.2em #FFF;
}

.index .catch2{
}
.index .catch2 .text_main{
font-size: clamp(4.5rem, 5.0vw, 7.7rem); 
text-shadow: initial;
padding: 20px 0;
color: #FFF;
}
.index .catch2 .tel{
display: none
}
.index .catch2 a{
display: none
}

.index .box1{
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 100%;
font-size: 1.7rem;
line-height: 180%;
color: #666;
padding-top: 50px
}
.index .box1 .inner{
width: 90%;
}
.index .box1 .inner .com{
padding-bottom: 50px
}
.index .lead{
font-size: 2.0rem;
font-family: "Times New Roman", Times, "serif";
font-weight: bold;
color: #666;
padding-bottom: 30px;
text-align: center
}
.index .box1 .inner img{
width: 80%;
display: block;
margin: 0 auto
}
.index .box2{
display: flex;
flex-wrap: wrap;
justify-content: center;
width: 100%;
font-size: 1.7rem;
line-height: 180%;
color: #666;
padding: 50px 0
}
.index .box2 .inner{
width: 90%;
}
.index .box2 .inner .com{
padding-bottom: 50px
}
.index .box2 .inner .com a{
display: block;
text-align: center;
padding: 7px 0;
border: #CCC 1px solid;
border-radius: 25px;
width: 80%;
margin: 30px auto 0 auto
}
.index .box2 .inner img{
width: 80%;
display: block;
margin: 0 auto
}
.index .box3{
background-image: url("../images/index/cg3.png");
background-position: top center;
padding: 50px 0;
text-align: center;
font-size: 2.0rem;
font-weight: 500;
text-shadow: 1px 1px 2px #FFF, 0 0 1em #FFF, 0 0 0.2em #FFF;
}
.index .box3 span{
display: inline-block
}
.index .box3 .tel{
font-size: 3.0rem;
font-weight: 600;
padding-top: 20px
}
.index .box3  a{
display: block;
background-color: rgba(255,255,255,0.8);
color: #295402;
font-size: 20px;
text-align: center;
padding: 10px 0;
font-weight: 500;
border: #FFF 2px solid;
text-shadow: initial;
width: 650px;
max-width: 80%;
margin: 30px auto 0 auto
}
.index .box4{
background-color: #FFF;
padding: 100px 0;
}
.index .box4 .document{
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.index .box4 .document .inner{
width: 90%;
margin-bottom: 25px
}
.index .box4 .document .inner li{
display: block;
padding-bottom: 3px;
margin-bottom: 15px;
border-bottom: #666 1px dotted
}
.index .box4 .document .inner .name{
font-size: 2.0rem;
font-weight: 500
}
/*会社案内-----------------------------------------*/
.profile{
padding-bottom: 50px
}
.profile .box1{
padding: 50px 0;
line-height: 180%;
width: 800px;
max-width: 90%;
margin: 0 auto
}
.profile .box1 .catch{
font-size: 2.0rem;
color: #666;
font-weight: 600;
font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
padding-bottom: 50px;
text-align: center
}
.profile td{
border: none;
}
.profile td:nth-child(1){
font-weight: 500;
}
.profile td:nth-child(2){
font-weight: 500;
border-bottom: 1px #666 dotted;
margin-bottom: 20px
}
.profile .history td{
border: none;
border-bottom: #666 1px dotted;
padding-top: 20px;
display: table-cell;
font-size: 13px;
}
.profile .history td:nth-child(1){
width: 35%;
border-bottom: #666 1px dotted;
font-size: 12px;
}
.profile .history td:nth-child(2){

}
/*業務工程-----------------------------------------*/
.flow {
padding: 100px 0
}
.flow .tab-group {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto;
        width: 100%;
		box-sizing: border-box;
        ;
    }
.flow .tab {
        background-color: #FFF;
        color: #013;
        cursor: pointer;
        font-size: 15px;
        font-weight: 500;
        text-align: center;
		padding: 15px 7px;
        width: calc(100% / 2) ;
		border: 1px #017462 solid;
		box-sizing: border-box;
		transition: 0.7s
    }
.flow .tab:hover{
	  background-color: #017462;
    color: #FFF;
	}
.flow .tab.is-active {
        transition: all 0.2s ease-out;
		background-color: #017462;
        color: #FFF;
    }
.flow .tab-none {
        background-color: #DDD;
        border: solid 1px #999;
        border-collapse: collapse;
        box-sizing: border-box;
        color: #999;
        font-size: 15px;
        font-weight: 400;
        list-style: none;
        margin-bottom: 15px;
        padding: 7px 0;
        position: relative;
        text-align: center;
        width: 33% ;
    }
.flow .panel {
        display: none;
    }
.flow .panel.is-show {
        display: block;
		margin-top: 3px;
    }
.flow .box_flow{
display: flex;
flex-wrap: wrap;
justify-content: center;
padding: 50px 0 80px 0
}
.flow .box_flow .inner{
box-sizing: border-box;
border: #b3c3c3 1px solid;
padding: 0.5%;
width: 85%;
margin: 0 0.5%
}
.flow .box_flow .inner img{
display: block;
width: 100%;
margin-bottom: 15px;
}
.flow .box_flow .inner .com{
padding: 2%;
font-size: 1.4rem;
line-height: 160%
}
.flow .box_flow .arrow{
width: 25%;
position:relative;
margin: 40px 0
}
.flow .box_flow .arrow i{
position: absolute;
top:50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
font-size:2.5rem
}
.flow .box_flow2{
border-top: #b3c3c3 2px solid;
padding-top: 50px;
position: relative
}
.flow .box_flow2 .photo{
width: 90%;
margin: 0 auto
}
.flow .box_flow2 .photo img{
width: 100%;
}
.flow .box_flow2 .com{
padding: 4% 0;
font-size: 1.6rem; 
width: 90%;
margin: 0 auto
}
/*Q&Aー---------ー---------ー---------ー---------ー---------ー---------ー---------ー---------ー---------ー---------ー---------*/
.faq{
padding: 80px 0;
}
.faq dl{
border: #179e9c 2px solid;
margin-bottom: 20px;
}
.faq dt{
background-color: #179e9c;
color: #FFF;
font-size: 1.6rem;
font-weight: 500;
width: 650px;
max-width: 80%;
padding: 10px 3%
}
.faq dd{
margin-left: 0;
padding: 3%;
line-height: 180%
}

/*お問い合わせ-----------------------------------------*/

.contact .box1{
padding: 40px 0
}
.contact table td{
	width:96%;
	border: none;
	display: block;
}
.contact table td:nth-child(2){
	width:96%;
	text-align:left;
	font-weight:normal;
	display: block;
	margin-bottom: 25px;
}
.contact table textarea {
width: 90%;
height: 10em;
	border:#CCC 1px solid;
}
.contact table label{
	display:block;
}
.contact table input[type="text"]{
	width:96%;
	border:#CCC 1px solid;
	height: 30px
}
.contact table #zip{
 display: block;
 width: 50%;
 margin-top: 10px;
}
.contact table .num input[type="text"]{
	width:30%;
}
.contact table input[type="email"]{
	width:96%;
	border:#CCC 1px solid;
	height: 20px;
}
.contact input[type="submit"]{
	width:90%;
	border:#FFF 1px solid;
	border-radius: 0;
	background-color:#069;
	text-align:center;
	font-weight:bold;
	font-size:16px;
	color:#FFF;;
	padding:10px!important;
	margin-top:15px;
	margin-bottom:30px;
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.contact input[type="reset"]{
	width:70%;
	border:#FFF 1px solid;
	border-radius: 0;
	background-color:#DDD;
	text-align:center;
	font-weight:bold;
	font-size:16px;
	color:#333;;
	padding:10px!important;
	margin-bottom:30px;
	display:block;
	margin-left:auto;
	margin-right:auto;
}
/*個人情報-----------------------------------------*/
.privacy{
padding: 40px 0
}
.privacy .box_privacy{
max-width: 95%;
margin: 0 auto;
}
.privacy dl{
 padding: 20px 0;
 border-top: #CCC 1px solid;
 margin-top: 40px;
}
.privacy dt{
 font-weight: 500;
 padding-bottom: 10px;
}
.privacy dd{
margin-left: 0;
margin-bottom: 30px;
}
.pager{
padding-bottom: 50px;
}
.pager td{
 border: none!important;
 display: table-cell;
 width: 50%
}
.pager a{
 background-color: #999;
 color: #FFF;
 padding: 5px 25px;
 margin-right: 10px;
 font-size: 16px;
}
}