@charset "utf-8";

body {
	font: normal 18px/1.7 "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Arial, Verdana, sans-serif;
	text-align: left;
	color: #000;
	height: 100%;
	/* #wrapper-all / div end */
}

@media screen and (max-width: 640px) {
	body {
		font: normal 17px/1.7;
	}
}

.sp-item {
	display: none !important;
}

.pc-item {
	display: block !important;
}

#contents {
	padding-bottom: 65px;
}

@media screen and (max-width: 640px) {
	body {
		min-width: inherit;
		height: 100%;
	}

	.sp-item {
		display: block !important;
	}

	.pc-item {
		display: none !important;
	}

	#contents {
		padding-bottom: 25px;
	}
}

.btn:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
}

/*-------------------------------------------------------*/
/*  header
/*-------------------------------------------------------*/

header {
	width: 100%;
	background-color: #000;
	padding: 20px 0;
	line-height: 1;
}

.header_in {
	width: 98%;
	max-width: 900px;
	height: 54px;
	margin: 0 auto;
	color: #fff;
}

.header_logo {
	max-width: 400px;
	float: left;
}

.header_right {
	width: 400px;
	float: right;
}

.header_logo .h_logo {
	margin-top: 10px;
}

.header_logo .unlimi {
	font-size: 12px;
}

.header_tel {
	width: 230px;
	float: left;
	color: #fff;
}

.header_tel .time {
	font-size: 16px;
	margin-bottom: 10px;
}

.header_tel .tel {
	font-size: 25px;
}

.header_mail a {
	float: right;
	width: 11em;
	background-color: #fff;
	padding: 20px 0;
	text-align: center;
	color: #000;
	font-size: 15px;
	border-radius: 5px;
	display: block;
	text-decoration: none;
}

.header_mail a:link {
	text-decoration: none;
}

.header_mail a:visited {
	text-decoration: none;
}

.header_mail a:hover {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	header {
		padding: 5px 0 11px;
	}

	.header_in {
		width: 90%;
		height: auto;
		margin: 0 auto;
		color: #fff;
	}

	.header_logo {
		width: 95%;
		float: none;
		margin: 0 auto 8px;
		;
	}

	.header_right {
		width: 100%;
		margin: 0 auto;
		float: none;
	}

	.header_logo .h_logo {
		float: left;
		margin-top: 0;
		width: 40%;
	}

	.header_logo .h_logo img {
		width: 100%;
	}

	.header_logo .unlimi {
		float: right;
		font-size: 11px;
		width: 15.5em;
		text-align: right;
		padding-top: 7px;
	}

	.header_tel {
		width: 95%;
		margin: 0 auto;
		float: none;
		color: #fff;
	}

	.header_tel .time {
		float: left;
		font-size: 14px;
		margin-bottom: 8px;
	}

	.header_tel .tel {
		font-size: 14px;
		float: right;
	}

	.header_mail a {
		float: none;
		width: 95%;
		background-color: #fff;
		padding: 8px 0;
		text-align: center;
		color: #000;
		font-size: 13px;
		border-radius: 5px;
		display: block;
		text-decoration: none;
		margin: 0 auto;
	}
}

@media screen and (max-width: 320px) {
	.header_logo .unlimi {
		font-size: 10px;
	}

	.header_tel .time {
		font-size: 12px;
	}
}

/*-------------------------------------------------------*/
/*  オプトイン
/*-------------------------------------------------------*/

.form {
	margin: 0 auto;
	position: relative;
	width: 896px;
	height: 622px;
	margin-top: -16px;
}

.form-s {
	margin: 0 auto;
	position: relative;
	width: 640px;
	height: 449px;
}

.form .form_inner {
	position: absolute;
	top: 230px;
	left: 68px;
	width: 770px;
	margin: 0 auto;
	padding: 0;
	font-weight: bold;
}

.form-s .form_inner {
	position: absolute;
	width: 548px;
	/*top: 163px;*/
	top: 210px;
	left: 42px;
	margin: 0 auto;
	padding: 0;
	font-weight: bold;
}

.form .inputText {
	width: 96%;
	height: 145px;
	border: 2px solid #ff9900;
	background-color: #fff;
	font-size: 29px;
	padding-left: 0%;
	text-align: left;
	margin-top: 74px;
}

.form-s .inputText {
	width: 525px;
	height: 103px;
}

.btn {
	margin-top: 10px;
}

@media screen and (max-width: 895px) {
	.form {
		width: 100%;
		height: auto;
	}

	.form .form_inner {
		width: 84%;
		top: 36%;
		left: 8%;
	}

	.form .inputText {
		width: 95%;
		height: 125px;
	}
}

@media screen and (max-width: 640px) {
	.form {
		margin-top: -10px;
	}

	.form-s {
		width: 100%;
		height: auto;
	}

	.form-s .form_inner {
		width: 84%;
		top: 35%;
		left: 8%;
	}

	.form .inputText,
	.form-s .inputText {
		width: 95%;
		height: 55px;
		font-size: 19px;
		margin-top: 23px;
	}

	.btn {
		margin-top: 6px;
	}
}

@media screen and (max-width: 320px) {

	.form .inputText,
	.form-s .inputText {
		height: 40px;
		font-size: 18px;
	}
}

.kiyaku {
	width: 680px;
	margin: 20px auto;
	font-size: 0.8em;
}

.kiyaku-s {
	width: 590px;
}

.kiyaku h2 {
	text-align: center;
	font-size: 1.2em;
	font-weight: bold;
}

.kiyaku ul {
	list-style: none outside;
	padding: 0px;
	margin-top: 14px;
}

.kiyaku li {
	/*background: url(../images/kiyaku_list.png) no-repeat ;*/
	background-position: 0px 4px;
	/*padding: 0 0 5px 28px;*/
	padding: 0 0 0px 28px;
	margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
	.kiyaku {
		width: 90%;
		margin: 10px auto;
		/*font-size:0.8em;*/
		font-size: 0.4em;
		line-height: 1.5;
	}

	.kiyaku h2 {
		font-size: 1em;
	}

	.kiyaku ul {
		list-style: none outside;
		padding: 0px;
		margin-top: 10px;
	}

	.kiyaku li {
		background-position: 0px 4px;
		/*background-size:15px auto;*/
		background-size: 10px auto;
		/*padding: 1px 0 5px 18px;*/
		padding: 2px 0 0px 18px;
		margin-bottom: 0px;
	}
}


/*-------------------------------------------------------*/
/*  コンテンツ
/*-------------------------------------------------------*/

section img {
	display: block;
	margin: 0 auto;
	max-width: 100%
}

.box01 {
	width: 90%;
	max-width: 593px;
	margin: 0 auto;
	/*padding-top: 1.5em;*/
	padding-top: 1.0em;
}

.box01 p {
	padding-bottom: 1.5em;
}

@media screen and (min-width: 641px) {
	.voice h2 {
		background: url(../images/voice_ttl_bg.png) repeat-x;
	}
}

.voice-wrap {
	padding-top: 0.5em;
	padding-bottom: 1.5em;
}

@media screen and (max-width: 640px) {
	.voice-wrap {
		padding-bottom: 0;
	}
}

.voice-wrap img.fl {
	max-width: 40%;
	padding-right: 0.5em;
}

.font-big {
	font-size: 1.3rem;
}

ul.list {
	/*font-size:1.2em;*/
	font-weight: bold;
	line-height: 1.5em;
	list-style: none outside;
	padding: 0px;
	margin-top: 1em;
}

ul.list li {
	/*background: url(../images/list01.png) no-repeat ;*/
	background: url(../images/list04.png) no-repeat;
	background-position: 0px 4px;
	/*padding: 2px 0 5px 28px;*/
	padding: 4px 0 5px 35px;
	margin-bottom: 20px;
}

ul.list2 {
	/*font-size:1.2em;*/
	font-weight: bold;
	line-height: 1.5em;
	list-style: none outside;
	padding: 0px;
	margin-top: 1em;
}

ul.list2 li {
	background: url(../images/list02.png) no-repeat;
	background-position: 0px 4px;
	padding: 2px 0 5px 28px;
	margin-bottom: 20px;
}

@media screen and (max-width: 640px) {
	ul.list {
		/*font-size:1.1em;*/
		list-style: none outside;
		padding: 0px;
		margin-top: 20px;
	}

	ul.list li {
		background-size: 14px 14px;
		background-position: 0px 4px;
		padding: 0px 0 5px 20px;
		margin-top: 7px;
		margin-bottom: 10px;
	}
}

.box01 p.first::first-letter {
	font-size: 1.5em;
	font-weight: bold;
}

.sec07 .bg {
	background: #fafaf5;
	padding-top: 1em;
	margin-bottom: 1.5em;
}

table {
	margin: 0 auto;
	table-layout: fixed;
	margin-top: 25px;
}

table th {
	padding: 10px;
	border: 1px solid #ccc;
	background: #eee;
	vertical-align: middle;
	line-height: 130%;
	text-align: left;
}

table td {
	padding: 10px;
	border: 1px solid #ccc;
}

table td.ac {
	text-align: center;
}

@media screen and (max-width: 640px) {
	table {
		font-size: 0.8em;
		margin-top: 15px;
	}

	table th {
		padding: 6px;
		border: 1px solid #ccc;
		background: #eee;
		vertical-align: middle;
		line-height: 130%;
		text-align: left;
	}

	table td {
		padding: 6px;
		border: 1px solid #ccc;
	}
}

/*-------------------------------------------------------*/
/*  フッター
/*-------------------------------------------------------*/

#footer {
	background: #221715;
	color: #fff;
	padding: 15px 0;
}

#footer .contents {
	width: 98%;
	max-width: 900px;
	margin: 0 auto;
	background: #221715;
}

#footer .contents .logo {
	margin-bottom: 8px;
}

#footer .contents .copy {
	font-size: 10px;
}

#footer .contents .link {
	float: right;
	font-size: 12px;
}

#footer .contents .link a {
	color: #fff;
	text-decoration: none;
}

.unlimi_f {
	font-size: 12px;
}

@media screen and (max-width: 767px) {
	#footer {
		padding: 10px 0;
		text-align: center;
	}

	#footer .contents {
		width: 100%;
		margin: 0 auto;
		padding: 0 0;
		background: #221715;
	}

	#footer .contents .logo {
		margin-bottom: 8px;
	}

	#footer .contents .copy {
		font-size: 10px;
	}

	#footer .contents .link {
		float: none;
		font-size: 12px;
		line-height: 2.4;
	}

	#footer .contents .link a {
		color: #fff;
		text-decoration: none;
	}

	.unlimi_f {
		font-size: 12px;
	}
}

/*　*/
:placeholder-shown {
	color: #CCC;
	font-weight: bold;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
	color: #CCC;
	font-weight: bold;
}

/* Firefox 18- */
:-moz-placeholder {
	color: #CCC;
	opacity: 1;
	font-weight: bold;
}

/* Firefox 19+ */
::-moz-placeholder {
	color: #CCC;
	opacity: 1;
	font-weight: bold;
}

/* IE 10+ */
:-ms-input-placeholder {
	color: #CCC;
	font-weight: bold;
}




/*--------------------------------------------------
固定ボタンPC：無し
-----------------------------------------------------*/
.fix_menu_smartphone {
	display: none;
}

/*--------------------------------------------------
固定ボタンSP
-----------------------------------------------------*/

@media only screen and (max-width : 640px) {
	.fix_menu_smartphone {
		display: block;
		width: 100%;
		position: fixed;
		/*bottom: 0.8%;*/
		bottom: -0.1%;
		z-index: 10000;
	}
}


/* 2023年12月以降編集-------------- */

.l-kansou {
	text-align: right;
	margin: 1px auto 10px;
}

.box01 p {
	padding-bottom: 1.1em;
}

.l-line-hight {
	line-height: 1.3;
}

@media screen and (max-width: 767px) {

	.kiyaku {
		margin: 5px auto;
		font-size: 0.5rem;
	}

	.kiyaku ul {
		margin-top: 1px;
	}

	.box01 {
		padding-top: 5px;
	}

	.l-kansou {
		font-size: 0.8rem;
		margin: 0 auto;
	}

	.l-5kai__text {
		margin-top: -10px;
	}

	.sec02 .p-5kai__text02 {
		padding-bottom: 5px;
	}

	.l-text__imamade {
		padding-bottom: 1.1em;
		line-height: 1.3;
	}

	.p-text__marker-yellow {
		background: linear-gradient(transparent 40%, #FFFF00 60%);
	}

	.p-text__red {
		color: #D10013;
	}

	.sec07 .bg {
		margin-bottom: 1em;
		padding-top: 5px;
	}

	.box01 .p-margin {
		margin-bottom: -27px;
	}

	.opt .form-s {
		margin-top: -30px;
	}

}

@media screen and (max-width: 740px) {
	#footer .contents .copy {
		margin-bottom: 55px;

	}

}

@media screen and (max-width: 430px) {

	.l-kansou {
		font-size: 0.6rem;
	}

}




/* ------------------------------ */