@charset "UTF-8";
/* CSS Document */




/**
 *
 * リセット ～ デフォルトセットアップ
 *
 */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, /* sub, sup, */ tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style: normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, main, nav, section {
	display: block;
}

html {
	font-size: 62.5%;
    overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

body {
}

input, textarea {
	margin: 0;
	padding: 0;
}

ol, ul {
    list-style:none;
}

table {
    border-collapse: collapse; 
    border-spacing:0;
}

caption, th, td {
    text-align: left;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

a:focus {
	outline:none;
}

a img {
	border: 0;
}

/* --- リセット end --- */



/* --- 変数設定 ---*/
:root {
    --color01: #228888;
    --color02: #339999;
    --color03: #99cccc;
    --color04: #ddeeee;
    --color05: #eef5f9;
    --color06: #eef3f6;
    --color-link: #cc3366;
    --color-link-hover: #eebbcc;
    --color-red: #ff0004;
    --font-family-gothic: "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
    --font-family-gothic02: "Helvetica Neue", "Helvetica", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Arial", "Yu Gothic", "Meiryo", sans-serif;
    --font-family-gothic03: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    --font-family-mincho: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	--font-family-mincho02:"Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}



/* --- Typography ---*/
body,
button,
input,
select,
textarea {
	color: #555;
	/*font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif; */
	/*font-family: "游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif; */
	font-family: "Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","游ゴシック Medium",YuGothic,YuGothicM,メイリオ,Meiryo,sans-serif;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.7;
	}

h1, h2, h3, h4, h5, h6 {
	clear: both;
	font-weight: 700;
}

p {
	margin-bottom: 1em;
}

b,
strong {
	font-weight: 700;
}

small {
	font-size: 75%;
}

big {
	font-size: 125%;
}


/* --- Elements --- */
hr {
	background-color: #eaeaea;
	background-color: rgba(51, 51, 51, 0.1);
	border: 0;
	height: 1px;
	margin-bottom: 1.6em;
}

ul,
ol {
	margin: 0 0 1.6em 0;
}

ul {
	list-style: none;
}

ol {
	list-style: decimal;
	padding-left: 2em;
}

li > ul,
li > ol {
	margin-bottom: 0;
}

dl {
	margin-bottom: 1.6em;
}

dt {
	font-weight: bold;
}

dd {
	margin-bottom: 1.6em;
}

table,
th,
td {
	border: 1px solid #eaeaea;
	border: 1px solid rgba(51, 51, 51, 0.1);
}

table {
	border-collapse: collapse;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.6em;
	/*table-layout: fixed; /* テーブルのセル幅、割合の設定 */
	width: 100%;
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

th {
	border-width: 0 1px 1px 0;
	font-weight: 700;
}

td {
	border-width: 0 1px 1px 0;
}

th, td {
	padding: 0.4em;
}

img {
	-ms-interpolation-mode: bicubic; /* IE8で画像を縮小したとき汚く見える→きれいに見せる */
	border: 0;
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
}


a {
	text-decoration: none;
}

a,
a:hover {
	color: #893c99;
}

/*
a,a:hover {
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}
*/

a img:hover {
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
}

figcaption {
	font-size: 0.8em;
	line-height: 1.4;
	/*font-family: "游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif; */
}


h1 {
	font-size: 2.4em;
	line-height: 1.4;
}
h2 {
	font-size: 2em;
	line-height: 1.4;
}
h3 {
	font-size: 1.3125em;
	line-height: 1.4;
}
h4 {
}
h5 {
}
h6 {
}




/* --- その他追加CSS --- */

.textL {text-align: left;}
.textR {text-align: right;}
.textC {text-align: center;}
.mT0 {margin-top: 0!important;} .mT5 {margin-top: 5px!important;} .mT10 {margin-top: 10px!important;} .mT15 {margin-top: 15px!important;} .mT20 {margin-top: 20px!important;} .mT25 {margin-top: 25px!important;} .mT30 {margin-top: 30px!important;}
.mB0 {margin-bottom: 0!important;} .mB5 {margin-bottom: 5px!important;} .mB10 {margin-bottom: 10px!important;} .mB15 {margin-bottom: 15px!important;} .mB20 {margin-bottom: 20px!important;} .mB25 {margin-bottom: 25px!important;} .mB30 {margin-bottom: 30px!important;}
.mL0 {margin-left: 0!important;} .mL5 {margin-left: 5px!important;} .mL10 {margin-left: 10px!important;} .mL15 {margin-left: 15px!important;} .mL20 {margin-left: 20px!important;} .mL25 {margin-left: 25px!important;} .mL30 {margin-left: 30px!important;}
.mR0 {margin-right: 0!important;} .mR5 {margin-right: 5px!important;} .mR10 {margin-right: 10px!important;} .mR15 {margin-right: 15px!important;} .mR20 {margin-right: 20px!important;} .mR25 {margin-right: 25px!important;} .mR30 {margin-right: 30px!important;}
.pT0 {padding-top: 0!important;} .pT5 {padding-top: 5px!important;} .pT10 {padding-top: 10px!important;} .pT15 {padding-top: 15px!important;} .pT20 {padding-top: 20px!important;} .pT25 {padding-top: 25px!important;} .pT30 {padding-top: 30px!important;}
.pB0 {padding-bottom: 0!important;} .pB5 {padding-bottom: 5px!important;} .pB10 {padding-bottom: 10px!important;} .pB15 {padding-bottom: 15px!important;} .pB20 {padding-bottom: 20px!important;} .pB25 {padding-bottom: 25px!important;} .pB30 {padding-bottom: 30px!important;}
.pL0 {padding-left: 0!important;} .pL5 {padding-left: 5px!important;} .pL10 {padding-left: 10px!important;} .pL15 {padding-left: 15px!important;} .pL20 {padding-left: 20px!important;} .pL25 {padding-left: 25px!important;} .pL30 {padding-left: 30px!important;}
.pR0 {padding-right: 0!important;} .pR5 {padding-right: 5px!important;} .pR10 {padding-right: 10px!important;} .pR15 {padding-right: 15px!important;} .pR20 {padding-right: 20px!important;} .pR25 {padding-right: 25px!important;} .pR30 {padding-right: 30px!important;}
.lineH10 {line-height: 1em!important;} .lineH12 {line-height: 1.2em!important;} .lineH14 {line-height: 1.4em!important;} .lineH20 {line-height: 2.0em!important;}

.center {
	text-align: center;
}
.alignleft {
	display: inline;
	float: left;
}
.alignright {
	display: inline;
	float: right;
}
.aligncenter {
	display: block;
	margin-right: auto;
	margin-left: auto;
}


.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
}


.clearfix:after {
	content: ""; 
	display: block;
	clear: both;
}

.clearText {
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

.textblock,
.br {
	display: inline-block;  
	*display: inline;  
	*zoom: 1;
	font-weight: inherit;
}

.kome {
	font-size: 0.4em;
    font-weight: inherit;
}
.note {
	font-size: 0.8em;
}
.jisage {
	padding-left: 1em;
	text-indent: -1em;
}


.gothic {
	font-family: "游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,sans-serif;
}


.color01 {
	color: #dd1155;
}
/*
#00bbee　水色
#0071af　青
#ff6f8b　ピンク
#ffe4e8　薄いピンク
#333333
#999999
#cccccc
#eaeaea
*/







/** ===========================================================================================
 *
 *  ヘッダー
 *
 *  =========================================================================================== */

header {
}
.head-line-bg {
	background: -moz-linear-gradient(top, #dcc2df, #ffffff 60%);
	background: -webkit-linear-gradient(top, #dcc2df, #ffffff 60%);
	background: linear-gradient(to bottom, #dcc2df, #ffffff 60%);
}
.head-line {
	padding-top: 45px;
	padding-bottom: 30px;
	position: relative;
}
h1.site-title,
p.site-title {
	display: block;
	width: 240px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0;
}
h1.site-title a,
p.site-title a,
h1.site-title img,
p.site-title img {
	display: block;
	font-weight: bold;
}
h1.site-title-text,
p.site-title-text {
	display: block;
	width: inherit;
	padding-right: 130px;
	margin-bottom: 0;
	font-size: 2em;
	line-height: 1.4;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
}
h1.site-title-text a,
p.site-title-text a {
	display: block;
}
h1.site-title-text span,
p.site-title-text span {
	font-weight: bold;
	color: #555555;
}
h1.site-title-text .title-company,
p.site-title-text .title-company {
	margin-right: 10px;
	margin-left: 10px;
}
.head-sns-wrap {
	position: absolute;
	top: 45px;
	right: 10px;
}
ul.head-sns {
	letter-spacing: -0.4em;
	margin-bottom: 0;
}
ul.head-sns li {
	letter-spacing: normal;
	display: inline-block;
	margin-right: 10px;
}
ul.head-sns li:last-child {
	margin-right: 0;
}
ul.head-sns li a {
	display: block;
	border-radius: 50%;
}
ul.head-sns li img {
	border-radius: 50%;
}
.head-nav {
	border-bottom: 1px solid #893c99;
	margin-bottom: 20px;
}
.main-nav {
	margin: 0;
	letter-spacing: -0.4em;
}
.main-nav > li {
	display: inline-block;
	letter-spacing: normal;
	width: 20%;
	text-align: center;
	line-height: 1.4;
	padding: 5px 10px;
	vertical-align: middle;
    position: relative;
}
.main-nav > li > a,
.main-nav > li > span {
	display: inline-block;
	color: #555555;
}
.main-nav > li > a:hover {
	color: #893c99;
}

.main-nav ul {
	padding: 0;
	position: absolute;
    left: 0;
    top: 100%;
	z-index: 9999;
	height: 1px;
	width: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
}
.main-nav ul li {
	border-bottom: 1px solid #fff;
}
.main-nav ul li:last-child {
	border-bottom: none;
}

.main-nav ul a {
    width: 100%;
    display: block;
	color: #fff;
	margin: 0;
	padding: 10px 5px;
	background-color: #893c99;
}
.main-nav ul a:hover,
.main-nav ul ul a:hover,
.main-nav ul a:focus,
.main-nav ul ul a:focus {
	background-color: #bb8fc4;
}
.main-nav li:hover > ul,
.main-nav ul li:hover > ul,
.main-nav .focus > ul,
.main-nav .focus > ul {
	clip: inherit;
	overflow: inherit;
	height: inherit;
	width: 100%;
}

.nav-toggle-switch {
	display: none;
}


.main-nav li.has-sub.active > ul {  /* ipad　タッチデバイス用 */
    clip: inherit; 
    overflow: inherit;
    height: inherit;
    width: 100%;
}









/** ===========================================================================================
 *
 *  コンテンツ
 *
 *  =========================================================================================== */

/* -- レイアウト -- */
#content {
}
#content-head {
	padding-bottom: 50px;
}
#content-main {
	margin-bottom: 50px;
}
#content-foot {
}


.two-column .content-area {
	width: 66.666666666%;
	float: left;
	margin-bottom: 50px;
}
.two-column .sidebar-area {
	width: 27.5%;
	float: right;
	margin-bottom: 50px;
}




/*
.content h2 {
	font-size: 28px;
	line-height: 1.4;
	font-weight: normal;
	margin-top: 2em;
	margin-bottom: 0.7em;
	border-bottom: 2px dotted #333333;
}
.content h3 {
	font-size: 21px;
	color: #0071af;
	font-weight: normal;
	line-height: 1.4;
	background: url(../images/icon_h3.png) no-repeat left center;
	border-bottom: 1px solid #0071af;
	padding: 3px 0 3px 25px;
	margin-top: 2em;
	margin-bottom: 20px;
}
*/

/*
.content h1.page-title {
	position: relative;
	min-height: 90px;
}
.content h1.page-title p {
	position: absolute;
    top: 20px;
    left: 20px;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
	font-weight: bold;
	color: #0071af;
}
.page-title {
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
*/


/* -- コンテントヘッダー -- */
.content-head-inner {
}
#content-head h1.page-title {
	display: block;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
	font-size: 3em;
	color: #893c99;
	padding: 30px 10px;
	border-bottom: 1px solid #893c99;
}


/* -- コンテントエリア -- */

article {
	
}
section {
	margin-bottom: 80px;
}


.midashi01 {
	
}
.midashi02 {
	font-size: 2.2em;
	line-height: 1.4;
	font-weight: normal;
	color: #555555;
	margin-top: 2em;
	margin-bottom: 0.7em;
	text-align: center;
}
.midashi03 {
	font-size: 1.3125em;
	color: #893c99;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: 1px solid #893c99;
	padding: 3px 0 3px 10px;
	margin-top: 2em;
	margin-bottom: 20px;
	border-left: 7px solid #893c99;
}
.midashi04 {
	font-size: 16px;
	font-size: 1em;
	line-height: 1.4;
	color: #893c99;
	background-color: #eaeaea;
	padding: 5px 10px 3px;
	margin-bottom: 10px;
}


.sec-title {
	padding: 10px 10px;
	margin-top: 2em;
	margin-bottom: 0.8em;
}


.catch {
	font-size: 2em;
	font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
	color: #999999;
	font-weight: bold;
	line-height: 1.4;
	margin-bottom: 0.5em;
}


.home .midashi02 {
	font-size: 2em;
	line-height: 1.4;
	font-weight: normal;
	color: #555555;
	margin-top: 2em;
	margin-bottom: 0.7em;
	text-align: left;
}




/** ===========================================================================================
 *
 *  サイドバー
 *
 *  =========================================================================================== */

.sidebar-area .contact > img {
	margin-bottom: 10px;
}
.sidebar-area .company-info {
	border-top: 2px dotted #333333;
	padding-top: 10px;
	margin-bottom: 20px;
}
.company-info p {
	margin-bottom: 0;
	line-height: 1.4;
}
.company-info .company-name {
	font-size: 18px;
}
.company-info .tel {
	font-size: 28px;
	font-weight: bold;
}
.company-info .tel img {
	vertical-align: inherit;
	margin-right: 3px;
	width: 1em;
}
.company-info .tel a {
    font-weight: bold;
    color: #333333;
}
.company-info .open {
	font-size: 14px;
}
.company-info .address {
	font-size: 16px;
	margin-bottom: 10px;
}
.company-info .email {
	
}
.company-info .email a {
	display: block;
	font-size: 1.1em;
	text-align: center;
	padding: 10px;
	color: #333333;
	border: 1px solid #333333;
}
.company-info .email i {
	margin-right: 3px;
}
.company-info .email a:hover {
	color: #00bbee;
}

.sidebar-area .postage {
	margin-bottom: 20px;
}

ul.side-bnr li {
	margin-bottom: 10px;
}
ul.side-bnr li:last-child {
	margin-bottom: 0;
}

ul.sub-cont-menu li {
	margin-bottom: 10px;
}
ul.sub-cont-menu li:nth-child(1) {
	border: 1px solid #6aa1eb;
}
ul.sub-cont-menu li:nth-child(2) {
	border: 1px solid #eb83ab;
}
ul.sub-cont-menu li:nth-child(3) {
	border: 1px solid #edb13b;
}



.products-nav-area h3 {
	font-size: 16px;
	color: #333333;
	font-weight: bold;
	background: url(../images/products/products_side_cat_bg.png) repeat top left;
	border-bottom: 1px solid #cccccc;
	padding: 8px 8px 6px;
	margin-bottom: 0;
}
.products-nav-area h3::before {
	content: "";
	display: inline-block;
	height: 26px;
	border-left: 4px solid #00bbee;
	vertical-align: middle;
    margin-right: 6px;
	margin-top: -4px;
}
.products-nav-area h2 + h3 {
	margin-top: 0;
}
.products-nav-area ul li {
	border-bottom: 1px dotted #cccccc;
}
.products-nav-area ul li a {
	font-size: 15px;
	display: block;
	padding: 10px 5px 8px 12px;
	line-height: 1.4;
	color: #333333;
}
.products-nav-area ul li a:hover {
	color: #00bbee;
}



/** ===========================================================================================
 *
 *  フッター
 *
 *  =========================================================================================== */

footer {
	text-align: center;
	background-color: #f2e9f4;
}
footer p {
	line-height: 1.4;
}
.site-footer h3 {
	margin-top: 0;
	margin-bottom: 0;
}
.footer-info {
	padding-top: 30px;
	padding-bottom: 20px;
}
.footer-info .logo {
	width: 160px;
}
.footer-info ul {
	margin: 20px 0 30px;
	letter-spacing: -0.4em;
}
.footer-info ul li {
	font-size: 14px;
	line-height: 1.4;
	display: inline-block;
	letter-spacing: normal;
	margin-right: 20px;
}
.footer-info ul li:last-child {
	margin-right: 0;
}
.footer-info ul li a {
	color: #555555;
}
.footer-info ul li a:hover {
	color: #893c99;
}
.footer-info ul li a .hydrated {
	vertical-align: text-bottom;
}
.footer-company-info p {
	line-height: 1.4;
	margin-bottom: 5px;
}
.footer-company-info .company-name {
	font-size: 1.1em;
}
.footer-company-info .company-name a {
	color: #555555;
}
.footer-company-info .address {
	font-size: 0.9em;
}
.footer-company-info .tel {
	font-size: 1.1em;
}
.footer-company-info .tel img {
    vertical-align: inherit;
    margin-right: 3px;
    width: 1em;
}
.copyright {
	font-size: 0.8em;
	text-align: center;
	padding: 5px 0;
	margin: 0;
	background-color: #893c99;
}
.copyright p {
	margin-bottom: 0;
	color: #ffffff;
}





/** ===========================================================================================
 *
 *  その他　追加
 *
 *  =========================================================================================== */
.pc {
	display: block!important;
}
.sp {
	display: none!important;
}

.wrap-wide {
	max-width: 1040px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 20px;
	padding-right: 20px;
}
.wrap-wide-inner {
	max-width: 1000px;
	margin-left: auto;
	margin-right: auto;
}
.full-wide {
	margin-left: -20px!important;
	margin-right: -20px!important;
}
.wide-limit1600 {
    max-width: 1600px;
    margin-left: auto;
    margin-right: auto;
}
.wide-limit1400 {
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}
.wide-limit1200 {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}


.column {
}
.column:after {
	display: block;
	clear: both;
	content: "";
}

.column48 {
	width: 48%;
	float: left;
	margin-right: 4%;
	margin-bottom: 2%;
}
.column48:nth-child(2n) {
	margin-right: 0;
}
.column46 {
	width: 46%;
	float: left;
	margin-right: 8%;
	margin-bottom: 2%;
}
.column46:nth-child(2n) {
	margin-right: 0;
}
.column32 {
	width: 32%;
	float: left;
	margin-right: 2%;
	margin-bottom: 2%;
}
.column32:nth-child(3n) {
	margin-right: 0;
}
.column63 {
	width: 63%;
	float: left;
	margin-right: 3%;
}
.column22 {
	width: 22%;
	float: left;
	margin-right: 4%;
	margin-bottom: 2%;
}
.column22:nth-child(4n) {
	margin-right: 0;
}
.column50 {
	width: 50%;
	float: left;
}
.column33 {
	width: 33.333333333%;
	float: left;
}
.column66 {
	width: 66.666666666%;
	float: left;
}
.column25 {
	width: 25%;
	float: left;
}


.space-left {
	padding-left: 20px;
}
.space-right {
	padding-right: 20px;
}
.space-LR {
	padding-left: 20px!important;
	padding-right: 20px!important;
}


/*　リスト装飾　罫線　*/
ul.list-deco01 li {
	border-bottom: 1px dotted #ccc;
	padding: 7px 0 5px;
}
ul.list-deco01 li:first-child {
	border-top: 1px dotted #ccc;
}

ul.list-deco-sankaku1 li::before {
	content: "\f0da";
    font-size: 0.8em;
    font-weight: 900;
    font-family: 'Font Awesome 5 Free';
    display: inline-block;
    width: 10px;
    vertical-align: top;
    margin-top: 3px;
    margin-left: 5px;
}
ul.list-deco-sankaku2 li {
    position: relative;
    padding: 0 0 0 1em;
    color: #333333;
    vertical-align: middle;
    text-decoration: none;
}
ul.list-deco-sankaku2 li::before {
	position: absolute;
    top: 0;
    bottom: 0;
    left: 5px;
    margin: auto;
    content: "";
    vertical-align: middle;
    box-sizing: border-box;
    width: 3px;
    height: 3px;
    border: 3px solid transparent;
    border-left: 4px solid #333333;
	border-left-color: inherit;
}

ol.aomaru {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
}
ol.aomaru > li {
	margin-bottom: 10px;
	padding-left: 30px;
	position: relative;
}
ol.aomaru > li::before {
	content: counter(my-counter);
	counter-increment: my-counter;
	background-color: #0077bb;
	color: #ffffff;
	display: block;
	float: left;
	line-height: 22px;
	margin-left: -30px;
	text-align: center;
	height: 22px;
	width: 22px;
	border-radius: 50%;
	margin-top: 3px;
}


/*　テーブル装飾　*/
table.stripe {
 border: none;
}
table.stripe th {
 border: none;
}
table.stripe td {
	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: none;
	padding-top: 12px;
	padding-bottom: 10px;
}
table.stripe tr {
 border-bottom: 1px solid #eaeaea;
 background-color: #efefef;
}
table.stripe tr:nth-child(even) {
 background-color: #ffffff;
}

table.line {
 border: none;
}
table.line th {
 border: none;
}
table.line td {
	border-top: none;
	border-right: none;
	border-bottom: none;
	border-left: none;
	padding-top: 12px;
	padding-bottom: 10px;
}
table.line tr {
 border-bottom: 1px solid #333333;
 background-color: #ffffff;
}
table.line tr:nth-child(even) {
 background-color: #ffffff;
}

table.subscript,
table.subscript th,
table.subscript td {
	border: 1px solid #dddddd;
}
table.subscript {
	border-width: 1px 0 0 0;
}
table.subscript th {
	font-weight: normal;
	width: 120px;
}
table.subscript th,
table.subscript td {
	border-width: 0 0 1px 0;
}

table.table-type01 {
	margin-bottom: 0.7em;
}
table.table-type01,
table.table-type01 th,
table.table-type01 td {
	border: none;
	width: auto;
}
table.table-type01 th {
	white-space: nowrap;
	font-weight: normal;
	padding-left: 0;
}

table.table-type02 th,
table.table-type02 td {
	padding: 14px 10px;
	border: 1px solid #cccccc;
}
table.table-type02 th {
	font-weight: normal;
	white-space: nowrap;
	background-color: #eaeaea;
	text-align: center;
}


/*　リンクボタン　*/
.link-btn01 {
	width: 300px;
	margin: 0 auto;
}
.link-btn01 a {
	color: #ffffff;
	display: block;
	padding: 9px 10px 6px;
	text-align: center;
	background: -moz-linear-gradient(top, #d9668c, #cc3366);
	background: -webkit-linear-gradient(top, #d9668c, #cc3366);
	background: linear-gradient(to bottom, #d9668c, #cc3366);
	border-radius: 4px; 
}
.link-btn01 a:hover {
	opacity: 0.75;
}

.link-btn02 {
	width: 300px;
	position: relative;
}
.link-btn02 a {
	color: #ffffff;
	display: block;
	padding: 9px 20px 6px 10px;
	text-align: center;
	background: -moz-linear-gradient(top, #ff8cad, #ff6f98);
	background: -webkit-linear-gradient(top, #ff8cad, #ff6f98);
	background: linear-gradient(to bottom, #ff8cad, #ff6f98);
	border-radius: 4px; 
}
.link-btn02 a::after {
	content: "";
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -4px;
}
.link-btn02 a:hover {
	opacity: 0.75;
}

.link-btn03 {
	width: 140px;
	margin: 0 0 0 auto;
	position: relative;
}
.link-btn03 a {
	font-size: 14px;
	color: #ffffff;
	display: block;
	padding: 3px 20px 2px 10px;
	text-align: center;
	background: -moz-linear-gradient(top, #00bbee, #0071af);
	background: -webkit-linear-gradient(top, #00bbee, #0071af);
	background: linear-gradient(to bottom, #00bbee, #0071af);
	border-radius: 3px; 
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
}
.link-btn03 a::after {
	content: "";
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -4px;
}
.link-btn03 a:hover {
	opacity: 0.75;
}


.arrow {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	vertical-align: middle;
	margin-left: 10px;
}
.arrow::before {
	content: "";
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #ffffff;
	border-right: solid 2px #ffffff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	left: 0;
	margin-top: -6px;
}

.list-arrow {position: relative;display: inline-block;padding: 0 0 0 16px;color: #000;vertical-align: middle;text-decoration: none;}
.list-arrow::before,
.list-arrow::after{position: absolute;top: 0;bottom: 0;left: 0;margin: auto;content: "";vertical-align: middle;}
.arw01-1::before {left: 4px;box-sizing: border-box;width: 5px;height: 5px;border: 5px solid transparent;border-left: 6px solid #cc3366;}
.arw01-2::before {width: 12px;height: 12px;border-radius: 50%;background: #cc3366;}
.arw01-2::after {left: 5px;box-sizing: border-box;width: 3px;height: 3px;border: 3px solid transparent;border-left: 3px solid #fff;}
.arw01-3::before {width: 12px;height: 12px;border-radius: 15%;background: #cc3366;}
.arw01-3::after {left: 5px;box-sizing: border-box;width: 3px;height: 3px;border: 3px solid transparent;border-left: 3px solid #fff;}
.arw01-4::before {box-sizing: border-box;width: 12px;height: 12px;border: 1px solid #cc3366;border-radius: 50%;}
.arw01-4::after {left: 5px;box-sizing: border-box;width: 3px;height: 3px;border: 3px solid transparent;border-left: 3px solid #cc3366;}
.arw01-5::before {box-sizing: border-box;width: 12px;height: 12px;border: 1px solid #cc3366;border-radius: 25%;}
.arw01-5::after {left: 5px;box-sizing: border-box;width: 3px;height: 3px;border: 3px solid transparent;border-left: 3px solid #cc3366;}
.arw02-1::before {left: 3px;width: 5px;height: 5px;border-top: 1px solid #cc3366;border-right: 1px solid #cc3366;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw02-2::before {width: 12px;height: 12px;border-radius: 50%;background: #cc3366;}
.arw02-2::after {left: 3px;width: 4px;height: 4px;border-top: 1px solid #fff;border-right: 1px solid #fff;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw02-3::before {width: 12px;height: 12px;border-radius: 25%;background: #cc3366;}
.arw02-3::after {left: 3px;width: 4px;height: 4px;border-top: 1px solid #fff;border-right: 1px solid #fff;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw02-4::before {box-sizing: border-box;width: 12px;height: 12px;border: 1px solid #cc3366;border-radius: 50%;}
.arw02-4::after {left: 3px;width: 4px;height: 4px;border-top: 1px solid #cc3366;border-right: 1px solid #cc3366;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw02-5::before {box-sizing: border-box;width: 12px;height: 12px;border: 1px solid #cc3366;border-radius: 25%;}
.arw02-5::after {left: 3px;width: 4px;height: 4px;border-top: 1px solid #cc3366;border-right: 1px solid #cc3366;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw03-1::before {left: 0px;width: 10px;height: 1px;background: #cc3366;}
.arw03-1::after {left: 3px;width: 7px;height: 7px;border-top: 1px solid #cc3366;border-right: 1px solid #cc3366;-webkit-transform: rotate(45deg);transform: rotate(45deg);}
.arw04-1::before {left: 1px;width: 8px;height: 6px;border-left: 4px solid #cc3366;}
.arw04-1::after {left: 5px;box-sizing: border-box;width: 6px;height: 6px;border: 6px solid transparent;border-left: 6px solid #cc3366;}
.arw04-2::before {left: 1px;width: 7px;height: 8px;background: #cc3366;}
.arw04-2::after {left: 8px;box-sizing: border-box;width: 4px;height: 8px;border: 4px solid transparent;border-left: 3px solid #cc3366;}

.fs50 {font-size: 0.5em!important;}
.fs75 {font-size: 0.75em!important;}
.fs80 {font-size: 0.8em!important;}
.fs90 {font-size: 0.9em!important;}
.fs110 {font-size: 1.1em!important;}
.fs120 {font-size: 1.2em!important;}
.fs130 {font-size: 1.3em!important;}
.fs150 {font-size: 1.5em!important;}
.fs200 {font-size: 2em!important;}

.color01 {color: var(--color01)!important;}
.color02 {color: var(--color02)!important;}
.color03 {color: var(--color03)!important;}
.color04 {color: var(--color04)!important;}
.color05 {color: var(--color05)!important;}
.color06 {color: var(--color06)!important;}
.red {color:var(--color-red)!important;}



/*基本の吹き出し*/
.balloon01 {
	position: relative;
	background: #fde7d1;
	padding: 2em;
	margin-bottom: 20px;
}
.balloon01:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -20px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #fde7d1 transparent transparent transparent;
	border-width: 20px 20px 0 20px;
}

/*まんまる吹き出し*/
.balloon02 {
	position: relative;
	width: 120px;
	height: 120px;
	background: #9bbb30;
	padding: 1em;
	line-height: 1.6;
	text-align:center;
	border-radius: 50%;
}
.balloon02:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	right: 3px;
	bottom: 3px;
	border-style: solid;
	border-color: transparent transparent transparent #9bbb30;
	border-width: 10px 0 10px 17.32px;
	transform: rotate(45deg);
}
.balloon02 span {
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
	width: 100%;
}

/*枠線つき吹き出し*/
.balloon03 {
	position: relative;
	padding: 2em;
	border: 3px solid #ef8f3a;
	margin-top: 40px;
	margin-bottom: 20px;
}
.balloon03:before,
.balloon03:after {
	content: "";
	position: absolute;
	right: 0;
	left: 0;
	width: 0;
	height: 0;
	margin: auto;
}
.balloon03:before {
	top: -40px;
	border-style: solid;
	border-color: transparent transparent #ef8f3a transparent;
	border-width: 0 45px 40px 0;
}
.balloon03:after {
	top: -34px;
	border-style: solid;
	border-color: transparent transparent #fff transparent;
	border-width: 0 39px 35px 0;
	z-index: 10;
}


/* リスト　ステップバージョン01 */
.step01 {
	list-style-type: none;
	padding:0;
	margin:0;
}
.step01 li {
	position: relative;
	width:100px;
	background: #504944;
	padding: 1em;
	margin-bottom: 1em;
	text-align:center;
	color: #fff;
}
.step01 li:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	bottom: -10px;
	left: 0;
	border-style: solid;
	border-color: #504944 transparent transparent transparent;
	border-width: 10px 50px 0 50px;
	z-index: 1;
}
.step01 li.is-current {
	background: #cc3366;
	font-weight: bold;
}
.step01 li.is-current:after {
	border-color: #cc3366 transparent transparent transparent;
}

/* リスト　ステップバージョン02 */
.step02 {
	list-style-type: none;
	display:table;
	width:100%;
	padding:0;
	margin:0;
	overflow:hidden;
}
.step02 li {
	display:table-cell;
	position:relative;
	background: #504944;
	padding: 1em 0.5em 1em 2em;
	color: #fff;
}
.step02 li:last-child {
	padding-right: 1em;
}
.step02 li:last-child:before,
.step02 li:last-child:after {
	display:none;
}
.step02 li:before,
.step02 li:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	margin: auto;
}
.step02 li:before {
	top:-10px;
	right:-1em;
	border-style: solid;
	border-color: transparent transparent transparent #fff;
	border-width: 40px 0 40px 1em;
	z-index: 10;
}
.step02 li:after {
	top:-10px;
	right:-.8em;
	border-style: solid;
	border-color: transparent transparent transparent #504944;
	border-width: 40px 0 40px 1em;
	z-index: 10;
}
.step02 li.is-current {
	background: #cc3366;
	font-weight: bold;
}
.step02 li.is-current:after {
	border-color: transparent transparent transparent #cc3366;
}



/*googlemap ポインター無効化 ＆ レスポンシブ対応*/
.gmap iframe{
	pointer-events: none;
}
.gmap {
	position: relative;
	padding-bottom: 40%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.gmap iframe,
.gmap object,
.gmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}



/*youtube　レスポンシブ対応 */
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.youtube-cap {
	line-height: 1.4;
	font-size: 0.85em;
	margin-top: 0.5em;
}



#page_top {
	width: 50px;
	height: 50px;
	position: fixed;
	right: 20px;
	bottom: 20px;
	background: #c59bcb;
	opacity: 0.6;
	border-radius: 50%;
}
#page_top a {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f062';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
	line-height: 1;
}


.toggle-switch {
  position: relative;
  cursor: pointer;
}
.toggle-switch.open {
}
.toggle-switch:hover {
}
.toggle-switch::after {
	content: "\f107";
	font-family: "Font Awesome 5 Free";
	font-size: 20px;
	font-weight: 900;
	line-height: 1.4;
	color: #cccccc;
	background-color: #ffffff;
	text-align: center;
  display: inline-block;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 5px;
  transition: transform .2s;
}
.toggle-switch.open::after {
  transform: rotateZ(180deg);
  top: 13%;
}
.toggle-contents {
  display: none;
}


/*画像を中央トリミングjs（object-fit-images-master）用 */
.object-fit-img {
	object-fit: cover;
	font-family: 'object-fit: cover;'
}




/* --- 時々使うCSS3 start -----------------------------

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

テキストシャドウ {
	text-shadow: 1px 1px 3px #000;
}

ボックスシャドウ {
	-moz-box-shadow: 1px 1px 3px #000;
	-webkit-box-shadow: 1px 1px 3px #000;
	box-shadow: 1px 1px 3px #000;
}

ボックスシャドウ内側 {
	-moz-box-shadow: inset 1px 1px 3px #000;
	-webkit-box-shadow: inset 1px 1px 3px #000;
	box-shadow: inset 1px 1px 3px #000;
}

角丸 {
	border-radius: 8px; 
	-webkit-border-radius: 8px;
	-moz-border-radius: 8px; 
}

トランジション {
	-webkit-transition: 1.5s;
	-moz-transition: 1.5s;
	-o-transition: 1.5s;
	transition: 1.5s;
}

透明 {
	filter: alpha(opacity=25);
	-moz-opacity:0.25;
	opacity:0.25;
}

背景のみ透明 {
	background-color:rgba(255,255,255,0.2);
}

グラデーション {
	background: -moz-linear-gradient(top, #ffffff, #000000);
	background: -webkit-linear-gradient(top, #ffffff, #000000);
	background: linear-gradient(to bottom, #ffffff, #000000);
}

スマホ対応
@media screen and (max-width: 480px){
	
}
@media screen and (max-width: 320px){
	
}

時々使うCSS3 end  --------------------------------------- */






/** ===========================================================================================
 *
 *  ページ個別
 *
 *  =========================================================================================== */




/** ---------------
 *  トップページ
 *  --------------- */

.top-main-visual {
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
}
.top-main-visual img {
	width: 100%;
}
.bx-wrapper {
	margin-bottom: 0!important;
}


.mainbland-link-sec {
	margin-bottom: 30px;
}
.mainbland-link h2.midashi02 {
	border-bottom: none;
}
.bland-list {
	letter-spacing: -0.4em;
}
.bland-list li {
	display: inline-block;
	letter-spacing: normal;
	width: 33%;
	margin-bottom: 20px;
	margin-right: 0.5%;
	vertical-align: top;
	text-align: center;
}
.bland-list li:nth-child(3n) {
	margin-right: 0;
}
.bland-list li a {
	display: block;
	margin-bottom: 2px;
}
.bland-list li a:hover img {
	opacity: 0.8;
}
.bland-list li.bland-give a {
	background-color: #dbafaa;
}
.bland-list li.bland-aquatist a {
	background-color: #66cbda;
}
.bland-list li.bland-salon a {
	background-color: #d0be9c;
}
.bland-list li.bland-give a:hover {
	background-color: #a14642;
}
.bland-list li.bland-aquatist a:hover {
	background-color: #00a8c1;
}
.bland-list li.bland-salon a:hover {
	background-color: #bca475;
}
img.lineup-image {
	width: 100%;
}
.lineup-name {
	padding: 15px 10px;
	height: 60px;
	font-size: 1.1em;
}
a .lineup-name {
	color: #ffffff;
}
.bland-list li figcaption {
	font-size: 1em;
	padding: 15px 10px 10px;
	line-height: 1.7;
}
.bland-list li.bland-give figcaption {
	border-top: 2px solid #a14642;
	color: #a14642;
}
.bland-list li.bland-aquatist figcaption {
	border-top: 2px solid #00a8c1;
	color: #00a8c1;
}
.bland-list li.bland-salon figcaption {
	border-top: 2px solid #bca475;
	color: #bca475;
}

.news-sec {
	margin-bottom: 0;
}
.maintenance-notice {
	background-color: #f7f2eb;
	padding: 30px 0;
}
.maintenance-notice .midashi02 {
	margin-top: 0;
	text-align: center;
}
.maintenance-notice__body {
	max-width: 840px;
	margin: 24px auto 0;
	padding: 32px 36px;
	background: #ffffff;
	border: 1px solid #e7dcc6;
	border-radius: 12px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
	line-height: 1.75;
}
.maintenance-notice__lead {
	margin-bottom: 24px;
	font-size: 1.05em;
	font-weight: 500;
}
.maintenance-notice__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.maintenance-notice__card {
	flex: 1 1 260px;
	background: #fff8ef;
	border: 1px solid #e7dcc6;
	border-radius: 10px;
	padding: 20px 24px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
}
.maintenance-notice__card h3 {
	margin-top: 0;
	margin-bottom: 12px;
	font-size: 1.05em;
	font-weight: 600;
	color: #705c3e;
}
.maintenance-notice__contact-name {
	margin: 0 0 12px;
	font-weight: 500;
}
.maintenance-notice__definitions {
	display: grid;
	grid-template-columns: auto 1fr;
	column-gap: 12px;
	row-gap: 6px;
	margin: 0;
	font-size: 0.95em;
}
.maintenance-notice__definitions dt {
	font-weight: 600;
	color: #8a7754;
}
.maintenance-notice__definitions dd {
	margin: 0;
}
.maintenance-notice__definitions a {
	color: inherit;
	text-decoration: none;
}
.maintenance-notice__definitions a:hover {
	text-decoration: underline;
}
.maintenance-notice__links {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.maintenance-notice__links li {
	margin: 0;
}
.maintenance-notice__links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	background: linear-gradient(135deg, #fff3e0, #ffe7cc);
	border: 1px solid #f0d4ad;
	border-radius: 999px;
	color: #624c2d;
	font-weight: 600;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.3s ease;
}
.maintenance-notice__links a::after {
	content: "\203A";
	font-size: 1.2em;
	color: inherit;
}
.maintenance-notice__links a:hover,
.maintenance-notice__links a:focus {
	background: linear-gradient(135deg, #ffe7cc, #ffd8aa);
	box-shadow: 0 12px 24px rgba(217, 171, 113, 0.25);
	transform: translateY(-2px);
}
@media screen and (max-width: 768px) {
	.maintenance-notice__body {
		padding: 24px 20px;
	}
	.maintenance-notice__grid {
		flex-direction: column;
	}
	.maintenance-notice__card {
		padding: 20px;
	}
	.maintenance-notice__links a {
		font-size: 0.95em;
		padding: 12px 16px;
	}
}
.news-bg {
	background: url("../images/news-bg-mizu.jpg") no-repeat top -30px center;
	background-size: cover;
	padding: 50px 0 50px;
}
.news-cont {
	max-width: 760px;
    padding-left: 20px;
    padding-right: 20px;
	margin-left: auto;
    margin-right: auto;
}
.home .news-cont h2 {
	font-size: 32px;
	font-weight: normal;
	margin-top: 0;
	margin-bottom: 0.7em;
	padding-bottom: 10px;
	border-bottom: 2px dotted #555555;
	text-align: center;
}
dl.news-list {
	margin-bottom: 10px;
}
dl.news-list dt {
	font-size: 0.9em;
	font-weight: normal;
	line-height: 1.4;
	width: 6em;
	float: left;
	padding-top: 0.1em;
	margin-right: 20px;
	margin-bottom: 3px;
	clear: both;
	color: #999999;
}
dl.news-list dd {
	line-height: 1.4;
	margin-bottom: 15px;
	margin-left: 7em;
}

.faq-bg {
	background: -moz-linear-gradient(top, #ffffff, #ffe2ea);
	background: -webkit-linear-gradient(top, #ffffff, #ffe2ea);
	background: linear-gradient(to bottom, #ffffff, #ffe2ea);
	padding: 50px 0 0;
}
.faq-wrap {
	max-width: 760px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
	position: relative;
}
.faq-imagebox {
	display: block;
	position: absolute;
	bottom: 0;
	width: 200px;
}
.faq-textbox {
	display: block;
	margin-left: 230px;
	padding: 20px 0 50px;
}

.home .other-link-sec h2 {
	margin-top: 20px;
	text-align: center;
	font-size: 1.875em;
}
.store-link-cont {
	width: 50%;
    float: left;
    padding-right: 4%;
    padding-bottom: 30px;
	border-right: 1px solid #cccccc;
}
.about-link-cont {
	width: 50%;
    float: right;
    padding-left: 4%;
    padding-bottom: 30px;
}
.other-link-sec img.link-image {
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 30px;
}
.link-btn04 {
	width: 100%;
    position: relative;
}
.link-btn04 a {
    color: #ffffff;
    display: block;
    padding: 11px 20px 9px 10px;
    text-align: center;
    background: -moz-linear-gradient(top, #a163ad, #893c99);
    background: -webkit-linear-gradient(top, #a163ad, #893c99);
    background: linear-gradient(to bottom, #a163ad, #893c99);
    border-radius: 4px;
}
.link-btn04 a::after {
    content: "";
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #ffffff;
    border-right: solid 2px #ffffff;
    -ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
}
.link-btn04 a span {
	vertical-align: middle;
	display: inline-block;
}
.link-btn04 a span img {
	display: block;
	margin-right: 8px
}
.store-link-cont .link-btn04 img {
	margin-top: -5px;
}
.link-btn04 a:hover {
	opacity: 0.75;
}



.slider {
	width: 100%;
	margin: 0 auto 80px;
}
.slick-slide img {
	width: 100%;
	height: auto;
}
.slick-box {
	width: 100%;
}
.slick-box .slick-slide {
	margin: 5px;
}
.slick-box .slick-slide:not(.slick-center) {
	filter: opacity(30%);
	transition: 0.2s linear;
}
.slick-slider .slick-list {
	/*
	max-width: 1000px;
    margin: 0px auto;
    overflow: inherit;
    padding: 0!important;
	*/
}


/*  スライダー　max1000pxにする  */
.top-main-visual {
    max-width: 100vw;
    overflow: hidden;
}
.slick-slider .slick-list {
	padding: 0!important;
	margin: 0px auto;
	max-width: 1000px;
	overflow: inherit;
}
.slick-box .slick-slide {
	margin: 0;
}

.head-sns-wrap {
    right: 20px;
}



.bnr-top-list {
}
.bnr-top-list li {
    width: 48%;
    float: left;
    margin-right: 4%;
    margin-bottom: 3%;
    text-align: center;
}
.bnr-top-list li:nth-child(2n) {
    margin-right: 0;
}
.bnr-top-list li a {
	display: block;
	border: 1px solid #cccccc;
}






/** ---------------
 *  
 *  --------------- */





/** ---------------
 *  
 *  --------------- */








/** ---------------
 *  about
 *  --------------- */

.greeting-sec .text-cont {
	width: 72%;
	float: left;
}
.greeting-sec .pict-cont {
	width: 25%;
	float: right;
	text-align: center;
}
.process-title,
.staff-title {
	background-color: #eaeaea;
	text-align: center;
	font-size: 1.2em;
	display: block;
	padding: 5px 10px;
	margin-bottom: 0;
}
.factory-info-cont img,
.factory-staff-cont img {
	width: 100%;
	margin-bottom: 10px;
}
.staff-name {
	text-align: right;
}

.pict-cont img {
	text-align: center;
	margin-bottom: 10px;
}





/** ---------------
 *  スキンケア基礎知識
 *  --------------- */
.basicknowledge-sec figure {
	text-align: center;
}
.basicknowledge-sec figure img {
	margin-bottom: 10px;
}
figure.hadadanmen {
	max-width: 60%;
	display: block;
}
figure.shimi-mechanism {
	max-width: 60%;
	display: block;
}
.point-wrap {
	background-color: #ffe4e8;
	padding: 15px 10px 10px 10px;
	border-radius: 10px;        /* CSS3草案 */  
    -webkit-border-radius: 10px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 10px;
	margin-bottom: 20px;
}
.point-wrap p {
	margin-bottom: 0;
}
.point-wrap p.title-point {
	font-weight: bold;
	color: #ffffff;
	line-height: 1;
	display: inline-block;
	padding: 5px 10px 5px 10px;
	background-color: #ff6f8b;
	margin-bottom: 5px;
	margin-left: -10px;
	-webkit-border-top-left-radius: 0;  
    -webkit-border-top-right-radius: 15px;  
    -webkit-border-bottom-right-radius: 15px;  
    -webkit-border-bottom-left-radius: 0;  
}





/** ---------------
 *  法律に基づく表記　　会社概要　　ご購入ガイド　　よくある質問
 *  --------------- */

.contact-box {
	border: 1px solid #333333;
	padding: 10px;
	display: inline-block;
	margin: 5px 0 20px;
}


dl.q-a {
	border-bottom: 1px dotted #cccccc;
}
dl.q-a > dt {
	background: url(../images/icon_question.png) no-repeat left top 11px;
	padding: 5px 30px 5px 20px;
}
dl.q-a > dd,
dl.q-a > div > dd{
	background: url(../images/icon_answer.png) no-repeat left top 11px;
	padding: 5px 30px 5px 20px;
}






/** ---------------
 *  お手入れステップ
 *  --------------- */

.oteire-wrap img {
	width: 100%;
	display: block;
}




/** ---------------
 *  サロン
 *  --------------- */
.salon-image-list {
	letter-spacing: -0.4em;
}
.salon-image-list li {
	letter-spacing: normal;
	display: inline-block;
}





/** ---------------
 *  お問い合わせフォーム
 *  --------------- */
table.form-table {
	width: 100%;
}
table.form-table th,
table.form-table td {
	padding: 14px 10px;
	border: 1px solid #cccccc;
	vertical-align: top;
}
table.form-table th {
	font-weight: normal;
	white-space: nowrap;
	background-color: #eaeaea;
	text-align: center;
}
input.form-address {
	width: 100%;
}
table.form-table textarea {
	width: 100%;
}











/** ===========================================================================================
 *
 *  Media Queries
 *
 *  =========================================================================================== */
	

@media screen and (max-width: 1200px) {
	
}
	
@media screen and (max-width: 960px) {
	
	body,
	button,
	input,
	select,
	textarea {
		font-size: 15px;
		font-size: 1.5rem;
	}
	
	section {
    	margin-bottom: 50px;
	}
	
	.two-column .content-area {
		width: 68%;
	}
	.two-column .sidebar-area {
		width: 28%;
	}
	
	
	
	.main-nav {
		padding-left: 0;
		padding-right: 0;
	}
    
	
	.slick-slider .slick-list {
		padding: 0!important;
	}
	.slick-slider .slick-list .slick-slide {
		margin: 0!important;
	}
	.bland-list {
		padding-left: 0;
		padding-right: 0;
	}
	.news-bg {
		background-position: top 0 center;
	}
	.home .other-link-sec h2 {
		font-size: 1.45em;
	}
	
	
	
	#page_top {
		width: 40px;
		height: 40px;
		position: fixed;
		right: 10px;
		bottom: 10px;
		border-radius: 50%;
	}
	#page_top a {
		width: 40px;
		height: 40px;
	}
	
	
}
@media screen and (max-width: 880px) {
	.product-single .content-area {
		width: 71.428571428%;
		float: right;
	}
	.product-single .products-nav-area {
		width: 24.404761904%;
		float: left;
	}
	.item-description-area {
		width: 100%;
		float: none;
	}
	.item-order-area {
		width: 100%;
		float: none;
	}
	
	/*
	.page-title-wrap {
		padding-left: 20px;
		padding-right: 20px;
		top: 20px;
	}
	*/
	#content-head h1.page-title {
		font-size: 2.6em;
	}
	
	
	.catch {
		font-size: 28px;
	}
	
	
	

	
		
}
	
@media screen and (max-width: 768px) {
	
	/*
	table.table-type02 th {
		white-space: normal;
		width: 130px;
		padding-left: 5px;
		padding-right: 5px;
	}
	*/
	
	
	
}
	
	
@media screen and (max-width: 640px) {
	
	.two-column .content-area {
		width: 100%;
		float: none;
	}
	.two-column .sidebar-area {
		width: 100%;
		float: none;
		max-width: 330px;
		margin-left: auto;
		margin-right: auto;
	}
	
	
	
	
	.product-single .content-area {
		width: 100%;
		float: none;
	}
	.product-single .products-nav-area {
		width: 100%;
		float: none;
	}
	
	#content-head {
		padding-bottom: 20px;
	}
	.item-name {
		margin-bottom: 30px;
	}
	
	
	.company-info .tel {
		font-size: 1.8em;
	}
	
	
	
	
	
	
	
	
}
	
@media screen and (max-width: 580px) {
	.pc {
		display: none!important;
	}
	.sp {
		display: block!important;
	}
	
	section {
		margin-bottom: 30px;
	}
	.wrap-wide {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	
	h1.site-title-text,
	p.site-title-text {
		display: block;
		padding-right: 0;
		margin-bottom: 0;
		text-align: center;
	}
	.head-sns-wrap {
		position: relative;
		top: 0;
		right: 0;
		text-align: center;
		margin-top: 10px;
	}
	
	
	
	/*----- ナビゲーション -----*/
	.nav-toggle-switch {
		position: relative;
		cursor: pointer;
		display: block;
		background-color: #c59bcb;
		color: #ffffff;
		padding: 8px 10px;
		text-align: center;
	}
	.nav-toggle-switch.open {
	}
	.nav-toggle-switch:hover {
		color: #ffffff;
	}
	.nav-toggle-switch::after {
		content: "\f107";
		font-family: "Font Awesome 5 Free";
		font-size: 20px;
		font-weight: 900;
		line-height: 1.4;
		color: #ffffff;
		text-align: center;
		display: inline-block;
		width: 26px;
		height: 26px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 5px;
		transition: transform .2s;
	}
	.nav-toggle-switch.open::after {
		transform: rotateZ(180deg);
		top: 21%;
	}
	.nav-toggle-contents {
		display: none;
	}
	
	.main-nav {
	}
	.main-nav li,
    .main-nav ul li {
		width: 100%;
        display: block;
		text-align: left;
		border-bottom: 1px dotted #cccccc;
	}
    .main-nav ul li:first-child {
        border-top: 1px dotted #cccccc;
    }
	.main-nav li a,
    .main-nav li span {
		display: block;
    	padding: 15px 5px;
	}
    
	.main-nav ul {
		background-color: inherit;
		position: inherit;
		height: auto;
		width: 100%;
		clip: inherit;
		padding-left: 20px;
		border-top: none;
	}
	.main-nav ul a {
		color: #555555;
		background-color: #ffffff;
	}
	.main-nav ul a:hover,
	.main-nav ul a:focus {
    	background-color: #893c99;
    	color: #fff;
	}
	
	
	
	
	.midashi02 {
		font-size: 1.8em;
	}
	.midashi03 {
		font-size: 1.2em;
	}
	
	
	#content-main {
		margin-bottom: 30px;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	table.form-table th,
	table.form-table td {
		display: block;
	}
	table.form-table th {
		text-align: left;
		padding: 3px 10px;
		border-bottom: none;
	}
	
	
	#page_top {
		width: 40px;
		height: 40px;
		position: fixed;
		right: 10px;
		bottom: 10px;
		border-radius: 50%;
	}
	#page_top a {
		width: 40px;
		height: 40px;
	}
	
	
	
	
	
	
	
	
	.content-head-inner {
		min-height: inherit;
	}
	
		
	
	/*
	.page-title-wrap {
		padding-left: 20px;
		padding-right: 20px;
		top: 10px;
	}
	*/
	#content-head h1.page-title {
		font-size: 1.8em;
	}
	
	
	
	
	table.table-type02 th,
	table.table-type02 td {
		font-size: 0.9em;
	}
	
		
	
	
	
	.footer-info {
		padding-left: 10px;
		padding-right: 10px;
	}
	
	
	
	/*  トップページ */
	.bland-list li {
		display: block;
		width: 100%;
		margin-bottom: 20px;
		margin-right: 0;
	}
	img.lineup-image {
		width: 100%;
		height: 230px;
	}
	.bland-list li figcaption {
		padding: 5px 10px 10px;
		line-height: 1.4;
	}
	.news-bg {
		padding: 50px 0 30px;
	}
	dl.news-list dt {
		float: none;
	}
	dl.news-list dd {
		margin-left: 0;
	}
	.faq-bg {
		padding-top: 20px;
	}
	.faq-imagebox {
		display: block;
		position: absolute;
		bottom: 0;
		width: 140px;
		right: 0;
	}
	.faq-textbox {
		display: block;
		margin-left: 0;
		padding: 10px 0 20px;
		position: relative;
		z-index: 10;
	}
	.faq-textbox p {
		margin-right: 80px;
	}
	.store-link-cont {
		width: 100%;
		float: none;
		padding-left: 10px;
    	padding-right: 10px;
		padding-bottom: 20px;
		border-right: none;
	}
	.about-link-cont {
		width: 100%;
		float: none;
		padding-left: 10px;
    	padding-right: 10px;
		padding-bottom: 20px;
	}
	.home .other-link-sec h2 {
		font-size: 1.40em;
	}
	img.link-image {
		margin-bottom: 10px;
	}
	.link-btn04 a {
    	padding: 9px 20px 6px 10px;
	}
	.link-btn04 a span img {
		height: 18px;
	}
    
    
    .bnr-top-list li {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 20px;
    }
    
	
	
	
	/* 企業情報 */
	.greeting-sec .text-cont {
		width: 100%;
		float: none;
	}
	.greeting-sec .pict-cont {
		width: auto;
		max-width: 100%;
		float: none;
	}
	.factory-info-cont .column32 {
		width: 100%;
		float: none;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.process-title,
	.staff-title {
		margin-bottom: 10px;
	}
	.factory-info-cont img,
	.factory-staff-cont img {
		width: auto;
		margin-bottom: 10px;
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	
	
	
	
	

	
	
}

