@charset "utf-8";

html { overflow: auto; }
body { overflow: hidden; }

html {
	overflow-y: scroll;
	-webkit-box-sizing: border-box;
		 -moz-box-sizing: border-box;
					box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
			-ms-text-size-adjust: 100%;
}

*,
*:before,
*:after {
	-webkit-box-sizing: inherit;
		 -moz-box-sizing: inherit;
					box-sizing: inherit;
}

body {
	font-size: 15px;
	font-family: "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
}

body { /* フェートイン */
	animation: fadeIn 1s ease 0s 1 normal;
	-webkit-animation: fadeIn 1s ease 0s 1 normal;
}
@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

h1,h2,h3,h4,h5,h6,p,ul,ol {
	margin-top: 0;
}

h1,h2,h3,h4,h5,h6 {
	font-feature-settings: "palt";
}

p {
	text-align: left;
	/* text-align: justify; */
	/* text-justify: inter-ideograph; */
}

img {
	max-width: 100%;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

table {
	border-collapse: collapse;
}

figure {
	border: 0;
	margin-right: 0;
	margin-left: 0;
}

fieldset {
	border: 0;
}

input[type="text"],
input[type="email"],
textarea {
	font-family: monospace;
}

.cl:after,
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

@media(max-width: 768px) {
	html,body{
		width: 100%;
		min-width: 100%;
		font-size: 100%;
		-webkit-text-size-adjust: 100%;
				-ms-text-size-adjust: 100%;
	}
}

/* ==========================================================================
	 メディアクエリによる表示／非表示
	 ========================================================================== */

.ls,.lsc,.large-screen {display: block;}
.ss,.ssc,.small-screen {display: none;}

@media(max-width: 768px) {
	.ls,.lsc,.large-screen {display: none;}
	.ss,.ssc,.small-screen {display: block;}
}

/* ==========================================================================
	 レイアウト
	 ========================================================================== */

/* 幅 */

.l-width {
	margin: 0 auto;
	max-width: 880px;
}

/* 部品 */

.l-module {
	margin-top: 40px;
	margin-bottom: 40px;
}

@media(max-width: 800px) {
	.l-width {
		width: 100%;
	}
	.l-module {
		margin-top: 20px;
		margin-bottom: 20px;
	}
}

/* ==========================================================================
	 背景
	 ========================================================================== */

body {
	background: #fff;
}

/* ==========================================================================
	 ヘッダー
	 ========================================================================== */

.header {
	text-align: center;
	line-height: 1;
	background: #000 url("img/header-bg.jpg") no-repeat center top;
	background-size: cover;
}
.header,
.header img {
	font-size: 0;
}

.countdown {
	margin: 0 auto;
	padding: 18px 0;
	background-color: #000;
	color: #fff;
	text-align: center;
	font-size: 24px;
	font-weight: bold;
}

.countdown strong {
	color: #ff6;
}

.header-1 {
	margin: 0 auto;
	padding: 18px 0 15px;
	background-color: rgba(68,46,23,.8);
	box-shadow: 0 3px 3px rgba(0,0,0,.5);
}

.header-2 {
	margin: 0 auto;
	padding: 0 0 40px;
}

@media(max-width: 768px) {
	.header {
	}
	.countdown {
		padding: 10px;
		font-size: 16px;
	}
	.countdown strong {
		display: block;
		margin-bottom: 6px;
	}
	.header-1 {
		margin: 0 auto;
		padding: 20px;
	}
	.header-2 {
		margin: 20px;
	}
}

/* 画像を別で用意する場合 */

.header-narrow {
	display: none;
}

@media(max-width: 768px) {
	.header-wide {
		display: none;
	}
	.header-narrow {
		display: block;
	}
}

/* ==========================================================================
	 背景
	 ========================================================================== */

body {
	background-color: #e5e3da;
}

/* ==========================================================================
	 メイン
	 ========================================================================== */

.main {
	margin: 0 auto;
	padding: 50px;
	background-color: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

.main > *:first-child {
	margin-top: 0;
}
.main > *:last-child {
	margin-bottom: 0;
}

@media(max-width: 768px) {
	.main {
		padding: 20px;
	}
}

/* ==========================================================================
	 タイポグラフィー
	 ========================================================================== */

.main p:not([class]),
.main li:not([class]) {
	font-size: 19px;
	line-height: 1.618;
}

.main > p:not([class]) {
	margin: 0 0 1em;
}

.main > ul,
.main > ol {
	margin: 0 0 1em 1em;
}

@media(max-width: 768px) {
	.main p:not([class]),
	.main li:not([class]) {
		font-size: 16px;
	}
	.main p:not([class]) br {
		display: none;
	}
}

/* 小見出し H3
	 ========================================================================== */

.main > h3:not([class]) {
	margin: 40px 0;
	padding: 30px 0;
	border-top: 1px solid #ccad70;
	border-bottom: 1px solid #ccad70;
	text-align: center;
	font-size: 30px;
	line-height: 1.5;

	font-family: "ヒラギノ明朝 Pro W6","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif;

	/*margin-right: -100%;
	margin-left: -100%;
	padding-right: 100%;
	padding-left: 100%;*/
}
	.main > h3:not([class]):first-child {
		margin-top: 0;
	}

	.main > h3:not([class]) > strong {
		color: #c00;
	}

	.main > h3:not([class]) > small {
		font-size: 1em;
	}

@media(max-width: 768px) {
	.main > h3:not([class]) {
		margin: 20px -20px;
		padding: 1em 20px;
		font-size: 19px;
	}
}

.h3-img {
	text-align: center;
}

/* 小見出し H4
	 ========================================================================== */

.main > h4:not([class]) {
	margin: 40px auto 33px;
	padding: 1em 0 0;
	border-top: 1px solid #ccc;
	font-size: 27px;
	line-height: 1.333;
}

@media(max-width: 768px) {
	.main > h4:not([class]) {
	margin: 2em auto 1em;
		font-size: 18px;
	}
	.main > h4 br {
		display: none;
	}
}

/* 小見出し H5
	 ========================================================================== */

.main > h5 {
	margin: 40px auto 1em;
	padding: 20px 0 20px 1em;
	border-left: 15px solid #369;
	font-size: 27px;
	line-height: 1.333;
}

.main > h5 > strong {
	display: block;
	font-size: 21px;
	margin-bottom: 6px;
	color: #c00;
}

@media(max-width: 768px) {
	.main > h5:not([class]) {
	margin: 2em auto 1em;
		font-size: 16px;
	}
}

/* 引用
	 ========================================================================== */

.blockquote {
	margin: 40px;
	position: relative;
	padding: 20px 20px 20px 60px;
	box-sizing: border-box;
	font-style: italic;
	background: #f2eee6;
	color: #555;
}

.blockquote:before{
	display: inline-block;
	position: absolute;
	top: 18px;
	left: 15px;
	content: "\f10d";
	font-family: FontAwesome;
	color: #cfcfcf;
	font-size: 30px;
	line-height: 1;
	font-weight: 900;
}

.blockquote p {
	padding: 0;
	margin: 10px 0;
	line-height: 1.7;
}

.blockquote cite {
	display: block;
	text-align: right;
	color: #888888;
	font-size: 0.9em;
}

@media(max-width: 768px) {
	.blockquote {
		margin: 20px;
		padding: 20px 20px 20px 60px;
	}
}

/* キャプション
	 ========================================================================== */

.caption,
.main p.caption {
	color: #666;
	font-size: 16px;
	line-height: 1.5;
}

/* サイン
	 ========================================================================== */

p.sign {
	margin: 3em 0;
	text-align: right;
	font-weight: bold;
	font-size: 1.5em;
	font-family: "ヒラギノ明朝 Pro W6","Hiragino Mincho Pro","HGS明朝E","ＭＳ Ｐ明朝",serif;
}
	p.sign img {
		max-width: 50%;
	}

@media(max-width: 768px) {
	.main p.sign {
		margin: 20px 0 ;
	}
	.main p.sign img {
		max-width: 50%;
	}
}

/* 図
	 ========================================================================== */

.fig {
	margin: 40px;
	border: 9px solid #e6e6e6;
	padding: 30px;
}

@media(max-width: 768px) {
	.fig {
		margin: 20px;
		padding: 20px;
	}
}

/* 図１
	 ========================================================================== */

.fig-1 {
	margin: 40px;
	text-align: center;
}

@media(max-width: 768px) {
	.fig-1 {
		margin: 20px 0;
		padding: 20px;
	}
}

/* 表
	 ========================================================================== */

.table {
	margin: 40px auto;
	width: 100%;
}

.table th,
.table td {
	padding: 1em 1em .75em;
	vertical-align: top;
	border: 1px solid #ccc;
	text-align: left;
}

.table thead th {
	background: #f2eee6;
	color: #fff;
	text-align: center;
	font-weight: bold;
}

.table th,
.table td,
.table p {
	font-size: 18px;
	line-height: 1.5;
}

.table p {
	margin-bottom: .333em;
}
	.table p:last-child {
		margin-bottom: 0;
	}

.table tbody th {
	background: #f2eee6;
}

@media(max-width: 768px) {
	.table {
		margin: 20px auto;
	}
	.table th {
		white-space: nowrap;
	}
	.table th,
	.table td,
	.table p {
		font-size: 14px;
	}
}

/* ビデオ
	 ========================================================================== */

.video {
	margin: 40px auto;
	position: relative;
	display: block;
	overflow: hidden;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	height: 0;
}

.video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

@media(max-width: 640px) {
	.video {
		margin: 20px auto;
	}
}

/* 画像
	 ========================================================================== */

.img--center {
	text-align: center;
}

*[class*="img--"] > img {
	max-width: 75%;
	max-height: 450px;
}

.img--2c {
	display: flex;
	justify-content: center;
}
.img--2c > img:first-child {
	margin-right: 15px;
}
.img--2c > img:last-child {
	margin-left: 15px;
}

.img--right {
	width: 25%;
	float: right;
	margin: 0 0 2em 2em;
}
.img--right > img {
	min-width: 100%;
	max-height: none;
}

.img--shadow {
	box-shadow: 0 12px 15px rgba(0,0,0,.333);
}

@media(max-width: 768px) {
	*[class*="img--"] > img {
		max-height: 250px;
	}
	.img--2c > img {
		max-width: 45%;
	}
	.img--2c > img:first-child {
		margin-right: 10px;
	}
	.img--2c > img:last-child {
		margin-left: 10px;
	}
	.img--right {
		width: 33%;
		margin: 0 0 1em 1em;
	}
	.img--shadow {
		box-shadow: 0 6px 9px rgba(0,0,0,.333);
	}
}

/* ==========================================================================
	 ボレット
	 ========================================================================== */

ul.bullet {
	margin: 40px auto;
	padding: 40px;
	border: 40px solid #663333;
	background-color: #fff;
	list-style-type: none;
}

.main 
ul.bullet li {
	position: relative;
	margin-top: .75em;
	padding-top: .75em;
	padding-left: 33px;
	border-top: 1px solid #caca99;
	font-weight: bold;
	font-size: 21px;
	line-height: 1.5;
}

ul.bullet li:first-child {
	margin-top: 0;
}

ul.bullet li:before {
	position: absolute;
	top: 16px;
	left: 0;
	display:inline-block;
	width: 27px;
	height: 27px;
	background: url("img/bullet-check.png");
	background-size: contain;
	background-repeat: no-repeat;
	content:" ";
	vertical-align: middle;
}

ul.bullet li h4 {
	margin: 0 0 .25em;
	font-size: 21px;
	line-height: 1.5;
}

.main 
ul.bullet li p {
	margin-bottom: .5em;
	font-weight: normal;
	font-size: 17px;
	line-height: 1.5;
}

	ul.bullet li p:last-child {
		margin-bottom: 0;
	}

@media(max-width: 768px) {
	.main ul.bullet {
		margin: 20px auto;
		padding: 15px;
		border-width: 12px;
	}
	.main ul.bullet > li {
		padding-left: 25px;
		font-size: 16px;
	}
	.main ul.bullet > li:before {
		width: 20px;
		height: 20px;
	}
	.main ul.bullet > li > h4 {
		font-size: 18px;
	}
	.main ul.bullet > li > p {
		font-size: 15px;
	}
	.main ul.bullet li br {
		display: none;
	}
}

/* ==========================================================================
	 特典
	 ========================================================================== */

.bonus {
	margin: 40px auto;
	padding: 60px;
	background: 
		url("img/image-bg--ornament--gold--lt.jpg") no-repeat left   top,
		url("img/image-bg--ornament--gold--rt.jpg") no-repeat right  top,
		url("img/image-bg--ornament--gold--lb.jpg") no-repeat left   bottom,
		url("img/image-bg--ornament--gold--rb.jpg") no-repeat right  bottom, 
		url("img/image-bg--ornament--gold--ct.jpg") repeat-x  center top,
		url("img/image-bg--ornament--gold--cb.jpg") repeat-x  center bottom,
		url("img/image-bg--ornament--gold--lc.jpg") repeat-y  left   center,
		url("img/image-bg--ornament--gold--rc.jpg") repeat-y  right  center,
		url("img/image-bg--ornament--gold--cc.jpg") repeat    center center;
}

/* タイトル */

.bonus > h4 {
	margin: 0 0 1em;
	padding: .66em 0;
	border-top: 1px solid #caca99;
	border-bottom: 1px solid #caca99;
	color: #000;
	text-align: center;
	font-weight: bold;
	font-size: 30px;
	line-height: 1.333;
}
	.bonus > h4 > strong:not([class]) {
		display: block;
		margin: 0 0 1em;
		padding-bottom: .66em;
		color: #c00;
		font-size: 21px;
		border-bottom: 1px solid #caca99;
		letter-spacing: 3px;
		text-indent: 3px;
	}
	.bonus > h4 > small:not([class]) {
		display: block;
		margin: .5em 0 0;
		font-weight: normal;
		font-size: .666em;
	}
	.bonus > h4 > *:first-child {
		margin-top: 0;
	}
	.bonus > h4 > *:last-child {
		margin-bottom: 0;
	}

.bonus > p,
.bonus > li {
}

.bonus > p:last-child {
	margin-bottom: 0;
}

.bonus > p strong {
}

p.bonus__img {
	margin: 0 auto 25px;
	text-align: center;
}

p.bonus__img img {
	max-width: 100%;
	max-height: 408px;
}

@media(max-width: 768px) {
	.bonus {
		margin: 20px auto;
		padding: 40px;
	}
	p.bonus__img {
		margin: 0 auto 20px;
		max-width: 100%;
		max-height: 408px;
	}
	.bonus > h4 {
		font-size: 19px;
	}
	.bonus > h4 > strong:not([class]) {
		font-size: 15px;
	}
	.bonus > h4 br:not([class]) {
		display: none;
	}
}


/* ==========================================================================
	 限定特典
	 ========================================================================== */

.bonus-s__wrapper {
}

.bonus-s {
	margin: 33px auto;
	padding: 33px;
	border: 25px solid #369;
	background-color: #fff;
}

/* タイトル */

.bonus-s > h4 {
	margin: 0 0 1em;
	padding: .66em 0;
	border-top: 1px solid #caca99;
	border-bottom: 1px solid #caca99;
	color: #000;
	text-align: center;
	font-weight: bold;
	font-size: 30px;
	line-height: 1.333;
}
	.bonus-s > h4 > strong:not([class]) {
		display: block;
		margin: 0 0 1em;
		padding-bottom: .66em;
		color: #c00;
		font-size: 24px;
		border-bottom: 1px solid #c00;
		letter-spacing: 3px;
		text-indent: 3px;
	}
	.bonus-s > h4 > small:not([class]) {
		display: block;
		margin: .5em 0 0;
		font-weight: normal;
		font-size: .666em;
	}
	.bonus-s > h4 > *:first-child {
		margin-top: 0;
	}
	.bonus-s > h4 > *:last-child {
		margin-bottom: 0;
	}

.bonus-s > p,
.bonus-s > li {
}

.bonus-s > p:last-child {
	margin-bottom: 0;
}

.bonus-s > p strong {
}


@media(max-width: 768px) {
	.bonus-s {
		margin: 20px auto;
		padding: 20px;
		border-width: 15px;
	}
	.bonus-s > h4 {
		font-size: 19px;
	}
	.bonus-s > h4 > strong:not([class]) {
		font-size: 15px;
	}
	.bonus-s > h4 br:not([class]) {
		display: none;
	}
}

/* ==========================================================================
	 特典終了
	 ========================================================================== */

.closed__wrapper {
	position: relative;
}

.closed__wrapper .closed {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	padding: 2em;
	z-index: 2;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.5);

	color: #fff;
	font-size: 30px;
	line-height: 1.5;
	font-weight: bold;

	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* ==========================================================================
	 チェックリスト
	 ========================================================================== */

ul.checklist {
	margin: 30px 0;
	padding: 30px;
	background-color: #f2eee6;
	list-style-type: none;
}

ul.checklist > li {
	margin: 0;
	padding: 12px;
	border-top: 1px solid #ccc;
	font-weight: bold;
	padding-left: 1.5em;
	text-indent: -1.5em;
}

ul.checklist > li:before {
	margin-right: 12px;
	color: #369;
	content: '\f14a';
	font-family: FontAwesome;
}

ul.checklist > li:last-child {
	border-bottom: 1px solid #ccc;
}

ul.checklist > li.caption {
	padding-left: 1.5em;
	text-indent: -1em;
	font-weight: normal;
	font-size: 17px;
	line-height: 1.75em;
}
ul.checklist > li.caption:before {
	content: none;
}

@media(max-width: 768px) {
	ul.checklist {
		margin: 20px 0;
		padding: 15px;
		border: none;
	}
	.main 
	ul.checklist > li {
		font-size: 4vw;
		padding: 6px 0;
		padding-left: 2em;
	}
	ul.checklist > li:before {
		margin-right: 6px;
	}
}

/* ==========================================================================
	 ナンバーリスト
	 ========================================================================== */

ol.numberlist {
	margin: 30px 0;
	padding: 30px;
	background-color: #f2eee6;
	color: #369;
	list-style-position: inside;
}

ol.numberlist > li {
	margin: 0;
	padding: 12px;
	border-top: 1px solid #ccc;
	font-weight: bold;
	padding-left: 1.5em;
	text-indent: -1.5em;
}

ol.numberlist > li > span {
	color: #000;
}

ol.numberlist > li:last-child {
	border-bottom: 1px solid #ccc;
}

@media(max-width: 768px) {
	ol.numberlist {
		margin: 20px 0;
		padding: 15px;
		border: none;
	}
	.main 
	ol.numberlist > li {
		font-size: 4vw;
		padding: 6px 0;
		padding-left: 2em;
	}
	ol.numberlist > li:before {
		margin-right: 6px;
	}
}

/* ==========================================================================
	 囲み
	 ========================================================================== */

.box {
	margin: 30px 0;
	padding: 30px;
	background-color: #f2eee6;
}

.main .box *:last-child {
	margin-bottom: 0;
}

@media(max-width: 768px) {
	.box {
		margin: 20px 0;
		padding: 20px;
	}
}

/* ==========================================================================
	 囲み2
	 ========================================================================== */

.box2 {
	margin: 33px auto;
	padding: 33px;
	border: 25px solid #ffe41a;
	background-color: #fff;
}

.main .box2 .h2 {
	margin: -33px -33px 33px;
}
.main .box2 *:last-child {
	margin-bottom: 0;
}

@media(max-width: 768px) {
	.box {
		margin: 20px 0;
		padding: 20px;
	}
}

/* ==========================================================================
	 フォーム
	 ========================================================================== */

.form {
	position: relative;
	margin: 40px 0 25px;
	padding: 40px;
	background: #f2efe6;
	text-align: center;
}

.form__title {
	margin: -40px -40px 40px;
	padding: 20px 1em;
	background-color: rgb(68,46,23);
	color: #fff;
	font-size: 24px;
	line-height: 1;
}
.form__title img {
}

.form__head {
	margin: 0 auto 20px;
	padding: 0;
	text-align: center;
	font-weight: bold;
	font-size: 24px;
}

.form input[type="text"] {
	display: block;
	margin: 0 auto 20px;
	padding: 1em;
	width: 100%;
	border: 1px solid #ccc;
	background-color: #fff;
	color: #666;
	text-align: center;
	font-weight: normal;
	font-style: normal;
	font-size: 21px;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;

	box-shadow: 0 3px 3px rgba(0,0,0,.1) inset;
}

.form__button {
	display: block;
	margin: 0 auto 20px;
	max-width: 100%;
}

.form p.form__note {
	overflow-y: scroll;
	margin-bottom: 0;
	padding: .5em;
	height: 4.6em;
	background-color: #fff;
	color: #666;
	font-size: 13px;
	line-height: 1.333;
}

.form p.form__note:last-child {
	margin-bottom: 0;
}

@media(max-width: 640px) {
	.form {
		margin: 20px 0;
		padding: 20px;
	}
	.form__title {
		margin: -20px -20px 15px;
		padding: 12px;
		font-size: 16px;
	}
	.form__head {
		font-size: 16px;
	}
	.form input[type="text"] {
		margin: 0 0 15px;
		font-size: 15px;
	}
	.form__button {
		margin: 0 0 15px;
		max-width: 100%;
	}
	.form p.form__note {
		font-size: 10px;
	}

	body div.submit {
		padding: 0;
	}
	body .form_input_input {
		max-width: 100%;
	}
}


/* ==========================================================================
	 ポイント
	 ========================================================================== */

.point__wrapper {
	margin: 40px auto;
	padding: 40px;
	background-color: #f2eee6;

	margin-right: -100%;
	margin-left: -100%;
	padding-right: 100%;
	padding-left: 100%;
}

.point__wrapper > *:last-child {
	margin-bottom: 0;
}

.point {
	margin-bottom: 40px;
	padding: 40px;
	background-color: #fff;
	box-shadow: 0 1px 3px rgba(0,0,0,.1);
}

.point h4 {
	margin-bottom: 20px;
	text-align: center;
	font-size: 27px;
	line-height: 1.5;
}

.point h4 strong {
	display: block;
	margin: 0 auto 1em;
	padding: .21em;
	background: #369;
	color: #fff;
	text-indent: -6px;
	letter-spacing: 6px;
	font-size: 18px;
}

.point h4 small {
	display: block;
	font-size: 21px;
}

.point__img {
	margin-bottom: 20px;
}

.point p:last-child {
	margin-bottom: 0;
}

@media(max-width: 768px) {
	.point__wrapper {
		margin: 20px -20px 20px;
		padding: 20px;
	}
	.point {
		margin-bottom: 20px;
		padding: 20px;
	}
	.point h4 {
		font-size: 18px;
	}
	.point h4 strong {
		font-size: 15px;
	}
	.point p, 
	.point h4 small {
		font-size: 15px;
	}
}

/* ==========================================================================
	 ポイント（小）
	 ========================================================================== */

.point-s__wrapper {
}

.point-s {
	overflow: hidden;
	margin: 33px 0;
	padding: 25px;
	background-color: #f2eee6;
}

.point-s__img {
	float: right;
	margin: -25px -25px -25px 25px;
	width: 210px;
}

.point-s > h4 {
	display: inline-block;
	margin: 0 0 12px;
	padding: .5em 1em;
	background-color: #369;
	color: #fff;
	letter-spacing: 2px;
	font-size: 18px;
	line-height: 1;
}

.point-s > p {
	font-weight: bold;
	font-size: 24px;
}

@media(max-width: 768px) {
	.point-s {
		margin: 20px 0;
		padding: 20px;
	}
	.point-s__img {
		display: block;
		float: none;
		margin: 0 auto 20px;
		width: 50%;
	}
	.point-s > h4 {
		display: block;
		text-align: center;
		letter-spacing: 1px;
		font-size: 15px;
	}
	.main .point-s > p {
		margin-bottom: 0;
		font-weight: bold;
		font-size: 16px;
	}
}

/* ==========================================================================
	 特典
	 ========================================================================== */

ul.present {
	display: flex;
	margin: 0 0 -25px;
	padding: 0;
	list-style-type: none;
	justify-content: space-between;
}

ul.present li:first-child {
	margin-right: 20px;
}
ul.present li:last-child {
	margin-left: 20px;
}

@media(max-width: 768px) {
	ul.present li:first-child {
		margin-right: 10px;
	}
	ul.present li:last-child {
		margin-left: 10px;
	}
}

/* ==========================================================================
	 お客様の声
	 ========================================================================== */

.voc__wrapper {
	margin: 40px auto;
	/*padding: 40px;*/
	/*background: #f2eee6;*/

	/*margin-right: -100%;
	margin-left: -100%;
	padding-right: 100%;
	padding-left: 100%;*/
}

.voc {
	position: relative;
	margin: 30px auto;
	padding: 30px;
	border: 1px solid #ccc;
	border-top: 9px solid #369;
	background: #fff;
	/*box-shadow: 0 1px 2px rgba(0,0,0,.1);*/
}
	.voc:first-child {
		margin-top: 0;
	}
	.voc:last-child {
		margin-bottom: 0;
	}
	.voc *:first-child {
		margin-top: 0;
	}
	.voc *:last-child {
		margin-bottom: 0;
	}

.main 
.voc > p {
	font-size: 18px;
	line-height: 1.75;
}

.main 
.voc > p:last-child {
	margin-bottom: 0;
}

img.voc__img {
	display: block;
	margin: 0 0 20px 20px;
	width: 150px;
	height: 150px;
	float: right;
}

.main 
p.voc__name {
	margin: 0;
	color: #333;
	font-size: 24px;
	line-height: 1.75;
	font-weight: bold;
	font-feature-settings: "palt";
}
	p.voc__title {
		display: block;
		font-size: 15px;
		color: #666;
	}
	p.voc__name > .pref {
		margin-left: 3px;
		font-size: 15px;
	}
	p.voc__name > strong {
		margin-right: .2em;
		color: #000;
		font-size: 24px;
		line-height: 1.333;
		letter-spacing: 3px;
	}

hr.voc__hr {
	border: 0;
	height: 0;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	margin-bottom: 15px;
}

.voc__video {
	position: relative;
	overflow: hidden;
	margin: 33px auto;
	padding-bottom: 56.25%;
	width: 100%;
	height: 0;
}
	.voc__video iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

@media(max-width: 800px) {
	.voc__wrapper {
		margin: 20px -20px;
		padding: 20px;
	}
	.voc {
		margin: 20px auto;
		padding: 20px;
	}
	img.voc__img {
		margin: 0 0 .75em .75em;
		width: 33%;
		height: 33%;
	}
	.main .voc > p {
		font-size: 15px;
	}
	.main p.voc__name {
		font-size: 18px;
	}
	.main p.voc__title {
		font-size: 13px;
	}
	.voc__video {
		margin-bottom: 20px;
	}
}

/* ==========================================================================
	 プロフィール
	 ========================================================================== */

.profile {
	margin: 40px auto;
	padding: 40px;
	background: #f2eee6;
}
	.profile:last-child { margin-bottom: 0 !important; }
	.profile > *:last-child { margin-bottom: 0 !important; }

.profile__title {
	margin-bottom: 1em;
}

.profile__name-j {
	margin-bottom: .5em;
	color: #333;
	letter-spacing: .1em;
	font-weight: bold;
	font-size: 27px;
	line-height: 1;
	font-feature-settings: "palt";
}

.profile__name-e {
	margin-bottom: 1em;
	color: #95844a;
	letter-spacing: .25em;
	font-weight: normal;
	font-size: 18px;
	line-height: 1;
	font-feature-settings: "palt";
}

.profile__photo {
	float: right;
	margin: 0 0 40px 40px;
	width: 150px;
}

.main 
.profile h4 {
	margin: 1.5em 0 1em;
	padding-top: 1em;
	border-top: 1px solid #ccc;
	font-size: 18px;
}

ul.profile__books {
	margin: 0;
	padding: 0;
	list-style-type: none;
	font-size: 0;
}

ul.profile__books li {
	display: inline;
	font-size: 0;
}

ul.profile__books li img {
	margin-right: 15px;
	width: 25%;
	/*box-shadow: 0 1px 3px rgba(0,0,0,.1);*/
}
ul.profile__books li:last-child img {
	margin-right: 0;
}

@media(max-width: 768px) {
	.profile {
		margin: 20px auto;
		padding: 20px;
	}
	.profile__photo {
		display: block;
		float: none;
		margin: 1em auto;
		width: 50%;
	}
	.profile__name-j {
		text-align: center;
		font-size: 18px;
	}
	.profile__name-e {
		text-align: center;
		font-size: 15px;
	}
	.main 
	.profile p,
	.main 
	.profile li {
		font-size: 15px;
	}
	.main 
	.profile h4 {
		font-size: 18px;
	}
	ul.profile__books li img {
		margin: 0 12px 6px 0;
		width: 33%;
	}
}

/* ==========================================================================
	 フッター
	 ========================================================================== */

.footer {
	overflow: hidden;
	margin: 40px auto;
	padding: 40px 0 0;
	font-size: 14px;
	color: #444;
	border-top: 1px solid #ccc;
}

.footer__table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0 auto 20px;
	width: 100%;
}

.footer__table {
	margin: 40px auto;
	margin-top: 0;
	width: 100%;
	border: 1px solid #ccc;
	border-collapse: collapse;
}

.footer__table caption,
.footer__table th,
.footer__table td {
	padding: 1em 1em;
	font-size: 16px;
	line-height: 1.5;
	text-align: left;
}

.footer__table caption {
	background: #663333;
	color: #fff;
}

.footer__table th {
	width: 20%;
	border-top: 1px solid #ccc;
	background: #faf7f0;
}

.footer__table td {
	border-top: 1px solid #ccc;
}

.footer__menu {
	margin-bottom: 1em;
	padding: 0 20px;
}

.footer__copyright {
	padding: 0 20px;
}

.footer a {
	color: #444;
	text-decoration: none;
}

.footer a:hover {
	text-decoration: underline;
}

.footer address {
	font-style: normal;
}

@media(max-width: 768px) {
	.footer {
		margin: 20px auto;
		padding: 20px 0;
		font-size: 12px;
	}
	.footer__table caption,
	.footer__table th,
	.footer__table td {
		padding: 1em;
		font-size: 12px;
	}
	.footer__logo,
	.footer__menu,
	.footer__copyright {
		float: none;
		margin-bottom: .5em;
		text-align: center;
	}
	.footer__table th {
		width: auto;
		white-space: nowrap;
	}
}

/* ==========================================================================
	 このページの先頭へ戻る
	 ========================================================================== */

.back-to-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	clear: both;
	text-align: right;
}

.back-to-top a {
	display: block;
	overflow: hidden;
	width: 40px;
	height: 40px;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAABhlBMVEUAAADMzMzd3d2AgIDd3d3d3d3c3Nzb29vc3NzV1dXc3Nzc3Nzd3d3d3d3c3Nzb29vc3Nzc3Nze3t7c3NzW1tbb29vd3d3d3d3d3d3c3Nzc3Nzf39/d3d3d3d3b29va2trc3NzGxsbb29vc3Nzd3d3d3d3c3Nzc3Ny/v7/c3Nzd3d3c3NzR0dHY2Njc3Nzc3Nzc3Nzc3Nzc3Nzb29vY2Nja2trc3Nzc3NzZ2dnc3Nze3t7d3d3c3Nzc3Nzc3NzX19fc3Nzc3Nzc3Nzd3d3b29vc3Nzc3Nzb29vV1dXd3d3c3NzV1dXd3d3c3Nzc3Nzd3d3c3Nzc3Nzd3d3d3d3c3Nzc3Nzb29vc3Nzd3d3d3d3d3d3c3Nzd3d3d3d3////o6Oj9/f329vbm5ub8/Pz5+fn4+Pj+/v7w8PDj4+Py8vLx8fHv7+/i4uL4+fnk5OTs7Ozd3d339/ekpqrt7e3u7u6doKS3ubzLzM6+wMLr6+vf39/6+vrl5uexs7bR09WqrbDr7O3e3+Ej3aiqAAAAXnRSTlMACuEC35y4FXYMFunx9NtH60j0px9NeHCUUCT+WchcKewJB2y70VjzCKjX2gsh1m2Yk9yPDUXV5RTG79DjkL0g+eTinV3FHUYS3r8G7d2+b/KZ4NK3dZ5RSlJ3SVq5/bnMpQAAAw1JREFUeF6t2WVz4lAUgOGDU6SFFipABaruLluVdXe58eBWddl/vjPMMGXTJpwk9/0Bz6ebKydQp6X53va+Ce9gafP1m/6+9t75JTCeJTy7GuUvkpwosERmr0QuecFHV2fDFiOaranFzydF8igxyftbmmw6uYY2eyojEJWETMHe1gD44l8CTJloVmYC7jjWG7AyIqmbyFgHUFzoc4ojqLiUM1Tf6/IdywSZfOzrAu2GdnIS0ZGU+zqk5XmWGZboimWWPere+EyR6K44M67mdS9miYGyi91Pe5G1NDFUei3ylOdqTBKDZRpdj71XnUfEcEedCVDmYIiJGIfS68qxZkA2p1jhIZ9ETCX5QlCb85iYLOus9QZSsllQTsUePIuVI6bjrBao5mYIhRh31WsIiDRAsad6KkwyhErMJFSyvZDogJLdVgGbUoRShWAFbMnQAjPDlTXTLNACheYxAOjgCbX4DgCYStIDk1MAMCoigPztXwwojgJ4LhHe9eHJyV0eIV56IMjjPJzI/4LWIspDisVWcGQwHlZMO+AZh/DQIvcWRq4QHlq8GgGvgPDQouCF9yzKuztEiewglHBe/honlmAT5/2Ha4I9LM7Diewg2AU1774K3FQAlCh44ZPqsjmt8RTirfqy0VjYhw+eUjxXA7mX4EirgWcPnlK8Vv/0NDaH/GnVU4pnWptDkNfYVW/O8kTR/fmpxl7Lf0dtsPguPQCNIg7AHgHwgfIhRf8YHaN90MMw5asIBAuUL0s2O63r3Ecb5Qvnu+qVuIfulZj+pR0s1rJ5r1zzrIAYjYfPb6jJmTULZv9AbRvmH4+KycOu2eftLuUH+A4oS5gbEQw9NcTIUB1iAES2jI5ZtiIqg6BtY4Og7W5QaX/ByKhqYR9Ue76nf5i29xw0SkzrHfdNJ0C7bys6BpLZlR9Qt5BTx8h0AzDFsEPdGCCLuwOMpM1JTOBnHPDNtdkLdQbjcxRH982K0T02S3i9P8oX05woyITIgsili3y0fz1sAeO5Diq/P/ylkt870dfee+AC7f4Bnw1DMsoy0tsAAAAASUVORK5CYII=") no-repeat center center;
	background-size: contain;
	line-height: 100px;
}

.back-to-top a:active {
	outline: 0 none black;
}

/* ==========================================================================
	 スティッキーバナー
	 ========================================================================== */

.sticky-banner {
	position: fixed;
	right: 20px;
	bottom: 20px;
	clear: both;
	text-align: right;
	z-index: 3;
}

.sticky-banner img {
	width: 450px;
	height: auto;
	box-shadow: 0 5px 10px rgba(0,0,0,.1);
}

.sticky-banner a:active {
	outline: 0 none black;
}

.sticky-banner a:hover > img {
	opacity: 1;
}

@media(max-width: 768px) {
	.sticky-banner {
		position: fixed;
		right: 0;
		bottom: 0;
		width: 100%;
		text-align: center;
	}
	.sticky-banner img {
		width: 100%;
		height: auto;
		box-shadow: none;
	}
}

/* ==========================================================================
	 強調文字
	 ========================================================================== */

.a-bold ,
p.a-bold {
	font-weight: bold;
}

.a-big ,
p.a-big {
	font-size: 21px;
}

.a-big1 ,
p.a-big1 {
	font-size: 24px;
}

.a-big2 ,
p.a-big2 {
	font-size: 27px;
}

.a-big3 ,
p.a-big3 {
	font-size: 30px;
}

.a-center ,
p.a-center {
	text-align: center;
}

.a-marker ,
p.a-marker {
	background: #FFEB3B;
	background: linear-gradient(transparent 33%, #FFEB3B 33%) repeat scroll 0% 0% transparent;
}

.a-red ,
p.a-red {
	color: #c00;
}

.a-underline ,
p.a-underline {
	text-decoration: underline;
}

@media(max-width: 768px) {
	.a-big ,
	p.a-big {
		font-size: 5vw;
	}

	.a-big1 ,
	p.a-big1 {
		font-size: 19px;
	}

	.a-big2 ,
	p.a-big2 {
		font-size: 21px;
	}

	.a-big3 ,
	p.a-big3 {
		font-size: 7vw;
	}
}

/* 点滅 */
.a-blinking {
	-webkit-animation:blink .8s ease-in-out infinite alternate;
		-moz-animation:blink .8s ease-in-out infinite alternate;
		animation:blink .8s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
		0% {opacity:0;}
		100% {opacity:1;}
}
@-moz-keyframes blink{
		0% {opacity:0;}
		100% {opacity:1;}
}
@keyframes blink{
		0% {opacity:0;}
		100% {opacity:1;}
}
