@charset "utf-8";

/* ---------------------------------------- 
 - container
---------------------------------------- */
/* top-container-bg */
#top-container-bg {
  width: 40%;
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
}
#top-container-bg .visual {
    width: 100%;
    height: 100%;
}
#top-container-bg .visual img {
    width: 100%;
    height: 100%;
    vertical-align: top;
    object-fit: cover;
    margin: auto;
}
#top-container-bg .copy {
	position: absolute;
	bottom: 20px;
	left:0;
	right:0;
	margin: auto;
	color: #fff;
	font-size: 1.1rem;
	text-align: center;
	width: 90%;
}
/* top-container-main */
#top-container-main {
	margin-left: 40%;
	width: 60%;
	min-height: 100vh;
	box-sizing: border-box;
	z-index: 2;
}
#top-container-main .inner {
	width: 94%;
	max-width: 640px;
	min-height: 100vh;
	margin: 0 auto;
	border-left: solid 2px #fff;
	border-right: solid 2px #fff;
}
/* top-countdown */
#top-countdown {
	width: 40%;
	position: fixed;
	top: 20%;
	left: 0;
	margin: 0 auto;
	color: #fff;
	text-align: center;
	line-height: 1.2;
  z-index: 1;
}
#top-countdown .ttl {
	font-size: 4.0rem;
	position: relative;
	padding: 0 60px;
	display: inline-block;
}
#top-countdown .ttl::before,
#top-countdown .ttl::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 40px;
    height: 1px;
    border-top: 1px solid #fff;
}
#top-countdown .ttl::before {
    left:0;
}
#top-countdown .ttl::after {
    right:0;
}
#top-countdown .date {
	font-size: 6.0rem;
}
#top-countdown .date span {
	font-size: 10.0rem;
}
@media screen and (max-width: 1024px) {
	/* top-container-bg */
	#top-container-bg {
	  display: none;
	}
	/* top-container-main */
	#top-container-main {
		margin: 0 auto;
		width: 100%;
	}
	#top-container-main .inner {
		max-width: 640px;
		position: relative;
	}
	/* top-countdown */
	#top-countdown {
		width: calc(94% - 4px);
		max-width: calc(640px - 4px);
		position: absolute;
		top: 14%;
		right: 0;
	  	z-index: 3;
		background:rgba(0,0,0,0.5);
		padding: 20px 0 0;
	}
	#top-countdown .ttl::before,
	#top-countdown .ttl::after {
		width: 30px;
	}
}
@media screen and (max-width: 768px) {
	/* top-countdown */
	#top-countdown {
		top: 55vw;
		padding: 10px 0;
	}
	#top-countdown .ttl {
		font-size: clamp(2.0rem, 2.0vw, 4.0rem);
		padding: 0 40px;
	}
	#top-countdown .date {
		font-size: clamp(4.0rem, 8.0vw, 6.0rem);
	}
	#top-countdown .date span {
		font-size: clamp(6.0rem, 10.0vw, 10.0rem);
	}
}

/* ---------------------------------------- 
 - header
---------------------------------------- */
#top-header {
	padding: 40px 40px 30px;
	border-bottom: solid 2px #fff;
	margin-bottom: 3px;
}
#top-header .logo {
	max-width: 305px;
	margin: 0 auto;
}
@media screen and (max-width: 1024px) {
	#top-header {
		padding: 0;
		border-bottom: none;
		margin-bottom: 0;
		position: absolute;
		width: 94%;
	}
	#top-header .logo {
		width: 60%;
		/*margin-top: 3vw;*/
		margin-top: 30px;
	}
}
@media screen and (max-width: 768px) {
	#top-header .logo {
		margin-top: 4vw;
	}
}

/* ---------------------------------------- 
 - contents
---------------------------------------- */
#top-contents {
	border-top: solid 2px #fff;
	border-bottom: solid 2px #fff;
}
/* main-ttl */
#top-contents .main-ttl {
	padding: 40px 0 30px;
	border-bottom: solid 2px #fff;
	margin-bottom: 3px;
}
#top-contents .main-ttl img {
	width: 85%;
	max-width: 545px;
	margin: auto;
}
/* main-contents */
#top-contents .main-contents {
	padding: 40px 40px 60px;
	border-top: solid 2px #fff;
}
#top-contents .main-contents > .date {	
	margin-bottom: 40px;
}
#top-contents .main-contents > .lead {	
	font-size:2.0rem;
	line-height: 2.4;
	margin-bottom: 50px;
}
/* box-ttl（共通タイトル） */
#top-contents .main-contents .box-ttl {
	font-size: 3.2rem;
	line-height: 1.6;
	position: relative;
	text-align: center;
	margin-bottom: 0.7em;
}
#top-contents .main-contents .box-ttl span {
	position: relative;
	display: inline-block;
	padding: 0 60px;
}
#top-contents .main-contents .box-ttl span::before,
#top-contents .main-contents .box-ttl span::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 40px;
    height: 1px;
    border-top: 1px solid #000;
}
#top-contents .main-contents .box-ttl span::before {
    left:0;
}
#top-contents .main-contents .box-ttl span::after {
    right:0;
}
/* note-box */
#top-contents .main-contents .note-box {
	border-top:dotted 4px #000;
	border-bottom:dotted 4px #000;
	padding: 35px 0;
    text-align: center;
}
#top-contents .main-contents .note-box .note-ttl {
	font-size:3.2rem;
	line-height: 1.4;
	border-bottom: solid 1px #000;
	display: inline-block;
	margin: 0 auto 0.7em;
}
#top-contents .main-contents .note-box ul.note-list {
	text-align: left;
}
#top-contents .main-contents .note-box ul.note-list li {
	text-indent: -1.0em;
	margin-left: 1.0em;
	line-height: 1.6;
	margin-bottom: 0.7em;
}
#top-contents .main-contents .note-box ul.note-list li:last-child {
	margin-bottom: 0;
}
/* access-box */
#top-contents .main-contents .access-box {
	margin: 100px auto 0;
}
#top-contents .main-contents .access-box .access-map {
	width: 100%;
	border: solid 1px #000;
	padding: 6px;
}
#top-contents .main-contents .access-box .access-map .map {
    position: relative;
    overflow: hidden;
    padding-bottom: 440px;
	border: solid 1px #000;
}
#top-contents .main-contents .access-box .access-map .map iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
#top-contents .main-contents .access-box .access-address {
	margin: 1.0em auto 0.5em;
}
#top-contents .main-contents .access-box .link-btn {
	text-align: center;
	margin-top: 25px;
}
#top-contents .main-contents .access-box .link-btn a {
	min-width: 230px;
}
/* menu-box */
#top-contents .main-contents .menu-box {
	margin: 100px auto 0;
}
#top-contents .main-contents .menu-box .menu-list {
	width: 100%;
	border: solid 1px #000;
	padding: 35px;
	background: url("/~touousai/assets/images/common/menu_bg.png");
}
#top-contents .main-contents .menu-box .menu-list ul.list {
	font-size:2.4rem;
	line-height: 1.6;
}
#top-contents .main-contents .menu-box .menu-list ul.list li {
	text-indent: -1.0em;
	margin-left: 1.0em;
	margin-bottom: 1.0em;
}
#top-contents .main-contents .menu-box .menu-list ul.list li a:hover {
	text-decoration: none;
}
#top-contents .main-contents .menu-box .menu-list ul.list li:last-child {
	margin-bottom: 0;
}
#top-contents .main-contents .menu-box .menu-list ul.list li .date {
	font-size:2.0rem;
}
/* pamphlet */
#top-contents .main-contents > .pamphlet {
	margin-top: 50px;
	text-align: center;
}
#top-contents .main-contents > .pamphlet .notice {
	font-size: 1.4rem;
	margin-top: 1.0em;
}
@media screen and (max-width: 1024px) {
	#top-contents {
		border-top: none;
	}
	/* main-ttl */
	#top-contents .main-ttl {
		padding: 0;
		border-bottom: none;
		margin-bottom: 0;
	}
	#top-contents .main-ttl img {
		width: 100%;
		max-width: 100%;
	}	
	/* main-contents */
	#top-contents .main-contents {
		border-top: none;
	}
	#top-contents .main-contents > .date {	
		display: none;
	}
}
@media screen and (max-width: 768px) {
	/* main-contents */
	#top-contents .main-contents {
		padding: 30px 5% 40px;
	}
	#top-contents .main-contents > .lead {	
		font-size:1.6rem;
		margin-bottom: 30px;
	}
	/* box-ttl（共通タイトル） */
	#top-contents .main-contents .box-ttl {
		font-size: 2.4rem;
	}
	#top-contents .main-contents .box-ttl span {
		padding: 0 40px;
	}
	#top-contents .main-contents .box-ttl span::before,
	#top-contents .main-contents .box-ttl span::after {
		width: 30px;
	}
	/* note-box */
	#top-contents .main-contents .note-box {
		border-width: 3px;
		padding: 25px 0;
	}
	#top-contents .main-contents .note-box .note-ttl {
		font-size:2.4rem;
	}
	/* access-box */
	#top-contents .main-contents .access-box {
		margin-top: 50px;
	}
	#top-contents .main-contents .access-box .access-map {
		padding: 4px;
	}
	#top-contents .main-contents .access-box .access-map .map {
		padding-bottom: 80vw;
	}
	#top-contents .main-contents .access-box .link_btn {
		margin-top: 15px;
	}
	/* menu-box */
	#top-contents .main-contents .menu-box {
		margin-top: 50px;
	}
	#top-contents .main-contents .menu-box .menu-list {
		padding: 25px 5%;
	}
	#top-contents .main-contents .menu-box .menu-list ul.list {
		font-size:2.0rem;
	}
	#top-contents .main-contents .menu-box .menu-list ul.list li .date {
		font-size:1.5rem;
	}
}

/* ---------------------------------------- 
 - footer
---------------------------------------- */
#top-footer {
	padding: 40px 40px 50px;
	border-top: solid 2px #fff;
	margin-top: 3px;
	text-align: center;
}
#top-footer .sns-box .sns-ttl {	
	font-size: 2.0rem;
	margin-bottom: 0.7em;
}
#top-footer .sns-box ul.sns-list {
	display: flex;
	justify-content: center;
}
#top-footer .sns-box ul.sns-list li {
	height: 38px;
	margin: 0 20px;
}  
#top-footer .sns-box ul.sns-list li a {
	display: block;
	height: 100%;
	transition: .3s;
}    
#top-footer .sns-box ul.sns-list li img {
	width: auto;
	height: 100%;
}
#top-footer .sns-box ul.sns-list li a:hover {
	opacity: 0.6;
}
#top-footer .copy {
	display: none;
}
@media screen and (max-width: 1024px) {
	#top-footer .copy {
		display: block;
		font-size: 1.2rem;
		margin-top: 40px;
	}
}
@media screen and (max-width: 768px) {
	#top-footer {
		padding: 40px 5%;
	}
	#top-footer .sns-box .sns-ttl {	
		font-size: 1.8rem;
	}
	#top-footer .copy {
		font-size: 1.1rem;
	}
}