@charset "utf-8";

#contents{
	background: #fff;
    font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	color: #333;
	text-align: center;
	padding: 0;
	font-size: 14px;
	line-height: 1.6;
}

#contents .inner {
	width: 100%;
}

.display-sp {
	display: none;
}
.display-pc {
	display: block;
}
.stxt{
    font-size:87%;
}

/* ============== MV =================== */
.mv{
background: #88d9ed;
background: linear-gradient(to bottom, #88d9ed 0%,#88d9ed 452px,#ffed9f 444px); 
margin-bottom:30px;
}
.mv img{
	margin: auto;
}
.mv-term{
	position: relative;
	background:#67ac27;
	margin: auto;
	height:65px;
}
.mv-term img{
	position: absolute;
	top:50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%);
	-moz-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	-o-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
a {
	color: #2473b3;
	text-decoration: underline;
}



/* =========== 注釈 ============= */

.tt-2 {
    margin: 35px auto 13px;
	font-size: 23px;
    font-weight: 600;
    vertical-align: middle;
    color: #71290c;
    position: relative;
	line-height: 1;
}
.tt-2 span{
	padding-left: 18px;
}
.tt-2 span::before{
	content:"";
	background-color: #8fd4d8;
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 8px;
	position: absolute;
	top:3px;
	left:0;
}

.tt-2:first-child {
	margin-top: 45px;
}
 
.att-area .example .arrow {
	margin: 9px auto -13px;
    display: block;
}
.att-area .example {
    border: solid 1px #f74d61;
    padding: 0 3% 2%;
    width: 85%;
    margin: 2% auto -1%;
}
.att-area {
    width: 90%;
    max-width: 900px;
    box-sizing: border-box;
    margin: 0 auto 44px;
    position: relative;
	text-align: left;
}

/* ================= テキスト ====================== */

.hp-att-area h3 img {
	margin: 0 auto;
}

.cp-detail-att-text {
	display: block;
	padding-left: 1em;
	text-indent: -1em;
	margin: 0px;
}

.list-notes li{
	padding-left: 1em;
	text-indent: -1em;
}
p.tapatt{
    margin: 10px 10px 0;
    text-align: left;
    line-height: 1.5;
}
/* ================= ボタン周り ====================== */

.btn-entry {
	max-width:730px;
	width:90%;
	margin:15px auto 0;
}
.btn-entry img{
	text-align: center;
	margin-top: 10px;
}
.btn-entry a {
	width:100%;
}
.entry-att {
	text-align: center;
	margin: 5px 0 45px;
}
.btn-entry a :hover {
    opacity: 0.8;
}

/*終了テキスト*/
.entry-fin-text {
	color: #FF1D1D;
	font-size: 26px;
	font-weight: bold;
}

/* appDownload=============================*/
.appDownload {
	background: #f29da0;
    padding: 30px 0 32px;
}
.appDownload .display-pc{
     overflow: hidden;
    width: 95%;
    max-width: 905px;
    margin: auto;
}
.appDownload h3 img {
  width:76%;
  margin: 0 auto 5%;
}
.appDownload .icon-txt {
    width: 56%;
    overflow: hidden;
    margin: 2% 4% 0 0;
}
.appDownload .icon {
    width:22%;
    float: left;
}
.appDownload .txt {
    width:70%;
    margin: 3px 0 2%;
}
.appDownload .qr-area {
    overflow: hidden;
    width: 40%;
}
.appDownload .qr-area div{
    width: 47%;
}
.appDownload .qr-area div:nth-child(2) {
    margin: 0 0 0 5%;
}
.DLbtn img {
    margin-top: 6px;
    width: 90%;
}

/* ================= エントリーステップ ====================== */
.join-step {
    background: #ceeff1;
    padding: 35px 0 40px;
}
.join-step .step-detail {
    width: 90%;
    max-width: 780px;
    margin: auto;
}
.join-step h3{
	    width: 60%;
    max-width: 500px;
    margin: 0 auto 2.3%;
}
.step-box {
    background: #fff7ce;
    border: 2px solid #463d38;
    border-radius: 10px;
    padding: 1% 0 2%;
    margin: 0 0 1%;
}
.step-box img{
    width: 100%;
}
.step-detail .helf{
    width: 48%;
    display: inline-block;
    margin-bottom: 2.4%;
}
.step-detail .step-box:nth-child(2){
   margin-left: 2%;
}
.arrow {
    width: 9%;
    margin: 2px auto 10px;
}

/*STEP3アコーディオン*/
.accordion {
    width: 80%;
    background: #fff;
    max-width: 860px;
    margin: 2% auto 0;
    position: relative;
    padding: 0;
   
}
.accordion ul {
	display: none;
	padding: 8px 15px 25px;
}
.accordion h4 {
    position: relative;
    cursor: pointer;
    font-size: 20px;
    color: #fff;
    font-weight: bold;
    vertical-align: middle;
}
.accordion h4 span:hover {
    background: #fee5e8;
}


.accordion h4 span {
    border-radius: 5px;
    display: block;
    width: 100%;
    padding: 6px;
    color: #f74d61;
    line-height: 1.4;
    border : solid 3px #f74d61;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
	text-align: center;
    transition:0.5s;
}
.accordion h4 span:before{
	content: "";
	position: absolute;
	top: 50%;
	left: 2%;
	width: 20px;
	height: 2px;
	background: #f74d61;
	transform: translateY(-50%);
    border:1px solid;
}
.accordion h4 span:after {
    position: absolute;
    left: 3.5%;
    content: "";
    color: #f74d61;
	top: 50%;
	/* 8px+12px-1px(幅2pxの半分) */
	right: 19px;
	width: 2px;
	height: 20px;
	background: #f74d61;
	transform: translateY(-50%);
	transition: .3s;
    border:1px solid;
}

.accordion h4 span.open {
    background: #f74d61;
    color: #fff;
    border : solid 3px #f74d61;
}
.accordion h4 span.open:before {
    background: #fff;
    z-index: 1;
}
.example li {
	margin-top: 10px;
	text-align: left;
}
.example .arrow {
	width: 48px;
	margin: 10px 0 -8px;
}
.example li {
	margin-top: 10px;
	text-align: left;
}
.example .arrow {
	width: 48px;
	margin: 10px 0 -8px;
}

/* ================= その他 ====================== */
.container-wrap #pagetop{
	padding-top: 10px;
}

.fl-l {
	float: left;
}

.fl-r {
	float: right;
}
.mT10 {
	margin-top: 10px;
}
.mT20 {
	margin-top: 20px;
}

.mT25 {
	margin-top: 25px;
}

.mT30 {
	margin-top: 30px;
}
.txt-l {
    text-align: left;
}
.red_txt {
	color: #f74d61;
}
.bold {
	font-weight: bold;
}

/* ================= SP ====================== */

@media screen and (max-width: 767px) {
	.display-pc {
		display: none;
	}
	.display-sp {
		display: block;
	}
	#contents {
		font-size: 1.3rem;
		line-height: 1.6;
	}
    /* ============== MV =================== */
.mv{
margin-bottom:20px;
}
    /* =========== 注釈 ============= */

.tt-2 {
    margin: 8% auto 3%;
	font-size: 20px;
}
.tt-2 span::before{
	top:2px;
}

.tt-2:first-child {
	margin-top: 14%;
}
 
.att-area .example .arrow {
	margin:0 auto;
}
.att-area .example {
    padding: 0 3% 5%;
    width: 95%;
    margin: 2% auto 0;
}
.att-area {
    width: 94%;
    padding: 0 3% 6%;
    margin: 0 auto;
}
	.btn-entry {
		width: 90%;
		margin: 4% auto 0;
	}	
    .entry-att {
	margin: 5px 0 6%;
}
/*終了テキスト*/
	.entry-fin-text {
	font-size: 5vw;
}

.appDownload {
    padding: 8% 0 7%;
}
.appDownload h3 img {
  width:76%;
  margin: 0 auto 5%;
}
.appDownload .icon-txt {
    width: 94%;
    margin: 0 auto 4%;
}
.appDownload .icon {
    width:23%;
    float: left;
}
.appDownload .txt {
    width:72%;
    margin: 4% 0 0;
}
.app-btn-list li img{
    width: 70%;  
    margin: auto;
    }
    
/* ================= エントリーステップ ====================== */
.join-step {
    padding: 7% 0 8%;
}
.join-step .step-detail {
    width: 92%;
}
.join-step h3{
    width: 100%;
    margin: 0 auto 4%;
}
.step-box {
    border-radius: 10px;
    padding: 4% 0 4%;
    margin: 0 auto 1%;
    width: 96%;
}
.step-detail .helf{
    width: 96%;
    display: inline-block;
    margin-bottom: 0;
}
.step-detail .step-box:nth-child(2){
   margin: 3% 0 0;
}
.arrow {
    width: 20%;
    margin: -1% auto 3%;
}
.join-step p {
    margin-bottom: 10px;
}
	/*STEP3アコーディオン*/
.accordion {
    width: 95%;
}
.accordion ul {
	padding: 2% 3% 7%;
}
.accordion h4 span {
    padding: 4px;
	border-radius: 3px;
}
	.example li {
	margin-top: 3%;
}
.example .arrow {
	width: 15%;
	margin: 2% 0 1%;
}
	
.container-wrap #pagetop{
	padding-top: 6%;
}
}
@media screen and (max-width: 600px) {
    .accordion h4 span:after {
    position: absolute;
    left: 3.5%;
    content: "";
    color: #f74d61;
	top: 50%;
	/* 8px+12px-1px(幅2pxの半分) */
	right: 19px;
	width: 2px;
	height: 20px;
	background: #f74d61;
	transform: translateY(-50%);
	transition: .3s;
    border:1px solid;
}
}
    @media screen and (max-width: 450px) {
    .accordion h4 span:before{
	content: "";
	position: absolute;
	top: 50%;
	left: 1.5%;
	width: 18px;
	height: 2px;
	background: #f74d61;
	transform: translateY(-50%);
    border:1px solid;
}
.accordion h4 span:after {
    position: absolute;
    left: 4%;
    content: "";
    color: #f74d61;
	top: 50%;
	/* 8px+12px-1px(幅2pxの半分) */
	right: 19px;
	width: 2px;
	height: 20px;
	background: #f74d61;
	transform: translateY(-50%);
	transition: .3s;
    border:1px solid;
}

	}
