@charset "utf-8";

/* common (advance override basic)
-------------------------------------------------------------- */

/*
 * clearfix
 */
#contents::after,
.layout::after,
.layout .body::after,
.clearfix::after,
.clear::after {
	clear:both;
	display:block;
	content:"";
	height:0;
	visibility:hidden;
}

/*
 * general
 */
html {
	min-width:1020px;
}
body {
	position:relative;
	min-width:1020px;
}
img {
	max-width:auto;
}

/*
 * header
 */
header#pagetop {
	width:100%;
	height:145px;
	margin-bottom:15px;
	padding-top: 0;
	background-color:#FFFFFF;
	box-shadow:0 0 2px 2px rgba(96,96,96,0.1);
}
header#pagetop::before {
	display:block;
	height:4px;
	margin-bottom:5px;
	border-bottom:1px solid #FFFFFF;
	background-color:#07BCE9;
	content:'';
}
header#pagetop #logo {
	position:absolute;
	left:50%;
	top:53px;
	width:184px;
	height:101px;
	margin-left:-500px;
}
header#pagetop p {
	position:absolute;
	left:50%;
	margin:10px 0 0 -500px;
}
header#pagetop #hnavi {
	display: block;
}
header#pagetop #hnavi ul {
	position:absolute;
	right:50%;
	margin:3px -500px 0 0;
}
header#pagetop .menu {
	display: none;
}

/*
 * global navigation
 */
body > nav {
	display: block;
	position:absolute;
	top:68px;
	right:50%;
	margin:3px -500px 0 0;
}
body > nav ul {
	background-image:none;
}
body > nav ul li {
	height:86px;
	margin-top:0;
}
body > nav ul li::after {
	top:23px;
	bottom:25px;
}
body > nav ul li.current::before {
	right:-3px;
	height:7px;
}
body > nav ul li.current::after {
	height:8px;
}
body > nav ul li a {
	padding:23px 15px 50px 15px;
	font-size:1.6rem;
}
body > nav ul li:nth-child(6) a {
	padding-left:35px;
	background-position:10px 20px;
}
body > nav ul li:last-child.current a {
	padding-right:15px;
}
body > nav ul li:nth-child(6).current a {
	padding-left:15px;
	background:none;
}
body > nav ul li.current a::before {
	right:4px;
	width:20px;
	height:50px;
}
body > nav ul li a span {
	top:50px;
	font-size:1.1rem;
}


/*
 * contents
 */
#contents {
	width:1000px;
	margin:20px auto 0 auto;
}
#main {
	float:left;
	width:660px;
}
#sub {
	float:right;
	width:300px;
}

#contents.wide {
}
#contents.wide #main {
	float:none;
	width:1000px;
}
#contents.wide #sub {
	float:none;
	width:1000px;
}

#path {
	margin:10px 0 50px 0;
}
#path ul li::after {
	margin:0 1em;
}

article > header {
	position:relative;
	margin:0 0 40px 0;
}
article > header.noLead {
	margin-bottom:20px;
}
article > header h1 {
	margin-bottom:30px;
	padding-top:3rem;
	font-size:3.5rem;
	text-shadow:2px 2px 0 rgba(255,255,255,1);
}
article > header.noLead h1 {
	padding-top:0;
}
article > header p {
	line-height:2;
}
article > header p.lead {
	position:absolute;
	top:0;
	font-size:1.6rem;
	text-shadow:1px 1px 0 rgba(255,255,255,1);
}
article > header p.note {
	font-size:1.2rem;
}
article > .actions {
	margin:20px 0;
}

/* blog */
section.post .body p {
	line-height: 2;
}
section.post .body .post-categories {
	margin-bottom: 0;
}
article nav.post-navigation {
	position:static;
}
article nav.post-navigation .nav-links a {
	width:48%;
	margin:0;
	padding:0;
	line-height:1.2;
	text-decoration:none;
}
article nav.post-navigation .nav-links a:hover {
	text-decoration:underline;
}
article nav.post-navigation .nav-links a[rel="prev"] {
	float:left;
	text-align:left;
}
article nav.post-navigation .nav-links a[rel="next"] {
	float:right;
	text-align:right;
}
article nav.post-navigation .nav-links a span {
	position:static;
	margin-bottom:8px;
}
article nav.post-navigation .nav-links a[rel="prev"] span::before {
	content:'< ';
}
article nav.post-navigation .nav-links a[rel="next"] span::after {
	content:' >';
}


/* layout common */
section,
.block {
	margin:0 0 20px 0;
	padding:30px;
	font-size:1.4rem;
}
section .subject,
.block .subject {
	height: auto;
	min-height: 55px;
	margin:50px 0 28px 0;
	padding-top: 0;
	border: none;
	background-color: transparent;
	background-image:url(/img/bg_title.png);
	background-repeat:repeat-x;
	background-position:0 28px;
	box-shadow: none;
	text-align:center;
	letter-spacing: -0.4em;
}
section .subject span,
.block .subject span {
	min-height: 30px;
	display:inline-block;
	position:relative;
	z-index:5;
	min-width:200px;
	padding:0 20px;
	background-image:url(/img/bg_title_body.png);
	background-repeat:repeat;
	background-position:left top;
	line-height:3rem;
	font-size:2rem;
	color:#FFFFFF;
	text-shadow:-1px -1px 0 rgba(0,0,0,0.2);
	vertical-align: top;
	letter-spacing: normal;
	line-height: 2.7;
}
section .subject::before,
.block .subject::before {
	margin-right: -37px;
	content:'';
	display:inline-block;
	position:relative;
	top:0;
	width:71px;
	height:55px;
	border: none;
	background-image:url(/img/bg_title_left.png);
	background-repeat:no-repeat;
	background-position:left top;
	vertical-align: top;
	letter-spacing: normal;
}
section .subject::after,
.block .subject::after {
	margin-left: -37px;
	content:'';
	display:inline-block;
	position:relative;
	top:0;
	width:71px;
	height:55px;
	border: none;
	background-image:url(/img/bg_title_right.png);
	background-repeat:no-repeat;
	background-position:left top;
	vertical-align: top;
	letter-spacing: normal;
}
section .title,
.block .title {
	line-height:1.2;
	font-size:2.4rem;
}

section .body p,
.block .body p {
	line-height:1.8;
}
.layout section.withBgImage .body p,
.layout .block.withBgImage .body p {
	margin-right:200px;
}

section .body figure li,
.block .body figure li {
	float:left;
	margin-right:20px;
}
section .body figure figcaption,
.block .body figure li figcaption {
	clear:both;
	margin-top:5px;
}

section .note,
.block .note {
	font-size:1.2rem;
}

section.noContainer,
.block.noContainer {
	margin-left:0;
	margin-right:0;
	padding:0;
}
section .noContainer,
.block .noContainer {
	margin-top:30px;
}
section.noContainer > header p,
.block.noContainer > header p {
	margin:15px 0 0 0;
}
section.noContainer > header p.note,
.block.noContainer > header p.note {
	font-size:1.2rem;
}

section .body .image figcaption,
.block .body .image figcaption {
	text-align:left;
	line-height:1.2;
	font-size:1.2rem;
}
section .body .text,
.block .body .text {
	margin-bottom:15px;
}
section .body .text h3, section .body .text h4, section .body .text h5, section .body .text h6,
.block .body .text h3, .block .body .text h4, .block .body .text h5, .block .body .text h6 {
	clear: none;
}

section .body ol.flow,
.block .body ol.flow {
}
section .body ol.flow li dl dd,
.block .body ol.flow li dl dd {
	padding-top:2em;
}

section .body ul.relation li dl,
.block .body ul.relation li dl {
	clear:both;
}
section .body ul.relation li dl dt,
.block .body ul.relation li dl dt {
	float:left;
	width:9em;
}
section .body ul.relation li a,
.block .body ul.relation li a {
	text-decoration:none;
	color:#333333;
}
section .body ul.relation li a:hover,
.block .body ul.relation li a:hover {
	text-decoration:underline;
}

section .body ul.thumblist,
.block .body ul.thumblist {
}
section .body ul.thumblist li,
.block .body ul.thumblist li {
}
section .body ul.thumblist li a .thumb,
.block .body ul.thumblist li a .thumb {
	float:none;
	position:absolute;
}
section .body ul.thumblist li a dl,
.block .body ul.thumblist li a dl {
	margin-left:100px;
	text-decoration:none;
}
section .body ul.thumblist li a dl dd,
.block .body ul.thumblist li a dl dd {
	margin-top:0.7em;
	line-height:1.3;
}
section .body ul.thumblist nav,
.block .body ul.thumblist nav {
	position:static;
	margin:0;
}

section .body ul.figurelist,
.block .body ul.figurelist {
	width:640px;
	margin-right:-40px;
}
section .body ul.figurelist li,
.block .body ul.figurelist li {
	float:left;
	width:280px;
	margin-right:40px;
}
section .body ul.figurelist li figure,
.block .body ul.figurelist li figure {

}

section.imageLeft .body .image,
.block.imageLeft .body .image {
	float:left;
	margin:0 25px 15px 0;
}
section.imageLeft .body .text,
.block.imageLeft .body .text {
}
section.imageRight .body .image,
.block.imageRight .body .image {
	float:right;
	margin:0 0 15px 25px;
}
section.imageRight .body .text,
.block.imageRight .body .text {
}

section .actions .button,
.block .actions .button {
	clear: both;
}
section .actions .button a br,
.block .actions .button a br {
	display: none;
}


/* layout plain */
.layout.plain section header,
.layout.plain .block header {
}
.layout.plain section header .title,
.layout.plain .block header .title {
	padding:3px 0 5px 40px;
	background-image:url(/img/icon_content_point.png);
	background-repeat:no-repeat;
	background-position:left top;

}
.layout.plain section.noIcon header .title,
.layout.plain .block.noIcon header .title {
	padding:0;
	background-image:none;
}
.layout.plain.withIcon section header .title,
.layout.plain.withIcon .block header .title {
	clear:none;
	padding:25px 0;
	background-image:none;
}
.layout.plain.withIcon section header .icon,
.layout.plain.withIcon .block header .icon {
	float:left;
	padding-right:15px;
}
.layout.plain section.withTitleLine,
.layout.plain .block.withTitleLine {
	margin-top:40px;
}
.layout.plain section.withTitleLine header,
.layout.plain .block.withTitleLine header {
	height:0.7em;
	margin-bottom:30px;
	border-bottom:1px solid #D5D5D5;
}
.layout.plain section.withTitleLine header .title,
.layout.plain .block.withTitleLine header .title {
	display:inline-block;
	padding-right:10px;
	background-image:url(/img/bg_body.gif);
	background-repeat:repeat;
	background-position:0 0;
	font-size:1.8rem;
}
.layout.plain section.entry,
.layout.plain .block.entry {
	margin-top:40px;
}
.layout.plain section.entry header,
.layout.plain .block.entry header {
	margin-bottom:30px;
	padding-bottom:20px;
	border-bottom:3px solid #CCCCCC;
}
.layout.plain section.entry header .title,
.layout.plain .block.entry header .title {
	margin-bottom:15px;
	font-size:3rem;
}
.layout.plain section.entry .body .image,
.layout.plain .block.entry .body .image {
	max-width:100%;
}
.layout.plain section.entry .post-categories,
.layout.plain .block.entry .post-categories {
	margin-top:15px;
	padding-top:10px;
	border-top:1px solid #CCCCCC;
	text-align:right;
}
.layout.plain section.entry .post-categories li,
.layout.plain .block.entry .post-categories li {
	display:inline;
	margin-left:1em;
}

/* layout point */
.layout.point section,
.layout.point .block {
	position:relative;
}
.layout.point section header .title,
.layout.point .block header .title {
	margin-left:150px;
}
.layout.point section header .point,
.layout.point .block header .point {
	position:absolute;
	top:50%;
	left:20px;
	width:150px;
	margin-top:-60px;
	padding-top:80px;
	line-height:1.2;
	font-size:2.6rem;
	font-weight:bold;
}
.layout.point section header .point span,
.layout.point .block header .point span {
	margin-top:5px;
	font-size:1.4rem;
}
.layout.point section .body,
.layout.point .block .body {
	margin-left:150px;
}

/* layout panel */
.layout.panel section,
.layout.panel .block {
	float:left;
	width:152px;
	margin:0 12px 12px 0;
}
.layout.panel section:nth-child(3n),
.layout.panel .block:nth-child(3n) {
	margin-right:0;
}
.layout.panel section .title,
.layout.panel .block .title {
	margin:90px 0 0 0;
}
.layout.panel section > p,
.layout.panel .block > p {
	line-height:1.5;
	font-size:1.3rem;
	margin:10px 0 20px 0;
}
.layout.panel section p.image,
.layout.panel .block p.image {
	width:auto;
	text-align:center;
}

#contents.wide .layout.panel section,
#contents.wide .layout.panel .block {
	width:273px;
	padding-left: 30px;
	padding-right: 30px;
}
#contents.wide .layout.panel section p.image,
#contents.wide .layout.panel .block p.image {
}

section.noContainer .layout.panel section,
section.noContainer .layout.panel .block {
	width:200px;
}
section.noContainer .layout.panel section:last-child,
section.noContainer .layout.panel .block:last-child {
	margin-bottom: 0;
}
section.noContainer .layout.panel section::before,
section.noContainer .layout.panel .block::before {
	content:'';
	display:block;
	position:absolute;
	top:10px;
	right:0;
	bottom:10px;
	width:2px;
	background-image:url(/img/line_panel_v.png);
	background-repeat:repeat-y;
	background-position:right top;
}
section.noContainer .layout.panel section:nth-child(3n)::before,
section.noContainer .layout.panel .block:nth-child(3n)::before {
	display:none;
}
section.noContainer .layout.panel section:nth-child(-n+3)::after,
section.noContainer .layout.panel .block:nth-child(-n+3)::after {
	display:none;
}


/* layout table */
.layout.table section,
.layout.table .block {
}
.layout.table section table th,
.layout.table .block table th {
	padding:12px 15px 12px 0;
}
.layout.table section table td,
.layout.table .block table td {
	padding:12px 15px 12px 15px;
	line-height:1.8;
}

/* layout letter */
.layout.letter section .body,
.layout.letter .block .body {
	text-align:center;
}
.layout.letter section .body p,
.layout.letter .block .body p {
	margin-top:3em;
}
.layout.letter section .body p .line,
.layout.letter .block .body p .line {
	display:block;
	padding-bottom:5px;
}
.layout.letter section .signature,
.layout.letter .block .signature {
	margin-top:30px;
}


/*
 * lnavi
 */
#lnavi {
	padding:25px 20px 25px 20px;
}
#lnavi h1 {
	font-size:1.8rem;
	letter-spacing:-1px;
}
#lnavi > ul > li {
	margin-bottom:25px;
}
#lnavi > ul > li > a,
#lnavi > ul > li > p a,
#lnavi > ul > li > span,
#lnavi > ul > li > p span {
	font-size:1.6rem;
	font-weight:bold;
}
#lnavi > ul > li.current > a,
#lnavi > ul > li.current > p a,
#lnavi > ul > li.current > span,
#lnavi > ul > li.current > p span {
	display:block;
	position:relative;
	left:-20px;
	margin:0 -40px -10px 0;
	padding:10px 10px 10px 20px;
}
#lnavi > ul > li.current > a::before,
#lnavi > ul > li.current > p a::before,
#lnavi > ul > li.current > a::after,
#lnavi > ul > li.current > p a::after,
#lnavi > ul > li.current > span::before,
#lnavi > ul > li.current > p span::before,
#lnavi > ul > li.current > span::after,
#lnavi > ul > li.current > p span::after {
	content:'';
	display:block;
	position:absolute;
	left:-7px;
	width:14px;
	height:22px;
	background-color:#00B9EF;
}
#lnavi > ul > li.current > a::before,
#lnavi > ul > li.current > p a::before,
#lnavi > ul > li.current > span::before,
#lnavi > ul > li.current > p span::before {
	top:0;
	transform:skew(-30deg);
}
#lnavi > ul > li.current > a::after,
#lnavi > ul > li.current > p a::after,
#lnavi > ul > li.current > span::after,
#lnavi > ul > li.current > p span::after {
	top:22px;
	transform:skew(30deg);
}
#lnavi > ul > li.current > ul {
	margin-top:15px;
}
#lnavi > ul > li > ul > li {
}
#lnavi > ul > li > ul > li > a {
	padding-left:25px;
}
#lnavi .search-field {
	width: 160px;
}

.pagetop {
	margin-top:20px;
	font-size: 1.4rem;
}


/*
 * feedContent
 */
#sub .feedContent h1 {
	min-height: 41px;
	padding-top: 14px;
	padding-bottom: 0;
	background-color: transparent;
	background-image:url(/img/bg_ribbon.png);
	border: none;
	box-shadow: none;
}
#sub .feedContent h1::before,
#sub .feedContent h1::after {
	display: none;
}


/*
 * contact
 */
#contact section {
	margin:30px 0 12px 0;
	width:600px;
	background-size:auto auto;
	background-position:94% 25%;
}
#contact .title {
	margin:5px 0 0 5px;
	font-size:2.6rem;
}
#contact ul {
	margin:10px 0 10px 30px;
}
#contact ul li {
	list-style-type:disc;
	font-size:1.4rem;
	text-shadow:-1px -1px 0 #FFFFFF;
}
#contact .action {
	position:relative;
	z-index:4;
	width:370px;
	margin-top:20px;
	padding:12px;
}
#contact .action .subtitle {
	margin:0;
	line-height:1.2;
}
#contact .action .subtitle:first-child + p {
	margin-top:5px;
	font-size:1.2rem;
	text-align:left;
}
#contact .action .subtitle:last-child {
	position:absolute;
	top:8px;
	right:8px;
}

#contents.wide #contact section {
	width:940px;
	background-size:280px auto;
	background-position:90% 40%;
}
#contents.wide #contact ul li {
	max-width:30em;
}
#contents.wide #contact ul li:nth-child(2n) {
	position:relative;
	left:20em;
	margin-top:-1.5em;
}


/*
 * footer
 */
body > footer {
	position:relative;
	padding-top:280px;
}
body > footer #footerInfo {
	position:absolute;
	top:5px;
	left:50%;
	width:190px;
	margin-left:-500px;
}
body > footer #footerInfo h1 {
	font-size:1.3rem;
}
body > footer #footerInfo address {
	font-size:1.25rem;
}
body > footer dl dt {
	margin:0;
	line-height:1.5;
}
body > footer dl dt a br {
	display:inline;
}
body > footer dl {
}
body > footer dl dt,
body > footer dl dd {
	position:absolute;
	top:20px;
	left:50%;
	width:195px;
	font-size:1.3rem;
}
body > footer dl dd {
	top:4.1em;
}
body > footer dl dt:nth-of-type(1),
body > footer dl dd:nth-of-type(1) {
	margin-left:-280px;
}
body > footer dl dd:nth-of-type(1) {
	top:5.5em;
}
body > footer dl dt:nth-of-type(2),
body > footer dl dd:nth-of-type(2),
body > footer dl dt:nth-of-type(3),
body > footer dl dd:nth-of-type(3) {
	margin-left:-80px;
}
body > footer dl dt:nth-of-type(3) {
	top:9.75em;
}
body > footer dl dd:nth-of-type(3) {
	top:12.3em;
}
body > footer dl dt:nth-of-type(4),
body > footer dl dd:nth-of-type(4) {
	margin-left:150px;
}
body > footer dl dt:nth-of-type(5),
body > footer dl dd:nth-of-type(5) {
	margin-left:320px;
}
body > footer dl dt a {
	background-image:none;
	padding-left:0;
	font-weight:bold;
}
body > footer dl a br {
	display:inline;
}
body > footer dl dd {
	display:block;
	margin:0;
}
body > footer dl dd ul li a {
	margin-bottom:6px;
	padding:2px 0 2px 12px;
	line-height:1.1;
	font-size:1.2rem;
}
body > footer #copyright {
	width:1000px;
	margin:0 auto;
}
body > footer #copyright small {
	padding:30px 0 50px 0;
	font-size:1.3rem;
}


/*
 * ブログ移設後追記2021.02.18
 */
 #sub {
    margin-top: 80px;
}