@charset "utf-8";

/* ************************** Base ************************** */
/* **************************************************** */
html{
	overflow-x: hidden;
}
body,html,html a{
	-webkit-font-smoothing: antialiased;
}
body{
	position: relative;
	font-family: "游ゴシック Medium", YuGothicM, "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 1.8em;
	line-height: 1.8;
	color: #000;
}
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: normal;
	src: local('YuGothic-Medium'),
	local('Yu Gothic Medium'),
	local('YuGothic-Regular');
}
@font-face {
	font-family: 'MyYuGothicM';
	font-weight: bold;
	src: local('YuGothic-Bold'),
	local('Yu Gothic');
}
a,a:active,a:focus,a:hover{
	outline: 0;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
}
a[href^="tel:"]{
	color: #000;
	pointer-events: none;
}
hr{
	margin: 0;
}
@media (max-width:480px){
	body{
		font-size: 1.6em;
	}
	a[href^="tel:"]{
		color: #337ab7;
		pointer-events: auto;
		text-decoration: none;
	}
	a[href^="tel:"]:hover{
		text-decoration: underline;
	}
}
/* Font *****************************/
p,ol,ul,h1,h2,h3,h4,h5,h6{
	margin: 0;
	padding: 0;
}
ol, ul{
	margin-left: 1.5em;
}
.list-text li{
	padding-bottom: 10px;
}
.list-text li:last-child{
	padding-bottom: 0;
}
h1,h2,h3,h4,h5,h6{
	line-height: 1.4;
}
.font-midashi-mi{
	font-family: 'Noto Serif JP', serif;
	font-style: normal;
	font-weight: 700;
}
/* .font-bookmania{
	font-family: bookmania, serif;
	font-style: italic;
	font-weight: 700;
} */
.font-bold{
	/* 游ゴシック Mediumを除く */
	font-family: "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo",sans-serif;
	font-weight: bold;
}
s.font-link{
	font-size: 1.6rem;
	text-decoration: underline;
}
.font-link:hover{
	text-decoration: none;
}
.color-white{
	color: #fff! important;
}
.color-blue-dark{
	color: #13203d !important;
}
/* Background *****************************/
.bg-color-white{
	background: #fff;
}
.bg-color-sky-light{
	background: #f1f1f1;
}
.bg-color-red{
	background: #e50012;
	background-image: url(../images/pattern-1.png);
	background-repeat: repeat;
	background-position: top left;
}
.bg-color-yellow{
	background: #fdd228;
	background-image: url(../images/pattern-1.png);
	background-repeat: repeat;
	background-position: top left;
}
.bg-color-blue-dark{
	background-color: #13203d;
	background-image: url(../images/pattern-1.png);
	background-repeat: repeat;
	background-position: top left;
}
.bg-weave{
	background-image: url(../images/pattern-2.png);
	background-repeat: repeat;
	background-position: top left;
}
.bg-dot{
	background-image: url(../images/pattern-3.png);
	background-repeat: repeat;
	background-position: top left;
}
/* Margin & Padding *****************************/
.content{
	padding-top: 40px;
	padding-bottom: 40px;
}
.content-md{
	padding-top: 80px;
	padding-bottom: 80px;
}
.content-lg{
	padding-top: 100px;
	padding-bottom: 100px;
}
.padding-t-160{
	padding-top: 160px!important;
}
.padding-b-120{
	padding-bottom: 120px!important;
}
.margin-l-0{
	margin-left: 0!important;
}
.margin-l-5{
	margin-left: 5px!important;
}
.margin-l-10{
	margin-left: 10px!important;
}
.margin-l-20{
	margin-left: 20px!important;
}
.margin-r-0{
	margin-right: 0!important;
}
.margin-r-5{
	margin-right: 5px!important;
}
.margin-r-10{
	margin-right: 10px!important;
}
.margin-r-20{
	margin-right: 20px!important;
}
.margin-r-30{
	margin-right: 30px!important;
}
.margin-t-0{
	margin-top: 0!important;
}
.margin-t-5{
	margin-top: 5px!important;
}
.margin-t-10{
	margin-top: 10px!important;
}
.margin-t-20{
	margin-top: 20px!important;
}
.margin-t-30{
	margin-top: 30px!important;
}
.margin-t-40{
	margin-top: 40px!important;
}
.margin-t-50{
	margin-top: 50px!important;
}
.margin-t-60{
	margin-top: 60px!important;
}
.margin-b-0{
	margin-bottom: 0!important;
}
.margin-b-4{
	margin-bottom: 4px!important;
}
.margin-b-5{
	margin-bottom: 5px!important;
}
.margin-b-10{
	margin-bottom: 10px!important;
}
.margin-b-20{
	margin-bottom: 20px!important;
}
.margin-b-30{
	margin-bottom: 30px!important;
}
.margin-b-40{
	margin-bottom: 40px!important;
}
.margin-b-50{
	margin-bottom: 50px!important;
}
.margin-b-60{
	margin-bottom: 60px!important;
}
.margin-b-70{
	margin-bottom: 70px!important;
}
.margin-b-80{
	margin-bottom: 80px!important;
}
.margin-b-90{
	margin-bottom: 90px!important;
}
.margin-b-100{
	margin-bottom: 100px!important;
}
@media (max-width:992px){
	.md-margin-b-0{
		margin-bottom: 0!important;
	}
	.md-margin-b-4{
		margin-bottom: 4px!important;
	}
	.md-margin-b-5{
		margin-bottom: 5px!important;
	}
	.md-margin-b-10{
		margin-bottom: 10px!important;
	}
	.md-margin-b-20{
		margin-bottom: 20px!important;
	}
	.md-margin-b-30{
		margin-bottom: 30px!important;
	}
	.md-margin-b-40{
		margin-bottom: 40px!important;
	}
	.md-margin-b-50{
		margin-bottom: 50px!important;
	}
	.md-margin-b-60{
		margin-bottom: 60px!important;
	}
	.md-margin-b-70{
		margin-bottom: 70px!important;
	}
	.md-margin-b-80{
		margin-bottom: 80px!important;
	}
	.md-margin-b-90{
		margin-bottom: 90px!important;
	}
	.md-margin-b-100{
		margin-bottom: 100px!important;
	}
	.md-text-center{
		text-align: center;
	}
	.md-text-left{
		text-align: left;
	}
	.md-text-right{
		text-align: right;
	}
}
@media (max-width:768px){
	.sm-margin-b-0{
		margin-bottom: 0!important;
	}
	.sm-margin-b-4{
		margin-bottom: 4px!important;
	}
	.sm-margin-b-5{
		margin-bottom: 5px!important;
	}
	.sm-margin-b-10{
		margin-bottom: 10px!important;
	}
	.sm-margin-b-20{
		margin-bottom: 20px!important;
	}
	.sm-margin-b-30{
		margin-bottom: 30px!important;
	}
	.sm-margin-b-40{
		margin-bottom: 40px!important;
	}
	.sm-margin-b-50{
		margin-bottom: 50px!important;
	}
	.sm-margin-b-60{
		margin-bottom: 60px!important;
	}
	.sm-margin-b-70{
		margin-bottom: 70px!important;
	}
	.sm-margin-b-80{
		margin-bottom: 80px!important;
	}
	.sm-margin-b-90{
		margin-bottom: 90px!important;
	}
	.sm-margin-b-100{
		margin-bottom: 100px!important;
	}
	.sm-text-center{
		text-align: center;
	}
	.sm-text-left{
		text-align: left;
	}
	.sm-text-right{
		text-align: right;
	}
}
@media (max-width:480px){
	.content,
	.content-md{
		padding-top: 50px;
		padding-bottom: 50px;
	}
	.content-lg{
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.padding-t-160{
		padding-top: 100px!important;
	}
	.padding-b-120{
		padding-bottom: 80px!important;
	}
	.xs-margin-b-0{
		margin-bottom: 0!important;
	}
	.xs-margin-b-4{
		margin-bottom: 4px!important;
	}
	.xs-margin-b-5{
		margin-bottom: 5px!important;
	}
	.xs-margin-b-10{
		margin-bottom: 10px!important;
	}
	.xs-margin-b-20{
		margin-bottom: 20px!important;
	}
	.xs-margin-b-30{
		margin-bottom: 30px!important;
	}
	.xs-margin-b-40{
		margin-bottom: 40px!important;
	}
	.xs-margin-b-50{
		margin-bottom: 50px!important;
	}
	.xs-margin-b-60{
		margin-bottom: 60px!important;
	}
	.xs-margin-b-70{
		margin-bottom: 70px!important;
	}
	.xs-margin-b-80{
		margin-bottom: 80px!important;
	}
	.xs-margin-b-90{
		margin-bottom: 90px!important;
	}
	.xs-margin-b-100{
		margin-bottom: 100px!important;
	}
	.xs-text-center{
		text-align: center;
	}
	.xs-text-left{
		text-align: left;
	}
	.xs-text-right{
		text-align: right;
	}
}
/* ************************** HEADER ************************** */
/* **************************************************** */
.header .navbar{
	margin-bottom: 0;
	background: #fff;
	border: none;
	border-bottom: 1px solid rgba(0,0,0,.1);
	border-radius: 0 !important;
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.navbar-fixed-top .navbar-collapse{
	max-height: 100%;
}
/*-- social-bar --*/
.header .social-bar{
	position: fixed;
	top: 260px;
	left: 0;
	border: 1px solid #fff;
	border-left: none;
}
.social-bar-text{
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 40px;
	letter-spacing: -0.05em;
}
.header .social-bar ul{
	list-style: none;
	margin: 0;
}
.header .social-bar ul li{
	border-bottom: 1px solid #fff;
}
.header .social-bar ul li:last-child{
	border-bottom: none;
}
.header .social-bar ul li a{
	display: block;
	width: 40px;
}
.header .social-bar ul li a:hover{
	opacity: 0.7;
}
.btn-social .icon{
	font-size: 2.4rem;
	line-height: 40px;
}
.btn-social.facebook{
	background-color: #3b5998;
}
.btn-social.twitter{
	background-color: #1da1f2;
}
/*-- navbar-toggle --*/
.header .navbar-toggle{
	margin: 20px 0;
	padding: 0;
	width: 30px;
	height: 30px;
	border: none;
}
.header .navbar-toggle .toggle-icon{
	display: inline-block;
	position: relative;
	width: 22px;
	height: 1px;
	background: #000;
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.header .navbar-toggle .toggle-icon:after,
.header .navbar-toggle .toggle-icon:before{
	position: absolute;
	left: 0;
	background: #000;
	content: " ";
}
.header .navbar-toggle .toggle-icon:before{
	bottom: 10px;
	width: 10px;
	height: 1px;
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	transform: rotate(0);
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.header .navbar-toggle .toggle-icon:after{
	top: -5px;
	width: 16px;
	height: 1px;
	-webkit-transform: rotate(0);
	-moz-transform: rotate(0);
	transform: rotate(0);
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.header .navbar-toggle:hover .toggle-icon{
	background: #005bac;
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.header .navbar-toggle:hover .toggle-icon:after,
.header .navbar-toggle:hover .toggle-icon:before{
	width: 22px;
	height: 1px;
	background: #005bac;
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
/*-- nav-item --*/
.header .logo-img-active,
.header .logo-img-main,
.header .nav-item.active .nav-item-hover:after,
.header .nav-item:hover .nav-item-hover:after{
	transition-duration: .4s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.header .navbar-toggle:hover .toggle-icon.is-clicked{
	background: rgba(81, 87, 105, 0);
}
.header .nav-item,
.header .nav-item-child{
	display: block;
	position: relative;
}
.header .nav-item.active .nav-item-hover:after,
.header .nav-item:hover .nav-item-hover:after{
	opacity: 1;
}
.header .nav-item-child{
	padding: 0 20px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 70px;
	color: #000;
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.header .nav-item-child:focus,
.header .nav-item-child:hover{
	background: inherit;
}
.header .nav-item-hover{
	position: relative;
}
.header .nav-item-hover:after{
	position: absolute;
	top: 35px;
	left: 0;
	width: 9px;
	height: 2px;
	background: #e5322e;
	opacity: 0;
	transition-duration: .4s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.header .nav-item-hover:after{
	content: " ";
}
.nav .open>a,
.nav .open>a:focus,
.nav .open>a:hover{
	background-color: transparent;
	border-color: transparent;
}
.caret{
	position: relative;
	top: -1px;
	margin-left: 5px;
}
.dropdown-menu{
	padding: 10px 0;
	border-radius: 4px !important;
	font-size: 1.4rem;
}
.dropdown-menu>li>a{
	padding: 10px 20px;
	font-weight: bold;
	color: #000
}
.dropdown-menu>li>a .icon{
	margin-left: 8px;
}
/*-- nav-btn-entry --*/
.nav-btn-entry{
	display: block;
	margin: 10px 0 0 20px;
	width: 160px;
	background-color: #fdd228;
	box-shadow: 4px 4px 9px -2px rgba(74,69,100,.2);
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 50px;
	color: #000;
}
.nav-btn-entry:hover{
	background-color: #fdd228 !important;
	color: #000 !important;
	opacity: 0.7;
}
/*-- logo --*/
.header .logo-img,.header .logo-img-main,.header .logo-wrap{
	display: inline-block;
}
.header .logo{
	float: left;
}
.header .logo-wrap{
	position: relative;
	padding: 5px 0;
}
.header .logo-wrap .logo-img{
	width: auto;
	height: 60px;
}
.header .logo-wrap span{
	position: absolute;
	top: 20px;
	left: 85px;
	font-size: 1.2rem;
	line-height: 1.4;
	color: #000;
	white-space: nowrap;
}
@media (max-width:991px){
	.header{
		background: #fff;
	}
	.header .navbar-toggle{
		display: block;
	}
	.header .navbar-collapse.collapse{
		display: none!important;
	}
	.header .navbar-collapse.collapse.in{
		display: block!important;
	}
	.header .nav-collapse{
		padding-right: 0;
		padding-left: 0;
	}
	.header .navbar-nav{
		float: none;
		margin: 0;
	}
	.header .navbar-nav .nav-item{
		float: none;
	}
	.header .menu-container:after,
	.header .menu-container:before{
		content: " ";
		display: table;
	}
	.header .menu-container:after{
		clear: both;
	}
	.header .nav-item-child{
		padding: 15px;
		line-height: 1.4;
	}
	.header .nav-item-hover:after{
		position: absolute;
		top: 23px;
	}
	.nav-btn-entry{
		margin: 15px;
		width: auto;
		text-align: center;
	}
	.dropdown-menu{
		padding: 0;
	}
	.dropdown-menu>li>a{
		padding: 15px !important;
	}
}
@media (max-width:767px){
	.header .menu-container{
		margin-right: 0;
		margin-left: 0;
		padding: 0 15px;
	}
	.header .navbar>.container,
	.header .navbar>.container>.nav-collapse{
		margin-right: 0;
		margin-left: 0;
		padding-right: 0;
		padding-left: 0;
	}
	.header .navbar>.container{
		width: auto;
	}
}
@media (min-width:992px){
	.header .navbar-nav-right{
		float: right;
	}
	.page-on-scroll .header .navbar{
		background: #fff;
		transition-duration: .3s;
		transition-property: all;
		transition-timing-function: cubic-bezier(.7, 1, .7, 1);
	}
	.page-on-scroll .header .logo-img-active,
	.page-on-scroll .header .logo-img-main{
		transition-duration: .4s;
		transition-property: all;
		transition-timing-function: cubic-bezier(.7, 1, .7, 1);
	}
	.page-on-scroll .header .logo-img-main{
		display: none;
	}
	.page-on-scroll .header .logo-img-active{
		display: inline-block;
	}
	.page-on-scroll .header .nav-item-child{
		transition-duration: .3s;
		transition-property: all;
		transition-timing-function: cubic-bezier(.7, 1, .7, 1);
	}
}
/* ************************** FOOTER ************************** */
/* **************************************************** */
.footer-inner{
	background: url(../images/copyright-bg.png);
	background-repeat: no-repeat;
	background-position: bottom left;
}
.footer .footer-name{
	margin-bottom: 10px;
	font-size: 2rem;
	line-height: 1.4;
}
.footer .footer-address{
	font-size: 1.4rem;
}
.footer .footer-tel{
	padding-top: 10px;
	overflow: hidden;
}
.footer .footer-tel .icon,
.footer .footer-tel .footer-tel-content{
	float: left;
}
.footer-tel .icon{
	margin: 3px 10px 30px 0;
	font-size: 2.4rem;
}
.footer-tel-text a{
	margin-bottom: 10px;
	font-size: 3rem;
	line-height: 1;
}
.footer-tel-text p{
	font-size: 1.4rem;
}
.fb-text{
	display: inline-block;
	position: relative;
	padding: 0 40px;
	font-size: 1.6rem;
}
.fb-text:before,
.fb-text:after{
	content: '';
	position: absolute;
	top: 50%;
	display: inline-block;
	width: 40px;
	height: 1px;
	background-color: #000;
}
.fb-text:before{
	left:0;
	transform: rotate(60deg);
}
.fb-text:after{
	right: 0;
	transform: rotate(-60deg);
}
.footer-share-title{
	display: inline-block;
	position: relative;
	margin-left: 8px;
	padding: 8px 20px;
	background-color: #e5322e;
	font-size: 1.6rem;
	-webkit-transform: skewX(-20deg);
	transform: skewX(-20deg);
}
.footer-share-title span{
	display: block;
	-webkit-transform: skewX(20deg);
	transform: skewX(20deg);
}
.btn-share{
	display: block;
	box-shadow: 4px 4px 9px -2px rgba(74,69,100,.2);
	font-size: 1.6rem;
	line-height: 45px;
	color: #fff;
	text-align: center;
}
.btn-share:hover{
	color: #fff;
	opacity: 0.7;
}
.btn-share .icon{
	position: relative;
	top: 5px;
	font-size: 2.4rem;
}
.btn-share.facebook{
	background-color: #3b5998;
}
.btn-share.twitter{
	background-color: #1da1f2;
}
/* Copyright *****************************/
.footer .copyright{
	margin: 40px 0;
	color: #929292;
}
@media (max-width:480px){
	.footer-inner{
		background-size: auto 60px;
		background-position: bottom center;
	}
	.fb-text{
		padding: 0 30px;
		font-size: 1.4rem;
	}
	.footer-share-title,
	.btn-share{
		font-size: 1.4rem;
	}
	.btn-share .icon{
		font-size: 2.2rem;
	}
}
/* ************************** Back To Top ************************** */
/* **************************************************** */
.back-to-top,
.back-to-top:hover{
	color: #fff;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.back-to-top{
	display: inline-block;
	position: fixed;
	right: 10px;
	bottom: 10px;
	z-index: 9;
	padding: 5px;
	width: 40px;
	height: 40px;
	background: #515769;
	border-radius: 3px;
	font-size: 11px;
	line-height: 3;
	text-align: center;
	letter-spacing: 1px;
	visibility: hidden;
	opacity: 0;
	-webkit-transform: translate3d(0, 50px, 0);
	-moz-transform: translate3d(0, 50px, 0);
	transform: translate3d(0, 50px, 0);
	transition-duration: .3s;
}
.back-to-top:hover{
	transition-duration: .3s;
}
.back-to-top.back-to-top-is-visible{
	visibility: visible;
	opacity: .6;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.back-to-top.back-to-top-is-visible:hover{
	opacity: 1;
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
.back-to-top.back-to-top-fade-out{
	opacity: .4;
}
.back-to-top.back-to-top-fade-out:hover{
	opacity: 1;
	transition-duration: .3s;
	transition-property: all;
	transition-timing-function: cubic-bezier(.7, 1, .7, 1);
}
/* ************************** MAINVISUAL ************************** */
/* **************************************************** */
#mainvisual{
	position: relative;
	padding-top: 70px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	z-index: 0;
	overflow: hidden;
}
#mainvisual::before {
	content:"";
	position: absolute;
	top:-5px;
	right:-5px;
	bottom:-5px;
	left:-5px;
	background: inherit;
    filter: blur(3px);
	z-index: -1;
}

#mainvisual .container-fluid{
	background-color: rgba(0,0,0,0.6);
}
.co-page-banner{
	padding: 345px 0;
}
.co-page-banner h1 {
	display: inline-block;
	font-size: 3rem;
	line-height: 1.5;
	font-weight: normal;
	color: #fff;
}
.co-page-banner h1 .main-title {
	display: block;
	font-size: 7rem;
	font-weight: bold;
}
.co-page-banner h1 .sub-title {
	display: block;
    padding: 10px 0 10px 0.2em;
    font-size: 3.5rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    background: rgba(170, 40, 38, 0.8);
}
@media (max-width: 768px){
	.co-page-banner{
		padding: 180px 0;
	}
	.co-page-banner h1{
		font-size: 4rem;
	}
}
@media (max-width:480px){
	.co-page-banner{
		padding: 80px 0;
	}
	.co-page-banner h1 {
		font-size: 1.6rem;
	}
	.co-page-banner h1 .main-title {
		font-size: 3rem;
	}
	.co-page-banner h1 .sub-title {
		padding: 5px 0;
		font-size: 2.5rem;
		/* letter-spacing: 0.2em;
		background: rgba(170, 40, 38, 0.8); */
	}
	
	
}
/* ************************** PAGE LAYOUT ************************** */
/* **************************************************** */

/* Message *****************************/
.notice-message{
	margin: 0 !important;
	padding: 10px;
	border: 3px solid transparent;
}
.notice-message li{
	display: inline-block;
}
.message-red{
	border-color: #e5322e;
	color: #e5322e;
}
.message-yellow{
	border-color: #fdd228;
	color: #fdd228;
}
.message-white{
	font-size: 1.4rem;
	color: #fff;
	text-align: left;
}
.message-white a{
	color: #fff;
	text-decoration: underline;
}
.message-white a:hover{
	text-decoration: none;
}
/* Title *****************************/

/*-- separator --*/
.title-separator{
	display: inline-block;
	position: relative;
	top: -8px;
	margin: 0 8px 0 0;
	width: 14px;
	height: 3px;
}
.midashi-lead{
	display: block;
	font-size: 1.8rem;
}
@media (max-width:480px){
	.midashi-lead{
		font-size: 1.6rem;
	}
}
/* Schedule *****************************/
.table-schedule{
	width: 100%;
}
.table-schedule tr{
	padding: 30px;
	background-color: #fff;
}
.table-schedule th,
.table-schedule td{
	padding: 30px;
	border-bottom: 1px solid #e5e5e5;
}
.table-schedule tr:last-child th,
.table-schedule tr:last-child td{
	border-bottom: none;
}
.schedule-time{
	background-color: #13203d;
	color: #fff;
	white-space: nowrap;
}
.schedule-photo{
	padding: 4px;
	max-width: 276px;
	background-color: #fff;
	border: 1px solid #c1c1c1;
}
.schedule-photo img{
	width: 100%;
	height: auto;
}
.schedule-note{
	padding: 30px;
}
.schedule-note-list{
	font-size: 1.6rem;
}
.schedule-note-list li{
	padding-bottom: 10px;
}
.schedule-note-list li:last-child{
	padding-bottom: 0;
}
.border-right-1{
	border-right: 1px solid #fff;
}
.schedule-part-1{
	text-align: right;
}
.schedule-part-1,
.schedule-part-2{
	font-size: 1.8rem;
}
@media (max-width:480px){
	.table-schedule tr{
		display: block;
		margin-bottom: 20px;
		padding: 0;
	}
	.table-schedule tr:last-child{
		margin-bottom: 0;
	}
	.table-schedule th,
	.table-schedule td{
		border: none;
	}
	.table-schedule td{
		display: block;
		padding: 20px;
	}
	.schedule-note{
		padding: 20px;
	}
	.border-right-1{
		border-right: none;
	}
	.schedule-part-1{
		padding-bottom: 5px;
		text-align: left;
	}
	.schedule-part-1,
	.schedule-part-2{
		font-size: 1.6rem;
	}
}
/* Finalist *****************************/
.target-group-title{
	position:  relative;
	padding: 20px 0;
	background-color: #13203d;
	font-size: 2.4rem;
}
.target-group-title:before,
.target-group-title:after{
	display:  block;
	position:  absolute;
	left: 14px;
	margin: auto;
	width: 1px;
	background-color: #fff;
	content: " ";
}
.target-group-title:before{
	top: -3px;
	height: 110%;
	transform: rotate(3deg);
}
.target-group-title:after{
	top: -6px;
	height: 116%;
	transform: rotate(-15deg);
}

.finalist-box-wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.finalist-box {
	position: relative;
	width:48%;
	margin-bottom: 30px;
	padding: 50px 30px 40px 30px;
	background-color: #fff;
	border: 1px solid #c1c1c1;
	box-shadow: 1px 3px 6px -2px rgba(0,0,0,.1);
}
.finalist-box:before{
	position: absolute;
	top: -1px;
	right: -1px;
	left: -1px;
	height: 5px;
	background: linear-gradient(to bottom right, #F7971E, #FFD200);
	content: "";
}
/* .finalist-box p{
	text-align: justify;
} */
.theme-title{
	font-size: 2.2rem;
}
.theme-line{
	display: block;
	margin: 20px 0;
	width: 140px;
	height: 1px;
	background-color: #fdd003;
}
.finalist-author-info{
	overflow: hidden;
}
.author{
	float: left;
	margin-right: 30px;
	max-width: 144px;
	border-radius: 50%;
	overflow: hidden;
}
.author img{
	width: 100%;
	height: auto;
}
.author-name{
	font-size: 1.8rem;
	line-height: 1.8;
}
.toujitsu-happyou {
	text-align: center;
}
.toujitsu-happyou p {
	display: inline-block;
	padding:0 10px 2px 15px;
	background: linear-gradient(transparent 60%, #fdd000 40%);
	font-size:2.4rem;
	font-weight: bold;
}

@media (max-width: 768px){
	.author{
		max-width: 120px;
	}
}
@media (max-width:480px){
	.target-group-title{
		padding: 15px 0;
		font-size: 2rem;
	}
	.finalist-box-wrap {
		flex-direction: column;
	}
	.finalist-box {
		width:100%;
		padding: 30px 20px;
	}
	.theme-title{
		font-size: 1.8rem;
	}
	.author{
		float: none;
		margin: 0 auto;
	}
	.author-name{
		font-size: 1.6rem;
		text-align: center;
	}
	.toujitsu-happyou p {
		display: block;
		padding:5px 0;
		background: #fdd000;
		font-size:1.7rem;
	}
	
}
/* Parallax *****************************/
.parallax-window{
	min-height: 250px;
	background: transparent;
}
@media (max-width:480px){
	.parallax-window{
		min-height: 120px;
	}
}
/* Judge *****************************/
.card{
	box-sizing: border-box;
}
.card .card-inner{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	padding: 30px;
}
.card .avatar{
	margin-right: 30px;
}
.card .description .title{
	font-size: 1.8rem;
	line-height: 2;
}
.card .description p{
	font-size: 1.6rem;
	text-align: justify;
}
@media (max-width:768px){
	.card .avatar img{
		width: 120px;
		height: 120px;
	}
}
@media (max-width:480px){
	.card .card-inner{
		display: block;
		padding: 20px;
	}
	.card .avatar{
		margin-right: 0;
		margin-bottom: 20px;
	}
}
/* Venue *****************************/
#venue{
	position: relative;
	background-image: url(../images/bg-venue.jpg);
	background-size: cover;
}
#venue:before{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	opacity: 0.7;
	content: " ";
}
.map{
	padding: 0;
}
.map,
.venue-guide-area{
	height: 720px;
}
.map iframe{
	width: 100%;
	height: 100%;
	border: none;
}
.venue-guide-area{
	background-color: #fff;
	box-sizing: border-box;
	box-shadow: 1px 3px 6px -2px rgba(0,0,0,.1);
}
.venue-guide{
	padding: 50px 30px;
}
.venue-guide-inner{
	overflow: hidden;
}
.venue-photo{
	float: left;
	margin-right: 30px;
	max-width: 144px;
	border-radius: 50%;
	overflow: hidden;
}
.venue-photo img{
	width: 100%;
	height: auto;
}
.access-guide .access-title{
	line-height: 2;
}
.access-guide .access-list{
	font-size: 1.6rem;
}
@media (max-width:768px){
	.map{
		padding-right: 15px;
		padding-left: 15px;
		height: 500px;
	}
	.venue-guide-area{
		height: auto;
	}
	.venue-guide-area{
		background-color: transparent;
		box-shadow: none;
	}
	.venue-guide{
		background-color: #fff;
		box-shadow: 1px 3px 6px -2px rgba(0,0,0,.1);
	}
}
@media (max-width:480px){
	.map{
		height: 40vw;
	}
	.venue-guide{
		padding: 30px 20px;
	}
	.venue-photo{
		float: none;
		margin: 0 auto;
		margin-bottom: 20px;
		max-width: 120px;
	}
}
/* Entry *****************************/
.btn-cv{
	display: inline-block;
	position: relative;
	width: 400px;
	background-color: #fdd228;
	background: linear-gradient(to bottom, #ffd65e, #febf04);
	border-radius: 4px;
	box-shadow: 4px 4px 9px -2px rgba(74,69,100,.2);
	font-size: 2.2rem;
	font-weight: bold;
	color: #000;
	line-height: 80px;
}
.btn-cv .icon{
	position: absolute;
	top: 30px;
	right: 20px;
	font-size: 2rem;
}
.btn-cv:hover{
	color: #000;
	opacity: 0.7;
}
.balloon-bottom{
	display: inline-block;
	position: relative;
	padding: 20px;
	width: 100%;
	background-color: rgba(0,0,0,0.5);
}
.balloon-bottom:after{
	display: block;
	position: absolute;
	bottom: -10px;
	left: 50%;
	margin-left: -10px;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 10px 0 10px;
	border-color: rgba(0,0,0,0.5) transparent transparent transparent;
	content: " ";
}
@media (max-width:480px){
	.btn-cv{
		width: 100%;
		font-size: 2rem;
	}
}
/* Sponsor *****************************/
#sponsor h4,
#sponsor ul li{
	font-size: 1.4rem;
	line-height: 2;
}