@charset "utf-8";
/* CSS Document */

/*ブラウザスタイルの初期化*/

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
	margin:0;
	padding:0;
}
body { -webkit-text-size-adjust: 100%;}
table {
	border-collapse:collapse;
	border-spacing:0;
}
address, caption, cite, code, dfn, th, var {
	font-style:normal;
	font-weight:normal;
}
ol, ul, li { list-style:none;}
h1, h2, h3, h4, h5, h6 { font-weight: normal; font-size: 1.6rem; }

fieldset, img { border:0;}
caption, th { text-align: left;}
.center { text-align: center;}
.left { float: left;}
.tx-left { text-align: left;}
.right { float: right;}
.tx-right { text-align: right;}
.bold { font-weight: bold;}
header, section, footer, aside, nav, article, figure { display: block;}

/*画像のボーダーを消去*/
img {
	border: none;
	vertical-align: bottom;
	image-rendering: -webkit-optimize-contrast;
}

/*clearfix*/
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	_min-height: 1px;
	verflow: hidden;
}
* html .clearfix {
	height: 1px;
	/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/
}


/* 共通設定 */

* {
	-webkit-appearance: none;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
html {
	overflow-y: scroll;
	font-size: 62.5%;
	scroll-behavior: smooth; }
	@media screen and (max-width: 640px){		/*640px以下の時*/
		html {/* font-size: 54.7%;*/font-size: 48%; }
	}
a, a:hover, a:hover i, a:before, a:after, a i, a img {
	-webkit-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}
a:hover img {
	opacity: 0.60;
	filter: alpha(opacity=60);
	-moz-opacity: 0.60;
	-ms-filter: "alpha(opacity=60)";
	-webkit-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}
.bold { font-weight: 400; }
.center { text-align: center; }
.super { vertical-align: super; font-size: 60%; }

/*フォントサイズの指定*/
.fs12 { font-size: 1.2rem !important;}
.fs14 { font-size: 1.4rem !important;}
.fs16 { font-size: 1.6rem !important;}
.fs18 { font-size: 1.8rem !important;}
.fs21 { font-size: 2.1rem !important;}
.fs24 { font-size: 2.4rem !important;}
.fs27 { font-size: 2.7rem !important;}
.fs32 { font-size: 3.2rem !important;}
.fs36 { font-size: 3.6rem !important;}

/*スペースの指定*/
.mt5 { margin-top: 5px !important;}
.mt8 { margin-top: .8rem !important;}
.mt10 { margin-top: 10px !important;}
.mt15 { margin-top: 15px !important;}
.mt20 { margin-top: 20px !important;}
.mt30 { margin-top: 30px !important;}
.mt35 { margin-top: 35px !important;}
.mt40 { margin-top: 40px !important;}

.mb5 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb35 { margin-bottom: 35px !important;}
.mb40 { margin-bottom: 40px !important;}

.ml5 { margin-left: 5px !important;}
.ml10 { margin-left: 10px !important;}
.ml15 { margin-left: 15px !important;}
.ml20 { margin-left: 20px !important;}
.ml30 { margin-left: 30px !important;}
.ml40 { margin-left: 40px !important;}

.mr5 { margin-right: 5px !important;}
.mr10 { margin-right: 10px !important;}
.mr15 { margin-right: 15px !important;}
.mr20 { margin-right: 20px !important;}
.mr30 { margin-right: 30px !important;}
.mr40 { margin-right: 40px !important;}

.pt5 { padding-top: 5px !important;}
.pt10 { padding-top: 10px !important;}
.pt15 { padding-top: 15px !important;}
.pt20 { padding-top: 20px !important;}
.pt30 { padding-top: 30px !important;}
.pt40 { padding-top: 40px !important;}

.pb5 { padding-bottom: 5px !important;}
.pb10 { padding-bottom: 10px !important;}
.pb15 { padding-bottom: 15px !important;}
.pb20 { padding-bottom: 20px !important;}
.pb30 { padding-bottom: 30px !important;}
.pb40 { padding-bottom: 40px !important;}

.pl5 { padding-left: 5px !important;}
.pl10 { padding-left: 10px !important;}
.pl15 { padding-left: 15px !important;}
.pl20 { padding-left: 20px !important;}
.pl30 { padding-left: 30px !important;}
.pl40 { padding-left: 40px !important;}

.pr5 { padding-right: 5px !important;}
.pr10 { padding-right: 10px !important;}
.pr15 { padding-right: 15px !important;}
.pr20 { padding-right: 20px !important;}
.pr30 { padding-right: 30px !important;}
.pr40 { padding-right: 40px !important;}

.mbn { margin-bottom: 0 !important;}
.pbn { padding-bottom: 0 !important;}
.mtn { margin-top: 0 !important;}
.ptn { padding-top: 0 !important;}
.mln { margin-left: 0 !important;}
.pln { padding-left: 0 !important;}
.mrn { margin-right: 0 !important;}
.prn { padding-right: 0 !important;}

.h5 { height: 5px;}
.h10 { height: 10px;}
.h15 { height: 15px;}
.h20 { height: 20px;}
.h25 { height: 25px;}
.h30 { height: 30px;}
.h35 { height: 35px;}
.h40 { height: 40px;}
.h45 { height: 45px;}
.h50 { height: 50px;}

/* VideoWidth100% */

.YouTube {
	height: 0;
	padding-bottom: 56.25%;
	/*padding-top: 30px;*/
	overflow: hidden;
	position: relative !important;
} 
.YouTube iframe,  
.YouTube object,  
.YouTube embed {
	position: absolute !important;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.ls05 { letter-spacing: -.05em;}
.ls1 { letter-spacing: -.1em;}
.ls15 { letter-spacing: -.15em;}
.ls2 { letter-spacing: -.2em;}


/* icon font */

/*@font-face {
	font-family: 'icomoon';
	src:url('./fonts/icomoon.eot?6y3i5o');
	src:url('./fonts/icomoon.eot?#iefix6y3i5o') format('embedded-opentype'),
		url('./fonts/icomoon.woff?6y3i5o') format('woff'),
		url('./fonts/icomoon.ttf?6y3i5o') format('truetype'),
		url('./fonts/icomoon.svg?6y3i5o#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
}
[class^="icon-"], [class*=" icon-"] {
	font-family: 'icomoon';
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.icon-line:before {
	content: "\e901";
}
.icon-ameba:before {
	content: "\e900";
}
.icon-ac:before {
	content: "\e902";
}
a.fb:before,
a.tw:before,
a.in:before {
	font-family: "Font Awesome 5 Brands";
}
a.tl:before {
	font-family: "Font Awesome 5 Free";
}
a.li:before,
a.bl:before {
	font-family: 'icomoon';
}
a.fb:before {
	content: "\f09a";
}
a.tw:before {
	content: "\f099";
}
a.li:before {
	content: "\e901";
}
a.in:before {
	content: "\f16d";
}
a.bl:before {
	content: "\e900";
}
a.tl:before {
	content: "\f87b";
	font-weight: 900;
}*/

/* リストスタイル */

/* 黒丸 */
.disc { list-style: disc outside; margin-top: 1.6rem; margin-left: 0.6rem;}
.disc > li { margin-bottom: 0.6rem; padding-left: 1.8rem; position: relative; }
.disc > li:before { content: '●'; width: 1.2rem; font-size: 1.2rem; position: absolute; left: 0; top: 0.4rem; }

/* 白丸 */
.maru { list-style: circle outside; margin-top: 1.6rem; margin-left: 0.6rem;}
.maru > li { margin-bottom: 0.8rem; padding-left: 1.8rem; position: relative; }
.maru > li.right { position: inherit; }
.maru > li:last-child { margin-bottom: 0; }
.maru > li::before { content: '〇'; width: 1.2rem; font-size: 1.2rem; position: absolute; left: 0; top: 0.4rem; }
.maru > li.right::before { content: ''; position: relative;  }
.maru > li ul { margin-top: 0.8rem; padding-bottom: 0.4rem; }
.maru > li:last-child ul { padding-bottom: 0; }

/* ● */
/*.maru > li { margin-bottom: 0.8rem; padding-left: 1.8rem; position: relative; }
.maru > li:before { content: '●'; width: 1.6rem; text-align: right; position: absolute; left: 0; }*/

/* ■ */
.shikaku > li { margin-bottom: 0.6rem; padding-left: 1.8rem; position: relative; }
.shikaku > li:before { content: '■'; width: 1.6rem; text-align: right; position: absolute; left: 0; }

/* ※ */
.kome > li { margin-bottom: 0.6rem; padding-left: 1.8rem; position: relative; }
.kome > li:before { content: '※'; width: 1.6rem; text-align: right; position: absolute; left: 0; }

/* - */
.minus > li { margin: 0.6rem 0; padding-left: 1.8rem; position: relative; }
.minus > li:before { content: '-'; width: 1.6rem; text-align: center; position: absolute; left: 0; }

/* ◆ */
.dia > li { margin-bottom: 0.6rem; padding-left: 1.8rem; position: relative; }
.dia > li:before { content: '◆'; width: 1.6rem; text-align: right; position: absolute; left: 0; }

/* ・ */
.point > li { margin-bottom: 0.6rem; padding-left: 1.8rem; position: relative; }
.point > li:before { content: '・'; width: 1.6rem; text-align: right; position: absolute; left: 0; }
.point > li.none::before { content: ''; }

/* 1. 2. 3. */
.dot { counter-reset: li; margin-bottom: 1em; }
.dot > li { margin-bottom: 0.4em; padding-left: 2em; position: relative; }
.dot > li:before { content: counter(li)'.'; counter-increment: li; width: 1.5em; text-align: right; position: absolute; left: 0; }

/* (1) (2) (3) */
.kakko { counter-reset: li; margin-bottom: 1em; }
.kakko > li { margin-bottom: 0.4em; padding-left: 2.5em; position: relative; }
.kakko li:before { content: '（'counter(li)'）'; counter-increment: li; width: 1.5em; text-align: right; position: absolute; left: 0; }

/* 1) 2) 3) */
.kata_kakko { counter-reset: li; margin-bottom: 1em; }
.kata_kakko > li { margin-bottom: 0.4em; padding-left: 2em; position: relative; }
.kata_kakko > li:before { content: counter(li)'）'; counter-increment: li; width: 1.5em; text-align: right; position: absolute; left: 0; }

/* ① ② ③ */
.maru_num { padding-left: 1.5em; }
.maru_num > li { position: relative; margin-bottom: .64em; }
.maru_num > li:nth-child(1)::before { content: '①'; }
.maru_num > li:nth-child(2)::before { content: '②'; }
.maru_num > li:nth-child(3)::before { content: '③'; }
.maru_num > li:nth-child(4)::before { content: '④'; }
.maru_num > li:nth-child(5)::before { content: '⑤'; }
.maru_num > li::before { position: absolute; left: -1.5em; }