@charset "UTF-8";
/* CSS Document */

/* ------------------------------
フォント指定
------------------------------ */

body {
font-family:"M PLUS Rounded 1c","メイリオ","Meiryo","Hiragino Kaku Gothic","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Lucida Grande",Geneva,Arial,Verdana,sans-serif;
}
input {
font-family:"M PLUS Rounded 1c","メイリオ","Meiryo","Hiragino Kaku Gothic","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Lucida Grande",Geneva,Arial,Verdana,sans-serif;
}
textarea {
font-family:"M PLUS Rounded 1c","メイリオ","Meiryo","Hiragino Kaku Gothic","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Lucida Grande",Geneva,Arial,Verdana,sans-serif;
}

/* ------------------------------
Clearfix
------------------------------ */

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* ------------------------------
Loading
------------------------------ */

#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 100;
}
 
#loader-bg #loader {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 500px;
  margin-left: -250px;
  text-align: center;
  color: #fff;
  z-index: 200;
}

/* ------------------------------
サイト共通
------------------------------ */
html,body{
    width: 100%;
	-webkit-text-size-adjust: 100%;
}

#wrapper{
	overflow: hidden;
	background:url(../images/common/wrapper.png) center center repeat-y;
}

html{
}
    
body{
	background:url(../images/body_bg.png) repeat center;
}

canvas{
	position:absolute;
	width:100%;
	height:100%;
	z-index:10;
}


h1,h2{
	text-indent:-10000px;
	overflow:hidden;
}

h3{
    font-family: "M PLUS 1p";
    font-size:36px;
    color: #4c2515;
    letter-spacing: 0.1em;
    font-weight:normal;
    padding: 0 0 8px 15px;
    border-bottom: 1px solid #d8001e;
    margin: 0 0 025px;
    text-align: left;
}

h3.ch2{
    border-bottom: 1px solid #ff7500;
}

h2{
    position: relative;
    margin: 0 auto 10px;
    min-width: 700px;
}

a{
color:#a18f8b;
}

a:hover{
color:#ec6d7b;
}

a:hover{
}

strong{
	font-weight:bold;
    color:#d8001e;
}

strong.color2{
	color: #ff7500;
}

div#contents{
}

div.inside{
	width:980px;
	margin:0 auto;
	position:relative;	
    text-align: center;
}

p{
    font-size: 120%;
    line-height: 200%;
    color: #4c2515;
    letter-spacing: 0.1em;
    margin: 0 0 30px;
    text-align: left;
	display: inline-block;
    font-weight: lighter;
	min-width: 660px;
}

.small{
    font-size: 26px;
    margin-left: 6px;
}

@keyframes vertical {
    0% { transform:translateY(-15px); }
  100% { transform:translateY(  0px); }
}

@keyframes vertical2 {
    0% { transform:translateY(-8px); }
  100% { transform:translateY(  0px); }
}


/* ------------------------------
HEADER
------------------------------ */

#header{
	width:100%;
	height:884px;
    position: relative;
	background: #d8001e;
}

#header_inside{
	height:884px;
	background:url(../images/header_ill.png) bottom no-repeat;
    position: relative;
    margin: 0 auto;
}

#header h1{
	width:492px;
	height:343px;
	background:url(../images/header_logo.png) no-repeat;
    position: relative;
    margin: 0 auto;
    top: 488px;
    animation: vertical 1s ease-in-out infinite alternate;
}

/* ------------------------------
INTRO
------------------------------ */

#intro{
    margin: 0 0 50px;
}

#intro h2{
	width:205px;
	height:75px;
	background:url(../images/intro_topics.png) no-repeat;
}

#intro .grid{
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(4, 1fr);
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 750px;
}

#intro .grid li {
  padding: 12px;
  border-radius: 8px;
	color: #654846;
	font-size:120%;
}


/* ------------------------------
PERSONAL
------------------------------ */

#personal{
    margin: 0 0 50px;
}

#personal h2{
	width:527px;
	height:73px;
	background:url(../images/personal_topics.png) no-repeat;
}

#personal div.personal_inside{
	width:700px;
	margin:0 auto 0px;
	position:relative;	
}

#personal h3{
	padding:55px 0 8px 25px;
}

#personal h3.ch1{
	background:url(../images/ch01.png) no-repeat 25px 0;
}

#personal h3.ch2{
	background:url(../images/ch02.png) no-repeat 25px 0;
}


/* ------------------------------
from
------------------------------ */

#from{
    margin: 0 0 50px;
}

#from h2{
	width:657px;
	height:72px;
	background:url(../images/from_topics.png) no-repeat;
}

#from div.personal_inside{
	width:700px;
	margin:0 auto 0px;
	position:relative;	
}

#from h3{
	padding:55px 0 8px 25px;
}

/* ------------------------------
BACK
------------------------------ */

#back{
    margin: 0 0 50px;
}

#back h2{
	width:326px;
	height:70px;
	background:url(../images/back_topics.png) no-repeat;
}

#back div.movie_back{
	position: relative;
	width: 560px;
	height: 315px;
	margin: 0 auto 20px;
}

/* ------------------------------
STORY
------------------------------ */

#story{
    margin: 0 0 50px;
}

#story h2{
	width:567px;
	height:74px;
	background:url(../images/story_topics.png) no-repeat;
}

#story p.story_topics{
	width:920px;
	height:282px;
	background:url(../images/story.png) no-repeat;
    position: relative;
    margin: 0 auto 80px;
	text-indent:-10000px;
	overflow:hidden;
}

#story div.img{
    float: left;
    width: 254px;
    position: relative;
    margin-right: 20px;
}

#story div.text{
    float: left;
    width: 680px;
    text-align: left;
}

#story div.text p{
    padding-left: 20px
}

div.ch{
    margin: 0 0 40px;
}

/* ------------------------------
MESSAGE
------------------------------ */

#message{
    margin: 0 0 50px;
}

#message h2{
	width:237px;
	height:75px;
	background:url(../images/message_topics.png) no-repeat;
}

#message a.message_bt{
    display: block;
	background:url(../images/message_bt.png) no-repeat;
    position: relative;
    margin: 0 auto 20px;
	text-indent:-10000px;
    width: 414px;
    height: 58px;
}

/* ------------------------------
MOVIE
------------------------------ */

#movie{
	width:100%;
    height: 400px;
    margin: 0 0 40px;
    background:#1660B8 url(../images/movie_bg.png) no-repeat center center;
    background-size:cover;
}

#movie a{
    position: relative;
    display: block;
    margin: 0 auto;
	width:81px;
	height:81px;
	background:url(../images/movie_bt.png) no-repeat;
    top: 140px;
}

#movie p.movie_text{
    position: relative;
    display: block;
    margin: 0 auto;
	width:252px;
	height:55px;
	background:url(../images/movie_text.png) no-repeat;
    top: 120px;
    animation: vertical2 0.5s ease-in-out infinite alternate;
	min-width: auto;
}

/* ------------------------------
FOOTER
------------------------------ */

#footer{
	background:#ff7500;
	padding:30px 0;
}

#footer a{
    background:url(../images/footer_logo.png) no-repeat;
	width:129px;
	height:68px;
	text-indent:-10000px;
	overflow:hidden;
	display:block;
	margin:0 auto 10px;
}

#footer p.copy{
	color:#4c2515;
	font-size:80%;
	text-align:center;
	margin:0 auto 15px;
}
