/* 
Theme Name: FLOW-FLEX 1.9
Theme URI: http://www.flow-web.jp/
Version:1.9
 */
 
  /** * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) * http://cssreset.com */html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	font: inherit;	vertical-align: baseline;}/* HTML5 display-role reset for older browsers */article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {	display: block;}body {	line-height: 1;}ol, ul {	list-style: none;}blockquote, q {	quotes: none;}blockquote:before, blockquote:after,q:before, q:after {	content: '';	content: none;}table {	border-collapse: collapse;	border-spacing: 0;}
 
@charset "utf-8";


/*主要色の決定*/
:root{
	--maincolor: #185598;
	--lightcolor: #F2F5F9;
	--pointcolor: #185598;
	--markercolor: #A6D2C5;
/*--markercolor: #AAD4FF;*/
	--linkcolor: #0645AD;
	--whitecolor: #FFFFFF;
	--blackcolor: #333333;
	--greycolor: #EFEFEF;
}

/*全体の調整*/

html{
	scroll-padding-top: 80px;
}

body{
	margin: 0;
	background-color: var( --whitecolor);
	font-family: "Noto Sans JP","Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	/*font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
	position : relative;
	word-break: break-all;
}

a {
	color: var( --linkcolor);
	text-decoration: none;
}

a:visited{
	color: var( --linkcolor);
}

a:hover{
	color: #E1E1E1;
}

a img{
	border-style: none;
}

b, strong{
	font-weight: bold;
}

img{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: bottom;
}

a:hover img{
	transition: 0.3s;
	opacity: 0.5;
}

.inner img, .wid640 img, .wid720 img, .wid960 img{
	max-width: 100%;
}

/*汎用*/
.shadow{
	-webkit-box-shadow: 10px 10px var( --maincolor);
	box-shadow: 10px 10px var( --maincolor);
}

.center{
	text-align: center;
}

/*PCコンテンツの横幅*/

#container{
	margin: 0;
}

.inner{
	margin: 0 auto;
	max-width: 1280px;
	padding: 0 40px;
}

.wid640{
	max-width: 640px;
	margin: 0 auto;
	padding: 0 20px;
}

.wid720{
	max-width: 720px;
	margin: 0 auto;
	padding: 0 20px;
}

.wid960{
	max-width: 960px;
	margin: 0 auto;
	padding: 0 20px;
}

/*スマートフォン用画像非表示*/
.spimg{
	display: none;
}

/*引用*/
blockquote{
    position: relative;
	border: 1px solid var( --maincolor);
    border-left: 4px solid var( --maincolor);
    padding-left: 10px;
    background: var( --lightcolor);
	margin-bottom: 10px;
}

blockquote:before{
    position: absolute;
    font-family: 'FontAwesome';
    content: '\f10d';
    font-size: 20px;
    color: var( --maincolor);
    padding-top: 8px;
}

blockquote p{
    position:relative;
    padding: 30px 10px 0px;
}

blockquote cite{
    display: block;
    font-size: 0.8rem;
    color: var( --maincolor);
    text-align: right;
    padding: 10px;
}

/*WPリンクフレームの最大幅*/
iframe.wp-embedded-content{
	max-width: 100%;
}

/*上下の余白調整用*/
.pad10{
	padding: 10px 0;
}

.pad20{
	padding: 20px 0;
}

.pad30{
	padding: 30px 0;
}

.pad50{
	padding: 50px 0;
}

.padt10{
	padding-top: 10px;
}

.padt20{
	padding-top: 20px;
}

.padt30{
	padding-top: 30px;
}

.padt50{
	padding-top: 50px;
}

.padb10{
	padding-bottom: 10px;
}

.padb20{
	padding-bottom: 20px;
}

.padb30{
	padding-bottom: 30px;
}

.padb50{
	padding-bottom: 50px;
}

.marb10{
	margin-bottom: 10px;
}

.marb20{
	margin-bottom: 20px;
}

.marb30{
	margin-bottom: 30px;
}

.marb50{
	margin-bottom: 50px;
}

.mart10{
	margin-top: 10px;
}

.mart20{
	margin-top: 20px;
}

.mart30{
	margin-top: 30px;
}

.mart50{
	margin-top: 50px;
}

/*マーカー・文字色*/
mark, .marker {
	background: linear-gradient(transparent 70%, var( --markercolor) 60%);
	font-weight: bold;
}

#header-text mark, #subheader-text mark{
	color: var( --whitecolor);
	background: linear-gradient(transparent 85%, var( --markercolor) 60%);
}

#subheader-text mark{
	color: var( --blackcolor);
}

/*問い合わせボタン*/
.simple-button {
	font-size: 1.1em;
	display: block;
	width: 100%;
	text-align: center;
	text-decoration: none;
	color: var( --whitecolor);
	background: var(--pointcolor);
	border-radius: 0px;
	margin-top: 6px;
	box-sizing: border-box;
	border: 1px solid var( --whitecolor);
}

.simple-button:hover {
	 opacity:0.8;
	 cursor: pointer;
	 text-decoration: none;
}

.simple-button a{
	color: var( --whitecolor);
	display: block;
	padding: 16px 20px;
}

/* ▽ヘッダー部 */
header {
	margin: 0;
	padding: 0 0 30px;
	background-image: url(images/main_bg.jpg);
	background-position: center;
	background-size: cover;
}

.naviheader, .whiteheader {
	margin: 0;
	padding: 0;
}

.header-box, .header-button-box {
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
}

.headerbuttonbox-l{

}

.headerbox-l{
	
}

.headerbox-l img, .headerbuttonbox-l img{
	max-width: 100%;
}

.headerbox-r{
	
}

.headerbuttonbox-m{
	flex: 6;
	margin-right: 20px;
}

.whiteheader #header-title, .naviheader #header-title{
	background-color: var( --whitecolor);
}

.whiteheader #header-title .inner, .naviheader #header-title .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 40px;
}

.sitetitle{
	padding: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header-title .sitetitle{
	padding: 0;
}

.logo-l{
	margin-right: 6px;
}

.logo-l img{
	max-width: 100%;
}

.logo-r{
}

#header-title h1, #header-title .hx, .header-title h1, .header-title .hx{
	font-size: 1.8em;
	margin: 0;
	padding-bottom: 10px;
	font-weight: bold;
	text-decoration: none;
	color: var( --blackcolor);
}

#header-title a h1, #header-title a .hx, .header-title a h1, .header-title a .hx{
	text-decoration: none;
	color: var( --blackcolor);
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#header-title .subofficename, #header-title .subofficename a, .header-title .subofficename, .header-title .subofficename a{
	color: var( --blackcolor);
	font-size: 1em;
	font-weight: bold;
}

.header-button {
	padding: 0;
	display: flex;
	justify-content: space-between;
}

.hb-left{
	margin-right: 10px;
}

.hb-right{
	
}

.hb-number{
	color: var(--blackcolor);
	font-size: 175%;
	font-weight: bold;
}

.hb-info{
	font-size: 15px;
	padding-top: 4px;
}

/*ナビゲーションメニュー(menu-navi.php)*/
#menubtn, nav.btnmenu {
	display: none;
}

nav.menu, nav.btnmenu {
	font-size: 1em;
	margin: 0;
	padding: 0;
	background-color: var(--whitecolor);
}

nav.menu ul, nav.btnmenu ul{
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	justify-content: space-between;
}

nav.menu ul li, nav.btnmenu ul li{
	font-weight: bold;
}

nav.menu ul li a , nav.btnmanu ul li a{
	display: block;
	padding: 16px 0;
	text-decoration: none;
	text-align: center;
	color: var(--blackcolor);
}

nav.menu ul li a:hover, .main-navi ul li.current-menu-item a:hover, nav.btnmenu ul li a:hover{
	color: var( --maincolor);
}

nav.menu ul li.current-menu-item a, nav.btnmenu ul li.cureent-menu-item a{
}

nav.menu ul, nav.btnmenu ul{*zoom:1;
}

/*シンプルナビゲーション(menu-simple-b.php)*/
nav.smenu {
	float: right;
	font-size: 0.9em;
	margin: 0;
	padding: 0;
	display: block;
}

nav.smenu ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

nav.smenu ul li{
	float: left;
}

nav.smenu ul li a {
	display: block;
	padding: 20px 16px;
	text-decoration: none;
	text-align: center;
	color: var( --blackcolor);
	font-weight: bold;
	-webkit-transition: all 0.6s ease;
	-moz-transition: all 0.6s ease;
	-o-transition: all 0.6s ease;
	transition: 0.6s ease;
}

nav.smenu ul li a:hover, nav.menu ul li.current-menu-item a:hover{
	color: #CCCCCC;
}

nav.smenu ul li:last-child a:hover{
	color: #CCCCCC;
}

nav.smenu ul li.current-menu-item a{
}

nav.smenu ul:after {
	content: "";
	display: block;
	clear: both;
}

nav.smenu ul{
	*zoom:1;
}

/* ヘッダー部を固定する場合 */
.header-menu.fixed{
	width: 100%;
}

.fixed{
	position: fixed;
	top: 0;
	z-index: 100;
	-webkit-box-shadow: 0px 4px 4px #CCCCCC;
	box-shadow: 0px 4px 4px #CCCCCC;
}

/* メイン画像(hero-whitebox.php利用時) */
.band{
	background-image: url(images/main_bg.jpg);
	background-position: 25% 25%;
	background-size: cover;
}

.entryband{
	background-image: url(images/entry_bg.jpg);
	background-position: 25% 25%;
	background-size: cover;
}

.band-inner{
	margin: 0 auto;
	max-width: 1280px;
	padding: 0;
}

#header-whitebox{
	display: flex;
	justify-content: space-between;
	height: 60vh;
	min-height: 400px;
}

.header-tba{
	flex: 5;
	background-color: rgba(255,255,255,0.75);
	margin: 60px;
}

.header-tba img{
	max-width: 100%;
}

.header-tbb{
	flex: 5;
}

/* メイン画像(header-text.php利用時) */
#header-text, #subheader-text{
	background-image: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url(images/header-bg.jpg);
	background-position: center center;
	background-size: cover;
	display: flex;
	font-weight: bold;
	align-items: center;
	justify-content: center;
	text-align: left;
	padding: 10px 0 0;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

#subheader-text{
	padding: 20px 0;
	background-image: linear-gradient(rgba(255,255,255,0.45), rgba(255,255,255,0.45)), url(images/main_bg2.jpg);
	background-position: center 75%;
}

.herohead, .subherohead{
	color: var(--maincolor);
	font-size: 40px;
	letter-spacing: 0.075em;
	margin-left: 0.075em;
	line-height: 1.5;
}

#subheader-text .herohead{
	color: var( --blackcolor);
	font-size: 28px;
	text-align: center;
}

.subherohead{
	margin-top: 20px;
}

#header-text p, #subheader-text p{
	font-size: 20px;
	color: var(--whitecolor);
	line-height: 1.6;
}

#subheader-text p{
	color: var( --blackcolor);
}

/* パンくずリスト */
.breadcrumbs{
	font-size: 0.875em;
	padding: 20px 0 0;
	line-height: 1.5;
}

/*▽コンテンツ部*/

#content {
	margin: 0;
}

#content .inner{
	display: flex;
	justify-content: space-between;
}

#content-left{
	margin: 20px 0 40px;
	width: 62.5%;
}

/*トップページLP*/

/*上から動いて表示(menu.js)*/
.movimg{
	opacity: 0;
	transition: 1s;
	transform: translate(0,80px); 
	-webkit-transform: translate(0,80px); 
}
.movimg-go{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

/*左から動いて表示(menu.js)*/
.sidimg{
	opacity: 0;
	transition: 1s;
	transform: translate(-120px,0); 
	-webkit-transform: translate(-120px,0); 
}
.sidimg-go{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}

/*フェードイン(menu.js)*/
.fadimg{
	transition: .8s;
	opacity: 0;
}

.fadimg-go{
	opacity: 1.0;
}

/*LP背景色・背景画像指定*/
.bg-white{
	background-color: var( --whitecolor);
}

.bg-maincolor{
	background-color: var(--maincolor);
}

.bg-lightcolor{
	background-color: var(--lightcolor);
}

.bg-point{
	background-color: var(--pointcolor);
}

.bg-case{
	position: relative;
}

.bg-case::before {
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100vh;
	background-repeat:no-repeat;
	background-position:50% 100%;
	background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.7)), url(images/main_bg.jpg);
	background-size:cover;
	background-position: center;
}

/*フレキシブルボックス*/
.boxes219, .boxes228, .boxes246, .boxes264, .boxes255, .boxes237, .boxes273, .boxes3{
	display: flex;
	justify-content: space-between;
}

.boxes219 img, .boxes228 img, .boxes246 img, .boxes264 img, .boxes255 img, .boxes237 img, .boxes273 img, .boxes3 img{
	max-width: 100%;
	height: auto;
}

.box219a {
	flex: 1;
	margin-right: 20px;
}

.box219b {
	flex: 9;
}

.box228a {
	flex: 2;
	margin-right: 20px;
}

.box228b {
	flex: 8;
}

.box246a, .box264b{
	flex: 4;
}

.box246b, .box264a{
	flex: 6;
	margin-right: 20px;
}

.box246a{
	margin-right: 20px;
}

.box264a{
	flex: 6;
	margin-right: 20px;
}

.box255a, .box255b{
	flex: 5;
}

.box255a{
	margin-right: 20px;
}

.box237a, .box273b{
	flex: 3;
}

.box237b, .box273a{
	flex: 7;
}

.box237a, .box273a{
	margin-right: 20px;
}

.box3, .topbox3{
	flex: 1;
	margin-right: 20px;
}

.topbox3{
	margin-right: 50px;
	background-color: var( --whitecolor);
	border: 1px solid var( --whitecolor);
}

.box3:last-child, .topbox3:last-child{
	margin-right: 0;
}

.box-para{
	padding: 0 20px 20px 20px;
}

.box-title{
	color: var( --maincolor);
	font-size: 1.3em;
	font-weight: bold;
	padding: 10px 0;
	text-align: center;
}

/*FLEXボックス*/
.flexiblebox{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.fbox-in{
	flex: 0 1 340px;
	margin-bottom: 20px;
}

.fbox-in img{
	max-width: 100%;
}

/*CIRCLEボックス*/
.circlebox{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.cbox{
	flex: 0 1 340px;
	margin-bottom: 20px;
}

.cbox img{
	max-width: 100%;
}

.box-h{
	font-size: 1.25em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}

.circlepad{
	padding-bottom: 30px;
}

.circleimage{
    border-radius: 50%;
	margin: 0 auto;
	height: auto;
	width: 60%;
	overflow: hidden;
}

.circleimage img {
	display: block;
	transition-duration: 0.3s;
}
.circleimage img:hover {
	transform: scale(1.1);
	transition-duration: 0.3s;
}


/*ボックス型Q&A*/
.top-question{
	color: var( --maincolor);
	font-size: 1.1em;
	font-weight: bold;
	padding: 4px 0;
	line-height: 1.5;
}

.top-question:first-letter{
	background: var( --maincolor);
	color: var( --whitecolor);
	padding: 4px 12px;
	margin-right: 8px;
}

.top-answer{
	color: var( --maincolor);
	font-size: 1.1em;
	font-weight: bold;
	padding: 4px 0;
	line-height: 1.5;
}

.top-answer:first-letter{
	background: var( --maincolor);
	color: var( --whitecolor);
	padding: 4px 12px;
	margin-right: 8px;
}

.box-question{
	background: var( --lightcolor);
	padding: 20px;
}

.box-answer{
	padding: 20px;
}

/*個別記事Q&A*/
.entry-question{
	color: var( --maincolor);
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 10px;
}

.entry-question:before {
	background-color: var( --maincolor);
	color: var( --whitecolor);
	font-size: 1.2em;
	content: "Q";
	margin-right: 5px;
	padding: 0 8px 2px;
}

.whitebox{
	background-color: var( --whitecolor);
	border: 1px solid var( --maincolor);
}

.whitebox h3{
	margin: 20px 20px 0 0;
}

#top-lp .whitebox p{
	padding: 0 20px 0 0;
}

.whitebox-next{
	margin: 0 auto;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px 25px 0 25px;
	border-color: var( --maincolor) transparent transparent transparent;
}


/*問い合わせボックス(contact-box.php)*/
.contact-box, .contact-topbox{
	color: var( --whitecolor);
	padding: 30px 0;
}

.cb-layer{
	display: flex;
	flex-direction: column;
}

.contact-topbox{
	display: flex;
	flex-direction: column;
	background-color: var( --maincolor);
	margin-top: -100px;
}

#header-text .contact-box, #header-text .contact-topbox{
	text-align: left;	
}

#header-text .topbox3 p{
	color: var( --blackcolor);
	font-size: 1em;
	font-weight: normal;
	text-align: left;
}

.contact-topbox{
	/*background-color: rgba(255,255,255,0.8);*/
}

.contact-box img, .contact-topbox img{
	max-width: 100%;
	height: auto;
}

.cb-left{
	flex: 75;
}

.cb-right{
	flex: 25;
	padding-left: 50px;
}

.cb-imagesub{
	font-size: 0.8em;
	line-height: 1.5;
	padding-top: 10px;
}

.cb-title{
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 1.8em;
	font-weight: bold;
	line-height: 1.5;
	padding-bottom: 10px;
	text-align: center;
    color: var( --whitecolor);
}

.cb-sub{
    font-size: 1.2em;
	text-align: center;
	line-height: 1.5;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cb-main{
	display: flex;
	align-items: center; 
	padding: 20px 0 0;
}

.cb-main-left{
	flex: 1;
    padding: 0 50px;
    text-align: center;
}

.cb-main-right{
	flex: 1;
    padding: 0 50px;
    text-align: center;
}

.cb-main-left-txt {
	font-size: 0.875em;
    margin-bottom: 10px;
	font-weight: bold;
	line-height: 1.75;
}

.cb-tel{
	font-size: 120%;
}

.cb-number{
	font-size: 2.2em;
    color: var( --whitecolor);
    font-weight: bold;
}

.cb-number a{
    color: var( --whitecolor);
}

.mobile{
	margin-right: 10px;
}

.cb-info{
	background: var( --whitecolor);
	color: var( --blackcolor);
	font-size: 0.8em;
	line-height: 1.5;
	padding: 8px;
	text-align: center;
}

#top-lp .contact-box p{
	margin: 0;
	padding: 6px;
	text-align: center;
	line-height: 1;
	border: 1px solid var( --maincolor);
}

/*個別記事のヘッダー画像下*/
.contact-sub{
	background-color: var( --maincolor);
	color: var( --whitecolor);
	display: flex;
	font-size: 1.1em;
	font-weight: bold;
	justify-content: center;
	padding: 10px;
	border: 2px solid var( --maincolor);
	border-top: 0;
	align-items: center;
}

.subinner{
	margin:0px auto;
}

.sub-c-title{
	padding: 10px;
	line-height: 1.5;
}

/*詳しくはボタン（下線表示型）*/
.next-link {
	position: relative;
	display: inline-block;
	color: var( --blackcolor);
	text-decoration: none;
}
.next-link:hover {
	cursor: pointer;
	text-decoration: none;
	color: var( --maincolor);
}
.next-link::after {
	position: absolute;
	bottom: -8px;
	left: 0;
	content: '';
	width: 100%;
	height: 2px;
	background: var( --maincolor);
	transform: scale(1, 1);
	transform-origin: center top;
	transition: transform .3s;
}
.next-link:hover::after {
	transform: scale(0, 1);
	height: 3px;
}

/*トップページの見出し*/
#top-lp h2, .soudan-area h2{
	text-align: center;
	font-size: 1.8em;
	font-weight: bold;
	color: var(--blackcolor);
	line-height: 1.5;
}

#top-lp .bg-white h2, #top-lp .bg-lightmaincolor h2, .soudan-area h2{
	color: var(--blackcolor);
}

#top-lp h3{
	font-size: 1.5em;
	color: var(--maincolor);
	line-height: 1.5;
}

#top-lp .bg-maincolor h3, #top-lp .brown h3, #top-lp .bg-green h3, #top-lp .bg-blue h3{
	font-size: 2em;
	color: var( --whitecolor);
	margin-bottom: 12px;
}

#top-lp p{
	font-size: 1em;
	line-height: 1.8;
	color: var( --blackcolor);
	margin-bottom: 1em;
}

#top-lp .bg-maincolor p{
	color: var( --whitecolor);
}

#top-lp .bg-maincolor .soudan-area p{
	color: var( --blackcolor);
}

#top-lp .bg-maincolor .lp-header p, #top-lp .bg-brown .lp-header p, #top-lp .bg-green .lp-header p, #top-lp .bg-blue .lp-header p{
	color: var( --whitecolor);
}

/*投稿・記事タイトル・記事見出し*/
#post {
	color: var( --blackcolor);
	font-size: 1em;
	line-height: 1.8;
	background-color: var( --whitecolor);
	margin-bottom: 20px;
}

.entry{
	padding: 0;
}

#post p{
	font-size: 1em;
	line-height: 1.8;
	margin-bottom: 1em;
}

.entrytitle{
	text-align: left;
	font-size: 1.8em;
	color: var( --blackcolor);
	line-height: 1.5;
	margin-bottom: 30px;
}

.entrytitle a{
	color: var( --blackcolor);
	text-decoration: none;
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.pageinfo{
	text-align: right;
	font-size: 0.8em;
	padding: 2px 4px;
	background-color: var(--lightcolor);
}

.entry h2 {
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	background-color: var( --lightcolor);
	color: var(--maincolor);
	font-size: 1.4em;
	font-weight: normal;
	padding: 4px 8px;
	margin: 30px 0;
}

.entry h3 {
	color: var(--maincolor);
	font-size: 1.3em;
	font-weight: normal;
	padding: 4px;
	margin: 30px 0;
	border-bottom: 2px dotted var( --maincolor);
}

.entry h4 {
	color: var(--maincolor);
	font-size: 1.2em;
	font-weight: normal;
	padding: 0 10px;
	margin: 30px 0;
	border-left: 4px solid var(--maincolor);
	line-height: 1;
}

/*記事内の画像*/
#post img{
	max-width: 100%;
	height: auto!important;
}

.catchimg img{
	clear: both;
	display: block;
	max-width: 100%;
	height: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 10px;
}

.aligncenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.alignleft{
	float: left;
	margin-right: 10px;
	margin-bottom: 10px;
}

.alignright{
	float: right;
	margin-left: 10px;
	margin-bottom: 10px;
}

.wp-caption{
	border: 1px solid #AAAAAA;
	text-align: center;
	padding-top: 3px;
}

.thumb{
	text-align: center;
}

img.page-circle{
	border-radius: 50%;
}

/*ブログカード（ショートコードで内部リンク表示）*/
.blog-card {
    width: 100%;
    background: #FFFFFF;
    border: 1px solid #CCCCCC;
    word-wrap: break-word;
    margin: 1.5em 0;
    padding: 0;
}
.blog-card a{
	color: var( --blackcolor);
}

.blog-card:hover {
	box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.2);
	transition: 0.5s;
	color: var( --blackcolor);
}

.blog-card a:hover{
	color: #999999;
}

.blog-card-related{
	color: var( --whitecolor);
	display: inline-block;
	font-size: 0.9em;
	background-color: var( --maincolor);
	padding: 4px;
}

.blog-card a {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}
.blog-card-thumbnail {
    width: 20%;
    padding: 10px;
}
.blog-card-thumbnail img {
    width: 100%;
    border: none;
    display: block;
    padding: 0;
}
.blog-card-content {
    width: 78%;
    line-height: 1.5;
	padding: 10px;
}
.blog-card-title {
    font-size: 15px;
    font-weight: bold;
    padding: 10px 10px 10px 0;
}
.blog-card-excerpt {
    color: #333333;
    font-size: 13px;
    padding: 0 10px 10px 0;
}
.blog-card-url{
	color: #999999;
	font-size: 0.85em;
}

/*フォントサイズ*/
#post p.has-small-font-size {
	font-size: 13px;
}

#post p.has-regular-font-size, #post p.has-normal-font-size {
	font-size: 16px;
}

#post p.has-medium-font-size {
	font-size: 20px;
}

#post p.has-large-font-size {
	font-size: 36px;
}

#post p.has-larger-font-size, #post p.has-huge-font-size{
	font-size: 42px;
}

/* テーブル */
table {
	margin: 0 0 1em 0;
	border-collapse: collapse;
}
td {
	border: 1px solid var( --maincolor);
	padding: 15px;
	font-size: 1em;
}

th {
	border: 1px solid var( --maincolor);
	background: var( --lightcolor);
	padding: 15px;
	font-size: 1em;
	text-align: center;
	vertical-align: middle;
}

ul, ol {
	margin: 10px 0;
	line-height: 1.8;
	color: var( --blackcolor);
}

ul{
	padding: 8px 8px 8px 30px;
	list-style-type: disc;
}
ol{
	margin: 10px 20px;
	list-style-type: decimal;
}

ol li{
	margin-bottom: 20px;
}

/*目次の調整*/
#category-posts-3-internal .cat-post-item {
	margin-bottom: 0!important;
}

div#ez-toc-container{
	box-sizing: border-box;
	border: none!important;
}

.ez-toc-title-container{
	text-align: center;
	padding-bottom: 20px;
}

div#ez-toc-container ul li{
	border-bottom: 1px dotted var( --greycolor);
}

div#ez-toc-container ul.ez-toc-list a{
	display: block;
}

#category-posts-3-internal .cat-post-thumbnail{
	float: none!important;
	text-align: center;
}

#category-posts-3-internal .cat-post-thumbnail img{
	margin: 0 auto!important;
}

/*質問と回答*/
.question{
	color: var( --maincolor);
	font-size: 1.1em;
	font-weight: bold;
	padding: 4px 0;
	line-height: 1.5;
}

.question:first-letter{
	background: var( --maincolor);
	color: var( --whitecolor);
	padding: 4px 12px;
	margin-right: 8px;
}

.answer{
	color: var( --maincolor);
	font-size: 1.1em;
	font-weight: bold;
	padding: 4px 0;
	line-height: 1.5;
}

.answer:first-letter{
	background: var( --maincolor);
	color: var( --whitecolor);
	padding: 4px 12px;
	margin-right: 8px;
}

/*続きを読む*/
#post p.more{
	margin: 10px 0px 40px 0px;
	text-align: right;
	font-size: 0.875em;
}

#post p.more a{
	color: var( --blackcolor);
	padding: 4px 8px;
	background-color: #F1F1F1;
	border: 1px solid #CCCCCC;
	text-decoration: none;
}

#post p.more a:hover{
	color: var( --whitecolor);
	background-color: var( --maincolor);
	border: 1px solid #CCCCCC;
}

/*お問合せコーナー(soudan.php)*/
.soudan-area{
	border: 1px solid var(--maincolor);
	padding: 40px;
	background-color: var( --whitecolor);
}

.soudan-area img{
	max-width: 100%;
	height: auto!important;
}

.soudan-tel {
	text-align: center;
	margin: 10px 0 20px;
}

.soudan-title{
	color: var( --blackcolor);
	font-size: 1.5em;
	padding: 20px;
	text-align: center;
	line-height: 1.5;
}

.soudan-header{
	background-color: var( --lightcolor);
	color: var(--maincolor);
	font-size: 1.3em;
	font-weight: normal;
	padding: 6px;
	margin: 20px 0;
	text-align :center;
}

.form7-must {
	background: var(--maincolor);
	color: var(--whitecolor);
	font-size: 0.75em;
	padding: 2px;
	margin-left: 10px;
	letter-spacing: 2px;
}

.form7-optional {
	border:1px solid var( --maincolor);
	color: var( --maincolor);
	font-size: 0.75em;
	padding: 2px;
	margin-left: 10px;
	letter-spacing: 2px;
}

.wpcf7-textarea{
	width: 98%;
}

.lp-soudan{
	margin: 0 auto;
	width: 640px;
	padding: 0;
}

.lp-soudan .soudan-area{
}

.pp{
    padding: 20px;
    width: 98%;
    height: 200px;
    overflow-y: scroll;
    overflow-x: hidden;
    background: white;
    border: solid 1px #666666;
}

.wpcf7-submit {
	border: 1px solid var( --maincolor);
    cursor: pointer;
    font-size: 1.2em;
    padding: 8px 20px;
    background-color: var(--maincolor);
    color: var(--whitecolor);
	text-align: center;
	width: 100%;
}

.wpcf7-submit:hover:enabled {
    background-color: var(--lightcolor);
    color: var(--maincolor);
	border: 1px solid var( --maincolor);
}

.waku{
	border: 1px solid var( --maincolor);
	background-color: var( --whitecolor);
	padding: 20px;
	margin-bottom: 20px;
}

/*ページナビ(ページ番号表示）*/
.pagination {
	padding: 20px;
	position: relative;
	font-size: 0.875em;
	line-height: 1.5;
}

.pagination: after{
	content: "";
	display: block;
	clear: both;
}
  
.pagination span, .pagination a {
	display :block;
	float: left;
	margin: 2px 2px 2px 0;
	padding: 6px 9px 5px 9px;
	text-decoration: none;
	width: auto;
	color: var( --blackcolor);
	background: #F1F1F1;
	border: 1px solid #CCCCCC;
}
  
.pagination a:hover{
	color: var( --whitecolor);
	background: #EEEEEE;
}
  
.pagination .current{
	padding: 6px 9px 5px 9px;
	background: var( --maincolor);
	color: var( --whitecolor);
}

/*▽サイドバー*/
#sidebar {
	width: 29.3%;
	font-size: 1em;
	background: var( --whitecolor);
	margin: 20px 0 40px;
}

.sidesticky{
	position: -webkit-sticky; /* Safari */
	position: sticky;
	top: 0;
}

/*サイドバーの見出し*/
.side-h {
	font-family: 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: var( --blackcolor);
	margin-bottom: 10px;
	font-size: 1.3em;
	border-left: 5px solid var( --markercolor);
	line-height: 1;
	padding-left: 10px;
}

/*リスト表示*/
#sidebar ul {
	margin: 0;
	padding: 0;
}

#sidebar ul li{
	margin-bottom: 40px;
}

#sidebar li {
	list-style: none;
	line-height: 2;
}

#sidebar li li {
	list-style: none;
	line-height: 2;
	margin-bottom: 0;
}

#sidebar li li a{
	display: block;
	padding: 6px 0;
	background-color: var( --whitecolor);
	border-bottom: 1px solid #EFEFEF;
}

#sidebar li li a:hover {
	background-color: var(--lightcolor);
	color: var( --blackcolor);
}

#sidebar img {
	max-width: 100%;
	height: auto !important;
}

#sidebar p{
	margin: 0 0 20px;
}

#sidebar .textwidget{
	padding: 0;
	font-size: 90%;
}


/*サイドバーのコンタクト（ウィジェットで作成）*/
.sidecontact-box{
	background-color: var( --lightcolor);
	color: var( --maincolor);
	font-weight: bold;
	padding: 20px;
}

#sidebar .sidecontact-box p{
	margin-bottom: 0;
}

.sidecontact-title, .soudancontact-title{
	font-size: 1.5em;
	color: var( --blackcolor);
	text-align: center;
}

.soudancontact-title{
	text-align: left;
}

.sidecontact-subtitle{
	font-size: 1em;
	color: var( --maincolor);
	text-align: center;
}

.sidecontact-number, .soudancontact-number{
	font-size: 2.2em;
	text-align: center;
	color: var( --maincolor);
}

.soudancontact-number{
	color: var( --blackcolor);
	line-height: 1;
	font-weight: bold;
}

.soudancontact-number a{
	color: var( --maincolor);
}

.sidecontact-number a{
	color: var( --blackcolor);
}

.sidecontact-box .simple-button{
	box-sizing: border-box;
}

.sidecontact-info, .soudancontact-info{
	text-align: center;
	color: var( --maincolor);
	line-height: 1.5;
}

.soudancontact-info{
	margin-top: 20px;
	color: var( --blackcolor);
}

.sidecontact-box .simple-button{
	margin-top: 10px;
}

.sidecontact-box .simple-button a{
	padding: 10px 20px;
}

/*▽フッター*/
#footer{
	background-color: var(--maincolor);
	color: var( --whitecolor);
	font-size: 0.875em;
	padding: 20px 0;
	text-align: center;
	line-height: 1.5;
}

#footer a{
	color: var( --whitecolor);
}

/*ページトップへのボタン画像*/
#back-top {
    position: fixed;
    bottom: 5%;
    right: 8%;
	z-index: 1;
}

#back-top span {
    display: block;
}

/*フッターのメニュー*/
.footer-box{
	display: flex;
	margin: 30px 0;
}

.fbox{
	flex: 1;
	margin-left: 20px;
  display: flex;
  justify-content: center;
}

.fbox:first-child{
	margin-left: 0;
}

.fbox img{
	width: 85%;
	margin: auto;
 	display: block;
}

.footer-box  ul{
	list-style-type: none;
	text-align: left;
	margin: 0;
	padding: 0;
}

.footer-box ul li a:before{
	color: var( --whitecolor);
	content: "-";
	font-style: normal;
	display: inline-block;
	margin: 0 .6em 0 0;
	text-decoration: none;
}

.footer-box .side-h{
	background-color: var( --maincolor);
	border-bottom: 1px dotted var( --whitecolor);
	color: var( --whitecolor);
	text-align: left;
}

#content-footer li{
	list-style-type: none;
}

/*横幅1200px以下の表示変更*/
@media screen and ( max-width:1200px) {

.headerbuttonbox-m{
	font-size: 1vw;	
}
	
.fbox-in, .cbox{
	flex: 0 1 48%;
}
	
.sidecontact-title{
	font-size: max(1.5vw, 18px);	
}
	
.sidecontact-subtitle{
	font-size: max(1.3vw, 11px);	
}
	
.sidecontact-number{
	font-size: max(1.5vw, 25px);	
	text-align: center;
}

/*横幅1100px以下の表示変更*/
@media screen and ( max-width:1100px) {
	
.headerbox-r{
	font-size: 1.2vw;
}
	
.cb-title{
	font-size: 100%;
}
	
.cb-tel{
	font-size: 100%;
}

.cb-number{
	font-size: 4vw;
}
	
.top-box2{
	top: 0;
}

.boxesl{
	display: flex;
	flex-direction: column;
}

.boxla, .boxlb{
	width: 100%;
	box-sizing: border-box;
	padding: 0;
}
	
.boxla img, .boxlb img{
	width: 100%;
}
	
.boxla, .boxlc{
	float: none;
}

.boxlb, .boxld{
	float: none;
	padding: 20px;
	margin-top: 0;
	font-size: 100%;
}
	
.headerbuttonbox-m{
	font-size: 1.2vw;
	margin: 0;
}
	
.headerbuttonbox-r{
	display: none;
}
	
#header-text .contact-box p, #header-text .contact-topbox p{
	font-size: 100%;
}
}

/*横幅920px以下の表示変更*/
@media screen and ( max-width:920px) {
	
.header-title{
	background-color: rgba(255,255,255,0.4);
}
	
.header-box {
	display: flex;
	flex-direction: column;
}
	
.headerbox-r {
	font-size: 1em;
}
	
nav.menu, nav.smenu {
	display: none;
}
	
nav.menu ul, nav.btnmenu ul{
	display: flex;
	flex-direction: column;
}
	
.header-button{
	display: none;
}
	
#menubtn {
	display: block;
	position: absolute;
	top: 20px;
	right: 6px;
	background-color: var( --whitecolor);
	border: none;
}
	
#menubtn span {
	display: none;
}
	
#menubtn i {
	color: var( --maincolor);
	font-size: 3em;
}
	
nav.smenu ul, nav.btnmenu ul{
display: block;
}

nav.smenu ul li, nav.btnmenu ul li{
	float: none;
	border-right: none;
	width: 100%;
}

nav.smenu ul li:first-child, nav.btnmenu ul li:first-child{
	border-left: none;
	width: 100%;
}

nav.smenu ul li a , nav.btnmenu ul li a{
	display: block;
}
	
.menu-item{
	padding: 0;
}

nav.smenu li.menu-item a, nav.btnmenu li.menu-item a{
	text-align: left;
}
	
}

/*横幅768px以下の表示変更（スマホのみ適用はsp-style.php）*/
@media screen and (max-width: 768px) {
	
.inner, .wid640, .wid720, .wid960{
	padding: 20px;
}
	
/* ヘッダー(テキスト) */
.herohead, .subherohead{
	font-size: 8vw;
	margin-top: 40px;
	text-align: left;
}
	
.whiteheader #header-title .inner, .naviheader #header-title .inner{
	padding: 10px;
}
	
.sitetitle{
	max-width: 95%;
}
	
.officename{
	font-size: 12px;
}
	
.subofficename{
	font-size: 8px;
}
	
#header-text, #subheader-text{
	height: auto;
}

#header-text p, #subheader-text p{
	text-align: left;
	font-size: 1em;
}
	
.tba-title{
	font-size: min(4.8vw, 44px);
}

.tba-check{
	font-size: min(3.8vw, 32px);
}
	
.tba-box-left{
	font-size: min(3.8vw, 32px);
}
	
.header-tba {
	margin: 20px;
}
	
.header-tbb{
	display: none;
}
	
.contact-box, #header-text .contact-topbox{
	text-align: center;	
}
	
.contact-topbox{
	margin-top: 40px;
}
	
.contact-box p,#header-text .contact-topbox p{
	text-align: center;
}
	
.cb-right{
	display: none;
}
	
.cb-main{
	display: flex;
	flex-direction: column;
}
	
.cb-main-left{
	flex: 60;
	margin-bottom: 10px;
}

.cb-main-right{
	flex: 40;
}
	
.cb-number{
	font-size: 2.2em;
}
	
#content .inner{
	display: block;
}
	
#content-left{
	width: 100%;
}
	
#sidebar {
	width: 100%;
}
	
.header-button{
	display: none;
}
	
/*LPボックス*/
.boxes246, .boxes264, .boxes255, .boxes237, .boxes273, .boxes3, .boxes4{
	display: flex;
	flex-direction: column;
}

.box246a, .box246b, .box264a, .box264b, .box255a, .box255b, .box237a, .box237b, .box273a, .box273b, .box3, .box4{
	width: 100%;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}
	
.topbox3{
	margin-right: 0;
	margin-bottom: 20px;
}
	
.shadow{
	margin-bottom: 30px;
}
	
/*トップページ見出し調整*/
#top-lp h2, .soudan-area h2{
	font-size: 1.5em;
}
	
#top-lp h3, .soudan-area h3{
	font-size: 1.2em;align-content
	}
	
#post .question{
	padding-top: 0;
}

/*テーブルの調整*/
table{
		font-size: 0.8em;
	}
	
td {
	padding: 4px;
	line-height: 1.5;
}

th {
	padding: 4px;
	text-align: left;
	line-height: 1.5;
}

/*相談エリア*/
.soudan-area{
	padding: 20px;
}
	
.soudan-area img{
	width: 100%;
}

.sidecontact-number, .soudancontact-number{
	font-size: 2.2em;
}
	
.wpcf7-submit {
font-size: 1.2em;
padding: 10px 20px;
background-color: #BDDDFD;
color: var( --blackcolor);
border-style: none;
width: 100%;
text-align: center;
}
	
.form-width { max-width: 100%;}
	
#sidebar img{
	width: 100%;
}

}