@charset "utf-8";


/*	common
------------------------------------------------------------ */

/* --- SP ---------- */
@media screen and (max-width: 740px) {
	.br-sp {
		display: none;
	}
}

/* --- PC ---------- */
@media screen and (min-width: 741px) {
}


/*	button 
.btn-sublink {
	width: 100%;
	font-size: 0;
}

.btn-sublink li:first-child {
	margin-left: 0;
}

.btn-sublink li {
	display: inline-block;
}

.btn-sublink a {
	box-sizing: border-box;
	padding: .8rem 0;
	background: #5a3548;
font-family: 'Alike' , Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
	text-align: center;
	color: #fff;

	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

.btn-sublink a:hover {
	opacity: 0.8;
}
*/


/* --- SP ---------- */
@media screen and (max-width: 740px) {
	
/*
	.btn-sublink {
		margin: -1rem auto 1rem;
	}
	
	.btn-sublink li {
		width: 32%;
		margin-left: .3rem;
	}
*/
	
}


/* --- PC ---------- */
@media screen and (min-width: 741px) {

/*
	.btn-sublink {
		margin: -1rem auto 2rem;
	}
	
	.btn-sublink li {
		display: inline-block;
		width: 32.5%;
		margin-left: .5rem;
	}
*/
	
}



/*	program
------------------------------------------------------------ */
.program-box div > p {
	background: #fff;
	-moz-box-shadow: 0px 2px 5px rgba(0, 0, 0, .2);
	-webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, .2);
	box-shadow: 0px 2px 5px rgba(0, 0, 0, .2);
	z-index: 100;
}

.program-box div > dl {
	-moz-box-shadow: 0px 2px 5px rgba(0, 0, 0, .2);
	-webkit-box-shadow: 0px 2px 5px rgba(0, 0, 0, .2);
	box-shadow: 0px 2px 5px rgba(0, 0, 0, .2);
	z-index: 1;
}

/*
.program-box .img-05 {
	background: url(../img/program/img_program_05.jpg) right top no-repeat;
	background-size: cover;
}
*/


/* --- SP ---------- */
@media screen and (max-width: 740px) {

	.program-box div > * {
		box-sizing: border-box;
	}

	.program-box div > p {
		padding: 1rem;
	}

	.program-box div > dl {
		padding: 1.5rem;
		background:  #fbfbfb;
	}

	.program-box dl dt {
		font-size: 18px;
		font-weight: bold;
	}

	.program-box .txt-01 {
		margin: 2rem auto;
		width: 100%;
	}

	.program-box .img-01 {
		display: none;
	}

	.program-box .txt-02 {
		margin: 0 auto;
		width: 90%;
	}

	.program-box .img-02 {
		margin: -2rem auto 2rem;
		width: 97%;
	}

	.program-box .txt-02 {
		margin-bottom: 1rem;
	}

	.program-box .img-02 {
		margin-bottom: 2rem;
	}

	.program-box .flt-box::after {
		content: "";
		clear: both;
		display: block;
	}

	.program-box .flt-box .img-03 {
		float: right;
		margin: 0 0 1rem 1rem;
		width: 45%;
		background: none;
		box-shadow: none;
	}

	.program-box .flt-box .txt-03 {
		margin-bottom: 2rem;
		width: 100%;
	}

	.program-box .txt-03 dt:nth-of-type(2) {
		margin-top: 1.5rem;
	}

	.program-box .txt-03 > dd > dl dd {
		margin-bottom: 1rem;
	}

	.program-box .img-04 {
		margin-left: 1.5rem;
		width: 85%;
	}

	.program-box .txt-04 {
		margin: -1rem auto 2rem;
		width: 96%;
	}

	.program-box .txt-04 dd + dt {
		margin-top: 1.5rem;
	}
	

	.program-box .txt-05 {
		margin: 0 auto;
		width: 80%;
	}

	.program-box .txt-05 dd:not(:last-child) {
		margin-bottom: 1rem;
	}


	.program-box .img-05 {
		margin: 0 auto;
		width: 95%;
	}
	
	/*
	.program-box .txt-05 {
		margin: 0 auto;
		width: 90%;
	}

	.program-box .txt-05 dd:not(:last-child) {
		margin-bottom: 1rem;
	}

	.program-box .img-05 span {
		display: block;
		font-size: 18px;
		font-weight: bold;
	}

	.program-box .img-05 span {
		display: block;
		font-size: 18px;
		font-weight: bold;
	}

	.program-box .img-05 span:not(:first-child) {
		margin-top: 1rem;
	}
	*/

}

/* --- PC ---------- */
@media screen and (min-width: 741px) {

	.program-box div > * {
		box-sizing: border-box;
	}

	.program-box div > p {
		padding: 1.5rem;
	}

	.program-box div > dl {
		padding: 2.5rem;
	}

	.program-box dl dt {
		margin-bottom: .5rem;
		font-size: 18px;
		font-weight: bold;
	}

	.program-box .img-01 {
		margin: -13rem 0 0 2.5rem;
		width: 18%;
	}

	.program-box .txt-01 {
		margin: 2rem 0 0 12rem;
		width: 77%;
		background: url(../img/program/txt_bg_01.png) right bottom no-repeat, #fbfbfb;
	}

	.program-box .txt-02 {
		margin: 10rem 0 0 1rem;
		width: 43%;
		background: url(../img/program/txt_bg_02.png) left top no-repeat, #fbfbfb;
	}

	.program-box .img-02 {
		margin: -39rem 0 0 26rem;
		width: 56%;
	}

	.program-box .txt-03 {
		margin: -34rem 0 0 17rem;
		width: 70%;
		background: url(../img/program/txt_bg_03.png) right bottom no-repeat, #fbfbfb;
	}

	.program-box .txt-03 dt:nth-of-type(2) {
		margin-top: 2rem;
	}

	.program-box .txt-03 > dd > dl dd {
		margin-bottom: 1.5rem;
	}

	.program-box .img-03 {
		margin: 11rem 0 0 2rem;
		width: 25%;
	}

	.program-box .img-04 {
		margin: 4rem 0 0 6rem;
		width: 75%;
	}
	
	.program-box .txt-04 {
		margin: -.5rem 0 0 2.5rem;
		width: 92%;
		background: url(../img/program/txt_bg_04.png) left bottom no-repeat, #fbfbfb;
	}

	.program-box .txt-04 dd + dt {
		margin-top: 2rem;
	}

	.program-box .txt-05 {
		margin: 4rem 0 0 11rem;
		width: 75%;
		background: url(../img/program/txt_bg_05.png) left top no-repeat, #fbfbfb;
	}

	.program-box .txt-05 dd:not(:last-child) {
		margin-bottom: 2rem;
	}

	.program-box .img-05 {
		margin: 0 auto;
		width: 95%;
	}

/*
	.program-box .txt-05 {
		margin: 3rem 0 0 1rem;
		width: 54%;
		background: url(../img/program/txt_bg_05.png) left top no-repeat, #fbfbfb;
	}

	.program-box .txt-05 dd:not(:last-child) {
		margin-bottom: 2rem;
	}

	.program-box .img-05 {
		margin: -30rem 0 10rem 32.5rem;
		width: 45%;
	}

	.program-box .img-05 span {
		display: block;
		font-size: 18px;
		font-weight: bold;
	}

	.program-box .img-05 span:not(:first-child) {
		margin-top: 1rem;
	}
*/

}



/*	News
------------------------------------------------------------ */
.news-box dl {
	margin-bottom: 2rem;
}

.news-box dl dd span {
	display: block;
	margin-bottom: .5rem;
	font-weight: bold;
}

/*
.news-box dl dd span + span {
	margin-bottom: .5rem;
	border-bottom: 1px solid #ddd;
	padding-bottom: .5rem;
}
*/

/* --- SP ---------- */
@media screen and (max-width: 740px) {

	.news-box dl dd {
		margin-top: .5rem;
	}

}

/* --- PC ---------- */
@media screen and (min-width: 741px) {

	.news-box dl {
		display: table;
	}
	
	.news-box dl > * {
		display: table-cell;
		vertical-align: top;
	}
	
	.news-box dl dt {
		width: 23%;
	}
	
	.news-box dl dt img {
		width: 100%;
	}
	
	.news-box dl dd {
		padding: .2rem .5rem 0 1.5rem;
	}

}



/*	Report
------------------------------------------------------------ */
.rep-box-03 {
	margin-left: 1rem;
}

.rep-box-03 dt {
	font-weight: bold;
}

.rep-box-03 dd + dd {
	margin-bottom: 1rem;
}

.rep-box-03 + p {
	margin-top: 2rem;
	font-size: 20px;
	font-weight: bold;
	color: #ff9378;
}

/* --- SP ---------- */
@media screen and (max-width: 740px) {

	.rep-list li {
		box-sizing: border-box;
		position: relative;
		margin: 0 0 2% 0;
		width: 100%;
		overflow: hidden;
	}
	
	.rep-list li dl {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, .6);
		text-align: center;
		color: #fff;
		opacity: 1;
	}
	
	.rep-list li dl dt {
		padding: .5rem 1rem;
		border-bottom: 1px solid #666;
	}
	
	.rep-list li dl dd {
		padding: .5rem 1rem 1rem;
	}

	.rep-box-01 li {
		margin: 1rem auto;
		border: 1px solid #ddd;
	}

	.rep-box-01 li p {
		display: none;
	}

	.rep-box-01 li dl dt {
		background: #eee;
		text-align: center;
	}

	.rep-box-01 li dl dd {
		padding: .8rem;
		background: #fff;
		line-height: 1.4;
	}
	
	.rep-box-02 {
		margin-bottom: 1rem;
	}

}

/* --- PC ---------- */
@media screen and (min-width: 741px) {
	
	.rep-list::after {
		content: "";
		clear: both;
		display: block;
	}
	
	.rep-list li {
		box-sizing: border-box;
		position: relative;
		float: left;
		margin: 0 0 2% 1%;
		width: 32%;
		overflow: hidden;
	}
	
	.rep-list li dl {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		width: 100%;
		height: 100%;
		background: rgba(0, 0, 0, .7);
		text-align: center;
		color: #fff;
		-webkit-transition: .7s;
		transition: .7s;
		opacity: 0;
	}
	
	.rep-list li:hover dl {
		opacity: 1;
	}
	
	.rep-list li dl dt {
		padding: 1rem;
		border-bottom: 1px solid #666;
	}
	
	.rep-list li dl dd {
		padding: 1rem;
	}
	
	.rep-box-01 {
		margin: 1.5rem auto 0;
		width: 980px;
		font-size: 0;
	}
	
	.rep-box-01 li {
		position: relative;
		display: inline-block;
		margin-right: 10px;
		margin-bottom: 10px;
		width: 45%;
		vertical-align: top;
		font-size: 14px;
	}
	
	.rep-box-01 li p {
		position: absolute;
		top: 0;
		left: 0;
	}
	
	.rep-box-01 li dl dd {
		position: absolute;
		bottom: 0;
		left:0;
		box-sizing: border-box;
		padding: 1rem;
		width: 100%;
		background: rgba(0, 0, 0, .7);
		line-height: 1.4;
		color: #fff;
	}

	.rep-box-01.h-60 li dl dd {
		padding: .5rem 1rem;
		height: 60px;
	}

	.rep-box-02 {
		margin-bottom: 2rem;
	}

}



/*	Greeting
------------------------------------------------------------ */
.greeting-box dl dt p {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 2rem;
	background: rgba(255, 255, 255,.7);
	line-height: 1.4;
	text-align: center;
}

/* --- SP ---------- */
@media screen and (max-width: 740px) {

	.greeting-box dl dt {
		position: relative;
		margin-bottom: 1rem;
	}

	.greeting-box dl dt p {
		padding: 1rem 1rem 2rem;
		font-size: 16px;
	}
	
	.greeting-box dl dt p span {
		display: block;
		font-size: 11px;
	}

}

/* --- PC ---------- */
@media screen and (min-width: 741px) {

	.greeting-box::after {
		content: "";
		clear: both;
		display: block;
	}

	.greeting-box dl dt {
		position: relative;
		float: left;
		width: 40%;
		margin: 0 2rem 2rem 0;
	}

	.greeting-box dl dt p {
		padding: 1rem 1rem 2rem;
		font-size: 18px;
	}
	
	.greeting-box dl dt p span {
		display: block;
		font-size: 14px;
	}

}



/*	Support
------------------------------------------------------------ */

/* --- SP ---------- */
@media screen and (max-width: 740px) {

	.organ-box img {
		margin: 1rem auto;
	}

}

/* --- PC ---------- */
@media screen and (min-width: 741px) {

	.organ-box img {
		margin: 1.5rem 0 0 3rem;
		width: 85%;
		height: auto;
	}

}




