@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
}

html {
	height: 100%;
	font-size: 62.5%;
}
body {
	font-family:"Noto Sans JP","游ゴシック体",YuGothic,"游ゴシック","Yu Gothic","ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,Arial,Meiryo,sans-serif;
    font-size: 1.6rem;
    line-height: 2.0;
    font-weight: 400;
    color: #333;
    word-wrap: break-word;
	margin : 0;
	padding : 0;
	-webkit-text-size-adjust: 100%;
}
a { 
	text-decoration : none;
}
a:hover {
	text-decoration : none;
}
img {
	border: 0;
}

/*背景*/
.bg{
/*	background-image: linear-gradient(#077bc6 0,#3f9fdb 70%,#2fb4e0 100%); */
	width: 100vw;
	min-height: 100vh;
	height: 100%;
	position: fixed;
	z-index: -5;
	top: 0;
	left: 0;
	min-width: 860px;
}
.bgimg{
/*	background:url(../images/bg.png); */
	background-position:center center;
	opacity: 0.3;
	width: 100vw;
	min-height: 100vh;
	height: 100%;
	position: fixed;
	z-index: -4;
	top: 0;
	left: 0;
	min-width: 860px;
}
@media screen and (max-width:768px) { 
.bg{
	background-image:none;
}
.bgimg{
	background:none;
}
}

/* 共通 */
#wrapper {
	margin: 0 auto;
	padding: 0;
	background-color: #fff;
	width: 860px;
	height: 100%;
    min-height: 100vh;
    position: relative;

	border-right: 1px solid #333;
	border-left: 1px solid #333;
	border-bottom: 1px solid #333;
	border-top: 1px solid #333;

}
body > #wrapper {
	height: auto;
}

/* ヘッター */
header {
	width : 860px; 
}
header h1{
    text-align: center;
    margin: 0 auto;
}
header h1 img{
/*    height: 90px;
    margin-top: 35px; */
    padding-bottom: 0px; /* 30 */
}
@media screen and (max-width:768px) { 
#wrapper {
	width: 100%;
    border:none;
/*    padding-top:60px; */
}
header{
    padding: 0;
/*    position: fixed; */
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.8);
    height: 60px!important;
/*    border-bottom: solid 1px #ddd; */
    z-index: 999;

}
header h1 img{
    height: 90%;
/*    margin-top: 18px; */
    width:90%;
    margin-bottom: 18px;
    padding-bottom: 0px;
}
}

/* マージン調整 */
.mgBtm20 {
    margin-bottom: 20px;
}
.mgBtm30 {
    margin-bottom: 30px;
}
.mgLft30 {
    margin-left: 30px;
}
.mgRgt30 {
    margin-left: 30px;
}

/* 頭出し */
#pagetop {
	position: fixed;
	bottom: -110px;
	right: 20px;
	z-index: 999;
    transition: 0.5s;
	background-image: linear-gradient(to right,#34d1be 0%,#3bccbd 100%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 60px;
	height: 60px;
}
#pagetop span{
	content: "";
	display: block;
	width: 14px;
	height: 14px;
	border-top: solid 5px #fff;
	border-right: solid 5px #fff;
	transform: rotate(-45deg);
	position: relative;
	top: 5px;
}
#pagetop:hover {
    opacity: 0.7;
}
@media screen and (max-width:768px){
#pagetop {
	position: fixed;
	bottom: -70px;
	right: 18px;
	z-index: 999;
    transition: 0.5s;
	background-image: linear-gradient(to right,#e15e8a 0%,#e15e8a 100%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
}
#pagetop span{
	content: "";
	display: block;
	width: 15px;
	height: 15px;
	border-top: solid 4px #fff;
	border-right: solid 4px #fff;
	transform: rotate(-45deg);
	position: relative;
	top: 3px;
}
}

/* フッター */
footer {
	margin: 0;
	width : 100%;
    position: sticky;
    top: 100vh;
	line-height:1.2;
	background-color:#1E256A; /* #005BA7; */
	color:white;
}
footer a{
	color:white;
}

/*
*/

main {
   margin-bottom: 0px;
}
@media screen and (max-width:768px){
main {
   margin-bottom: 10px;
}
}



/* ************************************ */
/* 参加登録画面                         */
/* ************************************ */

section#formBox {
    margin: 0 auto;
	width : 90%;
/*	width : 800px */;
    overflow: hidden;
}
section#formBox h3{
	font-weight: bold;
	font-size: 2.6rem;
/*	border-left: 8px solid #0f53ad;
	border-bottom: 1px solid #0f53ad; */
	padding: 0 8px 4px;
	margin: 0 0 0px;
        width: 100%;
	text-align:center;
}
section#formBox dl.formCate {
    margin-bottom: 10px;
    display: table;
    width: 100%;
}
section#formBox dl.formCate dt {
    padding-left: 7px;
    padding-top:3px;
    padding-bottom:3px;
    display: block; /* table-cell; */
    vertical-align: middle;
    background: #1A256A1A;   /* #E0FFFF; */
    font-weight: bold;
	line-height: 1.3;
    font-size:1.7rem;
    color: #1E256A; /* #003C88 */
}
section#formBox dl.formCate dd {
/*    width:81%; */
    display: block; /* table-cell; */
    vertical-align: middle;
    padding: 0 2%;
}
section#formBox dl.formCate dd .flexBox {
    display:flex;
}
section#formBox dl.formCate dd .formItem {
    padding:0 10px 0 0;
}
section#formBox dl.formCate dd .formItem p.note {
    font-size: 1.2rem;
    color: #1571b1;
}
section#formBox dl.formCate dd .formItem p.noteRed {
    font-size: 1.4rem;
    color: #f00;
}
section#formBox dl.formCate dd .formItem p.noteBlack {
    line-height: 1.4;
    font-size: 1.4rem;
    color: #333;
}
section#formBox dl.formCate dd .formItem span.stl {
    font-weight: bold;
}
section#formBox dl.formCate dd input {
	box-sizing: border-box;
    padding: 0.2em;
    border: 1px solid #b6b6b6;
    border-radius: 4px;
}
section#formBox dl.formCate dd input.short {
	width: 240px;
    border: 1px solid #333;
}
section#formBox dl.formCate dd input.middle {
	width: 490px;
    border: 1px solid #333;
}
section#formBox dl.formCate dd input.long {
	width: 100%;
    border: 1px solid #333;
}
section#formBox dl.formCate dd p.total {
    padding-top: 5px;
	padding-bottom: 8px;
	line-height:1.3;
    border-top: 1px dotted #ccc;
    font-size: 1.6rem;
    font-weight: bold;
}
section#formBox dl.formCate dd dl {
    margin-bottom: 25px;
    display: table;
    width: 100%;
}
section#formBox dl.formCate dd dl dt {
    padding-left: 0;
    display: table-cell;
    vertical-align: middle;
    width: 4%;
    background: #fff;
}
section#formBox dl.formCate dd dl dd {
    width:96%;
    display: table-cell;
    vertical-align: middle;
    padding: 0;
}
section#formBox dl.formCate dd dl dd ul li {
   line-height: 1.3;
   padding-bottom: 1px; /* 5px */
}
section#formBox dl.formCate dd dl dd ul li.category {
   font-weight: bold;
}
section#formBox dl.formCate dd dl dd ul li.price {
   font-size: 1.6rem;
}



section#formBox #btnArea {
margin-top: 45px;
margin-bottom: 15px;
	width: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
}
section#formBox #btnArea p a {
	margin: 0 5px;
    padding-bottom: 2px;
	width:180px;
	height: 46px;
	border-radius: 3px;
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
    background: #0F53AD;
    border: #0F53AD 3px solid;
    transition: all 0.4s;
    display: flex;
    justify-content: center;
    align-items: center;
}
section#formBox #btnArea p a:hover{
	color: #0F53AD;
	background-color: #fff;
}
@media screen and (max-width:768px){
section#formBox {
	width : 100%;
	border: none;
}
section#formBox dl.formCate {
	display: block;
}
section#formBox dl.formCate dt {
	margin-bottom: 0;
    padding: 7px 0 7px 5px;
	width : 100%;
    display: block;
    font-size: 1.6rem;
    border-bottom: 2px solid #a5d1cb;
    border-top: none;
    border-left: none;
    border-right: none;
    box-sizing: border-box;
}
section#formBox dl.formCate dd {
	margin: 0 auto 20px;
	padding: 5px 0 20px;
	width: 95%;
    display: block;
	border:none;
}
section#formBox dl.formCate dd .flexBox {
    display: block;
}
section#formBox dl.formCate dd input.short {
	width: 100%;
}
section#formBox dl.formCate dd input.middle {
	width: 100%;
}
section#formBox dl.formCate dd input.long {
	width: 100%;
}
section#formBox dl.formCate dd dl dt {
	padding: 7px 5px 7px 0;
    border: none;
}
}
@media screen and (max-width:480px) {
section#formBox dl.formCate dd input.short {
	width: 330px;
}
section#formBox dl.formCate dd input.middle {
	width: 330px;
}
section#formBox dl.formCate dd input.long {
	width: 330px;
}
section#formBox #btnArea p a {
	width:160px;
}
}
@media screen and (max-width:360px) {
section#formBox dl.formCate dd input.short {
	width: 300px;
}
section#formBox dl.formCate dd input.middle {
	width: 300px;
}
section#formBox dl.formCate dd input.long {
	width: 300px;
}
section#formBox #btnArea p a {
	width:140px;
}
}


/* 進捗Box */
section#stepBox {
	margin: 10px auto 20px;
	width : 90%;
/*	width : 1060px; */
    overflow: hidden;
}
section#stepBox ul{
	display: flex;
    float: right;
}
section#stepBox ul li{
	margin: 0 8px;
    font-size: 1.7rem;
    color: #ccc;
    line-height:1.2; /* by Fujita */
}
section#stepBox ul li.current {
    color: #0f53ad;
    font-weight: bold;
}
section#stepBox ul li.visited {
    color: #999;
}
section#stepBox ul li i{
	margin-right: 3px;
}
@media screen and (max-width:768px){
section#stepBox {
/*	width : 97%; */
	display: none;
}
}


/* ************************************ */
/* 登録完了画面                         */
/* ************************************ */

section#completeBox {
    margin: 0 auto;
	width : 93%;
    overflow: hidden;
}
section#completeBox h3{
	font-weight: bold;
	font-size: 2.6rem;
	padding: 0 8px 4px;
	margin: 0 0 0px;
        width: 100%;
	text-align:center;
}
section#completeBox dl.formCate {
    margin-bottom: 10px;
    display: table;
    width: 100%;
}
section#completeBox dl.formCate dt {
    padding-left: 10px;
    width: 12%; /*  15%  */
    display: table-cell;
    vertical-align: middle;
    background: #fff;   /* e3f0f7  */
    font-weight: bold;
	line-height: 1.3;
}
section#completeBox dl.formCate dd {
    width:81%;
    display: table-cell;
    vertical-align: middle;
    padding: 0 2%;
}
section#completeBox dl.formCate dd .flexBox {
    display:flex;
}
section#completeBox dl.formCate dd .formItem {
    padding:0 10px 0 0;
}
section#completeBox dl.formCate dd .formItem span.stl {
    font-weight: bold;
}
section#completeBox dl.formCate dd .formItem p.data {
    font-weight: normal;
    color:#333; /* #3D6C4F */;
    padding-left:12px;
}

section#completeBox dl.formCate dd dl {
    margin-bottom: 25px;
    display: table;
    width: 100%;
}
section#completeBox dl.formCate dd dl dt {
    padding-left: 0;
    display: table-cell;
    vertical-align: middle;
    width: 4%;
    background: #fff;
}
section#completeBox dl.formCate dd dl dd {
    width:96%;
    display: table-cell;
    vertical-align: middle;
    padding: 0;
}


@media screen and (max-width:768px){
section#completeBox {
	width : 100%;
	border: none;
}
section#completeBox dl.formCate {
	display: block;
}
section#completeBox dl.formCate dt {
	margin-bottom: 0;
    padding: 7px 0 7px 5px;
	width : 100%;
    display: block;
    font-size: 1.6rem;
    border-bottom: 2px solid #a5d1cb;
    box-sizing: border-box;
}
section#completeBox dl.formCate dd {
	margin: 0 auto 20px;
	padding: 5px 0 20px;
	width: 95%;
    display: block;
}
section#completeBox dl.formCate dd .flexBox {
    display: block;
}
section#completeBox dl.formCate dd dl dt {
	padding: 7px 5px 7px 0;
    border: none;
}
}



/* 必須アイコン */
.mustIcon {
	margin-right: 4px;
	padding: 1px 2px 1px 4px;
	font-size: 1.6rem;
	color: #f00;
	border-radius: 4px;
}