@charset "utf-8";


/* korolev weight 300 500 700*/

.en {
font-family: korolev, sans-serif;
}


.spnone{display: inherit;}



/*=====================================================================
00 #main-visual
======================================================================= */

/*=====================================================================
slider
======================================================================= */

.bg-img ul {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;/*font-weight: normal;*/
}

.slides {
  position: relative;
}
.slides>li {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.slides>li.wipeCurrentSlide {
  animation-duration: 1.8s;
  animation-timing-function: linear;
  animation-fill-mode: both;
  animation-name: scaleAnim;
}
/*@media all and (-ms-high-contrast: none){
  .slides>li.wipeCurrentSlide {
    animation-name: none;
  }
}*/
.slides>li>img {
  width: 100%;
    height: auto;
}

.img-change img {
 display: none;
}

@keyframes scaleAnim {
  0% {
    transform: scale(1.03) rotate(0.1deg);
  }
  100% {
    transform: scale(1.00) rotate(0.1deg);
  }
}


#main-visual {
  width: 100%;
margin: 0 auto;
  height: 100%;
  position: relative;
  overflow: hidden;
    padding: 158px 60px 0 60px;
    box-sizing: border-box;
}
.iphone.portrait #main-visual,
.ipad.portrait #main-visual,
.android.portrait #main-visual {
  height: 32.68%;
}


/*.bg-img
------------------------------------------------------------------------ */
#main-visual .bg-img {
  width: 100%;
  height: 100%;
	overflow: hidden;
}
#main-visual .bg-img ul {
  width: 100%;
  height: 100%;
}
#main-visual .bg-img ul li {
  width: 100%;
  height:100%;
  background-size: cover;
  background-position: center center;
}


/*.btn_scroll
------------------------------------------------------------------------ */

#main-visual .btn_scroll {
	/*overflow:hidden;*/
	position: absolute;
	bottom: 0;
    left: 19px;
	z-index: 99;
	width: 20px;
	height: 80px; 
    
}

#main-visual .btn_scroll .txt {
  display: block;
	color: #023354;
    font-weight: 700;
    font-style: italic;
  transform: rotate(-90deg) scale(0.55);
  transform-origin: 0 100%;
  width: 120px;
  height: 20px;
    position: absolute;
    top: -30px;
    left: 17px;
  
  letter-spacing: 0.1em;
	margin: 0 0 0 0;
  line-height: 1;
}


#main-visual .btn_scroll a{
	text-decoration: none;
    display: block;
	width: 20px;
	height: 80px; 
}
#main-visual .btn_scroll a:hover {
	opacity: 0.8;
	transition: 0.1s ease-out;
}


#main-visual .btn_scroll .bar {
  overflow: hidden;
  position: absolute;
  left: 10px;
  bottom: 0;
  display: block;
  width: 1px;
  height: 80px;
  background-color: #a0adba; }

 #main-visual .btn_scroll .bar i {
	display: block;
	position: absolute;
	width: 1px;
	background-color: #011725; }





/*=====================================================================
00. # Navigation
======================================================================= */

#head {
    width: 100%;
    height: auto;
    min-width: 980px;
    z-index: 1000;
    position: fixed;
    top: 0;
}

#head .navigation {
    width: 100%; 
    height: 158px;
    background-color:#FFF;
    box-sizing: border-box;
    border-bottom: 1px solid #eaeaea;
    /*すりガラス設定
  backdrop-filter: blur(26px) opacity(100%);*/
}




/* TOPはライン無し */
.home #head .navigation {border-bottom:none;}


#head .navigation .left{
    height: 158px;
    width: calc(50% - 1px);
    border-right: 1px solid #eaeaea;
    float: left;
    position: relative;
}

#head .navigation .left h1{
    width: 350px;
    height: 158px;
    margin-left: 60px;
    
    /*　box要素縦中央 */
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
    -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
    justify-content: center; /* 横方向中央揃え */
}
#head .navigation .left h1 img{width: 100%;}

#head .navigation .left h1 a{transition: all 0.3s ease;}
#head .navigation .left h1 a:hover{
    filter: invert(50%) sepia(0%) saturate(11%) hue-rotate(143deg) brightness(101%) contrast(93%); 
    transition: all 0.2s ease;}


#head .navigation .right{
    width: 50%;
    float: left;
    position: relative;
}
#head .right .gobalmenu {margin:0;}
#head .right .gobalmenu ul {margin: 0; padding: 0;}
#head .right .gobalmenu ul li {
    width: 33.3333%;
    float: left; 
    margin:0;
}

#head .right .gobalmenu ul li:nth-child(2){
    width: calc(33.3333% - 2px);
    border-right: 1px solid #eaeaea;
    border-left: 1px solid #eaeaea;
    float: left; 
    margin:0;
}
#head .right .gobalmenu ul li:nth-child(2):hover{
    border-right: 1px solid #0168b7;
    border-left: 1px solid #0168b7;
}


#head .right .gobalmenu ul li a{
    width: 100%;
    height: 158px;
    text-decoration: none; 
    color: #001924;
    transition: all 0.2s ease;
    
    /*　box要素縦中央 */
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
    align-items: center; /* 縦方向中央揃え */
}

#head .right .gobalmenu ul li a:hover{
    background-color: #0168b7;
    color: #FFF;
    transition: all 0.1s ease;
}


#head .right .gobalmenu ul li a div{margin:5px 0 0 30px;}
#head .right .gobalmenu ul li a .en{font-size:20px; font-weight: 700; letter-spacing: .10em; line-height:100%;}
#head .right .gobalmenu ul li a p{font-size:12px; font-weight: 400; margin-top: 5px;}



.menublock{display: none}


/*=====================================================================
00. ドロワーメニュー
======================================================================= */

#navigation{display: none;}
#navigation .sp_menuarea{display: none;}
#navigation .footarea{display: none;}



/*=====================================================================
01. Index
======================================================================= */

#index_wrap {
  overflow: hidden;
  position: relative;
  width: 1000px;
  margin: 100px auto 0 auto;
}

.ttlarea{
    width: 100%;
    position: relative;
}

.ttl_news{
  color: #FFF;
    display: inline-block;
}

.ttl_news .en{
    font-size: 40px;
    font-weight: 700;
    display: inline-block;
    background-color: #0168b6;
    padding: 3px 13px 1px 13px;
    letter-spacing: .05em;
}


.ttl_news .jp{
    font-size: 14px;
    display: inline-block;
    background-color: #0168b6;
    padding: 9px 11px 8.5px 11px;
    letter-spacing: .05em;
}


.ttlarea.yellow{margin:40px 0 0 0;}
.ttlarea.yellow .ttl_news .en{background-color: #f29c01!important;}
.ttlarea.yellow .ttl_news .jp{background-color: #f29c01!important;}


.btnarea{
    position: absolute;
    right: 0;
    top: 28px;
}


.btn_news a{
    font-size: 12px;
    font-style: italic;
    font-weight: 700;
    letter-spacing: .08em;
    color: #012e49;
    text-decoration: none;
    position: relative;
    padding-right: 200px
}
.btn_news a:hover{color: #066d96;}


.btn_news a::before{
    content: '';
    width: 180px;
    height: 1px;
    background: #a0adb8;
    position: absolute;
    top: 8px;
    right: 0px;
}

.btn_news a::after{
  position: absolute;
  content: '';
  width: 180px;
  height: 1px;
    top: 8px;
    right: 0;
  background: #023354;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .35s ease;
}
.btn_news a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}


.newsarea{margin-top: 60px;}
.newsarea.yellow{margin-bottom:0;}


.newsarea .newsblock{
    float: left;
    padding: 0;
    position: relative;
    margin-bottom: 80px!important;
    margin-right:40px;
    overflow: visible!important;
}

.newsarea .newsblock:nth-child(2n){margin-left:40px; margin-right: 0;}

.newsarea .newsblock .newsimage {
    width: 450px;
    height: 310px;
    background-color: #0168b7;
    -webkit-mask-image: url("../images/mask.png");
    mask-image: url("../images/mask.png");
    -webkit-mask-size: 100%;
    mask-size: 100%;
    position: relative;
    z-index: 11;
}

.newsarea.yellow .newsblock .newsimage{
    background-color: #eaa54b;
}

.newsarea .newsblock .bg{
    position: absolute;
    width: 225px;
    height: 87px;
    background-color: #5bc5dd;
    top: 265px;
    right: 0;
    z-index: 10;
}

.newsarea.yellow .newsblock .bg{
    background-color: #f7f35c;
}

.newsarea .newsblock .bg_sp{display: none;}


.newsarea .newsblock .readmore{
    position: absolute;
    width: 120px;
    top: 249px;
    right: -20px;
    z-index: 12;
}

.newsarea .newsblock .readmore_sp{
    display: none;
}

.newsarea .newsblock .readmore a{
    display: block;
    width: 105px;
    background-color: #0168b7;
    color: #FFF;
    font-size: 12px;
    font-style: italic;
    font-weight: 700;
    letter-spacing: .08em;
    text-decoration: none;
    padding: 10px 0 10px 15px;
    background-image: url("../images/arrow02.png");
    background-repeat: no-repeat;
    background-size: 12px 12px;
    background-position: top 11px right 13px;
    transition: 0.3s ease-out;
}

.newsarea .newsblock .readmore a:hover{
    background-color: #138dd8;
    transition: 0.2s ease-out;
}

.newsarea.yellow .newsblock .readmore a{
    background-color: #f29c01;
}

.newsarea.yellow .newsblock .readmore a:hover{
    background-color: #f9bb5f;
}


.newsarea .newsblock .newsimage img{width: 100%; height: 100%; margin: 0; padding: 0; }
.newsarea .newsblock .newsimage a:hover{
    mix-blend-mode: screen;
}

.newsarea .newsblock .body a{
    display: block;
    width: 410px;
    background-color: #f4f4f4;
    text-decoration: none;
    color: #012e49;
    font-size: 14px;
    letter-spacing: .06em;
    line-height: 180%;
    font-weight: 500;
    padding: 12px 20px 14px 20px;
    margin-top: 72px;
}

.newsarea .newsblock .body a:hover{background-color: #eaeaea;}

.newsarea .newsblock .date{
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .05em;
    font-style: italic;
    color: #012e49;
    text-align: right;
    margin-top: 30px;
}


/* Hover Image */
a.hoverimg {
  display: block;
  transition: 0.4s ease-out;
}

a.hoverimg:hover {
  transform: scale(1.04) rotate(0.1deg);
  opacity: 0.5;
	transition: 0.2s ease-out;
}



/*=====================================================================
02. layout
======================================================================= */


#wrap {
  overflow: hidden;
  position: relative;
  width: 1000px;
  margin: 159px auto 120px auto;
}



/*=====================================================================
03. Article
======================================================================= */

#wrap .article{
    width: 780px;
    margin: 0 auto 100px auto;
}

#wrap .article .article_title{
    font-size: 23px;
    font-weight: 500;
    line-height: 180%;
    color: #303030;
    margin-bottom: 40px;
    padding-top: 40px;
    position: relative;
}

#wrap .article .article_title::before{
    content: "";
    width: 50%;
    height: 4px;
    background-color: #0168b7;
    position: absolute;
    top: 0;
    left: 0;
}

#wrap .article .article_title.yellow::before{
    content: "";
    width: 50%;
    height: 4px;
    background-color: #f29c01;
    position: absolute;
    top: 0;
    left: 0;
}



#wrap .article .article_body{
    font-size: 14px;
    line-height: 240%;
    letter-spacing: .03em;
    margin-bottom:60px;
    
}

#wrap .article .date{
    width: 50%;
    margin:0 0 0 50%;
    padding-top: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    font-style: italic;
    color: #012e49;
    text-align: right;
    margin-top: 30px;
    border-top: 1px solid #a0adb8;
}

#wrap .ttlarea{margin: 62px 0 50px 0;}

#wrap .btnarea{
    position: absolute;
    right: 0;
    top:52px;
}


.page_ttl{text-align: center;}
.page_ttl .en{font-size: 38px; font-weight: 700; letter-spacing: .08em;}
.page_ttl p{font-size: 14px; margin: 3px 0 0;}



/*=====================================================================
04. About
======================================================================= */

.about_area{width: 100%; margin-top: 40px;}
.about_area .left{float: left; width: 32%; margin-right: 7%;}
.about_area .left img{width: 100%;}

.about_area .right{float: left; width: 61%; }
.about_cap{font-size: 12px; line-height: 220%; margin-top:20px;}

.about .video{
  position: relative;
    margin-top: 40px;
  width:100%; /* 横幅は100%にしておく(ここを変えたい場合は実装コード2の方法を確認してください) */
  height:0; /* 高さは0にしておく(padding-topで高さを指定するため) */
  padding-top: 56.25%; /* 高さを指定(16:9) */
}
.about .video iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.about .a_ttl{
    font-size:18px; 
    font-weight: 700; 
    margin: 40px 0 30px 0; 
    padding-bottom: 30px;
    position: relative;
}
.about .a_ttl::after{
    content: "";
    position: absolute;
    width: 50%;
    height: 1px;
    background-color: #a0adb8;
    bottom: 0;
    left: 0;
}


/*=====================================================================
05. News
======================================================================= */

.article2{
    width: 780px;
    margin: 0 auto 0px auto;
}

.article_title2{
    font-size: 23px;
    font-weight: 500;
    line-height: 180%;
    color: #303030;
    margin-bottom: 40px;
    padding-top: 40px;
    position: relative;
}

.article_title2::before{
    content: "";
    width: 50%;
    height: 4px;
    background-color: #0168b7;
    position: absolute;
    top: 0;
    left: 0;
}

.article_title2.yellow::before{
    content: "";
    width: 50%;
    height: 4px;
    background-color: #f29c01;
    position: absolute;
    top: 0;
    left: 0;
}


/*=====================================================================
06. Tags
======================================================================= */


#index_wrap #tagArea{text-align: left; margin:40px 0 100px;}
#wrap #tagArea{text-align: left; margin:40px 0 -20px 0;}

.tagbody{width: 100%; margin: 0 auto; position: relative; overflow: hidden;}

.tag_ttl{
    display: block; 
    width: 100px;;
    font-size:22px; 
    font-weight: 700; 
    letter-spacing: .06em;
    margin-bottom: 30px;
    color: #001924; 
    text-decoration: none; 
    position: relative;
    transition: all 0.2s ease;
}
.tag_ttl:before{
    content: "";
    width: 370px;
    height: 1px;
    background-color: #a0adba;
    position: absolute;
    top: 15px;
    left: 80px;
}

.tagbody .tagwrap{width: 100%;}

.tagbody ul{
  position: relative;
    padding: 0;
    margin: 0;
}

.tagbody li{list-style: none; float: left; margin: 0 20px 20px 0; position: relative;}
.tagbody li a{font-size: 12px; text-decoration: none; padding: 6px 10px 5px 10px;}



/**** Tag btn action ****/

.tag-btn {
    font-weight: 600;
    letter-spacing: .06em;
    font-style: italic;
  background-color: #0168b7;
  color: #FFF!important;
  outline: none !important;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
}

.tag-action {
  z-index: 1;
}
.tag-action:after {
  position: absolute;
  content: "";
  width: 0;
  height: 100%;
  top: 0;
  right: 0;
  z-index: -1;
  background: #5bc5dd;
  transition: all 0.3s ease;
}
.tag-action:hover {
  color: #FFF!important;
}
.tag-action:hover:after {

	left: 0%;
	right: auto;
	width: 100%;
}
.tag-action:active {top: 0;}




/*=====================================================================
07. Footer
======================================================================= */


footer{
    width: 100%; 
    min-width: 980px;
    margin:0;
    padding: 0 60px 0 60px;
    box-sizing: border-box;
    position: relative;
}


footer .block01 .pagetop img{width: 10px;}

footer .block01{width: 100%; position: relative; margin-bottom: 80px;}
footer .block01 .logo{width: 116px; margin: 0 auto;}
footer .block01 .logo img{width: 100%;}
footer .block01 .logo a{transition: all 0.3s ease;}
footer .block01 .logo a:hover{filter: invert(50%) sepia(0%) saturate(11%) hue-rotate(143deg) brightness(101%) contrast(93%); transition: all 0.2s ease;}

footer .block01 .pagetop{
    position: absolute;
    width: 8.3px;
    height: 75.6px;
    right: 0;
    bottom:0;
}

footer .block01 .pagetop a{
    display: block;
    width: 8.3px;
    transition: all 0.2s ease;
    position: relative;
}
footer .block01 .pagetop a:hover{opacity: 0.5; transition: all 0.2s ease;}


footer .block02 .left{width: 40%; float: left; position: relative; padding-top: 53px;}
footer .block02 .left h2{width: 110px; float: left;}
footer .block02 .left h2 img{width: 100%;}
footer .block02 .left h2 a{transition: all 0.3s ease;}
footer .block02 .left h2 a:hover{filter: invert(50%) sepia(0%) saturate(11%) hue-rotate(143deg) brightness(101%) contrast(93%); transition: all 0.2s ease;}

footer .block02 .left .cap{float: left; color: #012e49; font-size: 11px; font-weight: 500; position: absolute; bottom:2px; left: 125px;}



footer .block02 .right{width: 60%; float: left;}


footer .block02 .right .sns ul {font-size: 0; margin: 0 0 0 0; padding: 0; float: right;}
footer .block02 .right .sns ul li {display: inline-block; margin: 0 0 0 20px;}
footer .block02 .right .sns ul li:first-child {margin: 0;}
footer .block02 .right .sns ul li a{
    width: 42px;
    height: 42px;
    font-size: 0.95rem;
    color: #f7f35c; 
    background-color: #023354; 
    border-radius: 50%;
    text-decoration: none;
    transition: all 0.3s ease;
    
    /*　box要素縦中央 */
 display: -webkit-flex;
 display: flex;
 -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 align-items: center; /* 縦方向中央揃え */
 -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
 justify-content: center; /* 横方向中央揃え */
}

footer .block02 .right .sns ul li a:hover{background-color: #0e6389; transition: all 0.1s ease;}

footer .block02 .right .contact {float: right; margin-left: 25px;}
footer .block02 .right .contact a{
    width: 140px;
    height: 42px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    font-style: italic;
    color: #f7f35c; 
    background-color: #023354; 
    border-radius: 30px;
    transition: all 0.2s ease;
    
    /*　box要素縦中央 */
 display: -webkit-flex;
 display: flex;
 -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 align-items: center; /* 縦方向中央揃え */
 -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
 justify-content: center; /* 横方向中央揃え */
}
footer .block02 .right .contact a:hover{background-color: #0e6389; transition: all 0.1s ease;}


footer .block02 .right .gobalmenu {margin:40px 0 0 0;}
footer .block02 .right .gobalmenu ul {margin: 0; padding: 0; text-align: right;}
footer .block02 .right .gobalmenu ul li {display: inline-block; text-align: left; margin: 0 0 0 110px;}
footer .block02 .right .gobalmenu ul li a{
    display: block; 
    font-size:16px; 
    font-weight: 700; 
    letter-spacing: .08em;
    color: #001924; 
    text-decoration: none; 
    position: relative;
    transition: all 0.2s ease;
}
footer .block02 .right .gobalmenu ul li a:before{
    content: "";
    width: 55px;
    height: 1px;
    background-color: #a0adba;
    position: absolute;
    top: 10px;
    left: -68px;
}

footer .block02 .right .gobalmenu ul li a:hover{color: #0e6389; transition: all 0.1s ease;}



footer .copyright{
    width: 100%;
    text-align: right;
    font-size: 10px;
    font-weight: bold;
    color: #001924;
    letter-spacing: .04em;
    margin: 80px 0 40px 0;
}
footer .copyright .en{
    font-weight: 700;
    font-style: italic;
}




/* スクロール時のトランジション
------------------------------------------------------------------------ */

.photo {
  overflow: hidden;
  position: relative;
}

.photo.in:before {
  animation: img-wrap 1.0s cubic-bezier(.4, 0, .2, 1) forwards;
	 animation-delay: 0.4s;
  background: #FFF;
  bottom: 0;
  content: '';
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
}

@keyframes img-wrap {
  100% {
    transform: translateX(100%);
  }
}



/* 404
------------------------------------------------------------------------ */

.notfoundttl {width: 100%; text-align: center; font-size: 14px; margin:180px 0 40px;}
.notfoundttl h2{font-size: 24px; margin-bottom: 10px; color: #333; }

.notfound_btn{width: 200px; margin: 0 auto  80px auto;}

.notfound_btn  a{
	 width: 100%; 
	padding: 11px 0 11px 0;
    font-size: 14px;
	border-radius: 24px;
	background-color: #333; 
	text-align: center; text-decoration: none;color: #FFF; 
	transition: all 0.3s ease;
/*　box要素縦中央 */
 display: -webkit-flex;
 display: flex;
 -webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
 align-items: center; /* 縦方向中央揃え */
 -webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
 justify-content: center; /* 横方向中央揃え */

}

.notfound_btn  a:hover{background-color: #7C7C7C; color: #FFF; transition: all 0.1s ease;}



