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


/* clearfix */

.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

/* 画像センタリング */

.cr {margin:0 auto;}

/* 点滅 */
.blinking{
    animation:blink 1s infinite alternate;
}

@keyframes blink{
  0% {opacity:0;}
100% {opacity:1;}
}

/* NotoSans読込 */

@font-face {
  font-family: "NotoSans_subset";
  font-style: normal;
  src: url(../font/NotoSans_subset.woff) format("woff");
}


/* FireFoxFadeブレ防止 */

img { display:block; box-shadow: #000 0 0 0; }

/* ----------------------------------　INVIEW　---------------------------------- */

.inv {opacity: 0; transition:0.7s;}
.vie {opacity: 1.0;}

/* ページトップ */

#page-top {
	position: fixed;
	bottom: 70px;
	right: 20px;
	font-size: 1.4em;
	font-weight:bold;
	z-index:2000;
}
#page-top a {
	background:url(../img/pagetop.png) left top no-repeat;
	width: 190px;
	height:160px;
	display: block;
	text-indent: -9999px;
	overflow: hidden;
	transition: all 0.3s;
	position:relative;
}
#page-top a:hover {
	top:-5px;
}


/* 全体・枠作り */

html,body {
	height:100%;
}

html {
	font-size:62.5%;
}

img { display:block; }

a.fd {
	transition: all 0.3s;
}

a:hover.fd {
	opacity: 0.6;
}

body {
	font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, sans-serif;
	text-align:center;
	min-width: 1100px;
	min-height: 100vh;
	font-size: 1.0rem;
}

#PageWrapper {
	min-width:1100px;
	min-height: 100%;
	height: auto !important;
	height: 100%;
	position: relative;
	width:100%;
	background:url("../img/grand_bg.png") left top repeat;
}

#Visual {
	background:url("../img/mv_bg.jpg") center top no-repeat;
	background-size:cover;
	width:100%;
	height:600px;
	position: relative;
}

.head_main {
	background:url("../img/mainvisual.png") center top no-repeat;
	width:100%;
	height:600px;
}

#About {
	width:100%;
	position: relative;
	padding-bottom:48px;
}

.catch {
	background:url("../img/catch.png") left top no-repeat;
	width:1000px;
	height:164px;
	margin:-36px auto 0;
}


.menu {
	width:1000px;
	margin:0 auto 48px;
	display: flex;
	justify-content: space-around;
}

.menu01,.menu02,.menu03,.menu04 {
	height:168px;
	margin-top:34px;
}

.about {
	background:url("../img/about.png") left top no-repeat;
	width:962px;
	height:165px;
	margin:0 auto 48px;
	position: relative;
}

.about a {
	display: block;
	width:144px;
	height:24px;
	position: absolute;
	left:250px;
}

.period {
	background:url("../img/period.png") left top no-repeat;
	width:900px;
	height:60px;
	margin:0 auto 48px;
}

#Present03 {
	background:url("../img/present03_bg.png") left top repeat;
	width:100%;
	padding:60px 0;
}

.present03_title {
	background:url("../img/present03_title.png") left top no-repeat;
	width:517px;
	height:76px;
	margin:0 auto 36px;
}

.present03_body {
	background:url("../img/present_03.png") center top no-repeat;
	height:623px;
}

#Present01 {
	background:url("../img/present01_bg.png") left top repeat;
	width:100%;
	padding:60px 0;
}

.present01_title {
	background:url("../img/present01_title.png") left top no-repeat;
	width:517px;
	height:76px;
	margin:0 auto 36px;
}

.present01_body {
	background:url("../img/present_01.png") center top no-repeat;
	height:560px;
}

#Present02 {
	background:url("../img/present02_bg.png") left top repeat;
	width:100%;
	padding:60px 0;
}

.present02_title {
	background:url("../img/present02_title.png") left top no-repeat;
	width:517px;
	height:76px;
	margin:0 auto 36px;
}

.present02_body {
	background:url("../img/present_02.png") center top no-repeat;
	height:623px;
}

#Present04 {
	background:url("../img/present04_bg.png") left -15px repeat;
	width:100%;
	padding:60px 0;
}

.present04_title {
	background:url("../img/present04_title.png") left top no-repeat;
	width:517px;
	height:76px;
	margin:0 auto 36px;
}

.present04_body {
	background:url("../img/present_04.png") center top no-repeat;
	height:623px;
}

#Present05 {
	background:url("../img/present05_bg.png") left top repeat;
	width:100%;
	padding:60px 0;
}

.present05_title {
	background:url("../img/present05_title.png") left top no-repeat;
	width:517px;
	height:76px;
	margin:0 auto 36px;
}

.present05_body {
	background:url("../img/present_05.png") center top no-repeat;
	height:623px;
}

#Process {
	width:100%;
	padding:60px 0;
}

.process_title {
	background:url("../img/process_title.png") left top no-repeat;
	width:160px;
	height:160px;
	margin:0 auto 60px;
}

.process_01 {
	background:url("../img/process01.png") left top no-repeat;
	width:623px;
	height:38px;
	margin:0 auto 36px;
}

.tweet_bt {
	width:200px;
	height:134px;
	margin:0 auto 48px;
}

.tweet_bt a {
	opacity: 1;
	transition: all 0.3s;
}

.tweet_bt a:hover {
	opacity: 0.6;
}

.process_02 {
	background:url("../img/process02.png") left top no-repeat;
	width:605px;
	height:74px;
	margin:0 auto 36px;
}

.tweet_area {
	margin:0 auto 60px;
}

.campaign_attention {
	color:#777777;
	font-size:1.6rem;
	line-height: 32px;
	text-align: left;
	display: inline-block;
}

.space {
	background:url(../img/foot_line.png) left top repeat-x;
	width:100%;
	height:20px;
	margin-bottom:70px;
}

.foot_twitter {
	width:600px;
	height:118px;
	margin:0 auto 50px;
}

.banner {
	width:200px;
	height:40px;
	margin:0 auto 8px;
}

.foot_txt {
	width:1000px;
	line-height: 20px;
	display: block;
	margin:0 auto;
	padding-bottom:50px;
	text-align: center;
	font-size:1.4rem;
	color:#a0a0a0;
}