@charset "UTF-8";
/* -------------------------------------------------------------------------

		function.sass
		
		scssファイル内で使う関数を定義
		
------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------

		reset.sass
		
		要素のデフォルトスタイル、フォントサイズのリセット
		
------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------

		style reset
		
------------------------------------------------------------------------- */
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
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, main { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main { display: block; }

ol, 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: 1em 0; padding: 0; }

input, select { vertical-align: middle; }

input, textarea { margin: 0; padding: 0; }

small { font-size: smaller; }

sup { font-size: 0.7em; vertical-align: top; }

sub { font-size: 0.7em; vertical-align: baseline; }

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

		font styles
		
------------------------------------------------------------------------- */
/* YUI 3.9.1 (build 5852) Copyright 2013 Yahoo! Inc. http://yuilibrary.com/license/ */
/** Percents could work for IE, but for backCompat purposes, we are using keywords. x-small is for IE6/7 quirks mode. */
body { font: 81.25%/1.231 arial,sans-serif; *font-size: small; /* for IE */ *font: x-small; /* for IE in quirks mode */ }

/** Nudge down to get to 13px equivalent for these form elements */
select, input, button, textarea { font: 99% arial,sans-serif; }

/** To help tables remember to inherit */
table { font-size: inherit; font: 100%; }

/** Bump up IE to get to 13px equivalent for these fixed-width elements */
pre, code, kbd, samp, tt { font-family: monospace; *font-size: 108%; line-height: 100%; }

/* YUI CSS Detection Stamp */
#yui3-css-stamp.cssfonts { display: none; }

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

		vars.sass
		
		scssファイル内で使う変数を定義
		
------------------------------------------------------------------------- */
/* width
------------------------------------------------- */
/* color
------------------------------------------------- */
/* text color
------------------------------------------------- */
/* fonts
------------------------------------------------- */
/* -------------------------------------------------------------------------

		util.sass
		
		案件に依存せず汎用的に使うClassを定義
		
------------------------------------------------------------------------- */
/* layout
------------------------------------------------- */
.table { display: table; width: 100%; }

.table .row { display: table-row; }

.table .cell { display: table-cell; vertical-align: middle; }

.flex { display: -webkit-box; display: -moz-box; display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; display: flex; -webkit-justify-content: space-between; -moz-justify-content: space-between; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }

.flex .flex-left { -webkit-box-ordinal-group: 1; -ms-flex-order: 1; -webkit-order: 1; order: 1; }

.flex .flex-right { -webkit-box-ordinal-group: 2; -ms-flex-order: 2; -webkit-order: 2; order: 2; }

.flex.valign_c { -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.image_text_view_l, .image_text_view_r { overflow: hidden; }

@media only screen and (max-width: 768px) { .image_text_view_l, .image_text_view_r { overflow: visible; } }

.image_text_view_l .img { float: left; margin-right: 50px; }

@media only screen and (max-width: 768px) { .image_text_view_l .img { width: 100%; float: none; margin: 0 auto 20px; } }

.image_text_view_r .img { float: right; margin-left: 50px; }

@media only screen and (max-width: 768px) { .image_text_view_r .img { width: 100%; float: none; margin: 0 auto 20px; } }

.image_text_view_l .img > div, .image_text_view_r .img > div { margin-bottom: 15px; }

.image_text_view_l .img img, .image_text_view_r .img img { vertical-align: bottom; max-width: 100%; height: auto; }

.image_text_view_l .text, .image_text_view_r .text { overflow: hidden; line-height: 1.8; }

.image_text_view_l .text p, .image_text_view_r .text p { margin-bottom: 1em; line-height: 1.8; }

.image_text_view_l .text p:last-child, .image_text_view_r .text p:last-child { margin-bottom: 0; }

@media only screen and (max-width: 768px) { .image_text_view_l .text, .image_text_view_r .text { overflow: visible; } }

@media only screen and (max-width: 768px) { .image_text_view_l .text { margin-left: 0 !important; } }

@media only screen and (max-width: 768px) { .image_text_view_r .text { margin-right: 0 !important; } }

/* br
------------------------------------------------- */
.sp_none { display: block; }

.pc_none { display: none; }

@media screen and (max-width: 742px) { .sp_none { display: none; }
  .pc_none { display: none; } }

@media screen and (max-width: 768px) { .sp_none { display: none; }
  .pc_none { display: block; } }

/* float clear
------------------------------------------------- */
/*for modern browser*/
.clear_fix:after { content: "."; display: block; height: 0; clear: both; font-size: 0; line-height: 0; visibility: hidden; }

/*for IE 5.5-7*/
.clear_fix　 { zoom: 　1; }

.clear_both　 { clear: both; height: 1px; font-size: 1px; text-align: center; line-height: 0; }

.clear　 { clear: both; }

/* float
------------------------------------------------- */
.float_r { float: right; display: inline; }

.float_l { float: left; display: inline; }

/* margin + padding （0から5刻みでクラスを定義 ex: mb0, mb5, mb10...）
------------------------------------------------- */
.mb0 { margin-bottom: 0px !important; }

.mt0 { margin-top: 0px !important; }

.mr0 { margin-right: 0px !important; }

.ml0 { margin-left: 0px !important; }

.mb5 { margin-bottom: 5px !important; }

.mt5 { margin-top: 5px !important; }

.mr5 { margin-right: 5px !important; }

.ml5 { margin-left: 5px !important; }

.mb10 { margin-bottom: 10px !important; }

.mt10 { margin-top: 10px !important; }

.mr10 { margin-right: 10px !important; }

.ml10 { margin-left: 10px !important; }

.mb15 { margin-bottom: 15px !important; }

.mt15 { margin-top: 15px !important; }

.mr15 { margin-right: 15px !important; }

.ml15 { margin-left: 15px !important; }

.mb20 { margin-bottom: 20px !important; }

.mt20 { margin-top: 20px !important; }

.mr20 { margin-right: 20px !important; }

.ml20 { margin-left: 20px !important; }

.mb25 { margin-bottom: 25px !important; }

.mt25 { margin-top: 25px !important; }

.mr25 { margin-right: 25px !important; }

.ml25 { margin-left: 25px !important; }

.mb30 { margin-bottom: 30px !important; }

.mt30 { margin-top: 30px !important; }

.mr30 { margin-right: 30px !important; }

.ml30 { margin-left: 30px !important; }

.mb35 { margin-bottom: 35px !important; }

.mt35 { margin-top: 35px !important; }

.mr35 { margin-right: 35px !important; }

.ml35 { margin-left: 35px !important; }

.mb40 { margin-bottom: 40px !important; }

.mt40 { margin-top: 40px !important; }

.mr40 { margin-right: 40px !important; }

.ml40 { margin-left: 40px !important; }

.mb45 { margin-bottom: 45px !important; }

.mt45 { margin-top: 45px !important; }

.mr45 { margin-right: 45px !important; }

.ml45 { margin-left: 45px !important; }

.mb50 { margin-bottom: 50px !important; }

.mt50 { margin-top: 50px !important; }

.mr50 { margin-right: 50px !important; }

.ml50 { margin-left: 50px !important; }

.mb55 { margin-bottom: 55px !important; }

.mt55 { margin-top: 55px !important; }

.mr55 { margin-right: 55px !important; }

.ml55 { margin-left: 55px !important; }

.mb60 { margin-bottom: 60px !important; }

.mt60 { margin-top: 60px !important; }

.mr60 { margin-right: 60px !important; }

.ml60 { margin-left: 60px !important; }

.mb65 { margin-bottom: 65px !important; }

.mt65 { margin-top: 65px !important; }

.mr65 { margin-right: 65px !important; }

.ml65 { margin-left: 65px !important; }

.mb70 { margin-bottom: 70px !important; }

.mt70 { margin-top: 70px !important; }

.mr70 { margin-right: 70px !important; }

.ml70 { margin-left: 70px !important; }

.mb75 { margin-bottom: 75px !important; }

.mt75 { margin-top: 75px !important; }

.mr75 { margin-right: 75px !important; }

.ml75 { margin-left: 75px !important; }

.mb80 { margin-bottom: 80px !important; }

.mt80 { margin-top: 80px !important; }

.mr80 { margin-right: 80px !important; }

.ml80 { margin-left: 80px !important; }

.pb0 { padding-bottom: 0px !important; }

.pt0 { padding-top: 0px !important; }

.pr0 { padding-right: 0px !important; }

.pl0 { padding-left: 0px !important; }

.pb5 { padding-bottom: 5px !important; }

.pt5 { padding-top: 5px !important; }

.pr5 { padding-right: 5px !important; }

.pl5 { padding-left: 5px !important; }

.pb10 { padding-bottom: 10px !important; }

.pt10 { padding-top: 10px !important; }

.pr10 { padding-right: 10px !important; }

.pl10 { padding-left: 10px !important; }

.pb15 { padding-bottom: 15px !important; }

.pt15 { padding-top: 15px !important; }

.pr15 { padding-right: 15px !important; }

.pl15 { padding-left: 15px !important; }

.pb20 { padding-bottom: 20px !important; }

.pt20 { padding-top: 20px !important; }

.pr20 { padding-right: 20px !important; }

.pl20 { padding-left: 20px !important; }

.pb25 { padding-bottom: 25px !important; }

.pt25 { padding-top: 25px !important; }

.pr25 { padding-right: 25px !important; }

.pl25 { padding-left: 25px !important; }

.pb30 { padding-bottom: 30px !important; }

.pt30 { padding-top: 30px !important; }

.pr30 { padding-right: 30px !important; }

.pl30 { padding-left: 30px !important; }

.pb35 { padding-bottom: 35px !important; }

.pt35 { padding-top: 35px !important; }

.pr35 { padding-right: 35px !important; }

.pl35 { padding-left: 35px !important; }

.pb40 { padding-bottom: 40px !important; }

.pt40 { padding-top: 40px !important; }

.pr40 { padding-right: 40px !important; }

.pl40 { padding-left: 40px !important; }

.pb45 { padding-bottom: 45px !important; }

.pt45 { padding-top: 45px !important; }

.pr45 { padding-right: 45px !important; }

.pl45 { padding-left: 45px !important; }

.pb50 { padding-bottom: 50px !important; }

.pt50 { padding-top: 50px !important; }

.pr50 { padding-right: 50px !important; }

.pl50 { padding-left: 50px !important; }

.pb55 { padding-bottom: 55px !important; }

.pt55 { padding-top: 55px !important; }

.pr55 { padding-right: 55px !important; }

.pl55 { padding-left: 55px !important; }

.pb60 { padding-bottom: 60px !important; }

.pt60 { padding-top: 60px !important; }

.pr60 { padding-right: 60px !important; }

.pl60 { padding-left: 60px !important; }

.pb65 { padding-bottom: 65px !important; }

.pt65 { padding-top: 65px !important; }

.pr65 { padding-right: 65px !important; }

.pl65 { padding-left: 65px !important; }

.pb70 { padding-bottom: 70px !important; }

.pt70 { padding-top: 70px !important; }

.pr70 { padding-right: 70px !important; }

.pl70 { padding-left: 70px !important; }

.pb75 { padding-bottom: 75px !important; }

.pt75 { padding-top: 75px !important; }

.pr75 { padding-right: 75px !important; }

.pl75 { padding-left: 75px !important; }

.pb80 { padding-bottom: 80px !important; }

.pt80 { padding-top: 80px !important; }

.pr80 { padding-right: 80px !important; }

.pl80 { padding-left: 80px !important; }

/* align
------------------------------------------------- */
.align_l { text-align: left !important; }

.align_r { text-align: right !important; }

.align_c { text-align: center !important; }

/* font
------------------------------------------------- */
.smaller { font-size: 85% !important; }

.larger { font-size: larger !important; }

.bold { font-weight: bold !important; }

/* display
------------------------------------------------- */
.block { display: block !important; }

.inline { display: inline !important; }

/* justify layout
Usage:
<ul class="just_layout">
	<li class ="just_item"></li>
</ul>
------------------------------------------------- */
.just_layout { text-align: justify; text-justify: distribute-all-lines; zoom: 1; display: block; line-height: 0; }

.just_layout:after { line-height: 0; visibility: hidden; content: ""; display: inline-block; width: 100%; }

.just_layout .just_item { display: inline-block; text-align: left; vertical-align: top; line-height: normal; }

* html .just_layout .just_item { display: 　inline; zoom: 　1; }

*:first-child + html .just_layout .just_item { display: 　inline; zoom: 　1; }

/* list
------------------------------------------------- */
.list_disc { margin-left: 　1 0.2em; list-style: 　disc; }

.list_square { margin-left: 　1 0.2em; list-style: 　square; }

.list_decimal { margin-left: 　1 0.7em; list-style: 　decimal; }

.list_decimal_zero { margin-left: 　2 0.3em; list-style: 　decimal-leading-zero; }

/* list style (IE8以上)
------------------------------------------------- */
/* ---- ※ ---- */
.list_asterisk > li { text-indent: -1.3em; margin-left: 1.3em; }

.list_asterisk > li:before { content: "※ "; }

.list_asterisk > li > * { text-indent: 0; }

/* ---- ・ ---- */
.list_dot > li { text-indent: -1em; margin-left: 1em; }

.list_dot > li:before { content: "・"; }

.list_dot > li > * { text-indent: 0; }

/* ---- ● ---- */
.list_circle > li { text-indent: -1em; margin-left: 1em; }

.list_circle > li:before { content: "● "; }

.list_circle > li > * { text-indent: 0; }

/* ---- 1. ---- */
.list_decimal_01 > li { counter-increment: decimal_01; margin-left: 1.2em; text-indent: -1.2em; }

.list_decimal_01 > li:before { content: counter(decimal_01) ". "; }

.list_decimal_01 > li > * { text-indent: 0; }

/* ---- (1) ---- */
.list_decimal_02 > li { counter-increment: decimal_02; margin-left: 1.5em; text-indent: -1.5em; }

.list_decimal_02 > li:before { content: "(" counter(decimal_02) ") "; }

.list_decimal_02 > li > * { text-indent: 0; }

/* ---- [1] ---- */
.list_decimal_03 > li { counter-increment: decimal_03; margin-left: 1.5em; text-indent: -1.5em; }

.list_decimal_03 > li:before { content: "[" counter(decimal_03) "] "; }

.list_decimal_03 > li > * { text-indent: 0; }

/* ---- 丸数字 ---- */
.list_decimal_04 > li { counter-increment: decimal_04; margin-left: 1.5em; text-indent: -1.5em; }

.list_decimal_04 > li:before { content: counter(decimal_04); border: 1px solid #000; padding: 0 3px; font-size: 10px; margin-right: 5px; text-align: center; line-height: 1; border-radius: 50%; }

.list_decimal_04 > li > * { text-indent: 0; }

/* ---- upper alpha ---- */
.list_upper_alpha_01 > li { counter-increment: upper_alpha_01; margin-left: 1.5em; text-indent: -1.5em; }

.list_upper_alpha_01 > li:before { content: counter(upper_alpha_01, upper-alpha) ") "; }

.list_upper_alpha_01 > li > * { text-indent: 0; }

/* 注釈 (IE8以上)
------------------------------------------------- */
/* ---- ※（注釈） ---- */
.notes { margin-left: 1.3em; text-indent: -1.3em; }

.notes:before { content: "※ "; }

.notes > * { text-indent: 0; }

/* ---- ※n （番号付き注釈）---- */
.notes_num { counter-increment: decimal_notes; margin-left: 1.9em; text-indent: -1.9em; }

.notes_num:before { content: "※" counter(decimal_notes) " "; }

.notes_num > * { text-indent: 0; }

/* 章番号用mixin (IE8以上)
usage:
■キャプションに章番号をつける場合
$counterName: oreoreCounter;
.parent-section {
	@include resetCounter($counterName);
	h2 {
		@include addCounter($counterName, '第', '章');
	}
}
■入れ子になってるリストに通し番号(1-1-1など）を付ける場合
$counterName: listCounter;
ol {
	@include resetCounter($counterName);
	li {
		@include addCounters($counterName, '-');
	}
}
------------------------------------------------- */
/* グリッドレイアウト用mixin (IE8以上)
usage:
■12分割で間隔が20pxのグリッドのクラスを作る場合
・SASS
@include grid_system(12, 20px);
・HTML
<div class="grid_system_12">  ← このdivへの幅指定はNG
	<div class="grid_6"></div> ┐
	<div class="grid_3"></div> ├ 子要素は合計が12になるようにクラス名を付ける
	<div class="grid_3"></div> ┘
</div>
------------------------------------------------- */
/* -------------------------------------------------------------------------

		module.sass
		
		見出し、ボタン、表など繰り返し使うパーツ（モジュール）のスタイルを定義
		
------------------------------------------------------------------------- */
/* text link
------------------------------------------------- */
a { color: #222222; text-decoration: none; }

a:hover { text-decoration: underline; }

a.img_hover:hover img { opacity: .7; }

a.tel { cursor: default; pointer-events: none; }

@media only screen and (max-width: 768px) { a.tel { pointer-events: auto; } }

/*img
------------------------------------------------- */
img { line-height: 1; vertical-align: top; height: auto; max-width: 100%; -webkit-transition: all 0.3s ease-in-out 0s; -o-transition: all 0.3s ease-in-out 0s; transition: all 0.3s ease-in-out 0s; -ms-transition: 　none; }

/* form
------------------------------------------------- */
input[type="text"], input[type="submit"], textarea { font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", Meiryo, sans-serif; margin: 0; background-color: #fff; font-size: 16px; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; padding: 1% 2%; border-radius: 0; outline: none; border: 1px solid #d9d9d9; -webkit-transition: all .3s; -o-transition: all .3s; transition: all .3s; }

@media only screen and (max-width: 768px) { input[type="text"], input[type="submit"], textarea { font-size: 1.4rem; } }

input[type="text"].narrow, input[type="submit"].narrow, textarea.narrow { width: 20%; }

input[type="text"] { width: 60%; }

@media only screen and (max-width: 768px) { input[type="text"] { width: 100%; } }

input[type="text"]:focus, textarea:focus { -webkit-box-shadow: 0 0 7px #333333; box-shadow: 0 0 7px #333333; border: 1px solid #333333; }

input[type="radio"], input[type="checkbox"] { margin-right: 5px; vertical-align: baseline; border-style: none; }

label { margin-right: 15px; cursor: pointer; }

input[type="submit"], input[type="button"] { border: none; background-color: transparent; margin: 0; padding: 0; display: block; border-radius: 0; -webkit-appearance: none; cursor: pointer; }

select { font-size: 16px; padding: 1% 2%; }

textarea { height: 200px; }

@media only screen and (max-width: 736px) { textarea { height: 150px; } }

.contact_tbl { margin-top: 20px; }

.require { background-color: #e85151; color: #fff; font-style: normal; font-weight: normal; font-size: 1.2rem; margin-left: 10px; padding: 2px 7px; border-radius: 4px; float: right; }

.mw_wp_form .error { color: #fff; padding: 3px 8px; background-color: #f30; margin-top: 10px; width: 60%; }

@media only screen and (max-width: 768px) { .mw_wp_form .error { width: 100%; } }

.btnArea { text-align: center; }

.btnArea > span { display: inline-block; margin-right: 20px; }

@media only screen and (max-width: 768px) { .btnArea > span { width: 100%; } }

.btnArea > span:last-child { margin-right: 0; }

#contact .contactConfirm { margin-bottom: 30px; }

@media only screen and (max-width: 768px) { #contact .contactConfirm { margin-bottom: 15px; } }

#contact .contactComplete p { margin-bottom: 40px; }

@media only screen and (max-width: 768px) { #contact .contactComplete p { margin-bottom: 20px; } }

#contact #form_area table { width: 100%; margin-bottom: 40px; border-top: #d9d9d9 1px solid; }

@media only screen and (max-width: 768px) { #contact #form_area table { margin-bottom: 20px; } }

#contact #form_area th, #contact #form_area td { padding: 20px; text-align: left; font-weight: 500; border-bottom: #d9d9d9 1px solid; -webkit-box-sizing: border-box; box-sizing: border-box; font-size: 1.5rem; vertical-align: middle; }

@media only screen and (max-width: 768px) { #contact #form_area th, #contact #form_area td { display: block; padding: 10px 0; } }

#contact #form_area th { border-right: #d9d9d9 1px solid; width: 270px; color: #333333; font-weight: bold; }

@media only screen and (max-width: 768px) { #contact #form_area th { width: 100%; border-right: none; } }

#contact #form_area .address li { margin-bottom: 10px; }

#contact #form_area .address li:last-child { margin-bottom: 0; }

#contact #form_area .btnArea .return { display: none; }

#contact.confirm .require { display: none; }

#contact.confirm #form_area .btnArea .return { display: inline-block; }

@media only screen and (max-width: 768px) { #contact.confirm #form_area .btnArea .return { margin-bottom: 20px; } }

/* animation
------------------------------------------------- */
.global_nav ul li a { -webkit-transition: all .3s ease-out; -moz-transition: all .3s ease-out; -ms-transition: all .3s ease-out; -o-transition: all .3s ease-out; transition: all .3s ease-out; }

.wp-pagenavi a, .pagenavi a, .page_content .inner .cg_btn a, .page_content .inner .cb li a, .page_content .inner .c_btn a, .page_content .inner .c_btn input, .page_content .inner .cont_area .cont_area_inner .wrap .cont_btn, .site_header > .inner .hd_free .contact a, .secondary_area .side_category li a, .relation_posts h4 span a, .site_footer .ft_bnr figure, .page_top a { -webkit-transition: all .15s ease-out; -moz-transition: all .15s ease-out; -ms-transition: all .15s ease-out; -o-transition: all .15s ease-out; transition: all .15s ease-out; }

/* column
------------------------------------------------- */
.left_column { float: left; }

.right_column { float: right; }

/* pager - WPのページャー
------------------------------------------------- */
.wp-pagenavi, .pagenavi { width: 100%; margin: 60px auto 30px; text-align: center; position: relative; }

@media only screen and (max-width: 768px) { .wp-pagenavi, .pagenavi { margin-top: 25px; } }

.wp-pagenavi > div, .pagenavi > div { display: inline-block; }

.wp-pagenavi span, .wp-pagenavi a, .pagenavi span, .pagenavi a { height: 40px; line-height: 40px; display: inline-block !important; margin-right: 2px; vertical-align: top; padding: 0 12px; border: #ccc 1px solid; background-color: #fff; }

.wp-pagenavi span, .pagenavi span { background-color: #ccc; }

.wp-pagenavi a:hover, .pagenavi a:hover { background-color: #333333; border-color: #333333; text-decoration: none; color: #fff; }

.wp-pagenavi .prevpostslink a, .wp-pagenavi .nextpostslink a, .pagenavi .prevpostslink a, .pagenavi .nextpostslink a { width: auto; position: absolute; top: 0; background-color: inherit !important; }

@media only screen and (max-width: 768px) { .wp-pagenavi .prevpostslink a, .wp-pagenavi .nextpostslink a, .pagenavi .prevpostslink a, .pagenavi .nextpostslink a { top: -50px; } }

.wp-pagenavi .prevpostslink a:hover, .wp-pagenavi .nextpostslink a:hover, .pagenavi .prevpostslink a:hover, .pagenavi .nextpostslink a:hover { background-color: inherit !important; }

.wp-pagenavi .prevpostslink a, .pagenavi .prevpostslink a { left: 0; background-position: 0 center; background-repeat: no-repeat; padding-left: 58px; }

@media only screen and (max-width: 768px) { .wp-pagenavi .prevpostslink a, .pagenavi .prevpostslink a { background-size: auto 100%; padding-left: 43px; } }

.wp-pagenavi .nextpostslink a, .pagenavi .nextpostslink a { right: 0; background-position: right center; background-repeat: no-repeat; padding-right: 58px; }

@media only screen and (max-width: 768px) { .wp-pagenavi .nextpostslink a, .pagenavi .nextpostslink a { background-size: auto 100%; padding-right: 43px; } }

.pagenavi { width: 100%; }

@media only screen and (max-width: 768px) { .pagenavi { width: 94%; } }

.pagenavi li { width: 33%; float: left; }

@media only screen and (max-width: 768px) { .pagenavi li { width: 25%; } }

.pagenavi li a { display: block !important; margin-right: 0; }

.pagenavi li.prevpostslink a, .pagenavi li.nextpostslink a { position: relative; }

.pagenavi li.prevpostslink a::before, .pagenavi li.nextpostslink a::before { position: absolute; top: 50%; margin-top: -.5em; font-size: 1.8rem; }

.pagenavi li.prevpostslink a:hover, .pagenavi li.nextpostslink a:hover { background-color: #000; }

.pagenavi li.prevpostslink a:hover::before, .pagenavi li.nextpostslink a:hover::before { color: #fff; }

.pagenavi li.prevpostslink.empty span, .pagenavi li.nextpostslink.empty span { background-color: transparent; display: block; border: none; }

.pagenavi li.prevpostslink a::before { left: 7%; }

@media only screen and (max-width: 768px) { .pagenavi li.prevpostslink a::before { display: none; } }

.pagenavi li.nextpostslink a::before { right: 7%; }

@media only screen and (max-width: 768px) { .pagenavi li.nextpostslink a::before { display: none; } }

.pagenavi li.list { width: 34%; }

@media only screen and (max-width: 768px) { .pagenavi li.list { width: 50%; } }

.pagenavi li.list a { border-top-color: #333333; border-right: none; border-bottom-color: #333333; border-left: none; background-color: #333333; color: #fff; }

.pagenavi li.list a::before { margin-right: 1em; }

@media only screen and (max-width: 768px) { .pagenavi li.list a::before { display: none; margin-right: 0; } }

.pagenavi li.list a:hover { background-color: #000; }

/* pagenavi */
/* button
------------------------------------------------- */
.button a, .button input { display: block; text-align: center; color: #fff; background-color: #333; padding: 5px 15px; -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }

.button a::before, .button a::after, .button input::before, .button input::after { -webkit-transition: all 0.3s ease-out; -moz-transition: all 0.3s ease-out; -ms-transition: all 0.3s ease-out; -o-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }

.button a:hover, .button input:hover { text-decoration: none; background-color: #666; }

/* post_default
------------------------------------------------- */
.detail_box .meta { margin-bottom: 15px; }

@media only screen and (max-width: 768px) { .detail_box .meta { margin-bottom: 10px; } }

.detail_box .meta time { font-size: 1.4rem; margin-right: 15px; }

.detail_box .entry-content { margin-bottom: 30px; padding-bottom: 30px; border-bottom: #ddd 1px solid; margin-top: 10px; /* blockquote */ /* ul */ }

@media only screen and (max-width: 768px) { .detail_box .entry-content { padding-bottom: 20px; margin-bottom: 20px; } }

.detail_box .entry-content h1 { background-color: #ddd; font-size: 2rem; border-left: #333 5px solid; padding: 10px 18px; font-weight: 500; letter-spacing: 0; line-height: 1.4; margin-bottom: 15px; }

@media only screen and (max-width: 768px) { .detail_box .entry-content h1 { font-size: 1.3rem; padding: 7px 10px; } }

.detail_box .entry-content h2 { position: relative; font-size: 2.0rem; line-height: 1.4; margin-bottom: 10px; }

@media only screen and (max-width: 768px) { .detail_box .entry-content h2 { font-size: 1.3rem; } }

.detail_box .entry-content h2::before { content: ""; width: 13px; height: 13px; border-radius: 50%; display: inline-block; vertical-align: middle; border: #666 3px solid; -webkit-box-sizing: border-box; box-sizing: border-box; margin-right: 10px; }

.detail_box .entry-content h3 { color: #333333; font-weight: bold; font-size: 1.8rem; margin-bottom: 10px; }

@media only screen and (max-width: 768px) { .detail_box .entry-content h3 { font-size: 1.2rem; } }

.detail_box .entry-content > div { max-width: 100%; }

.detail_box .entry-content p { line-height: 1.714285714; margin: 0 0 24px; margin: 0 0 1.714285714rem; }

.detail_box .entry-content img, .detail_box .entry-content .editor-attachment { border: 0; max-width: 100%; }

.detail_box .entry-content img.size-full { width: auto/9; /* Prevent stretching of full-size images in IE8 */ }

.detail_box .entry-content img[class*="wp-image-"] { height: auto; max-width: 100%; }

@media only screen and (max-width: 768px) { .detail_box .entry-content img.alignnone { display: block; margin: 0 auto; } }

.detail_box .entry-content img[class*="align"], .detail_box .entry-content img[class*="wp-image-"], .detail_box .entry-content img[class*="attachment-"] { height: auto; /* Make sure images with WordPress-added height and width attributes are scaled correctly */ }

.detail_box .entry-content img.mce-wp-nextpage { border-radius: 0; -webkit-box-shadow: none; box-shadow: none; }

.detail_box .entry-content img.wp-smiley { border: 0; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; margin-bottom: 0; margin-top: 0; padding: 0; }

.detail_box .entry-content .wp-caption { background: transparent; border: none; margin: 0; padding: 4px; text-align: left; }

.detail_box .entry-content .wp-caption-dt { margin: 0; }

.detail_box .entry-content .wp-caption .wp-caption-text, .detail_box .entry-content .wp-caption-dd { color: #757575; font-style: italic; font-size: 12px; font-size: 0.857142857rem; line-height: 2; margin: 0 0 24px; margin: 0 0 1.71429rem; }

.detail_box .entry-content .alignleft { display: inline; float: left; margin: 12px 24px 12px 0; margin: 0.857142857rem 1.714285714rem 0.857142857rem 0; }

@media only screen and (max-width: 768px) { .detail_box .entry-content .alignleft { width: 50%; } }

.detail_box .entry-content .alignright { display: inline; float: right; margin: 12px 0 12px 24px; margin: 0.857142857rem 0 0.857142857rem 1.714285714rem; }

@media only screen and (max-width: 768px) { .detail_box .entry-content .alignright { width: 50%; } }

.detail_box .entry-content .aligncenter { clear: both; display: block; margin-top: 12px; margin-top: 0.857142857rem; margin-bottom: 12px; margin-bottom: 0.857142857rem; margin-left: auto; margin-right: auto; }

.detail_box .entry-content img[class*="wp-image-"], .detail_box .entry-content img[class*="attachment-"] { height: auto; max-width: 100%; }

.detail_box .entry-content blockquote { background-color: #F5F4F1; padding: 30px 35px; position: relative; margin: 15px 0; }

@media only screen and (max-width: 768px) { .detail_box .entry-content blockquote { padding: 20px 25px; } }

.detail_box .entry-content blockquote::before { content: "“"; position: absolute; left: 10px; top: 10px; font-size: 4rem; color: #333333; line-height: 1; }

@media only screen and (max-width: 768px) { .detail_box .entry-content blockquote::before { top: 5px; } }

.detail_box .entry-content blockquote::after { content: "”"; position: absolute; right: 10px; bottom: -15px; font-size: 4rem; color: #333333; line-height: 1; }

@media only screen and (max-width: 768px) { .detail_box .entry-content blockquote::after { bottom: -20px; } }

.detail_box .entry-content blockquote p { margin-bottom: 0 !important; }

.detail_box .entry-content ul li, .detail_box .entry-content ol li { list-style-position: inside; margin-bottom: 10px; }

.detail_box .entry-content ul li li, .detail_box .entry-content ol li li { padding-left: 2em; margin-bottom: 5px; }

.detail_box .entry-content ul li { list-style-type: disc; }

.detail_box .entry-content ol li { list-style-type: decimal; }

.detail_box .entry-content table { border: #ccc 1px solid; width: 100%; margin-bottom: 25px; }

@media only screen and (max-width: 768px) { .detail_box .entry-content table { margin-bottom: 15px; } }

.detail_box .entry-content table th, .detail_box .entry-content table td { border: #ccc 1px solid; padding: 10px 15px; }

@media only screen and (max-width: 768px) { .detail_box .entry-content table th, .detail_box .entry-content table td { padding: 5px 3%; font-size: 1.0rem; } }

.detail_box .entry-content table th { background-color: #e2a548; text-align: left; font-weight: 500; color: #333333; }

/*共通*/
.page_content .inner { /*タイトル*/ /*シングルコンテンツ*/ /*ギャラリー*/ /*バナー*/ /*テーブル*/ /*埋め込みコード*/ /*フリーエリア*/ /*投稿*/ /* btn ------------------------------------------------- */ /* font color ------------------------------------------------- */ /* font size ------------------------------------------------- */ /* title ------------------------------------------------- */ }

.page_content .inner .c_ttl01 { font-size: 2.8rem; padding: 7px 15px; margin-bottom: 30px; color: #ffffff; font-weight: 500; line-height: 1.6; }

@media only screen and (max-width: 768px) { .page_content .inner .c_ttl01 { font-size: 1.6rem; padding: 5px 10px; margin-bottom: 20px; } }

.page_content .inner .c_ttl02 { font-size: 1.8rem; padding: 7px 10px; border-left-style: solid; border-left-width: 5px; margin-bottom: 30px; }

@media only screen and (max-width: 768px) { .page_content .inner .c_ttl02 { font-size: 1.6rem; padding: 4px 7px; margin-bottom: 20px; } }

.page_content .inner .c_ttl03 { font-size: 1.6rem; border-bottom: dotted 1px #dddddd; padding: 10px 0; margin-bottom: 30px; }

@media only screen and (max-width: 768px) { .page_content .inner .c_ttl03 { font-size: 1.4rem; padding: 7px 0; margin-bottom: 5px; } }

.page_content .inner .cs { margin-bottom: 40px; }

@media only screen and (max-width: 768px) { .page_content .inner .cs { margin-bottom: 20px; } }

.page_content .inner .cs.bd1 { border: solid 1px #ddd; }

.page_content .inner .cs figure img { width: 100%; }

.page_content .inner .cs_ttl { border-bottom: dotted 1px #ddd; padding-bottom: 10px; margin-bottom: 10px; }

.page_content .inner .cs.img_top .cs_contents { padding-top: 15px; }

.page_content .inner .cs.img_top .cs_contents:first-child { padding-top: 0; }

.page_content .inner .cs_contents p { margin-bottom: 15px; }

@media only screen and (max-width: 768px) { .page_content .inner .cs_contents p { margin-bottom: 10px; } }

.page_content .inner .cs_contents p:last-child { margin-bottom: 0; }

.page_content .inner .cs.img_top.bd1 .cs_contents { padding: 15px; }

.page_content .inner .cs.img_right figure { width: 50%; float: right; padding-left: 15px; }

.page_content .inner .cs.img_right.bd1 figure { padding: 15px; }

.page_content .inner .cs.img_right .cs_contents { width: 50%; float: left; padding-right: 15px; }

.page_content .inner .cs.img_right.bd1 .cs_contents { padding: 15px; }

.page_content .inner .cs.img_left figure { width: 50%; float: left; padding-right: 15px; }

.page_content .inner .cs.img_left.bd1 figure { padding: 15px; }

.page_content .inner .cs.img_left .cs_contents { width: 50%; float: left; padding-left: 15px; }

.page_content .inner .cs.img_left.bd1 .cs_contents { padding: 15px; }

.page_content .inner .cs.img_none.bd1 .cs_contents { padding: 15px; }

@media only screen and (max-width: 768px) { .page_content .inner .cs.img_top, .page_content .inner .cs.img_right, .page_content .inner .cs.img_left { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: reverse; -ms-flex-direction: column-reverse; flex-direction: column-reverse; } }

@media only screen and (max-width: 768px) { .page_content .inner .cs.img_top figure, .page_content .inner .cs.img_right figure, .page_content .inner .cs.img_left figure { width: 100%; padding-left: 0; padding-right: 0; margin-top: 15px; float: none; } }

@media only screen and (max-width: 768px) { .page_content .inner .cs.img_top .cs_contents, .page_content .inner .cs.img_right .cs_contents, .page_content .inner .cs.img_left .cs_contents { width: 100%; padding-right: 0; padding-left: 0; float: none; } }

.page_content .inner .cg { height: 100%; padding-bottom: 10px; letter-spacing: -.4em; }

@media only screen and (max-width: 768px) { .page_content .inner .cg { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

.page_content .inner .cg.bd1 .cg_box { border: solid 1px #ddd; }

.page_content .inner .cg_box { margin-bottom: 30px; display: inline-block; vertical-align: top; letter-spacing: normal; }

@media only screen and (max-width: 768px) { .page_content .inner .cg_box { margin-bottom: 15px; } }

.page_content .inner .cg_inner { padding: 20px 0; }

@media only screen and (max-width: 768px) { .page_content .inner .cg_inner { padding: 10px 5px; } }

.page_content .inner .cg_box figure img { width: 100%; }

.page_content .inner .cg.gallery2 .cg_box { width: 48.5%; }

.page_content .inner .cg.gallery2 .cg_box:nth-child(2n) { margin-left: 0; }

.page_content .inner .cg.gallery3 .cg_box { width: 30%; margin-right: 3%; }

@media only screen and (max-width: 768px) { .page_content .inner .cg.gallery3 .cg_box { width: 48.5%; margin-right: 0; } }

.page_content .inner .cg.gallery3 .cg_box:nth-child(3n) { margin-right: 0; }

.page_content .inner .cg.gallery4 .cg_box { width: 23%; margin-right: 2.666666666666667%; }

@media only screen and (max-width: 768px) { .page_content .inner .cg.gallery4 .cg_box { width: 48.5%; margin-right: 0; } }

.page_content .inner .cg.gallery4 .cg_box:nth-child(4n) { margin-right: 0; }

.page_content .inner .cg.gallery5 .cg_box { width: 18.5%; margin-right: 1.875%; }

@media only screen and (max-width: 768px) { .page_content .inner .cg.gallery5 .cg_box { width: 48.5%; margin-right: 0; } }

.page_content .inner .cg.gallery5 .cg_box:nth-child(5n) { margin-right: 0; }

.page_content .inner .cg.gallery6 .cg_box { width: 15.5%; margin-right: 1.4%; }

@media only screen and (max-width: 768px) { .page_content .inner .cg.gallery6 .cg_box { width: 48.5%; margin-right: 0; } }

.page_content .inner .cg.gallery6 .cg_box:nth-child(6n) { margin-right: 0; }

.page_content .inner .cg_ttl { padding: 10px 5px; line-height: 1.4; }

@media only screen and (max-width: 768px) { .page_content .inner .cg_ttl { padding: 7px 5px; } }

.page_content .inner .cg_txt { border-top: dotted 1px #ddd; padding: 10px 5px; }

@media only screen and (max-width: 768px) { .page_content .inner .cg_txt { padding: 7px 5px; } }

.page_content .inner .cg_btn { text-align: center; margin-top: 5px; }

.page_content .inner .cg_btn a { display: inline-block; width: 100%; background-color: #333333; color: #fff; padding: 10px 20px; line-height: 1.4; }

@media only screen and (max-width: 768px) { .page_content .inner .cg_btn a { padding: 7px 15px; } }

.page_content .inner .cg_btn a:hover { text-decoration: none; background-color: #666666; }

.page_content .inner .cb { height: 100%; padding-bottom: 10px; letter-spacing: -.4em; }

@media only screen and (max-width: 768px) { .page_content .inner .cb { padding-bottom: 0; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; } }

.page_content .inner .cb li { display: inline-block; margin-bottom: 30px; letter-spacing: normal; }

@media only screen and (max-width: 768px) { .page_content .inner .cb li { margin-bottom: 10px; } }

.page_content .inner .cb li a:hover { opacity: 0.7; }

.page_content .inner .cb li img { width: 100%; }

.page_content .inner .cb.gallery1 li { width: 100%; }

.page_content .inner .cb.gallery2 li { width: 48.5%; }

.page_content .inner .cb.gallery2 li:nth-child(2n) { margin-left: 0; }

.page_content .inner .cb.gallery3 li { width: 30%; margin-right: 3%; }

@media only screen and (max-width: 768px) { .page_content .inner .cb.gallery3 li { width: 48.5%; margin-right: 0; } }

.page_content .inner .cb.gallery3 li:nth-child(3n) { margin-right: 0; }

.page_content .inner .cb.gallery4 li { width: 23%; margin-right: 2.666666666666667%; }

@media only screen and (max-width: 768px) { .page_content .inner .cb.gallery4 li { width: 48.5%; margin-right: 0; } }

.page_content .inner .cb.gallery4 li:nth-child(4n) { margin-right: 0; }

.page_content .inner .cb.gallery5 li { width: 18.5%; margin-right: 1.875%; }

@media only screen and (max-width: 768px) { .page_content .inner .cb.gallery5 li { width: 48.5%; margin-right: 0; } }

.page_content .inner .cb.gallery5 li:nth-child(5n) { margin-right: 0; }

.page_content .inner .cb.gallery6 li { width: 15.5%; margin-right: 1.4%; }

@media only screen and (max-width: 768px) { .page_content .inner .cb.gallery6 li { width: 48.5%; margin-right: 0; } }

.page_content .inner .cb.gallery6 li:nth-child(6n) { margin-right: 0; }

.page_content .inner .ct_table { margin-bottom: 40px; }

@media only screen and (max-width: 768px) { .page_content .inner .ct_table { margin-bottom: 20px; } }

.page_content .inner .ct_table tr { border-top: dotted 1px #ddd; border-bottom: dotted 1px #ddd; }

@media only screen and (max-width: 768px) { .page_content .inner .ct_table tr { display: block; } }

.page_content .inner .ct_table th, .page_content .inner .ct_table td { padding: 12px 15px; }

@media only screen and (max-width: 768px) { .page_content .inner .ct_table th, .page_content .inner .ct_table td { display: block; padding: 8px 12px; } }

.page_content .inner .ct_table th { width: 25%; text-align: left; vertical-align: middle; background-color: #fff; color: #333333; }

@media only screen and (max-width: 768px) { .page_content .inner .ct_table th { width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; } }

@media only screen and (max-width: 768px) { .page_content .inner .ct_table td { border-bottom: none; } }

.page_content .inner .c_iframe { margin-bottom: 40px; }

@media only screen and (max-width: 768px) { .page_content .inner .c_iframe { margin-bottom: 20px; } }

.page_content .inner .c_gmap { position: relative; width: 100%; float: none; }

.page_content .inner .c_gmap iframe { width: 100% !important; }

@media only screen and (max-width: 768px) { .page_content .inner .c_gmap iframe { max-height: 250px; } }

.page_content .inner .c_youtube { position: relative; width: 100%; float: none; padding-top: 56.25%; }

.page_content .inner .c_youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

.page_content .inner .free_box { padding-bottom: 40px; }

@media only screen and (max-width: 768px) { .page_content .inner .free_box { padding-bottom: 20px; } }

.page_content .inner .cat_name { display: inline-block; padding: 5px 15px; background-color: #333333; color: #fff; border-radius: 2px; line-height: 1.2; font-size: 1.4rem; vertical-align: middle; border-radius: 50px; margin-right: 10px; }

@media only screen and (max-width: 768px) { .page_content .inner .cat_name { padding: 4px 12px; font-size: 1.0rem; } }

.page_content .inner .cp a { position: relative; display: block; text-decoration: none; color: #333; }

.page_content .inner .cp time { display: inline-block; margin-right: 10px; vertical-align: middle; }

.page_content .inner .cp h4 { margin-top: 10px; }

@media only screen and (max-width: 768px) { .page_content .inner .cp h4 { margin-top: 5px; line-height: 1.6; } }

.page_content .inner .cp_gallery { height: 100%; padding-bottom: 10px; letter-spacing: -.4em; }

@media only screen and (max-width: 768px) { .page_content .inner .cp_gallery { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; } }

.page_content .inner .cp_gallery a { border: solid 1px #ddd; width: 23.5%; margin-bottom: 30px; margin-right: 2%; display: inline-block; letter-spacing: normal; }

@media only screen and (max-width: 768px) { .page_content .inner .cp_gallery a { width: 48%; margin-bottom: 20px; } }

.page_content .inner .cp_gallery a:nth-child(4n) { margin-right: 0; }

@media only screen and (max-width: 768px) { .page_content .inner .cp_gallery a:nth-child(2n) { margin-right: 0; } }

.page_content .inner .cp_gallery a:hover img { opacity: .7; }

.page_content .inner .cp_gallery a figure { background-position: center center; background-repeat: no-repeat; background-size: cover; height: 180px; }

@media only screen and (max-width: 768px) { .page_content .inner .cp_gallery a figure { height: 100px; } }

.page_content .inner .cp_gallery .cp_box { padding: 15px 10px; }

.page_content .inner .cp_list { padding-bottom: 25px; }

.page_content .inner .cp_list a { border-bottom: dotted 2px #333333; padding: 25px 0; }

@media only screen and (max-width: 768px) { .page_content .inner .cp_list a { border-width: 1px; padding: 15px 0; } }

.page_content .inner .cp_list a:first-of-type { border-top: dotted 2px #333333; }

@media only screen and (max-width: 768px) { .page_content .inner .cp_list a:first-of-type { border-width: 1px; } }

.page_content .inner .cp_list a:hover figure img { opacity: .7; }

.page_content .inner .cp_list figure { float: left; width: 180px; height: 135px; margin-right: 20px; background-position: center center; background-repeat: no-repeat; background-size: cover; }

@media only screen and (max-width: 768px) { .page_content .inner .cp_list figure { width: 90px; height: 65px; margin-right: 15px; } }

.page_content .inner .cp_list .cp_box { overflow: hidden; }

.page_content .inner .cp_list.c_thumb_none a { min-height: auto; padding: 15px 0; border-top-width: 1px; border-bottom-width: 1px; }

.page_content .inner .text_align_r { text-align: right; }

.page_content .inner .c_btn { width: 360px; }

@media only screen and (max-width: 768px) { .page_content .inner .c_btn { width: 88%; } }

.page_content .inner .c_btn a, .page_content .inner .c_btn input { display: block; text-align: center; padding: 25px 0; line-height: 1; font-weight: 500; border-radius: 100px; border-style: solid; border-width: 2px; background-color: #fff; }

@media only screen and (max-width: 768px) { .page_content .inner .c_btn a, .page_content .inner .c_btn input { padding: 15px 0; } }

.page_content .inner .c_btn a:hover, .page_content .inner .c_btn input:hover { text-decoration: none; color: #fff; }

.page_content .inner .c_btn.white a, .page_content .inner .c_btn.white input { background-color: #fff; color: #333333; font-size: 1.8rem; }

@media only screen and (max-width: 768px) { .page_content .inner .c_btn.white a, .page_content .inner .c_btn.white input { font-size: 1.3rem; } }

.page_content .inner .c_btn.white a:hover, .page_content .inner .c_btn.white input:hover { background-color: #333333; color: #fff; }

.page_content .inner .c_btn.w100 { width: 100%; }

.page_content .inner .c_btn.thin a, .page_content .inner .c_btn.thin input { padding: 13px 0; }

.page_content .inner .c_btn.return a, .page_content .inner .c_btn.return input { border-color: #999; color: #666; }

.page_content .inner .c_btn.return a:hover, .page_content .inner .c_btn.return input:hover { background-color: #ddd; }

.page_content .inner .fc01 { color: #333333; }

.page_content .inner .fc02 { color: #e2a548; }

.page_content .inner .fs14 { font-size: 14px; font-size: 1.4rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs14 { font-size: 1.2rem; } }

.page_content .inner .fs15 { font-size: 15px; font-size: 1.5rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs15 { font-size: 1.2rem; } }

.page_content .inner .fs16 { font-size: 16px; font-size: 1.6rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs16 { font-size: 1.2rem; } }

.page_content .inner .fs17 { font-size: 17px; font-size: 1.7rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs17 { font-size: 1.2rem; } }

.page_content .inner .fs18 { font-size: 18px; font-size: 1.8rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs18 { font-size: 1.2rem; } }

.page_content .inner .fs19 { font-size: 19px; font-size: 1.9rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs19 { font-size: 1.2rem; } }

.page_content .inner .fs20 { font-size: 20px; font-size: 2.0rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs20 { font-size: 1.2rem; } }

.page_content .inner .fs20 { font-size: 20px; font-size: 2.0rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs20 { font-size: 1.3rem; } }

.page_content .inner .fs21 { font-size: 21px; font-size: 2.1rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs21 { font-size: 1.3rem; } }

.page_content .inner .fs22 { font-size: 22px; font-size: 2.2rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs22 { font-size: 1.1rem; } }

.page_content .inner .fs23 { font-size: 23px; font-size: 2.3rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs23 { font-size: 1.2rem; } }

.page_content .inner .fs24 { font-size: 24px; font-size: 2.4rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs24 { font-size: 1.2rem; } }

.page_content .inner .fs25 { font-size: 25px; font-size: 2.5rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs25 { font-size: 1.3rem; } }

.page_content .inner .fs26 { font-size: 26px; font-size: 2.6rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs26 { font-size: 1.3rem; } }

.page_content .inner .fs27 { font-size: 27px; font-size: 2.7rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs27 { font-size: 1.4rem; } }

.page_content .inner .fs28 { font-size: 28px; font-size: 2.8rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs28 { font-size: 1.4rem; } }

.page_content .inner .fs29 { font-size: 29px; font-size: 2.9rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs29 { font-size: 1.4rem; } }

.page_content .inner .fs30 { font-size: 30px; font-size: 3.0rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs30 { font-size: 1.5rem; } }

.page_content .inner .fs31 { font-size: 31px; font-size: 3.1rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs31 { font-size: 1.5rem; } }

.page_content .inner .fs32 { font-size: 32px; font-size: 3.2rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs32 { font-size: 1.6rem; } }

.page_content .inner .fs33 { font-size: 33px; font-size: 3.3rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs33 { font-size: 1.6rem; } }

.page_content .inner .fs34 { font-size: 34px; font-size: 3.4rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs34 { font-size: 1.7rem; } }

.page_content .inner .fs35 { font-size: 35px; font-size: 3.5rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs35 { font-size: 1.7rem; } }

.page_content .inner .fs36 { font-size: 36px; font-size: 3.6rem; }

@media only screen and (max-width: 768px) { .page_content .inner .fs36 { font-size: 1.8rem; } }

.page_content .inner .mincho { font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; }

.page_content .inner .title { font-weight: 400; margin-bottom: 15px; }

.page_content .inner .title.border_b { border-bottom: #333333 2px solid; }

@media only screen and (max-width: 768px) { .page_content .inner .title.mas { width: 60%; margin-right: auto; margin-left: auto; margin-bottom: 20px !important; } }

.page_content .inner .cont_area { width: 100%; }

.page_content .inner .cont_area .cont_white_area { background-color: rgba(255, 255, 255, 0.3); }

.page_content .inner .cont_area .cont_area_inner { width: 1100px; margin: 0 auto; padding: 20px 0; background-repeat: no-repeat; background-position: center center; }

@media only screen and (max-width: 768px) { .page_content .inner .cont_area .cont_area_inner { width: 88%; padding: 15px 0 !important; } }

.page_content .inner .cont_area .cont_area_inner .ttl { text-align: center; font-size: 3.6rem; color: #fff; margin-bottom: 10px; }

@media only screen and (max-width: 768px) { .page_content .inner .cont_area .cont_area_inner .ttl { font-size: 1.8rem; margin-bottom: 5px; } }

.page_content .inner .cont_area .cont_area_inner .wrap { text-align: center; }

.page_content .inner .cont_area .cont_area_inner .wrap .tel_area { display: inline-block; margin-right: 40px; vertical-align: middle; }

@media only screen and (max-width: 768px) { .page_content .inner .cont_area .cont_area_inner .wrap .tel_area { margin: 0 0 5px 0; } }

.page_content .inner .cont_area .cont_area_inner .wrap .tel_area a { font-size: 3.6rem; line-height: 1.2; }

@media only screen and (max-width: 768px) { .page_content .inner .cont_area .cont_area_inner .wrap .tel_area a { font-size: 1.8rem; } }

.page_content .inner .cont_area .cont_area_inner .wrap .cont_btn { display: inline-block; width: 360px; background-color: #fff; border: 2px solid #fff; border-radius: 100px; padding: 25px 0; line-height: 1; }

@media only screen and (max-width: 768px) { .page_content .inner .cont_area .cont_area_inner .wrap .cont_btn { width: 100%; padding: 15px 0; } }

.page_content .inner .cont_area .cont_area_inner .wrap .cont_btn:hover { color: #fff; text-decoration: none; }

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

		layout.sass
		
		ヘッダー、フッター、サイドバー等のサイトの構造に関わるスタイルを定義
		
------------------------------------------------------------------------- */
/* html
------------------------------------------------- */
html { position: relative; overflow-y: scroll; line-height: 1; font-size: 62.5%; }

/* body
------------------------------------------------- */
body { font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", Meiryo, sans-serif; font-weight: 500; background-color: #fff; color: #222222; word-break: normal; overflow-wrap: break-word; word-wrap: break-word; -webkit-text-size-adjust: 100%; font-size: 1.6rem; line-height: 1.9; position: relative; overflow-x: hidden; right: 0; }

@media only screen and (max-width: 768px) { body { font-size: 1.2rem; } }

#page { position: relative; }

*, *: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; }

/* noscript
------------------------------------------------- */
.noscript { background-color: #333333; padding: 　10px 0; text-align: 　center; font-weight: 　bold; }

/* header
------------------------------------------------- */
.site_header { border-bottom: #333333 1px solid; }

.site_header .site_h1 { font-size: 1.3rem; line-height: 1; width: 1100px; margin: 15px auto 20px; font-weight: 500; }

@media only screen and (max-width: 768px) { .site_header .site_h1 { margin-top: 5px; font-size: 1.1rem; width: 88%; margin-bottom: 10px; } }

.site_header > .inner { width: 1100px; margin: 15px auto; position: relative; min-height: 60px; }

@media only screen and (max-width: 768px) { .site_header > .inner { width: 88%; } }

.site_header > .inner .logo { float: left; }

@media only screen and (max-width: 768px) { .site_header > .inner .logo { width: 50%; padding: 15px 0; } }

.site_header > .inner .logo img { vertical-align: middle; }

.site_header > .inner .logo_txt { display: inline-block; font-size: 3rem; line-height: 1.2; }

.site_header > .inner .logo_txt a { color: #222222; }

.site_header > .inner .logo_txt a:hover { text-decoration: none; }

.site_header > .inner .site_title { display: block; font-size: 3.2rem; float: left; padding-top: 5px; }

@media only screen and (max-width: 768px) { .site_header > .inner .site_title { font-size: 2.1rem; } }

.site_header > .inner .hd_free { text-align: center; display: table; position: absolute; right: 0; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

@media only screen and (max-width: 768px) { .site_header > .inner .hd_free { padding-bottom: 15px; display: none; } }

.site_header > .inner .hd_free ul { display: table-cell; vertical-align: middle; }

.site_header > .inner .hd_free .business_hours { text-align: left; background-position: left center; background-repeat: no-repeat; padding-left: 50px; padding-right: 15px; line-height: 1.2; font-size: 1.4rem; position: relative; }

@media only screen and (max-width: 768px) { .site_header > .inner .hd_free .business_hours { text-align: right; padding-right: 0; font-size: 1.2rem; background-size: auto 80%; padding-left: 40px; } }

.site_header > .inner .hd_free .business_hours a { font-size: 2.5rem; }

@media only screen and (max-width: 768px) { .site_header > .inner .hd_free .business_hours a { font-size: 2.0rem; } }

.site_header > .inner .hd_free .business_hours .fa-stack { position: absolute; left: 0; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.site_header > .inner .hd_free .business_hours .fa-circle { color: #e2a548; }

@media only screen and (max-width: 768px) { .site_header > .inner .hd_free .contact { display: none; } }

.site_header > .inner .hd_free .contact a { background-color: #e2a548; color: #fff; display: block; padding: 10px 40px; }

.site_header > .inner .hd_free .contact a:hover { background-color: #f0d0a0; color: #333333; text-decoration: none; }

.site_header > .inner .hd_free_sp { display: none; }

/* drawer-nav
------------------------------------------------- */
.drawer-hamburger { width: 3.0rem; top: 20px; margin-right: 10px; }

.drawer-nav { padding: 20px; -webkit-box-sizing: border-box; box-sizing: border-box; }

.drawer-nav .drawer-menu { border-bottom: #333 1px dotted; margin-bottom: 20px; }

.drawer-nav .drawer-menu a { display: block; padding: 4px 0; }

.drawer-nav .sp_free { margin-bottom: 20px; }

.drawer-nav .sns_links a { background-color: #333; color: #fff; padding: 2px 0; width: 25px; text-align: center; border-radius: 3px; display: inline-block; }

/* main_visual
------------------------------------------------- */
.main_visual { margin-bottom: 60px; background-color: #eee; }

@media only screen and (max-width: 768px) { .main_visual { margin-bottom: 30px; } }

@media only screen and (max-width: 768px) { .main_visual .mv_slide { display: none; } }

.main_visual .mv_slide_sp { display: none; }

@media only screen and (max-width: 480px) { .main_visual .mv_slide_sp { display: block; } }

.main_visual .mv_bg { width: 1100px; margin: 0 auto; height: 50vh; display: table; }

@media only screen and (max-width: 768px) { .main_visual .mv_bg { width: 100%; height: 150px; } }

.main_visual .mv_img, .main_visual .mv_img_sp { text-align: center; width: 1100px; margin: 0 auto; height: 100%; background-position: center bottom; background-repeat: no-repeat; background-size: cover; }

@media only screen and (max-width: 768px) { .main_visual .mv_img, .main_visual .mv_img_sp { width: 100%; display: table-cell; vertical-align: middle; } }

.main_visual .mv_img.wide, .main_visual .mv_img_sp.wide { width: 100%; }

.main_visual .mv_img.wide figure img, .main_visual .mv_img_sp.wide figure img { width: 100%; height: auto; }

/* gloal navi
------------------------------------------------- */
@media only screen and (max-width: 768px) { .global_nav { display: none; } }

.global_nav ul { width: 1100px; margin: 0 auto; -ms-flex-pack: distribute; justify-content: space-around; }

.global_nav ul li { float: left; width: -webkit-calc(100% / 5); width: calc(100% / 5); }

.global_nav ul li a { display: block; text-align: center; padding: 20px 0; }

.global_nav ul li a:hover { text-decoration: none; color: #333333; }

.global_nav ul li a span { border-left: #e5e5e5 1px solid; display: block; line-height: 1.4; }

.global_nav ul li:last-child a span { border-right: #e5e5e5 1px solid; }

/* lower_ttl
------------------------------------------------- */
.lower_ttl { position: relative; min-height: 13vw; background-color: #eee; text-align: center; display: table; width: 100%; overflow: hidden; table-layout: fixed; }

@media only screen and (max-width: 768px) { .lower_ttl { min-height: 18vw; } }

.lower_ttl .lower_main { display: table-cell; text-align: center; vertical-align: middle; background-image: url(); background-position: center center; background-repeat: no-repeat; background-size: cover; overflow: hidden; height: 13vw; }

@media only screen and (max-width: 768px) { .lower_ttl .lower_main { height: 18vw; } }

.lower_ttl h2 { color: #fff; text-shadow: 1px 1px 0px #333; font-weight: normal; font-size: 2.7vw; position: relative; z-index: 2; font-family: "游明朝", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif; letter-spacing: 1px; }

@media only screen and (max-width: 768px) { .lower_ttl h2 { font-size: 1.8rem; } }

.lower_ttl h2 .cat { display: block; text-align: center; color: #333; font-size: 1.6rem; text-shadow: 0 0 0 #000; }

@media only screen and (max-width: 768px) { .lower_ttl h2 .cat { font-size: 1.2rem; } }

.lower_ttl figure { position: absolute; width: 100%; left: 0; top: 0; z-index: 0; overflow: hidden; height: 13vw; }

@media only screen and (max-width: 768px) { .lower_ttl figure { width: 150%; margin-left: -25%; height: 18vw; } }

.lower_ttl figure img { width: 100%; height: auto; }

@media all and (-ms-high-contrast: none) { *::-ms-backdrop, .lower_ttl figure { height: 100%; }
  /* IE11 */ }

@media all and (-ms-high-contrast: none) { *::-ms-backdrop, .lower_ttl figure img { height: 100%; }
  /* IE11 */ }

/* crumbs
------------------------------------------------- */
#crumbs { padding: 5px 0; width: 1100px; margin: 0 auto 20px; }

@media only screen and (max-width: 768px) { #crumbs { width: 88%; margin-bottom: 15px; } }

#crumbs li { line-height: 1; display: inline-block; font-size: 1.4rem; color: #333333; }

@media only screen and (max-width: 768px) { #crumbs li { font-size: 1.1rem; } }

#crumbs li:after { padding-right: 5px; }

#crumbs li:last-child:after { padding-right: 0; }

#crumbs li a { text-decoration: underline; }

#crumbs li a:hover { text-decoration: none; }

/* page_content
------------------------------------------------- */
.page_content { margin-bottom: 60px; }

@media only screen and (max-width: 768px) { .page_content { margin-bottom: 30px; } }

.page_content > .inner { margin: 0 auto; }

@media only screen and (max-width: 768px) { .page_content > .inner { width: 100%; } }

.page_content > .inner > div, .page_content > .inner > h2, .page_content > .inner > ul, .page_content > .inner > table { width: 1100px; margin: 0 auto; }

@media only screen and (max-width: 768px) { .page_content > .inner > div, .page_content > .inner > h2, .page_content > .inner > ul, .page_content > .inner > table { width: 88%; } }

.page_content #post_list { width: 1100px !important; }

@media only screen and (max-width: 768px) { .page_content #post_list { width: 88% !important; } }

.page_content #post_list .primary_area { width: 810px !important; }

@media only screen and (max-width: 768px) { .page_content #post_list .primary_area { width: 100% !important; } }

.page_content #post_list .secondary_area { width: 260px !important; }

@media only screen and (max-width: 768px) { .page_content #post_list .secondary_area { width: 100% !important; } }

/* primary_area
------------------------------------------------- */
.primary_area { width: 810px; float: right; }

@media only screen and (max-width: 768px) { .primary_area { width: 100%; float: none; margin-bottom: 40px; } }

.primary_area .writer_prof { border: #e2a548 2px solid; padding: 20px; -webkit-box-sizing: border-box; box-sizing: border-box; }

@media only screen and (max-width: 768px) { .primary_area .writer_prof { padding: 10px; border-width: 2px; } }

.primary_area .writer_prof h3 { background-color: #e2a548; color: #fff; padding: 3px 5px; margin-bottom: 20px; }

.primary_area .writer_prof h4 { color: #333333; }

.primary_area .writer_prof dt { width: 80px; float: left; vertical-align: middle; margin-right: 15px; }

.primary_area .writer_prof dt img { vertical-align: middle; }

.primary_area .writer_prof dd { overflow: hidden; }

/* secondary_area
------------------------------------------------- */
.secondary_area { width: 260px; float: left; }

@media only screen and (max-width: 768px) { .secondary_area { width: 100%; float: none; } }

.secondary_area #side h3 { padding: 10px 0; color: #222222; text-align: center; margin-bottom: 20px; border-top: #333333 2px solid; border-bottom: #333333 1px solid; font-size: 2.0rem; font-weight: 500; }

.secondary_area #side h3::before { font-family: "FontAwesome"; content: "\f1ea"; margin-right: 7px; color: #333333; }

.secondary_area #side .side_category h3, .secondary_area #side .side_post h3, .secondary_area #side .side_monthly h3 { margin-bottom: 0; }

.secondary_area #side > nav { margin-bottom: 40px; }

.secondary_area .side_search input { -webkit-box-sizing: border-box; box-sizing: border-box; float: left; margin-bottom: 0; padding: 2% 2%; vertical-align: middle; border: 1px solid #333333; }

.secondary_area .side_search input[type="text"] { width: 70%; }

.secondary_area .side_search input[type="submit"] { width: 30%; background-color: #333333; color: #fff; cursor: pointer; border-left: none; }

.secondary_area .side_search input[type="submit"]:hover { opacity: .6; }

.secondary_area .side_category li a { display: block; padding: 7px 3px; position: relative; border-bottom: #999 1px dotted; }

.secondary_area .side_category li a::after { content: "\f105"; font-family: 'Font Awesome 5 Free'; float: right; color: #bbb; font-weight: 600; }

.secondary_area .side_category li a:hover { text-decoration: none; background-color: #a6a6a6; }

.secondary_area .side_category li > ul > li a::before { content: '―'; margin-right: 5px; }

.secondary_area .side_post a { display: block; border-bottom: #333333 1px dotted; padding: 13px 0; }

.secondary_area .side_post time { margin-right: 15px; font-size: 1.4rem; }

.secondary_area .side_post dt { margin-bottom: 5px; }

.secondary_area .side_post dd { font-size: 1.5rem; }

.secondary_area .author-profile { margin-bottom: 15px; font-size: 1.4rem; }

.secondary_area .author-profile figure { display: inline-block; vertical-align: middle; width: 80px; margin-right: 10px; }

.secondary_area .side_monthly a { display: block; padding: 7px 0; }

.secondary_area .side_monthly li { border-bottom: #999 1px dotted; }

.secondary_area .side_nav li::before { content: "●"; font-size: 1.0rem; margin-right: 5px; display: inline-block; vertical-align: middle; }

.secondary_area .side_nav a { display: inline-block; }

.secondary_area #wp-calendar { border-top: #ddd 1px solid; width: 100%; }

.secondary_area #wp-calendar caption { font-weight: bold; }

.secondary_area #wp-calendar thead th { border: #ddd 1px solid; }

.secondary_area #wp-calendar thead th:nth-child(6) { background-color: #C0DDF9; }

.secondary_area #wp-calendar thead th:nth-child(7) { background-color: #F5D0D3; }

.secondary_area #wp-calendar td { text-align: center; border: #ddd 1px solid; }

.secondary_area #wp-calendar td:nth-child(6) { color: #09f; }

.secondary_area #wp-calendar td:nth-child(7) { color: #f30; }

.secondary_area #wp-calendar tfoot td { border: none; }

.secondary_area #wp-calendar #today { background-color: #ddd; }

.secondary_area #wp-calendar #prev { text-align: left; }

.secondary_area #wp-calendar #next { text-align: right; }

.secondary_area .side_info { font-size: 1.3rem; margin-bottom: 30px; }

.secondary_area .side_info .side_logo { display: block; width: 100%; margin: 0 auto 20px; }

@media only screen and (max-width: 768px) { .secondary_area .side_info .side_logo { width: 60%; } }

.secondary_area .side_info .side_info_img { margin-bottom: 10px; width: 100%; }

@media only screen and (max-width: 768px) { .secondary_area .side_info .side_info_img { margin: 0 auto 10px; } }

.secondary_area .side_info .side_info_img img { width: 100%; }

.secondary_area .side_free { margin-bottom: 30px; }

.secondary_area .side_bnr figure { margin-bottom: 10px; }

@media only screen and (max-width: 768px) { .secondary_area .side_bnr figure { text-align: center; margin-bottom: 20px; } }

/* relation_posts
------------------------------------------------- */
.relation_posts { margin-bottom: 40px; }

@media only screen and (max-width: 768px) { .relation_posts { margin-bottom: 20px; } }

.relation_posts h4 { background: #333333; color: #fff; padding: 5px 10px; margin-bottom: 20px; position: relative; }

.relation_posts h4 span { line-height: 1; position: absolute; right: 15px; top: 8px; }

@media only screen and (max-width: 768px) { .relation_posts h4 span { top: 5px; margin-top: 0; right: 10px; } }

.relation_posts h4 span a { display: block; background-color: #fff; color: #222222; padding: 5px 15px; font-size: 1.2rem; border-radius: 3px; line-height: 1; border-radius: 20px; border: #333333 1px solid; }

@media only screen and (max-width: 768px) { .relation_posts h4 span a { font-size: 1.0rem; padding: 5px 10px; } }

.relation_posts h4 span a:hover { text-decoration: none; color: #333333; }

.relation_posts .cp_list { padding-bottom: 0; }

/* footer
------------------------------------------------- */
.ft_free { /* message */ }

.ft_free .message { background-color: #e2a548; text-align: center; padding: 50px 0; }

@media only screen and (max-width: 768px) { .ft_free .message { padding: 0; } }

@media only screen and (max-width: 768px) { .ft_free .message .inner { padding: 15px 0; } }

.ft_free .message p { margin-bottom: 25px; }

@media only screen and (max-width: 768px) { .ft_free .message p { margin-bottom: 5px; } }

.ft_free .message p span { color: #feffae; font-size: 3.6rem; line-height: 1.2; background-image: url(../img/common/icon_flower_01.png), url(../img/common/icon_flower_02.png); background-position: left top,
 right top; background-repeat: no-repeat; background-size: auto 100%; padding: 0 90px; }

@media only screen and (max-width: 768px) { .ft_free .message p span { font-size: 1.6rem; padding: 0; background-image: none; } }

.ft_free .message ul { text-align: center; }

.ft_free .message ul li { display: inline-block; margin-right: 40px; vertical-align: middle; }

@media only screen and (max-width: 768px) { .ft_free .message ul li { display: block; margin-right: 0; font-size: 1.1rem; margin-bottom: 15px; } }

@media only screen and (max-width: 768px) { .ft_free .message ul li .hours { display: inline-block; } }

.ft_free .message ul li .tel { font-size: 3.6rem; line-height: 1.2; }

@media only screen and (max-width: 768px) { .ft_free .message ul li .tel { font-size: 1.6rem; margin-right: 5px; } }

.ft_free .message ul li:last-child { margin-right: 0; }

@media only screen and (max-width: 768px) { .ft_free .message ul li:last-child { margin-bottom: 0; } }

.ft_free .message .c_btn { width: 360px; }

@media only screen and (max-width: 768px) { .ft_free .message .c_btn { width: 88%; } }

.site_footer { background-color: #f4f4f4; }

@media only screen and (max-width: 768px) { .site_footer .flex { display: block; } }

.site_footer .inner { width: 1100px; margin: 0 auto; padding: 20px 0; }

@media only screen and (max-width: 768px) { .site_footer .inner { width: 88%; } }

.site_footer .ft_info { margin-right: 30px; }

@media only screen and (max-width: 768px) { .site_footer .ft_info { width: 100%; float: none; margin-right: 0; position: relative; margin-bottom: 20px; } }

.site_footer .ft_info .ft_logo { margin-bottom: 15px; display: block; }

@media only screen and (max-width: 768px) { .site_footer .ft_info .ft_logo { width: 40%; } }

.site_footer .ft_info .ft_logo img { vertical-align: middle; }

.site_footer .ft_info .ft_address { font-size: 1.4rem; }

@media only screen and (max-width: 768px) { .site_footer .ft_info .ft_address { font-size: 1.2rem; } }

@media only screen and (max-width: 768px) { .site_footer .ft_info .ft_tel { position: absolute; right: 0; top: 0; } }

.site_footer .ft_info .ft_tel a { font-size: 3rem; }

@media only screen and (max-width: 768px) { .site_footer .ft_info .ft_tel a { font-size: 1.6rem; font-weight: 600; line-height: 1; } }

@media only screen and (max-width: 768px) { .site_footer .ft_info .ft_contact { position: absolute; right: 0; top: 2em; font-size: 1.2rem; } }

@media only screen and (max-width: 768px) { .site_footer .ft_info .ft_contact a { padding: 2px 15px; } }

.site_footer .ft_nav { overflow: hidden; }

@media only screen and (max-width: 768px) { .site_footer .ft_nav { display: none; } }

@media only screen and (max-width: 768px) { .site_footer .ft_nav li { width: 48%; display: inline-block; margin-bottom: 10px; vertical-align: top; } }

.site_footer .ft_nav li::before { content: "●"; display: inline-block; vertical-align: middle; font-size: 1.0rem; color: #333333; margin-right: 3px; }

.site_footer .ft_nav li ul { display: inline-block; }

.site_footer .ft_nav li ul li::before { content: "／"; margin: 0 15px; }

.site_footer .ft_nav li ul li::after { content: ""; margin: 0; }

.site_footer .ft_nav.horizontally li { float: left; }

.site_footer .ft_nav.horizontally li::before { content: "|"; margin: 0 5px; color: #222222; font-size: 1em; }

.site_footer .ft_nav.horizontally li:first-child::before { display: none; }

@media only screen and (max-width: 768px) { .site_footer .ft_bnr { margin-bottom: 20px; } }

.site_footer .ft_bnr figure { margin-bottom: 10px; }

@media only screen and (max-width: 768px) { .site_footer .ft_bnr figure { width: 100%; margin: 0 auto 10px; } }

.site_footer .ft_bnr figure:last-of-type { margin-bottom: 0; }

.site_footer .ft_bnr figure:hover { opacity: .7; }

.site_footer .sns_links { overflow: hidden; margin-bottom: 30px; }

.site_footer .sns_links > span { display: inline-block; margin-right: 5px; }

.site_footer .sns_links a { background-color: #333; color: #fff; width: 30px; height: 30px; line-height: 30px; display: block; text-align: center; border-radius: 3px; }

.site_footer .sns_links a i { vertical-align: middle; }

.copyright { text-align: center; background-color: #e2a548; padding: 7px 0; font-size: 1.4rem; color: #fff; }

@media only screen and (max-width: 768px) { .copyright { font-size: 1.1rem; } }

/* copyright */
/* page_top
------------------------------------------------- */
.page_top { position: fixed; right: 15px; bottom: 15px; }

.page_top a { display: block; text-align: center; color: #fff; background-color: #333333; width: 60px; height: 60px; border-radius: 60px; border: #333333 1px solid; }

@media only screen and (max-width: 768px) { .page_top a { width: 40px; height: 40px; border-radius: 40px; line-height: 40px; } }

.page_top a:hover { background-color: #e2a548; text-decoration: none; }

.page_top a i::before { line-height: 60px; font-size: 3.0rem; }

@media only screen and (max-width: 768px) { .page_top a i::before { line-height: 40px; font-size: 2.0rem; } }

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

		contents.sass
		
		各ページ固有のスタイルを定義
		
------------------------------------------------------------------------- */
/* home - トップページ
------------------------------------------------- */
body.home { /* home_content */ }

body.home .home_content { margin-bottom: 40px; /* mainvisual */ /* inner */ }

body.home .home_content .mainvisual { height: 330px; background-color: #555; margin-bottom: 30px; }

body.home .home_content .inner { width: 1100px; margin: 0 auto; /* banner */ }

body.home .home_content .inner .banner li { margin: 10px; height: 60px; background-color: #999; }

/* home - トップページ
------------------------------------------------- */
/* sitemap
------------------------------------------------- */
#sitemap .inner > ul { position: relative; padding-left: 100px; }

#sitemap .inner > ul > li:first-child { position: absolute; left: 0; top: 0; }

#sitemap .inner > ul > li:first-child::before { content: "－"; position: absolute; left: 65px; top: 0em; }

#sitemap .inner > ul > li > ul { padding-left: 15px; }

#sitemap .inner > ul > li > ul::before { content: "└"; margin-right: 10px; float: left; }

/* search
------------------------------------------------- */
@media only screen and (max-width: 768px) { #search { margin-bottom: 30px; } }

/* 404
------------------------------------------------- */
#notfound { text-align: center; }

#notfound h2 { font-size: 2rem; margin-bottom: 30px; }

#notfound .message { margin-bottom: 60px; }

#notfound .button { width: 300px; margin: 0 auto; }

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

		print.sass
		
		印刷用のスタイルを定義
		
------------------------------------------------------------------------- */
@media print { /* IE zoom ------------------------------------------------- */
  /* for IE6 or older */
  * html body { zoom: 0.7; }
  /* for IE7 */
  * + html body { zoom: 1; } }

/*# sourceMappingURL=style.css.map */