@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: linear-gradient(to right,  #781522 0%,#a52e2e 30%,#a52e2e 70%,#781522 100%);

}
* {
-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;}

div{position:relative;}

.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;font-size: 80%;margin: 0;text-align: left;}
ul.ast li {	margin: 0 0 0.25em 0;	padding-left: 1em;	text-indent: -1em;color: #fff;}
ul.ast li:before {	content: "\203b";	color: #fff;}
ul.ast li.red:before {	content: "\203b";	color: #fff;}

/* ドット　 */
ul.dot {	list-style: none;font-size: 90%;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: 17px;
  width: 17px;
  font-size: 70%;
	font-weight:500;
  line-height: 1;
  position: absolute;
  top: 0.45em;
  left: 0;
}


/*メニュー要素の出現アニメ*/
.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{padding:1.25em;position: absolute;top:0;left:0;right:0;margin:auto;opacity: 1;z-index:100;
}

#header_upper .iconwrap{ margin:0;display:flex;justify-content: space-between; align-items: center; line-height: 0.5;}
#header_upper .iconwrap .leftside{flex-basis:50%;}
#header_upper .iconwrap .rightside{flex-basis:50%;display:flex; justify-content: flex-end;}

#header_upper .logo{width:16%;margin:0}
#header_upper .kaiingentei{width:40%;margin:0 0.5em 0 0}
#header_upper .icon {width:5%;margin:0 0 0 0.5em}

#header_kv_bg{z-index:-1;overflow: hidden; background: #fff;}
#header_kv_bg .kv_image{position: absolute;top:0;left:0;right:0; }


#header_kv_title{
position: absolute;
width:100%;height:100%;top:0;left:0;right:0;margin:auto;
display:flex;align-items: center;justify-content: space-between;opacity: 1;  

/*
background: linear-gradient(to right,  rgba(0,0,0,0.45) 0%,rgba(0,0,0,0.42) 1%,rgba(0,0,0,0) 15%,rgba(0,0,0,0) 85%,rgba(0,0,0,0.45) 100%);
animation-delay: 3s;
animation-name: header_kv_main;
animation-duration: 1s;
animation-timing-function: ease-out;
animation-fill-mode:  forwards;
*/
}
#header_kv_title h1{flex-basis:22vw;}
#header_kv_title .kv_copy_left{width:5.5vw;margin:0 0 0 1.75vw;}
#header_kv_title .kv_copy_right{width:5.5vw;margin:0 1.75vw 0 0;}

.delay {
  animation-name: delay;
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode:  forwards;
}

@keyframes delay {
0% { opacity: 0; }   
50% { opacity: 0; }
100% { opacity: 1; }
}


section{position: relative;}



#sec_upper{background: linear-gradient(to right,  #d6b65a 0%,#fbe787 30%,#d6b65a 50%,#fbe787 70%,#d6b65a 100%);margin:0 0 4em 0;}
#sec_upper .inner{padding:3.5% 2% 3.5% 2%;max-width:780px;margin:auto;}



#sec_dl {background:url("../img/upper_aniv_bg.jpg") top center no-repeat;background-size: cover;}
#sec_dl .inner{max-width:1000px;margin:auto;}
#sec_dl:after{
content: "";
width: 100%;
height: 4px;
background: url(../img/footer_line.png) top center no-repeat;
background-size: cover;
display: block;
}

#sec_dl .dl_wrap{position: relative;margin:0 0 4em 0;}
#sec_dl .dl_wrap .dl_item_wrap{position:absolute;top:7%;left:0;right:0;margin:auto;max-width:856px;display:flex;justify-content: center;align-items: flex-start;flex-flow:row wrap;}
#sec_dl .dl_wrap .dl_item_wrap .item{flex-basis:44%;margin:0 3% 4em 3%;}
#sec_dl .dl_wrap .dl_item_wrap .item .title{margin:0 0 1.75em 0;}

@media screen and (max-width: 999px) {
#sec_dl .dl_wrap{position: relative;margin:0 0 7vw 0;}
#sec_dl .dl_wrap .dl_item_wrap{position:absolute;top:8vw;}
#sec_dl .dl_wrap .dl_item_wrap .item{flex-basis:37vw;margin:0 3vw 7vw 3vw;}
#sec_dl .dl_wrap .dl_item_wrap .item .title{margin:0 0 3vw 0;}
}

#sec_dl .dl_wrap .dl_item_wrap .item .btn{display:flex;justify-content: space-between;align-items: flex-start;flex-flow:row nowrap;padding:0 4%;}
#sec_dl .dl_wrap .dl_item_wrap .item .btn a{flex-basis:47%;}
#sec_dl .dl_wrap .notice_area{margin:2em 0 0 0;padding:0 0.5%;}


/*フッター*/
footer{background: #000;}



footer .inner{padding:1% 2% 2% 2%;}

footer .footer_link{font-size:88%;margin:0 auto 2em auto;font-weight:500;}
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 0.5em;}

footer .footer_logo_copyright{max-width:1000px;margin:0 auto 1em auto;}

footer .footer_logo_copyright a{flex-basis:100px; }


footer .footer_logo_copyright .copyright{font-size:77%; color:#fff;text-align: center;padding:1%;}




