@charset "shift-jis";

/* スマホ */

@media screen and (max-width: 640px)
{
/* CSSリセット */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}



/* html
----------------------------------------------------- */

html{
	height: 100%;
	padding: 0;
	margin: 0;
}

/* body
-----------------------------------------------------*/

body{
	height: 100%;
	background-color: #FFFFFF;
	font-size: 14px;
	font-family:"メイリオ",sans-serif;
	line-height: 1.7em;
	margin: 0;
	padding: 0;
	word-wrap : break-word;
	overflow-wrap : break-word;
}
/* link関連
-----------------------------------------------------*/

a:link {
	text-decoration: none;
	color: #006666;
}

a:visited {
	text-decoration: none;
	color: #004444;
}

a:hover {
	text-decoration: none;
	color: #007777;
	font-weight: bold;
}

a:active {
	text-decoration: none;
	color: #007777;
}

#page_top{
	width: 60px;
	height: 60px;
	position: fixed;
	right: 0;
	bottom: 55px;
	background: #68E1B4;
	opacity: 0.5;
	border-radius: 3px;
	border: 1px solid #CCC;
	z-index: 9999;
}
#page_top a{
	position: relative;
	display: block;
	width: 60px;
	height: 60px;
	text-decoration: none;
}
#page_top a::before{
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f102';
	font-size: 25px;
	color: #00877A;
	position: absolute;
	width: 25px;
	height: 25px;
	top: -25px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}
#page_top a::after{
	content: 'TOP';
	font-size: 13px;
	color: #00877A;
	position: absolute;
	top: 30px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

/*wrap
-----------------------------------------------------*/

div#wrap{
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
}

/*container
-----------------------------------------------------*/

div#container{
	width: 100%;
	height: auto !important;
	height: 100%;
	min-height: 100%;
	position: relative;
	background-color: #FFFFFF;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	margin: 0 auto;
	position: relative;
	padding-bottom: 50px;
}

/*ヘッダー
-----------------------------------------------------*/

header{
	width: 100%;
	height: 90px;
	background-image: url(img/header_bg.jpg);
       position: absolute;
       top: 0;
       margin: 0;
       padding: 0;
	z-index: 998;
}

h1{
	font-size: 20px;
	font-weight: bold;
	color: #00877A;
	margin: 15px 70px 5px 10px;
	text-align: left;
	letter-spacing: 1px;
	text-shadow: #FFF 2px 0px,  #FFF -2px 0px,
				#FFF 0px -2px, #FFF 0px 2px,
				#FFF 2px 2px , #FFF -2px 2px,
				#FFF 2px -2px, #FFF -2px -2px,
				#FFF 1px 2px,  #FFF -1px 2px,
				#FFF 1px -2px, #FFF -1px -2px,
				#FFF 2px 1px,  #FFF -2px 1px,
				#FFF 2px -1px, #FFF -2px -1px;
}

header p {
	font-size: 11px;
	line-height: 1.2em;
	text-align: left;
	margin-right: 70px;
	margin-left: 10px;
}

/* nav部分
------------------------------------------------------------------ */

.navDrawr {
        background-color: #FFFFFF;
        position: fixed;
        width: 270px;
        top: 90px;
        bottom: 0;
        right: -270px;
        overflow: auto;
        -webkit-overflow-scrolling: touch;
}
body.menuOpen #wrapper{
	position: fixed;
	z-index: 998;
}
.overlay {
        display: none;
        background-color: rgba(0,0,0,0.3);
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
}
body.menuOpen header{
        position: fixed;
        top: 0;
        width: 100%;
        height: 90px;
	z-index: 998;
}
header .headerTop{
        padding: inherit;
        height: 90px;
}
.navDrawrBtn {
        text-align: right;
}
.navDrawrBtn span {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
        display: block;
        width: 60px;
        height: 90px;
        cursor: pointer;
    }
.navDrawrBtn span::before {
        font-family: 'Font Awesome 5 Free';
        content: "\f0c9";
        font-weight: 900;
        font-size: 24px;
        color: #00877A;
        position: absolute;
        left: 0;
        width: 100%;
        text-align: center;
        line-height: 50px;
}
.navDrawrBtn span::after{
	content: 'MENU';
	font-size: 11px;
	line-height: 2.8;
	color: #00877A;
	position: absolute;
	top: 29px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

body.menuOpen .navDrawrBtn span::before {
        font-family: 'Font Awesome 5 Free';
        content: "\f00d";
        font-weight: 900;
        color: #00877A;
}
body.menuOpen .navDrawrBtn span::after {
        content: " ";
}

.navDrawr a {
        position: relative;
}

.navDrawr a::after {
       position: absolute;
       top: 50%;
       margin-top: -20px;
       right: 12px;
       font-family: 'Font Awesome 5 Free';
       content: "\f054";
       font-weight: 900;
       color: #00877A;
}
.navDrawr>ul>li {
        float: none;
        width: 100%;
        border-bottom: 1px solid #A3D0D0;
}

.navDrawr>ul>li:hover {
	background-color: #C7E2E2;
}

.navDrawr>ul>li>a {
        text-align: left;
        border-right: none;
        font-size: 14px;
        font-weight: bold;
        line-height: 2.8;
        margin-left: 5px;
        display: block;
}

.navDrawr .sub {
        position: static;
        display: block!important;
        border-top: 1px solid #C7E2E2;
        width: 100%;
}

.navDrawr .sub li:first-child {
        width: 100%;
        border: none;
}

.navDrawr .sub li{
        width: 100%;
        border-top: 1px solid #A3D0D0;
}
.navDrawr .sub li:hover {
	background-color: #ECEDF1;
}

.navDrawr .sub li a{
        font-size: 14px;
        line-height: 2.8;
        margin-left: 12px;
        display: block;
}

    ul.imgList li{
        float: none;
        width: 98%;
        margin: 1%;
    }


/*メイン
-----------------------------------------------------*/

div.main{
	width: 100%;
	height: 100%;
	height: auto !important;
	margin: 0 auto;
	padding-top: 90px;
	padding-bottom: 250px;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}


h2{
	font-size: 17px;
	font-weight: bold;
	margin: 30px 10px 10px;
	padding: 0 0 2px 8px;
	border-left: 7px solid #99CFC9;
	border-bottom: 1px solid #99CFC9;
}

div.type {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	width: 97%;
	padding: 20px;
	margin: 0;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: -ms-flex;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;
}

/* フローリング用横長 */
div.type_box_col {
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: auto;
	max-width: 95%;
	border: 1px solid #CCC;
	border-radius: 7px;
	box-shadow: 2px 2px 4px #E0E0E0;
	padding: 10px;
	margin: 10px auto;
	font-size: 14px;
	line-height: 1.7em;
}

div.type_box_col h3 {
	font-size: 15px;
	font-weight: bold;
	color: #00877A;
	border-bottom: 1px dotted #666;
	padding: 3px;
	clear: both;
}

div.type_box_col img {
	max-width: 100%;
	margin: 30px auto 0;
}

div.type_box_col p {
	padding: 8px 0 0 0;
	font-size: 14px;
	line-height: 1.7em;
	clear: both;
}

div.type_box_col ul {
	list-style: disc;
	margin: 10px;
	padding-left: 20px;
}

div.type_box_col  dl,dt,dd {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	width: 97%;
	margin: 5px;
}

div.type_box_col  dt {
	color: #A14CAB;
	font-size: 14px;
	border-bottom: 1px dotted #666;
	padding: 4px 5px 2px;
}

div.type_box_col  dd {
	font-size: 14px;
	line-height: 1.7em;
}

/* 汎用・強力・超強力・中性他 */
div.type_box {
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: auto;
	max-width: 95%;
	border: 1px solid #CCC;
	border-radius: 7px;
	box-shadow: 2px 2px 4px #E0E0E0;
	padding: 10px;
	margin: 10px auto;
	font-size: 14px;
	line-height: 1.7em;
}

div.type_box h3 {
	font-size: 15px;
	font-weight: bold;
	color: #00877A;
	border-bottom: 1px dotted #666;
	padding: 3px;
	clear: both;
}

div.type_box img {
	max-width: 100%;
	display: block;
	margin: 5px 0;
}

div.type_box p {
	padding: 8px 0 0 0;
	font-size: 14px;
	line-height: 1.7em;
}

div.type_box ul {
	list-style: disc;
	margin: 10px;
	padding-left: 20px;
}

div.type_box dl,dt,dd {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	width: 97%;
	margin: 5px 0;
}

div.type_box dt {
	color: #A14CAB;
	font-size: 14px;
	border-bottom: 1px dotted #666;
	padding: 4px 5px 2px;
}

div.type_box dd {
	font-size: 14px;
	line-height: 1.7em;
}

div.item {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	width: 97%;
	padding: 20px;
	margin: 0;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: -ms-flex;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	align-content: flex-start;
}

div.item_box {
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: auto;
	max-width: 95%;
	border: 1px solid #CCC;
	border-radius: 7px;
	box-shadow: 2px 2px 4px #E0E0E0;
	padding: 10px;
	margin: 10px auto;
	font-size: 14px;
	line-height: 1.7em;
}
div.item_box h3 {
	font-size: 15px;
	font-weight: bold;
	color: #00877A;
	border-bottom: 1px dotted #666;
	padding: 3px;
	clear: both;
}
div.item_box img {
	max-width: 100%;
	display: block;
	float: left;
	margin: 5px 8px 5px 0;
}
div.item_box p {
	font-size: 14px;
	line-height: 1.7em;
	margin: 10px 0 0 0;
}
ul.poli_kumi {
	list-style: none;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	margin: 8px 0;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: -ms-flex;
	flex-flow: row nowrap;
	jastify-content: flex-start;
	align-items: center;
	align-content: stretch;
}
ul.poli_kumi li {
	flex: 1 1 auto;
	text-align: center;
	font-weight: bold;
}
ul.poli_kumi li a {
	color: #FFFFFF;
}
ul.poli_kumi li a:hover {
	color: #ECE4BB;
}
.poli_kumi01 {
	padding: 5px;
	border-radius: 5px;
	background-color: #FF6C73;
	font-size: 11px;
	line-height: 1.3;
	color: #FFFFFF;
	text-align: center;
	vertical-align: middle;
}
.poli_kumi02 {
	padding: 5px;
	border-radius: 5px;
	background-color: #FF966C;
	font-size: 11px;
	line-height: 1.3;
	color: #FFFFFF;
	text-align: center;
}
.poli_kumi03 {
	padding: 5px;
	border-radius: 5px;
	background-color: #56B4CC;
	font-size: 11px;
	line-height: 1.3;
	color: #FFFFFF;
	text-align: center;
}
.poli_kumi04 {
	padding: 5px;
	border-radius: 5px;
	background-color: #876880;
	font-size: 11px;
	line-height: 1.3;
	color: #FFFFFF;
	text-align: center;
}
li.poli_kumi04 span {
	display: block;
	font-size: 10px;
}

table.poli_yuka {
	margin: 5px auto;
	border-collapse: collapse;
	border-spacing: 0;
}
table.poli_yuka td {
	padding: 2px 6px;
	font-size: 12px;
	border: 1px solid #CCC;
	background-color: #FFF;
}

td.center {
	text-align: center;
}
span.str{
	font-weight: bold;
}

/* 商品紹介 */
div.seihin {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	width: 97%;
	padding: 20px;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: -ms-flex;
	flex-flow: row wrap;
	jastify-content: space-between;
	align-items: stretch;
	align-content: stretch;
}

/* 商品紹介-箱 */
div.seihin_box {
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: auto;
	max-width: 95%;
	border: 1px solid #CCC;
	border-radius: 7px;
	box-shadow: 2px 2px 4px #E0E0E0;
	padding: 10px;
	margin: 8px auto;
	font-size: 14px;
	line-height: 1.7em;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -o-flex;
	display: -ms-flex;
	flex-flow: row wrap;
	jastify-content: flex-start;
	align-items: flex-start;
	align-content: flex-start;
}
/* 商品名 */
div.seihin_box h3 {
	flex-basis: 100%;
	font-size: 15px;
	font-weight: bold;
	border-bottom: 3px solid #9ADBD3;
	padding: 3px 3px 5px 3px;
	margin-bottom: 8px;
	clear: both;
}
/* 商品画像 */
img.seihin_img {
	flex: 1 0 auto;
	max-width: 100%;
	display: block;
	margin: 10px;
}
/* 商品のその他説明 */
div.seihin_box p {
	flex: 1 1 auto;
	padding: 8px 0 0 0;
	font-size: 14px;
	line-height: 1.7em;
}

div.seihin_box ul {
	list-style: disc;
	margin: 10px 0 10px 10px;
	padding-left: 20px;
}
/* 商品基本データ */
div.seihin_box dl,dt,dd {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	margin: 0;
	padding: 0;
	font-size: 12px;
	
}
div.seihin_box dl {
	flex-basis: 240px;
	margin: 5px auto;
	border-bottom: 1px dashed #ADD8D3;
}
div.seihin_box dt,dd {
	padding: 3px 3px 0 3px;
	border-top: 1px dashed #ADD8D3;
}
div.seihin_box dt {
	float: left;
	width: 80px;
	margin: 0;
	padding: 3px 3px 0 3px;
	line-height: 1.5em;
}
div.seihin_box dd {
	margin: 0 0 0 80px;
	width: 160px;
	padding: 3px;
	line-height: 1.5em;
}
div.seihin_box dd:after {
	content: "";
	display: block;
	clear: both;
}
img.hyoka{
	max-width: 100%;
	height: 12px;
	margin: 3px 0 3px 0;
}
/* 特徴アイコンspan */
span.ico_blue{
	background-color: #1D97BA;
	border-radius: 15px;
	color: #FFFFFF;
	margin: 0 5px 3px 0;
	padding: 1px 5px;
	display: inline-block;
}
span.ico_green{
	background-color: #1DBA96;
	border-radius: 15px;
	color: #FFFFFF;
	margin: 0 5px 3px 0;
	padding: 1px 5px;
	display: inline-block;
}
span.ico_pink{
	background-color: #C94977;
	border-radius: 15px;
	color: #FFFFFF;
	margin: 0 5px 3px 0;
	padding: 1px 5px;
	display: inline-block;
}
span.ico_gold{
	background-color: #A7810C;
	border-radius: 15px;
	color: #FFFFFF;
	margin: 0 5px 3px 0;
	padding: 1px 5px;
	display: inline-block;
}
span.ico_violet{
	background-color: #7A56A7;
	border-radius: 15px;
	color: #FFFFFF;
	margin: 0 5px 3px 0;
	padding: 1px 5px;
	display: inline-block;
}



/*カンカン・勉強部屋リンク
-----------------------------------------------------*/
div.link{
	width: 100%;
	height: auto !important;
	position: absolute;
	bottom: 50px;
	margin: 50px auto 0;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	clear: both;
}
div.link ul {
	margin: 0 auto;
	list-style: none;
}

div.link ul li{
	text-align: center;
}

img.link_img{
	max-width: 100%;
}

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

footer{
	width: 100%;
	height: 50px;
	margin: 0 auto;
	background-color: #FFFFFF;
	position: absolute;
	bottom: 0;
	z-index: 998;
}

footer p{
	width: 100%;
	margin: 0 auto;
	padding: 10px 0;
	text-align: center;
	font-size: 0.7em;
}

}