@charset "utf-8";
/* ==================================================

	Theme Name: オリジナルテーマ
	Version:1.0.0
	Author: ディテールドローイング
	Theme URI: http://detail-drawing.com/
	Description: オリジナルテーマ

	--------------------------------------------------
	  Structure
	--------------------------------------------------
	0. Reset
	1. Base
	2. Layout
	3. Module
	4. Icon
	5. Header
	6. Main
	7. Side
	8. Footer
	9. Utility

================================================== */



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	0. Reset
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */

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;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display:block;
}
/*box-sizingを全ブラウザに対応*/
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	1. Base
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */

/* --------------------------------------------------
	1. HTML, Body, Anchor
-------------------------------------------------- */
html { 
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .05em;
	/*モバイル文字サイズの自動調整をオフ*/
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	color: #333;
    line-height:1;
}
a {
	margin:0;
	padding:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
	transition: all 0.3s;
}
a:hover, a:active {
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
}

/* --------------------------------------------------
	2. Heading, Paragraph
-------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
    font-weight:normal;
	line-height: 1em;
}

h2 {
	background: #ff7f00;
	color: white;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	font-feature-settings: "palt";
	margin-bottom: 50px;
	padding: 20px;
}
h2.dark {
	background: none;
	padding: 0;
}
@media only screen and (max-width: 1200px) {
	h2 {
		margin-bottom: 30px;
	}
}
@media only screen and (max-width: 480px) {
	h2 {
		font-size: 24px;
		padding: 10px;
	}
}

h3 {
	color: #008cc2;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.7;
}

p {
    font-size: 16px;
	line-height: 1.7em;
	margin-bottom: 1.5em;
}
p.end {
	margin-bottom: 0;
}

/* --------------------------------------------------
	3. List
-------------------------------------------------- */
ul { letter-spacing: -.40em; }
li { list-style: none; letter-spacing: normal; }
ul.basic li { float: left; }

/* パンくずリスト */
#breadcrumb {
	background: #639783;
	color: white;
	font-size: 12px;
	height: 50px;
	line-height: 50px;
	margin-bottom: 50px;
}
#breadcrumb a {
	color: white;
	text-decoration: none;
}
#breadcrumb li {
	margin-right: 10px;
}

/* --------------------------------------------------
	4. Table
-------------------------------------------------- */
table {
    border-collapse:collapse;
    border-spacing:0;
}
th {}
td {}

table.table-type-a {
	font-size: 14px;
	width: 100%;
}
table.table-type-a th {
    background: #f7f7f7;
    border: 1px solid #d7d7d7;
    font-weight: normal;
	line-height: 1.5;
    padding: 23px;
	text-align: left;
	vertical-align: middle;
    width: 28%;
}
table.table-type-a td {
    border: 1px solid #d7d7d7;
	line-height: 1.5;
    padding: 23px;
    width: 72%;
}
@media only screen and (max-width: 1200px) {
	table.table-type-a {
		border-top: 1px solid #d7d7d7;
		width: 100%;
	}
	table.table-type-a th {
		border-top: none;
		display: block;
		font-weight: bold;
		padding: 10px 20px;
		width: 100%;
	}
	table.table-type-a td {
		border-top: none;
		display: block;
		padding: 20px;
		width: 100%;
	}
}

/* --------------------------------------------------
	5.Form 
-------------------------------------------------- */
.inquiry input[type="text"],
.inquiry input[type="email"],
.inquiry textarea,
.inquiry select{
    border: 3px solid #d7d7d7;
	color: #333;
	font-size: 16px;
    padding: 10px;
    width: 100%;
}
.inquiry select {
	font-size: 14px;
	height: 50px;
}
.inquiry input::placeholder,
.inquiry textarea::placeholder {
  color: #d6d6d6;
}
input:focus::placeholder,
textarea:focus::placeholder {
    color: transparent;
    transition: 1s;
}
input[type="submit"],
input[type="button"]{
	-webkit-appearance: none;
	border-radius: 0;
}
@media only screen and (max-width: 1200px) {
	.inquiry th, .inquiry td {
		border-top: none !important;
		display: block !important;
		width: 100% !important;
	}
	.inquiry tr:first-child th {
		border-top: 1px solid #d7d7d7 !important;
	}
}

/*ラジオボタン・チェックボックスを縦並び指定*/
.verticallist .wpcf7-list-item {
    display: block;
}

/*送信ボタンのデザイン変更*/
.form-btn {
    margin-top: 70px;
    text-align: center;
    width: 100%;
}
.haveto {
	background: #ff9393;
	border-radius: 2px;
	bottom: 1px;
	color: #fff;
	font-size: 7px;
	margin-right: 5px;
	padding: 5px;
	position: relative;
}
.any {
    background: #93c9ff;
    border-radius: 2px;
    bottom: 1px;
    color: #fff;
    font-size: 7px;
    margin-right: 5px;
    padding: 5px;
    position: relative;
}
#formbtn1,
#formbtn2,
#formbtn3 {
	background: #10843A;
	border: none;
	border-radius: 2px;
	color: #fff;
	cursor: pointer;
	font-size: 20px;
	font-weight: 600;
	padding: 10px 0;
	width: 100%;
}
#formbtn1 {
    background: #93C9FF;
}
#formbtn2 {
    background: #FF9393;
}

/* ----------------------------------------
	6. pagenation
---------------------------------------- */
.pagenation {
    margin: 1em 0;
}
.pagenation:after, .pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.pagenation ul {
    margin: 0 auto;
    text-align: left;
}
@media only screen and (max-width: 1200px) {
.pagenation ul {
    text-align: center;
}    
}
.pagenation li {
    display: inline-block;
    list-style: none outside none;
    margin-left: 3px;
}
.pagenation li:first-child {
    margin-left: 0;
}
.pagenation li.active {
    background-color: #999999;
    border-radius: 3px;
    color: #FFFFFF;
    cursor: not-allowed;
    padding: 10px 20px;
}
.pagenation li a {
    background: none repeat scroll 0 0 #333;
    border-radius: 3px;
    color: #FFFFFF;
    display: block;
    padding: 10px 20px;
    text-decoration: none;
}
.pagenation li a:hover {
    background-color: #444444;
    color: #FFFFFF;
    opacity: 0.8;
    transition-duration: 500ms;
    transition-property: all;
    transition-timing-function: ease;
}

/* --------------------------------------------------
	7. Other
-------------------------------------------------- */
img {
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}
object {
    vertical-align: middle;
    outline: none;
}
em, strong { font-weight: bold; font-style: normal; }
abbr, acronym { border: none; font-variant: normal;}
q { quotes: "「" "」" "『" "』"; }
q:before { content: open-quote; }
q:after { content: close-quote; }
address, caption, cite, code, dfn, var {
	font-weight: normal; font-style: normal;
}
code, pre { font-family: monospace; }
sup { vertical-align: text-top; }
sub { vertical-align: text-bottom; }
hr {
    height: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    margin: 20px 0;
}

/* --------------------------------------------------
	8. For IE6/7
-------------------------------------------------- */
/* --- for ie7: page zoom bug fix --- */
*:first-child+html body,
*:first-child+html br { letter-spacing: 0; }



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	2. Layout（wrapper/flex/figureなど）
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */

.wrapper {
	margin: 0 auto;
	width: 1200px;
}
.wrapper-s {
	margin: 0 auto;
	width: 1000px;
}
@media only screen and (max-width: 1200px) {
	.wrapper {
		width: 94%;
    }
	.wrapper-s {
		width: 94%;
	}
}

/* --------------------------------------------------
	FLEX
-------------------------------------------------- */
.fx-base {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}
.fx-wrap {
	/*フレックスアイテムを折り返す*/
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.fx-bet {
	/*フレックスアイテムを等間隔に配置する*/
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}
.fx-rev {
	/*右から並べる*/
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}
.fx-col {
	/*縦方向に並べる*/
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.fx-cen {
	/*縦方向に中央揃え*/
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.fx-tate {
	/*横方向に中央揃え*/
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

/* --------------------------------------------------
	Figure
-------------------------------------------------- */
figure.two { width: 48%; }
figure.three { width: 30%; }
figure.four { width: 22%; }
figure.five { width: 17%; }
figure.six { width: 13%; }

@media only screen and (max-width: 480px) {
	figure { width: 100%; }
	figure.two { width: 100%; }
	figure.three { width: 100%; }
	figure.four { width: 100%; }
	figure.five { width: 100%; }
	figure.six { width: 100%; }	
	figure { margin-bottom: 30px; }
}

/* --------------------------------------------------
	Clearfix
-------------------------------------------------- */
.cf:after{/*for modern browser*/
	content:".";
	display: block;
	height:0px;
	clear:both;
	line-height:0; 
	visibility:hidden;
    overflow:hidden;
}
.cf { zoom:1;/*for IE 5.5-7*/ }



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	3. Module（タイトル・カラーなど）
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */

/* ----------------------------------------
　title
---------------------------------------- */
.ttl-type-a {
	font-size: 20px;
	font-weight: 500;
	overflow: hidden;
	text-align: center;
	margin: 0 0 50px;
}
.ttl-type-a span {
	position: relative;
	display: inline-block;
	padding: 0 1em;
}
.ttl-type-a span::before {
	right: 100%;
}
.ttl-type-a span::after {
	left: 100%;
}
.ttl-type-a span::before,
.ttl-type-a span::after {
    position: absolute;
    top: 50%;
    content: '';
    width: 1000%;
    height: 1px;
    background-color: #e6e6e6;
}
@media only screen and (max-width: 1200px) {
	.ttl-type-a {
		margin: 0 0 30px;
	}
}

/* ----------------------------------------
　background-color
---------------------------------------- */

/* ----------------------------------------
　text
---------------------------------------- */
.bold { font-weight: bold; }
.naka { text-align: center;}
.migi { text-align: right; }


/* ----------------------------------------
　margin
---------------------------------------- */
.ml5 { margin-left: 5px; }
.mr5 { margin-right: 5px; }
.mb30 { margin-bottom: 30px; }

/* ----------------------------------------
　button
---------------------------------------- */
.btn-type-a {
	text-align: center;
}
.btn-type-a > a {
    background: #333;
    border-radius: 5px;
    color: #FFF;
    display: inline-block;
    font-size: 14px;
    line-height: 40px;
    margin: 50px 0 0;
    text-decoration: none;
    transition: all 0.3s;
    width: 20%;
}
.btn-type-a > a:hover {
	background: #F2F2F2;
	box-sizing: border-box;
	color: #333;
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}
@media only screen and (max-width: 1200px) {
	.btn-type-a > a {
		width: 100%;
	}
}

.btn-type-b {}
.btn-type-c {}

/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	4. Icon（SVGやiconfont）
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	5. Header
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */

/* --------------------------------------------------
	ヘッダエリア
-------------------------------------------------- */
header {}

#header-main {}
#header-main .logo a {
	display: block;
    text-decoration: none;
}
/*ロゴがテキストの場合*/
#header-main .logo a span {
	color: #000;
	font-size: 26px;
	font-weight: 700;
	line-height: 100px;
}
/*ロゴが画像の場合*/
#header-main .logo a img {
	padding-top: 13px 
}
#header-main .info p {
	font-size: 12px;
	line-height: 100px;
	margin: 0 0 0 10px;
}
#header-contact {}
#header-contact .tel {
    height: 100px;
    padding-top: 25px;
}
#header-contact .tel p {
	font-size: 12px;
	margin: 0;
	line-height: 1;
}
#header-contact .tel p.nmb {
	font-size: 26px;
	font-weight: 700;
	line-height: 1;
	padding-top: 10px;
}
#header-contact .tel p.nmb a {
	color: #333;
	text-decoration: none;
}
#header-contact .btn {
    margin-left: 14px;
    margin-top: 25px;
	width: 230px;
}
#header-contact .btn a {
	background: #022f80;
	border-radius: 5px;
	color: #fff;
	display: block;
	font-size: 15px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	text-decoration: none;
	width: 100%;
}

@media only screen and (max-width: 1200px) {
	#header-main .logo {
		height: 60px;
	}
	#header-main .logo a span {
		font-size: 20px;
		line-height: 60px;
	}	
	#header-main .logo a img {
		height: 42px;
		padding-top: 9px;
		width: auto;
	}
	#header-main .info {
		display: none;
	}
}

/* --------------------------------------------------
	ナビエリア
-------------------------------------------------- */
nav {
    background: #f2f2f2;
    height: 60px;
}
nav ul li { 
	border-right: 1px solid #FFF;
	text-align: center;
	width: calc(100%/5);
}
nav ul li:first-child  {
	border-left: 1px solid #FFF;
}
nav ul li a {
	color: #333;
	display: block;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.1em;
	line-height: 60px;
	text-decoration: none;
}
nav ul li a:hover {
	background: rgba(0,0,0,.1);
}
@media only screen and (max-width: 1200px) {
	nav ul li { 
		border-right: 0px;
		text-align: left;
		width: 100%;
	}
	nav ul li:first-child  {
		border-left: 0px;
	}
	nav ul li a {
		line-height: 24px;
	}	
}



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	6. Main
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */

main {}
.area { padding: 100px 0; }
@media only screen and (max-width: 1200px) {
	.area { padding: 50px 0; }
}


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

/* --------------------------------------------------
	メインビジュアル
-------------------------------------------------- */
#hero {
	background: url(img/mainvisual.jpg) center;
	height: 600px;
}
@media only screen and (max-width: 1200px) {
	#hero {
		background: none;
		height: auto;
	}
	#hero img {
		height: auto;
		width: 100%;
	}
}

/* --------------------------------------------------
	area-01
-------------------------------------------------- */
#area-01 figure img {
	height: auto;
	width: 100%;
}
@media only screen and (max-width: 480px) {
	#area-01 figure.four {
		width: 48%;
	}
}

/* --------------------------------------------------
	area-02
-------------------------------------------------- */
#area-02 {
	background: url(img/02-bg.jpg) center;
}
#area-02 h2 {
	text-align: left;
	margin-bottom: 30px;
}
#area-02 p {
	color: white;
}
#area-02 p.orange {
	color: #ff7f00;
	font-size: 28px;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 0;
}
#area-02 img {
	height: auto;
	width: 100%;
}

/* --------------------------------------------------
	area-03
-------------------------------------------------- */
#area-03 img {
	height: fit-content;
}
@media only screen and (max-width: 1200px) {
	#area-03 img {
		height: auto;
		margin-bottom: 30px;
		width: 100%;
	}
}


/* --------------------------------------------------
	area-04
-------------------------------------------------- */
#area-04 {
	background: url(img/04-bg.jpg) center;
}
#area-04 img {
	height: auto;
	width: 100%;
}
#area-04 h2.sub {
	margin-bottom: 20px;
	text-align: left;
}
#area-04 p {
	color: white;
}
@media only screen and (max-width: 1200px) {
	#area-04 figure {
		width: 100%;
	}
}


/* --------------------------------------------------
	area-05
-------------------------------------------------- */



/* --------------------------------------------------
	area-06
-------------------------------------------------- */
#area-06 h3 {
	background: #00a0e9;
	color: white;
	margin-bottom: 20px;
	text-align: center;
	padding: 10px;
}
#area-06 img {
	height: auto;
	width: 100%;
}
#area-06 img.second {
	margin-top: 55px;
}


/* --------------------------------------------------
	area-07
-------------------------------------------------- */
#area-07 {
	background: url(img/07-bg.jpg) center;
}
#area-07 figure {
	background: white;
	margin-top: 40px;
	padding: 40px;
}
#area-07 figure.left {
	width: 448px;
}
#area-07 figure.right {
	width: 710px;
}
#area-07 .yokosuku {
	width: 100%;
	height: 280px;
	background-color: gray;
	font-size: 0;
	overflow-x: auto;
	white-space: nowrap;
}
@media only screen and (max-width: 1200px) {
	#area-07 figure.left,
	#area-07 figure.right {
		width: 100%;
	}
}
@media only screen and (max-width: 480px) {
	#area-07 figure {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
}


/* --------------------------------------------------
	area-08
-------------------------------------------------- */
#area-08 .red {
	color: crimson;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
	margin-bottom: 0;
}
#area-08 .sub {
	font-size: 10px;
	text-align: center;
}
#area-08 img {
	height: auto;
	width: 100%;
}


/* --------------------------------------------------
	area-09
-------------------------------------------------- */
#area-09 {
	background: url(img/09-bg.jpg) center;
}
#area-09 figure.four {
	margin-bottom: 30px;
}
#area-09 figure.four img {
	height: auto;
	width: 100%;
}
@media only screen and (max-width: 480px) {
	#area-09 figure.four {
		width: 48%;
	}
}


/* --------------------------------------------------
	area-10
-------------------------------------------------- */
#area-10 figure.five img {
	height: auto;
	width: 100%;
}
@media only screen and (max-width: 480px) {
	#area-10 figure.five {
		width: 48%;
	}
}


/* --------------------------------------------------
	area-11
-------------------------------------------------- */
#area-11 {
	background: url(img/11-bg.jpg) center;
}
#area-11 figure.two {
	background: white;
	margin-bottom: 30px;
	padding: 30px 50px;
	text-align: center;
}
#area-11 figure.two h3 {
	margin: 20px 0;
}
#area-11 figure.two p {
	text-align: left;
}
#area-11 img {
	height: auto;
	width: 100%;
}
@media only screen and (max-width: 1200px) {
	#area-11 figure.two {
		width: 100%;
	}
}
@media only screen and (max-width: 480px) {
	#area-11 figure.two {
		padding: 20px;
		width: 100%;
	}
}


/* --------------------------------------------------
	area-12
-------------------------------------------------- */
@media only screen and (max-width: 1200px) {
	#area-12 figure.two {
		width: 100%;
	}
}


/* --------------------------------------------------
	お申込みフォーム
-------------------------------------------------- */
.kakunin {
	color: 333;
	font-size: 20px;
	font-weight: 600;
	margin: 50px 0 -30px;
	text-align: center;
}




/* --------------------------------------------------
	ブログ・ニュース・最新情報などの投稿エリア
-------------------------------------------------- */
#area-top-news li {
	background: #f8f8f8;
	border: 1px solid #ddd;
	margin-top: -1px;
}
#area-top-news li a {
	align-items: center;
	color: #333;
	display: flex;
	height: 60px;
	line-height: 60px;
	padding: 0 25px;
	text-decoration: none;
}
#area-top-news li a time {
	font-size: 14px;
	margin-right: 15px;
}
#area-top-news li a .category {
	color: #e97501;
	background: #fff;
	border: 1px solid #e97501;
	border-radius: 15px;
	font-size: 12px;
	height: 30px;
	line-height: 28px;
	margin-right: 15px;
	padding: 0 10px;
	text-align: center;
	width: 100px;
}
#area-top-news li a h3 {
	font-size: 14px;
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media only screen and (max-width: 480px) {
	#area-top-news li a {
		align-items: center;
		color: #333;
		display: block;
		height: auto;
		line-height: 1.5;
		padding: 25px;
		text-decoration: none;
	}
}



/* //////////////////////////////////////////////////
	下層ページ共通（page.php）
////////////////////////////////////////////////// */
#area-lower-post {
	margin: 100px;
}



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	7. Blog
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */
#main-col {
	margin-top: 50px;
    width: 850px;
}
@media only screen and (max-width: 1200px) {
	#main-col {
		margin: 30px 0 0;
		width: 100%;
	}
}

/* //////////////////////////////////////////////////
	記事一覧
////////////////////////////////////////////////// */
figure.fig-card-typeA {
	box-shadow: 0 2px 5px rgba(0, 0, 0, .13);
	height: 350px;
	margin-bottom: 30px;
	margin-right: 5%;
	overflow: hidden;
	position: relative;
}
figure.fig-card-typeA:nth-child(3n) {
	margin-right: 0;
}
figure.fig-card-typeA:after {
	background: linear-gradient(rgba(255,255,255,0) 0,rgba(255,255,255,1) 50%,rgba(255,255,255,1) 100%);
	bottom: 0px;
	content: '';
	display: block;
	height: 2em;
	position: absolute;
	width: 100%;
}
figure.fig-card-typeA a {
	color: #333;
	display: block;
	text-decoration: none;
}
figure.fig-card-typeA .category {
	background: #1EA1F2;
	color: #444;
	font-size: 10px;
	font-weight: bold;
	right: 10px;
	opacity: 0.8;
	padding: 5px 10px;
	position: absolute;
	text-align: center;
	top: 10px;
	z-index: 2;
}
figure.fig-card-typeA .category a {
	color: #fff;
}
figure.fig-card-typeA .img {
	background: #f2f2f2;
	height: 180px;
}
figure.fig-card-typeA .img img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
figure.fig-card-typeA figcaption {
	background: #FFF;
	padding: 20px;
}
figure.fig-card-typeA figcaption h3 {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}
figure.fig-card-typeA figcaption .date {
	color: #666666;
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 7px;
	line-height: 1;
}
figure.fig-card-typeA figcaption .date:before {
	font-family: "Font Awesome 5 Free";
	content: "\f073";
	font-size: .88em;
	margin-right: .3em;
	position: relative;
	top: -1px;
}
figure.fig-card-typeA figcaption .desc {
	color: #666666;
	font-size: 14px;
	line-height: 1.4;
	margin-bottom: 0;
}

@media only screen and (max-width: 480px) {
	figure.fig-card-typeA {
		height: auto;
		margin-bottom: 15px;
		margin-right: 0;
	}
	figure.fig-card-typeA .img {
		background: none;
		height: auto;
		width: 30%;
	}
	figure.fig-card-typeA .img img {
		height: auto;
	}
	figure.fig-card-typeA figcaption {
		padding: 3%;
		width: 70%;
	}
	figure.fig-card-typeA a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;;
	}
	figure.fig-card-typeA figcaption .desc {
		display: none;
	}
	figure.fig-card-typeA:after {
		background: none;
	}
	figure.fig-card-typeA .category  {
		top: 0;
		right: 0;
	}
}


/* //////////////////////////////////////////////////
	記事ページ（single.php）
////////////////////////////////////////////////// */

/* 記事タイトル
------------------------------ */
#main-col .post h1 {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 20px;
}

/* 日付とカテゴリ
------------------------------ */
.post .boxA {
	background: #F5F5F5;
	border: 1px solid #eee;
	height: 40px;
	margin-bottom: 20px;
	padding: 0 20px;
}
.post p.date {
	color: #333;
	font-size: 12px;
	line-height: 40px;
	margin-bottom: 0;
}
.post p.date:before {
	font-family: "Font Awesome 5 Free";
	content: "\f073";
	font-size: .88em;
	margin-right: .3em;
	position: relative;
	top: -1px;
}
.post .boxA p.category {
	line-height: 40px;
	margin-bottom: 0;
}
.post .boxA p.category a {
	color: #333;
	font-size: 12px;
	text-decoration: none;
}
.post .txt p {
	font-size: 16px;
	line-height: 2em;
	margin-bottom: 3em;
}
.post .txt img {
	height: auto;
	margin-bottom: 10px;
	width: 100%;
}
@media only screen and (max-width: 1200px) {
	.post img {
		max-width: 100%;
		height: auto;
	}
}

/* 管理画面より入力するタイトル
------------------------------ */
#main-col .post h2 {
	background: #004981;
	color: #fff;
	font-size: 18px;
	font-weight: 500;
	height: 60px;
	line-height: 60px;
	margin: 30px 0;
	padding: 0 20px;
}
#main-col .post h3 {
	border-left: 5px solid #004981;
	color: #004981;
	font-size: 18px;
	font-weight: 500;
	height: 40px;
	line-height: 40px;
	margin: 10px 0 20px;
	padding-left: 15px;
}
#main-col .post h4  {
	color: #004981;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 5px;
}

@media only screen and (max-width: 1200px) {
	#main-col .post h3 {
		border-left: 5px solid #004981;
		color: #004981;
		font-size: 18px;
		font-weight: 500;
		height: auto;
		line-height: 1.5;
		margin: 10px 0 20px;
		padding: 10px 0 10px 15px;
	}
}

/* 記事ページのページャー
------------------------------ */
.post #single-nav {
	margin-top: 100px;
}
.post #single-nav a {
	color: #333;
	text-decoration: none;
}
.post #single-nav .blog-top {
	text-align: center;
	width: 40%;
}
.post #single-nav .back,
.post #single-nav .next {
	color: #333;
	width: 30%;
}



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	8. Side
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */

#side-col {
	margin-top: 50px;
	width: 250px;
}
#side-col h3 {
	background-color: #000;
	color: #fff;
	font-size: 16px;
	font-weight: normal;
	line-height: 1.5em;
	margin-bottom: 0;
	text-align: center;
	padding: 10px;
}
#side-col a {
	color: #000;
	font-size: 12px;
	text-decoration: none;
	display: block;
}
#side-col ul.new {
}
#side-col li.widget-container {
	background-color: #fff;
	margin-bottom: 50px;
}
#side-col li.fx-base {
	border-bottom: solid 1px #f3f3f3;
	padding: 15px;
}
#side-col li.fx-base .thum {
	width: 50px;
	overflow: hidden;
}
#side-col li.fx-base .thum img {
	height: 50px;
	width: auto;
	position: relative;
	left: -22.5%;
}
#side-col li.fx-base .title p {
	color: #000;
	font-size: 12px;
	line-height: 1.2em;
	margin-bottom: 0;
	margin-left: 15px;
	width: 159px;
}
#side-col ul.category {
	padding-bottom: 0;
}
#side-col ul.category li.widget-container {
	padding-bottom: 0;
}
#side-col ul.category a {
	border-bottom: solid 1px #f2f2f2;
	font-size: 14px;
	padding: 15px;
}
#side-col ul.category ul li {
	line-height: 1.5;
}

@media only screen and (max-width: 1200px) {
	#side-col {
		width: 100%;
	}
	#side-col li.fx-base .title {
		width: 80%;
	}
	#side-col li.fx-base .title p {
		width: 100%;
	}
}

/* ----------------------------------------
　検索フォーム
---------------------------------------- */
#side-col #form{
	height: 50px;
	position:relative;
}
#side-col #s-box{
	border: solid 1px #eaeaea;
	height: 50px;
	left: 0;
	outline: 0;
	padding: 0 17px;
	position: absolute;
	top: 0;
	width: 100%;
}
#side-col #s-btn-area{
	background: none;
	border: none;
	color: #666;
	height: 50px;
	outline: 0;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
}
#side-col #s-btn{
	background: url(img/side-search-btn.png);
	color: #fff;
	font-size: 0;
	height: 50px;
	position: relative;
	right: 0;
	top: 0;
	width: 50px;
}



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	9. Footer
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */

footer {
	background: #333;
	text-align: center;
}
footer {
	font-size: 10px;
	line-height: 90px;
}
footer a {
	color: #FFF;
	text-decoration: none;
}
footer a {
	margin: 0 20px;
}



/* ----------------------------------------
　トップへぬるっと
---------------------------------------- */
#page-top {
    bottom: 10px;
	display: none;
    font-size: 12px;
	margin-bottom: 0;
    position: fixed;
    right: 10px;
}
#page-top a {
    background: #666;
    border-radius: 50%;
    color: #fff;
    display: block;
	height: 70px;
	line-height: 70px;
    text-align: center;
    text-decoration: none;
    width: 70px;
}
#page-top a:hover {
    background: #999;
    text-decoration: none;
}



/* //////////////////////////////////////////////////
/////////////////////////////////////////////////////
	10. Utility（万能機能）
/////////////////////////////////////////////////////
////////////////////////////////////////////////// */

/* --------------------------------------------------
	デバイス毎の表示・非常時
-------------------------------------------------- */
/*横幅は1200pxになったら非表示*/
@media screen and (max-width: 1200px) {
	.off-tab { display: none; }
}
/*横幅は480pxになったら非表示*/
@media screen and (max-width: 480px) {
	.off-sp { display: none; }
}
/*横幅が1200px以下で表示*/
@media screen and (min-width:1201px) {
	.on-tab { display: none; }
}
/*横幅が480px以下で表示*/
@media screen and (min-width:481px) {
	.on-sp { display: none; }
}

/* ----------------------------------------
　ログイン画面カスタマイズ
---------------------------------------- */
.login {
    overflow: auto;
    position: relative;
    background: none;
}
.login:before {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    z-index: -1;
    display: block;
    background: url(img/login-bg.jpg) no-repeat center;
    background-size: cover;
    width: 101%;
    height: 101%;
    margin: -2px;
    -webkit-filter: blur(2px);
    -moz-filter: blur(2px);
    -o-filter: blur(10px);
    -ms-filter: blur(10px);
    filter: blur(10px);
}
.login h1 a {
    font-size: 100%;
    line-height: 1;
    width: 100%;
    height: 100px;
    padding: 0;
    margin: 0 auto;
    background: url(img/login-logo.png) no-repeat center;
    background-size: contain;
}
@media (max-width: 480px) {
    .login h1 a {
        width: 80%;
    }
}
.login form {
    margin-top: 10px;
    padding-bottom: 30px;
}
.login form .input {
    font-size: 118%;
    padding: 0 8px;
    border: 1px solid #ddd;
    box-shadow: 0 0 2px 2px rgba(200, 200, 200, 0.2) inset;
}
.login form input:focus {
    background-color: #fff;
    border: 1px solid #a0d2ff;
    box-shadow: none;
}
.forgetmenot input {
    margin-right: 0;
    margin-bottom: -2px;
}
.login label {
    color: #333;
    font-weight: bold;
}
.login .button-primary {
    font-weight: bold;
    background: #000;
    border: none;
    box-shadow: none;
    text-shadow: none;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}
.login .button-primary:hover,
.login .button-primary:focus,
.login .button-primary:active {
    background: #e72410;
    border: none;
    box-shadow: none;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}
.login #nav {
    padding: 0;
    margin: 20px 0 0;
}
.login #nav a {
    display: block;
    width: 100%;
    color: #fff;
    text-align: center;
    font-weight: bold;
    padding: 8px 0;
    border: 1px solid #fff;
    border-radius: 3px;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}
.login #nav a:hover,
.login #nav a:focus,
.login #nav a:active {
    color: #333;
    background: #fff;
    -webkit-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
    box-shadow: none;
}
.login #backtoblog {
    padding: 0;
    margin: 10px 0;
}
.login #backtoblog a,
.login #backtoblog a:hover,
.login #backtoblog a:focus,
.login #backtoblog a:active {
    color: #fff;
    font-size: 90%;
    font-weight: bold;
    box-shadow: none;
}
.login #login_error,
.login .message {
    color: #333;
    font-size: 86%;
    font-weight: bold;
    padding: 12px 15px 10px;
    border-left: 3px solid #e72410;
    border-radius: 3px;
    margin-top: 10px;
}

/* --------------------------------------------------
	スマホの時のみタップでかけられる
-------------------------------------------------- */
@media screen and (min-width: 1200px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}