@charset "utf-8";
/*----------------------
	2019-11-12
	常呂漁業協同組合
	www.jf-tokoro.or.jp
----------------------*/


/*------------------------
	A Modern CSS Reset
------------------------*/

/* Box sizing rules */
/* Box sizingの定義 */
*, *::before, *::after	{ box-sizing: border-box; }
 
/* Remove default padding */
/* デフォルトのpaddingを削除 */
ul[class], ol[class]	{ padding: 0; }
 
/* Remove default margin */
/* デフォルトのmarginを削除 */
body, 
h1, h2, h3, h4, h5, p, 
ul[class], ol[class], li,
figure, figcaption, blockquote, dl, dd	{ margin: 0; }

/* Set core body defaults */
/* bodyのデフォルトを定義 */
body {
	min-height: 100vh;
	scroll-behavior: smooth;
	text-rendering: optimizeSpeed;
	line-height: 1.5;
}
 
/* Remove list styles on ul, ol elements with a class attribute */
/* class属性を持つul、ol要素のリストスタイルを削除 */
ul[class],
ol[class] {
	list-style: none;
}


/*----------------------
	Initialize
--------------------- */

/*----------------------
	HTML5
--------------------- */
article, aside, figure, figcaption, details, 
footer, header, hgroup, nav, section, summary {
	display: block;
	margin: 0;
	padding: 0;
}

img {
	vertical-align: bottom;
	border: none;
	max-width: 100%;
	font-size: 0px; /* for IE's Bug? */
}
a img	{ cursor: pointer; }
a:focus	{ outline: none; }

h1, h2, h3, h4, h5, h6 { font-weight: normal; }

hr		{ display: none; }
table	{ border-collapse: collapse; border-spacing: 0; }
th		{ font-weight: normal; }
address { font-style: normal; font-weight: normal; }

.fadeIn {
	-vendor-animation-duration: 3s;
	-vendor-animation-delay: 2s;
	-vendor-animation-iteration-count: infinite;
}



/*----------------------
	Customize
--------------------- */
body {
	color: #334;
	font-size: 1em;
	font-family: "ヒラギノ角ゴ Pro W3","HiraKakuPro-W3", "游ゴシック","YuGothic", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "MS PMincho", sans-serif;
	line-height: 1.6;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;	/* mobile safariの自動文字サイズ調整をoffにする */
	-webkit-tap-highlight-color: transparent;	/* モバイルでタッチ時のハイライトカラーを消す */
	-webkit-font-smoothing: antialiased;	/* 文字のアンチエイリアスをきれいに表示 */
	-moz-osx-font-smoothing: grayscale;
}

/*
a:link		{ color:#999; text-decoration: underline; }
a:active	{ color:#999; text-decoration: none; }
a:visited	{ color:#999; text-decoration: none; }
*/
a:hover		{ color: #77CFF0; text-decoration: underline; }

.button,
.submit,
.previs {
	display: inline-block;
	margin: 2em auto;
	padding: .5em 1.5em;
	cursor: pointer;
	border: none;
	border-radius: .5em;
	transition: .3s;
	-webkit-appearance: none;
}
.button,
.submit,
.previs	{ color: #fff; background-color: #06c; text-decoration: none; font-size: 1.2em; }
.button:hover,
.submit:hover,
.previs:hover	{ color: #fff; background-color: #39f; text-decoration: none; }

a.submit:after	{ content:"\f054"; font-family: FontAwesome; opacity: .5; margin-left: 1em; }
a.previs:before	{ content:"\f053"; font-family: FontAwesome; opacity: .5; margin-right: 1em; }


/*----------------------
	共通要素
--------------------- */
.inner {
	max-width: 980px;
	margin: auto;
	padding: 3em 0;
	text-align: left;
}

.solid	{ margin: auto; }
.solid td { padding: .5em; line-height: 1.8; background-color: #fafafa; border: 1px solid #bcd; }
.solid td:nth-child(1)	{ text-align: center; white-space: nowrap; background-color: #e8eaec; }

.l	{ text-align: left; }
.r	{ text-align: right; }
.c	{ text-align: center; }

.s		{ font-size: 0.8em; }
.m		{ font-size: 1.0em; }
.lg		{ font-size: 1.2em; }

/*-------------------------------------------------------------
	背景
------------------------------------------------------------ */
article	{ background-color: rgba(255, 255, 255, 1); }
article:nth-child(even)	{ background-color: rgba(192, 224, 255, .3); }
article:nth-child(even)	{ background-color: rgba(245, 245, 245, 1); }

/*-------------------------------------------------------------
	ページタイトル
------------------------------------------------------------ */
.ptitle	{
	position: relative;
	width: 100vw;
/*	height: 60vh;*/
	aspect-ratio: 3/1;
	color: #fff;
	text-align: center;
	font-family: YuMincho,"游明朝",serif;
	background-color: #ccc;
	background-size: cover;
}
.ptitle			{ background-image: url(main10.jpg); background-position: 50% 20%; }
.ptitle.about	{ background-image: url(main08.jpg); background-position: 50% 100%; }
.ptitle.environment	{ background-image: url(main11.jpg); background-position: 50% 20%; }
.ptitle.inquiry	{ background-image: url(main12.jpg); background-position: 50% 40%; }

.ptitle:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 50%);
}
.ptitle .mask {
	background: linear-gradient(0deg, transparent 30%, rgba(32, 64, 128, .6) 90%);
}
.ptitle h1	{ position: absolute; left: 5%; right: 5%; bottom: 10%; z-index: 200; }
.ptitle h1	{ text-align: center; font-size: 5vw; text-shadow: 0 3px 6px rgba(0,0,0,.5); }
.ptitle h1	{ font-size: clamp(30px, 5vw, 64px); }
.ptitle .catch	{ margin-bottom: 10px; font-size: 8vw; font-weight: bolder; }
.ptitle .catch span	{ display: inline-block; }
.ptitle .read	{ font-size: 1em; }

.blur {
	backdrop-filter: blur(5px);
}


.title	{ margin-bottom: 1em; text-align: center; color: #222; font-size: 4vw; font-weight: bolder; }
.title:after {
	content: '';
	display: block;
	margin: .25em auto 0;
	width: 4em;
	height: .25em;
	background: url(titleUl.png) no-repeat;
	background-size: cover;
}
/*
.title	{ position: relative; margin-top: 7vw; text-align: center; font-size: 6vw; font-weight: bolder; }
.title:after {
	content: '';
	position: absolute;
	top: 0%;
	left: 50%;
	transform: translate(-50%,0%);
	width: 9vw;
	height: 6vw;
	background-image: url(logo3x2.png);
	background-size: cover;
	opacity: .6;
	z-index: 200;
}
*/
/*
	content: '▼';
	width: 15%;
	font-size: 20px;
	line-height: 20px;
	color: #c00;
	border-top: 5px solid #c00;
*/
.subtitle	{ margin: 20px auto; max-width: 800px; }
.subtitle	{ text-align: center; font-size: 4vw; }
.subtitle span	{ display: inline-block; }

.catch	{ position: absolute; left: 0; right: 0; bottom: 50px; padding: 30px 20px; z-index: 100; }
.catch	{ color: #fff; text-align: center; font-size: 4vw; font-family: serif; }
.catch	{ background: linear-gradient(0deg,rgba(0,0,0,.7) 10%,rgba(0,0,0,0) 90%); }
.catch span	{ display: inline-block; }

.scroll	{ font-size: 10vw; text-align: center; line-height: 1; }
.scroll a {
	display: block;
	margin: 30px auto 0;
	text-indent: -9999px;
	width: 60px;
	height: 60px;
	background-image: url(link_down.png);
	background-size: cover;
}
.scroll a	{ color: inherit; opacity: .8; transition: .3s; }
.scroll a:hover	{ opacity: 1; }

.summary {
	max-width: 900px;
	margin: auto;
	padding: 30px 1em 0;
	line-height: 1.6;
}

.flex		{ display: flex; flex-wrap: wrap; justify-content: center;}
.flex li	{ margin: 1em; min-width: 25%; }
.flex li+li	{  }
.flex.rv	{ flex-direction: row-reverse; }
.flex.x2	{ flex-wrap: wrap; }
.flex.x2 li	{ flex: 1 0 45%; }


.circle	{
	margin: 1em;
}
.circle img	{
	display: block;
	margin: auto;
	width: 100%;
	max-width: 320px;
	border-radius: 320px;
}
.votext {
	padding: 2em;
	background-color: rgba(255,255,255,.5);
	border-radius: 1em;
}
.votext p { margin: 1em; }

.bg_cow_pattern	{
	background: #EFEFEF url(bg_cow_pattern.png) no-repeat top center;
	background-size: contain;
}
.bg_firm_blur	{
	background: #c5eb8c url(bg_firm_blur.jpg) no-repeat top center;
	background-size: contain;
}

.bar {
	width: 100vw;
	height: 6vw;
	background-image: url(bar.jpg);
	background-size: cover;
}

/*-------------------------------------------------------------
	SNS
------------------------------------------------------------ */
.sns {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.sns a	{
	display: inline-block;
	margin: 0;
	padding: 0 1em;
	min-width: 2em;
	min-height: 2em;
	line-height: 2em;
	color: #fff;
	font-size: .8em;
	background-color: rgba(0,0,0,.2);
	text-decoration: none;
	border-radius: 3em;
	border-radius: .5em;
	transition: .3s;
	opacity: 1;
}
.sns a:hover	{ opacity: .7; }
.sns .twitter	{ background-color: #1DA1F2; }
.sns .envelope	{ background-color: #39CB8A; }
.sns .website	{ background-color: #f90; }
.sns .website2 	{ background-color: #f60; }
.sns .facebook	{ background-color: #3b5998; }
.sns .youtube	{ background-color: #f00; }
.sns .instagram	{ background-image: url(gradient-768x768.jpg); background-size: cover; }
/*
.sns .twitter:hover		{ background-color: #1DA1F2; }
.sns .envelope:hover	{ background-color: #6c9; }
.sns .website:hover 	{ background-color: #f90; }
.sns .website2:hover 	{ background-color: #f60; }
.sns .facebook:hover	{ background-color: #3b5998; }
.sns .instagram:hover	{ background-image: url(gradient-768x768.jpg); background-size: cover; }
*/

/* -----------------------------------------------------------------------------
	Vegas - Background Animation
--------------------------------------------------------------------------------*/
#vegas	{ width: 100vw; height: 60vh; }
#vegas.nojs1 {
	background-image: url(../images/bg_image01.jpg);
	background-position: 50% 30%;
	background-size: cover;
}
#vegas.nojs2 {
	background-image: url(../images/bg_image16.jpg);
	background-position: 50% 50%;
	background-size: cover;
}
#vegas.nojs3 {
	background-image: url(../images/bg_image19.jpg);
	background-position: 50% 40%;
	background-size: cover;
}
#vegas.nojs1:after,
#vegas.nojs2:after,
#vegas.nojs3:after	{
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url("../js/vegas/overlays/02.png");
}
#vegas .vegas-timer { z-index: 200; }

/* -----------------------------------------------------------------------------
	Header
--------------------------------------------------------------------------------*/
#header {
	position: relative;
	margin-bottom: 5px;
	border-bottom: 5px solid #007bff;
	background: white url(bg_header.png) no-repeat bottom right;
}
#header .logo {
	padding: 10px;
/*
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 200;
*/
}
#header .logo a {
	display: block;
	/* 5:1 */
	width: 60vw;
	height: 12vw;
	max-width: 350px;
	max-height: 70px;
	text-indent: -9999px;
	background-image: url(logo5x1.png);
	background-size: cover;
}

/* -----------------------------------------------------------------------------
	グローバルナビ
--------------------------------------------------------------------------------*/
#hnav	{ display: none; }
#hnav	{
	position: absolute;
	top: 20px;
	right: 20px;
	z-index: 200;
}
#hnav ul	{ display: flex; justify-content: flex-end; }
#hnav li	{ margin-left: 2.5vw; }
#hnav .global-nav	{ margin-top: 15px; }
#hnav .global-nav a	{ padding: 12px 6px; color: #222; text-decoration: none; text-shadow: 1px 1px 3px #fff; transition: .3s; }
#hnav .global-nav a	{ border-bottom: 3px solid rgba(0,102,204,.2); }
#hnav .global-nav a:hover	{ border-bottom: 3px solid rgba(204,102,0,1); background-color: rgba(255,255,255,.8); }
/*
#hnav .global-nav a	{ background-color: rgba(0,0,0,.4); }
#hnav .global-nav a:hover	{ background-color: rgba(32,96,255,.9); }
*/

/*----------------------
	NavigationDrawer
----------------------*/
#nav-drawer {}

#nav-open	{
	position: absolute;
	top: 15%;
	right: 3%;
	display: block;
	margin: 0;
	padding: 0;
	width: 12vw; height: 12vw;
	max-width: 60px; max-height: 60px;
	background: #3be url(navicon.png);
	background-size: cover;
	border-radius: .5em;
	z-index: 2;
}
#nav-open:hover	{
	color: #fff;
	background-color: #f93;
}
#nav-open .fa	{ display: block; font-size: 6vw; }

/* 閉じる用の薄黒カバー（全体）※初期は非表示 */
#nav-close {
	display: none;
	position: fixed;
	top: 0; left: 0;
	width: 100%; height: 100%;
	background-color: black;
	transition: .3s ease-in-out;
	opacity: 0;
	z-index: 99;
}
/* メニューコンテンツ（最前面） */
#nav-content {
	overflow: auto;
	position: fixed;
	width: 80%; height: 100%;
	max-width: 480px;
	background-color: #36c;
	background-size: cover;
	transition: .3s ease-in-out;
	z-index: 9999;
/*	左に隠しておく
	top: 0; left: 0;
	-webkit-transform: translateX(-105%);
	transform: translateX(-105%);
*/
/*	右に隠しておく */
	top: 0; right: 0;
	-webkit-transform: translateX(105%);
	transform: translateX(105%);
}
#nav-content ul	{ margin: 0; padding: 0; display: block; }
#nav-content li	{ border: none; border-bottom: thin solid rgba(255,255,255,.3); list-style-type: none; }
#nav-content a	{ display: block; padding: 1em; color: #fff; font-size: 1em; text-decoration: none; }

/* チェックが入ったら→カバーを表示 */
#nav-input:checked ~ #nav-close {
	display: block;
	opacity: .7;
}
/* チェックが入ったら→メニュー表示（スライド） */
#nav-input:checked ~ #nav-content {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	box-shadow: -6px 0 25px rgba(0,0,0,.5);
}

/* チェックボックス等は非表示に */
.nav-unshown { display: none; }
/*+++++*/


/* -----------------------------------------------------------------------------
	グローバルナビ　レイアウト固定
--------------------------------------------------------------------------------*/
.fixed {
	position: fixed;
	top: 0;
	z-index: 1000;
}
#sitetop header {
	position: relative;
	height: auto;
}
#sitetop #main-nav {
	position: relative;
	top: -60px;
	z-index: 999;
}
#sitetop.restyle #main-nav {
	position: fixed;
	top: 0;
}

/* ===== グローバルナビ リンク設定 =====　*/
#main-nav nav ul li a,
#main-nav nav ul li a:link,
#main-nav nav ul li a:visited {
	color: #fff;
	text-decoration: none;
}
#main-nav nav ul li a:hover,
#main-nav nav ul li a:focus,
#main-nav nav ul li a:active {
	color: #fff;
	padding: 0 0 4px 0;
	border-bottom: 1px solid #fff;
}


/* -----------------------------------------------------------------------------
	メインビジュアル
--------------------------------------------------------------------------------*/
#intro	{ color: #fff; }
#intro:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg,rgba(0,10,20,.7) 10%,rgba(0,10,20,0) 60%);
	pointer-events: none;
}
#intro .main	{ position: absolute; left: 5%; right: 5%; bottom: 15%; z-index: 200; }
#intro .main	{ text-align: center; text-shadow: 0 3px 6px rgba(0,0,0,.5); }
#intro .catch	{ margin-bottom: 10px; font-size: 8vw; font-weight: bolder; }
#intro .catch span	{ display: inline-block; }
#intro .read	{ font-size: 1em; }

.campaign	{ position: absolute; left: 8%; right: 8%; bottom: 5%; z-index: 200; }
/*	margin-left: -50px;/*画像幅の半分を差し引く*/


/*-------------------------------------------------------------
	SPバナー
------------------------------------------------------------ */
#spSite		{ padding-top: 20px; }
#spSite ul	{ margin: 0; padding: 0; display: flex; border-bottom: thin solid #fff; }
#spSite li	{ list-style-type: none; flex: 1; }
#spSite li+li	{ border-left: 2px solid #fff; }
#spSite a {
	position: relative;
	display: block;
	height: 40vh;
	height: 320px;
	overflow: hidden;
}
#spSite a:after {
	content: '';
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	background: url(bg_about.jpg) no-repeat center center;
	background-size: cover;
	transition: all .3s ease-out;
}
#spSite li.store a:after	{ background-image: url(bg_store.jpg); }
#spSite li.about a:after	{ background-image: url(bg_about.jpg); }
#spSite li:hover a:after	{ transform: scale(1.1); }

#spSite h3 {
	position: absolute;
	top: 40%;
	left: 20%;
	right: 20%;
	padding: 5px 10px;
	color: #fff;
	font-size: 4vw;
	font-family: YuMincho,"游明朝",serif;
	text-align: center;
	background-color: rgba(64,48,32,.3);
	z-index: 200;
	transition: all .3s ease-out;
}
#spSite li:hover h3	{ background-color: rgba(172,0,0,.8); }

#spSite img.bgImg {  /* 画像を親要素にフィットして縦横比を維持して拡大縮小 */
	width: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;' /* for IE */
}



/*-------------------------------------------------------------
	greeting / ごあいさつ
------------------------------------------------------------ */
#greeting	{}
#greeting p	{ margin: 0 1em; }

/*-------------------------------------------------------------
	features / 将来に向けて
	facility / 施設紹介
------------------------------------------------------------ */
#features,
#facility {}
#features p,	#facility p	{ margin: 0 1em; }
#features ul,	#facility ul	{ display: flex; flex-wrap: wrap; margin-top: 30px; }
#features li,	#facility li	{ margin: 1em; padding: 1em; flex: 1 0 45%; }
/*
#facility li	{ box-shadow: 0px 0px 9px 0px rgba(0, 0, 0, .2); }
*/
#features img,	#facility img	{ display: block; margin: auto; }
#features .pict,#facility .pict	{ margin-bottom: .5em; }
#features .name,#facility .name	{ font-size: 1.2em; font-weight: bold; }
#features .addr,#facility .addr	{ font-size: 1.0em;}
#features .desc,#facility .desc	{ font-size: 0.9em;}

/*-------------------------------------------------------------
	history / 沿革
------------------------------------------------------------ */
#history p	{ margin-bottom: 3em; font-size: .8em; text-align: center; }
#history .solid	{ margin: 1em auto; }
#history .solid td { padding: .6em; line-height: 1.6; background-color: transparent; border: none; }
#history .solid td:nth-child(1)	{ vertical-align: top; background-color: transparent; border-right: 1px solid #ddd; }

/*-------------------------------------------------------------
	environment / 環境への取り組み
------------------------------------------------------------ */
#environment .solid	{ margin: auto; }
#environment .solid td { padding: .5em; line-height: 1.8; background-color: #fafafa; border: 1px solid #bcd; }
#environment .solid td:nth-child(1)	{ text-align: inherit; white-space: inherit; background-color: #fafafa; }
#environment .solid tr:nth-child(1) td	{ text-align: center; background-color: #e8eaec; }

/*-------------------------------------------------------------
	corpolate / 会社概要
------------------------------------------------------------ */
#corporate {
	position: relative;
	padding: 0 1em;
	text-align: center;
/*
	min-height: 100vh;
	background: url(../../images/corporate_bg.jpg) no-repeat center bottom;
	background-size: cover;
*/
}
#corporate .profile {
	min-width: 75%;
	text-align: left;
	margin: 2em auto;
}
#corporate .profile td { padding: .5em; line-height: 1.8; background-color: #fafafa; border: 1px solid #bcd; }
#corporate .profile td:nth-child(1)	{ text-align: center; background-color: #e8eaec; }

#corporate .profile dt {}
#corporate .profile dd { margin-top: -1.6em; margin-bottom: 12px; padding-left: 80px; }


/*-------------------------------------------------------------
	カテゴリー class="ctg $ctg"
------------------------------------------------------------ */
/*
.ctg	{ display: inline-block; margin: 0 .1em; padding: .3em .6em; min-width: 4em; font-size: .9em; line-height: 1; text-align: center; border-radius: .3em; }
.ctg	{ color: #fff; background-color: #456; }	/* default *
.c01	{ color: #fff; background-color: #4ca; }	/* .c01 *
.c02	{ color: #fff; background-color: #9c6; }	/* .c02 *
.c03	{ color: #fff; background-color: #599; }	/* .c03 *
.c04	{ color: #fff; background-color: #39c; }	/* .c04 *
.c05	{ color: #fff; background-color: #36c; }	/* .c05 *
.c06	{ color: #fff; background-color: #369; }	/* .c06 *
.c07	{ color: #fff; background-color: #969; }	/* .c07 *
.c08	{ color: #fff; background-color: #c59; }	/* .c08 *
.c09	{ color: #fff; background-color: #e89; }	/* .c09 *
.c10	{ color: #fff; background-color: #e93; }	/* .c10 *
.c20	{ color: #fff; background-color: #966; }	/* .c20 *
.c99	{ color: #fff; background-color: #c55; }	/* .c99 *
*/
.ctg	{ display: inline-block; margin: 0; padding: .5em; min-width: 4em; font-size: .9em; line-height: 1; }
.ctg	{ color: #fff; background-color: #007bff; }	/* default */

/*-------------------------------------------------------------
	topics / トピックス
------------------------------------------------------------ */
#topics {
	text-align: center;
}
/*
#topics ul	{ max-width: 800px; margin: 1em auto; padding: 0; }
#topics ul	{ border-bottom: thin solid #7ae; }
#topics li	{ margin: 0; padding: .75em; list-style-type: none; transition: .3s; }
#topics li	{ border-top: thin solid #7ae; }
#topics .ttle		{ display: inline-block; color:#36c; }
#topics .text		{ max-width: 780px; font-size: 1em; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
*/
#topics li:hover	{ background-color: #ffc; }
#topics li .thumbox	{ display: inline-block; width: 20%; margin-right: .5em; padding: 5px; box-shadow: 0px 0px 9px rgba(0, 0, 0, .2); }
#topics li .outline	{ display: inline-block; }
#topics li a		{ display: block; color: inherit; text-decoration: none; }
#topics .date		{ display: inline-block; min-width: 6em; margin-right: .5em; color: #aaa; }
#topics .more		{ margin: 0 1rem; font-size: .9em; text-align: right; }

#topics ul	{ margin: 1em auto; padding: 0; display: flex; flex-wrap: wrap; }
#topics li	{ width: 30%; margin: 1em; padding: 1em 0; list-style-type: none; transition: .3s; }
#topics li	{ border-top: thin solid #7ae; }
#topics .ttle	{ display: block; margin-top: .5em; color:#222; font-weight: bolder; }
/*
#topics .text	{ max-height: 4.8em; overflow: hidden; }
/* MULTI-LINE レスポンシブ対応のテキスト省略 */
#topics .text {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;  
}

#topics .sns {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	margin: 0;
	padding: 0;
}
#topics .twitter,
#topics .facebook {
	margin: 1em;
	width: 460px;
	height: 600px;
	background-color: #fff;
	box-shadow: 0px 0px 9px rgba(000,000,000,0.2);
	overflow: scroll;
}


/*-------------------------------------------------------------
	onlineshop / オンラインショップ
------------------------------------------------------------ */
#onlineshop		{ text-align: center; background-color: #efefef; }
#onlineshop a	{ display: block; color: inherit; text-decoration: none; }
#onlineshop ul	{ margin: 1em auto; padding: 0; display: flex; flex-wrap: wrap; }
#onlineshop li	{ width: 30%; margin: 1em; padding: 0; background-color: rgba(0,0,0,.3); list-style-type: none; }
#onlineshop li	{ position: relative; overflow: hidden; }
#onlineshop li:hover .outline	{ background-color: rgba(0,0,0,.7); bottom: 0px; }
#onlineshop .thumbox	{ display: block; }
#onlineshop .outline	{ padding: 1em; line-height: 1.4; color: #fff; background-color: rgba(0,0,0,.3); }
#onlineshop .outline	{ position: absolute; left: 0; right: 0; bottom: -50px; transition: .3s; }
#onlineshop .date	{ display: inline-block; min-width: 6em; margin-right: .5em; color: #aaa; }
#onlineshop .more	{ display: inline-block; margin-top: 1em; padding: .5em 1em; font-size: .8em; background-color: #36c; border-radius: .5em; }

#onlineshop .ttle	{ display: block; font-weight: bolder; }
#onlineshop .text	{
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;  
}


/*-------------------------------------------------------------
	インフォメーション
------------------------------------------------------------ */
#infos	{ text-align: center; }
#infos p	{ margin: 1em auto; }
#infos ul	{ margin: 1em auto; padding: 0; display: flex; flex-wrap: wrap; }
#infos li	{ list-style-type: none; border-top: thin solid #7ae; transition: .3s; }
#infos li	{ width: 48%; margin: 1%; padding: 1em 1%; }
#infos li:hover	{ background-color: #ffc; }
#infos li a		{ display: block; color: inherit; text-decoration: none; }
#infos .ttle	{ display: block; margin-top: .2em; color:#222; font-weight: bolder; }
#infos .lg		{ font-size: 1.4em; }
#infos .thumbox	{ display: inline-block; width: 20%; margin-right: .5em; padding: 5px; box-shadow: 0px 0px 9px rgba(0, 0, 0, .2); }
/* MULTI-LINE レスポンシブ対応のテキスト省略 */
#infos .text {
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;  
}
.info_box		{ margin: 1em 1em; }
.info_box ul	{ margin: 0; padding: 0; }
.info_box li	{
	margin: 2em 0 0;
 	padding-top: 2em;
 	text-align: left;
 	border-top: thin solid rgba(64,64,64,.2);
	list-style-type: none;
}
.info_box li:first-child { padding-top: 0; border: none; }
.info_box span	{ display: inline-block; margin-right: 1em; }
.info_box .date	{ color: #393; font-weight: normal; }
.info_box .ttl	{ margin: 0; padding: 0; color: #36c; font-size: 1.6em; }
.info_box .cmt	{ margin: .5em 0; padding: 0; }
.info_box .upl:before	{
	content:"\f054";
	margin-right: 1em;
	font-family: FontAwesome;
	opacity: .3;
}
.info_box .ctg	{ width: auto; }

/*--------*/
div.pagelink {
	clear: both; padding: 36px 6px; font-size: 14px; line-height: 1; text-align: center;
}

div.pagelink .blank,
div.pagelink .self,
div.pagelink a.plink {
	margin: 0 3px;
	padding: 6px;
	text-decoration: none;
	background-color: rgba(255,255,255,.3);
	border: 1px solid #ccc;
	border-radius: 3px;
}
div.pagelink .blank	{ color: #999; }
div.pagelink .self	{ color: #369; font-weight: bold; border: 2px solid #69c; }
div.pagelink a.plink:visited	{ color: #00f; text-decoration: none; }
div.pagelink a.plink:hover		{ color: #fff; background-color: #36c; }



/*-------------------------------------------------------------
	contact / コンタクト
------------------------------------------------------------ */
#contact {
	text-align: center;
}
/*-- contact --*/
#contact .inquiry	{ margin: 1em; }
#contact .inquiry dt	{ padding-top: 40px; }
#contact .inquiry dd	{}
#contact .inquiry input,
#contact .inquiry button,
#contact .inquiry textarea,
#contact .inquiry select {
	font: inherit;
}
#contact .inquiry .require	{ display: inline-block; margin-left: .5em; padding: 0 .5em; font-size: .6em; border-radius: .5em; }
#contact .inquiry .require.on{ color: #fff; background-color: #fe5656; }
#contact .inquiry input,
#contact .inquiry textarea {
	width: calc(100% - 20px);
	max-width: 450px;
	padding: 10px;
	text-decoration: none;
	border: 1px solid #d5d5d5;
	border-radius: 5px;
}
#contact .inquiry .pulldown {
	width: 100%;
	max-width: 472px;
	padding: 10px;
	text-decoration: none;
	border: 1px solid #d5d5d5;
	border-radius: 5px;
	-webkit-appearance: button; /* プルダウンだとsafariで装飾できないのでボタン化してしまう */
	-moz-appearance: button;
	appearance: button;
	-webkit-appearance: none;
	appearance: none;
	background: #fff url(pulldown_bg.png) no-repeat right center;
}



/*-------------------------------------------------------------
	footer
------------------------------------------------------------ */
#footer	{}
#footer .fnav	{ padding: 30px 0; background-color: #cfdfef; }
#footer .fnav ul	{ margin: 0; padding: 0; display: flex; justify-content: center; }
#footer .fnav li	{ margin-left: 10px; list-style-type: none; }
#footer .fnav a		{ padding: 5px 10px; color: inherit; text-decoration: none; border-radius: .5em; transition: .2s; }
#footer .fnav a:hover	{ color: #fff; background-color: rgba(32,96,255,.9); }
#footer .cprt	{ padding: 15px 0; color: #fff; background-color: #06c; }
#footer .cprt	{ font-family: arial; text-align: center; }


/*-------------------------------------------------------------
	ページトップへ戻る
------------------------------------------------------------ */
#pagetop {
	position: fixed;
	bottom: 2em;
	right: 2em;
	width: 4em;
	height: 4em;
	padding: .5em;
	line-height: 1.2;
	border-radius: 3em;
	text-align: center;
	color: white;
	background-color: orange;
	opacity: .7;
	transition: .3s;
}
#pagetop:hover { opacity: 1; }
#pagetop a	{ display: block; font-size: .8em; color: inherit; padding: 0; text-decoration: none; }
#pagetop i	{ display: block; font-size: 2.4em; }


/*-------------------------------------------------------------
	スクロールすると表示されるヘッダー
------------------------------------------------------------ */
#moveWrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #FFF;
	z-index: 10000;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #E0E0E0;
}
#moveHeader {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
	_zoom: 1;
}
#moveHeader nav ul {
	width: 80%;
	padding-top: 20px;
	padding-bottom: 20px;
	margin-right: auto;
	margin-left: auto;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}
#moveHeader nav li {
	margin-left: 25px;
}
#moveHeader nav li:first-child { /* 先頭の<li>だけ左寄せ残りは左寄せ */
	margin-right: auto;
}

#privacy	{}
#privacy p	{ margin: 1em 0; padding-left: 1em; }



/* for SmartPhone Landscape (横) */
@media screen and (min-width:480px) { 

	#topics .ttle,
	#infos .ttle		{ font-size: 1.2em; }

	#onlineshop .ttle	{ font-size: 1.2em; }

}


/* for Tablet */
@media screen and (min-width:768px) { /* and ( max-width:1024px) { */

/*
	.inner { padding: 5em 0; }
*/
	.title	{ font-size: 2.6vw; }
	.subtitle	{ font-size: 3vw; }
	.catch	{ font-size: 30px; }
	.summary{ line-height: 2; letter-spacing: .2em; }

	.flex	{ flex-wrap: nowrap; }

	#intro .main	{ left: 10%; right: 10%; bottom: 10%; }
	#intro .catch	{ font-size: 5vw; }
	#intro .read	{ font-size: 1.8vw; line-height: 2; }

	#spSite h3	{ font-size: 2.2vw; }

	#features li,
	#facility li	{ margin: 1%; padding: 2%; flex: 1 0 35%; }

	#topics .sns {
		flex-wrap: nowrap;
		padding-top: 50px;
		padding-bottom: 40px;
	}
	#topics .twitter,
	#topics .facebook { margin: 0; }

	#contact .inquiry	{ margin: 3em 1em 0; max-width: 980px; }
	#contact .inquiry dt{ width: 25%; text-align: right; }
	#contact .inquiry dd{ margin-top: -2.3em; padding-left: 27%; }

}


/* for PC */
@media screen and (min-width:1024px) {

	#hnav	{ display: block; }
	#nav-drawer	{ display: none; }

	#header .logo { padding: 20px; }

}


