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

   .dlgt{
	  transition-duration:1s;
  	  transform: translateY(-20px);
      opacity: 0;
   }
   .dlgt.started {
      transform: none;
      opacity: 1;
   }

.f-d-1{transition-delay:.5s;}
.f-d-2{transition-delay:.75s;}
.f-d-3{transition-delay: 1s;}
.f-d-4{transition-delay: 1.25s;}
.f-d-5{transition-delay: 1.5s;}
.f-d-6{transition-delay: 1.75s;}
.f-d-7{transition-delay: 2s;}

.container{
	width:100%;
	background-color:white;
	overflow:hidden;
	margin-top:-21px;
}

main.contents{
    overflow: hidden;
}

section{
	position:relative;
}

.m-h{
	height:100vh;
}

.m-a{
	margin:0 auto;
}

.contents-wrap{
	margin:0 auto;
	padding:40px;
	max-width:1500px;
}

.contents-wrap > .inner{

}

.inner::before{
	content:"";
	display:block;
}

.bg-gray{
	background-color:#3e3c3c;
}

.bg-thin-gray{
	background-color:#f6f8f8;
}

.pa-center{
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}

.fl{
	display:flex;
}

.fl-center{
	display:flex;
	align-items:center;
}

.fl-base{
	display:flex;
	align-items:baseline;
}

.fl-wrap{
	flex-wrap: wrap;
}
/*
.fl-center-center{
    display: flex;
	justify-content: center;
	align-items: center;
}
*/
.shadow-top {
    filter: drop-shadow(-10px 5px 5px rgba(0,39,118,0.5));
    width: 101%;
    height: 10px;
    background: white;
    margin-top: -11px;
	z-index:0;
}

.shadow-bottom {
    filter: drop-shadow(-10px -5px 5px rgba(0,39,118,0.5));
    width: 110%;
    height: 10px;
    background: #3e3c3c;
    margin-bottom: -10px;
}

.about,footer{
	z-index:1;
}

.more{
	margin-top:30px;
}

.more a{
	padding:10px 0;
	width:200px;
	border:1px solid white;
	display:block;
	text-align: center;
	position:relative;
    margin: 0 auto;
}

.more a::after{
	content:"";
	background: url(../img/link-arrow-green.png);
	background-size:contain;
	background-repeat: no-repeat;
	background-position: center center;
    width: 4px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0,-50%);
}

.video{
	margin-top:50px;
}

.video a{
	background-color: #48b7fd;
    display: block;
    padding: 25px 0 25px 30px;
    width: 500px;
    position: relative;
    color: white;
    font-size: 18px;
    letter-spacing: 3px;
    transition: all .5s;
}

.video a::after{
	content:"";
	background-image: url(../img/play.png);
	background-size:contain;
	background-repeat: no-repeat;
	background-position: center center;
    width: 38px;
    height: 38px;
    position: absolute;
    top: 50%;
    left: 20px;
    transform: translate(0,-50%);
}

.modaal-iframe-elem {
    min-height: 50vh;
}


.idx-about,footer{
	z-index:1;
}

@media screen and (min-width: 768px){
	.pc {display:block;}
	.sp {display:none;}
	.br-pc {display:block;}
	.br-sp {display:none;}
}
@media screen and (max-width: 768px){
	.pc {display:none;}
	.sp {display:block;}
	.br-pc {display:none;}
	.br-sp {display:block;}

	.sp-scroll-y{
		overflow-x: scroll;
		-webkit-overflow-scrolling: touch;
		overflow-scrolling: touch;
	}
	.sp-scroll-y-block{
		flex: 0 0 auto;
	}

	.modaal-iframe-elem {
		min-height: 25vh;
	}

	.video a{
    width: 100%;
    font-size: 14px;
	}

	.video a::after{
    width: 24px;
    height: 24px;
	}

}

/***top***/

.top.main-visual{
	background-image:url(../img/main-visual.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	text-align:center;
}

.top{
	max-height: 490px;
	color:white;
	z-index: 9;
}

.top .contents-wrap{
	padding:160px 0 120px;
}

.top h1{
	font-size:42px;
	line-height:1;
	margin-bottom:50px;
	letter-spacing: 2px;
	font-weight:600;;
}

.top h3{
	font-size:16px;
	font-weight:600;
	background-color:rgba(20,20,32,0.2);
	border:1px solid white;
	padding:30px 75px;
	display:inline-block;
	letter-spacing: 3px;
	margin-bottom:60px;
}

section.top img{
	width:100%;
}

.down-arrow{

}

section.top .down-arrow img{
	width:64px;
}

@media only screen and (max-width: 768px) {

	.top{
		max-height: 450px;

	}

	.top h1{
		font-size: 32px;
    	letter-spacing: 0;
	}

	.top h3 {
		font-size: 14px;
		margin-bottom:30px;
	    padding: 20px;
	}

	.top .contents-wrap{
		padding:138px 0 120px;
	}

	section.top .down-arrow img{
		width:50px;
	}
}


/***win-firm***/

video {
    width: auto;
    height: 100%;
    object-fit: cover;
    z-index: -2;
}
/*
.win-firm{
	text-align:center;
	z-index: 1;
}

.win-firm .contents-wrap{
	padding:70px 40px;
}

.win-firm h2{
	font-size:30px;
	margin-bottom:35px;
	letter-spacing: 4px;
}
*/
.win-firm{
/*	background-image:url(../img/firm-bg.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;*/
	text-align:center;
	z-index: 1;
}

.win-firm .contents-wrap{
	padding:70px 40px;
}

.win-firm h2{
	font-size:30px;
	margin-bottom:35px;
	letter-spacing: 4px;
}

.win-firm h3{
	font-size:20px;
	margin-bottom:35px;
	letter-spacing: 2px;
}

.win-firm .atoz{
	font-size:14px;
	text-align:center;
	margin-bottom:45px;
}

.win-firm .columns{
	width:100%;

}

.win-firm .column {
	width:100%;
	margin:0 -17.5px;
}

.win-firm .column:last-child{
	margin-right:0;
}

.win-firm .column p{
	padding: 0 17.5px 10px 17.5px;
	width: 33.3333%;
	margin-bottom:10px;
}

.win-firm .column p:last-child{
	margin-bottom:0;
}


.win-firm ul li:last-child{
	margin-right:0;
}

.firm{
	/*min-height:347px;*/
	width:100%;
	text-align:center;
}
@media only screen and (max-width: 768px) {
.firm{
	/*min-height:750px;*/
	width:100%;
	text-align:center;
}
}

.firm ul.items{
	display: flex;
    flex-wrap: wrap;
	margin:0 -5px;
}

.firm ul.items li{
	padding:0 10px;
	margin-bottom: 20px;
    width: calc(100% / 8);
}

.firm ul.items li a {
	display: block;
}

.firm ul.items li a figure{
	opacity: 0;
}

.firm ul.items li a figure.active{

	opacity: 1;
	transition-duration:.1s;
	transition-timing-function:ease-in;
	transition-delay:.2s;

}

.firm ul.items li a figure img {
	width: 100%;
	height: auto;
	object-fit: contain;
	object-position: 50% 50%;
	display: block;
	font-size: 5px;
	overflow: hidden;
	aspect-ratio: 2 / 1;
}

.search a{
	color:#1f1f1f;
	position:relative;
	display:block;
	text-align:center;
	padding:2.5px 5px;
}


.search a:hover{
	background:#1f1f1f ;
	color:white;
}

.search a:last-child{
	margin-right: 0;
}

.search .block{
	margin-bottom:20px;
}

.search .block:last-child{
	margin-bottom:0;
}

.search dt{
	margin-right:30px;
}

.search dd ul li{
	margin:0 30px 10px 0;
}

.search h4{
	text-align: center;
	font-size:16px;
	font-weight:500;
	border:1px solid #1f1f1f;
	padding:10px 0;
	width:200px;
}



@media only screen and (max-width: 768px) {

	.win-firm{
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}

	.win-firm video{
		display:none;
	}

	.win-firm h2{
		font-size:24px;
		margin-bottom:20px;
		letter-spacing: 0;
	}

	.win-firm h3{
		font-size:15px;
		margin-bottom:30px;
		letter-spacing: 1px;
	}

	.win-firm .contents-wrap{
		padding:40px 20px;
	}

	.win-firm .block{
		flex-basis:100%;
	}

	.win-firm .fl{
		display:block;
	}

	.win-firm .column {
		margin-right: 0;
	}

	.win-firm .atoz{
		font-size:12px;
		margin-bottom:30px;
	}

	.win-firm .column p{
		font-size:12px;
		margin-bottom:5px;
		width: 100%;
		padding:0;
	}

	.win-firm .columns{
		width:100%;
		margin:0 ;
	}

	.win-firm .column  {
		width: 100%;
		margin: 0 ;
	}

	.firm ul.items li a figure {
		 opacity: 1;
	}

	.firm ul.items li{
		padding:0 5px;
		margin-bottom: 10px;
		width: calc(100% / 3);
}

	.win-firm .search .fl-center{
		display:block;
	}

	.win-firm .column p{
        	width: 100%;
	}
	.search dl.fl-base{
		display:block;
	}

	.search h4{
		text-align: left;
		font-size:14px;
		font-weight: 600;
		border:none;
		padding:0;
		width:inherit;
	}

	.search dt{
		margin-right:0;
	}

	.search dd ul{
		margin:0 -5px;
	}

	.search dd ul.fl-wrap{
		flex-wrap: nowrap;
	}

	.search dd ul li{
		margin:0 0 10px 0;
		padding:10px 5px 0 5px;
	}

	.search dd a{
		padding:10px 15px;
		border:1px solid #1f1f1f;
		text-align:center;
		margin:0 0 10px 0;
	}

	video{
		display:none;
	}

}

/***news***/

.news{
	color:white;
	letter-spacing: 3px;
	z-index: 9;
}

.news .inner{
	display:flex;
	align-items: flex-start;
}

.news h2{
	letter-spacing: 6px;
	line-height:1;
	margin:0 70px 0 40px;
}

.news ul{
	width:100%;
}

.news ul li{
	display: flex;
	align-items: baseline;
	margin-bottom: 10px;
    text-align: left;
}

.news ul li:last-child{
	margin-bottom:0;
}

.news .da-tag {
	margin-right:20px;
	flex:0 0 auto;
}

.news span.data{
	margin-right:20px;
}

.news span.tag-news,
.news span.tag-pr{
	font-size:12px;
	letter-spacing:0;
	text-align:center;
	display:block;
	width:50px;
	height:18px;
	margin-right:20px;
	}

.news span.tag-news{
	background:#5ec172;
	color:white;
}
.news span.tag-pr{
	background:white;
	color:#3e3c3c;
}

.news .category-tag{
	letter-spacing:0;
	width:50px;
	text-align:center;
	line-height: normal;
	flex-basis:50px;
}

.news .category-tag span{
	font-size:12px;
}

.news .tag-news{
	background:#9ad0a6;
	color:white;
}

.news .tag-pr{
	background:white;
	color:#3e3c3c;
}

.news ul li a{
	flex:0 1 auto;
}

@media only screen and (max-width: 768px) {

	.news .contents-wrap{
		padding:40px 20px;
	}

	.news .inner{
		display:block;
	}

	.news h2{
		font-size:24px;
		letter-spacing: 3px;
		line-height:1;
		margin: 0px auto 30px;
    	text-align: center;
	}

	.news ul li {
		display: block;
		margin-bottom: 30px;
	}

	.news ul li .fl-center{
		margin-bottom: 5px;
	}

	.news span.data {
		margin-right: 10px;
	}
}

/***about***/

.idx-about{
	background-image:url(../img/about-bg.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

}

.idx-about .contents-wrap{
	padding: 100px 0 120px;
}

.idx-about,.idx-about p{
	text-align:center;
	color:white;
	letter-spacing:4px;
}

.idx-about h2{
    margin-bottom: 80px;
	line-height:1;
}

.idx-about h3{
	font-size: 18px;
	color: #CCFF99;
	font-weight: 600;
	margin-bottom: 30px;
}

.idx-about p.read{
	font-size: 16px;
	line-height: 2.1;
}

.about{
	background-image:url(../img/about-bg.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;

}

/*.about .contents-wrap{
	padding: 100px 0 120px;
}*/

.about,.idx-about p{
	text-align:center;
	color:white;
	letter-spacing:4px;
}

.about h2{
    margin-bottom: 80px;
	line-height:1;
}

.about h3{
	font-size: 18px;
	color: #01542e;
	font-weight: 600;
	margin-bottom: 30px;
}

.about p.read{
	font-size: 16px;
}

.bpf-entry a{
	background-color:#48b7fd;
	display:block;
	padding:25px;
	width: 500px;
	position:relative;
	color:white;
	font-size:18px;
	letter-spacing: 3px;
	transition:all .5s;
}

.bpf-entry a:hover{
	opacity: 0.8;
}

.bpf-entry a::after{
    content: "";
    background: url(../img/link-arrow-white.png);
    width: 4px;
    height: 8px;
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0,-50%);
}
.pc_w-50{
        width: 50%;
    }

@media only screen and (max-width: 768px) {

	.idx-about .contents-wrap{
		padding: 40px 20px;
	}

	.idx-about h2{
		font-size:24px;
		letter-spacing: 2px;
		line-height:1;
		margin-bottom: 40px;
	}

	.idx-about h3{
		font-size: 16px;
		letter-spacing: 2px;
		margin-bottom: 25px;
	}

	.idx-about p.read{
		text-align:left;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 2;
	}

	.about .contents-wrap{
		padding: 40px 20px;
	}

	.about h2{
		font-size:24px;
		letter-spacing: 2px;
		line-height:1;
		margin-bottom: 40px;
	}

	.about h3{
		font-size: 16px;
		letter-spacing: 2px;
		margin-bottom: 25px;
	}

	.about p.read{
		text-align:left;
		font-size: 14px;
		letter-spacing: 2px;
		line-height: 1.5;
        text-align: center;
	}
    .pc_w-50{
        width: 100%;
    }
}

.sponsor{
 	text-align:center;
 }

.sponsor .contents-wrap{
 	padding:60px 65px;
 }

.sponsor .contents-wrap > div{
	margin-bottom:40px;
	justify-content: center;
 }

.sponsor h2{
	position:relative;
 }

/*.sponsor h2::after{
	content:"";
	height:2px;
	width:200%;
	background-color:#363636;
	position:absolute;
	bottom:0;
	left:-50%;
 }*/

.sponsor .block,.sponsor .bnr-link{
	margin:0 -5px;
}

/*.sponsor .gold .block figure{
	width:25%;
}*/

.sponsor .silver .block figure{
	width:20%;
}

.sponsor .block a{
}

.sponsor .block a:last-child{
}

.sponsor figure{
    padding: 0 10px 20px 10px;
}

.sponsor figcaption{
	color:#363636;
	margin-top:10px;
}

/***idx-sponsor***/

.idx-sponsor{
	text-align:center;
}

.idx-sponsor .contents-wrap{
	padding:60px 65px;
}

.idx-sponsor .block:first-child{
	margin-bottom:60px;
}

.idx-sponsor .block a{
	margin-right:30px;
}

.idx-sponsor .block a:last-child{
	margin-right:0;
}

section.bnr-link{
	background:#363636;
	text-align:center;
}

section.bnr-link > div{
	justify-content: center;
}

.bnr-link figure{
	width:25%;
	margin-bottom:20px;
}

.bnr-link figcaption{
	margin-top: 5px;
}

.bnr-link figcaption span{
	display: block;
	font-size:12px;
}

@media only screen and (max-width: 768px) {

	.sponsor .block{
		display:flex;
		flex-wrap:wrap;
	}

	.idx-sponsor .block{
		display:flex;
		flex-wrap:wrap;
	}

	.idx-sponsor .contents-wrap{
		padding:40px 20px;
	}

	.idx-sponsor .block:first-child {
		margin-bottom: 30px;
	}

	.idx-sponsor .block a{
		margin-right: 0;
		margin-bottom: 10px;
		flex-basis: 48%;
	}

	.idx-sponsor .block a:nth-child(odd){
		margin-right: 5px;
	}

		.sponsor .block{
		display:flex;
		flex-wrap:wrap;
	}

	.sponsor .contents-wrap{
		padding:40px 20px;
	}

	.sponsor .silver .block figure figcaption{
		display:none;
	}

	.sponsor .gold .block figure{
		width:50%;
	}

	.sponsor .silver .block figure{
		width:33.3333%;
	}

	.sponsor .bnr-link {
		display:block
	}

	.sponsor .bnr-link figure{
		width:100%;
	}

	section.bnr-link{
	text-align:left;
	}

	section.bnr-link .contents-wrap{
		padding:40px 20px;
	}

	section.bnr-link > div{
		justify-content: center;
	}

	.bnr-link figure{
		width:100%;
	}

	.bnr-link figure:last-child{
		margin:0;
	}

	.bnr-link figure a{
		display:flex;
		align-items: flex-start;
	}

	.bnr-link figure a img{
		width:30%;
		margin-right:15px;
	}

	.bnr-link figcaption{
		flex-basis:70%;
		margin:0;
	}

	.bnr-link figcaption span{
		display: block;
		font-size:12px;
	}

}


.firm .main-visual{
	background-image:url(../img/firm-main-visual.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	text-align:center;
}

.firm{
	/*max-height: 490px;*/
	color:white;
	z-index: 9;
}

.firm .contents-wrap{
	padding:160px 0 120px;
}

.firm_summary{
    padding: 20px;
    display: inline-block;
}

.firm_summary dl{
    float: left;
    margin-right: 100px;
}

.firm_summary dt{
    float: left;
    font-weight: bold;
    line-height: 2;
}

.firm_summary dd{
    margin-left: 150px;
    line-height: 2;
}

.firm_h3{
    display: inline-block;
    background-color: #000;
    color: #FFF;
    padding: 10px 20px 10px 20px;
    font-size: 20px;
    margin-bottom: 20px;
}

.firm_h4{
    display: inline-block;
    background-color: #000;
    color: #FFF;
    padding: 10px 20px 10px 20px;
    margin-bottom: 10px;
    font-size: 14px;
}

.firm_outline .img_01{
    display: flex;
    float: right;
    margin-left: 40px;
    margin-bottom: 180px;
}

.firm_outline {
    padding: 0 0 0 20px;
    display: inline-block;
}

.firm_outline p{
    margin-bottom: 30px;
}

.firm_research{
    display: inline-block;
    padding: 0 20px 0 0;
    width: 100%;
}


.firm_research p{
    margin-bottom: 30px;
}

@media only screen and (max-width: 768px) {
    
/*.firm{
    max-height: 720px;
}*/

.firm h1{
	font-size: 32px;
   	letter-spacing: 0;
}

.firm .contents-wrap{
	padding:138px 0 120px;
}

.firm_outline .img_01{
    width: 100%;
    margin: 0 0 40px 0;
}

.firm_research .img_02{
    width: 100%;
    margin: 0 0 40px 0;
}

.firm_outline {
    padding: 0;
    display: inline-block;
    width: 100%;
    margin-bottom: 60px;
}

.firm_research{
    display: inline-block;
    padding: 0;
    width: 100%;
    margin-bottom: 0px;
}

.firm_outline p{
    margin-bottom: 30px;
    padding: 0 20px 0 20px;
}

.firm_research p{
    margin-bottom: 30px;
    padding: 0 10px;
}
}




/*special*/

.special{
/* 	max-height: 490px; */
	color:white;
	z-index: 9;
}

.special_main-visual_pc{
    width: 100%;
    display: block;
}

.special_main-visual_sp{
    width: 100%;
    display: none;
}

.special .contents-wrap{
	padding: 0 !important;
	margin: 0 auto 50px auto;
	max-width: 100%;
}

.special_contents{
    max-width: 1200px;
    margin: 0 auto;
}

.special_contents p b {
    background: #fcf5cf;
}

.special_contents p {
    margin-bottom: 20px;
    line-height: 2rem;
}

.image_side {
    margin: 50px 0;
}

.image_side2 {
    margin: 0 0 50px;
}

.image_side img, .image_side2 img{
    margin-right: 50px;
}

.special_summary{
    padding: 0 0 0 20px;
    display: inline-block;
    margin: 0 0 50px 0;
}

.special_h3{
    display: inline-block;
    background-color: #000;
    color: #FFF;
    padding: 10px 20px 10px 20px;
    font-size: 20px;
    margin-bottom: 40px;
}

.special_h4{
    margin-bottom: 20px;
    font-size: 24px;
}


.special_question{
    color: #666666;
}

.special_answer{
    color: #003567;
    font-weight: bold;
}


.special_outline .img_02_01{
    display: flex;
    float: right;
    margin-left: 40px;
    margin-bottom: 450px;
}

.special_outline .img_02_02{
    display: flex;
    float: right;
    margin-left: 40px;
    margin-bottom: 450px;
}

.special_outline .img_02_03{
    display: flex;
    float: right;
    margin-left: 40px;
    margin-bottom: 181px;
}

.special_outline .img_02_04{
    display: flex;
    float: right;
    margin-left: 40px;
    margin-bottom: 248px;
}

.special_outline {
    display: inline-block;
}

.special_outline p{
    margin-bottom: 40px;
}

.special_profile{
    background: #eaeaea;
    padding: 20px;
    margin-bottom: 50px;
}

.special_profile_title{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}


.special_btn_area {
    margin: 24px auto;
    text-align: center;
    margin-bottom: 80px;
}

.special_btn_area a {
	color: inherit;
    text-decoration: underline;
}

.special_btn {
    display: inline-block;
    width: 460px;
    height: 78px;
    background: #48b7fd;
    text-align: center;
    line-height: 78px;
    font-size: 18px;
    margin: 0 20px;
}

.special_btn:hover {
    opacity: 0.8;
}


.special_feature_h4{
    margin-bottom: 20px;
    font-size: 24px;
    text-align: center;
}

.special_feature_contents{
    text-align: center;
    margin-bottom: 60px;
}

.special_feature_img{
    margin: 10px;
}

.special_feature_img:hover {
    opacity: 0.8;
}

.special_comment{
    font-size: 12px;
    clear: #333;
}


@media only screen and (max-width: 768px) {

.special{
/* 	max-height: 490px; */
	color:white;
	z-index: 9;
}

.special_main-visual_pc{
    width: 100%;
    display: none;
}

.special_main-visual_sp{
    width: 100%;
    display: block;
}

.special .contents-wrap{
	padding: 0;
	margin: 0 auto;
	max-width: 100%;
}

.special_contents{
    max-width: 90%;
    margin: 0 auto;
}


.special_summary{
    padding: 0 0 0 20px;
    display: inline-block;
    margin: 0 0 50px 0;
}

.special_h3{
    display: inline-block;
    background-color: #000;
    color: #FFF;
    padding: 10px 20px 10px 20px;
    font-size: 18px;
    margin-bottom: 20px;
    line-height: 1.3;
}

.special_h4{
    margin-bottom: 10px;
    font-size: 16px;
}


.special_question{
    color: #666666;
}

.special_answer{
    color: #003567;
    font-weight: bold;
}


.special_outline .img_02_01{
    margin-bottom: 20px;
}

.special_outline .img_02_02{
    margin-bottom: 20px;
}

.special_outline .img_02_03{
    margin-bottom: 20px;
}

.special_outline .img_02_04{
    margin-bottom: 20px;
}

.special_outline {
    display: inline-block;
}

.special_outline p{
    margin-bottom: 40px;
}

.special_profile{
    background: #eaeaea;
    padding: 20px;
    margin-bottom: 20px;
}

.special_profile_title{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}


.special_btn_area {
    margin: 0 auto;
    text-align: center;
    margin-bottom: 80px;
}

.special_btn {
    display: inline-block;
    max-width: 100%;
    height: 78px;
    background: #48b7fd;
    text-align: center;
    line-height: 78px;
    font-size: 14px;
    margin: 10px 0px;
}


.special_feature_h4{
    margin-bottom: 20px;
    font-size: 24px;
    text-align: center;
}

.special_feature_contents{
    text-align: center;
    margin-bottom: 60px;
}

.special_feature_img{
    margin: 10px;
}

.image_side {
    margin: 0;
}

.image_side2 {
    margin: 0 0 30px;
}

.image_side img {
    margin-bottom: 20px;
}

.image_side img, .image_side2 img{
    margin-right: 0;
}


}

/*footer*/

footer{
	text-align:center;
	color:white;
}

/*footer .block:first-child{
	margin-bottom:20px;
}*/

footer .block::before{
	content: " ";
	display:block;
}

footer .block h4{
	margin-right:20px;
}

footer .block > .inner{
	display:flex;
	justify-content: center;
	flex-direction: row-reverse;
}

footer .block .fl-center-center .inner a{
	margin-right:30px;
}

footer .block .fl-center-center .inner a:last-child{
	margin-right:30px;
}

footer p{
	color:white;
}

footer p.copy{
	font-size:12px;
	border-top:1px solid white;
	padding:20px 0;
	text-align: center;
}

.sns .pc-sns,.power{
	display:flex;
	align-items: center;
	padding:0 10px;
}


.power{
	margin:0 15px;
}

.power p{
	font-size:12px;
}

.sns a{
	padding: 0 1rem 0 0;
	display:block;
}

.sns a img{
	max-height:30px;
}

.sns a img.fb{
	max-width:30px;
}

.sns a img.tw{
	max-width:24px;
}

.utility{
	margin-top:30px;
}

.utility a{
	padding:0 0.5rem;
}

.fa-facebook-square,.fa-twitter{
	font-size:30px;
}

footer copy{
	font-size:0.8rem;

}
.fl-center-center{
    display: flex;
    justify-content: center;
    align-items: center;
	padding: 0 40px;
}

@media only screen and (max-width: 768px) {

	footer .contents-wrap{
		padding:40px 20px;
	}

	footer .block .fl-center-center h4 {
		margin:0 0 10px 0;
		text-align: left;
	}

	footer .fl-center-center{
		display:block;
	}

	footer .fl-center-center .inner{
		display:flex;
		flex-wrap: wrap;
	}

	footer .block .fl-center-center .inner a {
		flex-basis:30%;
		margin:0 0 5% 0;
	}

	footer .block .fl-center-center .inner a:nth-child(3n-1){
		margin:0 5%;
	}

	footer .block .fl-center-center .inner a:before{
		content:"";
		display:block;
	}

	footer .block .fl-center-center .inner a:nth-child(3n),
	footer .block .fl-center-center .inner a:last-child{
		margin-right: 0;
	}

	footer .block > .inner {
		display: block;
		justify-content: center;
	}

	footer .block .power h4{
		margin-right:10px;
	}

	.power {
		margin: 0 0 40px 0;
		padding:0;
	}

	.sns{
		justify-content: center;
	}

	.sns .fb::after, .sns .tw::after {
    	font-size: 35px;
	}

	.sns a{
		line-height:0;

	}



	.sp-sns{
		width:100%;
		display:flex;
		align-items:center;
		justify-content: center;
	}
}


/* ---------------------------------------
　　　　2020.11.26 授賞式レポートページ
--------------------------------------- */

.report {
	font-size: 30px;
}
