@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap');

/*
font-family: 'Noto Serif JP', serif;
*/

/*------------------------------------base*/

body{
font-family: 'Noto Sans JP', sans-serif;
font-size:100%;
background: #fff;
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
img{width:100%;height:auto;}
/*ie*/
img { -ms-interpolation-mode: bicubic; }
a{transition: 0.3s;color:#007bc7;}
a:hover{opacity:0.5;}
.inner{position:relative;padding: 0 1em;	margin: 0 auto;z-index: 2;position: relative;}
.item{position:relative;margin:0 0 2em 0;}
.center{text-align: center;}
.red{color:#b90015}
.sfont{font-size:80%;}
.flex{display:flex; justify-content: space-between; flex-flow:row wrap;}
#totop {z-index: 100;    position: fixed;    bottom:5em;    right: 1em;}
#totop a {    width: 62px;    display: block;}


@media screen and (max-width: 320px) {
.notice{font-size:75%;}
}

/* アスタリスク　注釈用 */
ul.ast {	list-style: none;margin: 0;text-align: left;}
ul.ast li {	margin: 0;	padding-left: 1em;	text-indent: -1em;}
ul.ast li:before {	content: "\203b";	color: #000;}
ul.ast li.red:before {	content: "\203b";	color: #f00;}

/* ドット　 */
ul.dot {	list-style: none;margin: 0;text-align: left;}
ul.dot li {	margin: 0;	padding-left: 1em;	text-indent: -1em;}
ul.dot li:before {	content: "\30FB";	color: #000;}
ul.dot ul.ast li:before {	content: "\203b";	color: #000;}


/*まる数字のスタイル*/
ol.num {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0 0 0.5em 0;
}
ol.num li {
font-size:100%;
  line-height: 1.5;
  padding-left: 1.25em;
  position: relative;
}
ol.num li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  border: 1px solid #000; 
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 15px;
  width: 15px;
  font-size: 65%;
	font-weight:500;
  line-height: 1;
  position: absolute;
  top: 0.45em;
  left: 0;
}


@keyframes delay {
0% { opacity: 0; }   
50% { opacity: 0; }
100% { opacity: 1; }
}
.delay {
  animation-name: delay;
  animation-duration: 1s;
  animation-timing-function: ease-out;
  animation-fill-mode:  forwards;
}

/*メニュー要素の出現アニメ*/
.fadein { opacity: 0;  transition: 1s;}
.fadein.is-show {  opacity: 1;}

/*右から*/
.fadein_right {  opacity: 0;  transform: translate(0, 20%);  transition: 1s;}
.fadein_right.is-show {  transform: translate(0, 0);  opacity: 1;}

/*左から*/
.fadein_left {  opacity: 0;  transform: translate(-100%, 0);  transition: 3s;
  animation-name: delay;
  animation-duration: 3s;
  animation-timing-function: ease-out;
  animation-fill-mode:  forwards;
}
.fadein_left.is-show {  transform: translate(0, 0);  opacity: 1;}
/*下から*/
.fadein_up {  opacity: 0;  transform: translate(0, 10%);  transition: 1s;}
.fadein_up.is-show {  transform: translate(0, 0);  opacity: 1;}
/*上から*/
.fadein_down {  opacity: 0;  transform: translate(0, -80%);  transition: 1.5s;}
.fadein_down.is-show {  transform: translate(0, 0);  opacity: 1;}

/*ヘッダー*/
header{ display:block;position: relative; margin:0; }

/*upper*/
#header_upper{position: absolute;top:0.5%;left:0;right:0;margin:auto;max-width:1440px;}
#header_upper .flex{ align-items: center; justify-content: flex-start;}
#header_upper ul{display:flex;justify-content: flex-end; align-items: center; line-height: 0.5;}
#header_upper li.logo{flex-basis:8%;margin:0 0 0 2%}


/*タイトル*/
#header_kv{}
#header_kv .kv_bg{}
#header_kv .kv_title_fr{position: absolute;width:16%;top:3%;left:0;right:0;margin:auto;
animation-delay: 0.5s;
animation-name: kv_title_fr;
animation-duration: 2s;
animation-timing-function: ease-out;
animation-fill-mode:  forwards;
opacity: 0;
}
#header_kv h1.kv_title_jp{position: absolute; width:26.5%;top:8.5%;left:0;right:0;margin:auto;
animation-delay: 1s;
animation-name: kv_title_jp;
animation-duration: 3.5s;
animation-timing-function: ease-out;
animation-fill-mode:  forwards;
opacity: 0;
}
#header_kv .kv_copy{position: absolute;width:4.5%;top:1.5%;right:20%;
animation-delay: 2s;
animation-name: kv_copy;
animation-duration: 4s;
animation-timing-function: ease-out;
animation-fill-mode:  forwards;
opacity: 0;
}
#header_kv .kv_btm_copy{position: absolute;width:38%;bottom:4%;left:0;right:0;margin:auto;
animation-delay:4s;
animation-name: kv_btm_copy;
animation-duration: 0.3s;
animation-timing-function: ease-out;
animation-fill-mode:  forwards;
opacity: 0;
}

@keyframes kv_title_fr {
  0% {    opacity: 0;  transform: translateY(-5%); }
  100% {    opacity: 1; transform: translateY(0); }
}

@keyframes kv_title_jp {
  0% {    opacity: 0;  transform: translateY(-2%); }
  100% {    opacity: 1; transform: translateY(0); }
}

@keyframes kv_copy {
  0% {    opacity: 0;  transform: translateY(-10%); }
  100% {    opacity: 1; transform: translateY(0); }
}

@keyframes kv_btm_copy {
  0% {    opacity: 0;  transform: scale(5); }
  100% {    opacity: 1; transform: scale(1); }
}




/*lead*/
#lead{position:relative;}
#lead .lead_copy{position: absolute;width:54%; left:0;right:0;margin:auto; top:17%;}


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

.wrap .bg01{position: absolute;width:68%; left:-3%; top:29vw;}
.wrap .bg05_2{position: absolute;width:44%; right:0; top:43vw;}
.wrap .bg06{position: absolute;width:100%; left:0;right:0; bottom:0;}

.wrap .bg{position: absolute;width:100%; left:0;right:0;margin:auto; top:0;mix-blend-mode: multiply;}
.content_wrap{position:relative;width:62%; left:0;right:0;top:-23vw;margin:0 auto -18vw auto;height:100%;}

section{position: relative;margin:0 0 6.5vw 0;}
h2{width:28%;margin:0 auto 1em auto;}

.btnbox{position:absolute;}

#sec01 { }


#sec01 .btnbox {bottom:13.5%; margin:0 8%;justify-content: center;}
#sec01 .btnbox a{flex-basis:35%;margin:0 2%;}

#sec01 .btnbox.add {top:44.25%; margin:0 8%;justify-content: center;}




/*フッター*/
footer{background:#000;}
footer .footer_upper{position:relative;}
footer .footer_parts{position: absolute;width:61%; left:0;right:0;margin:auto; top:23%;}
footer .footer_x{position: absolute;width:28%; left:0;right:0;margin:auto; top:67%;}
footer .footer_bottom{padding:1em 2% 2em 2%;}
footer .footer_link{font-size:90%;margin:0 auto 2.5em auto;}
footer .footer_link ul{ justify-content:center;align-items: center;}
footer .footer_link a{text-decoration:none;color:#fff;}
footer .footer_link ul li.bar{font-size:122%;color:#fff;margin:0 1%;}
footer .logo_copyright{ width:70%;margin:auto; justify-content: space-between;align-items: center;}
footer .jralogo a{width:100px;display:inline-block;}
footer .copyright{ background: #000; font-size:80%; color:#fff;text-align: center;padding:1%;}


