@charset "utf-8";

@import url(slide.css);


/*全端末（PC・タブレット・スマホ）共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 17px;	/*文字サイズ*/
	line-height: 1.6;		/*行間*/
	color: #000;		/*全体の文字色*/
	-webkit-text-size-adjust: none;
	background: url("..//images/haikei.png"); /* 背景画像を指定 */
	background-position:center;
	
	
}

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form,input,select,textarea {margin: 0px;padding: 0px;font-size: 100%;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 98%;height: auto;vertical-align: middle;}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}


/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #333;	/*リンクテキストの色*/
	transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
}
a:hover {
	color: #00A9A2;			/*マウスオン時の文字色*/
	text-decoration: none;	/*マウスオン時に下線を消す設定。残したいならこの１行削除。*/
}

/*container
---------------------------------------------------------------------------*/
#container {
	max-width: 1200px;	/*下にある#footermenuのmax-widthと数字を揃える*/
	margin: 0 auto;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ヘッダーブロック*/
header {
	position: relative;
	height: 121px;	/*ヘッダーの高さ*/
}
/*ロゴ画像*/
header #logo img {
	width: 350px;	/*画像幅*/
	position: absolute;
	left: 3%;		/*ヘッダーに対して左から3%の場所に配置*/
	bottom: 1px;	/*ヘッダーに対して下から35pxの場所に配置*/
}

/*ヘッダーの「CART」ボタン
---------------------------------------------------------------------------*/
/*header .cart a {
	display: block;
	background: #000;	/*背景色*/
	width: 80px;		/*アイコンの高さ*/
	height: 80px;		/*アイコンの幅*/
	position: absolute;
	right: 3%;			/*ヘッダーブロックに対して右から3%の場所に配置*/
	top: 10px;			/*ヘッダーブロックに対して上から10pxの場所に配置*/
	border-radius: 50%;	/*円形にするスタイル。四角形がいいならこの１行削除。*/
}
/*マウスオン時*/
.cart a:hover {
	background: #5db3c5;	/*背景色*/
}
*/
/*メインメニュー
---------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar {
	clear: both;
	overflow: hidden;
}
/*メニュー１個あたりの設定*/
#menubar li {
	float: left;	/*左に回り込み*/
	width: 20%;		/*メニュー幅（100÷5個=20%）※下の方の「画面幅1200px以上の設定」にも関連するので変更の際は注意して下さい。*/
}
#menubar li a {
	display:  block;text-decoration: none;
	text-align: center;
	background: #00A9A2;	/*背景色*/
	color: #fff;			/*文字色*/
	padding: 10px 0;		/*上下、左右へのボックス内の余白*/
}
/*マウスオン時*/
#menubar li a:hover {
	background: #000;	/*背景色*/
	color: #fff;		/*文字色*/
}
/*スマホ用メニューを表示させない*/
#menubar-s {display: none;}
/*３本バーアイコンを表示させない*/
#menubar_hdr {display: none;}

/*ドロップダウンメニュー用
----------------------------------------------------------------------------------------------------------------------------------*/
/*メニューブロック*/
#menubar ul.ddmenu {
	position:absolute;
	visibility: hidden;
	z-index: 10;
	width: 20%;	/*幅。上の「#menubar li」と合わせる。*/
	border-top: 1px solid #fff;	/*上の線の幅、線種、色*/
}
/*メニュー１個あたりの設定*/
#menubar ul.ddmenu li {
	float: none;
	width: 100%;
}
#menubar ul.ddmenu li a {
	width: 100%;
	border-bottom: 1px solid #fff;	/*下線の幅、線種、色*/
	background: #00A9A2;	/*背景色*/
	color: #fff;			/*文字色*/
}
/*マウスオン時*/
#menubar ul.ddmenu li a:hover {
	background: #000;	/*背景色*/
}

/*コンテンツ（mainとsubを囲むブロック）
---------------------------------------------------------------------------*/
#contents {
	clear: both;
	padding: 40px 2% 0;	/*上、左右、下へのボックス内の余白*/
}

/*mainコンテンツ
---------------------------------------------------------------------------*/
#main {
	float: left;	/*左に回り込み*/
	width: 72%;		/*幅*/
	padding-bottom: 40px;
}
/*１カラム時*/
body.c1 #main {
	float: none;
	width: auto;
}
/*h1タグの設定*/
 h1 {
	display: flex;
	clear: both;
	letter-spacing: 0.1em;
	margin: 1px;
	color: #575757;
	font-size: 25px;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 120px;
}


/*h2タグの設定*/
#main h2 {
	clear: both;
	letter-spacing: 0.1em;	/*文字間隔*/
	margin-bottom: 20px;	/*見出しの下にとるスペース*/
	color: #FFF;		/*文字色*/
	background: #666;	/*背景色*/
	padding: 5px 15px;	/*上下、左右への余白*/
	border-bottom: 3px solid #00A9A2;	/*下線の幅、線種、色*/
	text-align: center;
}
/*h3タグの設定*/
#main h3 {
	clear: both;
	margin-bottom: 20px;	/*見出しの下にとるスペース*/
	background: #FFF;	/*背景色*/
	padding: 2px 20px;	/*上下、左右への余白*/
	border-top: 1px solid #ccc;			/*上の線の幅、線種、色*/
	border-right: 1px solid #ccc;		/*右の線の幅、線種、色*/
	border-bottom: 3px solid #00A9A2;	/*下の線の幅、線種、色*/
	border-left: 1px solid #ccc;		/*左の線の幅、線種、色*/
}
/*段落タグ設定*/
#main p {
	padding: 0px 20px 20px;	/*上、左右、下への余白*/
}
/*他*/
#main h2 + p,
#main h3 + p {
	margin-top: -10px;
}
#main section + section {
	margin-top: 30px;
}
#main p + p {
	margin-top: -8px;
}

/*商品一覧ページの各ブロック
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
#main .list {
	position: relative;overflow: hidden;
	width: 25%;				/*ボックスの幅*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	float: left;			/*左に回り込み*/
	line-height: 1.5;		/*行間を少し狭くする設定*/
}
#main .list a {
	text-decoration: none;overflow: hidden;display: block;
	height: 270px;	/*ボックスの高さ*/
	padding: 10px;	/*ボックス内の余白*/
	border-right: 1px solid #ccc;	/*右側の線の幅、線種、色*/
}
/*１、５、１０個目…のボックスへの追加設定*/
#main .list:nth-of-type(4n+1) a {
	border-left: 1px solid #ccc;	/*左側の線の幅、線種、色*/
}
/*マウスオン時*/
#main .list a:hover {
	background: #fff;	/*背景色*/
	opacity: 0.8;		/*透明度*/
}
/*ボックス内の見出し(h4)タグ設定*/
#main .list h4 {
	color: #5db3c5;	/*文字色*/
}
/*ボックス内の段落(p)タグ設定*/
#main .list p {
	padding: 0;
	font-size: 12px;	/*文字サイズ*/
}
/*SOLD OUT表示。option2と指定した場合に画像を30%透明度にする設定。*/
.list.option2 figure img,
.list-sub.option2 figure img {
	opacity: 0.3;	/*透明度30%の事*/
}

/*商品詳細ページの画像切り替え
---------------------------------------------------------------------------*/
/*大きな画像のボックスと説明文を入れるボックス*/
#item-image {
	position: relative;
	margin-bottom: 20px;
}
/*大きな写真画像*/
#item-image img {
	width: 100%;
}
/*大きな画像の１行目*/
#item-image #item_image1 {
	z-index:2;
	position:relative;
	overflow:hidden;
}
/*大きな画像の２行目*/
#item-image #item_image2 {
	z-index:1;
	position:absolute;
	left:0px;
	top:0px;
	overflow:hidden;
}
/*サムネイル画像*/
.thumbnail {
	width: 80px;	/*画像の幅*/
	height: 80px;	/*画像の高さ*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	margin-bottom: 20px;
}
.thumbnail:hover {
	border: 1px solid #333;	/*マウスオン時の枠線の幅、線種、色*/
}

/*subコンテンツ
---------------------------------------------------------------------------*/
/*subブロック*/
#sub {
	float: right;	/*右に回り込み*/
	width: 24%;		/*幅*/
	padding-bottom: 40px;
}
/*１カラム時*/
body.c1 #sub {
	display: contents;
}
/*subコンテンツ内のh2タグ設定*/
#sub h2 {
	padding: 5px 10px;	/*上下、左右への余白*/
	background: #666;	/*背景色*/
	color: #FFF;		/*文字色*/
	text-align: center;
}

/*TOCコンテンツ
---------------------------------------------------------------------------*/
/*TOCブロック*/
#TOC {
	float: right;	/*右に回り込み*/
	width: 24%;		/*幅*/
	padding-bottom: 40px;
}
/*１カラム時*/
body.c1 #TOC {
	display: none;
}
/*subコンテンツ内のh2タグ設定*/
#TOC h2 {
	padding: 5px 10px;	/*上下、左右への余白*/
	background: #666;	/*背景色*/
	color: #FFF;		/*文字色*/
	text-align: center;
}

/*subコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
#sub ul.submenu {
	margin-bottom: 20px;	/*ブロックの下に空けるスペース*/
}
#sub .box1 ul.submenu {
	margin-bottom: 0;	/*box1の中で使った場合に下にあけるスペースをなくす設定*/
}
/*メニュー１個ごとの設定*/
#sub ul.submenu li a {
	text-decoration: none;display: block;
	padding: 5px 30px;	/*メニュー内の余白。上下、左右への設定。*/
	border-bottom: 1px solid #ccc;	/*下側の線の幅、線種、色*/
	background: #FFF;	/*背景色*/
}
/*マウスオン時の背景色*/
#sub ul.submenu li a:hover {
	background: #00A9A2;	/*背景色*/
	color: #FFF;	/*文字色*/
}

/*TOCコンテンツ内のメニュー
---------------------------------------------------------------------------*/
/*メニュー全体の設定*/
#TOC ul.submenu {
	margin-bottom: 20px;	/*ブロックの下に空けるスペース*/
}
#TOC .box1 ul.submenu {
	margin-bottom: 0;	/*box1の中で使った場合に下にあけるスペースをなくす設定*/
}
/*メニュー１個ごとの設定*/
#TOC ul.submenu li a {
	text-decoration: none;display: block;
	padding: 5px 30px;	/*メニュー内の余白。上下、左右への設定。*/
	border-bottom: 1px solid #ccc;	/*下側の線の幅、線種、色*/
	background: #FFF;	/*背景色*/
	text-align: center;
}
/*マウスオン時の背景色*/
#TOC ul.submenu li a:hover {
	background: #00A9A2;	/*背景色*/
	color: #FFF;	/*文字色*/
}

/*サブコンテンツ内のbox1
---------------------------------------------------------------------------*/
#sub .box1 {
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 10px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: #e2e2e2;	/*背景色と背景画像の読み込み*/
}
body.c1 #sub .box1 {
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 10px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: #e2e2e2;	/*背景色と背景画像の読み込み*/
	text-align:center;
}

/*サブコンテンツ内のbox1
---------------------------------------------------------------------------*/
#TOC .box1 {
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	padding: 10px;			/*ボックス内の余白*/
	margin-bottom: 20px;	/*ボックスの下に空けるスペース*/
	background: #e2e2e2;	/*背景色と背景画像の読み込み*/
}

/*サブコンテンツの「CART」ボタン
---------------------------------------------------------------------------*/
/*#sub .cart a {
	display: block;text-decoration: none;text-align: center;
	background: #5db3c5;	/*背景色*/
	color: #fff;			/*文字色*/
	box-shadow: 1px 1px 3px rgba(0,0,0,0.3);	/*影。右へ、下へ、広げる幅、色。0,0,0は黒の事で、0.3は30%色がついた状態。*/
	border-radius: 3px;	/*角丸のサイズ*/
	padding: 5px;		/*ボタン内の余白*/
}
*/

/*サブコンテンツ内の一覧ブロック
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
#sub .list-sub {
	position: relative;overflow: hidden;
	font-size: 11px;	/*文字サイズ*/
	line-height: 1.2;	/*行間を狭くする*/
}
#sub .list-sub a {
	text-decoration: none;display: block;overflow: hidden;
	padding: 10px;		/*ボックス内の余白*/
	background: #fff;	/*背景色*/
	margin-bottom: 1px;	/*下に空けるスペース*/
}
/*マウスオン時*/
#sub .list-sub a:hover {
	background: #f5f5f5;	/*背景色*/
}
/*ボックス内のh4タグ設定*/
#sub .list-sub h4 {
	color: #00A9A2;		/*文字色*/
}
/*ボックス内の写真設定*/
#sub .list-sub figure img {
	float: left;		/*画像を左へ回り込み*/
	width: 20%;			/*写真の幅*/
	margin-right: 5px;	/*写真の右側に空ける余白*/
}
/*ランキング設定（CMS用）*/
#sub .list-sub .ranking {
	display: block;text-align: center;margin-right: 10px;
	float: left;	/*左に回り込み*/
	width: 40px;	/*アイコンの幅*/
	line-height: 40px;	/*アイコンの高さ*/
	border-radius: 50%;	/*円形にするスタイル*/
	background: #ff7b7b;	/*背景色*/
	color: #fff;			/*文字色*/
	font-size: 11px;		/*文字サイズ*/
}

/*フッター設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	background: #00A9A2;	/*背景色*/
	font-size: 90%;		/*文字サイズ*/
	color: #fff;		/*文字色*/
}
footer a {
	color: #fff;	/*リンクテキストの文字色*/
}
footer a:hover {
	color: #fff;	/*マウスオン時の文字色*/
}
footer .pr {
	display: block;
	font-size: 80%;
}

/*フッターメニュー
---------------------------------------------------------------------------*/
/*ボックス全体*/
#footermenu {
	overflow: hidden;
	padding: 20px 0;
	max-width: 1200px;	/*上にある#containerのmax-widthと数字を揃える*/
	margin: 0 auto;
}
/*１行分の設定*/
#footermenu ul {
	float: left;	/*左に回り込み*/
	width: 18%;		/*幅。今回は５列作ったのでここの幅18%と下のpadding(合計の2%)でトータル20%になるよう設定。列に応じて調整して下さい。*/
	padding-right: 1%;
	padding-left: 1%;
}

/*コピーライト
---------------------------------------------------------------------------*/
#copyright {
	clear: both;
	text-align: center;
	background: #666;	/*背景色*/
}
#copyright a {
	text-decoration: none;
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding-left: 20px;
	padding-right: 20px;
	margin-bottom: 20px;
}
/*日付設定*/
#new dt {
	float: left;
	width: 9em;		/*幅*/
	letter-spacing: 0.1em;
}
/*記事設定*/
#new dd {
	padding-left: 9em;
	border-bottom: 1px solid #ccc;	/*下線の幅、線種、色*/
}

/*ABOUTページ
---------------------------------------------------------------------------*/
/*リストタグ（１ステップ分）*/
ol.step li {
	padding-bottom: 100px;	/*↓マーク分の高さを確保する*/
	position: relative;
}
/*h4見出し*/
ol.step li h4 {
	color: #00A9A2;		/*文字色*/
}
/*h4見出し（※box1内で使う場合の追加設定）*/
.box ol.step li h4 {
	color: #b6aa77;		/*文字色*/
}
/*↓マーク*/
ol.step li::after {
	content: "↓";	/*表示させる矢印。変更しても構いませんが機種依存文字は化けるので使わない。*/
	position: absolute;
	bottom: 0px;
	left: 45%;
	font-size: 50px;	/*サイズ*/
	color: #ccc;		/*色*/
}
/*最後のブロックには↓マークを表示しない*/
ol.step li:last-of-type::after {
	content: none;
}

/*よく頂く質問ページ
---------------------------------------------------------------------------*/
/*ブロック全体*/
.faq {
	padding: 5px;	/*上下、左右への余白*/
}
/*質問の設定*/
.faq dt {
	color: #00A9A2;	/*文字色*/
	padding-top: 15px;
	padding-bottom: 10px;
}
.faq dt a {
	color: #00A9A2;	/*文字色*/
}
/*回答の設定*/
.faq dd {
	border-bottom: 1px solid #ccc;	/*下線の幅、線種、色*/
	overflow: hidden;
	padding-bottom: 20px;
}
.faq dt {
	font-size: 24px;
}
.faq dd {
	font-size: 20px;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	background: #eee;		/*背景色*/
	color: #666;			/*文字色*/
	font-weight: bold;		/*太字に*/
	padding: 10px;			/*ボックス内の余白*/
}
/*ta1設定*/
.ta1 {
	width: 100%;
	margin: 0 auto 20px;
}
.ta1 .tamidashi {
	background: #d6eaf6;
}
.ta1, .ta1 td, .ta1 th {
	border: 1px solid #ccc;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;	/*ボックス内の余白*/
	word-break: break-all;
	background-color: #fff
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 140px;	/*幅*/
	text-align: center;	/*センタリング*/
	font-weight: normal;
}

/*ボタン(btn)の設定
---------------------------------------------------------------------------*/
input[type="submit"].btn,
input[type="button"].btn {
	width: 100%;
	padding: 15px 0px;	/*上下、左右へのボタン内の余白*/
	margin-bottom: 20px;
	border: 2px solid #910000;	/*枠線の幅、線種、色*/
	border-radius: 3px;	/*角丸のサイズ*/
	background: #ea0000;	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#ea0000, #b40000 50%, #910000 50%);	/*グラデーション*/
	font-size: 20px;	/*文字サイズ*/
	color: #fff;	/*文字色*/
}
/*マウスオン時の設定*/
input[type="submit"].btn:hover,
input[type="button"].btn:hover {
	border: 2px solid #c10000;	/*枠線の幅、線種、色*/
	background: #fe0000;	/*背景色（古いブラウザ用）*/
	background: linear-gradient(#fe0000, #d50000 50%, #c10000 50%);	/*グラデーション*/
	position: relative;top: 1px;left: 1px;	/*マウスオン時に上から1px、左から1px場所を移動する*/
}

/*PAGE TOP（↑）設定
---------------------------------------------------------------------------*/
@keyframes scroll {
0% {opacity: 0;}
100% {opacity: 1;}
}
body .nav-fix-pos-pagetop a {
	display: none;
}
body.is-fixed-pagetop .nav-fix-pos-pagetop a {
	display: block;
	text-decoration: none;
	text-align: center;
	width: 70px;
	line-height: 70px;
	border-radius: 50%;
	z-index: 100;
	position: fixed;
	bottom: 50px;
	right: 3%;
	background: #999;
	background: rgba(0,0,0,0.6);
	color: #fff;
	animation-name: scroll;	/*上のアニメーションで指定しているkeyframesの名前（scroll）*/
	animation-duration: 1S;	/*アニメーションの実行時間*/
	animation-fill-mode: forwards;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
body.is-fixed-pagetop .nav-fix-pos-pagetop a:hover {
	background: #999;
}

/*一覧ページのボックス内のアイコン
（CMSの場合は管理ページの「オプション1」～のプルダウンと、setup.phpの「オプション選択肢」に関連します）
---------------------------------------------------------------------------*/
/*option1,option2共通*/
span.option1, span.option2 {
	text-align: center;
	display: block;
	font-size: 10px;	/*文字サイズ*/
	width: 100px;		/*幅*/
	position: absolute;
	right: 0px;	/*ボックスに対して右から0pxの場所に配置*/
	top: 0px;	/*ボックスに対して上から0pxの場所に配置*/
	transform: rotate(45deg) translate(32px,-9px);	/**/
	color: #FFF;	/*文字色*/
	background: #666;	/*背景色*/
}
/*option1への追加設定*/
span.option1 {
	color: #FFF;		/*文字色*/
	background: #F00;	/*背景色*/
}
/*h2タグ内で使った場合のoption1とoption2*/
h2 span.option1, h2 span.option2 {
	text-shadow: none;
	width: auto;
	padding: 2px 5px;
	position: static;
	transform: none;
	display: inline-block;
	font-size: 15px;
	margin-left: 10px;
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 75%;		/*文字サイズ*/
	line-height: 2.1;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*checkブロック。赤い注意書きブロックです。
---------------------------------------------------------------------------*/
p.check {
	background: #ff0000;	/*背景色*/
	color:#fff;				/*文字色*/
	padding: 10px 25px !important;	/*上下、左右へのボックス内余白*/
	margin-bottom: 20px;
}
p.check a {color: #fff;}

/*その他
---------------------------------------------------------------------------*/
.look {background: #eee;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px !important;}
.mb30 {margin-bottom: 30px !important;}
.p0 {padding:0 !important;}
.clear {clear: both;}
ul.disc {padding: 0em 20px 20px 30px;list-style: disc;}
.color1, .color1 a {color: #F00;}
.bg1 {background: #f6f5f2;}
.pr {font-size: 10px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}
img.fr {float: right;margin-left: 10px;margin-bottom: 10px;}
img.fl {float: left;margin-right: 10px;margin-bottom: 10px;}
.big1 {font-size: 20px;}
.mini1 {font-size: 11px;display: inline-block;line-height: 1.5;}
.sh {display: none;}



/*画面幅1200px以上の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:1200px){



/*container
---------------------------------------------------------------------------*/
#container {
	width: 1200px;	/*冒頭にある「#container」の「max-width」の値をここに「width」として設定して下さい。*/
}

/*メインメニューとドロップダウンメニューの設定変更。メニュー数が５個なので、1200÷5=240pxになります。
---------------------------------------------------------------------------*/
#menubar li, #menubar ul.ddmenu {
	width: 240px;
}

}



/*画面幅1100px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:1100px){
.movable-h1 {
	text-align: center;
	justify-content: flex-end;
	padding-right: 80px;
	font-size: 22px
	}

#h1MobilePlaceholder h1 {
  line-height: 1;
  justify-content: center;
  padding-right: 0px;
  text-align: center;
  margin: 0px 0;
  height: 50px;
  align-items: center;
}

/*ヘッダーの「CART」
---------------------------------------------------------------------------*/
/*header .cart a {
	width: 52px;	/*アイコンの高さ*/
	height: 52px;	/*アイコンの幅*/
	right: 80px;	/*ヘッダーブロックに対して右から80pxの場所に配置*/
	top: 24px;		/*ヘッダーブロックに対して上から24pxの場所に配置*/
	border-radius: 0px;	/*横のメニューと形を揃える為に円形から正方形に戻す*/
}*/

/*メインメニュー
---------------------------------------------------------------------------*/
/*アニメーションのフレーム設定。全100コマアニメーションだと思って下さい。透明度(opacity)0%から透明度100%にする指定。*/
@keyframes menu1 {
0% {opacity: 0;}
100% {opacity: 1;}
}
/*スマホ用メニューを非表示から表示に切り替える*/
#menubar-s {
	display: block;
	overflow: hidden;
	position: absolute;
	border-top: 1px solid #fff;
	width: 100%;
	z-index: 10;
	animation-name: menu1;		/*上のkeyframesの名前*/
	animation-duration: 0.5S;	/*アニメーションの実行時間。0.5秒。*/
	animation-fill-mode: both;	/*アニメーションの完了後、最後のキーフレームを維持する*/
}
/*メニュー１個あたりの設定*/
#menubar-s li a {
	display: block;
	text-decoration: none;
	padding: 10px 5%;
	border-bottom: 1px solid #fff;
	background: #000;
	background: rgba(0,0,0,0.8);
	color: #fff;
}
/*PC用メニューを非表示にする*/
#menubar {
	display: none;
}

/*３本バーアイコン設定
---------------------------------------------------------------------------*/
/*３本バーブロック*/
#menubar_hdr {
	display: block;
	position: absolute;
	top: 24px;	/*上から24pxの場所に配置*/
	right: 3%;	/*右から3%の場所に配置*/
	border: 1px solid #000;	/*枠線の幅、線種、色*/
}
/*アイコン共通設定*/
#menubar_hdr.close,
#menubar_hdr.open {
	width: 50px;	/*幅*/
	height: 50px;	/*高さ*/
}
/*三本バーアイコン*/
#menubar_hdr.close {
	background: #fff url(../images/icon_menu.png) no-repeat center top/50px;
}
/*閉じるアイコン*/
#menubar_hdr.open {
	background: #fff url(../images/icon_menu.png) no-repeat center bottom/50px;
}

/*コンテンツ（mainとsubを囲むブロック）
---------------------------------------------------------------------------*/
#contents {
	clear: both;
	padding: 0 3% 0;	/*上、左右、下へのボックス内の余白*/
}

/*main,subコンテンツ
---------------------------------------------------------------------------*/
#main, #sub, #TOC {
	float: none;
	width: auto;
}

/*商品一覧ページの各ブロック
---------------------------------------------------------------------------*/
/*各ボックスの設定*/
#main .list {
	width: auto;
	float: none;
	margin-bottom: 0;
	line-height: normal;
	border-bottom: 1px solid #ccc;
}
#main .list:first-of-type {
	border-top: 1px solid #ccc;
}
#main .list a {
	height: auto;
	border-right: none;
}
/*１、５、１０個目…のボックスへの追加設定*/
#main .list:nth-of-type(4n+1) a {
	border-left: none;
}
/*ボックス内の画像(figure)タグ設定*/
#main .list figure {
	float: left;
	width: 30%;
	margin-right: 10px;
}
/*ボックス内の段落(p)タグ設定*/
#main .list p {
	font-size: 100%;
}

/*その他
---------------------------------------------------------------------------*/
body.s-n #sub,body.s-n #footermenu,.m-n {display: none;}

}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*全体の設定
---------------------------------------------------------------------------*/
body {
	font-size: 12px;	/*文字サイズ*/
	line-height: 1.5;	/*行間*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
header #logo img {
	width: 200px;	/*画像幅*/
	bottom: 40px;	/*ヘッダーに対して下から40pxの場所に配置*/
}

/*mainコンテンツ
---------------------------------------------------------------------------*/
#main h2, #main h3 {
	font-size: 14px;
	padding-left: 10px;
	padding-right: 10px;
}
/*段落タグ設定*/
#main p {
	padding: 0px 10px 15px;	/*上、左右、下への余白*/
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding-left: 10px;
	padding-right: 10px;
}

/*テーブル（ta1）
---------------------------------------------------------------------------*/
/*caption*/
.ta1 caption {
	padding: 5px;
}
/*ta1設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;	/*ボックス内の余白*/
}
/*ta1の左側ボックス*/
.ta1 th {
	width: 100px;
}

/*その他
---------------------------------------------------------------------------*/
.ws,.wl {width: 94%;}
.big1 {font-size: 16px;}
img.fr,img.fl {float: none;margin: 0;width: 100%;}
.sh {display:block;}
.pc {display:none;}

}



/*画面幅360px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:360px){

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*ロゴ画像*/
header #logo img {
	width: 150px;	/*画像幅*/
}


/*カレンダー用テーブル
---------------------------------------------------------------------------*/
/*テーブル全体の設定*/
.cal {
	border: 1px solid #a2a2a2;	/*枠線の幅、線種、色*/
	background: #FFF;			/*テーブル内の背景色*/
	font-size: 11px;			/*文字サイズ*/
	margin-right: auto;
	margin-left: auto;
}
.cal td, .cal th{
	border: 1px solid #a2a2a2;	/*枠線の幅、線種、色*/
	line-height: 1;				/*行間*/
	text-align: center;			/*文字をセンタリング*/
	padding: 5px;				/*ボックス内の余白*/
}
/*テーブル内のth(曜日)設定*/
.cal th{
	background: #ebebeb;	/*背景色*/
}
/*休日の設定*/
.cal .off {
	background: #ffced8;	/*背景色*/
	color: #666;			/*文字色*/
}
/*日曜日の設定*/
.cal .sun {
	color: #FF5C7F;			/*文字色*/
}
/*管理ページから入力した場合の設定*/
.cal .on {
	background: #ced8ff;	/*背景色*/
	color: #666;			/*文字色*/
}

}



/*アニメーション設定
--------------------------------------------------------------------------*/
.anim-box.fadein.is-animated {
  animation: fadeIn 5s cubic-bezier(0.40, 1, 0.64, 1) forwards;
}

 
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.anim-box.slideinright.is-animated {
  animation: slideInRight 2s   cubic-bezier(0.23, 0.23, 0.76, 1.02) forwards;
}
 
@keyframes slideInRight {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

.anim-box.slideinleft.is-animated {
  animation: slideInLeft 2s   cubic-bezier(0.23, 0.23, 0.76, 1.02) forwards;
}
 
@keyframes slideInLeft {
  0% {
    transform: translateX(-180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%,100% {
    opacity: 1;
  }
}

.anim-box.poyoyonright.is-animated {
  animation: poyoyonright 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
 
@keyframes poyoyonright {
  0% {
    transform: translateX(140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}

.anim-box.poyoyonleft.is-animated {
  animation: poyoyonleft 0.5s cubic-bezier(0.12, 0, 0.39, 0) 1 forwards;
}
 
@keyframes poyoyonleft {
  0% {
    transform: translateX(-140px);
    opacity: 0;
  }
  50% {
    transform: translateX(0);
  }
  65% {
    transform: translateX(30px);
  }
  100% {
    transform: translateX(0);
  }
  20%,100% {
    opacity: 1;
  }
}
.anim-box.poyoyon2.is-animated {
  animation: poyoyon2 2s cubic-bezier(0.44, 0.01, 0.39, 1) forwards;
}
 
@keyframes poyoyon2 {
  0%  {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1.0) translate(0, 8px);
  }
  50% {transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1.0, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1.0, 1.0) translate(0, 0);
  }
  0%, 100% {
    opacity: 1;
  }
}

.anim-box.slide-skewright.is-animated {
  animation: slide-skewright 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
 
@keyframes slide-skewright {
  0% {
    transform: translate(180px,60px);
    opacity: 0;
  }
  100% {
    transform: translate(0,0);
  }
  20%,100% {
    opacity: 1;
  }
}

.anim-box.slide-skewleft.is-animated {
  animation: slide-skewleft 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
 
@keyframes slide-skewleft {
  0% {
    transform: translate(-180px,60px);
    opacity: 0;
  }
  100% {
    transform: translate(0,0);
  }
  20%,100% {
    opacity: 1;
  }
}

.anim-box.popup.is-animated {
  animation: popup 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
 
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.8);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

.anim-box.fadeup.is-animated {
  animation: fadeup 3s cubic-bezier(0.73, 0.04, 0.49, 1) forwards;
}
 
@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.marker {

  /* マーカーを引く 
  rgba(255, 153, 0,0.5) の部分はマーカーの色を指定しています。
　実装される際は、お好きな色、透明度をお入れ下さい。 */
  background:linear-gradient(transparent 60%, rgba(255, 153, 0,0.5) 40%); /* マーカーを引く */
  
  /* インライン属性を指定する */
  display: inline;                                                        
}

.marker2 {

  /* マーカーを引く 
  rgba(255, 153, 0,0.5) の部分はマーカーの色を指定しています。
　実装される際は、お好きな色、透明度をお入れ下さい。 */
  background:linear-gradient(transparent 65%, rgb(0 255 25 / 45%) 35%); /* マーカーを引く */
  
  /* インライン属性を指定する */
  display: inline;                                                        
}

.markerin {
  background:linear-gradient(transparent 5%, #14c4a9b0 95%);
  display: inline;

  /* 背景の繰り返しを停止 */
  background-repeat: no-repeat;

  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;

  /* マーカーが引かれる速度を指定 */
  transition:background-size 1.8s;
}

/* マーカーが引かれる際に付与するクラス */
.markerin.on {
  /* 横方向を100%にして、マーカーを引く */
  background-size: 100% 100%;
}

/* スライド設定　
------------------------------------------------------*/
.slide-container {
    width: 100%;
    margin: 50px auto;
    display: flex;
    align-items: center;
    overflow: hidden;
}
.slide-wrapper {
  display: flex;
  animation: slide-flow 15s infinite linear 1s both;
}
.slide{
  width: 300px;
  object-fit:cover;
  border: 1px solid #ddd;
}
@keyframes slide-flow {
     0% {transform: translateX(0);}
 100% {transform: translateX(-100%);}
}
/* 改行設定
------------------------------------------------------*/
.bro{
	margin-bottom: 5em;
}
/*フォームの設定
------------------------------------------------------*/
.lead-form{
	text-align: center;
	font-size: 18px;
}
form{
	width:500px;
	margin:0 auto;
}
.item{
	overflow:hidden;
	margin-bottom:20px;
}
.label{
	float:left;
	margin-right:20px;
	width:135px;
	border-right:20px;
	width:135px;
	border-left:solid 3px #e0505d;
	padding-left:20px;
}
.inputs{
	float:left;
	width:300px;
}
input[type="text"],input[type="email"]{
	border:solid 1px #aaa;
	border-radius:5px;
	padding:10px;
	font-size: 15px;
}
.textarea{
	border:solid 1px #aaa;
	border-radius:5px;
	padding:10px;
	height:160px;
	font-size: 15px;
}
.btn-area{
	text-align:center;
}
input[type="submit"]{
	background: #00A9A2;
	border: none;
	color: white;
	font-size:17px;
	font-weight:bold;
	padding: 10px 20px;
	margin: 0 5px;
}
input[type="reset"]{
	background: #aaa;
	border: none;
	color: white;
	font-size:17px;
	font-weight:bold;
	padding: 10px 5px;
	margin: 0 5px;
}
/*ギャラリーの設定
-------------------------------------------------*/
.grid-image {
  display: grid;
  grid-template-columns: repeat(auto-fit, 376px);
  column-gap: 0px;
  row-gap: 10px;
  justify-content: center;
  padding: 0;
  margin: 0 auto;
}
.grid-image img {
  width: 100%;
  margin: 0;
  padding: 0;
  display: block;
  height: auto;
}
/*フォント指定
------------------------------------------------*/
.custom-font {
  font-family: Snell Roundhand, Lucida Handwriting, Dancing Script;
  font-weight: 900; 
}
/*ポップアップ設定
-------------------------------------------------*/
.thumbnail {
  width: 200px;
  cursor: pointer;
}

#overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

#overlay img {
  max-width: 65%;
  max-height: 65%;
  box-shadow: 0 0 10px #fff;
}
/*作業紹介の設定*/
.work-box {
  display: flex;
  align-items: flex-start; /* 上揃え */
  gap: 20px; /* 画像と説明文の間に余白 */
  margin: 20px 0;
}

.work-box figure {
  margin: 0;
}

.work-box img {
  width: 450px; /* お好みで調整 */
  height: auto;
}

.work-box ul {
  margin: 0;
  padding-left: 1em;
  list-style: none;
}
