@charset "UTF-8";

/* ----------------------------------------------------------------------------
all style 
------------------------------------------------------------------------------- */
.tt-b{
	font-weight: bold;
}
img {
	max-width: none !important;
}
/* ----------------------------------------------------------------------------
pc style 
------------------------------------------------------------------------------- */
@media screen and (min-width:769px) { 
body{
	font-family:Lucida Grande, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height: 1;
}
/*-----------------------------------------------------
  このファイルに定義されている内容はすべて編集可能です。
-------------------------------------------------------*/
strong{ font-weight: bold; }
.inner{width: 80%; margin:0 auto;}
._pc{}
._sp{display:none;}
._note{font-size:14px; color:#333; text-align:left; position:relative; display:block; padding-left:1em;}
._note:before{content:"※"; font-size:14px; position:absolute; top:0; left:0;}
._first{float:left;}
._second{float:right;}
.clearfix {clear: both;}
/* header
----------------------------------------------------*/
#header {
	width: 100%;
	background-color: #fff;
	text-align: center;
}
#header .inner {
	padding: 16px 0 17px 0;
	text-align:left;
	display: inline-block;
	width: 80%;
	margin: 0 auto;}
#header .inner h1 {
	float: left;
	width:342px;
	height:33px;
}
#header .inner h1:hover{
	cursor: pointer;
}
/* header_btn
----------------------------------------------------*/
#header_btn {
	width: 192px;
	height: 33px;
	float: right;
	background-color:#f00;
	border-radius: 17px;
	position: relative;
	text-align: center;
}
#header_btn .head_entry_btn{
	font-size: 16px;
    font-weight: 700;
    text-align: center;
    line-height: 33px;
    color: #fff;
		text-decoration: none;
		display: block;
}
#header_btn .head_entry_arrow{
	position: absolute;
	top:50%;
	right:11%;
	transform: translateY(-50%) rotate(45deg);
	width:6px;
	height:6px;
	border-top:3px solid #fff;
	border-right:3px solid #fff;
}
#header_btn:hover{
	opacity: 0.8;
}
/* wall
----------------------------------------------------*/
#wall {
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
#wall .content_subject{
	margin:0 auto
}
#wall .content_subject .content_ttl{
	display: inline-block;
	color:#555;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.02em;
	position: relative;
}
#wall .content_subject .content_ttl:before{
	content: '';
	position: absolute;
	top: 8%;
	left: -22px;
	height: 38px;
	border-left: 3px solid #555;
	transform: rotate(-40deg);
}
#wall .content_subject .content_ttl:after{
	content: '';
	position: absolute;
	top: 8%;
	right: -22px;
	height: 38px;
	border-left: 3px solid #555;
	transform: rotate(40deg);
}
/*-- #wall class化 --*/
.wall {
	max-width: 960px;
	margin: 0 auto;
}
.wall .content_subject{
	margin:0 auto;
	text-align: center;
}
.wall .content_subject .content_ttl{
	display: inline-block;
	color:#555;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.02em;
	position: relative;
}
.wall .content_subject .content_ttl:before{
	content: '';
	position: absolute;
	top: 8%;
	left: -22px;
	height: 38px;
	border-left: 3px solid #555;
	transform: rotate(-40deg);
}
.wall .content_subject .content_ttl:after{
	content: '';
	position: absolute;
	top: 8%;
	right: -22px;
	height: 38px;
	border-left: 3px solid #555;
	transform: rotate(40deg);
}
/*top_keyvisual
----------------------------------------------------*/
#top_keyvisual {
	position: relative;
	width:  100%;
	margin: 0 auto 30px;
	overflow: hidden;
}
#top_keyvisual img{
	width: 100%;
}
/*present
----------------------------------------------------*/
#present {
	width:  100%;
	margin: 0 auto;
	margin-bottom: 40px;
	padding: 0;
	text-align: center;
}
#present img{
	width:100%;
	height:auto;
}
/*step
----------------------------------------------------*/
#step {
	height: auto;
	margin: 30px auto 40px;
	display: inline-block;
}
#step ul {
	margin-bottom: 30px;
	display:flex;
}
#step li {
	width: 466px;
	margin-right: 28px;
	padding-bottom: 15px;
	text-align: center;
	border: 8px solid #eeeeee;
	-moz-border-radius: 26px;
	-webkit-border-radius: 26px;
	border-radius: 26px;
	box-sizing: border-box;
	float: left;
}
/* ----stepが3つの時のstyle-------- */
#step li.row_three{
	width: 300px;
	padding-bottom: 0px;
}
@media all and (max-width:957px) {
	#step li.row_three{
		width: calc((100% - 60px)/3);
	}
}/* ----stepが3つの時のstyle end------- */
#step li:last-of-type {
	margin-right: 0px;
}
#step li p.ttl {
	margin-bottom: 15px;
	padding-bottom: 7px;
	background: #eeeeee;
}
#step li p.ttl img{
	width:151px;
	height:43px;
}
#step li span.b_copy {
	display: block;
	width: 94%;
	margin: 0 auto;
	margin-bottom: 15px;
	font-size: 20px;
	line-height: 1.4em;
	color: #555555;
}
#step li span.s3_copy {
	display: block;
	width: 94%;
	margin: 0 auto;
	font-size: 24px;
	line-height: 1.4em;
	color: #555555;
}
#step li span.cup {
	display: block;
	width: 94%;
	margin: 0 auto;
	margin-top: 5px;
	font-size: 16px;
	line-height: 1.4em;
	color: #555555;
}
#step li a img.btn_twitter {
	margin-top: 28px;
	margin-bottom: 30px;
}
#step li img.btn_negai {
	margin-bottom: 20px;
}
#step li a img.btn_twitter {
	width: 80%;
	height: auto;
}
#step li img.btn_negai {
	width: 90%;
	height: auto;
}
/*sidebar
----------------------------------------------------*/
#sidebar {
	width: 100%;
	display: inline-block;
	margin-top: -30px;
	margin-bottom: 60px;
}
#nav {
	width: 100%;
	z-index: 9999;
}
#entry_btn {
	width: 500px;
	height: 86px;
	margin: 0 auto;
}
#entry_btn img{
	width:100%;
	height:auto;
}
body.fixed  #nav{
	position: fixed;
	padding: 10px 0;
	top: 0px;
	background: rgba(255,255,255,0.8);
}

body.fixed #step {
  margin-bottom: 140px;
}
/*spec
----------------------------------------------------*/
#spec {
	max-width: 844px;
	margin: 0 auto;
	margin-top: 30px;
	margin-bottom: 30px;
	padding: 30px 30px 15px 30px;
	text-align: left;
	background: #eeeeee;
	box-sizing: border-box;
	position: relative;
}
#readmore-wrap {
	display: none;
}
#readmore-wrap {
	position: relative;
	overflow: hidden;
	height: auto;
	padding-bottom: 50px;
	background: #eeeeee;
	text-align: left;
	box-sizing: border-box;
}
#spec::before {
	display: block;
	position: absolute;
	bottom: 80px;
	left: 0;
	content: "";
	width: 99.4%;
	height: 50px; /*グラデーションで隠す範囲*/
	background: -webkit-linear-gradient(top, rgba(238,238,238,0) 0%, rgba(238,238,238,0.9) 50%, rgba(238,238,238,0.9) 50%, #eeeeee 100%);
	background: linear-gradient(rgba(238, 238, 238, 0), rgba(238, 238, 238, .8), rgba(238, 238, 238, 1), rgba(238, 238, 238, 1));
}
#readmore-wrap::before {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 99.4%;
	height: 50px; /*グラデーションで隠す範囲*/
	background: -webkit-linear-gradient(top, rgba(238,238,238,0) 0%, rgba(238,238,238,0.9) 50%, rgba(238,238,238,0.9) 50%, #eeeeee 100%);
	background: linear-gradient(rgba(238, 238, 238, 0), rgba(238, 238, 238, .8), rgba(238, 238, 238, 1), rgba(238, 238, 238, 1));
}
#spec p.title,
#readmore-wrap p.title {
	font-size: 14px;
	color: #0d4a9d;
	line-height: 1.6em;
	font-weight: bold;
	margin-top: 15px;
	padding: 0;
}
#spec p,
#readmore-wrap p {
	font-size: 16px;
	color: #555555;
	line-height: 1.6em;
	padding: 0;
}
span #readmore-btn-open,
span #readmore-btn-close {
	display: block;
	text-align: center;
}
#page-top {
	position: fixed; 
	bottom: 20px; 
	right: 40px; 
	z-index:9999;
	background-color: #0d4a9d;
	border-radius: 50%;
}
#page-top .top_link{
	position: relative;
	display: block;
	width:50px;
	height:50px;
}
#page-top .top_link .top_arrow{
	position:absolute;
	top:42%;
	left:50%;
	transform:translateX(-50%) rotate(-45deg);
	border-top:2px solid #fff;
	border-right:2px solid #fff;
	width:12px;
	height:12px;
}
/** images **/
.images{ line-height: 0; font-size: 0; }
/** clear **/
.clear{ clear:both; }
.clearfix:after{ content:"."; display:block; height:0; clear:both; visibility:hidden; }
}
.g-footer {
	line-height: 1;
}
/** other(margin) **/
.mb-1rem{
	margin-bottom: 1rem;
}
.mb-2rem{
	margin-bottom: 2rem;
}

@media screen and (min-width: 769px) {
	.g-footer {
		text-align: center;
		padding-top: 20px;
	}
	.g-footer ul {
		width: 950px;
		margin: 0 auto 20px auto;
	}
	.g-footer li {
		display: inline-block;
		border-right: solid 1px #d1d1d1;
		font-size: 12px;
		padding: 0 8px;
		margin-top: 14px;
	}
	.g-footer li:nth-of-type(4) {
		border-right: none;
	}
	.g-footer li:last-child {
		border-right: none;
	}
	.g-footer li a {
		color: #1a1a1a;
		text-decoration: none;
	}
	.g-footer .copyright {
		background: #1a1a1a;
		color: #FFF;
		text-align: center;
		font-size: 12px;
		padding: 15px 0;
	}
	.g-footer small {
		color: #fff;
		font-size: 12px;
	}
}
/* ----------------------------------------------------------------------------
sp style 
------------------------------------------------------------------------------- */
@media screen and (max-width:768px) { 
	body {
		font-family: Hiragino Kaku Gothic ProN;
		line-height: 1;
		background-size: 100%;
	}
	/*-----------------------------------------------------
		このファイルに定義されている内容はすべて編集可能です。
	-------------------------------------------------------*/
	strong{ font-weight: bold; }
	.inner{width:100%;  margin:0 auto; padding:0 2%; box-sizing:border-box;}
	.inner img{width:100%;}
	._pc{display:none;}
	._sp{}
	._note{font-size:10px; color:#333; text-align:left; position:relative; display:block; padding-left:1em;}
	._note:before{content:"※"; font-size:10px; position:absolute; top:0; left:0;}
	._first{float:left;}
	._second{float:right;}
	/*header
	------------------------------------------------------------------------------------------------*/
	#header {
		padding: 9px 10px 8px 10px;
		text-align: left;
		background-color:#fff;
	}
	#header p {
		line-height: 0;
		font-size: 0;
	}
	#header .inner img {
		width:195px!important;
	}
	#header .inner h1{
		width:195px;
		height:auto;
	}
	#header .inner h1 img{
		width:100%;
		height:auto;
	}
	/* wall
	----------------------------------------------------*/
	#wall {
		width: 100%;
		margin: 0 auto;
		padding-top: 3%;
		padding-bottom: 6%;
		text-align: center;
	}
	#wall .content_subject{
		margin:0 auto;
	}
	#wall .content_subject .content_ttl{
		display: inline-block;
		color:#555;
		font-size: 22px;
		font-weight: 700;
		letter-spacing: 0.02em;
		position: relative;
	}
	#wall .content_subject .content_ttl:before{
		content: '';
    position: absolute;
    top: 8px;
    left: -16px;
    height: 22px;
    border-left: 2px solid #555;
    transform: rotate(-40deg);
	}
	#wall .content_subject .content_ttl:after{
		content: '';
    position: absolute;
    top: 8px;
    right: -16px;
    height: 22px;
    border-left: 2px solid #555;
    transform: rotate(40deg);
	}
	/*-- #wall class化 --*/
	.wall {
		width: 100%;
		margin: 0 auto;
		padding-top: 3%;
		padding-bottom: 6%;
		text-align: center;
	}
	.wall .content_subject{
		margin:0 auto;
	}
	.wall .content_subject .content_ttl{
		display: inline-block;
		color:#555;
		font-size: 22px;
		font-weight: 700;
		letter-spacing: 0.02em;
		position: relative;
	}
	.wall .content_subject .content_ttl:before{
		content: '';
    position: absolute;
    top: 8px;
    left: -16px;
    height: 22px;
    border-left: 2px solid #555;
    transform: rotate(-40deg);
	}
	.wall .content_subject .content_ttl:after{
		content: '';
    position: absolute;
    top: 8px;
    right: -16px;
    height: 22px;
    border-left: 2px solid #555;
    transform: rotate(40deg);
	}
	/*top_keyvisual
	----------------------------------------------------*/
	#top_keyvisual {
		width:  100%;
		height: auto;
		margin: 0 auto;
		margin-bottom: 15px;
		padding: 0;
		text-align: center;
	}
	#top_keyvisual img{
		width:100%;
		height:auto;
	}
	/*present
	----------------------------------------------------*/
	#present {
		width:  100%;
		height: auto;
		margin: 0 auto;
		margin-bottom: 15px;
		padding: 0;
		text-align: center;
	}
	#present img{
		width:100%;
		height:auto;
	}
	/*ttl
	----------------------------------------------------*/
	img.img_ttl {
		width: 80%;
		height: auto;
	}
	/*step
	----------------------------------------------------*/
	#step {
		height: auto;
		margin: 0 auto;
		margin-top: 15px;
		margin-bottom: -15px;
		display: inline-block;
	}
	#step ul {
		display:-webkit-box;
		display:-moz-box;
		display:-ms-flexbox;
		display:-webkit-flex;
		display:-moz-flex;
		display:flex;
		-webkit-box-lines:multiple;
		-moz-box-lines:multiple;
		-webkit-flex-wrap:wrap;
		-moz-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	#step li {
		width: 62%;
		margin: 0 auto;
		margin-bottom: 20px;
		padding-bottom: 15px;
		text-align: center;
		border: 8px solid #eeeeee;
		-moz-border-radius: 26px;
		-webkit-border-radius: 26px;
		box-sizing: border-box;
	}
	#step li p.ttl {
		margin-bottom: 15px;
		padding-bottom: 7px;
		background: #eeeeee;
	}
	#step li span.b_copy {
		display: block;
		width: 94%;
		margin: 0 auto;
		font-size: 16px;
		line-height: 1.4em;
		color: #555555;
		padding:10px;
	}
	#step li span.s3_copy {
		display: block;
		width: 94%;
		margin: 0 auto;
		font-size: 24px;
		line-height: 1.4em;
		color: #555555;
		padding:10px;
	}
	#step li span.cup {
		display: block;
		width: 94%;
		margin: 0 auto;
		margin-top: 5px;
		font-size: 13px;
		line-height: 1.4em;
		color: #555555;
	}
	#step li a img.btn_twitter {
		margin-top: 28px;
		margin-bottom: 30px;
	}
	#step li img.btn_twitter,
	#step li img.btn_negai {
		width: 80%;
		height: auto;
		margin-bottom: 10px;
	}
	/*sidebar
	----------------------------------------------------*/
	#sidebar {
		width: 100%;
		display: inline-block;
		margin-bottom: 0px;
		padding: 10px 0;
		position: fixed;
		bottom: 0px;
		left: 0px;
		background: rgba(255,255,255,0.8);
		z-index: 9999;
	}
	#nav {
		width: 100%;
	}
	#entry_btn {
		width: 92%;
		height: auto;
		margin: 0 auto;
	}
	#entry_btn img {
		width: 100%;
		height: auto;
	}
	/*spec
	----------------------------------------------------*/
	#spec {
		width: 92%;
		margin: 0 auto;
		margin-top: 0px;
		margin-bottom: 30px;
		padding: 15px 15px 15px 15px;
		text-align: left;
		background: #eeeeee;
		box-sizing: border-box;
		position: relative;
	}
	#readmore-wrap {
		display: none;
	}
	#readmore-wrap {
		position: relative;
		overflow: hidden;
		height: auto;
		padding-bottom: 50px;
		background: #eeeeee;
		text-align: left;
		box-sizing: border-box;
	}
	#spec::before {
		display: block;
		position: absolute;
		bottom: 80px;
		left: 0;
		content: "";
		width: 99.4%;
		height: 50px; /*グラデーションで隠す範囲*/
		background: -webkit-linear-gradient(top, rgba(238,238,238,0) 0%, rgba(238,238,238,0.9) 50%, rgba(238,238,238,0.9) 50%, #eeeeee 100%);
		background: linear-gradient(rgba(238, 238, 238, 0), rgba(238, 238, 238, .8), rgba(238, 238, 238, 1), rgba(238, 238, 238, 1));
	}
	#readmore-wrap::before {
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		content: "";
		width: 99.4%;
		height: 50px; /*グラデーションで隠す範囲*/
		background: -webkit-linear-gradient(top, rgba(238,238,238,0) 0%, rgba(238,238,238,0.9) 50%, rgba(238,238,238,0.9) 50%, #eeeeee 100%);
		background: linear-gradient(rgba(238, 238, 238, 0), rgba(238, 238, 238, .8), rgba(238, 238, 238, 1), rgba(238, 238, 238, 1));
	}
	#spec p.title,
	#readmore-wrap p.title {
		font-size: 14px;
		color: #0d4a9d;
		line-height: 1.6em;
		font-weight: bold;
		margin-top: 15px;
		padding: 0;
	}
	#spec p,
	#readmore-wrap p {
		font-size: 14px;
		color: #555555;
		line-height: 1.4em;
		padding: 0;
	}
	span #readmore-btn-open,
	span #readmore-btn-close {
		display: block;
		text-align: center;
	}
	#page-top {
		position: fixed; 
		bottom: 140px; 
		right: 20px; 
		z-index:9999;
		background-color: #0d4a9d;
		border-radius: 50%;
	}
	#page-top .top_link{
		position: relative;
		display: block;
		width:60px;
		height:60px;
	}
	#page-top .top_link .top_arrow{
		position:absolute;
		top:42%;
		left:50%;
		transform:translateX(-50%) rotate(-45deg);
		border-top:2px solid #fff;
		border-right:2px solid #fff;
		width:14px;
		height:14px;
	}
	/** images **/
	.images{ line-height: 0; font-size: 0; }
	/** clear **/
	.clear{ clear:both; }
	.clearfix:after{ content:"."; display:block; height:0; clear:both; visibility:hidden;}
		.g-footer ul {
			width: auto;
			margin: 0 auto;
			padding: 15px 15px;
			letter-spacing: 0em;
			text-align: center;
		}
		.g-footer li {
			display: inline-block;
			font-size: 12px;
			margin-bottom: 10px;
		}
		.g-footer li:not(:last-child):after {
			content: '|';
			display: inline-block;
			margin: 0 0 0 4px;
			color: #d1d1d1;
		}
		.g-footer li a {
			color: #1a1a1a;
			text-decoration: none;
		}
		.g-footer .copyright {
			background: #e5e5e5;
			background: #1a1a1a;
			color: #fff;
			padding: 7px 10px;
			margin: 0 0 150px;
			text-align: center;
		}
		.g-footer small {
			color: #fff;
			font-size: 10px;
		}
	}
	@media screen and (max-width: 750px) {
		#gfooter {
			margin: 0 0 90px;
		}
		#page-top{
			bottom:80px;
		}
		#step li{
			width:92%;
		}
		#wall .content_subject .content_ttl{
			font-size: 16px;
		}
		#wall .content_subject .content_ttl:before{
			top:-2px;
		}
		#wall .content_subject .content_ttl:after{
			top:-2px;
		}
		/*-- #wall class化 --*/
		.wall .content_subject .content_ttl{
			font-size: 16px;
		}
		.wall .content_subject .content_ttl:before{
			top:-2px;
		}
		.wall .content_subject .content_ttl:after{
			top:-2px;
		}
	}
	
.insta_font1{
    font-size: 24px;
    margin-bottom: 20px;
}
.insta_font_a{
  color:inherit!important;
  text-decoration: none!important;
}

.insta_font2{
	font-size: 24px;
    color: #fe33f6!important;
    font-weight: bold;
}

.insta_font2_p{
	font-size: 24px;
}

@media screen and (min-width: 750px) {
	.insta_margin{
	    margin-top: 35px;
	}
}

.insta_marginp{
    margin-top: 15px;
}

.insta_font_s{
    font-weight: bold;
    text-decoration: underline;
    margin-top: 10px;
}
