@charset "utf-8";

/*=========================================*/
/* SCHEDULE */
/*=========================================*/


/*-- SCHEDULE --*/

.contents_schedule_area{
	position:relative;
	margin:0px 0px 90px 0px;
	width:100%;
}

.contents_schedule_area::before{
	position:absolute;
	top:0px;
	left:17px;
	height:100%;
	border-left:1px dotted rgba(25,25,25,1.0);
	box-sizing:border-box;
	content:'';
}

.schedule_flow{
	position:relative;
	width:100%;
	display:flex;
}

.schedule_icon{
	position:relative;
	width:60px;
}

.schedule_icon.icon_top::before{
	position:absolute;
	top:0px;
	left:0px;
	width:35px;
	height:15px;
	background-color:rgba(190,210,110,1.0);
	content:'';
}

.schedule_icon.icon_bottom::before{
	position:absolute;
	top:15px;
	left:0px;
	width:35px;
	height:100%;
	background-color:rgba(190,210,110,1.0);
	content:'';
}

.schedule_icon .icon_flow{
	position:relative;
	margin:15px 0px 0px 0px;
	width:35px;
	height:35px;
	background-image:url(../images/svg/icon_schedule_flow.svg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:35px 35px;
	z-index:1;
}

.schedule_icon .icon_offer{
	position:relative;
	margin:15px 0px 0px 0px;
	width:35px;
	height:35px;
	background-image:url(../images/svg/icon_schedule_offer.svg);
	background-repeat:no-repeat;
	background-position:center;
	background-size:35px 35px;
	z-index:1;
}

.schedule_flow_arrow{
	position:relative;
	margin:0px 10px 70px 0px;
	background-color:rgba(255,255,255,1.0);
	border:1px solid rgba(25,25,25,1.0);
	box-sizing:border-box;
	flex:1;
	display:flex;
	flex-wrap:wrap;
	/* shadow */
	box-shadow:10px 10px rgba(25,25,25,0.15);
}

.schedule_flow_arrow::before{
	position:absolute;
	bottom:-50px;
	left:0px;
	right:0px;
	margin:auto;
	display:inline-block;
	width:30px;
	height:50px;
	background-color:rgba(25,25,25,1.0);
	clip-path:polygon(0 48%, 40% 48%, 40% 0, 60% 0, 60% 48%, 100% 48%, 50% 100%);
	content:'';
}

.schedule_flow_bottom{
	position:relative;
	margin:0px 10px 10px 0px;
	background-color:rgba(255,255,255,1.0);
	border:1px solid rgba(25,25,25,1.0);
	box-sizing:border-box;
	flex:1;
	display:flex;
	flex-wrap:wrap;
	/* shadow */
	box-shadow:10px 10px rgba(25,25,25,0.15);
}

.schedule_flow_offer{
	position:relative;
	margin:0px 10px 10px 0px;
	background-color:rgba(255,225,0,1.0);
	border:1px solid rgba(25,25,25,1.0);
	box-sizing:border-box;
	flex:1;
	display:flex;
	flex-wrap:wrap;
	/* shadow */
	box-shadow:10px 10px rgba(25,25,25,0.15);
}

.schedule_date{
	position:relative;
	width:240px;
	background-color:rgba(150,180,15,1.0);
	border-right:1px solid rgba(25,25,25,1.0);
	box-sizing:border-box;
	display:flex;
	align-items:center;
}

.schedule_date .date{
	padding:35px 0px 35px 25px;
	font-size:175%;
	line-height:125%;
	letter-spacing:-0.05em;
	font-family:"Yu Mincho", "YuMincho", "游明朝体", "游明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pr6 W6", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	color:rgba(0,0,0,1.0);
	font-weight:normal;
}

.schedule_text{
	position:relative;
	width:calc(100% - 240px);
	display:flex;
	align-items:center;
}

.schedule_text .text{
	padding:35px 25px 35px 25px;
	font-size:175%;
	line-height:125%;
	letter-spacing:-0.025em;
	font-family:"Yu Mincho", "YuMincho", "游明朝体", "游明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pr6 W6", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	color:rgba(0,0,0,1.0);
	font-weight:normal;
}

.schedule_offer{
	position:relative;
	width:100%;
}

.schedule_offer .offer{
	padding:35px 25px 35px 25px;
	font-size:250%;
	line-height:125%;
	letter-spacing:-0.025em;
	font-family:"Yu Mincho", "YuMincho", "游明朝体", "游明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pr6 W6", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	color:rgba(0,0,0,1.0);
	font-weight:normal;
	text-align:center;
}

.schedule_notes{
	position:relative;
	margin:0px 10px 0px 60px;
	width:calc(100% - 70px);
}

.schedule_notes .notes{
	padding:65px 25px 75px 25px;
	font-size:168.75%;
	line-height:125%;
	letter-spacing:-0.025em;
	font-family:"Yu Mincho", "YuMincho", "游明朝体", "游明朝", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pr6 W6", "Hiragino Mincho Pro", "Noto Serif JP", serif;
	color:rgba(0,0,0,1.0);
	font-weight:normal;
	text-align:center;
}

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

.contents_schedule_area{
	margin:0px 0px 75px 0px;
}

.contents_schedule_area::before{
	left:15px;
}

.schedule_icon{
	width:50px;
}

.schedule_icon.icon_top::before{
	width:31px;
}

.schedule_icon.icon_bottom::before{
	width:31px;
}

.schedule_icon .icon_flow{
	width:31px;
	height:31px;
	background-size:31px 31px;
}

.schedule_icon .icon_offer{
	width:31px;
	height:31px;
	background-size:31px 31px;
}

.schedule_flow_arrow{
	margin:0px 10px 55px 0px;
}

.schedule_flow_arrow::before{
	bottom:-40px;
	width:24px;
	height:40px;
}

.schedule_date{
	position:relative;
	width:205px;
	background-color:rgba(150,180,15,1.0);
	border-right:1px solid rgba(25,25,25,1.0);
	box-sizing:border-box;
	display:flex;
	align-items:center;
}

.schedule_date .date{
	padding:30px 0px 30px 20px;
	font-size:162.5%;
}

.schedule_text{
	position:relative;
	width:calc(100% - 205px);
	display:flex;
	align-items:center;
}

.schedule_text .text{
	padding:30px 20px 30px 20px;
	font-size:162.5%;
}

.schedule_offer .offer{
	padding:30px 20px 30px 20px;
	font-size:237.5%;
}

.schedule_notes{
	margin:0px 10px 0px 50px;
	width:calc(100% - 60px);
}

.schedule_notes .notes{
	padding:55px 20px 65px 20px;
	font-size:156.25%;
}

}

@media all and (max-width:960px), print{

.contents_schedule_area{
	margin:0px 0px 60px 0px;
}

.contents_schedule_area::before{
	left:12px;
}

.schedule_icon{
	width:40px;
}

.schedule_icon.icon_top::before{
	width:25px;
	height:10px;
}

.schedule_icon.icon_bottom::before{
	top:10px;
	width:25px;
}

.schedule_icon .icon_flow{
	margin:10px 0px 0px 0px;
	width:25px;
	height:25px;
	background-size:25px 25px;
}

.schedule_icon .icon_offer{
	margin:10px 0px 0px 0px;
	width:25px;
	height:25px;
	background-size:25px 25px;
}

.schedule_flow_arrow{
	margin:0px 8px 50px 0px;
	/* shadow */
	box-shadow:8px 8px rgba(25,25,25,0.15);
}

.schedule_flow_arrow::before{
	bottom:-35px;
	width:21px;
	height:35px;
}

.schedule_flow_bottom{
	margin:0px 8px 8px 0px;
	/* shadow */
	box-shadow:8px 8px rgba(25,25,25,0.15);
}

.schedule_flow_offer{
	margin:0px 8px 8px 0px;
	/* shadow */
	box-shadow:8px 8px rgba(25,25,25,0.15);
}

.schedule_date{
	width:175px;
}

.schedule_date .date{
	padding:25px 0px 25px 15px;
	font-size:150%;
}

.schedule_text{
	width:calc(100% - 175px);
}

.schedule_text .text{
	padding:25px 15px 25px 15px;
	font-size:150%;
}

.schedule_offer .offer{
	padding:25px 15px 25px 15px;
	font-size:225%;
}

.schedule_notes{
	margin:0px 8px 0px 40px;
	width:calc(100% - 48px);
}

.schedule_notes .notes{
	padding:45px 15px 55px 15px;
	font-size:143.75%;
}

}

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

.contents_schedule_area{
	margin:0px 0px 45px 0px;
}

.contents_schedule_area::before{
	left:10px;
}

.schedule_icon{
	width:30px;
}

.schedule_icon.icon_top::before{
	width:21px;
}

.schedule_icon.icon_bottom::before{
	width:21px;
}

.schedule_icon .icon_flow{
	width:21px;
	height:21px;
	background-size:21px 21px;
}

.schedule_icon .icon_offer{
	width:21px;
	height:21px;
	background-size:21px 21px;
}

.schedule_flow_arrow{
	margin:0px 6px 40px 0px;
	/* shadow */
	box-shadow:6px 6px rgba(25,25,25,0.15);
}

.schedule_flow_arrow::before{
	bottom:-30px;
	width:18px;
	height:30px;
}

.schedule_flow_bottom{
	margin:0px 6px 6px 0px;
	/* shadow */
	box-shadow:6px 6px rgba(25,25,25,0.15);
}

.schedule_flow_offer{
	margin:0px 6px 6px 0px;
	/* shadow */
	box-shadow:6px 6px rgba(25,25,25,0.15);
}

.schedule_date{
	width:145px;
}

.schedule_date .date{
	padding:20px 0px 20px 10px;
	font-size:131.25%;
}

.schedule_text{
	width:calc(100% - 145px);
}

.schedule_text .text{
	padding:20px 10px 20px 10px;
	font-size:131.25%;
}

.schedule_offer .offer{
	padding:20px 10px 20px 10px;
	font-size:200%;
}

.schedule_notes{
	margin:0px 6px 0px 30px;
	width:calc(100% - 36px);
}

.schedule_notes .notes{
	padding:35px 10px 45px 10px;
	font-size:125%;
}

}

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

.schedule_date{
	width:100%;
	border-right:none;
	border-bottom:1px solid rgba(25,25,25,1.0);
}

.schedule_date .date{
	padding:8px 0px 6px 10px;
	font-size:118.75%;
}

.schedule_text{
	width:100%;
}

.schedule_text .text{
	padding:15px 10px 15px 10px;
	font-size:118.75%;
}

.schedule_offer .offer{
	padding:15px 10px 15px 10px;
	font-size:175%;
}

.schedule_notes .notes{
	padding:25px 10px 35px 10px;
	font-size:112.5%;
}

}


/*-- ENTRY NAV --*/

.schedule_entry_nav{
	padding:0px 0px 90px 60px;
	width:calc(100% - 60px);
}

.schedule_entry_nav .nav{
	position:relative;
	margin:0px auto 0px auto;
	width:540px;
	background-color:rgba(25,25,25,1.0);
	transition:0.25s ease-out;
	overflow:hidden;
}

.schedule_entry_nav .nav::after{
	position:absolute;
	top:0px;
	left:0px;
	right:0px;
	bottom:0px;
	width:100%;
	height:100%;
	content:'';
	transform-origin:right top;
	transform:scale(0, 1);
	transition:0.35s transform;
}

.schedule_entry_nav .nav::after{
	background-color:rgba(0,0,0,0.25);
}

.schedule_entry_nav .nav:hover::after{
	transform-origin:left top;
	transform:scale(1, 1);
}

.schedule_entry_nav .nav a{
	position:relative;
	display:flex;
	align-items:center;
	text-decoration:none;
	z-index:1;
}

.schedule_entry_nav .nav a.icon_entry{
	background-image:url(../images/svg/icon_entry_white.svg);
	background-repeat:no-repeat;
	background-position:right 35px center;
	background-size:auto 45px;
}

.schedule_entry_nav .nav .eng{
	padding:0px 0px 0px 35px;
	font-size:32px;
	line-height:115px;
	letter-spacing:-0.02em;
	color:rgba(255,255,255,1.0);
	font-weight:600;
}

.schedule_entry_nav .nav .name{
	padding:0px 0px 0px 15px;
	font-size:118.75%;
	line-height:115px;
	letter-spacing:-0.01em;
	color:rgba(255,255,255,1.0);
	font-weight:500;
}

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

.schedule_entry_nav{
	padding:0px 0px 75px 50px;
	width:calc(100% - 50px);
}

.schedule_entry_nav .nav{
	width:480px;
}

.schedule_entry_nav .nav a.icon_entry{
	background-position:right 30px center;
	background-size:auto 40px;
}

.schedule_entry_nav .nav .eng{
	padding:0px 0px 0px 30px;
	font-size:28px;
	line-height:100px;
}

.schedule_entry_nav .nav .name{
	padding:0px 0px 0px 13px;
	font-size:112.5%;
	line-height:100px;
}

}

@media all and (max-width:960px), print{

.schedule_entry_nav{
	padding:0px 0px 60px 40px;
	width:calc(100% - 40px);
}

.schedule_entry_nav .nav{
	width:420px;
	transition:0s ease-out;
}

.schedule_entry_nav .nav::after{
	background-color:rgba(0,0,0,0.0);
}

.schedule_entry_nav .nav a.icon_entry{
	background-position:right 25px center;
	background-size:auto 35px;
}

.schedule_entry_nav .nav .eng{
	padding:0px 0px 0px 25px;
	font-size:24px;
	line-height:85px;
}

.schedule_entry_nav .nav .name{
	padding:0px 0px 0px 11px;
	font-size:106.25%;
	line-height:85px;
}

}

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

.schedule_entry_nav{
	padding:0px 0px 45px 0px;
	width:100%;
}

.schedule_entry_nav .nav{
	width:360px;
}

.schedule_entry_nav .nav a.icon_entry{
	background-position:right 20px center;
	background-size:auto 30px;
}

.schedule_entry_nav .nav .eng{
	padding:0px 0px 0px 20px;
	font-size:20px;
	line-height:70px;
}

.schedule_entry_nav .nav .name{
	padding:0px 0px 0px 9px;
	font-size:100%;
	line-height:70px;
}

}

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

.schedule_entry_nav .nav{
	width:320px;
}

}

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

.schedule_entry_nav .nav{
	width:280px;
}

}

