@charset "utf-8";

/* ----------------------------------------

content

---------------------------------------- */
#content {
}

.topsec{
	margin-bottom: 70px;
}

@media screen and (max-width:767px){
/*スマホ指定*/
	.topsec{
		width: 100%;
		margin-bottom: 40px;
	}
}


/* ----------------------------------------

mvスライダー

---------------------------------------- */

	.slick-slider{
		margin-bottom: 0 !important;
	}
	.keyVisual {
		/*height: 923px;*/
		overflow: hidden;
		margin: 0 auto;
		position: relative;
		min-width: 1280px;
	}
	.keyVisual .slick-slide {
		overflow: hidden;
		margin-bottom: 0;
	}
	.keyVisual .kvSlide {
		/*position: relative;
		padding-top: 923px;
		background: #fff;*/
		position: relative;
	}

	.keyVisual .kvSlide:before {
		content: '';
		position: absolute;
		width: 734px;
		height: 100%;
		background: linear-gradient(90deg, rgba(70, 28, 138, 0.70) 0%, rgba(70, 28, 138, 0.00) 100%);
		bottom: 0;
		left: 0;
		z-index: 1;
	}

	.keyVisual .kvSlideTxt {
		position: absolute;
		bottom: 48px;
		left: 48px;
		max-width: 300px;
		width: 100%;
		color: #fff;
		z-index: 2;
	}

	.keyVisual .kvSlideTxt .slideTtl {
		font-size: 48px;
		font-weight: 700;
		margin-bottom: 16px;
	}

	.keyVisual .kvSlideTxt .slideLead {
		font-size: 18px;
		font-weight: 700;
		margin-bottom: 40px;
		line-height: 1.6;
		letter-spacing: .72px;
	}

	.keyVisual .kvSlideTxt .slideLink {
		width: 100%;
		height: 75px;
		display: flex;
		align-items: center;
		color: #fff;
		text-decoration: none;
		border: solid 1px #fff;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.6;
		letter-spacing: .72px;
		padding: 8px 24px;
		gap: 8px;
		justify-content: space-between;
		transition: ease 0.4s;
	}

	@media (hover: hover) {
		.keyVisual .kvSlideTxt .slideLink:hover {
			color: #333;
			background: #fff;
		}
	}

	.keyVisual .kvSlideTxt .slideLink:after {
		content: '';
		mask: url(/files/img/common/arw_03.png) no-repeat center / contain;
		background: currentColor;
		width: 30px;
		aspect-ratio: 16 / 7;
	}

	.keyVisual img {
		max-width: inherit;
		width: 100%;
		/*position: absolute;
		top: 0;
		left: 0;*/
	}

	.movieBox {
		display: flex;
		gap: 20px;
	}

	.movieBox > li {
		width: 33.333%;
	}

	.movieBox .Youtube {
		aspect-ratio: 9 / 16;
		padding-bottom: 0 !important;
		height: auto !important;
	}

	.movieBox .Youtube iframe {
	}

@media screen and (max-width:767px){
	.movieBox {
		flex-wrap: wrap;
		gap: 40px;
	}

	.movieBox > li {
		width: 100%;
		margin-bottom: 0 !important;
	}

	.keyVisual .kvSlide:before {
		background: linear-gradient(90deg, rgba(70, 28, 138, 0.70) 14.27%, rgba(70, 28, 138, 0.00) 100%);
		width: 100%;
	}

	.keyVisual .kvSlideTxt {
		max-width: 232px;
		left: 20px;
		bottom: 24px;
	}

	.keyVisual .kvSlideTxt .slideTtl {
		font-size: 32px;
		margin-bottom: 12px;
	}

	.keyVisual .kvSlideTxt .slideLead {
		font-size: 14px;
		margin-bottom: 30px;
		letter-spacing: .56px;
	}

	.keyVisual .kvSlideTxt .slideLink {
		padding-inline: 16px;
		height: 56px;
		letter-spacing: .56px;
		font-size: 14px;
	}

	.keyVisual .kvSlideTxt .slideLink:after {
		width: 22px;
	}


		.keyVisual {
			height: 400px;
			min-width: inherit;
		}
		.keyVisual .kvSlide {
			position: relative;
			padding-top: 400px;
			background: #fff;
		}
		.keyVisual img {
			max-width: inherit;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
		}

}

@media screen and (max-width:320px){
	.keyVisual {
		height: 340px;
		min-width: inherit;
	}
	.keyVisual .kvSlide {
		padding-top: 340px;
	}
}






/* ----------------------------------------

topsec01

---------------------------------------- */

#topsec01 {
	background-color: #e8edfc;
	padding: 70px 0;
}

@media screen and (max-width:767px){
	#topsec01{
		padding: 40px 0;
	}
}

/* news_list
------------------------------- */
.news_list li{
	padding: 20px 10px;
	position: relative;
}
.news_list li a:hover{
	text-decoration: none;
}
.news_list{
	position: relative;
	display: none;
}
.news_list.active {
	display: block;
}
.news_list:before{
	content: "";
	position: absolute;
	top: 0;
	left:0;
	width: 100%;
	background-image: url(/files/img/common/bg_dot.png);
	height: 1px;
}
.news_list li:after{
	content: "";
	position: absolute;
	bottom: 0;
	left:0;
	width: 100%;
	background-image: url(/files/img/common/bg_dot.png);
	height: 1px;
}

.news_list .news_date{
	display: block;
	float: left;
	width: 300px;
}
.news_list .news_date .date {
	font-weight: bold;
}
.news_list .news_date .date {
	width: 160px;
	display: inline-block;
}
.news_list .news_date .cate {
	width: 120px;
	text-align: center;
	display: inline-block;
	background-color: #e8edfc;
	margin-right: 20px;
}
.news_list .news_tit {
    display: block;
    float: left;
    width: 650px;
}

@media screen and (max-width:850px){
	.news_list .news_date{
		display: block;
		float: none;
		width: inherit;
		margin-bottom: 10px;
	}
	.news_list .news_date .date {
		font-weight: bold;
	}
	.news_list .news_date .date {
		width: inherit;
		display: inline-block;
		padding-right: 20px;
	}
	.news_list .news_date .cate {
		width: inherit;
		padding: 0 15px;
		text-align: center;
		display: inline-block;
		background-color: #e8edfc;
		margin-right: 0;
	}
	.news_list .news_tit {
	    display: block;
	    float: none;
	    width: 100%;
	}
}
@media all and (-ms-high-contrast:none){
	.news_list .news_date {
		line-height: 1;
		padding-bottom: 10px;
	}
	.news_list .news_date .cate {
	   padding: 5px 0 0;
	   margin-top: -2px;
   }
}

/* tabContent
------------------------------- */
#tabContent{
	padding: 40px 35px 20px;
	background-color: #fff;
}
#tabContent > p {
	margin-top: 15px;
	text-align: right;
}
#tabContent > p a span {
	position: relative;
    padding-right: 25px;
}
#tabContent > p a span:before {
	content: "";
    position: absolute;
    top: 50%;
    transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    right: 0;
    margin: auto;
    background-image: url(/files/img/common/arw_01.png);
    width: 16px;
    height: 8px;
    background-size: contain;
    background-repeat: no-repeat;
}
@media screen and (max-width:767px){
	#tabContent{
		padding: 25px 20px 15px;
	}
}

/* newsList_tab
------------------------------- */
.newsList_tab {
	border-bottom: 1px solid #262626;
	text-align: center;
}
.newsList_tab li {
	border: 1px solid #262626;
	border-bottom: none;
	border-right: none;
	display: inline-block;
	width: 225px;
}
.newsList_tab li:last-child{
    border-right: 1px solid #262626;
}
.newsList_tab li span {
	display: block;
	padding: 10px;
	text-align: center;
	font-size: 107.2%;
	text-decoration: none;
	background-color: #fff;
	color: #262626;
	font-weight: bold;
	cursor: pointer;
}
.newsList_tab li span.active,
.newsList_tab li span:hover {
	background-color: #262626;
	color: #fff;
	opacity: 1;
}
@media screen and (max-width:767px){
	.newsList_tab {
		display: table;
		width: 100%;
	}
	.newsList_tab li {
		display: table-cell;
		margin-bottom: 10px;
		width: auto;
	}
	.newsList_tab li ~ li {
		margin-left: 0;
	}
	.newsList_tab li span {
		font-size: 100%;
		padding: 10px 0;
	}
}
@media screen and (max-width:342px){
	.newsList_tab li span {
		font-size: 92.9%;
	}
}
@media screen and (max-width:322px){
	.newsList_tab li span {
		font-size: 85.7%;
	}
}



/* ----------------------------------------

topsec02

---------------------------------------- */

#topsec02 .src_list{
	margin-bottom: 80px;
}
#topsec02 .src_list > li{
    min-height: 237px;
    box-sizing: border-box;
    position: relative;
    margin-bottom: 30px;
}
#topsec02 .src_list > li:nth-child(3),
#topsec02 .src_list > li:nth-child(4){
	margin-bottom: 0;
}
#topsec02 .src_list > li:after{
	position: absolute;
	bottom: 0;
	right: 0;
    padding: 30px;
}
#topsec02 .src_list > li a{
	display: block;
	width: 100%;
	height: 100%;
	padding: 30px;
}
#topsec02 .src_list > li a:hover{
	text-decoration: none;
}
#topsec02 .src_list > li .src_list_ttl{
	font-weight: bold;
	font-size: 166.7%;
	color: #461c8a;
	margin-bottom: 15px;
}
#topsec02 .src_list > li .src_list_cot p{
	float: left;
	width: calc(30% - 30px);
	width: -webkit-calc(30% - 30px);
	margin-right: 30px;
}
#topsec02 .src_list > li .src_list_cot ul{
	float: left;
	width: 70%;
}
#topsec02 .src_list > li .src_list_cot ul li{
	position: relative;
	padding-bottom: 10px;
	font-weight: bold;
	padding-left: 30px;
}
#topsec02 .src_list > li .src_list_cot ul li:before{
	content: "";
	background-image: url(/files/img/top/icon_list.png);
	background-repeat: no-repeat;
	background-size:contain;
	width: 24px;
	height: 19px;
	position: absolute;
	top: 3px;
	left:0;
}
#topsec02 .src_list > li .src_arw{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 39px;
	height: 39px;
	text-align: center;
	background-color: #461c8a;
}
#topsec02 .src_list > li .src_arw span{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    -webkit-transform: translate(-50%,-50%);
    background-image: url(/files/img/common/arw_02.png);
    width: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    height: 8px;
}


#topsec02 .src_list > li a::before,#topsec02 .src_list > li a::after{
	-webkit-transition: 0.25s;
	-moz-transition: 0.25s;
	-o-transition: 0.25s;
	-ms-transition: 0.25s;
	transition: 0.25s;
}
#topsec02 .src_list > li a::before{
	position: absolute;
	left: 0;
	top: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	border-top: 2px solid #461c8a;
	border-left: 2px solid #461c8a;
	box-sizing: border-box;
}
#topsec02 .src_list > li a::after{
	position: absolute;
	right: 0;
	bottom: 0;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	border-bottom: 2px solid #461c8a;
	border-right: 2px solid #461c8a;
	box-sizing: border-box;
}
@-moz-keyframes index-03-line {
  0% { width: 0%;height: 0%; }
  100% { width: 100%;height: 100%; }
}
@-webkit-keyframes index-03-line {
  0% { width: 0%;height: 0%; }
  100% { width: 100%;height: 100%; }
}
@keyframes index-03-line {
  0% { width: 0%;height: 0%; }
  100% { width: 100%;height: 100%; }
}
#topsec02 .src_list > li a:hover::before,#topsec02 .src_list > li a:hover::after{
	-moz-animation: index-03-line 0.4s;
	-webkit-animation: index-03-line 0.4s;
	animation: index-03-line 0.4s;
}



@media screen and (max-width:767px){
/*スマホ指定*/
    #topsec02 .title01{
    	width: 90%;
    	margin:0 auto 30px;
    }
	#topsec02 .src_list > li{
	    width: 100%;
	    float: none;
	    min-height: inherit;
   		margin-bottom: 25px;
		border: 2px solid #461c8a;
	}
	#topsec02 .src_list > li a{
		padding: 25px 20px 20px;
	}
	#topsec02 .src_list > li:nth-child(3){
		margin-bottom: 20px;
	}
	#topsec02 .src_list > li .src_list_ttl{
		font-size: 128.6%;
		position: relative;
		padding-left: 50px;
		margin-bottom: 20px;
	}
	#topsec02 .src_list > li .src_list_ttl:before{
		content: "";
	    position: absolute;
	    top: 50%;
	    left: 0;
	    transform: translate(0,-50%);
	    width: 38px;
	    height: 38px;
	}
	#topsec02 .src_list > li:nth-child(1) .src_list_ttl:before{
        background: url(/files/img/top/topsec02_icon_01.png);
        background-size: contain;
	    background-repeat: no-repeat;
	}
	#topsec02 .src_list > li:nth-child(2) .src_list_ttl:before{
        background: url(/files/img/top/topsec02_icon_02.png);
        background-size: contain;
	    background-repeat: no-repeat;
	}
	#topsec02 .src_list > li:nth-child(3) .src_list_ttl:before{
        background: url(/files/img/top/topsec02_icon_03.png);
        background-size: contain;
	    background-repeat: no-repeat;
	}
	#topsec02 .src_list > li:nth-child(4) .src_list_ttl:before{
        background: url(/files/img/top/topsec02_icon_04.png);
        background-size: contain;
	    background-repeat: no-repeat;
	}

	#topsec02 .src_list {
	    margin-bottom: 40px;
	}
	#topsec02 .src_list > li a::after{
		display: none;
	}
	#topsec02 .src_list > li a::before{
		display: none;
	}
	#topsec02 .src_list > li .src_list_cot ul{
		width: 100%;
		float: none;
        padding-left: 0;
	}
	#topsec02 .src_list > li .src_list_cot p{
		display: none;
	}
	#topsec02 .src_list > li .src_arw {
	    width: 30px;
	    height: 30px;
	}
	#topsec02 .src_list > li .src_list_cot ul li:before{
 		background-image: url(/files/img/top/icon_list_sp.png);
	}
}


#topsec02 .img_link01{
	overflow: hidden;
}
#topsec02 .img_link01 li{
	width: 50%;
	float: left;
}
#topsec02 .img_link01 li a {
    display: block;
    background-color: #fff;
    position: relative;
}
#topsec02 .img_link01 li dt {
    padding-top: 320px;
}

#topsec02 .img_link01 li dd {
    background-color: rgba(70,28,138,0.8);
    color: #fff;
    font-weight: bold;
    position: absolute;
    left: 0;
    bottom: 30px;
    width: 280px;
    padding: 30px 20px 30px 40px;
    font-size: 146.7%;
    box-sizing: border-box;
    line-height: 1;
}
#topsec02 .img_link01 li dd span{
	position: relative;
	display: block;
}
#topsec02 .img_link01 li dd span:after{
	content: "";
	position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%);
    background-image: url(/files/img/common/arw_03.png);
    width: 30px;
    height: 8px;
    background-size: contain;
    background-repeat: no-repeat;
}

@media screen and (max-width:767px){
	#topsec02 .wrap_02{
		width: 100%;
	}
	#topsec02 .img_link01 li{
		width: 100%;
		float: none;
		margin-bottom: 15px;
	}
	#topsec02 .img_link01 li dt {
	    padding-top: 50%;
	}
	#topsec02 .img_link01 li dd {
		font-size: 114.3%;
	    bottom: 20px;
	    padding: 20px 10px 20px 25px;
	    width: 180px;
	}
	#topsec02 .img_link01 li:last-child{
		margin-bottom: 0;

	}

}















/* ----------------------------------------

topsec03

---------------------------------------- */

#topsec03{
	background-color: #e8edfc;
	padding: 70px 0 100px;
}
#topsec03 .mapbox .mapbox_txt dl{
	width: 500px;
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;    /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	-webkit-flex-wrap: wrap;
   	flex-wrap: wrap;
   	margin-bottom: 20px;
}
#topsec03 .mapbox .mapbox_txt dl.mapbox_txt_04{
	margin-bottom: 0;
}
#topsec03 .mapbox .mapbox_txt dt{
	background-color: #461c8a;
	color: #fff;
	width: 120px;
	display: -webkit-box; /*Android4.3*/
	display: -moz-box;    /*Firefox21*/
	display: -ms-flexbox; /*IE10*/
	display: -webkit-flex; /*PC-Safari,iOS8.4*/
	display: flex;
	justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 120%;
}
#topsec03 .mapbox .mapbox_txt dd{
	background-color: #fff;
	width: 380px;
    padding: 30px;
}
#topsec03 .mapbox .mapbox_txt dd ul li{
	width: 33.333%;
	float: left;
}
#topsec03 .mapbox .mapbox_txt {
	width: 500px;
	float: left;
}
#topsec03 .mapbox_map{
	width: 540px;
	float: left;
	text-align: right;
	position: relative;
	font-weight: bold;
}
#topsec03 .mapbox_map .mapbox_map_list li{
	font-size: 106.7%;
	z-index: 2;
}
#topsec03 .mapbox_map .mapbox_map_list li:nth-child(1){
	position: absolute;
	top: 175px;
	left: 155px;
}
#topsec03 .mapbox_map .mapbox_map_list li:nth-child(2){
	position: absolute;
	top: 280px;
	left: 255px;
}
#topsec03 .mapbox_map .mapbox_map_list li:nth-child(3){
	position: absolute;
	top: 340px;
	left: 365px;
}
#topsec03 .mapbox_map .mapbox_map_list li:nth-child(4){
	position: absolute;
	top: 480px;
	left: 415px;
}

.mapbox_map_list_01 .button,
.mapbox_map_list_02 .button,
.mapbox_map_list_03 .button,
.mapbox_map_list_04 .button {
	position:relative;
	transform-origin:center center 0;
}

.mapbox_map_list_01.active .button .ring,
.mapbox_map_list_02.active .button .ring,
.mapbox_map_list_03.active .button .ring,
.mapbox_map_list_04.active .button .ring {
background:rgba(36,15,71,.3);
height:30px;
width:30px;
    transform: translate(-50%,-50%);
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
	-ms-border-radius:50%;
	-o-border-radius:50%;
	border-radius:50%;
z-index: 1;
position: absolute;
top: -2px;
left: 20px;
transform: translate(-50%,-50%);
}

.mapbox_map_list_01.active .ring,
.mapbox_map_list_02.active .ring,
.mapbox_map_list_03.active .ring,
.mapbox_map_list_04.active .ring {
   	-webkit-animation: wave 1s ease-out;
	-webkit-animation-iteration-count: 1;
   	-moz-animation: wave 1s ease-out;
	-moz-animation-iteration-count: 1;
   	-ms-animation: wave 1s ease-out;
	-ms-animation-iteration-count: 1;
   	-o-animation: wave 1s ease-out;
	-o-animation-iteration-count: 1;
   	animation: wave 1s ease-out;
	animation-iteration-count: 1;
	animation-fill-mode: forwards;
}

@-webkit-keyframes wave {
	0% {-webkit-transform: scale(1, 1); }
	50% {opacity: 1;}
	100% {-webkit-transform: scale(5, 5); opacity: 0.0;}
}
@-moz-keyframes wave {
	0% {-moz-transform: scale(1, 1); }
	50% {opacity: 1;}
	100% {-moz-transform: scale(5, 5); opacity: 0.0;}
}
@-ms-keyframes wave {
	0% {-ms-transform: scale(1, 1); }
	50% {opacity: 1;}
	100% {-ms-transform: scale(5, 5); opacity: 0.0;}
}
@-o-keyframes wave {
	0% {-o-transform: scale(1, 1); }
	50% {opacity: 1;}
	100% {-o-transform: scale(5, 5); opacity: 0.0;}
}
@keyframes wave {
	0% {transform: scale(1, 1); }
	50% {opacity: 1;}
	100% {transform: scale(5, 5); opacity: 0.0;}
}



#topsec03 .btn_01{
	height:85px;
	width: 505px;
	margin:50px auto 0;
}
#topsec03 .btn_01 a{
   	height:85px;
}
#topsec03 .btn_01 a:hover {
	background-color: #461c8a;
	color: #fff;
	opacity: 1;
}
#topsec03 .btn_01 a .icon_img{
	display: block;
}
#topsec03 .btn_01 a:hover .icon_img{
	display: none;
}
#topsec03 .btn_01 a .icon_img_hv{
	display: none;
}
#topsec03 .btn_01 a:hover .icon_img_hv{
	display: block;
}
#topsec03 .btn_01 a span{
    font-size: 133.3%;
    font-weight: bold;
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: flex;
    -webkit-align-items: center;
    -moz-align-items: center;
    -ms-align-items: center;
    -o-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -o-justify-content: center;
    justify-content: center;
    line-height: 1;
}
#topsec03 .btn_01 a span i{
	display: inline-block;
	padding-right: 20px;
}

@media all and (-ms-high-contrast:none){
	#topsec03 .btn_01 a span{
   		padding-top: 10px;
	}
	#topsec03 .btn_01 a span i{
		margin-top: -5px;
	}
}


@media screen and (max-width:767px){
	#cot_sec{
		margin-bottom: 0;
		padding: 30px 0 40px;
	}
	#topsec03{
		margin-bottom: 20px;
	}
	#cot_sec .cot_txt{
		margin-bottom: 5px;
		font-size: 92.8%;
	}
	#topsec03 .btn_01 {
		width: 70%;
		margin-top: 30px;
	    height: 50px;
	}
	#topsec03 .btn_01 a {
	    height: 50px;
	}
	#topsec03 .btn_01 a span{
  		font-size: 114.3%;
	}
	#topsec03 .btn_01 a span i{
		width: 50px;
	}
}












@media screen and (max-width:767px){
	#topsec03{
		padding: 30px 0 40px;
	}
	#topsec03 .mapbox .mapbox_txt{
		width: 100%;
		float: none;
		display: block;
	}
	#topsec03 .mapbox .mapbox_txt dl {
	    width: 100%;
	}
	#topsec03 .mapbox_map {
	    display: none;
	}
	#topsec03 .mapbox .mapbox_txt dd {
	    width: 100%;
	    padding: 15px 20px;
	}
	#topsec03 .mapbox .mapbox_txt dt{
		width: 100%;
		padding: 5px;
	}
	#topsec03 .title01{
		width: 90%;
		margin:0 auto 30px;
	}
}
/* ----------------------------------------

topsec04

---------------------------------------- */

#topsec04{
	padding-bottom: 70px;
	position: relative;
}
#topsec04:before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-image: url(/files/img/common/bg_dot.png);
    height: 1px;
}

#topsec04 .img_link02{
	overflow: hidden;
}
#topsec04 .img_link02 li a {
    display: block;
    background-color: #fff;
    position: relative;
}
#topsec04 .img_link02 li dt {
    padding-top: 160px;
}
#topsec04 .img_link02 li dd {
    color: #fff;
    font-weight: bold;
    position: absolute;
    left: 0;
    right: 0;
    top: 63px;
    text-align: center;
    width: 100%;
    font-size: 146.7%;
    box-sizing: border-box;
    line-height: 1;
   font-family: 'Noto Serif JP', serif;
}
#topsec04 .img_link02 li dd span{
	position: relative;
	display: block;
}
#topsec04 .img_link02 li dd:after{
	content: "";
	position: absolute;
    bottom:-30px;
    right: 0;
    left: 0;
    margin:auto;
    background-image: url(/files/img/common/arw_03.png);
    width: 30px;
    height: 8px;
    background-size: contain;
    background-repeat: no-repeat;
}

@media screen and (max-width:767px){
	#topsec04{
		padding-bottom: 30px;
		margin-bottom: 40px;
	}
	#topsec04 .img_link02 li{
		margin-bottom: 20px;
	}
	#topsec04 .img_link02 li:last-child{
		margin-bottom: 0;
	}
	#topsec04 .img_link02 li dt {
	    padding-top: 31%;
	    margin-bottom: 0;
	}
	#topsec04 .img_link02 li dd{
		font-size: 128.6%;
		top: 30px;
	}
}
@media screen and (max-width:320px){
	#topsec04 .img_link02 li dd{
	   top: 25px;
	}

}

/* ----------------------------------------

topsec05

---------------------------------------- */

#topsec05 .title03 {
	text-align: center;
}

#topsec05 .Youtube{
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	width: 100%;
	height: 320px;
	margin-bottom: 30px;
}
#topsec05 .Youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#topsec05 .Facebook{
	width: 100%;
}
@media screen and (max-width:767px){
	#topsec05 .Youtube {
		margin-bottom: 15px;
		height: 220px;
	}
	#topsec05 .box_01 > li:nth-child(2n+1){
		margin-bottom: 40px;
	}
	#topsec05  .blklink_list{
		position: relative;
	    padding-bottom: 10px;
	}
	.blklink_list:before {
	    content: "";
	    position: absolute;
	    bottom: 0;
	    left: 0;
	    width: 100%;
	    background-image: url(/files/img/common/bg_dot.png);
	    height: 1px;
	}
}
/* ----------------------------------------

br

---------------------------------------- */
.br_wp{
	display: none;
}


/* ----------------------------------------

clearfix

---------------------------------------- */

/* Modern Browsers
------------------------------- */
#xxxx:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
	line-height: 0;
}

/* Legacy IE
------------------------------- */
#xxxx {
	*zoom: 1;
}