@charset "utf-8";

/*----------------------------------------------------
	Reset CSS
----------------------------------------------------*/
/*
Modification:Qurion
Base:
OZ RESET CSS
Author: ONZE
Author URI: http://on-ze.com
Version: 1.1
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

*, *:before, *:after {
	border:0;
	margin:0;
	outline:0;
	padding:0;
		-webkit-box-sizing:border-box;
		-moz-box-sizing:border-box;
		-ms-box-sizing:border-box;
		-o-box-sizing:border-box;
		box-sizing:border-box;
	font:inherit;
	font-family:inherit;
	font-size:100%;
	font-style:inherit;
	font-weight:inherit;
	text-decoration:none;
	vertical-align:baseline;
}

html {	/* スクロールバー常時表示・スマホ調整 */
	overflow-y: scroll;
	font-size: 62.5%;
}

body {
	line-height:1;
	position:relative;
		-webkit-text-size-adjust:100%;
		-moz-text-size-adjust:100%;
		-ms-text-size-adjust:100%;
		-o-text-size-adjust:100%;
		text-size-adjust:100%;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	width:100%;
	height:100%;
}

article, aside, dialog, figure, footer, header, main, menu, nav, section {display:block;}
audio, canvas, video {display:inline-block;}

br,hr {display:block;}
ol,ul {list-style:none;}

blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}

input,
select {vertical-align:middle;}

table {border-collapse:collapse; border-spacing:0; empty-cells:show;}


/*----------------------------------------------------
　基本設定
----------------------------------------------------*/
html {
	scroll-behavior: smooth;
}

body {
	font-family: "Noto Sans JP","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica,sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1;
	color: #333333;
	margin: 0;
	padding: 0;
	font-feature-settings: "palt" 1;
	letter-spacing: 0.04em;
}

strong { font-weight: 700; }
img { vertical-align: bottom; }

/* clearfix */
.clearfix:after {
	content: " ";
	display: block;
	visibility: hidden;
	clear: both;
	height: 0.1px;
	font-size: 0.1em;
	line-height: 0;
}
/* ie6 hack */
* html .clearfix {
	height: 1%;
}

/* ie7 hack */
*:first-child+html .clearfix {
	min-height: 1%;
}

/* 見出し */
h1,h2,h3,h4,h5,h6 {
	font-weight: 700;
}
/* 画像関連 */
.fit_img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.protect {
	pointer-events: none;
}
.zoom {
	position: relative;
}
.zoom::before {
	content: "";
	background-image: url(../images/icon_zoom.png);
	background-repeat: no-repeat;
	background-size: 100%;
	width: 30px;
	height: 30px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 100;
}
@media screen and (max-width: 834px) {
	.zoom::before {
		content: none;
	}
}

/*----------------------------------------------------
　カラー設定
----------------------------------------------------*/
:root {
	--color-main: #23b8fa;
	--color-business: #23b8fa;
	--color-event: #d11380;
	--color-painting: #036eae;
	--color-cooking: #ff8000;
	--color-recipe: #ff2100;
	--color-knowledge: #693b0e;
	--color-base: #ffebc5;
}

/*----------------------------------------------------
　リンク設定
----------------------------------------------------*/
a:link {
	color: var(--color-main);
	transition: all 0.4s;
}
a:visited {
	color: var(--color-main);
	text-decoration: none;
}
a:hover {
	color: var(--color-main);
	text-decoration: none;
	transition: all 0.4s;
	opacity: 0.70;
	cursor: pointer;
}
a:active {
	color:var(--color-main);
	text-decoration: none;
	transition: .4s;
}

/* 全面リンク */
.link_surface {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

/* テキストリンク */
.linkArrow a {
	display: inline-block;
	text-indent: -1em;
	padding-left: 1em;
}
.linkArrow a::before {
	content: "\f0a9";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display: inline-block;
	vertical-align: middle;
	margin-right: 2px;
	line-height: 15px;
	letter-spacing: 0;
	padding-left: 1em;
}
.linkArrow.backList a::before {
	content: "\f0a8";
}
.linkArrow.mail_icon a::before {
	content: "\f0e0";
}
.linkArrow.pdf_icon a::before {
	content: "\f1c1";
}
.linkArrow.window a::before {
	content: "\f2d2";
}

/* ボタンデザイン */
.linkBtn {
	text-align: center;
	display: block;
}
.linkBtn a {
	padding: 10px 0;
	max-width: 526px;
	width: 100%;
	font-weight: 700;
	background-color: #ffffff;
	display: inline-block;
	color: inherit;
	color: var(--color-main);
	border: 1px solid var(--color-main);
	text-decoration: none;
	position: relative;
	overflow: hidden;
	line-height: 1.4;
	z-index: 2;
}
.linkBtn a::before {
	content: "\f0a9";
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	margin-right: 6px;
	color: var(--color-main);
}
.linkBtn a::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	z-index: -1;
	transform: scale(.5);
	transition: all .3s;
}
.linkBtn a:hover::after {
	background-color: #dbf4ff;
	transform: scale(1);
}
@media screen and (max-width: 834px) {
	.linkBtn a {
		max-width: 320px;
		width: 100%;
	}
}

/*----------------------------------------------------
　表示切り替え
----------------------------------------------------*/
.pcNone {
	display: none !important;
}
@media screen and (max-width: 834px) {
	.spNone {
		display: none !important;
	}
	.pcNone {
		display: block !important;
	}
}

/*----------------------------------------------------
　配置設定
----------------------------------------------------*/
.right {text-align: right !important;}
.left {text-align: left !important;}
.center {text-align: center !important;}
.justify {text-align: justify !important;}

/*----------------------------------------------------
　マージン・パディング設定
----------------------------------------------------*/
.mT0 { margin-top: 0 !important; }
.mT10 { margin-top: 10px !important; }
.mT20 { margin-top: 20px !important; }
.mT30 { margin-top: 30px !important; }
.mT40 { margin-top: 40px !important; }

.mB0 { margin-bottom: 0 !important; }
.mB10 { margin-bottom: 10px !important; }
.mB20 { margin-bottom: 20px !important; }
.mB30 { margin-bottom: 30px !important; }
.mB40 { margin-bottom: 40px !important; }

.pT0 { padding-top: 0 !important; }
.pT10 { padding-top: 10px !important; }
.pT20 { padding-top: 20px !important; }
.pT30 { padding-top: 30px !important; }
.pT40 { padding-top: 40px !important; }

.pB0 { padding-bottom: 0 !important; }
.pB10 { padding-bottom: 10px !important; }
.pB20 { padding-bottom: 20px !important; }
.pB30 { padding-bottom: 30px !important; }
.pB40 { padding-bottom: 40px !important; }

@media screen and (max-width: 834px) {
	.mT20 { margin-top: 15px !important; }
	.mT30 { margin-top: 25px !important; }
	.mT40 { margin-top: 35px !important; }

	.mB20 { margin-bottom: 15px !important; }
	.mB30 { margin-bottom: 25px !important; }
	.mB40 { margin-bottom: 35px !important; }

	.pT20 { padding-top: 15px !important; }
	.pT30 { padding-top: 25px !important; }
	.pT40 { padding-top: 35px !important; }

	.pB20 { padding-bottom: 15px !important; }
	.pB30 { padding-bottom: 25px !important; }
	.pB40 { padding-bottom: 35px !important; }
}

/*----------------------------------------------------
　noscript
----------------------------------------------------*/
.noscript-anotation {
	background-color: #1a9d4a;
	min-height: 100vh;
}
.noscript-anotation p {
	background-color: #1a9d4a;
	line-height: 2;
	color: #ffffff;
	width: 100%;
	text-align: center;
	position:absolute;
	top: 50%;
	margin-top: -80px;
}
.noscript-anotation a {
	color: #fcff86;
}

/*----------------------------------------------------
　IE7アラート表示
----------------------------------------------------*/
#error {
	padding: 20px 0;
	color: #000000;
	background: #d2fae0;
	text-align: center;
}
#error p {
	font: bold 16px/30px Meiryo,sans-serif;
}
#error a {
	color: #f00;
	text-decoration: underline;
}
#error a:hover {
	color: #ffffff;
	background: #ff0000;
}
