@charset "utf-8";
/* --------------------------------------
    news style
 -------------------------------------- */
/* --------------------------------------
    一覧・詳細 共通
 -------------------------------------- */
.news-row {
	display: flex;
	flex-wrap: wrap;
}
.col-news {
    width: 75%;
    order: 1;
}
.col-newslist {
    width: 25%;
    order: 2;
    padding-top: 50px;
}
@media (max-width: 767px) {
    .col-news {
        width: 100%;
        order: 1;
    }
    .col-newslist {
        width: 100%;
        order: 2;
        padding: 0 10px;
    }
}


/* --------------------------------------
   詳細
 -------------------------------------- */
.box-newsdetail {
    border-bottom: 1px solid rgba(0,0,0,0.15);
}
.box-newsdetail .ttl-newsdetail  {
	letter-spacing: 0;
	margin-bottom: 20px;
    border-bottom: 1px solid rgba(0,0,0,0.15);
}
.box-newsdetail .ttl-newsdetail .ttl-txt {
	padding-bottom: 20px;
	font-size:  22px;
	font-weight: bold;
	line-height: 1.5;
	text-align: left;
}

@media (max-width: 767px){
	.box-newsdetail .sbox-newsdetail,
	.ttl-newsdetail {
		padding-left: 0;
		padding-right: 0;
	}
}

@media (max-width: 480px){
	.ttl-newsdetail {
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
}

/* リッチテキストエディタ用 -------------------- */
.box-newsdetail .sbox-newsdetail {
	padding-bottom: 30px;
	text-align: left;
}
.box-newsdetail .sbox-newsdetail img {
    max-width: 100%;
    width: inherit;
    height: auto !important;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.box-newsdetail .sbox-newsdetail p ,
.box-newsdetail .sbox-newsdetail ul ,
.box-newsdetail .sbox-newsdetail ol {
	margin-bottom: 20px;
}
.box-newsdetail .sbox-newsdetail p:nth-last-child(1) {
	margin-bottom: 0;
}
.box-newsdetail .sbox-newsdetail b,
.box-newsdetail .sbox-newsdetail strong {
	font-weight: bold;
}
.box-newsdetail .sbox-newsdetail em {
    font-style: italic;
}
.box-newsdetail .sbox-newsdetail a {
	color: #00aecb;
	text-decoration: underline;
}
.box-newsdetail .sbox-newsdetail a:hover {
    text-decoration: none;
}
.box-newsdetail .sbox-newsdetail ul {
    list-style-type: disc;
    padding-left: 30px;
}
.box-newsdetail .sbox-newsdetail ol {
    list-style-type: decimal;
    padding-left: 30px;
}
.box-newsdetail .sbox-newsdetail li {
    list-style-type: inherit;
}
.box-newsdetail .sbox-newsdetail sup {
    vertical-align: super;
    font-size: smaller;
}
.box-newsdetail .sbox-newsdetail sub {
    vertical-align: sub;
    font-size: smaller;
}
.box-newsdetail .sbox-newsdetail blockquote {
    background-color: #efefef;
}
.box-newsdetail .sbox-newsdetail table {
    border-collapse:  collapse;
}
.box-newsdetail .sbox-newsdetail th ,
.box-newsdetail .sbox-newsdetail td {
    border: solid 1px #efefef;
}
.box-newsdetail .sbox-newsdetail video {
    width: 100%;
    height: auto;
    max-height: 90vh;
    background-color: #f0f0f0;
}
.box-newsdetail .sbox-newsdetail .player{
position:relative;
height:0;
padding-bottom:56.25%;
overflow: hidden;
}
.box-newsdetail .sbox-newsdetail .player iframe{
position:absolute;
width:100%;
height:100%;
top:0;
left:0;
}

@media (max-width: 480px){
	.box-newsdetail .sbox-newsdetail p ,
    .box-newsdetail .sbox-newsdetail ul ,
    .box-newsdetail .sbox-newsdetail ol {
		margin-bottom: 15px;
	}
}


/* --------------------------------------
   side
 -------------------------------------- */
/* side 共通 -------------------- */
.snav-box {
    width: 100%;
}
.snav-box#r-cate {
	padding-bottom: 40px;
}
.snav-box .rside-title {
    color: #00aecb;
    font-size: 25px;
    font-weight: 700;
    text-align: left;
    letter-spacing: 0.01em;
    border-bottom: 1px solid #00aecb;
}
.news-dc .snav-box .rside-title {
    color: #e60000;
    border-bottom: 1px solid #e60000;
}
.news-jcb .snav-box .rside-title {
    color: #035bb9;
    border-bottom: 1px solid #035bb9;
}

.snav-box .nav-list > li {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.snav-box .nav-list > li a {
    display: block;
	position: relative;
	padding: 10px 30px 10px 20px;
	text-align: left;
}
.snav-box .nav-list > li a::before {
    content: "";
    width: 7px;
    height: 8px;
    background-color: #00aecb;
    transform: translate(-50%,-50%);
    position: absolute;
    right: 10px;
    top: 50%;
    transition: all .3s ease-out;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.news-dc .snav-box .nav-list > li a::before {
    background-color: #e60000;	
}
.news-jcb .snav-box .nav-list > li a::before {
    background-color: #035bb9;	
}

.snav-box .nav-list > li a:hover {
	background-color: rgba(0,0,0,0.05);
}
.snav-box .nav-list > li a:hover::before {
    right: 2px;
}
.snav-box .nav-list > li a > span {
    transition: all .3s ease-out;
}

/* side_新着情報 -------------------- */
#r-latest .nav-list .r-latestpost a .t-date {
    display: inline-block;
	color: #999;
	padding-right: 10px;
}
#r-latest .nav-list .r-latestpost a .t-cat {
	display: inline-block;
}
#r-latest .nav-list .r-latestpost a .rtxt-latestpost {
    transition: all .3s ease-out;
}

/* side_アーカイブ -------------------- */
.list-archive > .acv_Y,
.list-archive .arc_month .acv_M {
	border-bottom: 1px solid rgba(0,0,0,0.1);
}
.list-archive > .acv_Y > a {
	display: block;
    position: relative;
	padding: 10px 30px 10px 20px;
	text-align: left;
}

.list-archive > .acv_Y > a::before,
.list-archive > .acv_Y > a:after {
    content: "";
    display: block;
    width: 11px;
    height: 1px;
    background-color: #00aecb;
    position: absolute;
    right: 12px;
    top: 50%;
    transition: all .2s linear;
}
.news-dc .list-archive > .acv_Y > a::before,
.news-dc .list-archive > .acv_Y > a:after {
    background-color: #e60000;
}
.news-jcb .list-archive > .acv_Y > a::before,
.news-jcb .list-archive > .acv_Y > a:after {
    background-color: #035bb9;
}

.list-archive > .acv_Y > a.open::before {
    transform: rotate(90deg);
    transform-origin: center;
}
.list-archive .arc_month .acv_M > a {
    padding-left: 40px;
}


/* -------------------------------------- 
    pager
 -------------------------------------- */
.pager {
	padding: 30px 50px;
}
.pager ul {
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.pager ul li {
    line-height: 0;
}
.pager .nav-current {
	text-align: center;
    padding: 0 40px;
}

.pager .btn-box {
	display: inline-block;
    width: 60px;
	height: 60px;
	position: relative;
}
/*リンクがない時*/
.pager .nav-pre > span,
.pager .nav-next > span {
	opacity: 0.1;
}

/*詳細ページnav-backlist*/
.pager .nav-backlist a {
    display: flex;
    width: fit-content;
    gap: 10px;
	text-align: left;
    line-height: 60px;
}

/*i*/
.pager i {
    display: block;
	width: 100%;
	height: 100%;
	background: #00aecb;
	border-radius: 999999px;
}
.news-dc .pager i {
	background: #e60000;
}
.news-jcb .pager i {
	background: #035bb9;
}

.pager .nav-pre i::before,
.pager .nav-backlist i::before, 
.pager .nav-next i::before {
	content:"";
	position: absolute;
	top: 50%;
	display: block;
	width: 9px;
	height: 10px;
	background-color: #fff;
}
.pager .nav-pre i:before,
.pager .nav-backlist i:before {
	left: 50%;
	clip-path: polygon(0 50%, 100% 0, 100% 100%);
	transform: translate(-50%,-50%);
}
.pager .nav-next i:before {
	left: 50%;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	transform: translate(-50%,-50%);
}
.pager .nav-pre a:hover i:before,
.pager .nav-backlist a:hover i:before {
	animation: move-left-anim .65s ease 0s 1 forwards;
}
.pager .nav-next a:hover i:before {
	animation: move-right-anim .65s ease 0s 1 forwards;
}
@keyframes move-left-anim {
	0%{transform: translate(-50%,-50%); opacity:1;}
	50%{transform: translate(-100%,-50%); opacity:0;}
	50.1%{transform: translate(0%,-50%); opacity:0;}
	100%{transform: translate(-50%,-50%); opacity:1;}
}
@keyframes move-right-anim {
	0%{transform: translate(-50%,-50%); opacity:1;}
	50%{transform: translate(0%,-50%); opacity:0;}
	50.1%{transform: translate(-100%,-50%); opacity:0;}
	100%{transform: translate(-50%,-50%); opacity:1;}
}

@media (max-width: 767px) {
	.pager {
		padding: 30px 10px;
	}
}

