@charset "UTF-8";
/* CSS Document */
* {
margin:0px;
padding:0px;
font-family: "Hiragino Sans";
}

img {
    width:inherit\9;
    max-width:100%\9;
    height:auto;
}

html {
overflow: auto;
width:100%;
background-color: #c6c7c7;
background-image:
   linear-gradient(#fff 98%, transparent 98%,transparent 100%);
   background-size: 23px 23px;
}


.anchor {
display: block;
padding-top: 150px;
margin-top: -150px;
}

.br_pc {
display: block;
}
.br_sp {
display: none;
}

ul,
div,
img {
  margin: 0px;
  padding: 0px;
  list-style: none;
  font-weight: normal;
}

main h2{
width: 100vw;
height: 100px;
background-repeat: no-repeat;
background-position: center center;
background-size: 100%;
text-indent: 300%;
white-space: nowrap;
overflow: hidden;
margin-top: 140px;
}

/* 本文をメニューの高さ分下げる */
#main {
  margin-top: 60px;
}

#navi {
  background-color:hsla(0,0%,95%,0.85);
  position: fixed;
  top: 0;
  left: 0;
  height: 100px;
  width: 100%;
  z-index: 11;
  box-shadow: 0px 6px 6px 0 rgba(0, 0, 0, .2);
}
/* チェックボックスを非表示 */
#navi input {
  display: none;
}
/* 左上ロゴ */
/*令和６年３月以降元に戻す
.menu-left {
float: left;
display: block;
width: 300px;
position: relative;
top: 30px;
left: 30px;
}
*/

header{
  background-color:hsla(0,0%,95%,0.85);
  position: fixed;
  top: 0;
  left: 0;
  height: 100px;
  width: 100%;
  z-index: 11;
  box-shadow: 0px 6px 6px 0 rgba(0, 0, 0, .2);
}
header .menu-left {
float: left;
display: block;
width: 244px;
height: 80px;
position: relative;
top: 8px;
left: 20px;
background-image: url("../image/pc/logo_pc.png");
background-repeat: no-repeat;
background-position: center;
background-size: 100%;
text-decoration: none;
text-indent: 300%;
white-space: nowrap;
overflow: hidden;
z-index: 12;
}
header .logo_side {
float: left;
display: block;
width: 244px;
height: 80px;
position: relative;
top: 8px;
left: 10px;
background-image: url("../image/pc/logo_pc_side.png");
background-repeat: no-repeat;
background-position: center;
background-size: 100%;
text-decoration: none;
z-index: 12;
}

#navi .menu li{
display: block;
float: left;
padding: 0;
margin: 0 15px 0 0 ;
height: 32px;
}
#navi .menu .nn01{
width: 94px;
}
#navi .menu .nn02{
width: 120px;
padding-top: 2px;
}
#navi .menu .nn03{
width: 154px;
padding-top: 2px;
}
#navi .menu .nn04{
width: 174px;
padding-top: 2px;
}
#navi .menu .nn05{
width: 156px;
padding-top: 2px;
}
#navi .menu li:hover{
opacity: 0.5;
}





.sp_login{
display: none;
}


/* 上部メニュー */
.menu {
position: absolute;
right: 0;
float: right;
padding-left: 60px;
padding-top: 25px;
}
.menu li a:hover{
color: #00a9ba; 
animation-name: fade_color;
animation-duration: 0.5s;
}
@keyframes fade_color{0%{color: #333;}100%{color: #00a9ba;}}

.sponly{
display: none;
}


.menu-parent {
  float: left;
  margin-right: 30px;
  line-height: 60px;
  font-size: 17px;
  font-weight: 400;
  white-space: nowrap;
  color: #333;
  padding-right: 40px;
   position: relative;
}
.menu-parent a{
  color: #333;
  font-weight: 400;
  text-decoration: none;
}
/* パソコンでは V を非表示 */
.menu-parent .pd {
  display: block;
  color: #333;
  text-decoration: none;
}
/* 上部メニューの最後の項目 */
.menu-parent:last-child {
  margin-right: 0px;
}

#menu-navibtn {
  display: none;
  cursor: pointer;
  cursor: hand;
}


/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
@media screen and (max-width: 620px) {
  /* スマホの際に V を表示 */
  .menu-parent .pd {
    width: 100%;
    margin: 0;
  }
  .menu {
    display: none;
    padding-top: 30px;
  }
  .sponly{
display: block;
}
  .menu-parent {
  position: relative;
    height: auto;
    width: 100vw;
    padding: 5px 0px 0px 0px;
    /*border-bottom: 1px dashed #776d69;*/
    border-bottom:none;
    display: block;
    float: left;
    margin: 0px 0px 0px 0px;
    left: 0px;
    text-indent: 15%;
    font-size: 19px;
  }

  /*
  .menu-parent:first-child {
    border-top: 1px solid #DDD;
  }*/
  
  .menu-parent i {
    padding: 0px 6px;
  }
  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
  }

}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/


/* ドロップダウンメニュー */
.menu-parent {
  position: relative;
}
.menu-parent .menu-child {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  margin-top: -15px;
  margin-left: 0px;
  width: auto;
  height: auto;
  box-sizing: border-box;
  padding: 5px 12px;
  background-color: #FFF;
  box-shadow: 0 7px 25px 0 rgba(0, 0, 0, .3);
}
/* パソコン用 */
@media screen and (min-width: 620px) {
  .menu-parent:hover .menu-child {
    visibility: visible;
    opacity: 1;
    animation-name: fade_menu;
animation-duration: 0.4s;
  }
  @keyframes fade_menu{0%{opacity: 0.2;}100%{opacity: 1;}}
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/* スマホ用 */
@media screen and (max-width: 620px) {

#navi {
width: 100%;
height: 75px;
  background-color:hsla(0,0%,100%,0.00);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  box-shadow:none;
}

/* 左上ロゴ */
header .menu-left {
float: left;
display: block;
width: 244px;
height: 80px;
position: relative;
top: 3px;
left: 0px;
background-image: url("../image/sp/logo_sp.png");
background-repeat: no-repeat;
background-position: left top;
background-size:75%;
text-decoration: none;
text-indent: 300%;
white-space: nowrap;
overflow: hidden;
}
header .logo_side{
display: none;
}


.sp_login{
float: left;
display: block;
width: 31%;
height: auto;
position: relative;
top: 0px;
left: 5px;
}

  /* ハンバーガーメニューがクリックされた時 */
  #menu-navibtn:checked ~ * .menu {
    display: block;
    position: relative;
      animation-name: fade;
  animation-duration: 1s;
  /* animation-iteration-count: 1; */
  border-top: none;
  background-color:hsla(0,0%,100%,0.85);
  width: 60%;
  right: 0;
  padding: 20px 10px 40px 20px;
  }
  #menu-navibtn:checked ~ * .menu-parent {
    max-height: inherit;
    overflow-y: visible;
    float: none;
    margin: 0;
    padding: 20px 0px;
  }
  #menu-navibtn:checked ~ * .menu-child {
    max-height: 0;
    overflow-y: hidden;
    visibility: hidden;
  }
  
  @keyframes fade{
  0%{opacity:0;}
  100%{opacity: 1;}
  }
  
  /* 子メニュー */
  .menu-parent .menu-child {
    position: relative;
    padding: 0px 0px 0px 0px;
    box-sizing: border-box;
    background-color:hsla(0,0%,85%,1);
    opacity: 1;
    top: 0px;
    margin-left: 0px;
    left: 0px;
    width: 100vw;
    box-shadow:none;
    margin-bottom: 12px;
  }
  .menu-parent > label:hover {
    cursor: pointer;
    cursor: hand;
  }
.menu-parent .menu-child li {
  font-size: 18px;
  font-weight: bolder;
  /* border-bottom: 1px dashed #776d69; */
  border-bottom:1px dashed #ffffff;
  height: auto;
  line-height: 40px;
  padding: 20px 0px;
}
.menu-parent .menu-child li .m_c_indent{
padding-left: 20%;
line-height: 55px;
}

  /* 子メニューがクリックされた時 */
  #navi input[type="checkbox"]:checked ~ .menu-child {
    max-height: inherit;
    overflow-y: visible;
    visibility: visible;
  }
  .angletoggle:before {
    content: "\f107";
  }
  #navi input[type="checkbox"]:checked ~ * .angletoggle:before {
    content: "\f106";
  }
}
/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/



/* 子メニュー */
.menu-child li {
  font-size: 14px;
  border-bottom: 1px dashed #776d69;
  height: auto;
  line-height: 28px;
  padding: 3px 2px;
}
.menu-child li::before{
  content: "■";
  color: #00a9ba;
  padding-right: 5px;
}
.menu-child li .m_c_indent{
padding-left: 21px;
}
/* 余分な最後の線を消去 */
.menu-child li:last-child {
  border: none;
}
.menu-child li i {
  margin-right: 3px;
}


/* ハンバーガー */
#navi #navibtn {
  display: none;
}
@media screen and (max-width: 620px) {
  #navi #navibtn {
    display: block;
    position: absolute;
    top: 0px;
    right: 0px;
  }
  #navibtn span {
    display: block;
    width: 73px;
    height: 75px;
    background-color:#47bccb;
  }
  
  #navibtn span span {
    display: block;
    overflow: hidden;
    width: 1px;
    height: 1px;
  }
  #navibtn .menuname {
    display: block;
    width: auto;
    height: auto;
    position: relative;
    top:52px;
    color: #f0f0f0;
    font-size: 12px;
    text-align: center;
    font-weight: 600;
  }
  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {
    position: absolute;
    left:12px;
    content:"";
    width: 50px;
    height: 6px;
    background-color: #f0f0f0;
  }
  /* 上の棒 */
  #navibtn span span::before {
    top:14px
    }
   /* 上の棒 ×印　*/
  #menu-navibtn:checked ~ #navi label#navibtn span span::before {
    top:27px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  /* 下の棒 */
  #navibtn span::after {
    bottom:26px;
  }
  /* 下の棒 ×印　*/
  #menu-navibtn:checked ~ #navi label#navibtn > span::after {
    bottom:42px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }
  /* 中の棒 */
  #navibtn span span::after {
    top:29px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::after {
    display: none;
  }
}

.home{
display: block;
position: fixed;
bottom: 15%;
right: 70px;
z-index: 50;
width: 300px;
height: 100px;
background-image: url("../image/pc/home.png");
background-repeat: no-repeat;
background-position: center;
background-size: 100%;
text-decoration: none;
text-indent: 300%;
white-space: nowrap;
overflow: hidden;

}


footer {
clear: both;
width:100%;
padding: 200px 0 80px 0;
margin:0px auto 0px auto;
display: block;
position: relative;
bottom: 0;
overflow: hidden;
}
footer address {
width:100%;
height:auto;
display: inline-block;
margin:50px auto 0px auto;
text-align:center;
font-family: "Hiragino Sans";
font-style: normal;
font-weight: 400;
font-size: 15px;
color: #ffffff;
}

footer address a{
display: block;
text-decoration: none;
}
footer address a:hover{
opacity: 0.6;
}

footer address .f_rogo{
width: 268px;
height: 55px;
display: block;
margin:20px auto;
}

footer address .f_contact{
display: inline-block;
width: 130px;
height: 40px;
padding-top: 20px;
}
footer address .f_tel{
display: inline-block;
width: 130px;
height: 40px;
padding-top: 20px;
}



footer #copyright {
clear: both;
display: block;
width: 100%;
height: 15px;
padding-top: 50px;
padding-bottom:20px;
}
footer #copyright p {
font-size:10pt;
text-align: center;
font-family: "Hiragino Sans";
font-weight: 100;
color:#3D3D3D;
}



/* ============================================== スマートフォン ============================================================================================================================================== */
@media screen and (max-width: 620px) {
html {
overflow:auto;
width:100%;
background-color: #c6c7c7;
background-image:
   linear-gradient(#fff 98%, transparent 98%,transparent 100%);
   background-size: 13px 13px;
}

body {
    width:100%;
min-width: 320px;
    overflow-x: hidden;
}
.br_pc {
display: none;
}
.br_sp {
display: block;
}

header {
width: 100%;
height: 75px;
  background-color:hsla(0,0%,100%,0.00);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  box-shadow:none;
}

header .new_pc_up{
display: none;
}


main h2{
width: 100%;
height: 100px;
background-repeat: no-repeat;
background-position: center center;
background-size: auto 100px;
text-indent: 300%;
white-space: nowrap;
overflow: hidden;
margin-top: 75px;
}




.home{
display: block;
position: fixed;
bottom: 5%;
right: -5%;
z-index: 50;
width: 65%;
height: 13%;
background-image: url("../image/pc/home.png");
background-repeat: no-repeat;
background-position: center;
background-size: 80%;
text-decoration: none;
text-indent: 300%;
white-space: nowrap;
overflow: hidden;
}

.sp_navi{
display: block;
width: 100%;
height: 11.5%;
background-color:hsla(0,0%,89%,0.9);
position: fixed;
bottom: 0px;
right: 0px;
z-index: 49;
}
.sp_navi ul {
width: 100%;
height: 100%;
display: block;
margin: 0px auto;
padding: 0px 0px 0px 0px;
clear: both;
}
.sp_navi ul li{
background-repeat: no-repeat;
background-position: center;
background-size: 100%;
position: relative;
top: 0;
float: left;
padding: 0px 1.2%;
height: 100%;
}
.sp_navi a {
display: block;
text-align: center;
text-decoration: none;
text-indent: 300%;
white-space: nowrap;
overflow: hidden;
height: 75px;
}
.sp_navi .spnavi_01{
background-image:url("../../new_seijoh/images/sp/fn_01.png");
width: 12%;
margin: 0px 5px 0px 2%;
}
.sp_navi .spnavi_02{
background-image:url("../../new_seijoh/images/sp/fn_02.png");
width: 16%;
margin-top: 1px;
}
.sp_navi .spnavi_03{
background-image:url("../../new_seijoh/images/sp/fn_03.png");
width: 12.5%;
}
.sp_navi .spnavi_04{
background-image:url("../../new_seijoh/images/sp/fn_04.png");
width: 13%;
margin-right: 7px;
}
.sp_navi .spnavi_05{
background-image:url("../../new_seijoh/images/sp/fn_05.png");
width: 13%;
}


footer {
clear: both;
width:100%;
margin:0px auto 0px auto;
display: block;
position: relative;
bottom: 0;
overflow: hidden;
padding: 0px 0px 0px 0px;
}

footer #bottomNavi {
display: block;
width: 90%;
margin:0px auto;
}
footer #bottomNavi .bNitem {
width: 90%;
height: auto;
display: block;
float: none;
padding: 0px 5px;
margin: 0px auto;
}
footer #bottomNavi .width130{
width: 90%;
}

footer #bottomNavi .bNitem ul {
margin-top: 0px;
display: block;
}

footer #bottomNavi .bNitem li{
list-style: none;
font-size: 17px;
color: #ffffff;
margin: 0px auto;
padding: 15px 0px;
}
footer #bottomNavi .bNitem ul li ul{
margin-top: -13px;
float: none;
}
footer #bottomNavi .bNitem ul li ul .border{
border-top: 1px hsla(0,0%,100%,0.5) solid;
}
footer #bottomNavi .bNitem ul li ul li{
padding: 8px 0px;
}
footer #bottomNavi .bNitem ul li ul li:last-child{
border-bottom: none;
padding-bottom: 20px;
}

footer address {
width:100%;
height:auto;
display: inline-block;
margin:20px auto 0px auto;
font-weight: 300;
font-size: 15px;
}
footer address a{
display: block;
text-decoration: none;
}
footer address .f_rogo{
width: 60%;
height: 60%;
display: block;
margin:20px auto 10px auto;
}

footer address .f_contact,
footer address .f_tel{
display: inline-block;
width: 40%;
height: 40%;
padding-top: 15px;
}


footer #copyright {
clear: both;
display: block;
width: 100%;
height: auto;
padding-top: 100px;
padding-bottom:0px;
}
footer #copyright p {
font-size:8pt;
text-align: center;
font-family: "Hiragino Sans";
font-weight: 100;
color:#3D3D3D;
}

}