@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');

/*------------------------------------------------------

	リセット

------------------------------------------------------*/

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


/*------------------------------------------------------

	グローバル

------------------------------------------------------*/

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	color: #333;
	font-size: 1em;
	line-height: 1.8;
	background-image: url("../images/common/bg.jpg");
	position: relative;
	min-width: 1190px;
}

p { margin-bottom: 30px;}
p:last-child { margin-bottom: 0px;}

a { color: #29A2D9;}
a:hover, a:active { color: #6ECAEA; text-decoration: none;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo095 { font-size: 0.95em !important;}
.fo105 { font-size: 1.05em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo18 { font-size: 1.8em !important;}
.fo21 { font-size: 2.1em !important;}
.fo25 { font-size: 2.5em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}

.fo_white { color: #FFFFFF;}

/*
 * "フォント名" licensed under the IPA Font License Agreement v1.0
 * https://www.flopdesign.com/freefont/utsukushi-mincho-font.html
 * http://ipafont.ipa.go.jp/
 * http://ipafont.ipa.go.jp/ipa_font_license_v1.html
 */
@font-face {
	font-family: "Utsukushi";
	src: url(/font/utsukushi.eot);
	src: url(/font/utsukushi.eot?#iefix) format("embedded-opentype"), url(/font/utsukushi.woff) format("woff"), url(/font/utsukushi.otf) format("opentype");
}
.fo_utsukushi { font-family: "Utsukushi", "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;}

.fo_noto { font-family: 'Noto Sans JP', sans-serif;}

/* ボックス */
.container {
	width: 1190px;
	padding: 0px 15px;
	margin: 0px auto;
}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}

.back_white { background-color: #fff !important;}

@media (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { 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;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-80 { margin-bottom: 120px !important;}

/* clearFix */
.clearFix {
    zoom: 100%;
}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

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

.header { background: url("../images/common/header_line.png") repeat-x left top; padding-top: 20px;}
.header .logo a { display: inline-block; text-decoration: none; color: #333;}
.header .logo .text01 { font-size: 2.7em; line-height: 1;}
.header .pos_ab { right: 0px; top: 15px;}
.header .pos_ab li { display: inline-block; vertical-align: middle; margin: 0px 2px;}
.header .pos_ab .tel a { display: inline-block; vertical-align: bottom; background: url("../images/common/header_tel.png") no-repeat left 50%; padding-left: 25px; font-size: 1.75em; line-height: 1; text-decoration: none; color: #333;}

.gn { display: flex; justify-content: center; line-height: 1.4;}
.gn a { display: block; text-decoration: none; color: #333; padding: 0px 50px; background-repeat: no-repeat; background-position: center top; padding-top: 32px; border-left: solid 1px #ddd; letter-spacing: 0.03em; transition: 0.3s;}
.gn a:hover { transform: translateY(-5px);}
.gn li:nth-child(1) a { background-image: url("../images/common/gn01.png");}
.gn li:nth-child(2) a { background-image: url("../images/common/gn02.png");}
.gn li:nth-child(3) a { background-image: url("../images/common/gn04.png");}
.gn li:nth-child(4) a { background-image: url("../images/common/gn06.png"); border-right: solid 1px #ddd;}

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

.footer_nav li { display: inline-block;}
.footer_nav li:after { content: "　|　";}
.footer_nav li:last-child:after { content: "";}
.footer_nav a { text-decoration: none; color: #333;}
.footer_nav a:hover { text-decoration: underline;}

.footer .back_white { padding-bottom: 15px;}
.footer .back_white:before { content: ""; position: absolute; background: url("../images/common/footer_bg01.png") repeat-x left bottom; height: 26px; width: 100%; left: 0px; top: -26px;}
.footer .bg { background: url("../images/common/footer_bg02.png") no-repeat center 50%; padding: 40px 0px 1px;}
.footer .logo a { display: inline-block; text-decoration: none; color: #333;}
.footer .logo .text01 { font-size: 2.9em; line-height: 1;}
.footer_contact li { display: inline-block; vertical-align: middle; margin: 0px 1% 10px;}
.footer_contact .tel a { display: inline-block; vertical-align: bottom; background: url("../images/common/footer_tel.png") no-repeat left 50%; padding-left: 30px; font-size: 2.3em; font-weight: bold; line-height: 1; text-decoration: none; color: #333;}
.footer_contact .text02 { letter-spacing: -0.03em;}

.footer hr { border: none; background: url("../images/common/header_line.png") repeat-x left top; height: 4px;}

.footer .logo02 { display: inline-block; background: url("../images/top/top_sec01_bg01.png") no-repeat left top, url("../images/top/top_sec01_bg02.png") no-repeat right top; background-size: 200px auto; padding: 15px 240px 0px;}

.pagetop { right: 20px; bottom: 0px; padding-bottom: 20px; z-index: 999;}

/* ------------------------
	コンテンツ
------------------------ */

.over_hidden { overflow: hidden;}

.under_mainimage { background: url("../images/common/under_mainimage.png") no-repeat center bottom; background-size: cover; height: 354px;}

.pagettl { text-align: center; color: #603813; font-size: 2.5em; line-height: 1.1; background: url("../images/top/top_sec01_bg01.png") no-repeat 80px top, url("../images/top/top_sec01_bg02.png") no-repeat 756px top; min-height: 149px; padding-top: 40px;}

.heading_flower { background: url("../images/top/top_sec03_icon.png") no-repeat center top; padding-top: 50px; font-size: 2.2em; line-height: 1.4; text-align: center;}


/* ------------------------
	トップページ
------------------------ */

.mainimage { background: url("../images/top/mainimage_bg.png") no-repeat center top; height: 538px;}

.top_sec01 h2 { font-size: 2.2em; color: #603813; background: url("../images/top/top_sec01_bg01.png") no-repeat left top, url("../images/top/top_sec01_bg02.png") no-repeat right top; min-height: 149px; padding: 40px 0px 50px; margin-bottom: -10px;}
.top_sec01 .box { max-width: 710px; margin: auto; border-radius: 10px; padding: 20px 30px;}
.top_sec01 dl { display: table; width: 100%;}
.top_sec01 dt, .top_sec01 dd { display: table-cell; vertical-align: top;}
.top_sec01 dt { width: 10em; border-right: solid 2px #ccc; padding-top: 10px;}
.top_sec01 dd { padding: 10px 0px 10px 30px;}
.top_sec01 .img01 { width: 380px; left: -110px; top: -80px;}
.top_sec01 .img02 { width: 430px; right: -160px; top: -70px;}
.top_sec01 .img03 { left: -80px; bottom: -10px;}
.top_sec01 .img04 { right: -135px; bottom: -15px;}

.top_sec02 { overflow: hidden;}
.top_sec02 ul { display: flex; justify-content: center; flex-wrap: wrap; margin: auto -20px;}
.top_sec02 li { width: 355px; border-radius: 15px; margin: 0px 20px 80px;}
.top_sec02 .pos_ab { top: -30px; left: 50%; transform: translateX(-50%);}
.top_sec02 h2 { font-size: 2em; padding: 40px 10px 10px; border-top-left-radius: 13px; border-top-right-radius: 13px;}
.top_sec02 .box_inner { padding: 25px 28px;}
.top_sec02 li:nth-child(1) { border: solid 2px #ea9aa6;}
.top_sec02 li:nth-child(1) h2 { background-color: #ea9aa6;}
.top_sec02 li:nth-child(2) { border: solid 2px #84c8d3;}
.top_sec02 li:nth-child(2) h2 { background-color: #84c8d3;}
.top_sec02 li:nth-child(3) { border: solid 2px #f6ae54;}
.top_sec02 li:nth-child(3) h2 { background-color: #f6ae54;}

.top_sec03 { overflow: hidden;}
.top_sec03.topics { overflow: visible; max-width: 800px; margin: auto;}
.top_sec03 h2 { font-size: 2.2em;}
.top_sec03 .left { width: 710px;}
.top_sec03 .right { margin: -60px -80px auto 0px;}
.top_sec03 dl { display: table; width: 100%; border-bottom: dotted 1px #ccc; padding-bottom: 10px; margin-bottom: 10px;}
.top_sec03 dt, .top_sec03 dd { display: table-cell; vertical-align: top;}
.top_sec03 .category { width: 8em;}
.category a { display: block; background: #ecb772; color: #fff; text-align: center; width: 7em; border-radius: 4px; line-height: 1.6; text-decoration: none; padding: 1px; font-size: 0.95em;}
.category a.kamisuna { background: #bf7f7f;}
.category a.nishiki { background: #75bdcd;}
.category a.fujimi { background: #73bf74;}
.category a:hover { opacity: 0.7;}
.top_sec03 dt { width: 7em; position: relative;}
.top_sec03 dt .pos_ab { top: -20px; left: 0px;}


/* ------------------------
	about
------------------------ */

.about_sec01 .box { width: 710px; border-radius: 12px; padding: 35px 8%; margin: auto;}
.about_sec01 dl { display: table; width: 100%; margin-bottom: 5px;}
.about_sec01 dt, .about_sec01 dd { display: table-cell; vertical-align: top; border-bottom: dotted 1px #ccc; padding-bottom: 3px;}
.about_sec01 dt { width: 7em;padding-left: 0.5em;}
.about_sec01 .img01 { left: -315px; top: -10px;}
.about_sec01 .img02 { right: -140px; top: -10px;}

.about_sec02 ul { display: flex; flex-wrap: wrap; margin: 0px -1%;}
.about_sec02 li { width: 31.3333%; margin: 0px 1% 40px;}
.about_sec02 li figure > div { max-width: 355px; display: inline-block; border-radius: 10px; overflow: hidden;}


/* ------------------------
	access
------------------------ */

.access_sec01 { max-width: 1020px; margin: auto; margin-top: -30px;}
.access_sec01 .box { max-width: 990px; margin: auto;}
.access_sec01 .box .left { width: 600px;}
.access_sec01 .box .right { margin-top: -40px;}
.access_sec01 .map iframe { width: 100%; height: 555px; vertical-align: bottom;}
.access_sec01 .btn_area .pos_ab { top: -30px; left: 210px;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}


/* ------------------------
	contact
------------------------ */

.contact_sec01 { margin-top: -30px;}
.contact_sec01 .btn_area { padding: 0px 21%;}


/* ------------------------
	投稿
------------------------ */

.blog_wrap { display: flex; justify-content: space-between;}
.contents { width: calc(100% - 340px); border-radius: 30px; padding: 50px 5%; background: #fff;}
.rNavi { width: 290px; padding-top: 20px;}

/* サイドバー */
.rNavi h2 { font-size: 1.65em; padding-left: 45px;}
.rNavi h2:before { content: ""; position: absolute; background: url("../images/top/top_sec03_icon.png") no-repeat center center; background-size: 100% auto; width: 35px; height: 35px; left: 0px; top: 50%; transform: translateY(-50%);}

.rNavi a { color: #3b3b3b; text-decoration: none;}
.rNavi a:hover { text-decoration: underline;}

.side_sec01 dl { padding-bottom: 15px; border-bottom: dotted 1px #999; margin-bottom: 15px; line-height: 1.6;}

.side_sec02 li { line-height: 1.6; font-size: 1.1em; padding: 0px 0px 10px 20px; border-bottom: dotted 1px #999; margin-bottom: 10px; position: relative;}
.side_sec02 li:before { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 100%; background: #333; left: 3px; top: 0.6em;}

.side_sec03 select {
	width: 100%;
	padding: 10px 15px;
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 1em;
	background-color: #fff;
	box-shadow: 7px 7px 0px #c4e1e8;
	border-radius: 5px;
	border: none;
	-webkit-appearance: menulist-button;
	height: 50px;
	line-height: 50px;
}
.side_sec03 select:focus { outline: none;}

/* 記事ヘッダー */
.blog_header h1 { font-size: 2em; line-height: 1.4; padding-left: 70px; position: relative;}
.blog_header h1:before { content: ""; position: absolute; background: url("../images/common/ttl_icon01.png") no-repeat center center; background-size: 100% auto; width: 50px; height: 46px; left: 0px; top: 0.1em;}
.gallery .blog_header h1:before { background-image: url("../images/common/ttl_icon02.png"); width: 48px; height: 46px; top: -0.1em;}
.blog_header h1 a { color: #3b3939; text-decoration: none;}
.blog_header h1 a:hover { color: #666;}
.cat_wrap { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.cat_wrap li { display: inline-block; vertical-align: middle; margin: 0px 0px 5px 5px;}
.cat_wrap a { display: block; text-decoration: none; padding: 1px 0.8em; line-height: 1.6; width: auto;}
.cat_wrap a:hover { background: #ea9aa6; color: #fff;}
.cat_wrap p { margin-bottom: 8px;}

/* 本文 */
.blog_content p:last-child { margin-bottom: 30px;}
.blog_content h2 {
	font-weight: bold;
	font-size: 1.75em;
	line-height: 1.4;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h3 {
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.4;
	padding-bottom: 15px;
	background: url("../images/common/header_line.png") repeat-x left bottom;
	background-size: 150px 4px;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h4 {
	font-weight: bold;
	font-size: 1.35em;
	line-height: 1.4;
	border-bottom: solid 3px #f6ae54;
	padding-bottom: 10px;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h5, .blog_content h6 { font-weight: bold; font-size: 1.35em; line-height: 1.5; clear: both; margin-bottom: 30px;}

/* リスト */
.blog_content ul { margin-bottom: 30px; clear: both; padding-left: 1em;}
.blog_content li { list-style: outside disc;}

.blog_content ol { margin-bottom: 30px; padding-left: 2em;}
.blog_content ol li { list-style: outside decimal;}

.blog_content iframe { max-width: 100%;}

.blog_content strong { font-weight: bold;}
.blog_content em { font-weight: bold; color: #f08437;}

/*WP用 投稿表示*/
img.aligncenter { display: block; margin: 0px auto 20px;}
img.alignright { margin: 0px 0 20px 20px; float: right;}
img.alignleft { margin: 0px 20px 20px 0; float: left;}

/* ページャー(アーカイブ) */
.pagination { padding-top: 50px;}
.gallery .pagination { padding-top: 20px;}
.pagination .number { position: absolute; left: 0px; top: 55px;}
.pagination span.current, .pagination a {
	margin: 0px 5px 8px;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	min-width: 35px;
	height: 35px;
	line-height: 35px;
	padding: 0px 8px;
	background-color: #f0f0f0;
	color: #333;
}
.pagination span.current, .pagination a:hover { background: #84c8d3; color: #fff;}

/* ページャー(シングル) */
.pager ul { display: flex; justify-content: space-between; flex-wrap: wrap; font-size: 0.9em;}
.pager a { color: #333; text-decoration: none; position: relative;}
.pager a:hover { opacity: 0.7;}
.pager .previous a { padding-left: 25px;}
.pager .previous a:before, .pager .next a:after { content: ""; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; width: 22px; height: 22px; top: 50%; transform: translateY(-50%);}
.pager .previous a:before { background-image: url("../images/common/ico_prev.png"); left: 0px;}
.pager .next a { padding-right: 25px;}
.pager .next a:after { background-image: url("../images/common/ico_next.png"); right: 0px;}


/* gallery */
.archive_glry { display: flex; flex-wrap: wrap; justify-content: space-between;}
.archive_glry li { width: 47%; margin-bottom: 50px;}
.archive_glry figure > div { display: inline-block; overflow: hidden; border-radius: 10px;}
.archive_glry figure img { transition: 0.3s;}
.archive_glry figure a:hover img { transform: scale(1.05);}
.archive_glry li p:first-of-type a { padding-left: 35px; display: inline-block; position: relative;}
.archive_glry li p:first-of-type a:before { content: ""; display: block; position: absolute; background: url("../images/common/ttl_icon02.png") no-repeat center center; background-size: 100% auto; width: 25px; height: 25px; left: 0px; top: 0.1em;}
.archive_glry li p:last-of-type a { display: inline-block; margin-left: 5px;}
