/* ================================================= */
/* new-style all
/* ================================================= */
body{
	margin: 0;
	padding: 0;
	background: #f5efea;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
.wrapper{
	background-color: #fff;
}

@media screen and (max-width: 767px) {
	.wrapper {
		width: 90.67%;
		margin: 30px auto 0 auto;
		padding: 1em 0 0;
		border-radius: 30px;
	}
	.wrapper_second{
		width: 96%;
		margin: 0 auto;
		padding: 1em 0 0;
		border-radius: 30px;
	}
	.sec-mv.cp-dtl{
		width: 90.67%;
		margin: 30px auto 0 auto;
	}
	.dtl_area.new-canpaign{
		width: 90.67%;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (min-width: 768px), print {
	.container{
		width: 100%;
		max-width: 1400px;
		margin: 0 auto;
		padding: 1.5em 0 1.5em 1.5em;
		display: flex;
		flex-grow: 1;
	}
	.main-content{
		flex-grow: 1;
		width: calc(100% - 270px);
		/*min-width: 980px;*/
	}
	.wrapper {
		max-width: 960px;
		margin: 30px auto 0 auto;
		padding: 2.5em 0 1.5em 0;
		border-radius: 30px;
	}
	.wrapper_second{
		padding: 2.5em 0 1.5em 0;
		border-radius: 30px;
	}
}

/* ================================================= */
/* top-1
/* ================================================= */

 .col-hero-section{
    margin-bottom: 2em;
  }
	.top-information img{
		margin-top: 20px;
		margin-left: 0;
	}
	.top-information ul{
		margin: 10px 20px;
		
	}
.flx-top-tagline{
	margin: 2em 0;
	justify-content: space-between;
}
.flx-top-tagline .tagline-txt{
	background: url("../../assets/images/top/top-txt-base.png") no-repeat;
	background-size: contain;
	position: relative;
}
	.flx-top-tagline .tagline-txt em{
		display: block;
		font-weight: bold;
		margin-bottom: 1em;
	}
@media screen and (max-width: 767px) {
  .col-hero-section {
	  width: 100%;
	  margin-left: auto;
	  margin-right: auto;
  }
	.flx-top-tagline{
		padding-bottom: 6em;
	}
	.flx-top-tagline .tagline-txt{
		position: relative;
		width: 260px;
		height: 260px;
	}
	.flx-top-tagline .tagline-txt p{
		position: absolute;
		display: block;
		width: 216px;
		height: 140px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		padding-left: 10px;
		font-size: 3.7vw;
	}
	/*.flx-top-tagline span{
		display: block;
		width: 216px;
		margin: 50px auto 0 auto;
		padding-left: 10px;
	}*/
	.flx-top-tagline em{
		font-size: 20px;
	}
	.flx-top-tagline .tagline-img{
		position: relative;
	}
	.flx-top-tagline .tagline-img p{
		position: absolute;
		display: inline-block;
		width: 200px;
		height: 200px;
		bottom: -5.5em;
		right: 0;
	}
	.top-information{
		display: flex;
		flex-wrap: wrap;
	}
	.top-information .blk-top-info{
		width: 100%;
		order: 2;
		margin-bottom: 2em;
	}
	.top-information .flx-top-tagline{
		width: 100%;
		order: 1;
		margin-top: -1em;
		margin-bottom: 0;
		pading-top: 0;
	}
}
@media screen and (min-width: 768px), print {
	.flxpc-hero-section {
		margin-top: 40px;
		margin-bottom: 40px;
		flex-wrap: wrap;
		align-items: stretch;
		justify-content: space-between;
		min-width: 980px;
	}
  .col-hero-section {
	  width:48%;
  }
  .panel-article-img_top {
	  height: 100%;
  }
  .panel-article-img_top img {
	  object-fit: contain;
	  display: block;
	  width: 100%;
	  max-height: 280px;
   /* max-width: 292px;*/
  }
	.top-information{
		width: 49%;
		height: auto;
		text-align: left;
		min-width: 485px;
	}
	.flx-top-tagline{
		width: 485px;
	}
	.flx-top-tagline .tagline-txt{
		position: relative;
		width: 300px;
		height: 300px;
	}
	.flx-top-tagline .tagline-txt p{
		position: absolute;
		display: inline-block;
		width: 226px;
		height: 140px;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		padding-left: 10px;
	}
	/*.flx-top-tagline span{
		display: block;
		width: 216px;
		margin: 50px auto 0 auto;
		padding-left: 10px;
	}*/
	.flx-top-tagline em{
		font-size: 20px;
	}
	.flx-top-tagline .tagline-img{
		margin-top: 120px;
		margin-left: 10px;
	}
}

/* ================================================= */
/* top-2
/* ================================================= */
.category-section{
	margin-top: 3em;
	margin-bottom: 6em;
}
.category-section h2{
	position: relative;
	padding-top: 1.8em;
		font-weight: normal;
}
.category-section h2::before{
	content:"";
	position: absolute;
	background:url("../../assets/images/top/txt-category.png") no-repeat;
	background-size: contain;
	width: 122px;
	height: 39px;
	top: 0;
}
.category-list{
	margin-top: .5em;
}
.category-list li{
	border-bottom: 1px solid #C4BEBA;
}
.category-list li a{
	display: block;
	padding-top: 1.2em;
	padding-bottom: 1.2em;
	color: #000;
}
.category-list li a span{
	display: block;
	color: #000;
}
.category-list li h3{
	margin-bottom: .4em;
	display: flex;
	justify-content: space-between;
}
.category-list li h3 em.tag{
	display: block;
	margin-left: auto;
	padding: .4em 1em;
	color: #fff;
	border-radius: 40px;
	line-height: 1;
}
.category-list li h3 em.tag.enter{
	background: #D96D9C;
}
.category-list li h3 em.tag.seminar{
	background: #4D75A0;
}
.category-list li h3 em.tag.use{
	background: #158E86;
}
.col-category-list h3 span{
	position: relative;
	padding-right: 22px;
}
.col-category-list h3 span::after{
	content:"";
	background:url("../../../clubnikkei/assets/images/common/pt_external.svg") no-repeat;
	width: 15px;
	height: 15px;
	position: absolute;
	top: .2em;
	right: 0;
}
@media screen and (max-width: 767px) {
	.category-section h2{
		font-size: 3.4vw;
	}
	.category-list li h3{
		font-size: 3.7vw;
	}
	.category-list li h3 em.tag{
		font-size: 3.2vw;
	}
.category-list li:nth-child(1){
	border-top: 1px solid #C4BEBA;
}
}
@media screen and (min-width: 768px), print {
	.category-section{
		margin-top: 40px;
	}
	.flxpc-category-list{
		flex-wrap: wrap;
	}
	.col-category-list{
		width: 48%;
	}
	.col-category-list{
		padding-left: 1em;
		padding-right: 1em;
	}
.category-list li:nth-child(1),
.category-list li:nth-child(2){
	border-top: 1px solid #C4BEBA;
}
.category-list li:nth-child(odd){
	border-right: 1px solid #C4BEBA;
}
}

@media (max-width: 768px) {
    .main-sidebar {
        display: none;
    }
    
    .mobile-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        position: sticky;
        top: 0;
        z-index: 100;
        width: 100%;
        padding: 10px 15px;
        box-sizing: border-box;
        /*background-color: rgb(247, 240, 227);
        border-bottom: 1px solid #ddd;*/
    }

    .mobile-header .sidebar-logo {
        padding: 0;
        margin-right: auto;
        width: 120px;
        height: 35px;
        background-color: transparent; 
    }

    .mobile-header .sidebar-logo-image {
        height: 100%;
        background-position: center left; 
    }

    .header-right-icons {
        display: flex;
        align-items: center;
    }
    
    .mobile-header .login-box {
        padding: 0;
        margin-left: 10px;
        background-color: transparent; 
        border-bottom: none;
    }
    .mobile-header .login-box button {
        padding: 5px 10px;
        font-size: 0.8em;
        width: auto;
    }

    .hamburger-menu-icon {
        display: block;
        width: 30px;
        height: 30px;
        position: relative;
        cursor: pointer;
        margin-left: 15px;
        flex-shrink: 0;
        z-index: 101; 
    }
    .hamburger-menu-icon::before,
    .hamburger-menu-icon::after,
    .hamburger-icon-line {
        content: '';
        display: block;
        width: 100%;
        height: 3px;
        background-color: #333;
        border-radius: 1.5px;
        position: absolute;
        transition: all 0.3s ease;
    }
    .hamburger-menu-icon::before { top: 0; }
    .hamburger-icon-line { top: 50%; transform: translateY(-50%); }
    .hamburger-menu-icon::after { bottom: 0; }

    .mobile-menu-overlay {
        display: none; 
        
        position: fixed;
        top: 55px;
        left: 0;
        width: 100%;
        height: calc(100vh - 55px);
        background-color: #fff;
        z-index: 95;
        overflow-y: scroll;
        padding-bottom: 30px;
    }
    
    .mobile-menu-overlay .sidebar-menu {
        display: block;
        margin: 0;
        border-top: none; 
    }
    
    .menu-open .mobile-menu-overlay {
        display: block; 
    }
    .menu-open .hamburger-menu-icon::before { 
        top: 50%; 
        transform: rotate(45deg); 
    }
    .menu-open .hamburger-icon-line { 
        display: none; 
    }
    .menu-open .hamburger-menu-icon::after { 
        top: 50%; 
        transform: rotate(-45deg); 
    }
    
    .menu-open .hamburger-menu-icon {
        z-index: 1000; 
    }

    body.menu-open {
        overflow: hidden;
    }
}

header, footer, main, nav, article, aside, section {
  display: block;
  box-sizing: border-box;
  word-break: break-word;
}

.footer {
	text-align: center;
}
.flx-footer-link {
	background: #f2f2f2;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.flx-footer-link li {
	margin: 0 1em;
}
.flx-footer-link a {
	color: var(--main-text-color);
}
.nikkei-footer {
	padding: 1em 0;
	background: #0a385b;
	color: #fff;
}
.img-footer-logo {
	display: inline-block;
	vertical-align: middle;
}
.copyright {
	vertical-align: middle;
}
@media screen and (max-width: 767px) {
	.flx-footer-link {
		justify-content: space-between;
	}
	.flx-footer-link li {
		margin: 0;
		width: 50%;
		padding: .6em .2em .5em .2em;
		border-right: 1px solid #e2e2e2;
		border-bottom: 1px solid #e2e2e2;
	}
	.flx-footer-link li:nth-child(2),
	.flx-footer-link li:nth-child(4){
		border-right: none;
	}
	.flx-footer-link li:nth-child(5){
		border-bottom: none;
	}
	.flx-footer-link a {
		font-size: 3.4vw;
		display :block;
	}
	.copyright {
		font-size: 3.2vw;
	}
	.img-footer-logo {
		width: 15.2vw;
		margin-right: .75em;
	}
}
@media screen and (min-width: 768px), print {
	.flx-footer-link {
		padding: 1em 0;
		justify-content: center;
	}
	.flx-footer-link a,
	.copyright {
		font-size: 14px;
	}
	.img-footer-logo {
		width: 69px;
		margin-right: 2.5em;
	}
}