@charset "utf-8";
/* CSS Document */


/*------------------------------------------------
   anime style
--------------------------------------------------*/
@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-moz-keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes loading {
  0% {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

/*------------------------------------
loading
-------------------------------------*/

.loadingWrap {
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.8);
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
   -webkit-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;
}
.loadingWrap .loading {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 60px;
  height: 60px;
  border-radius: 100%;
  margin: -30px 0 0 -30px;
  border-top: 5px solid rgba(255, 255, 255, 0.2);
  border-right: 5px solid rgba(255, 255, 255, 0.2);
  border-bottom: 5px solid rgba(255, 255, 255, 0.2);
  border-left: 5px solid #fff;
  -webkit-transform: translateZ(0);
  -moz-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: loading 1s linear 0s infinite normal;
  -moz-animation: loading 1s linear 0s infinite normal;
  animation: loading 1s linear 0s infinite normal;
}

.loadingWrap.fadeOut {
  opacity: 0;
  visibility: hidden;
}

/*-----------------------------------

common

------------------------------------*/
#cs-special * {
    box-sizing: border-box;
}
#cs-special img {
    max-width: 100%;
    height: auto;
}
#contents {
	padding: 0 20px;
}
.desc-ttl {
    font-size: 31px;
    color: #e60012;
    text-align: center;
    margin: 0 0 30px;
    position: relative;
    text-shadow: 3px 3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, -3px -3px 0 #fff;
}
.desc-ttl:before,
.desc-ttl:after {
    content: '';
    display: inline-block;
    background: #e60012;
    border: solid 3px #fff;
    width: 60px;
    height: 2px;
    vertical-align: 8px;
}
.desc-ttl:before {
	margin-right: 20px;
}
.desc-ttl:after {
	margin-left: 20px;
}

.present-txt {
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    color: #d61518;
    line-height: 2;
    letter-spacing: -1px;
    margin-bottom: 30px;
    text-shadow: 3px 3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, -3px -3px 0 #fff;
}
.present-txt .font-1 {
	font-size: 30px;
}
.present-txt .font-2 {
	font-size: 26px;
}
.present-txt .font-3 {
	font-size: 25px;
}

.desc-present {
    margin-bottom: 100px;
}
.desc-present table {
    width: 100%;
    font-size: 22px;
    font-weight: bold;
	margin: 0 auto 50px;
	border-collapse: collapse;
	border: solid 1px #e60012;
}
.desc-present table th {
    color: #fff;
    text-align: center;
    padding: 10px 5px;
    background: #e60012;
}
.desc-present table td {
	color: #e60012;
	padding: 10px;
	background: #fff;
	text-shadow: 3px 3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, -3px -3px 0 #fff;
}
.desc-present table td b {
	font-size: 28px;
}

.cs-btns {
	padding: 0 10px;
	margin-bottom: 30px;
}
.cs-btns .to-check {
	display: block;
	max-width: 475px;
	margin: 0 auto 40px;
}
.cs-btns .to-back,
.cs-btns .to-back_2 {
	display: block;
	margin: 0 auto;
}
.cs-btns .to-back {
	max-width: 400px;
}
.cs-btns .to-back_2 {
	max-width: 400px;
}

/*-----------------------------------

cs-check

------------------------------------*/
#cs-check-wrap {
    padding: 60px 20px;
    margin: 0 auto 50px;
    text-align: center;
    background: rgba(255, 255, 0, 0.2);
    position: relative;
    border: solid 6px #e60012;
}
.cs-check-ttl {
    text-align: center;
    margin: 30px auto 40px;
}
.cs-check-q-wrap {
	display: none;
}
.cs-check-q {
	color: #e60012;
	text-align:center;
	font-size: 36px;
	font-weight: bold;
	margin: 0 auto 40px;
}
.cs-check-a {
    text-align: center;
    display: flex;
    justify-content: center;
}
.cs-check-a li {
    display: inline-block;
    margin: 0 40px;
	cursor:pointer;
}
.cs-check-a li:hover {
    opacity: 0.7;
}


/*-----------------------------------

result

------------------------------------*/
#cs-result-wrap {
    padding: 60px 20px;
    margin: 0 auto 50px;
    text-align: center;
    background: rgba(255, 255, 0, 0.2);
    position: relative;
    border: solid 6px #e60012;
}
.cs-result-ttl {
    text-align: center;
    margin: 30px auto 40px;
}
.cs-result-subttl {
    font-size: 32px;
    font-weight: bold;
    color: #e60012;
    margin: 0 0 30px;
    text-align: center;
}
.charaImg {
	margin: 0 0 20px;
}
.type-name {
	margin-bottom: 20px;
	text-align: center;
}
.type-desc {
    font-size: 30px;
    font-weight: bold;
    line-height: 2;
    color: #e60012;
    text-align: center;
}

#cs-content-info .top .btn-tw {
	display: block;
	max-width: 543px;
	margin: 0 auto 40px;
}


.more-info-txt {
    text-align: center;
    margin-bottom: 30px;
}
.more-info-txt a {
    font-size: 30px;
    font-weight: bold;
    color: #006bc6;
    text-shadow: 3px 3px 0 #fff, -3px 3px 0 #fff, 3px -3px 0 #fff, -3px -3px 0 #fff;
    position: relative;
}
.more-info-txt a:after {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #006bc6;
    position: absolute;
    left: 0;
}

/*-----------------------------------

media query

------------------------------------*/
@media screen and (max-width: 812px) {

	.desc-ttl {
	    margin: 0 0 30px;
	}
	.desc-ttl:before,
	.desc-ttl:after {
        display: none;
	}

    .present-txt {
       font-size: 16px;
       padding: 0 15px;
       text-align: left;
    }
    .present-txt .font-1 {
		font-size: 24px;
	}
    .present-txt .font-2 {
		font-size: 20px;
	}
    .present-txt .font-3 {
		font-size: 20px;
	}

	.desc-present {
	    margin: 0 15px 50px;
	}
	.desc-present table th,
	.desc-present table td {
		width: 100%;
		float: left;
	}
	.desc-present table td {
	    text-align: center;
	    line-height: 1.7;
	}

	/*-----------------------------------
	cs-check
	------------------------------------*/
    .cs-check-q {
        font-size: 24px;
    }
    .cs-check-a li {
        margin: 0;
    }

	/*-----------------------------------
	result
	------------------------------------*/
	.cs-result-ttl {
	}
    .type-name {
		font-size: 32px;
		width: 280px;
		line-height: 60px;
	}
    .type-name span{
        font-size: 24px;
	}
    .type-desc {
        font-size: 20px;
        text-align: left;
    }
}
