@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html { box-sizing: border-box; -webkit-text-size-adjust: 100%; word-break: normal; -moz-tab-size: 4; tab-size: 4; } *,::before,::after { background-repeat: no-repeat; box-sizing: inherit; } ::before,::after { text-decoration: inherit; vertical-align: inherit; } * { padding: 0; margin: 0; } hr { overflow: visible; height: 0; color: inherit; } details,main { display: block; } summary { display: list-item; } small { font-size: 80%; } [hidden] { display: none; } abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; } a { background-color: transparent; } a:active,a:hover { outline-width: 0; } code,kbd,pre,samp { font-family: monospace, monospace; } pre { font-size: 1em; } b,strong { font-weight: bolder; } sub,sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; } sub { bottom: -0.25em; } sup { top: -0.5em; } table { border-color: inherit; text-indent: 0; } input { border-radius: 0; } [disabled] { cursor: default; } [type='number']::-webkit-inner-spin-button,[type='number']::-webkit-outer-spin-button { height: auto; } [type='search'] { -webkit-appearance: textfield; outline-offset: -2px; } [type='search']::-webkit-search-decoration { -webkit-appearance: none; } textarea { overflow: auto; resize: vertical; } button,input,optgroup,select,textarea { font: inherit; } optgroup { font-weight: bold; } button { overflow: visible; } button,select { text-transform: none; } button,[type='button'],[type='reset'],[type='submit'],[role='button'] { cursor: pointer; color: inherit; } button::-moz-focus-inner,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { border-style: none; padding: 0; } button:-moz-focusring,[type='button']::-moz-focus-inner,[type='reset']::-moz-focus-inner,[type='submit']::-moz-focus-inner { outline: 1px dotted ButtonText; } button,html [type='button'],[type='reset'],[type='submit'] { -webkit-appearance: button; } button,input,select,textarea { background-color: transparent; border-style: none; } a:focus,button:focus,input:focus,select:focus,textarea:focus { outline-width: 0; } select { -moz-appearance: none; -webkit-appearance: none; } select::-ms-expand { display: none; } select::-ms-value { color: currentColor; } legend { border: 0; color: inherit; display: table; max-width: 100%; white-space: normal; } ::-webkit-file-upload-button { -webkit-appearance: button; color: inherit; font: inherit; } img { border-style: none; } progress { vertical-align: baseline; } [aria-busy='true'] { cursor: progress; } [aria-controls] { cursor: pointer; } [aria-disabled='true'] { cursor: default; }


/*====================================

	0. General

====================================*/
html { font-size: 62.5%; }
body { font-size: 1.0rem; font-family: "Noto Sans JP", sans-serif; font-weight: 400; position: relative; width: 100%; background: #000; color: #fff; }
img { height: auto; max-width: 100%; vertical-align: baseline; }
a { color: #fff; cursor: pointer; text-decoration: underline; }
a:hover { opacity: 0.8; }
input[type=submit] { cursor: pointer; }
.is-head { cursor: pointer; }
ul,ol { list-style: none; }
@media (min-width: 768px) {
	.spOnly { display: none !important; }
	#page-top { bottom: 30px; position: fixed; right: 30px; z-index: 10; }
	#page-top a { background: url("../image/icon_pagetop.png") no-repeat 50% 50%; display: block; height: 81px; text-align: center; text-indent: -9999px; width: 71px; }
}
@media (max-width: 767px) {
	.pcOnly { display: none !important; }
	#page-top { bottom: 3vw; position: fixed; right: 3vw; z-index: 10; }
	#page-top a { background: url("../image/icon_pagetop.png") no-repeat 50% 50% / 14vw auto; display: block; height: 16vw; text-align: center; text-indent: -9999px; width: 14vw; }
}


/*====================================

	1. Header

====================================*/
@media (min-width: 768px) {
	header { align-items: center; background: #007ac3; display: flex; font-size: 1.8rem; height: 120px; justify-content: space-between; left: 0; line-height: 1; min-width: 1260px; padding: 0 50px; position: fixed; top: 0; transition: 0.2s; width: 100%; z-index: 100; }
	header::after { width: 707px; height: 80px; background: url("../image/bg_header.webp") no-repeat 0 100%; left: calc(50% - 220px); bottom: -80px; position: absolute; content: ""; }
	header .logo img { width: 290px; }
	header nav > ul { align-items: center; display: flex; gap: 40px; }
	header nav > ul > li { position: relative; }
	header nav > ul > li a { font-weight: 700; text-decoration: none; }
	header nav > ul > li span { display: block; margin-bottom: 10px; }
	header .sub { background: #fff; font-size: 1.4rem; border-radius: 10px; display: none; left: 0; padding: 15px 20px 1px; position: absolute; top: 40px; z-index: 2; }
	header .sub li { position: relative; padding-left: 1.2em; margin-bottom: 16px; }
	header .sub li::before { position: absolute; content: ""; top: 0; bottom: 0; left: 0; margin: auto; background-image: url("../image/icon_arrow_grade.svg"); width: 0.8em; height: 0.8em; transform: rotate(-90deg); }
	header .sub li a { color: #000; white-space: nowrap; }
	header .translator { width: 135px; height: 1em; position: relative; }
	header .translator >* { position: absolute; top: -5px; left: 0; }
}
@media (max-width: 767px) {
	header { background: #007ac3; font-size: 3.4vw; height: 18vw; padding: 4vw 4vw 0; width: 100%; position: relative; z-index: 100; }
	header::after { width: 100vw; height: 11vw; background: url("../image/sp_bg_header.webp") no-repeat 0 0 / 100vw auto; left: 0; bottom: -11vw; position: absolute; content: ""; }
	header .logo { float: left; position: relative; width: 45vw; z-index: 900; }
	header #gnav { position: absolute; right: 0; top: 0; width: 20vw; }
	#panel-btn { display: inline-block; float: right; height: 15vw; margin: 2vw 2vw 0 0; position: relative; text-indent: -9999px; width: 15vw; z-index: 1100; }
	#panel-btn-icon { background: #fff; display: block; height: 0.3vw; left: 0; margin: auto; position: absolute; right: 0; top: 6vw; transition: .2s; width: 7vw; }
	#panel-btn-icon:before,
	#panel-btn-icon:after { background: #fff; content: ""; display: block; height: 0.3vw; left: 0; position: absolute; top: 50%; transition: .3s; width: 7vw; } 
	#panel-btn-icon:before { margin-top: -2vw; }
	#panel-btn-icon:after { margin-top: 2vw; } 
	#panel-btn-icon.close { background: transparent; }
	#panel-btn-icon.close:before,
	#panel-btn-icon.close:after { margin-top: 0; } 
	#panel-btn-icon.close:before { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
	#panel-btn-icon.close:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
	header .gnav { background: #007ac3; display: none; height: 100vh; overflow: scroll; padding: 15vw 6.25vw 8vw; position: absolute; right: 0; top: 0; width: 100vw; z-index: 1000; }
	header nav > ul { font-size: 4.375vw; }
	header nav > ul > li { position: relative; width: 88vw; border-bottom: 0.2vw solid #fff; padding: 3vw 0; }
	header nav > ul > li a { font-weight: 700; text-decoration: none; }
	header nav > ul > li span { display: block; margin-bottom: 2vw; }
	header .sub { font-size: 3.4vw; margin: 2vw 0 0 1em; }
	header .sub li { position: relative; padding-left: 1.2em; margin-bottom: 2vw; }
	header .sub li::before { position: absolute; content: ""; top: 0; bottom: 0; left: 0; margin: auto; background: url("../image/icon_arrow_w.svg") no-repeat 50% 50% / contain; width: 0.6em; height: 0.6em; }
	header .sub li a { white-space: nowrap; }
	header .translator { width: 135px; height: 1em; position: absolute; top: 3vw; left: 5vw; }
	header .translator >* { position: absolute; top: 0; left: 0; }
	header .sub2 { font-size: 3.4vw; display: flex; flex-wrap: wrap; }
	header .sub2 li { position: relative; padding-left: 1.2em; margin: 3vw 0 0; width: 50%; }
	header .sub2 li::before { position: absolute; content: ""; top: 0; bottom: 0; left: 0; margin: auto; background: url("../image/icon_arrow_w.svg") no-repeat 50% 50% / contain; width: 0.6em; height: 0.6em; }
	header .sub2 li a { text-decoration: none; font-weight: 700; }
	header .bnLine { margin: 4vw 0; text-align: center; }
	header .snsLink { margin: 4vw 0; gap: 4vw; display: flex; justify-content: center; }
}


/*====================================

	2. Footer

====================================*/
footer { background: #007ac3; font-size: 1.4rem; line-height: 1; min-width: 1260px; padding: 80px calc(50% - 580px) 60px; position: relative; }
footer::after { width: 708px; height: 80px; background: url("../image/bg_footer.webp") no-repeat 0 0; right: calc(50% - 160px); top: -80px; position: absolute; content: ""; }
footer nav > ul { display: flex; gap: 53px; color: #fff; }
footer nav > ul > li a { font-weight: 700; text-decoration: none; }
footer nav > ul > li span { display: block; font-size: 1.8rem; font-weight: 700; margin-bottom: 15px; }
footer .sub2 { font-size: 1.2rem; }
footer .sub2 li { padding-left: 1em; position: relative; margin-bottom: 12px; line-height: 1.2; }
footer .sub2 li::before { background: url("../image/icon_arrow_w.svg") no-repeat 0 50%; bottom: 0; content: ""; height: 1em; left: 0; margin: auto; position: absolute; top: 0; width: 1em; }
footer > ul { align-items: center; display: flex; justify-content: center; margin: 45px 0; gap: 40px; }
footer > dl { text-align: center; }
footer > dl dd { line-height: 2; margin-top: 30px; }
footer .bnLine { position: absolute; top: 150px; right: calc(50% - 540px); }
@media (max-width: 767px) {
	footer { font-size: 3.125vw; line-height: 1.4; min-width: auto; padding: 8vw 6vw; }
	footer::after { width: 100vw; height: 16vw; background: url("../image/sp_bg_footer.webp") no-repeat 0 0 / 100vw auto; right: 0; top: -16vw; }
	footer nav > ul { display: flex; flex-wrap: wrap; gap: 4vw; color: #fff; font-size: 4.6vw; }
	footer nav > ul > li { width: 42vw; }
	footer nav > ul > li span { margin-bottom: 2vw; }
	footer .sub2 { font-size: 2.8vw; }
	footer .sub2 li { padding-left: 1em; position: relative; margin-top: 2vw; line-height: 1.2; }
	footer > ul { margin: 4vw 0; gap: 4vw; }
	footer > dl dd { margin-top: 3vw; }
	footer .bnLine { position: relative; top: auto; right: auto; text-align: center; margin: 5vw 0; }

}


/*====================================

	3. Main

====================================*/
@media (min-width: 768px) {
	main { font-size: 1.6rem; line-height: 2; margin: 120px 0 0; min-width: 1260px; position: relative; background: url("../image/bg_page.webp") repeat-y 50% 0; padding-bottom: 100px; }
}
@media (max-width: 767px) {
	main { font-size: 3.75vw; line-height: 1.6; position: relative; padding-bottom: 15vw; }
}

/*-----------------------------------------------------
Text
------------------------------------------------------*/
main small { font-size: 80% !important; }
.komeTxt { padding-left: 1em; text-indent: -1em; }
.komeNumTxt { padding-left: 2em; text-indent: -2em; }
.taR { text-align: right; }
.taL { text-align: left; }
.taC { text-align: center; }
.fwB { font-weight: 700 !important; }
.fwN { font-weight: 400 !important; }
.noto-sans { }
@media (max-width: 767px) {
	.taRsp { text-align: right !important; }
	.taLsp { text-align: left !important; }
	.taCsp { text-align: center !important; }
}


/*-----------------------------------------------------
Btn
------------------------------------------------------*/
.c-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.5em; padding: 0.5em 2em; text-decoration: none; position: relative; overflow: hidden; }
.c-button__icon { display: inline-block; width: 1.5em; height: 1.5em; background-repeat: no-repeat; background-size: contain; background-position: center; flex-shrink: 0; }
.c-button__text { flex: 1 1 auto; text-align: center; white-space: nowrap; }

/* アイコン向き */
.icon-deg90 { transform: rotate(90deg); }
.icon-deg180 { transform: rotate(180deg); }
.icon-deg270 { transform: rotate(270deg); }

/* アイコン群 */
.icon-arrow { background-image: url("../image/icon_arrow_grade.svg"); }
.icon-ticket { background-image: url("../image/icon_ticket.svg"); width: 2.5em; height: 2.5em; }
.icon-timetable { background-image: url("../image/icon_timetable.svg"); width: 2.5em; height: 2.5em; }
.icon-odori { background-image: url("../image/icon_odori.svg"); width: 2.5em; height: 2.5em; }

.radiusArrow { position: relative; padding: 10px 30px; background: #fff; border-radius: 999px; font-weight: 700; color: #000; overflow: visible; box-shadow: 0 8px 0 rgba(128, 0, 128, 0.3); min-width: 300px; min-height: 70px; }
.radiusArrow:hover { opacity: 1; }
.radiusArrow::before { content: ""; position: absolute; inset: 0; transform: translate(10px, 10px); background: linear-gradient(to right, #81c58e, #a35596); border-radius: 999px; z-index: -1; }
@media (max-width: 767px) {
	.radiusArrow { padding: 2vw 3vw; box-shadow: 0 1vw 0 rgba(128, 0, 128, 0.3); min-width: 3vw; min-height: 7vw; }
	.radiusArrow::before { transform: translate(1vw, 1vw); }
}


.btn { display: inline-block; line-height: 1 !important; position: relative; text-align: center; text-decoration: none; }
.btn::before,
.btn::after { bottom: 0; content: ""; margin: auto; position: absolute; top: 0; }
.icon { display: inline-block; line-height: 1 !important; position: relative; text-decoration: none; }
.icon::before,
.icon::after { bottom: 0; content: ""; margin: auto; position: absolute; top: 0; }
.catch { display: inline-block; position: relative; }
.catch::before,
.catch::after { bottom: 0; content: ""; left: 0; margin: auto; position: absolute; right: 0; top: 0; }
.icon.icon01,
.icon.icon02,
.icon.icon03,
.icon.icon04,
.icon.icon05,
.icon.icon06,
.icon.icon07,
.icon.icon08 { padding-left: 1.8em; line-height: 1.2 !important; }
.icon.icon01::before { height: 1.4em; left: 0; width: 1.4em; background: url("../image/map/icon_201.png") no-repeat 0 0 / 1.4em auto; }
.icon.icon02::before { height: 1.4em; left: 0; width: 1.4em; background: url("../image/map/icon_202.png") no-repeat 0 0 / 1.4em auto; }
.icon.icon03::before { height: 1.4em; left: 0; width: 1.4em; background: url("../image/map/icon_203.png") no-repeat 0 0 / 1.4em auto; }
.icon.icon04::before { height: 1.4em; left: 0; width: 1.4em; background: url("../image/map/icon_204.png") no-repeat 0 0 / 1.4em auto; }
.icon.icon05::before { height: 1.4em; left: 0; width: 1.4em; background: url("../image/map/icon_205.png") no-repeat 0 0 / 1.4em auto; }
.icon.icon06::before { height: 1.4em; left: 0; width: 1.4em; background: url("../image/map/icon_206.png") no-repeat 0 0 / 1.4em auto; }
.icon.icon07::before { height: 1.4em; left: 0; width: 1.4em; background: url("../image/map/icon_207.png") no-repeat 0 0 / 1.4em auto; }
.icon.icon08::before { height: 1.4em; left: 0; width: 1.4em; background: url("../image/map/icon_208.png") no-repeat 0 0 / 1.4em auto; }
.icon.pdf { padding-right: 1.8em; }
.icon.pdf::before { height: 1.2em; right: 0; width: 1.2em; background: url("../image/icon_pdf_white.svg") no-repeat 0 0 / auto 1.2em; }
.icon.pdfB { padding-right: 1.8em; }
.icon.pdfB::before { height: 1.2em; right: 0; width: 1.2em; background: url("../image/icon_pdf_black.svg") no-repeat 0 0 / auto 1.2em; }
.icon.blank { padding-right: 1.8em; }
.icon.blank::before { height: 1.2em; right: 0; width: 1.2em; background: url("../image/icon_blank.svg") no-repeat 0 0 / auto 1.2em; }
.icon.blankB { padding-right: 1.8em; text-decoration: underline; }
.icon.blankB::before { height: 1.2em; right: 0; width: 1.2em; background: url("../image/icon_blank_b.svg") no-repeat 50% 50% / auto 1em; }
@media (max-width: 767px) {
	.icon.pdf::before { height: 1.2em; right: 0; width: 1.2em; background: url("../image/icon_pdf_black.svg") no-repeat 0 0 / auto 1.2em; }
}


@media (min-width: 768px) {
	.btn.btnWhite { background: #fff; border: 1px solid #000; font-family: "Shippori Mincho", serif; font-size: 1.6rem; font-weight: 700; padding: 20px 90px; text-align: center; }
	.btn.btnBlack { background: #000; color: #fff; font-family: "Shippori Mincho", serif; font-size: 1.4rem; padding: 12px 30px; text-align: center; }
	.btn.btnPdf { background: #000; color: #fff; font-family: "Shippori Mincho", serif; font-size: 2rem; font-weight: 700; padding: 30px 100px 30px 60px; text-align: center; margin-top: 15px; }
	.btn.btnPdf::after { background: url("../image/icon_pdf.svg") no-repeat 50% 50% / auto 30px; height: 30px; right: 40px; width: 30px; }
	.btn.btnPdfS { background: #fff; border: 1px solid #000; font-family: "Shippori Mincho", serif; font-size: 1.4rem; padding: 12px 30px; text-align: center; }
	.btn.btnPdfS::after { background: url("../image/icon_pdf_black.svg") no-repeat 50% 50% / auto 17px; height: 20px; right: 20px; width: 18px; }

	.icon.zoom { display: inline-block; }
	.icon.zoom::after { background: url("../image/icon_zoom.svg") no-repeat; bottom: auto; height: 40px; right: 0; width: 40px; }
}
@media (max-width: 767px) {
	.btn.btnWhite { background: #fff; border: 0.2vw solid #000; font-family: "Shippori Mincho", serif; font-size: 4vw; padding: 4vw 6vw; text-align: center; }
	.btn.btnBlack { background: #000; color: #fff; font-family: "Shippori Mincho", serif; font-size: 3.4vw; padding: 3vw 4vw; text-align: center; }
	.btn.btnPdf { background: #000; color: #fff; font-family: "Shippori Mincho", serif; font-size: 4vw; font-weight: 700; padding: 5vw 12vw; text-align: center; margin-top: 2vw; }
	.btn.btnPdf::after { background: url("../image/icon_pdf.svg") no-repeat 50% 50% / auto 6vw; height: 6vw; right: 4vw; width: 6vw; }
	.btn.btnPdfS { background: #fff; border: 0.2vw solid #000; font-family: "Shippori Mincho", serif; font-size: 3.4vw; padding: 3vw 4vw; text-align: center; }
	.btn.btnPdfS::after { background: url("../image/icon_pdf_black.svg") no-repeat 50% 50% / auto 5vw; height: 5vw; right: 3vw; width: 5vw; }
	.icon.zoom { display: block; }
	.icon.zoom::after { background: url("../image/icon_zoom.svg") no-repeat 0 0 / 8vw auto; bottom: auto; height: 8vw; right: 0; width: 8vw; }
}



/*-----------------------------------------------------
List
------------------------------------------------------*/
main ol { margin: 0; }
main ul { margin: 0; }
main hr { border: none; border-top: 1px solid #4d4d4d; height: 1px; }
.discList li { padding-left: 1em; position: relative; }
.discList li:before { content: "・"; left: 0; position: absolute; }
.komeList li { padding-left: 1em; text-indent: -1em; }


/*-----------------------------------------------------
Title
------------------------------------------------------*/
@media (min-width: 768px) {
	.title01 { background: url("../image/bg_title01.webp") no-repeat 50% 0 / auto 100%; font-size: 4rem; height: 370px; line-height: 1.4; padding: 0 calc(50% - 500px); width: 100%; margin-bottom: 80px; display: flex; align-items: center; color: #000; }
	.title02 { background: url("../image/bg_title02.webp") repeat 50% 100% / 100% auto; font-size: 2.4rem; margin-bottom: 25px; padding: 15px 20px 50px; color: #fff; text-align: center; position: relative; border-top-left-radius: 20px; border-top-right-radius: 20px; }
  .title03 { margin: 40px 0 25px; color: #fff; font-size: 2.4rem; padding: 20px; text-align: center; background-image: -webkit-linear-gradient( 0deg, #eddf58 0%, #b44695 32%, #924597 54%, #5885c4 95%); border-radius: 20px; position: relative; z-index: 0; }
  .title03::before { position: absolute; content: ""; width: calc(100% - 4px); border-radius: 20px; height: calc(100% - 4px); top: 2px; left: 2px; background: #000; z-index: -1; }
  .title04 { font-size: 2.4rem; margin-bottom: 30px; position: relative; }
	.title04.border { padding-bottom: 15px; }
  .title04.border::before { width: 100%; height: 1px; position: absolute; content: ""; bottom: 0; left: 0; background-image: -webkit-linear-gradient( 0deg, rgb(209,45,156) 0%, rgb(94,162,239) 100%); }
	.title05 { font-size: 2.8rem; font-weight: 900; margin-bottom: 40px; padding-top: 65px; text-align: center; position: relative; }
	.title05::before { position: absolute; content: ""; width: 108px; height: 43px; left: 0; right: 0; top: 0; margin: auto; background: url("../image/bg_title05.webp") no-repeat 0 0 / contain; }
}
@media (max-width: 767px) {
	.title01 { background: url("../image/sp_bg_title01.webp") no-repeat 0 0 / 100% auto; font-size: 4.6875vw; height: 35vw; line-height: 1.4; padding: 0 6vw; width: 100%; margin-bottom: 8vw; display: flex; align-items: center; color: #000; font-weight: 900; }
	.title02 { color: #fff; background: url("../image/sp_bg_title02.webp") no-repeat 50% 100% / 100% auto; font-size: 4.375vw; margin-bottom: 3vw; padding: 3vw 2vw 8vw; text-align: center; position: relative; border-top-left-radius: 3vw; border-top-right-radius: 3vw; }
  .title03 { margin: 4vw 0 3vw; color: #fff; font-size: 4.375vw; padding: 3vw; text-align: center; background-image: -webkit-linear-gradient( 0deg, #eddf58 0%, #b44695 32%, #924597 54%, #5885c4 95%); border-radius: 2vw; position: relative; z-index: 0; }
  .title03::before { position: absolute; content: ""; width: calc(100% - 1vw); border-radius: 2vw; height: calc(100% - 1vw); top: 0.5vw; left: 0.5vw; background: #000; z-index: -1; }
  .title04 { font-size: 4.375vw; margin-bottom: 3vw; position: relative; }
	.title04.border { padding-bottom: 2vw; }
  .title04.border::before { width: 100%; height: 0.2vw; position: absolute; content: ""; bottom: 0; left: 0; background-image: -webkit-linear-gradient( 0deg, rgb(209,45,156) 0%, rgb(94,162,239) 100%); }
	.title05 { font-size: 5vw; font-weight: 900; margin-bottom: 4vw; padding-top: 10vw; text-align: center; position: relative; }
	.title05::before { position: absolute; content: ""; width: 20vw; height: 8vw; left: 0; right: 0; top: 0; margin: auto; background: url("../image/bg_title05.webp") no-repeat 0 0 / contain; }
}

/*-----------------------------------------------------
Columns
------------------------------------------------------*/

@media (min-width: 768px) {
	.flex { display: flex; flex-wrap: wrap; }
	.flex.space-between { justify-content: space-between; }
	.flex.justify-center { justify-content: center; }
	.flex.align-center { align-items: center; }
  .row-reverse { flex-direction: row-reverse; }
	.flex.gap20 { gap: 20px; }
	.flex.gap30 { gap: 30px; }
	.flex.gap40 { gap: 40px; }
}
@media (max-width: 767px) {
	.spflex { display: flex; flex-wrap: wrap; }
	.spflex.space-between { justify-content: space-between; }
	.spflex.justify-center { justify-content: center; }
	.spflex.align-center { align-items: center; }
	.flex.gap20 { gap: 2vw; }
	.flex.gap30 { gap: 3vw; }
	.flex.gap40 { gap: 4vw; }
	.flex.spgap100 { gap: 10vw; }
}


/*-----------------------------------------------------
Table
------------------------------------------------------*/
table { border-collapse: collapse; width: 100%; }


/*-----------------------------------------------------

トップページ

------------------------------------------------------*/
.topNewsBlock { margin: 80px auto; width: 760px; }
.topNewsBlock .date { width: 120px; }
.topNewsBlock .category { background: #e84865; color: #fff; display: inline-block; font-size: 1.4rem; font-weight: 400; line-height: 1; padding: 3px; text-align: center; border-radius: 5px; width: 90px; margin-left: 30px; }
.topNewsBlock .articleList { border-top: 1px solid #4d4d4d; margin-bottom: 40px; }
.topNewsBlock .articleList dl { border-bottom: 1px solid #4d4d4d; padding: 20px 0; display: flex; align-items: flex-start; justify-content: space-between; }
.topNewsBlock .articleList dt { display: flex; align-items: center; width: 240px; }
.topNewsBlock .articleList dd { width: 490px; }
.topNewsBlock .snsList { align-items: center; display: flex; justify-content: center; margin: 40px 0; gap: 40px; }
.topNewsBlock .more { text-align: center; }
.topNewsBlock .more .btn { font-size: 2rem; width: 320px; }
.topBlock01 { height: 780px; background: url("../image/top_bg01.webp") no-repeat 50% 0 / auto 100%; padding: 0 calc(50% - 580px); }
.topBlock02 { margin: 200px 0; padding: 0 calc(50% - 580px); background: url("../image/bg_wave.webp") repeat-y 0 0 / 100%; position: relative; }
.topBlock02::before,
.topBlock02::after { position: absolute; content: ""; width: 100%; left: 0; background: url("../image/bg_wave.webp") no-repeat 0 0 / 100% auto; }
.topBlock02::before { background: url("../image/bg_wave_top.webp") no-repeat 0 0 / 100% auto; top: -150px; height: 150px; }
.topBlock02::after { background: url("../image/bg_wave_bottom.webp") no-repeat 0 100% / 100% auto; bottom: -200px; height: 200px; }
.topBlock03 { width: 1160px; margin: 150px auto; display: flex; gap: 130px; justify-content: center; }
.topBlock03 .linkBox { width: 300px; text-align: center; }
.topBlock03 .linkBox dt { font-size: 2.8rem; font-weight: 900; }
.topBlock03 .linkBox dd { margin-top: 20px; font-weight: 700; }
.topBlock04 { width: 1160px; margin: 100px auto; }
.topBlock04 dl { border-radius: 20px; background: #fff; text-align: center; padding: 30px; }
.topBlock04 dt { font-weight: 900; margin-bottom: 20px; color: #000; }
.topBlock04 dd img { width: 200px; }
@media (max-width: 767px) {
  .topNewsBlock { margin: 8vw 6vw; width: auto; }
  .topNewsBlock .snsList { margin: 4vw 0; gap: 4vw; }
  .topNewsBlock .articleList { margin-bottom: 4vw; border-top: 0.2vw solid #4d4d4d; }
  .topNewsBlock .articleList dl { padding: 4vw 0; border-bottom: 0.2vw solid #4d4d4d; display: block; }
  .topNewsBlock .articleList dt { display: flex; align-items: center; gap: 3vw; margim-bottom: 4vw; width: auto; }
  .topNewsBlock .articleList dd { width: auto; }
  .topNewsBlock .date {}
  .topNewsBlock .category { background: #e84865; color: #fff; display: inline-block; font-size: 1.4rem; font-weight: 400; line-height: 1; padding: 3px 15px; border-radius: 5px; }
  .topNewsBlock .more { text-align: center; }
  .topNewsBlock .more .btn { font-size: 2rem; width: 320px; }
  .topBlock01 { height: auto; background: none; padding: 0; }
  .topBlock02 { margin: 30vw 0 20vw; padding: 0 6vw; }
  .topBlock02::before { background: url("../image/bg_wave_top.webp") no-repeat 0 0 / 100% auto; top: -15vw; height: 15vw; }
  .topBlock02::after { background: url("../image/bg_wave_bottom.webp") no-repeat 0 100% / 100% auto; bottom: -15vw; height: 15vw; }
  .topBlock03 { width: auto; margin: 15vw auto; gap: 8vw; flex-wrap: wrap; }
  .topBlock03 .linkBox { width: 100%; }
  .topBlock03 .linkBox dt { font-size: 5vw; }
  .topBlock03 .linkBox dd { margin-top: 2vw; }
  .topBlock04 { width: auto; margin: 10vw 6vw; }
  .topBlock04 dl { border-radius: 2vw; padding: 3vw; }
  .topBlock04 dt {  margin-bottom: 2vw; }
  .topBlock04 dd img { width: 40vw; }
}


/*-----------------------------------------------------

演舞スケジュール

------------------------------------------------------*/
@media (min-width: 768px) {
	.tab-group { align-items: flex-start; display: flex; justify-content: center; gap: 40px; position: relative; }
	.tab-group::after { width: 100%; height: 4px; background: #007ac3; bottom: 0; left: 0; position: absolute; content: ""; z-index: -1; }
	.tab-group .tab { background: #adaaaa; border-top-right-radius: 20px; border-top-left-radius: 20px; font-weight: 700; position: relative; text-align: center; width: 360px; line-height: 1; padding: 30px 0 25px; text-decoration: none; }
	.tab-group .tab:hover { opacity: 1; }
	.tab-group .tab .num { font-size: 2.6rem; }
	.tab-group .is-active { border: solid #007ac3; border-width: 4px 4px 0; background: #000; }
	.tab-group .is-active::before { background: #eb003f; bottom: -5px; content: ""; height: 4px; left: 0; margin: auto; position: absolute; right: 0; width: 102px; }
	.scheduleBlock { margin: 100px 0; }
	.scheduleBlock .title02 { margin-top: 80px; }
	.scheduleBlock .panel-group { margin: 100px auto 0; width: 1160px; }
	.scheduleBlock .programBox { display: flex; justify-content: space-between; margin-bottom: 40px; }
	.scheduleBlock .programBox dl { width: 720px; }
	.scheduleBlock .programBox dt { font-weight: 700; }
	.scheduleBlock .programBox dd { margin-top: 10px; }
	.scheduleBlock .programBox .time { width: fit-content; border: 1px solid #fff; border-radius: 5px; font-weight: 700; padding: 2px 20px; }
	.scheduleBlock .programBox .title { display: block; font-size: 2.4rem; margin: 6px 0; }
	.scheduleBlock .programBox .title.mb { margin-bottom: 20px; }
}
@media (max-width: 767px) {
	.tab-group { align-items: flex-start; display: flex; justify-content: center; gap: 2vw; position: relative; }
	.tab-group::after { width: 100%; height: 1vw; background: #007ac3; bottom: 0; left: 0; position: absolute; content: ""; z-index: -1; }
	.tab-group .tab { background: #adaaaa; border-top-right-radius: 3vw; border-top-left-radius: 3vw; font-weight: 700; position: relative; text-align: center; width: 30vw; line-height: 1; padding: 4vw 0 5vw; text-decoration: none; font-size: 3vw; }
	.tab-group .tab .num { font-size: 4.375vw; }
	.tab-group .is-active { border: solid #007ac3; border-width: 0.8vw 0.8vw 0; background: #000; }
	.tab-group .is-active::before { background: #eb003f; bottom: 0; content: ""; height: 1vw; left: 0; margin: auto; position: absolute; right: 0; width: 20vw; }
	.scheduleBlock { margin: 9vw 0; }
	.scheduleBlock .title02 { margin-top: 14vw; }
	.scheduleBlock .panel-group { margin: 9vw 6vw; }
	.scheduleBlock .programBox { margin-bottom: 8vw; }
	.scheduleBlock .programBox dl { margin-top: 5vw; }
	.scheduleBlock .programBox dt { font-weight: 700; }
	.scheduleBlock .programBox dd { font-size: 3.4vw }
	.scheduleBlock .programBox .time { width: fit-content; border: 0.2vw solid #fff; border-radius: 1vw; font-weight: 700; padding: 1vw 4vw; }
	.scheduleBlock .programBox .title { display: block; font-size: 5vw; margin: 2vw 0; }
	.scheduleBlock .programBox .title.mb { margin-bottom: 4vw; }
}


/*-----------------------------------------------------

今年のみどころ

------------------------------------------------------*/
.highlightBlock01 { margin: 100px auto 200px; width: 1160px; }
.highlightBox { flex-wrap: wrap; display: flex; gap: 40px; margin-bottom: 70px; }
.highlightBox > div { width: 450px; }
.highlightBox dl { margin-top: 30px; }
.highlightBox dt { width: fit-content; border: 1px solid #fff; border-radius: 5px; font-weight: 700; padding: 2px 20px; margin-bottom: 10px; }
.highlightBox p { line-height: 2; }
.highlightBlock02 { margin: 200px 0; padding: 0 calc(50% - 580px); background: url("../image/bg_wave.webp") repeat-y 0 0 / 100%; position: relative; }
.highlightBlock02::before,
.highlightBlock02::after { position: absolute; content: ""; width: 100%; left: 0; background: url("../image/bg_wave.webp") no-repeat 0 0 / 100% auto; }
.highlightBlock02::before { background: url("../image/bg_wave_top.webp") no-repeat 0 0 / 100% auto; top: -150px; height: 150px; }
.highlightBlock02::after { background: url("../image/bg_wave_bottom.webp") no-repeat 0 100% / 100% auto; bottom: -200px; height: 200px; }
@media (max-width: 767px) {
  .highlightBlock01 { margin: 9vw 6vw 20vw; width: auto; }
  .highlightBox { gap: 0; margin-bottom: 7vw; }
  .highlightBox > div { width: 100%; }
  .highlightBox dl { margin-top: 3vw; }
  .highlightBox dt { border: 0.2vw solid #fff; border-radius: 1vw; padding: 1vw 3vw; }
  .highlightBlock02 { margin: 15vw 0; padding: 0 6vw; }
  .highlightBlock02::before { background: url("../image/bg_wave_top.webp") no-repeat 0 0 / 100% auto; top: -15vw; height: 15vw; }
  .highlightBlock02::after { background: url("../image/bg_wave_bottom.webp") no-repeat 0 100% / 100% auto; bottom: -15vw; height: 15vw; }
}



/*-----------------------------------------------------

開催概要&よくある質問

------------------------------------------------------*/
.overviewBlock01 { margin: 100px auto; width: 1160px; }
.overviewBlock01 th { border-bottom: 1px solid #4d4d4d; border-top: 1px solid #4d4d4d; padding: 25px 0; text-align: left; vertical-align: top; width: 160px; }
.overviewBlock01 td { border-bottom: 1px solid #4d4d4d; border-top: 1px solid #4d4d4d; padding: 25px 0; }
.overviewBlock02 { margin: 100px auto; width: 1160px; }
.overviewBlock02 .is-head { font-size: 2rem; font-weight: 700; padding: 20px 50px; position: relative; }
.overviewBlock02 .is-head::before { background: url("../image/icon_q.svg") no-repeat 0 0 / contain; bottom: 0; content: ""; height: 40px; left: 0; margin: auto; position: absolute; top: 0; width: 40px; }
.overviewBlock02 .is-head::after { background: url("../image/icon_open.svg") no-repeat 0 0 / contain; bottom: 0; content: ""; height: 20px; margin: auto; position: absolute; right: 10px; top: 0; width: 20px; }
.overviewBlock02 .is-head.is-open::after { background: url("../image/icon_close.svg") no-repeat 0 0 / contain; }
.overviewBlock02 .is-body { background: #fff; margin: 28px 0 40px; padding: 30px 40px 30px 70px; position: relative; border-radius: 20px; color: #000; }
.overviewBlock02 .is-body::after { background: url("../image/icon_a.svg") no-repeat 0 0 / contain; content: ""; height: 18px; left: 30px; position: absolute; top: 35px; width: 23px; }
.overviewBlock02 .is-body a { color: #000; }
.overviewBlock02 .lineBox { border: 3px solid #21c953; padding: 20px; border-radius: 10px; margin-top: 20px; display: flex; flex-wrap:wrap; gap: 15px; }
.overviewBlock02 .lineBox >* { width: 100%; }
@media (max-width: 767px) {
	.overviewBlock01 { margin: 9vw 6vw; width: auto; }
	.overviewBlock01 table { border-top: 0.4vw solid #4d4d4d; }
	.overviewBlock01 th { border: none; display: block; padding: 3vw 0 0; }
	.overviewBlock01 td { border-top: none; border-bottom: 0.4vw solid #4d4d4d; display: block; padding: 3vw 0; }
	.overviewBlock02 { margin: 9vw 6vw; width: auto; }
  .overviewBlock02 .is-head { font-size: 4vw; padding: 2vw 8vw; }
  .overviewBlock02 .is-head::before { height: 6vw; width: 6vw; top: 2vw; bottom: auto; }
  .overviewBlock02 .is-head::after { height: 3vw; right: 1vw; width: 3vw; }
  .overviewBlock02 .is-body { margin: 3vw 0 4vw; padding: 3vw 4vw 3vw 10vw; border-radius: 2vw; }
  .overviewBlock02 .is-body::after { height: 4vw; left: 3vw; top: 5vw; width: 4vw; }
	.overviewBlock02 .lineBox { border: 0.6vw solid #21c953; padding: 2vw; border-radius: 2vw; margin-top: 2vw; gap: 2vw; }
}



/*-----------------------------------------------------

開催会場／交通規制

------------------------------------------------------*/
.venueBlock01 { margin: 100px auto; width: 1160px; color: #000; }
.venueBlock01 #map { position: relative; margin-bottom: 60px; }
.venueBlock01 #map a { color: #000; }
.venueBlock01 #map #map_canvas { height: 600px; margin-top: 60px; width: 100%; }
.venueBlock01 #map .map_tip .tip_address { margin-top: 6px; }
.venueBlock01 #map .map_tip a { display: inline-block; margin-top: 8px; }
.venueBlock01 #map ul { background: #fff; display: flex; flex-wrap: wrap; font-size: 1.4rem; margin: -110px 150px 0; padding: 20px 20px 10px; position: relative; z-index: 10; }
.venueBlock01 #map ul li { margin-bottom: 8px; width: 270px; }
.stageBox { width: 360px; color: #fff; }
.stageBox dt { margin-top: 15px; font-size: 2rem; font-weight: 700; }
.stageBox dd { margin-top: 20px; }
.venueBlock02 { margin: 80px auto 40px; width: 1160px; }
.venueBlock02 .flex { margin: 40px 0; }
.venueBlock02 figure { margin: 0; }
.venueBlock02 .txt { width: 440px; }
.venueBlock02 .txt p { margin-bottom: 20px; }
@media (max-width: 767px) {
	.venueBlock01 { margin: 9vw 6vw; width: auto; }
	.venueBlock01 #map { margin-bottom: 6vw; }
	.venueBlock01 #map a { color: #fff; }
	.venueBlock01 #map #map_canvas { height: 70vw; margin: 6vw 0; width: 88vw; }
	.venueBlock01 #map .map_tip .tip_address { margin-top: 2vw; }
	.venueBlock01 #map .map_tip a { margin-top: 2vw; }
	.venueBlock01 #map ul { background: #000; font-size: 2.8vw; margin: 0; padding: 0; gap: 2vw 3vw; }
	.venueBlock01 #map ul li { width: 38vw; }
	.stageBox { width: 88vw; }
	.stageBox dt { margin-top: 2vw; font-size: 4vw; }
	.stageBox dd { margin-top: 2vw; }
	.venueBlock02 { margin: 9vw 6vw; width: auto; }
	.venueBlock02 .flex { margin: 4vw 0; }
	.venueBlock02 .txt { width: auto; }
	.venueBlock02 .txt p { margin-bottom: 2vw; }
}



/*-----------------------------------------------------

開催の歴史

------------------------------------------------------*/
.historyBlock01 { margin: 100px auto; width: 1160px; }
.historyBlock01 .vimeo { padding:56.25% 0 0 0; position:relative; margin: 40px 0; }
.historyBlock02 { margin: 100px auto; width: 1160px; }
.historyBlock02 .flex { margin-bottom: 60px; }
.historyBlock02 .flex p { width: 440px; }
.historyBlock02 .mt40 { margin-top: 40px; }
@media (max-width: 767px) {
	.historyBlock01 { margin: 9vw 6vw; width: auto; }
	.historyBlock01 .vimeo { margin: 4vw 0; }
	.historyBlock02 { margin: 9vw 6vw; width: auto; }
	.historyBlock02 .flex p { width: auto; }
}



/*-----------------------------------------------------

観覧予約

------------------------------------------------------*/
.viewingBlock01 { margin: 100px auto; width: 1160px; }
.viewingBlock01 .point { margin: 40px 0; padding: 20px 0 20px 160px; position: relative; border-top: 1px solid #4d4d4d; border-bottom: 1px solid #4d4d4d; }
.viewingBlock01 .point::before { bottom: 0; content: "POINT"; left: 0; margin: auto; position: absolute; top: 0; color: #fff; font-size: 2.4rem; font-weight: 500; height: 1em; line-height: 1; }
.viewingBlock01 hr { margin: 80px 0; }
.viewingBlock01 .mt2em { margin-top: 2em; }
.viewingBlock01 .mb2em { margin-bottom: 2em; }
.viewingBlock02 { margin: 200px 0; padding: 0 calc(50% - 580px); background: url("../image/bg_wave.webp") repeat-y 0 0 / 100%; position: relative; }
.viewingBlock02::before,
.viewingBlock02::after { position: absolute; content: ""; width: 100%; left: 0; background: url("../image/bg_wave.webp") no-repeat 0 0 / 100% auto; }
.viewingBlock02::before { background: url("../image/bg_wave_top.webp") no-repeat 0 0 / 100% auto; top: -150px; height: 150px; }
.viewingBlock02::after { background: url("../image/bg_wave_bottom.webp") no-repeat 0 100% / 100% auto; bottom: -200px; height: 200px; }
.viewingBlock02 hr { margin: 40px 0 80px; }
.viewingBlock02 figure { margin: 40px 0; }
.viewingBlock02 h4 { font-size: 2rem; margin: 40px 0 15px; }
.viewingBlock02 .planBox { background: #fff; border-radius: 10px; padding: 20px 35px 30px; text-align: center; width: 340px; color: #000; font-weight: 700; }
.viewingBlock02 .planBox dd { color: #fff; margin-top: 15px; }
.viewingBlock02 .planBox.cho dd { background: #e50038; }
.viewingBlock02 .planBox.sou dd { background: #59b3d4; }
.viewingBlock02 .planBox.zen dd { background: #c287cc; }
.viewingBlock02 .planTou { width: 1080px; }
.viewingBlock02 .catch { padding-top: 40px; }
.viewingBlock02 .catch::after { background-repeat: no-repeat; background-size: contain; bottom: auto; height: 36px; width: 36px; }
.viewingBlock02 .catch.cho::after { background-image: url("../image/icon_cho.svg"); bottom: auto; }
.viewingBlock02 .catch.sou::after { background-image: url("../image/icon_sou.svg"); bottom: auto; }
.viewingBlock02 .catch.zen::after { background-image: url("../image/icon_zen.svg"); bottom: auto; }
.viewingBlock02 .catch.tou { margin-bottom: 15px; padding-left: 42px; padding-top: 0; }
.viewingBlock02 .catch.tou::after { background-image: url("../image/icon_tou.svg"); right: auto; }
.viewingBlock03 { margin: 0 auto 100px; width: 1160px; }
.viewingBlock03 .scroll-hint { overflow: hidden !important; }
.viewingBlock03 .scheduleTable { border: 1px solid #000; margin-bottom: 50px; }
.viewingBlock03 .scheduleTable th { border-top: 1px solid #4d4d4d; border-bottom: 1px solid #4d4d4d; padding: 13px; text-align: center; }
.viewingBlock03 .scheduleTable td { border-top: 1px solid #4d4d4d; border-bottom: 1px solid #4d4d4d; padding: 13px 40px; vertical-align: middle; width: 480px; }
.viewingBlock03 .scheduleTable .border { border-right: 1px solid #4d4d4d; }
.viewingBlock03 .scheduleTable a { font-size: 1.4rem; position: relative; padding-left: 22px; }
.viewingBlock03 .scheduleTable a::after { background: url("../image/icon_arrow_grade.svg") no-repeat; bottom: 0; content: ""; height: 10px; left: 0; margin: auto; position: absolute; top: 0; width: 15px; }
.viewingBlock03 .dayBox { background: #f6f6f6; margin: 60px 0; padding: 40px 40px 10px; color: #000; border-radius: 30px; }
.viewingBlock03 .dayBox h3 { font-size: 1.6rem; margin-bottom: 30px; padding-bottom: 15px; text-align: center; position: relative; }
.viewingBlock03 .dayBox h3 .fsL { font-size: 3.4rem; }
.viewingBlock03 .dayBox h3::before { width: 100%; height: 1px; position: absolute; content: ""; bottom: 0; left: 0; background-image: -webkit-linear-gradient( 0deg, rgb(209,45,156) 0%, rgb(94,162,239) 100%); }
.viewingBlock03 .planTitle { background: #000; font-size: 1.8rem; font-weight: 700; padding: 10px 25px; position: relative; border-top-left-radius: 10px; border-top-right-radius: 10px; }
.viewingBlock03 .gradient { background-image: -webkit-linear-gradient( 0deg, rgb(237,223,88) 0%, rgb(180,70,149) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.viewingBlock03 .planTitle .time { color: #fff; display: block; font-size: 1.4rem; font-weight: 400; margin-top: 5px; }
.viewingBlock03 .is-accordion { margin-bottom: 30px; }
.viewingBlock03 .is-head::after { background: url("../image/icon_open.svg") no-repeat 0 0 / contain; bottom: 0; content: ""; height: 28px; margin: auto; position: absolute; right: 25px; top: 0; width: 28px; }
.viewingBlock03 .is-head.is-open::after { background: url("../image/icon_close.svg") no-repeat 0 0 / contain; }
.viewingBlock03 .is-body { overflow: hidden !important; }
.viewingBlock03 .planTable { }
.viewingBlock03 .planTable thead th { background: #fff; border: 1px solid #000; font-size: 1.4rem; font-weight: 400; padding: 15px; text-align: center; }
.viewingBlock03 .planTable tbody th { background: #fff; border: 1px solid #000; font-weight: 400; padding: 10px 6px; text-align: left; vertical-align: middle; }
.viewingBlock03 .planTable td { background: #fff; border: 1px solid #000; padding: 10px; text-align: center; vertical-align: middle; width: 160px; }
.viewingBlock03 .planTable .cho,
.viewingBlock03 .planTable .sou,
.viewingBlock03 .planTable .zen,
.viewingBlock03 .planTable .tou { padding-left: 42px; }
.viewingBlock03 .planTable .cho::after { background: url("../image/icon_cho.svg") no-repeat; height: 36px; right: auto; width: 36px; }
.viewingBlock03 .planTable .sou::after { background: url("../image/icon_sou.svg") no-repeat; height: 36px; right: auto; width: 36px; }
.viewingBlock03 .planTable .zen::after { background: url("../image/icon_zen.svg") no-repeat; height: 36px; right: auto; width: 36px; }
.viewingBlock03 .planTable .tou::after { background: url("../image/icon_tou.svg") no-repeat; height: 36px; right: auto; width: 36px; }
.viewingBlock03 .w870 { width: 870px; margin-left: auto; margin-right: auto; }
@media (max-width: 767px) {
	.viewingBlock01 { margin: 9vw 6vw; width: auto }
  .viewingBlock01 .point { margin: 4vw 0 10vw; padding: 12vw 0 2vw; border-top: 0.2vw solid #4d4d4d; border-bottom: 0.2vw solid #4d4d4d; }
  .viewingBlock01 .point::before { top: 4vw; left: 0; right: 0; bottom: auto; font-size: 5vw; text-align: center; }
  .viewingBlock01 hr { margin: 8vw 0; }
  .viewingBlock02 { margin: 20vw 0; padding: 0 6vw; }
  .viewingBlock02::before { background: url("../image/bg_wave_top.webp") no-repeat 0 0 / 100% auto; top: -15vw; height: 15vw; }
  .viewingBlock02::after { background: url("../image/bg_wave_bottom.webp") no-repeat 0 100% / 100% auto; bottom: -15vw; height: 15vw; }
  .viewingBlock02 hr { margin: 4vw 0 8vw; }
  .viewingBlock02 figure { margin: 4vw 0; }
  .viewingBlock02 h4 { font-size: 4.6875vw; margin: 4vw 0 2vw; }
  .viewingBlock02 .scroll-hint { margin-bottom: 5vw; }
  .viewingBlock02 .planBox { border-radius: 2vw; padding: 2vw 3vw 3vw; width: 100%; }
  .viewingBlock02 .planBox dd { margin-top: 2vw; }
  .viewingBlock02 .planTou { width: 100%; }
  .viewingBlock02 .catch { padding-top: 8vw; }
  .viewingBlock02 .catch::after { height: 6vw; width: 6vw; }
  .viewingBlock02 .catch.tou { margin-bottom: 2vw; padding-left: 8vw; }
  .viewingBlock03 { margin: 0 6vw 9vw; width: auto; }
  .viewingBlock03 .scheduleTable { border: 0.4vw solid #000; margin-bottom: 5vw; }
  .viewingBlock03 .scheduleTable th { border-top: 0.4vw solid #4d4d4d; border-bottom: 0.4vw solid #4d4d4d; padding: 2vw; }
  .viewingBlock03 .scheduleTable td { border-top: 0.4vw solid #4d4d4d; border-bottom: 0.4vw solid #4d4d4d; padding: 2vw 4vw; width: 32vw; }
  .viewingBlock03 .scheduleTable a { font-size: 2.8vw; padding-left: 0; padding-top: 5vw; display: inline-block; }
  .viewingBlock03 .scheduleTable a::after { background: url("../image/icon_arrow_grade.svg") no-repeat; bottom: auto; content: ""; height: 2vw; left: 0; right: 0; top: 2vw; width: 4vw; }
  .viewingBlock03 .dayBox { margin: 6vw 0; padding: 4vw 4vw 1vw; border-radius: 3vw; }
  .viewingBlock03 .dayBox h3 { font-size: 3.75vw; margin-bottom: 3vw; padding-bottom: 2vw; }
  .viewingBlock03 .dayBox h3 .fsL { font-size: 4.375vw; }
  .viewingBlock03 .planTitle { font-size: 4vw; padding: 3vw 8vw 3vw 3vw; border-top-left-radius: 2vw; border-top-right-radius: 2vw; }
  .viewingBlock03 .planTitle .time { font-size: 2.8vw; margin-top: 1vw; }
  .viewingBlock03 .is-accordion { margin-bottom: 4vw; }
  .viewingBlock03 .is-head::after { height: 4vw; right: 3vw; width: 4vw; }
  .viewingBlock03 .planTable { width: 150vw; }
  .viewingBlock03 .planTable thead th { font-size: 3.125vw; padding: 2vw; }
  .viewingBlock03 .planTable tbody th { padding: 2vw; }
  .viewingBlock03 .planTable td { padding: 2vw; width: 20vw; }
  .viewingBlock03 .planTable .cho,
  .viewingBlock03 .planTable .sou,
  .viewingBlock03 .planTable .zen,
  .viewingBlock03 .planTable .tou { padding-top: 7vw; padding-left: 0; }
  .viewingBlock03 .planTable .cho::after { background: url("../image/icon_cho.svg") no-repeat 0 0 / contain; height: 6vw; right: 0; bottom: auto; width: 6vw; }
  .viewingBlock03 .planTable .sou::after { background: url("../image/icon_sou.svg") no-repeat 0 0 / contain; height: 6vw; right: 0; bottom: auto; width: 6vw; }
  .viewingBlock03 .planTable .zen::after { background: url("../image/icon_zen.svg") no-repeat 0 0 / contain; height: 6vw; right: 0; bottom: auto; width: 6vw; }
  .viewingBlock03 .planTable .tou::after { background: url("../image/icon_tou.svg") no-repeat 0 0 / contain; height: 6vw; right: 0; bottom: auto; width: 6vw; }
	.viewingBlock03 .w870 { width: auto; }
}



/*-----------------------------------------------------

応援企業一覧

------------------------------------------------------*/
.sponsorBlock01 { margin: 0 auto 100px; width: 1160px; }
.sponsorBlock01__image { width: 660px; }
.sponsorBlock01__txt { width: 460px; }
.sponsorBlock01__txt p { margin-bottom: 1.5em; }
.sponsorBlock02 { margin: 0 auto 100px; width: 1160px; padding: 60px 40px; background: #fff; border-radius: 20px; color: #000; }
.sponsorBlock02 hr { margin: 50px 0; }
.sponsorListL { align-items: center; display: flex; flex-wrap: wrap; gap: 40px; }
.sponsorListL li { text-align: center; width: 320px; }
.sponsorListM { align-items: center; display: flex; flex-wrap: wrap; gap: 40px; }
.sponsorListM li { text-align: center; width: 320px; }
.sponsorListS { display: flex; flex-wrap: wrap; gap: 20px 40px; }
.sponsorListS li { font-size: 1.8rem; width: 320px; }
.sponsorListSS { display: flex; flex-wrap: wrap; gap: 10px 40px; }
.sponsorListSS li { font-size: 1.4rem; width: 240px; }
.sponsor_cocolo { width: 165px; }
.sponsor_echiten { width: 240px; }
.sponsor_toyano { width: 215px; }
.sponsor_trust { width: 235px; }
.sponsor_befco { width: 235px; }
.sponsor_nikko { width: 235px; }
.sponsor_soho { width: 235px; }
.sponsor_nsg_college { width: 260px; }
.sponsor_niigatashomei { width: 235px; }
.sponsor_hamabe { width: 70px; }
.sponsor_ccube { width: 170px; }
.sponsor_nippontravel { width: 255px; }
.sponsor_fordays { width: 170px; }
.sponsor_maxestate { width: 190px; }
.sponsor_yuri { width: 190px; }
.sponsor_niigatadrive { width: 200px; }
.sponsor_fujita { width: 200px; }
@media (max-width: 767px) {
	.sponsorBlock01 { margin: 9vw 6vw; width: auto; }
  .sponsorBlock01__image { width: auto; }
  .sponsorBlock01__txt { width: auto; }
	.sponsorBlock02 { margin: 0 6vw 10vw; width: auto; padding: 6vw 4vw; border-radius: 2vw; }
	.sponsorBlock02 hr { margin: 8vw 0; }
	.sponsorListL { gap: 6vw; }
	.sponsorListL li { width: 100%; }
	.sponsorListM { gap: 4vw; }
	.sponsorListM li { width: 38vw; }
	.sponsorListS { gap: 2vw; }
	.sponsorListS li { font-size: 4vw; width: 100%; }
	.sponsorListSS { gap: 2vw; }
	.sponsorListSS li { font-size: 2.8vw; width: 38vw; }
  .sponsor_cocolo { width: 33vw; }
  .sponsor_echiten { width: 48vw; }
  .sponsor_toyano { width: 43vw; }
  .sponsor_trust { width: 47vw; }
  .sponsor_befco { width: 47vw; }
	.sponsor_nikko { width: 47vw; }
  .sponsor_soho { width: 47vw; }
  .sponsor_nsg_college { width: 52vw; }
  .sponsor_niigatashomei { width: 47vw; }
  .sponsor_hamabe { width: 14vw; }
  .sponsor_ccube { width: 34vw; }
  .sponsor_nippontravel { width: 51vw; }
  .sponsor_fordays { width: 34vw; }
  .sponsor_maxestate { width: 38vw; }
  .sponsor_yuri { width: 38vw; }
  .sponsor_niigatadrive { width: 40vw; }
  .sponsor_fujita { width: 40vw; }
}



/*-----------------------------------------------------

お知らせ

------------------------------------------------------*/
@media (min-width: 768px) {
	.newsBlock { margin: 100px auto; width: 1160px; }
	.newsBlock .date { width: 120px; }
	.newsBlock .category { background: #e84865; color: #fff; display: inline-block; font-size: 1.4rem; font-weight: 400; line-height: 1; padding: 3px; text-align: center; border-radius: 5px; width: 90px; margin-left: 30px; }
	.newsBlock .articleList { border-top: 1px solid #4d4d4d; margin-bottom: 100px; }
	.newsBlock .articleList dl { border-bottom: 1px solid #4d4d4d; padding: 25px 0; display: flex; align-items: flex-start; justify-content: space-between; }
	.newsBlock .articleList dt { display: flex; align-items: center; width: 240px; }
	.newsBlock .articleList dd { width: 890px; }
	.entryBody { margin-top: 30px; -ms-word-break: break-all; word-break: break-all; }
	.entryBody ul,
	.entryBody ol { list-style-position: outside; margin: 1em 0 1em 2em; text-align: left; }
	.entryBody ol { list-style: decimal; }
	.entryBody ul > li { list-style-type: disc; text-align: left; }
	.entryBody ol > li { text-align: left; }
	.entryBody ol.maruSuji > li { list-style: none; padding-left: 1.3em; text-indent: -1.3em; }
	.entryBody strong { font-weight: bold !important; }
	.entryBody strong span { font-weight: bold !important; }
	.entryBody span strong { font-weight: bold !important; }
	.entryBody del strong { font-weight: bold !important; }
	.entryBody em strong { font-weight: bold !important; }
	.entryBody em { font-style: italic; }
	.entryBody p { line-height: 1.7; margin: 0 0 1.5em; }
	.entryBody em { font-style: italic !important; }
	.entryBody blockquote { background: #f2f2f2; margin: 15px 0; padding: 20px; }
	.entryBody img { height: auto; margin: 0 0 1em; max-width: 100%; }
	.entryBody iframe { height: 330px; width: 600px; }
	.entryBody .alignleft, .entryBody img.alignleft { display: inline; float: left; margin-right: 24px; margin-top: 4px; }
	.entryBody .alignright, .entryBody img.alignright { display: inline; float: right; margin-left: 24px; margin-top: 4px; }
	.entryBody .aligncenter, .entryBody img.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }
	.entryBody img.alignleft, .entryBody img.alignright, .entryBody img.aligncenter { margin-bottom: 12px; }
	.entryBody .wp-caption { background: #f1f1f1; border: none; border-radius: 0; color: #888; font-size: 12px; line-height: 18px; margin-bottom: 20px; padding: 4px; text-align: center; }
	.entryBody .wp-caption img { margin: 5px; }
	.entryBody .wp-caption p.wp-caption-text { margin: 0 0 4px; }
	.entryBody .wp-smiley { margin: 0; }
	.wp-pagenavi { display: flex; font-weight: 700; justify-content: center; margin-top: 20px; }
	.wp-pagenavi a.page,
	.wp-pagenavi span { align-items: center; border: 1px solid #000; display: flex; height: 55px; justify-content: center; text-decoration: none; width: 55px; }
	.wp-pagenavi a { margin: 0 8px !important; padding: 0 !important; }
	.wp-pagenavi .current { background: #000; color: #fff; margin: 0 8px !important; padding: 0 !important; }
	.wp-pagenavi .nextpostslink,
	.wp-pagenavi .previouspostslink { align-items: center; display: flex; height: 55px; justify-content: center; position: relative; text-decoration: none; width: 100px; }
	.wp-pagenavi .nextpostslink:before,
	.wp-pagenavi .previouspostslink:before { content: ""; height: 55px; position: absolute; width: 100px; }
	.wp-pagenavi .nextpostslink:before { background: #fff url("../image/icon_next.svg") no-repeat 50% 50% / 100px auto; }
	.wp-pagenavi .previouspostslink:before { background: #fff url("../image/icon_prev.svg") no-repeat 50% 50% / 100px auto; }
	.btnLine { display: flex; gap: 40px; justify-content: center; align-items: center; margin: 40px 0 80px; }
}
@media (max-width: 767px) {
	.newsBlock {margin: 9vw 6vw; }
	.newsBlock .date { display: inline-block; width: 30vw; }
	.newsBlock .category { background: #e84865; color: #fff; display: inline-block; font-size: 1.4rem; font-weight: 400; line-height: 1; padding: 3px 15px; border-radius: 5px; }
	.newsBlock .articleList { border-top: 0.4vw solid #4d4d4d; margin-bottom: 10vw; }
	.newsBlock .articleList dl { border-bottom: 0.4vw solid #4d4d4d; padding: 5vw 0; }
	.newsBlock .articleList dt { display: flex; margin-bottom: 3vw; }
	.entryBody { font-size: 3.7vw; margin-top: 5vw; -ms-word-break: break-all; word-break: break-all; }
	.entryBody ul,
	.entryBody ol { list-style-position: outside; margin: 1em 0 1em 2em; text-align: left; }
	.entryBody ol { list-style-type: decimal; }
	.entryBody ul > li { list-style-type: disc; text-align: left; }
	.entryBody ol > li { text-align: left; }
	.entryBody ol.maruSuji { margin: 0 !important; padding: 0 !important; }
	.entryBody ol.maruSuji > li { list-style: none; padding-left: 1em; text-indent: -1em; }
	.entryBody strong { font-weight: bold !important; }
	.entryBody strong span { font-weight: bold !important; }
	.entryBody span strong { font-weight: bold !important; }
	.entryBody del strong { font-weight: bold !important; }
	.entryBody em strong { font-weight: bold !important; }
	.entryBody em { font-style: italic; }
	.entryBody p { line-height: 1.7; margin: 0 0 1.5em; }
	.entryBody em { font-style: italic !important; }
	.entryBody blockquote { background: #f2f2f2; margin: 1em 0; padding: 1em; }
	.entryBody img { margin: 0 0 1em; }
	.entryBody iframe { max-width: 100%; width: auto; }
	.entryBody .alignleft, .entryBody img.alignleft { display: inline; float: left; margin-right: 24px; margin-top: 4px; }
	.entryBody .alignright, .entryBody img.alignright { display: inline; float: right; margin-left: 24px; margin-top: 4px; }
	.entryBody .aligncenter, .entryBody img.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; }
	.entryBody img.alignleft, .entryBody img.alignright, .entryBody img.aligncenter { margin-bottom: 12px; }
	.entryBody .wp-caption { background: #f1f1f1; border: none; border-radius: 0; color: #888; font-size: 12px; line-height: 18px; margin-bottom: 20px; padding: 4px; text-align: center; }
	.entryBody .wp-caption img { margin: 5px; }
	.entryBody .wp-caption p.wp-caption-text { margin: 0 0 4px; }
	.entryBody .wp-smiley { margin: 0; }
	.wp-pagenavi { display: flex; font-weight: 700; justify-content: center; margin: 10vw 0 15vw; }
	.wp-pagenavi a.page,
	.wp-pagenavi span { align-items: center; border: 0.4vw solid #000; display: flex; height: 7vw; justify-content: center; text-decoration: none; width: 7vw; }
	.wp-pagenavi a { margin: 0 2vw !important; padding: 0 !important; }
	.wp-pagenavi .current { background: #000; color: #fff; margin: 0 1vw !important; padding: 0 !important; }
	.wp-pagenavi .nextpostslink,
	.wp-pagenavi .previouspostslink { align-items: center; display: flex; height: 7vw; justify-content: center; position: relative; width: 10vw; }
	.wp-pagenavi .nextpostslink:before,
	.wp-pagenavi .previouspostslink:before { content: ""; height: 7vw; position: absolute; width: 10vw; }
	.wp-pagenavi .nextpostslink:before { background: #fff url("../image/icon_next.svg") no-repeat 50% 50% / 10vw auto; }
	.wp-pagenavi .previouspostslink:before { background: #fff url("../image/icon_prev.svg") no-repeat 50% 50% / 10vw auto; }
  .btnLine { display: flex; justify-content: center; flex-wrap: wrap; gap: 6vw; margin: 4vw 0 8vw; }
}




