@charset "utf-8";
.wrap_main{
  position: relative;
}
/* ===============================================
# sec_main
=============================================== */
.sec_main{
  opacity: 0;
  animation: fade 1s ease 0.8s forwards;
}
.sec_main{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;  
}
/*area_promo*/
.sec_main .area_promo{
  position: relative;
  -webkit-box-flex: 1;
  flex: 1;  
}
.sec_main .area_promo .ttl{
  position: absolute;
  top: 10.4%;
  left: 50%;
  z-index: 2;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.sec_main .area_promo figure{
  position: relative;
  z-index: 1;
  width: 100%;
  height:100%;
  overflow: hidden;  
}
.sec_main .area_promo figure img{
  width: 100%;
  height: 100%;
  object-fit:cover;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
/*area_bnr*/
.sec_main .area_bnr{
  width: 60%;
  max-width: 800px;
  padding-bottom: 107px;
}
.sec_main .area_bnr ul{
	list-style: none;
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}
.sec_main .area_bnr ul li {
	-webkit-perspective: 400px;
	-moz-perspective: 400px;
	-o-perspective: 400px;
	-ms-perspective: 400px;
	perspective: 400px;	
	margin: 0;
	padding: 0;
	float: left;
	position: relative;
	display: block;
	overflow: hidden;
	background: #000;
}
.sec_main .area_bnr ul{
  padding-top: 100%;
  position: relative;
  flex-wrap: wrap;
  overflow: hidden;
  
}
.sec_main .area_bnr ul li{
  position: absolute;
  width: 50%;
  z-index: 0;
  background: #fff;
}
.sec_main .area_bnr ul.on li.active{
  animation:zoom_in 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s forwards;
  opacity: 0;
  z-index: 1;
}
.sec_main .area_bnr ul.on li.off{
  animation:zoom_out 0.6s cubic-bezier(0.215, 0.61, 0.355, 1) 0s forwards;
  opacity: 0;
  z-index: 1;
}
.android .sec_main .area_bnr ul li.active{
  opacity: 1;
}
.sec_main .area_bnr ul li.item_0{
  top: 0;
  left: 0;
}
.sec_main .area_bnr ul li.item_1{
  top: 0;
  right: 0;
  animation-delay: 0.3s;
}
.sec_main .area_bnr ul li.item_2{
  bottom: 0;
  left: 0;
  animation-delay: 0.4s;
}
.sec_main .area_bnr ul li.item_3{
  bottom: 0;
  right: 0;
  animation-delay: 0.5s;
}

.sec_main .area_bnr ul li a{
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;  
}
@media (hover: hover) and (pointer: fine) {
  .sec_main .area_bnr li a:hover{
    opacity: 0.8;
  }
}
@media screen and (max-width :834px) {
  .sec_main{
    display: block;
  }
  /*area_promo*/
  .sec_main .area_promo .ttl{
    top: 11.9%;
  }
  .sec_main .area_promo figure{
    height:auto;
    padding-top: 100.66%;
  }
  /*area_bnr*/
  .sec_main .area_bnr{
    width: 100%;
    max-width: inherit;
    padding-bottom: 0;
  }
}
/* ===============================================
# sec_news
=============================================== */
.sec_news{
  position: relative;
  background: #f8f8f8;
}
.sec_news::before{
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  content: '';
  width: 1308px;
  height: 842px;
  background: url("/common/img/bg_deco01.svg")no-repeat left top;
  background-size: contain;
}
.sec_news .wrap_news{
  position: relative;
  z-index: 10;
  max-width: 1530px;
  margin: -0 0 0 auto;
  padding: 43px 5.6% 55px;
  background: #fff;
  -webkit-transform: translateY(-107px);
  transform: translateY(-107px);
}
.sec_news .wrap_news h2{
  margin-bottom: 28px;
  font-size: 34px;
  font-size: 3.4rem;
  color: #4c4c4c;
  line-height: 1;
}
.sec_news .box_news{
  position: relative;
  max-width: 1290px;
}
.sec_news .cmn_more{
  position: absolute;
  top: 0;
  right: 0;
  text-align: right;
}
@media screen and (max-width :834px) {
  .sec_news{
    background: #fff;
  }
  .sec_news::before{
    display: none;
  }
  .sec_news .wrap_news{
    margin: 0;
    padding: 24px 5% 25px;
    -webkit-transform: translateY(0);
    transform: translateY(0);    
  }
  .sec_news .wrap_news h2{
    margin-bottom: 25px;
    font-size: 27.5px;
    font-size: 2.75rem;
  }
  .sec_news .cmn_more{
    position: relative;
    text-align: center;
    margin-top: 27px;
  }
}
/* ===============================================
# sec_learn
=============================================== */
.sec_learn{
  padding-bottom: 60px;
  background: #f8f8f8;
}
.sec_learn>*{
  position: relative;
  z-index: 10;
}
.sec_learn .area_tll{
  width: 94%;
  max-width: 1362px;
  margin: 0 auto 55px;
}
.sec_learn .area_tll h2{
  float: left;
  width: 308px;
  margin-right: 6.3%;
  margin-bottom: 53px;
}
.sec_learn .area_tll .txt{
  float: left;
  margin-top: 105px;
  width: calc(100% - 308px - 6.3%);
  max-width: 610px;
  font-size: 17px;
  font-size: 1.7rem;
  line-height: 1.765;
  text-align: justify;
  text-justify: inter-ideograph;
}
@media screen and (max-width :834px) {
  .sec_learn{
    position: relative;
    padding-top:70px;
    padding-bottom: 50px;
  }
  .sec_learn::before{
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
    content: '';
    width: 172.6%;
    height: 200%;
    background: url("/common/img/bg_deco01.svg")no-repeat top left;
    background-size: contain;
  }
  .sec_learn .area_tll{
    width: 90.66%;
    margin: 0 auto 55px;
  }
  .sec_learn .area_tll h2{
    float: none;
    width: 198px;
    margin: 0 auto 30px; 
  }
  .sec_learn .area_tll .txt{
    float: none;
    margin: 0;
    width: 100%;
    font-size: 14px;
    font-size: 1.4rem;    
    line-height: 1.607;
    max-width: inherit;
  }
  .sec_learn .cmn_link_btn{
    text-align: center;
    margin-top: 28px;
  }
 
}
/*wrap_dept------------------------*/
.sec_learn .wrap_dept{
  position: relative;
  margin-top: 58px;
  background: url("/common/img_top/bg_learn.jpg")no-repeat center center;
  background-size: cover;    
}
.sec_learn .wrap_dept > ul{
  width: 94%;
  max-width: 1362px;
  margin: 0 auto;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;  
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start; 
  -webkit-transform: translateY(122px);
  transform: translateY(122px);
}
.sec_learn .wrap_dept > ul > li{
  width: 24.22%;
  background: #fff;
  counter-increment: rank;
}
.sec_learn .wrap_dept > ul > li > a{
  height: 100%;
  color: #000;
  text-decoration: none;
}
.sec_learn .wrap_dept > ul > li figure img{
  width: 100%;
}
.sec_learn .wrap_dept > ul > li .box_txt{
  padding: 23px 3% 28px 8%;
}
.sec_learn .wrap_dept > ul > li h3{
  margin-bottom: 10px;
  font-size: 24px;
  font-size: 2.4rem;
}
.sec_learn .wrap_dept > ul > li .lead{
  line-height: 1.875;
  text-justify : inter-ideograph; 
}
.sec_learn .wrap_dept dl{
  position: relative;
  background: #fff100;
  min-height: 86px;
  padding: 17px 6%;
}
.sec_learn .wrap_dept dl dt{
  width: 100%;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  font-family: 'Roboto', sans-serif;
  font-style: italic;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.sec_learn .wrap_dept dl dd ul{
  font-size: 15px;
  font-size: 1.5rem;  
  line-height: 1.6;
}
.sec_learn .wrap_dept dl dd ul li{
  display: inline;
  margin-right: 0.5em;
}
.sec_learn .wrap_dept dl dd ul li:last-child{
  margin-right: 0;
}
@media (hover: hover) and (pointer: fine) {
  .sec_learn .wrap_dept > ul > li > a:hover{
    opacity: 0.8;
  }
}
@media print,screen and (min-width :835px) {
  .sec_learn .wrap_dept > ul > li:nth-child(2){
    margin-top: -83px;
  }
  .sec_learn .wrap_dept > ul > li:nth-child(3){
    margin-top: -166px;
  }
  .sec_learn .wrap_dept > ul > li:nth-child(4){
    margin-top: -249px;
  }  
}
@media print,screen and (max-width :1300px) {
  .sec_learn .wrap_dept{
    margin-top: 140px;
  }
  .sec_learn .wrap_dept > ul > li h3{
    font-size: 1.65vw;
  }
  .sec_learn .wrap_dept > ul > li .lead{
    font-size: 14px;
    font-size: 1.4rem;
  }  
  .sec_learn .wrap_dept dl dd ul{
    font-size: 12px;
    font-size: 1.2rem;  
  }  
}
@media screen and (max-width :834px) {
  .sec_learn .wrap_dept{
    background-image: url("/common/img_top/bg_learn_sp.jpg");
    margin-top: 115px;
  }
  .sec_learn .wrap_dept > ul{
    width: 90.66%;
    flex-wrap: wrap;
    -webkit-transform: translateY(-76px);
    transform: translateY(-76px);
  }
  .sec_learn .wrap_dept > ul > li{
    width: 48.23%;
  }
  .sec_learn .wrap_dept > ul > li:nth-child(n+3){
    margin-top: 25px;
  }
  .sec_learn .wrap_dept > ul > li .box_txt{
    padding: 16px 5% 20px 6.4%;
  }
  .sec_learn .wrap_dept > ul > li h3{
    margin-bottom: 10px;
    font-size: 16px;
    font-size: 1.6rem;
  }
  .sec_learn .wrap_dept > ul > li .lead{
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.667;
  }
  .sec_learn .wrap_dept dl{
    min-height: 68px;
    padding: 13px 6.4% 10px;
  }
  .sec_learn .wrap_dept dl dt{
  }
  .sec_learn .wrap_dept dl dd ul{
    font-size: 10px;
    font-size: 1rem;  
    line-height: 1.5;
  }
  
  /*android*/
  .android .sec_learn .wrap_dept > ul{
    display: block;
  }
  .android .sec_learn .wrap_dept > ul > li{
    width: 60%;
    margin-right: auto;
    margin-left: auto;
  }
  .android .sec_learn .wrap_dept > ul > li:nth-child(n+2){
    margin-top: 25px !important;
  }  
}
/*STORY------------------------*/
.wrap_story{
  padding-top: 140px;
}
.wrap_story .cmn_ttl_sec img{
  width: 451px;
}
.wrap_story .cmn_story{
  width: 97%;
  max-width: 1630px;
  margin-bottom: 60px;
}
.wrap_story .cmn_story li .txt{
  margin-top: 27px;
}
.wrap_story .cmn_link_btn{
  text-align: center;
}
@media screen and (max-width :834px) {
  .wrap_story{
    padding-top:42px;
    overflow: hidden;
  }
  .wrap_story .cmn_ttl_sec img{
    width: 293px;
  }
  .wrap_story .cmn_story{
    margin-bottom: 50px;
  }
  .wrap_story .cmn_story li .txt{
    margin-top: 10px;
  }  
}

/* ===============================================
# アニメーション
=============================================== */
.js_fade{
  opacity: 0;
  -webkit-backface-visibility:hidden;
  backface-visibility:hidden;
}
.js_fade.show{
  animation: fadeInUp 1s ease 0s forwards;
}
@keyframes slideLeft {
  from {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  to {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}
@keyframes fade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes zoom_in {
  0% {
    opacity: 0;
    transform: scale(0.5);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes zoom_out {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(0.5);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
     -webkit-transform: translateY(40px);
    transform: translateY(40px);
  }

  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@media screen and (max-width :834px) {
  .js_fade.swiper-slide{
    opacity: 1;
  }  
}
@media print{
  .js_fade{
    opacity: 1;
    visibility: visible;
  }
}
/*androdi*/
.android .js_fade{
  opacity: 1;
  visibility: visible;
}