@charset "UTF-8";
/* CSS Document */


body{
	letter-spacing: 1px;
	background: #000;
	color: #fff;
}

img{
	vertical-align:top;
}
*:focus {
  outline: none;
}
a {
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  cursor:pointer;
}

a.disabled{
	pointer-events: none;
	opacity: 0.4;
}
.dpc{
	display: block;
}
.dsp{
	display: none;
}
.mainvisual{
	position: relative;
	text-align: center;
}
.mainvisual h1{
	background: #000;
}

ul.tabList{
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	margin: 0 auto;
	text-align: center;
}
ul.tabList li{
	display: inline-block;
	width: 250px;
	height: 60px;
	line-height: 60px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	border-left: solid 2px #fff;
	font-weight: bold;
	text-align: center;
	font-size: 18px;
	letter-spacing: 2px;
}
ul.tabList li:first-child{
	margin-right: 15px;
}
ul.tabList li a{
	display: block;
	color: #fff;
}
ul.tabList li.current{
	background: #fff;
}

ul.tabList li.current a{
	color: #000;
}
/*

tab01

*/

.cpplus2022 nav .inner{
	max-width: 1160px;
	margin: 0 auto;
	padding: 25px 0;
}

.cpplus2022 .arrow{
	font-weight: bold;
}
.cpplus2022 nav .inner .flex li {
    margin-left: 35px;
}

#contents #tab1 hr.line{
	border: none;
	height: 1px;
	background: #005bac;
	margin: 0;
}
@media screen and (max-width: 768px){
	#contents #tab1 hr.line{
	margin: 30px 0 0 0;	
	}
}

.inner-logo{
width: 350px;
display: block;
margin: 0 auto;
}

section.sec01{
	padding: 30px 0px 15px;
	text-align: center;
}
@media screen and (max-width: 768px){
	section.sec01{
		padding: 0 15px;
	}
}

section.sec01 .inner > p{
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 25px;
}
section.sec01 .inner a{
	display: block;
    width: 420px;
    height: 60px;
    line-height: 60px;
    color: #000;
    border: solid 1px #000;
    margin: 0 auto;
    text-align: center;
    font-weight: bold;
}
section.sec01 .inner .top-btn p {
    position: relative;
}
section.sec01 .inner .top-btn p::after {
    position: absolute;
    content: '';
    display: inline-block;
    background: url(../../img/cpplus2022-online/window_icon.png) no-repeat;
    background-size: contain;
    width: 13px;
    height: 10px;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
}

section.sec02{
	padding: 50px 0 100px;
	background: #000;
}

section.sec02 .inner{
	width: 1080px;
	margin: 0 auto;
	max-width: none;
}
section.sec02 .top .flex{
	justify-content: space-between;
	margin-bottom: 25px;
}
section.sec02 .btm .flex{
	width: 530px;
	justify-content: space-between;
}
section.sec02 .flex > div{
	width: 255px;
}
section.sec02 .flex .contents__inner > a{
	position: relative;
	display: block;
}
section.sec02 .flex .contents__inner > a::before{
	display: inline-block;
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: #000;
	background-size: contain;
	opacity: 0.2;
}
section.sec02 .flex .contents__inner > a::after{
	display: inline-block;
	content: '';
	position: absolute;
	width: 40px;
	height: 30px;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	background: url("../../img/cpplus2022-online/btn_icon.png") no-repeat;
	background-size: contain;
}
section.sec02 .top > .flex:last-of-type{
	margin-bottom: 70px;
}
section.sec02 .top h2::before{
	position: absolute;
	content: '';
	display: inline-block;
	background: #005bac;
	width: 3px;
	height: 35px;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
}
section.sec02 .btm h2::before{
	position: absolute;
	content: '';
	display: inline-block;
	background: #ef8700;
	width: 3px;
	height: 35px;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto 0;
}
section.sec02 h2{
	position: relative;
	font-size: 20px;
	margin-bottom: 30px;
	padding-left: 20px;
}
section.sec02 .note{
	text-align: center;
	margin-bottom: 60px;
	letter-spacing: normal;
}
section.sec02 .day.flex li:first-child{
	border-left: solid 1px #bdbec1;
}
section.sec02 .day.flex li{
	max-width: 290px;
	width: 100%;
	text-align: center;
	padding: 5px 0;
	border-right: solid 1px #bdbec1;
}
section.sec02 p.time{
	font-size: 12px;
	margin: 15px 0 5px;
}

section.sec02 .top.grid-parent{
	margin-bottom: 70px;
}
section.sec02 .grid-parent .bg {
    min-height: 130px;
    position: relative;
    top: -1px;
    background: #333;
    padding: 30px 15px 15px;
}

section.sec02 .grid-parent .ctg{
	font-size: 13px;
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	padding: 0 5px;
	height: 24px;
	line-height: 24px;
	text-align: center;
}

section.sec02 .grid-parent .genre{
	position: absolute;
	font-size: 12px;
	color: #a9acb1;
	top: 0;
	right: 0;
	padding: 2px;
	border-bottom: solid 1px #a9acb1;
	text-align: center;
}

section.sec02 .grid-parent h3{
	font-size: 14px;
	margin-top: 20px;
	margin-bottom: 10px;
	line-height: 1.4;
}

section.sec02 .grid-parent .name{
	font-size: 13px;
	line-height: 1.3;
}
section.sec02 .grid-parent .name span{
	font-size: 11px;
	margin-left: 10px;
}

section.sec02 .icon-blc{
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	right: 0;
	bottom: 0;
	width: 30px;
	height: 30px;
	border-top: solid 1px #e2e5ea;
	border-left: solid 1px #e2e5ea;
	cursor: pointer;
    transition: 0.3s;
}
.aco-plus {
	position: relative;
	width: 15px;
	height: 15px;
	
}
 /* 二本の横棒を作成する */
  .aco-plus::before,
  .aco-plus::after {
    content: '';
    display: block;
    width: 15px;
    height: 2px;
    background: #005bac;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s;
  }
  
  .aco-plus::after {
    background: #005bac;
    transform: translateY(-50%) rotate(90deg);
  }
  

section.sec02 .icon-blc.active{
	background: #000;
	border: none;
}
section.sec02 .icon-blc.active .aco-plus::before{
	background: #fff;
	transform: translateY(-50%) rotate(45deg);
}
section.sec02 .icon-blc.active .aco-plus::after{
	background: #fff;
	transform: translateY(-50%) rotate(135deg);
}

section.sec02 .aco{
	padding: 15px 0 25px;
}
section.sec02 .aco > p{
	font-size: 13px;
}
section.sec02 .aco .flex{
	margin: 15px 0 0;
	justify-content: flex-start;
	align-items: center;
}
section.sec02 .aco .model-icon{
	position: relative;
	width: 50px;
	height: 50px;
	border: solid 1px #d4d8df;
}
section.sec02 .aco .model-icon img{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 45px;
	height: auto;
}
section.sec02 .aco .model-name{
	margin-left: 10px;
	font-size: 12px;
	color: #005bac;
}
section.sec02 .aco .model-name::after{
	width: 13px;
	height: 13px;
	content: '';
	display: inline-block;
	background: url("../../img/cpplus2022-online/window_icon.png") no-repeat;
	background-size: contain;
	margin-left: 5px;
    margin-bottom: -3px;
}

section.sec03 .inner{
	padding: 60px 0 70px;
	text-align: center;
}

section.sec03 .inner > p{
	margin-bottom: 15px;
}

section.sec03 .inner a{
	display: block;
	width: 420px;
	height: 60px;
	line-height: 60px;
	color: #000;
	border: solid 1px #000;
	margin: 0 auto;
	text-align: center;
	font-weight: bold;
}
section.sec03 .inner .btm-btn p{
	position: relative;
}

section.sec03 .inner .btm-btn p::after{
	position: absolute;
	content: '';
	display: inline-block;
	background: url("../../img/cpplus2022-online/window_icon.png") no-repeat;
	background-size: contain;
	width: 13px;
	height: 10px;
	top: 0;
	bottom: 0;
	right: 20px;
	margin: auto;
}
.cpplus2022 .breadcrumbs{
	background: #000;
}

.cpplus2022 .breadcrumbs .inner{
	font-size: 13px;
	max-width: 1160px;
	padding: 20px;
	letter-spacing: 0;
}
.cpplus2022 .breadcrumbs .inner span span{
	padding: 0 10px 0 5px;
}
@media screen and (max-width: 768px) {
.breadcrumbs{
	display: none;
}
}
.cpplus2022 .breadcrumbs .inner span span.disabled{
	opacity: 0.4;
}
.cpplus2022 footer{
	position: relative;
	letter-spacing: 0;
}

.cpplus2022 footer a.pageTop:hover{
	opacity: 1;
}
.cpplus2022 footer a.pageTop div{
	position: absolute;
	margin: 0 auto;
	top: -23px;
	right: 0;
	left: 0;
	width: 46px;
	height: 46px;
	
}
.cpplus2022 .links{
	letter-spacing: 0;
}

/*アーカイブモーダル*/

.modaal-container .modaal-content-container .archive .photo{
	position: relative;
}
.modaal-container .modaal-content-container .archive .photo img{
	position: relative;
	width: auto;
	height: auto;
}
.modaal-container .modaal-content-container .archive .txt{
	min-width: 450px;
	max-height: 399px;
	padding: 25px 40px 20px;
	height: 399px;
}
.modaal-container .modaal-content-container .archive.modal21 .txt{
	height: auto;
}
.modaal-container .modaal-content-container .archive .txt h3{
	font-size: 24px;
	line-height: 1.4;
	margin-bottom: 10px;
}
.modaal-container .modaal-content-container .archive .txt .name{
	font-size: 19px;
	margin-right: 15px;
}
.modaal-container .modaal-content-container .archive .txt .prof{
	font-size: 14px;
}
.modaal-container .modaal-content-container .archive .txt .flex{
	justify-content: flex-start;
}
.modaal-container .modaal-content-container .archive .txt p{
	font-size: 13px;
}
.modaal-container .modaal-content-container .archive .txt .flex{
	justify-content: flex-start;
	align-items: baseline;
}
.modaal-container .modaal-content-container .archive .txt .product .flex{
	align-items: center;
	margin-bottom: 8px;
}
.modaal-container .modaal-content-container .archive .txt > p{
	margin-bottom: 15px;
}
.modaal-container .modaal-content-container .archive .txt .model-icon{
	position: relative;
	width: 50px;
	height: 50px;
	border: solid 1px #d4d8df;
}
.modaal-container .modaal-content-container .archive .txt .model-icon img{
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 45px;
	height: auto;
}
.modaal-container .modaal-content-container .archive .txt .model-name{
	margin-left: 10px;
	font-size: 12px;
	color: #005bac;
}
.modaal-container .modaal-content-container .archive .txt .model-name.tlu{
	margin-left: 0;
}
.modaal-container .modaal-content-container .archive .txt .model-name::after{
	width: 13px;
	height: 13px;
	content: '';
	display: inline-block;
	background: url("../../img/cpplus2022-online/window_icon.png") no-repeat;
	background-size: contain;
	margin-left: 5px;
    margin-bottom: -3px;
}

@media screen and (max-width: 1160px){
	
	.cpplus2022{
		overflow-x: scroll;
	}
	.cpplus2022.cpplus2022__online #contents{
		width: 1160px;
	}
.cpplus2022 nav .inner,.cpplus2022 header,
	.cpplus2022 .breadcrumbs .inner,.cpplus2022 .inner{
		width: 1160px;
		max-width: inherit;
	}
	section.sec02 .grid-parent{
		max-width: inherit;
		width: 1080px;
		margin: 0 auto;
	}
	.cpplus2022 .inner{
		max-width: 100%;
	}
	.cpplus2022 .mainvisual{
		width: 1160px;
	}
	.mainvisual h1 img{
		max-width: 1160px;
	}
	.cpplus2022__online nav ul{
		margin-right: 40px;
	}
	.cpplus2022 .breadcrumbs{
		width: 1160px;
	}
	.cpplus2022 .links{
		width: 1160px;
	}
	.cpplus2022 footer{
		width: 1160px;
	}
	
	section.sec02 .inner{
		width: 100%;
	}
	.modaal-container .modaal-content-container .inner.archive > .flex .txt{
    max-height: initial;
    width: 46%;
	}
	.modaal-container .modaal-content-container .archive .txt .product{
		height: auto;
	}
	
}
@media screen and (max-width: 768px){
	
	.cpplus2022{
		overflow-x: scroll;
	}
	.dpc{
		display: none;
	}
	.dsp{
		display: block;
	}
	.cpplus2022.cpplus2022__online #contents{
		width: 100%;
	}
.cpplus2022 nav .inner,.cpplus2022 header,section.sec02 .grid-parent,
	.cpplus2022 .breadcrumbs .inner,.cpplus2022 .inner{
		width: 100%;
		max-width: inherit;
	}
	.mainvisual h1 img{
		max-width: 100%;
	}
	.cpplus2022 .mainvisual,.cpplus2022 .breadcrumbs,.cpplus2022 .links,.cpplus2022 footer{
		width: 100%;
	}
	.cpplus2022 header .cpplus_logo{
		width: 12.8vw;
		height: auto;
	}
	.cpplus2022 header .logo{
		width: 22.6vw;
		height: auto;
	}
	.cpplus2022 header .inner{
		padding: 0;
	}
	.cpplus2022__lower header{
		padding: 2.4vw 5.333vw;
	}
	
	@media screen and (max-width: 768px) {
		.cpplus2022 nav .inner,.cpplus2022 header {
		width: 90%;
		padding: 0vw 5.333vw;
	}
	}
	
	
	.cpplus2022{
		font-size: 3.4vw;
	}
	.cpplus2022 .mainvisual h1 img{
		vertical-align: bottom;
	}
	
	ul.tabList{
		bottom: -1px;
	}
	ul.tabList li{
		width: 42.333vw;
		height: 14.666vw;
		line-height: 14.666vw;
		font-size: 3.466vw;
	}
	ul.tabList li:first-child{
		margin-right: 2.6vw;
	}
	.cpplus2022 nav .inner{
		padding: 5.333vw 0 6.666vw;
		text-align: center;
	}
	.cpplus2022__online nav ul{
		justify-content: center;
		margin: 0;
	}
	@media screen and (max-width: 768px){
		.cpplus2022__online nav ul{
		margin: 10px 0 0;
		}
	}

	.cpplus2022 .arrow{
		font-size: 3.2vw;
		padding: 0;
	}
	@media screen and (max-width: 768px){
		.cpplus2022 .arrow{
		padding:1vw;
		}
	}
	.cpplus2022 .arrow::before{
		right: 0;
		left: 0;
		top: 10vw;;
		width: 2vw;
    	height: 2vw;
	}
	@media screen and (max-width: 768px){
	    .cpplus2022 .arrow::before{
			top: 18vw;
			margin: 5vw;
		}
	}
	
	.cpplus2022 nav .inner .flex{
		justify-content: center;
	}
	.cpplus2022 nav .inner .flex li{
		margin-left: 0;
	}
	.cpplus2022 nav .inner .flex li:first-child {
    margin-right: 8vw;
}
@media screen and (max-width: 768px){
	.flex{
		padding: 0;
	}
	.cpplus2022 nav .inner .flex li:first-child {
		margin-right: 0;
	}
}
	section.sec01{
		padding: 9vw 5vw;
	}
	section.sec01 .inner > p {
		font-size: 3.5vw;
		text-align: left;
		margin-bottom: 6vw;
}
	section.sec01 .inner{
		padding: 0;
	}
	section.sec01 .inner a{
		width: 90vw;
    	height: 16vw;
    	line-height: 16vw;
	}
	section.sec01 .inner .top-btn p::after{
		width: 3.5vw;
    	height: 3.5vw;
    	right: 4vw;
	}
	
	
	section.sec02{
		border: none;
	}
	
	section.sec02 .inner{
		width: 100%;
		padding: 0;
	}
	section.sec02 h2{
		font-size: 4.9vw;
		padding-left: 3.4vw;
		margin-bottom: 4vw;
	}
	section.sec02 .top h2::before{
		height: 8vw;
	}
	section.sec02 .top .flex,section.sec02 .btm .flex{
		display: block;
	}
	section.sec02 .top .flex{
		margin-bottom: 0;
	}
	
	section.sec02 .top.grid-parent{
		margin-bottom: 0;
	}
	section.sec02 .grid-parent{
		display: block;
		padding: 1vw 5.333vw 8.6vw;
		border: none;

	}
	@media screen and (max-width: 768px) {
		section.sec02 .grid-parent {
		padding: 0;
		}
	}
	section.sec02 .grid-parent>div{
		width: 100%;
		padding: 0;
		margin: 0;
		border: none;
	}
	section.sec02 .flex > div{
		width: 100%;
	}
	section.sec02 .flex .contents__inner > a::after{
		width: 14.66vw;
		height: 10.666vw;
	}
	section.sec02 .btm .flex{
		width: 100%;
	}
	section.sec02 .grid-parent .bg{
		padding: 12vw 5vw 12vw;
		margin-bottom: 6vw;
		min-height: 23.6vw;
	}
	section.sec02 .grid-parent .tag{
		width: 44.2vw;
		height: 9.3vw;
		top: -9.3vw;
	}
	section.sec02 .grid-parent .ctg {
    position: absolute;
	font-size: 3.7vw;
    top: 0;
    height: 8vw;
    line-height: 8vw;
}
	section.sec02 .grid-parent .genre{
		font-size: 3.7vw;
		padding: 1vw 2vw;
	}
	section.sec02 .grid-parent h3{
		font-size: 4vw;
		margin-bottom: 2vw;
		line-height: 1.6;
	}
	section.sec02 .grid-parent .name{
		font-size: 4vw;
		line-height: 1.3;
	}
	section.sec02 .grid-parent .name span{
		font-size: 3.2vw;
	}
	section.sec02 .aco{
		padding: 4vw 0 0;
	}
	section.sec02 .aco > p{
		
	}
	section.sec02 .aco .flex{
		font-size: 5.333vw;
		justify-content: flex-start;
		margin: 6vw 0 0;
	}
	section.sec02 .aco .model-icon{
		width: 20vw;
		height: 20vw;
	}
	section.sec02 .aco .model-icon img{
		width: 15.2vw;
	}
	section.sec02 .aco .model-name{
		font-size: 3.4666vw;
		margin-left: 4vw;
	}
	section.sec02 .aco .model-name::after{
		width: 3.5vw;
		height: 3.5vw;
	}
	.more .aco-plus{
		width: 3vw;
		height: 3vw;
	}
	.more .aco-plus::before, .more .aco-plus::after{
		width: 3vw;
	}
	section.sec02 .icon-blc{
		width: 10.6vw;
    height: 10.6vw;
	}
	.aco-plus {
    width: 5.333vw;
    height: 5.333vw;
}
	.aco-plus::before, .aco-plus::after {
    width: 5.333vw;
}
	
	section.sec02 .icon-blc_box{
		text-align: center;
	}
	section.sec02 .icon-blc.more {
	position: initial;
	display: inline-block;
	border: solid 1px #d4d8df;
    cursor: pointer;
    padding: 0 7vw;
	width: auto;
    height: 10vw;
    line-height: 10vw;
    margin: 0 auto 0;
	letter-spacing: normal;
}
	section.sec02 .icon-blc.more span.txt {
    margin-left: 2vw;
}
	.icon-blc.more .aco-plus{
		position: relative;
		width: 3vw;
    	height: 3vw;
		display: inline-block;
	}
	section.sec02 .icon-blc.more.active{
		background: none;
	}
	section.sec02 .icon-blc.more.active .aco-plus::after,section.sec02 .icon-blc.more.active .aco-plus::before{
		background: #005bac;
	}
	section.sec02 .icon-blc span.txt {
    margin-left: 2vw;
}
	
	
	
	
	
	
	
	section.sec03 .inner{
		padding: 11vw 0 13vw;
	}
	section.sec03 .inner > p{
		font-size: 3.2vw;
		margin-bottom: 6.66vw;
	}
	section.sec03 .inner a{
		width: 90vw;
    	height: 16vw;
    	line-height: 16vw;
	}
	section.sec03 .inner .btm-btn p::after{
		width: 3.5vw;
		height: 3.5vw;
		right: 4vw;
	}
	.cpplus2022 .breadcrumbs .inner{
		font-size: 3.2vw;
		text-align: center;
		padding: 3vw 0;
	}
	
	.modaal-container .modaal-content-container .inner.archive > .flex .txt{
		padding-bottom: 7vw;
		height: 100%;
		width: auto;
	}
	.modaal-container .modaal-content-container .archive .photo{
		width: 100%;
		height: 0;
		padding-bottom: 56vw;
	}
	.modaal-container .modaal-content-container .archive .photo iframe{
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
	.modaal-container .modaal-content-container .archive .txt{
		min-width: auto;
		max-height: initial;
	}
	.modaal-container .modaal-content-container .archive .txt .flex{
		margin-bottom: 2.6vw;
	}
	.modaal-container .modaal-content-container .archive .txt h3{
		font-size: 4.8vw;
		margin-bottom: 4vw;
	}
	.modaal-container .modaal-content-container .archive .txt > .flex{
		margin-bottom: 5.3vw;
	}
	.modaal-container .modaal-content-container .archive .txt .name{
		font-size: 4vw;
		font-weight: normal;
	}
	.modaal-container .modaal-content-container .archive .txt .prof{
		font-size: 3.2vw;
		font-weight: normal;
	}
	

}

/*

tab02

*/

section.sec04 .inner{
	padding: 80px 40px 40px;
	background: #fff;
}

section.sec04 .ttl{
	text-align: center;
	margin-bottom: 50px;
}
section.sec04 .ttl h2{
	font-size: 28px;
	margin-bottom: 5px;
}

section.sec04 .pc-flex{
	display: flex;
	justify-content: space-between;
}

section.sec04 .flex .prf-blc{
	width: 240px;
	margin-right: 40px;
	text-align: center;
	padding-bottom: 60px;
}
section.sec04 .pc-flex .flex:last-of-type .prf-blc:last-of-type{
	margin-right: 0;
}
section.sec04 .flex .prf-blc .name{
	font-size: 18px;
	padding-top: 20px;
	margin-bottom: 5px;
}
section.sec04 .flex .prf-blc .img-blc:hover{
	opacity: .75;
	transition: .2s;
}
section.sec04 .flex .prf-blc .img-blc{
	position: relative;
	border: solid 1px #d4d8df;
}
section.sec04 .flex .prf-blc .img-blc a:hover{
	opacity: 1;
}
section.sec04 .flex .prf-blc .img-blc img{
	vertical-align: bottom;
}
section.sec04 .flex .prf-blc .icon-blc{
	display: flex;
    justify-content: center;
    align-items: center;
	position: absolute;
	width: 36px;
	height: 36px;
	border: solid 1px #d7dae1;
	background: #fff;
	bottom: 0;
	right: 0;
	cursor: pointer;
}

/*
モーダル
*/
.modal-content  .modal-blc{
	display: none;
}
.modaal-overlay{
	opacity: 1 !important;
}
.modaal-container .modaal-content-container .inner{
	max-width: inherit;
	position: fixed;
	right: 0;
	left: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	margin: 180px 0 170px;
}
.modaal-container .modaal-content-container .inner > .flex{
	justify-content: center;
	max-width: 1160px;
	margin: 0 auto;
}
.modaal-container .modaal-content-container .photo img{
	max-width: inherit;
	width: 540px;
	height: 400px;
}

.modaal-container .modaal-content-container .txt{
	position: relative;
	padding: 50px 40px 40px 50px;
	background: #fff;
}
.modaal-container .modaal-content-container .txt .furi{
	font-size: 12px;
}
.modaal-container .modaal-content-container .txt .name{
	font-size: 28px;
	font-weight: bold;
	letter-spacing: 2px;
}
.modaal-container .modaal-content-container .txt .prof{
	font-weight: bold;
	font-size: 16px;
}
.modaal-container .modaal-content-container .txt .name span{
	font-size: 22px;
}
.modaal-container .modaal-content-container .txt .flex{
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 20px;
}
.modaal-container .modaal-content-container .txt .bio{
	line-height: 1.6;
	margin-bottom: 15px;
}

.modaal-container .modaal-content-container .txt .link-li-blc{
	position: absolute;
	right: 40px;
	bottom: 20px;
}
.modaal-container .modaal-content-container .txt .link-list{
	display: flex;
	justify-content: flex-end;
	margin-bottom: 10px;
}
.modaal-container .modaal-content-container .txt .link-list a{
	position: relative;
	padding: 0 15px 0 30px;
	color: #005bac;
}
.modaal-container .modaal-content-container .txt .link-list a p::after{
	position: absolute;
	display: inline-block;
	content: '';
	background: url("../../img/cpplus2022-online/window_icon.png") no-repeat;
	background-size: contain;
	width: 12px;
	height: 12px;
	top: 0;
	bottom: 0;
	margin: auto 0;
	right: -2px;
}

/*closeボタン*/

.modaal-wrapper .modaal-close{
	display: none;
}
.modaal-wrapper .txt .modaal-close{
	display: block;
	position: absolute;
	right: -7px;
    top: -65px;
	
}
.modaal-close:before, .modaal-close:after{
	width: 2px;
	height: 50px;
	background: #000;
   	top: 0;
    right: 0;
}
.modaal-close:focus, .modaal-close:hover{
	background:none;
}
.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after{
	background: #000;
}

@media screen and (max-width: 1160px){
	.modaal-container .modaal-content-container .inner > .flex .photo{
		width: 45%;
	}
	.modaal-container .modaal-content-container .photo img{
		max-width: 540px;
    	width: 100%;
    	height: auto;
	}
}

@media screen and (max-width: 768px){
	html,body{
		overflow-x: hidden !important;
	}
	section.sec04 .inner{
		padding: 9vw 5vw;
	}
	section.sec04 .pc-flex{
		display: block;
	}
	section.sec04 .pc-flex > .flex{
		justify-content: space-between;
	}
	section.sec04 .ttl{
		margin-bottom: 6vw;
	}
	section.sec04 .ttl h2{
		font-size: 5vw;
		margin-bottom: 0;
	}
	section.sec04 .flex .prf-blc {
		width: 42.6vw;
		margin-right: 0;
		padding-bottom: 8vw;
	}
	section.sec04 .flex .prf-blc .icon-blc{
		width: 8vw;
		height: 8vw;
	}
	section.sec04 .aco-plus{
		width: 4vw;
		height: 4vw;
	}
	section.sec04 .aco-plus::before,section.sec04 .aco-plus::after{
		width: 4vw;
	}
	section.sec04 .flex .prf-blc .name{
		font-size: 4vw;
		padding-top: 2.6vw;
		margin-bottom: 2px;
	}
	section.sec04 .flex .prf-blc .prof{
		font-size: 3.2vw;
	}
	.modaal-container .modaal-content-container .inner{
		margin: 0;
		padding: 18.6vw 0;
		top: 0;
		height: 100%;
		overflow-y: scroll!important;
	}
	.modaal-container .modaal-content-container .tab02.inner{
		padding: 18.6vw 5.33vw;
	}
	.modaal-container .modaal-content-container .tab02.inner > .flex .txt{
		margin: 0;
	}
	.modaal-container .modaal-content-container .inner > .flex{
		display: block;
	}
	.modaal-container .modaal-content-container .inner > .flex .photo{
		width: 100%;
	}
	.modaal-container .modaal-content-container .photo img{
		width: 100%;
		height: auto;
		max-width: 100%;
	}
	.modaal-container .modaal-content-container .inner > .flex .txt{
		width: 100%;
		padding: 7vw 8vw 6vw;
		margin: 0 5.33vw
	}
	.modaal-container .modaal-content-container .txt .furi{
		font-size: 3vw;
	}
	.modaal-container .modaal-content-container .txt .flex{
		margin-bottom: 4vw;
	}
	.modaal-container .modaal-content-container .txt .flex.wrap{
		display: block;
	}
	.modaal-container .modaal-content-container .txt .flex.wrap .prof{
		text-align: right;
	}
	.modaal-container .modaal-content-container .txt .name{
		font-size: 6.6vw;
		letter-spacing: 1px;
	}
	.modaal-container .modaal-content-container .txt .prof{
		font-size: 4vw;
	}
	.modaal-container .modaal-content-container .txt .bio{
		margin-bottom: 5.33vw;
	}
	.modaal-container .modaal-content-container .txt .link-li-blc{
		position: initial;
	}
	.modaal-container .modaal-content-container .txt .link-list{
		justify-content: space-between;
		margin-bottom: 1vw;
		flex-wrap: wrap;
	}
	.modaal-container .modaal-content-container .txt .link-list.wrap{
		line-height: 1.8;
	}
	.modaal-container .modaal-content-container .txt .link-list.right{
		justify-content: space-around
	}
	.modaal-container .modaal-content-container .txt .link-list a{
		padding: 0 5vw 0 0;
		margin-right: 3px;
	}
	.modaal-container .modaal-content-container .txt .link-list a p::after{
		width: 3.8vw;
		height: 3.8vw;
		right: -0.7vw;
	}
	.modaal-close:before, .modaal-close:after{
		height: 11vw;
	}
	.modaal-wrapper .archive .txt .modaal-close{
		top: -70vw;
	}
	.modaal-wrapper .txt .modaal-close{
		top: -79vw;
		right: 0;
		width: 10vw;
    	height: 10vw;
	}
	

}























