body {
	padding: 0;
	margin: 0;
	background: #fff;
	line-height: 1.8;
	font-family: 'M PLUS 1p', sans-serif;
	font-weight: 300;
}

h1, h2, h3, h4 {
	font-weight: 700;
	text-align: center;
}
#prf h3 {
	border-bottom: 1px solid #cd0018;
	text-align: left;
}
#tokucho h3, #reason h3, #point h3, #step h3 {
	margin-top: 2em;
}
#tokucho h3 span, #point h3 span, #step h3 span {
	display: inline-block;
	background: #cd0018;
	color: #fff;
	padding: 2px 20px;
	border-radius: 20px;
	margin-bottom: 10px;
	font-size: 90%;
}
#reason h3 span {
	display: inline-block;
	background: #000;
	color: #fff;
	padding: 2px 15px;
	border-radius: 10px;
	font-size: 90%;
}
h4 { margin-top: 2em; }

.bold { font-weight: 700; }
.small { font-size: 80%; }
.underline { text-decoration: underline; }

.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }

.red { color: #cd0018; }
.blue { color: #0076c8; }
.bg_ye { background: #feff8b; }

header { text-align: center; }
img { max-width: 100%; }

.btn {
	background: #009763;
	color: #fff;
	padding: 0.5em 1em;
	border-radius: 15px;
	text-decoration: none;
	font-weight: bold;
	display: inline-block;
}

a:hover {
	opacity: 0.7;
}

#koe > div {
    background: #e1ecf0;
    border-radius: 1em;
    padding: 1em;
    margin-bottom: 1.5em;
}

#koe > div p {
    margin: 0;
}

#book { text-align: center; }

.prf_img img {
	border-radius: 50%;
}

#prf ul {
	padding-left: 25px;
}

ul.check {
	list-style-type: none;
	padding-left: 0;
	font-size: 110%;
	font-weight: bold;
}
ul.check2 {
	list-style-type: none;
	padding-left: 0;
}
ul.check li:before, ul.check2 li:before {
	font-family: "Font Awesome 5 Free";
	content: "\f00c";
	font-weight: 900;
	color: #cd0018;
	margin-right: 0.2em;
}
ul.check li, ul.check2 li {
	text-indent: -1.2em;
	padding-left: 1.2em;
}

table.movie, .movie td {
	border: 1px solid #999;
	padding: 1px 10px;
	border-collapse: collapse;
}
.movie td:first-child {
	text-align: center;
}
.faq { margin-top: 2em; }
.qst:before {
	content: 'Q.';
	margin-right: 0.3em;
}

footer {
	background: #eee;
	text-align: center;
	padding: 1em;
}
footer p {
	margin: 0;
	font-size: 80%;
}
footer a {
	color: #000;
	text-decoration: none;
}

.con_list h4, .con_list2 h4, .con_list .bold {
	color: #cd0018;
}
.con_list ol, .con_list2 ol {
	margin: 0;
}

.terms_title {
    margin: 45px 0 0 0;
    padding: 15px 0;
    font-size: 18px;
    line-height: 100%;
    letter-spacing: 1px;
    text-align: center;
    color: #fff;
    background: #fe9898;
    border: solid 1px #fe9898;
}

table.step3 {
	border-collapse: collapse;
}
table.step3 .step3_ttl {
	background: #cd0018;
	color: #fff;
	font-weight: bold;
}



/* PC */

@media screen and (min-width: 641px) {
	body {
		font-size: 20px;
	}
	.pcnone { display: none; }
	.wrapper {
		max-width: 900px;
		margin: 0 auto;
	}
	h1 { font-size: 42px; }
	h2 { font-size: 1.8em; }
	h3 { font-size: 1.5em; }
	h4 { font-size: 1.2em; }
	#reason h3 span { margin-right: 1em; }
	section {
	    margin: 80px 0;
	}
	.btn {
		font-size: 200%;
	}
	.large { font-size: 150%; }
	.prf_img, .point2 {
		float: right;
		width: 300px;
		padding: 0 0 1em 1em;
	}
	.mt80 { margin-top: 80px; }
	.todai_dokugaku {
		display: inline-block;
		float: right;
		margin: 0 0 1em 1em;
	}
	/* 特商法ボックス */
	.ppbox{
	width: 800px;
	margin:0 auto;
	padding:0;
	}
	.pp{
	margin:0;
	padding:10px 15px 15px 15px;
	border:solid 1px #414141;
	overflow:auto;
	height:100px;
	}
	.pp p{
	font-size:20px;
	color:#414141;
	margin: 0.5em 0 0 0;
	}
	.pp h3, .pp h2{
	padding:0;
	font-weight:normal;
	line-height:150%;
	letter-spacing:1px;
	color: #414141;
	text-align: left;
	}
	.pp h3{
	margin:1em 0 0 0;
	font-size:20px;
	}
	.pp h2{
	margin:0;
	font-size:25px;
	}
	table.spec{
	width:700px;
	border-collapse:separate;
	margin:0 auto 45px auto;
    }
	table.spec th{width:180px;padding:1px 15px;color:#fff;background:#eb4753;}
	table.spec td{padding:1px 15px;border-bottom:solid 1px #ccc;}
	table.spec td p { margin: 0.5em 0 0 0; }
	table.spec td p:first-child { margin-top: 0; }
	table.spec td ol { margin: 0; }
	.step_number{margin:0;padding:30px 0 20px 0;font-size:18px;font-weight:bold;text-align:center;color:#fff;font-family: 'Roboto Condensed', sans-serif;}
	.step_number span{padding:5px 20px;background:#ee5460;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;}
	.step_title{margin:0;padding:0;font-size:36px;line-height:110%;letter-spacing:1px;text-align:center;}
	.step_title span{font-size:24px;}
	/* お問合せフォーム JCity */

	h4.table_form {
		background-color: #F4A460;
	    color: #FFFFFF;
	    text-shadow: 1px 1px 1px rgb(178,178,178);
	    -ms-filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=1,OffY=1,Color=#ffb2b2b2,Positive=true)";
	    zoom: 1;
	    filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=1,OffY=1,Color=#ffb2b2b2,Positive=true);
	    padding: 10px 15px;
	    margin: 1em 0 0.5em;
	    font-size: 1.3em;
	    font-weight: bold;
	    text-align: left;
	}

	table.table_form {
		width: 100%;
		border-collapse: collapse;
	}

	table.table_form th {
		width: 30%;
	    text-align: right;
	    font-weight: normal;
	    padding: 15px 10px;
	    word-break: break-all;
	    border-style: solid solid solid solid;
	    border-width: 1px;
	    border-color: #DAA520;
	    background-color: #FDF5E6;
	    color: #000000;
	}

	table.table_form td {
		font-weight: normal;
		padding: 15px 10px;
		word-break: break-all;
		border-style: solid solid solid solid;
	    border-width: 1px;
	    border-color: #DAA520;
	    background-color: #ffffff;
	    color: #000000;
	}

	table.table_form input {
		font-size: 1.3em;
		vertical-align: middle;
	    padding: 10px;
	    margin: 4px 4px 4px 0;
	}

	.inputText_H {
	    width: 5em;
	}

	.inputText_L {
	    width: 90%;
	}

	.inputText_M {
	    width: 9em;
	}

	table.table_form textarea {
		width: 90%;
	    height: 9em;
	    overflow: hidden;
	    overflow-y: scroll;
	    vertical-align: middle;
	    padding: 3px;
	    margin: 4px 4px 4px 0;
	}

	.table_form .btn_submit {
	    font-size: 1em;
	    cursor: pointer;
	    vertical-align: middle;
	    padding: 3px;
	    margin: 4px 4px 4px 0;
	}
	.con_list, .con_list2 {
		width: 700px;
		border: solid 1px #eb4753;
		margin: 0 auto 2em auto;
		padding: 0em 2em 1em 2em;
	}
	table.subject {
	    width: 700px;
	    border-collapse: collapse;
	    margin: 0 auto 60px auto;
	}
	table.subject th {
	    font-size: 20px;
	    line-height: 150%;
	    letter-spacing: 1px;
	    padding: 15px 0;
	    color: #eb4753;
	    border-bottom: solid 2px #eb4753;
	}
	table.subject td {
	    font-size: 20px;
	    font-weight: bold;
	    line-height: 150%;
	    letter-spacing: 1px;
	    padding: 15px;
	    border-bottom: solid 1px #ccc;
	}
	table.step3, table.step3 td {
		border: 30px solid #fff;
		vertical-align: top;
	}
	table.step3 td {
		width: 30%;
	}
	table.step3 td p:last-child {
		margin-bottom: 0;
	}
	table.movie {
		width: 500px;
		margin: 0 auto;
	}
	.terms {
	    margin: 0;
	    padding: 10px 45px 15px 45px;
	    background: #f3f6f8;
	    border: solid 1px #fe9898;
	    font-size: 16px;
	}
	.qst { font-size: 120%; font-weight: bold; }
	.contents_voice{width:900px;margin:0 auto 90px auto;padding:0;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;justify-content:center;}
	.cv{width:32%;margin:0 5px 15px 5px;}
	.youtube {position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden;}
	.youtube iframe {position:absolute;top:0;left:0;width:100% !important;height:100%;}
}



/* SP */

@media screen and (max-width: 640px) {
	body {
		font-size: 4.5vw;
	}
	.spnone { display: none; }
	.wrapper {
		padding: 0 1em;
	}
	h1 { font-size: 7vw; }
	h2 { font-size: 1.4em; }
	h3 { font-size: 1.2em; }
	h4 { font-size: 1.1em; }
	#reason h3 span { margin-bottom: 10px; }
	section {
	    margin: 50px 0;
	}
	.btn {
		font-size: 140%;
	}
	.large { font-size: 120%; }
	#book img { max-width: 70%; }
	.prf_img { text-align: center; }
	.prf_img img {
		width: 70%;
	}
	.point2 {
		float: right;
		width: 40%;
	}
	.mt80 { margin-top: 50px; }
	.todai_dokugaku { text-align: center; }
	/* 特商法ボックス */
	.ppbox{
	margin:0 5px;
	padding:0;
	}
	.pp{
	margin:0;
	padding:5px;
	border:solid 1px #414141;
	overflow:auto;
	height:100px;
	}
	.pp p{
	font: size 60%;
	color:#414141;
	margin: 0.5em 0 0 0;
	}
	.pp h3, .pp h2{
	padding:0;
	font-weight:normal;
	line-height:150%;
	letter-spacing:1px;
	color: #414141;
	text-align: left;
	}
	.pp h3{
	margin:1em 0 0 0;
	font-size:80%;
	}
	.pp h2{
	margin:0;
	font-size:80%;
	}
	table.spec{width:100%;border-collapse:separate;margin:0 0 1em 0;}
	table.spec th{padding:1px 0;color:#fff;background:#eb4753;display:block;}
	table.spec td{padding:1px 0 1em 0;display:block;}
	table.spec td p { margin: 0.5em 0 0 0; }
	table.spec td p:first-child { margin-top: 0; }
	table.spec td ol { margin: 0; }
	.step_number{margin:0;padding:30px 0 20px 0;font-size:18px;font-weight:bold;text-align:center;color:#fff;font-family: 'Roboto Condensed', sans-serif;}
	.step_number span{padding:5px 20px;background:#ee5460;-webkit-border-radius:20px;-moz-border-radius:20px;border-radius:20px;}
	.step_title{margin:0;padding:0;font-size:150%;line-height:120%;text-align:center;}
	.step_title span{font-size:75%;}
	/* お問合せフォーム JCity */

	h4.table_form {
		background-color: #F4A460;
	    color: #FFFFFF;
	    text-shadow: 1px 1px 1px rgb(178,178,178);
	    -ms-filter: "progid:DXImageTransform.Microsoft.dropshadow(OffX=1,OffY=1,Color=#ffb2b2b2,Positive=true)";
	    zoom: 1;
	    filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=1,OffY=1,Color=#ffb2b2b2,Positive=true);
	    padding: 10px 15px;
	    margin: 1em 0 0.5em;
	    font-size: 1.3em;
	    font-weight: bold;
	    text-align: left;
	}

	table.table_form {
		width: 100%;
		border-collapse: collapse;
	}

	table.table_form th {
		padding: 10px;
		text-align: left;
	    display: block;
	    margin-bottom: -1px;
	    font-weight: normal;
	    word-break: break-all;
	    border-style: solid solid solid solid;
	    border-width: 1px;
	    border-color: #DAA520;
	    background-color: #FDF5E6;
	    color: #000000;
	}

	table.table_form td {
		padding: 15px 10px;
		text-align: left;
	    display: block;
	    margin-bottom: -1px;
	    font-weight: normal;
	    word-break: break-all;
	    border-style: solid solid solid solid;
	    border-width: 1px;
	    border-color: #DAA520;
	    background-color: #ffffff;
	    color: #000000;
	}

	table.table_form input {
		vertical-align: middle;
	    padding: 10px;
	    margin: 4px 4px 4px 0;
	    font-size: 1.0em;
	}

	.inputText_H {
	    width: 28%;
	}

	.inputText_L {
	    width: 90%;
	}

	.inputText_M {
	    width: 50%;
	}

	table.table_form textarea {
		width: 90%;
	    height: 9em;
	    overflow: hidden;
	    overflow-y: scroll;
	    vertical-align: middle;
	    padding: 10px;
	    margin: 4px 4px 4px 0;
	    font-size: 1.0em;
	}

	.table_form .btn_submit {
	    font-size: 1em;
	    cursor: pointer;
	    vertical-align: middle;
	    padding: 10px;
	    margin: 4px 4px 4px 0;
	}
	table.subject {
	    width: 100%;
	    border-collapse: collapse;
	    margin: 0 0 20px 0;
	}
	table.subject th {
	    font-size: 100%;
	    line-height: 150%;
	    padding: 10px 0;
	    color: #eb4753;
	    border-bottom: solid 2px #eb4753;
	}
	table.subject td {
	    font-size: 100%;
	    font-weight: bold;
	    line-height: 150%;
	    padding: 10px 15px;
	    border-bottom: solid 1px #ccc;
	}
	table.step3 td {
		display: block;
	}
	.terms {
	    margin: 0;
	    padding: 10px 15px;
	    background: #f3f6f8;
	    border: solid 1px #fe9898;
	    font-size: 16px;
	}
	.con_list, .con_list2 {
		border: solid 1px #eb4753;
		margin: 0 auto 2em auto;
		padding: 0em 1em 1em 1em;
	}
	.qst { font-size: 105%; font-weight: bold; }
	.contents_voice{margin:0 20px 60px 20px;padding:0;}
	.cv{margin:0 0 15px 0;padding:0;}
	.youtube {position:relative;padding-bottom:56.25%;padding-top:30px;height:0;overflow:hidden;}
	.youtube iframe {position:absolute;top:0;left:0;width:100% !important;height:100%;}
}







/* DS letter */

.red_obi {
	padding: 1px 10px;
	background: #cd0018;
	color: #fff;
	font-weight: bold;
	text-align: center;
}