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

.red {
 font-size: 22px;
	color: #b20008;
}

.main {
	height: 600px;
	background: url(../images/top/main.jpg) no-repeat center center;
}

h1 {
	padding: 10px 10px 0 10px;
	font-size: 12px;
	font-weight: bold;
	color: #333;
	text-shadow:
        #fff 1px 1px 0, #fff -1px -1px 0,/*右下、左上*/
        #fff -1px 1px 0, #fff 1px -1px 0,/*右上、左下*/
        #fff 0px 1px 0, #fff  0-1px 0,/*右、左*/
        #fff -1px 0 0, #fff 1px 0 0;/*上、下*/	
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.main .w1080 {
	position: relative;
}

.w1080.w1240 {
	width: 1240px;
}

.main .text {
	position: absolute;
	top: 103px;
	right: 94px;
}

#special-content {
	background: #e13831;
	padding: 60px 0;
	text-align: center;
	color: #fff;
}

#special-content .inner {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 20px;
}

#special-content h2 {
	font-size: 56px;
	line-height: 1.5;
	border-bottom: 1px solid #fff;
	padding-bottom: 5px;
}

#special-content .sheet {
	font-size: 32px;
	line-height: 1.5;
	margin-top: 20px;
}

#special-content figure {
	width: 90%;
	max-width: 800px;
	margin: 30px auto;
}

#special-content figure img {
	width: 100%;
}

#special-content .schedule {
	display: flex;
	justify-content: center;
	gap: 40px;
}

#special-content .schedule li {
	font-size: 26px;
	line-height: 1.5;
}

#special-content .schedule li span {
	font-size: 70%;
	vertical-align: text-bottom;
	margin-right: 5px;
}

#content01 {
	height: 570px;
	background: url(../images/common/back00.jpg) no-repeat center center;
}

#content01 h2 {
	font-size: 32px;
	font-weight: bold;
	writing-mode: vertical-rl;
	position: absolute;
	top:128px;
	right: 162px;
	height: 309px;
}

#content01 p {
	font-size: 22px;
	writing-mode: vertical-rl;
	position: absolute;
	top:128px;
	right: 238px;
	height: 330px;
	line-height: 220%;
}

#content01 .c01 {
	position: absolute;
	top: 110px;
	left: 140px;
}

#content01 .c01_text {
	position: absolute;
	top: 316px;
	left: 174px;
}

#content01 .c02 {
	position: absolute;
	top: 298px;
	left: -47px;
}

#content01 .c03 {
	position: absolute;
	top: 389px;
	right: -50px;
}

#content02 {
	background: url(../images/common/back05.png) repeat;
	padding: 120px 0;
	text-align: center;
}

#content02 ul li {
	display: inline-block;
	vertical-align: top;
	margin: 0 30px;
	width: 320px;
}

#content02 ul li h2 {
	font-size: 44px;
	font-weight: bold;
	text-align: center;
	margin: 24px 0;
	line-height: 100%;
}

#content02 ul li p {
	font-size: 18px;
	line-height: 180%;
	text-align: left;
}

#content02 ul li a.link {
	text-align: center;
	display: block;
	margin: 15px 0 0;
}

#content03 {
	background: url(../images/common/back02.jpg);
	padding: 60px 0;
	text-align: center;
	display: flex;
	align-content: center;
	justify-content: center;
}

#content03 h2 {
	display: flex;
	order: 3;
	font-size: 72px;
	font-weight: bold;
	margin-right: 70px;
	width: 120px;
	height: 580px;
}

#content03 p {
	display: flex;
	order: 2;
	font-size: 18px;
	line-height: 200%;
	height: 376px;
	text-align: left;
	padding: 0 0px 0 20px;
	flex-shrink: 0;
	flex-basis: auto;
	width: 130px;
	box-sizing:border-box;
}

#content03 .link {
	display: flex;
	order: 1;
	flex-shrink: 0;
	flex-basis: auto;
	max-width: 100%;
	box-sizing:border-box;
}

#content03 .photo {
	display: flex;
	order: 4;
}

#content04 {
	padding: 120px 0;
	background: url(../images/common/back03.png);
	justify-content:center;
	text-align: center;
}

#content04 .w1080 {
	display: flex;
	display:-webkit-box;
    display:-moz-box;
    display:-ms-flexbox;
    display:-webkit-flex;
    display:-moz-flex;
    display:flex;
    -webkit-box-pack:center;
    -moz-box-pack:center;
    -webkit-flex-pack:center;
    -moz-flex-pack:center;
    -ms-flex-pack:center;
    -webkit-justify-content:center;
    -moz-justify-content:center;
    justify-content:center;
}

#content04 h2 {
	display: flex;
	order: 3;
	font-size: 72px;
	font-weight: bold;
	margin-right: 70px;
	width: 76px;
	line-height: 100%;
}

#content04 .link {
	display: flex;
	order: 2;
	width: 30px;
	margin-right: 40px;
}

#content04 .photo {
	display: flex;
	order: 1;
	margin-right: 80px;
}

#content04 .c01 {
	position: absolute;
	left: 0;
	bottom: -50px;
}

#content05 {
	padding: 120px 0;
	background: url(../images/common/back01.jpg);
	text-align: center;
	display: flex;
  justify-content: center;
  align-items: center;
	
}

#content05 .w1080 {
	display: flex;
  justify-content: center;
  align-items: center;

}

#content05 .left {
	display: flex;
	order: 3;
	width: 500px;
	margin: 0 70px 0 0;
	justify-content:center;
}

#content05 .right {
	display: flex;
	order: 3;
	width: 508px;
	position: relative;
	justify-content:center;
}

#content05 .left h2 {
	display: flex;
	order: 3;
	font-size: 72px;
	font-weight: bold;
	width: 100px;
	line-height: 100%;
}

#content05 .left .link {
	display: flex;
	order: 1;
	width: 30px;
	margin-right: 40px;
}

#content05 .left p {
	display: flex;
	order: 2;
	font-size: 18px;
	line-height: 200%;
	height: 440px;
	text-align: left;
	padding: 0 0px 0 20px;
	flex-shrink: 0;
	flex-basis: auto;
	width: 320px;
	box-sizing:border-box;
}

#content05 .right .c01 {
	position: absolute;
	left: -60px;
	top: -80px;
}