<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";

@media screen and (max-width: 1240px){
#under, h1 ,h2{font-size:1.3vw;}
}

/*----------------*/
h1{margin: 0; padding:0;}
h2{display:none; margin: 0; padding:0;}
.under{font-family:'Barlow',Arial,"メイリオ","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, Osaka, "sans-serif";}
#under, h1, h2{font-size:20px;}
#under.jp, .jp h1, .jp h2{font-size:16px;}
#under h2{display: block;}
.col-sm-12{padding: 0;}
#under dl{margin-bottom:0;}
.ns_container{max-width: 100%;}
.ns_container{margin-top: 0;}
.nav.nav-tabs{max-width: 980px; width: 100%; margin: 0 auto;}
.breadcrumb{margin-bottom: 0;}

/*------- 共通 ---------*/
.standBox{text-align: center;}
.registerBox a:hover{opacity: 0.7;}
.cap{font-size: 0.8em;}
p{line-height: 1.6; margin: 0;}
.en p{line-height: 1.4;}
.switch_pc{display: block !important;}
.switch_sp{display: none !important;}
.spBox{display: inline-block;}


/*------- ナビゲーション ---------*/
.navBox_inner{
max-width: 1010px;
width:auto;
margin:0 auto;
padding: 20px 3% 0 3%;
white-space: nowrap;
}
.nav_menu * {
box-sizing: border-box;
-webkit-transition: all 0.35s ease; 
transition: all 0.35s ease;
}
.nav_menu{
text-align: center;
font-size:1.2em;
font-weight: bold;
flex-basis: 80%;
display: -webkit-flex;
display: flex;
flex-wrap:wrap;
justify-content: space-between;
margin-right: 7%;
}
.jp .nav_menu{
font-size: 1em;
}
.nav_menu li{
flex-basis: 23%;
list-style: outside none none;
margin: 0;
overflow: hidden;
}
.nav_menu li{flex-basis: 25%;}

.nav_menu a {
padding: 0.8em 0;
color: #fff;
position: relative;
display: inline-block;
letter-spacing: 1px;
margin: 0;
text-decoration: none;
font-weight: bold;
width: 100%;
}
.nav_menu a:before, .nav_menu a:after {
position: absolute;
-webkit-transition: all 0.35s ease;
transition: all 0.35s ease;
}
.nav_menu a:before {
bottom: 100%;
display: block;
height: 3px;
width: 100%;
content: "";
background-color: #ffa209;
}
.nav_menu a:after {
padding: 0.3em 0;
position: absolute;
bottom: 100%;
left: 0;
content: attr(data-hover);
/*color: #00394F;*/
white-space: nowrap;
width: 100%;
}

.nav_menu a:hover{
color: #000;
}
.navBox.is-fixed{
position: fixed;
top: 0;
left: 0;
z-index: 1000;
width: 100%;
}
.navBox.is-fixed .navBox_inner{padding: 10px 3%;}


/*------- 共通 ---------*/
.flBox{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
}
.flBox.fl-container{justify-content: space-between;}
.flBox .box_2col{flex-basis: 50%;}
.flBox .box_3col{flex-basis: 30%;}
.flBox .box_4col{flex-basis: 25%;}

.under_wrap{
max-width: 1010px;
margin: 0 auto;
padding: 8vw 0;
}
.ttl{
font-family: 'Barlow', sans-serif;
font-size: 45px;
margin-bottom: 60px;
text-align: center;
}
.jp .ttl{font-size: 30px;}
.under_wrap-inner{padding: 0 10%;}
.vh_center{
display: flex; /* 子要素をflexboxで揃える */
flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
justify-content: center; /* 子要素をflexboxにより中央に配置する */
align-items: center;  /* 子要素をflexboxにより中央に配置する */
width: 100%; /* 見た目用 */
height: 100%; /* 見た目用 */
}

/*ボタンアニメ*/
.btn_a{
/*アニメーションの起点とするためrelativeを指定*/
position: relative;
overflow: hidden;
/*ボタンの形状*/
background-color:#123a65;
text-decoration: none;
display: inline-block;
padding: 10px 30px;
text-align: center;
outline: none;
border-radius: 6px;
width: 70%;
box-shadow: 0 3px 10px rgb(0 0 0 / 16%);
/*アニメーションの指定*/
transition: ease .2s;
}
.btn_a a{
position: relative;
z-index: 3;/*z-indexの数値をあげて文字を背景よりも手前に表示*/
color:#fff;
display: block;
font-weight: bold;
border-radius: 6px;
}

.btn_a a:hover{
color:#fff;
text-decoration: none;
}
/*== 背景が流れる（左から右） */
.bgleft:before{
content: '';
/*絶対配置で位置を指定*/
position: absolute;
top: 0;
left: 0;
z-index: 2;
/*色や形状*/
background:#00a3df;/*背景色*/
width: 100%;
height: 100%;
/*アニメーション*/
transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
transform: scale(0, 1);
transform-origin: right top;
}

/*hoverした際の形状*/
.bgleft:hover:before{
transform-origin:left top;
transform:scale(1, 1);
}


/*----------------*/
#mainVisual{padding: 3vw 0;}
#mainVisual h1{padding: 0;}

#mainVisual .topBox{
display: flex; /* 子要素をflexboxで揃える */
flex-direction: column; /* 子要素をflexboxにより縦方向に揃える */
align-items: center;  /* 子要素をflexboxにより中央に配置する */
width: 100%; /* 見た目用 */
height: 100%; /* 見た目用 */
}
#mainVisual .txtBox{text-align: center;margin-top: 3vw;}
#mainVisual .catch{
font-family: 'Barlow', sans-serif;
font-size: 1.6em;
}
.jp #mainVisual .catch{
font-size:1.2em;
}
#mainVisual .catch .copy{
font-size: 3rem;
display: block;
margin-bottom: 0.5vw;
letter-spacing: -0.8px;
font-weight: 600;
}
#mainVisual .under_wrap{
padding: 20px 0;
}
.navBox{background-color:#e3b016;}
.navBox .nav_menu{
max-width: 1240px;
margin: 0 auto;
padding: 0 4vw;
}
#mainVisual .btnBox{
margin-top: 3vw;
width: 100%;
text-align: center;
}


/*----- area01 ---------*/
#area01{background-color: #d8f5ff;}
#area01 .area01{padding-right: 2vw;}
#area01 .box_movie{
position: relative;
padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
height: 0;
overflow: hidden;
}
#area01 .box_movie iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
#area01 .ttl{
margin-top: 3vw;
font-size: 35px;
}
#area01 .txtBox{padding-left: 2vw;}

/*----- area02 ---------*/
#area02{background-color: #fff;}
#area02 .ttl_list li{
position: relative;
top: 1px;
display: inline-block;
width: 100%;
}

#area02 .box_img{
width: 80%;
margin: 2vw auto 0 auto;
}
#area02 .txtBox{
margin-top: 4vw;
text-align: center;
}
#area02 .txtBox .ttl a{
width:30%;
margin: 0 auto;
font-size: 25px;
background-color: #e3b016;
color: #fff;
padding:5px 10px;
display:block;
margin-bottom: 4vw;
}
.jp #area02 .txtBox .ttl a{font-size: 18px;}
#area02 .txtBox .ttl a:hover{
text-decoration: none;
opacity: 0.5;
}
#area02 .txtBox .ttl span{
font-size: 0.7em;
display: inline-block;
margin-left: 1em;
}

#area02 .booksList ul{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
flex-wrap: wrap;
padding-left: 2%;
}
#area02 .booksList li{
flex-basis:12%;
margin-right: 2%;
margin-bottom: 30px;
}

#area02 .booksList{}
#area02 .booksList .bookTtl{
font-size: 14px;
text-align: left;
line-height: 1.2;
margin-top: 8px;
padding-left: 1em;
text-indent: -1em;
}
#area02 .booksList .bookTtl:before{
content: "\e043";
font-size: 12px;
font-family: 'Glyphicons Halflings';
font-style: normal;
font-weight: normal;
line-height: 1;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
padding-right: 4px;
}

/*----- area03 ---------*/
#area03{background-color: #d8f5ff;}
#area03 .box_2col .area01{flex-basis: 30%;}
#area03 .box_2col .area02{flex-basis: 70%;}
#area03 .ttl{}
#area03 .txtBox{padding-left:2vw;}
#area03 .txtBox p{margin-bottom: 1em;}
#area03 .txtBox p .ft{font-weight: bold;}
#area03 .box_img{width: 100%;}

#slideBox .inner{
background-color: #fff;
border-radius: 20px;
padding: 40px 0;
margin:0 25px;
}
#slideBox .slide-list .txtArea{
padding: 0 50px;
margin-bottom: 30px;	
}
#slideBox .slide-list .txtArea .ttl{
margin-bottom: 30px;
}
.en #slideBox .slide-list .txtArea .ttl{
font-size: 35px;
}
.en #slideBox .slide-list .txtArea .ttl p{
line-height: 1.2;
}
#slideBox .slide-list .imgBox{
width: 80%;
margin: 0 auto;
max-height: 600px;
padding-top: 30px;
}
#slideBox .slide-list.box03 .imgBox{
width: 70%;
padding-top: 0;
}
#slideBox .slide-list.box04 .imgBox{
width: 90%;
padding-top: 50px;
}
#slideBox .slide-list.box05 .imgBox{
width: 70%;
}
#slideBox .slide-list.box06 .imgBox{
width: 70%;
}
#slideBox .slide-list.box03 .innerBox{
margin-top: 15px;
margin-left: 190px;
}
#slideBox .slide-list.box06 .innerBox{
margin-top: 15px;
}
#slideBox .slide-list .innerBox .txt-indent{
text-indent: -1em;
padding-left: 1em;
}

.slick-prev, .slick-next{
background-color: #e3b016;
width: 50px;
height: 50px;
}
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus{
background-color: #e3b016;
}
.slick-prev::before{
display: inline-block;
width: 18px;
height: 18px;
margin: 0 10px;
border-left: 4px solid #fff;
border-bottom: 4px solid #fff;
transform: rotate(45deg);
}
.slick-next::before{
display: inline-block;
width: 18px;
height: 18px;
margin: 0 10px;
border-top: 4px solid #fff;
border-right: 4px solid #fff;
transform: rotate(45deg);
}
.slick-prev::before, .slick-next::before{
content: " ";
}
.slick-prev{padding-left: 5px;}
.slick-next{padding-right: 5px;}

/*----- area04 ---------*/
#area04{text-align: center;}
#area04 .box_item{
text-align: center;
margin-top:5vw;
}
#area04 .box_item .box_swrap{
padding: 2vw;
box-shadow: 0 3px 10px rgb(0 0 0 / 42%);
background-color: #bee64c;
border-radius: 6px;
}
#area04 .box_item .code_n{
font-size: 20px;
margin-bottom: 1vw;
background-color: #e3b016;
color: #fff;
padding: 5px;
}
#area04 .box_item .code_p{font-size: 1.2em;}
#area04 .box_item .btnBox{
margin-top: 1vw;
background-color: #fff;
}
#area04 .box_item .btnBox.btn_a a{color: #000;}
#area04 .bgleft:before{background-color:#ecffb6;}


/*==================================================
　挙動
===================================*/

/*========= 左から ===============*/

.fadeLeft{
animation-name:fadeLeftAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
  transform: translateX(-1000px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}


/*========= 右から ===============*/
.fadeRight{
animation-name:fadeRightAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
  transform: translateX(1000px);
  }

  to {
    opacity: 1;
  transform: translateX(0);
  }
}

/* その場で */
.fadeIn{
animation-name:fadeInAnime;
animation-duration:2s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeInAnime{
from {
opacity: 0;
}

to {
opacity: 1;
}
}
/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeInTrigger{
opacity: 0;
}

/* FadeUP Delay */
.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*========= 流れるテキスト ===============*/

/*全共通*/

.slide-in {
overflow: hidden;
display: inline-block;
}

.slide-in_inner {
display: inline-block;
}

/*左右のアニメーション*/
.leftAnime{
opacity: 0;/*事前に透過0にして消しておく*/
}
.slideAnimeLeftRight {
animation-name:slideTextX100;
animation-duration:0.8s;
animation-fill-mode:forwards;
opacity: 0;
}

@keyframes slideTextX100 {
from {
transform: translateX(-100%); /*要素を左の枠外に移動*/
opacity: 0;
}

to {
transform: translateX(0);/*要素を元の位置に移動*/
opacity: 1;
}
}

.slideAnimeRightLeft {
animation-name:slideTextX-100;
animation-duration:0.8s;
animation-fill-mode:forwards;
opacity: 0;
}


@keyframes slideTextX-100 {
from {
transform: translateX(100%);/*要素を右の枠外に移動*/
opacity: 0;
}

to {
transform: translateX(0);/*要素を元の位置に移動*/
opacity: 1;
}
}





/* 768px以下用：タブレット／*/
@media screen and (max-width: 768px){
#mainVisual .catch{font-size: 20px;}
.under_wrap {max-width:100%; width: 90%;}
.navBox .nav_menu{padding: 0;}
#area02 .txtBox .ttl a{
width:50%;
font-size: 20px;
}
.jp #area02 .txtBox .ttl a{font-size: 16px;}
.ttl{font-size: 30px; margin-bottom: 15px;}
#area01 .ttl, #mainVisual .catch .copy{font-size: 25px;}
#area01 .ttl{margin-top: 0; margin-bottom: 30px;}
#area04 .box_item .code_n{font-size: 14px;}
.btn_a{
width: 90%;
padding: 5px 0;
}
#slideBox .slide-list.box03 .innerBox{
margin-left: 110px;
}	
.en #slideBox .slide-list .txtArea .ttl{
font-size: 27px;
}
}

/* 480px以下用：landscape用の記述 */
@media screen and (max-width: 480px){
/*
div{
-webkit-backface-visibility:hidden;
backface-visibility:hidden;
overflow:hidden
}
*/
.switch_pc{display: none !important;}
.switch_sp{display: block !important;}
.spBox{display:block;}


.navBox .nav_menu{padding: 0;}
.under_wrap {width: 90%; margin: 0 auto;}
.flBox{display: block;}
.nav_menu li{flex-basis: 50%;}
.nav_menu li:nth-child(2n){border-left: 1px solid #ffffff6b;}
.nav_menu li:nth-child(n+3){border-top: 1px solid #ffffff6b;}
.nav_menu a{font-size: 16px;}
.jp .nav_menu a{
font-size: 14px;
line-height: 1.4;
padding: 10px;
}
.under_wrap{padding: 13vw 0;}
#mainVisual{padding-bottom: 0;}
#mainVisual .catch .copy{
font-size: 6vw;
margin-top: 5vw;
}
#mainVisual .btnBox{margin-bottom: 6vw;}
#area01 .area01{padding-right: 0;}
#area01 .ttl{text-align: center;}
#area01 .ttl, #area02 .ttl, #area03 .ttl, #area04 .ttl{font-size: 6vw;}
#area01 .txtBox, #area03 .txtBox{padding-left: 0; margin-top: 8vw;}

#area02 .txtBox{margin-top: 4vw;}
#area02 .txtBox .ttl a{width:90%;}
#area02 .txtBox .ttl span{
display: inline-block;
border-bottom:1px dotted #123a65;
padding: 0 10px;
}
#area02 .ttl{margin-bottom: 5vw;}
#area02 .txtBox .ttl{font-size: 5vw; font-weight: bold;}
#area02 .box_img{margin-top: 6vw;width:100%;}
#area02 .txtBox .ttl{
width: 80%;
margin: 30px auto;
}
#area02 .txtBox .ttl span{padding-left: 0;}
#area02 .booksList li{flex-basis: 48%;}
	
#slideBox .inner{
padding: 40px 0;
margin:0;
}
#slideBox .slide-list{
display: block;
}
#slideBox .slide-list .txtArea{
padding: 0 5%;
margin-bottom: 20px;	
}
.en #slideBox .slide-list .txtArea .toplead{
padding: 0 5%;
}	
#slideBox .slide-list .txtArea .ttl{
margin-bottom: 20px;
}
.en #slideBox .slide-list.box01 .txtArea .ttl{
margin-bottom: 40px;
}	
#slideBox .slide-list .imgBox{
width: 90%;
margin: 0 auto;
max-height: none;
padding-top: 50px;
}
#slideBox .slide-list.box03 .imgBox{
width: 100%;
padding-top: 20px;
}
#slideBox .slide-list.box03 .innerBox{
margin-top: 5px;
margin-left:20px;
}
#slideBox .slide-list.box05 .imgBox {
width: 86%;
padding-top: 20px;
}
#slideBox .slide-list.box06 .imgBox {
width: 100%;
}
.slick-prev, .slick-next{
z-index: 1;
}


#area04 .box_item{padding: 0 8vw;}
#area04 .box_item .box_swrap{
margin-bottom:5vw;
padding: 4vw 6vw;
}
#area04 .box_item .code_p{margin-top: 2.5vw;}
#area04 .box_item .code_n{font-size: 16px;}
#area04 .box_item .btnBox{
width: 100%;
margin-top: 2vw;
}
#area04 .under_wrap.wrap02{padding-top: 0;}
}

/* 320px以下用：landscape用の記述 */
@media screen and (max-width: 320px) {

}

</pre></body></html>