/* Slider */
.main-slider { display: none; }
.main-slider.slick-initialized { display: block; }

.main-slider li{
	position:relative;
}
/*@media screen and (max-width: 1440px) {
.main-slider li{
	max-height:calc(100vh - 0px);
	overflow:hidden;
}
}
@media screen and (min-width: 1441px) {
.main-slider li{
}
}*/
.main-slider li img.txt-img {
	position: absolute;
	top:0;
	left:0;
	z-index:1;
	pointer-events:none;
	opacity:0;
	transition:opacity ease-out 2s 1.6s;
}
.main-slider.slick-initialized li.slick-active img.txt-img {
	opacity:1;
	transition:opacity ease-in 2s 2s;
}

.sub-slider {
  display: none;
}
.sub-slider.slick-initialized {
  display: block; /*slick-initializedが付与されたら表示*/
}
.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;
}

/* SP */
@media (orientation: portrait) and (max-width: 767px) {

/*Mainvisual*/
#mainvisual {
	background-color:rgba(1,175,212,1);
	width:100%;
	aspect-ratio: 1 / 1.1;
	position:relative;
}
#mainvisual > .frame  {
	width:100%;
	position:absolute;
	bottom:-4px;
	left:0;
	pointer-events:none;
}
#mainvisual > .frame img {
	display:block;
	width:100%;
	pointer-events:none;
}

#mainvisual .main-slider {
	background-color:rgba(255,255,255,1);
}
#mainvisual .main-slider li {
	width:100%;
	aspect-ratio: 1 / 1.1;
}
/*Scene default*/
#mainvisual .default {
	display:flex;
	flex-flow: column wrap;
	justify-content:center;
	align-items:center;
	font-size:max(1.6vw,16px);
	color:rgba(255,255,255,1);
	background-color:rgba(1,175,212,1);
}
#mainvisual .default .content-box {
	font-family:"Kosugi Maru";
	line-height:1;
	text-align:center;
	padding:0 1rem 16%;
	width:100%;
}
#mainvisual .default .content-box .catch {
	padding-bottom:2em;
}
#mainvisual .default .content-box .catch h1 {
	font-size:max(2.4vw,24px);
	font-weight:700;
	font-style:normal;
	line-height:1.4;
	letter-spacing:normal;
	color:rgba(255,255,255,1);
	margin-bottom:.5em;
	
}
#mainvisual .default .content-box .catch p.en {
	display:flex;
	align-items: center;
	justify-content: center;
	gap:.5rem;
	padding:0;
}
#mainvisual .default .content-box .catch p.en::before,
#mainvisual .default .content-box .catch p.en::after{
	content: "";
	flex-grow:1;
	border-top:1px solid #FFF;
}
#mainvisual .default .content-box .info h2,
#mainvisual .default .content-box .info p.p {
	font-size:max(1.8vw,18px);
	font-weight:normal;
	margin-bottom:.5em;
}
#mainvisual .default .content-box .info p {
	font-size:max(2.4vw,24px);
	line-height:1.4;
}

/*Scene1*/
#mainvisual .yuki img {
	width:100%;
}
#mainvisual .yuki .content-box {
	display:block;
	font-family:"Kosugi Maru";
	line-height:1.6;
	width:100%;
	height:100%;
	background-color:rgba(1,175,212,1);
	padding-bottom:16%;
}
#mainvisual .yuki .content-box .txt-box {
	color:#FFF;
	text-align:justify;
	padding:1rem 2rem;
}
#mainvisual .yuki.scene1 .content-box .txt-box {
	text-align:left;
}
#mainvisual .yuki .content-box .txt-box a {
	color:#FFF;
}
#mainvisual .yuki .content-box .txt-box h2.title {
	font-size:max(2vw,20px);
	line-height:1.6;
	margin-bottom:.6em;
}
#mainvisual .yuki.content-box .txt-box p {
	font-size:max(1.2vw,12px);
}
/*Scene2*/
#mainvisual .hawaiiryugaku img {
	width:100%;
}
#mainvisual .hawaiiryugaku .content-box {
	display:block;
	width:100%;
	height:100%;
	background-color:#9df;
	padding-bottom:16%;
}
#mainvisual .hawaiiryugaku:not(.scene1) .content-box .img-box {
	width:calc(100% / 2);
	float:left;
	margin:0 1rem 1rem 0;
}
#mainvisual .hawaiiryugaku .content-box .txt-box {
	color:#2a3a84;
	text-align:justify;
	padding:1rem;
}
#mainvisual .hawaiiryugaku.scene1 .content-box .txt-box {
	text-align:left;
}
#mainvisual .hawaiiryugaku .content-box .txt-box h2.title {
	font-size:max(1.8vw,18px);
}
#mainvisual .hawaiiryugaku .content-box .txt-box p {
	font-size:max(1.4vw,14px);
}
#mainvisual .hawaiiryugaku .content-box .txt-box a {
	display:block;
	color:#FFF;
	background-color:#2a3a84;
	padding:.5rem 1rem;
	margin:.5rem 0;
	border-radius:6px;
}
}
@media (orientation: landscape) and (max-width: 767px) {
/*Mainvisual*/
#mainvisual {
	background-color:rgba(1,175,212,1);
	width:100%;
	aspect-ratio:16 / 8;
	position:relative;
}
#mainvisual > .frame  {
	width:100%;
	position:absolute;
	bottom:-4px;
	left:0;
	pointer-events:none;
}
#mainvisual > .frame img {
	display:block;
	width:100%;
	pointer-events:none;
}

#mainvisual .main-slider {
	background-color:rgba(255,255,255,1);
}
#mainvisual .main-slider li {
	width:100%;
	aspect-ratio:16 / 8;
}
/*Scene default*/
#mainvisual .default {
	display:flex;
	flex-flow: column nowrap;
	justify-content:center;
	align-items:center;
	font-size:max(1.6vw,16px);
	color:rgba(255,255,255,1);
	background-color:rgba(1,175,212,1);
}
#mainvisual .default .content-box {
	font-family:"Kosugi Maru";
	line-height:1;
	text-align:center;
	padding-bottom:16%;
}
#mainvisual .default .content-box .catch {
	padding-bottom:2em;
}
#mainvisual .default .content-box .catch h1 {
	font-size:max(2.4vw,24px);
	font-weight:700;
	font-style:normal;
	letter-spacing:normal;
	color:rgba(255,255,255,1);
	margin-bottom:.5em;
	
}
#mainvisual .default .content-box .catch p.en {
	display:flex;
	align-items: center;
	justify-content: center;
	gap:1em;
	padding:0;
}
#mainvisual .default .content-box .catch p.en::before,
#mainvisual .default .content-box .catch p.en::after{
	content: "";
	flex-grow:1;
	border-top:1px solid #FFF;
}
#mainvisual .default .content-box .info h2 {
	font-size:max(1.6vw,16px);
	font-weight:normal;
	margin-bottom:.5em;
}
#mainvisual .default .content-box .info p {
	font-size:max(1.8vw,18px);
}
/*Scene1*/
.hawaiiryugaku img {
	width:100%;
}
.hawaiiryugaku:not(.scene1) .content-box {
	display:flex;
	flex-flow: row nowrap;
	justify-content:space-between;
	align-items:stretch;
	width:100%;
	height:auto;
	aspect-ratio:16 / 8;
	background-color:#9df;
}
.hawaiiryugaku:not(.scene1) .content-box .img-box, .hawaiiryugaku:not(.scene1) .content-box .txt-box {
	width:50%;
}
.hawaiiryugaku:not(.scene1) .content-box .txt-box {
	color:#2a3a84;
	text-align:justify;
	padding:2em;
}
.hawaiiryugaku .content-box .txt-box h2.title {
	font-size:max(1.8vw,18px);
}
.hawaiiryugaku .content-box .txt-box p {
	font-size:max(1.2vw,12px);
}
.hawaiiryugaku .content-box .txt-box a {
	display:block;
	color:#FFF;
	background-color:#2a3a84;
	padding:.5rem 1rem;
	margin:.5rem 0;
	border-radius:6px;
}
}
@media not screen and (min-width: 768px) {
/*Works*/
#news-topics .works-slider {
	margin-bottom:30px;
}

#news-topics .works-slider li .img-box {
	position: relative;
	border-left:solid 15px rgba(255,255,255,0);
	border-right:solid 15px rgba(255,255,255,0);
}
#news-topics .works-slider li .img-box::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-image:url(../images/filter_bk080.png);
	background-color:rgba(0,0,0,.8);
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	opacity:0;
	transition:opacity ease .4s;
}
#news-topics .works-slider li .img-box p.caption {
	display:block;
	color:rgba(255,255,255,1);
	font-size:12px;
	text-align:center;
	width:100%;
	padding:1rem;
	position:absolute;
	top: 50%;
    left: 50%;
	z-index:1;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
	opacity:0;
	transition:opacity ease .4s;
}
#news-topics .works-slider li .img-box:hover::before,
#news-topics .works-slider li .img-box:hover p.caption {
	opacity:1;
}
#news-topics .works-slider li .img-box img {
	width:100%;
}
#news-topics .works-slider li.slick-active .img-box img {
}
#news-topics .works-slider {
	position: relative;
}
#news-topics .works-slider .slick-list {
	
}
#news-topics .works-slider .slider-arrow_min {
	width:48px;
	height:48px;
	cursor:pointer;
}
#news-topics .works-slider:hover .slider-arrow_min {
	
}
#news-topics .works-slider .slider-arrow_min.slider-prev {
	position:absolute;
	top:0;
	bottom:0;
	left:20px;
	margin-top:auto;
	margin-bottom:auto;
	z-index: 11;
}

#news-topics .works-slider .slider-arrow_min.slider-next {
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	margin-top:auto;
	margin-bottom:auto;
	z-index: 11;
}

#news-topics .works-slider li p.caption {
	font-family:"Kosugi Maru", sans-serif;
	font-size:12px;
	text-align:center;
	color:#FFF;
	background-color:rgba(1,175,212,1);
	padding:.5em 0;
}
}

/* PC TAB */
@media screen and (min-width: 768px) {

/*Mainvisual*/
#mainvisual {
	background-color:rgba(1,175,212,1);
	width:100%;
	min-width:1160px;
	aspect-ratio:16 / 8;
	position:relative;
}
#mainvisual > .frame  {
	width:100%;
	position:absolute;
	bottom:-6px;
	left:0;
	pointer-events:none;
}
#mainvisual > .frame img {
	display:block;
	width:100%;
	pointer-events:none;
}

#mainvisual .main-slider {
	background-color:rgba(255,255,255,1);
}
#mainvisual .main-slider li {
	width:100%;
	aspect-ratio:16 / 7;
}
/*Scene default*/
#mainvisual .default {
	display:flex;
	flex-flow: column nowrap;
	justify-content:center;
	align-items:center;
	font-size:max(2vw,24px);
	color:rgba(255,255,255,1);
	background-color:rgba(1,175,212,1);
}
#mainvisual .default .content-box {
	font-family:"Kosugi Maru";
	line-height:1;
	text-align:center;
	padding-bottom:12%;
}
#mainvisual .default .content-box .catch {
	padding-bottom:1.4em;
}
#mainvisual .default .content-box .catch h1 {
	font-size:max(4.8vw,56px);
	font-weight:700;
	font-style:normal;
	letter-spacing:normal;
	color:rgba(255,255,255,1);
	margin-bottom:.5em;
	
}
#mainvisual .default .content-box .catch p.en {
	display:flex;
	align-items: center;
	justify-content: center;
	gap:1em;
	padding:0;
}
#mainvisual .default .content-box .catch p.en::before,
#mainvisual .default .content-box .catch p.en::after{
	content: "";
	flex-grow:1;
	border-top:1px solid #FFF;
}
#mainvisual .default .content-box .info h2 {
	font-size:max(2vw,24px);
	font-weight:normal;
	margin-bottom:.5em;
}
#mainvisual .default .content-box .info p.p {
	font-size:max(2vw,24px);
	margin-bottom:.5em;
}
#mainvisual .default .content-box .info p {
	font-size:max(2.8vw,32px);
}
/*Scene1*/
.yuki img,
.hawaiiryugaku img {
	width:100%;
}
.hawaiiryugaku:not(.scene1) .content-box {
	display:flex;
	flex-flow: row nowrap;
	justify-content:space-between;
	align-items:stretch;
	width:100%;
	height:auto;
	aspect-ratio:16 / 8;
	background-color:#9df;
}
.hawaiiryugaku:not(.scene1) .content-box .img-box, .hawaiiryugaku:not(.scene1) .content-box .txt-box {
	width:50%;
}
.hawaiiryugaku:not(.scene1) .content-box .txt-box {
	color:#2a3a84;
	text-align:justify;
	padding:2em;
}
.hawaiiryugaku .content-box .txt-box h2.title {
	font-size:max(1.8vw,18px);
}
.hawaiiryugaku .content-box .txt-box p {
	font-size:max(1.2vw,12px);
}
.hawaiiryugaku .content-box .txt-box a {
	display:block;
	color:#FFF;
	background-color:#2a3a84;
	padding:.5rem 1rem;
	margin:.5rem 0;
	border-radius:6px;
}


/*Works*/
#news-topics .works-slider {
	margin-bottom:30px;
}
#news-topics .works-slider {
	aspect-ratio:1000 / 268;
	overflow:hidden;
}
#news-topics .works-slider.slick-initialized { aspect-ratio:auto; overflow: visible; }


#news-topics .works-slider li .img-box {
	position: relative;
	border-left:solid 15px rgba(255,255,255,0);
	border-right:solid 15px rgba(255,255,255,0);
}
#news-topics .works-slider li .img-box::before {
	content:"";
	display:block;
	width:100%;
	height:100%;
	background-image:url(../images/filter_bk080.png);
	background-color:rgba(0,0,0,.8);
	position:absolute;
	top:0;
	left:0;
	z-index:1;
	opacity:0;
	transition:opacity ease .4s;
}
#news-topics .works-slider li .img-box p.caption {
	display:block;
	color:rgba(255,255,255,1);
	font-size:14px;
	text-align:center;
	width:100%;
	padding:1rem;
	position:absolute;
	top: 50%;
    left: 50%;
	z-index:1;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
	opacity:0;
	transition:opacity ease .4s;
}
#news-topics .works-slider li .img-box:hover::before,
#news-topics .works-slider li .img-box:hover p.caption {
	opacity:1;
}
#news-topics .works-slider li .img-box img {
	width:100%;
}
#news-topics .works-slider li.slick-active .img-box img {
}
#news-topics .works-slider {
	position: relative;
}
#news-topics .works-slider .slick-list {
	
}
#news-topics .works-slider .slider-arrow_min {
	width:48px;
	height:48px;
	cursor:pointer;
}
#news-topics .works-slider:hover .slider-arrow_min {
	
}
#news-topics .works-slider .slider-arrow_min.slider-prev {
	position:absolute;
	top:0;
	bottom:0;
	left:-60px;
	margin-top:auto;
	margin-bottom:auto;
	z-index: 11;
}

#news-topics .works-slider .slider-arrow_min.slider-next {
	position:absolute;
	top:0;
	bottom:0;
	right:-60px;
	margin-top:auto;
	margin-bottom:auto;
	z-index: 11;
}



#news-topics .works-slider li p.caption {
	font-family:"Kosugi Maru", sans-serif;
	font-size:max(1.2vw,12px);
	text-align:center;
	color:#FFF;
	background-color:rgba(1,175,212,1);
	padding:.5em 0;
}
}