@charset "UTF-8";


.wrapper{
    background-color: white;
    width: 100%;
    font-size: 15px;
    font-family: "Mplus 1p",Verdana,sans-serif;
    font-weight: 400;
    line-height: 1.66;
    color: #000;
}

.topmenu {
    display: flex;
    position: fixed;
    top:0px;
    z-index: 1;
    width: 100%;
    height: 90px;
    border-bottom: 1px solid grey;
    box-shadow: 0 5px 0 0 rgba(0,0,0,0.1);
    background-color: white;

}

.topmenu h1 a img{
    display: block;
    width: 80%;
    margin: 2.3vw;
}

.nav_btn a{
    height: 90px;
    margin: 35px 25px;

}

.nav_btn{
    display: flex;
    margin-right: 0;
    margin-left: auto;
}

main .slider{
		padding-top:95px;/*戻るボタンの高さ分あけてます*/
		width:100%;/* スライダーの幅を指定*/
		list-style:none;  
}
main .slider_sp{
        display: none;
}


.slick-arrow{ z-index:100; }
.slick-next{ right:10px;}/*内側に右から10ピクセル移動*/
.slick-prev{ left:10px; }/*内側に左から10ピクセル移動*/

#header_top h1{
color:#fff;
position:absolute;
bottom:38px;
left:70px;
font-size:12px;
}


/* footer_contact_area
------------------------------------*/
.footer_contact_outer{
 background-color: #00A0E9;
}
.footer_contact_inner{
 width: 90%;
 max-width: 1100px;
 margin: 0 auto;
 padding: 50px 0 50px;
 color: #fff;
 display:flex;
 justify-content: space-between;
}
.footer_contact_tel{
 width: 45%;
}
.footer_contact_teltxt01{
 font-size: 2.0rem;
 padding-bottom: 7px;
 margin-bottom: 13px;
 border-bottom: 1px solid #fff;
}
.footer_contact_telnum{
 text-align: center;
 font-size: 3.0rem;
 font-weight: bold;
 line-height: 1;
}
.footer_contact_telnum::before{
 content: '';
 width: 50px;
 height: 50px;
 background-image: url("../image/tel.svg");
 background-size: contain;
 background-repeat: no-repeat;
 display: inline-block;
 vertical-align: text-top;
 padding-right: 25px;
}
.footer_contact_teltxt02{
 font-size: 1.4rem;
}
.footer_contact_mailbtn{
 width: 45%;
 text-align: center;
}
.footer_contact_mailbtn a{
 width: 100%;
 min-height: 130px;
 display: block;
 background-color: #fff;
 border: 1px solid #00A0E9;
 color: #00A0E9;
}
.footer_contact_mailbtntxt01{
 color: #555;
 padding-top: 20px;
}
.footer_contact_mailbtntxt02{
 font-size: 3.0rem;
 color: #00A0E9;
 font-weight: bold;
 padding-top: 5px;
}
.footer_contact_mailbtntxt02::before{
 font-family: "Font Awesome 5 Free";
 content: '\f0e0';
 font-weight: 900;
 font-size: 1.1em;
 display: inline-block;
 margin-right: 10px;
}
.footer_contact_mailbtn a:hover{
 text-decoration: none;
 background-color: #00A0E9;
 color: #fff;
 border: 1px solid #fff;
}
.footer_contact_mailbtn a:hover .footer_contact_mailbtntxt01,
.footer_contact_mailbtn a:hover .footer_contact_mailbtntxt02{
 color: #fff;
}

/*google map*/
.top_gmap_iframe iframe{
 width: 100%;
 height: 500px;
}


/* footer
------------------------------------*/
.footer_icon{
 display: none;
}
.footer01_inner{
 max-width: 1100px;
 width: 90%;
 margin: 0 auto;
}
footer a,footer a:visited{
 color: #555;
}
footer .footer_office a:hover{
 text-decoration: none;
 opacity: 0.7;
}
.footer01_inner ul{
 display:flex;
 justify-content: center;
}
.footer01_inner ul li{
 font-size: 1.0rem;
 margin: 18px 2.2% 23px;
}
.footer01_inner ul .closemenu{
 display: none;
}
.footer02{
 border-top: 1px solid #ccc;
}
.footer02_inner{
 font-size: 1.2rem;
 max-width: 1100px;
 width: 90%;
 margin: 0 auto;
 display:flex;
 justify-content: space-between;
 padding: 30px 0;
}
.footer_office{
 font-size: 2.4rem;
 font-weight: 400;
}
.footer02_right{
 text-align: right;
}
.footer_postcode{
 display: inline-block;
 padding-right: 10px;
}
.footer_tel{
 display: inline-block;
 padding-right: 10px;
}
footer p small{
 display: block;
 background-color: #1D2088;
 color: #fff;
 font-size: 1.0rem;
 text-align: center;
 padding: 10px 0;
}


/*mv
------------------------------------*/
.mv_bg{
 width: 100%;
 background-color: #00A0E9;
 padding: 36px 0 5px;
 box-sizing: border-box;
}
.mv_bg a:hover img{
 opacity: 0.9;
 -webkit-transition: all 0.3s;
 -moz-transition: all 0.3s;
 transition: all 0.3s;
}

.sp-button{
 border-color: transparent;
}
.sp-selected-button{
 background-color: transparent;
}

/*mv下のお知らせ*/
.news_inner{
 width: 90%;
 max-width: 1240px;
 margin: 20px auto 0;
 background-color: #eee;
 min-height: 45px;
 display:flex;
 border-radius: 1px;
}
#home .news_inner::before{
 color: #00A0E9;
 top: 17px;
 left: 15px;
}
.news_txt01{
 position: relative;
 font-size: 1.0rem;
 padding-top: 13px;
 padding-left: 30px;
 width: 130px;
 box-sizing: border-box;
}
.news_txt02{
 padding: 13px 0;
 font-size: 1.0rem;
}

.news_sp{
 display: none;
}

/*top_page
------------------------------------*/
.home_contents01{
 margin-top: 110px;
}
.home_con_top{
 max-width: 1100px;
 width: 92%;
 margin: 0 auto;
 margin-bottom: 70px;
 display: flex;
 flex-direction: row-reverse;
 position: relative;
}
.home_con_top_txt{
 width: 59%;
 padding-left: 5%;
 margin-top: 300px;
}
.home_con_ttl{
 position: absolute;
 top: 0;
 right: 0;
 width: 62%;
 padding-left: 5%;
 box-sizing: border-box;
}
.home_con_top h2{
 font-size: 2.7rem;
 font-weight: 400;
 line-height: 1.3;
 color: #00A0E9;
 margin-bottom: 3%;
}
.home_con_top_txt01{
 font-size: 1.5rem;
}

.home_con_top_btn{
 margin-top: 7%;
 display: flex;
}
.home_con_btn01,
.home_con_btn02{
 width: 48%;
 min-height: 55px;
 margin-right: 15px;
}
.home_con_btn01 a,
.home_con_btn02 a{
 display: block;
 background: url("../image/arrow_2.svg") no-repeat;
 background-size: 27px auto;
 background-position: 94% center;
 background-color: #00A0E9;
 border: 1px solid #00A0E9;
 color: #fff;
 text-align: center;
 padding: 15px 0;
}
.home_con_btn01 a:hover,
.home_con_btn02 a:hover{
 text-decoration: none;
 background: url("../image/arrow_2.svg")no-repeat;
 background-size: 27px auto;
 background-position: 96% center;
 background-color: #fff;
 color: #00A0E9;
}
.home_con_photo{
 margin-left: 20px;
 width: 40%;
}
.home_con_photo img{
 box-shadow: -20px 20px #1D2088;
 width: 100%
}


/*ご契約までの流れ*/
.home_contents02{
 margin-top: 
 background-color: #EFEFEF;
 padding: 60px 0 70px;
}
.home_contents02_inner{
 max-width: 1100px;
 width: 92%;
 margin: 0 auto;
}
.home_contents02 h2,
.home_contents03 h2{
 font-size: 3.0rem;
 font-weight: 400;
 color: #00A0E9;
 text-align: center;
 padding-bottom: 40px;
}
.home_contents02_p{
 margin: 0 auto;
 text-align: center;
 padding-bottom: 35px;
 width: 70%;
}
.flow_ill{
 display: flex;
 justify-content: space-between;
 text-align: center;
 list-style: none;
 padding-bottom: 50px;
 overflow: hidden;
}
.flow_ill .flow_ttl{
 font-size: 2.0rem;
 line-height: 1.3;
 color: #00A0E9;
 padding-bottom: 40px;
}
.flow_ill .flow_step{
 font-size: 2.0rem;
 font-style: italic;
 display: block;
 padding-bottom: 8px;
}
.flow_ill .flow_num{
 font-size: 4.5rem;
 font-weight: 600;
 display: inline-block;
 padding-left: 10px;
}
.flow_ill .flow_box{
 border: 1px solid #00A0E9;
 background-color: #fff;
 width: 21%;
 min-height: 265px;
 padding: 10px 1.5% 18px;
 box-sizing: border-box;
 box-shadow: 10px 10px #00A0E9;
 margin-right: 10px;
}
.flow_ill .flow_arrow{
 border: none;
 background-color: transparent;
 width: 2.5%;
 transform: translateY(48%);
 vertical-align: middle;
}
.home_contents02_p02{
 font-size: 2.4rem;
 font-weight: 400;
 text-align: center;
}

/*お知らせ*/
.home_contents03{
 padding-top: 60px;
 padding-bottom: 80px;
 max-width: 1100px;
 width: 92%;
 margin:0 auto;
}
.home_contents03 ul{
 list-style: none;
}
.home_contents03 ul li{
 display: flex;
 padding: 17px 17px 17px 23px;
 border-bottom: 1px solid #ccc;
 vertical-align: middle;
}
.home_contents03 ul li:first-child{
 padding-top: 0px;
}
.home_contents03 ul time{
 position: relative;
 /*padding-left: 10px;*/
 width: 15%;
 box-sizing: border-box;
 min-width: 145px;
}

.home_contents03 ul span.type01{
 display: block;
 background-color: #1D2088;
 font-size: 0.6rem;
 text-align: center;
 color: #fff;
 width: 7.5%;
 min-width: 50px;
 height: 23px;
 margin-left: 2.5%;
 margin-right: 2%;
 padding-top: 4px;
}
.home_contents03 ul .top_news_txt01{
 width: 75%;
}
/*font awesome*/
.icon_triangle01::before{
 font-family: "Font Awesome 5 Free";
 content: '\f04b';
 color: #555;
 font-weight: 900;
 font-size: 0.6em;
}

/*recruit------------------------------------*/
.recruit{
    margin: 0 auto;
}
.bosyu{
    text-align: center
}




/* pankuzu
------------------------------------*/
.pankuzu_inner{
 width: 90%;
 max-width: 1100px;
 margin: 0px auto;
 padding-top: 15px;
}
.pankuzu_inner a,
.pankuzu_inner a:visited{
 color: #555;
 text-decoration: underline;
}
.pankuzu_inner a:hover{
 text-decoration: none;
}
/*section*/
.lower_section_inner{
 width: 90%;
 max-width: 1100px;
 margin: 0 auto;
 padding-top: 80px;
 padding-bottom: 80px;
}
.lower_section_outer{
 background-color: #f7f7f7;
}
.lower_tit01_outer img,
.lower_tit02_outer img{
 width: 50px;
 display: block;
 margin: 0 auto 3px;
}
.lower_section_inner h3{
 font-weight: 400;
 font-size: 2.8rem;
 color: #00A0E9;
 text-align: center;
 padding-bottom: 40px;
}
.lower_section_inner .h3_icon_num01{
 display: block;
 font-style: italic;
 font-weight: 400;
 line-height: 1.2;
}
.lower_section_inner .h3_icon_num01 .tensp{
 font-size: 3.2rem;
 padding-right: 5px;
}
.lower_section_inner .h3_icon_num01 .onesp{
 font-size: 4.5rem;
}


/* lower
------------------------------------*/
/*mv*/
.mainvisual_lower{
 background-color: #00A0E9;
 height: 260px;
 font-weight: 400;
 color: #fff;
 font-size: 2.0rem;
 text-align: center;
}
.mainvisual_lower h2 {
 position: relative;
 display: inline-block;
 margin-bottom: 0.6em;
 padding-top: 120px;
 font-weight: 400;
}
.mainvisual_lower h2:before {
 content: '';
 position: absolute;
 bottom: -9px;
 display: inline-block;
 width: 70%;
 height: 1px;
 left: 50%;
 transform: translateX(-50%);
 background-color: #fff;
 border-radius: 2px;
}
.mainvisual_lower .lower_mv_ruby{
 display: block;
 font-size: 0.6em;
}
/*section*/
.lower_section_inner{
 width: 90%;
 max-width: 1100px;
 margin: 0 auto;
 padding-top: 80px;
 padding-bottom: 80px;
}
.lower_section_outer{
 background-color: #f7f7f7;
}
.lower_tit01_outer img,
.lower_tit02_outer img{
 width: 50px;
 display: block;
 margin: 0 auto 3px;
}
.lower_section_inner h3{
 font-weight: 400;
 font-size: 2.8rem;
 color: #00A0E9;
 text-align: center;
 padding-bottom: 40px;
}
.lower_section_inner .h3_icon_num01{
 display: block;
 font-style: italic;
 font-weight: 400;
 line-height: 1.2;
}
.lower_section_inner .h3_icon_num01 .tensp{
 font-size: 3.2rem;
 padding-right: 5px;
}
.lower_section_inner .h3_icon_num01 .onesp{
 font-size: 4.5rem;
}


/* aboutu_us
------------------------------------*/
/*事務所理念*/

/* ○○○士紹介 */
.tablelist02_outer{
 display: flex;
}
ul.tablelist02{
 list-style: none;
 width: 69%;
}
ul.tablelist02 li{
 border-bottom:1px solid #ccc;
 padding: 2% 1%;
 display: flex;
 position: relative;
}
#about_us .icon_triangle01::before{
 top: 19px;
 color: #1D2088;
}
ul.tablelist02 li div.tablelist_tit{
 width:27%;
 padding-left: 20px;
 box-sizing: border-box;
 font-weight: bold;
}
ul.tablelist01 li div.tablelist_txt{
 width: 73%;
}
.aboutus_photo01{
 width: 31%;
 margin-top: 1.4%;
}
.aboutus_photo01 img{
 width: 89%;
 margin-left: 11%;
}

/* 事務所紹介 */
ul.tablelist01{
 list-style: none;
}
ul.tablelist01 li{
 border-bottom:1px solid #ccc;
 padding: 2% 1%;
 display: flex;
 position: relative;
}
#about_us .tablelist01 .icon_triangle01::before{
 top: 25px;
 color: #1D2088;
}
ul.tablelist01 li div.tablelist_tit{
 width:19%;
 padding-left: 20px;
 box-sizing: border-box;
 font-weight: bold;
}
ul.tablelist01 li div.tablelist_txt{
 width: 81%;
}
ul.tablelist_txt_txt li{
 border:none;
 padding: 0;
}
ul.tablelist_txt_txt li::before{
 content: "・";
}
.aboutus_photo_area{
 list-style: none;
 display: flex;
 justify-content: space-between;
 margin-top: 2.3%;
}
.aboutus_photo_area li{
 width: 33.333%;
}
.aboutus_photo_area li img{
 width: 94%;
}
.aboutus_photo_area li:nth-child(2) img{
 margin:0 3%;
}
.aboutus_photo_area li:nth-child(3) img{
 margin-left: 6%;
}

/* アクセス */
.aboutus_001{
 text-align: center;
 padding-bottom: 27px;
}
.aboutus_003{
 padding-top: 5px;
}
.googlemap_iframe iframe{
 width: 100%;
 height: 540px;
}


/* our_service
------------------------------------*/
.service{
 margin: 0 auto;
 text-align: center;
 font-size: 1.2rem;
}

/* contact
------------------------------------*/
.contact_tel{
 text-align: center;
}
.tel01 a{
 font-size:3.2rem;
 color: #555;
}
.tel02{
 margin: 0 auto;
 
}
.formlist01 li{
 display: -webkit-flex;
 display: flex;
 padding: 20px 0;
 width: 100%;
 position: relative;
}
#contact .icon_triangle01::before{
 top: 24px;
 color: #00A0E9;
}
.formlist01 .formlist_tit{
 width: 26%;
 font-weight: bold;
 margin-bottom: 3px;
 padding-left: 20px;
 box-sizing: border-box;
}
.formlist01 .formlist_txt{
 width: 74%;
}
.formlist01 .formlist_tit span.hissu{
 font-size: 0.7em;
 color: #fff;
 display: inline-block;
 background-color: #00A0E9;
 background-color: #1D2088;
 padding: 0px 9px;
 border-radius: 2px;
 margin-left: 13px;
}
input,textarea{
	font-size:1.6rem;
}
#company,
#name,
#telefon
{
	width:60%;
	border:solid 1px #999;
	padding:9px 7px;
	}
#ad,
#Email,
#Inquiry{
	width:90%;
	border:solid 1px #999;
	padding:9px 7px;
	}
/*form placeholdeのfontcolor*/
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder{
 color: #808080;
 font-size:15px;
}
input:-moz-placeholder,
textarea:-moz-placeholder{
 color: #808080;
 font-size:15px;
}

/*submit*/
.form_b {
text-align: center;
font-size: 0.65rem;
}
form input[type=submit] {
 background: none;
 background-color: #1D2088;
 border: none;
 color: #fff;
 font-size: 1.3em;
 letter-spacing: 1.2px;
 width: 21%;
 height: 58px;
 border-radius: 2px;
 cursor: pointer;
 display: block;
 margin: 30px 45% 0;
}
form input[type=submit]:hover{
 opacity: 0.6;
 transition: all 0.3s;
}




/* policy
-----------------------------------------------------------------*/
.policy001{
 padding-bottom: 35px;
}
.policy002{
 padding-bottom: 20px;
}
.policy002 h2{
 font-weight: bold;
}
.policy_sign{
 text-align: right;
 margin-bottom: 10px;
}


/*レスポンシブ
------------------------------------*/ 
@media screen and (max-width:700px){
 
    
/* header
------------------------------------------------*/
.nav_btn{
  display: none;
 }
.topmenu h1 a img{
    display: block;
    width: 90%;
    margin: 0 auto;
    margin-top: 9vw;
}

/* home
------------------------------------------------*/ 
main .slider{
 display: none;  
}
main .slider_sp{
 display: block;
 padding-top:95px;/*戻るボタンの高さ分あけてます*/
 width:100%;/* スライダーの幅を指定*/
 list-style:none;  
}
    
.slick-arrow{ z-index:100; }
.slick-next{ right:10px;}/*内側に右から10ピクセル移動*/
.slick-prev{ left:10px; }/*内側に左から10ピクセル移動*/
    
main .slider_sp img{
    width:100%
}

.news{
  display: none;        
}
.news_sp{
 display: block;
 margin-top: 10vw;
}
.news_txt02{
  padding: 7px;     
    }
.home_con_top{
  display: block;
  position: static;
}

.home_contents01{
 margin-top: 25px;
}
.home_con_top_txt{
 width: 100%;
 padding: 5%;
 margin-top: 5vw;
 margin-bottom: 5vw;
}
.home_con_ttl{
 margin-top: 0;
 position: static;
 width: 100%;
 padding: 4%;
}
.home_con_top h2{
 font-size: 2.2rem;
 font-weight: 400;
 line-height: 1.3;
 margin-bottom: 3%;
}

.home_con_top_btn{
 margin-top: 15vw;
 display: block;
}
.home_con_btn01,
.home_con_btn02{
 width: 70%;
 min-height: 55px;
 margin-left: 12%;
 margin-top: 5vw;
 margin-bottom: 5vw;
}
.home_con_btn01 a,
.home_con_btn02 a{
 display: block;
}
.home_con_photo{
 width: 90%;
}
.sp{
 display: none
}




/*ご契約までの流れ*/
.home_contents02{
 background-color: #EFEFEF;
}

.home_contents02 h2,
.home_contents03 h2{
 font-size: 2.2rem;
}
.flow_ill{
 display: block;
}

.flow_ill .flow_box{
 border: 1px solid #00A0E9;
 background-color: #fff;
 width: 70%;
 min-height: 265px;
 padding: 10px 1.5% 18px;
 box-sizing: border-box;
 box-shadow: 10px 10px #00A0E9;
 margin:0 auto;
 margin-bottom: 5vw;
}
.flow_arrow{
 display: none;
}
.home_contents02_p02{
 width:90%;
 font-size: 2.3rem;
 font-weight: 400;
 margin: 0 auto;
}


/*service*/
.lower_tit01 h3{
 font-size: 2.0rem;
}

/*news*/    
    
.type01{
font-size:0.2rem;
}
.home_contents03 ul li{
 display: block;
}
.home_contents03 ul .top_news_txt01{
 width: 100%;
}


/*contact*/       
.tel01 a{
 font-size:2.2rem;
 color: #555;
}
    .h3_icon{
        
    }
    


/* menu　下に固定
------------------------------------------------*/
.footer_icon{
 display: inline;
 padding-bottom: 15px;
}
.layer{
 position: fixed;
 top: 0;
 z-index: 1;
 display: none;
 width: 100%;
 height: 100%;
 background-color: transparent;
}
.footer_nav{
 position:fixed;
 z-index: 999;
 bottom:0px;
 left:0px;
 background-color:#00A0E9;
 text-align:center;
 width:100%;
 padding-top: 10px;
}
.footer_nav_inner{
 width:100%;
 margin:0 auto;
}
.footer_nav01,.footer_nav02,.footer_nav03,.footer_nav04 {
 line-height: 1.6;
 display:inline-block;
 width:22%;
}


#slide_menu{
 position: fixed;
 top: 90px;
 left: -240px;
 width: 240px;
 height: 100%;
 background: #00A0E9;
 color:#fff;
}
#slide_menu a{
 color:#fff;
 text-align: left;
 font-size:14px;
 display:block;
 padding: 19px 0 17px 6%;
 border-bottom:1px solid #1D2088;
}
#slide_menu a::before{
 content: '≫ ';
 display: inline-block;
 margin-right: 6px;
 vertical-align: top;
}
#slide_menu a#closemenu{
 text-align: center;
 padding-left: 0px;
 border-bottom: none;
}
#slide_menu a#closemenu::before{
 content: '';
}
button#button{
 line-height: 1.6;
 background-color: transparent;
 border: none;
 cursor: pointer;
 outline: none;
 appearance: none;
}

/* footer_contact_area
------------------------------------*/
.footer_contact_tel{
 width: 90%;
 margin: 0 auto;
}
.footer_contact_inner{
 display: block;
}
.footer_contact_teltxt01{
 font-size: 1.2rem;
 text-align: center;
}
.footer_contact_telnum{
 font-size: 2.2rem;
}
.footer_contact_telnum::before{
 display: none;
}
.footer_contact_teltxt02{
 font-size: 1.2rem;
 padding-top: 5vw;
 line-height: 1.3;
 text-align: center;
}
.footer_contact_mailbtn{
 width: 90%;
 margin: 0 auto;
 margin-top: 5vw;
}
.footer_contact_mailbtntxt02{
 font-size: 2.2rem;
}



/* footer
------------------------------------------------*/
.footer01_inner ul{
 display: block;
}
.footer01_inner ul li{
 font-size: 1.4rem;
 margin: 0;
}
.footer01_inner ul .closemenu{
 display: block;
}
footer{
 margin-bottom: 52px;
}
 .footer02_inner{
 font-size: 1.0rem;
 display: block;
}
 .footer02{
  border: none;
 }
.footer_office{
 font-size: 2.0rem;
}
 .footer_postcode{
  display: block;
 }
}


