@charset "utf-8";

/*---------------------------------------------------------------------------------
センター紹介　サイドナビ
--------------------------------------------------------------------------------- */
.re-wrapper {
position: relative;
width: 100%;
margin: 0 auto;
}
.re-wrapper-inner {
position: relative;
width: 1280px;
margin: 0 auto;
display: flex;
justify-content: space-between;
}
#re-contents-wrapper {
width: 920px;
position: relative;
}
.re-sidebar {
position: relative;
width: 300px;
left: 0;
z-index: 99;
}
.widget + .widget {
  margin-top: 20px;
}
.dummy {
  margin-top: 565px;
}
.widget--sticky {
position: sticky!important;
top: 100px;
background-color: #F8F8F8;
width: calc(100% - 48px );
margin: 0 0 10px 0;
padding: 20px 24px 8px 24px;
border-radius: 10px;
}
/* タイトル */
.re-sidebar h3{
margin: 0 0 20px 0;
padding: 0 0 16px 6px;
border-bottom: 1px solid #D9D9D9;
font-weight:400;
-webkit-font-smoothing: antialiased;
}
.re-sidebar h3 a{
color: #222;
font-size: 20px;
display: block;
}
.re-sidebar h3 a:hover{
color: #0292DD;
}
.re-sidebar h3 a::before{
position:relative;
top: 2px;
left: 0;
content:"";
display:inline-block;
padding-right: 9px;
width:18px;
height:18px;
background:url("../images/center/sidenav_titlearrow.svg") no-repeat;
background-size:contain;
transition: all 0.5s;
}
.re-sidebar h3 a:hover::before{
left: 4px;
}
/* リスト */
.re-sidebar ul{
}
.re-sidebar ul li{
padding: 0;
margin: 0 0 16px 29px;
text-indent: -21px;
line-height: 1.4;
}
.re-sidebar ul li a{
font-size: 16px;
color: #222;
display: block;
}
.re-sidebar ul li a:hover{
color: #0292DD;
}
.re-sidebar ul li a::before {
position:relative;
top: -1px;
left: -1px;
content:"";
display:inline-block;
padding-right: 9px;
width:12px;
height:12px;
background:url("../images/center/sidenav_arrow.svg") no-repeat;
background-size:contain;
transition: all 0.5s;
}
.re-sidebar ul li a:hover::before{
left: 4px;
}

.re-sidebar ul li a.current{
color: #0292DD;
}
.re-sidebar ul li a.current::before {
position:relative;
top: -2px;
left: 1px;
content:"";
display: inline-block;
padding-right: 0;
margin-right: 11px;
width: 8px;
height: 8px;
border-radius: 50vh;
transition: all 0.5s;
background:none;
background-size: 100%;
background-color: #0292DD;
}

/* アコーディオン */
.sidenav-content {
display: none;
padding: 0;
margin: 0 0 0 26px;
}
li.sidenav-open,
li.sidenav-open-current{
padding: 0 2em 0 0!important;
}
.sidenav-open{
position: relative;
cursor: pointer;
cursor: hand;
}
.sidenav-open::before{/* 閉じている時 */
position: absolute;
right: 0;
top: 0;
content:"";
display:inline-block;
width:18px;
height:18px;
background:url("../images/center/sidenav_plus.svg") no-repeat;
background-size:contain;
}
.sidenav-open.active::before{/* 開いている時 */
background:url("../images/center/sidenav_minus.svg") no-repeat;
}


/* ************************************************ 
*   レスポンシブ
* ************************************************ */
/* PC 画面の横幅が960px以上 */
@media only screen and (min-width: 960px){

}

/* Tablet (Portrait) 画面の横幅が768px〜959pxまで */
@media only screen and (min-width: 768px) and (max-width: 959px) {
.re-wrapper-inner {
width: 90%;
margin: auto;
}
#re-contents-wrapper { width: 70%; }
.re-sidebar { width: 25%; }
.widget--sticky {
width: calc(100% - 10px);
padding: 20px 5px;
}
.re-sidebar ul li a { font-size: 13px;}
.re-sidebar ul li a::before {
top: -1px;
left: -1px;
padding-right: 0;
width: 10px;
height: 10px;
}
}

/* Mobile (Portrait) 画面の横幅が767pxまで */
@media only screen and (max-width: 767px) {
.re-wrapper { margin: 23px 0 0 0; }
.re-wrapper-inner {
width: 100%;
display: block;
}
.re-sidebar {
width: 100%;
margin: 0;
}
.re-sidebar h3 a{
font-size: 5vw;
}
.re-sidebar ul li a{
font-size: 4.5vw;
}
.re-sidebar ul li a::before {
top: 0;
left: -1px;
}
.widget--sticky {
position: relative!important;
top: 0;
border-top: 1px solid #D9D9D9;
width: calc(100% - 36px);
padding: 20px 18px 8px 18px;
margin: 0 0 0 0;
border-radius: 0;
}

#re-contents-wrapper {
width: 100%;
}


}