@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600&family=Noto+Sans+JP:wght@500;600&display=swap');
* {
		margin: 0;
		padding: 0;
}
img {
		border: none;
		vertical-align: top;
}
html {
		overflow-y: scroll;
}
.page_contaner {
		overflow: hidden;
}
body {
		font-family: YakuHanJP_Noto, 'Noto Sans JP', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
		font-size: 16px;
		letter-spacing: .03em;
		color: #333;
		background: #F4F3ED;
}
body#toppage {
		background: #133977;
}
@media(max-width: 767px) {
		body {
				font-size: 15px;
		}
}
.fw2023_hdr {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 75px;
		z-index: 500;
		background: #102C51;
}
.header_inner {
		display: flex;
		align-items: center;
		padding: 0 30px;
		justify-content: space-between;
		padding-top: 14px;
		box-sizing: border-box;
		width: 100%;
}
.header_logo {
		width: 135px;
}
.header_logo img {
		width: 100%;
		height: auto;
}
.header_inner ul {
		display: flex;
		align-items: center;
		list-style: none;
}
.header_inner li {
		list-style: none;
		font-family: 'Montserrat', sans-serif;
		font-size: 18px;
		font-weight: 600;
		margin-left: 50px;
}
.header_inner li a {
		color: #fff;
		text-decoration: none;
		display: inline-block;
		position: relative;
}
.header_inner li a::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -14px;
		left: calc(50% - 3px);
		width: 6px;
		height: 6px;
		transition: all 0.2s;
		background: #F6E2A3;
		border-radius: 50%;
		pointer-events: none;
		opacity: 0;
}
.header_inner li a.current::after {
		opacity: 1;
}
@media (hover: hover) {
		.header_inner li a:hover {
				color: #F6E2A3;
		}
}

.nav_twitter a::after {
		display: none !important
}
.nav_twitter img {
		width: 26px;
		height: auto;
}
@media(max-width: 1200px) {
		.header_inner {
				padding-left: 20px;
				padding-right: 20px;
		}
		.header_inner li {
				font-size: 16px;
				margin-left: 30px;
		}
}
@media(max-width: 1023px) {
		.header_inner li {
				font-size: 16px;
				margin-left: 25px;
		}
}
@media(min-width: 841px) {
		.header_trigger, .drawer {
				display: none!important;
		}
}
@media(max-width: 840px) {
		.header_inner nav {
				display: none;
		}
		.header_inner .header_trigger {
				position: fixed;
				top: 20px;
				right: 20px;
				width: 40px;
				height: 50px;
				cursor: pointer;
				z-index: 9000;
				-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
		}
		.header_trigger .header_trigger_bar {
				width: 100%;
				height: 3px;
				background: #fff;
				position: absolute;
				left: 0;
				transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
		}
		.header_trigger .header_trigger_bar:nth-child(1) {
				top: 12px
		}
		.header_trigger .header_trigger_bar:nth-child(2) {
				top: 24px
		}
		.header_trigger .header_trigger_bar:nth-child(3) {
				top: 36px
		}
		.header_trigger.open .header_trigger_bar:nth-child(1) {
				transform: translateY(12px) rotate(135deg);
		}
		.header_trigger.open .header_trigger_bar:nth-child(2) {
				opacity: 0;
		}
		.header_trigger.open .header_trigger_bar:nth-child(3) {
				transform: translateY(-12px) rotate(-135deg);
		}
		.drawer {
				position: fixed;
				top: 89px;
				left: 0;
				width: 100%;
				background: #19407B;
				z-index: 1000;
				display: none;
		}
		.drawer .copyright_wrap {
				position: absolute;
				bottom: 30px;
				left: 0;
				width: 100%;
		}
		.overlay {
				position: fixed;
				top: 89px;
				left: 0;
				width: 100%;
				height: 110vh;
				background: #19407B;
				z-index: 900;
				display: none;
		}
		.drawer_inner {
				padding: 45px 30px;
		}
		.drawer_inner li {
				list-style: none;
				font-family: 'Montserrat', sans-serif;
				font-size: 36px;
				font-weight: 600;
				margin: 3vh 0;
		}
		.drawer_inner li a {
				color: #fff;
				text-decoration: none;
				display: inline-block;
				position: relative;
				padding-left: 24px;
		}
		.drawer_inner li a::after {
				content: '';
				display: block;
				position: absolute;
				top: calc(50% - 4px);
				left: 0;
				width: 8px;
				height: 8px;
				transition: all 0.2s;
				background: #F6E2A3;
				border-radius: 50%;
				pointer-events: none;
				opacity: 0;
		}
		.drawer_inner li a.current::after {
				opacity: 1;
		}
		.drawer_inner li.nav_twitter {
				margin-top: 6vh;
		}
}
@media(max-width: 767px) {
		.drawer {
				top: 50px;
		}
		.header_inner {
				padding-top: 11px;
				padding-left: 15px;
				padding-right: 15px;
		}
		.fw2023_hdr {
				height: 50px;
		}
		.header_logo {
				width: 80px;
		}
		.header_inner .header_trigger {
				position: fixed;
				top: 0;
				right: 5px;
				width: 40px;
				height: 50px;
		}
		.header_trigger .header_trigger_bar {
				left: 7px;
				width: 26px;
				height: 2px;
		}
		.header_trigger .header_trigger_bar:nth-child(1) {
				top: 15px
		}
		.header_trigger .header_trigger_bar:nth-child(2) {
				top: 23px
		}
		.header_trigger .header_trigger_bar:nth-child(3) {
				top: 31px
		}
		.header_trigger.open .header_trigger_bar:nth-child(1) {
				transform: translateY(8px) rotate(135deg);
		}
		.header_trigger.open .header_trigger_bar:nth-child(3) {
				transform: translateY(-8px) rotate(-135deg);
		}
		.drawer_inner {
				padding: 45px 20px;
		}
		.drawer_inner li {
				font-size: 22px;
				margin: 3vh 0;
		}
}
/* ==================== */
.section_title {
		margin: 0 0 50px;
		display: flex;
		flex-direction: column-reverse;
		color: #102C51;
}
.section_title.wht {
		color: #fff;
}
.section_title p.en {
		font-family: 'Montserrat', sans-serif;
		font-size: 70px;
		font-weight: 600;
		line-height: 1;
		margin: 0;
}
.section_title h3 {
		font-size: 30px;
		font-weight: 600;
}
@media(max-width: 768px) {
		.section_title {
				margin: 0 0 30px;
		}
		.section_title p.en {
				font-size: 32px;
		}
		.section_title h3 {
				font-size: 15px;
		}
}
/* ============== */
.link_btn_left {
		display: flex;
		margin-top: 50px;
		margin-bottom: 50px;
}
.link_btn_center {
		display: flex;
		justify-content: center;
}
.link_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 70px;
		border-radius: 40px;
		background: #DA6885;
		box-sizing: border-box;
		border: 2px solid #DA6885;
		color: #fff;
		text-decoration: none;
		padding-left: 50px;
		padding-right: 50px;
		transition: background 0.3s;
		font-size: 20px;
		font-weight: 600;
}
@media (hover: hover) {
		.link_btn a:hover {
				background: #fff;
				color: #DA6885;
		}
}
.link_btn a span {
		position: relative;
		display: inline-block;
		transform: translateY(-1px);
}
@media(max-width: 767px) {
		.link_btn a {
				height: 60px;
				border-radius: 40px;
				padding-left: 20px;
				padding-right: 20px;
				font-size: 18px;
		}
		.link_btn_left {
				display: flex;
				justify-content: center;
				margin-top: 40px;
				margin-bottom: 40px;
		}
}
/* ============== */
span.titleDot {
		position: relative;
		display: inline-block;
}
span.titleDot::after {
		content: '';
		display: block;
		position: absolute;
		top: 0.35em;
		left: -22px;
		width: 18px;
		height: 18px;
		background: #DA6885;
		border-radius: 50%;
}
@media(max-width: 767px) {
		span.titleDot {
				margin-left: 18px;
		}
		span.titleDot::after {
				top: 0.4em;
				left: -21px;
				width: 14px;
				height: 14px;
		}
}
/* ==================== */
@media(min-width: 768px) {
		br.spbr {
				display: none;
		}
}
@media(max-width: 767px) {
		br.pcbr {
				display: none;
		}
}
/* ==================== */
/* ==================== */
.fw_2023_footer {
		background: url("../images/fw_2023_footer_bg_pc.png") no-repeat center top;
		height: 550px;
		background-size: cover;
		color: #fff;
		box-sizing: border-box;
		padding: 120px 20px 60px;
		position: relative;
		top: -200px;
		margin-bottom: -200px;
}
.fw_2023_footer_logo {
		width: 495px;
		margin: 0 auto 60px;
}
.fw_2023_footer_logo img {
		width: 100%;
		height: auto;
}
.fw_2023_footer_notes_center p {
		text-align: center;
		line-height: 1.5;
		font-size: 15px;
		margin: 0;
		padding: 0;
}
.copyright_wrap {
		background: #1A1A1A;
		text-align: center;
		color: #fff;
		padding: 3px;
}
.copyright {
		font-size: 12px;
		text-align: center;
}
.pagetop {
		position: fixed;
		right: 40px;
		bottom: 40px;
		cursor: pointer;
		z-index: 100;
		width: 60px;
		height: 60px;
		display: none;
}
.pagetop::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 60px;
		height: 60px;
		border-radius: 20px;
		background: #F6E2A3;
		transform: rotate(45deg);
}
.pagetop::after {
		content: '';
		display: block;
		position: absolute;
		top: 15px;
		left: 15px;
		width: 30px;
		height: 30px;
		background: url("../images/pagetop_arw.png") no-repeat 0 0;
		background-size: 30px;
}
@media(max-width: 767px) {
		.fw_2023_footer {
				background: url(../images/fw_2023_footer_bg_sp.png) no-repeat center top;
				height: inherit;
				background-size: cover;
				padding: 15vw 20px 60px;
				top: -15vw;
				margin-bottom: -15vw;
		}
		.fw_2023_footer_logo {
				max-width: 260px;
				width: 70vw;
				margin: 0 auto 40px;
		}
		.fw_2023_footer_notes_center {
				display: flex;
				justify-content: center;
		}
		.fw_2023_footer_notes_center p {
				font-size: 11px;
				text-align: left;
		}
		.pagetop {
				right: 15px;
				bottom: 15px;
				width: 40px;
				height: 40px;
		}
		.pagetop::before {
				width: 40px;
				height: 40px;
				border-radius: 10px;
		}
		.pagetop::after {
				top: 6px;
				left: 6px;
				width: 28px;
				height: 28px;
				background: url("../images/pagetop_arw.png") no-repeat 0 0;
				background-size: 28px;
		}
}
/* ==================== */
.attention10 {
		margin-left: 1em;
}
.attention10 li {
		list-style: none;
		position: relative;
		line-height: 1.6;
		margin: 0 0 2px;
		font-size: 15px;
}
.attention10 li:last-child {
		margin-bottom: 0;
}
.attention10 li span {
		position: absolute;
		left: -1em;
		top: 0;
}
ul.attentionNone {
		margin-left: 1em;
}
.attentionNone li {
		list-style: none;
		position: relative;
		line-height: 1.6;
		margin: 0 0 5px;
		font-size: 15px;
}
.attentionNone li::after {
		content: '・';
		display: block;
		position: absolute;
		left: -1em;
		top: 0;
}
.attentionNone li:last-child {
		margin-bottom: 0;
}
@media(max-width: 767px) {
		.attention10 li {
				font-size: 14px;
		}
}
/* ================= */
.wave_wrap {
		margin-top: 100px;
		top: 3px;
		position: relative;
}
.wave_wrap.ticketWave {
		margin-top: 0;
}
.wave {
		position: relative;
}
.wave canvas {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
}
/* ================= */
.anchor {
		position: relative;
		margin-top: -90px;
		padding-top: 90px;
		z-index: -1;
}
.anchorEx {
		position: relative;
		margin-top: -400px;
		padding-top: 400px;
		z-index: -1;
}
.anchorEx2 {
		position: relative;
		margin-top: -150px;
		padding-top: 150px;
		z-index: -1;
}
@media(max-width: 767px) {
		.anchor {
				margin-top: -50px;
				padding-top: 50px;
		}
		.anchorEx {
				margin-top: -200px;
				padding-top: 200px;
		}
		.anchorEx2 {
				margin-top: -100px;
				padding-top: 100px;
		}
}
/* ================= */
.fw_gr1 img, .fw_gr2 img, .fw_gr3 img, .fw_gr4 img {
		width: 100%;
		height: auto;
}
.fw-1, .fw-2, .fw-3, .fw-4, .fw-5, .fw-6, .fw-7 {
		transition: opacity 0.2s linear;
		opacity: 0;
}
.fwFire .fw-1, .fwFire .fw-2, .fwFire .fw-3, .fwFire .fw-4, .fwFire .fw-5, .fwFire .fw-6, .fwFire .fw-7 {
		opacity: 1
}
.fw_gr1, .fw_gr2, .fw_gr3 {
		width: 500px;
		position: relative;
}
.fw_gr1 .fw-1 {
		position: absolute;
		width: 150px;
		top: 270px;
		left: -100px;
}
.fw_gr1 .fw-2 {
		position: absolute;
		width: 240px;
		top: 60px;
		left: -50px;
}
.fw_gr2 .fw-3 {
		position: absolute;
		width: 240px;
		top: 0;
		left: 0;
}
.fw_gr2 .fw-4 {
		position: absolute;
		width: 240px;
		top: 120px;
		left: -100px;
}
.fw_gr3 .fw-5 {
		width: 220px;
		top: 0;
		left: 0;
}
.fw_gr3 .fw-6 {
		position: absolute;
		width: 240px;
		top: 110px;
		left: 100px;
}
@media(max-width: 767px) {
		.fw_gr1, .fw_gr2, .fw_gr3 {
				width: 40vw;
		}
		.fw_gr1 .fw-1 {
				width: 15vw;
				top: 30vw;
				left: -17vw;
		}
		.fw_gr1 .fw-2 {
				width: 24vw;
				top: 13vw;
				left: -5vw;
		}
		.fw_gr2 .fw-3 {
				width: 24vw;
				top: 0;
				left: 0;
		}
		.fw_gr2 .fw-4 {
				width: 24vw;
				top: 12vw;
				left: -10vw;
		}
		.fw_gr3 .fw-5 {
				width: 22vw;
				top: 0;
				left: 0;
		}
		.fw_gr3 .fw-6 {
				width: 24vw;
				top: 11vw;
				left: 10vw;
		}
}