@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: 1101px; margin:0 auto;}
._pc{}
._sp{display:none !important;}
._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%;
	text-align: center;
	background-color: #fff;
}
#header .inner {
	padding: 16px 0 17px 0;
	text-align:left;
	display: inline-block;
}
#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;
}
/*top_kv
----------------------------------------------------*/
#top_kv {
	background-color: #E9EEF2;
	margin: 0 auto;
}
#top_kv img{
	margin: 0 auto;
	display: block;
}
/* survey
----------------------------------------------------*/
#survey {
	text-align: center;
	padding: 45px 0;
}
#survey .hdg {
	color: #004098;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-bottom: 26px;
	line-height: 1.4;
}
#survey .lead {
	font-size: 18px;
	line-height: 1.4;
	font-weight: 700;
	position: relative;
}
#survey .lead > span {
	display: inline;
	position: relative;
	padding: 0 3px 0 10px;
  background: linear-gradient(transparent 50%, yellow 50%);
	padding-bottom: 4px;
	line-height: 2em;
}
#survey .lead > span:not(:last-child) {
	margin-bottom: 12px;
}
#survey .lead.mb-12{
	margin-bottom: 12px;
}
#survey .lead.mb-24{
	margin-bottom: 24px;
}
#survey .lead span.no-line{
	background: none;
}
/* #survey .lead > span::before {
	content: '';
	display: inline-block;
	width: 100%;
	position: absolute;
	height: 14px;
	bottom: -2px;
	left: 0;
	background-color: #FEF200;
	z-index: -1;
} */
/*point
----------------------------------------------------*/
#point {
	background-color: #f2f2f2;
	padding: 45px 0;
}
#point .hdg {
	text-align: center;
	color: #004098;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-bottom: 26px;
	line-height: 1.4;
}
#quick-survey{
	margin-top: -117px;
	padding-top: 117px;
}
#point h3.hdg {
	text-align: center;
	background-color: #004098;
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
	color: #FFFFFF;
	font-size: 28px;
	padding: 10px 0;
	font-weight: 700;
	letter-spacing: 0.02em;
	margin-bottom: 26px;
	line-height: 1.4;
}
#point .content {
	width: 960px;
	display: flex;
	justify-content: space-between;
	margin: 0 auto;
}
#point .content.mb-45{
	margin-bottom: 45px;
}
#point .content .left {
	width: 510px;
}
#point .content .left .lead {
	font-size: 18px;
	line-height: 1.4;
	font-weight: 700;
	margin-bottom: 36px;
	position: relative;
}
#point .content .left .lead > span {
	display: inline;
	position: relative;
	z-index: 1;
	padding: 0 3px 0 10px;
  background: linear-gradient(transparent 50%, yellow 50%);
	padding-bottom: 4px;
	line-height: 2em;
}
#point .content .left .lead > span:not(:last-child) {
	margin-bottom: 10px;
}
/* #point .content .left .lead > span::before {
	content: '';
	display: inline-block;
	width: 100%;
	position: absolute;
	height: 14px;
	bottom: -2px;
	left: 0;
	background-color: #FEF200;
	z-index: -1;
} */
#point .content .left ul.list {
	margin-bottom: 38px;
}
#point .content .left ul.list > li {
	font-size: 16px;
	line-height: 1.2;
	color: #636363;
}
#point .content .left ul.list > li:not(:last-child) {
	margin-bottom: 12px;
}
#point .content .left ol.list > li {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
}
#point .content .left ol.list > li:not(:last-child) {
	margin-bottom: 16px;
}
#point .content .left ol.list > li .small {
	padding-left: 1.3em;
	margin-top: 10px;
	font-weight: normal;
	display: block;
}
#point .content .left ol.list > li .star {
	font-weight: normal;
	margin-top: 10px;
	display: block;
}
#point .content .left ol.list > li .notice {
	font-size: 13px;
	color: #636363;
	font-weight: normal;
	display: block;
	margin-top: 10px;
}
#point .content .right {
	width: 414px;
	flex: none;
}
/*float_btn
----------------------------------------------------*/
.float_btn {
	width: 100%;
	background-color: #FFF100;
	padding: 50px 0 45px;
}
.float_btn .entry_btn {
	text-align: center;
}
.float_btn .entry_btn > a {
	transition: opacity .3s;
}
.float_btn .entry_btn > a:hover {
	opacity: .8;
}
/*spec
----------------------------------------------------*/
#spec {
	padding: 55px 0;
}
#spec > .inner {
	width: 100%;
	max-width: 946px;
}
#spec .accordion:not(:last-child) {
	margin-bottom: 30px;
}
#spec .hdg.is_open .open {
	display: none;
}
#spec .hdg:not(.is_open) .close {
	display: none;
}
#spec .panel {
	margin-top: 30px;
}
#spec .panel .text {
	font-size: 16px;
	line-height: 1.2;
	margin-bottom: 30px;
}
#spec .panel .notice > li {
	font-size: 13px;
	line-height: 1.2;
    color: #636363;
}
#spec .panel .notice > li:not(:last-child) {
	margin-bottom: 8px;
}
#spec .panel .notice > li > a {
	color: #636363;
	text-decoration: underline;
}
#spec .panel .title {
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	margin-bottom: 10px;
}
#spec .panel .list:not(:last-child) {
	margin-bottom: 35px;
}
#spec .panel .list > li {
	font-size: 16px;
	line-height: 1.6;
	padding-left: 15px;
	position: relative;
}
#spec .panel .list > li::before {
	content: '・';
	position: absolute;
	left: 0;
}
#spec .panel .list > li:not(:last-child) {
	margin-bottom: 5px;
}

#nav{
	position: fixed;
	padding: 20px 0;
	top: 0px;
}

body.fixed #step {
  margin-bottom: 140px;
}

/** 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) {
	#container{ min-width: 1001px; }
	.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;
	}

	#nav {
		width: 100%;
		z-index: 9999;
	}
	body.fixed  #nav{
		position: fixed;
		top: 0px;
		background-color: #FFF100;
		padding: 50px 0 45px;
	}
}
/* ----------------------------------------------------------------------------
sp style 
------------------------------------------------------------------------------- */
@media screen and (max-width:768px) { 
	body {
		font-family: Hiragino Kaku Gothic ProN;
		line-height: 1;
		background-size: 100%;

	}
	.add_center{
		text-align: center;
	}
	
	/*-----------------------------------------------------
		このファイルに定義されている内容はすべて編集可能です。
	-------------------------------------------------------*/
	strong{ font-weight: bold; }
	.inner{width:100%;  margin:0 auto; padding:0 2%; box-sizing:border-box;}
	.inner img{width:100%;}
	._pc{display:none !important;}
	._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;
	}
	/*top_kv
	----------------------------------------------------*/
	#top_kv {
		background-color: #E9EEF2;
		margin: 0 auto;
	}
	#top_kv img{
		margin: 0 auto;
		display: block;
		max-width: 100% !important;
	}
	/* survey
	----------------------------------------------------*/
	#survey {
		text-align: center;
		padding: 30px 20px;
	}
	#survey .hdg {
		color: #004098;
		font-size: 20px;
		font-weight: 700;
		letter-spacing: 0.02em;
		margin-bottom: 26px;
		line-height: 1.4;
	}
	#survey .lead {
		font-size: 14px;
		line-height: 1.4;
		font-weight: 700;
		position: relative;
	}
	#survey .lead > span {
		display: inline;
		position: relative;
		padding: 0 3px 0 5px;
  	background: linear-gradient(transparent 50%, yellow 50%);
		padding-bottom: 4px;
		line-height: 2em;
	}
	#survey .lead > span:not(:last-child) {
		margin-bottom: 8px;
	}
	#survey .lead.mb-8 {
		margin-bottom: 8px;
	}
	#survey .lead.mb-32 {
		margin-bottom: 32px;
	}
	#survey .lead span.no-line {
		background: none;
	}
	/* #survey .lead > span::before {
		content: '';
		display: inline-block;
		width: 100%;
		position: absolute;
		height: 10px;
		bottom: -2px;
		left: 0;
		background-color: #FEF200;
		z-index: -1;
	} */
	/*point
	----------------------------------------------------*/
	#point {
		background-color: #f2f2f2;
		padding: 30px 20px;
	}
	#point .hdg {
		text-align: center;
		color: #004098;
		font-size: 20px;
		font-weight: 700;
		letter-spacing: 0.02em;
		margin-bottom: 26px;
		line-height: 1.4;
	}
	#quick-survey{
		margin-top: -30px;
		padding-top: 30px;
	}
	#point h3.hdg {
		text-align: center;
		background-color: #004098;
		width: 100%;
		margin: 0 auto;
		color: #FFFFFF;
		font-size: 18px;
		padding: 5px 0;
		font-weight: 700;
		letter-spacing: 0.02em;
		margin-bottom: 26px;
		line-height: 1.4;
	}
	#point .lead {
		font-size: 14px;
		line-height: 1.4;
		font-weight: 700;
		text-align: center;
		margin-bottom: 30px;
		position: relative;
		z-index: 1;
	}
	#point .lead > span {
		display: inline;
		position: relative;
		padding: 0 3px 0 5px;
		background: linear-gradient(transparent 50%, yellow 50%);
		padding-bottom: 4px;
		line-height: 2em;
	}
	#point .lead > span:not(:last-child) {
		margin-bottom: 8px;
	}
	/* #point .lead > span::before {
		content: '';
		display: inline-block;
		width: 100%;
		position: absolute;
		height: 10px;
		bottom: -2px;
		left: 0;
		background-color: #FEF200;
		z-index: -1;
	} */
	#point .content {
		padding: 0 10px;
		margin-top: 30px;
	}
	#point .content.mb-30{
		margin-bottom: 30px;
	}
	#point .content ul.list {
		margin-bottom: 15px;
	}
	#point .content ul.list > li {
		font-size: 12px;
		line-height: 1.2;
		color: #636363;
	}
	#point .content ul.list > li:not(:last-child) {
		margin-bottom: 4px;
	}
	#point .content ol.list > li {
		font-size: 13px;
		font-weight: 700;
		line-height: 1.2;
	}
	#point .content ol.list > li:not(:last-child) {
		margin-bottom: 6px;
	}
	#point .content ol.list > li .small {
		padding-left: 1.3em;
		margin-top: 4px;
		font-weight: normal;
		display: block;
	}
	#point .content ol.list > li .star {
		font-weight: normal;
		margin-top: 4px;
		display: block;
	}
	#point .content ol.list > li .notice {
		font-size: 11px;
		color: #636363;
		font-weight: normal;
		display: block;
		margin-top: 4px;
	}
	#point .content .image {
		margin-top: 30px;
	}
	#point .content .image > img {
		display: block;
		max-width: 100% !important;
		width: 100%;
	}
	/*float_btn
	----------------------------------------------------*/
	.float_btn {
		width: 100%;
		height: 90px;
		background-color: #FFF100;
		padding: 20px 0 15px;
		display: inline-block;
		margin-bottom: 0px;
		padding: 10px 0;
		position: fixed;
		bottom: 0px;
		left: 0px;
		z-index: 9999;
	}
	.float_btn .entry_btn {
		padding: 0 20px;
		text-align: center;
	}
	.float_btn .entry_btn img {
		max-width: 100% !important;

	}

	/*spec
	----------------------------------------------------*/
	#spec {
		padding: 55px 0 30px;
	}
	#spec > .inner {
		width: 100%;
		padding: 0 20px;
	}
	#spec .accordion:not(:last-child) {
		margin-bottom: 20px;
	}
	#spec .hdg.is_open .open {
		display: none;
	}
	#spec .hdg:not(.is_open) .close {
		display: none;
	}
	#spec .panel {
		margin-top: 20px;
	}
	#spec .panel .text {
		font-size: 14px;
		line-height: 1.4;
		margin-bottom: 20px;
	}
	#spec .panel .notice > li {
		font-size: 12px;
		line-height: 1.4;
		color: #636363;
	}
	#spec .panel .notice > li:not(:last-child) {
		margin-bottom: 4px;
	}
	#spec .panel .notice > li > a {
		color: #636363;
		text-decoration: underline;
	}
	#spec .panel .title {
		font-weight: 700;
		font-size: 14px;
		line-height: 1.2;
		margin-bottom: 4px;
	}
	#spec .panel .list:not(:last-child) {
		margin-bottom: 25px;
	}
	#spec .panel .list > li {
		font-size: 14px;
		line-height: 1.6;
		padding-left: 12px;
		position: relative;
	}
	#spec .panel .list > li::before {
		content: '・';
		position: absolute;
		left: 0;
	}
	#spec .panel .list > li:not(:last-child) {
		margin-bottom: 5px;
	}

	/** 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:510px){
		#gfooter{
			margin-bottom: 17.647vw !important;
		}
		.float_btn{
			width: 100%;
			height: 17.647vw;
		}
	}
	@media screen and (max-width: 750px) {
		#gfooter {
			margin: 0 0 90px;
		}
	}

/* ------------------------- */

.color-red {
	color: #f00;
}

#entry_btn.btn-text a {
	display: block;
	max-width: 500px;
	line-height: 1.6;
	padding: 24px 55px 22px;
	background: #f00;
	border-radius: 999px;
	text-align: center;
	color: #fff;
	font-weight: 700;
	font-size: 24px;
	position: relative;
	transition: .3s all;
	margin: auto;
}

#entry_btn.btn-text a:hover {
	text-decoration: none;
	opacity: .5;
}

#entry_btn.btn-text a::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 30px;
	margin: auto;
	width: 15px;
	height: 15px;
	border-top: 4px solid #fff;
	border-right: 4px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.content_subject+p {
	text-align: center;
	font-size: 24px;
	margin-top: 30px;
	line-height: 1.6;
	font-weight: 700;
	color: #555;
}

.content_subject+p .text-l {
	font-size: 1.5em;
}

.content_subject+p .icon img {
	height: 2em;
	vertical-align: text-bottom;
}

.wall-logo {
	max-width: 400px;
	margin: auto;
}

.wall-logo img {
	width: 100%;
}

.wall-logo + p {
	text-align: center;
	font-size: 24px;
	line-height: 1.6;
	margin: 20px 0 50px;
	color: #555;
}

.wall .content_subject .content_ttl {
	line-height: 1.4;
}

.wall .content_subject .content_ttl.no::before,
.wall .content_subject .content_ttl.no::after {
	content: initial;
}

.img_size{
	margin: auto;
	max-width: 40%;
}

.img_size img{
	width: 100%;
}


.txt_center {
  text-align: center;
}

@media screen and (max-width: 750px) {

	#entry_btn.btn-text a {
    font-size: 5vw;
    padding: 4vw 0;
    transition: initial;
    max-width: 100%;
	}

	#entry_btn.btn-text a::before {
		right: 6vw;
		width: 3vw;
		height: 3vw;
		border-top: .8vw solid #fff;
		border-right: .8vw solid #fff;
	}

	.content_subject+p {
		font-size: 16px;
	}

	.wall-logo {
		padding: 0 4%;
	}

	.wall-logo + p {
		font-size: 16px;
		padding: 0 4%;
		margin-bottom: 0;
	}

}