@charset "UTF-8";

body{
    font-family: sans-serif;
}

/* ==== 共通アニメーション ==== */
@keyframes bgFade {
  to {
    opacity: 1;
  }
}

/* ロゴをフェードイン→表示→フェードアウト */
@keyframes logoFadeInOut {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  20% {
    opacity: 1;
    transform: translateY(0);
  }
  80% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(0);
  }
}

@media (min-width: 1901px) {
	    .a3 {
        margin-top: 40px;
}
}

@media (min-width: 1024px) {
	
.flex {
    margin: 70px 120px;
    padding: 0;
    list-style-type: none;
	display: flex;
}

.background{
	  background-color: #272727;
	  padding: 0 3vw;
}

.home_img {
  position: relative;
  height: 45vw;
  margin: 0 auto;
  margin-top: 3vw;
  overflow: hidden;
}

/* ここに背景をのせる */
.home_img::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("../img/index/index_top.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0;
  animation: bgFade 2s ease forwards;
  animation-delay: 1.5s;/*imgを出すスピード*/
  z-index: 0; /* ロゴより下に */
}

/* ロゴ */
.home_logo {
  position: relative;
  z-index: 1; /* ロゴを背景の上に表示 */
  text-align: center;
  opacity: 0;
  transform: translateY(20px);
  animation: logoFadeInOut 3.5s ease forwards;
  animation-delay: 0.2s;
}

.home_logo img {
  width: 15vw;
  margin-top: 15vw;
}

/*------カードbox部分------*/
	
.a1 {
  display: inline-flex;
  align-items: center;
  font-size: 28px;
  font-weight: bold;
}

.a1::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;   /* テキストとの間隔 */
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #C2D1E4; /* 矢印の色 */
}

	.a1-1line{
		margin-top: 16px;
	}
	
.a2{
	font-size: 14px;
    margin-top: 10px;
}
	
	.a2-1line{
		margin-top: 30px;
	}
	
	
.a3{
	font-size: 14px;
}
	
	.a3-1line{
		margin-top: 15px;
	}
	
.homecard {
  position: relative;         /* 疑似要素の位置指定に必要 */
  background-color: #1C4275;  /* 紺色 */
  color: #fff;
  list-style: none;
  display: block;
  text-decoration: none;
  padding: 0 3vw;
  padding-top: 5px;
  margin: 1vw;
  width: 30vw;
}

/* 左上の黄色い三角 */
.homecard::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 60px solid #FEE958; /* 黄色 */
  border-right: 60px solid transparent;
}
	
/* ホバー時の見た目 */
.homecard:hover {
  background-color: #2B558E;
  transform: translateY(-3px);
}

.a1 .a2 .a3{
	text-decoration: none;
}

.card_flex{
	display: flex;
}

.home_infomation{
    margin-top: 3vw;
	}
	
.info_title{
	color: #FEE958;
	margin-left: 10%;
	font-size: 35px;
	font-family: 'Anton';
	font-style: italic;
}
.info_title_ja{
	color: #FEE958;
	margin-left: 10%;
	font-size: 18px;
}

.infomation_box{
  margin: 0 auto;
  margin-top: 2vw;
  width: 60%;                /* 横幅を200pxに指定 */
  height: 25vw;               /* 横幅を200pxに指定 */
  border: 1px solid #000;      /* わかりやすくボーダーを引く */
  overflow-y: scroll;          /* 縦方向にスクロール可能にする */
  background-color: white;
  font-size: 18px;
}

.infomation_box li{
	margin-left: 2vw;
}
}

@media (max-width: 1165px) and (min-width: 769px) {
    .a2 {
        font-size: 12px;
    }
	
    .a3 {
        font-size: 10px;
    }
}



@media (max-width: 1400px) and (min-width: 1024px) {
	.a1 {
        display: inline-flex;
        align-items: center;
        font-size: 20px;
        font-weight: bold;
    }
	
	    .a2-1line {
        margin-top: 20px;
    }
}

/*-----タブレット以下のサイズ-----*/


@media (max-width: 1024px) and (min-width: 769px) {
	
.flex {
    margin: 40px 80px;
    padding: 0;
    list-style-type: none;
	display: flex;
}

.background{
	  background-color: #272727;
	  padding: 0 3vw;
}

	
/*---- ファーストビュー ----*/	
	
.home_img {
  height: 45vw;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 0em 0em;
  margin: 0 auto;
  margin-top: 3vw;
  object-fit: contain;
  overflow: hidden;
  position: relative;
}
	
	
.home_img::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../img/index/index_top.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: bgFade 2s ease forwards;
    animation-delay: 1s;
    z-index: 0;
  }

.home_logo{
	position: relative;
    z-index: 1;
    text-align: center;
    opacity: 0;
    transform: translateY(20px);
    animation: logoFadeInOut 3.5s ease forwards;
    animation-delay: 0.2s;
}
	

.home_logo img{
	width: 15vw;
	margin-top: 15vw;
}

.homecard {
  position: relative;         /* 疑似要素の位置指定に必要 */
  background-color: #1C4275;  /* 紺色 */
  color: #fff;
  list-style: none;
  display: block;
  text-decoration: none;
  padding: 1vw 3vw;
  margin: 1vw;
  width: 30vw;
}

/* 左上の黄色い三角 */
.homecard::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 60px solid #FEE958; /* 黄色 */
  border-right: 60px solid transparent;
}
	
/* ホバー時の見た目 */
.homecard:hover {
  background-color: #2B558E;
  transform: translateY(-3px);
}

.a1 .a2 .a3{
	text-decoration: none;
}

.card_flex{
	display: flex;
}

.a1 {
  display: inline-flex;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
  margin-top: 12px;
}
	
	.a1-1line{
		margin-top: 23px;
	}
	

.a1::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;   /* テキストとの間隔 */
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #C2D1E4; /* 矢印の色 */
}
.a2{
	font-size: 11px;
    margin-top: 10px;
}
	
	.a2-1line{
		margin-top: 27px;
	}
	
	
.a3{
	font-size: 10px;
}
	
	.a3-1line769{
		margin-top: 10px;
	}
	

.home_infomation{
    margin-top: 5vw;
	}
	
.info_title{
	color: #FEE958;
	margin-left: 10%;
	font-size: 25px;
	font-family: 'Anton';
	font-style: italic;
}
.info_title_ja{
	color: #FEE958;
	margin-left: 10%;
	font-size: 14px;
}

.infomation_box{
  margin: 0 auto;
  margin-top: 2vw;
  width: 80%;                /* 横幅を200pxに指定 */
  height: 30vw;               /* 横幅を200pxに指定 */
  border: 1px solid #000;      /* わかりやすくボーダーを引く */
  overflow-y: scroll;          /* 縦方向にスクロール可能にする */
  background-color: white;
  font-size: 12px;
}

.infomation_box li{
	margin-left: 2vw;
}
}



@media (max-width: 768px) and (min-width: 481px){
	
.flex {
    margin: 40px 60px;
    padding: 0;
    list-style-type: none;
/*	display: flex;*/
}

.background{
	  background-color: #272727;
}
	
.home_contents{
		padding: 0 3vw;
}

.home_img {
  height: 150vw;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin: 0 auto;
  object-fit: contain;
  position: relative;
}
	
.home_img::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../img/index/index_top.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: bgFade 2s ease forwards;
    animation-delay: 1.5s;
    z-index: 0;
  }


.home_logo{
	position: relative;
    z-index: 1;
    text-align: center;
    opacity: 0;
    transform: translateY(20px);
    animation: logoFadeInOut 3.5s ease forwards;
    animation-delay: 0.2s;
}

.home_logo img{
	width: 40vw;
	margin-top: 55vw;
}

.a1 {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
}

.a1::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;   /* テキストとの間隔 */
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #C2D1E4; /* 矢印の色 */
}
.a2{
	font-size: 12px;
}
.a3{
	font-size: 10px;
}
	
.homecard {
  position: relative;         /* 疑似要素の位置指定に必要 */
  background-color: #1C4275;  /* 紺色 */
  color: #fff;
  list-style: none;
  display: block;
  text-decoration: none;
  padding: 1vw 10vw;
  margin: 3vw;
}

/* 左上の黄色い三角 */
.homecard::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 60px solid #FEE958; /* 黄色 */
  border-right: 60px solid transparent;
}
	
/* ホバー時の見た目 */
.homecard:hover {
  background-color: #2B558E;
  transform: translateY(-3px);
}

.a1 .a2 .a3{
	text-decoration: none;
}

.info_title{
	color: #FEE958;
	margin-left: 5%;
	font-size: 18px;
	font-family: 'Anton';
	font-style: italic;
}
.info_title_ja{
	color: #FEE958;
	margin-left: 5%;
	font-size: 12px;
}

.infomation_box{
  margin: 0 auto;
  margin-top: 3vw;
  width: 90%;                /* 横幅を200pxに指定 */
  height: 40vw;               /* 横幅を200pxに指定 */
  border: 1px solid #000;      /* わかりやすくボーダーを引く */
  overflow-y: scroll;          /* 縦方向にスクロール可能にする */
  background-color: white;
  font-size: 12px;
}

.infomation_box li{
	margin-left: 2vw;
}
}


@media (max-width: 480px) {
	
.flex {
    margin: 20px 40px;
    padding: 0;
    list-style-type: none;
/*	display: flex;*/
}
	
.background{
	  background-color: #272727;
}
	
.home_contents{
		padding: 0 3vw;
}
.home_img {
  height: 150vw;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin: 0 auto;
  object-fit: contain;
  position: relative;
}
	
.home_img::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url("../img/index/index_top.jpg");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: bgFade 2s ease forwards;
    animation-delay: 1.5s;
    z-index: 0;
  }


.home_logo{
	position: relative;
    z-index: 1;
    text-align: center;
    opacity: 0;
    transform: translateY(20px);
    animation: logoFadeInOut 3.5s ease forwards;
    animation-delay: 0.2s;
}


.home_logo img{
  width: 40vw;
  margin-top: 55vw;
}

.a1 {
  display: inline-flex;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
}

.a1::after {
  content: "";
  display: inline-block;
  margin-left: 0.5em;   /* テキストとの間隔 */
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.6em solid #C2D1E4; /* 矢印の色 */
}
.a2{
	font-size: 12px;
}
.a3{
	font-size: 10px;
}
	
.homecard {
  position: relative;         /* 疑似要素の位置指定に必要 */
  background-color: #1C4275;  /* 紺色 */
  color: #fff;
  list-style: none;
  display: block;
  text-decoration: none;
  padding: 1vw 12vw;
  margin: 3vw;
}

/* 左上の黄色い三角 */
.homecard::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 60px solid #FEE958; /* 黄色 */
  border-right: 60px solid transparent;
}
	
/* ホバー時の見た目 */
.homecard:hover {
  background-color: #2B558E;
  transform: translateY(-3px);
}

.a1 .a2 .a3{
  text-decoration: none;
}

.info_title{
  color: #FEE958;
  margin-left: 5%;
  font-size: 18px;
  font-family: 'Anton';
  font-style: italic;
}
.info_title_ja{
  color: #FEE958;
  margin-left: 5%;
  font-size: 12px;
}

.infomation_box{
  margin: 0 auto;
  margin-top: 3vw;
  width: 90%;                /* 横幅を200pxに指定 */
  height: 50vw;               /* 横幅を200pxに指定 */
  border: 1px solid #000;      /* わかりやすくボーダーを引く */
  overflow-y: scroll;          /* 縦方向にスクロール可能にする */
  background-color: white;
  font-size: 12px;
}

.infomation_box li{
  margin-left: 2vw;
}
}



