@charset "UTF-8";

*{
    margin: 0;
    padding: 0;
    line-height: 1;
    /* 各ブラウザが持っている外部、余白、行間を初期化する */
    box-sizing: border-box;
    /* 幅を指定した要素（タグ）にborder、paddingを設定した際に要素が広がってしまうことを防ぐため */      
}

body {
    font-family: "Zen Kaku Gothic Antique", sans-serif;
    /*   ここまでフォントファミリー  各OSに適したフォントを用意しておく*/
    /* "Helvetica Neue" macのsafariの英語、Arial mac windowの英語  "Hiragino Kaku Gothic ProN"はmacの日本語、"Hiragino Sans"は前の文字がなかった場合、Meiryoはwindowの日本語 */
    color: #555;
    /* サイト全体の文字色を定義しておく */
}

ul {
    list-style: none;
    /*   liの装飾を削除する  */
}

a {
    text-decoration: none;
    /*   aタグの初期設定。aタグはでデフォルトで持っている下線を消しておく */
}

img{
    max-width: 100%;
    /* 親要素の大きさ以上大きくならず、かつ、自身の原寸大以上に大きくならない */
    vertical-align: bottom;
    /* imgは、文字と同等扱いなので、必ず下部に余白（デセンダー）が出来てしまうのを防ぐ。他の防ぐ方法としてインライン要素をブロック要素に変える方法もあり */
}

/*-----------------------------------------
    pc max- setting   
-----------------------------------------*/

.container {
    max-width: 960px;
    margin: 0 auto;
    padding: 0 10px;
}
/*PCの情報コンテンツの最大幅の設定 ------ 各パーツでこのCSSを再利用（マルチクラス）、または流用*/

/*-----------------------------------------
    header setting
------------------------------------------*/

header .header_inner {
  display: flex;
  height: 120px;
  align-items: center;
  justify-content: space-between;
  z-index: 100000;
}

header h1{
    font-size: 30px;
    padding-bottom: 10px;
    font-family: "Shippori Mincho B1", serif;
}

header p{
    font-size: 14px;
}
.menu{
  display: none;
}
/*-----------------------------------------
    nav_menu setting
------------------------------------------*/

nav ul {
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */   
}

nav li{
    border-left: 1px solid #aaa;
    /* 右の枠線の設定 */
}

nav li:last-of-type {
    border-right: 1px solid #aaa;
    /* 最後のliの左の枠線の設定 */
}

nav li a {
  color:#01881e ;
    display: block;
    padding: 0 25px;
    line-height: 50px;
    /* aの高さを50pxに取得 */
    transition: 0.5s; 
}

nav li a:hover {
    color: #fff;
    background-color: #01881e;
}

/*-----------------------------------------
    main_image setting
------------------------------------------*/

.main_image{
    width: 100%;
/*     
    background-image: url(../img/main.jpg);
    background-repeat: no-repeat;
    background-size: cover; */
    height: 450px;
    margin-bottom: 60px;;
}
    .bxslider li{
    width: 100%;
      height: 450px;
    >img{
      object-fit: cover;
      width: 100%;
      height: 100%;
    }
  }


/*-----------------------------------------
content slogan
------------------------------------------*/
.slogan{
    text-align: center;
    margin-bottom: 100px;
  /* 次のブロックの下側の余白の設定 */
}

.slogan h2{
    font-size: 24px;
    margin-bottom: 30px;
}

.slogan p{
    line-height: 2;
/* 行間設定 */
}

/*-----------------------------------------
    .business（事業内容） setting
------------------------------------------*/

.business{
    margin-bottom: 100px;
}

.business ul{
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */
    justify-content: space-between;
    /*  水平方向の揃えのオプション ( 両端揃い )*/
}

.business li{
    width: 30%;/* w30p */
    /* 幅30%取得 */
}

.business h3{
    background-color: #01881e;
    padding: 10px 8px; 
    font-size: 20px;  
    color: #fff;
    margin-bottom: 10px; 
}

.business .photo{
    margin-bottom: 5px;
}

.business .text{
    line-height: 1.7;
    /* 一番読みやすい行間は、line-heightの、1.5～2の間とされてる */
    letter-spacing: 0.05em;
    /* 一番読みやすい文字間は、letter-spacingの、0.05em～0.08emの間とされてる */
    padding: 8px 0;
    /* 内側の余白の調整 */
}

/*-----------------------------------------
    .consultation（開業の相談） setting
------------------------------------------*/
.consultation{
    margin-bottom: 100px;
    /* 次の下のブロックに余白を設定 */
}

.consultation h3{
    background-color: #01881e;
    padding: 10px 8px; 
    font-size: 20px;  
    color: #fff;  
    margin-bottom: 15px;  
}

.consultation h4{
    font-size: 18px;  
    margin-bottom: 15px;
    font-weight: bold;
    text-decoration: underline #01881e;
    text-underline-offset: 5PX;
}

.consultation .consultation_item{
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */
    justify-content: space-between;
    /*  水平方向の揃えのオプション ( 両端揃い )*/
    margin-bottom: 50px;
     /* 次の下のブロックに余白を設定 */
}

.consultation .consultation_item .consultation_photo{
    width: 30%;
    /* 幅の取得 30%*/
}
.consultation .consultation_item .consultation_text{
    width: 65%;
    /* 幅の取得 65% */  
}
.consultation .consultation_item .consultation_text p{
    line-height: 1.7;
    /* 一番読みやすい行間は、line-heightの、1.5～2の間とされてる */    
    letter-spacing: 0.05em;
    /* 一番読みやすい文字間は、letter-spacingの、0.05em～0.08emの間とされてる ただし、教科書も含めて多少のデータの前後あり*/
}

/*-----------------------------------------
    .map_area and info （基本情報）setting
------------------------------------------*/

.map_area{ 
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */        
    justify-content: space-between;
    /*  水平方向の揃えのオプション ( 両端揃い )*/        
    margin-bottom: 100px;
     /* 次の下のブロックに余白を設定 */
}

.map_area h3{
    background-color: rgb(1, 136, 19);
    padding: 10px 8px;  
    color: #fff;
    font-size: 20px;  
    margin-bottom: 15px;  
} 
.map_area .info{
    width: 40%;
    /* 幅の取得 40% */
}

.map_area .map{
    width: 50%;
    /* 幅の取得 50% */
}

.map_area .info dl{
    display: flex;
    /* 子要素、水平方向の揃えの親要素設定  */      
    flex-wrap: wrap;
    /* 親要素から溢れ出る場合には、折り返す */
    gap: 30px 0;
    /* 教科書にはないが、flexboxで小供要素間の余白を作るプロパティ */
}
.map_area .info dt{
    width: 30%;
    /* 幅の取得 30% */
    padding-left: 5px;
    font-weight: bold;
}
.map_area .info dd{
    width: 70%;
    /* 幅の取得 70% */
}

.map_area iframe{
    width: 100%;
    height: 300px;
}


/*-----------------------------------------
    footer setting
------------------------------------------*/

footer{
    background-color: #01881e;
}
.footer_inner p{
    text-align: right;
    padding: 60px 0;
}
.footer_inner small{
    color: #fff;
}
@media (max-width:768px){
  header .header_inner {
    width: 100%;
    height: auto;
    display: block;
    position: fixed;
    top: 0;
    padding: 0;
  }
  header .logo{ 
    background-color: #fff;
    padding: 20px 10px 10px;
    text-align: left;
    z-index: 10;
  }
  header h1{
    font-size: 20px;
    padding-bottom: 10px;
  }
  header p{
    font-size: 10px;
  }
  #burger{
    width: 44px;
    height: 44px;
    position: fixed;
    top: 30px;
    right: 10px;
    cursor: pointer;
  }
  .menu{
    display: block;
    margin-top: 10px;
  }
  #burger span{
    position: absolute;
    width: 80%;
    height: 4px;
    border-radius: 2px;
    background-color: #01881e;
    transition: .3s;
  }
  #burger span:first-of-type{
    top: 10px;
  }
  #burger span:last-of-type{
    top: -10px;
  }
  #burger.click span:first-of-type{
    top: 0;
  }
  #burger.click span:last-of-type{
    top: 0;
  }
  nav{
    position: fixed;
    width: 100%;
    top: -100%;
    background-color: #01881e;
    transition: .5s;
    padding-top: 70px;
    z-index: -1;
  }
  nav.drawer{
    top: 0;
  }
  nav ul {
    display: block ;
  }
  nav li{
    border-bottom: 1px solid #aaa;
    border-left: none;
  }
  nav li:last-of-type {
    border: none;
  }
  nav li a {
    text-align: center;
    color: #fff;
    padding: 10px;
  }
  main{
    padding: 0 20px;
  }
  .main_image{
    background-position: center;
  }
  .slogan{
    margin-bottom: 80px;
  }
  .slogan p{
    text-align: left;
  }
  .pc{
    display: none;
  }
  .slogan h2{
    font-size: 20px;
  }
  .business{
    margin-bottom: 10px;
  }
  .business ul{
    display: block;
  }
  .business li{
    width: auto;
    margin-bottom: 40px;
  }
  .consultation .consultation_item{
    display: block;
  }
  .consultation .consultation_item .consultation_photo{
    width: auto;
    /* 幅の取得 */
    margin-bottom: 15px;
  }
  .consultation .consultation_item .consultation_text{
    width: auto;
    /* 幅の取得 */  
  }
  .map_area{ 
    display: block;
    /* 子要素、水平方向の揃えの親要素設定  */        
    /* justify-content: space-between; */
    /*  水平方向の揃えのオプション ( 両端揃い )*/        
    /* margin-bottom: 100px; */
     /* 次の下のブロックに余白を設定 */
  }
  .map_area .info{
    width: auto;
    margin-bottom: 50px;
    /* 幅の取得 */
  }
  .map_area .map{
    width: auto;
    /* 幅の取得 */
  }
  .footer_inner p{
    text-align: center;
    /* padding: 60px 0; */
  }
}

