@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@400;700;800;900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Kaisei+Decol:wght@400;500;700&family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');


html {
   overflow-y:scroll;
}

body {
   margin:0;
   padding:0;
   height:100%;
   line-height:1.4em;
   font-family: "Noto Sans JP", sans-serif;
   color:#000;
   font-size:18px;
   background:#fff;
}

img {
   border:0;
   max-width:100%;
}

#top {
	margin:0 auto;
	width:100%;
	padding-top:80px;
}

#top img {
	width:100%;
}

#header {
	position:fixed;
	min-width:1200px;
	width:100%;
	height:80px;
	background-color:rgba(255,255,255,0.9);
	overflow:hidden;
	z-index:10;
	transition: 0.3s;
}


#header .logo {
	width:80px;
	height:80px;
}

.ctawaku {
	position:sticky;
	bottom:150px;
}

.cta {
	height:0px;
	padding:20px;
}

.headermenu {
	display:none;
	position:fixed;
	top:80px;
	z-index:200;
	width:100%;
	padding-top:5px;
	background-color:rgba(255,255,255,0.9);
}

.headermenu .menu {
	list-style:none;
	display:flex;
	align-items:center;
	margin:0;
	margin-right:10px;
	padding0;
}

.headermenu .menu li {
	padding:0 30px;
}

.headermenu .menu li a {
	color:#222;
}

.headermenu .menu li a:hover {
	color:#000;
	text-decoration:none;
}

.headermenu .menu li img {
	width:2.4em;
}

.headermenu .menu li .linetext {
	font-weight:bold;
	font-size:0.6em;
}

.headermenu .menu {
	list-style:none;
	display:flex;
	align-items:center;
	margin:0;
	margin-right:10px;
	padding0;
}


.menupc {
	list-style:none;
	display:flex;
	align-items:center;
	margin:0;
	margin-right:10px;
	padding0;
	z-index:100;
}

.menupc li {
	padding:0 30px;
}

.menupc li a {
	color:#222;
}

.menupc li a:hover {
	color:#000;
	text-decoration:none;
}

.menupc li img {
	width:2.4em;
}

.menupc li .linetext {
	font-weight:bold;
	font-size:0.6em;
}


#event {
	width:100%;
	background:#fff url(images/eventbg.png);
}

.eventmain {
	margin:0 auto;
	width:1200px;
	padding:80px 80px 10px 80px;
	background-color:#fff;
}

.eventtitle {
	margin:0 auto;
	width:800px;
}

.eventcircle {
	display:flex;
	justify-content:center;
	align-items:center;
	width:80px;
	height:80px;
	color:#fff;
	font-size:1.3em;
	letter-spacing:0.1em;
	background-color:#c5a162;
	border-radius:40px;
}


.event-nichiji {
	width:900px;
}

.eventkaijo {
	color:#3e62a8;
	font-size:2.4em;
}

.eventmap {
	max-width:600px;
}


.ordercmt {
	padding:30px 10px;
	color:#fff;
	font-size:1.4em;
	letter-spacing:0.2em;
	background-color:#c5a162;
}

.order-fukidashi {
	position:absolute;
	top:-40px;
	left:50%;
	margin-left:-260px;
}

.order-fukidashi-img {
	width:160px;
}

.orderbg {
	min-width:1200px;
	padding:40px 10px;
	background-color:#fff;
}

.eventbtn {
	padding:20px 40px;
	color:#fff;
	background-color:#3e62a8;
	letter-spacing:0.2em;
	font-weight:bold;
	transition: 0.3s all;
}

.eventbtn:hover {
	transform: translateY(4px);
}

.orderbtn {
	padding:20px 40px;
	background-color:#f2e927;
	letter-spacing:0.2em;
	font-weight:bold;
	transition: 0.3s all;
}

.orderbtnimg {
	width:1.5em;
}

.orderbtn:hover {
	transform: translateY(4px);
}



.btn-next {
	position:absolute;
	top:-50px;
	right:-25px;
}

.btn-next img {
	width:100px;
}


.deaititle {
	width:1000px;
}

.deaicircle {
	display:flex;
	justify-content:center;
	align-items:center;
	width:90px;
	height:90px;
	color:#fff;
	font-size:0.9em;
	letter-spacing:0.1em;
	background-color:#c5a162;
	border-radius:45px;
}

.kaijo {
	width:900px;
}

.eventminamo {
	position:relative;
	width:1000px;
}

.specialimg {
	position:absolute;
	top:280px;
	left:-50px;
	width:330px;
}


.minamoimg {
	width:160px;
}

.title01 {
	width:800px;
	font-size:1.5em;
	color:#c5a162;
	font-weight:bold;
	letter-spacing:0.2em;
	padding-bottom:0.8em;
	border-bottom:2px dotted #c5a162;
}


.katsudoubtn {
	flex:1;
	padding:15px 90px 15px 15px;
	background:#fff url(images/katsudou_bg.png) bottom right no-repeat;
	cursor:pointer;
}

.katsudoubtn-sel {
	background-color:rgb(255,254,238);
}

.katsudoubtn-nosel {
	box-shadow:0 -8px 8px -3px rgba(200,200,200,0.3) inset;
}

.katsudoubox-none {
	display:none;
}

.katsudoubox01 {
	position:relative;
	padding:40px 20px;
	background-color:rgb(255,254,238);
}

.katsudoubox02 {
	position:relative;
	padding:40px 20px;
	background:rgb(255,254,238) url(images/katsudoubox_bg.png) top right no-repeat;
	background-size:400px;
}

.katsudou-space {
	width:20px;
}

.katsudou_title {
	font-size:1.2em;
	font-weight:bold;
	text-align:center;
	letter-spacing:0.5em;
}

.katsudou_sub {
	font-size:1.2em;
	font-weight:bold;
	text-align:center;
	letter-spacing:0.2em;
	color:rgb(89,163,112);
}

.katsudou_line {
	margin:20px 0;
	border-top:1px solid rgb(89,163,112);
}

.katsudou_subtitle {
	display:flex;
	justify-content:space-between;
	height:60px;
	align-items:center;
	font-size:1.2em;
	color:rgb(89,163,112);
	background:#fff url(images/katsudou_subtitle_bg.png) top center repeat-y;
	background-size:100%;
	cursor:pointer;
}

.katsudou-none {
	display:none;
}

.katsudou-bgcircle {
	background: url(images/katsudou_whitecircle_bg.png?3) top center no-repeat;
	background-size:cover;
}

.katsudou_num {
	padding-left:1em;
	height:1.2em;
}

.katsudou_sub_center {
	flex:1;
	font-weight:bold;
	letter-spacing:0.2em;
	text-align:center;
}

.subbl {
	color: rgb(62,98,168);
}

.katsudou_togglebtn:after {
	position:relative;
	content:"＋";
}

.katsudou_togglebtn-open:after {
	position:relative;
	content:"－";
}

.katsudoucmt {
	font-size:1.1em;
	letter-spacing:0.1em;
}

.katsudoucmt ul {
	list-style:none;
	margin:0;
	padding:0;
}

.katsudoucmt ul li {
	position:relative;
	margin:0;
	padding:0 0 0.5em 1.2em;
}

.katsudoucmt ul li:before {
	position:absolute;
	top:0;
	left:0;
	content:"▲";
	transform:rotate(90deg);
	color:rgb(250,238,0);
}

.gr {
	font-weight:bold;
	color: rgb(89,163,112);
}

.bl {
	font-weight:bold;
	color: rgb(62,98,168);
}

.katsudoucmt2 {
	position:relative;
	font-size:1.15em;
	font-weight:bold;
	color: rgb(89,163,112);
	letter-spacing:0.2em;
	line-height:1.6em;
}

.katsudousupport {
	position:absolute;
	top:-60px;
	right:70px;
	width:200px;
}

.katsudouminamo {
	position:absolute;
	top:20px;
	right:20px;
	width:120px;
}


.torikumimain {
	width:800px;
	margin:50px auto;
}

.torikumi-line {
	border-top:1px solid rgb(62,98,168);
}

.torikumi-left {
	width:210px;
	color:rgb(62,98,168);
	font-weight:bold;
	font-size:1.1em;
	padding-left:20px;
}

.torikumi-center {
	width:60px;
	padding:15px;
}

.torikumi-right {
	flex:1;
}

.torikumiul {
	list-style:none;
	margin:0;
	padding:0;
}

.torikumiul li {
	position:relative;
	margin:0;
	letter-spacing:0.1em;
	padding:0.3em 0.3em 0.3em 1.5em;
}

.torikumiul li:before {
	content:"●";
	position:absolute;
	top:0.3em;
	left:0;
	color:rgb(197,161,98);
}

.meritbg {
	width:100%;
	background:rgb(246,243,240) url(images/meritbg.png) top center repeat-y;
	background-size:100%;
}

.meritmain {
	margin:0 auto;
	width:1200px;
	padding:80px;
}

.meritcard {
	flex:1;
}

.merittext {
	padding:5px 0;
	line-height:1.4em;
	letter-spacing:0.1em;
	font-size:1.1em;
}

.meritcmt1 {
	letter-spacing:0.4em;
	font-weight:bold;
	font-size:1.4em;
	line-height:1.4em;
	color:rgb(62,98,168);
}

.meritcmt2 {
	letter-spacing:0.4em;
	font-weight:bold;
	font-size:1.4em;
	line-height:1.4em;
	color:rgb(197,161,98);
}

.merit_subtitle {
	display:flex;
	justify-content:center;
	align-items:center;
	background:#fff url(images/merit_subtitle.png) top left no-repeat;
	background-size:80px;
	color:rgb(197,161,98);
	text-align:center;
	height:90px;
	letter-spacing:0.3em;
	text-align:center;
	font-size:1.4em;
	font-weight:bold;
}

.merittext02 {
	position:relative;
	letter-spacing:0.2em;
	font-size:1.15em;
	line-height:1.6em;
}

.pl-10 {
	padding-left:250px !important;
}

.img001 {
	position:absolute;
	bottom:-10px;
	left:0;
	width:200px;
}

.img002 {
	position:absolute;
	bottom:30px;
	right:50px;
	width:200px;
}

.img003 {
	position:absolute;
	top:40px;
	left:60px;
	width:260px;
}

.img004 {
	position:absolute;
	bottom:10px;
	right:60px;
	width:210px;
}



.eventul {
	width:800px;
	list-style:none;
	margin:0;
	padding:0;
	border-top:1px solid #3e62a8;
}

.eventul li {
	padding:20px 10px;
	font-size:1.1em;
	color:#3e62a8;
	text-align:center;
	border-bottom:1px solid #3e62a8;
}


.lineupbg {
	width:100%;
	background:#fff url(images/lineupbg.jpg);
	padding:80px;
}

.lineupbg2 {
	width:100%;
	height:20px;
	background:#fff url(images/lineupbg2.png?2) top center repeat-x;
	background-size:20px;
	z-index:-1;
}

.lineupmain {
	margin:0px auto;
	width:800px;
}

.lineupcorp {
	width:12em;
}

.corplist {
	border-top: 1px solid #3e62a8;
	border-bottom: 1px solid #3e62a8;
	color:#3e62a8;
	font-weight:bold;
	padding:30px 20px;
	background-color:#fff;
}

.corplistdata {
	width: 760px;
}

.corplisttype {
	padding:0.1em;
	background-color:#ddd;
}

.corplistcmt {
	font-size:0.8em;
	font-weight:normal;
	color:#333;
}

.slick-prev:before ,.slick-next:before {
	color:#444;
}


.line01 {
	margin-left:20px;
	padding-right:20px;
	border-left:1px solid #3e62a8;
}

.comingsoon {
	position:absolute;
	top:50%;
	left:50%;
	width:300px;
	margin-left:-150px;
	margin-top:-80px;
}


.faqmain {
	margin:0 auto;
	width:800px;
	padding:80px 0;
	background-color:#fff;
}

.title02 {
	width:800px;
	font-size:1.4em;
	color:#c5a162;
	font-family: "Inter", sans-serif;
	padding-bottom:0.8em;
	letter-spacing:0.5em;
	border-bottom:2px dotted #c5a162;
}

.faqdt {
	margin:0;
	padding:0;
	border-bottom:1px solid #3e62a8;
}

.faqdt dt {
	position:relative;
	margin:0;
	font-weight:normal;
	padding:1.8em 4em 1.8em 4.5em;
	font-size:1.1em;
	color:#3e62a8;
	border-top:1px solid #3e62a8;
	cursor:pointer;
}

.faqdt dt:before {
	content:"Q";
	position:absolute;
	top:1.6em;
	left:2em;
	font-family: "Inter", sans-serif;
	color:#fff;
	width:1.8em;
	height:1.8em;
	padding:0.3em 0.5em;
	background-color:#c5a162;
	border-radius:1em;
}

.faqdt dt:after {
	content:"＋";
	position:absolute;
	top:1.6em;
	right:2em;
	font-family: "Inter", sans-serif;
	color:#3e62a8;
	font-weight:bold;
	font-size:1.2em;
}

.faqdt dt.open:after {
	content:"－";
}

.faqdt dl {
	display:none;
	margin:0;
	padding:0 2.5em 1.5em 4.5em;
	line-height:1.8em;
	background-image: linear-gradient(0deg ,rgba(197,161,98,0.2) ,rgba(197,161,98,0) 10px);
}

.icon {
	width:2em;
}


.contactbg {
	width:100%;
	background:#fff url(images/eventbg.png);
}

.contactmain {
	margin:0 auto;
	width:1200px;
	padding:40px;
	background-color:#fff;
}

.titlecontact {
	width:800px;
	font-size:1.4em;
	color:#c5a162;
	font-weight:bold;
	padding-bottom:0.8em;
	border-bottom:2px dotted #c5a162;
}

dl.contact {
	display:flex;
	width:800px;
	margin:0 auto;
	padding:1em;
	border-bottom: 1px dotted #c5a162
}

dl.contact dt {
	font-weight:normal;
	width:200px;
	padding-top:0.4em;
}

dl.contact dd {
	flex:1;
}

.badge-hissu {
	background-color:#f77;
	font-weight:normal;
	color:#fff;
}

.contactsendbtn {
	width:200px;
}

.bottombokashi {
	box-shadow: 0 6px 8px 0px rgba(197,161,98,0.5);
}

#footer {
	width:100%;
	height:80px;
	box-shadow: 0 -10px 10px -5px rgba(197,161,98,0.5);
}

#footer .logo {
	width:80px;
}

#footer .menu {
	list-style:none;
	display:flex;
	align-items:center;
	justify-content:center;
	margin:0;
	margin-right:10px;
	padding0;
}

#footer .menu li {
	padding:0 30px;
}

#footer .menu li a {
	color:#222;
}

#footer .menu li a:hover {
	color:#000;
	text-decoration:none;
}

.ercmt {
	color:#f22;
}

.t1 {
	font-size:1.1em;
	font-weight:bold;
	color:#3e62a8;
}

.t2 {
	background:linear-gradient(transparent 60%, rgba(255,240,0,0.6) 60%);
}

.amazon_card {
	margin:0 auto;
	width:1000px;
}


/*menubar
---------------------------------------------------------------------------*/
#menubar {
	position:fixed;
	top:0;
	left:-100vw;
	width: 100%;
	height: 100%;
	z-index: 100;
	overflow: auto;
	padding: 0;
	text-align: center;
	opacity:0;
	transition: 0.3s;
}

#menubar.db {
	left: 0px;
	opacity:1;
	background: rgba(0,20,40,0.8);
	color: #fff;
}

#menubar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

#menubar a {
	display:block;
	text-align:left;
	color: #fff;
	padding: 15px 0 15px 15px;
	border-bottom:1px solid #888;
	transition: 0.3s;
}

#menubar ul ul a {
	padding: 15px 0 15px 35px;
}

#menubar ul ul a:before {
	font: var(--fa-font-solid);
	content:"\f105";
	margin-right:0.5em;
}

#menubar a:hover {
	background-color:rgba(120,120,120,0.8);
	text-decoration:none;
}

/*３本バーアイコン
---------------------------------------------------------------------------*/
#menubar_hdr {
	position:absolute;
	z-index: 200;
	cursor: pointer;
	padding: 15px 12px;
	width: 55px;
	height: 60px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	order: 0;
	border-radius:8px;
}

#menubar_hdr span.moji {
	position:relative;
	display: block;
	transition: 0.3s;
	color:#3e62a8;
	font-weight:bold;
	font-size:10px;
}

#menubar_hdr span.moji:after {
	content:"MENU";
	position:absolute;
	top:-15px;
	left:1px;
}

#menubar_hdr.ham span.moji:after {
	content:"CLOSE";
	left:0;
}

#menubar_hdr span.line {
	display: block;
	transition: 0.3s;
	border-top: 3px solid #3e62a8;
}

#menubar_hdr.ham span.line:nth-of-type(2),
#menubar_hdr.ham span.line:nth-of-type(4) {
	transform-origin: center center;
	width: 28px;
}

#menubar_hdr.ham span.line:nth-of-type(2){
	transform: rotate(45deg) translate(8px, 6px);
}

#menubar_hdr.ham span.line:nth-of-type(4){
	transform: rotate(-45deg) translate(8px, -6px);
}

#menubar_hdr.ham span.line:nth-of-type(3){
	opacity:0;
}


/* --- パソコン ---------------------------------------------------------------------- */
@media screen and (min-width: 576px) {
	.sp {
		display:none;
	}
	
	#menubar,
	#menubar_hdr {
		display:none;
	}
	
/*
	#menubar_hdr {
		right: 10px;
		top: 12px;
	}
*/
}


/* --- スマホ ------------------------------------------------------------------------ */
@media screen and (max-width: 575px) {
	#menubar_hdr {
		right: 5px;
		top: 5px;
	}
	
	.pc {
		display:none;
	}
	
	.ctawaku {
		bottom:10px;
	}
	
	.cta {
		height:auto;
	}
	
	#header {
		min-width:100%;
		height:60px;
	}
	
	#header .logo {
		padding:5px;
		width:100%;
		height:60px;
	}
	
	#header .logo img {
		width:55px;
	}
	
	.headermenu {
		top:60px;
	}
	
	.headermenu .menu {
		justfy-content:end;
		margin-right:5px;
		height:60px;
	}
	
	.headermenu .menu li {
		font-size:0.9em;
		padding:0 10px;
	}
	
	.headermenu .menu li .linetext {
		font-size:0.8em;
		line-height:1.2em;
		text-align:center;
		padding-right:0.2em;
	}
	
	#top {
		padding-top:60px;
	}
	
	
	.eventmain {
		width: 100%;
		padding:40px 0;
	}
	
	.eventtitle {
		margin:0 auto;
		width: calc(100% - 20px);
	}
	
	.event-nichiji {
		width:calc(100% - 100px);
	}
	
	.eventkaijo {
		font-size: 5vw;
	}
	
	.eventmap {
		max-width:100%;
	}
	
	.eventbtn {
		display:block;
		margin:0 auto;
		width:340px;
	}
	
	.orderbtn {
		display:block;
		margin:0 auto;
		width:340px;
	}
	
	.orderbtnimg {
		width:1.8em;
	}
	
	.orderbg {
		min-width:100%;
	}
	
	.order-fukidashi {
		top:-30px;
		margin-left:-40vw;
	}
	
	.order-fukidashi-img {
		width:28vw;
	}
	
	.eventul li {
		line-height:1.4;
		font-size:1.2em;
	}
	
	.deaimain {
		width:100%;
		padding:10px;
	}
	
	.deaititle {
		margin-top:-40px;
		width: calc(100% - 20px);
	}
	
	.kaijo {
		width:100%;
	}
	
	.minamoonly {
		width:150px;
		margin:-60px 20px 0 auto;
	}
	
	.title01 {
		width: calc(100% - 20px);
	}
	
	.katsudoubtn {
		flex:1;
		padding:15px;
	}
	
	.katsudou-space {
		display:none;
	}
	
	.katsudoubox01 {
		padding:30px 10px;
	}
	
	.katsudoubox02 {
		padding:30px 10px;
		background:rgb(255,254,238) url(images/katsudoubox_bg.png) top right no-repeat;
		background-size:300px;
	}
	
	.katsudoucmt {
		font-size:1.05em;
		letter-spacing:0.1em;
	}
	
	.katsudoucmt2 {
		font-size:1.05em;
		letter-spacing:0.1em;
	}
	
	.katsudousupport {
		top:-80px;
		right:20px;
		width:180px;
	}
	
	.katsudouminamo {
		top:-40px;
		right:5px;
		width:90px;
	}
	
	
	.torikumimain {
		width:100%;
		margin:20px auto;
		padding:10px;
	}
	
	.torikumi-left {
		width:100%;
		padding:0;
		font-size:1.2em;
		text-align:center;
	}
	
	.torikumi-center {
		margin:0 auto;
		width:120px;
	}
	
	.meritbg {
		width:100%;
	}
	
	.meritmain {
		margin:0 auto;
		width:100%;
		padding:20px;
	}
	
	.merittext {
		font-size:1em;
	}
	
	.meritcmt1 {
		font-size:1.1em;
	}
	
	.meritcmt2 {
		font-size:1.1em;
	}
	
	.merit_subtitle {
		font-size:1.3em;
		line-height:1.2em;
	}
	
	.merittext02 {
		letter-spacing:0.1em;
		font-size:1em;
		line-height:1.4em;
	}
	
	.pl-10 {
		padding-left:0 !important;
	}
	
	.space001 {
		float:left;
		height:14em;
	}
	
	.img001 {
		position:relative;
		bottom:0;
		padding:10px;
		width:180px;
		float:left;
		clear:both;
	}
	
	.space002 {
		float:right;
		height:8em;
	}
	
	.img002 {
		position:relative;
		right:0;
		bottom:0;
		padding:10px;
		width:180px;
		float:right;
		clear:both;
	}
	
	.space003 {
		float:left;
		height:10em;
	}
	
	.img003 {
		position:relative;
		top:0;
		left:0;
		padding:10px;
		width:200px;
		float:left;
		clear:both;
	}
	
	.space004 {
		float:right;
		height:6em;
	}
	
	.img004 {
		position:relative;
		right:0;
		bottom:0;
		padding:10px;
		width:180px;
		float:right;
		clear:both;
	}
	
	.eventul {
		width: calc(100% - 20px);
	}
	
	.lineupbg {
		padding:20px;
	}
	
	.lineupmain {
		width:100%;
	}
	
	.corplist {
		margin:10px;
	}
	
	.corplistdata {
		font-size:0.8em;
		line-height:1.6em;
		margin-left:5px;
		width: calc(100% - 10px);
	}
	
	.line01 {
		display:none;
	}
	
	.faqmain {
		width:100%;
		padding:40px 0;
		background-color:#fff;
	}
	
	.title02 {
		width: calc(100% - 40px);
	}
	
	.faqdt {
		margin:20px;
	}
	
	
	.contactmain {
		width: calc(100% - 50px);
		padding:40px 10px;
	}
	
	.titlecontact {
		width:100%;
	}
	
	dl.contact {
		display:block;
		width:100%;
		margin:0 auto;
	}
	
	dl.contact dt {
		font-weight:normal;
		width:100%;
		padding-top:0.4em;
		padding-bottom:0.5em;
	}
	
	dl.contact dd {
		flex:1;
	}
	
	.amazon_card {
		width:100%;
	}
	
	
	#footer {
		height:auto;
	}
	
	#footer .menu li {
		padding:10px 12px;
	}
	
	#footer .menu li a {
		font-weight:bold;
		font-size:2.8vw;
	}
	
	#footer .menu {
		width:100%;
	}
	
	#footer .logo {
		width:100%;
		border-top:1px solid #3e62a8;
		padding:10px;
		text-align:center;
	}
	
	#footer .logo img {
		width:50px;
	}
	
}
