@charset "utf-8";

* { box-sizing: border-box }
*:focus { outline: none }

body {
	font-family: "Noto Sans CJK JP", sans-serif;
	font-feature-settings: "palt";
}

a {
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s ease-out;
}

a img {
	transition: opacity 0.3s ease-out;
}

a:hover {
	opacity: 0.75;
}

@media screen and (max-width: 768px){
body {
    font-size: 12px;
    color: #000000;
    line-height: 1.75;
    -webkit-text-size-adjust: 100%;
}
}

/* --------------------------------
	header
-------------------------------- */
header > .inner {
	padding: 0 20px;
}

header .hLogo {
	line-height: 1;
}

.header-notes2 {
	width: 100%;
	max-width: 840px;
	margin: 1rem auto 0;
}

#contents {
	max-width: 100%;
}


#contents p.header-notes4--text {
	font-feature-settings: "palt";
	font-family: "YakuHanJP","中ゴシックBBB", "Gothic Medium BBB", "M PLUS 1p", sans-serif;
	font-weight: 400;
	font-size: 0.85rem;
	width: 100%;
	max-width: 840px;
	margin: 0 auto;
	text-align: center;
}

#contents p.header-notes2--text1 {
	font-feature-settings: "palt";
	font-family: "YakuHanJP", "M PLUS 1p", sans-serif;
	font-weight: 700;
	font-size: 1.6rem;
	text-align: center;
	line-height: 1.35;
}

#contents p.header-notes2--text1 strong {
	font-size: 1.8rem;
	font-weight: 700;
}

.header-notes1 {
	margin: 1rem auto 0;
	text-align: center;
}

@media screen and (max-width: 768px){
	.header-logo {
    padding: 0;
    margin: 0 auto 15px auto;
    overflow: hidden;
}
}

@media screen and (max-width: 415px){
	#contents p.header-notes2--text1 strong {
		font-size: 1.2rem;
	}
#contents p.header-notes2--text1 {
    font-size: 1.0rem;
}
}

.container{
	text-align: center;
}

#sec6 .bg{
	background-color: #E3EBA2;
}

 /* --------------------------------
btns
-------------------------------- */


.btns {
	width: 100%;
	max-width: 980px;
	margin: 4rem auto 0;
	text-align: center;
}

.btn{
	margin-bottom: 3rem;
}

#sec6 .btn{
	margin-bottom: 0;
	width: 100%;
	max-width: 960px;
	margin: auto;
}

.btn img{
	width: 100%;
}
@media screen and (max-width: 1180px){
.btns {
	width: 84.41%;
	max-width: 100%;
    margin: 5.42vw auto 0;
}
}
@media screen and (max-width: 600px){
#sec6 .btn{
	width: 100%;
	max-width: 85%;
}
}

 /* --------------------------------
flex-container
-------------------------------- */

.flex-container{
	display: flex;
	justify-content: center;
	width: 100%;
	max-width: 980px;
	margin: 40PX auto 0;
	padding: 0 2%;
	text-align: center;
}

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

	.flex-container{
		margin: 10PX auto 0;
	}
}

 /* --------------------------------
first
-------------------------------- */
.first {
	padding: 0px;
	width: 100%;
	max-width: 1180px;
	margin-left:auto;
	margin-right:auto;
	box-sizing: border-box;
	display: block;
	text-align: center;
}
.first img {
	width: 100%;
}
.first p{
	margin-left:auto;
	margin-right:auto;
}
.first .top{
    width:53.64%;
    margin-top:3.69rem;
}
.first .comingsoon{
    width:26.61%;
    margin-top:2.375rem;
}
.first .read{
    width:80.7%;
    margin-top:3.07rem;
}
.first .bottom{
    margin-top:0.82rem;
}
@media screen and (max-width: 1180px){   
.first .top{
    margin-top:5vw;
}
.first .comingsoon{
    margin-top:3.22vw;
}
.first .read{
    margin-top:4.16vw;
}
.first .bottom{
    margin-top:1.103vw;
}
}
 /* --------------------------------
topics
-------------------------------- */
.topics {
	padding: 0px;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	box-sizing: border-box;
	display: block;
	text-align: center;
}

.topics img {
	width: 100%;
}


 /* --------------------------------
bnr
-------------------------------- */
.bnr{
	width: 100%;
	max-width: 980px;
	margin: 90px auto 0;
}
.bnr img {
	width: 100%;
	padding: 5%;
}
@media screen and (max-width: 500px){  
	.bnr{
		margin: 30px auto 0;
	}
}

 /* --------------------------------
accordion
-------------------------------- */

.blockTitle h2 {
	display: block;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	position: relative;
}
.blockTitle h2:hover{
	cursor: pointer;
    opacity: 0.7;
}

.blockTitle h2:after {
	content: "";
	display: block;
	width: 140px;
	height: 50px;
	background-image: url(../img/arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	left: calc(50% - 72px);
	bottom: 5%;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	cursor: pointer;
}
.blockTitle.open h2:after {
	transform: scale(1, -1);
	}

#sec3 .blockTitle h2:after {
	content: "";
	display: block;
	width: 140px;
	height: 50px;
	background-image: url(../img/arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	left: calc(50% - 72px);
	bottom: 5%;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	cursor: pointer;
}
#sec5 .blockTitle h2:after {
	content: "";
	background-image: none;
	cursor: pointer;
}
	
	.content {
    width: 100%;
    max-width: 1180px;
    margin: 0 auto 10rem;
    padding: 0;
}
	.accordion .content {
    display: none;
}

.close {
	display: block;
	width: 140px;
	height: 50px;
	background-image: url(../img/close-arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	margin: -5rem auto 3rem;
	cursor: pointer;
	position: sticky;
}

#sec4 .close {
	display: block;
	width: 140px;
	height: 50px;
	background-image: url(../img/close-arrow_white.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-ms-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all 0.3s;
	margin: -6rem auto 3rem;
	cursor: pointer;
	position: sticky;
}

@media screen and (max-width: 768px){
	.blockTitle h2:after{
			width: 12.2vw;
			height: 4.5vw;
			left: calc(50% - 6.1vw);
			bottom: 3vw;
	}
	#sec3 .blockTitle h2:after {
		width: 12.2vw;
		height: 4.5vw;
		left: calc(50% - 6.1vw);
		bottom: 3vw;
}
	#sec4 .blockTitle h2:after {
		width: 12.2vw;
		height: 4.5vw;
		left: calc(50% - 6.1vw);
		bottom: 3vw;
}

	.close, 
	#sec4 .close {
		width: 12.2vw;
		height: 4.5vw;
		margin: 7rem auto 3rem;
}
	}

	@media screen and (max-width: 500px){
		.close,
		#sec4 .close {
			margin: -5rem auto 3rem;
		}
		.content {
			margin: 0 auto ;
		}
	
	}

 /* --------------------------------
sliderArea
-------------------------------- */
.sliderArea {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 ;
}

@media all and (max-width:768px) {
  .sliderArea {
    
    width:100%;
    margin: auto;
    padding: 0 0;/*rl 11.75%*/
  }

  .section--3 .gallery-container .small-cap{
    margin-top: 30px;
  }

  .section--3 .gallery-container .small-cap-3-2{
    margin-top: 0;
  }

  .para3.small-cap {
    margin-top: 0;
    padding-top: 0;
}
}
.slider--i{
  margin-top: 10px;
  width: 100%;
  max-width: 100%;
}

.slider--i .sliderArea{
    position: relative;
}
.slider--i .sliderArea i{
    display: block;
    width: 100%;
    position: absolute;
    top: 23px;
    right: 78px;
}
.mainVisual .slider--i{
  background-color: #fff;
}
.eventVisual{
  width: 100%;
  text-align: center;
}

.eventVisual .slider--i{
  width: 100%;
  max-width: 535px;
  margin: 0 auto;
}
.eventVisual .sliderArea{
  max-width: 1180px;
  margin: 33px auto;
  text-align: center;
}
.eventVisual .sliderArea li{
  margin: 0 20px;
}
.eventVisual .slider3 img{
  max-width: 100%;
}

@media all and (max-width:768px) {
  .slider--i .sliderArea i{
      width: 20%;
      top: 5px;
      right: 5px;
  }
  .eventVisual .slider--i{
    padding: 0 5%;
  }
    .slider--i .sp_show2{
        margin-bottom:20px;
    }
    
  }
  @media all and (max-width:500px) {
    .slider--i .sliderArea i{
        width: 18.8%;
        top: 10px;
        right: 5px;
    }
    .eventVisual .sliderArea li{
      margin: 0 15px;
    }
  }

  .slick-slide img {
    width: 100%;
    height: auto;
    padding: 0;
    }
    .slick-prev, .slick-next {
      z-index: 1;
      }
      .slick-prev:before, .slick-next:before {
        color: #000;
        }
        .slick-slide {
        transition: all ease-in-out .3s;
        opacity: .2;
        }
        .eventVisual .slick-slide {
          transition: all ease-in-out .3s;
          opacity: 1;
          }
        .slick-active {
        opacity: 1;
        }
        .slick-current {
        opacity: 1;
        }

        .thumb {
        margin: 20px 0 0;
        }
        .thumb .slick-slide {
        cursor: pointer;
        }
        .thumb .slick-slide:hover {
        opacity: .7;
        }

        .sub_slider .sliderArea {
        padding: 0 0;
        }
        
        .slick-loading .slick-list{
            background: #fff url('./ajax-loader.gif') center center no-repeat;}
        

        /* Arrows */
.slick-prev,
.slick-next{
    font-size: 0;
    line-height: 0;
    position: absolute;
    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;
}
.sub_slider .slick-prev,
.sub_slider .slick-next{
    top: 45%;
}

@media all and (max-width:768px) {
.sub_slider .slick-prev,
.sub_slider .slick-next{
    top: 40%;
    -webkit-transform: translate(0, -40%);
    -ms-transform: translate(0, -40%);
    transform: translate(0, -40%);}
}


.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;
}
.sub_slider .slick-prev:before,
.sub_slider .slick-next:before{
    font-family: 'swiper-icons';
    font-size: 30px;
    line-height: 1;
    /*color: white;*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media all and (max-width:768px) {
.sub_slider .slick-prev:before,
.sub_slider .slick-next:before{
    font-size: 7.8vw;
}
}
@media all and (max-width:500px) {
  .sub_slider .slick-prev:before,
  .sub_slider .slick-next:before{
      font-size: 6vw;
  }
}

[dir='rtl'] .slick-prev{
    right: -70px;
    left: auto;
}
.sub_slider .slick-prev{
    left: -30px;
}
[dir='rtl'] .sub_slider .slick-prev{
    right: -30px;
    left: auto;
}
@media all and (max-width:768px) {
.slick-prev,.sub_slider .slick-prev{
    left: 1%;
}
[dir='rtl'] .slick-prev,[dir='rtl'] .sub_slider .slick-prev{
    right: -14%;
    left: auto;
}
}
[dir='rtl'] .slick-prev:before
{
    content: 'prev';
}

.slider .slick-prev,.slider .slick-next{
background-image:none;
}


[dir='rtl'] .slick-next
{
    right: auto;
    left: -60px;
}
.sub_slider .slick-next{

    right: -30px;
}
[dir='rtl'] .sub_slider .slick-next{
    right: auto;
    left: -30px;
}
@media all and (max-width:768px) {
.slick-next,.sub_slider .slick-next{
    right: 1%;
}
[dir='rtl'] .slick-next,[dir='rtl'] .sub_slider .slick-next
{
    right: auto;
    left: -14%;
}

}
/* Dots */

@media all and (max-width:768px) {
	.sliderArea .slick-dotted.slick-slider{
			margin-bottom:0px;
	}
	.sliderArea #slider2{
			margin-bottom:65px;
	}     
			
	}
	#slider2 .slick-dotted.slick-slider{
			margin-bottom: 65px;
	}
	.slider3 .slick-dotted.slick-slider{
			margin-bottom: 0px;
	}
	.slick-dots
	{
			position: absolute;
			bottom: -70px;
			display: block;
			width: 100%;
			padding: 0;
			margin: 0;
			list-style: none;
			text-align: center;
	}
	
	.slick-dots li
	{
			position: relative;
			display: inline-block;
			width: 10px;
			height: 10px;
			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: 10px;
			line-height: 10px;
			position: absolute;
			top: 0;
			left: 0;
			width: 34px;
			height: 34px;
			background-image: url("../img/slider_dot_passive.png");
			background-repeat: no-repeat;
			background-size: contain;
			content: "";
			text-align: center;
			opacity: 1;
	}
	.slick-dots li.slick-active button:before{
			background-image: url("../img/slider_dot_active.png");
	}
	@media screen and (max-width: 500px){
		.slick-dots li button:before{
			top: 0;
			left: -150%;
			width: 20px;
			height: 20px;
	}
	.slick-dots
	{
			bottom: -40px;
	}

	}

	
	/* 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;
	}
	
	.sliderArea small {
			display:block;
			font-size: 11px;
			text-align:center;
	}
	

 /* --------------------------------
listmap
-------------------------------- */
.listmap {
	width: 100%;
	max-width: 880px;
	box-sizing: border-box;
	margin: 6rem auto;
	padding: 0 3%;
}

.listmap ul {
	display: flex;
	gap: 60px;
	justify-content: space-around;
}

.listmap ul li img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 768px){
.listmap {
	margin: 4rem auto;
}
}

 /* --------------------------------
footerNotes
-------------------------------- */
.footerNotes {
    text-align: left;
    margin: 4rem auto 0;
    width: 100%;
    max-width: 590px;
    padding: 0 0 2rem;
    font-family: "YakuHanJP", 'メイリオ', Meiryo, sans-serif;
}

.footerNotes li{
	font-size: 14px;
}

@media screen and (max-width: 768px){
.footerNotes {
	width: 100%;
	margin: 0 auto;
	padding: 2rem 0.5rem 1rem;
}
.footerNotes li {
	font-size: 15px;
}
}

 /* --------------------------------
pagetop
-------------------------------- */
#page-top {
	display: none;
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 90px;
}
#page-top img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 767px){
#page-top {
    width: 15%;
    height: auto;
	bottom: 70px;
}
}