/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url('./ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

.slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
.slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}
body.lb-disable-scrolling {
  overflow: hidden;
}

.lightboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 60000;
  background-color: black;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
  display: none;
}

.lightbox {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 70000;
  text-align: center;
  line-height: 0;
  font-weight: normal;
  outline: none;
}

.lightbox .lb-image {
  display: block;
  height: auto;
  max-width: inherit;
  max-height: none;
  border-radius: 3px;

  /* Image border */
  border: 4px solid white;
}

.lightbox a img {
  border: none;
}

.lb-outerContainer {
  position: relative;
  *zoom: 1;
  width: 250px;
  height: 250px;
  margin: 0 auto;
  border-radius: 4px;

  /* Background color behind image.
     This is visible during transitions. */
  background-color: white;
}

.lb-outerContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-loader {
  position: absolute;
  top: 43%;
  left: 0;
  height: 25%;
  width: 100%;
  text-align: center;
  line-height: 0;
}

.lb-cancel {
  display: block;
  width: 32px;
  height: 32px;
  margin: 0 auto;
  background: url(../images/loading.gif) no-repeat;
}

.lb-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 10;
}

.lb-container > .nav {
  left: 0;
}

.lb-nav a {
  outline: none;
  background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
}

.lb-prev, .lb-next {
  height: 100%;
  cursor: pointer;
  display: block;
}

.lb-nav a.lb-prev {
  width: 34%;
  left: 0;
  float: left;
  background: url(../images/prev.png) left 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-prev:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-nav a.lb-next {
  width: 64%;
  right: 0;
  float: right;
  background: url(../images/next.png) right 48% no-repeat;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: opacity 0.6s;
  -moz-transition: opacity 0.6s;
  -o-transition: opacity 0.6s;
  transition: opacity 0.6s;
}

.lb-nav a.lb-next:hover {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

.lb-dataContainer {
  margin: 0 auto;
  padding-top: 5px;
  *zoom: 1;
  width: 100%;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
  content: "";
  display: table;
  clear: both;
}

.lb-data {
  padding: 0 4px;
  color: #ccc;
}

.lb-data .lb-details {
  width: 85%;
  float: left;
  text-align: left;
  line-height: 1.1em;
}

.lb-data .lb-caption {
  font-size: 13px;
  font-weight: bold;
  line-height: 1em;
}

.lb-data .lb-caption a {
  color: #4ae;
}

.lb-data .lb-number {
  display: block;
  clear: left;
  padding-bottom: 1em;
  font-size: 12px;
  color: #999999;
}

.lb-data .lb-close {
  display: block;
  float: right;
  width: 30px;
  height: 30px;
  background: url(../images/close.png) top right no-repeat;
  text-align: right;
  outline: none;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
  opacity: 0.7;
  -webkit-transition: opacity 0.2s;
  -moz-transition: opacity 0.2s;
  -o-transition: opacity 0.2s;
  transition: opacity 0.2s;
}

.lb-data .lb-close:hover {
  cursor: pointer;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}
@charset "UTF-8";

@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1133px) {}

@media screen and (max-width: 840px) {}

@media screen and (max-width: 670px) {}

@media screen and (max-width: 500px) {}

@media screen and (max-width: 400px) {}

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

00000 RESET
00001 TYPO
00002 ol
00003 blockquote
00004 dl.card

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


.pages {
	border: 0pt solid olive !important;
}







/*-----------------------------------------------------------------------------------------
00000 RESET
----------------------------------------------------------------------------------------- */
article.pages h2,
article.pages h3,
article.pages h4,
article.pages h5,
article.pages h6,
article.pages p,
article.pages dt,
article.pages dd {
	padding: 0;
	margin: 0;
	line-height: 1.5;
	letter-spacing: 0;
	font-weight: 400;
	font-style: normal;
	color: var(--color-red);
	font-size: 1.0rem;
}

article.pages ol li {
	padding: 0;
	margin: 0 0;
	line-height: 1.5;
	letter-spacing: 0;
	font-weight: 400;
	font-style: normal;
	color: var(--color-red);
	font-size: 1.6rem;
}

@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1133px) {}

@media screen and (max-width: 840px) {}

@media screen and (max-width: 670px) {}

@media screen and (max-width: 500px) {}

@media screen and (max-width: 400px) {}









/*-----------------------------------------------------------------------------------------
00001 TYPO
----------------------------------------------------------------------------------------- */
article.pages p {
	padding: 0;
	margin: 0.75em 0;
	line-height: 1.9;
	letter-spacing: 0;
	font-weight: 400;
	font-style: normal;
	color: var(--color-font);
	font-size: 1.6rem;
}

article.pages p a {
	text-decoration: underline
}


article.pages h2 {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	font-size: 3.6rem;
	border-bottom: solid 4px #ddd;
	position: relative;
	color: var(--color-font);
	font-weight: 600;
	padding: 0 0 0.25em 0;
	margin: 1.5em 0 0.25em 0;
}

article.pages h2:after {
	position: absolute;
	content: " ";
	display: block;
	border-bottom: solid 4px var(--color-key);
	bottom: -4px;
	width: 30%;
}

article.pages h2 small {
	font-size: 0.7em;
	margin-left: 0.5em;
}

article.pages h3 {
	font-size: 3.2rem;
	color: var(--color-font);
	text-align: center;
	font-weight: 600;
	border: 0pt solid red;
	padding: 0 0 2.0em 0;
	margin: 2em 0 1.0em 0;
	position: relative
}

article.pages h3:after {
	content: '・・・';
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0%);
	letter-spacing: -0.25em;
	text-indent: -0.25em;
	font-size: 1.25em;
}

article.pages h4 {
	font-size: 2.4rem;
	font-weight: 600;
	line-ehgiht: 1.4;
	padding: 0;
	margin: 1.5em 0 0.25em 0;
	color: var(--color-font);
}

article.pages h4::before {
	content: '\f0c8';
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	margin-right: 0.25em;
}

article.pages h4 small {
	font-size: 0.7em;
}

article.pages h5,
article.pages h6 {
	font-size: 2.0rem;
	font-weight: 600;
	color: var(--color-font);
	margin: 0.5em 0 0.2em 0
}

@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1133px) {
	article.pages p {
		font-size: 1.6rem;
	}

	article.pages h2 {
		font-size: calc(3.6vw * 1.4);
	}

	article.pages h3 {
		font-size: calc(3.2vw * 1.4);

	}

	article.pages h4 {
		font-size: calc(2.4vw * 1.0);

	}

	article.pages h5,
	article.pages h6 {
		font-size: calc(2.0vw * 1.0);
	}
}

@media screen and (max-width: 840px) {}

@media screen and (max-width: 670px) {}

@media screen and (max-width: 500px) {
	article.pages p {
		font-size: 1.6rem;
	}

	article.pages h2 {
		font-size: calc(3.6rem * 0.8);
	}

	article.pages h3 {
		font-size: calc(3.2rem * 0.9);

	}

	article.pages h4 {
		font-size: calc(2.4rem * 0.9);

	}

	article.pages h5,
	article.pages h6 {
		font-size: calc(2.0rem * 0.9);
	}
}

@media screen and (max-width: 400px) {}



/*



article h5 {
font-size: 2.2rem;
align-items: center;
display: flex;
flex-wrap: wrap;
padding: 0.2em 0.5em;
margin: 0;
color: white;
font-weight: 600;
background: #8DB41C;
border-color: #81a616
}

article h5 small {
font-size: 0.7em;
background: white;
color: #3168B1;
font-weight: 600;
padding: 0 0.5em;
margin-right: 0.5em;
letter-spacing: 0;
color: #8DB41C
}

article .middle h5 {
background: #F0A300;
border-color: #f08800
}

article .middle h5 small {
color: #F0A300
}

article .another h5 {
background: #776CAD;
border-color: #574b91
}

article .another h5 small {
color: #776CAD
}



@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1133px) {
article h5 {
font-size: 2.2vw;
}
}

@media screen and (max-width: 840px) {}

@media screen and (max-width: 670px) {
article h3 {
font-size: calc(2.0vw * 1.8);
padding: 0.25em 0.5em;
margin-top: 0;
}

article h3>span,
article h3>small {
border: 0px solid white;
padding: 4px 0;
margin: 0;
width: 100%;

}

article h3>small {
border-top: 1px solid white;
font-size: 0.6em;
}

article h5 {
font-size: calc(2.2vw * 2);
}
}

@media screen and (max-width: 500px) {
article h2 {
font-size: calc(3.0rem * 0.9);
}

article h2 small {
padding: 0.3em 0.5em;
}

article h3 {
font-size: calc(2.0vw * 2.0);
}
}

@media screen and (max-width: 400px) {
article h2 {
font-size: calc(3.0rem * 0.8);
}
}
*/









/*-----------------------------------------------------------------------------------------
00002 ol
----------------------------------------------------------------------------------------- */
article.pages ol {
	background: transparent;
	padding: 0;
	margin: 1.5rem 0;
	font-size: 1.6rem;
	display: block;
	width: 100%;
}

article.pages ol li {
	list-style-type: disc;
	font-size: inherit;
	line-height: 1.5;
	padding: 0;
	margin: 0.5em 0 0.5em 1.75em;
	font-weight: 400;
	position: relative;
	color: var(--color-font);
	border: none;
}

@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1133px) {}

@media screen and (max-width: 840px) {}

@media screen and (max-width: 670px) {}

@media screen and (max-width: 500px) {}

@media screen and (max-width: 400px) {}





article.pages ol.number li {
	list-style-type: decimal;
}

article.pages ol.arrow li,
article.pages ol.check li,
article.pages ol.check-kuro li {
	list-style-type: none;
	margin-left: 0;
	text-indent: -0.9em;
	margin-left: 1em;
}

article.pages ol.check li {
	text-indent: -1.5em;
	margin-left: 1em;
}

article.pages ol.check-kuro li {
	text-indent: -1.5em;
	margin-left: 1em;
}

article.pages ol.arrow li::before,
article.pages ol.check li::before,
article.pages ol.check-kuro li::before {
	content: '\f0da';
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	margin-right: 0.4em;
	color: var(--color-font);
}

article.pages ol.check li::before {
	content: '\f058';
}

article.pages ol.check-kuro li::before {
	content: '\f058';
}

article.pages ol.arrow {
	padding-left: 0.6em
}

article.pages ol.check,
article.pages ol.check-kuro {
	padding-left: 1.0em
}


article.pages ol.large li {
	font-size: 2.7rem;
	font-weight: 600;
	line-height: 1.3;
	margin-top: 0.25em;
	margin-bottom: 0.25em;
}

article.pages ol.danger li::before {
	color: var(--color-red-dark) !important;
}

@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1133px) {}

@media screen and (max-width: 840px) {}

@media screen and (max-width: 670px) {}

@media screen and (max-width: 500px) {}

@media screen and (max-width: 400px) {}









/*-----------------------------------------------------------------------------------------
00003 blockquote
----------------------------------------------------------------------------------------- */
article.pages blockquote {
	background: #E9EDF0;
	padding: 3.0rem;
	margin: 1.5rem 0;
}


article.pages blockquote *:first-child {
	margin-top: 0;
}

article.pages blockquote *:last-child {
	margin-bottom: 0;
}

@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1133px) {}

@media screen and (max-width: 840px) {}

@media screen and (max-width: 670px) {}

@media screen and (max-width: 500px) {}

@media screen and (max-width: 400px) {}









/*-----------------------------------------------------------------------------------------
00004 dl.card
----------------------------------------------------------------------------------------- */
dl.card {
	padding: 3.0rem 0;
	margin: 0;
	border-top: 1px dashed #ccc;
}


dl.card dt,
dl.card dd {
	width: 20%;
	padding: 0;
	margin: 0;
	color: var(--color-font);
	font-size: 1.4rem;
	line-height: 1.8;
}

dl.card dd {
	width: 80%;
	padding: 0 0 0 3.0rem;
}

dl.card dd *:first-child {
	margin-top: 0;
}

dl.card h4 {
	margin-bottom: 0.5em;
	font-size: 2.0rem;
}

dl.card h4::before {
	display: none;
}

dl.card img {
	border: 4px solid #eee;
}

dl.card table.event {
	margin: 1.5rem 0;
}

dl.card table.event th {
	width: 7em;
	background: #E9EDF0;
}

dl.card table.event th,
dl.card table.event td {
	padding: 0.5em 1em
}

.event-naiyou p {
	font-size: 1.3rem !important;
}




@media screen and (max-width: 1920px) {}

@media screen and (max-width: 1600px) {}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1133px) {}

@media screen and (max-width: 840px) {}

@media screen and (max-width: 670px) {}

@media screen and (max-width: 500px) {}

@media screen and (max-width: 400px) {}