@charset "UTF-8";
/*---------------------------------------------
	フォント
  ---------------------------------------------*/
@import url("../plugins/font-awesome/css/font-awesome.min.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@700&display=swap');

/* -----------------------------------
    汎用クラス
   ----------------------------------- */
html{background-color: #F6F6F4}
body {
	font-size: 62.5%;
	-webkit-text-size-adjust : none;
	margin: 0;
	color: #CC0033;
	text-align: justify;
	text-justify: inter-ideograph;
	line-height: 1.8;
	font-family: 'Noto Sans JP', sans-serif;
	position: relative
}
body p,body li,body table { 
	font-size: 1.6em; 
	line-height: 1.5;
	text-justify: inter-ideograph;}
a { text-decoration: none; }
a:link {color: #CC0033;}
a:visited {color: #CC0033;}
a:hover {color: #CC0033; transition: all 0.3s linear; }
a:active { color: #CC0033; }
img{width: 100%}

.text-small {font-size: 0.85em; display: inline-block; }
.text-large{font-size: 20px !important}
.text-bold{font-weight: bold !important;}
.text-right {text-align: right !important;}
.text-left {text-align: left !important;}
.text-center {text-align: center !important;}

.mt-0px { margin-top: 0px !important; }
.mt-5px { margin-top: 5px !important; }
.mt-10px { margin-top: 10px !important; }
.mt-20px { margin-top: 20px !important; }
.mt-30px { margin-top: 30px !important; }
.mt-50px { margin-top: 50px !important; }
.mt-80px { margin-top: 80px !important; }
.mt-100px { margin-top: 100px !important; }
.mb-0px { margin-bottom: 0px !important; }
.mb-10px { margin-bottom: 10px !important; }
.mb-20px { margin-bottom: 20px !important; }
.mb-30px { margin-bottom: 20px !important; }
.mb-50px { margin-bottom: 50px !important; }
.mb-100px { margin-bottom: 100px !important; }

@media screen and (max-width: 580px) {	
body p,body li,body table { font-size: 16px; }	
}

/* --- Clear Fix ------------- */
.clearfix:before, .clearfix:after {
	display: table;
	content: " ";
}
.clearfix:after {clear: both;}
.clearfix {overflow: hidden;}
*, *::after, *::before {
	box-sizing: border-box;
}

/* -----------------------------------
   フォーム
 * ----------------------------------- */
input,
select,
label {
	vertical-align: baseline;
}

.br-pc{display: inline}
.br-sp{display: none}
.img-pc{display: block !important}
.img-sp{display: none !important}
@media screen and (max-width: 768px) {
.br-pc{display: none}
.br-sp{display: inline}	
.img-pc{display: none !important}
.img-sp{display: block !important}	
}


/* -----------------------------------
    ローディング
   ----------------------------------- */
#loading {
  position: relative;
  width: 100vw;
  height: 100vh;
  background-color: #CC0033;
  z-index: 99999;
  transition: all .5s ease;	
	overflow: hidden;
	top: 0;
    left: 0;
}
#loading.is-loaded {
	visibility: hidden;
	animation: fadeOut 1s ease
}
@keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
 }
#main-contents {
	display: none;
}
#main-contents.is-loaded {
	display: block;
	position: absolute;
    width: 100vw;
    top: 0;
    left: 0;
}
.visual-heart{
	width: 100%;
    max-width: 700px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
}
/*ローディング後*/
#visual-heart-full{
	position: absolute;
	top: 0px;
	background-image: url(../img/bg-illust.jpg);
	background-repeat: repeat-x;
	background-position: 0 0;
	background-size: cover;
	width: 100%;
	height:100vh;
	overflow: hidden;
	animation: bgroop 120s linear infinite;	
}
@keyframes bgroop {
 from {background-position: 0 0;}
 to {background-position: -2000px 0;}
}

#banner-contest a{
	display: block;
	width: 380px;
	position: absolute;
	bottom: 20px;
	right: 20px;
	z-index: 1;
	animation: UpDownAnime 2s ease infinite;}
@keyframes UpDownAnime {
 0% { bottom: 20px }
 50% { bottom: 30px }
 100% { bottom: 20px; }	
}
#banner-contest a::before {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	content: '';
	width: 0;
	height: 0;
	background-color: rgba(255,248,2,0.35);
	border-radius: 100%;
	transform: translate(-50%, -50%);
	opacity: 0;
	z-index: -1
}
#banner-contest a:hover::before {
	-webkit-animation: circle .75s;
	animation: circle .75s;
}
@keyframes circle {
0% {opacity: 1;}
40% {opacity: 1;}
100% {width: 200%;height: 200%;opacity: 0;}
}
@media screen and (max-width:960px) {
.visual-heart{
	width: 95%;
	max-width: 95%;
}
}
@media screen and (max-width:768px) {
#banner-contest a{width: 300px;}	
}
@media screen and (max-width:680px) {	
.visual-heart{top: 45%;}	
#banner-contest a{
	width: 230px;
	margin-bottom: 60px;
}	
}

/* -----------------------------------
    ヘッダー
   ----------------------------------- */
header{position: relative}
h1 a{
	display: block;
	width: 340px;
}
#header.header-fix{
	position: fixed;
	z-index: 5;
	background-color: rgba(255,255,255,0.80);
    backdrop-filter: blur(5px);
	border-bottom: solid 1px rgba(0, 0, 0, .1);
}
@media screen and (max-width:768px) {
h1 a{width: 300px !important;}
.luxbar-header {padding-left: 10px;}	
}

/* グローバルメニュー */
@media screen and (min-width:768px) {
.luxbar-fixed {
	height: 80px;
	background-color: #ffffff;
}
.luxbar-header {
    display: flex;
    align-items: center;
    height: 50px !important;
    margin-right: 0 !important;
}	
.luxbar-menu{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 80px
}
.luxbar-navigation{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-left: 50px;
}
.luxbar-navigation li:after{
	content: "｜";
	color: #767676;
	margin-left: 10px;
	margin-right: 10px;
}
.luxbar-navigation li:last-of-type:after{
	content: "";
	margin-left: 0px;
	margin-right: 0px;
}	
}
.luxbar-navigation li a{
	color: #767676;
	display: inline-block;
	font-size: 15px;
}
.luxbar-navigation li .active,
.luxbar-navigation li a:hover{color: #CC0033;}
.luxbar-navigation li.no-link:after{
	content: "";
	margin-left: 0px;
	margin-right: 0px;
}
@media screen and (max-width:860px) {
.luxbar-navigation li {margin-left: 10px;}
}
@media screen and (max-width:860px) {
.luxbar-navigation li a{font-size: .95em}
}
@media screen and (max-width:768px) {
.luxbar-menu {width: 100%;}			
.luxbar-navigation{
	margin-top: 20px;
	margin-left: 20px;
}	
.luxbar-navigation li {margin-left: 0px;}	
.luxbar-navigation li a {
	margin-bottom: 20px;
	color: #ffffff !important;
	display: block;
}
.luxbar-navigation li.luxbar-header a {
	padding-left: 10px;	
	padding-top: 0px;
}	
.luxbar-header{
	background-color: #ffffff;
	border-bottom: 1px solid #CC0033;
}
.luxbar-navigation li.no-link{display: none}
}

/*---------------------------------------------
	メインコンテンツ
  ---------------------------------------------*/
.container-1260,
.container-1080,
.container-960,
.container-860{
	width: 1260px;
	margin-left: auto;
	margin-right: auto;
}
.container-1080{width: 1080px;}
.container-960{width: 960px;}
.container-860{width: 860px;}
section{margin-bottom: 180px;}
section#main-category{
	color: #CC0033;
	margin-top: 100vh;
}
section#sub-category{color: #4D5156}
.container-flex {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
@media screen and (max-width: 1260px) {
.container-1260{width: 90%;}		
}
@media screen and (max-width: 1080px) {
.container-1080{width: 90%;}	
}
@media screen and (max-width: 960px) {
.container-960{width: 90%;}		
}
@media screen and (max-width: 860px) {
.container-860{width: 90%;}		
}
@media screen and (max-width: 680px) {
.container-main{margin-bottom: 50px;}	
section{margin-bottom: 100px;}		
}

/*---------------------------------------------
	見出し
  ---------------------------------------------*/
.title h2{
	font-size: 110px;
	font-family: 'Inter', sans-serif;
	line-height: 1;
}
.title-sub h2{
	font-size: 60px;
	font-family: 'Inter', sans-serif;
	line-height: 1;
	text-align: center;
	margin-bottom: 50px;
}
.title h3{font-size: 20px;}
section#main-category .title h2{border-bottom: 1px solid #ffffff;}
section#main-category .title h2,
section#main-category .title h3{color: #ffffff;}
section#sub-category .title h2{border-bottom: 2px solid #E2E2E2;}
section#main-category .title h3{text-align: right}
section#sub-category .title h2,
section#sub-category .title h3{
	color: #4D5156;
	text-align: center;
}
section#sub-category .title h3{
	font-size: 30px;
	margin-bottom: 50px;
}
h4{
	font-size: 30px;
	margin-top: 50px;
	margin-bottom: 20px;
}
.text-gray{color: #555555 !important}
@media screen and (max-width:960px) {
.title h2{font-size: 10vw;}	
}
@media screen and (max-width:860px) {
.title h2,
.title h3{text-align: center !important}	
}
@media screen and (max-width:768px) {
.title h2{font-size: 70px;}	
.title-sub h2{font-size: 50px;}	
section#sub-category .title h3{font-size: 28px;}	
h4{font-size: 25px;}	
}
@media screen and (max-width:580px) {
.title h2{font-size: 35px;}	
.title-sub h2{font-size: 35px;}		
section#sub-category .title h3{font-size: 20px;}		
h4{
	font-size: 20px;
	margin-top: 30px;
	text-align: left
}		
}

/*---------------------------------------------
	各コンテンツ
  ---------------------------------------------*/
/*プロローグ*/
#prologue{padding-top: 60px}
#prologue h2{
	font-size: 40px;
	line-height: 1.4;
	margin-bottom: 10px;
	font-weight: bold;
	border-bottom: 1px solid #CC0033;
}
#prologue h3{
	font-size: 80px;
	line-height: 1.2;
	font-weight: bold;
	margin-bottom: 50px;
}
#prologue p{line-height: 2.5;}
#prologue .block-text{width: 45%}
#prologue .block-image{
	width: 50%;
	margin-top: -50px;
}
#box{
	margin-top: 80px;
	margin-bottom: 250px;
}
#box-inner{
	border-top: 3px solid #CC0033;
	border-bottom: 3px solid #CC0033;
	padding-top: 50px;
	padding-bottom: 50px;
	align-items: center
}
#box h2{
	text-align: center;
	font-size: 50px;
	font-family: 'Inter', sans-serif;
	border-bottom:none;
	margin-bottom: -8px;
    line-height: 1;
}
#box h3{
	font-size: 30px;
	margin-bottom: 15px;
}
#prologue #box .block-text {
	width: 48%;
    margin-left: 50px;
}
#prologue #box .block-image {
	width: 40%;
    margin-top: 0px;
	padding-right: 80px;
}
@media screen and (max-width:960px) {
#prologue h2{font-size: 3.8vw;}	
#prologue h3{font-size: 7.8vw;}	
}
@media screen and (max-width:768px) {
#prologue h2{font-size: 22px;}		
#prologue .block-text{width: 100%}
#prologue .block-image{
	width: 100%;
	margin-top: 50px;
}	
#prologue p {line-height: 2;}	
#box{margin-bottom: 100px;}	
#prologue #box .block-text {
	width: 100%;
    margin-left: 0px;
}
#prologue #box .block-image {
	width: 70%;
	margin: 50px auto 0;
	padding-right: 0px;
}	
#box h2{font-size: 40px;}	
#box h3{font-size: 25px;}
}
@media screen and (max-width:680px) {
#box-inner{
	padding-top: 20px;
	padding-bottom: 20px;
}	
#box h2{font-size: 32px;margin-bottom: -5px;}	
#box h3{font-size: 22px;}	
}

/*プロジェクトイメージ*/
#project .title{background-color: #CC0033}
#inner-title{
	width: 380px;
	margin-left: 55%;
	padding-top: 30px;
	padding-bottom: 30px;
}
#project .block-image{
	width: 50%;
	margin-top: -25%;
}
#project .block-text{width: 45%}
@media screen and (max-width:860px) {
#inner-title{width: 100%;}	
}
@media screen and (max-width:768px) {
#inner-title{
	margin-left: auto;
	margin-right: auto;
}	
#project .block-text{width: 100%}
#project .block-image{
	width: 100%;
	margin-top: 50px;
}	
}

/*提供アセット*/
#menu-1{
	background-color: #CC0033;
	color: #ffffff;
	text-align: center;
	padding-top: 10%;
	padding-bottom: 10%;
}
#menu-1 .title h3{
	width: 430px;
	margin-left: auto;
	margin-right: auto
}
#menu-1 #list-figure{margin-top:80px }
#menu-1 figure{width: 29.5%;}
#menu-1 figcaption,
#menu-1 figcaption p{font-size: 18px}
#menu-1 .text-caption{
	text-align: left;
	margin-top: 50px;
}
@media screen and (max-width:860px) {
#menu-1 figure{
	width: 51%;
	margin-left: auto;
	margin-right: auto;
}
#menu-1 figure:nth-child(2){
	margin-top: 80px;
	margin-bottom: 80px;
	}	
}
@media screen and (max-width:768px) {
#menu-1{text-align: left}
#menu-1 .title h3{width: 100%;}
#menu-1 figure{text-align: center!important}	
}
@media screen and (max-width:680px) {
#menu-1 figure{width:85%;}
#menu-1 figure img{
	width: 85%;
	margin-left: auto;
	margin-right: auto;
}	
}

/*about*/
section#main-category #menu-2 .title h2, 
section#main-category #menu-2 .title h3 {
    color: #CC0033;
}
section#main-category #menu-2 .title h2{
	border-bottom: 1px solid #D4D5D5;
	text-align: center
}
#menu-2 .title h3 {
    width: 430px;
    margin-left: auto;
    margin-right: auto;
}
#menu-2 .block-image{
	margin-top: 30px;
	margin-bottom: 50px;
}
#menu-2 .block-text{text-align: center;}
@media screen and (max-width:580px) {
#menu-2 .title h3 {width: 100%;}
}

/*スケジュール*/
#schedule{
	background-color: #EFEFEF;
	margin-bottom: 0px;
	padding-top: 80px;
	padding-bottom: 80px
}

/*エリア*/
#area{
	background-color: #D5D5D5;
	margin-bottom: 0px;
	padding-top: 80px;
	padding-bottom: 80px
}
section#main-category #area .title h3{
	color: #CC0033;
	text-align: left;
}
#area h4{text-align: center}
#area-main{
	border-top: 1px solid #D4D5D5;
	border-bottom: 1px solid #D4D5D5;
	margin-bottom: 30px
}
#area #btn-large a{
	display: block;
	color: #CC0033;
	border: 1px solid #CC0033;
	background-color: #ffffff;
	width: 700px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 100px;
	text-align: center;
	font-size: 24px;
	padding: 15px 10px;
	line-height: 1.5;
	background-image: url("../img/icon-arrow.svg");
	background-repeat: no-repeat;
	background-position: right 30px center;
	background-size: 5%;
	margin-top: 60px;
}
#area #btn-large a:hover{
	background-color:#CC0033; 
	color: #ffffff;
	background-image: url("../img/icon-arrow-wh.svg");
	animation: btn-hover ease-in .6s infinite alternate forwards;	
}
@keyframes btn-hover {
    0% {background-position: right 30px center;}
    100% {background-position: right 10px center;}
}
@media screen and (max-width:768px) {
#area .block-text{width: 100%}
#area .block-image{
	width: 100%;
	margin-top: 20px;
}	
#area #btn-large a{width: 100%;}
}
@media screen and (max-width:768px) {
#area h4{text-align: left}
#area .block-text p{text-align: left!important}	
}
@media screen and (max-width:680px) {
#area #btn-large a{
	font-size: 20px;
	border-radius: 10px;
	background-size: 10%;
	background-position: right 15px center;
	padding-right: 50px;
}
#area #btn-large a:hover{
	animation: btn-hover-sp ease-in .6s infinite alternate forwards;	
}	
}
@keyframes btn-hover-sp {
    0% {background-position: right 15px center;}
    100% {background-position: right 5px center;}
}	

/*コンテスト*/
#contest{
	background-color: #37B9E8;
	padding-top: 10%;
	padding-bottom: 10%
}
#contest .list-indent li{
	color: #ffffff;
	font-size: 20px
}
#bg-wh{
	background-color: #ffffff;
	margin-top: 80px;
	padding: 5%;
}
@media screen and (max-width:580px) {
#contest .list-indent li{font-size: 16px}	
}

/*Q&A*/
.accbox {margin-bottom: 60px;}
.accbox label {
	display: block;
	padding : 13px 3em 13px 3em;
	cursor : pointer;
	font-size: 20px;
	position: relative;
	text-indent: -2em;
	border: 1px solid #4D5156;
	background-color: #FFFFFF;
}
.accbox label:before {
	content: "Q.";
	margin-right: 10px
}
.accbox label:after {
	font-family: 'FontAwesome';
	content: "\f067";
	position: absolute;
	right: 15px;
	top: 50%;
	line-height: 0;
	transition: all 0.5s ease;
	text-indent: 0em;}
.cssacc:checked + label:after {
	content: "\f068";
	transform: rotate(180deg);}
.accbox input {display: none;}
.accbox .accshow {
	height: 0;
	margin-bottom: 30px;
	overflow-y: hidden;
	font-size: 18px;
	text-align: left;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;	
}
.cssacc:checked + label {}
.cssacc:checked + label + .accshow {
	height: auto;
	opacity: 1;
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #EBEBEB;
	border: 1px solid #4D5156;
	border-top: none;
}
.accshow ul li:before {
	content: "A.";
	margin-right: 10px	
}
.accbox .accshow li {
	margin: 5px 1em 5px;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 20px
}
@media screen and (max-width:680px) {
.accbox label{
	font-size: 18px;
	padding-left: 2.5em;
    text-indent: -1.5em;
}
.accbox .accshow li {
	font-size: 18px;
	padding-left: 1.5em;
    text-indent: -1.5em;
}
}

/*---------------------------------------------
	リスト
  ---------------------------------------------*/
.list-indent{margin-top: 50px}
.list-indent li{
	padding-left: 18px;
	text-indent: -18px;
	margin-bottom: 10px
}
@media screen and (max-width:768px) {

}

/*---------------------------------------------
	テーブル
  ---------------------------------------------*/
.tbl-list{width: 100%;}
.tbl-list th,
.tbl-list td{
	padding: 15px 0px;
	border-bottom: 1px solid #E2E2E2;
	vertical-align: middle;
	line-height: 2
}
.tbl-list th{
	font-size: 24px;
	color: #8E8E8E;
	width: 25%;
	font-weight: 700;
	vertical-align: top;
}
.tbl-list td span a{
	display: block;
	border: 1px solid #CC0033;
	margin-top: 5px;
	padding: 2px 8px;
	width: 200px;
    text-align: center;
	border-radius: 3px;
}
.tbl-list td span a:hover{
	background-color: #CC0033;
	color: #ffffff
}
.tbl-list tr:last-child th,
.tbl-list tr:last-child td{border-bottom: none;}
#tbl-inner{
	width: 100%;
	border-top: 1px solid #E2E2E2;
	border-bottom: 1px solid #E2E2E2;
	margin-top: 20px;
	margin-bottom: 20px;
}
#tbl-inner th,
#tbl-inner td{
	font-size: 16px;
}
#tbl-inner th{text-align: center}
#tbl-inner td.text-number{
	font-family: 'Inter', sans-serif;
	font-size: 30px;
	text-align: center
}
@media screen and (min-width: 769px){
#tbl-inner tr th:nth-of-type(1),
#tbl-inner tr td:nth-of-type(1),
#tbl-inner tr th:nth-of-type(3),
#tbl-inner tr td:nth-of-type(3){width: 10%}	
}
@media screen and (max-width: 768px){
.tbl-list th,
.tbl-list td{
	width: 100%;
	display: block;
}
.tbl-list th{
	border-bottom: none;
	padding-bottom: 0px;
}	
#tbl-inner th,
#tbl-inner td{
	display: table-cell !important;
	width: 50% !important;
	border-bottom: 1px solid #E2E2E2;
}	
#tbl-inner tr th:nth-of-type(1),
#tbl-inner tr td:nth-of-type(1),
#tbl-inner tr th:nth-of-type(3),
#tbl-inner tr td:nth-of-type(3){width: 20% !important}	
}	
@media screen and (max-width: 580px){
.tbl-list th{font-size: 20px;}
}

/*---------------------------------------------
	ボタン
  ---------------------------------------------*/
#btn-cp a{
	position: fixed;
	right: 0px;
	color: #ffffff;
	font-size: 25px;
	display: block;
	text-align: center;
	z-index: 3;
	background-color: #CC0033;
	border: 1px solid #ffffff;
	border-right: none;
	font-weight: bold;
	border-radius: 20px 0px 0px 20px;
	line-height: 1.8;
	padding: 15px 30px;
}
#btn-cp a span{
	display: block;
	font-size: 80%;
	border-top: 1px solid #ffffff;
}
@media screen and (max-width: 680px){
#btn-cp a {
}
}

/*リンクアイコン*/
a.btn{
	display: block;
	padding: 5px;
	border-radius: 3px;
	width: 250px;
	margin: 30px auto 0;
	border: 1px solid #ffffff;
	background-color: #ffffff;
	color: #CC0033;
}
a.btn:hover{
	background-color: #CC0033;
	color: #ffffff;
}
a.icon-link:after{
	content: "";
	background-image: url(../img/icon-link.png);
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: center center;
	width: 20px;
	height: 20px;
	display: inline-block;
	vertical-align: bottom
}
a.icon-link:hover:after{background-image: url(../img/icon-link-wh.png);}
a.icon-link-external:after,
a.icon-link-external-2:after{
	content: "";
	background-image: url(../img/icon-link-external.png);
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: center center;
	width: 20px;
	height: 20px;
	display: inline-block;
	vertical-align: bottom
}
a.icon-link-external:hover:after{background-image: url(../img/icon-link-external-wh.png);}
a.icon-link-external-2{
	color: #4D5156;
	border-bottom: 1px solid #4D5156
}
a.icon-link-external-2:after{
	background-image: url(../img/icon-link-external-gy.png);
	vertical-align: middle;
}
a.icon-link-external-2:hover{
	color: #CC0033;
	border-bottom: 1px solid #CC0033
}
a.icon-link-external-2:hover:after{background-image: url(../img/icon-link-external.png);}
@media screen and (max-width: 768px) {
#btn-cp a{font-size: 25px;}	
}
@media screen and (max-width: 680px){
a.btn{width: 100%;}
}

/*---------------------------------------------
	フッター
  ---------------------------------------------*/
footer{
	background-color: #ffffff;
	padding-top: 50px;
	padding-bottom: 30px;
}
#footer-inner{
	width: 960px;
	margin-left: auto;
	margin-right: auto
}
footer #footer-logo{width: 300px}
footer .container-flex{
	align-items: center;
	margin-bottom: 30px;
}
footer ul{display: flex}
footer ul li{color: #767676}
footer ul li a{
	color: #767676 !important;
	font-size: 14px;
}
footer ul li a:hover { color: #CC0033 !important;}
footer ul li:after{
	content: "｜";
	margin-left: 10px;
	margin-right: 10px
}
footer ul li:last-of-type:after{
	content: "";
	margin-left: 0px;
	margin-right: 0px
}
#copyright{
	color: #A5A5A5;
	font-size: 13px;
	text-align: center;
}
@media screen and (max-width: 800px){
#footer-inner{width: 100%;}
}
@media screen and (max-width: 768px){
footer #footer-logo{
	width: 80%;
	margin-left: auto;
	margin-right: auto;
}	
footer ul{display: none}
}


/* -----------------------------------
    ページトップ
   ----------------------------------- */
#page-top {
	position: fixed;
	bottom: 10px;
	right: 10px;
	opacity: 1;
	display: block;
	z-index: 5;
	width: 50px;
	height: 50px;
	background-image: url(../img/icon-pagetop.svg);
	background-repeat: no-repeat;
	background-size: cover;
}
@media screen and (max-width:680px) {
#page-top {bottom: 20px !important;}	
}

/* -----------------------------------
    アニメーション
   ----------------------------------- */
.fuwa{opacity: 0}
.anime-fuwa {animation: fuwatAnime 1s ease .35s forwards;}
@keyframes fuwatAnime {
 0% { opacity: 0; 
	 transform: translateY(40px); }
 100% { opacity: 1; 
	 transform: translateY(0px); }
}

.fade,
.fade-2{opacity: 0}
.anime-fade {animation: fadeAnime .5s ease .35s forwards;}
.anime-fade-2 {animation: fadeAnime .5s ease .85s forwards;}
@keyframes fadeAnime {
 0% { opacity: 0; 
	 transform: translateY(40px); }
 100% { opacity: 1; 
	 transform: translateY(0px); }
}

/* -----------------------------------
    採択
   ----------------------------------- */
#saitaku{
    background-color: #37B9E8;
    padding: 70px 0;
    background-image: url(../img/bg-image-03.png);
    background-repeat: no-repeat;
    background-size: 100px auto;
    background-position: right 10px bottom 10px;
}
#saitaku-image{
	width: 1200px;
	margin: auto
}
.block-project{
    width: 1080px;
    margin: 150px auto auto;
    background-color: #FFFFFF;
    position: relative;
    padding: 20px;
    color: #8E8E8E
}
.inner{
    border: 4px solid #37B9E8;
    padding: 50px 60px;
}
#project-01:before {
    content: "";
    background-image: url(../img/bg-image-01.png);
    background-repeat: no-repeat;
    background-size: 100px auto;
    width: 100px;
    height: 200px;
    display: block;
    position: absolute;
    left: -10%;
	bottom: -150px
}
#project-01:after {
    content: "";
    background-image: url(../img/bg-image-02.png);
    background-repeat: no-repeat;
    background-size: 100px auto;
    width: 100px;
    height: 200px;
    display: block;
    position: absolute;
    right: -10%;
	bottom: 50px;
}
.block-project h2{
	position: absolute;
	width: 250px;
	height: 60px;
	background-color: #ffffff;
	top: -60px;
	left: 0;
	font-size: 34px;
	text-align: center;
	color: #37B9E8;
	font-family: 'Inter', sans-serif;
}
.block-project h3{
    color: #37B9E8;
    font-size: 55px;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
	font-feature-settings: "palt";
}
.block-project h3 span{
    font-size: 28px;
    display: block;
}
.block-project h4{
    font-size: 18px;
    color: #555555;
    text-align: center;
	font-weight: bold
}
.block-project table{width: 100%}
.block-project table th,
.block-project table td{
    font-size: 18px;
    padding: 20px 5px;
    border-bottom: 1px solid #E2E2E2;
    vertical-align: middle;
}
.block-project table th{font-weight: bold}
.block-project table td{padding-left: 20px}
.block-project table td a{color: #8E8E8E;}
.block-project table td a:hover{color: #CC0033;}
#project-01 .tit{
	width: 720px;
	margin: auto
}
#project-02 .tit{
	width: 450px;
	margin: auto
}
a.icon-external{
    background-image: url(../img/icon-external.png);
    background-size: 15px auto;
    background-position: right center;
    background-repeat: no-repeat;
    padding-right: 20px;
}
a.icon-external:hover{background-image: url("../img/icon-external-hover.png");}
.block-project h3 span.br-sp{display: none !important}
@media screen and (max-width:1200px) {
#saitaku-image{width: 95%;}
.block-project{width: 90%;}
}
@media screen and (max-width:980px) {
.inner {padding: 25px 30px;}	
#project-01 .tit {width: 90%;}	
#project-02 .tit {width: 70%;}	
.block-project h3{font-size: 45px;}	
.block-project h3 span{font-size: 60%;}	
}
@media screen and (max-width:768px) {
#saitaku{background-image: none;}	
#project-01:before,
#project-01:after{
    display: none
}
.block-project h2{
	width: 200px;
	height: 50px;
	font-size: 27px;
	top: -50px;
}	
.block-project h3{font-size: 35px;}		
.block-project table th,
.block-project table td{
	width: 100%;
	display: block}	
.block-project table td{padding-left: 5px}	
.block-project h3 span.br-sp{display: inline !important}
}
@media screen and (max-width:680px) {
.block-project{
	padding: 15px;
	margin-top: 100px
}	
.inner {
	padding: 15px;
	border: 2px solid #37B9E8;
}		
.block-project h3{font-size: 25px;}		
.block-project h4{font-size: 16px;}	
.block-project table th,
.block-project table td{
    font-size: 16px;
    padding: 10px 5px;
}
}

